/* ==========================================================================
   Body
   ========================================================================== */

   body {
    font-family: monospace;
    padding: 1em;
    margin: 0;
    line-height: 1.1;
    font-size: 16px;
}

@media (max-width: 768px) {
    body {
        padding: .5em;
        font-size: 14px;
    }
}



/* ==========================================================================
   Main
   ========================================================================== */

main {
    max-width: 1024px;
    margin: 0 auto;
    padding-bottom: 4em;
}



/* ==========================================================================
   H1
   ========================================================================== */

h1 {
    text-align: center;
    margin-bottom: 1em;
}



/* ==========================================================================
   Calendar
   ========================================================================== */

.calendar {
    display: grid;
    grid-template-columns: repeat(24, 1fr);
    margin: 0 0 2em;
}



/* ==========================================================================
   Month
   ========================================================================== */

.month {
    text-align: center;
    grid-column: span 2;
    font-weight: 600;
    padding: 4px;
    margin: 3px 1px;
    border-radius: 4px;
    background-color: rgba(0, 0, 0, .08);
}

@media (max-width: 768px) {
    .month {
        font-size: 12px;
        font-weight: 400;
    }
}



/* ==========================================================================
   Period
   ========================================================================== */

.period {
    text-align: center;
    text-wrap: balance;
    margin: 2px 1px;
    padding: 4px;
    border-radius: 4px;
    background-color: #0780ff;
    color: #fff;
    font-weight: 600;
}



/* ==========================================================================
   Periods
   ========================================================================== */

.allowed-if-winter {
    grid-column-start: 1;
    grid-column-end: 14;
}

.prohibited-if-summer {
    grid-column-start: 14;
    grid-column-end: 25;
}

.mandatory-if-winter {
    grid-column-start: 5;
    grid-column-end: 13;
}



/* ==========================================================================
   Footnotes
   ========================================================================== */

.footnotes {
    margin: 0 0 0 .5em;
}

.footnotes p {
    white-space: pre-wrap;
    margin: 0;
}



/* ==========================================================================
   hr
   ========================================================================== */

hr {
    margin: 2em 0;
    border: none;
    border-top: 1px solid rgba(0, 0, 0, .16);
}



/* ==========================================================================
   Rules
   ========================================================================== */

.rules {
    margin: 0 0 0 8px;
}



/* ==========================================================================
   Rule
   ========================================================================== */

.rule {
    margin: 0 0 1.5em;
}



/* ==========================================================================
   Timespan
   ========================================================================== */

.timespan {
    display: block;
    font-weight: 600;
}



/* ==========================================================================
   Rule Content
   ========================================================================== */

.rule-content {
    display: block;
}



/* ==========================================================================
   Links
   ========================================================================== */

.links {
    margin: 0 0 0 8px;
}


/* ==========================================================================
   Link
   ========================================================================== */

.link {
    margin: 0 0 .5em;
}