@charset "UTF-8";
/*
Theme Name: Vakantieparkexpert.nl
Author: Web&Media
Author URI: https://www.webenmedia.nl/
Version: 2.1;
*/

html, body {
	margin: 0;
	padding: 0;
	background: #fff;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	color: #1F1F1F;
}
div, h1, h2, h3, h4, p, a, ul, ol, li, figure, picture, iframe, img, table, tr, th, td, form, input, select, textarea {
	position: relative;
	margin: 0;
	padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
	box-sizing: border-box;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	list-style: none;
	outline: none;
	border: 0;
	text-decoration: none;
	-webkit-appearance: none;
	appearance: none;
	vertical-align: top;
	border-spacing: 0;
	border-collapse: collapse;
}
input {
	font-size: 1rem;
	font-weight: 400;
	color: #1F1F1F;
}
h1 {
	font-size: 2.8rem;
	line-height: 100%;
	font-weight: 700;
	margin: 0 0 0 -3px;
	letter-spacing: -1px;
}
h2 {
	font-size: 1.6rem;
	line-height: 100%;
	font-weight: 600;
}
h3 {
	font-size: 1.1rem;
	line-height: 100%;
	font-weight: 600;
}
h4 {
	font-size: 0.9rem;
	line-height: 100%;
	font-weight: 500;
}
figure,
img,
iframe {
	display: block;
	background: #f6f6f6;
}
form {
	display: block;
}
a {
	color: #0071C2;
	font-family: inherit;
	font-size: inherit;
	text-decoration: none;
}
a:hover {
	color: #429d15;
}
::-webkit-input-placeholder { /* Chrome/Opera/Safari */
	color: #666;
}
::-moz-placeholder { /* Firefox 19+ */
	color: #666;
}
:-ms-input-placeholder { /* IE 10+ */
	color: #666;
}
:-moz-placeholder { /* Firefox 18- */
	color: #666;
}
.wrap {
	max-width: 1368px;
	margin: 0 auto;
}

.header {
	background: #429d15;
}
	.header-grid {
		display: grid;
		grid-template-columns: 1fr 2fr;
		grid-column-gap: 24px;
		grid-row-gap: 6px;
		padding: 24px;
	}
	.header .logo a {
		font-size: 1.5rem;
		line-height: 1.2rem;
		font-weight: 600;
		color: #fff;
		white-space: nowrap;
	}
		.header .logo a i {
			display: inline-block;
			width: 29px;
			margin: 0 6px 0 0;
			font-size: 1.8rem;
			line-height: 1.2rem;
		}
		.header .logo a span {
			opacity: 0.75;
		}
	.header ul.menu {
		justify-self: end;
		display: inline-flex;
		flex-wrap: wrap;
		column-gap: 36px;
		row-gap: 6px;
	}
		.header ul.menu li {
			font-weight: 500;
			font-size: 1.1rem;
			line-height: 1.4rem;
			color: #fff;
			white-space: nowrap;
		}
			.header ul.menu li a {
				color: #fff;
			}
			.header ul.menu li i {
				display: inline-block;
				width: 1rem;
				font-size: 1rem;
			}
			.header ul.menu li a:hover,
			.header ul.menu li i:hover {
				cursor: pointer;
				opacity: 0.75;
			}

	.header .header-icon {
		display: none;
		position: absolute;
		top: 24px;
		right: 66px;
		line-height: 120%;
		color: #fff;
	}
	.header .header-icon:hover {
		color: #fff;
		cursor: pointer;
	}
	.header .search-icon {
		margin: 2px 0 0 0;
		font-size: 0.85rem;
	}
	.header .menu-icon {
		right: 24px;
		font-size: 1.3rem;
		line-height: 100%;
	}
	.header .menu-icon .fa-xmark {
		font-size: 1.4rem;
	}

.search {
	display: block;
}
	.search form {
		background: #f6fcf4;
		border-bottom: 1px solid #a9e28d;
	}
		.search form .wrap {
			padding: 0 24px;
		}
		.search form input {
			display: block;
			width: 100%;
			height: 60px;
			background: transparent;
		}

.button {
	display: block;
	padding: 18px 36px;
	background: #0071C2;
	line-height: 1rem;
	color: #fff;
	text-align: center;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	cursor: pointer;
}
.button:hover {
	color: #fff;
	background: #429d15;
}
	.button i {
		display: inline-block;
		width: 19px;
		margin: 0 0 0 6px;
		font-size: 1.1rem;
	}
.content-button {
	display: none;
	padding: 48px 0 0 0;
}

.site-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	column-gap: 24px;
	padding: 0 24px;
}
.page-header {
	padding: 96px 24px 0 24px;
}

.main-title {
	min-height: 52px;
}

.rank-math-breadcrumb p {
	padding: 12px 0 0 0;
	height: 28px;
	display: flex;
	flex-wrap: wrap;
	column-gap: 6px;
	row-gap: 6px;
	font-size: 0.9rem;
	line-height: 0.9rem;
	color: #666;
}
	.rank-math-breadcrumb a {
		text-decoration: none;
	}
	.rank-math-breadcrumb a:hover {
		text-decoration: underline;
	}
	.rank-math-breadcrumb span.separator {
		display: inline-block;
		width: 11px;
		position: relative;
		visibility: hidden;
		text-rendering: auto;
		-webkit-font-smoothing: antialiased;
	}
	.rank-math-breadcrumb span.separator::after {
		visibility: visible;
		position: absolute;
		top: 2px;
		left: 2px;
		content: "\f105";
		font-family: "Font Awesome 6 Pro";
		font-weight: 900;
		font-size: 0.8rem;
	}

.home-image {
	padding-top: 35%;
	overflow: hidden;
}
	.home-image img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

.search-wrap {
	position: absolute;
	left: 0;
	bottom: 15%;
	width: 100%;
}
	.search-wrap .search-content {
		padding: 0 24px;
	}
		.search-wrap .search-content h1 {
			font-size: 3.6rem;
			color: #fff;
			text-shadow:
				0 1px 1px hsl(0deg 0% 0% / 0.075),
				0 2px 2px hsl(0deg 0% 0% / 0.075),
				0 4px 4px hsl(0deg 0% 0% / 0.075),
				0 8px 8px hsl(0deg 0% 0% / 0.075),
				0 16px 16px hsl(0deg 0% 0% / 0.075);
		}
		.search-wrap .search-content form {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			grid-gap: 24px;
			width: 100%;
			margin: 48px 0 0 0;
			padding: 24px;
			background: #fff;
			-webkit-border-radius: 6px;
			-moz-border-radius: 6px;
			border-radius: 6px;
			box-shadow:
				0 1px 1px hsl(0deg 0% 0% / 0.05),
				0 2px 2px hsl(0deg 0% 0% / 0.05),
				0 4px 4px hsl(0deg 0% 0% / 0.05),
				0 8px 8px hsl(0deg 0% 0% / 0.05),
				0 16px 16px hsl(0deg 0% 0% / 0.05);
		}
			.search-wrap .search-content form select,
			.search-wrap .search-content form input.button {
				width: 100%;
				height: 46px;
				font-size: 1rem;
				border: 1px solid #ddd;
				padding: 12px;
				-webkit-border-radius: 4px;
				-moz-border-radius: 4px;
				border-radius: 4px;
			}
			.search-wrap .search-content form input.button {
				border: 0;
			}

.logos {
	padding: 48px 24px;
	border-bottom: 1px solid #ddd;
}
	.logos-grid {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
		grid-gap: 24px;
	}
		.logos-grid figure {
			background: transparent;
			height: 60px;
		}
			.logos-grid figure img {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				object-fit: contain;
				background: transparent;
			}

.featured-image {
	margin: 36px 0 0 0;
	height: 484px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	overflow: hidden;
}
	.featured-image img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.featured-image .button {
		position: absolute;
		top: 24px;
		right: 24px;
		width: auto;
	}

	.content h2 {
		padding: 72px 0 0 0;
	}
	.content h3 {
		padding: 36px 0 0 0;
	}
	.content p {
		max-width: 720px;
		padding: 18px 0 0 0;
		line-height: 1.6rem;
	}
	.content p a {
		text-decoration: underline;
	}
	.content p a:hover {
		text-decoration: none;
	}
	.content .button {
		margin: 54px 0 0 0;
	}

.sidebar {
	padding: 0 0 0 24px;
}
	.sidebar .logo {
		width: 100%;
		height: 80px;
		background: transparent;
	}
		.sidebar .logo img {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			object-fit: contain;
			background: transparent;
		}
	.sidebar .button {
		margin: 36px 0 0 0;
	}
	.sidebar iframe {
		margin: 48px 0 0 0;
		width: 100%;
		height: 382px;
		-webkit-border-radius: 4px;
		-moz-border-radius: 4px;
		border-radius: 4px;
		overflow: hidden;
	}
	.sidebar .widget {
		padding: 82px 0 0 0;
	}
		.sidebar .widget h3 {
			padding: 0 0 3px 0;
		}
		.sidebar .widget p,
		.sidebar .widget li {
			padding: 6px 0 0 0;
			line-height: 1.4rem;
			color: #666;
		}
		.sidebar .widget li.separator {
			padding: 6px 0 12px 0;
		}
		.sidebar .widget a:hover {
			text-decoration: underline;
		}
			.sidebar .widget li i {
				display: inline-block;
				margin: 0 9px 0 0 ;
			}
			.sidebar .widget li span.numbers {
				font-variant-numeric: tabular-nums;
			}

.results {
	padding: 48px 0;
}

.products {
	padding: 0 24px;
}
.products.offset {
	padding: 48px 24px 0 24px;
}
	.products h2 {
		margin: 12px 0 0 0;
		padding: 48px 0 0 0;
		border-top: 1px solid #ddd;
	}
	.home .products h2 {
		border:  0;
	}
	.products-grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-column-gap: 48px;
		grid-row-gap: 54px;
		padding: 48px 0;
	}
	.products-grid.no-padding {
		padding: 48px 0 0 0;
	}
		.products-grid a {
			text-decoration: none;
		}
		.products-grid .product .image {
			padding-top: 50%;
			-webkit-border-radius: 4px;
			-moz-border-radius: 4px;
			border-radius: 4px;
			overflow: hidden;
		}
			.products-grid .product .image img {
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
				object-fit: cover;
			}
		.products-grid .product .product-content {
			padding: 24px 0 0 0;
		}
			.products-grid .product .product-content h3 {
				display: flex;
				flex-wrap: wrap;
				column-gap: 9px;
				align-items: center;
				color: #0071C2;
			}
			.products-grid .product .product-content h3:hover {
				text-decoration: underline;
				color: #429d15;
			}
			.products-grid .product .product-content p {
				padding: 12px 0 0 0;
				font-size: 0.9rem;
				line-height: 100%;
				color: #666;
			}
		.products-grid .product ul {
			padding: 12px 0 0 0;
		}
			.products-grid .product ul li {
				padding: 9px 0;
				font-size: 0.9rem;
				line-height: 100%;
			}
			.products-grid .product ul li.last {
				border-top: 1px solid #ddd;
				margin: 12px 0 0 0;
				padding: 18px 0 9px 0;
			}
				.products-grid .product ul li a {
					color: #666;
				}
				.products-grid .product ul li a:hover {
					color: #429d15;
					text-decoration: underline;
				}

p.no-results {
	padding: 48px 0 0 0;
}

.filters-active {
	padding: 84px 24px 0 24px;
}
	.filters-active .filters-active-content {
		border-top: 1px solid #ddd;
		border-bottom: 1px solid #ddd;
		padding: 24px 0;
	}
		.filters-active .filters-active-content ul {
			display: flex;
			flex-wrap: wrap;
			column-gap: 12px;
			row-gap: 9px;
			padding: 18px 0 0 0;
		}
			.filters-active .filters-active-content ul li a {
				display: block;
				padding: 6px 12px;
				background: #f6f6f6;
				font-size: 0.9rem;
				line-height: 1.4rem;
				color: #1F1F1F;
				-webkit-border-radius: 3px;
				-moz-border-radius: 3px;
				border-radius: 3px;
				white-space: nowrap;
			}
				.filters-active .filters-active-content ul li a i {
					display: inline-block;
					width: 8px;
					margin: 0 0 0 9px;
					font-size: 0.8rem;
					color: #ff0000;
				}
			.filters-active .filters-active-content ul li a.reset {
				background: #0071C2;
				color: #fff;
				font-weight: 600;
				font-size: 0.8rem;
				text-transform: uppercase;
				padding: 6px 18px;
			}
			.filters-active .filters-active-content ul li a:hover {
				background: #ff0000;
				color: #fff;
			}
				.filters-active .filters-active-content ul li a:hover i {
					color: #fff;
				}

.filters-grid {
	display: grid;
	grid-template-columns: 1fr 3fr;
	grid-gap: 48px;
	padding: 48px 24px;
}
	.filters-grid .products-grid {
		grid-template-columns: 1fr 1fr;
		column-gap: 48px;
	}
		.filters .filter {
			padding: 48px 0 36px 0;
			border-bottom: 1px solid #ddd;
		}
		.filters .filter.last {
			border: 0;
		}
			.filters .filter h3 {
				padding: 0 0 12px 0;
			}
				.filters .filter ul li {
					display: flex;
					flex-wrap: wrap;
					column-gap: 6px;
					padding: 6px 0 12px 0;
					font-size: 0.9rem;
					line-height: 0.9rem;
					color: #666;
				}
					.filters .filter input[type="checkbox"] {
						-webkit-appearance: checkbox;
						appearance: checkbox;
					}
					.filters .filter ul li input.button {
						padding: 9px 18px;
						font-size: 0.9rem;
						cursor: pointer;
					}

.filter-links {
	padding: 0 24px;
}
	.filter-links h3 {
		padding: 48px 0 0 0;
		border-top: 1px solid #ddd;
	}
	.filter-links ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		grid-column-gap: 48px;
		padding: 12px 0 0 0;
	}
		.filter-links ul li {
			padding: 6px 0;
			font-size: 0.9rem;
			line-height: 1.4rem;
		}

.navigation {
	padding: 48px 0 0 0;
}
	.navigation ul {
		display: flex;
		flex-wrap: wrap;
		column-gap: 6px;
		align-items: center;
		justify-content: center;
	}
		.navigation ul li {
			color: #666;
		}
			.navigation ul li a {
				display: inline-block;
				min-width: 28px;
				padding: 4px 3px 3px 3px;
				text-align: center;
				-webkit-border-radius: 15px;
				-moz-border-radius: 15px;
				border-radius: 15px;
				color: #282b30;
			}
			.navigation ul li a:hover,
			.navigation ul li.active a {
				background: #fff;
				text-decoration: none;
			}
			.navigation ul li.active a {
				color: #0071C2;
				font-weight: 600;
			}
			.navigation ul li.prevnext a:hover {
				background: transparent;
				text-decoration: underline;
			}

.facilities-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	grid-column-gap: 48px;
	padding: 1rem 0 1.4rem 0;
}
	.facilities {
		line-height: 1.2rem;
	}
	.facilities h3 {
		display: flex;
		align-items: center;
		padding: 24px 0 16px 0;
		border-bottom: 1px solid #ddd;
	}
		.facilities h3 i {
			display: inline-block;
			margin: 3px 9px 0 0;
			font-size: 1rem;
		}
		.facilities ul {
			padding: 0 0 12px 0;
		}
			.facilities ul li {
				padding: 12px 0 0 0;
				line-height: 1.4rem;
				color: #666;
			}

.page-header {
	padding: 96px 24px 0 24px;
}

.links {
	padding: 48px 0 0 0;
}
	.links-grid {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		grid-column-gap: 48px;
		padding: 12px 0 0 0;
	}
		.links-grid .item {
			display: flex;
			flex-wrap: wrap;
			column-gap: 9px;
			align-items: center;
			border-top: 1px solid #ddd;
			padding: 12px 0;
		}
		.links-grid .item:hover {
			text-decoration: underline;
		}
		.links-grid .item:before {
			display: block;
			content: "";
			position: absolute;
			left: 0;
			bottom: -1px;
			width: 100%;
			height: 1px;
			background: #ddd;
		}

.footer {
	margin: 48px 0 0 0;
	background: #0d1f04;
}
	.footer-grid {
		display: grid;
		grid-template-columns: 1fr 2fr;
		column-gap: 24px;
		padding: 48px 24px;
	}
		.footer-grid .colophon {
			padding: 0 36px 0 0;
		}
	.quick-menu-grid {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		gap: 48px;
	}
		.footer-grid h3 {
			padding: 0 0 12px 0;
			font-size: 1.2rem;
			line-height: 100%;
			color: #fff;
		}
		.footer-grid p,
		.footer-grid li {
			padding: 12px 0 0 0;
			font-size: 0.9rem;
			line-height: 1.4rem;
			color: #9ea59b;
		}
		.footer-grid p {
			max-width: 350px;
		}
		.footer-grid p.last {
			padding: 38px 0 0 0;
		}
			.footer-grid p a {
				text-decoration: underline;
			}
		.footer-grid li.last {
			padding: 24px 0 0 0;
		}
		.footer-grid a {
			color: #9ea59b;
		}
		.footer-grid li.last a {
			text-decoration: underline;
		}
		.footer-grid a:hover,
		.footer-grid li.last a:hover {
			color: #fff;
			text-decoration: underline;
		}