@font-face {
    font-family: "Gill Sans";
    src: url("../fonts/GillSans-Italic.eot");
    src: url("../fonts/GillSans-Italic.eot?#iefix") format("embedded-opentype"),
         url("../fonts/GillSans-Italic.woff2") format("woff2"),
         url("../fonts/GillSans-Italic.woff") format("woff"),
         url("../fonts/GillSans-Italic.ttf") format("truetype"),
         url("../fonts/GillSans-Italic.svg#GillSans-Italic") format("svg");
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Gill Sans";
    src: url("../fonts/GillSans-BoldItalic.eot");
    src: url("../fonts/GillSans-BoldItalic.eot?#iefix") format("embedded-opentype"),
         url("../fonts/GillSans-BoldItalic.woff2") format("woff2"),
         url("../fonts/GillSans-BoldItalic.woff") format("woff"),
         url("../fonts/GillSans-BoldItalic.ttf") format("truetype"),
         url("../fonts/GillSans-BoldItalic.svg#GillSans-BoldItalic") format("svg");
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Gill Sans";
    src: url("../fonts/GillSans.eot");
    src: url("../fonts/GillSans.eot?#iefix") format("embedded-opentype"),
         url("../fonts/GillSans.woff2") format("woff2"),
         url("../fonts/GillSans.woff") format("woff"),
         url("../fonts/GillSans.ttf") format("truetype"),
         url("../fonts/GillSans.svg#GillSans") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Gill Sans";
    src: url("../fonts/GillSans-SemiBold.eot");
    src: url("../fonts/GillSans-SemiBold.eot?#iefix") format("embedded-opentype"),
         url("../fonts/GillSans-SemiBold.woff2") format("woff2"),
         url("../fonts/GillSans-SemiBold.woff") format("woff"),
         url("../fonts/GillSans-SemiBold.ttf") format("truetype"),
         url("../fonts/GillSans-SemiBold.svg#GillSans-SemiBold") format("svg");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}


@keyframes delayed-fade-in {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}




input::placeholder {
  color: #9bdbff !important;
}

.form-control::placeholder {
  color: #9bdbff !important;
  opacity: 1;
}

/* Toon meer / minder fix */
.vakantieWoningenOverview .vwIntroContent {
    max-height: 6.2rem !important;
    overflow: hidden !important;
    position: relative !important;
}

.vakantieWoningenOverview .vwIntroContent.is-open {
    max-height: 100rem !important;
    overflow: visible !important;
}


.tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-left {
	font-size:13px;
}

.delayed-fade {
	opacity: 0;
	animation: delayed-fade-in .4s ease forwards;
	animation-delay: 3s
}

.bg-gradient {
	background: linear-gradient(177deg, rgba(187, 228, 255, 0) 56.35%, rgba(187, 228, 255, 0.5) 97.13%)
}

.font-30 {
	font-size: clamp(2.8rem, 2vw, 3rem);
	line-height: 1.25;
	letter-spacing: -.005em;
	font-weight: 600
}

.font-30 *:not(.button, button, .font-25) {
	font-size: clamp(2.8rem, 2vw, 3rem);
	line-height: 1.25;
	letter-spacing: -.005em
}

.max-w-1604 .row {
	max-width: 1604px;
	margin-inline: auto
}

.mb-0 {
	margin-bottom: 0rem
}

.mt-0 {
	margin-top: 0rem
}

.ml-0 {
	margin-left: 0rem
}

.mr-0 {
	margin-right: 0rem
}

.pb-0 {
	padding-bottom: 0rem
}

.pt-0 {
	padding-top: 0rem
}

.pl-0 {
	padding-left: 0rem
}

.pr-0 {
	padding-right: 0rem
}

.mb-1 {
	margin-bottom: 1rem
}

.mt-1 {
	margin-top: 1rem
}

.ml-1 {
	margin-left: 1rem
}

.mr-1 {
	margin-right: 1rem
}

.pb-1 {
	padding-bottom: 1rem
}

.pt-1 {
	padding-top: 1rem
}

.pl-1 {
	padding-left: 1rem
}

.pr-1 {
	padding-right: 1rem
}

.mb-2 {
	margin-bottom: 2rem
}

.mt-2 {
	margin-top: 2rem
}

.ml-2 {
	margin-left: 2rem
}

.mr-2 {
	margin-right: 2rem
}

.pb-2 {
	padding-bottom: 2rem
}

.pt-2 {
	padding-top: 2rem
}

.pl-2 {
	padding-left: 2rem
}

.pr-2 {
	padding-right: 2rem
}

.mb-3 {
	margin-bottom: 3rem
}

.mt-3 {
	margin-top: 3rem
}

.ml-3 {
	margin-left: 3rem
}

.mr-3 {
	margin-right: 3rem
}

.pb-3 {
	padding-bottom: 3rem
}

.pt-3 {
	padding-top: 3rem
}

.pl-3 {
	padding-left: 3rem
}

.pr-3 {
	padding-right: 3rem
}

.mb-4 {
	margin-bottom: 4rem
}

.mt-4 {
	margin-top: 4rem
}

.ml-4 {
	margin-left: 4rem
}

.mr-4 {
	margin-right: 4rem
}

.pb-4 {
	padding-bottom: 4rem
}

.pt-4 {
	padding-top: 4rem
}

.pl-4 {
	padding-left: 4rem
}

.pr-4 {
	padding-right: 4rem
}

.mb-5 {
	margin-bottom: 5rem
}

.mt-5 {
	margin-top: 5rem
}

.ml-5 {
	margin-left: 5rem
}

.mr-5 {
	margin-right: 5rem
}

.pb-5 {
	padding-bottom: 5rem
}

.pt-5 {
	padding-top: 5rem
}

.pl-5 {
	padding-left: 5rem
}

.pr-5 {
	padding-right: 5rem
}

.mb-6 {
	margin-bottom: 6rem
}

.mt-6 {
	margin-top: 6rem
}

.ml-6 {
	margin-left: 6rem
}

.mr-6 {
	margin-right: 6rem
}

.pb-6 {
	padding-bottom: 6rem
}

.pt-6 {
	padding-top: 6rem
}

.pl-6 {
	padding-left: 6rem
}

.pr-6 {
	padding-right: 6rem
}

.mb-7 {
	margin-bottom: 7rem
}

.mt-7 {
	margin-top: 7rem
}

.ml-7 {
	margin-left: 7rem
}

.mr-7 {
	margin-right: 7rem
}

.pb-7 {
	padding-bottom: 7rem
}

.pt-7 {
	padding-top: 7rem
}

.pl-7 {
	padding-left: 7rem
}

.pr-7 {
	padding-right: 7rem
}

.mb-8 {
	margin-bottom: 8rem
}

.mt-8 {
	margin-top: 8rem
}

.ml-8 {
	margin-left: 8rem
}

.mr-8 {
	margin-right: 8rem
}

.pb-8 {
	padding-bottom: 8rem
}

.pt-8 {
	padding-top: 8rem
}

.pl-8 {
	padding-left: 8rem
}

.pr-8 {
	padding-right: 8rem
}

.mb-9 {
	margin-bottom: 9rem
}

.mt-9 {
	margin-top: 9rem
}

.ml-9 {
	margin-left: 9rem
}

.mr-9 {
	margin-right: 9rem
}

.pb-9 {
	padding-bottom: 9rem
}

.pt-9 {
	padding-top: 9rem
}

.pl-9 {
	padding-left: 9rem
}

.pr-9 {
	padding-right: 9rem
}

.mb-10 {
	margin-bottom: 10rem
}

.mt-10 {
	margin-top: 10rem
}

.ml-10 {
	margin-left: 10rem
}

.mr-10 {
	margin-right: 10rem
}

.pb-10 {
	padding-bottom: 10rem
}

.pt-10 {
	padding-top: 10rem
}

.pl-10 {
	padding-left: 10rem
}

.pr-10 {
	padding-right: 10rem
}

.mb-11 {
	margin-bottom: 11rem
}

.mt-11 {
	margin-top: 11rem
}

.ml-11 {
	margin-left: 11rem
}

.mr-11 {
	margin-right: 11rem
}

.pb-11 {
	padding-bottom: 11rem
}

.pt-11 {
	padding-top: 11rem
}

.pl-11 {
	padding-left: 11rem
}

.pr-11 {
	padding-right: 11rem
}

.mb-12 {
	margin-bottom: 12rem
}

.mt-12 {
	margin-top: 12rem
}

.ml-12 {
	margin-left: 12rem
}

.mr-12 {
	margin-right: 12rem
}

.pb-12 {
	padding-bottom: 12rem
}

.pt-12 {
	padding-top: 12rem
}

.pl-12 {
	padding-left: 12rem
}

.pr-12 {
	padding-right: 12rem
}

.mb-13 {
	margin-bottom: 13rem
}

.mt-13 {
	margin-top: 13rem
}

.ml-13 {
	margin-left: 13rem
}

.mr-13 {
	margin-right: 13rem
}

.pb-13 {
	padding-bottom: 13rem
}

.pt-13 {
	padding-top: 13rem
}

.pl-13 {
	padding-left: 13rem
}

.pr-13 {
	padding-right: 13rem
}

.mb-14 {
	margin-bottom: 14rem
}

.mt-14 {
	margin-top: 14rem
}

.ml-14 {
	margin-left: 14rem
}

.mr-14 {
	margin-right: 14rem
}

.pb-14 {
	padding-bottom: 14rem
}

.pt-14 {
	padding-top: 14rem
}

.pl-14 {
	padding-left: 14rem
}

.pr-14 {
	padding-right: 14rem
}

.mb-15 {
	margin-bottom: 15rem
}

.mt-15 {
	margin-top: 15rem
}

.ml-15 {
	margin-left: 15rem
}

.mr-15 {
	margin-right: 15rem
}

.pb-15 {
	padding-bottom: 15rem
}

.pt-15 {
	padding-top: 15rem
}

.pl-15 {
	padding-left: 15rem
}

.pr-15 {
	padding-right: 15rem
}

.mb-16 {
	margin-bottom: 16rem
}

.mt-16 {
	margin-top: 16rem
}

.ml-16 {
	margin-left: 16rem
}

.mr-16 {
	margin-right: 16rem
}

.pb-16 {
	padding-bottom: 16rem
}

.pt-16 {
	padding-top: 16rem
}

.pl-16 {
	padding-left: 16rem
}

.pr-16 {
	padding-right: 16rem
}

.mb-17 {
	margin-bottom: 17rem
}

.mt-17 {
	margin-top: 17rem
}

.ml-17 {
	margin-left: 17rem
}

.mr-17 {
	margin-right: 17rem
}

.pb-17 {
	padding-bottom: 17rem
}

.pt-17 {
	padding-top: 17rem
}

.pl-17 {
	padding-left: 17rem
}

.pr-17 {
	padding-right: 17rem
}

.mb-18 {
	margin-bottom: 18rem
}

.mt-18 {
	margin-top: 18rem
}

.ml-18 {
	margin-left: 18rem
}

.mr-18 {
	margin-right: 18rem
}

.pb-18 {
	padding-bottom: 18rem
}

.pt-18 {
	padding-top: 18rem
}

.pl-18 {
	padding-left: 18rem
}

.pr-18 {
	padding-right: 18rem
}

.mb-19 {
	margin-bottom: 19rem
}

.mt-19 {
	margin-top: 19rem
}

.ml-19 {
	margin-left: 19rem
}

.mr-19 {
	margin-right: 19rem
}

.pb-19 {
	padding-bottom: 19rem
}

.pt-19 {
	padding-top: 19rem
}

.pl-19 {
	padding-left: 19rem
}

.pr-19 {
	padding-right: 19rem
}

.mb-20 {
	margin-bottom: 20rem
}

.mt-20 {
	margin-top: 20rem
}

.ml-20 {
	margin-left: 20rem
}

.mr-20 {
	margin-right: 20rem
}

.pb-20 {
	padding-bottom: 20rem
}

.pt-20 {
	padding-top: 20rem
}

.pl-20 {
	padding-left: 20rem
}

.pr-20 {
	padding-right: 20rem
}

@media only screen and (min-width: 640px) {
	.m-mb-0 {
		margin-bottom: 0rem
	}

	.m-mt-0 {
		margin-top: 0rem
	}

	.m-ml-0 {
		margin-left: 0rem
	}

	.m-mr-0 {
		margin-right: 0rem
	}

	.m-pb-0 {
		padding-bottom: 0rem
	}

	.m-pt-0 {
		padding-top: 0rem
	}

	.m-pl-0 {
		padding-left: 0rem
	}

	.m-pr-0 {
		padding-right: 0rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-1 {
		margin-bottom: 1rem
	}

	.m-mt-1 {
		margin-top: 1rem
	}

	.m-ml-1 {
		margin-left: 1rem
	}

	.m-mr-1 {
		margin-right: 1rem
	}

	.m-pb-1 {
		padding-bottom: 1rem
	}

	.m-pt-1 {
		padding-top: 1rem
	}

	.m-pl-1 {
		padding-left: 1rem
	}

	.m-pr-1 {
		padding-right: 1rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-2 {
		margin-bottom: 2rem
	}

	.m-mt-2 {
		margin-top: 2rem
	}

	.m-ml-2 {
		margin-left: 2rem
	}

	.m-mr-2 {
		margin-right: 2rem
	}

	.m-pb-2 {
		padding-bottom: 2rem
	}

	.m-pt-2 {
		padding-top: 2rem
	}

	.m-pl-2 {
		padding-left: 2rem
	}

	.m-pr-2 {
		padding-right: 2rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-3 {
		margin-bottom: 3rem
	}

	.m-mt-3 {
		margin-top: 3rem
	}

	.m-ml-3 {
		margin-left: 3rem
	}

	.m-mr-3 {
		margin-right: 3rem
	}

	.m-pb-3 {
		padding-bottom: 3rem
	}

	.m-pt-3 {
		padding-top: 3rem
	}

	.m-pl-3 {
		padding-left: 3rem
	}

	.m-pr-3 {
		padding-right: 3rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-4 {
		margin-bottom: 4rem
	}

	.m-mt-4 {
		margin-top: 4rem
	}

	.m-ml-4 {
		margin-left: 4rem
	}

	.m-mr-4 {
		margin-right: 4rem
	}

	.m-pb-4 {
		padding-bottom: 4rem
	}

	.m-pt-4 {
		padding-top: 4rem
	}

	.m-pl-4 {
		padding-left: 4rem
	}

	.m-pr-4 {
		padding-right: 4rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-5 {
		margin-bottom: 5rem
	}

	.m-mt-5 {
		margin-top: 5rem
	}

	.m-ml-5 {
		margin-left: 5rem
	}

	.m-mr-5 {
		margin-right: 5rem
	}

	.m-pb-5 {
		padding-bottom: 5rem
	}

	.m-pt-5 {
		padding-top: 5rem
	}

	.m-pl-5 {
		padding-left: 5rem
	}

	.m-pr-5 {
		padding-right: 5rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-6 {
		margin-bottom: 6rem
	}

	.m-mt-6 {
		margin-top: 6rem
	}

	.m-ml-6 {
		margin-left: 6rem
	}

	.m-mr-6 {
		margin-right: 6rem
	}

	.m-pb-6 {
		padding-bottom: 6rem
	}

	.m-pt-6 {
		padding-top: 6rem
	}

	.m-pl-6 {
		padding-left: 6rem
	}

	.m-pr-6 {
		padding-right: 6rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-7 {
		margin-bottom: 7rem
	}

	.m-mt-7 {
		margin-top: 7rem
	}

	.m-ml-7 {
		margin-left: 7rem
	}

	.m-mr-7 {
		margin-right: 7rem
	}

	.m-pb-7 {
		padding-bottom: 7rem
	}

	.m-pt-7 {
		padding-top: 7rem
	}

	.m-pl-7 {
		padding-left: 7rem
	}

	.m-pr-7 {
		padding-right: 7rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-8 {
		margin-bottom: 8rem
	}

	.m-mt-8 {
		margin-top: 8rem
	}

	.m-ml-8 {
		margin-left: 8rem
	}

	.m-mr-8 {
		margin-right: 8rem
	}

	.m-pb-8 {
		padding-bottom: 8rem
	}

	.m-pt-8 {
		padding-top: 8rem
	}

	.m-pl-8 {
		padding-left: 8rem
	}

	.m-pr-8 {
		padding-right: 8rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-9 {
		margin-bottom: 9rem
	}

	.m-mt-9 {
		margin-top: 9rem
	}

	.m-ml-9 {
		margin-left: 9rem
	}

	.m-mr-9 {
		margin-right: 9rem
	}

	.m-pb-9 {
		padding-bottom: 9rem
	}

	.m-pt-9 {
		padding-top: 9rem
	}

	.m-pl-9 {
		padding-left: 9rem
	}

	.m-pr-9 {
		padding-right: 9rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-10 {
		margin-bottom: 10rem
	}

	.m-mt-10 {
		margin-top: 10rem
	}

	.m-ml-10 {
		margin-left: 10rem
	}

	.m-mr-10 {
		margin-right: 10rem
	}

	.m-pb-10 {
		padding-bottom: 10rem
	}

	.m-pt-10 {
		padding-top: 10rem
	}

	.m-pl-10 {
		padding-left: 10rem
	}

	.m-pr-10 {
		padding-right: 10rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-11 {
		margin-bottom: 11rem
	}

	.m-mt-11 {
		margin-top: 11rem
	}

	.m-ml-11 {
		margin-left: 11rem
	}

	.m-mr-11 {
		margin-right: 11rem
	}

	.m-pb-11 {
		padding-bottom: 11rem
	}

	.m-pt-11 {
		padding-top: 11rem
	}

	.m-pl-11 {
		padding-left: 11rem
	}

	.m-pr-11 {
		padding-right: 11rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-12 {
		margin-bottom: 12rem
	}

	.m-mt-12 {
		margin-top: 12rem
	}

	.m-ml-12 {
		margin-left: 12rem
	}

	.m-mr-12 {
		margin-right: 12rem
	}

	.m-pb-12 {
		padding-bottom: 12rem
	}

	.m-pt-12 {
		padding-top: 12rem
	}

	.m-pl-12 {
		padding-left: 12rem
	}

	.m-pr-12 {
		padding-right: 12rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-13 {
		margin-bottom: 13rem
	}

	.m-mt-13 {
		margin-top: 13rem
	}

	.m-ml-13 {
		margin-left: 13rem
	}

	.m-mr-13 {
		margin-right: 13rem
	}

	.m-pb-13 {
		padding-bottom: 13rem
	}

	.m-pt-13 {
		padding-top: 13rem
	}

	.m-pl-13 {
		padding-left: 13rem
	}

	.m-pr-13 {
		padding-right: 13rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-14 {
		margin-bottom: 14rem
	}

	.m-mt-14 {
		margin-top: 14rem
	}

	.m-ml-14 {
		margin-left: 14rem
	}

	.m-mr-14 {
		margin-right: 14rem
	}

	.m-pb-14 {
		padding-bottom: 14rem
	}

	.m-pt-14 {
		padding-top: 14rem
	}

	.m-pl-14 {
		padding-left: 14rem
	}

	.m-pr-14 {
		padding-right: 14rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-15 {
		margin-bottom: 15rem
	}

	.m-mt-15 {
		margin-top: 15rem
	}

	.m-ml-15 {
		margin-left: 15rem
	}

	.m-mr-15 {
		margin-right: 15rem
	}

	.m-pb-15 {
		padding-bottom: 15rem
	}

	.m-pt-15 {
		padding-top: 15rem
	}

	.m-pl-15 {
		padding-left: 15rem
	}

	.m-pr-15 {
		padding-right: 15rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-16 {
		margin-bottom: 16rem
	}

	.m-mt-16 {
		margin-top: 16rem
	}

	.m-ml-16 {
		margin-left: 16rem
	}

	.m-mr-16 {
		margin-right: 16rem
	}

	.m-pb-16 {
		padding-bottom: 16rem
	}

	.m-pt-16 {
		padding-top: 16rem
	}

	.m-pl-16 {
		padding-left: 16rem
	}

	.m-pr-16 {
		padding-right: 16rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-17 {
		margin-bottom: 17rem
	}

	.m-mt-17 {
		margin-top: 17rem
	}

	.m-ml-17 {
		margin-left: 17rem
	}

	.m-mr-17 {
		margin-right: 17rem
	}

	.m-pb-17 {
		padding-bottom: 17rem
	}

	.m-pt-17 {
		padding-top: 17rem
	}

	.m-pl-17 {
		padding-left: 17rem
	}

	.m-pr-17 {
		padding-right: 17rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-18 {
		margin-bottom: 18rem
	}

	.m-mt-18 {
		margin-top: 18rem
	}

	.m-ml-18 {
		margin-left: 18rem
	}

	.m-mr-18 {
		margin-right: 18rem
	}

	.m-pb-18 {
		padding-bottom: 18rem
	}

	.m-pt-18 {
		padding-top: 18rem
	}

	.m-pl-18 {
		padding-left: 18rem
	}

	.m-pr-18 {
		padding-right: 18rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-19 {
		margin-bottom: 19rem
	}

	.m-mt-19 {
		margin-top: 19rem
	}

	.m-ml-19 {
		margin-left: 19rem
	}

	.m-mr-19 {
		margin-right: 19rem
	}

	.m-pb-19 {
		padding-bottom: 19rem
	}

	.m-pt-19 {
		padding-top: 19rem
	}

	.m-pl-19 {
		padding-left: 19rem
	}

	.m-pr-19 {
		padding-right: 19rem
	}
}

@media only screen and (min-width: 640px) {
	.m-mb-20 {
		margin-bottom: 20rem
	}

	.m-mt-20 {
		margin-top: 20rem
	}

	.m-ml-20 {
		margin-left: 20rem
	}

	.m-mr-20 {
		margin-right: 20rem
	}

	.m-pb-20 {
		padding-bottom: 20rem
	}

	.m-pt-20 {
		padding-top: 20rem
	}

	.m-pl-20 {
		padding-left: 20rem
	}

	.m-pr-20 {
		padding-right: 20rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-0 {
		margin-bottom: 0rem
	}

	.l-mt-0 {
		margin-top: 0rem
	}

	.l-ml-0 {
		margin-left: 0rem
	}

	.l-mr-0 {
		margin-right: 0rem
	}

	.l-pb-0 {
		padding-bottom: 0rem
	}

	.l-pt-0 {
		padding-top: 0rem
	}

	.l-pl-0 {
		padding-left: 0rem
	}

	.l-pr-0 {
		padding-right: 0rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-1 {
		margin-bottom: 1rem
	}

	.l-mt-1 {
		margin-top: 1rem
	}

	.l-ml-1 {
		margin-left: 1rem
	}

	.l-mr-1 {
		margin-right: 1rem
	}

	.l-pb-1 {
		padding-bottom: 1rem
	}

	.l-pt-1 {
		padding-top: 1rem
	}

	.l-pl-1 {
		padding-left: 1rem
	}

	.l-pr-1 {
		padding-right: 1rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-2 {
		margin-bottom: 2rem
	}

	.l-mt-2 {
		margin-top: 2rem
	}

	.l-ml-2 {
		margin-left: 2rem
	}

	.l-mr-2 {
		margin-right: 2rem
	}

	.l-pb-2 {
		padding-bottom: 2rem
	}

	.l-pt-2 {
		padding-top: 2rem
	}

	.l-pl-2 {
		padding-left: 2rem
	}

	.l-pr-2 {
		padding-right: 2rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-3 {
		margin-bottom: 3rem
	}

	.l-mt-3 {
		margin-top: 3rem
	}

	.l-ml-3 {
		margin-left: 3rem
	}

	.l-mr-3 {
		margin-right: 3rem
	}

	.l-pb-3 {
		padding-bottom: 3rem
	}

	.l-pt-3 {
		padding-top: 3rem
	}

	.l-pl-3 {
		padding-left: 3rem
	}

	.l-pr-3 {
		padding-right: 3rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-4 {
		margin-bottom: 4rem
	}

	.l-mt-4 {
		margin-top: 4rem
	}

	.l-ml-4 {
		margin-left: 4rem
	}

	.l-mr-4 {
		margin-right: 4rem
	}

	.l-pb-4 {
		padding-bottom: 4rem
	}

	.l-pt-4 {
		padding-top: 4rem
	}

	.l-pl-4 {
		padding-left: 4rem
	}

	.l-pr-4 {
		padding-right: 4rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-5 {
		margin-bottom: 5rem
	}

	.l-mt-5 {
		margin-top: 5rem
	}

	.l-ml-5 {
		margin-left: 5rem
	}

	.l-mr-5 {
		margin-right: 5rem
	}

	.l-pb-5 {
		padding-bottom: 5rem
	}

	.l-pt-5 {
		padding-top: 5rem
	}

	.l-pl-5 {
		padding-left: 5rem
	}

	.l-pr-5 {
		padding-right: 5rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-6 {
		margin-bottom: 6rem
	}

	.l-mt-6 {
		margin-top: 6rem
	}

	.l-ml-6 {
		margin-left: 6rem
	}

	.l-mr-6 {
		margin-right: 6rem
	}

	.l-pb-6 {
		padding-bottom: 6rem
	}

	.l-pt-6 {
		padding-top: 6rem
	}

	.l-pl-6 {
		padding-left: 6rem
	}

	.l-pr-6 {
		padding-right: 6rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-7 {
		margin-bottom: 7rem
	}

	.l-mt-7 {
		margin-top: 7rem
	}

	.l-ml-7 {
		margin-left: 7rem
	}

	.l-mr-7 {
		margin-right: 7rem
	}

	.l-pb-7 {
		padding-bottom: 7rem
	}

	.l-pt-7 {
		padding-top: 7rem
	}

	.l-pl-7 {
		padding-left: 7rem
	}

	.l-pr-7 {
		padding-right: 7rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-8 {
		margin-bottom: 8rem
	}

	.l-mt-8 {
		margin-top: 8rem
	}

	.l-ml-8 {
		margin-left: 8rem
	}

	.l-mr-8 {
		margin-right: 8rem
	}

	.l-pb-8 {
		padding-bottom: 8rem
	}

	.l-pt-8 {
		padding-top: 8rem
	}

	.l-pl-8 {
		padding-left: 8rem
	}

	.l-pr-8 {
		padding-right: 8rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-9 {
		margin-bottom: 9rem
	}

	.l-mt-9 {
		margin-top: 9rem
	}

	.l-ml-9 {
		margin-left: 9rem
	}

	.l-mr-9 {
		margin-right: 9rem
	}

	.l-pb-9 {
		padding-bottom: 9rem
	}

	.l-pt-9 {
		padding-top: 9rem
	}

	.l-pl-9 {
		padding-left: 9rem
	}

	.l-pr-9 {
		padding-right: 9rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-10 {
		margin-bottom: 10rem
	}

	.l-mt-10 {
		margin-top: 10rem
	}

	.l-ml-10 {
		margin-left: 10rem
	}

	.l-mr-10 {
		margin-right: 10rem
	}

	.l-pb-10 {
		padding-bottom: 10rem
	}

	.l-pt-10 {
		padding-top: 10rem
	}

	.l-pl-10 {
		padding-left: 10rem
	}

	.l-pr-10 {
		padding-right: 10rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-11 {
		margin-bottom: 11rem
	}

	.l-mt-11 {
		margin-top: 11rem
	}

	.l-ml-11 {
		margin-left: 11rem
	}

	.l-mr-11 {
		margin-right: 11rem
	}

	.l-pb-11 {
		padding-bottom: 11rem
	}

	.l-pt-11 {
		padding-top: 11rem
	}

	.l-pl-11 {
		padding-left: 11rem
	}

	.l-pr-11 {
		padding-right: 11rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-12 {
		margin-bottom: 12rem
	}

	.l-mt-12 {
		margin-top: 12rem
	}

	.l-ml-12 {
		margin-left: 12rem
	}

	.l-mr-12 {
		margin-right: 12rem
	}

	.l-pb-12 {
		padding-bottom: 12rem
	}

	.l-pt-12 {
		padding-top: 12rem
	}

	.l-pl-12 {
		padding-left: 12rem
	}

	.l-pr-12 {
		padding-right: 12rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-13 {
		margin-bottom: 13rem
	}

	.l-mt-13 {
		margin-top: 13rem
	}

	.l-ml-13 {
		margin-left: 13rem
	}

	.l-mr-13 {
		margin-right: 13rem
	}

	.l-pb-13 {
		padding-bottom: 13rem
	}

	.l-pt-13 {
		padding-top: 13rem
	}

	.l-pl-13 {
		padding-left: 13rem
	}

	.l-pr-13 {
		padding-right: 13rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-14 {
		margin-bottom: 14rem
	}

	.l-mt-14 {
		margin-top: 14rem
	}

	.l-ml-14 {
		margin-left: 14rem
	}

	.l-mr-14 {
		margin-right: 14rem
	}

	.l-pb-14 {
		padding-bottom: 14rem
	}

	.l-pt-14 {
		padding-top: 14rem
	}

	.l-pl-14 {
		padding-left: 14rem
	}

	.l-pr-14 {
		padding-right: 14rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-15 {
		margin-bottom: 15rem
	}

	.l-mt-15 {
		margin-top: 15rem
	}

	.l-ml-15 {
		margin-left: 15rem
	}

	.l-mr-15 {
		margin-right: 15rem
	}

	.l-pb-15 {
		padding-bottom: 15rem
	}

	.l-pt-15 {
		padding-top: 15rem
	}

	.l-pl-15 {
		padding-left: 15rem
	}

	.l-pr-15 {
		padding-right: 15rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-16 {
		margin-bottom: 16rem
	}

	.l-mt-16 {
		margin-top: 16rem
	}

	.l-ml-16 {
		margin-left: 16rem
	}

	.l-mr-16 {
		margin-right: 16rem
	}

	.l-pb-16 {
		padding-bottom: 16rem
	}

	.l-pt-16 {
		padding-top: 16rem
	}

	.l-pl-16 {
		padding-left: 16rem
	}

	.l-pr-16 {
		padding-right: 16rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-17 {
		margin-bottom: 17rem
	}

	.l-mt-17 {
		margin-top: 17rem
	}

	.l-ml-17 {
		margin-left: 17rem
	}

	.l-mr-17 {
		margin-right: 17rem
	}

	.l-pb-17 {
		padding-bottom: 17rem
	}

	.l-pt-17 {
		padding-top: 17rem
	}

	.l-pl-17 {
		padding-left: 17rem
	}

	.l-pr-17 {
		padding-right: 17rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-18 {
		margin-bottom: 18rem
	}

	.l-mt-18 {
		margin-top: 18rem
	}

	.l-ml-18 {
		margin-left: 18rem
	}

	.l-mr-18 {
		margin-right: 18rem
	}

	.l-pb-18 {
		padding-bottom: 18rem
	}

	.l-pt-18 {
		padding-top: 18rem
	}

	.l-pl-18 {
		padding-left: 18rem
	}

	.l-pr-18 {
		padding-right: 18rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-19 {
		margin-bottom: 19rem
	}

	.l-mt-19 {
		margin-top: 19rem
	}

	.l-ml-19 {
		margin-left: 19rem
	}

	.l-mr-19 {
		margin-right: 19rem
	}

	.l-pb-19 {
		padding-bottom: 19rem
	}

	.l-pt-19 {
		padding-top: 19rem
	}

	.l-pl-19 {
		padding-left: 19rem
	}

	.l-pr-19 {
		padding-right: 19rem
	}
}

@media only screen and (min-width: 1024px) {
	.l-mb-20 {
		margin-bottom: 20rem
	}

	.l-mt-20 {
		margin-top: 20rem
	}

	.l-ml-20 {
		margin-left: 20rem
	}

	.l-mr-20 {
		margin-right: 20rem
	}

	.l-pb-20 {
		padding-bottom: 20rem
	}

	.l-pt-20 {
		padding-top: 20rem
	}

	.l-pl-20 {
		padding-left: 20rem
	}

	.l-pr-20 {
		padding-right: 20rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-0 {
		margin-bottom: 0rem
	}

	.xl-mt-0 {
		margin-top: 0rem
	}

	.xl-ml-0 {
		margin-left: 0rem
	}

	.xl-mr-0 {
		margin-right: 0rem
	}

	.xl-pb-0 {
		padding-bottom: 0rem
	}

	.xl-pt-0 {
		padding-top: 0rem
	}

	.xl-pl-0 {
		padding-left: 0rem
	}

	.xl-pr-0 {
		padding-right: 0rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-1 {
		margin-bottom: 1rem
	}

	.xl-mt-1 {
		margin-top: 1rem
	}

	.xl-ml-1 {
		margin-left: 1rem
	}

	.xl-mr-1 {
		margin-right: 1rem
	}

	.xl-pb-1 {
		padding-bottom: 1rem
	}

	.xl-pt-1 {
		padding-top: 1rem
	}

	.xl-pl-1 {
		padding-left: 1rem
	}

	.xl-pr-1 {
		padding-right: 1rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-2 {
		margin-bottom: 2rem
	}

	.xl-mt-2 {
		margin-top: 2rem
	}

	.xl-ml-2 {
		margin-left: 2rem
	}

	.xl-mr-2 {
		margin-right: 2rem
	}

	.xl-pb-2 {
		padding-bottom: 2rem
	}

	.xl-pt-2 {
		padding-top: 2rem
	}

	.xl-pl-2 {
		padding-left: 2rem
	}

	.xl-pr-2 {
		padding-right: 2rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-3 {
		margin-bottom: 3rem
	}

	.xl-mt-3 {
		margin-top: 3rem
	}

	.xl-ml-3 {
		margin-left: 3rem
	}

	.xl-mr-3 {
		margin-right: 3rem
	}

	.xl-pb-3 {
		padding-bottom: 3rem
	}

	.xl-pt-3 {
		padding-top: 3rem
	}

	.xl-pl-3 {
		padding-left: 3rem
	}

	.xl-pr-3 {
		padding-right: 3rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-4 {
		margin-bottom: 4rem
	}

	.xl-mt-4 {
		margin-top: 4rem
	}

	.xl-ml-4 {
		margin-left: 4rem
	}

	.xl-mr-4 {
		margin-right: 4rem
	}

	.xl-pb-4 {
		padding-bottom: 4rem
	}

	.xl-pt-4 {
		padding-top: 4rem
	}

	.xl-pl-4 {
		padding-left: 4rem
	}

	.xl-pr-4 {
		padding-right: 4rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-5 {
		margin-bottom: 5rem
	}

	.xl-mt-5 {
		margin-top: 5rem
	}

	.xl-ml-5 {
		margin-left: 5rem
	}

	.xl-mr-5 {
		margin-right: 5rem
	}

	.xl-pb-5 {
		padding-bottom: 5rem
	}

	.xl-pt-5 {
		padding-top: 5rem
	}

	.xl-pl-5 {
		padding-left: 5rem
	}

	.xl-pr-5 {
		padding-right: 5rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-6 {
		margin-bottom: 6rem
	}

	.xl-mt-6 {
		margin-top: 6rem
	}

	.xl-ml-6 {
		margin-left: 6rem
	}

	.xl-mr-6 {
		margin-right: 6rem
	}

	.xl-pb-6 {
		padding-bottom: 6rem
	}

	.xl-pt-6 {
		padding-top: 6rem
	}

	.xl-pl-6 {
		padding-left: 6rem
	}

	.xl-pr-6 {
		padding-right: 6rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-7 {
		margin-bottom: 7rem
	}

	.xl-mt-7 {
		margin-top: 7rem
	}

	.xl-ml-7 {
		margin-left: 7rem
	}

	.xl-mr-7 {
		margin-right: 7rem
	}

	.xl-pb-7 {
		padding-bottom: 7rem
	}

	.xl-pt-7 {
		padding-top: 7rem
	}

	.xl-pl-7 {
		padding-left: 7rem
	}

	.xl-pr-7 {
		padding-right: 7rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-8 {
		margin-bottom: 8rem
	}

	.xl-mt-8 {
		margin-top: 8rem
	}

	.xl-ml-8 {
		margin-left: 8rem
	}

	.xl-mr-8 {
		margin-right: 8rem
	}

	.xl-pb-8 {
		padding-bottom: 8rem
	}

	.xl-pt-8 {
		padding-top: 8rem
	}

	.xl-pl-8 {
		padding-left: 8rem
	}

	.xl-pr-8 {
		padding-right: 8rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-9 {
		margin-bottom: 9rem
	}

	.xl-mt-9 {
		margin-top: 9rem
	}

	.xl-ml-9 {
		margin-left: 9rem
	}

	.xl-mr-9 {
		margin-right: 9rem
	}

	.xl-pb-9 {
		padding-bottom: 9rem
	}

	.xl-pt-9 {
		padding-top: 9rem
	}

	.xl-pl-9 {
		padding-left: 9rem
	}

	.xl-pr-9 {
		padding-right: 9rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-10 {
		margin-bottom: 10rem
	}

	.xl-mt-10 {
		margin-top: 10rem
	}

	.xl-ml-10 {
		margin-left: 10rem
	}

	.xl-mr-10 {
		margin-right: 10rem
	}

	.xl-pb-10 {
		padding-bottom: 10rem
	}

	.xl-pt-10 {
		padding-top: 10rem
	}

	.xl-pl-10 {
		padding-left: 10rem
	}

	.xl-pr-10 {
		padding-right: 10rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-11 {
		margin-bottom: 11rem
	}

	.xl-mt-11 {
		margin-top: 11rem
	}

	.xl-ml-11 {
		margin-left: 11rem
	}

	.xl-mr-11 {
		margin-right: 11rem
	}

	.xl-pb-11 {
		padding-bottom: 11rem
	}

	.xl-pt-11 {
		padding-top: 11rem
	}

	.xl-pl-11 {
		padding-left: 11rem
	}

	.xl-pr-11 {
		padding-right: 11rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-12 {
		margin-bottom: 12rem
	}

	.xl-mt-12 {
		margin-top: 12rem
	}

	.xl-ml-12 {
		margin-left: 12rem
	}

	.xl-mr-12 {
		margin-right: 12rem
	}

	.xl-pb-12 {
		padding-bottom: 12rem
	}

	.xl-pt-12 {
		padding-top: 12rem
	}

	.xl-pl-12 {
		padding-left: 12rem
	}

	.xl-pr-12 {
		padding-right: 12rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-13 {
		margin-bottom: 13rem
	}

	.xl-mt-13 {
		margin-top: 13rem
	}

	.xl-ml-13 {
		margin-left: 13rem
	}

	.xl-mr-13 {
		margin-right: 13rem
	}

	.xl-pb-13 {
		padding-bottom: 13rem
	}

	.xl-pt-13 {
		padding-top: 13rem
	}

	.xl-pl-13 {
		padding-left: 13rem
	}

	.xl-pr-13 {
		padding-right: 13rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-14 {
		margin-bottom: 14rem
	}

	.xl-mt-14 {
		margin-top: 14rem
	}

	.xl-ml-14 {
		margin-left: 14rem
	}

	.xl-mr-14 {
		margin-right: 14rem
	}

	.xl-pb-14 {
		padding-bottom: 14rem
	}

	.xl-pt-14 {
		padding-top: 14rem
	}

	.xl-pl-14 {
		padding-left: 14rem
	}

	.xl-pr-14 {
		padding-right: 14rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-15 {
		margin-bottom: 15rem
	}

	.xl-mt-15 {
		margin-top: 15rem
	}

	.xl-ml-15 {
		margin-left: 15rem
	}

	.xl-mr-15 {
		margin-right: 15rem
	}

	.xl-pb-15 {
		padding-bottom: 15rem
	}

	.xl-pt-15 {
		padding-top: 15rem
	}

	.xl-pl-15 {
		padding-left: 15rem
	}

	.xl-pr-15 {
		padding-right: 15rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-16 {
		margin-bottom: 16rem
	}

	.xl-mt-16 {
		margin-top: 16rem
	}

	.xl-ml-16 {
		margin-left: 16rem
	}

	.xl-mr-16 {
		margin-right: 16rem
	}

	.xl-pb-16 {
		padding-bottom: 16rem
	}

	.xl-pt-16 {
		padding-top: 16rem
	}

	.xl-pl-16 {
		padding-left: 16rem
	}

	.xl-pr-16 {
		padding-right: 16rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-17 {
		margin-bottom: 17rem
	}

	.xl-mt-17 {
		margin-top: 17rem
	}

	.xl-ml-17 {
		margin-left: 17rem
	}

	.xl-mr-17 {
		margin-right: 17rem
	}

	.xl-pb-17 {
		padding-bottom: 17rem
	}

	.xl-pt-17 {
		padding-top: 17rem
	}

	.xl-pl-17 {
		padding-left: 17rem
	}

	.xl-pr-17 {
		padding-right: 17rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-18 {
		margin-bottom: 18rem
	}

	.xl-mt-18 {
		margin-top: 18rem
	}

	.xl-ml-18 {
		margin-left: 18rem
	}

	.xl-mr-18 {
		margin-right: 18rem
	}

	.xl-pb-18 {
		padding-bottom: 18rem
	}

	.xl-pt-18 {
		padding-top: 18rem
	}

	.xl-pl-18 {
		padding-left: 18rem
	}

	.xl-pr-18 {
		padding-right: 18rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-19 {
		margin-bottom: 19rem
	}

	.xl-mt-19 {
		margin-top: 19rem
	}

	.xl-ml-19 {
		margin-left: 19rem
	}

	.xl-mr-19 {
		margin-right: 19rem
	}

	.xl-pb-19 {
		padding-bottom: 19rem
	}

	.xl-pt-19 {
		padding-top: 19rem
	}

	.xl-pl-19 {
		padding-left: 19rem
	}

	.xl-pr-19 {
		padding-right: 19rem
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mb-20 {
		margin-bottom: 20rem
	}

	.xl-mt-20 {
		margin-top: 20rem
	}

	.xl-ml-20 {
		margin-left: 20rem
	}

	.xl-mr-20 {
		margin-right: 20rem
	}

	.xl-pb-20 {
		padding-bottom: 20rem
	}

	.xl-pt-20 {
		padding-top: 20rem
	}

	.xl-pl-20 {
		padding-left: 20rem
	}

	.xl-pr-20 {
		padding-right: 20rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-0 {
		margin-bottom: 0rem
	}

	.f-mt-0 {
		margin-top: 0rem
	}

	.f-ml-0 {
		margin-left: 0rem
	}

	.f-mr-0 {
		margin-right: 0rem
	}

	.f-pb-0 {
		padding-bottom: 0rem
	}

	.f-pt-0 {
		padding-top: 0rem
	}

	.f-pl-0 {
		padding-left: 0rem
	}

	.f-pr-0 {
		padding-right: 0rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-1 {
		margin-bottom: 1rem
	}

	.f-mt-1 {
		margin-top: 1rem
	}

	.f-ml-1 {
		margin-left: 1rem
	}

	.f-mr-1 {
		margin-right: 1rem
	}

	.f-pb-1 {
		padding-bottom: 1rem
	}

	.f-pt-1 {
		padding-top: 1rem
	}

	.f-pl-1 {
		padding-left: 1rem
	}

	.f-pr-1 {
		padding-right: 1rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-2 {
		margin-bottom: 2rem
	}

	.f-mt-2 {
		margin-top: 2rem
	}

	.f-ml-2 {
		margin-left: 2rem
	}

	.f-mr-2 {
		margin-right: 2rem
	}

	.f-pb-2 {
		padding-bottom: 2rem
	}

	.f-pt-2 {
		padding-top: 2rem
	}

	.f-pl-2 {
		padding-left: 2rem
	}

	.f-pr-2 {
		padding-right: 2rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-3 {
		margin-bottom: 3rem
	}

	.f-mt-3 {
		margin-top: 3rem
	}

	.f-ml-3 {
		margin-left: 3rem
	}

	.f-mr-3 {
		margin-right: 3rem
	}

	.f-pb-3 {
		padding-bottom: 3rem
	}

	.f-pt-3 {
		padding-top: 3rem
	}

	.f-pl-3 {
		padding-left: 3rem
	}

	.f-pr-3 {
		padding-right: 3rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-4 {
		margin-bottom: 4rem
	}

	.f-mt-4 {
		margin-top: 4rem
	}

	.f-ml-4 {
		margin-left: 4rem
	}

	.f-mr-4 {
		margin-right: 4rem
	}

	.f-pb-4 {
		padding-bottom: 4rem
	}

	.f-pt-4 {
		padding-top: 4rem
	}

	.f-pl-4 {
		padding-left: 4rem
	}

	.f-pr-4 {
		padding-right: 4rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-5 {
		margin-bottom: 5rem
	}

	.f-mt-5 {
		margin-top: 5rem
	}

	.f-ml-5 {
		margin-left: 5rem
	}

	.f-mr-5 {
		margin-right: 5rem
	}

	.f-pb-5 {
		padding-bottom: 5rem
	}

	.f-pt-5 {
		padding-top: 5rem
	}

	.f-pl-5 {
		padding-left: 5rem
	}

	.f-pr-5 {
		padding-right: 5rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-6 {
		margin-bottom: 6rem
	}

	.f-mt-6 {
		margin-top: 6rem
	}

	.f-ml-6 {
		margin-left: 6rem
	}

	.f-mr-6 {
		margin-right: 6rem
	}

	.f-pb-6 {
		padding-bottom: 6rem
	}

	.f-pt-6 {
		padding-top: 6rem
	}

	.f-pl-6 {
		padding-left: 6rem
	}

	.f-pr-6 {
		padding-right: 6rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-7 {
		margin-bottom: 7rem
	}

	.f-mt-7 {
		margin-top: 7rem
	}

	.f-ml-7 {
		margin-left: 7rem
	}

	.f-mr-7 {
		margin-right: 7rem
	}

	.f-pb-7 {
		padding-bottom: 7rem
	}

	.f-pt-7 {
		padding-top: 7rem
	}

	.f-pl-7 {
		padding-left: 7rem
	}

	.f-pr-7 {
		padding-right: 7rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-8 {
		margin-bottom: 8rem
	}

	.f-mt-8 {
		margin-top: 8rem
	}

	.f-ml-8 {
		margin-left: 8rem
	}

	.f-mr-8 {
		margin-right: 8rem
	}

	.f-pb-8 {
		padding-bottom: 8rem
	}

	.f-pt-8 {
		padding-top: 8rem
	}

	.f-pl-8 {
		padding-left: 8rem
	}

	.f-pr-8 {
		padding-right: 8rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-9 {
		margin-bottom: 9rem
	}

	.f-mt-9 {
		margin-top: 9rem
	}

	.f-ml-9 {
		margin-left: 9rem
	}

	.f-mr-9 {
		margin-right: 9rem
	}

	.f-pb-9 {
		padding-bottom: 9rem
	}

	.f-pt-9 {
		padding-top: 9rem
	}

	.f-pl-9 {
		padding-left: 9rem
	}

	.f-pr-9 {
		padding-right: 9rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-10 {
		margin-bottom: 10rem
	}

	.f-mt-10 {
		margin-top: 10rem
	}

	.f-ml-10 {
		margin-left: 10rem
	}

	.f-mr-10 {
		margin-right: 10rem
	}

	.f-pb-10 {
		padding-bottom: 10rem
	}

	.f-pt-10 {
		padding-top: 10rem
	}

	.f-pl-10 {
		padding-left: 10rem
	}

	.f-pr-10 {
		padding-right: 10rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-11 {
		margin-bottom: 11rem
	}

	.f-mt-11 {
		margin-top: 11rem
	}

	.f-ml-11 {
		margin-left: 11rem
	}

	.f-mr-11 {
		margin-right: 11rem
	}

	.f-pb-11 {
		padding-bottom: 11rem
	}

	.f-pt-11 {
		padding-top: 11rem
	}

	.f-pl-11 {
		padding-left: 11rem
	}

	.f-pr-11 {
		padding-right: 11rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-12 {
		margin-bottom: 12rem
	}

	.f-mt-12 {
		margin-top: 12rem
	}

	.f-ml-12 {
		margin-left: 12rem
	}

	.f-mr-12 {
		margin-right: 12rem
	}

	.f-pb-12 {
		padding-bottom: 12rem
	}

	.f-pt-12 {
		padding-top: 12rem
	}

	.f-pl-12 {
		padding-left: 12rem
	}

	.f-pr-12 {
		padding-right: 12rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-13 {
		margin-bottom: 13rem
	}

	.f-mt-13 {
		margin-top: 13rem
	}

	.f-ml-13 {
		margin-left: 13rem
	}

	.f-mr-13 {
		margin-right: 13rem
	}

	.f-pb-13 {
		padding-bottom: 13rem
	}

	.f-pt-13 {
		padding-top: 13rem
	}

	.f-pl-13 {
		padding-left: 13rem
	}

	.f-pr-13 {
		padding-right: 13rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-14 {
		margin-bottom: 14rem
	}

	.f-mt-14 {
		margin-top: 14rem
	}

	.f-ml-14 {
		margin-left: 14rem
	}

	.f-mr-14 {
		margin-right: 14rem
	}

	.f-pb-14 {
		padding-bottom: 14rem
	}

	.f-pt-14 {
		padding-top: 14rem
	}

	.f-pl-14 {
		padding-left: 14rem
	}

	.f-pr-14 {
		padding-right: 14rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-15 {
		margin-bottom: 15rem
	}

	.f-mt-15 {
		margin-top: 15rem
	}

	.f-ml-15 {
		margin-left: 15rem
	}

	.f-mr-15 {
		margin-right: 15rem
	}

	.f-pb-15 {
		padding-bottom: 15rem
	}

	.f-pt-15 {
		padding-top: 15rem
	}

	.f-pl-15 {
		padding-left: 15rem
	}

	.f-pr-15 {
		padding-right: 15rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-16 {
		margin-bottom: 16rem
	}

	.f-mt-16 {
		margin-top: 16rem
	}

	.f-ml-16 {
		margin-left: 16rem
	}

	.f-mr-16 {
		margin-right: 16rem
	}

	.f-pb-16 {
		padding-bottom: 16rem
	}

	.f-pt-16 {
		padding-top: 16rem
	}

	.f-pl-16 {
		padding-left: 16rem
	}

	.f-pr-16 {
		padding-right: 16rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-17 {
		margin-bottom: 17rem
	}

	.f-mt-17 {
		margin-top: 17rem
	}

	.f-ml-17 {
		margin-left: 17rem
	}

	.f-mr-17 {
		margin-right: 17rem
	}

	.f-pb-17 {
		padding-bottom: 17rem
	}

	.f-pt-17 {
		padding-top: 17rem
	}

	.f-pl-17 {
		padding-left: 17rem
	}

	.f-pr-17 {
		padding-right: 17rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-18 {
		margin-bottom: 18rem
	}

	.f-mt-18 {
		margin-top: 18rem
	}

	.f-ml-18 {
		margin-left: 18rem
	}

	.f-mr-18 {
		margin-right: 18rem
	}

	.f-pb-18 {
		padding-bottom: 18rem
	}

	.f-pt-18 {
		padding-top: 18rem
	}

	.f-pl-18 {
		padding-left: 18rem
	}

	.f-pr-18 {
		padding-right: 18rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-19 {
		margin-bottom: 19rem
	}

	.f-mt-19 {
		margin-top: 19rem
	}

	.f-ml-19 {
		margin-left: 19rem
	}

	.f-mr-19 {
		margin-right: 19rem
	}

	.f-pb-19 {
		padding-bottom: 19rem
	}

	.f-pt-19 {
		padding-top: 19rem
	}

	.f-pl-19 {
		padding-left: 19rem
	}

	.f-pr-19 {
		padding-right: 19rem
	}
}

@media only screen and (min-width: 1680px) {
	.f-mb-20 {
		margin-bottom: 20rem
	}

	.f-mt-20 {
		margin-top: 20rem
	}

	.f-ml-20 {
		margin-left: 20rem
	}

	.f-mr-20 {
		margin-right: 20rem
	}

	.f-pb-20 {
		padding-bottom: 20rem
	}

	.f-pt-20 {
		padding-top: 20rem
	}

	.f-pl-20 {
		padding-left: 20rem
	}

	.f-pr-20 {
		padding-right: 20rem
	}
}

.m-hero-text+.m-cards-1 {
	margin-top: -1rem
}

.m-hero-2+.m-text-media-2 {
	padding-top: 0
}

@media only screen and (max-width: 1023px) {
	.m-text-center-1 .row {
		padding-bottom: 2rem
	}
}

@media only screen and (max-width: 1023px) {
	.m-text-center-1+section .row {
		padding-top: 2rem
	}
}

.s-mx-auto {
	margin-inline: auto
}

@media only screen and (min-width: 640px) {
	.m-mx-auto {
		margin-inline: auto
	}
}

@media only screen and (min-width: 1024px) {
	.l-mx-auto {
		margin-inline: auto
	}
}

@media only screen and (min-width: 1240px) {
	.xl-mx-auto {
		margin-inline: auto
	}
}

@media only screen and (min-width: 1680px) {
	.f-mx-auto {
		margin-inline: auto
	}
}

@font-face {
	font-family: "Gill Sans";
	src: url("../fonts/GillSans-Italic.eot");
	src: url("../fonts/GillSans-Italic.eot?#iefix") format("embedded-opentype"), url("../fonts/GillSans-Italic.woff2") format("woff2"), url("../fonts/GillSans-Italic.woff") format("woff"), url("../fonts/GillSans-Italic.ttf") format("truetype"), url("../fonts/GillSans-Italic.svg#GillSans-Italic") format("svg");
	font-weight: normal;
	font-display: swap
}

@font-face {
	font-family: "Gill Sans";
	src: url("../fonts/GillSans-slateY(-40%) rotate(-1.eot");
	src: url("../fonts/GillSans-CondensedBold.eot?#iefix") format("embedded-opentype"), url("../fonts/GillSans-CondensedBold.woff2") format("woff2"), url("../fonts/GillSans-CondensedBold.woff") format("woff"), url("../fonts/GillSans-CondensedBold.ttf") format("truetype"), url("../fonts/GillSans-CondensedBold.svg#GillSans-CondensedBold") format("svg");
	font-weight: bold;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Gill Sans";
	src: url("../fonts/GillSans-BoldItalic.eot");
	src: url("../fonts/GillSans-BoldItalic.eot?#iefix") format("embedded-opentype"), url("../fonts/GillSans-BoldItalic.woff2") format("woff2"), url("../fonts/GillSans-BoldItalic.woff") format("woff"), url("../fonts/GillSans-BoldItalic.ttf") format("truetype"), url("../fonts/GillSans-BoldItalic.svg#GillSans-BoldItalic") format("svg");
	font-weight: bold;
	font-display: swap
}

@font-face {
	font-family: "Gill Sans";
	src: url("../fonts/GillSans.eot");
	src: url("../fonts/GillSans.eot?#iefix") format("embedded-opentype"), url("../fonts/GillSans.woff2") format("woff2"), url("../fonts/GillSans.woff") format("woff"), url("../fonts/GillSans.ttf") format("truetype"), url("../fonts/GillSans.svg#GillSans") format("svg");
	font-weight: normal;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Gill Sans";
	src: url("../fonts/GillSans-Medium.eot");
	src: url("../fonts/GillSans-Medium.eot?#iefix") format("embedded-opentype"), url("../fonts/GillSans-Medium.woff2") format("woff2"), url("../fonts/GillSans-Medium.woff") format("woff"), url("../fonts/GillSans-Medium.ttf") format("truetype"), url("../fonts/GillSans-Medium.svg#GillSans-Medium") format("svg");
	font-weight: 500;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Gill Sans";
	src: url("../fonts/GillSans-SemiBold.eot");
	src: url("../fonts/GillSans-SemiBold.eot?#iefix") format("embedded-opentype"), url("../fonts/GillSans-SemiBold.woff2") format("woff2"), url("../fonts/GillSans-SemiBold.woff") format("woff"), url("../fonts/GillSans-SemiBold.ttf") format("truetype"), url("../fonts/GillSans-SemiBold.svg#GillSans-SemiBold") format("svg");
	font-weight: 600;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Gill Sans";
	src: url("../fonts/GillSans-Light.eot");
	src: url("../fonts/GillSans-Light.eot?#iefix") format("embedded-opentype"), url("../fonts/GillSans-Light.woff2") format("woff2"), url("../fonts/GillSans-Light.woff") format("woff"), url("../fonts/GillSans-Light.ttf") format("truetype"), url("../fonts/GillSans-Light.svg#GillSans-Light") format("svg");
	font-weight: 300;
	font-style: normal;
	font-display: swap
}

@font-face {
	font-family: "Snell Roundhand";
	src: url("../fonts/SnellRoundhand-Black.eot");
	src: url("../fonts/SnellRoundhand-Black.eot?#iefix") format("embedded-opentype"), url("../fonts/SnellRoundhand-Black.woff2") format("woff2"), url("../fonts/SnellRoundhand-Black.woff") format("woff"), url("../fonts/SnellRoundhand-Black.svg#SnellRoundhand-Black") format("svg");
	font-weight: 900
}

html {
	width: 100%;
	height: 100%;
	font-size: 10px
}

body {
	width: 100%;
	height: 100%;
	margin-top: 72px;
	font-family: inherit;
	transition: all ease 0.3s 0.7s;
	opacity: 1 !important;
	transform: none !important;
	background: #fff;
	line-height: 1.25;
	overflow-x: hidden
}

*:active,
*:focus {
	outline: 0 !important;
	box-shadow: none !important
}

h1,
h2,
h3 {
	color: #0072bb;
	margin-bottom: 2rem
}

h4,
h5,
h6 {
	font-family: "Gill Sans";
	font-weight: normal;
	color: #0072bb;
	margin-bottom: 2rem
}

h2.heading {
	font-size: 40px;
	margin-bottom: 20px;
	font-family: "Gill Sans" !important;
}

h2.pageheading {
	padding-bottom: 20px;
	border-bottom: 2px dotted #0072bb;
	font-size: 50px
}


.h4, h4 {
  font-size: 2.5rem;
  font-weight: 600 !important;
}

p {
	font-family: "Gill Sans";
	font-weight: 500;
	font-size: clamp(1.6rem, 1.5vw, 2rem);
	color: #000
}

p.bold,
.bold,
strong {
	font-family: "Gill Sans";
	font-weight: 600
}


strong{
    font-weight: 600;
}


p.italic,
.italic {
	font-family: "Gill Sans";
	font-weight: normal
}

p.light,
.light {
	font-family: "Gill Sans";
	font-weight: 300
}

a {
	font-family: inherit;
	color: #0072bb;
	font-size: clamp(1.6rem, 1.5vw, 2rem)
}

label {
	font-family: "Gill Sans";
	color: #333333
}

ul {
	list-style-type: disc;
	margin-left: 20px
}

ul li {
	margin-bottom: 1rem
}

li,
td {
	font-family: "Gill Sans";
	font-size: clamp(1.6rem, 1.5vw, 2rem)
}

.yellowBullet {
	color: #ffee00
}

.introText {
	max-width: 400px;
	margin-inline: auto
}

.form-control:focus {
	box-shadow: none
}

.displayBig {
	display: none
}

.displayLarge {
	display: none
}

.displayMedium {
	display: none
}

.displaySmall {
	display: none
}

.btn {
	font-size: clamp(1.6rem, 1.5vw, 2rem)
}

.yellowBtn {
	background: #ffee00;
	border-radius: 10px;
	color: #000;
	font-weight: 600
}

.yellowBtn:hover {
	background: #0072bb;
	color: #fff;
	transition-duration: 0.3s
}

.blueBtn {
	background: #0072bb;
	padding: 5px 20px;
	border-radius: 10px;
	color: #fff;
	font-weight: 600
}

.blueBtn:hover {
	color: #0072bb;
	background: #ffee00;
	transition-duration: 0.3s
}

.whiteBtn {
	font-weight: 600;
	background: #fff;
	color: #0072bb;
	padding: 5px 20px
}

.whiteBtn:hover {
	background: #ffee00;
	transition-duration: 0.3s
}

button.ui-datepicker-trigger {
	display: none
}

.boekingSelect {
	border-radius: 0.25rem;
	border: 1px solid #ced4da;
	height: calc(2.25rem + 2px);
	padding: 0 10px;
	width: 100%;
	position: relative;
	color: #cecece;
	font-family: "Gill Sans"
}

.boekingIcon {
	position: absolute;
	bottom: 10px;
	right: 25px;
	font-size: 12px;
	color: #ced4da
}

.form-control {
	color: #cecece;
	font-family: "Gill Sans"
}

::-webkit-input-placeholder {
	color: #cecece;
	font-family: "Gill Sans"
}

::-moz-placeholder {
	color: #cecece;
	font-family: "Gill Sans"
}

:-ms-input-placeholder {
	color: #cecece;
	font-family: "Gill Sans"
}

:-moz-placeholder {
	color: #cecece;
	font-family: "Gill Sans"
}

select {
	color: #cecece;
	font-family: "Gill Sans";
	font-size: clamp(1.6rem, 1.5vw, 2rem)
}

#search {
	position: fixed;
	top: 0px;
	left: 0px;
	background-color: var(--vw-blue);
	opacity: 0
}

#search.open {
	opacity: 1;
	z-index: 1000;
	width: 100%;
	height: 28%
}

#search input[type="search"] {
	position: absolute;
	top: 50%;
	width: 100%;
	color: #fff;
	background: transparent;
	font-size: 40px;
	font-weight: 300;
	text-align: center;
	border: 0px;
	margin: 0px auto;
	margin-top: -51px;
	padding-left: 30px;
	padding-right: 30px;
	outline: none
}

#search .btn {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: 30px;
	margin-left: -40px;
	background: #ffee00;
	border-radius: 2px;
	padding: 7px 16px;
	color: #000000;
	font-weight: 600;
	font-style: normal;
	font-family: "Gill Sans", Arial, sans-serif !important;
}

#search .close {
	background-color: #ffee00;
	border-color: #ffb600;
	border-radius: 3px;
	color: #000000;
	font-size: 21px;
	opacity: 1;
	padding: 0 0px 4px;
	position: fixed;
	right: 15px;
	top: 15px;
	height: 30px;
	width: 32px;
	text-align: center;
	padding-top: 6px
}

.navbar {
	background: #fff;
	padding: 0.75rem 1rem;
	box-shadow: 0px 10px 30px rgba(198, 197, 199, 0.3)
}

.navbar .container {
	position: relative
}

.navbar-brand {
	position: absolute;
	top: 0px
}

@media only screen and (min-width: 1024px) {
	.navbar-brand {
		max-width: clamp(19rem, 12vw, 29rem)
	}
}

.zonnehoeveLogo {
	transition-duration: 0.5s;
	width: 100%;
	transform: translateX(-25px)
}

.navbar-collapse {
	transition-duration: 0.5s
}

.nav-link {
	font-size: clamp(1.6rem, 1.5vw, 1.8rem)
}

.nav-link:hover {
	color: #c8d8f0
}

.navbar-toggler {
	margin-left: auto
}

.navbar-toggler i {
	color: #0072bb
}

.homeHeader-wrapper {
	display: flex;
	justify-content: center
}

.homeHeader {
	height: 70vh;
	width: calc(100vw - 50px);
	border-radius: 12px;
	margin: auto;
	overflow: hidden;
	max-width: 1580px
}

@media only screen and (min-width: 1240px) {
	.homeHeader {
		width: calc(100vw - 140px)
	}
}

@media only screen and (min-width: 1680px) {
	.homeHeader {
		max-width: 1870px
	}
}

.homeSlider,
.homeSlider .slick-list,
.homeSlider .slick-track,
.homeSlider .homeWrapper {
	height: 100%
}

.homeSlider {
	margin-bottom: 0 !important
}

.homeSlider .slick-dots li button:before {
	font-size: 32px;
	content: "●";
	opacity: 1;
	color: #fff
}

.homeSlider .slick-dots li.slick-active button:before {
	color: #123562;
	opacity: 1;
	color: #ffee00
}

.homeSlider .slick-dotted.slick-slider {
	margin-bottom: 0
}

.homeSlider .slick-dots {
	bottom: 75px;
	display: flex;
	left: clamp(3rem, 4vw, 10rem)
}

.homeWrapper {
	position: relative;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover
}

.homesliderText {
	position: absolute;
	z-index: 10;
	top: 0;
	width: 100%;
	height: 100%
}

.homesliderText::after {
	pointer-events: none;
	content: '';
	position: absolute;
	z-index: -1;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	background: #003455;
	background: linear-gradient(90deg, rgba(0, 52, 85, 0.68) 0%, rgba(0, 52, 85, 0.51) 13%, rgba(0, 52, 85, 0.25) 32%, rgba(204, 204, 204, 0) 100%)
}

.homesliderText .container,
.homesliderText .row,
.homesliderText .col-lg-12 {
	height: 100%
}

.title-container {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center
}

.homesliderText h1 {
	position: relative;
	line-height: .95;
	color: #fff;
	font-size: 100px
}

.sliderActie {
	position: relative;
	text-align: center;
	background: rgba(255, 255, 255, 0.5);
	border: 3.5px solid #0072bb;
	border-radius: 10px;
	padding: 10px;
	top: 30%;
	transform: translateY(-30%);
	margin: 0 30px
}

.sliderActie img {
	position: absolute;
	top: -53px;
	left: 5px
}

.sliderActie h2 {
	font-size: 26px;
	line-height: 24px;
	font-family: "Gill Sans";
	font-weight: bold;
	text-transform: uppercase;
	margin: 0
}

.sliderActie a {
	text-decoration: none
}

.sliderActie p {
	color: #fff;
	text-shadow: 0 2px 5px rgba(0, 0, 0, 0.7);
	margin: 0
}

.paginaHeader {
	height: 300px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center
}

.boekingWrapper {
	background: #fff;
	margin-top: -50px;
	z-index: 10;
	position: relative;
	border-radius: 10px;
	box-shadow: 0px 10px 30px rgba(198, 197, 199, 0.3);
	border: 20px solid #BBE4FF;
	max-width: 1257px;
	margin-inline: auto;
	min-height: 158px;
	padding-top: 17px;
	padding-bottom: 13px
}

.boekingWrapper .yellowBtn {
	width: 100%;
	font-weight: bold
}

.keuzeRow {
	margin-top: 30px
}

.typeFoto {
	position: relative;
	border-radius: 10px 10px 0 0;
	background-repeat: no-repeat;
	aspect-ratio: 53/30
}

.typeTag {
	width: 100%;
	position: absolute;
	bottom: 0
}

.typeKeuze {
	border-radius: 10px;
	background: #fff;
	box-shadow: 0px 10px 30px rgba(198, 197, 199, 0.3);
	height: 100%;
	display: flex;
	flex-direction: column
}

.typeKeuze .typeText {
	flex: 1
}

.typeText {
	padding: 25px;
	display: flex;
	flex-direction: column
}

.typeText .btn {
	margin-top: auto
}

.activiteitenContent {
	padding: 0 0
}

.activiteitenCardWrapper {
	margin-right: 20px
}

.activiteitenCard {
	background-color: #fff;
	height: clamp(440px, 60vw, 550px);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	position: relative;
	border-radius: 10px;
	padding: 25px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden
}

.activiteitenCard::after {
	pointer-events: none;
	content: '';
	position: absolute;
	background: linear-gradient(180deg, rgba(0, 114, 187, 0) 59.95%, rgba(0, 0, 0, 0.75) 103.91%);
	z-index: 0;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	opacity: .81
}

.activiteitenInner {
	width: 60%;
	position: relative;
	z-index: 2
}

.activiteitIcon {
	position: absolute;
	width: 100%;
	top: 25px;
	left: 25px
}

.activiteitenInner a {
	color: #FFF;
	font-size: 30px;
	font-style: normal;
	font-weight: 600;
	line-height: 125%
}

.activiteitenBtn {
	margin-top: 60px
}

.reviewBlock .reviewTitle {
	border-bottom: 2px dotted #0072bb
}

.reviewSlider {
	margin-top: 30px
}

.styleQuote {
	font-size: 18px;
	margin-bottom: 20px
}

.rightSlider,
.leftSlider {
	position: absolute;
	top: 20%;
	cursor: pointer;
	z-index: 10
}

.rightSlider {
	right: 0
}

.leftSlider {
	left: 0
}

.slideshowBottom {
	margin-bottom: 40px
}

.slideBottom img {
	width: 100%
}

.slideBottom {
	-webkit-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity: 0.9;
	z-index: 2
}

.slideBottom.slick-slide {
	position: relative;
	z-index: 6
}

.slideBottom.slick-current {
	-webkit-filter: none;
	filter: none;
	opacity: 1;
	z-index: 10
}

.slick-slide {
	position: relative;
	z-index: 6
}

.slideBottom.slick-center {
	-webkit-transform: scale(1.5);
	-moz-transform: scale(1.5);
	transform: scale(1.5);
	z-index: 999
}

.slideBottom.slick-center+.slideBottom.slick-slide {
	z-index: 8
}

.bottomSlider .slick-list {
	padding: 45px 60px !important
}

.bottomrightSlider,
.bottomleftSlider {
	position: absolute;
	top: 40%;
	cursor: pointer;
	z-index: 10
}

.bottomrightSlider {
	right: 30%
}

.bottomleftSlider {
	left: 30%
}

.innerContent {
	text-align: left
}

.activiteitenPagina .typeFoto {
	background-size: cover;
	background-position: center
}

.activiteitenPagina .typeText {
	height: 300px
}

.activiteitenPagina .blueBtn {
	margin-top: 15px
}

.boekingBlock {
	background: #fff;
	box-shadow: 0px 10px 30px rgba(198, 197, 199, 0.3);
	border-radius: 10px;
	margin-top: 40px;
	padding: 30px
}

.boekingBlock .vakantieForm {
	text-align: left
}

.boekingBlock .vakantieForm label {
	display: block;
	margin: 0.5rem 0;
	font-weight: 500
}

.boekingBlock .vakantieForm .yellowBtn {
	width: 100%
}

.contactForm label {
	margin: 0.5rem 0
}

.contactForm .yellowBtn {
	width: 100%
}

.meerInfo {
	background: #c8d8f0;
	text-align: center;
	padding: 20px 0
}

.meerInfo h4,
.meerInfo .yellowBtn {
	display: inline-block
}

.meerInfo h4 {
	margin: 0;
	vertical-align: bottom
}

.meerInfo .yellowBtn {
	margin-left: 5px
}

footer {
	background: #0072bb
}

.footerMenu {
	padding-top: 40px;
	padding-bottom: 20px
}

.footermenuWrapper h5 {
	color: #fff;
	border-bottom: 2px solid #ffee00;
	text-transform: capitalize;
	font-size: clamp(1.6rem, 1.5vw, 2rem);
	line-height: 1.25;
	padding-bottom:15px;
}

.footermenuWrapper p {
	color: #fff
}

.footermenuWrapper a {
	color: #fff;
	text-decoration: none
}

.footermenuWrapper a::before {
	content: "●";
	color: #ffee00;
	font-size: 12px;
	margin-right: 10px
}

.footermenuWrapper.contactMenu p {
	margin: 0;
	color: #fff
}

.footermenuWrapper.contactMenu a::before {
	content: "";
	margin: 0
}

.footermenuWrapper.contactMenu a {
	text-transform: none
}

.footerBottom {
	padding-bottom: 20px
}

.socialFooter {
	text-align: right
}

.footerBottom svg {
	vertical-align: middle;
	margin: 0 1px
}

.footerBottom p,
.footerBottom a {
	font-size: 12px;
	color: #fff;
	display: inline-block
}

.lossefooterLink li {
	list-style: none
}

.boekingsModule {
	margin-bottom: 30px
}

.boekingsModule .tommy-zeb-wrapper .tommy-zeb-left {
	background-color: #fff;
	padding: 10px
}

.boekingsModule .tommy-zeb-wrapper-mini h2.ng-binding {
	color: #333333;
	font-family: "Gill Sans" !important;
	font-size: 13px
}

.boekingsModule tommy-widget {
	margin: 0 auto
}

.boekingsModule .tommy-zeb-wrapper .tommy-zeb-left select,
.boekingsModule .tommy-zeb-wrapper .tommy-zeb-left input {
	border: 1px solid #ced4da
}

.boekingsModule tommy-accommodation-type {
	width: 100%;
	margin-top: 5px
}

.boekingsModule .tommy-zeb-wrapper-mini .tommy-zeb-period .tommy-zeb-date-begin-label,
.boekingsModule .tommy-zeb-wrapper-mini .tommy-zeb-period .tommy-zeb-date-end-label {
	margin-top: 5px
}

.boekingsModule .tommy-zeb-btn.tommy-zeb-change-person-categories {
	background-color: #0072bb !important;
	color: #fff !important
}

.boekingsModule .tommy-zeb-wrapper-mini button.tommy-zeb-update {
	background-color: #ffee00;
	color: #0072bb;
	padding: 6px 30px;
	margin-top: -2px;
	font-weight: bold
}

.tommy-zeb-wrapper-mini button.tommy-zeb-btn {
	cursor: pointer
}

.boekingsModule .tommy-zeb-person-categories {
	margin-right: 0 !important
}

.boekingsModule .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-person-category-mini .tommy-zeb-person-category-list {
	background-color: #0072bb
}

.boekingsModule .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-person-category-mini .tommy-zeb-range {
	background-color: #ffee00
}

.zoekVind tommy-widget {
	width: 100%
}

.zoekVind .tommy-zeb-wrapper .tommy-zeb-left {
	background-color: #0072bb;
	border-radius: 10px
}

.zoekVind .tommy-zeb-wrapper .tommy-zeb-left h1 {
	color: #fff;
	font-family: "Gill Sans"
}

.zoekVind .tommy-zeb-wrapper .tommy-zeb-result {
	display: flex
}

.zoekVind .tommy-zeb-wrapper .tommy-zeb-result-details {
	padding-left: 30px
}

.zoekVind .tommy-zeb-wrapper .tommy-zeb-result-label.ng-binding {
	font-family: "Gill Sans" !important;
	color: #0072bb;
	font-size: 28px;
	margin-bottom: 10px
}

.zoekVind .tommy-zeb-wrapper .tommy-zeb-result-price.ng-binding {
	font-family: "Gill Sans" !important;
	color: #0072bb;
	font-size: 22px;
	margin-top: 30px;
	margin-bottom: 10px
}

.zoekVind .tommy-zeb-wrapper .tommy-zeb-result-image {
	height: 370px;
	position: relative
}

.zoekVind .tommy-zeb-period label {
	color: #fff
}

.zoekVind .tommy-zeb-wrapper .tommy-zeb-result.ng-scope {
	background-color: #fff;
	border: 1px solid #ced4da;
	border-radius: 10px
}

.zoekVind .tommy-zeb-result-text {
	font-family: "Gill Sans" !important
}

.zoekVind .tommy-zeb-result-text a {
	background-color: #ffee00;
	color: #0072bb;
	padding: 10px 30px;
	border-radius: 10px;
	font-weight: bold
}

.zoekVind .tommy-zeb-wrapper .tommy-zeb-btn {
	background-color: #0072bb;
	color: #fff;
	padding: 10px 30px;
	font-weight: bold
}

.accommodatieMogelijk {
	margin-bottom: 60px
}

.accommodatieMogelijk .tommy-matrix {
	width: 100%
}

.accommodatieMogelijk .matrix-row.arrangement .fixed-one {
	border-color: #ffee00
}

.accommodatieMogelijk .matrix-bar label.active textarea,
.accommodatieMogelijk .matrix-bar label.active input,
.accommodatieMogelijk .matrix-bar label.active select {
	border-color: #ffee00
}

.accommodatieMogelijk .the-matrix .popup .input-container_header h2 {
	font-family: "Gill Sans" !important
}

.accommodatieMogelijk .the-matrix .popup button {
	font-family: "Gill Sans" !important;
	background-color: #ffee00;
	font-weight: bold;
	color: #0072bb
}

.accommodatieMogelijk .header-col span {
	font-family: "Gill Sans" !important
}

.accommodatieMogelijk .matrix-row .fixed-one .fixed-one_text .more-info {
	position: relative;
	float: right;
	margin-right: 20px
}

.boekingPagina .tbs-container-fluid h2 {
	font-family: "Gill Sans" !important
}

.boekingPagina .tbs_kassabon {
	background-color: #0072bb;
	border-radius: 10px;
	padding: 0 0 20px 0
}

.boekingPagina .tbs-container-fluid h2 {
	color: #fff;
	margin: 20px 0
}

.boekingPagina .tbs_kassabon_overzicht {
	color: #fff;
	font-size: clamp(1.6rem, 1.5vw, 2rem);
	padding: 0 30px
}

.boekingPagina .tbs-btn-success {
	font-family: "Gill Sans" !important;
	background-color: #ffee00;
	border-color: #ffee00;
	font-weight: bold;
	color: #0072bb;
	border-radius: 0
}

.boekingPagina .tbs-text-muted {
	color: #fff
}

.boekingPagina .tbs-calendar .tbs-day.tbs-selected {
	background-color: #0072bb !important
}

.boekingPagina .tbs-btn-info {
	background-color: #0072bb;
	border-color: #0072bb
}

.boekingPagina #persoonscategorie {
	font-size: clamp(1.6rem, 1.5vw, 2rem)
}

.boekingPagina .tbs_persoonscategorien label {
	color: #0072bb
}

.boekingPagina .tbs-navbar-default {
	background-color: #fff;
	border: 1px solid #ced4da
}

.boekingPagina .tbs-navbar-default .tbs-navbar-nav>.tbs-active>a,
.boekingPagina .tbs-navbar-default .tbs-navbar-nav>.tbs-active>a:focus,
.boekingPagina .tbs-navbar-default .tbs-navbar-nav>.tbs-active>a:hover {
	background-color: #0072bb;
	color: #fff
}

.boekingPagina .tbs-navbar-default .tbs-container-fluid,
.boekingPagina .tbs-navbar-default .tbs-navbar-collapse {
	padding: 0
}

.boekingPagina .tbs-page-artikelen .tbs-container-fluid h2,
.boekingPagina .tbs-page-overig .tbs-container-fluid h2,
.boekingPagina .tbs-page-persoon .tbs-container-fluid h2 {
	color: #0072bb
}

.boekingPagina .tbs_persoon .tbs-labels,
.boekingPagina #tbs-opmerking {
	font-size: clamp(1.6rem, 1.5vw, 2rem)
}

.boekingPagina .tbs-page-overzicht .tbs-container-fluid h2 {
	color: #0072bb
}

.boekingPagina .tbs-page-overzicht .tbs-container-fluid {
	font-size: clamp(1.6rem, 1.5vw, 2rem)
}

.boekingPagina #TommyBookingSupport {
	width: 100%
}

.boekingPagina .tbs_persoonsgegevens_overzicht {
	padding: 0 30px;
	color: #fff;
	font-size: clamp(1.6rem, 1.5vw, 2rem)
}

.boekingPagina .tbs_gasten_overzicht,
.boekingPagina .tbs_overig_overzicht {
	padding: 0 30px;
	color: #fff;
	font-size: clamp(1.6rem, 1.5vw, 2rem)
}

@media only screen and (max-width: 1199px) {
	.displayBig {
		display: block
	}

	.hideBig {
		display: none
	}

	.periodeText {
		width: 100px
	}

	.accommodatieButtons .btn {
		width: 40%
	}
}

@media only screen and (max-width: 991px) {
	.displayLarge {
		display: block
	}

	.hideLarge {
		display: none
	}

	.sliderActie {
		top: 0;
		transform: none
	}

	.homesliderText h1 {
		top: 50%
	}

	.navbar-brand img.active {
		width: 150px
	}

	.nav-link::after {
		content: ""
	}

	.navbar-collapse.show {
		margin-top: 30px
	}

	.accommodatieBlock {
		margin: 30px 0
	}

	.alleaccomBtn .blueBtn {
		width: 100%
	}

	.accomDatum {
		margin-top: -25px
	}

	.zoekVind .tommy-zeb-wrapper .tommy-zeb-result {
		display: block
	}

	.zoekVind .tommy-zeb-wrapper .tommy-zeb-result-image {
		height: 300px;
		margin-bottom: 30px
	}

	.zoekVind .tommy-zeb-wrapper .tommy-zeb-result-image img {
		height: 100%
	}

	.boekingPagina .tbs-flag {
		width: 25px !important;
		height: 20px !important
	}

	.boekingPagina .tbs_kassabon .tbs_totaal_overzicht .tbs-totaal {
		background-color: #0072bb
	}
}

@media only screen and (max-width: 767px) {
	.displayMedium {
		display: block
	}

	.hideMedium {
		display: none
	}

	.socialFooter {
		text-align: left
	}

	.accomDatum {
		margin-top: 0
	}

	.mogelijkBlock p {
		margin: 20px 0
	}

	.zoekVind .tommy-zeb-wrapper .tommy-zeb-result-image {
		float: none;
		width: auto;
		height: 100%;
		min-width: auto
	}

	.zoekVind .tommy-zeb-wrapper .tommy-zeb-result-details {
		float: none;
		width: 100%
	}

	.boekingPagina .tbs-navbar-nav {
		float: left;
		margin: 0
	}

	.boekingPagina .tbs-container-fluid>.tbs-navbar-collapse,
	.boekingPagina .tbs-container-fluid>.tbs-navbar-header,
	.boekingPagina .tbs-container>.tbs-navbar-collapse,
	.boekingPagina .tbs-container>.tbs-navbar-header {
		margin-right: 0;
		margin-left: 0
	}

	.boekingPagina .tbs-navbar-collapse.tbs-collapse {
		display: block !important;
		height: auto !important;
		padding-bottom: 0;
		overflow: visible !important
	}

	.boekingPagina .tbs-navbar-nav>li {
		float: left
	}

	.boekingPagina .tbs-hidden-sm {
		display: none !important
	}

	.typeText,
	.activteitenPagina .typeText {
		height: auto
	}
}

@media only screen and (max-width: 575px) {
	.displaySmall {
		display: block
	}

	.hideSmall {
		display: none
	}

	.footermenuWrapper {
		margin: 10px 0
	}

	.navbar-brand {
		width: 75%
	}

	.bottomrightSlider {
		right: 0
	}

	.bottomleftSlider {
		left: 0
	}

	.homesliderText h1 {
		font-size: 80px;
		line-height: 60px;
		top: 145px
	}

	.sliderActie img {
		width: 30px;
		top: -30px
	}

	.activiteitenCard {
		margin: 20px 0
	}

	.accommodatieFoto {
		min-height: 450px
	}

	.accommodatieInner {
		margin: 30px
	}

	.accomOpties p {
		font-size: 12px
	}

	.actieOuter {
		display: flex
	}

	.sliderActie {
		top: -35px;
		display: flex;
		margin: 0 5px;
		height: 100px;
		width: 200px;
		align-items: center
	}

	.sliderActie h2 {
		font-size: 12px !important;
		line-height: 14px
	}
}

.site-body .container {
	max-width: 1880px;
	padding-inline: clamp(1rem, 2vw, 3rem)
}

@media only screen and (min-width: 1680px) {
	.site-body .container {
		padding-inline: clamp(3rem, 4vw, 12rem)
	}
}

.site-body .ticked-ul ul {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	justify-content: space-between;
	margin-inline: auto;
	list-style-type: none;
	margin-left: 0
}

.site-body .ticked-ul ul li {
	font-weight: 600;
	color: #0072bb;
	padding-left: 3rem;
	position: relative
}

.site-body .ticked-ul ul li::before {
	position: absolute;
	top: 2px;
	left: 0;
	content: '';
	mask-image: url("../img/redesign/tick-1.svg");
	mask-repeat: no-repeat;
	mask-size: contain;
	background-color: #0072bb;
	width: 20px;
	aspect-ratio: 1;
	display: block
}

@media only screen and (min-width: 1240px) {
	.site-body .navbar-nav {
		gap: 1rem;
		position: relative;
		justify-content: center;
		width: 100%
	}
}

@media only screen and (min-width: 1024px) {
	.site-body .navbar-nav .nav-link {
		padding-inline: 1.5rem;
		padding-top: clamp(1rem, 1.6vw, 2rem)
	}
}

@media only screen and (min-width: 1240px) {
	.site-body .navbar-nav .nav-item:last-child {
		position: absolute;
		right: 0;
		width: 21rem
	}

	.site-body .navbar-nav .nav-item:last-child .nav-link {
		border-bottom: 1px solid #0072BB;
		padding-left: 4rem;
		padding-bottom: 0
	}

	.site-body .navbar-nav .nav-item:last-child .nav-link .search_btn {
		position: absolute;
		left: 1rem
	}

	.site-body .navbar-nav .nav-item:last-child .nav-link::after {
		content: 'Zoeken...';
		color: rgba(160, 160, 160, 0.5);
		font-family: "Gill Sans";
		font-size: 18px;
		font-weight: 400;
		line-height: 125%
	}
}

.site-body .vakantieKeuze {
	position: relative
}

.site-body .vakantieKeuze::before {
	content: '';
	mask-image: url("../img/redesign/zonne-icon.svg");
	mask-repeat: no-repeat;
	mask-size: contain;
	background-color: #ffee00;
	position: absolute;
	top: 0;
	left: 0;
	width: clamp(30rem, 30vw, 53rem);
	aspect-ratio: 1
}

.site-body .vakantieKeuze .heading {
	font-weight: 400;
	font-family: "Gill Sans";
}

.slider-button {
    width: 38px;
    height: 38px;
    margin-left: 10px;
    border: 2px solid #2478c8;
    border-radius: 50%;
    background: #fff;
    color: #2478c8;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: 0.2s ease;
}

.slider-button:hover {
    background: #2478c8;
    color: #fff;
    transform: translateY(-2px);
}

.slider-button::after {
	content: '';
	mask-image: url("../img/redesign/arrow-right.svg");
	mask-repeat: no-repeat;
	mask-size: cover;
	width: 23px;
	display: block;
	height: 18px;
	mask-position: center;
	background-color: #0072BB;
	transition: .3s ease
}

.slider-button.act-next::after {
	transform: scaleX(-1)
}

.slider-button:hover {
	background: #0072BB;
	color: #fff
}

.slider-button:hover::after {
	background-color: #fff
}

.activiteiten-slider .slick-list {
	overflow: visible
}

.ellipse-bg {
	position: relative
}

.ellipse-bg::after {
	pointer-events: none;
	content: '';
	position: absolute;
	background-color: #0072bb;
	z-index: -1;
	width: 153%;
	left: 50%;
	opacity: 1;
	aspect-ratio: 29/12;
	transform: translate(-50%, -230px);
	min-width: 1100px;
	border-radius: 50%
}







/* ========================================================================
   Zonnehoeve homepage final responsive styling
   Plaats dit onderaan de stylesheet. Dit vervangt alle losse overrides
   voor activiteiten, reviews, YouTube en de blauwe curve.
   ======================================================================== */

:root {
    --zh-blue: #0072bb;
    --zh-blue-bg: #2f7bbd;
    --zh-blue-light: #2478c8;
    --zh-blue-line: #4aa3ff;
    --zh-blue-card: #2564a0;
    --zh-yellow: #ffdf00;
    --zh-white: #fff;
    --zh-text: #111;
    --zh-radius: 12px;
    --zh-gap: 15px;
}

.clearFix {
    clear: both;
}

img,
iframe {
    max-width: 100%;
}

.pb-10 {
    padding-bottom: clamp(4.8rem, 7vw, 10rem) !important;
}

.pt-10 {
    padding-top: clamp(4.8rem, 7vw, 8rem) !important;
}

.boekingsModule {
    position: relative;
    z-index: 6;
    padding: clamp(2rem, 3vw, 3.5rem) 0 clamp(1.6rem, 2.4vw, 2rem);
    margin-bottom: 3rem;
}

.boekingWrapper {
    position: relative;
    z-index: 2;
}

.boekingsModule tommy-widget {
    display: block;
    width: 100%;
}

.boekingsModule .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-left {
    font-size: 13px;
}

.vakantieKeuze {
    position: relative;
    overflow: hidden;
}

.vakantieKeuze .container {
    position: relative;
    z-index: 2;
}

.vakantieUSP ul {
    display: flex;
    justify-content: center;
    gap: clamp(1.4rem, 3vw, 4rem);
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}

.vakantieUSP li {
    list-style: none;
    font-weight: 600;
}

.vakantieIntroRow,
.keuzeRow {
    row-gap: 3rem;
}

.keuzeCol {
    display: flex;
}

.typeKeuze {
    width: 100%;
    height: 100%;
    background: var(--zh-white);
    border-radius: var(--zh-radius);
    overflow: hidden;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
}

.typeFoto {
    min-height: clamp(210px, 24vw, 290px);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.typeText {
    padding: clamp(2.4rem, 3vw, 3.2rem);
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.typeText h3,
.typeText h5 {
    margin-top: 0;
}

.typeText ul {
    margin: 1.8rem 0 2.8rem;
    padding-left: 2rem;
}

.typeText li {
    margin-bottom: 0.8rem;
}

.typeText .btn {
    margin-top: auto;
    align-self: flex-start;
}

/* Arrows voor activiteiten en reviews */
.slider-button,
.reviewsNav button {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    min-height: 38px !important;
    margin-left: 10px !important;
    padding: 0 !important;
    border: 2px solid var(--zh-blue-light) !important;
    border-radius: 50% !important;
    background: var(--zh-white) !important;
    color: var(--zh-blue-light) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-indent: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    appearance: none !important;
    box-shadow: none !important;
    outline: 0 !important;
    overflow: visible !important;
    cursor: pointer !important;
    transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.slider-button:hover,
.reviewsNav button:hover {
    background: var(--zh-blue-light) !important;
    color: var(--zh-white) !important;
    border-color: var(--zh-blue-light) !important;
    transform: translateY(-2px);
    border:1px solid #fff !important;
}

.slider-button:focus-visible,
.reviewsNav button:focus-visible {
    outline: 3px solid rgba(255, 223, 0, 0.75) !important;
    outline-offset: 3px !important;
}

.slider-button::before,
.slider-button::after,
.reviewsNav button::before,
.reviewsNav button::after {
    content: none !important;
    display: none !important;
}

.slider-button span,
.reviewsNav button span {
    display: block;
    line-height: 1;
    transform: translateY(-1px);
}

/* Activiteiten */
.activiteitenBlock {
    position: relative;
    overflow: hidden;
    padding-bottom: 1.5rem !important;
}

.activiteitenBlock .container {
    position: relative;
    z-index: 2;
}

.activiteitenTitel {
    margin-bottom: clamp(2rem, 3vw, 2.5rem);
    row-gap: 1.6rem;
    padding-bottom:0 !important;
    margin-bottom:0;
}

.activiteitenNav {
    gap: 10px;
}

.activiteitenNav .slider-button {
    margin-left: 0 !important;
}

.activiteiten-slider {
    margin-left: calc(var(--zh-gap) / -2);
    margin-right: calc(var(--zh-gap) / -2);
}

.activiteiten-slider:not(.slick-initialized) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--zh-gap);
    margin-left: 0;
    margin-right: 0;
}

.activiteiten-slider .slick-list {
    overflow: visible;
}

.activiteiten-slider .slick-track {
    display: flex !important;
}

.activiteiten-slider .slick-slide {
    height: auto;
}

.activiteiten-slider .slick-slide > div {
    height: 100%;
}

.activiteitenCardWrapper {
    height: 100%;
    padding: 0 calc(var(--zh-gap) / 2);
    margin-right: 0 !important;
}

.activiteiten-slider:not(.slick-initialized) .activiteitenCardWrapper {
    padding: 0;
}

.activiteitenCard {
    --activity-side: clamp(22px, 2.4vw, 32px);
    position: relative;
    min-height: clamp(285px, 34vw, 470px);
    height: 100%;
    border-radius: var(--zh-radius);
    overflow: hidden;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    padding: 0 !important;
}

.activiteitenCard::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.34) 45%, rgba(0, 0, 0, 0.12) 100%);
    z-index: 1;
    pointer-events: none;
}

.activiteitenCard::after {
    content: none !important;
    display: none !important;
}

.activiteitIcon {
    position: absolute !important;
    top: var(--activity-side) !important;
    left: var(--activity-side) !important;
    z-index: 2;
    width: clamp(46px, 4vw, 56px) !important;
    height: clamp(46px, 4vw, 56px) !important;
    border-radius: 50%;
    background: var(--zh-white);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.14);
}

.activiteitIcon img {
    display: block;
    max-width: 52%;
    max-height: 52%;
}

.activiteitenInner {
    position: relative;
    z-index: 2;
    width: 100% !important;
    padding: 0 var(--activity-side) clamp(3rem, 4vw, 5.8rem) var(--activity-side) !important;
    text-align: left !important;
}

.activiteitenInner a,
.activiteitenBlock .activiteitenCard .activiteitenInner a {
    display: inline-block !important;
    margin: 0 !important;
    color: var(--zh-white) !important;
    font-family: "Gill Sans" !important;
    font-style: normal !important;
    font-size: clamp(2rem, 2vw, 2.8rem) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: left !important;
    text-decoration: none !important;
    transform: none !important;
}

/* Blauwe achtergrond onder activiteiten */
.ellipse-bg {
    position: relative;
}

.ellipse-bg::after {
    pointer-events: none;
    content: "";
    position: absolute;
    background-color: var(--zh-blue);
    z-index: 1;
    width: 220vw;
    min-width: 2600px;
    height: clamp(260px, 34vw, 540px);
    left: 50%;
    bottom: -120px;
    transform: translateX(-50%);
    border-radius: 50% 50% 0 0;
}

/* Reviews + YouTube */
.reviewsVideoSection {
    position: relative !important;
    overflow: hidden !important;
    background: var(--zh-white) !important;
    padding-top: clamp(7rem, 8vw, 11rem) !important;
    padding-bottom: clamp(12rem, 12vw, 18rem) !important;
    isolation: isolate;
}

/* Alleen deze vorm maakt de blauwe achtergrond; de sectie zelf blijft wit */
.reviewsVideoSection::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: clamp(-52rem, -24vw, -32rem) !important;
    width: 240vw !important;
    min-width: 2600px !important;
    height: clamp(88rem, 66vw, 122rem) !important;
    transform: translateX(-50%) !important;
    background: var(--zh-blue-bg) !important;
    border-bottom: 3px solid var(--zh-blue-line) !important;
    border-radius: 0 0 50% 50% / 0 0 100% 100% !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

/* Lichtblauw verloop onder de video, binnen dezelfde sectie */
.reviewsVideoSection::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: clamp(28rem, 34vw, 46rem) !important;
    background: linear-gradient(to top, #b9dcf5 0%, #d9efff 38%, #eef8ff 65%, rgba(255, 255, 255, 0) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.reviewsVideoInner,
.reviewsVideoColumn,
.reviewsHeader,
.reviewsSlider,
.videoArea,
.videoWrapper,
.videoTextRow {
    position: relative !important;
    z-index: 2 !important;
}

.reviewsHeader {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: clamp(2rem, 4vw, 3rem);
    margin-bottom: clamp(2.4rem, 3vw, 3.4rem);
}

.reviewsHeading {
    color: var(--zh-white) !important;
    margin: 0 0 1.2rem !important;
}

.googleRating {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--zh-white);
    font-size: 14px;
}

.googleRatingIcon {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.googleRatingIcon img {
    display: block;
    width: 100%;
    height: auto;
}

.ratingText {
    color: var(--zh-white);
    font-size: clamp(1.3rem, 1vw, 1.5rem);
    line-height: 1;
}

.stars {
    color: var(--zh-yellow);
    font-size: clamp(1.4rem, 1vw, 1.6rem);
    letter-spacing: 2px;
    line-height: 1;
    white-space: nowrap;
}

.reviewsNav {
    display: flex;
    gap: 12px;
    padding-top: clamp(0.4rem, 1vw, 1.8rem);
}

.reviewsNav button {
    margin-left: 0 !important;
}

.reviewsSlider {
    margin-left: calc(var(--zh-gap) / -2) !important;
    margin-right: calc(var(--zh-gap) / -2) !important;
}

.reviewsSlider:not(.slick-initialized) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--zh-gap);
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-items: stretch;
}

.reviewsSlider.slick-initialized .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

.reviewsSlider.slick-initialized .slick-slide {
    height: auto !important;
    display: flex !important;
}

.reviewsSlider.slick-initialized .slick-slide > div {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
}

.reviewSlide {
    height: 100% !important;
    padding: 0 calc(var(--zh-gap) / 2) !important;
    box-sizing: border-box;
    display: flex !important;
}

.reviewsSlider:not(.slick-initialized) .reviewSlide {
    padding: 0 !important;
}

.reviewCard {
    width: 100% !important;
    height: 100% !important;
    min-height: clamp(17.5rem, 14vw, 23rem) !important;
    padding: clamp(2.2rem, 2.4vw, 2.8rem) clamp(2rem, 2vw, 2.4rem) clamp(2rem, 2vw, 2.2rem) !important;
    border-radius: 8px;
    background: var(--zh-blue-card) !important;
    color: var(--zh-white) !important;
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.reviewQuote {
    color: var(--zh-white);
    font-size: clamp(1.55rem, 1.35vw, 2rem) !important;
    line-height: 1.35 !important;
    font-family: "Gill Sans";
}

.reviewAuthor {
    color: var(--zh-white);
    margin-top: clamp(2rem, 2.4vw, 2.8rem) !important;
    font-size: clamp(1.45rem, 1.25vw, 1.8rem) !important;
    line-height: 1.25 !important;
    opacity: 0.95;
    font-family: "Gill Sans";
}

.videoArea {
    z-index: 3 !important;
    margin-top: clamp(8rem, 10vw, 14rem) !important;
    padding-left: clamp(0px, 2vw, 35px);
    padding-right: clamp(0px, 2vw, 35px);
}

.videoWrapper {
    overflow: hidden !important;
    width: 100%;
    border: 0 !important;
    outline: 0 !important;
    border-radius: var(--zh-radius);
    background: transparent !important;
    box-shadow: none !important;
    transform: translateZ(0);
}

.videoWrapper::before {
    content: "";
    display: block;
    padding-top: 56.25%;
}

.videoWrapper iframe {
    position: absolute !important;
    top: -3px !important;
    left: -3px !important;
    width: calc(100% + 6px) !important;
    height: calc(100% + 6px) !important;
    border: 0 !important;
    outline: 0 !important;
    display: block !important;
}

.videoTextRow {
    margin-top: clamp(2.4rem, 3vw, 3.2rem);
    align-items: flex-start;
    row-gap: 1.6rem;
}

.tvHeading {
    color: var(--zh-blue-light) !important;
    font-size: 40px;
    line-height: 1.1 !important;
    margin: 0 !important;
}

.tvText {
    max-width: 52rem;
    color: var(--zh-text) !important;
    font-size: clamp(1.6rem, 1.5vw, 2rem) !important;
    line-height: 1.35 !important;
    font-family: "Gill Sans";
}

footer,
.footer {
    position: relative !important;
    z-index: 5 !important;
}

@media (max-width: 1199px) {
    .ellipse-bg::after,
    .reviewsVideoSection::before {
        width: 270vw !important;
        min-width: 0 !important;
    }

    .reviewsVideoSection::before {
        top: -43rem !important;
        height: 112rem !important;
    }
}

@media (max-width: 991px) {
    .activiteiten-slider:not(.slick-initialized),
    .reviewsSlider:not(.slick-initialized) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .reviewsVideoSection {
        padding-top: 8rem !important;
        padding-bottom: 14rem !important;
    }

    .reviewsVideoSection::before {
        width: 310vw !important;
        top: -36rem !important;
        height: 99rem !important;
    }

    .videoArea {
        margin-top: 10rem !important;
    }
}

@media (max-width: 767px) {
    .vakantieUSP ul {
        justify-content: flex-start;
    }

    .reviewsHeader {
        flex-direction: column;
        align-items: flex-start;
    }

    .reviewsNav {
        padding-top: 0;
    }

    .reviewsVideoSection {
        padding-top: 7rem !important;
        padding-bottom: 12rem !important;
    }

    .reviewsVideoSection::before {
        width: 380vw !important;
        top: -31rem !important;
        height: 89rem !important;
    }

    .videoArea {
        margin-top: 7rem !important;
    }

    .tvText {
        max-width: none;
    }
}

@media (max-width: 575px) {
    .boekingsModule {
        padding-top: 1.6rem;
    }

    .activiteitenTitel .heading,
    .reviewsHeading {
        font-size: clamp(3.4rem, 11vw, 4.8rem) !important;
        font-family: "Gill Sans";
    }

    .activiteiten-slider:not(.slick-initialized),
    .reviewsSlider:not(.slick-initialized) {
        grid-template-columns: 1fr;
    }

    .reviewsVideoSection::before {
        width: 430vw !important;
        top: -28rem !important;
        height: 84rem !important;
    }

    .reviewsVideoSection::after {
        height: 32rem !important;
    }

    .reviewCard {
        min-height: 16.5rem !important;
    }

    .videoArea {
        margin-top: 7rem !important;
        padding-left: 0;
        padding-right: 0;
    }

    .typeText {
        padding: 2.4rem;
    }
}


/* =========================================================
   DEFINITIEVE FIX: Reviews + video achtergrond met echte curve
   ========================================================= */

.reviewsVideoSection {
    position: relative !important;
    overflow: hidden !important;
    background: #fff !important;
    padding-top: 11rem !important;
    padding-bottom: 18rem !important;
    isolation: isolate !important;
}

/* 
   Blauwe achtergrond.
   Deze wordt nu met clip-path uitgesneden,
   waardoor de blauwe achtergrond altijd met de curve meeloopt.
*/
.reviewsVideoSection::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;

    width: 100% !important;
    min-width: 0 !important;
    height: 90rem !important;

    background: var(--zh-blue) !important;

    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;

    clip-path: ellipse(88% 100% at 50% 0%);

    z-index: 0 !important;
    pointer-events: none !important;
}

/* Lichtblauw verloop onder de video */
.reviewsVideoSection::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    height: 46rem !important;

    background: linear-gradient(
        to top,
        #b9dcf5 0%,
        #d9efff 38%,
        #eef8ff 65%,
        rgba(255, 255, 255, 0) 100%
    ) !important;

    z-index: 1 !important;
    pointer-events: none !important;
}

/* Alle content boven de achtergronden */
.reviewsVideoInner,
.reviewsVideoColumn,
.reviewsHeader,
.reviewsSlider,
.reviewSlide,
.reviewCard,
.videoArea,
.videoWrapper,
.videoTextRow {
    position: relative !important;
    z-index: 2 !important;
}

/* Video over de curve heen plaatsen */
.videoArea {
    margin-top: 14rem !important;
}

/* Footer altijd zichtbaar houden */
footer,
.footer {
    position: relative !important;
    z-index: 5 !important;
}

/* Tablet */
@media (max-width: 991px) {
    .reviewsVideoSection {
        padding-top: 8rem !important;
        padding-bottom: 14rem !important;
    }

    .reviewsVideoSection::before {
        height: 68rem !important;
        clip-path: ellipse(105% 100% at 50% 0%);
    }

    .videoArea {
        margin-top: 10rem !important;
    }
}

/* Mobiel */
@media (max-width: 767px) {
    .reviewsVideoSection {
        padding-top: 7rem !important;
        padding-bottom: 12rem !important;
    }

    .reviewsVideoSection::before {
        height: 64rem !important;
        clip-path: ellipse(130% 100% at 50% 0%);
    }

    .videoArea {
        margin-top: 7rem !important;
    }
}

/* Kleine mobiel */
@media (max-width: 575px) {
    .reviewsVideoSection::before {
        height: 60rem !important;
        clip-path: ellipse(155% 100% at 50% 0%);
    }

    .reviewsVideoSection::after {
        height: 32rem !important;
    }
}


/* Activiteiten card titel volledig resetten */
.activiteitenBlock .activiteitenCard .activiteitenInner a {
    font-style: normal !important;
    font-family: "Gill Sans" !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transform: none !important;
    font-style: normal !important;
}

.vakantieKeuze .typeKeuze .typeText .yellowBtn {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;

    padding: 1.2rem 1.6rem !important;
    border-radius: 10px !important;

    margin-top: auto !important;
    font-family: "Gill Sans";
}

/* Review arrows dimmen wanneer er geen vorige/volgende review is */
.reviewsNav button.is-disabled,
.reviewsNav button.is-disabled:hover,
.reviewsNav button:disabled,
.reviewsNav button:disabled:hover {
    opacity: 0.35 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
    background: #fff !important;
    color: #2478c8 !important;
    border-color: #2478c8 !important;
    transform: none !important;
}


/* Mobiel menu fix */
@media (max-width: 991px) {
    .navbar {
        padding: 1.2rem 1.6rem !important;
    }

    .navbar .container {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        position: relative !important;
    }

    .navbar-brand {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        width: 210px !important;
        max-width: 210px !important;
        z-index: 3 !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .zonnehoeveLogo {
        width: 100% !important;
        max-width: 210px !important;
        transform: none !important;
    }

    .zonnehoeveLogo.active,
    .navbar-brand img.active {
        width: 165px !important;
        max-width: 165px !important;
        transform: none !important;
    }

    .navbar-toggler {
        width: 52px !important;
        height: 52px !important;
        margin-left: auto !important;
        padding: 0 !important;
        border: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 4 !important;
        background: transparent !important;
    }

    .navbar-toggler i,
    .navbar-toggler svg,
    .navbar-toggler .navbar-toggler-icon {
        font-size: 2.8rem !important;
        width: 2.8rem !important;
        height: 2.8rem !important;
        color: #0072bb !important;
    }

    .navbar-collapse {
        flex-basis: 100% !important;
        width: 100% !important;
        margin-top: 2.4rem !important;
        padding-top: 1.6rem !important;
        border-top: 1px solid rgba(0, 114, 187, 0.12);
        position: relative !important;
        z-index: 2 !important;
    }

    .navbar-collapse.show,
    .navbar-collapse.collapsing {
        margin-top: 2.4rem !important;
    }

    .navbar-nav {
        width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .navbar-nav .nav-item {
        width: 100% !important;
    }

    .navbar-nav .nav-link {
        display: block !important;
        width: 100% !important;
        padding: 1rem 0 !important;
        font-size: 1.8rem !important;
        line-height: 1.3 !important;
        color: #0072bb !important;
    }

    .navbar-nav .search_btn,
    .navbar-nav .fa-search,
    .navbar-nav i {
        font-size: 2.4rem !important;
    }
}

@media (max-width: 575px) {
    .navbar-brand {
        width: 185px !important;
        max-width: 185px !important;
    }

    .zonnehoeveLogo,
    .zonnehoeveLogo.active,
    .navbar-brand img.active {
        width: 185px !important;
        max-width: 185px !important;
    }

    .navbar-toggler {
        width: 56px !important;
        height: 56px !important;
    }

    .navbar-toggler i,
    .navbar-toggler svg,
    .navbar-toggler .navbar-toggler-icon {
        font-size: 3rem !important;
        width: 3rem !important;
        height: 3rem !important;
    }

    .navbar-collapse {
        margin-top: 2rem !important;
        padding-top: 1.4rem !important;
    }

    .navbar-nav .nav-link {
        font-size: 1.9rem !important;
        padding: 1.1rem 0 !important;
    }
}


/* Boekingsmodule half over onderkant van slider plaatsen */
.homeHeader-wrapper {
    position: relative;
    z-index: 1;
}

.boekingsModule {
    position: relative !important;
    z-index: 20 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: -79px !important;
    margin-bottom: 5rem !important;
}

.boekingWrapper {
    margin-top: 0 !important;
}


@media (max-width: 991px) {
    .boekingsModule {
        margin-top: -60px !important;
        margin-bottom: 4rem !important;
    }
}

@media (max-width: 575px) {
    .boekingsModule {
        margin-top: 2rem !important;
        margin-bottom: 3rem !important;
    }

    .boekingWrapper {
        border-width: 12px !important;
    }
}


/* =========================================================
   Mobiele hero / slideshow beter verdelen
   ========================================================= */

/* Tablet */
@media (max-width: 991px) {
    .homeHeader-wrapper {
        padding-inline: 1.6rem;
    }

    .homeHeader {
        width: 100% !important;
        height: clamp(430px, 58vh, 560px) !important;
        min-height: 430px !important;
        max-height: 560px !important;
        border-radius: 12px !important;
    }

    .homesliderText .container,
    .homesliderText .row,
    .homesliderText .col-lg-12 {
        height: 100% !important;
    }

    .title-container {
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: flex-start !important;
        padding-top: 2rem !important;
        padding-bottom: 7rem !important;
    }

    .homesliderText h1 {
        position: static !important;
        top: auto !important;
        font-size: clamp(5.8rem, 9vw, 8rem) !important;
        line-height: 0.95 !important;
        margin-bottom: 2.4rem !important;
        max-width: 720px !important;
    }

    .homeSlider .slick-dots {
        left: clamp(3rem, 6vw, 6rem) !important;
        bottom: 4rem !important;
        transform: none !important;
    }

    .homeSlider .slick-dots li {
        margin: 0 3px !important;
    }

    .homeSlider .slick-dots li button:before {
        font-size: 26px !important;
    }
}

/* Mobiel */
@media (max-width: 575px) {
    .homeHeader-wrapper {
        padding-inline: 1.2rem;
    }

    .homeHeader {
        width: 100% !important;
        height: 390px !important;
        min-height: 390px !important;
        max-height: 390px !important;
        border-radius: 10px !important;
    }

    .homesliderText::after {
        background: linear-gradient(
            90deg,
            rgba(0, 52, 85, 0.72) 0%,
            rgba(0, 52, 85, 0.55) 42%,
            rgba(0, 52, 85, 0.18) 100%
        ) !important;
    }

    .title-container {
        justify-content: center !important;
        padding-top: 2rem !important;
        padding-bottom: 6.5rem !important;
    }

    .homesliderText h1 {
        position: static !important;
        top: auto !important;
        font-size: clamp(4.6rem, 14vw, 6.4rem) !important;
        line-height: 0.95 !important;
        margin-bottom: 1.8rem !important;
        max-width: 310px !important;
    }

    .homesliderText p,
    .homesliderText a,
    .homesliderText span {
        font-size: 1.5rem !important;
    }

    .homeSlider .slick-dots {
        left: 2.4rem !important;
        bottom: 2.8rem !important;
        display: flex !important;
        align-items: center !important;
    }

    .homeSlider .slick-dots li {
        width: 18px !important;
        height: 18px !important;
        margin: 0 2px !important;
    }

    .homeSlider .slick-dots li button {
        width: 18px !important;
        height: 18px !important;
        padding: 0 !important;
    }

    .homeSlider .slick-dots li button:before {
        font-size: 22px !important;
        line-height: 18px !important;
    }
}

/* Kleine mobiel */
@media (max-width: 390px) {
    .homeHeader {
        height: 360px !important;
        min-height: 360px !important;
        max-height: 360px !important;
    }

    .homesliderText h1 {
        font-size: clamp(4rem, 13vw, 5.4rem) !important;
        max-width: 280px !important;
    }

    .title-container {
        padding-bottom: 5.8rem !important;
    }

    .homeSlider .slick-dots {
        bottom: 2.4rem !important;
    }
}


@media (max-width: 575px) {
    .boekingsModule {
        margin-top: 2rem !important;
        margin-bottom: 3.5rem !important;
    }

    .boekingWrapper {
        margin-top: 0 !important;
        border-width: 12px !important;
    }
}

/* Fix: slider niet onder hoofdmenu op tablet/mobiel */
@media (max-width: 991px) {
    body {
        margin-top: 115px !important;
    }

    .navbar {
        min-height: 105px !important;
        z-index: 9999 !important;
    }

    .homeHeader-wrapper {
        margin-top: 0 !important;
        padding-top: 1.6rem !important;
    }
}

@media (max-width: 575px) {
    body {
        margin-top: 105px !important;
    }

    .navbar {
        min-height: 96px !important;
    }

    .homeHeader-wrapper {
        padding-top: 1.2rem !important;
    }
}


/* Mobiele zoekfunctie in menu kleiner en duidelijker */
@media (max-width: 991px) {
    .navbar-nav .nav-item:last-child {
        width: auto !important;
        margin-top: 1rem !important;
        padding-top: 1rem !important;
        border-top: 1px solid rgba(0, 114, 187, 0.15) !important;
    }

    .navbar-nav .nav-item:last-child .nav-link {
        width: auto !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.8rem !important;
        padding: 0.8rem 1.2rem !important;
        border: 1px solid rgba(0, 114, 187, 0.35) !important;
        border-radius: 999px !important;
        color: #0072bb !important;
        background: #f4fbff !important;
        font-size: 1.6rem !important;
        line-height: 1 !important;
    }

    .navbar-nav .nav-item:last-child .nav-link::after {
        content: "Zoeken" !important;
        color: #0072bb !important;
        font-size: 1.6rem !important;
        line-height: 1 !important;
        opacity: 1 !important;
    }

    .navbar-nav .nav-item:last-child .search_btn,
    .navbar-nav .nav-item:last-child .fa-search,
    .navbar-nav .nav-item:last-child i {
        font-size: 1.8rem !important;
        width: 1.8rem !important;
        height: 1.8rem !important;
        color: #0072bb !important;
        margin: 0 !important;
    }
}

@media (max-width: 575px) {
    .navbar-nav .nav-item:last-child {
        margin-top: 0.8rem !important;
        padding-top: 0.8rem !important;
    }

    .navbar-nav .nav-item:last-child .nav-link {
        font-size: 1.5rem !important;
        padding: 0.75rem 1.1rem !important;
    }

    .navbar-nav .nav-item:last-child .nav-link::after {
        font-size: 1.5rem !important;
    }

    .navbar-nav .nav-item:last-child .search_btn,
    .navbar-nav .nav-item:last-child .fa-search,
    .navbar-nav .nav-item:last-child i {
        font-size: 1.7rem !important;
    }
}


/* Mobiele zoek-overlay */
@media (max-width: 575px) {
    #search input[type="search"] {
        font-size: 2.6rem !important;
        line-height: 1.2 !important;
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }

    #search .btn {
        font-size: 1.6rem !important;
        padding: 0.9rem 1.8rem !important;
        margin-left: -4.5rem !important;
    }

    #search .close {
        width: 4rem !important;
        height: 4rem !important;
        font-size: 2.4rem !important;
        padding-top: 0.6rem !important;
    }
}



/* Mobiel: zoekknop in hamburger menu kleiner en duidelijker */
@media (max-width: 991px) {
    #navbarResponsive .navbar-nav > .nav-item:last-child {
        margin-top: 1rem !important;
        padding-top: 1rem !important;
        border-top: 1px solid rgba(0, 114, 187, 0.15) !important;
    }

    #navbarResponsive .navbar-nav > .nav-item:last-child > .nav-link {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.8rem !important;

        width: auto !important;
        padding: 0.8rem 1.4rem !important;

        border: 1px solid rgba(0, 114, 187, 0.35) !important;
        border-radius: 999px !important;
        background: #f4fbff !important;

        color: #0072bb !important;
        font-size: 1.6rem !important;
        line-height: 1 !important;
        text-decoration: none !important;
    }

    #navbarResponsive .navbar-nav > .nav-item:last-child > .nav-link::after {
        content: "Zoeken";
        color: #0072bb;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 1;
    }

    #navbarResponsive .search_btn {
        width: 18px !important;
        height: 18px !important;
        max-width: 18px !important;
        max-height: 18px !important;
        display: block !important;
        margin: 0 !important;
    }
}

@media (max-width: 575px) {
    #navbarResponsive .navbar-nav > .nav-item:last-child {
        margin-top: 0.8rem !important;
        padding-top: 0.8rem !important;
    }

    #navbarResponsive .navbar-nav > .nav-item:last-child > .nav-link {
        padding: 0.7rem 1.2rem !important;
        font-size: 1.5rem !important;
    }

    #navbarResponsive .navbar-nav > .nav-item:last-child > .nav-link::after {
        font-size: 1.5rem !important;
    }

    #navbarResponsive .search_btn {
        width: 17px !important;
        height: 17px !important;
        max-width: 17px !important;
        max-height: 17px !important;
    }
}

/* Mobiel: zoek-overlay compacter */
@media (max-width: 575px) {
    #search input[type="search"] {
        font-size: 2.4rem !important;
        line-height: 1.2 !important;
        padding-left: 2rem !important;
        padding-right: 2rem !important;
        margin-top: -4rem !important;
    }

    #search .btn {
        font-size: 1.6rem !important;
        padding: 0.9rem 2rem !important;
        margin-top: 3.5rem !important;
        margin-left: -4.8rem !important;
    }

    #search .close {
        width: 4rem !important;
        height: 4rem !important;
        font-size: 2.6rem !important;
        line-height: 1 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}



/* ==========================================================================
   Vakantiewoningen redesign
   Gebaseerd op het aangeleverde voorbeeldontwerp.
   Plaats deze CSS onderaan site.min.css of laad hem na je hoofdstylesheet.
   ========================================================================== */

:root {
    --vw-blue: #0072bb;
    --vw-blue-dark: #0069ad;
    --vw-yellow: #ffea00;
    --vw-light: #eaf7ff;
    --vw-white: #fff;
    --vw-text: #111;
    --vw-shadow: 0 18px 45px rgba(0, 114, 187, 0.13);
    --vw-radius: 10px;
}

.vakantieWoningenPage {
    position: relative;
    overflow: hidden;
    background: linear-gradient(to bottom, #fff 0%, #fff 38%, #eef9ff 67%, #dff3ff 100%);
    padding-bottom: clamp(7rem, 10vw, 12rem);
}

.vakantieWoningenPage .container {
    position: relative;
    z-index: 2;
}

.vwHero {
    position: relative;
    padding: clamp(5rem, 7vw, 9rem) 0 clamp(2.8rem, 4vw, 4.5rem);
    background: #fff;
    padding-bottom:20px;
}

.vwHero::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: min(86vw, 1380px);
    height: 1px;
    transform: translateX(-50%);
    border-bottom: 1px solid rgba(0, 114, 187, 0.14);
}

.vwSwirl {
    position: absolute;
    right: max(-5rem, calc((100vw - 1450px) / 2));
    top: clamp(1rem, 4vw, 4rem);
    width: clamp(20rem, 22vw, 36rem);
    aspect-ratio: 1;
    opacity: 0.18;
    pointer-events: none;
}

.vwSwirl::before,
.vwSwirl::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
}

.vwSwirl::before {
    border: clamp(3.4rem, 3vw, 5.6rem) solid var(--vw-blue);
}

.vwSwirl::after {
    inset: 20%;
    border: clamp(2.5rem, 2.2vw, 4rem) solid var(--vw-blue);
    border-left-color: transparent;
    transform: rotate(-30deg);
}

.vwIntro {
    max-width: 76rem;
}

.vwTitle {
    color: var(--vw-blue);
    font-family: inherit;
    font-size: clamp(4.4rem, 5vw, 7rem);
    font-weight: 600;
    line-height: 1;
    letter-spacing: -0.03em;
    margin: 0 0 clamp(2rem, 2.5vw, 3rem);
    font-style: normal !important;

}

.vwIntroContent,
.vwTextContent {
    max-width: 78rem;
    color: var(--vw-text);
    font-size: clamp(1.7rem, 1.35vw, 2.1rem);
    line-height: 1.45;
}

.vwIntroContent p,
.vwTextContent p {
    color: var(--vw-text);
    font-size: inherit;
    line-height: inherit;
    margin: 0 0 1.4rem;
}

.vakantieWoningenOverview .vwIntroContent {
    max-height: 7.2rem;
    overflow: hidden;
    position: relative;
}

.vakantieWoningenOverview .vwIntroContent.is-open {
    max-height: none;
}

.vwReadMore {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    margin-top: 1.4rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--vw-blue);
    font-size: clamp(1.5rem, 1.2vw, 1.8rem);
    font-weight: 600;
    font-family: "Gill Sans";
    cursor: pointer;
}

.vwReadMore::after {
    content: "⌄";
    font-size: 1.6rem;
    line-height: 1;
}

.vwCardsSection {
    position: relative;
    padding: clamp(3rem, 4vw, 5rem) 0 clamp(6rem, 8vw, 10rem);
    padding-top:0;
        margin-top:0;
}

.vwCardsSection::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -4rem;
    height: clamp(22rem, 32vw, 48rem);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(187, 228, 255, 0.35) 45%, rgba(187, 228, 255, 0.65) 100%);
    pointer-events: none;

}

.vwCardsGrid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1.6rem, 1.8vw, 2.4rem);
}

.vwCard {
    overflow: hidden;
    border-radius: var(--vw-radius);
    background: var(--vw-white);
    box-shadow: var(--vw-shadow);
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.vwCardImageLink {
    display: block;
    text-decoration: none;
    overflow: hidden;
}

.vwCardImage {
    width: 100%;
    aspect-ratio: 1.22 / 1;
    background-size: cover;
    background-position: center;
    transition: transform 0.35s ease;
}

.vwCard:hover .vwCardImage {
    transform: scale(1.04);
}

.vwCardBody {
    padding: clamp(2rem, 2vw, 2.8rem);
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.vwCardTitle {
    margin: 0 0 1.5rem;
    color: var(--vw-blue);
    font-size: clamp(2rem, 1.5vw, 2.7rem);
    font-weight: 600;
    line-height: 1.15;
}

.vwCardTitle a {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
    text-decoration: none;
}

.vwCardTitle a:hover {
    color: var(--vw-blue-dark);
}

.vwPrice {
    margin: -0.5rem 0 1.2rem;
    color: var(--vw-blue);
    font-size: clamp(1.5rem, 1.2vw, 1.8rem);
    font-weight: 600;
}

.vwCardText {
    margin: 0 0 2.5rem;
    color: var(--vw-text);
    font-size: clamp(1.5rem, 1.15vw, 1.8rem);
    line-height: 1.55;
}

.vwYellowBtn,
.vwOutlineBtn {
    min-height: 4.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    padding: 1.1rem 1.8rem;
    border-radius: 10px;
    font-family: "Gill Sans", Arial, sans-serif;
    font-size: clamp(1.5rem, 1.2vw, 1.8rem);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    transition: 0.2s ease;
}

.vwYellowBtn {
    border: 2px solid var(--vw-yellow);
    background: var(--vw-yellow);
    color: #000;
}

.vwYellowBtn:hover {
    border-color: var(--vw-blue);
    background: var(--vw-blue);
    color: #fff;
    text-decoration: none;
}

.vwOutlineBtn {
    border: 2px solid rgba(255, 255, 255, 0.72);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.vwOutlineBtn:hover {
    background: #fff;
    color: var(--vw-blue);
    text-decoration: none;
}

.vwCardBtn {
    width: 100%;
    margin-top: auto;
    font-family: inherit;
}

/* CTA */
.vwContactCtaSection {
    position: relative;
    z-index: 2;
    margin-top: clamp(-2rem, -2vw, -1rem);
    padding-bottom: clamp(1rem, 2vw, 3rem);
    padding-bottom:0;
}

.vwContactCta {
    max-width: 108rem;
    margin: 0 auto;
    padding: clamp(4rem, 5vw, 6rem) clamp(2rem, 6vw, 8rem);
    border-radius: var(--vw-radius);
    background: var(--vw-blue);
    color: #fff;
    text-align: center;
    box-shadow: 0 26px 45px rgba(0, 0, 0, 0.22);
}

.vwContactCta h2 {
    margin: 0 0 1.2rem;
    color: #fff;
    font-size: clamp(3rem, 3vw, 4.8rem);
    font-weight: 500;
    line-height: 1.15;
}

.vwContactCta p {
    margin: 0;
    color: #fff;
    font-size: clamp(1.5rem, 1.3vw, 1.9rem);
    line-height: 1.45;
}

.vwCtaButtons {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.4rem;
    margin-top: clamp(2.4rem, 3vw, 3.5rem);
}

/* Detailpagina */
.vwDetailHero {
    padding-bottom: clamp(4rem, 6vw, 7rem);
}

.vwIntroGrid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(34rem, 0.85fr);
    gap: clamp(3rem, 5vw, 8rem);
    align-items: center;
}

.vwBackLink {
    display: inline-flex;
    margin-bottom: 2rem;
    color: var(--vw-blue);
    font-size: clamp(1.5rem, 1.2vw, 1.8rem);
    font-weight: 600;
    text-decoration: none;
}

.vwBackLink:hover {
    color: var(--vw-blue-dark);
}

.vwDetailImage {
    overflow: hidden;
    border-radius: var(--vw-radius);
    box-shadow: var(--vw-shadow);
}

.vwDetailImage img {
    display: block;
    width: 100%;
    aspect-ratio: 1.25 / 1;
    object-fit: cover;
}

.vwMatrixSection,
.vwGallerySection {
    position: relative;
    z-index: 2;
    padding: clamp(4rem, 6vw, 8rem) 0;
    padding-top:0;
    margin-top:-50px;
}

.vwSectionHeader {
    text-align: center;
    margin-bottom: clamp(2.4rem, 3vw, 4rem);
}

.vwSectionHeader h2 {
    color: var(--vw-blue);
    font-size: clamp(3.2rem, 3vw, 5rem);
    margin: 0 0 1rem;
}

.vwSectionHeader p {
    color: var(--vw-text);
    margin: 0;
}

.vwMatrixCard {
    border-radius: var(--vw-radius);
    background: #fff;
    border: 20px solid #bbe4ff;
    box-shadow: var(--vw-shadow);
    padding: clamp(1.6rem, 3vw, 3rem);
}

.vwBottomSlider {
    margin-bottom: 0 !important;
}

.vwGallerySlide {
    border-radius: var(--vw-radius);
    overflow: hidden;
}

.vwGallerySlide img {
    display: block;
    width: 100%;
    aspect-ratio: 1.35 / 1;
    object-fit: cover;
}

/* Responsive */
@media (max-width: 1399px) {
    .vwCardsGrid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .vwCardBody {
        padding: 2rem;
    }
}

@media (max-width: 1199px) {
    .vwCardsGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .vwIntroGrid {
        grid-template-columns: 1fr;
    }

    .vwDetailImage {
        max-width: 72rem;
    }
}

@media (max-width: 767px) {
    .vakantieWoningenPage {
        padding-bottom: 7rem;
    }

    .vwHero {
        padding-top: 4rem;
    }

    .vwHero::after {
        width: calc(100% - 3.2rem);
    }

    .vwSwirl {
        right: -12rem;
        top: 1rem;
        width: 26rem;
    }

    .vwCardsGrid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .vwCardImage {
        aspect-ratio: 16 / 10;
    }

    .vwContactCta {
        padding: 3.2rem 2rem;
    }

    .vwCtaButtons {
        flex-direction: column;
    }

    .vwCtaButtons a {
        width: 100%;
    }

    .vwMatrixCard {
        border-width: 12px;
        padding: 1.2rem;
    }

    .vakantieWoningenOverview .vwIntroContent {
	    max-height: 5.2rem !important;
	    overflow: hidden !important;
	    position: relative !important;
	}
}

@media (max-width: 575px) {
    .vwTitle {
        font-size: clamp(3.8rem, 12vw, 5.2rem);
    }

    .vwIntroContent,
    .vwTextContent {
        font-size: 1.7rem;
    }

    .vwCardTitle {
        font-size: 2.3rem;
    }

    .vwCardText {
        font-size: 1.6rem;
    }

    .vwContactCta h2 {
        font-size: 3rem;
    }


    /* Toon meer / minder fix */
	.vakantieWoningenOverview .vwIntroContent {
	    max-height: 5.2rem !important;
	    overflow: hidden !important;
	    position: relative !important;
	}
}

/* Detailpagina zonder headerfoto */
.vwDetailHeroNoImage .vwDetailIntro {
    max-width: 86rem;
}

.vwDetailHeroNoImage .vwTextContent {
    max-width: 86rem;
}




/* Blauwe cirkel helemaal rechts tegen paginarand */
.vwHero {
    position: relative !important;
    overflow: hidden !important;
}

.vwSwirl {
    position: absolute !important;
    right: -4rem !important;
    top: clamp(2rem, 5vw, 6rem) !important;
    width: clamp(22rem, 24vw, 38rem) !important;
    aspect-ratio: 1 !important;
    opacity: 0.18 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.vwHero .container {
    position: relative !important;
    z-index: 2 !important;
}


/* Cirkel rechts, volledig zichtbaar naar beneden */
.vakantieWoningenOverview {
    position: relative !important;
    overflow: hidden !important;
}

.vwHero {
    position: relative !important;
    overflow: visible !important;
    z-index: 2 !important;
}

.vwSwirl {
    position: absolute !important;
    right: -150px !important;
    top: clamp(3rem, 6vw, 7rem) !important;
    width: clamp(24rem, 28vw, 42rem) !important;
    aspect-ratio: 1 / 1 !important;
    opacity: 0.18 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.vwHero .container {
    position: relative !important;
    z-index: 2 !important;
    margin-top:30px;
}

/* Horizontale lijn even breed als de 4 vakantiewoning-blokken */
.vwHero::after {
    display: none !important;
}

.vwCardsSection .container {
    position: relative !important;
}

.vwCardsSection .container::before {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 1px !important;
    margin-bottom: clamp(3rem, 4vw, 3rem) !important;
    border-top: 1px solid rgba(0, 114, 187, 0.18) !important;
}


/* Beeldmerk rechts op vakantiewoningenpagina */
.vakantieWoningenOverview {
    position: relative !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
}

.vwHero {
    position: relative !important;
    overflow: visible !important;
    z-index: 2 !important;
}

.vwSwirl {
    position: absolute !important;
    right: -11rem !important;
    top: -4rem !important;
    

    width: clamp(28rem, 30vw, 48rem) !important;
    height: clamp(28rem, 30vw, 48rem) !important;

    background-image: url("../img/redesign/beeldmerk-licht-blauw.svg") !important;
    background-repeat: no-repeat !important;
    background-position: center right !important;
    background-size: contain !important;

    opacity: 1 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* Als er nog oude pseudo-cirkels bestaan */
.vwSwirl::before,
.vwSwirl::after {
    display: none !important;
    content: none !important;
}

.vwHero .container {
    position: relative !important;
    z-index: 2 !important;
}

.roger:before{
	background:none !important;
}

.roger:after{
	background:none !important;
}


/* =========================================================
   Vakantiewoningen overzicht + detail redesign
   Laad deze CSS na site.min.css
   ========================================================= */

:root {
    --vw-blue: #0072bb;
    --vw-blue-dark: #006aa8;
    --vw-blue-card: #006da8;
    --vw-soft: #e9f7ff;
    --vw-soft-2: #cfeeff;
    --vw-yellow: #ffee00;
    --vw-text: #111;
    --vw-radius: 10px;
    --vw-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}

.vakantieWoningenPage {
    position: relative;
    overflow-x: hidden;
    background: #fff;
}

.vakantieWoningenPage .container {
    max-width: 1420px;
}

.vakantieWoningenPage h1,
.vakantieWoningenPage h2,
.vakantieWoningenPage h3 {
    color: var(--vw-blue);
font-family: "Gill Sans", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
}

/* ------------------------- Overview ------------------------- */
.vwOverviewHero {
    position: relative;
    padding: clamp(7rem, 8vw, 12rem) 0 clamp(3rem, 4vw, 5rem);
    overflow: visible;
}

.vwOverviewHero h1 {
    font-size: clamp(4rem, 5vw, 7rem);
    line-height: 1;
    margin-bottom: 2.4rem;
}

.vwOverviewHero .container {
    position: relative;
    z-index: 2;
}

.vwSwirl {
    position: absolute;
    right: 0;
    top: clamp(3rem, 6vw, 7rem);
    width: clamp(28rem, 30vw, 48rem);
    height: clamp(28rem, 30vw, 48rem);
    background-image: url("../img/redesign/beeldmark-licht-blauw.svg");
    background-repeat: no-repeat;
    background-position: center right;
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

.vwIntroContent {
    max-width: 75rem;
    max-height: 7.2rem;
    overflow: hidden;
    color: var(--vw-text);
    font-size: clamp(1.7rem, 1.25vw, 2rem);
    line-height: 1.45;
}

.vwIntroContent.is-open {
    max-height: 100rem;
    overflow: visible;
}

.vwReadMore {
    margin-top: 1.2rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--vw-blue);
    font-size: 1.7rem;
    font-weight: 700;
    cursor: pointer;
}

.vwReadMore::after {
    content: "⌄";
    margin-left: 0.5rem;
}

.vwCardsSection {
    background: linear-gradient(to bottom, #fff 0%, #fff 35%, #eaf8ff 100%);
    padding-bottom: clamp(6rem, 8vw, 10rem);
}

.vwCardsSection .container::before {
    content: "";
    display: block;
    border-top: 1px solid rgba(0, 114, 187, 0.2);
    margin-bottom: clamp(3rem, 4vw, 5rem);
}

.vwCardsGrid {
    row-gap: 3rem;
}

.vwHomeCard,
.vwOtherCard {
    height: 100%;
    border-radius: var(--vw-radius);
    overflow: hidden;
    background: #fff;
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
}

.vwHomeImage,
.vwOtherImage {
    display: block;
    min-height: 250px;
    background-size: cover;
    background-position: center;
}

.vwHomeText,
.vwOtherText {
    padding: clamp(2rem, 2vw, 2.8rem);
    display: flex;
    flex-direction: column;
    flex: 1;
}

.vwHomeText h2,
.vwOtherText h3 {
    font-size: clamp(2.2rem, 1.7vw, 3rem);
    line-height: 1.1;
    margin-bottom: 1.6rem;
}

.vwHomeText p,
.vwOtherText p {
    font-size: 1.65rem;
    line-height: 1.45;
    color: var(--vw-text);
}

.vwHomeText .yellowBtn,
.vwOtherText .yellowBtn {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: auto;
    text-align: center;
    border-radius: 10px;
    padding: 1.1rem 1.4rem;
}

/* ------------------------- Detail hero ------------------------- */
.vwDetailHero {
    position: relative;
    padding: clamp(6rem, 7vw, 10rem) 0 clamp(5rem, 6vw, 8rem);
    background: linear-gradient(to bottom, #fff 0%, #fff 54%, #eaf8ff 100%);
    overflow: hidden;
}

.vwDetailHero::after {
    content: "";
    position: absolute;
    right: -1rem;
    top: 2rem;
    width: clamp(26rem, 28vw, 46rem);
    height: clamp(26rem, 28vw, 46rem);
    background-image: url("../img/redesign/beeldmark-licht-blauw.svg");
    background-size: contain;
    background-position: center right;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 1;
}

.vwDetailHero .container {
    position: relative;
    z-index: 2;
}

.vwDetailHeroRow {
    row-gap: 3rem;
}

.vwDetailIntro h1 {
    font-size: clamp(3.6rem, 4vw, 6rem);
    line-height: 1;
    margin-bottom: 2rem;
}

.vwDetailIntro p {
    max-width: 68rem;
    color: var(--vw-text);
    font-size: clamp(1.6rem, 1.25vw, 2rem);
    line-height: 1.45;
}

.vwSpecsGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.4rem 2rem;
    max-width: 54rem;
    margin: 2.4rem 0;
}

.vwSpecItem {
    display: grid;
    grid-template-columns: 4.2rem 1fr;
    grid-template-rows: auto auto;
    align-items: center;
    column-gap: 1rem;
}

.vwSpecIcon {
    grid-row: span 2;
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 8px;
    background: #dff4ff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.7rem;
}

.vwSpecLabel {
    color: var(--vw-blue);
    font-size: 1.45rem;
    font-weight: 700;
    line-height: 1.1;
}

.vwSpecItem strong {
    color: var(--vw-text);
    font-size: 1.55rem;
    line-height: 1.1;
}

.vwDetailActions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
}

.vwDetailActions .yellowBtn,
.vwPhotoButton {
    border: 0;
    border-radius: 10px;
    padding: 1.1rem 1.8rem;
    font-size: 1.6rem;
    font-weight: 700;
    cursor: pointer;
}

.vwPhotoButton {
    background: #fff;
    color: var(--vw-blue);
    box-shadow: inset 0 0 0 1px rgba(0, 114, 187, 0.2);
}

.vwPhotoGrid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1.2rem;
    min-height: 28rem;
}

.vwPhotoMain,
.vwPhotoThumb {
    border: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 8px;
    cursor: pointer;
    background: #eee;
}

.vwPhotoMain img,
.vwPhotoThumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.25s ease;
}

.vwPhotoMain:hover img,
.vwPhotoThumb:hover img {
    transform: scale(1.04);
}

.vwPhotoThumbs {
    display: grid;
    gap: 1.2rem;
}

.vwPhotoMore {
    position: relative;
}

.vwPhotoMore::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 1;
}

.vwPhotoMore span {
    position: absolute;
    inset: auto 1rem 1rem 1rem;
    z-index: 2;
    background: #fff;
    color: var(--vw-blue);
    border-radius: 999px;
    padding: 0.8rem 1rem;
    font-size: 1.3rem;
    font-weight: 700;
}

/* ------------------------- Detail content ------------------------- */
.vwDetailContent {
    padding: 0 0 clamp(6rem, 8vw, 10rem);
}

.vwDetailNarrow {
    max-width: 1180px !important;
}

.vwInfoCard {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.13);
    padding: clamp(2rem, 2.5vw, 3rem);
    margin-bottom: 3rem;
}

.vwInfoCard h2,
.vwDetailReviews h2,
.vwOtherHomes h2 {
    font-size: clamp(2.4rem, 2.3vw, 3.6rem);
    margin-bottom: 1.6rem;
}

.vwRichText,
.vwRichText p {
    color: var(--vw-text);
    font-size: 1.65rem;
    line-height: 1.55;
}

.vwFacilitiesGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.8rem 4rem;
}

.vwFacility {
    display: flex;
    gap: 1.2rem;
}

.vwFacility span {
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 2.6rem;
    border-radius: 999px;
    background: #dff4ff;
    color: var(--vw-blue);
    display: flex;
    align-items: center;
    justify-content: center;
}

.vwFacility strong {
    color: var(--vw-blue);
    font-size: 1.6rem;
}

.vwFacility p {
    margin: 0.2rem 0 0;
    color: var(--vw-text);
    font-size: 1.45rem;
}

/* ------------------------- Reviews ------------------------- */
.vwDetailReviews {
    margin: 4rem 0;
}

.vwReviewsHeader {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    align-items: flex-start;
    margin-bottom: 2rem;
}

.vwRatingLine {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    color: var(--vw-blue);
    font-size: 1.5rem;
}

.vwRatingLine img {
    width: 2rem;
    height: auto;
}

.vwStars {
    color: var(--vw-yellow);
    letter-spacing: 2px;
}

.vwReviewsNav {
    display: flex;
    gap: 1rem;
}

.vwReviewsNav button {
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 50%;
    border: 2px solid #2478c8;
    background: #fff;
    color: #2478c8;
    font-size: 1.8rem;
    font-weight: 700;
    cursor: pointer;
}

.vwReviewsNav button.is-disabled,
.vwReviewsNav button:disabled {
    opacity: 0.35;
    pointer-events: none;
}

.vwReviewSlider {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}

.vwReviewSlider:not(.slick-initialized) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin: 0;
}

.vwReviewSlider.slick-initialized .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

.vwReviewSlider.slick-initialized .slick-slide,
.vwReviewSlider.slick-initialized .slick-slide > div {
    height: auto !important;
    display: flex !important;
}

.vwReviewSlide {
    padding: 0 0.75rem;
    display: flex !important;
    height: 100%;
}

.vwReviewCard {
    width: 100%;
    min-height: 17rem;
    border-radius: 6px;
    background: var(--vw-blue-card);
    color: #fff;
    padding: 2.2rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.vwReviewCard p {
    color: #fff;
    font-size: 1.45rem;
    line-height: 1.35;
}

.vwReviewCard strong {
    color: #fff;
    font-size: 1.35rem;
    font-weight: 400;
}

/* ------------------------- Availability + CTA + other ------------------------- */
.vwAvailability {
    margin: 4rem 0 6rem;
}

.vwContactCta {
    max-width: 1180px;
    margin: clamp(5rem, 6vw, 8rem) auto;
    padding: clamp(3rem, 4vw, 4.2rem);
    border-radius: 8px;
    background: var(--vw-blue);
    text-align: center;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.2);
}

.vwContactCta h2,
.vwContactCta p {
    color: #fff;
}

.vwContactCta h2 {
    font-size: clamp(2.4rem, 2.8vw, 4rem);
    margin-bottom: 0.8rem;
}

.vwContactCta p {
    font-size: 1.6rem;
    margin-bottom: 2rem;
}

.vwCtaActions {
    display: flex;
    justify-content: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.vwMailBtn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    padding: 1.1rem 1.8rem;
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.7);
    font-weight: 700;
}

.vwOtherHomes {
    margin-top: clamp(5rem, 7vw, 8rem);
}

.vwOtherGrid {
    row-gap: 3rem;
}

/* ------------------------- Gallery modal ------------------------- */
.vwGalleryModal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    overflow: auto;
    background: rgba(0, 0, 0, 0.88);
    padding: 7rem 2rem 3rem;
}

.vwGalleryModal.is-open {
    display: block;
}

.vwGalleryClose {
    position: fixed;
    top: 2rem;
    right: 2rem;
    width: 4.4rem;
    height: 4.4rem;
    border: 0;
    border-radius: 50%;
    background: #fff;
    color: var(--vw-blue);
    font-size: 3rem;
    cursor: pointer;
}

.vwGalleryModalInner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    gap: 2rem;
}

.vwGalleryModalInner img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.vwNotFound {
    padding: 10rem 0;
}

/* ------------------------- Responsive ------------------------- */
@media (max-width: 1199px) {
    .vwPhotoGrid {
        min-height: 24rem;
    }
}

@media (max-width: 991px) {
    .vwOverviewHero,
    .vwDetailHero {
        padding-top: 7rem;
    }

    .vwSwirl,
    .vwDetailHero::after {
        width: 30rem;
        height: 30rem;
        opacity: 0.8;
    }

    .vwPhotoGrid {
        grid-template-columns: 1fr;
    }

    .vwPhotoThumbs {
        grid-template-columns: repeat(3, 1fr);
    }

    .vwPhotoThumb {
        aspect-ratio: 16 / 10;
    }

    .vwFacilitiesGrid {
        grid-template-columns: 1fr;
    }

    .vwReviewSlider:not(.slick-initialized) {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    .vwOverviewHero h1,
    .vwDetailIntro h1 {
        font-size: clamp(3.8rem, 11vw, 5.2rem);
    }

    .vwSpecsGrid {
        grid-template-columns: 1fr;
    }

    .vwReviewsHeader {
        flex-direction: column;
    }

    .vwReviewSlider:not(.slick-initialized) {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 575px) {
    .vwOverviewHero,
    .vwDetailHero {
        padding-top: 5rem;
    }

    .vwSwirl,
    .vwDetailHero::after {
        right: -8rem;
        top: 2rem;
        width: 26rem;
        height: 26rem;
    }

    .vwHomeImage,
    .vwOtherImage {
        min-height: 220px;
    }

    .vwInfoCard {
        padding: 2rem;
    }

    .vwContactCta {
        margin-left: 1.5rem;
        margin-right: 1.5rem;
    }
}


/* =========================================================
   Detailpagina top-indeling + fotoslider zoals ontwerp
   Plaats na de basis-CSS
   ========================================================= */

.vwDetailHero {
    padding: clamp(5.6rem, 6vw, 8rem) 0 clamp(5.2rem, 6vw, 7.2rem) !important;
    background: linear-gradient(to bottom, #fff 0%, #fff 47%, #eaf8ff 100%) !important;
    overflow: hidden !important;
}

.vwDetailHero .container {
    max-width: 1270px !important;
}

.vwDetailHero::after {
    right: -4.5rem !important;
    top: -0.8rem !important;
    width: clamp(30rem, 28vw, 48rem) !important;
    height: clamp(30rem, 28vw, 48rem) !important;
    opacity: 1 !important;
    background-image: url("../img/redesign/beeldmark-licht-blauw.svg") !important;
}

.vwDetailHeroRow {
    align-items: center !important;
    row-gap: 4rem !important;
}

.vwDetailIntro {
    max-width: 58rem !important;
}

.vwDetailIntro h1 {
    font-size: clamp(3.4rem, 3vw, 4.8rem) !important;
    line-height: 1.05 !important;
    margin: 0 0 2rem !important;
}

.vwDetailIntro p {
    max-width: 54rem !important;
    margin-bottom: 2.8rem !important;
    font-size: clamp(1.55rem, 1.12vw, 1.8rem) !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
}

.vwSpecsGrid {
    max-width: 49rem !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 2.4rem 4.6rem !important;
    margin: 2.8rem 0 3.6rem !important;
}

.vwSpecItem {
    grid-template-columns: 4.8rem 1fr !important;
    column-gap: 1.2rem !important;
}

.vwSpecIcon {
    width: 4.2rem !important;
    height: 4.2rem !important;
    border-radius: 1rem !important;
    background: #e0efff !important;
    color: #2478c8 !important;
    font-size: 1.8rem !important;
}

.vwSpecLabel {
    color: #111 !important;
    font-size: 1.28rem !important;
    font-weight: 700 !important;
}

.vwSpecItem strong {
    color: #2478c8 !important;
    font-size: 1.65rem !important;
    font-weight: 700 !important;
}

.vwDetailActions {
    max-width: 49rem !important;
    padding-top: 2.7rem !important;
    border-top: 1px solid rgba(0, 114, 187, 0.18) !important;
}

.vwDetailActions .yellowBtn {
    min-width: 22rem !important;
    justify-content: center !important;
    text-align: center !important;
}

.vwDetailActions .vwPhotoButton {
    display: none !important;
}

/* Nieuwe fotoslider/collage rechts */
.vwDetailPhotoSlider {
    position: relative !important;
    z-index: 3 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 2.15fr) minmax(14rem, 0.95fr) !important;
    gap: 0.9rem !important;
    width: 100% !important;
    max-width: 62rem !important;
    margin-left: auto !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.16) !important;
    background: #fff !important;
}

.vwPhotoMainSlider,
.vwPhotoMainSlider .slick-list,
.vwPhotoMainSlider .slick-track,
.vwPhotoMainSlider .slick-slide,
.vwPhotoMainSlider .slick-slide > div,
.vwPhotoMainSlide {
    height: 100% !important;
}

.vwPhotoMainSlider {
    min-height: clamp(25rem, 28vw, 37rem) !important;
    overflow: hidden !important;
    background: #eee !important;
}

.vwPhotoMainSlide img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.vwPhotoThumbColumn {
    position: relative !important;
    min-height: clamp(25rem, 28vw, 37rem) !important;
    overflow: hidden !important;
    background: #eee !important;
}

.vwPhotoThumbSlider,
.vwPhotoThumbSlider .slick-list,
.vwPhotoThumbSlider .slick-track {
    height: 100% !important;
}

.vwPhotoThumbSlider .slick-slide {
    border: 0 !important;
}

.vwPhotoThumbSlider .slick-slide > div {
    height: 100% !important;
}

.vwPhotoThumbSlide {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: calc((clamp(25rem, 28vw, 37rem) - 0.9rem) / 2) !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background: #ddd !important;
    cursor: pointer !important;
}

.vwPhotoThumbSlide img {
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    object-fit: cover !important;
    transition: transform 0.25s ease, opacity 0.25s ease !important;
}

.vwPhotoThumbSlide:hover img,
.vwPhotoThumbSlider .slick-current img {
    transform: scale(1.04) !important;
}

.vwPhotoThumbSlider .slick-slide:not(.slick-current) img {
    opacity: 0.88 !important;
}

.vwPhotoThumbColumn .slick-prev,
.vwPhotoThumbColumn .slick-next {
    display: none !important;
}

.vwPhotoAllBtn {
    position: absolute !important;
    right: 1.4rem !important;
    bottom: 1.4rem !important;
    z-index: 5 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #111 !important;
    padding: 0.9rem 1.4rem !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18) !important;
    cursor: pointer !important;
}

.vwPhotoAllBtn:hover {
    background: #ffee00 !important;
}

/* Oude fotogrid volledig uitschakelen wanneer die nog ergens geladen staat */
.vwPhotoGrid {
    display: none !important;
}

@media (max-width: 1199px) {
    .vwDetailPhotoSlider {
        max-width: 58rem !important;
    }
}

@media (max-width: 991px) {
    .vwDetailHero {
        padding-top: 6.5rem !important;
    }

    .vwDetailHeroRow {
        align-items: flex-start !important;
    }

    .vwDetailIntro {
        max-width: none !important;
    }

    .vwDetailPhotoSlider {
        max-width: none !important;
        margin-left: 0 !important;
    }

    .vwPhotoMainSlider,
    .vwPhotoThumbColumn {
        min-height: 34rem !important;
    }
}

@media (max-width: 767px) {
    .vwDetailHero {
        padding-top: 5rem !important;
    }

    .vwSpecsGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1.8rem 2rem !important;
    }

    .vwDetailPhotoSlider {
        grid-template-columns: 1fr !important;
        gap: 0.8rem !important;
        border-radius: 8px !important;
    }

    .vwPhotoMainSlider {
        min-height: 30rem !important;
    }

    .vwPhotoThumbColumn {
        min-height: auto !important;
        overflow: visible !important;
    }

    .vwPhotoThumbSlider,
    .vwPhotoThumbSlider .slick-list,
    .vwPhotoThumbSlider .slick-track {
        height: auto !important;
    }

    .vwPhotoThumbSlide {
        min-height: 9rem !important;
        height: 9rem !important;
        margin-right: 0.8rem !important;
        border-radius: 6px !important;
    }

    .vwPhotoAllBtn {
        right: 1rem !important;
        bottom: 1rem !important;
    }
}

@media (max-width: 575px) {
    .vwDetailHero::after {
        right: -10rem !important;
        top: 1rem !important;
    }

    .vwDetailIntro h1 {
        font-size: clamp(3.2rem, 10vw, 4.4rem) !important;
    }

    .vwSpecsGrid {
        grid-template-columns: 1fr !important;
    }

    .vwPhotoMainSlider {
        min-height: 24rem !important;
    }

    .vwPhotoThumbSlide {
        height: 8rem !important;
        min-height: 8rem !important;
    }
}



/* =========================================================
   FIX: overzichtskaarten herstellen
   Detail fotoslider mag overzicht niet beïnvloeden
   ========================================================= */

.vakantieWoningenPage.is-overview .vwCardsGrid {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    row-gap: 3rem !important;
}

.vakantieWoningenPage.is-overview .vwCardsGrid > .col-xl-3,
.vakantieWoningenPage.is-overview .vwCardsGrid > .col-md-6 {
    display: flex !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
    width: 25% !important;
}

.vakantieWoningenPage.is-overview .vwHomeCard {
    width: 100% !important;
    min-width: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.vakantieWoningenPage.is-overview .vwHomeImage {
    display: block !important;
    width: 100% !important;
    height: clamp(230px, 18vw, 285px) !important;
    min-height: 0 !important;
    flex: 0 0 auto !important;
    background-size: cover !important;
    background-position: center !important;
    border-radius: 10px 10px 0 0 !important;
}

.vakantieWoningenPage.is-overview .vwHomeText {
    width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
}

.vakantieWoningenPage.is-overview .vwHomeText h2 {
    width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
}

.vakantieWoningenPage.is-overview .vwHomeText p {
    width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
}

.vakantieWoningenPage.is-overview .vwHomeText .yellowBtn {
    width: 100% !important;
    margin-top: auto !important;
}

/* Detail-fotoslider nooit op overzicht tonen */
.vakantieWoningenPage.is-overview .vwDetailPhotoSlider,
.vakantieWoningenPage.is-overview .vwPhotoMainSlider,
.vakantieWoningenPage.is-overview .vwPhotoThumbSlider,
.vakantieWoningenPage.is-overview .vwPhotoThumbColumn {
    display: none !important;
}

/* Tablet: 2 kolommen */
@media (max-width: 1199px) {
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-xl-3,
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-md-6 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }
}

/* Mobiel: 1 kolom */
@media (max-width: 575px) {
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-xl-3,
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-md-6 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .vakantieWoningenPage.is-overview .vwHomeImage {
        height: 230px !important;
    }
}


/* Overzicht vakantiewoningen: 4 kaarten naast elkaar */
.vakantieWoningenPage.is-overview .vwCardsGrid {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    row-gap: 3rem !important;
}

.vakantieWoningenPage.is-overview .vwCardsGrid > .col-xl-3,
.vakantieWoningenPage.is-overview .vwCardsGrid > .col-lg-3,
.vakantieWoningenPage.is-overview .vwCardsGrid > .col-md-6,
.vakantieWoningenPage.is-overview .vwCardsGrid > .col-12 {
    display: flex !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
    width: 25% !important;
}

.vakantieWoningenPage.is-overview .vwHomeCard {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 10px 30px rgba(0, 114, 187, 0.12) !important;
}

.vakantieWoningenPage.is-overview .vwHomeImage {
    display: block !important;
    width: 100% !important;
    height: 260px !important;
    min-height: 260px !important;
    background-size: cover !important;
    background-position: center !important;
    border-radius: 10px 10px 0 0 !important;
    flex: 0 0 auto !important;
}

.vakantieWoningenPage.is-overview .vwHomeText {
    width: 100% !important;
    flex: 1 1 auto !important;
    padding: 2.4rem !important;
    display: flex !important;
    flex-direction: column !important;
}

.vakantieWoningenPage.is-overview .vwHomeText h2 {
    color: #2478c8 !important;
    font-size: clamp(2rem, 1.6vw, 2.6rem) !important;
    line-height: 1.2 !important;
    margin: 0 0 1.6rem !important;
    font-style: normal !important;
}

.vakantieWoningenPage.is-overview .vwHomeText p {
    font-size: 1.6rem !important;
    line-height: 1.45 !important;
    margin-bottom: 2.4rem !important;
}

.vakantieWoningenPage.is-overview .vwHomeText .yellowBtn {
    width: 100% !important;
    margin-top: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

/* Tablet: 2 naast elkaar */
@media (max-width: 991px) {
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-xl-3,
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-lg-3,
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-md-6,
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-12 {
        flex: 0 0 50% !important;
        max-width: 50% !important;
        width: 50% !important;
    }

    .vakantieWoningenPage.is-overview .vwHomeImage {
        height: 240px !important;
        min-height: 240px !important;
    }
}

/* Mobiel: 1 onder elkaar */
@media (max-width: 575px) {
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-xl-3,
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-lg-3,
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-md-6,
    .vakantieWoningenPage.is-overview .vwCardsGrid > .col-12 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .vakantieWoningenPage.is-overview .vwHomeImage {
        height: 230px !important;
        min-height: 230px !important;
    }
}


/* =========================================================
   Vakantiewoningen detailpagina
   Alleen actief op .vakantieWoningenDetail
   ========================================================= */

.vakantieWoningenDetail {
    --vwd-blue: #2478c8;
    --vwd-dark-blue: #0072bb;
    --vwd-card-blue: #006eaa;
    --vwd-yellow: #ffed00;
    --vwd-soft: #eaf8ff;
    --vwd-text: #111;
    position: relative;
    background: #fff;
    overflow-x: hidden;
}

.vwdHero {
    position: relative;
    padding: clamp(6rem, 7vw, 9rem) 0 clamp(5rem, 6vw, 8rem);
    background: linear-gradient(to bottom, #fff 0%, #fff 48%, #eaf8ff 100%);
    overflow: hidden;
}

.vwdSwirl {
    position: absolute;
    right: -4rem;
    top: 2rem;
    width: clamp(28rem, 28vw, 48rem);
    aspect-ratio: 1;
    background-image: url("../img/redesign/beeldmark-licht-blauw.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

.vwdHero .container {
    position: relative;
    z-index: 2;
}

.vwdHeroRow {
    row-gap: 4rem;
}

.vwdBackLink {
    display: inline-block;
    margin-bottom: 2rem;
    color: var(--vwd-blue);
    font-weight: 600;
    text-decoration: none;
}

.vwdTitle {
    color: var(--vwd-blue);
    font-size: clamp(3.6rem, 4vw, 5.4rem);
    line-height: 1.05;
    margin: 0 0 2rem;
    font-weight: 700;
}

.vwdIntroText {
    max-width: 62rem;
    color: var(--vwd-text);
    font-size: clamp(1.7rem, 1.35vw, 2rem);
    line-height: 1.45;
    font-weight: 500;
    margin-bottom: 3rem;
}

.vwdSpecsGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.2rem 4rem;
    max-width: 52rem;
    padding-bottom: 3.4rem;
    margin-bottom: 3.4rem;
    border-bottom: 1px solid rgba(0, 114, 187, 0.18);
}

.vwdSpec {
    display: grid;
    grid-template-columns: 5.2rem 1fr;
    gap: 1.2rem;
    align-items: center;
}

.vwdSpecIcon {
    width: 5.2rem;
    height: 5.2rem;
    border-radius: 1.2rem;
    background: #e2eefb;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vwdSpecIcon img {
    width: 2.3rem;
    height: 2.3rem;
    object-fit: contain;
}

.vwdSpec span:not(.vwdSpecIcon) {
    display: block;
    color: #333;
    font-size: 1.5rem;
    line-height: 1.1;
}

.vwdSpec strong {
    display: block;
    margin-top: 0.4rem;
    color: var(--vwd-blue);
    font-size: 1.8rem;
    line-height: 1.15;
}

.vwdActions {
    display: flex;
    gap: 1.2rem;
    flex-wrap: wrap;
}

.vwdPhotoGrid {
    display: grid;
    grid-template-columns: minmax(0, 2.15fr) minmax(13rem, 0.95fr);
    gap: 0.8rem;
    height: clamp(32rem, 34vw, 48rem);
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.18);
}

.vwdMainPhotoSlider,
.vwdMainPhotoSlider .slick-list,
.vwdMainPhotoSlider .slick-track,
.vwdMainPhotoSlide {
    height: 100%;
}

.vwdMainPhotoSlide img,
.vwdThumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.vwdThumbs {
    position: relative;
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 0.8rem;
}

.vwdThumb {
    border: 0;
    padding: 0;
    display: block;
    cursor: pointer;
    overflow: hidden;
    background: #ddd;
}

.vwdAllPhotosBtn {
    position: absolute;
    right: 1.4rem;
    bottom: 1.4rem;
    border: 0;
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.9);
    color: #000;
    font-weight: 700;
    padding: 1rem 1.6rem;
    cursor: pointer;
}

.vwdContent {
    padding: 0 0 clamp(6rem, 8vw, 5rem);
    margin-bottom: 0;
    padding-bottom: 0;
    margin-top: -25px;
}

.vwdNarrow {
    max-width: 1180px;
}

.vwdCard {
    background: #fff;
    border-radius: 1rem;
    padding: clamp(2.4rem, 3vw, 3.6rem);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    margin-bottom: 3rem;
}

.vwdCard h2,
.vwdReviews h2,
.vwdOtherHomes h2 {
    color: var(--vwd-blue);
    font-size: clamp(2.8rem, 2.5vw, 3.6rem);
    line-height: 1.1;
    margin: 0 0 1.8rem;
}

.vwdRichText,
.vwdRichText p {
    color: var(--vwd-text);
    font-size: 1.7rem;
    line-height: 1.6;
}

.vwdFacilitiesGrid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem 5rem;
}

.vwdFacility {
    display: grid;
    grid-template-columns: 3rem 1fr;
    gap: 1.2rem;
}

.vwdFacility span {
    color: var(--vwd-blue);
    font-size: 2rem;
}

.vwdFacility strong {
    color: #111;
    font-size: 1.7rem;
}

.vwdFacility p {
    margin: 0.3rem 0 0;
    font-size: 1.55rem;
    line-height: 1.35;
}

.vwdReviews {
    margin: 0;
}

.vwdReviewsHeader {
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    align-items: flex-start;
    margin-bottom: 2.6rem;
}

.vwdRating {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.vwdRating img {
    width: 2rem;
}

.vwdRating span {
    color: var(--vwd-blue);
    font-size: 1.5rem;
    font-weight: 600;
}

.vwdStars {
    color: var(--vwd-yellow) !important;
    letter-spacing: 0.2rem;
}

.vwdRating small {
    color: var(--vwd-blue);
    font-size: 1.3rem;
}

.vwdReviewsNav {
    display: flex;
    gap: 1rem;
}

.vwdReviewsNav button {
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 50%;
    border: 2px solid var(--vwd-blue);
    background: #fff;
    color: var(--vwd-blue);
    font-size: 2rem;
    cursor: pointer;
}

.vwdReviewSlider {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
}

.vwdReviewSlide {
    padding: 0 0.75rem;
    height: 100%;
}

.vwdReviewCard {
    height: 100%;
    min-height: 18rem;
    background: var(--vwd-card-blue);
    color: #fff;
    border-radius: 0.8rem;
    padding: 2.4rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.vwdReviewCard p {
    color: #fff;
    font-size: 1.55rem;
    line-height: 1.35;
    margin: 0;
}

.vwdReviewCard strong {
    color: #fff;
    font-size: 1.4rem;
    margin-top: 2rem;
}

.vwdAvailability {
    margin: 4rem 0 6rem;
}

.vwdOtherHomes {
    margin-top: 0;
}

.vwdOtherHomes .row {
    row-gap: 3rem;
}

.vwdOtherCard {
    height: 100%;
    border-radius: 1rem;
    background: #fff;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0, 114, 187, 0.12);
    display: flex;
    flex-direction: column;
}

.vwdOtherImage {
    display: block;
    height: 20rem;
    background-size: cover;
    background-position: center;
}

.vwdOtherText {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}

.vwdOtherText h3 {
    color: var(--vwd-blue);
    font-size: 2.2rem;
    margin: 0 0 1rem;
}

.vwdOtherText p {
    font-size: 1.5rem;
    line-height: 1.4;
    margin-bottom: 2rem;
}

.vwdOtherText .vwYellowBtn {
    margin-top: auto;
    width: 100%;
    text-align: center;
}

.vwdGalleryModal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    background: rgba(0, 0, 0, 0.86);
    padding: 6rem 2rem;
    overflow: auto;
    display: none;
}

.vwdGalleryModal.is-open {
    display: block;
}

.vwdGalleryClose {
    position: fixed;
    top: 2rem;
    right: 2rem;
    width: 4.6rem;
    height: 4.6rem;
    border-radius: 50%;
    border: 0;
    background: #fff;
    color: #000;
    font-size: 3rem;
    cursor: pointer;
}

.vwdGalleryModalInner {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    gap: 2rem;
}

.vwdGalleryModalInner img {
    width: 100%;
    border-radius: 1rem;
}

/* Review slider gelijke hoogte */
.vwdReviewSlider.slick-initialized .slick-track {
    display: flex !important;
    align-items: stretch !important;
}

.vwdReviewSlider.slick-initialized .slick-slide {
    height: auto !important;
}

.vwdReviewSlider.slick-initialized .slick-slide > div {
    height: 100% !important;
}

/* Responsive */
@media (max-width: 991px) {
    .vwdHero {
        padding-top: 5rem;
    }

    .vwdPhotoGrid {
        height: 42rem;
    }

    .vwdSpecsGrid {
        max-width: none;
    }
}

@media (max-width: 767px) {
    .vwdHero {
        padding-top: 4rem;
    }

    .vwdSwirl {
        width: 30rem;
        right: -9rem;
        top: 1rem;
    }

    .vwdPhotoGrid {
        grid-template-columns: 1fr;
        height: auto;
    }

    .vwdMainPhotoSlider {
        height: 32rem;
    }

    .vwdThumbs {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: auto;
        height: 14rem;
    }

    .vwdSpecsGrid,
    .vwdFacilitiesGrid {
        grid-template-columns: 1fr;
    }

    .vwdReviewsHeader {
        flex-direction: column;
    }
}

@media (max-width: 575px) {
    .vwdTitle {
        font-size: 3.6rem;
    }

    .vwdIntroText {
        font-size: 1.6rem;
    }

    .vwdMainPhotoSlider {
        height: 26rem;
    }

    .vwdThumbs {
        height: 12rem;
    }

    .vwdCard {
        padding: 2rem;
    }
}

/* Beeldmerk rechtsboven op detailpagina */
.vakantieWoningenDetail .vwdHero {
    position: relative !important;
    overflow: hidden !important;
}

.vakantieWoningenDetail .vwdSwirl {
    position: absolute !important;
    right: -7rem !important;
    top: 0 !important;
    width: clamp(28rem, 30vw, 52rem) !important;
    height: auto !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

.vakantieWoningenDetail .vwdSwirl img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

.vakantieWoningenDetail .vwdHero .container {
    position: relative !important;
    z-index: 2 !important;
}

@media (max-width: 767px) {
    .vakantieWoningenDetail .vwdSwirl {
        right: -12rem !important;
        top: 1rem !important;
        width: 34rem !important;
        opacity: 0.75 !important;
    }
}


/* Specificatie-iconen detailpagina */
.vakantieWoningenDetail .vwdSpecIcon {
    width: 5.2rem !important;
    height: 5.2rem !important;
    border-radius: 1.2rem !important;
    background: #e2eefb !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 5.2rem !important;
}

.vakantieWoningenDetail .vwdSpecIcon i {
    color: #2478c8 !important;
    font-size: 2rem !important;
    line-height: 1 !important;
}

.vakantieWoningenDetail .vwdSpec {
    display: grid !important;
    grid-template-columns: 5.2rem 1fr !important;
    gap: 1.2rem !important;
    align-items: center !important;
}


.vwCardTitle,
.vwCardTitle a {
    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
}


.vwTitle,
.vwTitle * {
    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
}

.vwdTitle{
	    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
}

.vwReadMore{
	    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
}

.vwYellowBtn {
		    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;

}


.vwContactCta h2 {
			    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
}

.vwOutlineBtn{
				    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
}

.activiteitenInner{
					    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
}

.activiteitenBlock .activiteitenCard .activiteitenInner a{
						    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
}

.homesliderText h1{
							    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
}

.vwdSpec{
								    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;		
}

.vwYellowBtn{
									    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
    cursor:pointer;
}

.vwdCard h2{
										    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
}

 .vwdReviews h2{
 											    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
 }

 .vwdOtherHomes h2{
 	 											    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
 }

 .vwdOtherText h3 {
 	 	 											    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
 }


 /* Detailpagina: hoofd-fotoslider vaste hoogte geven */
.vakantieWoningenDetail .vwDetailPhotoSlider {
    display: grid !important;
    grid-template-columns: minmax(0, 2.1fr) minmax(120px, 0.8fr) !important;
    gap: 8px !important;

    width: 100% !important;
    height: clamp(320px, 34vw, 480px) !important;
    max-height: 480px !important;

    overflow: hidden !important;
    border-radius: 10px !important;
    box-shadow: 0 16px 35px rgba(0, 0, 0, 0.16) !important;
}

/* Hoofdslider */
.vakantieWoningenDetail .vwPhotoMainSlider,
.vakantieWoningenDetail .vwPhotoMainSlider .slick-list,
.vakantieWoningenDetail .vwPhotoMainSlider .slick-track,
.vakantieWoningenDetail .vwPhotoMainSlider .slick-slide,
.vakantieWoningenDetail .vwPhotoMainSlider .slick-slide > div,
.vakantieWoningenDetail .vwPhotoMainSlide {
    height: 100% !important;
    min-height: 0 !important;
}

/* Hoofdfoto croppen i.p.v. lang tonen */
.vakantieWoningenDetail .vwPhotoMainSlide img {
    width: 100% !important;
    height: 100% !important;
    max-height: 480px !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* Thumbnail-kolom */
.vakantieWoningenDetail .vwPhotoThumbColumn {
    position: relative !important;
    height: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

/* Thumbnail-slider */
.vakantieWoningenDetail .vwPhotoThumbSlider,
.vakantieWoningenDetail .vwPhotoThumbSlider .slick-list,
.vakantieWoningenDetail .vwPhotoThumbSlider .slick-track {
    height: 100% !important;
}

.vakantieWoningenDetail .vwPhotoThumbSlider .slick-slide,
.vakantieWoningenDetail .vwPhotoThumbSlider .slick-slide > div {
    height: 50% !important;
}

/* Thumbnail buttons */
.vakantieWoningenDetail .vwPhotoThumbSlide {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;

    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    overflow: hidden !important;
    display: block !important;
}

.vakantieWoningenDetail .vwPhotoThumbSlide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    padding-bottom: 0 !important;
}

.vakantieWoningenDetail .vwPhotoThumbSlide:first-child img {
    padding-bottom: 12px !important;
}

/* Bekijk alle foto's knop */
.vakantieWoningenDetail .vwPhotoAllBtn {
    position: absolute !important;
    right: 20px !important;
    bottom: 12px !important;
    z-index: 5 !important;

    border: 0 !important;
    border-radius: 5px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #000 !important;
    font-weight: 600 !important;
    padding: 5px 8px !important;
    cursor: pointer !important;
    font-size:14px !important;
}

/* Tablet */
@media (max-width: 991px) {
    .vakantieWoningenDetail .vwDetailPhotoSlider {
        height: 420px !important;
        max-height: 420px !important;
    }
}

/* Mobiel */
@media (max-width: 767px) {
    .vakantieWoningenDetail .vwDetailPhotoSlider {
        grid-template-columns: 1fr !important;
        height: auto !important;
        max-height: none !important;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12) !important;
    }

    .vakantieWoningenDetail .vwPhotoMainSlider,
    .vakantieWoningenDetail .vwPhotoMainSlider .slick-list,
    .vakantieWoningenDetail .vwPhotoMainSlider .slick-track,
    .vakantieWoningenDetail .vwPhotoMainSlider .slick-slide,
    .vakantieWoningenDetail .vwPhotoMainSlider .slick-slide > div,
    .vakantieWoningenDetail .vwPhotoMainSlide {
        height: 300px !important;
    }

    .vakantieWoningenDetail .vwPhotoMainSlide img {
        height: 300px !important;
        max-height: 300px !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbColumn {
        height: 110px !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-slide,
    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-slide > div {
        height: 110px !important;
    }
}


.vakantieWoningenDetail .vwPhotoThumbSlider .slick-slide > div {
    height: 100% !important;

    box-sizing: border-box !important;
}


/* Lijn alleen onder de bovenste zichtbare thumbnail */
.vakantieWoningenDetail .vwPhotoThumbSlider .slick-list {
    position: relative !important;
}




/* Detailpagina: beeldmerk rechtsboven */
.vakantieWoningenDetail .vwdHero {
    position: relative !important;
    overflow: hidden !important;
}

.vakantieWoningenDetail .vwdSwirl {
position: absolute !important;
  right: -11rem !important;
  top: -3.6rem !important;
  width: clamp(28rem, 30vw, 48rem) !important;
  height: clamp(28rem, 30vw, 48rem) !important;
  
  background-repeat: no-repeat !important;
  background-position: center right !important;
  background-size: contain !important;
  opacity: 1 !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

.vakantieWoningenDetail .vwdSwirl img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

.vakantieWoningenDetail .vwdHero .container {
    position: relative !important;
    z-index: 2 !important;
}

@media (max-width: 991px) {
    .vakantieWoningenDetail .vwdSwirl {
        right: -8rem !important;
        width: 34rem !important;
    }
}

@media (max-width: 575px) {
    .vakantieWoningenDetail .vwdSwirl {
        right: -10rem !important;
        top: 1rem !important;
        width: 28rem !important;
        opacity: 0.8 !important;
    }
}

.vwdFacility {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 18px;
}

.vwdFacilityIcon {
    width: 38px;
    height: 38px;
    min-width:38px;
    border-radius: 12px;
    background: #dff4fb;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
}

.vwdFacilityIcon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.vwdFacility strong {
    display: block;
    margin-bottom: 4px;
}




/* Kamperen detail gebruikt dezelfde hero/slider classes als woonvoorzieningen */

.kamperenDetailPage .vwdHero {
    position: relative;
    overflow: hidden;
}

.kamperenDetailPage .vwdSwirl {
    position: absolute;
    top: 0;
    right: -4rem;
    width: clamp(24rem, 24vw, 42rem);
    z-index: 1;
    pointer-events: none;
}

.kamperenDetailPage .vwdSwirl img {
    display: block;
    width: 100%;
    height: auto;
}

.kamperenDetailPage .vwdHero .container {
    position: relative;
    z-index: 2;
}

/* Tabs */
.campingInfoSection,
.campingReviewsSection,
.campingAvailability {
    position: relative;
    padding: clamp(4.5rem, 6vw, 7rem) 0;
    margin:0;
    padding-top:0;
}

.campingInfoSection {
    background: #fff;
    padding-bottom: 40px;
    padding-top:50px;
}

.campingSectionHeader {
    margin-bottom: 2.4rem;
}

.campingSectionHeader h2 {
    color: #0072bb;
    font-size: clamp(3rem, 4vw, 4.8rem);
    line-height: 1.08;
    margin: 0;
}

.campingTabs {
    margin-top: 2rem;
}

.campingTabsNav {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    margin-bottom: 2rem;
}

.campingTabBtn {
    border: 1px solid #cfe4f5;
    background: #fff;
    color: #0072bb;
    border-radius: 7px;
    padding: 1rem 1.8rem;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: 0.2s ease;
    box-shadow: 0 4px 12px rgba(0, 114, 187, 0.08);
}

.campingTabBtn:hover {
    background: #eef8ff;
}

.campingTabBtn.is-active {
    background: #0072bb;
    border-color: #0072bb;
    color: #fff;
}

.campingTabsPanels {
    position: relative;
}

.campingTabPanel {
    display: none;
}

.campingTabPanel.is-active {
    display: block;
}

.campingTabContent {
    background: #fff;
    border: 1px solid #d8eaf8;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
    padding: 2.6rem;
    font-size: 1.75rem;
    line-height: 1.5;
    color: #4a5568;
}

.campingTabContent h3,
.campingTabContent h4 {
    color: #0072bb;
    margin-top: 0;
}

.campingTabContent p:last-child {
    margin-bottom: 0;
}

.campingTabContent ul {
    margin: 1.2rem 0 0;
    padding-left: 2rem;
}

.campingTabContent li {
    margin-bottom: 0.8rem;
}

/* Booking notes */
.campingAvailability {
    background: linear-gradient(180deg, #ffffff 0%, #eef8ff 100%);
}

.campingNotesWrap {
    margin-top: 2.4rem;
    display: grid;
    gap: 1.8rem;
}

.campingNoteCard {
    background: #fff;
    border: 1px solid #d8eaf8;
    border-radius: 14px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
    padding: 2.2rem 2.4rem;
}

.campingNoteCard h3 {
    color: #0072bb;
    font-size: 2.2rem;
    margin: 0 0 1rem;
}

.campingNoteCard p {
    margin: 0;
}

.campingIncludeGrid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem 2rem;
}

.campingIncludeItem {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: #111;
    font-size: 1.7rem;
    line-height: 1.35;
}

.campingIncludeIcon {
    width: 2.8rem;
    height: 2.8rem;
    min-width: 2.8rem;
    border-radius: 0.9rem;
    background: #dff4fb;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem;
}

.campingIncludeIcon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

@media (max-width: 991px) {
    .kamperenDetailPage .vwdSwirl {
        right: -6rem;
        width: 34rem;
    }

    .campingIncludeGrid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .kamperenDetailPage .vwdSwirl {
        right: -8rem;
        top: 1rem;
        width: 26rem;
        opacity: 0.85;
    }

    .campingTabsNav {
        gap: 0.8rem;
    }

    .campingTabBtn {
        font-size: 1.4rem;
        padding: 0.9rem 1.4rem;
    }

    .campingTabContent,
    .campingNoteCard {
        padding: 2rem;
        font-size: 1.6rem;
    }

    .campingIncludeGrid {
        grid-template-columns: 1fr;
    }
}


.campingSectionHeader h2{
	    font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;
}

.campingTabBtn{
	font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
}


.campingSectionHeader h2{
		font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
}

.campingNoteCard h3{
		font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
}

.campingIncludeItem{
			font-family: "Gill Sans", Arial, sans-serif !important;
    font-style: normal !important;
    font-weight: 600 !important;	
}


.campingIncludeItem .vwdFacilityIcon {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    border-radius: 12px !important;
    background: #dff4fb !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px !important;
}

.campingIncludeItem .vwdFacilityIcon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}


.campingTabContent ul {
	margin-bottom:30px;
}


/* =========================================
   DEFINITIEVE TOPSLIDER DETAILPAGINA
   Desktop + mobiel
========================================= */

.vwDetailPhotoSlider {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 180px !important;
    gap: 10px !important;
    align-items: stretch !important;
    position: relative !important;
    width: 100% !important;
}

.vwPhotoMainSlider {
    min-width: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 16px !important;
}

.vwPhotoMainSlider .slick-list,
.vwPhotoMainSlider .slick-track,
.vwPhotoMainSlide {
    height: 100% !important;
}

.vwPhotoMainSlide {
    overflow: hidden !important;
    border-radius: 16px !important;
}

.vwPhotoMainSlide img {
    width: 100% !important;
    height: 100% !important;
    min-height: 520px !important;
    max-height: 520px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 12px !important;
}

.vwPhotoThumbColumn {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 520px !important;
    position: relative !important;
}

.vwPhotoThumbSlider {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    overflow: hidden !important;
}

.vwPhotoThumbSlider .slick-list {
    height: 100% !important;
    overflow: hidden !important;
}

.vwPhotoThumbSlider .slick-track {
    height: 100% !important;
}

.vwPhotoThumbSlider .slick-slide {
    height: auto !important;
}

.vwPhotoThumbSlider .slick-slide > div {
    height: 100% !important;
}

.vwPhotoThumbSlide {
    width: 100% !important;
    height: 255px !important;
    min-height: 255px !important;
    max-height: 255px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: hidden !important;
   
    display: block !important;
    cursor: pointer !important;
    position: relative !important;

}


.slick-slide{
	border-radius: 0 0 12px 0 !important;
}

.slick-current{
	border-radius: 0 12px 0 0 !important;
}

.vwPhotoThumbSlide img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}



.vwPhotoAllBtn {
    position: absolute !important;
    right: 14px !important;
    bottom: 14px !important;
    z-index: 5 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    color: #111 !important;
    font-size: 1.8rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    padding: 1.3rem 1.8rem !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.12) !important;
    cursor: pointer !important;
}

/* Zorg dat de slider niet gek doet met slick */
.vwPhotoMainSlider .slick-slide,
.vwPhotoThumbSlider .slick-slide {
    float: left !important;

}

.vwPhotoMainSlider{
	    border-radius: 12px 0 0 12px !important;
}

.vwPhotoThumbSlider .slick-current .vwPhotoThumbSlide {
    outline: 3px solid #0072bb !important;
    outline-offset: -3px !important;
}

/* =========================
   Tablet
========================= */
@media (max-width: 991px) {
    .vwDetailPhotoSlider {
        grid-template-columns: minmax(0, 1fr) 140px !important;
        gap: 8px !important;
    }

    .vwPhotoMainSlide img {
        min-height: 420px !important;
        max-height: 420px !important;
    }

    .vwPhotoThumbColumn {
        height: 420px !important;
    }

    .vwPhotoThumbSlide {
        height: 206px !important;
        min-height: 206px !important;
        max-height: 206px !important;
    }

    .vwPhotoAllBtn {
        font-size: 1.6rem !important;
        padding: 1.1rem 1.5rem !important;
    }
}

/* =========================
   Mobiel
========================= */
@media (max-width: 767px) {
    .vwDetailPhotoSlider {
        display: block !important;
        width: 100% !important;
    }

    .vwPhotoMainSlider {
        width: 100% !important;
        margin-bottom: 10px !important;
    }

    .vwPhotoMainSlider .slick-list,
    .vwPhotoMainSlider .slick-track,
    .vwPhotoMainSlide {
        height: auto !important;
    }

    .vwPhotoMainSlide {
        border-radius: 16px !important;
    }

    .vwPhotoMainSlide img {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 16 / 10 !important;
        object-fit: cover !important;
        display: block !important;
        border-radius: 16px !important;
    }

    .vwPhotoThumbColumn {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        position: relative !important;
    }

    .vwPhotoThumbSlider {
        width: 100% !important;
        height: auto !important;
    }

    .vwPhotoThumbSlider .slick-list {
        height: auto !important;
        overflow: hidden !important;
    }

    .vwPhotoThumbSlider .slick-track {
        display: flex !important;
        align-items: stretch !important;
        height: auto !important;
    }

    .vwPhotoThumbSlider .slick-slide {
        height: auto !important;
    }

    .vwPhotoThumbSlider .slick-slide > div {
        height: 100% !important;
    }

    .vwPhotoThumbSlide {
        width: 100% !important;
        height: auto !important;
        min-height: 100px !important;
        max-height: none !important;
        aspect-ratio: 16 / 9 !important;
        border: 0 !important;
        border-bottom: 0 !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        display: block !important;
    }

    .vwPhotoThumbSlide img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
        border-radius: 12px !important;
    }

    .vwPhotoThumbSlider .slick-slide:not(:last-child) .vwPhotoThumbSlide {
        border-bottom: 0 !important;
    }

    .vwPhotoAllBtn {
        position: static !important;
        margin-top: 10px !important;
        width: 100% !important;
        display: block !important;
        text-align: center !important;
        border-radius: 12px !important;
        transform: none !important;
    }
}

/* =========================
   Klein mobiel
========================= */
@media (max-width: 575px) {
    .vwPhotoMainSlide img {
        aspect-ratio: 4 / 3 !important;
        border-radius: 14px !important;
    }

    .vwPhotoThumbSlide {
        min-height: 88px !important;
        aspect-ratio: 16 / 9 !important;
        border-radius: 10px !important;
    }

    .vwPhotoThumbSlide img {
        border-radius: 10px !important;
    }

    .vwPhotoAllBtn {
        font-size: 1.5rem !important;
        padding: 1.2rem 1.4rem !important;
    }
}


@media (max-width: 767px) {
    .vwPhotoThumbSlider .slick-slide:not(:last-child) .vwPhotoThumbSlide {
        border-bottom: 0 !important;
    }
}


@media (max-width: 767px) {
    .vwPhotoThumbSlide::after,
    .vwPhotoThumbSlide::before {
        display: none !important;
    }
}


@media (max-width: 767px) {
    .vakantieWoningenDetail .vwPhotoThumbColumn {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        overflow: visible !important;
    }

    .vakantieWoningenDetail .vwPhotoAllBtn {
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        max-width: calc(100% - 20px) !important;
        margin: 12px auto 0 !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 10 !important;
        white-space: nowrap !important;
    }
}


@media (max-width: 767px) {
    .vakantieWoningenDetail .vwDetailPhotoSlider {
        display: block !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbColumn {
        width: 100% !important;
        height: auto !important;
        margin-top: 10px !important;
        overflow: visible !important;
        display: block !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbSlider,
    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-list,
    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-track {
        height: auto !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-list {
        overflow: hidden !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-track {
        display: flex !important;
        align-items: stretch !important;
    }

    /* oude witte lijn uitzetten */
    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-list::before,
    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-list::after,
    .vakantieWoningenDetail .vwPhotoThumbSlide::before,
    .vakantieWoningenDetail .vwPhotoThumbSlide::after {
        content: none !important;
        display: none !important;
        background: none !important;
        border: 0 !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-slide {
        height: auto !important;
        padding: 0 4px !important;
        box-sizing: border-box !important;
        border: 0 !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-slide > div {
        height: 100% !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbSlide {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 16 / 10 !important;
        border: 0 !important;
        border-bottom: 0 !important;
        overflow: hidden !important;
        border-radius: 12px !important;
        display: block !important;
        padding: 0 !important;
        background: transparent !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbSlider .slick-slide:not(:last-child) .vwPhotoThumbSlide {
        border-bottom: 0 !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbSlide img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
        display: block !important;
        border-radius: 12px !important;
    }

    .vakantieWoningenDetail .vwPhotoAllBtn {
        position: static !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        max-width: calc(100% - 20px) !important;
        margin: 12px auto 0 !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
        transform: none !important;
        visibility: visible !important;
        opacity: 1 !important;
        z-index: 10 !important;
        white-space: nowrap !important;
    }

    .vakantieWoningenDetail .vwPhotoThumbColumn {
        text-align: center !important;
    }
}


.campingTabImage {
    margin-bottom: 24px;
}

.campingTabImage img {
    display: block;
    width: 100%;
    max-width: 420px;
    height: auto;
}

.vwOutlineBtn {
    color: #fff;
}

.vwOutlineBtn .vwBtnIcon {
    width: 20px;
    height: 20px;
    display: inline-block;
    flex: 0 0 20px;
    background-color: currentColor;
    transition: background-color 0.2s ease;
}

.vwOutlineBtn .vwBtnIconMail {
    -webkit-mask: url("../img/redesign/mail-01.svg") no-repeat center / contain;
    mask: url("../img/redesign/mail-01.svg") no-repeat center / contain;
}

.vwOutlineBtn:hover {
    background: #fff;
    color: #0072bb;
    text-decoration: none;
}
