@import 'blocks/blocks-titularfull.css';
@import 'blocks/blocks-video-bg.css?v=2';
@import 'blocks/blocks-video-pop.css?v=2';
@import 'blocks/blocks-texto-cols.css';
@import 'blocks/blocks-team.css';
@import 'blocks/blocks-carrusel.css';
@import 'blocks/blocks-galeria.css';
@import 'blocks/blocks-testimonals.css';
@import 'blocks/blocks-nav-slider.css';
@import 'blocks/blocks-proyectos.css';
@import 'blocks/blocks-menu.css';
@import 'blocks/blocks-blog.css';
@import 'blocks/blocks-legal.css';
@import 'blocks/blocks-accordion.css';
@import 'blocks/blocks-hero.css';
@import 'blocks/blocks-texto-imagen.css';
@import 'blocks/blocks-mapa-contacto.css';
@import 'blocks/blocks-noticias.css';
@import 'blocks/footer.css';
@import 'blocks/formulario.css';
@import 'blocks/modals.css';
@import 'blocks/burger-menu.css';

/*{border: 1px solid red}*/s

body{
     font-family: "Inter", sans-serif;
}
.urbanist{
     font-family: "Urbanist", sans-serif;
}
h1,h2,h3,h4{
    font-family: "Urbanist", sans-serif;
    font-weight: 200;
}
h1 em{
    font-style: normal;
    font-weight: 400;
    /*font-size: 44px;*/
    font-size: 2.75em;
}
h1 strong{
    font-weight: 600;
    display: block;
}

h2{
   /*font-size: 38px;*/
    font-size: 2.375em;
    line-height: 100% !important;
}
h2 em{
    font-style: normal;
    font-weight: 400;
}
h2 strong{
    font-weight: 600;
    display: block;
}
h1 {
    line-height: 100%;
}

h3{
   /*font-size: 34px;*/
   /*font-size: 34px;*/
    font-size: 2.125em;
    line-height: 100% !important;
}

.block-texto-simple h2{
    margin-bottom: 20px;
}


p {
    /*font-size: 16px;*/
    font-size: 1em;
}


.home nav {
    position: absolute;
    width: 100%;
}
.navbar {
    z-index: 1;
}


#HomeHeroSlider{
    overflow: hidden;
}
#HomeHeroSlider .swiper-slide .slider-bg{
    background-position: center;
    background-size: cover;
    min-height: 700px;
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.jrdVideoHero {
    position: absolute;
    overflow: hidden;
    background-color: #000000;
    width: 100%;
    height: 100%;
    top: 0;
    z-index: 0;
    top: 0px;
    transition: all 1s ease;
}
.jrdVideoHero video {
    position: absolute;
    z-index: 1;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 1;
}

.jrdVideoOverlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(transparent, #0000005e);
}



.GaleriaSwiper,
.GaleriaSwiper .swiper-wrapper {
        max-height: 450px;
}


.rounded-xxxl{
    border-radius: 30px;
}

#SBOXfooter{
    background: #f1f1f1;
    padding: 30px 50px;
    margin-bottom: 60px;
    border-radius: 20px;
    margin-top: 40px;
}

#SBOXfooter a{
    color: black;
    text-decoration: none;
}

#SBOXfooter a:hover{
    text-decoration: underline;
}



.swiper-container{
    position: relative;
    padding: 0;
}

.button-wrapper{
    height: 68px;
    /*border: 1px solid lime;*/
    width: 180px;
    position: absolute;
    z-index: 1;
    width: 140px;
    display: flex;
    bottom: 20px;
    right: 20px;
    gap: 8px;
}
.swiper-button-wrapper button{
    background-color: transparent;
}
.svg-wrap {
    width: 100%;
    position: relative;
    height: 100%;
    display: flex;
    justify-content: center;
    overflow: hidden;
    align-items: center;
}
.previous .svg-wrap{
    left: -2px;
}
.next .svg-wrap{
    left: 2px;
}
.swiper-button-wrapper, 
.swiper-prev-next-button, 
.swiper-button-wrapper .circle {
    position: relative;
    height: 64px;
    width: 64px;
    border-radius: 34px;
    border: none;
}

.swiper-button .circle{
    background: #ffffff87;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    backdrop-filter: blur(4px);
    transition: all .2s ease;
}
.swiper-button:hover .circle{
    background: #ffffffbf;
}
.swiper-button-disabled{
    pointer-events: none;
}
.swiper-button-disabled:hover .circle{
    background: #ffffff87;
}

.BigImageSwiper .hero-wrap {
    min-height: 600px;
}

.block-texto-simple h1{
     margin-bottom: 30px;
}

.block-texto-simple p{
    max-width: 570px;
    display: inline-block;
    margin: auto;
    text-align: center;
    display: block;
    line-height: 130%;
    /*font-size: 18px;*/
    font-size: 1.125em;
    font-weight: 300;
    /*color: #979797;*/
    color: #555;
}

.site-content{
    opacity: 0;
    transform: translateY(20px);
    transition: all .3s ease-out;
}
.home .site-content{
    opacity: 1;
    transform: translateY(0px);
    transition: all .3s ease-out;
}
.loaded .site-content{
    opacity: 1;
    transform: translateY(0px);
    transition: all .4s ease-out;    
}

.st1{
    fill: #1d1d1b;
     transition: all .4s ease-out;   
}

.home .st1{
    fill: #fff;  
}

.cambio .st1{
    fill: #1d1d1b;
}

#menu-principal {
    gap: 14px;
    margin: 30px 0 0 0;
}

.menu-item a{
    background: #dcdcdccc;
    background: #e9e9e9b0;
    padding: 19px 14px;
    border-radius: 10px;
    color: black;
    transition: all .2s ease;
    cursor: pointer;
    min-width: 130px;
    text-align: center;
    backdrop-filter: blur(6px);
}
.menu-item.menu-contacto a{

}
.home  .menu-item a{
    background: #ffffffcc;
}
.cambio .menu-item a{
    background: #e9e9e9b0;
}

.home .menu-item a:hover,
.home .menu-item a:focus{
    /*background: #fff;*/
    /*background: black;;
    padding: 19px 44px;
    border-radius: 40px;
    color: white;*/
}
.menu-item a:hover,
.home .menu-item a:hover{
    /*background: #bcbcbccc;*/
    opacity: .7;
}
.menu-item.current-menu-item a:hover{
    opacity: 1;
}
.menu-item.current-menu-item a{
    /*background: black;*/
    padding: 19px 14px;
    /*border-radius: 40px;*/
    /*color: white;*/
    animation-name: fadeIN;
    animation-duration: .5s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(.5,0,.18,1);
    }
    
    @keyframes fadeIN {
          from {
            background: #e9e9e9b0; color: black;
          }
          to {
            background: #000000; color: white;
          }
    }

.block-texto-simple#LEGAL{
    margin: 60px 0 0;
}

.block-texto-simple#LEGAL p {
    width: 100%;
    max-width: 100%;
    text-align: left;
    /*font-size: 16px;*/
    font-size: 1em;
    color: black;
    font-weight: 400;
    margin-bottom: 40px;
}

.block-texto-simple#LEGAL h2{
    font-weight: 600;
    /*font-size: 28px;*/
    font-size: 1.75em;
    margin-bottom: 20px;
}

.block-texto-simple#LEGAL h3{
    font-weight: 500;
    /*font-size: 23px;*/
    font-size: 1.5em;
    margin-bottom: 10px;
}
#LEGAL table {
    max-width: 600px;
}
#LEGAL table td {
    border: 1px solid #cecece;
    border-collapse: collapse;
    padding: 10px;
    font-size: 14px;
    font-size: 0.875em;
}

.block-image-slider-wrap-text h2{
    text-align: left;
    font-size: 20px;
    font-size: 1.25em;
    line-height: 140%;
    font-weight: 600;
}
.block-image-slider p{
    /*opacity: .5;*//*--AA--*/
    /*font-size: 16px;*/
    font-size: 1em;
    line-height: 140%;
    font-weight: 400;
    margin: 0;
    color: #555;
}




#ESTUDIO p{
    color: #555;
    font-weight: 400;
}



.custom-buttons {
    position: absolute;
    top: 0;
    z-index: 2;
    width: 100%;
    display: flex;
    justify-content: center;
    width: 400px;
    left: 50%;
    margin-left: -200px;
    height: 60px;
    top: 30px;
}
.custom-buttons:before{
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    content: "";
    background: #7b7472d9;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(6px);
    transition: all .2s ease;
    border-radius: 10px;
}
.custom-buttons button{
    background: transparent;
    color: white;
    border: none;
    outline: none;
    padding: 0 16px;
}


#homeTrio .row-1a{
    padding: 80px 0 40px 0;  
}
#homeTrio .row-1b .block-txtcols-col {
    padding: 40px 40px;
    border-radius: 20px;
    padding-top: 150px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    color: white;
   
}
#homeTrio h3{
    margin-bottom: 30px;
}
#homeTrio p{
    /*opacity: .6;*/ /*--AA--*/
    font-weight: 400;
    line-height: 120%;
    /*font-size: 15px;*/
    font-size: 1em;
}

#homeTrio .row-1b .block-txtcols-col:nth-child(1){
    background: #3E3E3E;
    background-image: url(../pics/icon-1.png);
    background-repeat: no-repeat;
    background-position: 30px 40px;
    background-size: 60px;
}

#homeTrio .row-1b .block-txtcols-col:nth-child(2){
    background: #565656;
    background-image: url(../pics/icon-2.png);
    background-repeat: no-repeat;
    background-position: 40px 30px;
    background-size: 40px;
}

#homeTrio .row-1b .block-txtcols-col:nth-child(3){
    background: #8B8B8B;
    background-image: url(../pics/icon-3.png);
    background-repeat: no-repeat;
    background-position: 38px 34px;
    background-size: 60px;
}

.block-contacto-imagen-bg .wrapper{
    min-height: 600px;
    background-repeat: no-repeat;
    /*background-size: contain;*/
    background-size: 620px;
    background-position: center;
    background-color: #2a2a2a;
}




.btn-contacto{
    background-color: #f1f1f1;
    background-image: url(../pics/contacto.png);
    background-repeat: no-repeat;
    background-position: center right 10px;
    background-size: 50px;
    color: #313131;
    border-radius: 100px;
    width: 340px;
    height: 70px;
    text-align: left;
    padding: 0 33px;
    font-weight: 600;
    font-size: 20px;
   font-size: 1.25em;
}

.btn-contacto:hover{
    background-color: #e0e0e0;
}

.block-contacto-imagen-bg .wrapper .btn-contacto{
    position: absolute;
    bottom: 40px;
    right: 40px;
    width: 240px;
}

#ESTUDIO .col-claim {
    text-align: left;
}
#ESTUDIO .col-ord-txt-wrap p{
    /*opacity: .5;*/
}


.navbar-toggler{
    width: 50px;
    height: 50px;
    position: fixed;
    top: 20px;
    right: 20px;
    background: white;
    border-radius: 60px;
    box-shadow: 0px 0px 10px #00000021;
}
body.offcanvas-open .navbar-toggler{
  right: 35px;
}
#miOffcanvas{
    display: flex;
    align-items: center;
    justify-content: center;
}
.btn-close:focus,
.btn-close:active:focus,
.btn-close.focus {
    outline: none;
    box-shadow: none;
}

.offcanvas-backdrop {
    background-color: rgba(0, 0, 0, 0.6);
    top: 0;
    left: 0;
    width: 100%;
    display: block;
    visibility: visible;
    height: 100%;
    width: 100%;
    position: fixed;
    z-index: 9;
    backdrop-filter: blur(3px);
}


.navbar-toggler:hover{
    background: #efefef;
}
.offcanvas-header {
    background-color: #fff;
    border-bottom: #fff !important;
}
.offcanvas-body {
    padding: 1rem 1.5rem;
}
.offcanvas-body .menu-item a {
    background: #e9e9e9cc;
    font-family: 'Urbanist';
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.mobile-menu-container ul li a:hover {
    background-color: #e9e9e9cc;
    color: black;
    transform: translateX(0px);
}



.modal-header .btn-close {
    opacity: 1;
    POSITION: ABSOLUTE;
    TOP: 40px;
    RIGHT: 40PX;
}


/*-------legal check ------*/

.pro-form-full {
    text-align: left;
    display: block;
    margin-bottom: 10px;
}
.pro-form-check {
    display: block;
    line-height: 120%;
}
.pro-form-full .pro-form-check span {
    /*max-width: 90%;*/
    line-height: 100%;
    font-size: 11px;
    vertical-align: top;
    color: #6c6c6c;
}
.pro-form-full .pro-form-check .wpcf7-form-control-wrap, .pro-form-full .pro-form-check span {
    display: inline-block;
    vertical-align: top;
    margin-left: 0px;
}
.pro-form-full .pro-form-check span.textocheck {
    padding-left: 8px;
    padding-top: 2px;
    font-weight: 400;
}
.pro-form-full .pro-form-check span.textocheck a{
    color: #6c6c6c;
}
.wpcf7-list-item .wpcf7-list-item-label{
    padding-left: 8px;
     font-weight: 400;
}

/*/////////////////////////////////////////////////////*/
/*/////////////////////////////////////////////////////*/
/*////////////////// LEGAL BOX //////////////////////*/
/*/////////////////////////////////////////////////////*/
/*/////////////////////////////////////////////////////*/

.rsb-form-row{
    margin-top: -10px;
}

.legal-box {
    height: 54px;
    height: auto;
    overflow-y: scroll;
    /* border: 1px solid #efefef; */
    border: none;
    padding: 0 0px;
        color: #000000bf;
    margin-bottom: 10px;
}


.legal-box::-webkit-scrollbar {
  -webkit-appearance: none; }

.legal-box::-webkit-scrollbar:vertical {
    width: 8px; 
    background-color: rgba(0, 0, 0, 0.01); 
    border-radius: 8px;
}

.legal-box::-webkit-scrollbar:horizontal {
  height: 11px; }

.legal-box::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 2px solid #F6F4F2;
  border: none;
  background-color: rgba (0, 0, 0, 1);
}

.rsb-form-row .legal-box div, .rsb-form-row .legal-box p {
    opacity: .6;
    font-size: 10px;
    margin-bottom: 0;
    font-weight: 400;
    letter-spacing: 0;
    font-family: 'Inter', sans-serif;
    line-height: 140%;
}

.rsb-form-row .legal-box a{
    color: #0000008a;
    text-decoration: underline;
}
.rsb-form-row .legal-box a:hover{
    color: #0000008a;
    text-decoration: none;
}

small {
    font-weight: 400;
    max-width: 90%;
    line-height: 100%;
    font-size: 11px;
    vertical-align: top;
    color: #6c6c6c;
}

/*/////////////////////////////////////////////////////*/
/*/////////////////////////////////////////////////////*/




@media screen and (max-width: 990px) {
    
    .logo-top {
        width: 180px;
        margin: 10px;
    }
    
    #HomeHeroSlider .swiper-slide .slider-bg {
        min-height: 530px;   
    }

    #HomeHeroSlider .max-200 {
        max-width: 150px;
    }
    
    
    #ESTUDIO .row {
        display: flex;
    }
    #ESTUDIO .col-ord-img {
        order: 2;
    }
    #ESTUDIO .col-ord-txt {
        order: 1;
        margin-bottom: 40px;
    }

    
    h2 {
        font-size: 32px;
    }
    
    
    .block-txtcols-num-3 {
        grid-template-columns: repeat(1, 100%);
        grid-gap: 30px 3%;
    }
    .block-contacto-imagen-bg .wrapper {
        background-size: 90%;
    }
    
    .custom-buttons {
        position: relative;
        width: auto;
        height: auto;
        top: 0;
        flex-wrap: wrap;
        display: block;
        left: 0;
        margin: 0;
        margin-bottom: 20px;
    }
    .custom-buttons button {
        padding: 10px 16px;
        padding: 10px 16px;
        border-bottom: 1px solid #ffffff52;
        width: 100%;
    }
    .BigImageSwiper .hero-wrap {
        min-height: 400px;
    }
    .hero-spacer {
        height: 400px;
    }
    .GaleriaSwiper, .GaleriaSwiper .swiper-wrapper {
        max-height: 350px;
    }
    .rounded-xxxl {
        border-radius: 20px;
    }
    
    #SBOXfooter {
        padding: 20px 20px;
    }
    #SBOXfooter p {
        font-size: 15px;
    }
    
}







