/* 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.
*/
/* Quick Positioning */
/****************
 * 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;
}
*/
.lightbox-gallery__thumbnails-wrapper {
  margin-bottom: -2rem;
}
@media (max-width: 61.98rem) {
  .lightbox-gallery__thumbnails-wrapper {
    margin-bottom: -1.25rem;
  }
}
@media (max-width: 35.98rem) {
  .lightbox-gallery__thumbnails-wrapper {
    margin-bottom: -0.9375rem;
  }
}
.lightbox-gallery__gallery-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 999;
  padding-top: 5rem;
  background-color: #000;
  visibility: visible;
  opacity: 1;
  transition: opacity 0.2s linear;
}
.lightbox-gallery__gallery-wrapper:not(.active) {
  visibility: hidden;
  opacity: 0;
}
.lightbox-gallery__close {
  position: absolute;
  top: 1.875rem;
  right: 1.875rem;
  z-index: 999;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  color: #fff;
  font-size: 2.5rem;
  border: none;
  border-radius: 50%;
  background: none;
  background-color: #515151;
  cursor: pointer;
  transition: background-color 0.2s linear;
}
.lightbox-gallery__close:hover, .lightbox-gallery__close:focus {
  background-color: #707070;
}
.lightbox-gallery__close > [class^=icon] {
  display: block;
  line-height: 0;
}
.lightbox-gallery__close > [class^=icon]::before {
  line-height: 0;
}
.lightbox-gallery__single-col {
  margin-bottom: 2rem;
}
@media (max-width: 61.98rem) {
  .lightbox-gallery__single-col {
    margin-bottom: 1.25rem;
  }
}
@media (max-width: 35.98rem) {
  .lightbox-gallery__single-col {
    margin-bottom: 0.9375rem;
  }
}
.lightbox-gallery__single-image-wrapper {
  display: block;
  overflow: hidden;
}
.lightbox-gallery__single-image-wrapper:hover img, .lightbox-gallery__single-image-wrapper:focus img {
  transform: scale(1.03);
}
.lightbox-gallery .gallery-slider {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translate(0, -50%);
}
.lightbox-gallery .gallery-slider__caption {
  color: #fff;
}
.lightbox-gallery .gallery-slider__caption a,
.lightbox-gallery .gallery-slider__caption a:hover,
.lightbox-gallery .gallery-slider__caption a:visited,
.lightbox-gallery .gallery-slider__caption a:active {
  color: #fff;
}

.gallery-slider__slider {
  padding: 0;
}
.gallery-slider__caption {
  font-weight: var(--caption-font-weight);
  font-size: var(--caption-font-size);
  font-family: var(--caption-font-family);
  line-height: var(--caption-line-height);
  display: table-caption;
  caption-side: bottom;
  margin-top: 1rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  text-align: center;
}
@media (max-width: 61.98rem) {
  .gallery-slider__caption {
    display: none !important;
  }
}
.bg-accent .gallery-slider__caption, .bg-dark .gallery-slider__caption, .bg-accent-variant .gallery-slider__caption {
  color: #fff;
}
.bg-accent .gallery-slider__caption a,
.bg-accent .gallery-slider__caption a:hover,
.bg-accent .gallery-slider__caption a:visited,
.bg-accent .gallery-slider__caption a:active, .bg-dark .gallery-slider__caption a,
.bg-dark .gallery-slider__caption a:hover,
.bg-dark .gallery-slider__caption a:visited,
.bg-dark .gallery-slider__caption a:active, .bg-accent-variant .gallery-slider__caption a,
.bg-accent-variant .gallery-slider__caption a:hover,
.bg-accent-variant .gallery-slider__caption a:visited,
.bg-accent-variant .gallery-slider__caption a:active {
  color: #fff;
}
.gallery-slider .slick-arrow {
  outline: none;
}
.gallery-slider__play-video {
  position: relative;
  cursor: pointer;
}
.gallery-slider__play-video::before {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(0deg, rgba(4, 26, 47, 0.6), rgba(4, 26, 47, 0.6));
  transition: background 300ms ease;
}
.gallery-slider__play-video:hover::before, .gallery-slider__play-video:focus::before {
  background: none;
}
.gallery-slider__play-video:not(:hover)::before {
  background: linear-gradient(0deg, rgba(4, 26, 47, 0.2), rgba(4, 26, 47, 0.2)) !important;
}
.gallery-slider__play-video .c-btn--play {
  position: absolute;
  top: 50%;
  left: 50%;
  bottom: auto;
  right: auto;
  z-index: 2;
  transform: translate(-50%, -50%);
  background-color: #b00020;
}

.component-lightbox__iframe {
  margin-bottom: 5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.component-lightbox__iframe-container {
  position: relative;
  height: 100%;
  width: 100%;
  padding-top: 56.25%;
}
.component-lightbox__iframe.hidden {
  display: none;
}
.component-lightbox__iframe .component-lightbox__video-caption {
  font-weight: var(--caption-font-weight);
  font-size: var(--caption-font-size);
  font-family: var(--caption-font-family);
  line-height: var(--caption-line-height);
  color: #fff;
  display: table-caption;
  caption-side: bottom;
  margin-top: 1rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  text-align: center;
}
.component-lightbox__iframe .component-lightbox__video-caption a {
  color: #fff;
}
.component-lightbox__iframe .component-lightbox__video-caption a:hover, .component-lightbox__iframe .component-lightbox__video-caption a:active, .component-lightbox__iframe .component-lightbox__video-caption a:visited {
  color: #fff;
}

.component-lightbox__image {
  padding-bottom: 5rem;
  width: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.component-lightbox__image.hidden {
  display: none;
}
.component-lightbox__image img {
  object-fit: contain;
  height: 100%;
}
.component-lightbox__image .component-lightbox__image-caption {
  font-weight: var(--caption-font-weight);
  font-size: var(--caption-font-size);
  font-family: var(--caption-font-family);
  line-height: var(--caption-line-height);
  color: #fff;
  display: table-caption;
  caption-side: bottom;
  margin-top: 1rem;
  margin-right: auto;
  margin-bottom: 0;
  margin-left: auto;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  text-align: center;
}
.component-lightbox__image .component-lightbox__image-caption a {
  color: #fff;
}
.component-lightbox__image .component-lightbox__image-caption a:hover, .component-lightbox__image .component-lightbox__image-caption a:active, .component-lightbox__image .component-lightbox__image-caption a:visited {
  color: #fff;
}

.component-lightbox__container-button {
  outline: none;
  margin-top: -1rem;
  color: #0f4374;
  border-color: #fff !important;
  background-color: #fff !important;
  cursor: pointer;
  position: absolute;
  z-index: 2;
  width: 3rem;
  height: 3rem;
  padding: 0;
  font-size: 0;
  line-height: 0;
  text-align: center;
  border: none;
  border-radius: 0;
  box-shadow: none;
  top: 50%;
  transition: color 0.2s linear, background-color 0.2s linear, border-color 0.2s linear;
}
.component-lightbox__container-button:hover, .component-lightbox__container-button:focus {
  border-color: #e5e8ee !important;
  background-color: #e5e8ee !important;
}
.component-lightbox__container-button::after {
  content: "";
  color: #0f4374;
  line-height: 3rem;
}
.component-lightbox__container-button-prev {
  left: 1.875rem;
}
.component-lightbox__container-button-prev::after {
  content: "\ea17";
  font-weight: 400;
  font-size: 1.125rem;
  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;
  color: #0f4374;
}
.component-lightbox__container-button-next {
  right: 1.875rem;
}
.component-lightbox__container-button-next::after {
  content: "\ea19";
  font-weight: 400;
  font-size: 1.125rem;
  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;
  color: #0f4374;
}
@media (min-width: 75rem) {
  .component-lightbox__container-button-prev {
    left: 1.25rem;
  }
  .component-lightbox__container-button-next {
    right: 1.25rem;
  }
}

.gallery-slider--fluid .gallery-slider__single-slide {
  padding: 0 clamp(0.125rem, -0.3035714286rem + 0.8928571429vw, 0.5rem);
}
.gallery-slider--fluid .gallery-slider__image {
  display: table;
}
@media (min-width: 75rem) {
  .gallery-slider--fluid .slick-arrow.slick-next {
    right: 1.25rem;
  }
  .gallery-slider--fluid .slick-arrow.slick-prev {
    left: 1.25rem;
  }
}

.gallery-slider--has-captions .slick-arrow {
  margin-top: -1rem;
}

.block-slider-gallery--hard .gallery-slider__image-container {
  position: relative;
  height: 0;
  max-width: 100%;
  padding-top: 56.43411%;
  overflow: hidden;
}
.block-slider-gallery--hard .gallery-slider__image-container img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
}

.block-slider-gallery--flexible {
  padding: clamp(3rem, -0.4285714286rem + 7.1428571429vw, 6rem) 0;
}
.block-slider-gallery--flexible .gallery-slider__image-container {
  position: relative;
}
@media (min-width: 75rem) {
  .block-slider-gallery--flexible .gallery-slider--fluid .slick-arrow.slick-next {
    right: 1.875rem;
  }
  .block-slider-gallery--flexible .gallery-slider--fluid .slick-arrow.slick-prev {
    left: 1.875rem;
  }
}

.block-slider-gallery__top-title {
  margin-bottom: 1rem !important;
  text-align: center;
}
.bg-accent-variant .block-slider-gallery__top-title {
  color: #fff;
}