main#main .elnofa-events-calendar {padding:0;color-scheme:light;max-width:1220px;width:100%;margin:24px auto}
    main#main .elnofa-events-calendar * {box-sizing:border-box}
    main#main .elnofa-events-calendar .ef-surface {--ef-paper:#fbfcfa;--ef-ink:#173e44;--ef-secondary:#5c7377;--ef-line:#d9e4df;--ef-soft:#eff5f2;--ef-teal:#0d7d80;--ef-teal-soft:#e4f3ee;--ef-blue:#3566a1;--ef-blue-soft:#e9f0f9;--ef-selected:#155e65;--ef-selected-text:#fff;background:var(--ef-paper);color:var(--ef-ink);font:400 14px/1.5 Arial,Helvetica,sans-serif;border:1px solid var(--ef-line);border-radius:10px;overflow:hidden}
    main#main .elnofa-events-calendar .ef-context {display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:15px 20px;border-bottom:1px solid var(--ef-line);font-size:12px;color:var(--ef-secondary)}
    main#main .elnofa-events-calendar .ef-context strong {font-weight:500;letter-spacing:.16em;color:var(--ef-teal)}
    main#main .elnofa-events-calendar .ef-context span:last-child {margin-left:auto}
    main#main .elnofa-events-calendar .ef-hero {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch}
    main#main .elnofa-events-calendar .ef-image {display:flex;align-items:center;justify-content:center;min-width:0;margin:0;background:var(--ef-soft);border-right:1px solid var(--ef-line)}
    main#main .elnofa-events-calendar .ef-image img {display:block;width:100%;height:auto;max-width:100%}
    main#main .elnofa-events-calendar .ef-calendar {min-width:0;padding:17px 17px 13px}
    main#main .elnofa-events-calendar .ef-calendar h2 {margin:0 0 13px;font:500 21px/1.15 Georgia,'Times New Roman',serif;color:var(--ef-ink)}
    main#main .elnofa-events-calendar .ef-calendar-controls {display:flex;align-items:center;gap:7px;margin-bottom:10px}
    main#main .elnofa-events-calendar .ef-calendar-controls select {font:500 14px/1.3 Arial,Helvetica,sans-serif;color:var(--ef-ink);border:0;background:var(--ef-paper);min-width:0;width:100%;padding:7px 3px;margin-right:auto}
    main#main .elnofa-events-calendar .ef-calendar-controls button {display:inline-flex;align-items:center;justify-content:center;flex:0 0 31px;width:31px;height:31px;padding:0;border:1px solid var(--ef-line);border-radius:5px;background:var(--ef-paper);color:var(--ef-ink)}
    main#main .elnofa-events-calendar button:disabled {opacity:.3;cursor:default}
    main#main .elnofa-events-calendar .ef-calendar-controls button svg {width:16px;height:16px}
    main#main .elnofa-events-calendar table {width:100%;table-layout:fixed;border-collapse:separate;border-spacing:2px;margin:0}
    main#main .elnofa-events-calendar th {font-weight:400;font-size:11px;text-align:center;color:var(--ef-secondary);padding:2px 0 5px}
    main#main .elnofa-events-calendar td {padding:0;text-align:center;vertical-align:middle}
    main#main .elnofa-events-calendar .ef-day {position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;min-height:31px;padding:3px 0;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--ef-ink);font:400 12px/1.1 Arial,Helvetica,sans-serif}
    main#main .elnofa-events-calendar .ef-day.has-events {background:var(--ef-soft);font-weight:500}
    main#main .elnofa-events-calendar .ef-day.is-today {border-color:var(--ef-teal)}
    main#main .elnofa-events-calendar .ef-day[aria-pressed="true"] {background:var(--ef-selected);color:var(--ef-selected-text);border-color:var(--ef-selected)}
    main#main .elnofa-events-calendar .ef-day[aria-pressed="true"] .ef-dot {background:currentColor}
    main#main .elnofa-events-calendar .ef-day:not(:disabled):hover {box-shadow:inset 0 0 0 1px var(--ef-teal)}
    main#main .elnofa-events-calendar .ef-outside {font-size:12px;color:var(--ef-secondary);opacity:.35}
    main#main .elnofa-events-calendar .ef-dots {display:flex;justify-content:center;align-items:center;gap:3px;min-height:5px}
    main#main .elnofa-events-calendar .ef-dot {display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--ef-teal)}
    main#main .elnofa-events-calendar .ef-dot.esop {background:var(--ef-blue)}
    main#main .elnofa-events-calendar .ef-legend {display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:10px;font-size:11px;color:var(--ef-secondary)}
    main#main .elnofa-events-calendar .ef-legend span {display:inline-flex;align-items:center;gap:5px}
    main#main .elnofa-events-calendar .ef-legend .ef-dot {width:7px;height:7px}
    main#main .elnofa-events-calendar .ef-range {margin:9px 0 0;color:var(--ef-secondary);font-size:11px}
    main#main .elnofa-events-calendar .ef-details {border-top:1px solid var(--ef-line);padding:16px 20px 18px;background:var(--ef-paper)}
    main#main .elnofa-events-calendar .ef-detail-head {display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:7px}
    main#main .elnofa-events-calendar .ef-detail-head .ef-selected-date {font-size:13px;font-weight:500;margin:0;color:var(--ef-teal)}
    main#main .elnofa-events-calendar .ef-count {font-size:11px;color:var(--ef-secondary)}
    main#main .elnofa-events-calendar .ef-event {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;padding:11px 0;border-top:1px solid var(--ef-line)}
    main#main .elnofa-events-calendar .ef-event:first-child {border-top:0;padding-top:5px}
    main#main .elnofa-events-calendar .ef-event .ef-event-title {font:500 17px/1.3 Georgia,'Times New Roman',serif;margin:0;color:var(--ef-ink);overflow-wrap:anywhere}
    main#main .elnofa-events-calendar .ef-event-meta {font-size:12px;color:var(--ef-secondary);margin:5px 0 0}
    main#main .elnofa-events-calendar .ef-source {display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:4px;align-self:start;background:var(--ef-teal-soft);color:var(--ef-teal);font-size:11px;white-space:nowrap}
    main#main .elnofa-events-calendar .ef-source.esop {background:var(--ef-blue-soft);color:var(--ef-blue)}
    main#main .elnofa-events-calendar .ef-event-links {display:flex;flex-wrap:wrap;gap:15px;grid-column:1/-1;font-size:12px}
    main#main .elnofa-events-calendar a {color:var(--ef-teal);text-underline-offset:3px}
    main#main .elnofa-events-calendar .ef-deadline {grid-column:1/-1;margin:0;font-size:12px;color:var(--ef-secondary)}
    main#main .elnofa-events-calendar .ef-empty {margin:7px 0 0;font-size:13px;color:var(--ef-secondary)}
    main#main .elnofa-events-calendar .ef-note {border-top:1px solid var(--ef-line);padding:9px 20px;background:var(--ef-soft);font-size:11px;color:var(--ef-secondary);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
    @media(max-width:620px) {
      main#main .elnofa-events-calendar .ef-hero {grid-template-columns:minmax(0,1fr)}
      main#main .elnofa-events-calendar .ef-image {border-right:0;border-bottom:1px solid var(--ef-line)}
      main#main .elnofa-events-calendar .ef-calendar {padding:17px 18px}
      main#main .elnofa-events-calendar .ef-day {min-height:42px;font-size:14px}
      main#main .elnofa-events-calendar .ef-calendar-controls button {height:40px;width:40px;flex-basis:40px}
      main#main .elnofa-events-calendar .ef-calendar-controls select {font-size:16px;min-height:40px}
      main#main .elnofa-events-calendar .ef-context {padding:12px 16px}
      main#main .elnofa-events-calendar .ef-context span:last-child {margin-left:0}
      main#main .elnofa-events-calendar .ef-details {padding:15px 16px}
      main#main .elnofa-events-calendar .ef-event {grid-template-columns:minmax(0,1fr);gap:7px}
      main#main .elnofa-events-calendar .ef-source {justify-self:start;grid-row:1}
      main#main .elnofa-events-calendar .ef-note {padding:10px 16px}
    }
    @media(pointer:coarse) {main#main .elnofa-events-calendar .ef-day {min-height:44px}}
  
main#main .elnofa-events-calendar table, main#main .elnofa-events-calendar th, main#main .elnofa-events-calendar td{border:0;background:transparent}
main#main .elnofa-events-calendar .ef-calendar-controls button{font:400 24px/1 Arial,sans-serif}
main#main .elnofa-events-calendar .ef-context strong{font-family:inherit}
main#main .elnofa-events-calendar .ef-image img{max-height:none!important;object-fit:contain!important;border-radius:0;margin:0}
main#main .elnofa-events-calendar .ef-note{line-height:1.5}
main#main .elnofa-events-calendar .ef-day:disabled{cursor:default}
@media print{main#main .elnofa-events-calendar .ef-calendar-controls,main#main .elnofa-events-calendar .ef-note{display:none!important}}

main#main .elnofa-events-calendar .ef-sources{display:flex;align-items:flex-start;flex-direction:column;gap:5px}
main#main .elnofa-events-calendar .ef-image{min-height:0}
main#main .elnofa-events-calendar .ef-calendar th{font-size:12px;font-weight:400;padding:2px 0 5px;text-align:center}
main#main .elnofa-events-calendar .ef-calendar td{padding:0}
main#main .elnofa-events-calendar .ef-selected-date{font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;color:#087f83;margin:0}
@media(max-width:620px){main#main .elnofa-events-calendar .ef-sources{grid-row:1}}

/* Preserve seven equal columns despite the page's generic block-table rule. */
main#main .elnofa-events-calendar .ef-calendar table {
  display: table;
  overflow: visible;
}

main#main .elnofa-events-calendar .ef-search{padding:16px 20px;border-top:1px solid var(--ef-line)}
main#main .elnofa-events-calendar .ef-search label{display:block;font-size:13px;font-weight:600;margin-bottom:7px}
main#main .elnofa-events-calendar .ef-search-controls{display:flex;gap:8px;max-width:650px}
main#main .elnofa-events-calendar .ef-search-input{width:100%;min-width:0;min-height:44px;border:1px solid #b7c7c4;border-radius:5px;padding:10px 12px;color:var(--ef-ink);background:white;font:400 16px/1.4 Arial,sans-serif}
main#main .elnofa-events-calendar .ef-search p{font-size:11px;color:var(--ef-secondary);margin:6px 0 0}
main#main .elnofa-events-calendar .ef-search-clear{flex-shrink:0;padding:8px;border:1px solid var(--ef-line);border-radius:5px;background:var(--ef-soft);color:var(--ef-ink);font-size:12px}
main#main .elnofa-events-calendar .ef-search-pages{display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 16px;border-top:1px solid var(--ef-line);font-size:12px;color:var(--ef-secondary)}
main#main .elnofa-events-calendar .ef-search-pages button{width:42px;height:42px;border:1px solid var(--ef-line);border-radius:5px;background:white;color:var(--ef-ink);font-size:24px}
main#main .elnofa-events-calendar .ef-search-clear[hidden],main#main .elnofa-events-calendar .ef-search-pages[hidden]{display:none}
main#main .elnofa-events-calendar .ef-search input:focus-visible,main#main .elnofa-events-calendar .ef-search button:focus-visible,main#main .elnofa-events-calendar .ef-search-pages button:focus-visible{outline:3px solid var(--ef-teal);outline-offset:3px}
@media(max-width:620px){main#main .elnofa-events-calendar .ef-search{padding:15px 16px}}
