/* -- Panton -------------------------------*/
@font-face {
  font-family: "Panton";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/panton-webfont.woff2) format("woff2"), url(fonts/panton-webfont.woff) format("woff");
}
@font-face {
  font-family: "Panton";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/panton-semibold-webfont.woff2) format("woff2"), url(fonts/panton-semibold-webfont.woff) format("woff");
}
@font-face {
  font-family: "Panton";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/panton-bold-webfont.woff2) format("woff2"), url(fonts/panton-bold-webfont.woff) format("woff");
}
@font-face {
  font-family: "Panton";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/panton-extrabold-webfont.woff2) format("woff2"), url(fonts/panton-extrabold-webfont.woff) format("woff");
}
/* -- Font Awesome Sharp --------------------*/
@font-face {
  font-family: "Font Awesome 7 Sharp";
  font-style: normal;
  font-weight: 100;
  font-display: block;
  src: url(fonts/fa-sharp-thin-100.woff2);
}
@font-face {
  font-family: "Font Awesome 7 Sharp";
  font-style: normal;
  font-weight: 300;
  font-display: block;
  src: url(fonts/fa-sharp-light-300.woff2);
}
@font-face {
  font-family: "Font Awesome 7 Sharp";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url(fonts/fa-sharp-regular-400.woff2);
}
@font-face {
  font-family: "Font Awesome 7 Sharp";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url(fonts/fa-sharp-solid-900.woff2);
}
.fa-sharp {
  --fa-style-family: "Font Awesome 7 Sharp";
}

:root {
  --font-size: 16px;
  --container-width: 100%;
  --gutter: clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
  --radius-sm: 1.25rem;
  --radius-md: 2.0625rem;
  --groen: #25342a;
  --lichtgroen: #c0d05c;
  --wit: #ffffff;
  --rood: #df3642;
  --ff-panton: "Panton", sans-serif;
  --tile-pad: clamp(1.5rem, 0.8627rem + 2.6144vw, 4rem);
  --notch-x1: -7.1744rem;
  --notch-x2: -6.6819rem;
  --notch-x3: 7.0056rem;
  --notch-x4: 7.5019rem;
  --spacing-sm: clamp(3rem, 2.2353rem + 3.1373vw, 6rem);
  --spacing-md: clamp(4rem, 2.9804rem + 4.183vw, 8rem);
  --spacing-lg: clamp(5rem, 3.2157rem + 7.3203vw, 12rem);
  --fs1: clamp(2.25rem, 1.8039rem + 1.8301vw, 4rem);
  --fs2: clamp(1.75rem, 1.3995rem + 1.4379vw, 3.125rem);
  --fs3: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
  --fs4: clamp(1.375rem, 1.2157rem + 0.6536vw, 2rem);
  --fs5: clamp(1.25rem, 1.1225rem + 0.5229vw, 1.75rem);
  --fs6: clamp(1.125rem, 1.0294rem + 0.3922vw, 1.5rem);
  --fslead: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem);
  --fsbody: clamp(1rem, 0.9681rem + 0.1307vw, 1.125rem);
  --lhbody: clamp(2rem, 1.8725rem + 0.5229vw, 2.5rem);
  --fssm: 1rem;
  --fsxs: .8125rem;
  --btn-fs: clamp(1rem, 0.9681rem + 0.1307vw, 1.125rem);
  --btn-h: clamp(3rem, 2.8725rem + 0.5229vw, 3.5rem);
  --btn-icon: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem);
  --btn-gap: 1rem;
  --btn-pad-start: calc(clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem) - 2px);
  --btn-pad-end: calc(clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem) - 2px);
}

@media (min-width: 576px) {
  :root {
    --container-width: 540px;
  }
}
@media (min-width: 768px) {
  :root {
    --container-width: 720px;
    --notch-x1: -14.1281rem;
    --notch-x2: -13.1588rem;
    --notch-x3: 13.7963rem;
    --notch-x4: 14.7738rem;
  }
}
@media (min-width: 992px) {
  :root {
    --container-width: 960px;
    --notch-x1: -18.8869rem;
    --notch-x2: -17.5931rem;
    --notch-x3: 18.3813rem;
    --notch-x4: 19.6863rem;
  }
}
@media (min-width: 1200px) {
  :root {
    --container-width: 1140px;
    --notch-w: min(23.845vw, 28.6138rem);
    --notch-x1: calc(var(--notch-w) * -1.2344);
    --notch-x2: calc(var(--notch-w) * -1.1497);
    --notch-x3: calc(var(--notch-w) * 1.2054);
    --notch-x4: calc(var(--notch-w) * 1.2908);
  }
}
@media (min-width: 1400px) {
  :root {
    --container-width: 1320px;
  }
}
@media all and (min-width: 1500px) {
  :root {
    --container-width: 1440px;
  }
}
@media all and (min-width: 1700px) {
  :root {
    --container-width: 1700px;
  }
}
html {
  font-size: var(--font-size);
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, address, figure {
  margin-bottom: 0;
}

body {
  font-family: var(--ff-panton);
  font-weight: 600;
  font-style: normal;
  font-size: var(--fsbody);
  line-height: var(--lhbody);
  color: var(--groen);
  background: var(--wit);
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}
body.drawer--is-open {
  overflow: hidden;
  padding-right: var(--scrollbar-width, 0);
}

/* -- Container ----------------------------*/
.container {
  max-width: var(--container-width);
  padding-right: var(--gutter);
  padding-left: var(--gutter);
}

.fw-wrapper {
  max-width: var(--container-width);
  padding-right: var(--gutter);
  padding-left: var(--gutter);
  margin: 0 auto;
}

.row {
  --bs-gutter-x: var(--gutter);
}

.row > * {
  padding-right: calc(var(--gutter) * 0.5);
  padding-left: calc(var(--gutter) * 0.5);
}

/* -- Fonts --------------------------------*/
.fw-400 {
  font-weight: 400;
}

.fw-600 {
  font-weight: 600;
}

.fw-700 {
  font-weight: 700;
}

.fw-800 {
  font-weight: 800;
}

h1, h2, h3, h4, h5, h6,
.fs-1, .fs-2, .fs-3, .fs-4, .fs-5, .fs-6 {
  font-family: var(--ff-panton);
  font-weight: 600;
  font-style: normal;
  display: block;
  text-wrap: balance;
}

h1, .fs-1 {
  font-size: var(--fs1) !important;
  line-height: 1.1719;
}

h2, .fs-2 {
  font-size: var(--fs2) !important;
  line-height: 1.2;
}

h3, .fs-3 {
  font-size: var(--fs3) !important;
  line-height: 1.275;
}

h4, .fs-4 {
  font-size: var(--fs4) !important;
  line-height: 1.25;
  font-weight: 700;
}

h5, .fs-5 {
  font-size: var(--fs5) !important;
  line-height: 1.25;
}

h6, .fs-6 {
  font-size: var(--fs6) !important;
  line-height: 1.6667;
}

.fs-lead {
  font-size: var(--fslead);
  line-height: 1.55;
}

.fs-sm {
  font-size: var(--fssm);
  line-height: 1.4;
}

.fs-xs {
  font-size: var(--fsxs);
  line-height: 1.4;
}

.text-balance {
  text-wrap: balance;
}

/* -- Links ---------------------------------*/
a, a:hover, a:focus, a:active {
  box-shadow: none;
  text-decoration: none;
}

a:not([class]) {
  color: inherit;
}
a:not([class]):hover {
  color: inherit;
}

.link--underline {
  position: relative;
}

.link--underline:not(.is-active)::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.0825em;
  background: currentColor;
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}

.link--underline:not(.is-active):hover::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
}

:focus-visible {
  outline: 2px solid var(--lichtgroen);
  outline-offset: 3px;
}

.link-arrow {
  display: inline-flex;
  align-items: center;
  gap: var(--btn-gap);
  font-size: var(--btn-fs);
  font-weight: 800;
  line-height: 1.2;
  color: var(--link-color, var(--lichtgroen));
}
.link-arrow i {
  --fa-width: auto;
  font-size: var(--btn-icon);
  transition: transform 0.3s ease;
}
.link-arrow:hover {
  color: var(--link-color, var(--lichtgroen));
}
.link-arrow:hover i {
  transform: translateX(0.25rem);
}

/* -- Buttons -------------------------------*/
.buttons-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 2rem;
}

.button, .facetwp-load-more {
  font-family: var(--ff-panton);
  font-weight: 800;
  font-size: var(--btn-fs);
  line-height: 1.2;
  display: inline-flex;
  align-items: center;
  gap: var(--btn-gap);
  min-height: var(--btn-h);
  padding: 0 var(--btn-pad-end) 0 var(--btn-pad-start);
  border: 2px solid var(--button-border, var(--button-background));
  border-radius: var(--radius-sm) 0 0 0;
  color: var(--button-color);
  background-color: var(--button-background);
  transition: background-color 0.3s ease, color 0.3s ease;
}
.button:not(:has(i)), .facetwp-load-more:not(:has(i)) {
  padding-right: var(--btn-pad-start);
}
.button i, .facetwp-load-more i {
  --fa-width: auto;
  font-size: var(--btn-icon);
  color: var(--button-icon, currentColor);
  transition: transform 0.3s ease;
}
.button:hover, .facetwp-load-more:hover {
  color: var(--button-color);
  background-color: var(--button-background-hover);
}
.button:hover i, .facetwp-load-more:hover i {
  transform: translateX(0.25rem);
}

.button--groen, .facetwp-load-more {
  --button-color: var(--wit);
  --button-icon: var(--lichtgroen);
  --button-background: var(--groen);
  --button-background-hover: var(--groen);
}

.button--outline {
  --button-color: var(--wit);
  --button-icon: var(--lichtgroen);
  --button-border: var(--lichtgroen);
  --button-background: transparent;
  --button-background-hover: transparent;
}

.button--wit {
  --button-color: var(--groen);
  --button-icon: var(--lichtgroen);
  --button-background: var(--wit);
  --button-background-hover: var(--wit);
}

.button--outline-groen {
  --button-color: var(--groen);
  --button-icon: var(--lichtgroen);
  --button-border: var(--groen);
  --button-background: transparent;
  --button-background-hover: transparent;
}

.button--lichtgroen {
  --button-color: var(--wit);
  --button-background: var(--lichtgroen);
  --button-background-hover: var(--lichtgroen);
}

.button--rood {
  --button-color: var(--wit);
  --button-background: var(--rood);
  --button-background-hover: var(--rood);
}

/* -- Backgrounds ---------------------------*/
.bcg--wit {
  background: var(--wit);
}

.bcg--groen {
  background: var(--groen);
}

.bcg--lichtgroen {
  background: var(--lichtgroen);
}

/* -- Colors --------------------------------*/
.clr--wit {
  color: var(--wit);
}

.clr--groen {
  color: var(--groen);
}

.clr--lichtgroen {
  color: var(--lichtgroen);
}

/* -- Content flow --------------------------*/
.content-flow > * + * {
  margin-block-start: var(--flow-space, 1em);
}
.content-flow :is(h1, h2, h3, h4, h5, h6) + * {
  --flow-space: 1rem;
}

/* -- Hamburger ------------------------------*/
.hamburger {
  display: inline-block;
  cursor: pointer;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible;
  position: relative;
}

.hamburger-box {
  width: 1.7119rem;
  height: 1.4196rem;
  display: block;
  position: relative;
}

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.75px;
}

.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
  width: 1.7119rem;
  height: 1.5px;
  background-color: var(--groen);
  position: absolute;
  left: 0;
  transition-property: transform, width, left, background-color;
  transition-duration: 0.15s;
  transition-timing-function: ease;
}

.hamburger-inner {
  width: 1.3696rem;
}

.hamburger-inner::before, .hamburger-inner::after {
  content: "";
  display: block;
}

.hamburger-inner::before {
  top: -0.6848rem;
}

.hamburger-inner::after {
  bottom: -0.6848rem;
}

.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.075s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}

.hamburger--squeeze .hamburger-inner::before {
  transition: top 0.075s 0.12s ease, opacity 0.075s ease, background-color 0.3s ease;
}

.hamburger--squeeze .hamburger-inner::after {
  transition: bottom 0.075s 0.12s ease, transform 0.075s cubic-bezier(0.55, 0.055, 0.675, 0.19), width 0.15s ease, background-color 0.3s ease;
}

.is-active .hamburger-inner,
.is-active .hamburger-inner::before,
.is-active .hamburger-inner::after {
  width: 2.375rem;
  background-color: var(--wit);
}

.is-active .hamburger-inner {
  left: -0.3315rem;
}

.is-active .hamburger--squeeze .hamburger-inner {
  transform: rotate(45deg);
  transition-delay: 0.12s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
}

.is-active .hamburger--squeeze .hamburger-inner::before {
  top: 0;
  opacity: 0;
  transition: top 0.075s ease, opacity 0.075s 0.12s ease, background-color 0.3s ease;
}

.is-active .hamburger--squeeze .hamburger-inner::after {
  bottom: 0;
  transform: rotate(-90deg);
  transition: bottom 0.075s ease, transform 0.075s 0.12s cubic-bezier(0.215, 0.61, 0.355, 1), width 0.15s ease, background-color 0.3s ease;
}

/* -- Site header ------------------------------*/
.site-header {
  position: relative;
  background: var(--groen);
}

.site-header__navigation {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: flex-start;
  padding-top: clamp(1.5rem, 1.1176rem + 1.5686vw, 3rem);
}

.navigation-left {
  --menu-size: 2.625rem;
  position: fixed;
  top: clamp(1.5rem, 1.1176rem + 1.5686vw, 3rem);
  left: 0;
  right: var(--scrollbar-width, 0);
  display: flex;
  align-items: center;
  gap: clamp(1rem, 0.3627rem + 2.6144vw, 3.5rem);
  max-width: var(--container-width);
  margin-inline: auto;
  padding-inline: var(--gutter);
  pointer-events: none;
  z-index: 999;
  transition: gap 0.3s ease-in-out;
}
.navigation-left > * {
  pointer-events: auto;
}
.is-scrolled .navigation-left {
  gap: clamp(0.75rem, 0.5588rem + 0.7843vw, 1.5rem);
}

.button-menu {
  position: relative;
  display: grid;
  place-items: center;
  width: var(--menu-size);
  height: var(--menu-size);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--lichtgroen);
  cursor: pointer;
  transition: background-color 0.3s ease-in-out;
  z-index: 999;
}
.button-menu .hamburger {
  transform: scale(0.6667);
}
.button-menu.is-active {
  background: var(--groen);
}

.topbar-nav {
  position: relative;
  display: flex;
  align-items: center;
  z-index: 1;
  gap: clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
  font-size: var(--fssm);
  font-weight: 400;
  line-height: 1;
  transition: opacity 0.3s ease-in-out, visibility 0.3s;
}
.topbar-nav__link {
  color: var(--wit);
  transition: opacity 0.3s ease-in-out, visibility 0.3s, padding 0.3s ease-in-out, background-color 0.3s ease-in-out;
}
.topbar-nav__link:hover {
  color: var(--wit);
}
.topbar-nav__link strong {
  font-weight: 800;
}
.topbar-nav__link:first-child {
  width: min-content;
  border-radius: 999px;
}
.topbar-nav__link--phone {
  display: none;
}
.is-scrolled .topbar-nav .topbar-nav__link:first-child {
  width: auto;
  padding: calc((var(--menu-size) - 1em) / 2) clamp(1.25rem, 1.0588rem + 0.7843vw, 2rem);
  white-space: nowrap;
  background: var(--rood);
}
.is-scrolled .topbar-nav .topbar-nav__link:first-child::before {
  display: none;
}
.is-scrolled .topbar-nav .topbar-nav__link:first-child:hover {
  background: color-mix(in srgb, var(--rood), black 12%);
}
.is-scrolled .topbar-nav .topbar-nav__link--phone {
  opacity: 0;
  visibility: hidden;
}
.drawer--is-open .topbar-nav {
  opacity: 0;
  visibility: hidden;
}

.site-header__brand {
  --tab-w: clamp(13.5rem, 9.4169rem + 16.751vw, 29.5181rem);
  position: absolute;
  top: calc(var(--tab-w) * -0.647);
  right: calc(var(--gutter) + clamp(-3rem, -4.6569rem + 6.7974vw, 3.5rem) - (100% - var(--gutter)) / 12);
  display: block;
  width: var(--tab-w);
  z-index: 2;
}
.site-header__brand__tab {
  display: block;
  width: 100%;
  height: auto;
}
.site-header__brand__logo {
  position: absolute;
  top: 69.55%;
  left: 18.36%;
  width: 40.3%;
  height: auto;
}

/* -- Hero ------------------------------------*/
.site-header__hero {
  --hero-d: 34.875rem;
  --media-extra: 13.5rem;
  --band: 2.375rem;
  --notch: 1.2481rem;
  --visual-w: 13.6875rem;
  --visual-bottom: 0rem;
  --hero-h: max(var(--hero-d), 100svh);
  --clip-top: calc(100% - var(--media-extra) - var(--band));
  --clip-notch: calc(100% - var(--media-extra) - var(--notch));
  position: relative;
  height: var(--hero-h);
  overflow: clip;
  isolation: isolate;
}

.site-header__media {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: calc(var(--hero-h) + var(--media-extra));
  clip-path: polygon(0 0, 100% 0, 100% var(--clip-top), calc(50% + var(--notch-x4)) var(--clip-top), calc(50% + var(--notch-x3)) var(--clip-notch), calc(50% + var(--notch-x2)) var(--clip-notch), calc(50% + var(--notch-x1)) var(--clip-top), 0 var(--clip-top));
  animation: hero-clip 1.2s cubic-bezier(0.625, 0.05, 0, 1) 0.2s both;
  z-index: 0;
}
.site-header__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--media-pos, 60%) center;
}

@keyframes hero-clip {
  from {
    clip-path: polygon(0 0, 100% 0, 100% 100%, calc(50% + var(--notch-x4)) 100%, calc(50% + var(--notch-x3)) 100%, calc(50% + var(--notch-x2)) 100%, calc(50% + var(--notch-x1)) 100%, 0 100%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .site-header__media {
    animation: none;
  }
  .navigation-left,
  .topbar-nav,
  .topbar-nav__link {
    transition: none;
  }
}
.hero-visual {
  display: block;
  position: absolute;
  bottom: var(--visual-bottom);
  left: 50%;
  width: var(--visual-w);
  translate: -50% 0;
  z-index: 2;
}
.hero-visual img {
  display: block;
  width: 100%;
  height: auto;
}

.hero-visual--lottie {
  aspect-ratio: 800/1320;
  scale: 0;
  transition: scale 0.8s cubic-bezier(0.625, 0.05, 0, 1);
}
.hero-visual--lottie.is-visible {
  scale: 1;
}
.hero-visual--lottie svg {
  display: block;
}
@media (prefers-reduced-motion: reduce) {
  .hero-visual--lottie {
    scale: 1;
    transition: none;
  }
}

@media all and (min-width: 768px) {
  .topbar-nav__link:first-child {
    width: auto;
  }
  .topbar-nav__link--phone {
    display: block;
  }
  .site-header__hero {
    --hero-d: 31.0625rem;
    --media-extra: 4.625rem;
    --band: 4.625rem;
    --notch: 1.2719rem;
    --media-pos: 50%;
  }
}
@media all and (min-width: 992px) {
  .site-header__hero {
    --hero-d: 38.9375rem;
    --media-extra: -1.8125rem;
    --band: 6.9375rem;
    --notch: 2.465rem;
    --visual-w: 17.8125rem;
  }
}
@media all and (min-width: 1200px) {
  .navigation-left {
    --menu-size: 3.9375rem;
  }
  .site-header__brand {
    right: calc(var(--gutter) + clamp(-3rem, -4.6569rem + 6.7974vw, 3.5rem));
  }
  .button-menu .hamburger {
    transform: none;
  }
  .site-header__hero {
    --w: min(23.845vw, 28.6138rem);
    --hero-d: calc(var(--w) * 2.359);
    --media-extra: 0rem;
    --band: calc(var(--w) * .7448);
    --notch: calc(var(--w) * .452);
    --visual-w: var(--w);
    --visual-bottom: calc(var(--w) * .3582);
  }
}
/* -- Page-header ------------------------------*/
.page-header {
  --band-pad: clamp(2.5rem, 1.1458rem + 5.5556vw, 7.8125rem);
  --shape-r: clamp(2.0625rem, 1.5049rem + 2.2876vw, 4.25rem);
  --shape-notch: min(10vw, 12rem);
  position: relative;
}

.page-header__intro {
  padding-top: clamp(8rem, 3.81rem + 17.1895vw, 24.4375rem);
  padding-bottom: clamp(3rem, 1.8211rem + 4.8366vw, 7.625rem);
  color: var(--wit);
  background: var(--groen);
}

.page-header__title {
  margin-bottom: clamp(1rem, 0.4902rem + 2.0915vw, 3rem);
}

.page-header__text {
  max-width: 32.75rem;
}

.page-header__kicker {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 2.2857;
}

.page-header__kicker--caps {
  text-transform: uppercase;
}

.page-header__buttons {
  margin-top: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
}

.page-header__visual {
  padding-left: calc((100% - var(--container-width)) / 2 + var(--gutter));
  background: linear-gradient(var(--groen) 50%, var(--lichtgroen) 50%);
}

.page-header__media {
  aspect-ratio: 4/3;
  border-radius: 0 0 0 var(--shape-r);
  overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--shape-notch)), 44.12% calc(100% - var(--shape-notch)), calc(44.12% - var(--shape-notch) * 0.1406) 100%, 0 100%);
}
.page-header__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-header__usps {
  padding-block: clamp(2rem, 0.5184rem + 6.0784vw, 7.8125rem) var(--band-pad);
  background: var(--lichtgroen);
}

@media all and (min-width: 992px) {
  .page-header__intro {
    min-height: min(50.42vw, 60.5rem);
  }
  .page-header__usps {
    padding-top: var(--band-pad);
  }
  .page-header__visual {
    padding: 0;
    background: none;
  }
  .page-header__media {
    position: absolute;
    top: 0;
    right: 0;
    bottom: calc(var(--band-pad) + 1rem);
    left: calc((100% - var(--container-width)) / 2 + var(--gutter) + (var(--container-width) - var(--gutter)) / 12 * 6);
    aspect-ratio: auto;
  }
  .page-header__media img {
    object-position: center top;
  }
}
/* -- Page-header--overlap ----------------------*/
:root {
  --header-overlap: 0rem;
}

.page-header--overlap .page-header__visual {
  background: linear-gradient(var(--groen) 50%, var(--wit) 50%);
}

@media all and (min-width: 992px) {
  :root {
    --header-overlap: min(5.68vw, 6.8125rem);
  }
  .page-header--overlap .page-header__intro {
    padding-bottom: calc(var(--header-overlap) + clamp(3rem, 1.9167rem + 4.4444vw, 7.25rem));
  }
  .page-header--overlap .page-header__media {
    bottom: calc(min(16.56vw, 19.875rem) * -1);
  }
}
/* -- Page-header--story ------------------------*/
.page-header--story .page-header__visual {
  background: var(--groen);
}
.page-header--story .page-header__title {
  margin-bottom: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
}
.page-header--story .page-header__person {
  display: flex;
  flex-direction: column;
  margin-top: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
}
.page-header--story .page-header__name {
  font-size: var(--fs4);
  line-height: 1.625;
}
.page-header--story .page-header__role {
  font-size: 0.875rem;
  line-height: 1.9286;
  text-transform: uppercase;
  color: var(--lichtgroen);
}
.page-header--story .intro-line {
  display: none;
}

@media all and (min-width: 992px) {
  .page-header--story .page-header__intro {
    min-height: 0;
    padding-top: clamp(8rem, 4.511rem + 14.3137vw, 21.6875rem);
    padding-bottom: clamp(4rem, 2.5821rem + 5.817vw, 9.5625rem);
  }
  .page-header--story .page-header__container {
    position: relative;
    padding-bottom: clamp(2.5rem, 1.7672rem + 3.0065vw, 5.375rem);
  }
  .page-header--story .intro-line {
    display: block;
    top: 0;
    bottom: 0;
    left: calc(var(--gutter) + (100% - var(--gutter)) / 12);
  }
  .page-header--story .page-header__media {
    bottom: auto;
    height: min(41.25vw, 49.5rem);
  }
}
/* -- Page-header--simple -----------------------*/
:root {
  --header-overlap-simple: 0rem;
}

.page-header--simple .page-header__intro {
  padding-bottom: calc(var(--header-overlap-simple) + clamp(3rem, 1.8529rem + 4.7059vw, 7.5rem));
}

@media all and (min-width: 992px) {
  :root {
    --header-overlap-simple: min(9.27vw, 11.125rem);
  }
  .page-header--simple .page-header__intro {
    min-height: 0;
  }
}
/* -- Page-header--article ----------------*/
.page-header--article .page-header__intro {
  padding-bottom: clamp(2rem, 1.3627rem + 2.6144vw, 4.5rem);
}

@media all and (min-width: 992px) {
  .page-header--article .page-header__intro {
    min-height: 0;
  }
}
/* -- Page-header--contact ----------------*/
:root {
  --header-overlap-contact: 0rem;
}

.page-header__address {
  margin: 0;
  font-style: normal;
  line-height: 2.2222;
  color: var(--lichtgroen);
}
.page-header__address a {
  color: inherit;
}

.page-header--contact .page-header__visual {
  background: linear-gradient(var(--groen) 50%, var(--wit) 50%);
}

@media all and (min-width: 992px) {
  :root {
    --header-overlap-contact: min(9.74vw, 11.6875rem);
  }
  .page-header--contact .page-header__intro {
    min-height: min(45.57vw, 54.6875rem);
  }
  .page-header--contact {
    --shape-notch: var(--header-overlap-contact);
  }
  .page-header--contact .page-header__media {
    bottom: calc(var(--header-overlap-contact) * -1);
  }
}
/* -- Drawer (overlay menu) ------------------*/
.drawer {
  position: fixed;
  inset: 0;
  z-index: 888;
  visibility: hidden;
  transition: visibility 0s linear 0.8s;
}
.drawer.is-open {
  visibility: visible;
  transition-delay: 0s;
}
.drawer.is-open .drawer__backdrop,
.drawer.is-open .drawer__panel {
  transform: translateY(0);
  transition-delay: 0s;
}
.drawer.is-open .drawer__inner {
  opacity: 1;
  transition: opacity 0.5s ease-in-out 0.45s;
}
.drawer__backdrop, .drawer__panel {
  position: absolute;
  top: 0;
  bottom: 0;
  transform: translateY(-100%);
  transition: transform 0.5s ease-in-out 0.2s;
}
.drawer__backdrop {
  left: 0;
  right: 0;
  background: var(--lichtgroen);
  z-index: 1;
}
.drawer__panel {
  display: none;
  left: calc((100% - var(--container-width)) / 2 + var(--gutter) + (var(--container-width) - var(--gutter)) / 12 * 7);
  right: 0;
  background: var(--groen);
  z-index: 2;
}
.drawer__inner {
  position: relative;
  height: 100%;
  overflow-y: auto;
  overflow-x: clip;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
  z-index: 3;
}
.drawer__content {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
.drawer__content > .row {
  flex: 1;
  align-content: flex-start;
}
.drawer__main {
  padding-top: 8rem;
  padding-bottom: 3rem;
}
.drawer__aside {
  position: relative;
  padding-top: 3rem;
  padding-bottom: 3rem;
  background: var(--groen);
  box-shadow: 0 0 0 100vmax var(--groen);
  clip-path: inset(0 -100vmax -100vmax -100vmax);
}

.main-menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.main-menu__link {
  font-size: var(--fs1);
  font-weight: 600;
  line-height: 1.578;
  color: var(--wit);
  transition: color 0.3s ease;
}
.main-menu__link:hover, .main-menu__link.is-active {
  color: var(--groen);
}

.drawer__main .button, .drawer__main .facetwp-load-more {
  margin-top: clamp(2.5rem, 1.9902rem + 2.0915vw, 4.5rem);
}

.sub-menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}
.sub-menu__link {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  font-size: var(--fs3);
  font-weight: 600;
  line-height: 1.65;
  color: var(--wit);
  transition: color 0.3s ease;
}
.sub-menu__link:hover {
  color: var(--lichtgroen);
}
.sub-menu__badge {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 2.5625rem;
  height: 2.5625rem;
  border-radius: 50%;
  background: var(--rood);
  color: var(--wit);
  font-size: 1.5rem;
  line-height: 1;
}

.drawer-contact {
  margin-top: 3rem;
  font-size: var(--fs6);
  font-style: normal;
  line-height: 1.6667;
  color: var(--lichtgroen);
}
.drawer-contact a {
  display: block;
  width: fit-content;
  color: var(--lichtgroen);
}
.drawer-contact a:hover {
  color: var(--lichtgroen);
}

.drawer-socials {
  display: flex;
  gap: 2.5rem;
  margin-top: 2.5rem;
}
.drawer-socials__link {
  font-size: 2.5rem;
  line-height: 1;
  color: var(--lichtgroen);
  transition: transform 0.3s ease-in-out;
}
.drawer-socials__link:hover {
  color: var(--lichtgroen);
  transform: translateY(-6px);
}

@media all and (min-width: 992px) {
  .drawer__panel {
    display: block;
  }
  .drawer__main,
  .drawer__aside {
    padding-top: max(8rem, 25.65vh);
    padding-bottom: 4rem;
  }
  .drawer__aside {
    background: none;
    box-shadow: none;
    clip-path: none;
  }
  .sub-menu {
    margin-top: 1.5rem;
  }
  .drawer-contact {
    margin-top: clamp(3rem, 1.2157rem + 7.3203vw, 10rem);
  }
}
@media (prefers-reduced-motion: reduce) {
  .drawer,
  .drawer__backdrop,
  .drawer__panel,
  .drawer__inner,
  .drawer.is-open .drawer__inner {
    transition: none;
  }
}
/* -- Site main ------------------------------*/
.site-wrapper {
  overflow: clip;
}

.site-main {
  background: var(--wit);
}

/* -- Module basics -----------------------*/
/* -- Keurmerken ---------------------------*/
.certificates {
  --certificates-h: clamp(2.5rem, 2.1176rem + 1.5686vw, 4rem);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: var(--gutter) clamp(2rem, 1.7451rem + 1.0458vw, 3rem);
  max-width: 64.5rem;
  margin-inline: auto;
  padding: 0;
  list-style: none;
}
.certificates img {
  display: block;
  width: auto;
  height: var(--certificates-h);
}

.certificates--large {
  --certificates-h: clamp(2.5rem, 2.038rem + 1.8954vw, 4.3125rem);
  max-width: 69.625rem;
}

@media all and (min-width: 992px) {
  .certificates {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
}
/* -- Module-intro ------------------------*/
.module-intro,
.page-header--story {
  --line-w: 2px;
  --corner-w: 89px;
  --corner-h: 75px;
}

.module-intro {
  color: var(--wit);
  background: var(--groen);
}
.module-intro__inner {
  position: relative;
  padding-top: clamp(0.5rem, 4.8922rem + -3.6601vw, 4rem);
  padding-bottom: calc(clamp(4rem, 2.8529rem + 4.7059vw, 8.5rem) + var(--corner-h) + clamp(0.5rem, -0.3922rem + 3.6601vw, 4rem));
}
.module-intro__text {
  margin-top: 1rem;
}
.module-intro__buttons {
  gap: 1rem clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
  margin-top: 1.5rem;
}

.intro-line {
  position: absolute;
  top: 0;
  bottom: clamp(4rem, 2.8529rem + 4.7059vw, 8.5rem);
  left: var(--gutter);
  right: var(--gutter);
  color: var(--lichtgroen);
  pointer-events: none;
}
.intro-line svg {
  position: absolute;
  overflow: visible;
}
.intro-line line,
.intro-line path {
  stroke-width: var(--line-w);
  vector-effect: non-scaling-stroke;
}
.intro-line__v {
  top: 0;
  right: 0;
  width: 1px;
  height: calc(100% - var(--corner-h) + 2px);
}
.intro-line__h {
  left: 0;
  bottom: 0;
  width: calc(100% - var(--corner-w) + 2px);
  height: 1px;
}
.intro-line__corner {
  right: 0;
  bottom: 0;
  width: var(--corner-w);
  height: var(--corner-h);
}

@media all and (min-width: 768px) {
  .module-intro,
  .page-header--story {
    --corner-w: 118px;
    --corner-h: 100px;
  }
  .module-intro__text {
    margin-top: 0;
  }
}
@media all and (min-width: 1200px) {
  .module-intro,
  .page-header--story {
    --line-w: 3px;
    --corner-w: 148px;
    --corner-h: 125px;
  }
  .intro-line {
    top: -6.5rem;
  }
}
/* -- Module-products ---------------------*/
.module-products {
  overflow-x: clip;
  color: var(--wit);
  background: var(--groen);
}
.module-products__inner {
  padding-bottom: var(--spacing-md);
}
.module-products__header {
  align-items: center;
}
.module-products__nav {
  display: none;
  justify-content: flex-end;
  gap: 1.5rem;
}
.module-products__slider {
  --cols: 10;
  position: relative;
  margin-top: clamp(1.5rem, 0.8627rem + 2.6144vw, 4rem);
  container-type: inline-size;
}
.module-products__slider::before {
  content: "";
  position: absolute;
  top: calc(((100cqw + var(--gutter)) / 12 * var(--cols) - var(--gutter)) * 0.2896);
  bottom: calc(clamp(4rem, 2.8529rem + 4.7059vw, 8.5rem) * -1);
  left: -100vw;
  right: -100vw;
  background: var(--wit);
  z-index: 0;
}

.slider-button {
  display: grid;
  place-items: center;
  width: clamp(2rem, 1.8725rem + 0.5229vw, 2.5rem);
  height: clamp(2rem, 1.8725rem + 0.5229vw, 2.5rem);
  padding: 0;
  border: 1.5px solid var(--wit);
  border-radius: 50%;
  color: var(--wit);
  background: none;
  font-size: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem);
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.slider-button i {
  --fa-width: auto;
}
.slider-button:hover {
  color: var(--groen);
  background: var(--wit);
}
.slider-button--groen {
  border-color: var(--groen);
  color: var(--groen);
}
.slider-button--groen:hover {
  color: var(--wit);
  background: var(--groen);
}
.slider-button.swiper-button-disabled {
  opacity: 0.35;
  pointer-events: none;
}

.swiper--products,
.swiper--services,
.swiper--gallery {
  overflow: visible;
  z-index: 1;
}
.swiper--products .swiper-slide,
.swiper--services .swiper-slide,
.swiper--gallery .swiper-slide {
  --slide-w: calc((100% + var(--gutter)) / 12 * var(--cols) - var(--gutter));
  width: var(--slide-w);
  height: auto;
}

@media all and (min-width: 768px) {
  .module-products__nav {
    display: flex;
  }
  .module-products__slider {
    --cols: 7;
  }
}
@media all and (min-width: 992px) {
  .module-products__slider {
    --cols: 6;
  }
}
@media all and (min-width: 1200px) {
  .module-products__slider {
    --cols: 5;
  }
}
/* -- Module-services ---------------------*/
.module-services {
  overflow-x: clip;
  color: var(--wit);
  background: var(--groen);
}
.module-services__inner {
  padding-block: clamp(4rem, 3.3468rem + 2.6797vw, 6.5625rem) clamp(4rem, 3.2353rem + 3.1373vw, 7rem);
}
.module-services__header {
  align-items: center;
  row-gap: 1rem;
}
.module-services__nav {
  display: none;
  justify-content: flex-end;
  gap: 1.5rem;
}
.module-services__slider {
  --cols: 9;
  margin-top: clamp(2rem, 1.8725rem + 0.5229vw, 2.5rem);
}

.tile-service {
  --fs3: var(--fs5);
  display: block;
  color: var(--wit);
}
.tile-service:hover {
  color: var(--wit);
}
.tile-service:hover .tile-service__media img {
  transform: scale(1.03);
}
.tile-service:hover .tile-service__title {
  color: var(--lichtgroen);
}
.tile-service__media {
  aspect-ratio: 385/348;
  border-radius: var(--radius-md) 0 0 0;
  overflow: hidden;
}
.tile-service__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.tile-service__title {
  margin-top: 1rem;
  line-height: 1.25;
  transition: color 0.3s ease;
}

@media all and (min-width: 768px) {
  .module-services__nav {
    display: flex;
  }
  .module-services__slider {
    --cols: 5;
  }
}
@media all and (min-width: 992px) {
  .module-services__slider {
    --cols: 4;
  }
}
@media all and (min-width: 1200px) {
  .module-services__slider {
    --cols: 3;
  }
}
/* -- Module-team -------------------------*/
.module-team {
  color: var(--wit);
  background: var(--groen);
}
.module-team__inner {
  padding-block: clamp(4rem, 2.4706rem + 6.2745vw, 10rem);
}
.module-team__header {
  row-gap: 1rem;
}
.module-team__text {
  max-width: 46.5rem;
}
.module-team__cards {
  row-gap: clamp(2rem, 1.4902rem + 2.0915vw, 4rem);
  margin-top: clamp(2rem, 1.6336rem + 1.5033vw, 3.4375rem);
}
.module-team__cards > * {
  display: flex;
  flex-direction: column;
}

.tile-team__media {
  aspect-ratio: 385/348;
  border-radius: var(--radius-md) 0 0 0;
  overflow: hidden;
}
.tile-team__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tile-team__caption {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0 clamp(0.5rem, 0.3088rem + 0.7843vw, 1.25rem);
  margin-top: 1rem;
}
.tile-team__name {
  font-size: var(--fs5);
  font-weight: 800;
  line-height: 1.25;
}
.tile-team__role {
  font-size: var(--fsxs);
  font-weight: 700;
  line-height: 1.8571;
  text-transform: uppercase;
  color: var(--lichtgroen);
}

.tile-cta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  aspect-ratio: 385/348;
  padding: clamp(1rem, 0.6176rem + 1.5686vw, 2.5rem);
  border-radius: var(--radius-md) 0 0 0;
  color: var(--groen);
  background: var(--lichtgroen);
}
.tile-cta__title {
  --fs3: var(--fs4);
  font-weight: 800;
  line-height: 1.25;
}
.tile-cta .button, .tile-cta .facetwp-load-more {
  margin-top: auto;
}

@media all and (max-width: 575.98px) {
  .tile-cta {
    flex-grow: 1;
    aspect-ratio: auto;
  }
  .tile-cta__title {
    --fs3: var(--fs5);
    margin-bottom: 1rem;
  }
  .tile-cta .button, .tile-cta .facetwp-load-more {
    --btn-pad-start: .75rem;
    --btn-h: 2.75rem;
    padding-block: 0.5rem;
  }
}
/* -- Module-article ----------------------*/
.module-article {
  background: linear-gradient(var(--groen) 50%, var(--lichtgroen) 50%);
}

.module-article--wit {
  background: linear-gradient(var(--groen) var(--article-green, 46%), var(--wit) 0);
}

.module-article--form {
  --article-green: min(15.36vw, 18.4375rem);
}
.module-article--form .module-article__inner {
  padding-bottom: clamp(3rem, 2.5699rem + 1.7647vw, 4.6875rem);
}
.module-article--form .article-card {
  padding-top: clamp(2rem, 1.2831rem + 2.9412vw, 4.8125rem);
}
.module-article--form .article-card > * {
  max-width: none;
}
.module-article--form .article-card__title {
  margin-bottom: clamp(1.5rem, 0.8946rem + 2.4837vw, 3.875rem);
  text-align: center;
}
.module-article--form .article-card__form {
  max-width: 50.25rem;
  margin-inline: auto;
}
.module-article--form .gform_button {
  --button-color: var(--wit);
  --button-background: var(--rood);
  --button-background-hover: var(--rood);
}

.article-card {
  padding: clamp(2rem, 0.6777rem + 5.4248vw, 7.1875rem) clamp(1.5rem, -0.3321rem + 7.5163vw, 8.6875rem) clamp(2.5rem, 1.7194rem + 3.2026vw, 5.5625rem);
  border-radius: var(--radius-md) 0 0 0;
  background: var(--wit);
}
.article-card > * {
  max-width: 67.5rem;
}
.article-card h2 + * {
  margin-top: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
}
.article-card p + p {
  margin-top: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
}
.article-card * + h2 {
  margin-top: clamp(2.5rem, 2.1176rem + 1.5686vw, 4rem);
}
.article-card strong {
  font-weight: 700;
}

/* -- Module-gallery ----------------------*/
.module-gallery {
  overflow-x: clip;
  background: var(--lichtgroen);
}
.module-gallery__inner {
  padding-top: clamp(2rem, 1.3309rem + 2.7451vw, 4.625rem);
}
.module-gallery__nav {
  display: none;
  justify-content: flex-end;
  gap: 1.5rem;
  padding-right: calc((100% + var(--gutter)) / 12);
}
.module-gallery__slider {
  --cols: 9;
  position: relative;
  margin-top: clamp(1.5rem, 0.7672rem + 3.0065vw, 4.375rem);
  container-type: inline-size;
}
.module-gallery__slider::before {
  content: "";
  position: absolute;
  top: calc(((100cqw + var(--gutter)) / 12 * var(--cols) - var(--gutter)) * 0.904 * 0.563);
  bottom: 0;
  left: -100vw;
  right: -100vw;
  background: var(--groen);
}

.module-gallery__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gutter);
  padding-inline: calc((100% + var(--gutter)) / 12);
}
.module-gallery__header .module-gallery__nav {
  padding-right: 0;
}

.module-gallery--groen {
  background: var(--groen);
}
.module-gallery--groen .module-gallery__inner {
  padding-top: 0;
}
.module-gallery--groen .module-gallery__slider::before {
  background: var(--lichtgroen);
}

.module-gallery--wit {
  background: var(--wit);
}
.module-gallery--wit .module-gallery__inner {
  padding-top: 1rem;
  padding-bottom: clamp(4rem, 2.9326rem + 4.3791vw, 8.1875rem);
}
.module-gallery--wit .module-gallery__slider::before {
  content: none;
}

.module-gallery--large .module-gallery__inner {
  padding-top: clamp(3rem, 2.0282rem + 3.9869vw, 6.8125rem);
  padding-bottom: 0;
}
.module-gallery--large .module-gallery__slider {
  --cols: 10;
  margin-top: 0;
}
.module-gallery--large .module-gallery__nav {
  margin-top: clamp(1rem, 0.6176rem + 1.5686vw, 2.5rem);
}
.module-gallery--large .tile-photo {
  aspect-ratio: 663/690;
}

@media all and (min-width: 768px) {
  .module-gallery--large .module-gallery__slider {
    --cols: 7;
  }
}
@media all and (min-width: 992px) {
  .module-gallery--large .module-gallery__slider {
    --cols: 6;
  }
}
@media all and (min-width: 1200px) {
  .module-gallery--large .module-gallery__slider {
    --cols: 5;
  }
}
@media all and (max-width: 991.98px) {
  .module-gallery__header {
    padding-inline: 0;
  }
}
.tile-photo {
  aspect-ratio: 385/348;
  border-radius: var(--radius-md) 0 0 0;
  overflow: hidden;
}
.tile-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media all and (min-width: 768px) {
  .module-gallery__nav {
    display: flex;
  }
  .module-gallery__slider {
    --cols: 5;
  }
}
@media all and (min-width: 992px) {
  .module-gallery__slider {
    --cols: 4;
  }
}
@media all and (min-width: 1200px) {
  .module-gallery__slider {
    --cols: 3;
  }
}
/* -- Module-reasons ----------------------*/
.module-reasons {
  color: var(--wit);
  background: var(--groen);
}
.module-reasons__inner {
  padding-block: var(--spacing-md) clamp(4rem, 2.9007rem + 4.5098vw, 8.3125rem);
}
.module-gallery + .module-reasons .module-reasons__inner {
  padding-top: clamp(3rem, 2.3309rem + 2.7451vw, 5.625rem);
}
.module-reasons__row {
  align-items: center;
  row-gap: 2rem;
}
.module-reasons__text {
  margin-top: clamp(1.5rem, 1.1176rem + 1.5686vw, 3rem);
}
.module-reasons__text strong {
  font-weight: 800;
}

.check-list {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
  padding: 0;
  list-style: none;
}
.check-list__item {
  display: flex;
  align-items: flex-start;
  gap: clamp(1rem, 0.7929rem + 0.8497vw, 1.8125rem);
}
.check-list__icon {
  --fa-width: auto;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: clamp(2rem, 1.8885rem + 0.4575vw, 2.4375rem);
  height: clamp(2rem, 1.8885rem + 0.4575vw, 2.4375rem);
  margin-top: 0.25rem;
  border: 1.5px solid var(--lichtgroen);
  border-radius: 50%;
  font-size: clamp(1rem, 0.9522rem + 0.1961vw, 1.1875rem);
  color: var(--lichtgroen);
}
.check-list__title {
  --fs3: var(--fs6);
  line-height: 1.4;
  margin-bottom: 0.25rem;
}
.check-list p {
  line-height: var(--lhbody);
}

.check-list--compact {
  gap: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
}
.check-list--compact .check-list__item {
  align-items: center;
}
.check-list--compact .check-list__icon {
  margin-top: 0;
}
.check-list--compact .check-list__title {
  margin-bottom: 0;
  font-size: var(--fs6);
}

.check-list--groen.check-list--compact {
  gap: clamp(1rem, 0.761rem + 0.9804vw, 1.9375rem);
}
.check-list--groen .check-list__icon {
  border-color: var(--groen);
  color: var(--groen);
}
.check-list--groen.check-list--compact .check-list__title {
  font-size: var(--fs5);
}

/* -- Module-apply ------------------------*/
.module-apply {
  color: var(--wit);
  background: var(--lichtgroen);
}
.module-apply__inner {
  padding-block: clamp(3rem, 2.076rem + 3.7908vw, 6.625rem) clamp(3rem, 2.4902rem + 2.0915vw, 5rem);
}
.module-apply__title {
  margin-bottom: clamp(2rem, 1.2353rem + 3.1373vw, 5rem);
  text-align: center;
}
.module-apply .gform_button {
  --button-color: var(--wit);
  --button-background: var(--rood);
  --button-background-hover: var(--rood);
}

/* -- Module-werkwijze --------------------*/
.module-werkwijze__inner {
  padding-block: var(--spacing-md);
}
.module-products + .module-werkwijze .module-werkwijze__inner {
  padding-top: 0;
}
.module-werkwijze__row {
  align-items: center;
}
.module-werkwijze__content {
  margin-top: clamp(0rem, 3.1373rem + -2.6144vw, 2.5rem);
}
.module-werkwijze__buttons {
  margin-top: 1.5rem;
}

.werkwijze-visual {
  --fs2: 7.072cqw;
  position: relative;
  width: 100%;
  max-width: 32rem;
  margin-left: -0.42%;
  aspect-ratio: 707/566;
  container-type: inline-size;
}
.werkwijze-visual__shape {
  position: absolute;
  top: 0;
  left: 34.09%;
  width: 54.31%;
  height: 100%;
}
.werkwijze-visual__title {
  position: absolute;
  top: 10.42%;
  left: 12.87%;
  width: 73.97%;
  padding: 2.4% 0 2.83%;
  line-height: 1.04;
  background: var(--wit);
  z-index: 2;
}
.werkwijze-visual__media {
  position: absolute;
  top: 48.06%;
  left: calc(0.42% + 2px);
  width: 80.2%;
  height: 46.82%;
  filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.25));
  z-index: 2;
}

@media all and (min-width: 768px) and (max-width: 991.98px) {
  .module-werkwijze__content {
    margin-top: 3.5rem;
  }
  .werkwijze-visual {
    width: 25.375rem;
    max-width: none;
    margin-left: calc(50% - 15.5375rem);
  }
}
@media all and (min-width: 992px) {
  .module-werkwijze__content {
    margin-top: 0;
  }
  .werkwijze-visual {
    width: 88.15%;
    max-width: none;
    margin-left: 5.49%;
  }
}
/* -- Module-vakmanschap ------------------*/
.module-vakmanschap__inner {
  padding-block: var(--spacing-lg);
}
.module-vakmanschap__row {
  align-items: center;
}
.module-vakmanschap__content {
  margin-top: clamp(0rem, 3.1373rem + -2.6144vw, 2.5rem);
  font-weight: 400;
}
.module-vakmanschap__content p + p {
  margin-top: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
}
.module-vakmanschap__content strong {
  font-weight: 800;
}
.module-vakmanschap__certificates {
  margin-top: clamp(3rem, 1.4387rem + 6.4052vw, 9.125rem);
}

.vakmanschap-visual {
  position: relative;
  width: 100%;
  max-width: 26rem;
  margin-inline: auto;
  aspect-ratio: 567/512;
  container-type: inline-size;
}
.vakmanschap-visual__shape {
  position: absolute;
  top: 0;
  left: 24.34%;
  width: 69.66%;
  height: 100%;
}
.vakmanschap-visual__title {
  --fs2: 8.818cqw;
  position: absolute;
  top: 28.52%;
  left: 0;
  width: 100%;
  padding: 5.29cqw 0 8.11cqw;
  line-height: 1.04;
  background: var(--wit);
}

@media all and (min-width: 992px) {
  .module-vakmanschap__content {
    margin-top: 0;
  }
  .vakmanschap-visual {
    width: 85.52%;
    max-width: none;
    margin-inline: 0;
  }
}
/* -- Module-projects / Module-news -------*/
.module-projects {
  color: var(--wit);
  background: var(--groen);
}
.module-projects__inner {
  padding-block: var(--spacing-lg);
}
.module-projects__intro {
  margin-bottom: 3rem;
}
.module-projects__intro .link-arrow,
.module-projects__intro .buttons-wrapper {
  margin-top: 1.5rem;
}
.module-projects__title {
  margin-bottom: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
}
.module-projects__cards {
  row-gap: var(--gutter);
}

@media all and (min-width: 1200px) {
  .module-projects__intro {
    margin-bottom: 0;
  }
}
.module-news {
  color: var(--wit);
  background: var(--groen);
}
.module-news__inner {
  padding-block: var(--spacing-lg);
}
.module-news__intro {
  margin-bottom: 3rem;
}
.module-news__intro .link-arrow,
.module-news__intro .buttons-wrapper {
  margin-top: 1.5rem;
}
.module-news__title {
  margin-bottom: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
}
.module-news__cards {
  row-gap: var(--gutter);
}

@media all and (min-width: 1200px) {
  .module-news__intro {
    margin-bottom: 0;
  }
}
.module-news {
  color: var(--groen);
  background: var(--wit);
}
.module-news__inner {
  padding-block: var(--spacing-md);
}

/* -- Module-banner -----------------------*/
.module-banner {
  position: relative;
  height: 131.54vw;
  overflow: clip;
}
.module-banner__media {
  position: absolute;
  inset: 0;
}
.module-banner__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.module-banner__inner {
  position: relative;
  height: 100%;
}

.banner-visual {
  display: block;
  position: absolute;
  top: 29.04%;
  left: 50%;
  width: 43.59vw;
  transform: translateX(-50%);
}
.banner-visual img {
  display: block;
  width: 100%;
  height: auto;
}

@media all and (min-width: 768px) {
  .module-banner {
    height: min(40.104vw, 770px);
  }
  .banner-visual {
    top: 50%;
    left: calc(var(--gutter) + (100% - var(--gutter)) / 12);
    width: 43.75vw;
    transform: translateY(-50%);
  }
}
@media all and (min-width: 992px) {
  .banner-visual {
    width: min(34.64vw, 665px);
  }
}
/* -- Module-banner--panel ----------------*/
.module-banner--panel {
  height: auto;
}
.module-banner--panel .module-banner__inner {
  padding-top: 56vw;
  padding-bottom: var(--gutter);
}

.banner-panel {
  padding: clamp(2rem, 1.299rem + 2.8758vw, 4.75rem) clamp(1.5rem, 0.5441rem + 3.9216vw, 5.25rem) clamp(2rem, 1.299rem + 2.8758vw, 4.75rem) clamp(1.5rem, 0.4167rem + 4.4444vw, 5.75rem);
  border-radius: var(--radius-md) 0 0 0;
  color: var(--wit);
  background: var(--groen);
}
.banner-panel__title {
  margin-bottom: clamp(1rem, 0.8088rem + 0.7843vw, 1.75rem);
  line-height: 1.04;
}
.banner-panel .buttons-wrapper {
  margin-top: clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
}

@media all and (min-width: 768px) {
  .module-banner--panel {
    display: flex;
    align-items: center;
    min-height: min(40.104vw, 770px);
    height: auto;
  }
  .module-banner--panel .module-banner__inner {
    width: 100%;
    padding-block: clamp(2.5rem, 1.3689rem + 4.6405vw, 6.9375rem);
  }
}
/* -- Module-werkenbij --------------------*/
.module-werkenbij {
  color: var(--wit);
  background: var(--groen);
}
.module-werkenbij__inner {
  padding-block: var(--spacing-lg);
}
.module-werkenbij__row {
  align-items: center;
}
.module-werkenbij__title {
  margin-bottom: clamp(1rem, 0.4902rem + 2.0915vw, 3rem);
}
.module-werkenbij .buttons-wrapper {
  margin-top: clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
}

.module-werkenbij--contact .module-werkenbij__title {
  margin-bottom: clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
}
.module-werkenbij--contact .contact-list {
  gap: 0.25rem;
}
.module-werkenbij--contact .buttons-wrapper {
  margin-top: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
}

.module-werkenbij--form {
  color: var(--groen);
  background: var(--wit);
}
.module-werkenbij--form .module-werkenbij__inner {
  padding-bottom: clamp(4rem, 1.7059rem + 9.4118vw, 13rem);
}
.page-header--contact + .module-werkenbij--form .module-werkenbij__inner {
  padding-top: calc(var(--header-overlap-contact) + clamp(3rem, 1.2953rem + 6.9935vw, 9.6875rem));
}
.module-werkenbij--form .module-werkenbij__title {
  margin-bottom: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
}
.module-werkenbij--form .gform_footer {
  margin-top: clamp(1rem, 0.8407rem + 0.6536vw, 1.625rem);
}
.module-werkenbij--form .gform_button {
  --button-color: var(--wit);
  --button-background: var(--rood);
  --button-background-hover: var(--rood);
}

.werkenbij-visual {
  position: relative;
  width: 100%;
  max-width: 18rem;
  margin: 0 auto 2.5rem;
  aspect-ratio: 493/536;
}
.werkenbij-visual__shape {
  position: absolute;
  top: 0;
  left: 0;
  width: 69.99%;
  height: 100%;
}
.werkenbij-visual__person {
  position: absolute;
  bottom: 0;
  left: 31.03%;
  width: 69%;
  height: 99.33%;
}
.werkenbij-visual__person img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom center;
}

@media all and (min-width: 768px) {
  .werkenbij-visual {
    width: 94.08%;
    max-width: none;
    margin: 0;
  }
}
.vacancy-list {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
  padding: 0;
  list-style: none;
}
.vacancy-list__link {
  display: inline-flex;
  align-items: center;
  gap: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
  font-size: clamp(1.25rem, 1.0588rem + 0.7843vw, 2rem);
  font-weight: 600;
  line-height: 1.275;
  color: var(--lichtgroen);
}
.vacancy-list__link:hover {
  color: var(--lichtgroen);
}
.vacancy-list__link:hover .vacancy-list__icon {
  color: var(--groen);
  background: var(--wit);
}
.vacancy-list__icon {
  --fa-width: auto;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: clamp(2rem, 1.8725rem + 0.5229vw, 2.5rem);
  height: clamp(2rem, 1.8725rem + 0.5229vw, 2.5rem);
  border: 1.5px solid var(--wit);
  border-radius: 50%;
  color: var(--wit);
  font-size: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem);
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* -- Module-vacancies --------------------*/
.module-vacancies {
  position: relative;
  z-index: 1;
  margin-top: calc(var(--header-overlap) * -1);
}
.module-vacancies__inner {
  padding-top: clamp(0rem, 3.1373rem + -2.6144vw, 2.5rem);
  padding-bottom: var(--spacing-md);
}
.module-vacancies__cards {
  row-gap: var(--gutter);
}

.module-vacancies--intro {
  margin-top: 0;
  overflow-x: clip;
  background: var(--groen);
}
.module-vacancies--intro .module-vacancies__inner {
  padding-top: 0;
}
.module-vacancies--intro .module-vacancies__header {
  align-items: center;
  row-gap: 1.5rem;
  margin-bottom: clamp(2rem, 1.6176rem + 1.5686vw, 3.5rem);
}
.module-vacancies--intro .module-vacancies__action {
  display: flex;
}
.module-vacancies--intro .module-vacancies__cards {
  position: relative;
  isolation: isolate;
}
.module-vacancies--intro .module-vacancies__cards::before {
  content: "";
  position: absolute;
  top: calc(100% - 12rem);
  bottom: calc(var(--spacing-md) * -1);
  left: -100vw;
  right: -100vw;
  background: var(--wit);
  z-index: -1;
}

@media all and (min-width: 768px) {
  .module-vacancies--intro .module-vacancies__action {
    justify-content: flex-end;
  }
}
@media all and (min-width: 992px) {
  .module-vacancies--intro .module-vacancies__cards::before {
    top: 61%;
  }
}
.tile-vacancy {
  --fs2: var(--fs4);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  padding: clamp(1.5rem, 1.0858rem + 1.6993vw, 3.125rem) clamp(1.5rem, 0.9743rem + 2.1569vw, 3.5625rem) clamp(2rem, 1.299rem + 2.8758vw, 4.75rem);
  border-radius: var(--radius-sm) 0 0 0;
  color: var(--groen);
  background: var(--lichtgroen);
}
.tile-vacancy__title {
  font-weight: 700;
  line-height: 1.25;
}
.tile-vacancy__text {
  margin-top: 0.625rem;
  line-height: 1.7778;
}
.tile-vacancy .vacancy-meta {
  margin-block: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem) clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
}
.tile-vacancy .button, .tile-vacancy .facetwp-load-more {
  margin-top: auto;
}

.vacancy-meta {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 0;
  list-style: none;
  font-weight: 700;
  line-height: 1.4;
}
.vacancy-meta__item {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.vacancy-meta__icon {
  --fa-width: auto;
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 2.375rem;
  height: 2.375rem;
  border-radius: 50%;
  font-size: 1.125rem;
  background: var(--wit);
}

@media all and (min-width: 1400px) {
  .tile-vacancy {
    aspect-ratio: 1;
    height: auto;
  }
}
/* -- Module-project-archive --------------*/
.module-project-archive {
  position: relative;
  z-index: 1;
  margin-top: calc(var(--header-overlap-simple) * -1);
}
.module-project-archive__inner {
  padding-top: clamp(0rem, 3.1373rem + -2.6144vw, 2.5rem);
  padding-bottom: clamp(4rem, 3.2672rem + 3.0065vw, 6.875rem);
}
.module-project-archive__cards {
  row-gap: var(--gutter);
  margin-top: clamp(1.5rem, 1.277rem + 0.915vw, 2.375rem);
}

/* FacetWP: "Meer laden" onder de overzichten */
.module-project-archive__more,
.module-vacancies__more {
  display: flex;
  justify-content: center;
  margin-top: clamp(2rem, 1.6176rem + 1.5686vw, 3.5rem);
}
.module-project-archive__more:not(:has(.facetwp-load-more:not(.facetwp-hidden))),
.module-vacancies__more:not(:has(.facetwp-load-more:not(.facetwp-hidden))) {
  display: none;
}

.facetwp-load-more {
  cursor: pointer;
}
.facetwp-load-more.facetwp-hidden {
  display: none;
}

.module-project-archive--products .module-project-archive__cards {
  row-gap: clamp(1.5rem, 1.277rem + 0.915vw, 2.375rem);
  margin-top: 0;
}

.module-project-archive--knowledge .module-project-archive__cards {
  margin-top: 0;
}

.tile-project-featured,
.tile-project-card {
  display: flex;
  color: var(--groen);
}
.tile-project-featured:hover,
.tile-project-card:hover {
  color: var(--groen);
}
.tile-project-featured:hover img,
.tile-project-card:hover img {
  transform: scale(1.03);
}
.tile-project-featured:hover .button i, .tile-project-featured:hover .facetwp-load-more i,
.tile-project-card:hover .button i,
.tile-project-card:hover .facetwp-load-more i {
  transform: translateX(0.25rem);
}
.tile-project-featured img,
.tile-project-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.tile-project-featured {
  flex-direction: column;
  overflow: hidden;
  border-radius: var(--radius-sm) 0 0 0;
  background: var(--lichtgroen);
}
.tile-project-featured__media {
  aspect-ratio: 802/720;
  overflow: hidden;
}
.tile-project-featured__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(2rem, 1.4902rem + 2.0915vw, 4rem) clamp(1.5rem, 0.8627rem + 2.6144vw, 4rem);
}
.tile-project-featured__title {
  --fs2: var(--fs3);
  margin-bottom: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
  font-weight: 700;
  line-height: 1.275;
}
.tile-project-featured .button, .tile-project-featured .facetwp-load-more {
  margin-top: clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
}

.tile-project-card {
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border-radius: var(--radius-sm) 0 0 0;
  background: var(--lichtgroen);
}
.tile-project-card__media {
  position: relative;
  aspect-ratio: 524/448;
  overflow: hidden;
}
.tile-project-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(178.73deg, rgba(0, 0, 0, 0.58) 25.4%, transparent 55.25%);
  mix-blend-mode: multiply;
  pointer-events: none;
}
.tile-project-card__title {
  --fs2: var(--fs5);
  position: absolute;
  top: clamp(1.5rem, 1.0858rem + 1.6993vw, 3.125rem);
  left: clamp(1.5rem, 0.9743rem + 2.1569vw, 3.5625rem);
  right: clamp(1.5rem, 0.9743rem + 2.1569vw, 3.5625rem);
  z-index: 1;
  font-weight: 700;
  line-height: 1.25;
  color: var(--wit);
}
.tile-project-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem) clamp(1.5rem, 0.9743rem + 2.1569vw, 3.5625rem) clamp(2rem, 1.6495rem + 1.4379vw, 3.375rem);
}
.tile-project-card__content p {
  line-height: 1.7778;
}
.tile-project-card .button, .tile-project-card .facetwp-load-more {
  margin-top: auto;
}
.tile-project-card p + .button, .tile-project-card p + .facetwp-load-more {
  margin-top: clamp(1.5rem, 1.1654rem + 1.3725vw, 2.8125rem);
}

.tile-project-card--product .tile-project-card__title {
  position: static;
  padding: clamp(1.5rem, 1.0858rem + 1.6993vw, 3.125rem) clamp(1.5rem, 0.9743rem + 2.1569vw, 3.5625rem) 0;
  color: var(--groen);
}
.tile-project-card--product .tile-project-card__media {
  aspect-ratio: 524/332;
  margin-top: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem);
  padding-inline: 14% 18%;
}
.tile-project-card--product .tile-project-card__media::after {
  content: none;
}
.tile-project-card--product .tile-project-card__media img {
  object-fit: contain;
}
.tile-project-card--product .tile-project-card__content {
  padding-top: clamp(1.5rem, 1.277rem + 0.915vw, 2.375rem);
}
.tile-project-card--product p + .button, .tile-project-card--product p + .facetwp-load-more {
  margin-top: clamp(1.5rem, 1.3088rem + 0.7843vw, 2.25rem);
}

.tile-project-card--text .tile-project-card__title {
  position: static;
  padding: clamp(1.5rem, 1.0858rem + 1.6993vw, 3.125rem) clamp(1.5rem, 0.9743rem + 2.1569vw, 3.5625rem) 0;
  color: var(--groen);
}
.tile-project-card--text .tile-project-card__content {
  padding-top: clamp(1rem, 0.7132rem + 1.1765vw, 2.125rem);
}
.tile-project-card--text .tile-project-card__content p {
  max-width: 25.3125rem;
  margin-bottom: clamp(1.5rem, 1.1176rem + 1.5686vw, 3rem);
}
.tile-project-card--text p + .button, .tile-project-card--text p + .facetwp-load-more {
  margin-top: auto;
}

@media all and (min-width: 1400px) {
  .tile-project-card__title {
    --fs2: var(--fs4);
  }
}
@media all and (min-width: 992px) {
  .tile-project-featured {
    flex-direction: row;
  }
  .tile-project-featured__media {
    flex: 0 0 calc((100% + var(--gutter)) / 2 - var(--gutter) / 2);
  }
  .tile-project-featured__content {
    padding: clamp(2rem, 1.4902rem + 2.0915vw, 4rem) calc((100% + var(--gutter)) / 12) clamp(2rem, 1.4902rem + 2.0915vw, 4rem) calc((100% + var(--gutter)) / 12 + var(--gutter) / 2);
  }
}
/* -- Module-content / Module-story -------*/
.module-content {
  --media-ratio: 663 / 547;
}
.module-content__inner {
  padding-block: var(--spacing-md);
}
.module-content__row {
  align-items: center;
}
.module-content__title {
  margin-bottom: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
}
.module-content .buttons-wrapper {
  margin-top: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
}
.module-content .feature-list {
  margin-top: clamp(2rem, 1.7451rem + 1.0458vw, 3rem);
}
.module-content p + p {
  margin-top: clamp(0.75rem, 0.6225rem + 0.5229vw, 1.25rem);
}
.module-content strong {
  font-weight: 800;
}
.module-content__media {
  margin-top: 2.5rem;
  aspect-ratio: var(--media-ratio);
  border-radius: var(--radius-md) 0 0 0;
  overflow: hidden;
}
.module-content__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media all and (min-width: 768px) {
  .module-content__media {
    margin-block: 0;
  }
}
.module-story {
  --media-ratio: 663 / 547;
}
.module-story__inner {
  padding-block: var(--spacing-md);
}
.module-story__row {
  align-items: center;
}
.module-story__title {
  margin-bottom: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
}
.module-story .buttons-wrapper {
  margin-top: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
}
.module-story .feature-list {
  margin-top: clamp(2rem, 1.7451rem + 1.0458vw, 3rem);
}
.module-story p + p {
  margin-top: clamp(0.75rem, 0.6225rem + 0.5229vw, 1.25rem);
}
.module-story strong {
  font-weight: 800;
}
.module-story__media {
  margin-top: 2.5rem;
  aspect-ratio: var(--media-ratio);
  border-radius: var(--radius-md) 0 0 0;
  overflow: hidden;
}
.module-story__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media all and (min-width: 768px) {
  .module-story__media {
    margin-block: 0;
  }
}
.module-content--lichtgroen {
  background: var(--lichtgroen);
}
.module-content--lichtgroen .module-content__inner {
  padding-block: var(--spacing-sm);
}

.module-content--project .module-content__row {
  row-gap: 2.5rem;
}

.module-content--reversed {
  --media-ratio: 663 / 525;
}
.module-content--reversed .module-content__media {
  margin-top: 0;
  margin-bottom: 2.5rem;
}

@media all and (min-width: 768px) {
  .module-content--reversed .module-content__media {
    margin-block: 0;
  }
}
/* -- Module-content--step / --cover ------*/
.module-content--step .module-content__inner {
  padding-block: var(--spacing-sm);
}
.module-content--step .module-content__title {
  line-height: 1.04;
  margin-bottom: clamp(1rem, 0.6176rem + 1.5686vw, 2.5rem);
}
.module-content--step .module-content__step {
  display: block;
}

.module-content--cover {
  position: relative;
}
.module-content--cover .module-content__cover {
  aspect-ratio: 16/9;
}
.module-content--cover .module-content__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.module-content--cover .module-content__inner {
  position: relative;
  padding-block: 0 var(--spacing-sm);
}
.module-content--cover .module-content__card {
  margin-top: clamp(-4rem, -2.7451rem + -1.0458vw, -3rem);
  padding: clamp(2rem, 1.299rem + 2.8758vw, 4.75rem) clamp(1.5rem, 0.4167rem + 4.4444vw, 5.75rem) clamp(2rem, 1.4902rem + 2.0915vw, 4rem);
  border-radius: var(--radius-md) 0 0 0;
  background: var(--lichtgroen);
}

.module-content--card-wit .module-content__card {
  background: var(--wit);
}

@media all and (min-width: 768px) {
  .module-content--cover .module-content__cover {
    position: absolute;
    inset: 0;
    aspect-ratio: auto;
  }
  .module-content--cover .module-content__inner {
    padding-block: clamp(4rem, 3.2512rem + 3.0719vw, 6.9375rem);
  }
  .module-content--cover .module-content__card {
    margin-top: 0;
  }
}
@media all and (min-width: 992px) {
  .module-content--cover .module-content__card {
    min-height: min(28.49vw, 34.1875rem);
  }
}
/* -- Feature-list -------------------------*/
.feature-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 7.25rem));
  gap: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem) clamp(1rem, 0.9522rem + 0.1961vw, 1.1875rem);
  padding: 0;
  list-style: none;
}
.feature-list__icon {
  --fa-width: auto;
  display: block;
  width: auto;
  font-size: clamp(2.5rem, 2.3725rem + 0.5229vw, 3rem);
  line-height: 1;
  text-align: left;
  color: var(--lichtgroen);
}
.feature-list__label {
  display: block;
  margin-top: clamp(0.5rem, 0.3725rem + 0.5229vw, 1rem);
  font-size: var(--fssm);
  line-height: 1.45;
}

@media all and (min-width: 576px) and (max-width: 767.98px), all and (min-width: 1200px) {
  .feature-list {
    grid-template-columns: repeat(4, minmax(0, 7.25rem));
  }
}
/* -- Module-applications -----------------*/
.module-applications__inner {
  padding-block: clamp(4rem, 2.8211rem + 4.8366vw, 8.625rem) clamp(4rem, 2.5184rem + 6.0784vw, 9.8125rem);
}
.module-applications__row {
  align-items: center;
}
.module-applications__content {
  margin-top: clamp(0rem, 3.1373rem + -2.6144vw, 2.5rem);
}
.module-applications__content p + p {
  margin-top: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
}
.module-applications__title {
  margin-bottom: clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
}

.applications-visual {
  position: relative;
  width: 100%;
  max-width: 30rem;
  margin-inline: auto;
  aspect-ratio: 679/547;
}
.applications-visual__shape {
  position: absolute;
  top: -0.73%;
  left: 45.21%;
  width: 55.38%;
  height: 101.46%;
}
.applications-visual::before {
  content: "";
  position: absolute;
  top: 33.46%;
  left: 0;
  width: 92.93%;
  height: 41.68%;
  background: var(--wit);
}
.applications-visual__media {
  position: absolute;
  top: 30.53%;
  left: 11.05%;
  width: 81.88%;
  height: 47.35%;
  filter: drop-shadow(0 3px 3px rgba(0, 0, 0, 0.25));
}

@media all and (min-width: 992px) {
  .module-applications__content {
    margin-top: 0;
  }
  .applications-visual {
    width: 102.41%;
    max-width: none;
    margin-left: -2.41%;
  }
}
/* -- Module-specs ------------------------*/
.module-specs {
  --tab-h: clamp(3.5rem, 2.9583rem + 2.2222vw, 5.625rem);
  --tab-slant: clamp(1rem, 0.8407rem + 0.6536vw, 1.625rem);
  color: var(--wit);
  background: var(--groen);
}
.module-specs__tabs {
  display: flex;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  padding-inline: var(--tab-slant);
  background: var(--lichtgroen);
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--tab-slant)) 100%, var(--tab-slant) 100%);
}
.module-specs__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--tab-h);
  padding-inline: clamp(0.75rem, 0.1446rem + 2.4837vw, 3.125rem);
  border: 0;
  background: var(--lichtgroen);
  font-size: clamp(0.875rem, 0.8113rem + 0.2614vw, 1.125rem);
  font-weight: 800;
  line-height: 1.2;
  color: var(--groen);
  cursor: pointer;
  transition: background-color 0.3s ease;
}
.module-specs__tab + .module-specs__tab {
  box-shadow: inset 1.5px 0 0 var(--groen);
}
.module-specs__tab[aria-selected=true] {
  background: var(--wit);
}
.module-specs__tab:hover:not([aria-selected=true]) {
  background: color-mix(in srgb, var(--lichtgroen) 80%, var(--wit));
}
.module-specs__tab:focus-visible {
  outline: 2px solid var(--groen);
  outline-offset: -4px;
}
.module-specs__tab:first-child {
  margin-left: calc(var(--tab-slant) * -1);
  padding-left: calc(clamp(0.75rem, 0.1446rem + 2.4837vw, 3.125rem) + var(--tab-slant));
}
.module-specs__tab:last-child {
  margin-right: calc(var(--tab-slant) * -1);
  padding-right: calc(clamp(0.75rem, 0.1446rem + 2.4837vw, 3.125rem) + var(--tab-slant));
}
.module-specs__inner {
  padding-block: clamp(3rem, 1.7892rem + 4.9673vw, 7.75rem) clamp(1rem, 0.7451rem + 1.0458vw, 2rem);
}
.module-specs__title {
  margin-bottom: clamp(1.5rem, 1.3088rem + 0.7843vw, 2.25rem);
}

.spec-table {
  width: 100%;
  border-collapse: collapse;
}
.spec-table tr:nth-child(odd) {
  background: #2a4131;
}
.spec-table th,
.spec-table td {
  padding: clamp(0.75rem, 0.6225rem + 0.5229vw, 1.25rem) clamp(1rem, 0.6176rem + 1.5686vw, 2.5rem);
  line-height: 2.2222;
  vertical-align: top;
}
.spec-table th {
  width: 17.6%;
  font-weight: 800;
  white-space: nowrap;
}

@media all and (max-width: 575.98px) {
  .spec-table tr {
    display: block;
    padding-block: 0.75rem;
  }
  .spec-table th,
  .spec-table td {
    display: block;
    width: auto;
    padding-block: 0;
    line-height: 1.6;
  }
}
.download-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style: none;
}
.download-list li:nth-child(odd) {
  background: #2a4131;
}
.download-list__link {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: clamp(0.75rem, 0.6225rem + 0.5229vw, 1.25rem) clamp(1rem, 0.6176rem + 1.5686vw, 2.5rem);
  font-weight: 800;
  line-height: 2.2222;
  color: var(--wit);
}
.download-list__link i {
  --fa-width: auto;
  font-size: 1.5rem;
  color: var(--lichtgroen);
}
.download-list__link:hover {
  color: var(--lichtgroen);
}
.download-list__meta {
  margin-left: auto;
  font-size: 0.875rem;
  color: var(--lichtgroen);
}

.module-specs + .module-werkenbij .module-werkenbij__inner {
  padding-top: clamp(4rem, 2.4706rem + 6.2745vw, 10rem);
}

/* -- Module-related ----------------------*/
.module-related__inner {
  padding-block: clamp(4rem, 3.5221rem + 1.9608vw, 5.875rem) var(--spacing-md);
}
.module-related__title {
  margin-bottom: clamp(1.5rem, 1.2929rem + 0.8497vw, 2.3125rem);
}
.module-related__cards {
  row-gap: clamp(2rem, 1.7451rem + 1.0458vw, 3rem);
}

/* -- Tiles -------------------------------*/
/* -- Tile-product ------------------------*/
.tile-product {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-bottom: clamp(1.5rem, 0.7353rem + 3.1373vw, 4.5rem);
  border-radius: var(--radius-md) 0 0 0;
  color: var(--groen);
  background: var(--lichtgroen);
}
.tile-product__media {
  position: relative;
  aspect-ratio: 663/424;
}
.tile-product__media img {
  position: absolute;
  top: 13.2%;
  left: 16%;
  width: 68%;
  height: 77.4%;
  object-fit: contain;
}
.tile-product__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  align-items: flex-start;
  padding: 0 var(--tile-pad);
}
.tile-product__title {
  margin-bottom: 0.5rem;
}
.tile-product__text {
  margin-bottom: clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
}
.tile-product .button, .tile-product .facetwp-load-more {
  margin-top: auto;
}

/* -- Tile-project / Tile-news ------------*/
.tile-project {
  --fs3: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem);
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--groen);
}
.tile-project:hover {
  color: var(--groen);
}
.tile-project:hover .tile-project__arrow {
  transform: translateX(0.25rem);
}
.tile-project:hover .tile-project__media img {
  transform: scale(1.03);
}
.tile-project__media {
  aspect-ratio: 524/305;
  border-radius: var(--radius-md) 0 0 0;
  overflow: hidden;
}
.tile-project__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.tile-project__content {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  margin-top: -2.5rem;
  padding: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem) clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem) clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
  border-radius: var(--radius-sm) 0 0 0;
  background: var(--lichtgroen);
}
.tile-project__title {
  margin-bottom: 0.5rem;
  font-weight: 800;
  line-height: 1.3;
}
.tile-project__text {
  line-height: 1.45;
}
.tile-project__arrow {
  --fa-width: auto;
  align-self: flex-end;
  margin-top: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
  font-size: 1.25rem;
  transition: transform 0.3s ease;
}

.tile-news {
  --fs3: clamp(1rem, 0.9363rem + 0.2614vw, 1.25rem);
  display: flex;
  flex-direction: column;
  height: 100%;
  color: var(--groen);
}
.tile-news:hover {
  color: var(--groen);
}
.tile-news:hover .tile-news__arrow {
  transform: translateX(0.25rem);
}
.tile-news:hover .tile-news__media img {
  transform: scale(1.03);
}
.tile-news__media {
  aspect-ratio: 524/305;
  border-radius: var(--radius-md) 0 0 0;
  overflow: hidden;
}
.tile-news__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.tile-news__content {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  margin-top: -2.5rem;
  padding: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem) clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem) clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
  border-radius: var(--radius-sm) 0 0 0;
  background: var(--lichtgroen);
}
.tile-news__title {
  margin-bottom: 0.5rem;
  font-weight: 800;
  line-height: 1.3;
}
.tile-news__text {
  line-height: 1.45;
}
.tile-news__arrow {
  --fa-width: auto;
  align-self: flex-end;
  margin-top: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
  font-size: 1.25rem;
  transition: transform 0.3s ease;
}

.tile-news {
  color: var(--wit);
}
.tile-news:hover {
  color: var(--wit);
}
.tile-news__content {
  background: var(--groen);
}
.tile-news__text {
  line-height: 1.78;
}

/* -- Tile-post ---------------------------*/
.tile-post {
  --link-color: var(--groen);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  color: var(--groen);
}
.tile-post:hover {
  color: var(--groen);
}
.tile-post:hover .tile-post__media img {
  transform: scale(1.03);
}
.tile-post:hover .link-arrow i {
  transform: translateX(0.25rem);
}
.tile-post__media {
  width: 100%;
  aspect-ratio: 385/314;
  border-radius: var(--radius-md) 0 0 0;
  overflow: hidden;
}
.tile-post__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.tile-post__title {
  margin-top: clamp(0.75rem, 0.6385rem + 0.4575vw, 1.1875rem);
  font-size: clamp(1.125rem, 1.0931rem + 0.1307vw, 1.25rem) !important;
  font-weight: 800;
  line-height: 2;
}
.tile-post__text {
  line-height: 1.4444;
}
.tile-post .link-arrow {
  margin-top: auto;
  padding-top: clamp(0.75rem, 0.6703rem + 0.3268vw, 1.0625rem);
}

/* -- Formulieren (Gravity Forms) ---------------*/
.gform_wrapper .gform_validation_container,
.gform_wrapper .gform_required_legend {
  display: none !important;
}
.gform_wrapper .gform_fields {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem) var(--gutter);
}
.gform_wrapper .gfield {
  position: relative;
  grid-column: 1/-1;
  min-width: 0;
}
.gform_wrapper .hidden_label .gfield_label,
.gform_wrapper .screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.gform_wrapper .gfield_required {
  margin-left: 0.15em;
}
.gform_wrapper input:not([type=hidden], [type=file], [type=checkbox], [type=radio]),
.gform_wrapper textarea,
.gform_wrapper select {
  width: 100%;
  min-height: var(--btn-h);
  padding: 0.5rem clamp(1.25rem, 1.0907rem + 0.6536vw, 1.875rem);
  border: 2px solid transparent;
  border-radius: var(--radius-sm) 0 0 0;
  font-family: var(--ff-panton);
  font-size: var(--fsbody);
  font-weight: 600;
  line-height: 1.4;
  color: var(--groen);
  background: var(--wit);
  transition: border-color 0.3s ease;
}
.gform_wrapper input:not([type=hidden], [type=file], [type=checkbox], [type=radio])::placeholder,
.gform_wrapper textarea::placeholder,
.gform_wrapper select::placeholder {
  color: var(--groen);
  opacity: 0.6;
}
.gform_wrapper input:not([type=hidden], [type=file], [type=checkbox], [type=radio]):focus,
.gform_wrapper textarea:focus,
.gform_wrapper select:focus {
  outline: none;
  border-color: var(--groen);
}
.gform_wrapper select {
  appearance: none;
  padding-right: clamp(3rem, 2.7451rem + 1.0458vw, 4rem);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 10'%3E%3Cpath d='M1 1.5l7 7 7-7' fill='none' stroke='%2325342a' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right clamp(1.25rem, 1.0907rem + 0.6536vw, 1.875rem) center;
  background-size: 1rem auto;
  cursor: pointer;
}
.gform_wrapper select:has(option[value=""]:checked) {
  color: rgba(37, 52, 42, 0.6);
}
.gform_wrapper select option {
  color: var(--groen);
}
.gform_wrapper fieldset.gfield {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.gform_wrapper .gfield--type-choice:not(.hidden_label) > .gfield_label {
  display: block;
  margin-bottom: clamp(0.5rem, 0.4363rem + 0.2614vw, 0.75rem);
  padding: 0;
  font-size: var(--fsbody);
  font-weight: 800;
  line-height: 1.4;
}
.gform_wrapper .gfield_radio,
.gform_wrapper .gfield_checkbox {
  display: flex;
  flex-direction: column;
  gap: clamp(0.5rem, 0.4681rem + 0.1307vw, 0.625rem);
}
.gform_wrapper .gchoice,
.gform_wrapper .ginput_container_consent {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: var(--fssm);
  line-height: 1.5;
}
.gform_wrapper .ginput_container_consent a {
  text-decoration: underline;
}
.gform_wrapper input[type=radio],
.gform_wrapper input[type=checkbox] {
  appearance: none;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  margin: 0;
  border: 2px solid rgba(37, 52, 42, 0.3);
  background: var(--field-background, var(--wit));
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}
.gform_wrapper input[type=radio]:hover,
.gform_wrapper input[type=checkbox]:hover {
  border-color: var(--groen);
}
.gform_wrapper input[type=radio]:focus-visible,
.gform_wrapper input[type=checkbox]:focus-visible {
  outline: 2px solid var(--groen);
  outline-offset: 2px;
}
.gform_wrapper input[type=radio] + label,
.gform_wrapper input[type=checkbox] + label {
  cursor: pointer;
}
.gform_wrapper input[type=radio] {
  border-radius: 50%;
}
.gform_wrapper input[type=radio]:checked {
  border-color: var(--groen);
  background: var(--groen);
  box-shadow: inset 0 0 0 4px var(--wit);
}
.gform_wrapper input[type=checkbox] {
  border-radius: 0.375rem 0 0 0;
}
.gform_wrapper input[type=checkbox]:checked {
  border-color: var(--groen);
  background: var(--groen) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12'%3E%3Cpath d='M1.5 6l4.5 4.5L14.5 1.5' fill='none' stroke='%23c0d05c' stroke-width='2.5'/%3E%3C/svg%3E") center/0.875rem auto no-repeat;
}
.gform_wrapper .gfield_error input[type=radio],
.gform_wrapper .gfield_error input[type=checkbox] {
  border-color: var(--rood);
}
.gform_wrapper textarea {
  display: block;
  height: clamp(7.5rem, 7.0539rem + 1.8301vw, 9.25rem);
  min-height: 0;
  padding-block: clamp(0.75rem, 0.7181rem + 0.1307vw, 0.875rem);
  resize: vertical;
}
.gform_wrapper .gfield--type-fileupload:not(:has(.gform_fileupload_multifile)) .gfield_label {
  display: flex;
  align-items: center;
  min-height: var(--btn-h);
  padding: 0.5rem clamp(1.25rem, 1.0907rem + 0.6536vw, 1.875rem);
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: var(--radius-sm) 0 0 0;
  font-size: var(--fsbody);
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  text-overflow: ellipsis;
  color: rgba(37, 52, 42, 0.6);
  background: var(--wit);
  cursor: pointer;
}
.gform_wrapper .gfield--type-fileupload:not(:has(.gform_fileupload_multifile)) .gfield_label.has-file {
  color: var(--groen);
}
.gform_wrapper .gfield--type-fileupload:not(:has(.gform_fileupload_multifile)) .gfield_label .gfield_required {
  display: none;
}
.gform_wrapper .gfield--type-fileupload:not(:has(.gform_fileupload_multifile)) .ginput_container {
  position: absolute;
  inset: 0 0 auto;
  height: var(--btn-h);
}
.gform_wrapper .gfield--type-fileupload:not(:has(.gform_fileupload_multifile)) input[type=file] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.gform_wrapper .gfield--type-fileupload:not(:has(.gform_fileupload_multifile)) input[type=file]:focus-visible {
  outline: none;
}
.gform_wrapper .gfield--type-fileupload:not(:has(.gform_fileupload_multifile)):focus-within .gfield_label {
  border-color: var(--groen);
}
.gform_wrapper .gfield--type-fileupload:not(:has(.gform_fileupload_multifile)) .gform_fileupload_rules {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.gform_wrapper .gfield_error input:not([type=hidden], [type=file]),
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error .gfield_label {
  border-color: var(--rood);
}
.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
  margin-top: 0.375rem;
  font-size: var(--fssm);
  font-weight: 700;
  line-height: 1.4;
  color: var(--rood);
}
.gform_wrapper .gform_validation_errors {
  margin-bottom: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
  padding: 1rem clamp(1.25rem, 1.0907rem + 0.6536vw, 1.875rem);
  border-radius: var(--radius-sm) 0 0 0;
  font-weight: 700;
  color: var(--wit);
  background: var(--rood);
}
.gform_wrapper .gform_validation_errors h2 {
  font-size: var(--fsbody) !important;
  line-height: 1.4;
}
.gform_wrapper .gform_footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem);
}
.gform_wrapper .gform_ajax_spinner {
  width: 1.5rem;
  height: 1.5rem;
}

.gform_confirmation_message {
  font-weight: 700;
}

@media all and (min-width: 576px) {
  .gform_wrapper .gfield--width-half {
    grid-column: span 6;
  }
}
.module-werkenbij--form .gform_wrapper,
.module-article--form .gform_wrapper {
  --field-background: rgba(128, 128, 128, .14);
}
.module-werkenbij--form .gform_wrapper input:not([type=hidden], [type=file], [type=checkbox], [type=radio]),
.module-werkenbij--form .gform_wrapper textarea,
.module-werkenbij--form .gform_wrapper select,
.module-article--form .gform_wrapper input:not([type=hidden], [type=file], [type=checkbox], [type=radio]),
.module-article--form .gform_wrapper textarea,
.module-article--form .gform_wrapper select {
  background-color: var(--field-background);
}

/* -- Meerdere bestanden (sleepveld) -------*/
.gform_wrapper .gform_drop_area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  padding: clamp(1.5rem, 1.2451rem + 1.0458vw, 2.5rem) clamp(1.25rem, 1.0907rem + 0.6536vw, 1.875rem);
  border: 2px dashed rgba(37, 52, 42, 0.3);
  border-radius: var(--radius-sm) 0 0 0;
  font-weight: 600;
  text-align: center;
  background: var(--field-background, var(--wit));
  transition: border-color 0.3s ease, background-color 0.3s ease;
}
.gform_wrapper .gform_drop_area::before {
  content: "\f574";
  font-family: "Font Awesome 7 Sharp";
  font-size: clamp(1.75rem, 1.6225rem + 0.5229vw, 2.25rem);
  font-weight: 300;
  line-height: 1;
}
.gform_wrapper .gform_drop_area.is-dragover {
  border-color: var(--groen);
  background: rgba(192, 208, 92, 0.25);
}
.gform_wrapper .gform_button_select_files {
  --button-color: var(--groen);
  --button-background: transparent;
  --button-background-hover: var(--lichtgroen);
  --button-border: var(--groen);
  cursor: pointer;
}
.gform_wrapper .gform_fileupload_multifile + .gform_fileupload_rules {
  display: block;
  margin-top: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.4;
  opacity: 0.7;
}
.gform_wrapper .ginput_preview_list:not(:empty) {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.gform_wrapper .ginput_preview {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: var(--fssm);
  font-weight: 700;
}
.gform_wrapper .ginput_preview::before {
  content: "\f15b";
  font-family: "Font Awesome 7 Sharp";
  font-weight: 400;
}

/* -- Site footer ------------------------------*/
.site-footer {
  --footer-notch: 1.9375rem;
  position: relative;
  background: var(--lichtgroen);
}

/* -- USP's --------------------------------*/
.footer-usps {
  position: relative;
  --usps-space: clamp(2.5rem, 1.4804rem + 4.183vw, 6.5rem);
  padding-top: var(--usps-space);
  padding-bottom: calc(var(--footer-notch) + var(--usps-space));
  z-index: 1;
}

.usp-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, max-content));
  justify-content: center;
  gap: clamp(1rem, 0.4902rem + 2.0915vw, 3rem) clamp(1rem, -1.549rem + 10.4575vw, 11rem);
  padding: 0;
  list-style: none;
}

.usp {
  --usp-icon: clamp(2rem, 1.6176rem + 1.5686vw, 3.5rem);
  display: flex;
  align-items: center;
  gap: clamp(0.5rem, 0.261rem + 0.9804vw, 1.4375rem);
  font-size: clamp(1rem, 0.8725rem + 0.5229vw, 1.5rem);
  font-weight: 600;
  line-height: 1.3333;
  color: var(--groen);
}
.usp__icon {
  --fa-width: auto;
  flex-shrink: 0;
  width: calc(var(--usp-icon) * 1.25);
  font-size: var(--usp-icon);
  text-align: center;
}

.usp-list--grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-content: start;
  gap: clamp(1.5rem, 1.3088rem + 0.7843vw, 2.25rem) 0;
  max-width: 39.625rem;
}

/* -- Groen vlak ---------------------------*/
.site-footer__main {
  position: relative;
  margin-top: calc(var(--footer-notch) * -1);
  padding-top: calc(var(--footer-notch) + clamp(4rem, 2.9804rem + 4.183vw, 8rem));
  padding-bottom: 1rem;
  color: var(--wit);
  background: var(--groen);
  clip-path: polygon(0 0, calc(50% + var(--notch-x1)) 0, calc(50% + var(--notch-x2)) var(--footer-notch), calc(50% + var(--notch-x3)) var(--footer-notch), calc(50% + var(--notch-x4)) 0, 100% 0, 100% 100%, 0 100%);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem var(--gutter);
  text-align: center;
}
.footer-grid__col {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.footer-title {
  --fs2: var(--fs5);
  margin-bottom: clamp(1rem, 0.4902rem + 2.0915vw, 3rem);
  font-weight: 600;
  line-height: 1.2857;
  color: var(--lichtgroen);
}

.footer-address {
  font-style: normal;
}
.footer-address a {
  display: block;
  width: fit-content;
  margin-inline: auto;
  color: currentColor;
}

.footer-contact,
.contact-list {
  display: flex;
  flex-direction: column;
  padding: 0;
  list-style: none;
}
.footer-contact a,
.contact-list a {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  color: currentColor;
}
.footer-contact i,
.contact-list i {
  --fa-width: auto;
  width: 1.5rem;
  font-size: 1.5rem;
}

.footer-socials {
  display: flex;
  gap: 0.5rem 1rem;
  margin-top: 2.5rem;
}
.footer-socials__link {
  font-size: clamp(2rem, 1.8725rem + 0.5229vw, 2.5rem);
  line-height: 1;
  color: var(--lichtgroen);
  transition: transform 0.3s ease-in-out;
}
.footer-socials__link:hover {
  color: var(--lichtgroen);
  transform: translateY(-6px);
}

.newsletter-form {
  width: 100%;
  max-width: 18.325rem;
  margin-top: 1.5rem;
  margin-inline: auto;
}
.newsletter-form .gform_wrapper input[type=email] {
  font-size: var(--btn-fs);
  font-weight: 800;
}
.newsletter-form .gform_wrapper input[type=email]::placeholder {
  opacity: 0.45;
}
.newsletter-form .gform_footer {
  justify-content: center;
  margin-top: 1rem;
}
.newsletter-form .gform_button {
  --button-color: var(--groen);
  --button-background: var(--lichtgroen);
  --button-background-hover: var(--lichtgroen);
}

/* -- Onderkant: keurmerken en copyright ---*/
.site-footer .certificates {
  margin-top: clamp(3rem, 2.2353rem + 3.1373vw, 6rem);
}
.site-footer .certificates img {
  opacity: 0.3;
  transition: opacity 0.3s ease-in-out;
}
.site-footer .certificates img:hover {
  opacity: 1;
}

.footer-copyright {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 0.35em;
  margin-top: clamp(1.5rem, 1.3725rem + 0.5229vw, 2rem);
  font-size: var(--fsxs);
  line-height: 2.4615;
  text-align: center;
}
.footer-copyright a {
  line-height: 1.4;
  color: currentColor;
}
.footer-copyright a:hover {
  color: currentColor;
}

@media all and (min-width: 768px) {
  .site-footer {
    --footer-notch: 3.3531rem;
  }
  .footer-usps {
    padding-bottom: var(--usps-space);
  }
  .footer-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "contact news" "advice  news";
    text-align: left;
  }
  .footer-grid__col {
    align-items: flex-start;
  }
  .footer-grid__col--contact {
    grid-area: contact;
  }
  .footer-grid__col--advice {
    grid-area: advice;
  }
  .footer-grid__col--news {
    grid-area: news;
  }
  .footer-address a {
    margin-inline: 0;
  }
  .newsletter-form {
    margin-inline: 0;
  }
  .newsletter-form .gform_footer {
    justify-content: flex-start;
  }
}
@media all and (min-width: 992px) {
  .site-footer {
    --footer-notch: 4.4725rem;
  }
  .footer-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas: "contact advice news";
  }
}
@media all and (min-width: 1200px) {
  .site-footer {
    --footer-notch: calc(var(--notch-w) * .2928);
  }
  .footer-grid {
    padding-inline: calc((100% + var(--gutter)) / 12);
  }
}

/*# sourceMappingURL=stylesheet.css.map */
