/*** Basic style v1 ***/

/*** ---------- Global ---------- ***/
:root {
    --ts-100: 1000ms; --ts-95: 950ms; --ts-90: 900ms; --ts-85: 850ms; --ts-80: 800ms; --ts-75: 750ms; --ts-70: 700ms; --ts-65: 650ms; --ts-60: 600ms; --ts-55: 550ms; --ts-50: 500ms; --ts-45: 450ms; --ts-40: 400ms; --ts-35: 350ms; --ts-30: 300ms; --ts-25: 250ms; --ts-20: 200ms; --ts-15: 150ms; 
}

* {
    -webkit-tap-highlight-color: transparent;
}

/*** Disable animations & transitions ***/
@media (prefers-reduced-motion) {
    *, *::before, *::after { transition: 0s; animation: none; }
    :root {
        --ts-100: 0; --ts-95: 0; --ts-90: 0; --ts-85: 0; --ts-80: 0; --ts-75: 0; --ts-70: 0; --ts-65: 0; --ts-60: 0; --ts-55: 0; --ts-50: 0; --ts-45: 0; --ts-40: 0; --ts-35: 0; --ts-30: 0; --ts-25: 0; --ts-20: 0; --ts-15: 0;
    }
}

*, *::before, *::after { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; box-sizing: border-box; margin: 0; padding: 0; }
html { font-family: var(--font-primary); font-size: 10px; height: -webkit-fill-available; scroll-behavior: smooth; }
body { font-size: var(--fs); line-height: var(--lh); color: var(--clr-text); min-height: 100dvh; min-height: -webkit-fill-available; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; 
    &.--no-scroll { overflow: hidden; }
    --admin-bar: 0rem;
    &.admin-bar { --admin-bar: 4.6rem; }  
}
.wpb-pagewrapper { -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }

@media (min-width: 783px) {
    body { --admin-bar: 0;
        &.admin-bar { --admin-bar: 3.2rem; }  
    }
}

/*** ---------- Accordion ---------- ***/
.wpb-accordion {
    --br: .25rem; 
    --bg: transparent; 
    --clr: var(--clr-text);
    --active-bg: transparent; 
    --active-clr: var(--clr-text); 
    --p: 0; 
    --body-p: 0; 
    --tsd: var(--ts-duration);
    --tsf: var(--ts-function);
    --tsp: color, background-color, border-color, box-shadow, height, border-radius; 

    .collapse:not(.show) { display: none; }
    .wpb-accordion__item { color: var(--clr); border-bottom: 1px solid var(--clr-border);
        &.first-in-category::before { content: attr(data-category); display: block; font-size: 2.4rem; font-weight: 500; margin-bottom: 2.4rem; }
        .wpb-accordion__header { --fs: 1.8rem; margin: 0; }
        .wpb-accordion__button { padding: 2rem 2rem; padding-left: 0; font: inherit; color: inherit; font-size: var(--fs); font-weight: 500; line-height: 1.2; cursor: pointer; display: flex; column-gap: 1rem; align-items: center; width: 100%; text-align: left; background-color: var(--bg); border: 0; overflow-anchor: none; border-radius: 0; transition-duration: var(--tsd); transition-timing-function: var(--tsf); transition-property: var(--tsp);
            span { transition: color var(--tsd) var(--tsf); }
            i { transition: transform var(--tsd) var(--tsf); }
            &.is-active { color: var(--active-clr); background-color: var(--active-bg);
                i { transform: rotate(90deg); }
            }
        }
        &.first-in-category .wpb-accordion__button { padding-top: 0;}
        .wpb-accordion__body { padding: var(--body-p); padding-bottom: 2rem; 
            .wpb-text { --clr-text: var(--clr-dark-750); }
            *:not(i) { font-size: 1.6rem; color: var(--clr-dark-750); }
        }    
        .collapsing { height: 0; overflow: hidden; transition: height var(--tsd) var(--tsf); }

        + .first-in-category { margin-top: 4.8rem; }
    }
}

/*** ---------- Images ---------- ***/
.wpb-image-wrapper {
    .wpb-image-wrapper__usps { position: absolute; z-index: 2; top: 4rem; left: 0; display: flex; flex-direction: column; gap: 1.2rem;
        .usp { display: inline-flex; align-items: center; column-gap: .8rem; padding: 1rem 1.6rem; border-radius: 1.2rem; background-color: #fff; 
            > i { --size: 2.2rem; font-size: calc(var(--size) * .5); width: var(--size); height: var(--size); min-width: var(--size); border-radius: 50%; background-color: var(--clr-accent); color: #fff; text-align: center; line-height: var(--size); }
            .usp__text { font-size: var(--fs); line-height: 1.4; color: var(--clr-text); 
                strong { display: block; width: 100%; }
            }
        }
    }

}
.wpb-image { --br: .5rem; 
    img { border-radius: var(--br); }
    figcaption { display: block; padding-top: .5rem; font-size: 1.6rem; }


    &:has(.wpb-image__usps) { position: relative; }

    &.wpb-image--aspect-ratio{ position: relative; padding-bottom: var(--aspect-ratio, 100%);
        img{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }

        &.wpb-image--100 { --aspect-ratio: 100%; }
        &.wpb-image--71  { --aspect-ratio: 71%; }
        &.wpb-image--140 { --aspect-ratio: 140%; }
    }
}

@media (max-width: 767.98px) {
    .wpb-image.wpb-image--aspect-ratio-per { position: relative; padding-bottom: unset !important; width: auto; aspect-ratio: var(--aspect-ratio);
        img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: var(--of, cover) !important; object-position: center !important; }
    
        &.wpb-image--10 { --aspect-ratio: 1/0.1; }
        &.wpb-image--20 { --aspect-ratio: 1/0.2; }
        &.wpb-image--30 { --aspect-ratio: 1/0.3; }
        &.wpb-image--40 { --aspect-ratio: 1/0.4; }
        &.wpb-image--50 { --aspect-ratio: 1/0.6; }
        &.wpb-image--60 { --aspect-ratio: 1/0.6; }
        &.wpb-image--70 { --aspect-ratio: 1/0.7; }
        &.wpb-image--80 { --aspect-ratio: 1/0.8; }
        &.wpb-image--90 { --aspect-ratio: 1/0.9; }
        &.wpb-image--100 {
            img { position: unset !important; width: 100%; height: auto; }
        }

        &.wpb-image--cover { --of: cover; }
        &.wpb-image--contain { --of: contain; }
    }
}

img { display: block; width: 100%; height: auto; }

/*** ----- Sections ----- ***/
section { position: relative; }
.has-background-image { position: relative;
    .container { z-index: 1; }
    .wpb-text :is(h1, h2, h3, h4, h5, p, ul, ul li, ol, ol li, .wpb-breadcrumbs, .wpb-breadcrumbs *, em) { color: #fff; }
    &::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: rgba(0,0,0,.5); }
}

img.is-background-image { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%!important; object-fit: cover; }
figure.is-background-image { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
figure.is-background-image img { width: 100%; height: 100%!important; object-fit: cover; }

/*** ---------- Bg assets ---------- ***/
.wpb-asset { --src: ; --bg: red; --w: 1.8rem; --ratio: 100%; display: inline-flex; background: transparent; width: var(--w); position: absolute;
    &::before { content: ''; display: block; width: 100%; padding-top: var(--ratio); }
    &::after { content:''; -webkit-mask-image: var(--src); mask-image: var(--src); -webkit-mask-size: cover; mask-size: cover; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; display: inline-block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; background: var(--bg); }


    /* Asset variations */
    &.wpb-asset--1 { --bg: var(--clr-primary-500); --w: 36rem; --ratio: 94%; --src: url('/app/themes/wuxnl-theme/assets/img/bg-assets/bg-asset-1.svg'); top: 0; left: 0; opacity: .52; }
    &.wpb-asset--2 { --w: 52.3rem; --ratio: 66%; --src: url('/app/themes/wuxnl-theme/assets/img/bg-assets/bg-asset-2.svg'); }
    &.wpb-asset--3 { --w: 20rem; --ratio: 66%; --src: url('/app/themes/wuxnl-theme/assets/img/bg-assets/bg-asset-3.svg'); }
    &.wpb-asset--4 { --bg: var(--clr-primary-500); --w: 88rem; --ratio: 85%; --src: url('/app/themes/wuxnl-theme/assets/img/bg-assets/bg-asset-4.svg'); top: 0; right: 0; opacity: .25; }
    &.wpb-asset--5 { --bg: var(--clr-primary-500); --w: 54.1rem; --ratio: 87%; --src: url('/app/themes/wuxnl-theme/assets/img/bg-assets/bg-asset-5.svg'); top: 0; right: 0; opacity: .34; }
    &.wpb-asset--6 { --bg: var(--clr-primary-500); --w: 55rem; --ratio: 85%; --src: url('/app/themes/wuxnl-theme/assets/img/bg-assets/bg-asset-6.svg'); top: 0; left: 0; opacity: .3; bottom: auto!important; }
    &.wpb-asset--9 { z-index: 1; mask-size: contain; -webkit-mask-size: contain; bottom: 0; right: 0; --bg: var(--clr-primary-500); --w: 43.1rem; --h: 36.9rem; opacity: 1; --src: url('/app/themes/wuxnl-theme/assets/img/bg-assets/bg-asset-9.svg'); 
        &::after { mask-size: contain; -webkit-mask-size: contain; -webkit-mask-position: bottom right; mask-position: bottom right; }
    }
    &.wpb-arrow--1 { --bg: var(--clr-border-120); --w: 19rem; --ratio: 55%; --src: url('/app/themes/wuxnl-theme/assets/img/assets/arrow-asset-1.svg'); }
    &.wpb-arrow--2 { --bg: var(--clr-border-120); --w: 19rem; --ratio: 55%; --src: url('/app/themes/wuxnl-theme/assets/img/assets/arrow-asset-2.svg'); }

    /* Asset backgrounds */
    &.wpb-asset--gradient-primary-2 { --bg: var(--gradient-primary-2); opacity: 1; }
}

.wpb-bg-clr--gradient .wpb-asset--6 { opacity: .6; }

@media(max-width: 767.98px) {
    .wpb-asset.wpb-asset--9 { display: none; }
}

@media(min-width: 1200px) {
    .wpb-asset.wpb-asset--3 { --w: 30rem; }
}

@media(min-width: 1400px) {
    .wpb-asset.wpb-asset--3 { --w: 38rem; }
}

@media(min-width: 1600px) {
    .wpb-asset.wpb-asset--3 { --w: 45rem; }
}

/*** ---------- Icons ---------- ***/
.wpb-icon { --src: ; --clr: var(--clr-dark); --w: 1.8rem; --h: 1.8rem; display: inline-flex; background: transparent; 
    &::after { content:''; -webkit-mask-image: var(--src); mask-image: var(--src); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; display: inline-block; width: var(--w); height: var(--h); min-width: var(--w); min-height: var(--h); background-color: var(--clr); transition: background-color var(--ts-duration) var(--ts-function); }

    &.wpb-icon--branche { --src: url('/app/themes/wuxnl-theme/assets/img/assets/branche.svg'); --w: 1.4rem; --h: 1.6rem; --clr: #fff; }
}

/*** ---------- Typography ---------- ***/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { color: var(--clr-text); font-size: var(--fs); line-height: var(--lh); text-wrap: balance; font-weight: 600; }
:is(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6):has(em) { line-height: calc(var(--lh) + 0.2); }
h1, .h1 { --fs: var(--fs-h1); --lh: 1.2; }
h2, .h2 { --fs: var(--fs-h2); --lh: 1.2; }
h3, .h3 { --fs: var(--fs-h3); --lh: 1.2; }
h4, .h4 { --fs: 1.8rem; --lh: 1.2; }
h5, .h5 { --fs: 1.6rem; --lh: 1.2; }
h6, .h6 { --fs: 1.4rem; --lh: 1.2; }

.animating-header__words { 
    .word { display: none!important; }

    .typing-text { line-height: 1.2;
        display: inline-block;
        min-width: 1ch; /* Zorgt voor minimale breedte */
    }

    .typing-cursor {
        display: inline-block;
        margin-left: 2px;
        animation: blink 1s infinite;
    }

}

@keyframes blink {
    0%, 49% { opacity: 1; }
    50%, 100% { opacity: 0; }
}

.wpb-iframe { display: flex;
    iframe { border-radius: var(--br-40)!important; }
}

.wpb-text { --mt: 1em; 
    > * + *:not(.btn .blockquote) { margin-top: var(--mt); } 
    > .wpb-breadcrumbs + * { --mt: 1rem; }  
    > .wpb-social-proof + * { --mt: .25em; }
    ul, ol { padding-left: 3.8rem;
        li { font: inherit; }
    }
    a:not(.btn) { font: inherit; text-underline-offset: .25rem; }
    blockquote { border-left: 4px solid #f2f2f2; padding-left: 1.6rem; }
    iframe { width: 100%; height: 100%; aspect-ratio: 16/9; border-radius: 1rem; }

    h1, h2, h3 {
        em { position: relative; font-style: normal; padding: 0 1rem; z-index: 1; display: inline-block;
            &::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-radius: 4rem; background-color: var(--clr-primary-450); z-index: -1; } 
        }
    }

    .wpb-text__usps { padding: 0; list-style: none;
        .wpb-usp { display: flex; align-items: center; column-gap: 1.2rem; 
            .wpb-usp__icon { font-size: 2rem; display: grid; place-items: center; min-width: 4.2rem; height: 5rem; --mask: url('/app/themes/wuxnl-theme/assets/img/hexagon.svg'); -webkit-mask-image: var(--mask); mask-image: var(--mask); mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; background-color: #fff; 
                i { --clr: var(--clr-primary); }
            }  
            .wpb-usp__text { line-height: 1.2;
                strong { display: block; width: 100%; font-size: 1.6rem; font-weight: 500; }
                span { display: block; margin-top: .3rem; color: var(--clr-contrast, var(--clr-dark-750)); }
            }

            + .wpb-usp { margin-top: 1.4rem; } 
        }
    }

    ul.wpb-text__pros, ul.wpb-text__cons { list-style: none; padding: 0;
        li { display: flex; align-items: center; column-gap: 1.4rem; font-size: clamp(1.6rem, 1.7vw, 1.8rem); font-weight: 500; line-height: 1.2; color: var(--clr-contrast, var(--clr-text)); font-weight: 400;
            > i { --size: 2.2rem; font-size: calc(var(--size) * .5); width: var(--size); height: var(--size); min-width: var(--size); border-radius: 50%; background-color: var(--clr-accent); color: #fff; text-align: center; line-height: var(--size); }
            + li { margin-top: 1.2rem; }
        }
    }

    ul.wpb-text__cons li > i { background-color: var(--clr-border); color: var(--clr-dark-110); }

    .wpb-text__links a { justify-content: start; width: 100%; --br: 0; --border: 1px solid var(--clr-border); border-left: none!important; border-top: none!important; border-right: none!important; min-height: 6.4rem; } 
    
    .wpb-text__contact-links a { padding: 2rem 0; justify-content: start; width: 100%; --br: 0; --border: 1px solid var(--clr-border); border-left: none!important; border-top: none!important; border-right: none!important; min-height: 6.4rem; 
        .btn__text { flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; gap: .8rem;
            strong { font-size: 2rem; display: block; }
        }
    } 
    
    h2 + .contact_links_columns { --mt: 3em; }
    .contact_links_columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2rem 3.2rem;
        .contact_links_column {
            .contact_links_column_title { font-weight: 500; display: block; margin-bottom: 3rem; }   
            a { display: flex; align-items: center; text-decoration: none; gap: 1.3rem; font-weight: 500;
                .icon { display: inline-grid; place-items: center; width: 6.2rem; min-width: 6.2rem; min-height: 4.2rem; border-radius: 4rem; border: 2px solid var(--clr-secondary); background-color: var(--clr-secondary); transition: var(--ts-duration) var(--ts-function);
                    .wpb-icon { --clr: #fff; --w: 1.6rem; --h: 1.6rem; }
                }

                &:hover .icon { background-color: transparent; border: 2px solid #fff; 
                    .wpb-icon { --clr: #fff; }
                }

                + a { margin-top: 2rem; }
            }
        }
    }    

    &.wpb-text--list-checks ul { list-style: none; padding-left: 0; font-size: var(--fs); }
    &.wpb-text--list-checks li {  font-size: 1.8rem; font-weight: 500; }
    &.wpb-text--list-checks li::before { width: 2.2rem; height: 2.2rem; font-size: .8em; line-height: 2.2rem; border-radius: 50%; --fa: "\f00c"; --fa--fa: "\f00c\f00c"; content: var(--fa); font-family: "Font Awesome 6 Pro"; display: inline-grid; place-items: center; margin-right: 1rem; color: #fff; background-color: var(--clr-accent); }  
    &.wpb-text--list-checks li + li { margin-top: .8rem; }
}

.wpb-bg-clr--white .wpb-text {
    .wpb-text__usps .wpb-usp .wpb-usp__icon { background-color: var(--clr-light); }
}

.wpb-bg-clr--gradient .wpb-text {
    .btn.btn--link { --clr: #fff; --hover-clr: var(--clr-secondary); }
}

@container col-container (min-width: 50rem) {
    .wpb-text {
        .contact_links_columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
}

@media (min-width: 768px) {
    .wpb-text {
        
        .wpb-text__usps .wpb-usp .wpb-usp__text { font-size: 1.6rem;
            strong { font-size: 1.8rem; }
        }
    }
}

/*** ---------- Cards ----------  ***/
.card-container { container: card-container / inline-size;
    .wpb-card { height: 100%; }
}

.card-container:not(:has(.wpb-card--package)) { height: 100%; }
.card-container:has(.wpb-card--add-on) { height: 100%; }


.wpb-card { --br: var(--br-20); --p: 2rem; border-radius: var(--br); border: 1px solid var(--clr-border); background-color: #fff; display: flex; flex-direction: column; position: relative; text-decoration: none; 
    a { text-decoration: none; }
    .wpb-card__header { display: flex; overflow: hidden; 
        img { width: 100%; height: auto; }
    }
    .wpb-card__body { padding: var(--p); -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }
    .wpb-card__footer  { padding: var(--p); padding-top: 0; }

    .wpb-card__label { background-color: var(--clr-secondary); text-align: center; color: #fff; font-size: 1.6rem; line-height: 1; padding: 1.2rem 2rem 2.1rem 2rem; font-weight: 600; position: absolute; right: 0; bottom: calc(100% - 1.4rem); left: 0; z-index: -1; }

    > *:first-child { border-top-left-radius: var(--br); border-top-right-radius: var(--br); 
        img { border-top-left-radius: var(--br); border-top-right-radius: var(--br); } 
    }
    > *:last-child { border-bottom-left-radius: var(--br); border-bottom-right-radius: var(--br); }

    .card-title { display: inline-flex; align-items: center; font-size: 2rem; column-gap: .8rem; font-weight: 500;
        .wpb-icon { --w: 1.8rem; --h: 1.8rem; --clr: var(--clr-primary); }

        + .card-excerpt { margin-top: 1rem; }
    }
    .card-excerpt { color: var(--clr-dark-750); line-height: 1.4; }
    .card-usps { list-style: none; margin-top: 2rem;
        li { min-height: 6rem; display: flex; align-items: center; column-gap: 1.4rem; font-weight: 500; line-height: 1.2; color: var(--clr-dark);
            > i { --size: 2.2rem; font-size: calc(var(--size) * .5); width: var(--size); height: var(--size); min-width: var(--size); border-radius: 50%; background-color: var(--clr-accent); color: #fff; text-align: center; line-height: var(--size); }
        }
    }
}

.wpb-card.wpb-card--article {
    .excerpt { --excerpt-line-clamp: 2; display: -webkit-box; -webkit-line-clamp: var(--excerpt-line-clamp); -webkit-box-orient: vertical; overflow: hidden; }
    .btn.btn--bookmark { position: absolute; top: 1.6rem; right: 1.6rem; z-index: 1; }
    .wpb-card__title { margin-bottom: .8rem; }
}

.wpb-card.wpb-card__search-result {
    .wpb-card__header img { aspect-ratio: 16/9; object-fit: cover; }
    .wpb-card__footer { display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 1.6rem; }
}

.wpb-card.wpb-card--function { text-align: center; border: none; background: var(--clr-light); transition: background-color var(--ts-duration) var(--ts-function);
    .wpb-card__footer .btn::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } 
    .card-title { font-size: clamp(1.8rem, 2vw, 2.2rem) }

    &:hover { background-color: var(--clr-light-40); 
        .btn.btn--link { --clr: var(--clr-primary); }
    }
}

.wpb-card.wpb-card--function-compact { position: relative; border: none; background: var(--clr-light); transition: background-color var(--ts-duration) var(--ts-function);

    .card-title { font-size: clamp(1.8rem, 2vw, 2.2rem) }
    .wpb-card__body { padding-bottom: 1rem; }
    .wpb-card__footer a::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } 

    &:hover { background-color: var(--clr-light-40); }
    &.disabled { opacity: .6; pointer-events: none; }
}

@media (max-width: 767.98px) {
    .wpb-card.wpb-card--function-compact .wpb-card__footer { padding: 2rem; position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; display: flex; align-items: center; justify-content: end; }
}

.wpb-card.wpb-card--for { border: none; box-shadow: 0 .1rem .4rem 0 rgba(0,0,0,.08);
    .card-title { font-size: clamp(2rem, 4vw, 2.2rem); }
    .card-excerpt { --line-clamp: 5; display: -webkit-box; -webkit-line-clamp: var(--line-clamp); -webkit-box-orient: vertical; overflow: hidden; }
    .wpb-card__body { padding-bottom: 2rem; }
    .wpb-card__footer .btn { width: 100%;
        &::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; } 
    }
}

.wpb-card.wpb-card--workflow { border: .2rem dashed var(--clr-border);
    .card-title { font-size: clamp(2rem, 4vw, 2.2rem); display: flex; justify-content: center; align-items: center; column-gap: 1rem; font-weight: 500;
        i { --size: 2.4rem; width: var(--size); height: var(--size); font-size: calc(var(--size) * .5); border-radius: 50%; background-color: var(--clr-border); color: var(--clr-text); text-align: center; line-height: var(--size); }
    }
    .card-description { font-size: 1.5rem; text-align: center; color: var(--clr-dark-750); margin-top: .5rem; }

    .wpb-image { margin-top: 3.2rem; }

    &.wpb-card--workflow--pro { border: .2rem solid var(--clr-accent);
        .card-title i { background-color: var(--clr-accent); color: #fff; }
    }
}

.wpb-card.wpb-card--quote { border: none; background-color: var(--clr-light);
    .wpb-partner { margin-top: 2rem; }
}

.wpb-card.wpb-card--integration { border: none; box-shadow: 0 .1rem .4rem 0 rgba(0,0,0,.08);
    .card-title { display: flex; align-items: center; column-gap: 1.1rem;
        img { width: 3.1rem; height: 3.7rem; object-fit: contain; }
        span { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; } 
    }
    .card-description { font-size: 1.4rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; opacity: .8; margin-top: 1rem; }
}
.wpb-card--industry-colleague{ --p: 0; --br: 0; border: none; background: transparent; height: 100%;
    .wpb-card__body{ flex-grow: 0; }
    .wpb-card__footer{ flex-grow: 1; padding-top: clamp(1.8rem, 2vw, 2.2rem); transition: opacity var(--ts-duration) var(--ts-function); }
    .wpb-card__footer .card-title{ font-size: 1.8rem; font-weight: 500; line-height: 1.3; }
    .wpb-card__footer .wpb-text{ display: inline-flex; flex-direction: column; align-items: start; justify-content: space-between; height: 100%; }
    .wpb-card__footer .btn{ margin-top: 1.8rem; }
    &:hover .btn { --clr: var(--clr-secondary); }
}

.wpb-card--blurb,
.wpb-card--references,
.wpb-card--featured-reference, 
.wpb-card--vacancies,
.wpb-card--events { --p: 2.4rem; --br: var(--br-30); --thumb-width: 100%; --bg: var(--gradient-primary-3); background: var(--bg); border: none; flex-direction: column-reverse; overflow: hidden;
    .wpb-card__header { min-width: var(--thumb-width); width: var(--thumb-width); min-height: 24rem; position: relative; overflow: hidden; }
    .wpb-card__header img { border-radius: 0; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform var(--ts-duration) var(--ts-function); }
    .wpb-card__body { display: flex; }
    .wpb-card__cta { --inner-clr: #FFFF; --icon-size: 4rem; position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: var(--p); display: flex; align-items: end; z-index: 2; color: var(--inner-clr); gap: 1.2rem; }
    .wpb-card__cta span { line-height: 1.3; }
    .wpb-card__cta > i { font-size: 1.2rem; width: var(--icon-size); min-width: var(--icon-size); height: var(--icon-size); border-radius: 50%; border: 2px solid var(--inner-clr); display: inline-grid; place-items: center; transition: border var(--ts-duration) var(--ts-function), background var(--ts-duration) var(--ts-function); }
}

.wpb-card--references,
.wpb-card--featured-reference, 
.wpb-card--vacancies,
.wpb-card--events {
    .wpb-text p { --line-clamp: 5; font-size: 1.6rem; line-height: 1.4; font-weight: 400; opacity: .8; display: -webkit-box; -webkit-line-clamp: var(--line-clamp); -webkit-box-orient: vertical; overflow: hidden; }
}


.wpb-card--featured-reference { height: 100%;
    .card-title{ font-size: clamp(2rem, 2vw, 3.2rem); }
    .wpb-card__header::before{ content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0) 80%); z-index: 1; }
    .wpb-text {
        p { --line-clamp: 4; }
        *:not(.btn, .btn *, .badge, .badge *){  color: #FFFF; }
    }
    .wpb-card__cta:hover > i{ background: var(--clr-primary); border-color: var(--clr-primary); }
    &:has(.wpb-card__cta:hover) .wpb-card__header img{ transform: scale(1.05); }

    .wpb-card__body { flex-direction: column;
        .wpb-text { margin-bottom: 1em; }
        .btn { margin-top: auto; margin-right: auto; }
    }
}
.wpb-card--vacancies,
.wpb-card--events { --bg: var(--clr-light); 
    .card-title{ font-size: clamp(1.8rem, 2vw, 2.2rem); }
    .wpb-text .btn{ --mt: clamp(2.4rem, 3.2vw, 4rem); }
    &:hover .wpb-card__header img{ transform: scale(1.05); }
}
.wpb-card--references { --bg: var(--clr-light); 
    .card-title{ font-size: clamp(1.6rem, 1.8vw, 2rem); }
    .wpb-text { display: flex; flex-direction: column;
        *:has(+ .btn) { margin-bottom: 1.6rem; }
        .btn{ margin-top: auto; justify-content: start; }
    }
    &:hover {
        .wpb-card__header img{ transform: scale(1.05); }

        .btn--link { --clr: var(--clr-primary); }
    }
}
.wpb-card--blurb { --bg: var(--clr-light); height: 100%; transition: background-color var(--ts-duration) var(--ts-function);
    .wpb-card__header { border-radius: var(--br); overflow: hidden; }
    .card-title { font-size: clamp(1.8rem, 1.8vw, 2.2rem); display: flex; }
    .wpb-text { display: flex; flex-direction: column; 
        *:has(+ .btn) { margin-bottom: 1.6rem; }
        .btn { margin-top: auto; justify-content: start; text-align: left; }
    }
    .wpb-text p { font-size: 1.6rem; }

    &.disabled { opacity: .6; pointer-events: none; }
    &:hover { --bg: var(--clr-light-40); height: 100%; 
        .wpb-card__header img { transform: scale(1.05); }
        .btn--link { --clr: var(--clr-primary); }
    }


}
.wpb-card--events {
    .wpb-card__header img { border-radius: var(--br); }
}
.wpb-card--events-expired{ --br: 0; border-left: none; border-right: 0;
    .card-title{ --mt: 1.2rem; --line-clamp: 2; font-size: clamp(1.6rem, 2vw, 2rem); display: -webkit-box; -webkit-line-clamp: var(--line-clamp); -webkit-box-orient: vertical; overflow: hidden; transition: color var(--ts-duration) var(--ts-function); }
    .wpb-text{ max-width: clamp(26rem, 40vw, 55.8rem); }
    .wpb-card__body{ padding-inline: 0; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1.2rem; }

    & .wpb-text:hover .card-title{ color: var(--clr-primary);; }
    & + .wpb-card--events-expired{ border-top: none; }
}

.wpb-card--usp { --br: var(--br-30); --gap: 1.4rem; --icon-sz: 1.8rem; height: 100%; }
.wpb-card--usp .card-title { font-size: clamp(1.6rem, 2vw, 1.8rem); display: flex; align-items: center; column-gap: var(--gap); font-weight: 500; line-height: 1.2; }
.wpb-card--usp .card-title > .wpb-icon { display: block; --w: var(--icon-sz); --h: var(--icon-sz); color: var(--clr-primary); }
.wpb-card--usp .card-description { font-size: 1.4rem; margin-top: 1.6rem; color: var(--clr-dark-750); line-height: 1.4; opacity: .8; }


.wpb-card--cta { --image-size: 90%; --br: var(--br-30); background-color: var(--clr-dark); height: fit-content; 
    .wpb-team {
        .wpb-team__image { background-color: var(--clr-light); } 
    }
}
.wpb-card--cta .wpb-card__body { position: relative; z-index: 2; }
.wpb-card--cta .wpb-card__image { position: absolute; right: 0; bottom: 0; height: var(--image-size); width: auto; margin-right: var(--p); }
.wpb-card--cta .wpb-card__image img { width: auto; height: 100%; object-fit: contain; object-position: bottom; }
.wpb-card--cta .card-title { display: flex; align-items: center; gap: .8rem; font-size: clamp(1.8rem, 1.9vw, 2rem); font-weight: 500; }
.wpb-card--cta .wpb-text *:not(.btn, .btn *, input) { color: #FFFF; }
.wpb-card--cta .card-title .wpb-icon { --clr: #fff; }
.wpb-card--cta .wpb-text p { text-wrap: balance; opacity: .8; }

@media (min-width: 992px) {
    .wpb-card--cta { --image-size: 24rem; }
}
@supports (-webkit-touch-callout: none) {
    .wpb-card--cta .wpb-card__image { width: max-content; }
}

.wpb-card--news{ --aspect-ratio: min(60%, 20rem); --p: 0; background-color: transparent; border: none;
    .wpb-card__header{ position: relative; padding-bottom: var(--aspect-ratio); border-radius: var(--br); overflow: hidden;
        img{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 0; transition: transform var(--ts-duration) var(--ts-function); }
        .badge-group{ position: absolute; top: 1.6rem; left: 1.6rem; right: 1.6rem; }
    }
    .wpb-card__body{ padding-top: 1.2rem; display: flex; flex-direction: column;
        .card-title { font-size: 1.6rem; }
        *:has(+ .btn) { margin-bottom: .5em; }
        .btn { --fs: 1.6rem; margin-top: auto; justify-content: start; }
    }
    &:hover .wpb-card__header img{ transform: scale(1.05); }
    
    &[class*="wpb-bg-clr--"] { --p: 2rem;
        .wpb-card__body { padding-top: var(--p); }  
    }
}

.wpb-archive--news, .wpb-featured {
    .wpb-card--news .card-title { font-size: 1.8rem; }
}

.wpb-card--post { border: none; box-shadow: rgba(0, 0, 0, 0.08) 0px 0px 10px;
    .wpb-card__header {
        img { max-width: 100%; width: auto; height: 13.8rem; border-radius: 1rem; object-fit: contain; }
    }  
    .card-title{ --mt: 1rem; font-size: clamp(1.8rem, 2vw, 2.2rem); line-height: 1.3; transition: color var(--ts-duration) var(--ts-function); }
    .wpb-text { height: 100%; display: inline-flex; flex-direction: column; }
    .wpb-text p{ --mt: 1rem; --line-clamp: 3; font-size: 1.6rem; display: -webkit-box; -webkit-line-clamp: var(--line-clamp); -webkit-box-orient: vertical; overflow: hidden; }
    .wpb-text .btn{ --mt: auto; padding-top: 2.4rem; width: auto; justify-content: start; }
    .btn-group { --mt: auto; }
    .wpb-card__header{ padding: var(--p); padding-bottom: 0; }
    .wpb-card__header {
        .wpb-ratio { --wpb-aspect-ratio: 70%; width: 75%; max-width: 19.6rem; box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 10px; border-radius: .8rem; overflow: hidden; 
            img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
        }
        /* img{ --br: .8rem; width: auto; height: 13.8rem; border-radius: var(--br); box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 10px; } */
    }

    &:hover {
        .btn.btn--link { --clr: var(--clr-primary); }
    }
} 
.wpb-card--benefit{ border: none; height: 100%;
    .wpb-card__header{ --aspect-ratio: min(67%, 25.4rem); position: relative; border-radius: var(--br); padding-bottom: var(--aspect-ratio); 
        img{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
    }
    .wpb-card__body { padding-top: 3.2rem; }
    .wpb-text{ text-align: center; }
    .wpb-text p{ --clr-text: var(--clr-dark-750); color: var(--clr-contrast, var(--clr-text)); font-size: 1.6rem; }
}
.wpb-card--team{ --bg: var(--clr-light); background-color: transparent; border: none; border-radius: 0; text-align: center;
    .wpb-card__header{ --aspect-ratio: 105%; position: relative; background-color: var(--bg); padding-bottom: var(--aspect-ratio); border-radius: var(--br); }
    .wpb-card__header img{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: contain; object-position: bottom; }
    .wpb-card__body { padding-bottom: 0; padding-top: 1rem; }
    .wpb-card__contact{ display: flex; align-items: center; position: absolute; top: var(--p); right: var(--p); gap: .6rem; }
    .wpb-card__contact .btn { --br: .6rem; --fs: 1.2rem; min-height: 3.6rem; --clr: var(--clr-primary); }

    .card-title { font-size: 2rem; }
    .card-function { opacity: .8; }
}

.wpb-card--team-placeholder { --bg: var(--clr-light); background-color: transparent; border: none; border-radius: 0; text-align: center;
    .wpb-card__header { --aspect-ratio: 105%; position: relative; padding-bottom: var(--aspect-ratio); background-color: var(--bg); border-radius: var(--br); }
    .wpb-card__header .border { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: calc(100%); height: calc(100%); }
    .wpb-card__header .wpb-icon { position: absolute; --w: 7rem; --h: var(--w); top: calc(50% - (var(--h) / 2)); left: calc(50% - (var(--w) / 2) - 1.5rem); transform: rotateZ(45deg); }

    /* Stuff voor outset van border */
    /* .wpb-card__header .border { top: -0.8rem; right: -0.8rem; bottom: -0.8rem; left: -0.8rem; width: calc(100% + 1.6rem); height: calc(100% + 1.6rem); }*/
    /* ^^ haal overflows van block > wpb-slider > Swiper > swiper wrapper > card header; af */

    .wpb-card__body { padding-bottom: 0; padding-top: 1rem; }
    .card-title { font-size: 1.8rem; }
}

.wpb-bg-clr--light, .wpb-bg-clr--gradient{
    .wpb-card--events, .wpb-card--references, .wpb-card--blurb, .wpb-card--team, .wpb-card--vacancies { --bg: #FFF; }
    .wpb-card--events .wpb-card__body .btn{ --border: 1px solid var(--clr-border); }
}

.wpb-card--onboarding-overview {
    .wpb-card__body {
        .card-description { font-size: 1.5rem; color: var(--clr-dark-750); margin-top: .5rem; }

        .wpb-price { margin-top: 2rem; line-height: 1.4; display: grid; grid-template-columns: auto 1fr; align-items: start; column-gap: .8rem;
            .wpb-price__price { font-size: clamp(2.8rem, 4vw, 3.2rem); line-height: 1; }
            .wpb-price__type { font-size: 1.4rem; line-height: 2; }
            .wpb-price__description { font-size: 1.6rem; user-select: none; grid-column: span 2;
                i { font-size: 1rem; margin-left: .4rem; transition: transform var(--ts-duration) var(--ts-function); }
            }
        }
    }

    .wpb-accordion { padding: 0; padding-top: 2rem;
        .wpb-accordion__item { border: none; }
        .wpb-accordion__button { padding-bottom: 0; border-top: 1px solid rgba(var(--clr-dark-110-rgb), .2); display: flex; column-gap: .8rem; align-items: end; font-size: 1.6rem; font-weight: 600; line-height: 1; min-height: 3.1rem; }
        .wpb-accordion__body { padding-bottom: 0;
            * {  color: var(--clr-text)!important; }
        }
    }
    .card-functions { list-style: none; padding: 0; margin-top: 1.4rem;
        li { font-size: 1.6rem; line-height: 1.2; font-weight: 500; display: flex; align-items: start; column-gap: .8rem;
            i { font-size: 1rem; color: var(--clr-accent); margin-top: .4rem;}

            + li { margin-top: 1.4rem; }
        }
    }
}

.wpb-card--featured-reference {
    .card-description { opacity: 1!important; } 
}

@media (min-width: 768px) {
    .wpb-card--onboarding-overview { 
        .wpb-accordion { 
            .wpb-accordion__button { margin-bottom: 1rem; min-height: 4.1rem; pointer-events: none; cursor: default;
                i { display: none; }
            }
            .wpb-accordion__collapse { display: block!important; }
        }
    }
}

.wpb-card--package {
    .wpb-accordion .wpb-accordion__body * { color: var(--clr-text)!important; } 
}

.wpb-card--package-overview { 
    .wpb-card__body + .wpb-card__body { padding-top: 0; }
    .card-title { margin-bottom: 1rem; }
    .wpb-price { margin-top: 2rem; line-height: 1.4; display: grid; grid-template-columns: auto 1fr; align-items: start; column-gap: .8rem; padding-bottom: var(--p); border-bottom: 1px solid var(--clr-border);
        .wpb-price__price { font-size: clamp(2.2rem, 4vw, 3.2rem); line-height: 1; }
        .wpb-price__type { font-size: 1.4rem; line-height: 2; }
        .wpb-price__description { font-size: 1.6rem; user-select: none; grid-column: span 2;
            i { font-size: 1rem; margin-left: .4rem; transition: transform var(--ts-duration) var(--ts-function); }
        }
    }
    .card-functions { list-style: none; padding: 0; margin-top: 1.4rem;
        li { font-size: 1.6rem; line-height: 1.2; font-weight: 500; display: flex; align-items: start; column-gap: .8rem; align-items: center;
            i { font-size: 1rem; color: var(--clr-accent); }

            + li { margin-top: 1.4rem; }
        }
    }
}

.wpb-card--contact { border: none; background: var(--clr-dark); color: #fff; }

.wpb-card--maps { --p: 0; overflow: hidden;
    .wpb-card__body { display: flex; }
    iframe { width: 100%; }
}

@media (max-width: 575.98px) {
    .wpb-card {
        &.wpb-card--package.wpb-card--onboarding {
            .card-description { font-size: 1.5rem; color: var(--clr-dark-750); margin-top: .5rem; }
        }
    }
}

@container card-container (min-width: 36rem) { 
    .wpb-card--function .wpb-card__body { padding-inline: 3.2rem; }
    .wpb-card--function .wpb-card__footer { padding-inline: 3.2rem; }
}

@container card-container (min-width: 40rem) {
    .wpb-card.wpb-card--for { --br: var(--br-30); --p: 3.6rem; }
    .wpb-card.wpb-card--workflow { --p: 3.2rem; }
}

@container card-container (min-width: 50rem) {
    .wpb-card.wpb-card--workflow { --p: 3.6rem 5.5rem 6.4rem; }
}

@container card-container (min-width: 55rem) { 
    .wpb-card {
        &.wpb-card--news { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; align-items: center;
            .wpb-card__body { padding: 0; display: flex; flex-direction: column; align-items: start; }
        }
    }
}

@container card-container (min-width: 65rem) { 
    .wpb-card {
        &.wpb-card--news { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
    }
}

@media(max-width: 374.98px) {
    .wpb-card--cta:not(.wpb-card--cta--2, .wpb-card--cta){ --image-size: min(12rem, 80%) !important;
        .wpb-text{ padding-bottom: calc(var(--image-size) / 1.5); }
    }
}

@media(max-width: 575.98px){
    .wpb-card--events-expired .btn{ --size: 4rem; --p: 0; min-height: var(--size); width: var(--size); min-width: var(--size); height: var(--size); }
    .wpb-card--events-expired .btn span{ display: none; }
    .wpb-card--events-expired .wpb-card__body{ flex-wrap: nowrap; }

    .wpb-card--cta:not(.wpb-card--cta--2, .wpb-card--cta) { --image-size: min(18rem, 80%);
        .wpb-text{ padding-bottom: calc(var(--image-size) / 1.5); }
    }
}

@media(min-width: 768px){
    .wpb-card--featured-reference, .wpb-card--events, .wpb-card--references{ --thumb-width: min(50%, 62rem); --p: 3.2rem; flex-direction: row; }
    .wpb-card--usp .wpb-card__body > i{ --size: 2.4rem; }
    .wpb-card--cta, .wpb-card--post { --p: 2.8rem;height: 100%; }
    .wpb-card--cta .wpb-card__image{ opacity: 1; }

    .wpb-card--events, .wpb-card--blurb { --thumb-width: min(40%, 62rem); }
}

@media(min-width: 992px){
    .wpb-card--blurb{ --thumb-width: min(50%, 62rem); --p: 3.2rem; flex-direction: row; 
        .wpb-card__header img{ border-bottom-right-radius: var(--br); }
    }
    .wpb-card--usp, .wpb-card--events-expired{ --p: 2.8rem; }
    .wpb-card--featured-reference{ --p: 4rem; }

    .wpb-card--events, .wpb-card--blurb  { --thumb-width: min(40%, 62rem); }
}

@media(min-width: 1200px){
    .wpb-card--featured-reference .wpb-card__body{ padding: 6rem; }
    .wpb-card--industry-colleague .wpb-card__footer .card-title{ font-size: 2rem; }
    .wpb-card--cta, .wpb-card--post { --p: 3.6rem; }
    .wpb-card--events{ --p: 4.8rem; }

    .wpb-card--contact-form { --p: 4.8rem; }
    .wpb-card--apply { --p: 4.8rem; }
}

/*** ---------- Tabs ---------- ***/
.wpb-tabs { 
    --p: 0 2rem; 
    --clr: var(--clr-text); 
    --bg-clr: transparent; 
    --br: .5rem;
    --border: .1rem solid transparent; 
    --active-clr: var(--clr-primary); 
    --active-bg-clr: #fff; 
    --active-border: .1rem solid var(--clr-border);
    --tsd: var(--ts-duration);
    --tsf: var(--ts-function);
    --tsp: color, background-color, border-color;

    display: grid;

    .wpb-tabs__header { display: flex; flex-wrap: wrap; position: relative; z-index: 1; margin-bottom: -0.1rem; }
    .tab-button { font: inherit; display: inline-block; padding: var(--p); color: var(--clr); min-height: 4.3rem; background-color: var(--bg-clr); border-radius: var(--br) var(--br) 0 0; border: var(--border); text-align: center; text-decoration: none; vertical-align: middle; cursor: pointer; user-select: none; transition-duration: var(--tsd); transition-timing-function: var(--tsf); transition-property: var(--tsp);
        &.is-active { color: var(--active-clr); border-color: var(--active-clr); background-color: var(--active-bg-clr); border: var(--active-border); border-bottom: 1px solid transparent; }

    }
    .wpb-tabs__content { background-color: #fff; display: grid; border: .1rem solid var(--clr-border); border-radius: 0 0 var(--br) var(--br);
        .tab-pane { grid-column: 1/-1; grid-row: 1/-1; pointer-events: none; opacity: 0; padding: 2rem; transition: opacity var(--active-box-shadow) var(--tsf); 
            &.is-active { pointer-events: all; opacity: 1; }
            > * + * { margin-top: 1em; }
        }
    }
}

/*** ---------- Alignment ---------- ***/
.wpb-align--y-top .inner { -webkit-box-align: start; -ms-flex-align: start; align-items: start; }
.wpb-align--y-center .inner { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.wpb-align--y-bottom .inner { -webkit-box-align: end; -ms-flex-align: end; align-items: end; }

@media (min-width: 992px) {
    .wpb-align-left { order: -1; }
    .wpb-align-right { order: 999; }
}

/*** ---------- Badge ---------- ***/
.badge-group { display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; gap: .5rem; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.badge { 
    --fs: 1.2rem; 
    --lh: 1; 
    --p: .75rem 1.2rem; 
    --br: 2rem; 
    
    --clr: #fff; --bg-clr: var(--clr-dark); --border: none; --box-shadow: none; 
    --hover-clr: var(--clr); --hover-bg-clr: var(--bg-clr); --hover-border: var(--border); --hover-box-shadow: var(--box-shadow);
    
    display: inline-flex; align-items: center; gap: .4rem; font-size: var(--fs); line-height: var(--lh); font-weight: 600; padding: var(--p); color: var(--clr); background-color: var(--bg-clr); border-radius: var(--br); border: var(--border); box-shadow: var(--box-shadow); text-align: center; text-decoration: none; vertical-align: middle; user-select: none; transition-duration: var(--ts-duration); transition-timing-function: var(--ts-function); transition-property: color, background-color, border-color, box-shadow; 
    
    & i{ font-size: calc(var(--fs) - .2rem); }
    &:hover { color: var(--hover-clr); background-color: var(--hover-bg-clr); border: var(--hover-border); box-shadow: var(--hover-box-shadow); }

    /* Badge variations */
    &.badge--white { --clr: var(--clr-primary); --bg-clr: #FFFF; }
    &.badge--outline { --clr: var(--clr-primary); --bg-clr: #FFFF; --border: 1px solid var(--clr-border); 
        .wpb-icon { --clr: var(--clr-primary); }
    }
    &.badge--primary { --clr: #fff; --bg-clr: var(--clr-primary); }
    &.badge--secondary { --clr: #fff; --bg-clr: var(--clr-secondary); }
    &.badge--accent-2 { --clr: #fff; --bg-clr: var(--clr-accent-2); 
        .wpb-icon { --clr: #fff; }
    }
}

/*** ---------- backdrop ---------- ***/
.wpb-backdrop { background-color: rgba(0,0,0,.35); position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 50; opacity: 0; pointer-events: none; transition: opacity var(--ts-25) ease; 
    &.active { opacity: 1; pointer-events: all; }

    &.wpb-backdrop--navigation { background: transparent; }
}  


.wpb-logos { border-radius: 0 0 var(--br-100) var(--br-100); border-bottom: 1px solid var(--clr-border); padding: 3.2rem 0;
    .container { display: flex; flex-wrap: wrap; justify-content: space-evenly; align-items: center; gap: 2.4rem; }
    .wpb-image img { max-width: 12rem !important; max-height: 4.2rem !important; margin-inline: auto; }

    small{ display: block; font-size: 1.6rem; font-weight: 400; color: var(--clr-dark); padding-bottom: 2rem; line-height: 1; }
    &:has(.wpb-logos__inner){ --mt: clamp(3.2rem, 4vw, 4.8rem); border-radius: 0; border: none; padding: 0; }
    .wpb-logos__inner { align-items: center; }
}

@media (max-width: 575.98px) {
    .wpb-logos { display: none; }
    .wpb-header--subpage .wpb-logos { display: block; }
}

@media (min-width: 1200px) {
    .wpb-logos { padding: 4rem 0;
        .wpb-image img { max-width: 14.8rem !important; max-height: 10rem !important; }
    }
}

/*** ---------- Component: Team ---------- ***/
.wpb-team { display: inline-flex; align-items: end; column-gap: 1.4rem; font-size: var(--fs);
    .wpb-team__image { --size: 5.6rem; width: var(--size); min-width: var(--size); height: var(--size); border-radius: 50%; overflow: hidden; flex-shrink: 0;
        img { width: 100%; height: 100%; object-fit: cover; }
    }
    .wpb-team__text { line-height: 1.2; text-align: left;
        strong { display: block; width: 100%; font-weight: 600; margin-bottom: 0.6rem; }
        a { display: inline-flex; align-items: center; column-gap: .5rem; color: var(--clr-dark-750); text-decoration: none; cursor: pointer;
            i { --clr: var(--clr-dark-750); --w: 1.4rem; }
        }
    }
}

/*** ---------- Component: Range ---------- ***/
.range { display: inline-flex; align-items: center; column-gap: .6rem; padding: 1rem 1.4rem; border-radius: 4rem; background-color: #fff; border: 1px solid var(--clr-border); box-shadow: 0px .1rem .5rem 0px rgba(0,0,0,.1); 
    .range__icon { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; }
    .range__bar { --w: 0; --bg-clr: var(--clr-accent); display: flex; width: 10rem; height: .7rem; border-radius: 3rem; position: relative; background: var(--clr-border);

        &::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: var(--w); background-color: var(--bg-clr); border-radius: 3rem; }
        &::after { content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); display: block; width: 1.4rem; height: 1.4rem; background-color: #fff; box-shadow: inset 0 0 0 .4rem var(--clr-border); border-radius: 50%; }

        &.range__bar-100 { --w: 100%; --bg-clr: var(--clr-secondary); }
        &.range__bar-75 { --w: 75%; --bg-clr: var(--clr-secondary); }
        &.range__bar-50 { --w: 50%; --bg-clr: var(--clr-accent); }
        &.range__bar-25 { --w: 25%; --bg-clr: var(--clr-accent); }
    }
}

/*** ---------- Component: Social proof ---------- ***/
.wpb-social-proof { font-size: var(--fs); line-height: 1.2; display: inline-grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 1.2rem; padding: .5rem 1.6rem .5rem .8rem; border-radius: 3rem; }
.wpb-social-proof .wpb-social-proof__images { display: flex; align-items: center; }
.wpb-social-proof .wpb-social-proof__images figure { width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 1px solid var(--clr-primary-120); }
.wpb-social-proof .wpb-social-proof__images figure + figure { margin-left: -1.1rem; }
.wpb-social-proof .wpb-social-proof__images img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }

/*** ---------- Component: Breadcrumb ---------- ***/
.wpb-breadcrumbs { margin-bottom: 2.4rem;
    :is(span, a) { display: flex; align-items: center; color: inherit; text-decoration: none; font-size: 1.4rem; }
}
.wpb-breadcrumbs a:hover { text-decoration: underline }
.wpb-breadcrumbs .breadcrumb_last { font-weight: 500; }
.wpb-breadcrumbs > span { display: flex; column-gap: .8rem; }
.wpb-breadcrumbs .fa-caret-right { font-size: 1.2rem; }

/*** ---------- Social media ---------- ***/
.wpb-social-media { display: flex; flex-direction: column; gap: .5rem;
    a { text-decoration: none; display: grid; grid-template-columns: 2.2rem 1fr; column-gap: .4rem; align-items: center; color: inherit; 
        i { font-size: 1.6rem; width: 2.2rem; text-align: center; }
    }  
}

/*** ---------- Footer CTA ---------- ***/
*:has(+ .wpb-block--cta, + .wpb-block--form) { z-index: 3!important; border-bottom-left-radius: var(--br-100); border-bottom-right-radius: var(--br-100); }
.wpb-bg-clr--transparent:has(+ .wpb-block--cta, + .wpb-block--form) { background-color: #fff; }

* + .wpb-block--cta, * + .wpb-block--contact-info--cta { border-top-left-radius: 0!important; border-top-right-radius: 0!important; }
* + .wpb-block--cta , * + .wpb-block--form, * + .wpb-block--contact-info--cta { margin-top: calc(var(--br-100) * -1); }
.wpb-block--cta { z-index: 2!important; border-radius: 0 0 var(--br-100) var(--br-100); --fs-h2: clamp(2.6rem, 4vw, 4rem); font-size: var(--fs-display); padding-top: 12.4rem; padding-bottom: 10rem; text-align: center;
    .logo { width: 18rem; margin: 0 auto 2rem auto;
        img { width: 100%; height: auto; filter: brightness(0) invert(1); }
    }
    .wpb-text { margin-bottom: 2rem; }
    .wpb-section__bg-assets { border-radius: 0 0 var(--br-100) var(--br-100);
        .wpb-asset { --bg: var(--gradient-primary-2); bottom: 0; right: 0; }
    }
}

.wpb-block--contact-info--cta { z-index: 2!important; border-radius: 0 0 var(--br-100) var(--br-100); padding-top: 12.4rem; padding-bottom: 10rem;
    .wpb-text { margin-bottom: 2rem; }
    .wpb-section__bg-assets { border-radius: 0 0 var(--br-100) var(--br-100);
        .wpb-asset { --bg: var(--gradient-primary-2); bottom: 0; right: 0; }
    }
}

@media (min-width: 1200px) {
    * + .wpb-block--cta, * + .wpb-block--contact-info--cta { margin-top: -3.2rem; }
    .wpb-block--cta, .wpb-block--contact-info--cta { padding-top: 12.7rem; padding-bottom: 13rem;
        .wpb-text { margin-bottom: 3.6rem; }
        .logo { margin: 0 auto 3.6rem auto; }
        .logo { width: 25rem; }
    }
}

/* Contact links */
.contact-link { min-height: 5.6rem; padding: .5rem 2.4rem; border-radius: 4rem; background: rgba(255,255,255,.1); color: #fff; display: flex; align-items: center; column-gap: .9rem; text-decoration: none; transition-property: background-color, color; transition-duration: var(--ts-duration); transition-timing-function: var(--ts-function);
    > i { font-size: 1.4rem;

        &.fa-arrow-right { font-size: 1.8rem; opacity: .5; margin-left: auto; }
    }
    .contact-link__text { display: flex; flex-direction: column; line-height: 1.2;
        strong { font-size: 1.6rem; }
        span { font-size: 1.4rem; opacity: .65; }
    }

    &:hover { background-color: #fff; color: var(--clr-primary);
        * { color: var(--clr-primary); }
    }
}
.contact-link strong { display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 1rem; width: 100%; }

/*** ---------- Footer ---------- ***/
:is(.wpb-block--cta, .wpb-block--form, .wpb-block--contact-info--cta) + .wpb-footer { margin-top: -2.4rem; }
.wpb-footer { --clr-contrast: #fff; padding-top: 2.4rem;

    .logo { display: block; margin-bottom: 1.4rem;
        img { width: 7.7rem; filter: brightness(0) invert(1); }
    }

    .wpb-footer__usps { border-bottom: 1px solid rgba(255,255,255,.15); padding: 4.2rem 0 2.4rem 0; 
        .usp { display: flex; align-items: center; column-gap: .8rem; font-weight: 500; line-height: 1.2; color: #fff; justify-content: center;
            > i { --size: 2.2rem; font-size: calc(var(--size) * .5); width: var(--size); height: var(--size); min-width: var(--size); border-radius: 50%; background-color: var(--clr-accent); color: #fff; text-align: center; line-height: var(--size); }
        }
    }

    .wpb-footer__main { padding: 2.4rem 0 4.6rem 0; --gc: 1; color: var(--clr-contrast);
        .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 2.4rem; }
    }

    .wpb-footer__menu {

        .gform_wrapper .gform_validation_errors { background-color: rgba(255,255,255,.1)!important; }

        .footer-menu__title { font-size: 1.8rem; display: block; margin-bottom: 1rem; font-weight: 500!important; color: inherit; text-decoration: none; text-decoration: none; font-weight: bold; }
        
        ul { list-style: none;
            li {
                a { font-size: 1.5rem; opacity: .8; display: block; color: #fff; text-decoration: none; padding-top: .2rem; transition: opacity var(--ts-duration) var(--ts-function);
                    &:hover { opacity: 1; }
                }
            }
        }

        .menu-item { text-decoration: none; color: inherit; display: block; }

        .wpb-social-media a { opacity: .8; transition: opacity var(--ts-duration) var(--ts-function);
            &:hover { opacity: 1; }
        }        

        &.wpb-footer__menu--info {
            .footer-menu__title { display: flex; align-items: start; justify-content: start; column-gap: 1rem;
                .logo { display: none; }
            }
            .wpb-text { --mt: .2em;
                p span { opacity: .8; } 
                p + .contact-link { margin-top: 1.8rem; }
                .contact-link + .contact-link { margin-top: .8rem; }

                + .footer-menu__title { margin-top: 3.5rem; }
            }

            #gform_2 {
                [type="email"] { font-size: 1.6rem; color: #fff; max-height: 4.6rem!important; height: 4.6rem!important; min-height: 4.6rem!important; background-color: rgba(255,255,255,.1)!important; padding-right: 17rem !important;
                    &::placeholder { color: var(--clr-light); }
                }
                .gform_footer [type="submit"] { --p: 0 1.6rem; max-height: 3.8rem!important; min-height: 3.8rem!important; height: 3.8rem!important; font-size: 1.6rem; --bg-clr: var(--clr-primary); --border: 1px solid var(--clr-primary); --hover-bg-clr: var(--clr-primary); --hover-border: 1px solid var(--clr-secondary); --hover-bg-clr: var(--clr-secondary); }   
            }
        }

        &.wpb-footer__menu--by { font-size: 1.4rem;
            p { opacity: .8; }
            .logo-secondary { width: 14.7rem; margin-top: 1rem; }
        }
    }

    .wpb-footer__bottom { color: #fff; padding: 0 0 4rem 0; font-size: 1.2rem;
        .container { display: flex; flex-direction: column; align-items: center; gap: 1.6rem; }
    }
} 

@media (max-width: 575.98px) {
    .wpb-footer {
        .wpb-footer__usps .wpb-swiper { overflow: visible; }
    }
}

@media (min-width: 768px) {
    .wpb-footer {
        .wpb-footer__main { --gc: 2; 
            .wpb-footer__menu--info { grid-column: 2/3; grid-row: 1/2; }
        }
        .wpb-footer__bottom .container { flex-direction: row; justify-content: center; }

        .wpb-footer__usps { 
            .usp { justify-content: start;
            }
        }
    }
}

@media (min-width: 992px) {
    .wpb-footer .wpb-footer__main { --gc: 3; padding-top: 6.4rem;
        .container { row-gap: 3.8rem; }
        .wpb-footer__menu--info { grid-column: 3/4; }
    }
}

@media (min-width: 1200px) {
    :is(.wpb-block--cta, .wpb-block--form, .wpb-block--contact-info--cta) + .wpb-footer { margin-top: -3.2rem; }
    .wpb-footer { padding-top: 3.2rem; 
        .wpb-footer__main { --gc: 4; padding-top: 8rem; padding-bottom: 7.6rem;
            .wpb-footer__menu--info { grid-column: 4/5; }
        }

        .wpb-footer__menu .footer-menu__title { font-size: 1.8rem; }
    }
}

@media (min-width: 1400px) {
    .wpb-footer {
        .wpb-footer__main {
            .container { grid-template-columns: 1fr 1fr 1fr 33.5rem; gap: 3.8rem; }
            .wpb-footer__menu--info .footer-menu__title { justify-content: space-between;
                .logo { display: block; }
            }
            .wpb-footer__menu--by .logo-secondary { width: 11.7rem; }
        }
    }
}

/*** ---- MUX PLAYER ---- ***/
.wpb-mux-video { position: relative; width: 100%;
    &::before { content: ''; display: block; padding-top: 56.25%; } /* 16:9 Aspect Ratio */
    mux-player { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
}

/*** ---------- Modal ---------- ***/
.modal { 
    --br: var(--br-100); 
    --p: 2rem; 
    --backdrop-clr: rgba(0,0,0,.45); 
    
    position: fixed; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; pointer-events: none; padding: 2rem; background-color: var(--backdrop-clr); display: none; justify-content: center; align-items: center; transition: opacity var(--ts-duration) ease-in-out; z-index: 1090; 

    .modal-dialog { display: flex; flex-direction: column; border-radius: var(--br); width: 100%; max-width: 74rem; height: auto; max-height: 80vh; transform: translateY(5rem); transition: transform var(--ts-25) ease; background-color: #fff; overflow: hidden; 
        .modal-dialog__header { display: flex; justify-content: space-between; align-items: center; padding: var(--p); background-color: #fff; font-family: inherit; 
            .modal-title { font-size: 2rem; margin: 0; } 
        }    
        .modal-dialog__body { background-color: #fff; padding: var(--p); overflow-y: auto; overflow-x: hidden; }
        .modal-dialog__footer { display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; border-top: 1px solid #E4E9EA; background-color: #fff; padding: var(--p); z-index: 2; margin-top: auto; }
    }
    
    &.show { display: flex; opacity: 1; pointer-events: all; 
        .modal-dialog { transform: translateY(0); }
    }

    /* Modal variations */
    &.modal--small .modal-dialog { max-width: 60rem; max-height: 60rem; }
    &.modal--large .modal-dialog { max-width: 100rem; max-height: 60rem; }
    &.modal--fullscreen { padding: 0; }
    &.modal--fullscreen .modal-dialog { height: 100%; max-height: 100%; max-width: 100%; border-radius: 0; }

    &.modal--video { --p: 0; padding-inline: 0;
        .btn--close { position: absolute; top: 2rem; right: 2rem; z-index: 1; }
        .modal-dialog { max-width: 100%; max-height: 100%; overflow: hidden; }
    }
}

@media (min-width: 576px) {
    .modal.modal--fullscreen { --p: 2rem calc((100% - 540px) / 2 + 2rem); }
}

@media (min-width: 768px) {
    .modal.modal--fullscreen { --p: 2rem; }
    .modal.modal--fullscreen .modal-dialog { max-width: 74rem; height: auto; max-height: 80vh; border-radius: var(--br); }
}

@media (min-width: 992px) {
    .modal { --p: 3.2rem; }
    .modal.modal--fullscreen { --p: 3.2rem; }
}

/*** ---------- Tooltips ---------- ***/
.wpb-tooltip { --bg: rgb( 255,255,255); position: absolute; pointer-events: none; opacity: 0; background-color: var(--bg); color: inherit; font-size: 1.3rem; line-height: 2rem; padding: .5rem 1rem; border-radius: .5rem; z-index: 9999; box-shadow: 0 0 .75rem .25rem rgba(0,0,0,.1);
    &::after { content: ''; position: absolute; width: 0; height: 0; border-style: solid; border-width: 0 .5rem .5rem .5rem; border-color: transparent transparent var(--bg) transparent; bottom: 100%; transform: translateX(-50%); left: 50%; }

    /* Tooltip variations */
    &.wpb-tooltip--left::after { border-width: .7rem 0 .7rem .7rem; border-color: transparent transparent transparent var(--bg); top: 50%; transform: translateY(-50%); left: calc(100% - 1px); }
    &.wpb-tooltip--right::after { border-width: .7rem .7rem .7rem 0; border-color: transparent var(--bg) transparent transparent; top: 50%; transform: translateY(-50%); right: calc(100% - 1px); left: auto; }
    &.wpb-tooltip--top::after { border-width:  .5rem .5rem 0 .5rem; border-color: var(--bg) transparent transparent transparent; top: 100%; transform: translateX(-50%); left: 50%; }

}
.wpb-tooltip.show { opacity: 1; }

/*** ---------- Dropdowns ---------- ***/
.wpb-dropdown { position: relative; 

    .wpb-dropdown__menu { opacity: 0; pointer-events: none; min-width: 10rem; border-radius: .5rem; position: absolute; top: calc(100% + .5rem); left: 0; background-color: #fff; box-shadow: 0 0.5rem 0.5rem rgb(21, 47, 51, .1); border: 1px solid rgba(var(--clr-border)); padding: 1.25rem; transition: opacity var(--ts-duration) ease-in-out; 
        ul { list-style: none; 
            .dropdown-item { white-space: nowrap; display: flex; gap: .5rem; text-decoration: none; }
        }
    }
    .wpb-dropdown__menu-right { left: auto; right: 0; }
    .wpb-dropdown__toggle[aria-expanded="true"] + .wpb-dropdown__menu { opacity: 1; pointer-events: all; z-index: 850; }  

    /* Dropdown variations */
    &.wpb-dropdown__left {
        .wpb-dropdown__menu { top: 0; right: calc(100% + .5rem); left: auto; } 
        .wpb-dropdown__toggle i { order: -1; transform: rotate(90deg); }
    } 
    &.wpb-dropdown__right {
        .wpb-dropdown__menu { top: 0; left: calc(100% + .5rem); right: auto; } 
        .wpb-dropdown__toggle i { order: 9999; transform: rotate(-90deg); }
    }
}

/*** ---------- Tables ---------- ***/
.wpb-table { overflow-x: auto; }
table { 
    --clr: var(--clr-text); 
    --border-clr: var(--clr-border); 
    --accent-bg-clr: transparent; 
    --hover-clr: var(--clr-text); 
    --hover-bg-clr: rgba(0, 0, 0, 0.075); 
    --border-width: .1rem; 
    
    border-collapse: collapse; width: 100%; color: var(--clr); vertical-align: top; border-color: var(--border-clr); border-spacing: 0; margin: 0 0 1.41575em; }
table td, table th { padding: 1em 1.41575em; text-align: left; vertical-align: top; border-color: inherit; border-style: solid; border-width: 0; border-bottom-width: var(--border-width); }
table thead { vertical-align: bottom; }

/*** ---------- Filters ---------- ***/
.wpb-toolbar .container { display: grid; grid-template-columns: 1fr; }

@media (width > 576px) {
    .wpb-toolbar .container { grid-template-columns: 1fr 20rem; }
}

/*** ---------- Pagination ---------- ***/
.wpb-pagination { --size: 5.4rem; --p: 0; --clr: var(--clr-text); --bg-clr: #fff; --border: 1px solid var(--clr-light); --br: .8rem; --hover-clr: #fff; --hover-bg-clr: var(--clr-primary); --hover-border: var(--border); --active-color: var(--hover-clr); --active-bg-clr: var(--hover-bg-clr); --active-border: var(--hover-border); position: relative; display: flex; justify-content: center; 
    .has-prev-next { padding-left: var(--size); padding-right: var(--size); } 
    ul { position: relative; --gap: .8rem; list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: var(--gap); padding-top: 3.2rem; }
    li {
        > * { width: var(--size); height: var(--size); min-width: var(--size); display: inline-grid; place-items: center; font-weight: 600; font-size: 1.6rem; line-height: 1.6; padding: var(--p); color: var(--clr); background-color: var(--bg-clr); border-radius: var(--br); border: var(--border); text-align: center; text-decoration: none; vertical-align: middle; cursor: pointer; user-select: none; transition-property: color, background-color, border-color; transition-duration: var(--ts-duration); transition-timing-function: var(--ts-function); 
            i { --w: 1.5rem; --h: 1.5rem; pointer-events: none; }    
        }
        > *:hover, > *:focus, > *:active { color: var(--hover-clr); background-color: var(--hover-bg-clr); border: var(--hover-border); }
        > *:hover i { --clr: var(--hover-clr) }
        > *.current { color: var(--active-color); background-color: var(--active-bg-clr); border: var(--active-border); }
        .page-number__prev { position: absolute; left: 0; }
        .page-number__next { position: absolute; right: 0; }
        :has([data-page="…"]), [data-page="…"] { pointer-events: none!important; }
    }
}

/*** ---------- Offcanvas ---------- ***/
.wpb-offcanvas { --p: 1.8rem; width: 100%; position: fixed; top: 0; right: 0; bottom: 0; left: auto; flex-direction: column; z-index: 9999; background-color: #fff; transform: translate3d(100%, 0, 0); transition: transform var(--ts-35) ease; }
.wpb-offcanvas.wpb-offcanvas--left { transform: translate3d(-100%, 0, 0); top: 0; right: auto; bottom: 0; left: 0; }
.wpb-offcanvas.is-active { pointer-events: all; transform: translate3d(0%, 0, 0); }
.wpb-offcanvas .wpb-offcanvas__header { display: flex; justify-content: space-between; align-items: center; padding: var(--p); }
.wpb-offcanvas .wpb-offcanvas__body { padding: var(--p); flex-grow: 1; overflow-y: auto; }
.wpb-offcanvas .wpb-offcanvas__footer { display: grid; padding: var(--p); }
.btn[data-target="#productFilters"] { position: fixed; bottom: 2rem; left: 50%; transform: translateX(-50%); z-index: 600; }

.wpb-offcanvas.wpb-offcanvas--filters form > * + * { margin-top: 2rem; }

@media (min-width: 576px) {
    .wpb-offcanvas { max-width: 45rem; }
}

@media (min-width: 992px) {
    .wpb-offcanvas.wpb-offcanvas--filters { --p: 0; display: flex!important; position: static; transform: none; z-index: 1; }
    .wpb-offcanvas.wpb-offcanvas--filters .wpb-offcanvas__header,
    .wpb-offcanvas.wpb-offcanvas--filters .wpb-offcanvas__footer { display: none; }
    .btn[data-target="#productFilters"] { display: none; }
}

/*** ---------- Single ---------- ***/
.wpb-related--posts { --gc: 1; --gap: 3.2rem; }
.wpb-related--posts .wpb-text { margin-bottom: 3.2rem; }
.wpb-related--posts .container.container--articles { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: var(--gap); }

.wpb-content .container { display: grid; grid-template-columns: minmax(0, 1fr); }

.wpb-accordion .wpb-table-of-contents ul { list-style: none;
    a { display: inline-flex; align-items: center; gap: 1rem; text-decoration: none; font-weight: 500; transition: color var(--ts-duration) var(--ts-function);
        &:hover { color: var(--clr-primary); }
    }
}


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

    .wpb-content .container { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 3.2rem; }
}

@media (min-width: 1200px) {
    .wpb-content .container { grid-template-columns: minmax(0, 1fr) minmax(0, 40rem); column-gap: 6.4rem; }
}

.social-share-icons { display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: .25rem; padding-top: 1.6rem; }

/*** ---------- Aspect ratio ---------- ***/
.wpb-ratio { --wpb-aspect-ratio: 100%; position: relative; width: 100%; }
.wpb-ratio::before { display: block; padding-top: var(--wpb-aspect-ratio); content: ""; }
.wpb-ratio--21x9 { --wpb-aspect-ratio: 42.8571428571%; }
.wpb-ratio--16x9 { --wpb-aspect-ratio: 56.25%; }
.wpb-ratio--1x1 { --wpb-aspect-ratio: 100%; }
.wpb-ratio--4x3 { --wpb-aspect-ratio: 75%; }
.wpb-ratio > * { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.wpb-ratio > img { object-fit: cover; } 

/*** ---------- Alerts ---------- ***/
.wpb-alert { --clr: #fff; --bg: var(--clr-primary); --br: 1.6rem; display: block; padding: 1.6rem; color: var(--clr); background-color: var(--bg); border-radius: var(--br); }
.wpb-alert.wpb-alert-icon { display: grid; grid-template-columns: 2.8rem 1fr; gap: 1.6rem; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.wpb-alert.wpb-alert-icon i-wrapper { width: 2.8rem; height: 2.8rem; }
.wpb-alert.wpb-alert-icon i-wrapper i { --w: 2.8rem; --h: 2.8rem; }
.wpb-alert *:not(.btn) { color: inherit; }

.wpb-alert.wpb-alert--info { --border: 1px solid rgb(0, 143, 214); --bg: rgb(0, 143, 214); }
.wpb-alert.wpb-alert--warning { --border: 1px solid rgb(194, 100, 47); --bg: rgb(194, 100, 47); }
.wpb-alert.wpb-alert--danger { --border: 1px solid rgb(216, 19, 19); --bg: rgb(216, 19, 19); }
.wpb-alert.wpb-alert--success { --border: 1px solid rgb(78, 168, 69); --bg: rgb(78, 168, 69); }

/*** ---------- Page: Search ---------- ***/
.wpb-search-results { --gc: 1; --gap: 2.2rem; }
.wpb-search-results .wpb-text { margin-bottom: 3.2rem; }
.wpb-search-results .inner { display: grid; gap: var(--gap); grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); }
.wpb-search-results .result { text-decoration: none; display: flex; gap: .5rem; padding: .75rem 1.25rem; margin-bottom: -.1rem; transition: background-color var(--ts-duration) ease-in-out; }
.wpb-search-results .result .info { display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; gap: .5rem; }
.wpb-search-results .result .info i { margin-left: auto; }
.wpb-search-results .result { border: 1px solid var(--clr-border); }
.wpb-search-results .result:hover { background-color: #f2f2f2; }
.wpb-search-results :is(.result:first-child, .no-result) { margin-top: 1.6rem; }

/*** ---------- Wux Advanced Search ---------- ***/
.wpb-search-results { display: grid; gap: 2.2rem; position: relative; }
.wpb-search-results h3 { --fs: 2rem; padding-bottom: .8rem; }
.wpb-search-results.--loading { min-height: 6.4rem; margin-top: 2.2rem; }
.wpb-search-results.--loading::after { content: ''; --src: url('/app/themes/wuxnl-theme/assets/icons/default/icon_loading.svg'); --clr: var(--clr-text); --w: 2rem; --h: 2rem; -webkit-mask-image: var(--src); mask-image: var(--src); -webkit-mask-size: contain; mask-size: contain; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; display: inline-block; width: var(--w); height: var(--h); background-color: var(--clr); position: absolute; top: calc(50% - (var(--h) / 2)); left: calc(50% - (var(--w) / 2)); animation: rotate 0.5s linear infinite; }
.wpb-search-results.--loading .result-section { opacity: .5; }
.wpb-search-results .result-section:nth-child(1) { margin-top: 2.2rem; }
.wpb-search-results.--loading .result-section:nth-child(1) { margin-top: 0; }
.wpb-search-results .result-section .results:is(.posts, .terms) { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .8rem; }
.wpb-search-results .no-result-section { border: 1px solid var(--clr-border); padding: 2.2rem; border-radius: 1rem; margin-top: 2.2rem; }
.wpb-search-results.--loading .no-result-section { margin-top: 0; }

@media (min-width: 768px) {
    .wpb-search-results .result-section .results:is(.posts, .terms) { grid-template-columns: repeat(auto-fill, minmax(25rem, 1fr)); }
}

/* Add to cart/bookmark animation */
.add-success, .saved-success { position: fixed; top: 3.2rem; right: 3.2rem; background-color: var(--clr-primary); z-index: 9999; width: 4.4rem; height: 4.4rem; border-radius: 50%; display: inline-grid; place-items: center; transform: scale(0); animation: scale .5s cubic-bezier(0,0,.5,1.5) forwards, transform .5s forwards; animation-delay: 0s, 1.6s; } 
.add-success i, .saved-success i { --clr: #fff; }
.add-success:after, .saved-success:after { content: ''; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-radius: 50%; animation: pulse 1s forwards; animation-delay: .6s; }

@keyframes rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

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

@keyframes transform {
    0% { transform: scale(100%) translateY(0px); opacity: 1; }
    100% { transform: scale(100%)  translateY(-10rem); opacity: 0; }
}

@keyframes pulse {
    0% { transform: scale(0.95); box-shadow: 0 0 0 0 var(--clr-primary); opacity: .7; }
    70% { transform: scale(1); box-shadow: 0 0 0 1.5rem var(--clr-primary); opacity: 0; }
    100% { transform: scale(0.95); box-shadow: 0 0 0 0 var(--clr-primary); opacity: 0; }
}

@keyframes pulse--noshadow {
    0% { transform: scale(0.95); }
    70% { transform: scale(1); }
    100% { transform: scale(0.95); }
}

@keyframes wave-0-70 {
    0% { transform: rotateZ(0deg); }
    50% { transform: rotateZ(70deg); }
    100% { transform: rotateZ(0deg); }
}

@keyframes wave-45-45 {
    0% { transform: rotateZ(0deg); }
    25% { transform: rotateZ(45deg); }
    75% { transform: rotateZ(-45deg); }
    100% { transform: rotateZ(0deg); }
}

/*** ---------- Swiper ---------- ***/
.wpb-swiper { position: relative; overflow: hidden;
    .swiper { --br: var(--br-40); --aspect-ratio: 110%;
        .swiper-wrapper { align-items: stretch; 
            .swiper-slide { position: relative; height: auto;
                /* > * { height: 100%; } */
                .swiper-slide__usps { position: absolute; z-index: 2; top: 4rem; left: 0; display: flex; flex-direction: column; gap: 1.2rem;
                    .usp { display: inline-flex; align-items: center; column-gap: .8rem; padding: 1rem 1.6rem; border-radius: 1.2rem; background-color: #fff; 
                        > i { --size: 2.2rem; font-size: calc(var(--size) * .5); width: var(--size); height: var(--size); min-width: var(--size); border-radius: 50%; background-color: var(--clr-accent); color: #fff; text-align: center; line-height: var(--size); }
                        .usp__text { font-size: var(--fs); line-height: 1.4; color: var(--clr-text); 
                            strong { display: block; width: 100%; }
                        }
                    }
                }
                .swiper-slide__ranges { position: absolute; z-index: 2; bottom: 6.4rem; right: 0; display: flex; flex-direction: column; gap: .7rem; height: auto; }
                .swiper-image { position: relative; border-radius: var(--br); overflow: hidden; z-index: 1;
                    &::before { content: ''; display: block; padding-top: var(--aspect-ratio); }
                    img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
                }

                &:has(.swiper-slide__usps) { padding-left: 4rem; }

                &:has(.swiper-slide__ranges) { padding-right: 2.8rem; }  
            }   
        }

        &.swiper--resources, &.swiper--benchmark, &.swiper--news, &.swiper--industry-colleagues {
            .swiper-button-lock { display: none!important; }
        }
    }

    .swiper-pagination { display: flex; justify-content: center; column-gap: .4rem; position: absolute; right: 0; bottom: 0; left: 0; bottom: auto; padding-top: 1.6rem;
        .swiper-pagination-bullet { margin: 0; opacity: 1; width: 4rem; height: .3rem; border-radius: 2rem; background-color: #E3E3E3; position: relative; overflow: hidden;
            .pagination-progress { position: absolute; top: 0; left: 0; height: 100%; width: 0; background-color: var(--clr-dark); }
        }
    }
}

.swiper-tools { display: flex; flex-direction: column; gap: 3rem .6rem; padding-top: 3rem;
    .btn { margin: auto; }
    .swiper-button-prev, .swiper-button-next { position: relative; top: 0; left: 0; right: 0; bottom: 0; margin: 0; }
    .swiper-scrollbar { background-color: var(--clr-border); border-radius: 1rem 0 0 1rem; left: 0; top: 0; width: calc(100% + var(--inline-spacing)); position: relative;
        .swiper-scrollbar-drag { border-radius: 1rem; background-color: var(--clr-dark-110); }
    }
    .swiper-button-prev, .swiper-button-next { display: inline-flex; }
}

.swiper-button-prev, .swiper-button-next { color: #fff; width: 5.6rem; height: 4rem; border-radius: 3rem; background-color: var(--clr-primary); transition-property: color, background-color; transition-duration: var(--ts-duration); transition-timing-function: var(--ts-function);
    &.swiper-button-disabled { color: rgba(var(--clr-dark-rgb), .3); pointer-events: none; background-color: var(--clr-light); }
} 

@media (min-width: 576px) {
    .wpb-swiper {
        .swiper {
            .swiper-tools { 
                .swiper-scrollbar { width: 100%; border-radius: 1rem; }
            }
        }
    }
}

@media (max-width: 991.98px) {
    .swiper-tools {
        .swiper-button-prev, .swiper-button-next { display: none !important; }
    }
}

@media (min-width: 992px) {
    .swiper-tools { flex-direction: row; justify-content: end; align-items: center; padding-top: 3.2rem;
        .btn { margin: 0 .6rem 0 0; }
        .swiper-scrollbar { display: none; }
        .swiper-button-prev, .swiper-button-next { display: inline-flex; }
    }
}

/*** ---------- Temlate: Contact ---------- ***/
.page-template-template-contact .wpb-header .wpb-text { text-align: center; }

.wpb-contact { --gc: 1; --gap: 2.2rem;
    .wpb-section__body {
        .container { display: grid; grid-template-columns: repeat(1, minmax(0, 1fr)); gap: var(--gap); -webkit-box-align: start; -ms-flex-align: start; align-items: start; }
    }
    .wpb-card { height: 100%; }
    .wpb-image { --br: var(--br-20);
        img { width: 100%; height: 100%; object-fit: cover; } 
    }
}

@media (min-width: 768px) {
    .wpb-contact {
        .wpb-section__body {
            .container { grid-template-columns: repeat(2, minmax(0, 1fr)); --gap: 3.2rem;
                .wpb-image { height: 100%; }
            }
        }
    }
}

@media (min-width: 992px) {
    .wpb-contact .wpb-section__body .container { grid-template-columns: minmax(0, 1fr) minmax(0, 40rem); --gap: 4.8rem; }
}


/*** ---------- Temlate: FAQ ---------- ***/
.wpb-faq { border-radius: var(--br-100); z-index: 3;
    form { margin: 1rem 0 4.8rem 0; }
}

@media (min-width: 992px) {
    body:has(.wpb-faq) {
        .wpb-faq .container,
        .wpb-header .container { --wpb-width: 930px; }
        .wpb-header .container { grid-template-columns: 1fr; 
            .wpb-text { max-width: 100%; }
        }
    }
}


/*** ---------- Temlate: Landingspagina ---------- ***/
.wpb-lp { --fs-h1: clamp(2.2rem, 4vw, 3.2rem); position: relative; z-index: 1; flex-grow: 1;
    .wpb-lp__header { display: none; padding: 2.3rem 0 4rem 0; z-index: 2; position: relative;
        .container { text-align: center; }
        .logo { display: inline-flex;
            img { width: 7.5rem; }
        }
    }
    .wpb-lp__body .container { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }
    .wpb-lp__form { background-color: var(--clr-light); position: relative; z-index: 1; }

    .wpb-lp__text { font-size: clamp(1.6rem, 1.8vw, 1.8rem);
        .wpb-lp__logos {
            strong { text-align: center; display: block; font-size: 1.6rem; font-weight: 500; margin-bottom: 2rem; }
            .swiper {
                .swiper-wrapper { align-items: center; }
                .wpb-image { display: flex; align-items: center; justify-content: center;
                    img { max-width: 12rem; max-height: 4.2rem; }
                }
            }
        }

        .wpb-image--featured { display: flex; justify-content: start; margin-top: 2rem;
            img { max-width: 22rem; }
        }

        &.wpb-lp__text--bottom { padding-bottom: 4.4rem; }
    }

    .wpb-lp__assets { display: none; position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; pointer-events: none;
        .wpb-asset--1 { --w: 40rem; top: 0; left: 0; --bg: var(--clr-light); z-index: -1; }
        .wpb-asset--3 { --w: 20rem; --ratio: 66%; bottom: 0; right: 0; --bg: var(--gradient-primary-2); z-index: -1; }
    }
}

@media (max-width: 575.98px) {
    .wpb-lp { 
        .wpb-lp__form { margin-inline: -1.8rem; border-radius: var(--br-30); padding: 3.9rem 1.8rem; }

        .wpb-logos { display: block; }

        .wpb-image--featured { position: relative; margin-bottom: -2.4rem; justify-content: center!important;
            &::before { content: ''; display: block; position: absolute; top: 50%; left: -1.8rem; right: -1.8rem; bottom: -4.4rem; border-radius: var(--br-30); background-color: var(--clr-light); z-index: -1; }
        }  
    }
}

@media (min-width: 576px) {
    .wpb-lp { 
        .wpb-lp__form { padding: 3.9rem; border-radius: var(--br-30); }
        .wpb-lp__body .container { gap: 4.8rem; align-items: start; }
    }
}

@media (min-width: 768px) {
    .wpb-lp {
        .wpb-lp__text {
            .wpb-lp__image { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
    }
}

@media (min-width: 992px) {
    body:has(.wpb-lp) .wpb-navigation { display: none!important; }
    .wpb-lp { background: linear-gradient(90deg,rgba(255, 255, 255, 1) 50%, var(--clr-light) 50%);
        .wpb-lp__header { display: block; padding: 1.7rem 0;
            .container { text-align: left; }
            .logo img { width: 9.3rem; }
        }
        .wpb-lp__body { padding-top: 6.4rem;
            .container { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 0; column-gap: 6.3rem; }
        }
        .wpb-lp__form { grid-row: span 2; padding: 0; }

        
        .wpb-lp__text {
            .wpb-lp__image { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
            
            .wpb-image--featured { margin-top: 0; margin-bottom: 4.8rem; }

            .wpb-lp__logos strong { text-align: left; }

            &.wpb-lp__text--top .wpb-text { border-bottom: 1px solid var(--clr-border); padding-bottom: 3.2rem; margin-bottom: 3.2rem; }

            &.wpb-lp__text--bottom > * + * { margin-top: 4.8rem; }
        }

    }
}

@media (min-width: 1200px) {
    .wpb-lp { 
        .wpb-lp__body .container { column-gap: 20rem; }
        .wpb-lp__assets { display: block; }
        .wpb-lp__assets .wpb-asset--3 { --w: 30rem; }
    }
}

@media (min-width: 1400px) {
    .wpb-lp { 
        .wpb-lp__body .container { column-gap: 22.4rem; }
        .wpb-lp__assets .wpb-asset--3 { --w: 38rem; }
    }
}

@media(min-width: 1600px) {
    .wpb-lp__assets .wpb-asset--3 { --w: 45rem; }
}


/* ------- Snippet partner ------- */
.wpb-partner{ --thumb-size: 8rem; --br: 1.2rem; display: flex; align-items: center; gap: 1.8rem;
    .wpb-partner__logo{ min-width: var(--thumb-size); width: var(--thumb-size); height: var(--thumb-size); border-radius: var(--br); overflow: hidden; }
    .wpb-partner__logo img{ width: 100%; height: 100%; object-fit: cover; }
    .wpb-partner__text{ line-height: 1.2; }
    .wpb-partner__text strong{ font-size: 2rem; font-weight: 500; display: block; word-break: break-word; hyphens: auto; }
    .wpb-partner__text span{ font-size: 1.6rem; padding-top: .2em; display: block; }

    &.wpb-partner--small{ --br: .8rem; --thumb-size: 4.6rem; gap: 1.2rem;
        .wpb-partner__text strong{ font-size: 1.6rem; }
        .wpb-partner__text span{ font-size: 1.6rem; }
    }
}

/* ------- Archive ------- */
/* .wpb-archive-wrapper { position: relative; } */
/* .wpb-section__bg-assets:has(+ .wpb-header--archive) .wpb-asset--1{ --bg: var(--gradient-primary-2); opacity: 1; left: auto; right: 0; transform: scaleX(-1); } */
/* .wpb-header--archive{ 
    .wpb-text { max-width: 89.6rem; margin: auto; }
    .wpb-text p{ color: var(--clr-dark-750); font-size: clamp(1.6rem, 1.8vw, 2rem); }
} */

.wpb-archive { --gc: 1; --gap: 2.2rem; 
    &.wpb-archive--events { background-color: #FFF; 
    
        .wpb-section__header .wpb-text p { font-size: clamp(1.6rem, 1.8vw, 1.8rem); } 
    }
    .wpb-section__header{ margin-bottom: clamp(2.4rem, 3vw, 4rem); }
    .container.container--results { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: var(--gap); grid-auto-flow: dense;
        .wpb-alert.wpb-alert--info { grid-column: span var(--gc); } 
    }

    &.js-archive-read-more{  
        .container{ display: flex; flex-direction: column; 
            .btn--read-more .read-less, .btn--read-more.is-hidden{ display: none; }
            &:has(.archive__items.is-expanded){
                .btn--read-more .read-more{ display: none; }
                .btn--read-more .read-less{ display: block; }
            }
        }
        .container > .btn--read-more{ width: fit-content; margin: auto; margin-top: 4rem; }
        .archive__items { max-height: calc(var(--initial-height, 40rem) + 1px); overflow: hidden; transition: max-height var(--ts-duration) var(--ts-function);
            &.is-expanded{ max-height: var(--total-height, 100%); }
        }
    }

    .wpb-archive-cta { container: archive-cta-container / inline-size; grid-column: span var(--gc); background-color: var(--clr-light); position: relative; overflow: hidden; border-radius: 1.6rem; z-index: 1;
        .wpb-archive-cta__body { padding: 3.2rem 2rem; max-width: 60rem; margin: auto;
            .wpb-text { margin-bottom: 1em; }
        }
        .wpb-archive-cta__bg-assets { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; 
            .wpb-asset { --w: 32.3rem; }
        }
    }

}

@container archive-cta-container (min-width: 72rem) {
    .wpb-archive-cta .wpb-archive-cta__body { padding: 6.4rem 2rem!important; }
}

.wpb-archive--industry_colleagues { --gap: 3rem; }

@media (min-width: 576px) {
    .wpb-archive--news { --gc: 2; }
    .wpb-archive--industry_colleagues { --gc: 2; }
}
@media (min-width: 768px) {
    .wpb-archive--resources, .wpb-archive--benchmark, .wpb-archive--vacancies { --gc: 2; }
}
@media (min-width: 992px) {
    .wpb-archive--news{ --gc: 3; }
    .wpb-archive--references{ --gc: 2; }
    .wpb-archive--industry_colleagues { --gc: 3; }
}
@media (min-width: 1200px) {
    .wpb-archive--resources, .wpb-archive--benchmark{ --gc: 3; }
    .wpb-archive--industry_colleagues { --gc: 4; }
}

.wpb-video-wrapper { display: flex; border-radius: var(--br-40); overflow: hidden; position: relative;
    video { width: 100%; height: auto; }
    .play-video { cursor: pointer; position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: grid; place-items: center; z-index: 1;
        .wpb-image { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; z-index: -1;
            img { width: 100%; height: 100%; object-fit: cover; }
        }
        .play-video__button { display: flex; align-items: center; column-gap: 1.2rem;
            i { width: 4rem; height: 4rem; border-radius: 50%; border: .2rem solid #fff; color: #fff; display: grid; place-items: center; }
            .play-video__button__text { display: flex; flex-direction: column; font-size: 1.4rem; line-height: 1.2; color: #fff;
                strong { font-size: 1.6rem; }
            }
        }
    }     

    &.wpb-video-wrapper--ratio { --ratio: 56.25%;
        &::before { content: ''; display: block; padding-top: var(--ratio); }
        > div, > video { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
        > video { object-fit: cover; }
        &.wpb-video-wrapper--100 { --ratio: 100%; }   
        &.wpb-video-wrapper--71  { --ratio: 71%; }
        &.wpb-video-wrapper--140 { --ratio: 140%; }
    }
}



.wpb-single-content {
    .container { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }

    .wpb-content__sidebar { display: flex; flex-direction: column; gap: 3.2rem;
        .wpb-card { height: fit-content; }
        .wpb-content__sidebar-sticky { flex-grow: 1; position: relative;
            .wpb-card { position: sticky; top: 12rem;
                .wpb-card__body { 
                    + .wpb-card__body { padding-top: 0; padding-inline: 0; }
                    .table-of-contents { list-style: none;
                        .table-of-contents__item { padding: .9rem 0;
                            .table-of-contents__link { display: block; padding: 0 var(--p); font-size: 1.6rem; font-weight: 500; line-height: 1.14; color: var(--clr-blue-700); transition-property: color, box-shadow; transition-duration: var(--ts-duration); transition-timing-function: var(--ts-function);
                                &.is-active { color: var(--clr-blue); box-shadow: inset .4rem 0 0 0 var(--clr-primary); }
                            }
                        }
                    }
                }
                .card-title { width: 100%; font-size: 2rem; line-height: 1.15; font-weight: 500; margin: 0;}
                p { opacity: 1; }
            }
        }
    }

    .wpb-content__main { font-size: clamp(1.6rem, 1.8vw, 1.8rem); 
        p, ul { color: var(--clr-dark-750)!important; }
        > * + * { margin-top: 3.2rem; }
    }

    .content-section {
        h2 { font-size: clamp(2rem, 4vw, 2.8rem); line-height: 1.15; }

        &.content-section--text--large { font-weight: 600; font-size: clamp(2rem, 4vw, 2.2rem); line-height: 1.4; }
        
        &.content-section--blockquote { 
            blockquote { position: relative; 
                .blockquote__content { padding-left: 1.5rem; position: relative;
                    &::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: .3rem; background: var(--clr-primary); }
                    .blockquote__text { font-size: clamp(1.8rem, 1.8vw, 2rem); font-weight: 500; line-height: 1.4; }
                    .blockquote__name { font-size: clamp(1.4rem, 1.8vw, 1.6rem); font-weight: 700; margin-top: 1em; color: var(--clr-blue-700); opacity: .8; }
                }

                .blockquote__image { position: relative;
                    &::before { border-radius: var(--br-20); content: ''; position: relative; display: block; padding-top: 59%; z-index: 1; background: linear-gradient(180deg, transparent 50%, rgba(12, 27, 49, 0.7) 85.44%, rgba(12, 27, 49, 0.8) 100%); }
                    img { border-radius: var(--br-20); position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }  
                }

                &:has(.blockquote__image) .blockquote__content { color: #fff; position: absolute; right: 2rem; bottom: 2rem; left: 2rem; z-index: 2;
                    .blockquote__name { color: #fff; }
                }
            }
        }

        &.content-section--images { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.2rem; 
            .wpb-ratio { border-radius: var(--br-20); overflow: hidden; }
        }

        &.content-section--page-links { display: flex; flex-direction: column; gap: 1.2rem; 
            .page-link { text-decoration: none; border: 1px solid var(--clr-border); border-radius: var(--br-20); padding: 2rem; display: flex; align-items: center; justify-content: space-between; transition: background var(--ts-duration) var(--ts-function), color var(--ts-duration) var(--ts-function), border-color var(--ts-duration) var(--ts-function);
                .page-link__text {
                    strong { display: block; font-size: 2.2rem; }  
                    span { text-transform: uppercase; font-size: 1.4rem; font-weight: 700; color: var(--clr-blue-600); }
                }
                i { font-size: 2.4rem; color: var(--clr-primary); }

                &:hover { border-color: var(--clr-primary); background-color: var(--clr-primary); color: #fff;
                    i { color: #fff; }
                }
            }
        }
    }
}


.wpb-single-apply {
    .container { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.4rem; }
    .wpb-image { --br: var(--br-30); }
}

@media (min-width: 768px) {
    .wpb-single-content {
        .content-section { 
            &.content-section--images { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }

    }
}

@media (min-width: 992px) {
    .wpb-single-content.wpb-single-content--sidebar .container { grid-template-columns: 2fr 1fr; }
    .wpb-single-apply .container { grid-template-columns: 2fr 1fr;
        .wpb-image img { height: 100%; object-fit: cover; }
    }
}

@media (min-width: 1200px) {
    .wpb-single-content.wpb-single-content--sidebar .container { column-gap: 3.2rem; }

    .wpb-single-content { 
        .wpb-content__main {
            > * + * { margin-top: 5.4rem; }
        }
        .content-section {
            &.content-section--blockquote blockquote:has(.blockquote__image) .blockquote__content { right: 3.2rem; bottom: 3.2rem; left: 3.2rem; }

            &.content-section--page-links { }
        }
    }
}

@media (min-width: 1400px) { 
    .wpb-single-content.wpb-single-content--sidebar .container { grid-template-columns: 1fr minmax(0, 42rem); column-gap: 6.4rem; }

    .wpb-single-apply .container { grid-template-columns: 1fr minmax(0, 42rem); }

    .wpb-single-content {
        .wpb-content__sidebar .wpb-card { --p: 3.2rem; 
            .wpb-card__body { padding-bottom: 2.8rem; }
        }
    }
}

.wpb-header.wpb-header--404 {
    .wpb-text { text-align: center; }
    .btn-group { justify-content: center; }
}

.wpb-package-functions {
    .wpb-accordion__body { display: flex; flex-direction: column; padding-bottom: 0;

        .js-package-functions-collapse { position: relative;
            &.is-collapsed {
                &::before { content: ''; position: absolute; right: 0; bottom: 0; left: 0; height: 10rem; background: linear-gradient(to top, #fff 0%, transparent 100%); z-index: 1; }
            }
            &.is-expanded {
                + .js-toggle-package-functions-collapse {
                    .is-active { display: block; }
                    .is-unactive { display: none; }
                }
            }
        }

        .js-toggle-package-functions-collapse { margin-top: 2rem; margin-inline: auto; 
            .is-active { display: none; }

        }
    }

}

.js-package-functions-collapse { transition: max-height var(--ts-function) var(--ts-duration);
    &.is-static + .js-toggle-package-functions-collapse { display: none!important; }
}

.wpb-team-contact { list-style: none; padding-left: 0!important;
    li { line-height: 1.4; }
    a { display: flex; justify-content: space-between; align-items: center; padding: .75rem 0;
        i { transition: transform var(--ts-duration) var(--ts-function); }
        &:hover i { transform: rotate(-45deg); }
    }  

    li:has(a) + li:has(a) { border-top: 1px solid rgba(255,255,255,.25); }
}