body {
	font-family: 'Roboto Condensed', sans-serif;
	margin: 0;
	padding: 0 3rem;
	background-color: #1e99d5;
	font-size: 0;
	text-align: center;
}
nav.logo {
	margin: 2rem 0 1.5rem 0;
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 1.33rem;
	letter-spacing: 0.05ch;
	text-transform: uppercase;
}
nav + div { padding-bottom: 0.5rem; }
nav + div a {
	color: #fff;
	text-decoration: underline;
	font-size: 1rem;
	text-transform: none;
	cursor: pointer;
}
nav + div a:hover { text-decoration: none; }
.page {
	display: inline-block;
	text-align: left;
	font-size: 1rem;
	color: #000;
	box-sizing: border-box;
	margin: 0 auto 8rem auto;
	padding: 1.75rem 1rem 1rem 1rem;
	background-color: #f4f4f4;
	border-radius: 0.25rem;
	box-shadow: 0 0.33rem 0.25rem rgba(0, 0, 0, 0.07);
}
.page div.title {
	text-align: center;
	padding: 1rem 0 0.5rem 0;
	text-transform: uppercase;
	font-size: 1.2rem;
	font-weight: bold;
}
.page div.title.error { 
	padding-top: 0; 
	padding-bottom: 0rem;
}
.page div.sub.error {
	padding-top: 1rem;
}
.page div.title + .date {
	padding: 0 0 2rem 0;
	text-align: center;
}
.page div.title + .date + .sub {
	padding: 0;
	text-align: right;
}
.page a {
	color: #1e99d5;
	font-weight: bold;
	text-decoration: underline;
}
.page a:hover {
	text-decoration: none;
}
.page table {
	margin-top: 1rem;
	border-collapse: collapse;
	border: none;
}
.page table th {
	vertical-align: bottom;
	line-height: 1.33rem;
	border-right: 2px solid #f4f4f4;
}
.page table th.radius {
	border-radius: 0.66rem 0.66rem 0 0;
}
.page table th:not(:empty) { 
	text-align: center;
	background-color: #106fae;
	color: #fff;
	padding: 0.66rem 0.25rem 0.44rem 0.25rem;
}
.page .center { text-align: center; }
.page .uppercase { text-transform: uppercase; }
.page .head { margin-top: 1rem; }
.page td.head-sub { padding-top: 2rem; text-transform: uppercase; font-weight: bold; }
.page label {
	margin: 0.2rem 0.75rem 0 0;
	font-weight: bold;
	text-transform: uppercase;
}
.page label.small {
	font-size: 1rem;
	text-transform: uppercase;
	font-weight: normal;
}
.page label.small.bold { font-weight: bold; text-transform: uppercase; }
.page label.small.pad0 { text-transform: none; padding-right: 3rem; }
.page label.small.pad1 { padding-left: 1rem; text-transform: none; }
.page label.small.pad2 { padding-left: 2rem; font-style: italic; text-transform: none;}
.page input[type=text], .page input[type=login], .page input[type=password], .page select {
	font-size: 1rem;
	font-family: 'Roboto Condensed', sans-serif;
	padding: 0.25rem;
	outline: none;
	border-radius: 0.33rem;
	background-color: #fff;
	border: 1px solid #bbb;
}
.page input[type=text].number { text-align: right; }
.page input[type=text].readonly {
	background-color: #ddd;
	border-color: transparent;
}
.page input[type=text].error {
	border-color: #f00;
	background-color: #fdd;
}
.page input[type=text].okay {
	border-color: #0c0;
	background-color: #aea;
}
.page input[type=text]:not([size]),
.page input[type=login]:not([size])
.page input[type=password]:not([size]) { width: 30rem; }
.page div.hint {
	display: none;
	background-color: #ffc;
	margin: 1.5rem;
	font-size: 1rem;
	padding: 0.75rem;
	border-radius: 0.5rem;
	border: 1px solid #d6d6cc;
	line-height: 1.25rem;
	box-shadow: 0 0.2rem 0.2rem rgba(0, 0, 0, 0.15);
	user-select: none;
	max-width: 75%;
	bottom: 0;
	left: 0;
	position: fixed;
	z-index: 1000;
}
.page div.hint:before {
	content: '\f05a';
	font-family: 'eh-besz';
	padding-right: 0.5rem;
	color: #e1bb70;
}
.page input[type=text]:not(.disabled):hover:not(:read-only),
.page input[type=login]:not(.disabled):hover:not(:read-only),
.page input[type=password]:not(.disabled):hover:not(:read-only),
.page select:not(.disabled):hover { border-color: #888; }
.page input[type=text]:not(.disabled):focus ~ div.hint { display: table; }
.page tr.input.active + tr.hint div.hint { display: block; }
.page tr.input.active + tr.hint { display: table-row; }
.page input[type=text]:not(.disabled):focus {
	border-color: #1e99d5;
	background-color: #e8f0fe;
}
.page table td.right {
	text-align: right;
}
.page table tr.separator td {
	height: 0px;
	border: none;
	padding: 1rem 0 0 0;
}
.page table button.small {
	font-size: 0.9rem;
	padding: 0.33rem 0.75rem;
}
.page .buttonbar {
	text-align: right;
}
.page .buttonbar td {
	border-top: 1px solid #ddd;
	padding-top: 1rem;
}
.page .buttonbar .spread {
	display: flex;
	justify-content: space-between;
}
.page button {
	padding: 0.5rem 1.25rem;
	font-family: 'Roboto Condensed', sans-serif;
	font-size: 1rem;
	font-weight: bold;
	text-transform: uppercase;
	color: #fff;
	border: 1px solid #106fae;
	border-radius: 0.33rem;
	background-color: #21a1db;
	background: linear-gradient(#24a7df, #1582c5);
	box-shadow: inset 0 2px 0 #7acaed;
	cursor: pointer;
	outline: none;
}
.page button.disabled { opacity: .25; cursor: default; }
.page button:not(.disabled):hover {
	background-color: #31b1eb;
	background: linear-gradient(#34b7cf, #2592d5);
	box-shadow: inset 0 2px 0 #7acaed, 0 0 0.5rem #7acaed;
}
.page button:not(.disabled):active {
	background-color: #1191cb;
	background: linear-gradient(#1497bf, #0572b5);
	box-shadow: inset 0 2px 0 #6abadd;
}
.page div.sticky_head {
	display: none;
	position: fixed;
	top: 0;
	margin: 0 -1rem;
	padding: 0 1rem 0.66rem 1rem;
	background-color: #fff;
	box-shadow: 0 0.125rem 0.125rem rgba(0, 0, 0, 0.1);
}
.page div.sticky_head.show { display: block; }
.page .center.title {
	padding-bottom: 1rem;
}
.page .center.title i.fa-check-circle { color: #4c4; }
.page .center.title i.fa-times-circle { color: #d22; }
.page .center.title i.fa-check-circle,
.page .center.title i.fa-times-circle {
	font-size: 2.25rem;
	padding-bottom: 0.66rem;
}


.page .faux_username_inputtext {
	font-size: 1rem;
	font-family: 'Roboto Condensed', sans-serif;
	padding: 0.33rem;
}
.page .faux_username_inputtext span {
	background-color: #1e99d5;
	color: #fff;
	padding: 0.3rem 0.66rem;
	margin-left: -0.25rem;
	margin-right: 0.5rem;
	border: 1px solid #106fae;
	border-radius: 0.33rem;
	box-sizing: border-box;
}
.page .notice {
	display: none;
	text-align: center;
	padding-top: 1rem;
	padding-bottom: 1rem;
	color: #fff;
	background-color: #b23e3f;
	border: 1px solid #993637;
	border-radius: 0.33rem;
}
.page .notice.show { display: block; }

label.input-checkbox > input[type="checkbox"] { display: none; }
label.input-checkbox .checkbox {
	content: ' ';
	border: 0.075rem solid #bbb;
	background-color: #fff;
	border-radius: 0.33rem;
  padding: 0.2rem 0.15rem;
  box-sizing: content-box;
}
label.input-checkbox > input:checked + .checkbox { 
	background-color: #1e99d5;
	border-color: #106fae;
}
label.input-checkbox:hover:before { border-color: #888; }
label.input-checkbox > .checkbox > i {
	font-size: 1.05rem;
	line-height: 0;
  color: #fff;
  margin: 0 0 0 -0.05rem;
  visibility: hidden;
}
label.input-checkbox > input:checked + .checkbox > i { visibility: visible; }