:root {
	--fg: #000;
	--bg: #fff;
	--grey: #ddd;
	--primary: #0044cc;
	--secondary: rgba(255,223,0,0.5);
}
::selection {
	background: var(--primary);
	color: var(--bg);
}
body {
	box-sizing: border-box;
	margin: 0;
	color: var(--fg);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
a {
	color: var(--primary);
	text-decoration: none;
}
li {
	line-height: 1.5rem;
}

header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 2.4rem;
	box-shadow: 0 1px 0 0 var(--grey);
}
header h1 { margin: 0; }
header span {
	font-size: 2rem;
	font-weight: 700;
}
header nav {
	display: flex;
	flex-wrap: wrap;
}
header a {
	padding: 0.8rem;
	transition: all 100ms;
	color: var(--fg);
	text-decoration: none;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
header a:hover,
header a:focus {
	background: var(--primary);
	color: var(--bg);
}

main {
	max-width: 40rem;
	margin: 0 auto;
	padding: 0 .8rem;
	margin-bottom: 4rem;
}
main > h1 {
	margin-top: 4rem;
}
h1 + article {
	margin-top: 0;
}

article {
	margin: 4rem 0;
}
article h1 {
	font-size: 2rem;
}
article h2 a {
	color: var(--fg);
	transition: color 100ms;
}
article h2 a:hover,
article h2 a:focus {
	color: var(--primary);
}
article h1,
article h2 {
	margin-bottom: .3rem;
}
article p {
	line-height: 1.5rem;
}

.announcement {
	font-size: 1rem;
	background-color: var(--secondary);
	margin: 4rem 0;
	padding: 1.2rem 1.6rem;
	border-radius: .3rem;
	box-shadow: 4px 4px 2rem rgba(0,0,0,.5);
}
.wichtig {
	background-color: #FAA0A0;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-radius: .3rem;
	box-shadow: 4px 4px 2rem rgba(0,0,0,.5);
}

footer {
	padding: 1.6rem 0;
	text-align: center;
	box-shadow: inset 0 1px 0 var(--grey);
}

main nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.btn {
	display: block;
	padding: .8rem 1.6rem;
	transition: all 100ms;
	color: var(--primary);
	box-shadow: inset 0 0 0 1px var(--primary);
}
.btn:hover,
.btn:focus {
	background: var(--primary);
	color: var(--bg);
	text-decoration: none;
}


.newsletter button {
	font-size: .75rem;
	color: #fff;
	font-weight: 700;
	padding: .25rem .5rem;
	background-color: var(--primary);
	border: 1px solid var(--primary);
	cursor: pointer;
	transition: color .25s, background-color .25s;
}
.newsletter button:hover,
.newsletter button:focus {
	color: #000;
	background-color: #fff;
}
.newsletter input {
	font-size: .75rem;
	padding: .25rem .5rem;
	border: 1px solid black;
	transition: border-color .25s;
}
.newsletter input:hover,
.newsletter input:focus {
	outline: 0;
	border-color: var(--primary);
}
.newsletter .success { color: green; }
.newsletter .error { color: red; }

@media print {
	header,
	footer,
	nav,
	main nav,
	.announcement {
		display: none;
	}
}
