﻿
body 
{
	font-family: Arial;
	font-size: 16px;			
	margin: 0px 0px 0px 0px;
	background-color: #AAAAAA;
}

p
{
	line-height: 24px;
}

label
{
	font-weight: bold;
}

a:visited
{
	color: #111111;
}

input
{
	box-sizing: border-box;	
}

input[type=text],
input[type=email],
input[type=password]
{
	padding-left: 10px;
	padding-right: 10px;
}

input[type=text],
input[type=email],
input[type=password],
input[type=submit],
input[type=button],
select
{
	height: 40px;
	font-size: 16px;
}

input[type=submit],
input[type=button]
{
	min-width: 100px;	
}

@media all and (orientation: portrait)
{
	.desktopOnly
	{
		display: none;
	}
}

@media all and (orientation: landscape)
{
	div.siteWrapper
	{
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}
}


div.siteWrapper div.innerWrapper
{
	align-self: start;	
	justify-self: center;	
	background-color: #F8F8F8;
}


@media all and (orientation: landscape)
{
	div.siteWrapper div.innerWrapper
	{
		width: 320px;
	}
}


header,
main,
footer
{
	padding-left: 10px;
	padding-right: 10px;
}

header
{	
	padding-top: 15px;
	padding-bottom: 15px;
	background-color: #DDDDDD;
	position: sticky;
	top: 0px;
}

header .logoContainer
{
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 10px;	
}

header a,
header a:hover,
header a:visited
{
	color: #000000;
	text-decoration: none;
}

header .logoContainer span
{
	align-self: center;
	justify-self: start;
	text-transform: uppercase;
	font-weight: bold;
	font-size: 20px;
	text-shadow: 0 0 3px #FFFFFF;
}

header.mini
{
	display: grid;
	grid-template-columns: auto 1fr auto;
	padding-top: 5px;
	padding-bottom: 5px;
}

header.mini .logoContainer
{
	justify-self: center;
	align-self: center;
}

header.mini .logoContainer img
{
	height: 20px;
	align-self: center;
}

header.mini .logoContainer span
{
	font-size: 16px;
	max-width: 15ch;
	overflow: hidden;
}

header.mini .back,
header.mini .account
{
	border-style: none;
	padding: 0px 0px 0px 0px;
	background-color: #DDDDDD;
}

header.mini .back:focus,
header.mini .account:focus
{
	background-color: #FFFFFF;
	outline: 2px solid #FFFFFF;
}


header.mini .account
{
	justify-self: end;	
}


header.mini .account img
{
	height: 30px;
}

menu
{
	display: flex;
	flex-direction: column;
	
	padding: 5px 10px 5px 10px;
	margin: 0px 0px 0px 0px;
	background-color: #FFFFFF;
	border: 1px solid #F8F8F8;	

	text-align: center;

	position: sticky;
	top: 0px;
}

menu li a,
menu li a:hover,
menu li a:visited
{
	display: block;
	color: #000000;
	text-decoration: none;
	width: 100%;
	padding-top: 15px;
	padding-bottom: 15px;
}

menu li
{	
	list-style-type: none;
	border-bottom: 1px solid #000000;
}

menu li:last-child
{
	padding-bottom: 0px;
	border-style: none;
}

menu li input[type=button]
{
	margin-top: 20px;
	margin-bottom: 20px;
	width: 100%;
}

main.mini
{
	padding-top: 10px;
}


main div.frontEndMessages
{
	margin-top: 10px;
	margin-bottom: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-right: 10px;
	border: 2px solid #FF0000;
}

@keyframes frontEndMessageFadeOut 
{
  from   
  {
	  opacity: 1;
	  height: auto;
  }  
  to
  {
	  opacity: 0;
	  height: 0px;
	  overflow: hidden;
	  margin: 0px 0px 0px 0px;
	  padding: 0px 0px 0px 0px;
	  background-color: #008000;
  }  
}


main div.frontEndMessagesInformation
{
	border: 2px solid #008000;

	animation: frontEndMessageFadeOut;
	animation-duration: 1s;
	animation-fill-mode: both;
	animation-delay: 2s;
	animation-timing-function: linear;
}


main div.frontEndMessages ul li
{
	color: #800000;
}

main div.frontEndMessages ul li.notice
{
	color: #404000;
}

main div.frontEndMessages ul li.information
{
	color: #004000;
}

main div.form div.field
{
	margin-bottom: 20px;
}


main div.form div.field label
{
	display: block;
}

main div.form div.field input[type=text],
main div.form div.field input[type=email],
main div.form div.field input[type=password],
select
{
	width: 100%;
}

main div.form div.tcs
{
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 10px;
}

main div.form div.tcs input
{
	justify-self: start;
	align-self: start;
}

main div.form div.tcs span
{
	grid-column-start: 2;
}

main div.form div.tcs span a
{
	background-image: url('/Images/external_link_black.svg');
	background-repeat: no-repeat;
	background-position: right center;
	background-size: auto 100%;
	padding-right: 22px;
}


main div.form div.controls
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding-top: 20px;
	padding-bottom: 20px;	
}

main div.form div.controls input
{	
	justify-self: start;
	align-self: center;
}

main div.form div.controls a
{
	justify-self: end;
	align-self: center;
}

main div.resendEmailVerificationForm
{
	border: 1px solid #111111;
	padding: 5px 5px 5px 5px;
	text-align: center;
}

main div.resendEmailVerificationForm span.countdownDisplay
{
	display: inline-block;
	padding-top: 10px;
}

main details
{
	padding-bottom: 20px;
}

main details:last-child
{
	padding-bottom: 0px;
}

main li
{
	line-height: 24px;
	padding-top: 3px;
	padding-bottom: 3px;
}

main div.qrContainer
{
	text-align: center;
	padding-bottom: 15px;
}

footer
{
	border-top: 2px solid #111111;
	margin-top: 20px;
	padding-top: 10px;
	padding-bottom: 10px;
}

.inviso
{
	display: none;
}


.accessibilityHidden
{
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}


