﻿@charset "UTF-8";
body {
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/*Start Reset*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
	-webkit-text-size-adjust: none;
}

html {
	line-height: 1;
	font-size: 100%;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
	display: block;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

div, span, ul, li, fieldset, input, textarea, blockquote {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

ul {
	list-style: none;
}

td, th {
	vertical-align: top;
}

a {
	text-decoration: none;
}

table {
	border-collapse: separate;
	border-spacing: 0;
}

caption, th, td {
	text-align: left;
	font-weight: normal;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}

blockquote, q {
	quotes: "" "";
}

strong, b {
	font-weight: bold;
}

em, i {
	font-style: italic;
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input[type="submit"], select {
	vertical-align: middle;
	outline: none;
	-webkit-appearance: none;
}

textarea {
	outline: none;
}

/*End Reset*/
.clearfix:after, .container:after, .clearfix:before, .container:before {
	content: "";
	display: table;
}

.clearfix:after, .container:after {
	clear: both;
}

.skip {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	width: 600px;
	color: #FFF;
}

.skip:focus, .skip:active {
	position: static;
	width: auto;
	height: auto;
	left: 0px;
	margin-right: 10px;
}

.noreveal:focus, .noreveal:active {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	width: 600px;
	color: #FFF;
}

.access, .element-invisible {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.forPrint {
	display: none;
}

button, input[type="submit"], label[for], [tabindex="0"] {
	cursor: pointer;
}

button {
	border: 0;
	background: none;
}

button::-moz-focus-inner {
	border: 0;
	padding: 0;
}

textarea {
	resize: vertical;
}

img {
	max-width: 100%;
	height: auto;
}

html.error {
	background: #3e3b3c;
}

body {
	position: relative;
	width: 100%;
	font: 62.5% "Lato", sans-serif;
	overflow-x: hidden;
}

.hero__title.blue, .hero__content.blue {
    color: #003745;
}

.hero__title.black, .hero__content.black {
    color: #000;
}

.hero__title.white, .hero__content.white {
    color: #fff;
}

@font-face {
	font-family: 'icomoon';
	src: url("../fonts/icomoon.ttf?9onspf") format("truetype"), url("../fonts/icomoon.woff?9onspf") format("woff"), url("../fonts/icomoon.svg?9onspf#icomoon") format("svg");
	font-weight: normal;
	font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
	/* use !important to prevent issues with browser extensions that change fonts */
	font-family: 'icomoon' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	/* Better Font Rendering =========== */
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-starsV:before {
	content: "";
}

.icon-ballot:before {
	content: "";
}

.icon-download-arrow:before {
	content: "";
}

.icon-arrow-down:before {
	content: "";
}

.icon-stars:before {
	content: "";
}

.container {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 35px;
}

.container:after {
	content: " ";
	display: block;
	clear: both;
}

@media screen and (min-width: 1200px) {
	.container {
		padding: 0;
	}
}

.container--sm {
	max-width: 850px;
}

body {
	background: #003745;
	height: 100%;
}

address {
	font-style: normal;
}

.visible-sm {
	display: block;
}

@media screen and (min-width: 640px) {
	.visible-sm {
		display: none;
	}
}

.hidden-sm {
	display: none;
}

@media screen and (min-width: 640px) {
	.hidden-sm {
		display: block;
	}
}

.hero {
	position: relative;
	height: 100%;
	background: url(../images/hero-sm.jpg) no-repeat 50% 0;
	background-size: cover;
	min-height: 600px;
	overflow: hidden;
}

@media screen and (min-width: 640px) {
	.hero {
		min-height: 800px;
		background-position: 0 0;
	}
}

@media screen and (min-width: 768px) {
	.hero {
		min-height: 750px;
		background-image: url(../images/hero.jpg);
		background-position: 70% 0;
		background-size: cover;
	}
}

@media screen and (min-width: 1200px) {
	.hero {
		background-position: 100% 0;
	}
}

.hero .container {
	position: relative;
}

.hero__logo {
	display: inline-block;
	margin: 40px 0;
	transition: all .25s;
}

.hero__logo:hover, .hero__logo:focus {
	opacity: .6;
}

.hero__title {
	color: #fff;
	font: 700 2.8em "akzidenz-grotesk", sans-serif;
	text-transform: uppercase;
	padding-right: 40px;
	margin-bottom: 10px;
	margin-top: 40px;
}

@media screen and (min-width: 640px) {
	.hero__title {
		text-align: center;
		padding: 0;
		margin-top: 120px;
		font-size: 4.9em;
	}
}

@media screen and (min-width: 768px) {
	.hero__title {
		padding: 0 60px;
		margin-bottom: 40px;
		margin-top: 40px;
	}
}

.hero__content {
	color: #fff;
	font-size: 1.6em;
	line-height: 1.4;
}

@media screen and (min-width: 640px) {
	.hero__content {
		text-align: center;
		max-width: 770px;
		margin: auto;
		font-weight: 300;
	}
}

@media screen and (min-width: 640px) {
	.hero__content {
		font-size: 2.8em;
	}
}

@media screen and (min-width: 768px) {
	.hero__content {
		font-size: 3em;
	}
}

.hero__icon {
	display: none;
}

@media screen and (min-width: 640px) {
	.hero__icon {
		display: block;
		margin: 0 auto 75px;
		text-align: center;
	}
}

.hero__icon .icon-starsV {
	position: relative;
	color: #b3001c;
	font-size: 7.5em;
	top: 8px;
}

.hero__icon .icon-ballot {
	position: relative;
	display: inline-block;
	margin: -30px 17px 0;
	color: #fff;
	font-size: 12em;
}

.hero__helper {
	font-size: 1.4em;
	font-style: italic;
	color: #fff;
	display: block;
	margin-top: 20px;
}

@media screen and (min-width: 640px) {
	.hero__helper {
		text-align: center;
	}
}

.hero .btn-container {
	margin: 30px 0 40px;
}

@media screen and (min-width: 768px) {
	.hero .btn-container {
		margin: 72px 0;
	}
}

.hero--thanks {
	background: #003745;
}

.hero--thanks:before {
	display: none;
}

.hero--thanks .hero__title {
	padding: 0;
	margin-top: 0;
}

@media screen and (min-width: 480px) {
	.hero--thanks .hero__title br {
		display: none;
	}
}

.countdown {
	position: absolute;
	width: 100%;
	bottom: 0;
	left: 0;
	opacity: 0;
	transition: opacity .5s .5s;
}

.pre-deadline .countdown {
	opacity: 1;
}

@media screen and (min-width: 640px) {
	.countdown {
		text-align: center;
	}
}

@media screen and (min-width: 768px) and (max-width: 1594px) {
	.countdown {
		bottom: 1px;
	}
}

@media screen and (min-width: 1200px) {
	.countdown .container {
		padding: 0 40px;
	}
}

.countdown__timer {
	background: #003745;
	color: #fff;
	padding: 10px 0;
}

@media screen and (min-width: 640px) {
	.countdown__timer {
		display: inline-block;
		min-width: 230px;
	}
}

@media screen and (min-width: 768px) {
	.countdown__timer {
		padding: 8px 0;
	}
}

.countdown__num {
	font: 700 4em "akzidenz-grotesk-condensed", sans-serif;
	vertical-align: middle;
	margin-right: 5px;
}

@media screen and (min-width: 768px) {
	.countdown__num {
		font-size: 4.8em;
	}
}

.countdown__text {
	font: 2em "akzidenz-grotesk-condensed", sans-serif;
	text-transform: uppercase;
	vertical-align: middle;
}

@media screen and (min-width: 768px) {
	.countdown__text {
		font-size: 2.4em;
	}
}

.countdown__event {
	background: url(../images/texture.png) repeat 0 0 #d6d6d6;
	padding: 24px 0;
}

@media screen and (min-width: 640px) {
	.countdown__event {
		display: inline-block;
		margin-left: -4px;
	}
}

@media screen and (min-width: 768px) {
	.countdown__event {
		padding: 27px 0;
	}
}

.countdown__event .countdown__text {
	font: 400 1.6em "akzidenz-grotesk", sans-serif;
	color: #003745;
}

@media screen and (min-width: 768px) {
	.countdown__event .countdown__text {
		letter-spacing: 1px;
	}
}

.countdown__event .countdown__text strong {
	font-weight: 700;
}

.countdown__event .countdown__text sup {
	vertical-align: top;
	font-size: 50%;
}

.section {
	padding: 50px 0 40px;
}

@media screen and (min-width: 768px) {
	.section {
		padding: 65px 0;
	}
}

.section--content {
	background: #fff;
}

.section__title {
	font: 700 2.8em/1.2 "akzidenz-grotesk", sans-serif;
	color: #003745;
	text-transform: uppercase;
}

@media screen and (min-width: 640px) {
	.section__title {
		font-size: 4em;
		text-align: center;
	}
}

@media screen and (min-width: 768px) {
	.section__title {
		font-size: 4.9em;
	}
}

.section__text {
	font-weight: 400;
	font-size: 1.6em;
	line-height: 1.4;
	color: #333333;
}

.section__text--alt {
	font-size: 2em;
	font-weight: 300;
	line-height: 1.6;
	color: #887e6f;
	margin-bottom: 15px;
}

@media screen and (min-width: 640px) {
	.section__text--alt {
		text-align: center;
		font-size: 2.4em;
		max-width: 920px;
		margin: auto;
		line-height: 1.4;
	}
}

@media screen and (min-width: 768px) {
	.section__text--alt {
		font-size: 3em;
	}
}

.section__text--deadline {
	color: #003745;
	line-height: 1.6;
	margin-bottom: 30px;
}

@media screen and (min-width: 640px) {
	.section__text--deadline {
		font-size: 2em;
		font-weight: 700;
		line-height: 1.3;
		margin-bottom: 50px;
	}
}

.section__divider {
	display: block;
	margin: 40px 0;
	position: relative;
}

@media screen and (min-width: 640px) {
	.section__divider {
		margin: 60px 0;
	}
}

.section__divider:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 5px;
	top: 50%;
	left: 0;
	background: rgba(136, 126, 111, 0.5);
}

.section__divider__img {
	display: block;
	margin: auto;
	position: relative;
	z-index: 2;
}

.section__divider-stars {
	display: block;
	margin: 27px 0;
	font-size: 3.2em;
	color: rgba(136, 126, 111, 0.5);
}

@media screen and (min-width: 640px) {
	.section__divider-stars {
		text-align: center;
		margin: 19px 0;
	}
}

.section__divider-badge {
	display: block;
	margin: 27px 0;
}

@media screen and (min-width: 640px) {
	.section__divider-badge {
		margin: 44px auto 50px;
	}
}

.btn {
	background: none;
	padding: 0;
	border: 0;
	text-align: center;
	font-family: "Lato", sans-serif;
	text-transform: uppercase;
	font-size: 1.6em;
	font-weight: 400;
	line-height: 1;
	padding: 16px 29px;
	display: block;
	width: 100%;
	letter-spacing: 1px;
	box-sizing: border-box;
}

.btn__text {
	position: relative;
	z-index: 2;
}

@media screen and (min-width: 640px) {
	.btn {
		width: auto;
		margin: auto;
		display: table;
		font-size: 1.8em;
	}
}

.btn--primary {
	color: #fff;
	position: relative;
}

.btn--primary:before {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background: #b3001c;
	transition: all .125s ease;
}

.btn--primary:hover:before, .btn--primary:focus:before {
	transform: scale(1.2, 1.4);
}

.btn--outline {
	color: #fff;
	border: 1px solid #fff;
	transition: background .5s ease, margin 1s ease;
	position: relative;
	margin-top: 0;
}

.btn--outline .icon-download-arrow {
	position: absolute;
	top: -65px;
	left: 0;
	width: 100%;
	padding-bottom: 30px;
	font-size: 2.5em;
	opacity: 0;
	transition: opacity .5s ease 0s;
}

.btn--outline:hover, .btn--outline:focus {
	background: #fff;
	color: #003745;
}

@media screen and (min-width: 640px) {
	.btn--outline:hover, .btn--outline:focus {
		margin-top: 105px;
		transition: background .5s ease, margin .5s ease;
	}
	.btn--outline:hover .icon-download-arrow, .btn--outline:focus .icon-download-arrow {
		opacity: 1;
		color: #fff;
		transition: opacity .5s ease .125s;
	}
}

.btn-container {
	margin-top: 50px;
}

@media screen and (min-width: 640px) {
	.btn-container {
		margin-top: 80px;
	}
}

.after-deadline {
	display: none;
}

.deadline .countdown {
	display: none;
}

.deadline .after-deadline {
	display: block;
}

.form {
	margin-bottom: 50px;
}

@media screen and (min-width: 640px) {
	.form {
		margin-bottom: 100px;
	}
}

.form ::-webkit-input-placeholder {
	color: #003745;
}

.form :-moz-placeholder {
	color: #003745;
}

.form ::-moz-placeholder {
	color: #003745;
}

.form :-ms-input-placeholder {
	color: #003745;
}

.form fieldset {
	margin-bottom: 50px;
	background: #fff;
}

.form legend {
	display: block;
	font: 700 2.2em/1.2 "akzidenz-grotesk", sans-serif;
	color: #003745;
	text-transform: uppercase;
	margin-bottom: 25px;
	float: left;
	width: 100%;
}

.form__row {
	clear: both;
}

.form__required {
	font: italic 300 0.8em "Lato", sans-serif;
	text-transform: none;
	display: block;
	transition: opacity .25s;
}

@media screen and (min-width: 640px) {
	.form__required {
		display: inline-block;
		margin-left: 6px;
	}
}

.not-required .form__required {
	opacity: 0;
}

.form__col {
	margin-top: 29px;
}

.form__col:first-of-type {
	margin-top: 0;
}

@media screen and (min-width: 768px) {
	.form__col {
		float: left;
	}
	.form__col--half {
		width: 46%;
		margin-left: 6%;
	}
	.form__col--half:first-of-type {
		margin-left: 0;
	}
	.form__col--third {
		width: 32%;
		margin-left: 2%;
		margin-top: 0;
	}
	.form__col--third:first-of-type {
		margin-left: 0;
	}
	.form__col--fourth {
		width: 46%;
		margin-left: 6%;
		float: left;
	}
	.form__col--fourth:nth-child(2) {
		margin-top: 0;
	}
	.form__col--fourth:nth-child(2n + 1) {
		margin-left: 0;
	}
}

@media screen and (min-width: 992px) {
	.form__col--fourth {
		width: 23%;
		margin-left: 2%;
		margin-top: 0;
	}
	.form__col--fourth:nth-child(2n + 1) {
		margin-left: 2%;
	}
	.form__col--fourth:first-of-type {
		margin-left: 0;
	}
}

.form label.error {
	color: #b3001c;
	font-size: 1.4em;
	font-style: italic;
	display: block;
	margin-top: 5px;
}

@media screen and (min-width: 640px) {
	.form label.error {
		margin-top: 12px;
	}
}

.form__helper {
	font-size: 1.4em;
	font-style: italic;
	color: #003745;
	display: block;
	margin-top: 5px;
}

@media screen and (min-width: 640px) {
	.form__helper {
		margin: 12px 0;
	}
}

.form__input--text {
	background: transparent;
	border: 2px solid rgba(136, 126, 111, 0.2);
	width: 100%;
	padding: 0 17px;
	min-height: 50px;
	font: 300 1.8em "Lato", sans-serif;
	color: #003745;
	-webkit-appearance: none;
}

.form__input--text:focus {
	border-color: #887e6f;
	outline: none;
	background: #fff;
}

.form__input--text + .form__input--text, .form__input--text + label.error + .form__input--text {
	margin-top: 10px;
}

.form__input--text.error {
	border-color: #b3001c;
}

.form__input--textarea {
	background: transparent;
	width: 100%;
	padding: 30px;
	border: 2px solid rgba(136, 126, 111, 0.2);
	min-height: 150px;
	resize: none;
	overflow: hidden;
}

.form__input--textarea:focus {
	border-color: #887e6f;
	outline: none;
}

.form__input--textarea.error {
	border-color: #b3001c;
}

.form__input--select {
	min-height: 60px;
	width: 100%;
	border: 2px solid rgba(136, 126, 111, 0.2);
	border-radius: 0;
	padding-left: 17px;
	color: #003745;
	min-height: 50px;
	font: 300 1.8em "Lato", sans-serif;
	background: url(../images/select-arrow.png) no-repeat 95% 50% transparent;
	-moz-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

.form__input--select::-ms-expand {
	display: none;
}

.form__input--select:focus {
	border-color: transparent;
	outline: none;
	background-color: rgba(136, 126, 111, 0.2);
}

.form__input--select.error {
	border-color: #b3001c;
}

.form__input--radio {
	padding-left: 40px;
	margin-bottom: 30px;
	position: relative;
	min-height: 39px;
}

@media screen and (min-width: 640px) {
	.form__input--radio {
		display: inline-block;
		margin-left: 30px;
		min-height: 20px;
		margin-bottom: 0;
	}
	.form__input--radio:first-of-type {
		margin-left: 0;
	}
}

.form__input--radio:last-of-type {
	margin-bottom: 0;
}

.form__input--radio label.error {
	position: absolute;
	left: 0;
	bottom: -160px;
	min-width: 170px;
}

@media screen and (min-width: 640px) {
	.form__input--radio label.error {
		bottom: -30px;
	}
}

.form__input--radio .form__label {
	position: relative;
	text-transform: none;
	color: #003745;
	font-weight: 300;
	font-size: 1.8em;
	padding-left: 27px;
	display: block;
	margin-top: 10px;
}

@media screen and (min-width: 640px) {
	.form__input--radio .form__label {
		padding-left: 4px;
		margin-top: 0;
	}
}

.form__input--radio .form__label:before {
	content: "";
	position: absolute;
	left: -40px;
	top: -12px;
	width: 39px;
	height: 39px;
	text-align: center;
	border: 2px solid rgba(136, 126, 111, 0.2);
	background: #fff;
	border-radius: 100%;
}

@media screen and (min-width: 640px) {
	.form__input--radio .form__label:before {
		left: -42px;
		top: -4px;
		width: 24px;
		height: 24px;
	}
}

.form__input--radio input:checked + .form__label:after, .form__input--radio input:focus + .form__label:after {
	content: "";
	position: absolute;
	width: 15px;
	height: 15px;
	background: #fff;
	left: -26px;
	top: 2px;
	border-radius: 100%;
}

@media screen and (min-width: 640px) {
	.form__input--radio input:checked + .form__label:after, .form__input--radio input:focus + .form__label:after {
		width: 12px;
		height: 12px;
		left: -34px;
		top: 4px;
	}
}

.form__input--radio input:checked + .form__label:before, .form__input--radio input:focus + .form__label:before {
	background: #887e6f;
	border-color: #887e6f;
}

.form__input--radio input.error + .form__label:before {
	border-color: #b3001c;
}

.form__input--checkbox {
	padding-left: 40px;
	margin-bottom: 20px;
}

.form__input--checkbox input:checked + .form__label:after {
	font-family: "iconfonts";
	font-size: 16px;
	position: absolute;
	left: -1px;
	top: -4px;
}

.form__input--checkbox .form__label {
	position: relative;
	text-transform: none;
	font-weight: 300;
	font-size: 1.6em;
}

.form__input--checkbox .form__label:before {
	content: "";
	position: absolute;
	left: -3px;
	top: -5px;
	width: 17px;
	height: 17px;
	text-align: center;
	border: 2px solid #8f0016;
	color: #b3001c;
	background: #fff;
}

.form__input--checkbox .form__label:after {
	content: "";
}

.form .service {
	max-height: 1000px;
	transition: max-height 2s ease, margin .25s;
}

.form .not-required {
	max-height: 0;
	overflow: hidden;
	margin: 0;
	transition: max-height .25s ease, margin .25s;
}

.form .not-required .form__input--select, .form .not-required .form__input--text, .form .not-required .form__input--textarea {
	border-color: rgba(136, 126, 111, 0.2);
}

@-moz-document url-prefix() {
	.form__input--select {
		padding-top: 12px;
	}
}

.page-footer {
	background: #333333;
	padding: 30px 0;
}

.page-footer__col--left a, .page-footer__col--left a:visited, .page-footer__col--left a:active { 
 color: white; 
 text-decoration: underline; 
 transition: all .25s; 
 } 

 .page-footer__col--left a:hover, .page-footer__col--left a:focus { 
 color: rgba(255, 255, 255, 0.6); 
 } 

@media screen and (min-width: 768px) {
	.page-footer {
		min-height: 200px;
		position: relative;
		padding: 56px 0;
	}
}

@media screen and (min-width: 768px) {
	.page-footer__col {
		display: inline-block;
		width: 47%;
	}
	.page-footer__col--right {
		text-align: right;
		vertical-align: bottom;
		margin-left: 5%;
	}
}

.page-footer__copy {
	color: rgba(255, 255, 255, 0.8);
	font-size: 1.6em;
	font-weight: 300;
	line-height: 1.55;
	margin-bottom: 21px;
	display: block;
}

@media screen and (min-width: 768px) {
	.page-footer__copy {
		margin-bottom: 0;
		font-size: 1.7em;
	}
}

@media screen and (min-width: 992px) {
	.page-footer__copy br {
		display: none;
	}
}

.page-footer__copy--emph {
	font-size: 1.7em;
	font-weight: 700;
	color: #fff;
	margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
	.page-footer__copy--emph {
		margin-bottom: 18px;
	}
}

.page-footer__copy--link {
	text-decoration: underline;
	transition: all .25s;
}

.page-footer__copy--link:hover, .page-footer__copy--link:focus {
	color: #fff;
}
