@font-face {
	font-family: 'Suisse Intl';
	src: url('../fonts/SuisseIntl-Medium.woff2') format('woff2'),
		url('../fonts/SuisseIntl-Medium.woff') format('woff');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Suisse Intl';
	src: url('../fonts/SuisseIntl-Bold.woff2') format('woff2'),
		url('../fonts/SuisseIntl-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}



:root {
	--color-text: black;
	--color-bg: #dddbda;
	
	--fontsize-base: 17px;
	--fontsize-medium:20px;
	--fontsize-large:34px;
	
	--abstand: 10px;
	--abstand-double: calc(var(--abstand) * 2);
	--header-height: 40px;
	--frame-size:60px;
	
	--grid: 12;
	--grid-gap: calc(var(--frame-size)/2);
	
	--border-radius:12px;
	
	--border: 2px solid black;
}

html {
	scroll-behavior: smooth;
	/*scroll-snap-type: y mandatory;*/
}
header,main{
	/*scroll-snap-align: start;*/
}



body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	background-color:var(--color-bg);
	color:var(--color-text);
	font-family:'Suisse Intl','Arial',sans-serif;
	
	font-size:var(--fontsize-base);
	line-height:1.2;
	
	overscroll-behavior: none;	
}

body.no-scroll{
	overflow-y:hidden;
}



h1{
	
}
h2{
	
}

h3{
	
}

a{
	text-decoration: none;
	text-decoration-thickness: from-font;
	transition:all .3s ease;
	color:inherit;
}
a:hover{
	opacity:.6;
}




/* ---------------------------------
	
	GENERAL LAYOUT STUFF
	
-----------------------------------*/

.container{
	max-width:1920px;
	margin:0 auto;
}
.container-wide{
	max-width:100%;
}
main{
	padding:var(--frame-size);
	padding-bottom:calc(var(--frame-size)*2);
	min-height:100vh;
	
	display:flex;
	flex-direction: row;
}
.col{
	width:100%;
}
.col:first-child{
	padding-right:calc(var(--frame-size) / 4);
}
.col:last-child{
	padding-left:calc(var(--frame-size) / 4);
}


/* ---------------------------------
	
	HEADER / NAV
	
-----------------------------------*/

header{
	width:100%;
	height:100vh;
	position:relative;
}

nav{
	height:var(--frame-size);	
	font-weight: bold;
	font-size:var(--fontsize-medium);
	position:absolute;
	top:0px;
	left:0px;
	width:100%;
}
nav ul{
	height:var(--frame-size);
	width:100%;
	display:flex;
	justify-content: center;
	align-items: center;
}
nav ul li{
	padding:15px;
	display:inline-block;
}

nav ul li.act a{
	color:yellow;
}

.logo{
	position:absolute;
	z-index:6;
	left:50%;
	top:50%;
	transform: translate(-50%,-50%);
	max-width:400px;
	width:50vw;
}



/* ---------------------------------
	
	IMAGE GALLERY
	
-----------------------------------*/


.image-gallery{
	height:calc(100vh - 2*var(--frame-size));
	padding:0 var(--frame-size);
	position:relative;
	z-index:5;
	top:var(--frame-size);
}
.swiper,
.swiper-wrapper,
.swiper-slide{
	height:100%;
	width:100%;
}
/*.image-gallery li{
	display:none;
}
.image-gallery li:first-child{
	display:block;
}*/
.swiper-slide img{
	width:100%;
	height:100%;
	object-fit: cover;
}


/*.image-gallery ul { position: relative; }
.swiper-slide { position: absolute; left: 0; top: 0; display: none; }
.swiper-slide:first-child { display: block; }*/

/* ---------------------------------
	
	SITE: HOME
	
-----------------------------------*/


.content-box{
	border-top:var(--border);
}

.content-box--header{
	display:block;
	font-size:var(--fontsize-large);
	padding:var(--abstand) 0px;
	font-weight:bold;
}
.content-box--content{
	padding-bottom:var(--abstand-double);
	display:none;
}
.content-box--content.is-open{
	display:block;
	padding-top:var(--abstand);
}

.content-box--content p + p{
	padding-top:var(--abstand-double);
}


.content-box--menu li{
	display:inline-block;
	padding-right:10px;
}


.content-box tr td:first-child{
	padding-right:20px;
	white-space: nowrap;
}
.content-box tr td:last-child{
	width:100%;
}
	
/* PRESSE */
.content-box--presse ul{
	list-style-type: '– ';
	list-style-position: inside;
}
	
	
/* ---------------------------------
	
	FOOTER
	
-----------------------------------*/


footer{
	position:fixed;
	bottom:0px;
	height:var(--frame-size);
	left:0px;
	width:100vw;
	padding-left:var(--frame-size);
	padding-right:var(--frame-size);
	background:var(--color-bg);
	display:flex;
	justify-content: start;
	justify-content: center;
	align-items: center;
	font-size:var(--fontsize-medium);
	font-weight: bold;
	z-index:4;
}
footer .language-selector{
	position:absolute;
	right:var(--frame-size);
	top:0;
	height:var(--frame-size);
	line-height:var(--frame-size);
}
.language-selector a{
	padding:0;
}

.col-right .language-selector{
	display:none;
	font-weight:bold;
	border-top:var(--border);
	padding-top:var(--abstand-double);
	position:relative;
	z-index:4;
}
footer a{
	padding:0 15px;
}
footer a:first-child{
	padding-left:0px;
}


/* FOOTER GRADIENT */
footer::after{
	content:'';
	display:block;
	position:fixed;
	z-index:3;
	bottom:var(--frame-size);
	left:0;
	right:0;
	height:var(--frame-size);
	background: linear-gradient(0deg, rgba(221,219,218,1) 0%, rgba(221,219,218,0) 100%);
	pointer-events: none;
}

/* FOOTER BORDER */
footer::before{
	content:'';
	display:block;
	position:fixed;
	z-index:4;
	bottom:var(--frame-size);
	left:var(--frame-size);
	right:var(--frame-size);
	height:1px;
	border-top:var(--border);
	pointer-events: none;
}

.hidden-desktop{
	display:none;
}

/* ---------------------------------
	
	RESPONSIVE
	
-----------------------------------*/





/* TABLET / MOBILE */
@media screen and (max-width: 1080px) {
	
	:root{
		--frame-size:40px;
		--footer-height:100px;
		--fontsize-medium:20px;
		
		--nav-height:165px; /* TODO: AUTOMATIC */
	}	
	body{
		overscroll-behavior: auto;
	}
	
	a{
		-webkit-tap-highlight-color: transparent;
	}
	a:focus{
		opacity:1;
	}
	
	.hidden-desktop{
		display:inline;
	}

	
	
	header{
		height:calc(100vh - var(--footer-height));
		height:calc(100svh - var(--footer-height));
		/*display: flex;
		flex-direction: column;*/
		z-index:4;
		padding-top:var(--frame-size);
		padding-left:var(--frame-size);
		padding-right:var(--frame-size);
	/*	vertical-align: top; */

	}
	nav{
		font-size:var(--fontsize-large);
		/*height:100%;*/
		padding:0;
		position:static;
		/*flex:1;*/
		height:var(--nav-height);
	}
	
	nav ul{
		display:block;
		height:auto;
	}
	nav ul li{
		display:block;
		text-align: center;
		padding:0;
	}
	nav ul li:first-child{
		border-bottom:var(--border);
	}
	nav ul li a{
		display:block;
		padding: 15px;
	}
	.image-gallery{
	/*	height:calc(100vh - var(--frame-size) - var(--footer-height));*/
		height:100%;
		height:calc(100svh - var(--frame-size) - var(--footer-height) - var(--nav-height));
		max-height:calc(100svh - var(--frame-size) - var(--footer-height) - var(--nav-height));
		/*flex:1;*/
		padding:0;
		top:0px;
		
	}
	
	nav, .image-gallery{
		
	}
	
	main{
		flex-direction: column;
		padding-bottom:calc(var(--footer-height) + var(--frame-size));
	}
	.col:first-child,
	.col:last-child{
		padding:0;
	}

	
	footer{
		height:var(--footer-height);
		display:block;
		padding-left:var(--frame-size);
		padding-right:var(--frame-size);
		text-align: center;
	}
	footer::after{
		bottom:var(--footer-height);
	}
	footer::before{
		bottom:var(--footer-height);
	}

	footer a{
		display:inline-block;
		padding:0;
	}
	footer a:first-child{
		margin-top:14px;
	}
	footer .language-selector{
		display:none;
	}
	.col-right .language-selector{
		display:block;
	}
	
}

@media screen and (max-width: 440px) {
	.content-box tr td{
		display:block;
		padding-right:0px;
	}
	.content-box tr td:last-child{
		padding-bottom:10px;
	}
	.content-box tr:last-child td:last-child{
		padding-bottom:0px;
	}
}




@media screen and (max-width: 400px) {
	:root{
		--fontsize-base: 16px;
		--fontsize-medium:16px;
		--fontsize-large:32px;
		--nav-height:142px;
		--frame-size:35px;
		--footer-height:85px;
	}	
	
}
