/*** ---------- Block footer ---------- ***/
.wpb-block .wpb-block__footer .container .inner { margin-top: 2.4rem; position: relative; overflow: hidden; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1.6rem; 
    .wpb-text > p { font-size: 1.8rem; font-weight: 500; }
}
.wpb-block .wpb-block__footer .container .inner > .btn-group { margin-left: auto;}

@media(max-width: 767.98px) {
    .wpb-block .wpb-block__footer .container .inner {
        .wpb-text, .seperator { display: none; }
        .btn-group { justify-content: center; width: 100%;}
    }
}

@media(min-width: 768px) {
    .wpb-block .wpb-block__footer .container .inner .seperator { position: relative; flex: 1; height: 1px;
        &::before { content: ''; position: absolute; width: 100%; height: .1rem; background-color: var(--clr-border); top: 50%; left: 0; right: 0;  }
    }
}

@media(min-width: 1200px) {
    .wpb-block .wpb-block__footer .container .inner  { column-gap: 2rem; margin-top: 4.8rem;}
}

/*** ---------- Block: Media ---------- ***/
.wpb-block--media {
    .wpb-image { max-height: 72rem; border-radius: .8rem; overflow: hidden;
        img { width: 100%; height: 100%; object-fit: cover; }
    }
    .wpb-style-elements{
        .wpb-style-element--leaves-top-left{ --w: clamp(18rem, 30vw, 52rem); --h: clamp(12rem, 24vw, 42rem); left: clamp(0rem, 5vw, -5rem); }
    }
}

/*** ---------- Block: FAQ ---------- ***/
.wpb-block--faq { --gc: 1; }
.wpb-block--faq .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); column-gap: 2rem; row-gap: 2rem; }

@media (min-width: 992px) {
    .wpb-block--faq-primary, .wpb-block--faq-secondary { --gc: 2; align-items: start; }
    .wpb-block--faq-primary .container, .wpb-block--faq-secondary .container { column-gap: 3.2rem; }
    .wpb-block--faq-primary .container .wpb-accordion { order: -1; }
}

@media (min-width: 1200px) {
    .wpb-block--faq-primary .container, .wpb-block--faq-secondary .container { column-gap: 6.4rem; }
}

/*** ---------- Block: Blurb ---------- ***/
.wpb-block--blurb .wpb-text { margin-bottom: 2rem; }
.wpb-block--blurb .wpb-card.wpb-card--blurb .wpb-card__header img { aspect-ratio: 16/9; object-fit: cover; }

/*** ---------- Block: Carousel ---------- ***/
.wpb-block.wpb-block--carousel { overflow: hidden; position: relative; 
    .swiper { overflow: visible !important; 
        .wpb-image img { height: 28.5rem; object-fit: cover;}
    }
}

@media(min-width: 992px) {
    .wpb-block.wpb-block--carousel {
        &.wpb-bg-clr--transparent{ --block-bg: #FFFF; }

        &::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 10%; background: linear-gradient(90deg, var(--block-bg, #FFFF) 0%, rgba(255, 255, 255, 0) 100%); z-index: 2; pointer-events: none; }
        &::after { content: ''; position: absolute; top: 0; bottom: 0; right: 0; width: 10%; background: linear-gradient(270deg, var(--block-bg, #FFFF) 0%, rgba(255, 255, 255, 0) 100%); z-index: 2; pointer-events: none; }
        .swiper .wpb-image img { height: 42rem;  }
    }
}

@media(min-width: 1200px) {
    .wpb-block.wpb-block--carousel .swiper .wpb-image img { height: 64rem;  }
}

/*** ---------- Block: Header ---------- ***/
.wpb-header.wpb-header--home { --pt: 23.1rem; background-color: var(--clr-light);
    .wpb-header__inner { position: relative; padding-top: var(--pt); 
        .wpb-text { text-align: center;
            .btn-group { --mt: 2em; }
        }
        .btn-group { justify-content: center; }
    }
    .wpb-header__cta { position: relative; padding-top: 3rem; overflow: hidden;
        .wpb-bg-element--pattern-on-white { background-size: 100%; opacity: 1;}
        .wpb-text { text-align: center; 
            h2{ --fs: var(--fs-h2-v2); text-wrap: pretty; }
        }
        & > img { position: absolute; top: 0; bottom: 0; left: 0; right: 0; background-color: var(--clr-secondary); object-fit: cover; pointer-events: none;}
    }    
}

.wpb-header.wpb-header--subpage { background-color: var(--clr-light); padding-top: 13.2rem; padding-bottom: 6rem;
    .wpb-text { text-align: center;  --mt: 3.2rem;
        h1 { --fs: clamp(3.6rem, 5vw, 10rem); --mt: 3.2rem; }
        .wpb-breadcrumbs > span { justify-content: center; }
        p { justify-self: center; max-width: 96rem; }
    }
    .wpb-bg-element { background-size: 300%; background-position: bottom; height: 150%; }

    &.wpb-header--404{ background: linear-gradient(to bottom, var(--clr-light) 75%, transparent); }
}

@media(max-width: 767.98px) {
    .wpb-header.wpb-header--home .wpb-header__cta > img { height: 11rem; }
}

@media(min-width: 992px) {
    .wpb-header.wpb-header--home { --pt: 45rem; 
        .wpb-header__cta { --mask-height: 38rem; padding-top: 0; 
            .wpb-card--header-cta { margin-top: 10rem; }
        }
    }

    .wpb-header.wpb-header--subpage { padding-top: 22rem; padding-bottom: 12rem;
        .wpb-bg-element { background-size: 200%; }
    }
}

.wpb-header.wpb-header--search form { position: relative; }
.wpb-header.wpb-header--search form [type="submit"] { display: inline-flex; cursor: pointer; user-select: none; padding: 0.25rem 1rem; border: none; background: none; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.wpb-header.wpb-header--search form [type="submit"] img { width: 1.5rem; }

.wpb-header .wpb-header__toolbar { display: flex; align-items: center; gap: 1.6rem; padding-bottom: 2.8rem; }
.wpb-header .wpb-header__toolbar .btn { white-space: nowrap; }
.wpb-header .wpb-header__toolbar .wpb-breadcrumbs { margin: 0; --excerpt-line-clamp: 1; display: -webkit-box; -webkit-line-clamp: var(--excerpt-line-clamp); -webkit-box-orient: vertical; overflow: hidden; }
.wpb-header .wpb-header__toolbar .wpb-breadcrumbs > span > span:not(.breadcrumb_last) { opacity: .65; }


/*** ---------- Block: Tabs ---------- ***/
.wpb-block--tabs .wpb-text { margin-bottom: 2rem; }

/*** ---------- Block: Featured ---------- ***/

@media(max-width: 1199.98px) {
    .wpb-block--featured .wpb-section__body { overflow: hidden;
        .swiper { overflow: visible !important; }
    }
}



/*** ---------- Block: Text Shortcode ---------- ***/
.wpb-block--text-gravityform .container { column-gap: 2rem; row-gap: 2rem; }

@media (min-width: 992px) {
    .wpb-block--text-gravityform .container { column-gap: 3.2rem; }
    .wpb-block--text-gravityform-primary .wpb-card { order: -1; }
}

@media (min-width: 1200px) {
    .wpb-block--text-gravityform .container { column-gap: 6.4rem; }
}

@media (min-width: 1200px) {
    .wpb-block--text-gravityform .container { column-gap: 9.8rem; }
}

/*** ---------- Block: Youtube embed ---------- ***/
.wpb-block--text-video .container { column-gap: 2rem; row-gap: 2rem; }
.wpb-block--text-video .wpb-ratio :is(iframe, img) { border-radius: .5rem; }
.wpb-block--text-video .wpb-ratio .youtube-play { border: none; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 5; cursor: pointer; transition: opacity var(--ts-35) ease; }
.wpb-block--text-video .wpb-ratio .youtube-play img { object-fit: cover; width: 100%; height: 100%; }
.wpb-block--text-video .wpb-ratio .youtube-play .play-icon { position: absolute; top: calc(50% - 3.2rem); left: calc(50% - 3.2rem); display: grid; place-items: center; z-index: 2; background-color: var(--clr-primary); border-radius: 50%; width: 6.4rem; height: 6.4rem; transition: .25s ease; }
.wpb-block--text-video .wpb-ratio .youtube-play .play-icon i { color: rgb(255,255,255); }
.wpb-block--text-video .wpb-ratio:hover .youtube-play .play-icon { transform: scale(1.065); }

@media (min-width: 992px) {
    .wpb-block--text-video .container { column-gap: 3.2rem; }
    .wpb-block--text-video.wpb-block--text-video-primary .wpb-ratio { order: -1; }
}

@media (min-width: 1200px) {
    .wpb-block--text-video .container { column-gap: 6.4rem; }
}

@media (min-width: 1400px) {
    .wpb-block--text-video .container { column-gap: 9.8rem; }
}

/*** ---------- Block: Meili archive ---------- ***/
.wpb-block--meili-archive .container { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem; }

@media (min-width: 992px) {
    .wpb-block--meili-archive .container { grid-template-columns: 25rem 1fr; }
    .wpb-block--meili-archive .btn--filter-toggle { display: none; }
}

/*** ---------- Block: Banner ---------- ***/
.wpb-block.wpb-block--banner {  position: relative; --m-inline: 2rem; 
    .container { --inline-spacing: 3.2rem; }
    .wpb-block__inner {  --pb: 3.2rem; padding-bottom: var(--pb); padding-top: var(--pt); background-color: var(--clr-secondary); position: relative; overflow: hidden; margin-inline: var(--m-inline); border-radius: .8rem;
        *:not(.btn, .btn span, i) { color: #FFF; }
        .wpb-text { z-index: 10; max-width: 44.4rem; }
    }
    .container { z-index: 3; }
    .is-background-image {  overflow: hidden;
        &::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(180deg, rgba(56, 73, 38, 0) 50%, var(--clr-secondary) 100%); z-index: 1;}
    }

 }

@media(max-width: 767.98px) {
    .wpb-block.wpb-block--banner .is-background-image { position: relative; height: 25.2rem; overflow: hidden; margin-bottom: -5rem;}
}

@media(min-width: 768px) {
    .wpb-block.wpb-block--banner { --m-inline: 4rem;
        .wpb-block__inner { --pt: 6.4rem; --pb: 6.4rem; display: grid; place-items: end; }
        .is-background-image {
            &::after { background: linear-gradient(216deg, rgba(56, 73, 38, 0) 45.69%, var(--clr-secondary) 71.64%);}
        }
    }
}

@media(min-width: 992px) {
    .wpb-block.wpb-block--banner { --m-inline: 2rem; 
        .wpb-block__inner { min-height: 70rem; }
    }
}

@media(min-width: 1400px) {
    .wpb-block.wpb-block--banner .wpb-block__inner{ --pt: 12rem; --pb: 12rem; min-height: 86rem; }
}

 @media(min-width: 1800px) {
    .wpb-block.wpb-block--banner { --m-inline: 12rem; }
 }

/*** ---------- Block: Featured Realisations ---------- ***/
.wpb-block.wpb-block--featured-realisations { 
    .wpb-block__inner { overflow: hidden; 
        .swiper { overflow: visible; }
    } 
}

/*** ---------- Block: Team ---------- ***/
.wpb-block.wpb-block--team { --gc: 1;
    .inner { display: grid; row-gap: 2.4rem; column-gap: 1.2rem; grid-template-columns: repeat(var(--gc), minmax(0, 1fr));}
}

@media(min-width: 768px) {
    .wpb-block.wpb-block--team { --gc: 2; }
}

@media(min-width: 992px) {
    .wpb-block.wpb-block--team { --gc: 3; }
}

@media(min-width: 1600px) {
    .wpb-block.wpb-block--team { --gc: 4;  }
}

/*** ---------- Block: Archive ---------- ***/
.wpb-block.wpb-block--archive { --gc: 1;
    .inner { display: grid; row-gap: 2.4rem; column-gap: 1.2rem; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); }
    .card-container .wpb-card { height: 100%; }
}

@media(min-width: 768px) {
    .wpb-block.wpb-block--archive { --gc: 2; }
}

@media(min-width: 992px) {
    .wpb-block.wpb-block--archive { --gc: 3; }
}

/*** ---------- Block: Vacancies ---------- ***/
.wpb-block.wpb-block--vacancies {
    .inner { display: grid; row-gap: 1.2rem; }
    .wpb-block__header .container { justify-content: center; }
}

/*** ---------- Block: Text Team ---------- ***/
.wpb-block--text-team{ overflow-x: clip;
    .wpb-team-members { display: grid; row-gap: 2.4rem; }
}

@media(min-width: 992px) {
    .wpb-block--text-team {
        .container { position: unset; }
        .wpb-team-members { display: flex; gap: 1.2rem; width: max-content; 
            &::after { content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 25%; background: linear-gradient(90deg, #F9F3EE 0%, rgba(249, 243, 238, 0) 100%); z-index: 10; transform: rotate(180deg); }
            .wpb-card { max-width: 41.1rem; }
        }
    }


}


