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;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
}
ol, ul {
  list-style: none;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
* {box-sizing: border-box;}
html, body {
    min-height: 100%;
    overflow: auto;
}
body {
  font-family: "Muli", Arial, Helvetica, sans-serif;
  font-size-adjust: 0.52;
  font-display: swap;
  font-style: normal;
  font-stretch: normal;
  line-height: 1.75;
  background-color: #fff;
  color: #121212;
  font-size: 16px;
  font-weight: 400;
  font-style: normal;
  letter-spacing: normal;
-moz-osx-font-smoothing: grayscale;
 -webkit-font-smoothing: antialiased;
 position: relative;
}
body.fixed {
  overflow: hidden;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
  max-width:100%;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
iframe,video {
  max-width:100%;
  height:auto;
}
img {
  border: 0;
  max-width:100%;
  height:auto;
}
hr {
  box-sizing: content-box;
  height: 0;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
label,legend {
    font-size: 14px;
    font-weight: 700;
  line-height: 28px;
  display:block;
}
input[type="text"],input[type="password"],input[type="url"],input[type="email"],input[type="tel"],input[type="search"], textarea,select {
  display:block;
  padding: 18px 20px;
  color: #121212;
  font-size: 18px;
  line-height: 24px;
  font-weight: 400;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  background-color: #ffffff;
  width: 100%;
  border: 1px solid transparent;
  font-family: "Muli", Arial, Helvetica, sans-serif;
}
::-webkit-input-placeholder { 
  color: #757575;
}
::-moz-placeholder { 
  color: #757575;
}
:-ms-input-placeholder { 
  color: #757575;
}
:-moz-placeholder { 
  color: #757575;
}
input[type="text"]:focus,input[type="password"]:focus,input[type="url"]:focus,
input[type="email"]:focus,input[type="tel"]:focus,input[type="search"]:focus, textarea:focus,select:focus {
  border: 1px solid #c7c7c7;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;   
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: none;
  margin: 0 0 20px;
  padding: 0;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
  resize:vertical;
  max-width: 100%;
  width: 100%;
  max-height: 218px;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  width:100%;
}
td,
th {
  padding: 0;
}
strong,b {font-weight:700;}
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-weight: 700;
  line-height: 1.33;
  margin-bottom: 15px;
  color: #121212;
  font-family: "Muli", Arial, Helvetica, sans-serif;
}
h1,.h1 {  
  font-size: 100px;
}
h2,.h2 {
  font-size: 40px;
  line-height: 1.25;
}
h3,.h3 {
  font-size: 30px;
  line-height: 1.33;
}
h4,.h4 {
  font-size: 24px;
}
h5,.h5 {
  font-size: 20px;
}
h6,.h6 {
  font-size: 18px;
  line-height: 1.56;
}
p {
  line-height: 1.75;
  color: #121212;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 24px;
  font-family: "Muli", Arial, Helvetica, sans-serif;
}
ul {
  margin-bottom: 20px;
  padding-left: 1em;
  list-style:square;
}
li {
  line-height: 1.75;
  color: #121212;
  font-size: 16px;
  font-weight: 400;
}
a {
  color: #121212;
  text-decoration:none;
}
a:hover {
  color: #35666f;
  text-decoration:underline;
}
address {
  font-size: 16px;
  font-weight: 400;
  line-height: 30px;
  display:block;
  font-style:normal;
  font-family: "Muli", Arial, Helvetica, sans-serif;
}
em,i {font-style:italic;}
strong,b {font-weight:700;}
blockquote {
  padding: 30px 0 36px 44px;
    border-left: 7px solid #d9e3e3;
    margin: 56px 0 56px 30px;
}
blockquote p {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75;
  margin: 0;
 }
*:focus {
  outline: 0;
}
embed,
iframe,
object {
  max-width: 100%;
}
@font-face {
  font-family: "icomoon";
  src:  url("../icons/icomoon.eot?jn9iha");
  src:  url("../icons/icomoon.eot?jn9iha#iefix") format("embedded-opentype"),
    url("../icons/icomoon.ttf?jn9iha") format("truetype"),
    url("../icons/icomoon.woff?jn9iha") format("woff"),
    url("../icons/icomoon.svg?jn9iha#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
  font-display: swap; 
}
[class^="icon-"], [class*=" icon-"],.fa {
  
  font-family: "icomoon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.icon-printer:before {
  content: "";
}
.icon-Path_306:before {
  content: "";
}
.icon-Menu:before {
  content: "";
}
.icon-close:before {
  content: "";
}
.icon-exclamation-tringle:before {
  content: "";
}
.icon-eye:before {
  content: "";
}
.icon-exclamation-circle:before {
  content: "";
}
.icon-facebook-messenger:before {
  content: "";
}
.icon-clock:before {
  content: "";
}
.icon-share_1:before {
  content: "";
}
.icon-arrow-right:before {
  content: "";
}
.icon-dropdown:before {
  content: "";
}
.icon-ice:before {
  content: "";
}
.icon-hook:before {
  content: "";
}
.icon-arrow-left:before {
  content: "";
}
.icon-upload:before {
  content: "";
}
.icon-Zoeken:before {
  content: "";
}
.icon-calendar:before {
  content: "";
}
.icon-star:before,.fa-star:before {
  content: "";
}
.icon-check:before { 
  content: "";
}
.icon-water:before {
  content: "";
}
.icon-fish:before {
  content: "";
}
.icon-dog:before {
  content: "";
}
.icon-people:before {
  content: "";
}
.icon-message:before {
  content: "";
}
.icon-email:before {
  content: "";
}
.icon-phone:before {
  content: "";
}
.icon-plus:before {
  content: "";
}
.icon-minus:before {
  content: "";
}
.icon-cross:before {
  content: "";
}
.icon-play2:before {
  content: "";
}
.icon-play3:before {
  content: "";
}
.icon-facebook:before {
  content: "";
}
.icon-facebook2:before {
  content: "";
}
.icon-instagram:before {
  content: "";
}
.icon-whatsapp:before {
  content: "";
}
.icon-twitter:before {
  content: "";
}
.icon-youtube:before {
  content: "";
}
.icon-linkedin2:before {
  content: "";
}
.icon-location:before {
  content: "";
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"],.button {
  -webkit-appearance: none;
  cursor: pointer;
  border-radius:0;
  position: relative;
  display: inline-block;
  padding: 12px 20px;
  line-height: 24px;
  font-size: 16px;
  text-align: center;
  font-weight: 700;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  border-radius: 4px;
  background-color: #ff7900;
  border: 1px solid transparent;
  color:#000;
  transition: all .2s;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,.button:hover {
  background-color: transparent;
  color: #ff7900;
  border: 1px solid #ff7900;
  text-decoration: none;
}
.btn-unfill {
  background-color: transparent;
  color: #35666f;
  border: 1px solid #35666f;
}
.btn-unfill:hover {
  background-color: #35666f;
  border: 1px solid transparent;
  color:#fff;
  text-decoration: none;
}
.button-b {
  font-size: 18px;
  line-height: 32px;
}
.button-white {
  background-color: #fff;
  border-radius: 4px;
  color: #121212;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.clearfix:after {
  visibility: hidden;
  display: block;
  font-size: 0;
  content: " ";
  clear: both;
  height: 0;
}
* html .clearfix { zoom: 1; }
*:first-child+html .clearfix { zoom: 1; }
.container {
  margin: 0 auto;
  padding:0 15px;
  width:100%;
  max-width:1215px;
    min-height: 1px;
  contain: layout !important;

}
.container-fluid {
  width: 100%;
  padding: 0 80px;
}
.d-flex {
  display:flex;
}
.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px
}
.row>div {
  padding-left: 15px;
  padding-right: 15px
}
.col1 {
  width: 8.33%
}
.col2 {
  width: 16.66%
}
.col3 {
  width: 25%
}
.col4 {
  width: 33.33%
}
.col5 {
  width: 41.66%
}
.col6 {
  width: 50%
}
.col7 {
  width: 58.34%
}
.col8 {
  width: 66.66%
}
.col9 {
  width: 75%
}
.col10 {
  width: 83.33%
}
.col11 {
  width: 91.66%
}
.col12 {
  padding: 0 15px;
  width: 100%
}
.align-center {
  align-items: center
}
.justify-between {
  justify-content:space-between;
}
.justify-center {
  justify-content:center;
}
.justify-end {
  justify-content:flex-end;
}
.text-center {
  text-align:center;
}
.text-right {
  text-align:right;
}
.d-none {
  display: none;
}
.visvakantie-menu {
  padding: 0;
  margin:0;
  list-style:none;
  display:flex;
  justify-content:space-between;
  align-items:center;
  position: relative;
  
  
}
.vakanties-column {
        width: 24%;
        display: inline-block;
        vertical-align: top;
        padding: 0 15px;
        box-sizing: border-box;
        list-style:none;
        
    }
.vakanties-column ul li {
  line-height:1.2;
  list-style:none;
  width: 100% !important;
}
.visvakantie-menu li {
  list-style: none;
}
.toggle-submenu,
.toggle-menu {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.25;
      padding: 10px;
  transition:.3s all;
  display:inline-block;
	padding:10px 20px;
	text-decoration:none;


}
.toggle-submenu:hover,
.toggle-menu:hover {
background-color: #5e9cae;
  border-radius: 4px;
  color:white;
}
/* Wanneer de dropdown open is (parent :hover) zorgen we dat de
   submenu-knop EN de dropdown er als één geheel uitzien:
   - Knop houdt de blauwe hover-kleur (rond aan boven, vlak aan
     onder zodat hij visueel doorstroomt naar de dropdown)
   - Geen border-radius bottom-corners op de knop
   - Dropdown krijgt geen border-radius top zodat de aansluiting
     zonder gat verloopt */
.visvakantie-menu:hover .toggle-submenu {
    background-color: #5e9cae;
    color: #fff;
    border-radius: 4px 4px 0 0;
}
.toggle-submenu::after {
	content: "▼";
	margin-left:15px;
	float:right;
	font-size: 14px;
}
.country a {
	font-weight: 700;
 }
.country a::after {
	content: ">";
	margin-left:10px;
	font-size: 10px;

}
.dropdown-visvakanties,
.dropdown-landen {

	position: absolute;
    top: 100%;
    padding: 0;
	margin: 0;
    /* Stevige drop-shadow + extra ring voor diepte:
       1) zware ambient shadow (40px blur, hoge opacity)
       2) tweede laag verder weg (80px blur, subtieler)
       3) thin border om de rand crisp te maken tegen lichte content
       Plus 4px solid accent top-border ipv 3px voor meer contrast
       met de pagina-content erachter. */
    box-shadow:
        0 22px 48px rgba(15, 38, 60, 0.55),
        0 60px 100px rgba(15, 38, 60, 0.35),
        0 0 0 1px rgba(15, 38, 60, 0.08);
    border-radius: 0 0 6px 6px;
    border-top: 4px solid #5e9cae;
    background-color: #ffffff;
    display: flex;
    flex-wrap: wrap;
    display: none;
    padding: 26px 30px;
    /* Hoger dan venue-page .back-button (z:1) zodat de dropdown er
       overheen valt — back-button blijft zichtbaar maar onder. */
    z-index: 2;
}
.light-header .visvakantie-menu > a {
  color: #fff;
}
.visvakantie-menu:hover .dropdown-visvakanties,
.visvakantie-menu:hover .dropdown-landen {
    display: block;
	background-color: #ffffff;
}
@media (min-width: 1200px) {
.vakanties-column {
        width: 24%;
          }
/* "Visvakanties per land" dropdown krijgt dezelfde positionering
   + multi-column layout als "Alle visvakanties". JS-positioner
   (script.js) plaatst 'm gecentreerd onder de juiste knop met
   viewport-clamp. Kleiner dan de zus-dropdown want 'ie toont
   alleen landnamen (geen venues). */
.dropdown-landen {
    right: 0;
    left: auto;
    width: min(640px, calc(100vw - 40px));
    min-width: 0;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    column-count: 4;
    column-gap: 24px;
}
.dropdown-landen .vakanties-column {
    width: auto;
    display: block;
    margin: 0 0 12px;
    padding: 0;
}
.dropdown-landen .vakanties-column:last-child { margin-bottom: 0; }
/* "Alle visvakanties" dropdown — basis-positie via CSS, een
   klein JS-snippet (script.js: positionAllVenuesDropdown) tuneert
   't exact onder de knop zonder voorbij viewport te schieten.
   Brede 1200px om alle landnamen op één regel te krijgen +
   genoeg ruimte voor langere venue-titels. */
.dropdown-visvakanties {
    /* Geen !important meer op left/right zodat de JS-positioner
       (script.js: positionAllVenuesDropdown) de waardes vrij kan
       overschrijven om de dropdown gecentreerd onder de knop te
       plaatsen met viewport-clamp. Initial CSS-positie is "best
       guess" voor 't moment vóór JS gerund heeft. */
    right: 0;
    left: auto;
    width: min(1200px, calc(100vw - 40px));
    min-width: 0;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    padding: 26px 30px;
    column-count: 4;
    column-gap: 28px;
    column-rule: 1px solid rgba(15, 38, 60, 0.06);
    display: none;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 14px 38px rgba(15, 38, 60, 0.18);
}
.visvakantie-menu:hover .dropdown-visvakanties {
    display: block;
}
.dropdown-visvakanties .vakanties-column {
    /* Country-blokken flowen continu in alle kolommen achter
       elkaar (Bosnië → Frankrijk → Italië → ...). Frankrijk's
       lange lijst mag dus over een kolomgrens heen breken — dan
       blijft het hele blok niet één kolom claimen. break-inside
       op de UL (niet op de hele column) houdt land+header bij
       elkaar bovenaan, en de venues stromen door. */
    width: auto;
    display: block;
    margin: 0 0 16px;
    padding: 0;
}
.dropdown-visvakanties .vakanties-column:last-child { margin-bottom: 0; }
/* Header + eerste venue niet uit elkaar laten lopen — een land-
   titel onderaan een kolom met de venues in de volgende oogt
   raar. avoid op de heading-li houdt de header met de eerste
   venue bij elkaar. */
.dropdown-visvakanties .vakanties-column .country {
    break-after: avoid-column;
    -webkit-column-break-after: avoid;
    page-break-after: avoid;
}
/* Country headings: hiërarchie via weight + lichte border-onder,
   GEEN kleur-override — laat 't theme-link kleur z'n werk doen
   zodat de header consistent blijft met de rest van de site. */
.dropdown-visvakanties .country {
    margin: 0 0 8px;
    padding: 0 0 5px;
    border-bottom: 1px solid rgba(15, 38, 60, 0.1);
}
.dropdown-visvakanties .country a {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}
.dropdown-visvakanties .vakanties-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.dropdown-visvakanties .vakanties-column ul li {
    line-height: 1.4;
    margin: 0 0 1px;
    padding: 0;
}
.dropdown-visvakanties .vakanties-column ul li a {
    font-size: 13px;
    display: inline-block;
    padding: 1px 0;
}
}
@media (max-width: 1199px) and (min-width: 768px) {
.vakanties-column {
        width: 50%;
    }
.dropdown-landen {
    right: 0;
    left: auto;
    width: min(560px, calc(100vw - 40px));
    min-width: 0;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    column-count: 3;
    column-gap: 22px;
}
.dropdown-landen .vakanties-column {
    width: auto;
    display: block;
    margin: 0 0 10px;
    padding: 0;
}
.dropdown-visvakanties {
    right: 0;
    left: auto;
    width: min(960px, calc(100vw - 40px));
    min-width: 0;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    padding: 22px 26px;
    column-count: 3;
    column-gap: 24px;
    column-rule: 1px solid rgba(15, 38, 60, 0.06);
    display: none;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 12px 32px rgba(15, 38, 60, 0.18);
}
.dropdown-visvakanties .country a {
    white-space: nowrap;
}
.visvakantie-menu:hover .dropdown-visvakanties {
    display: block;
}
.dropdown-visvakanties .vakanties-column {
    width: auto;
    display: block;
    margin: 0 0 14px;
    padding: 0;
}
.dropdown-visvakanties .vakanties-column .country {
    break-after: avoid-column;
    -webkit-column-break-after: avoid;
    page-break-after: avoid;
}
.dropdown-visvakanties .country {
    margin: 0 0 6px;
    padding: 0 0 4px;
    border-bottom: 1px solid rgba(15, 38, 60, 0.1);
}
.dropdown-visvakanties .country a {
    font-size: 14px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.dropdown-visvakanties .vakanties-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.dropdown-visvakanties .vakanties-column ul li a {
    font-size: 13px;
}
}
@media (max-width: 767px) {
.vakanties-column {
        width: 100% !important;
    }
.visvakantie-menu:hover .dropdown-landen,
.visvakantie-menu:hover .dropdown-visvakanties {
	position:relative;
	top:0px;
	left:0px;
	padding:10px;
	z-index:99998;
	
}
.visvakantie-menu {
  padding: 0;
  margin:0;
  display: block;

}
.country {
  line-height: 0.75;
  width: 100%;
}
.country a::after {
	content: ">";
	float:right;

}
}
header#masthead {
  width:100%;
  position:relative;
  z-index:999;
  background: #fff;
}
header#masthead.abs-header {
  position: absolute;
}
header#masthead.light-header {
  background: none;
}
header#masthead.abs-header.active {
  padding-top: 6px;
}
.top-header {
  border-bottom: 1px solid #dddddd;
  padding:15px 0;
}
.top-header .right-header {float:right;display:flex;align-items: center;}
.top-header .right-header ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.top-header .right-header ul.social-icons {
  margin-left: 16px;
  padding-left: 32px;
  border-left: 1px solid #dddddd;
}
ul.social-icons li {
  display:inline-block;
  padding:0 7px;
}
ul.social-icons li a {
  font-size: 18px;
}
ul.social-icons li a:hover {
  opacity:.8;
  text-decoration: none;
}
.top-menu a {
  font-size: 15px;
  display: block;
  margin: 0 20px;
}
.light-header .top-menu a,
.light-header ul.social-icons li a {
  color: #fff;
}
.primary-header {
  position:relative;
  width: 100%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.light-header .primary-header {
  box-shadow: none;
}
.primary-header.sticky {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}
.primary-header .nav-brand {
  float:left;
  max-width:20%;
  padding:27px 0 15px;
}
.primary-header .header-nav {
  float:right;
  max-width:79%;
  position: relative;
}
@media (min-width:1200px) {
.open-menu:after {
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,.34);
    z-index: 99;
  }
.open-menu header#masthead {
    background: #fff;
  }
.open-menu .primary-header {
    width: 100%;
    box-shadow: 0 2px 4px rgb(0 0 0 / 8%);
  }
.primary-header nav.header-nav {
    display: flex !important;
    align-items: center;
  }
}
.search-box {
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.04);
  border-radius: 4px;
  border: 1px solid #dddddd;
  background-color: #ffffff;
  width: 299px;
  margin-left: 15px;
}
.search-form {
  margin: 0;
  padding: 0;
  border-style: none;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  overflow: hidden;
  width: 100%;
  position: relative;
}
::-webkit-input-placeholder { 
  color: #757575;
}
::-moz-placeholder { 
  color: #757575;
}
:-ms-input-placeholder { 
  color: #757575;
}
:-moz-placeholder { 
  color: #757575;
}
.search-form input {
  color: #757575;
  font-size: 16px;
  font-weight: 400;
  padding: 0 15px;
  line-height:50px;
  margin:0;
  width:100%;
  border-radius: 4px;
  border: 1px solid transparent;
  background-color: #ffffff;
  padding-left: 50px;
}
.search-form .submit {
  width:40px;
  height: 50px;
  display: -ms-flexbox;
  border: none;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  justify-content:center;
  padding:0;
  position: absolute;
  left: 0;
  top: 0;
  background-color: transparent;
  box-shadow: none;
  color: #121212;
}
.toggle-mnu {
  width: 28px;
  height: 22px;
  margin-left: 20px;
  position:relative;
  z-index:3;
}
.toggle-mnu.on {
  top: 6px;
  z-index:99;
}
.toggle-mnu span:after, .toggle-mnu span:before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
}
.toggle-mnu span:after {
  top: 18px;
}
.toggle-mnu span {
  position: relative;
  display: block;
}
.toggle-mnu span, .toggle-mnu span:after, .toggle-mnu span:before {
  width: 100%;
  height: 1px;
  background-color: #121212;
  transition: all 0.3s;
  backface-visibility: hidden;
  border-radius: 2px;
}
.light-header .toggle-mnu span,.light-header .toggle-mnu span:after,.light-header .toggle-mnu span:before {
  background-color: #fff;
}
.toggle-mnu.on span.middle-half,
.toggle-mnu.on span.middle-half:after,
.toggle-mnu.on span.middle-half:before {
  display: none;
}
.toggle-mnu.on span {
  background-color: transparent;
}
.toggle-mnu.on span:before {
  transform: rotate(45deg) translate(-1px, 0px);
}
.toggle-mnu.on span:after {
  transform: rotate(-45deg) translate(6px, -7px);
}
.mobile-toggle {
  display: none;
}
.light-header .toggle-mnu span:last-child:before,
.light-header .toggle-mnu span:before,
.light-header .toggle-mnu span:first-child:before {
    width: 20px;
}
.menu-lang {
  position: relative;
  display: flex;
  align-items: center;
  margin-left: 15px;
  padding:10px 15px;
  width: 90px;
  height: 50px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
  border-radius: 4px;
  background-color: #ffffff; 
  border: 1px solid #dddddd;
}
.lang-toggle, .menu-lang ul li a {
  align-items: center;
  display: flex; 
  white-space: nowrap;
}
.lang-toggle:hover {
  text-decoration: none;
}
.lang-toggle:after {
  content: "";
  font-family: "icomoon";
  font-size: 10px;
  display: inline-block;
  margin-left: 5px;
}
.menu-lang img {
  height: 12px;
  width: 18px;
  border-radius: 10px;
  margin-right: 8px;
}
.menu-lang span {
  color: #121212;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
}
.menu-lang ul {
  list-style:none;
  margin: 0;
  padding: 0;
  position: absolute;
  left: 0;
  top:100%;
  min-width: 100%;
  text-align: center;
  display: none;
  z-index:9;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
  border-radius: 0 0 4px 4px;
  background-color: #ffffff; 
  border: 1px solid #dddddd;
  width: 38px;
    padding: 10px;
}
.menu-lang ul li {
  padding:4px 0;
}
.menu-lang i {margin-left:4px;}
@media (max-width: 1599px) {
.search-box {
      width: 200px;
  }
.container-fluid {
    width: 100%;
    padding: 0 30px;
  }
}
@media (max-width:1199px) {
.mobile-toggle {
    display: flex;
    width: 50%;
    justify-content: flex-end;
    align-items: center;
    float: right;
    padding: 15px 0;
  }
.mobile-toggle .button {
    padding: 10px 18px;
    line-height: 22px;
  }
.primary-header .nav-brand {
      max-width: 50%;
      padding: 22px 0 10px;
  }
.primary-header .header-nav {
    display: none;
  }
.mobile-top-menu,.menu-lang-wrapper .social-icons {
  list-style: none;
  margin: 0;
  padding: 0;
}
.mobile-top-menu {
  order: 3;
}
.mobile-top-menu a {
  color: #121212;
  font-size: 16px;
  font-weight: 400;
  display: block;
  padding: 5px 30px;
}
.header-nav .search-box {
    width: calc(100% - 40px);
    margin: 15px 20px;
    order: 1;
}
.menu-lang-wrapper {
  display: flex;
  justify-content: space-between;
  order: 4; 
  padding: 40px 30px 30px;
}
.menu-lang-wrapper ul.social-icons li a {
    font-size: 22px;
}
.primary-header .header-nav {
      float: none;
      max-width: 100%;
      position: absolute;
      top: 100%;
      background: #fff;
      left: 0;
      width: 100%;
      z-index: 9;
      display: none;
      box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16);
    -webkit-box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16);
    -moz-box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.16);
  }
.header-nav.show {
    display: flex;
    flex-direction: column;
    height: 100vh;
  }
}
@media (max-width: 991px) {
.light-header .top-menu a, .light-header ul.social-icons li a {
    color: #000;
  }

  /* Mobile hamburger-menu uitgeklapt: header krijgt witte
     achtergrond (.open-menu header#masthead bg #fff). De menu-items
     hebben standaard white text op .light-header pages — die
     verdwijnen tegen de witte panel-achtergrond. Forceer zwart
     tijdens open-menu state. */
  .open-menu .light-header .visvakantie-menu > a,
  .open-menu .light-header .visvakantie-menu .toggle-submenu,
  .open-menu .light-header .visvakantie-menu .toggle-menu {
    color: #000;
  }
}
.newsletter-footer {
  background-color: #f7f2ea;
  padding: 50px 0 62px;
  position: relative;
}
.newsletter-footer .h3,
.vacation-data.style2 .top-sec .h2 {
    font-family: "Muli-extra-bold";
}
.bg-newsletter {
  position: absolute;
  left: 0;
  top: 0;
  width: 55%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.fancybox-active {
  height: 100% !important; 
}
.btn-white {
  width: 100%;
  background-color: #fff;
  color: #121212;
}
.select-hide {
  display: none;
}
.d-mobile {
  display: none;
}
@media (max-width: 1599px) {
.newsletter-footer .col4 {
    width: 38%;
}
}
@media (max-width: 1199px) {
h2, .h2 {
    font-size: 36px;
    line-height: 1.25;
  }
h3, .h3 {
      font-size: 26px;
      line-height: 1.33;
  }
.menu-lang-wrapper .menu-lang {
    margin-left: 0;
  }
.newsletter-footer .col4 {
    width: 41%;
}
.newsletter-footer .col4 {
    width: 42%;
  }
}
@media (max-width: 991px) {
.d-tablet {
    display: block;
  }
.d-none-tablet {
    display: none;
  }
}
@media (max-width: 767px) {
h3, .h3 {
    font-size: 22px;
    line-height: 1.33;
  }
h2, .h2 {
    font-size: 24px;
    line-height: 1.25;
  }
h5, .h5 {
      font-size: 18px;
  }
.container-fluid {
      width: 100%;
      padding: 0 15px;
  }
.site-header.active {
    background-color: #fff;
  }
.site-header.active .toggle-mnu span:after, .site-header.active .toggle-mnu span:before {
    background-color: #121212;
  }
blockquote {
      padding: 20px 0 26px 34px;
      border-left: 7px solid #d9e3e3;
      margin: 36px 0 38px 0;
  }
blockquote p {
    font-size: 18px;
  }
.top-header {
    display: none;
  }
.bg-newsletter {
    position: static;
    width: 100%;
    height: 200px;
  }
.newsletter-footer .col4 {
    width: 100%;
    margin: 40px 0 0;
  }
.newsletter-footer {
      background-color: #f7f2ea;
      padding: 0;
      position: relative;
  }
.newsletter-footer h3 {
      font-size: 20px;
      margin-bottom: 11px;
  }
.newsletter-footer p {
      margin-bottom: 18px;
  }
input[type="text"], input[type="password"], input[type="url"], input[type="email"], input[type="tel"], input[type="search"], textarea, select {
      display: block;
      padding: 16px 20px;
      font-size: 16px;
  }
.search-form input {
    padding: 0 12px 0 43px;
    line-height: 46px;
  }
.search-form .submit {
      width: 50px;
      font-size: 17px;
  }
.menu-lang-wrapper {
      padding: 75px 30px 40px;
  }
.d-desktop {
    display: none;
  }
.d-mobile {
    display: block;
  }
.mobile-toggle .button {
      padding: 4px 7px;
      line-height: 22px;
      font-size: 15px;
  }
.slick-dots {
      margin-top: 10px;
  }
.slick-dotted.slick-slider {
      margin-bottom: 37px;
  }
.slick-dots li {
      width: 10px;
      height: 10px;
      margin: 0 10px;
  }
.slick-dots li button {
    width: 10px;
    height: 10px;
  }
}
.show {
  display: block;
}
@media (max-width: 767px) {
.button.m-hide {
    display: none;
  }
.site-header.abs-header.active .mobile-toggle .button {
    display: none;
  }
.toggle-mnu {
      width: 24px;
  }
.toggle-mnu.on {
      top: 3px;
  }
p {
      line-height: 26px;
  }
}
.slick-list {
  padding: 10px 0;
}
@media (max-width: 767px) {
.container {
    margin: 0 !important;
    padding: 5px !important;
}
}
.search-form input {
  padding-top: 3px;
  padding-bottom: 3px;
}
.search-form .submit {
  height: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
}
.menu-lang {
  height: auto;
  min-height: 60px;
  padding: 16px 15px;
}
.site-header .menu-lang .lang-toggle div {
  line-height: 0.5;
}
@media (max-width: 767px) {
.site-content .logo img {
      max-height: 27px;
  }
}
footer#colophon .newsletter-footer p {
  margin-bottom: 14px;
}
@media (max-width: 1199px) {
html.overflow-hidden, html.overflow-hidden body {
      height: 100% !important;
  }
html.overflow-hidden body {
        overflow: hidden;
    }
.primary-header .header-nav {
      position: fixed;
      top: 136px;
      height: calc(100vh - 136px);
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
  }
.primary-header .menu-lang {
      min-height: 50px;
      padding: 11px 15px;
  }
.header-nav .menu-lang-wrapper {
      align-items: center;
  }
.header-nav .search-box {
      margin: 11px 20px 17px;
  }
.header-nav .search-box .search-form input {
      line-height: 40px;
  }
.header-nav .mobile-top-menu a {
      padding: 5px 20px;
  }
.header-nav .menu-lang-wrapper {
      padding-left: 20px;
      padding-right: 20px;
  }
}
@media (max-width: 991px) {
.primary-header .header-nav {
      top: 74px;
      height: calc(100vh - 74px);
  }
}
@media (max-width: 767px) {
.primary-header .nav-brand .logo img {
      max-height: 22px;
  }
.primary-header .header-nav {
      top: 62px;
      height: calc(100vh - 62px);
  }
.site-header.active .mobile-toggle .button {
      opacity: 0;
      visibility: hidden;
     }
}
footer.site-footer {
  background: #fff;
  position: relative;
  z-index: 10;
}
@media (max-width: 1199px) {
.header-nav .menu-lang ul {
  top: auto;
  bottom: 100%;
}
}
.slick-slider {
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list {
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus {
    outline: none;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}
.slick-track {
  display: flex !important;  
  position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after {
    display: table;

    content: "";
}
.slick-track:after {
    clear: both;
}
.slick-loading .slick-track {
    visibility: hidden;
}
.slick-slide {
    display: none;
    float: left;

    height: inherit !important;
    min-height: 1px;
}
[dir="rtl"] .slick-slide {
    float: right;
}
.slick-slide img {
    display: block;
}
.slick-slide.slick-loading img {
    display: none;
}
.slick-initialized .slick-slide {
    display: block;
}
.slick-loading .slick-slide {
    visibility: hidden;
}
.slick-vertical .slick-slide {
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
.slick-prev,
.slick-next {
    font-size: 0;
    line-height: 0;
     color: #212121;

    position: absolute;
    top: 50%;

    display: block;
    z-index: 2;

    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    border: none;
    outline: none;
    width: 60px;
    height: 60px;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.16);
    border-radius: 100px;
    background-color: #ffffff;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    color: #fff;
    outline: none;
    background-color: #698f96;
    border-color: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: .25;
}
.slick-prev:before,
.slick-next:before {
    font-family: "icomoon";
    font-size: 16px;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-prev {
    left: -30px;
}
[dir="rtl"] .slick-prev {
    right: -30px;
    left: auto;
}
.slick-prev:before {
    content: "";
}
[dir="rtl"] .slick-prev:before {
    content: "";
}
.slick-next {
    right: -30px;
}
[dir="rtl"] .slick-next {
    right: auto;
    left: -30px;
}
.slick-next:before {
    content: "";
}
[dir="rtl"] .slick-next:before {
    content: "";
}
.slick-dotted.slick-slider {
    margin-bottom: 30px;
}
.slick-dots {
    
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    margin-top: 20px;
}
.slick-dots li {
    position: relative;
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    cursor: pointer;
    color: transparent;
    border: 0;
    outline: none;
    width: 12px;
height: 12px;
border-radius: 6px;
background-color: #cbcbcb;
box-shadow: none;
padding: 0;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none;
    background-color: #35666f;
}
.slick-dots li.slick-active button {
    background-color: #35666f;
}
.slick-track {
    display: flex !important;
}
.slick-slide {
    height: inherit !important;
}
body.compensate-for-scrollbar {overflow:hidden}
.fancybox-active {height:auto}
.fancybox-is-hidden {left:-9999px;margin:0;position:absolute!important;top:-9999px;visibility:hidden}
.fancybox-container {-webkit-backface-visibility:hidden;height:100%;left:0;outline:none;position:fixed;-webkit-tap-highlight-color:transparent;top:0;-ms-touch-action:manipulation;touch-action:manipulation;transform:translateZ(0);width:100%;z-index:99992}
.fancybox-container * {box-sizing:border-box}
.fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-stage {bottom:0;left:0;position:absolute;right:0;top:0}
.fancybox-outer {-webkit-overflow-scrolling:touch;overflow-y:auto}
.fancybox-bg {background:#1e1e1e;opacity:0;transition-duration:inherit;transition-property:opacity;transition-timing-function:cubic-bezier(.47,0,.74,.71)}
.fancybox-is-open .fancybox-bg {opacity:.9;transition-timing-function:cubic-bezier(.22,.61,.36,1)}
.fancybox-caption,.fancybox-infobar,.fancybox-navigation .fancybox-button,.fancybox-toolbar {direction:ltr;opacity:0;position:absolute;transition:opacity .25s ease,visibility 0s ease .25s;visibility:hidden;z-index:99997}
.fancybox-show-caption .fancybox-caption,.fancybox-show-infobar .fancybox-infobar,.fancybox-show-nav .fancybox-navigation .fancybox-button,.fancybox-show-toolbar .fancybox-toolbar {opacity:1;transition:opacity .25s ease 0s,visibility 0s ease 0s;visibility:visible}
.fancybox-infobar {color:#ccc;font-size:13px;-webkit-font-smoothing:subpixel-antialiased;height:44px;left:0;line-height:44px;min-width:44px;mix-blend-mode:difference;padding:0 10px;pointer-events:none;top:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.fancybox-toolbar {right:0;top:0}
.fancybox-stage {direction:ltr;overflow:visible;transform:translateZ(0);z-index:99994}
.fancybox-is-open .fancybox-stage {overflow:hidden}
.fancybox-slide {-webkit-backface-visibility:hidden;display:none;height:100%;left:0;outline:none;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:absolute;text-align:center;top:0;transition-property:transform,opacity;white-space:normal;width:100%;z-index:99994}
.fancybox-slide:before {content:"";display:inline-block;font-size:0;height:100%;vertical-align:middle;width:0}
.fancybox-is-sliding .fancybox-slide,.fancybox-slide--current,.fancybox-slide--next,.fancybox-slide--previous {display:block}
.fancybox-slide--image {overflow:hidden;padding:44px 0}
.fancybox-slide--image:before {display:none}
.fancybox-slide--html {padding:6px}
.fancybox-content {background:#fff;display:inline-block;margin:0;max-width:100%;overflow:auto;-webkit-overflow-scrolling:touch;padding:44px;position:relative;text-align:left;vertical-align:middle}
.fancybox-slide--image .fancybox-content {animation-timing-function:cubic-bezier(.5,0,.14,1);-webkit-backface-visibility:hidden;background:transparent;background-repeat:no-repeat;background-size:100% 100%;left:0;max-width:none;overflow:visible;padding:0;position:absolute;top:0;transform-origin:top left;transition-property:transform,opacity;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;z-index:99995}
.fancybox-can-zoomOut .fancybox-content {cursor:zoom-out}
.fancybox-can-zoomIn .fancybox-content {cursor:zoom-in}
.fancybox-can-pan .fancybox-content,.fancybox-can-swipe .fancybox-content {cursor:grab}
.fancybox-is-grabbing .fancybox-content {cursor:grabbing}
.fancybox-container [data-selectable=true] {cursor:text}
.fancybox-image,.fancybox-spaceball {background:transparent;border:0;height:100%;left:0;margin:0;max-height:none;max-width:none;padding:0;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:100%}
.fancybox-spaceball {z-index:1}
.fancybox-slide--iframe .fancybox-content,.fancybox-slide--map .fancybox-content,.fancybox-slide--pdf .fancybox-content,.fancybox-slide--video .fancybox-content {height:100%;overflow:visible;padding:0;width:100%}
.fancybox-slide--video .fancybox-content {background:#000}
.fancybox-slide--map .fancybox-content {background:#e5e3df}
.fancybox-slide--iframe .fancybox-content {background:#fff}
.fancybox-iframe,.fancybox-video {background:transparent;border:0;display:block;height:100%;margin:0;overflow:hidden;padding:0;width:100%}
.fancybox-iframe {left:0;position:absolute;top:0}
.fancybox-error {background:#fff;cursor:default;max-width:400px;padding:40px;width:100%}
.fancybox-error p {color:#444;font-size:16px;line-height:20px;margin:0;padding:0}
.fancybox-button {background:rgba(30,30,30,.6);border:0;border-radius:0;box-shadow:none;cursor:pointer;display:inline-block;height:44px;margin:0;padding:10px;position:relative;transition:color .2s;vertical-align:top;visibility:inherit;width:44px}
.fancybox-button,.fancybox-button:link,.fancybox-button:visited {color:#ccc}
.fancybox-button:hover {color:#fff}
.fancybox-button:focus {outline:none}
.fancybox-button.fancybox-focus {outline:1px dotted}
.fancybox-button[disabled],.fancybox-button[disabled]:hover {color:#888;cursor:default;outline:none}
.fancybox-button div {height:100%}
.fancybox-button svg {display:block;height:100%;overflow:visible;position:relative;width:100%}
.fancybox-button svg path {fill:currentColor;stroke-width:0}
.fancybox-button--fsenter svg:nth-child(2),.fancybox-button--fsexit svg:first-child,.fancybox-button--pause svg:first-child,.fancybox-button--play svg:nth-child(2) {display:none}
.fancybox-progress {background:#ff5268;height:2px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;z-index:99998}
.fancybox-close-small {background:transparent;border:0;border-radius:0;color:#ccc;cursor:pointer;opacity:.8;padding:8px;position:absolute;right:-12px;top:-44px;z-index:401}
.fancybox-close-small:hover {color:#fff;opacity:1}
.fancybox-slide--html .fancybox-close-small {color:currentColor;padding:10px;right:0;top:0}
.fancybox-slide--image.fancybox-is-scaling .fancybox-content {overflow:hidden}
.fancybox-is-scaling .fancybox-close-small,.fancybox-is-zoomable.fancybox-can-pan .fancybox-close-small {display:none}
.fancybox-navigation .fancybox-button {background-clip:content-box;height:100px;opacity:0;position:absolute;top:calc(50% - 50px);width:70px}
.fancybox-navigation .fancybox-button div {padding:7px}
.fancybox-navigation .fancybox-button--arrow_left {left:0;left:env(safe-area-inset-left);padding:31px 26px 31px 6px}
.fancybox-navigation .fancybox-button--arrow_right {padding:31px 6px 31px 26px;right:0;right:env(safe-area-inset-right)}
.fancybox-caption {background:linear-gradient(0deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.15) 65%,rgba(0,0,0,.075) 75.5%,rgba(0,0,0,.037) 82.85%,rgba(0,0,0,.019) 88%,transparent);bottom:0;color:#eee;font-size:14px;font-weight:400;left:0;line-height:1.5;padding:75px 44px 25px;pointer-events:none;right:0;text-align:center;z-index:99996}
@supports (padding:max(0px)) {
.fancybox-caption {padding:75px max(44px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom)) max(44px,env(safe-area-inset-left))}
}
.fancybox-caption--separate {margin-top:-50px}
.fancybox-caption__body {max-height:50vh;overflow:auto;pointer-events:all}
.fancybox-caption a,.fancybox-caption a:link,.fancybox-caption a:visited {color:#ccc;text-decoration:none}
.fancybox-caption a:hover {color:#fff;text-decoration:underline}
.fancybox-loading {animation:a 1s linear infinite;background:transparent;border:4px solid #888;border-bottom-color:#fff;border-radius:50%;height:50px;left:50%;margin:-25px 0 0 -25px;opacity:.7;padding:0;position:absolute;top:50%;width:50px;z-index:99999}
@keyframes a {to{transform:rotate(1turn)}}
.fancybox-animated {transition-timing-function:cubic-bezier(0,0,.25,1)}
.fancybox-fx-slide.fancybox-slide--previous {opacity:0;transform:translate3d(-100%,0,0)}
.fancybox-fx-slide.fancybox-slide--next {opacity:0;transform:translate3d(100%,0,0)}
.fancybox-fx-slide.fancybox-slide--current {opacity:1;transform:translateZ(0)}
.fancybox-fx-fade.fancybox-slide--next,.fancybox-fx-fade.fancybox-slide--previous {opacity:0;transition-timing-function:cubic-bezier(.19,1,.22,1)}
.fancybox-fx-fade.fancybox-slide--current {opacity:1}
.fancybox-fx-zoom-in-out.fancybox-slide--previous {opacity:0;transform:scale3d(1.5,1.5,1.5)}
.fancybox-fx-zoom-in-out.fancybox-slide--next {opacity:0;transform:scale3d(.5,.5,.5)}
.fancybox-fx-zoom-in-out.fancybox-slide--current {opacity:1;transform:scaleX(1)}
.fancybox-fx-rotate.fancybox-slide--previous {opacity:0;transform:rotate(-1turn)}
.fancybox-fx-rotate.fancybox-slide--next {opacity:0;transform:rotate(1turn)}
.fancybox-fx-rotate.fancybox-slide--current {opacity:1;transform:rotate(0deg)}
.fancybox-fx-circular.fancybox-slide--previous {opacity:0;transform:scale3d(0,0,0) translate3d(-100%,0,0)}
.fancybox-fx-circular.fancybox-slide--next {opacity:0;transform:scale3d(0,0,0) translate3d(100%,0,0)}
.fancybox-fx-circular.fancybox-slide--current {opacity:1;transform:scaleX(1) translateZ(0)}
.fancybox-fx-tube.fancybox-slide--previous {transform:translate3d(-100%,0,0) scale(.1) skew(-10deg)}
.fancybox-fx-tube.fancybox-slide--next {transform:translate3d(100%,0,0) scale(.1) skew(10deg)}
.fancybox-fx-tube.fancybox-slide--current {transform:translateZ(0) scale(1)}
@media (max-height:576px) {
.fancybox-slide {padding-left:6px;padding-right:6px}
.fancybox-slide--image {padding:6px 0}
.fancybox-close-small {right:-6px}
.fancybox-slide--image .fancybox-close-small {background:#4e4e4e;color:#f2f4f6;height:36px;opacity:1;padding:6px;right:0;top:0;width:36px}
.fancybox-caption {padding-left:12px;padding-right:12px}
}
@media (max-height:576px) {
@supports (padding:max(0px)) {
.fancybox-caption {padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
}
}
.fancybox-share {background:#f4f4f4;border-radius:3px;max-width:90%;padding:30px;text-align:center}
.fancybox-share h1 {color:#222;font-size:35px;font-weight:700;margin:0 0 20px}
.fancybox-share p {margin:0;padding:0}
.fancybox-share__button {border:0;border-radius:3px;display:inline-block;font-size:14px;font-weight:700;line-height:40px;margin:0 5px 10px;min-width:130px;padding:0 15px;text-decoration:none;transition:all .2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap}
.fancybox-share__button:link,.fancybox-share__button:visited {color:#fff}
.fancybox-share__button:hover {text-decoration:none}
.fancybox-share__button--fb {background:#3b5998}
.fancybox-share__button--fb:hover {background:#344e86}
.fancybox-share__button--pt {background:#bd081d}
.fancybox-share__button--pt:hover {background:#aa0719}
.fancybox-share__button--tw {background:#1da1f2}
.fancybox-share__button--tw:hover {background:#0d95e8}
.fancybox-share__button svg {height:25px;margin-right:7px;position:relative;top:-1px;vertical-align:middle;width:25px}
.fancybox-share__button svg path {fill:#fff}
.fancybox-share__input {background:transparent;border:0;border-bottom:1px solid #d7d7d7;border-radius:0;color:#5d5b5b;font-size:14px;margin:10px 0 0;outline:none;padding:10px 15px;width:100%}
.fancybox-thumbs {background:#ddd;bottom:0;display:none;margin:0;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;padding:2px 2px 4px;position:absolute;right:0;-webkit-tap-highlight-color:rgba(0,0,0,0);top:0;width:212px;z-index:99995}
.fancybox-thumbs-x {overflow-x:auto;overflow-y:hidden}
.fancybox-show-thumbs .fancybox-thumbs {display:block}
.fancybox-show-thumbs .fancybox-inner {right:212px}
.fancybox-thumbs__list {font-size:0;height:100%;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;position:relative;white-space:nowrap;width:100%}
.fancybox-thumbs-x .fancybox-thumbs__list {overflow:hidden}
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar {width:7px}
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-track {background:#fff;border-radius:10px;box-shadow:inset 0 0 6px rgba(0,0,0,.3)}
.fancybox-thumbs-y .fancybox-thumbs__list::-webkit-scrollbar-thumb {background:#2a2a2a;border-radius:10px}
.fancybox-thumbs__list a {-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:rgba(0,0,0,.1);background-position:50%;background-repeat:no-repeat;background-size:cover;cursor:pointer;float:left;height:75px;margin:2px;max-height:calc(100% - 8px);max-width:calc(50% - 4px);outline:none;overflow:hidden;padding:0;position:relative;-webkit-tap-highlight-color:transparent;width:100px}
.fancybox-thumbs__list a:before {border:6px solid #ff5268;bottom:0;content:"";left:0;opacity:0;position:absolute;right:0;top:0;transition:all .2s cubic-bezier(.25,.46,.45,.94);z-index:99991}
.fancybox-thumbs__list a:focus:before {opacity:.5}
.fancybox-thumbs__list a.fancybox-thumbs-active:before {opacity:1}
@media (max-width:576px) {
.fancybox-thumbs {width:110px}
.fancybox-show-thumbs .fancybox-inner {right:110px}
.fancybox-thumbs__list a {max-width:calc(100% - 10px)}
}
.logo a img {
  width:366px;
  height:100%;
}
.marker-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translate(-50%, -50%);
}
.marker-wrapper span {
    margin-top: 4px;
    font-size: 13px;
}
html, body {
  overflow: visible;
}
@media (max-width: 768px) {
.container {
   padding: 0 10px !important;
}
}

/* ------------------------------------------------------------------ *
 * Share-bar (vervangt de oude .share-pops / .share-toggle / .spare-
 * buttons collapsable). Altijd zichtbaar, vlakke balk met social-
 * gekleurde icon-buttons. Markup wordt gerenderd door
 * ae_render_share_bar() in inc/template-helpers.php.
 * ------------------------------------------------------------------ */
.ae-share-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 16px 20px;
    margin: 24px 0;
    background: #f5f7f9;
    border: 1px solid #e3e8ed;
    border-radius: 8px;
    text-align: center;
}
.ae-share-bar__label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #0f263c;
    font-weight: 600;
    font-size: 15px;
}
.ae-share-bar__label-icon {
    display: inline-flex;
    width: 18px;
    height: 18px;
    color: #ff7900;
}
.ae-share-bar__label-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}
.ae-share-bar__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
}
.ae-share-bar__list li {
    margin: 0;
    padding: 0;
}
/* Icon-color forceren — theme-wide <a> color-rules kunnen anders
   de inherit-chain doorbreken. SVG erft via fill: currentColor. */
.ae-share-bar__btn,
.ae-share-bar__btn:hover,
.ae-share-bar__btn:focus-visible,
.ae-share-bar__btn:visited {
    color: #fff;
}
.ae-share-bar__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
/* SVG-icons hebben een vaste viewBox 24×24 en exact deterministische
   rendering — geen icomoon glyph-baseline issues meer. width/height
   18px geeft een nette luchtige spacing in de 40px cirkel, en
   display: block voorkomt inline-baseline-extra-ruimte. */
.ae-share-bar__btn svg {
    width: 18px;
    height: 18px;
    display: block;
    fill: currentColor;
}
.ae-share-bar__btn:hover,
.ae-share-bar__btn:focus-visible {
    text-decoration: none;
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.18);
    outline: none;
}
.ae-share-bar__btn--facebook  { background: #1877F2; }
.ae-share-bar__btn--linkedin  { background: #0A66C2; }
.ae-share-bar__btn--whatsapp  { background: #25D366; }

@media (max-width: 480px) {
    .ae-share-bar {
        padding: 12px 14px;
        gap: 10px;
    }
    .ae-share-bar__btn {
        width: 36px;
        height: 36px;
    }
}

/* ------------------------------------------------------------------ *
 * Locations / Google Maps: de <div id="location-marker-N"> elementen
 * zijn data-only templates voor maps.js (de innerHTML wordt in de
 * Google Maps InfoWindow gerendered bij marker-click). Ze staan in
 * de DOM als siblings van .acf-map, dus moeten we ze hier hard
 * verbergen — anders ziet de gebruiker alle infoboxen onder de kaart
 * staan. Idem voor de JSON-latlng container.
 * ------------------------------------------------------------------ */
[id^="location-marker-"],
#pjListingLocationsLatLng {
    display: none !important;
}

/* ------------------------------------------------------------------ *
 * Custom map-marker (.ae-pin) — vervangt de default Google-pin door
 * een oranje teardrop-speldje met het peg-nummer
 * (location_pin_number ACF) of sequentiële index als fallback.
 * Gebouwd in maps.js bij AdvancedMarkerElement-init en meegegeven
 * als content-DOM.
 *
 * Vorm: ronde cirkel met één vierkante hoek (border-radius 50/50/
 * 50/0) + 45° rotatie zodat die hoek als pin-punt naar beneden
 * wijst. Eén CSS-shape met doorlopende oranje achtergrond + witte
 * border rondom alles — geen aparte ::after triangle meer waardoor
 * de border halverwege de pin werd afgekapt.
 *
 * Het ::__num kindje counter-roteert met +45° zodat het cijfer
 * rechtop in de pin staat.
 * ------------------------------------------------------------------ */
.ae-pin {
    position: relative;
    width: 30px;
    height: 30px;
    background: #ff7900;
    color: #fff;
    border: 2px solid #fff;
    border-radius: 50% 50% 50% 0;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.35);
    cursor: pointer;
    transition: transform 0.15s ease, background 0.15s ease;
    /* -45° rotatie zet de vierkante border-radius-hoek als punt
       naar beneden. translateY houdt de tip exact boven de
       lat/lng-coordinate (Google's default anchor zit bottom-
       center, voor de geroteerde shape ligt die tip net iets onder
       het bounding-box-midden). */
    transform: rotate(-45deg) translate(2px, -2px);
    transform-origin: 50% 50%;
}
.ae-pin:hover,
.ae-pin:focus-visible {
    background: #d96400;
    transform: rotate(-45deg) translate(2px, -6px) scale(1.1);
    outline: none;
}
.ae-pin__num {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: rotate(45deg);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    /* Lange peg-namen (bv "A12") worden ingekort */
    overflow: hidden;
    padding: 0 2px;
    box-sizing: border-box;
}

/* ------------------------------------------------------------------ *
 * Read-more pattern voor .about-vacation .description / .description2.
 * Pure CSS via een hidden checkbox + <label> (geen JS). Content blijft
 * volledig in de DOM zodat Google de hele tekst indexeert; alleen de
 * visuele zichtbaarheid van alinea's na de eerste wordt getoggeld.
 *
 * Markup-pattern (per blok):
 *   <input type="checkbox" id="ae-readmore-1" class="ae-readmore-toggle" hidden>
 *   <div class="description ae-readmore">
 *       … the_content() / get_field() …
 *       <label for="ae-readmore-1" class="show-more ae-readmore__shower">+ Toon meer</label>
 *       <label for="ae-readmore-1" class="show-more ae-readmore__hider">– Toon minder</label>
 *   </div>
 * ------------------------------------------------------------------ */
.ae-readmore-toggle {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    pointer-events: none;
}
/* Default-state: extra alinea's verborgen, alleen "Toon meer" zichtbaar */
.ae-readmore > p:not(:first-of-type) {
    display: none;
}
.ae-readmore .ae-readmore__hider {
    display: none;
}
.ae-readmore .ae-readmore__shower {
    display: inline-block;
    cursor: pointer;
}
/* Als er maar 1 alinea is, beide labels verbergen (geen toon meer nodig) */
.ae-readmore:not(:has(> p:nth-of-type(2))) .ae-readmore__shower,
.ae-readmore:not(:has(> p:nth-of-type(2))) .ae-readmore__hider {
    display: none;
}
/* Checked-state: extra alinea's tonen, labels omdraaien */
.ae-readmore-toggle:checked + .ae-readmore > p:not(:first-of-type) {
    display: block;
}
.ae-readmore-toggle:checked + .ae-readmore .ae-readmore__shower {
    display: none;
}
.ae-readmore-toggle:checked + .ae-readmore .ae-readmore__hider {
    display: inline-block;
    cursor: pointer;
}