@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,wght@0,300;1,400&family=Montserrat:wght@700&display=swap');

/*

font-family: 'Merriweather', serif;
300, 400i

font-family: 'Montserrat', sans-serif;
700

gelb > #FEDE70
dreck > #EAD2A4
sand > #F8F1E9
rosa > #F2D2CE
apriko > #F0B78C
rotisch > #DD9260
türkis > #78AFAA
blau > #B8CFD8


 */


/* @group Clear Stylesheet */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline;background-image:none;}body{line-height:1;color:black;background:white;text-align:left;}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0;}caption,th,td{text-align:left;font-weight:normal;}blockquote:before,blockquote:after,q:before,q:after{content:""}blockquote,q{quotes:"" "";}
/* @end */

body {
	font-family: 'Merriweather', serif;
	font-weight: 300;
	font-size: 18px;
	background-color: #F8F1E9;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

.block {
	min-height: 100vh;
	position: relative;
	box-sizing: border-box;
	padding: 100px 0;
}

.mobile {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	color: #000;
	z-index: 33333;
	justify-content: center;
	align-items: center;
	padding: 20px;
	box-sizing: border-box;
	display: none;
	text-align: center;
	line-height: 1.4;
}

	@media( max-width: 1040px ) {

		.mobile {
			display: flex;
		}

	}

.login {
	display: flex;
	justify-content: center;
	align-items: center;
}

	.login .content {
		background: #fff;
		box-sizing: border-box;
		padding: 40px;
		border-radius: 10px;
		line-height: 1.4;
		text-align: center;
		margin: 0 auto;
		position: relative;
		box-shadow: 0 0 15px rgba(0,0,0,.05);
	}

	.login .wrong {
		color: red;
		margin: 20px auto 0;
		font-family: 'Merriweather', serif;
		font-style: italic;
		font-weight: 400;
	}

	.login input,
	.login button {
		font: inherit;
		box-sizing: border-box;
		background: #eee;
		color: #000;
		padding: 5px 10px;
		border: 0;
		border-radius: 0;
		margin: 0 2px;
	}

		.login button {
			background: #ddd;
			cursor: pointer;
			padding: 5px 30px;
		}

			.login button:hover {
				background: #000;
				color: #fff;
			}

.intro {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 200vh;
	align-items: flex-start;
	padding: 0;
}

	.intro:after {
		content: "";
		display: block;
		width: 2px;
		margin-left: -1px;
		position: absolute;
		left: 50%;
		bottom: 0;
		height: 56%;
		background: #000;
		z-index: 1;
	}

		.intro.hidden:after {
			height: 100%;
		}

		body.transition .intro:after {
			-webkit-transition: all 750ms ease-in-out;
			-moz-transition: all 750ms ease-in-out;
			-o-transition: all 750ms ease-in-out;
			-ms-transition: all 750ms ease-in-out;
			transition: all 750ms ease-in-out;
		}

	.intro .content {
		height: 100vh;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 5;
	}

	.intro .headline {
		text-align: center;
		line-height: 1.6;
		position: fixed;
		padding-bottom: 40px;
	}

		.intro h1 {
			font-size: 60px;
			font-family: 'Montserrat', sans-serif;
			font-weight: 700;
		}

		.intro h2 {
			font-size: 40px;
		}

		.intro.hidden .headline {
			opacity: 0;
			padding-bottom: 80px;
			pointer-events: none;
		}

	body.transition .intro .headline {
		-webkit-transition: all 250ms ease-in-out;
		-moz-transition: all 250ms ease-in-out;
		-o-transition: all 250ms ease-in-out;
		-ms-transition: all 250ms ease-in-out;
		transition: all 250ms ease-in-out;
	}

.outro {
	min-height: 120vh;
}

	.outro:after {
		content: "";
		display: block;
		width: 2px;
		margin-left: -1px;
		position: absolute;
		left: 50%;
		top: 0;
		height: 25%;
		background: #000;
		z-index: 1;
	}

.timeline {
	position: relative;
}

	.timeline:after {
		content: "";
		display: block;
		width: 2px;
		margin-left: -1px;
		position: absolute;
		left: 50%;
		top: 0;
		height: 100%;
		background: #000;
		z-index: 1;
	}

.background {
	pointer-events: none;
}

	.background img {
		display: block;
		position: fixed;
		left: 50%;
		margin-left: -490px;
		width: 980px;
		height: auto;
		bottom: 0;
		z-index: 2;
		opacity: 0;
	}

	.background.visible img {
		opacity: 1;
	}

.person {
	position: fixed;
	bottom: 20px;
	z-index: 60;
	text-align: center;
	font-size: 16px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	-moz-transform: translate(-50%, 0px);
	-webkit-transform: translate(-50%, 0px);
	-o-transform: translate(-50%, 0px);
	-ms-transform: translate(-50%, 0px);
	transform: translate(-50%, 0px);

	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

	.person:before {
		content: "";
		width: 50px;
		margin-left: -25px;
		height: 50px;
		background: grey;
		border-radius: 50%;
		display: block;
		margin: 0 auto 10px;
	}

	body.transition .person {
		-webkit-transition: all 500ms ease-in-out;
		-moz-transition: all 500ms ease-in-out;
		-o-transition: all 500ms ease-in-out;
		-ms-transition: all 500ms ease-in-out;
		transition: all 500ms ease-in-out;
	}

	.person.miriam {
		left: 50%;
		margin-left: -270px;
	}

		.person.miriam.hidden {
			left: -500px;
		}

	.person.gilg {
		left: 50%;
		margin-left: 270px;
	}

		.person.gilg.hidden {
			left: calc(100% + 500px);
		}

	.person.center {
		margin-left: 0px !important;
	}

.background-gelb,
.background-gelb .subheadline {
	background-color: #FEDE70;
}
.background-dreck,
.background-dreck .subheadline {
	background-color: #EAD2A4;
}
.background-sand,
.background-sand .subheadline {
	background-color: #F8F1E9;
}
.background-rosa,
.background-rosa .subheadline {
	background-color: #F2D2CE;
}
.background-apriko,
.background-apriko .subheadline {
	background-color: #F0B78C;
}
.background-rotisch,
.background-rotisch .subheadline {
	background-color: #DD9260;
}
.background-tuerkis,
.background-tuerkis .subheadline {
	background-color: #78AFAA;
}
.background-blau,
.background-blau .subheadline {
	background-color: #B8CFD8;
}

.date {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	line-height: 1.4;
	background-color: inherit;
	display: block;
	padding: 10px 20px;
	position: absolute;
	top: 100px;
	left: 50%;
	z-index: 10;
	font-size: 30px;
	text-align: center;

	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

	.date.fixed {
		position: fixed;
		top: 20px;
	}

	.date.bottom:not(.fixed) {
		top: auto;
		bottom: 100px;
	}

	.date h3 {
		font-size: 30px;
	}

	.date h4 {
		font-size: 24px;
	}

.timeline .block .content {
	width: 100%;
	position: relative;
	padding-top: 800px;
	padding-bottom: 180px;
	margin-top: 140px;
}

.subheadline {
	font-family: 'Merriweather', serif;
	font-weight: 400;
	font-style: italic;
	line-height: 1.4;
	background-color: inherit;
	display: block;
	padding: 10px 20px;
	position: absolute;
	top: 80px;
	left: 50%;
	z-index: 9;
	font-size: 30px;
	text-align: center;

	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

	.subheadline.fixed {
		position: fixed;
	}

	.subheadline.bottom:not(.fixed) {
		top: auto;
		bottom: -60px;
	}

.box-wrapper {
	width: 980px;
	margin: 100px auto;
	position: relative;
	display: block;
	z-index: 50;
	opacity: 0;
}

	body.transition .box-wrapper {
		-webkit-transition: all 150ms ease-in-out;
		-moz-transition: all 150ms ease-in-out;
		-o-transition: all 150ms ease-in-out;
		-ms-transition: all 150ms ease-in-out;
		transition: all 150ms ease-in-out;
	}

	.box-wrapper.active {
		opacity: 1;
	}

		body.transition .box-wrapper.active {
			-webkit-transition: all 500ms ease-in-out;
			-moz-transition: all 500ms ease-in-out;
			-o-transition: all 500ms ease-in-out;
			-ms-transition: all 500ms ease-in-out;
			transition: all 500ms ease-in-out;
		}

	.box-wrapper .box {
		background: #fff;
		box-sizing: border-box;
		padding: 40px;
		color: #000;
		border-radius: 10px;
		line-height: 1.4;
		width: calc(50% - 40px);
		margin: 0 auto;
		position: relative;
		box-shadow: 0 0 15px rgba(0,0,0,.05);
	}

	.box-wrapper.left .box:after,
	.box-wrapper.right .box:after {
		content: "";
		display: block;
		position: absolute;
		border: 15px solid transparent;
		top: 50%;
		margin-top: -15px;
	}

		.box-wrapper.left .box:after {
			left: -30px;
			border-color: transparent #fff transparent transparent;
		}

		.box-wrapper.right .box:after {
			right: -30px;
			border-color: transparent transparent transparent #fff;
		}

	.box-wrapper.left .box {
		margin-left: 0;
	}

	.box-wrapper.right .box {
		margin-right: 0;
	}

	.box-wrapper.center .box {
		border-radius: 0;
	}

	.box-wrapper.thinking {

	}

		.box-wrapper.thinking img {
			display: block;
			width: 980px;
			height: auto;
			margin: 0 auto;
		}

			.box-wrapper.thinking + .box-wrapper.thinking {
				margin-top: -240px;
			}

