@font-face {
	font-family: Manrope;
	src: url(/static/Manrope-Variable.ttf);
}


body {
	margin: 0;
	font-family: Manrope, sans;
	color: #1d2d1d;
}
nav {
	width: 12em;
	align-self: stretch;
	flex: none;
	text-align: center;
	border-right: 3px dotted #2bb4af;
	overflow: auto;
}
nav a {
	text-decoration: none;
	display: block;
	padding: 0.5em;
	color: midnightblue;
}
nav a:hover:not(.nohighlight) {
  background-color: #2bb4af;
  color: white;
}
nav img {
	max-width: 100%;
	max-height: 7em;
	margin: auto;
	padding: 2em;
	box-sizing: border-box;
}
dl {
	width: fit-content;
	display: grid;
	grid-template-columns: max-content auto;
	padding: 1em;
	border: 1px solid lightgrey;
	border-radius: 5px;
	box-shadow: 5px, 5px grey;
}
dt {
	grid-column-start: 1;
	text-align: right;
}
dd {
	grid-column-start: 2;
}
footer {
	text-align: center;
	margin: auto;
}
footer img {
	display: block;
	max-width: 10em;
	margin: auto;
}
table {
	width: auto;
}
table, th, td {
	border: 1px solid lightgrey;
	border-collapse: collapse;
	font-size: small;
	text-align: center;
	padding: 0.25em;
}

.agreement {
	/*	display: inline-block;
	 * padding: 1em;
	 * background-color: #2bb4af;*/
}
.agreement-incomplete {
	background-color: orange;
}
.accent {
	color: #2bb4af;
}
.content {
	text-align: left;
	width: 100%;
	padding: 0 2em;
	min-height:100vh; /*For older browsers*/
	min-height:100svh; /*For newer browsers*/
}
.box-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 1em 3em 9em;
}
.box {
	display: inline-block;
	min-width: 15em;
	margin: 0.5em;
	padding: 1em;
	border: 1px solid lightgrey;
	border-radius: 5px;
	box-shadow: 5px 5px lightgrey;
}
.button {
	display: inline-block;
	color: white;
	background-color: #2bb4af;
	text-decoration: none;
	border: none;
	border-radius: 5px;
	padding: 0.5em;
	margin: 0.5em 0;
}
.error {
	color: red;
}
.hero {
	text-align: center;
}
.hero p {
	font-size: 2.5em;
/* 	margin: 0.5em; */
}
.nav-container {
	display: flex;
	min-height: 100vh; /*For older browsers*/
	min-height: 100svh; /*For newer browsers*/
}

.report {
	display:flex;
	min-height: 100vh; /*For older browsers*/
	min-height: 100svh; /*For newer browsers*/
	flex-direction:column;
	flex-grow: 1;
	justify-content: space-around;
}
.report > footer {
	margin-top: auto;
	margin-bottom: 0;
}



@page {
	size: A4;
	margin: 20mm;

	@bottom-right {
		content: "Page " counter(page) " of " counter(pages);
		font-size: 8pt;
		color: #666;
	}
}

@media print {
	footer {
		padding-top: 10em;
	}
}

@media (max-width: 850px) {
	nav {
		width: 100%;
		border-right: none;
		border-bottom: 3px dotted #2bb4af;
	}

	nav a {
		display: inline-block;
	}

	.content {
		padding: 0;
	}
	.nav-container {
		flex-direction: column;
	}
}
