/**
 SASS files that don't get compiled into CSS. Do not put element selectors in here.
 Every file not starting with '_' should import this file if you want to use functions and mixins.
 */
/**
 * SASS variables
 *
 These are only used in the properties and abstract SASS files.
 */
/**
 Breakpoints and columns
 */
/**
 Text
 */
/**
Fill in the header styles, only write the properties you want to override.
 */
/**
  Buttons
 */
/**
 Breakpoints

 @param {Keyword} $breakpoint - The breakpoint name of the minimum width. Can be any of the names in the $breakpoint variable
 */
/**
  Custom column size.
  Especially handy inside other columns.

  @param {Number|string} $size - the size in columns or 'expand'/'shrink'.
  @param {number} $total - the total size in columns. Ignored when size is 'expand'/'shrink'
 */
/**
  Custom offset size.
  Especially handy inside other columns.

  @param {Number|string} $size - the size of the offset.
  @param {number} $total - the total size in columns.
  @param {string} - the side from the offset.
 */
:root {
  --page-header--default-margin-bottom: 80px;
  --page-header--default--content-grid-columns: 2 / -2;
  --page-header--default--media-grid-columns: 2 / -2;
  --page-header--default--extra-content-grid-columns: 2 / -2;
  --page-header--default--back-to-overview-grid-columns: 2 / -2;
}
@media (min-width: 768px) {
  :root {
    --page-header--default--content-grid-columns: 2 / 6;
    --page-header--default--media-grid-columns: 6 / -2;
    --page-header--default--extra-content-grid-columns: 2 / 6;
  }
}
@media (min-width: 992px) {
  :root {
    --page-header--default--content-grid-columns: 2 / 15;
    --page-header--default--media-grid-columns: 14 / -2;
    --page-header--default--extra-content-grid-columns: 4 / 12;
    --page-header--default--back-to-overview-grid-columns: 4 / 12;
    --page-header--default-margin-bottom: 120px;
  }
}

.page-header--default {
  align-items: stretch;
  margin-bottom: var(--page-header--default-margin-bottom);
  row-gap: 30px;
}
.page-header--default .field--name-field-label {
  text-transform: uppercase;
  font-weight: 400;
  font-size: 1rem;
  line-height: 20px;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
}

.page-header--media-full-width {
  --page-header--default--media-grid-columns: 1 / -1;
  --page-header--default-margin-bottom: 40px;
  margin-bottom: var(--page-header--default-margin-bottom);
}
@media (min-width: 992px) {
  .page-header--media-full-width {
    --page-header--default-margin-bottom: 100px;
    grid-template-rows: auto 1fr;
  }
}
.page-header--media-full-width .header__media {
  grid-row: 4;
}
@media (min-width: 768px) {
  .page-header--media-full-width .header__media {
    grid-row: unset;
  }
}

@media (min-width: 992px) {
  .page-header--default.page-header--has-media {
    --page-header--default--media-grid-columns: 2 / 14;
    --page-header--default-margin-bottom: 200px;
  }
}
.page-header--default.page-header--has-media .page-header--text {
  max-width: 600px;
}
@media (min-width: 768px) {
  .page-header--default.page-header--has-media .page-header__content {
    padding-top: 30px;
    padding-bottom: 30px;
    padding-right: var(--gutter);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
  }
}
@media (min-width: 992px) {
  .page-header--default.page-header--has-media .page-header__content {
    padding-left: 0;
  }
}
@media (min-width: 1440px) {
  .page-header--default.page-header--has-media .page-header__content {
    padding-top: 60px;
    padding-bottom: 60px;
    padding-right: 0px;
  }
}

.page-header__links {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 24px;
}

.page-header--default .page-header__media,
.page-header--media-full-width .page-header__media {
  justify-self: flex-start;
  grid-column: var(--page-header--default--media-grid-columns);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page-header--default .page-header__content,
.page-header--media-full-width .page-header__content {
  grid-column: var(--page-header--default--content-grid-columns);
}

.page-header__text {
  margin-bottom: auto;
  font-style: normal;
  font-weight: 400;
  font-size: 1rem;
  line-height: 28px;
  margin-top: 10px;
}
.page-header__text h6 {
  color: var(--secondary-color);
  margin-bottom: -5px;
  text-transform: lowercase;
  font-size: 0.875rem;
}

.page-header--centered:not(.page-header--has-media) {
  text-align: center;
  --page-header--default--content-grid-columns: 2 / -2;
}
@media (min-width: 992px) {
  .page-header--centered:not(.page-header--has-media) {
    --page-header--default--content-grid-columns: 6 / -6;
  }
}
.page-header--centered:not(.page-header--has-media) h1 {
  margin-bottom: 30px;
}
.page-header--centered:not(.page-header--has-media) .page-header__text {
  max-width: 760px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .page-header--media-full-width .page-header__content {
    --page-header--default--content-grid-columns: 6 / 2;
  }
}
@media (min-width: 992px) {
  .page-header--media-full-width .page-header__content {
    --page-header--default--content-grid-columns: 14 / -4;
    grid-row: 1/3;
  }
}
.page-header--media-full-width .page-header__content + .page-header__media {
  margin-top: 40px;
}
@media (min-width: 992px) {
  .page-header--media-full-width .page-header__content + .page-header__media {
    margin-top: 120px;
  }
}

.page-header--media-full-width .page-header__extra-content {
  grid-column: var(--page-header--default--extra-content-grid-columns);
  grid-row: 3;
}
@media (min-width: 992px) {
  .page-header--media-full-width .page-header__extra-content {
    grid-row: unset;
  }
}

.page-header .back-to-overview__wrapper {
  grid-column: var(--page-header--default--back-to-overview-grid-columns);
}

.page-header__subtitle:has(+ .page-header__title) {
  margin-bottom: 5px;
}

@media (min-width: 768px) {
  .page-header--has-media.position-media-right {
    --page-header--default--media-grid-columns: 6 / -2;
    --page-header--default--content-grid-columns: 2 / 5;
    --page-header--default--extra-content-grid-columns: 2 / 5;
  }
}
@media (min-width: 992px) {
  .page-header--has-media.position-media-right {
    --page-header--default--media-grid-columns: 15 / -2;
    --page-header--default--content-grid-columns: 2 / 14;
    --page-header--default--extra-content-grid-columns: 2 / 14;
    --page-header--default--back-to-overview-grid-columns: 2 / 14;
  }
}
.page-header--has-media.position-media-right .page-header__content {
  padding: 0px;
  max-width: 600px;
}
.page-header--has-media.position-media-right .page-header__content .page-header__text {
  margin-bottom: 0px;
}
@media (min-width: 768px) {
  .page-header--has-media.position-media-right .page-header__content, .page-header--has-media.position-media-right .page-header__media.header__media {
    grid-row: 1;
  }
}

@media (min-width: 768px) {
  .page-header--has-media.position-media-left {
    --page-header--default--media-grid-columns: 2 / 5;
    --page-header--default--content-grid-columns: 6 / -2;
    --page-header--default--extra-content-grid-columns: 6 / -2;
  }
}
@media (min-width: 992px) {
  .page-header--has-media.position-media-left {
    --page-header--default--media-grid-columns: 2 / 16;
    --page-header--default--content-grid-columns: 15 / -2;
    --page-header--default--extra-content-grid-columns: 14 / -2;
    --page-header--default--back-to-overview-grid-columns: 14 / -2;
  }
}
@media (min-width: 768px) {
  .page-header--has-media.position-media-left .page-header__content, .page-header--has-media.position-media-left .page-header__media.header__media {
    grid-row: 1;
  }
}
@media (min-width: 992px) {
  .page-header--has-media.position-media-left .page-header__content img, .page-header--has-media.position-media-left .page-header__media.header__media img {
    max-width: 450px;
  }
}
@media (min-width: 1200px) {
  .page-header--has-media.position-media-left .page-header__content img, .page-header--has-media.position-media-left .page-header__media.header__media img {
    max-width: 550px;
  }
}
@media (min-width: 1440px) {
  .page-header--has-media.position-media-left .page-header__content img, .page-header--has-media.position-media-left .page-header__media.header__media img {
    max-width: 660px;
  }
}
.page-header--has-media.position-media-left h1 {
  color: var(--secondary-color);
}
@media (min-width: 1440px) {
  .page-header--has-media.position-media-left h1 {
    font-size: 5.375rem;
    line-height: 80px;
  }
}
