html {
	color: #3a3e41;
	margin: 0;
	padding: 0;
	background-color: #c0d8a6;
}

body {
	font-family: sans-serif;
	font-size: 20px;
	margin: 0;
	padding: 1em;
	height: 100vh;
	box-sizing: border-box;

	background-color: #c0d8a6;
	background-image: url('img/aap_achtergrond_linksonder.png');
	background-repeat: no-repeat;
	background-position: bottom left;
	background-size: auto 50%;
}

h1 {
	font-size: 2em;
}

h2 {
	font-size: 1.5em;
}

section h2 > img {
	float: none;
	max-height: 1.15em;
	vertical-align: bottom;
	margin: 0;
}

section {
	display: flex;
	flex-flow: column nowrap;
	justify-content: space-between;

	box-sizing: border-box;
	padding: 2em;
	width: 760px;
	margin: 0 auto;
	max-width: 90vw;

	background: #f2f2f2;
	border-radius: 1em;
	box-shadow: .1em .1em .5em rgba(0,0,0,.2);
}

section:not(.active) {
	display: none;
}

section .buttons {
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-end;
}

section img {
	float: right;
	max-width: 50%;
	margin: 0 0 2em 1em;
}
section img.wide {
	float: none;
	max-width: 100%;
	margin: 0;
}

section .inputs {
	clear: both;
}

form.body {
	position: relative;
}

p {
	font-size: 120%;
	margin: 2em 0;
	line-height: 1.667;
}

p em, p u {
	color: #0aa7cb;
}

.letters {
	position: absolute;
	right: 0;
	font-size: 120%;
	margin-top: 2em;
	line-height: 2;
}

.letters > span {
	box-shadow: inset .1em .1em .3em rgba(0,0,0,.15);
	border: 1px solid #ccc;
	display: inline-block;
	width: 1.5em;
	border-radius: 0.2em;
	text-align: center;
	margin-left: .3em;
	background-color: #fbfbfb;
}
.letters > span.active {
	border-color: #0aa7cb;
}

p.buttons {
	text-align: center;
}

button {
	color: #223;
	font-size: 1em;

	border: 0;
	padding: .7em 1.2em;
	border-radius: .2em;

	background-color: #36bfde;
	box-shadow: 0 0 .5em #36bfde;
}

button:active, button.active {
	color: #000;
	background-color: #21c7ed;
	box-shadow: 0 0 .7em #21c7ed;
	text-decoration: underline;
}

button:disabled {
	box-shadow: none;
	background-color: #c1d2de;
	color: #7d89a4;
	text-decoration: none;
}

input[type=text], input[type=number] {
	border: 1px solid #788;
	font-size: 1em;
	border-radius: .2em;
	padding: .5em .8em;
	line-height: 1.2;
	box-shadow: .1em .1em .3em rgba(0,0,0,.2) inset;
	min-width: 50%;
	max-width: 90%;
}

input[type=text]:focus, input[type=number]:focus {
	border-color: #0aa7cb;
}
input[type=text]:focus-visible, input[type=number]:focus-visible {
	outline: 1px solid #21c7ed;
}

input[type=radio] + span {
	border-radius: .15em;
	padding: .2em .3em;
}

input[type=radio]:checked + span {
	background-color: #7cdaf0;
}

input[type=radio] + span > img {
	float: none;
	vertical-align: bottom;
	max-width: 100%;
	filter: grayscale(50%);
	margin: 0;
}

input[type=radio]:checked + span > img {
	filter: grayscale(0);
}

.flex {
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: stretch;
}
span.flex {
	display: inline-flex;
}

.inputs .flex label {
	text-align: center;
	margin: 0 1em;
}
.inputs .flex label span {
	display: inline-block;
}

.inputs .flex input[type=radio] {
	visibility: hidden;
	width: 0;
	margin: 0;
}


.scherm {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 3em;
	text-align: center;
	color: #fff;
	z-index: 100;
	display: none;
	text-shadow: .1em .1em .1em rgba(0,0,0,.3);
	opacity: 1;
	transition: opacity 0.8s ease-in;
}

.scherm.fadeout {
	opacity: 0;
}

.scherm div.switch {
	display: none;
}
.scherm > span {
	font-size: 6em;
	font-weight: 600;
}
.scherm h2 {
	margin: 5em 0 3em;
}
.scherm h2 span {
	color: #ff91fe;
	font-size: 140%;
}
span.switchname {
	color: #ff91fe;
}
.scherm button {
	border: .1em solid;
	background: none;
	color: #fff;
	box-shadow: 0 0 .4em #eaeaea;
}

.scherm button:active, .scherm button.active {
	box-shadow: 0 0 .8em #fff;
}


#goed {
	background-color: #79bb5b;
}
html.goed, html.goed body {
	background-color: #79bb5b;
}

#fout {
	background-color: #c6604b;
}
html.fout, html.fout body {
	background-color: #c6604b;
}

html.laststep, html.laststep body {
	background-color: #c0eff5;
}
html.laststep body {
	background-image: url('img/einde.jpg');
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: contain auto;
}
html.laststep section {
	background: none;
	box-shadow: none;
}

#debug {
	background: black;
	color: white;
	padding: 0.5em;
}
