*, *::before {
box-sizing: border-box;
}
:root {
--background-color: #291F1E;
--lighter-bg: #343434;
--heading-color: #799DB4;
--text-color: #E9F0E2;
--alert-color: #F64740;
html {
background-color: var(--background-color);
color: var(--text-color);
font-family: "Helvetica", sans-serif;
font-size: 100%;
width: 100%;
padding: 0;
body {
padding: 5px;
margin: 0;
h1, h2, h3, h4, h5, h6 {
font-weight: 100;
color: var(--heading-color);
main {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
gap: 10px;
h2, .meta, .error {
grid-column: span 5;
h2 a {
color: inherit;
h2 a:visited {
.day-heading {
text-align: center;
font-weight: bold;
.day ul {
list-style-type: none;
padding-left: 0;
.day ul li {
grid-template: 'cat cat' 'c-fi c-fi' 'c-en c-en' 'prop pric' / 1fr auto;
.day ul li:nth-child(2n + 1) {
background-color: var(--lighter-bg);
.day ul li p {
margin: 3px;
p.course-name-fi {
grid-area: c-fi;
hyphens: auto;
overflow-wrap: break-word;
p.course-name-en {
grid-area: c-en;
p.course-category {
grid-area: cat;
opacity: 0.5;
font-size: 80%;
p.course-properties {
grid-area: prop;
p.course-price {
grid-area: pric;
text-align: right;
.day[data-day-name="Maanantai"] {
grid-column: 1;
.day[data-day-name="Tiistai"] {
grid-column: 2;
.day[data-day-name="Keskiviikko"] {
grid-column: 3;
.day[data-day-name="Torstai"] {
grid-column: 4;
.day[data-day-name="Perjantai"] {
grid-column: 5;
.version {
font-size: 75%;
.error h2 {
margin-bottom: 0;
.error p {
margin: 5px 0;
.error .stack {
white-space: pre-wrap;