@charset "UTF-8";

@font-face {
    font-family: "basic-sans";
    src: url("https://use.typekit.net/af/60b710/00000000000000007735abd4/30/l?subset_id=2&fvd=n9&v=3") format("woff2"),url("https://use.typekit.net/af/60b710/00000000000000007735abd4/30/d?subset_id=2&fvd=n9&v=3") format("woff"),url("https://use.typekit.net/af/60b710/00000000000000007735abd4/30/a?subset_id=2&fvd=n9&v=3") format("opentype");
    font-display: auto;
    font-style: normal;
    font-weight: 900;
    font-stretch: normal;
}

@font-face {
    font-family: "basic-sans";
    src: url("https://use.typekit.net/af/fa5d28/00000000000000007735abe8/30/l?subset_id=2&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/fa5d28/00000000000000007735abe8/30/d?subset_id=2&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/fa5d28/00000000000000007735abe8/30/a?subset_id=2&fvd=n7&v=3") format("opentype");
    font-display: auto;
    font-style: normal;
    font-weight: 700;
    font-stretch: normal;
}

@font-face {
    font-family: "basic-sans";
    src: url("https://use.typekit.net/af/721f9c/00000000000000007735abf2/30/l?subset_id=2&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/721f9c/00000000000000007735abf2/30/d?subset_id=2&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/721f9c/00000000000000007735abf2/30/a?subset_id=2&fvd=n4&v=3") format("opentype");
    font-display: auto;
    font-style: normal;
    font-weight: 400;
    font-stretch: normal;
}

@font-face {
    font-family: "basic-sans";
    src: url("https://use.typekit.net/af/515e84/00000000000000007735abfc/30/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff2"),url("https://use.typekit.net/af/515e84/00000000000000007735abfc/30/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("woff"),url("https://use.typekit.net/af/515e84/00000000000000007735abfc/30/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n3&v=3") format("opentype");
    font-display: auto;
    font-style: normal;
    font-weight: 300;
    font-stretch: normal;
}

:root {
    --bot: '9';
    --bot-display: none;
    --font-family: basic-sans, sans-serif;
    --font-weight: 300;
    --font-weight-bold: 400;
    --font-weight-heavy: 700;
    --color-dark: #28328c;
    --color-light: #dceeee;
    --color-positive: #8ce6d2;
    --color-positive-light: #a3ebdb;
    --color-negative: #e12323;
    --color-black: #000;
    --color-white: #fff;
    --color-gr-aa: #595959;
    --color-gr-aaa: #2e2e2e;

    --text-color: var(--color-black);
    --head-text-color: var(--color-white);
    --head-bg-color: var(--color-dark);
    --event-head-color: var(--color-dark);

    --even-text-color: var(--text-color);
    --even-bg-color: var(--color-white);
    --odd-text-color: var(--text-color);
    --odd-bg-color: var(--color-light);

    --hover-text-color: var(--text-color);
    --hover-bg-color: #f3f3f3;
    --border-color: #dddddd;
    --padding: 0.5rem;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s,
samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul,
li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-family: var(--font-family);
    font-weight: var(--font-weight);
    font-size: 100%;
    vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}

button, input, select {
    font: inherit;
    font-family: var(--font-family);
    font-weight: var(--font-weight);
    font-size: 100%;
}

* {
    transition: all .25s ease;
}

html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: var(--font-family);
    font-weight: var(--font-weight);
}

#main {
    margin: 0;
    padding: 0;
    height: 1vh;
    width: 100%;
    max-width: 100%;
    min-width: fit-content;
    color: var(--color-dark);
    font-family: var(--font-family);
}

.tagbutton {
    margin: .25rem;
}

.tagbutton .input {
    border: 1px solid var(--color-black);
    border-radius: .25rem;
    padding: .625rem 1.25rem;
    cursor: pointer;
}

.tagbutton .input[aria-checked="true"], .tagbutton .input:active {
    background-color: var(--color-positive);
}

.tagbutton .input[aria-checked="false"] {
    background-color: var(--color-light);
}

.tagbutton .input:hover {
    box-shadow: 0 0 0 1px inset #0a2e5970, 0 0 2px 0 #0a2e5970;
    opacity: 1.0;
}

.tagbutton .input:hover[aria-checked="true"] {
    background-color: var(--color-positive-light);
}

.tagbutton .input:hover[aria-checked="false"] {
    background-color: #fff;
}

#tagbuttons {
    padding: .6875rem;
    display: flex;
    flex-direction: row;
}

.event.hidden {
    display: none;
}

.event .header, .event .header time, .event .header .headerlink, .event .header .headertext {
    font-weight: var(--font-weight-bold);
}

.event .header .headertext {
    color: var(--event-head-color);
}

.event .text {
    margin: 0 0 0.3rem 0;
}

.lukkari {
    table-layout: auto;
    width: 100%;
    margin: 0 auto 1rem;
    clear: both;
    border-collapse: collapse;
    border-spacing: 0;
    border: none;
}

.lukkari> :not(caption)>*>* {
    padding: var(--padding);
    border: none;
    background: none;
    text-align: left;
    vertical-align: top;
    float: none !important;
    box-sizing: content-box;
    box-shadow: 0 0 1px 0 #0007;
}

.lukkari tbody td:not(:has(.event:not(.hidden))):after {
    display: var(--bot-display);
    content: counter(bot, decimal-leading-zero) ':00';
    color: var(--color-gr-aa);
}

.lukkari tbody td.past:not(:has(.event:not(.hidden))):after {
    color: var(--color-gr-aaa);
}

.lukkari tbody tr:first-child {
    counter-reset: bot var(--bot);
}

.lukkari tbody tr:not(:first-child) {
    counter-increment: bot 1;
}

.lukkari>*+tbody>*>*,
.lukkari>tbody>*~*>*,
.lukkari>tfoot>*>* {
    border-top: 1px solid var(--border-color);
}

.lukkari> :where(thead, tfoot)>*>th {
    background-color: var(--head-bg-color);
    color: var(--head-text-color);
    font-weight: var(--font-weight-heavy);
    word-break: normal;
    vertical-align: middle;
    width: calc(100% / 5);
}

.lukkari> :where(tbody)>.odd>* {
    background-color: var(--odd-bg-color);
    color: var(--odd-text-color);
}

.lukkari> :where(tbody)>.even>* {
    background-color: var(--even-bg-color);
    color: var(--even-text-color);
}

.lukkari> tfoot>tr.no-events>td {
    background-color: var(--color-white);
    color: var(--color-black);
    font-size: 1.3rem;
    vertical-align: middle;
    text-align: center;
}

.lukkari> tbody.empty>tr {
    display: none;
}

.lukkari:not(:has(tbody.empty))> tfoot>tr.no-events {
    display: none;
}

.lukkari>thead th.past {
    opacity: 0.8;
}

.lukkari>tbody td.past {
    opacity: 0.7;
}

.lukkari>.row-hover>tr:hover>* {
    background-color: var(--hover-bg-color);
    color: var(--hover-text-color);
}

.lukkari img {
    margin: 0;
    padding: 0;
    border: none;
    max-width: none;
}

.lukkari-table-description {
    clear: both;
    display: block;
}