*,
*::after,
*::before {
	box-sizing: border-box;
}

:root {
	/*--primary-color: #5272ff;*/
	--primary-color: #ff9900;
	--light-color: lightblue;
}

html {
	height: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
	font-family: Arial;
}

body {
	min-width: 100%;
	min-height: 100%;
	margin: 0;
	padding: 0;
	font-family: Arial;
	color: #333333;
}

header {
	width: 100%;
	height: 3rem;
	font-size: 1.5rem;
	color: white;
	background-color: var(--primary-color);
	text-align: center;
	position: relative;
	left: 0;
	top: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

header > div {
	flex-grow: 1;
	flex-shrink: 1;
}

header > a {
	height: 80%;
	color: white;
	border: thin solid white;
	flex-grow: 0;
	padding: 0.2rem;
	margin: 0.2rem;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
}

div.login {
	display: inline-block;
	border: thin solid var(--primary-color);
	border-radius: 5px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

div.login > form,
div.login > div {
	margin-left: 2rem;
	margin-right: 2rem;
	margin-bottom: 1rem;
}

div.login table {
	border-spacing: 10px;
}

p.loginbanner {
	width: 100%;
	padding: 0.5rem 1rem;
	margin: 0;
	font-size: 1.5rem;
	color: white;
	background-color: var(--primary-color);
	border: thin solid var(--primary-color);
}

input[type="submit"],
button {
	-webkit-appearance: none;
	appearance: none;
	border: none;
	color: white;
	cursor: pointer;
	padding: 0.2rem 0.5rem;
	background: var(--primary-color);
	font-size: 0.9rem;
	margin: 0.1rem 1rem;
}

input[type="submit"]:active,
button:active {
	background: white;
	color: var(--primary-color);
}

a {
    color: #f90;
    font-weight: bold;
    font-size: 0.9rem;
}

div.message > ul {
	list-style-type: none;
	padding-left: 0;
}

div.message > ul > li {
	border-width: 1px;
	border-radius: 5px;
	border-style: solid;
	text-align: center;
	padding: 0.5rem;
	margin-left: 1rem;
	margin-right: 1rem;
}

div.message.error > ul > li {
	border-color: red;
	background-color: #ff6e61;
}

div.message.info > ul > li {
	border-color: yellow;
	background-color: #ffef38;
}

div.message.success > ul > li {
	border-color: green;
	background-color: #6aff0e;
}

a.button,
a.button:visited,
a.button:active {
	padding: 0.3rem;
	margin: 0 0.5rem;
	text-decoration: none;
	color: var(--primary-color);
	font-weight: bold;
	border: thin solid var(--primary-color);
}

a.button:active {
	background-color: var(--primary-color);
	color: white;
}

table#questionnaire-overview {
	border-spacing: 1rem;
	margin: 1rem auto;
}

form#questionnaire-prep > table {
	margin: 1rem auto;
	border-spacing: 10px;
}
