/* stylelint-disable order/order */
/*
* Converts an pixel value into a rem value.
*
* @param string  $values    the pixel value(s) as a number. Can convert multiple values if values separated by a space.
* @param integer $base      the base pixel value.
*
* @return string   a space-separated string of rem values.
*/
/*
* This is an abbreviated wrapper for the responsive-values function.
*/
/*
* Creates a CSS clamp value that sizes between breakpoints.
*
* @param integer $min                    the minimum pixel value.
* @param integer $max                    the maximum pixel value.
* @param string  $smallest-breakpoint    the name of the smallest breakpoint from the $grid-breakpoints variable.
* @param string  $largest-breakpoint     the name of the largest breakpoint from the $grid-breakpoints variable.
* @param string  $screen                 whether to use a horizontal (width) breakpoint or a vertical (height) breakpoint.
*
* @return string   a CSS clamp property value.
*/
/*
* Outputs a font family value from the $fonts variable.
*
* @param string  $key   the font key.
*
* @return string   a font family value.
*/
/*
* Outputs a color value from the $paints or $additional-paints variables.
*
* @param string  $key   the color name.
*
* @return string   a color value.
*/
/*
* Outputs an effect value from the $effects variable.
*
* @param string  $key   the effect name.
*
* @return string   an effect value.
*/
/* stylelint-enable order/order */
/*
* Used to target heading selectors.
*
* @param integer  $start               the first heading element to target. 1 through 6.
* @param integer  $end                 the last heading element to target. 1 through 6.
* @param string   $beforeCombinator    the CSS combinator to include before the heading classes.
* @param string   $afterCombinator     the CSS combinator to include after the heading classes.
* @param boolean  $includeFontClasses  whether or not to include the .has-t-1... classes or just output the standard heading elements.
*
* @return string  The included CSS wrapped with selectors for the specified headings.
*/
/*
* Used to add properties to a for a pseudo element to make an icon based on the iconfont set.
*
* @param string   $content     the content for the icon. Usually uses one of the iconfont variables.
* @param string   $font-size   the font size with unit.
*
* @return string  The CSS properties for the icon.
*/
/*
* Generates CSS to fit an element into the 12-column grid. Only works when used on an element where the parent element is the width of the entire page.
*
* @return string  CSS properties to set the width of the element to the specified column sizes.
*/
/*
* Used to target elements with a background color that has a text color different from the standard color.
*
* @return string  The included CSS wrapped with selectors for the specified background.
*/
/*
* Used to add the CSS Grid properties for the 12-column grid.
*
* @return string  The CSS Grid properties for the 12-column grid.
*/
/****************
 * Fonts
 *
 * The font settings are defined via the gulp figma which task creates variables in the css/__base-includes/figma/_figma-font-styles.scss file based on the Figma file. Additional variables are defined here.
 ****************/
/*
* This array is used to specify the fonts used on the project with the following parameters:
	base - the name for use in the font() mixin.
		css - the output CSS value.
		figma-name: - the 'font-family' name ued in the _figma-font-variable.scss file.
	)
*/
/****************
 * Colors
 *
 * The primary colors are defined via the gulp figma task which creates variables in the css/__base-includes/figma/_figma-color-variables.scss file based on the Figma file. Additional variables are defined here.
 ****************/
/* If additional colors need to be added to the _figma-color-variables.scss, they can be added to this variable: */
/* This variable controls the background colors generated in the ACF background_color field and the background color classes - bg-white, bg-gray-92, etc: */
/* If a background color uses a different font color than the default color, use these variables to specify the alternate colors */
/* Backgrounds specified in this variable will use the alternative text colors: */
/****************
 * Effects
 ****************/
/****************
 * Grid Settings
 ****************/
/****************
 * Block Spacing
 *
 * These variables are based on the "Spacing" rules found in the "Foundations" section in Figma. These control the default spacing between blocks of different colors.
 ****************/
/*
This file can be used for optional additions to the Figma-generated font style mixins in the figma/_figma-font-styles.scss file.

For example, if you want to add styles to the @overline mixin, just create a mixin here called @overline-custom and that CSS will be added to the primary mixin:

@mixin overline-custom() {
	font-weight: 700;
}
*/
.block-hero-homepage {
  position: relative;
  padding: clamp(3.5rem, -1.6428571429rem + 10.7142857143vw, 8rem) 0 clamp(3.5rem, -1.6428571429rem + 10.7142857143vw, 8rem);
  text-align: center;
}
.block-hero-homepage.bg-transparent:not(.block-meets-border) + .acf-block.bg-transparent:not(.block-meets-border):not(.block-meets-border--desktop-only, .block-meets-border--mobile-only) {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
@media (max-width: 47.98rem) {
  .block-hero-homepage.bg-transparent:not(.block-meets-border) + .acf-block.bg-transparent:not(.block-meets-border).block-meets-border--desktop-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage.bg-transparent:not(.block-meets-border) + .acf-block.bg-transparent:not(.block-meets-border).block-meets-border--mobile-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
.block-hero-homepage.bg-cream:not(.block-meets-border) + .acf-block.bg-cream:not(.block-meets-border):not(.block-meets-border--desktop-only, .block-meets-border--mobile-only) {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
@media (max-width: 47.98rem) {
  .block-hero-homepage.bg-cream:not(.block-meets-border) + .acf-block.bg-cream:not(.block-meets-border).block-meets-border--desktop-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage.bg-cream:not(.block-meets-border) + .acf-block.bg-cream:not(.block-meets-border).block-meets-border--mobile-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
.block-hero-homepage.bg-cream-stripes:not(.block-meets-border) + .acf-block.bg-cream-stripes:not(.block-meets-border):not(.block-meets-border--desktop-only, .block-meets-border--mobile-only) {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
@media (max-width: 47.98rem) {
  .block-hero-homepage.bg-cream-stripes:not(.block-meets-border) + .acf-block.bg-cream-stripes:not(.block-meets-border).block-meets-border--desktop-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage.bg-cream-stripes:not(.block-meets-border) + .acf-block.bg-cream-stripes:not(.block-meets-border).block-meets-border--mobile-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
.block-hero-homepage.bg-cream-stripes-alt:not(.block-meets-border) + .acf-block.bg-cream-stripes-alt:not(.block-meets-border):not(.block-meets-border--desktop-only, .block-meets-border--mobile-only) {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
@media (max-width: 47.98rem) {
  .block-hero-homepage.bg-cream-stripes-alt:not(.block-meets-border) + .acf-block.bg-cream-stripes-alt:not(.block-meets-border).block-meets-border--desktop-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage.bg-cream-stripes-alt:not(.block-meets-border) + .acf-block.bg-cream-stripes-alt:not(.block-meets-border).block-meets-border--mobile-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
.block-hero-homepage.bg-dark:not(.block-meets-border) + .acf-block.bg-dark:not(.block-meets-border):not(.block-meets-border--desktop-only, .block-meets-border--mobile-only) {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
@media (max-width: 47.98rem) {
  .block-hero-homepage.bg-dark:not(.block-meets-border) + .acf-block.bg-dark:not(.block-meets-border).block-meets-border--desktop-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage.bg-dark:not(.block-meets-border) + .acf-block.bg-dark:not(.block-meets-border).block-meets-border--mobile-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
.block-hero-homepage.bg-dark-stripes:not(.block-meets-border) + .acf-block.bg-dark-stripes:not(.block-meets-border):not(.block-meets-border--desktop-only, .block-meets-border--mobile-only) {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
@media (max-width: 47.98rem) {
  .block-hero-homepage.bg-dark-stripes:not(.block-meets-border) + .acf-block.bg-dark-stripes:not(.block-meets-border).block-meets-border--desktop-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage.bg-dark-stripes:not(.block-meets-border) + .acf-block.bg-dark-stripes:not(.block-meets-border).block-meets-border--mobile-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
.block-hero-homepage.bg-dark-stripes-alt:not(.block-meets-border) + .acf-block.bg-dark-stripes-alt:not(.block-meets-border):not(.block-meets-border--desktop-only, .block-meets-border--mobile-only) {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
@media (max-width: 47.98rem) {
  .block-hero-homepage.bg-dark-stripes-alt:not(.block-meets-border) + .acf-block.bg-dark-stripes-alt:not(.block-meets-border).block-meets-border--desktop-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage.bg-dark-stripes-alt:not(.block-meets-border) + .acf-block.bg-dark-stripes-alt:not(.block-meets-border).block-meets-border--mobile-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
.block-hero-homepage.bg-dark-chevron:not(.block-meets-border) + .acf-block.bg-dark-chevron:not(.block-meets-border):not(.block-meets-border--desktop-only, .block-meets-border--mobile-only) {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
@media (max-width: 47.98rem) {
  .block-hero-homepage.bg-dark-chevron:not(.block-meets-border) + .acf-block.bg-dark-chevron:not(.block-meets-border).block-meets-border--desktop-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage.bg-dark-chevron:not(.block-meets-border) + .acf-block.bg-dark-chevron:not(.block-meets-border).block-meets-border--mobile-only {
    margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
  }
}
@media (max-width: 47.98rem) {
  .block-hero-homepage {
    padding-bottom: 0;
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage {
    display: flex;
    flex-flow: column;
    justify-content: center;
    height: 55rem;
  }
}
.block-hero-homepage::after {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  content: "";
  z-index: 0;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3));
}
.block-hero-homepage:not(.block-hero-homepage--has-image).bg-transparent + .acf-block.bg-transparent {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
.block-hero-homepage:not(.block-hero-homepage--has-image).bg-cream + .acf-block.bg-cream {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
.block-hero-homepage:not(.block-hero-homepage--has-image).bg-cream-stripes + .acf-block.bg-cream-stripes {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
.block-hero-homepage:not(.block-hero-homepage--has-image).bg-cream-stripes-alt + .acf-block.bg-cream-stripes-alt {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
.block-hero-homepage:not(.block-hero-homepage--has-image).bg-dark + .acf-block.bg-dark {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
.block-hero-homepage:not(.block-hero-homepage--has-image).bg-dark-stripes + .acf-block.bg-dark-stripes {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
.block-hero-homepage:not(.block-hero-homepage--has-image).bg-dark-stripes-alt + .acf-block.bg-dark-stripes-alt {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
.block-hero-homepage:not(.block-hero-homepage--has-image).bg-dark-chevron + .acf-block.bg-dark-chevron {
  margin-top: clamp(-7.5rem, 5.3571428571rem + -14.2857142857vw, -1.5rem);
}
@media (min-width: 48rem) {
  .block-hero-homepage__image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 0;
  }
}
.block-hero-homepage__video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1f1f1f;
  visibility: visible;
  opacity: 1;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 2s, visibility 2s;
}
@media (min-width: 48rem) {
  .block-hero-homepage__image-wrapper {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage__image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.block-hero-homepage__search {
  width: calc(var(--columnWidth) * 12 - clamp(1rem, -0.1428571429rem + 2.380952381vw, 2rem));
  max-width: calc(var(--columnMaxWidth) * 12 - clamp(1rem, -0.1428571429rem + 2.380952381vw, 2rem));
  position: relative;
  z-index: 1;
  margin: clamp(1.75rem, 1.1785714286rem + 1.1904761905vw, 2.25rem) auto 0 auto;
}
@media (min-width: 36rem) {
  .block-hero-homepage__search {
    width: calc(var(--columnWidth) * 10 - clamp(1rem, -0.1428571429rem + 2.380952381vw, 2rem));
    max-width: calc(var(--columnMaxWidth) * 10 - clamp(1rem, -0.1428571429rem + 2.380952381vw, 2rem));
  }
}
@media (min-width: 48rem) {
  .block-hero-homepage__search {
    width: calc(var(--columnWidth) * 10 - clamp(1rem, -0.1428571429rem + 2.380952381vw, 2rem));
    max-width: calc(var(--columnMaxWidth) * 10 - clamp(1rem, -0.1428571429rem + 2.380952381vw, 2rem));
  }
}
@media (min-width: 62rem) {
  .block-hero-homepage__search {
    width: calc(var(--columnWidth) * 8 - clamp(1rem, -0.1428571429rem + 2.380952381vw, 2rem));
    max-width: calc(var(--columnMaxWidth) * 8 - clamp(1rem, -0.1428571429rem + 2.380952381vw, 2rem));
  }
}
@media (min-width: 75rem) {
  .block-hero-homepage__search {
    width: calc(var(--columnWidth) * 6 - clamp(1rem, -0.1428571429rem + 2.380952381vw, 2rem));
    max-width: calc(var(--columnMaxWidth) * 6 - clamp(1rem, -0.1428571429rem + 2.380952381vw, 2rem));
  }
}
.block-hero-homepage__search::before {
  position: absolute;
  top: -0.5rem;
  left: -0.5rem;
  right: -0.5rem;
  content: "";
  z-index: 0;
  height: 4.5rem;
  border-radius: 2.25rem;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(6px);
}
@media (min-width: 48rem) {
  .block-hero-homepage__search::before {
    top: -0.75rem;
    left: -0.75rem;
    right: -0.75rem;
    height: 5rem;
    border-radius: 2.5rem;
  }
}
.block-hero-homepage__search input[type=text] {
  position: relative;
  z-index: 1;
  height: 3.5rem;
  margin-bottom: 1.75rem;
  padding: clamp(0.875rem, 1.1428571429rem + -0.2976190476vw, 1rem) 3.75rem clamp(0.875rem, 1.1428571429rem + -0.2976190476vw, 1rem) 1.25rem !important;
  color: #001d34 !important;
  font-size: 1.125rem !important;
  line-height: 1.625rem !important;
  border: 0 !important;
  border-radius: 1.75rem !important;
}
@media (min-width: 48rem) {
  .block-hero-homepage__search input[type=text] {
    margin-bottom: 0;
  }
}
.block-hero-homepage__search input[type=submit] {
  position: relative;
  z-index: 1;
  height: 3rem;
  font-weight: 700 !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  letter-spacing: 0.0375rem;
  text-transform: uppercase;
  border: 0 !important;
  border-radius: 1.75rem !important;
}
@media (min-width: 48rem) {
  .block-hero-homepage__search input[type=submit] {
    position: absolute;
    top: 0;
    right: 0;
    width: auto !important;
    height: 3.5rem;
    padding: clamp(0.75rem, 0.4642857143rem + 0.5952380952vw, 1rem) 1.875rem !important;
    color: #fffdf9 !important;
    background-color: #001d34 !important;
  }
}
.block-hero-homepage__search input[type=submit]:hover, .block-hero-homepage__search input[type=submit]:focus {
  color: #fffdf9 !important;
  background-color: #e00000 !important;
}
.block-hero-homepage .content-wrapper {
  position: relative;
  z-index: 1;
  padding-bottom: 3rem;
}
.block-hero-homepage.block-editor-block-list__block::before {
  z-index: 1;
}
.block-hero-homepage .video-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: transparent;
  visibility: hidden;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transition: opacity 2s, visibility 2s;
}
.block-hero-homepage .video-bg iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
}
.block-hero-homepage .video-bg.active {
  visibility: visible;
  opacity: 1;
}
.block-hero-homepage__scroll {
  font-weight: var(--subtitle-1-font-weight);
  font-size: var(--subtitle-1-font-size);
  font-family: var(--subtitle-1-font-family);
  line-height: var(--subtitle-1-line-height);
  position: absolute;
  left: 50%;
  bottom: 1.5rem;
  z-index: 1;
  display: block;
  color: #fffdf9;
  border: 0;
  background: none;
  transform: translateX(-50%);
}
.block-hero-homepage__scroll::after {
  content: "\ea0e";
  font-weight: 400;
  font-size: 1.25rem;
  font-family: "iconfont-propel";
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  transition: transform 0.2s linear;
}
.block-hero-homepage__scroll:hover::after {
  transform: translateY(0.5rem);
}