/**
	This file does note generate code.  It is imported by other sass files to include
	variables, mixins, and functions.
	*/
/* Settings
   -------------------------------------------------------------------------- */
/**
	Global variables
*/
/* Site Max Width. Used in 03-base/_template.scss
   -------------------------------------------------------------------------- */
/* Location of compiled icons in theme.
   Used in project/build/common/sass/04-components/_icons.scss
   -------------------------------------------------------------------------- */
/* Breakpoints
	px is excluded so we can do math on the breakpoints
   -------------------------------------------------------------------------- */
/* Colors
   Suffix color variables with a 3 digit number.  Generally try to progress from
   lightest/dullest to darkest/most vibrant.
   -------------------------------------------------------------------------- */
/* Filter Colors
   -------------------------------------------------------------------------- */
/* Default transition.  Used in transition() mixin.
   ------------------------------------------------------------------------ */
/* Tools
   -------------------------------------------------------------------------- */
/**
	This file does note generate code.  It is imported by other sass files to include
	variables, mixins, and functions.
	*/
/* Settings
   -------------------------------------------------------------------------- */
/**
	This file does note generate code.  It is imported by other sass files to include
	variables, mixins, and functions.
	*/
/* Settings
   -------------------------------------------------------------------------- */
/**
	General mixins
*/
/* Variable Size
   Function can be used to make any property value variable
   -------------------------------------------------------------------------- */
/* Basic Transition
   -------------------------------------------------------------------------- */
/* Default Unordered List
   This mixin is used in place of defining base ul styles and then having to
   override them everywhere.  Ex: in a menu.
   This should be included when you output an acf wysiwyg field.
   -------------------------------------------------------------------------- */
/* Default Link Style
   This mixin is used in place of defining base a styles and then having to
   override them everywhere. Ex: text links vs buttons.
   This should be included when you output an acf wysiwyg field.
   -------------------------------------------------------------------------- */
/* Default Table
   -------------------------------------------------------------------------- */
/* Default Gradient
   -------------------------------------------------------------------------- */
/* Button Reset
   -------------------------------------------------------------------------- */
/* List Reset
   -------------------------------------------------------------------------- */
/* 100vh Mixin
   -------------------------------------------------------------------------- */
/* Accessibility Mixins to allow or prevent animations and transitions
   -------------------------------------------------------------------------- */
/* Tools
   -------------------------------------------------------------------------- */
/**
	Typography specific mixins
	These mixins are used in classes in build/common/sass/03-base/_typography.scss.
	They can also be used in a component/layout stylesheet, but that should be avoided.
*/
/* Fonts
   -------------------------------------------------------------------------- */
/* Typography
   -------------------------------------------------------------------------- */
/**
	This file does note generate code.  It is imported by other sass files to include
	variables, mixins, and functions.
	*/
/* Settings
   -------------------------------------------------------------------------- */
/* Tools
   -------------------------------------------------------------------------- */
/**
	Form specific mixins
	A set of default styles that can be applied to Gravity Forms and other forms
*/
.cards {
  --cardGap: 32px;
}
.cards--cpt_offer {
  --card-width: calc(312px + (100vw - 320px) / ((768 - 320) / (380 - 312)));
  --image-height: calc(396px + (100vw - 320px) / ((768 - 320) / (480 - 396)));
  --padding-inline: 24px;
}
@media (min-width: 768px) {
  .cards--cpt_offer {
    --card-width: 380px;
    --image-height: 480px;
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .cards--cpt_offer {
    --padding-inline: calc(48px + (100vw - 768px) / ((1024 - 768) / (80 - 48))) 0;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .cards--cpt_offer {
    --padding-inline: calc(80px + (100vw - 1024px) / ((1280 - 1024) / (104 - 80))) 0;
  }
}
@media (min-width: 1280px) {
  .cards--cpt_offer {
    --padding-inline: 104px 0;
  }
}
.cards--cpt_offer .splide {
  position: relative;
}
@media (max-width: 767.98px) {
  .cards--cpt_offer .splide__arrows {
    padding-inline: 24px;
  }
}
.cards--cpt_offer.cards--grid {
  --cardGap: calc(48px + (100vw - 360px) / ((768 - 360) / (56 - 48)));
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .cards--cpt_offer.cards--grid {
    --cardGap: calc(56px + (100vw - 768px) / ((1024 - 768) / (48 - 56))) 24px;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .cards--cpt_offer.cards--grid {
    --cardGap: calc(48px + (100vw - 1024px) / ((1280 - 1024) / (64 - 48))) 24px;
    --image-height: calc(350px + (100vw - 1024px) / ((1280 - 1024) / (420 - 350)));
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .cards--cpt_offer.cards--grid {
    --cardGap: 64px calc(24px + (100vw - 1280px) / ((1440 - 1280) / (32 - 24)));
    --image-height: calc(420px + (100vw - 1280px) / ((1440 - 1280) / (480 - 420)));
  }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  .cards--cpt_offer.cards--grid {
    --cardGap: 64px calc(32px + (100vw - 1440px) / ((1920 - 1440) / (40 - 32)));
  }
}
@media (min-width: 1440px) {
  .cards--cpt_offer.cards--grid {
    --image-height: 480px;
  }
}
@media (min-width: 1920px) {
  .cards--cpt_offer.cards--grid {
    --cardGap: 64px 40px;
  }
}
.cards--cpt_room {
  --card-width: calc(312px + (100vw - 320px) / ((768 - 320) / (440 - 312)));
  --image-height: calc(396px + (100vw - 320px) / ((768 - 320) / (520 - 396)));
  --padding-inline: 24px;
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .cards--cpt_room {
    --card-width: calc(440px + (100vw - 768px) / ((1024 - 768) / (460 - 440)));
    --image-height: calc(520px + (100vw - 768px) / ((1024 - 768) / (540 - 520)));
  }
}
@media (min-width: 768px) and (max-width: 1279.98px) {
  .cards--cpt_room {
    --padding-inline: 80px 0;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .cards--cpt_room {
    --card-width: calc(460px + (100vw - 1024px) / ((1280 - 1024) / (480 - 460)));
    --image-height: calc(540px + (100vw - 1024px) / ((1280 - 1024) / (560 - 540)));
  }
}
@media (min-width: 1280px) {
  .cards--cpt_room {
    --card-width: 480px;
    --image-height: 560px;
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .cards--cpt_room {
    --padding-inline: calc(80px + (100vw - 1280px) / ((1440 - 1280) / (104 - 80))) 0;
  }
}
@media (min-width: 1440px) {
  .cards--cpt_room {
    --padding-inline: 104px 0;
  }
}
.cards--cpt_room .splide {
  position: relative;
}
@media (max-width: 767.98px) {
  .cards--cpt_room .splide__arrows {
    padding-inline: 24px;
  }
}
.cards--cpt_room.cards--grid {
  --image-height: 340px;
  --cardGap: calc(40px + (100vw - 360px) / ((768 - 360) / (48 - 40)));
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .cards--cpt_room.cards--grid {
    --cardGap: 48px 24px;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .cards--cpt_room.cards--grid {
    --cardGap: calc(48px + (100vw - 1024px) / ((1280 - 1024) / (56 - 48))) 24px;
    --image-height: calc(340px + (100vw - 1024px) / ((1280 - 1024) / (420 - 340)));
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .cards--cpt_room.cards--grid {
    --cardGap: calc(56px + (100vw - 1280px) / ((1440 - 1280) / (64 - 56))) calc(24px + (100vw - 1280px) / ((1440 - 1280) / (32 - 24)));
    --image-height: calc(420px + (100vw - 1280px) / ((1440 - 1280) / (460 - 420)));
  }
}
@media (min-width: 1440px) {
  .cards--cpt_room.cards--grid {
    --image-height: 460px;
  }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  .cards--cpt_room.cards--grid {
    --cardGap: 64px calc(32px + (100vw - 1440px) / ((1920 - 1440) / (40 - 32)));
  }
}
@media (min-width: 1920px) {
  .cards--cpt_room.cards--grid {
    --cardGap: 64px 40px;
  }
}
.cards--gallery {
  --cardGap: 16px;
  --image-height: 396px;
}
@media (max-width: 767.98px) {
  .cards--gallery {
    padding-inline: 24px;
  }
}
@media (min-width: 768px) and (max-width: 1279.98px) {
  .cards--gallery {
    --image-height: 390px;
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .cards--gallery {
    --image-height: calc(390px + (100vw - 1280px) / ((1440 - 1280) / (440 - 390)));
  }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  .cards--gallery {
    --image-height: calc(440px + (100vw - 1440px) / ((1920 - 1440) / (470 - 440)));
  }
}
@media (min-width: 1920px) {
  .cards--gallery {
    --image-height: 470px;
  }
}
.cards--attachment {
  --cardGap: 24px;
  --image-height: 280px;
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .cards--attachment {
    --cardGap: calc(24px + (100vw - 1024px) / ((1280 - 1024) / (32 - 24))) 24px;
    --image-height: calc(280px + (100vw - 1024px) / ((1280 - 1024) / (360 - 280)));
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .cards--attachment {
    --cardGap: 32px calc(24px + (100vw - 1280px) / ((1440 - 1280) / (32 - 24)));
    --image-height: calc(360px + (100vw - 1280px) / ((1440 - 1280) / (400 - 360)));
  }
}
@media (min-width: 1440px) {
  .cards--attachment {
    --image-height: 400px;
  }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  .cards--attachment {
    --cardGap: calc(32px + (100vw - 1440px) / ((1920 - 1440) / (40 - 32)));
  }
}
@media (min-width: 1920px) {
  .cards--attachment {
    --cardGap: 40px;
  }
}
.cards--cpt_map_marker {
  --cardGap: 48px;
  --image-height: 280px;
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .cards--cpt_map_marker {
    --cardGap: calc(56px + (100vw - 768px) / ((1024 - 768) / (48 - 56))) 24px;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .cards--cpt_map_marker {
    --cardGap: calc(48px + (100vw - 1024px) / ((1280 - 1024) / (64 - 48))) 24px;
    --image-height: calc(280px + (100vw - 1024px) / ((1280 - 1024) / (360 - 280)));
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .cards--cpt_map_marker {
    --cardGap: 64px calc(24px + (100vw - 1280px) / ((1440 - 1280) / (32 - 24)));
    --image-height: calc(360px + (100vw - 1280px) / ((1440 - 1280) / (400 - 360)));
  }
}
@media (min-width: 1440px) {
  .cards--cpt_map_marker {
    --image-height: 400px;
  }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  .cards--cpt_map_marker {
    --cardGap: 64px calc(32px + (100vw - 1440px) / ((1920 - 1440) / (40 - 32)));
  }
}
@media (min-width: 1920px) {
  .cards--cpt_map_marker {
    --cardGap: 64px 40px;
  }
}
.cards--custom {
  --cardGap: 64px;
  --image-height: calc(300px + (100vw - 360px) / ((768 - 360) / (350 - 300)));
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .cards--custom {
    --inline-spacing: calc(96px + (100vw - 768px) / ((1024 - 768) / (72 - 96)));
    --image-height: 350px;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .cards--custom {
    --inline-spacing: calc(72px + (100vw - 1024px) / ((1280 - 1024) / (112 - 72)));
    --cardGap: calc(48px + (100vw - 1024px) / ((1280 - 1024) / (64 - 48)));
    --image-height: calc(350px + (100vw - 1024px) / ((1280 - 1024) / (370 - 350)));
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .cards--custom {
    --inline-spacing: calc(112px + (100vw - 1280px) / ((1440 - 1280) / (140 - 112)));
    --image-height: 370px;
  }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  .cards--custom {
    --inline-spacing: calc(140px + (100vw - 1440px) / ((1920 - 1440) / (272 - 140)));
    --image-height: calc(370px + (100vw - 1440px) / ((1920 - 1440) / (395 - 370)));
    --cardGap: calc(64px + (100vw - 1440px) / ((1920 - 1440) / (144 - 64)));
  }
}
@media (min-width: 1920px) {
  .cards--custom {
    --inline-spacing: 272px;
    --image-height: 395px;
    --cardGap: 144px;
  }
}
.cards__container {
  margin-inline: auto;
  position: relative;
  width: min(100%, 1920px);
}
@media (max-width: 767.98px) {
  .cards--grid .cards__container {
    padding-inline: 24px;
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .cards--grid .cards__container {
    padding-inline: 64px;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .cards--grid .cards__container {
    padding-inline: calc(64px + (100vw - 1024px) / ((1280 - 1024) / (76 - 64)));
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .cards--grid .cards__container {
    padding-inline: calc(76px + (100vw - 1280px) / ((1440 - 1280) / (88 - 76)));
  }
}
@media (min-width: 1440px) and (max-width: 1919.98px) {
  .cards--grid .cards__container {
    padding-inline: calc(88px + (100vw - 1440px) / ((1920 - 1440) / (200 - 88)));
  }
}
@media (min-width: 1920px) {
  .cards--grid .cards__container {
    padding-inline: 200px;
  }
}
.cards--custom .cards__container {
  padding-inline: var(--inline-spacing);
}
.cards__intro {
  padding-inline: var(--padding-inline);
}
.cards__intro--stacked {
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.cards__intro--inline {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media (min-width: 1280px) {
  .cards__intro--inline {
    -webkit-padding-end: calc(80px + (100vw - 1280px) / ((1440 - 1280) / (104 - 80)));
            padding-inline-end: calc(80px + (100vw - 1280px) / ((1440 - 1280) / (104 - 80)));
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .cards__intro--inline .cards__eyebrow {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
  .cards__intro--inline .cards__links {
    -webkit-margin-start: auto;
            margin-inline-start: auto;
  }
}
@media (min-width: 1440px) {
  .cards__intro--inline {
    -webkit-padding-end: 104px;
            padding-inline-end: 104px;
  }
}
.cards--cpt_offer .cards__intro {
  -webkit-margin-after: 64px;
          margin-block-end: 64px;
}
.cards--cpt_room .cards__intro {
  -webkit-margin-after: calc(56px + (100vw - 320px) / ((768 - 320) / (64 - 56)));
          margin-block-end: calc(56px + (100vw - 320px) / ((768 - 320) / (64 - 56)));
}
@media (min-width: 768px) {
  .cards--cpt_room .cards__intro {
    -webkit-margin-after: 64px;
            margin-block-end: 64px;
  }
}
.cards--gallery .cards__intro {
  gap: 24px;
  -webkit-margin-after: calc(40px + (100vw - 320px) / ((768 - 320) / (64 - 40)));
          margin-block-end: calc(40px + (100vw - 320px) / ((768 - 320) / (64 - 40)));
}
@media (min-width: 768px) {
  .cards--gallery .cards__intro {
    -webkit-margin-after: 64px;
            margin-block-end: 64px;
    padding-inline: calc(64px + (100vw - 768px) / ((1024 - 768) / (72 - 64)));
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media (min-width: 1024px) and (max-width: 1279.98px) {
  .cards--gallery .cards__intro {
    padding-inline: 72px;
  }
}
@media (min-width: 1280px) and (max-width: 1439.98px) {
  .cards--gallery .cards__intro {
    padding-inline: calc(72px + (100vw - 1280px) / ((1440 - 1280) / (104 - 72)));
  }
}
@media (min-width: 1440px) {
  .cards--gallery .cards__intro {
    padding-inline: 104px;
  }
}
.cards--cpt_offer .cards__heading {
  -webkit-margin-after: 32px;
          margin-block-end: 32px;
}
@media (max-width: 767.98px) {
  .cards--cpt_room .cards__heading {
    -webkit-margin-after: calc(32px + (100vw - 320px) / ((768 - 320) / (40 - 32)));
            margin-block-end: calc(32px + (100vw - 320px) / ((768 - 320) / (40 - 32)));
  }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
  .cards--cpt_room .cards__heading {
    width: min(100%, 528px);
  }
}
@media (min-width: 768px) and (max-width: 1279.98px) {
  .cards--cpt_room .cards__heading {
    -webkit-margin-after: 40px;
            margin-block-end: 40px;
  }
}
.cards--cpt_offer .cards__eyebrow, .cards--cpt_room .cards__eyebrow {
  -webkit-margin-after: 24px;
          margin-block-end: 24px;
}
.cards__filter {
  margin-bottom: 32px;
}
.cards__flex {
  display: grid;
  gap: var(--cardGap);
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}
@media (min-width: 768px) {
  .cards__flex {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1024px) {
  .cards.has-filter .cards__flex {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.cards__flex .gallery-modal-slide {
  display: none;
}
.cards__flex .gallery-card__media::after, .cards__flex .gallery-card__expand .v-icon__svg {
  display: none;
}
.cards .splide {
  padding-inline: var(--padding-inline);
}
.cards .splide__arrows {
  top: var(--image-height);
  translate: 0 calc(var(--splide-arrow-size) * -1);
}
@media (min-width: 768px) {
  .cards .splide__arrows {
    top: calc(var(--image-height) / 2);
    translate: 0 calc(var(--splide-arrow-size) / -2);
  }
}
.cards .splide:not(.is-active) .splide__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--cardGap);
  row-gap: 32px;
  width: 100%;
}
.cards .splide:not(.is-active) .splide__slide {
  -ms-flex-preferred-size: calc(50% - var(--cardGap) / 2 * 1);
      flex-basis: calc(50% - var(--cardGap) / 2 * 1);
}
.cards .splide:not(.is-active) .splide__arrows {
  display: none;
}
.cards .filter__load-more {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.cards .filter__load-more button {
  -webkit-margin-before: 24px;
          margin-block-start: 24px;
}
@media (min-width: 1280px) {
  .cards .filter__load-more button {
    -webkit-margin-before: 40px;
            margin-block-start: 40px;
  }
}
.cards .filter__load-more button:disabled {
  display: none;
}