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

@font-face {font-family: 'Pathway Extreme'; font-style: normal; font-weight: 400; font-display: block;
  src: local(''), url('fonts/pathway-extreme-400.woff2') format('woff2'), url('fonts/pathway-extreme-400.woff') format('woff');
}
@font-face {font-family: 'Pathway Extreme'; font-style: normal; font-weight: 500; font-display: block;
  src: local(''), url('fonts/pathway-extreme-500.woff2') format('woff2'), url('fonts/pathway-extreme-500.woff') format('woff');
}
@font-face {font-family: 'Pathway Extreme'; font-style: normal; font-weight: 600; font-display: block;
  src: local(''), url('fonts/pathway-extreme-600.woff2') format('woff2'), url('fonts/pathway-extreme-600.woff') format('woff');
}

@font-face {font-family: 'Pathway Extreme Cond'; font-style: normal; font-weight: 700; font-display: block;
  src: local(''), url('fonts/pathway-extreme-700-cond.woff2') format('woff2'), url('pathway-extreme-700-cond.woff') format('woff');
}

body {font-family: 'Pathway Extreme', 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: underline; text-decoration-thickness: 1px; text-decoration-style: dotted; text-underline-offset: .1em; cursor: pointer;}
* {-webkit-tap-highlight-color: transparent; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none;}
img {border: 0; image-rendering: -webkit-optimize-contrast;} #phone a {white-space: nowrap;}
.phlink {color: inherit !important; text-decoration: none !important; white-space: nowrap;} .phlink:hover {cursor: text;}

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

/*HEADER*/

/*header {border: 1px solid blue;} #logo {border: 4px solid green} #logo img {border: 1px solid magenta} #logo a {border: 1px solid white}
#phone {border: 1px solid yellow} #headtop {border: 1px solid blue}*/

#logo {z-index: 3;} header {z-index: 2;} nav {z-index: 1;}

header {display: table; width: 100%; margin: auto; box-shadow: 0 3px 7px -5px #000; text-align: center; box-sizing: border-box; border-bottom: 3px solid var(--red); height: 93px;} /*height is 3px more than headerback due to 3px bottom border*/

#headerback {height: 90px;}
@media (min-width: 1236px) {nav div {height: 90px;}}
@media (min-width: 501px) {#logo {height: 90px;}}

#headtop, header, #logo {position: fixed;}
#headtopback, #headtop {height: 55px;} #headtop, header {display: table; width: 100%; margin: auto; z-index: 2;}
header {box-shadow: 0 3px 7px -5px #000; text-align: center; box-sizing: border-box;}

#logo {z-index: 3; left: 0; right: 0; display: table; margin: auto; text-align: center;}
#logo, #logo img {width: 343px; width: 100%; max-width: 343px; box-sizing: border-box}
#logo img {display: block; height: 63px; height: auto;}
#logo a {display: table-cell; vertical-align: middle;}

@media (min-width: 2301px) {#headtop {padding: 0 15%;}}
@media (max-width: 2300px) {#headtop {padding: 0 8%;}}
@media (max-width: 1910px) {#headtop {padding: 0 3%;}}

/*Access Reports link*/
#headtop {width: 100%;}
#headtop td:last-child {width: 100px; text-align: right;} #headtop td:last-child span {display: block;}
#headtop td:last-child a {display: inline-block; text-align: center; font-size: 15px; line-height: 1.25; margin-left: 20px; padding: 1px 0 3px 0; white-space: nowrap; text-decoration: none; font-weight: 500; background-color: #FFF; color: #900; border: 1px solid #900; -webkit-transition: .1s; width: 75px;}
#headtop td:last-child a:hover {font-weight: 600; color: #E00; background-color: #FFFFC7;}
/*end Access Reports*/

#phone {font-size: 17px; line-height: 1; padding-top: 1px; text-align: right; white-space: nowrap;}
#phone, #phone a {font-weight: 600;} #phone a {margin-left: 5px;}
#phone span {font-size: .9em; font-weight: 400;} #phone span:nth-of-type(2) {margin-left: 9px;}

@media (max-width: 705px) and (min-width: 511px) {#logo {margin: 0 0 0 45px;}}
@media (max-width: 510px) and (min-width: 501px) {#logo {margin: 0 0 0 25px;}}
@media (max-width: 540px) {#phone {text-align: left;} #phone span:nth-of-type(1) {display: none;}}
@media (min-width: 501px) {#logo {padding-top: 3px;}}
@media (max-width: 500px) {
#headtop {border-top: 1px solid #000;} /*always 500px*/
#headerback, header, nav div {height: 140px;} #logo {margin: 20px auto 0 auto; padding: 0 20px;}
}
@media (max-width: 435px) {
#phone {padding: 6px 0;} #phone a {display: block; line-height: 1.5; margin: 0;}
#phone span:nth-of-type(2) {display: none;} #headtopback {height: 67px;}
}

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

/*MENU*/

/*nav {border: 1px solid yellow} nav div {border: 1px solid white} nav a {border: 1px solid orange}*/

a, *:hover {-webkit-tap-highlight-color: transparent;} #navcheck {display: none;}

nav section {margin: 0; padding: 0;}
nav a {text-decoration:none; cursor: pointer; line-height: 1.3; font-weight: 400;color: #FFF !important}
nav div.selected a {cursor: text; -webkit-user-select: none; -webkit-touch-callout: none;}
nav div {-webkit-transition: background 0.2s ease-out;}

@media (min-width: 1781px) {
nav a {padding: 0 20px; font-size: 18px;} nav section:first-child div {padding: 0 16px;} /*makes shorter menu section wider*/
}
@media (max-width: 1780px) and (min-width: 1236px) {nav span {display: block;}}
@media (max-width: 1780px) and (min-width: 1236px) {
nav {max-width: 1300px !important;} nav a {padding: 0 23px; font-size: 17px;} nav section:first-child div {padding: 0 14px;}
}
@media (max-width: 1340px) and (min-width: 1236px) {nav a {padding: 0 14px;}}
@media (min-width: 1236px) {
.ham {display: none;}
nav {position: fixed; left: 0; right: 0; text-align: center; margin: auto; width:calc(65vw + 400px); max-width: min(98%, 1800px);}
nav div {display: table-cell; vertical-align: middle; white-space:nowrap;}
nav section:first-child {float: left;} nav section:last-child {float: right;}
nav a {display: grid; height: 100%; align-content: center; text-align: center; transition: .2s;} /*must be grid for old Safari*/
}

@media (max-width: 1235px) {
nav {position: absolute; max-width: 290px; right: 0; background-color: rgba(10, 10, 10, 0.9); height: 100vh; margin-top: 93px; margin-right: -100%; -webkit-transition: margin-right 0.3s ease-out; transition: margin-right 0.3s ease-out; -webkit-transition: -webkit-transform margin-right 0.3s ease-out; -webkit-transition: transform margin-right 0.3s ease-out;}
nav div {height: calc((35vh / 6) + 5vmin); border-top: 1px solid #666;}
nav div:first-child {border-top: none;} nav div:last-child {border-bottom: 1px solid #666;}
nav a {display: table-cell; width: 1%; vertical-align: middle; text-align: center; font-size: 0; opacity: 0; height: 0; white-space: nowrap; padding: 0 8px; transition: .45s font-size ease-in-out; -webkit-transition: .45s font-size ease-in-out;}

#navcheck:checked ~ nav {margin-right: 0;} #navcheck:checked ~ nav a {font-size: 20px; opacity: 1; height: inherit;}

.ham {position: absolute; z-index: 600; display: table; height: 30px; width: 45px; top: 21px; right: 40px; margin: auto; padding: 10px;}
.ham:hover {cursor: pointer;}
.ham div {top: 23px; left: 10px; -webkit-transition: -webkit-transform 0.4s ease-out;}
.ham div, .ham div:before, .ham div:after {position: absolute; display: block; content: ""; height: 3px; width: 44px; opacity: 1; background: #FFF;} .ham div:before {top: -11px;} .ham div:after {top: 11px;}

#navcheck:checked ~ .ham div {width: 0; transform: rotateX(180deg); transition-timing-function: ease;}
#navcheck:checked ~ .ham div:before {-webkit-transform: rotateZ(37deg); top: 0; background: #FFF;}
#navcheck:checked ~ .ham div:after {-webkit-transform: rotateZ(-37deg); top: 0; background: #FFF;}
}
@media (max-width: 705px) {.ham {right: 15px;}}
@media (max-width: 500px) {
nav {margin-top: 140px; max-width: 100%;} nav div {height: calc((51vh / 6) + 2.5vmin);}
.ham {top: 82px; left: 0; right: 0;}
}
@media (max-width: 315px) {#navcheck:checked ~ nav a {font-size: 18px;}}

nav div:hover:not(div.selected) {background-color: var(--red);} nav div.selected {background-color: #505050;}

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

/*Top Pic*/

/*#toppics {position: relative; height: 42vw; max-height: 320px; overflow: hidden; display: flex; align-items: center;}
#toppics img {width: 500px; height: 300px; width: 100vw; height: auto; object-fit: cover;}*/

#toppic {position: relative; overflow: hidden; z-index: 0;}
#toppic img {width: 500px; height: 300px; width: 100%; height: 100%; max-height: 320px; object-fit: cover; display: block;}

.caption {position: absolute; display: table-cell; left: 5%; right: 5%; text-align: center; top: 47%; -webkit-transform: translateY(-48%); transform: translateY(-48%); z-index: 1; margin: 0 auto; color: #FFF;}
.caption h1 {font-family: 'Pathway Extreme Cond', Arial, Helvetica, sans-serif; font-size: 6rem; line-height: 1; font-weight: 700; text-shadow: 1px 1px 2px #000;}

@media (max-width: 690px) {.caption h1 {font-size: 14vw;}}
@media (min-width: 501px) {#toppic img {filter: brightness(65%);}}
@media (max-width: 500px) {#toppic {height: 45vw;}}

.tpfht {background-color: #7F7635;} .tpfht img {object-position: 50% 70%;}
.tpfhr {background-color: #5A5E66;} .tpfht img {object-position: 50% 50%;}
.tpglt {background-color: #6B6B6D;} .tpglt img {object-position: 50% 50%;}
.tpfpt {background-color: #6B6961;} .tpfpt img {object-position: 50% 50%;}

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

/*BODY AREA*/

#bread {font-size: 14px; line-height: 1.4; margin: 4px 0 10px 0;}

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

/*don't show bodyhead for service pages due to service name in top pic*/ .svchead {visibility: hidden; line-height: 0; padding: 0;}

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

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

/*Section shading on services pages*/
.divide:nth-child(even) {background-color: #EEE;} .divide .bodyarea {padding: 40px 0 25px 0;}
.divide:last-of-type {padding-bottom: 20px;}

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

/*Services List*/

#svcs {display: table; margin: 30px auto; padding: 20px 35px 20px 20px; background-color: #DDD; border-radius: 3px;}
#svcs ul {margin: 0 -15px;} #svcs li {line-height: 1.4;} #svcs li:not(li:last-child) {padding-bottom: 15px;}
#svcs ul li ul {margin-top: 10px;}

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

/*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;}
.piccenter {margin: 40px auto 25px auto;} .piccenter img {display: block;}
@media (max-width: 1050px) and (min-width: 871px) {.picwide {max-width: 430px;}}
/*@media (min-width: 751px) {.piccenter {display: none;}}*/
@media (max-width: 870px) {.piccenter, .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;}
@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*/

/*.btmarea section {background-color: green; border: 1px solid red} .btmarea section * {border: 1px solid yellow}*/

.btmareaback {background-color: #444;} .btmarea, .btmarea a {color: #FFF;}
.btmarea {display: grid; justify-content: center; justify-items: center; padding: 50px 0; margin: auto; max-width: 1100px;}
.btmarea section {font-size: 1em;}
.btmarea .btmlogo p {font-size: 13px;}
.btmarea .btmlogo img {display: block; width: 343px; height: 63px; width: 100%; max-width: 343px; height: auto; margin: auto;}
.btmarea #btmtxt {line-height: 1.6;}
.btmarea .btmlinks ul {margin-left: -20px;} .btmarea .btmlinks a {text-decoration: none; white-space: nowrap;}
.btmarea .btmlinks a:hover {text-decoration: underline;}
.btmarea .btmlinks li:not(.btmlinks li:last-child) {padding-bottom: 8px;} .btmarea .btmlinks ul {margin-bottom: 0;}
.btmarea .btmhead {display: block; font-size: 1.7em; font-weight: 500; color: #FF7565;}
/*.btmarea .btmcont {font-size: .9em; line-height: 1.55;}*/ .btmarea .btmcont * {white-space: nowrap;}
.btmarea .btmcont div:nth-child(3) {font-size: .95em; line-height: 1.6;}
.btmarea .btmcont span {display: block; font-size: 1.2em; line-height: 1.4; font-weight: 500; margin-bottom: 5px;}
.btmarea .btmicons {margin: 20px 0 15px 0;} .btmarea .btmicons img {margin: 2px 8px 15px 0; vertical-align: top;}
.btmarea .btmsoc {margin-top: 20px;} .btmarea .btmsoc img {width: 32px; height: 32px; margin: 0 3px;}
@keyframes shake {20% {-webkit-transform: rotateZ(-8deg);} 80% {-webkit-transform: rotateZ(8deg);}}
.btmarea .btmsoc img:hover {-webkit-animation: shake .16s 5;}

@media (max-width: 1170px) and (min-width: 1031px) {.btmarea {max-width: 950px;}}
@media (min-width: 1031px) {
.btmarea {grid-template-columns: 33% 43% 18%;}
.btmarea .btmlogo {grid-column: 1 / 1;} .btmarea .btmlinks {grid-column: 2 / 2;} .btmarea .btmcont {grid-column: 3 / 3;}
}
@media (max-width: 1030px) {#btmtxt {text-align: center;}}
@media (max-width: 1030px) and (min-width: 631px) {
.btmarea section {margin: 0 40px;} .btmarea {max-width: 700px;}
.btmarea .btmlogo {grid-column: 1 / 3; grid-row: 1 / 1; margin-bottom: 30px;}
.btmarea .btmlinks {grid-column: 1 / 1; grid-row: 2 / 2; padding-left: 30px;}
.btmarea .btmcont {grid-column: 2 / 2; grid-row: 2 / 2; padding-right: 30px;}
/*.btmarea {grid-template-columns: 50% 50%;}*/
}
@media (max-width: 630px) {.btmarea {width: 85%; padding: 20px 0;} .btmarea section {grid-column: 2 / 2; margin: 20px 0;}}
@media (max-width: 110px) {
.btmarea {display: block; width: 87%; padding: 30px 0;} .btmarea .btmlinks {margin: 50px 0;}
.btmarea .btmlogo img {width: 100%; height: auto; max-width: 310px;}
}

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

/*Bottom*/

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

footer {font-size: 14px; line-height: 1.6; padding: 25px 25px 22px 25px; text-align: center; background-color: #222;}

.web, .web a {font-size: 12px; font-family: Arial, Helvetica, sans-serif;}
.copy {color: #EEE;} .web {color: #DDD;} .web a {color: #FFF;}
.web a {font-style: italic; text-decoration: none; white-space: nowrap;} .web a:hover {text-decoration: underline;}

#totop {position: fixed; right: 14px; bottom: 12px; z-index: 100; padding: 8px 9px 8px 10px; background-color: rgba(80, 80, 80, 0.45); border: 1px solid #777;}
#totop, #totop {height: 18px; width: 18px;}
#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.07);} #totop:hover div { transform: rotate(450deg); transition-timing-function: ease;}
#totop, #totop div {-webkit-transition: .15s;}


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

/*COLORS*/

:root {--red: #E41B23;}

body, header {background-color: #FFF;} #headtop {background-color: var(--red);} header {background-color: #000;}
body {color: #333;} #phone, #phone a {color: #FFF;} .bodyhead {color: var(--red);}
.heading {color: #000;} .heading2 {color: #555;}

#btminfo {color: #FFF;} footer {background-color: #000; color: #CCC;}
