body{
	background-color: #D9E4ED;
	font-family: "Carlito", sans-serif;
	letter-spacing: 1;
}

.green{
	color: #00515F;
}

.blue{
	color: 004F83;
}

.white{
	color: white;
}

a{
	color: white;
}

p{
	line-height: 150%;
	font-size: 16px;
	margin: 0;
}

h1{
	color: white;
	font-family: "Fraunces", serif;
	font-weight: 900;
	font-size: 32px;
	line-height: 100%;
}

h2{
	font-size: 20px;
	font-weight: bold;
}

.font-fraunces{
	font-family: "Fraunces", serif;	
}

h2.font-fraunces{
	font-size: 27px;
	font-weight: 900;
}

img{
	width: 100%;
	height: 100%;
}

.row-gap {
	row-gap: 15px;
}

.col-gap {
	column-gap: 15px;
}

.btn{
	text-decoration: none;
	border-radius: 50px;
	padding: 2px 50px;
	max-width: fit-content;
}

.btn-blue{
	background-color: 004F83;
	color: white;
	font-weight: bold;
	font-size: 18px;
}

.btn-blue:hover,
.btn-blue:focus,
.btn-blue:active{
	background-color: 004F83;
	color: white;
}

.container{
	max-width: 1440px;
	margin: 0 auto;
	padding: 0;
}

header{
	position: relative;
	z-index: 1;
}

.header-container {
	background-color: rgba(255, 255, 255, 0.6); 
	padding-left: 25px;
	padding-right: 25px;
	height: 75px;	
}

.logo{
	height: 35px;
	width: auto;
}

.language-container{
	column-gap: 10px;
	padding-left: 15px;
}

.language-container a,
.language-container img{
	width: 20px;
	height: 20px;
	flex: 0 0 20px;
}

.component{
	padding: 50px 25px;	
	background-color: white;
	position: relative;
}

.background-image{
	background-size: cover;
	background-position: center;
	z-index: 0;
}

.first-component{	
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 1;	
	margin-top: -75px;
	padding: 0;
}

.first-component h1{
	position: absolute;
	text-align: center;
	left: 50%;
	top: calc(50% - 100px);
    transform: translate(-50%, calc(-50% + 50px));
}

.first-component .background-image{
	background-image: url("images/strandloper-19.jpg"), linear-gradient(to right, rgba(0, 79, 131, 0.8), rgba(255, 255, 255, 0));
	background-blend-mode: overlay;
	aspect-ratio: 2 / 1;
	position: relative;
	width: 100%;
	left: 0;
	top: 0;
}

.wave-container{
	position: relative;
	width: 100%;
	z-index: 1;
	bottom: 0;
	background-color: E3D9CB;
	padding: 25px;
}

.wave-container img{
	width: 100%;
	height: auto;
	bottom: -3px;
	position: relative;
	display: none;
}

.usps-container{
	position: relative;   
}

.usp{
	font-size: 20px;
	line-height: 125%;
}

.icon-usp{
	display: block;
	background-image: url("icons/vinkje_22x21.svg");
	width: 18px;
	height: 17px;
	flex: 0 0 18px;
	background-size: cover;
}

.second-component{
	position: relative;
	aspect-ratio: 2 / 1;
}

.second-component .background-image{
    background-image: url("images/pexels-life-of-pix-7763.jpg");
	opacity: 0.14;
    background-blend-mode: overlay;
	aspect-ratio: 2 / 1;
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	min-height: 420px;
}

.second-component .overlay{
	background: rgba(229, 216, 201, 0.6);
	aspect-ratio: 2 / 1;
	position: absolute;
	width: 100%;
	left: 0;
	top: 0;
	min-height: 420px;
}

.info{
	max-width: 100%;
	z-index: 1;
}

.terrace-image{	
	border-radius: 15px;
	background-image: url("images/strandloper-terraszee.jpg"), linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5));
	background-blend-mode: overlay;
	color: white;
	padding: 50px;
	z-index: 2;
	margin-top: 50px;
	margin-bottom: 25px;
	background-size: cover;
	background-position: center;
}

.swiper {
	width: 100%;
}

.swiper-slide {
	cursor: pointer;
}

.swiper-slide-image-container{
	aspect-ratio: 16 / 10;
	overflow: hidden;
}

.swiper-wrapper{
	height: auto;
}

.swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.modal {
	display: none;
	position: fixed;
	z-index: 1000;
	left: 0; top: 0;
	width: 100%; height: 100%;
	background-color: rgba(0,0,0,0.9);
	justify-content: center;
	align-items: center;
}

.modal.active {
	display: flex;
}

.modal .swiper {
	width: 90%;
	height: 90%;
}

.modal .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
}

.modal .swiper-slide img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.modal-close {
	position: absolute;
	top: 20px;
	right: 30px;
	font-size: 30px;
	color: white;
	cursor: pointer;
	z-index: 1001;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev{
	right: 0;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next{
	left: 0;
}

.swiper-button-next, .swiper-button-prev{
	width: 40px;
	height: 40px;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{	
	content: "";
	display: block;
	width: 40px;
	height: 40px;
	background-size: cover;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after{
	background-image: url("icons/pijl_rechts_40x40.svg");
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{
		background-image: url("icons/pijl_links_40x40.svg");
}

.fourth-component .background-image{
    background-image: url(images/pexels-kellie-churchman-371878-1001682.jpg);
    opacity: 0.21;
    background-blend-mode: overlay;
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    background-size: cover;
    background-position: center;
}

.fourth-component .overlay{
	background: rgba(219, 228, 236, 0.6);
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}

.fourth-component .row{
	z-index: 1;
	position: relative;
}

footer{
	padding: 50px;
	color: white;
	background-color: #496B67;
}

@media(max-width: 575px){
	.first-component h1{
		width: 100%;
	}
	
	.btn {
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
	}
}

@media(min-width: 576px){
	h1{
		font-size: 42px;
	}
	
	.first-component h1{
		top: 50%;
		transform: translate(-50%, -50%);
	}
}

@media(min-width: 768px){
	h1{
		font-size: 45px;
	}
	
	h2{
		font-size: 24px;
	}
	
	.btn-blue{
		font-size: 28px;
	}
	
	.header-container{
		height: 100px;	
		padding-left: 50px;
		padding-right: 100px;
	}
	
	.logo{
		height: 60px;
	}
	
	.language-container{
		column-gap: 30px;
	}
	
	.language-container a, .language-container img{
		width: 30px;
		height: 30px;
		flex: 0 0 30px;
	}
	
	.first-component{
		margin-top: -100px;
	}
	
	.first-component h1{
		max-width: 800px;
		left: 50px;
		transform: translateY(-50%);
	}
	
	.first-component .background-image{
		position: absolute;
	}
	
	.wave-container{
		position: absolute;
		left: 0;
		bottom: 0;
		overflow: hidden;
		background-color: transparent;
		padding: 0;
	}
	
	.wave-container img{
		display: block;
	}
	
	.usps-container{
		position: absolute;
	    left: 50px;
		top: 50%;
		z-index: 2;
		transform: translateY(-50%);
	}
}

@media(min-width: 992px){
	h1{
		font-size: 72px;
	}
	
	
	h2.font-fraunces{
		font-size: 45px;
	}
	
	.component{
		padding: 100px 50px;	
	}
	
	.first-component h1{
		left: calc(50px + 3rem);
	}
	
	.usps-container{
		left: calc(50px + 3rem);
	}
	
	.terrace-image{
		padding-top: 150px;
		margin-top: 100px;
		margin-bottom: 50px;
	}
}

@media(min-width: 1200px){
	h1{
		font-size: 87px;
	}
	
	h2{
		font-size: 28px;
	}
	
	p{
		font-size: 18px;
		line-height: 175%;
	}
	
	.usp{
		font-size: 30px;
	}
	
	.icon-usp{
		width: 22px;
		height: 21px;
		flex: 0 0 22px;
	}
	
	.info{
		max-width: 80%;
	}
}