/* 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{display: block; 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{background: url(/siteart/bg.jpg); font-family: 'Hind', sans-serif; line-height: 1.5; color: #333; height: 100%; width: 100%;}
::-moz-selection{background: #E70000; color: #fff; text-shadow: none} ::selection{background: #E70000; color: #fff; text-shadow: none}

.main{padding: 35px 0;}
.wrap{max-width: 1140px; margin: 0 auto; padding: 0 20px;}

.flex-row{display: flex; flex-wrap: wrap;}
.flex-row .flex-col{flex: 1; padding-right: 35px;}
.flex-row .flex-col:last-child{padding-right: 0;}

.col-8{flex: none !important; width: 66.6666%;}
.col-4{flex: none !important; width: 33.3333%;}

/* TYPOGRAPHY */

h1, h2, h3, h4, h5, h6{font-weight: 700;}
h1{margin-bottom: 25px; font-family: 'Oswald', sans-serif; font-size: 48px; font-weight: 400; text-transform: uppercase; line-height: 1; color: #E70000;}
h2.underline{padding: 15px 0; font-family: 'Oswald', sans-serif; font-size: 36px; font-weight: 400; text-transform: uppercase; line-height: 1; color: #E70000; border-bottom: 1px #E70000 solid;}
a{text-decoration: none; color: inherit; cursor: pointer; transition: all .2s ease-in-out;} a:hover{color: inherit;}

.lora{font-family: 'Lora', serif;}

.bullet-list{margin: 25px 0;}
.bullet-list li{margin-left: 15px; list-style: disc;}

.underline-link{font-family: 'Oswald', sans-serif; font-size: 20px; font-weight: 400; text-decoration: underline;}
.underline-link:hover{text-decoration: none;}

.btn{display: block; background: #E70000; margin-bottom: 5px; padding: 15px 20px; font-family: 'Oswald', sans-serif; font-weight: 400; font-size: 20px; text-align: center; text-transform: uppercase; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); color: #fff;}
.btn:hover{background: #C90000; color: #fff;}

/* HEADER */

.header{background: rgba(255, 255, 255, 0.5); padding: 15px 50px; box-shadow: 2px 0 4px rgba(0, 0, 0, 0.4);}
.header .wrap{display: flex; align-items: center; flex-wrap: wrap; max-width: 100%;}
.header .logo{width: 140px;}
.header .logo img{max-height: 150px;}
.header .navigation{flex: 1;}

/* NAVIGATION */

nav.primary{display: inline-block; position: relative; width: 100%; z-index: 999;}
nav.primary ul{display: flex; align-items: center; justify-content: flex-end; 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: 12px 20px; font-size: 24px; font-weight: 700; text-align: center; color: #666; transition: 0.2s ease-in;}
nav.primary ul li:hover > a{color: #000;}
nav.primary ul li.active a{color: #E70000;}
nav.primary ul li.active ul li a{color: #333;}

nav.primary .cta{background: #E70000; margin-left: 15px; padding: 15px 30px; font-family: 'Oswald', sans-serif; font-weight: 400; font-size: 20px; text-transform: uppercase; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); color: #fff;}
nav.primary .cta:hover{background: #C90000; color: #fff;}

nav.primary .primary-sub-menu li{border-bottom: 1px #eee solid;}
nav.primary .primary-sub-menu li a{display: block; background: #fff; padding: 14px 20px; font-size: 15px; font-weight: 400; text-align: left; white-space: pre-wrap;}
nav.primary .primary-sub-menu li:hover > a{background: #fafafa;}

nav.primary ul ul{display: none; position: absolute; width: 265px; 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;}

/* HOME PAGE */

.hero img{display: block; width: 100%; margin: 10px auto;}
.hero .flex-col:last-child{max-width: 435px;}

.hero-tiles{display: flex; flex-wrap: wrap; margin: 25px 0;}
.hero-tile{display: block; flex: 1; background: #fff; margin: 5px; padding: 15px; text-align: center;}
.hero-tile div{height: 100%; padding: 50px 20px; border: 1px #ccc solid;}
.hero-tile img{display: block; max-height: 50px; margin: auto;}
.hero-tile h2{font-family: 'Lora', serif; font-size: 24px; margin: 25px 0 5px; color: #E70000;}
.hero-tile p{font-size: 18px;}

/* SUB PAGES */

.quote{margin: 25px 0; font-family: 'Oswald', sans-serif; font-size: 24px; font-weight: 400;}
.quote span{display: block; margin: 5px 0; font-family: 'Hind', sans-serif; font-weight: 700;}

.logo-row{margin: 50px 0;}
.logo-row img{max-height: 150px; margin: auto;}

.location-box{background: #fff; margin-bottom: 10px; padding: 20px; box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);}
.location-box h2{font-family: 'Oswald', sans-serif; font-size: 24px; font-weight: 400; text-transform: uppercase; line-height: 1;}
.location-box p{display: block; margin: 10px 0;}
.location-box a{font-weight: 700; color: #E70000;}
.location-box a:hover{text-decoration: underline;}
.location-box iframe{display: block; width: 100%; height: 250px; margin: 10px 0;}

.location-details-box{background: #fff; margin-bottom: 10px; padding: 25px; text-align: center; border: 3px #E70000 solid; box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);}
.location-details-box .location-address{font-family: 'Oswald', sans-serif; font-size: 20px;}
.location-details-box .location-phone{margin: 10px 0 25px; font-family: 'Oswald', sans-serif; font-size: 32px; font-weight: 700;}

.team-members{display: flex; flex-wrap: wrap; margin: 20px 0;}
.team-member{width: 25%; padding: 20px 10px; text-align: center;}
.team-member p{display: block; margin: 15px 0;}
.team-member strong{display: block; font-family: 'Oswald', sans-serif; font-size: 20px; font-weight: 700; text-transform: uppercase;}

/* FORM */

.form{background: #fff; margin: 25px 0; padding: 35px 25px; box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);}
.form h3{margin-bottom: 35px; font-family: 'Lora', serif; font-size: 20px; color: #E70000;}
.form strong{display: block; margin-bottom: 25px;}
.form input[type="text"], .form input[type="email"], .form select, .form textarea{background: #fff; width: 100%; padding: 12px;  sans-serif; border: 1px #ddd solid; border-radius: 5px;}
.form textarea{height: 120px;}
.form input[type="checkbox"], .form input[type="radio"]{position: relative; top: 2px; margin: 5px 10px 5px 0;}
.form input[type="submit"]{display: block; background: #E70000; margin: auto; padding: 15px 50px; font-family: 'Oswald', sans-serif; font-weight: 400; font-size: 20px; text-align: center; text-transform: uppercase; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); color: #fff; border: none; transition: all .2s ease-in-out; cursor: pointer;}
.form input[type="submit"]:hover{background: #C90000;}

.form .form-row{display: flex; flex-wrap: wrap; margin-bottom: 15px;}
.form .form-row .label-left{width: 250px; padding-right: 15px;}
.form .form-row .label-left label span{padding-left: 5px; color: red;}
.form .form-row .input-right{width: calc(100% - 250px);}
.form .form-row .input-right label{display: inline; margin-right: 10px; cursor: pointer;}

.flex-row .form{margin: 0; padding: 20px;}
.flex-row .form h3{margin-bottom: 15px;}
.flex-row .form .form-row .label-left, .flex-row .form .form-row .input-right{width: 100%; padding: 0;}
.flex-row .form input[type="submit"]{width: 100%; padding: 15px;}

.CaptchaPanel{margin: 15px 0 !important; padding: 0 !important; line-height: normal !important;}
.CaptchaImage{margin: auto;}
.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{background: #222; padding: 35px 0; font-family: 'Lora', serif; color: #d4d4d4;}
.footer a:hover{text-decoration: underline;}
.footer .flex-row{margin-bottom: 25px;}

.footer-title{font-size: 26px; line-height: 1.25; text-align: center; color: #E70000;}
.footer-address{margin: 5px 0 45px; font-size: 20px; font-weight: 700; text-align: center; color: #fff;}
.footer-location{font-family: 'Oswald', sans-serif; font-weight: 400; font-size: 22px; line-height: 1; color: #E70000;}
.footer-phone{display: block; margin-top: 5px; font-family: 'Hind', sans-serif; font-size: 20px; font-weight: 700; color: #fff;}
.bottom-footer{margin-top: 35px; font-size: 20px; text-align: center; color: #E70000;}

/* RESPONSIVE */

#menu-button{display: none; position: relative; width: 100%; font-size: 18px; font-weight: 700; text-align: right; z-index: 1000;}
#menu-button a{background: #E70000; margin-left: 10px; padding: 10px 30px 12px; font-family: 'Oswald', sans-serif; font-weight: 400; font-size: 20px; text-transform: uppercase; text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5); color: #fff;}
#menu-button a:hover{background: #C90000; color: #fff;}

nav.mobile{display: none; position: fixed; top: 0; left: -250px; width: 250px; height: 100%; background: #222; 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 #E70000 solid;}
nav.mobile .mobile-title{font-family: 'Lora', serif; font-size: 16px; 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 .nav-footer{margin: 25px 0 10px; 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: #E70000;}

nav.mobile ul ul li a{background: #444;}
nav.mobile ul ul ul li a{background: #555;}

@media screen and (max-width: 1500px){
	.header{padding: 15px 0;}
	.header .logo{width: 125px;}
	nav.primary ul li a{padding: 12px 15px; font-size: 18px;}
	nav.primary .cta{padding: 12px 20px; font-size: 18px;}
}
@media screen and (max-width: 1100px){
	nav.primary ul li a{padding: 12px; font-size: 16px;}
	nav.primary .cta{padding: 12px 15px; font-size: 16px;}
}
@media screen and (max-width: 980px){
	.header .logo img{max-height: 100px;}
	nav.primary{display: none;}
	nav.mobile, #menu-button{display: block;}
}
@media screen and (max-width: 768px){
	h1{font-size: 32px;}

	.flex-row .flex-col{flex: none; width: 100%; margin-bottom: 15px; padding-right: 0;}
	.flex-row .flex-col:last-child{margin-bottom: 0;}

	.form .form-row{margin-bottom: 10px;}
	.form .form-row .label-left, .form .form-row .input-right{width: 100%; padding: 0;}
	.form input[type="text"], .form input[type="email"], .form select, .form textarea{margin: 0;}
	.form input[type="submit"]{width: 100%;}
	
	.hero .flex-col:last-child{max-width: 100%;}
	.hero-tile{margin: 10px 0;}
	.hero-tile{flex: none; width: 100%; margin: 5px 0;}
	.hero-tile div{padding: 30px 20px;}

	.team-member{width: 50%;}
	.team-member .btn{padding: 15px; font-size: 14px;}
	.quote{font-size: 20px;}

	.footer{text-align: center;}
}