/* stylelint-disable scss/operator-no-unspaced */
/* stylelint-enable scss/operator-no-unspaced */
/* Breakpoint viewport sizes and media queries.

Breakpoints are defined as a map of (name: minimum width), order from small to large:
   (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)

 The map defined in the `$breakpoint` global variable is used as the `$breakpoints` argument by default.

 Name of the next breakpoint, or null for the last breakpoint.

  >> breakpoint-next(sm)
   md
  >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
   md
  >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
   md
*/
/* Minimum breakpoint width. Null for the smallest (first) breakpoint.
    >> ecl-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
    576px
*/
/* Maximum breakpoint width. Null for the largest (last) breakpoint.
   The maximum value is calculated as the minimum of the next one less 0.1.

   >> ecl-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
   767px
*/
/* Returns a blank string if smallest breakpoint, otherwise returns the name with a dash infront.
    Useful for making responsive utilities.

    >> infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
    ""  (Returns a blank string)
    >> infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
    "-sm"
*/
/**
 * ECL Navigation inpage
 * @define inpage-navigation
 */
.ecl-inpage-navigation {
  border-radius: 0;
  box-shadow: none;
  display: none;
  margin: 0;
  position: relative;
  z-index: 1;
  /* stylelint-disable-next-line order/order */
}
@media (min-width: 996px) {
  .ecl-inpage-navigation {
    display: block;
    position: sticky;
    top: 0;
  }
}

.ecl-inpage-navigation__trigger {
  background: linear-gradient(to left, #003776 calc( 0.75rem + 1.25rem + 0.75rem ), #004494 calc( 0.75rem + 1.25rem + 0.75rem ));
  background-origin: border-box;
  border: none;
  color: #fff;
  display: none;
  padding: 0.75rem calc(calc(
  0.75rem + 1.25rem + 0.75rem
) + 0.75rem) 0.75rem 0.75rem;
  position: relative;
  text-align: start;
  width: 100%;
  /* stylelint-disable-next-line order/order */
}
@media (min-width: 996px) {
  .ecl-inpage-navigation__trigger {
    display: none;
  }
}
.ecl-inpage-navigation__trigger:focus-visible {
  outline: 2px solid #fff;
  outline-offset: -4px;
}

.ecl-inpage-navigation--visible {
  display: block;
}
.ecl-inpage-navigation--visible .ecl-inpage-navigation__trigger {
  border-radius: 0 0 0 0;
  display: block;
  overflow-x: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  /* stylelint-disable-next-line max-nesting-depth */
  /* stylelint-disable-next-line order/order */
}
.ecl-inpage-navigation--visible .ecl-inpage-navigation__trigger[aria-expanded=true] {
  border-radius: 0;
}
@media (min-width: 996px) {
  .ecl-inpage-navigation--visible .ecl-inpage-navigation__trigger {
    display: none;
  }
}

.ecl-inpage-navigation__trigger-current {
  font: normal normal 400 1rem/1.5rem arial, sans-serif;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ecl-inpage-navigation__trigger-icon {
  position: absolute;
  right: 0.75rem;
}
.ecl-inpage-navigation__trigger[aria-expanded=true] .ecl-inpage-navigation__trigger-icon {
  transform: rotate(0deg);
}

.ecl-inpage-navigation__title {
  display: none;
  /* stylelint-disable-next-line order/order */
}
@media (min-width: 996px) {
  .ecl-inpage-navigation__title {
    background-color: transparent;
    border-radius: 0 0 0 0;
    color: #404040;
    display: block;
    font: normal normal 400 1rem/1.5rem arial, sans-serif;
    padding: 0.75rem;
    text-transform: uppercase;
  }
}

.ecl-inpage-navigation__list {
  background-color: #003d84;
  border-top: 1px solid #003776;
  display: none;
  list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
  list-style-type: none;
  margin: 0;
  padding: 0;
  /* stylelint-disable-next-line order/order */
}
@media (min-width: 996px) {
  .ecl-inpage-navigation__list {
    background-color: transparent;
    border-top-width: 0;
    display: block;
  }
}

.ecl-inpage-navigation__list--visible {
  display: flex;
  flex-direction: column;
}

.ecl-inpage-navigation__item {
  border-top: 1px solid #4073af;
  /* stylelint-disable-next-line order/order */
}
.ecl-inpage-navigation__item:first-of-type {
  border-top-width: 0;
}
@media (min-width: 996px) {
  .ecl-inpage-navigation__item {
    border-top-color: transparent;
  }
}

.ecl-inpage-navigation__item--active {
  border-top-color: transparent;
}

.ecl-inpage-navigation__link {
  background-color: transparent;
  color: #fff;
  display: block;
  font: normal normal 400 1rem/1.25rem arial, sans-serif;
  font-weight: 400;
  padding: 0.75rem;
  text-decoration: none;
  /* stylelint-disable-next-line order/order */
  /* stylelint-disable-next-line no-descending-specificity */
}
@media (min-width: 996px) {
  .ecl-inpage-navigation__link {
    background-color: transparent;
    color: #004494;
    font-weight: 700;
  }
}
.ecl-inpage-navigation__link:hover {
  color: #fff;
  text-decoration: underline;
  /* stylelint-disable-next-line order/order */
}
@media (min-width: 996px) {
  .ecl-inpage-navigation__link:hover {
    color: #004494;
  }
}
.ecl-inpage-navigation__link:focus-visible {
  border-radius: 0;
  color: #fff;
  outline-color: #fff;
  outline-offset: -4px;
  text-decoration: underline;
  /* stylelint-disable-next-line order/order */
}
@media (min-width: 996px) {
  .ecl-inpage-navigation__link:focus-visible {
    color: #004494;
    outline-color: #004494;
    outline-offset: -2px;
  }
}
.ecl-inpage-navigation__link:visited {
  color: #fff;
  /* stylelint-disable-next-line order/order */
}
@media (min-width: 996px) {
  .ecl-inpage-navigation__link:visited {
    color: #004494;
  }
}
.ecl-inpage-navigation__item--active .ecl-inpage-navigation__link, .ecl-inpage-navigation__item--active .ecl-inpage-navigation__link:hover {
  background-color: #ebebeb;
  -webkit-border-start: 4px solid #004494;
          border-inline-start: 4px solid #004494;
  color: #404040;
  -webkit-padding-start: calc(0.75rem - 4px);
          padding-inline-start: calc(0.75rem - 4px);
  /* stylelint-disable-next-line order/order */
}
.ecl-inpage-navigation__item--active .ecl-inpage-navigation__link:focus-visible, .ecl-inpage-navigation__item--active .ecl-inpage-navigation__link:hover:focus-visible {
  outline-color: #004494;
}
@media (min-width: 996px) {
  .ecl-inpage-navigation__item--active .ecl-inpage-navigation__link, .ecl-inpage-navigation__item--active .ecl-inpage-navigation__link:hover {
    border-inline-start-color: #004494;
  }
  .ecl-inpage-navigation__item--active .ecl-inpage-navigation__link:focus-visible, .ecl-inpage-navigation__item--active .ecl-inpage-navigation__link:hover:focus-visible {
    color: #404040;
  }
}

/* stylelint-disable-next-line no-descending-specificity */
.ecl-inpage-navigation__item:last-of-type .ecl-inpage-navigation__link {
  border-radius: 0 0 0 0;
}

.ecl-inpage-navigation--visible .ecl-inpage-navigation__body {
  border-radius: 0 0 0 0;
  box-shadow: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  /* stylelint-disable-next-line order/order */
}
@media (min-width: 996px) {
  .ecl-inpage-navigation--visible .ecl-inpage-navigation__body {
    box-shadow: none;
    position: static;
  }
}

/* stylelint-disable-next-line order/order */
@media (max-width: 995px) {
  .ecl-inpage-navigation__heading--active:first-of-type {
    padding-top: 4rem;
  }
  .ecl-inpage-navigation__heading--active:not(:first-of-type)::before {
    content: "";
    display: block;
    margin-top: -4rem;
    padding-top: 4rem;
    visibility: hidden;
  }
}
@media (min-width: 996px) {
  .ecl-inpage-navigation__trigger.sc-ecl-inpage-navigation-ec {
    display: none !important;
  }
}