html, body{
	margin: 0;
	padding: 0;
	font-size: 62.5%;
	font-family: 'Source Sans Pro', sans-serif;
	color: #E3E3E3;
	background: #fff;
}
header{
	padding: 1vw 2vw 4vw 2vw;
	text-align: center;

}

.lang{
	text-align: right;
	font-size: 24px;
	padding-right: 2vw;
	padding-top: 2vw;
	color: #818181;
}
.lang a{
	color: #818181;
	text-decoration: none;
}
.lang a.active{
	color: #E3E3E3;
}

/* LOGO & ANIMATION */

@keyframes logoFade{
	from{
		opacity: 0;
		transform: scale(1.25);
	}
	to{
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes logoStem{
	from{
		transform: translateY(-18px);
	}
	to{
		transform: translateY(0);
	}
}
@keyframes typeFade{
	from{
		opacity: 0;
		transform: translateY(10px);
	}
	to{
		opacity: 1;
		transform: translateY(0);
	}
}

header svg{
	width: 90%;
	max-width: 525px;
	max-height: 50vh;
	opacity: 0;
	animation: logoFade 1000ms 100ms ease-in-out forwards;
}

.de header svg #ltd{
	display: none;
}
.en header svg #gmbh{
	display: none;
}

/* Animation */
header svg #stem{
	transform: translateY(-18px);
	animation: logoStem 1000ms 800ms cubic-bezier(0.785, 0.135, 0.150, 0.860) forwards;
}
header svg #silveroak{
	opacity: 0;
	animation: typeFade 800ms 1800ms ease-out forwards;
}
header svg #gmbh, header svg #ltd{
	opacity: 0;
	animation: typeFade 1000ms 2000ms ease-out forwards;
}

/* MAIN */

.container{
	background: #363B37;
	min-height: 100vh;
}

main{
	/* display: none; */ 
	font-size: 1.8rem;
	line-height: 135%;
	letter-spacing: .025rem;
	width: 90%;
	max-width: 108rem;
	margin: 0 auto;
}
section.thirds{
	padding: 1rem 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-column: 1fr;
	grid-column-gap: 5vw;
	opacity: 0;
	animation: typeFade 500ms 4000ms ease-out forwards;
}
section.thirds div{
	text-align: center;
	padding-bottom: 2rem;
	border-bottom: 1px solid #717171;
}
.thirds h2{
	font-weight: normal;
	font-size: 22px;
	letter-spacing: .05rem;
}

section.contact{
	text-align: center;
	padding: 5vw 0;
	opacity: 0;
	animation: typeFade 500ms 4500ms ease-out forwards;
}
section.contact p{
	margin: 3rem 0;
}
section.contact a{
	cursor: pointer;
	padding: 1.5rem 4rem;
	border: 1px solid #fff;
	border-radius: 500px;
	font-size: 2.4rem;
	line-height: 250%;
	color: #363B37;
	text-decoration: none;
	box-shadow: 0 0 2rem rgba(0,0,0,.35);
	transition: all 300ms ease;
	background: #fff;
}

section.contact a:hover{
	background: #363B37;
	color: #fff;
	border-color: #fff;
}


section.social{
	background: #217166;
	padding: 5vw 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
section.social a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 6.5rem;
	height: 6.5rem;
	border-radius: 6.5rem;
	margin: 0 2rem;
	background: #fff;
	border: 1px solid transparent;
	transition: all 200ms ease;
}
section.social a svg{
	width: 100%;
	transition: all 300ms ease;
}
section.social a:hover{
	background: transparent;
	border: 1px solid #fff;
	box-shadow: 0 0 4rem rgba(0,0,0,.4);
	transform: scale(1.1);
}
section.social a:hover svg *{
	fill: #fff;
}
footer p{
	color: #363B37;
	text-align: center;
	padding: 3vw 0;
	font-size: 1.6rem;
	line-height: 2.4rem;
	max-width: 90%;
	margin: 0 auto;
}

h2{
	font-size: inherit;
	margin: 0;
}
p{
	margin: 0;
}

@media screen and (max-width: 48rem){
	main{
		font-size: 1.6rem;
	}
	header{
		padding: 0 4vw 4vw 4vw;
	}
	section.thirds{
		width: 80%;
		margin: 0 auto;
		grid-template-columns: repeat(1, 1fr);
	}
	section.thirds div{
		border-color: #474B47;
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
	footer{
		padding: 6vw 0;
	}
}