@charset "utf-8";
/* CSS Document */

a, button, .button, a:hover, button:hover, .button:hover, button.mobile_btn::after {
    -webkit-transition:all .45s ease;
    -moz-transition:all .45s ease;
    -ms-transition:all .45s ease;
    -o-transition:all .45s ease;
    transition:all .45s ease;
}
* { outline: none; }
body { overflow-x:hidden; font-family: 'Arial', sans-serif !important; line-height: 1.4;}

::-webkit-scrollbar-track, ::-webkit-scrollbar, ::-webkit-scrollbar-thumb {
	-webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
}
::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	background-color: #eee;
}
::-webkit-scrollbar {
	width: 10px;
	background-color: #eee;
}
::-webkit-scrollbar-thumb { background-color: rgba(0,0,0,.25); }


/* =============================================================================
   Hosted Inventory Resets                                                               
============================================================================= */
.inven #wide_col { float: left; }
.hosted-content .columns.small-12 {
    width: 25%;
    float: left;
    padding: 0;
}
.attachment-search { width: 100% !important; }

/*  SCROLLING INVENTORY
------------------------------------------------*/
.scrolling-wrap {
    width:100%;
    height:90px;
    overflow:hidden;
}
 
.scrolling{
    width:100%;
    height:92px;
}
.at-share-btn-elements{
	padding-bottom:10px !important;
}
.listings-wrapper .listing-smallcard .listing-smallcard-title{
	min-height:0 !important;
}
h1{font-size:2em;margin:0; line-height: 1.2;}
.listings-wrapper .listing-smallcard .listing-card-pricing .listing-prices {
     margin-bottom: 0px; 
}
.hosted-content img {
	vertical-align: baseline!important;
}
.hosted-content .pagination>.drop-down-form select, .hosted-content .pagination-blog>select {
    width: 60px;
}
/* =============================================================================
   Typeography                                                              
============================================================================= */



/* =============================================================================
   Header                                                              
============================================================================= */
.top {width: 100%; display: flex; justify-content: space-between; align-items: center; padding: 0 7%;}

.top .logo {
    max-width: 300px;
	width: 100%;
	height: auto;
}
.top .text-right{padding-top:10px;}
.top span.phone-number{font-size: 19px;}
.top a{display: block; color:#2B2B2B;font-size: 14px; text-transform: uppercase;}
.top .icon{max-height: 20px; vertical-align: top; display: inline-block;}
.top .text-right a:hover{opacity: .6;}
header {
	display: table;
	width: 100%;
	padding: 0px;
	background-color:#2b2b2b;
}

/* Menu Main */
.menu-main-container ul {
	margin: 0;
	padding:0;
	list-style: none;
	text-align: center;
}
.mobile-nav ul {
	margin: 0;
	padding:0;
	list-style: none;
}
#menu-main a {
	display:block; 
	color: white; 
	padding: 0.8em 1vw;
	font-size: 16px;
	position: relative;
	font-weight: 600;
	text-transform: uppercase;
}
#menu-main a:hover {
}
#menu-main li {
	position: relative;
	display: inline-block;
}

/* Main Sub-Menu */
#menu-main ul {
	position: absolute;
	white-space: nowrap;
	z-index: 9999999;
	left: -99999em;
	background: black;
	text-align: left;
}
#menu-main li ul li { display:block; }
#menu-main ul li a:hover { color: #333; }
#menu-main > li:hover > ul {
	left: auto;
	min-width: 100%;
}
#menu-main > li li:hover > ul { 
	left: 100%;
	margin-left: 1px;
	top: -1px;
}

/* Dropdown Arrow */
/*#menu-main li > a:after {
	content: ' ';
    background: url(../siteart/down.png) no-repeat 80% 50% / 8px;
    top: 0;
    position: absolute;
    width: 15px;
    height: 100%;
}
#menu-main li > a:hover:after { background: url(../siteart/down.png) no-repeat 80% 50% / 8px; }
#menu-main li > a:only-child:after { content: none; }
*/

	/* Mobile Menu Toggle */
	.off-canvas-container { position: relative;	}
	.off-canvas-inner {
	    position: relative;
		width: 100%;
		display: block;
		overflow:hidden;
	}
	.off_canvas {
		position: relative;
		height: 100vh;
		max-height: 100%;
		background: #222;
		position: fixed;
		overflow-x:hidden;
		top: 0;
    	z-index: 1;
	}
	.off_canvas_content.is_open, .off_canvas_content.open_right.is_open {
		filter: blur(3px);
		position:fixed;
		width: 100%;
	}
	.off_canvas_content.is_open { transform: translateX(300px); }
	.off_canvas_content.open_right.is_open { transform: translateX(-250px); }
	.position_left, .position_right {
		width: 300px;
		overflow-y: auto;
	}
	.position_left {
		transform: translateX(-300px);
		left: 0	
	}
	.position_right {
		transform: translateX(300px);
		right: 0;	
	}
	.position_left.is_open, .position_right.is_open {
		transform: translateX(0px);
		z-index: 999999;
		-webkit-box-shadow: 2px 0 20px -4px #222;
        box-shadow: 2px 0 20px -4px #222;
	}
	.off_canvas_content, .off_canvas_content.is_open, .position_left, .position_left.is_open, #off_canvas_cover.is_open, #off_canvas_cover, .position_right.is_open, .position_right  {
		-webkit-transition: all 0.75s ease;
		-moz-transition: all 0.75s ease;
		-o-transition: all 0.75s ease;
		transition: all 0.75s ease;		
	}
		/* Close Btn */
		.close {
			background: url(../siteart/close.png) no-repeat 50% 50% / 20px transparent;
			width: 20px;
			height: 20px;
			position: absolute;
			right: 12px;
			top: 15px;
			display: block;		
		}
		.close:hover {
			cursor:pointer;
			background: url(../siteart/close.png) no-repeat 50% 50% / 20px transparent;
		}
		#off_canvas_cover, #off_canvas_cover.is_open { transform: rotate(0); }
		#off_canvas_cover {
			visibility:hidden;
			position: fixed;
			width: 100%;
			height: 100%;
			top: 0;
			left: 0;
			z-index:-1;
			background: rgba(255,255,255,.65);
			opacity: 0;
		}
		#off_canvas_cover.is_open {
			opacity: 1;
			visibility:visible;
			z-index:9999;
		}

  	/* Mobile Menu */
	.off_canvas header {
		background: transparent;
		padding: 0px;
		position: relative;		
		top: 0;
	}
	.off_canvas h2 {
		color: #fff;
		text-align:left;
		font-size: 1.5em;
		margin: 10px 15px;		
	}
	.mobile.button { display: none;	}
	.mobile-nav #mobile-menu-main { border-top: 1px solid #333; }
	.mobile-nav #mobile-menu-main li {
		width: 100%;
		position: relative;
	}
	.mobile-nav #mobile-menu-main li a:hover { color: #fff; }
	.mobile-nav #mobile-menu-main a {
		width: 100%;
		color: #818181;
		min-height: 45px;
		display: inline-block;
		text-decoration: none;
		padding: 10px 0 10px 5%;
		position: relative;
		font-size: 14px;
		border-bottom: 1px solid #333;
	}

	/* Mobile Sub-Menu */
	.mobile-nav #mobile-menu-main ul {
		position: relative;
		z-index: initial;
		left: 0;
		background: transparent;
		text-align: left;
		width: 100%;
		padding: 0px;
		display:none;
	}
	.mobile-nav ul li ul li a { padding: 10px 0; }
	.mobile-nav ul li a:hover { color: #fff !important; }
	
	/* First Dropdown */
	.mobile-nav #mobile-menu-main > li li:hover > ul {
		left: 0px;
	}
	/* Second Dropdown */
	.mobile-nav #mobile-menu-main > li > .sub-menu li a {
		margin: 0 0 0 5%;
	}
	/* Third Dropdown */
	.mobile-nav #mobile-menu-main > li > .sub-menu > li > ul.sub-menu li a {
		margin: 0 0 0 10%;
	}
	/* Fourth Dropdown */
	.mobile-nav #mobile-menu-main > li > .sub-menu > li > ul.sub-menu > li > ul.sub-menu li a {
		margin: 0 0 0 15%;
	}
	/* Fifth Dropdown */
	.mobile-nav #mobile-menu-main > li > .sub-menu > li > ul.sub-menu > li > ul.sub-menu > li > ul.sub-menu li a {
		margin: 0 0 0 20%;
	}

	/* Mobile Btn */
	.mobile-nav li button.mobile_btn {
		height: 45px;
		width: 50px;
		position: absolute;
		top: 0;
		right: 0;
		background: #333;
		display: inline-block;
		border-radius: 3px 0 0 3px;
		border:none;
	}
	.mobile-nav li button.mobile_btn:hover { cursor: pointer }
	.mobile-nav button.mobile_btn::after {
		content: ' ';
		position: absolute;
		top: 0;
		left: 0;
		background: url(../siteart/mobile_arrow.png) no-repeat center center / 10px;
		width: 100%;
		height: 100%;
	}
	.mobile-nav li button.mobile_btn.active { background: #666; }
	.mobile-nav li button.mobile_btn.active::after, .close:hover {
		-webkit-transform: rotate(180deg);
		-moz-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		-o-transform: rotate(180deg);
		transform: rotate(180deg);
	}

/* =============================================================================
   Slider                                                             
============================================================================= */
#slider {
			overflow:hidden;
			position:relative;
			width: 100%;
			background: #222;
			display: table;
		}
		#slider h1 {
			line-height: 1;
			margin-bottom: 10px;
			font-size: 2.0em;
			color: #fff;
			border:3px solid white;
			padding:7px 0;
		}
		#slider .orbit-caption h6 { margin-bottom: 10px; }
		#slider .orbit-container {
			height: 0;
			margin: 0;
			list-style: none;
			overflow: hidden;
			height: 55vh !important;
			width: 100%;
			text-align:left;
		}
		#slider .orbit-slide {
			background-repeat: no-repeat;
			background-size: cover;
			height: 55vh;
			background-position: 50% 50%;
			width: 100%;
			z-index: 9999;
			padding: 0;
		}
		#slider .orbit-caption {
			display: table;
			height: 100%;
			width: 100%;
			top: 0;
			position:relative;
			background: rgba(0,0,0,.25);
			padding: 0;
			text-align: center;
			text-transform: uppercase;
			text-shadow: 2px 2px #000;
		}
		
		#slider .orbit-caption section {
			display: table-cell;
			vertical-align:middle;
		}
		#slider .orbit-caption section span {
			padding: 25px 25px 10px 25px;
			display: block;
			max-width: 600px;
			margin-left: auto;
			margin-right: auto;
		}
		
		.orbit-next::after, .orbit-previous::after { display: none; }
		.orbit-next, .orbit-previous, .orbit-next:focus, .orbit-previous:focus, .orbit-next:active, .orbit-previous:active { 
			z-index: 999999999; 
			cursor: pointer;
			background: transparent;
		}
		.orbit-next:hover, .orbit-previous:hover { background: rgba(0,0,0,.5) }
		.orbit-next:hover, .orbit-previous:hover, .orbit-next:focus, .orbit-previous:focus { padding: 1rem; }
		.orbit-next, .orbit-previous { background: transparent; }
		
			/* Interior */
			#interior #slider .orbit-container, #interior #slider, #interior #slider .orbit-slide { height: 20vh !important; }
			#interior #slider .orbit-caption { display: none; }
			#interior .orbit-next, #interior .orbit-previous { display:none; }
			#interior #slider .orbit-slide { background-position: 50% 65%; }

a.slider-button {
    color: white;
    text-transform: uppercase;
    text-align: center;
    border: white solid 2px;
    padding: 7px;
	background-color:#2b2b2b;
	background-color:rgba(43,43,43,0.85);
	margin: 1% auto;
	display: block;
}
a.slider-button:hover {
	background-color: #921c1c;
	background-color:rgba(146,28,28,0.85);
}
.random-line{border-top: 3px solid white; width:200px;}
/* =============================================================================
   CTA                                                             
============================================================================= */
.cement{background-image: url("../siteart/cement.jpg"); background-size: cover; font-family: 'Arial', sans-serif; padding:10px 0;}
.hover-cta{ position: absolute; z-index: 9999; width:100%; margin-top:-55px;}
.hover-cta-p{padding-top:160px;}
.cta ul { 
				margin:0px;
				list-style:none; 
				width: 100%;
				display: table;
				position: relative;
			}
			.cta ul li { 
				padding: 0 10px 0;
				margin: 0px; 
			}
			.cta ul li:first-child {  }
			.cta div:first-of-type {
				list-style:none;
				position: relative;
				background: white;
				border:thin solid #9e0b0f;
				border-radius: 1px;
				padding: 0;
				height: 100px;
				z-index:999;
			}
			.cta a span {
				text-align: left;
				display: table-cell; 
				vertical-align:middle;
			}
			.cta a h2 { 
				color: #3b3b3b; 
				font-size: 18px;
				font-weight: 200; 
				line-height: 1; 
				float: left;
				position: relative;
				top: 8px;
				left: 0px;
				font-family: 'Arial', sans-serif;
				text-transform: uppercase;
			 }
			.cta a h2 strong { display: block; color:#9e0b0f; font-size: 20px;}
			.cta a:hover { opacity: 1; }
			.cta a .overlay {
				position:absolute;
				top:0;
				bottom: 0;
				display: table;
				padding-left:10px;
				width: 100%;
				height: 100%;
			}
			.cta li.column.column-block {
				padding:0;
			}
			.cta .icon {
				width: 75px;
				height: 75px !important;
				float: left;
				border: none !important;
				
			}
.cta .arrow {
    width: 30px;
    height: 30px !important;
    float: right;
    position: absolute;
    right: 10px;
    top: 38px;
}

.cta div:hover { background:#F5F5F5;}
.cta div:hover .arrow{ 
  animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  perspective: 1000px;
			}
@keyframes shake {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }

}
			
#interior .cta ul li div:first-child { height: 135px; }

/* =============================================================================
   Body
============================================================================= */
.main{padding:30px 0;}
h1{text-transform: uppercase;}

h1 strong{display: block;}

.quick-button {
	max-width: 325px;
}
.quick-button h2 {
	color: white;
	text-transform: uppercase;
	font-size: 16px;
	margin: 0;
	line-height: 1;
	padding: 7px 10px;
}
.quick-button h2 strong {
	display: block;
	font-size: 25px;
}
.quick-button .column {
	background: #2b2b2b;
	background-image: url(../siteart/red-bar.png);
	background-repeat: no-repeat;
	background-position: 50% 50%;
}
.quick-button  .column:hover {
	background: #b11c1f;
}
/* =============================================================================
   Brands Slider                                                             
============================================================================= */
.brandsSlider {
	width: 100%;
	height: auto;
	overflow: hidden;
}
.brandsSlider h5 {
	position: relative;
	top: 10px;
	margin: 0;
}
.brandsSlider .slick-slider section {
	display: block;
	width: 100%;
	height: 103px;
	position: relative;
}
.brandsSlider .slick-slider section a {
	width: 100%;
	height: 100%;
	display: table;
	position: absolute;
}
.brandsSlider .slick-slider section a span, .brandPage div.columns section {
	display: table-cell;
	vertical-align: middle;
}
.brandPage div.columns {
	display: table;
}
.brandPage img {
	display: block;
	margin: 15px auto;
	max-height: 90px;
}
.slick-list.draggable {
	width: 90%;
	margin: 0px auto;
}
button.slick-prev.slick-arrow {
	position: absolute;
	z-index: 999999999;
}
.slick-slide img {
	display: table-cell;
	vertical-align: middle;
	max-height: 90px;
	/*max-width: 155px;*/
	margin: 0px auto;
	padding-top: 7px;
}
.slick-slide {
	display: block;
	padding: 0 15px 0 0;
	height: 100px;
	position: relative;
}
/* =============================================================================
   Form                                                              
============================================================================= */
.column.text-center.form-space.black-area{
	padding-bottom: 10px;
}
.column.text-center.form-space.black-area p.form-label{
    background-color: #9e0b0f;
    color: white;
    text-transform: uppercase;
    padding: 5px;
    margin: 0px !important;
}
.CaptchaPanel {
	margin: 0 !important;
	padding: 0px !important;
}
.CaptchaMessagePanel {
	padding: 0 !important;
	font-size: 14px;
}
.CaptchaImagePanel {
	padding: 0 !important;
}
.CaptchaWhatsThisPanel a {
	background-color: rgba(255,255,255,0.00);
	padding: 0px;
	color:black;
	background-image: none !important;
}
.CaptchaWhatsThisPanel a:hover {
	background-color: rgba(0,0,0,0.00);
	text-decoration: underline;
}
.main [type=submit], .main [type=reset] {
	background: #9e0b0f;
	padding: 7px 10px;
	font-size: 15px;
	border: none !important;
	color: white;
	text-transform: uppercase;
}
.main [type=submit]:hover, .main [type=reset]:hover {
	background: black;
}

/* =============================================================================
   Footer
============================================================================= */
.map-responsive{
    overflow:hidden;
    padding-bottom:300px;
    position:relative;
    height:0;
}
.map-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}
.footer{
	padding:10px 0;
	border-top:5px solid black;
	text-transform: uppercase;
}
.footer a {
	color: black;
	font-weight: 600;
	text-transform: uppercase;
}
.footer a:hover {
	color: #b11c1f;
}
.footer h6 {
	font-weight: 600;
	font-size: 16px;
}
.footer ul {
	font-size: 12px;
	line-height: 1.8;
	list-style-type: none;
	margin-left: none !important;
}
.footer ol, .footer ul {
	margin-left: 0;
}
a.footerlink:link, a.footerlink:visited, a.footerlink:active{text-decoration:underline; font-size:13px;}
a.footerlink:hover {text-decoration:none; font-size:13px;}

.footertext{font-size:13px;}

.smallfootertext{ display: none;}

.divfooter { text-align:right; margin:0 auto;}
.footer .logo {
    float: right;
    max-height: 55px;
}


/* =============================================================================
   Mobile                                                              
============================================================================= */

@media screen and (max-width: 1200px) {
	.divfooter { text-align:center;}
	.footer .logo {
		float: none !important;
		margin-left: auto;
		margin-right: auto;
		display: block;
	}
	#menu-main a {font-size: 14px;}
}


@media screen and (max-width: 925px) {

	.off_canvas { display: block; }
	.mobile.button {
		display: block;
		background: url(../siteart/mobile.png) no-repeat 50% 50% / contain transparent;
		height: 45px;
		width: 45px;
		position:relative;
		color: transparent !important;
		margin-bottom: 0;
		margin-left: auto;
    	margin-right: auto;
	}
	.menu-main-container { display: none; }

}

@media screen and (max-width: 580px) {
	#slider .small-4{width: 100%;}
	a.slider-button {padding: 3px 5px;}
	.footer .small-6{width: 100%; text-align: center;}
	.top {flex-wrap: wrap; justify-content: center;}
	.top .text-right {display: flex; justify-content: space-between; align-items: center; width: 100%;}
}

@media screen and (max-width: 350px) {
	.top .text-right {flex-wrap: wrap; justify-content: center;}
}
