@import '../settings/variables';
@import '../objects/text';
@import '../tools/mixins/breakpoints';

.c-calendar-list-item {
  background-color: $color-background-primary;
  padding: 1.25em $gutter-medium $gutter-medium $gutter-medium;
  margin-bottom: 0.75em;
  width: 100%;

  @include media-breakpoint-up(lg) {
    padding: $gutter-medium;
  }

  &--past {
    background-color: $color-background-alternative;
  }

  &__container {
    flex-direction: column;
    align-items: flex-start;

    @include media-breakpoint-up(lg) {
      flex-direction: row;
      align-items: center;
    }
  }

  &__date {
    display: flex;
    align-self: flex-start;
    justify-self: stretch;
    justify-content: flex-start;
    flex-direction: row;
    width: 100%;
    min-width: auto;
    border-right: none;
    border-bottom: 1px solid $color-primary;
    padding: 0 0 $gutter-medium 0;
    flex-wrap: wrap;

    @include media-breakpoint-up(lg) {
      width: 136px;
      min-width: 136px;
      align-self: stretch;
      justify-self: flex-start;
      justify-content: center;
      border-right: 1px solid $color-primary;
      flex-direction: column;
      border-bottom: none;
      padding: $gutter-tiny 0;
    }

    &--past {
      @extend .c-calendar-list-item__date;
      border-right: none;
      border-bottom: 1px solid $color-mid-grey;

      @include media-breakpoint-up(lg) {
        border-right: 1px solid $color-mid-grey;
        border-bottom: none;
      }
    }
  }

  &__date-item {
    white-space: nowrap;
    margin: 0;
    line-height: 1;
    padding-right: $gutter-small;
    font-size: $font-size-normal;

    @include media-breakpoint-up(lg) {
      font-size: $font-size-caption;
    }

    &--past {
      color: $color-dark-grey;
    }

    &--separator {
      @extend .c-calendar-list-item__date-item;
      display: initial;
      padding: 0 0.5rem 0 0;

      @include media-breakpoint-up(lg) {
        display: none;
      }
    }

    &--time {
      @extend .c-calendar-list-item__date-item;
      margin: 0;
      line-height: 1;
      padding: 0;
      font-size: $font-size-normal;

      @include media-breakpoint-up(lg) {
        font-size: $font-size-medium;
      }
    }
  }

  &__content {
    padding: $gutter-medium 0 $gutter-tiny 0;

    @include media-breakpoint-up(lg) {
      padding: 0 0 0 $gutter-medium;
    }
  }

  &__download {
    height: 2em;
    min-width: 100%;
    padding: 0 $gutter-normal;
    border-radius: 4px;
    position: absolute;
    top: -0.5em;
    left: 0;
    background-color: #e0eef5;
    display: flex;
    align-items: center;
    justify-content: center;

    &--past {
      background-color: #e9edf0;
    }
  }

  &__description {
    padding: $gutter-tiny 0;

    & p {
      margin: 0;
      @extend .o-text__paragraph;
      font-size: $font-size-caption;
      color: $color-dark-grey;
    }
  }
}
