/*** Basic style v1 ***/

/*** ---------- Global ---------- ***/
:root {
    --wpb-timing: 300ms;
}



/*** ---------- Disable animations & transitions ---------- ***/
@media (prefers-reduced-motion) {
    *, *::before, *::after { transition: 0s; animation: none; }
    :root {
        --wpb-timing: 0;
    }
}

*, *::before, *::after { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; box-sizing: border-box; margin: 0; padding: 0; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); word-wrap: normal !important; border: 0; -webkit-clip-path: inset(50%); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px }

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; }
body .--no-scroll { overflow: hidden; }

.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; }

.skip-link { position: absolute; top: -999rem; left: 0; background: #000; color: #fff; padding: 8px 16px; text-decoration: none; z-index: 9999; }
.skip-link:focus { top: 20px; left: 20px; }




/*** ---------- Whitespace ---------- ***/
[class*="wpb-wst"] { --pt: 0px; padding-top: var(--pt); }
[class*="wpb-wsb"] { --pb: 0px; padding-bottom: var(--pb); }

*:is([class*="wpb-wst"],[class*="wpb-wsb"]){
    --p-y-xsmall: 0.8rem;
    --p-y-small:  1.6rem;
    --p-y-medium: 3.2rem;
    --p-y-large:  4.8rem;

    /* -- Top -- */
    &.wpb-wst--none     {  }
    &.wpb-wst--xsmall   { --pt: var(--p-y-xsmall); }
    &.wpb-wst--small    { --pt: var(--p-y-small); }
    &.wpb-wst--medium   { --pt: var(--p-y-medium); }
    &.wpb-wst--large    { --pt: var(--p-y-large); }

    /* -- Bottom -- */
    &.wpb-wsb--none     {  }
    &.wpb-wsb--xsmall   { --pb: var(--p-y-xsmall); }
    &.wpb-wsb--small    { --pb: var(--p-y-small); }
    &.wpb-wsb--medium   { --pb: var(--p-y-medium); }
    &.wpb-wsb--large    { --pb: var(--p-y-large); }
}

@media (min-width: 992px) {
    *:is([class*="wpb-wst"],[class*="wpb-wsb"]){
        --p-y-xsmall:  3.2rem;
        --p-y-small:   6.4rem;
        --p-y-medium:  8.0rem;
        --p-y-large:  12.8rem;
    }
}



/*** ---------- Buttons ---------- ***/
a { color: var(--clr-text); }

.btn, .gform_button, .gform_next_button, .gform_previous_button, .button, .swiper-button-prev, .swiper-button-next { 
    --fs: 1.6rem; 
    --lh: 1; 
    --p: 0 1.6rem; 
    --wpb-br: var(--wpb-br--small);

    --gap: 0.8rem;
    --tsd: var(--wpb-timing);
    --tsf: ease;
    --tsp: color, background-color, border-color, box-shadow, -webkit-box-shadow;

    --clr: #fff; --bg-clr: var(--clr-primary); --border: 2px solid var(--clr-primary); --box-shadow: none; 
    --hover-clr: var(--clr); --hover-bg-clr: var(--bg-clr); --hover-border: var(--border); --hover-box-shadow: var(--box-shadow); 
    --focus-clr: var(--hover-clr); --focus-bg-clr: var(--hover-bg-clr); --focus-border: var(--hover-border); --focus-box-shadow: none;
    --active-clr: var(--focus-clr); --active-bg-clr: var(--focus-bg-clr); --active-border: var(--focus-border); --active-box-shadow: var(--focus-box-shadow); 

    display: inline-flex; justify-content: center; align-items: center; min-height: 4.3rem; gap: var(--gap); font-size: var(--fs); line-height: var(--lh); padding: var(--p); color: var(--clr) !important; background-color: var(--bg-clr) !important; border-radius: var(--wpb-br); border: var(--border); box-shadow: var(--box-shadow); text-align: center; text-decoration: none; vertical-align: middle; cursor: pointer; user-select: none; transition-duration: var(--tsd); transition-timing-function: var(--tsf); font-family: var(--font-primary); transition-property: var(--tsp);

    /* Main internals */
    span { font: inherit; color: inherit; }
    i,i::before { --clr: var(--clr-i, --clr); color: var(--clr-i, --clr); }

    /* Effects */
    &:hover { color: var(--hover-clr)!important; background-color: var(--hover-bg-clr)!important; border: var(--hover-border)!important; box-shadow: var(--hover-box-shadow)!important;
        i { --clr: var(--hover-clr-i, --hover-clr); color: var(--hover-clr-i, --hover-clr); }
    }
    &:focus { color: var(--focus-clr)!important; background-color: var(--focus-bg-clr)!important; border: var(--focus-border)!important; box-shadow: var(--focus-box-shadow)!important; 
        i { --clr: var(--focus-clr-i, --hover-clr); color: var(--focus-clr-i, --hover-clr); }
    }
    &:active { color: var(--active-clr)!important; background-color: var(--active-bg-clr)!important; border: var(--active-border)!important; box-shadow: var(--active-box-shadow)!important; 
        i { --clr: var(--active-clr-i, --focus-clr); color: var(--active-clr-i, --focus-clr); }
    }
}

/* Button sizes */
.btn--small { --p: 0 0.8rem; --fs: var(--fs-small); min-height: 3.2rem; }
.btn--large { --p: 0 2.4rem; --fs: var(--fs-h6); min-height: 4.8rem; }

/* Button variations */
.btn--square { --p: 0; aspect-ratio: 1/1; }

.btn--bookmark {
    i { pointer-events: none; }
    i.fa-solid { display: none; }
    &[data-bookmarked="true"] i.fa-regular { display: none; }
    &[data-bookmarked="true"] i.fa-solid { display: block; }
}


.btn, .gform_button, .gform_next_button, .gform_previous_button, .button, .swiper-button-prev, .swiper-button-next, /* same styling as primary */
.btn--primary   { --clr: var(--clr-text-primary);   --bg-clr: var(--clr-primary);   --border: 2px solid var(--clr-primary);     --box-shadow: none;     --hover-clr: var(--clr);                --hover-bg-clr: var(--clr-primary-hover);   --hover-border: 2px solid var(--clr-primary-hover); }
.btn--secondary { --clr: var(--clr-text-secondary); --bg-clr: var(--clr-secondary); --border: 2px solid var(--clr-secondary);   --box-shadow: none;     --hover-clr: var(--clr);                --hover-bg-clr: var(--clr-secondary-hover); --hover-border: 2px solid var(--clr-secondary-hover); }
.btn--outline   { --clr: var(--clr-primary);        --bg-clr: transparent;          --border: 2px solid var(--clr-primary);     --box-shadow: none;     --hover-clr: var(--clr-text-primary);   --hover-bg-clr: var(--clr-primary);         --hover-border: var(--border); }
.btn--white     { --clr: #000000;                   --bg-clr: #ffffff;              --border: 2px solid #ffffff;                --box-shadow: none;     --hover-clr: #ffffff;                   --hover-bg-clr: #000000;                    --hover-border: 2px solid #000000; }
.btn--black     { --clr: #ffffff;                   --bg-clr: #000000;              --border: 2px solid #000000;                --box-shadow: none;     --hover-clr: #000000;                   --hover-bg-clr: #ffffff;                    --hover-border: 2px solid #ffffff; }
.btn--link      { --clr: var(--clr-text);           --bg-clr: transparent;          --border: unset;                            --box-shadow: none;     --hover-clr: var(--clr-primary);        --hover-bg-clr: transparent;                --hover-border: unset; --p: 0; }
.btn--dark      { --clr: var(--clr-text-dark);      --bg-clr: var(--clr-dark);      --border: 2px solid transparent;            --box-shadow: none;     --hover-clr: var(--clr);                --hover-bg-clr: var(--clr-primary);         --hover-border: var(--border); }
.btn--light     { --clr: var(--clr-text-light);     --bg-clr: var(--clr-light);     --border: 2px solid transparent;            --box-shadow: none;     --hover-clr: var(--clr-light);          --hover-bg-clr: var(--clr-dark);            --hover-border: var(--border); }

:is(.btn, .gform_button, .gform_next_button, .gform_previous_button, .button, .swiper-button-prev, .swiper-button-next, /* same styling as primary */
.btn--primary) i    { --clr-i: var(--clr-text-primary);     --hover-clr-i: var(--clr-text-primary); }
.btn--secondary i   { --clr-i: var(--clr-text-secondary);   --hover-clr-i: var(--clr-text-secondary); }
.btn--outline i     { --clr-i: var(--clr-primary);          --hover-clr-i: var(--clr-text-primary); }
.btn--white i       { --clr-i: #000000;                     --hover-clr-i: #ffffff; }
.btn--black i       { --clr-i: #ffffff;                     --hover-clr-i: #000000; }
.btn--link i        { --clr-i: var(--clr-text);             --hover-clr-i: var(--clr-primary); }
.btn--dark i        { --clr-i: var(--clr-text-dark);        --hover-clr-i: var(--clr-text-primary); }
.btn--light i       { --clr-i: var(--clr-text-light);       --hover-clr-i: var(--clr-text-light); }

.btn-group { --gap: 1.6rem; display: flex; flex-wrap: wrap; align-items: center; gap: var(--gap); }  



/*** ---------- Accordion ---------- ***/
.wpb-accordion {
    --bg: #fff; --active-bg: var(--clr-primary); --active-clr: #fff; --p: 0 1.6rem; --body-p: 1.6rem; --tsd: var(--wpb-timing); --tsf: ease; --tsp: color, background-color, border-color, box-shadow, height, border-radius; .collapse:not(.show) { display: none; }

    .wpb-accordion__item { color: var(--clr); border: 1px solid var(--clr-border);
        &:first-of-type { border-top-left-radius: var(--wpb-br); border-top-right-radius: var(--wpb-br);
            .wpb-accordion__button { border-top-left-radius: var(--wpb-br); border-top-right-radius: var(--wpb-br); }
        }
        &:last-of-type { border-bottom-left-radius: var(--wpb-br); border-bottom-right-radius: var(--wpb-br);
            .wpb-accordion__button { border-bottom-left-radius: var(--wpb-br); border-bottom-right-radius: var(--wpb-br); }
            .wpb-accordion__body { border-bottom-left-radius: var(--wpb-br); border-bottom-right-radius: var(--wpb-br); }
        }
        &:not(:first-of-type) { border-top: 0; }
    }

    .wpb-accordion__header { --fs: var(--fs-h6); margin: 0; }

    .wpb-accordion__button { font: inherit; color: inherit; min-height: 4.8rem; cursor: pointer; display: grid; grid-template-columns: 1fr 2rem; column-gap: 1.6rem; align-items: center; width: 100%; font-size: var(--fs-small); text-align: left; padding: var(--p); 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); }
    .wpb-accordion__button span { transition: color var(--tsd) var(--tsf); }
    .wpb-accordion__button i { transition: transform var(--tsd) var(--tsf); }
    .wpb-accordion__button.is-active { color: var(--active-clr); background-color: var(--active-bg); }
    .wpb-accordion__button.is-active i { transform: rotate(-180deg); }

    .wpb-accordion__item .wpb-accordion__body { background-color: #fff; padding: var(--body-p); border-top: 1px solid var(--clr-border); }    
    .wpb-accordion__item .collapsing { height: 0; overflow: hidden; transition: height var(--tsd) var(--tsf); }
}



/*** ---------- Images ---------- ***/
.wpb-image {
    img { border-radius: var(--wpb-br); }
    figcaption { display: block; padding-top: .8rem; font-size: var(--fs-small); }
}

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



/*** ----- Sections ----- ***/
section { position: relative; }
.has-background-image { position: relative;
    .container { z-index: 1; }
    :is(h1, h2, h3, h4, h5, h6, p, ul, ul li, ol, ol li, label, input, textarea, select, button, .wpb-breadcrumbs, .wpb-breadcrumbs *, em) { color: #fff !important; }
    &::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; }

.wpb-section__header { margin-bottom: 3.2rem;
    .container { display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; gap: 1.6rem; }
    .wpb-text { margin: 0; }
}



/*** ---------- Icons ---------- ***/
.wpb-icon { --src: ; --clr: var(--clr-dark); --w: 2rem; --h: 2rem; display: inline-flex; background: transparent; }
.wpb-icon::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(--wpb-timing) ease; }

i[class*="fa-"]{ --clr-icon: inherit; }
i[class*="fa-"]::before{ color: var(--clr-icon); }

.wpb-icon-wrapper { width: 4rem; height: 4rem; border-radius: 50%; display: inline-grid; place-items: center; text-decoration: none !important; }
.wpb-icon-wrapper i { text-decoration: none !important; }
.wpb-icon-wrapper--square { border-radius: var(--wpb-br--small); }
.wpb-icon-wrapper--primary { background-color: var(--clr-primary); }
.wpb-icon-wrapper--primary i[class*="fa-"] { --clr-icon: #fff; }
.wpb-icon-wrapper--secondary { background-color: var(--clr-secondary); }  
.wpb-icon-wrapper--secondary i[class*="fa-"] { --clr-icon: #fff; }

.wpb-icon-wrapper--small { width: 2.4rem; height: 2.4rem; min-width: 2.4rem; }
.wpb-icon-wrapper--small i[class*="fa-"] { --w: 1.6rem; --h: 1.6rem; }

.wpb-icon-wrapper--medium { width: 2.8rem; height: 2.8rem; min-width: 2.8rem; }
.wpb-icon-wrapper--medium i[class*="fa-"] { --w: 2rem; --h: 2rem; }

.wpb-icon-wrapper--large { width: 3.2rem; height: 3.2rem; min-width: 3.2rem; }
.wpb-icon-wrapper--large i[class*="fa-"] { --w: 2.4rem; --h: 2.4rem; }

.wpb-icon-wrapper--20 { width: 2rem; height: 2rem; min-width: 2rem; }
.wpb-icon-wrapper--20 i[class*="fa-"] { --w: 1.2rem; --h: 1.2rem; }



/*** ---------- Typography ---------- ***/
body { font-family: var(--wpb-font-primary); }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { --lh: 1.2; font-family: var(--wpb-font-secondary); font-weight: var(--fw, 500); color: var(--clr-heading); font-size: var(--fs); line-height: var(--lh); text-wrap: balance; }
h1, .h1 { --fs: var(--fs-h1); --lh: 1.2; --fw: 600; }
h2, .h2 { --fs: var(--fs-h2); --lh: 1.2; --fw: 600; }
h3, .h3 { --fs: var(--fs-h3); --lh: 1.2; --fw: 600; }
h4, .h4 { --fs: var(--fs-h4); --lh: 1.2; }
h5, .h5 { --fs: var(--fs-h5); --lh: 1.2; }
h6, .h6 { --fs: var(--fs-h6); --lh: 1.2; }
small, .small { --fs: var(--fs-small); }
.x-small, .xsmall { --fs: var(--fs-xsmall); }

p, ul, ul li, ol, ol li, label, input, textarea, select, .wpb-breadcrumbs, .wpb-breadcrumbs *, em { font-size: var(--fs); line-height: var(--lh); color: var(--clr-text); }

ul, ol { padding-left: 1.6rem; }

blockquote { border-left: 4px solid var(--clr-primary); background-color: var(--clr-light); padding: 0.8rem 1.6rem; margin-left: 0; margin-right: 0; border-radius: var(--wpb-br); --clr-text: var(--clr-text-light) !important; }




/*** ---------- Text ---------- ***/
.wpb-text { --mt: 1em; 
    > * + *:not(.btn .blockquote) { margin-top: var(--mt); } 
    ul, ol { padding-left: 1.6rem;
        li { font: inherit; }
    }
    a:not(.btn) { font: inherit; text-underline-offset: .2rem; }
    iframe { width: 100%; height: 100%; aspect-ratio: 16/9; border-radius: var(--br); }
}

.wpb-text > * + :not(.btn .blockquote, .modal) { margin-top: 0.8rem; }
.wpb-text > * + :not(.btn .blockquote, .modal):is(h1,h2) { margin-top: 6.4rem; }
.wpb-text > * + :not(.btn .blockquote, .modal):is(h3,h4,h5,h6) { margin-top: 3.2rem; }

:is(.wpb-text, .wpb-blog-content) li:hover a { color: var(--clr-primary-hover); }
:is(.wpb-text, .wpb-blog-content) a:not(.btn) { transition: color var(--wpb-timing) ease; }
:is(.wpb-text, .wpb-blog-content) a:not(.btn):hover { color: var(--clr-primary-hover); }

.wpb-header .wpb-text > * + :is(h1,h2,h3,h4,h5,h6) { margin-top: 1.6rem !important; }

.wpb-text[class*="wpb-text--"] { width: 100%; }

@media (min-width: 768px) { 
    .wpb-text.wpb-text--90 { width: 90%; }
    .wpb-text.wpb-text--80 { width: 80%; }
    .wpb-text.wpb-text--70 { width: 70%; }
    .wpb-text.wpb-text--60 { width: 60%; }
    .wpb-text.wpb-text--50 { width: 50%; }
    .wpb-text.wpb-text--40 { width: 40%; }
    .wpb-text.wpb-text--30 { width: 30%; }
    .wpb-text.wpb-text--20 { width: 20%; }
    .wpb-text.wpb-text--10 { width: 10%; }
}



/*** ---------- Tabs ---------- ***/
.wpb-tabs { 
    --p: 0 1.6rem; 
    --clr: var(--clr-text); 
    --bg-clr: transparent; 
    --border: 1px solid transparent; 
    --active-clr: var(--clr-primary); 
    --active-bg-clr: #fff; 
    --active-border: 1px solid var(--clr-border);
    --tsd: var(--wpb-timing);
    --tsf: ease;
    --tsp: color, background-color, border-color;

    display: grid;

    .wpb-tabs__header { display: flex; flex-wrap: wrap; position: relative; z-index: 1; margin-bottom: -1px; }
    .tab-button { font: inherit; display: inline-block; padding: var(--p); color: var(--clr); min-height: 3.2rem; background-color: var(--bg-clr); border-radius: var(--wpb-br) var(--wpb-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: 1px solid var(--clr-border); border-radius: 0 0 var(--wpb-br) var(--wpb-br);
        .tab-pane { grid-column: 1/-1; grid-row: 1/-1; pointer-events: none; opacity: 0; padding: 1.6rem; transition: opacity var(--active-box-shadow) var(--tsf); 
            &.is-active { pointer-events: all; opacity: 1; }
            > * + * { margin-top: 0.8rem; }
        }
    }
}



/*** ---------- 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: .8rem; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.badge { 
    --fs: var(--fs-small); 
    --lh: 1; 
    --p: .8rem 1.6rem; 
    
    --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: 0.8rem; font-size: var(--fs); line-height: var(--lh); padding: var(--p); color: var(--clr) !important; background-color: var(--bg-clr); border-radius: var(--wpb-br--small); border: var(--border); box-shadow: var(--box-shadow); text-align: center; text-decoration: none; vertical-align: middle; user-select: none; transition-duration: var(--wpb-timing); transition-timing-function: ease; transition-property: color, background-color, border-color, box-shadow; 
    
    &:hover { color: var(--hover-clr) !important; background-color: var(--hover-bg-clr) !important; border: var(--hover-border) !important; box-shadow: var(--hover-box-shadow) !important; }

    /* Badge variations */
    &.badge--primary { --clr: var(--clr-heading-primary); --bg-clr: var(--clr-primary); --hover-bg-clr: var(--clr-primary-hover); }
    .wpb-icon { --clr: inherit; }
}



/*** ---------- Meta tags (Blog header) ---------- ***/
.wpb-meta-group { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem; justify-content: end; }
.wpb-header--blog .container > .wpb-meta-group { position: absolute; right: var(--header-padding, 6.4rem); top: var(--header-padding, 6.4rem); z-index: 1; }

.wpb-meta-tag { --bg: #fff; --wpb-br: var(--wpb-br--small); --p: 0.4rem 0.8rem; display: flex; align-items: center; gap: 0.8rem; border-radius: var(--wpb-br); padding: var(--p); background-color: var(--bg); width: fit-content; font-weight: 500; }
.wpb-meta-tag * { --clr: var(--clr-dark); color: var(--clr); }
.wpb-meta-tag a { text-decoration: none !important; }



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



/*** ---------- Background colors ---------- ***/
.wpb-pagewrapper { background-color: var(--clr-background); }

.wpb-bg-clr--primary        { background-color: var(--clr-primary);     --clr-heading: var(--clr-heading-primary);      --clr-text: var(--clr-text-primary); }
.wpb-bg-clr--secondary      { background-color: var(--clr-secondary);   --clr-heading: var(--clr-heading-secondary);    --clr-text: var(--clr-text-secondary); }
.wpb-bg-clr--dark           { background-color: var(--clr-dark);        --clr-heading: var(--clr-heading-dark);         --clr-text: var(--clr-text-dark); }
.wpb-bg-clr--light          { background-color: var(--clr-light);       --clr-heading: var(--clr-heading-light);        --clr-text: var(--clr-text-light);}
.wpb-bg-clr--transparent    { background-color: transparent;            --clr-heading: var(--clr-heading);              --clr-text: var(--clr-text); }
.wpb-bg-clr--white          { background-color: #ffffff;                --clr-heading: #0f0707;                         --clr-text: #333333;; }



/*** ---------- Borders ---------- ***/
.border-top { padding-top: 1.6rem; margin-top: 3.2rem; border-top: 1px solid var(--clr-border); }
.border-bottom { padding-bottom: 1.6rem; margin-bottom: 3.2rem; border-bottom: 1px solid var(--clr-border); }




/*** ---------- Breadcrumb ---------- ***/
.wpb-breadcrumbs { margin-bottom: 0.8rem;
    :is(span, a) { display: flex; align-items: center; color: inherit; text-decoration: none; font-size: var(--fs-small); }
}
.wpb-breadcrumbs a:hover { text-decoration: underline }
.wpb-breadcrumbs .breadcrumb_last { font-weight: 500; }
.wpb-breadcrumbs > span { display: flex; column-gap: 0.8rem; }
.wpb-breadcrumbs .li--chevron-right { --w: 0.8rem; --h: 1rem; min-width: var(--w); }



/*** ---------- Modal ---------- ***/
.wpb-modal-outer { 
    --p: 1.6rem; 
    --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(--wpb-timing) ease-in-out; z-index: 1090; 

    .wpb-modal { display: flex; flex-direction: column; border-radius: var(--wpb-br); width: 100%; max-width: 74rem; height: auto; max-height: 80vh; transform: translateY(5rem); transition: transform var(--wpb-timing) ease; background-color: #fff; overflow: hidden; 
        .wpb-modal__header { display: flex; justify-content: space-between; align-items: center; margin: var(--p); margin-bottom: 0; padding-bottom: calc(var(--p) / 2) !important; border-bottom: 1px solid var(--clr-border); background-color: #fff; font-family: inherit; }
        .wpb-modal__header .modal-title { font-size: var(--fs-h6); margin: 0; } 
        .wpb-modal__body { background-color: #fff; padding: var(--p); overflow-y: auto; overflow-x: hidden; padding: calc(var(--p) / 2) var(--p); }
        .wpb-modal__body input { background-color: var(--clr-light) !important; }
        .wpb-modal__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; }

        .wpb-modal__body:last-child { padding-bottom: var(--p) !important; }
    }
    
    &.show { display: flex; opacity: 1; pointer-events: all; 
        .wpb-modal { transform: translateY(0); }
    }

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

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

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

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



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

    /* Tooltip variations */
    &.wpb-tooltip--left::after { border-width: .8rem 0 .8rem .8rem; border-color: transparent transparent transparent var(--bg); top: 50%; transform: translateY(-50%); left: calc(100% - 1px); }
    &.wpb-tooltip--right::after { border-width: .8rem .8rem .8rem 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:  .8rem .8rem 0 .8rem; 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 { display: block; z-index: 850; opacity: 0; pointer-events: none; min-width: 12rem; border-radius: var(--wpb-br); position: absolute; top: calc(100% + .8rem); left: 0; background-color: #fff; box-shadow: 0 0.8rem 0.8rem rgb(21, 47, 51, .1); border: 1px solid rgba(var(--clr-border)); padding: 1.6rem; transition: opacity var(--wpb-timing) ease-in-out; 
        ul { list-style: none; 
            .dropdown-item { white-space: nowrap; display: flex; gap: .8rem; 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; }  

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



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

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



/*** ---------- Pagination ---------- ***/
.wb-pagination { display: flex; align-items: center; justify-content: center; column-gap: 1.6rem; margin-top: 3.2rem; }
.wb-pagination :is(button.wb-prev, button.wb-next) { 
    --bg-clr: var(--clr-primary); --hover-bg-clr: var(--clr-primary-hover); --size: 4rem; width: var(--size); height: var(--size); border: none; border-radius: var(--wpb-br--small); background: var(--bg-clr); cursor: pointer;
    display: flex; align-items: center; justify-content: center; transition: background var(--wpb-timing) ease, transform var(--wpb-timing) ease, width var(--wpb-timing) ease, opacity var(--wpb-timing) ease; 
}
.wb-pagination :is(button.wb-prev, button.wb-next) i:before { color: var(--clr-heading-primary); --w: calc(var(--size) * .5); --h: calc(var(--size) * .5); } 
.wb-pagination :is(button.wb-prev, button.wb-next):hover{ background: var(--hover-bg-clr); }

.wb-pagination :is(button.wb-prev, button.wb-next).disabled{ opacity: 0; transform: scale(0); width: 0; }
.wb-pagination:has(button.disabled) { column-gap: 0; }



/*** ---------- 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--left { transform: translate3d(-100%, 0, 0); top: 0; right: auto; bottom: 0; left: 0; }
    &.is-active { pointer-events: all; transform: translate3d(0%, 0, 0); }
    
    .wpb-offcanvas__header { display: flex; justify-content: space-between; align-items: center; padding: var(--p); }
    .wpb-offcanvas__body { padding: var(--p); flex-grow: 1; overflow-y: auto; }
    .wpb-offcanvas__footer { display: grid; padding: var(--p); }

}
.btn[data-target="#productFilters"] { position: fixed; bottom: 3.2rem; left: 50%; transform: translateX(-50%); z-index: 600; }
.wpb-offcanvas.wpb-offcanvas--filters form > * + * { margin-top: 1.6rem; }

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

@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; }
}



/*** ----------  Contact links ---------- ***/
.contact-link { display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; text-decoration: none; } 
.contact-link strong { display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; gap: 1.6rem; width: 100%; }



/*** ---------- Archive ---------- ***/
.wpb-archive { --gc: 1; --gap: 3.2rem; }
.wpb-archive .container.container--results { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: var(--gap); }

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



/*** ---------- 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); }

@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 ---------- ***/
.wpb-social-share { display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding-top: 1.6rem; gap: 0.8rem; }
.wpb-social-share > *:first-child { margin-right: auto; }



/*** ---------- 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); --wpb-br: 1.6rem; display: block; padding: 1.6rem; color: var(--clr); background-color: var(--bg); border-radius: var(--wpb-br); }
.wpb-alert.wpb-alert-icon { display: grid; grid-template-columns: 2.0rem 1fr; gap: 1.6rem; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.wpb-alert.wpb-alert-icon i-wrapper { width: 2.0rem; height: 2.0rem; }
.wpb-alert.wpb-alert-icon i-wrapper i { --w: 1.2rem; --h: 1.2rem; }
.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); }



/*** ---------- Search ---------- ***/
.wpb-search-form { position: relative; border-radius: var(--wpb-br--small); overflow: hidden; }
.wpb-search-form input { border-radius: none; border: none; padding: 0 1.6rem; min-height: 6.4rem; font-size: 1.6rem; font-weight: 600; }
.wpb-search-form input:focus { border: none; }
.wpb-search-form [type="submit"] { display: inline-flex; align-items: center; cursor: pointer; user-select: none; padding: 0.4rem 1.6rem; border: none; background: none; height: 100%; position: absolute; right: 0; top: 50%; transform: translateY(-50%); }
.wpb-search-form [type="submit"] i[class*="fa-"] { --clr-icon: var(--clr-dark); --w: 2rem; --w: 2rem; transition: background var(--wpb-timing) ease, transform var(--wpb-timing) ease; }
.wpb-search-form [type="submit"]:hover i[class*="fa-"] { --clr-icon: var(--clr-primary); transform: scale(1.1); }

.wpb-header .wpb-search-form [type="submit"] { background: linear-gradient(to left, #fff 75%, #fff0); }



/*** ---------- Page: Search ---------- ***/
.wpb-search-results { --gc: 1; --gap: 1.6rem; }
.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: .8rem; padding: .8rem 1.6rem; margin-bottom: -.1rem; transition: background-color var(--wpb-timing) 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: 1.6rem; position: relative; }
.wpb-search-results h3 { 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/img/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: 1.6rem; }
.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: 1.6rem; border-radius: 1rem; margin-top: 1.6rem; }
.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(24rem, 1fr)); }
}



/*** ---------- Temlate: Contact ---------- ***/
.wpb-contact .wpb-card{ --p: 2.4rem; }

@media (min-width: 768px) {
    .wpb-contact .wpb-card{ --p: 3.2rem; }
}
@media (min-width: 992px) {
    .wpb-contact .wpb-card{ --p: 4.8rem; }
}