/* see https://github.com/Grible/timetable.js/ */

/* change timetable-hour-row-height: 46px */
/* change timetable-hour-column-width: 96px */

:root {
  --timetable-hour-row-height: 80px;
  --timetable-hour-column-width: 160px;
}

/* heights */
.timetable>aside {
 margin-top: 0;
}

.timetable>aside li {
  line-height: var(--timetable-hour-row-height);
}

.timetable>aside:before {
  height: calc(var(--timetable-hour-row-height));
  margin-top: 0;
  /* margin-top: calc( - var(--timetable-hour-row-height)); */
}

.timetable aside li,
.timetable time li,
.timetable>section>header ul,
.timetable ul.room-timeline li {
  height: var(--timetable-hour-row-height);
}

/* widths */
.timetable>section>header li {
  width: var(--timetable-hour-column-width);
}

.timetable ul.room-timeline li:after {
  background-size: var(--timetable-hour-column-width) auto;
}

/* improvements */
.timetable ul.room-timeline li .time-entry {
  min-height: 100%;
  /* transform: translateX(-24px); */
}

.timetable ul.room-timeline li::before {
  background-image: none;
}

/* own styles */
.timetables-wrapper {
  margin-bottom: 16px;
}
.timetables-wrapper header.footer ul {
   height: 40px;
}

.cm.cm-timeboard {
  background-color: #ffffff;
  border-radius: 5px;
  margin-bottom: 32px;
  padding: 0 8px 16px 8px;
}
.cm.cm-timeboard h1 {
  padding: 32px 0 0 0;
}
.cm.cm-timeboard h2 {
  margin-bottom: 8px;
}
.timetable > aside {
  border-right: none;
}
.timetable > aside .row-heading  {
  text-overflow: clip;
  white-space: wrap;
  /* word-wrap: normal; */
  max-width: 122px;
  font-family: "nippon_connectionbold";
  color: #ff008c;
  line-height: 1.1;
}
.timetable > aside li {
  line-height: initial;
  padding: 4px;
  display: flex;
  background-color: white;
}
.timetable > aside li,
.timetable > aside li:not(:last-of-type) {
  border-top: 1px solid #7f7f7f;
  border-left: 1px solid #7f7f7f;
  border-right: 1px solid #7f7f7f;
}
.timetable > aside li:last-child {
  border-bottom: 1px solid #7f7f7f;
}

.timetable .time-entry {
  padding: 0 2px;
  display: flex;
  background-color: #ff008c;
  border-bottom: none;
  border: none;
}
.timetable .time-entry:hover {
  background-color: #ff55ac;
}

.timetable > section > header {
  padding: 0;
  /* overflow-x: auto; */
}
.timetable > section > header li .time-label {
  font-family: "nippon_connectionbold";
  color: #ff008c;
}

.timetable ul.room-timeline li {
  border-top: 1px solid #7f7f7f;
  background-color: #ffffff;
}
.timetable ul.room-timeline li a {
  text-decoration: none;
}
.timetable ul.room-timeline li:first-of-type {
  border-top: 1px solid #7f7f7f;
}
.timetable ul.room-timeline li:last-of-type {
  border-bottom: 1px solid #7f7f7f;
}
.timetable ul.room-timeline li:nth-of-type(2n+1) {
  background-color: #ffffff;
}
.timetable ul.room-timeline li::after {
  background-image: linear-gradient(90deg, #7f7f7f, #ffffff 1px);
  background-position: -2px 0;
}
.timetable ul.room-timeline li .time-entry {
  transform: translate(-2px, 0px);
  border-bottom: 1px solid white;
  min-height: calc(100% + 2px);
  top: -1px;
  border-top: 1px solid white;
  border-right: 1px solid white;
  border-left: 1px solid white;
}
.timetable ul.room-timeline li .time-entry h4 {
  letter-spacing: initial;
  /* margin-top: 2px; */
  margin-bottom: 0;
  padding-bottom: 0;
  text-transform: none;
  line-height: 1;
  margin-top: 0.6px;
  margin-bottom: -1px;
}

/* normalize to put other absolute positioned elements in it */
.timetable .time-entry small {
  position: absolute;
  top: 0;
  transform: none;
  width: calc(100% - 16px);
  height: 100%;
}
/* ics link in link */
.timetable ul.room-timeline li .time-entry .ics {
  position: absolute;
  bottom: 3px;
  right: -12px;
}
.timetable ul.room-timeline li .time-entry .ics a {
  color: #fff;
}
.timetable ul.room-timeline li .time-entry .ics a[hidden] {
  display: inline !important;
}
.timetable ul.room-timeline li .time-entry .ics a img {
  width: 14px;
  height: 14px;
}

/* section icons */
.timetable ul.room-timeline li .time-entry.section::after {
  font-family: 'nippon_connectionbold';
  content: "?";
  position: absolute;
  bottom: 15px;
  right: 2px;
}
.timetable ul.room-timeline li .time-entry.section.section-cinema::after {   content: "ª"; }
.timetable ul.room-timeline li .time-entry.section.section-animation::after {   content: "³"; }
.timetable ul.room-timeline li .time-entry.section.section-visions::after {   content: "½"; }
.timetable ul.room-timeline li .time-entry.section.section-digital::after {   content: "½"; }
.timetable ul.room-timeline li .time-entry.section.section-docs::after {   content: "¾"; }
.timetable ul.room-timeline li .time-entry.section.section-retro::after {   content: "²"; }
.timetable ul.room-timeline li .time-entry.section.section-kids::after {   content: "¹"; }
.timetable ul.room-timeline li .time-entry.section.section-culture::after {   content: "º"; }
.timetable ul.room-timeline li .time-entry.section.section-connected::after {   content: "º"; }
.timetable ul.room-timeline li .time-entry.section.section-nhk::after {   content: "ª"; }
.timetable ul.room-timeline li .time-entry.section.section-best-of::after {   content: "²"; }

.day-buttons {
  display: flex;
  flex-wrap: wrap;
  column-gap: 8px;
  row-gap: 8px;
}
.day-button:focus {
  outline: 0 !important;
  box-shadow: none !important;
}
.day-button.active {
  background-color: #f8f8fb !important;
  border: 1px solid #ff008c !important;
  color: #ff008c !important;
}

@media (min-width: 992px) {
  .cm.cm-timeboard {
    padding: 0 16px 16px 16px;
  }
}
