@font-face { font-family: "Oswald"; src: url("fonts/Oswald-Regular.ttf"); font-display: swap; }
@font-face { font-family: "Oswald"; src: url("fonts/Oswald-Bold.ttf"); font-weight: bold; font-display: swap; }

:root {
	--blue: #009FE3;
	--link: #00a7e7;
	--black: #000;
	--grey: #E6E8EB;
}

* { box-sizing: border-box; }

body {
	margin: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	font-family: "Oswald", sans-serif;
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 1px;
	background: url("bg2.png") var(--grey);
	border-top: 5px solid var(--black);
}

a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }

/* Startseite */
.construction {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem 1rem;
}
.sign {
	display: flex;
	width: 100%;
	max-width: 640px;
}
.sign .logo {
	flex: none;
	width: 146px;
	height: 146px;
	display: block;
}
.sign .message {
	flex: 1;
	display: flex;
	align-items: center;
	padding: 1.5rem 2rem;
	background: url("bg1.png") repeat var(--blue);
}
.sign h1 {
	margin: 0;
	color: #fff;
	font-weight: normal;
	font-size: 1.6rem;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 2px;
}

/* Fußzeile */
footer {
	padding: 1.5rem 1rem;
	text-align: center;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 3px;
}
footer a { color: var(--black); }
footer a:hover { color: var(--blue); text-decoration: none; }
footer span { display: inline-block; width: 1px; height: 0.9em; margin: 0 1rem; background: var(--blue); vertical-align: -1px; }

/* Rechtstexte */
.legal {
	flex: 1;
	width: 100%;
	max-width: 976px;
	margin: 0 auto;
	padding: 2rem 1rem 0;
}
.legal .back {
	display: inline-block;
	margin-bottom: 0.7rem;
	padding: 2px 10px;
	background-color: var(--blue);
	color: #fff;
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 3px;
}
.legal .back:hover { text-decoration: none; background-color: var(--black); }
.legal article {
	background-color: #fff;
	padding: 2rem;
}
.legal h1, .legal h2, .legal h3 {
	color: var(--blue);
	font-weight: normal;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 0;
}
.legal h1 { font-size: 20px; line-height: 30px; margin-bottom: 24px; }
.legal h2 { font-size: 18px; line-height: 26px; margin: 2.5rem 0 12px; }
.legal h3 { font-size: 14px; margin: 1.5rem 0 0; }
.legal p, .legal ul {
	margin-top: 0;
	margin-bottom: 1.2rem;
	font-size: 0.75rem;
	line-height: 2;
}
.legal a { word-break: break-word; }

@media (max-width: 600px) {
	.sign .logo { width: 96px; height: 96px; }
	.sign .message { padding: 0.75rem 1rem; }
	.sign h1 { font-size: 1rem; line-height: 1.4; letter-spacing: 1px; }
	.legal article { padding: 1.5rem 1rem; }
	footer span { margin: 0 0.6rem; }
}
