﻿html {
	height: 100%;
}

body{
    font-family: 'Lato', sans-serif;
	background-color: white;
	color:black;
	line-height: 1.3;
	height: 100%;
	display: flex;
	flex-direction: column;
}

fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.u-center {
	text-align: center;
}

.u-wc{
	width:100%;
	max-width: 842px;
	min-width:320px;
  	padding-left:20px;
  	padding-right:20px;
	margin:0 auto;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

strong {
	font-weight: 700;
}

em {
	font-style: italic;
}

input, select{
	outline: none;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}

form{
	margin: 0;
}

p {
	margin: 0 0 15px 0;
	line-height: 1.2;
}

.p--sm {
	font-size: .8em;
	color: #656565;
}

em {
	font-style: italic;
}

a, .c-inlineBtn {
	color:#284162;
	transition: .3s color;
}

a:focus, .c-inlineBtn:focus {
	outline: 2px solid #284162;
	outline-offset: 5px;
}

a:hover, .c-inlineBtn:hover {
	color: #0535d2;
}

.c-inlineBtn {
	background: none;
	border: none;
	text-decoration: underline;
	display: inline;
	padding: 0 4px;
	margin: 0;
}

.vh:not(:focus):not(:active) {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

hr {
	height: 1px;
	border: 0;
	display: block;
	background: #ececec;
	margin: 5px 0 17px;
}

img{
	max-width:100%;
	height: auto;
}

.c-header__nav {
	display: flex;
	justify-content: space-between;
	margin: 10px 0;
}

.c-header__nav a {
	font-size: .9em;
}

.c-navBtns {
	display: flex;
	align-items: center;
	justify-content: center;
}

.c-navBtns div {
	flex-grow: 1;
	text-align: center;
	width: 100%;
}

.c-navBtns div + div {
	margin-left: 10px;
}

.c-infoBox {
	border: 2px solid #ececec;
	padding: 20px;
	margin-bottom: 24px;
	font-size: .9em;
}

.c-infoBox--flex {
	display: flex;
	justify-content: space-between;
}

.c-infoBox--flex p {
	margin: 0;
}

.c-infoBox p:last-child {
	margin-bottom: 0;
}

.c-infoBox img {
	vertical-align: middle;
	display: inline-block;
	padding: 0 5px;
	position: relative;
	top: -2px;
}



.col-third {
	float: left;
	width: calc((99.99% - 40px) / 3);
	margin-right: 20px;
}

.col-third:nth-of-type(3n) {
	margin-right: 0;
}


.col-half{
	float: left;
	width:49%;
	margin-right:2%;
}

.col-half:nth-of-type(2n) {
	margin-right: 0;
}

.c-banner {
	display: block;
	margin: 10px auto;
	border: 1px solid #ececec;
	box-shadow: 0 0 10px rgba(0,0,0,.05);
}

.c-banner__header img {
	display: block;
	margin: 0;
}

.c-banner__content {
	display: flex;
	padding: 36px 30px;
}

.c-banner__col {
	width:  100%;
}

.c-banner__col:first-of-type {
	padding-right: 36px;
}

.c-banner__col:nth-of-type(n + 2) {
	border-left: 1px solid #ececec;
	padding-left: 35px;
}

.c-banner__title {
	font-size: 32px;
	margin-bottom: 8px;
	display: block;
	line-height: 1.2;
}

.c-banner__subtitle {
	font-size: 16px;
	color: #656565;
}

.c-body {
	padding: 40px 0 50px;
}

.c-footer {
	border-top:1px solid #eaeaea;
	padding: 15px 0;
	margin-top: auto;
}

.c-footerNav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: .8em;
}

.c-poweredBy {
	display: flex;
	align-items: center;
}

.c-poweredBy a {
	transition: .3s opacity;
}

.c-poweredBy a:hover {
	opacity: .8;
}

.c-poweredBy img {
	display: block;
	margin: 0 0 0 4px;
}

h1 {
    font-size: 1.6em;
    margin-bottom: 20px;
    margin-top: 0;
}

h2 {
    font-size: 1.4em;
    margin-bottom: 20px;
    margin-top: 16px;
}


.c-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.c-breadcrumb a {
	position: relative;
	font-size: .8em;
}

.c-breadcrumb a:not(:first-child) {
	margin-left: 20px;
}

.c-breadcrumb a:not(:first-child):before {
	content: '>';
	position: absolute;
	left: -13px;
	top: 0;
	color: black;
}


.c-breadcrumb__item--current {
	text-decoration: none;
	color: black;
}

.registration-form label, .registration-form legend {
	display: block;
	padding-bottom:5px;
	font-weight: 700;
}

.registration-form label .required {
	font-weight: 400;
	color: red;
}

.registration-form label .opt {
	font-weight: 400;
	color: #656565;
}

.registration-form label.full-label{
	padding-top:2px;
}

.registration-form input{
	border: 0;
	border: 1px solid #ececec;
	width:100%;
	padding: 10px;
	background: #f7f6f6;
	margin-bottom:11px;
	transition:.5s background;
	-webkit-transition:.5s background;
	-moz-transition:.5s background;
}

.registration-form input:focus, .registration-form select:focus{
	background-color: #eeebeb;
}

.registration-form input.error{
	background: red;
	color: white;
}

.registration-form select{
	border: 0;
	border: 1px solid #ececec;
	width:100%;
	padding: 10px;
	background: #f7f6f6 url('../images/select-arrow.png') no-repeat right 12px; 
	margin-bottom:11px;
	 -webkit-appearance: none;
    -moz-appearance: none;
    text-indent: 1px;
    text-overflow: '';
	transition:.5s background;
	-webkit-transition:.5s background;
	-moz-transition:.5s background;
}

.registration-form select::-ms-expand{
	display: none;
}

.registration-form select.error {
    border: 2px solid red;
}

.registration-form input[type="submit"]{
	background: #26374a;
	color:white;
	text-transform: uppercase;
	padding:15px 10px 13px;
	margin-top:5px;
	font-size: 1.05em;
	transition:.5s background;
	-webkit-transition:.5s background;
	-moz-transition:.5s background;
}

.registration-form input[type="submit"]:hover:not(:disabled), .registration-form input[type="submit"]:focus{
	background: #1c578a;
}

.registration-form input[type="submit"]:focus {
	outline: 2px solid #bb1122;
	outline-offset: 5px;
}

.registration-form input[type="submit"]:disabled {
	opacity: .7;
}

.c-btn{
	text-align: center;
	display: inline-block;
	width: 100%;
	max-width:100%;
	padding: 15px 0;
	text-decoration: none;
	font-size: 1.05em;
	color:white;
	border-radius: 4px;
	background: #26374a;
	margin-bottom: 20px;
	transition: .3s background;
	margin-top: 5px;
	text-shadow: 0 1px 1px rgba(0,0,0,.3);
}

.c-btn:hover, .c-btn:focus{
	color:white;
	background: #1c578a;
}

.c-btn + .c-btn {
	margin-left: 10px;
}

.time {
	padding-top: 10px;
	color: #1f1f1f;
}

.test-connection {
	position: relative;
	display: block;
}

.test-connection a {
	position: absolute;
	display: block;
	right: 0;
	top: 0;
	font-weight: 700;
	font-size: 18px;
	text-decoration: underline;
	color: black;
	padding-left: 35px;
}

.test-connection a:before {
	content: '';
	display: block;
	position: absolute;
	left: 0;
	top: -3px;
	width: 25px;
	height: 24px;
	background: url('../images/checkmark.png') no-repeat center center;
}

.test-connection a:hover {
	color: #2c2c2c;
}

.c-videoEmbed {
	max-width: 500px;
	margin: 40px auto;
}

.radio-inputs {
	display: flex;
	align-items: center;
	margin: 5px 0 12px;
}


.radio-input input[type="radio"], .radio-input input[type="checkbox"] {
	position: absolute; 
  	overflow: hidden; 
  	clip: rect(0 0 0 0); 
  	height: 1px; width: 1px; 
  	margin: -1px; padding: 0; border: 0;
}

.radio-input {
	margin: 0 12px 0 0;
}

.radio-input label {
	position: relative;
	cursor: pointer;
	padding: 0 0 0 25px;
}

.radio-input label:before {
	content: '';
	position: absolute;
	left: 0;
	top: 1px;
	border: 1px solid #a7a7a7;
	width: 15px;
	height: 15px;
	background: white;
	transition: .3s background;
}

.radio-input input:focus + label {
	outline: 2px solid #284162;
	outline-offset: 5px;
}

.radio-input label:after {
	content: '';
	position: absolute;
	top: 3px;
	left: 2px;
	width: 13px;
	height: 13px;
	background: #37b4e4 url('../images/check.png') no-repeat center center / 7px 6px;
	opacity: 0;
	transition: .3s opacity;
}

.radio-input input:checked + label:after {
	opacity: 1;
}

@media screen and (max-width: 930px){

	.col-half {
	    float: left;
	    margin-bottom: 10px;
	    margin-right: 0;
	    width: 100%;
	}

	.col-third {
		width: 100%;
		margin-right: 0;
	}

	.pre-registered-box p{
		float: none;
		text-align: center;
		margin-bottom:10px;
	}

	.pre-registered-box form {
	    float: none;
	    margin: 0 auto;
	    text-align: center;
	}

}

@media screen and (max-width: 860px){

	.test-connection a{
		position: relative;
		top: 0;
		margin-bottom: 25px;
	}

}


@media screen and (max-width: 600px) {

	.c-banner__content {
		display: block;
		padding: 16px 20px 20px;
	}

	.c-banner__col {
		width: 100%;
	}

	.c-banner__col:first-of-type {
		padding: 0;
	}

	.c-banner__col:nth-of-type(n + 2) {
		border-top: 1px solid #ececec;
		border-left: 0;
		padding-left: 0;
		padding-top: 16px;
		margin-top: 16px;
	}

	.c-banner__title {
		font-size: 22px;
		margin-bottom: 4px;
	}

	.c-banner__subtitle {
		font-size: 13px;
	}

	.c-navBtns {
		display: block;
	}

	.c-btn {
		display: block;
		width: 100%;
		margin-bottom: 10px;
	}

	.c-btn + .c-btn, .c-navBtns div + div {
		margin-left: 0;
	}

	.c-body {
		padding: 20px 0 30px;
	}

	.c-infoBox--flex {
		display: block;
	}
	
	.c-infoBox--flex p:nth-of-type(n + 2) {
		margin-top: 4px;
	}
}

@media screen and (max-width: 430px){

	body {
		font-size: .9em;
	}

}


