{"id":2716,"date":"2025-09-22T21:45:09","date_gmt":"2025-09-22T19:45:09","guid":{"rendered":"https:\/\/hilaris-blonie.pl\/?page_id=2716"},"modified":"2026-08-18T04:56:29","modified_gmt":"2026-08-18T02:56:29","slug":"dni-wolne-od-zajec-dydaktycznych","status":"publish","type":"page","link":"https:\/\/hilaris-blonie.pl\/?page_id=2716","title":{"rendered":"Dni wolne od zaj\u0119\u0107 dydaktycznych"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2716\" class=\"elementor elementor-2716\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fa1ee9a e-grid e-con-boxed e-con e-parent\" data-id=\"fa1ee9a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-df1eed6 elementor-hidden-desktop elementor-widget elementor-widget-html\" data-id=\"df1eed6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ==========================================================================\r\n     HILARIS \u2014 SZKO\u0141A \u2192 DNI WOLNE OD ZAJ\u0118\u0106 (page_id=2716)\r\n     WYMAGA rdzenia (hilaris-CORE.html).\r\n     O\u015b chronologiczna z \u017cywym znacznikiem \u201eteraz\u201d, wstawianym dok\u0142adnie\r\n     w miejscu dzisiejszej daty. D\u0142ugo\u015bci przerw i odliczanie liczone z dat.\r\n     \u25b8 AKTUALIZACJA: tablica DNI na dole pliku.\r\n     ========================================================================== -->\r\n\r\n<style>\r\n.hx-dni .dn-feed{position:relative;padding-left:38px;}\r\n.hx-dni .dn-rail{position:absolute;left:13px;top:6px;bottom:6px;width:3px;border-radius:99px;\r\n  background:var(--line);}\r\n.hx-dni .dn-rail i{display:block;width:100%;border-radius:99px;\r\n  background:linear-gradient(180deg,var(--gold-l),var(--gold));height:0;\r\n  transition:height 1s cubic-bezier(.22,1,.36,1);}\r\n\r\n.hx-dni .dn-m{position:relative;margin:26px 0 14px;}\r\n.hx-dni .dn-m span{display:inline-block;background:var(--navy);color:#fff;border-radius:999px;\r\n  padding:7px 18px;font-size:.82rem;font-weight:700;\r\n  box-shadow:0 6px 16px -8px rgba(26,44,66,.6);}\r\n.hx-dni .dn-m::before{content:\"\";position:absolute;left:-31px;top:50%;transform:translateY(-50%);\r\n  width:11px;height:11px;border-radius:50%;background:var(--navy);}\r\n\r\n.hx-dni .dn-i{position:relative;background:var(--paper);border:1.5px solid var(--line);\r\n  border-radius:14px;padding:14px 16px;margin-bottom:11px;\r\n  opacity:0;transform:translateY(18px);\r\n  transition:opacity .55s ease,transform .55s ease,box-shadow .35s ease;}\r\n.hx-dni .dn-i.in{opacity:1;transform:none;}\r\n.hx-dni .dn-i::before{content:\"\";position:absolute;left:-30px;top:20px;width:13px;height:13px;\r\n  border-radius:50%;background:var(--paper);border:3px solid var(--c,var(--line));z-index:2;}\r\n.hx-dni .dn-i.past{opacity:.5;background:var(--mist);}\r\n.hx-dni .dn-i.past.in{opacity:.5;}\r\n.hx-dni .dn-i.next{border-color:var(--gold);box-shadow:0 6px 26px -12px rgba(212,175,55,.55);}\r\n.hx-dni .dn-d{font-weight:700;font-size:.9rem;color:var(--navy);}\r\n.hx-dni .dn-t{font-size:.92rem;color:var(--ink-2);margin-top:4px;line-height:1.45;}\r\n.hx-dni .dn-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;}\r\n.hx-dni .dn-b{font-size:.66rem;font-weight:800;letter-spacing:.04em;border-radius:999px;padding:4px 10px;}\r\n.hx-dni .dn-b--typ{background:color-mix(in srgb,var(--c) 15%,transparent);color:var(--c);}\r\n.hx-dni .dn-b--care{background:#E7F4EC;color:#1F5C36;}\r\n.hx-dni .dn-b--len{background:var(--mist);color:var(--ink-2);}\r\n.hx-dni .dn-b--soon{background:var(--gold);color:#3B2A00;}\r\n.hx-dni .dn-care{font-size:.8rem;color:#1F5C36;background:#E7F4EC;border-radius:10px;\r\n  padding:9px 12px;margin-top:10px;line-height:1.45;}\r\n\r\n\/* \u017cywy znacznik \u201eteraz\u201d *\/\r\n.hx-dni .dn-now{position:relative;margin:24px 0 20px;background:#fff;color:var(--navy);\r\n  border:2px solid var(--gold);border-radius:14px;padding:14px 18px;text-align:center;\r\n  box-shadow:0 0 24px rgba(212,175,55,.28);animation:dn-pulse 2.4s infinite;}\r\n@keyframes dn-pulse{\r\n  0%{box-shadow:0 0 0 0 rgba(212,175,55,.4)}\r\n  70%{box-shadow:0 0 0 12px rgba(212,175,55,0)}\r\n  100%{box-shadow:0 0 0 0 rgba(212,175,55,0)}}\r\n.hx-dni .dn-now::before{content:\"\";position:absolute;left:-32px;top:50%;transform:translateY(-50%);\r\n  width:15px;height:15px;border-radius:50%;background:var(--gold);\r\n  box-shadow:0 0 0 4px rgba(212,175,55,.28);}\r\n.hx-dni .dn-now u{text-decoration:none;display:block;font-size:.68rem;font-weight:800;\r\n  letter-spacing:.15em;text-transform:uppercase;opacity:.75;}\r\n.hx-dni .dn-now span{display:block;font-size:.94rem;font-weight:600;color:#8A5B00;margin-top:5px;}\r\n.hx-dni .dn-now b{display:block;font-family:'Fraunces',Georgia,serif;font-size:1.7rem;\r\n  line-height:1.1;margin-top:2px;}\r\n\r\n@media (min-width:900px){\r\n  .hx-dni .dn-feed{max-width:820px;margin:0 auto;padding-left:46px;}\r\n  .hx-dni .dn-rail{left:17px;}\r\n  .hx-dni .dn-i{padding:18px 22px;}\r\n  .hx-dni .dn-i::before{left:-36px;}\r\n  .hx-dni .dn-m::before{left:-37px;}\r\n  .hx-dni .dn-now::before{left:-38px;}\r\n  .hx-dni .dn-d{font-size:1rem;}\r\n  .hx-dni .dn-t{font-size:1rem;}\r\n  .hx-dni .dn-now b{font-size:2rem;}\r\n}\r\n@media (prefers-reduced-motion:reduce){\r\n  .hx-dni .dn-i{opacity:1;transform:none;}\r\n  .hx-dni .dn-i.past{opacity:.5;}\r\n  .hx-dni .dn-now{animation:none;}\r\n}\r\n<\/style>\r\n\r\n<section class=\"hx hx-dni\" id=\"hil-dni-wolne\">\r\n <div class=\"hx-app\">\r\n\r\n  <div class=\"hx-top\">\r\n    <b>HILARIS Dwuj\u0119zyczna Szko\u0142a Podstawowa i Przedszkole<\/b>\r\n    <div class=\"hx-calls\">\r\n      <a class=\"hx-call\" href=\"tel:+48224985525\">\r\n        <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1l-2.3 2.2z\"\/><\/svg>\r\n        <span><u>Szko\u0142a<\/u>22 498-55-25<\/span><\/a>\r\n      <a class=\"hx-call\" href=\"https:\/\/hilaris-blonie.pl\/?page_id=2723\">\r\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2.6 11 12 3.6 21.4 11\"\/><path d=\"M5 9.2V20h14V9.2\"\/><\/svg>\r\n        <span><u>Opieka w dni wolne<\/u>\u015awietlica<\/span><\/a>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <a class=\"hx-back\" href=\"https:\/\/hilaris-blonie.pl\/?page_id=345\">\r\n    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.6\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 12H6M11 6l-6 6 6 6\"\/><\/svg>\r\n    Szko\u0142a Podstawowa\r\n  <\/a>\r\n\r\n  <div class=\"hx-hero hx-hero--plain\">\r\n    <div class=\"hx-hero__c\">\r\n      <p class=\"hx-kicker\">Dla rodzica<\/p>\r\n      <h1><span class=\"hx-ln\"><i>Dni wolne od zaj\u0119\u0107<\/i><\/span><\/h1>\r\n      <p id=\"dnLead\">\u2014<\/p>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"hx-sec\">\r\n    <div class=\"dn-feed\" id=\"dnFeed\"><div class=\"dn-rail\"><i id=\"dnFill\"><\/i><\/div><\/div>\r\n    <div class=\"hx-btns\" style=\"--btns-d:2;margin-top:24px\">\r\n      <button class=\"hx-btn hx-btn--gold\" id=\"dnIcs\" type=\"button\" data-x>\r\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 3v12M7.5 10.5 12 15l4.5-4.5\"\/><path d=\"M4 17v2.5h16V17\"\/><\/svg>\r\n        Dodaj dni wolne do kalendarza<\/button>\r\n      <a class=\"hx-btn hx-btn--ghost\" href=\"https:\/\/hilaris-blonie.pl\/?page_id=2709\" data-x>Terminy zebra\u0144<\/a>\r\n    <\/div>\r\n    <p class=\"hx-sub\" id=\"dnMsg\" style=\"margin-top:12px;min-height:1.2em;color:var(--ok);font-weight:700\"><\/p>\r\n  <\/div>\r\n\r\n  <div class=\"hx-sec hx-sec--mist\">\r\n    <h2 class=\"hx-h\" data-x>Powi\u0105zane strony<\/h2>\r\n    <div class=\"hx-grid\" style=\"--cols:2;--cols-d:4\" id=\"dnTiles\"><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"hx-foot\">\r\n    <a class=\"hx-logo\" href=\"https:\/\/hilaris-blonie.pl\/\" aria-label=\"Hilaris \u2014 strona g\u0142\u00f3wna\">\r\n      <img decoding=\"async\" src=\"https:\/\/hilaris-blonie.pl\/wp-content\/uploads\/2025\/08\/LOGO-HILARIS-STRONA-GLOWNA-bez-nazw.png\" alt=\"Hilaris\"><\/a>\r\n    <p class=\"hx-tag\">HILARIS \u2014 follow your passion!<\/p>\r\n    <div class=\"hx-fbtns\">\r\n      <a href=\"https:\/\/hilaris-blonie.pl\/?page_id=345\">Szko\u0142a Podstawowa<\/a>\r\n      <a href=\"https:\/\/hilaris-blonie.pl\/?page_id=1194\">Przedszkole<\/a>\r\n    <\/div>\r\n    <p>05-870 B\u0142onie, ul. Passowska 16A<\/p>\r\n    <p style=\"margin-top:10px;opacity:.7\">Hilaris \u00a9 2026<\/p>\r\n  <\/div>\r\n\r\n  <nav class=\"hx-bar\" aria-label=\"Szybkie akcje\">\r\n    <a href=\"https:\/\/hilaris-blonie.pl\/?page_id=345\">\r\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 12H6M11 6l-6 6 6 6\"\/><\/svg>\r\n      Szko\u0142a<\/a>\r\n    <a class=\"is-main\" href=\"https:\/\/hilaris-blonie.pl\/?page_id=2723\">\r\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2.6 11 12 3.6 21.4 11\"\/><path d=\"M5 9.2V20h14V9.2\"\/><\/svg>\r\n      \u015awietlica<\/a>\r\n    <a href=\"tel:+48224985525\">\r\n      <svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M6.6 10.8a15.5 15.5 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.2.4 2.4.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.4 0 .8-.2 1l-2.3 2.2z\"\/><\/svg>\r\n      Zadzwo\u0144<\/a>\r\n  <\/nav>\r\n\r\n <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(function(){\r\n  var ROOT = document.getElementById('hil-dni-wolne');\r\n  if(!ROOT) return;\r\n  function __start(){\r\n  var ic = HX.ic, U = 'https:\/\/hilaris-blonie.pl\/?page_id=';\r\n\r\n  \/* \u2550\u2550\u2550 \u25bc JEDYNE MIEJSCE DO EDYCJI \u25bc\r\n     d \/ do \u2014 pocz\u0105tek i koniec (koniec tylko dla okres\u00f3w wielodniowych)\r\n     k \u2014 rodzaj: swieto | wolne | przerwa | egzamin | szkola\r\n     o \u2014 opieka: true \/ tekst z wyja\u015bnieniem  \u2550\u2550\u2550 *\/\r\n  var DNI = {\r\n    rok:'2025\/2026',\r\n    lista:[\r\n      {d:'2025-09-01', t:'Rozpocz\u0119cie roku szkolnego', k:'szkola'},\r\n      {d:'2025-10-13', t:'Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych', k:'wolne', o:true},\r\n      {d:'2025-10-14', t:'Dzie\u0144 Edukacji Narodowej', k:'swieto', o:true},\r\n      {d:'2025-11-01', t:'Wszystkich \u015awi\u0119tych', k:'swieto'},\r\n      {d:'2025-11-10', t:'Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych', k:'wolne'},\r\n      {d:'2025-11-11', t:'\u015awi\u0119to Niepodleg\u0142o\u015bci', k:'swieto'},\r\n      {d:'2025-12-22', do:'2025-12-31', t:'Zimowa przerwa \u015bwi\u0105teczna', k:'przerwa',\r\n       o:'Opieka \u015bwietlicowa w dniach 22, 23, 29, 30 i 31 grudnia.'},\r\n      {d:'2026-01-01', t:'Nowy Rok', k:'swieto'},\r\n      {d:'2026-01-02', t:'Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych', k:'wolne'},\r\n      {d:'2026-01-05', t:'Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych', k:'wolne'},\r\n      {d:'2026-01-06', t:'\u015awi\u0119to Trzech Kr\u00f3li', k:'swieto'},\r\n      {d:'2026-01-19', do:'2026-02-01', t:'Ferie zimowe', k:'przerwa'},\r\n      {d:'2026-04-02', do:'2026-04-07', t:'Wiosenna przerwa \u015bwi\u0105teczna', k:'przerwa', o:true},\r\n      {d:'2026-05-01', t:'\u015awi\u0119to Pracy', k:'swieto'},\r\n      {d:'2026-05-03', t:'\u015awi\u0119to Konstytucji 3 Maja', k:'swieto'},\r\n      {d:'2026-05-11', do:'2026-05-13', t:'Egzamin \u00f3smoklasisty', k:'egzamin'},\r\n      {d:'2026-06-04', t:'Bo\u017ce Cia\u0142o', k:'swieto'},\r\n      {d:'2026-06-05', t:'Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych', k:'wolne'},\r\n      {d:'2026-06-26', t:'Zako\u0144czenie roku szkolnego', k:'szkola'}\r\n    ]\r\n  };\r\n  \/* \u2550\u2550\u2550 \u25b2 KONIEC \u25b2 \u2550\u2550\u2550 *\/\r\n\r\n  var KAT = {\r\n    swieto:{l:'\u015awi\u0119to',      c:'#D9A417'},\r\n    wolne: {l:'Dzie\u0144 wolny', c:'#D2543C'},\r\n    przerwa:{l:'Przerwa',    c:'#2E86C8'},\r\n    egzamin:{l:'Egzamin',    c:'#8B54C4'},\r\n    szkola:{l:'Rok szkolny', c:'#3E8E5A'}\r\n  };\r\n  var MIES = HX.MIES, DOW = HX.DOW, pad = HX.pad;\r\n  var MIAN = ['Stycze\u0144','Luty','Marzec','Kwiecie\u0144','Maj','Czerwiec',\r\n              'Lipiec','Sierpie\u0144','Wrzesie\u0144','Pa\u017adziernik','Listopad','Grudzie\u0144'];\r\n  var d0 = function(s){ var p = s.split('-'); return new Date(+p[0], +p[1]-1, +p[2]); };\r\n  var dni = function(a,b){ return Math.round((b-a)\/86400000); };\r\n  var dzis = new Date(); dzis.setHours(0,0,0,0);\r\n\r\n  DNI.lista.forEach(function(z){ z._a = d0(z.d); z._b = z.do ? d0(z.do) : z._a; });\r\n  var przyszle = DNI.lista.filter(function(z){ return z._b >= dzis; });\r\n  var nast = przyszle.length ? przyszle[0] : null;\r\n\r\n  \/* \u2500\u2500 nag\u0142\u00f3wek: podsumowanie policzone z danych \u2500\u2500 *\/\r\n  var wolneDni = 0;\r\n  DNI.lista.forEach(function(z){\r\n    if(z.k === 'szkola' || z.k === 'egzamin') return;\r\n    wolneDni += dni(z._a, z._b) + 1;\r\n  });\r\n  document.getElementById('dnLead').textContent =\r\n    'Kalendarz dni wolnych w roku szkolnym ' + DNI.rok + ' \u2014 \u0142\u0105cznie ' + wolneDni\r\n    + ' dni bez zaj\u0119\u0107 dydaktycznych. Zielon\u0105 plakietk\u0105 oznaczamy dni z zapewnion\u0105 opiek\u0105 \u015bwietlicow\u0105.';\r\n\r\n  \/* \u2500\u2500 budowa osi \u2500\u2500 *\/\r\n  var feed = document.getElementById('dnFeed');\r\n  var ostatniM = null, wstawionoZegar = false;\r\n  var html = '';\r\n\r\n  function zegar(){\r\n    return '<div class=\"dn-now\" id=\"dnNow\">'\r\n      + '<u>Dzisiaj jest<\/u>'\r\n      + '<span id=\"dnDate\">\u2014<\/span>'\r\n      + '<b id=\"dnTime\">\u2014<\/b><\/div>';\r\n  }\r\n\r\n  DNI.lista.forEach(function(z){\r\n    if(!wstawionoZegar && z._a > dzis){ html += zegar(); wstawionoZegar = true; }\r\n\r\n    var mKey = MIAN[z._a.getMonth()] + ' ' + z._a.getFullYear();\r\n    if(mKey !== ostatniM){\r\n      html += '<div class=\"dn-m\"><span>'+mKey+'<\/span><\/div>';\r\n      ostatniM = mKey;\r\n    }\r\n\r\n    var past = z._b < dzis, isNext = (nast === z);\r\n    var ile = dni(z._a, z._b) + 1;\r\n    var kiedy = (ile === 1)\r\n      ? z._a.getDate() + ' ' + MIES[z._a.getMonth()] + ' (' + DOW[z._a.getDay()] + ')'\r\n      : z._a.getDate() + ' ' + MIES[z._a.getMonth()] + ' \u2013 ' + z._b.getDate() + ' ' + MIES[z._b.getMonth()];\r\n\r\n    var tagi = '<span class=\"dn-b dn-b--typ\">'+KAT[z.k].l+'<\/span>';\r\n    if(ile > 1) tagi += '<span class=\"dn-b dn-b--len\">'+ile+' dni<\/span>';\r\n    if(z.o) tagi += '<span class=\"dn-b dn-b--care\">Opieka zapewniona<\/span>';\r\n    if(isNext && !past){\r\n      var za = dni(dzis, z._a);\r\n      tagi += '<span class=\"dn-b dn-b--soon\">'\r\n        + (za <= 0 ? 'Trwa teraz' : 'za ' + za + (za === 1 ? ' dzie\u0144' : ' dni')) + '<\/span>';\r\n    }\r\n\r\n    html += '<div class=\"dn-i'+(past?' past':'')+(isNext?' next':'')+'\" style=\"--c:'+KAT[z.k].c+'\">'\r\n      + '<div class=\"dn-d\">'+kiedy+'<\/div>'\r\n      + '<div class=\"dn-t\">'+z.t+'<\/div>'\r\n      + '<div class=\"dn-tags\">'+tagi+'<\/div>'\r\n      + (typeof z.o === 'string' ? '<div class=\"dn-care\">'+z.o+'<\/div>' : '')\r\n      + '<\/div>';\r\n  });\r\n  if(!wstawionoZegar) html += zegar();\r\n  feed.insertAdjacentHTML('beforeend', html);\r\n\r\n  \/* \u2500\u2500 \u017cywy zegar: co 20 s, bez sekund \u2014 nie budzi telefonu bez potrzeby \u2500\u2500 *\/\r\n  function tik(){\r\n    var t = new Date();\r\n    var de = document.getElementById('dnDate'), te = document.getElementById('dnTime');\r\n    if(!de || !te) return;\r\n    var s = t.toLocaleDateString('pl-PL', {weekday:'long', day:'numeric', month:'long', year:'numeric'});\r\n    de.textContent = s.charAt(0).toUpperCase() + s.slice(1);\r\n    te.textContent = pad(t.getHours()) + ':' + pad(t.getMinutes());\r\n  }\r\n  tik(); setInterval(tik, 20000);\r\n\r\n  \/* \u2500\u2500 wype\u0142nienie toru do znacznika \u201eteraz\u201d \u2500\u2500 *\/\r\n  var karty = Array.prototype.slice.call(ROOT.querySelectorAll('.dn-i'));\r\n  var fill = document.getElementById('dnFill');\r\n  function tor(){\r\n    var now = document.getElementById('dnNow');\r\n    if(!now || !fill) return;\r\n    var f = feed.getBoundingClientRect(), n = now.getBoundingClientRect();\r\n    var h = (n.top + n.height\/2 - f.top) \/ f.height * 100;\r\n    fill.style.height = Math.max(0, Math.min(100, h)).toFixed(1) + '%';\r\n  }\r\n\r\n  function wsz(){ karty.forEach(function(el){ el.classList.add('in'); }); tor(); }\r\n  if(window.matchMedia('(prefers-reduced-motion: reduce)').matches || !('IntersectionObserver' in window)){\r\n    wsz();\r\n  } else {\r\n    var io = new IntersectionObserver(function(w){\r\n      w.filter(function(x){ return x.isIntersecting; }).forEach(function(x,n){\r\n        setTimeout(function(){ x.target.classList.add('in'); }, n*45);\r\n        io.unobserve(x.target);\r\n      });\r\n    }, {threshold:.1});\r\n    karty.forEach(function(el){ io.observe(el); });\r\n    setTimeout(wsz, 4000);\r\n    setTimeout(tor, 700);\r\n  }\r\n  window.addEventListener('resize', tor);\r\n\r\n  \/* \u2500\u2500 eksport \u2500\u2500 *\/\r\n  function toast(t){\r\n    var el = document.getElementById('dnMsg');\r\n    el.textContent = t; setTimeout(function(){ el.textContent = ''; }, 4500);\r\n  }\r\n  document.getElementById('dnIcs').addEventListener('click', function(){\r\n    var stamp = new Date().toISOString().replace(\/[-:]\/g,'').split('.')[0]+'Z';\r\n    var L = ['BEGIN:VCALENDAR','VERSION:2.0','PRODID:-\/\/Hilaris Blonie\/\/Dni wolne\/\/PL',\r\n             'CALSCALE:GREGORIAN','METHOD:PUBLISH','X-WR-CALNAME:Hilaris \u2014 dni wolne '+DNI.rok];\r\n    DNI.lista.forEach(function(z,i){\r\n      var s1 = z._a.getFullYear()+pad(z._a.getMonth()+1)+pad(z._a.getDate());\r\n      var kon = new Date(z._b); kon.setDate(kon.getDate()+1);\r\n      var s2 = kon.getFullYear()+pad(kon.getMonth()+1)+pad(kon.getDate());\r\n      L.push('BEGIN:VEVENT','UID:hilaris-wolne-'+s1+'-'+i+'@hilaris-blonie.pl','DTSTAMP:'+stamp,\r\n        'DTSTART;VALUE=DATE:'+s1,'DTEND;VALUE=DATE:'+s2,\r\n        'SUMMARY:Hilaris \u2014 '+z.t,\r\n        'DESCRIPTION:'+KAT[z.k].l+(typeof z.o === 'string' ? '. '+z.o : (z.o ? '. Opieka \u015bwietlicowa zapewniona.' : '')),\r\n        'TRANSP:TRANSPARENT','END:VEVENT');\r\n    });\r\n    L.push('END:VCALENDAR');\r\n    try{\r\n      var b = new Blob([L.join('\\\\r\\\\n')], {type:'text\/calendar;charset=utf-8'});\r\n      var a = document.createElement('a');\r\n      a.href = URL.createObjectURL(b);\r\n      a.download = 'hilaris-dni-wolne-'+DNI.rok.replace('\/','-')+'.ics';\r\n      document.body.appendChild(a); a.click();\r\n      setTimeout(function(){ URL.revokeObjectURL(a.href); a.remove(); }, 1500);\r\n      toast('Gotowe \u2014 otw\u00f3rz pobrany plik, aby doda\u0107 dni wolne do kalendarza.');\r\n    }catch(e){ toast('Nie uda\u0142o si\u0119 przygotowa\u0107 pliku.'); }\r\n  });\r\n\r\n  \/* \u2500\u2500 powi\u0105zane \u2500\u2500 *\/\r\n  var T = [\r\n    {t:'\u015awietlica', d:'opieka w dni wolne', c:'#8B54C4', h:U+'2723',\r\n     i:ic('<path d=\"M2.6 11 12 3.6 21.4 11\"\/><path d=\"M5 9.2V20h14V9.2\"\/>')},\r\n    {t:'Terminy zebra\u0144', d:'i dni otwarte', c:'#D9A417', h:U+'2709',\r\n     i:ic('<rect x=\"3\" y=\"5\" width=\"18\" height=\"16\" rx=\"2.5\"\/><path d=\"M8 2.5v5M16 2.5v5M3 10h18\"\/>')},\r\n    {t:'Rozk\u0142ad dzwonk\u00f3w', d:'godziny lekcji', c:'#2E86C8', h:U+'2657',\r\n     i:ic('<circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M12 7v5.3l3.4 2\"\/>')},\r\n    {t:'Obiady', d:'zapisy i cennik', c:'#D2543C', h:U+'2730',\r\n     i:ic('<path d=\"M4 11.5h16a8 8 0 0 1-16 0z\"\/><path d=\"M2.6 19.4h18.8\"\/>')}\r\n  ];\r\n  document.getElementById('dnTiles').innerHTML = T.map(function(o){\r\n    return '<a class=\"hx-tile\" href=\"'+o.h+'\" style=\"--c:'+o.c+'\" data-x>'\r\n      + '<span class=\"hx-ic\">'+o.i+'<\/span><b>'+o.t+'<\/b><u>'+o.d+'<\/u><\/a>';\r\n  }).join('');\r\n\r\n  HX.sierotki(ROOT); HX.boot();\r\n  }\r\n\r\n  var __t = 0;\r\n  (function __wait(){\r\n    if(window.HX){ __start(); return; }\r\n    if(__t++ < 80){ setTimeout(__wait, 100); return; }\r\n    if(window.console) console.warn('Hilaris: nie znaleziono rdzenia (hilaris-CORE).');\r\n  })();\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d7f5fdc elementor-hidden-tablet elementor-hidden-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default elementor-invisible\" data-id=\"d7f5fdc\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;shape_divider_bottom&quot;:&quot;mountains&quot;,&quot;animation&quot;:&quot;fadeIn&quot;}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t<div class=\"elementor-shape elementor-shape-bottom\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\">\n\t<path class=\"elementor-shape-fill\" opacity=\"0.33\" d=\"M473,67.3c-203.9,88.3-263.1-34-320.3,0C66,119.1,0,59.7,0,59.7V0h1000v59.7 c0,0-62.1,26.1-94.9,29.3c-32.8,3.3-62.8-12.3-75.8-22.1C806,49.6,745.3,8.7,694.9,4.7S492.4,59,473,67.3z\"\/>\n\t<path class=\"elementor-shape-fill\" opacity=\"0.66\" d=\"M734,67.3c-45.5,0-77.2-23.2-129.1-39.1c-28.6-8.7-150.3-10.1-254,39.1 s-91.7-34.4-149.2,0C115.7,118.3,0,39.8,0,39.8V0h1000v36.5c0,0-28.2-18.5-92.1-18.5C810.2,18.1,775.7,67.3,734,67.3z\"\/>\n\t<path class=\"elementor-shape-fill\" d=\"M766.1,28.9c-200-57.5-266,65.5-395.1,19.5C242,1.8,242,5.4,184.8,20.6C128,35.8,132.3,44.9,89.9,52.5C28.6,63.7,0,0,0,0 h1000c0,0-9.9,40.9-83.6,48.1S829.6,47,766.1,28.9z\"\/>\n<\/svg>\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-3325a37\" data-id=\"3325a37\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5f6f9d7 elementor-absolute elementor-widget elementor-widget-heading\" data-id=\"5f6f9d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_position&quot;:&quot;absolute&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Dni wolne od zaj\u0119\u0107\ndydaktycznych<\/h1>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-1953ace\" data-id=\"1953ace\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;slideshow&quot;,&quot;background_slideshow_gallery&quot;:[],&quot;background_slideshow_loop&quot;:&quot;yes&quot;,&quot;background_slideshow_slide_duration&quot;:5000,&quot;background_slideshow_slide_transition&quot;:&quot;fade&quot;,&quot;background_slideshow_transition_duration&quot;:500}\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t<a href=\"http:\/\/www.hilaris-blonie.pl\" target=\"_self\" class=\"e-image-link-base\" data-interaction-id=\"d2c7532\"\n\t><img fetchpriority=\"high\" decoding=\"async\" class=\"e-image-base e-d2c7532-f8639a6\" data-e-type=\"widget\" data-id=\"d2c7532\" id=\"1452\" src=\"https:\/\/hilaris-blonie.pl\/wp-content\/uploads\/2025\/09\/LOGO-HILARIS-STRONA.png\" width=\"999\" height=\"1284\" srcset=\"https:\/\/hilaris-blonie.pl\/wp-content\/uploads\/2025\/09\/LOGO-HILARIS-STRONA.png 999w, https:\/\/hilaris-blonie.pl\/wp-content\/uploads\/2025\/09\/LOGO-HILARIS-STRONA-233x300.png 233w, https:\/\/hilaris-blonie.pl\/wp-content\/uploads\/2025\/09\/LOGO-HILARIS-STRONA-797x1024.png 797w, https:\/\/hilaris-blonie.pl\/wp-content\/uploads\/2025\/09\/LOGO-HILARIS-STRONA-768x987.png 768w\" alt=\"\"\/>\t<\/a>\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-2b3ba60 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"2b3ba60\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d7f887c elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"d7f887c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<table dir=\"ltr\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" data-sheets-root=\"1\" data-sheets-baot=\"1\">\n<colgroup>\n<col width=\"113\">\n<col width=\"124\">\n<col width=\"323\">\n<col width=\"147\"><\/colgroup>\n<tbody>\n<tr>\n<td><strong>Miesi\u0105c<\/strong><\/td>\n<td><strong>Data<\/strong><\/td>\n<td><strong>Opis<\/strong><\/td>\n<td><strong>Opieka \u015bwietlicowa<\/strong><\/td>\n<\/tr>\n<tr>\n<td>Wrzesie\u0144<\/td>\n<td>1.09.2025 (pon)<\/td>\n<td>Rozpocz\u0119cie roku szkolnego<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>Pa\u017adziernik<\/td>\n<td>13.10.2025 (pon)<\/td>\n<td>Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych<\/td>\n<td><img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/svg\/2714.svg\" alt=\"\u2714\ufe0f\"> Zapewniona<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>14.10.2025 (wt)<\/td>\n<td>Dzie\u0144 Edukacji Narodowej<\/td>\n<td><img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/svg\/2714.svg\" alt=\"\u2714\ufe0f\"> Zapewniona<\/td>\n<\/tr>\n<tr>\n<td>Listopad<\/td>\n<td>1.11.2025 (sob)<\/td>\n<td>Wszystkich \u015awi\u0119tych<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>10.11.2025 (pon)<\/td>\n<td>Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>11.11.2025 (wt)<\/td>\n<td>\u015awi\u0119to Niepodleg\u0142o\u015bci<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td><br>Grudzie\u0144<\/td>\n<td><br>22.12-31.12.2025<\/td>\n<td><br>Zimowa przerwa \u015bwi\u0105teczna*<\/td>\n<td>Opieka \u015bwietlicowa jest zapewniona w dniach:<br>&nbsp;22, 23, 29, 30 i 31 grudnia.<\/td>\n<\/tr>\n<tr>\n<td>Stycze\u0144<\/td>\n<td>01.01.2026 (czw)<\/td>\n<td>Nowy Rok<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>02.01.2026 (pt)<\/td>\n<td>Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>05.01.2026 (pon)<\/td>\n<td>Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>06.01.2026 (wt)<\/td>\n<td>Trzech Kr\u00f3li<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>19.01 &#8211; 1.02.2026<\/td>\n<td>Ferie zimowe<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>Luty \/ Marzec<\/td>\n<td>&#8211;<\/td>\n<td>Brak dni wolnych od zaj\u0119\u0107<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>Kwiecie\u0144<\/td>\n<td>02.04 &#8211; 07.04.2026<\/td>\n<td>Wiosenna przerwa \u015bwi\u0105teczna<\/td>\n<td><img decoding=\"async\" class=\"emoji\" role=\"img\" draggable=\"false\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/16.0.1\/svg\/2714.svg\" alt=\"\u2714\ufe0f\"> Zapewniona<\/td>\n<\/tr>\n<tr>\n<td>Maj<\/td>\n<td>01.05.2026 (pt)<\/td>\n<td>\u015awi\u0119to Pracy<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>03.05.2026 (ndz)<\/td>\n<td>\u015awi\u0119to Konstytucji 3 Maja<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>11.05 &#8211; 13.05.2026<\/td>\n<td>Egzamin \u00f3smoklasisty<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>Czerwiec<\/td>\n<td>04.06.2026 (czw)<\/td>\n<td>Bo\u017ce Cia\u0142o<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>05.06.2026 (pt)<\/td>\n<td>Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>26.06.2026 (pt)<\/td>\n<td>Zako\u0144czenie roku szkolnego<\/td>\n<td>&#8211;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d4d36ab elementor-hidden-tablet elementor-hidden-mobile e-flex e-con-boxed e-con e-parent\" data-id=\"d4d36ab\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-58fec9e elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-html\" data-id=\"58fec9e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n    @import url('https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@400;500;600&family=Poppins:wght@500;600;700&display=swap');\r\n\r\n    :root {\r\n        --feed-navy: #1A2C42;\r\n        --feed-gold: #D4AF37;\r\n        --feed-text: #2c3e50;\r\n        --feed-text-light: #5D6D7E;\r\n        --feed-bg: #FFFFFF;\r\n        --feed-line: #dee2e6;\r\n        --feed-green: #27AE60;\r\n    }\r\n\r\n    .feed-section {\r\n        font-family: 'Poppins', 'Montserrat', sans-serif;\r\n        background-color: var(--feed-bg);\r\n        padding: 30px 20px;\r\n    }\r\n\r\n    .feed-container {\r\n        max-width: 900px;\r\n        margin: 0 auto;\r\n    }\r\n\r\n    .chronological-feed {\r\n        position: relative;\r\n        padding: 15px 0;\r\n    }\r\n    \r\n    .feed-line {\r\n        position: absolute;\r\n        left: 50%;\r\n        transform: translateX(-50%);\r\n        top: 0;\r\n        width: 4px;\r\n        height: 100%;\r\n        background-color: var(--feed-line);\r\n        border-radius: 2px;\r\n    }\r\n\r\n    \/* --- Styl zegara na osi --- *\/\r\n    .feed-clock {\r\n        position: relative;\r\n        z-index: 15;\r\n        width: fit-content;\r\n        margin: 25px auto;\r\n        background-color: white;\r\n        color: var(--feed-navy);\r\n        border: 2px solid var(--feed-gold);\r\n        border-radius: 14px;\r\n        padding: 15px 25px; \r\n        text-align: center;\r\n        box-shadow: 0 0 25px rgba(212, 175, 55, 0.3);\r\n        animation: pulse-gold 2s infinite;\r\n    }\r\n\r\n    @keyframes pulse-gold {\r\n        0% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0.4); }\r\n        70% { box-shadow: 0 0 0 12px rgba(212, 175, 55, 0); }\r\n        100% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0); }\r\n    }\r\n\r\n    .feed-clock .now-label {\r\n        font-size: 14px; \r\n        text-transform: uppercase;\r\n        letter-spacing: 1.5px;\r\n        font-weight: 800;\r\n        color: var(--feed-navy);\r\n        margin-bottom: 5px;\r\n        opacity: 0.9;\r\n    }\r\n\r\n    .feed-clock .date {\r\n        font-size: 18px; \r\n        font-weight: 600;\r\n        color: var(--feed-gold); \r\n        margin-bottom: 3px;\r\n    }\r\n    \r\n    \/* Zmniejszona czcionka godziny dla lepszego balansu *\/\r\n    .feed-clock .time {\r\n        font-size: 26px; \r\n        font-weight: 800;\r\n        color: var(--feed-navy);\r\n        line-height: 1.1;\r\n    }\r\n\r\n    .feed-item {\r\n        position: relative;\r\n        width: calc(50% - 40px);\r\n        padding: 12px 18px;\r\n        background: white;\r\n        border: 1px solid var(--feed-line);\r\n        border-radius: 12px;\r\n        box-shadow: 0 4px 15px rgba(0,0,0,0.05);\r\n        margin-bottom: 20px;\r\n        opacity: 0;\r\n        transform: translateY(20px);\r\n        transition: opacity 0.6s ease-out, transform 0.6s ease-out;\r\n    }\r\n    \r\n    .feed-item.is-visible {\r\n        opacity: 1;\r\n        transform: translateY(0);\r\n    }\r\n    \r\n    .feed-item.side-left { left: 0; }\r\n    .feed-item.side-right { left: calc(50% + 40px); }\r\n    \r\n    .feed-item::after {\r\n        content: '';\r\n        position: absolute;\r\n        top: 20px;\r\n        width: 12px;\r\n        height: 12px;\r\n        background: white;\r\n        border: 3px solid var(--feed-line);\r\n        transform: rotate(45deg);\r\n    }\r\n    .feed-item.side-left::after { right: -7px; border-left: none; border-top: none; }\r\n    .feed-item.side-right::after { left: -7px; border-right: none; border-bottom: none; }\r\n    \r\n    .month-separator {\r\n        position: relative;\r\n        z-index: 10;\r\n        background-color: var(--feed-navy);\r\n        color: white;\r\n        padding: 7px 22px;\r\n        border-radius: 30px;\r\n        margin: 35px auto 25px auto;\r\n        width: fit-content;\r\n        font-weight: 600;\r\n        box-shadow: 0 5px 15px rgba(26, 44, 66, 0.2);\r\n        font-size: 15px;\r\n    }\r\n\r\n    .feed-item .date { font-weight: 600; color: var(--feed-navy); margin-bottom: 6px; font-size: 14px; }\r\n    .feed-item .description { color: var(--feed-text-light); font-size: 13px; }\r\n    \r\n    .feed-item.past-event { opacity: 0.6; background-color: #f8f9fa; }\r\n    .feed-item.upcoming-event {\r\n        border-color: var(--feed-gold);\r\n        box-shadow: 0 5px 25px rgba(212, 175, 55, 0.2);\r\n    }\r\n    .feed-item.upcoming-event::after { border-color: var(--feed-gold) !important; }\r\n\r\n    @media(max-width: 768px) {\r\n        .feed-line { left: 20px; }\r\n        .feed-item, .feed-item.side-right { width: calc(100% - 50px); left: 50px !important; }\r\n        .feed-item::after, .feed-item.side-right::after { left: -7px !important; right: auto !important; border-right: none !important; border-bottom: none !important; }\r\n        .feed-clock { margin-left: 50px; }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"feed-section\">\r\n    <div class=\"feed-container\">\r\n        <div class=\"chronological-feed\" id=\"chronological-feed\">\r\n            <div class=\"feed-line\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    const eventsData = [\r\n        { date: '2025-09-01', description: 'Rozpocz\u0119cie roku szkolnego', care: 'no', type: 'school' },\r\n        { date: '2025-10-13', description: 'Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych', care: 'yes', type: 'day-off' },\r\n        { date: '2025-10-14', description: 'Dzie\u0144 Edukacji Narodowej', care: 'yes', type: 'holiday' },\r\n        { date: '2025-11-01', description: 'Wszystkich \u015awi\u0119tych', care: 'no', type: 'holiday' },\r\n        { date: '2025-11-10', description: 'Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych', care: 'no', type: 'day-off' },\r\n        { date: '2025-11-11', description: '\u015awi\u0119to Niepodleg\u0142o\u015bci', care: 'no', type: 'holiday' },\r\n        { date: '2025-12-22', dateEnd: '2025-12-31', description: 'Zimowa przerwa \u015bwi\u0105teczna', care: 'note', careNote: 'Opieka w dniach: 22, 23, 29, 30 i 31 grudnia.', type: 'break' },\r\n        { date: '2026-01-01', description: 'Nowy Rok', care: 'no', type: 'holiday' },\r\n        { date: '2026-01-02', description: 'Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych', care: 'no', type: 'day-off' },\r\n        { date: '2026-01-05', description: 'Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych', care: 'no', type: 'day-off' },\r\n        { date: '2026-01-06', description: '\u015awi\u0119to Trzech Kr\u00f3li', care: 'no', type: 'holiday' },\r\n        { date: '2026-01-19', dateEnd: '2026-02-01', description: 'Ferie zimowe', care: 'no', type: 'break' },\r\n        { date: '2026-04-02', dateEnd: '2026-04-07', description: 'Wiosenna przerwa \u015bwi\u0105teczna', care: 'yes', type: 'break' },\r\n        { date: '2026-05-01', description: '\u015awi\u0119to Pracy', care: 'no', type: 'holiday' },\r\n        { date: '2026-05-03', description: '\u015awi\u0119to Konstytucji 3 Maja', care: 'no', type: 'holiday' },\r\n        { date: '2026-05-11', dateEnd: '2026-05-13', description: 'Egzamin \u00f3smoklasisty', care: 'no', type: 'exam' },\r\n        { date: '2026-06-04', description: 'Bo\u017ce Cia\u0142o', care: 'no', type: 'holiday' },\r\n        { date: '2026-06-05', description: 'Dzie\u0144 wolny od zaj\u0119\u0107 dydaktycznych', care: 'no', type: 'day-off' },\r\n        { date: '2026-06-26', description: 'Zako\u0144czenie roku szkolnego', care: 'no', type: 'school' },\r\n    ];\r\n\r\n    const feedContainer = document.getElementById('chronological-feed');\r\n    const now = new Date();\r\n    let clockInserted = false;\r\n\r\n    function createLiveClock() {\r\n        const clockDiv = document.createElement('div');\r\n        clockDiv.className = 'feed-clock';\r\n        clockDiv.id = 'live-clock-container';\r\n        clockDiv.innerHTML = `\r\n            <div class=\"now-label\">Dzisiaj jest<\/div>\r\n            <div class=\"date\" id=\"live-date\">...<\/div>\r\n            <div class=\"time\" id=\"live-time\">...<\/div>\r\n        `;\r\n        return clockDiv;\r\n    }\r\n\r\n    const clockElement = createLiveClock();\r\n\r\n    function updateClock() {\r\n        const liveNow = new Date();\r\n        const timeEl = document.getElementById('live-time');\r\n        const dateEl = document.getElementById('live-date');\r\n        if (timeEl && dateEl) {\r\n            timeEl.textContent = liveNow.toLocaleTimeString('pl-PL', { hour: '2-digit', minute: '2-digit' });\r\n            const dateStr = liveNow.toLocaleDateString('pl-PL', { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' });\r\n            dateEl.textContent = dateStr.charAt(0).toUpperCase() + dateStr.slice(1);\r\n        }\r\n    }\r\n\r\n    let lastMonth = null;\r\n    let itemCounter = 0;\r\n\r\n    eventsData.forEach((event, index) => {\r\n        const eventDate = new Date(event.date);\r\n        const eventMonth = eventDate.toLocaleString('pl-PL', { month: 'long', year: 'numeric' });\r\n        const capitalizedMonth = eventMonth.charAt(0).toUpperCase() + eventMonth.slice(1);\r\n\r\n        if (!clockInserted && now < eventDate) {\r\n            feedContainer.appendChild(clockElement);\r\n            clockInserted = true;\r\n        }\r\n\r\n        if (capitalizedMonth !== lastMonth) {\r\n            const monthSeparator = document.createElement('div');\r\n            monthSeparator.className = 'month-separator';\r\n            monthSeparator.textContent = capitalizedMonth;\r\n            feedContainer.appendChild(monthSeparator);\r\n            lastMonth = capitalizedMonth;\r\n            itemCounter = 0;\r\n        }\r\n\r\n        const item = document.createElement('div');\r\n        item.className = 'feed-item';\r\n        itemCounter++;\r\n        item.classList.add(itemCounter % 2 === 0 ? 'side-right' : 'side-left');\r\n\r\n        let dateString = eventDate.toLocaleDateString('pl-PL', { day: 'numeric', month: 'long' }) + ` (${eventDate.toLocaleDateString('pl-PL', { weekday: 'long' })})`;\r\n        if (event.dateEnd) {\r\n             dateString = `${eventDate.toLocaleDateString('pl-PL', { day: 'numeric', month: 'long' })} - ${new Date(event.dateEnd).toLocaleDateString('pl-PL', { day: 'numeric', month: 'long' })}`;\r\n        }\r\n\r\n        item.innerHTML = `\r\n            <div class=\"date\">${dateString}<\/div>\r\n            <div class=\"description\">${event.description}<\/div>\r\n            <div class=\"event-badges\">\r\n                ${event.type === 'holiday' ? '<span class=\"badge holiday\">\u015awi\u0119to<\/span>' : ''}\r\n                ${event.care === 'yes' ? '<span class=\"badge care-yes\">Opieka zapewniona<\/span>' : ''}\r\n            <\/div>\r\n            ${event.care === 'note' ? `<div class=\"care-note-details\">${event.careNote}<\/div>` : ''}\r\n        `;\r\n        \r\n        const eventEndDate = event.dateEnd ? new Date(event.dateEnd) : eventDate;\r\n        if (eventEndDate < now.setHours(0,0,0,0)) {\r\n            item.classList.add('past-event');\r\n        }\r\n\r\n        feedContainer.appendChild(item);\r\n    });\r\n\r\n    if (!clockInserted) feedContainer.appendChild(clockElement);\r\n\r\n    updateClock();\r\n    setInterval(updateClock, 1000);\r\n\r\n    const futureEvents = document.querySelectorAll('.feed-item:not(.past-event)');\r\n    if (futureEvents.length > 0) futureEvents[0].classList.add('upcoming-event');\r\n\r\n    const observer = new IntersectionObserver((entries) => {\r\n        entries.forEach(entry => {\r\n            if (entry.isIntersecting) entry.target.classList.add('is-visible');\r\n        });\r\n    }, { threshold: 0.1 });\r\n\r\n    document.querySelectorAll('.feed-item, .month-separator, .feed-clock').forEach(el => observer.observe(el));\r\n});\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>HILARIS Dwuj\u0119zyczna Szko\u0142a Podstawowa i Przedszkole Szko\u0142a22 498-55-25 Opieka w dni wolne\u015awietlica Szko\u0142a Podstawowa Dla rodzica Dni wolne od zaj\u0119\u0107 \u2014 Dodaj dni wolne do kalendarza Terminy zebra\u0144 Powi\u0105zane strony HILARIS \u2014 follow your passion! Szko\u0142a Podstawowa Przedszkole 05-870 B\u0142onie, ul. Passowska 16A Hilaris \u00a9 2026 Szko\u0142a \u015awietlica Zadzwo\u0144 Dni wolne od zaj\u0119\u0107 dydaktycznych Miesi\u0105c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":345,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2716","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/hilaris-blonie.pl\/index.php?rest_route=\/wp\/v2\/pages\/2716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hilaris-blonie.pl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hilaris-blonie.pl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hilaris-blonie.pl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hilaris-blonie.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2716"}],"version-history":[{"count":100,"href":"https:\/\/hilaris-blonie.pl\/index.php?rest_route=\/wp\/v2\/pages\/2716\/revisions"}],"predecessor-version":[{"id":6852,"href":"https:\/\/hilaris-blonie.pl\/index.php?rest_route=\/wp\/v2\/pages\/2716\/revisions\/6852"}],"up":[{"embeddable":true,"href":"https:\/\/hilaris-blonie.pl\/index.php?rest_route=\/wp\/v2\/pages\/345"}],"wp:attachment":[{"href":"https:\/\/hilaris-blonie.pl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}