@font-face {
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('/webfonts/Roboto-Regular.ttf') format('truetype');
}

* {
	margin: 0;
	color: #122c2d;
	font-family: 'Roboto', sans-serif;
}

body {
	position: fixed;
	height: 100%;
	width: 100%;
}

header {
	z-index: 1000;
	position: fixed;
	top: 0;
	width: 100%;
	height: 4rem;
	background-image: linear-gradient(to top, #122c2d, #183233, #1e393a, #253f40, #2b4647);
	box-shadow: 0px 1px 3px 2px rgba(34, 34, 34, 0.74);
}

main {
	padding: 0.5rem;
	min-height: calc(100% - 4rem);
}

footer {
	color: #839191;
	text-align: center;
	line-height: 1.5rem;
	margin: 0.5rem 0;
}

#mainScroll {
	overflow: auto;
	margin-top: 4rem;
	height: calc(100% - 4rem);
}

.ycenter {
	top: 50%;
	transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-o-transform: translateY(-50%);
}

.cryptomail:after {
	content: attr(data-name) "@" attr(data-domain) "." attr(data-tld);
}

#links {
	position: relative;
	float: right;
	display: flex;
	padding: 0px;
	margin: 0px 0.5rem 0px 0px;
	font-size: 0px;
}

ul#links > li {
	list-style-type: none;
}

#header_icon {
	position: relative;
	float: left;
	margin: 0px 1em;
}

#header_icon img {
	display: block;
	background-color: #ffffff;
	height: 3rem;
	padding: 0px 1em;
	border-radius: 5px;
}

#link_menu_toggle {
	position: absolute;
	top: -9999;
	left: -9999;
	visibility: hidden;
}

#link_menu {
	display: none;
}

.header_link,
.header_link:visited {
	z-index: 1000;
	padding: 0.5em 1em;
	margin: 0px 0.5em;
	border-radius: 2px;
	background-color: #ffffff;
	text-decoration: none;
	font-weight: bold;
	font-size: initial;
}

.header_link:hover,
.header_link:active {
	background-color: #9ffbfd;
}

.link,
.link:visited {
	text-decoration: none;
	color: inherit;
}
.link:hover,
.link:active {
	background-color: #9ffbfd;
}

.button,
.button:visited {
	display: block;
	text-align: center;
	width: 5rem;
	margin: 1rem auto;
	padding: 0.25rem;
	border-radius: 0.25rem;
	text-decoration: none;
	border: 1px solid #122c2d;
	background-color: #ffffff;
}
.button:hover,
.button:active {
	background-color: #9ffbfd;
}

.hero {
	width: calc(100% - 2rem);
	margin: 1rem;
	border-radius: 0.5rem;
}

#hero_main {
	background-image: url(./img/kazuend-LVdiXyu2eTc-unsplash.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	max-width: 1000px;
	margin: auto;
	margin-top: 1rem;
	overflow: auto;
}
#hero_main > img#logo {
	margin: 5rem 3rem 0 3rem;
	border-radius: 0.25rem;
}
#hero_main > img#profile {
	margin: 2rem;
	width: 15vw;
	border-radius: 5px;
	float: right;

	-webkit-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
	-moz-box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
	box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75);
}

#page_list {
	background-color: inherit;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding: 1rem;
	grid-column-gap: 1rem;
	grid-row-gap: 1rem;
}

.box {
	background-color: #e4e4e4;
	padding: 2rem;
	border-radius: 5px;
	max-width: 1000px;
	margin: auto;
	margin-top: 1rem;

	opacity: 0.9;
}

.logo_sm {
	margin-left: 3rem;
	padding: 0rem 1rem;
	background-color: white;
	border-radius: 5px;
}

.contact_sheet {
	margin-left: 3rem;
	margin-top: 1rem;
}
.contact_sheet > dt {
	margin-top: 1rem;
}
.contact_sheet > dd {
	margin-left: 1rem;
	font-size: 1.5rem;
	color: #122c2d;
}

.timeline {
	margin-top: 2rem;
	margin-left: 7rem;
	margin-right: 2rem;
	list-style: none;
}
.timeline > .event {
	position: relative;
	margin-bottom: 2rem;
}
.timeline > .event::before {
	position: absolute;
	display: block;
	top: 0;

	left: -9rem;
	font-weight: bold;
	font-size: 1.5rem;
	content: attr(data-date);
}

.page:before {
	content: "";
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.9;

	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;

	-webkit-filter: blur(8px);
	-moz-filter: blur(8px);
	-o-filter: blur(8px);
	-ms-filter: blur(8px);
	filter: blur(8px);
}

#iot.page::before {
	background-image: url(./img/iot.jpg);
}
#patent.page::before {
	background-image: url(./img/patent.jpg);
}
#sensor.page::before {
	background-image: url(./img/sensor.png);
}
#kontakt.page::before {
	background-image: url(./img/kontakt.jpg);
}

@media only screen and (max-width: 850px) {
	#links {
		display: none;
		flex-direction: column;
		position: absolute;
		margin: 4rem 0px 0px 0px;
		padding: 0px;
		top: 0px;
		width: 100%;
		box-shadow: 0px 1px 3px 2px rgba(34, 34, 34, 0.74);
		transform: none;
		-ms-transform: none;
		-moz-transform: none;
		-webkit-transform: none;
		-o-transform: none;
	}

	#link_menu {
		display: flex;
		position: relative;
		float: right;
		height: calc(3rem - 4px);
		margin: 0px 1em;
		padding: 0em 1em;
		background-color: #ffffff;
		border: none;
		border-radius: 5px;
		border: 2px solid white;
		transition: background-color 0.1s;
	}

	#link_menu > i {
		line-height: calc(3rem - 4px);
		font-size: x-large;
	}

	#link_menu_toggle:checked ~ #links {
		display: flex;
	}
	#link_menu_toggle:checked ~ #link_menu {
		background-color: #9ffbfd;
	}

	.header_link,
	.header_link:visited {
		margin: 0px;
		border-radius: 0px;
		display: block;
		width: 100%;
	}

	#page_list {
		grid-template-columns: repeat(1, 1fr);
	}
}
