* {
	margin: 0px;
	padding: 0px;
}

html, body {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	padding: 0px;
	margin: 0px;
	font-size: 10px;
	height: 100%;
	color: #ffffff;
	background-color: #0096ff;
    -webkit-text-size-adjust: none;
}

body {
	height: 100%;
}

header {
	min-height: 30%;
	display: flex;
	align-items: center;
}

header a.logo {
	display: block;
	text-decoration: none;
	background-repeat: no-repeat;
	background-image: url(../images/layout/logo.svg);
	background-size: 100%;
	background-position: center left;
	display: block;
	min-height: 10em;
	width: 90%;
	margin: auto;
}

header a.logo span {
	visibility: hidden;
}

h1 {
	display: flex;
	font-weight: 400;
	font-size: 3.5em;
	height: 60%;
	align-items: center;
	padding-bottom: 0.25em;
	color: #ffffff;
	text-align: center;
}

h1 a {
	color: #ffffff;
	text-decoration: none;
}

h1 a strong {
	font-family: 'Nunito', 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

footer {
	display: block;
	font-size: 1.6em;
	height: 10%;
	padding-bottom: 1em;
	display: flex;
	font-weight: normal;
	text-align: center;
	color: #333333;
}

footer a {
	color: #333333;
	text-decoration: none;
}

.clear:after {
	content: ".";
	display: block;
	height: 0px;
	clear: both;
	visibility: hidden;
}

@media only screen 
  and (min-width: 400px) {

	header {
		width: 100%;
	}

	header a.logo {
		width: 40em;
		margin: 0px;
	}

	h1, footer {
		text-align: left;
	}
}

@media only screen 
  and (min-width: 1024px) {

	header a.logo {
		width: 50em;
	}

	h1 {
		font-size: 4.5em;
	}

	footer {
		padding-bottom: 0em;
	}
}

@media (prefers-color-scheme: dark) {

	html, body {
		color: #dddddd;
		background-color: #111111;
	}

	header a.logo {
		background-image: url(../images/layout/logo-dark.svg);
	}

	h1, h1 a, footer a {
		color: #dddddd;
	}	
}