/* ========================================================================== *\
   TABLE OF CONTENTS
\* ==========================================================================

	1. RESET
	2. GENERAL TAGS
	3. FONTS
	4. STRUCUTRE
	5. COLUMNS
	6. FORMS
*/

/* ========================================================================== *\
   1. RESET
\* ========================================================================== */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
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: "" "";
}

/* Make HTML 5 elements display block-level for consistent styling */
main, article, section, aside, hgroup, nav, header, footer, figure, figcaption {
  display: block;
}

/* ========================================================================== *\
   2. GENERAL TAGS
\* ========================================================================== */

* {
	box-sizing: border-box;
}

html {
	font-size: 62.5%; /* == 10px rem == */
}

html, body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

body {
	font-size: 1.6rem; /* == 16px em == */
	line-height: 150%;
	color: #333333;
	background: #ffffff;
	font-family: 'Open Sans', sans-serif;
}

p {
	padding-bottom: 25px;
}

p.large {
	font-size: 2.4rem;
	line-height: 150%;
  color: #111111;
}

h1, h2, h3 {
    font-weight: 700;
    font-style: normal;
    color: #111111;
}

h1,
h2.large {
	font-size: 4.8rem;
	line-height: 115%;
	padding-bottom: 2.4rem;
	font-weight: bold;
}

h2,
h3.large {
	font-size: 3.2rem;
	line-height: 115%;
	padding-bottom: 2.4rem;
	font-weight: bold;
}

h3 {
	font-size: 3.2rem;
	line-height: 115%;
	font-weight: bold;
	padding-bottom: 1.6rem;
}

h4,
h3.small {
	font-size: 2.4rem;
	line-height: 150%;
	font-weight: bold;
	padding-bottom: 0.8rem;
}

a {
    transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
	color: #006AD3;
}

a:before,
a:after {
	transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
}

a:hover, a:focus, a:active {
	color: #006AD3;
	text-decoration: underline;
}

a:hover {
	outline: 0;
}

:focus {
	outline: 3px solid #FF4A43;
}

hr {

}

blockquote {

}

::selection {
	background: #111111;
	color: #ffffff;
}

::-moz-selection {
	background: #111111;
	color: #ffffff;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* ========================================================================== *\
   3. FONTS
\* ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700;800&display=swap');

/* ========================================================================== *\
   4. STRUCTURE
\* ========================================================================== */

header {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 2.4rem 9.6rem;
  background: #111111;
}

.logo {
	font-size: 2.4rem;
  font-weight: bold;
  text-transform: uppercase;
  color: #ffffff;
  text-decoration: none;
}

.logo:hover {
  text-decoration: none;
  font-style: italic;
  color: #ffffff;
}

.menu {
	display: block;
}

.menu ul {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 4.8rem;
}

.menu ul li {
	display: block;
}

.menu ul li a {
	display: block;
	overflow: hidden;
	text-decoration: none;
	color: #ffffff;
	font-size: 1.8rem;
	line-height: 100%;
	padding: 0.8rem 0;
	position: relative;
	cursor: pointer;
}

.menu ul li a:hover {
	text-decoration: none;
}

.menu ul li a:after {
	content: "";
	display: block;
	height: 0.2rem;
	width: 100%;
	background: #FF4A43;
	position: absolute;
	bottom: 0px;
	left: 100%;
}

.menu ul li a:hover:after,
.menu ul li a.active:after {
	left: 0px;
}

.menu ul li:last-child {
	margin-left: auto;
}

.menu ul li:last-child a {
	padding: 1.6rem 3.2rem;
	border: 2px solid #ffffff;
	color: #ffffff;
}

.menu ul li:last-child a:hover {
	background: #ffffff;
  color: #1111113;
}

.menu ul li:last-child a:after {
	display: none;
}

.hero {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	width: 100%;
	color: #ffffff;
	background: #FF4A43;
	font-size: 2rem;
	line-height: 150%;
}

.hero h1 {
  color: #ffffff;
}

.hero div {
  width: 50%;
}

.hero a {
  color: #ffffff;
  text-decoration: underline;
}

.hero a:hover {
  text-decoration: none;
  color: #ffffff;
}

.hero .btn {
	background: #ffffff;
	color: #111111;
	border-color: #ffffff;
	text-decoration: none;
	margin: 0 1.6rem 1.6rem 0;
}

.hero .btn.alt {
	background: transparent;
	color: #111111;
	border-color: #111111;
}

.hero .btn:hover,
.hero .btn.alt:hover {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
}

.hero div:first-child {
  padding: 4.8rem 9.6rem;
}

/*
.hero div:last-child {
	width: 100%;
}

*/

.hero .banner {
	display: block;
	width: 100%;
	background: #111111;
	color: #ffffff;
	text-align: center;
	padding: 2.4rem 4.8rem;
}

.hero .banner strong {
	color: #FF4A43
}

.hero .banner .btn {
	margin-bottom: 0px;
	margin-left: 1.6rem;
}

.hero .banner p {
	padding-bottom: 0px;
	display: inline-block;
}

.hero .banner .btn:hover {
	background: #FF4A43;
	border-color: #FF4A43;
	color: #ffffff;
}

.hero div img {
  display: block;
  width: 100%;
}

.cta {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 3.2rem;
}

.stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 6.4rem 6.4rem 4.8rem 6.4rem;
  background: #eeeeee;
}

.stats div {
  display: block;
  text-align: center;
  font-size: 2rem;
  color: #333333;
}

.stats div span {
  font-size: 4rem;
  font-weight: bold;
  display: block;
  text-align: center;
  padding-bottom: 1.6rem;
  color: #111111;
}

.callout {
	display: block;
	padding: 2.4rem 1.6rem 0rem 1.6rem;
	margin-bottom: 2.4rem;
	border: 2px solid #ffffff;
}

footer {
	display: block;
	padding: 9.6rem 4.8rem;
	font-size: 1.8rem;
  line-height: 150%;
  background: #111111;
  color: #ffffff;
}

footer h2 {
  color: #ffffff;
}

footer .btn {
  border-color: #FF4A43;
  background: #FF4A43;
  color: #111111;
  line-height: 100%;
}

footer .btn:hover {
  color: #111111;
  background-color: #ffffff;
  border-color: #ffffff;
}

footer .callout {
	background: #ffffff !important;
	color: #111111 !important;
}

main {
  display: block;
  padding: 0 0 9.6rem;
}


/* ========================================================================== *\
   6. GENERAL CLASSES
\* ========================================================================== */

.full {
  display: block;
  width: 100%;
  margin: 4.8rem 0 0 0;
}

.content {
	display: block;
	padding: 8rem 9.6rem 0 9.6rem;
}

.narrow {
  display: block;
  max-width: 800px;
  margin: 0 auto;
  font-size: 2rem;
  line-height: 150%;
	padding-top: 8rem;
}

.center {
  text-align: center;
}

.btn,
button {
	cursor: pointer;
	display: inline-block;
	margin: 0 auto;
	padding: 1.6rem 3.2rem;
	border: 2px solid #111111;
	color: #111111;
	background: transparent;
  text-decoration: none;
	font-size: 1.6rem;
  line-height: 100%
	cursor: pointer;
  text-transform: uppercase;
  font-weight: bold;
	transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
	-ms-transition: all .3s ease-in-out;
}

.btn:hover,
button:hover {
	background: #111111;
  color: #ffffff;
  text-decoration: none;
}

.subtitle {
	display: block;
	font-weight: bold;
	font-size: 1.6rem;
	line-height: 150%;
  letter-spacing: 1px;
	padding-bottom: 1.6rem;
  text-transform: uppercase;
  color: #FF4A43;
}

.clear {
    clear:both;
}

.clear.sm {
	height: 2rem !important;
}

.clear.md {
	height: 4rem !important;
}

.clear.lg {
	height: 6rem !important;
}

.clear.xl {
	height: 8rem !important;
}

/* ========================================================================== *\
   5. COLUMNS
\* ========================================================================== */

.columns {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.columns .col {
	display: block;
}

.centerV {
	align-items: center;
}

.col.right {
	text-align: right;
}

.one_half {
	width:48%;
}

.one_third {
	width:30.66%;
}

.two_third {
	width:65.33%;
}

.one_fourth {
	width:22%;
}

.three_fourth{
	width:74%;
}

.one_fifth {
	width:16.8%;
}

.two_fifth{
	width:37.6%;
}

.three_fifth {
	width:58.4%;
}

.four_fifth {
	width:79.2%;
}

.one_sixth {
	width:13.33%;
}

.five_sixth {
	width:82.67%;
}

/* ========================================================================== *\
   6. FORM
\* ========================================================================== */

.mailingList {
	display: block;
	width: 100%;
	max-width: 800px;
	border: 5px solid #FF4A43;
	padding: 2.4rem 4.8rem;
	margin: 0 auto;
}

input {
	width: 100%;
	display: block;
	border: 1px solid #111111;
	padding: 1.6rem 2.4rem;
	font-size: 1.6rem;
	margin-bottom: 2.4rem;
}

label {
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #111111;
	margin-bottom: 0.8rem;
}

.message {
	padding: 2.4rem 0 0 0;
	font-style: italic;
	color: #111111;
}

.right {
	text-align: right;
}