﻿@charset "UTF-8";


/* #### Generated By: http://www.cufonfonts.com #### */
@font-face {
	font-family: 'Red Hat Text Regular';
	src: local('Red Hat Text Regular'), url('../webfonts/RedHatText-Regular.woff') format('woff');
	font-style: normal; font-weight: normal;
}

@font-face {
	font-family: 'Red Hat Text Italic';
	src: local('Red Hat Text Italic'), url('../webfonts/RedHatText-Italic.woff') format('woff');
	font-style: normal; font-weight: normal;
}

@font-face {
	font-family: 'Red Hat Text Medium';
	src: local('Red Hat Text Medium'), url('../webfonts/RedHatText-Medium.woff') format('woff');
	font-style: normal; font-weight: normal;
}

@font-face {
	font-family: 'Red Hat Text Medium Italic';
	src: local('Red Hat Text Medium Italic'), url('../webfonts/RedHatText-MediumItalic.woff') format('woff');
	font-style: normal; font-weight: normal;
}

@font-face {
	font-family: 'Red Hat Text Bold';
	src: local('Red Hat Text Bold'), url('../webfonts/RedHatText-Bold.woff') format('woff');
	font-style: normal; font-weight: normal;
}

@font-face {
	font-family: 'Red Hat Text Bold Italic';
	src: local('Red Hat Text Bold Italic'), url('../webfonts/RedHatText-BoldItalic.woff') format('woff');
	font-style: normal; font-weight: normal;
}


/* RESET 
------------------------------------------------*/
* { 
    margin:0;  
    padding:0;  
    border:0;  
    outline:0;  
    background: transparent;  
}

ol, ul {}
blockquote, q {quotes: none;}  
blockquote:before, blockquote:after, q:before, q:after {content: '';}  
	

/* GLOBAL SITE FRAMEWORK
------------------------------------------------*/
body {font-family: 'Red Hat Text Regular', sans-serif; background:#fff;}

/* SELECTION */	
::selection {color:#fff; background: #a00e0f;}
::-moz-selection {color:#fff; background: #a00e0f;}


/* CLEAR */
.clear {clear: both;}

/* HEADERS */
/*Remove or simplify font-weight and font-height */
h1, h2, h3, h4 ,h5 ,h6 {line-height: normal;}
h1 {font-size:26px; font-weight:normal; color:#a00e0f;}
h1 span {font-family: 'Red Hat Text Bold', sans-serif; color:#717171;}

h2 {font-size:24px; font-weight:normal;}
h3 {font-size:20px; font-weight:normal;}
h4 {font-size:18px; font-weight:normal;}
h5 {font-size:16px; font-weight:normal;}
h6 {font-size:14px; font-weight:normal;}


/* PARAGRAPH/LIST/GENERAL TEXT */

/* LINKS */
a{-webkit-transition:.5s ease-in; -moz-transition:.5s ease-in; -o-transition:.5s ease-in; transition:.5s ease-in;}
a:link, a:visited {color:#202020; text-decoration:underline;}
a:hover, a:active {color:#f30601; text-decoration:none;}

a[href^="tel:"] {color:#D40E21;  text-decoration: none;}

/* IMAGES */
img {display:block;}

/* TEXT EMPHASIS */
em {ffont-family: 'Red Hat Text Italic', sans-serif;}
strong {font-weight: 700;}

/* TEXT STYLINGS */
.dark {color:#131313;}
.gray {color:#4F4F4F;}
.heavy {font-weight:800;}

/* ALIGNMENT */
.left {float:left;}
.right {float:right;}
.center {text-align:center;}









/* CONTACT BAR
------------------------------------------------*/	
.contact-bar {display:flex; flex-flow:row wrap; align-items:center; justify-content:space-between; margin:0; padding:1em 2.5%; color:#fff; background:#a00e0f;}	
.contact-bar a {margin:0; padding:0; font-size:.875em; text-decoration:none; color:#fff !important;}
.contact-bar .fas {margin:0 6px 0 0; font-size:.8em;}


/* HEADER
------------------------------------------------*/	
.site-header {display:flex; flex-flow:row wrap; align-items:center; padding:2.8em 2.5%; border-bottom:#717171 double;}	
	

/* LOGO
------------------------------------------------*/	
.logo {}
.logo img {width:100%; max-width:380px;}



/*  NAVIGATION
------------------------------------------------*/
#menu-button{display:none;}
nav.mobile {display:none;}

nav.primary {z-index:500;  position:relative; margin:0 0 0 auto; padding:0;}

nav.primary ul {display:flex; flex-flow:row wrap; align-items:center; margin:0; padding:0;}
nav.primary ul li {margin:0; padding:0; list-style-type:none;}
				
nav.primary ul li a {
	display:block; margin:0 20px; padding:12px 0;
    font-size:1.125em; line-height:24px; text-align:center; text-decoration:none; text-transform:uppercase;
    color:#404040; border-top:2px #fff solid;
	-webkit-transition:.5s ease-in; -moz-transition:.5s ease-in; -o-transition:.5s ease-in; transition:.5s ease-in;	
}	

nav.primary ul li:last-of-type a {margin:0 0 0 20px;}

nav.primary ul li a:hover {color:#878787; border-top:2px #a00e0f solid;}

/*  SUB NAV
------------------------------------------------*/
nav.primary ul li li {width: 250px;}
nav.primary ul li li a:link, nav.primary ul li li a:visited{
	width: 250px; padding:15px 0; font-size:.94em; line-height:18px; text-indent:20px; text-align:left; color:#fff; border:0; background: #181818;
}

nav.primary ul li li a:hover,nav.primary ul li li a:active {line-height:18px; color:#fff; background:#058fce;}

/*  NAV DROPDOWNS
------------------------------------------------*/
nav.primary ul ul {display: none; position: absolute;} 
nav.primary ul ul ul {position: absolute; left: 100%; top:0;}
nav.primary ul li:hover > ul {display: block; line-height:18px; z-index: 500;}
nav.primary ul ul li {float: none; position: relative; margin:0;}




.hero {position:relative;}

/*  BRAND COLORS
------------------------------------------------*/
.hero-overlay {position:absolute; bottom:8%; z-index:5; display:flex; flex-flow:row wrap; align-items:flex-end; justify-content: space-between; width:90%; padding:0 5%;}


.hero-text {min-width:690px; text-align:center; color:#fff;}
.hero-text .title {font-size:5.5em; line-height:.9; text-transform:uppercase;}
.hero-text .title span {font-family: 'Red Hat Text Bold', sans-serif;}
.hero-text .sub-title {margin:0 0 0 3%; font-size:2em; text-align:left; text-transform:uppercase;}
.hero-text hr {margin:.5em 0; padding:1px 0; border-top:1px #fff solid; border-bottom:1px #fff solid;}
.hero-text .tagline {font-size:1.75em;}


/*  HERO BRANDS
------------------------------------------------*/
.hero-brands {display:flex; flex-flow:row wrap; justify-content:space-between; width:50%; min-width:690px;}
.brand-logo {width:152px;}

/*  BRAND COLORS
------------------------------------------------*/	
.merritt {background:#215788;}
.felling {background:#292929;}
.fair {background:#eda620;}
.johnson {background:#fac854;}


.brand-logo a {display:block; padding:33px 0;}
.brand-logo img {width:136px; margin:0 auto;}


/*  HERO IMAGE
------------------------------------------------*/
.hero-image {z-index:1; background:#000;}
.hero-image img {opacity:0.3; width:100%;}

.hero iframe {width:100%; height:400px;}

/*  MAIN
------------------------------------------------*/	
.main {margin:0; padding:4% 5%;}


.home-intro {display:flex; flex-flow:row wrap; justify-content:space-between;}


/*  ARTICLE
------------------------------------------------*/
article {width:55%;}
article h1 {margin:0 0 10px 0; padding:0 0 5px 0; text-transform:uppercase; border-bottom:1px #717171 solid;}
article p {font-size:1.0625em; line-height: 1.5;}


/*  ASIDE
------------------------------------------------*/
.promo-video {position:relative; overflow:hidden; width:36%; max-width:100%; height:0; padding-bottom:20.25%;}
.promo-video iframe, .promo-video object, .promo-video embed {position:absolute; top:0; left:0; width:100%; height:100%;}


.location-contact {margin:0 auto; text-align:center;}
.location-contact a {text-decoration:none;}
.location-contact a[href^="tel:"] {color:#404040; font-family: 'Red Hat Text Medium', sans-serif;}


/* SITE FORM
------------------------------------------------*/
.site-form {width:90%; margin:2em auto; padding:0;}

.site-form h6 {font-size:18px; font-weight:700;}

.site-form .three-cells {width:32.3%; *width: 32%; box-sizing: border-box;}
.site-form .full-cell {width:99% !important;}
.site-form .last {margin-right:0 !important;}

.short-textbox {height:100px !important;}

.site-form .instructions {font-size:14px; color:#777; margin:6px 0 6px 0; text-transform: capitalize;}
.site-form .note {font-size:12px; font-style:italic; color:#777; text-align:center; margin:8px 0 0 0;}

.site-form input[type="text"], .site-form input[type="email"], .site-form input[type="number"], .site-form input[type="time"], .site-form input[type="date"], .site-form select {
	margin:6px .8% 9px 0;
    padding:14px 0;
    font-size: 14px;
    background-color:#fff;
	border:1px #e8e8e8 solid;
	text-indent:12px;
	box-sizing: border-box; 
}

.site-form input[type="text"]:focus, .site-form input[type="email"]:focus, .site-form input[type="number"]:focus, .site-form input[type="time"]:focus, .site-form input[type="date"]:focus, .site-form select:focus {border: 1px #5A5A5A solid; background-color:#fcfcfc;}

.site-form textarea {
	width:100%; height:150px; margin:2px 0; padding: 4px 8px; font-size: 14px; border:1px #e8e8e8 solid;
    background-color: #fff;
	box-sizing: border-box; -webkit-border-radius:0; border-radius:0;
}

.site-form textarea:focus {background-color:#FCFCFC; border: 1px #5A5A5A solid;}

.site-form input[type="submit"] {
	height: 46px; padding:0 20px; margin:10px 0 0 0; font-size:14px; border: none; text-transform: uppercase; font-weight:700;  color: #fff; background: #a00e0f; 
	transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -webkit-transition: all .2s ease-in-out; 
	-webkit-appearance: none;
}

.site-form input[type="submit"]:hover {color:#fff; background:#de1f27; -webkit-animation: shadow-pop-bl 0.3s cubic-bezier(0.470, 0.000, 0.745, 0.715) both;
	        animation: shadow-pop-bl 0.3s cubic-bezier(0.470, 0.000, 0.745, 0.715) both; -webkit-appearance: none;}

.CaptchaImagePanel {text-align:center;}
.CaptchaImagePanel img {margin:0 auto;}
.CaptchaAnswerPanel input {padding:8px 8px; border:1px #e6e6e6 solid;}


/*  BRANDS / MANUFACTURING 
------------------------------------------------*/
.brands-section {display:flex; flex-flow:row wrap; justify-content:space-around; padding:3% 2%; background:#eaeaea;}
.brand-highlight {position:relative; width:20%; min-width:315px; border:1px #afafaf solid; background:#fff;}
.highlight-logo {position:absolute; top:0; right:0; margin:12px 12px 0 0;}
.highlight-equipment {margin:30px 0 0 0;}


/*  LOCATION DETAILS
------------------------------------------------*/
.location-details {display:flex; flex-flow:row wrap; align-items:flex-start; justify-content:center; margin:5% 2.5%;}
.location-map {line-height:0;}
.location-map iframe {width:905px; height:385px;}

.location-address {margin:1em 0 0 2em;}
.location-address a {text-decoration:none;}
.location-address a[href^="tel:"] {color:#404040; font-family: 'Red Hat Text Medium', sans-serif;}
.location-title {font-size:1.625em; text-transform: uppercase; color:#a00e0f; font-family: 'Red Hat Text Bold', sans-serif;}



/*  SCROLLING INVENTORY
------------------------------------------------*/
.scrolling-wrap {width:100%; height:90px; overflow:hidden;}
.scrolling{width:100%; height:90px;}


/*  FOOTER
------------------------------------------------*/
.site-footer {display:flex; flex-flow:row wrap; align-items:center; justify-content: space-between; margin:0; padding:1.5em 5%; color:#fff; background:#a00e0f;}

.footer-copyright {font-size:1em;}
.footer-copyright .far {font-size:.8em;}
.footer-copyright a {font-size:.9em; text-decoration:none; color:#fff;}
.footer-copyright a:first-of-type {margin:0 0 0 15px;}

.footer-nav {margin:0; padding:0;}
.footer-nav ul {display:flex; flex-flow:row wrap; align-items:center; justify-content:flex-end; margin:0; padding:0;}
.footer-nav ul li {margin:0 7px; padding:0; list-style-type:none;}
.footer-nav ul li:last-of-type {margin:0 0 0 7px;}
.footer-nav ul li a {display:block; padding:0 8px; font-size:1em; line-height:24px; text-align:center; text-decoration:none; text-transform:uppercase; color:#fff;}	
.footer-nav ul li a:hover {color:#121212;}




/************************************************ Responsive Styles **/

@media screen and (max-width: 1700px) {
	nav.primary ul li a {padding:15px 0; font-size:1em;}
}

@media screen and (max-width: 1600px) {
	nav.primary ul li a {margin: 0 12px;}
	.hero-overlay {bottom:5%; width:95%; padding:0 2.5%;}
}

@media screen and (max-width: 1500px) {
	.site-header {flex-flow:column; padding:2.5em 2.5% 1.8em 2.5%;}
	.logo {margin:0 0 20px 0;}
	nav.primary {margin:0;}
	nav.primary ul li a {margin:0 8px;}
	.hero-overlay {flex-flow:column;}
	.hero-brands {margin:1.5% 0 0 0;}
	
	.brand-highlight {min-width:270px;}
	.highlight-logo {position:relative; margin:12px auto;}
	.highlight-equipment {margin:10px 0 0 0;}
}

@media screen and (max-width: 1400px) {
	.site-footer {flex-flow:column; justify-content:center;}
	.footer-copyright {order:2; margin:1em 0 0 0;}
	.footer-nav {order:1; width:100%;}
	.footer-nav ul {justify-content:center;}
}

@media screen and (max-width: 1250px) {
	.location-details {display:flex; flex-flow:row wrap; align-items:flex-start; justify-content:center; margin:0;}
	.location-map {width:100%;}
	.location-map iframe {width:100%; height:325px;}
	.location-address {display:none;}	
	.brands-section {padding:2.5% 5%;}
	.brand-highlight {margin:2.5%;}
}

@media screen and (max-width: 1150px) {	
	.hero-brands {display:none;}
	
	.home-intro {flex-flow:column;}
	article {width:100%;}
	.promo-video {width:65%;margin:3.5% auto 0 auto; padding-bottom:36.75%;}
}

@media screen and (max-width: 1024px) {
	.site-header {flex-flow:row; justify-content:space-between; padding:1.8em 2.5%;}
	.logo {margin:0;}
	
	nav.primary{display:none;}
	#menu-button{display: block; font-size: 1.25em; line-height:60px; position: relative; z-index: 400; background: #a00e0f;}
	#menu-button a{color:#fff; text-decoration: none; padding:0 .8em; font-weight:100;}
	
	nav.mobile ul li a .fa{
		width:25px;
		font-weight:100;
		padding:8px 3px;
		margin:0 0 0 5px;
		text-align:center;
		background:#292929;
		-webkit-border-radius: 30px;
		-moz-border-radius: 30px;
		border-radius: 30px;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	}
	
	nav.mobile ul li .fa-chevron-down {position:absolute; right:10px; margin:22px 0 0 0;}

	nav.mobile {
		display:block;
		position: fixed;
		top: 0;
		left: -285px;
		width: 285px;
		height: 100%;
		z-index: 500;
		overflow:auto;
		background:#333;
	}
	
	/* MENU HEADER SOCIAL MEDIA */
	nav.mobile .social-media {
		position: absolute;
		text-decoration: none;
		vertical-align: top;
		z-index:9999;
		display: inline-block;
		
		top: 15px;
		left: 15px;
		font-size:16px;
		word-spacing:13px;
		color: #ccc !important;
	}
	
	nav.mobile .social-media a:link, nav.mobile .social-media a:visited {color:#ccc; text-decoration:none;}
	nav.mobile .social-media a:hover, nav.mobile .social-media a:active {color:#fff; text-decoration:underline;}
	
	/* MENU HEADER STYLES */
	nav.mobile h3 {	
		color: #ccc;
		padding: 23px 0;
		position: relative;
		font-size: 18px;
		background:#313131;
	}			
	nav.mobile .menu-title {position: absolute; vertical-align: top; top: 16px; right: 47px; text-transform:uppercase; font-size:12px; color: #ccc;}
		
	/* MENU CLOSE 'X' BUTTON */
	nav.mobile .menu-toggle {position: absolute; top: 8px; right: 10px; padding: 6px 9px 5px; display: inline-block; font-weight: 700; font-size: 18px; line-height: 1; color: #ccc; text-decoration: none; vertical-align: top; font-family: Arial, sans-serif;}
	nav.mobile .menu-toggle:hover {color: #fff;}
	
	/* MENU LIST STYLE */
	nav.mobile ul {list-style: none; font-weight: 300; margin:0; padding:0;}
	nav.mobile ul li {color: #999; font-size:15px; border-bottom: 1px solid #303030;}
	
	/* FIRST LEVEL */
	nav.mobile ul li a {
		color: #999;
		position: relative;
		display: block;
		font-size:15px;
		text-align:right;
		text-decoration: none;
		border-left:4px #333 solid;
		padding: 15px 35px 15px 20px;
		text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	}
	nav.mobile ul li a:hover {background:rgba(45,45,45,0.5); color: #fff; border-left:4px #a00e0f solid;}
	
	/* SECOND LEVEL */
	nav.mobile ul li li:last-child {border:none;}
	nav.mobile ul li li a {color: #ccc; background: #444; border-left:4px #444 solid; padding: 15px 10px 15px 15px;}
	nav.mobile ul li li a:hover {background:rgba(65,65,65,0.5);}
	
	/* THIRD LEVEL */
	nav.mobile ul li li li:last-child {border:none;}
	nav.mobile ul li li li a {color: #ccc; background: #555; border-left:4px #555 solid;}
	nav.mobile ul li li li a:hover {background:rgba(85,85,85,0.5);}
	
	.nav-footer {color:#292929; position:relative; text-align:center; font-size:16px; line-height:16px; padding:15px 0;}
	
	
	.site-form .three-cells {width:100%; *width:100%;}
	
	.footer-nav ul li {width:120px; text-align:center;}
	.footer-nav ul li:last-of-type {margin:0 7px;}
	.footer-nav ul li a {margin:8px 0;}	
}

@media screen and (max-width: 768px) {
	.hero-overlay {align-items: center;}
	.hero-text {width:100%; min-width:0; text-align:center; color:#fff;}
	.hero-text .title {font-size:3.5em;}
	.hero-text .sub-title {margin:0; font-size:1.5em; text-align:center;}
	.hero-text hr {width:50%; margin:.5em auto;}
	.hero-text .tagline {font-size:1em;}
	.main {padding:5%;}
	.brands-section {padding:5%;}
}

@media screen and (max-width: 550px) {
	.site-header {flex-flow:column; padding:1.8em 5%;}
	.logo {margin:0 0 20px 0;}
	#menu-button{width:100%; text-align: center;}
	#menu-button a{color:#fff; text-decoration: none; padding:0 .8em; font-weight:100;}
	.hero-text .sub-title {display:none;}
	.main {padding:6% 5%;}
	.promo-video {width:85%; margin:5% auto 0 auto; padding-bottom:47.75%;}
}

@media screen and (max-width: 450px){
	.contact-bar {flex-flow:column; align-items:center; justify-content:center; margin:0; padding:1em 2.5%; color:#fff; background:#a00e0f;}	
	.contact-bar a {margin:4px 0;}
	
	.hero-text .title {font-size:2.5em;}
	.hero-text hr {width: 30%;}
	.hero-text .tagline {font-size:.7em;}
	article h1 {font-size:20px;}
}

@media screen and (max-width: 320px){

}