﻿/***** BEGIN 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; } 
table { border-collapse: collapse; width: 100%; } 
td { vertical-align: top; }
/* Make HTML 5 elements display block-level for consistent styling */ 
header, nav, article, footer, address { display: block; } 
/***** END RESET *****/
::-moz-selection { background: #000;  color: #fff; text-shadow: none; } 
::selection { background: #000; color: #fff; text-shadow: none; }
/* Clearfix */
.cf { *zoom: 1; }
.cf:before, .cf:after { content: " "; display: table; } 
.cf:after { clear: both; } 

/*-------- BODY STYLES --------*/
body {

}

a:link, a:visited, a:active, a:hover { text-decoration: none; }
hr { border: #000 1px solid; }
div, span, iframe, h1, h2, h3, h4, h5, h6, p, a, img, i, ol, ul, li, form, label, :before, :after { box-sizing: border-box; }

/*--- HEADER STYLES ---------------------*/
header {  }

.davis-header {
	position: relative; z-index: 1004; width: 100%; padding: 6px max(2.5%, calc(50% - 900px)); 
	display: flex; justify-content: space-between; align-items: center; row-gap: 12px; 
}
.header-logo, .header-logo img { height: 100px; }
.header-logo img { width: auto; object-fit: contain; object-position: 0% 50%; }
.nav-div {
	display: flex; justify-content: center; align-items: center; 
}
.header-soc {
	display: flex; flex-direction: column; align-items: stretch; justify-content: center; row-gap: 9px; 
}

/* Site Colors: 
	
	Red: #ed1f24; 
*/
/*---BODY--------------------------------*/
/* Text / Titles / Paragraphs / <h1><h2><h3><h4> / <p> */
.txt-default, .content-sect p {
	font-family: 'industry', sans-serif; font-size: 17px; font-weight: 400; text-align: left; 
}

.title {
	font-family: 'industry', sans-serif; font-size: 38px; font-weight: 900; line-height: 1.2; text-align: left; 
}

.subtitle {
	position: relative; 
	font-family: 'industry', sans-serif; font-size: 24px; font-weight: 400; text-align: left; 
	text-transform: uppercase; 
}
.subtitle.ulined { position: relative; }
.subtitle.ulined:before {
	position: absolute; z-index: 1; content: ""; bottom: -8px; left: 0; width: calc(100% + 32px); height: 20px; 
	background: rgba(0, 0, 0, .1059); 
}

.multi-title { 
	display: flex; flex-direction: column; align-items: flex-start; 
}
.multi-title.center-style { align-items: center; }
.multi-title.center-style .title, .multi-title.center-style .subtitle { text-align: center; }

/* buttons / links / <a> / ctas */
.btnclass {
	position: relative; width: 210px; padding: 18px 20px; 
	display: flex; justify-content: space-between; align-items: center; column-gap: 12px; 
	font-family: 'industry', sans-serif; font-size: 15px; font-weight: 600; text-align: left; 
	letter-spacing: .25px; 
	background: #000; color: #fff; transition: .3s ease all; 
}
.btnclass.btn-longer { width: 250px; }
.btnclass i { 
	position: relative; width: 25px; height: 21px; 
	font-size: 20px; text-align: center; color: #ed1f24; transition: .2s ease all; 
}
.btnclass i:before, .btnclass i:after { 
	position: absolute; top: 0; left: 0; width: 100%; height: 100%; 
	display: flex; justify-content: center; align-items: center; 
	font-family: 'Font Awesome 6 Free', icon; font-weight: 900; 
	font-size: 20px; text-align: center; transition: .2s ease all; 
}
.btnclass i:after { z-index: 2; opacity: 0; content: "\f061"; color: #000; }
.btnclass:hover { background: #ed1f24; color: #000; padding-left: 16px; padding-right: 16px; }
.btnclass:hover i:after { opacity: 1; }

.listed {
	position: relative; padding-right: 12px; 
	display: flex; justify-content: flex-start; align-items: center; 
	font-family: 'industry', sans-serif; font-size: 16px; font-weight: 600; text-align: left; 
	color: #000; transition: .3s ease all; 
}
.listed i {
	width: 51px; height: 50px; padding-right: 1px; margin-right: 16px; 
	color: #ed1f24; line-height: 30px; text-align: center; border-right: 1px solid rgba(0, 0, 0, .5); 
	display: flex; justify-content: center; align-items: center; 
	transition: .3s ease all; 
}
a.listed:hover { color: #ed1f24; }
a.listed:hover i { 
	font-size: 19px; background: #ed1f24; color: #000; border-right-color: rgba(0, 0, 0, 0); 
}

.listed-sm, .listed.listed-sm, .header-soc .listed { font-size: 14px; }
.listed-sm i, .listed.listed-sm i, .header-soc .listed i {
	width: 37px; height: 36px; margin-right: 13px; 
}
.listed-sm:hover i, .listed.listed-sm:hover i, .header-soc .listed:hover i {
	font-size: 17px; 
}

.invisilink {
	font-family: inherit; font-size: inherit; font-weight: inherit; 
	line-height: inherit; letter-spacing: inherit; color: inherit; display: inline; 
	transition: .2s ease all; 
}
a.invisilink:hover { color: #ed1f24; }

/* sections */
.content-sect {
	display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; row-gap: 16px; 
}
.content-sect.center-style { align-items: center; justify-content: center; }

.content-sect p, .content-fw p { width: 100%; }

.content-sect.center-style .title, .content-sect.center-style p { text-align: center; }

.horiz-sect {
	width: 100%; 
	display: flex; flex-wrap: wrap; justify-content: flex-start; align-items: center; column-gap: 24px; row-gap: 16px; 
}
.horiz-sect.center-style, .content-sect.center-style .horiz-sect { justify-content: center; }

.mission {
	position: relative; width: 100%; padding: 70px max(5%, calc(50% - 950px)); 
	display: flex; align-items: center; column-gap: max(7%, 120px); row-gap: 50px; 
}
.mission > .content-sect, .mission > .form-div { width: 50%; padding: 40px 0; }
.missionimg { 
	position: relative; width: calc(50% - 50px); height: 450px; 
	display: flex; justify-content: center; align-items: center; 
}
.missionimg:before {
	position: absolute; z-index: 1; content: ""; top: 24px; left: 0; width: 100%; height: calc(100% - 48px); 
	background: #ed1f24; 
}
.missionimg img {
	position: absolute; z-index: 2; top: 0; left: 24px; width: calc(100% - 48px); height: 100%; 
	object-fit: cover; object-position: center; 
}
.map-div iframe { position: relative; z-index: 2; width: calc(100% - 48px); height: 100%; margin: 0 auto; }

/* Homepage - default.htm */
.homepage {}

.hero {
	position: relative; width: 100%; background: #191919; 
}
.hero img {
	position: relative; z-index: 1; width: 100%; height: auto; min-height: 180px; object-fit: cover; object-position: center; 
}
.hero-overlay {
	position: absolute; z-index: 2; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); 
	padding: 40px 5vw; width: 100%; 
}
.hero-overlay .title, .hero-overlay p { color: #fff; text-shadow: 1px 1px 0 #000, 0 0 12px #000; }

.scrolling-inv-sect, .scrolling-inv-sect iframe {
	position: relative; width: 100%; height: 90px; overflow: hidden; background: #000; 
}

.inv-btns-sect {
	position: relative; width: 100%; background: #000; padding: 0 max(0px, calc(50% - 1000px)); 
	display: flex; align-items: stretch; 
}
.inv-btns-sect .inv-btn { width: 25%; }
.inv-btn {
	position: relative; padding: 40px; background: #000; 
	display: flex; flex-direction: column; align-items: stretch; row-gap: 6px; 
	transition: .3s ease all; 
}
.inv-btn .subtitle, .inv-btn .title { text-align: center; transition: .15s ease all; }
.inv-btn .subtitle { font-size: 18px; color: #ddd; }
.inv-btn .title { font-size: 28px; color: #fff; text-transform: uppercase; }
.inv-btn img {
	height: 200px; margin-top: 24px; padding: 0 10px; 
	object-fit: contain; object-position: center; 
}

.inv-btn:hover { background: #141414; }
.inv-btn:hover .title { color: #ed1f24; letter-spacing: 1.2px; transition: .3s ease all; }

/* subpages */
.subpages { 
	width: 100%; position: relative; 
	display: flex; 
}

.subhero { 
	position: relative; width: 100%; height: 300px; padding: 60px 5%; background: #fff; 
}
.subhero img {
	position: absolute; z-index: 1; top: 0; left: 0; width: 100%; height: 100%; 
	object-fit: cover; object-position: center; 
}

.subhero.is-fullpage { min-height: 650px; }
.subhero.is-fullpage img { opacity: .2; }

.subhero > *:not(img) { position: relative; z-index: 3; }
.subhero .title, .subhero p { text-shadow: 0 0 12px #fff, 0 0 16px #fff, 0 0 24px #fff; }
.subhero p { width: min(100%, 800px); }

/* contact-us.htm */
.contactpage {}

.listed-title { font-size: 24px; margin-bottom: 12px; }
.listed-title:before { height: 16px; bottom: -4px; }

.contactpage .form-sect {
	position: relative; width: 100%; padding: 70px max(5%, calc(50% - 950px)); 
	display: flex; align-items: stretch; column-gap: 100px; row-gap: 50px; 
}
.contactpage .form-sect .form-div { width: 400px; }
.contactpage .form-sect > .content-sect { width: calc(100% - 500px); }
.contactpage .form-sect .map-div { width: 100%; height: 400px!important; margin-bottom: 24px; }

.contactpage .horiz-sect { width: 100%; justify-content: space-evenly; }

/* thank-you.htm */
.thankyoupage {}

/* recommended styles */
.txt-bold { font-weight: 700; }

.center-style, .center-style .title, .center-style p, 
.title.center-style, p.center-style { text-align: center; }

.icon-flip-horiz:before { transform: rotateY(180deg); }

.width100 { width: 100%; }

/* forced styles */

/*--------FORM STYLES--------------------*/
.form-div {
	position: relative; 
	display: flex; flex-direction: column; align-items: stretch; row-gap: 24px; 
}
.form-div .content-sect { width: 100%; }
.form-div form .title, .form-div form .subtitle, .form-div form p { width: 100%; }
.form-div form .title { margin: 24px 0 8px 0; }
.form-div hr.horiz-div { margin-bottom: 16px; }
.form-div form { 
	display: flex; flex-direction: row; flex-wrap: wrap; justify-content: flex-start; align-items: stretch; 
	column-gap: 24px; width: 100%; box-sizing: border-box; 
}
.form-div form p { 
	width: 100%; text-align: left; margin: 22px 0 2px 0; 
}

.form-div form .formrow { 
	width: 100%; 
	display: flex; flex-wrap: wrap; justify-content: flex-start; column-gap: 24px; 
}
.form-div form .formrow-captcha { 
	width: 100%; 
	display: flex; flex-direction: column; align-items: center; 
}

.form-div form label { 
	width: 100%; margin-top: 12px; 
	font-family: 'industry', sans-serif; font-size: 18px; font-weight: 600; 
	text-align: left; 
	display: flex; box-sizing: border-box; 
}

.form-div form select { 
	width: calc(100% - 2px); margin: 8px 0; padding: 11px 12px 9px 12px; box-sizing: border-box; height: 47px; 
	border-radius: 0; border: 1px solid #fff; border-right: 10px solid #fff; outline: 1px solid #000; 
	color: #000; font-family: 'industry', sans-serif; font-size: 15px; font-weight: 600; line-height: 1.3; 
	text-align: left; 
}
.form-div form input[type="text"], .form-div form input[type="email"], 
.form-div form input[type="date"], .form-div form textarea, .form-div form #CaptchaAnswer { 
	width: 100%; padding: 8px 8px 8px 8px; margin: 8px 0; box-sizing: border-box; 
	font-family: 'industry', sans-serif; font-size: 15px; font-weight: 600; line-height: 1.3; 
	text-align: left; 
	color: #000; border-radius: 0; border: 1px solid #000; 
}
.form-div form input[type="text"], .form-div form input[type="email"], 
.form-div form input[type="date"], .form-div form #CaptchaAnswer { height: 48px; }
.form-div form textarea { height: 120px; }

.form-div form a:not(.invisilink) { margin: 16px 0 0 0; cursor: pointer; }

.form-div form .CaptchaMessagePanel { 
	font-family: 'industry', sans-serif; font-size: 17px; font-weight: 600; line-height: 1.3; 
	letter-spacing: .25px; color: #000!important; 
}
.form-div form #CaptchaAnswer { width: 174px; }
.form-div form div.CaptchaWhatsThisPanel a { 
	font-family: 'industry', sans-serif; font-size: 16px; font-weight: 600; 
	line-height: 1.3; letter-spacing: .25px; text-shadow: none!important; cursor: pointer;
	background: #fff; padding: 14px 14px 10px 14px; transition: .25s ease all; 
}
.form-div form div.CaptchaWhatsThisPanel a:hover { text-decoration: underline; }
form button[type="submit"] { border: none; cursor: pointer; } 

/*-------- FOOTER STYLES ----------------*/
footer {  }

.davis-footer {
	position: relative; width: 100%; background: #191919; padding: 60px max(8%, calc(50% - 900px)); 
	display: flex; justify-content: space-between; align-items: center; row-gap: 50px; 
}
.foot-logo, .foot-logo img { width: 240px; }
.foot-logo img { height: auto; object-fit: contain; object-position: center; }
.davis-footer .listed { color: #fff; }
.davis-footer .listed i { border-right-color: rgba(255, 255, 255, .5); }
.davis-footer .listed:hover { text-shadow: 1px 1px 0 #000, 0 0 8px #000; }
.davis-footer .listed:hover i { text-shadow: none; }
.foot-soc-mobile {
	width: 100%; 
	display: flex; flex-wrap: wrap; justify-content: space-evenly; align-items: center; row-gap: 32px; 
}
.foot-nav {
	display: flex; flex-direction: column; align-items: flex-start; justify-content: center; column-gap: 2%; 
}
.foot-nav a {
	position: relative; color: #fff; padding: 6px; 
	font-family: 'industry', sans-serif; font-size: 17px; font-weight: 400; text-align: left; 
	text-transform: uppercase; letter-spacing: 1px; 
	display: flex; justify-content: flex-start; align-items: center; 
	transition: .25s ease all; 
}
.foot-nav a:hover { color: #ed1f24; }

/*----INVENTORY STYLES - KEEP AT BOTTOM OF CSS----*/
.inv-foot-spacer { width: 100%; height: 80px; background: #191919; }

/*---------- RESPONSIVE STYLES ----------*/

@media only screen and (min-width: 1901px) {
	.hero { height: 600px; }
	.hero img { position: absolute; top: 0; left: 0; height: 100%; }	
}

@media only screen and (max-width: 1550px) {
	.foot-logo, .foot-logo img { width: 210px; }
}

@media only screen and (max-width: 1500px) {
	.mission { column-gap: 6%; }
	.mission .missionimg { height: 400px; }
}

@media only screen and (max-width: 1400px) {
	.mission { column-gap: 5%; }
}

@media only screen and (max-width: 1350px) {
	.mission .missionimg { height: 350px; }
	
	.davis-footer { padding-left: 5%; padding-right: 5%; }
}

@media only screen and (max-width: 1300px) {
	.inv-btn { padding-left: 20px; padding-right: 20px; }
	.inv-btn img { height: 160px; }
	.inv-btn .subtitle { font-size: 16px; }
	.inv-btn .title { font-size: 24px; }
	
	.subhero { height: 250px; }
}

@media only screen and (max-width: 1250px) {
	.title { font-size: 34px; }
	.subtitle { font-size: 20px; }
	.subtitle.ulined:before { height: 12px; bottom: -3px; }
}

@media only screen and (max-width: 1200px) {
	.mission .missionimg { height: 300px; }
	
	.inv-btn img { height: auto; }
}

@media only screen and (max-width: 1150px) {
	.subhero.is-fullpage { min-height: 500px; }
	
	.form-sect { flex-direction: column-reverse; }
	.contactpage .form-sect .form-div, .contactpage .form-sect > .content-sect { width: 100%; }
	
	.foot-logo, .foot-logo img { width: 180px; }
}

@media only screen and (max-width: 1050px) {
	.header-logo, .header-logo img { height: 86px; }
	
	.mission { flex-direction: column; }
	.mission > .content-sect, .mission .missionimg { width: 100%; }
	.mission > .content-sect { order: 1; padding: 0; }
	.mission .missionimg { order: 2; width: min(100%, 750px); margin: 0 auto; }
	
	.inv-btns-sect { flex-wrap: wrap; }
	.inv-btns-sect .inv-btn { width: 50%; }
	.inv-btn img { max-height: 180px; }
}

@media only screen and (max-width: 1000px) {.davis-footer { flex-wrap: wrap; }
	.foot-nav { width: 100%; flex-direction: row; align-items: center; flex-wrap: wrap; }
	.foot-nav a { justify-content: center; text-align: center; min-height: 50px; padding-left: 20px; padding-right: 20px; }
}

@media only screen and (max-width: 950px) {
	.header-soc { row-gap: 0; }
	.header-soc .listed { padding-right: 0; }
	.header-soc .listed span { display: none!important; }
	.header-soc .listed i { width: 45px; height: 45px; font-size: 17px; border-right: none; margin-right: 0; }
	.header-soc .listed:hover i { font-size: 19px; }
	
	.hero { flex-direction: column; }
	.hero-overlay { position: relative; top: unset; left: unset; transform: none; background: #191919; }
	
	.subhero { height: 220px; }
}

@media only screen and (min-width: 801px) {
	.foot-soc-mobile { display: none!important; }
}

@media only screen and (max-width: 800px) {
	.subhero.is-fullpage { min-height: 450px; }
	
	.davis-footer { flex-direction: column; }
	.foot-soc-desktop { display: none!important; }
}

/* switch to full mobile header */
@media only screen and (max-width: 750px) {
	.davis-header { flex-wrap: wrap; padding-left: 0; padding-right: 0; padding-bottom: 0; }
	.header-logo { margin: 0 auto; }
	.nav-div { width: calc(100% - 100px); justify-content: flex-start; }
	.header-soc { flex-direction: row; }
	.header-soc .listed i { width: 50px; height: 50px; }
	
	.title { font-size: 28px; }
	.subtitle { font-size: 18px; }
}

@media only screen and (max-width: 600px) {
	.contactpage .horiz-sect { flex-direction: column; align-items: flex-start; row-gap: 32px; }
	
	.foot-logo, .foot-logo img { width: min(180px, 90%, 80vw); }
	.foot-soc-mobile, .foot-nav { flex-direction: column; }
}

@media only screen and (max-width: 500px) {
	.subtitle.ulined:before { display: none!important; }
	
	.inv-btn { padding-left: 8px; padding-right: 8px; }
	.inv-btn img { padding-left: 20px; padding-right: 20px; }
	.inv-btn:hover .title { letter-spacing: .5px; }
	
	.subhero { height: 200px; }
	
	.contactpage .form-sect .missionimg:before { display: none!important; }
	.map-div iframe { width: 100%; }
	.listed-title { margin-bottom: 0; }
}

@media only screen and (max-width: 450px) {
	.hide450 { display: none!important; }
}

@media only screen and (max-width: 380px) {
	.missionimg:before { display: none!important; }
	.missionimg img { width: 100%; left: 0; }
	
	.inv-btns-sect .inv-btn { width: 100%; }
}

@media only screen and (max-width: 240px) {
	.header-soc { display: none!important; }
}






