html, body {margin: 0; padding: 0;} html {font-size: 100%; -webkit-text-size-adjust: 100%; text-size-adjust: 100%;}

@font-face {font-family: 'OpenSans'; font-style: normal; font-weight: 400; font-display: block;
  src: local(''), url('fonts/open-sans-400.woff2') format('woff2'), url('fonts/open-sans-400.woff') format('woff');
}
@font-face {font-family: 'OpenSans'; font-style: normal; font-weight: 600; font-display: block;
  src: local(''), url('fonts/open-sans-600.woff2') format('woff2'), url('fonts/open-sans-600.woff') format('woff');
}

body {font-family: 'OpenSans', Arial, Verdana, Geneva; font-variant-ligatures: none; font-size: 100%;}

#width {position: fixed; top: 0; z-index: 20; padding: 0 3px; font-size: 11px; line-height: 14px; font-family: Arial, Helvetica, sans-serif; background-color: #FF0;}
a, a:visited, a:hover {color: #2E3FE1;}
a {text-decoration: underline; text-decoration-thickness: 1px; text-decoration-style: dotted; text-underline-offset: .1em; cursor: pointer;}
a:focus-visible {outline: 2px solid #66AFE9; outline-offset: 2px;}
* {-webkit-tap-highlight-color: transparent;} img {border: 0;}
.phlink {color: inherit !important; text-decoration: none !important; white-space: nowrap;} .phlink:hover {cursor: text;}

/*------------------------------------*/

/*HEADER*/

/*header {border: 1px solid green} #headtext {border: 1px solid orange} #headtext h1 {border: 1px solid #666;} #phosoc {border: 1px solid #999;} #phosoc {border: 2px solid magenta} #phone {border: 2px solid green;} #logo {border: 1px solid blue} #logo img {border: 1px solid orange} #logo a {border: 1px solid cyan}*/

header {width: 100%; margin: 0 auto; z-index: 1;}
header section:first-child {display: table; height: 100%; position: relative; margin: auto; text-align: center; width: 95%; max-width: 1650px;}
header div {display: table-cell;} header div:not(.navback div) {vertical-align: middle;}

#headtext h1 {text-align: center; margin: 0 auto; font-style: italic; font-weight: 400; line-height: 1.4; padding: 0 20px;}
#logo img {display: block; width: 280px; height: 87px;} #phone {font-size: 22px; font-weight: 600; white-space: nowrap;}
#logo, #phosoc {width: 240px;}

@media (max-width: 995px) {#headtext h1 span {display: block;}}
@media (min-width: 831px) {#headtext h1 {font-size: 20px;}}
@media (max-width: 830px) {#headtext {width: 40%;} #headtext h1 {font-size: 18px;}}
@media (max-width: 740px) {#headtext h1 {font-size: 2.6vw; padding: 0 30px;}}
@media (max-width: 700px) {header section:first-child {width: 93%;} #headtext h1 {font-size: 2.6vw;}}
@media (max-width: 680px) {#headtext, #headtext h1 {visibility: hidden; width: 0; padding: 0; font-size: 0;}}
@media (min-width: 501px) {
header section:first-child {padding: 0; overflow: hidden;} #logo {padding: 20px 0;} #logo a {display: table-cell;}
#phosoc > div {display: table; height: 100%; width: 100%; margin-left: 0; box-sizing: border-box;}
#phone {text-align: right; padding-bottom: 3px;}
}
@media (max-width: 500px) {
header section:first-child {-webkit-order: 2; order: 2;} header section:last-child {-webkit-order: 1; order: 1;}
header div:not(nav div) {display: block;} #logo img {margin: 15px auto 0 auto; padding: 0 15px;}
#logo, #phosoc {width: auto; text-align: center;} #logo a {display: inline-block;} #phone {margin: 15px auto; font-size: 26px;}
}
@media (max-width: 350px) {#logo img {width: 240px; height: 74px;}}

/*-----------------------------------------------*/

/*MENU*/

nav, nav a {-webkit-user-select: none; user-select: none;} nav .selected {cursor: text; pointer-events: none;}

#navback {display: grid; justify-content: center; z-index: 1;}
nav {align-items: center; justify-content: center; text-align: center;}
nav a {display: grid; align-content: center; height: 100%; text-decoration: none; font-size: 20px; line-height: 1.3; transition: .15s;}

@media (min-width: 651px) {#navback {height: 58px;} nav br {display: none;} nav a {padding: 0 22px;}}
@media (max-width: 650px) and (min-width: 541px) {#navback {height: 65px;} nav br {display: inline;} nav a {padding: 0 18px;}}

@media (min-width: 541px) {#navback {grid-auto-flow: column;} nav {display: flex;}}
@media (max-width: 540px) {
#navback {justify-content: stretch;} nav {display: grid; grid-template-columns: repeat(2, 1fr); width: 100%; grid-auto-rows: 70px;}
nav br {display: none;} nav a {outline: 1px solid #777;} nav br {display: inline;}

nav a:nth-child(1), nav a:nth-child(3) {grid-column: 1 / span 1;}
nav a:nth-child(2), nav a:nth-child(4) {grid-column: 2 / span 2;}
}
@media (max-width: 330px) {nav a {font-size: 19px;}}

#navback, nav a {background-color: #000;} nav a {color: #FFF !important;}
nav .selected {background-color: #333;} nav a:hover:not(.selected) {background-color: var(--darkblue);}


/*-----------------------------------------------*/

/*Big Pic*/

#homepic {position: relative; display: grid; overflow: hidden; z-index: 0; background-color: #844C44;}
#homepic img {width: 500px; height: 300px; width: 100%; height: 100%; max-height: 420px; object-fit: cover; object-position: 50% 50%; display: block;}

.homecap {position: absolute; z-index: 1; display: grid; -webkit-align-self: center; justify-self: center; align-self: center; text-align: center;}
.homecap h1 {font-family: 'Archivo Narrow', Arial, Helvetica, sans-serif; font-weight: 700; font-size: 80px; line-height: 1.15; color: #FFF; text-shadow: 1px 1px 2px #000; margin: 0;}

@media (min-width: 1461px) {.homecap h1 {font-size: 80px;}}
@media (max-width: 1460px) {.homecap {margin: 0 3%} .homecap h1 {font-size: 5.4vw;}}
@media (min-width: 951px) {.homecap span {display: block;}}
@media (max-width: 950px) {.homecap h1 {font-size: 6.8vw;}}
@media (max-width: 950px) and (min-width: 641px) {.homecap {padding: 0 30px;}}
@media (max-width: 950px) {.homecap h1 {font-size: 7.8vw;} #homepic img {height: 50vw;}}
@media (min-width: 501px) {#homepic img {filter: brightness(70%);}}
@media (max-width: 500px) {.homecap h1 {font-size: 8.3vw;} #homepic img {height: 52vw;}}

/*-----------------------------------------------*/

/*BODY AREA*/

#bread {font-size: 14px; line-height: 1.4; margin-bottom: 40px;}
#bread span {font-weight: 600;} .bahome #bread {margin-bottom: 20px;}

.bodyarea {padding: 10px 0 35px 0; margin: auto; width: 85%; max-width: 1500px;}
.bodyarea, h2 {font-size: 20px; line-height: 1.7; font-weight: 400 !important;}
.bodyhead {padding-bottom: 10px; font-weight: 600 !important; font-size: 1.75em; line-height: 1.3; text-align: center;}
h1 {margin: 0 auto 20px auto;} h2 {margin: 0 0 20px 0;} h3 {margin: 20px 0;}

@media (max-width: 800px) {.bodyhead {font-size: 1.65em;}}
@media (max-width: 600px) {.bahome {padding-top: 0;}}
@media (max-width: 360px) {.bodyarea {width: 88%;} .bodyhead {font-size: 1.6em;}}

.heading, .heading2 {font-weight: 600; line-height: 1.35; display: table;}
.heading {font-size: 1.45em;} .heading2 {margin-top: 20px; font-size: 1.3em;}

.divide:nth-of-type(odd) {background-color: #FFF0B8;} .divide {padding-top: 40px;}

ul span {font-weight: 600;}

/*-----------------------------------------------*/

/*Home Page Service List*/

#svcsback {margin: 30px auto;} .svc {vertical-align: top;}
.svc span {display: block; font-size: 1.2em; line-height: 1.35; font-weight: 600; padding: 10px 25px 10px 15px; background-color: var(--deepblue); color: #FFF; border-radius: 6px 6px 0 0;}

.svc ul {margin: 0; padding: 15px 0; border: 2px solid var(--deepblue); border-top: 0; border-radius: 0 0 6px 6px; background-color: #FFF;}
.svc li {margin: 0 15px 15px 40px; line-height: 1.4;}
.svc li:last-child {margin-bottom: 0;}

@media (min-width: 721px) {
#svcsback {margin: 30px auto; display: table; border-collapse: separate; border-spacing: 30px 0; max-width: 1100px;}
.svc {display: table-cell; width: 50%;}
}
@media (max-width: 720px) {
#svcsback {margin: 30px auto 15px auto;}
#svcsback, .svc {display: block;} .svc:last-child {margin-top: 25px;}
}

/*-----------------------------------------------*/

/*Home Page Problems List*/

#probs {margin: 30px auto 25px auto; text-align: center;} #probs * {box-sizing: border-box;}
.prob {line-height: 1.5; border-radius: 6px; text-align: left; background-color: var(--deepblue); color: #FFF; border: 2px solid var(--deepblue);}

.prob h4 {margin: 0; line-height: 1.3; font-weight: 600; display: block; background-color: #CCC; color: var(--deepblue); border-radius: 4px 4px 0 0;}
.prob span {display: block; font-size: 1.2em; font-weight: 600; color: #FFF0B8;}
.prob div, .prob span {padding: 0 25px 25px 25px;}
.prob ul {padding-right: 20px;}

@media (min-width: 1136px) {.prob {flex: 1 1 25%; margin: 12px;} .prob h4 {padding: 10px 25px 13px 25px; font-size: 1.25em;}}
@media (max-width: 1135px) {.prob {flex: 1 1 40%; margin: 8px;} .prob h4 {padding: 10px 20px 13px 20px; font-size: 1.15em;}}
@media (min-width: 781px) {#probs {display: flex; flex-wrap: wrap; justify-content: center;}}
@media (max-width: 780px) {.prob {margin: 30px auto;}}

/*-----------------------------------------------*/

/*Page Pics*/

.pagepic img {border-radius: 3px; width: 500px; height: 300px; width: 100%; height: auto; display: block; margin: auto;}
.picwide {max-width: 500px;} .pictall {max-width: 350px;}
.picleft {float: left; margin: 10px 40px 30px 0;} .picright {float: right; margin: 10px 0 30px 40px;}
@media (max-width: 1050px) and (min-width: 871px) {.picwide {max-width: 430px;}}
@media (max-width: 870px) {.picleft, .picright {text-align: center; float: none; margin: 25px auto 35px auto;} .pictall {max-width: 400px;}}

.twopics {display: table; margin: 40px auto 30px auto;}
.twopics div {display: table-cell; vertical-align: middle;}
.twopics img {border-radius: 3px; width: 500px; height: 300px; width: 100%; height: auto; display: block; margin: auto;}
.tpwide {max-width: 500px;} .tptall {max-width: 350px;}
@media (min-width: 701px) {.twopics div:first-child {padding-right: 2%;} .twopics div:last-child {padding-left: 2%;}}
@media (max-width: 700px) {.twopics div {display: block;} .twopics div:last-child {padding-top: 30px;}}

/*-----------------------------------------------*/

/*BOTTOM AREA*/

#serving {font-size: 11px; line-height: 1.4; color: #BBB; font-family: Arial, Helvetica, sans-serif;}
#serving a, .nolink {color: inherit !important; text-decoration: none !important; cursor: text; white-space: nowrap;}

footer {font-size: 15px; line-height: 1.6; padding: 25px; text-align: center;}
footer a {white-space: nowrap;} footer p {margin: 13px auto;} .btmph {margin-top: 5px; font-size: 20px;}

#hours {margin-top: 12px;}
@media (max-width: 370px) {#hours div {font-size: .9em;}}

.web {margin-top: 20px; font-size: 13px; font-family: Arial, Helvetica, sans-serif; color: #DDD !important;}
.web a {font-style: italic; text-decoration: none;} .web a:hover {text-decoration: underline;}

#totop {position: fixed; bottom: 25px; right: 25px; display: inline-block; z-index: 9999; opacity: .7; transition: 0.15s;}
#totop img {width: 32px; height: 32px; display: block; filter: drop-shadow(0 0 4px rgba(0,0,0,0.55)); cursor: pointer;}
#totop:hover {opacity: 1;}

/*====================================================*/

/*COLORS*/

:root {--deepblue: #0A173A; --darkblue: #1D336F;}
/*:root {--menuback: var(--deepblue); --menuhover: #34618A;}*/

header, #phone, #phone a {color: #FFF;} header {background-color: #0A173A;}
body {background-color: #FFF; color: #222} #headtext {color: inherit;}
.bodyhead {color: var(--darkblue);} .heading {color: var(--darkblue);} .heading2 {color: #000;}
footer {background-color: #111;} footer, footer a {color: #FFF !important;}
