/* 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"
*/
/**
 * Pagination
 * @define pagination
 */
.ecl-pagination {
  background-color: transparent;
  border-radius: 0;
  border-top: 2px solid #000;
  color: #004494;
  font: normal normal 400 1rem/1.5rem arial, sans-serif;
  margin: 0;
  padding-bottom: calc(
    1rem - 0.25rem
  );
  -webkit-padding-start: 1rem;
          padding-inline-start: 1rem;
  -webkit-padding-end: 1rem;
          padding-inline-end: 1rem;
  padding-top: calc(
    1rem - 0.25rem
  );
}

.ecl-pagination__list {
  align-items: center;
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  position: relative;
}

.ecl-pagination__item {
  display: none;
}

.ecl-pagination__item--previous,
.ecl-pagination__item--next {
  display: flex;
  flex-basis: 0;
  flex-grow: 1;
}

.ecl-pagination__item--next {
  justify-content: flex-end;
}

.ecl-pagination__item--current {
  color: #000;
  display: flex;
  font-weight: 700;
  position: relative;
}

.ecl-pagination__text--summary {
  display: none;
}

.ecl-pagination__text--full {
  display: block;
}

.ecl-pagination__link,
.ecl-pagination__text {
  padding: 0.25rem;
}

/* stylelint-disable-next-line order/order */
@media (min-width: 768px) {
  .ecl-pagination {
    -webkit-padding-start: 0;
            padding-inline-start: 0;
    -webkit-padding-end: 0;
            padding-inline-end: 0;
  }
  .ecl-pagination__list {
    justify-content: center;
  }
  .ecl-pagination__item {
    display: flex;
    flex-grow: 0;
    -webkit-margin-end: calc(
      1.5rem - (2 * 0.25rem)
    );
            margin-inline-end: calc(
      1.5rem - (2 * 0.25rem)
    );
  }
  .ecl-pagination__item:last-child {
    -webkit-margin-end: 0;
            margin-inline-end: 0;
  }
  .ecl-pagination__item--previous,
  .ecl-pagination__item--next {
    flex-basis: auto;
  }
  .ecl-pagination__item--current::before {
    border: 2px solid #000;
    border-radius: 10rem;
    content: "";
    display: block;
    height: calc(
      1.5rem + (2 * 2px)
    );
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(
      1.5rem + (2 * 2px)
    );
  }
  .ecl-pagination__text--summary {
    display: block;
  }
  .ecl-pagination__text--full {
    display: none;
  }
}