* {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

html, body {
	width: 100%;
	height: 100%;
	font-family: sans-serif;
	font-weight: 200;
}

body, header {
	display: flex;
	flex-flow: column;
}

main h1 {
	margin-bottom: 0.5em;
}

header h1 {
	margin: 0 auto;
	box-sizing: border-box;
	text-transform: uppercase;
	font-size: 1.5em;
	background: url('data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Csvg%20width%3D%22119%22%20height%3D%2233%22%20version%3D%221.1%22%20viewBox%3D%220%200%2031.485%208.7312%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22m5.0988-7.5695e-5-2.1387%204.3326%202.1387%204.3271h-1.7804l-1.7198-3.5278v3.5278h-1.5985v-8.6597h1.5985v3.5278l1.7198-3.5278zm2.3758%208.6597h-1.6041v-8.6597h1.6041zm4.8507%200-.38585-1.9293h-1.6757l-.38585%201.9293h-1.6316l1.7308-8.6597h2.249l1.7308%208.6597zm-.70556-3.5278-.51815-2.5907-.51815%202.5907zm8.2077-5.1319-2.1387%204.3326%202.1387%204.3271h-1.7804l-1.7198-3.5278v3.5278h-1.5985v-8.6597h1.5985v3.5278l1.7198-3.5278zm5.8705%200-2.1387%204.3326%202.1387%204.3271h-1.7804l-1.7198-3.5278v3.5278h-1.5985v-8.6597h1.5985v3.5278l1.7198-3.5278zm5.7988%207.7557-1.0308.904h-2.9766l-1.0198-.904v-6.8462l1.0198-.90951h2.9766l1.0308.90951zm-1.6041-.69454v-5.4626h-1.8245v5.4626z%22%20stroke-width%3D%225.4769%22%2F%3E%3C%2Fsvg%3E') no-repeat;
	background-size: contain;
	color: transparent;
}

header {
	padding-top: 0.5em;
	flex-flow: row wrap;
}

header nav {
	flex: 1;
}

header menu {
	display: flex;
	flex-flow: row;
	list-style: none;
	padding: 0 1em;
	gap: 1em;
}

header li {
	flex: 1;
}

header a {
	display: block;
	color: #666;
	font-weight: 100;
	text-align: center;
}

main {
	margin: 1em min(2em, 1vw);
	flex: 1;
}

footer {
	background: #eee;
	border-top: 0.2em solid #ccc;
	padding: 0 0.5em;
}

main menu {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(15em, 1fr));
	grid-auto-rows: minmax(10em, auto);
	gap: 1em;
}

main menu li {
	display: block;
	background: #eee;
	border: solid 0.1em #ddd;
	border-radius: 0.5em;
	display: flex;
	flex-flow: column;
}

a {
	text-decoration: none;
	font-weight: 400;
	color: #000;
}

main menu li a {
	height: 100%;
	text-align: center;
	padding: 20% 0 0 0;
}

article, fieldset {
	padding: 0.5em;
	border: 0.1em solid #eee;
	border-radius: 1em;
	margin-bottom: 1em;
}

label {
	display: block;
}
