@import 'colors'; $timeslot-height: 0.65em; .schedule { display: flex; padding-right: 0.5em; .schedule-date { height: 0; position: relative; top: calc(-5rem - 1px); visibility: hidden; width: 0; } .schedule-event { border: 1px solid $color-highlight; border-radius: 0.5em; color: currentColor; display: flex; grid-row: calc(var(--start) + 1) / calc(var(--end) + 1); overflow: hidden; text-decoration: none; &:hover .schedule-event-detail { text-decoration: underline; } & > div { padding: 0.5em; } } .schedule-event-detail { border-left: 1px solid $color-highlight; overflow: hidden; .schedule-speaker, .schedule-title { overflow-x: hidden; text-overflow: ellipsis; white-space: nowrap; } } .schedule-event-time { display: flex; flex-direction: column; :nth-child(2) { line-height: 1.1; } } .schedule-grid { display: grid; grid-auto-rows: $timeslot-height; grid-template-rows: 2rem; &.schedule-room { grid-template-columns: 80vw; @media screen and (min-width: 501px) { grid-template-columns: 400px; } } & > * { grid-column: 1 / 2; } & > .schedule-title { background: $color-background; font-size: 1.17rem; margin-bottom: 0; padding-bottom: 0.5em; position: sticky; text-align: center; top: 3rem; z-index: 42; } } .schedule-room { margin: 0 0.5em; } .schedule-time { border-top: 1px solid $color-highlight; grid-row: calc(var(--start) + 1) / span var(--span); } .schedule-timeline { background: $color-background; padding: 0 0.5em 0 1em; position: sticky; left: 0; } } .schedule-container { display: flex; flex-direction: column; margin-left: -1rem; width: min-content; } .schedule-days { background: $color-background; display: flex; font-size: 1rem; left: 0; line-height: 1; max-width: 100vw; overflow-x: auto; padding: 1em; position: sticky; top: 0; z-index: 42; a { padding: 0 0.5em; white-space: nowrap; &:first-child { padding-left: 0; } &:last-child { padding-right: 0; } } } .schedule-info { .schedule-timezone { font-weight: bold; } .schedule-version { font-style: italic; } }