/* First-party accessibility toolbar. Toggles classes on <html> only. */
.a11y-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.a11y-fab{
  position:fixed;
  z-index:80;
  inset-inline-end:16px;
  bottom:16px;
  width:56px;
  height:56px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#123f48;
  color:#fff;
  box-shadow:0 4px 16px rgba(18,63,72,.35);
  cursor:pointer;
  display:grid;
  place-items:center;
}
.a11y-fab svg{width:30px;height:30px;display:block}
.a11y-fab:hover{background:#0d2b31}
.a11y-fab:focus-visible{outline:3px solid #123f48;outline-offset:3px;box-shadow:0 0 0 3px #fffdf9,0 4px 16px rgba(18,63,72,.35)}

.a11y-panel{
  position:fixed;
  z-index:90;
  inset-inline-end:16px;
  bottom:80px;
  width:min(22rem, calc(100vw - 24px));
  max-height:min(36rem, calc(100vh - 120px));
  overflow:auto;
  background:#fff;
  color:#1d2a2e;
  border:1px solid #d9cfc0;
  border-radius:16px;
  box-shadow:0 12px 40px rgba(18,63,72,.22);
  padding:14px 14px 16px;
}
.a11y-panel[hidden]{display:none !important}
.a11y-panel__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px}
.a11y-panel__title{margin:0;font-size:1.15rem;font-weight:800;line-height:1.3;color:#123f48}
.a11y-panel__close{
  flex:none;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#f6efe3;
  color:#123f48;
  font-size:1.4rem;
  line-height:1;
  cursor:pointer;
}
.a11y-panel__close:hover{background:#eadfcd}
.a11y-panel__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a11y-panel__size{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px}
.a11y-panel__status{grid-column:1 / -1;margin:0 0 4px;font-size:.9rem;color:#5b6a6e}
.a11y-ctrl{
  min-height:44px;
  min-width:44px;
  margin:0;
  padding:8px 10px;
  border:2px solid #123f48;
  border-radius:12px;
  background:#fff;
  color:#123f48;
  font:inherit;
  font-weight:700;
  font-size:.92rem;
  line-height:1.25;
  text-align:center;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
}
.a11y-ctrl:hover{background:#e6f1f2}
.a11y-ctrl[aria-pressed="true"]{background:#123f48;color:#fff}
.a11y-ctrl:focus-visible,
.a11y-panel__close:focus-visible,
.a11y-panel__link:focus-visible{
  outline:3px solid #123f48;
  outline-offset:2px;
}
.a11y-panel__link{
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin-top:4px;
  padding:8px 10px;
  border-radius:12px;
  color:#1f5f6b;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
.a11y-panel__reset{grid-column:1 / -1}

@media (max-width:640px){
  .a11y-fab{bottom:88px}
  .a11y-panel{bottom:152px;max-height:min(32rem, calc(100vh - 180px))}
}
@media (prefers-reduced-motion:reduce){
  .a11y-fab,.a11y-panel,.a11y-ctrl{transition:none !important}
}

/* Preference classes on <html> */
html.a11y-text-115{font-size:115%}
html.a11y-text-130{font-size:130%}
html.a11y-text-150{font-size:150%}
html.a11y-text-115 body,
html.a11y-text-130 body,
html.a11y-text-150 body{font-size:1.0625rem}

html.a11y-font,
html.a11y-font body,
html.a11y-font button,
html.a11y-font input,
html.a11y-font select,
html.a11y-font textarea,
html.a11y-font .a11y-ctrl,
html.a11y-font .a11y-panel{font-family:Arial,Helvetica,Tahoma,sans-serif !important}

html.a11y-links a{
  text-decoration:underline !important;
  text-decoration-thickness:2px !important;
  text-underline-offset:3px;
  background-color:#ffee58 !important;
  color:#000 !important;
}

html.a11y-motion,
html.a11y-motion *{
  animation:none !important;
  transition:none !important;
  scroll-behavior:auto !important;
}
html.a11y-motion .gallery .zoom:hover img{transform:none !important}

html.a11y-cursor,
html.a11y-cursor *{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath fill='%23fff' stroke='%23000' stroke-width='2' d='M8 4v32l7.5-7.2 4.2 10.2 5.2-2.1-4.2-10.2H36z'/%3E%3C/svg%3E") 6 2, auto !important;
}

html.a11y-contrast{background:#fff !important}
html.a11y-contrast body,
html.a11y-contrast .nav,
html.a11y-contrast .section,
html.a11y-contrast .section--sand,
html.a11y-contrast .page-hero,
html.a11y-contrast .room,
html.a11y-contrast .wcard,
html.a11y-contrast .xcard,
html.a11y-contrast .rcard,
html.a11y-contrast .amen__item,
html.a11y-contrast .prose,
html.a11y-contrast .blog-card,
html.a11y-contrast .award,
html.a11y-contrast details,
html.a11y-contrast .coming,
html.a11y-contrast .navbox{background:#fff !important;color:#000 !important}
html.a11y-contrast .sub,
html.a11y-contrast .small,
html.a11y-contrast .note,
html.a11y-contrast .mute,
html.a11y-contrast p,
html.a11y-contrast li,
html.a11y-contrast h1,
html.a11y-contrast h2,
html.a11y-contrast h3,
html.a11y-contrast .eyebrow{color:#000 !important}
html.a11y-contrast a{color:#000 !important;text-decoration:underline !important}
html.a11y-contrast .footer,
html.a11y-contrast .section--dark{background:#000 !important;color:#fff !important}
html.a11y-contrast .footer a,
html.a11y-contrast .footer p,
html.a11y-contrast .footer b,
html.a11y-contrast .section--dark,
html.a11y-contrast .section--dark h2,
html.a11y-contrast .section--dark p,
html.a11y-contrast .section--dark .eyebrow,
html.a11y-contrast .section--dark cite,
html.a11y-contrast .reviews cite,
html.a11y-contrast #rev-title{color:#fff !important}
html.a11y-contrast .section--dark a{color:#fff !important}
html.a11y-contrast .hero{color:#fff !important}
html.a11y-contrast .hero h1,
html.a11y-contrast .hero .lead,
html.a11y-contrast .hero .eyebrow,
html.a11y-contrast .hero a:not(.btn){color:#fff !important}
html.a11y-contrast .hero__shade{background:linear-gradient(180deg,rgba(0,0,0,.25) 0%,rgba(0,0,0,.75) 100%) !important}
html.a11y-contrast .btn{background:#000 !important;color:#fff !important;border-color:#000 !important}
html.a11y-contrast .btn--ghost{background:#000 !important;color:#fff !important;border-color:#fff !important}
html.a11y-contrast .mbar{background:#fff !important;border-top:2px solid #000}
html.a11y-contrast .mbar a{color:#000 !important}
html.a11y-contrast .mbar__book{background:#000 !important;color:#fff !important}

/* Apply grayscale to the page, not the toolbar, so the user can still turn it off */
html.a11y-mono body > *:not(#a11y-root):not(.a11y-sr){filter:grayscale(1)}

@media print{
  html[class*="a11y-"]{filter:none !important}
  html[class*="a11y-text-"]{font-size:100% !important}
  html[class*="a11y-text-"] body{font-size:17px !important}
  .a11y-fab,.a11y-panel{display:none !important}
}
