/*
Theme Name: Wux Theme
Author: Wux
Author URI: https://wux.nl/
Description: Wux is het custom wordpress thema van Wux - Internetbureau
Version: 1.5.4
Requires PHP: 8.3.0
Text Domain: wuxnl-theme
*/

@import url('https://use.typekit.net/osr7tcc.css');

:root {
    --fs: 1.8rem;
    --lh: 1.6;
    
    /* Custom beziers */
    --cb--smooth: cubic-bezier(.58,.22,.2,.96);

    /* Color variables */
    --clr-primary: #c5a332;
    --clr-primary-dark: #c5a332;
    --clr-primary-dark-200: #826b1f;

    --clr-secondary: #5E5E5E;
    --clr-secondary-75: #5E5E5E75;
    --clr-secondary-10: rgba(33, 84, 39, 0.1);
    --clr-secondary-light: #21542740;
    --clr-secondary-dark: #5E5E5E;
    --clr-secondary-hover: #5E5E5E90;

    --clr-green: #97c11d;
    --clr-green-dark: #82a715;
    --clr-green-dark-200: #215427;

    --clr-tertiary: #628C13;

    --clr-heading: #000;
    --clr-text: #212529;

    --clr-dark: #152F33;

    --clr-light: rgba(248, 246, 243, 1);
    --clr-light-hover: rgb(241, 237, 232);

    --clr-border: rgb(222, 226, 230); 
    
    --clr-danger: #e2401c;
    --clr-info: #3d9cd2;
    --clr-success: #1CB435;

    /* Font variables */
    --font-primary: "museo-sans",sans-serif;
    --font-secondary: "museo-sans",sans-serif;

    /* Container max-width variables */
    --container-width: 100%;
    --container-width--sm: 540px;
    --container-width--md: 720px;
    --container-width--lg: 960px;
    --container-width--xl: 1140px;
    --container-width--xxl: 1320px;
    --container-width--xxxl: 1440px;

    --global-transition-duration: var(--ts-25);
    --global-transition-function: var(--cb--smooth);

}

@media (min-width: 768px) {
    :root {
        --fs: 1.8rem;
    }
}

body { font-family: var(--font-primary); font-weight: 500; }

* { font-family: var(--font-primary); }

/*** ---------- Typography ---------- ***/
h1, .h1, h2, .h2, h3, .h3, h4, .h4 { color: var(--clr-green-dark-200);  }
h1, .h1 { --fs: clamp(5rem, 5vw, 6.4rem); --lh: 1; }
h2, .h2 { --fs: clamp(3.2rem, 4vw, 5.4rem); --lh: 1; }
h3, .h3 { --fs: clamp(2rem, 3vw, 2.8rem); --lh: 1; }
h4, .h4 { --fs: clamp(1.6rem, 2vw, 1.8rem); --lh: 2rem; color: var(--clr-primary); text-transform: uppercase; font-family: var(--font-secondary); } 

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

.wpb-wst--none { --pt: 0; }
.wpb-wst--small { --pt: 1.8rem; }
.wpb-wst--medium { --pt: 2.5rem; }
.wpb-wst--large { --pt: 4rem; }

.wpb-wsb--none { --pb: 0; }
.wpb-wsb--small { --pb: 1.8rem; }
.wpb-wsb--medium { --pb: 2.5rem; }
.wpb-wsb--large { --pb: 4rem; }

@media (min-width: 992px) {
    .wpb-wst--small { --pt: 6.4rem; }
    .wpb-wst--medium { --pt: 8rem; }
    .wpb-wst--large { --pt: 11rem; }
    
    .wpb-wsb--small { --pb: 6.4rem; }
    .wpb-wsb--medium { --pb: 8rem; }
    .wpb-wsb--large { --pb: 11rem; }
}


/*** ---------- Icons ---------- ***/
.wpb-icon-wrapper { width: 5rem; height: 5rem; border-radius: 50%; display: inline-grid; place-items: center; }
.wpb-icon-wrapper--primary { background-color: var(--clr-primary); }
.wpb-icon-wrapper--primary .wpb-icon { --clr: #fff; }
.wpb-icon-wrapper--secondary { background-color: var(--clr-secondary); }  
.wpb-icon-wrapper--secondary .wpb-icon { --clr: #fff; }

.wpb-icon-wrapper--small { width: 2.5rem; height: 2.5rem; min-width: 2.5rem; }
.wpb-icon-wrapper--small .wpb-icon { --w: 1.6rem; --h: 1.6rem; }

.wpb-icon-wrapper--medium { width: 3rem; height: 3rem; min-width: 3rem; }
.wpb-icon-wrapper--medium .wpb-icon { --w: 1.8rem; --h: 1.8rem; }

.wpb-icon-wrapper--large { width: 3.5rem; height: 3.5em; min-width: 3.5rem; }
.wpb-icon-wrapper--large .wpb-icon { --w: 2rem; --h: 2rem; }

.wpb-icon-wrapper--20 { width: 2rem; height: 2rem; min-width: 2rem; }
.wpb-icon-wrapper--20 .wpb-icon { --w: 1.2rem; --h: 1.2rem; }




/*** ---------- Background colors ---------- ***/
.wpb-bg-clr--primary { background-color: var(--clr-primary); }
.wpb-bg-clr--primary-dark { background-color: var(--clr-primary-dark); }
.wpb-bg-clr--secondary { background-color: var(--clr-secondary); }
.wpb-bg-clr--secondary-dark { background-color: var(--clr-secondary-dark); }
.wpb-bg-clr--darkgreen { background-color: var(--clr-green-dark-200); }
:is(.wpb-bg-clr--primary, .wpb-bg-clr--primary-dark, .wpb-bg-clr--darkgreen) .wpb-text *, :is(.wpb-bg-clr--secondary, .wpb-bg-clr--secondary-dark) .wpb-text *:not(h4){ --clr-text: #fff; color: var(--clr-text); }
:is(.wpb-bg-clr--darkgreen) *:not(.wpb-card *) { color: #FFF !important; --clr: #FFF; border-color: #FFF; }

/*** ---------- Buttons ---------- ***/
.gform_button, .gform_next_button, .gform_previous_button{ 
    --fs: 1.6rem !important; font-size: var(--fs) !important; --p: 0 3rem !important; padding: var(--p) !important; --br: 1rem !important; 
    border-radius: var(--br) !important; font-weight: 700 !important; text-transform: uppercase !important; font-family: var(--font-secondary) !important; 
    min-height: 5rem !important; background-color: var(--clr-primary) !important;
}
.btn, .button { --fs: 1.8rem; --lh: 1; --p: 0 3rem; --br: 1rem; font-weight: 700; text-transform: uppercase; font-family: var(--font-secondary); }
.btn i{ --w: 2rem; --h: 2rem; }
.btn.btn--primary, .button { --clr: rgb(255,255,255); --bg-clr: var(--clr-primary); --hover-bg-clr: var(--clr-primary-dark-200); --border: 1px solid transparent; }
/* .btn.btn--primary .wpb-icon { --clr: rgb(255,255,255); } */

.btn.btn--secondary { --clr: var(--clr-primary); --bg-clr: var(--clr-); --border: 1px solid transparent; --hover-clr: var(--clr-secondary); --hover-bg-clr: var(--clr-primary); }
.btn.btn--secondary .wpb-icon { --clr: var(--clr-primary); }

.btn.btn--outline { --clr: var(--clr-secondary); --border: 1px solid var(--clr-secondary); --hover-bg-clr: var(--clr-secondary); --hover-border: 1px solid var(--clr-secondary); }
.btn.btn--outline-secondary { --clr: var(--clr-secondary); --bg-clr: transparent; --border: 1px solid var(--clr-secondary-light); --hover-clr: #fff; --hover-bg-clr: var(--clr-primary); --hover-border: 1px solid var(--clr-primary); }
.btn.btn--outline-tertiary { --clr: var(--clr-tertiary); --bg-clr: transparent; --border: 1px solid var(--clr-tertiary); --hover-clr: #fff; --hover-bg-clr: var(--clr-tertiary); --hover-border: 1px solid var(--clr-tertiary); }
.btn.btn--nostyle { --clr: var(--clr-primary); --bg-clr: transparent; --border: none; --hover-bg-clr: transparent; --hover-clr: var(--clr-primary-dark); --hover-border: none; --min-w: auto; --p: 0; --fs: 1.4rem; min-height: auto; }

.btn.btn--green { --clr: #fff; --bg-clr: var(--clr-green); --hover-bg-clr: var(--clr-green-dark); --border: 1px solid transparent; }

:is(.wpb-bg-clr--primary, .wpb-bg-clr--primary-dark, .wpb-bg-clr--secondary, .wpb-bg-clr--secondary-dark) .btn.btn--primary{ --bg-clr: #fff; --clr: var(--clr-primary); color: var(--clr); --hover-clr: #fff; --hover-bg-clr: var(--clr-dark);  }
:is(.wpb-bg-clr--primary, .wpb-bg-clr--primary-dark) .btn.btn--outline{ --hover-bg-clr: var(--clr-secondary) !important; }
:is(
    .wpb-bg-clr--primary, .wpb-bg-clr--secondary, .wpb-bg-clr--primary-dark, .wpb-bg-clr--secondary-dark, 
    .wpb-navigation.wpb-navigation--primary .wpb-navigation__collapse:not(.active)
) .btn.btn--outline, .wpb-navigation--primary .btn--nav-toggle{ --clr: #fff; --border: 1px solid #fff; --hover-border: 1px solid transparent; --hover-bg-clr: var(--clr-primary); }
.wpb-navigation.wpb-navigation--primary .wpb-navigation__collapse:not(.active) .btn.btn--outline{ --hover-bg-clr: #FFF; --hover-clr: #000; }



/*** ---------- Background assets ---------- ***/
.wpb-block:has(.wpb-bg-intersects):not(.wpb-variant--fullwidth-image){ z-index: 5; }
.wpb-block:has(.wpb-bg-assets) > *:not(.wpb-bg-assets){ z-index: 2; }

.wpb-bg-assets{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; }
.wpb-bg-assets .wpb-bg-asset{ --w: 40rem; --h: 45rem; width: var(--w); height: var(--h); position: absolute; }

.wpb-bg-assets .wpb-bg-asset-1{ --w: 40rem; --h: 45rem; bottom: -5.5rem; left: -16.2rem; background: url('/app/themes/wuxnl-theme/assets/img/wpb-bg-asset-1.png'); background-repeat: no-repeat; background-size: contain; }
.wpb-bg-assets .wpb-bg-asset-2{ --w: 30rem; --h: 30rem; top: -15rem; right: -15rem;  background: url('/app/themes/wuxnl-theme/assets/img/wpb-bg-asset-2.png'); background-repeat: no-repeat; background-size: contain; }

/*** ---------- Navigation ---------- ***/
.wpb-navigation + section { padding-top: 11rem; }
.wpb-navigation { position: absolute; left: 0; top: 0; right: 0; width: 100%; z-index: 1030; }
.wpb-navigation.wpb-navigation--primary .wpb-navigation__collapse .wpb-menu--hoofdmenu .menu-item-has-children .wpb-sub-menu a{ color: inherit !important; }
.wpb-navigation.wpb-navigation--primary .wpb-navigation__collapse .wpb-menu--hoofdmenu .menu-item-has-children .wpb-sub-menu a:hover{ color: var(--clr-primary) !important; }
.wpb-navigation.wpb-navigation--primary .wpb-navigation__collapse:not(.active) .wpb-menu--hoofdmenu >*:not(.wpb-sub-menu) a{ color: #fff; }
.wpb-navigation.wpb-navigation--primary .wpb-navigation__collapse:not(.active) .wpb-menu--hoofdmenu >*:not(.wpb-sub-menu) a:hover { color: #fff7; }

.wpb-navigation__top { padding-top: 1.6rem; padding-bottom: 1.6rem; }


/*** ---------- Header ---------- ***/
.wpb-header { --gc: 1; --gap: 3.2rem; }
.wpb-header.wpb-header--home{ min-height: 85dvh; display: grid; margin-top: auto; }
.wpb-header.wpb-header--home .container { display: grid; row-gap: 6.4rem; z-index: 2; }
.wpb-header.wpb-header--home .wpb-text{ max-width: 75rem; }
.wpb-header.wpb-header--home h1{ color: #fff; margin-bottom: 3.6rem; filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.4)); }
.wpb-header.wpb-header--home figure.is-background-image img { object-position: top; }
:is(.wpb-header.wpb-header--home, .wpb-block.wpb-block--text-media.wpb-variant--fullwidth-image) .wpb-bg-intersects .wpb-icon.wpb-icon--intersect.--top{ bottom: -3px; --clr: #FFF; }
.wpb-header.wpb-header--home .wpb-columns{ --gc: 1; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 1.5rem; }
.wpb-header.wpb-header--home h4 { color: #FFF; margin-bottom: 1.8rem; }
.wpb-header.wpb-header--home h1:has(+ h4) { margin-bottom: .2rem; }


.wpb-header.wpb-header--subpage .wpb-text{ padding-bottom: 4rem; }
.wpb-header.wpb-header--subpage .wpb-text h1{ margin-top: 3.2rem; }
.wpb-header.wpb-header--subpage .wpb-text p{ font-size: clamp(1.8rem, 2.5vw, 2rem); }
.wpb-header.wpb-header--subpage .container:not(.container--small, .container--fullsize) { --gc: 1; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); }
.wpb-header.wpb-header--subpage .container--fullsize{ max-width: 100%; max-height: 40rem; transform: translateY(var(--pb)); overflow: hidden; }
.wpb-header.wpb-header--subpage .container--fullsize .wpb-image img{ border-radius: 0; }
.wpb-header.wpb-header--subpage .container--fullsize { padding: 0 !important; margin: 0 !important; }
.wpb-header.wpb-header--subpage::before { content: ''; position: absolute; left: -10rem; bottom: 25rem; width: 30rem; height: 37rem; background: url('/app/themes/wuxnl-theme/assets/img/greenfood50-favicon-asset.png'); background-size: contain; background-repeat: no-repeat; opacity: .3; }
.wpb-header.wpb-header--subpage.align-wide .container .wpb-breadcrumbs { display: flex; justify-content: center; }
.wpb-header.wpb-header--subpage.align-wide .wpb-text { text-align: center; }

.wpb-header.wpb-header--recipes h1 { --fs: clamp(3rem, 5vw, 4.8rem); font-weight: 700; }

.wpb-header.wpb-header--recipes .wpb-image { aspect-ratio: 16/9; width: 100%; height: 100%; }
.wpb-header.wpb-header--recipes .wpb-image img { width: 100%; height: 100%; object-fit: cover; }
.wpb-header.wpb-header--recipes .container { display: grid; grid-template-columns: 1fr; gap: 2.8rem; margin-bottom: -2.2rem; }
.wpb-header.wpb-header--recipes::before { content: ''; position: absolute; left: -10rem; bottom: 25rem; width: 30rem; height: 37rem; background: url('/app/themes/wuxnl-theme/assets/img/greenfood50-favicon-asset.png'); background-size: contain; background-repeat: no-repeat; opacity: .3;  }
.wpb-header.wpb-header--recipes + div { margin-top: 2.2rem; }
@media (min-width: 768px) {
    .wpb-header.wpb-header--home .wpb-columns{ --gc: 2; }
    .wpb-header.wpb-header--home .wpb-columns>:first-child{ grid-column: span 2; }
}

@media (min-width: 992px) {
    .wpb-header.wpb-header--home .wpb-columns{ --gc: 3; gap: 2.7rem; }
    .wpb-header.wpb-header--home .wpb-columns>:first-child{ grid-column: span 1; }

    .wpb-header.wpb-header--subpage .container:not(.container--small, .container--fullsize) { --gc: 2; }
    .wpb-header.wpb-header--subpage .wpb-text{ padding: 3rem 0 6rem 0; }
    .wpb-header.wpb-header--subpage .container--fullsize{ position: absolute; right: 0; bottom: 0; top: 14.5rem; display: flex; max-height: none; transform: translateY(0); pointer-events: none; }
    .wpb-header.wpb-header--subpage .container--fullsize .wpb-image{ --br: 8rem; width: 50rem; margin-left: auto; margin-top: auto; }
    .wpb-header.wpb-header--subpage .container--fullsize .wpb-image img{ border-radius: var(--br) 0 0 0; }
    .wpb-header.wpb-header--subpage::before { left: -19.2rem; bottom: -7rem; width: 44rem; height: 51rem; }
    .wpb-header.wpb-header--subpage.align-wide .container { --gc: 1; }
    .wpb-header.wpb-header--subpage.align-wide .wpb-text { max-width: 50%; margin-left: auto; margin-right: auto; }

    .wpb-header.wpb-header--recipes::before { left: -19.2rem; bottom: -7rem; width: 44rem; height: 51rem; }
    .wpb-header.wpb-header--recipes .container { margin-bottom: -4.4rem;}
    .wpb-header.wpb-header--recipes + div { margin-top: 4.4rem; }
    .wpb-header.wpb-header--recipes .container {  grid-template-columns: minmax(0, 46.8rem) minmax(0, 60rem); }
}

@media (min-width: 1200px) {
    .wpb-header.wpb-header--recipes .container {  grid-template-columns: minmax(0, 46.8rem) minmax(0, 1fr); gap: 5.2rem;}

    .wpb-header.wpb-header--subpage .container--fullsize .wpb-image{ width: 60rem; }
}

@media (min-width: 1600px) {
    .wpb-header.wpb-header--subpage .container--fullsize .wpb-image{ width: 75rem; }
}

@media (min-width: 1800px) {
    .wpb-header.wpb-header--subpage .container--fullsize .wpb-image{ width: 85rem; }
}

/*** ---------- Footer ---------- ***/
.by-wux { display: flex; align-items: center; gap: .4rem; text-decoration: none; transform: rotate(-90deg); z-index: 5; transition: background var(--ts-15) ease, box-shadow var(--ts-15) ease; position: absolute; right: -2.5rem; bottom: 6.2rem; background-color: var(--clr-secondary); padding: .4rem 1rem; border-top-left-radius: .4rem; border-top-right-radius: .4rem; }
.by-wux span { font-size: 1.1rem; }
.by-wux i { --clr: #fff; --w: 4.7rem; --h: 1.5rem; }
.by-wux:hover {background-color: var(--clr-secondary-hover); box-shadow: 1px 1px 10px #0003;}

/* Block: Alle */
.wpb-block .wpb-text h4{ margin-bottom: 1.8rem; }
.wpb-block .wpb-text h2{ margin-top: 0 !important; }
.wpb-block .wpb-text p{ font-size: 1.8rem; }
.wpb-block.content-align-center .container > *{ margin: auto; }
.wpb-block.content-align-right .container > *{ margin-left: auto; }


/* Block: Text & media */
.wpb-block.wpb-block--text-media .wpb-text h2{ margin-bottom: 3.6rem; }
.wpb-block.wpb-block--text-media .wpb-usp-list{ margin-bottom: 3.6rem; }
.wpb-block.wpb-block--text-media .wpb-image{ --br: 1.4rem; --bg: rgba(235, 229, 219, 1); border-radius: var(--br); background-color: var(--bg); position: relative; overflow: hidden; }
.wpb-block.wpb-block--text-media .wpb-image::before{ content: ''; position: absolute; top: -4.2rem; left: -6rem; width: 30rem; height: 40rem; background: url('/app/themes/wuxnl-theme/assets/img/greenfood50-favicon-asset.png'); background-size: contain; }
.wpb-block.wpb-block--text-media .wpb-image img{ position: relative; z-index: 3; max-height: var(--max-h); object-fit: cover; }

.wpb-block.wpb-block--text-media.wpb-variant--fullwidth-image .wpb-image{ --br: 0; position: relative; }
.wpb-block.wpb-block--text-media.wpb-variant--fullwidth-image .wpb-text{ --br: 1.4rem; --p: 4rem; --m-bottom: -23.5rem; border-radius: var(--br); padding: var(--p);  background-color: var(--clr-light); margin-bottom: var(--m-bottom); transform: translateY(var(--m-bottom)); z-index: 3; display: grid; place-items: center; text-align: center; }
.wpb-block.wpb-block--text-media.wpb-variant--fullwidth-image .wpb-text h2{ margin-bottom: 0rem; }
.wpb-block.wpb-block--text-media.wpb-variant--fullwidth-image .wpb-image img { z-index: 0; min-height: 40rem; max-height: 60rem; }

@media (min-width: 992px) {
    .wpb-block.wpb-block--text-media .wpb-image::before{ left: -13.8rem; width: 54.2rem; height: 62.7rem; }
    .wpb-block.wpb-block--text-media.wpb-variant--fullwidth-image .wpb-text{ --p: 6rem 8rem;  }
}
@media (min-width: 1200px) {
    .wpb-block.wpb-block--text-media.wpb-variant--fullwidth-image .wpb-text{ --p: 8rem 12rem;  }
}
@media (min-width: 1600px) {
    .wpb-block.wpb-block--text-media.wpb-variant--fullwidth-image .wpb-text{ --p: 8rem 19rem; }
    .wpb-block.wpb-block--text-media.wpb-variant--fullwidth-image .wpb-image img{ --p: 8rem 19rem; }
}

/* Block: Quote */
.wpb-block.wpb-block--quote .wpb-text{ --br: 1.4rem; --p: 4.5rem; border-radius: var(--br); padding: var(--p); display: grid; gap: 2rem; }
.wpb-block.wpb-block--quote .wpb-text p{ font-weight: 700; }
.wpb-block.wpb-block--quote figure.is-background-image img{ object-position: center; }

.wpb-block.wpb-block--quote .wpb-person .person-text h4{ margin-bottom: 0; }
.wpb-block.wpb-block--quote .wpb-person .person-text p{  color: var(--clr-primary); text-shadow: none; line-height: 1; }

@media (min-width: 992px) {
    .wpb-block.wpb-block--quote .wpb-text{ width: 55rem; }
}

/* Block: Process */
.wpb-block.wpb-block--process .wpb-process-carousel{ margin-top: 3.6rem; }
.wpb-process-carousel{ --gc: 12; --active-w: 4; display: flex; flex-direction: column; gap: 2rem; }
.wpb-process-carousel .wpb-process-carousel__body{ display: flex; gap: .8rem; }
.wpb-process-carousel .process-pane{ width: calc(100% / var(--gc)); transition: width var(--ts-30) ease-in-out; }
.wpb-process-carousel .process-pane.was-active{ transition: width var(--ts-50) ease-in-out; }

.wpb-process-carousel .process-pane .wpb-card__body{ opacity: 0; position: relative; pointer-events: none; transform: translateY(40rem); transition: transform var(--ts-40) ease-in-out; }
.wpb-process-carousel .process-pane.was-active .wpb-card__body{ opacity: 0; transform: translateY(100rem);  }
.wpb-process-carousel .process-pane .wpb-card__body::before{ z-index: -1; content: ''; position: absolute; top: -5rem; right: 0; bottom: 0; left: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%); }
.wpb-process-carousel .process-pane.is-active{ width: calc(100% / var(--gc) * var(--active-w)); flex-grow: var(--active-w); }
.wpb-process-carousel .process-pane.is-active.animated .wpb-card__body{ opacity: 1; pointer-events: all; transform: translateY(0); }

.wpb-process-carousel .wpb-process-carousel__footer{ display: grid; gap: 4rem; }
.wpb-process-carousel .wpb-process-carousel__footer .wpb-process-nav{ display: flex; justify-content: flex-end; gap: 1.2rem; order: -1; }

.wpb-card.wpb-card--process { display: grid; position: relative; overflow: hidden; min-height: 25rem; max-height: 40rem; cursor: pointer; }
.wpb-card.wpb-card--process .wpb-card__header { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.wpb-card.wpb-card--process .wpb-card__header img { width: 100%; height: 100%; object-fit: cover; }  
.wpb-card.wpb-card--process .wpb-card__body{ z-index: 2; margin-top: auto; --p: 2.4rem; }
.wpb-card.wpb-card--process .wpb-card__body *{ --clr-text: #fff; color: var(--clr-text); }
.wpb-card.wpb-card--process .wpb-card__body p { font-size: 1.6rem; }
.wpb-card.wpb-card--process .wpb-card__body h3 { font-size: 2.2rem;}

@media(max-width: 575.98px) {
    .wpb-card.wpb-card--process { width: 100%; min-height: 6rem !important; }
}


@media (min-width: 768px) {
    .wpb-block.wpb-block--process .wpb-contact-person{ flex-direction: row; align-items: center; }
    .wpb-process-carousel .wpb-process-carousel__footer{ grid-template-columns: 1fr 10rem; align-items: center; }
    .wpb-process-carousel .wpb-process-carousel__footer .wpb-process-nav{ order: 2; }
    .wpb-block.wpb-block--process .wpb-process-carousel{ margin-top: 5.6rem; }
}
@media (min-width: 992px) {
    .wpb-process-carousel{ --gc: 6; --active-w: 2.5; column-gap: 4rem; }
    .wpb-process-carousel .process-pane.was-active .wpb-card__body{ opacity: 1; }
    .wpb-card.wpb-card--process{ min-height: 50rem; }
    .wpb-card.wpb-card--process .wpb-card__body{ --p: 3.2rem; }
}

/* Block: Team */
.wpb-card.wpb-card--team h4{ color: var(--clr-primary); font-family: var(--font-primary); font-size: 1.5rem; }
.wpb-card.wpb-card--team h3{ font-size: clamp(2.4rem, 3vw, 3.2rem); }
.wpb-card.wpb-card--team summary{ padding-top: 2rem; }
.wpb-card.wpb-card--team .wpb-card__header .wpb-image{ --br: 50%; --size: 27.5rem; height: calc(var(--size) + 1rem); width: calc(var(--size) + 1rem); margin: auto; margin-top: 3rem; border: 1px solid var(--clr-secondary-light); border-radius: var(--br); padding: 1.5rem; }
.wpb-card.wpb-card--team .wpb-card__header .wpb-image img{ width: 100%; height: 100%; object-fit: cover; }

.wpb-block.wpb-block--team .container.container--team{ margin-top: 4rem; }
.container.container--team{ --gc: 1; display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 2rem; }

@media (min-width: 768px) {
    .container.container--team{ --gc: 2; }
}
@media (min-width: 1200px) {
    .container.container--team{ --gc: 3; }
}

/* Template: Contact */
.wpb-card:is(.wpb-card--contact-form, .wpb-card--contact){ --bg-clr: var(--clr-light); background-color: var(--bg-clr); }
.wpb-card:is(.wpb-card--contact-form, .wpb-card--contact):hover{ background-color: var( --bg-clr); }

.gform_confirmation_message { display: flex !important; align-items: center !important; gap: 1.5rem !important; font-size: 1.8rem !important; font-weight: 900 !important;}
.gform_confirmation_message em { order: -1; background: var(--clr-primary); display: flex; padding: .6rem; border-radius: 50%; }
.gform_confirmation_message i.wpb-icon.wpb-icon--check { --clr: #fff; --w: 2rem; --h: 2rem; }

/* Single content */
.content-section { position: relative; }
.content-section .wpb-text > * + *:not(.btn .blockquote, .modal){ margin-top: 1rem; }
.content-section .wpb-text .btn-group + *:not(.btn .blockquote, .modal){ margin-top: 2rem; }

.content-section.content-section--text-media .wpb-image{  --min-h: 30rem; --max-h: 35rem; min-height: var(--min-h); max-height: var(--max-h); }
.content-section.content-section--text-media .wpb-image img{ min-height: var(--min-h); max-height: var(--max-h); object-fit: cover; }
.content-section .wpb-text p ul,
.content-section .wpb-text p ul li,
.content-section .wpb-text p ol li,
.content-section .wpb-text p ol,
.content-section .wpb-text p { font-size: 1.8rem; } 

.content-section.content-section--images .wpb-image img{ height: 100%; object-fit: cover; }

@media (min-width: 992px) {
    .content-section.content-section--text-media .wpb-image{ --min-h: 40rem; --max-h: 55rem; }
}
/* WPML */
.wpb-dropdown.wpb-dropdown--wpml button { padding-block: 1rem; cursor: pointer; background-color: transparent; border: none; display: flex; align-items: center; gap: .6rem; }
.wpb-dropdown.wpb-dropdown--wpml button img { border-radius: 50%; width: 2.2rem; height: 2.2rem; aspect-ratio: 1 / 1; object-fit: cover; }
.wpb-dropdown.wpb-dropdown--wpml button i { --clr: var(--clr-text); }
.wpb-dropdown.wpb-dropdown--wpml .wpb-dropdown__menu { top: 100%; }
.wpb-dropdown.wpb-dropdown--wpml:hover .wpb-dropdown__menu { opacity: 1; pointer-events: all; z-index: 850; }

.wpb-navigation.wpb-navigation--primary .wpb-navigation__collapse:not(.active) .wpb-dropdown.wpb-dropdown--wpml button i{ --clr-text: #fff; }

.wpb-navigation__collapse.active .wpb-collapse__footer{ justify-content: space-between; }
.wpb-navigation__collapse.active .wpb-collapse__footer .wpb-dropdown{ order: 3; }
.wpb-navigation__collapse.active .wpb-collapse__footer .wpb-dropdown .wpb-dropdown__menu{ top: auto; bottom: calc(100% + 1rem); }
/* Extra */
.wpb-contact-person{ display: flex; flex-direction: column; gap: 4rem; }
.wpb-contact-person .btn{ height: fit-content; }
.wpb-person{ display: flex; align-items: center; gap: 1.4rem; }
.wpb-person .wpb-picture{ --size: 9rem; --br: 50%; min-width: var(--size); min-height: var(--size); max-width: var(--size); max-height: var(--size); padding: .8rem; border-radius: var(--br); border: 1px solid var(--clr-secondary-light); } 
.wpb-person .wpb-picture img { border-radius: var(--br); aspect-ratio: 1/1; object-fit: cover; }
.wpb-person .person-text{ font-size: 1.8rem; }
.wpb-person .person-text h4 { --fs: clamp(1.8rem, 3vw, 2.2rem); color: var(--clr-text); text-transform: none; }
:is(.wpb-bg-clr--primary, .wpb-bg-clr--secondary) .wpb-person .person-text > *{ --clr-text: #fff; color: var(--clr-text); font-weight: 700; }

@media (min-width: 768px) {
    .wpb-contact-person .btn{ width: fit-content; }
}
@media (min-width: 992px) {
    .wpb-contact-person{ flex-direction: row; align-items: center; }
}

.wpb-usp-list{ display: grid; gap: 1.8rem; }
.wpb-usp{ display: flex; align-items: center; gap: 1rem; }
.wpb-usp .wpb-usp__text .wpb-usp__title{ font-size: 2.2rem; font-weight: 600; }
.wpb-usp .wpb-usp__text .wpb-usp__description { font-size: 1.8rem; line-height: 1.2; }

.wpb-badge{ 
    --size: 2.6rem; --offset: .4rem; --offset-minus: -.4rem; position: relative; margin: var(--offset); background-color: var(--clr-primary); 
    border-radius: 50%; aspect-ratio: 1/1; min-width: var(--size); min-height: var(--size); width: var(--size); height: var(--size); display: grid; place-items: center;
}
.wpb-badge::before{ 
    content: ''; position: absolute; top: var(--offset-minus); right: var(--offset-minus); bottom: var(--offset-minus); left: var(--offset-minus); 
    border: 1px solid var(--clr-secondary-light); border-radius: 50%;
}
.wpb-badge i{ --clr: #fff; --w: 1.6rem;  }

@media (min-width: 992px) {
    .wpb-badge{ --size: 3rem; } 
    .wpb-badge i{ --w: 2rem; }
}

.wpb-link{ text-decoration: none; display: flex; gap: 1rem; }
.wpb-link p{ font-size: 1.8rem; transition: color var(--ts-15) ease-in-out; }
.wpb-link:hover p{ color: var(--clr-primary); }
.wpb-link i{ --clr: var(--clr-primary); margin-top: .3rem; }


section#content{ z-index: 3; }
body.single-products .wpb-header.wpb-header--subpage .wpb-text{ padding: 0; }

.wpb-block.wpb-block--product-detail{ --gc: 1; --gap: 2.4rem; position: relative; }
.wpb-block.wpb-block--product-detail .container{ display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: var(--gap); }

.wpb-image-fixed{ display: flex; justify-content: end; }
.wpb-image-fixed img{ max-width: 30rem;  max-height: 35rem; }

@media (min-width: 576px) {
    .wpb-image-fixed img{ max-width: 50rem; }
}
@media (min-width: 992px) {
    .wpb-block.wpb-block--product-detail{ --gc: 2; --gap: 3.2rem; }
    .wpb-image-fixed{ position: absolute; top: var(--pt); bottom: var(--pb); right: 0; }
    .wpb-image-fixed .wpb-image{ position: sticky; top: 2rem; height: fit-content; }
}
@media (min-width: 1200px) {
    .wpb-image-fixed img{ max-width: 65rem; }
}
@media (min-width: 1400px) {
    .wpb-image-fixed img{ max-width: 80rem; }
}

.wpb-benefits{ display: flex; flex-wrap: wrap; gap: 2.5rem; }
.wpb-benefits .wpb-benefits__item{ display: grid; place-items: center; gap: 1rem; }
.wpb-benefits .wpb-benefits__item i{ --clr: var(--clr-primary); --w: 3.5rem; --h: 3.5rem; }
.wpb-benefits .wpb-benefits__item p{ font-size: 1.4rem; }

.wpb-additional-info{ display: grid; gap: 1.5rem; }
.wpb-additional-info .wpb-additional-info__item{ display: flex; align-items: center; gap: 1.5rem; }
.wpb-additional-info .wpb-additional-info__item i{ --w: 2.5rem; --h: 2.5rem;  --clr: var(--clr-primary); }

body.page-template-template-contact .wpb-header--subpage .wpb-text { padding: 0; }

/*** ----- SVG map ----- ***/
.wpb-map svg { width: 100%; height: auto; max-height: 62rem; }
.wpb-map .wpb-map__container { position: relative;  } 
.wpb-map .wpb-map__container .map-hotspots { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; }

.wpb-map .hotspot { position: absolute; top: var(--top); left: var(--left); display: inline-block; width: .9rem; height: .9rem; border-radius: 50%; background-color: var(--clr-light); box-shadow: 0 0 0 .6rem var(--clr-green-dark-200); transition: box-shadow var(--ts-15) ease; }
.wpb-map .hotspot::after { content: ''; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 2rem; height: 2rem; }
.wpb-map .hotspot .hotspot__popup { overflow: clip; border-radius: .6rem; opacity: 0; pointer-events: none; width: 25rem; padding-bottom: 1.6rem; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); transition: opacity var(--ts-15) ease, bottom var(--ts-15) ease; }
.wpb-map .hotspot .hotspot__popup .popup-inner { border-radius: 0 0 .6rem .6rem; line-height: .9; position: relative; background-color: #fff; padding: 1.6rem; }
.wpb-map .hotspot .hotspot__popup .popup-inner::after { content: ''; width: 0; height: 0; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); transform-origin: center; border-style: solid; border-width: .6rem .8rem 0 .8rem; border-color: #fff transparent transparent transparent; }
.wpb-map .hotspot .hotspot__popup strong { font-size: 1.8rem; font-family: var(--wpb-font-headings); display: block; margin-bottom: .75rem; }
.wpb-map .hotspot .hotspot__popup .quote { line-height: 1.4; font-size: 1.6rem;}
.wpb-map .hotspot .hotspot__popup .categories { margin-bottom: .5rem; }
.wpb-map .hotspot .hotspot__popup .categories span { font-size: 1.3rem; line-height: 1.2; color: rgb(var(--wpb-contrast-70)); }
.wpb-map .hotspot .hotspot__popup a { text-decoration: none; display: grid; grid-template-columns: 1.2rem 1fr; column-gap: .25rem; align-items: center; font-size: 1.3rem; line-height: 1.2; } 
.wpb-map .hotspot .hotspot__popup a i { --width: 1.2rem; --height: 1.2rem; }
.wpb-map .hotspot .hotspot__popup a span { font: inherit; overflow: hidden; white-space: nowrap;  text-overflow: ellipsis; }
.wpb-map .hotspot .categories { display: flex; flex-wrap: wrap; }
.wpb-map .hotspot .categories span:not(:last-child)::after { content: ','; margin-right: 0.5rem; line-height: 1.2; }
.wpb-map .hotspot .hotspot__popup .hotspot-header { max-height: 30rem; }
.wpb-map .hotspot:hover, .wpb-map .hotspot:active, .wpb-map .hotspot:focus, .wpb-map .hotspot:target { z-index: 9999; box-shadow: 0 0 0 .8rem var(--clr-secondary-light); }
.wpb-map .hotspot:hover .hotspot__popup, .wpb-map .hotspot:active .hotspot__popup, .wpb-map .hotspot:focus .hotspot__popup, .hotspot:target .hotspot__popup { opacity: 1; bottom: 100%; pointer-events: all; } 

.wpb-map.wpb-map__secondary svg path { fill: var(--clr-primary) !important; stroke: rgb(var(--wpb-contrast-20)); stroke-width: 1px; }

@media (min-width: 1200px) {
    .wpb-map .hotspot .hotspot__popup { min-width: 30rem; } 
}

/*** ----- Single recipes ----- ***/
.single-recipes .wpb-content .container  { display: grid; grid-template-columns: 1fr; }
.single-recipes .wpb-content ol {list-style: none;counter-reset: recipe-steps;padding-left: 0;}
.single-recipes .wpb-content ol li {counter-increment: recipe-steps;display: flex;gap: 1.6rem;margin-bottom: 1.6rem; color: var(--clr-heading); align-items: center; }
.single-recipes .wpb-content ol li::before {content: counter(recipe-steps);min-width: 4rem;height: 4rem;background: var(--clr-primary);outline: 1px solid var(--clr-light);outline-offset: .3rem;color: #fff;border-radius: 50%;display: grid;place-items: center;font-weight: 700;}

@media (max-width: 575.98px) {
    .wpb-process-carousel .wpb-process-carousel__body { flex-direction: column; }  
    .wpb-process-carousel .process-pane.is-active { width: 100%; height: auto; }
}

@media(max-width: 991.98px) {
    .single-recipes .wpb-sidebar + .inner { margin-top: 4.8rem; }
}

@media(min-width: 992px) {
    .single-recipes .wpb-content .container:not(.container--medium) {  grid-template-columns: minmax(0, 46.8rem) minmax(0, 60rem); gap: 4.8rem;}
}

@media (min-width: 1200px) {
    .single-recipes .wpb-content .container:not(.container--medium) {  grid-template-columns: minmax(0, 46.8rem) minmax(0, 1fr); gap: 5.2rem;}
}

/*** ----- Block: Locations ----- ***/

@media(max-width: 575.98px) {
    .wpb-block.wpb-block--locations .wpb-row { column-gap: 0;}
}


.wpb-navigation + section { padding-top: 14.5rem; }