html, body, form {
	margin:0;
	padding:0;
	height:100%; /* needed for container min-height */
}
#upperPart {
	position:relative;
	width: 100vw;
	height: 85vh;
	background-color: #d9d9d9;
	text-align: center;
}
#loginLogoContainer {
	width:100%;
	text-align: right;
}
#loginLogo {
	position: relative;
	top: 2em;
	right: 7.5em;
	max-height: 5em;
	/*
	background-color: white;
	*/
}
#loginTitle {
	position:relative;
	top: 20%;
	color: #000000;
	font-size: 3em;
	font-weight: bold;
	padding-bottom: 1em; 
}
#loginMain {
	position:relative;
	bottom: -15%;
	margin: 0 auto;
	background-color: #d9d9d9;
	text-align: center;
	max-width: 50vw;
	min-width: 20vw;
	padding: 1em;
}
#loginMain .formTitle {
	/*text-align: left;
	margin-bottom: 2em;*/
	line-height: 1.2em;
}
#loginMain .formTitle h1{
	text-align: center;
}
#loginMain .forminput {
	display: inline-grid;
	grid-template-columns: 50% 50%;
	justify-content: space-evenly;
	column-gap: 1em;
	width: 50%;
	min-width: 25em;
	margin-top: 1.5em;
}
#loginMain .forminput label { 
	display:inline-block;
	width:12em;
	text-align: right;
	margin-right: 1em;
}
#loginMain .forminput input { 
	display:inline-block;
	width:12em; 
}
#loginMain .forminput .inputHint {
	display: inline-block;
	text-align: left; 
}
#loginMain .forminput .inputHint a{
	font-size: small;
	padding-left: 2px;
}
#loginMain .formsubmit input { 
	display:inline-block;
}
#lowerPart {
	width: 100%;
	height:15%;
	background-color: #d20000;
	color: white;
	font-size: 1.5em;
	font-weight: bold;
	display: table;
}
#versionInfo {
	display: table-cell;
  	vertical-align: middle;
	text-align: left;
	padding-left: 5em;
}
#copyrightInfo {
	display: table-cell;
  	vertical-align: middle;
	text-align: right;
	padding-right: 5em;
}
.warning {
	display: inline-block !important;
}
input[type="text"], input[type="password"], input[type="submit"], textarea, button, select { font-size:18px;color:#262626;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none; }
/****************************************
 * Styles for the account recovery flow *
 ****************************************/
.recoveryButtons {
 	display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-evenly;
    align-items: center;
}
.recoveryButtons button {
 	width: 12em; 
	display: inline-block;
}
.recoveryMethods {
	/* span over two grid columns of the parent grid */
	grid-column-start: 1;
    grid-column-end: 3;
    
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-wrap: nowrap;
}
.recoveryMethod {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: flex-start;
    align-items: center;
    padding: 0.5em;
    cursor: pointer;
}
.recoveryMethod.ui-selected {
    background-color: #aaa;
}
.recoveryMethod .textBlock {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    margin-left: 0.5em;
}
.recoveryMethod span.text {
 	display: inline-block;
}
.recoveryMethod span.hint {
 	display: inline-block;
 	font-size: small;
 	text-align: left;
}
ul.passwordPolicyList {
    list-style-type: circle;
    display: inline-block;
    text-align: left;
    margin-bottom: 0;
}

/* Icons for the account recovery flow */
.fi-MAIL:before,
.fi-SMS:before,
.fi-RECOVERY_KEY:before
{
  font-family: 'fontcustom';
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  text-decoration: inherit;
  vertical-align: middle;      
}
.fi-EMAIL:before { content: "\f27D"; }
.fi-SMS:before { content: "\f272"; }
.fi-RECOVERY_KEY:before { content: "\f254"; }