.accessible {
	position: absolute;
	left: -9999px;
}

html {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: auto;
	font-family: 'Baloo', sans-serif;
}

body {
	padding: 0;
	margin: 0;
}

.outer-wrapper {
	background: url(../images/login-background.png);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: bottom;
}

.app-container {
	display: flex;
	flex-direction: column;
	max-width: 50rem;
	width: 100%;
	margin: 0 auto;
	align-items: center;
	padding: 2rem;
	box-sizing: border-box;
}

.header .img {
	display: block;
	width: 100%;
}


.form.code {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 5rem;
}

.form.login .h3 {
	font-size: 2rem;
	margin: 3rem 0 1rem 0;
	text-align: center;
}

.form {
	margin-bottom: 22.5rem;
	padding: 0 2rem;
	margin-top: 2rem;
	border-radius: 1rem;
	background: rgba(255,255,255,0.87);
}

.form .fieldset {
	display: block;
	outline: none;
	border: 0;
	margin: 0;
	padding: 0;
}

.form .legend {
	color: #414889;
	font-size: 1.25rem;
	display: block;
	margin: 1rem 0;
	text-align: center;
}

.form .formrow {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.form .formrow + .formrow {
	margin-top: 1rem;
}

.form .label {
	color: #414889;
	font-size: 1.5rem;
	display: block;
	margin-bottom: 1rem;
}

.form.login .label {
	font-size: 1.125rem;
	margin-right: 0.5rem;
	margin-bottom: 0;
}

.form .input.text {
	display: block;
	border: solid 2px #49a9b0;
	font-size: 1.25rem;
	padding: 0.625rem;
}

.form.code .input.text {
	width: 80%;
	text-align: center;
}

.form.login .input.text {
	width: 70%;
}

.form .buttons {
	padding: 1rem;
	text-align: center;
}

.form .input.submit {
	-webkit-appearance: none;
	-moz-appearance: none;
	margin: 1rem 0;
	padding: 0;
	appearance: none;
	background: #481f07;
	border: 0;
	font-size: 1.5rem;
	color: white;
	display: inline-block;
	padding: 0.5rem 2rem;
	border-radius: 1.5rem;
	cursor: pointer;
	font-family: 'Baloo', sans-serif;
}

.form.hidden {
	display: none;
}

.buttons .p {
	color: #414889;
}

.forgot {
	text-align: center;
	margin: 0;
	padding: 0;
}

.forgot:last-child {
	margin-bottom: 2rem;
}

span.audio {
	background: url(../images/audio-play.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	border: 0;
	cursor: pointer;
	display: inline-block;
	width: 2rem;
	height: 2rem;
	float: left;
}

.header span.audio,
.buttons span.audio {
	float: none;
}

.header span.audio {
	position: relative;
	top: 2rem;
	left: -2rem;
}





.footer {
	text-align: center;
	background: #003366;
	padding: 1rem;
}

.footer .p {
	color: #629497;
	font-size: 1rem;
	margin-bottom: 1rem;
}

.footer .p.logo-label {
	color: white;
}

.footer .a {
	color: #a8bbbb;
	font-size: 1rem;
}

.footer .logos,
.footer .links {
	margin-bottom: 1rem;
}

.footer .logos {
	background: white;
	border-radius: 1rem;
	max-width: 70%;
	margin: 0 auto 1rem auto;
	padding: 1rem;
	.box-sizing;
}

.footer .logos .a {
	display: inline-block;
	height: 60px;
}

.footer .logos .a .img {
	display: block;
	height: 100%;
}

.footer .logos .a + .a {
	margin-left: 1rem;
}

.footer .links .a {
	position: relative;
	display: inline-block;
	margin-right: 1rem;
}

.footer .a:focus {
	outline: solid 2px #a8bbbb;
}

.footer .links .a:after {
	content: "";
	position: absolute;
	top: 3px;
	right: -9px;
	display: block;
	width: 1px;
	height: 1rem;
	background-color: #629497;
}

.footer .links .a:last-child {
	margin-right: 0;
}

.footer .links .a:last-child:after {
	display: none;
}