/*
 * 01. Pageheader Block CSS
 * */
.pageheader-block{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	align-content: center;
	background-color: var(--primary-color);	
	padding: 80px 15.625vw;
	z-index: 1;
}

.pageheader-block:before{ 
	content: '';
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	width: 100%;
    height: 100%;
    background: rgb(from #000000 r g b / 30%);
    z-index: 1;
}

.pageheader-carousel,
.pageheader-bg-video{
    position: absolute; /* niet fixed: voorkomt Safari iOS-bug, blijft binnen .pageheader-block */
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100vh; /* fallback */
    height: 100dvh; /* Safari iOS: dynamische viewport */
    overflow: hidden;
    z-index: 0;
}

.pageheader-carousel .slick-slide{
	min-height: 100vh;
	min-height: 100dvh;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.pageheader-bg-video{
	line-height: 0;
}

.pageheader-bg-video video{
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pageheader-contentbox{
	position: relative;
	max-width: 400px;
	z-index: 2;
}

.pageheader-contentbox .section-title{
	margin-bottom: 0;
}

.pageheader-contentbox .section-title p{
	font-family: var(--chauncy-font);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.6em;
	margin: 20px 0 0;
}

@media only screen and (max-width: 1280px) {
	
	.pageheader-block{
		padding: 80px 100px 80px 150px;
	}
	
	.pageheader-contentbox{
		max-width: 300px;
	}

	.pageheader-contentbox .section-title p{
		font-size: 20px;
	}
}

@media only screen and (max-width: 767px) {
	
	.pageheader-block{
		padding: 100px 30px;
	}

	.pageheader-contentbox{
		max-width: 250px;
	}
}


@media only screen and (max-width: 767px) {
	.pageheader-block,
	.pageheader-carousel,
	.pageheader-bg-video {
		position: absolute;
	}
}

.menu-item-body {
	font-family: var(--accent-font);
	font-size: 1.2rem;
}

.menu-item-button,
.menu-item-quote {
	margin-top: 1.75rem;
	text-align: center;
}

.menu-item-quote blockquote {
	font-family: var(--chauncy-font);
	font-size: 1.5rem;
	text-transform: uppercase;
	text-wrap: balance;
/*	color: var(--dynamic-text-color);*/
	color: #857E3D;
}
/*
 * 02. Wijnmenu Block CSS
 * */
.wijnmenu-block{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	background-color: var(--bg-color, #4D1E32);
	z-index: 1;
}

.wijnmenu-block .wijnmenu-left-column{
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 50%;
	align-content: center;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 120px 60px 60px;
	z-index: 1;
}

.wijnmenu-block .wijnmenu-left-column:after{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	width: 100%;
    height: 100%;
    background: rgb(from #000000 r g b / 30%);
	z-index: -1;
}

.wijnmenu-left-column .wijnmenu-left-column-title{
	min-height: calc(100vh - 95px);
	max-width: 280px;
	margin: 0 auto;
	padding-bottom: 120px;
    align-content: center;
}

.wijnmenu-left-column .wijnmenu-left-column-title h2{
	color: var(--text-color);
    font-size: 64px;
    font-weight: 400;
    line-height: 1em;
}

.wijnmenu-right-column{
	position: relative;
	width: 50%;
	min-height: 100vh;
	margin-left: 50%;
	padding: 120px 60px 300px;
}

.wijnmenu-right-column .wijnmenu-content-box{
	width: 100%;
    max-width: 530px;
    margin: 0 auto;
}

.wijnmenu-content-box .content-box-header{
	min-height: calc(100vh - 120px);
    align-content: center;
	padding-bottom: 120px;
}

.wijnmenu-content-box .wijnmenu-floating-icon{
	text-align: right;
	margin-bottom: 10px;
}

.wijnmenu-content-box .wijnmenu-floating-icon span{
	display: inline-block;
	margin-right: -30px;
}

.wijnmenu-content-box .wijnmenu-floating-icon svg{
	fill: var(--accent-color);
	width: 200px;
	height: 230px;
}

.section-button {
  margin-top: 32px;
}

.wijnmenu-content-box .wijnmenu-header-content .section-title{
	margin-bottom: 70px;
}

.wijnmenu-content-box .wijnmenu-header-content .section-title p{
	font-family: var(--accent-font);
	font-size: 24px;
	font-weight: 400;
	font-style: italic;
	line-height: 1.5em;
}

.wijnmenu-content-box .wijnmenu-header-content .wijnmenu-menu-header ul{
	display: flex;
	flex-wrap: wrap;
    gap: 10px 30px;
    padding: 0;
	margin: 0;
	list-style: none;
	line-height: 1.5em;
}

.wijnmenu-content-box .wijnmenu-header-content .wijnmenu-menu-header ul li a{
	position: relative;
	display: inline-block;
	color: var(--text-color);
    font-size: 14px;
    font-weight: 600;
    line-height: inherit;
	padding-bottom: 6px;
    text-transform: uppercase;
}

.wijnmenu-content-box .wijnmenu-header-content .wijnmenu-menu-header ul li a:after{
	content: '';
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
	background-color: var(--text-color);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}

.wijnmenu-content-box .wijnmenu-header-content .wijnmenu-menu-header ul li a:hover:after{
	opacity: 1;
	visibility: visible;
}

.wijnmenu-menu-item{
	scroll-margin-top: 40px;
    margin-bottom: 80px;
}

.wijnmenu-menu-item:last-child{
	margin-bottom: 0;
}

.wijnmenu-menu-item .menu-item-header{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
	margin-bottom: 30px;
}

.wijnmenu-menu-item .menu-item-header .title{
	width: calc(100% - 180px);
}

.wijnmenu-menu-item .menu-item-header .glas-title,
.wijnmenu-menu-item .menu-item-header .fles-title{
	width: 60px;
}

.wijnmenu-menu-item .menu-item-header .title h3{
	color: var(--text-color);
    font-size: 40px;
	font-style: italic;
    font-weight: 400;
    line-height: 1em;
}

.wijnmenu-menu-item .menu-item-header .glas-title h4,
.wijnmenu-menu-item .menu-item-header .fles-title h4{
	color: var(--text-color);
    font-size: 24px;
	font-style: italic;
    font-weight: 400;
    line-height: 1em;
}

.wijnmenu-menu-item .menu-item-body .item-body{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 30px;
}

.wijnmenu-menu-item .menu-item-body .item-body:last-child{
	margin-bottom: 0;
}

.wijnmenu-menu-item .menu-item-body .item-body .content{
	width: calc(100% - 180px);
}

.wijnmenu-menu-item .menu-item-body .item-body .glas-price,
.wijnmenu-menu-item .menu-item-body .item-body .fles-price{
	width: 60px;
}

.wijnmenu-menu-item .menu-item-body .item-body .content > *:last-child,
.wijnmenu-menu-item .menu-item-body .item-body .glas-price p,
.wijnmenu-menu-item .menu-item-body .item-body .fles-price p{
	margin-bottom: 0;
}

@media only screen and (max-width: 1440px) {
	
	.wijnmenu-content-box .wijnmenu-floating-icon span{
		margin-right: 0;
	}	
}

@media only screen and (max-width: 1280px) {
	
	.wijnmenu-block .wijnmenu-left-column{
		padding: 100px 40px 60px;
	}
	
	.wijnmenu-left-column .wijnmenu-left-column-title{
		max-width: 240px;
		min-height: calc(100vh - 75px);
		padding-bottom: 100px;
	}

	.wijnmenu-left-column .wijnmenu-left-column-title h2{
		font-size: 48px;
	}

	.wijnmenu-right-column{
		padding: 100px 40px 200px;
	}

	.wijnmenu-right-column .wijnmenu-content-box{
		max-width: 430px;
	}

	.wijnmenu-content-box .content-box-header{
		min-height: calc(100vh - 100px);
		padding-bottom: 100px;
	}

	.wijnmenu-content-box .wijnmenu-floating-icon{
		margin-bottom: 50px;
	}

	.wijnmenu-content-box .wijnmenu-floating-icon svg{
		width: 130px;
		height: 150px;
	}

	.wijnmenu-content-box .wijnmenu-header-content .section-title{
		margin-bottom: 40px;
	}

	.wijnmenu-content-box .wijnmenu-header-content .section-title p{
		font-size: 20px;
	}

	.wijnmenu-menu-item{
		margin-bottom: 60px;
	}

	.wijnmenu-menu-item .menu-item-header{
		gap: 20px;
	}

	.wijnmenu-menu-item .menu-item-header .title{
		width: calc(100% - 160px);
	}

	.wijnmenu-menu-item .menu-item-header .title h3{
		font-size: 30px;
	}

	.wijnmenu-menu-item .menu-item-header .glas-title h4,
	.wijnmenu-menu-item .menu-item-header .fles-title h4{
		font-size: 20px;
	}

	.wijnmenu-menu-item .menu-item-body .item-body{
		gap: 20px;
	}

	.wijnmenu-menu-item .menu-item-body .item-body .content{
		width: calc(100% - 160px);
	}
	
	.wijnmenu-menu-item .menu-item-body .item-body .content p{
		line-height: 1.6em;
	}
}

@media only screen and (max-width: 1023px) {
	
	.wijnmenu-block{
		flex-direction: column;
	}

	.wijnmenu-block .wijnmenu-left-column{
		position: relative;
		top: initial;
		left: initial;
		bottom: initial;
		align-content: end;
		width: 100%;
		min-height: 770px;
		padding: 80px 100px 210px 150px;
	}

	.wijnmenu-left-column .wijnmenu-left-column-title{
		margin: 0 auto 0 0;
		min-height: initial;
        padding-bottom: 0;
	}

	.wijnmenu-right-column{
		width: 100%;
		min-height: initial;
		margin-left: 0;
		padding: 100px 40px 150px;
	}

	.wijnmenu-right-column .wijnmenu-content-box{
		max-width: 500px;
	}

	.wijnmenu-content-box .content-box-header{
		min-height: initial;
		padding-bottom: 0;
		margin-bottom: 60px;
	}

	.wijnmenu-content-box .wijnmenu-floating-icon{
		margin-bottom: -150px;
	}
	
	.wijnmenu-content-box .wijnmenu-header-content .section-title{
		max-width: 300px;
		position: relative;
		z-index: 2;
	}

	.wijnmenu-menu-item{
		margin-bottom: 50px;
	}
}

@media only screen and (max-width: 767px) {
	
	.wijnmenu-block .wijnmenu-left-column{
		align-content: end;
		min-height: 600px;
		padding: 100px 30px 130px;
	}

	.wijnmenu-left-column .wijnmenu-left-column-title h2{
		font-size: 40px;
	}

	.wijnmenu-right-column{
		padding: 30px 30px 120px;
	}

	.wijnmenu-right-column .wijnmenu-content-box{	
		max-width: 100%;
		margin: 0;
	}

	.wijnmenu-content-box .content-box-header{
		margin-bottom: 50px;
	}
	
	.wijnmenu-content-box .wijnmenu-floating-icon{
		margin-bottom: 0;
	}
	
	.wijnmenu-content-box .wijnmenu-floating-icon span{
		margin-bottom: -10px;
		margin-right: 30px;
	}

	.wijnmenu-content-box .wijnmenu-floating-icon svg{
		width: 100px;
		height: 110px;
	}

	.wijnmenu-content-box .wijnmenu-header-content .section-title{
		max-width: 100%;
	}
	
	.wijnmenu-content-box .wijnmenu-header-content .section-title{
		margin-bottom: 30px;
	}
	
	.wijnmenu-content-box .wijnmenu-header-content .section-title p{
		font-size: 18px;
	}

	.wijnmenu-content-box .wijnmenu-header-content .wijnmenu-menu-header ul{
		gap: 10px 25px;
	}

	.wijnmenu-content-box .wijnmenu-header-content .wijnmenu-menu-header ul li a{
		font-size: 12px;
		padding-bottom: 3px;
	}
	
	.wijnmenu-content-box .wijnmenu-header-content .wijnmenu-menu-header ul li a:after{
		height: 1px;
	}
	
	.wijnmenu-menu-item{
		margin-bottom: 40px;
	}

	.wijnmenu-menu-item .menu-item-header{
		margin-bottom: 25px;
	}
	
	.wijnmenu-menu-item .menu-item-header .title{
		width: calc(100% - 120px);
	}

	.wijnmenu-menu-item .menu-item-header .glas-title,
	.wijnmenu-menu-item .menu-item-header .fles-title{
		width: 40px;
	}

	.wijnmenu-menu-item .menu-item-header .title h3{
		font-size: 24px;
	}

	.wijnmenu-menu-item .menu-item-header .glas-title h4,
	.wijnmenu-menu-item .menu-item-header .fles-title h4{
		font-size: 18px;
	}

	.wijnmenu-menu-item .menu-item-body .item-body{
		margin-bottom: 25px;
		font-size: 14px;
	}

	.wijnmenu-menu-item .menu-item-body .item-body .content{
		width: calc(100% - 120px);
	}

	.wijnmenu-menu-item .menu-item-body .item-body .glas-price,
	.wijnmenu-menu-item .menu-item-body .item-body .fles-price{
		width: 40px;
	}
}


/*
 * 03. Menu Block CSS
 * */
.wijnboer-menu-block{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	background-color: var(--bg-color, #9FAEC1);
	z-index: 1;
}

.wijnboer-menu-block .wijnboer-menu-left-column{
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 50%;
	align-content: center;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 120px 60px 60px;
	z-index: 1;
}

.wijnboer-menu-block .wijnboer-menu-left-column:after{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	width: 100%;
    height: 100%;
    background: rgb(from #000000 r g b / 30%);
	z-index: -1;
}

.wijnboer-menu-left-column .wijnboer-menu-left-column-title{
	min-height: calc(100vh - 120px);
	max-width: 340px;
	margin: 0 auto;
	padding-bottom: 120px;
    align-content: center;
}

.wijnboer-menu-left-column .wijnboer-menu-left-column-title h2{
	color: var(--text-color);
    font-size: 64px;
    font-weight: 400;
    line-height: 1em;
}

.wijnboer-menu-right-column{
	position: relative;
	width: 50%;
	min-height: 100vh;
	margin-left: 50%;
	padding: 120px 60px 300px;
}

.wijnboer-menu-right-column .wijnboer-menu-content-box{
	width: 100%;
    max-width: 530px;
    margin: 0 auto;
}

.wijnboer-menu-content-box .content-box-header{
	min-height: calc(100vh - 120px);
    align-content: center;
	padding-bottom: 120px;
}

.wijnboer-menu-content-box .wijnboer-menu-floating-icon{
	text-align: right;
	margin-bottom: 20px;
}

.wijnboer-menu-content-box .wijnboer-menu-floating-icon span{
	display: inline-block;
	margin-right: -60px;
}

.wijnboer-menu-content-box .wijnboer-menu-floating-icon svg{
	fill: var(--text-color);
	width: 270px;
	height: 190px;
}

.wijnboer-menu-content-box .wijnboer-menu-header-content .section-title{
	margin-bottom: 70px;
}

.wijnboer-menu-content-box .wijnboer-menu-header-content .section-title h1{
	color: var(--primary-color);
}

.wijnboer-menu-content-box .wijnboer-menu-header-content .section-title p{
	color: var(--primary-color);
	font-family: var(--accent-font);
	font-size: 24px;
	font-weight: 400;
	font-style: italic;
	line-height: 1.5em;
}

.wijnboer-menu-content-box .wijnboer-menu-header-content .wijnboer-menu-header ul{
	display: flex;
	flex-wrap: wrap;
    gap: 10px 30px;
    padding: 0;
	margin: 0;
	list-style: none;
	line-height: 1.5em;
}

.wijnboer-menu-content-box .wijnboer-menu-header-content .wijnboer-menu-header ul li a{
	position: relative;
	display: inline-block;
	color: var(--primary-color);
    font-size: 14px;
    font-weight: 600;
    line-height: inherit;
	padding-bottom: 6px;
    text-transform: uppercase;
}

.wijnboer-menu-content-box .wijnboer-menu-header-content .wijnboer-menu-header ul li a:after{
	content: '';
    display: inline-block;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 2px;
	background-color: var(--text-color);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}

.wijnboer-menu-content-box .wijnboer-menu-header-content .wijnboer-menu-header ul li a:hover:after{
	opacity: 1;
	visibility: visible;
}

.wijnboer-menu-item{
	scroll-margin-top: 40px;
    margin-bottom: 50px;
}

.wijnboer-menu-item:last-child{
	margin-bottom: 0;
}

.wijnboer-menu-item .menu-item-header{
	margin-bottom: 20px;
}

.wijnboer-menu-item .menu-item-header .title h3{
	color: var(--primary-color);
    font-size: 40px;
	font-style: italic;
    font-weight: 400;
    line-height: 1em;
}

.wijnboer-menu-item .menu-item-body .item-body{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-bottom: 8px;
}

.wijnboer-menu-item .menu-item-body .item-body:last-child{
	margin-bottom: 0;
}

.wijnboer-menu-item .menu-item-body .item-body .content{
	width: calc(100% - 100px);
}

.wijnboer-menu-item .menu-item-body .item-body .price{
	width: 70px;
	text-align: right;
}

.wijnboer-menu-item .menu-item-body .item-body .content > *:last-child,
.wijnboer-menu-item .menu-item-body .item-body .price p{
	color: var(--primary-color);
	margin-bottom: 0;
}

@media only screen and (max-width: 1440px) {
	
	.wijnboer-menu-content-box .wijnboer-menu-floating-icon span{
		margin-right: 0;
	}	
}

@media only screen and (max-width: 1280px) {
	
	.wijnboer-menu-block .wijnboer-menu-left-column{
		padding: 100px 40px 60px;
	}
	
	.wijnboer-menu-left-column .wijnboer-menu-left-column-title{
		max-width: 270px;
		min-height: calc(100vh - 110px);
		padding-bottom: 100px;
	}

	.wijnboer-menu-left-column .wijnboer-menu-left-column-title h2{
		font-size: 48px;
	}

	.wijnboer-menu-right-column{
		padding: 100px 40px 200px;
	}

	.wijnboer-menu-right-column .wijnboer-menu-content-box{
		max-width: 430px;
	}

	.wijnboer-menu-content-box .content-box-header{
		min-height: calc(100vh - 100px);
		padding-bottom: 100px;
	}

	.wijnboer-menu-content-box .wijnboer-menu-floating-icon{
		margin-bottom: 0;
	}

	.wijnboer-menu-content-box .wijnboer-menu-header-content .section-title{
		margin-bottom: 40px;
	}

	.wijnboer-menu-content-box .wijnboer-menu-header-content .section-title p{
		font-size: 20px;
	}

	.wijnboer-menu-item{
		margin-bottom: 40px;
	}
	
	.wijnboer-menu-item .menu-item-header .title h3{
		font-size: 30px;
	}

	.wijnboer-menu-item .menu-item-body .item-body{
		gap: 20px;
	}

	.wijnboer-menu-item .menu-item-body .item-body .content{
		width: calc(100% - 90px);
	}
	
	.wijnboer-menu-item .menu-item-body .item-body .content p{
		line-height: 1.6em;
	}
}

@media only screen and (max-width: 1023px) {
	
	.wijnboer-menu-block{
		flex-direction: column;
	}

	.wijnboer-menu-block .wijnboer-menu-left-column{
		position: relative;
		top: initial;
		left: initial;
		bottom: initial;
		align-content: flex-end;
		width: 100%;
		min-height: 770px;
		padding: 80px 100px 210px 150px;
	}

	.wijnboer-menu-left-column .wijnboer-menu-left-column-title{
		margin: 0 auto 0 0;
		min-height: initial;
        padding-bottom: 0;
	}

	.wijnboer-menu-right-column{
		width: 100%;
		min-height: initial;
		margin-left: 0;
		padding: 100px 40px 150px;
	}

	.wijnboer-menu-right-column .wijnboer-menu-content-box{
		max-width: 500px;
	}

	.wijnboer-menu-content-box .content-box-header{
		min-height: initial;
		padding-bottom: 0;
		margin-bottom: 60px;
	}

	.wijnboer-menu-content-box .wijnboer-menu-floating-icon{
		margin-bottom: -110px;
	}
	
	.wijnboer-menu-content-box .wijnboer-menu-floating-icon svg{
		width: 180px;
    	height: 100px;
	}
	
	.wijnboer-menu-content-box .wijnboer-menu-header-content .section-title{
		max-width: 300px;
		position: relative;
		z-index: 2;
	}
}

@media only screen and (max-width: 767px) {
	
	.wijnboer-menu-block .wijnboer-menu-left-column{
		align-content: end;
		min-height: 600px;
		padding: 100px 30px 130px;
	}

	.wijnboer-menu-left-column .wijnboer-menu-left-column-title{
		max-width: 230px;
	}
	
	.wijnboer-menu-left-column .wijnboer-menu-left-column-title h2{
		font-size: 40px;
	}

	.wijnboer-menu-right-column{
		padding: 30px 30px 120px;
	}

	.wijnboer-menu-right-column .wijnboer-menu-content-box{
		max-width: 100%;
		margin: 0;
	}
	
	.wijnboer-menu-content-box .content-box-header{
		margin-bottom: 50px;
	}
	
	.wijnboer-menu-content-box .wijnboer-menu-floating-icon{
		margin-bottom: -50px;
	}
	
	.wijnboer-menu-content-box .wijnboer-menu-floating-icon span{
		margin-right: 30px;
	}
	
	.wijnboer-menu-content-box .wijnboer-menu-header-content .section-title{
		margin-bottom: 30px;
		max-width: 100%;
	}
	
	.wijnboer-menu-content-box .wijnboer-menu-header-content .section-title p{
		font-size: 18px;
	}

	.wijnboer-menu-content-box .wijnboer-menu-header-content .wijnboer-menu-header ul{
		gap: 10px 25px;
	}

	.wijnboer-menu-content-box .wijnboer-menu-header-content .wijnboer-menu-header ul li a{
		font-size: 12px;
		padding-bottom: 3px;
	}
	
	.wijnboer-menu-content-box .wijnboer-menu-header-content .wijnboer-menu-header ul li a:after{
		height: 1px;
	}
	
	.wijnboer-menu-item{
		margin-bottom: 30px;
	}

	.wijnboer-menu-item .menu-item-header .title h3{
		font-size: 24px;
	}

	.wijnboer-menu-item .menu-item-body .item-body{
		font-size: 14px;
		margin-bottom: 5px;
	}

	.wijnboer-menu-item .menu-item-body .item-body .content{
		width: calc(100% - 70px);
	}

	.wijnboer-menu-item .menu-item-body .item-body .price{
		width: 50px;
	}
}


/*
 * 04. page Block CSS
 * */
.page-block{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	background-color: var(--bg-color, #B3AD9E);
	z-index: 1;
}

.page-block .page-left-column{
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 50%;
	align-content: center;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 120px 60px 60px;
	z-index: 1;
}

.page-block .page-left-column:after{
	content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	width: 100%;
    height: 100%;
    background: rgb(from #000000 r g b / 30%);
	z-index: -1;
}

.page-left-column .page-left-column-title{
	min-height: calc(100vh - 100px);
	max-width: 280px;
	margin: 0 auto;
	padding-bottom: 120px;
	align-content: center;
}

.page-left-column .page-left-column-title h2{
	color: var(--text-color);
    font-size: 64px;
    font-weight: 400;
    line-height: 1em;
}

.page-right-column{
	position: relative;
	align-content: center;
	width: 50%;
	min-height: 100vh;
	margin-left: 50%;
	padding: 120px 60px;
}

.page-right-column .page-content-box{
    width: 100%;
    max-width: 530px;
    margin: 0 auto;
}

.page-content-box .page-floating-icon{
	text-align: right;
	margin-bottom: 10px;
}

.page-content-box .page-floating-icon span{
	display: inline-block;
	margin-right: -60px;
}

.page-content-box .page-floating-icon svg{
	fill: var(--dynamic-text-color);
	width: 350px;
	height: 250px;
}

.page-content-box .page-content .section-title{
	margin-bottom: 30px;
}

.page-content-box .page-content .section-title h1{
	color: var(--dynamic-text-color);
}

.page-content-box .page-content .section-title h3{
	color: var(--dynamic-text-color);
	font-family: var(--accent-font);
	font-size: 24px;
	font-weight: 400;
	font-style: italic;
	line-height: 1.5em;
	margin-top: 25px;
}

.page-content-box .page-content .section-title p{
	color: var(--dynamic-text-color);
	margin-top: 30px;
}

.page-content-box .page-content ul,
.page-content-box .page-content ol,
.page-content-box .page-content a {
	color: var(--dynamic-text-color);
}

.page-content-box .page-content .section-action .btn-default{
	font-family: var(--chauncy-font);
    font-size: 24px;
    font-weight: 400;
    line-height: 1.6em;
	color: var(--dynamic-text-color);
    background: transparent;
    text-transform: uppercase;
    border-radius: 0;
    padding: 0 0 2px;
	overflow: initial;
}

.page-content-box .page-content .section-action .btn-default:after{
	content: '';
	display: inline-block;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 3px;
	background-image: url("../images/btn-hover-line.svg");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100% 2px;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease-in-out;
}

.page-block[style*="--bg-color: #4D1E32"] .page-content-box .page-content .section-action .btn-default:after {
	background-image: url("../images/btn-hover-line-light.svg");
}

.page-content-box .page-content .section-action .btn-default:hover:after{
	opacity: 1;
	visibility: visible;
}

@media only screen and (max-width: 1440px) {
	
	.page-content-box .page-floating-icon span{
		margin-right: 0;
	}
}

@media only screen and (max-width: 1280px) {
	
	.page-block .page-left-column{
		padding: 100px 40px 60px;
	}
	
	.page-left-column .page-left-column-title{
		max-width: 240px;
		min-height: calc(100vh - 110px);
		padding-bottom: 100px;
	}

	.page-left-column .page-left-column-title h2{
		font-size: 48px;
	}

	.page-right-column{
		padding: 100px 40px;
	}

	.page-right-column .page-content-box{	
		max-width: 430px;
	}

	.page-content-box .page-floating-icon svg{
		width: 260px;
		height: 160px;
	}

	.page-content-box .page-content .section-title h3{
		font-size: 20px;
		margin-top: 20px;
	}

	.page-content-box .page-content .section-title p{
		margin-top: 20px;
	}

	.page-content-box .page-content .section-action .btn-default{
		font-size: 20px;
	}
}

@media only screen and (max-width: 1023px) {
	
	.page-block{
		flex-direction: column;
	}
	
	.page-block .page-left-column{
		position: relative;
		top: initial;
		left: initial;
		bottom: initial;
		align-content: end;
		width: 100%;
		min-height: 770px;
		padding: 80px 100px 210px 150px;
	}

	.page-left-column .page-left-column-title{
		margin: 0 auto 0 0;
		min-height: initial;
		padding-bottom: 0;
	}

	.page-right-column{
		width: 100%;
		min-height: initial;
		margin-left: 0;
		padding: 100px 40px 150px;
	}

	.page-right-column .page-content-box{
		max-width: 500px;
	}

	.page-content-box .page-floating-icon{
		margin-bottom: -100px;
	}
	
	.page-content-box .page-floating-icon span{
		margin-right: -40px;
	}
	
	.page-content-box .page-floating-icon svg{
		width: 200px;
        height: 100px;
	}
	
	.page-content-box .page-content .section-title{
		max-width: 300px;
		position: relative;
		z-index: 2;
	}
}

@media only screen and (max-width: 767px) {

	.page-block .page-left-column{
		align-content: end;
		min-height: 600px;
		padding: 100px 30px 130px;
	}

	.page-left-column .page-left-column-title h2{
		font-size: 40px;
	}

	.page-right-column{
		padding: 30px 30px 120px;
	}

	.page-right-column .page-content-box{
		max-width: 100%;
		margin: 0;
	}

	.page-content-box .page-floating-icon span{
		margin-right: 0;
		margin-bottom: -10px;
	}

	.page-content-box .page-floating-icon{
		margin-bottom: 0;
	}
	
	.page-content-box .page-floating-icon svg{
		width: 240px;
		height: 140px;
	}

	.page-content-box .page-content .section-title{
		margin-bottom: 25px;
		max-width: 100%;
	}

	.page-content-box .page-content .section-title h3{
		font-size: 18px;
	}

	.page-content-box .page-content .section-title p{
		font-size: 14px;
	}
}


/*
 * 05. Impressie Block CSS
 * */
.impressie-block{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	background-color: var(--bg-color, #4D1E32);
	z-index: 1;
}

.impressie-block .impressie-left-column{
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 50%;
	align-content: center;
	background-color: var(--colomn-bg-color, #2C1C26);
	padding: 60px;
	z-index: 1;
}

.impressie-left-column .impressie-left-column-title{
	max-width: 280px;
	margin: 0 auto;
}

.impressie-left-column .impressie-left-column-title h2{
	color: var(--text-color);
    font-size: 64px;
    font-weight: 400;
    line-height: 1em;
}

.impressie-right-column{
	position: relative;
	width: 100%;
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding: 60px 0;
	overflow: hidden;
	z-index: 1;
}

.impressie-content-box{
	position: relative;
	display: flex;
	align-items: start;
	gap: 32px;
	overflow-x: auto;
	right: -37%;
	padding: 10px;
}

.impressie-content-box::-webkit-scrollbar{
	display: none;
}

.impressie-item{
	background: var(--text-color);
	min-width: 385px;
    max-width: 385px;
	transform:rotate(-2deg);
	padding: 15px;
}

.impressie-item:nth-child(even){
	min-width: 663px;
    max-width: 663px;
	transform: rotate(2deg);
	margin-top: 120px;
}



.impressie-item-image figure{
	display: block;
	position: relative;
	width: 100%;
	margin: 0;
	padding-top: 123.43%; /* aspect-ratio fallback voor Safari < 15 */
	overflow: hidden;
}

.impressie-item-image figure video,
.impressie-item-image figure img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.impressie-item-image figure video{
	/* "Cover" zonder object-fit (zelfde Safari-videobug als bij de pageheader). */
/*
	top: 50%;
	left: 50%;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	object-fit: fill;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
*/
  object-fit: cover;
}

.impressie-item:nth-child(even) .impressie-item-image figure{
	padding-top: 69.22%;
}

.impressie-item-content{
	margin-top: 15px;
}

.impressie-item:nth-child(even) .impressie-item-content{
	margin: 25px 0 10px;
}

.impressie-item-content h3{
	font-size: 18px;
	font-style: italic;
	line-height: 1.333em;
	color: var(--primary-color);
}

@media only screen and (max-width: 1280px) {

	.impressie-left-column .impressie-left-column-title h2{
		font-size: 48px;
	}
}

@media only screen and (max-width: 1023px) {
	
	.impressie-item{
		min-width: 330px;
		max-width: 330px;
		padding: 12px;
	}

	.impressie-item:nth-child(even){
		min-width: 500px;
		max-width: 500px;
		margin-top: 100px;
	}
	
	.impressie-item-content{
		margin: 12px 0 0;
	}
	
	.impressie-item:nth-child(even) .impressie-item-content {
		margin: 15px 0 0px;
	}
}

@media only screen and (max-width: 991px) {
	
	.impressie-block{
		flex-direction: column;
	}

	.impressie-block .impressie-left-column{
		position: relative;
		top: initial;
		left: initial;
		bottom: initial;
		width: 100%;
		align-content: start;
		min-height: 770px;
		padding: 180px 0px 0px 130px;
	}

	.impressie-left-column .impressie-left-column-title{
		margin: 0 auto 0 0;
	}

	.impressie-right-column{
		width: 100%;
		min-height: initial;
		margin-left: 0;
		padding: 0px 0px 180px 130px;
		margin-top: -450px;
	}
	
	.impressie-content-box{
		right: 0;
	}
}

@media only screen and (max-width: 767px) {

	.impressie-block .impressie-left-column{
		min-height: 600px;
		padding: 180px 0px 0px 30px;
	}

	.impressie-left-column .impressie-left-column-title h2{
		font-size: 40px;
	}

	.impressie-right-column{
		padding: 0px 0 180px 0;
		margin-top: -300px;
	}

	.impressie-right-column .impressie-content-box{
		max-width: 100%;
		margin: 0;
	}
	
	.impressie-item{
		min-width: 260px;
		max-width: 260px;
	}

	.impressie-item:nth-child(even){
		min-width: 325px;
		max-width: 325px;
		margin-top: 40px;
	}
	
	.impressie-item-content h3{
		font-size: 16px;
	}
}
/* Impressie Block — Horizontale scroll (desktop) */
@media only screen and (min-width: 992px) {

	.impressie-block {
		display: block;
		/* Sticky descendants breken als een ancestor een transform/filter heeft.
		   Forceer geen stacking-context hier. */
		overflow: visible;
	}

	.impressie-right-column {
		position: -webkit-sticky;
		position: sticky;
		top: 0;
		height: 100vh; /* fallback */
		height: 100dvh; /* Safari iOS: stabiele viewport */
		min-height: unset;
		overflow: hidden; /* houd de horizontale strip binnen het sticky frame */
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
	}

	.impressie-content-box {
		overflow-x: visible;
		will-change: transform;
		-webkit-transform: translateZ(0);
		transform: translateZ(0);
	}
}


/* Impressie — admin toolbar correctie (sticky top offset) */
@media only screen and (min-width: 992px) {

	html.admin-bar .impressie-right-column {
		top: 32px;
		height: calc(100vh - 32px);
		height: calc(100dvh - 32px);
	}
}
