/* ==========================================================================
 Author's Variables
========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@1,14..32,100..900&display=swap');


:root{
    --cubic: cubic-bezier(0.33, 1, 0.68, 1);
    --beige:#F1E8DF;
    --red:#F55D48;
    --raisin:#2A2521;
    --text: "Inter", sans-serif;
}

#master{
	position: relative;
	width: 100vw;
	padding: 0;
	margin: 0; 
	overflow-x:hidden;
	z-index: 4;
    
}
#smooth-wrapper{
    margin: 0;
}
body{
    overflow-y: hidden;
    height: 100vh;
}
body *{
    font-family: var(--text);
}
body.dom-is-loaded{
    overflow-y: visible;
    height: auto;
}



header.wp-block-group{
    position: fixed;
    top:0;
    width: 100vw;
    left: 0;
    background-color: white;
    padding: 0.5rem 0 0.5rem !important;
    z-index: 20;
    box-sizing: border-box;
    box-shadow: rgba(205, 211, 217, 0.2) 0px 8px 24px;
    transition: background-color 0.3s ease;
}
li a, p a, h2 a,h3 a,h4 a,h5 a,h6 a{
    position: relative;
    color: var(--raisin) !important;
    text-decoration: none !important;
}
li a::after, p a::after,h2 a::after,h3 a::after,h4 a::after,h5 a::after,h6 a::after,.trp-language-item::after{
    content:'';
    height: 1px;
    background-color: var(--raisin);
    width: 100%;
    position: absolute;
    bottom:0;
    left:0;
    transition: all 0.3s;
    transform-origin: 0 0;
    transform: scaleX(0);
}
.trp-language-item::after{
    bottom: 7px;
}

li a:hover::after, p a:hover::after,h2 a:hover::after,h3 a:hover::after,h4 a:hover::after,h5 a:hover::after,h6 a:hover::after,.trp-language-item:hover::after{
    transform: scaleX(1);   
}

p{
    font-family: var(--text) !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 0.20px;
}
h1, h2, h3, h4, h5, h6{
    font-family: var(--text) !important;
}
.home nav ul li a,.single-project nav ul li a, .page-id-146 nav ul li a{
    color: white !important;
}
.main-logo path,.main-nav ul li a{
    transition: all 0.3s;
}
.home .main-logo path,.single-project .main-logo path,.page-id-146 .main-logo path{
    fill: white !important;
}
.home footer nav ul li a,.single-project footer nav ul li a,.page-id-146 footer nav ul li a{
    color: var(--raisin) !important;
}
.home .main-nav ul li a::after,.single-project .main-nav ul li a::after,.page-id-146 .main-nav ul li a::after {
    background-color: white !important;
}
.home .trp-language-item::after,.single-project .trp-language-item::after,.page-id-146 .trp-language-item::after {
    background-color: white !important;
}
.home header.wp-block-group,.single-project header.wp-block-group,.page-id-146 header.wp-block-group{
    background-color: transparent !important;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 0px 0px !important;
}
.home header.wp-block-group .trp-language-item-name,.single-project header.wp-block-group .trp-language-item-name,.page-id-146 header.wp-block-group .trp-language-item-name{
    color: white !important;
}
.home.open-menu header.wp-block-group .trp-language-item-name,.single-project.open-menu header.wp-block-group .trp-language-item-name,.page-id-146.open-menu header.wp-block-group .trp-language-item-name{
    color: var(--raisin) !important;
}

/* Scrolled */
.home header.scrolled header.wp-block-group,.single-project header.scrolled header.wp-block-group,.page-id-146 header.scrolled header.wp-block-group{
    background-color: white !important;
    box-shadow: rgba(149, 157, 165, 0.2) 0px 0px 0px !important;
}
.home header.scrolled .main-nav ul li a,.single-project header.scrolled .main-nav ul li a, .page-id-146 header.scrolled .main-nav ul li a{
    color: var(--raisin) !important;
}
.home header.scrolled .main-nav ul li a::after,.single-project header.scrolled .main-nav ul li a::after,.page-id-146 header.scrolled .main-nav ul li a::after,header.scrolled .trp-language-item:hover::after {
    background-color: var(--raisin) !important;
}

.home header.scrolled .main-logo path,.single-project header.scrolled .main-logo path,.page-id-146 header.scrolled .main-logo path{
    fill: var(--raisin) !important;
}
.home header.scrolled .trp-language-item-name,.single-project header.scrolled .trp-language-item-name,.page-id-146 header.scrolled .trp-language-item-name{
     color: var(--raisin) !important;
}

.trp-language-switcher {
    padding: 0 !important;
}
.trp-language-item{
    position: relative;
    top: 2px;
    padding: 7px 10px !important;
    margin-left: 10px;
}
.trp-shortcode-switcher__wrapper p{
    display: none !important;
    margin: 0 !important;
}


.title-white a{
    color: white !important;
}
.title-white a::after{
     background-color: white !important;
}
nav ul li a{
    font-family: var(--text) !important;
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
}
.trp-language-item-name{
    font-family: var(--text) !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 300 !important;
    line-height: normal !important;
}
footer nav ul li a{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.36px;
}
.landing-cover{
    padding:3rem 2% !important;
}
.landing-cover .wp-block-cover__inner-container{
    width:100% !important;
}
.landing-services-internal{

}
.values-cover{
    padding:3rem 2% !important;
}

h2{
    font-family: var(--text) !important;
    font-size: 82px !important;
    font-style: italic;
    font-weight: 300;
    line-height: normal;
    letter-spacing: -1.64px;
}
h3{
    font-size: 42px !important;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.84px;
}
h3 a{
    color: #2A2521;
}
.landing-home h3{
    font-size: 32px !important;
}
h4{
    font-size: 30px !important;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
h4 a{
    color: #2A2521;
}
time a{
    color: #2A2521;
}
h5{
    color: #2A2521;
    font-size: 24px !important;
    font-style: italic;
    font-weight: 500;
    line-height: normal;
}
h6{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 18px !important;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: uppercase;
}
h6 a{
    color: #2A2521;
}

.short-text{
    width: 50%;
}
.padding-top-bottom{
    padding-top: 8rem;
    padding-bottom: 8rem;
}
.landing-padding-top-bottom{
    padding-top: 13rem;
    padding-bottom: 3rem;
}
.single-padding-top-bottom{
    padding-top: 8rem;
    padding-bottom: 6rem;
}
.padding-top-bottom-small{
    padding-top: 4rem;
    padding-bottom: 4rem;
}
.footer-padding-top-bottom{
    padding-top: 9rem;
    padding-bottom: 4rem;
}
.padding-top{
    padding-top: 5rem !important;
}
.step-padding-top-bottom{
    padding-top: 4rem;
    padding-bottom: 6rem;
}
.margin-bottom{
    margin-bottom: 8rem;
}
.services-cover{
    padding:3rem 2% !important;
}
.date-text{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 11px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.22px;
    text-transform: uppercase;
}
.posts-ul ul li{
    border-bottom: 1px solid #CECECE;
    padding: 1rem 2rem;
}
.home .posts-ul ul li:last-child{
    border-bottom: 0 none;
}
.post-excerpt{
    font-size: 14px;
    font-weight: 300;
}

.vertical-post-column{
    margin-right: 10% !important;
    /* flex-basis: 35% !important; */
}
.wp-block-post-excerpt__more-text{
    text-align: right;
}
.wp-block-post-excerpt__more-text a{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.26px;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
    text-transform: uppercase;
}
.wp-block-post-author__byline{
    font-weight: 600;
}
.wp-block-post-author__name{
    font-size: 11px;
}
.wp-block-post-author__avatar img{
    border-radius: 100%;
}
.contact-box-footer{
    margin-bottom: 50px;
}
.mini-contact-title{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 11px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    letter-spacing: 0.22px;
    text-transform: uppercase;
}
.mada-project-meta{
    color: #2A2521;
}
/* .padding-top{
    padding-top: 8rem;
} */


.custom-columns{
    gap:5vw;
}
.project-excerpt{
    font-family: var(--text) !important;
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 140%;
}
.services-provided-list{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0 !important;
}
.services-provided-list li{
    display: inline-block;
    border-left: 1px solid var(--beige);
}
.services-provided-list li:last-child{
    border-right: 1px solid var(--beige);
}
.services-provided-list li a{
    display: inline-block;
    padding: 30px 60px;
    text-decoration: none;
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 20px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    position: relative
}
.services-provided-list li a::before{
    content:'';
    background-color: var(--beige); 
    transition: all 0.3s;
    transform: scaleX(0);
    width: 100%;
    height: 100%;
    position: absolute;
    top:0;
    left:0;
    transform-origin: 0 0;
    mix-blend-mode: multiply;
}   
.services-provided-list li a:hover::before{
    transform: scaleX(1);
}
.mini-margin-top{
    margin-top: 5rem !important;
}
.tiny-margin-top{
    margin-top: 3rem !important;
}
.mini-margin-bottom{
    margin-top: 3rem;
}
.post-navigation-link__label{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 14px;
    font-style: italic;
    font-weight: 700;
    line-height: normal;
    letter-spacing: -0.28px;
    margin-bottom: 10px;
    display: block;
}
.post-navigation-link__label + a{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
}
.project-date,.project-date a{
    color: #AEAEAE;
    font-family: var(--text) !important;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    text-decoration: none;
}
.project-landscape{
    margin-bottom: 5rem;
}
.project-landscape:last-child{
    margin-bottom: 0;
}
.project-landscape .info{
    width: 100%;
}
.wpgmza_infowindow_address{
    display: none;
}
.wpgmza_map .leaflet-popup .leaflet-popup-content-wrapper{
    border-radius: 20px !important;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.25);
}
.leaflet-container a.leaflet-popup-close-button{
    font: 30px / 16px Tahoma, Verdana, sans-serif !important;
}
.leaflet-container a.leaflet-popup-close-button{
    padding: 11px !important;
}
.wpgmza_infowindow_title{
    color: var(--red);
    font-family: var(--text) !important;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    padding: 5px;
    box-sizing: border-box;
    border: 1px solid var(--red);
    border-radius: 5px;
    display: inline-block;
    margin-bottom: 0 !important;
    margin-top: 0 !important;
    
}
.wpgmza_infowindow_categories{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    margin: 10px 0 !important;
}
.step-text{
    color: #9DA5A7;
    font-family: var(--text) !important;
    font-size: 16px;
    font-style: italic;
    font-weight: 500;
    line-height: normal;
    text-transform: uppercase;
}
.step-title{
    margin-bottom: 4rem;
}

.internal-process{
    margin-bottom: 40px;
}
.query-container{

}
.step-title{
    padding-top: 1rem;
}
.query-container h5{
    margin: 0 !important;
}
.explore-insight{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 12px;
    font-style: italic;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.20px;
}
.query-container h5 a{
    color: var(--raisin);
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 14px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    letter-spacing: 0.20px;
    text-decoration: underline;
}
.insight-block{
    display: inline-block;
}
strong{
    font-weight: 600 !important;
}
.aab__accordion_title{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 24px;
    font-style: italic;
    font-weight: 500;
    line-height: normal;
}
.aab__accordion_component{
    padding-top: 30px;
    padding-bottom: 30px;
}
.wp-block-aab-accordion-block{
    border:0 none !important;
    box-shadow: 0 0 0 !important;
    border-bottom: 1px solid var(--raisin) !important;
    border-radius: 0 !important;
}
.pin-column{
    padding-bottom: 2rem !important;
}
.padding-all{
    padding: 5rem 8vw;
}
.pin-group{
    width: 70%;
}
.half-width{
    width: 60%;
    margin: 0 !important;
}
.seventy-width{
    width: 70%;
}
.before-after-group{
    max-width: 80% !important;

}
.value-box{
    padding: 20px;
    border-radius: 20px;
    transition: all 0.3s;
    transform: scale(1);
}
.value-box:hover{
    transform: scale(1.03);
}

.page-id-148 .posts-ul ul.wp-block-post-template{
    gap:7vw;
}

.big-contact-box{
    margin-bottom: 5rem;
}
.big-contact-box a{
   color: #2A2521;
    font-family: var(--text) !important;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.52px;
}
.big-contact-box p{
    font-size: 22px;
}

.blog-container .wp-block-columns{
    gap:7vw;
    margin-bottom: 4rem;
}
.team-landing{
    position: relative;
}
.floating{
    position: absolute !important;
    bottom:40px;
    left:7.5%;
}
.qi-block-before-after .qodef-m-handle-text{
    text-align: center !important;
    font-weight: 300 !important;
    cursor: grabbing;
}
.value-title{
    color: #FFF;
    font-family: var(--text) !important;
    font-size: 18px;
    font-style: italic;
    font-weight: 400;
    line-height: normal;
}

/* Preloader */
.landing-home{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 0 !important;
}
.landing-cover{
    margin: 0 !important;
}
.wp-block-cover{
    width: 100%;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.landing-home video{
    transform: scale(0.25);
    z-index: 1;
}
.landing-home .left-curtain,.landing-home .right-curtain{
    position: absolute;
    width: 50%;
    background-color: var(--beige);
    /* background-color: red; */
    height: 100%;
    z-index:2;
    margin: 0 !important;
}
.landing-home .left-curtain{
    left: 0;
    top:0;
}
.landing-home .right-curtain{
    right: 0;
    top:0;
}
.landing-home .half-curtain{
    position: absolute;
    height: 40%;
    background-color: var(--beige);
    bottom: 0;
    left:0;
    width: 100%;
    z-index:4;
}
.landing-home .wp-block-cover__background{
    opacity: 0 !important;
}
.landing-home .wp-block-cover__inner-container{
    z-index: 5;
}
.preloader-isotype{
    position: absolute;
    z-index: 3;
    pointer-events: none;
}
.value-proposition{
    opacity: 0;
}
.landing-home .scroll-down{
    opacity: 0;
}


header.wp-block-group{
    transform: translateY(-150%);
}
#preloader-isotype{
    overflow: visible;
}
.ai, .al{
    overflow: hidden;
}
.ai path{
    transform: translateY(110%);
}
.al path{
    transform: translateY(110%);
}
.big-title{
    overflow: hidden;
}

.main-nav li{
    overflow: hidden;
}
.main-nav li a{
    opacity: 0;
    transition: all 0.3s;
    transform: translateY(-50%);
}
.dom-is-loaded .main-nav li a{
    opacity: 1;
    transform: translateY(0);
}
.main-nav li:nth-child(1) a{
    transition-delay: 30ms;
}
.main-nav li:nth-child(2) a{
    transition-delay: 60ms;
}
.main-nav li:nth-child(3) a{
    transition-delay: 90ms;
}
.main-nav li:nth-child(4) a{
    transition-delay: 120ms;
}
.main-nav li:nth-child(5) a{
    transition-delay: 150ms;
}
.main-nav li:nth-child(6) a{
    transition-delay: 180ms;
}
.main-nav li:nth-child(7) a{
    transition-delay: 210ms;
}
.main-nav li:nth-child(8) a{
    transition-delay: 240ms;
}
.main-nav li:nth-child(9) a{
    transition-delay: 270ms;
}

/* Slogan animation */
.landing-home h1{
    color: #FFF;
    font-family: var(--text) !important;
    font-size: 70px !important;
    font-style: italic;
    font-weight: 300;
    line-height: 120%;
    letter-spacing: -1.64px;
    padding: 0px 3px;
    /* font-size: 50px !important; */
    /* text-transform: uppercase; */
}
.landing-home h3{
    transform: translateY(10px);
}
.ally-transition{
    position: relative;
}
.ally-logo{
    position: absolute;
    bottom:18px;
    left:0;
    display: inline-block;
}
.ally-logo .icon-container{
    width: 120px !important;
}
.ally-logo path{
    display: inline-block;
    /* transform: translateY(100%); */
}
.ally-text {
  overflow: hidden;
  position: relative;
    left: 10px;
}

.ally-text span {
  display: inline-block;
}

/* ESP */
.ally-transition-row.es{
    gap: 12px;
}
.ally-logo.es {
    bottom: 8px;
}
.ally-logo.es .icon-container {
    width: 105px !important;
}
.ally-text.es{
    left: 0;
}
.landing-home h1.es{
    font-size: 42px !important;
}
.landing-home h3.es {
    font-size: 40px !important;
        transform: translateY(0);
}
 .title-company.es{
    transform: translateY(-10px);
 }

.all-width{
    width: 100%;
}

ul.recent-projects-home{
    gap: 50px !important;
}

.desktop-button{
    display: none;
}







/* Mobile */


.mobile-menu{
    position: fixed;
    z-index: 19;
    display: block;
    top:0;
    right: 0;
    height: 100vh;
    width: 30vw;
    padding: 50px;
    transform: translateX(100%);
    pointer-events: none;
    transition: all 0.3s;
    /* display: none; */
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}
.home .mobile-menu nav ul li a, .single-project .mobile-menu nav ul li a, .page-id-146 .mobile-menu nav ul li a {
    color: var(--raisin) !important;
}
.open-menu .mobile-menu{
    transform: translateX(0);
    pointer-events: auto;
}
.truck{
    position: absolute;
    bottom: 30px;
    right: 30px;
    transition: all 0.3s;
    transform: translateX(150%);
     transition-delay: 400ms;
     pointer-events: none;
}
.open-menu .truck{
    transform: translateX(0);
}
.internal-nav li{
    transition: all 0.3s;
    opacity: 0;
    transform: translateX(100px);
}
.open-menu .internal-nav li{
    transform: translateX(0);
    opacity: 1;
}
.internal-nav li a{
    font-size: 25px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration: none;
    position: relative;
    transition: all 0.3s;
    transform: translateX(0);
}
.internal-nav li:nth-child(1){
    transition-delay: 30ms;
}
.internal-nav li:nth-child(2){
    transition-delay: 60ms;
}
.internal-nav li:nth-child(3){
    transition-delay: 90ms;
}
.internal-nav li:nth-child(4){
    transition-delay: 120ms;
}
.internal-nav li:nth-child(5){
    transition-delay: 150ms;
}
.internal-nav li:nth-child(6){
    transition-delay: 180ms;
}
.internal-nav li:nth-child(7){
    transition-delay: 210ms;
}
.internal-nav li:nth-child(8){
    transition-delay: 240ms;
}
.internal-nav li:nth-child(9){
    transition-delay: 270ms;
}
.internal-nav li a:hover{
    transform: translateX(10px);
}


/* Toggle */
.nav-toggle{
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: space-around;
    flex-wrap: wrap;
    text-decoration: none !important;
    cursor: pointer;
    width: 80px;
    height: 60px;
    transition: all 0.3s;
    border-radius: 10px;
    z-index: 20;
    position: relative;
    display: none;
}

.nav-toggle span {
    background-color: var(--raisin) !important;
    width: 40%;
    height: 1px;
    border-radius: 1px;
    display: block;
    position: absolute;
    left: 25px;
    content: '';
    -webkit-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}
.open-menu .nav-toggle span{
    background-color: var(--raisin) !important;
}

.home .nav-toggle span,.single-project .nav-toggle span,.page-id-146 .nav-toggle span{
   background-color: white !important;
}
/* Scrolled */
.home header.scrolled .nav-toggle span,.single-project header.scrolled .nav-toggle span,.page-id-146 header.scrolled .nav-toggle span{
    background-color: var(--raisin) !important;
}
.home.open-menu .nav-toggle span, .single-project.open-menu .nav-toggle span, .page-id-146.open-menu .nav-toggle span{
    background-color: var(--raisin) !important;
}

.nav-toggle span:nth-child(1) {
    top: 22px;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}
.nav-toggle span:nth-child(2) {
    top: 29px;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

.nav-toggle span:nth-child(3) {
    top: 36px;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}
.open-menu .nav-toggle span:nth-child(1) {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 16px;
    left: 29px;
}
.open-menu .nav-toggle span:nth-child(2) {
    width: 0%;
    opacity: 0;
}
.open-menu .nav-toggle span:nth-child(3) {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    top: 39px;
    left: 28px;
}


/* Scroll Down */
#scroll-down {
    display: block;
    position: relative;
    padding-top: 29px;
  text-align:center;
  opacity: 0;
}
.arrow-down {
    display: block;
    margin: 0 auto;
    width: 10px;
    height: 38px;
}
.arrow-down:after {
    content: '';
    display: block;
    margin: 0;
    padding: 0;
    width: 8px;
    height: 8px;
    border-top: 1px solid #CECECE;
    border-right: 1px solid #CECECE;
    behavior: url(-ms-transform.htc);
    -moz-transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
}
#scroll-title {
    display: block;
    text-transform: uppercase;
    color: #CECECE;
    font-size:14px;
    font-weight:300;
    letter-spacing:.1em;
}
#scroll-down::before {
    -webkit-animation: elasticus 4s cubic-bezier(1, 0, 0, 1) infinite;
    /* Safari 4+ */
    
    -moz-animation: elasticus 4s cubic-bezier(1, 0, 0, 1) infinite;
    /* Fx 5+ */
    
    -o-animation: elasticus 4s cubic-bezier(1, 0, 0, 1) infinite;
    /* Opera 12+ */
    
    animation: elasticus 4s cubic-bezier(1, 0, 0, 1) infinite;
    /* IE 10+, Fx 29+ */
    
    position: absolute;
    top: 0px;
    left: 50%;
    margin-left: -0.5px;
    width: 1px;
    height: 40px;
    background: #CECECE;
    content: ' ';
}
@-webkit-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@-moz-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@-o-keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}
@keyframes elasticus {
    0% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
    50% {
        -webkit-transform-origin: 0% 0%;
        -ms-transform-origin: 0% 0%;
        -moz-transform-origin: 0% 0%;
        -o-transform-origin: 0% 0%;
        transform-origin: 0% 0%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    50.1% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 1);
        -ms-transform: scale(1, 1);
        -moz-transform: scale(1, 1);
        -o-transform: scale(1, 1);
        transform: scale(1, 1);
    }
    100% {
        -webkit-transform-origin: 0% 100%;
        -ms-transform-origin: 0% 100%;
        -moz-transform-origin: 0% 100%;
        -o-transform-origin: 0% 100%;
        transform-origin: 0% 100%;
        -webkit-transform: scale(1, 0);
        -ms-transform: scale(1, 0);
        -moz-transform: scale(1, 0);
        -o-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}

.wp-block-button__link{
    font-family: var(--text) !important;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    letter-spacing: 0.26px;
    text-transform: uppercase;
    border-radius: 5px;
    padding:15px 30px;
    box-sizing: border-box;
     transition: all 0.3s;
}
.wp-block-button__link:hover{
    padding:15px 40px 15px 30px;
}
.wp-block-button::after{
    content:'';
    position: absolute;
    right: 26px;
    top: 17px;
    display: inline-block;
    width: 12px;
    height: 12px;
    background-image: url('../images/arrow.svg');
    background-size: 100%;
    transition: all 0.3s;
    transform: translateX(0);
    opacity: 0;
}
.wp-block-button:hover::after{
    transform: translateX(5px);
    opacity: 1;

}
.wp-block-button{
    position: relative;
}
.contact-link-footer{
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 42px;
    font-style: italic;
    font-weight: 500;
    line-height: normal;
    letter-spacing: -0.84px;
}

.title-company{
    transform: translateY(15px);
    color: #2A2521;
    font-family: var(--text) !important;
    font-size: 22px;
    font-style: italic;
    font-weight: 400;
    line-height: normal;
    position: relative;
    top:5px;
}
.title-company.es{
    transform: translateY(-10px);
}

.project-landing{
    position: relative;
}
.wpzoom-video-popup-block{
    position: absolute !important;
    width: 100vw !important;
    height: 100vh !important;
    top:0;
    left:0;
}
.wpzoom-video-popup-block_icon{
    background-color:#F55D48;
    width: 70px !important;
    height: 70px !important;
    padding: 25px;
    border-radius: 100%;
    transition: all 0.3s;
    outline: 0 none;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
    animation: pulse 2s infinite;
    -webkit-transition: opacity 0.3s, -webkit-transform 0.5s var(--cubic);
    -moz-transition: opacity 0.3s, transform 0.5s var(--cubic);
    -ms-transition: opacity 0.3s, transform 0.5s var(--cubic);
    -o-transition: opacity 0.3s, transform 0.5s var(--cubic);
    transition: opacity 0.3s, transform 0.5s var(--cubic), -webkit-transform 0.5s var(--cubic);
} 
.wpzoom-video-popup-block_icon svg path{
    fill:white;
}
@keyframes pulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    }

    70% {
        transform: scale(1);
        box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    }

    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    }
}
.short-cover{
    position: relative;
    padding: 0 !important;
}
.wpzoom-video-popup-block.short-opener{
    position: absolute;
    width: 100% !important;
    height: 150px !important;
    margin: 0 !important;
    top: -75px !important;
    left: 0 !important;
    align-items: center;
}
.short-opener .wpzoom-video-popup-block_icon{
    width: 50px !important;
    height: 50px !important;
    padding: 17px;
}


.wp-block-post-featured-image{
    overflow: hidden;
}
.wp-block-post-featured-image img{ 
    transform: scale(1);
    transition: all 0.8s;
    will-change: transform;
}
.wp-block-post-featured-image:hover img{
    transform: scale(1.03);
}
.galleries-container .wp-block-gallery.has-nested-images{
    gap: 50px;
    flex-wrap: nowrap;
    margin-bottom: 50px;
}
.wp-block-gallery figure{
    overflow: hidden;
}
.wp-block-gallery figure img{
     transform: scale(1);
    transition: all 0.8s;
    will-change: transform;
}
.wp-block-gallery figure:hover img{
    transform: scale(1.03);
}
.internal-spacer{
    height: 0 !important;
    margin: 0 !important;
}


/* Cursor */
.cursor-takeover {
  width: 100%;
  /* height: 100%; */
  left: 0;
  top: 0;
  position: fixed;
  pointer-events: none;
  cursor: none;
  z-index: 10000; }

.cursor-takeover-cursor {
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0; }

.cursor-style {
  visibility: hidden;
  position: absolute;
  opacity: 0;
  -webkit-transform: scale3d(0, 0, 0);
  transform: scale3d(0, 0, 0);
  -webkit-transition-property: opacity,-webkit-transform,width,height,border;
  transition-property: opacity,-webkit-transform,width,height,border;
  transition-property: opacity,transform,width,height,border;
  transition-property: opacity,transform,-webkit-transform,width,height,border;
  -webkit-transition-duration: .25s;
  transition-duration: .25s;
  border-radius: 100%;
  -webkit-transition-timing-function: cubic-bezier(0.57, 0.21, 0.69, 1.25);
  transition-timing-function: cubic-bezier(0.57, 0.21, 0.69, 1.25);
  will-change: opacity,transform; }

.load-cursor .cursor-style {
  visibility: visible; }

.cursor-style.active {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1); }

.visit, .explore, .play, .open, .see{
  width: 70px;
  height: 70px;
  /* left: 3.5rem;
  top: 3.5rem; */
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.5px;
  line-height: 110%;
  color: white;
  z-index: 50;
  text-transform: uppercase;
  font-family: var(--text);
  background-color: var(--raisin);
  -webkit-display: -webkit-box;
  -webkit-display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center; }

.go span, .im span, .se span {
  display: inline-block; }

.dot {
  width: 7px;
  height: 7px;
  background-color: var(--raisin); }

.dot.bigger {
  -webkit-transform: scale3d(1, 1, 2);
  transform: scale3d(1, 1, 2); }

.disc {
  border-radius: 50%;
  width: 50px;
  height: 50px;
  border: 1px solid var(--raisin);
  left: 0;
  top: 0;
  background-color: transparent; }

.disc.bigger {
  -webkit-transform: scale3d(1.5, 1.5, 1.5);
  transform: scale3d(1.5, 1.5, 1.5);
  transform-origin: 50% 50%;
  border: 0.5px solid var(--raisin); }

.back-to-top{
    cursor: pointer;
}




/* Animations */
/* Animations */
.load-left-mask::before{
    content: '';
    position: absolute;
    z-index:5;
    top:-2%;
    left:0;
    width: 100%;
    height: 104%;
    background-color:white;
    transform: scaleX(1);
    transform-origin: 0 0;
    transition: transform 0.5s var(--cubic);
    transition-delay: 100ms;
}
.dom-is-loaded .load-left-mask::before{
    transform: scaleX(0);
}

.load-right-mask::before{
    content: '';
    position: absolute;
    z-index:5;
    top:-2%;
    left:0;
    width: 100%;
    height: 104%;
    background-color:white;
    transform: scaleX(1);
    transform-origin: 100% 0;
    transition: transform 0.5s var(--cubic);
    transition-delay: 100ms;
}
.dom-is-loaded .load-right-mask::before{
    transform: scaleX(0);
}

.load-up-mask::before{
    content: '';
    position: absolute;
    z-index:5;
    top:-2%;
    left:0;
    width: 100%;
    height: 104%;
    background-color:white;
    transform: scaleY(1);
    transform-origin: 0 0;
    transition: transform 0.5s var(--cubic);
    transition-delay: 100ms;
}
.dom-is-loaded .load-up-mask::before{
    transform: scaleY(0);
}

.load-down-mask::before{
    content: '';
    position: absolute;
    z-index:5;
    top:-2%;
    left:0;
    width: 100%;
    height: 104%;
    background-color:white;
    transform: scaleY(1);
    transform-origin: 0 100%;
    transition: transform 0.5s var(--cubic);
    transition-delay: 100ms;
}
.dom-is-loaded .load-down-mask::before{
    transform: scaleY(0);
}
.load-fade{
    opacity: 0;
}
.dom-is-loaded .load-fade{
    opacity: 1;
    transition: opacity 0.4s;
    transition-delay: 300ms;
}

.load-scale{
    opacity: 0;
    transform: scale(0.95);
    transition: all 0.3s var(--cubic);
    transition-delay: 300ms;
}
.dom-is-loaded .load-scale{
    opacity: 1;
    transform: scale(1);
}

.load-title{
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.4s;
}
.dom-is-loaded .load-title{
    transform: translateY(0);
    opacity: 1;
}

.load-text{
    opacity: 0;
}
.dom-is-loaded .load-text{
    opacity: 1;
    transition: opacity 0.4s;
    transition-delay: 400ms;
}
.anim-fade{
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.4s;
}
.is-active .anim-fade{
    opacity: 1;
    transform: translateY(0);
}

.anim-title{
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.4s;
}
.is-active .anim-title{
    opacity: 1;
    transform: translateY(0);
}

.regular-text{
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.4s;
}
.is-active .regular-text{
    opacity: 1;
    transform: translateY(0);
}

.anim-move{
    opacity: 0;
    transform: translateX(50%);
    transition: all 0.4s;
}
.is-active .anim-move{
    opacity: 1;
    transform: translateY(0);
}

.anim-scale{
    opacity: 0;
    transform: scale(0.9);
    transition: all 0.4s;
}
.is-active .anim-scale{
    opacity: 1;
    transform: scale(1);
}
.delayed{
    transition-delay: 200ms;
}
.delayed-2{
    transition-delay: 300ms;
}
.delayed-3{
    transition-delay: 400ms;
}
.delayed-4{
    transition-delay: 500ms;
}

.anim-button{
    opacity: 0;
    transform: button(0.9);
    transition: all 0.4s;
}
.is-active .anim-button{
    opacity: 1;
    transform: scale(1);
}
.show-up{
    position: relative;
    overflow: hidden;
}
.show-up::before{
    content: '';
    position: absolute;
    z-index:5;
    top:-2%;
    left:0;
    width: 100%;
    height: 104%;
    background-color:var(--beige);
    transform: scaleY(1);
    transform-origin: 0 0;
    transition: transform 0.8s var(--cubic);
    transition-delay: 100ms;
}
.show-up.white::before{
    background-color:white;
}
.is-active .show-up::before{
    transform: scaleY(0);
}

.landing-beige{
    position: relative;
}
.landing-beige::after{
    content:'';
    position: absolute;
    background-color: var(--beige);
    width: 100%;
    height: 100%;
    top:0;
    left:0;
    transition: all 0.6s;
    transform: scaleY(0);
    transform-origin: 100% 100%;
    z-index: -1;
}
.dom-is-loaded .landing-beige::after{
    transform: scaleY(1);
}
.internal-cover-load video{
    position: relative;
    opacity:0;
    transform: scale(1.1);
    transition: all 0.6s;
}
.dom-is-loaded .internal-cover-load video{
    transform: scale(1);
    opacity: 1;
}
.internal-cover-load img{
    position: relative;
    opacity:0;
    transform: scale(1.1);
    transition: all 0.6s;
}
.dom-is-loaded .internal-cover-load img{
    transform: scale(1);
    opacity: 1;
}
.service-holder{
    position:relative;
}
.service-holder::before{
    content:'';
    position: absolute;
    background-color:#CECECE;
    width: 100%;
    height: 1px;
    top:0;
    left:0;
    transition: all 0.6s;
    transform: scaleX(0);
    transform-origin: 0 0;
}
.is-active .service-holder::before{
    transform: scaleX(1);
}

.project-landscape{
    margin-bottom: 5rem !important;
}

.wp-block-wpzoom-video-popup-block-block:not([href]),
.wp-block-wpzoom-video-popup-block-block[href=""] {
  display: none !important;
}