:root{--blue:#007aff;--text:#222;--red:#bd1427;--red-bg:#ffe2e6;--line:#e5eaf0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.6 system-ui,Arial,sans-serif;background:#f7f9ff;color:var(--text)}header{background:#007aff;padding:22px max(20px,calc((100% - 1000px)/2));color:#fff;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}a{color:#005ed4;text-underline-offset:3px}header a{color:#fff;text-decoration:none}.brand{font-size:22px;font-weight:700}header nav{display:flex;gap:18px;flex-wrap:wrap}header [aria-current]{text-decoration:underline}main{max-width:1040px;margin:auto;padding:30px 20px}.intro{margin-bottom:28px}.eyebrow{font-size:12px;letter-spacing:.14em;color:#52647a;margin:0}h1{font-size:36px;line-height:1.2;margin:10px 0 22px}h2{font-size:24px;margin:0 0 18px}h3{font-size:18px;margin:0 0 12px}section{background:white;padding:26px;border:1px solid var(--line);border-radius:12px;margin:0 0 24px;scroll-margin-top:20px}.year-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}button,select{font:inherit;padding:8px 14px;border:1px solid #ccd6e3;border-radius:7px;background:white;color:#222;min-height:44px}button{cursor:pointer}select{font-weight:700}.section-links{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:22px}.holiday-list{list-style:none;margin:0;padding:0}.holiday-list li{display:grid;grid-template-columns:115px 1fr 120px;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);align-items:baseline}.holiday-list li:last-child{border:0}.holiday-list time{color:var(--red);font-weight:700;font-variant-numeric:tabular-nums}.weekday{color:#566273;text-align:right}.eves time{color:#8c5900}.months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.day,.day-label{display:flex;align-items:center;justify-content:center;min-height:32px}.day{border-radius:5px;font-variant-numeric:tabular-nums}.day-label{font-size:12px;color:#5b6776}.holiday{background:var(--red-bg);color:var(--red);font-weight:800;box-shadow:inset 0 0 0 1px #e49ba6}.eve{outline:2px dashed #a76a00;outline-offset:-2px}.legend{display:flex;gap:20px;flex-wrap:wrap;font-size:14px;margin-bottom:24px}.swatch{display:inline-block;width:15px;height:15px;border-radius:3px;background:var(--red-bg);border:1px solid #e49ba6;vertical-align:-2px;margin-right:7px}.swatch.eve{background:transparent;border:0}.month-holidays{font-size:12px;color:var(--red);padding:8px 0 0;list-style:none;margin:0}.month-holidays li{margin:4px 0}.month-holidays .eve-label{color:#8c5900}footer{padding:8px 4px 28px;font-size:13px;color:#596575}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #133f91;outline-offset:3px}@media(max-width:760px){.months{grid-template-columns:repeat(2,minmax(0,1fr))}.holiday-list li{grid-template-columns:100px 1fr;gap:2px 12px}.weekday{grid-column:2;text-align:left;font-size:14px}h1{font-size:30px}section{padding:20px}}@media(max-width:440px){.months{grid-template-columns:1fr}.day{min-height:38px}main{padding:22px 14px}section{padding:18px}.brand{font-size:20px}header nav{font-size:14px;gap:12px}}

/* Month-grouped holiday lists */
.holiday-month{margin:0 0 25px}.holiday-month:last-child{margin-bottom:0}.holiday-month h3{font-size:19px;margin:0 0 10px}.holiday-list .holiday-month ul{list-style:disc;padding-left:24px;margin:0}.holiday-list .holiday-month li{display:list-item;padding:6px 0;border:0;line-height:1.7}.holiday-list .holiday-month time{color:var(--text);font-weight:400}.holiday-list .holiday-month .weekday{color:inherit;font-size:inherit;text-align:inherit}.holiday-month li::marker{color:#606873}

.site-footer {
    margin-top: 50px;

    background: #172033;
    color: #ffffff;

    border-top: 4px solid #2563eb;
}


/* MAIN FOOTER */

.footer-container {
    width: min(1100px, calc(100% - 40px));

    margin: 0 auto;

    padding: 48px 0 42px;

    display: grid;

    grid-template-columns:
        minmax(240px, 1.2fr)
        minmax(400px, 2fr);

    gap: 70px;
}


/* BRAND */

.footer-brand {
    max-width: 360px;
}

.footer-logo {
    display: inline-block;

    margin-bottom: 12px;

    color: #ffffff;

    font-size: 22px;
    font-weight: 850;

    letter-spacing: -0.4px;

    text-decoration: none;
}

.footer-logo:hover {
    text-decoration: underline;
}

.footer-brand p {
    margin: 0;

    color: #aebbd0;

    font-size: 14px;
    line-height: 1.7;
}


/* SITEMAP */

.footer-sitemap {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(130px, 1fr));

    gap: 35px;
}


/* COLUMNS */

.footer-column {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 9px;
}

.footer-column h3 {
    margin: 0 0 7px;

    color: #ffffff;

    font-size: 14px;
    font-weight: 800;

    letter-spacing: 0.5px;

    text-transform: uppercase;
}

.footer-column a {
    color: #b9c6d9;

    font-size: 14px;

    line-height: 1.45;

    text-decoration: none;

    transition:
        color 0.15s ease,
        transform 0.15s ease;
}

.footer-column a:hover {
    color: #ffffff;

    transform: translateX(2px);
}


/* BOTTOM BAR */

.footer-bottom {
    border-top:
        1px solid rgba(255, 255, 255, 0.10);

    background:
        rgba(0, 0, 0, 0.08);
}

.footer-bottom-inner {
    width: min(1100px, calc(100% - 40px));

    margin: 0 auto;

    padding: 17px 0;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 20px;

    color: #8695ab;

    font-size: 12px;
}


/* =========================
   TABLET
========================= */

@media (max-width: 800px) {

    .footer-container {
        grid-template-columns: 1fr;

        gap: 35px;
    }

}


/* =========================
   MOBILE
========================= */

@media (max-width: 600px) {

    .site-footer {
        margin-top: 35px;
    }

    .footer-container {
        width: calc(100% - 30px);

        padding: 36px 0 30px;

        gap: 30px;
    }

    .footer-brand {
        max-width: 100%;
    }

    .footer-logo {
        font-size: 21px;
    }

    .footer-sitemap {
        grid-template-columns:
            1fr 1fr;

        gap: 28px 20px;
    }

    .footer-column:last-child {
        grid-column:
            1 / -1;
    }

    .footer-column a {
        padding: 3px 0;
    }

    .footer-bottom-inner {
        width: calc(100% - 30px);

        padding: 16px 0;

        flex-direction: column;

        align-items: flex-start;

        gap: 3px;
    }

}


/* =========================
   VERY SMALL MOBILE
========================= */

@media (max-width: 380px) {

    .footer-sitemap {
        grid-template-columns: 1fr;
    }

    .footer-column:last-child {
        grid-column: auto;
    }

}


/* =========================
   MOBILE
========================= */


footer .calendar-languages{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:0.4em;width:min(1100px,calc(100% - 40px));box-sizing:border-box;margin:0 auto;padding:0 0 14px;color:#8695ab;font-size:12px;line-height:1.8;font-weight:400;clear:both}footer .calendar-languages a{color:inherit;text-decoration:none;opacity:.8}footer .calendar-languages a:hover,footer .calendar-languages a:focus-visible{text-decoration:underline;opacity:1}footer .calendar-languages [aria-current]{opacity:.6}@media print{footer .calendar-languages{display:none}}
.site-footer{padding:0;font-size:16px}.site-footer .footer-container{grid-template-columns:minmax(200px,1.4fr) minmax(150px,1fr) minmax(200px,1fr);gap:40px}@media(max-width:800px){.site-footer .footer-container{grid-template-columns:1fr;gap:28px}}

.holiday-total{display:inline-block;background:#e8f2ff;color:#174a86;padding:10px 16px;border-radius:8px;font-size:18px;font-weight:650;margin:0 0 22px}.intro h1{margin-bottom:14px}

.comparison-list{padding-left:22px}.comparison-list li{margin:14px 0;line-height:1.8}.count-explanation{margin:0 0 20px;color:#48586c;max-width:720px}

.comparison-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:20px 0 12px}.comparison-controls input{font:inherit;width:100px;padding:8px 10px;min-height:44px;border:1px solid #ccd6e3;border-radius:7px;background:#fff}.comparison-range{font-weight:650}.count-high{color:#166534;background:#dcfce7;padding:2px 6px;border-radius:4px}.count-low{color:#a51624;background:#ffe1e5;padding:2px 6px;border-radius:4px}.comparison-legend{font-size:13px;line-height:2}.current-comparison-year{background:#eef5ff;border-left:3px solid #007aff;padding:10px 12px}.current-year-label{font-size:12px;color:#174a86;font-weight:650}.comparison-count{display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone}

#comparison-list{list-style:none;padding:0;max-width:460px}#comparison-list li{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0;padding:12px 14px;border-bottom:1px solid #e5eaf0}#comparison-list a{font-weight:600;text-decoration:none}#comparison-list .comparison-count{min-width:44px;text-align:center;padding:3px 10px;font-size:19px}#comparison-list .current-comparison-year{border-left:3px solid #007aff}.comparison-controls{max-width:460px;justify-content:space-between}.comparison-controls span{font-weight:600}.comparison-legend{max-width:460px;display:flex;gap:10px;justify-content:flex-end}

.calendar-year-navigation{display:grid;grid-template-columns:1fr 1fr 1fr;max-width:460px;gap:10px}.calendar-year-navigation select{width:100%;text-align:center}.calendar-year-navigation button{white-space:nowrap;padding:8px 10px}.calendar-year-navigation #comparison-current{grid-column:1/-1;justify-self:center;border:0;background:transparent;color:#005ed4;text-decoration:underline}.calendar-year-navigation button:disabled{opacity:.4;cursor:default}

.calendar-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.calendar-heading-row h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0}.calendar-symbol{width:25px;height:25px;flex:none;color:#005ed4}.calendar-year-controls{display:flex;align-items:center;gap:5px}.calendar-year-controls select{padding:7px 9px}.calendar-year-controls button{padding:7px 11px}.calendar-year-controls button:disabled{opacity:.4}@media(max-width:600px){.calendar-heading-row{justify-content:flex-start}.calendar-heading-row h2{font-size:21px}}

.list-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:20px}.list-heading-row h2{margin:0}.list-year-controls{gap:5px}.list-year-controls button{padding:7px 11px}.list-year-controls select{padding:7px 9px}.list-year-controls #current{font-size:13px;margin-left:5px}@media(max-width:600px){.list-heading-row{justify-content:flex-start}.list-heading-row h2{font-size:21px}}

/* Clear calendar heading and year prompt */
body[data-page="arkipyhat"] .calendar-heading-row{display:block;margin-bottom:26px}body[data-page="arkipyhat"] .calendar-heading-row h2{margin-bottom:14px}.calendar-year-picker label{display:block;font-size:14px;color:#526174;margin-bottom:8px}.calendar-year-picker .calendar-year-controls{justify-content:flex-start}.calendar-year-picker{max-width:100%}.day.holiday{font-size:18px}.month-holidays{font-size:14px}@media(max-width:600px){.calendar-year-picker label{font-size:14px}.calendar-year-picker .calendar-year-controls{gap:6px}}

/* Dates first, calendar second */
header{padding-top:12px;padding-bottom:12px}main{padding-top:18px}section{padding:22px;margin-bottom:18px}.list-heading-row{margin-bottom:16px}.list-heading-row h1{font-size:28px;line-height:1.25;margin:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.list-heading-row h1 svg{flex:none}.holiday-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 30px}.holiday-month{margin:0}.holiday-month h3{font-size:17px;margin-bottom:4px}.holiday-list .holiday-month li{padding:3px 0}.calendar-heading-row,body[data-page="arkipyhat"] .calendar-heading-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-heading-row h2,body[data-page="arkipyhat"] .calendar-heading-row h2{margin:0;font-size:23px}.calendar-year-picker{margin:0}.plain-year-count{font-weight:600;margin:0 0 12px}.eve-explanation{font-size:14px;line-height:1.6}@media(max-width:600px){header{padding:12px 16px;gap:8px}.brand{font-size:19px}header nav{font-size:13px;gap:12px}main{padding-top:14px}.holiday-list{grid-template-columns:1fr;gap:16px}.list-heading-row h1{font-size:26px}.list-heading-row{gap:12px}.calendar-heading-row,body[data-page="arkipyhat"] .calendar-heading-row{justify-content:flex-start}.calendar-heading-row h2,body[data-page="arkipyhat"] .calendar-heading-row h2{font-size:21px}}

.holiday-list .holiday-name{color:var(--red);font-weight:600}

.list-total-note{font-size:13px;color:#596575;margin:18px 0 0;line-height:1.5}

.shared-year-navigation{display:flex;justify-content:center;margin:0 0 18px;padding:0 10px}.shared-year-controls{justify-content:center;gap:7px}.shared-year-controls #current{margin-left:8px;font-size:14px}.shared-year-controls select{min-width:95px}.shared-year-controls button{padding:8px 14px}

html{overflow-anchor:none}

.month-holidays{color:#222}.month-holidays .calendar-holiday-name{color:var(--red)}
