/*
NORMALIZE
*/
html,
body {
	margin: 0;
	padding: 0;
	background: #191919;
	width: 100%;
	height: 100%;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	color: #fff;

	font-family: "greycliff-cf", sans-serif;
	font-weight: 400;
	font-style: normal;
	letter-spacing: 0.05em;

	font-size: 1rem;
	line-height: 1.2;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
h1,h2,h3,h4,h5,h6 {
	font-weight: 700;
	font-variation-settings: inherit;
	margin-top: 0;
	margin-bottom: 0;
}
p,li,a {
	font-weight: inherit;
	font-variation-settings: inherit;
	margin-top: 0;
	margin-bottom: 0;
}
ul, li {
	list-style: none;
	margin: 0;
	padding: 0;
}
a {
	color: inherit;
	text-decoration: none;
}
a:focus-visible {
	outline: thin dotted;
}
img {
	display: block;
	height: auto;
	width: 100%;
	max-width: 100%;
}
input, select, textarea, button {
	font-family: inherit;
	font-weight: inherit;
	font-style: inherit;
	outline: 0;
  width: 100%;
  box-sizing: border-box;
}
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polygon points='12,17 6,9 18,9' fill='%23e53935'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 0.5em center !important;
  background-size: 1.5em auto !important;
}



/*
TYPOGRAPHY
*/
h1, .h1 {
	font-size: 3.4em;
}
h2, .h2 {
	font-size: 3em;
}
h3, .h3 {
	font-size: 2.5em;
}



/*
HEADER
*/
.site_header {
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 100%;
	background: linear-gradient(90deg,rgba(25, 25, 25, 1) 0%, rgba(25, 25, 25, 1) 75%, rgba(255, 0, 0, 1) 100%);
}
.site_header > .container {
	padding-top: 2.5em;
	padding-bottom: 1em;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.header_ctas .btn:not(:last-child) {
	margin-right: 1em;
}
.logo img {
	height: 75px;
	width: auto;
}
.header_sep {
	width: 100%;
	height: 2px;
	background: linear-gradient(90deg,rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50%, rgba(255, 0, 0, 1) 100%);
}




/*
HERO
*/
.hero_section {
	margin-top: 133px;
	position: relative;
}
body > * {
	scroll-margin-top: 100px;
}
body > .form_section {
	scroll-margin-top: calc(100px + 6em);
}
.hero_content {
	position: relative;
	z-index: 10;
	padding-top: 8em;
	padding-bottom: 8em;
}
.hero_content .header_ctas {
	margin-top: 2em;
	margin-bottom: 5em;
}
.hero_bg {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: radial-gradient(at 100% 100%,rgba(118, 0, 0, 1) 0%, rgba(36, 22, 22, 1) 60%, rgba(0, 0, 0, 1) 100%);
}
.hero_bg:after {
	content: "";
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 40%;
	background: linear-gradient(0deg, rgba(25, 25, 25, 1) 0%, rgba(25, 25, 25, 1) 25%, rgba(25, 25, 25, 0) 100%);
}


/*
FEATURES
*/
.features_section {
	padding-top: 5em;
}
.features_section h2 {
	margin-bottom: 1em;
}
.feature_cards {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2em;
	align-items: stretch;
}
.feature_cards > * {
	border: 3px solid #3A4E60;
	border-radius: 1.25em;
	padding: 2em 3em;
	background: linear-gradient(135deg,rgba(49, 80, 108, 0) 0%, rgba(20, 34, 47, 1) 100%);
}
.feature_cards > * img {
	margin-bottom: 2em;
}
.feature_cards > * p {
	font-size: 2.15em;
}
.feature_cards > * h3 {
	margin-bottom: 0.25em;
}


/*
DOWNLOAD
*/
.download_section {
	position: relative;
	padding-top: 20em;
	padding-bottom: 12em;
	overflow: clip;
}
.download_section h2 {
	padding-top: 0.5em;
	margin-bottom: 0.75em;
}
.download_content {
	display: flex;
	position: relative;
	z-index: 10;
}
.dl_left {
	flex-basis: 60%;
	padding-right: 5em;
}
.dl_right {
	flex-basis: 40%;
}
.dl_ctas {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1em;
	align-items: flex-start;
}
.download_bg_wrap img {
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	width: auto;
	height: 180%;
	transform: translate(12em, -30%);
	filter: blur(2em);
}


/*
FORM SECTION
*/
.form_section {
	/*padding-top: 6em;*/
	padding-bottom: 6em;
}
select:disabled {
	opacity: 0.35;
	cursor: not-allowed;
}
.form_content h2 {
	text-align: center;
	margin-bottom: 1em;
}


.form_content {
	border: 3px solid #3A4E60;
	border-radius: 1.25em;
	padding: 2em 3em;
	background: linear-gradient(135deg,rgba(49, 80, 108, 1) 0%, rgba(20, 34, 47, 1) 100%);
}

#contact-form {
	display: flex;
	flex-wrap: wrap;
	column-gap: 3em;
	row-gap: 1.5em;
}
#contact-form > * {
	flex-basis: 100%;
}
#contact-form > .form-group {
	flex-basis: calc(50% - 1.5em) !important;
}
#contact-form > .form-group.form_wide {
	flex-basis: 100% !important;
}
#contact-form > .form-group label {
	display: block;
	font-size: 1.25em;
	line-height: 1;
	padding-bottom: 0.5em;
}
#contact-form #form-status {
	text-align: center;
	font-size: 1.25em;
}
#contact-form > .form-group > * {
	width: 100%;
}
#contact-form > .form-group input,
#contact-form > .form-group select,
#contact-form > .form-group textarea {
	border: 3px solid;
	border-color: #fff;
	background: #fff;
	color: #666;
	box-shadow: none;
	border-radius: 0.5em;
	font-size: 1.75em;
	padding: 0.5em;
	transition: border-color .3s ease;
}
#contact-form > .form-group input:focus,
#contact-form > .form-group input:active,
#contact-form > .form-group select:focus,
#contact-form > .form-group select:active,
#contact-form > .form-group textarea:focus,
#contact-form > .form-group textarea:active {
	border-color: #0093FF;
}
#contact-form > .form-group input,
#contact-form > .form-group select {
	min-height: 72px;
}
#contact-form > .form-group textarea {
	resize: vertical;
}
#contact-form button[type="submit"] {
	flex-basis: auto;
	margin-left: auto;
	margin-right: auto;
	padding-left: 4em;
	padding-right: 4em;
	margin-top: 1em;
	cursor: pointer;
}







/*
FOOTER
*/
.footer_section {
	background-color: #920C0D;
	color: #fff;
	padding-top: 6em;
	padding-bottom: 6em;
}
.footer_logo img {
	filter: brightness(0) invert(100%);
}
.footer_navs {
	padding-left: 84px;
	margin-top: 3em;
	display: flex;
	flex-wrap: wrap;
}
.footer_navs ul {
	font-size: 1.5em;
	line-height: 1.4;
	padding-right: 1.5em;
	flex-basis: calc(33.3333% - 1em);
}
.footer_navs ul:last-child {
	padding-right: 0;
}
.footer_navs ul a:hover {
	text-decoration: underline;
}


/*
LEGAL PAGES
*/
.legal_section {
	padding-top: 3em;
	padding-bottom: 3em;
	font-size: 1.2em;
}
.legal_section h1 {
	font-size: 3em;
	margin-bottom: 0.5em;
}
.legal_section h2 {
	font-size: 1.5em;
	margin-bottom: 0.5em;
	margin-top: 1em;
}
.legal_section h3 {
	font-size: 1.15em;
	margin-bottom: 0.25em;
	margin-top: 0.75em;
}
.legal_section p:not(:last-child) {
	margin-bottom: 0.75em;
}
.legal_section ul {
	margin-left: 1.5em;
}
.legal_section ul li {
	list-style: disc;
	padding-left: 0.5em;
}




/*
BUTTONS
*/
.btn {
	width: auto;
	display: inline-block;
	font-size: 1.6em;
	line-height: 1;
	font-weight: 700;
	padding: 0.4em 1em 0.5em 1em;
	border-radius: 1em;
	border: 2px solid;
	transition: background-color .3s ease, color .3s ease;
}
.btn_white {
	background-color: #fff;
	color: #000;
	border-color: #fff;
}
.btn_white:hover {
	background-color: #000;
	color: #fff;
}
.btn_red {
	background-color: #ff0000;
	color: #fff;
	border-color: #ff0000;
}
.btn_red:hover {
	background-color: #fff;
	color: #ff0000;
}

.btn_blue {
	background-color: #0093FF;
	color: #fff;
	border-color: #0093FF;
}
.btn_blue:hover {
	background-color: #fff;
	color: #0093FF;
}
.btn_green {
	background-color: #00B429;
	color: #fff;
	border-color: #00B429;
}
.btn_green:hover {
	background-color: #fff;
	color: #00B429;
}



/*
GENERAL
*/
.container {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 40px;
	padding-right: 40px;
}
.container_sm {
	max-width: 1200px;
}
.container_xs {
	max-width: 1000px;
}
.section_centered {
	text-align: center;
}
html {
  scroll-behavior: smooth;
}
/*::selection {
	background-color: rgba(12, 180, 174, 0.5);
	color: #fff;
}*/




@media (max-width: 1299px) {
	body {
		font-size: 0.75rem;
	}
	.logo img {
		height: 55px;
	}
	.footer_navs {
		padding-left: 62px;
	}
	#contact-form > .form-group input,
	#contact-form > .form-group select {
		min-height: 54px;
	}
	.hero_section {
		margin-top: 99px;
	}
	body > * {
		scroll-margin-top: 75px;
	}
	body > .form_section {
		scroll-margin-top: calc(75px + 6em);
	}

	.download_content {
		max-width: 800px;
	}
	.dl_left {
		flex-basis: 65%;
	}
	.dl_right {
		flex-basis: 35%;
	}
}

@media (max-width: 899px) {
	body {
		font-size: 0.6rem;
	}
	.logo img {
		height: 45px;
	}
	.footer_navs {
		padding-left: 50px;
	}
	#contact-form > .form-group input,
	#contact-form > .form-group select {
		min-height: 44px;
	}
	.hero_section {
		margin-top: 80px;
	}
	body > * {
		scroll-margin-top: 60px;
	}
	body > .form_section {
		scroll-margin-top: calc(60px + 6em);
	}

	.btn {
		font-size: 2em;
	}

	.container {
		padding-left: 20px;
		padding-right: 20px;
	}
	.site_header .header_ctas {
		display: none;
	}
	.feature_cards > * p {
		font-size: 1.85em;
	}
	.site_header {
		background: linear-gradient(90deg,rgba(25, 25, 25, 1) 0%, rgba(25, 25, 25, 1) 50%, rgba(255, 0, 0, 1) 100%);
	}
}

@media (max-width: 599px) {
	#contact-form > .form-group {
		flex-basis: 100% !important;
	}
	.feature_cards > * {
		grid-column: span 2;
	}
	.form_content {
		padding: 2em;
	}

	.btn {
		font-size: 1.8em;
	}

	.download_content {
		flex-wrap: wrap;
	}
	.download_content > * {
		flex-basis: 100%;
	}
	.dl_left {
		padding-right: 0;
		margin-bottom: 4em;
	}
	.dl_right img {
		max-width: 200px;
		margin-left: auto;
		margin-right: auto;
	}
	.download_section {
		padding-top: 10em;
	}
	.footer_navs ul {
		flex-basis: 100%;
		padding-right: 0;
		margin-bottom: 1.5em;
	}
	.footer_navs ul:last-child {
		margin-bottom: 0;
	}

	.download_bg_wrap img {
		top: auto;
		bottom: 0;
		left: 50%;
		height: 90%;
		transform: translate(-50%, 20%);
		filter: blur(2em);
		max-width: none;
	}
	.dl_ctas {
		gap: 2em;
	}

	#contact-form > .form-group label,
	#contact-form #form-status {
		font-size: 1.5em;
	}
	#contact-form {
		row-gap: 3em;
	}
}

@media (max-width: 419px) {
	.hero_content .header_ctas {
		margin-top: 1em;
	}
	.hero_content .header_ctas .btn {
		margin-top: 1em;
		margin-right: 1em;
		margin-left: 1em;
	}
}

@media (max-width: 374px) {
	.dl_ctas > * {
		grid-column: span 2;
	}
}
