﻿/* 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: '';}  


/* TEXT/LINK FORMATTING
------------------------------------------------*/

	/* LINKS */
	a:link, a:visited {
		color:#a71c26;
		text-decoration:none;
	}
	a:hover, a:active {
		color:#ccc;
		text-decoration:underline;
	}

	/* PARAGRAPH/LIST/GENERAL TEXT */
	p, ul, ol, dl, li {font-size: 14px;}

	strong {font-family: 'source_sans_prosemibold'; font-weight:bold;}
	em {font-family: 'source_sans_proitalic'; font-style:italic;}
	
	/* HEADERS */
	h1, h2, h3, h4 ,h5 ,h6 {line-height: normal;}
	h1 {font-size:28px; color:#a71c26; font-weight:100;}
	h2 {font-size:24px;}
	h3 {font-size:28px; font-family: 'source_sans_prolight'; font-weight:100;}
	h4 {font-size:25px; font-family: 'source_sans_prolight'; font-weight:100;}
	h4 span {font-size:16px; line-height:20px !important;}
	h5 {font-size:20px; font-family: 'source_sans_prolight'; font-weight:100;}
	h6 {font-size:20px; color:#fff; font-family: 'source_sans_prolight'; font-weight:100;}


/* GLOBAL SITE FRAMEWORK
------------------------------------------------*/
body {
	margin:0;
	/*line-height:12px;*/
	background:#fff;
	font-family: 'source_sans_proregular', Helvetica, Arial, sans-serif !important;
	-web-text-size-adjust:none;
}

a{-webkit-transition:.5s ease; -moz-transition:.5s ease; -o-transition:.5s ease; transition:.5s ease;}

.clear {clear: both;}
.left {float:left;}
.right {float:right;}
.center {margin:0 auto; text-align:center; float:none !important;}

.center-image {text-align:center; line-height:0;}
.center-image img {width:85%; margin:0 7.5%; border-bottom:5px #a71c26 solid;}

.red {color:#a71c26;}

.banner {text-align:center; line-height:25px; color:#fff; background:#a71c26; display:block; padding:15px 4.5%;}
.banner-link a {display:block; padding:15px 4.5%; line-height:25px; text-align:center; color:#fff; background:#a71c26;}
.banner-link a:hover {text-decoration:none; letter-spacing:.5px; font-family: 'source_sans_prosemibold', sans-serif;}


/* CONTENT
------------------------------------------------*/
.content {width:85%; margin:0 auto;}



a.brochure{ padding: 15px 0; text-align: center; display: block; background:#dd4100; margin: 3em auto ; color: #fff; text-transform: uppercase; text-decoration: none; font-weight:900; width:100%; max-width:400px;-webkit-border-radius: 5px;-moz-border-radius: 5px;border-radius: 5px;}
a.brochure:hover{background: #000}
   
a.brochure img {width:calc(100% - 30px);}


/* SELECTION
------------------------------------------------*/	
::selection {color:#fff; background: #a71c26;}
::-moz-selection {color:#fff; background: #a71c26;}

.application-form {margin:2% 12% 3% 12%;}
.application-form h4 {margin:0 0 30px 0;}

.open-position {width:80%; margin:0 auto 65px auto; padding:30px 0; font-size:20px; line-height:28px; text-align:center; border:2px #ccc solid; background:#fbfbfb;}


/* FORM
------------------------------------------------*/
.site-form {width:100%;}

.site-form .two-cells {width:49%; *width:49%; margin:0 2% 0 0;}
.site-form .two-cells:nth-of-type(even) {margin-right:0 !important;}

.site-form .three-cells {width:32%; *width: 32%; box-sizing: border-box;}
.site-form .four-cells {width:23%; *width: 24%; box-sizing: border-box;}

.site-form .full-cell {width:98.5% !important; margin-right:0 !important;}

.site-form .last {margin-right:0 !important;}

.site-form .instructions {font-size:14px; color:#777; margin:6px 0 6px 0;}
.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 1% 9px 0;
    padding:12px 0;
    font-size: 15px;
    background-color:#f3f3f3;
	text-indent:12px;
	box-sizing: border-box; 
	border:none;
}

.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 {background-color:#fcfcfc;}

.site-form textarea {width:100%; height:100px; margin:6px 0 9px 0; padding: 4px 8px; font-size: 15px;
    background-color: #f9f9f9;
	box-sizing: border-box; -webkit-border-radius:0; border-radius:0;}

.site-form textarea:focus {background-color:#FCFCFC; border: 1px #5A5A5A solid;}

.site-form .check-field {display:flex; flex-flow:row wrap; justify-content:space-around;}
.site-form .check-field .checkbox {margin:0 8px 8px 8px; padding:0; color:#4D4D4D;}

.site-form input[type="submit"] {
	width:230px; height: 41px; padding:0 20px; margin:10px auto 0 auto; font-size: 14px; text-indent:0; text-transform: uppercase; color: #fff; background:#810f16;
	transition: all .2s ease-in-out; -moz-transition: all .2s ease-in-out; -webkit-transition: all .2s ease-in-out;
	-webkit-appearance: none;
	-webkit-border-radius: 0; -moz-border-radius: 0; border-radius: 0;
	font-family: 'luiss_sansregular', sans-serif;
}

.site-form input[type="submit"]:hover {color:#fff; background:#4a4a4a; letter-spacing:.5px; transform:scale(1.01,1.01); cursor:pointer; -webkit-appearance: none;}























/* HEADER
------------------------------------------------*/	
.site-header {
	display:flex; flex-flow:row wrap; align-items:center; justify-content:space-around; 
	position:relative;
	padding:30px 5%;
	background-color: #111111;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23010101' fill-opacity='1' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");

}


/* SOCIAL MEDIA	
------------------------------------------------*/	
.hd-social {position:absolute; bottom:0; right:0; display:flex; flex-direction:row; justify-content:space-between;}	
.hd-social img{width:37px; margin:0 5px;}


/* LOGO
------------------------------------------------*/	
.logo {position:relative; margin:0;}
.logo img{width:100%; max-width:341px;}


.hd-highlight {display:flex; flex-flow:row wrap; align-items:center; justify-content:center;}

.location-info {font-size:1.2em; color:#fff;}
.location-info .fa-map-marker-alt {color:#a71c26;}
.location-info a {margin:0 6px 0 0; font-size:1.35em; color:#fff;}
.location-info a:hover, .location-info a:active  {text-decoration:none;}


.badge {position:relative; margin:0 35px;}
.badge img{width:100%; max-width:165px;}


	
/*  NAVIGATION
------------------------------------------------*/
#menu-button{display: none;}
nav.mobile {display:none;}

nav.primary {
	padding:0;
	margin:0;
	width:100%;
	z-index: 500;
	position:relative;
	background: #a71c26;
}

nav.primary ul {display:flex; flex-flow:row wrap; align-items:center; justify-content:space-around; margin:0; padding:0;}
nav.primary ul li {margin:0; padding:0; list-style-type:none;}

nav.primary ul li a {
	display:block;
	color:#f3f3f3;
	font-weight:normal;
	font-size:17px;
	line-height:60px;
	text-decoration:none;
	padding:0;
	margin:0;
	text-align:center;
	-webkit-transition:.5s ease-in;  
	-moz-transition:.5s ease-in;  
	-o-transition:.5s ease-in;  
	transition:.5s ease-in;	
}	

nav.primary ul li a:hover {color:#010101;}

/*  SUB NAV
------------------------------------------------*/
nav.primary ul li li {width: 230px;}
nav.primary ul li li a:link, nav.primary ul li li a:visited{
	font-size:15px;
    line-height:15px;
	padding:10px 0;
	text-indent:20px;
	color:#fff;
	background: #870e17;
	width: 230px;	
	text-align:left;

}
nav.primary ul li li a:hover,nav.primary ul li li a:active {color:#fff; background:#a71c26;}


/*  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;}






/*  MAIN
------------------------------------------------*/	
.main {
	padding:35px 0;
}



/*  SECTION
------------------------------------------------*/
.lower-contact {
	padding:30px 0;
	background: #282828;
	background: -moz-linear-gradient(top,  #282828 0%, #313131 100%);
	background: -webkit-linear-gradient(top,  #282828 0%,#313131 100%);
	background: linear-gradient(to bottom,  #282828 0%,#313131 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#282828', endColorstr='#313131',GradientType=0 );	
}

.lower-contact .brands {
	width:20%;
	float:left;
	position:relative;
	line-height:0;
	text-align:center;
}

.lower-contact .brands img{
	max-width:160px;
	width:100%;
	margin:0 auto;
}

.lower-contact .search-wrap {
	width:32.5%;
	margin:0 5% 0 2.5%;
	float:left;
	position:relative;
}

.lower-contact h6 {
	padding:5px 0 0 0; 
	text-align:right;
}


/*  SEARCH FORM
------------------------------------------------*/	
.lower-contact .search-form {
	width: 100%;
	float:right;
	position:relative;
}

.lower-contact .search-form input[type=text]{
	width:87%;
	float:left;
	position:relative;

	color: #171616;
	background: #fafbfa !important;
	
	margin:0;
	
	border:none;
	content:'Search Inventory';
	background:none;
	font-size:17px;
	height: 35px !important;
	text-indent:15px;
	font-weight:100;
	font-family: 'source_sans_prolight';
	
	padding:0 !important;
	
	-moz-box-shadow:    inset 0 0 3px rgba(0,0,0,0.6);
	-webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.6);
	box-shadow:         inset 0 0 3px rgba(0,0,0,0.6); 
	
	-webkit-border-radius:0 !important; 
    -webkit-appearance: none !important;
    border-radius: 0 !important;
}

.search-form input[type=submit]{	
	width:13% !important;
	height: 35px !important;
	margin:0 !important;
	padding:0 !important;
	
	text-indent:0; 
	line-height:35px;
	text-align:center;
	
	cursor: pointer;
		
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
		
	-webkit-border-radius:0 !important; 
    -webkit-appearance: none !important;
    border-radius: 0 !important;
		
	color:#fff;
	border:none !important;
	background:#a71c26;
	font-family: 'source_sans_prolight';
}

.search-form input[type="submit"]:hover {background:#3F3F3F;}







#hs-content-wrapper {
    width:95%; max-width:1250px;
    margin: auto;
}
.hs-search-box .fa-search,
.hs-facet-btns span,
.hs-faceted-search .hs-faceted-section-values .hs-facet-btns .hs-btn,
.hs-faceted-search .hs-faceted-section-values .hs-facet-btns,
.hs-facet-view-more,
.product .product-controls .nobr a,
.hs-faceted-search .hs-faceted-section-values span {color:#fff !important; font-weight:400 !important;}


.hs-btn.hs-highlighted {background:#a71c26;}

.hs-facet-label h3,
h3.hs-faceted-section-title {font-size:18px !important;}

.hs-faceted-search .hs-facet-label .hs-facet-name,
.hs-faceted-search .hs-facet-label .hs-facet-count {margin:0 0 0 3px; color:#000 !important;}

.page-header .cart-box .cart-view-cart div div{color:#fff !important;}

.cart-view .cart-total .cart-buttons div {color:#fff !important;}
#recaptcha-container div {color:#fff !important;}
#bottom-mobile .hs-btn.hs-highlighted:hover {background-color: #ccc !important;}


/* DEPARTMENT WRAP
------------------------------------------------*/	
.department {padding:35px 0 40px 0;}
.department:nth-of-type(even) {margin:15px 0; background:#F0F0F0;}
.department h4 {margin:0 auto 30px auto;}

/* STAFF PHOTOS
------------------------------------------------*/	
.staff-profile {width:22%; float:left; position:relative; margin:0 1.5% 35px 1.5%; line-height:20px;}
.staff-profile img{width:100%; border-bottom:5px #a71c26 solid;}
.staff-profile h5 {font-size:20px; line-height:22px;}
.staff-profile span {font-family: 'source_sans_proitalic';}


/* ADDRESS
------------------------------------------------*/	
address {
	line-height:0;
	font-style:normal;
	position:relative;
	background:#E1E1E1;
}

address a:link, address a:visited {
	color:#8c8c8c;
	text-decoration:none;
	-webkit-transition:.5s ease-in;  
	-moz-transition:.5s ease-in;  
	-o-transition:.5s ease-in;  
	transition:.5s ease-in;
}

address a:hover, address a:active {
	color:#ccc;
	text-decoration:none;	
}

address h4 {
	width:100%;
	text-align: center;
	line-height:35px;
	left:0;
	bottom:0;
	position:absolute;
	z-index:100;
	padding:2% 0;
	background:rgba(255,255,255,0.6);
}

address h4 span {
	color:#b3282e;
	font-size:35px;
	line-height:40px;
}

address img {
	width:100%;
	position:relative;
	z-index:0;
}


/*  FOOTER
------------------------------------------------*/
.site-footer {
	padding:50px 0;
	border-top:6px #282828 solid;
	background:#870e17;
}

.site-footer .hours {
	width:33.3%;
	float:left;	
	position:relative;
	text-align:center;
	color:#fff;
	font-size:20px;
	line-height:22px;
}

.site-footer .hours span {
	font-family: 'source_sans_prolight';	
}

.site-footer .title{
	width:33.3%;
	float:left;	
	position:relative;
	text-align:center;
	font-size:22px;
	line-height:30px;
	color:#fff;
	font-family: 'source_sans_prosemibold';
}


.account-link {
	width:20%;
	margin:0 auto;
	line-height:30px;
	text-align:center;	
}

.account-link a {
	display:block;	
}

.account-link a:link, .account-link a:visited {
	color:#a71c26;
	background:#fff;
	border:1px #a71c26 solid;
	padding:0 5%;
	-webkit-transition:.5s ease-in-out;  
	-moz-transition:.5s ease-in-out; 
	-o-transition:.5s ease-in-out;   
	transition:.5s ease-in-out; 
}

.account-link a:hover, .account-link a:active {
	color:#fff;
	text-decoration:none;
	background:#a71c26;
	border:1px #fff solid;
}





/************************************************ Responsive Styles **/


@media screen and (max-height: 630px) {
	.mini-form {display:none;}
	.side {display:none;}
}


/******************************************/



@media screen and (max-width: 1700px) {
	nav.primary ul li a {font-size:16px;}
}

@media screen and (max-width: 1550px) {
	nav.primary ul li a {font-size:15px;}
	.phone-section{width:100%; margin:0 0 20px 0; text-align:center;}
	.newsletter-section{width:50%; margin:0 25%;}
	.ca-section{width:50%; margin:20px 25% 0 25%;}
	.dc-section{width:50%; margin:20px 25% 0 25%;}
}

@media screen and (max-width: 1350px) {
	nav.primary ul li a {font-size:14px;}
	.phone-section h5 {font-size:16px;}
	.phone-section h5 span {font-size:18px;}
	
	.location .contact-photo {width:50%;}
	.location .contact-info {width:50%;}
	
	.staff-profile {width:30%; margin:0 1.5% 35px 1.5%;}
}

@media screen and (max-width: 1300px) {
	.logo {width:100%; margin:0 0 20px 0; text-align:center;}
}

@media screen and (max-width: 1235px) {
	nav.primary ul li a {font-size:12px;}
}

@media screen and (max-width: 1024px) {
	.content {width:93.6%; margin:0 3.2%;}
	.content-full{width:100%; margin:0;}
	#fb {display:none;}
	#twitter {display:none;}
	#contact-us {display:none;}
	article.side-map {width:100%;}
	.side-map-wrap {width:85%; margin:20px 7.5% 0 7.5%;}
	.product-line {width:20%}
	.product-line:nth-child(n+20) {width:15%;}
	.inventory-categories h3{font-size:22px;}	
	.lower-contact .brands {width:23.3%; margin:0 5% 25px 5%;}
	.lower-contact .search-wrap {width:85%; margin:0 7.5%;}
	.lower-contact h6 {font-size:18px;}
	
	.cycle-slideshow {width:65%;}
	.twitter-feed {width:35%;}
}

@media screen and (max-width: 1010px) {
	.site-form .three-cells {width:100%; *width: 100%;}
	.site-form .full-cell {width:100% !important;}
	
	.site-header {/*flex-flow:column;*/ align-items:center; justify-content:center; padding:30px 2.5%;}
	
	.location-info {width:50%; text-align:center; font-size:1.2em; color:#fff; }
	.location-info:nth-of-type(1) {order:1; }
	.location-info:nth-of-type(2) {order:2;}
	.badge {order:3; position:relative; margin:15px auto 0 auto;}
	.badge img{width:100%; max-width:165px;}

	.hd-social {display:none;}
	
	nav.primary{display:none;}
	#menu-button{width:100%; display: block; font-size: 1.25em; line-height:60px; text-align:center; position: relative; z-index: 400; background: #a71c26;}
	#menu-button a{color:#fff; text-decoration: none; padding:0; 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:18px 0 0 0;}

	nav.mobile {
		display:block;
		position: fixed;
		top: 0;
		left: -285px;
		width: 285px;
		height: 100%;
		z-index: 999999999;
		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 {margin:0 5px; 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 #C8102E 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:#777; position:relative; text-align:center; font-size:15px; line-height:15px; padding:15px 0;}
	
	.parts-link {width:50%; margin:30px 0 10px 0;}
}

@media screen and (max-width: 900px) {	
	article.aside {width:100%;}
	article .rewards {display:none;}
	aside{width:100%; margin:0;}
	aside .brands {display:none;}
	
	.video-aside{width:100%; padding-bottom:46.25%;}
	
	.location {width:100%; margin:0;}
	.location:nth-of-type(even) {width:100%; margin:0;}	
	
	.location .contact-photo {width:65%;}
	.location .contact-info {width:35%;}
	.location .description {display:none;}
}

@media screen and (max-width: 825px) {
	.hero-wrap {display:flex; flex-flow:row wrap; justify-content: space-between; }
	.cycle-slideshow {width:100%;}
	.twitter-feed {width:100%; min-height:350px;}
	.staff-profile {width:47%; margin:0 1.5% 35px 1.5%;}
}

@media screen and (max-width: 768px) {
	.site-header {flex-flow:column;}
	.location-info {width:100%;}
	.badge {display:none;}
	.phone-section h5 {width:95%; margin:3px 2.5%; text-align:center;}
	.newsletter-section{width:60%; margin:0 20%;}
	.ca-section{width:60%; margin:20px 20% 0 20%;}
	.dc-section{width:60%; margin:20px 20% 0 20%;}
	.inventory-categories {width:50%;}
	.lower-contact h6 {font-size:16px;}
	address img {display:none;}
	address h4 {font-size:20px; line-height:25px; position:relative;}
	address h4 span {font-size:30px; line-height:35px;}
	
	.site-footer .hours {width:100%; font-size:16px; margin:0 0 20px 0;}
	.site-footer .title{display:none;}
	.account-link {width:50%;}
	.divfooter {margin:40px auto 0 auto;}
}

@media screen and (max-width: 550px) {	
	.staff-profile {width:97%; margin:0 1.5% 35px 1.5%;}
}

@media screen and (max-width: 500px) {
	.location-info {font-size:1em;}
	
	.newsletter-section{width:80%; margin:0 10%;}
	.ca-section{width:80%; margin:20px 10% 0 10%;}
	.dc-section{width:80%; margin:20px 10% 0 10%;}
	/*.cycle-slideshow {display:none;}*/
	.product-line {width:45% !important;}
	.parts-link {width:100%; margin:30px 0 10px 0;}
	.location .contact-photo {display:none;}
	.location .contact-info {width:100%; text-align:left;}
	.location .contact-map{margin:15px 0 25px 0;}
}

@media screen and (max-width: 320px){
	.product-line {width:95% !important;}	
	.inventory-categories {width:100%;}
	.lower-contact .brands {width:100%; margin:10px 0 15px 0;}
	.lower-contact h6 {font-size:16px;}
}