

/*************************
 * GRID SCHEDULE LAYOUT
 *************************/
@media screen and (min-width:700px) {
  .schedule {
    display: grid;
    grid-gap: 0.5em;
    grid-auto-flow: column;
    grid-template-rows:
      [tracks] auto
      [time-0800] auto
      [time-0830] auto
      [time-0900] auto
      [time-0930] auto
      [time-1000] auto
      [time-1030] auto
      [time-1100] auto
      [time-1130] auto
      [time-1200] auto
      [time-1230] auto
      [time-1300] auto
      [time-1330] auto
      [time-1400] auto
      [time-1430] auto
      [time-1500] auto
      [time-1530] auto
      [time-1600] auto
      [time-1630] auto
      [time-1700] auto
      [time-1730] auto
      [time-1800] auto
      [time-1830] auto
      [time-1900] auto
      [time-1930] auto
      [time-2000] auto
      [time-2030] auto
      [time-2100] auto
      [time-2130] auto
      [time-2200] auto
      [time-2230] 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] auto
      [monday] auto
      [tuesday-track1] auto
      [tuesday-track2] auto
      [tuesday-track3] auto
      [wednesday-track1] auto
      [wednesday-track2] auto
      [thursday-track1] auto
      [thursday-track2] auto
      [friday] auto
      ;
  }
}


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

.track-slot {
  background-color: var(--dark-color);
  color: white;

}


/* sticky days
@supports( display:grid ) {
  @media screen and (min-width:700px) {
    .track-slot {
      display: block;
      padding: 10px 5px 5px;
      position: sticky;
      top: 0;
      z-index: 1000;
      background-color: rgba(255,255,255,1);
    }
  }
}

*/

@media screen and (max-width:900px) {
  .time-slot {
      display: none;
    }


}



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

@supports( display:grid ) {
  @media screen and (min-width: 700px) {
    .session {
      margin: 0;
    }
  }
}


@supports( display:grid ) {
  @media screen and (max-width: 700px) {
    .session {
      margin: 0;
    }
    .schedule {
    column-count: 1;
    }
  }
}
*/

/*************************
 * VISUAL STYLES
 * Design-y stuff ot particularly important to the demo
 *************************/
body {


  margin: 0 auto;
  line-height: 1.5;
}

.session, .track-slot {
  padding: .5em;
  border-radius: 2px;
  font-size: 14px;
/*  box-shadow:
    rgba(255,255,255,.6) 1px 1px 0,
    rgba(0,0,0,1) 2px 2px 0; */
}

.session-title,
.session-time,
.session-track,
.session-presenter {
  display: block;
}

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

.intro-title, .outro-title {
  color: #fff !important;
}

.session-title a, .session-track a {
  color: #fff;
  text-decoration-style: dotted;

  &:hover {
    font-style: italic;
  }

  &:focus {
    outline: 2px dotted rgba(255,255,255,.8);
  }
}

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

.extra {
  background-color: #1259B2;
  color: #fff;
}

.standard {
  background-color: #687f00;
  color: #fff;
}

.break, .break .session-title a {
  background-color: #CCC;
  color: #000;
}

 .keynote {
  background-color: #c35500;
  color: #fff !important;
}

.intro, .outro {
  background-color: purple;
  color: #fff;
}

.internal {
  background-color: #666;
  color: #fff;
}

.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;
}

hr {
  margin: 40px 0;
}

View Compiled
