:root {
    --base: #181a1b;
    --base-light: #3f4447;
    --foreground-1: #e8e6e3;
    --foreground-2: #4985d0;
    --foreground-3: #318a18;
    --foreground-4: #8cabd0;
    --invalid: #797d83;
}

body {
    font-family: sans-serif;
    color: var(--foreground-1);
    background-color: var(--base);
}

a {
    text-decoration: none;
    color: var(--foreground-2);
}

a:hover {
    text-decoration: underline;
}

.a-plain {
    text-decoration: none !important;
}

.toc {
    color: var(--foreground-4);
}

.header-button {
    /* font-size: 20pt !important; */
    margin-left: 10px;
    margin-right: 10px;
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.page-header {
    display: grid;
    grid-template-areas:
        'main-header'
        'left-logo';
}

.main-header {
    text-align: center;
}

.logo {
    width: 256px;
    display: block;
}

.disclaimer {
    text-align: center;
    padding: 5px;
}

.ext-link-button {
    font-size: 16pt;
    background-color: var(--base);
    border-radius: 6px;
}

.vertical-space {
    margin-top: 10px;
    margin-bottom: 10px;
}

.self-link,
.cinema-link {
    color: var(--foreground-1);
}

.self-link-target:target {
    animation: target-fade 2.5s 1;
}

@keyframes target-fade {
    0% {
        background-color: var(--base-light);
    }

    100% {
        background-color: var(--base);
    }
}

table {
    border: none;
    border-collapse: collapse;
}

.listings-table,
.events-table {
    table-layout: auto;
    width: 100%;
}

tr:hover {
    background-color: var(--base-light) !important;
}

.td-title {
    vertical-align: top;
}

.td-runtime {
    vertical-align: top;
    text-align: center;
}

.td-event-date {
    width: 50%;
    vertical-align: top;
}

.td-event-ad {
    width: 3%;
    vertical-align: top;
    padding-top: 3px;
}

.td-showings {
    vertical-align: top;
}

.showing-box {
    width: 110px;
    display: inline-block;
}

.showing {
    padding-left: 10px;
    padding-right: 10px;
}

.showing-bargain {
    color: var(--foreground-3);
}

.showing-not-bookable {
    color: var(--invalid);
}

.showing-cc {
    padding-top: 3px;
    vertical-align: top;
    /* font-size: 0.9em;
    text-align: center;
    vertical-align: top; */
}

.event-info {
    padding: 10px;
}

.mbox {
    display: inline-block;
}

.accessibility {
    border: 2px solid;
    border-radius: 8px;
    padding-left: 3px;
    padding-right: 3px;
    font-size: 0.9em;
    text-align: center;

}

/* grid css from https://matthewjamestaylor.com/left-sidebar-layout#grid */
/* grid container */
.page-layout {
    display: grid;
    grid-template-areas:
        'main-content'
        'left-sidebar';
}

/* general column padding */
.page-layout>* {
    padding: 1rem;
}

/* assign columns to grid areas */
.page-layout>.main-content {
    grid-area: main-content;
}

.page-layout>.left-sidebar {
    grid-area: left-sidebar;
    z-index: 1;
    overflow-x: hidden;
}

/* mobile */
@media (orientation: portrait) {
    body {
        font-size: 28pt;
    }

    .disclaimer {
        font-size: 20pt;
        margin-left: 5%;
        margin-right: 5%;
    }

    .event-info {
        font-size: 24pt;
    }

    .page-header {
        grid-template-areas:
            'left-logo'
            'main-header';
    }

    .logo {
        margin-left: auto;
        margin-right: auto;
        width: 40%;
    }

    .header-button {
        font-size: 28pt !important;
    }

    .page-layout {
        grid-template-areas:
            'left-sidebar'
            'main-content';
    }

    /* event table */
    .showings-table tr {
        display: table;
        width: 100%;
    }

    .showings-table td {
        display: table-row;
    }

    .td-runtime {
        width: 25%;
    }

    .td-title {
        width: 40%;
    }
}


/* desktop */
@media (orientation: landscape) {
    body {
        font-size: 16pt;
    }

    .disclaimer {
        font-size: 10pt;
    }

    .page-header {
        grid-template-columns: 25% 55%;
        grid-template-areas:
            'left-logo main-header';
    }

    .event-info {
        font-size: 18pt;
    }

    .logo {
        margin-left: 50px;
        margin-top: 36px;
    }

    .header-button {
        font-size: 20pt !important;
    }

    .page-layout {
        grid-template-columns: 25% 55%;
        grid-template-areas:
            'left-sidebar main-content';
    }

    /* event table */
    .td-runtime {
        width: 18%;
    }

    .td-title {
        width: 36%;
    }

}


/* toc css from https://www.tipsandtricks-hq.com/simple-table-of-contents-toc-using-pure-html-and-css-code-9217 */
#toc_container {
    /* border: 1px solid #aaa; */
    display: table;
    padding-right: 50px;
    width: auto;
}

.toc_title {
    font-weight: 700;
    text-align: center;
}