.event {
  position: relative;
  padding: 5px;
  border-bottom: 1px solid var(--borderColor);
}

.underlay {
  @add-mixin cover;

  &:hover {
    background-color: var(--tableRowHoverBackgroundColor);
  }
}

.overlay {
  @add-mixin linkOverlay;

  position: relative;
  display: flex;
  overflow-x: hidden;
  font-size: $defaultFontSize;

  &:global(.colorImpaired) {
    border-left-width: 5px;
  }
}

.eventWrapper {
  display: flex;
  flex: 1 0 1px;
  overflow-x: hidden;
  padding-left: 6px;
  border-left-width: 4px;
  border-left-style: solid;
}

.date {
  flex: 0 0 250px;
  font-weight: bold;
}

.time {
  flex: 0 0 125px;
  margin-right: 10px;
  border: none !important;
}

.seriesTitle,
.episodeTitle {
  @add-mixin truncate;

  flex: 0 1 300px;
  margin-right: 10px;
}

.episodeTitle {
  flex: 1 1 1px;
}

.seasonEpisodeNumber {
  flex: 0 0 100px;
}

.episodeSeparator {
  display: none;
}

.absoluteEpisodeNumber {
  margin-left: 3px;
}

.statusIcon {
  margin-left: 3px;
  cursor: default;
  pointer-events: all;
}

/*
 * Status
 */

.downloaded {
  composes: downloaded from '~Calendar/Events/CalendarEvent.css';
}

.downloading {
  composes: downloading from '~Calendar/Events/CalendarEvent.css';
}

.unmonitored {
  composes: unmonitored from '~Calendar/Events/CalendarEvent.css';
}

.onAir {
  composes: onAir from '~Calendar/Events/CalendarEvent.css';
}

.missing {
  composes: missing from '~Calendar/Events/CalendarEvent.css';
}

.premiere {
  composes: premiere from '~Calendar/Events/CalendarEvent.css';
}

.unaired {
  composes: unaired from '~Calendar/Events/CalendarEvent.css';
}

@media only screen and (max-width: $breakpointSmall) {
  .overlay {
    flex-direction: column;
  }

  .eventWrapper {
    display: block;
    flex: 0 0 auto;
  }

  .date {
    margin-left: 10px;
  }

  .date,
  .time,
  .seriesTitle {
    flex: 0 0 100%;
  }

  .seasonEpisodeNumber {
    flex: 0 0 auto;
  }

  .episodeSeparator {
    display: inline-block;
    margin: 0 5px;
  }
}
