.dp-ferien{--ink:#193d39;--muted:#586b66;--green:#17695b;--mint:#e8f1e9;--paper:#f7f8f3;--line:#dbe2d9;--orange:#a44823}
.dp-ferien *{box-sizing:border-box}
.dp-ferien{scroll-behavior:smooth;scroll-padding-top:24px}
.dp-ferien{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.dp-ferien a{color:inherit;text-underline-offset:4px}
.dp-ferien button,.dp-ferien select{font:inherit}
.dp-ferien button,.dp-ferien a,.dp-ferien select,.dp-ferien summary{-webkit-tap-highlight-color:transparent}
.dp-ferien :focus-visible{outline:3px solid #bf622e;outline-offset:4px}
.dp-ferien .wrap{max-width:1180px;margin:auto;padding:0 36px}
.dp-ferien .crumb{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--muted);margin:30px 0}
.dp-ferien .eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750;color:var(--green)}
.dp-ferien h1{font-size:clamp(32px,4.1vw,51px);line-height:1.12;letter-spacing:-1.9px;max-width:860px;font-weight:650;margin:13px 0 20px}
.dp-ferien h1 span{color:var(--green)}
.dp-ferien .intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}
.dp-ferien .intro p{margin:0;color:var(--muted);font-size:14px}
.dp-ferien .verified{font-size:12px;color:var(--green);display:flex;gap:7px;align-items:center}
.dp-ferien .check{border:1px solid var(--green);border-radius:50%;display:inline-grid;place-items:center;width:17px;height:17px;font-size:11px}
.dp-ferien .hero{display:grid;grid-template-columns:1.35fr 1fr;gap:22px}
.dp-ferien .answer{background:var(--ink);border-radius:22px;padding:30px;color:white;display:flex;flex-direction:column}
.dp-ferien .card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.dp-ferien .light{color:#c7ded4}
.dp-ferien .yearpick{display:flex;align-items:center;gap:8px;font-size:12px}
.dp-ferien .yearpick select{color:white;background:#31534d;border:1px solid #68867d;border-radius:9px;padding:8px 26px 8px 10px;min-height:44px}
.dp-ferien .dates{font-size:clamp(32px,3.6vw,46px);line-height:1.2;letter-spacing:-1.5px;font-weight:650;margin:30px 0 4px}
.dp-ferien .year-caption{color:#bdd6cb;font-size:17px;margin:0 0 22px}
.dp-ferien .stats{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-bottom:22px}
.dp-ferien .status{background:#dff0d7;color:#244e35;border-radius:100px;padding:7px 13px;font-size:13px;font-weight:650}
.dp-ferien .duration{font-size:14px;color:#e0ece4}
.dp-ferien .scope-switch{display:flex;gap:5px;background:#284d46;border-radius:11px;padding:5px;margin-top:auto}
.dp-ferien .scope-switch button{flex:1;border:0;min-height:44px;border-radius:8px;color:#e0ece4;background:transparent;cursor:pointer;font-size:13px}
.dp-ferien .scope-switch button[aria-pressed=true]{background:#f7faf2;color:var(--ink);font-weight:650}
.dp-ferien .exception{margin-top:17px;color:#d0dfd7;font-size:12px;line-height:1.65}
.dp-ferien .exception strong{color:white;font-weight:550}
.dp-ferien .calendar-card{background:white;border:1px solid var(--line);border-radius:22px;padding:25px 28px}
.dp-ferien .cal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}
.dp-ferien .cal-heading h2{font-size:18px;margin:0;font-weight:650}
.dp-ferien .cal-table{width:100%;border-collapse:separate;border-spacing:0 4px;table-layout:fixed;text-align:center}
.dp-ferien .cal-table th{font-size:11px;color:var(--muted);font-weight:500;height:24px}
.dp-ferien .cal-table td{height:35px;font-size:13px}
.dp-ferien .cal-table .weekend{color:#66756d}
.dp-ferien .cal-table .active{background:#e1eedb;color:#284c33;font-weight:650}
.dp-ferien .cal-table .edge{background:#236957;color:white;border-radius:7px}
.dp-ferien .legend{display:flex;gap:17px;align-items:center;border-top:1px solid var(--line);margin-top:14px;padding-top:15px;font-size:11px;color:var(--muted)}
.dp-ferien .dot{display:inline-block;width:9px;height:9px;border-radius:3px;background:#dcebd4;margin-right:6px}
.dp-ferien .dot.dark{background:var(--green)}
.dp-ferien .jumpnav{display:flex;gap:25px;border-bottom:1px solid var(--line);margin:30px 0 36px;padding-bottom:17px;font-size:13px;flex-wrap:wrap}
.dp-ferien .jumpnav a{text-decoration:none}
.dp-ferien .jumpnav a:hover{text-decoration:underline}
.dp-ferien .bodygrid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:45px}
.dp-ferien h2{font-size:25px;line-height:1.3;letter-spacing:-.5px;margin:0 0 10px;font-weight:650}
.dp-ferien .section-lead{font-size:13px;color:var(--muted);margin:0 0 22px}
.dp-ferien .data-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px}
.dp-ferien .data-table th{text-align:left;font-size:11px;color:var(--muted);font-weight:550;padding:12px 10px;background:#edf0e8}
.dp-ferien .data-table th:first-child{width:70px;border-radius:9px 0 0 9px}
.dp-ferien .data-table th:last-child{border-radius:0 9px 9px 0}
.dp-ferien .data-table td{padding:17px 10px;border-bottom:1px solid var(--line)}
.dp-ferien .data-table button{border:0;background:none;color:var(--green);font-weight:650;padding:5px 0;min-height:40px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.dp-ferien .data-table tr.selected td{background:#edf3e7}
.dp-ferien .table-note{color:var(--muted);font-size:12px;margin:13px 0 32px}
.dp-ferien .aside-card{background:#eeefe5;border-radius:16px;padding:24px;margin-bottom:18px}
.dp-ferien .aside-card h3{font-size:20px;line-height:1.3;margin:12px 0 8px;letter-spacing:-.4px}
.dp-ferien .aside-card p{font-size:13px;color:var(--muted);margin:10px 0}
.dp-ferien .aside-card .nextdate{font-size:17px;color:var(--ink);font-weight:600}
.dp-ferien .text-link{display:inline-block;margin-top:12px;font-size:13px;font-weight:650}
.dp-ferien .rule{border-left:3px solid #c36b38;padding:0 0 0 16px;margin:23px 0 28px}
.dp-ferien .rule h3{font-size:16px;margin:0 0 8px}
.dp-ferien .rule p{font-size:14px;color:var(--muted);margin:0}
.dp-ferien details{border-bottom:1px solid var(--line);padding:16px 0}
.dp-ferien summary{cursor:pointer;font-size:14px;font-weight:600;padding-right:8px}
.dp-ferien details p{font-size:14px;color:var(--muted);margin:12px 0 3px}
.dp-ferien .all-holidays{margin:38px 0 34px;border-top:1px solid var(--line);padding-top:28px}
.dp-ferien .holiday-list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.dp-ferien .mini{border:1px solid var(--line);border-radius:13px;background:white;padding:17px}
.dp-ferien .mini h3{font-size:14px;margin:0 0 5px}
.dp-ferien .mini p{font-size:12px;color:var(--muted);margin:0}
.dp-ferien .sources{background:white;border:1px solid var(--line);border-radius:16px;padding:25px;margin:0 0 40px}
.dp-ferien .sources h2{font-size:18px}
.dp-ferien .sources p,.dp-ferien .sources a{font-size:13px}
.dp-ferien .sources p{color:var(--muted);margin:7px 0}
.dp-ferien noscript p{padding:16px;border:1px solid var(--line)}
@media(max-width:800px){.dp-ferien .wrap{padding:0 22px}
.dp-ferien .hero{grid-template-columns:1fr 1fr}
.dp-ferien .answer{padding:24px}
.dp-ferien .calendar-card{padding:23px 18px}
.dp-ferien .bodygrid{gap:25px;grid-template-columns:minmax(0,1.5fr) minmax(210px,1fr)}
.dp-ferien .dates{font-size:34px}
.dp-ferien .stats{gap:12px}
}
@media(max-width:620px){.dp-ferien .wrap{padding:0 18px}
.dp-ferien .crumb{margin:21px 0;font-size:11px;gap:7px}
.dp-ferien h1{font-size:34px;letter-spacing:-1.2px}
.dp-ferien .intro{display:block;margin-bottom:22px}
.dp-ferien .verified{margin-top:10px}
.dp-ferien .hero{grid-template-columns:1fr;gap:15px}
.dp-ferien .answer{padding:23px;border-radius:18px}
.dp-ferien .dates{font-size:38px;margin-top:26px}
.dp-ferien .calendar-card{padding:22px;border-radius:18px}
.dp-ferien .cal-table td{height:36px}
.dp-ferien .bodygrid{grid-template-columns:1fr;gap:24px}
.dp-ferien .jumpnav{gap:16px;margin:25px 0 28px;font-size:12px}
.dp-ferien .data-table{font-size:12px}
.dp-ferien .data-table th,.dp-ferien .data-table td{padding:12px 7px}
.dp-ferien .data-table th:first-child{width:55px}
.dp-ferien .holiday-list{grid-template-columns:1fr}
.dp-ferien .mini{padding:16px;display:flex;justify-content:space-between;align-items:center;gap:10px}
.dp-ferien .mini h3{margin:0}
.dp-ferien .all-holidays{margin-top:26px}
.dp-ferien .aside-card{padding:22px}
.dp-ferien h2{font-size:23px}
.dp-ferien .sources{padding:21px}
.dp-ferien .sources a{overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.dp-ferien{scroll-behavior:auto}
}


.dp-ferien {width:100%;max-width:none;padding:1px 0; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.dp-ferien .wrap {width:100%; max-width:1180px; margin:0 auto; padding:0 36px}
.dp-ferien h1,.dp-ferien h2,.dp-ferien h3 {font-family:inherit;color:var(--ink);text-transform:none}
.dp-ferien h1 {font-size:clamp(32px,4.1vw,51px);line-height:1.12;margin:13px 0 20px;font-weight:650}
.dp-ferien h2 {font-size:25px;line-height:1.3;margin:0 0 10px;font-weight:650}
.dp-ferien h3 {line-height:1.3}
.dp-ferien a {box-shadow:none}
.dp-ferien .answer .dates {color:white}
.dp-ferien .scope-switch a {display:flex;align-items:center;justify-content:center;text-align:center;flex:1;min-height:44px;border-radius:8px;color:#e0ece4;font-size:13px;text-decoration:none;padding:6px}
.dp-ferien .scope-switch a[aria-current] {background:#f7faf2;color:var(--ink);font-weight:650}
.dp-ferien .yearpick {margin:0;display:flex;flex-wrap:wrap;justify-content:flex-end}
.dp-ferien .yearpick label {color:white;margin:0;font-size:12px}
.dp-ferien .yearpick select {width:auto;margin:0}
.dp-ferien .dp-year-submit {background:#e1eedb;color:#193d39;border:0;border-radius:8px;padding:8px;min-height:44px;font-size:12px;cursor:pointer}
.dp-ferien .dp-calendar-title {font-size:18px;margin:10px 0}
.dp-ferien .cal-table,.dp-ferien .data-table {margin:0;border:0}
.dp-ferien .cal-table td,.dp-ferien .cal-table th {padding:0;border:0}
.dp-ferien .data-table tbody th {background:transparent}
.dp-ferien .data-table tbody a {display:inline-block;min-height:44px;line-height:44px}
.dp-ferien .dp-warm {background:#f1e9dc}
.dp-ferien .dp-warm .eyebrow {color:var(--orange)}
.dp-ferien .sources h2 {font-size:18px;margin-top:9px}
.dp-ferien .dp-editor {margin-top:28px}
.dp-ferien .dp-notice {border-left:3px solid var(--orange);padding:12px 18px;background:#f1e9dc}
.dp-ferien .dp-sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.dp-ferien [id] {scroll-margin-top:100px}
@media(max-width:800px){.dp-ferien .wrap{padding:0 22px}}
@media(max-width:620px){.dp-ferien .wrap{padding:0 18px}.dp-ferien h1{font-size:34px}.dp-ferien h2{font-size:23px}.dp-ferien .mini{display:block}.dp-ferien .mini p{margin-top:6px}}

/* The theme paints table headers red. Own every layer, within Ferien only. */
.dp-ferien table.cal-table thead,
.dp-ferien table.cal-table thead tr,
.dp-ferien table.cal-table thead th,
.dp-ferien table.data-table thead,
.dp-ferien table.data-table thead tr,
.dp-ferien table.data-table thead th {
    background:#e8f1e9 !important;
    color:#315c51 !important;
    background-image:none !important;
}
.dp-ferien table.cal-table thead th {height:32px;font-weight:600}
.dp-ferien table.cal-table thead th:first-child {border-radius:7px 0 0 7px}
.dp-ferien table.cal-table thead th:last-child {border-radius:0 7px 7px 0}
.dp-ferien .mini.dp-unavailable {background:#f0f3ee;border-style:dashed}
.dp-ferien .mini .dp-card-note {font-size:12px;line-height:1.55;margin-top:7px;color:#586b66}
.dp-ferien .mini h3 a {color:var(--green);text-decoration:underline;text-underline-offset:4px}
.dp-ferien .mini h3 a:hover {color:var(--ink)}
.dp-ferien table.cal-table {table-layout:fixed!important;width:100%!important}
.dp-ferien table.cal-table th,.dp-ferien table.cal-table td {text-align:center!important;vertical-align:middle!important;width:14.285714%;padding-left:0!important;padding-right:0!important}
.dp-ferien .mini.dp-current-season {border-color:#246d5b;background:#e8f1e9}
.dp-ferien .dp-schoolfree {margin-top:18px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}
.dp-ferien .dp-schoolfree h3 {margin:0 0 5px}
.dp-ferien .dp-schoolfree h4 {font-size:16px;margin:18px 0 10px}
.dp-ferien .dp-schoolfree .dp-card-note {font-size:13px;color:#586b66}
.dp-ferien .dp-schoolfree-grid {display:grid;grid-template-columns:1fr 1fr;gap:24px}
.dp-ferien .hero {align-items:start;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.dp-ferien .card-top {flex-wrap:wrap}
.dp-ferien .yearpick {flex-wrap:wrap;max-width:100%}
.dp-ferien .answer .dp-period-context {color:#fff;font-size:19px;line-height:1.4;letter-spacing:0;margin:24px 0 0}
.dp-ferien .answer .dp-period-note {color:#d0dfd7;font-size:13px;line-height:1.6;margin:8px 0 0}
.dp-ferien .answer .dp-period-note a {color:#fff;text-decoration:underline;text-underline-offset:3px}
.dp-ferien .answer .dates {margin-top:18px}
.dp-ferien .data-table th:first-child {width:95px}
@media(max-width:800px){.dp-ferien .hero{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){.dp-ferien .dp-schoolfree-grid{grid-template-columns:1fr;gap:0}.dp-ferien .dp-schoolfree{padding:18px}}
