:root{
    --primary-font: 'Nunito';
    --icon-font:'omelet' !important;
    --base-size-font:16px;
    --primary-color:#D0D93D;
    --secondary-color:#646363;
    --gray-color:#B5B5B5;
    --bg-gray-color:#EAEAEA;
    --transition:all .6s ease;
    --box-shadow: 0px 2.589681386947632px 10.358725547790527px 0px #0000001F;
    --border-radius:15px;
    --title-xl:3.5rem;
    --title-xxl:6rem;
    --title-xs:2.5rem;
    --title-sm:4.5rem;
}

html{
    font-size: 62.5%;
}

body {
    background-color: #fff;
    font-family: var(--primary-font);
    font-size: var(--base-size-font);
    font-weight: 400;
    color:var(--secondary-color);
    line-height: 1.2;
    font-style: normal;
}

body:not(.home){
     padding-top: 74px !important;
}

@media screen and (min-width: 1280px) {
    body:not(.home){
        padding-top: 159px;
    } 
}

/* --- Container --- */

.container{
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
    position: relative;
    padding: 0 15px;
}

@media screen and (min-width: 1024px) {
    .container{
        width: 87%;
    }


}

/*** Slick arrow ***/

.slick-arrow{
    width: 55px;
    height: 55px;
    z-index: 20;
    background: #fff;
    transition: var(--transition);
    border-radius: 50%;
    border: unset!important;
    color: var(--secondary-color)!important;
}

.-invert .slick-arrow{
    background: var(--gray-color);
    color: #fff!important;
}

.slick-arrow:hover{
    background: var(--primary-color)!important;
    color: #fff!important;
}

.-dark .slick-arrow{
    background: var(--text-color);
}

.slick-arrow:before{
    display: none;
}

.slick-arrow:after{
    content: "\e902";
    position: absolute;
    top:0;
    left: 0;
    width: 100%;
    height: 100%;
    font-family: var(--icon-font);
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    justify-content: center;
    
}

@media screen and (min-width: 580px) {
    .slick-arrow:after{
        font-size: 2.8rem;
    }
}

.slick-next{
    right: 0;
}

.slick-prev{
    left: 0;
}

.slick-prev:after{
    transform: scaleX(-1);
}

.slick-arrow[aria-disabled="true"]{
    opacity: .5;
}

.custom-arrows{
    display: none;
    align-items: center;
    z-index: 11;
    pointer-events: none;
}

.custom-arrows.-absolute{
    position: absolute;
}
.custom-arrows.-middle{
    top:50%;
    transform: translateY(-50%);
}

.custom-arrows.-right{
    right: 0;
}

.custom-arrows.-left{
    left: 0;
}

.custom-arrows.-end{
    left: auto;
    right:0;
}

@media screen and (min-width: 600px) {
    .custom-arrows{
        display: flex;
    }
}

.custom-arrows.-left{
    left: 0;
}

.custom-arrows.-right{
    right: 0;
}

.custom-arrows-wrap{
    display: flex;
    align-items: center;
    gap:6px;
    flex-shrink: 0;
}

.custom-arrow{
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    position: relative;
    pointer-events: all;
}

.custom-arrow-prev:after{
    transform: scaleX(-1);
}

/* --- Slick DOTS--- */

.slick-slider{
    margin: 0 !important;
}

.slick-dots{
    display: flex;
    justify-content: center;
    bottom: 0;
    pointer-events: none;
    position: relative;
    margin-top: 4vh;
}

.slick-dots li{
    width: 10px;
    height: 10px;
    margin: 9px;
    border-radius: 9999px;
    transition: all .4s ease;
    border:unset;
    background-color: var(--secondary-color);
}

.slick-dots li.slick-active{
    background-color: var(--primary-color);
}

.slick-dots li button{
    width:100%;
    height:100%;
    padding:0;
    pointer-events: all;
}

.slick-dots li button::before{
    display: none;
}

/* GALERIA */

.sl-wrapper .sl-close, .sl-wrapper .sl-navigation button, .sl-wrapper .sl-counter {
	color: #fff !important;
}

.sl-overlay {
	background-color: #000 !important;
}

/* MODAL */

.modal_mobile body{
    overflow:hidden;
}

.custom_modal {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.65)!important;
    visibility: hidden;
    z-index: 1002;
    opacity: 0;
    position: fixed;
    overflow: scroll;
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: center;
  
}

@media screen and (max-height: 768px){
   .custom_modal {
        align-items: flex-start;
    }
}

.custom_modal.active_modal {
    opacity: 1;
    visibility: visible;
    -webkit-transition: opacity .4s;
    -o-transition: opacity .4s;
    transition: opacity .4s;
    overflow:hidden;
    overflow-y: auto;
}

.modal_cm{
    position: absolute;
    z-index: 2;
    max-width: 795px;
    min-height:auto;
    width: 90%!important;
    height: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    transform: translateY(20%);
    transition: all 0.3s;
    padding-top:30px;
}

/*@media screen and (max-height: 768px){*/
/*   .modal_cm{*/
/*		max-width: 545px;*/
/*	}*/
/*}*/

.modal-body{
    position:relative;
    width:100%;
    height:100%;
    margin:25px 0;
    box-shadow:var(--box-shadow);
    padding:16px;
    background-color: #fff;
    border-radius:69px;
}

@media screen and (min-width: 1024px){
    .modal-body{
        padding:35px;
    }
}

.active_modal .modal_cm{
   transform: translateY(0);
}

.content_md,
.body_md{
    height:100%;
}

.close.close-modal{
    width: 40px;
    height: 40px;
    transform: none;
    filter: none;
    top: 0;
    right: 0;
    opacity: 1;
    position: absolute;
    text-indent: -99999px;
    cursor: pointer;
    box-shadow: none;
    display: flex;
    align-items:center;
    justify-content:center;
	z-index: 999;
	background-color:var(--secondary-color);
	border-radius:9999px;
	transition:var(--transition)
}

@media screen and (min-width: 1024px){
    .close.close-modal{
        width: 45px;
        height: 45px;
        
    }
}

.close.close-modal:hover{
	background-color:var(--primary-color);
}

.close.close-modal span{
    text-indent:0;
}

.close.close-modal span:after{
    content:"\e904";
    display: inline-block;
    font-size: 1.6rem;
    font-family: 'omelet' !important;
    transition:var(--transition);
    color:#fff;
    text-indent:0;
    transform: translateY(2px);
}

@media screen and (min-width: 1024px){
    .close.close-modal span:after{
        font-size: 2.4rem;
    }
}

/* MODAL PRODUCTOS */

.modal-productos-wrap{
    display:flex;
    flex-flow:column;
}

@media screen and (min-width: 640px){
    
    .modal-productos-wrap{
        flex-flow:row;
    }
}


.modal-productos-gallery{
    width:100%;
   position:relative;
}

@media screen and (min-width: 640px){
    .modal-productos-gallery{
        width:50%;
       position:relative;
    }
}

.modal-productos-gallery-images{
    width:100%;
    border-radius:52px;
    overflow:hidden;
}

@media screen and (min-width: 1024px){
    .modal-productos-gallery-images{
        width: 420px;
        top: 50%;
        left: -65px;
        transform: translateY(-50%);
    }
}

.modal-productos-gallery-item img{
    width:100%;
    height:auto;
    object-fit:cover;
}

@media screen and (min-width: 1024px){
    .modal-productos-gallery-item img{
        height:420px;
    }
}

.modal-productos-content{
    width:100%;
    padding: 20px 0;
    text-align: center;
}

@media screen and (min-width: 640px){
    .modal-productos-content{
        width:50%;
        padding: 0 20px 0 30px;
        text-align: left;
    }
}

.modal-productos-content .section-title h2{
    font-size:3rem
}

.modal-productos-text h3{
    font-size:2rem;
    font-weight:700;
    margin-bottom:20px;
}

.modal-productos-text-description{
    margin-bottom: 35px;
    display: -webkit-box;
    /* -webkit-line-clamp: 8; */
    -webkit-box-orient: vertical;
    overflow-y: scroll;
    height: 235px;
}

.modal-productos-text-description p{
    margin-bottom:1rem;
}

.modal-productos-gallery .custom-arrows{
    position:absolute;
    bottom:-5px;
    right:60px;
}

.modal-productos-gallery .slick-arrow{
    width:42px;
    height:42px;
}

.modal-productos-gallery .slick-dots{
        position: absolute;
    bottom: 20px;
}

/* --- Botones --- */

.btn{
    display: inline-block;
    padding: 7px 14px  !important;
    min-height: 35px;
    position: relative;
    background-color: transparent;
    border:1px solid;
    transition: var(--transition);
    font-size:1.6rem;
    color:#fff !important;
    border-radius:9999px !important;
    text-align: center;
    overflow: hidden;
    z-index: 33;
    font-weight: 300;
}

@media screen and (max-width: 640px) {
    .btn{
        padding: 14px 20px  !important;
        min-height: unset;
    }
}

.btn.-primary{
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.btn.-primary:hover,
.btn.-primary:active,
.btn.-primary:focus{
    background: transparent;
    color:var(--primary-color) !important;
}

.btn.-secondary{
    background: var(--gray-color);
    border-color: var(--gray-color);
}

.btn.-secondary:hover,
.btn.-secondary:active,
.btn.-secondary:focus{
    background: var(--primary-color);
    border-color: var(--primary-color);
}

.btn.-line{
    border-color: var(--gray-color);
    color: var(--gray-color) !important;
}

.btn.-line:hover,
.btn.-line:active,
.btn.-line:focus{
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    color: #fff !important;
}

.btn.-with-icon span:before{
    margin-right:10px;
}

/* ---- Section ---- */

.section{
    overflow: hidden;
    position: relative;
    padding: 75px 0;
}

@media screen and (max-width: 600px) {
    .section{
        padding: 55px 0;
    }
}

.section.-gray{
    background-color: var(--terciary-color);
}

.section-title{
    position: relative;
    margin-bottom: 2.5vmax;
    display: flex;
    flex-flow: column;
    justify-content: center;
    text-align: center;
}

@media screen and (min-width: 1025px) {
    .section-title{
        margin-bottom: 30px;
        justify-content: flex-start;
        text-align: left;
    }

    .section-title.-center{
        justify-content: center;
        text-align: center;
    }
    
    .section-title.-right{
        justify-content: flex-end;
        text-align: right;
    }

    .section-title.-with-btn .btn{
        margin-left: 20px;
    }

    .section-title.-with-arrows .custom-arrows{
        position: absolute;
        top:50%;
        transform: translateY(-50%);
        right: 0;
    }
}

@media screen and (max-width: 1025px){
    .section-title.-with-btn .btn{
        display: none;
    }
}


.section-title.-with-adorn:after{
    content: "\e905";
    font-family: var(--icon-font);
    margin: 0 auto;
    margin-top: 5px;
    color: var(--primary-color);
    font-size: 1.2rem;
}

@media screen and (min-width: 1025px) {
    .section-title.-with-adorn:after{
        margin: 0;
    }
    
}

.section-title.-no-margin{
    margin: 0;
}

.section-title h2{
    font-size: 3.2rem;
    position: relative;
    z-index: 10;
    line-height: 1.2;
    white-space: nowrap;
    font-weight: 700;
}
.proyectos-intro-section .section-title h2{
	white-space:wrap;
}

@media screen and (min-width: 1025px) {
    .section-title h2{
        font-size: 4rem;
    }

    .section-title.-big h2{
        font-size: 5rem;
    }
}

.section-title h2 span{
    color: var(--primary-color);
}

.section-title.-center h2{ 
    text-align: center;
}

.section-btn{
    margin-top: 30px;
}

.section-btn.-center{
    text-align: center;
}

.section-btn .btn{
    min-width: 200px;
}

/* SOCIAL */

.social{
    display: flex;
    align-items: center;
}

.social li{
    margin-right: 8px;
    position: relative;
}

.social li.-line{
    padding-right: 8px;
}

.social li.-line:after{
    content:"";
    width: 1px;
    height: 13px;
    position: absolute;
    right: 0;
    top:50%;
    transform: translateY(-50%);
    background-color: #fff;
}

.social li a{
    display: flex;
    align-items: center;
}

.social li a:before{
    width: 25px;
    height: 25px;
    border-radius: 9999px;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.275rem;
    line-height: 1;
}

.social li a span{
    display: inline-block;
    color: #fff;
    margin-left: 5px;
    font-weight: 400;
    font-family: var(--primary-font);
}

/* LOADER */

.loader-wrap{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background-color:var(--secondary-color);
    z-index:99;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
}

.loader-wrap.active{
    animation: 2000ms ease 300ms 1 normal both running fade-in;
}

.loader-wrap.hide{
    display:none;
}

.loader-logo{
    margin-bottom:4rem;
}

.loader-logo img{
    width:20rem;
}

@media screen and (min-width: 1024px) {
   .loader-logo img{
        width:25rem;
    } 
}

.loader-icon .loader{
    position: relative;
}

@keyframes fade-in {
    0% {
        transform: translate3d(0,0%,0);
    }

    to {
           transform: translate3d(0,-100%,0);
    }
}

.loader{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    display:flex;
    align-items: center;
    justify-content: center;
    text-indent:0;
    font-size:0;
    opacity:0;
    visibility:hidden;
}

.loader.active{
     opacity:1;
    visibility:visible;
}

@-webkit-keyframes dot-keyframes {
  0% {
    opacity: 0.4;
    transform: scale(1, 1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2, 1.2);
  }
  100% {
    opacity: 0.4;
    transform: scale(1, 1);
  }
}
@keyframes dot-keyframes {
  0% {
    opacity: 0.4;
    transform: scale(1, 1);
  }
  50% {
    opacity: 1;
    transform: scale(1.2, 1.2);
  }
  100% {
    opacity: 0.4;
    transform: scale(1, 1);
  }
}
.loading-dots {
  text-align: center;
  width: 100%;
  margin-bottom:20px;
}
.loading-dots--dot {
    -webkit-animation: dot-keyframes 1.5s infinite ease-in-out;
    animation: dot-keyframes 1.5s infinite ease-in-out;
    background-color: var(--primary-color);
    border-radius: 9999px;
    display: inline-block;
    height: 30px;
    width: 30px;
    margin: 0 10px;
}
.loading-dots--dot:nth-child(2) {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.loading-dots--dot:nth-child(3) {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.loader:before {
    content: "";
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 10px solid #ccc;
    border-top-color: var(--primary-color);
    border-width: 5px;
    -webkit-animation: spin 1s infinite linear;
    animation: spin 1s infinite linear;
    z-index: 2;
    display: block;
}

@-webkit-keyframes spin{
    0%{
        -webkit-transform:rotate(0deg);
        transform:rotate(0deg)
    }
    to{
        -webkit-transform:rotate(360deg);
        transform:rotate(360deg)
    }
}
@keyframes spin{
    0%{
        -webkit-transform:rotate(0deg);
        transform:rotate(0deg)
    }
    to{
        -webkit-transform:rotate(360deg);
        transform:rotate(360deg)
    }
}

/* ANIMATE */

.ms-lazy{
    opacity: 0;
    transition: opacity 0.3s;
}

.ms-loaded.ms-lazy{
    opacity: 1;

}

.welcome-content-text h1,
.welcome-content-text .btn,
.welcome-image-wrap,
.welcome-logos-wrap,
#productos,
#proyectos{
    opacity: 0;
    transition: 1s transform .45s,  1s opacity .45s;
    transform: translate(0%,50px) matrix(1,0,0,1,0,0);
}
   
.ms-loaded-animate .welcome-content-text h1,
.ms-loaded-animate .welcome-content-text .btn,
.ms-loaded-animate .welcome-image-wrap,
.ms-loaded-animate .welcome-logos-wrap,
.ms-loaded-animate#productos,
.ms-loaded-animate#proyectos{
    transform: matrix(1,0,0,1,0,0);
    opacity: 1;
}

/* ---------------- Formularios  ---------------- */

.form-control{
    padding: 2px 20px!important;
    min-height:36px;
    border-radius:12px!important;
    min-height: 53px;
    box-shadow:none!important;;
    line-height: 1!important;
    background-color: #fff!important;
    border:1px solid #fff;
    width:100%;
}


textarea.form-control{
    min-height:80px;
    padding: 20px!important;
    width:100%;
    border-radius:var(--border-radius)!important;
}

select.form-control{
    width:100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url(../images/select-arrow-white.svg);
    background-position: right 20px center;
    background-size: 12px;
    background-repeat: no-repeat;
}


select.form-control option{
    color:var(--text-color);
}

.form-control,
.form-control::placeholder,
textarea.form-control{
    font-size: 1.6rem!important;
    color:var(--text-color)!important;
    font-weight:400;
    font-family:var(--primary-font)!important;
}

.form.-black .form-control,
.form.-black .form-control::placeholder,
.form.-black textarea.form-control{
    color:var(--text-color)!important;
}


.form.-black select.form-control{
    background-image: url(../images/select-arrow.svg);
}

.form-group{
    margin-bottom:15px;
    display: flex;
    flex-flow: column;
}

.form-group label{
    margin-bottom: 5px;
    font-size: 1.6rem!important;
    font-weight: 400;
    display:inline-block;
}

.form-group br{
    display:none!important;
}


.form-group small{
   font-weight: 300;
    font-size: 1.6rem;
    margin-top: 10px;
    display: block;
}


.form-row{
    margin:0;
    display: grid;
    grid-template-columns: repeat(1,1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    margin-bottom:20px;
    width:100%;
}



@media screen and (min-width : 580px) {
   .form-row{
        grid-template-columns: repeat(2,1fr);
        gap:40px;
    }
    
}


.form-row > p{
    display:none;
}

.form-row .form-group{
    margin: 0;
}

.form-group-button{
    margin-top:40px;
    position:relative;
    justify-content: flex-start;
    flex-flow: row;
    align-items:center;
    margin:0
}

.form-group-button .btn{
    width:100%;
    min-width:130px;
    
}

@media screen and (max-width : 580px) {
   .form-group-button .btn{
        width:100%;
    }
}

@media screen and (min-width : 580px) {
   .form-group-button .btn{
        font-weight:700
    }
}

.form-check .wpcf7-list-item{
    margin:0;
}

.form-check .wpcf7-list-item-label{
    position:relative;
    padding-left:22px;
    cursor:pointer;
    font-size: 1.4rem;
}

.form-check .wpcf7-list-item-label:after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:18px;
    height:18px;
    border:1px solid var(--secondary-color);
    border-radius:4px;
    transition:var(--transition);
    background-color:#fff;
    background-position: center;
    background-size: 50%;
    background-repeat: no-repeat;
}

.wpcf7-list-item input:checked ~ .wpcf7-list-item-label:after{
    background-color:var(--secondary-color);
    background-image: url(../images/checked-white.svg);
}

.form-check .wpcf7-list-item-label a{
  color:var(--secondary-color);  
}

.btn[disabled]{
    opacity:.5;
    pointer-events:none;
    filter:grayscale(1);
}

::-webkit-calendar-picker-indicator {
    filter: invert(1);
}

/* -------------- Contact form ------------ */

form.wpcf7-form {
    position:relative;
    margin:0!important;
}

form.wpcf7-form br{
    display:none;
}

form.wpcf7-form.submitting:after{
    content:"";
    width:100%;
    height:100%;
    position: absolute;
    top:60%;
    transform:translateY(-50%);
    left:0;
    /*background-image: url(../images/loader.gif);*/
    /*background-size: 5%;*/
    /*background-repeat: no-repeat;*/
    /*background-position: center top 30%;*/
    z-index:2;
}

.wpcf7-not-valid-tip,
.wpcf7-response-output{
    color: #fff!important;
    font-size: 1.4rem!important;
    font-weight: 400!important;
    text-align: left!important;
    border-radius: var(--border-radius)!important;
    padding: 12px!important;
    line-height: 1;
}

.wpcf7-not-valid-tip{
    display: none!important;
    margin-top:0px!important;
}

.wpcf7-response-output{
    margin:10px 0!important;
    border:0!important;
}

.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-not-valid-tip,
.comments-error{
    background-color: #f14040!important;
}

/*.wpcf7-form.invalid .form-control{*/
/*    border-bottom: 1px solid #f14040!important;;*/
/*}*/

/*.wpcf7-form.sent .form-control{*/
/*    border: 1px solid #34b234!important;*/
/*}*/

.wpcf7-form.sent .wpcf7-response-output,
.comments-valid{
    background-color:#34b234!important;
}

.wpcf7 .ajax-loader,
.wpcf7-spinner{
    display:none!important;
}

.wpcf7 .ajax-loader:before{
    display:none;
}

form.wpcf7-form .form-group{
    transition:all .6s ease;
}

form.wpcf7-form.submitting .form-group{
    opacity:0.4;
}

/* SWEET ALERT */

.swal2-popup {
   width: 40em;
    min-height: 280px;
}

.swal2-styled.swal2-confirm,
.swal2-html-container{
    font-size: 1.6rem;
    border-radius:9999px !important;
    color:#fff !important;
    font-weight:300;
    line-height:1.2;
    
}

.swal2-styled.swal2-confirm{
    background-color: var(--primary-color);
    border: 1px solid var(--primary-color)!important;
    outline: 0!important;
    height: 40px;
    padding: 0 45px;
}

.swal2-title{
    font-size: 2rem;
}

.swal2-icon {
    display: flex;
    transform: scale(1.5);
    margin-top: 50px;
}

/* MAIN AGE */

body:not(.home) .main-page{
    padding:8rem 0;
}

@media screen and (max-width: 1024px) {
    body:not(.home) .main-page{
        padding:4rem 0;
    }
}

/* HEADER SHAPE */

.header-shape{
    position:absolute;
    top:0;
    left:0;
    width:100%;
}

@media screen and (max-width: 1024px) {
    .header-shape{
        display:none;
    }
}

.header-shape img{
    width: 100%;
    max-height: 150px;
    object-fit: cover;
    object-position: bottom;
    margin-top: 94px;
}

/* HEADER */

#header{
    position: fixed;
    top:0;
    left: 0;
    width: 100%;
    overflow: hidden;
    z-index: 35;
    transition: var(--transition);
}

#header.header-color,
#header.activeFixed{
    background-color:var(--secondary-color);
}

/* HEADER BOTTOM */

.header-bottom{
    padding: 25px 0;
    transition: var(--transition);
}

@media screen and (min-width: 1024px) {
    .header-bottom{
        padding: 35px 0;
    }
}

#header.activeFixed .header-bottom{
    padding: 25px 0;
}

.header-bottom-wrap{
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.header-logo{
    margin: auto;
    margin-left: 0;
}

.header-logo img{
    width: 170px;
    height: auto;
    object-fit: contain;
}

@media screen and (max-width: 1024px) {
    .header-logo img{
        width: 100px;
    }
}

.header-icons,
.header-menu{
    margin: auto;
    margin-right: 0;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 1024px) {
    .header-menu .menu{
        display: none !important;
    }

    .header-icons,
    .header-menu{
        margin: 0;
    }

    .header-icons ul li{
        display: none;
    }

    .header-icons ul li:first-child{
        display: block;
    }

    .header-icons ul li:first-child a{
        font-size: 2rem;
    } 
}

.header-menu .menu{
    display: flex;
    align-items: center;
}

.header-menu .menu li{
    margin-left: 35px;
}

.header-menu .menu li:first-child{
    margin: 0;
}

.header-menu .menu li > a{
    display: flex;
    align-items: center;
    text-align: center;
    font-size: 1.5rem;
    transition: var(--transition);
    color: #fff;
    position: relative;
}

.header-menu .menu li > a:hover,
.header-menu .menu li.current-menu-item>a{
    color: var(--primary-color);
}

.header-menu .menu li.current-menu-item>a:before{
    content:"\e905";
    font-family: var(--icon-font);
    position: absolute;
    top:calc(100% + 2px);
    left: 0;
    right: 0;
    margin: 0 auto;
    font-size:.65rem;
}

.header-icons{
    display: flex;
    align-items: center;
    position: relative;
    margin-left: 16px;
}

.header-icons:before{
    color: var(--primary-color);
    font-size: 1.2rem;
}

.header-icons li{
    margin-left: 14px;
}

.header-icons li .icon-whatsapp{
    color: #fff;
    background-color: var(--primary-color);
    border-radius: 9999px;
    padding: 7px 14px;
    transition: var(--transition);
    border: 1px solid var(--primary-color);
    display: block;
}

.header-icons  li .icon-whatsapp:hover{
    color: var(--primary-color);
    background-color: transparent;
}

.header-icons li .icon-whatsapp:before{
    margin-right: 10px;
}

.header-icons li span{
    font-family: var(--primary-font);
    display: inline-block;
}

@media screen and (max-width: 1024px) {
    .header-icons:before{
        display: none;
    }

    .header-icons li .icon-whatsapp{
        font-size: 1.2rem;
        margin-right: 10px;
    }
}

/* TOGGLE MENU */

.toggle-menu-wrap{
    width: auto;
    height: auto;
    margin-right: 10px;
}

.toggle-menu{
    width: auto;
    height: 100%;
    position: relative;
    cursor: pointer;
    text-indent: -999999px;
    overflow: hidden;
    transition: all .3s;
    display: block;
    background-color:transparent !important;
    margin: 0 auto;
}

.toggle-menu span{
    display: block;
    border-radius: 9999px;
    width: 28px;
    height: 2px;
    background: #fff;
    transition: all .6s;
    position: relative;
    margin: 0;
    margin-left: auto;
}

.toggle-menu span + span {
    margin: 6px 0;
    margin-left: auto;
}

.mobile-menu{
    display: block;
}

@media screen and (min-width: 1024px) {
    .mobile-menu{
        display: none;
    }
}

.toggle-menu span:nth-child(1) {
    -webkit-animation: ease .7s top-2 forwards;
    animation: ease .7s top-2 forwards;
}

.toggle-menu span:nth-child(2) {
    -webkit-animation: ease .7s scaled-2 forwards;
    animation: ease .7s scaled-2 forwards;
}

.toggle-menu span:nth-child(3) {
    -webkit-animation: ease .7s bottom-2 forwards;
    animation: ease .7s bottom-2 forwards;
}

.opened-menu .toggle-menu span:nth-child(1) {
    -webkit-animation: ease .7s top forwards;
    animation: ease .7s top forwards;
}

.opened-menu .toggle-menu span:nth-child(2) {
    -webkit-animation: ease .7s scaled forwards;
    animation: ease .7s scaled forwards;
}

.opened-menu .toggle-menu span:nth-child(3) {
    -webkit-animation: ease .7s bottom forwards;
    animation: ease .7s bottom forwards;
}

@keyframes top {
  0% {
    top: 0;
    transform: rotate(0);
  }
  50% {
    top: 8px;
    transform: rotate(0);
  }
  100% {
    top: 8px;
    transform: rotate(45deg);
  }
}

@keyframes top-2 {
  0% {
    top: 8px;
    transform: rotate(45deg);
  }
  50% {
    top: 8px;
    transform: rotate(0deg);
  }
  100% {
    top: 0;
    transform: rotate(0deg);
  }
}

@keyframes bottom {
  0% {
    bottom: 0;
    transform: rotate(0);
  }
  50% {
    bottom: 8px;
    transform: rotate(0);
  }
  100% {
    bottom: 8px;
    transform: rotate(135deg);
  }
}

@keyframes bottom-2 {
  0% {
    bottom: 8px;
    transform: rotate(135deg);
  }
  50% {
    bottom: 8px;
    transform: rotate(0);
  }
  100% {
    bottom: 0;
    transform: rotate(0);
  }
}

@keyframes scaled {
  50% {
    transform: scale(0);
  }
  100% {
    transform: scale(0);
  }
}

@keyframes scaled-2 {
  0% {
    transform: scale(0);
  }
  50% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}

@keyframes slide-left {
	0% {
		opacity: 0;
		transform: translateX(100%);
	}
	100% {
		opacity: 1;
		transform: translateX(0);
	}
}

/* MENU RESPONSIVE */

#header .ms-menu-responsive {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    height: 100%;
    min-height: 100vh;
    z-index: 999;
    width: 0;
    overflow: hidden;
    transition: all .6s ease-in-out;
    background-color: var(--secondary-color) !important;
    padding-top: 50px;
    box-shadow: 0 0 15px 0 rgba(0,0,0,.25);
}

@media screen and (min-width: 768px){
    #header .ms-menu-responsive {
        max-width: 300px;
    }
}


#header .ms-menu-responsive .mobile_menu_div_100 {
    width: 100%;
    border-top: 1px solid var(--primary-color);
    -webkit-backface-visibility: hidden;
    -webkit-box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    backface-visibility: hidden;
    box-sizing: border-box;
    height: calc(100vh - 45px);
    overflow-y: auto;
    padding: 0 0 10rem;
    position: relative;
    transition: opacity .15s linear 0s;
}

#header .ms-menu-responsive .menu-more-options li {
    position: relative;
    padding: 0 30px;
}

#header .ms-menu-responsive .menu-more-options li.menu-item-has-children>a {
    cursor: pointer;
}

#header .ms-menu-responsive .menu-more-options li a {
    color: #fff;
    display: flex;
    align-items: center;
    min-height: 45px;
    padding: 1.5625rem 0;
    font-size: 1.9rem;
    position: relative;
    border-bottom: 1px solid var(--primary-color);
    transition: all .6s;
    
    font-family:var(--primary-font);
}

#header .ms-menu-responsive .menu-more-options li > a{
    font-weight: 700;
}

#header .ms-menu-responsive .menu-more-options li.menu-item-has-children > a::after {
    content: "\e902";
    display: flex;
    width: 12px;
    height: 100%;
    font-size: .8rem;
    position: absolute;
    justify-content: center;
    align-items: center;
    color: var(--text-color);
    right: 1rem;
    top: 0px;
    font-family: var(--icon-font) !important;
    transition: all 0.6s ease 0s;
    margin: 0px auto;
}

#header .ms-menu-responsive .menu-more-options li .sub-menu {
    padding: 0;
    padding-bottom: 15px;
    display: none;
        margin: 0;
}

#header .ms-menu-responsive .menu-more-options li .sub-menu li a {
    border-bottom: 0;
    padding: 0.9375rem 0;
    font-weight:400;
}

#header .ms-menu-responsive .menu-more-options li .sub-menu li {
    padding: 0;
}

#header .ms-menu-responsive .menu-more-options li.menu-item-has-children.active>a {
    border-bottom-color: rgba(0,0,0,0);
}

#header .ms-menu-responsive .menu-more-options li.menu-item-has-children.active {
    background-color: var(--primary-color);
    border-top: 1px solid var(--primary-color);
    border-bottom: 1px solid var(--primary-color);
    margin-top: -1px;
}
#header .ms-menu-responsive .menu-more-options li.menu-item-has-children {
    transition: background-color .6s;
}

#header .ms-menu-responsive .menu-more-options li.menu-item-has-children.active>a,
#header .ms-menu-responsive .menu-more-options li.menu-item-has-children.active .sub-menu li a,
#header .ms-menu-responsive .menu-more-options li.menu-item-has-children.active > a::after{
    color:#fff;
}

#header .ms-menu-responsive .menu-more-options li.menu-item-has-children.active>a:after {
        transform: scaley(-1) rotate(-90deg);
}

.opened-menu #header .mobile-menu{
    position: fixed;
    z-index: 9999;
    height: 50px;
    right: 0;
    top: 0;
    transition: none;
    transform: scale(.8);
    right: 10px;
}

.opened-menu #header .ms-menu-responsive {
    -webkit-animation: slide-left .3s ease-out;
    animation: slide-left .3s ease-out;
    display: block;
    width: 100%;
}

.r-overlay {
    position: fixed;
    top: 0;
    left: 0;
    background-color: #000;
    z-index: 32;
    width: 100%;
    height: 100%;
    visibility: hidden;
    opacity: 0;
    cursor: pointer;
    transition: all .65s ease;
    visibility: hidden !important;
}

.opened-menu #header .r-overlay {
    visibility: visible !important;
    opacity: .5;
}

/* WELCOME */

#welcome{
    padding-top: 100px;

}

@media screen and (min-width: 1024px) {
    #welcome{
        padding-top: 185px;
    }
}

.welcome-image-wrap{
    position: relative;
}

.welcome-image-wrap .custom-arrows{
    position: absolute;
    top:50px;
    left: 50px;
}

.welcome{
    height: auto;
    width: 100%;
    position: relative;
    overflow: visible;
    background-color: #EAEAEA;
    z-index: 2;
}

.welcome:before,
.welcome:after{
    content:"";
    width: 100%;
    position: absolute;
    left: 0;
    z-index: -1;
}

.welcome:after{
    top:0;
    clip-path: polygon(0 0%, 100% 0, 100% 100%, 0 85%);
    background-color: var(--secondary-color);
    height: 50vh;
}

@media screen and (min-width: 1024px){
    .welcome:after{
        height: 740px;
    }
}

.welcome:before{
    height: 125px;
    top:100%;
    background-image: url(../images/welcome-bg.svg);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
}

#welcomeSliderImages{
    width: 100%;
}

.welcome-images{
    overflow: hidden;
}

.welcome-images-item img{
    width: 100%;
    object-fit: cover;
}   

.welcome .slick-dots{
    margin: 0;
    position: absolute;
    bottom: 1.25rem;
}

@media screen and (min-width: 600px) {
    .welcome .slick-dots{
        margin: 0;
        position: absolute;
        bottom: 2.25rem;
    }
}

.welcome-content-text{
    text-align: center;
    color: #fff;
}

.welcome-content-text h1{
    font-size: 3.8rem;
    font-weight: 700;
    margin-bottom: 20px;
}

@media screen and (min-width: 1024px) {
    .welcome-content-text h1{
        font-size: 6rem;
    }
}

.welcome-content-text h1 span{
    color: var(--primary-color);
    font-weight: 900;
}

.welcome-content-text .btn{
    font-size: 1.8rem;
    font-weight: 700;
    padding-left: 30px !important;
    padding-right: 30px !important;
}

@media screen and (min-width: 1024px) {
    .welcome-content-text .btn{
        font-size: 3.5rem;
        min-width: 400px;
    }
}

.welcome-logos-wrap{
    display: flex;
    flex-flow: column;
    align-items: center;
    max-width: 100%;
    margin: 0 auto;
    margin-top: 40px;
}

@media screen and (min-width: 1025px) {
    .welcome-logos-wrap{
        flex-flow: row;
        margin-top: 85px;
        max-width: 90%;
    }
}

.welcome-logos-content{
    width: 100%;
    margin-bottom: 20px;
}

@media screen and (min-width: 1025px){
    .welcome-logos-content{
        margin-bottom: 0;
    } 
}

.welcome-logos-content .section-title span{
    font-weight: 900;
    font-size: 4.4rem;
}

@media screen and (min-width: 1024px){
    .welcome-logos-content .section-title span{
        font-size: 6rem;
    } 
}

.welcome-logos-content .section-title h2:after{
    content: "\e905";
    font-family: var(--icon-font);
    display: inline-block;
    margin: 0 auto;
    color: var(--primary-color);
    font-size: 1.2rem;
    transform: translateY(-5px);
}

@media screen and (max-width: 1024px){
    .welcome-logos-content .section-title h2:after{
        display: none;
    }
}

.welcome-logos-images{
    max-width: 100%;
    flex-shrink: 0;
}

@media screen and (min-width: 1024px){
    .welcome-logos-images{
        max-width: 600px;
    }
}

.welcome-logos .custom-arrows{
    justify-content: center;
}

.welcome-logos .slick-dots{
    position: relative;
}

.welcome-logos-image-item{
    padding: 10px;
}

.welcome-logos-image-item img{
    height: 85px;
    width: 100%;
    object-fit: contain;
}

/* FOOTER */

.footer{
    display: flex;
    flex-flow: column;
    justify-content: flex-end;
    padding-top: 125px;
    position: relative;
    background-image: url(../images/footer-bg-logo.svg);
    background-position: left -50px top;
    background-repeat: no-repeat;
    background-size: 160px;
    overflow: hidden;
}

.footer::after{
    content:"";
    position: absolute;
    top:0;
    left: 0;
    width: 100% ;
    height: 125px;
    background-image: url(../images/footer-bg.svg);
    background-position: right top;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
}

@media screen and (min-width: 1024px){
    .footer::after{
        width: calc(100% - 45px);
    }
}

.footer-wrap{
    width: 100%;
    background-color: var(--secondary-color);
    position: relative;
}

@media screen and (min-width: 1024px){
    .footer-wrap{
        width: calc(100% - 45px);
    }
}

.footer-wrap:after{
    content:"";
    position: absolute;
    top:10%;
    right:-23px;
    width: 56px;
    height: 56px;
    border-radius: 9999px;
    background-color: var(--primary-color);
}

.footer-menu-wrap{
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
}

@media screen and (max-width: 1024px) {
    .footer-menu-wrap{
        flex-flow: column;
        align-items: center;
        justify-content: center;
    }
}

.footer-logo img{
    height: 40px;
}

@media screen and (max-width: 1024px) {
    .footer-logo{
        text-align: center;
    }
}

.footer-logo p{
    line-height: 1.5;
}

@media screen and (min-width: 1024px) {
    .footer-menu{
        transform: translateY(-50px);
    }
}


.footer-menu-item{
    width: auto;
}

.footer-menu-item{
    display: flex;
}

@media screen and (max-width: 600px) {
    .footer-menu-item{
        flex-flow: column;
    }
}

@media screen and (min-width: 600px) {
    .footer-menu-item{
        justify-content: space-between;
    }
}

.footer-list{
    margin-left: 80px;
}

@media screen and (max-width: 600px) {
    .footer-list{
        margin: 0;
        margin-bottom: 20px !important;
        text-align: center;
    }
}

@media screen and (min-width: 600px) and (max-width: 1024px) {
    .footer-list{
        margin-left: 25px !important;
    }
}


.footer-list:first-child{
    margin: 0;
}

.footer-list > li{
    margin-bottom: 20px;
    
}

.footer-list > li:last-child{
    margin: 0;
}

.footer-list > li > a{
    display: flex;
    align-items: center;
    white-space: nowrap;
    font-size: 1.5rem;
}

@media screen and (max-width: 600px) {
    .footer-list > li > a{
        justify-content: center;
    }
}

.footer-list > li > h2{
    font-size: 1.5rem;
}

.footer-list > li > a:before{
    margin-right: 10px;
    width: 20px;
    height: 20px;
}

.footer-list img{
    max-width: 100%;
    height: 30px;
    object-fit: contain;
}

.footer-list img.book{
    filter: invert(1);
    height: 25px;
}

.footer-list .social{
    flex-flow: column;
    align-items: flex-end;
}

@media screen and (max-width: 600px) {
    .footer-list .social{
        justify-content: center;
        align-items: center;
    }
}

.footer-list .social li{
    display: flex;
    align-items: center;
    margin-bottom: 60px;
}

@media screen and (max-width: 600px) {
    .footer-list .social li{
        margin-bottom: 25px;
    }
}

.footer-list .social li:last-child{
    margin: 0;
}

@media screen and (max-width: 1024px) {
    .footer-list .social li:last-child{
        flex-flow: column;
        margin-bottom: 40px;
    }

    .footer-list .social li a{
        margin:  10px 0 !important;
    }
}

.footer-list .social li:last-child a{
    margin: 0 22px;
    line-height: 1.2;
}

.footer-list .social li:last-child a:before{
    font-size: 3rem;
}

.footer-list .social li:last-child .icon-whatsapp:before{
    font-size: 3.2rem !important;
}

.footer-list .social li:last-child .icon-email:before{
    font-size: 2.5rem !important;
}

.footer-list .social li a:before{
    margin-right: 10px;
}

.footer-list .social li:first-child a:before{
    background-color: var(--primary-color);
    color: #fff;
    width: 35px;
    height: 35px;
    font-size: 1.6rem;
}

.footer-list .social li:not(:first-child) a:before{
    background-color: transparent;
    color: var(--primary-color);
    width: auto;
    height: auto;
}

.footer-list .social li:not(:first-child) a.icon-whatsapp:before{
    font-size: 1.8rem;
}

.footer-list:last-child h2{
    color: var(--primary-color);
}

.footer-copy{
    text-align: center;
    padding: 28px 0;
    border-top:1px solid var(--primary-color);
    color: #fff;
}

.footer-copy p{
    font-weight: 400;
    font-size: 1.5rem;
}

.footer-copy p a{
    display: inline-block;
}

.footer-copy p span{
    display: inline-block;
}

.footer-copy p span:first-child{
    margin: 0 15px;
}

.footer-copy p span:last-child{
    color: var(--primary-color);
}

.footer-copy .logo-agencia{
    width: 23px;
    height: 13px;
    background-image: url(../images/logo-agencia.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.footer-menu-info{
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-menu-info li a{
    display: block;
    font-size: 1.5rem;
    margin: 20px;
}

@media screen and (max-width: 600px) {
    .footer-menu-info li a{
        margin: 10px;
    }
}

/* PRODUCTOS */

@media screen and (max-width: 600px){
    #productos{
        padding-top: 100px;
    }
}

.productos-grid{
    display: flex;
    flex-wrap: wrap;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
}

@media screen and (min-width: 1025px) {
    .productos-grid{
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        grid-template-rows: repeat(2, 1fr);
        grid-column-gap: 30px;
        grid-row-gap: 30px;
     }
}



.productos-item{
    width: 100%;
}

.productos-item:nth-child(8){
    width: 100%;
}

@media screen and (max-width: 640px) {
    .productos-item{
        width: 50%;
        padding: 10px;
    }
}

@media screen and (min-width: 640px) and (max-width: 1025px) {
    .productos-item{
        width: 25%;
        padding: 10px;
    }
}

    
.productos-item:nth-child(1) { grid-area: 1 / 1 / 2 / 2; }
.productos-item:nth-child(2) { grid-area: 1 / 2 / 2 / 3; }
.productos-item:nth-child(3) { grid-area: 1 / 3 / 2 / 4; }
.productos-item:nth-child(4) { grid-area: 1 / 4 / 2 / 5; }
.productos-item:nth-child(5) { grid-area: 1 / 5 / 2 / 6; }
.productos-item:nth-child(6) { grid-area: 2 / 1 / 3 / 2; }
.productos-item:nth-child(7) { grid-area: 2 / 2 / 3 / 3; }
/*.productos-item:nth-child(9) { grid-area: 2 / 3 / 3 / 4; }*/
.productos-item:nth-child(8) { grid-area: 2 / 4 / 3 / 6; }

.productos-item:last-child .productos-image a{
    display: block;
}
.productos-image{
	overflow: hidden;
	border-radius: 50px;
}
.productos-image img{
    width: 100%;
    height: 200px !important;
    object-fit: cover;
    border-radius: 50px;
    cursor:pointer;
	transition: transform 0.3s;
}

@media screen and (max-width: 1025px) {
    .productos-image img{
        height: auto !important;
    }
}

.productos-info{
    text-align: center;
    padding-top: 10px;
}

.productos-info h2{
    font-size: 2rem;
    font-weight: 700;
    cursor:pointer;
}

.productos-item:last-child .productos-content,
.productos-item:last-child .productos-image,
.productos-item:last-child .productos-image img{
   /* height: 100%;*/
}

.productos-item:hover img {
    transform: scale(1.1);
}
/* PROYECTOS */

#proyectos .section-btn{
    display: none;
}


@media screen and (max-width: 1025px) {
    #proyectos .section-btn{
        display: block;
    }
}

.proyectos-grid{
    position: relative;
    width: 100%;
}

@media screen and (min-width: 1025px) {
    .proyectos-grid:after{
        content:"";
        position: absolute;
        bottom:0;
        width: 100vw;
        height: calc(100% + 30px);
        right: 100%;
        background-color: #fff;
    }
}

#proyectosSlider .slick-list{
    overflow: visible;
    margin: -12px;
}

@media screen and (max-width: 1025px) {
    #proyectosSlider .slick-list{
        width: 95%;
        margin: 0 auto;
    }
}

.proyectos-wrap{
    padding: 12px;
}

.proyectos-image{
    position: relative;
}

.proyectos-image img{
    width: 100%;
    height: 325px;
    border-radius: 32px;
    object-fit: cover;
}

.proyectos-image .btn{
    position: absolute;
    right:20px;
    top:-17px;
    min-width: 115px;
}

.proyectos-content{
    padding: 38px 25px;
    background-color: var(--bg-gray-color);
    border-radius: 52px;
    position: relative;
    z-index: 2;
    counter-increment: contador;
}

#proyectosSlider .slick-track{
    counter-reset: contador;
}


body.home .proyectos-content:before{
    content: "0"counter(contador);
    display: block;
    font-weight: 400;
    flex-shrink: 0;
    position: absolute;
    top:-30px;
    left: 35px;
    font-size: 6rem;
    font-weight: 700;
}

@media screen and (max-width: 1025px) {
    body.home .proyectos-content:before{
        font-size:4rem;
        top:-20px;
    }
}

.proyectos-content:after{
    content:"";
    position: absolute;
    bottom:0;
    left: 0;
    width: 100%;
    height: 50%;
    border-radius: 52px;
    background-color: #7C7C7C;
    z-index: -1;
}

#proyectosSlider .slick-slide:nth-child(even) .proyectos-content:after{
    background-color: var(--gray-color);
}

.proyectos-info{
    margin-top: 20px;
    padding: 0 12px;
}

.proyectos-info h2{
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 5px;
    color: #fff;
}

.proyectos-info p{
    color: var(--gray-color);
}

#proyectosSlider .slick-slide:nth-child(even) .proyectos-info p{
    color: #7C7C7C;
}

/* CIRCLE */

.circle{
    width: 57px;
    height: 57px;
    border-radius: 9999px;
    background-color: var(--primary-color);
    position: absolute;
}
.circle.-dark{
    background-color: var(--secondary-color);
}
#welcome .circle:nth-of-type(1){
    top:30%;
    transform: translateY(-50%);
    left: -10px;
}

#welcome .circle:nth-of-type(2){
    bottom:40%;
    right: 5%;
}

#productos .circle:nth-of-type(1){
    bottom:5%;
    left:0;
}

.modal-productos-gallery .circle{
    right:-10px;
    top:10px;
        z-index: 1;
}

.nosotros-intro .circle{
    right:10%;
    bottom:0%;
    z-index:1;
}

.nosotros-content .circle{
    left:8%;
    top:-5%;
    z-index:1;
}

.contacto-form .circle:nth-of-type(1){
    left:8%;
    top:-5%;
    z-index:1;
}

.contacto-form .circle:nth-of-type(2){
   
     right:6%;
    bottom: 5%;
    z-index:1;
}

/* PROYECTOS GRID */

.content-intro{
    display:flex;
    align-items:center;
    flex-flow:column-reverse;
    margin-bottom:40px;
    position:relative;
}

@media screen and (min-width: 1025px) {
    .content-intro{
        flex-flow:row;
    }
}

.content-intro .circle:nth-of-type(1){
    top:-5%;
    left:-10%;
}

.content-intro .circle:nth-of-type(2){
    bottom:1%;
    right:22%;
    z-index:10;
}

.content-intro-text{
    width:100%;
    margin-top:20px;
}

@media screen and (min-width: 1025px) {
    .content-intro-text{
        flex: 0 0 50%;
        max-width: 50%;
        padding-right:65px;
        margin:0;
    }
}

.content-intro-text .section-title h2{
    margin-bottom:50px;
}

.content-intro-text .section-title h2:after {
   content: "\e905";
    font-family: var(--icon-font);
    display: inline-block;
    margin: 0 auto;
    color: var(--primary-color);
    font-size: 1.6rem;
    transform: translateY(-5px);
    margin-left: 10px;
}

.content-intro-image{
    width:100%;
}

@media screen and (min-width: 1025px) {
    .content-intro-image{
        flex: 0 0 50%;
        max-width: 50%;
    }
}

.content-intro-image img{
    width:100%;
}

.proyectos{
    position:relative;
}

.proyectos > .circle{
    bottom:50%;
    right:20px;
}

.proyectos-select{
    margin-top:35px;
    width:100%;
}

.proyectos-select select{
    max-width:70%;
    width:100%;
    min-height:34px;
    padding:0 22px;
    border:1px solid var(--gray-color);
    border-radius:9999px;
    font-size:1.7rem;
    color:var(--gray-color);
    background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 15.01 9.67"><defs><style>.cls-1{fill:%23646363;}</style></defs><title>arrow</title><g id="Capa_2" data-name="Capa 2"><g id="Capa_1-2" data-name="Capa 1"><path class="cls-1" d="M6.48,9.2.35,2.27A1.37,1.37,0,0,1,1.37,0H13.64a1.37,1.37,0,0,1,1,2.27L8.53,9.2a1.37,1.37,0,0,1-2,0"/></g></g></svg>');
    background-position:right 20px center;
    background-size:15px;
    background-repeat:no-repeat;
}

.proyectos-archive-grid{
    display: grid;
    grid-gap: 10px;
}

@media screen and (min-width: 640px) {
    .proyectos-archive-grid{
        grid-template-columns: repeat(2,1fr);
    }
}

@media screen and (min-width: 1025px) {
    .proyectos-archive-grid{
        grid-template-columns: repeat(3,1fr);
    }
}

.proyectos-archive-grid .proyectos-wrap{
    width:100%;
}

.proyectos-pagination{
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top:40px;
}

@media screen and (min-width: 640px) {
    .proyectos-pagination{
        grid-column: span 2;
    }
}


@media screen and (min-width: 1025px) {
    .proyectos-pagination{
        grid-column: span 3;
    }
}

.proyectos-pagination .page-numbers{
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    border-radius:9999px;
    background-color:var(--gray-color);
    color:#fff;
    font-size:2rem;
    margin:0 5px;
    transition:var(--transition);
    position:relative;
}

.proyectos-pagination .page-numbers.next, 
.proyectos-pagination .page-numbers.prev{
    text-indent:9999px;
    font-size:0;
}

.proyectos-pagination .page-numbers.next:before, 
.proyectos-pagination .page-numbers.prev:before{
    content: "\e902";
    font-family: var(--icon-font) !important;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    text-indent:0;
    font-size:1.2rem;
}

.proyectos-pagination .page-numbers.prev:before{
    transform:scalex(-1);
}

.proyectos-pagination .page-numbers:hover,
.proyectos-pagination .page-numbers.current{
    background-color:var(--primary-color);
}

.proyectos-cta{
    padding:6rem 0;
    position:relative;
}

.proyectos-cta .circle:nth-of-type(1){
        top: 13%;
    left: -2%;
    z-index: -1;
}

.proyectos-cta-wrapper{
    display:flex;
    align-items:strech;
    border-radius:52px;
    background-color:var(--primary-color);
    overflow:hidden;
    flex-flow:column;
}

@media screen and (min-width: 640px) {
    .proyectos-cta-wrapper{
        flex-flow:row;
    }
}

.proyectos-cta-text{
    width:100%;
    padding: 40px 20px;
    display: flex;
    flex-flow: column;
    justify-content: center;
    text-align:center;
}

@media screen and (min-width: 640px) {
    .proyectos-cta-text{
        width:50%;
        padding: 0 60px;
        text-align:left;
    }
}

.proyectos-cta-text h3{
    font-size:2.4rem;
    margin-bottom:10px;
    font-weight:700;
}

@media screen and (min-width: 1025px) {
    .proyectos-cta-text h3{
        font-size:3.9rem;
    }
}

.proyectos-cta-text p{
    color:#fff;
}

.proyectos-cta-image{
    width:100%;
    height:200px;
    position:relative;
}

@media screen and (min-width: 640px) {
    .proyectos-cta-image{
        width:50%;
    }
}

.proyectos-cta-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.proyectos-cta-buttons{
    position:absolute;
    bottom:0;
    padding:25px 0;
    display:flex;
    justify-content:center;
        width: 100%;
}

.proyectos-cta-buttons .btn{
    margin:0 5px;
    display:inline-block;
    color:#fff;
}

/* SINGLE PROYECTOS */

.proyectos-intro-section{
    position:relative;
    z-index:2;
}

.proyectos-intro-section .circle:nth-of-type(1){
    top:-5%;
    left:-10px;
}

.proyectos-intro-section .circle:nth-of-type(2){
    bottom:1%;
    right:22%;
    z-index:10;
}
.proyectos-intro-section p{
    color:#7C7C7C;
}



.proyectos-intro-section.-reversed{
    background-color:var(--bg-gray-color);
        padding: 40px 0;
}

.proyectos-intro-section.-reversed:after,
.proyectos-intro-section.-reversed:before{
    content:"";
    position:absolute;
    left:0;
    width:100%;
    height:50px;
    background-repeat: no-repeat;
    background-size: cover;
    z-index:-1;
}

.proyectos-intro-section.-reversed:before{
    top:0;
    background-image: url(../images/reversed-bg-top.svg);
    background-position: center top;
}

.proyectos-intro-section.-reversed:after{
    bottom:0;
    background-image: url(../images/reversed-bg-bottom.svg);
    background-position: center bottom;
}

.proyectos-intro{
    display:flex;
    align-items:center;
    flex-flow:column-reverse;
}

@media screen and (min-width: 1025px) {
    .proyectos-intro{
        flex-flow:row;
    }
    
    .proyectos-intro-section.-reversed .proyectos-intro{
         flex-flow:row-reverse;
    }
}

.proyectos-intro-text{
    width:100%;
    margin-top:20px;
}

@media screen and (min-width: 1025px) {
    .proyectos-intro-text{
        flex: 0 0 50%;
        max-width: 50%;
        padding-right:90px;
        margin:0;
    }
    
    .proyectos-intro-section.-reversed .proyectos-intro-text{
        padding:0;
        padding-left:90px;
    }
}

.proyectos-intro-text .section-title h2:after {
   content: "\e905";
    font-family: var(--icon-font);
    display: inline-block;
    margin: 0 auto;
    color: var(--primary-color);
    font-size: 1.6rem;
    transform: translateY(-5px);
    margin-left: 10px;
}


.proyectos-intro-text .section-title p span{
    color:var(--gray-color);
}


.proyectos-intro-image{
    width:100%;
	
}

@media screen and (min-width: 1025px) {
    .proyectos-intro-image{
        flex: 0 0 50%;
        max-width: 50%;   
		 
    }
}

.proyectos-intro-image img{
    width:100%;
	border-radius: 70px;
	height: 410px;
    object-fit: cover;
}
.proyectos-intro-description{
    margin-top:30px;
}

.proyectos-intro-description p{
    margin-bottom:20px;
}

.proyectos-intro-description p + p{
    margin:0;
}

.proyectos-gallery{
    margin-top:45px;
    position:relative;
}


.proyectos-gallery-grid{
    display: grid;
    grid-gap: 10px;
    grid-template-columns: repeat(2,1fr);
}

@media screen and (min-width: 640px) {
    .proyectos-gallery-grid{
        grid-template-columns: repeat(4,1fr);
    }

}

@media screen and (min-width: 1025px) {
    .proyectos-gallery-grid{
        grid-gap: 35px;
        grid-template-columns: repeat(5,1fr);
    }
}

.proyectos-gallery-item{
    width:100%;
    position:relative;
    overflow:hidden;
    border-radius:32px;
}

.proyectos-gallery-item:after{
    content:"";
    display:block;
    padding-bottom:110%;   
}

.proyectos-gallery-item img{
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:cover;
    transition:var(--transition);
}

.proyectos-gallery-item:hover img{
    transform:scale(1.1);
}

.proyectos-related{
    overflow:hidden;
    margin:40px 0;
    position:relative;
}

.proyectos-related .circle:nth-of-type(1){
    top:-5%;
    left:-5%;
}

@media screen and (min-width: 1025px) {
    .proyectos-related{
        margin:120px 0;
        margin-bottom:65px;
    }

}

/* NOSOTROS */

.nosotros{
    position:relative;
    overflow:hidden;
}

.nosotros-title h2{
    text-align:center;
    font-size:2.4rem;
    margin-bottom:10px;
    font-weight:700;
}

@media screen and (min-width: 1025px) {
    .nosotros-title h2{
        text-align:center;
        font-size:4.5rem;
        margin-bottom:30px;
    }

}

.nosotros-title.-small h2{
    font-size:3.95rem;
}

@media screen and (min-width: 1025px) {
    .nosotros-title.-small h2{
        font-size:3rem;
    }

}

.nosotros-title h2:after {
    content: "\e905";
    font-family: var(--icon-font);
    display: inline-block;
    margin-left:10px;
    color: var(--primary-color);
    font-size: 1.6rem;
    transform: translateY(-5px);
}

.nosotros-title.-white h2:after{
    color:#fff;   
}

.nosotros-title.-left h2{
    text-align:left;
}

.nosotros-title span{
    color:var(--primary-color);
    font-size:5.9rem;
    font-weight:900;
}

.nosotros-intro{
    display:flex;
    align-items:center;
}

@media screen and (min-width: 580px) {
    .nosotros-intro{
        min-height:435px;
    }

}

@media screen and (min-width: 1025px) {
    .nosotros-title h2:after {
        margin-left:10px;
    }

}

.nosotros-intro-content{
    width:100%;
    margin:0 auto;
}
.nosotros-intro-content p{
	margin-bottom:20px;
}

@media screen and (min-width: 580px) {
    .nosotros-intro-content{
        max-width:35%;
    }

}

@media screen and (min-width: 1025px) {
    .nosotros-intro-content{
        max-width:450px;
    }

}

.nosotros-intro-image{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    display:none;
}

@media screen and (min-width: 580px) {
    .nosotros-intro-image{
        display:block;
    }

}

.nosotros-intro-image.-left{
    left:0;
}

.nosotros-intro-image.-right{
    right:0;
}

.nosotros-intro-image{
    width:30%;
}

.nosotros-intro-image img{
    width:100%;
}

.nosotros-benefits{
    padding:80px 0;
    padding-top:125px;
    width: 96%;
    margin: 0px auto;
    margin-right: 0;
}

@media screen and (min-width: 1025px) {
    .nosotros-benefits{
        width: calc(100% - 100px);
         margin: 50px auto;
         margin-right:0;
         
    }

}

.nosotros-benefits:after,
.nosotros-benefits:before{
    content:"";
    position:absolute;
    left:0;
    width:100%;
    height:80px;
    background-repeat: no-repeat;
    background-size: cover;
    z-index:-1;
}

.nosotros-benefits::before{
    top:0;
    height:125px;
    background-image: url(../images/benefit-top.svg);
    background-position: left top;
}

.nosotros-benefits:after{
    bottom:0;
    background-image: url(../images/benefit-bottom.svg);
    background-position: left bottom;
}

.nosotros-benefits-wrap{
    background-color:var(--primary-color);
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding:1rem 0;
}


@media screen and (min-width: 580px) {
    .nosotros-benefits-wrap{
        min-height:290px;
        padding:0;
    }
}

.nosotros-benefits-grid{
    display: grid;
    grid-gap: 20px;
}

@media screen and (min-width: 580px) {
    .nosotros-benefits-grid{
        grid-gap: 86px;
        grid-template-columns: repeat(3,1fr);
    }

}

.nosotros-benefits-item{
    width:100%;
}

.nosotros-benefits-wrap .nosotros-title h2{
    font-size:2.9rem;
    text-align:left;
    margin-bottom:10px;
}

.nosotros-benefits-wrap .nosotros-title h2:after{
    font-size:1rem;
}

.nosotros-content{
    overflow:visible;
}

.nosotros-content-wrap{
    display:flex;
    align-items:center;
    flex-flow:column-reverse;
    margin-bottom:40px;
    position:relative;
}

@media screen and (min-width: 1025px) {
    .nosotros-content-wrap{
        flex-flow:row;
    }
}

.nosotros-content-text{
    width:100%;
    margin-bottom:20px;
}

@media screen and (min-width: 1025px) {
   .nosotros-content-text{
        flex: 0 0 50%;
        max-width: 50%;
        padding:0 65px;
        margin:0;
    }
}

.nosotros-content-image{
    width:100%;
}

@media screen and (min-width: 1025px) {
    .nosotros-content-image{
        flex: 0 0 50%;
        max-width: 50%;
    }
}

.nosotros-content-image img{
    width:100%;
}

/* CONTACTO */

.contacto{
    position: relative;
    z-index: 1;
}

.contacto-form-wrap{
    display:flex;
    align-items:center;
    flex-flow:column-reverse;
    margin-bottom:40px;
    position:relative;
}

@media screen and (min-width: 1025px) {
    .contacto-form-wrap{
        flex-flow:row;
    }
}

.contacto-form-content{
    width:100%;
    margin-bottom:20px;
    position:relative;
}

@media screen and (min-width: 1025px) {
   .contacto-form-content{
        flex: 0 0 55%;
        max-width: 55%;
        margin:0;
    }
}

.contacto-form-content:after,
.contacto-form-content:before{
    content:"";
    position:absolute;
    left:0;
    width:100%;
    height:60px;
    background-repeat: no-repeat;
    background-size: cover;
    z-index:-1;
}

.contacto-form-content::before{
    bottom:100%;
    background-image: url(../images/form-top.svg);
    background-position: left top;
}

.contacto-form-content:after{
    top:100%;
    background-image: url(../images/form-bottom.svg);
    background-position: left bottom;
}


.contacto-form-image{
    width:100%;
    position: relative;
    z-index: 10;
}

@media screen and (min-width: 1025px) {
    .contacto-form-image{
        flex: 0 0 45%;
        max-width: 45%;
    }
}

.contacto-form-image img{
    width: 100%;
}

@media screen and (min-width: 1025px) {
    
    .contacto-form-image img{
            width: 110%;
    }
}

.contacto-form-content-wrap{
    padding:45px;
    padding:25px;
    border-radius: 49px 0 0 39px;
    background-color:var(--primary-color);
}

@media screen and (min-width: 1025px) {
    .contacto-form-content-wrap{
        padding:45px;
        padding-left:100px;
        padding-right:75px;
        padding-bottom:20px;
    }
}

.contacto-social{
    margin:20px 0;
    margin-top:80px;
}

@media screen and (max-width: 1025px) {
   .contacto-social{
        margin:40px 0;
        margin-bottom:0;
    }
}

.contacto-social-list{
    display: flex;
    align-items: center;
    gap:50px
}

@media screen and (max-width: 1025px) {
   .contacto-social-list{
        flex-flow:column;
        align-items:center;
        gap:20px;
        text-align:center;
    }
}

.contacto-social-list li a{
    display:flex;
    align-items:center;
}

.contacto-social-list li a span{
    margin-right:10px;
    display:block;
}

.contacto-social-list li a span:before{
    color:var(--primary-color);
    
    font-size:2rem;
}

.contacto-social-list li:not(:last-child) a span:before{
    font-size:2.6rem;
}

.contacto-map-wrap{
    position:relative;
    border-radius: 49px;
    overflow: hidden;
}

.contacto-map-wrap:after,
.contacto-map-wrap:before{
    content:"";
    position:absolute;
    left:0;
    width:100%;
    height:150px;
    background-repeat: no-repeat;
    background-size: cover;
    pointer-events:none;
}

.contacto-map-wrap::before{
    top:0;
    background-image: url(../images/map-top.svg);
    background-position: left top;
}

.contacto-map-wrap:after{
    bottom:0;
    height:70px;
    background-image: url(../images/map-bottom.svg);
    background-position: left bottom;
}

.contacto-map-wrap iframe{
    width:100%;
    height:500px;
}

/* ------------ 404 ------------------- */

.no-enocontrado{
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding-bottom: 8rem;
    padding-top: 8rem;
    min-height:60vh;
}

.no-enocontrado h2{
    font-size: 2.5rem;
    margin-bottom:25px;
    font-weight:700!important;
    line-height: 1.2!important;
    color:var(--primary-color);
}


@media screen and (min-width: 1280px) {
    .no-enocontrado h2{
        font-size: 4rem;
    }
}

.no-enocontrado p{
    margin-bottom:40px;
    font-size:2rem;
    font-weight:400;
}