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

:root {--body-font: 19px/1.5 'Golos', Arial, Helvetica, sans-serif;}

/*body {font: var(--body-font);}*/


@font-face {font-family: 'Golos'; font-style: normal; font-weight: 400; font-display: block;
  src: url('fonts/golos-text-400.woff2') format('woff2'), url('fonts/golos-text-400.woff') format('woff');
}
@font-face {font-family: 'Golos'; font-style: normal; font-weight: 500; font-display: block;
  src: url('fonts/golos-text-500.woff2') format('woff2'), url('fonts/golos-text-500.woff') format('woff');
}
@font-face {font-family: 'Golos'; font-style: normal; font-weight: 600; font-display: block;
  src: url('fonts/golos-text-600.woff2') format('woff2'), url('fonts/golos-text-600.woff') format('woff');
}
@font-face {font-family: 'Golos'; font-style: normal; font-weight: 700; font-display: block;
  src: url('fonts/golos-text-700.woff2') format('woff2'), url('fonts/golos-text-700.woff') format('woff');
}
@font-face {font-family: 'Golos'; font-style: normal; font-weight: 800; font-display: block;
  src: url('fonts/golos-text-800.woff2') format('woff2'), url('fonts/golos-text-800.woff') format('woff');
}


body {font-family: 'Golos', 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; background-color: #FF0;}
a, a:visited {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*/

/*#headtopback {outline: 4px solid red} #headtop {outline: 1px solid orange}
#headerback {outline: 4px solid purple} #headertext {outline: 1px solid cyan}
header {border: 1px solid colordark;} #logo {border: 1px solid red} #logo img {border: 1px solid magenta} #phone {border: 2px solid green}*/

#headtopback, #headerback {position: fixed; left: 0; right: 0;}
#headtopback {top: 0;} #headerback {z-index: 1;}
#headtopback, #headtop {height: 40px;} #headtop {display: table;}
#headtopback, #headtop, header {display: table; width: 100%; margin: auto; z-index: 2;}
#headtopback {z-index: 2;}
#headtop, header {max-width: 1300px;}
#headertext {font-size: 16px; line-height: 1; vertical-align: middle; padding-top: 0; text-align: left; white-space: nowrap; display: table-cell; vertical-align: middle;}

header {position: relative; height: 88px; text-align: center; box-sizing: border-box;}
#headerback {box-shadow: 0 3px 7px -5px #000;}
#logo {margin-top: 25px;} #logo img {display: block;}
#logo, #logo img {width: 300px;} #logo img {height: auto /*sdf*/;}

#phone {display: table-cell; vertical-align: middle; font-size: 20px; line-height: 1; font-weight: 500; text-align: right; white-space: nowrap; padding-top: 0;}
#phone span {font-size: 17px; margin: 0 4px 4px 0; font-weight: 400;}

@media (max-width: 1370px) and (min-width: 501px) {#logo {margin-left: 30px;} #headertext {padding-left: 30px;} #phone {padding-right: 30px;}}
@media (min-width: 1036px) {#homepic, #toppic {margin-top: 127px;}}
@media (max-width: 1035px) {#logo, #logo img {width: 260px;} header {height: 80px;} #homepic, #toppic {margin-top: 120px;}}
@media (min-width: 681px) {#headerback {top: 40px;}}
@media (max-width: 680px) {
#headertext {line-height: 1.4;} #headertext span {display: block;}
#headtopback, #headtop {height: 60px;} #headerback {top: 60px;} #homepic, #toppic {margin-top: 140px;}
}
@media (max-width: 530px) and (min-width: 401px) {#phone span {display: none;}}
@media (max-width: 500px) and (min-width: 401px) {#logo {margin-left: 20px;} #phone {padding-right: 20px;}}
@media (max-width: 500px) and (min-width: 401px) {#headertext {padding-left: 20px;}}
@media (max-width: 400px) {
#headertext {display: none;} header {height: 120px;} #logo {margin: 20px auto 0 auto;}
#headtopback, #headtop {height: 40px;} #phone {padding: 0; text-align: center; margin: auto;}
#headerback {top: 40px;} #homepic, #toppic {margin-top: 160px;}
}

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

/*MENU*/

/*.navheader {outline: 1px solid orange} nav {outline: 1px solid red} nav div {outline: 1px solid cyan}
nav a {outline: 1px solid magenta} .ham {outline: 1px solid yellow}*/

.navheader, .navheader * {box-sizing: border-box;}
.navheader {top: 0; height: 100%; align-content: center;}

#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; font-weight: 400;}

@media (max-width: 1370px) and (min-width: 1011px) {.navheader {padding-right: 20px;}}
@media (min-width: 1111px) {nav a {padding: 5px 10px 7px 10px; font-size: 17px;}}
@media (max-width: 1110px) and (min-width: 1011px) {nav a {padding: 5px 7px 7px 7px; font-size: 16px;}}

@media (min-width: 1011px) {
.ham {display: none;} /* not working in old Safari: .navheader {position: absolute; right: 0;}*/
.navheader {position: absolute; right: 0; display: flex; align-items: center;}
nav {display: inline-block; text-align: right; padding-top: 2px;}
nav div {display: inline-table; vertical-align: middle; text-align: center; height: 50px;}
nav a {text-align: center; height: inherit; vertical-align: middle; line-height: 1.2; transition: .15s; border-radius: 8px;}
nav a.selected {text-decoration: underline;}
nav span {display: block;}
}

@media (max-width: 1010px) {
.navheader {margin-top: 19px; left: 0; right: 0; height: 0;}

nav {position: relative; display: grid; grid-template-columns: repeat(5, 1fr); text-align: center; font-size: 0; line-height: 0; top: 0; margin: auto; padding: 5px 25px;}

nav div {display: block; /*width: 100%;*/ height: 0; overflow: hidden; transition: height .25s ease; font-size: 0; line-height: 0; padding: 0;}
/*nav div:last-child {display: none;}*/

nav a {display: table-cell; width: 1%; vertical-align: middle; height: 60px; opacity: 0; font-size: 0; line-height: 1.25; padding-bottom: 1px; transition: .3s font-size ease, .2s opacity ease, .1s background; border-radius: 8px;}

.ham, .ham * {-webkit-touch-callout: none; -webkit-user-select: none; user-select: none; touch-action: manipulation;}
.ham {position: absolute; display: table; height: 50px; width: 59px; top: 0; right: 22px; margin-top: 15px; padding: 10px; box-sizing: border-box;}
.ham:hover {cursor: pointer;}
.ham span {top: 24px; left: 10px; -webkit-transition: -webkit-transform 0.35s ease-out;}
.ham span, .ham span:before, .ham span:after {position: absolute; display: block; content: ""; height: 3px; width: 38px; opacity: 1; background: var(--blue); border-radius: 1px;}
.ham span:before {top: -10px;} .ham span:after {top: 10px;}

/*old Safari doesn't support "has": .navheader:has(#navcheck:checked) {height: auto;}*/

#navcheck:checked ~ nav {box-shadow: 0 3px 7px -3px #000;}
#navcheck:checked ~ nav div {height: 60px; margin: 5px;}
#navcheck:checked ~ nav a {font-size: 18px; opacity: 1;}

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

nav span {display: block;}
}

@media (max-width: 1010px) and (min-width: 691px) {nav div:first-child, nav div:last-child {grid-column:1 / -1;}}
@media (max-width: 1010px) and (min-width: 421px) {
#navcheck:checked ~ nav div {height: 70px;}
nav div, #navcheck:checked ~ nav div, nav a {height: 60px;}
nav div, #navcheck:checked ~ nav div:first-child, #navcheck:checked ~ nav div:last-child, #navcheck:checked ~ nav div:first-child a, #navcheck:checked ~ nav div:last-child a {height: 45px;}
}

@media (max-width: 690px) and (min-width: 421px) {
nav {grid-template-columns:repeat(6, 1fr); text-align:center; font-size:0; line-height:0; top:0; margin:auto; padding:5px 25px;}
nav div:first-child, nav div:last-child {grid-column:span 6;}
nav div:nth-child(2), nav div:nth-child(3) {grid-column:span 3;}
nav div:nth-child(4), nav div:nth-child(5), nav div:nth-child(6) {grid-column:span 2;}
nav div:nth-child(2) span, nav div:nth-child(3) span {display: inline;}
}
@media (max-width: 500px) {nav {padding: 5px 15px;}}
@media (max-width: 420px) {
nav {grid-template-columns: repeat(2, 1fr);} #navcheck:checked ~ nav div {margin: 4px;}
nav div:first-child {grid-column:1 / -1;}
#navcheck:checked ~ nav div {height: 70px;}
#navcheck:checked ~ nav div, nav a {height: 60px;}
#navcheck:checked ~ nav div:first-child, #navcheck:checked ~ nav div:first-child a {height: 45px;}
}
@media (max-width: 400px) {.navheader {margin-top: 63px;}.ham {left: 0; right: 0; margin: 67px auto 0 auto;}}


/*colors*/

@media (min-width: 1011px) {
nav a {color: var(--blue) !important;}
nav a:hover:not(.selected) {background-color: var(--navback); color: var(--colormain) !important;}
}
@media (max-width: 1010px) {
/*old Safari doesn't support "has": .navheader:has(#navcheck:checked) {background-color: var(--colordark);}*/
#navcheck:checked ~ nav {background-color: var(--colordark);}
nav a {background-color: var(--bluedark); color: #FFF !important;}
nav .selected {background-color: #540D1F;}
nav a:hover:not(.selected) {background-color: #425E9A;}
}

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

/*Big Top Pic*/

#toppic {position: relative; overflow: hidden; z-index: 0; background-color: #444 /*sdf*/ /*border-bottom: 4px solid #FF0;*/}
#toppic img {display: block; width: 500px; height: 300px; width: 100%; max-height: 320px; object-fit: cover; object-position: 50% 50%;}

.caption {position: absolute; display: table-cell; left: 5%; right: 5%; text-align: center; top: 50%; transform: translateY(-50%); z-index: 1; margin: 0 auto; color: #FFF;}
.caption h1 {font-weight: 500; font-size: 4.7em; line-height: 1.15; text-shadow: 1px 1px 2px #000;}

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




#toppic.tpresid {background-color: #222 /*sdf*/;}
#toppic.tpresid img {object-position: 50% 65%;}

#toppic.tpcomm {background-color: #222 /*sdf*/;}
#toppic.tpcomm img {object-position: 50% 35%;}
@media (max-width: 600px) {#toppic.tpcomm img {object-position: 80% 15%;}}

#toppic.tpfire {background-color: #222 /*sdf*/;}
#toppic.tpfire img {object-position: 0% 0%;}
@media (max-width: 550px) and (min-width: 531px) {#toppic.tpfire img {object-position: 10% 0%;}}
@media (max-width: 530px) {#toppic.tpfire img {object-position: 10% 0%;}}
@media (max-width: 380px) {#toppic.tpfire img {object-position: 20% 0%;}}

#toppic.tpsurv {background-color: #222 /*sdf*/;}
#toppic.tpsurv img {object-position: 0% 20%; filter: brightness(75%);}
#toppic.tpsurv .topcap::before {background: rgba(0, 0, 0, 0.6);}

#toppic.tpaccess {background-color: #222 /*sdf*/;}
#toppic.tpaccess img {filter: brightness(75%);}
#toppic.tpaccess .topcap::before {background: rgba(0, 0, 0, 0.3);}

#toppic.tpcab {background-color: #222 /*sdf*/;}
#toppic.tpcab img {filter: brightness(45%);}
#toppic.tpcab .topcap::before {background: rgba(0, 0, 0, 0.3);}

#toppic.tbabout {background-color: #222 /*sdf*/;}
#toppic.tbabout img {object-position: 30% 40%;}
#toppic.tbabout img {filter: brightness(55%);}
#toppic.tbabout .topcap::before {background: rgba(0, 0, 0, 0.3);}
@media (max-width: 500px) {#toppic.tbabout img {object-position: 0% 100%;}}


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

/*BODY AREA*/

.bodyarea {padding: 45px 0 35px 0; margin: auto; max-width: 1300px;}
.bodyarea, h2 {font: var(--body-font);}

@media (max-width: 1370px) {.bodyarea {margin-left: 30px; margin-right: 30px;}}
@media (max-width: 500px) {.bodyarea {margin-left: 20px; margin-right: 20px;}}

.bodyhead, .bodyhead2 {font-size: 36px; line-height: 1.15; font-weight: 500;}
.bodyhead {text-align: center; padding-bottom: 20px;} .bodyhead2 {text-align: left;}
h1, h2, h3, h4 {margin: 0;} h2 {margin-bottom: 20px;}

.divide:not(.divide:first-of-type) .bodyarea {padding-top: 50px;}
.divide:nth-of-type(even) {background-color: #EEE;}
.divide .heading {margin: 0 0 20px 0;}

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

.heading, .heading2, .heading3 {font-weight: 500; line-height: 1.3;} .heading {font-size: 1.5em;}
.heading2 {font-weight: 500; font-size: 1.25em;} .heading3 {font-weight: 500; font-size: 1.2em; font-style: italic;}

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

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

/*Page Pics*/

.pagepic img {border-radius: 3px; width: 500px; height: 300px; width: 100%; height: auto; display: block;}
/*.pagepic h3, .pagepic p {font-size: .9em; line-height: 1.45; margin: 10px auto 0 auto !important; text-align: center; font-weight: 400 !important;}*/
.picwide {max-width: 500px;} .pictall {max-width: 350px;}
.picleft {float: left; margin: 10px 50px 30px 0;} .picright {float: right; margin: 10px 0 30px 50px;}
@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;}}

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

/*Blocks on service pages*/

#blocks48, #blocks49, #blocks48numb {margin: 30px auto 30px auto; text-align: center;}
#blocks48 *, #blocks49 *, #blocks48numb * {box-sizing: border-box;}
#blocks48 div, #blocks48numb div {line-height: 1.55; text-align: left; background-color: #EEE; border: 2px solid var(--colordark); border-radius: 8px;}

#blocks48numb {max-width: 1100px;} #blocks48numb div {background-color: #FFF;}

#blocks48 div > span {display: block; padding: 15px 25px 20px 25px;}
#blocks48 div > span:first-child {display: block; margin: 0; line-height: 1.3; font-weight: 500; background-color: var(--colordark); color: #FFF; border-radius: 6px 6px 0 0; font-size: 22px; padding: 10px 20px 12px 20px;}

#blocks49 div {display: block; text-align: left; font-size: .95em; line-height: 1.35; color: #FFF; padding: 10px 20px 12px 20px; border-radius: 8px; background-color: var(--colordark);}

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

/*BOTTOM AREA*/

/*#footerinside {outline: 1px solid yellow} .footerintro img {outline: 1px solid colordark} #footerback {outline: 1px solid cyan}
.footerintro {outline: 3px solid red} .footerintro p {outline: 1px solid red}
.footercol {outline: 1px solid magenta} .contact {outline: 1px solid green} .contact img {outline: 1px solid yellow}
.servicelinks {outline: 1px solid colordark}*/

:root {--fbord: 1px solid rgba(255, 255, 255, 0.2);}

#footer {background: #222; color: #DDD; font-size: 16px; line-height: 1.5;}
#footer a {color: #DDD; text-decoration: none;}
#footer * {box-sizing: border-box;}

#footerback {max-width: 1000px; margin: auto; padding: 0 34px;}

#footerinside {display: grid; grid-template-columns: 260px 1fr 235px; padding: 60px 0 47px 0;}

.footerintro .btmlogo img {display: block; width: 260px; height: auto /*sdf*/; margin-bottom: 22px;}
.footerintro .lic {font-size: 14px;}
.footerintro .wqa img {display: block; width: 131px; height: 121px; margin: 25px auto 0 auto;}

.footerhead {margin: 5px 0 18px 0; font-weight: 500; font-size: 28px; letter-spacing: .5px; color: #C92239;}

.footercol a {display: block; margin: 0 0 10px 0;}

.services {width: max-content; max-width: 100%; justify-self: center;}
.servicelinks a {display: block; position: relative; margin: 0 0 10px 0; padding-left: 13px; line-height: 1.3;}
.servicelinks a:before {content: "\2022"; position: absolute; left: 0; top: 0; color: #FFF;}
.servicelinks a:hover, .btmemail a:hover {color: #FFF !important; text-decoration: underline !important;}

.contact p {margin: 0 0 13px 0;} .contact p a {display: inline; margin: 0;}
.contact img {width: 22px; height: 22px; margin-right: 9px; vertical-align: -6px;}
.contact .phlink {font-size: 19px;}

.btmhrs {position: relative; padding-left: 30px; white-space: nowrap;}
.btmhrs img {width: 20px; height: 20px; position: absolute; left: 0; top: 0;}

.contact .btmaddr {position: relative; padding-left: 30px; white-space: nowrap;}
.contact .btmaddr img {position: absolute; left: 0; top: 0;}

#footerbottom {border-top: 1px solid #000; padding: 31px 0 32px 0; font-size: 15px;}
#footerbottom p {margin: 0 auto; color: #AAA;}

@media (max-width: 900px) and (min-width: 831px) {
#footerinside {grid-template-columns: 200px 1fr 235px;} .servicelinks {grid-column-gap: 35px;}
.footerintro .btmlogo img {width: 180px; height: auto /*sdf*/;}
}

@media (max-width: 830px) {
#footerinside {grid-template-columns: 1fr; grid-row-gap: 45px;}
.footerintro {max-width: 300px; margin: 0 auto; text-align: center;} .footerintro img {margin: 0 auto 21px auto;}
.footerhead {text-align: center;}
.services, .contact {width: max-content; max-width: 100%; margin: 0 auto;}
.services {grid-column: auto;}
}
@media (min-width: 716px) {#footerbottom {display: grid; grid-template-columns: 1fr auto;} #footerbottom p:last-child {text-align: right;}}
@media (max-width: 715px) {#footerbottom {display: block; text-align: center; padding: 31px 25px 32px 25px;}}

@media (max-width: 350px) {.footerintro .btmlogo img {width: 230px; height: auto /*sdf*/;}}

.web {padding: 20px 25px 20px 25px; font-size: 13px; line-height: 1.5; text-align: center; margin: auto; color: #AAA; background-color: #000;}
.web a {text-decoration: none; color: inherit; white-space: nowrap;} .web a:hover span {color: #F65246;}
.web img {vertical-align: top; margin: 1px 0 0 0; width: 23px; height: 15px;}

#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; -webkit-filter: drop-shadow(0 0 4px rgba(0,0,0,0.55)); filter: drop-shadow(0 0 4px rgba(0,0,0,0.55)); cursor: pointer;} /*keep -webkit for old Safari*/
#totop:hover {opacity: 1;}

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

/*COLORS*/

:root {--colordark: #972031; --colormain: #B92239; --blue: #3E62AD; --bluelite: #5888F9; --bluedark: #223867; --colorback: #EBEDF0; --navback: #DBE2EB; --pale: #A2BADD;}

body {color: #333;}
#headtopback {background-color: var(--colordark);}
body, #headerback, header {background-color: #FFF;}
#headertext, #phone, #phone a {color: #FFF;}
.bodyhead {color: var(--colormain);} .heading2 {color: #555;}
