.wpb-block .wpb-content { --border-clr: var(--clr-porcelain); display: flex; flex-direction: column; gap: 2.8rem;
    &.wpb-bg-clr--secondary { --border-clr: #ffffff20; }
    &.wpb-bg-clr--transparent {--p: 0; }

    .wpb-text { font-size: 1.8rem;
        :is(h2) {--fs: clamp(2.6rem, 3.6vw, 4.8rem); line-height: 115%;}
        :is(h3) {--fs: clamp(1.8rem, 2vw, 2rem); line-height: 150%;}
    }

    .btn-group { padding-top: 1.6rem; border-top: 2px solid var(--border-clr);
        [class*="btn--link"] {font-weight: 600;}
    }

    .wpb-logos-wrapper { display: flex; flex-wrap: wrap; gap: 2.4rem; align-items: center; --mt: 1em;
        .wpb-logo {max-width: 14rem;}
    }

    .wpb-numbers-wrapper { display: flex; flex-wrap: wrap; column-gap: 4rem; row-gap: 2rem;
        .wpb-number { --mt: 0;
            .number__value {display: flex; font-size: clamp(2rem, 3.2vw, 3.2rem); line-height: 1.1; font-weight: 800;
                .wpb-number__value {color: var(--clr-primary) !important; }
                .wpb-number__property {color: var(--clr-primary) !important; }
            }
        }
    }

    .wpb-usps-wrapper { 
        .usps__label {text-transform: uppercase; font-size: 1.2rem; font-weight: 700; color: var(--clr-blue-600);}
        .usps__list {--mr: 1rem; padding: 0; display: flex; flex-direction: column; gap: .75rem;
            .usps__item {list-style: none; position: relative; padding-left: 3.2rem;
                i { position: absolute; left: 0; top: .3em; background-color: var(--clr-primary); color: #fff; width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 1rem;}
            }
        }
    }

    .wpb-case-studies-wrapper {
        .wpb-case-studies-wrapper__title { text-transform: uppercase; font-size: 1.3rem; font-weight: 700; color: var(--clr-blue); opacity: .75; margin-bottom: 2rem; }
        .wpb-case-studies-wrapper__items {--gc: 1; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 2rem; }  
    }

    @media (min-width: 768px) {
        .wpb-case-studies-wrapper {
            .wpb-case-studies-wrapper__items {--gc: 2;  }  
        }
    }
    @media (min-width: 992px) { gap: 2.8rem; }
}

@media (min-width: 992px) {
    .wpb-block .wpb-content {
        .wpb-text { font-size: 2rem; }
        .wpb-usps-wrapper .usps__list .usps__item i { top: .5em; }
    }
}

/*** ---------- Block: Divider ---------- ***/
.wpb-block--divider { 
    .container { height: 2px; background-color: var(--clr-blue-300);}
}

/*** ---------- Block: Media ---------- ***/
.wpb-block--text-media {
    .container .container { padding-inline: 0; }
    .container.container--large {border-radius: var(--br); overflow: hidden;}
    .wpb-text { margin-bottom: 2rem; }
    .row { row-gap: 4.2rem;}
    
    .wpb-block__content { --p: 2rem 2rem 4.8rem 2rem;
        .row {
            &.align-top {--jc: flex-start;}
            &.align-center {--jc: center;}
            &.align-bottom {--jc: flex-end;}
        }

        .wpb-column { overflow: hidden;  height: 100%;
            &.column--left {
                .wpb-content { height: 100%; border-radius: var(--br); border-bottom-left-radius: var(--br-xl); padding: var(--p); justify-content: var(--jc); } 
            }
            &.column--right { 
                .wpb-image { height: 100%;
                    img {border-radius: var(--br); border-top-right-radius: var(--br-xl); height: 100%; object-fit: cover;}
                }
            }
        }
    }
}

@media (min-width: 768px) {
    .wpb-block--text-media .wpb-block__content { --p: 3.2rem 3.2rem 5.6rem 3.2rem; }
}

@media (min-width: 1400px) {
    .wpb-block--text-media .wpb-block__content { --p: 6.4rem 6.4rem 5.6rem 6.4rem; }
}

/*** ---------- Block: cta ---------- ***/
.wpb-block--cta { background: linear-gradient(180deg, #4698CB 0%, #3ACFBD 166.94%); 
    &::before {content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%;  background-image: url("/app/themes/wuxnl-theme/assets/icons/default/icon_delft_circle.svg"); background-repeat: space; background-size: 3.8rem; mask-image: linear-gradient(to top, rgba(0,0,0,.1) 0%, rgba(0,0,0,0) 70%); -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,.1) 0%, rgba(0,0,0,0) 70%); pointer-events: none;}

    .container { display: grid; justify-content: space-between; grid-template-columns: 1fr; gap: 4rem; }
    .wpb-text {text-wrap: balance; color: #fff; 
        :is(h2, h3, p) { color: inherit; }
        :is(h2) { --fs: clamp(2.4rem, 3.4vw, 4.4rem); line-height: 115%;}
    }

    .wpb-quote-usps { border-top: 2px solid #ffffff50; padding-top: 4rem; color: #ffffff;
        .wpb-author {margin-bottom: 2.4rem;
            .content .quote p {max-width: 23rem;}
        }
        .label {text-transform: uppercase; letter-spacing: .1rem; font-weight: 700;}
        .usps { list-style: none; padding: 0; margin-top: 1.4rem; display: flex; flex-direction: column; gap: 1.2rem;
            .usp-item { padding-left: 3.2rem; position: relative; display: flex; align-items: center;
                i { width: 2.2rem; height: 2.2rem; aspect-ratio: 1 / 1; border-radius: 50%; position: absolute; left: 0; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #176595 0%, #34BEAD 129.55%);}
            }
        }
    }

    .wpb-author .job-title { color: rgba(255,255,255,.75)!important; }
}

@media (min-width: 992px) {
    .wpb-block--cta .container { grid-template-columns: 1fr 52rem;}
    .wpb-quote-usps { border-left: 2px solid #ffffff50; padding-left: 4rem; border-top: none !important; padding-top: 0 !important;}
}


/*** ---------- Block: Blurb ---------- ***/
.wpb-block--blurb {
    .wpb-block__content {--m: 4.8rem;
        .align-left * { text-align: left; }
        .align-center * { text-align: center; }
        .align-right * { text-align: right; }
        .card-container {height: 100%;}
    }

    .wpb-block__content.row { row-gap: 4.8rem; }

    .wpb-block__footer { --mt: 3.2rem;
        .wpb-author {margin-top: var(--mt); padding-top: 2.4rem; border-top: 2px solid var(--clr-primary);
            & .content {
                .quote { font-size: 2.2rem;}
            }
        }
    }

    @media (min-width: 768px) {
        .wpb-block__footer {--mt: 6rem; }
    }
}


/*** ---------- Block: blurb pages ---------- ***/
.wpb-block--blurb-posts { 
    .wpb-bg-clr--porcelain {
        .card-container .wpb-card { background-color: #fff !important; }
    }
    .container.container--large {border-radius: var(--br); overflow: hidden;}

    .wpb-block__body { z-index: 1; position: relative;}

    .wpb-block__content {--m: 4.8rem; margin-bottom: 6.4rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 2.4rem; 
        .card-container { flex-basis: calc(25% - 1.8rem); flex-grow: 1; max-width: 64rem; min-width: 30rem;}
        .card-container:has(.wpb-card.wpb-card--download) { flex-basis: 40rem; }
    }

    .wpb-block__assets {
        .wpb-asset.wpb-asset--left  {--w: 0; transform: translateX(-58%); }
        .wpb-asset.wpb-asset--right {--w: 110rem; transform: translateX(58%); }
    }

    @media (min-width: 992px) {
        .wpb-block__assets {
            .wpb-asset.wpb-asset--left  {--w: 110rem;}
        }
    }
    @media (max-width: 575.98px) {
        .wpb-block__body {
            .container {padding: 0;}
        }
    }
}

/*** ---------- Block: Header ---------- ***/
.wpb-header { --nav-height: 12.9rem; z-index: 1;

    .wpb-text h1 { font-weight: 400;
        strong { font-weight: 800; }
    }

    .wpb-header__crumbs { margin-bottom: 3.2rem; }

    .wpb-header__post { margin-top: 3.2rem; 
        background: linear-gradient(to top, #fff 20%, transparent 20%);
    }

    .wpb-header__assets { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; pointer-events: none; overflow: hidden; }

    &.has-background-image {
        .wpb-text *:not(.btn) { text-shadow: 0px 2px 20px #00000033; }
        &::after { background: linear-gradient(180deg, rgba(12, 27, 49, 0.8) 0%, rgba(12, 27, 49, 0.7) 7.35%, rgba(12, 27, 49, 0) 25.24%), linear-gradient(180deg, rgba(12, 27, 49, 0) 50%, rgba(12, 27, 49, 0.7) 85.44%, rgba(12, 27, 49, 0.8) 100%); pointer-events: none; }
    }

    &:has(.wpb-header__crumbs) { padding-top: calc(var(--nav-height) + 1rem); }

    .wpb-header__info { --gc: 2; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: .8rem; 
        .info-item { text-decoration: none; border-radius: var(--br); padding: 2.4rem 2rem; color: #fff; display: flex; flex-direction: column; gap: 1rem; justify-content: center; text-align: center; background-color: rgba(79, 104, 129, .8); backdrop-filter: blur(1.2rem); -webkit-backdrop-filter: blur(1.2rem); transition-property: color, background-color; transition-duration: var(--ts-duration); transition-timing-function: var(--ts-function);
            strong { display: block; width: 100%; font-size: clamp(1.8rem, 1.3vw, 2.2rem); line-height: 1.2; font-weight: 800; }
            span { text-transform: uppercase; font-size: 1.4rem; opacity: .65; font-weight: 700; }
            &:hover { background-color: #fff; color: var(--clr-text); }
        }
    }

    @media (min-width: 1200px) {
        &:has(.wpb-header__crumbs) { padding-top: calc(var(--nav-height) + 4.8rem); }
    }

    /* Background colors */
    &.wpb-bg-clr--white .wpb-breadcrumbs :is(span, a),
    &.wpb-bg-clr--light .wpb-breadcrumbs :is(span, a) { color: var(--clr-text); }
    
    /* Header variations */
    &.wpb-header--home { display: flex; flex-direction: column; justify-content: end; height: 100dvh; max-height: 100vh; padding: 0 0 4.8rem 0; 
        .wpb-text {display: flex; flex-direction: column;
            h1 { --fs: clamp(3.2rem, 5vw, 8rem); --lh: 1.05; font-weight: 400; grid-column: span 2; text-wrap: balance; }
            p { font-size: clamp(1.6rem, 2.4vw, 2.2rem); }
        }

        .wpb-header__body { z-index: 2; }
        .wpb-header__assets { z-index: 1;
            .wpb-asset { --w: 83rem; position: absolute; bottom: 0; left: 0; transform: translateX(-70%); }
        }
    }

    &.wpb-header--pillar {display: flex; flex-direction: column; justify-content: space-between; height: 90dvh; max-height: 90vh; padding-bottom: 4.8rem;
        .container { z-index: 2;
            .wpb-text { max-width: 94rem; 
                p { font-size: clamp(1.6rem, 2.4vw, 2.2rem); }
            }
        }
        &.has-background-image {
            &::after {
                background: 
                    linear-gradient(180deg, rgba(12, 27, 49, 0.8) 0%, rgba(12, 27, 49, 0.45) 20.96%, rgba(12, 27, 49, 0) 29.34%),
                    linear-gradient(180deg, rgba(12, 27, 49, 0) 45.3%, rgba(12, 27, 49, 0.7) 60.32%, #0C1B31 100%);
            }
        }

        .wpb-header__assets { z-index: 1; -webkit-mask-image: linear-gradient(180deg, #D9D9D9 70%, rgba(217, 217, 217, 0.25) 100%);
            .wpb-asset { --w: 83rem; position: absolute; bottom: -12rem; right: 0; transform: translateX(60%); }
        }

        @media (min-width: 768px) {
            .wpb-header__assets { 
                .wpb-asset { transform: translateX(25%); }
            }  
        }
    }

    &.wpb-header--subpage { padding-bottom: 4.8rem; display: flex; flex-direction: column; 
        .wpb-header__header { overflow: hidden;
            .swiper.swiper--subpage { overflow: visible;
                .swiper-slide {--ar: 4/3;  max-height: 51rem;
                    .default-slide { border-bottom-right-radius: var(--br-xl); overflow: hidden;
                        img { aspect-ratio: var(--ar); height: 100%; width: 100%; object-fit: cover; }
                    }

                    .featured-slide { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: auto; grid-gap: 2rem; max-height: 51rem; aspect-ratio: var(--ar);
                        .wpb-image{ overflow: hidden;
                            &:nth-child(1) { border-bottom-left-radius: var(--br-xl); }
                            &:nth-child(2) { grid-row: span 2; }
                            &:nth-child(3) { border-top-left-radius: var(--br-xl); }
                            img { width: 100%; height: 100%; object-fit: cover; }
                        }
                    }
                }
            }
        }
        .wpb-header__body { --p: 3.2rem; padding-top: var(--p);
            .col:nth-child(2) { display: flex; align-items: center; }
            .wpb-author {--p: 3.8rem; padding-left: 0; padding-top: var(--p); position: relative; display: grid; grid-template-columns: 7.8rem auto; gap: 2rem;

                &::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: .2rem; background: linear-gradient(90deg, rgba(60, 154, 230, 0) 0%, #3C9AE6 20%, #3C9AE6 80%, rgba(60, 154, 230, 0) 100%);}
                .content {
                    .quote { font-size: 1.6rem; }
                }
                .btn {grid-column: span 2;}
            }
        }

        @media (min-width: 992px) {
            .wpb-header__header {
                .swiper.swiper--subpage {
                    .swiper-slide { --ar: 82 / 51; }
                    .swiper-buttons { justify-content: space-between; position: absolute; top: 50%; transform: translateY(-50%); left: -6%; right: 0; z-index: 1;
                        .swiper-button-prev, .swiper-button-next { background: white; --br: .8rem; --clr: var(--clr-primary);
                            &:hover {--clr: var(--clr-blue); background: var(--clr-porcelain) !important; }
                        }
                    }
                }
            }
            .wpb-header__body { --p: 5.6rem;
                .wpb-author {padding-left: var(--p); padding-top: 0; 
                    &::before {
                        width: .2rem;
                        height: 100%;
                        background: linear-gradient(0deg, rgba(60, 154, 230, 0) 0%, #3C9AE6 20%, #3C9AE6 80%, rgba(60, 154, 230, 0) 100%);
                    }
                }
            }
        }
    }

    &.wpb-header--case-study {display: flex; flex-direction: column; justify-content: space-between; height: 100dvh; max-height: 100vh; padding-bottom: 4.8rem;
        .container { z-index: 2;
            .case-study-label { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem;
                span {font-weight: 700; color: #fff;}
            }
            .wpb-text { max-width: 66rem; 
                p { font-size: clamp(1.6rem, 2.4vw, 2.2rem); }
            }
        }

        .wpb-flag { width: 3.6rem; max-width: 3.6rem;
            img { width: 3.6rem; max-width: 3.6rem; border-radius: .2rem!important; }
        }

        .wpb-header__assets { z-index: 1; -webkit-mask-image: linear-gradient(180deg, #D9D9D9 70%, rgba(217, 217, 217, 0.25) 100%);

            .wpb-asset { --w: 83rem; position: absolute; bottom: -12rem; right: 0; transform: translateX(60%); }
        }

        @media (min-width: 768px) {
            .wpb-header__assets { 
                .wpb-asset { transform: translateX(25%); }
            }  
        }
    }

    &.wpb-header--countries {display: flex; flex-direction: column; justify-content: space-between; height: 100dvh; max-height: 100vh; padding-bottom: 4.8rem;
        .container { z-index: 2;
            .country-label { display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem;
                span {font-weight: 700; color: #fff;}
            }
            .wpb-text { max-width: 66rem; 
                p { font-size: clamp(1.6rem, 2.4vw, 2.2rem); }
            }
        }

        .wpb-flag { width: 3.6rem; max-width: 3.6rem;
            img { width: 3.6rem; max-width: 3.6rem; border-radius: .2rem!important; }
        }

        .wpb-header__assets { z-index: 1; -webkit-mask-image: linear-gradient(180deg, #D9D9D9 70%, rgba(217, 217, 217, 0.25) 100%);

            .wpb-asset { --w: 83rem; position: absolute; bottom: -12rem; right: 0; transform: translateX(60%); }
        }

        @media (min-width: 768px) {
            .wpb-header__assets { 
                .wpb-asset { transform: translateX(25%); }
            }  
        }
    }

    &.wpb-header--archive { padding-bottom: 4.8rem;
        &:has(.wpb-header__post) { padding-bottom: 0; }
        &:has(.wpb-header__info) .wpb-header__body .container { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }
    }

    &.wpb-header--resources { padding-bottom: 4.8rem; display: flex; flex-direction: column; min-height: 65.5rem; max-height: 75dvh;
        .wpb-header__body { margin-top: auto; 
            .container { display: grid; align-items: end; grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }
        }
    }
}

@media (max-width: 496px) {
    .wpb-header.wpb-header--home .wpb-text .btn-group .btn {width: 100%;}
}

@media (min-width: 768px) {
    .wpb-header {
        .wpb-header__info { --gc: 4; }
    }
}

@media (min-width: 992px) {
    .wpb-header {
        &.wpb-header--subpage, &.wpb-header--resources, &.wpb-header--pillar, &.wpb-header--case-study, &.wpb-header--countries { padding-bottom: 6.4rem; }
    }
}

@media (min-width: 1200px) {
    .wpb-header {
        .wpb-header__crumbs { margin-bottom: 5.4rem; }
        .wpb-header__post { margin-top: 4.8rem; }
        &.wpb-header--home { padding: 0 0 6.4rem 0;
            .wpb-text {--mt: 4rem; --gc: 2; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); align-items: end;
                .btn-group {margin-left: auto;}
            }
            .wpb-header__assets .wpb-asset { --w: 66vw; }
        }
        &.wpb-header--pillar, &.wpb-header--case-study, &.wpb-header--countries { padding-bottom: 8rem; 
            .wpb-header__assets .wpb-asset { --w: 66vw; }
        }

        &.wpb-header--subpage { padding-bottom: 8rem; }
    }
}

@media (min-width: 1400px) {
    .wpb-header {
        &.wpb-header--home { padding: 0 0 10rem 0; }
        &.wpb-header--countries { padding-bottom: 10rem; }  
        &.wpb-header--pillar { padding-bottom: 12rem; }
        &.wpb-header--case-study { padding-bottom: 10rem; }
        &.wpb-header--resources .wpb-header__body .container { column-gap: 12.8rem; }
    }
}


/*** ---------- Block: Image ---------- ***/
.wpb-block--image { overflow: hidden; position: relative;
    .wpb-block__body {--h: 80vh; z-index: 1; position: relative; margin: auto; height: var(--h); overflow: hidden;  border-radius: var(--br-lg);
        &::after { content: ''; position: absolute; top: 0;  left: 0; right: 0;  bottom: 0; width: 100%; height: 100%; background: linear-gradient(0deg, rgba(12, 27, 49, 0.8) 8.99%, rgba(12, 27, 49, 0) 30.42%, rgba(12, 27, 49, 0) 48.91%, rgba(12, 27, 49, 0.8) 66.52%, rgba(12, 27, 49, 0.8) 100%); }

        .container {--p: 4rem; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: space-between; padding: var(--p) var(--inline-spacing);
            .wpb-text.main-content {max-width: 88rem; font-size: clamp(1.8rem, 2.6vw, 2.4rem); text-balance: balance;}
            .wpb-text.btn-text {max-width: 42rem; font-size: clamp(2rem, 3vw, 3.6rem); font-weight: 800; line-height: 1.1;}
        }
        .wpb-bg__image { z-index: -1; content: '';position: absolute;top: 0; left: 0;right: 0; bottom: 0;width: 100%; height: 100%;
            img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
        }

        .wpb-block__assets {z-index: 1; -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0))}
    }

}

@media (min-width: 768px) {
    .wpb-block--image .wpb-block__body .container {--p: 4rem; padding: var(--p);}
}
@media (min-width: 992px) {
    .wpb-block--image .wpb-block__body .container {--p: 5.6rem; 
        .wpb-text.main-content {text-align: right; margin-left: auto;}
    }
}
@media (min-width: 1200px) {
    .wpb-block--image .wpb-block__body { --h: 89rem; }
    .wpb-block--image .wpb-block__body .container {--p: 9rem 4rem; }
}
@media (min-width: 1600px) {
    .wpb-block--image .wpb-block__body .container {--p: 9rem var(--inline-spacing); }
}


/*** ---------- Block: Featured ---------- ***/
.wpb-block--featured-product {
    .wpb-section__body {
        .wpb-label {font-size: 1.4rem; font-weight: 700; letter-spacing: 4%; color: var(--clr-blue-600); text-transform: uppercase; }
        .wpb-usps {--cc: 1; --mr: 1rem; padding: 0; display: flex; flex-direction: column; gap: .4rem; 
            .usps__list { display: grid; grid-template-columns: repeat(var(--cc), minmax(0, 1fr)); gap: .5rem 2rem; margin-top: 1.6rem;
                .usps__item {list-style: none; position: relative; padding-left: 2.8rem; 
                    &:not(:last-child) { margin-bottom: .4rem; }
                    i { position: absolute; left: 0; top: 50%; transform: translateY(-50%); background-color: var(--clr-primary); color: #fff; width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 1rem;}
                }
            }
        }

        .wpb-lightbox-gallery {--mt: 4rem; --img-min-w: 17rem; display: flex; flex-wrap: wrap; gap: 2rem; margin-top: var(--mt);
            .wpb-lightbox-gallery__item { --br: .6rem; border-radius: var(--br); text-decoration: none; flex-basis: calc(25% - 1.6rem); flex-grow: 1; min-width: 12rem;
                img{ width: 100%; height: 100%; object-fit: contain; transition: transform var(--ts-duration) ease; aspect-ratio: 1/1;}
                &:has(i){ display: flex; justify-content: center; align-items: center; text-align: center; flex-direction: column; font-size: 1.8rem; font-weight: 600; padding: 2rem; border: 1px solid var(--clr-border); line-height: 1.2; transition: border var(--ts-duration) ease; 
                    i { display: block; font-size: 2.4rem; color: var(--clr-blue); margin-bottom: 1rem; }
                    &:hover{ border-color: rgb(var(--clr-secondary-rgb), .4); }
                }
                &:hover img{ transform: scale(1.1); }
            }
        }
    }
    
    .wpb-section__footer {--pt: 2.4rem; --mt: 4.8rem; padding-top: var(--pt); margin-top: var(--mt); border-top: 2px solid var(--clr-blue-300);
        .wpb-card {border: none; flex-direction: row; align-items: center; flex-wrap: wrap; justify-content: space-between;
            .wpb-card__body { width: 100%; padding: 0; padding-bottom: var(--p);
                .label {font-size: 1.4rem; text-transform: uppercase; opacity: .8; font-weight: 700; color: var(--clr-primary); }
                .description {font-size: 2.2rem; font-weight: 800; margin-top: 1.2rem; line-height: 1.1;}
             }
            .wpb-card__footer {padding: 0; }
        }
    }


    @media (min-width: 500px) {
        .wpb-section__body { 
            .wpb-usps { --cc: 2; }
        }
    }
    @media (min-width: 640px) {
        .wpb-section__footer {
            .wpb-card__body { order: -1; }
        }
    }
    @media (min-width: 992px) {
        .wpb-section__body { 
            .wpb-usps { --cc: 3; }
        }
        .wpb-section__footer {
            .wpb-card__body { order: 0; width: fit-content !important; padding: var(--p) !important; 
                .description { max-width: 40rem; }
            }
        }
    }
    @media (min-width: 992px) { 
        .wpb-section__body { 
            .wpb-usps { --cc: 2; }
        }
    }
}


/*** ---------- Block: Case studies - grid ---------- ***/
.wpb-block--case-studies { position: relative; overflow: hidden;
    &::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background-image: url("/app/themes/wuxnl-theme/assets/img/world_map.svg"); background-repeat: no-repeat; background-position: center; background-size: cover; opacity: .1;}

    .case-study-grid {--gc: 1; display: grid; grid-template-columns: repeat(var(--gc), 1fr); gap: 2rem; margin: 5.4rem 0; align-items: stretch;
        .card-container .wpb-card.wpb-card--download  { background-color: var(--clr-dark); min-height: 32rem; 
            .btn.btn--primary { --hover-bg-clr: #fff; --hover-clr: var(--clr-dark); }  
        }

        .featured-image { position: relative; width: 100%; height: 100%; max-height: 38rem; border-radius: var(--br); overflow: hidden;
            img { width: 100%; height: 100%; object-fit: cover; display: block; }
        }
    }

    .wpb-block__header {
        .wpb-text p {opacity: .8;}
    }

    @media (min-width: 768px) {
        .case-study-grid {--gc: 2; 
            .card-container:has(.wpb-card.wpb-card--download) {grid-column: span 2;}
            .featured-image { grid-column: span 2; }
        }
    }
    @media (min-width: 1200px) {
        .case-study-grid {--gc: 4; }
    }
}


/*** ---------- Block: Text usp ---------- ***/
.wpb-block--text-usp {
    &.wpb-bg-clr--secondary {
        .wbp-content {
            .wpb-text {
                p {color: var(--clr-blue-700); }
            }
        }
    }
    &.wpb-bg-clr--porcelain, &.wpb-bg-clr--secondary {
        .card-container .wpb-card { background-color: #fff; }
    }

    .container { z-index: 1;
        .row { row-gap: 4.2rem;}
    }
    .wpb-content { display: flex; flex-direction: column; gap: 3.6rem; height: 100%;
        .wpb-text {
            :is(h2) {--fs: clamp(2.8rem, 4vw, 4.8rem);}
            p { font-size: clamp(1.8rem, 2.6vw, 2.4rem); text-wrap: auto;}
        }
        .wpb-author {margin-top: auto; padding-top: 3.6rem; border-top: 2px solid var(--clr-primary);}
    }
    .wpb-usps {
        display: flex; flex-direction: column; gap: 2rem;
    }

    .wpb-block__assets { -webkit-mask-image: linear-gradient(180deg, rgba(217, 217, 217, 0) 0%, rgba(217, 217, 217, 0.8) 35%, #D9D9D9 50%, rgba(217, 217, 217, 0.8) 65%, rgba(217, 217, 217, 0) 100%);
        .wpb-asset {
            --w: 128rem;
            top: 50%;
            transform: translateY(-50%);
            right: -6rem;
        }
    }

    @media (min-width: 1400px) {
        .col[class*="col--"] {
            .wpb-usps {max-width: 57.7rem; margin-left: auto;}
        }
        .col:not([class*="col--"]) {
            .wpb-usps { display: grid; gap: 2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
    }
}


/*** ---------- Block: Text & Form ---------- ***/
.wpb-block--text-form {
    .container { column-gap: 2rem; row-gap: 2rem; z-index: 1;
        .wpb-content { display: flex; flex-direction: column; gap: 3.6rem; 
            .row { row-gap: 4.2rem;}
            .wpb-text {
                p {color: var(--clr-blue-700); text-wrap: auto;}
            }
            .wpb-author {margin-top: auto; padding-top: 3.6rem; border-top: 2px solid var(--clr-porcelain);}
        }

    }
    .wpb-block__assets { -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,.1) 0%, rgba(0,0,0,0) 70%); pointer-events: none;}
}


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

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

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

/*** ---------- Block: Search Resources ---------- ***/
/* .wpb-block--search-resources { --input-mh: 5.5rem; --input-br: .6rem;
    strong { font-size: 2rem; display: flex; align-items: center; column-gap: .8rem; margin-bottom: 1rem;
        i { font-size: 1.8rem; }
    }
    [type="search"] { font-size: 1.6rem;  border: none!important; background-color: var(--clr-blue-100); 
        &::placeholder { color: var(--clr-blue-600); } 
    }
} */


/*** ---------- Block: Posts ---------- ***/
.wpb-block--posts { --offset: calc((100vw - (var(--container-width) - 2.6rem))); --bg-clr: #fff; --gradient-offset: calc(var(--offset) / 2); overflow: hidden;
    &.wpb-bg-clr--secondary { --bg-clr: var(--clr-secondary); }

    .wpb-section__header { margin-bottom: 2.4rem;
        /* .row.row--full {width: 100%; display: flex; justify-content: space-between; margin: 0; column-gap: 2rem;
            .col { padding: 0; }
        } */
        .wpb-text__title { font-size: clamp(2.4rem, 4vw, 3.6rem); font-weight: 800; }
    }
    .wpb-section__body { position: relative;
        &::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: 10;
            background: linear-gradient(90deg,var(--bg-clr) 0%, transparent var(--gradient-offset), transparent calc(100% - var(--gradient-offset)), var(--bg-clr) 100%);
        }

        .wpb-posts-grid { --m: 4.8rem; margin-bottom: 6.4rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(26rem, 1fr)); justify-content: center; gap: 2.4rem; 
            .card-container { flex-grow: 1; }
            .card-container:has(.wpb-card.wpb-card--download) { flex-basis: 40rem; }
        }
    }
    .swiper { overflow: visible;
        .wpb-card { outline: .2rem solid transparent; outline-offset: .4rem; transition: outline var(--ts-duration) var(--ts-function); }
        &.swiper--webinars .swiper-slide-active .wpb-card { outline: .2rem solid var(--clr-border); }

        .swiper-slide { display: flex; flex-direction: column; height: auto;
            .card-container {flex: 1 0 auto;}
        }
    }
    .wpb-whitepapers { display: grid; grid-template-columns: repeat(var(--gc, 1), minmax(0, 1fr)); gap: 1.2rem 1.6rem; }

    &:not(.wpb-block--posts--with-text) .wpb-section__header h2 { font-size: clamp(2.4rem, 4vw, 3.6rem); }

    &.wpb-bg-clr--light { --bg-clr: var(--clr-light);
        .wpb-section__body {
            .card-container .wpb-card.wpb-card--references {background: white; border: none;}
        }
    }
}

@media (min-width: 576px) {
    .wpb-block--posts { --offset: calc((100vw - (var(--container-width--sm) - 2.6rem))); }
}

@media (min-width: 768px) {
    .wpb-block--posts { --offset: calc((100vw - (var(--container-width--md) - 2.6rem))); 
        .wpb-whitepapers { --gc: 2; }
    }
}

@media (min-width: 992px) {
    .wpb-block--posts { --offset: calc((100vw - (var(--container-width--lg) - 2.6rem)));
        .wpb-section__header {
            .row.row--full { width: 100%; display: flex; justify-content: space-between; margin: 0; column-gap: 3.2rem;
                .col { padding: 0; }
                .btn { white-space: nowrap; }
            }
        } 
    }
}

@media (min-width: 1200px) {
    .wpb-block--posts { --offset: calc((100vw - (var(--container-width--xl) - 2.6rem)));
        .wpb-whitepapers { --gc: 3; }
    }
}

@media (min-width: 1400px) {
    .wpb-block--posts { --offset: calc((100vw - (var(--container-width--xxl) - 2.6rem))); }
}

@media (min-width: 1600px) {
    .wpb-block--posts { --offset: calc((100vw - (var(--container-width--xxxl) - 2.6rem))); }
}


/*** ---------- Block: Numbers ---------- ***/
.wpb-block--numbers {
    .wpb-section__content { padding-bottom: 6.4rem; z-index: 2; position: relative;
        .wpb-text-wrapper { font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 500; }
        .wpb-logos-wrapper { 
            .wpb-logo { height: 8rem; max-width: 23rem; display: flex; align-items: center; max-width: auto;
                img { width: 100%; height: 100%; object-fit: contain; }
                + .wpb-logo { border-left: 2px solid var(--clr-porcelain); padding-left: 3.2rem; }
            }
        }
    }
    .wpb-section__map { pointer-events: none; overflow: hidden; display: flex; justify-content: center;

        .wpb-map { min-width: 125rem; margin: auto;
            .wpb-map__markers {
                .wpb-dot { opacity: 0; position: absolute; top: var(--y); left: var(--x); width: 4.6rem; height: 4.6rem; border-radius: 50%; background: radial-gradient(50% 50% at 50% 50%, #FFFFFF 0%, #C5E3FA 65%, #7DBAEC 89.42%); transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out; transform: scale(0.8);
                    &::before { content: ''; display: block; width: .8rem; height: .8rem; border-radius: 50%; background-color: var(--clr-primary); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
                    
                    &.is-active { opacity: 1; transform: scale(1); animation: dot-pulse 1.5s ease-out infinite; } 
                }

                .wpb-flag { pointer-events: all; position: absolute; top: var(--y); left: var(--x); width: 4.2rem; height: 4.2rem; border-radius: 50%; background-color: #fff; border: 1px solid var(--clr-porcelain); display: grid; grid-template-areas: 'flag'; place-items: center; transform-origin: center; transition: transform var(--ts-duration) var(--ts-function);
                    .wpb-flag__flag,
                    .wpb-flag__thumbnail { grid-area: flag; width: 3.4rem; height: 3.4rem; border-radius: 50%; overflow: hidden; transition: opacity var(--ts-duration) var(--ts-function);
                        img { width: 100%; height: 100%; object-fit: cover; }
                    }

                    .wpb-flag__thumbnail { opacity: 0; width: 3.6rem; height: 3.6rem; }

                    &:hover { transform: scale(2);
                        .wpb-flag__flag { opacity: 0; }
                        .wpb-flag__thumbnail { opacity: 1; }
                    }
                }
            }
            .wpb-map__description { width: 30rem; display: none; font-size: 1.3rem; line-height: 1.5; color: var(--clr-blue-500); position: absolute; top: auto; bottom: 10%; right: 80%; left: auto; text-align: right; }
        }
    }
}

@keyframes dot-pulse {
    0% { box-shadow: 0 0 0 0 rgba(125, 186, 236, 0.7); }
    50% { box-shadow: 0 0 0 1.5rem rgba(125, 186, 236, 0); }
    100% { box-shadow: 0 0 0 2rem rgba(125, 186, 236, 0); }
}

@media (max-width: 575.98px) {
    .wpb-block--numbers .wpb-section__map .wpb-map { min-width: 60rem; }
}

@media (min-width: 992px) {
    .wpb-block--numbers { min-height: 100rem;
        .wpb-section__header {
            .wpb-text { text-align: center; max-width: 80%; margin: auto; }
        }
        .wpb-section__body .wpb-section__content { max-width: 65%; }
        .wpb-section__map { position: absolute; top: 0; right: 0; bottom: 0; left: 0; 
            .wpb-map { margin-left: auto; margin-top: auto; margin-bottom: 6rem; transform: translateX(60%); 
                .wpb-map__description { display: block; }
            }
        }
    }
}

@media (min-width: 1200px) {
    .wpb-block--numbers { 
        .wpb-section__header { margin-bottom: 10rem; }
        .wpb-section__body .wpb-section__content { max-width: 65rem; }
    }
}

.wpb-map { position: relative; width: 100%; max-width: 76rem;
    &::before { content: ''; display: block; padding-top: 56.5%; }
    > * { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
    .wpb-map__markers { z-index: 2; }
    .wpb-map__svg { z-index: 1; 
        img { width: 100%; height: 100%; object-fit: cover; object-position: left; }
    }
}

/*** ---------- Logo slider ---------- ***/
.logo-slider { --seconds-per-logo: 5; --gap: 4rem; overflow: hidden;white-space: nowrap; position: relative;
    .logo-slider__track { display: inline-flex; align-items: center; animation: calc(var(--seconds-per-logo) * var(--slide-count, 4) * 1s) slides infinite linear; }
    .logo-slide { width: var(--max-width, 100px); margin-right: var(--gap);
        img { width: 100%; height: auto;}
    }
}

@media (min-width: 576px) {
   .logo-slider { --gap: 6rem }
}

@media (min-width: 768px) {
    .logo-slider { --gap: 7rem }
}

@media (min-width: 992px) {
    .logo-slider { --gap: 8rem }
}

@media (min-width: 1200px) {
    .logo-slider { --gap: 12rem }
}

@keyframes slides {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*** ---------- 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: Team ---------- ***/
.wpb-block--team { 
    .wpb-section__body .container { display: grid; grid-template-columns: repeat(var(--gc, 1), 1fr); gap: 2rem;  }   
}

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

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

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