body {
	background-color: #f8f8fb;
	font-family: 'Work Sans', sans-serif;
}

::-moz-selection {
    background: #ffffff;
    color: #dd0f38;
    text-shadow: none;
}

::selection {
    background: #ffffff;
    color: #dd0f38;
    text-shadow: none;
}

a {
    color: #f29627;
    position: relative;
    display: inline-block;
    outline: none;
}

a:hover, 
a:focus {
    color: #4c96cf;
}

a::before,
a::after {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 1px;
	background: #f29627;
	content: '';
	-webkit-transition: -webkit-transform 0.3s;
	-moz-transition: -moz-transform 0.3s;
	transition: transform 0.3s;
	
	/* -webkit-transform: scale(0.85);
	-moz-transform: scale(0.85);
	transform: scale(0.85); */
}


a::after {
	opacity: 0;
	-webkit-transition: top 0.3s, opacity 0.3s, -webkit-transform 0.3s;
	-moz-transition: top 0.3s, opacity 0.3s, -moz-transform 0.3s;
	transition: top 0.3s, opacity 0.3s, transform 0.3s;
}

a:hover::before,
a:hover::after,
a:focus::before,
a:focus::after {
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	transform: scale(1);
}

a:hover::after,
a:focus::after {
	top: 0%;
	opacity: 1;
}

.embed-container { 
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 85%;
	margin-bottom: 3vw;
	margin-left: auto;
	margin-right: auto;
} 

.embed-container iframe, .embed-container object, .embed-container embed { 
	position: absolute; 
	top: 0; 
	left: 0; 
	width: 100%; 
	height: 100%; 
}



/* ---- Snow ----- */

.snowflake {
  color: #fff;
  font-size: 1em;
  font-family: Arial;
  /* text-shadow: 0 0 1px #000; */
}

@-webkit-keyframes snowflakes-fall{0%{top:-10%}100%{top:100%}}@-webkit-keyframes snowflakes-shake{0%{-webkit-transform:translateX(0px);transform:translateX(0px)}50%{-webkit-transform:translateX(80px);transform:translateX(80px)}100%{-webkit-transform:translateX(0px);transform:translateX(0px)}}@keyframes snowflakes-fall{0%{top:-10%}100%{top:100%}}@keyframes snowflakes-shake{0%{transform:translateX(0px)}50%{transform:translateX(80px)}100%{transform:translateX(0px)}}.snowflake{position:fixed;top:-10%;z-index:9999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:default;-webkit-animation-name:snowflakes-fall,snowflakes-shake;-webkit-animation-duration:10s,3s;-webkit-animation-timing-function:linear,ease-in-out;-webkit-animation-iteration-count:infinite,infinite;-webkit-animation-play-state:running,running;animation-name:snowflakes-fall,snowflakes-shake;animation-duration:10s,3s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite;animation-play-state:running,running}.snowflake:nth-of-type(0){left:1%;-webkit-animation-delay:0s,0s;animation-delay:0s,0s}.snowflake:nth-of-type(1){left:10%;-webkit-animation-delay:1s,1s;animation-delay:1s,1s}.snowflake:nth-of-type(2){left:20%;-webkit-animation-delay:6s,.5s;animation-delay:6s,.5s}.snowflake:nth-of-type(3){left:30%;-webkit-animation-delay:4s,2s;animation-delay:4s,2s}.snowflake:nth-of-type(4){left:40%;-webkit-animation-delay:2s,2s;animation-delay:2s,2s}.snowflake:nth-of-type(5){left:50%;-webkit-animation-delay:8s,3s;animation-delay:8s,3s}.snowflake:nth-of-type(6){left:60%;-webkit-animation-delay:6s,2s;animation-delay:6s,2s}.snowflake:nth-of-type(7){left:70%;-webkit-animation-delay:2.5s,1s;animation-delay:2.5s,1s}.snowflake:nth-of-type(8){left:80%;-webkit-animation-delay:1s,0s;animation-delay:1s,0s}.snowflake:nth-of-type(9){left:90%;-webkit-animation-delay:3s,1.5s;animation-delay:3s,1.5s}


/* ---- Type ---- */


* {
	text-rendering: optimizeLegibility!important;
	-webkit-font-smoothing: antialiased!important;
}

h1, h2, h3, h4 {
	font-family:"Arial MT W01 Black";
	font-weight: 900;
    margin-bottom: 1rem;
    color: #03346e;
}

h3 {
    font-size: calc(26em/16);
    letter-spacing: -.4px;
    line-height: calc(36/26);
    margin-top: 0;
}

h4 {
	font-style: normal;
	letter-spacing: .8px;
	line-height: calc(26/16);
	color: #03346e;
}

p {
	font-style: normal;
	letter-spacing: .8px;
	line-height: calc(26/16);
	color: #333333;
}

p.underline {
	text-decoration: underline;
	font-weight: bolder;
	color: #40a27f;
}

.box-with-text {
	background-image: -webkit-linear-gradient(#c1272d 50%, white 50%);
	background-position: 0 0;
	-webkit-background-clip: text;
	background-size: 100% 25px;
	background-repeat: repeat;
	-webkit-animation: stripes 3s linear infinite;
	animation: stripes 3s linear infinite;
	-webkit-text-fill-color: transparent; 
}

@-webkit-keyframes stripes {
  100% {
    background-position: 0 -50px; } }
@keyframes stripes {
  100% {
    background-position: 0 -50px; } }


@media only screen and (max-width: 68.75em) {
	 h1, .hero .hero-content h1 {
	    font-size: calc(52rem/16);
	}
	
	.hero .hero-content p, h3 {
		font-size: calc(22rem/16);
		line-height: calc(32/22);
	}
}

@media only screen and (max-height: 51.875em) {
	 h1, .hero .hero-content h1 {
	    font-size: calc(52rem/16);
	}
	
	.hero .hero-content p {
		font-size: calc(22rem/16);
	}	
	
	.top header {
		padding: 1em 0;
	}
}

@media only screen and (max-width: 40.625em) {
	 h1, .hero .hero-content h1 {
	    font-size: calc(32rem/16);
	}
	
	header {
		padding: 0!important;
	}
	
	.top .hero {
		padding: 120px 0 200px;
	}
	
	.hero .hero-content p {
		font-size: 1rem;
	}
}

/* ---- Header ---- */

header {
	
}

.logo {
	background-image: url(../img/total-logo.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	width: 200px;
	height: 123px;
	display: block;
	background-position: center;
	margin-left: auto;
	margin-right: auto;
}

.top {
	position: relative;
	width: 100%;
	overflow: hidden;
}

header {
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 40;
    padding: 3em 0;
}

.hero {
	position: relative;
	width: 100%;
	background: #dd0f38;
	padding: 190px 0 220px;
}

.hero-content {
	position: relative;
	z-index: 1;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
	text-align: center;
	margin-left: auto;
	margin-right: auto;
	width: 85%;
}

.hero-content h1 {
    color: #6d091d;
    font-size: calc(72rem/16);
    letter-spacing: -3px;
}

.hero-content h1 span {
	color: #fff;
    border-bottom: 5px solid #40a27f;
}

.hero-content p {
    font-size: calc(32rem/16);
    letter-spacing: -.4px;
    line-height: calc(42/32);
    color: #fff;
}

.hero-mask {
	background: url(../img/hero--winter--mask.svg) no-repeat;
	background-position: top;
	background-size: cover;
	height: 0;
	padding: 0px 0 18%;
	position: absolute;
	width: 100%;
	bottom: -2px;
}

.box {
	z-index: 10;
	position: relative;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

/* ---- Lower Content ---- */

.cards .row {
	margin-top: calc(-13rem);
}

.cards {
	/*margin-bottom: 140px;*/
	/*margin-top: -120px;*/
	position: relative;   
}

.exp-card {
	margin-bottom: 2em;
}

.wrapper {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	box-shadow: 0 5px 15px -5px rgba(27,121,180,.1);
	min-height: fit-content;
}

article {
	overflow: hidden;
	padding: 20px;
	position: relative;
	background: #fff;
}

.wrapper span {
	display: block;
    font-size: 12px;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
    color: #1b79b4;
}

article p {
	margin-bottom: 0;
}

.clear {
	clear: both;
}

.form {
	margin-bottom: 5em;
}

.jotform-form {
	padding: 0!important;
}

/* ---- Footer ---- */

footer {
	background-color: #dd0f38;
	position: relative;
	padding: 0 0 4em;
}

footer .center {
	width: 85%;
	text-align: center;
	margin: 0 auto;
	float: none!important;
}

footer .logo {
	margin-bottom: 2em;
}

footer h4 {
	color: #6d091d;
}

footer a:hover, footer a:focus {
	color: #ffffff;
}

.lower-content-mask {
    width: 100%;
    background: url(../img/footer--mask.svg) no-repeat;
    background-size: cover;
    background-position: center 2px;
    height: 0;
    padding: 0 0 6%;
}

footer p {
	color: #fff;
}