

body {
	text-align: left;
	background-color: #fff;
	color: #444;
	font-family: Arial, Helvetica, Tahoma, sans-serif;
	font-size: 16px;
	height: 100%;
	border: 0;
	margin: 0;
}

:root {
  --brandingPrimary: #6c9c31;
  --brandingSecondary: #429ada;
}

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

p { margin-bottom: 10px; }
  
a:link		{ color: var(--brandingSecondary); text-decoration: none; }
a:visited	{ color: var(--brandingSecondary); text-decoration: none; }
a:hover		{ color: var(--brandingSecondary); text-decoration: underline; }
a:active	{ color: var(--brandingSecondary); text-decoration: underline; }
.alertRed	{ color: #B7111B; }


input, textarea, select, input[type=submit] {
  -webkit-transition: border linear 0.2s;
     -moz-transition: border linear 0.2s;
      -ms-transition: border linear 0.2s;
       -o-transition: border linear 0.2s;
          transition: border linear 0.2s;
}

input[type=text], input[type=password], textarea, select, input[type=submit] {
	-webkit-appearance: none; /* prevent webkit override styling */
}

::-webkit-input-placeholder { color: #999999; }
     :-ms-input-placeholder { color: #999999; }
          :-moz-placeholder { color: #999999; }
         ::-moz-placeholder { color: #999999; }

input[type=text], input[type=password], select, textarea {
	border: 1px solid #888888;
	border-radius: 3px;
	font-size: 20px; /* 14px; */
	font-family: Arial, Helvetica, Tahoma, sans-serif;
	padding: 9px 12px; /* 5px 8px 4px 8px; */
}

input[type=text]:focus, input[type=password]:focus, select:focus, textarea:focus {
	border-color: var(--brandingSecondary);
	outline: 0;
}


.styleCheckbox { cursor: pointer; position: relative; display: inline-block; padding: 7px 0 0 25px; }
.styleCheckbox input:first-child { z-index: -1; opacity: 0; margin-right: 4px; position: absolute; left: -9999px; }
.styleCheckbox div {
	position: absolute;
	top: 6px;
	left: 0;
	height: 19px;
	width: 19px;
	border: 1px solid #888888;
	border-radius: 0px;
	background: #fff;
}
.styleCheckbox input:checked + div {background: #ffffff;border: 1px solid var(--brandingSecondary);}
.styleCheckbox:hover input:not([disabled]):checked + div,
.styleCheckbox input:checked:focus + div {  }
.styleCheckbox input:disabled + div { pointer-events: none; opacity: .6; background: #e6e6e6; }
.styleCheckbox div:after {
	position: absolute; display: none; content: '';
	top: 2px; left: 6px; width: 3px; height: 9px; transform: rotate(45deg);
	border: solid var(--brandingSecondary); border-width: 0 2px 2px 0;
}
.styleCheckbox input:checked + div:after { display: block; }
.styleCheckbox input:disabled + div:after { border-color: #7b7b7b; }


.button {
	display: inline-block;
	border: none;
	transition: box-shadow linear 0.2s;
	font-size: 22px;
	font-weight: 500;
	border-radius: 5px;
	padding: 8px 15px 6px 15px;
	text-decoration: none !important;
	cursor: pointer;
	background: #fff;
	-webkit-appearance: none;
	border: 1px solid #ddd;
	color: #888 !important;
	transition: all linear 150ms;
}
.button:hover { color: var(--brandingSecondary) !important; border-color: var(--brandingSecondary); }

.button.primary {
	color: #ffffff !important;
	background: var(--brandingSecondary);
	border-color: var(--brandingSecondary);
}

.button.primary:hover, input[type=submit].button.primary:hover {
	box-shadow: inset 0 0 0px 50px rgba(255, 255, 255, .15);
}

.button:focus, input[type=submit].button:focus { outline: none; }
.button.primary:disabled, input[type=submit].button.primary:disabled {
	background: #cccccc; border-color: #cccccc;
}


.rTable {
	display: block;
	width: 100%;
	border-spacing: 0px;
}
.rTable	> tbody {
		display: block;
		width: 100%;
}
.rTable > tbody > tr {
	display: block;
	width: 100%;
	padding-bottom: 10px;
}
.rTable > tbody > tr >td {
	display: block; width: 100%;
}

@media (min-width: 330px) {
	.rTable { display: table; }
	.rTable > tbody { display: table-row-group; }
	.rTable > tbody > tr { display: table-row; }
	.rTable > tbody > tr > td { display: table-cell; }
	.rTable > tbody > tr > td:first-child {
		text-align: left;
		padding: 5px 10px 6px 0;
		width: 100px;
	}
	.rTable > tbody > tr > td:nth-child(2) {
		padding-bottom: 6px;
		width: calc(100% - 100px);
	}
}

.right { float: right; }
.nextSection { margin-top: 10px; }
.clear { clear: both; }

.warning { border: 1px solid #800; background: #FCC; padding: 10px 15px; color: #000; }

#loginWidget {
	padding: 20px;
	background-color: #fff;
	
}
#loginWidget > form, #loginWidget > div {
	margin: 0 auto;
	max-width: 400px;
}

#loginWidget input[type=text], #loginWidget input[type=password] {
	width: 100%;
}

.fullWidthAtNarrow {
	width: 100%;
	margin: 15px 0 0 0;
}

@media (min-width: 260px) {
	.fullWidthAtNarrow {
		width: auto;
		margin: 0;
	}
	#loginForm input[type=submit] {
		float: right;
	}
}

input[name=knownInfo] {
	margin-bottom: 10px;
}

.loginResultMessage {
	margin-top: 16px;
 	min-height: 2rem;
}

@media (min-width: 330px) {
	.loginResultMessage {
	 	min-height: 1.2rem;
	}
}

#loginHelperMessage {
	padding-bottom: 10px;
}

#loginHelperMessage .helperAside {
	font-style: italic;
	font-size: 11px;
}