@font-face {
	font-family: 'geomanist';
	src: url('font/geomanist-regular-webfont.eot');
	src: url('font/geomanist-regular-webfont.eot?#iefix') format('embedded-opentype'),
		 url('font/geomanist-regular-webfont.woff2') format('woff2'),
		 url('font/geomanist-regular-webfont.woff') format('woff'),
		 url('font/geomanist-regular-webfont.ttf') format('truetype'),
		 url('font/geomanist-regular-webfont.svg#geomanistregular') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'geomanist';
	src: url('font/geomanist-medium-webfont.eot');
	src: url('font/geomanist-medium-webfont.eot?#iefix') format('embedded-opentype'),
		 url('font/geomanist-medium-webfont.woff2') format('woff2'),
		 url('font/geomanist-medium-webfont.woff') format('woff'),
		 url('font/geomanist-medium-webfont.ttf') format('truetype'),
		 url('font/geomanist-medium-webfont.svg#geomanistregular') format('svg');
	font-weight: 700;
	font-style: normal;
}

body {
	margin: 0;
	padding: 0;
	display: block;
	font-size: 16px;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	font-family: 'geomanist', arial, sans-serif;
	letter-spacing: 0.4px;
}

header {
	position: relative;
	top: 0;
	padding: 20px;
	width: 100%;
	text-align: center;
	background: white;
	box-sizing: border-box;
	border-bottom: 1px solid #e6e6e6;
	z-index: 10;
}

header .logo {
	width: 100%;
	max-width: 400px;
}

div.keyvisual {
	background: url(images/keyvisual.jpg) 50% 50% no-repeat;
	background-size: cover;
	height: 50vh;
	min-height: 320px;
	display: block;
	position: relative;
	overflow: hidden;
}

div.keyvisual span {
	position: absolute;
	width: 100%;
	height: 70px;
	top: calc(50% - 35px);
	font-size: 60px;
	font-weight: 700;
	color: white;
	text-align: center;
	-webkit-animation: blurFadeIn 1.5s ease-in-out;
	-moz-animation: blurFadeIn 1.5s ease-in-out;
	-ms-animation: blurFadeIn 1.5s ease-in-out;
	animation: blurFadeIn 1.5s ease-in-out;
}

@-webkit-keyframes blurFadeIn {
	0% {
		opacity: 0;
		text-shadow: 0px 0px 30px #fff;
		-webkit-transform: scale(1.5);
	}
	100% {
		opacity: 1;
		text-shadow: 0px 0px 1px #fff;
		-webkit-transform: scale(1);
	}
}

main {
	top: 50vh;
	max-width: 800px;
	margin: 0 auto;
	padding: 0 8vw;
}

article {
	margin: 60px 0;
	clear: both;
	overflow: hidden;
}

h1 {
	font-size: 20px;
	line-height: 28px;
	color: #1d1d1b;
	font-weight: 700;
	margin: 0 0 15px 0;
}

h2 {
	font-size: 28px;
	line-height: 32px;
	color: #E30613;
	text-transform: uppercase;
	border-bottom: 1px solid #e6e6e6;
	margin: 0 0 30px 0;
	padding-bottom: 5px;
	letter-spacing: 2px;
}

h3 {
	font-size: 18px;
	line-height: 28px;
	color: #1d1d1b;
	margin: 20px 0;
}

a {
	font-size: 18px;
	line-height: 28px;
	color: #1d1d1b;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: All 0.25s ease-out;
	-webkit-transition: All 0.25s ease-in-out;
	-moz-transition: All 0.25s ease-in-out;
	-o-transition: All 0.25s ease-in-out;
}

a:hover {
	border-bottom-color: currentColor;
}

p {
	font-size: 18px;
	line-height: 28px;
	color: #1d1d1b;
	margin: 0 0 20px 0;
}

li {
	font-size: 18px;
	line-height: 28px;
	color: #1d1d1b;
	margin: 0 0 5px 0;
}

figure.skills {
	margin: 0;
	font-size: 16px;
	line-height: 24px;
	font-weight: 700;
}

figure.skills div {
	position: relative;
	width: 50%;
	float: left;
	text-align: center;
}

figure.skills div:first-child, figure.skills div:first-child + div {
	margin-bottom: 30px;
}

figure.skills div img {
	display: block;
	margin: 0 auto;
	padding: 20px;
}

.profil {
	width: 50%;
	max-width: 180px;
	border-radius: 100%;
	margin: 0 auto 20px;
	display: block;
}

.contact p {
	margin-bottom: 12px;
}

.contact a {
	font-size: 16px;
	line-height: 24px;
}

.contact .icon {
	margin-left: 30px;
}

.contact .icon:before {
	content: '';
	position: absolute;
	width: 20px;
	height: 20px;
	margin-left: -30px;
}

.contact .icon.mail:before {
	background: url(images/mail.svg) 50% 50% no-repeat;
	background-position-y: 2px;
}

.contact .icon.phone:before {
	background: url(images/phone.svg) 50% 50% no-repeat;
}

.contact .icon.linkedin:before {
	background: url(images/linkedin.svg) 50% 50% no-repeat;
}

.contact .icon.xing:before {
	background: url(images/xing.svg) 50% 50% no-repeat;
}

footer {
	height: 60px;
	background: #f2f2f2;
	text-align: center;
	font-size: 14px;
	line-height: 60px;
	color: #999;
}

footer a {
	font-size: 14px;
	line-height: 60px;
	color: #999;
}

.hide-mobile {
	display: none;
}

@media (min-width: 580px) {
	.profil {
		width: 25%;
		min-width: 120px;
		margin: 0 40px 0 0;
		display: inline-block;
		vertical-align: top;
	}
	.contact {
		display: inline-block;
	}
	.contact .icon.mail {
		font-size: inherit;
	}
	.contact .icon.mail:after {
		display: none;
	}
	.hide-mobile {
		display: block;
	}
	.show-mobile {
		display: none;
	}
}

@media (min-width: 720px) {
	header {
		position: sticky;
		position: -webkit-sticky;
	}
	div.keyvisual {
		background-attachment: fixed;
	}
	figure.skills div {
		width: 25%;
	}
	figure.skills div:after {
		content: "•";
		font-weight: 700;
		position: absolute;
		right: 0;
		top: 40px;
		color: #999;
	}
	figure.skills div:last-child:after {
		display: none;
	}
	figure.skills div:first-child, figure.skills div:first-child + div {
		margin-bottom: 0;
	}
	figure.skills div:first-child + div:after {
		display: block;
	}
}

/* IE10 + 11 Hack */

@media all and (-ms-high-contrast:none) {
	.contact p a.icon:before { margin-left: -60px } /* IE10 */
	main { padding: 0 0; }
	article { padding: 0 8vw; }
	*::-ms-backdrop, .contact p a.icon:before  { margin-left: -60px} /* IE11 */
	*::-ms-backdrop, article { padding: 0 8vw; }
	*::-ms-backdrop, main { padding: 0 0; }
}