@charset "UTF-8";

* {
	box-sizing: border-box;
}

body,
h1,
h2,
h3,
div,
span,
button,
td,
th,
label,
input,
footer {
	font-family: Arial, sans-serif;
	padding: 0px;
	margin: 0px;
}

ol,
ul {
	font-family: Arial, sans-serif;
	padding: 0px;
	margin: 0.4em;
}

body,
div,
span,
button,
td,
th,
label,
input {
	font-size: medium;
}

html {
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
}

body {
	position: relative; /* for overlay stuff */
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

input[type="text"],
input[type="password"] {
	border: 0px;
	padding: 0.4em;
	background-color: #ffffff;
}

input[type="button"],
input[type="submit"] {
	border: 0;
	color: #ffffff;
	background-color: #005e80;
	padding: 0.4em 1em;
	min-width: 6em;
	text-transform: uppercase;
	margin: 0.4em; /* for the shadows */
}

input[type="button"]:hover, 
input[type="submit"]:hover {
	box-shadow: 0 0 0.2em 0.2em #005e80;	
}

h1 {
	text-align: center;
	margin: 0.4em 0;
	color: #005e80;	
}

form {
	display: inherit;
	flex-direction: inherit;
}

#header {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between; 
	margin: 0.4em;
}

#header img.logo {
	max-height: 50px;
}

#header div.logo > img {
	vertical-align: middle;	
}

#header div.language {
	position: relative;
	width: 8em;
	text-align: center;
	cursor: pointer;
	flex-shrink: 0;
}

#header div.language > div.selected {
	padding: 0.2em; 
}

#header div.language > div.selection {
	z-index: 1;
	position: absolute;
	overflow: visible;
	width: inherit;
	text-align: inherit;
	background-color: #ffffff;
	display: none;
}

#header div.language > div.selection > div {
	padding: 0.2em; 
}

#header div.language > div.selection > div:hover {
	background-color: #f2f2f2;
}

#main {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	background-color: #f2f2f2;
}

#main div.section {
	flex-shrink: 1;
	display: flex;
	flex-direction: column;
	align-self: center;
	width: 100%;
	max-width: 40em; 
}

#main div.section > div.title {
	margin: 0.4em 0.4em;
	font-weight: bold;
}

#main div.section > div.field {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 0.2em 0.4em;
}

#main div.section > div.field > * {
	display: block;
}

#main div.section div.field > *:nth-child(1) {
	width: 10em;
}

#main div.section > div.field > *:nth-child(2) {
	height: 1.8em;
	flex-basis: 20em;
	flex-grow: 1;
	flex-shrink: 1;
	background-color: #ffffff;
}

#main div.section > div.hint {
	text-align: center;
	font-weight: bold;
	padding: 0.4em;
	margin: 0.4em;
}

#main div.section > div.hint.ERROR {
	color: #cf2028;
	border: 0.2em solid #cf2028;
}

#main div.section > div.actions {
	text-align: center;
}