@charset "UTF-8";
/**
* @file
* Common dependencies for all theme stylesheets (both global and component specific)
*/
/**
* @file
* Functions
*
* Defines reusable Sass functions that perform calculations or transformations (e.g.,
* color manipulation, scaling values).
*/
/**
 * @file
 * Color functions
 */
/**
* @file
* Tier 1 - Primitive Color Variables
*
* Contains the color design tokens assigned to our aliases.
* These variables are the raw, unchanging values used to define the core visual language of the project.
*/
/**
* @file
* Convert values into rem units.
* Only `px` values are converted to rem.
* ! Use CSS variables whenever possible
* defines the base font size in a way that is understandable by Sass functions
*/
/**
* @file
* Mixins
*
* Contains imports for reusable Sass mixins that encapsulate common patterns or logic, such as
* responsive styles, vendor prefixes, or utility functions.
*/
/**
* @file
* Breakpoints
*
* Defines CSS variables for responsive design breakpoints used throughout the project.
*/
/**
* @file
* Container Mixins
*
* Contains mixins for containers that can be applied on a component level when their associated utility class is applied
*/
/**
* @file
* Container Variables
*/
/**
 * @file
 * Global typography for site
*/
/**
* @file
* Typography
*
* Defines CSS variables and styles related to typography, including font families,
* sizes, weights, line heights, and letter spacing.
*/
/**
* @file
* Type SCSS variables for spacing system
*/
/* === Font Stacks === */
/* === Font Weights === */
/* === Letter Spacing === */
/* === Line Heights === */
/* A single line value will be used for type. The largest value was selected based on comparing between mobile and desktop. */
/* === Font Sizes === */
/* Min / Mobile */
/* Max / Desktop */
/* Font Size / Fluid Units
* Resource: Utopia Clamp Calculator
* @link https://utopia.fyi/clamp/calculator?a=320,1440,92—104|64—88|52—64|48—60|32—40|16—20
*
* viewport values from utopia clamp calculator
* values without clamp are the same for mobile and desktop
*/
/*
 Preset typography
*/
/**
* @file
* Utility Mixins
*/
/**
* @file
* Container Mixins
*
* Contains mixins for containers that can be applied on a component level when their associated utility class is applied
*/
/**
* @file
* Variables
*/
/**
* @file
* Type SCSS variables for transition durations.
*/
/**
* @file
* Typography
*
* Defines CSS variables and styles related to typography, including font families,
* sizes, weights, line heights, and letter spacing.
*/
/**
* @file
* SCSS variables for radii
*/
/**
* @file
* Typography
*
* Defines CSS variables and styles related to typography, including font families,
* sizes, weights, line heights, and letter spacing.
*/
/**
 * @file
 * Global typography for site
*/
/**
* @file
* Z-Index
*
* Source of truth for z-index values used throughout the theme.
*/
/**
* @file
* SCSS variables for miscellaneous items
*/
/**
* @file
* Common dependencies for all theme stylesheets (both global and component specific)
*/
/**
 * Tabs/tab as seen on the search page.
 * Pattern reference: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/tab_role#example
 */
/**
 * Styles for "No Results" message to be displayed when 0 results are returned initiating 
 * a search from the Nav, or when 0 results are returned using filters
 */
/**
* @file
* Utility Mixins
*/
:root {
  --partner-modal-inline-size: minmax(100%, 20rem);
}
@media (min-width: 768px) {
  :root {
    --partner-modal-inline-size: minmax(20rem, 26.5rem);
  }
}

.partner-modal {
  background-color: var(--surface-primary);
  block-size: calc(100dvb - var(--header-dropdown-inset) - 2rem);
  border: 0 none;
  border-radius: 0.625rem 0.625rem 0 0;
  box-sizing: content-box;
  contain: layout;
  grid-auto-flow: row;
  grid-auto-rows: min-content;
  grid-template-columns: 1rem var(--partner-modal-inline-size) 1rem;
  inline-size: auto;
  inset: auto 0 0;
  margin: 0 auto;
  overflow: hidden auto;
  overscroll-behavior: contain;
  padding: 1.5rem;
}
@media (min-width: 768px) {
  .partner-modal {
    border: 0.125rem solid var(--border-primary);
    border-inline-end: 0 none;
    border-radius: 1.5rem 0 0 1.5rem;
    grid-template-columns: minmax(6rem, 1fr) var(--partner-modal-inline-size) minmax(4rem, 1fr);
    inset: auto 0 1rem auto;
  }
}
.partner-modal[open] {
  display: grid;
}
.partner-modal .partner-modal__inner {
  display: grid;
  grid-column: 2;
  grid-template-columns: subgrid;
  position: relative;
}
.partner-modal .partner-modal__close {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: 0 none;
  color: var(--text-primary);
  cursor: pointer;
  inset-block-start: 1rem;
  inset-inline-start: 50%;
  padding: 0;
  position: absolute;
  transform: translateX(-50%);
  z-index: 2;
}
.partner-modal .partner-modal__close svg + svg {
  display: none;
}
@media (min-width: 768px) {
  .partner-modal .partner-modal__close {
    inset-block-start: 0;
    inset-inline: auto 0;
    transform: translate(-50%, 2rem);
  }
  .partner-modal .partner-modal__close svg {
    display: none;
  }
  .partner-modal .partner-modal__close svg + svg {
    display: inline-block;
  }
}
.partner-modal .partner-modal__content {
  display: flex;
  flex-direction: column;
}
.partner-modal .partner-detail {
  display: flex;
  flex-direction: column;
  inline-size: var(--partner-modal-inline-size);
}
.partner-modal .partner-detail__content {
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-block: 1rem;
  padding-inline-end: 2rem;
}
.partner-modal .partner-detail__header,
.partner-modal .partner-detail__contact {
  margin-block-start: 1.5rem;
}
.partner-modal .partner-detail__category {
  align-self: flex-start;
  background-color: var(--surface-tag);
  border-radius: 1rem;
  color: var(--text-on-action);
  display: inline-block;
  flex: 0 1 auto;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  max-width: 100%;
  overflow: hidden;
  padding: 0.125rem 1rem;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: "DM Sans", "Trebuchet MS", Geneva, system-ui, sans-serif;
  font-weight: 800;
  font-size: 0.75rem;
  line-height: 1;
  /* stylelint-disable no-duplicate-selectors */
  /* stylelint-enable no-duplicate-selectors */
}
:has(.font-loaded) .partner-modal .partner-detail__category {
  line-height: 1;
}
.partner-modal .partner-detail__category {
  letter-spacing: 0.1em !important;
  line-height: 1.5rem !important;
}
.partner-modal .partner-detail__category:empty {
  display: none;
}
.partner-modal .partner-detail__title {
  margin-block-start: 1.5rem;
  align-items: start;
  color: var(--text-primary);
  display: block;
  max-block-size: 3lh;
  max-inline-size: 100%;
  overflow: hidden;
  text-transform: uppercase;
  white-space: wrap;
  text-transform: uppercase;
  font-family: Knockout53, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
  font-size: 0.75rem;
  line-height: 1;
  /* stylelint-disable no-duplicate-selectors */
  /* stylelint-enable no-duplicate-selectors */
}
:where(:has(.font-loaded)) .partner-modal .partner-detail__title {
  font-size-adjust: unset;
  font-stretch: unset;
  font-weight: unset;
  transform: none;
}
:has(.font-loaded) .partner-modal .partner-detail__title {
  line-height: 1;
}
.partner-modal .partner-detail__title {
  letter-spacing: 0.15em !important;
  line-height: 1rem !important;
}
.partner-modal .partner-detail__location {
  margin-block-start: 0.5rem;
  color: var(--text-secondary);
  font-style: normal;
  font-family: "DM Sans", "Trebuchet MS", Geneva, system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-size: 0.875rem;
  line-height: 1.57;
  /* stylelint-disable no-duplicate-selectors */
  /* stylelint-enable no-duplicate-selectors */
}
:has(.font-loaded) .partner-modal .partner-detail__location {
  line-height: 1.57;
}
.partner-modal .partner-detail__location {
  letter-spacing: 0.15em !important;
  line-height: 1rem !important;
}
.partner-modal .partner-detail__description {
  max-inline-size: calc(100% - 2rem);
}
.partner-modal .partner-detail__media-controls {
  align-items: end;
  block-size: 2.5rem;
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
  justify-content: space-between;
  margin-block: 1rem 0;
  position: relative;
}
.partner-modal .partner-detail__media-controls .swiper-pagination {
  flex: 1 0 0;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  left: auto;
  order: 2;
  right: 1rem;
  width: unset;
}
@media (min-width: 768px) {
  .partner-modal .partner-detail__media-controls .swiper-pagination {
    right: 0;
  }
}
.partner-modal .partner-detail__control-button {
  align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  aspect-ratio: 1;
  block-size: 2.5rem;
  border: 0.125rem solid currentColor;
  border-radius: 50%;
  color: var(--text-primary);
  display: inline-flex;
  inline-size: 2.5rem;
  justify-content: center;
  order: 0;
  padding: 0.25rem;
  position: static;
  transform: rotate(180deg);
  transform-origin: center;
  z-index: 1;
}
.partner-modal .partner-detail__control-button::after {
  background-color: currentColor;
  block-size: 2rem;
  content: "";
  inline-size: 2rem;
  -webkit-mask: url("/themes/custom/tnvacation/img/icons/tnds/chevron_right.svg") no-repeat center;
          mask: url("/themes/custom/tnvacation/img/icons/tnds/chevron_right.svg") no-repeat center;
  -webkit-mask-size: 2rem;
          mask-size: 2rem;
}
.partner-modal .partner-detail__control-button + .partner-detail__control-button {
  margin-inline: 0.5rem auto;
  order: 1;
  transform: rotate(0deg);
}
.partner-modal .partner-detail__media.swiper {
  inline-size: 100%;
  inline-size: -webkit-fill-available;
  inline-size: -moz-available;
  inline-size: stretch;
  display: flex;
  flex-direction: column;
  margin: 1rem 0 0;
  overflow: visible;
}
.partner-modal .partner-detail__media.swiper .swiper-wrapper {
  align-items: center;
  display: flex;
  gap: 1rem;
}
.partner-modal .partner-detail__media.swiper .swiper-pagination-bullet-active {
  --swiper-pagination-color: var(--border-primary);
}
.partner-modal .partner-detail__media.swiper .swiper-slide {
  border-radius: 0.75rem;
  box-sizing: border-box;
  flex: 1 0 calc(100dvi - 4rem);
  inline-size: -moz-min-content;
  inline-size: min-content;
  overflow: hidden;
}
@media (min-width: 768px) {
  .partner-modal .partner-detail__media.swiper .swiper-slide {
    flex-basis: calc(var(--partner-modal-inline-size) - 4rem);
  }
}
.partner-modal .partner-detail__media.swiper .swiper-slide img {
  block-size: auto;
  border-radius: 0.75rem;
  inline-size: 100%;
  max-inline-size: min(100dvi, var(--partner-modal-inline-size));
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}
.partner-modal .partner-detail__media.swiper .swiper-pagination-bullet {
  --swiper-pagination-color: transparent;
  --swiper-pagination-bullet-inactive-color: transparent;
  --swiper-pagination-bullet-inactive-opacity: 1;
  --swiper-pagination-bullet-size: 1rem;
  border: 0.125rem solid currentcolor;
  margin-block: auto;
  opacity: 1;
}
.partner-modal .partner-detail__media.swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
  --swiper-pagination-color: currentcolor;
}
.partner-modal :where(.partner-detail__phones, .partner-detail__directions) {
  align-items: center;
  align-self: stretch;
  -moz-column-gap: 0.75rem;
       column-gap: 0.75rem;
  display: flex;
  flex-wrap: wrap;
}
.partner-modal :where(.partner-detail__phones, .partner-detail__directions) .cta-button {
  block-size: 3rem;
  display: inline-flex;
  flex: 1 0 0;
  flex-flow: row nowrap;
  font-family: "DM Sans", "Trebuchet MS", Geneva, system-ui, sans-serif;
  font-size: 1rem;
  font-style: normal;
  font-weight: bold;
  line-height: 1.5rem;
  max-inline-size: -moz-max-content;
  max-inline-size: max-content;
  text-decoration-line: underline;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  text-decoration-style: solid;
  text-decoration-thickness: 0.115rem;
  text-transform: none;
  text-underline-offset: 0.25rem;
  text-underline-position: from-font;
  white-space: nowrap;
}
.partner-modal :where(.partner-detail__phones, .partner-detail__directions) .cta-button:focus .cta-button__text {
  text-decoration: none;
}
/*# sourceMappingURL=../maps/partner-modal/partner-modal.css.map */
