/* 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; list-style: none;} img{max-width: 100%; image-rendering: -webkit-optimize-contrast;}
.cf{zoom: 1;} .cf:before, .cf:after{content: ""; display: table;} .cf:after{clear: both;} .clear{clear: both;} *, *:before, *:after{box-sizing: border-box;}

html, body{font-family: "roboto", sans-serif; line-height: 1.5; height: 100%; width: 100%;}
body{overflow-x: hidden;}
hr{margin: 25px 0; border: none; border-top: 1px #eee solid;}
::-moz-selection{background: #E51937; color: #fff; text-shadow: none} ::selection{background: #E51937; color: #fff; text-shadow: none}

.flex-row{display: flex; flex-wrap: wrap;}
.flex-col{padding-right: 35px;} .flex-col:last-child{padding-right: 0;}
.col-4{width: 33.3333%;} .col-6{width: 50%;} .col-8{width: 66.6666%;}

.main{padding: 50px 0;}
.wrap{max-width: 1440px; margin: 0 auto; padding: 0 20px;}

/* TYPOGRAPHY */

h1, h2, h3, h4, h5, h6{font-family: "industry", sans-serif; font-weight: 700; line-height: 1.25;}
a{text-decoration: none; color: inherit; cursor: pointer; transition: all .2s ease-in-out;} a:hover{color: inherit;}

.btn{display: inline-flex; align-items: center; justify-content: center; background: #E51937; padding: 15px 40px; font-size: 14px; font-weight: 700; text-align: center; line-height: 1; color: #fff; border-radius: 3px;}
.btn:hover{background: #D1122F; color: #fff;}

.white-btn{background: rgba(255, 255, 255, 0.25) !important; border: 1px #fff solid;}
.white-btn:hover{background: rgba(255, 255, 255, 0.5) !important;}

.bullet-list{display: flex; flex-wrap: wrap; margin: 25px 0;}
.bullet-list li{width: calc(50% - 20px); margin: 0; padding: 3px 10px 3px 0; margin-left: 20px; list-style: disc; font-size: 14px;}
.flex-col .bullet-list li{width: 100%; padding: 3px 0;}

.red{color: #E51937;}
.green{color: #02713E;}

/* HEADER */

.top-header{background: #f5f5f5; padding: 10px;}
.top-header ul{display: flex; align-items: center; justify-content: center;}
.top-header ul li a{display: flex; align-items: center; padding: 0 20px; font-size: 14px; font-weight: 700;}
.top-header ul li a:before{position: relative; top: 2px; margin-right: 5px; font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f0e0";}

.header{padding: 35px 0;}
.header .logos{display: flex; align-items: center; justify-content: center;}
.header .logos a{display: block; padding: 0 25px;}
.header .logos img{display: block; max-height: 50px;}

.navigation{position: relative; border-top: 1px #eee solid; border-bottom: 1px #eee solid; z-index: 9999;}

nav.primary{display: inline-block; text-align: center; position: relative; width: 100%; z-index: 999;}
nav.primary ul{display: flex; justify-content: center; width: 100%; margin: 0; padding: 0;}
nav.primary ul li{display: inline-block; position: relative; height: 100%; transition: 0.3s;}
nav.primary ul li a{display: block; padding: 15px 20px 12px; font-family: "industry", sans-serif; font-size: 16px; font-weight: 700; text-transform: uppercase; text-align: center; color: #555; transition: 0.2s ease-in;}
nav.primary ul li:hover > a{background: #f5f5f5;}

nav.primary .primary-sub-menu li{border-bottom: 1px #eee solid;}
nav.primary .primary-sub-menu li a{display: block; background: #fff; font-size: 13px; font-weight: 500; text-align: left;}
nav.primary .primary-sub-menu li:hover > a{background: #f5f5f5;}

nav.primary ul ul{display: none; position: absolute; width: 250px; box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1); z-index: 5;}
nav.primary ul li:hover > ul{display: block; position: absolute; white-space: nowrap; z-index: 100;}
nav.primary ul ul li{display: block; position: relative; float: none; margin: 0; font-size: 12px;}

/* LANDING PAGE */
.midwest-underground .selected-facet {color:#000!important;}
.midwest-underground .view-listing-details-link {color:#000!important;}
.selected-facet {color:#fff!important;}
.view-listing-details-link {color:#fff!important;}
.list-listings-count {color:#2879AA!important;}
.landing-page{display: flex; min-height: 100vh; flex-direction: column;}
.landing-page .main{display: flex; align-items: center; justify-content: center; flex: 1;}
.landing-page .wrap{display: flex; flex-wrap: wrap; width: 100%;}

.landing-link{flex: 1; background: #fff; border: 1px #eee solid;}
.landing-link:hover{transform: scale(1.025); box-shadow: 0px 10px 70px 0px rgb(0 0 0 / 50%); z-index: 9;}
.landing-link .landing-img img{display: block; width: 100%;}
.landing-link .landing-text{display: block; padding: 20px; text-align: center;}
.landing-link .landing-text img{display: block; max-height: 50px; margin: 0 auto 15px;}
.landing-link .landing-btn{display: flex; align-items: center; background: #f5f5f5; font-family: "industry", sans-serif; font-weight: 900; font-style: italic; text-transform: uppercase; line-height: 1.5;}
.landing-link .landing-btn span{padding: 5px 20px 0;}
.landing-link .landing-btn .arrow{display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; margin-left: auto; font-size: 20px; color: #fff;}
.landing-link .landing-btn .red{background: #E51937;}
.landing-link .landing-btn .black{background: #000;}
.landing-link .landing-btn .green{background: #02713E;}

/* HOME */

.hero{position: relative; background: #000; color: #fff;}
.hero-inner{position: absolute; top: 50%; left: calc(50% - 700px); transform: translate(0, -50%); max-width: 650px; z-index: 999;}
.hero-inner h1{font-size: 36px; font-weight: 400;}
.hero-inner h1 strong{display: block; margin: 15px 0 20px; font-size: 48px; font-weight: 700; font-style: italic; line-height: 1;}
.hero-inner .cta-container{display: flex;}
.hero-inner .cta-container .btn{margin-right: 5px;}

.product{display: block; font-family: "industry", sans-serif; text-transform: uppercase; text-align: center; border: 1px #eee solid;}
.product:hover{transform: scale(1.025); box-shadow: 0px 0px 30px 0px rgb(0 0 0 / 15%); z-index: 9;}
.product-img {height: 150px;overflow: hidden;}
.product .product-img img{display: block; margin: auto;height: 100%;width: 100%;object-fit: cover; max-width:auto !important;}
.product .product-text{display: block; padding: 10px;}

.black-bg{background: #333; color: #fff;}
.black-bg-heading{margin-bottom: 15px; font-family: "industry", sans-serif; font-size: 18px;}
.black-bg-heading strong{display: block; font-size: 36px; line-height: 1.25;}

.department-boxes{display: flex; flex-wrap: wrap;}
.department-boxes .department-box{display: flex; align-items: center; justify-content: center; flex: 1; background: #f5f5f5; padding: 50px 20px; text-align: center; border: 1px #fff solid;}
.department-boxes .department-box:hover{transform: scale(1.025); box-shadow: 0px 0px 30px 0px rgb(0 0 0 / 15%); z-index: 9;}
.department-boxes div{width: 100%; max-width: 400px;}
.department-boxes i{display: block; margin: 0 auto 15px; font-size: 48px;}

.brand-slider .product-img{padding: 40px;box-sizing: border-box;}
.brand-slider .product-img img{object-fit: contain !important;}

.location-box{background: #f5f5f5; padding: 50px;}
.location-box select{display: block; width: 100%; margin: 10px 0 15px -4px; max-width: 300px; padding: 10px; border: 1px #eee solid;}
.location-box iframe{width: 100%; height: 350px;}

.location-row{display: flex; align-items: center; margin-bottom: 10px;}
.location-row .location-icon{display: flex; align-items: center; justify-content: center; background: #E51937; width: 50px; height: 50px; color: #fff;}
.location-row .location-text{flex: 1; padding: 0 15px;line-break: anywhere;}

.flex-row .location-box{padding: 25px;}
.flex-row .location-box iframe{height: 275px;}
.flex-row .location-box .flex-col{flex: none; width: 100%;}
.flex-row .location-box .flex-col:first-child{margin-bottom: 15px;}

/* SUB-PAGES */

.title-banner{ padding: 25px 0; color: #fff;}

.brand-container{display: flex; flex-wrap: wrap; margin: 25px 0; font-size: 14px; text-align: center;}
.brand-container .brand{display: block; width: calc(20% - 4px); margin: 2px; padding: 15px; text-transform: capitalize; border: 1px #eee solid;}
.brand-container .brand:hover{transform: scale(1.025); box-shadow: 0px 0px 30px 0px rgb(0 0 0 / 15%); z-index: 9;}
.brand-container .brand img{display: block; max-height: 30px; margin: 15px auto;}

.staff-container{display:grid;grid-template-columns: repeat(4,1fr);gap: 0;grid-auto-rows: minmax(100px,auto); text-align: center; margin: 20px 0;}
.staff-container .staff{margin: 5px; padding: 20px; border: 1px solid #eee; flex-basis:24%;text-align: center;}
.staff-container .staff .staff-img{width:100%;margin: 0 auto 10px auto;}
.staff-container .staff .staff-img img {width:100%;}
.staff-container .staff .staff-text{flex: 1;font-size: 18px;}

.title-banner img {filter: brightness(0) invert(1);max-width: 100%;width: 180px;}

.lf-george .title-banner {
    padding: 25px 0;
    background-color: #e51937;
    background-image: url("../siteart/asfalt-dark.png");
	background-repeat:repeat;
    color: #fff;
}
.midwest-underground .title-banner {
    padding: 25px 0;
    background-color: #515255;
    background-image: url("../siteart/asfalt-dark.png");
	background-repeat:repeat;
    color: #fff;
}
.trenchers-plus .title-banner {
    padding: 25px 0;
    background-color: #02713E;
    background-image: url("../siteart/asfalt-dark.png");
	background-repeat:repeat;
    color: #fff;
}

.title-banner {text-align: center;}
/* ACCORDION */

.accordion-container{margin: 25px 0;}

.accordion{display: block; position: relative; margin-bottom: 10px; color: #666; border: 1px #eee solid; border-radius: 5px; transition: all .2s ease-in-out;}
.accordion:hover{border: 1px #ccc solid;}
.accordion .accordion-header{display: flex; align-items: center; padding: 15px 20px 15px 25px; font-weight: 700; border-radius: 5px; cursor: pointer;}
.accordion .accordion-header:after{font-family: "Font Awesome 5 Free"; font-size: 20px; font-weight: 900; content: "\f067"; margin-left: auto; color: #ddd;}
.accordion .accordion-content{display: none; padding: 25px;}

.accordion.active:hover{border: 1px #eee solid;}
.accordion.active .accordion-header:after{content: "\f068"; color: #999;}

/* SLIDESHOW */
	
.slick-slider{position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent;}
.slick-list{position: relative; display: block; overflow: hidden;}
.slick-list:focus{outline: none;}
.slick-list.dragging{cursor: pointer; cursor: hand;}
.slick-slider .slick-track,.slick-slider .slick-list{transform: translate3d(0, 0, 0);}
.slick-track{position: relative; top: 0; left: 0; display: block; margin: auto; padding: 50px 0 25px;}
.slick-track:before,.slick-track:after{display: table; content: '';}
.slick-track:after{clear: both;}
.slick-loading .slick-track{visibility: hidden;}
.slick-slide{display: none; float: left; min-height: 1px;}
[dir='rtl'] .slick-slide{float: right;}
.slick-slide img{display: block; max-width: 100%;}
.slick-slide.slick-loading img{display: none;}
.slick-slide.dragging img{pointer-events: none;}
.slick-initialized .slick-slide{display: block; padding: 0 10px;}
.slick-loading .slick-slide{visibility: hidden;}
.slick-vertical .slick-slide{display: block; height: auto; border: 1px solid transparent;}
.slick-arrow.slick-hidden{display: none;}
	
.slick-dots{position: absolute; bottom: 0; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li{position: relative; display: inline-block; width: 15px; height: 15px;}
.slick-dots li button{font-size: 0; cursor: pointer; border: 0; outline: none; background: transparent;}
.slick-dots li button:before{font-family: "Font Awesome 5 Free"; font-size: 8px; font-weight: 900; line-height: 24px; position: absolute; top: 0; left: 0; width: 20px; height: 20px; content: '\f111'; text-align: center; opacity: .5; color: #fff;}
.slick-dots li button:hover:before, .slick-dots li.slick-active button:before{opacity: 1;}

.slick-prev, .slick-next{display: block; position: absolute; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.1); width: 45px; height: 45px; top: -20px; padding: 0; right: 0; font-size: 0; transform: translate(0, -50%); border: none; outline: none; border-radius: 3px; transition: all .2s ease-in-out; cursor: pointer;}
.slick-prev:hover, .slick-next:hover{background: #E51937;}
.slick-prev:before, .slick-next:before{position: relative; font-family: "Font Awesome 5 Free"; font-size: 20px; font-weight: 900; color: #fff;}
.slick-prev{right: 50px;} .slick-prev:before{content: '\f060';}
.slick-next{right: 0;} .slick-next:before{content: '\f061';}

.hero .slick-track{padding: 0;}
.hero .slick-slide{padding: 0;}
.hero .slick-slide .slide{position: relative; height: 400px; overflow: hidden;}
.hero .slick-slide img{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; margin: auto; opacity: .35;}

/* FORM */

.form{padding: 25px; font-size: 14px; box-shadow: 20px 20px 60px #d9d9d9, -20px -20px 60px #ffffff;}
.form h2{margin-bottom: 15px;}
.form input[type="submit"]{display: block; width: 100%; max-width: 250px; background: #333; margin: 15px auto; padding: 15px 15px 12px; font-family: "industry", sans-serif; font-size: 16px; font-weight: 700; text-transform: uppercase; color: #fff; border-radius: 5px; border: none; transition: all .2s ease-in-out; cursor: pointer;}
.form input[type="submit"]:hover{background: #555;}

.form-group{display: flex; position: relative; margin-bottom: 15px;}
.form-group input, .form-group select, .form-group textarea{display: block; width: 100%; padding: 15px 12px; border: 1px #ddd solid; border-radius: 5px;}
.form-group textarea{height: 100px;}
.form-group label{position: absolute; top: 13px; left: 15px; color: #666; pointer-events: none; transition: 0.2s ease all;}
.form-group label span{color: #E51937;}
.form-group.active label{top: 5px; left: 12px; font-size: 10px; font-weight: 700; color: #E51937;}
.form-group.active input[type="text"], .form-group.active textarea{padding: 20px 12px 10px 12px;}
.form-group.active select{padding: 20px 12px 10px 8px;}

.form-checkbox, .form-radio{display: flex; flex-wrap: wrap; padding: 10px 0; margin-bottom: 15px;}
.form-checkbox strong, .form-radio strong{display: block; margin-bottom: 10px; width: 100%; color: #666;}
.form-checkbox label, .form-radio label{display: flex; align-items: center; padding: 5px 10px 5px 0; cursor: pointer;}
.form-checkbox input, .form-radio input{margin: 0 8px 0 0;}

.CaptchaPanel{margin: 0 !important; padding: 0 !important; line-height: normal !important;}
.CaptchaAnswerPanel input{width: 250px; max-width: 100%; padding: 5px; margin: 5px 0;}
.CaptchaMessagePanel{padding: 0 !important; margin: 0 !important; font-weight: normal !important; font-size: 12px; line-height: 14px;}
.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;}

/* LF GEORGE */

.theme-link{font-weight: 700; text-decoration: underline;}
.theme-link:hover{text-decoration: none;}

.lf-george .theme-link{color: #E51937;}

.lf-george .product .product-text{border-top: 2px #E51937 solid;}
.lf-george .department-boxes i{color: #E51937;}
.lf-george .location-row .location-icon{background: #E51937;}
.lf-george .form input[type="submit"]{background: #E51937;}

/* MIDWEST UNDERGROUND */

.midwest-underground .theme-link{color: #555;}

.midwest-underground .btn{background: #939498;}
.midwest-underground .btn:hover{background: #76777A;}
.midwest-underground nav.mobile .mobile-top{border-bottom: 4px #555 solid;}

.midwest-underground .product .product-text{border-top: 2px #555 solid;}
.midwest-underground .department-boxes i{color: #555;}
.midwest-underground .location-row .location-icon{background: #555;}
.midwest-underground .slick-prev:hover, .midwest-underground .slick-next:hover{background: #555;}
.midwest-underground .form input[type="submit"]{background: #939498;}

/* TRENCHERS PLUS */

.trenchers-plus .theme-link{color: #00713D;}

.trenchers-plus .btn{background: #00713D;}
.trenchers-plus .btn:hover{background: #005E32;}
.trenchers-plus nav.mobile .mobile-top{border-bottom: 4px #00713D solid;}

.trenchers-plus .product .product-text{border-top: 2px #00713D solid;}
.trenchers-plus .department-boxes i{color: #00713D;}
.trenchers-plus .location-row .location-icon{background: #00713D;}
.trenchers-plus .slick-prev:hover, .trenchers-plus .slick-next:hover{background: #00713D;}
.trenchers-plus .form input[type="submit"]{background: #00713D;}

/* FOOTER */

.footer{background: #333; padding: 15px 0; font-size: 12px; text-transform: uppercase; color: #fff;}
.footer a:hover{opacity: .75;}

/* RESPONSIVE */

#menu-button{display: none; position: relative; width: 100%; font-size: 18px; font-weight: 700; z-index: 1000;}
#menu-button a{display: block; padding: 12px 20px; text-align: center;}
#menu-button a:hover{background: #f5f5f5;}

nav.mobile{display: none; position: fixed; top: 0; left: -250px; width: 250px; height: 100%; background: #333; color: #fff; z-index: 999999; overflow: auto; box-shadow: 5px 0px 10px 0px rgba(0, 0, 0, 0.1);}
nav.mobile .mobile-top{display: flex; align-items: center; justify-content: space-between; position: relative; padding: 10px 15px;}
nav.mobile .mobile-title{font-size: 14px; font-weight: 700; text-transform: uppercase;}
nav.mobile .menu-toggle{font-family: Arial, sans-serif; font-size: 18px; font-weight: 900; line-height: 1; color: #fff; padding: 5px;}
nav.mobile .menu-toggle:hover{opacity: .5;}

nav.mobile ul{list-style: none; font-weight: 400; margin: 0; padding: 0;}
nav.mobile ul li{position: relative; border-bottom: 1px solid #444;}
nav.mobile ul li i{position: absolute; right: 15px;}
nav.mobile ul li a.active-mobile i{transform: rotate(180deg);}
nav.mobile ul li a{display: flex; align-items: center; position: relative; font-size: 12px; padding: 15px; font-weight: 700; text-transform: uppercase; color: #fff;}

nav.mobile ul ul li a{background: #444;}
nav.mobile ul ul ul li a{background: #555;}

@media screen and (max-width: 1480px){
	.hero-inner{max-width: 450px; left: 20px; right: 20px; margin: auto; text-align: center;}
	.hero-inner h1{font-size: 24px;}
	.hero-inner h1 strong{font-size: 36px;}
	.hero-inner .cta-container .btn{flex: 1;}
}
@media screen and (max-width: 1100px){
	nav.primary ul li a {font-size: 15px;}
}
@media screen and (max-width: 1024px){
	nav.primary ul li a{padding: 14px 15px 12px; font-size: 13px;}
	.main{padding: 30px 0;}
	.landing-link{display: flex; align-items: center; flex: none; flex-wrap: wrap; width: 100%; margin: 5px 0;}
	.landing-link .landing-img{width: 150px;}
	.landing-link .landing-text{flex: 1;}
	.landing-link .landing-text img{margin: 15px auto}
	.landing-link .landing-btn{width: 100%;}
	.brand-container .brand{width: calc(33.3333% - 4px);}
	.staff-container{grid-template-columns: repeat(3,1fr);}
	.title-banner h1{font-size: 28px;}
	nav.primary ul li a {padding: 14px 10px;}
}
@media screen and (max-width: 768px){
	nav.primary{display: none;}
	nav.mobile, #menu-button{display: block;}
	.top-header{display: none;}
	.header{padding: 20px 0;}
	.header .logos a{padding: 0 10px;}
	.flex-col{width: 100%; margin-bottom: 15px; padding: 0;}
	.flex-col:last-child{margin-bottom: 0;}
	.hero-inner{max-width: 100%;}
	.hero .slick-slide .slide{height: 300px;}
	.slick-prev{right: 40px;}
	.slick-prev, .slick-next{width: 35px; height: 35px; top: -18px;}
	.slick-prev:before, .slick-next:before{font-size: 14px;}
	.department-boxes .department-box{flex: none; width: 100%; padding: 20px;}
	.location-box{padding: 25px;}
	
	.brand-container .brand{width: calc(50% - 4px);}
	.staff-container .staff{width: 100%; margin: 5px 0;}
}
	
	@media screen and (max-width: 678px){
	.staff-container{grid-template-columns: repeat(2,1fr);gap: 10px;
		}
		.title-banner h1{font-size: 22px;}
	}
@media screen and (max-width: 480px){
	.landing-link .landing-text img{max-height: 25px; margin: 15px auto}
	
	.staff-container{grid-template-columns: repeat(1,1fr);gap: 10px;
		}
}