/*
 * VALDIER V3 — site styles.
 *
 * The page's own component styles (Client-First naming: section_, component_element,
 * is-modifier, text-size-*, text-color-*), first taken from the Webflow export
 * (valdier-design-lab-v3.webflow.css) and since maintained here by hand. Only the
 * rules the pages can use were kept; Webflow class names were replaced
 * (docs/WEBFLOW-INDEPENDENCE.md). Loaded after valdier-base.css, before the other
 * valdier-*.css files, which still override it by order.
 */
.layout-grid {
  grid-row-gap: 16px;
  grid-column-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.hero_feature-item {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  align-items: center;
  display: flex;
}

.hero_content-top {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-direction: column;
  display: flex;
}

.max-width-small {
  width: 100%;
  max-width: 25rem;
}

.text-size-small {
  margin-bottom: 0;
  font-size: .75rem;
  line-height: 1.25rem;
}

.text-size-small.text-color-tertiary {
  color: var(--vs-faint, #8f8f8f);
}

.text-size-small.text-color-secondary {
  color: var(--vs-muted, #666);
}

.hero_background {
  z-index: -1;
  pointer-events: none;
  background-color: var(--vs-surface, #f5f5f5);
  width: 40vw;
  position: absolute;
  inset: 0% 0% 0% auto;
}

.text-color-tertiary {
  color: var(--vs-faint, #8f8f8f);
}

.hero_button-group {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-wrap: wrap;
  align-items: center;
  display: flex;
}

.icon-xsmall {
  flex: none;
  justify-content: center;
  align-items: center;
  width: 1rem;
  height: 1rem;
  display: flex;
}

.section-large {
  -webkit-text-stroke-color: whitesmoke;
  padding: 7.5rem 5%;
  position: relative;
}

.badge {
  color: var(--vs-ink, #000);
  background-color: var(--vs-card, #fff);
  border-radius: 6.25rem;
  justify-content: center;
  align-items: center;
  padding: .25rem .75rem;
  font-size: .75rem;
  line-height: 1.25rem;
  display: flex;
  box-shadow: 0 0 0 1px var(--vs-ring, #0000000f), 0 1px 2px var(--vs-ring, #0000000f);
}

.icon-wrapper {
  background-color: var(--vs-card, #fff);
  border-radius: .625rem;
  flex: none;
  padding: .75rem;
  box-shadow: 0 0 0 1px var(--vs-ring, #0000000f), 0 1px 2px var(--vs-ring, #0000000f);
}

.heading-style-h1 {
  letter-spacing: -.15rem;
  margin-top: 0;
  margin-bottom: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.2;
}

.hero_title-left {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: column;
  align-items: flex-start;
  display: flex;
}

.hero_left-wrapper {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-direction: column;
  width: 100%;
  max-width: 37.75rem;
  display: flex;
}

.container-large {
  width: 100%;
  max-width: 75.5rem;
  margin-left: auto;
  margin-right: auto;
}

.text-size-medium {
  margin-bottom: 0;
  font-size: .875rem;
  line-height: 1.5rem;
}

.text-size-medium.text-color-secondary {
  color: var(--vs-muted, #666);
}

.hero_content-grid {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1.3fr 1fr;
  margin-bottom: 3.5rem;
}

.hero_features {
  grid-column-gap: 1.5rem;
  grid-row-gap: 2.5rem;
  grid-template-rows: auto;
}

.icon-medium {
  flex: none;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  transition: color .2s;
  display: flex;
}

.subheading-small {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75rem;
}

.image-cover {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.divider {
  align-items: center;
  width: 100%;
  height: 2px;
  display: flex;
}

.button {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  color: #fff;
  text-align: center;
  background-color: var(--vs-btn, #292929);
  border-radius: .625rem;
  flex-direction: row;
  flex: none;
  justify-content: center;
  align-items: center;
  height: 2.5rem;
  padding: .5rem 1rem;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5rem;
  text-decoration: none;
  transition: background-color .2s;
  display: flex;
  box-shadow: inset 1px 1px .25px #ffffff1f, inset -1px 1px .25px #ffffff1f, 0 0 0 1px #000, 0 1px 2px #000000a3;
}

.button:hover {
  background-color: var(--vs-btn-hover, #141414);
}

.button.is-outline {
  color: var(--vs-ink, #000);
  background-color: var(--vs-card, #fff);
  box-shadow: 0 1px 2px var(--vs-ring, #0000000f), 0 0 0 1px var(--vs-ring, #0000000f);
}

.button.is-outline:hover {
  background-color: var(--vs-fill, #f5f5f5);
}

.nav_logo {
  flex: none;
}

.nav_bar {
  background-color: var(--vs-nav, #242424);
  padding: 2rem 3%;
}

.label-medium {
  margin-bottom: 0;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.nav_menu {
  color: #ebebeb;
}

.nav_component {
  z-index: 99;
  position: relative;
}

.nav_button-wrapper {
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.nav_link {
  color: #f5f5f5;
  -webkit-text-stroke-color: #eee;
  border: 1px solid #0000;
  border-radius: .625rem;
  padding: .25rem .625rem;
  font-size: .875rem;
  line-height: 1.5rem;
  text-decoration: none;
  transition: background-color .3s;
}

.nav_link:hover {
  background-color: var(--vs-pill, #f5f5f5);
}

.nav_grid {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  grid-template-rows: auto;
  grid-template-columns: .25fr 1fr .25fr;
  align-items: center;
}

.column-2x-small {
  grid-column-gap: .25rem;
  grid-row-gap: .25rem;
  flex-direction: column;
  display: flex;
}

.text-block {
  text-transform: uppercase;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
}

.subheading-medium {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 2rem;
}

.subheading-medium.text-color-secondary {
  color: var(--vs-muted, #666);
}

.feature_title {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 3rem;
  display: flex;
}

.feature_line-holder {
  position: relative;
}

.divider-vertical {
  align-items: center;
  width: 2px;
  height: 100%;
  display: flex;
}

.column-xsmall {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  flex-direction: column;
  display: flex;
}

.feature_content-grid {
  grid-column-gap: 2.5rem;
  grid-row-gap: 0px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
}

.container-medium {
  width: 100%;
  max-width: 67.5rem;
  margin-left: auto;
  margin-right: auto;
}

.feature_tile {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  display: flex;
}

.icon-outline {
  border-radius: .75rem;
  padding: 1rem;
  box-shadow: 0 0 0 1px var(--vs-ring, #0000000f), 0 1px 2px var(--vs-ring, #0000000f);
}

.feature_tile-content {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-direction: column;
  align-items: flex-start;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  display: flex;
}

.feature_accent-line {
  background-color: #ff4b0f;
  border-radius: .75rem;
  width: .188rem;
  height: 1.75rem;
  position: absolute;
  inset: 7.5rem auto 0% 0%;
}

.heading-style-h3 {
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 3rem;
  font-weight: 500;
  line-height: 1.2;
}

.banner_section {
  color: #fff;
  background-color: #000;
  padding: .625rem 5%;
  position: relative;
}

.banner_content-wide {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.banner_close {
  color: #8f8f8f;
  flex: none;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
}

.banner_close:hover {
  color: #fff9f5;
}

.banner_icon {
  background-color: #ff4b0f;
  border-radius: 2.5rem;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
}

.banner_button {
  background-color: #292929;
  border-radius: .5rem;
  flex: none;
  padding: 2px .5rem;
  font-size: .875rem;
  line-height: 1.5rem;
  transition: background-color .3s;
}

.banner_button:hover {
  background-color: #3d3d3d;
}

.row-small {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.content_feature-grid {
  grid-column-gap: 1.5rem;
  grid-row-gap: 2.5rem;
  grid-template-rows: auto;
}

.content_slider-nav-styles {
  display: none;
}

.content_slide-wrapper {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  text-align: center;
  background-color: var(--vs-surface, #f5f5f5);
  border-radius: 1.25rem;
  flex-direction: column;
  padding: 0 2.5rem 4rem;
  display: flex;
}

.section-large-2 {
  -webkit-text-fill-color: inherit;
  background-color: #0000;
  background-clip: border-box;
  padding: 7.5rem 5%;
  position: relative;
}

.content_right-arrow {
  display: none;
}

.column-large {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-direction: column;
  display: flex;
}

.content_header {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 2rem;
  display: flex;
}

.content_slide-card {
  z-index: 2;
  grid-column-gap: 1.125rem;
  grid-row-gap: 1.125rem;
  background-color: var(--vs-card, #fff);
  border-radius: 1rem;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 1px var(--vs-ring, #0000000f), 0 1px 2px var(--vs-ring, #0000000f);
}

.content_slider-mask {
  padding-top: 7.5rem;
}

.content_feature-large {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  align-items: center;
  display: flex;
}

.content_slide-nav {
  justify-content: center;
  align-items: center;
  display: flex;
  inset: auto 0% 1.25rem;
}

.content_left-arrow {
  display: none;
}

.content_slider {
  background-color: #0000;
  width: 100%;
  max-width: 28.5rem;
  height: auto;
}

.content_grid-large {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.content_wrapper {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-direction: column;
  width: 100%;
  display: flex;
}

.content_card-backside {
  z-index: 0;
  pointer-events: none;
  background-color: var(--vs-card, #fff);
  border-radius: 1rem;
  position: absolute;
  inset: 0 2.25rem 1.25rem;
  box-shadow: 0 0 0 1px var(--vs-ring, #0000000f), 0 1px 2px var(--vs-ring, #0000000f);
}

.content_slide-card-wrapper {
  margin-top: -7.25rem;
  padding-top: 1.375rem;
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
}

.testimonial_header {
  text-align: center;
  justify-content: center;
  margin-bottom: 2.5rem;
  display: flex;
}

.icon {
  flex: none;
  justify-content: center;
  align-items: center;
  display: flex;
}

.faq_pane-wrapper {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  border-radius: 1.5rem;
  flex-direction: column;
  flex-grow: 1;
  justify-content: flex-start;
  padding: 2.5rem;
  display: flex;
  box-shadow: 0 1px 2px var(--vs-ring, #0000000f), inset 0 0 0 1px var(--vs-ring, #0000000f);
}

.faq_pane-wrapper.is-hidden {
  display: none;
}

.faq_tabs-title {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: 100%;
  display: flex;
}

.faq_badge {
  color: var(--vs-ink, #000);
  background-color: var(--vs-fill, #f5f5f5);
  border-radius: 2.5rem;
  justify-content: center;
  align-items: center;
  padding: 2px .625rem;
  font-size: .75rem;
  line-height: 1.25rem;
  display: flex;
}

.faq_tab-link {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  color: var(--vs-ink, #000);
  text-align: start;
  cursor: pointer;
  background-color: #0000;
  /* Logical: the accent rule and the indent sit on the reading side (Arabic: the right). */
  border: 0;
  border-inline-start: .25rem solid #0000;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 23.5rem;
  padding-block: .25rem;
  padding-inline: 1.25rem 0;
  font-family: inherit;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.7;
  transition: border-color .3s;
  display: flex;
}

.faq_tab-link.is-active {
  border-inline-start-color: #ff4b0f;
}

.faq_tab-header {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-flow: wrap-reverse;
  justify-content: space-between;
  display: flex;
}

.faq_layout {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1.55fr;
  align-items: stretch;
  width: 100%;
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

.faq_left {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.faq_question-list {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: column;
  align-items: flex-start;
  padding-top: .5rem;
  display: flex;
}

.faq_panels {
  flex-direction: column;
  width: 100%;
  display: flex;
}

.footer_legal-links {
  grid-column-gap: 2.5rem;
  grid-row-gap: 2.5rem;
  align-items: center;
  display: flex;
}

.footer_company-wrapper {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  align-items: center;
  display: flex;
}

.footer_block {
  background-color: #f5f5f5;
  border-radius: 1.5rem;
  width: 100%;
  max-width: 75.5rem;
  margin-top: 3rem;
  margin-left: auto;
  margin-right: auto;
  padding: 4rem;
  position: relative;
}

.script-copyright-year {
  display: none;
}

.footer_legal-link {
  color: #666;
  font-size: .75rem;
  line-height: 1.25rem;
  text-decoration: none;
  transition: color .3s;
}

.footer_legal-link:hover {
  color: var(--vs-ink, #000);
}

.section-medium {
  padding: 5.75rem 5%;
  position: relative;
}

.grid-three-column {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  display: grid;
}

.footer_divider {
  background-color: #e3e3e3;
  width: 100%;
  height: 1px;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.footer_logo {
  height: 2rem;
}

.feature_card-outline {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  border-radius: .75rem;
  align-items: flex-start;
  padding: 1.5rem;
  display: flex;
  box-shadow: 0 0 0 1px var(--vs-ring, #0000000f), 0 1px 2px var(--vs-ring, #0000000f);
}

.footer_nav-wrapper {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer_button {
  color: var(--vs-ink, #000);
  text-align: center;
  background-color: #0000;
  border: 1px solid #0000;
  border-radius: .375rem;
  padding: .25rem 1rem;
  font-size: .875rem;
  line-height: 1.5rem;
  transition: background-color .3s, border-color .3s;
}

.footer_button:hover {
  background-color: #f0f0f0;
  border: 1px solid #e3e3e3;
}

.footer_legal-wrapper {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  color: #8f8f8f;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.footer_nav {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.background-pattern {
  pointer-events: none;
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.hero_booking_card {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  background-color: var(--vs-card, #fff);
  border-radius: 2rem;
  flex-direction: column;
  width: 100%;
  max-width: 31.25rem;
  padding: 2rem;
  display: flex;
  box-shadow: 0 0 0 1px var(--vs-ring, #0000000f), 0 1px 2px #0000000a, 0 12px 32px -12px #0000001a;
}

.hero_booking_header {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.hero_booking_eyebrow {
  color: var(--vs-muted, #737373);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: .75rem;
  font-weight: 500;
  line-height: 1rem;
}

.hero_booking_title {
  color: var(--vs-ink, #000);
  letter-spacing: -.01em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.75rem;
}

.booking_form {
  grid-column-gap: 1.5rem;
  grid-row-gap: 1.5rem;
  flex-direction: column;
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
}

.booking_service {
  border-style: none;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.booking_toggle {
  grid-column-gap: .125rem;
  grid-row-gap: .25rem;
  background-color: var(--vs-fill, #f5f5f5);
  border-radius: .625rem;
  grid-template-rows: auto;
  grid-template-columns: auto auto;
  padding: .1875rem;
  display: grid;
}

.booking_toggle-option {
  cursor: pointer;
  margin-bottom: 0;
  display: flex;
  position: relative;
}

.booking_toggle-label {
  width: 100%;
  height: 1.875rem;
  transition: background-color .2s ease, color undefined undefined, box-shadow undefined undefined;
  color: var(--vs-muted, #666);
  white-space: nowrap;
  border-radius: .4375rem;
  justify-content: center;
  align-items: center;
  padding-left: .75rem;
  padding-right: .75rem;
  font-size: .8125rem;
  font-weight: 500;
  line-height: 1.25rem;
  display: flex;
}

.booking_fields {
  grid-column-gap: .5rem;
  grid-row-gap: .5rem;
  grid-template-rows: auto;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  display: grid;
}

.booking_field {
  grid-column-gap: .125rem;
  grid-row-gap: .125rem;
  cursor: text;
  background-color: var(--vs-fill, #fff);
  border-radius: .75rem;
  flex-direction: column;
  min-width: 0;
  margin-bottom: 0;
  padding: .5rem .75rem;
  transition: box-shadow .2s;
  display: flex;
  box-shadow: 0 0 0 1px var(--vs-ring, #00000014);
}

.booking_field.is-half {
  grid-column-end: span 6;
}

.booking_field.is-date {
  grid-column-end: span 5;
}

.booking_field.is-time {
  grid-column-end: span 4;
}

.booking_field.is-pass {
  grid-column-end: span 3;
}

.booking_label {
  color: var(--vs-muted, #737373);
  margin-bottom: 0;
  font-size: .6875rem;
  font-weight: 400;
  line-height: 1rem;
}

.booking_input {
  width: 100%;
  height: 1.5rem;
  transition: border-color .2s ease, background-color undefined undefined, box-shadow undefined undefined;
  color: var(--vs-ink, #000);
  background-color: #0000;
  border: 1px #0000001a;
  border-radius: 0;
  margin-bottom: 0;
  padding: 0;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.booking_submit {
  color: #fff;
  cursor: pointer;
  background-color: #1a1a1a;
  border-style: none;
  border-radius: .625rem;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: auto;
  height: 2.25rem;
  padding-left: 1rem;
  padding-right: 1rem;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5rem;
  transition: background-color .2s;
  display: flex;
}

.booking_submit:hover {
  background-color: #383838;
}

.booking_note {
  color: var(--vs-muted, #666);
  text-align: center;
  margin-top: 0;
  margin-bottom: 0;
  font-size: .75rem;
  line-height: 1.25rem;
}

.hero_booking_heading {
  grid-column-gap: .125rem;
  grid-row-gap: .125rem;
  flex-direction: column;
  display: flex;
}

.booking_action {
  grid-column-gap: .75rem;
  grid-row-gap: .75rem;
  flex-direction: column;
  display: flex;
}

.booking_action-row {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.booking_action-title {
  color: var(--vs-ink, #000);
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
}

.booking_summary {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  background-color: var(--vs-fill, #fff);
  border-radius: 1rem;
  justify-content: space-between;
  align-items: flex-end;
  padding: 1rem 1.25rem;
  display: flex;
  box-shadow: 0 0 0 1px var(--vs-ring, #00000014), 0 1px 2px #0000000a;
}

.booking_summary-label {
  color: var(--vs-muted, #737373);
  margin-top: 0;
  margin-bottom: 0;
  font-size: .75rem;
  line-height: 1rem;
}

.booking_summary-route {
  color: var(--vs-ink, #000);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5rem;
  overflow: hidden;
}

.booking_summary-meta {
  grid-column-gap: .375rem;
  grid-row-gap: .375rem;
  flex-direction: column;
  flex-shrink: 0;
  align-items: flex-end;
  display: flex;
}

.booking_chip {
  color: var(--vs-ink, #000);
  white-space: nowrap;
  background-color: var(--vs-fill, #f5f5f5);
  border-radius: .375rem;
  padding: .125rem .5rem;
  font-size: .75rem;
  line-height: 1.25rem;
}

@media screen and (max-width: 991px) {

  .hero_content-top {
    align-items: center;
  }

  .hero_background {
    width: 100%;
    height: 25rem;
    inset: auto 0% 0%;
  }

  .hero_title-left {
    text-align: center;
    align-items: center;
  }

  .hero_left-wrapper {
    align-items: center;
  }

  .hero_content-grid {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .button {
    display: flex;
  }

  .nav_logo {
    flex: none;
  }

  .nav_bar {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .nav_menu {
    background-color: var(--vs-card, #fff);
    border-bottom: 1px solid var(--vs-border, #e3e3e3);
    border-radius: .5rem;
    width: 100%;
    padding: 1rem 3%;
  }

  .nav_button-wrapper {
    grid-column-gap: .625rem;
    grid-row-gap: .625rem;
    align-items: center;
    display: flex;
  }

  .nav_link {
    margin-left: 0;
    margin-right: 0;
    padding-top: .5rem;
    padding-bottom: .5rem;
  }

  .nav_menu-button {
    padding: .75rem;
  }

  .nav_menu-button.is-open {
    background-color: #141414;
    border-radius: 8px;
  }

  .nav_grid {
    grid-template-columns: 1fr 1fr;
  }

  .content_slider {
    max-width: none;
  }

  .content_grid-large {
    grid-template-columns: 1fr;
  }

  .content_slide-card-wrapper {
    max-width: 28.25rem;
    margin-left: auto;
    margin-right: auto;
  }

  .faq_tabs-title {
    max-width: 23.5rem;
    position: static;
  }

  .faq_layout {
    grid-column-gap: 2.5rem;
    grid-row-gap: 2.5rem;
    flex-direction: column;
    align-items: stretch;
    display: flex;
  }

  .faq_left {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
  }

  .grid-three-column {
    grid-template-columns: 1fr 1fr;
  }

  .footer_nav-wrapper {
    grid-column-gap: 2.5rem;
    grid-row-gap: 2.5rem;
    flex-direction: column;
  }

  .footer_legal-wrapper {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex-direction: column;
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  .hero_background {
    display: none;
  }

  .section-large {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }

  .heading-style-h1 {
    font-size: 3.5rem;
  }

  .hero_features {
    grid-row-gap: 1.5rem;
  }

  .feature_content-grid {
    grid-template-columns: 1fr 1fr;
  }

  .heading-style-h3 {
    font-size: 2.5rem;
  }

  .content_feature-grid {
    grid-row-gap: 1.5rem;
  }

  .section-large-2 {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }

  .content_slider {
    margin-left: auto;
    margin-right: auto;
  }

  .content_grid-large {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .faq_pane-wrapper {
    padding: 2rem;
  }

  .footer_block {
    padding: 3.5rem 2rem;
  }

  .section-medium {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }

  .grid-three-column {
    grid-template-columns: 1fr;
  }
}

@media screen and (max-width: 479px) {

  .heading-style-h1 {
    font-size: 3rem;
  }

  .hero_features {
    grid-template-columns: 1fr;
  }

  .feature_content-grid, .content_feature-grid {
    grid-template-columns: 1fr;
  }

  .content_slide-wrapper {
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    width: 100%;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .content_card-backside {
    left: 1rem;
    right: 1rem;
  }

  .content_slide-card-wrapper {
    padding-top: 1rem;
    padding-left: 0;
    padding-right: 0;
  }

  .faq_pane-wrapper {
    padding-left: 5%;
    padding-right: 5%;
  }

  .faq_tab-link {
    padding-top: .5rem;
    padding-bottom: .5rem;
  }

  .faq_question-list {
    padding-top: 0;
  }

  .footer_legal-links {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
    flex-direction: column;
  }

  .footer_company-wrapper {
    flex-direction: column;
  }

  .footer_block {
    padding: 3rem 1.5rem;
  }

  .footer_legal-wrapper {
    align-items: center;
  }

  .footer_nav {
    grid-column-gap: .75rem;
    grid-row-gap: .75rem;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    display: grid;
  }

  .hero_booking_card {
    border-radius: 1.25rem;
    padding: 1.5rem 1.25rem;
  }

  .hero_booking_header {
    flex-direction: column;
    align-items: flex-start;
  }

  .booking_fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .booking_field.is-half {
    grid-column-end: span 2;
  }

  .booking_field.is-date, .booking_field.is-time {
    grid-column-end: span 1;
  }

  .booking_field.is-pass {
    grid-column-end: span 2;
  }

  .booking_summary {
    grid-row-gap: .75rem;
    flex-direction: column;
    align-items: stretch;
  }

  .booking_summary-meta {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.nav_menu {
  justify-self: center;
}

.hero_left-wrapper {
  align-self: start;
}

.content_slider {
  place-self: end;
}

@media screen and (max-width: 991px) {
  .hero_image-wrapper, .content_slider {
    justify-self: center;
  }

  .feature_card-outline.is-wide {
    grid-column: span 2 / span 2;
  }
}

@media screen and (max-width: 767px) {
  .feature_card-outline.is-wide {
    grid-column: span 1 / span 1;
  }
}
