/* Copyright (C) YOOtheme GmbH, YOOtheme Proprietary Use License (http://www.yootheme.com/license) */

/* ========================================================================
   Use this file to add custom CSS easily
 ========================================================================== */

*:not([class*="uk-icon"]){
    font-family: 'Montserrat' !important;
}
*{
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;

    -webkit-word-wrap: break-word;
    -moz-word-wrap: break-word;
    -ms-word-wrap: break-word;
    -o-word-wrap: break-word;
    word-wrap: break-word;
}

html {
    overflow-x: hidden; 
}
a[href="http://www.faboba.com"]{
    display: none !important;
    visibility: hidden;
    opacity: 0;
}
.uk-container {
	max-width: 1400px;
}


/*  Menu  */
a.tm-logo-small img {
    width: 230px;
}
.tm-navbar-container .uk-navbar-nav > li > a {
    font-size: 15px;
    font-weight: 600 !important;
    color: #333333;
    padding: 0 20px;
    height: auto;
    display: initial;
    padding: 12px 29px;
}
.tm-navbar-container .uk-navbar-nav > li > a:focus {
    color: #3B7582;
    border: 1px solid #3B7582;
    border-radius: 6px;
}
.uk-navbar-nav > li > a:before {
    background: transparent;
}
.redes-header .uk-icon-button {
    background: #3B7582;
    color: #ffffff;
    border: none;
    border-radius: 50%;
    margin-right: 10px;
}
.redes-header .uk-icon-button:after {
    background: #4D8521;
}
.redes-header .whatsapp {
    color: #4C841F;
    font-size: 18px;
    font-weight: 600;
    text-decoration: none;
    display: flex;
    align-items: center;
}
.redes-header .whatsapp i {
    font-size: 32px;
    margin-right: 10px;
}
.uk-offcanvas-bar .redes-header .uk-icon-button {
    margin-bottom: 15px;
}
/*  Offcanvas  */
.uk-offcanvas-bar {
    background: #ffffff;
}
html .uk-nav.uk-nav-offcanvas > li.uk-active > a {
    background: #4D8521;
    color: #ffffff;
    font-weight: 500;
}
.uk-nav-offcanvas > li > a {
    color: #3B7582;
    padding: 10px 15px;
    font-weight: 500;
}
.uk-nav-offcanvas > li > a:hover {
    color: #3B7582 !important;
}

/*  Breadcrumb  */
ul.uk-breadcrumb {
    height: 100%;
    min-height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 700;
    background: rgb(109,155,73);
    background: -moz-linear-gradient(163deg, rgba(109,155,73,1) 0%, rgba(59,117,130,1) 100%);
    background: -webkit-linear-gradient(163deg, rgba(109,155,73,1) 0%, rgba(59,117,130,1) 100%);
    background: linear-gradient(163deg, rgba(109,155,73,1) 0%, rgba(59,117,130,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#6d9b49",endColorstr="#3b7582",GradientType=1);

}
ul.uk-breadcrumb > li > span,
ul.uk-breadcrumb > li > a {
    color: #ffffff;
    font-size: 28px;
}
ul.uk-breadcrumb > li:not(.uk-active), 
ul.uk-breadcrumb > li::before {
    display: none;
}
.uk-breadcrumb > li:nth-child(n+2):before {
    content: "";
}

/*  Slideshow Top A  */
#tm-top-a {
    padding-top: 0;
}
.slideshow-content h4 {
    font-size: 40px;
    font-weight: 800;
}
.slideshow-content .botones,
body.tm-isblog.rd-servicios .botones {
    margin-top: 35px;
    display: inline-flex;
}
.slideshow-content .botones a {
    background: #ffffff;
    color: #3A7481;
    font-weight: 600;
    text-decoration: none;
    padding: 10px 15px;
    border-radius: 1000px;
    margin-right: 15px;
}
body.tm-isblog.rd-servicios .botones a {
    background: #3A7481;
    color: #ffffff;
    font-weight: 600;
    text-decoration: none;
    padding: 10px 15px;
    border-radius: 1000px;
    margin-right: 15px;
}

/*  Sobre Nosotros - Top B  */
body.tm-isblog.rd-home #tm-top-b {
    padding-top: 50px;
}
.quienes-somos h3 {
    color: #3A7481;
    font-weight: 700;
}
.clientes p {
    margin-bottom: 30px;
}
.grid-logos-clientes li {
    text-align: center;
}
.mod_grid-sobre-nosotros div div div.uk-grid div.uk-float-right img {
    -webkit-box-shadow: -7px 10px 17px -9px rgba(0,0,0,0.47);
    -moz-box-shadow: -7px 10px 17px -9px rgba(0,0,0,0.47);
    box-shadow: -7px 10px 17px -9px rgba(0,0,0,0.47);
}

/*  Videos Corporativos - Top C  */
body.tm-isblog.rd-home #tm-top-c {
    background-image: url('../../../images/imagenes/layout/background-videos.jpg');
    background-repeat: no-repeat;
    padding-top: 50px;
}
.mod_slideshow-videos-corporativos {
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
}
.mod_slideshow-videos-corporativos div ul li {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.slide-videos-content a {
    text-decoration: none;
}
.slide-videos-content h4 {
    font-size: 22px;
    color: #ffffff;
    margin-top: 10px;
}
body.tm-isblog.rd-home .uk-modal.uk-open:not(.modal-cotizacion) .uk-modal-dialog iframe {
    width: 100%;
    height: 400px !important;
}
body.tm-isblog.rd-home .uk-modal.uk-open:not(.modal-cotizacion) .uk-modal-dialog {
    margin: 250px auto;
    width: 800px !important;
    height: 400px !important;
}
/*  Servicio - Top D  */
body.tm-isblog.rd-home #tm-top-d {
    padding-top: 100px;
    padding-bottom: 100px;
    background: rgba(59,117,130,0.1);
}
body.tm-isblog.rd-home #tm-top-d h3.uk-panel-title {
    color: #3B7582;
    font-weight: 700;
    font-size: 35px;
    text-align: center;
    margin-bottom: 50px;
}
span.servicios-home-info {
    text-align: center;
}
span.servicios-home-info a {
    margin-top: 5px;
    margin-bottom: 5px;
    color: #525252;
    font-weight: 600;
    font-size: 16px;
    text-decoration: none;
    text-align: center;
}
span.servicios-home-info p {
    margin-top: 5px;
    margin-bottom: 5px;
    color: #525252;
}
.mod_grid-servicios div div div.uk-margin {
    text-align: center;
}
.mod_grid-servicios div div.uk-panel  {
    position: relative;
}
.mod_grid-servicios div div.uk-panel p a.uk-button {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
}
body.tm-isblog.rd-servicios .tm-block-main > .uk-container {
    max-width: 1000px;
}


/*  Instagram Feed - Bottom A  */
.instagram-feed  .uk-icon-instagram {
    background: #3B7582;
    color: #ffffff;
    border: none;
    border-radius: 50%;
    margin-right: 10px;
}
.instagram-feed p {
    color: #397380;
}

/*  Footer  */
div#tm-footer {
    background: #3B7582;
    color: #ffffff;
    padding-top: 100px;
}
.content-footer h3 {
    background: #88AB74;
    display: inline;
    padding: 10px 40px;
    border-radius: 1000px;
    color: #ffffff;
    font-weight: 700;
    font-size: 28px;
    line-height: 1;
}
.grid-info-footer {
    max-width: 1000px;
    margin: 90px auto;
}
.content-footer ul li:nth-child(2) {
    border-left: 1px solid rgba(255,255,255,0.1);
    border-right: 1px solid rgba(255,255,255,0.1);
}
.copyrights p {
    font-weight: 500;
    line-height: 20px;
    font-size: 14px;
}
.copyrights a {
    color: #ffffff;
    text-decoration: none;
}
.grid-info-footer li div i {
    font-size: 40px;
}
.grid-info-footer li div p {
    font-size: 18px;
}
.grid-info-footer li div p a {
    color: #ffffff;
    text-decoration: none;
}


/*  Formularios  */
#form-cotizar .uk-modal-dialog,
#form-contacto .uk-modal-dialog {
    width: 100%;
    max-width: 600px;
    top:250px;
    padding: 25px;
}
.form-contacto .uk-form input, 
.form-contacto textarea, 
.form-contacto select,
.form-cotizacion input:not([type="radio"]):not([type="checkbox"]), 
.form-cotizacion textarea, 
.form-cotizacion select {
    color: #666666;
    padding: 8px;
    border: 1px solid #d8d8d8;
    border-radius: 5px;
    margin-bottom: 8px;
}
.form-cotizacion select {
    height: auto;
}
.btn-form-contacto {
    background-color: #3B7582 !important;
    border-radius: 6px;
}
div#form-contacto .uk-modal-close,
div#form-cotizar .uk-modal-close {
    color: #ffffff;
    background: #4D8521;
    border-radius: 50%;
    height: 25px;
    width: 25px;
    display: grid;
    place-content: center;
}
.uk-grid.grid-servicios-form label {
    display: initial;
}
.uk-grid.grid-servicios-form div {
    margin-bottom: 3px;
}


/*  Media Queries  */
@media screen and (max-width: 500px) {
    .slideshow-content h4 {
        font-size: 24px !important;
    }
    .slideshow-content .botones,
    body.tm-isblog.rd-servicios .botones {
        display: flex;
        flex-direction: column;
    }
    .slideshow-content .botones a,
    body.tm-isblog.rd-servicios .botones a {
        padding: 10px 15px;
        margin-bottom: 15px;
    }

}
@media screen and (max-width: 769px) {
    #modal-cotizar .uk-modal-dialog,
    #modal-info .uk-modal-dialog {
        top:100px;
    }
    body.tm-isblog.rd-home #tm-top-c {
        background-position: 22% !important;
    }
    .content-footer h3 {
        font-size: 20px;
    }
    .feed-movil iframe {
        width: 100% !important;
        max-width: 300px;
    }
    .grid-info-footer {
        margin: 60px auto;
    }
    .content-footer ul li {
        margin-bottom: 30px;
    }
    .content-footer ul li:nth-child(2) {
        border-top: 1px solid rgba(255,255,255,0.1);
        border-bottom: 1px solid rgba(255,255,255,0.1);
        border-left: unset;
        border-right: unset;
        padding: 25px 0;
    }
    .copyrights p {
        font-size: 12px;
    }
    body.tm-isblog.rd-home .uk-modal.uk-open:not(.modal-cotizacion) .uk-modal-dialog {
        margin: 150px auto;
    }
}
@media screen and (max-width: 960px) {
    a.tm-logo-small img {
        width: 150px;
    }
    .slideshow-content h4 {
        font-size: 29px;
        line-height: 36px;
    }
    body.tm-isblog.rd-home #tm-top-b {
        padding-bottom: 50px;
    }
    body.tm-isblog.rd-home #tm-top-c {
        background-size: cover;
        background-position: 43%;
    }
}
@media screen and (max-width: 1210px) {
    a.tm-logo-small.uk-visible-large img {
        width: 150px;
    }
    .uk-navbar-nav > li:not(:last-child), .uk-navbar-brand {
        margin-right: 0px;
    }
    .tm-navbar-container .uk-navbar-nav > li > a {
        padding: 12px 19px;
    }
    .redes-header .uk-icon-button {
        width: 30px;
        height: 30px;
        font-size: 13px;
        display: grid;
        place-content: center;
    }
    .redes-header span a {
        font-size: 30px;
    }
    .redes-header span {
        font-size: 13px;
    }
}


/*Mensaje Enviado / Mensaje no Enviado*/
.content-msg-enviado h1 {
    font-weight: 700;
}
.content-msg-enviado h3 {
    font-weight: 400;
    margin-top: 10px;
    margin-bottom: 50px;
}

/* animacion svg */
.circle{fill:none;stroke:#4D8521;stroke-width:3;stroke-linecap:round;stroke-miterlimit:10;}
.circle-dash{fill:none;stroke:#4D8521;stroke-width:3;stroke-linecap:round;stroke-miterlimit:10;}
.check{fill:none;stroke:#3B7582;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.check-dash{fill:none;stroke:#3B7582;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}
.check {
  stroke-dasharray: 60 100;
  animation: check 1.2s cubic-bezier(0.5, 0, 0.6, 1) forwards 0.15s;
  -webkit-animation: check 1.2s cubic-bezier(0.5, 0, 0.6, 1) forwards 0.15s;
  -moz-animation: check 1.2s cubic-bezier(0.5, 0, 0.6, 1) forwards 0.15s;
  -o-animation: check 1.2s cubic-bezier(0.5, 0, 0.6, 1) forwards 0.15s;
  opacity: 0;
}
.uk-button-mensaje {
    background-color: #4D8521;
    border-radius: 1000px;
    font-weight: 500;
    padding: 10px 26px;
}
.uk-button-mensaje:hover{
    background-color: #3B7582;
}

@-webkit-keyframes check {
  from {stroke-dashoffset: 60; opacity: 1;}
  to {stroke-dashoffset: 00; opacity: 1;}
}

@-moz-keyframes check {
  from {stroke-dashoffset: 60; opacity: 1;}
  to {stroke-dashoffset: 00; opacity: 1;}
}

@keyframes check {
  from {stroke-dashoffset: 60; opacity: 1;}
  to {stroke-dashoffset: 00; opacity: 1;}
}

.check-dash {
  stroke-dasharray: 10 100;
  animation: check-dash 1.2s cubic-bezier(0.5, 0, 0.6, 1) forwards;
  -webkit-animation: check-dash 1.2s cubic-bezier(0.5, 0, 0.6, 1) forwards;
  -moz-animation: check-dash 1.2s cubic-bezier(0.5, 0, 0.6, 1) forwards;
  -o-animation: check-dash 1.2s cubic-bezier(0.5, 0, 0.6, 1) forwards;
}

@-webkit-keyframes check-dash {
  from {stroke-dashoffset: 120;}
  to {stroke-dashoffset: 45;}
}

@-moz-keyframes check-dash {
  from {stroke-dashoffset: 120;}
  to {stroke-dashoffset: 45;}
}

@keyframes check-dash {
  from {stroke-dashoffset: 120;}
  to {stroke-dashoffset: 45;}
}

.circle {
  stroke-dasharray: 300 300;
  animation: circle 1.5s cubic-bezier(0.5, 0, 0.5, 1) forwards 0.15s;
  -webkit-animation: circle 1.5s cubic-bezier(0.5, 0, 0.5, 1) forwards 0.15s;
  -moz-animation: circle 1.5s cubic-bezier(0.5, 0, 0.5, 1) forwards 0.15s;
  -o-animation: circle 1.5s cubic-bezier(0.5, 0, 0.5, 1) forwards 0.15s;
  opacity: 0;
}

@-webkit-keyframes circle {
  from {stroke-dashoffset:300;
    opacity: 1;}
  to {stroke-dashoffset:0;
      opacity: 1;}
}

@-moz-keyframes circle {
  from {stroke-dashoffset:300;
  opacity: 1;}
  to {stroke-dashoffset:0;
     opacity: 1;}
}

@keyframes circle {
  from {stroke-dashoffset:300;
         opacity: 1;}
  to {stroke-dashoffset:0;
     opacity: 1;}
  }

.circle-dash {
  stroke-dasharray: 10 300;
  animation: circledash 1.5s cubic-bezier(0.5, 0, 0.5, 1) forwards 0.05s;
  -webkit-animation: circledash 1.5s cubic-bezier(0.5, 0, 0.5, 1) forwards 0.05s;
  -moz-animation: circledash 1.5s cubic-bezier(0.5, 0, 0.5, 1) forwards 0.05s;
  -o-animation: circledash 1.5s cubic-bezier(0.5, 0, 0.5, 1) forwards 0.05s;
  opacity: 0;
}

@-webkit-keyframes circledash {
  from {stroke-dashoffset:320;
    opacity: 1;}
  to {stroke-dashoffset: 20;
      opacity: 1;}
 }

@-moz-keyframes circledash {
  from {stroke-dashoffset:320;
  opacity: 1;}
  to {stroke-dashoffset: 20;
    opacity: 1;}
}

@keyframes circledash {
  from {stroke-dashoffset:320;
        opacity: 1;}
  to {stroke-dashoffset: 20;
      opacity: 1;}
}


.servicio-card {
    padding: 0;
    overflow: hidden;
    border-radius: 8px;
}

.servicio-card h4 {
    padding: 15px;
    margin: 0;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
}

.servicio-img {
    position: relative;
    overflow: hidden;
}

.servicio-img img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}

.servicio-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.75);
    color: #fff;
    padding: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    opacity: 0;
    transition: opacity .3s ease;
}

.servicio-overlay p {
    margin: 0;
    line-height: 1.6;
}

.servicio-card:hover .servicio-overlay {
    opacity: 1;
}

.servicio-card:hover img {
    transform: scale(1.08);
}