body {
	background-color: #f7f9fa;
	font-family: 'Nunito', sans-serif;
	font-weight: 400;
}

::-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;
}

.column-center {
    left: 0;
}

@media(min-width: 1025px) {
    .column-center {
        left: 33.3%;
    }
}

img {
	width: 100%;
}

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

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

h1, h2, h3, h4 {
	font-family: 'Nunito', sans-serif;
	font-weight: 700;
	margin-bottom: 1rem;
	color: #374649;
}

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 {
	border-bottom: 1px solid #40a27f;
	font-weight: bolder;
}



@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 .hero {
		padding: 140px 0 140px;
	}
}

@media only screen and (max-width: 40.625em) {
	.top .hero {
		padding: 150px 0 70px;
	}
}

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

.logo {
	background-image: url(../img/new-total-logo.png);
	background-size: 100%;
	background-repeat: no-repeat;
	width: 200px;
	height: 147px;
	display: block;
	background-position: center;
	margin-left: 0.9375rem;
	margin-bottom: 2em;
}

.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: rgb(255,110,0);
	background: linear-gradient(180deg, rgba(255,110,0,1) 0%, rgba(255,0,0,1) 100%);
	padding: 230px 0 171px;
}

.hero-content {
	position: relative;
	z-index: 1;
	padding-left: 0.9375rem;
    padding-right: 0.9375rem
}

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

.hero-content h1 span {

}

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

.hero-mask {
	background: url(../img/hero--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;
	margin-bottom: 2em;
	padding-left: 0.9375rem;
	padding-right: 0.9375rem;
}

@media only screen and (max-width: 40.625em) {
	.logo {
		width: 150px;
		height: 113px;
	}
	
	header {
		padding: 1em 0;
	}
}

@media only screen and (max-height: 51.875em) {	
	.logo {
		width: 150px;
		height: 113px;
	}
	
	header {
		padding: 1em 0;
	}
}

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

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

.exp-card {
	margin-bottom: 2em;
	min-height: 635px;
}

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

.media-wrapper img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

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: #009bff;
}

article p {
	margin-bottom: 0;
}

.clear {
	clear: both;
}

[class*="column"] + [class*="column"]:last-child {
	float: left;
}

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

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

footer {
	background: rgb(255,110,0);
	background: linear-gradient(180deg, rgba(255,110,0,1) 0%, rgba(255,0,0,1) 100%);
	position: relative;
	padding: 0 0 4em;
}

footer h4 {
	color: #fff;
}

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;
}