 :root{--kal-link: #2196f3;--kal-header: #003580;--kal-text: #1f2328;--kal-muted: #5c6670;--kal-bg: #ffffff;--kal-soft: #f3f6fa;--kal-border: #dde3ea;}*, *::before, *::after{box-sizing: border-box;}html{-webkit-text-size-adjust: 100%;}body{margin: 0;font: 17px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;color: var(--kal-text);background: var(--kal-bg);}a{color: var(--kal-link);}h1{font-size: 1.9rem;line-height: 1.25;margin: 0 0 .8em;}h2{font-size: 1.3rem;margin: 1.6em 0 .6em;}.kal-wrap{max-width: 1100px;margin: 0 auto;padding: 0 16px;}.kal-skip{position: absolute;left: -9999px;}.kal-skip:focus{left: 8px;top: 8px;background: #fff;padding: 6px 10px;z-index: 10;} html{scroll-padding-top: 72px;}.kal-header{background: var(--kal-header);color: #fff;position: sticky;top: 0;z-index: 1000;}.kal-header-row{display: flex;flex-wrap: wrap;align-items: center;gap: 0 24px;min-height: 56px;}.kal-logo{color: #fff;font-size: 1.35rem;font-weight: 700;text-decoration: none;padding: 12px 0;}.kal-nav ul{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: 4px;}.kal-nav a{display: block;color: #fff;text-decoration: none;padding: 8px 10px;border-radius: 4px;font-size: .95rem;}.kal-nav a:hover, .kal-nav a[aria-current="page"]{background: rgba(255, 255, 255, .16);}.kal-menu-toggle{display: none;}.kal-menu-button{display: none;} .kal-nav-more{position: relative;}.kal-nav-more-btn{display: block;font: inherit;font-size: .95rem;color: #fff;background: none;border: 0;padding: 8px 10px;border-radius: 4px;cursor: pointer;}.kal-nav-more-btn::after{content: " ▾";font-size: .8em;}.kal-nav-more:hover .kal-nav-more-btn, .kal-nav-more:focus-within .kal-nav-more-btn, .kal-nav-more:has(a[aria-current="page"]) .kal-nav-more-btn{background: rgba(255, 255, 255, .16);}.kal-nav .kal-nav-more ul{display: none;position: absolute;right: 0;top: 100%;min-width: 240px;flex-direction: column;gap: 2px;padding: 6px;background: var(--kal-header);border-radius: 0 0 6px 6px;box-shadow: 0 6px 16px rgba(0, 0, 0, .25);}.kal-nav .kal-nav-more:hover ul, .kal-nav .kal-nav-more:focus-within ul{display: flex;}@media (max-width: 960px){.kal-header-row{justify-content: space-between;}.kal-menu-button{display: block;cursor: pointer;padding: 8px 12px;border: 1px solid rgba(255, 255, 255, .5);border-radius: 4px;}.kal-nav{display: none;width: 100%;padding-bottom: 10px;max-height: calc(100vh - 56px);overflow-y: auto;}.kal-nav ul{flex-direction: column;}.kal-menu-toggle:checked ~ .kal-nav{display: block;} .kal-nav-more-btn{display: none;}.kal-nav .kal-nav-more ul{display: flex;position: static;min-width: 0;padding: 0;background: none;box-shadow: none;}} .kal-haku-btn{order: 3;margin-left: auto;display: flex;align-items: center;justify-content: center;width: 40px;height: 40px;padding: 0;color: #fff;background: none;border: 1px solid rgba(255, 255, 255, .5);border-radius: 4px;cursor: pointer;}.kal-haku-btn[hidden]{display: none;}.kal-haku-btn:hover, .kal-haku-btn:focus-visible, .kal-haku-btn[aria-expanded="true"]{background: rgba(255, 255, 255, .16);}.kal-haku{position: absolute;left: 0;right: 0;top: 100%;padding: 12px 0;background: #fff;color: #1f2328;border-bottom: 1px solid var(--kal-border);box-shadow: 0 6px 16px rgba(0, 0, 0, .25);max-height: calc(100vh - 56px);overflow-y: auto;}.kal-haku[hidden]{display: none;}.kal-haku input{width: 100%;box-sizing: border-box;font: inherit;font-size: 16px;padding: 10px 12px;min-height: 44px;border: 1px solid #9fb0c2;border-radius: 4px;background: #fff;color: #1f2328;}.kal-haku-list{list-style: none;margin: 6px 0 0;padding: 0;}.kal-haku-list:empty{display: none;}.kal-haku-list a{display: flex;flex-wrap: wrap;align-items: baseline;justify-content: space-between;gap: 0 14px;padding: 9px 10px;min-height: 28px;text-decoration: none;color: #1f2328;border-radius: 4px;}.kal-haku-list li.is-active a, .kal-haku-list a:hover{background: var(--kal-soft);}.kal-haku-t{font-weight: 600;color: var(--kal-header);}.kal-haku-g{font-size: .88rem;color: #5c6670;}.kal-haku-note{margin: 8px 2px 0;font-size: .92rem;color: #5c6670;}.kal-haku-note[hidden]{display: none;}@media (max-width: 960px){.kal-header-row{gap: 0 10px;}.kal-logo{margin-right: auto;}.kal-menu-button{order: 4;}.kal-nav{order: 5;}.kal-haku-btn{margin-left: 0;}} .kal-main{padding-top: 28px;padding-bottom: 48px;min-height: 60vh;}.kal-crumbs{margin: -12px 0 10px;font-size: .85rem;line-height: 1.5;color: #5a6470;}.kal-crumbs ol{display: flex;flex-wrap: wrap;margin: 0;padding: 0;list-style: none;}.kal-crumbs li{margin: 0;padding: 0;}.kal-crumbs li + li::before{content: "›";margin: 0 .45em;color: #8a93a0;}.kal-crumbs li[aria-current]{color: #3a4149;} .kal-jako{display: flex;flex-wrap: wrap;align-items: center;gap: 8px;margin: 28px 0 0;padding: 12px 0 0;border-top: 1px solid #e1e6ec;}.kal-jako-otsikko{margin-right: 4px;font-weight: 600;}.kal-jako a, .kal-jako button{display: inline-flex;align-items: center;gap: 6px;min-height: 40px;padding: 6px 12px;box-sizing: border-box;font: inherit;font-size: .9rem;line-height: 1.2;color: #1f2328;text-decoration: none;background: #fff;border: 1px solid #c8d0d9;border-radius: 6px;cursor: pointer;}.kal-jako a:hover, .kal-jako button:hover, .kal-jako a:focus-visible, .kal-jako button:focus-visible{border-color: var(--kal-link);background: #f3f8fd;}.kal-jako button[hidden]{display: none;}.kal-jako-wa svg{color: #128c4b;}.kal-jako-fb svg{color: #1877f2;}.kal-jako-tila{font-size: .9rem;color: #1b6e3a;overflow-wrap: anywhere;}.kal-jako-tila:empty{display: none;}.kal-topline{position: relative;display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 4px 12px;margin: -12px 0 10px;}.kal-topline .kal-crumbs{margin: 0;}.kal-jako-pieni{position: relative;gap: 4px;margin: 0 0 0 auto;padding: 0;border: 0;}.kal-jako-pieni a, .kal-jako-pieni button{justify-content: center;width: 32px;min-width: 32px;height: 32px;min-height: 32px;padding: 0;color: #3a4149;touch-action: manipulation;}.kal-jako-pieni .kal-jako-tila{position: absolute;top: 100%;right: 0;z-index: 5;margin-top: 4px;padding: 2px 8px;white-space: nowrap;background: #fff;border: 1px solid #c8d0d9;border-radius: 4px;} @media (max-width: 760px){.kal-jako:not(.kal-jako-pieni){position: relative;flex-wrap: nowrap;gap: 4px;}.kal-jako:not(.kal-jako-pieni) .kal-jako-otsikko{margin-right: 4px;white-space: nowrap;}.kal-jako:not(.kal-jako-pieni) a, .kal-jako:not(.kal-jako-pieni) button{flex: 0 0 auto;justify-content: center;width: 32px;min-width: 32px;height: 32px;min-height: 32px;padding: 0;color: #3a4149;touch-action: manipulation;}.kal-jako:not(.kal-jako-pieni) a span, .kal-jako:not(.kal-jako-pieni) button span{position: absolute;width: 1px;height: 1px;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;}.kal-jako:not(.kal-jako-pieni) .kal-jako-tila{position: absolute;top: 100%;right: 0;z-index: 5;margin-top: 4px;padding: 2px 8px;white-space: nowrap;background: #fff;border: 1px solid #c8d0d9;border-radius: 4px;}}@media (max-width: 340px){.kal-jako:not(.kal-jako-pieni) .kal-jako-otsikko{margin-right: 0;font-size: .85rem;}}@media print{.kal-jako{display: none;}} .kal-kuvat{margin: 32px 0 0;}.kal-kuvat h2{margin: 0 0 12px;}.kal-kuvat-rivi{display: flex;gap: 12px;margin: 0;padding: 0 0 10px;list-style: none;overflow-x: auto;scroll-snap-type: x proximity;-webkit-overflow-scrolling: touch;}.kal-kuvat-rivi:focus-visible{outline: 2px solid var(--kal-link);outline-offset: 2px;}.kal-kuvat-rivi li{flex: 0 0 260px;margin: 0;padding: 0;scroll-snap-align: start;}.kal-kuvat figure{margin: 0;}.kal-kuva{display: flex;align-items: center;justify-content: center;width: 260px;height: 260px;padding: 8px;box-sizing: border-box;background: #eef2f6;border: 1px solid #d5dbe2;border-radius: 6px;}.kal-kuva:hover, .kal-kuva:focus-visible{border-color: var(--kal-link);}.kal-kuva img{display: block;max-width: 100%;max-height: 100%;width: auto;height: auto;background: #fff;box-shadow: 0 1px 3px rgba(0, 0, 0, .2);}.kal-kuvat figcaption{margin: 6px 0 0;font-size: .85rem;color: #5a6470;text-align: center;}.kal-kuva-popup{width: 100vw;height: 100dvh;max-width: none;max-height: none;margin: 0;padding: 0;border: 0;background: rgba(15, 23, 32, .92);color: #fff;}.kal-kuva-popup::backdrop{background: rgba(15, 23, 32, .92);}.kal-kuva-popup[open]{display: flex;flex-direction: column;}.kal-kuva-popup .kuva-ala{flex: 1 1 auto;min-height: 0;display: flex;align-items: center;justify-content: center;padding: 8px;}.kal-kuva-popup .kuva-ala img{max-width: 100%;max-height: 100%;width: auto;height: auto;background: #fff;}.kal-kuva-popup .kuva-teksti{flex: none;display: flex;align-items: center;justify-content: center;gap: 12px;padding: 8px 12px 12px;font-size: .95rem;text-align: center;}.kal-kuva-popup button{flex: none;min-width: 44px;height: 44px;font-size: 1.4rem;line-height: 1;color: #fff;background: rgba(255, 255, 255, .14);border: 1px solid rgba(255, 255, 255, .35);border-radius: 6px;cursor: pointer;}.kal-kuva-popup button:hover, .kal-kuva-popup button:focus-visible{background: rgba(255, 255, 255, .28);}.kal-kuva-popup .kuva-sulje{position: absolute;top: 10px;right: 10px;}.kal-kuva-popup .kuva-kuvaus{flex: 0 1 auto;min-width: 0;}.kal-today{font-size: 1.2rem;background: var(--kal-soft);border-left: 4px solid var(--kal-header);padding: 12px 16px;}.kal-notice{color: var(--kal-muted);font-style: italic;}.kal-updated{color: var(--kal-muted);font-size: .9rem;margin-top: 2em;}h3{font-size: 1.1rem;margin: 1.3em 0 .4em;}.kal-links ul, .kal-cards ul{list-style: none;margin: 0;padding: 0;display: flex;flex-wrap: wrap;gap: 8px;}.kal-links a{display: inline-block;padding: 6px 12px;border: 1px solid var(--kal-border);border-radius: 4px;text-decoration: none;}.kal-links a[aria-current="page"]{background: var(--kal-header);border-color: var(--kal-header);color: #fff;}.kal-cards ul{display: grid;grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));gap: 12px;}.kal-cards a{display: block;padding: 18px;background: var(--kal-soft);border: 1px solid var(--kal-border);border-radius: 6px;font-weight: 600;text-decoration: none;}.kal-cards a:hover{border-color: var(--kal-link);} :root{--kal-red: #c62828;--kal-eve: #fdecea;--kal-today-bg: #fff3c4;}.kal-month{border-collapse: collapse;width: 100%;table-layout: fixed;margin: 0 0 1rem;}.kal-month caption{font-weight: 700;font-size: 1.1rem;text-align: left;padding: 0 0 6px;}.kal-month caption a{text-decoration: none;}.kal-month th, .kal-month td{text-align: center;padding: 8px 2px;border: 1px solid var(--kal-border);vertical-align: top;}.kal-month thead th{background: var(--kal-header);color: #fff;font-weight: 600;font-size: .9rem;border-color: var(--kal-header);}.kal-month th.kal-wk{width: 2.6em;background: var(--kal-soft);color: var(--kal-muted);font-weight: 400;font-size: .85rem;}.kal-month thead th.kal-wk{background: var(--kal-header);color: rgba(255, 255, 255, .8);}.kal-month td{height: 3.6em;font-size: 1.15rem;}.kal-month td.kal-sat{background: #fafbfc;}.kal-month td.kal-sun, .kal-month td.kal-holiday{color: var(--kal-red);font-weight: 600;}.kal-month td.kal-holiday, .kal-month td.kal-eve{background: var(--kal-eve);}.kal-month td.kal-today{background: var(--kal-today-bg);box-shadow: inset 0 0 0 2px #f9a825;}.kal-month td.kal-empty{background: transparent;}.kal-hname{display: block;font-size: .68rem;font-weight: 400;line-height: 1.2;margin-top: 3px;}@media (max-width: 600px){.kal-hname{display: none;}.kal-month td{height: 2.8em;font-size: 1rem;}}.kal-year{display: grid;grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));gap: 8px 20px;}.kal-month-mini{margin: 0;}.kal-month-mini caption{font-size: 1rem;}.kal-month-mini th, .kal-month-mini td{padding: 3px 0;height: auto;font-size: .85rem;border: 0;}.kal-month-mini thead th{font-size: .75rem;}.kal-month-mini th.kal-wk{width: 2.2em;font-size: .7rem;}.kal-month-mini td.kal-holiday, .kal-month-mini td.kal-eve{border-radius: 3px;}.kal-legend{font-size: .85rem;color: var(--kal-muted);}.kal-key{display: inline-block;width: 12px;height: 12px;border-radius: 2px;vertical-align: -1px;margin-left: 10px;}.kal-key-holiday{background: var(--kal-eve);border: 1px solid var(--kal-red);}.kal-key-eve{background: var(--kal-eve);}.kal-key-today{background: var(--kal-today-bg);border: 1px solid #f9a825;}.kal-table{border-collapse: collapse;width: 100%;max-width: 640px;margin: 0 0 1rem;}.kal-table th, .kal-table td{text-align: left;padding: 7px 10px;border-bottom: 1px solid var(--kal-border);}.kal-table thead th{background: var(--kal-soft);font-size: .9rem;}.kal-table tr.kal-past{color: var(--kal-muted);}.kal-table tr.kal-current{background: var(--kal-today-bg);font-weight: 700;}.kal-weeks{max-width: 480px;} .kal-weeks-quarters{display: grid;grid-template-columns: 1fr;gap: 8px 24px;margin: 0 0 1rem;align-items: start;}.kal-weeks-quarters .kal-weeks{max-width: none;margin: 0 0 12px;}.kal-weeks-quarters caption{caption-side: top;text-align: left;font-weight: 700;font-size: 1.05rem;color: var(--kal-header);padding: 4px 2px 8px;}.kal-weeks-quarters caption span{font-weight: 400;color: var(--kal-muted);font-size: .9rem;}.kal-weeks-quarters td:last-child{font-size: .88rem;color: #c62828;}.kal-weeks-quarters tr.kal-past td, .kal-weeks-quarters tr.kal-past th{opacity: .6;}.kal-weeks-quarters .kal-past-toggle-row td{padding: 0;}.kal-weeks-quarters .kal-past-toggle{width: 100%;padding: 9px 8px;border: 0;background: var(--kal-soft);color: var(--kal-header);font: inherit;font-size: .95rem;cursor: pointer;text-align: left;}.kal-weeks-quarters .kal-past-toggle-sign{display: inline-block;width: 1.2em;font-weight: 700;text-align: center;}.kal-weeks-quarters tr.kal-week-hol{background: #fff6f6;}.kal-weeks-quarters tr.kal-current{background: var(--kal-today-bg);}.kal-weeks-quarters .kal-weeks{table-layout: fixed;}.kal-weeks-quarters th:first-child{width: 15%;}.kal-weeks-quarters th:nth-child(2), .kal-weeks-quarters th:nth-child(3){width: 25%;}.kal-weeks-quarters thead th, .kal-weeks-quarters td:nth-child(2), .kal-weeks-quarters td:nth-child(3){white-space: nowrap;overflow-wrap: normal;}.kal-weeks-quarters td:last-child{overflow-wrap: break-word;}@media (max-width: 600px){.kal-weeks-quarters th, .kal-weeks-quarters td{padding: 7px 4px;font-size: .9rem;}.kal-weeks-quarters td:last-child{font-size: .8rem;hyphens: auto;}.kal-weeks-quarters thead th{font-size: .8rem;}}@media (min-width: 760px){.kal-weeks-quarters{grid-template-columns: 1fr 1fr;}}@media (max-width: 600px){.kal-table th, .kal-table td{padding: 7px 5px;font-size: .95rem;overflow-wrap: anywhere;}}.kal-note{color: var(--kal-muted);font-size: .9em;}.kal-upcoming{padding-left: 1.2em;}.kal-prevnext{display: flex;justify-content: space-between;gap: 12px;margin: 0 0 16px;}.kal-prevnext a{text-decoration: none;padding: 6px 12px;border: 1px solid var(--kal-border);border-radius: 4px;}.kal-week-now strong{font-size: 1.6rem;} .kal-countdown{margin: 20px 0 28px;}.kal-countdown h2{margin-top: 0;}.kal-countdown ul{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));gap: 10px;}.kal-countdown li{background: var(--kal-soft);border: 1px solid var(--kal-border);border-top: 4px solid var(--kal-header);border-radius: 6px;padding: 10px 12px;text-align: center;}.kal-m-extra{display: none;}@media (max-width: 600px){.kal-m-has-extra th:last-child, .kal-m-has-extra td:last-child{display: none;}.kal-m-extra{display: block;font-weight: 400;font-size: .78rem;}}.kal-milloin-count{display: flex;align-items: center;gap: 16px;flex-wrap: wrap;background: var(--kal-soft);border: 1px solid var(--kal-border);border-top: 4px solid var(--kal-header);border-radius: 6px;padding: 12px 16px;margin: 0 0 1rem;max-width: 640px;box-sizing: border-box;}.kal-milloin-count p{margin: 0;flex: 1 1 220px;}.kal-milloin-count .kal-milloin-num{flex: 0 0 auto;color: var(--kal-header);line-height: 1.1;}.kal-milloin-num strong{font-size: 2.4rem;}.kal-cd-days{display: block;font-size: 2rem;font-weight: 700;color: var(--kal-header);line-height: 1.1;}.kal-cd-unit{display: block;font-size: .85rem;color: var(--kal-muted);}.kal-cd-label{display: block;font-weight: 600;margin-top: 4px;}.kal-cd-date{display: block;font-size: .85rem;color: var(--kal-muted);}.kal-next-box{margin-top: -6px;} .kal-week-table tr.kal-red td:first-child, .kal-week-table tr.kal-red td:nth-child(2){color: #c62828;font-weight: 600;}.kal-week-table tr.kal-current td{background: var(--kal-today-bg);}.kal-ev-holiday{color: #c62828;}.kal-ev-flag{color: var(--kal-header);}.kal-ev-moon{color: var(--kal-muted);} .kal-footer{background: var(--kal-soft);border-top: 1px solid var(--kal-border);color: var(--kal-muted);font-size: .92rem;padding: 20px 0;}.kal-footer ul{list-style: none;margin: 0 0 8px;padding: 0;display: flex;flex-wrap: wrap;gap: 16px;}.kal-footer p{margin: 0 0 8px;} .kal-home-more{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px;margin: 14px 0 8px;}.kal-home-more a{display: inline-block;padding: 10px 18px;border-radius: 6px;background: var(--kal-header);color: #fff;font-weight: 600;text-decoration: none;}.kal-home-more a + a{background: var(--kal-soft);color: var(--kal-header);border: 1px solid var(--kal-border);}.kal-home-cards{display: grid;grid-template-columns: 1fr;gap: 14px;margin: 0 0 20px;}@media (min-width: 640px){.kal-home-cards{grid-template-columns: 1fr 1fr;}}@media (min-width: 980px){.kal-home-cards{grid-template-columns: 1fr 1fr 1fr;}}.kal-hc{background: var(--kal-bg);border: 1px solid var(--kal-border);border-top: 4px solid var(--kal-header);border-radius: 6px;padding: 12px 14px;display: flex;flex-direction: column;}.kal-hc h3{margin: 0 0 8px;font-size: 1.05rem;color: var(--kal-header);}.kal-hc ul{list-style: none;margin: 0;padding: 0;flex: 1;}.kal-hc li{display: grid;grid-template-columns: 1fr auto;gap: 0 10px;padding: 6px 0;border-bottom: 1px solid var(--kal-border);}.kal-hc li:last-child{border-bottom: 0;}.kal-hc-name{font-weight: 600;}.kal-hc time{grid-column: 1;color: var(--kal-muted);font-size: .9rem;}.kal-hc-left{grid-column: 2;grid-row: 1 / span 2;align-self: center;font-size: .85rem;white-space: nowrap;color: var(--kal-header);}.kal-hc-more{margin: 8px 0 0;font-size: .9rem;} .kal-sun-table td, .kal-sun-table th, .kal-work-table td, .kal-work-table th, .kal-dst-table td, .kal-dst-table th, .kal-milloin-table td, .kal-milloin-table th{overflow-wrap: normal;hyphens: auto;}.kal-work-table td:first-child, .kal-milloin-table td:first-child{white-space: nowrap;}@media (max-width: 600px){.kal-work-table th:nth-child(2), .kal-work-table td:nth-child(2), .kal-work-table th:nth-child(3), .kal-work-table td:nth-child(3){display: none;}.kal-work-table th, .kal-work-table td, .kal-milloin-table th, .kal-milloin-table td{padding: 7px 4px;}.kal-work-table thead th, .kal-milloin-table thead th{font-size: .78rem;}.kal-work-table td:last-child{font-size: .85rem;}}.kal-sun-table td{white-space: nowrap;}.kal-sun-table td:first-child{white-space: normal;}.kal-sun-months{max-width: 640px;margin: 0 0 1.5rem;}.kal-sun-month{border: 1px solid var(--kal-border);border-radius: 8px;margin: 0 0 .5rem;background: #fff;}.kal-sun-month > summary{cursor: pointer;padding: .6rem .9rem;font-weight: 600;color: var(--kal-header);list-style-position: inside;}.kal-sun-month[open] > summary{border-bottom: 1px solid var(--kal-border);}.kal-sun-month .kal-table{margin: 0;max-width: none;}.kal-calc{display: grid;gap: 1rem;max-width: 640px;margin: 0 0 1.5rem;}.kal-calc-box{border: 1px solid var(--kal-border);border-radius: 10px;padding: 1rem 1.1rem;background: var(--kal-soft);}.kal-calc-box h2{margin: 0 0 .8rem;font-size: 1.15rem;}.kal-calc-row{display: grid;grid-template-columns: 1fr 1fr;gap: .8rem;margin: 0 0 .6rem;}.kal-calc-row label{display: flex;flex-direction: column;gap: .25rem;font-size: .9rem;font-weight: 600;}.kal-calc-row input{font: inherit;font-weight: 400;font-size: 1rem;padding: .5rem .6rem;border: 1px solid var(--kal-border);border-radius: 6px;background: #fff;min-height: 44px;width: 100%;box-sizing: border-box;}.kal-calc-check{display: flex;align-items: center;gap: .5rem;margin: 0 0 .8rem;cursor: pointer;}.kal-calc-check input{width: 18px;height: 18px;}.kal-calc-result{background: #fff;border-left: 4px solid var(--kal-header);border-radius: 6px;padding: .7rem .9rem;min-height: 1.5em;font-size: 1.05rem;line-height: 1.6;}.kal-calc-result:empty{display: none;}@media (max-width: 600px){.kal-sun-table th, .kal-sun-table td{padding: 8px 5px;font-size: 1rem;}.kal-sun-table thead th{font-size: .875rem;}}@media (max-width: 420px){.kal-calc-row{grid-template-columns: 1fr;}} .kal-wd-swap .kal-wd-short{display: none;}@media (max-width: 520px){.kal-wd-swap .kal-wd-long{display: none;}.kal-wd-swap .kal-wd-short{display: inline;}}@media (max-width: 400px){.kal-work-table th:nth-child(5), .kal-work-table td:nth-child(5){display: none;}.kal-work-table td:last-child{font-size: .8rem;}.kal-table th, .kal-table td{padding-left: 3px;padding-right: 3px;}}@media (max-width: 360px){.kal-milloin-table td, .kal-work-table td{font-size: .85rem;}} .kal-wd-short[data-s]::before{content: attr(data-s);} .kal-home-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 6px 14px;margin: 1.6em 0 12px;}.kal-home-head h2{margin: 0;}.kal-hc-pick{display: inline-flex;align-items: center;gap: 8px;font-weight: 600;color: var(--kal-header);margin: 0;}.kal-hc-citysel{font: inherit;font-weight: 400;padding: 4px 8px;border: 1px solid var(--kal-border);border-radius: 4px;background: #fff;max-width: 60vw;}.kal-hc-p{display: flex;flex-direction: column;flex: 1;}.kal-hc-p[hidden]{display: none;}.kal-hc-val{grid-column: 1;color: var(--kal-muted);font-size: .9rem;}.kal-hc-empty{flex: 1;margin: 0;color: var(--kal-muted);font-size: .95rem;} .kal-sg{margin: 0 0 1.5rem;}.kal-sg-area{display: flex;gap: 6px;}.kal-sg-y{position: relative;flex: 0 0 22px;font-size: .75rem;color: var(--kal-muted);}.kal-sg-y span{position: absolute;right: 0;transform: translateY(-50%);line-height: 1;}.kal-sg-plot{position: relative;flex: 1 1 auto;min-width: 0;height: 340px;border-radius: 4px;overflow: hidden;cursor: crosshair;}.kal-sg-plot svg{display: block;width: 100%;height: 100%;}.kal-sg-night{fill: #12263f;}.kal-sg-astro, .kal-sg-nautical, .kal-sg-civil, .kal-sg-day{fill: none;stroke-width: 1.2;}.kal-sg-astro{stroke: #234063;}.kal-sg-nautical{stroke: #3f6390;}.kal-sg-civil{stroke: #8fb3d4;}.kal-sg-day{stroke: #fff1c4;}.kal-sg-grid{fill: none;stroke: rgba(70, 90, 115, .28);stroke-width: 1;vector-effect: non-scaling-stroke;}.kal-sg-noon{fill: none;stroke: #d9822b;stroke-width: 1.5;vector-effect: non-scaling-stroke;}.kal-sg-cursor{position: absolute;top: 0;bottom: 0;left: 0;width: 2px;margin-left: -1px;background: #c62828;pointer-events: none;}.kal-sg-x{display: flex;margin: 3px 0 0 28px;font-size: .78rem;color: var(--kal-muted);}.kal-sg-x > span{min-width: 0;text-align: center;}.kal-sg-s{display: none;}  .kal-sd{margin: 14px 0 0 28px;padding: 10px 0 12px;background: var(--kal-soft);border-top: 1px solid var(--kal-border);border-bottom: 1px solid var(--kal-border);}.kal-sd-head, .kal-sd-list{padding-left: 12px;padding-right: 12px;}.kal-sd-head{min-height: 1.5em;margin: 0 0 4px;font-weight: 700;color: var(--kal-header);}.kal-sd-ticks{position: relative;height: 16px;font-size: .72rem;color: var(--kal-muted);}.kal-sd-ticks span{position: absolute;transform: translateX(-50%);}.kal-sd-ticks span:first-child{transform: none;}.kal-sd-strip{position: relative;height: 30px;background: #12263f;}.kal-sd-strip::after{content: "";position: absolute;top: 0;bottom: 0;left: var(--noon, 50%);width: 2px;background: #d9822b;}.kal-sd-strip::before{content: "";position: absolute;top: 0;bottom: 0;left: var(--mid, 0);width: 2px;background: #f2d64b;} .kal-sd-list{display: grid;grid-template-columns: repeat(6, minmax(0, 1fr));gap: 12px 14px;margin-top: 12px;font-size: .95rem;line-height: 1.35;}.kal-sd-tl{display: none;font-weight: 700;}.kal-sd-tl-s{display: none;}.kal-sd-name{display: flex;gap: 6px;align-items: flex-start;min-height: 2.7em;}.kal-sd-name .kal-sg-key{flex: none;margin-top: 3px;}.kal-sd-val{min-height: 4.05em;margin-top: 4px;color: #3f4954;}.kal-sd-val .kal-sg-key{margin-right: 5px;}.kal-sd-total{min-height: 1.35em;margin-top: 4px;padding-top: 4px;border-top: 1px solid var(--kal-border);font-weight: 700;}.kal-prevnext .kal-sun-citysel{flex: 0 1 180px;min-width: 0;min-height: 38px;font: inherit;padding: 4px 8px;border: 1px solid var(--kal-border);border-radius: 4px;background: #fff;}.kal-sg-key{display: inline-block;width: 16px;height: 11px;border: 1px solid #b6c0cb;border-radius: 2px;}.kal-sg-key-day{background: #fff1c4;}.kal-sg-key-civil{background: #8fb3d4;}.kal-sg-key-nautical{background: #3f6390;}.kal-sg-key-astro{background: #234063;}.kal-sg-key-night{background: #12263f;}.kal-sg-key-noon{height: 0;border: 0;border-top: 2px solid #d9822b;vertical-align: middle;}.kal-sg-key-midnight{height: 0;border: 0;border-top: 2px solid #e6c62e;vertical-align: middle;}.kal-sg-midnight{fill: none;stroke: #f2d64b;stroke-width: 1.5;vector-effect: non-scaling-stroke;}.kal-sun-pick{display: flex;align-items: center;gap: 6px;margin: 0 0 10px;}.kal-sun-monthsel{font: inherit;padding: 6px 10px;min-height: 38px;border: 1px solid var(--kal-border);border-radius: 4px;background: #fff;}.kal-sun-mnav{width: 38px;height: 38px;font: 700 20px/1 Arial, sans-serif;color: var(--kal-header);background: var(--kal-soft);border: 1px solid var(--kal-border);border-radius: 4px;cursor: pointer;}.kal-sun-mnav:disabled{opacity: .4;cursor: default;}.kal-sun-months{max-width: none;margin: 0 0 .6rem;}.kal-sun-m{display: none;}.kal-sun-m.is-active{display: block;}.kal-sun-mtitle{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);}.kal-sun-full{width: 100%;max-width: none;margin: 0;}.kal-sun-alt{color: var(--kal-muted);font-size: .88em;} @media (max-width: 1020px){.kal-sd-list{grid-template-columns: repeat(3, minmax(0, 1fr));}.kal-sd-name{min-height: 0;}.kal-sd-val{min-height: 2.7em;}.kal-sd-item:not(.kal-sd-i-noon) .kal-sd-val, .kal-sd-total{padding-left: 22px;}.kal-sd-total{min-height: 0;padding-top: 0;border-top: 0;font-weight: 400;}.kal-sd-total:empty{display: none;}.kal-sd-tl{display: inline;}}@media (max-width: 760px){.kal-sg-plot{height: 260px;}.kal-sg-y, .kal-sg-x, .kal-sd-ticks{font-size: .8rem;}}@media (max-width: 720px){.kal-sun-c-noon{display: none;}.kal-sd-list{grid-template-columns: repeat(2, minmax(0, 1fr));}}@media (max-width: 620px){.kal-sun-c-tw{display: none;}}@media (max-width: 480px){.kal-sd{margin-left: 0;}.kal-sd-ticks, .kal-sd-strip{margin-left: 28px;}.kal-sd-head, .kal-sd-list{padding-left: 8px;padding-right: 8px;}.kal-sd-list{column-gap: 10px;}.kal-sd-tl-l{display: none;}.kal-sd-tl-s{display: inline;}}@media (max-width: 420px){.kal-sun-c-diff{display: none;}} .kal-sn{margin: 0 0 1.2rem;padding: 12px 12px 10px;background: var(--kal-soft);border: 1px solid var(--kal-border);border-radius: 6px;}.kal-sn-head{display: flex;flex-wrap: wrap;justify-content: center;align-items: baseline;gap: 2px 16px;margin: 0 0 10px;text-align: center;font-size: 1.05rem;}.kal-sn-head span{white-space: nowrap;}.kal-sn-name{font-weight: 700;color: var(--kal-header);}.kal-sn-today{color: var(--kal-muted);}.kal-sn .kal-sd-ticks, .kal-sn .kal-sd-strip{margin-left: 0;}.kal-sn-strip{height: 66px;margin-bottom: 40px;}.kal-sn-strip::before, .kal-sn-strip::after{display: none;}.kal-sn-line{position: absolute;top: -4px;bottom: 0;width: 3px;margin-left: -1.5px;background: #d81b1b;box-shadow: 0 0 0 1px rgba(255, 255, 255, .7);}.kal-sn-tri{position: absolute;top: 100%;width: 0;height: 0;margin-left: -8px;border-left: 8px solid transparent;border-right: 8px solid transparent;border-bottom: 11px solid #d81b1b;}.kal-sn-clock{position: absolute;top: calc(100% + 12px);font-weight: 700;font-size: 1rem;line-height: 1.3;color: #b71515;white-space: nowrap;font-variant-numeric: tabular-nums;}.kal-sn-label{position: absolute;top: 50%;transform: translateY(-50%);max-width: calc(100% - 4px);padding: 3px 8px;background: rgba(255, 255, 255, .95);border: 1px solid #c8d0d9;border-radius: 4px;color: #1f2328;font-size: .9rem;line-height: 1.3;white-space: nowrap;}.kal-sn-label strong, .kal-sn-label span{display: block;}.kal-sn-test{display: flex;flex-wrap: wrap;align-items: center;gap: 6px 10px;margin-top: 6px;padding: 8px;background: #fff8e1;border: 1px dashed #d9a400;border-radius: 4px;font-size: .9rem;}.kal-sn-t-range{flex: 1 1 180px;min-width: 120px;}.kal-sn-test button{font: inherit;padding: 4px 10px;border: 1px solid #b6c0cb;border-radius: 4px;background: #fff;cursor: pointer;}.kal-sn-t-note{flex: 1 1 100%;color: #5c6670;font-size: .85rem;}@media (max-width: 480px){.kal-sn{padding: 10px 8px 8px;}.kal-sn-label{font-size: .85rem;padding: 2px 6px;}.kal-sn-strip{height: 84px;}} .kal-hc > .kal-hc-more, .kal-hc-p > .kal-hc-more{margin-top: auto;padding-top: 8px;}.kal-saa-src{font-size: .8rem;color: var(--kal-muted);} .sac-vsd-backtotop{display: none !important;}.kal-top{position: fixed;right: 14px;bottom: 14px;z-index: 40;width: 44px;height: 44px;border: 0;border-radius: 50%;background: var(--kal-header);color: #fff;font: 700 20px/1 Arial, sans-serif;box-shadow: 0 2px 8px rgba(0, 0, 0, .3);cursor: pointer;}.kal-top[hidden]{display: none;}.kal-top:hover, .kal-top:focus-visible{filter: brightness(1.25);}@media print{.kal-top{display: none;}} @media (max-width: 760px){main select, main input[type="date"], main input[type="number"], main input[type="text"]{font-size: 16px !important;}.sac-cad-grid-options-note{font-size: 12px !important;}}@media (max-width: 340px){.kal-sun-table td{font-size: .94rem;}.kal-sun-table thead th{font-size: .8rem;}}.kal-prevnext:has(.kal-sun-citysel){align-items: center;}@media (max-width: 560px){.kal-prevnext:has(.kal-sun-citysel){gap: 6px;}.kal-prevnext:has(.kal-sun-citysel) a{padding: 6px 7px;font-size: .86rem;white-space: nowrap;}.kal-sd-odd{display: none;}.kal-sg-l{display: none;}.kal-sg-s{display: inline;}} html,body{overflow-anchor:none} .kal-evaste{position: fixed;left: 12px;right: 12px;bottom: 12px;z-index: 2147482000;display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 10px 20px;max-width: 900px;margin: 0 auto;padding: 14px 16px;box-sizing: border-box;color: #1f2328;background: #fff;border: 1px solid #c8d0d9;border-radius: 10px;box-shadow: 0 6px 24px rgba(0,0,0,.22);font-size: .95rem;line-height: 1.4;}.kal-evaste p{flex: 1 1 320px;margin: 0;}.kal-evaste-napit{display: flex;flex: 0 0 auto;gap: 8px;}.kal-evaste button{min-width: 96px;min-height: 42px;padding: 8px 16px;color: #fff;background: var(--kal-header);border: 1px solid var(--kal-header);border-radius: 6px;font: inherit;font-weight: 700;cursor: pointer;touch-action: manipulation;}.kal-evaste button[data-v="ei"]{color: #1f2328;background: #dfe3e8;border-color: #aab2bc;}.kal-evaste button:hover, .kal-evaste button:focus-visible{filter: brightness(1.2);}.kal-evaste button[data-v="ei"]:hover, .kal-evaste button[data-v="ei"]:focus-visible{filter: brightness(.94);}.kal-evaste-asetukset{padding: 0;color: inherit;background: none;border: 0;font: inherit;text-decoration: underline;cursor: pointer;}@media print{.kal-evaste{display: none;}}
