@charset "UTF-8";

/* NIKS AANPASSEN IN DIT BESTAND */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video
{margin:0; padding:0; border:0; font-size:100%; font:inherit; vertical-align:baseline; background:transparent;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary
{display: block;}

audio, canvas, video {display: inline-block; *display:inline; *zoom:1;}

audio:not([controls]) {display:none; height:0;}

[hidden] {display:none;}

html {overflow-y:scroll; overflow-x:hidden; font-size:100%; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;}    
    
body {line-height: 1;}

nav ul, nav ol {list-style: none; list-style-image:none;}    
ol, ul {list-style: none;}
    
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none; font-size:75%}
abbr[title], dfn[title] {border-bottom:1px dotted; cursor:help;}    

sub, sup {font-size:75%; line-height:0; position:relative; vertical-align:baseline}
sub {bottom: -0.25em;}
sup {top: -0.5em;}

table {border-collapse: collapse; border-spacing: 0;}

a:link, a:visited, a:hover, a:active {text-decoration:none;}
a img, :link img, :visited img {border:none;}
a:focus {outline: thin dotted;}
a:active, a:hover {outline: 0;}

html, button, input, select, textarea {font-family: sans-serif;}
textarea {resize:none; vertical-align:top; font-size:100%; overflow:auto;}
textarea:focus {outline:none;}
input:focus {outline:none;}
button, input, select {vertical-align: baseline; *vertical-align: middle; font-size:100%; line-height:normal; margin:0;}
legend {white-space: normal; *margin-left:-7px;}
button, input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance:button; cursor:pointer; *overflow: visible;}
button[disabled], input[disabled] {cursor: default;}
input[type="checkbox"], input[type="radio"] {box-sizing; border-box; *height: 13px; *width: 13px;}
input[type="search"] {-webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box;}
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {-webkit-appearance:none;}
button::-moz-focus-inner, input::-moz-focus-inner {border:0; padding:0;}

img {-ms-interpolation-mode: bicubic;}
svg:not(:root) {overflow:hidden;}

strong, b {font-weight:bold}

tt {font-family: "Courier New", Courier, monospace}
code, kbd, pre, samp {font-family: monospace, serif; _font-family: 'courier new', monospace; font-size:16px;}
pre {white-space: pre; white-space:pre-wrap; word-wrap: break-word;}
hr {display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0;}
i {font-style:italic}
u {text-decoration:underline}
strike, del {text-decoration:line-through}
ins {text-decoration:none}
center {text-align:center}
dfn {font-style:italic}
mark {background: #ff0; color: #000;}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

textarea:focus, input:focus, select:focus, button:focus, option:focus{
  outline: none;
}

input[type=text],
input[type=submit],
input[type=email],
input[type=tel],
input[type=url],
input[type=number],
input[type=search],
textarea,
select,
option {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 0;
  -moz-border-radius: 0;
  -webkit-border-radius: 0;
}

input[type=number]::-webkit-inner-spin-button, 
input[type=number]::-webkit-outer-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}

input[type=number] {
  -moz-appearance: textfield;
  vertical-align: middle;
}

html,
body {
  margin:0;
  padding:0;
  height:100%;
  font-family: 'League Spartan', sans-serif;
  scroll-behavior: smooth; /* vloeiende scroll */
  z-index: 0;
  position: relative;
  padding-bottom: 70px !important;
}

main {
  background-color: #fff;
  padding-top: 140px;
}

.mobile-spacer {
  display: none;
}

@media screen and (max-width: 1050px) {
  .mobile-spacer {
    display: block;
    height: 70px; /* Exact de hoogte van je balk */
    width: 100%;
    background: transparent;
  }
}

/* SVG overlay */

.border-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  display: block;
}

.border-svg rect {
  x: 1;
  y: 1;
  width: 100%;
  height: 100%;
  fill: none;
  stroke: rgba(255,255,255,0.8);
  stroke-width: 0.3;

  stroke-dasharray: 400;
  stroke-dashoffset: 400;
  transition: stroke-dashoffset .8s cubic-bezier(0.4, 0, 0.2, 1);

  stroke-linecap: round;
  stroke-linejoin: round;

  width: calc(100% - 2px);
  height: calc(100% - 2px);
}


/* GDPR */

#content-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  margin: auto;
}

#content-container h1 {
  width: 100%;
  text-align: center;
  font-size: 25px;
  font-weight: 700;
  color: #278AB5;
  margin-bottom: 20px;
  margin-top: 50px;
}


#content-container h2 {
  color:#000;
  font-size:25px;
  font-weight:bold;
  margin-bottom: 1em;
  margin-top: 1em;
  cursor: pointer;
  padding-left: 15px;
}

#content-container h3 {
  background: #3f6a45;
  color: #fff;
  border-radius: 200px;
  font-family: 'League Spartan', sans-serif;
  font-size: 18px;
  padding: 15px 20px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  font-weight: 700;
  display: flex;
  justify-content: flex-start;
  -ms-align-items: center;
  align-items: center;
  margin-top: 20px;
}

#content-container h3 span {
  position: absolute;
  z-index: 1;
  background: transparent url("/images/cross_w.png") no-repeat;
  display: inline-block;
  width: 15px;
}

#content-container h4 {
  margin-left: 2em;
  font-size: 1.1em;
  font-weight: bold;
}

#content-container p {
  padding: 20px;
  line-height: 170%;
  color: #7e7e7e;
  font-size: 19px;
}

#content-container ul {
  margin-left: 3em;
}

#content-container table {
  width: 100%;
}

#content-container a {
  color: #000;
  font-weight: 700;
}

#gdpr-wrapper {
  min-height:100%;
  position:relative;
}

#content-container thead {
  background-color:#000;
  color: #fff;
}


#content-container thead th {
  border: 1px solid #353535;
  padding: 10px;
}

#content-container tbody td {
  border: 1px solid #353535;
  color: #7e7e7e;
  line-height: 150%;
  padding: 5px;
}

#content-container tbody td p {
  padding: 0px;
}

#content-container ul {
  padding-left: 20px;
  line-height: 170%;
  color: #7e7e7e;
  list-style-type: disc;
}

/* Einde GDPR */


/* Navigatie */

.nav_top {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  /* margin-bottom: 20px; */
  height: 60px;
  position: relative;
  margin-right: 200px;
}


.curtain-click:not(.cc-mobile) {
  color: #3f6a45;
  font-family: 'League Spartan';
  background: linear-gradient(90deg, #3f6a45, #3f6a45, #3f6a45);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  background-repeat: no-repeat;
  background-size: 80%;
  animation: shine 5s linear infinite;
  position: relative;
  font-size: 20px;
  font-weight: 400;
  z-index: 2;
  border: 1px solid #3f6a45;
  border-top: none;
  padding: 7px 20px;
  border-bottom-left-radius: 200px;
  border-bottom-right-radius: 200px;
}

.curtain-click.cc-mobile {
  display: none;
}

@keyframes shine {
  0% {
    background-position-x: -500%;
  }
  100% {
    background-position-x: 500%;
  }
}

.navholder {
  width: 100%;
  position: fixed; /* Altijd fixed bovenaan */
  top: 0;
  left: 0;
  right: 0;
  z-index: 300; /* Zorg dat hij over alles heen valt */
  background-color: #fff;
  display: flex;
  justify-content: center;
  transition: all 0.4s ease-in-out; /* Zorgt voor de vloeiende beweging */
  box-shadow: 0 2px 10px rgba(0,0,0,0);
}

.navholder.scrolled {
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.navsub {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin-top: 20px;
  transition: margin 0.4s ease;
}

.navholder.scrolled .navsub {
  margin-top: 0; /* Haal margin weg voor een compacte look */
}

.navsub > a, 
.navsub .has-dropdown > a  {
  color: #252525;
  font-size: 22px;
  position: relative;
  margin: 0 20px;
  padding: 10px 0;
  font-family: 'League Spartan', sans-serif;
    padding: 6px 12px;
  border-radius: 20px;
  transition: background 0.3s ease, color 0.3s ease;
}

.navsub > a::before,
.navsub .has-dropdown > a::before {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(0);
  width: 10px;
  height: 10px;
  background: url('/images/logodet3.png') no-repeat center center;
  background-size: contain;
  opacity: 0;
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.navsub > .active, 
.navsub > a:hover,
.navsub .has-dropdown > a.active,
.navsub .has-dropdown:hover > a {
  background-color: #eef7f3;
  color: #4a8f77;
}


.navsub > .active::before,
.navsub > a:hover::before,
.navsub .has-dropdown > a.active::before,
.navsub .has-dropdown:hover > a::before {
  opacity: 1;
  transform: translateX(-50%) translateY(4px);
}

.has-dropdown {
    position: relative;
    display: flex;
    align-items: center;
}

/* Het zwevende menu */
.dropdown-menu {
    position: absolute;
    top: 100%;          /* Direct onder de link */
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    background-color: #ffffff;
    min-width: 160px;
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    padding: 10px 0;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 100;
}

/* Onzichtbare brug om te voorkomen dat menu sluit bij bewegen van muis */
.dropdown-menu::before {
    content: "";
    position: absolute;
    top: -15px;
    left: 0;
    width: 100%;
    height: 20px;
}

/* Menu tonen bij hover */
.has-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

/* De links binnen het dropdown menu */
.dropdown-menu a {
    display: block;
    padding: 10px 20px;
    color: #252525;
    font-size: 16px;
    text-decoration: none;
    font-family: 'League Spartan', sans-serif;
    transition: background 0.2s ease, color 0.2s ease;
    white-space: nowrap;
    text-align: center;
}

/* Hover op de submenu-items */
.dropdown-menu a:hover {
    background-color: #eef7f3;
    color: #4a8f77 !important; /* De groene kleur van je site */
}

/* Fix voor het bestaande icoontje: zorg dat het ook werkt voor de dropdown wrapper */
.has-dropdown:hover > a::before {
    opacity: 1;
    transform: translateX(-50%) translateY(4px);
}

/* Zorg dat de dropdown links GEEN icoontje boven zich krijgen */
.dropdown-menu a::before {
    display: none !important;
}

.navigatie {
  width: 100%;
  max-width: 1700px;
  display: flex;
  justify-content: flex-end;
  align-items: center; /* Belangrijk voor uitlijning bij scroll */
  height: 140px; /* Begin hoogte */
  transition: height 0.4s ease;
}

.navholder.scrolled .navigatie {
  height: 80px; /* Hoogte wanneer gescrold */
}

.navigatie .nav {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  transition: all 0.4s ease;
}

.nav_top {
  display: block;
  opacity: 1;
  transition: all 0.3s ease;
}

.navholder.scrolled .nav_top {
  display: none; /* Verdwijnt volledig */
}

.navigatie {
  position: relative;
}

/* De mobiele module/cc-mobile initieel verbergen */
.cc-mobile {
  display: none; 
    animation: bell-pause 5s ease-in-out infinite;
}


/* cc-mobile tonen in de 'scrolled' staat */
.navholder.scrolled .cc-mobile {
  display: flex;
  margin-right: 15px; /* Ruimte voor de eerste menu-item */
}

@keyframes bell-pause {
    /* 0% tot 10% is het rammelen (0.5 seconde) */
    0% { transform: rotate(0deg); }
    2% { transform: rotate(15deg); }
    4% { transform: rotate(-15deg); }
    6% { transform: rotate(10deg); }
    8% { transform: rotate(-10deg); }
    10% { transform: rotate(0deg); }
    
    /* 10% tot 100% doet het icoon helemaal niets (4.5 seconden rust) */
    100% { transform: rotate(0deg); }
}

/* Zorg dat de cc-mobile en navsub naast elkaar komen bij scroll */
.navholder.scrolled .nav {
  flex-direction: row; /* Zet cc-mobile en navsub op één lijn */
  align-items: center;
}


.logo-circle {
  position: absolute;
  left: 0px;
  top: -40px;
  width: 250px; /* Begin grootte */
  height: 250px;
  background: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.4s ease-in-out; /* Zorgt voor krimpen van logo */
  z-index: 10;
}

/* Logo wanneer gescrold */
.navholder.scrolled .logo-circle {
  width: 150px;
  height: 150px;
  top: 5px;
}


.logo-normal {
  display: none;
}

.navigatie .logo {
  width: calc(100% - 100px);
  transition: width 0.4s ease;
}

.navholder.scrolled .logo {
  width: 90px; /* Plaatje binnen de cirkel wordt ook kleiner */
  position: relative;
    z-index: 200;
}

.navigatie .topper {
  background-color: #f7f7f7;
  padding: 10px 0;
  padding-right: 20px;
  padding-left: 10px;
  position: relative;
}

.navigatie .topper img {
  position: absolute;
  left: -17px;
  top: 0;
  bottom: 0;
  height: 100%;
}

.navigatie .topper a {
  font-size: 20px;
  color: #a9a9a9;
  border-right: 1px solid #a9a9a9;
  padding: 0 15px;
  font-family: 'League Spartan', sans-serif;
  padding-top: 2px;
  font-weight: 200;
}

.navigatie .topper select {
  padding: 0;
  padding-top: 1px;
  background-image: url(/images/select2.png);
  background-size: contain;
  background-position: center right;
  padding-right: 20px;
  padding-left: 15px;
  font-family: 'League Spartan', sans-serif;
  font-size: 16px;
  background-repeat: no-repeat;
  border: none;
  background-color: transparent;
  color: #a9a9a9;
}


/* ===== BASE ===== */
.contact-bubble {
  position: fixed;
  top: 50%;
  left: 20px;
  transform: translateY(-50%) translateX(-110%);
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
  transition: transform 0.85s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
  will-change: transform, opacity;
}

.contact-bubble.visible {
  transform: translateY(-50%) translateX(0);
  opacity: 1;
  pointer-events: auto;
}

/* ===== INNER & BASIS ===== */
.bubble-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #3f6a45;
  border-radius: 999px;
  padding: 12px;
  width: fit-content;
  box-shadow: 0 10px 30px rgba(0,0,0,0.15);
  border-left: 4px solid #E7DDEB;
  
  position: relative;
  /* overflow: hidden;  <-- VERWIJDERD: dit hield het lijntje tegen */
  transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
}

/* HET WITTE LIJNTJE NAAR LINKS */
.bubble-inner::before {
  content: "";
  position: absolute;
  left: -28px; /* 25px lijn + 3px spacing */
  top: 50%;
  transform: translateY(-50%);
  
  width: 25px;
  height: 2px;

  background: #3f6a45;
  border-radius: 2px;
  opacity: 0.8;
  z-index: -1; /* Zorg dat het achter de bubble blijft */
}


/* ===== TRIGGER & AVATAR ===== */
.bubble-trigger {
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  gap: 12px;
  transition: gap 0.35s ease;
  z-index: 99999;
}

.avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  object-fit: cover;
  transition: all 0.4s ease;
  border: 2px solid transparent;
}

/* Avatar als de bubble OPEN is */
.active .avatar {
  width: 85px;
  height: 85px;
  border: 3px solid #3f6a45;
  padding: 3px; /* Creëert een witte ring tussen foto en groene border */
  background: white;
  margin-bottom: 5px;
}

.label {
  font-size: 17px;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
  transition: all 0.3s ease;
}

/* ===== NOTIFICATION DOT ===== */
.notif-dot {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 14px;
  height: 14px;
  background: #7bd88f;
  border: 2px solid #3f6a45;
  border-radius: 50%;
  animation: pulseGreen 1.8s infinite;
}

/* ===== OPEN STATE (ACTIVE) ===== */
.contact-bubble.active .bubble-inner {
  background: #ffffff;
  padding: 35px 30px; /* Minder loze ruimte */
  border-radius: 100px; /* Iets minder 'bol' maar nog steeds rond */
  border-left: 0;
  width: 280px; /* Vaste breedte voor betere uitlijning */
}

.bubble-content {
  display: none;
  width: 100%;
  text-align: center;
  opacity: 0;
}

.contact-bubble.active .bubble-content {
  display: block;
  opacity: 1;
  animation: chatPop 0.4s ease forwards;
}

.bubble-content p.title {
  font-size: 19px;
  font-weight: 700;
  color: #1f2a21;
  margin: 15px 0 20px 0;
  line-height: 1.2;
}

/* ===== LINKS & BUTTONS ===== */
.contact-links {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.bubble-content a {
  color: #333;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  padding: 10px 15px;
  background: #f4f7f4;
  border-radius: 12px;
  transition: all 0.2s ease;
}

.bubble-content a:hover {
  background: #3f6a45;
  color: #fff;
  transform: translateY(-2px);
}

.bubble-content a i {
  width: 28px;
  height: 28px;
  background: #3f6a45;
  color: #fff;
  border-radius: 50%;
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}

.bubble-content a:hover i {
    background: #fff;
    color: #3f6a45;
}

/* ===== CLOSE BUTTON (VERBETERD) ===== */
.bubble-close {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 28px;
  height: 28px;
  background: #f0f0f0;
  color: #333;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  cursor: pointer;
  z-index: 10;
  opacity: 0;
  transition: all 0.2s ease;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.contact-bubble.active .bubble-close {
  opacity: 1;
}

.bubble-close:hover {
  background: #e0e0e0;
  transform: rotate(90deg);
}

/* ===== COMPACT MODE ===== */
.contact-bubble.compact .label {
  max-width: 0;
  opacity: 0;
  margin: 0;
  display: none;
}

.contact-bubble.compact .bubble-inner {
  padding: 8px;
}

/* ===== ANIMATIES ===== */
@keyframes pulseGreen {
  0% { box-shadow: 0 0 0 0 rgba(123, 216, 143, 0.7); }
  70% { box-shadow: 0 0 0 8px rgba(123, 216, 143, 0); }
  100% { box-shadow: 0 0 0 0 rgba(123, 216, 143, 0); }
}

@keyframes chatPop {
  from { transform: translateY(15px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.navigatie .menubtn {
  width: 50px;
  height: 50px;
  background-color: white;
  border-radius: 200px;
  display: none;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border: 1px solid #efefef;
  transition: all .3s;
}

.navigatie .menubtn:hover {
  transform: scale(1.1);
}

.navigatie .menubtn img {
  width: 50%;
}


.swap_lang {
  background-image: url(/images/select.png);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
  padding: 10px;
  padding-right: 40px;
  border: none;
  font-size: 20px;
  text-transform: uppercase;
  font-family: Spartan, sans-serif;
  margin-left: 10px;
}

.navigatie .share {
  display: flex;
  justify-content: center;
  align-items: center;

}

.navigatie .webshoplnk {
  border-radius: 0;
  color: #000;
  margin-left: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 22px;
  padding: 14px 25px;
  transition: all .3s; 
  margin-right: 0;
  border-radius: 200px;
  font-family: 'League Spartan', sans-serif;
  background-color: #69a599;
}

.navigatie .webshoplnk:hover {
  background-color: #000;
  color: #fff;
}

.navigatie .share a i {
  margin-right: 5px;
}

.menuholder {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    background-color: #3f6a45; /* De basis groen */
    /* Subtiel verloop voor diepte */
    background: radial-gradient(circle at top right, #4d7a54 0%, #3f6a45 100%);
    z-index: 9999;
    
    /* Animatie van het hele menu */
    transform: translateX(100%);
    transition: transform 0.8s cubic-bezier(0.77, 0, 0.175, 1);
    
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.menuOpen {
    transform: translateX(0);
}

/* Subtiele korrel-textuur overlay */
.menu-overlay {
    position: absolute;
    inset: 0;
    opacity: 0.05;
    background-image: url('https://www.transparenttextures.com/patterns/stardust.png');
    pointer-events: none;
}

.menu-inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 40px 30px;
}

/* Header bovenin */
.menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 60px;
}

.menu-logo {
    width: 80px; /* Pas aan naar wens */
    filter: brightness(0) invert(1); /* Maakt logo wit als het donker is */
}

.close_btn {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #fff;
    font-size: 12px;
    letter-spacing: 0.2em;
    cursor: pointer;
}

.close_btn i {
    font-size: 24px;
}

/* Navigatie links */
.menuholder nav {
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.menuholder nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menuholder nav li {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease;
}

/* Wanneer menu open is, komen de items één voor één */
.menuOpen nav li {
    opacity: 1;
    transform: translateY(0);
    transition-delay: calc(var(--i) * 0.1s + 0.4s);
}

.menuholder nav li:not(:last-of-type) {
  padding-bottom: 10px;
}

.menuholder nav a {
    font-family: 'League Spartan', sans-serif; /* Of je eigen font */
    font-size: clamp(32px, 8vw, 48px);
    font-weight: 500;
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: baseline;
    gap: 20px;
    padding: 10px 0;
    padding-bottom: 0;
    transition: all 0.3s ease;
}

.menuholder nav a span {
    font-size: 14px;
    font-weight: 300;
    color: rgba(255,255,255,0.4);
    font-family: serif;
    font-style: italic;
}

.menuholder nav a:hover {
    padding-left: 15px;
    color: rgba(255,255,255,0.7);
}

.menuholder nav li p {
    font-size: 14px;
    font-weight: 300;
    color: rgba(255,255,255,0.4);
    font-family: serif;
    font-style: italic;
    margin-left: 34px;
}

/* Footer onderaan */
.menu-footer {
    margin-top: auto;
    padding-bottom: 20px;
}

.footer-divider {
    width: 40px;
    height: 1px;
    background: rgba(255,255,255,0.3);
    margin-bottom: 20px;
}

.menu-footer p {
    font-size: 14px;
    color: rgba(255,255,255,0.6);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
}

.plenso-credit {
    font-size: 12px;
    color: rgba(255,255,255,0.4);
}

.plenso-credit i {
    color: #fff;
    font-size: 10px;
    margin: 0 5px;
}
.fixedheader {
  background-color: rgba(35,35,35,.9);
}

.fixedheader .logo {
  width: 100px;
}


.menus {
  width: 100%;
  max-width: 1600px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 0 10px;
}

.menus article {
  width: 100%;
  margin: 0%;
  padding: 25px;
  border: #c5c5c5 1px solid;
      width: 32.33%;
    margin-bottom: 50px;
    border: 1px solid #000;
    padding: 45px 15px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
}


.menus article > img {
  width: 100%;
  margin-bottom: 20px;
}

.menus article h3 {
  text-align: center;
  width: 100%;
  font-size: 18px;
}

.menus article h2 {
  font-size: 30px;
  font-weight: 700;
  text-align: center;
  width: 100%;
  margin-top: 10px;
}

.menus article div {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  font-size: 20px;
  line-height: 150%;
  text-align: center;
}


.menus article div span {
  font-style: italic;
  font-size: 16px;
}

.menus article div img {
  width: 50px;
  margin: 15px 0;
}

/* Einde Navigatie */

/* Base Styles */
.hero-cta {
    position: fixed;
    right: 20px;
    bottom: 100px;
    z-index: 999;
    display: flex;
    align-items: stretch;
    /* This easing makes it feel very smooth and organic */
    transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1), opacity 0.8s ease;
}

.hero-cta-mobile {
    display: none;
}

/* 1. Hidden State (Before page load delay) */
.hero-cta.initial-hide {
    opacity: 0;
    transform: translateX(120%); /* Start completely off-screen to the right */
}

/* 2. Minimized/Compact State (Only the tab is visible) */
.hero-cta.minimized {
    transform: translateX(calc(100% - 10px)); /* Slides off, leaving a tiny sliver */
}

.cta-content {
    display: flex;
    flex-direction: column;
    box-shadow: -5px 5px 20px rgba(0,0,0,0.15);
}

/* The Toggle Tab (The "Handle") */
.cta-toggle-tab {
    background: #252525;
    color: white;
    width: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    border-top-left-radius: 8px;
    border-bottom-left-radius: 8px;
    font-size: 24px;
    transition: background 0.3s;
}

.cta-toggle-tab:hover {
    background: #3f6a45;
}

/* Rotate arrow when closed vs open */
.hero-cta.minimized .arrow-icon {
    transform: rotate(0deg);
}
.arrow-icon {
    transform: rotate(180deg);
    transition: transform 0.8s;
}

/* Existing Button Styles */
.hero-cta a {
    padding: 1.3em 2.5em 1.3em 1.5em;
    font-size: 18px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    min-width: 240px;
}

.hero-cta a:nth-of-type(1) { background-color: #f4efe9; color: #2b2b2b; }
.hero-cta a:nth-of-type(2) { background-color: #3f6a45; color: #fff; }
.hero-cta a:nth-of-type(3) { background-color: #252525; color: #fff; }

.hero-cta a span {
    display: block;
    font-size: 13px;
    text-transform: none;
    margin-top: 5px;
    font-weight: 200;
    opacity: 0.8;
}

/* Footer & Root Variables */
:root {
  --color-brand-green: #3f6a45;
  --color-text-main: #252525;
  --bubble-bg: #ffffff;
}

.glamping-ticker {
  width: 100%;
  display: flex;
  justify-content: flex-end; 
  background-color: #fff;
  overflow: hidden;
}

.ticker-wrapper, .ticker-content {
  display: flex;
}

.ticker-item {
  width: 286px; 
  height: 400px;
  position: relative;
  
  /* Houdt de zoom strikt binnen het kader */
  overflow: hidden; 
  isolation: isolate;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  
  cursor: pointer;
  border-right: 1px solid rgba(255,255,255,0.2);
}

.ticker-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -1;
  transition: transform 1.2s cubic-bezier(0.15, 0.85, 0.35, 1);
  will-change: transform;
}

.ticker-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 40%, rgba(0,0,0,0) 70%);
  z-index: 2;
  pointer-events: none;
}

.ticker-text-container {
  position: absolute;
  top: 40px; /* Iets omhoog gehaald voor ruimte onderaan */
  left: 20px;
  right: 20px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  pointer-events: none;
}

.ticker-name {
  margin: 0;
  font-family: 'League Spartan', sans-serif;
  font-weight: 700;
  font-size: 24px;
  color: #fff;
  text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

/* De Tekstballon (onder de naam) */
.ticker-speech-bubble {
  position: relative;
  background: var(--bubble-bg);
  padding: 12px 16px;
  border-radius: 12px;
  margin-top: 15px; /* Ruimte onder de naam */
  box-shadow: 0 10px 25px rgba(0,0,0,0.2);
  
  /* Start-status (verborgen) */
  opacity: 0;
  visibility: hidden;
  transform: scale(0.8) translateY(-10px); /* Komt van 'achter' de naam vandaan */
  transform-origin: top left;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.ticker-quote {
  margin: 0;
  font-family: 'League Spartan', sans-serif;
  font-size: 14px;
  line-height: 1.3;
  color: var(--color-text-main);
  font-weight: 500;
}

/* Het pijltje aan de BOVENKANT */
.bubble-arrow {
  position: absolute;
  top: -8px; /* Staat nu bovenop de ballon */
  left: 20px;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 8px solid var(--bubble-bg); /* Pijltje wijst nu omhoog */
}

/* --- HOVER EFFECTEN --- */

.ticker-item:hover .ticker-img {
  transform: scale(1.15);
}

.ticker-item:hover .ticker-speech-bubble {
  opacity: 1;
  visibility: visible;
  transform: scale(1) translateY(0);
}

.ticker-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10; /* Ligt bovenop alles */
  text-decoration: none;
  display: block;
}

/* Mobile optimalisatie */
@media (max-width: 768px) {
  .ticker-item {
    width: 200px;
    height: 320px;
  }
  .ticker-name { font-size: 18px; }
}

footer {
  background-color: #252525;
  padding: 50px 10px;
  position: relative;
  z-index: 2;
  padding-bottom: 160px;
}

.innerfooter {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  z-index: 1;
  background-color: #252525;
}

.extrafooter {
  border-top: 1px solid #ffffff2d;
    display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 1600px;
  width: 100%;
  margin: 0 auto;
  padding-top: 30px;
}

.extrafooter .siteby>div>div {
  gap: 30px;
}

.siteby .pulse {
  padding: 0 4px;
  font-size: 10px;
}
.extrafooter .siteby a {
  text-decoration: none;
  color: #ffffff;
  font-weight: 500;
 letter-spacing: 0.3px;
 line-height: unset;
}

.siteby img {
  width: 11px;
  padding-bottom: 2px;
}

.footer_item {
  display: flex;
  justify-content: center;
  padding: 30px 0;
  width: calc((100%/4) - 4px);
  margin: 0 auto;
}

.footer_inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.footer_item h2 {
  font-size: 27px;
  font-weight: 700;
  color: #ffffff;
  font-family: 'League Spartan', sans-serif;
  margin-bottom: 10px;
}

.footer_item a,
.footer_item p {
  padding: 0;
  font-size: 22px;
  color: #ffffff;
  margin: 10px 0;
}

.algemeen a i {
  margin-right: 10px;
}

.footer_inschrijven {
  max-width: 300px;
  line-height: 150%;
}

.footer_inschrijven p {
  font-size: 20px;
  color: white;
}

.footer_inschrijven a {
  background-color: #ffffff;
  color: #000000;
  padding: 12px 30px;
  display: block;
  border-radius: 200px;
  margin: 0;
  margin-top: 15px;
}

.sigholder {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.sigholder p {
  color: #000;
  font-size: 14px;
  margin-bottom: 30px;
}

.signature {
  width: 400px;
  opacity: .8;
  margin-top: 30px;
  margin-bottom: 0;
}

.sigholder div {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  flex-direction: column;
}

.sigholder a {
  color: #ffffff;
  font-size: 18px;
  line-height: 130%;
  text-align: right;
}


.footer_item img {
  width: 170px;
}


.footer_item div span {
  width: 40px;
  height: 20px;
}

.footer_item div span i {
  width: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.footer_item div a {
  color: #ffffff;
  transition: all .3s;
  font-weight: 200;
  border-bottom: 1px solid transparent;
}

.footer_item div a:hover {
  border-bottom: 1px solid white;
}

.socials a {
  background-color: #fff;
  color: #000 !important;
  width: 40px;
  height: 40px;
  margin-right: 10px;
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  border-radius: 50%;
  position: relative;
  overflow: hidden;
  border: 1px solid #fff;
  z-index: 1;
}

.socials a i {
  position: relative;
  color: #262626;
  transition: .5s;
  z-index: 3;
}

.socials a:hover i {
  color: #fff;
  transform: rotateY(360deg);
}

.socials a:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 100%;
  background: #252525;
  transition: .5s;
  z-index: 2;
}

.socials a:hover:before {
  top: 0;
  background: #252525;
}

.socials div {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.siteby .pulse,
.menuholder .pulse {
  animation: pulse 4s infinite;
}


@keyframes pulse {
  0% {
    color: #fff;
  }

  5% {
    color: #3f6a45;
  }
  10% {
    color: #fff;
  }
  20% {
    color: #3f6a45;
  }
  25% {
    color: #fff;
  }

  50% {
    color: #3f6a45;
  }

  100% {
    color: #3f6a45;
  }
}

.betaalwijzes {
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
}

.betaalwijzes img {
  width: 25px;
  margin: 0 5px;
  opacity: .6;
}

.uptop.glamping-style {
    position: fixed;
    bottom: 30px;
    right: -100px; /* Start verborgen */
    width: 50px;
    height: 50px;
    cursor: pointer;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 999;
}

/* De cirkel lijnen */
.progress-svg {
    position: absolute;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.progress-bg {
    fill: none;
    stroke: rgba(61, 90, 68, 0.1); /* Je merkkleur groen, heel licht */
    stroke-width: 2;
}

.progress-bar {
    fill: none;
    stroke: #3d5a44; /* Je merkkleur groen */
    stroke-width: 2;
    stroke-dasharray: 113.1; /* Omtrek (2 * PI * 18) */
    stroke-dashoffset: 113.1;
    transition: stroke-dashoffset 0.1s linear;
}

/* Het tent icoontje binnenin */
.tent-icon {
    position: relative;
    width: 16px;
    height: 12px;
    margin-top: -2px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.tent-icon img {
  width: 20px;
}

/* Hover effect */
.uptop.glamping-style:hover {
    transform: translateY(-5px);
}


  /* Keyframes voor naadloze scroll */
  @keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); } /* halve breedte, omdat we de content dupliceren */
  }

/* Tickertape en instagram */

   .marquee-container {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    box-sizing: border-box;
    padding: 60px 0;
  }

  .marquee-content {
    display: inline-flex;
    gap: 50px;
    font-size: 7rem;
    font-weight: bold;
    animation: scroll 50s linear infinite; 
  }

  .marquee-item {
    display: flex;
    align-items: center; 
    gap: 50px; 

  }

.glamping-icon {
  position: relative;
  display: inline-block;
  font-size: 25px; /* Size of the icon */
  color: #3f6a45; /* Nature green */
}

.glamping-icon .leaf {
  position: absolute;
  top: -4px;             /* Adjusted for smaller size */
  right: -4px;           /* Adjusted for smaller size */
  font-size: 9px;        /* Proportional leaf size */
  color: #3f6a45;        /* Softer leaf color */
}

.powertitel {
  width: 85%;
  margin: 50px auto;
}

.powertitel h2 {
  font-size: 80px;
  color: #e9e9e9;
  font-family: 'League Spartan';
  line-height: 120%;
}

.powertitel h2 a {
  font-weight: 700;
  color: #3f6a45;
  text-decoration: none;
}

.powertitel h2 strong {
  font-weight: 600;
  color: #3f6a45;

}

/* Instagram */

/* Container */
.instagram_feed {
  width: 100%;
  max-width: 1200px;
  margin: 0px auto;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 40px 20px;
  /* We zorgen dat de container hoog genoeg is voor de uitschieters */

  gap: 10px;
}

.instagram_feed .instagram_post {
  flex: 0 0 280px;
  aspect-ratio: 1 / 1;
  position: relative;
  
  /* Verander contain naar cover */
  background-size: cover; 
  background-position: center;
  background-repeat: no-repeat; /* Voeg deze voor de zekerheid toe */
  
  transition: all 0.4s ease;
  box-shadow: 0 15px 50px rgba(0,0,0,0.2);
  overflow: hidden;
  cursor: pointer;
  z-index: 1;
}


/* Hover Effect: De foto 'popt' eruit */
.instagram_feed .instagram_post:hover {
  transform: scale(1.15);
  z-index: 10; /* Komt boven alles te staan */
  box-shadow: 0 30px 70px rgba(0,0,0,0.3);
  border-color: #ffffff;
}

/* Overlay & Icoon */
.instagram_feed .instagram_post .overlay {
  position: absolute;
  inset: 0;
  background: rgba(63, 106, 69, 0.2); /* Subtiele groene waas */
  opacity: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.4s ease;
}

.instagram_feed .instagram_post:hover .overlay {
  opacity: 1;
}

.instagram_feed .instagram_post i {
  color: white;
  font-size: 40px;
  filter: drop-shadow(0 2px 10px rgba(0,0,0,0.3));
}

.videoInstagram {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Dit is de 'background-size: cover' voor video/img tags */
  display: block;
}

/* Mobiel: we zetten ze weer iets rechter maar behouden de stapel */
@media screen and (max-width: 768px) {
  .instagram_feed {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2 kolommen */
    gap: 15px; /* Ruimte tussen de foto's */
    width: 90%;
    margin: 40px auto;
    min-height: auto;
    padding: 0;
  }
  
  .instagram_feed .instagram_post {
    flex: none; /* Zet flex uit voor grid */
    width: 100%; /* Vul de grid kolom */
    margin: 0 !important; /* Reset de overlap volledig */
    transform: none !important; /* Zet de rotaties uit (alles recht) */
    border-width: 8px; /* Iets dunnere witte rand voor mobiel */
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
  }

  /* We tonen de eerste 4 foto's in de 2x2 grid */
  .instagram_feed .instagram_post:nth-child(1),
  .instagram_feed .instagram_post:nth-child(2),
  .instagram_feed .instagram_post:nth-child(3),
  .instagram_feed .instagram_post:nth-child(4) {
    display: block;
    z-index: 1;
  }

  /* Foto 5 en 6 verbergen op mobiel */
  .instagram_feed .instagram_post:nth-child(5),
  .instagram_feed .instagram_post:nth-child(6) {
    display: none;
  }

  /* Overlay op mobiel: Iets meer zichtbaar aangezien er geen hover is */
  .instagram_feed .instagram_post .overlay {
    opacity: 1;
    background: rgba(0, 0, 0, 0.1); /* Heel licht laagje zodat het icoon zichtbaar is */
  }
  
  .instagram_feed .instagram_post i {
    font-size: 24px; /* Kleiner icoontje in de hoek of midden */
    opacity: 0.8;
  }

  /* Feedback als iemand de foto echt aantikt */
  .instagram_feed .instagram_post:active {
    transform: scale(0.95) !important;
    transition: 0.1s;
  }
}
/*= Einde Footer =*/

/*= Team homepage =*/

:root {
    --green: #3f6a45;
    --text-width: 450px;      /* Breedte van tekstgedeelte */
    --photo-size: 400px;      /* De werkelijke grootte van de foto in de slider */
    --window-size: 380px;     /* Het 'gat' is KLEINER dan de foto (overlap) */
    --frame-padding: 35px;    /* Dikte van de groene randen */
    --frame-height: calc(var(--window-size) + (var(--frame-padding) * 2));
}

.team {
    padding: 100px 0;
    overflow: hidden;
}

.team_container {
    
    margin: 0 auto;
    position: relative;
}

/* HET VASTE KADER */
.main-highlight-frame {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    z-index: 10;
    pointer-events: none;
    height: var(--frame-height);
    max-width: 100%;
}

.frame-text-side {
    width: var(--text-width);
    background-color: var(--green);
    padding: 60px;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}

.frame-text-side h3 { font-size: 32px; font-weight: 700; margin: 0; }
.frame-text-side h4 { font-size: 15px; text-transform: uppercase; margin: 8px 0 20px; opacity: 0.8; }
.frame-text-side #active-intro { font-size: 17px; line-height: 1.6; }

/* Rechterzijde: Het 'Gat' */
.frame-photo-window {
    /* We maken het venster exact passend */
    width: calc(var(--window-size) + var(--frame-padding)); 
    height: var(--frame-height);
    
    /* Belangrijk: border-left toegevoegd om de naad met het tekstblok te dichten */
    border-top: var(--frame-padding) solid var(--green);
    border-bottom: var(--frame-padding) solid var(--green);
    border-right: var(--frame-padding) solid var(--green);
    border-left: 10px solid var(--green); /* Extra overlap over de linker kant van de foto */
    
    background-color: transparent;
    box-sizing: border-box;
    margin-left: -1px; /* Zorgt dat er geen pixel-naad tussen tekst en window zit */
}

/* DE SLIDER */
.team_slider {
    /* We schuiven de slider iets onder het groene tekstblok voor overlap */
    padding-left: calc(var(--text-width) - 10px); 
    padding-top: var(--frame-padding);
    z-index: 1;
}

/* Slick forceert soms padding, dit halen we weg */
.team_slider .slick-slide {
    padding: 0 !important;
    margin: 0 !important;
}

.team-member {
    width: var(--photo-size) !important;
    margin-right: 40px; /* Ruimte tussen de foto's */
    outline: none;
}

.team-member-image {
    width: var(--photo-size);
    height: var(--photo-size);
    border-radius: 20px;
    overflow: hidden;
}

.team-member-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

/* Zoom effect */
.team_slider .slick-current img {
    transform: scale(1.1);
    border: 1px solid #fff;
}

.team_slider .slick-current .team-member-image {
    border-radius: 0;
}

/* SVG Hover effect */
.border-svg {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 100%;
}


/* NAVIGATIE */
/* Container styling */
.team-navigation {
    margin-top: 60px;
    width: 100%;
    display: flex;
    justify-content: center;
    padding-left: 0; /* Gecentreerd oogt vaak rustiger */
}

.nav-inner {
    display: flex;
    align-items: center;
    gap: 40px;
    user-select: none;
}

/* De knoppen */
.nav-btn {
    background: none;
    border: none;
    color: var(--green);
    font-size: 18px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 10px;
    transition: all 0.3s ease;
    position: relative;
}

/* Het lijntje dat verschijnt bij de pijltjes */
.nav-line {
    width: 0;
    height: 1px;
    background-color: var(--green);
    transition: width 0.3s ease;
}

.nav-btn:hover .nav-line {
    width: 30px; /* Het lijntje groeit bij hover */
}

.nav-btn:hover {
    letter-spacing: 2px; /* Subtiele beweging */
}

/* De progress bar en nummers */
.nav-progress-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
    font-family: sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: var(--green);
    letter-spacing: 1px;
}

.nav-bar {
    width: 150px;
    height: 2px;
    background: rgba(63, 106, 69, 0.2); /* Lichtgroene achtergrondlijn */
    position: relative;
    border-radius: 2px;
    overflow: hidden;
}

.nav-bar-fill {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: var(--green);
    transition: width 0.6s cubic-bezier(0.7, 0, 0.3, 1);
}

/* Nummers styling */
.current-num, .total-num {
    min-width: 20px;
}


/*=== Curtaindrop ===*/

.curtain-click {
  cursor: pointer;
}

.curtaindrop {
  width: 100%;
  z-index: 10000;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  display: none;
  position: fixed;
}

.curtaindrop>div {
  display: block;
  width: 100%;
  height: 100%;
  z-index: 1;
  position: relative;
  background-color: rgba(58, 58, 58, .67);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.dark_ove {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 20;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,.3);
}

.curtaindrop>div>div:last-child {
  position: absolute;
  left: 50%;
  width: 95%;
  max-width: 800px;
  color: #fff;
  z-index: 21;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  -ms-transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  -moz-transform: translateY(-50%) translateX(-50%);
  -o-transform: translateY(-50%) translateX(-50%);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.curtaindrop .button {
  display: inline-block;
  background: #000;
  color: #fff;
  border-radius: 200px;
  font-weight: 200;
  font-size: 22px;
  padding: 15px 50px;
  transition: all .2s;
  margin-top: 15px;
  transition: all .3s;
}

.curtaindrop .button:hover {
  transform: scale(1.05);
}

.curtaindrop p {
  font-size: 30px;
  line-height: 170%;
  font-weight: 200;
  text-align: center;
}

.curtaindrop img {
  max-width: 1000px;
  width: 96%;
}

.curtaindrop h2 {
  font-weight: bold;
  font-size: 65px;
  text-align: center;
  width: 100%;
  font-family: "League Spartan";
  margin-bottom: 20px;
  line-height: 120%;
}

.curtaindrop>span {
  position: absolute;
  left: -123px;
  top: 0;
  display: block;
  width: 0;
  height: 0;
  border-right: 18px solid transparent;
  border-top: 34px solid #92C020;
  border-left: 18px solid transparent;
}

.curtaindrop>span>i {
  font-style: normal;
  position: absolute;
  right: 20px;
  cursor: pointer;
  color: #92c020;
  width: 300px;
  overflow: hidden;
  top: -34px;
  display: block;
  height: 34px;
  line-height: 34px;
  text-align: right;
}

.curtaindrop>span:before {
  position: absolute;
  top: -38px;
  cursor: pointer;
  left: -17px;
  height: 34px;
  line-height: 34px;
  color: #fff;
  font-weight: bold;
  font-size: 25px;
  width: 36px;
  display: block;
  text-align: center;
  content: '!';
}

.curtain-close {
  position: absolute;
  right: 40px;
  top: 30px;
  font-size: 60px;
  cursor: pointer;
  color: white;
  z-index: 22;
}

/* Einde Curtaindrop */


/* Animaties */

.come-in {
  transform: translateY(150px);
  opacity: 0;
  animation: come-in 0.8s ease forwards;
}
.come-in:nth-child(odd) {
  animation-duration: 2s; /* So they look staggered */
}

@keyframes come-in {
  to { transform: translateY(0);opacity: 1; }
}

@media screen and (min-width: 800px) {

  .come-in-left {
    transform: translateX(-300px);
    opacity: 0;
    animation: come-in-left 0.8s ease forwards;
  }
  .come-in-left:nth-child(odd) {
    animation-duration: 2s; /* So they look staggered */
  }
}

@keyframes come-in-left {
  to { transform: translateX(0);opacity: 1; }
}
@media screen and (min-width: 800px) {
  .come-in-right {
    transform: translateX(300px);
    opacity: 0;
    animation: come-in-right 0.8s ease forwards;
  }
  .come-in-right:nth-child(odd) {
    animation-duration: 2s; /* So they look staggered */
  }
}
@keyframes come-in-right {
  to { transform: translateX(0);opacity: 1; }
}

/*= Einde Animaties =*/


/*=== Page Header ===*/

.page_header {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding: 60px 10px;
}

.page_header img {
  width: 100%;
  max-width: 40px;
  margin-bottom: 60px;
}

.page_header h1 {
  font-size: 40px;
  margin-bottom: 20px;
  color: #353535;
  margin-bottom: 20px;
  text-align: center;
  font-weight: 600;
  font-family: 'League Spartan', sans-serif;
}

.page_header h2 {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: 14px;
  margin-bottom: 20px; 
  color: #000;
}

.page_header > div {
  font-size: 24px;
  font-weight: 200;
  color: #353535;
  text-align: center;
  line-height: 170%;
}

.page_header > div a {
  color: #000;
  font-weight: 700;
  text-decoration: none;
}

.page_header > a {
  font-size: 17px;
  border-radius: 50px;
  margin-top: 20px;
  display: inline-block;
  color: #ffffff;
  padding: 15px 30px;
  background-color: #000035;
}
/* Einde Page Header */


/*=== Home Slider ===*/


.homesli {
   width: 100%;
    max-width: 2000px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    background-color: #ffffff; /* Cruciaal: de basis van de sectie is wit */
}

.homesli {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.reveal-container {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1; /* Video ligt onder de witte rand */
    background-color: #ffffff; /* Zorgt dat de container zelf ook wit start */
    clip-path: circle(0px at 0% 0%); /* Start als een onzichtbaar punt linksboven */
    transition: clip-path 2.5s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: clip-path;
}

.reveal-container.is-visible {
    clip-path: circle(150% at 0% 0%);
}

/* Optioneel: Laat de video heel traag inzoomen terwijl hij onthuld wordt voor extra luxe */
.home_video video, .home_slider {
    transform: scale(1.1);
    transition: transform 3s ease-out;
}

.is-visible .home_video video, .is-visible .home_slider {
    transform: scale(1);
}

.homesli > img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100px;
  display: none;
}


.home_slider {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.home_slider article {
  position: relative;
  height: 90vh;
}

.home_slider article div {
  position: absolute;
  left: 20%;
  bottom: 10%;
  max-width: 1500px;
  width: 100%;
  z-index: 2;
  transform: translate(-20%,-20%);
}

.home_slider article div h2 {
  font-size: 50px;
  font-weight: 500;
  max-width: 800px;
  color: #fff;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.27);
  font-family: 'League Spartan', sans-serif;
  line-height: 140%;
}

.home_slider article div a {
  color: #3f6a45;
  background-color: #fff;
  padding: 12px 30px;
  font-size: 23px;
  font-family: 'League Spartan', sans-serif;
  display: inline-block;
  margin-top: 20px;
  border-radius: 200px;
  transition: all .3s ease;
  font-weight: 500;
  position: relative;
  overflow: hidden;
  z-index: 1; /* add this */

}

.home_slider article div a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #3f6a45;
  transition: width 0.5s ease;
  z-index: -1;
  border-radius: 200px;
}

.home_slider article div a:hover::after {
  width: 100%;
}

.home_slider article div a:hover {
  color: white;
}



.home_slider .slick-dots {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 0;
}

.home_slider .slick-dots li button {
  display: none;
}

.home_slider .slick-dots li {
  width: 12px;
  height: 12px;
  border-radius: 200px;
  margin: 0 2px;
  border: 1px solid #000000;
}

.home_slider .slick-dots li.slick-active {
  background-color: #000000;
}

.home_slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.home_ovelay {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 50;
  background-color: #fff;
}

.home_ovelay .slider .slick-arrow {
  position: absolute;
  right: 60px;
  bottom: 60px;
  z-index: 3;
  width: 40px;
  height: 40px;
  border: 1px solid white;
  color: white;
  background-color: transparent;
  transition: all .3s;
}

.home_ovelay .slider .slick-arrow:hover {
  background-color: white;
  color: #252525;
}

.home_ovelay .slider .slick-prev {
  right: 120px;
}

.home_ovelay article {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.home_ovelay article > div {
  width: 100%;
  height: 100vh;
  position: relative;  
}

.home_ovelay article .over {
  background-color: rgba(0,0,0,.5);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.home_ovelay article > div .content {
  position: absolute;
  left: 80px;
  bottom: 80px;
  max-width: 1000px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  z-index: 2;
}

.home_ovelay article > div .content h2 {
  font-size: 90px;
  line-height: 120%;
  text-align: left;
  color: #fff;
}

.home_ovelay article .home_overlay_btn {
  border-bottom: 2px solid #fff;
  color: #fff;
  padding: 20px 0;
  font-size: 30px;
  font-weight: 700;
  margin-top: 50px;
  cursor: pointer;
}

/* Video effecten tijdens onthulling */

.is-visible .home_video video {
    transform: scale(1) rotate(0deg);
    opacity: 1; /* Video wordt zichtbaar zodra onthuld */
}

.home_video article {
    height: 90vh; /* Je gewenste hoogte */
    overflow: hidden;
    background-color: #ffffff; /* Voorkomt zwarte 'flash' bij laden */
}

.home_video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    opacity: 0; /* Start onzichtbaar voor een extra fade-in effect */
    transition: opacity 1s ease;
}
/* De Grillige Rand */
.shape-divider {
    position: absolute;
    bottom: -2px; /* Ietsje lager om witte kiertjes op te vangen */
    left: 0;
    width: 100%;
    line-height: 0;
    z-index: 10; /* ALTIJD bovenop de onthulling */
    pointer-events: none;
}

.shape-divider svg {
    display: block;
    width: 100%;
    height: 120px; /* Pas hier de 'grilligheid' hoogte aan */
    fill: #ffffff; /* MOET wit zijn om met de rest van de pagina te blenden */
}

/* Voor extra 'grilligheid' op heel brede schermen */
@media (min-width: 1500px) {
    .shape-divider svg {
        height: 180px; 
    }
}
/* Einde Home Slider */

/*=== Home Banner ===*/

.home_banner {
  width: 100%;
  height: 90vh;
  position: relative;
  /* background-attachment: fixed; */ /* Note: Fixed background sometimes causes z-index glitches on mobile */
  background-size: cover;
  background-position: center;
}


.dark_overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0,0,0,.3);
  z-index: 1;
}

.home_banner .content {
  position: absolute;
  left: 50%;
  top: 60%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 2;
}

.home_banner .content h2 {
  color: white;
  font-weight: 400;
  text-align: center;
  font-size: 65px;
  line-height: 130%;
  font-family: 'League Spartan', sans-serif;
}

.home_banner .content a {
  color: #3f6a45;
  background-color: #fff;
  padding: 12px 30px;
  font-size: 23px;
  font-family: 'League Spartan', sans-serif;
  display: inline-block;
  margin-top: 20px;
  border-radius: 200px;
  transition: all .3s ease;
  font-weight: 500;
  position: relative;
  overflow: hidden;
  z-index: 1; /* add this */

}

.home_banner .content a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #3f6a45;
  transition: width 0.5s ease;
  z-index: -1;
  border-radius: 200px;
}

.home_banner .content a:hover::after {
  width: 100%;
}

.home_banner .content a:hover {
  color: white;
}


/* Einde Home Banner */

/* Sfeerbeelden*/

.sfeerbeelden {
  width: 100%;
  max-width: 1700px;
  margin: 0 auto;
}

.sfeerbeelden article {
  width: 25%;
  padding: 10px;
  transition: all 1s;
}

.sfeerbeelden article img {
  width: 100%;
  transition: all 1s;
  -webkit-box-shadow: 0px 0px 22px 0px rgba(82,82,82,0);
  -moz-box-shadow: 0px 0px 22px 0px rgba(82,82,82,0);
  box-shadow: 0px 0px 22px 0px rgba(82,82,82,0);
}

.sfeerbeelden article:hover {
  transform: scale(1.05);
}

.sfeerbeelden article:hover img {
  cursor: zoom-in;
  -webkit-box-shadow: 0px 0px 22px 0px rgba(82,82,82,0.15);
  -moz-box-shadow: 0px 0px 22px 0px rgba(82,82,82,0.15);
  box-shadow: 0px 0px 22px 0px rgba(82,82,82,0.15);
}

/* Vragen */

.vragensplit {
  padding: 0px 10px;
}

.vragensplit>div {
  display: flex;
  justify-content: space-between;
  -ms-align-items: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  max-width: 1400px;
  margin: 0 auto;
  width: 100%;
}

.vragen {
  width: 68%;
}

.vragen article {
  border: #f6f6f6 2px solid;
  background-color: white;
  padding: 25px;
  margin-bottom: 10px;
}

.vragen article h2 {
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  -ms-align-items: center;
  font-size: 24px;
  color: #000;
  align-items: center;
  line-height: 170%;
  cursor: pointer;
  font-family: 'League Spartan', sans-serif;
}

.vragen article h2 i {
  transition: all .3s;
  width: 35px;
  height: 35px;
  min-width: 35px;
  max-height: 35px;
  border-radius: 200px;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  border: #000 1px solid;
}

.arrowUp i {
  transform: rotate(180deg);
  background-color: #000;
  color: #fff !important;
}

.vragen article div {
  margin-top: 20px;
  color: #353535;
  line-height: 180%;
  font-size: 22px;
  font-weight: 200;
}

.vragen article div ul {
  list-style-type: disc;
  padding-left: 20px;
}

.vragen article div a {
  color: #5C9090;
  font-weight: 600;
}

.vragen_form {
  padding: 25px;
  background-color: white;
  border: #f6f6f6 2px solid;
  width: 30%;
}

.vragen_form h2 {
  font-weight: 600;
  font-size: 22px;
  font-family: 'League Spartan', sans-serif;
  margin-bottom: 30px;
  color: #000;
}

.vragen_form .field {
  position: relative;
}

.vragen_form .field label {
  position: absolute;
  left: 10px;
  top: 16px;
  font-size: 20px;
  z-index: 0;
  font-weight: 200;
  margin-bottom: 5px;
  font-family: 'League Spartan', sans-serif;
  display: inline-block;
}

.vragen_form .field.floatlabel label {
  top: -5px;
  padding: 0 5px;
  background-color: #fff;
  font-size: 15px;
}


#PL_privacy {
  margin-bottom: 25px;
}

.vragen_form input[type=text], .vragen_form input[type=email], .vragen_form textarea {
  padding: 10px;
  padding-top: 12px;
  padding-bottom: 8px;
  font-family: 'League Spartan', sans-serif;
  color: #353535;
  background-color: transparent;
  border: #d6d6d6 1px solid;
  width: 100%;
  height: 50px;
  display: flex;
  -ms-align-items: center;
  align-items: center;
  font-size: 20px;
  margin-bottom: 20px;
}

.vragen_form textarea {
  height: 100px;
}

.vragen_form input[type=submit] {
  border: none;
  font-family: 'League Spartan', sans-serif;
  font-weight: 400;
  font-size: 18px;
  background-color: #000;
  border: 1px solid #000;
  color: #fff;
  padding: 15px 35px;
  width: 100%;
  transition: all .3s;
}

.vragen_form input[type=submit]:hover {
  background-color: transparent;
}

/* Einde Vragen */

/* Beleving blokken */

.ak_blokken {
    width: 100%;
    max-width: 1100px; /* Iets breder voor meer witruimte */
    display: grid;
    grid-template-columns: 1fr 1fr; /* Netjes 2 aan 2 */
    column-gap: 100px;
    row-gap: 60px;
    margin: 80px auto;
    padding: 0 20px;
}

.ak_blokken article {
    opacity: 0; /* Start onzichtbaar voor de animatie */
    transform: translateY(30px); /* Start iets lager */
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* Wanneer het blok in beeld komt (via JS) */
.ak_blokken article.reveal {
    opacity: 1;
    transform: translateY(0);
}

.ak_blokken article h2 {
    color: #3f6a45; /* De gevraagde groene kleur */
    font-size: 1.6rem; /* Grotere titel */
    font-weight: 700;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 15px;
    letter-spacing: -0.02em;
}

.ak_blokken article h2 i {
    background: rgba(63, 106, 69, 0.1);
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.ak_blokken article div {
    font-size: 1.3rem; /* Tekst groter en leesbaarder */
    line-height: 1.7; /* Meer witruimte tussen de regels voor luxe uitstraling */
    color: #4a4a4a;
    font-weight: 300;
}

/* Subtiel hover effect: de icoontjes bewegen een klein beetje */
.ak_blokken article:hover h2 i {
    transform: scale(1.2);
    transition: transform 0.3s ease;
    color: #3f6a45;
}

/* Mobiel: terug naar 1 kolom */
@media (max-width: 768px) {
    .ak_blokken {
        grid-template-columns: 1fr;
        gap: 40px;
        margin-top: 30px;
    }
    .ak_blokken article {
        transform: translateY(20px); /* Iets minder beweging op mobiel */
    }
    .ak_blokken article div {
        font-size: 1.1rem; /* Iets kleinere tekst op mobiel */
    }
    .ak_blokken article h2 {
      font-size: 1.4rem; /* Grotere titel */
    }
    .ak_blokken article h2 i {
        width: 35px;
        height: 35px;
        padding: 8px;
        font-size: 16px;
    }
    
}

/* Personas */



/*= Blokken =*/

.blokken {
  width: 100%;
  max-width: 1700px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  background-color: white;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 80px;
}

.blokken article {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
}

.blokken article:nth-of-type(even) > div {
  order: 1;
}

.blokken article:nth-of-type(even) > img {
  order: 2;
}

.blokken article:nth-of-type(even) > .imageslide {
  order: 2;
}


.blokken article > div {
  width: 45%;
  padding: 20px 50px;
}

.blokken article > div > a {
  color: #3f6a45;
  background-color: transparent;
  padding: 12px 30px;
  font-size: 23px;
  font-family: 'League Spartan', sans-serif;
  display: inline-block;
  margin-top: 20px;
  border-radius: 200px;
  transition: all .3s ease;
  font-weight: 500;
  position: relative;
  overflow: hidden;
  z-index: 1; /* add this */
  border: 1px solid #3f6a45;
}

.blokken article > div > a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #3f6a45;
  transition: width 0.5s ease;
  z-index: -1;
  border-radius: 200px;
}

.blokken article > div > a:hover::after {
  width: 100%;
}

.blokken article > div > a:hover {
  color: #fff;
}


.blokken article > div div {
  font-size: 25px;
  font-weight: 200;
  color: #353535;
  line-height: 170%;
}

.blokken article > div ul {
  padding-left: 10px;
  list-style-type: disc;
}

.blokken article > div h2 {
  font-size: 30px;
  margin-bottom: 20px;
  font-family: 'League Spartan', sans-serif;
  color: #353535;
  line-height: 130%;
  font-weight: 700;
}

.blokken article > div h3 {
    display: block;
    color: #3f6a45;
    text-transform: uppercase;
    letter-spacing: 3px;
    font-size: 0.8rem;
    font-weight: 700;
    margin-bottom: 15px;
}

.blokken article > div div a {
  color: #000035;
  font-weight: 700;
}

.blokken article > img {
  width: 50%;
}
.blokken article > .imageslide {
  overflow: hidden;
  width: 50%;
}
.blokken article > img.moduleleft,
.blokken article > .imageslide.moduleleft img {
  border-bottom-right-radius: 60px;
}

.blokken article > img.moduleright,
.blokken article > .imageslide.moduleright img{
  border-bottom-left-radius: 60px;
}

.blokken article .imageslide {
  width: 50%;
  padding: 0 !important;
}

.blokken article .imageslide img {
  width: 100%;
}

.blokken article .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  
  width: 48px;
  height: 48px;
  border-radius: 50%;
left: 60px;
  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff;
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);

  transition: all 0.3s ease;
  z-index: 2;
}

.blokken article .slick-arrow:hover {
  background: rgba(255, 255, 255, 0.25);
  transform: translateY(-50%) scale(1.08);
}

.slick-arrow:before {
  font-size: 20px;
  opacity: 1;
}

.blokken article:nth-of-type(odd) .slick-prev {
  left: 10px;
}

.blokken article:nth-of-type(even) .slick-arrow {
  left: unset;
  right: 10px;
}

.blokken article:nth-of-type(even) .slick-prev {
  left: unset;
  right: 60px;
}

/*== Einde Blokken ==*/

/* Disclaimer */

.disclaimer {
  width: 95%;
  max-width: 1000px;
  margin: 0 auto;
  margin-bottom: 40px;
  padding: 30px 10px;
  font-size: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000035;
  font-weight: 200;
  border: #000035 2px dashed;
}

/* grijze ak */

.grijze_ak {
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  margin-top: 40px;
  padding-bottom: 10px;
  position: relative;
  background-color: #d7e2e0;
  background-position: center;
}

.grijze_ak>h2 {
  position: absolute;
  top: 0;
  left: 49%;
  transform: translate(-50%, -50%);
  max-width: 1070px;
  width: 100%;
  font-size: 180px;
  font-weight: 700;
  color: #353535;
  letter-spacing: 1px;
}

.aks {
  width: 100%;
  max-width: 1400px;
  padding: 20px;
  position: relative;
  padding-bottom: 20px;
  transform: translateY(-70px);
}

.aks .slick-arrow {
  position: absolute;
  left: 47%;
  bottom: 5px;
  background-color: transparent;
  border-radius: 40px;
  width: 35px;
  height: 35px;
  border: none;
  color: #000;
  z-index: 2;
}

.aks .slick-next {
  left: 50%;
}

.aks .slick-dots {
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  flex-wrap: wrap;
  padding-top: 30px;
  width: 50%;
  margin-left: 50%;
}

.aks .slick-dots li {
  width: 10px;
  height: 10px;
  border-radius: 200px;
  border: 1px solid #000;
  background-color: transparent;
  margin: 0 5px;
  cursor: pointer;
}

.aks .slick-dots li button {
  display: none;
}

.aks .slick-dots .slick-active {
  background-color: #000;
}

.grijze_ak_content {
  width: 100%;
  display: flex;
  justify-content: space-between;
  -ms-align-items: center;
  align-items: center;
}

.grijze_ak_content .fotos {
  width: 50% !important;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}

.grijze_ak_content .fotos .photo {
  width: 48%;
  margin: 1%;
  position: relative;
}

.grijze_ak_content .fotos .photo a {
  position: absolute;
  margin-top: 0;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 2;
  background-color: transparent;
}

.grijze_ak_content .fotos .photo .overlay {
  background-color: rgba(0, 0, 0, .7);
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 35px !important;
  opacity: 0;
  transition: all .3s;
}


.grijze_ak_content .fotos .photo:hover .overlay {
  opacity: 1;
}

.grijze_ak_content .fotos .photo img {
  width: 100%;
}

.grijze_ak_content>div {
  width: 45%;
}

.grijze_ak_content img {
  width: 50%;
}

.grijze_ak_content>div h2 {
  font-size: 35px;
  color: #353535;
  line-height: 150%;
  font-weight: 700;
  font-family: 'League Spartan', sans-serif;
  margin-bottom: 20px;
}

.grijze_ak_content>div div {
  line-height: 150%;
  font-weight: 200;
  color: #353535;
  font-size: 25px;
}

.grijze_ak_content>div a {
  color: #353535;
  background-color: transparent;
  border-bottom: 1px solid #353535;
  padding: 10px 0;
  font-family: 'League Spartan', sans-serif;
  transition: all .3s;
  display: inline-block;
  margin-top: 20px;
  font-size: 22px;
}

/* Cookie Melding */
.PL_Wrapper {
  position: fixed;
  left: 10px;
  bottom: 10px;
  background-color: white;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  z-index: 100;
  padding: 25px;
  transition: all .8s;
  -webkit-box-shadow: 0px 2px 22px 0px rgba(61,61,61,0.41);
  -moz-box-shadow: 0px 2px 22px 0px rgba(61,61,61,0.41);
  box-shadow: 0px 2px 22px 0px rgba(61,61,61,0.41);
  border-radius: 6px;
}

.PL_Wrapper h2 {
  color: #353535;
  font-size: 28px;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  -ms-align-items: center;
  font-weight: 600;
}

.PL_Wrapper h2 img {
  width: 100%;
  max-width: 30px;
  margin-left: 10px;
}
.PL_Wrapper p {
  max-width: 500px;
  color: #353535;
  font-size: 20px;
  margin-bottom: 20px;
  text-align: justify;
  line-height: 120%;
  font-weight: 200;
}

.PL_Buttons {
  display: flex;
  justify-content: flex-end;
  -ms-align-items: center;
  align-items: center;
  width: 100%;
  gap: 10px;
}

.PL_Buttons a {
  padding: 15px;
  background-color: #272220;
  border: 1px solid #000;
  color: #fff;
  width: auto;
  cursor: pointer;
  text-align: center;
  transition: all .3s;
  font-size:20px;
  font-family: 'League Spartan', sans-serif;
  border-radius: 6px;
  transition: all 0.8s ease;
}

.PL_Buttons a:last-of-type {
  background-color: #f9f9f9;
  color: #272220;
  border: 1px solid #f2f2f2;
}


/* Einde Cookie Melding */

/* Home Locaties */

.home_locaties {
  position: relative;
  overflow: hidden;
}

.home_locaties .wrapper {
  width: 100%;
  max-width: 1624px;
  margin: 0 auto;
  padding: 0 16px;
}

.home_locaties .container {
  position: relative;
  z-index: 2;
}

/* ===== SECTION ===== */

/* Container */
.nuttige_info {
  width: 100%;
  padding: 0;
  overflow: visible;
  background: #3f6a45; 

}

/* De sectie zelf */
.meerinfo {
  /* We zetten de eerste 100px op een VASTE kleur, geen gradient. Dit stopt de naad. */
  background: #3f6a45; 
  
  padding: 60px 0 120px;
  padding-top: 0;
  position: relative;
  margin-top: 80px;

  /* FORCEER ZICHTBAARHEID: Dit schakelt externe animatie-scripts uit voor deze div */
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  transition: none !important;
}

/* De Wave Divider */
.wave-divider {
  position: absolute;
  top: -95px; /* De wave is 120px hoog, we laten hem 25px in het groen vallen */
  left: 0;
  width: 100%;
  height: 120px;
  line-height: 0;
  z-index: 10;
  pointer-events: none;
  /* Voorkom dat de wave meedoet aan animaties */
  opacity: 1 !important;
  visibility: visible !important;
}

.wave-divider svg {
  display: block;
  width: 100%;
  height: 100%;
  fill: #3f6a45; /* Moet exact gelijk zijn aan de start van je groen */
}

/* FORCEER TITEL EN CONTENT ZICHTBAARHEID */
.force-visible {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  display: block !important;
}

.nuttige_info h1 {
  color: #ffffff;
}

.nuttige_info .info-content {
  color: #ffffff;
}

.nuttige_info .container {
  width: 90%;
  margin: auto;
  display: flex !important; /* Forceer flex terug als script het op none zet */
  flex-wrap: wrap;
  gap: 24px;
  position: relative;
  z-index: 20;
}


/* De glow lager zetten zodat deze de naad niet verlicht */
.meerinfo::after {
  content: "";
  position: relative;
  inset: 100px 0 0 0;
  background: #3f6a45; 
  pointer-events: none;
  z-index: 1;
}
/* ===== TITLE ===== */

.nuttige_info h2 {
  font-size: 34px;
  font-family: 'League Spartan', sans-serif;
  color: #ffffff;
  text-align: center;
  margin-bottom: 50px;
  letter-spacing: 0.5px;
}

/* ===== CONTAINER ===== */

.nuttige_info .container {
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  position: relative;
  z-index: 2;
  max-width: 1624px;
}

/* ===== CARDS ===== */

.kleinkader article {
  width: calc((100% - 24px * 3) / 4);
  border-radius: 20px;
  padding: 26px;
  background: #ffffff;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hover = luxe lift */
.kleinkader article:hover {
  transform: translateY(-8px);
  box-shadow:
    0 30px 60px rgba(0,0,0,0.25),
    0 10px 25px rgba(0,0,0,0.12);
}

/* Open state */
.kleinkader article.is-open {
  background: #ffffff;
  box-shadow:
    0 30px 70px rgba(0,0,0,0.25);
}

/* ===== CONTENT ===== */

.kleinkader article > div {
  font-size: 15.5px;
  line-height: 1.7;
  color: #5a5a5a;
}

/* ===== TITELS IN CARDS ===== */

.nuttige_info h3 {
  font-size: 18px;
  font-weight: 600;
  color: #2f5235;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
}

/* Icon = premium badge */
.nuttige_info h3 i {
  margin-right: 12px;

  width: 36px;
  height: 36px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;

  background: linear-gradient(135deg, #3f6a45, #2f5235);
  color: #fff;

  font-size: 14px;
}

/* ===== LISTS ===== */

.nuttige_info article ul {
  padding-left: 20px;
  list-style-type: disc;
}

.nuttige_info article ul li {
  margin-bottom: 6px;
}

/* Mobile optimalisatie */
@media (max-width: 1200px) {
  .kleinkader article { width: calc(50% - 12px); }
}

@media (max-width: 768px) {
  .kleinkader article { width: 100%; }
  .wave-divider { height: 40px; top: -39px; }
  .meerinfo { margin-top: 40px; }
}

/* ===== BUTTONS ===== */

.loc-btns {
  position: absolute;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  display: flex;
  gap: 14px;
  z-index: 10;
}

/* Basis knop */
.loc-btns button {
  padding: 14px 26px;
  border-radius: 999px;
  font-family: 'League Spartan', sans-serif;
  font-size: 15px;
  cursor: pointer;
  border: none;
  transition: all 0.3s ease;
}

/* Primary */
.loc-btns .showAll {
  background: #ffffff;
  color: #2f5235;
  font-weight: 600;

  box-shadow: 0 8px 25px rgba(0,0,0,0.25);
}

.loc-btns .showAll:hover {
  transform: translateY(-3px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.35);
}

/* Secondary */
.loc-btns .hideAll {
  background: transparent;
  color: #ffffff;
  border: 1px solid rgba(255,255,255,0.4);
}

.loc-btns .hideAll:hover {
  background: rgba(255,255,255,0.1);
}

/* Icon animatie subtieler */
.loc-btns button i {
  margin-right: 8px;
  transition: transform .3s ease;
}

.loc-btns button:hover i {
  transform: translateX(2px);
}
/* Home Formules */

.formule-intro {
    text-align: center;
    padding: 150px 20px;
}

.formule-intro h3 {
    font-size: 40px;
    margin-bottom: 20px;
    color: #353535;
    margin-bottom: 20px;
    text-align: center;
    font-weight: 600;
    font-family: 'League Spartan', sans-serif;
}

.formule-intro p {
    font-size: 24px;
    font-weight: 200;
    color: #353535;
    text-align: center;
    line-height: 170%;
}

.home_formules {
   position: relative; 
background-color: #f9f8f6;
background-image: 
  linear-gradient(90deg, rgba(224, 221, 213, 0.082) 1px, transparent 1px),
  linear-gradient(rgba(224, 221, 213, 0.082) 1px, transparent 1px);
background-size: 4px 4px; /* Zeer klein voor een textuur-effect */
    min-height: 400px; 
    
    overflow: visible; 
    
    display: flex;
    justify-content: flex-start; 
}


/* ========================= */
/* LINKS - PREMIUM GROEN VLAK */
/* ========================= */
.formules_ov {
    position: absolute;
    
    top: -120px; 
    left: 50px;  
    
    width: 90%;
    max-width: 500px; 
    
    z-index: 10;
    padding: 80px;
    display: flex;
    flex-direction: column;
    
    background: linear-gradient(155deg, #3f5a42 0%, #4d6a50 28%, #607b63 68%, #6f8f72 100%);
    box-shadow: 0 20px 40px rgba(0,0,0,0.2);
}

.formules_ov::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 20%, rgba(255,255,255,0.08), transparent 34%),
        radial-gradient(circle at 82% 85%, rgba(255,255,255,0.04), transparent 28%);
    pointer-events: none;
}

.formules_ov::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 100%;
    background: rgba(255,255,255,0.10);
}

.formules_ov > h2 {
    position: relative;
    z-index: 2;
    margin: 0 0 44px 0;
    font-size: 64px;
    font-weight: 500;
    line-height: 0.95;
    letter-spacing: -0.04em;
    color: #ffffff;
}

.formules_ov ul {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
}

.formules_ov ul li {
    position: relative;
    display: grid;
    grid-template-columns: 52px 1fr 22px;
    align-items: center;
    gap: 18px;
    padding: 18px 6px 18px 0;
    cursor: pointer;
    transition: transform 0.35s ease, opacity 0.35s ease;
    border-bottom: 1px solid rgba(255,255,255,0.08);
}

.formules_ov ul li:last-child {
    border-bottom: none;
}

.formules_ov ul li:hover,
.formules_ov ul .activeFormule {
    transform: translateX(10px);
}

.formules_ov ul li::before {
    content: "";
    position: absolute;
    left: -18px;
    top: 50%;
    width: 0;
    height: 1px;
    background: #ffffff;
    transform: translateY(-50%);
    transition: width 0.35s ease, opacity 0.35s ease;
    opacity: 0;
}

.formules_ov ul li:hover::before,
.formules_ov ul .activeFormule::before {
    width: 12px;
    opacity: 1;
}

.formule_icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255,255,255,0.14);
    background: rgba(255,255,255,0.04);
}

.formules_ov ul li .formule_icon i {
    display: inline-block;
    color: rgba(255,255,255,0.92);
    font-size: 21px;
    transition: transform 0.45s ease, color 0.35s ease, opacity 0.35s ease;
}

.formules_ov ul li:hover .formule_icon i,
.formules_ov ul .activeFormule .formule_icon i {
    transform: translateY(-1px) scale(1.04);
    color: #ffffff;
}

.formules_ov ul li > div:last-of-type {
    color: rgba(255,255,255,0.90);
    font-size: clamp(20px, 1.5vw, 25px);
    font-weight: 300;
    line-height: 1.3;
    min-width: 0;
    transition: color 0.35s ease, letter-spacing 0.35s ease, font-weight 0.35s ease;
}

.formules_ov ul li:hover > div:last-of-type,
.formules_ov ul .activeFormule > div:last-of-type {
    color: #ffffff;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.formules_ov ul li > img {
    display: block;
    width: 16px;
    opacity: 0;
    transform: translateX(-8px);
    transition: opacity 0.35s ease, transform 0.35s ease;
    justify-self: end;
}

.formules_ov ul li:hover > img,
.formules_ov ul .activeFormule > img {
    opacity: 0.95;
    transform: translateX(0);
}

.formules_ov ul .activeFormule > div:last-of-type,
.formules_ov ul li:hover > div:last-of-type {
    margin: 0;
}

/* ========================= */
/* RECHTS - 1 GROOT WIT VLAK */
/* ========================= */
.formules_det {
    position: relative;
    width: 100%;
    padding: 0; 
    display: inline-flex;
    background: transparent;
    margin-left: 550px;
}

.formule-item-wrapper {
    position: relative;
    width: 100%;
    display: flex;
    align-items: flex-start;
    padding: 0;
    padding-left: 0;
    overflow: hidden;
    background: transparent;
}

.formule-content {
    position: relative;
    z-index: 2; 
    max-width: 45%;
      font-weight: 300;
    font-size: clamp(20px, 1.2vw, 21px);
    line-height: 1.95;
    letter-spacing: -0.02em;
    color: #3a3a3a;
    margin-top: 100px;
    padding-left: 72px;
}

.formule-content a {
    pointer-events: auto; 
      color: #3f6a45;
      border: 1px solid #3f6a45;
    background-color: transparent;
    padding: 7px 30px;
    font-size: 18px;
    font-family: 'League Spartan', sans-serif;
    display: inline-block;
    margin-top: 20px;
    border-radius: 200px;
    transition: all .3s ease;
    font-weight: 500;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.formule-content a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #3f6a45;
  transition: width 0.5s ease;
  z-index: -1;
  border-radius: 200px;
}

.formule-content a:hover::after {
  width: 100%;
}

.formule-content a:hover {
  color: white;
}

.hover-hint {
    position: absolute;
    bottom: 40px;
    left: 40px;
    right: unset;

    z-index: 10;

    display: flex;
    align-items: center;
    gap: 10px;

    padding: 10px 18px;
    border-radius: 40px;

    background: rgba(255,255,255,0.9);
    backdrop-filter: blur(6px);

    box-shadow: 0 8px 30px rgba(0,0,0,0.15);

    transition: all 0.4s ease;

        opacity: 1;
    transform: translate(-50%, -50%) scale(1.1);
        top: 50%;
    left: 50%;
    bottom: auto;
    right: auto;

    transform: translate(-50%, -50%) scale(1.1);

    padding: 7px 26px;
}

.hover-hint .play-icon {
    font-size: 18px;
    color: #3f6a45;
}

.hover-hint span {
    font-size: 14px;
    color: #3f6a45;
    font-weight: 500;
}


@keyframes pulse2 {
    0% { 
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(63,106,69,0.5);
    }
    50% {
        transform: scale(1.08);
        box-shadow: 0 0 0 12px rgba(63,106,69,0.25);
    }
    100% { 
        transform: scale(1);
        box-shadow: 0 0 0 24px rgba(63,106,69,0);
    }
}

@keyframes slide {
    0% { transform: translateX(0); }
    50% { transform: translateX(6px); }
    100% { transform: translateX(0); }
}

/* .formule-image:hover .hover-hint,
.hover-hint:hover {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.1);
        top: 50%;
    left: 50%;
    bottom: auto;
    right: auto;

    transform: translate(-50%, -50%) scale(1.1);

    padding: 7px 26px;
} */


/* === VIDEO MODAL === */
.mobile-video-btn {
    display: none;
}

.video-modal {
    position: fixed;
    inset: 0;
    z-index: 9999; /* Extreem hoog */
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* Gebruik opacity en visibility voor vloeiende overgang */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    pointer-events: none;
}

.video-modal.active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}

.video-container {
    position: relative;
    width: 90%; /* Iets smaller op mobiel */
    max-width: 1000px;
    background: #000; /* Zwarte achtergrond voor video laden */
    line-height: 0;
    border-radius: 12px;
    box-shadow: 0 20px 50px rgba(0,0,0,0.5);
    z-index: 10;
}

.video-container video {
    width: 100%;
    height: auto;
    max-height: 80vh; /* Voorkom dat video buiten scherm valt */
    display: block;
}

.video-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85); /* Iets donkerder voor beter contrast */
    cursor: pointer; /* Cursor verandert in een handje zodat je weet dat je hier kunt klikken */
}

.close-video {
    position: absolute;
    top: -20px; /* Iets dichter bij de video op mobiel, of pas aan naar wens */
    right: -20px;
    
    /* Maak er een duidelijke knop van */
    background: #3f6a45; /* Jouw groene kleur */
    color: white !important;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    
    display: flex;
    align-items: center;
    justify-content: center;
    
    border: 2px solid #ffffff; /* Witte rand zorgt voor zichtbaarheid op zwart */
    box-shadow: 0 4px 15px rgba(0,0,0,0.4);
    
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    z-index: 100;
    transition: all 0.3s ease;
}

.close-video:hover {
    background: #000000;
    transform: scale(1.1);
}

/* Voor mobiel: kruisje binnen het scherm houden */
@media (max-width: 768px) {
    .close-video {
        top: -50px;
        right: 10px;
    }
}
/* The Image */
/* 1. THE WRAPPER - Ensure it doesn't clip the expanding image */
.formule-item-wrapper {
    position: relative;
    overflow: visible; 
    z-index: 1;
}

/* 2. THE IMAGE - Base State */
.formule-item-wrapper .formule-image {
    position: relative; /* REQUIRED for z-index to work */
    width: 800px;
    height: 800px; 
    aspect-ratio: 1 / 1;
    z-index: 5; 
    background-size: contain;
    background-position: center;
    border-top-left-radius: 50%;
    border-bottom-left-radius: 50%;
    margin-top: 50px;
    pointer-events: auto;
    cursor: pointer;
    position: relative;
    z-index: 20;
    pointer-events: auto;

    /* Add transition for all properties you want to animate */
    transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);
    transform: translateX(100px);
}

/* 4. THE OVERLAY */
.formule-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        45deg,
        rgba(255,255,255,0.8) 0%,
        rgba(255,255,255,0.4) 40%,
        rgba(255,255,255,0) 100%
    );
    transition: opacity 0.6s ease;
    pointer-events: none;
    z-index: 6;
    border-radius: inherit; /* Keeps overlay shape same as image */
}

.formule-image:hover::after {
    opacity: 0.1; /* Fade out the white gradient on hover */
}
.formule-item-wrapper.hidden {
    display: none;
}

.formules_det > div::before {
    content: "";
    display: block;
    width: 56px;
    height: 1px;
    background: rgba(63, 90, 66, 0.22);
    margin-bottom: 28px;
    margin-right: 30px !important;
    margin-left: 30px !important;
}

.formules_det > div h2 {
    font-size: clamp(28px, 2.1vw, 40px);
    line-height: 1.05;
    color: #35573a;
    font-weight: 600;
    letter-spacing: -0.03em;
    margin: 0 0 30px 0;
}

.formules_det > div > div:not(.formule-content) {
    font-weight: 300;
    font-size: clamp(18px, 1.2vw, 21px);
    line-height: 1.95;
    letter-spacing: -0.02em;
    color: #3a3a3a;
    margin-bottom: 46px;
    max-width: 95%;
}

.formules_det > div > a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 500;
    font-size: 18px;
    color: #35573a;
    text-decoration: none;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(53,87,58,0.75);
    transition: color 0.3s ease, border-color 0.3s ease, gap 0.3s ease;
}

.formules_det > div > a::after {
    content: "→";
    transition: transform 0.3s ease;
}

.formules_det > div > a:hover {
    color: #4f6f52;
    border-bottom-color: #4f6f52;
    gap: 16px;
}

.formules_det > div > a:hover::after {
    transform: translateX(3px);
}

/* ========================= */
/* SUBTIELE SCROLL REVEAL */
/* ========================= */
.reveal-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.9s ease, transform 0.9s ease;
}

.reveal-up.in-view {
    opacity: 1;
    transform: translateY(0);
}

/* Formules Pagina */

/* Formules fiches */


/* Ons verhaal */

.blog-img img {
  width: 100%;
}

.blog-head {
  text-align: left;
  line-height: 180%;
  position: relative;
}

.blog-head .c {
  width: 100%;
  color: #505050;
}

.blog-content {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto;
  margin-top: 60px;
}

.footermar-blog {
  padding-bottom: 50px;
}

.blog-item {
  position: relative;
}

.blog-item a:not(.exclude) {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
}

.blog-rows {
  margin-top: 1%;
}

.blog-row {
  display: flex !important;
  flex-wrap: wrap;
  margin-bottom: 1%;
}

.blog-row:last-child {
  margin-bottom: 0;
}

.blog-row .row-block {
  width: 49.5%;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.row-block:not(:nth-child(2n)) {
  margin-right: 1%;
}

.blog-row.type-b .row-block {
  margin: 0;
  width: 100%;
}

.blog-row.reverse .row-block:first-child {
  order: 2;
  margin-left: 1%;
  margin-right: 0%;
}

.blog-row .extra .blog-item {
  width: 48.979591836734693877551020408163%;
}

.blog-row .extra .blog-item:not(:nth-child(2n)) {
  margin-right: 2.0408163265306122448979591836735%;
}

.blog-rows .blog-main .blog-item {
  width: 100%;
}

.blog-row .extra .blog-item:nth-child(n+3) {
  margin-top: 2.0408163265306122448979591836735%;
}

.blog-rows .blog-inhoud {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 20px 15px;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.58);
  color: #fff;
}

.blog-rows .blog-inhoud h2 {
  font-weight: 700;
  text-align: left;
  line-height: 125%;
}

.blog-rows .blog-main .blog-inhoud h2 {
  font-size: 1.4em;
}

.blog-rows .extra .blog-inhoud h2 {
  font-size: 1.2em;
}

.blog-row.type-c .row-block {
  margin-right: 0;
  width: 100%;
}

.type-c .combo-img {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  align-items: flex-start;
  align-content: flex-start;
}

.type-c.reverse .combo-img .big {
  order: 2;
}

.type-c .combo-img>* {
  width: 50%;
}

.type-c .combo-img .big img {
  width: 100%;
}

.type-c .combo-img .small {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
}

.type-c .combo-img .small img {
  width: 50%;
}

.button-hold {
  margin-top: 40px;
  margin-bottom: 40px;
  text-align: center;
}

.button-hold:last-child {
  margin-bottom: 0px;
}

.button-hold a {
  display: inline-block;
  border: 2px solid var(--color-secondary);
  padding: 15px 20px;
  background-color: transparent;
  cursor: pointer;
  font-weight: 700;
  color: white;
  background-color: var(--color-secondary);
  transition: all 0.8s ease;
}

.button-hold a:hover {
  background-color: transparent;
  color: var(--color-secondary);
}

/**
 * Blog detail
 **/
.blog-holder {
  display: flex;
  margin-top: 60px;
  justify-content: space-between;
  -ms-align-items: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.blog-aside {
  padding: 30px;
  width: 400px;
  margin-right: 50px;
  -webkit-box-shadow: 0px 0px 22px 0px rgba(82, 82, 82, 0.15);
  -moz-box-shadow: 0px 0px 22px 0px rgba(82, 82, 82, 0.15);
  box-shadow: 0px 0px 22px 0px rgba(82, 82, 82, 0.15);
}

.blog-funnels {
  width: auto;
  flex-direction: row;
  gap: 18px;
  margin: auto;
  margin-bottom: 50px;
}

.filter-reset {
  font-size: 15px;
  color: #9a9a9a;
  letter-spacing: 0.3px;
  cursor: pointer;
  transition: all 0.25s ease;
}

.filter-reset:hover {
  color: #2f2f2f;
}

.blog-funnels a {
  position: relative;
  padding: 14px 28px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.4px;

  color: #4a4a4a;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(0,0,0,0.06);

  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);

  transition: all 0.35s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

/* Hover = subtiel liften */
.blog-funnels a:hover {
  color: #1f1f1f;
  border-color: rgba(0,0,0,0.12);

  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

/* Active = premium groen gradient */
.blog-funnels a.active {
  color: #fff;
  border: 1px solid rgba(255,255,255,0.12);

  background: linear-gradient(
    135deg,
    #3f6a45,
    #2e4d34
  );

  box-shadow: 
    inset 0 1px 0 rgba(255,255,255,0.1),
    0 6px 20px rgba(0,0,0,0.25);
}

/* Luxe lichtreflectie */
.blog-funnels a.active::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: radial-gradient(
    circle at 30% 20%,
    rgba(255,255,255,0.18),
    transparent 70%
  );
  pointer-events: none;
}

/* Active hover = iets dieper */
.blog-funnels a.active:hover {
  transform: translateY(-1px);

  background: linear-gradient(
    135deg,
    #3f6a45,
    #243d2a
  );

  box-shadow: 
    inset 0 1px 0 rgba(255,255,255,0.12),
    0 10px 28px rgba(0,0,0,0.35);
}

.blog-main {
  /* width: calc(100% - 350px); */
  width: 100%;
}

.blog-main .c {
  font-size: 24px;
  font-weight: 200;
  color: #353535;
  line-height: 170%;
}

.blog-item .c {
  line-height: 180%;
    margin: 0 0 8px;
  font-size: 20px;
  color: #6b6b6b;
}

.blog-overzicht {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: flex-start;
}

.blog-overzicht .blog-item a {
  position: static;
}


.blog-overzicht .inhoud a {
  background-color: var(--color-secondary);
  padding: 10px 25px;
  display: inline-flex;
  border-radius: 200px;
  transition: all .3s ease;
  position: relative;
  overflow: hidden;
  z-index: 1; /* add this */
  color: #fff;
  font-weight: 700;
  border: 1px solid var(--color-secondary);
  font-size: 18px;
}

.blog-overzicht .inhoud a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  transition: width 0.5s ease;
  z-index: -1;
  border-radius: 200px;
}

.blog-overzicht .inhoud a:hover::after {
  width: 100%;
}

.blog-overzicht .inhoud a:hover {
  color: var(--color-secondary);
}

.blog-overzicht h2 {
    font-weight: var(--font-weight-bold);
    color: var(--color-secondary);
    font-size: 22px;
    margin-bottom: 10px;
    line-height: 130%;
}

.blog-overzicht .blog-item {
  width: 48%;
  margin: 1%;
  -webkit-box-shadow: 0px 0px 22px 0px rgba(82, 82, 82, 0.15);
  -moz-box-shadow: 0px 0px 22px 0px rgba(82, 82, 82, 0.15);
  box-shadow: 0px 0px 22px 0px rgba(82, 82, 82, 0.15);
  transition: all 1s;
  position: relative;
}

.blog-recent .blog-item .c {
  padding: 0 !important;
}

.blog-main .blog-item:hover rect {
  stroke-dashoffset: 0;
}

.blog-main .blog-item:hover .blog-img img {
  transform: scale(1.05);
}

.blog-main .blog-img {
  width: 100%;
  overflow: hidden;
  transition: all 0.4s ease;
  position: relative;
}

.blog-main .blog-img img {
  width: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}


.blog-main .blog-img .h1 {
  position: relative;
  margin-top: 40px;
  margin-bottom: 20px;
  font-weight: 700;
  line-height: 180%;
  color: #3f6a45;
  font-size: 2.1em;
  font-family: 'League Spartan', sans-serif;
}

.blog-main .blog-item .inhoud {
    padding: 20px 22px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
}

.blog-aside h3 {
  font-weight: 700;
  color: var(--color-secondary);
  font-family: 'Poppins', sans-serif;
  font-size: 1.5em;
  text-align: left;
  margin-bottom: 25px;
}

.blog-nav nav {
  border-top: 1px solid rgb(220, 220, 220);
  margin-bottom: 60px;
}

.blog-nav a {
  line-height: 40px;
  width: 100%;
  display: block;
  border-bottom: 1px solid rgb(220, 220, 220);
  color: rgb(100, 100, 100);
  padding-left: 8px;
}

.blog-nav a:hover, .blog-nav a.active {
  color: var(--color-secondary);
}

.blog-nav-btn {
  display: none;
  text-align: center;
  padding: 10px 0;
  font-size: 3.2em;
  color: var(--color-secondary);
  cursor: pointer;
}

.blog-recent h2 {
  font-size: 1.2em;
  margin-top: 10px;
  line-height: 150%;
  margin-bottom: 10px;
  color: #626572;
}

.blog-recent .c {
  margin-bottom: 10px;
  line-height: 180%;
  color: #999999;
}

.blog-recent .blog-item {
  margin-bottom: 35px;
}

.blog-recent .more {
  font-weight: bold;
  color: var(--color-secondary);
}

.blog-content-row {
  margin-bottom: 30px;
}

.merk-content .blog-content-row {
  margin-bottom: 1.33%;
}

.blog-content-row h2 {
  font-size: 30px;
  margin-bottom: 20px;
  font-family: 'League Spartan', sans-serif;
  color: #353535;
  line-height: 130%;
  font-weight: 700;
}

.blog-content-row .c {
  width: 100%;
  margin: 0 auto;
}

.blog-content-row .multi-img-holder {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: space-between;
}

.blog-content-row .multi-img-holder.two>* {
  width: 49%;
}

.blog-content-row .multi-img-holder.three>* {
  width: 32.33%;
}

.blog-content-row .multi-img-holder.four>* {
  width: 24%;
}

.blog-content-row .multi-img-holder>a img {
  width: 100%;
}



.blog-content-row .tekst-and-image {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}

.blog-content-row .tekst-and-image.reverse .blog-img {
  order: 2;
}

.blog-content-row .tekst-and-image.reverse .c {
  order: 1;
}

.blog-content-row .tekst-and-image>* {
  width: 50%;
}

.blog-content-row .tekst-and-image .c {
  padding: 0 30px;
}

.blog-content-row .tekst-and-image.reverse .img {
  order: 2;
}

.title-hold {
  text-align: center;
  margin-bottom: 36px;
}

.title-hold h3 {
  margin-top: 30px;
  padding-top: 30px;
  color: #626572;
  border-top: 3px solid #ececec;
  font-size: 1.5em;
  font-weight: bold;
}

/* Socials */

 :root {
        --gallery-height: 480px; 
        --transition-speed: 0.7s;
        --border-radius: 15px;
    }

    .insta-accordion {
        display: flex;
        gap: 12px;
        width: 100%;
        max-width: 1600px;
        margin: 0 auto;
        height: var(--gallery-height);
        overflow: hidden;
        font-family: sans-serif;
    }

    .insta-post {
        position: relative;
        flex: 1; /* Standaard smalle breedte */
        height: 100%;
        overflow: hidden; 
        border-radius: var(--border-radius);
        transition: all var(--transition-speed) cubic-bezier(0.25, 1, 0.5, 1);
        cursor: pointer;
        background-color: #000;
    }

    /* DE STICKY LOGICA: De class .active bepaalt nu het uiterlijk, niet meer de hover */
    .insta-post.active {
        flex: 0 0 var(--gallery-height); /* Wordt vierkant */
    }

    .insta-content {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
        transition: transform 0.8s ease;
    }

    /* Zoom effect alleen bij de actieve post */
    .insta-post.active .insta-content {
        transform: scale(1.12);
    }

    /* --- JOUW ICON STYLING --- */
    
    .icon-ig {
        position: absolute;
        top: 20px;
        left: 20px;
        z-index: 10;
        color: white;
        background-color: #333; /* Jouw grijze kleur */
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%; /* Mooi rond */
        font-size: 16px;
        opacity: 0;
        transition: opacity 0.4s ease;
    }

    .icon-arrow {
        position: absolute;
        bottom: 20px;
        right: 20px;
        z-index: 10;
        color: white;
        font-size: 18px;
        filter: drop-shadow(0 2px 4px rgba(0,0,0,0.5));
        opacity: 0;
        transform: translateX(-10px);
        transition: all 0.4s ease;
    }

    /* Toon iconen wanneer de post .active is */
    .insta-post.active .icon-arrow,
    .insta-post.active .icon-ig {
        opacity: 1;
        transform: translateX(0);
    }

    /* Schaduwlaag over afbeelding voor leesbaarheid */
    .insta-post::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to bottom, rgba(0,0,0,0.1) 0%, transparent 20%, transparent 80%, rgba(0,0,0,0.2) 100%);
        pointer-events: none;
    }

    @media (max-width: 1024px) {
        :root {
            --gallery-height: 400px; /* Iets minder hoog op tablets */
        }
        .insta-accordion { gap: 8px; }
    }

    /* Voor Mobiel (Smartphones) */
  @media (max-width: 768px) {
        .insta-accordion {
            flex-direction: column; /* Stapelen */
            height: auto;
            min-height: 500px;
            gap: 10px;
        }

        .insta-post {
            flex: 0 0 65px !important; /* Dichte stroken zijn 65px hoog */
            width: 100%;
        }

        /* De actieve post op mobiel wordt een groot vierkant */
        .insta-post.active {
            flex: 0 0 100vw !important;
            height: 100vw;
            max-height: 400px;
        }
        
        .icon-ig, .icon-arrow {
            opacity: 1; /* Op mobiel altijd tonen als hij open is */
        }
    }


/* Share buttons */

.share-card {
  margin-top: 30px;
  padding: 20px 24px;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
  border: 1px solid #eee;
}

.blog-main .share-card {
  width: fit-content;
}

.share-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.blog-main .share-content {
  gap: 30px;
}

.share-title {
  margin: 0;
  font-weight: 600;
  font-size: 16px;
  color: #333;
}

.share-buttons {
  display: flex;
  gap: 10px;
}

.share-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 14px;
  cursor: pointer;
  transition: all 0.25s ease;
}

/* kleuren */
.share-btn.facebook { background: #3A5794; }
.share-btn.twitter { background: #5BA4D6; }
.share-btn.linkedin { background: #0073AF; }

/* hover effect */
.share-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.15);
  opacity: 0.9;
}


/* Recensies */

/* Sectie Styling */
.reviews-section {
    padding: 60px 20px;
    background-color: #f9f9f9; /* Lichte achtergrond om de witte kaarten te laten knallen */
    margin-top: 30px;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
}

.section-header {
    text-align: center;
    margin-bottom: 40px;
}

.subtitle {
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
    color: #415a42;
    display: block;
    margin-bottom: 10px;
}

.section-title {
    font-size: 32px;
    color: #333;
    font-weight: bold;
}

/* Grid Layout */
.reviews-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 25px;
}

/* De Kaartjes */
.review-card {
    background: #fff;
    padding: 30px;
    border-radius: 20px; /* Consistent met je website */
    box-shadow: 0 10px 25px rgba(0,0,0,0.05); /* Zachte schaduw */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: transform 0.3s ease;
}

.review-card:hover {
    transform: translateY(-5px);
}

.review-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.review-author {
    font-weight: bold;
    color: #415a42;
    font-size: 18px;
}

/* Sterren in overzicht */
.review-stars {
    color: #ddd; /* Kleur van lege sterren */
    font-size: 18px;
}

.star.filled {
    color: #415a42; /* Het groen van Glamping Royal */
}

.review-content {
    font-style: italic;
    color: #555;
    line-height: 1.6;
    margin-bottom: 20px;
}

.review-footer {
    border-top: 1px solid #eee;
    padding-top: 15px;
}

.review-date {
    font-size: 13px;
    color: #999;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .section-title { font-size: 26px; }
    .reviews-grid { grid-template-columns: 1fr; }
}


/* Flexbox header voor titel + knop */
.reviews-header-flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 40px;
    border-bottom: 1px solid #eee;
    padding-bottom: 20px;
}

/* De outline knop in de header */
.cta-button-outline {
    background: transparent;
    border: 2px solid #415a42;
    color: #415a42;
    padding: 10px 20px;
    border-radius: 50px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.cta-button-outline:hover {
    background: #415a42;
    color: #fff;
}

/* De speciale "Voeg toe" kaart */
.add-review-card {
    background-color: #415a42 !important; /* Glamping Groen */
    color: white !important;
    text-align: center;
    cursor: pointer;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 250px;
}

.add-review-card .add-content {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.plus-icon {
    font-size: 50px;
    line-height: 1;
    margin-bottom: 10px;
}

.add-review-card h3 {
    margin: 0 0 10px 0;
    color: white;
}

.add-review-card p {
    font-size: 14px;
    opacity: 0.9;
    margin-bottom: 20px;
}

.fake-link {
    font-weight: bold;
    text-decoration: underline;
    font-size: 14px;
}

.add-review-card:hover {
    background-color: #354a36 !important;
    transform: scale(1.02);
}

/* Responsive aanpassing */
@media (max-width: 600px) {
    .reviews-header-flex {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }
    .cta-button-outline {
        margin-top: 20px;
    }
}

#reviewSuccess {
    animation: fadeIn 0.5s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.9); }
    to { opacity: 1; transform: scale(1); }
}

.success-icon {
    display: inline-block;
    width: 80px;
    height: 80px;
    line-height: 80px;
    border: 3px solid #415a42;
    border-radius: 50%;
    margin-bottom: 20px;
}

/* De achtergrond van de popup */
.modal-overlay {
    display: none; /* Standaard verborgen */
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.6);
    backdrop-filter: blur(3px);
}

/* Het kader zelf */
.modal-content {
    background-color: #fff;
    margin: 5% auto;
    padding: 0;
    width: 90%;
    max-width: 500px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from { transform: translateY(-50px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/* De groene kop in het kader */
.modal-header {
    background-color: #415a42;
    color: white;
    padding: 30px;
    text-align: center;
}

.modal-header h2 { margin: 0; font-size: 24px; }
.modal-header p { margin: 10px 0 0; opacity: 0.9; font-size: 14px; }

/* Sluitknop */
.close-btn {
    position: absolute;
    right: 20px;
    top: 15px;
    color: white;
    font-size: 28px;
    cursor: pointer;
}

/* Formulier styling */
.review-form {
    padding: 30px;
}

.form-group {
    margin-bottom: 20px;
}

.form-group label {
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    color: #333;
}

.form-group input, .form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 10px;
    box-sizing: border-box;
    font-family: inherit;
}

/* De Tevredenheidsmeter (Sterren) */
.rating-wrapper {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}

.rating-wrapper input { display: none; }

.rating-wrapper label {
    font-size: 30px;
    color: #ddd;
    cursor: pointer;
    transition: 0.2s;
    margin-right: 5px;
}

.rating-wrapper input:checked ~ label,
.rating-wrapper label:hover,
.rating-wrapper label:hover ~ label {
    color: #415a42; /* Kleur van de sterren bij selectie */
}

/* Verzendknop in popup */
.submit-btn {
    background-color: #415a42;
    color: white;
    width: 100%;
    padding: 15px;
    border: none;
    border-radius: 10px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
    transition: 0.3s;
}

.submit-btn:hover {
    background-color: #2f4230;
}



/* Einde recensies */


/* Contact Pagina */

.contact_pagina {
  width: 100%;
  max-width: 1400px;
  display: flex;
  justify-content: space-between;
  -ms-align-items: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
  padding: 100px 20px 0 20px;
}

.contact_info {
  background-color: #f4f6f4; /* Subtiele lichte groentint */
  padding: 50px;
  margin-top: 20px;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 5px;
  box-sizing: border-box; /* Zorgt dat padding de box niet groter maakt */
}

.contact_info p {
  font-size: 18px;
  font-weight: 200;
  color: #000;
  margin: 8px 0;
}

.contact_gegevens {
  width: 35%;
}

.contact_gegevens h1 {
  font-weight: 700;
  color: #3f6a45;
  margin-bottom: 20px;
  font-family: 'League Spartan', sans-serif;
  font-size: 30px;
}

.contact_gegevens h2 {
  font-size: 22px;
  font-weight: 200;
  color: #353535;
  line-height: 170%;
}

.contact_gegevens p {
  padding-bottom: 10px;
}

.contact_split {
  margin-top: 10px;
  display: block; /* Veranderd van flex naar block voor stabiele positionering */
  position: relative;
  z-index: 1;
}

.contact_split h2 {
  font-weight: 600;
  color: #3f6a45;
  font-size: 26px;
  margin-bottom: 25px;
  line-height: 130%;
  font-family: 'League Spartan', sans-serif;
}

.contact_split .contact_info {
  width: 100%;
  display: flex;
}


.contact_split div {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  -ms-align-items: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.contact_split div p {
  padding: 10px;
  padding-left: 50px;
  position: relative;
  color: #353535;
  font-weight: 200;
  font-size: 22px;
}

.contact_split div p a {
  color: #353535;
}

.contact_split div p > i {
  position: absolute;
  left: 0;
  width: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 50%;
  color: #3f6a45; /* Icoonkleur nu ook huisstijl groen */
  transform: translateY(-50%);
  font-size: 18px;
}

.contact_split .img-wrapper {
  position: absolute;
  width: 220px !important;  /* Harde breedte */
  height: 220px !important; /* Harde hoogte gelijk aan breedte */
  right: -85px;             /* Positie buiten het kader */
  top: -30px;               /* Iets naar boven zoals in je eerste screenshot */
  z-index: 10;
  display: block;           /* Overschrijft de flex van de algemene div regel */
}

.contact_split .img1 {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;        /* Zorgt dat gezicht niet vervormt */
  border-radius: 50%;
  border: 8px solid #ffffff; /* Dikke witte rand voor luxe look */
  box-shadow: 0 10px 25px rgba(0,0,0,0.1);
  position: relative;
  z-index: 2;
}

/* 4. Het premium accent-lijntje (groene boog) */
.img-wrapper::after {
  content: '';
  position: absolute;
  top: -12px;
  left: -12px;
  right: -12px;
  bottom: -12px;
  border-radius: 50%;
  border: 3px solid #3f6a45; /* Huisstijl groen */
  /* Maakt een gedeeltelijke cirkel */
  border-color: #3f6a45 transparent transparent #3f6a45; 
  transform: rotate(15deg); /* Draai de boog naar de juiste plek */
  z-index: 1;
}

.parking a {
  flex-direction: row !important;
} 


.contact_formulier {
  width: 55%;
}

.contact_form {
  display: flex;
  justify-content: space-between;
  -ms-align-items: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px;
}

.contact_label {
  width: 100%;
  font-size: 1.2em;
  font-weight: 200;
  color: #353535;
  display: inline-block;
  margin-bottom: 5px;
}

.contact_form input[type=text], 
.contact_form input[type=email],
.contact_form input[type=file],
.contact_form select {
  width: 100%;
  border: none;
  border-bottom: 2px solid #EEEEEE;
  padding: 15px 15px;
  color: #3f6a45;
  font-size: 20px;
  font-weight: 200;
  font-family: 'League Spartan', sans-serif;
}

.contact_form select {
  background-image: url(/images/select.png);
  background-size: contain;
  background-position: center right;
  background-repeat: no-repeat;
}

.contact_form input[type=text]:focus, 
.contact_form input[type=email]:focus {
  border-left: 2px solid #3f6a45;
  font-weight: 500;
}

.contact_form textarea {
  width: 100%;
  border: none;
  border-bottom: 2px solid #EEEEEE;
  border-radius: 0px;
  padding: 15px 15px;
  color: #3f6a45;
  font-weight: 200;
  font-size: 20px;
  font-family: 'League Spartan', sans-serif;
  height: 180px;
}

.contact_form textarea:focus {
  border-left: 2px solid #3f6a45;
  font-weight: 500;
}

.contact_form input[type=submit] {
  color: #fff;
  background: linear-gradient(to right, #fff 0%, #fff 100%) no-repeat, #3f6a45;
  background-size: 0% 100%, 100% 100%;
  padding: 12px 30px;
  font-size: 23px;
  font-family: 'League Spartan', sans-serif;
  display: inline-block;
  margin-top: 20px;
  border-radius: 200px;
  transition: all .5s ease;
  font-weight: 500;
  border: 1px solid #3f6a45;
  cursor: pointer;
}

.contact_form input[type=submit]:hover {
  color: #3f6a45;
  background-size: 100% 100%, 100% 100%;
}


.contact_formulier .field {
  position: relative;
  margin-bottom: 20px;
  width: 100%;
}

.contact_formulier .field label {
  position: absolute;
  left: 12px;
  top: 17px;
  font-size: 20px;
  transition: all .3s;
  background-color: #fff;
  padding: 0 5px;
  font-weight: 200;
}

.contact_formulier .floatlabel label {
  top: -7px;
  left: 13px;
  font-size: 15px;
}


.contact_formulier .field.NaamInput {
  width: calc(50% - 5px);
}

.contact_formulier .EmailInput {
  width: calc(50% - 5px);
}

#dasmap {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  height: 600px;
  position: relative;
  z-index: 0;
  margin-top: -10px;
  margin-bottom: 30px;
}

/* Container die op de grens ligt */
.cta-container {
    position: relative;
    width: 100%;
    height: 0; /* Geen eigen hoogte zodat het over de secties vloeit */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999; /* Zorgt dat hij boven de kaart en het groene vlak ligt */
    flex-direction: column;
    gap: 20px; /* Ruimte tussen prijslijst en de grote bol */
    height: auto;
    margin-top: -60px; /* Trekt de knoppen omhoog richting het groene vlak */
}

.cta-prijslijst {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 24px;
    background-color: rgba(255, 255, 255, 0.1); /* Subtiel transparant */
    color: #ffffff;
    text-decoration: none;
    font-family: 'League Spartan', sans-serif;
    font-weight: 500;
    font-size: 16px;
    letter-spacing: 1px;
    border: 1.5px solid #ffffff;
    border-radius: 50px;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px); /* Geeft een modern luxe glaseffect */
    z-index: 1000;
    margin-bottom: 10px;
}

.cta-prijslijst i {
    margin-right: 8px;
    font-size: 16px;
    background-color: #ffffff;
    color: #3f6a45; /* De groene kleur van je sectie */
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cta-prijslijst:hover {
    background-color: #ffffff;
    color: #3f6a45; /* De groene kleur van je sectie */
    transform: translateY(-3px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.cta-prijslijst:hover i {
    background-color: #3f6a45;
    color: #ffffff;
}

.cta-boek-nu {
    width: 110px;
    height: 110px;
    background-color: #3d5a44; /* Je logo-groen */
    border: 2px solid #ffffff; /* Of gebruik een goudkleur: #b89564 */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    transition: transform 0.3s ease;
    position: relative; /* Veranderd van absolute naar relative voor betere flow in de container */
    transform: translateY(0); /* Reset de oude transform */
}

.cta-boek-nu:hover {
    transform: translateY(-55%) scale(1.05);
        transform: scale(1.05); /* Versimpelde hover voor de bol */

    background-color: #2e4433; /* Iets donkerder bij hover */
}

/* De tekst in de bol */
.cta-text {
    color: white;
    font-family: 'Montserrat', sans-serif; /* Gebruik je eigen font */
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-align: center;
    line-height: 1.2;
}

/* De 'ademende' animatie (Pulse) */
.pulse-ring {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    border: 2px solid #3d5a44;
    animation: pulse-animation 2.5s infinite;
    pointer-events: none;
}

@keyframes pulse-animation {
    0% {
        transform: scale(1);
        opacity: 0.8;
    }
    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

@media (max-width: 768px) {
    .cta-boek-nu {
        width: 90px;
        height: 90px;
    }
    .cta-text {
        font-size: 12px;
    }
    .cta-prijslijst {
        padding: 8px 18px;
        font-size: 13px;
    }
}

#locmap {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  height: 600px;
  position: relative;
  z-index: 0;
  margin-bottom: 30px;
  margin-top: -30px;
}

/* Einde Contact Pagina */

/* Bevestiging */

.bevestiging_bg {
    width: 100%;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.bevestiging {
    width: 100%;
    border-radius: 5px;
    -webkit-box-shadow: 0px 0px 22px 0px rgba(82, 82, 82, 0.10);
    -moz-box-shadow: 0px 0px 22px 0px rgba(82, 82, 82, 0.10);
    box-shadow: 0px 0px 22px 0px rgba(82, 82, 82, 0.10);
    max-width: 700px;
    padding: 50px;
    background-color: white;
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    flex-direction: column;
}

.bevestiging i {
    font-size: 2em;
    color: #3f6a45;
    margin-bottom: 20px;
}

.bevestiging h2 {
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #3f6a45;
    font-size: 15px;
    margin: 10px 0;
}

.bevestiging h1 {
    font-weight: 700;
    font-size: 2em;
    text-align: center;
    color: #3f6a45;
    width: 90%;
    margin: auto;
    margin-bottom: 10px;
}

.bevestiging p {
    line-height: 150%;
    color: #3f6a45;
    font-size: 17px;
    font-weight: 200;
    text-align: center;
}

.bevestiging a {
  color: #fff;
  background-color: #3f6a45;
  border: 1px solid #3f6a45;
  padding: 12px 30px;
  font-size: 20px;
  font-family: 'League Spartan', sans-serif;
  display: inline-block;
  margin-top: 20px;
  border-radius: 200px;
  transition: all .3s ease;
  font-weight: 500;
  position: relative;
  overflow: hidden;
  z-index: 1; /* add this */

}

.bevestiging a::after {
  content: "";
  position: absolute;
  width: 0;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #fff;
  transition: width 0.5s ease;
  z-index: -1;
  border-radius: 200px;
}

.bevestiging a:hover::after {
  width: 100%;
}

.bevestiging a:hover {
  color: #3f6a45;
}

/* Einde Bevestiging*/




/* Responsive */



/* Media Query's */

@media screen and (max-width: 1750px) {
  .navigatie {
    padding: 15px 10px;
  }

  .home_slider article div {
    width: 95%;
  }

  .logo-circle {
    left: 15px;
  }
}

@media screen and (max-width: 1620px) {

  .formule-item-wrapper .formule-image {
    width: 450px;
    height: 450px;
  }
}

@media screen and (max-width: 1400px) {
  .formules_ov {
    left: 0;
  }
  .formule-item-wrapper .formule-image {
    position: relative; /* REQUIRED for z-index to work */
    width: 600px;
    height: 600px; 
    aspect-ratio: 1 / 1;
    z-index: 5; 
    background-size: contain;
    background-position: center;
    border-radius: 50%; /* The Circle */
    
    margin-top: 250px;
    pointer-events: auto;
    cursor: pointer;
        position: relative;
    z-index: 20;
    pointer-events: auto;

    /* Add transition for all properties you want to animate */
    transition: all 0.6s cubic-bezier(0.25, 1, 0.5, 1);

    width: 100vw;           
    max-width: 1200px;   
    
    z-index: 999;     
}

.hover-hint {
  bottom: unset;
  right: unset;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

.formule-image:hover .hover-hint {
    opacity: 1;
  bottom: unset;
  right: unset;
  left: 0;
  top: 50%;
  transform: translateY(-50%);

    padding: 18px 26px;
}


/* 4. THE OVERLAY */
.formule-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(
        45deg,
        rgba(255,255,255,1) 0%,
        rgba(255,255,255,0.8) 40%,
        rgba(255,255,255,0) 100%
    );
    transition: opacity 0.6s ease;
    pointer-events: none;
    z-index: 6;
    border-radius: inherit; /* Keeps overlay shape same as image */
}

.formule-image:hover::after {
    opacity: 0.1; /* Fade out the white gradient on hover */
}
}


@media screen and (max-width: 1350px) {
  .nuttige_info .container {
    width: calc(100% - 60px);
  }
  
  .blok_type_2 .bgcolor {
    display: none;
  }

  .blok_type_2 .content {
    padding: 0;
    margin-top: 50px;
  }

  .blok_type_2 .content article > div {
    flex-wrap: wrap;
  }

  .blok_type_2 .content article > div > div {
    width: 100%;
    order: 2;
    padding: 10px;
  }

  .blok_type_2 .content img {
    width: 100%;
    order: 1;
  }

  .blok_type_2 .slick-dots {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;

  }

  .blok_type_2 .slick-dots li {
    width: 12px;
    height: 12px;
    margin: 0 5px;
    border-radius: 10px;
    border: 2px solid #4e4d4a;
    background-color: #fff;
  }

  .blok_type_2 .slick-dots .slick-active {
    background-color: #4e4d4a;
  }

  .blok_type_2 .slick-dots li button {
    display: none;
  }

  .home_ovelay article > div .content {
    left: 40px;
    bottom: 40px;
  }

  .home_ovelay article > div .content h2 {
    font-size: 50px;
  }

  .reserveren img {
    display: none;
  }

  .reserveren > div {
    width: 100%;
  }

}

@media screen and (max-width: 1300px) {
    .home_formules {
        display: flex;
        flex-direction: column;
        transform: unset;
    }

    .formules_ov {
        position: relative;
        top: 0;
        left: 0;
        width: 100%;
        max-width: 100%;
        padding: 60px 20px 40px 20px; /* Meer ademruimte boven */
        box-shadow: none;
    }

    .formules_ov h2 {
        font-size: 38px;
        text-align: center;
        margin-bottom: 30px;
    }

    /* HORIZONTALE LIJST STYLING */
    .formules_ov ul {
        display: flex;
        flex-wrap: wrap;
        overflow-x: auto;
        padding: 20px 0;
        gap: 15px;
        justify-content: center;
    }

    /* Verberg scrollbar voor Chrome/Safari */
    .formules_ov ul::-webkit-scrollbar {
        display: none;
    }

    .formules_ov ul li {
        flex: 0 0 280px; /* Vaste breedte per kaartje */
        scroll-snap-align: center;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-align: center;
        
        padding: 30px 20px;
        background: rgba(255, 255, 255, 0.08);
        border: 1px solid rgba(255, 255, 255, 0.15);
        border-radius: 4px;
        transition: all 0.4s ease;
        grid-template-columns: 1fr; /* Reset grid van desktop */
    }

    .formules_ov ul li::before {
      height: 0;
      width: 0;
    }

    /* De actieve formule knalt er nu uit */
    .formules_ov ul li.activeFormule {
        background: #ffffff;
        transform: scale(1.05);
        border-color: #ffffff;
        box-shadow: 0 15px 35px rgba(0,0,0,0.2);
    }

    .formules_ov ul li.activeFormule div:last-of-type {
        color: #3f6a45 !important; /* Tekst wordt groen op wit */
        font-weight: 600;
    }

    .formule_icon {
        margin-bottom: 15px;
        background: rgba(255,255,255,0.1);
        border-radius: 4px;
    }

    .activeFormule .formule_icon {
        background: rgba(63, 106, 69, 0.1);
        border-color: rgba(63, 106, 69, 0.2);
    }

    .activeFormule .formule_icon i {
        color: #3f6a45 !important;
    }
    .formule-item-wrapper {
      flex-direction: column;
      padding: 0;
      align-items: flex-start;
      padding: 0 40px;
    }

    /* Pijltje weg op mobiel kaartje */
    .formules_ov ul li > img {
        display: none;
    }

    /* De content box eronder */
    .formules_det {
        margin-left: 0 !important;
        width: 100%;
    }

    .formule-content {
      width: 100%;
      max-width: 60%;
      padding-left: 0;
    }

    .formule-item-wrapper .formule-image {
      margin-top: 0;
      transition: unset;
      border-radius: 0;
      background-repeat: no-repeat;
      
    }
  .oplossingen {
    flex-wrap: wrap;
  }

  .oplossing_ov {
    width: 100%;
  }

  .oplossing_det {
    width: 100%;
  }

  .oplossingen_floating {
    left: initial;
    right: 0;
    transform: none;
    width: 100%;
    height: 1px;
  }

  .oplossingen_floating h2 {
    position: absolute;
    right: -134px;
    line-height: 100%;
  }



  .oplossingen_sublink {
    display: none;
  }

  .oplossing_det {
    padding: 20px 10px;
  }

  .oplossing_det>div {
    max-width: 100%;
  }

  .oplossing_det>div h2 {
    font-size: 25px;
    margin-bottom: 10px;
  }

  .oplossing_det>div>div {
    margin-bottom: 10px;
    font-size: 20px;
  }

  .oplossing_det>div>a {
    margin-top: 10px;
    font-size: 20px;
  }

  .home_banner .content h2 {
    font-size: 60px;
  }

  .blok_type_2 .bgcolor {
    display: none;
  }

  .blok_type_2 .content {
    flex-wrap: wrap;
    padding-top: 30px;
  }

  .blok_type_2 .content > div h2 {
    font-size: 25px;
    margin-bottom: 10px;
  }

  .blok_type_2 .content > div >div {
    font-size: 17px;
  }

  .blok_type_2 .content > div {
    width: 100%;
  }

  .blok_type_2 .content img {
    width: 100%;
  }

  .offerte>div:first-of-type {
    display: none;
  }

  .offerte > div:last-of-type {
    padding: 0 10px;
  }

  .offerte > div {
    width: 100%;
  }

  .offerte {
    padding: 20px 10px;
  }

  .vragen {
    width: 100%;
  }
  
  .vragen_form {
    width: 100%;
    margin-top: 50px;
  }

  .vragen article h2 {
    font-size: 18px;
  }

  .vragen article h2 i {
    margin-left: 20px;
  }

  .vragen article div {
    font-size: 18px;
  }

  .grijze_ak_content>div div {
    font-size: 18px;
  }

  .navsub > a, .navsub .has-dropdown > a  {
    font-size: 16px;
  }

  .blog-overzicht .blog-item {
    width: 98%;
  }

}


@media screen and (max-width: 1200px) {
  .hero-cta a {
    font-size: 16px;
  }
  .contact_pagina {
    padding: 25px 10px;
  }

  .contact_gegevens {
    margin-bottom: 20px;
    padding: 30px 10px;
  }

  .contact_gegevens, .contact_formulier {
    width: 100%;
    padding: 0 10px;
  }

  .contact_gegevens h1, .contact_gegevens h2 {
    text-align: center;
    line-height: 120%;
  }

  .contact_gegevens > div {
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    margin-top: 20px;
  }

  .contact_split div {
    padding: 20px;
  }

  #dasmap, #locmap {
    margin-top: 15px;
    height: 400px;
  }


  .kernwaarden {
    width: 100%;
    padding: 30px 10px;
  }

  .troeven {
    width: 100%;
    padding: 20px;
  }

  .kernwaarden ul {
    padding-top: 20px;
  }

  .kernwaarden ul li {
    justify-content: center;
    flex-direction: column;
  }

  .kernwaarden ul li>div:first-of-type {
    width: initial;
    margin-bottom: 10px;
  }

  .kernwaarden ul li>div:last-of-type {
    min-width: initial;
  }

  .kernwaarden > h2 {
    text-align: center;
    margin-bottom: 10px;
  }

  .kernwaarden ul {
    width: 100%;
  }

  .contact_gegevens > div a {
    display: flex;
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
    flex-direction: column;
  }
  .contact_split .img-wrapper {
    display: none;
  }

  .contact_split div {
    justify-content: center;
    -ms-align-items: center;
    align-items: center;
  }

  .kaartdetail {
    padding: 10px;
  }

  .menu_filter {
    max-width: 100%;
    padding: 10px;
    margin-bottom: 30px;
  }

  .kaartdetail > div {
    width: 100%;
    padding: 10px;
  }

  .menu_filter article {
    width: 50%;
  }


  .formules_ov>h2 {
    font-size: 50px;;
  }

  .blog-content-row .tekst-and-image>* {
    width: 100%;
  }

  .blog-content-row .tekst-and-image .img {
    margin: 15px auto;
    max-width: 500px;
  }

}



@media screen and (max-width: 1160px) {
  .cadeaubon aside {
    width: 400px;
  }
  .cadeaubon_form {
    width: calc(100% - 430px);
  }

  .tarieven_cat {
    width: 98%;
  }

  .kaart_links article {
    padding: 10px 20px;
    font-size: 15px;
    margin: 5px;
  }
}

@media screen and (max-width: 1150px) {
  .formules_ov > h2 {
    font-size: 40px;
  }
}


@media screen and (max-width: 1100px) {
  footer {
    padding: 20px 10px;
  }

  .footer_item {
    order: 1;
    padding: 10px;
  }

  .footer_item.algemeen {
    display: none;
  }

  .home_banner {
    background-attachment: initial;
  }

  .home_banner .content a {
    white-space: nowrap;
  }

  .home_banner .content h2 {
    width: 100%;
    padding: 10px;
  }

  .home_banner .content {
    width: 100%;
  }

  .blokken {
    gap: 20px;
  }

  .blokken article .imageslide {
    width: 100%;
  }

  .blokken article {
    flex-wrap: wrap;
  }

  .blokken article img {
    width: 100%;
    order: 1 !important;
    padding: 0;
  }

  .blokken article > div {
    width: 100%;
    order: 2 !important;
    padding: 10px;
  }

  .blokken article > div h2 {
    font-size: 27px;
  }

  .gegevens_holder aside .veiligbetalen {
    display: none;
  }

  .webshop-form {
    width: 100%;
    order: 2;
    border-right: none;
    padding: 20px 10px;
  }

  .gegevens_holder {
    flex-wrap: wrap;
  }

  .shoppingcart_holder::after {
    display: none;
  }

  .gegevens_holder aside {
    width: 100%;
    order: 1;
    padding: 20px 10px;
    border-bottom: #E1E1E1 1px solid;
  }

 .navsub > a, .navsub .has-dropdown > a  {
    display: none;
  }

  .navigatie .menubtn {
    display: flex;
  }



  .logo-circle {
    display: none;
  }
  .logo-normal {
    display: block;
  }

  .navigatie {
    justify-content: space-between;
  }

  .navsub {
    margin-top: 0;
  }
  .curtain-click {
    display: none;
  }

  .curtain-click.cc-mobile {
    display: flex;
        width: 50px;
    height: 50px;
    background-color: white;
    border-radius: 200px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    border: 1px solid #efefef;
    transition: all .3s;
  }

  .curtain-click.cc-mobile:hover {
  transform: scale(1.1);
}

  .navigatie .nav {
    flex-direction: row;
  }
  .reservatie {
    flex-wrap: wrap;
  }

  .reservatie > div {
    width: 100%;
  }

  .reservatie > div {
    order: 2;
    padding: 0 0;
    background-image: none !important;
  }

  .reservatie .reservatie_temp {
    order: 1;
    padding: 50px 10px;
    background-color: #fff;
  }

  .home_slider article div {
    display: none;
  }

  .page_header h2 {
    text-align: center;
    line-height: 140%;
    font-size: 15px;
  }

  .product_page > div {
    width: 100%;
  }

  .product_page img {
    margin-bottom: 20px;
    width: 100%;
  }

  .privcnt {
    font-size: 12px !important;
  }

  .navigatie .topper {
    display: none;
  }

  .navigatie .nav {
    justify-content: center;
    align-items: center;
    padding-bottom: 0;
  }

  .navigatie {
    padding: 5px 10px;
  }

  .menus article {
    width: 100%;
    margin: 0;
    margin-bottom: 20px;
  }
      .home_formules {
        grid-template-columns: 1fr;
        transform: translateX(0);
        width: min(100%, calc(100% - 30px));
    }

    .formules_ov {
        padding: 56px 32px;
    }

    .formules_det {
        padding: 56px 32px 60px;
    }

    .formules_det > div {
        max-width: 100%;
        margin: 0;
    }
}

@media screen and (max-width: 1050px) {

  .instagram_feed {
    min-height: auto;
    padding-bottom: 0;
  }
  .powertitel {
    margin: 60px auto;
  }
    .powertitel h2 {
        font-size: 45px;
    }
  .hero-cta {
    display: none;
  }
  .hero-cta-mobile {
    display: flex;
    width: 100%;
    flex-direction: row;
    
  }

  .hero-cta-mobile {
    position: fixed; /* Plak aan het scherm */
    bottom: 0;
    left: 0;
    z-index: 100; /* Altijd bovenop alles */
    box-shadow: 0 -5px 20px rgba(0,0,0,0.1);
    background: #fff;
  }

  .hero-cta-mobile a {
    flex: 1; /* Verdeel de ruimte exact in drieën */
    padding: 12px 5px; /* Iets minder padding aan de zijkanten */
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-decoration: none;
        height: 70px;

  }

  .hero-cta-mobile a:nth-of-type(1) {
    background-color: #f4efe9;
    color: #2b2b2b;
  }

  .hero-cta-mobile a:nth-of-type(2) {
    background-color: #3f6a45;
    color: #fff;
  }

  .hero-cta-mobile a:nth-of-type(3) {
    background-color: #252525; /* luxe brons / earth tone */
    color: #fff;
  }

  .hero-cta-mobile a span {
      display: none;
  } 

  .hero-cta-mobile a i {
      font-size: 20px;
      margin-bottom: 10px;
  }

}

@media screen and (max-width: 1024px) {
    .formule-item-wrapper {
        flex-direction: column;
        align-items: flex-start;
        padding: 0;
    }

    .formule-content {
        max-width: 100%;
        padding: 40px;
        order: 2; /* Tekst onder afbeelding */
    }

    .formule-image {
        width: 100%;
        height: 400px;
        order: 1; /* Afbeelding boven tekst */
    }
    
    .formules_ov ul {
        display: flex;
        overflow-x: auto;
        gap: 20px;
        padding-bottom: 10px;
    }

    .formules_ov ul li {
        grid-template-columns: 40px 1fr;
        min-width: 250px;
        border-bottom: none;
        background: rgba(255,255,255,0.05);
        padding: 15px;
    }
    
    .formules_ov ul li > img { display: none; } /* Pijl weg op tablet */
}

@media screen and (max-width: 1000px) {
  .kleinkader article {
    width: calc((100% - 60px) / 3);
  }

  .grootkader article {
    width: 100%;
  }

  .cadeaubon_blg {
    display: none;
  }

  .innerfooter {
    justify-content: space-around;
  }

  .footer_item:first-of-type {
    display: none;
  }

  .footer_item {
    order: 4;
  }

  .footer_item:last-of-type {
    order: 1;
  }

  .product_header_image {
    width: 100%;
  }

  .product_header_content {
    width: 100%;
    max-width: 100%;
  }

  .product_header_content h1 {
    font-size: 20px;
  }

  .product_header {
    flex-wrap: wrap;
  }

  .modal-footer {
    flex-wrap: wrap;
  }

  .modal-footer .btn {
    width: 100%;
  }

  .realisatie_content {
    flex-wrap: wrap;
  }

  .realisatie_content aside {
    width: 100%;
    margin-left: 0;
  }

  .realisatie_content>div {
    width: 100%;
  }

  .realisatie_tekst {
    font-size: 16px;
  }

  .realisatie_detail_content {
    display: none;
  }

  .cadeaubon_form {
    width: 100%;
  }
  .cadeaubon aside {
    width: 100%;
  }
  .cadeaubon_form article {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 15px;
    margin-bottom: 10px;
  }
  .cadeaubon_form article>div:last-of-type {
    width: 100%;
  }
  .cadeaubon_uitleg article {
    flex-direction: column;
  }
  .cadeaubon_uitleg article>div {
    width: 100%;
  }
  .cadeaubon {
    padding: 10px;
  }
  .cadeaubon_form article label {
    width: 100%;
    text-align: center;
  }

    .blog-holder {
    margin-top: 30px;
    flex-wrap: wrap;
  }

  .blog-aside {
    order: 2;
    width: 100%;
    margin-right: 0;
  }

  .blog-main {
    width: 100%;
    padding: 10px;
  }

  .row-block .extra {
    padding: 10px;
  }

  .blog-aside h3 {
    width: 100%;
  }

  .blog-recent {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    -ms-align-items: flex-start;
    align-items: flex-start;
  }

  .blog-recent .blog-item {
    width: 45%;
  }

  .blog-main .blog-img,
  .blog-content-row .tekst-and-image .c {
    padding: 0;
  }
}

/* Verberg mobiele info standaard op desktop */
.team-info-mobile { display: none; }

@media (max-width: 850px) {
    .desktop-only {
        display: none !important; /* Weg met het vaste kader */
    }

    .team {
        padding: 40px 0;
        text-align: center;
    }

    .team_container {
      margin: auto;
      
    }

    .team_slider {
        padding-left: 0 !important; /* Geen padding meer nodig */
        padding-top: 0 !important;
        margin: 0 15px;
    }

    .team-member {
        width: fit-content; /* Slide is nu de hele breedte */
        margin: 0 auto;
        width: 100% !important;
    }

    /* Maak van de slide een groene card */
    .team-card-mobile {
        background-color: var(--green);
        overflow: hidden;
        display: flex;
        flex-direction: column;
    }

    .team-member-image {
      aspect-ratio: 1 / 1;
        border-radius: 0; /* Foto sluit aan op de bovenkant */
        width: 100%;
    }

    .team-info-mobile {
        display: block;
        padding: 30px;
        color: white;
    }

    .team-info-mobile h3 { font-size: 24px; margin: 0; color: #fff; }
    .team-info-mobile h4 { font-size: 14px; text-transform: uppercase; margin: 5px 0 15px; opacity: 0.8; }
    .team-info-mobile p { font-size: 15px; line-height: 1.5; margin: 0; }

    /* Navigatie aanpassen voor mobiel */
    .nav-bar { width: 80px; }
    .team-navigation { margin-top: 30px; }
}

@media screen and (max-width: 900px){

  .in_beeld article {
    width: 49%;
  }

  .beoordelingen article {
    width: 100%;
  }

  .beoordelingen article h2 {
    font-size: 20px;
  }

  .beoordelingen article .tekst {
    font-size: 15px;
  }

  .power article {
    font-size: 25px;
  }

  .referentie_size_switch {
    display: none;
  }

  .select2 {
    width: 100%;
  }

  .referenties_overzicht article {
    width: 50% !important;
  }

  .sfeerbeelden article {
    width: 33.33%;
  }

}


@media screen and (max-width: 860px){
  .menu_filter {
    justify-content: flex-start;
  }

  .menu_filter article {
    width: 50%;
  }

  .menu_filter article i {
    font-size: 22px;
    width: 40px;
  }

  .menu_filter article h2 {
    font-size: 14px;
  }

  .product_list .subcat h2 {
    font-size: 14px;
    padding: 15px;
    border-radius: 0;
  }

  .product_list .subcat article {
    margin: 0;
  }

  .product_list .subcat article h3 {
    font-size: 14px;
  }

  .product_list .subcat article h4 {
    font-size: 12px;
  }

  .product_list .subcat article p {
    font-size: 14px;
  }



  .home_types {
    padding: 10px 0;
    margin-bottom: 10px;
  }

  .home_types {
    flex-wrap: wrap;
  }

  .home_types article {
    width: 100%;
    padding: 10px 20px;
  }

  .home_types article h3 {
    font-size: 25px;
  }
}

@media screen and (max-width: 850px) {
  .kleinkader article {
    width: calc((100% - 40px) / 2);
  }
}

@media screen and (max-width: 800px){
  .hero-cta-mobile a:nth-of-type(1),
  .hero-cta-mobile a:nth-of-type(2) {
    display: none;
  }
  .hero-cta-mobile a {
    width: 100%;
  }
      .home_formules {
        margin: 70px auto 80px;
    }

    .formules_ov {
        padding: 40px 22px;
    }

    .formules_ov > h2 {
        margin-bottom: 28px;
    }

    .formules_ov ul li {
        grid-template-columns: 44px 1fr 16px;
        gap: 14px;
        padding: 14px 0;
    }

    .formule_icon {
        width: 44px;
        height: 44px;
    }

    .formules_ov ul li .formule_icon i {
        font-size: 18px;
    }

    .formules_ov ul li > div:last-of-type {
        font-size: 18px;
    }

    .formules_det {
        padding: 40px 22px 46px;
    }

    .formules_det > div::before {
        margin-bottom: 20px;
    }

    .formules_det > div h2 {
        margin-bottom: 20px;
    }

    .formules_det > div > div:not(.formule-content) {
        font-size: 17px;
        line-height: 1.8;
        margin-bottom: 28px;
        max-width: 100%;
    }

    .formules_det > div > a {
        font-size: 16px;
    }

      .formules_ov > h2 {
      font-size: 32px;
    }
  .grijze_ak_content {
    transform: none;
  }

  .grijze_ak_content img {
    display: none !important;
  }

  .grijze_ak_content .fotos {
    display: none;
  }

  .aks {
    transform: none;
  }

  .grijze_ak_content>div {
    width: 100%;
  }

  .grijze_ak {
    margin-top: 0;
  }

  .grijze_ak_content>div h2 {
    text-align: center;
    font-size: 22px;
  }

  .grijze_ak_content>div div {
    text-align: center;
  }

  .grijze_ak_content>div {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex-direction: column;
  }

  .aks .slick-dots {
    width: 100%;
    margin-left: 0;
    margin-top: 25px;
  }

  .aks .slick-arrow {
    bottom: -25px;
    left: 48%;
    transform: translateX(-50%);
  }

  .aks .slick-next {
    left: 52%;
  }
  .navigatie {
    align-items: flex-end;
  }
  .navigatie .logo {
    width: 80px;
  }


  .page_header {
    padding: 30px 10px;
  }

  .page_header h1,
  .blog-main .blog-img .h1 {
    font-size: 30px;
  }

  .page_header > div,
  .blog-main .c {
    font-size: 20px;
  }

   .blog-main .blog-img .h1 {
    margin-bottom: 0;
   }

  .blog-content {
    margin-top: 30px;
  }

  .blog-content-row h2 {
    font-size: 25px;
    margin-bottom: 0;
  }

  .blog-content-row .tekst-and-image {
    gap: 10px;
  }
  .products article {
    width: 48%;
  }

  .producten_preview .producten article {
    width: 98%;
  }

  .grijze_ak>h2 {
    display: none;
  }

  
  .blokken {
    gap: 0px;
  }

  .blokken article > div h2 {
    font-size: 24px;
  }

  .blokken article > div div {
    font-size: 18px;
  }

  .blokken article > div a {
    font-size: 18px;
  }

  .contact_split div p {
    font-size: 18px;
  }

  .troeven article {
    width: 100%;
    margin: 10px 0;
  }

  .troeven article > h2 {
    font-size: 18px;
  }

  .troeven article div {
    font-size: 18px;
  }

  .winkelwagen_pagina>h1, .gegevens_pagina h1 {
    font-size: 18px;
  }

  .financial dt,
  .financial dd {
    font-size: 18px;
  }

  .shopping_cart article h2 {
    font-size: 18px;
  }

  .shopping_cart article {
    flex-wrap: wrap;
  }

  .goto_prev {
    font-size: 14px;
  }

  .goto_next {
    font-size: 14px;
    padding: 10px 20px;
  }

  .sub_article .price {
    font-size: 14px;
  }

  .sub_article {
    width: 100%;
  }

  .main {
    width: 100%;
  }

  .shopping_cart article:first-of-type {
    display: none;
  }

  .controle_item {
    font-size: 15px;
  }

  .controleren_content>h2 {
    font-size: 20px;
  }

  .controleren_content article div h2 {
    font-size: 16px;
  }

  .controleren_content article div h3 {
    font-size: 12px;
  }

  .controleren_content article img {
    width: 80px;
  }

  .controleren_content .totaalprijs {
    font-size: 16px;
  }
  .home_banner .content h2 {
    font-size: 30px;
  }

  .grijze_ak {
    margin-top: 0 !important;
  }

  .grijze_ak article {
    padding-top: 5px;
  }

  .page_header h1 {
    font-size: 25px;
    line-height: 150%;
  }

  .page_header h2 {
    margin-bottom: 5px;
  }

  .producten_preview > h2 {
    font-size: 22px;
    line-height: 150%;
  }

  .producten_preview_tekst {
    font-size: 18px;
  }

  .footer_item a {
    font-size: 17px;
  }
  .powertitel {
    width: 100%;
  }
  .blog-rows .blog-main .blog-inhoud h2 {
    font-size: 1.6em;
  }

  .blog-content-row .multi-img-holder.four>*, .blog-content-row .multi-img-holder.three>* {
    width: 49%;
  }

  .blog-content-row .multi-img-holder.four>*:nth-child(-n+2) {
    margin-bottom: 2%;
  }

  .blog-content-row .multi-img-holder.three>*:last-child {
    display: none;
  }

  .links a {
    width: 100%;
  }
  .navigatie,
  .navholder.scrolled .navigatie {
    height: auto;
  }
}

@media screen and (max-width: 750px) {

  .home_ovelay .slider .slick-arrow {
    right: 20px;
    bottom: 20px;
  }

  .home_ovelay .slider .slick-prev {
    right: initial;
    left: 20px;
  }


  .home_ovelay article > div .content {
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .home_ovelay article .home_overlay_btn {
    margin-top: 10px;
    font-size: 18px;
    padding: 10px 0;
  }

  .home_ovelay article > div .content h2 {
    font-size: 35px;
  }

  .vragen article {
    padding: 15px;
  }

  .navigatie .webshoplnk {
    font-size: 20px;
    padding: 14.5px 20px; 
  }

  .blog-recent .blog-item {
    width: 100%;
  }
}


@media screen and (max-width: 700px) {
  .footer_item {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
  }

  .footer_item.algemeen {
    display: flex;
    order: 1;
  }

  .footer_inner {
    align-items: center;
  }

  .referenties_overzicht article {
    width: 100% !important;
  }

  .tarieven_cat {
    padding: 10px;
  }

  .rozekader {
    padding: 20px !important;
  }

  .tarieven_cat h2 {
    font-size: 20px;
  }

  .tarieven_cat p {
    font-size: 17px;
  }

  .vragen_form {
    padding: 20px 0;
    border: none;
    border-top: 2px solid #f6f6f6;
  }

  .vragen_form .field label {
    font-size: 17px;
  }

  .vragen_form input[type=text], .vragen_form input[type=email], .vragen_form textarea {
    font-size: 17px;
  }

  .powertitel h2 {
    font-size: 25px;
  }

  .contact_form input[type=submit] {
    font-size: 16px;
    padding: 10px 30px;
  }

  .curtaindrop h2 {
    font-size: 40px;
  }

  .curtaindrop p {
    font-size: 22px;
  }

    .extrafooter {
    flex-direction: column;
  }
  .socials {
    order: 1;
    margin-bottom: 30px;
  }
  .siteby {
    order: 2;
  }

  .socials a {
    width: 30px;
    height:30px;
    font-size: 18px;
  }

  .extrafooter .siteby a {
    font-size: 14px;
  }

  .extrafooter .siteby>div>div {
    gap: 15px;
  }

  .formules_ov>h2 {
      font-size: 40px;
  }

  .blog-row .row-block, .blog-row.type-b .row-block {
    width: 100%;
    margin-bottom: 4.0816326530612244897959183673469%;
  }

  .row-block:not(:nth-child(2n)) {
    margin-right: 0;
  }

  .blog-row.reverse .row-block:first-child {
    margin-left: 0;
  }

  .blog-row {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 768px) {
    .formule-image {
        display: none; /* Verberg afbeelding volledig zoals gevraagd */
    }

    .mobile-video-btn {
        display: flex;
        align-items: center;
        gap: 10px;
        margin-top: 20px;
        padding: 10px 20px;
        background: #3f6a45;
        color: white;
        border: none;
        border-radius: 50px;
        font-family: 'League Spartan', sans-serif;
        font-weight: 500;
        cursor: pointer;
    }

    .formule-content h2 {
        font-size: 28px;
        margin-bottom: 10px;
    }

    .formule-text {
        font-size: 16px;
        line-height: 1.6;
    }

    .formule-actions {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .formule-content a {
        margin-top: 10px;
        text-align: center;
    }
    .formules_ov h2 {
        font-size: 32px;
    }
    
    .formules_ov ul li {
        flex: 0 0 240px; /* Iets smaller op kleine telefoons */
    }

    .home_formules {
      margin-bottom: 0;
    }

    .formules_det {
      padding-bottom: 0;
    }

    .uptop {
      display: none;
    }

    .contact-bubble {
    left: auto;
    right: 20px;
    top: auto;
    bottom: 20px;
    /* Schuif van onder naar boven ipv van links naar rechts */
    transform: translateY(150%);
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
  }

  .contact-bubble.visible {
    transform: translateY(0);
  }

  /* Forceer ALTIJD compact (geen label op mobiel) */
  .label {
    display: none !important;
  }
  
  .bubble-trigger {
    gap: 0;
  }

  .bubble-inner {
    padding: 8px !important; /* Altijd compacte cirkel */
    border-left: 3px solid #E7DDEB;
  }

  /* Verberg het witte lijntje naar links op mobiel */
  .bubble-inner::before {
    display: none;
  }

  /* ACTIVE STATE OP MOBIEL (Aangepast formaat) */
  .contact-bubble.active .bubble-inner {
    width: calc(100vw - 40px); /* Bijna schermbreed met marges */
    max-width: 320px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    border-radius: 25px;
    padding: 25px 20px !important;
    border-left: 0;
    align-items: center; /* Alles centreren op mobiel voor betere look */
  }

  .contact-bubble.active .bubble-content {
    text-align: center;
  }

  .bubble-content p.title {
    font-size: 17px;
    margin-bottom: 10px;
  }

  .contact-bubble.active .avatar {
    width: 65px;
    height: 65px;
  }

  .contact-links {
    gap: 8px;
  }

  .bubble-content a {
    padding: 12px;
    background: #f8fcf8;
    justify-content: center; /* Knoppen centreren op mobiel */
  }

  .bubble-close {
    top: 15px;
    right: 15px;
    width: 32px; /* Iets groter voor makkelijker klikken met duim */
    height: 32px;
  }
  
  /* Zorg dat de melding-dot goed staat in compacte mobiele stand */
  .notif-dot {
    top: 0;
    right: 0;
  }
}


@media screen and (max-width: 650px) {
  .footer_item {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }

  .formules {
    order: 3;
  }

  .locaties {
    order: 2;
  }

  .footer_item div span {
    display: none;
  }

  .navigatie .share {
    display: none;
  }

  .webshop-form #field_Voornaam, .webshop-form #field_Naam, 
  .webshop-form #field_Huisnummer, .webshop-form #field_Postcode,
  .webshop-form #field_Gemeente {
    width: 100%;
  }

  .webshop-form input[type=submit] {
    font-size: 15px;
  }

  .sfeerbeelden article {
    width: 50%;
  }

  .contact_gegevens h1 {
    font-size: 22px;
    margin-bottom: 10px;
    text-align: left;
  }

  .contact_split {
    margin-top: 0px !important;
  }

  .contact_gegevens h2 {
    font-size: 17px;
    text-align: left;
  }

  .contact_info h2 {
    font-size: 22px;
    text-align: left;
    margin-bottom: 10px;
    font-weight: 700;
    width: 100%;
  }

  .contact_split div p {
    padding: 5px 0;
    font-size: 17px;
    padding-left: 40px;
    text-align: left;
    width: 100%;
  }

  .contact_gegevens > div a {
    justify-content: flex-start;
    align-items: flex-start;
  }

  .blog-overzicht .inhoud a {
    font-size: 16px;
    font-weight: 200;
  }

  .blog-funnels a {
    padding: 10px 24px;
  }

  .blokken article .slick-arrow {
    width: 40px;
    height: 40px;
    font-size: 15px;
    left: 55px;
  }
.blokken article:nth-of-type(even) .slick-prev {
    right: 55px;
  }

  .formules_det {
    padding-left: 0;
    padding-right: 0;
  }
  .formules_ov ul li {
    min-width: 100%;
    flex: 0 0 100%;
  }
  .formule-content {
    padding: 20px;
  }

   .formules_ov > h2 {
      font-size: 32px;
    }
}

@media screen and (max-width: 600px) {
  .PL_Wrapper {
    right: 10px;
  }

  .products article {
    width: 98%;
  }

  .signature {
    display: none;
  }

  .paraf {
    display: block !important;
    width: 100px;
    margin-bottom: 20px;
  }

  .footer_item {
    margin-bottom: 0;
  }

  .blog-more-nav-btn {
    display: block;
  }

  .blog-more-nav {
    display: none;
  }


}


@media screen and (max-width: 550px) {
  .nuttige_info .container {
    gap: 0;
  }
  .kleinkader article {
    width: 100%;
    border-radius: 0;
    box-shadow: none;
    border-bottom: 1px solid #E1E1E1;
  }

  .kleinkader article:first-of-type {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
  }

    .kleinkader article:last-of-type {
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
  }

  

  .blog-main .share-card {
    width: 100%;
  }

  .blog-main .share-content {
    gap: unset;
  }

}
@media screen and (max-width: 510px) {
    
  .extrafooter {
    flex-direction: column;
  }
  .socials {
    order: 1;
    margin-bottom: 30px;
  }
  .siteby {
    order: 2;
  }

  .socials a {
    width: 30px;
    height:30px;
    font-size: 18px;
  }

  .extrafooter .siteby a {
    font-size: 14px;
  }

  .extrafooter .siteby>div>div {
    gap: 15px;
  }

  .formules_ov ul .activeFormule > div:last-of-type, .formules_ov ul li:hover > div:last-of-type,
  .formules_ov ul li>div:last-of-type {
    font-size: 21px;
    font-weight: 400;
}
}

@media screen and (max-width: 500px) {
  .PL_Buttons a {
    width: 100%;
    margin: 0;
    margin-top: 15px;
  }

  .PL_Buttons {
    flex-wrap: wrap;
  }

  .extrafooter .siteby>div>div {
    flex-direction: column;
  }

  .extrafooter .siteby a {
    font-weight: 200;
  }

  .siteby img {
    display: none;
  }

  .floatinglink {
    display: none;
  }
  .navigatie .webshoplnk,
  .oplossing_det>div>a,
  .home_banner .content a {
    padding: 10px 15px;
    font-size: 18px;
  }
  .footer_inschrijven a {
    padding: 7px 15px;

}
}
@media screen and (max-width: 450px) {
  .menu_filter article {
    width: 100%;
  }

  .bevestiging h1 {
      font-size: 1.4em;
      padding-top: 0.5em;
      padding-bottom: 0.5em;
  }
  .bevestiging p {
      font-size: 15px;
  }
  .bevestiging a {
      font-size: 14px;
  }

}


@media screen and (max-width: 400px){
  .navigatie .webshoplnk {
    display: none;
  }

  .row-block.extra {
    display: none;
  }


}
