/* Native navigation and responsive fixes; no JavaScript dependency. */
html { scroll-behavior: smooth; }
body { color: #656565; overflow-anchor: none; }
img { max-width: 100%; height: auto; }
a:focus-visible, summary:focus-visible { outline: 3px solid #c80026; outline-offset: 4px; }
.skip-link { position: absolute; top: -100px; left: 12px; z-index: 3000; padding: 12px; background: #fff; }
.skip-link:focus { top: 12px; }
#content:focus { outline: none; }
#nav { display: flex; flex-wrap: nowrap; list-style: none; }
#nav > li { display: block; float: none; }
#nav > li > a > .subheader { color: #aaa; }
#masthead h1.head { display: inline; margin: 0; font-weight: normal; line-height: 69px; }
.home-hero { position: relative; margin-top: -38px; background: #c0daf1; box-shadow: 0 0 4px rgba(0,0,0,.5); }
.home-hero img { display: block; width: 100%; }
.map-frame { display: block; width: 100%; height: 300px; border: 0; margin-bottom: 16px; }
.map-link { text-decoration: underline; }
#page-content-full, #page-content, .two-third, #sidebar { overflow-wrap: anywhere; }
#mobile-nav-holder nav { float: none; line-height: 1.5; }
#mobile-nav { display: block; padding: 4px 0 12px; }
.mobile-menu > summary { padding: 12px 16px; cursor: pointer; color: #fff; font-size: 15px; }
footer a#to-top { display: block; }
table.customers { width: 100%; table-layout: fixed; }
table.customers td { width: 33.333%; }
table.customers td img { display: block; max-width: 100%; height: auto; }
@media (min-width: 768px) and (max-width: 991px) {
  .wrapper { width: calc(100% - 32px); padding: 0; }
  #main { width: calc(100% - 32px); padding: 0; }
  #main #content { width: 100%; }
  header { height: 180px; }
  header nav { display: none; }
  #mobile-nav-holder { display: block; }
  #logo { float: none; padding-top: 46px; }
  #logo img { display: block; margin: 0 auto; }
  .shadow-main, .shadow-slider { max-width: 100%; margin-left: 0; background-size: 100% auto; }
  #nav > li > a { padding-left: 6px; padding-right: 6px; font-size: 10px; }
  #nav > li > a > .subheader { display: none; }
  .two-third { width: 60%; margin-right: 3%; }
  #page-content-full #sidebar { width: 32%; margin-left: 0; }
}
@media (max-width: 767px) {
  .wrapper, #main, #main #content { width: 100%; padding-left: 0; box-sizing: border-box; }
  header { height: 180px; }
  #logo { padding-top: 46px; }
  header nav { display: none; }
  #mobile-nav-holder { display: block; }
  #mobile-nav-holder nav { display: block; }
  #mobile-nav-holder .wrapper { width: 100%; }
  #page-content-full, #page-content { width: auto; margin: 24px 20px 0; }
  .two-third { float: none; width: 100%; margin: 0 0 24px; }
  #sidebar, #page-content-full #sidebar { float: none; width: auto; margin: 24px 20px; }
  #page-content-full #sidebar { margin-left: 0; margin-right: 0; }
  #masthead { padding-left: 20px; }
  #masthead h1.head { font-size: 16px; }
  #footer-cols > li { float: none; width: auto; margin: 0 20px; }
  #footer-cols > li:empty { display: none; }
  .shadow-main, .shadow-slider { max-width: 100%; margin-left: 0; background-size: 100% auto; }
  table.customers td { padding: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
