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

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

body {font-family: 'RFDewi', Arial, Verdana, Geneva; font-variant-ligatures: none; letter-spacing: .3px;}

#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 {outline: none; color: var(--tan);} 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;} #social {border: 2px solid yellow} #phone {border: 2px solid green}
#logo {border: 1px solid red} #logo img {border: 1px solid magenta}*/

#headtopback, #headtop {height: 40px;} #headtop, header {display: table; width: 100%; margin: auto; z-index: 2;}
header {box-shadow: 0 5px 7px -5px #000; text-align: center; box-sizing: border-box; border-bottom: 4px solid #333;}
#social {text-align: right; width: 130px; white-space: nowrap;} #social a {margin: 0 1px;}

#logo {position: absolute; z-index: 1;} #logo img {display: block;}

@media (min-width: 2156px) {#headtop, header, .navheader {padding: 0 15%;}}
@media (max-width: 2155px) {#headtop, header, .navheader {padding: 0 12%;}}
@media (max-width: 1980px) {#headtop, header, .navheader {padding: 0 8%;}}
@media (max-width: 1490px) {#headtop, header, .navheader {padding: 0 3%;}}
@media (max-width: 1030px) {#headtop, header, .navheader {padding: 0;} #phone, #social {padding-right: 3%;}}

#phone {display: block; font-size: 20px; line-height: 1; right: 0; padding-top: 8px; text-align: right; white-space: nowrap;}
#phone, #phone a {font-weight: 500;} #phone a {color: var(--limegreen) !important;}
#phone span:first-of-type {font-size: .9em; font-weight: 400; margin: 0 5px;}
#phone span:last-of-type {font-size: .85em; font-weight: 400; margin: 0 3px 0 8px;}

@media (min-width: 1161px) {#headerback, header {height: 105px;}}
@media (max-width: 1160px) {#headerback, header {height: 125px;}}
@media (min-width: 1031px), (max-width: 680px) and (min-width: 501px) {#logo, #logo img {width: 170px; height: 139px;}}
@media (max-width: 1030px) {#headerback, header {height: 105px;}}
@media (max-width: 1030px) and (min-width: 681px) {#logo, #logo img {width: 150px; height: 122px;}}
@media (max-width: 785px) {#phone span:first-of-type {display: none;}}
@media (min-width: 681px) {#logo {margin-top: -27px;}}
@media (max-width: 680px) {
#logo {margin-top: -70px;} #phone {font-size: 22px; line-height: 1.45;} #phone a {display: block;}
#phone span:last-of-type {display: none;} #headtopback, #headtop {height: 83px;} #headerback, header {height: 82px;}
}
@media (min-width: 511px) {#headtop, header {position: fixed;}}
@media (min-width: 501px) {#logo {margin-left: 15px;}}
@media (max-width: 500px) {
#logo, #logo img {width: 150px; height: 122px;} #logo {margin-left: 10px;}
#headerback, header {height: 65px;} #phone {font-size: 20px; padding-top: 7px;}
}
@media (max-width: 460px) {
#logo, #logo img {width: 130px; height: 106px;} #logo {margin-top: -65px;}
#headerback, header {height: 52px;} #phone {font-size: 20px; padding-top: 7px; padding-right: 5px;} #headtopback, #headtop {height: 74px;}
}

#social img {height: 26px; width: 26px; display: inline-block; margin: 0 1px -5px 1px;}
@keyframes shake {20% {-webkit-transform: rotateZ(-8deg);} 80% {-webkit-transform: rotateZ(8deg);}}
#social img:hover {-webkit-animation: shake .16s 5;}
@media (max-width: 435px) {#social {display: none;} #phone {padding-right: 15px;}}

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

/*MENU*/

/*.navheader {border: 1px solid orange} nav {border: 1px solid red} nav div {border: 1px solid cyan} nav a {border: 0px solid blue}*/

a, *:hover {-webkit-tap-highlight-color: transparent;} #navcheck {display: none;}
nav a.selected {cursor: text; pointer-events: none; -webkit-user-select: none; -webkit-touch-callout: none;}
nav a {display: table-cell; text-decoration: none; cursor: pointer; line-height: 1.3; font-weight: 400; -webkit-transition: background .2s, color .1s, font-size .3s; color: #EEE !important;}

@media (min-width: 1161px) {
.navheader {top: 8px; width: 880px;} nav div {height: 35px; padding: 3px;} nav div:after {height: 20px;}
nav div:nth-child(-n+6) {margin-bottom: 2px;} nav div:nth-child(n+7) {margin-top: 2px;}
nav div:first-child:after, nav div:nth-child(7):after {border: 0;}
}
@media (max-width: 1160px) and (min-width: 1031px) {
.navheader {top: 7px; width: 780px;} nav div {height: 50px; padding: 2px;} nav span {display: block;} nav div:after {height: 36px;}
nav div:nth-child(-n+6) {margin-bottom: 2px;} nav div:nth-child(n+7) {margin-top: 2px;}
nav div:first-child:after, nav div:nth-child(8):after {border: 0;}
nav div:nth-child(8) span, nav div:nth-child(11) span {display: inline;}
}
@media (min-width: 1031px) {
.ham {display: none;} .navheader {position: absolute; right: 0; padding-left: 0; text-align: right;}
nav {display: inline-block;}
nav div {display: inline-grid; align-content: center; align-self: center; align-items: center; vertical-align: middle; white-space: nowrap;}
nav div:after {position: absolute; content: ""; margin-left: -5px; border-right: 1px solid #888;}
nav a {font-size: 16px; padding: 3px 11px; text-align: center; height: inherit; align-content: center;}
nav .selected {color: #BBB !important;} nav a:hover {text-decoration: underline; color: #FFF !important;}
}
@media (max-width: 1030px) {
.navheader {left: 0; right: 0;}
nav {position: relative; text-align: center; top: 105px; transition: .15s; height: 0; font-size: 0; box-sizing: border-box; z-index: -1; background-color: var(--darkgreen);}
nav div {display: inline-block; text-align: center; left: 0; right: 0; margin: 0 -2px; font-size: 0; height: 0; opacity: 0; transition: .15s; border: 1px solid transparent;}
nav a {text-align: center; font-size: 0; opacity: 0; height: 0; white-space: nowrap; padding: 1px 8px; border: 1px solid #4D714D; pointer-events: none; background-color: var(--darkgreen);}

#navcheck:checked ~ nav {height: 100%; z-index: 2; box-shadow: 0 8px 10px -2px #000;}
#navcheck:checked ~ nav div {opacity: 1; height: 70px;}
#navcheck:checked ~ nav a {font-size: 20px; opacity: 1; pointer-events: auto; height: 70px; vertical-align: middle; width: 1%;}

.ham {position: absolute; z-index: 600; height: 35px; width: 45px; top: 27px; right: 20px; margin: auto; text-align: center; padding: 0 10px 10px 10px;}
.ham:hover {cursor: pointer;} .ham > div {top: 18px; left: 10px;}

.ham div {top: 22px; 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: var(--limegreen); border-radius: 2px;} .ham div:before {top: -12px;} .ham div:after {top: 12px;}

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

@media (max-width: 1030px) {
#navcheck:checked ~ nav div:first-child, #navcheck:checked ~ nav div:first-child a {height: 50px; padding-bottom: 3px;}
nav div:first-child {width: 100%;}
}
@media (max-width: 1030px) and (min-width: 621px) {
.navheader {margin: 0 -2px;} nav div {width: 25%;} nav span {display: block;}
#navcheck:checked ~ nav div:nth-child(4n+2) a {border-left: none;} #navcheck:checked ~ nav div:nth-child(4n+5) a {border-right: none;}
}
@media (max-width: 680px) {.ham {top: 17px;} nav {top: 81px;}}
@media (max-width: 620px) {
nav div {width: 50%;} #navcheck:checked ~ nav div:nth-child(even) a {border-left: none;}
#navcheck:checked ~ nav div:nth-child(odd) a {border-right: none;}
}
@media (max-width: 540px) {nav span {display: block;}}
@media (max-width: 510px) {.ham {top: 101px;} .navheader {margin: 0 1px;}}
@media (max-width: 500px) {.ham {top: 91px;} nav {top: 64px;}}
@media (max-width: 460px) {.ham {top: 75px; right: 10px;} .ham div:before {top: -11px;} .ham div:after {top: 11px;} nav {top: 51px;}}
@media (max-width: 320px) {#navcheck:checked ~ nav a {font-size: 19px;}}

nav .selected {color: #999 !important;}
@media (min-width: 1031px) {nav a:hover:not(.selected) {color: var(--limegreen) !important;}}
@media (max-width: 1030px) {
nav .selected {background-color: #444; color: #FFF !important;}
nav a:hover:not(.selected) {background-color: var(--limegreen); color: #000 !important;}
}


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

/*BODY AREA*/

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

.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: 500 !important; font-size: 1.6em; line-height: 1.25; text-align: center;}
h1, h2, h3, h4, h5 {margin: 0;}

@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.38em;}}

.heading, .heading2 {font-weight: 500; line-height: 1.35;} .heading {font-size: 1.45em;} .heading2 {font-size: 1.3em;}
.heading3 {font-style: italic; font-size: 1.1em;}

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

ul.thislist {margin-left: -18px;} ul.thislist li:not(ul.thislist li:last-child) {padding-bottom: 15px;} ul.thislist span {font-weight: 500; font-style: italic;}

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

/*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*/

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

.btmareaback {background-color: var(--darkgreen);} .btmarea, .btmarea a {color: #FFF;}
.btmarea {display: grid; justify-content: center; justify-items: center; padding: 50px 0; margin: auto; max-width: 1200px;}
.btmarea .btmlogo p {font-size: 13px;}
.btmarea .btmlogo img {display: block; width: 200px; height: 163px; width: 100%; max-width: 200px; height: auto; margin: 0 auto 20px auto;}
.btmarea .btmhrs tr:first-child td {font-size: 1.1em; font-weight: 500;} .btmarea .btmhrs td {white-space: nowrap;}
.btmarea #btmtxt {line-height: 1.4;}
.btmarea .btmlinks ul {margin-left: -37px; list-style-type: none;} .btmarea .btmlinks a {text-decoration: none; white-space: nowrap;}
.btmarea .btmlinks a:hover {text-decoration: underline;} .btmarea .btmlinks li {}
.btmarea .btmlinks li:not(.btmlinks li:last-child) {padding-bottom: 15px;} .btmarea .btmlinks ul {margin-bottom: 0;}
.btmarea .btmhead {display: block; font-size: 1.7em; font-weight: 500; color: var(--limegreen);}
.btmarea .btmcont {font-size: 15px; line-height: 1.45;} .btmarea .btmcont * {white-space: nowrap;}
.btmarea .btmicons {margin: 20px 0 15px 0;}
.btmarea .btmicons a:not(.btmarea .phlink) {font-size: 16px;} .btmarea .phlink {font-size: 1.4em; font-weight: 500;}
.btmarea .btmicons img {margin: 2px 8px 15px 0; vertical-align: top;} .btmarea .btmicons span:nth-of-type(3) {display: table; margin-top: 10px;}
.btmarea .btmsoc {margin-top: 20px;} .btmarea .btmsoc img {width: 32px; height: 32px; margin: 0 10px 0 0;}

@keyframes shake {20% {-webkit-transform: rotateZ(-8deg);} 80% {-webkit-transform: rotateZ(8deg);}}
.btmarea .btmsoc img:hover {-webkit-animation: shake .16s 5;}

@media (min-width: 1101px) {
.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;}
.btmarea .btmlinks {padding: 0 30px; border-right: 1px solid #4D714D; border-left: 1px solid #4D714D;}
}
@media (max-width: 1100px) {#btmtxt {text-align: center;}}
@media (max-width: 1100px) and (min-width: 786px) {.btmarea section {margin: 0;} .btmarea {max-width: 700px;}}
@media (max-width: 1100px) and (min-width: 751px) {
.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: 0;}
.btmarea .btmcont {grid-column: 2 / 2; grid-row: 2 / 2; padding-right: 0;}

.btmarea .btmlinks {padding-right: 50px; border-right: 1px solid #4D714D;}
}

@media (max-width: 785px) and (min-width: 751px) {.btmarea section {margin: 0 30px;} .btmarea {max-width: 400px;}}
@media (max-width: 750px) {
.btmarea {width: 85%; padding: 20px 0;} .btmarea section {grid-column: 2 / 2; margin: 20px 0;}
}
@media (max-width: 750px) and (min-width: 416px) {.btmarea .btmhead {text-align: center;}}

@media (min-width: 416px) {
.btmarea .btmlinks article {display: table-cell; width: 50%;}
.btmarea .btmlinks article:first-of-type {padding-right: 15px;} .btmarea .btmlinks article:last-of-type {padding-left: 15px;}
}
@media (max-width: 415px) {.btmarea .btmlinks article:first-child ul {margin-top: 30px;}}

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

/*Bottom*/

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

footer {font-size: 14px; line-height: 1.6; padding: 25px 25px 22px 25px; text-align: center; background-color: #111;}
footer, footer a {color: #FFF;} #lic {font-size: .95em; color: #DDD;}
.web, .web a {font-size: 12px; font-family: Arial, Helvetica, sans-serif; color: #BBB !important;}
.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; border: 2px solid rgba(155, 155, 155, 0.4); background-color: rgba(80, 80, 80, 0.4); border-radius: 4px; padding: 0; width: 26px; height: 27px;}
#totop a {display: grid; align-items: center; justify-content: center; justify-items: center; width: 26px; height: 100%; text-decoration: none; font-family: Arial, sans-serif; font-size: 24px; line-height: 1; color: #FFF;}
#totop span {display: inline-block; -webkit-transform: rotate(270deg); transform: rotate(270deg); line-height: 1;}

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

/*COLORS*/

header {background-color: #000;} #headtop {background-color: var(--darkgreen);}
body {color: #DDD; background-color: #262626;} #phone, #phone a {color: #FFF;} .bodyhead {color: var(--limegreen);}
.heading {color: var(--limegreen);} .heading2 {color: var(--tan);}

:root {--limegreen: #A9D177; --tan: #f1e4b5 ; --darkgreen: #224335;}
