@font-face {
	font-family: 'Andersen';
	font-style: normal;
	font-weight: 300;
	src: url('font/205TF-Andersen-Regular.woff2') format('woff2'),
		url('font/205TF-Andersen-Regular.woff') format('woff');
}

@font-face {
	font-family: 'Atlas Grotesk';
	font-style: normal;
	font-weight: 300;
	src: url('font/AtlasGroteskWeb-Regular.woff2') format('woff2'),
		url('font/AtlasGroteskWeb-Regular.woff') format('woff');
}

:root,
:host
{
	--text-color: #58321f;
	--fancybox-content-color:var(--text-color);
	--home-color: #11521e;
	--swiper-navigation-size: 3em;
	--swiper-theme-color: white;
	--header-height: 0px;
	
	--content-width: 120rem;
	--content-padding: 2rem;
	--content-padding-big: 8rem;
	--content-padding-vertical: var(--content-padding);
	--content-padding-horizontal: var(--content-padding);
	
	--status-color-available:darkgreen;
	--status-color-unknown:darkorange;
	--status-color-unavailable:darkred;
}

body
{
	color:var(--text-color);
	font-family: 'Andersen', serif;
	font-size: 24px;
	margin:0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

body.home,
.home header,
.home footer{
	background-color: var(--home-color);
}

body.toggled
{
	overflow: hidden;
}

body.toggled header
{
	overflow: auto;
	max-height: 100vh;
}

a
{
	color:inherit;
	text-decoration: none;
}


.typo ul
{
	margin-top: .5em;
}

.selectables a
{
	text-decoration: underline;
}

header
{
	position:sticky;
	top:0;
	z-index:100;
}

header > .wrapper,
footer > .wrapper,
.footer-nav .content
{
	margin:auto;
	max-width:var(--content-width);
	padding: 1rem 0;
}

header .items
{
	display:flex;
	justify-content: space-between;
	align-items: center;
}

header .logo img,
footer .logo img
{
	display:block;
	width: 5.5em;
	object-fit:contain;
	position: absolute;
	bottom: 0;
}

footer .logo {
	width: 5em;
}

header .logo img {
	display: none;
}

header,
footer {
	background-color: var(--text-color);
}

header nav,
.footer-nav nav
{
	display:flex;
	flex-wrap:wrap;
	align-items: center;
	justify-content: center;
	gap: calc(var(--content-padding) * 2);
}

header nav {
	display: flex;
	justify-content: space-between;
	gap: 0;
}

header nav a,
.footer-nav a {
	font-family: 'Atlas Grotesk', sans-serif;
	font-weight: 300;
	font-size: clamp(.85em, 1.5vw, 1.285em);
	color: var(--page-color);
}

header nav a,
header .items,
footer .wrapper > a {
	padding: 0 var(--content-padding-vertical);
}

header nav a:first-child {
	display: none;
}

.home header nav a,
.footer-nav a {
	color: #fff158;
}

header nav a.active,
header nav a:hover,
.footer-nav a:hover
{
	text-decoration: underline;
}

header .nav-toggle
{
	display: none;
	width: 2em;
	height: 2em;
	align-items: center;
	justify-content: center;
}

header .nav-toggle::after
{
	content: "\f0c9";
}

.toggled header .nav-toggle::after
{
	content: "\f00d";
}

.home main > .group:not(.group-nopad) > .wrapper {
	padding: 0;
}

main
{
	flex-grow:1;
	background-color: var(--page-color);
}


main > .group > .wrapper,
main > section > .group > .wrapper
{
	max-width:var(--content-width);
	margin:auto;
}

main > .group:last-child {
	padding-bottom: var(--content-padding-big);
}

main > .group:not(.group-nopad) > .wrapper
{
	padding:0;
}

.news-entry .group:not(.group-nopad) > .wrapper {
	padding: 0;
}

.group:not(.group-nopad) > .wrapper
{
	padding:var(--content-padding-vertical) var(--content-padding-horizontal);
}

.group > .wrapper > .element
{
	margin:1em 0;
}

.group:not(.group-noclip) > .wrapper > .element:first-child,
.group:not(.group-noclip) > .wrapper > .element.title:first-child > .wrapper > h1,
.group:not(.group-noclip) > .wrapper > .element.subtitle:first-child > .wrapper > h2
{
	margin-top:0;
}

.group:not(.group-noclip) > .wrapper > .element:last-child,
.group:not(.group-noclip) > .wrapper > .element.title:last-child > .wrapper > h1,
.group:not(.group-noclip) > .wrapper > .element.subtitle:last-child > .wrapper > h2
{
	margin-bottom:0;
}

.group > .wrapper > .title,
.group > .wrapper > .title, h1 {
	margin-top: 0;
}

.group > .wrapper > .subtitle:has(+ .title),
.group > .wrapper > .subtitle:has(+ .title) h2 
{
	margin-bottom: 0;
}

.columns.element .group:has(.text.element, .subtitle.element, .title.element) {
	padding: 0 var(--content-padding-vertical) var(--content-padding-horizontal) var(--content-padding-vertical);
}

main > .group:first-child .columns.element:first-child .group:has(.text.element, .subtitle.element, .title.element) {
	padding-top: var(--content-padding-vertical);
}

.group > .wrapper > .subtitle.element {
	margin-top: 2em;
}


main > .group > .wrapper > .title,
main > .group > .wrapper > .text
{
	padding-left: var(--content-padding-vertical);
	padding-right: var(--content-padding-vertical);
}


/* elements */
.home .newsletter-button {
    position: absolute;
    bottom: 10%;
    right: 2%;
    width: fit-content;
    height: fit-content;
    z-index: 1;
	transition: all .23s ease-in-out;
}

.home .newsletter-button .info-icon 
{
    width: 12em;
}

.home .newsletter-button:hover {
    filter: grayscale(1);
    transform:scale(1.1);
}

#mc_embed_signup_scroll .typo,
#mc_embed_signup_scroll > h1,
.title {
	font-family: 'Atlas Grotesk', sans-serif;
}

#mc_embed_signup_scroll > h1,
.title h1,
.subtitle h2 {
	font-size: clamp(1em, 1.9vw, 1.5em);
	font-weight: 300;
	color: var(--text-color);
}

.subtitle h2 {
	font-size: clamp(.8em, 1.5vw, 1.2em);
}

.slideshow .swiper-slide > .legend,
.images .legend,
.home .fancybox__content .typo,
.typo {
	font-size: clamp(.7em, 1.3vw, 1em);
	color: var(--text-color);
}

footer .typo,
.home .typo {
	color: #e8e100;
}

.home main .typo {
	font-size: clamp(.95em, 1.7vw, 1.425em);
	padding-bottom: var(--content-padding-big);
}

.consent-settings .title h1,
.consent-settings .subtitle h2,
.consent-settings .typo {
	color: var(--text-color);
}

.images {
	position: relative;
}

.images img
{
	display:block;
	width:100%;
	object-fit: cover;
	height: calc(100dvh - var(--header-height) - var(--footer-height));
}

.images .mobile {
	display: none;
}

.images .legend {
	font-size: clamp(.66em, 1.3vw, 1em);
	color: black;
	text-shadow: 0px 0px 4px #FFFFFF;
	
	
	position: absolute;
	right: 0;
	bottom: 0;
	transform-origin: bottom right;
	transform: rotate(-90deg) translateX(110%) translateY(-100%);
}

.quote {
	background-color: var(--text-color);
	margin: var(--content-padding-vertical) 0;
}

.quote .wrapper {
	max-width: var(--content-width);
	margin: 0 auto;
	padding: var(--content-padding-vertical) var(--content-padding-horizontal);
}

.quote .typo {
	font-family: 'Atlas Grotesk', sans-serif;
	font-size: clamp(1em, 1.9vw, 1.5em);
	color: var(--page-color);
}

.news .news-list .entry {
	padding: var(--content-padding-vertical) var(--content-padding-horizontal);
	background-color: var(--page-color);
}

.news .news-list > .grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.news .entry .news-detail {
	display: grid;
	grid-template-rows: minmax(0, 1fr) auto;
	height: 100%;
}

.news .entry .news-heading {
	padding: clamp(.5em, 2.25vw, 1.5em);
	background-color: var(--text-color);
}

.news .entry .news-heading .typo {
	font-size: clamp(.66em, 1.3vw, 1em);
	color: var(--page-color);
}

.news .entry .news-heading > .subtitle h2 {
	margin: 0;
	margin-top: .25em;
	color: var(--page-color);
	font-family: 'Atlas Grotesk', sans-serif;
}

.news .entry .news-detail > .slideshow {
	justify-self: end;
}

.news .entry .news-detail > .slideshow .legend {
	display: none;
}

.news-entry .content {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.news-entry {
	position: relative;
	padding: var(--content-padding-vertical) var(--content-padding-horizontal);
}

.news-entry .content > * {
	padding-top: var(--content-padding-vertical);
}

.news-entry .title h1 {
	margin: 0;
	margin-bottom: .25em;
}

.news-entry .entry.heading {
	padding: var(--content-padding-vertical) var(--content-padding-horizontal);
}

/*Fix Grid fr unit*/
.slideshow .swiper-slide
{
	width: 100% !important;
}

.slideshow .swiper-slide > img
{
	display:block;
	width:100%;
}

.slideshow .swiper-slide > .legend
{
	position: absolute;
	bottom: 0; 
	left:0; 
	right:0;
	color:white;
	text-align:center;
	z-index:1;
	pointer-events: none;
	text-shadow:0px 0px 15px #333;
	padding:.5em;
}

.gallery .items
{
	display:grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap:1em;
}

.gallery img
{
	display:block;
	width:100%;
}

.links .items
{
	display:flex;
	gap: .5em;
	flex-wrap:wrap;
}

.plan img
{
	display:block;
	width:100%;
	box-shadow: 0 0 2px 1px #ddd;
}

.newsletter #mc_embed_signup .button {
	font-family: 'Atlas Grotesk', sans-serif;
	background-color: var(--text-color);
	color:white;
	border-radius: 0;
	letter-spacing: .075em;
}

.newsletter #mc_embed_signup .button:hover {
	background-color: black;
	color: white;
	box-shadow: none;
}

.newsletter #mc_embed_signup {
	font: 1em SuisseIntl;
}

.newsletter #mc_embed_signup .indicates-required {
	font-size: .65em;
}

.newsletter .mc-field-group {
	padding-bottom: 1em;
	display: grid;
	gap: 0em;
}

.newsletter #mce-responses {
	padding: 1em 0;
}

input,
select
{
	margin:0;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
button,
select
{
	box-sizing:border-box;
	font:inherit;
	color:inherit;
}

input[type=text],
input[type=email],
input[type=tel],
textarea,
select
{
	display:block;
	width:100%;
	border:1px solid var(--home-color);
	padding:.5em;
	border-radius: 0;
}

input[type='checkbox'] {
	font: inherit;
	appearance: none;
}

input[type='checkbox']::before {
	font: var(--fa-font-regular);
	content: '\f0c8';
}

input[type='checkbox']:checked::before {
	content: "\f14a";
}

.button,
button
{
	background: var(--text-color);
	border:none;
	color: white;
	cursor:pointer;
	padding:.5em 1em;
	white-space: nowrap;
	display: inline-block;
	font-weight:normal;
	font-size: 1em;
	transition: all .1s ease-in-out;
}

.button.primary,
button.primary
{
	font-weight:bold;
}

.button.secondary,
button.secondary
{
	color:var(--text-color);
	border:1px solid var(--text-color);
	background:none;
}

.button:hover,
button:hover {
	background-color: black;
	color: white;
}

select
{
	appearance:none;
	background:none;
}

.columns.element .items
{
	display:grid;
}

.columns.element .items-2
{
	grid-template-columns: minmax(0,1fr) minmax(0,1fr);
}

.text-left
{
	text-align: left;
}

.text-center
{
	text-align: center;
}

.text-right
{
	text-align: right;
}

.tabs .tabs-nav
{
	display:flex;
	flex-wrap: wrap;
	border-bottom:1px solid black;

}

.tabs .tabs-nav-item
{
	margin-bottom: -1px;
	border:1px solid #00000000;
}

.tabs .tabs-nav-item.active
{
	border-color: black;
	border-bottom-color:white;
}

.tabs .tabs-nav-item h3
{
	padding: 1em;
	margin:0
}

.tabs .tabs-item:not(.toggled) .tabs-body
{
	display: none;
}

.fancybox__container
{
	--fancybox-bg: rgba(24, 24, 27, 0.92);
}

.fancybox__content
{
	padding:0;
	width: 30em;
	max-width: 100%;
}

.fancybox__slide.has-image .fancybox__content
{
	width: 100%;
}

.icon::after,
.icon::before
{
	text-align: center;
	font: var(--fa-font-regular);
}



.group .timeline.element {
	margin: 1em auto;
	overflow-x: auto;
	padding: 0 1em 1em 1em;
}

.timeline .wrapper 
{
	display: flex;
	flex-wrap: nowrap;
	padding-bottom: 1.5em;
	align-items: end;
	justify-content: center;
}

.timeline .entry
{
	position: relative;
	padding-bottom: 7.5em;
	border-bottom: 4px solid var(--text-color);;
	margin: 0 -.5em;
}

.timeline .entry:first-child
{
	margin-left: 1em;
}

.timeline .entry:last-child
{
	margin-right: 1em;
}



.timeline .entry::after 
{
	content: "";
	position: absolute;
	background-color: var(--text-color);;
	display: block;
	width: 4px ;
	height: 8em;
	bottom: -1em;
	left: 50%;
}

.timeline .entry:nth-child(3n+2)
{
	padding-bottom: 11.5em;
}

.timeline .entry:nth-child(3n+2)::after 
{
	height: 12em;
}

.timeline .entry:nth-child(3n+3)
{
	padding-bottom: 4.5em;
}

.timeline .entry:nth-child(3n+3)::after 
{
	height: 5em;
}



.timeline .entry .typo 
{
	align-self: end;
	text-align: center;
}

.consent-cover
{
	position:absolute;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.2);
	display:flex;
	justify-content: center;
	align-items:center;
}

.consent-cover .consent-message
{
	text-align:center;
}

.consent-cover-info
{
	display:flex;
	flex-direction:column;
	align-items: center;
	gap:.5em;
	padding:2em;
}

.consent-dialog
{
	position:sticky;
	bottom:0;
	background:white;
	z-index:100;
	box-shadow: 3px 3px 10px 0px rgb(50 50 50);
}

.consent-dialog > .wrapper
{
	display:flex;
	flex-direction:column;
	gap:.5em;
	margin:auto;
	max-width:var(--content-width);
	padding:var(--content-padding-vertical) var(--content-padding-horizontal);
}

.consent-dialog > .wrapper > *{
	padding: 0 var(--content-padding-horizontal);
}

.toggle-button
{
	font-size:1.4em;
	position:relative;
	width:2em;
	height:1em;
	background:gray;
	box-sizing:border-box;
	border-radius:.5em;
	transition:background .5s;
}

.toggle-button::after
{
	content:"";
	position:absolute;
	left:0;
	top:0;
	width:calc(1em - 4px);
	height:calc(1em - 4px);
	margin:2px;
	background:white;
	border-radius:.4em;
}

.toggle-button.active
{
	background:green;
}

.toggle-button.active::after
{
	right:0;
	left:auto;
}

a[consent-settings]
{
	cursor: pointer;
}

.consent-settings .tab
{
	border-top:1px solid black;
}

.consent-settings .consent-preferences
{
	border-bottom: 1px solid black;
}

.consent-settings .tab .header
{
	display:flex;
	justify-content: space-between;
	align-items:center;
	gap:.5em;
}

.consent-links
{
	gap:.5em;
	display:inline-flex;
	text-decoration: underline;
	flex-wrap: wrap;
}

[data-toggle]
{
	cursor: pointer;
	user-select: none; 
}

.consent-settings .tab [data-toggle] h2
{
	display: flex;
	gap:.5em;
	align-items: center;
}

.consent-settings .tab [data-toggle] h2::before
{
	display: grid;
	width:1em;
	height:1em;
	place-items:center;
	font: var(--fa-font-regular);
	content:"\f054"
}

.consent-settings .tab [data-toggle].active h2::before
{
	content:"\f078";
}

.tab .body.toggled
{
	display:block;
}

.hidden
{
	display:none;
}

footer {
	position: sticky;
	bottom: 0;
	z-index: 100;
}

footer .wrapper {
	display: flex;
	justify-content: space-between;
}

.footer-nav {
	background-color: var(--text-color);
}

.footer-nav nav {
	align-items: baseline;
	justify-content: end;
	padding: 0 var(--content-padding-horizontal);
	gap: 1em;
}

.footer-nav a {
	font-size: clamp(.5em, 1.5vw, .7em);
}

footer .typo {
	font-family: 'Atlas Grotesk', sans-serif;
	font-weight: 300;
	font-size: clamp(.85em, 1.5vw, 1.285em);
	padding: 0 var(--content-padding-horizontal);
}

footer .logo {
	position: relative;
}

footer .scrolldown
{
	position: absolute;
	left: calc(50% - 25px);
	bottom: calc(var(--footer-height) + .75em);
	background: url(../images/scroll.svg) no-repeat center center;
	width: 50px;
	height: 15px;
	cursor: pointer;
}

footer .scrolldown.hide
{
	display: none;
}

@media(orientation:portrait) {
	.images .desktop {
		display: none;
	}

	.images .mobile {
		display: block;
	}
}

@media(max-width:1050px) {
	.home .newsletter-button {
		top: 15dvh;
		right: 3vw;
		bottom: unset;
		left: unset;
	}
	.home .newsletter-button .info-icon {
		width: 6em;
	}
}

@media(max-height:1030px) and (min-width:1051px) {
	.home .newsletter-button {
		bottom: 10%;
	}
}

@media(max-width:1000px)
{
	:root
	{
		--content-padding: 1em;
	}
	
	header nav
	{
		display:none;
	}

	.toggled header nav {
		display: flex;
		flex-direction: column;
		align-items: end;
		padding: 1em 0;
		gap: 1em;
	}
	
	header > .wrapper
	{
		padding: 1.5rem 0;
	}

	
	header .nav-toggle
	{
		display: flex;
	}

	header .logo img {
		display: block;
		top: .25em;
		width: 4.5em;
	}

	.columns.element .items {
		display: block;
	}
	
	
	.images img
	{
		display:block;
		width: 100%;
		height: auto;
	}
		
	

	.columns.element .group:has(.text.element, .subtitle.element, .title.element) {
		padding-top: 1rem;
	}

	.news .news-list > .grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.news-entry .entry.heading {
		padding: var(--content-padding-vertical) 0;
	}

	.news-entry .content {
		grid-template-columns: minmax(0, 1fr);
	}

	footer .wrapper {
		justify-content: end;
	}

	footer .logo {
		display: none;
	}

	.footer-nav nav {
		justify-content: end;
	}
	
	
	
	.timeline .wrapper 
	{
		flex-direction: column;
		padding-bottom: 1.5em;
		align-items: start;
		justify-content: center;
		border-left: 4px solid var(--text-color);;
	}
	
	.timeline .entry,
	.timeline .entry:nth-child(3n+2),
	.timeline .entry:nth-child(3n+3)
	{
		padding: 1em;
		margin:0;
	}
	
	.timeline .entry:after
	{
		display: none;
	}
	
	.timeline .entry:nth-child(3n+2)::after 
	{
		height: 12em;
	}
	
	.timeline .entry:first-child,
	.timeline .entry:last-child
	{
		margin: 0;
	
	}

	.timeline .entry .typo
	{
		text-align: left;
	}
	

.timeline .entry:nth-child(3n+3)::after 
{
	height: 5em;
}
	
	
	
}

@media(max-width:600px) {
	.news .news-list > .grid {
		grid-template-columns: minmax(0, 1fr);
	}

	footer .typo {
		text-align: end;
	}
	
	
	
	footer {
		position: static;
	}
	
	.scrolldown
	{
		display: none;
	}
	
	
}

@media(max-width: 450px) {
	.home .newsletter-button .info-icon {
		width: 8em;
	}
}