@font-face {
	font-family: Lato;
	src: url('../fonts/lato-regular.woff2') format('woff2'), url('../fonts/lato-regular.woff') format('woff');
}
@font-face {
	font-family: Lato;
	src: url('../fonts/lato-italic.woff2') format('woff2'), url('../fonts/lato-italic.woff') format('woff');
	font-style: italic;
}
@font-face {
	font-family: Lato;
	src: url('../fonts/lato-bolditalic.woff2') format('woff2'), url('../fonts/lato-bolditalic.woff') format('woff');
	font-weight: bold;
	font-style: italic;
}
@font-face {
	font-family: Lato;
	src: url('../fonts/lato-bold.woff2') format('woff2'), url('../fonts/lato-bold.woff') format('woff');
	font-weight: bold;
}
@font-face {
	font-family: Lato;
	src: url('../fonts/lato-black.woff2') format('woff2'), url('../fonts/lato-black.woff') format('woff');
	font-weight: 900;
}
@font-face {
	font-family: Icons;
	src: url('../fonts/icons.woff') format('woff');
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */button,hr,input{overflow:visible}progress,sub,sup{vertical-align:baseline}[type=checkbox],[type=radio],legend{box-sizing:border-box;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}details,main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:ButtonText dotted 1px}fieldset{padding:.35em .75em .625em}legend{color:inherit;display:table;max-width:100%;white-space:normal}textarea{overflow:auto}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}[hidden],template{display:none}

html, body {font-size: 100%;}
html {height: 100%;}
body {
	color: #404040;
	background-color: white;
	font: 1em/1.688 Lato, Arial, Helvetica, Sans-serif;
	margin: 0 auto;
	padding: 4em 3.704%;
	-moz-hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
	max-width: 40em;
}
a {
	color: #369;
	text-underline-offset: .125em;
}
a:hover {
	text-decoration-style: dotted;
}
a img {border: none;}
address {font-style: normal;}
img, input, select, textarea {
	vertical-align: middle;
	margin: 0;
	box-sizing: border-box;
	max-width: 100%;
	height: auto;
}
fieldset{
	margin: 0;
	padding: 0;
	border: none;
}
figure {margin: 0;}
h1, h2, h3 {
	color: #369;
	text-transform: uppercase;
	font-weight: 900;
}
h2 {
	font-size: 2.063em;
	margin: 1.455em 0 .878em;
	line-height: 1;
}
h3 {
	font-weight: bold;
	font-size: 1.25em;
	margin: 0 0 1.65em;
	line-height: 1.35;
}
p, ol, ul, table {margin: 0 0 1.813em;}
ul, ol {padding-left: 1em;}
textarea {resize: vertical;}

body > header {margin-bottom: 5em;}
body > header h1 {
	margin: 0;
	font-weight: 900;
	font-size: 4.25em;
	text-transform: uppercase;
	color: #369;
	line-height: 1;
}
.subtitle {
	font-size: 1.625em;
	font-style: italic;
	line-height: 1;
	margin-top: 1em;
}
body > footer {
	border-top: 1px solid #369;
	display: flex;
	justify-content: space-between;
	margin-top: 3em;
}
@keyframes slider {
	0% {opacity: 0;}
	/* halbe sekunde transformation (0,5*100/[gesamtzeit]) */
	1.667% {opacity: 1;}
	/* fünf sekunden sichtbar */
	18.334% {opacity: 1;}
	/* halbe sekunde transformation */
	20% {opacity: 0;}
	100% {opacity: 0;}
}
.hero {
	position: relative;
	margin: 0 auto 3em;
	padding-right: 12%;
	width: 82.188%;
	box-sizing: border-box;
}
.hero .screenshot_lg {
	position: relative;
	background: url(../images/monitor.svg) 0 0 / contain no-repeat;
	padding: 6.013% 3.563% 77.730% 9.131%;
	overflow: hidden;
}
.hero img {
	opacity: 0;
	animation: slider 30s infinite;
	position: absolute;
}
.hero .screenshot_lg img {width: 87.305%;}
.hero img:first-child {opacity: 1;}
.hero img:nth-child(2) {animation-delay: 5s;}
.hero img:nth-child(3) {animation-delay: 10s;}
.hero img:nth-child(4) {animation-delay: 15s;}
.hero img:nth-child(5) {animation-delay: 20s;}
.hero img:nth-child(6) {animation-delay: 25s;}
.hero .screenshot_sm {
	position: absolute;
	/* left: 79.878%; */
	right: 0;
	bottom: 0;
	padding: 1.331% .57% 38.023%;
	background: url(../images/smartphone.svg) 0 0 / contain no-repeat;
	overflow: hidden;
	width: 20.152%;
}
.hero .screenshot_sm img {width: 94.643%;}
.hero .screenshot_sm img:first-child {animation-delay: .125s;}
.hero .screenshot_sm img:nth-child(2) {animation-delay: 5.125s;}
.hero .screenshot_sm img:nth-child(3) {animation-delay: 10.125s;}
.hero .screenshot_sm img:nth-child(4) {animation-delay: 15.125s;}
.hero .screenshot_sm img:nth-child(5) {animation-delay: 20.125s;}
#contact a {
	display: inline-block;
	padding: .5em 2em;
	position: relative;
	text-decoration: none;
	background-color: #369;
	color: white;
	font-size: 1.5em;
	border-radius: .25em;
	font-weight: bold;
	transition-property: background-color, color;
	transition-duration: .25s;
	margin-right: 5%;
	overflow: hidden;
	line-height: 1.333;
}
#contact a:hover {
	background: #E6E6E6;
	color: #369;
}
#contact a:before {
	position: absolute;
	left: -.1em;
	top: 40%;
	transform: translateY(-50%);
	font-size: 3em;
	opacity: .2;
}
#contact .email:before {content: '@';}
#contact .phone:before {
	content: '\e970';
	font: 2em/1 Icons;
	top: 50%;
	left: -.05em;
}
#contact a:after {
	content: attr(title);
	display: block;
	font-size: 50%;
	font-weight: normal;
}
#portfolio {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#portfolio h2, #other {flex: 1 0 100%;}
.client {
	width: 46.875%;
	margin-bottom: 3em;
}
.client header > a {
	display: inline-block;
	position: relative;
	transition: transform .25s;
}
.client header > a:after {
	content: attr(href);
	position: absolute;
	color: #000;
	font-size: .375em;
	top: 0;
	left: 30%;
}
.client header > a:hover {transform: scale(1.063);}
.client img {
	padding-top: 4%;
	background: #DBDBDB url(../images/browser_titlebar.svg) 0 0 / 100% auto no-repeat;
	box-shadow: 0 .313em 1.25em rgba(0,0,0,.3);
	border-radius: .15em;
}
.client h3 {margin-bottom: .45em;}
.client h3 a {text-decoration: none;}
.client h3 a:hover, .client a:hover + h3 a {text-decoration: underline dotted;}
.client a img {
	margin-bottom: 1.688em;
}
.client .tasks {
	font-style: italic;
	line-height: 1.563;
}
#other h3 {font-size: 1.625em;}
@media screen and (prefers-color-scheme: dark) {
	body {
		color: #E6E6E6;
		background-color: #369;
	}
	a, h1, h2, h3,
	body > header h1 {color: #E6E6E6;}
	body > footer {border-color: currentcolor;}
	#contact a {
		background-color: #E6E6E6;
		color: #369;
	}
	#contact a:hover {
		background-color: rgb(230 230 230 / 20%);
		color: currentcolor;
	}
}
@media screen and (max-width: 43.25em) {
	.client header > a:after {font-size: .867vw;}
}
@media screen and (max-width: 40em) {
	body {line-height: 1.625;}
	h2 {font-size: 1.625em;}
	p, ol, ul, table {margin-bottom: 1.625em;}
	body > header {margin-bottom: 12.5vw;}
	body > header h1 {font-size: 10.625vw;}
	.subtitle {font-size: 4.063vw;}
	.hero {width: auto;}
	#contact a {
		display: table;
		min-width: 50%;
		margin: 1em auto;
	}
}
@media screen and (max-width: 31.25em) {
	body {
		padding-top: 2em;
		padding-bottom: 2em;
	}
	body > footer {
		display: block;
		text-align: center;
	}
	#portfolio {display: block;}
	.client {width: auto;}
	.client header > a:after {font-size: 2vw;}
	.client a img {margin-bottom: 1em;}
}