/* Shared layout without a page-builder runtime. */
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
.page-content { width: 100%; }
.page-content *, .page-content *::before, .page-content *::after,
.header-layout *, .footer-layout * { box-sizing: border-box; }
.page-content a { box-shadow: none; text-decoration: none; }
.page-content hr { margin: 0; background-color: transparent; }
.page-content img { height: auto; border: none; border-radius: 0; box-shadow: none; }
.page-content iframe, .page-content video { max-width: 100%; width: 100%; margin: 0; line-height: 1; border: none; }
.header-layout { width: 100%; }
.header-row {
  display: flex;
  align-items: center;
  max-width: 1240px;
  width: 100%;
  margin: 0 auto;
}
.header-logo { width: 20%; padding: 0 10px; }
.header-logo img { width: 170px !important; height: 73px !important; }
.header-navigation { position: relative; display: flex; justify-content: center; width: 60%; padding: 0 10px; }
.header-actions { display: flex; justify-content: flex-end; align-items: center; width: 20%; padding: 0 10px; }
.header-navigation .top-menu-nav-inner { justify-content: center; }
.layout-section { position: relative; }
.layout-row { display: flex; position: relative; margin-left: auto; margin-right: auto; }
.layout-boxed > .layout-row { max-width: 1140px; }
.layout-column { position: relative; min-height: 1px; width: 100%; display: flex; flex-direction: column; }
.layout-gap-default > .layout-column { padding: 10px; }
.layout-col-33 { width: 33.333%; }
.layout-col-50 { width: 50%; }
.layout-col-66 { width: 66.667%; }
.layout-col-100 { width: 100%; }
.footer-layout { position: relative; background-color: #242632f2; }
.footer-map { padding: 0; }
.footer-map iframe { max-width: 100%; width: 100%; margin: 0; line-height: 1; border: none; }
.footer-details { background-color: #00000026; padding: 10px 0 50px; }
.footer-row { display: flex; max-width: 1240px; margin: 0 auto; }
.footer-legal, .footer-brand { width: 50%; padding: 10px; color: #8588a2; }
.footer-brand { text-align: right; }
.page-booking .footer-details { min-height: 115px; }
.legacy-availability { display: none !important; }
.page-home .knsl-uni-slider .mphb-room-type { padding-bottom: 46px; }
.page-home .knsl-transition-top.knsl-p-0-100 { padding-bottom: 61px; }
/* Keep the photo viewer anchored to the viewport when page images finish loading. */
.lightboxOverlay { position: fixed; inset: 0; width: 100% !important; height: 100% !important; }
.lightbox { position: fixed; top: 50% !important; left: 0; transform: translateY(-50%); }
@media (max-width: 1024px) {
  .header-row, .footer-row { max-width: 960px; }
  .layout-boxed > .layout-row { max-width: 1024px; }
}
@media (max-width: 991px) {
  .header-navigation { padding: 0; }
  .header-logo { width: 45%; }
  .header-actions { width: 45%; margin-left: auto; }
}
@media (max-width: 767px) {
  .header-logo { padding: 0 10px; }
  .header-navigation { width: 10%; }
  .layout-row { flex-wrap: wrap; }
  .layout-column { width: 100%; }
  .layout-boxed > .layout-row { max-width: 767px; }
  .footer-row { flex-wrap: wrap; }
  .footer-legal, .footer-brand { width: 100%; text-align: center; }
}
