/*
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
*/

@font-face {
    font-family: "Montserrat";
    src: url('/app/themes/wuxnl-theme/assets/fonts/Montserrat-Italic-VariableFont_wght.ttf') format('truetype');
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Montserrat";
    src: url('/app/themes/wuxnl-theme/assets/fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
    font-style: normal;
    font-display: swap;
}

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

    /* Color variables */
    --clr-primary: #B5ADA2; /* Taupe */
    --clr-primary-rgb: 181, 173, 162;
    
    --clr-secondary: #EBE3D7; /* Off white */
    --clr-secondary-rgb: 235, 227, 215;

    --clr-tertiary: #979086; /* Clay */

    --clr-heading: #fff;
    --clr-text: #fff;

    --clr-dark: #1E1D1B;
    --clr-dark-rgb: 30, 29, 27;
    --clr-dark-110: #181715;
    --clr-dark-90: #32302C;
    --clr-dark-90-rgb: 50, 48, 44;
    --clr-black: #000;

    --clr-light: #EBE3D7;

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

    --gradient-1: #1F1E1C;

    /* Font variables */
    --font-primary: 'corsario-variable', sans-serif;
    --font-secondary: 'Montserrat', 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: 1437px;

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

}

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

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

html { scroll-padding-top: 6.4rem; }

body { font-family: var(--font-secondary); background-color: var(--clr-dark); }

.wpb-product-info { display: inline-flex; align-items: center; column-gap: 3.2rem; background-color: var(--clr-dark); border-left: .8rem solid var(--clr-primary); padding: 2rem; }
.wpb-product-info .wpb-product-line small { font-size: 1.4rem; line-height: 1; display: block; width: 100%; }
.wpb-product-info .wpb-product-line strong { display: block; font-size: 3.2rem; font-family: var(--font-primary); line-height: 1; margin-top: 1rem; }
.wpb-product-info .wpb-property .wpb-property__text small { opacity: .5; }

/*** ---------- Extras ---------- ***/
.wpb-extras { display: flex; flex-wrap: wrap; gap: .8rem; }  
.wpb-extra { color: var(--clr-dark); background-color: #fff; min-height: 2.5rem; padding: 0 1.2rem; display: flex; align-items: center; column-gap: .5rem; font-size: 1.3rem; }  
.wpb-extra i { color: var(--clr-primary); }

/*** ---------- Properties ---------- ***/
.wpb-properties { display: flex; flex-wrap: wrap; gap: 1rem 2rem; }  
.wpb-property { display: flex; align-items: center; column-gap: 1rem; }
.wpb-property .wpb-property__icon,
.wpb-property .wpb-property__image { --size: 2.9rem; width: var(--size); min-width: var(--size); height: var(--size); border: 1px solid rgba(var(--clr-secondary-rgb), .50); }
.wpb-property .wpb-property__image img { width: 100%; height: 100%; object-fit: cover; }
.wpb-property .wpb-property__icon { display: grid; place-items: center; border: none; background-color: var(--clr-primary); }
.wpb-property .wpb-property__text { line-height: 1; display: flex; flex-direction: column; }  
.wpb-property .wpb-property__text strong { display: block; width: 100%; font-size: 1.4rem; font-weight: 500; margin-top: .15rem; font-weight: 500; }
.wpb-property .wpb-property__text small { font-size: 1.2rem; line-height: 1; opacity: .75; }

.wpb-property.wpb-property--large .wpb-property__image { --size: 3.9rem; }
.wpb-property.wpb-property--large .wpb-property__text strong { font-size: 1.6rem; margin-top: .5rem; }
.wpb-property.wpb-property--large .wpb-property__text small { font-size: 1.4rem; }

/*** ---------- Cards ---------- ***/
.wpb-card { --br: 0; }

.wpb-card .card-label {  display: block; width: 100%; font-weight: 400; letter-spacing: .1em; }
.wpb-card .card-title { font-size: clamp(2rem, 3vw, 2.4rem); line-height: 1; font-family: var(--font-primary); display: block; width: 100%; }
.wpb-card .card-price { text-align: right; }
.wpb-card .card-price small { font-size: 1.2rem; line-height: 1; display: block; width: 100%; }
.wpb-card .card-price strong { font-weight: 500; }
.wpb-card .card-price strong i { font-size: 1.4rem; opacity: .6; margin-right: .8rem; }

.wpb-card--bg-image { position: relative; z-index: 1; }
.wpb-card--bg-image .wpb-card__header { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; z-index: -1; overflow: clip; }
.wpb-card--bg-image .wpb-card__header img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--global-transition-duration) var(--global-transition-function); } 
.wpb-card--bg-image .wpb-card__header::before { z-index: 1; content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(0,0,0,.5) 0%, rgba(0,0,0,0) 100%); }

.wpb-card--article { min-height: 35rem; }
.wpb-card--article .wpb-card__body { display: flex; align-items: end; justify-content: space-between; column-gap: 2rem; padding: 2.4rem 2rem; }
.wpb-card--article a { display: flex; align-items: end; font-size: 2.5rem; } 
.wpb-card--article a::before { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
.wpb-card--article:hover .wpb-card__header img { transform: scale(1.1); }

.wpb-card--product { --direction: to top; --gradient-clr-rgb: 0,0,0; background-color: var(--clr-secondary); }
.wpb-card--product .wpb-card__header { --wpb-aspect-ratio: 50%; z-index: 1; }
.wpb-card--product .wpb-card__header img { height: 100%; }
.wpb-card--product .wpb-card__header .wpb-properties { z-index: 1; position: absolute; top: auto; right: 0; bottom: 0; left: 0; height: auto; padding: 2rem var(--p); }
.wpb-card--product .wpb-card__header::after { content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(var(--direction), rgba(var(--gradient-clr-rgb), .65) 0%, rgba(var(--gradient-clr-rgb), 0) 100%); }
.wpb-card--product .wpb-card__body { display: flex; column-gap: 2rem; }
.wpb-card--product .wpb-card__footer { padding: 2rem var(--p); border-top: 1px solid rgba(var(--clr-dark-rgb), .15); }
.wpb-card--product .wpb-card__footer .wpb-property { color: var(--clr-dark); }
.wpb-card--product :is(.card-title, .card-label, .card-price) { color: var(--clr-dark); margin: 0 0 .6rem 0; }
.wpb-card--product .card-title { font-weight: 700; }
.wpb-card--product .card-price { white-space: nowrap; }
.wpb-card--product .wpb-extras { padding: var(--p); padding-top: 0; }  

:is(.wpb-card--material, .wpb-card--powdercoating) { position: relative; min-height: 14.7rem; box-shadow: 0 0 6px #FFFFFF1A; }
:is(.wpb-card--material, .wpb-card--powdercoating) .wpb-card__body { display: flex; align-items: end; }

.wpb-card--cta .wpb-card__header { position: relative; }
.wpb-card--cta .btn::after,
.wpb-card--cta .wpb-card__header img,
.wpb-card--cta .wpb-card__header::before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; }
.wpb-card--cta .wpb-card__header::before { content: ''; display: block; background: linear-gradient(to bottom, transparent 65%, var(--clr-primary) 100%); z-index: 1; }
.wpb-card--cta .wpb-card__header::after { content: ''; display: block; padding-top: 65%; }
.wpb-card--cta .wpb-card__body { padding-top: 0; } 
.wpb-card--cta .wpb-person { margin-bottom: 2.4rem; }
.wpb-card--cta .card-title { color: var(--clr-dark); }
.wpb-card--cta .btn { width: 100%; }
.wpb-card--cta .btn::after { content: ''; display: block; z-index: 2; }

.wpb-card.wpb-card--review { display: flex; flex-direction: column; align-items: center; }
.wpb-card.wpb-card--review.wpb-card--bg-image .wpb-card__header::before{ background: linear-gradient(to top, rgba(0, 0, 0, 0.8), #0000); }
.wpb-card.wpb-card--review.wpb-card--bg-image .wpb-card__header::after{ content: ''; z-index: 1; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: var(--clr-tertiary); transform: translateX(101%); transition: transform var(--ts-50) cubic-bezier(0.25, 0.1, 0.25, 1);  }
.wpb-card.wpb-card--review.wpb-card--bg-image:nth-child(odd) .wpb-card__header::after{ transform: translateY(0); }

.wpb-card.wpb-card--review .wpb-card__body{ display: flex; flex-direction: column; }
.wpb-card.wpb-card--review .card-content{ margin-top: auto; height: fit-content; padding-top: 14rem; }
.wpb-card.wpb-card--review .card-rating{ display: flex; gap: 1.2rem; align-items: center; font-size: 1.4rem; margin-top: 1.6rem; }

.wpb-card.wpb-card--step{ --p: 2.8rem; overflow: hidden; min-height: 32rem; background: linear-gradient(to bottom, rgb(var(--clr-secondary-rgb), .2) 30%,  rgb(var(--clr-secondary-rgb), 1)); }
.wpb-card.wpb-card--step .wpb-card__header{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; }
.wpb-card.wpb-card--step .wpb-card__header img{ width: 100%; height: 100%; object-fit: cover; }
.wpb-card.wpb-card--step .wpb-card__body{ color: var(--clr-dark); display: flex; flex-direction: column; justify-content: end; gap: .6rem; }
.wpb-card.wpb-card--step .card-subtitle{ font-size: clamp(1.4rem, 3vw, 1.8rem); letter-spacing: 2px; }
.wpb-card.wpb-card--step .card-title{ max-width: 25rem; line-height: 1.2; }

.wpb-card.wpb-card--blurb{ --bg-clr: var(--clr-dark-90); background-color: var(--bg-clr); transition: background var(--ts-25) ease; }
.wpb-card.wpb-card--blurb .wpb-card__header img{ transition: transform var(--ts-25) ease; }
.wpb-card.wpb-card--blurb .card-badge{ background-color: var(--clr-primary); padding: .7rem 1.2rem; width: fit-content; font-size: 1.3rem; color: var(--clr-black); font-weight: 500; line-height: 1; margin-bottom: 1.8rem; }
.wpb-card.wpb-card--blurb .card-title{ line-height: 1.2; }
.wpb-card.wpb-card--blurb .card-title:has(+ .card-text){ margin-bottom: 1.2rem; }
.wpb-card.wpb-card--blurb .wpb-card__body:has(+ .wpb-card__footer){ padding-bottom: 1.2rem; }
.wpb-card.wpb-card--blurb .wpb-card__footer{ padding-top: 0; }
.wpb-card.wpb-card--blurb .wpb-card__footer .btn{ min-height: auto; }
.wpb-card.wpb-card--blurb .wpb-card__footer a::before{ content: ''; position: absolute; top: 0; right: 0; bottom: 0; left: 0; }

.wpb-card.wpb-card--blurb.wpb-card--bg-image{ min-height: 28rem; background: linear-gradient(to bottom, #0000, #0004 30%); }
.wpb-card.wpb-card--blurb.wpb-card--bg-image .wpb-card__body{ display: flex; flex-direction: column; justify-content: end; }

.wpb-card.wpb-card--blurb:has(.wpb-card__footer a):hover{ --bg-clr: var(--clr-dark-110); }
.wpb-card.wpb-card--blurb:has(.wpb-card__footer a):hover .wpb-card__header img{ transform: scale(1.1); }

.wpb-card--project-header { background-color: var(--clr-dark-90); height: fit-content;}
.wpb-card--project-header .wpb-card__body { --p: 4rem; flex-grow: unset; }
.wpb-card--project-header .wpb-card__body .cta-title {font-size: 2.4rem; font-family: var(--font-primary); font-weight: 500; line-height: 1.2;}
.wpb-card--project-header .wpb-card__body .cta-content { font-size: 1.6rem; }
.wpb-card--project-header .wpb-card__footer { padding: 0 !important;}
.wpb-card--project-header .wpb-card__footer .btn-group {--gap: 0;}
.wpb-card--project-header .wpb-card__footer .btn-group .btn { --p: 1rem; justify-content: flex-start; padding: 0 var(--p); width: 100%; border-top: 1px solid var(--clr-dark-90);}
.wpb-card--project-header .wpb-card__footer .btn-group .btn i { width: 2rem; }
/* .wpb-card--project-header .wpb-card__footer .btn--brochure {justify-content: flex-start; padding: 0 4rem; width: 100%; } */

.wpb-card--project-header .wpb-person { position: absolute; right: 0; top: 0; transform: translateY(-50%); }
.wpb-card--project-header .wpb-person .wpb-person__text { align-items: flex-start; flex-direction: column;}

.wpb-card--article .card-text { font-size: 1.6rem; line-height: 1.2; margin-top: .5em; }

.wpb-card--contact-form .gform_wrapper.gravity-theme .gfield_label { color: var(--clr-dark); }

.wpb-card--contact * { font-size: 1.4rem; background-color: var(--clr-dark-90); }
.wpb-card--contact a { display: flex; align-items: center; column-gap: .9rem; }
.wpb-card--contact a span { text-decoration: underline; }

.wpb-card.wpb-card--openingtimes{ background-color: var(--clr-dark-90); }
.wpb-card.wpb-card--openingtimes .card-title{ margin-bottom: 1.2rem; }

.wpb-card .wpb-card__icotext{ display: flex; align-items: center; gap: .8rem; }

.wpb-bg-clr--dark-90 .wpb-card.wpb-card--blurb{ --bg-clr: var(--clr-dark); }

.gform-footer { display: grid !important; align-items: center; grid-template-columns: minmax(0, 1fr); padding-bottom: 0 !important; gap: 2rem 2.4rem; }

.gform-footer p { color: var(--clr-dark); font-size: 1.4rem; line-height: 1.2; }
.gform-footer p a { color: var(--clr-dark); text-decoration: underline; }

@media (min-width: 576px){ 
    .wpb-card.wpb-card--review{ --p: 4rem 3.2rem; }
    .wpb-card--project-header .wpb-card__footer .btn-group .btn { --p: 2rem;}
}

@media (min-width:  768px) {
    .wpb-card.wpb-card--blurb{ --p: 3.2rem; }
    .wpb-card.wpb-card--blurb.wpb-card--bg-image{ min-height: 42rem; }

    .wpb-card--project-header .wpb-card__footer .btn-group .btn { --p: 3rem;}

    .gform-footer { grid-template-columns: 1fr auto; }
}

@media (min-width: 992px){ 
    .wpb-card.wpb-card--review{ min-height: 42rem; }

    .wpb-card--project-header .wpb-card__footer .btn-group .btn { --p: 4rem;}
}

@media (min-width: 1200px) {
    .wpb-card .card-label { font-size: 1.8rem; }

    .wpb-card--article .wpb-card__body { padding: 3.2rem 4rem; }

    .wpb-card--material { --p: 3.2rem; min-height: 32.9rem; }

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

@media (min-width: 1400px) {
    .wpb-card--product { --p: 2.8rem; min-height: 50rem; }

    .wpb-card--article { min-height: 50rem; }

    .wpb-card--material { --p: 4rem; }

    .wpb-card--cta { --p: 3.2rem; }

    .wpb-card--contact { --p: 3.2rem; }

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

/*** ---------- Blaze slider ---------- ***/
.blaze-nav-container { display: flex; justify-content: space-between; align-items: center; margin-top: 1.6rem; column-gap: .8rem; }
.blaze-nav-container > button { --size: 4.9rem; cursor: pointer; width: var(--size); height: var(--size); min-width: var(--size); color: #fff; border: 1px solid var(--clr-primary); display: grid; place-items: center; background-color: transparent; transition-property: color, border-color, background-color; transition-duration: var(--global-transition-duration); transition-timing-function: var(--global-transition-function); }
.blaze-nav-container > button:hover { background-color: var(--clr-secondary); color: var(--clr-dark); }  

.blaze-pagination-container .blaze-pagination { display: flex; align-items: center; column-gap: 1.6rem; }
.blaze-pagination-container button { cursor: pointer; border: none; width: 1rem; height: 1rem; background-color: rgba(var(--clr-secondary-rgb), .4); overflow: clip; text-indent: -9999rem; transition: background-color var(--global-transition-duration) var(--global-transition-function); }
.blaze-pagination-container button.active { background-color: var(--clr-secondary); } 
.blaze-pagination-container button:hover{ background-color: rgba(var(--clr-secondary-rgb), .75); }

/*** ---------- Typography ---------- ***/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { font-family: var(--font-primary); font-weight: 700; }
h1, .h1 { --fs: clamp(3.2rem, 5vw, 7.2rem); --lh: 1; }
h2, .h2 { --fs: clamp(2.8rem, 4vw, 4.8rem); --lh: 1; }
h3, .h3 { --fs: clamp(2rem, 3vw, 3.2rem); --lh: 1; }
h4, .h4 { --fs: 1.8rem; --lh: 2rem; }

.wpb-text p:has(+ :is(h1, h2, h3)) em { font-style: normal; font-size: 1.4rem; letter-spacing: .2em; opacity: .8; }
.wpb-text p:has(em) + :is(h1, h2, h3) { --mt: .1em; }

.contact-link { display: flex; align-items: center; column-gap: .9rem; font-size: 1.4rem; text-decoration: none;  transition: color var(--ts-25) ease; }
.contact-link i { font-size: 1.2rem; display: grid; place-items: center; --size: 2.6rem; width: var(--size); min-width: var(--size); height: var(--size); color: var(--clr-dark); background-color: var(--clr-primary); transition: background var(--ts-25) ease; }
.contact-link:hover{ color: #fff7; }
.contact-link:hover i{ background-color: #fff; }


@media (min-width: 768px) {
    .wpb-text p:has(+ :is(h1, h2, h3)) em { font-size: 1.6rem; }
}

@media (min-width: 992px) {
    .wpb-text p:has(+ :is(h1, h2, h3)) em { font-size: 1.8rem; }
}

/*** ---------- Reviews ---------- ***/
.wpb-reviews { display: flex; align-items: center; column-gap: .6rem; font-size: 1.4rem; }
.wpb-reviews .g-icon { width: 1.3rem; height: 1.3rem; }
.wpb-reviews .review-score { font-weight: 600; }
.wpb-reviews .review-count { display: none; }

/*** ---------- Display ---------- ***/
.desktop { display: none; }

@media (min-width: 1400px) {
    .desktop { display: inline-block; }
    .mobile { display: none; }
}

/*** ---------- Dropdowns ---------- ***/
.wpb-dropdown .toggle { border: none; cursor: pointer; }
.wpb-dropdown .wpb-dropdown__menu { border-radius: 0; background-color: var(--clr-dark-90); }

.wpb-dropdown.wpb-dropdown--wpml .toggle { background-color: transparent; display: flex; align-items: center; column-gap: .5rem; }  
.wpb-dropdown.wpb-dropdown--wpml img { width: 2.5rem; }
.wpb-dropdown.wpb-dropdown--wpml i { color: #fff; }
.wpb-dropdown.wpb-dropdown--wpml .wpb-dropdown__menu { min-width: auto; }

/*** ---------- USP's ---------- ***/
.wpb-usps { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2rem; }
.wpb-usps .usp { flex-grow: 1; display: flex; }
.wpb-usps .usp i { --size: 5.7rem; width: var(--size); height: var(--size); min-width: var(--size); display: grid; place-items: center; background-color: var(--clr-primary); color: var(--clr-dark); }
.wpb-usps .usp .usp__text { width: 100%; min-height: 5.7rem; display: flex; flex-direction: column; justify-content: center; padding: .5rem 2rem; border: 1px solid #424242; }
.wpb-usps .usp .usp__text strong { font-size: 1.6rem; display: block; width: 100%; font-weight: 600; }
.wpb-usps .usp .usp__text small { font-weight: 400; display: block; width: 100%; line-height: 1; }
.wpb-usps .usp .usp__text:has(small) { border: none; }

.wpb-usps .usp.usp--secondary { align-items: center; }
.wpb-usps .usp.usp--secondary i { --size: 3.9rem; }
.wpb-usps .usp.usp--secondary .usp__text { border: none; padding: 0 .8rem; }

@media (max-width: 575.98px) {
    .wpb-usps:has(.usp.usp--secondary) { flex-direction: column; justify-content: center; }
    .wpb-usps .usp.usp--secondary { flex-direction: column; text-align: center; }
}

@media (min-width: 768px) {
    .wpb-usps .usp { font-size: 1.8rem; }
}

/*** ---------- Person ---------- ***/
.wpb-person { display: inline-flex; align-items: center; background-color: var(--clr-secondary); color: var(--clr-dark); }
.wpb-person .wpb-person__image { --size: 5.4rem; width: var(--size); height: var(--size); min-width: var(--size); background-color: var(--clr-tertiary); }
.wpb-person .wpb-person__image img { width: 100%; height: 100%; object-fit: contain; object-position: center bottom; }
.wpb-person .wpb-person__image i{ color: var(--clr-dark); font-size: 2.5rem; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
.wpb-person .wpb-person__text { display: flex; align-items: center; justify-content: space-between; width: 100%; column-gap: 1.6rem; padding: .5rem 2rem; }
.wpb-person .wpb-person__text strong { font-size: 1.4rem; }
.wpb-person .wpb-person__text small { font-size: 1.2rem }


/*** ---------- 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: 6.4rem; }

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

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

/*** ---------- Background colors ---------- ***/
.wpb-bg-clr--primary { background-color: var(--clr-primary); }
.wpb-bg-clr--secondary { background-color: var(--clr-secondary); }
.wpb-bg-clr--tertiary { background-color: var(--clr-tertiary); }
.wpb-bg-clr--dark-90 { background-color: var(--clr-dark-90); }

/*** ---------- Fontgroottes ---------- ***/
.wpb-fs--large { font-size: 1.6rem; }

@media (min-width: 768px) {
    .wpb-fs--large { font-size: 1.8rem; }
}

@media (min-width: 992px) {
    .wpb-fs--large { font-size: 2rem; }
}

@media (min-width: 1200px) {
    .wpb-fs--large { font-size: 2.2rem; }
}

@media (min-width: 1400px) {
    .wpb-fs--large { font-size: 2.4rem; }
}

/*** ---------- Buttons ---------- ***/
.btn, .gform_button, .gform_next_button, .gform_previous_button, .button { --lh: 1; font-weight: 400; letter-spacing: .1em; font-family: var(--font-secondary); }

.btn.btn--primary, .button { --clr: var(--clr-dark); --bg-clr: var(--clr-primary); --border: 1px solid transparent; --hover-bg-clr: var(--clr-tertiary); }
.btn.btn--primary .wpb-icon { --clr: rgb(255,255,255); }

.btn.btn--secondary { --clr: var(--clr-primary); --bg-clr: var(--clr-secondary); --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--dark { --clr: var(--clr-text); --bg-clr: var(--clr-dark); --border: 1px solid transparent; --hover-clr: var(--clr-dark); --hover-bg-clr: var(--clr-text); }
.btn.btn--dark .wpb-icon { --clr: var(--clr-text); }

.btn.btn--outline { --clr: #fff; --border: 1px solid var(--clr-primary); --hover-bg-clr: var(--clr-primary); --hover-border: 1px solid var(--clr-primary); }

.btn.btn--transparent { --bg-clr: rgba(255,255,255,.2); --border: none; --hover-bg-clr: #fff; --hover-clr: var(--clr-dark); }

/*** ---------- Navigation ---------- ***/
.wpb-navigation { position: absolute; top: 0; right: 0; left: 0; z-index: 1090; }
.wpb-navigation .logo img { width: 12.6rem; height: auto; transition: opacity var(--ts-25) ease; }
.wpb-navigation .logo img:hover{ opacity: .6; }
.wpb-navigation .btn.btn--nav-toggle svg rect { fill: #fff; }
.wpb-navigation .btn.btn--nav-toggle:hover svg rect{ fill: #fff; }

.wpb-navigation .menu-item .menu-link { color: var(--clr-text); width: 100%; font-size: 2.2rem; padding: 1.5rem 0; font-weight: 500; display: inline-block; line-height: 1; }
.wpb-navigation .menu-item.menu-item--brochure{ cursor: pointer; }

.wpb-navigation__top { padding-top: 1rem; padding-bottom: 1.6rem; z-index: 3; position: relative; }
.wpb-navigation__top .wpb-menu:is(.wpb-menu--topmenu, .wpb-menu--additional-links),
.wpb-navigation__top .wpb-dropdown.wpb-dropdown--wpml { display: none; }

.wpb-collapse__body .wpb-menu.wpb-menu--topmenu { margin-top: 2rem; }
.wpb-collapse__body .wpb-menu:is(.wpb-menu--topmenu, .wpb-menu--additional-links) .menu-item .menu-link { font-size: 1.8rem; }

.wpb-collapse__footer { display: grid; row-gap: 1rem; }
.wpb-collapse__footer .wpb-menu--wpml .dropdown-item { display: flex; align-items: center; column-gap: 1rem; font-size: 2.2rem; text-decoration: none; }
.wpb-collapse__footer .wpb-menu--wpml .dropdown-item img { width: 2.5rem; }

.wpb-menu.wpb-menu--wpml .menu-link { display: flex; align-items: center; column-gap: 1rem; }
.wpb-menu.wpb-menu--wpml .menu-link img { width: 2.5rem; }

@media(max-width: 992px){
    .wpb-navigation .menu-item.menu-item--brochure{ cursor: pointer; }
}
@media (min-width: 992px) {
    .wpb-navigation .logo { position: relative; z-index: 3; }
    .wpb-navigation .logo img { width: 17.7rem; }

    .wpb-navigation__collapse { column-gap: 2rem; }

    .wpb-navigation__top .wpb-dropdown.wpb-dropdown--wpml,
    .wpb-navigation__top .wpb-menu:is(.wpb-menu--topmenu, .wpb-menu--additional-links) { display: flex; }
    .wpb-navigation__top .wpb-menu.wpb-menu--topmenu { margin-left: auto; }
    
    .wpb-navigation__top .btn.btn--showroom { display: none; }

    .wpb-collapse__body .wpb-menu { justify-content: end; }
    .wpb-collapse__body .wpb-menu:is(.wpb-menu--topmenu, .wpb-menu--additional-links) { display: none; }

    .wpb-collapse__footer { z-index: 2; position: relative; }
    .wpb-collapse__footer .wpb-menu.wpb-menu--wpml { display: none; }

    .wpb-navigation .menu-item .menu-link { position: relative; z-index: 3; font-size: 1.4rem; padding: 1rem 1.5rem; position: relative; transition: opacity var(--ts-25) ease; }
    .wpb-navigation .menu-item:hover .menu-link { opacity: .6; }
}
@media (min-width: 1200px) {
    .wpb-navigation .logo img { width: 22.8rem; }
    .wpb-collapse__body .menu-item .menu-link { font-size: 1.6rem; }
}
@media (min-width: 1400px) {
    .wpb-collapse__body .menu-item .menu-link { font-size: 1.8rem; padding: 1rem 2rem; }
}

/*** ---------- Archive ---------- ***/
.wpb-archive { --gc: 1; --gap: 1.6rem; }
.wpb-archive .wpb-archive__results .results { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: var(--gap); }
.wpb-archive .btn--filter { position: fixed; z-index: 600; bottom: 2rem; right: 1.8rem; }

@media (max-width: 991.98px) {
    .wpb-archive .wpb-offcanvas .wpb-offcanvas__header { padding: 1.8rem; display: flex; justify-content: space-between; align-items: center; }  
    .wpb-archive .wpb-offcanvas .wpb-offcanvas__body { padding: 1.8rem; overflow-y: auto; flex-grow: 1; }
    .wpb-archive .wpb-offcanvas .wpb-offcanvas__footer { padding: 1.8rem; display: grid; }
}

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

@media (min-width: 992px) {
    .wpb-archive .container { display: grid; grid-template-columns: 22rem 1fr; column-gap: 3.2rem; grid-template-rows: auto 1fr; }
    .wpb-archive .wpb-offcanvas { transform: none; position: static; display: block!important; grid-row: span 2; }
    .wpb-archive .wpb-offcanvas .wpb-offcanvas__header, 
    .wpb-archive .wpb-offcanvas .wpb-offcanvas__footer { display: none; } 
    .wpb-archive [data-toggle="offcanvas"] { display: none; }
}

@media (min-width: 1200px) {
    .wpb-archive { --gap: 2rem; }
    .wpb-archive .container { column-gap: 4.8rem; }
}

@media (min-width: 1400px) {
    .wpb-archive { --gc: 3; --gap: 3.2rem; }
    .wpb-archive .container  { padding-left: 6.8rem; }
}

@media (min-width: 1700px) {
    .wpb-archive .container  { padding-left: 16.8rem; }
}

@media (min-width: 1800px) {
    .wpb-archive .container  { padding-left: 21.8rem; }
}


/*** ---------- Page: Contact & Showroombezoek ---------- ***/
.wpb-contact { --gc: 1; --gap: 2.2rem; }
.wpb-contact .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-contact .wpb-contact__sidebar{ --gap: 2.2rem; display: grid; gap: var(--gap); }

.wpb-opening-time{ display: flex; align-items: center; justify-content: space-between; font-size: 1.4rem; }
.wpb-opening-time + .wpb-opening-time{ margin-top: .2rem; }

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

/*** ---------- Single ---------- ***/
body.single .wpb-header.wpb-header--home .wpb-text { max-width: 80rem; }

/*** ---------- Header ---------- ***/

@media (width < 768px) {
    .wpb-header .is-background-image:has(img + .is-mobile-image) > img { display: none; }    
}
@media (min-width: 768px) {
    .wpb-header .is-background-image .is-mobile-image { display: none; }    
}


.wpb-header.wpb-header--home { font-size: 1.6rem; height: 100dvh; max-height: 64rem; display: flex; align-items: end; padding-bottom: 6rem; }
.wpb-header.wpb-header--home .container { z-index: 1; display: flex; flex-direction: column; gap: 2.4rem; }
.wpb-header.wpb-header--home .container .wpb-text{ max-width: 100rem; }
.wpb-header.wpb-header--home .container .btn-group{ min-width: 25rem; }
.wpb-header.wpb-header--home img { object-fit: cover; object-position: center right; }
.wpb-header.wpb-header--home::after { content: ''; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(0deg, rgba(30,29,27,1) 0%, rgba(30,29,27,1) 5%, rgba(30,29,27,0) 25%, rgba(30,29,27,0) 70%, rgba(30,29,27,0.7539390756302521) 90%, rgba(30,29,27,1) 100%); }

.wpb-header.wpb-header--subpage{ display: flex; align-items: end; min-height: 70dvh; }
.wpb-header.wpb-header--subpage.has-background-image::after{ content: ''; background: linear-gradient(0deg, #0000, rgba(30,29,27,0) 75%, rgba(30,29,27,0.7539390756302521) 90%, rgba(30,29,27,1) 100%); }
.wpb-header.wpb-header--subpage.has-background-image::before{ content: ''; position: absolute; right: 0; bottom: 0; left: 0; width: 100%; height: 42rem; background: linear-gradient(to bottom, #00000000, #1E1D1B); z-index: 1; }
.wpb-header.wpb-header--subpage .container{ padding-bottom: 6rem; }
.wpb-header.wpb-header--subpage .container .wpb-text{ max-width: 90rem; }

.wpb-header.wpb-header--single{ display: flex; align-items: end; min-height: 100dvh; }
.wpb-header.wpb-header--single.has-background-image::after{ content: ''; background: linear-gradient(0deg, #0000, rgba(30,29,27,0) 75%, rgba(30,29,27,0.7539390756302521) 90%, rgba(30,29,27,1) 100%); }
.wpb-header.wpb-header--single.has-background-image::before{ content: ''; position: absolute; right: 0; bottom: 0; left: 0; width: 100%; height: 42rem; background: linear-gradient(to bottom, #00000000, #00000065 20%, #1E1D1B); z-index: 1; }
.wpb-header.wpb-header--single .container{ padding-bottom: 6rem; }
.wpb-header.wpb-header--single .container .wpb-text{ max-width: 90rem; }
.wpb-header.wpb-header--single h1{ --lh: 1.2; }
.wpb-header.wpb-header--single .wpb-text p:has(+ :is(h1, h2, h3)) em{ font-size: clamp(2rem, 3vw, 2.4rem); opacity: 1; }

.wpb-header.wpb-header--single:has(.wpb-card) .container{ display: grid; gap: 4.2rem; }
.wpb-header.wpb-header--single:has(.wpb-card.wpb-card--project-header) .container{ display: grid; gap: 4.2rem; }

.wpb-header .wpb-header__bottom{ margin-top: 4.2rem; display: flex; flex-wrap: wrap; gap: .8rem; }
.wpb-header .wpb-header__bottom .btn-group .btn{ height: 100%; }

@media (min-width: 768px) {
    .wpb-header.wpb-header--home { font-size: 1.8rem; }
    .wpb-header .wpb-header__bottom{ gap: 1.6rem; }
    .wpb-header .wpb-header__bottom .btn-group{ margin-left: auto; }
    .wpb-header.wpb-header--home .container .btn-group{ justify-content: end; }
}

@media (min-width: 992px) {
    .wpb-header.wpb-header--home { font-size: 2rem; max-height: 91.7rem; }
    .wpb-header.wpb-header--home .container { flex-direction: row; justify-content: space-between; align-items: end; }
    .wpb-header.wpb-header--home::after { background: linear-gradient(0deg, rgba(30,29,27,1) 0%, rgba(30,29,27,1) 13%, rgba(30,29,27,0) 35%, rgba(30,29,27,0) 75%, rgba(30,29,27,0.7539390756302521) 90%, rgba(30,29,27,1) 100%); }

    .wpb-header.wpb-header--single:has(.wpb-card) .container{ grid-template-columns: 1fr 40rem; }
    .wpb-header.wpb-header--single:has(.wpb-card.wpb-card--project-header) .container{ grid-template-columns: 1fr 53rem !important; align-items: end;}
}

@media (min-width: 1200px) {
    .wpb-header.wpb-header--home { font-size: 2.2rem; }
}

@media (min-width: 1400px) {
    .wpb-header.wpb-header--home { font-size: 2.4rem; }
}

/*** ---------- Footer ---------- ***/
.wpb-footer { margin-top: auto; background-color: var(--clr-dark-110); }

.by-wux { position: absolute; right: 0; bottom: 8rem; transform: rotate(-90deg); display: inline-flex; align-items: center; padding: .4rem .9rem; border-radius: .4rem .4rem 0 0; text-decoration: none; background-color: rgba(255,255,255,.1); transform-origin: right bottom; transition: background var(--ts-25) ease; }
.by-wux img { width: 3.6rem; height: 1.2rem; }
.by-wux:hover{ background-color: rgba(255,255,255,.3); }

.wpb-footer .wpb-footer__main { --p: 2.4rem 0; --gc: 1; padding: var(--p); position: relative; }
.wpb-footer .wpb-footer__main .container { display: grid; grid-template-columns: repeat(var(--gc), minmax(0, 1fr)); gap: 2.4rem 2rem; }

.wpb-footer .logo img { width: 12.6rem; height: auto; }

.wpb-footer__menu ul { list-style: none; }
.wpb-footer__menu ul li a { font-size: 1.3rem; text-decoration: none; display: flex; align-items: center; min-height: 2.7rem; border-bottom: 1px solid rgba(255,255,255,.1); transition: border var(--ts-25) ease, color var(--ts-25) ease; }
.wpb-footer__menu ul li a:hover{ border-color: rgba(255,255,255, .6); color: var(--clr-primary); }

.wpb-footer__menu--contact { font-size: 1.4rem; }
.wpb-footer__menu--contact .wpb-footer-menu__body { display: grid; grid-template-columns: 1fr; gap: 2.4rem 2rem; }
.wpb-footer__menu--contact .wpb-social-media { --mt: 2.6rem; }
.wpb-footer__menu--contact .wpb-text--address a { --mt: 0; display: flex; align-items: center; column-gap: .7rem; text-decoration: none; transition: color var(--ts-25) ease; }
.wpb-footer__menu--contact .wpb-text--address a:hover{ color: var(--clr-primary); }
.wpb-footer__menu--contact .wpb-text--address a span { text-decoration: underline; }  

.wpb-footer .footer-menu__title { display: block; margin: 0 0 .5rem 0; font-size: 1.4rem; color: inherit; text-decoration: none; text-decoration: none; font-weight: 600; }
.wpb-footer .menu-item { text-decoration: none; color: inherit; display: block; }

.wpb-footer .wpb-footer__top { --border: 1px solid rgba(255,255,255,.1); }
.wpb-footer .wpb-footer__top .wpb-breadcrumbs { padding: 2.4rem 0; margin: 0; border-bottom: var(--border); }
.wpb-footer .wpb-footer__top .wpb-reviews { padding: 1.8rem 0; border-bottom: var(--border); }
.wpb-footer .wpb-footer__top .wpb-reviews .review-count { font-size: 1.2rem; display: block; margin-left: auto; }
.wpb-footer .wpb-footer__top .container { display: flex; flex-direction: column }
.wpb-footer .wpb-footer__top .container--large { display: none; }
.wpb-footer .wpb-footer__top hr { border: none; border-bottom: var(--border); }

.wpb-footer .wpb-footer__bottom .container { display: flex; flex-direction: column; justify-content: space-between; }
.wpb-footer .wpb-footer__bottom .wpb-footer__sub-links { text-align: center;  display: flex; flex-wrap: wrap; justify-content: space-between; column-gap: 2rem; padding: 1.8rem 0; }
.wpb-footer .wpb-footer__bottom .wpb-footer__sub-links * { font-size: 1.4rem; display: flex; align-items: center; column-gap: 2rem; text-decoration: none; color: rgba(255,255,255,.6); transition: color var(--ts-25) ease; }
.wpb-footer .wpb-footer__bottom .wpb-footer__sub-links *:hover{ color: rgba(255,255,255); }
.wpb-footer .wpb-footer__bottom .copyright { font-size: 1.4rem; color: rgba(255,255,255,.6); display: block; padding: 2rem 0; text-align: center; }

@media (max-width: 575.98px) {
    .wpb-footer .wpb-footer__bottom .copyright { background-color: var(--clr-dark); margin-left: -1.8rem; width: calc(100% + 3.6rem); }
}

@media (min-width: 576px) {
    .wpb-footer .wpb-footer__bottom { background-color: var(--clr-dark); }
    .wpb-footer .wpb-footer__bottom .container { flex-direction: row; }
    .wpb-footer .wpb-footer__bottom .copyright { order: -1; }
    .wpb-footer__menu--contact .wpb-footer-menu__body { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 768px) {
    .wpb-footer .wpb-footer__main { --gc: 2; }
    .wpb-footer .wpb-footer__bottom .container { flex-direction: row; }
    .wpb-footer__menu--contact .wpb-footer-menu__body { grid-template-columns: 1fr; }
}

@media (min-width: 992px) {
    .wpb-footer .wpb-footer__top .container--large { display: block; }
    .wpb-footer .wpb-footer__top .container:not(.container--large) { flex-direction: row; justify-content: space-between; }
    .wpb-footer .wpb-footer__top .container:not(.container--large) > * { border: none; }
    .wpb-footer .wpb-footer__top .wpb-reviews .review-count { font-size: 1.4rem; }
    
    .wpb-footer__menu ul li a { font-size: 1.4rem; min-height: 4.1rem; }

    .wpb-footer .wpb-footer__main { --gc: 4; --p: 4.2rem 0; }
    .wpb-footer .wpb-footer__main .container { gap: 3.2rem; }
}

@media (min-width: 1200px) {
    .wpb-footer .wpb-footer__main .container { gap: 4.8rem; }

    .wpb-footer .wpb-footer__bottom .wpb-footer__sub-links { column-gap: 4.6rem; }
}

@media (min-width: 1400px) {
    .wpb-footer .wpb-footer__main { --gc: 4; --p: 4.2rem 0 7.7rem 0; }
    .wpb-footer .wpb-footer__main .container { gap: 8.6rem; }
}

/*** ---------- Cookiebot ---------- ***/
#CybotCookiebotDialog * { font-family: var(--font-secondary)!important; }
#CybotCookiebotDialog,
#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton { border-radius: 0!important; }
#CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton { padding: 0 20px!important; letter-spacing: .1em!important; font-size: 18px!important; font-weight: 400!important; min-height: 4.5rem; }
#CybotCookiebotDialogBodyContentText { font-size: 1.3rem!important; line-height: 1.4!important; }