﻿/***** BEGIN 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, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	background: transparent;
	border: 0;
	margin: 0;
	padding: 0;	
}

ol, ul {
	list-style: none;
}

table{border-collapse:collapse; width:100%;}
td{vertical-align:top;}

/* Make HTML 5 elements display block-level for consistent styling */  
header, nav, article, footer, address {  
    display: block;  
} 


html{
	scroll-behavior: smooth;
}
/*-------- COLORS --------

*/

/***** END RESET *****/
::-moz-selection {
    background: #20e91f; 
    color: #fff;
    text-shadow: none;
}
::selection {
    background: #20e91f;
    color: #fff;
    text-shadow: none;
}


/* Clearfix */
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}

/*-------- BODY STYLES --------*/

body {

}

a:link, a:visited, a:active {text-decoration:none;}
a:hover {text-decoration:none;}


hr{border:#000 1px solid;}

/*--- HEADER STYLES ---------------------*/
header {}

.header{padding-bottom: 30px; display: flex; justify-content: space-between; align-items: center;}

.start-col{
	display: flex;
}
.start-col .logo{
	padding-left: 65px;
}

.end-col, .footer > div{	
    display: flex;
}
.end-col a, .footer > div a{	
	font-size: 30px;
	line-height: 26px;
    color: #000;
	
	font-weight: 900;
	-moz-transition: ease-in-out all 0.3s;
	-o-transition: ease-in-out all 0.3s;
	-webkit-transition: ease-in-out all 0.3s;
	transition: ease-in-out all 0.3s;
}
.end-col a:hover, .footer > div a:hover, .social a:hover{	
    color: #222;
}
.social{	
    display: flex;
	
	font-size: 30px;
	line-height: 26px;
	padding-right: 30px;
}
.social a{	
    color: #000;
	-moz-transition: ease-in-out all 0.3s;
	-o-transition: ease-in-out all 0.3s;
	-webkit-transition: ease-in-out all 0.3s;
	transition: ease-in-out all 0.3s;
}
.social a i{	
    padding-left: 30px;
}

/*---BODY--------------------------------*/

.site-wrapper{
	font-family: inter, sans-serif;
	padding: 30px;
}

.flex{display: flex;}
.flex-wrap{flex-wrap: wrap;}

.col50{width: 50%; box-sizing: border-box; position: relative; min-height: 15px;}
.col33{width: 33.333333%; box-sizing: border-box; position: relative;}

.pad{padding: 120px 80px 320px;}


/* BACKGROUND */

.bg-ctas{
	background: url("/siteart/ctas-bg.jpg") center center;
	-moz-background-size: cover;
	-o-background-size: cover;
	-webkit-background-size: cover;
	background-size: cover;
	
	color: #fff;
}
#all-services{
	background: url("/siteart/services-bg.jpg") center center;
	-moz-background-size: cover;
	-o-background-size: cover;
	-webkit-background-size: cover;
	background-size: cover;
	
	color: #fff;
}


.bg-ctas{
	position: relative;
}
.bg-ctas:before{
	content: '';
	display: block;
	background: rgba(0,0,0,0.1);
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	position: absolute;
}


.bg-ctas .col50:nth-of-type(2){
	border-left: solid 1px #fff;
}
.bg-ctas .col50:nth-of-type(3){
	border-top: solid 1px #fff;
}
 .bg-ctas .col50:nth-of-type(4){
	border-top: solid 1px #fff;
	border-left: solid 1px #fff;
}

.bg-gradient{
	background: linear-gradient(45deg, rgba(0,0,0,0.33), rgba(0,0,0,0))
}

.bg-gray{
	background: #d4d4d4;
}
.bg-dark{color: #fff; background: #000;}

/* TYPOGRAPHY */

.heading-xl{
	margin-bottom: 30px;
	font-size: 120px;
	line-height: 120px;
	text-transform: uppercase;
	font-weight: 900;
}
.heading{
	margin-bottom: 30px;
	font-size: 30px;
	line-height: 36px;
	text-transform: uppercase;
	font-weight: 900;
}
.bg-dark .heading{color: #fff;}
.site-wrapper p{
	margin-bottom: 30px;
	font-size: 16px;
	line-height: 30px;
}
.site-wrapper ul{
	margin-bottom: 30px;
	font-size: 16px;
	line-height: 30px;
	list-style: disc;
	padding-left: 24px;
}
.site-wrapper p a{
	font-weight: 700;
	color: #000;
}
.site-wrapper .bg-dark p a{
	font-weight: 700;
	color: #fff;
}
.site-wrapper .bg-ctas p{
	margin-bottom: 40px;
	font-size: 16px;
	line-height: 24px;
}


/* HERO */

.hero{
	background: url("/siteart/hero.jpg") center center;
	position: relative;
	-moz-background-size: cover;
	-o-background-size: cover;
	-webkit-background-size: cover;
	background-size: cover;
	color: #fff;
}
.hero .heading{
	font-size: 44px;
	line-height: 54px;
	color: #fff;
}
.hero p{
	font-size: 20px;
	line-height: 30px;
	color: #d4d4d4;
	text-transform: uppercase;
	font-weight: 700;
}

/* MISC */

.left-border{
	background: #000;
	width: 15px;
	height: 100px;
	max-height: 100%;
	display: block;
	position: relative;
	
}
.left-border:before{
	position: absolute;
	content: '';
	display: block;
	top: 0;
	left: 0;
	bottom: 50%;
	right: 0;
	background: #20e91f;
}
.gray{
	color: #d4d4d4;
}
.medium{font-weight: 500;}
.border-sides{
	border-left: 1px #fff solid;
	border-right: 1px #fff solid;
}

/* CTAS */

.bg-ctas a:not(.cta){
	font-weight: 700;
	color: #fff;
}

.cta{
	position: absolute;
	bottom: 120px;
	left: 80px;
	
	padding: 0 20px;
	width: 260px;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 48px;
	display: block;
	font-family: inter, sans-serif;
	font-weight: 400;
	text-align: center;
	
	background: #000;
	color: #fff;
	
	text-transform: uppercase;
	
	letter-spacing: 1px;
	
	
	max-width: calc(100% - 80px);
	
	-moz-transition: ease-in-out all 0.3s;
	-o-transition: ease-in-out all 0.3s;
	-webkit-transition: ease-in-out all 0.3s;
	transition: ease-in-out all 0.3s;
}
.cta span{
	position: relative;
	
	-moz-transition: ease-in-out all 0.3s;
	-o-transition: ease-in-out all 0.3s;
	-webkit-transition: ease-in-out all 0.3s;
	transition: ease-in-out all 0.3s;
	left: 5px;
}
.cta:hover span{
	left: 8px;
}
.cta:hover{
	background: #222;
	padding-left: 25px;
}
.bg-dark .cta{
	background: #fff;
	color: #000;
}

.cta:before{
	position: absolute;
	content: '';
	display: block;
	top: 0;
	left: 0;
	bottom: 50%;
	right: calc(100% - 15px);
	background: #20e91f;
	-moz-transition: ease-in-out all 0.3s;
	-o-transition: ease-in-out all 0.3s;
	-webkit-transition: ease-in-out all 0.3s;
	transition: ease-in-out all 0.3s;
}
.cta:hover:before{
	background: #d4d4d4;
	right: calc(100% - 10px);
}

/*--------FORM STYLES--------------------*/

.custom-form input{
	width: calc(100% - 10px);
	box-sizing: border-box;
	padding: 10px;
	font-family: inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #000;
	line-height: 24px;
	resize: none;
	margin-bottom: 10px;
	outline: none;
	border: none;
	background: #f7f7f7;
}
.custom-form .flex > input{
	width: calc(50% - 10px);
	margin-right: 10px;
}
.custom-form textarea{
	width: calc(100% - 10px);
	box-sizing: border-box;
	padding: 10px;
	font-family: inter, sans-serif;
	font-weight: 400;
	font-size: 16px;
	color: #000;
	line-height: 24px;
	resize: none;
	margin-bottom: 10px;
	height: 120px;
	outline: none;
	border: none;
	background: #f7f7f7;
}
.custom-form label{
	font-weight: 700;
	margin-bottom: 24px;
	display: block;
}
button.cta{
	border: none !important;
	outline: none !important;
	cursor: pointer; 
}
.CaptchaPanel{
	text-align: left !important;
}
.CaptchaPanel, .CaptchaAnswerPanel, .CaptchaImagePanel, .CaptchaMessagePanel{
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.CaptchaWhatsThisPanel a{
	color: #000 !important;
}




/*-------- FOOTER STYLES ----------------*/
footer{}


.footer{padding-top: 30px; display: flex; justify-content: space-between; align-items: center;}

.footer > div{
	display: flex;
	align-items: center;
}
.footer p{
	font-size: 14px;
	line-height: 24px;
	padding-left: 65px;
	margin: 0;
	text-transform: uppercase;
}


/*----INVENTORY STYLES - KEEP AT BOTTOM OF CSS----*/







/*---------- RESPONSIVE STYLES ----------*/

@media only screen and (max-width: 1600px) {

	.heading-xl{
		font-size: 100px;
		line-height: 100px;
	}
}
@media only screen and (max-width: 1279px) {

	.heading-xl{
		font-size: 80px;
		line-height: 80px;
	}
	.pad{padding: 60px 40px 240px;}

	.start-col .logo{padding-left: 45px;}
	.footer p{padding-left: 45px;}
	.cta{
		bottom: 60px;
		left: 40px;
	}
	
	.hide-md{
		display: none !important;
	}
}
@media only screen and (min-width: 1024px) {
	.show-mobile{display: none !important;}
}
@media only screen and (max-width: 1023px) {
	
	.heading-xl{
		font-size: 120px;
		line-height: 120px;
	}
	
.logo{display: flex; align-items: center;}
.logo img{max-width: 100%;}

	.hide-mobile{display: none !important;}
	.col50:not(.decorative){
		width: 100%;
	}
	
	.bg-ctas .col50{
		border-top: #fff solid 1px;
		border-left: none !important;
		border-right: none !important;
	}
	.col33:not(.decorative){
		width: 50%;
	}
	
	.border-sides{
		border-right: none;
	}
	
	.bg-ctas .col33:last-of-type{
		border-top: solid 1px #fff;
		width: 100%;
	}
	.hero{
		position: relative;
		background-position: 60% 20%;
	}
	.hero:before{
		content: '';
		display: block;
		background: rgba(0,0,0,0.5);
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		position: absolute;
	}
	.bg-ctas{
		position: relative;
	}
	.bg-ctas:before{
		content: '';
		display: block;
		background: rgba(0,0,0,0.2);
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		position: absolute;
	}
	.site-wrapper{padding: 30px 15px;}
	.hero .pad{padding: 60px 30px 205px; position: relative;}
	.pad{padding: 60px 30px 195px;}
	.start-col .logo{padding-left: 25px;}
	
	.footer p{padding-left: 25px;}
	
	.cta{
		bottom: 60px;
		left: 30px;
	}
	
	.hero .heading, .heading{font-size: 24px; line-height: 30px; position: relative;}
	.hero p{font-size: 16px; line-height: 24px; position: relative;}
	
	
}
@media only screen and (max-width: 767px) {
	
	.heading-xl{
		font-size: 60px;
		line-height: 60px;
	}
	.cta{font-size: 14px;}

	.footer > div:last-of-type {
		display: none;
	}
	.col33:not(.decorative){
		width: 100%;
		border: none;
	}
	.border-sides{
		border-left: none;
		border-right: none;
		border-top: solid 1px #fff !important;
		border-bottom: solid 1px #fff !important;
	}
	
}
@media only screen and (max-width: 480px) {
	
	.heading-xl{
		font-size: 48px;
		line-height: 48px;
	}
	
}






