
/* 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;} img{max-width: 100%; height: auto; image-rendering: -webkit-optimize-contrast;}

/* FRAMEWORK */

*{box-sizing: border-box;}
html, body.main{font-family: 'Saira', sans-serif; font-size: 16px; -webkit-text-size-adjust: none} body {overflow-x: hidden; line-height: 1.8; letter-spacing: .02em;}
::-moz-selection{background: #DB1B22; color: #fff; text-shadow: none} ::selection{background: #DB1B22; color: #fff; text-shadow: none}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}
button,
input { /* 1 */
  overflow: visible;
}
button,
select { /* 1 */
  text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

.content-width{margin: 0 auto; width: 80%;}

.column12, .column11, .column10, .column9, .column8, .column7, .column6, .column5, .column4, .column3, .column2, .column1{float: left; padding: 0 25px 0 0;} .column12{width: 100%;} .column11{width: 91.6666%;} .column10{width: 83.3333%;} .column9{width: 75%;} .column8{width: 66.6666%;} .column7{width: 58.3333%;} .column6{width: 50%; box-sizing: border-box;} .column5{width: 41.6666%;} .column4{width: 33.3333%;} .column3{width: 25%; box-sizing: border-box;} .column2{width: 16.6666%;} .column1{width: 8.3333%;} .last{padding: 0;} .cf{zoom: 1;} .cf:before, .cf:after{content: ""; display: table;} .cf:after{clear: both;} .clear{clear: both;} *{box-sizing: border-box;}

.center {text-align: center;}
.align-right {text-align: right;}
.marg5 {margin: 5em 0;}

/*--- INVENTORY ---*/

.list-redesign .list-container-flexrow .list-listing-card-wrapper .listing-card-grid .image-selector {
	    border-radius: 50px !important; 
		bottom: 18px !important;
		padding: 3px 4px 1px !important;
}

/* TYPOGRAPHY */

a{text-decoration: none; color: inherit; transition: all .2s ease-in-out;} a:hover{color: inherit;}
a#cta-btn button {margin: 1em 0; color: #fff; background: #DB1B22; padding: 1.25em 3%; cursor: pointer; font-size: 14px; font-weight: 600; transition: 0.2s ease-in; text-align: center; width: 90%; max-width: 300px; border: 1px solid transparent; letter-spacing: .5px;}
a#cta-btn button:hover {background: #ddd!important; color: #000; border: 1px solid transparent;}
#form input[type="submit"]:hover {background: #DB1B22!important; color: #fff; border: 1px solid transparent;}
#form input[type="submit"] {color: #333; background: none; padding: 1em 3%; cursor: pointer; font-weight: 600; transition: 0.2s ease-in; width: 100%; max-width: 300px; line-height: 1.2; border: 1px solid #444; text-align: center; margin: 0 auto; display: block;}
.continue-btn {display: block; text-align: center; width: 100%; background: #f0f0f0;}
.continue-btn button {border: none; background: none; color: #000; text-transform: uppercase; padding: 1em 5%; cursor: pointer;}
.continue-btn:hover {background: #fff; transition: all .2s ease-in-out;}

/* HEADER */
.header {width: 100%; background: #000; display: flex; justify-content: space-between; align-items: center; padding: 2em 7%;}
.mobile-display {display: none;}
#main-logo img {width: 100%; max-width: 600px!important; height: auto; padding: 2em 10px!important; box-sizing: border-box; position: relative; z-index: 3; margin: 0 auto;}
a#desktop-phone {font-weight: 600; color: #fff; width: 35%; text-align: center;}
a#desktop-social {font-weight: 600; color: #fff; width: auto; margin-right: 2.5vw; text-align: center;}
a#desktop-phone i, a#desktop-social i {color: #DB1B22;}
.header a#cta-btn {width: 20%;}

/* ALL OTHER STYLES */
#hero-video {width: 100%; position: relative; display: flex; justify-content: center;}
#hero-video video, #hero-video a {width: 100%;}
.overlay-txt {position: absolute; bottom: 10%; left: 3em; background: linear-gradient(180deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.64) 100%); width: 100%; max-width: 700px; padding: 2em 3em; display: flex; flex-direction: column; justify-content: center; align-items: center;}
.overlay-txt h1 {color: #fff; line-height: 1.2; padding-right: 3%; font-weight: 800; font-size: 60px;}


/* zoom buttons */
.zoom-wrapper {display: flex; flex-wrap: wrap; align-items: center; justify-content: center; padding: 3em 7% 0;}
.zoom-container {width: calc(16.667% - 1em); /*height: 555px;*/ margin: .5em; position: relative; overflow: hidden; box-sizing: border-box;}
.zoom-container img {width: 100%; height: auto; transform:scale(1.1);}
.zoom-container:hover img {transform:scale(1.25); background: rgba(34, 34, 34, .1); transition: all .5s ease;}
.zoom-container .zoom-caption {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: inline-flex;
	flex-direction: column;
	justify-content: flex-start;
    transition: all .5s ease;
	padding: 3em 10%;
	margin: 0 auto;
	height: 100%;
	background: rgba(34, 34, 34, .3);			
	text-shadow: 1px 1px 8px #222;
}
.zoom-container .zoom-caption:hover {background: rgba(34, 34, 34, .15);}
.zoom-container .zoom-caption h3 {color: #fff; font-size: 26px; display: block; text-transform: uppercase; letter-spacing: 1px;}
.zoom-container .zoom-caption p {font-size: 16px; color: #fff; display: block; font-weight: 500;}
.zoom-container .zoom-caption hr {border: 5px solid #DB1B22; width: 100%; display: inline-block; max-width: 30%; margin: 1.5vw 0 1vw;}


.manu-wrapper {width: 100%; display: block; margin: 5em auto; padding: 0 7%;}
.manu-wrapper img {width: 100%; height: auto; max-width: 222px; margin: 2em auto; padding: 0 5%;}
.manu-wrapper img:hover {opacity: .75;}

.affiliate-logos {display: flex; align-items: center; justify-content: center; margin: 4em 0;}
.affiliate-logos img {width: 100%; max-width: 150px; margin: 0 2vw; height: auto;}

.red-bg {width: 100%; background: #DB1B22; max-width: 85%; padding: 0 0 3em; margin: 0 auto 5em; height: 275px; -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 75%); clip-path: polygon(0 0, 100% 0, 100% 100%, 0 75%); position: relative; z-index: 1;}
.filter-search {background: #000; width: 70%; color: #fff; padding: 3em 5%; font-family: 'Saira', sans-serif; text-align: center; margin: 0 auto; margin: 0 auto -10em; position: relative; z-index: 2;}
.filter-search .flex-wrapper {display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap;}
.filter-search .flex-wrapper div {width: calc(33.33% - 1em); margin: .5em;}
.filter-search h4 {letter-spacing: 2px; line-height: 1.4; font-weight: 700; font-size: 20px; color: #fff; padding-bottom: inherit; margin-bottom: 2em;}
.filter-search label.toggle-btn {font-weight: 700; letter-spacing: 1px; background: #181818; color: #ddd; cursor: pointer; padding: 10px 5%; display: inline-flex; justify-content: center; align-items: center; width: calc(50% - 1em);}
.filter-search form label{display: block; font-weight: 600; font-size: 16px; letter-spacing: 1px; margin: 5px 0; text-align: left;}
.filter-search form select, .filter-search form input[type="text"]{display: block; width: 100%; height: 100%; padding: 12px; font-family: 'Saira', sans-serif; border: 1px transparent solid; background: #222; color: #ddd;}
.filter-search form input[type="submit"] {width: 100%; cursor: pointer; text-align: center; color: #fff; font-family: 'Saira', sans-serif; font-weight: 600; padding: 13px 3%; border: none; background: #DB1B22; text-transform: uppercase; transition: all .2s ease-in-out; letter-spacing: 1px;}
.filter-search form input[type="submit"]:hover {background: #ddd; color: #000;}
.filter-search section {display: none;}
.filter-search input:checked + label {color: #000; background: #f0f0f0; font-weight: 700; letter-spacing: 1px;}

#tab1:checked ~ #content1,
#tab2:checked ~ #content2 {
  display: block;
}

.breadcrumb-wrapper {width: 100%; display: flex; padding: 1em 5%; color: #999; text-transform: uppercase; font-size: 14px; font-weight: 500; background: #222; box-sizing: border-box;}
.breadcrumb-wrapper a {padding: 0 5px; font-weight: 600;} .breadcrumb-wrapper a:hover, .breadcrumb-wrapper a.active-link:hover {color: #fff;}
.breadcrumb-wrapper a.active-link {color: #E86267;}

.content-wrapper {display: flex; flex-wrap: wrap; justify-content: center;}
.content-wrapper h2 {text-transform: uppercase; color: #DB1B22; display: block; margin-bottom: 1em; font-size: 32px; text-decoration: underline; line-height: 1.5;}
.content-wrapper h3 {text-transform: uppercase; color: #000; display: block; margin-bottom: .75em; font-size: 24px; letter-spacing: 1px;}
.content-wrapper h4 {text-transform: uppercase; color: #000; display: block; margin-bottom: .75em; font-size: 20px;}
.side-border {padding-left: 5%; border-left: 5px solid #ddd;}
.side-border a {display: block; margin-top: 1em; font-weight: 700; font-size: 18px;}
.side-border span {color: #000; font-weight: 700;}
.gray-bg .flex-wrapper {display: flex; flex-wrap: wrap; justify-content: center;}
.gray-bg.welcome {background: #f0f0f0; padding: 4em 7%; width: 100%; max-width: 70%; margin: -16em auto 4em; position: relative; z-index: 2;}
.gray-bg {background: #f0f0f0; padding: 5em 0; width: 100%; max-width: 80%; margin: 7em auto 5em; position: relative; z-index: 2;}
.gray-bg h2 {letter-spacing: 4px; color: #000; font-size: 45px; line-height: 1.1; padding: 0 7%; margin: 0 auto .75em; width: 100%; text-align: center; font-weight: 800; text-transform: uppercase; text-decoration: none;}
.img-box {width: 100%; display: block; padding: 12em 0; filter: grayscale(1); position: relative; z-index: 1;}
.img-box:before {content: ''; top: 0; left: 0; right: 0; width: 100%; height: 100%; background: rgba(34,34,34,.9); position: absolute; z-index: 2;}
.tractor-bg {background: url('/siteart/backgrounds/tractor-bg1.jpg') center; background-size: cover; background-attachment: fixed;background-color:#000;} 
.excavator-bg {background: url('/siteart/backgrounds/excavator-bg1.jpg') bottom; background-size: cover; background-attachment: fixed;background-color:#000;} 
.gears-bg {background: url('/siteart/backgrounds/gears-bg1.jpg') center; background-size: cover; background-attachment: fixed;background-color:#000;} 

.team-wrapper {width: 100%; padding: 5em 0; position: relative; z-index: 2;}
.team-wrapper .flex-wrapper {display: flex; flex-wrap: wrap; justify-content: center; margin: 0 auto; max-width: 80%;}
.team-wrapper h2 {line-height: 1.1; padding: 0 7%; margin: 0 auto .75em; width: 100%; text-align: center; text-decoration: none; color: #000; font-weight: 800; letter-spacing: 3px; font-size: 36px;}
.team-member {width: calc(25% - 1em)!important; margin: .5em!important; padding: 1.5em!important; text-align: center; background: #f4f4f4; display: flex; align-items: center; justify-content: center; flex-wrap: wrap;}
.team-member h3 {color: #181818; padding: .75em 0 0; font-weight: 600; line-height: 1.3; margin: 0;}
.team-member h3 span {display: block; font-size: 16px; font-weight: 500; color: #222; margin-top: .25em;}
.team-member a#cta-btn button {margin: 0 auto .5em;}
.team-member img {width: 100%;}

.page-title {width: 100%; text-align: center; padding: 8em 10%; position: relative;}
.page-title:before {content: ''; top: 0; left: 0; right: 0; width: 100%; height: 100%; background: rgba(34,34,34,.8); position: absolute; z-index: 2;}
.page-title h1 {color: #fff; font-size: 60px; font-family: 'Saira', sans-serif; font-weight: 800; position: relative; line-height: 1.2; margin: 0 auto; max-width: 80%; animation: fadeInUp; animation-duration: 1s; text-transform: uppercase; letter-spacing: 2px; z-index: 2;}
.page-title p {position: relative; color: #f0f0f0; margin: 30px auto 0; max-width: 80%; font-size: 18px; font-family: 'Saira', sans-serif; font-weight: 300; animation: fadeInUp; animation-duration: 1s; z-index: 2;}
.page-title a {position: relative; z-index: 2;}

/* form + captcha */
#form {padding: 5em 7%;}
#form .form-row {display: block; /*margin: 0 0 5px;*/ text-align: left!important;}
#form .form-row label{font-weight: 600;}
#form .employment {margin-bottom: 2em;}
#form .employment label{display: block;}
#form input[type="text"], #form input[type="email"], #form select, #form textarea, #form input[type="date"] {width: 100%; margin: 5px 0 20px; padding: 10px; border: 1px solid #ccc; background: #f4f4f4;}
#form textarea {height: 90px;}

.CaptchaPanel{text-align: center; line-height: normal !important;}
.CaptchaAnswerPanel input{width: 250px; max-width: 100%; padding: 5px; margin: 5px 0; background: #f4f4f4; border: 1px solid #ccc;}
.CaptchaMessagePanel{padding: 0 !important; margin: 0 !important; font-weight: normal !important; font-size: 12px; line-height: 14px;}
.CaptchaImage {width: auto!important; padding: 0!important;}
.CaptchaAnswerPanel{margin: 0; padding: 2px 0px 2px 0px !important;}
.CaptchaWhatsThisPanel{line-height: 0; margin: 0; padding: 8px 0 8px 0 !important;}
.CaptchaWhatsThisPanel a{font-size: 12px; color: #000;} .CaptchaWhatsThisPanel a:hover{text-decoration: none;}


/* FOOTER */
.footer {background: #000; color: #fff; display: flex; justify-content: center; flex-wrap: wrap; padding: 0 7%;}
.footer img {width: 100%; max-width: 222px; height: auto;}
.footer h3 {color: #fff; font-weight: 700; font-size: 24px; display: block; margin-bottom: .5em; letter-spacing: 1px; line-height: 1.5;}
.footer i {color: #DB1B22;}
.footer p span {color: #ddd; display: block; text-transform: uppercase;}
.ftr-top {width: 100%; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; padding: 6em 0;}
.ftr-bottom {width: 100%; display: flex; justify-content: space-between; flex-wrap: wrap; padding: 5em 0;}
.ftr-top {border-bottom: 1px solid #DB1B22;}
.ftr-top a {font-size: 30px; font-weight: 600;} 
.ftr-top a:hover {color: #f0f0f0!important; transition: .2s ease-in-out all;}
.ftr-location {display: flex; justify-content: space-between; width: 50%; padding: 2em 5% 2em 0;}
.ftr-location div {width: 50%; padding-right: 5%;}
.ftr-hours {width: 25%; padding: 2em 5%;}
.ftr-links {width: 25%; padding: 2em 0 2em 5%;}
.ftr-socials i {padding-left: 1vw;}
.ftr-socials i:hover {opacity: .95; transition: .2s ease-in-out all;}

/* accordion menu */
#footer-nav {width: 100%; overflow: hidden;}
#footer-nav ul.submenu {list-style: none;}
#footer-nav ul.submenu {padding: 0;}
#footer-nav ul.submenu li a {display: block; font-size: 15px; padding: 5px 30px;}
#footer-nav ul.submenu li a:hover {background: #333; color: #fff!important;}
details summary::-webkit-details-marker {display: none; transition: max-height 0.2s ease-out;}
.accordion__item {position: relative;}
.accordion__title input:focus, .accordion__title2 input:focus {outline: none;}
.accordion__title, .accordion__title2 {
    font-family: 'Saira',sans-serif !important;
	padding: .25em 0;
	position: relative;
	z-index: 20;
	display: block;
	cursor: pointer;
}
.accordion__title:hover, .accordion__title2:hover {font-weight: 500; color: #fff;}
.accordion__title::after {
  display: block;
  content: " + ";
  color: #DB1B22;
  font-size: 22px;
  font-weight: 900;
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s all;
}
.accordion__title:hover::after {color: #f0f0f0;}
.accordion__item[open] .accordion__title::after {
  transform: translateY(-50%) rotate(180deg);
  content: ' - ';
}

/* MEDIA QUERIES (RESPONSIVE) */

@media screen and (max-width: 1600px) {
	.zoom-container {width: calc(33.33% - 1em);}
	
	.team-member {width: calc(33.33% - 1em)!important;}	
}

@media screen and (max-width: 1300px){		
	.header {padding: 1em 7%;}
	#desktop-phone, #desktop-social, .header a#cta-btn {display: none;}
	a#mobile-phone button, a#mobile-map button {background: #DB1B22; color: #fff; padding: 15px; border: none; cursor: pointer; font-size: 14px; margin: 0 5px; font-weight: 600;}
	a#mobile-phone button:hover, a#mobile-map button:hover {background: #fff; color: #000; transition: 0.3s all;}
	#main-logo img {max-width: 300px!important;}
	
	.overlay-txt {max-width: 460px; left: 0;}
	.overlay-txt h1 {font-size: 50px;}
	
}

@media screen and (max-width: 1150px){			
	.column1, .column2, .column3, .column4, .column5, .column6, .column7, .column8, .column9, .column10, .column11, .column12 {margin: 0 auto!important; width: 100%!important; float: none; padding: 0;}
	
	.content-wrapper {text-align: center;}
	.side-border {border-left: none; border-top: 5px solid #ddd; padding-top: 4em; margin-top: 4em!important;}
	
	.filter-search .flex-wrapper div {width: calc(100% - 1em);}
	
	.team-member {width: calc(50% - 1em)!important;}
	
	.zoom-container {width: calc(50% - 1em);}

	.ftr-top a {font-size: 24px;}
	.ftr-location {width: 100%; padding: 0 0 2em;}
	.ftr-hours, .ftr-links {width: 50%;}
	.ftr-hours {padding: 2em 5% 2em 0;}
}

@media screen and (max-width: 1000px) {	
	.mobile-display {display: block;}	
	
	#hero-video video {display: none;}
	.overlay-txt {position: relative; max-width: none; padding: 2em 10%;}
	
	.img-box {padding: 14em 0;}
	.gray-bg.welcome {margin: -22em auto 2em; max-width: 80%;}
	
}

@media screen and (max-width: 767px) {			
	.team-member {width: calc(100% - 1em)!important;}
	
	.red-bg {max-width: 90%;}
	.filter-search, .gray-bg {width: 80%; max-width: 100%;}
	.filter-search h4 {font-size: 18px;}
	
	.gray-bg h1 {font-size: 36px;}
	.page-title {padding: 6em 7%;}
	.page-title h1 {font-size: 50px;}
	.page-title p {font-size: 16px; margin: 2em auto;}
	.team-wrapper h2 {font-size: 30px;}
	
	.ftr-top {flex-direction: column;}
	.ftr-top img {margin-bottom: 1.5em;}
	.ftr-location div {width: 100%; padding: 0; margin-bottom: .5em;}
	.ftr-location {text-align: center; flex-wrap: wrap;}
	.ftr-location iframe {margin-top: 1em; height: 250px;}
	.ftr-top, .ftr-bottom {padding: 3em 0;}
	.ftr-top a {font-size: 20px;}
	.ftr-socials {margin-top: 1em;}
	.ftr-socials i {padding: 0 1vw;}
}

@media screen and (max-width: 600px) {	
	a#mobile-phone, a#mobile-map {display: none;}
	
	.header {padding: .5em 7%;}
	#main-logo img {max-width: 250px!important;}	
	
	.zoom-container {height: 250px;}
	.zoom-container {width: calc(100% - 1em); margin: .5em; height: 333px;}
	.zoom-container img {transform: translate(0, -35%);}
	.zoom-container:hover img {transform: translate(0, -35%) scale(1.25);}
	
	.tractor-bg, .excavator-bg, .gears-bg {background-attachment: inherit;}
	
	.img-box {padding: 10em 0;}
	.gray-bg.welcome {margin: -16em auto 2em; max-width: 85%;}
}

@media screen and (max-width: 480px) {
	.page-title {padding: 5em 5%;}
	.page-title h1 {font-size: 40px;}
	
	.content-width{margin: 0 auto; width: 85%;}
	
	.zoom-container {height: 222px;}
	.zoom-container img {transform: translate(0, -40%);}
	.zoom-container:hover img {transform: translate(0, -40%) scale(1.25);}
}
