/* 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"
*/
/**
 * Screen reader utilities
 * @define u-sr-only
 */
.ecl-u-sr-only {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

.ecl-u-sr-only--focusable:active,
.ecl-u-sr-only--focusable:focus {
  clip: auto !important;
  -webkit-clip-path: none !important;
          clip-path: none !important;
  height: auto !important;
  overflow: visible !important;
  position: static !important;
  white-space: normal !important;
  width: auto !important;
}

/*
 * Date block
 * @define date-block
 */
.ecl-date-block {
  background-color: #0e47cb;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(9, 49, 142, 0.08), 0 0 10px rgba(9, 49, 142, 0.04), 0 4px 5px rgba(9, 49, 142, 0.04), 0 -4px 4px rgba(9, 49, 142, 0.04);
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: column;
  margin: 0;
  overflow: hidden;
  position: relative;
  text-align: center;
  width: 5rem;
}
.ecl-date-block::before {
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(9, 49, 142, 0.08) inset, 0 0 10px rgba(9, 49, 142, 0.04) inset, 0 4px 5px rgba(9, 49, 142, 0.04) inset, 0 -4px 4px rgba(9, 49, 142, 0.04) inset;
  box-sizing: content-box;
  content: "";
  display: block;
  height: 10px;
  left: 0.75rem;
  position: absolute;
  top: -5px;
  width: 10px;
}
.ecl-date-block::after {
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(9, 49, 142, 0.08) inset, 0 0 10px rgba(9, 49, 142, 0.04) inset, 0 4px 5px rgba(9, 49, 142, 0.04) inset, 0 -4px 4px rgba(9, 49, 142, 0.04) inset;
  box-sizing: content-box;
  content: "";
  display: block;
  height: 10px;
  position: absolute;
  right: 0.75rem;
  top: -5px;
  width: 10px;
}

.ecl-date-block__day {
  color: #fff;
  font: normal normal 400 1.5rem/1.75rem arial, sans-serif;
  font-weight: 700;
  padding: 0.5rem 0.25rem 0 0.5rem;
}

.ecl-date-block__month {
  color: #fff;
  font: normal normal 400 1rem/1.25rem arial, sans-serif;
  padding: 0 0.25rem 0.25rem 0.25rem;
  text-decoration: none !important;
  text-transform: uppercase;
}

.ecl-date-block__year {
  background-color: #fff;
  border-top: 1px solid transparent;
  color: #171a22;
  font: normal normal 400 0.875rem/1rem arial, sans-serif;
  padding: 0.25rem;
}

/* stylelint-disable-next-line order/order */
@media (min-width: 996px) {
  .ecl-date-block {
    width: 6.3rem;
  }
  .ecl-date-block__day {
    padding: 0.5rem 0.25rem 0 0.25rem;
  }
  .ecl-date-block__month {
    padding: 0 0.25rem 0.5rem 0.25rem;
  }
  .ecl-date-block__year {
    padding: 0.5rem 0.25rem;
  }
}
.ecl-date-block__daytime {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  -webkit-clip-path: inset(50%) !important;
          clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

.ecl-date-block--ongoing {
  background-color: #fc0;
}
.ecl-date-block--ongoing .ecl-date-block__day,
.ecl-date-block--ongoing .ecl-date-block__month {
  color: #171a22;
}

.ecl-date-block--cancelled {
  background-color: #d4d5d7;
}
.ecl-date-block--cancelled .ecl-date-block__day,
.ecl-date-block--cancelled .ecl-date-block__month {
  color: #171a22;
}

.ecl-date-block--past {
  background-color: #fff;
  outline: 1px solid transparent;
  outline-offset: -1px;
}
.ecl-date-block--past::before, .ecl-date-block--past::after {
  border: 1px solid transparent;
}
.ecl-date-block--past .ecl-date-block__day,
.ecl-date-block--past .ecl-date-block__month {
  color: #171a22;
}
.ecl-date-block--past .ecl-date-block__year {
  border-top-color: #cfdaf5;
}