/* 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"
*/
/**
 * List with illustration component
 * @define list-illustration
 */
.ecl-list-illustration {
  margin: 0;
}

.ecl-list-illustration__item {
  display: flex;
  flex-direction: column;
  margin-bottom: 2rem;
}
.ecl-list-illustration__item:last-child {
  margin-bottom: 0;
}

.ecl-list-illustration__image {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  flex-shrink: 0;
  height: auto;
  margin-bottom: 1rem;
}
.ecl-list-illustration__image::before {
  content: "";
  display: block;
  padding-top: 66.6666666667%;
  width: 100%;
}

.ecl-list-illustration__image--square {
  background-position: center;
  background-size: cover;
  height: 100px;
  width: 100px;
}
.ecl-list-illustration__image--square::before {
  padding-top: 100%;
}

.ecl-list-illustration__title-container {
  color: #171a22;
  display: flex;
  flex-direction: row;
  font: normal normal 400 1.25rem/1.75rem arial, sans-serif;
}

.ecl-list-illustration__description {
  color: #515560;
  font: normal normal 400 1rem/1.5rem arial, sans-serif;
  margin-top: 0.5rem;
  max-width: 80ch;
}

.ecl-list-illustration__icon {
  flex-shrink: 0;
  -webkit-margin-end: 1rem;
          margin-inline-end: 1rem;
}
.ecl-list-illustration__icon + .ecl-list-illustration__title {
  margin-top: 0.5rem;
}

.ecl-list-illustration--zebra .ecl-list-illustration__item {
  margin-bottom: 0;
  padding: 1rem;
}
.ecl-list-illustration--zebra .ecl-list-illustration__item:nth-child(even) {
  background-color: #f3f6fc;
}

@media (min-width: 768px) {
  .ecl-list-illustration__item {
    flex-direction: row;
    margin-bottom: 0;
    padding: 1rem;
  }
  .ecl-list-illustration__title-container {
    margin-top: 0;
  }
  .ecl-list-illustration__image {
    margin-bottom: 0;
    -webkit-margin-end: 1rem;
            margin-inline-end: 1rem;
  }
  .ecl-list-illustration__image:not(.ecl-list-illustration__image--square) {
    width: 15.875rem;
  }
  .ecl-list-illustration--col-2,
  .ecl-list-illustration--col-3,
  .ecl-list-illustration--col-4 {
    display: grid;
    grid-auto-rows: auto;
    grid-column-gap: 2rem;
    grid-row-gap: 2rem;
    width: 100%;
  }
  .ecl-list-illustration--col-2 .ecl-list-illustration__item,
  .ecl-list-illustration--col-3 .ecl-list-illustration__item,
  .ecl-list-illustration--col-4 .ecl-list-illustration__item {
    flex-direction: column;
    padding: 0;
  }
  .ecl-list-illustration--col-2 .ecl-list-illustration__image,
  .ecl-list-illustration--col-3 .ecl-list-illustration__image,
  .ecl-list-illustration--col-4 .ecl-list-illustration__image {
    -webkit-margin-end: 0;
            margin-inline-end: 0;
    margin-bottom: 1rem;
  }
  .ecl-list-illustration--col-2 .ecl-list-illustration__image:not(.ecl-list-illustration__image--square),
  .ecl-list-illustration--col-3 .ecl-list-illustration__image:not(.ecl-list-illustration__image--square),
  .ecl-list-illustration--col-4 .ecl-list-illustration__image:not(.ecl-list-illustration__image--square) {
    width: 100%;
  }
  .ecl-list-illustration--col-2 {
    grid-template-columns: repeat(2, 1fr);
  }
  .ecl-list-illustration--col-3 {
    grid-template-columns: repeat(3, 1fr);
  }
  .ecl-list-illustration--col-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}