163 lines
2.5 KiB
CSS
163 lines
2.5 KiB
CSS
/*************************
|
|
* LAYOUT
|
|
*************************/
|
|
body {
|
|
padding: 50px;
|
|
counter-reset: session;
|
|
max-width: 1100px;
|
|
margin: 0 auto;
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.track-slot {
|
|
display: none;
|
|
}
|
|
.session {
|
|
margin-bottom: 1em;
|
|
}
|
|
|
|
@supports( display:grid ) {
|
|
@media screen and (min-width:700px) {
|
|
.schedule {
|
|
display: grid;
|
|
}
|
|
|
|
/* a background for the sticky tracks */
|
|
.schedule::after {
|
|
display: block;
|
|
content: '';
|
|
position: -webkit-sticky;
|
|
position: sticky;
|
|
top: 0;
|
|
grid-column: track-1 / -1;
|
|
grid-row: tracks;
|
|
z-index: 999;
|
|
background-color: rgba(255,255,255,.9);
|
|
}
|
|
|
|
.track-slot {
|
|
display: block;
|
|
padding: 10px 5px 5px;
|
|
position: -webkit-sticky;
|
|
position: sticky;
|
|
top: 0; /* otherwise seeing a gap above in at least Firefox. */
|
|
z-index: 1000;
|
|
}
|
|
.session {
|
|
margin: 0;
|
|
}
|
|
}
|
|
}
|
|
|
|
.schedule {
|
|
grid-gap: 1em;
|
|
grid-template-rows:
|
|
[tracks] auto
|
|
[time-0800] 1fr
|
|
[time-0830] 1fr
|
|
[time-0900] 1fr
|
|
[time-0930] 1fr
|
|
[time-1000] 1fr
|
|
[time-1030] 1fr
|
|
[time-1100] 1fr
|
|
[time-1130] 1fr
|
|
[time-1200] 1fr
|
|
/* Note 1:
|
|
In this format, gridlines will need to be "named" in 24hr time
|
|
|
|
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!
|
|
*/
|
|
;
|
|
grid-template-columns:
|
|
[times] 4em
|
|
[track-1-start] 1fr
|
|
[track-1-end track-2-start] 1fr
|
|
[track-2-end track-3-start] 1fr
|
|
[track-3-end track-4-start] 1fr
|
|
[track-4-end]
|
|
;
|
|
}
|
|
|
|
/*************************
|
|
* VISUAL STYLES
|
|
*************************/
|
|
.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;
|
|
}
|
|
|
|
.session {
|
|
padding: .5em;
|
|
border-radius: 2px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.title,
|
|
.time-slot {
|
|
margin: 0;
|
|
font-size: 1em;
|
|
}
|
|
|
|
body {
|
|
counter-reset: session-count;
|
|
}
|
|
.title::before {
|
|
counter-increment: session-count;
|
|
content: 'Session #' counter(session-count) ': ';
|
|
}
|
|
|
|
.track-slot,
|
|
.time-slot {
|
|
font-weight: bold;
|
|
font-size:.75em;
|
|
}
|
|
|
|
span {
|
|
display: block;
|
|
}
|
|
|
|
.track-1 {
|
|
background-color: #1259B2;
|
|
color: #fff;
|
|
}
|
|
|
|
.track-2 {
|
|
background-color: #687f00;
|
|
color: #fff;
|
|
}
|
|
|
|
.track-3 {
|
|
background-color: #544D69;
|
|
color: #fff;
|
|
}
|
|
|
|
.track-4 {
|
|
background-color: #c35500;
|
|
color: #fff;
|
|
}
|
|
|
|
.track-many {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
background: #ccc;
|
|
color: #000;
|
|
}
|
|
|
|
ins {
|
|
text-decoration: none;
|
|
background-color: #ddffdd;
|
|
} |