html {
	background-color: #ffffff;
}
* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
}
body {
	color: #252525;
	font-family: 'Open Sans', Arial, sans-serif;
	font-size: 14px;
	line-height: 1.15;
	margin: 0;
}
body::before {
	content: '';
	display: block;
	position: fixed;
	z-index: -1;
	background: black url('bg.png');
	background-position: right 188px;
	background-size: calc(50vw - 270px);
	background-repeat: no-repeat;
	width: 100vw;
	height: 100vh;
}
.header {
	width: 100%;
	height: 130px;
	background-color: #ffffff;
	margin-bottom: 20px;
}
.header h1 {
	background-image: url('logo1.png');
	background-repeat: no-repeat;
	background-size: 130px 130px;
	direction: ltr;
	font-size: 0px;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 130px;
	text-align: left;
	text-indent: -999em;
	z-index: 2;
	position: relative;
}
.logo2 {
	background-image: url('logo2.png');
	background-repeat: no-repeat;
	background-size: 171px 63px;
	float: right;
	width: 171px;
	height: 63px;
	position: absolute;
	top: 25px;
	right: 20px;
	display: inline-block;
}
.logo2::after {
	clear: both;
}
.logo-container {
	max-width: 540px;
	width: 100%;
	margin: 0 auto;
	display: block;
	position: relative;
	top: 8px;
}

.footer {
	margin: 0 auto;
	padding-top: 1.5em;
	padding-bottom: 0.5em;
	position:relative;
	color: #ffffff;
	background-color: #373d42;
	box-shadow: 0 50vh 0 50vh #373d42;
	border-top: #fbffff 1px solid;
}
.footer div {
	margin: 0 auto;
	width: 90%;
	max-width: 486px;
}
.footer h3 {
	color: #ffffff;
}
.footer a {
	font-weight: 600;
	color: #ffffff;
	text-decoration: underline;
}
h3 {
	font-size: 22px;
	font-weight: 600;
	margin: 0 0 1em 0;
}
h3.short {
	margin: 0 0 0.75em 0;
}
h4 {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.15;
	margin: 0 0 1em 0;
}
.progress-bar {
	background-color: #efefef;
	border-radius: 0;
	width: 100%;
	height: 0.25em;
}
.progress-bar span {
	background-color: #0157a3;
	border-radius: 3px;
	height:0.25em;
	display: block;
	text-indent: -9999px;
}
a {
	text-decoration: underline;
	color: #252525;
	font-weight: 600;
}
.form-container {
	margin: -20px auto 0;
	padding: 60px 0 60px 0;
	width: 100%;
	z-index: 1;
	position: relative;
}
.form-container form{
	margin: 0 auto;
	width: 90%;
	max-width: 540px;
	border-radius: 0;
	border: solid 1px #ffffff;
	background-color: #ffffff;
	padding: 20px;
	padding-bottom: 0px;
	box-shadow: 0 7px 41px -10px #252525;
}

.full-width {
	width: 100%;
}

.ui-text {
	border: 1px solid #252525;
	border-radius: 0px;
	font-size: 14px;
	line-height: 1.5em;
	padding: 0.25em;
	width: 100%;

	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.2);
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.2);
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.3), 0 1px 0 rgba(255, 255, 255, 0.2);

	background-clip: padding-box;
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding;

}
.ui-field-group {
	/*font-size: 0.875em;*/
	margin: 0 0 1.5em 0;
}
.ui-field-row {
	padding: 0.5em 0;
}
.ui-field-row input {
	margin: 0 1em 0 0;
	position: relative;
	top: -1px;
}
.ui-button-submit {
	border: 1px solid #373D42;
	border-radius: 0;
	background-color: #efefef;
	color: #373D42;
	cursor: pointer;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
	padding: 0.5em 2em;
	overflow: visible;

	-webkit-appearance: none;
}
input.ui-button-submit {
	font-family: 'Open Sans', Arial, sans-serif;
}
.ui-button-submit:hover {
	background-color: #373d42;
	color: #ffffff;
	border-color: #ffffff;
}
.ui-button-previous {
	background-color: #ffffff;
}

.ui-file-label {
	border-radius: 3px;
	color:#252525;
	padding: 0.5em 0.5em 0.66em 0.5em;
}
.ui-text-error {
	color: #e82227;
}
ul.ui-list-links {
	border-top: 1px solid #252525;
	margin: 0;
	padding: 0;
	background-color: #ffffff;
}
ul.ui-list-links li {
	border-bottom: 1px solid #252525;
	list-style: none;
}
ul.ui-list-links li a {
	text-decoration: none;
	text-transform: uppercase;
	display: block;
	padding: 9px 0;
}

ul.ui-list-links li a:hover {
	text-decoration: underline;
}

.ui-select {
	font-size: inherit;
	font-family: inherit;
}

.sectioned-list .section-start
{
	border-top: 1px solid #ebebeb;
	padding-top: 15px;
	padding-bottom: 5px;
	margin-top: 10px;
}

.sectioned-list .section-start.no-title
{
	padding-top: 5px;
}

.sectioned-list .selectable
{
	padding: 5px 0 5px 25px;
}

.sectioned-list .selection-note
{
	display: inline-block;
	margin-left: 5px;
	font-style: italic;
	color: #767676;
	font-size: 0.85em;
}

/* In smaller screen widths use smaller sizes (80% of full size) so both logos fit */
@media (max-width: 359px) {
	.header {
		height: 104px;
		margin-bottom: 16px;
	}
	.header h1 {
		background-size: 104px 104px;
		line-height: 104px;
	}
	.logo2 {
		background-size: 137px 50px;
		width: 137px;
		height: 50px;
		top: 20px;
	}
	.logo-container {
		top: 6px;
	}
	.form-container {
		margin: 16px auto 0;
	}
}
