@font-face {
	font-family: 'Lato';
	font-display: swap;
	src: url('/font/Lato-Regular.woff2');
}

body {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 100%;
	min-height: 100vh;
	margin: 0;
	font-family: 'Lato', sans-serif;
	font-size: large;
}

header,
footer {
	width: 100%;
}

header {
	position: fixed;
	top: 0px;
	height: 4em;
	background-color: #eb3;
	user-select: none;
	-webkit-user-select: none;
}

.header-content,
.footer-content {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	margin: auto;
	height: 100%;
}

.header-content,
main {
	min-width: 15em;
	max-width: 50em;
}

header h1 {
	margin: 0 1em 0 0;
	white-space: nowrap;
}

header h1 a {
	color: inherit;
	text-decoration: none;
}

nav,
menu {
	margin: 0;
	padding: 0;
	height: 100%;
}

menu {
	display: flex;
	align-items: center;
}

menu li {
	list-style-type: none;
}

menu li a {
	display: flex;
	align-items: center;
	padding: 0.5em 0.7em;
	transition-duration: 0.2s;
	color: black;
	text-decoration: none;
	border-top: solid transparent 0.2em;
	border-bottom: solid transparent 0.2em;
	text-transform: uppercase;
}

menu li a:hover {
	border-bottom-color: #0003;
}

menu li a:active {
	border-bottom-color: #0006;
}

menu li a.here {
	border-bottom-color: black;
}

img {
	object-fit: cover;
	overflow: inherit;
	margin-top: max(-180px, calc(-25% + 4em));
	width: 100%;
	max-height: 640px;
}

main {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 1em clamp(2em, 10%, 6em);
	background-color: whitesmoke;
	box-shadow: 0px 0px 8px 4px #0007;
	border-radius: 3px;
	margin-bottom: 1em;
}

main * {
	width: 100%;
}

main ul {
	padding-inline-start: 40px;
	width: calc(100% - 40px);
}

main :is(h1, h2) {
	text-align: center;
}

#footer-spacer {
	flex-grow: 1;
}

footer {
	color: whitesmoke;
	background-color: #333;
	box-shadow: 0 0 2px 2px #333;
	/* font-size: 10pt; */
}

.footer-content {
	padding: 1em;
	gap: 2em;
	align-items: start;
	width: fit-content;
}

footer address {
	display: inline;
	font-style: normal;
}

footer a {
	color: #9cf;
}