@import url("/assets/www.gelstonhouse.com/fonts/local-fonts.css");
:root {
  --gelston-green: #334908;
  --gelston-green-hover: #4e6128;
  --gelston-green-soft: #545d41;
  --gelston-cream: #faf8f4;
  --gelston-cream-dark: #f0ece3;
  --gelston-gold: #b8956a;
  --gelston-border: #d4dcc4;
}

.ada-skip-links {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.ada-skip-links:focus {
  left: 10px !important;
  top: 10px !important;
  width: auto !important;
  height: auto !important;
  z-index: 10000 !important;
  background: #fff;
  padding: 8px 12px;
}

/* Photo galleries: uniform grid tiles */
.rp-photo-gallery-widget-container {
  width: 100%;
  padding: 0 15px 20px;
}

.rp-photo-gallery-widget-container .oz-gallery-layout-container {
  width: 100%;
  display: block;
}

.rp-photo-gallery-widget-container .oz-gallery-layout-inner-wrapper,
.rp-photo-gallery-widget-container .oz-gallery-layout-column {
  width: 100% !important;
  max-width: 1140px;
  margin: 0 auto;
}

.rp-photo-gallery-widget-container .oz-gallery-layout-column {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  flex-wrap: unset !important;
  justify-content: unset !important;
  align-items: stretch !important;
}

.rp-photo-gallery-widget-container .rp-photo-gallery-widget-image {
  width: 100% !important;
  max-width: none !important;
  flex: unset !important;
  margin: 0 !important;
  box-sizing: border-box;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: 4px;
}

.rp-photo-gallery-widget-container .rp-photo-gallery-widget-img,
.rp-photo-gallery-widget-container .rp-photo-gallery-widget-img-tile {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

.rp-photo-gallery-widget-container .rp-photo-gallery-widget-image-caption {
  display: none !important;
}

@media (max-width: 992px) {
  .rp-photo-gallery-widget-container .oz-gallery-layout-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 576px) {
  .rp-photo-gallery-widget-container .oz-gallery-layout-column {
    grid-template-columns: 1fr;
  }
}

/* Events page promo images */
.gelston-events-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  padding: 30px 15px 10px;
  max-width: 1140px;
  margin: 0 auto;
}

.gelston-events-showcase img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
}

/* Lodging room images */
form.rp-skin .col-md-6 .rp-image-src {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
  border-radius: 4px;
}

/* Header/footer layout cleanup */
#UserMenu1 {
  display: none !important;
}

#w_ijphfz6k {
  display: none !important;
}

#w_kon30itw {
  display: none !important;
}

#footer .rp-hours-of-operation-hour-text-counting-indicator {
  display: none !important;
}

@media (min-width: 992px) {
  .rp-nav-mobile-menu-contact-info-container,
  .rp-nav-mobile-menu-contact-info-store-locations-container,
  .rp-nav-mobile-menu-store-info,
  .rp-nav-mobile-menu-hours-of-operation {
    display: none !important;
  }
}

#footer .rp-social-icons-list-item-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 50px !important;
  height: 50px !important;
  padding: 0 !important;
  line-height: 1 !important;
}

#footer .rp-social-icons-list-item-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  font-size: 22px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
}

#footer .rp-social-icons-list-item-icon:before {
  display: block;
  line-height: 1;
}

#footer #w_kon2meqs > div {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  text-align: center;
}

#footer #w_kon2meqs .rp-html-widget,
#footer #w_kon2pk15-text-editor {
  text-align: center !important;
  width: 100%;
}

#footer .rp-store-info-container,
#footer .rp-store-info-container-center {
  display: flex;
  justify-content: center;
  width: 100%;
}

#footer .rp-store-info-list,
#footer .rp-store-info-list-align-center,
#footer ul.rp-store-info-list {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0 auto;
  padding: 0;
  list-style: none;
  width: 100%;
  max-width: 340px;
  text-align: center;
}

#footer .rp-store-info-list-item,
#footer .rp-store-info-list-item--center {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin: 0;
  padding: 0;
}

#footer .rp-store-info-list-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  min-width: 1.25rem;
  height: 1.25rem;
  flex-shrink: 0;
}

#footer .rp-store-info-list-icon .oi {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  font-size: 1rem !important;
  line-height: 1 !important;
}

#footer .rp-store-info-link {
  display: inline-block;
  line-height: 1.45;
  text-align: center;
}

#footer .rp-join-newsletter-form.is-aligned-center {
  width: 100%;
  max-width: 340px;
  margin: 20px auto 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

#footer .rp-join-newsletter-title {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  margin: 0 auto 12px;
  text-align: center;
}

#footer .rp-join-newsletter-title-icon {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  font-size: 1rem !important;
  line-height: 1 !important;
  flex-shrink: 0;
}

#footer .rp-join-newsletter-title-text {
  text-align: center;
}

#footer .rp-join-newsletter {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}

#footer .rp-join-newsletter-input,
#footer .rp-join-newsletter-button {
  width: 100%;
  max-width: 300px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* Store info on page content */
.rp-store-info-container-center {
  display: flex;
  justify-content: center;
}

.rp-store-info-container-center .rp-store-info-list {
  display: inline-grid;
  grid-template-columns: 1.35rem minmax(0, max-content);
  column-gap: 12px;
  row-gap: 8px;
  align-items: center;
}

.rp-store-info-container-center .rp-store-info-list-item {
  display: contents;
}

.rp-store-info-container-center .rp-store-info-list-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  min-width: 1.35rem;
}

/* Icon fonts (ordereze-icons files were corrupt Wayback HTML) */
@font-face {
  font-family: "FontAwesome";
  src: url("/assets/www.gelstonhouse.com/fonts/fontawesome-webfont.woff2") format("woff2"),
    url("/assets/www.gelstonhouse.com/fonts/fontawesome-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: "Glyphicons Halflings";
  src: url("/assets/www.gelstonhouse.com/fonts/glyphicons-halflings-regular.woff") format("woff"),
    url("/assets/www.gelstonhouse.com/fonts/glyphicons-halflings-regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

.glyphicon {
  font-family: "Glyphicons Halflings" !important;
}

.oi,
.oi:before,
.rp-social-icons-list-item-icon.oi,
.rp-store-info-list-icon .oi,
.rp-join-newsletter-title-icon.oi,
.rp-hours-of-operation-hour-icon .oi {
  font-family: FontAwesome !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.oi-open-table:before,
.oi-zomato:before,
.oi-zagat:before,
.oi-groupon:before {
  content: "\f0f5" !important;
}

.oi-location:before,
.oi-map-location:before,
.oi-map-marker:before {
  content: "\f041" !important;
}

.oi-fax:before {
  content: "\f1ac" !important;
}

.oi-clock-o:before {
  content: "\f017" !important;
}

.oi-angle-down:before {
  content: "\f107" !important;
}

.oi-angle-up:before {
  content: "\f106" !important;
}

.oi-user:before {
  content: "\f007" !important;
}

.oi-sign-in:before {
  content: "\f090" !important;
}

.oi-pencil-square-o:before {
  content: "\f044" !important;
}

/* Directions page */
.gelston-directions-page {
  max-width: 960px;
  margin: 0 auto;
  padding: 36px 20px 56px;
}

.gelston-directions-map-wrap {
  width: 100%;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12);
  margin-bottom: 28px;
}

.gelston-directions-map,
#w_kon5ri6q .rp-directions-map {
  display: block;
  width: 100%;
  height: 420px;
  border: 0;
}

#w_kon5ri6q .lazyload-placeholder {
  display: none;
}

.gelston-directions-card,
#w_kon5ri6q .rp-directions-locations {
  max-width: 520px;
  margin: 0 auto;
  padding: 28px 32px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
  text-align: center;
}

.gelston-directions-title,
#w_kon5ri6q .rp-directions-location-name {
  font-family: "Cinzel", serif;
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0 0 12px;
  color: #334908;
  letter-spacing: 0.02em;
}

.gelston-directions-name {
  font-size: 1.05rem;
  font-weight: 600;
  margin: 0 0 10px;
  color: #222;
}

.gelston-directions-address,
.gelston-directions-phone,
#w_kon5ri6q .rp-directions-location > div {
  font-size: 1rem;
  line-height: 1.6;
  margin: 0 0 6px;
  color: #444;
}

#w_kon5ri6q .rp-directions-locations-link,
.gelston-directions-btn {
  display: inline-block;
  margin-top: 18px;
  padding: 12px 28px;
  background: #334908;
  color: #fff !important;
  border-radius: 4px;
  text-decoration: none !important;
  font-weight: 600;
  letter-spacing: 0.03em;
  transition: background 0.2s ease;
}

#w_kon5ri6q .rp-directions-locations-link:hover,
.gelston-directions-btn:hover {
  background: #4e6128;
  color: #fff !important;
}

#w_kon5ri6q .glyphicon-map-marker {
  margin-right: 6px;
}

/* Gelston House navbar theme */

#header #w_igte8wi3.header,
#header .header {
  background: linear-gradient(180deg, #fffef9 0%, var(--gelston-cream) 100%) !important;
  border-bottom: 3px solid var(--gelston-green);
  box-shadow: 0 4px 18px rgba(51, 73, 8, 0.1);
  position: relative;
  z-index: 1000;
}

#header .rp-nav-wrapper {
  padding: 14px 0 10px;
}

#header .rp-nav-container.is-full-width {
  max-width: 1240px;
}

#header .rp-logo-image,
#header #w_ijpfq468 .rp-logo-image {
  max-height: 96px !important;
  height: auto !important;
  width: auto !important;
  max-width: min(340px, 40vw) !important;
  filter: drop-shadow(0 2px 6px rgba(51, 73, 8, 0.15));
  transition: transform 0.25s ease, filter 0.25s ease;
}

#header .rp-logo a:hover .rp-logo-image {
  transform: scale(1.02);
  filter: drop-shadow(0 4px 10px rgba(51, 73, 8, 0.22));
}

#header .rp-nav-ul.is-position-bottom {
  align-items: flex-end;
  gap: 2px 4px;
  padding-bottom: 4px;
}

#header .rp-nav-item:not(.logo-container) {
  margin: 0 1px;
}

#header .rp-nav-button {
  border-radius: 4px;
  transition: background 0.2s ease;
}

#header .rp-nav-button-link,
#header #w_e2c1d70b .rp-nav-button-link {
  font-family: "Cinzel", Georgia, serif !important;
  font-size: 1.22rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.09em !important;
  color: var(--gelston-green) !important;
  padding: 13px 20px !important;
  border-radius: 4px;
  text-transform: uppercase;
  transition: color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

#header .rp-nav-button-link:hover,
#header .rp-nav-button-link:focus,
#header .rp-nav-item.dropdown.open .rp-nav-button-link,
#header .rp-nav-item.open .rp-nav-button-link,
#header .rp-nav-button:hover .rp-nav-button-link,
#header #w_e2c1d70b .rp-nav-button-link:hover,
#header #w_e2c1d70b .rp-nav-button:hover .rp-nav-button-link,
#header #w_e2c1d70b .rp-nav-item.open .rp-nav-button-link,
#header #w_e2c1d70b .rp-nav-item.dropdown.open .rp-nav-button-link {
  color: #fff !important;
  background: var(--gelston-green-hover) !important;
  text-decoration: none !important;
  box-shadow: 0 3px 10px rgba(51, 73, 8, 0.25);
}

#header .rp-nav-button-link:hover span,
#header .rp-nav-button:hover .rp-nav-button-link span,
#header .rp-nav-item.open .rp-nav-button-link span,
#header .rp-nav-item.dropdown.open .rp-nav-button-link span {
  color: #fff !important;
}

#header .rp-nav-item.dropdown.open .rp-nav-button,
#header .rp-nav-item.open .rp-nav-button,
#header .rp-nav-button:hover {
  background: transparent !important;
}

#header .caret {
  border-top-color: currentColor !important;
  margin-left: 6px;
  vertical-align: middle;
  opacity: 1;
}

#header .rp-nav-button:hover .caret,
#header .rp-nav-item.open .caret,
#header .rp-nav-item.dropdown.open .caret {
  border-top-color: #fff !important;
}

#header .rp-nav-button-dropdown,
#header .dropdown-menu.rp-nav-button-dropdown {
  background: #fffef9 !important;
  border: 1px solid var(--gelston-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 12px 32px rgba(51, 73, 8, 0.18) !important;
  padding: 6px 0 !important;
  margin-top: 8px !important;
  min-width: 230px !important;
  overflow: hidden;
  z-index: 1100;
}

#header .rp-nav-button-dropdown-link {
  font-family: "Jost", "Segoe UI", sans-serif !important;
  font-size: 1.12rem !important;
  font-weight: 500 !important;
  color: var(--gelston-green) !important;
  padding: 12px 24px !important;
  letter-spacing: 0.03em;
  text-align: left !important;
  display: block !important;
  transition: background 0.2s ease, color 0.2s ease;
}

#header .rp-nav-button-dropdown-link span {
  color: inherit !important;
}

#header .rp-nav-button-dropdown li {
  margin: 0 !important;
  padding: 0 !important;
}

#header .rp-nav-button-dropdown-link:hover,
#header .rp-nav-button-dropdown-link:focus {
  background: var(--gelston-green) !important;
  color: #fff !important;
  padding: 12px 24px !important;
  text-decoration: none !important;
}

#header .rp-nav-button-dropdown-link:hover span,
#header .rp-nav-button-dropdown-link:focus span {
  color: #fff !important;
}

#header .rp-nav-row-wrapper {
  position: relative;
}

#header .rp-nav-row-wrapper::after {
  content: "";
  display: block;
  width: min(180px, 28%);
  height: 2px;
  margin: 6px auto 0;
  background: linear-gradient(90deg, transparent, var(--gelston-gold), transparent);
  opacity: 0.75;
}

/* Mobile navigation */
@media (max-width: 991px) {
  #header .rp-nav-mobile-container {
    background: #fffef9 !important;
    border-bottom: 2px solid var(--gelston-green);
    box-shadow: 0 2px 14px rgba(51, 73, 8, 0.12) !important;
    padding: 8px 12px;
  }

  #header .rp-nav-mobile-menu-collapsed,
  #header .rp-nav-mobile-menu-expanded,
  #header .rp-nav-mobile-menu-button {
    color: var(--gelston-green) !important;
  }

  #header .rp-nav-mobile-menu-open,
  #header .rp-nav-mobile-menu-overlay-slidedown {
    background: #fffef9 !important;
    border-left: 3px solid var(--gelston-green);
    box-shadow: 4px 0 24px rgba(51, 73, 8, 0.15);
  }

  #header .rp-nav-mobile-menu-list-item-name-first-level,
  #header .rp-nav-mobile-menu-list-item-name-second-level {
    font-family: "Cinzel", Georgia, serif !important;
    font-size: 1.15rem !important;
    color: var(--gelston-green) !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 600;
  }

  #header .rp-nav-mobile-menu-list-item-first-level:hover,
  #header .rp-nav-mobile-menu-item-open > .rp-nav-mobile-menu-list-item-first-level {
    background: rgba(51, 73, 8, 0.08) !important;
  }

  #header .rp-nav-mobile-menu-list-second-level .rp-nav-mobile-menu-list-item-name-second-level {
    font-family: "Jost", sans-serif !important;
    text-transform: none;
    letter-spacing: 0.02em;
    font-weight: 500;
  }

  #header .rp-nav-mobile-logo-image {
    max-height: 64px !important;
    width: auto !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  #header .rp-nav-button-link {
    font-size: 1.08rem !important;
    padding: 12px 16px !important;
    letter-spacing: 0.08em !important;
  }

  #header .rp-logo-image {
    max-width: min(300px, 36vw) !important;
    max-height: 80px !important;
  }
}
