:root:has(body.frontend) {
	
	--fontSize10: 0.4166rem;
	--fontSize12: 0.5rem;
	--fontSize13: 0.541rem;
	--fontSize14: 0.5833rem;
	--fontSize15: 0.625rem;
	--fontSize16: 0.666rem;
	--fontSize17: 0.70833rem;
	--fontSize18: 0.75rem;
	--fontSize20: 0.833rem;
	--fontSize22: 0.9166rem;
	--fontSize24: 1rem;
	--fontSize28: 1.166rem;
	--fontSize30: 1.25rem;
	--fontSize35: 1.4583rem;
	--fontSize40: 1.6666rem;
	--fontSize45: 1.875rem;
	--fontSize47: 1.9583rem;
	--fontSize49: 2.0416rem;
	--fontSize50: 2.0833rem;
	--fontSize51: 2.125rem;
	--fontSize65: 2.70833rem;
	--fontSize70: 2.9166rem;
	--fontSize85: 3.541rem;
	--fontSize100: 4.166rem;
	
	--topHeaderHeight: 2.08333rem;
	--topHeaderHeightCalc: 2.08333rem;
	
	--mainHeaderHeight: 3.8rem;
	
	--sideSpacing: 1.2rem;
	/*--sideSpacingInner: 7.1rem;*/
	--sideSpacingInner: 2.3rem;
	
	--colorMint: #A5BEAF;
	--colorMintLight: #e0e9e3;
	--colorGreyDark: #4B5055;
	--colorGreyLight: #B4B7BB;
	--colorWhite: #FFFFFF;
	--colorBlue: #8CAABE;
	--colorBlueLight: #d7e1e8;
	
	
	
	--colorFlieder: #BEB8E6;
	--colorBrown: #382721;
	--colorBeige: #F2EBE2;
	--borderRadius: 1.25rem;
	--colorTurquoise: #84DCDE;
	--colorBeigeLight: #FAF7F3;
	
	
	--headerColor: var(--colorBeige);
	--topHeaderBackgroundColor: var(--colorMint);
	--topHeaderColor: var(--colorBeige);
	
	--sectionMargin: 5.3rem;
	
	--bottomBarHeight: 5.625rem;
	
	
	
	
	@media only screen and (max-width: 768px) {
		--sideSpacing: 0.8rem;
		--sideSpacingInner: 0;
		--topHeaderHeight: 2.9rem;
		--topHeaderHeightCalc: 2.9rem;
		
		--sectionMargin: 2.75rem;
		
		--borderRadius: 0.5rem;
	}

}


html:has(body.frontend), body.frontend {
	scrollbar-gutter: stable;
}

html:has(body.frontend) {
	font-size: 1.66vw;

	@media only screen and (max-width: 768px) {
		font-size: 5.66vw;
	}
}

body.frontend {
	margin: 0;
	padding: 0;
	text-align: left;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size: var(--fontSize24);
	font-family: "elza", sans-serif;
	line-height: 1.4166;
	/* font-family: "palast-variable", sans-serif; */
	/* font-variation-settings: "opsz" 160, "wght" 500; */
	color: var(--colorGreyDark);
	/* background-color: red; */
	-webkit-text-size-adjust: 100%;
	
	@media only screen and (max-width: 768px) {
		overflow-x: hidden;
	}
	
	&.top-header-visible{
		--topHeaderHeightCalc: 0rem !important;
	}
	
	input[type=text],
	input[type=email],
	input[type=tel],
	input[type=url],
	input[type=search],
	input[type=submit],
	input[type=date],
	button:not(.cta__button) {
	  appearance: none;
	  -moz-appearance: none;
	  -webkit-appearance: none;
	  border-radius: 0;
	  -moz-border-radius: 0;
	  -webkit-border-radius: 0;
	}

	
	input:-webkit-autofill,
	input:-webkit-autofill:hover,
	input:-webkit-autofill:focus,
	textarea:-webkit-autofill,
	select:-webkit-autofill {
	  -webkit-text-fill-color: #222;
	  -webkit-box-shadow: 0 0 0 1000px #fff inset;
	  box-shadow: 0 0 0 1000px #fff inset;
	  caret-color: #222;
	}
	
	*, *:before, *:after {
		-moz-box-sizing: border-box; 
		-webkit-box-sizing: border-box; 
		box-sizing: border-box;
	}
	
	input:focus,
	textarea:focus,
	button:focus {
		outline: none;
	}

	
	img {
		border: 0;
	}

}



#loading {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 99999999;
	background-color: var(--colorMint);
	pointer-events: none;
	/* transform: translateY(100%); */
	display: flex;
	justify-content: center;
	align-items: center;
	/* clip-path: inset(100% 0% 0% 0%); */
	
	svg {
		width: 5rem;
		height: auto;
		
		.typo {
			transform-origin: center center;
		}
		
	}
}

@keyframes hide_show_underline {
	0% {
		background-size: 100% 1px;
		background-position: right bottom;
	}
	50% {
		background-size: 0% 1px;
		background-position: right bottom;
	}
	51% {
		background-size: 0% 1px;
		background-position: left bottom;
	}
	100% {
		background-size: 100% 1px;
		background-position: left bottom;
	}
}

/* OPEN CSS WRAPPER */
.acfe-flexible-placeholder,
body.frontend {
	
	
	
strong {
	font-weight: 500;
}
	
	

.innerwrapper {
	width: calc(100% - var(--sideSpacing) - var(--sideSpacing));
	margin: 0 auto;
	
	@media only screen and (max-width: 768px) {
		width: calc(100% - var(--sideSpacing) - var(--sideSpacing) - 1rem);
	}
	
	&.smaller {
		width: calc(100% - var(--sideSpacing) - var(--sideSpacing) - 2.4rem - 2.4rem);
		
		@media only screen and (max-width: 768px) {
			width: calc(100% - var(--sideSpacing) - var(--sideSpacing) - 1rem);
		}
	}
	
	
}

/* Hide Show */
#header .top__header .innerwrapper .text a,
.read_more-button {
	text-decoration: none;
	
	font-size: var(--fontSize12);
	line-height: 1.666;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
	display: inline-block;
	
	background-image: linear-gradient(currentColor, currentColor);
	background-position: right bottom;
	background-repeat: no-repeat;
	background-size: 100% 1px;
	
	@media only screen and (max-width: 768px) {
		line-height: 1.4;
	}
	
	@media (hover: hover) {
		&:hover {
			animation-name: hide_show_underline;
			animation-duration: 1s;
			animation-iteration-count: 1;
		}
	}
}

.read_more-button {
	background-color: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	text-transform: uppercase;
	font-size: var(--fontSize14);
	
	@media only screen and (max-width: 1080px) {
		font-size: var(--fontSize10);	
	}
}

.close_button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 0.58333rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	
	@media only screen and (max-width: 1080px) {
		width: 0.6rem;
		top: 0.6rem;
		transform: translateY(0);
	}
	
	svg {
		width: 100%;
		height: auto;
		
	}
	
}

.page__wrapper {
	min-height: 50vh;
	
	width: 100%;
	overflow: hidden;
}

.burger {
	display: none;
	font-size: 0;
	line-height: 0;
	
	
	@media only screen and (max-width: 768px) {
		display: block;
		width: 2.5rem;	
		grid-column: 4/5;
		grid-row: 1/2;
		margin-top: 0.3rem;
		margin-left: auto;
		position: relative;
		z-index: 999;
	}
	
	svg {
		width: 100%;
		height: auto;
		
		path,
		line {
			stroke: var(--headerColor);
			transition: 200ms ease-out;
		}
	}
	
	&.is-active {
		
		&:before {
			content: '';
			display: block;
			position: absolute;
			right: -0.3rem;
			top: -0.1rem;
			height: 2.5rem;
			width: 100%;
			/* background-color: yellow; */
		}
		
		svg {
			line:first-child {
				transform: rotate(45deg) translateX(25%) translateY(-66%);
			}
			line:last-child {
				transform: rotate(-45deg) translateX(-39%) translateY(254%);
			}
		}
	}
}

#header {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 999;
	--headerColor: var(--colorBrown);
	--topHeaderBackgroundColor: var(--colorFlieder);
	--topHeaderColor: var(--colorBrown);
	
	&.is-active {
		--headerColor: var(--colorBrown) !important;
	}
	
	.top__header {
		background-color: var(--topHeaderBackgroundColor);
		position: relative;
		z-index: 1000;
		
		
		.close_button {
			cursor: pointer;
			path {
				stroke: var(--topHeaderColor);
			}
		}
		
		.innerwrapper {
			min-height: var(--topHeaderHeight);
			padding: 0.55rem 0;
			
			position: relative;
			display: flex;
			align-items: center;
			

			
			@media only screen and (max-width: 768px) {
				padding: 0.5rem 0 0.5rem 0 !important;
				position: relative;
				line-height: 1.8;
				width: calc(100% - var(--sideSpacing) - var(--sideSpacing));
			}
			
			
			.text {
				display: flex;
				gap: 0 1.2rem;
				font-size: var(--fontSize16);
				color: var(--topHeaderColor);
				letter-spacing: 0.02em;
				padding-left: 1.3rem;
				align-items: center;
				line-height: 1;
				

				
				@media only screen and (max-width: 768px) {
					font-size: var(--fontSize14);
					padding-left: 0;
					display: flex;
					flex-direction: column;
					align-items: flex-start;
					gap: 0.3rem;
				}
				
				a {
					color: var(--topHeaderColor);
				}
				
				p {
					margin: 0;
					line-height: 1;
					
					
				}
			}
		}
	}
	
	.main__header {
		background-color: var(--colorBeige);
		color: var(--colorBrown);
		
		@media only screen and (max-width: 768px) {
			display: none;
			position: fixed;
			pointer-events: none;
			opacity: 0;
		}	
		
		.innerwrapper {
			display: flex;
			height: var(--mainHeaderHeight);
			align-items: center;

			.header__nav {
				width: 100%;

				
				ul {
					list-style-type: none;
					margin: 0;
					padding: 0;
					display: flex;
					justify-content: center;
					gap: 0 4.3em;
					font-family:"palast-variable";
					font-size: var(--fontSize20);
					letter-spacing: 0.02em;
					
					li {
						list-style-type: none;
						margin: 0;
						padding: 0;
						
						a {
							text-decoration: none;
							color: inherit;
							
							@media (hover: hover) {
							
								background-image: linear-gradient(currentColor, currentColor);
								background-position: left bottom;
								background-repeat: no-repeat;
								background-size: 0% 1.5px;
								transition: background-size 650ms cubic-bezier(.135,.75,.32,1);
								padding-bottom: 1.5px;
								
								&:hover {
									/* background-size: 100% 1px; */
									background-size: 70% 1.5px;
								}
							
							
							}
						}
					}

					
				}

				
			}
			
		}
	}
}

h2 {
	font-size: var(--fontSize65);
	margin: 0;
	font-family: "palast-variable", sans-serif;
	font-variation-settings: "opsz" 160, "wght" 400;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.12;
	color: var(--colorBrown);
	text-transform: uppercase;
	
	@media only screen and (max-width: 768px) {
		font-size: var(--fontSize45);	
	}
}

.logo {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 100%;
	
	svg {
		width: 100%;
		height: auto;
		
		*[fill="#fff"]{
			fill: var(--headerColor);
		}
	}
	
	.only__desktop {
		display: block;
		
		@media only screen and (max-width: 768px) {
			display: none;	
		}
		
	}
	
	.only__mobile {
		display: none;
		
		@media only screen and (max-width: 768px) {
			display: block;	
		}
		
	}
}

section {
	overflow-x: clip;
}

.section__start {
	padding-top: calc(var(--topHeaderHeight) + var(--mainHeaderHeight));
	background-color: var(--colorBeige);
	padding-bottom:2.5rem;
	
	@media only screen and (max-width: 768px) {
		padding-top: calc(var(--topHeaderHeight) + 0.5rem);
		padding-bottom: 2rem;
	}

	> .innerwrapper {
		position: relative;
		
		@media only screen and (max-width: 768px) {
			width: calc(100% - calc(var(--sideSpacing) * 0.5) - calc(var(--sideSpacing) * 0.5));	
			display: grid;
			grid-template-columns: 100%;
			grid-template-rows: 1fr auto;
		}
	}

	.image,
	.media {
		position: relative;
		inset: 0;
		z-index: 0;
		border-radius: var(--borderRadius);
		overflow: clip;
		
		@media only screen and (max-width: 768px) {
			grid-column: 1/2;
			grid-row: 1/3;	
			
			&:before {
				content: '';
				display: block;
				position: absolute;
				inset: 0;
				background: linear-gradient(to bottom, rgba(00,00,00,0) 30%, rgba(00,00,00,0.5) 100%);
			}
		}


		img,
		video {
			display: block;
			width: 100%;
			height: auto;
			aspect-ratio: 1268/687;
			object-fit: cover;
			
			@media only screen and (max-width: 768px) {
				aspect-ratio: 404/625;
			}
		}
	}

	.logo {
		position: absolute;
		z-index: 1;
		top: 1.7rem;
		left: 50%;
		width: 71%;
		transform: translateX(-50%);
		
		@media only screen and (max-width: 768px) {
			position: absolute;
			z-index: 1;
			top: 0.6rem;
			left: 0.8rem;
			width: 6.1rem;
			transform: translateX(0%);
		}

		svg {
			width: 100%;
			height: auto;
		}
	}

	h1 {
		position: absolute;
		z-index: 1;
		left: 1.8rem;
		bottom: 1.55rem;
		margin: 0;
		color: var(--colorBeige) !important;
		font-family: "palast-variable", serif;
		font-size: var(--fontSize85);
		display: flex;
		flex-direction: column;
		font-weight: 400;
		line-height: 1;
		letter-spacing: 0.02em;
		text-transform: uppercase;
		
		@media only screen and (max-width: 768px) {
			font-size: var(--fontSize45);
			position: relative;
			grid-column: 1 / 2;
			grid-row: 1 / 2;
			left: auto;
			bottom: auto;
			margin-inline: auto;
			margin-top: auto;
			margin-bottom: 2rem;
		}

		span,
		em {
			display: block;
			
			&:nth-child(1){
				margin-left: 1em;
			}
			
			&:nth-child(3){
				margin-left: 1.35em;
				
			}
		}
	}
	
	.content {
		position: absolute;
		right: 0;
		bottom: 0;
		z-index: 3;
		background-color: var(--colorBeige);
		color: var(--colorBrown);
		font-size: var(--fontSize15);
		line-height: 1.533;
		max-width: 28em;
		padding: 0.75em 1.2em 0 1.2em;
		letter-spacing: 0.02em;
		border-radius: calc(var(--borderRadius) * 0.75) 0 0 0;
		
		@media only screen and (max-width: 768px) {
			position: relative;
			right: auto;
			bottom: auto;
			grid-column: 1 / 2;
			grid-row: 2 / 3;
			margin-left: auto;
			width: calc(100% - 3.3rem);
			margin-bottom: -1.8em;
			padding-right: 1em;
			border-radius: calc(var(--borderRadius) * 1) 0 0 0;
		}
		
		strong {
			font-weight: 700;
		}
		
		h2 {
			font-size: inherit;
			line-height: inherit;
			font-weight: 400;
			font-family: "elza", sans-serif;
			text-transform: none;
			letter-spacing: 0.02em;
		}
		
		p:first-child,
		h2:first-child {
			margin-top: 0;
		}
		
		p:last-child,
		h2:last-child {
			margin-bottom: 0;
		}
	}

}


.section__box-with-columns {
	background: linear-gradient(
		to bottom,
		var(--colorBeige) 0%,
		var(--colorBeige) 58%,
		var(--colorBeigeLight) 58%,
		var(--colorBeigeLight) 100%
	);
	color: var(--colorBrown);
	
	@media only screen and (max-width: 768px) {
		background: linear-gradient(
			to bottom,
			var(--colorBeige) 0%,
			var(--colorBeige) 50%,
			var(--colorBeigeLight) 50%,
			var(--colorBeigeLight) 100%
		);
	}

	.innerwrapper {
		padding-inline: var(--sideSpacingInner);
		
		@media only screen and (max-width: 768px) {
			padding-inline: 0;
		}
		
		.column__wrapper {
			border-radius: var(--borderRadius);
			background-color: var(--colorTurquoise);
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 4.6rem;
			padding: 2.4rem 3.3rem 2.6rem 3.3rem;
			overflow: hidden;
			
			@media only screen and (max-width: 768px) {
				grid-template-columns: 100%;
				padding: 1.6rem 2.3rem 1.6rem 2.3rem;	
				gap: 1.3rem;
			}

			.column {
				min-width: 0;
				
				width: 100%;
				line-height: 1.47;
				letter-spacing: 0.02em;
				
				@media only screen and (max-width: 768px) {
					font-size: var(--fontSize15);	
					line-height: 1.5;
				}
				
				p {
					font-size: var(--fontSize17);
				}
				
				p:last-child {
					margin-bottom: 0;
				}
			}

			.icon {
				width: 0.92rem;
				height: auto;
				aspect-ratio: 1/1;
				margin-bottom: 0.6rem;
				font-size: 0;
				line-height: 0;
				
				@media only screen and (max-width: 768px) {
					margin-bottom: 0.3rem;
				}

				svg {
					display: block;
					width: 100%;
					height: 100%;
					object-fit: contain;
					overflow: visible;
				}
			}

			h3 {
				max-width: 7em;
				margin: 0 0 0.6rem;
				font-family: "palast-variable", serif;
				font-size: var(--fontSize30);
				font-weight: 400;
				line-height: 1;
				letter-spacing: -0.03em;
				
				@media only screen and (max-width: 768px) {
					font-size: var(--fontSize28);	
					max-width: 7.5em;
					line-height: 1.3;
				}
			}

		}
	}
}


/* Slider */

.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}
.slick-list {
	position: relative;
	overflow: hidden;
	display: block;
	margin: 0;
	padding: 0;

	&:focus {
		outline: none;
	}

	&.dragging {
		cursor: pointer;
		cursor: hand;
	}
}
.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	left: 0;
	top: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;

	&:before,
	&:after {
		content: "";
		display: table;
	}

	&:after {
		clear: both;
	}

	.slick-loading & {
		visibility: hidden;
	}
}
.slick-slide {
	float: left;
	height: 100%;
	min-height: 1px;
	[dir="rtl"] & {
		float: right;
	}
	img {
		display: block;
	}
	&.slick-loading img {
		display: none;
	}


	&.dragging img {
		pointer-events: none;
	}

	.slick-initialized & {
		display: block;
	}

	.slick-loading & {
		visibility: hidden;
	}

	.slick-vertical & {
		display: block;
		height: auto;
		border: 1px solid transparent;
	}
}
.slick-arrow.slick-hidden {
	display: none;
}


.slide-dots,
.slick-dots {
	--size: 0.5rem;
	--dotColor: var(--colorGreyDark);
	list-style-type: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0 0.43rem;
	
	
	li {
		list-style-type: none;
		margin: 0;
		padding: 0;
		
		button {
			width: var(--size);
			height: var(--size);
			background-color: transparent;
			cursor: pointer;
			border: 0;
			margin: 0;
			padding: 0;
			border-radius: 50%;
			font-size: 0;
			line-height: 0;
			text-indent: -99999px;
			border: 1px solid var(--color);
		}
		
		&.current {
			button {
				background-color: var(--color);
			}
		}
	}
}

.slider__buttons {
	display: flex;
	flex-direction: column;
	gap: 0.4rem 0;
}

.slider__button {
	font-size: 0;
	cursor: pointer;
	display: block;
	width: 2.3rem;
	line-height: 0;
	position: relative;
	background-color: var(--colorTurquoise);
	border-radius: 1rem;
	overflow: hidden;
	transition: 200ms ease-out;
	
	> svg {
		path {
			stroke: var(--colorBrown);
		}
	}
	
	svg {
		width: 100%;
		height: auto;
		
		rect {
			transition: 200ms ease-out;
			opacity: 0;
		}
		
		path {
			transition: 200ms ease-out;
		}
	}
	
	> span {
		z-index: 5;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background-color: var(--colorFlieder);
		transform: translateY(calc(100% + 2px));
		transition: 500ms cubic-bezier(.73,.29,0,1);
		
		> svg {
			transform: translateY(50%);
			transition: 500ms cubic-bezier(.73,.29,0,1);
			
			path {
				stroke: var(--colorBrown);
			}
		}
		
		
	}
	
	@media (hover: hover) {
		&:hover {
			
			> span {
				transform: translateY(0%);
				
				> svg {
					transform: translateY(0%);
				}
			}
			

			
		}
	}
}




.section__gallery-v2 {
	overflow: hidden;
	background-color: var(--colorBeigeLight);
	
	.innerwrapper {
		text-align: left;
		display: flex;
		padding-top: 3.7rem;
		padding-bottom: 4.2rem;
		flex-direction: column;
		gap: 2.3rem 0;
		
		@media only screen and (max-width: 768px) {
			padding-top: 2rem;
			gap: 2rem 0;
			padding-bottom: 2.2rem;
		}
		
		.headline {
			padding-left: 9.2rem;
			
			@media only screen and (max-width: 768px) {
				padding-left: 0;
			}	
			
			h2 {
				text-transform: uppercase;
				position: relative;
				font-size: var(--fontSize45);
				margin: 0;
				font-family: "palast-variable", sans-serif;
				font-variation-settings: "opsz" 160, "wght" 400;
				font-weight: 400;
				letter-spacing: 0.04em;
				line-height: 1.12;
				color: var(--colorBrown);
				opacity: 0.7;
				
				@media only screen and (max-width: 768px) {
					grid-column: unset;
					max-width: none;	
					padding-left: 2.1rem;
					font-size: var(--fontSize25);
					line-height: 1.2;
				}
			
				
				&:before {
					content: "";
					display: block;
					position: absolute;
					left: -7.3rem;
					width: 5.6rem;
					top: 1.2rem;
					height: 1px;
					background-color: var(--colorBrown);
					
					@media only screen and (max-width: 768px) {
						left: 0;
						width: 1.6rem;
						top: 0.6rem;	
					}
				
				}
			}
		}
		
		.main__slider__container {
			position: relative;
			width: 100%;
			font-size: 0;
			line-height: 0;
			
			@media only screen and (max-width: 768px) {
				width: calc(100% + var(--sideSpacing) + var(--sideSpacing) + 1rem);
				margin-inline: calc(calc(var(--sideSpacing) + 0.5rem) * -1);
			}
			
			.slider__button {
				position: absolute;
				z-index: 50;
				top: 50%;
				transform: translateY(-50%);
				z-index: 20;
				
				&.slide-prev {
					left: 4.7rem;
					
					@media only screen and (max-width: 768px) {
						left: 1.2rem;
					}
				}
				
				&.slide-next {
					right: 4.7rem;
					
					@media only screen and (max-width: 768px) {
						right: 1.2rem;
					}
				}
			}
			
			.main__slider {
				width: calc(100vw + 0.4rem + 0.4rem);
				margin-left: calc(calc(var(--sideSpacing) + 0.4rem) * -1);
				margin-right: calc(calc(var(--sideSpacing) + 0.4rem) * -1);

				.slick-track {
					display: flex;
					align-items: center;
				}

				@media only screen and (max-width: 768px) {
					width: calc(100vw + var(--sideSpacing) + var(--sideSpacing));
					margin-left: calc(calc(var(--sideSpacing)) * -1);
					margin-right: calc(calc(var(--sideSpacing)) * -1);	
				}
				
				.single__slide {
					font-size: 0;
					line-height: 0;
					width: 42vw !important;
					margin-inline: -1.1vw;
					flex-shrink: 0;
					transform: scale(0.7);
					transform-origin: center;
					transition: transform 500ms cubic-bezier(.73, .29, 0, 1);
					
					&.is-active-slide {
						z-index: 2;
						transform: scale(1.09);
					}
					
					@media only screen and (max-width: 768px) {
						width: 74vw !important;
						margin-inline: -3.5vw;
						padding-top: 0 !important;
						transform: scale(0.76);

						&.is-active-slide {
							transform: scale(1);
						}
					}
					
					img {
						width: 100%;
						height: 40vw;
						object-fit: cover;
						border-radius: calc(var(--borderRadius) * 0.75);
						transition: height 500ms cubic-bezier(.73, .29, 0, 1);
					}

					&.is-active-slide img {
						height: 34vw;
					}

					
					@media only screen and (max-width: 768px) {
						width: 74vw !important;
						padding-left: 0;
						padding-right: 0;	
						
						img {
							height: auto !important;
							aspect-ratio: 428/550 !important;
							object-fit: cover;
						}
					}
					
					
					
				}
			}
		}
		
		
	}
}

.section__course {
	background-color: var(--colorBeigeLight);
	
	.section__course-wrapper {
		background-color: var(--colorBeige);
		border-radius: calc(var(--borderRadius) * 2.5) calc(var(--borderRadius) * 2.5) 0 0;

		.course__header {
			@media only screen and (max-width: 768px) {
				display: grid;
				grid-template-columns: 100%;
				gap: 1rem;
			}

			.illustration {
				@media only screen and (max-width: 768px) {
					position: absolute;
					right: -1.5rem;
					top: 1rem;
					width: 6.5rem;
					margin: 0;
				}
			}

			.content {
				@media only screen and (max-width: 768px) {
					display: grid;
					grid-template-columns: 100%;
					gap: 1rem;
				}

				.column__wrapper {
					@media only screen and (max-width: 768px) {
						display: grid;
						grid-template-columns: 100%;
						gap: 1rem;
					}
				}
			}
		}
	}
	
	.innerwrapper {
		padding-top: 4.6rem;
		padding-bottom: 4.2rem;
		
		@media only screen and (max-width: 768px) {
			padding-top: 1.4rem;	
			padding-bottom: 1.9rem;
		}
		
		.course__top-area {
			display: grid;
			grid-template-columns: 1fr 14rem;
			gap: 3rem 0;
			grid-template-rows: auto 1fr;
			
			@media only screen and (max-width: 768px) {
				grid-template-columns: 100%;	
				gap: 2rem;
			}
			
			.illustration {
				font-size: 0;
				line-height: 0;
				display: block;
				grid-column: 2/3;
				grid-row: 1/3;
				margin-right: calc(calc(var(--sideSpacing) + 2.4rem) * -1);
				width: calc(100% + calc(var(--sideSpacing) + 2.4rem));
				margin-top: -5.5rem;
				margin-bottom: -5.5rem;
				
				@media only screen and (max-width: 768px) {
					grid-column: unset;
					grid-row: unset;
					margin-right: -0.9rem;
					width: 73%;
					margin-left: auto;
					margin-top: -1.6rem;
					margin-bottom: -1.8rem;
				}
				
				svg {
					width: 100%;
					height: auto;
					
					
				}
				
				.only__desktop {
					display: block;
					
					@media only screen and (max-width: 768px) {
						display: none;	
					}
					
				}
				
				.only__mobile {
					display: none;
					
					@media only screen and (max-width: 768px) {
						display: block;	
					}
					
				}
			}
			
			h2 {
				margin: 0;
				grid-column: 1/2;
				grid-row: 1/2;
				
				@media only screen and (max-width: 768px) {
					font-size: var(--fontSize45);
					grid-column: unset;
					grid-row: unset;	
				}
			}
			
			.content {
				grid-column: 1/2;
				grid-row: 2/3;
				
				@media only screen and (max-width: 768px) {
					grid-column: unset;
					grid-row: unset;	
				}
				
				.topline {
					font-size: var(--fontSize14);
					text-transform: uppercase;
					display: block;
					letter-spacing: 0.15em;
					opacity: 0.7;
					margin-bottom: 1.1em;
				}
				
				h3 {
					margin: 0;
					opacity: 0.7;
					font-size: var(--fontSize30);
					margin: 0;
					font-family: "palast-variable", sans-serif;
					font-variation-settings: "opsz" 160, "wght" 400;
					font-weight: 400;
					letter-spacing: 0.04em;
					line-height: 1.133;
					color: var(--colorBrown);
				}
				
				.column__wrapper {
					display: grid;
					grid-template-columns: 1fr 20.4em;
					font-size: var(--fontSize17);
					line-height: 1.470;
					letter-spacing: 0.025em;
					margin-top: 1em;
					gap: 0 4em;
					
					@media only screen and (max-width: 768px) {
						grid-template-columns: 100%;
						gap: 0.5lh;	
					}
					
					.column {
						p:first-child {
							margin-top: 0;
						}
						
						p:last-child {
							margin-bottom: 0;
						}
					}
				}
			}
		}
		
		.course__main-wrapper {
			display: grid;
			grid-template-columns: auto 1fr;
			gap: 0 2rem;
			padding-top: 1.5rem;
			align-items: start;
			
			@media only screen and (max-width: 768px) {
				grid-template-columns: 100%;
				gap: 1rem;
				padding-top: 0;
				margin-top: 1rem;
				position: relative;
			}
			
			.course__sidebar {
				width: 17.3rem;
				
				padding-top: 2rem;
				
				@media only screen and (max-width: 768px) {
					width: 100%;
					padding-top: 0;
					position: absolute !important;
					transform: none !important;
				}
				
				.single__course-infobox {
					background-color: var(--colorWhite);
					border-radius: calc(var(--borderRadius) * 0.5);
					width: 100%;
					min-height: 14rem;
					box-shadow: 0 0.1667rem 0.1667rem 0 rgb(0 0 0 / 35%);
					padding: 0.8rem 0.8rem 0.5rem 0.8rem;
					
					@media only screen and (max-width: 768px) {
						opacity: 0;	
					}
					
					
					.image {
						font-size: 0;
						line-height: 0;
						margin-bottom: 0.4rem;
						
						img {
							width: 100%;
							height: auto;
							aspect-ratio: 374/193;
							object-fit: cover;
						}
					}
					
					.content {
						font-size: var(--fontSize17);
						line-height: 1.470;
						
						p:last-child {
							margin-bottom: 0;
						}
						
						h3 {
							display: block;
							font-size: var(--fontSize24);
							margin: 0;
							font-family: "palast-variable", sans-serif;
							font-variation-settings: "opsz" 160, "wght" 400;
							font-weight: 400;
							letter-spacing: 0.04em;
							line-height: 1.133;
							color: var(--colorBrown);
							
							padding-bottom: 0.6em;
							border-bottom: 1px solid var(--colorBrown);
							
							+ p {
								margin-top: 0.5em;
							}
						}
					}
				}
			}
			
			.course__map-holder {
				width: 100%;
				padding-right: 1.5rem;

				@media only screen and (max-width: 768px) {
					width: 100%;
					height: auto;
					padding-right: 0;
				}
				
				.course__map {
					@media only screen and (max-width: 768px) {
						width: 100%;
						height: auto;
						padding-right: 0;
					}

					.map {
						font-size: 0;
						line-height: 0;
						width: 100%;

						@media only screen and (max-width: 768px) {
							width: 100%;
							height: auto;
							padding-right: 0;
						}
						
						img {
							width: 100%;
							height: auto;

							@media only screen and (max-width: 768px) {
								width: 100%;
								height: auto;
								padding-right: 0;
							}
						}
					}
				}
			}
		}
	}
}

.section__two-columns-boxed {
	background: linear-gradient(
		to bottom,
		var(--colorBeige) 0%,
		var(--colorBeige) 44%,
		var(--colorBeigeLight) 44%,
		var(--colorBeigeLight) 100%
	);
	
	.innerwrapper {
		

		.box__wrapper {
			background-color: var(--colorBrown);
			padding: 2.6rem 2.4rem 2rem 2.4rem;
			border-radius: var(--borderRadius);
			display: grid;
			grid-template-columns: 1fr auto;
			
			@media only screen and (max-width: 768px) {
				grid-template-columns: 1fr auto;
				padding: 1.6rem 1.5rem 2.3rem 1.5rem;
			}
			
			h2 {
				color: var(--colorBeige);
				font-size: var(--fontSize35);
				display: inline-flex;
				flex-direction: column;
				
				@media only screen and (max-width: 768px) {
					font-size: var(--fontSize25);	
					line-height: 1.2;
				}
				
				span:nth-child(2){
					margin-left: 2em;
				}
			}
			
			.illustration {
				font-size: 0;
				line-height: 0;
				width: 5.8rem;
				margin-top: -1rem;
				margin-right: -0.9rem;

				@media only screen and (max-width: 768px) {
					width: 3.4rem;
					margin: 0rem -0.4rem 0 0;
				}
				
				svg {
					width: 100%;
					height: auto;
				}
			}
			
			.column__wrapper {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 6.2rem;
				padding: 0;
				grid-column: span 2;
				margin-top: 0.6rem;
				
				@media only screen and (max-width: 768px) {
					grid-template-columns: 100%;
					grid-column: span 2;
					gap: 1.5rem;
					margin-top: 1.7rem;
				}
				
			
				.column {
					min-width: 0;
					font-size: var(--fontSize24);
					width: 100%;
					line-height: 1.4;
					letter-spacing: 0.005em;
					color: var(--colorBeige);
					
					@media only screen and (max-width: 768px) {
						font-size: var(--fontSize15);	
						line-height: 1.5;
					}
					
					p {
						margin-block: 0.8em;
					}
					
					p:last-child {
						margin-bottom: 0;
					}
					
					.read_more {
						display: none;
						
						p:first-child {
							margin-top: 0;
						}
					}
					
					.read_more-button {
						color: var(--colorBeige);
					}
					
					.icon {
						width: 1.7rem;
						height: auto;
						aspect-ratio: 1 / 0.9;
						margin-bottom: 1rem;
						font-size: 0;
						line-height: 0;
						
						@media only screen and (max-width: 768px) {
							margin-bottom: 0.5rem;
							width: 1rem;
						}
					
						svg {
							display: block;
							width: 100%;
							height: 100%;
							object-fit: contain;
							overflow: visible;
						}
					}
					
					h3 {
						margin: 0;
						text-transform: uppercase;
						font-size: var(--fontSize24);
						font-weight: 300;
						line-height: 1.4;
						letter-spacing: 0.15em;
						max-width: 15em;
						
						@media only screen and (max-width: 768px) {
							font-size: var(--fontSize14);
						}	
						
						+ p {
							margin-top: 0.4em;
							
							@media only screen and (max-width: 768px) {
								margin-top: 0.9em;
							}
						}
						

					}
				}
			
				
			
			}
		}
	}
}

.slider__count {
	color: var(--colorBrown);
	opacity: 0.7;
	font-size: var(--fontSize45);
	font-family: "palast-variable", sans-serif;
	font-variation-settings: "opsz" 160, "wght" 400;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1;
	
	.slider__counter {
		display: grid;
		grid-template-columns: 1.7em 1.1em 1.7em;
		text-align: center;
		//margin-left: -0.5rem;
	}
}

.section__gallery-v1 {
	background-color: var(--colorBeigeLight);
	
	.innerwrapper {
		padding-top: 3rem;
		padding-bottom: 2.5rem;
		
		@media only screen and (max-width: 768px) {
			padding-bottom: 1rem;
			padding-top: 2rem;
		}
		
		.headline {
			display: flex;
			justify-content: center;
			
			h2 {
				text-transform: uppercase;
				position: relative;
				font-size: var(--fontSize45);
				margin: 0;
				font-family: "palast-variable", sans-serif;
				font-variation-settings: "opsz" 160, "wght" 400;
				font-weight: 400;
				letter-spacing: 0.04em;
				line-height: 1.12;
				color: var(--colorBrown);
				opacity: 0.7;
				display: inline-flex;
				flex-direction: column;
				
				@media only screen and (max-width: 768px) {
					font-size: var(--fontSize25);	
				}
				
				> span {
					display: flex;
					gap: 0 0.1em;
					align-items: center;
					
					&:first-child {
						margin-left: 0.8em;
					}
					
					&:nth-child(2){
						margin-left: 0.5em;
					}
					
					&:nth-child(3){
						margin-left: 3em;
					}
					
					svg {
						width: 1em;
					}
				}
			}
		}

		
		.main__slider__container {
			width: calc(100% - 24.3rem);
			margin: 0 auto;
			margin-top: 2rem;
			
			@media only screen and (max-width: 768px) {
				width: 100%;
				font-size: 0;
				line-height: 0;	
			}
			
			.main__slider {
				width: 100%;

				@media only screen and (max-width: 768px) {
					max-width: 100%;
					overflow: hidden;
				}
				
				.single__slide {
					width: 100%;
					font-size: 0;
					line-height: 0;
					
					img {
						width: 100%;
						height: auto;
						aspect-ratio: 800/440;
						object-fit: cover;
						
						@media only screen and (max-width: 768px) {
							aspect-ratio: 16/8.8;
							object-fit: cover;
						}
					}
				}
				
			}
		}
		
		.slider__nav-wrapper {
			display: grid;
			grid-template-columns: 12rem 1fr 29.25rem;
			margin-top: 2.3rem;
			align-items: center;
			font-size: 0;
			line-height: 0;
			
			@media only screen and (max-width: 768px) {
				margin-top: 0.8rem;
				grid-template-columns: auto 1fr;
				gap: 1.7rem 0;
			}
			
			.slider__buttons {
				margin-left: 2.3rem;
				
				margin-top: -0.2rem;
				
				@media only screen and (max-width: 768px) {
					grid-column: 1/2;
					grid-row: 2/3;		
					margin-left: 0;
					margin-top: 0;
				}
			}
			
			.slider__count {
				
				@media only screen and (max-width: 768px) {
					grid-column: 2/3;
					grid-row: 2/3;		
					margin-left: auto;
					font-size: var(--fontSize35);
				}

				.slider__counter {
					margin-left: -0.5rem;
				}
			}
			
			.nav__slider__container {
				width: calc(100% + var(--sideSpacing));
				overflow: hidden;
				
				@media only screen and (max-width: 768px) {
					grid-column: 1/3;
					grid-row: 1/2;	
					width: calc(100% + var(--sideSpacing) + 0.75rem);
					margin-left: -0.25rem;
				}
				
				.nav__slider {
					width: calc(100% - var(--sideSpacing) - 2rem);
					
					@media only screen and (max-width: 768px) {
						width: calc(100% - var(--sideSpacing) - 0.5rem);
						overflow: visible !important;
					}
					
					.slick-list {
						overflow: visible;
					}
					
					.single__slide {
						width: 100%;
						font-size: 0;
						line-height: 0;
						padding: 0 0.25rem;
						cursor: pointer;
						
						img {
							width: 100%;
							height: auto;
							border-radius: 0.25rem;
							aspect-ratio: 3/2;
							object-fit: cover;
						}
						
						
					}
					
					.slick-current .single__slide {
						
						
						img {
							border: 2px solid var(--colorGreyLight);
						}
					}
				}
			}
		}
	}
}

.cta__button,
.cta-button,
#BorlabsCookieBox ._brlbs-btn._brlbs-btn-accept-all,
#BorlabsCookieBox ._brlbs-btn#CookiePrefSave,
#BorlabsCookieBox .brlbs-btn-accept-all {
	position: relative;
	font-family: "palast-variable", sans-serif;
	font-variation-settings: "opsz" 160, "wght" 400;
	font-size: var(--fontSize24);
	//background-color: rgba(#FFFFFF,0.75);
	background-color: var(--colorTurquoise);
	color: var(--colorGreyDark);
	padding: 0.24em 1.5em 0.32em 1.5em;
	border-radius: 1em;
	text-decoration: none;
	overflow: clip;
	border: 0;
	backface-visibility: hidden;
	cursor: pointer;
	display: inline-block;
	-webkit-transform:translate3d(0,0,0);
	
	@media only screen and (max-width: 768px) {
		font-size: var(--fontSize20);
		//padding: 0.28em 1em;
		padding: 0.16em 1em 0.32em 1em;
	}
	
	&:has(>svg){
		padding-inline: 1em;
		display: inline-flex;
		align-items: center;
		gap: 0 0.5em;
		text-align: left;
		
		&:after {
			text-align: left;
			padding-inline: 1em;
			justify-content: start;
		}
		
		svg {
			width: 1em;
			height: auto;
			position: relative;
			z-index: 5;
		}
	}

	
	&:before {
		content: '';
		z-index: 5;
		position: absolute;
		left: -1px;
		top: -1px;
		width: calc(100% + 2px);
		height: calc(100% + 2px);
		background-color: var(--colorFlieder);
		transform: translate3d(0,0,0) translateY(calc(100% + 2px));
		transition: 500ms cubic-bezier(.73,.29,0,1);
		backface-visibility: hidden;
	}
	
	&:after {
		content: attr(data-title);
		z-index: 6;
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		color: var(--colorBrown);
		opacity: 0;
		transition: all 800ms cubic-bezier(.73,.29,0,1);
		transform: translate3d(0,0,0) translateY(60%);
		padding: 0.24em 1.5em 0.32em 1.5em;
		backface-visibility: hidden;

	}
	
	
	> span {
		position: relative;
		z-index: 4;
		transition: all 800ms cubic-bezier(.73,.29,0,1);
		display: inline-block;
		backface-visibility: hidden;
	}
	
	@media (hover: hover) {
		transform: translate3d(0,0,0);
		&:hover {
			> span {
				transform: translateY(-60%);
				opacity: 0;
			}
			&:before {
				transform: translateY(0%);
			}
			&:after {
				transform: translateY(0%);
				opacity: 1;
			}
		}
	}
	
}



.section__text-column_text-teaser {
	background-color: var(--colorBeigeLight);
	
	.innerwrapper {
		
		padding-bottom: 2.7rem;
		display: grid;
		grid-template-columns: 15rem 1fr;
		gap: 0 4.5rem;
		align-items: start;
		
		@media only screen and (max-width: 768px) {
			grid-template-columns: 100%;
			gap: 0;
			padding-top: 1.2rem;
			padding-bottom: 3.4rem;
			
			p:last-child {
				margin-bottom: 0;
			}
		}
		
		.only__desktop {
			display: block;
			
			@media only screen and (max-width: 768px) {
				display: none;	
			}
			
		}
		
		.only__mobile {
			display: none;
			
			@media only screen and (max-width: 768px) {
				display: block;
				
				&:has(.cta__button){
					display: flex;
					justify-content: center;
					margin-top: 3rem;
				
					.cta__button {
						font-size: var(--fontSize24);
					}
				}
			}
			
		}
		
		.content__column {
			letter-spacing: 0.015em;
			font-weight: 300;
			padding-top: 2.2rem;
			
			@media only screen and (max-width: 768px) {
				font-size: var(--fontSize22);
				padding-top: 0;
			}
			
			h2 {
				text-transform: uppercase;
				margin-bottom: 1.05em;
				
				@media only screen and (max-width: 768px) {
					font-size: var(--fontSize45);	
					margin-bottom: 1.15em;
				}
				
				+ p {
					margin-top: 0;
				}
			}
			
			p {
				margin: 0.6em 0;
				
				&:has(.cta__button){
					margin-top: 2em;
				}
			}
		}
		
		.teaser__wrapper {
			margin-top: 2.2rem;
			width: calc(100% - 6rem);
			padding-top: 5.5rem;
			display: flex;
			flex-direction: column;
			gap: 3.2rem 0;

			@media only screen and (max-width: 768px) {
				width: 100%;
				padding-top: 0;
				gap: 2.45rem;
				margin-top: 1.2rem;
			}

			.text__teaser {
				
				color: inherit;
				text-decoration: none;
				font-size: var(--fontSize17);
				display: grid;
				grid-template-columns: 1fr auto;
				letter-spacing: 0.02em;

				@media only screen and (max-width: 768px) {
					grid-template-columns: minmax(0, 1fr) auto;
					gap: 0.2rem 0.5rem;
				}
				
				h3 {
					margin: 0;
					font-weight: 400;
					font-family: "palast-variable", sans-serif;
					font-variation-settings: "opsz" 160, "wght" 400;
					font-size: var(--fontSize30);
					letter-spacing: 0.05em;
					grid-column: span 2;
					margin-bottom: 0.3em;
					
					@media only screen and (max-width: 768px) {
						font-size: var(--fontSize28);	
						margin-bottom: 0;
						display: flex;
						flex-direction: column;
						letter-spacing: 0.02em;
					}
					
					em {
						font-style: normal;
						font-size: 0.66em;
						letter-spacing: 0.02em;
						
						@media only screen and (max-width: 768px) {
							margin-bottom: 0.5em;
						}
					}
				}
				
				.content {
					max-width: 23em;
					
					p {
						&:first-child {
							margin-top: 0;
						}
						
						&:last-child {
							margin-bottom: 0;
						}
					}
				}
				
				.price {
					font-weight: 400;
					font-family: "palast-variable", sans-serif;
					font-variation-settings: "opsz" 160, "wght" 400;
					font-size: var(--fontSize30);
					letter-spacing: 0.05em;
					line-height: 1;
					margin-top: -0.35em;
					
					@media only screen and (max-width: 768px) {
						font-size: var(--fontSize17);
						margin-top: 0;	
					}
				}
				

			}
		}
	}
}

.teaser__default .image,
.teaser__big .image,
.teaser__small .image,
.teaser__sideways .image,
.section__image-fixed-with-text .innerwrapper .single__teaser .image {
	
	overflow: hidden;
	position: relative;
	transition: 200ms ease-out;
	font-size: 0;
	line-height: 0;
	
	img {
		width: 100%;
		height: auto;
		transition: 200ms ease-out;
		
		@media only screen and (max-width: 768px) {
			border-radius: 0.5rem;	
		}
	}
	
	&:before {
		content: '';
		transition: 200ms ease-out;
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: 1;
		opacity: 0;
		background-color: var(--colorGreyDark);
		mix-blend-mode: multiply;
		
		@media only screen and (max-width: 768px) {
			border-radius: 0.5rem;	
		}
	}
}

.teaser__sideways {
	display: grid;
	grid-template-columns: 11.3rem 1fr;
	color: inherit;
	text-decoration: none;
	text-align: left;
	gap: 2.2rem 0.8rem;
	position: relative;
	align-items: end;
	grid-template-rows: 1fr auto;
	
	@media only screen and (max-width: 768px) {
		grid-template-columns: 100%;	
		gap: 0 0;
		width: 11rem;
		flex-shrink: 0;
		flex-grow: 0;
	}
	
	
	.image {
		grid-column: 1/2;
		grid-row: 1/3;
		
		img {
			aspect-ratio: 270/350;
			object-fit: cover;
		}
		
		@media only screen and (max-width: 768px) {
			grid-column: unset;
			grid-row: unset;	
		}
		
	}
	
	.content {
		text-align: left;
		margin-top: 0.8rem;
		font-size: var(--fontSize17);
		line-height: 1.470;
		grid-column: 2/3;
		grid-row: 1/2;
		
		@media only screen and (max-width: 768px) {
			grid-column: unset;
			grid-row: unset;	
			margin-top: 0;
			font-size: var(--fontSize15);
			margin-top: 1rem;
		}
		
		h3 {
			margin: 0;
			font-weight: 400;
			font-family: "palast-variable", sans-serif;
			font-variation-settings: "opsz" 160, "wght" 400;
			font-size: var(--fontSize30);
			letter-spacing: 0.05em;
			
			@media only screen and (max-width: 768px) {
				font-size: var(--fontSize28);	
				letter-spacing: 0.03em;
			}
		}
		
		p {
			margin: 0.7em 0;
			max-width: 13em;
			
			&:last-child {
				margin-bottom: 0;
			}
			
			@media only screen and (max-width: 768px) {
				max-width: none;
				
				&:last-child {
					margin-bottom: 0em;
				}	
			}
		}
	}
	
	.arrow__link__big {
		margin-left: auto;
		grid-column: 2/3;
		grid-row: 2/3;
		margin-bottom: -0.8em;
		margin-right: 2.5em;
		
		@media only screen and (max-width: 768px) {
			grid-column: unset;
			grid-row: unset;	
			margin-right: 0;
			margin-bottom: 0;
			margin-top: 0.5rem;
		}
	}
	
	.image {
		border-radius: 0.5rem;
		
		img {
			border-radius: 0.5rem;
		}
		
		&:before {
			border-radius: 0.5rem;
		}
	}
	
	@media (hover: hover) {
		&:hover {
			.image {
				border-radius: 0.5rem;
				
				img {
					border-radius: 0.5rem;
				}
				
				&:before {
					opacity: 0.3;
					border-radius: 0.5rem;
				}
			}
		}	
	}
	
}

.arrow__link__big {
	font-size: var(--fontSize14);
	text-transform: uppercase;
	line-height: 1.2;
	letter-spacing: 0.15em;
	text-decoration: none;
	color: inherit;
	align-items: center;
	display: flex;
	gap: 0 1em;
	
	@media only screen and (max-width: 768px) {
		max-width: 17em;
		align-items: flex-start;
		
	}
	
	.link__text {
		transition: 200ms ease-out;
		
		
	}
	
	.arrow__inner {
		width: 1.1rem;
		font-size: 0;
		line-height: 0;
		overflow: hidden;
		transform: translateY(-0.1rem);
		flex-shrink: 0;
		
		@media only screen and (max-width: 768px) {
			transform: translateY(-0.05rem);
		}

		
		svg {
			width: 100%;
			height: auto;
			transition: 200ms ease-out;
			clip-path: inset(0 0 0 0);
			
			path {
				stroke: currentColor;
			}
		}
	}
	

	
}



.section__two-sideway-teaser {
	background-color: var(--colorBeigeLight);


	.innerwrapper {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 2.5rem calc(var(--sideSpacingInner) * 1) 4.3rem calc(var(--sideSpacingInner) * 1);
		
		@media only screen and (max-width: 768px) {
			padding-top: 0 !important;
			padding-bottom: 1.5rem !important;
			align-items: flex-start;
		}
		
		.headline {
			margin-bottom: 2.1rem;
			
			@media only screen and (max-width: 768px) {
				text-align: center;	
				margin-bottom: 1.2rem;
			}
			
			h2 {
				text-transform: uppercase;
				
				@media only screen and (max-width: 768px) {
					text-align: center;	
				}
			}
		}
		
		.teaser__holder {
			display: grid;
			grid-template-columns: repeat(2,1fr);
			gap: 2rem 4rem;
			margin-top: 0;
			//max-width: 22.6rem;
			
			&:not(:has(.teaser__sideways:nth-child(2))){
				grid-template-columns: 27.5rem;
				justify-content: center;
				
			}
			
			@media only screen and (max-width: 768px) {
				
				display: flex;
				overflow-x: scroll;
				overflow-y: hidden;
				width: calc(100% + var(--sideSpacing) + var(--sideSpacing) + 1rem);
				gap: 0 2.8rem;
				padding-inline: calc(var(--sideSpacing) + 0.5rem);
				margin-inline: calc(calc(var(--sideSpacing) + 0.5rem) * -1);
			
				align-items: start;
				scrollbar-width: none; /* Firefox */
				-ms-overflow-style: none;  /* IE 10+ */
	
				
				&::-webkit-scrollbar { 
					display: none;  /* Chrome Safari */
				}

			}
			
			
			
		}
		
		.headline + .teaser__holder {
			@media only screen and (max-width: 768px) {
				grid-template-columns: unset;
				display: flex;
				flex-direction: column;
				overflow-x: auto;
				overflow-y: auto;
				width: calc(100% - 4.9rem);
				margin: 0 auto;
				padding-right: 0;
				padding-left: 0;
				gap: 1.3rem 0;
			}
		}
	}
}

/*
.section__oeffungszeiten.gastronomie,
.section__oeffungszeiten.wasserskilift,
.section__oeffungszeiten.aktivitaeten {
	.innerwrapper {

		
		.opening-times__container {
			position: relative;

			
			tr th,
			tr td {
				&:nth-child(3){
					> span {
						visibility: hidden;
						
						
					}
					
					@media only screen and (max-width: 768px) {
						display: none;	
					}
					
				}
				&:nth-child(4){
					> span {
						visibility: hidden;
					}
					
					@media only screen and (max-width: 768px) {
						display: none;	
					}
				}
			}
		}
		
		@media only screen and (min-width: 769px) {
			.footnotes {
				position: absolute;
				z-index: 9;
				top: 2.25rem;
				left: 28.5rem;
				max-width: 26em;
				

			}
		}
		
		
	}
}
*/

.section__oeffungszeiten {
	background-color: var(--colorBeigeLight);
	
	.section__oeffungszeiten-wrapper {
		background-color: var(--colorBeige);
		border-radius: calc(var(--borderRadius) * 2.5) calc(var(--borderRadius) * 2.5) 0 0;
		position: relative;
		
		.illustration {
			font-size: 0;
			line-height: 0;
			position: absolute;
			right: 0;
			bottom: 1rem;
			width: 20rem;

			@media only screen and (max-width: 768px) {
				width: 10rem;
				bottom: -1.5rem;
				right: 0;
			}
			
			svg {
				width: 100%;
				height: auto;
			}
		}
	}

	.innerwrapper {
		color: var(--colorGreyDark);
		padding-top: 4.5rem;
		padding-bottom: 3rem;
		
		@media only screen and (max-width: 768px) {
			padding-top: 2.2rem;
		}
		
		.headline {
			width: 100%;
			display: grid;
			grid-template-columns: 21.5rem 1fr;
			font-size: var(--fontSize17);
			text-align: left;
			align-items: end;
			margin-bottom: 1.7rem;
			
			@media only screen and (max-width: 768px) {
				grid-template-columns: 100%;
				text-align: center;
				font-size: var(--fontSize15);
				display: block;
				margin-bottom: 0.8rem;
			}
			
			h2 {
				text-transform: uppercase;
				
				@media only screen and (max-width: 768px) {
					text-align: left;
					margin-bottom: 2.4rem;
				}
			}
			
			.text {
				max-width: 25em;
				letter-spacing: 0.02em;
				margin-bottom: 0.4rem;
				
				@media only screen and (max-width: 768px) {
					margin-bottom: 0.8rem;
				}
				
				p:first-child {
					margin-top: 0;
				}
				
				p:last-child {
					margin-bottom: 0;
				}
			}
		}
		
		.opening-times__header {

			
			width: calc(100% + var(--sideSpacing) + var(--sideSpacing) + 2.4rem + 2.4rem);
			margin-inline: calc(calc(var(--sideSpacing) + 2.4rem) * -1);
			
			
			overflow-x: scroll;
			
			scrollbar-width: none;
			-ms-overflow-style: none;
			
			&::-webkit-scrollbar { 
				display: none; 
			}
			
			@media only screen and (max-width: 768px) {
				width: calc(100% + var(--sideSpacing) + var(--sideSpacing) + 1rem);
				margin-inline: calc(calc(var(--sideSpacing) + 0.5rem) * -1);
			}
			
			.ot_header {
				list-style-type: none;
				margin: 0;
				padding: 0;
				
				padding-left: calc(var(--sideSpacing) + 2.4rem);
				padding-right: calc(var(--sideSpacing) + 2.4rem);
				display: flex;
				gap: 0 0.5rem;
				width: 100%;
				
				@media only screen and (max-width: 768px) {
					padding-inline: calc(var(--sideSpacing) + 0.5rem);
				}
				

				
				.slick-slide {
					opacity: 1 !important;
					padding-right: 0.5rem;
				}
				
				.slick-current  {
					.ot_header_element {
						border: 1px solid var(--colorBrown);
					}
				}
				
				.ot_header_element {
					list-style-type: none;
					margin: 0;
					padding: 0;
					cursor: pointer;
					font-size: var(--fontSize24);
					background-color: var(--colorWhite);
					border-radius: 1rem;
					padding: 0.3em 1.2em;
					white-space: nowrap;
					font-family: "palast-variable", sans-serif;
					font-variation-settings: "opsz" 160, "wght" 400;
					letter-spacing: 0.05em;
					border: 1px solid var(--colorWhite);
					
					@media only screen and (max-width: 768px) {
						font-size: var(--fontSize20);
						padding-inline: 0.7em;
					}

					
					&.current {
						border: 1px solid var(--colorBrown);
					}
					
					@media (hover: hover) {
						&:not(.current){
							&:hover {
								background-color: var(--colorFlieder);
								border: 1px solid var(--colorFlieder);
							}
						}	
					}
				}
			}
		}
		
		.opening-times__container {
			margin-top: 3rem;
			--borderWidth: 69%;
			border-top: 1px solid var(--colorBrown);
			

			@media only screen and (max-width: 768px) {
				margin-top: 2.9rem;
				--borderWidth: 43%;
			}
			
			.opening-times__content {
				display: none;
				
				@media only screen and (max-width: 768px) {
					max-width: 100%;
					overflow-x: auto;	
					scroll-snap-type: x mandatory;
					
					scrollbar-width: none; /* Firefox */
					-ms-overflow-style: none;  /* IE 10+ */
					
					&::-webkit-scrollbar { 
						display: none;  /* Chrome Safari */
					}
				}
				
				&.current {
					display: block;
				}
				
				.footnotes {
					@media only screen and (max-width: 768px) {
						position: sticky;
						left: 0;	
					}
				}
				
				table {
					width: 100%;
					padding-bottom: 1rem;
					position: relative;
					
					
					&:after {
						content: '';
						display: block;
						position: absolute;
						left: 0;
						bottom: 0;
						height: 1px;
						width: var(--borderWidth);
						background-color: var(--colorGreyDark);
					}
					
					@media only screen and (max-width: 768px) {
						border-collapse: collapse;
						border-spacing: 0;
						table-layout: auto;
						width: 100%;
						
						
						tr>th:first-child,tr>td:first-child {
							position: sticky;
							left: 0;
							background-color: var(--backgroundColor);
							min-width: calc(46vw - var(--sideSpacing) - var(--sideSpacing));
						}
						
						tr>th:not(:first-child),tr>td:not(:first-child){
							scroll-snap-align: start;
							scroll-margin-left: calc(46vw - var(--sideSpacing) - var(--sideSpacing));
							
						}

					}
					
					
					tbody {
						
						@media only screen and (max-width: 768px) {
							font-size: var(--fontSize22);
						}
						
						td {
							padding: 0.35em 0;
							font-weight: 300;
							
							&:first-child {
								width: 25.2%;
								
								@media only screen and (max-width: 768px) {
									width: unset;	
									//min-width: 54vw;
									//max-width: 54vw;
								}
							}
							
							&:nth-child(2){
								width: 26%;
								
								@media only screen and (max-width: 768px) {
									width: unset;	
									min-width: 54vw;
									max-width: 54vw;
								}
							}
							
							@media only screen and (max-width: 768px) {
								line-height: 1.2;
								vertical-align: top;
								padding: 0.3em 0;
							}
						}
						
						tr:first-child {
							td {
								padding-top: 0.8em;
							}
						}
						
						tr:last-child {
							@media only screen and (max-width: 768px) {
							 td {
								padding-bottom: 0.6em; 
							 }	
							}
							
						}
					}
				}
			}
		}
		
		.footnotes {
			font-size: var(--fontSize17);
			line-height: 1.470;
			padding-top: 1rem;
			letter-spacing: 0.03em;
			
			a {
				color: inherit;
			}
			
			@media only screen and (max-width: 768px) {
				font-size: var(--fontSize14);
				line-height: 1.6;
				padding-top: 0.7rem;
				letter-spacing: 0.03em;
			}
			
			p:first-child {
				margin-top: 0;
				
			}
			
			p:last-child {
				margin-bottom: 0;
			}
		}
		
		.navigation-dots {
			text-align: center;
			margin-top: 1rem;
			display: none;
			
			@media only screen and (max-width: 768px) {
				display: flex;
				justify-content: center;	
			}
			
		}
		
		.dot {
			height: 10px;
			width: 10px;
			background-color: transparent;
			border-radius: 50%;
			border: 1px solid var(--colorGreyDark);
			display: inline-block;
			margin: 0 5px;
			cursor: pointer;
		}
		
		.dot.active {
			background-color: var(--colorGreyDark); /* Active dot color */
		}
	}
}

.section__anfahrt {
	background-color: var(--colorBeige);
	
	.innerwrapper {
		padding-top: 1.6rem;
		padding-bottom: 2.2rem;
		
		.column__wrapper {
			display: grid;
			grid-template-columns: 16rem 1fr 1fr;
			grid-template-rows: auto 1fr;
			gap: 1.3rem 5rem;
			margin-top: 2.7rem;
			
			@media only screen and (max-width: 768px) {
				grid-template-columns: 100%;
				grid-template-rows: unset;	
				margin-top: 2rem;
			}
			
			.column {
				font-size: var(--fontSize17);
				line-height: 1.47;
				letter-spacing: 0.02em;
				
				@media only screen and (max-width: 768px) {
					font-size: var(--fontSize15);
				}
				
				h3 {
					font-family: "palast-variable", sans-serif;
					font-variation-settings: "opsz" 160, "wght" 400;
					letter-spacing: 0.03em;
					font-weight: 400;
					font-size: var(--fontSize30);
					margin: 0;
					
					@media only screen and (max-width: 768px) {
						font-size: var(--fontSize28);
					}
					
					+ p {
						margin-top: 0.5em;
					}
				}
				
				p {
					max-width: 19em;
					
					@media only screen and (max-width: 768px) {
						max-width: none;	
					}
					
					&:last-child {
						margin-bottom: 0;
					}
				}
			}
			
			.description {
				grid-column: 2/3;
				grid-row: 1/2;
				margin-top: 0.3rem;
				letter-spacing: 0.02em;
				
				@media only screen and (max-width: 768px) {
					grid-column: unset;
					grid-row: unset;	
					font-size: var(--fontSize20);
				}
				
				p {
					&:first-child {
						margin-top: 0;
					}
					
					&:last-child {
						margin-bottom: 0;
					}
				}
			}
			
			.button__holder {
				margin-bottom: auto;
				
				@media only screen and (max-width: 768px) {
					display: flex;
					justify-content: center;	
					margin-top: 0.6rem;
				}
				
				p {
					margin: 0;
				}
				
				.cta__button {
					background-color: var(--colorBrown);
					color: var(--colorBeige);
					
					@media only screen and (max-width: 768px) {
						font-size: var(--fontSize24);	
					}
				}
			}
			
			blockquote {
				grid-column: 3/4;
				grid-row: 1/3;
				margin: 0;
				background-color: rgba(190, 184, 230, 0.25);
				border-radius: 0.5rem;
				margin-top: 0;
				margin-bottom: auto;
				padding: 0.75rem 2rem 1rem 1.5rem;
				position: relative;
				font-size: var(--fontSize17);
				
				@media only screen and (max-width: 768px) {
					margin-top: 0.3rem;
					padding: 1rem 0.5rem 1.2rem 1.9rem;
					width: 12rem;
					grid-column: unset;
					grid-row: unset;	
					font-size: var(--fontSize15);
					
					p {
						&:has(+ h4){
							margin-top: 0;
							margin-bottom: 0;
						}
						
					}
					
					&:has(.hashtag_icon){
						padding-bottom: 0;
					}
				}
				
				.hashtag_icon {
					font-size: 0;
					line-height: 0;
					display: block;
					position: absolute;
					right: 1rem;
					bottom: 1rem;
					width: 2.8rem;
					
					@media only screen and (max-width: 768px) {
						position: relative;
						top: auto;
						right: auto;
						margin-left: auto;	
						width: 3rem;
						margin-top: -1.8rem;
						margin-right: 0.2rem;
					}
					
					svg {
						width: 100%;
						height: auto;
						
						.typo {
							transform-origin: center center;
						}
					}
					
					@media (hover: hover) {
						&:hover {
							animation-duration: 1s;
							animation-name: rotateForwardBackwards;
						}	
					}
				}
				
				
				
				
				p {
					margin-bottom: 0;
				}
				
				h4 {
					//font-size: var(--fontSize24);
					//line-height: 1.25;
					position: relative;
					font-family: "palast-variable", sans-serif;
					font-variation-settings: "opsz" 160, "wght" 400;
					letter-spacing: 0.03em;
					font-weight: 400;
					margin: 0;
					font-size: var(--fontSize24);
					
					@media only screen and (max-width: 768px) {
						max-width: 10em;
						font-size: var(--fontSize20);
						line-height: 1.2;
						
						br {
							display: none;
						}	
					}
					
					&:before {
						content: "";
						display: block;
						position: absolute;
						left: -1em;
						height: 100%;
						z-index: 5;
						top: 0.25em;
						width: 0.8em;
						background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' viewBox='0 0 18 18'><path fill='%234B5055' d='m8.876 9 8.37-3.554-1.084-1.833-7.394 5.24L9.738 0H7.574l.908 8.845-7.44-5.23-1.04 1.829L8.317 9 0 12.558l1.044 1.88L8.482 9.21 7.574 18h2.164l-.97-8.799 7.392 5.239 1.09-1.884L8.876 9Z'/></svg>");	
						background-repeat: no-repeat;
						background-size: 98% auto;
						
						@media only screen and (max-width: 768px) {
							left: -1.2em;	
						}
					}
				}
			}
		}
	}
}



}
