html, body {margin: 0; padding: 0;}

@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;}

#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 {outline: none; color: #2E3FE1;} a {text-decoration: none; cursor: pointer;}
a, .ham {-webkit-tap-highlight-color: transparent);}
img {border: 0;} #phone a {white-space: nowrap;}
.phlink {color: inherit !important; text-decoration: none !important; white-space: nowrap;} .phlink:hover {cursor: text;}
.ham, .ham * {-webkit-touch-callout: none; -webkit-user-select: none; user-select: none; touch-action: manipulation;}

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

/*HEADER*/

#headerback {width: 100%;} #header {width: 100%; margin: 0 auto; z-index: 1;}
#header table {position: relative; margin: auto; text-align: center; padding: 0; width: min(calc(90% + 55px),95%); max-width: 1650px;}
#header td {vertical-align: middle;}
#headertext h1 {text-align: center; margin: 0 auto; font-style: italic; font-weight: 600; font-size: 20px; line-height: 1.45; padding: 0 20px 3px 20px;}

#logo {text-align: left;} #logo img {display: block;} #logo a {display: inline-block;}
#phone {font-size: 18px; white-space: nowrap; font-weight: 600;}
#phone span {display: inline-block; vertical-align: middle; padding-bottom: 7px;} #phone a {font-size: 24px; line-height: 1.25;}

@media (min-width: 1021px) {#headertext h1 {font-size: 18px;} #headertext h1 span {display: block;}}
@media (max-width: 1020px) {#headertext {width: 40%;} #headertext h1 {font-size: 2vw;}}
@media (min-width: 751px) {#logo {padding: 8px 0;} #logo, #logo img, #phosoc {width: 248px;} #logo img {height: 103px;}}
@media (max-width: 750px) {#logo {padding: 15px 0;} #logo, #logo img, #phosoc {width: 200px;} #logo img {height: 83px;}}
@media (max-width: 800px) {#headertext h1 {font-size: 2.3vw;}}
@media (max-width: 680px) {#headertext, #headertext h1 {visibility: hidden; width: 0; padding: 0; font-size: 0;}}
@media (max-width: 430px) {#logo, #logo img, #phosoc {width: 180px;} #logo img {height: 75px;}}
@media (min-width: 401px) {#phone {display: grid; justify-content: flex-end;}}
@media (max-width: 400px) {
#header td {display: block;}
#logo {padding: 0;} #logo img {margin: 10px auto 0 auto; padding: 0 15px; width: 200px; height: 83px;}
#logo, #phosoc {width: auto; text-align: center;} #phone {margin: 10px auto;}
}

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

/*MENU*/

.navheader {width: 100%; z-index: 1;} #navcheck {display: none;}
.menu, .menu a {-webkit-user-select: none; user-select: none;} .menu .selected {cursor: text;}
.menu a {text-decoration: none; font-size: 20px; line-height: 1.25;}

@media (min-width: 781px) {
.hamburger {display: none;} .menu {display: table; text-align: center; margin: auto;}
.menu div, .menu a {display: table-cell; vertical-align: middle; white-space: nowrap; height: 45px;} .menu a {padding: 2px 25px 4px 25px; transition: .2s;}
}
@media (max-width: 860px) and (min-width: 781px) {.menu a {padding: 2px 20px 4px 20px;}}

@media (max-width: 780px) {
.menu {margin: auto; text-align: center; visibility: hidden;}
.menu div {height: 0; margin: 0; transition: .25s height ease-out;}
.menu a {display: table-cell; height: 0; width: 1%; vertical-align: middle; font-size: 0; transition: .15s background, .4s font-size; text-decoration: none; opacity: 0;}

#navcheck:checked ~ .menu {visibility: visible;}
#navcheck:checked ~ .menu div {display: inline-block; height: 60px; margin: -2px -2.5px;}
#navcheck:checked ~ .menu a {font-size: 22px; opacity: 1; height: inherit;}

#navcheck:checked ~ .hamburger > div::before, #navcheck:checked ~ .hamburger > div::after {background: #FFF;}
#navcheck:checked ~ .hamburger > div {width: 0; background: none;}
#navcheck:checked ~ .hamburger > div::before {-webkit-transform: rotateZ(45deg); top: 0;}
#navcheck:checked ~ .hamburger > div::after {-webkit-transform: rotateZ(-45deg); top: 0;}
.hamburger {position: relative; display: table; z-index: 6; height: 30px; width: 45px; margin: auto; text-align: center; padding: 10px;}
.hamburger:hover {cursor: pointer;} .hamburger > div {top: 23px; left: 10px;}
.hamburger > div, .hamburger > div::before, .hamburger > div::after {display: block; content: ""; position: absolute; height: 4px; width: 44px; opacity: 1; background: #FFF; -webkit-transition: -webkit-transform 0.2s ease-out; border-radius: 1px;} .hamburger > div::before {top: -11px;} .hamburger > div::after {top: 11px;}
}

/*@media (max-width: 780px) and (min-width: 281px) {
.menu div {width: 50%;} .menu div:last-child {width: 99.9%;} .menu div:nth-child(even) a {border-left: 1px solid var(--menuline);}
}*/

@media (max-width: 780px) {
.menu div {width: 49.9%;} .menu div:first-child {width: 100%;}
.menu div:nth-child(even) {border-right: 1px solid var(--menuline);}
.menu a {border-top: 1px solid var(--menuline);}
/*.menus div:nth-child(-n+4) a {border-bottom: 1px solid var(--menuline);}*/
}
@media (max-width: 780px) and (min-width: 401px) {.menu a {text-transform: uppercase;}}
@media (max-width: 320px) {#navcheck:checked ~ .menu a {font-size: 21px;}}

:root {--menuline: #516ebd;}
.navheader, .menu {background-color: #0A2D8E;} .menu a {color: #FFF;}
.menu .selected {background-color: #030E2B;} .menu a:hover:not(.selected) {background-color: #2253D9;}
@media (max-width: 780px) {.menu a {border-top: 1px solid var(--menuline);}}

/*.menu div:last-child {background-color: #018E6D;}*/

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

/*Big Pic*/

#homepic {position: relative; overflow: hidden; z-index: 0; background-color: #344A24/;}
#homepic img {object-fit: cover; object-position: 50% 60%; max-height: 450px; width: 500px; height: 300px; width: 100%; height: calc(80px + 45vw); display: block;}

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

/*BODY AREA*/

#bread {font-size: 14px; line-height: 1.4; margin-bottom: 20px;}

.bodyarea {position: relative; 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.6em; line-height: 1.25; text-align: center;}
h1, h2, h3, h4, h5 {margin: 0 !important;}

@media (max-width: 800px) {.bodyhead {font-size: 1.5em;}}
@media (max-width: 600px) {.bodyhead {padding-bottom: 0;}}
@media (max-width: 360px) {.bodyarea {width: 88%;} .bodyhead {font-size: 1.45em;}}

.heading, .heading2 {font-weight: 600; line-height: 1.35;}
.heading {font-size: 1.3em;} .heading2 {font-size: 1.15em;}

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

/*Home Page Service Blocks*/

/*#blocks {border: 1px solid black} #blocks div:not(#blocks div div) {border: 1px solid blue}
#blocks div div {border: 1px solid red}*/

#blocks {font-size: 18px; margin: 30px auto; max-width: 1100px; column-gap: 0; grid-column-gap: 0px; text-align: center;}
#blocks div:not(#blocks div div) {break-inside: avoid; display: inline-block; width: 100%;}
#blocks div div {margin: 5px; font-size: 1em; line-height: 1.4; color: #FFF; border-radius: 5px;}
#blocks a {color: #FFF; display: block; padding: 20px 25px;}

@media (min-width: 1001px) {#blocks {-webkit-columns: 4; columns: 4;}}
@media (max-width: 1000px) {#blocks {-webkit-columns: 3; columns: 3;}}
@media (max-width: 800px) {#blocks {-webkit-columns: 2; columns: 2;}}
@media (max-width: 515px) {#blocks {-webkit-columns: 1; columns: 1;}}

#blocks div:nth-child(4n+1) div {background-color: #4e709a;}
#blocks div:nth-child(4n+2) div {background-color: #2e568b;}
#blocks div:nth-child(4n+3) div {background-color: #3e5a7f;}
#blocks div:nth-child(4n+4) div {background-color: #074ca2;}

@media (max-width: 1000px) and (min-width: 801px) {
#blocks div:nth-child(4n+2) div {background-color: #4e709a;}
#blocks div:nth-child(4n+4) div {background-color: #2e568b;}
#blocks div:nth-child(4n+1) div {background-color: #3e5a7f;}
#blocks div:nth-child(3n+3) div {background-color: #074ca2;}
}

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

/*Home Page Why Us*/

#whyus {margin: 30px auto 20px auto; max-width: 1100px; text-align: center; font-size: 20px; font-weight: 400; color: #FFF;}
#whyus * {box-sizing: border-box;}
#whyus div:not(#whyus div div) {background: #404040; color: #FFF; font-size: 1em; line-height: 1.3; border-radius: 2px; }
/*for calc, use 33.33% for 3 items, 25% for 4, 20% for 5, 16.66% for 6 - 2nd # in calc is double of margin number*/

@media (min-width: 1221px) {
#whyus div:not(#whyus div div) {flex: 0 0 calc(20% - calc(15px * 2)); margin: 10px; padding: 20px 25px; font-size: 1em;}
}
@media (max-width: 1220px) {
#whyus div:not(#whyus div div) {flex: 0 0 calc(20% - calc(1vw * 3)); margin: 1vw; padding: 1.5vw 2vw; font-size: .95em;}
}
@media (max-width: 980px) {#whyus div:not(#whyus div div) {flex: 0 0 calc(33.33% - calc(1vw * 2)); margin: 1vw; padding: 1.5vw 2vw;}}
@media (max-width: 780px) {
#whyus div:not(#whyus div div) {flex: 0 0 calc(50% - calc(1.5vw * 2)); margin: 1.5vw; padding: 2.5vw 3vw;}
}
@media (max-width: 500px) {#whyus div:not(#whyus div div) {padding: 3.5vw;}}
@media (min-width: 341px) {
#whyus {display: flex; flex-wrap: wrap; justify-content: center;}
#whyus div div {height: 100%; display: flex; align-items: center;}
}
@media (max-width: 340px) {
#whyus div:not(#whyus div div) {display: block; margin: 15px 0;}
#whyus div:first-child {margin-top: 0 !important;} #whyus div:last-child:not(#whyus div div) {margin-bottom: 5px;}}

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

/*Page Pics*/

.pagepic img, .twopics img {border-radius: 3px; width: 500px; height: 300px; width: 100%; height: auto; display: block;}
.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: 35px auto;} .pictall {max-width: 400px;}}

.twopics {display: table; margin: 40px auto 30px auto;}
.twopics div {display: table-cell; vertical-align: middle;}
.twopics img {width: 100%; display: block; margin: auto; border-radius: 3px;} .tpwide {max-width: 500px;} .tptall {max-width: 350px;}
.twopics p {text-align: center; margin-top: 5px; font-size: .95em;}
@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;}}

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

/*Ready*/

#finance {text-align: center; padding: 40px 20px 30px 20px; font-size: 1.8em; line-height: 1.4; background-color: #004790;}
#finance a {display: inline-block; text-align: center; margin: auto;}
#finance img {display: block; width: 700px; height: 110px; width: 100%; height: auto; max-width: 700px;}
@media (min-width: 601px) {#finance span:last-child {display: none;}}
@media (max-width: 600px) {#finance span:first-child {display: none;} #finance {padding: 25px 20px 10px 20px;}}
@media (max-width: 400px) {#finance a {margin-left: 20px;}}

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

/*BOTTOM AREA*/

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

#bottomarea {font-size: 14px; line-height: 1.6; padding: 25px 25px 22px 25px; text-align: center; clear: both;}

.btmph {font-size: 18px; white-space: nowrap; margin: 10px auto; line-height: 1.5;}
.btmph span {display: inline-block; vertical-align: middle; padding-bottom: 7px;} .btmph a {font-size: 22px; line-height: 1.1; font-weight: 600;}

.web, .web a {font-size: 12px; font-family: Arial, Helvetica, sans-serif; color: #BBB !important;}
.web a {font-style: italic; text-decoration: none;} .web a:hover {text-decoration: underline;}
@media (max-width: 470px) {.btmco span, .web a {display: block;} .btmph {margin: 10px auto;}}

#totop {position: fixed; height: 18px; width: 18px; right: 14px; bottom: 12px; z-index: 100; padding: 8px 9px 8px 10px; border: 2px solid rgba(155, 155, 155, .4); background-color: rgba(80, 80, 80, 0.45); border-radius: 4px;}
#totop div {font-family: Arial, Helvetica, sans-serif; display: inline-block; -webkit-transform: rotate(90deg); transform: rotate(90deg); font-size: 32px; line-height: 18px; color: #FFF;}
#totop:hover {-webkit-transform: scale(1.05);}
@media (min-width: 481px) {#totop {-webkit-transition: .15s;}}

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

/*COLORS*/

body {color: #444; background-color: #FFF;} #headertext {color: #01A27D;}
#phone {color: #333;} #phone a, .bodyhead {color: #123DB3 !important;} .heading {color: #000;}
#bottomarea {background-color: #000;} #bottomarea, #bottomarea a {color: #FFF;}
