/* 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: "montserrat", sans-serif; font-size: 15px; line-height: 1.5; height: 100%; width: 100%;}
::-moz-selection{background: #B51B01; color: #fff; text-shadow: none} ::selection{background: #B51B01; color: #fff; text-shadow: none}

.main{padding: 50px 0;}
.wrap{max-width: 1200px; margin: 0 auto; padding: 0 20px;}

.flex-row{display: flex; flex-wrap: wrap;}
.flex-col{flex: 1; padding-right: 35px;}
.flex-col:last-child{padding-right: 0;}
.col-8{flex: none; width: 66.6666%;} .col-4{flex: none; width: 33.3333%;}

/* TYPOGRAPHY */

h1, h2, h3, h4, h5, h6{font-family: "industry", sans-serif; font-weight: 700; line-height: 1.25;}
p{line-height: 1.75;}
a{text-decoration: none; color: inherit; cursor: pointer; transition: all .2s ease-in-out;} a:hover{color: inherit;}

ul.bullet-list{margin: 15px 0;}
ul.bullet-list li{list-style: disc; margin-left: 15px; padding: 3px 0; font-size: 14px;}

.red-link{font-weight: 700; color: #B51B01;}

.btn{display: inline-block; background: #B51B01; padding: 15px 50px 12px; font-family: "industry", sans-serif; font-weight: 700; text-transform: uppercase; text-align: center; color: #fff;}
.btn:hover{background: #911600; color: #fff;}

/* HEADER */

.header{display: flex; flex-wrap: wrap; font-family: "industry", sans-serif;}
.header .logo{width: 300px; padding: 25px 50px 15px;}
.header .navigation{display: flex; align-items: center; flex: 1; padding-right: 100px;}

.header .contact{display: flex; background: #CD2B29; margin-left: auto; color: #fff;}
.header .phone-btn{display: flex; align-items: center; justify-content: center; background: #B51B01; padding: 20px 25px; font-size: 36px;}
.header .phone-btn:hover{background: #911600;}
.header .contact-btn{display: flex; align-items: center; justify-content: center; padding: 20px 35px;}
.header .contact-btn a{display: block; font-weight: 700;}
.header .contact-btn a:hover{opacity: .75;}

/* NAVIGATION */

nav.primary{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 i{margin-left: 10px;}
nav.primary ul li a{display: block; padding: 20px; font-size: 18px; text-align: center; transition: 0.2s ease-in;}
nav.primary ul li:hover > a{background: #f5f5f5;}
nav.primary ul li li a{display: block; padding: 10px 20px; font-size: 16px; text-align: left; transition: 0.2s ease-in;background: #fff;}
nav.primary ul li li {border-bottom: 1px solid #e8e8e8;}



nav.primary .primary-sub-menu li{border-bottom: 1px #555 solid;}
nav.primary .primary-sub-menu li a{display: block; background: #333; padding: 12px 14px; font-size: 12px; text-align: left;}
nav.primary .primary-sub-menu li:hover > a{background: #555;}

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;}

nav.primary ul li.has-sub-menu a:after{display: inline-block; margin-left: 10px; font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f107"; color: rgba(0,0,0,0.40) !important;}
nav.primary ul li.has-sub-menu ul a:after{content: "";}

/* HOME */

.hero{display: block; background: #000 url("../siteart/hero.jpg") center center no-repeat; background-size: cover; width: 100%; padding: 150px 0 100px; color: #fff;}
.hero .hero-inner{max-width: 600px;}

.hero h1{font-size: 24px; font-weight: 400;}
.hero h1 strong{display: block; margin: 15px 0; font-size: 48px; font-weight: 700; text-transform: uppercase;}
.hero p{display: block; margin: 15px 0 25px;}

.texture-bg{background: url("../siteart/texture.jpg");}
.texture-bg h2{font-size: 30px; text-transform: uppercase;}
.texture-bg p{margin: 15px 0 25px;}

.card-container{display: flex; flex-wrap: wrap; margin-bottom: 50px; font-family: "industry", sans-serif;}
.card-container .card{flex: 1; background: #fff; margin: 5px; padding: 20px; text-align: center; line-height: 1.25; border-radius: 5px; transition: all .5s ease; box-shadow: 0px 10px 70px 0px rgb(0 0 0 / 10%);}
.card-container .card img{display: block; margin: 0 auto 20px;}
.card-container .card:hover{transform: scale(1.1); box-shadow: 0px 10px 70px 0px rgba(0, 0, 0, 0.5); z-index: 9;}

.service-section h2{margin-bottom: 35px; font-size: 20px; font-weight: 400; text-transform: uppercase; text-align: center; color: #B51B01;}
.service-section h2 strong{display: block; font-size: 36px; font-weight: 700; color: #000;}

.service-cards{display: flex; flex-wrap: wrap; margin-bottom: 50px;}
.service-cards .card{width: calc(33.3333% - 20px); background: #fff; margin: 10px; padding: 0 25px; text-align: center; line-height: 1.25; border-radius: 5px; transition: all .5s ease; cursor: pointer; box-shadow: 0px 10px 70px 0px rgba(0, 0, 0, 0.1);}
.service-cards .card:hover{transform: scale(1.1); box-shadow: 0px 10px 70px 0px rgba(0, 0, 0, 0.5); z-index: 9;}
.service-cards .card i{display: block; margin: 25px auto; font-size: 48px; color: #aaa;}
.service-cards .card img{display: block; margin: 25px auto; max-height: 48px;}
.service-cards .card strong{display: block; max-width: 200px; margin: auto; font-family: "industry", sans-serif; font-size: 20px; text-transform: uppercase;}
.service-cards .card p{display: block; max-width: 265px; margin: 15px auto 50px; font-size: 15px;}
.service-cards .card .card-bar{background: #B51B01; width: 75px; height: 8px; margin: auto;}

/* SUB PAGES */

.title-banner{display: block; background: #000 url("../siteart/hero.jpg") center center no-repeat; background-size: cover; width: 100%; padding: 35px 0; color: #fff;}
.title-banner h1{display: block; font-size: 36px; font-weight: 700; text-transform: uppercase;}

.contact-box{background: #fff; margin: 25px 0; padding: 20px; font-size: 14px; line-height: 1.75; border-radius: 5px; transition: all .5s ease; box-shadow: 0px 10px 70px 0px rgb(0 0 0 / 10%);}

/* FORM */

.form{margin: 25px 0;}
.form input[type="submit"]{display: block; width: 100%; max-width: 250px; background: #B12A1C; margin: 15px auto; padding: 15px; font-family: 'Barlow', 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: #CD2B29}

.form-group{display: flex; position: relative; margin-bottom: 15px;}
.form-group input, .form-group select, .form-group textarea{display: block; background: #fff; width: 100%; padding: 15px 12px; font-family: 'Barlow', sans-serif; border: 1px #ddd solid; border-radius: 5px;}
.form-group textarea{height: 100px;}
.form-group label{position: absolute; top: 14px; left: 15px; color: #666; pointer-events: none; transition: 0.2s ease all;}
.form-group label span{color: red;}
.form-group.active label{top: 5px; left: 12px; font-size: 10px; font-weight: 700; color: #B51B01;}
.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;}

/* FOOTER */

.footer-cards{display: flex; flex-wrap: wrap; max-width: 1400px; margin: auto;}
.footer-cards .card{flex: 1; position: relative; background: #000; min-height: 600px; margin: 1px; overflow: hidden; transition: all .5s ease;}
.footer-cards .card:after{display: block; position: absolute; content: ""; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); transition: all .5s ease;}
.footer-cards .card a{display: flex; align-items: flex-end; position: relative; height: 100%; padding: 25px; font-size: 24px; line-height: 1.25; color: #fff; z-index: 9;}
.footer-cards .card img{position: absolute; top: 0; left: -25px; min-width: calc(100% + 50px); min-height: 100%; object-fit: cover;}

.footer-cards .card .content{position: relative; width: 100%; font-family: "industry", sans-serif; font-weight: 700; text-transform: uppercase; color: #fff; z-index: 1;}

.footer-cards .card:hover{transform: scale(1.1); box-shadow: 0px 10px 70px 0px rgba(0, 0, 0, 0.25); z-index: 9;}
.footer-cards .card:hover:after{background: rgba(0, 0, 0, 0.5);}
.footer-cards .card:hover .content p{color: #fff;}

.footer{background: #000; margin-top: 50px; padding: 75px 0 150px; font-size: 14px; text-transform: uppercase; color: #fff;}
.footer i{width: 15px; text-align: center; margin-right: 10px; color: #B51B01;}
.footer a{display: inline-block; margin-bottom: 5px;}
.footer a:hover{opacity: .75;}
.footer strong{display: block; margin-bottom: 15px; font-family: "industry", sans-serif; font-size: 18px; font-weight: 700; opacity: .75;}
.footer ul{display: flex; flex-wrap: wrap;}
.footer ul li{display: block; width: 50%;}

/* RESPONSIVE */

#menu-button{display: none; position: relative; margin-left: auto; font-size: 18px; font-weight: 700; z-index: 1000;}
#menu-button span{margin-left: 10px;}
#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; border-bottom: 4px #B51B01 solid;}
nav.mobile .mobile-title{font-family: "industry", sans-serif; 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 .social{padding: 25px 0 10px; text-align: center;}
nav.mobile .social a{padding: 5px; opacity: .75;}
nav.mobile .social a:hover{opacity: 1;}
nav.mobile .nav-footer{font-size: 12px; text-align: center; 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 li a:hover{background: #444;}

nav.mobile ul ul li a{background: #444;}
nav.mobile ul ul ul li a{background: #555;}

@media screen and (max-width: 1600px){
	.header .navigation{padding-right: 50px;}
}
@media screen and (max-width: 1480px){
	nav.primary ul li a{padding: 20px 15px; font-size: 15px;}
}
@media screen and (max-width: 1400px){
	nav.primary ul li a{padding: 20px 15px; font-size: 15px;}
	.header .navigation{padding-right: 25px;}
	.header .logo{width: 200px; padding: 25px 25px 15px;}
	.header .contact-btn{padding: 20px; font-size: 14px;}
	.header .phone-btn{padding: 20px; font-size: 24px;}
}

@media screen and (max-width: 1124px){
	nav.primary{display: none;}
	nav.mobile, #menu-button{display: block;}
	.header .contact{display: none;}

	.main{padding: 30px 0;}
}
@media screen and (max-width: 768px){
	.title-banner{padding: 25px 0;}
	.title-banner h1{font-size: 24px;}
	.flex-col{flex: none; width: 100%; margin-bottom: 15px; padding: 0;}
	.flex-col:last-child{margin-bottom: 0;}

	.hero h1{font-size: 18px;}
	.hero h1 strong{font-size: 32px;}
	
	.card-container .card{flex: none; width: calc(50% - 10px);}
	.card-container .card img{max-height: 150px; margin: 0 auto 20px;}

	.service-cards .card{width: calc(50% - 10px); margin: 5px; padding: 0 25px;}
	
	.footer{padding: 50px 0;}
	.footer .flex-col{margin-bottom: 25px;}
	.footer-cards .card{flex: none; width: 100%; min-height: 200px; margin: 1px 0;}
	.footer-cards .card a{padding: 35px 20px;}
	.footer-cards .card a{padding: 35px 20px;}
}
@media screen and (max-width: 480px){
	#menu-button span{display: none;}
	#menu-button a{font-size: 24px;}

	.btn{display: block; padding: 15px 15px 12px;}
	
	.service-cards .card{width: 100%; margin: 5px 0;}
}