@charset "UTF-8";
/**
 * @file
 * Section Header Component
 */
/**
* @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 {
  --section-overlap-size: -4rem;
}
@media (min-width: 768px) {
  :root {
    --section-overlap-size: -8rem;
  }
}

.section-header {
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  display: grid;
  grid-template-columns: 1fr min(78rem, 100% - 1rem * 2) 1fr;
}
.section-header > * {
  grid-column: 2;
}

.section-header__wrapper {
  padding-bottom: 4.25rem;
  position: relative;
  z-index: 0;
}

.section-header__content {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .section-header__content {
    flex-direction: row;
  }
}

.section-header__title {
  display: grid;
  grid-template-columns: 2rem 1fr 2rem;
  grid-template-rows: 2.25rem 1fr 1rem;
}
@media (min-width: 768px) {
  .section-header__title {
    flex-basis: 40%;
    grid-template-columns: 3.5rem 1fr 3.5rem;
    grid-template-rows: 2.25rem 1fr 1.75rem;
  }
}

.section-header__title-text {
  grid-column-start: 2;
  grid-row-start: 2;
  z-index: 1;
}
.section-header__title-text > * {
  max-inline-size: 13ch;
  text-transform: uppercase;
  font-family: Knockout66, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
  font-size-adjust: cap-height 0.316;
  font-stretch: extra-condensed;
  font-weight: 700;
  transform: scaleY(2.07);
  font-size: clamp(5.75rem, 5.5357rem + 1.0714vw, 6.5rem);
  line-height: 0.36;
}
:where(:has(.font-loaded)) .section-header__title-text > * {
  font-size-adjust: unset;
  font-stretch: unset;
  font-weight: unset;
  transform: none;
}
:has(.font-timed-out) .section-header__title-text > * {
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
:has(.font-loaded) .section-header__title-text > * {
  line-height: 0.74;
}

.section-header__title-image {
  grid-column: 1/-1;
  grid-row: 1/-1;
  position: relative;
  z-index: 0;
}
.section-header__title-image img {
  height: 100%;
  inset: 0;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  width: 100%;
}

.section-header__body {
  padding: 0 2rem;
}
@media (min-width: 768px) {
  .section-header__body {
    padding: 2.25rem 3.5rem 0 2rem;
  }
}
.section-header__body p {
  margin: 0;
  max-inline-size: 33.4375rem;
}

.section-header--tear {
  filter: drop-shadow(0 -0.0625rem 0.125rem rgba(0, 0, 0, 0.25));
}

.section-header__wrapper.section-header--tear {
  background-color: unset;
}

.section-header--tear::after {
  background-color: var(--current-background);
  border-radius: 2.25rem 2.25rem 0 0;
  content: "";
  inset: 0;
  -webkit-mask: url("/themes/custom/tnvacation/img/section-header-tear.png") no-repeat, linear-gradient(to top, white, white) no-repeat;
          mask: url("/themes/custom/tnvacation/img/section-header-tear.png") no-repeat, linear-gradient(to top, white, white) no-repeat;
  -webkit-mask-position: bottom, top;
          mask-position: bottom, top;
  -webkit-mask-size: auto, 100% calc(100% - 4.3125rem);
          mask-size: auto, 100% calc(100% - 4.3125rem);
  position: absolute;
  z-index: -1;
}

.paragraph--type--section-header:not(.section-header--overlap) {
  margin-block-start: 1.5rem;
}

.section-header--overlap {
  margin-block-start: var(--section-overlap-size);
}

:has(+ div .section-header--overlap) .layout__region > .paragraph {
  padding-block-end: 4rem;
}
@media (min-width: 768px) {
  :has(+ div .section-header--overlap) .layout__region > .paragraph {
    padding-block-end: 8rem;
  }
}

.section-header__sponsored-tag {
  background-color: var(--surface-secondary);
  color: var(--text-on-secondary);
  display: inline-block;
  padding: 0.25rem 0.75rem;
  text-transform: uppercase;
  width: -moz-fit-content;
  width: fit-content;
  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;
}
:has(.font-loaded) .section-header__sponsored-tag {
  line-height: 1.57;
}

.section-header--article {
  margin-bottom: 0.5rem;
}
.section-header--article .section-header__wrapper {
  padding-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .section-header--article .section-header__wrapper {
    padding-bottom: 1rem;
  }
}
.section-header--article .section-header__sponsored-tag {
  margin-bottom: 0.5rem;
}
@media (min-width: 768px) {
  .section-header--article .section-header__sponsored-tag {
    margin-bottom: 1.25rem;
  }
}
.section-header--article .section-header__title-text {
  grid-column-start: unset;
  grid-row-start: unset;
  margin-bottom: 1rem;
  max-inline-size: unset;
  position: relative;
  text-transform: uppercase;
  font-family: Knockout66, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;
  font-size-adjust: cap-height 0.316;
  font-stretch: extra-condensed;
  font-weight: 700;
  transform: scaleY(2.07);
  font-size: clamp(3.25rem, 3.0357rem + 1.0714vw, 4rem);
  line-height: 0.55;
}
:where(:has(.font-loaded)) .section-header--article .section-header__title-text {
  font-size-adjust: unset;
  font-stretch: unset;
  font-weight: unset;
  transform: none;
}
:has(.font-timed-out) .section-header--article .section-header__title-text {
  font-family: system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
:has(.font-loaded) .section-header--article .section-header__title-text {
  line-height: 0.83;
}
@media (min-width: 768px) {
  .section-header--article .section-header__title-text {
    margin-bottom: 1.5rem;
  }
}
.section-header--article .section-header__content {
  flex-direction: column;
  margin: 0 auto;
  padding: 2.25rem 1.5rem 0;
}
@media (min-width: 768px) {
  .section-header--article .section-header__content {
    flex-direction: column;
    margin-left: 0;
    padding: 2rem 3.5rem 0;
  }
}
.section-header--article .section-header__content h1 {
  max-inline-size: unset;
}
.section-header--article .section-header__body {
  margin-top: 0;
  padding: 0;
  width: 100%;
}
@media (min-width: 768px) {
  .section-header--article .section-header__body {
    display: block;
    margin-left: 0;
  }
  .section-header--article .section-header__body p {
    max-inline-size: initial;
  }
}
/*# sourceMappingURL=../maps/section-header/section-header.css.map */
