@media only screen and (max-width: 1000px) {
	.destinations-grid a {
		min-width: calc((100% / 4) - 3.5%);
	}
	.vacation-results {
	    grid-template-columns: 1fr 1fr;
	}
	.vacation-results .results {
		grid-column: span 2;
	}
	.form-month-grid {
		grid-template-columns: repeat(2, 1fr);
	}
		.form-month-grid .month-button {
			grid-column: span 2;
		}
	.form-month-grid.kerstvakantie {
		grid-template-columns: 1fr 1fr min-content
	}
		.form-month-grid.kerstvakantie .month-button {
			grid-column: span 1;
		}
}

@media only screen and (max-width: 900px) {
	header {
		padding: 0;
	}
	.header-grid {
		grid-template-columns: min-content auto;
		gap: 0;
	}
	.header-grid .logo {
		margin: 15px 0 15px 20px;
	}
	#menu,
	#search,
	.language-container {
		display: none;
	}
	#search.visible,
	#menu.visible {
		display: block;
	}
	header .icons {
		display: flex;
		padding: 15px 20px;
	}

	.nav-destinations-grid {
		grid-template-columns: repeat(3, 1fr);
		row-gap: 40px;
	}

	nav.menu {
		grid-column: span 2;
		background: #fff;
		padding: 0 20px;
		height: 50px;
	}
	nav.menu::after,
	.search-container::after {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 2px;
		background: #f2f2f2;
	}
		nav.menu ul {
			height: 100%;
			justify-content: start;
			align-items: center;
		}
			nav.menu ul li a,
			nav.menu ul li .item {
				color: #212427;
			}

	.search-container {
		grid-column: span 2;
	}
		form.search input {
			border-radius: 0;
		}

	.search-results {
		top: 58px;
		left: 10px;
		right: 10px;
		width: auto;
	}
		#searchResultsHeader {
			top: 56px;
			margin: 0 0 0 5px;
			width: calc(100% - 10px);
		}
	.posts-grid {
		grid-template-columns: 1fr 1fr;
	}
	.month-details-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	    .partners-grid a {
	        padding: 10px 20px;
	    }
	.search-temp-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.image-grid {
		grid-template-columns: 1fr;
		gap: 0;
		grid-template-areas:
			"image"
			"left";
	}
		.image-grid .left {
			grid-area: left;
		}
		figure.featured-image {
			grid-area: image;
			margin: 25px 0 10px 0;
			padding-top: 0;
		}
			figure.featured-image img {
				position: relative;
			}
	.vakantieweer-grid {
		grid-template-columns: repeat(4, 1fr);
	}
	.form-month-grid.kerstvakantie {
		max-width: 100%;
	}
}

@media only screen and (max-width: 800px) {
	.destinations-grid a {
		min-width: calc((100% / 3) - 5%);
	}
	.links-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.weather-forecast-grid a.item {
		min-width: calc((100% / 4) - 4%);
	}
	.search-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.footer-grid {
		grid-template-columns: 1fr;
	}
		.footer-grid ul.footer-menu {
			justify-self: start;
		}
		.footer-grid .copyright {
			grid-column: span 1;
			margin: 10px 0 0 0;
			flex-direction: column;
		}
	.vacation-grid {
	    grid-template-columns: 1fr;
	}
	.vacation-results {
	    grid-template-columns: 1fr 1fr 1fr;
	}
	.vacation-results .results {
		grid-column: span 3;
	}
	.pagination-container {
		grid-column: span 1;
	}
        #vacationFilters {
            display: none;
        }
        .filters-open {
        	display: block;
        }
	.vakantieweer-grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.form-month-grid {
		gap: 10px;
	}
		.form-month-grid .item {
			padding: 15px;
		}
    .promo figure a.openPromo {
        padding-top: 40%;
    }
}

@media only screen and (max-width: 700px) {
	.partners-grid {
	    grid-template-columns: repeat(3, 1fr);
	}
	    .partners-grid a {
	        padding: 20px;
	    }
	.form-month-grid.kerstvakantie {
		grid-template-columns: 1fr;
	}
		.form-month-grid.kerstvakantie .month-button {
			grid-column: span 1;
		}
}

@media only screen and (max-width: 600px) {
	.nav-destinations-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.destinations-grid a {
		min-width: calc((100% / 2) - 10%);
	}
		.destinations-grid a figure .title {
			padding: 60px 20px 20px 20px;
		}
		.destinations-grid a:hover figure .title {
			padding: 90px 20px 30px 20px;
		}
	.calendar-grid {
		grid-template-columns: repeat(5, 1fr);
	}
	.calendar-29 .item.item-desktop,
	.calendar-30 .item.item-desktop,
	.calendar-30 .item.item-1 {
		display: none;
	}
	.month-details {
		padding: 20px 20px 40px 20px;
	}
	.prevnext-grid {
		grid-template-columns: 1fr 1fr;
		gap: 20px;
		grid-template-areas: 
			"prev next"
			"title title";
	}
		.prevnext-grid .prev {
			grid-area: prev;
		}
		.prevnext-grid .next {
			grid-area: next;
		}
		.prevnext-grid .title {
			grid-area: title;
		}
	.page-title {
		margin: 50px 0 0 0;
	}
	.weather-scroll-grid {
		display: flex;
		gap: 10px;
		overflow-x: auto;
		scroll-behavior: smooth;
		scroll-snap-type: x mandatory;
	}
		.weather-scroll-grid a.item {
			display: block;
			flex-shrink: 0;
			min-width: calc((100% / 4) - 4%);
		}
	.weather-scroll-grid .scroll-gradient,
	.weather-scroll-grid .scroll {
		display: block;
	}
	.scroll {
		width: 30px;
		height: 30px;
		margin: -15px 0 0 0;
	}
	.scroll.left {
		left: -15px;
	}
	.scroll.right {
		right: -15px;
	}
	.posts-grid {
		grid-template-columns: 1fr;
	}
		.posts-grid figure {
			padding-top: 50%;
		}
	.review-form {
		max-width: 100%;
		grid-template-columns: 1fr;
	}
	.review-form .full {
		grid-column: span 1;
	}
	.vacation-results {
	    grid-template-columns: 1fr 1fr;
	}
	.vacation-results .results {
		grid-column: span 2;
	}
	.search-temp-grid {
		grid-template-columns: 1fr;
	}
}

@media only screen and (max-width: 550px) {
	html, body {
		font-size: 16px;
	}
	h1 {
		font-size: 24px;
		margin: 80px 0 0 0;
	}
	h2, .h2 {
		font-size: 21px;
		margin: 80px 0 0 0;
	}
	h3, .h3 {
		font-size: 18px;
		margin: 50px 0 0 0;
	}
	.header-grid .logo {
		margin: 15px 0 15px 10px;
	}
	ul.breadcrumbs,
	ul.breadcrumbs li select,
	.weather-grid .item .title, .weather-grid .item .wind,
	.calendar-grid .item,
	.table th,
	.table td,
	nav.menu ul li,
	nav.menu ul li a,
	nav.menu ul li .item,
	.search-results a,
	.search-results .item,
	.links-grid a,
	.links-weather-grid a,
	.destinations-grid a figure .title,
	.tabs-grid .item,
	.tabs-grid .tabs-months,
	.tabs-grid .title,
	.weather-grid .item .title .date,
	.weather-grid .item .temp.min,
	.weather-grid .item .precip,
	.weather-grid .item .snow,
	.weather-grid .item .wind,
	.footer-grid ul {
		font-size: 13px;
	}
	.links-grid a {
		padding: 12px 12px;
	}
	.links-grid a .parent {
		font-size: 12px;
	}
	.tabs {
		padding: 10px 8px;
	}
		.tabs-grid {
			gap: 6px;
		}
			.tabs-grid .item,
			.tabs-grid .tabs-months,
			.tabs-grid .title {
				padding: 11px 22px;
			}
		.tabs-grid .spacer {
			width: 1px;
		}
	a.link {
		font-size: 15px;
	}
		a.link svg {
			width: 16px;
			height: 16px;
		}
	.table th,
	.table td,
	.table thead th {
		padding: 12px;
	}
		.table tbody tr.weather td {
			padding: 6px 12px;
		}
		.table-hourly tr th:nth-child(2),
		.table-hourly tr td:nth-child(2) {
			padding: 12px 12px 12px 20px;
		}
		.table-hourly tr td:nth-child(2) img.icon {
			margin: 0 0 0 5px;
		}
	.faq .question {
		font-size: 16px;
	}
	.calendar-grid a.item .day {
		width: 20px;
		height: 20px;
		border-radius: 10px;
		font-size: 9px;
		font-weight: 700;
	}
	.links-grid,
	.continents-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.weather-grid,
	.weather-daily-grid {
		gap: 10px;
	}
	.form-month-grid .item-full {
		grid-column: span 2;
	}
}

@media only screen and (max-width: 500px) {
		figure.home-header .home-header-content .home-header-title {
			font-size: 32px;
		}
		figure.home-header .home-header-content p.home-header-subtitle {
			font-size: 18px;
			max-width: 240px;
		}
	.month-details-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.weather-forecast-grid a.item {
		min-width: calc((100% / 3) - 4%);
	}
	.breadcrumbs ul {
		font-size: 14px;
	}
	.select-grid {
		flex-direction: column;
		align-items: start;
	}
		.select-grid .select {
			width: 100%;
		}
	.partners-grid {
	    grid-template-columns: repeat(2, 1fr);
	}
	    .partners-grid a {
	        padding: 10px 20px;
	    }
	.vakantieweer-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 450px) {
	.weather-scroll-grid a.item {
		min-width: calc((100% / 3) - 6%);
	}
	nav.menu {
		padding: 10px 0;
		height: auto;
	}
	nav.menu ul {
		flex-direction: column;
		justify-content: start;
		gap: 0;
	}
		nav.menu ul li {
			width: 100%;
		}
			nav.menu ul li a,
			nav.menu ul li .item {
				display: block;
				padding: 10px 20px;
			}
	.vacation-results {
	    grid-template-columns: 1fr;
	    row-gap: 15px;
	}
	.vacation-results .results {
		grid-column: span 1;
	}
	a.hotel-item {
	    grid-template-columns: 1fr 2fr;
	    grid-template-rows: 1fr;
	}
}

@media only screen and (max-width: 400px) {
	.nav-destinations-grid {
		grid-template-columns: 1fr;
	}
	.search-grid {
		grid-template-columns: 1fr;
	}
}

@media only screen and (max-width: 380px) {
	.weather-forecast-grid a.item {
		min-width: calc((100% / 3) + 4%);
	}
}