/* Compact the archived full-screen scroller into a single accessible page. */
html {
  height: auto !important;
  min-height: 0 !important;
  overflow-x: hidden;
  overflow-y: auto !important;
}

body,
#page-wrapper,
#cbp-fbscroller {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

#cbp-fbscroller > section {
  position: relative;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background-attachment: scroll !important;
}

#cbp-fbscroller > #home { min-height: 720px !important; }
#cbp-fbscroller > #about { min-height: 330px !important; }
#cbp-fbscroller > #team { min-height: 640px !important; }
#cbp-fbscroller > #gallery { min-height: 720px !important; }
#cbp-fbscroller > #blog { min-height: 300px !important; }
#cbp-fbscroller > #prices { min-height: 620px !important; }

/* bxSlider's archived script is unavailable. Keep the exact gallery images,
   but present one frame at a time so 23 full-resolution images do not become
   a 30,000-pixel vertical stack. The domain runtime supplies local controls. */
#gallery .slider,
#gallery .bxslider {
  width: 100%;
  height: 720px !important;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

#gallery .bxslider > li {
  display: none !important;
  width: 100%;
  height: 720px !important;
  margin: 0;
  list-style: none;
}

#gallery .bxslider > li.king-slide-active {
  display: block !important;
}

#gallery .bxslider img {
  display: block;
  width: 100% !important;
  height: 720px !important;
  object-fit: cover;
}

.king-gallery-control {
  position: absolute;
  top: 50%;
  z-index: 5;
  width: 48px;
  height: 48px;
  margin-top: -24px;
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 50%;
  color: #fff;
  background: rgba(0,0,0,.58);
  font: 700 28px/44px Arial, sans-serif;
  text-align: center;
  cursor: pointer;
}

.king-gallery-prev { left: 24px; }
.king-gallery-next { right: 24px; }

.media {
  display: none !important;
}

.king-menu-toggle {
  display: none;
}

a:focus-visible,
button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 3px;
}

@media (max-width: 760px) {
  #cbp-fbscroller > #home { min-height: 480px !important; }
  #cbp-fbscroller > #about { min-height: 260px !important; }
  #cbp-fbscroller > #team { min-height: 610px !important; }
  #cbp-fbscroller > #gallery { min-height: 440px !important; }
  #cbp-fbscroller > #blog { min-height: 240px !important; }
  #cbp-fbscroller > #prices { min-height: 600px !important; }
  #gallery .slider,
  #gallery .bxslider,
  #gallery .bxslider > li,
  #gallery .bxslider img {
    height: 440px !important;
  }

  .king-menu-toggle {
    display: block;
    position: absolute;
    top: 9px;
    right: 14px;
    z-index: 10;
    padding: 7px 13px;
    border: 1px solid #fff;
    border-radius: 3px;
    color: #fff;
    background: #181818;
    font: 700 13px/1 Arial, sans-serif;
    text-transform: uppercase;
    cursor: pointer;
  }

  #king-primary-menu .nav1,
  #king-primary-menu .nav2 {
    display: none;
  }

  #king-primary-menu.menu-open .nav1,
  #king-primary-menu.menu-open .nav2 {
    display: block;
    width: 100%;
  }

  #king-primary-menu.menu-open {
    height: auto;
    padding-top: 56px;
    padding-bottom: 10px;
    background: #181818;
  }

  #king-primary-menu.menu-open .main-nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 16px;
  }
}
