﻿/***** 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;  
} 

/*-------- COLORS --------

	ORANGE:  #F06229
	DARK ORANGE:    #CA5323

	GRAY: #666, #BCBCBC
*/

/***** END RESET *****/
::-moz-selection {
    background: #000; 
    color: #fff;
    text-shadow: none;
}
::selection {
    background: #000;
    color: #fff;
    text-shadow: none;
}


/* Clearfix */
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
    *zoom: 1;
}

/*-------- BODY STYLES --------*/

* {box-sizing: border-box;}

body {

}

.flex {display: flex;}

.flex-1 {width: 100%;}

.flex-1 .wid-90 {width: 80%;}

.wid-90 {width: 90%; margin: 0 auto; max-width: 1700px;}

.padit {padding: 50px 0;}

.logo {max-width: 300px;}

.logo img {padding: 15px 0; width: 100%; display: block;}

#menu-button .logo {max-width: 200px; margin-left: 20px;}

.mobile-only {display: none;}

/*------------- TEXT STYLES AND BUTTONS -------------*/

.orange {color: #9F411B;}

.white {color: #fff;}

.upper {text-transform: uppercase;}

a:link, a:visited, a:active {text-decoration:none; font-family: "Roboto", sans-serif;}
a:hover {text-decoration:none;}

h1, h2, h3, h4, h5, h6 { font-family: "Roboto", sans-serif; }

p, li {
	font-family: "Roboto", sans-serif;
	font-size: 16px;
}

p.body-text {
	line-height: 2;
	font-weight: 400;
}

.sm-heading {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 4px;
	text-transform: uppercase;
	font-family: "Source Serif 4", serif;
}

.heading {
	font-size: 48px;
	font-weight: 900;
	text-transform: uppercase;
}

/*  BUTTONS  */

.white-btn {
	width: 165px;
	padding: 13px;
	background: #fff;
	color: #000;
	font-size: 16px;
	font-weight: 900;
	font-family: "Roboto", sans-serif;
	cursor: pointer;
	border: 1px solid #fff;
	border-radius: 3px;
	-webkit-transition:.4s ease-in;  
	-moz-transition:.2s ease-in;  
	-o-transition:.2s ease-in;  
	transition:.2s ease-in;
}

.white-btn:hover {
	color: #fff;
	background: transparent;
}

.orange-btn {
	width: 165px;
	padding: 13px;
	background: #F06229;
	color: #000;
	font-size: 16px;
	font-weight: 900;
	font-family: "Roboto", sans-serif;
	cursor: pointer;
	border: 1px solid #F06229;
	border-radius: 3px;
	-webkit-transition:.4s ease-in;  
	-moz-transition:.2s ease-in;  
	-o-transition:.2s ease-in;  
	transition:.2s ease-in;
}

.orange-btn:hover {
	color: #000;
	border: 1px solid #000;
	background: transparent;
}


/*--- HEADER STYLES ---------------------*/
header { }

.main-header .wid-90 {
	display: flex;
	justify-content: space-between;
}

.header-top {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 15px;
	margin-top: 20px;
}

.header-top a {
	font-size: 22px;
}

.main-header .search-bar {
	display: flex;
	border: 1px solid #717171;
}

.main-header .search-bar input {
	border-radius: 0 !important;
	padding: 10px !important;
	width: 200px !important;
	font-size: 16px !important;
	border: none !important;
	height: unset !important;
	line-height: unset !important;
}

.main-header .search-bar input:focus {
	outline: none;
}

.main-header .search-bar button {
	padding: 10px;
	border-radius: 0;
	font-size: 16px;
	border: none;
	background-color: #F06229;
	cursor: pointer;
	-webkit-transition:.4s ease-in;  
	-moz-transition:.3s ease-in;  
	-o-transition:.3s ease-in;  
	transition:.3s ease-in;
}

.main-header .search-bar button:hover {
	background-color: #CA5323;
}

.main-header .mobile-search {
	display: none;
	background-color: #F06229;
	padding: 10px 0;
}

.mobile-search .search-bar input {
	width: 100% !important;
}

.mobile-search .search-bar button {
	background-color: #fff;
}

.mobile-search .search-bar button:hover {
	background-color: #e1e1e1;
}



/*---BODY--------------------------------*/
.hero.flex {
	position: relative;
}

.hero-left {
	background-color: #F06229;
	background-image: linear-gradient(90deg, rgba(0,0,0,0.2), rgba(0,0,0,0.0) 50%);
	padding: 150px 200px 150px 5%;
	clip-path: polygon(0 0, 100% 0, 86% 100%, 0% 100%);
	width: 60%;
	margin-right: -20%;
}

.hero-text h1.heading {
	font-size: 54px;
	margin-bottom: 20px;
}

.hero-right {
	background-image: url("../siteart/hero.jpg");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: right;
	width: 60%;
	position: relative;
	z-index: -1;
}

.hero-cutout {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 60%;
	background-image: url("../siteart/hero-cutout.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-position: right;
}

.ql-aside.flex {
	justify-content: space-around;
	align-items: center;
	gap: 30px;
}

.inv-links {
	width: 100%;
	max-width: 700px;
}

.inv-link {
	position: relative;
	margin: 10px 0;
	display: block;
	background-color: #000;
}

.inv-link img {
	display: block;
	width: 100%;
}

.inv-link .link-hover {
	/*	for animation*/
	transform: perspective(1px) translateZ(0);
  	position: relative;
  	transition: color 0.3s;
}

.inv-link .link-hover:before {
  content: " ";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.7);
  transform: scaleX(0);
  transform-origin: 0 50%;
  transition: transform 0.5s ease-out;
}

.inv-link .link-hover:hover:before {
  transform: scaleX(1);
}

.inv-link .sm-heading {
	position: absolute;
	bottom: 15px;
	left: 5%;
	border-left: 3px solid #F06229;
    padding: 0 10px;
}

.choose {
	width: 100%;
	max-width: 700px;
	border-left: 4px solid #F06229;
	padding: 7% 0 7% 20px;
}

.choose .orange-btn {
	margin-top: 10px;
}

.contact .img-aside {
	background-image: url("../siteart/construction-truck.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.flex.about .img-aside {
	background-image: url("../siteart/skid-steer.jpg");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.flex.about .flex-1 .wid-90 a {
	color: #000;
}

.flex.contact .padit {
	background-color: #F06229;
	background-image: linear-gradient(90deg, rgba(0,0,0,0.2), rgba(0,0,0,0.0) 50%);
}

.flex.contact .padit .wid-90 div {
	margin: 20px 0;
}

.flex.contact .padit a {
	color: #000;
}

.header-left {
	background-color: #F06229;
	background-image: linear-gradient(90deg, rgba(0,0,0,0.2), rgba(0,0,0,0.0) 50%);
	padding: 75px 200px 75px 5%;
	clip-path: polygon(0 0, 100% 0, 86% 100%, 0% 100%);
	width: 70%;
	margin-right: -10%;
}

.header-left a {
	color: #000;
}

.header-right {
	background-color: #F06229;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: right;
	width: 40%;
}

.header-right.contact {
	background-image: url("../siteart/headings/contact-heading.jpg");
}

.header-right.thankyou {
	background-image: url("../siteart/headings/thankyou-heading.jpg");
}

.header-right.soon {
	background-image: url("../siteart/headings/soon-heading.jpg");
}

.contact-form .flex-1 iframe {
	height: 100%;
}

.contact-bar {
	align-items: center;
	gap: 20px;
}

.contact-bar .bar-accent {
	background-color: #F06229;
	clip-path: polygon(0 0, 100% 0, 86% 100%, 0% 100%);
	width: 10%;
	height: 50px;
}

.contact-bar .contact-item {
	padding: 10px;
	border: 3px solid #F06229;
	border-radius: 20px;
	line-height: 1;
	color: #F06229;
	-webkit-transition:.4s ease-in;  
	-moz-transition:.3s ease-in;  
	-o-transition:.3s ease-in;  
	transition:.3s ease-in;
}

.contact-bar .contact-item:hover {
	color: #000;
	border: 3px solid #000;
}

/*--------FORM STYLES--------------------*/

.contact-flex {
	display: flex;
	gap: 30px;
}

.form-container {
	width: 100%;
}

.form-flex { 
	display: flex;
	gap: 20px;
	padding: 10px 0;
}

.form-field {
	width: 100%;
}

.form-container label {
	display: block;
	font-family: "Roboto", sans-serif;
	font-size: 16px;
	font-weight: 600;
}

.form-flex input, textarea {
	border: none;
	border-radius: 1px;
	padding: 10px;
	background-color: #eee;
	font-family: "Roboto", sans-serif;
	width: 100%;
}
.form-flex input:focus, textarea:focus {
	outline: none;
	background-color: rgba(240,98,41,0.33);
}

textarea {
	height: 75px;
}

.CaptchaPanel {
	font-family: "Roboto", sans-serif;
}

.captcha-button {
/*	text-align:center;*/
}

#captcha {
	display: none;
}

/*-------- FOOTER STYLES ----------------*/
footer.padit {
	background-color: #000;
	padding-bottom: 100px;
}

footer .wid-90 {
	display: flex;
	gap: 20px;
	justify-content: space-between;
	flex-wrap: wrap;
}

footer h3 {
	margin-bottom: 10px;
}

.footer-title {
	font-size: 18px;
	font-weight: 900;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-family: "Source Serif 4", serif;
}

footer p.body-text a {
	color: #fff;
	font-weight: 500;
	-webkit-transition:.4s ease-in;  
	-moz-transition:.3s ease-in;  
	-o-transition:.3s ease-in;  
	transition:.3s ease-in;
}

.footer-nav ul li a {
	color: #fff;
	line-height: 200%;
	font-weight: 500;
	font-size: 16px;
	-webkit-transition:.4s ease-in;  
	-moz-transition:.3s ease-in;  
	-o-transition:.3s ease-in;  
	transition:.3s ease-in;
}

.footer-nav ul li a:hover, footer p.body-text a:hover {
	color: #F06229;
}

.footer-contact p {
	font-weight: 700;
}

.footer-social .flex {
	gap: 10px;
	font-size: 22px;
}

/*----INVENTORY STYLES - KEEP AT BOTTOM OF CSS----*/







/*---------- RESPONSIVE STYLES ----------*/

@media only screen and (max-width: 1350px) {
	.hero-left {padding: 100px 200px 100px 5%; width: 70%; margin-right: -30%;}
	.hero-right, .hero-cutout {width: 60%;}
	.hero-text h1.heading {font-size: 48px;}
}

@media only screen and (max-width: 1250px) {
	.hero-left {padding: 50px 200px 50px 5%; width: 70%; margin-right: -20%;}
	.hero-right, .hero-cutout {width: 50%;}
	.hero-text h1.heading {font-size: 36px; margin-bottom: 10px;}
}

@media only screen and (max-width: 1050px) {
	.hero-text .sm-heading {letter-spacing: 2px;}
	
	.sm-heading {font-size: 16px;}
	.heading {font-size: 38px;}
	
	.choose {padding: 0; padding-left: 20px;}
}

@media only screen and (max-width: 940px) {
}

@media only screen and (max-width: 820px) {
	.main-header .wid-90 {display: none;}
	.main-header .mobile-search, .main-header .mobile-search .wid-90 {display: block;}
	
	.hero-cutout {display: none;}
	.hero.flex {flex-wrap: wrap;}
	.hero-left {padding: 50px 5%; width: 100%; clip-path: none; margin-right: unset; order: 2;}
	.hero-right {height: 300px; width: 100%; background-position: center;}
	
	.header-left {width: 100%; clip-path: none; margin-right: unset; padding: 50px 5%;}
	.header-right {width: unset;}
	
	.contact-form.flex {flex-wrap: wrap;}
	.contact-form .flex-1 iframe {height: 300px;}
	
	.ql-aside.flex {flex-wrap: wrap;}
}

@media only screen and (max-width: 700px) {
	.about.flex {flex-wrap: wrap;}
	.about .img-aside {height: 300px;}
}


@media only screen and (max-width: 600px) {
	.contact.flex {flex-wrap: wrap;}
	.contact .img-aside {height: 300px;}
	
	
}

@media only screen and (max-width: 500px) {
	 
}

@media only screen and (max-width: 450px) {
	.mobile-only {display: initial;}
	.choose .orange-btn {display: none;}
	.mobile-only.orange-btn {margin-top: 10px;}
	
	.white-btn, .orange-btn {width: 100%;}
	
	.form-flex {flex-wrap: wrap; gap: 10px; padding: 5px 0;}
}






