
/* 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;} ol, ul{list-style: none;} img{max-width: 100%; height: auto; image-rendering: -webkit-optimize-contrast;}

/* FRAMEWORK */

*{box-sizing: border-box;}
html, body{font-family: 'Saira', sans-serif; font-size: 16px; -webkit-text-size-adjust: none} body {overflow-x: hidden; line-height: 1.8; letter-spacing: .02em;}
::-moz-selection{background: #d30102; color: #fff; text-shadow: none} ::selection{background: #d30102; color: #fff; text-shadow: none}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}
button,
input { /* 1 */
  overflow: visible;
}
button,
select { /* 1 */
  text-transform: none;
}
button,
[type="button"],
[type="reset"],
[type="submit"],
[type="date"]{
  -webkit-appearance: button;
}

.content-width{margin: 0 auto; width: 80%; max-width: 1300px;}

.column12, .column11, .column10, .column9, .column8, .column7, .column6, .column5, .column4, .column3, .column2, .column1{float: left; padding: 0 25px 0 0;} .column12{width: 100%;} .column11{width: 91.6666%;} .column10{width: 83.3333%;} .column9{width: 75%;} .column8{width: 66.6666%;} .column7{width: 58.3333%;} .column6{width: 50%; box-sizing: border-box;} .column5{width: 41.6666%;} .column4{width: 33.3333%;} .column3{width: 25%; box-sizing: border-box;} .column2{width: 16.6666%;} .column1{width: 8.3333%;} .last{padding: 0;} .cf{zoom: 1;} .cf:before, .cf:after{content: ""; display: table;} .cf:after{clear: both;} .clear{clear: both;} *{box-sizing: border-box;}

.center {text-align: center;}
.align-right {text-align: right;}
.marg5 {margin: 5em 0;}
.red-bg.welcome {position: relative; z-index: 1; background: url("/siteart/bg1.jpg") center; background-size: cover; color: #fff; padding: 10em 7%;}
.red-bg:before {content: ''; top: 0; left: 0; right: 0; width: 100%; height: 100%; background: rgba(151,2,3,.75); position: absolute; z-index: 2;}
.red-bg hr {display: block; border-bottom: 5px solid #fff; width: 50px; margin: 1.5em auto 2em; z-index: 3; position: relative;}

.welcome h1 {text-transform: uppercase; font-weight: 800; font-size: 55px; line-height: 1.3; z-index: 3; position: relative;}
.welcome h1 span {font-size: 24px; display: block; font-weight: 500; text-transform: none;}
.welcome p, .welcome a {z-index: 3; position: relative;}


/* TYPOGRAPHY */

a{text-decoration: none; color: inherit; transition: all .2s ease-in-out;} a:hover{color: inherit;}
a#cta-btn button {margin: 1em 0; color: #fff; background: #970203; padding: 1em 3%; cursor: pointer; font-size: 16px; font-weight: 500; transition: 0.2s ease-in; text-align: center; width: 90%; max-width: 300px; border: none; letter-spacing: .5px;}
a#cta-btn button:hover {background: #d30102!important; color: #fff;}
a#cta-btn2 button {margin: 1em 0; color: #fff; background: none; border: 1px solid #fff; padding: 1em 3%; cursor: pointer; font-size: 16px; font-weight: 500; transition: 0.2s ease-in; text-align: center; width: 90%; max-width: 300px; letter-spacing: .5px;}
a#cta-btn2 button:hover {background: #d30102!important; color: #fff;}
#form input[type="submit"]:hover {background: #d30102!important; color: #fff; border: 1px solid transparent;}
#form input[type="submit"] {color: #333; background: none; padding: 1em 3%; cursor: pointer; font-weight: 600; transition: 0.2s ease-in; width: 100%; max-width: 300px; line-height: 1.2; border: 1px solid #444; text-align: center; margin: 0 auto; display: block;}
.continue-btn {display: block; text-align: center; width: 100%; background: #f0f0f0;}
.continue-btn button {border: none; background: none; color: #000; text-transform: uppercase; padding: 1em 5%; cursor: pointer;}
.continue-btn:hover {background: #fff; transition: all .2s ease-in-out;}

/* HEADER */
.header {width: 100%; background: #fff; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
.mobile-display {display: none;}
.main-logo img {width: 100%; max-width: 444px!important; height: auto; padding: .5em 7%!important; box-sizing: border-box; position: relative; z-index: 3; margin: 0 auto;}
.hdr-contact {width: 100%; background: #970203; display: flex; justify-content: flex-end; padding: 0 10%;}
.hdr-contact a button {border: none; background: #d30102; color: #fff; font-weight: 500; padding: 1.25em; margin-left: 1em; cursor: pointer; font-size: 16px;}


/* ALL OTHER STYLES */
.hero-wrapper {width: 100%; display: flex; justify-content: center; position: relative; height: 555px!important;}
.hero-txt {position: absolute; z-index: 1; top: 35%; color: #fff; left: 0; right: 0; text-align: center; width: 100%; padding: 0 5%;}
.hero-txt h1 {font-size: 45px; line-height: 1.2; margin: 0 auto; font-weight: 700; text-shadow: 1px 1px 8px #222;}

/* zoom buttons */
.zoom-wrapper {display: flex; flex-wrap: wrap; align-items: center; justify-content: center; padding: 3em 0 0; margin-top: -10em;}
.zoom-container {width: calc(33.33% - .5em); /*height: 555px;*/ margin: .25em; position: relative; overflow: hidden; box-sizing: border-box; border: 2px solid #d30102; background: #fff;}
.zoom-container img {width: 100%; height: auto; transform:scale(1.1); filter: grayscale(1); opacity: .75;}
.zoom-container:hover img {transform:scale(1.25); transition: all .5s ease; opacity: 1;}
.zoom-container:hover .zoom-caption {background: rgba(17, 17, 17, .6)!important; transition: all .5s ease;}
.zoom-container .zoom-caption {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: inline-flex;
	flex-direction: column;
	justify-content: space-between;
    transition: all .5s ease;
	padding: 3em 10%;
	margin: 0 auto;
	height: 100%;
	background: rgba(34, 34, 34, .25);			
	text-shadow: 1px 1px 8px #222;
}
.zoom-container .zoom-caption:hover {background: rgba(34, 34, 34, .15);}
.zoom-container .zoom-caption h3 {color: #fff; font-size: 32px; line-height: 1.3; display: block; text-transform: uppercase; letter-spacing: 1px;}
.zoom-container .zoom-caption p {display: none; color: #fff; text-align: right; border-right: 3px solid #fff; padding-right: 1em; line-height: 1; font-weight: 700; letter-spacing: 1px;}
.zoom-container .zoom-caption:hover p {display: block; transition: all .5s ease;}

.manu-wrapper {width: 100%; display: block; margin: 5em auto;}
.manu-wrapper img {width: 100%; height: auto; max-width: 160px; margin: 2em auto; padding: 0 5%; filter: grayscale(1);}
.manu-wrapper img:hover {opacity: .75; filter: grayscale(0); transition: 0.3s all;}


.breadcrumb-wrapper {width: 100%; display: flex; padding: 1em 5%; color: #999; text-transform: uppercase; font-size: 14px; font-weight: 500; background: #000; box-sizing: border-box;}
.breadcrumb-wrapper a {padding: 0 5px; font-weight: 600;} .breadcrumb-wrapper a:hover, .breadcrumb-wrapper a.active-link:hover {color: #fff;}
.breadcrumb-wrapper a.active-link {color: #d30102;}

.content-wrapper {display: flex; flex-wrap: wrap; justify-content: center;}
.content-wrapper h2 {text-transform: uppercase; color: #d30102; display: block; margin-bottom: 1em; font-size: 32px; text-decoration: underline; line-height: 1.5;}
.content-wrapper h3 {text-transform: uppercase; color: #000; display: block; margin-bottom: .75em; font-size: 24px; letter-spacing: 1px;}
.content-wrapper h4 {text-transform: uppercase; color: #000; display: block; margin-bottom: .75em; font-size: 20px;}
.side-border {padding-left: 5%; border-left: 1px solid #ccc;}
.side-border a {display: block; margin-top: 1em; font-weight: 700; font-size: 18px;}
.side-border span {color: #000; font-weight: 700;}
.gray-bg .flex-wrapper {display: flex; flex-wrap: wrap; align-items: center; justify-content: center;}
.gray-bg {/*background: #f0f0f0;*/ padding: 4em 0; width: 100%; max-width: 80%; position: relative; z-index: 2;}
.gray-bg div {padding: 1em; max-width: 100%; margin: 0 auto;}
.gray-bg h3 {letter-spacing: 1px; font-size: 28px; line-height: 1.2; padding: 0 7%; width: 100%; text-align: center; font-weight: 700; text-transform: uppercase;}

.team-member {width: calc(33.33% - 1em)!important; margin: .5em!important; padding: 1.5em 4%!important; text-align: center; background: #f6f6f6;}
.team-member h4 {font-weight: 600; font-size: 22px;}
.team-member h4 span {display: block; font-size: 18px; font-weight: 500;}
.team-member a#cta-btn button {margin: 0 auto .5em;}

.page-title {width: 100%; text-align: center; padding: 8em 10%; position: relative; background: url('/siteart/bg1.jpg') center; background-size: cover;}
.page-title:before {content: ''; top: 0; left: 0; right: 0; width: 100%; height: 100%; background: rgba(34,34,34,.8); position: absolute; z-index: 2;}
.page-title h1 {color: #fff; font-size: 60px; font-family: 'Saira', sans-serif; font-weight: 800; position: relative; line-height: 1.2; margin: 0 auto; max-width: 80%; animation: fadeInUp; animation-duration: 1s; text-transform: uppercase; letter-spacing: 2px; z-index: 2;}
.page-title p {position: relative; color: #f0f0f0; margin: 30px auto 0; max-width: 80%; font-size: 18px; font-family: 'Saira', sans-serif; font-weight: 300; animation: fadeInUp; animation-duration: 1s; z-index: 2;}
.page-title a {position: relative; z-index: 2;}


/* form + captcha */
#form {padding: 5em 7%;}
#form .form-row {display: block; /*margin: 0 0 5px;*/ text-align: left!important;}
#form .form-row label{font-weight: 600;}
#form .employment {margin-bottom: 2em;}
#form .employment label{display: block;}
#form input[type="text"], #form input[type="email"], #form select, #form textarea, #form input[type="date"] {width: 100%; margin: 5px 0 20px; padding: 10px; border: 1px solid #ccc; background: #f0f0f0;}
#form textarea {height: 90px;}

.CaptchaPanel{text-align: center; line-height: normal !important;}
.CaptchaAnswerPanel input{width: 250px; max-width: 100%; padding: 5px; margin: 5px 0; background: #f0f0f0; border: 1px solid #ccc;}
.CaptchaMessagePanel{padding: 0 !important; margin: 0 !important; font-weight: normal !important; font-size: 12px; line-height: 14px;}
.CaptchaImage {width: auto!important; padding: 0!important;}
.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 {color: #000; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; padding: 6em 7%; border-top: 1px solid #ccc;}
.footer img {width: 100%; margin: 0 auto; max-width: 275px; display: block; height: auto;}
.footer h3 {color: #000; font-weight: 800; font-size: 24px; display: block; margin-bottom: .5em; letter-spacing: 1px; line-height: 1.5; text-transform: uppercase;}
.footer i {color: #fff; background: #d30102; padding: 10px; font-size: 24px; margin-right: 3%; width: 50px; text-align: center;}
.ftr-contact a:hover i {background: #970203; transition: 0.3s all;}
.ftr-contact a {display: flex; justify-content: flex-start; align-items: center; text-align: left; font-weight: 500; font-size: 16px; margin: 1em 0;}
.ftr-links a:hover {color: #d30102;}
.site-host {width: 100%; display: flex; justify-content: center; align-items: center; text-align: center; padding: 2em 7%; background: #000;}
.site-host p, .site-host a {color: #999; font-size: 11px;}

/* MEDIA QUERIES (RESPONSIVE) */

@media screen and (max-width: 1400px) {
	.hero-wrapper {height: 444px!important;}
	.zoom-wrapper {margin-top: 0;}
}

@media screen and (max-width: 1150px){			
	.column1, .column2, .column3, .column4, .column5, .column6, .column7, .column8, .column9, .column10, .column11, .column12 {margin: 0 auto!important; width: 100%!important; float: none; padding: 0;}
	
	.header .column4, .header .column8 {width: 50%!important;}
	.header .column4 {text-align: left;}
	.main-logo img {max-width: 333px!important;}
	
	#desktop-phone, #desktop-location {display: none;}
	a#mobile-phone button, a#mobile-map button {background: #fff; color: #970203; border: none; cursor: pointer; font-size: 22px; font-weight: 600; margin: 0 2vw;}
	a#mobile-phone button:hover, a#mobile-map button:hover {color: #000; transition: 0.3s all;}
		
	.side-border {border-left: none; border-top: 1px solid #ccc; padding-top: 4em; margin-top: 4em!important;}
		
	.team-member {width: calc(50% - 1em)!important;}
	
	.footer {padding: 4em 7%;}
	.ftr-contact {display: flex; justify-content: center; text-align: center; margin-bottom: 2em!important;}
	.ftr-contact a {width: 100%; text-align: center; justify-content: center;}
	.ftr-links {text-align: center;}
}

@media screen and (max-width: 1000px) {	
	.mobile-display {display: block;}	
	
	.ftr-contact {flex-direction: column;}
	
	.zoom-container {width: calc(50% - .5em); margin: .25em;}
}

@media screen and (max-width: 767px) {	
	.team-member {width: calc(100% - 1em)!important;}
	
	.hero-wrapper {height: 444px!important;}
	.hero-txt h1 {font-size: 36px;}

	.page-title {padding: 6em 7%;}
	.page-title h1 {font-size: 50px;}
	.page-title p {font-size: 16px; margin: 2em auto;}	
	
	.zoom-container {width: calc(100% - .5em); margin: .25em;}
	
}

@media screen and (max-width: 600px) {
	.hero-txt {top: 30%;}
	.hero-txt h1 {padding: 0 7%;}
	
	.red-bg.welcome {padding: 6em 7%;}
}

@media screen and (max-width: 480px) {
	a#mobile-phone, a#mobile-map {display: none;}
	.main-logo img {max-width: 255px!important;}
	
	.page-title {padding: 5em 5%;}
	.page-title h1, .welcome h1 {font-size: 40px;}
}
