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('fonts/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; color: #000;}
a, a:visited, a:hover {color: #2E3FE1;} a {text-decoration: underline; text-decoration-thickness: 1px; text-decoration-style: dotted; text-underline-offset: .13em; cursor: pointer;}
a:focus-visible {outline: 2px solid var(--gold); outline-offset: 2px;}
a, .ham {-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 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(--gold); height: 78px;} /*height is 3px more than headerback due to 3px bottom border*/
#headtop {position: fixed;}
#headerback {height: 75px;}

@media (min-width: 1036px) {nav div {height: 75px;}}

#headtopback, #headtop {height: 35px;} #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; top: 12px; left: 0; right: 0; display: table; margin: auto; text-align: center;}
#logo, #logo img {width: 100%; box-sizing: border-box;}
#logo img {display: block; transition: .2s;}
#logo a {display: table-cell; vertical-align: middle;}
#logo img:hover {box-shadow: 0 0 12px 2px rgba(255, 255, 200, 0.6), 0 0 30px 6px rgba(255, 255, 180, 0.4), 0 0 60px 10px rgba(255, 255, 150, 0.25);}

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

@media (min-width: 1101px) {#logo, #logo img {width: 220px; max-width: 220px;}}
@media (max-width: 1100px) {#logo, #logo img {width: 200px; max-width: 200px;} #logo img {height: 153px;}}

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

@media (max-width: 705px) and (min-width: 501px) {#logo, #logo img {width: 180px; max-width: 180px;}}
@media (max-width: 705px) and (min-width: 361px) {#logo {margin: 0 0 0 25px;}}
@media (max-width: 530px) {#phone span {display: none;}}
@media (max-width: 500px) {#headtop {border-top: 1px solid #000;} /*always 500px*/}
@media (max-width: 500px) and (min-width: 361px) {
#headerback, header {height: 120px;} #logo, #logo img {width: 160px; max-width: 160px;} #logo img {height: 122px;}
}
@media (min-width: 361px) {
header, #logo {position: fixed;} #headtop {background-color: var(--gold);} #logo img {border-radius: 10px; border: 3px solid var(--gold);}
}
@media (max-width: 360px) {
#headtopback, #headtop {height: 55px;} #headtop {background-color: #7C561B;} #headerback, header {height: 15px;}
#phone {padding: 6px 0; text-align: left;} #phone a {display: block; line-height: 1.5; margin: 0; color: #FFF !important;}
#logo {margin: 10px auto 0 auto; padding: 0 20px;}
#logo, #logo img {width: 190px; max-width: 190px;} #logo img {height: 145px;}
}

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

/*MENU*/

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

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

@media (min-width: 1641px) {
nav a {padding: 0 30px; font-size: 18px;}
nav section:last-child div a {padding: 0 33px;} /*makes shorter menu section wider - don't do div, or it puts spaces between divs*/
nav a br {display: none;}
}
@media (max-width: 1640px) and (min-width: 1036px) {
nav {max-width: 1300px !important;} nav a {padding: 0 25px; font-size: 17px;} nav section:last-child div a {padding: 0 28px;}
nav a br {display: inline;}
}
@media (max-width: 1370px) and (min-width: 1036px) {nav {width: 95%;}}
@media (max-width: 1200px) and (min-width: 1036px) {nav a {padding: 0 18px;} nav section:last-child div a {padding: 0 21px;}}
@media (min-width: 1036px) {
.ham {display: none;}
nav {position: fixed; left: 0; right: 0; text-align: center; margin: auto; max-width: 1500px;}
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; -webkit-transition: .2s;} /*must be grid for old Safari*/
}

@media (max-width: 1035px) {
nav {position: absolute;}
nav a {display: table-cell; width: 1%; vertical-align: middle; text-align: center; font-size: 0; opacity: 0; height: 0;}

#navcheck:checked ~ .ham div {width: 0; transform: rotateX(180deg); transition-timing-function: ease;}
#navcheck:checked ~ .ham div:before {-webkit-transform: rotateZ(37deg); top: 0;}
#navcheck:checked ~ .ham div:after {-webkit-transform: rotateZ(-37deg); top: 0;}

.ham, .ham * {-webkit-touch-callout: none; -webkit-user-select: none; user-select: none; touch-action: manipulation;}
.ham {position: absolute; z-index: 600; display: table; height: 30px; width: 45px; 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;}
.ham div:before {top: -11px;} .ham div:after {top: 11px;}
.ham div, .ham div:before, .ham div:after, #navcheck:checked ~ .ham div:before, #navcheck:checked ~ .ham div:after {background: #FFF;}
}

@media (max-width: 1035px) and (min-width: 501px) {
nav {max-width: 290px; right: 0; background-color: rgba(10, 10, 10, 0.9); height: 100vh; margin-top: 78px; 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((33vh / 6) + 5vmin); border-bottom: 1px solid var(--tan);}
nav a {white-space: nowrap; padding: 0 8px; transition: .45s; -webkit-transition: .45s font-size ease-in-out, .15s background, .3s box-shadow;}
nav a br {display: none;} .ham {top: 14px;}

#navcheck:checked ~ nav {margin-right: 0; display: block !important;}
#navcheck:checked ~ nav a {font-size: 20px; opacity: 1; height: inherit;}
}
@media (max-width: 705px) {.ham {right: 15px;}}
@media (max-width: 500px) {
nav {text-align: center; visibility: hidden; margin: 120px 0 0 -1px; border-bottom: 1px solid var(--tan); font-size: 0; line-height: 0; background-color: #000; transition: box-shadow .15s ease;}
nav section {display: inline;}
nav div {max-height: 0; display: inline-block; width: 50%; transition: .15s ease-in-out; font-size: 0; line-height: 0; padding: 0;}
nav a {padding: 0; -webkit-transition: .15s background, .25s font-size ease-out, .2s opacity ease-out, .25s padding ease-out, .2s height, .2s box-shadow; border-top: 1px solid var(--tan); border-left: 1px solid var(--tan);}
nav a br {display: inline;} .ham {top: 12px;}

#navcheck:checked ~ nav {visibility: visible; z-index: 200; box-shadow: 0 200vh 0 200vh rgba(0,0,0,.85);}
#navcheck:checked ~ nav div {max-height: 70px;}
#navcheck:checked ~ nav a {height: 70px; font-size: 20px; opacity: 1; padding: 0 0 1px 0;}
}

@media (max-width: 360px) {
nav {position: fixed; top: 0; margin-top: 55px;} .ham {top: 0; right: 0; margin-top: 4px; position: fixed;}
nav div {width: 100%;} #navcheck:checked ~ nav a {height: 60px;} nav a br {display: none;}
.ham div:before {top: -9px;} .ham div:after {top: 9px;} .ham, .ham div, .ham div:before, .ham div:after {width: 38px;}
}

nav div:hover:not(div.selected) a {
background-color: var(--gold); color: #000 !important;
box-shadow: 0 0 12px 2px rgba(255, 255, 200, 0.6), 0 0 30px 6px rgba(255, 255, 180, 0.4), 0 0 60px 10px rgba(255, 255, 150, 0.25);
}
nav div.selected {background-color: var(--tan);} nav div.selected a {color: #FFF;}


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

/*Top Pic*/

#toppic {position: relative; overflow: hidden; z-index: 0; border-bottom: 3px solid var(--gold); background-color: #000;}
#toppic img {width: 500px; height: 300px; width: 100%; height: 100%; max-height: 400px; 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%);} .tppl img {filter: brightness(80%) !important;} .tpcl img {filter: brightness(55%) !important;}
}
@media (max-width: 500px) {#toppic {height: 50vw;}}

.tppl img, .tpcl img {object-position: 50% 45%;}

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

/*BODY AREA*/

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

.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.8em; 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, .heading3 {font-weight: 500; line-height: 1.4;}
.heading {font-size: 1.55em;} .heading2, .heading3 {font-size: 1.4em;}

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

ul {margin-left: -15px;} ul li:not(ul li:last-child) {padding-bottom: 15px;} ul span {font-weight: 600;}

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

/*Page Pics*/

.pagepic 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;}}

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

/*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;}
.copy {font-size: 1.1em; font-weight: 500;}

#social, #social a {display: inline-block;}
#social img {height: 32px; width: 32px; display: inline-block; margin: 0 4px -5px 4px;}
@keyframes shake {20% {-webkit-transform: rotateZ(-8deg);} 80% {-webkit-transform: rotateZ(8deg);}}
#social img:hover {-webkit-animation: shake .16s 5;}

.web {padding-top: 5px; font-size: 12px; line-height: 1.5; color: #DDD;}
.web a {text-decoration: none; color: inherit; white-space: nowrap;} .web a:hover span {color: #F65246;}
.web img {vertical-align: top; margin: 2px 1px 0 2px;}

#totop {position: fixed; right: 14px; bottom: 12px; z-index: 100; width: 28px; height: 28px; display: grid; align-items: center; justify-content: center; text-decoration: none; font-family: Arial, sans-serif; font-size: 24px; color: #999 !important; line-height: 0; transform: rotate(270deg);}

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

/*COLORS*/

:root {--gold: #F3C444; --tan: #B77C1F; --ylw: #FEE264; --brown: #563D17;}

body, header {background-color: #000;} header {background-color: #020D1C;}
body {color: #FFF;} #phone, #phone a {color: #000;} .bodyhead {color: var(--tan);}
.heading {color: var(--ylw);} .heading2 {color: var(--tan);} .heading3 {color: #FFEEA4;}

footer {background-color: #222; border-top: 3px solid var(--brown);} footer, footer a {color: #FFF !important;}
