/*************************
 * GRID SCHEDULE LAYOUT
 *************************/
@media screen and (min-width: 700px) {
  .schedule {
    display: grid;
    grid-gap: 1em;
    grid-template-rows: [tracks] auto [time-0800] auto [time-0815] auto [time-0830] auto [time-0845] auto [time-0900] auto [time-0915] auto [time-0930] auto [time-0945] auto [time-1000] auto [time-1015] auto [time-1030] auto [time-1045] auto [time-1100] auto [time-1115] auto [time-1130] auto [time-1145] auto [time-1200] auto [time-1215] auto [time-1230] auto [time-1245] auto [time-1300] auto [time-1315] auto [time-1330] auto [time-1345] auto [time-1400] auto [time-1415] auto [time-1430] auto [time-1445] auto [time-1500] auto [time-1515] auto [time-1530] auto [time-1545] auto [time-1600] auto [time-1615] auto [time-1630] auto [time-1645] auto [time-1700] auto [time-1715] auto [time-1730] auto [time-1745] auto [time-1800] auto [time-1815] auto [time-1830] auto [time-1845] auto [time-1900] auto [time-1915] auto [time-1930] auto [time-1945] auto [time-2000] auto [time-2015] auto [time-2030] auto [time-2045] auto [time-2100] auto [time-2115] auto [time-2130] auto [time-2145] auto [time-2200] auto [time-2215] auto [time-2230] auto [time-2245] auto [time-2300] auto;
    /* Note 1:
			Use 24hr time for gridline names for simplicity

			Note 2: Use "auto" instead of "1fr" for a more compact schedule where height of a slot is not proportional to the session length. Implementing a "compact" shortcode attribute might make sense for this!
			Try 0.5fr for more compact equal rows. I don't quite understand how that works :)
			*/
    grid-template-columns: [times] 2em [monday-start] 1fr [monday-end tuesday-start] 1fr [tuesday-end wednesday-start] 1fr [wednesday-end thursday-start] 1fr [thursday-end];
  }
}

.time-slot {
  grid-column: times;
  display: none;
}

.day-slot {
  grid-column: times;
}

.track-slot {
  display: none;
  /* hidden on small screens and browsers without grid support */
}

@supports (display: grid) {
  @media screen and (min-width: 700px) {
    .time-slot {
      display: initial;
    }
    .day-slot {
      display: none;
    }
    .track-slot {
      display: block;
      padding: 10px 5px 5px;
      position: sticky;
      top: 0;
      z-index: 1000;
      background-color: rgba(255, 255, 255, 0.9);
      text-align: center;
    }
  }
}

/* Small-screen & fallback styles */
.session {
  margin-bottom: 1em;
}

@supports (display: grid) {
  @media screen and (min-width: 700px) {
    .session {
      margin: 0;
    }
    .session-time-day {
      display: none;
    }
    .session-group {
      z-index: 1;
      color: black;
      text-align: center;
      display: flex;
    }
    .session-group .session {
      padding: 0;
      margin-right: 10px;
      flex: 1;
      writing-mode: tb-rl;
      transform: rotate(-180deg);
      box-shadow: rgba(255, 255, 255, 0.6) -1px -1px 0, rgba(0, 0, 0, 0.3) -4px -4px 0;
    }
    .session-group .session:nth-last-child(1) {
      margin-right: 0px;
    }
    .session-group .session-time {
      display: none;
    }
    .session-group .session-title a {
      border-bottom: none !important;
      border-left: dotted 1px;
      color: black;
    }
    .session-group .session-title a:hover {
      border-left: double 1px;
    }
  }
}

/*************************
 * VISUAL STYLES
 * Design-y stuff ot particularly important to the demo
 *************************/
.session {
  text-align: center;
  padding: 0.5em;
  border-radius: 2px;
  font-size: 14px;
  box-shadow: rgba(255, 255, 255, 0.6) 1px 1px 0, rgba(0, 0, 0, 0.3) 4px 4px 0;
}

.session-title,
.session-subtitle,
.session-time,
.session-track,
.session-presenter {
  display: block;
  font-weight: bold;
}

.session-track {
  display: block;
}

.session-trackdescription {
  font-weight: normal;
}

.session-tracktitle {
  font-weight: normal;
  font-weight: bold;
}

.session-tracktitle::after {
  content: ":\00A0";
}

.session-presenter {
  font-weight: normal;
  font-style: italic;
}

.day-slot,
.session-title,
.time-slot {
  margin: 0;
  font-size: 1em;
}

.session .session-title a {
  color: black;
  text-decoration-style: dotted;
}

.session .session-title a:hover {
  border-bottom: double 1px;
  border-bottom-color: inherit;
  color: inherit !important;
}

.session .session-track a {
  color: black;
  text-decoration-style: dotted;
}

.session .session-track a:hover {
  border-bottom: double 1px;
  border-bottom-color: inherit;
  color: inherit !important;
}

.session-group .session-title a:hover {
  color: inherit !important;
}

.day-slot,
.track-slot,
.time-slot {
  font-weight: bold;
  font-size: 0.75em;
}

.track-1 {
  background-color: #d9d9d9;
  color: black;
}

.track-2 {
  background-color: #ffcbaf;
  color: black;
}

.track-3 {
  background-color: #fbbab8;
  color: black;
}

.track-4 {
  background-color: #aec6e5;
  color: black;
}

.track-5 {
  background-color: #c896d2;
  color: black;
}

.track-6 {
  background-color: #fffed2;
  color: black;
}

.track-7 {
  background-color: #c4dfb7;
  color: black;
}

.track-all {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ccc;
  color: #000;
  box-shadow: none;
}

.text {
  max-width: 750px;
  font-size: 18px;
  margin: 0 auto 50px;
}

.meta {
  color: #555;
  font-style: italic;
}

.meta a {
  color: #555;
}

ul.alt {
  list-style: none;
  padding-left: 0;
}

ul.alt li {
  border-top: solid 1px rgba(160, 160, 160, 0.3);
  padding: 0.5em 0;
}

ul.alt li:first-child {
  border-top: 0;
  padding-top: 0;
}

ul.alt li .icon {
  font-size: 0.6em;
  vertical-align: middle;
}

ul.alt li .icon:not(:first-child) {
  margin-left: 4px;
}

ul.alt li .icon:not(:last-child) {
  margin-right: 4px;
}

.paper .title {
  display: block;
}

.paper .authors {
  font-style: italic;
}

/*# sourceMappingURL=CSSGridSchedule.css.map */