/**
	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
   -------------------------------------------------------------------------- */
/* Layout Margins (top/bottom)
   -------------------------------------------------------------------------- */
/* Colors
   -------------------------------------------------------------------------- */
/* Filter Colors
   Use https://codepen.io/sosuke/pen/Pjoqqp to generate filters for new colors
   -------------------------------------------------------------------------- */
/* Directories and Misc?
   -------------------------------------------------------------------------- */
/**
 * This file is used to override bootstrap variables.  build/node_modules/bootstrap/scss/_variables.scss
 * Some examples are included below.
 */
/* Grid breakpoints
   Define the minimum dimensions at which your layout will change,
   adapting to different screen sizes, for use in media queries.
   ------------------------------------------------------------------------ */
/* Body
   ------------------------------------------------------------------------ */
/* Gutter width (half is added to each column)
   ------------------------------------------------------------------------ */
/* Default transition.  Used in transition() mixin.
   ------------------------------------------------------------------------ */
/* Tools
   -------------------------------------------------------------------------- */
/**
	General mixins
	Note: Variables are loaded via _core.scss before this file, so no @use needed
*/
/* 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
   -------------------------------------------------------------------------- */
/* Variable Min Height
   Will scale from $startHeight to $endHeight, from $startWidth to
   $endWidth.
   -------------------------------------------------------------------------- */
/* Variable Image Width
   Will scale from $startWidth to $endWidth, from $startScreenWidth to
   $endScreenWidth.  Must be in proper media query.
   -------------------------------------------------------------------------- */
/**
 * Typography Mixins & Font Declarations
 *
 * Font Families:
 *   - Self Modern: Used for headings (H1-H6) and display text
 *   - Funkis A Springs: Used for body copy, callouts, and eyebrow text
 *
 * Usage:
 *   @include self-modern--book;
 *   @include funkis--light;
 */
/* ==========================================================================
   @font-face Declarations
   ========================================================================== */
@font-face {
  font-family: "Self Modern";
  src: url("/content/themes/base/assets/font/self-modern/SelfModern-Book.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Self Modern";
  src: url("/content/themes/base/assets/font/self-modern/SelfModern-Regular.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Self Modern";
  src: url("/content/themes/base/assets/font/self-modern/SelfModern-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Funkis A Springs";
  src: url("/content/themes/base/assets/font/funkis/FunkisASprings-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Funkis A Springs";
  src: url("/content/themes/base/assets/font/funkis/FunkisASprings-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Funkis A Springs";
  src: url("/content/themes/base/assets/font/funkis/FunkisASprings-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Funkis A Springs";
  src: url("/content/themes/base/assets/font/funkis/FunkisASprings-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Funkis A Springs";
  src: url("/content/themes/base/assets/font/funkis/FunkisASprings-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
/* ==========================================================================
   Font Family Variables
   ========================================================================== */
/* ==========================================================================
   Self Modern Mixins (Headings & Display)
   ========================================================================== */
/* ==========================================================================
   Funkis A Springs Mixins (Body & UI)
   ========================================================================== */
/* ==========================================================================
   Typography Style Mixins (Composite)
   These combine font, size, line-height, and other properties
   ========================================================================== */
/**
	Form specific mixins
	A set of default styles that can be applied to Gravity Forms and other forms
*/
.banners {
  display: none;
}
.banners.is-visible {
  display: block;
}
.admin-bar .banners {
  margin-top: 46px;
}
@media screen and (min-width: 783px) {
  .admin-bar .banners {
    margin-top: 32px;
  }
}

.banner {
  font-family: "Funkis A Springs", system-ui, sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 13px;
  line-height: 24px;
  display: none;
  position: relative;
  color: #FFFFFF;
  background: #288074;
  padding: 16px 54px 48px 24px;
}
@media (prefers-reduced-motion: no-preference) {
  .banner {
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
  }
}
@media (min-width: 768px) {
  .banner {
    padding: 14px 72px 52px 32px;
  }
}
@media (min-width: 1280px) {
  .banner {
    padding-top: 16px;
    padding-bottom: 16px;
    padding-right: clamp(80px, 80px + (100vw - 1280px) / ((1920 - 1280) / (125 - 80)), 125px);
    padding-left: clamp(176px, 176px + (100vw - 1280px) / ((1920 - 1280) / (208 - 176)), 208px);
  }
}
.banner.is-visible {
  display: block;
}
.banner.is-hidden {
  display: none;
}
.banner__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 40px;
}
.banner__content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.banner__content .wysiwyg p {
  margin: 0;
}
.banner__content a,
.banner__content .link,
.banner__content .wysiwyg a:not(.link) {
  font-family: "Funkis A Springs", system-ui, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.42px;
  color: #FFFFFF;
  text-decoration: underline;
}
.banner__content a:hover, .banner__content a:focus,
.banner__content .link:hover,
.banner__content .link:focus,
.banner__content .wysiwyg a:not(.link):hover,
.banner__content .wysiwyg a:not(.link):focus {
  color: #FFFFFF;
  text-decoration: none;
}
.banner__close {
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
  position: absolute;
  top: 50%;
  right: 24px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 16px;
  height: 16px;
  color: #FFFFFF;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
  .banner__close {
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
  }
}
@media (min-width: 768px) {
  .banner__close {
    right: 36px;
  }
}
@media (min-width: 1280px) {
  .banner__close {
    right: clamp(48px, 48px + (100vw - 1280px) / ((1920 - 1280) / (80 - 48)), 80px);
  }
}
.banner__close:hover, .banner__close:focus {
  opacity: 0.7;
}
.banner__close .v-icon__svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.banners--slider {
  position: relative;
}
.banners--slider .banner {
  display: block;
  position: relative;
}
.banners--slider .splide {
  visibility: visible;
  position: relative;
}
@media (prefers-reduced-motion: no-preference) {
  .banners--slider .splide__track,
  .banners--slider .splide__list {
    -webkit-transition: height 0.4s ease-in-out;
    transition: height 0.4s ease-in-out;
  }
}
.banners--slider .splide__track {
  overflow: hidden;
}
.banners--slider .splide__slide {
  opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  .banners--slider .splide__slide {
    -webkit-transition: opacity 0.4s ease-in-out;
    transition: opacity 0.4s ease-in-out;
  }
}
.banners--slider .splide__slide.is-active, .banners--slider .splide__slide.is-visible {
  opacity: 1;
}
.banners--slider .splide__arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 32px;
  width: 64px;
  position: absolute;
  left: 24px;
  top: auto;
  bottom: 16px;
  z-index: 10;
  margin-top: 4px;
}
@media (min-width: 768px) {
  .banners--slider .splide__arrows {
    gap: 21px;
    left: 28px;
  }
}
@media (min-width: 1280px) {
  .banners--slider .splide__arrows {
    left: clamp(48px, 48px + (100vw - 1280px) / ((1920 - 1280) / (80 - 48)), 80px);
    gap: 40px;
    top: 50%;
    bottom: auto;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    margin-top: 0;
  }
}
.banners--slider .splide__arrow {
  border: 0;
  background: none;
  padding: 0;
  margin: 0;
  -webkit-appearance: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: static;
  width: 16px;
  height: 16px;
  background: transparent;
  color: #FFFFFF;
  cursor: pointer;
}
@media (prefers-reduced-motion: no-preference) {
  .banners--slider .splide__arrow {
    -webkit-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
  }
}
.banners--slider .splide__arrow:hover, .banners--slider .splide__arrow:focus {
  background: transparent;
  opacity: 0.7;
}
.banners--slider .splide__arrow svg {
  display: block;
  width: 14px;
  height: 14px;
  fill: currentColor;
}
@media (min-width: 1280px) {
  .banners--slider .splide__arrow svg {
    width: 16px;
    height: 16px;
  }
}
.banners--slider .splide__arrow--prev, .banners--slider .splide__arrow--next {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.banners--slider[data-single-slide=true] .splide__arrows {
  display: none;
}
.banners--slider[data-single-slide=true] .banner {
  padding-bottom: 16px;
}
@media (min-width: 1280px) {
  .banners--slider[data-single-slide=true] .banner {
    padding-left: clamp(48px, 48px + (100vw - 1280px) / ((1920 - 1280) / (80 - 48)), 80px);
  }
}