---
title: ClusterChristmas 2026
featured_image: "https://www.scuoladimusicacluster.it/images/iniziative_2026/clusterchristmas%202026%20copertina1.jpg#joomlaImage://local-images/iniziative_2026/clusterchristmas 2026 copertina1.jpg?width=750&height=625"
date: 2026-10-16
modified: "2026-10-21 10:12:15"
author: Marco Kotov
url: "https://www.scuoladimusicacluster.it/iniziative-2026/clusterchristmas-2026.html"
language: "*"
category: Pagina
---

# ClusterChristmas 2026

![ClusterChristmas 2026](https://www.scuoladimusicacluster.it/images/iniziative_2026/clusterchristmas%202026%20copertina1.jpg#joomlaImage://local-images/iniziative_2026/clusterchristmas 2026 copertina1.jpg?width=750&height=625)

## Cluster
Christmas 2026

**Cluster
Christmas 2026**

Dal 9 al 20 dicembre

###### 11 giorni di musica, insieme

-
CALENDARIO EVENTI

-
DOMANDE FREQUENTI

### Una tradizione dal 1999

###### Saggi, concerti e lezioni aperte

Ogni concerto, saggio o lezione aperta è un momento reale di crescita per chi studia musica: si sale sul palco, si condividono emozioni, si scopre qualcosa di nuovo di sé e degli altri. Dal 1999 **il ClusterChristmas trasforma il mese di dicembre in una festa continua di musica**.

### Calendario Eventi

Cerca per insegnante

### F.A.Q.

#### SAGGI E CONCERTI

- #### Dove si svolgono i saggi?
Tutti i **saggi individuali di canto e strumento**, i **Saggi-Concerto di Musica d'insieme** e i **Saggi-Concerto dei Cori Adulti** si svolgono presso la sede di Cluster, in via Mosè Bianchi 96.

Non è richiesta alcuna prenotazione e l’entrata è libera.

**Auditorium**: Canto, Batteria, Musica d'insieme e Cori.
**Aula I**: Basso, Chitarra e Fiati.
**Sala BETA**: Pianoforte e Violino.

- #### C'è bisogno della prenotazione?
Non c’è bisogno di prenotazione e l'**entrata è libera**. Parenti e amici sono molto graditi.
Aspettiamo il pubblico** ****cinque minuti prima dell'inizio**.

- #### Sono un allievo che si deve esibire: quando devo arrivare?
Ti aspettiamo **un'ora prima** dell'orario di inizio del saggio. *Ad esempio se il tuo saggio è alle ore 18:00, ti aspettiamo alle ore 17:00 direttamente nella sala dove svolgerai il saggio.*

- #### Come mi devo vestire?
Look curato e personalizzato.

In alternativa maglietta Cluster e pantaloni neri o jeans scuri vanno benissimo.

#### TEORIA-COROBambini | Lezioni aperte

- #### Dove si svolgono le lezioni aperte di Teoria-Coro?
Le lezioni aperte di **Teoria-Coro** dei **bambini** si svolgono in **Aula I** presso la sede di Cluster, in via Mosè Bianchi 96.

Non è richiesta alcuna prenotazione e l’entrata è libera.

- #### Quando si svolgono?
Le lezioni aperte di **Teoria-Coro** dei **bambini** si svolgono nello **stesso giorno e orario di lezione** con l'apertura al pubblico mezz'ora dopo l'inizio della lezione.

*Es. se la lezione di Teoria-Coro si svolge sempre il mercoledì alle 17:00, gli studenti arriveranno alle 17:00 e i genitori alle ore 17:30.*

- #### C'è bisogno della prenotazione?
Non c’è bisogno di prenotazione e l'**entrata è libera**. Parenti e amici sono molto graditi.

- #### Come si devono vestire gli allievi?
Pantaloni scuri e maglietta Cluster.
La maglietta Cluster verrà consegnata a dicembre con tutto il merchandise della Scuola!

#### CORI TEENLezioni aperte

- #### Dove si svolgono le lezioni aperte dei Cori Teen?
Le lezioni aperte dei **Cori Teen** si svolgono in **Auditorium** presso la sede di Cluster, in via Mosè Bianchi 96.

Non è richiesta alcuna prenotazione e l’entrata è libera.

- #### Quando si svolgono?
Le lezioni aperte di **Coro Teen** si svolgono nello **stesso giorno e orario di lezione** con l'apertura al pubblico mezz'ora dopo l'inizio della lezione.

*Es. se la lezione di Coro Teen si svolge sempre il mercoledì alle 17:00, gli studenti arriveranno alle 17:00 e i genitori alle ore 17:30.*

- #### C'è bisogno della prenotazione?
Non c’è bisogno di prenotazione e l'**entrata è libera.** Parenti e amici sono molto graditi.

- #### Come si devono vestire gli allievi?

Pantaloni scuri e maglietta Cluster.
La maglietta Cluster verrà consegnata a dicembre con tutto il merchandise della Scuola!

#### CLUSTERCOROCori Adulti

- #### Dove si svolgono i Saggi-Concerto dei cori Adulti?
Tutti i **Saggi-Concerto** si svolgono in **Auditorium** presso la sede di Cluster, in via Mosè Bianchi 96.

Non è richiesta alcuna prenotazione e l’entrata è libera.

- #### Quando si svolgono?
I Saggi-Concerto dei **Cori Adulti** si svolgono secondo il seguente calendario:

  - **Lunedì 14 dicembre ore 21:15** | Cori Pop | Ins. Paola Dell'Erba, Vicky Schaetzinger

  - **Martedì 15 dicembre ore 21:15** | Cori Musical e Gospel | Ins. Alberto Meloni, Claudia Cantisani

  - **Giovedì 17 dicembre ore 21:15** | Cori Swing e Pop | Ins. Alberto Meloni, Claudia Cantisani, Felice Del Vecchio

- #### C'è bisogno della prenotazione?
Non c’è bisogno di prenotazione e l'**entrata è libera**. Parenti e amici sono molto graditi.
Aspettiamo il pubblico** ****cinque minuti prima dell'inizio**.

- #### ClusterGospelChoir al Teatro Pime domenica 13 dicembre
Domenica 13 dicembre torna il concerto Gospel al Teatro PIME, in due repliche: alle 17:00 e alle 20:30.
Canta il ClusterGospelChoir, diretto da Piero Basilico.

###### Biglietti
Per gli amici di Cluster c’è uno sconto speciale sui biglietti: controlla la tua casella di posta per trovare il codice da inserire al momento dell'acquisto.
https://www.scuoladimusicacluster.it/LINK-CLAPPIT-2026

Scopri tutte le info e acquista i biglietti: ****

Il concerto è organizzato dal Centro PIME, a sostegno della sua attività missionaria.

Per informazioni sull’acquisto dei biglietti: [info@teatropime.it](mailto:info@teatropime.it) · 02 43.822.425

###### Per i coristi
Soundcheck alle 14:30 al Teatro PIME.

#### MUSICA D'INSIEMESaggio-Concerto

- #### Dove si svolgono i Saggi-concerto di Musica d'insieme?
Tutti i **Saggi-Concerto** si svolgono in **Auditorium** presso la sede di Cluster, in via Mosè Bianchi 96.

Non è richiesta alcuna prenotazione e l’entrata è libera.

- #### C'è bisogno della prenotazione?
Non c’è bisogno di prenotazione e l'**entrata è libera**. Parenti e amici sono molto graditi.
Aspettiamo il pubblico** ****cinque minuti prima dell'inizio**.

- #### Sono un allievo che si deve esibire: quando suona la mia band?
Per trovare l'orario dell'esibizione della tua band di Musica d'insieme CLICCA QUI.

\n\n\n\n\n\n\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n Cerca per insegnante\n \n \u00d7\n \n \n \n \n \n \n \n\n\n\n\n\/* ===================== Variabili e temi ===================== *\/\n.ccx{\n \/* palette Cluster *\/\n --ccx-k:#0A0A0A; --ccx-w:#FFFFFF; --ccx-g:#DBDBDB; --ccx-o:#EF7C33;\n \/* forma e movimento *\/\n --ccx-r:2px; --ccx-r-sm:2px; --ccx-r-lg:2px; --ccx-r-xs:2px; --ccx-pill:999px; --ccx-dot:50%; \/* contenitori e tag: 2px \u00b7 pulsanti: pillola *\/\n --ccx-num:'Montserrat','Raleway',system-ui,sans-serif;\n --ccx-ease:cubic-bezier(.2,.8,.2,1);\n \/* tema chiaro *\/\n --ccx-page:#F1F1F1; \/* #DBDBDB al 40% su bianco *\/\n --ccx-text:#0A0A0A; --ccx-text2:#555555; --ccx-text-ins:#2A2A2A;\n --ccx-card:#FFFFFF; --ccx-card-line:rgba(10,10,10,0); --ccx-card-line-hi:rgba(10,10,10,0);\n --ccx-soft:#F1F1F1; --ccx-soft-fg:#0A0A0A; --ccx-inv-bg:#0A0A0A; --ccx-inv-fg:#FFFFFF;\n --ccx-line:#ECECEC;\n --ccx-pill-bg:#FFFFFF;\n --ccx-shadow:0 1px 2px rgba(10,10,10,.04),0 6px 20px rgba(10,10,10,.06);\n --ccx-shadow-hi:0 2px 6px rgba(10,10,10,.05),0 16px 40px rgba(10,10,10,.12);\n --ccx-past:rgba(255,255,255,.55);\n --ccx-menu:rgba(255,255,255,.98); --ccx-menu-line:rgba(10,10,10,.06); --ccx-menu-hover:rgba(219,219,219,.6);\n --ccx-note:rgba(239,124,51,.10);\n --ccx-wm:.06; --ccx-glow:rgba(239,124,51,.08);\n --ccx-flag-live:#FCEADE; \/* arancio al 16% su bianco *\/\n --ccx-top:0px; --ccx-bar-h:0px; --ccx-hide:0px;\n font-family:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;\n font-size:16px; line-height:1.45; color:var(--ccx-text); background:var(--ccx-k);\n position:relative;\n text-align:left; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;\n}\n.ccx.ccx--dark{\n --ccx-page:#0A0A0A;\n --ccx-text:#FFFFFF; --ccx-text2:rgba(255,255,255,.6); --ccx-text-ins:rgba(255,255,255,.86);\n --ccx-card:linear-gradient(180deg,#181818 0%,#111111 100%);\n --ccx-card-line:rgba(255,255,255,.08); --ccx-card-line-hi:rgba(255,255,255,.18);\n --ccx-soft:rgba(255,255,255,.08); --ccx-soft-fg:#FFFFFF; --ccx-inv-bg:#FFFFFF; --ccx-inv-fg:#0A0A0A;\n --ccx-line:rgba(255,255,255,.08);\n --ccx-pill-bg:rgba(255,255,255,.08);\n --ccx-shadow:inset 0 1px 0 rgba(255,255,255,.05),0 10px 30px rgba(0,0,0,.35);\n --ccx-shadow-hi:inset 0 1px 0 rgba(255,255,255,.07),0 24px 54px rgba(0,0,0,.6);\n --ccx-past:#0E0E0E; \/* pieno: la neve non deve vedersi attraverso *\/\n --ccx-menu:rgba(26,26,26,.98); --ccx-menu-line:rgba(255,255,255,.1); --ccx-menu-hover:rgba(255,255,255,.08);\n --ccx-note:rgba(239,124,51,.12);\n --ccx-wm:.075; --ccx-glow:rgba(239,124,51,.16);\n --ccx-flag-live:#41291B; \/* arancio al 20% sul fondo card *\/\n}\n\n\/* Variante squadrata come da brand book: aggiungi la classe \"ccx--square\" al div #ccx *\/\n.ccx.ccx--square{--ccx-r:0px;--ccx-r-sm:0px;--ccx-r-lg:0px;--ccx-r-xs:0px;--ccx-pill:0px;--ccx-dot:0}\n.ccx.ccx--square .ccx-btn,.ccx.ccx--square .ccx-pill{text-transform:uppercase;letter-spacing:.12em;font-size:11px}\n\n\/* Sfondo bianco con card scure (classe \"ccx--mix\"): la pagina usa i colori chiari, le card quelli scuri *\/\n.ccx.ccx--mix{--ccx-page:#FFFFFF}\n\/* temi con sfondo chiaro: la barra filtri resta nera, dietro c'\u00e8 il fondo della pagina *\/\n.ccx:not(.ccx--dark){background:var(--ccx-page)}\n.ccx:not(.ccx--dark) .ccx-bar{background:var(--ccx-k)}\n.ccx:not(.ccx--dark).is-stuck .ccx-bar{background:rgba(10,10,10,.94)} \/* sul bianco il vetro resta nero, non grigio *\/\n.ccx.ccx--mix .ccx-ev,.ccx.ccx--mix .ccx-empty{\n --ccx-text:#FFFFFF; --ccx-text2:rgba(255,255,255,.6); --ccx-text-ins:rgba(255,255,255,.86);\n --ccx-card:linear-gradient(180deg,#1C1C1C 0%,#121212 100%);\n --ccx-card-line:rgba(10,10,10,0); --ccx-card-line-hi:rgba(10,10,10,0);\n --ccx-soft:rgba(255,255,255,.08); --ccx-soft-fg:#FFFFFF; --ccx-inv-bg:#FFFFFF; --ccx-inv-fg:#0A0A0A;\n --ccx-line:rgba(255,255,255,.08);\n --ccx-shadow:0 1px 2px rgba(10,10,10,.08),0 8px 24px rgba(10,10,10,.14);\n --ccx-shadow-hi:0 2px 6px rgba(10,10,10,.1),0 18px 44px rgba(10,10,10,.24);\n --ccx-menu:rgba(26,26,26,.98); --ccx-menu-line:rgba(255,255,255,.1); --ccx-menu-hover:rgba(255,255,255,.08);\n --ccx-glow:rgba(239,124,51,.16); --ccx-flag-live:#41291B; --ccx-wm:.075;\n}\n\/* eventi conclusi: la card intera si schiarisce sul bianco *\/\n.ccx.ccx--mix .ccx-ev.is-past{background:var(--ccx-card);box-shadow:none;opacity:.42}\n.ccx.ccx--mix .ccx-ev.is-past > *{opacity:1}\n.ccx.ccx--mix.is-over .ccx-ev.is-past{opacity:1;box-shadow:var(--ccx-shadow)}\n\n\/* ===================== Base ===================== *\/\n.ccx *,.ccx *::before,.ccx *::after{box-sizing:border-box}\n.ccx h2,.ccx h3,.ccx h4,.ccx p{margin:0;padding:0;font-family:inherit;color:inherit;font-weight:inherit;line-height:inherit;letter-spacing:normal;text-transform:none}\n.ccx button{font-family:inherit;margin:0;border-radius:0;-webkit-appearance:none;appearance:none;cursor:pointer;line-height:1.2}\n.ccx button:disabled{cursor:default}\n.ccx a{color:inherit;text-decoration:none}\n.ccx :focus-visible{outline:2px solid var(--ccx-o);outline-offset:2px}\n.ccx .ccx-wrap{max-width:1200px;margin:0 auto;padding:0 14px}\n@media (min-width:640px){.ccx .ccx-wrap{padding:0 28px}}\n\n\/* Neve: canvas fisso dietro ai contenuti, resta nel riquadro del visualizzatore *\/\n.ccx .ccx-snow{position:-webkit-sticky;position:sticky;top:0;display:block;width:100%;height:100vh;margin-bottom:-100vh;z-index:0;pointer-events:none}\n\n\/* Numeri in Montserrat *\/\n.ccx .ccx-num{font-family:var(--ccx-num);font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}\n\n\/* ===================== Testata scura ===================== *\/\n.ccx .ccx-top{\n position:relative;z-index:1;color:var(--ccx-w);padding:56px 0 36px;\n background:radial-gradient(820px 380px at 88% 0%,rgba(239,124,51,.26),transparent 68%);\n}\n.ccx .ccx-top .ccx-wrap{position:relative;display:grid;gap:32px}\n@media (min-width:960px){\n .ccx .ccx-top{padding:88px 0 48px}\n .ccx .ccx-top .ccx-wrap{grid-template-columns:1fr minmax(0,520px);align-items:end;gap:56px}\n}\n.ccx .ccx-eyebrow{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ccx-o);margin-bottom:16px}\n.ccx .ccx-eyebrow .ccx-num{letter-spacing:.12em}\n.ccx .ccx-title{font-size:clamp(46px,8.4vw,92px);font-weight:800;line-height:.95;letter-spacing:-.025em;color:var(--ccx-w)}\n.ccx .ccx-title .ccx-num{font-weight:700;letter-spacing:-.045em}\n.ccx .ccx-sub{margin-top:18px;font-size:17px;color:rgba(255,255,255,.7);max-width:34ch}\n\n\/* Card \"prossimo appuntamento\" (vetro) *\/\n.ccx .ccx-next{\n position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 16px;\n padding:22px 22px 20px;border-radius:var(--ccx-r-lg);\n background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);\n -webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);\n box-shadow:0 20px 50px rgba(0,0,0,.35);min-height:170px\n}\n@media (min-width:640px){.ccx .ccx-next{padding:26px 28px 24px}}\n.ccx .ccx-next-head{grid-column:1;grid-row:1;margin-bottom:12px}\n.ccx .ccx-next-cd{grid-column:2;grid-row:1 \/ span 2;text-align:right;align-self:start}\n.ccx .ccx-next-cd b{display:block;font-family:var(--ccx-num);font-size:clamp(44px,6vw,60px);font-weight:700;line-height:.9;letter-spacing:-.04em;color:var(--ccx-o);font-variant-numeric:tabular-nums}\n.ccx .ccx-next-cd span{display:block;margin-top:6px;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}\n.ccx .ccx-next-body{grid-column:1;grid-row:2;min-width:0}\n.ccx .ccx-next-actions{grid-column:1 \/ -1;grid-row:3;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:20px}\n.ccx .ccx-next-label{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ccx-o)}\n.ccx .ccx-next-when{font-size:15px;font-weight:600;color:rgba(255,255,255,.82)}\n.ccx .ccx-next-what{margin-top:6px;font-size:clamp(22px,3vw,28px);font-weight:800;line-height:1.15;letter-spacing:-.01em}\n.ccx .ccx-next-meta{margin-top:8px;font-size:14px;color:rgba(255,255,255,.66)}\n.ccx .ccx-next-done{grid-column:1 \/ -1;font-size:18px;font-weight:600;line-height:1.4}\n.ccx .ccx-top .ccx-age{background:var(--ccx-w);color:var(--ccx-k)}\n.ccx .ccx-pulse{display:inline-block;width:8px;height:8px;border-radius:var(--ccx-dot);background:var(--ccx-o);box-shadow:0 0 0 0 rgba(239,124,51,.6);animation:ccxPulse 1.8s ease-out infinite}\n.ccx .ccx-pulse--still{animation:none;box-shadow:none}\n@keyframes ccxPulse{0%{box-shadow:0 0 0 0 rgba(239,124,51,.55)}70%{box-shadow:0 0 0 8px rgba(239,124,51,0)}100%{box-shadow:0 0 0 0 rgba(239,124,51,0)}}\n\n\/* ===================== Barra filtri (sticky) ===================== *\/\n.ccx .ccx-bar{\n position:-webkit-sticky;position:sticky;top:var(--ccx-top);z-index:30;color:var(--ccx-w);\n background:transparent;border-bottom:1px solid rgba(255,255,255,.09);padding:10px 0 0;\n transition:transform .3s var(--ccx-ease),background-color .3s\n}\n\/* quando la barra resta fissa sopra l'elenco diventa vetro scuro *\/\n.ccx.is-stuck .ccx-bar{\n background:rgba(10,10,10,.78);\n -webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%)\n}\n@media (max-width:959px){.ccx.is-compact .ccx-bar{transform:translateY(calc(-1 * var(--ccx-hide)))}}\n\n\/* contenitori scorrevoli con sfumatura ai bordi *\/\n.ccx .ccx-scroll{\n overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;\n margin:0 -14px;padding:0 14px;\n -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl,0px),#000 calc(100% - var(--fr,0px)),transparent 100%);\n mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl,0px),#000 calc(100% - var(--fr,0px)),transparent 100%)\n}\n.ccx .ccx-scroll::-webkit-scrollbar{display:none}\n@media (min-width:640px){.ccx .ccx-scroll{margin:0 -28px;padding:0 28px}}\n.ccx .ccx-track{position:relative;min-width:max-content}\n.ccx .ccx-items{position:relative;z-index:1;display:flex;align-items:flex-end}\n.ccx.ccx-noanim .ccx-thumb,.ccx.ccx-noanim .ccx-ink{transition:none}\n.ccx.ccx--mono .ccx-ink{background:var(--ccx-o)}\n\n\/* Date: striscia tipo calendario, senza riquadri *\/\n.ccx .ccx-day{position:relative;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:46px;padding:2px 0 8px;background:none;border:0;color:var(--ccx-w);transition:opacity .25s}\n.ccx .ccx-day-wd{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45);transition:color .25s}\n.ccx .ccx-day-n{display:grid;place-items:center;min-width:40px;height:40px;padding:0 9px;border-radius:var(--ccx-pill);font-family:var(--ccx-num);font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.88);transition:color .3s,background .25s}\n.ccx .ccx-day--all .ccx-day-n{font-size:14px;padding:0 12px}\n.ccx .ccx-day.is-sep{margin-left:14px}\n.ccx .ccx-day.is-sep::before{content:\"\";position:absolute;left:-7px;top:20px;height:22px;width:1px;background:rgba(255,255,255,.14)}\n.ccx .ccx-day.is-today .ccx-day-wd{color:var(--ccx-o)}\n.ccx .ccx-day.is-past .ccx-day-n{color:rgba(255,255,255,.42)}\n.ccx.is-over .ccx-day.is-past .ccx-day-n{color:rgba(255,255,255,.88)}\n.ccx .ccx-day:disabled{opacity:.25}\n.ccx .ccx-day[aria-pressed=\"true\"] .ccx-day-n{color:var(--ccx-k)}\n.ccx .ccx-day[aria-pressed=\"true\"] .ccx-day-wd{color:var(--ccx-w)}\n.ccx .ccx-day[aria-pressed=\"true\"].is-today .ccx-day-wd{color:var(--ccx-o)}\n@media (hover:hover){.ccx .ccx-day:not(:disabled):not([aria-pressed=\"true\"]):hover .ccx-day-n{background:rgba(255,255,255,.09);color:var(--ccx-w)}}\n.ccx .ccx-day:not(:disabled):active .ccx-day-n{transform:scale(.94)}\n.ccx .ccx-thumb{position:absolute;left:0;top:0;width:40px;height:40px;border-radius:var(--ccx-pill);background:var(--ccx-w);box-shadow:0 6px 18px rgba(0,0,0,.35);opacity:0;pointer-events:none;\n transition:transform .45s var(--ccx-ease),width .45s var(--ccx-ease),opacity .2s;will-change:transform}\n@media (min-width:960px){\n .ccx .ccx-days .ccx-track{min-width:0}\n .ccx .ccx-days .ccx-items{justify-content:space-between}\n .ccx .ccx-day{flex:1 1 0;min-width:0}\n .ccx .ccx-day-wd{font-size:12px}\n .ccx .ccx-day-n{font-size:24px;min-width:52px;height:52px}\n .ccx .ccx-day--all .ccx-day-n{font-size:16px;padding:0 14px}\n .ccx .ccx-thumb{height:52px}\n .ccx .ccx-day.is-sep{margin-left:0}\n .ccx .ccx-day.is-sep::before{left:0;top:30px;height:28px}\n}\n\n\/* Strumenti \/ tipi: schede di solo testo con linea arancio che scorre *\/\n.ccx .ccx-tabs{margin-top:2px}\n.ccx .ccx-tab{position:relative;flex:0 0 auto;display:inline-flex;align-items:baseline;gap:4px;margin-right:24px;padding:12px 0 13px;background:none;border:0;color:rgba(255,255,255,.55);font-size:14px;font-weight:600;letter-spacing:.005em;white-space:nowrap;transition:color .25s}\n.ccx .ccx-tab:last-child{margin-right:0}\n.ccx .ccx-tab small{font-family:var(--ccx-num);font-size:10px;font-weight:600;letter-spacing:0;opacity:.7;position:relative;top:-5px;font-variant-numeric:tabular-nums}\n.ccx .ccx-tab[aria-pressed=\"true\"]{color:var(--ccx-w)}\n.ccx .ccx-tab[aria-pressed=\"true\"] small{color:var(--ccx-o);opacity:1}\n.ccx .ccx-tab:disabled{color:rgba(255,255,255,.18)}\n@media (hover:hover){.ccx .ccx-tab:not(:disabled):not([aria-pressed=\"true\"]):hover{color:rgba(255,255,255,.9)}}\n.ccx .ccx-tab-sep{flex:0 0 1px;align-self:center;height:14px;margin:0 24px 0 0;background:rgba(255,255,255,.16)}\n@media (min-width:960px){\n \/* le voci si distribuiscono su tutta la larghezza; se non ci stanno, la riga scorre *\/\n .ccx .ccx-tabs .ccx-track{width:100%}\n .ccx .ccx-tabs .ccx-items{justify-content:space-between}\n .ccx .ccx-tab{font-size:15px;margin-right:12px;padding:14px 0 15px}\n .ccx .ccx-tab small{font-size:11px;top:-6px}\n .ccx .ccx-tab-sep{margin-right:12px;height:16px}\n}\n\/* il numerino di ogni filtro prende la tinta della categoria: fa da legenda per le card *\/\n.ccx .ccx-tab[style*=\"--c\"] small{color:var(--c);opacity:.9}\n.ccx .ccx-tab[style*=\"--c\"]:disabled small{opacity:.35}\n.ccx.ccx--mono .ccx-tab small{color:inherit;opacity:.7}\n.ccx.ccx--mono .ccx-tab[aria-pressed=\"true\"] small{color:var(--ccx-o);opacity:1}\n\/* desktop: se le voci non stanno in una riga vanno a capo (niente scorrimento laterale col mouse) *\/\n@media (min-width:960px){\n .ccx .ccx-tabs.is-wrap{overflow:visible;-webkit-mask-image:none;mask-image:none}\n .ccx .ccx-tabs.is-wrap .ccx-track{min-width:0}\n .ccx .ccx-tabs.is-wrap .ccx-items{flex-wrap:wrap;justify-content:flex-start}\n .ccx .ccx-tabs.is-wrap .ccx-tab,.ccx .ccx-tabs.is-wrap .ccx-tab-sep{margin-right:24px}\n .ccx .ccx-tabs.is-wrap .ccx-tab{padding:10px 0 11px}\n}\n.ccx .ccx-ink{position:absolute;left:0;top:0;height:2px;width:0;border-radius:var(--ccx-r-xs);background:var(--ink,var(--ccx-o));opacity:0;pointer-events:none;\n transition:transform .45s var(--ccx-ease),width .45s var(--ccx-ease),opacity .2s;will-change:transform}\n\n\/* ===================== Elenco ===================== *\/\n.ccx .ccx-body{position:relative;z-index:1;padding:16px 0 80px;background:var(--ccx-page)}\n.ccx.ccx--dark .ccx-body{background:transparent}\n@media (min-width:960px){.ccx .ccx-body{padding:20px 0 110px}}\n.ccx .ccx-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:12px 20px;margin-bottom:8px}\n\/* ricerca per insegnante *\/\n.ccx .ccx-tools{display:flex;margin:4px 0 14px}\n.ccx .ccx-search{position:relative;display:flex;align-items:center;width:100%;max-width:380px;margin:0}\n.ccx .ccx-search svg{position:absolute;left:15px;width:16px;height:16px;color:var(--ccx-text2);pointer-events:none}\n.ccx .ccx-search input{width:100%;height:46px;margin:0;padding:0 44px 0 42px;border:0;border-radius:var(--ccx-pill);background:var(--ccx-soft);color:var(--ccx-text);\n font-family:inherit;font-size:16px;font-weight:500;-webkit-appearance:none;appearance:none;outline:none;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .2s,background .2s}\n.ccx .ccx-search input::placeholder{color:var(--ccx-text2);opacity:1}\n.ccx .ccx-search input:focus{box-shadow:inset 0 0 0 1.5px var(--ccx-o)}\n.ccx .ccx-search input::-webkit-search-cancel-button,.ccx .ccx-search input::-webkit-search-decoration{-webkit-appearance:none;display:none}\n.ccx .ccx-search input::-webkit-calendar-picker-indicator{display:none!important;opacity:0}\n.ccx .ccx-search button{position:absolute;right:9px;display:none;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ccx-text2);font-size:20px;line-height:1}\n.ccx .ccx-search.has-value button{display:grid}\n@media (hover:hover){.ccx .ccx-search button:hover{background:var(--ccx-soft);color:var(--ccx-text)}}\n.ccx .ccx-ins li.is-hit,.ccx .ccx-band-who.is-hit{color:var(--ccx-text);font-weight:700;text-decoration:underline;text-decoration-color:var(--ccx-o);text-decoration-thickness:2px;text-underline-offset:3px}\n.ccx .ccx-status.is-empty{margin-bottom:0}\n.ccx .ccx-count{font-size:20px;font-weight:800;letter-spacing:-.01em;color:var(--ccx-text)}\n@media (min-width:640px){.ccx .ccx-count{font-size:24px}}\n.ccx .ccx-count .ccx-num{font-weight:700}\n.ccx .ccx-count span.ccx-ctx{font-weight:600;color:var(--ccx-text2)}\n.ccx .ccx-links{display:flex;flex-wrap:wrap;gap:8px}\n.ccx .ccx-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:0;border-radius:var(--ccx-pill);background:var(--ccx-pill-bg);color:var(--ccx-text);font-size:12px;font-weight:700;letter-spacing:.02em;box-shadow:var(--ccx-shadow);transition:background .2s,color .2s,transform .2s var(--ccx-ease)}\n.ccx .ccx-pill:active{transform:scale(.97)}\n@media (hover:hover){.ccx .ccx-pill:hover{background:var(--ccx-inv-bg);color:var(--ccx-inv-fg)}}\n.ccx .ccx-note{flex-basis:100%;display:flex;gap:12px;align-items:flex-start;padding:14px 18px;border-radius:var(--ccx-r-sm);background:var(--ccx-note);color:var(--ccx-text);font-size:14px;line-height:1.5}\n.ccx .ccx-note svg{flex:0 0 18px;width:18px;height:18px;margin-top:1px;color:var(--ccx-o)}\n.ccx .ccx-note a{font-weight:700;text-decoration:underline;text-decoration-color:var(--ccx-o);text-decoration-thickness:2px;text-underline-offset:3px}\n\n\/* Separatori fra un giorno e l'altro (vedi SEPARATORE nello script) *\/\n.ccx .ccx-group{padding-top:40px;color:var(--ccx-text)}\n.ccx .ccx-group:first-child{padding-top:28px}\n.ccx .ccx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}\n.ccx[data-sep=\"scorre\"] .ccx-group{padding-top:16px}\n@media (min-width:640px){.ccx[data-sep=\"scorre\"] .ccx-group{padding-top:18px}}\n\/* 'linea': etichetta piccola + linea sottile *\/\n.ccx .ccx-gl{display:flex;align-items:center;gap:16px;margin:0 0 24px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.2;color:var(--ccx-text2);white-space:nowrap}\n@media (min-width:960px){.ccx .ccx-gl{font-size:14px;margin-bottom:28px}}\n.ccx .ccx-gl::after{content:\"\";flex:1 1 auto;height:1px;background:var(--ccx-line)}\n.ccx .ccx-gl .ccx-num{font-weight:500;letter-spacing:.04em} \/* stesso colore del testo; Montserrat un gradino pi\u00f9 leggero *\/\n.ccx .ccx-gl b{font-weight:inherit}\n.ccx[data-sep=\"linea\"] .ccx-group{padding-top:56px}\n.ccx[data-sep=\"linea\"] .ccx-group:first-child{padding-top:32px}\n@media (min-width:960px){.ccx[data-sep=\"linea\"] .ccx-group{padding-top:72px}.ccx[data-sep=\"linea\"] .ccx-group:first-child{padding-top:40px}}\n\/* 'scorre': indicatore del giorno sotto la barra filtri *\/\n.ccx .ccx-float{position:-webkit-sticky;position:sticky;top:calc(var(--ccx-top) + var(--ccx-bar-h) + 12px);z-index:8;height:0;display:flex;justify-content:center;pointer-events:none;transition:top .3s var(--ccx-ease)}\n@media (max-width:959px){.ccx.is-compact .ccx-float{top:calc(var(--ccx-top) + var(--ccx-bar-h) - var(--ccx-hide) + 12px)}}\n.ccx .ccx-float-p{display:inline-block;padding:9px 16px 8px;border-radius:var(--ccx-pill);background:rgba(10,10,10,.72);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);box-shadow:0 0 0 1px rgba(255,255,255,.1),0 10px 30px rgba(0,0,0,.35);color:#fff;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;line-height:1.2;white-space:nowrap;opacity:0;transform:translateY(-8px) scale(.96);transition:opacity .3s,transform .35s var(--ccx-ease)}\n.ccx .ccx-float.is-on .ccx-float-p{opacity:1;transform:none}\n.ccx .ccx-float-p b{color:var(--ccx-o);font-weight:700}\n.ccx .ccx-float-p .ccx-num{letter-spacing:.04em}\n.ccx .ccx-float.is-on .ccx-float-p.is-swap{animation:ccxSwap .35s var(--ccx-ease)}\n@keyframes ccxSwap{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}\n\/* 'titolo': la data grande in maiuscolo *\/\n.ccx .ccx-gh{display:flex;align-items:center;flex-wrap:wrap;gap:6px 14px;margin:0 0 16px;font-size:clamp(15px,1.7vw,21px);line-height:1.2;letter-spacing:.14em;text-transform:uppercase;font-weight:500}\n.ccx .ccx-gh .ccx-num{font-weight:500;letter-spacing:.06em}\n.ccx .ccx-gh-date{white-space:nowrap}\n.ccx .ccx-gh-today{align-self:center;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:var(--ccx-o);color:var(--ccx-k);padding:5px 8px 4px;border-radius:var(--ccx-r-xs);line-height:1.2}\n\n\/* ===================== Card evento ===================== *\/\n.ccx .ccx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px}\n@media (min-width:640px){.ccx .ccx-grid{gap:24px}}\n.ccx .ccx-ev{\n position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;\n background:var(--ccx-card);color:var(--ccx-text);border-radius:var(--ccx-r);padding:20px 16px 18px;\n box-shadow:0 0 0 1px var(--ccx-card-line),var(--ccx-shadow);\n transition:transform .4s var(--ccx-ease),box-shadow .4s var(--ccx-ease),background .3s\n}\n@media (min-width:640px){.ccx .ccx-ev{padding-left:20px;padding-right:20px}}\n@media (hover:hover){.ccx .ccx-ev:not(.is-past):hover{transform:translateY(-4px);box-shadow:0 0 0 1px var(--ccx-card-line-hi),var(--ccx-shadow-hi)}}\n\n\/* tinta della categoria (con i colori spenti torna all'arancio Cluster) *\/\n.ccx .ccx-ev{--cc:var(--c,var(--ccx-o));--cc-soft:var(--c-soft,transparent);--cc-glow:var(--c-glow,var(--ccx-glow))}\n.ccx .ccx-ev{--cc-deep:var(--c-deep,var(--ccx-o))}\n.ccx.ccx--mono .ccx-ev{--cc:var(--ccx-o);--cc-deep:var(--ccx-o);--cc-soft:transparent;--cc-glow:var(--ccx-glow)}\n\n\/* livello di sfondo: giorno in filigrana + velo colorato nell'angolo + luce che segue il mouse *\/\n.ccx .ccx-ev-bg{position:absolute;inset:0;z-index:-1;border-radius:inherit;overflow:hidden;pointer-events:none}\n.ccx .ccx-ev-bg::before{content:\"\";position:absolute;inset:0;background:radial-gradient(340px circle at var(--mx,50%) var(--my,-20%),var(--cc-glow),transparent 62%);opacity:0;transition:opacity .35s}\n.ccx .ccx-ev-bg::after{content:\"\";position:absolute;inset:0;background:radial-gradient(120% 75% at 0% 0%,var(--cc-soft),transparent 62%)}\n@media (hover:hover){.ccx .ccx-ev:not(.is-past):hover .ccx-ev-bg::before{opacity:1}}\n.ccx .ccx-wm{position:absolute;top:10px;right:16px;display:flex;flex-direction:column;align-items:flex-end;color:var(--ccx-text)}\n.ccx .ccx-wm b{font-family:var(--ccx-num);font-size:96px;font-weight:800;line-height:.8;letter-spacing:-.06em;opacity:var(--ccx-wm)}\n.ccx:not(.ccx--mono) .ccx-ev[style*=\"--c:\"] .ccx-wm b{color:var(--cc);opacity:calc(var(--ccx-wm) * 1.7)}\n\n\/* testa della card, come le schede dei saggi: data, ore, fascia con il nome dell'evento *\/\n.ccx .ccx-ev-main{position:relative;container-type:inline-size;padding-bottom:18px}\n.ccx .ccx-date{font-size:21px;font-weight:700;line-height:1.15;letter-spacing:-.01em;color:var(--ccx-text);white-space:nowrap}\n@supports (font-size:1cqi){.ccx .ccx-date{font-size:clamp(16px,8.6cqi,24px)}}\n\/* Montserrat appare pi\u00f9 pesante di Raleway a parit\u00e0 di peso: un gradino sotto per uniformare *\/\n.ccx .ccx-date .ccx-num{font-weight:600;letter-spacing:-.02em}\n.ccx .ccx-ev-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin-top:4px;min-height:24px}\n.ccx .ccx-time{font-size:18px;font-weight:600;line-height:1.2;color:var(--ccx-text-ins)}\n.ccx .ccx-time .ccx-num{font-weight:500;letter-spacing:-.01em}\n.ccx .ccx-name{margin-top:12px;font-size:17px;font-weight:700;line-height:1.2;letter-spacing:0}\n@media (min-width:960px){.ccx .ccx-name{font-size:18px}}\n.ccx .ccx-label{display:inline-block;max-width:100%;white-space:nowrap;line-height:1.35;padding:4px 10px;border-radius:var(--ccx-r-xs);background:var(--cc,var(--ccx-o));color:var(--ccx-k);-webkit-box-decoration-break:clone;box-decoration-break:clone}\n.ccx[data-fascia=\"testo-bianco\"] .ccx-label{background:var(--cc-deep);color:#fff}\n.ccx[data-fascia=\"bianca\"] .ccx-label{background:#fff;color:var(--ccx-k)}\n.ccx[data-fascia=\"bianca\"]:not(.ccx--dark) .ccx-label{background:var(--ccx-page)}\n.ccx .ccx-label-t{display:inline-block}\n.ccx .ccx-label .ccx-sep{font-weight:400;opacity:.65;padding:0 .3em}\n.ccx .ccx-label .ccx-num{letter-spacing:0}\n.ccx .ccx-nota{margin-top:6px;font-size:14px;font-weight:600}\n.ccx .ccx-ins{display:grid;grid-template-columns:auto minmax(0,1fr);gap:0 6px;margin-top:12px;font-size:15px;font-weight:500;line-height:1.5;color:var(--ccx-text-ins)}\n.ccx .ccx-ins-l{color:var(--ccx-text2)}\n.ccx .ccx-ins ul{margin:0;padding:0;list-style:none}\n.ccx .ccx-ins li{margin:0;padding:0}\n\/* elenco delle band (Saggio-Concerto di Musica d'insieme) *\/\n.ccx .ccx-bands{margin-top:14px;clear:both}\n.ccx .ccx-bands ul{margin:0;padding:0;list-style:none}\n.ccx .ccx-bands li{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;margin:0;padding:8px 0;border-top:1px solid var(--ccx-line);font-size:14px;line-height:1.35}\n.ccx .ccx-bands li:first-child{border-top:0;padding-top:4px}\n.ccx .ccx-band-n{color:var(--ccx-text-ins)}\n.ccx .ccx-band-n b{font-weight:700;color:var(--ccx-text)}\n.ccx .ccx-band-i{color:var(--ccx-text-ins);font-size:13px}\n.ccx .ccx-band-l{color:var(--ccx-text2)}\n.ccx .ccx-place{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:13px;font-weight:700}\n.ccx .ccx-place svg{flex:0 0 15px;width:15px;height:15px;color:var(--cc,var(--ccx-o))} \/* stesso colore della fascia *\/\n.ccx .ccx-place small{font-size:13px;font-weight:500;color:var(--ccx-text2)}\n.ccx .ccx-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:14px;border-top:1px solid var(--ccx-line)}\n.ccx .ccx-act > *{flex:1 1 0;min-width:0}\n.ccx .ccx-act > .ccx-btn--wide{flex:1 1 100%;justify-content:center}\n\n\/* evento in evidenza: stella in filigrana in alto a destra, dietro al testo *\/\n.ccx .ccx-star{position:absolute;top:-14px;right:-18px;width:150px;height:150px;color:var(--cc);opacity:.16;transform:rotate(12deg)}\n.ccx .ccx-star svg{display:block;width:100%;height:100%}\n@media (min-width:960px){.ccx .ccx-star{width:170px;height:170px}}\n.ccx .ccx-act .ccx-btn,.ccx .ccx-act .ccx-cal > summary{width:100%;justify-content:center}\n\n.ccx .ccx-flag{display:inline-flex;align-items:center;gap:7px;padding:5px 9px 4px;border-radius:var(--ccx-r-xs);background:var(--ccx-soft);color:var(--ccx-text);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1.2;white-space:nowrap}\n.ccx .ccx-flag--live{background:var(--ccx-flag-live)}\n.ccx .ccx-flag--live .ccx-pulse{width:7px;height:7px}\n\n.ccx .ccx-ev.is-past{background:var(--ccx-past);box-shadow:0 0 0 1px var(--ccx-card-line)}\n.ccx .ccx-ev.is-past > *{opacity:.45}\n.ccx.is-over .ccx-ev.is-past{background:var(--ccx-card);box-shadow:0 0 0 1px var(--ccx-card-line),var(--ccx-shadow)}\n.ccx.is-over .ccx-ev.is-past > *{opacity:1}\n.ccx .ccx-ev.is-flash{animation:ccxFlash 1.8s var(--ccx-ease)}\n@keyframes ccxFlash{0%,40%{box-shadow:0 0 0 3px var(--ccx-o),0 18px 44px rgba(239,124,51,.3);transform:scale(1.015)}100%{transform:none}}\n\n\/* ===================== Pulsanti ===================== *\/\n.ccx .ccx-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:0;border-radius:var(--ccx-pill);background:var(--ccx-soft);color:var(--ccx-soft-fg);font-size:13px;font-weight:700;letter-spacing:.01em;white-space:nowrap;list-style:none;cursor:pointer;user-select:none;-webkit-user-select:none;transition:background .2s,color .2s,transform .2s var(--ccx-ease)}\n.ccx .ccx-btn svg{width:16px;height:16px;flex:0 0 auto}\n.ccx .ccx-btn:active{transform:scale(.97)}\n@media (hover:hover){.ccx .ccx-btn:hover{background:var(--ccx-inv-bg);color:var(--ccx-inv-fg)}}\n.ccx .ccx-btn--fill{background:var(--ccx-o);color:var(--ccx-k)}\n@media (hover:hover){.ccx .ccx-btn--fill:hover{background:var(--ccx-w);color:var(--ccx-k)}}\n.ccx .ccx-top .ccx-btn:not(.ccx-btn--fill){background:rgba(255,255,255,.12);color:var(--ccx-w)}\n@media (hover:hover){.ccx .ccx-top .ccx-btn:not(.ccx-btn--fill):hover{background:var(--ccx-w);color:var(--ccx-k)}}\n.ccx .ccx-link{background:none;border:0;padding:0;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ccx-w);text-decoration:underline;text-decoration-color:var(--ccx-o);text-decoration-thickness:2px;text-underline-offset:5px}\n\n\/* Menu calendario (popover) *\/\n.ccx .ccx-cal{position:relative}\n.ccx .ccx-ev.has-menu{z-index:6}\n.ccx .ccx-cal > summary::-webkit-details-marker{display:none}\n.ccx .ccx-cal > summary::marker{content:\"\"}\n.ccx .ccx-cal[open] > summary{background:var(--ccx-inv-bg);color:var(--ccx-inv-fg)}\n.ccx .ccx-top .ccx-cal[open] > summary{background:var(--ccx-w);color:var(--ccx-k)}\n.ccx .ccx-cal-menu{\n position:absolute;z-index:40;top:calc(100% + 8px);right:0;min-width:240px;padding:6px;\n background:var(--ccx-menu);color:var(--ccx-text);border-radius:var(--ccx-r-sm);\n -webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);\n box-shadow:0 0 0 1px var(--ccx-menu-line),0 18px 50px rgba(0,0,0,.3);\n transform-origin:top center;animation:ccxPop .22s var(--ccx-ease)\n}\n.ccx .ccx-act .ccx-cal-menu{left:0;right:0;min-width:0}\n.ccx .ccx-top .ccx-cal-menu{right:auto;left:0;transform-origin:top left}\n.ccx .ccx-cal-menu a{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:max(0px,calc(var(--ccx-r-sm) - 4px));font-size:14px;font-weight:600}\n.ccx .ccx-cal-menu a svg{width:16px;height:16px;flex:0 0 16px;color:var(--ccx-o)}\n.ccx .ccx-cal-menu a:hover{background:var(--ccx-menu-hover)}\n@keyframes ccxPop{from{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:none}}\n\n\/* Stato vuoto *\/\n.ccx .ccx-empty{margin-top:28px;padding:48px 24px;text-align:center;background:var(--ccx-card);color:var(--ccx-text);border-radius:var(--ccx-r);box-shadow:0 0 0 1px var(--ccx-card-line),var(--ccx-shadow)}\n.ccx .ccx-empty p{font-size:18px;font-weight:700;margin-bottom:18px}\n\n\/* Entrata delle card (backwards: dopo l'animazione torna valido l'hover) *\/\n.ccx .ccx-in{animation:ccxIn .55s var(--ccx-ease) backwards;animation-delay:calc(var(--i,0) * 28ms)}\n@keyframes ccxIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}\n\n\/* ===================== Vista centrata su telefono ===================== *\/\n.ccx .ccx-ins-x{display:none}\n@media (max-width:639px){\n .ccx.ccx--mcenter .ccx-ev{text-align:center}\n .ccx.ccx--mcenter .ccx-ev-top,.ccx.ccx--mcenter .ccx-place{justify-content:center}\n .ccx.ccx--mcenter .ccx-ins{display:block}\n .ccx.ccx--mcenter .ccx-ins-l{display:block;margin-bottom:2px;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}\n .ccx.ccx--mcenter .ccx-ins-s{display:none}\n .ccx.ccx--mcenter .ccx-ins-x{display:inline}\n .ccx.ccx--mcenter .ccx-bands li{flex-direction:column;align-items:center;gap:1px}\n .ccx.ccx--mcenter .ccx-status{justify-content:center;text-align:center}\n .ccx.ccx--mcenter .ccx-links{justify-content:center}\n .ccx.ccx--mcenter .ccx-tools{justify-content:center}\n .ccx.ccx--mcenter .ccx-gl::before{content:\"\";flex:1 1 auto;height:1px;background:var(--ccx-line)}\n .ccx.ccx--mcenter .ccx-note{text-align:left}\n}\n\n\/* ===================== Widget \"Hai dei dubbi?\" =====================\n agganciato al dallo script, visibile solo mentre il visualizzatore \u00e8 sullo schermo *\/\n.ccx-help{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:970;\n display:inline-flex;align-items:center;gap:9px;padding:7px 15px 7px 7px;border-radius:999px;\n background:rgba(10,10,10,.86);-webkit-backdrop-filter:blur(16px) saturate(180%);backdrop-filter:blur(16px) saturate(180%);\n box-shadow:0 0 0 1px rgba(255,255,255,.14),0 10px 28px rgba(0,0,0,.35);\n font-family:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:13px;font-weight:600;line-height:1;letter-spacing:.01em;\n color:#fff!important;text-decoration:none!important;\n opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1),background .2s}\n.ccx-help.is-on{opacity:1;transform:none;pointer-events:auto}\n.ccx-help i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#EF7C33;color:#0A0A0A;\n font-family:'Montserrat','Raleway',sans-serif;font-style:normal;font-size:13px;font-weight:700}\n.ccx-help:focus-visible{outline:2px solid #EF7C33;outline-offset:3px}\n@media (hover:hover){.ccx-help:hover{background:#0A0A0A}}\n@media (min-width:960px){.ccx-help{right:28px;bottom:28px;font-size:14px;padding:8px 17px 8px 8px}.ccx-help i{width:26px;height:26px}}\n\n@media (prefers-reduced-motion:reduce){\n .ccx-help{transition:none}\n .ccx *,.ccx *::before{animation:none!important;transition:none!important}\n}\n\n\n\n(function () {\n 'use strict';\n var root = document.getElementById('ccx');\n if (!root || root.getAttribute('data-ready')) return;\n root.setAttribute('data-ready', '1');\n\n \/* =====================================================================\n CONFIGURAZIONE\n ===================================================================== *\/\n var ANNO = 2026;\n var SEDE = 'Scuola di Musica Cluster, via Mos\u00e8 Bianchi 96, Milano';\n var TESTO_CALENDARIO = 'Aggiungi al calendario';\n\n \/\/ Neve che cade sullo sfondo (si ferma da sola se il visitatore ha attivato \"riduci movimento\")\n var NEVE = false;\n var NEVE_QUANTITA = 1; \/\/ 0.5 = met\u00e0 fiocchi, 2 = il doppio\n\n \/\/ Numero del giorno in filigrana nelle card\n var FILIGRANA = false;\n\n \/\/ Come separare un giorno dall'altro nell'elenco:\n \/\/ 'linea' = etichetta piccola e linea sottile\n \/\/ 'scorre' = nessun separatore; mentre scorri, sotto la barra filtri compare il giorno che stai guardando\n \/\/ 'titolo' = la data grande in maiuscolo (versione precedente)\n var SEPARATORE = 'linea';\n\n \/\/ Fascia con il nome dell'evento (\"Saggio di Canto | under 18\"):\n \/\/ 'testo-bianco' = colore pieno della categoria con testo bianco (come le schede dell'anno scorso)\n \/\/ 'testo-nero' = tinta chiara della categoria con testo nero\n \/\/ 'bianca' = fascia bianca con testo nero\n var FASCIA = 'testo-bianco';\n\n \/\/ Widget sottile in basso a destra, visibile solo mentre si guarda il visualizzatore ('' = nessun widget)\n var DUBBI = { testo: 'Hai dei dubbi?', url: '#info' };\n\n \/\/ Su telefono (schermi sotto i 640px) il contenuto delle card \u00e8 centrato\n var MOBILE_CENTRATO = false;\n\n \/\/ nome = come compare sul sito (se manca, quello scritto in EVENTI) \u00b7 nota = testo piccolo accanto al nome del luogo\n var LUOGHI = {\n 'Auditorium': { nome: 'Auditorium Cluster', indirizzo: SEDE },\n 'Sala BETA': { indirizzo: SEDE },\n 'Aula I': { indirizzo: SEDE },\n 'Teatro PIME': { indirizzo: 'Teatro PIME, Milano' }\n };\n\n \/\/ Colori delle categorie: true = ogni categoria ha una sua tinta tenue, false = tutto in arancio Cluster\n var COLORI_CATEGORIE = true;\n\n \/\/ Ordine dei filtri. label = nome completo, breve = testo nella barra filtri (se manca usa label)\n \/\/ colore = tinta chiara della categoria \u00b7 scuro = la stessa tinta pi\u00f9 profonda (fascia con testo bianco)\n \/\/ sep: true = linea di separazione prima del filtro\n \/\/ filtro: id di un altro filtro in cui la categoria compare (niente pulsante suo; la scheda resta con i suoi colori)\n var CATEGORIE = [\n { id: 'canto', label: 'Canto', colore: '#E495BA', scuro: '#AE5A84' },\n { id: 'pianoforte', label: 'Pianoforte', colore: '#7CB6F1', scuro: '#3C7EBE' },\n { id: 'chitarra', label: 'Chitarra', colore: '#D4AA60', scuro: '#9F7100' },\n { id: 'batteria', label: 'Batteria', colore: '#EC968F', scuro: '#B75B55' },\n { id: 'basso', label: 'Basso', colore: '#B6A4ED', scuro: '#806AB9' },\n { id: 'violino', label: 'Violino', colore: '#75C59B', scuro: '#228F61' },\n { id: 'fiati', label: 'Fiati', colore: '#57C3CF', scuro: '#008D9C' },\n { id: 'cori', label: 'Cori adulti', colore: '#CF9BDB', scuro: '#9961A6', sep: true },\n { id: 'gospel', label: 'Gospel Christmas', colore: '#EF7C33', scuro: '#EF7C33', breve: 'Gospel', filtro: 'cori' },\n { id: 'insieme', label: 'Musica d\\'insieme', colore: '#9CBE7A', scuro: '#628835' },\n { id: 'teen', label: 'Coro Pop Teen', colore: '#62C5B9', scuro: '#009084', breve: 'Coro Teen', sep: true },\n { id: 'teoria', label: 'Teoria-Coro bambini', colore: '#68BDE4', scuro: '#0086B3', breve: 'Teoria-Coro' }\n ];\n\n \/\/ Nota \"da sapere\" mostrata sopra l'elenco quando si sceglie un filtro ('' = nessuna nota)\n var INGRESSO_LIBERO = 'Ingresso libero, senza prenotazione. Chiediamo al pubblico di arrivare 5 minuti prima dell\u2019inizio.';\n var LEZIONE_APERTA = 'Ingresso libero. L\u2019orario segnato \u00e8 quello di ingresso del pubblico, la lezione inizia mezz\u2019ora prima.';\n \/\/ Nota mostrata con il filtro \"Tutti\" ('' = nessuna nota)\n var NOTA_TUTTI = 'Per i saggi individuali e i Saggi-Concerto chiediamo al pubblico di arrivare 5 minuti prima dell\u2019inizio. Per le lezioni aperte l\u2019orario segnato \u00e8 quello di ingresso del pubblico.';\n var NOTE = {\n canto: INGRESSO_LIBERO, pianoforte: INGRESSO_LIBERO, chitarra: INGRESSO_LIBERO, batteria: INGRESSO_LIBERO,\n basso: INGRESSO_LIBERO, violino: INGRESSO_LIBERO, fiati: INGRESSO_LIBERO,\n cori: 'Saggi-Concerto a ingresso libero, senza prenotazione: chiediamo al pubblico di arrivare 5 minuti prima dell\u2019inizio. Il Gospel Christmas \u00e8 al Teatro PIME, con biglietto.',\n teen: LEZIONE_APERTA, teoria: LEZIONE_APERTA,\n gospel: 'Al Teatro PIME, con biglietto. Due repliche domenica 13 dicembre, alle 17:00 e alle 20:30.',\n insieme: INGRESSO_LIBERO\n };\n\n \/\/ Eventi in evidenza: stella in filigrana sulla scheda + pulsante arancione in fondo\n \/\/ url = dove porta il pulsante (una pagina, oppure '#id' per una sezione di questa pagina)\n var EVIDENZA = {\n gospel: { bottone: 'Scopri di pi\u00f9', url: 'https:\/\/www.scuoladimusicacluster.it\/iniziative-2026\/gospel-christmas-2026.html' }\n };\n\n \/\/ Pulsante extra (scuro) sugli eventi di una categoria, compare solo se url non \u00e8 vuoto\n \/\/ esempio: insieme: { label: 'Info', url: 'https:\/\/...' }\n var LINK = {};\n\n \/* =====================================================================\n EVENTI\n giorno | ora | luogo | categoria (id sopra) | tipo | titolo | et\u00e0 o dettaglio (va nella fascia dopo \"|\") | nota | insegnanti | durata in minuti (per il calendario)\n Le righe che iniziano con # sono ignorate.\n ===================================================================== *\/\n var EVENTI = `\n09\/12 | 19:30 | Sala BETA | pianoforte | Saggio | Pianoforte | under 18 | | Massimiliano Teora | 50\n09\/12 | 20:00 | Auditorium | canto | Saggio | Canto | over 20 | | Claudia Cantisani | 90\n09\/12 | 21:15 | Sala BETA | pianoforte | Saggio | Pianoforte | over 18 | | Massimiliano Teora | 60\n10\/12 | 19:15 | Sala BETA | pianoforte | Saggio | Pianoforte | | | Jenny De Noni, Mihai Falcoe, Roberto Franca | 80\n10\/12 | 20:00 | Auditorium | canto | Saggio | Canto | | | Francesca Carbonelli (under 18), Milena Paris (under 18), Alessandra Chichi | 80\n11\/12 | 18:30 | Auditorium | canto | Saggio | Canto | under 16 | | Grace Lintas, Simona Bovino | 80\n11\/12 | 19:30 | Sala BETA | pianoforte | Saggio | Pianoforte | | | Tatiana Larionova, Diego Petrella, Yevgeni Galanov | 80\n11\/12 | 20:15 | Aula I | chitarra | Saggio | Chitarra | | | Antonello Fiamma | 80\n11\/12 | 21:00 | Auditorium | canto | Saggio | Canto | over 16 | | Grace Lintas, Simona Bovino | 80\n12\/12 | 14:00 | Auditorium | canto | Saggio | Canto | over 18 | | Federica Vanacore, Enrico Scanu | 80\n12\/12 | 14:00 | Aula I | chitarra | Saggio | Chitarra | | | Francesco Tolomio | 70\n12\/12 | 14:15 | Sala BETA | pianoforte | Saggio | Pianoforte | | | Alberto Meloni, Diego Petrella | 80\n12\/12 | 16:15 | Sala BETA | pianoforte | Saggio | Pianoforte | | | Natalija Tasic Gashi | 80\n12\/12 | 16:30 | Auditorium | canto | Saggio | Canto | under 18 | | Federica Vanacore, Enrico Scanu | 80\n12\/12 | 16:30 | Aula I | chitarra | Saggio | Chitarra | | | Vincenzo Angrisani | 80\n12\/12 | 18:45 | Aula I | chitarra | Saggio | Chitarra | | | Giuseppe Panagia | 70\n12\/12 | 18:45 | Sala BETA | pianoforte | Saggio | Pianoforte | | | Alberto Dipace | 80\n12\/12 | 19:00 | Auditorium | canto | Saggio | Canto | over 18 | | Francesca Carbonelli, Milena Paris | 80\n13\/12 | 11:00 | Auditorium | canto | Saggio | Canto | under 20 | | Claudia Cantisani | 80\n13\/12 | 11:30 | Sala BETA | violino | Saggio | Violino | | | Ilze Circene, Martino Pellegrini | 80\n13\/12 | 11:30 | Aula I | fiati | Saggio | Fiati | | | Gabriela Clelia Cuna, Moreno Falciani, Valentino Finoli | 80\n13\/12 | 14:30 | Auditorium | canto | Saggio | Canto | | | Luca Damerini | 80\n13\/12 | 14:45 | Sala BETA | pianoforte | Saggio | Pianoforte | | | Giacinto Livia, Alessandro Dilorenzo, Emiliano Blangero | 80\n13\/12 | 15:45 | Aula I | chitarra | Saggio | Chitarra | | | Dario Spezia, Gabriele Cento, Andrea Montalbano | 80\n13\/12 | 17:00 | Teatro PIME | gospel | Concerto | Gospel Christmas | Prima Replica | ClusterGospelChoir | Piero Basilico | 90\n13\/12 | 17:15 | Sala BETA | pianoforte | Saggio | Pianoforte | over 19 | | Felice Del Vecchio, Andrea Rapisarda | 80\n13\/12 | 17:30 | Auditorium | batteria | Saggio | Batteria | under 16 | | Luca Pegorari, Mauro Sansone, Marco Falcon | 80\n13\/12 | 18:15 | Aula I | chitarra | Saggio | Chitarra | | | Giuliano Dottori, Paco Martucci | 80\n13\/12 | 19:15 | Auditorium | batteria | Saggio | Batteria | over 16 | | Luca Pegorari, Mauro Sansone, Marco Falcon | 80\n13\/12 | 19:30 | Sala BETA | pianoforte | Saggio | Pianoforte | under 19 | | Felice Del Vecchio, Andrea Rapisarda | 80\n13\/12 | 20:30 | Teatro PIME | gospel | Concerto | Gospel Christmas | Seconda Replica | ClusterGospelChoir | Piero Basilico | 90\n14\/12 | 17:30 | Aula I | teoria | Lezione aperta | Teoria-Coro 1 | | Corso del luned\u00ec, ore 17:00 | Paola Dell'Erba | 25\n14\/12 | 17:30 | Auditorium | teen | Lezione aperta | Coro Pop Teen | | Corso del luned\u00ec, ore 17:00 | Sergio Rao | 25\n14\/12 | 18:30 | Aula I | teoria | Lezione aperta | Teoria-Coro 2 | | Corso del luned\u00ec, ore 18:00 | Paola Dell'Erba | 25\n14\/12 | 19:45 | Aula I | basso | Saggio | Basso | | | Andrea Dominoni, Linda Pinelli, Raffaele Trapasso | 70\n14\/12 | 21:15 | Auditorium | cori | Saggio-Concerto | Cori Pop | | | Paola Dell'Erba e Vicky Schaetzinger | 60\n15\/12 | 17:30 | Aula I | teoria | Lezione aperta | Teoria-Coro 1 | | Corso del marted\u00ec, ore 17:00 | Paola Dell'Erba | 25\n15\/12 | 18:30 | Aula I | teoria | Lezione aperta | Teoria-Coro 2 | | Corso del marted\u00ec, ore 18:00 | Paola Dell'Erba | 25\n15\/12 | 21:15 | Auditorium | cori | Saggio-Concerto | Cori Musical e Gospel | | | Alberto Meloni, Claudia Cantisani | 60\n16\/12 | 17:30 | Aula I | teoria | Lezione aperta | Teoria-Coro 2 | | Corso del mercoled\u00ec, ore 17:00 | Milena Paris | 25\n16\/12 | 18:30 | Aula I | teoria | Lezione aperta | Teoria-Coro 1 | | Corso del mercoled\u00ec, ore 18:00 | Milena Paris | 25\n16\/12 | 19:15 | Auditorium | canto | Saggio | Canto | | | Francesca Tour\u00e9, Cristina Mascolo, Paola Dell'Erba | 80\n16\/12 | 21:30 | Auditorium | cori | Saggio-Concerto | Cori Gospel | | | Piero Basilico | 50\n17\/12 | 17:30 | Aula I | teoria | Lezione aperta | Teoria-Coro 1 | | Corso del gioved\u00ec, ore 17:00 | Giacinto Livia | 25\n17\/12 | 17:30 | Auditorium | teen | Lezione aperta | Coro Pop Teen | | Corso del gioved\u00ec, ore 17:00 | Alberto Meloni | 25\n17\/12 | 18:30 | Aula I | teoria | Lezione aperta | Teoria-Coro 2 | | Corso del gioved\u00ec, ore 18:00 | Giacinto Livia | 25\n17\/12 | 18:30 | Auditorium | teen | Lezione aperta | Coro Pop Teen | | Corso del gioved\u00ec, ore 18:00 | Alberto Meloni | 25\n17\/12 | 21:15 | Auditorium | cori | Saggio-Concerto | Cori Swing e Pop | | | Alberto Meloni, Claudia Cantisani e Felice Del Vecchio | 60\n18\/12 | 17:30 | Aula I | teoria | Lezione aperta | Teoria-Coro 1 | | Corso del venerd\u00ec, ore 17:00 | Giacinto Livia | 25\n18\/12 | 17:30 | Auditorium | teen | Lezione aperta | Coro Pop Teen | | Corso del venerd\u00ec, ore 17:00 | Alberto Meloni | 25\n18\/12 | 18:30 | Aula I | teoria | Lezione aperta | Teoria-Coro 2 | | Corso del venerd\u00ec, ore 18:00 | Giacinto Livia | 25\n18\/12 | 18:30 | Auditorium | teen | Lezione aperta | Coro Pop Teen | | Corso del venerd\u00ec, ore 18:00 | Alberto Meloni | 25\n19\/12 | 15:45 | Auditorium | insieme | Saggio-Concerto | Musica d'insieme | | Parte 1 | | 60\n19\/12 | 19:00 | Auditorium | insieme | Saggio-Concerto | Musica d'insieme | | Parte 2 | | 80\n20\/12 | 11:45 | Auditorium | insieme | Saggio-Concerto | Musica d'insieme | | Parte 3 | | 60\n20\/12 | 16:00 | Auditorium | insieme | Saggio-Concerto | Musica d'insieme | | Parte 4 | | 70\n20\/12 | 19:00 | Auditorium | insieme | Saggio-Concerto | Musica d'insieme | | Parte 5 | | 75\n`;\n\n \/* =====================================================================\n BAND del Saggio-Concerto di Musica d'insieme\n giorno | ora (= ora dell'evento in EVENTI) | livello | corso (giorno e ora della lezione) | insegnante\n Ogni band compare nella card dell'evento con lo stesso giorno e la stessa ora,\n ordinata da sola per giorno e ora della lezione settimanale (lun \u2192 dom): l'ordine delle righe qui non conta.\n ===================================================================== *\/\n var BAND = `\n19\/12 | 15:45 | Base | mer 18:00 | Giuliano Dottori\n19\/12 | 15:45 | Base | gio 17:00 | Felice Del Vecchio\n19\/12 | 15:45 | Base | mer 17:00 | Giuliano Dottori\n19\/12 | 19:00 | Base\/Int. | gio 20:00 | Felice Del Vecchio\n19\/12 | 19:00 | Int.\/Av. | mar 20:00 | Antonello Fiamma\n19\/12 | 19:00 | Int.\/Av. | gio 19:00 | Felice Del Vecchio\n20\/12 | 11:45 | Initial | gio 18:00 | Felice Del Vecchio\n20\/12 | 11:45 | Initial\/Base | mar 16:00 | Paco Martucci\n20\/12 | 11:45 | Initial | lun 18:00 | Giuseppe Panagia\n20\/12 | 11:45 | Base | mar 17:00 | Antonello Fiamma\n# 20\/12 | 11:45 | ... | ... | ... 2 ? '28px' : '0px');\n sc.style.setProperty('--fr', sc.scrollLeft < max - 2 ? '28px' : '0px');\n }\n\n \/\/ --- Render: elenco ---\n function cardHTML(e, i, animate) {\n var st = status(e);\n var l = LUOGHI[e.luogo] || {};\n var link = LINK[e.cat];\n var ev = EVIDENZA[e.cat];\n var flag = st === 'live' ? 'In corso'\n : (st === 'past' && !isOver() ? 'Concluso' : '');\n var act = '';\n if (st !== 'past') {\n act = (ev ? '' + esc(ev.bottone) + '' : '') + calHTML(e);\n if (link && link.url) act += '' + esc(link.label) + '';\n }\n return '' +\n '' + (FILIGRANA ? '' + e.d + '' : '') + (ev ? ICON_STAR : '') + '' +\n '' +\n '' + t(cap(dayLong(e.key))) + '' +\n '' + t('ore ' + e.ora) + '' + flag + '' +\n '' + barHTML(e) + '' +\n (e.nota ? '' + t(e.nota) + '' : '') +\n (e.band && e.band.length ? '' +\n e.band.map(function (b) {\n return '' + esc(b.livello) + ' \u00b7 ' + t(b.corso) + 'Ins. ' + esc(b.ins) + '';\n }).join('') + '' : '') +\n (e.insList.length ? 'Ins.' +\n (e.insList.length > 1 ? 'Insegnanti' : 'Insegnante') + '' +\n e.insList.map(function (n) { return '' + t(n) + ''; }).join('') + '' : '') +\n '' + ICON_PIN + '' + esc(l.nome || e.luogo) + (l.nota ? ' \u00b7 ' + esc(l.nota) + '' : '') + '' +\n '' +\n (act ? '' + act + '' : '') +\n '';\n }\n\n function renderList(animate) {\n var over = isOver();\n root.classList.toggle('is-over', over);\n var filtered = events.filter(matchAll);\n var canHidePast = state.day === 'all' && !over;\n var pastN = canHidePast ? filtered.filter(function (e) { return status(e) === 'past'; }).length : 0;\n var shown = (canHidePast && !state.showPast) ? filtered.filter(function (e) { return status(e) !== 'past'; }) : filtered;\n\n \/\/ riga di stato\n var ctx = [];\n if (state.cat !== 'all') ctx.push(catById[state.cat].label);\n if (state.day !== 'all') ctx.push(dayLong(state.day));\n if (state.q) ctx.push('insegnante: ' + state.q);\n var links = '';\n if (pastN) links += '' + esc(state.showPast ? 'Nascondi gli eventi conclusi' : 'Mostra anche gli eventi conclusi') + '';\n if (state.cat !== 'all' || state.day !== 'all' || state.q) links += 'Azzera filtri';\n var note = state.cat !== 'all' ? NOTE[state.cat] : NOTA_TUTTI;\n var evc = EVIDENZA[state.cat];\n var lk = LINK[state.cat] || (evc && evc.url ? { label: evc.bottone, url: evc.url } : null);\n var noteHTML = (note || (lk && lk.url))\n ? '' + ICON_INFO + '' + t(note || '') + (lk && lk.url ? (note ? ' ' : '') + '' + esc(lk.label) + ' \u2192' : '') + ''\n : '';\n \/\/ il conteggio non si vede: resta solo per i lettori di schermo\n el.status.innerHTML = '' + esc(plural(shown.length, 'appuntamento', 'appuntamenti') + (ctx.length ? ' \u00b7 ' + ctx.join(' \u00b7 ') : '')) + '' +\n (links ? '' + links + '' : '') + noteHTML;\n el.status.classList.toggle('is-empty', !links && !noteHTML);\n\n if (!shown.length) {\n el.list.innerHTML = '' + (filtered.length ? 'Gli appuntamenti di questa selezione si sono conclusi.' : 'Nessun appuntamento con questi filtri.') + '' +\n (filtered.length ? 'Mostrali comunque' : 'Azzera filtri') + '';\n return;\n }\n\n var today = romeKey(now());\n var html = '', idx = 0;\n days.forEach(function (k) {\n var rows = shown.filter(function (e) { return e.key === k; });\n if (!rows.length) return;\n var i = dayInfo[k];\n var head = '';\n if (SEPARATORE === 'titolo') {\n head = '' + t(cap(dayLong(k))) + '' +\n (k === today ? 'Oggi' : '') + '';\n } else if (SEPARATORE === 'linea') {\n head = '' + (k === today ? 'Oggi \u00b7 ' : '') + t(dayLong(k)) + '';\n } else {\n head = '' + esc(dayLong(k)) + ''; \/\/ solo per lettori di schermo\n }\n html += '' + head +\n '' + rows.map(function (e) { return cardHTML(e, idx++, animate); }).join('') + '';\n });\n el.list.innerHTML = (SEPARATORE === 'scorre' ? '' : '') + html;\n floatDay = null;\n }\n\n \/\/ la fascia \"Saggio di \u2026\" resta sempre su una riga: se non ci sta, il testo si rimpicciolisce quel tanto che basta\n \/\/ (si misura solo il testo, cos\u00ec il margine interno a destra resta uguale a quello a sinistra)\n \/\/ se il testo cambia larghezza dopo (font del sito arrivati in ritardo), la fascia si ricalcola da sola\n var labelRO = ('ResizeObserver' in window) ? new ResizeObserver(function (entries) {\n entries.forEach(function (en) {\n var lb = en.target.parentNode;\n fitLabel(lb);\n \/\/ ricontrollo al fotogramma dopo: il font pu\u00f2 cambiare proprio mentre si misura\n window.requestAnimationFrame(function () { fitLabel(lb); });\n });\n }) : null;\n function fitLabels() {\n if (labelRO) labelRO.disconnect();\n Array.prototype.forEach.call(el.list.querySelectorAll('.ccx-label'), function (lb) {\n fitLabel(lb);\n if (labelRO) labelRO.observe(lb.firstChild);\n });\n }\n function fitLabel(lb) {\n (function () {\n var txt = lb.firstChild;\n lb.style.fontSize = '';\n var cs = getComputedStyle(lb);\n var avail = lb.parentNode.clientWidth - parseFloat(cs.paddingLeft) - parseFloat(cs.paddingRight) - 4; \/\/ 4px di margine di sicurezza\n var tw = txt.getBoundingClientRect().width;\n if (!avail || tw 11 && txt.getBoundingClientRect().width > avail; k++) {\n size -= 0.25;\n lb.style.fontSize = size + 'px';\n }\n })();\n }\n\n function render(animate) {\n renderHead();\n renderNext();\n renderDays();\n renderCats();\n fitTabs();\n renderList(animate);\n fitLabels();\n measure();\n placeIndicators(!animate);\n updateFades(el.daysScroll);\n updateFades(el.catsScroll);\n }\n\n \/\/ --- URL condivisibile ---\n function syncUrl() {\n if (!window.history || !history.replaceState) return;\n var p = new URLSearchParams(window.location.search);\n if (state.cat === 'all') p.delete('cc'); else p.set('cc', state.cat);\n if (state.q) p.set('ins', state.q); else p.delete('ins');\n if (state.day === 'all') p.delete('giorno'); else p.set('giorno', String(dayInfo[state.day].d));\n var qs = p.toString();\n history.replaceState(history.state, '', window.location.pathname + (qs ? '?' + qs : '') + window.location.hash);\n }\n\n \/\/ --- Misure e barra sticky ---\n var stickies = [];\n function findStickies() {\n stickies = Array.prototype.slice.call(document.querySelectorAll('[uk-sticky],[data-uk-sticky],.uk-sticky')).filter(function (n) { return !root.contains(n); });\n }\n var topOffset = 0;\n function updateTop() {\n var manual = root.getAttribute('data-top');\n var v = 0;\n if (manual !== null && manual !== '') v = parseInt(manual, 10) || 0;\n else {\n stickies.forEach(function (n) {\n if (!n.classList.contains('uk-sticky-fixed') && !n.classList.contains('uk-active')) return;\n if (getComputedStyle(n).position !== 'fixed') return;\n var r = n.getBoundingClientRect();\n if (r.top v && r.height < window.innerHeight \/ 2) v = r.bottom;\n });\n }\n v = Math.max(0, Math.round(v));\n if (v !== topOffset) { topOffset = v; root.style.setProperty('--ccx-top', v + 'px'); }\n }\n function measure() {\n root.style.setProperty('--ccx-bar-h', el.bar.offsetHeight + 'px');\n root.style.setProperty('--ccx-hide', (el.daysScroll.offsetHeight + 12) + 'px');\n }\n\n \/\/ giorno mostrato nell'indicatore che scorre (SEPARATORE = 'scorre')\n var floatDay = null;\n function updateFloat(inList) {\n if (SEPARATORE !== 'scorre') return;\n var f = el.list.querySelector('.ccx-float');\n if (!f) return;\n var line = topOffset + el.bar.getBoundingClientRect().height + 70;\n var cur = null;\n Array.prototype.forEach.call(el.list.querySelectorAll('.ccx-group'), function (g) {\n if (g.getBoundingClientRect().top 6 && window.innerWidth < 960) root.classList.add('is-compact');\n lastY = y;\n });\n }\n\n function scrollToList() {\n var bodyTop = el.body.getBoundingClientRect().top;\n var barBottom = topOffset + el.bar.offsetHeight;\n if (bodyTop < barBottom - 2) {\n window.scrollTo({ top: window.pageYOffset + bodyTop - barBottom, behavior: 'smooth' });\n }\n }\n\n function centerIn(strip, tile) {\n if (!tile || strip.scrollWidth -1, hasQuery = raw.indexOf('?') > -1;\n if (!hasHash && !hasQuery) return null;\n var url;\n try { url = new URL(raw, window.location.href); } catch (e) { return null; }\n if (url.origin !== window.location.origin || url.pathname !== window.location.pathname) return null;\n if (hasHash) { var c = catFromHash(url.hash); return c ? { cat: c } : null; }\n var p = url.searchParams;\n if (!p.has('cc') && !p.has('ins') && !p.has('giorno')) return null;\n if (url.hash && url.hash !== '#ccx') return null;\n return { cat: p.get('cc') || 'all', ins: p.get('ins') || '', giorno: p.get('giorno') || '' };\n }\n document.addEventListener('click', function (ev) {\n if (ev.defaultPrevented || ev.button !== 0 || ev.metaKey || ev.ctrlKey || ev.shiftKey || ev.altKey) return;\n var a = ev.target && ev.target.closest ? ev.target.closest('a[href]') : null;\n if (!a || (a.target && a.target !== '_self')) return;\n var f = filtroDaLink(a);\n if (!f) return;\n ev.preventDefault(); \/\/ ferma anche lo scroll di UIkit\/YOOtheme sui link #\n var oc = a.closest('.uk-offcanvas.uk-open');\n if (oc && window.UIkit && UIkit.offcanvas) UIkit.offcanvas(oc).hide();\n filtraDaFuori(f.cat, f.ins, f.giorno);\n }, true);\n window.addEventListener('hashchange', function () {\n var c = catFromHash(window.location.hash);\n if (c) filtraDaFuori(c);\n });\n\n \/\/ --- Ricerca per insegnante ---\n var INSEGNANTI = (function () {\n var seen = {}, list = [];\n events.forEach(function (e) {\n e.insList.concat((e.band || []).map(function (b) { return b.ins; })).forEach(function (n) {\n var c = cleanName(n), k = norm(c);\n if (c && !seen[k]) { seen[k] = 1; list.push(typo(c)); }\n });\n });\n return list.sort(function (a, b) { return a.localeCompare(b, 'it'); });\n })();\n window.ccxInsegnanti = INSEGNANTI;\n function setQ(v) {\n state.q = String(v || '').trim();\n if (el.q) { el.q.value = state.q; if (state.q) el.q.setAttribute('list', 'ccx-ins-list'); else el.q.removeAttribute('list'); }\n if (el.search) el.search.classList.toggle('has-value', !!state.q);\n }\n if (el.q) {\n el.qlist.innerHTML = INSEGNANTI.map(function (n) { return ''; }).join('');\n setQ(state.q);\n var qTimer = 0;\n \/\/ i suggerimenti compaiono solo dopo aver iniziato a scrivere\n function toggleSuggest() { if (el.q.value.trim()) el.q.setAttribute('list', 'ccx-ins-list'); else el.q.removeAttribute('list'); }\n toggleSuggest();\n el.q.addEventListener('input', function () {\n toggleSuggest();\n clearTimeout(qTimer);\n qTimer = setTimeout(function () {\n state.q = el.q.value.trim();\n el.search.classList.toggle('has-value', !!state.q);\n if (state.day !== 'all' && !events.some(function (e) { return e.key === state.day && matchCat(e) && matchQ(e); })) state.day = 'all';\n render(false); syncUrl();\n }, 120);\n });\n el.q.addEventListener('keydown', function (ev) { if (ev.key === 'Enter') { ev.preventDefault(); el.q.blur(); scrollToList(); } });\n el.qclear.addEventListener('click', function (ev) { ev.preventDefault(); setQ(''); render(true); syncUrl(); el.q.focus(); });\n }\n\n \/\/ --- Interazioni ---\n function closeMenus(except) {\n Array.prototype.forEach.call(root.querySelectorAll('details.ccx-cal[open]'), function (d) { if (d !== except) d.removeAttribute('open'); });\n }\n root.addEventListener('click', function (ev) {\n var b = ev.target.closest ? ev.target.closest('button,summary,a') : null;\n if (!b || !root.contains(b)) { closeMenus(null); return; }\n if (b.tagName === 'SUMMARY') { closeMenus(b.parentNode); return; }\n if (b.tagName === 'A') { if (b.closest('.ccx-cal-menu')) setTimeout(function () { closeMenus(null); }, 150); return; }\n closeMenus(null);\n if (b.hasAttribute('data-day')) {\n var d = b.getAttribute('data-day');\n state.day = (d === state.day && d !== 'all') ? 'all' : d;\n render(true); syncUrl(); scrollToList(); centerDayTile();\n } else if (b.hasAttribute('data-cat')) {\n var c = b.getAttribute('data-cat');\n state.cat = (c === state.cat && c !== 'all') ? 'all' : c;\n if (state.day !== 'all' && !events.some(function (e) { return e.key === state.day && matchCat(e) && matchQ(e); })) state.day = 'all';\n render(true); syncUrl(); scrollToList(); centerChip();\n } else if (b.hasAttribute('data-reset')) {\n state.cat = 'all'; state.day = 'all'; setQ('');\n render(true); syncUrl(); scrollToList();\n } else if (b.hasAttribute('data-toggle-past')) {\n state.showPast = !state.showPast;\n render(true);\n } else if (b.hasAttribute('data-goto')) {\n gotoEvent(b.getAttribute('data-goto'));\n } else if (b.hasAttribute('data-goto-day')) {\n state.day = b.getAttribute('data-goto-day');\n render(true); syncUrl(); centerDayTile();\n var y = el.body.getBoundingClientRect().top + window.pageYOffset - (topOffset + el.bar.offsetHeight);\n window.scrollTo({ top: y, behavior: 'smooth' });\n }\n });\n \/\/ il menu calendario aperto deve stare sopra le card successive\n root.addEventListener('toggle', function (ev) {\n var d = ev.target;\n if (!d.classList || !d.classList.contains('ccx-cal')) return;\n var card = d.closest('.ccx-ev');\n if (card) card.classList.toggle('has-menu', d.open);\n }, true);\n \/\/ luce che segue il puntatore sulle card\n el.list.addEventListener('pointermove', function (ev) {\n if (ev.pointerType && ev.pointerType !== 'mouse') return;\n var card = ev.target.closest ? ev.target.closest('.ccx-ev') : null;\n if (!card) return;\n var r = card.getBoundingClientRect();\n card.style.setProperty('--mx', (ev.clientX - r.left) + 'px');\n card.style.setProperty('--my', (ev.clientY - r.top) + 'px');\n });\n document.addEventListener('click', function (ev) { if (!root.contains(ev.target)) closeMenus(null); });\n document.addEventListener('keydown', function (ev) { if (ev.key === 'Escape') closeMenus(null); });\n\n \/\/ --- Widget \"Hai dei dubbi?\" ---\n function startHelp() {\n if (!DUBBI || !DUBBI.testo || !DUBBI.url || !('IntersectionObserver' in window)) return;\n var a = document.createElement('a');\n a.className = 'ccx-help';\n a.href = DUBBI.url;\n a.innerHTML = '?' + esc(DUBBI.testo) + '';\n document.body.appendChild(a);\n \/\/ si vede solo quando l'elenco degli eventi occupa lo schermo\n new IntersectionObserver(function (en) {\n a.classList.toggle('is-on', en[0].isIntersecting);\n }, { rootMargin: '-35% 0px -35% 0px' }).observe(el.body);\n \/\/ scorrimento morbido verso la sezione, tenendo conto del menu fisso del sito\n a.addEventListener('click', function (ev) {\n if (DUBBI.url.charAt(0) !== '#') return;\n var target = document.getElementById(DUBBI.url.slice(1));\n if (!target) return;\n ev.preventDefault();\n var off = 0;\n stickies.forEach(function (n) { if (getComputedStyle(n).position === 'fixed') off = Math.max(off, n.getBoundingClientRect().bottom); });\n window.scrollTo({ top: target.getBoundingClientRect().top + window.pageYOffset - off - 16, behavior: 'smooth' });\n if (history.pushState) history.pushState(history.state, '', DUBBI.url);\n });\n }\n\n \/\/ --- Neve ---\n function startSnow() {\n var cv = q('snow');\n if (!cv) return;\n var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n if (!NEVE || reduce || !cv.getContext) { cv.style.display = 'none'; return; }\n var ctx = cv.getContext('2d'), flakes = [], W = 0, H = 0, dpr = 1, running = false, visible = true, raf = 0, last = 0;\n function make(randomY) {\n var r = Math.random() * 1.8 + 0.6; \/\/ raggio 0,6\u20132,4 px\n return {\n x: Math.random() * W, y: randomY ? Math.random() * H : -6,\n r: r, v: 14 + r * 16 + Math.random() * 10, \/\/ velocit\u00e0 in px\/s: i fiocchi grandi cadono pi\u00f9 veloci\n sw: Math.random() * Math.PI * 2, ss: 0.4 + Math.random() * 0.8, sa: 6 + Math.random() * 14, \/\/ oscillazione\n a: 0.25 + Math.random() * 0.55,\n o: Math.random() < 0.12 \/\/ qualche fiocco arancio\n };\n }\n function size() {\n dpr = Math.min(window.devicePixelRatio || 1, 2);\n W = cv.clientWidth; H = cv.clientHeight;\n cv.width = Math.round(W * dpr); cv.height = Math.round(H * dpr);\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n var n = Math.round(Math.min(180, (W * H) \/ 9000) * NEVE_QUANTITA);\n while (flakes.length < n) flakes.push(make(true));\n flakes.length = n;\n }\n function frame(ts) {\n raf = 0;\n if (!running) return;\n var dt = last ? Math.min(0.05, (ts - last) \/ 1000) : 0.016;\n last = ts;\n var square = root.classList.contains('ccx--square');\n ctx.clearRect(0, 0, W, H);\n for (var i = 0; i < flakes.length; i++) {\n var f = flakes[i];\n f.y += f.v * dt;\n f.sw += f.ss * dt;\n var x = f.x + Math.sin(f.sw) * f.sa;\n if (f.y > H + 6) { flakes[i] = make(false); continue; }\n ctx.fillStyle = f.o ? 'rgba(239,124,51,' + (f.a * 0.9) + ')' : 'rgba(255,255,255,' + f.a + ')';\n if (square) ctx.fillRect(x - f.r, f.y - f.r, f.r * 2, f.r * 2);\n else { ctx.beginPath(); ctx.arc(x, f.y, f.r, 0, Math.PI * 2); ctx.fill(); }\n }\n raf = requestAnimationFrame(frame);\n }\n function play() {\n var should = visible && !document.hidden;\n if (should && !running) { running = true; last = 0; raf = requestAnimationFrame(frame); }\n else if (!should && running) { running = false; if (raf) cancelAnimationFrame(raf); raf = 0; }\n }\n size();\n window.addEventListener('resize', function () { size(); });\n document.addEventListener('visibilitychange', play);\n if ('IntersectionObserver' in window) {\n new IntersectionObserver(function (en) { visible = en[0].isIntersecting; play(); }).observe(root);\n }\n play();\n }\n\n \/\/ --- Avvio ---\n function start() {\n findStickies();\n render(true);\n placeIndicators(true);\n startSnow();\n startHelp();\n updateTop();\n onScroll();\n centerDayTile();\n centerChip();\n window.addEventListener('scroll', onScroll, { passive: true });\n window.addEventListener('resize', function () {\n findStickies(); fitLabels(); fitTabs(); measure(); updateTop(); placeIndicators(true);\n updateFades(el.daysScroll); updateFades(el.catsScroll);\n });\n [el.daysScroll, el.catsScroll].forEach(function (sc) {\n sc.addEventListener('scroll', function () { updateFades(sc); }, { passive: true });\n });\n \/\/ ricalcola le posizioni quando i font sono caricati (cambiano le larghezze)\n \/\/ se i font del sito arrivano dopo, ricalcola fasce e filtri (cambiano le larghezze)\n if (document.fonts && document.fonts.addEventListener) document.fonts.addEventListener('loadingdone', function () { fitLabels(); fitTabs(); measure(); placeIndicators(true); });\n window.addEventListener('load', function () { fitLabels(); fitTabs(); measure(); placeIndicators(true); });\n if (document.fonts && document.fonts.ready) document.fonts.ready.then(function () { fitLabels(); fitTabs(); measure(); placeIndicators(true); updateFades(el.daysScroll); updateFades(el.catsScroll); });\n \/\/ aperta con #ccx-teoria ecc.: nessun elemento ha quell'id, quindi lo scroll lo facciamo noi\n if (hashAvvio) {\n scrollToRoot(false);\n window.addEventListener('load', function () { scrollToRoot(false); });\n }\n \/\/ aggiorna \"adesso \/ prossimo \/ concluso\" ogni minuto\n setInterval(function () { if (!root.querySelector('details.ccx-cal[open]')) render(false); }, 60000);\n }\n if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start); else start();\n})();\n"}}]}]}]},{"type":"section","props":{"image_position":"center-center","status":"disabled","style":"default","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"headline","props":{"content":"INFO UTILI","margin":"medium","text_align":"center","title_decoration":"line","title_element":"h2","title_style":"heading-medium"}}]}]}]},{"type":"section","props":{"id":"info","image_position":"center-center","status":"disabled","style":"default","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"html","props":{"content":"\n\n\n\n\n\n \n \n \n\n\n\n.ccf{\n --k:#0A0A0A; --w:#FFFFFF; --g:#DBDBDB; --o:#EF7C33;\n --t2:#5A5A5A; --t3:#2A2A2A; --line:#E6E6E6; --soft:#F3F3F3; --soft2:#EAEAEA;\n --r:2px; --pill:999px; --ease:cubic-bezier(.2,.8,.2,1); --top:0px;\n --num:'Montserrat','Raleway',system-ui,sans-serif;\n font-family:'Raleway',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.5;\n color:var(--k);background:var(--w);text-align:left;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;\n padding:8px 0 8px\n}\n@media (min-width:960px){.ccf{padding:16px 0 16px}}\n.ccf *,.ccf *::before,.ccf *::after{box-sizing:border-box}\n.ccf h2,.ccf h3,.ccf p,.ccf ul,.ccf ol,.ccf li,.ccf dl,.ccf dd{margin:0;padding:0;font-family:inherit;color:inherit;font-weight:inherit;line-height:inherit;letter-spacing:normal;text-transform:none}\n.ccf ul,.ccf ol{list-style:none}\n.ccf button{font-family:inherit;margin:0;-webkit-appearance:none;appearance:none;cursor:pointer;line-height:1.2;border-radius:0}\n.ccf a{color:inherit}\n.ccf :focus-visible{outline:2px solid var(--o);outline-offset:2px}\n.ccf .ccf-wrap{max-width:1000px;margin:0 auto;padding:0 20px}\n@media (min-width:640px){.ccf .ccf-wrap{padding:0 28px}}\n.ccf .ccf-num{font-family:var(--num);font-variant-numeric:tabular-nums lining-nums}\n\n\/* passi: numero a sinistra, linea che li collega *\/\n.ccf .ccf-steps{margin:0}\n.ccf .ccf-step{position:relative;display:grid;grid-template-columns:32px minmax(0,1fr);gap:0 16px;padding-bottom:28px}\n@media (min-width:640px){.ccf .ccf-step{grid-template-columns:36px minmax(0,1fr);gap:0 22px;padding-bottom:34px}}\n.ccf .ccf-step:last-child{padding-bottom:0}\n.ccf .ccf-step::before{content:\"\";position:absolute;left:15.5px;top:36px;bottom:4px;width:1px;background:var(--g)}\n@media (min-width:640px){.ccf .ccf-step::before{left:17.5px;top:40px}}\n.ccf .ccf-step:last-child::before{display:none}\n.ccf .ccf-dot{grid-row:1 \/ span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;\n background:var(--w);box-shadow:inset 0 0 0 1.5px var(--g);color:var(--t2);font-family:var(--num);font-size:14px;font-weight:700;transition:background .3s,color .3s,box-shadow .3s}\n@media (min-width:640px){.ccf .ccf-dot{width:36px;height:36px;font-size:15px}}\n.ccf .ccf-step.is-open .ccf-dot{background:var(--o);box-shadow:none;color:var(--w)}\n.ccf .ccf-step.is-done .ccf-dot{background:var(--k);box-shadow:none;color:var(--w)}\n.ccf .ccf-dot svg{width:15px;height:15px}\n.ccf .ccf-q{font-size:clamp(20px,2.4vw,26px);font-weight:700;line-height:1.25;padding-top:2px}\n@media (min-width:640px){.ccf .ccf-q{padding-top:3px}}\n.ccf .ccf-body{grid-column:2;margin-top:16px}\n\n\/* telefono: niente numeri n\u00e9 linea a sinistra, il contenuto usa tutta la larghezza;\n si vede solo il passo attivo (pi\u00f9 il riepilogo di quelli fatti) *\/\n@media (max-width:639px){\n .ccf .ccf-step{display:block;padding-bottom:22px}\n .ccf .ccf-step::before,.ccf .ccf-dot{display:none}\n .ccf .ccf-step.is-next{display:none}\n .ccf .ccf-step.is-done{padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}\n .ccf .ccf-body{margin-top:14px}\n .ccf .ccf-sum{padding-top:0}\n .ccf .ccf-sum-v{font-size:17px}\n}\n\n\/* riepilogo di un passo gi\u00e0 fatto *\/\n.ccf .ccf-sum{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding-top:4px}\n.ccf .ccf-sum-q{width:100%;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t2)}\n.ccf .ccf-sum-v{display:inline-flex;align-items:center;gap:9px;font-size:18px;font-weight:700}\n.ccf .ccf-sum-v::before{content:\"\";width:9px;height:9px;border-radius:50%;background:var(--c,var(--o))}\n.ccf .ccf-change{padding:0;border:0;background:none;font-size:14px;font-weight:600;color:var(--t2);text-decoration:underline;text-decoration-color:var(--o);text-decoration-thickness:2px;text-underline-offset:4px}\n@media (hover:hover){.ccf .ccf-change:hover{color:var(--k)}}\n\n\/* opzioni *\/\n.ccf .ccf-opts{display:grid;grid-template-columns:1fr;gap:10px}\n@media (min-width:640px){.ccf .ccf-opts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}\n.ccf .ccf-opt{position:relative;display:flex;align-items:center;gap:14px;width:100%;padding:16px 18px;border:0;border-radius:var(--r);\n background:var(--soft);color:var(--k);text-align:left;transition:background .25s,transform .3s var(--ease),box-shadow .3s var(--ease)}\n@media (min-width:960px){.ccf .ccf-opt{padding:20px 22px}}\n.ccf .ccf-opt::before{content:\"\";flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--c,var(--o))}\n.ccf .ccf-opts--chi .ccf-opt::before{display:none}\n.ccf .ccf-opt b{display:block;font-size:16px;font-weight:700;line-height:1.25}\n@media (min-width:640px){.ccf .ccf-opt b{font-size:17px}}\n.ccf .ccf-opts--chi .ccf-opt b{font-size:18px}\n.ccf .ccf-opt small{display:block;margin-top:3px;font-size:14px;font-weight:500;color:var(--t2)}\n.ccf .ccf-opt::after{content:\"\u2192\";margin-left:auto;padding-left:8px;font-size:18px;color:var(--t2);transition:transform .3s var(--ease),color .2s}\n@media (hover:hover){\n .ccf .ccf-opt:hover{background:var(--soft2);transform:translateY(-2px);box-shadow:0 10px 24px rgba(10,10,10,.08)}\n .ccf .ccf-opt:hover::after{transform:translateX(4px);color:var(--k)}\n}\n.ccf .ccf-opt:active{transform:scale(.99)}\n@media (max-width:639px){\n .ccf .ccf-opt{padding:14px 14px;gap:12px}\n .ccf .ccf-opt::after{display:none}\n .ccf .ccf-opt small{font-size:13px}\n}\n\n\/* risposta *\/\n.ccf .ccf-ans{border-radius:var(--r);background:var(--w);box-shadow:0 0 0 1px var(--g),0 14px 34px rgba(10,10,10,.07);overflow:hidden}\n.ccf .ccf-ans-h{display:flex;align-items:center;gap:12px;padding:20px 22px 16px;border-top:4px solid var(--c,var(--o))}\n.ccf .ccf-ans-h h3{font-size:clamp(19px,2.2vw,24px);font-weight:800;line-height:1.2}\n.ccf .ccf-row{display:grid;grid-template-columns:1fr;gap:4px;padding:16px 22px;border-top:1px solid var(--line)}\n@media (min-width:768px){.ccf .ccf-row{grid-template-columns:170px minmax(0,1fr);gap:24px;padding:18px 26px}}\n.ccf .ccf-row dt{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t2);padding-top:3px}\n.ccf .ccf-row dd{font-size:16px;line-height:1.55;color:var(--t3)}\n.ccf .ccf-row dd b{color:var(--k);font-weight:700}\n.ccf .ccf-row dd ul{margin-top:6px}\n.ccf .ccf-row dd li{position:relative;padding:6px 0 6px 16px;border-top:1px solid var(--line)}\n.ccf .ccf-row dd li:first-child{border-top:0}\n.ccf .ccf-row dd li::before{content:\"\";position:absolute;left:0;top:15px;width:6px;height:6px;border-radius:50%;background:var(--c,var(--o))}\n.ccf .ccf-row dd p + p,.ccf .ccf-row dd ul + p{margin-top:6px}\n.ccf .ccf-row dd a{text-decoration:underline;text-decoration-color:var(--o);text-decoration-thickness:2px;text-underline-offset:3px}\n\/* cercatore del saggio *\/\n.ccf .ccf-find{margin-top:12px}\n.ccf .ccf-find-chips{display:flex;flex-wrap:wrap;gap:6px}\n.ccf .ccf-chipbtn{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border:0;border-radius:var(--pill);background:var(--soft);color:var(--k);font-size:14px;font-weight:600;transition:background .2s,color .2s,transform .2s var(--ease)}\n.ccf .ccf-chipbtn::before{content:\"\";width:7px;height:7px;border-radius:50%;background:var(--c)}\n@media (hover:hover){.ccf .ccf-chipbtn:hover{background:var(--k);color:var(--w)}}\n.ccf .ccf-chipbtn:active{transform:scale(.96)}\n.ccf .ccf-find-form{display:flex;gap:8px;margin-top:10px;max-width:440px}\n.ccf .ccf-find-form input{flex:1 1 auto;min-width:0;height:44px;margin:0;padding:0 16px;border:0;border-radius:var(--pill);background:var(--w);box-shadow:inset 0 0 0 1px var(--g);\n color:var(--k);font-family:inherit;font-size:16px;font-weight:500;-webkit-appearance:none;appearance:none;outline:none}\n.ccf .ccf-find-form input::placeholder{color:var(--t2);opacity:1}\n.ccf .ccf-find-form input:focus{box-shadow:inset 0 0 0 1.5px var(--o)}\n.ccf .ccf-find-form input::-webkit-calendar-picker-indicator{display:none!important;opacity:0}\n.ccf .ccf-find-form input::-webkit-search-cancel-button{-webkit-appearance:none}\n.ccf .ccf-find-form .ccf-btn{flex:0 0 auto;padding:12px 18px}\n.ccf .ccf-find-form.is-err input{box-shadow:inset 0 0 0 1.5px var(--o)}\n.ccf .ccf-act{display:flex;flex-wrap:wrap;gap:10px;padding:18px 22px 22px;border-top:1px solid var(--line);background:#FAFAFA}\n@media (min-width:768px){.ccf .ccf-act{padding:20px 26px 24px}}\n\n\/* pulsanti *\/\n.ccf .ccf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border:0;border-radius:var(--pill);\n background:var(--soft2);color:var(--k);font-size:14px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,transform .2s var(--ease)}\n.ccf .ccf-btn:active{transform:scale(.97)}\n@media (hover:hover){.ccf .ccf-btn:hover{background:var(--k);color:var(--w)}}\n.ccf .ccf-btn--fill{background:var(--o);color:var(--w)}\n@media (hover:hover){.ccf .ccf-btn--fill:hover{background:var(--k);color:var(--w)}}\n.ccf .ccf-btn--ghost{background:none;padding-left:4px;padding-right:4px;color:var(--t2);font-weight:600}\n@media (hover:hover){.ccf .ccf-btn--ghost:hover{background:none;color:var(--k)}}\n@media (max-width:639px){.ccf .ccf-act .ccf-btn:not(.ccf-btn--ghost){flex:1 1 100%}}\n\n\/* comparsa dei passi *\/\n.ccf .ccf-in{animation:ccfIn .45s var(--ease) backwards}\n.ccf .ccf-in .ccf-opt{animation:ccfIn .45s var(--ease) backwards;animation-delay:calc(60ms + var(--i,0) * 40ms)}\n@keyframes ccfIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}\n@media (prefers-reduced-motion:reduce){.ccf *{animation:none!important;transition:none!important}}\n\n\n\n(function () {\n 'use strict';\n var root = document.getElementById('ccf');\n if (!root || root.getAttribute('data-ready')) return;\n root.setAttribute('data-ready', '1');\n\n \/* =====================================================================\n CONFIGURAZIONE\n ===================================================================== *\/\n var CALENDARIO_URL = 'https:\/\/www.scuoladimusicacluster.it\/iniziative-2026\/clusterchristmas-2026.html';\n var GOSPEL_URL = '#gospel'; \/\/ link \"Acquista i biglietti\" (pagina o sezione con le info sui biglietti)\n\n var SEDE = 'nella sede di Cluster, in via Mos\u00e8 Bianchi 96';\n var LIBERO = 'Non serve prenotare e l\u2019entrata \u00e8 libera.
Parenti e amici sono molto graditi.';\n\n \/\/ Passo 1\n var DOMANDA_1 = 'Come partecipi?';\n var CHI = [\n { id: 'pubblico', titolo: 'Vengo ad assistere', sotto: 'Sono un genitore, un parente o un amico' },\n { id: 'allievo', titolo: 'Mi esibisco', sotto: 'Sono un allievo, o il genitore di un allievo che si esibisce' }\n ];\n \/\/ Passo 2 (la domanda cambia in base al passo 1)\n var DOMANDA_2 = { pubblico: 'Cosa vieni a vedere?', allievo: 'In cosa ti esibisci?' };\n \/\/ colore = pallino (tinte piene, leggibili sul bianco) \u00b7 cal = filtro del calendario eventi\n var COSA = [\n { id: 'saggio', titolo: 'Saggio individuale di canto o strumento', sotto: '9\u201316 dicembre', colore: '#0A0A0A', cal: '' },\n { id: 'teoria', titolo: 'Lezione aperta di Teoria-Coro bambini', sotto: '14\u201318 dicembre', colore: '#0086B3', cal: 'teoria' },\n { id: 'teen', titolo: 'Lezione aperta di Coro Teen', sotto: '14\u201318 dicembre', colore: '#009084', cal: 'teen' },\n { id: 'cori', titolo: 'Saggio-Concerto dei Cori Adulti', sotto: '14\u201317 dicembre', colore: '#9961A6', cal: 'cori' },\n { id: 'insieme', titolo: 'Saggio-Concerto di Musica d\u2019insieme', sotto: '19 e 20 dicembre', colore: '#628835', cal: 'insieme' },\n { id: 'gospel', titolo: 'Gospel Christmas', sotto: '13 dicembre', colore: '#EF7C33', cal: 'gospel' }\n ];\n \/\/ Passo 3\n var DOMANDA_3 = 'Ecco cosa ti serve sapere';\n\n \/\/ Risposte: [etichetta, testo HTML]\n var SALE = 'Auditorium: Canto e BatteriaAula I: Basso, Chitarra e FiatiSala BETA: Pianoforte e Violino';\n var CORI = 'Luned\u00ec 14 dicembre, ore 21:15 \u00b7 Cori PopMarted\u00ec 15 dicembre, ore 21:15 \u00b7 Cori Musical e GospelMercoled\u00ec 16 dicembre, ore 21:30 \u00b7 Cori GospelGioved\u00ec 17 dicembre, ore 21:15 \u00b7 Cori Swing e Pop';\n var INSIEME = 'Sabato 19 dicembre, ore 15:45 \u00b7 Parte 1Sabato 19 dicembre, ore 19:00 \u00b7 Parte 2Domenica 20 dicembre, ore 11:45 \u00b7 Parte 3Domenica 20 dicembre, ore 16:00 \u00b7 Parte 4Domenica 20 dicembre, ore 19:00 \u00b7 Parte 5';\n \/\/ convocazione delle band (dall'Excel \"Saggio-Concerto band\")\n var INSIEME_CONV = 'Parte 1 \u00b7 sabato 19, ore 15:45 \u00b7 convocazione 14:00Parte 2 \u00b7 sabato 19, ore 19:00 \u00b7 convocazione 17:00Parte 3 \u00b7 domenica 20, ore 11:45 \u00b7 convocazione 10:00Parte 4 \u00b7 domenica 20, ore 16:00 \u00b7 convocazione 14:15Parte 5 \u00b7 domenica 20, ore 19:00 \u00b7 convocazione 17:00';\n\n \/\/ Durate indicative (dal programma e dall'Excel delle band)\n var DUR_SAGGIO = 'Indicativamente tra 40 e 80 minuti, a seconda di quanti allievi suonano.';\n var DUR_LEZIONE = 'La parte aperta al pubblico dura circa 25 minuti.';\n var DUR_CORI = 'Indicativamente tra 40 e 60 minuti.';\n var DUR_INSIEME = 'Ogni parte dura circa un\u2019ora (tra 40 e 80 minuti, a seconda delle band).';\n var DUR_GOSPEL = 'Indicativamente tra 60 e 90 minuti per ogni replica.';\n\n \/\/ Cercatore del saggio (strumenti del calendario + insegnanti dei saggi individuali)\n var STRUMENTI = [\n { cat: 'canto', nome: 'Canto', colore: '#AE5A84' }, { cat: 'pianoforte', nome: 'Pianoforte', colore: '#3C7EBE' },\n { cat: 'chitarra', nome: 'Chitarra', colore: '#9F7100' }, { cat: 'batteria', nome: 'Batteria', colore: '#B75B55' },\n { cat: 'basso', nome: 'Basso', colore: '#806AB9' }, { cat: 'violino', nome: 'Violino', colore: '#228F61' },\n { cat: 'fiati', nome: 'Fiati', colore: '#008D9C' }\n ];\n var INSEGNANTI_SAGGI = [\"Alberto Dipace\", \"Alberto Meloni\", \"Alessandra Chichi\", \"Alessandro Dilorenzo\", \"Andrea Dominoni\", \"Andrea Montalbano\", \"Andrea Rapisarda\", \"Antonello Fiamma\", \"Claudia Cantisani\", \"Cristina Mascolo\", \"Dario Spezia\", \"Diego Petrella\", \"Emiliano Blangero\", \"Enrico Scanu\", \"Federica Vanacore\", \"Felice Del Vecchio\", \"Francesca Carbonelli\", \"Francesca Tour\u00e9\", \"Francesco Tolomio\", \"Gabriela Clelia Cuna\", \"Gabriele Cento\", \"Giacinto Livia\", \"Giuliano Dottori\", \"Giuseppe Panagia\", \"Grace Lintas\", \"Ilze Circene\", \"Jenny De Noni\", \"Linda Pinelli\", \"Luca Damerini\", \"Luca Pegorari\", \"Marco Falcon\", \"Martino Pellegrini\", \"Massimiliano Teora\", \"Mauro Sansone\", \"Mihai Falcoe\", \"Milena Paris\", \"Moreno Falciani\", \"Natalija Tasic Gashi\", \"Paco Martucci\", \"Paola Dell\u2019Erba\", \"Raffaele Trapasso\", \"Roberto Franca\", \"Simona Bovino\", \"Tatiana Larionova\", \"Valentino Finoli\", \"Vincenzo Angrisani\", \"Yevgeni Galanov\"];\n var TROVA = 'Puoi trovare il tuo saggio cercando per strumento o per insegnante.' +\n '' +\n STRUMENTI.map(function (x) { return '' + x.nome + ''; }).join('') +\n '' +\n '' +\n 'Cerca' +\n '' + INSEGNANTI_SAGGI.map(function (n) { return ''; }).join('') + '' +\n '';\n\n var RISPOSTE = {\n 'pubblico-saggio': [\n ['Dove', 'Tutti i saggi individuali si svolgono ' + SEDE + ':' + SALE],\n ['Quando arrivare', 'Ti aspettiamo cinque minuti prima dell\u2019inizio. Nel calendario trovi giorno, orario e sala di ogni saggio.'],\n ['Durata', DUR_SAGGIO],\n ['Prenotazione', '' + LIBERO + ''],\n ['Quando \u00e8 il saggio', TROVA]\n ],\n 'allievo-saggio': [\n ['Dove', 'Il tuo saggio si svolge ' + SEDE + ':' + SALE],\n ['Quando arrivare', 'In genere un\u2019ora prima dell\u2019inizio; per i saggi di pianoforte 45 minuti prima. L\u2019orario preciso te lo conferma il tuo insegnante.'],\n ['Durata', DUR_SAGGIO],\n ['Per chi viene a vederti', '' + LIBERO + '
Il pubblico \u00e8 atteso cinque minuti prima dell\u2019inizio.'],\n ['Quando \u00e8 il tuo saggio', TROVA]\n ],\n 'pubblico-teoria': [\n ['Dove', 'In Aula I, ' + SEDE + '.'],\n ['Quando arrivare', 'La lezione aperta si svolge nel giorno e all\u2019orario abituale della lezione. Il pubblico entra mezz\u2019ora dopo l\u2019inizio.Es. se la lezione \u00e8 il mercoled\u00ec alle 17:00, i genitori entrano alle 17:30.'],\n ['Durata', DUR_LEZIONE],\n ['Prenotazione', '' + LIBERO + '']\n ],\n 'allievo-teoria': [\n ['Dove', 'In Aula I, ' + SEDE + '.'],\n ['Quando arrivare', 'I bambini arrivano all\u2019orario abituale della lezione, nel loro solito giorno. I genitori entrano mezz\u2019ora dopo.Es. lezione il mercoled\u00ec alle 17:00: bambini alle 17:00, genitori alle 17:30.'],\n ['Durata', DUR_LEZIONE],\n ['Prenotazione', '' + LIBERO + '']\n ],\n 'pubblico-teen': [\n ['Dove', 'In Auditorium, ' + SEDE + '.'],\n ['Quando arrivare', 'La lezione aperta si svolge nel giorno e all\u2019orario abituale della lezione. Il pubblico entra mezz\u2019ora dopo l\u2019inizio.Es. se la lezione \u00e8 il gioved\u00ec alle 17:00, i genitori entrano alle 17:30.'],\n ['Durata', DUR_LEZIONE],\n ['Prenotazione', '' + LIBERO + '']\n ],\n 'allievo-teen': [\n ['Dove', 'In Auditorium, ' + SEDE + '.'],\n ['Quando arrivare', 'Arrivi all\u2019orario abituale della lezione, nel tuo solito giorno. Il pubblico entra mezz\u2019ora dopo.Es. lezione il gioved\u00ec alle 17:00: tu alle 17:00, la tua famiglia alle 17:30.'],\n ['Durata', DUR_LEZIONE],\n ['Prenotazione', '' + LIBERO + '']\n ],\n 'pubblico-cori': [\n ['Dove', 'In Auditorium, ' + SEDE + '.'],\n ['Quando', CORI],\n ['Quando arrivare', 'Ti aspettiamo cinque minuti prima dell\u2019inizio.'],\n ['Durata', DUR_CORI],\n ['Prenotazione', '' + LIBERO + '']\n ],\n 'allievo-cori': [\n ['Dove', 'In Auditorium, ' + SEDE + '.'],\n ['Quando', CORI],\n ['Quando arrivare', 'La convocazione \u00e8 prima dell\u2019inizio: in genere tra un\u2019ora e mezza e un\u2019ora e 45. L\u2019orario preciso del tuo coro te lo conferma l\u2019insegnante.'],\n ['Durata', DUR_CORI],\n ['Per chi viene a vederti', '' + LIBERO + '
Il pubblico \u00e8 atteso cinque minuti prima dell\u2019inizio.']\n ],\n 'pubblico-insieme': [\n ['Dove', 'In Auditorium, ' + SEDE + '.'],\n ['Quando', INSIEME + 'Nel calendario ogni parte elenca le band che suonano.'],\n ['Quando arrivare', 'Ti aspettiamo cinque minuti prima dell\u2019inizio.'],\n ['Durata', DUR_INSIEME],\n ['Prenotazione', '' + LIBERO + '']\n ],\n 'allievo-insieme': [\n ['Quando suona la tua band', 'Nel calendario, filtrando \u201cMusica d\u2019insieme\u201d, ogni parte elenca le band con insegnante, livello, giorno e ora del corso: cerca quello della tua band.'],\n ['Quando arrivare', INSIEME_CONV + 'Il tuo insegnante ti conferma l\u2019orario.'],\n ['Durata', DUR_INSIEME],\n ['Dove', 'In Auditorium, ' + SEDE + '.']\n ],\n 'pubblico-gospel': [\n ['Quando e dove', 'Domenica 13 dicembre al Teatro PIME, in due repliche: alle 17:00 e alle 20:30. Canta il ClusterGospelChoir, diretto da Piero Basilico.'],\n ['Durata', DUR_GOSPEL],\n ['Biglietti', 'Il concerto ha un biglietto. Per gli amici di Cluster c\u2019\u00e8 uno sconto: se sei un allievo, trovi il codice nella tua casella di posta.Il concerto \u00e8 organizzato dal PIME, a sostegno della sua attivit\u00e0 missionaria.'],\n ['Informazioni', 'Per l\u2019acquisto dei biglietti: info@teatropime.it \u00b7 02 43.822.425']\n ],\n 'allievo-gospel': [\n ['Soundcheck', 'Alle 14:30 al Teatro PIME, per entrambe le repliche.'],\n ['Repliche', 'Domenica 13 dicembre, alle 17:00 e alle 20:30.'],\n ['Durata', DUR_GOSPEL],\n ['Per chi viene a vederti', 'Il concerto ha un biglietto, con uno sconto per gli amici di Cluster: il codice \u00e8 nella tua casella di posta. Il concerto \u00e8 organizzato dal PIME, a sostegno della sua attivit\u00e0 missionaria.']\n ]\n };\n \/\/ pulsante principale diverso dal calendario\n var CTA = {\n 'pubblico-gospel': { testo: 'Acquista i biglietti', url: GOSPEL_URL },\n 'allievo-gospel': { testo: 'Info e biglietti', url: GOSPEL_URL }\n };\n\n \/* ===================================================================== *\/\n function q(n) { return root.querySelector('[data-ccf=\"' + n + '\"]'); }\n var el = { steps: q('steps') };\n var state = { chi: null, cosa: null };\n var ICON_CHECK = '';\n function byId(list, id) { return list.filter(function (x) { return x.id === id; })[0]; }\n function esc(s) { return String(s).replace(\/[&\"]\/g, function (c) { return { '&': '&', '': '>', '\"': '"' }[c]; }); }\n function nums(html) {\n \/\/ numeri in Montserrat, solo nel testo (non dentro i tag)\n return html.replace(\/(^|>)([^= off && top < window.innerHeight * 0.55;\n if (!visibleEnough) window.scrollTo({ top: top + window.pageYOffset - off - 24, behavior: 'smooth' });\n }\n\n \/\/ 1) calendario aggiornato sulla stessa pagina: filtra e scorre, senza ricaricare\n \/\/ 2) calendario di una versione precedente sulla stessa pagina: ricarica la pagina con il filtro\n \/\/ 3) nessun calendario sulla pagina: apre CALENDARIO_URL con il filtro\n function goCalendar(cat, ins) {\n if (typeof window.ccxFiltra === 'function') { window.ccxFiltra(cat || 'all', ins || ''); return; }\n var base = document.getElementById('ccx') ? window.location.pathname : CALENDARIO_URL;\n var params = new URLSearchParams(document.getElementById('ccx') ? window.location.search : '');\n params.delete('giorno');\n if (cat) params.set('cc', cat); else params.delete('cc');\n if (ins) params.set('ins', ins); else params.delete('ins');\n var qs = params.toString();\n window.location.href = base + (qs ? '?' + qs : '') + '#ccx';\n }\n\n root.addEventListener('click', function (ev) {\n var b = ev.target.closest ? ev.target.closest('button') : null;\n if (!b || !root.contains(b)) return;\n if (b.hasAttribute('data-chi')) {\n state.chi = b.getAttribute('data-chi'); state.cosa = null;\n render(2); reveal(2);\n } else if (b.hasAttribute('data-cosa')) {\n state.cosa = b.getAttribute('data-cosa');\n render(3); reveal(3);\n } else if (b.hasAttribute('data-change')) {\n if (b.getAttribute('data-change') === '1') { state.chi = null; state.cosa = null; render(1); reveal(1); }\n else { state.cosa = null; render(2); reveal(2); }\n } else if (b.hasAttribute('data-reset')) {\n state.chi = null; state.cosa = null; render(1); reveal(1);\n } else if (b.hasAttribute('data-cal')) {\n goCalendar(b.getAttribute('data-cal'));\n } else if (b.hasAttribute('data-find-cat')) {\n goCalendar(b.getAttribute('data-find-cat'));\n }\n });\n \/\/ ricerca per insegnante: invio o scelta dall'elenco\n root.addEventListener('submit', function (ev) {\n var f = ev.target;\n if (!f.hasAttribute || !f.hasAttribute('data-find')) return;\n ev.preventDefault();\n var v = f.elements.ins.value.trim();\n if (!v) { f.classList.add('is-err'); f.elements.ins.focus(); return; }\n f.classList.remove('is-err');\n f.elements.ins.blur();\n goCalendar('', v);\n });\n \/\/ i suggerimenti compaiono solo dopo aver iniziato a scrivere\n root.addEventListener('input', function (ev) {\n var i = ev.target;\n if (i.name !== 'ins' || !i.form || !i.form.hasAttribute('data-find')) return;\n if (i.value.trim()) i.setAttribute('list', 'ccf-ins-list'); else i.removeAttribute('list');\n i.form.classList.remove('is-err');\n });\n root.addEventListener('change', function (ev) {\n \/\/ scegliendo un nome dall'elenco suggerito si parte subito\n var i = ev.target;\n if (i.name !== 'ins' || !i.form || !i.form.hasAttribute('data-find')) return;\n var v = i.value.trim().toLowerCase();\n if (INSEGNANTI_SAGGI.some(function (n) { return n.toLowerCase() === v; })) { i.blur(); goCalendar('', i.value.trim()); }\n });\n\n render(0);\n})();\n"}}]}]}],"name":"Widget Info Utili"},{"type":"section","props":{"id":"info","image_position":"center-center","style":"default","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"headline","props":{"content":"F.A.Q.","text_align":"center","title_decoration":"line","title_element":"h2","title_style":"heading-medium"}}]}]}]},{"type":"section","props":{"image_position":"center-center","style":"muted","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"headline","props":{"content":"SAGGI E CONCERTI","text_align":"center","title_element":"h3","title_style":"h3"}}]}]}],"name":"FAQ SECTION TITLE"},{"type":"section","props":{"css":"\/* Contenitore: domanda + risposta *\/\n.el-item {\n border: 1px solid rgba(0, 0, 0, .05) !important;\n border-radius: 6px;\n overflow: hidden;\n\n \/* Grigio + riflesso lucido (limitato alla parte alta) *\/\n background-color: #f6f8f7;\n background-image: linear-gradient(180deg, rgba(255, 255, 255, .65) 0px, rgba(255, 255, 255, 0) 80px);\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, .95),\n 0 1px 2px rgba(0, 0, 0, .03),\n 0 6px 18px rgba(0, 0, 0, .04);\n transition: border-color .25s ease, box-shadow .25s ease;\n}\n\n\/* Spazio tra le voci *\/\n.el-item + .el-item {\n margin-top: 20px !important;\n padding-top: 0 !important;\n}\n\n\/* Hover neutro: ombra leggermente pi\u00f9 profonda *\/\n.el-item:has(.el-title:hover) {\n border-color: rgba(0, 0, 0, .08) !important;\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 1),\n 0 2px 4px rgba(0, 0, 0, .04),\n 0 10px 24px rgba(0, 0, 0, .06);\n}\n\n\/* Domanda *\/\n.el-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 24px;\n padding: 26px 32px !important;\n background: transparent;\n text-decoration: none;\n}\n\n.el-title,\n.el-title > * {\n font-weight: 600 !important;\n}\n\n.el-title:hover {\n color: #000;\n}\n\n\/* Nasconde l'icona + di default (vecchie e nuove versioni di YOOtheme) *\/\n.el-title::before,\n.el-title .uk-accordion-icon,\n.el-title [uk-accordion-icon] {\n display: none !important;\n}\n\n\/* Chevron a V *\/\n.el-title::after {\n content: \"\";\n flex: none;\n width: 9px;\n height: 9px;\n border-right: 1.5px solid currentColor;\n border-bottom: 1.5px solid currentColor;\n transform: translateY(-25%) rotate(45deg);\n transition: transform .3s ease;\n}\n\n\/* Chevron ruotato verso l'alto quando la voce \u00e8 aperta *\/\n.el-item.uk-open .el-title::after,\n.uk-open > .el-title::after {\n transform: translateY(25%) rotate(225deg);\n}\n\n\/* Risposta dentro il contenitore *\/\n.uk-accordion-content {\n margin-top: 0 !important;\n padding: 4px 32px 42px;\n font-size: .94em;\n line-height: 1.7;\n}\n\n\/* Mobile: aria ridotta per non sprecare spazio *\/\n@media (max-width: 639px) {\n\n .el-item + .el-item {\n margin-top: 14px !important;\n }\n\n .el-title {\n gap: 16px;\n padding: 20px 20px !important;\n }\n\n .uk-accordion-content {\n padding: 2px 20px 30px;\n }\n}","image_position":"center-center","style":"default","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"accordion","props":{"collapsible":true,"content_column_breakpoint":"m","content_dropcap":false,"image_align":"top","image_grid_breakpoint":"m","image_grid_width":"1-2","image_svg_color":"emphasis","link_style":"default","link_text":"Read more","multiple":false,"show_image":true,"show_link":true},"children":[{"type":"accordion_item","props":{"content":"Tutti i saggi individuali di canto e strumento, i Saggi-Concerto di Musica d'insieme e i Saggi-Concerto dei Cori Adulti si svolgono presso la sede di Cluster, in via Mos\u00e8 Bianchi 96. \nNon \u00e8 richiesta alcuna prenotazione e l\u2019entrata \u00e8 libera.\nAuditorium: Canto, Batteria, Musica d'insieme e Cori.Aula I: Basso, Chitarra e Fiati.Sala BETA: Pianoforte e Violino.","title":"Dove si svolgono i saggi?"}},{"type":"accordion_item","props":{"content":"Non c\u2019\u00e8 bisogno di prenotazione e l'entrata \u00e8 libera. Parenti e amici sono molto graditi.Aspettiamo il pubblico\u00a0cinque minuti prima dell'inizio.","title":"C'\u00e8 bisogno della prenotazione?"}},{"type":"accordion_item","props":{"content":"Ti aspettiamo un'ora prima dell'orario di inizio del saggio. Ad esempio se il tuo saggio \u00e8 alle ore 18:00, ti aspettiamo alle ore 17:00 direttamente nella sala dove svolgerai il saggio.","title":"Sono un allievo che si deve esibire: quando devo arrivare?"}},{"type":"accordion_item","props":{"content":"Look curato e personalizzato.\nIn alternativa maglietta Cluster e pantaloni neri o jeans scuri vanno benissimo.","title":"Come mi devo vestire?"}}]}]}]}],"name":"FAQ"},{"type":"section","props":{"image_position":"center-center","style":"muted","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"headline","props":{"content":"TEORIA-COROBambini | Lezioni aperte","text_align":"center","title_element":"h3","title_style":"h3"}}]}]}],"name":"FAQ SECTION TITLE"},{"type":"section","props":{"css":"\/* Contenitore: domanda + risposta *\/\n.el-item {\n border: 1px solid rgba(0, 0, 0, .05) !important;\n border-radius: 6px;\n overflow: hidden;\n\n \/* Grigio + riflesso lucido (limitato alla parte alta) *\/\n background-color: #f6f8f7;\n background-image: linear-gradient(180deg, rgba(255, 255, 255, .65) 0px, rgba(255, 255, 255, 0) 80px);\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, .95),\n 0 1px 2px rgba(0, 0, 0, .03),\n 0 6px 18px rgba(0, 0, 0, .04);\n transition: border-color .25s ease, box-shadow .25s ease;\n}\n\n\/* Spazio tra le voci *\/\n.el-item + .el-item {\n margin-top: 20px !important;\n padding-top: 0 !important;\n}\n\n\/* Hover neutro: ombra leggermente pi\u00f9 profonda *\/\n.el-item:has(.el-title:hover) {\n border-color: rgba(0, 0, 0, .08) !important;\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 1),\n 0 2px 4px rgba(0, 0, 0, .04),\n 0 10px 24px rgba(0, 0, 0, .06);\n}\n\n\/* Domanda *\/\n.el-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 24px;\n padding: 26px 32px !important;\n background: transparent;\n text-decoration: none;\n}\n\n.el-title,\n.el-title > * {\n font-weight: 600 !important;\n}\n\n.el-title:hover {\n color: #000;\n}\n\n\/* Nasconde l'icona + di default (vecchie e nuove versioni di YOOtheme) *\/\n.el-title::before,\n.el-title .uk-accordion-icon,\n.el-title [uk-accordion-icon] {\n display: none !important;\n}\n\n\/* Chevron a V *\/\n.el-title::after {\n content: \"\";\n flex: none;\n width: 9px;\n height: 9px;\n border-right: 1.5px solid currentColor;\n border-bottom: 1.5px solid currentColor;\n transform: translateY(-25%) rotate(45deg);\n transition: transform .3s ease;\n}\n\n\/* Chevron ruotato verso l'alto quando la voce \u00e8 aperta *\/\n.el-item.uk-open .el-title::after,\n.uk-open > .el-title::after {\n transform: translateY(25%) rotate(225deg);\n}\n\n\/* Risposta dentro il contenitore *\/\n.uk-accordion-content {\n margin-top: 0 !important;\n padding: 4px 32px 42px;\n font-size: .94em;\n line-height: 1.7;\n}\n\n\/* Mobile: aria ridotta per non sprecare spazio *\/\n@media (max-width: 639px) {\n\n .el-item + .el-item {\n margin-top: 14px !important;\n }\n\n .el-title {\n gap: 16px;\n padding: 20px 20px !important;\n }\n\n .uk-accordion-content {\n padding: 2px 20px 30px;\n }\n}","image_position":"center-center","style":"default","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"accordion","props":{"collapsible":true,"content_column_breakpoint":"m","content_dropcap":false,"image_align":"top","image_grid_breakpoint":"m","image_grid_width":"1-2","image_svg_color":"emphasis","link_style":"default","link_text":"Read more","multiple":false,"show_image":true,"show_link":true},"children":[{"type":"accordion_item","props":{"content":"Le lezioni aperte di\u00a0Teoria-Coro\u00a0dei\u00a0bambini si svolgono in Aula I presso la sede di Cluster, in via Mos\u00e8 Bianchi 96.\nNon \u00e8 richiesta alcuna prenotazione e l\u2019entrata \u00e8 libera.","title":"Dove si svolgono le lezioni aperte di Teoria-Coro?"}},{"type":"accordion_item","props":{"content":"Le lezioni aperte di\u00a0Teoria-Coro\u00a0dei\u00a0bambini\u00a0si svolgono nello\u00a0stesso giorno e orario di lezione con l'apertura al pubblico mezz'ora dopo l'inizio della lezione.\nEs. se la lezione di Teoria-Coro si svolge sempre il mercoled\u00ec alle 17:00, gli studenti arriveranno alle 17:00 e i genitori alle ore 17:30.","title":"Quando si svolgono?"}},{"type":"accordion_item","props":{"content":"Non c\u2019\u00e8 bisogno di prenotazione e l'entrata \u00e8 libera. Parenti e amici sono molto graditi.","title":"C'\u00e8 bisogno della prenotazione?"}},{"type":"accordion_item","props":{"content":"Pantaloni scuri e maglietta Cluster.La maglietta Cluster verr\u00e0 consegnata a dicembre con tutto il merchandise della Scuola!","title":"Come si devono vestire gli allievi?"}}]}]}]}],"name":"FAQ"},{"type":"section","props":{"image_position":"center-center","style":"muted","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"headline","props":{"content":"CORI TEENLezioni aperte","text_align":"center","title_element":"h3","title_style":"h3"}}]}]}],"name":"FAQ SECTION TITLE"},{"type":"section","props":{"css":"\/* Contenitore: domanda + risposta *\/\n.el-item {\n border: 1px solid rgba(0, 0, 0, .05) !important;\n border-radius: 6px;\n overflow: hidden;\n\n \/* Grigio + riflesso lucido (limitato alla parte alta) *\/\n background-color: #f6f8f7;\n background-image: linear-gradient(180deg, rgba(255, 255, 255, .65) 0px, rgba(255, 255, 255, 0) 80px);\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, .95),\n 0 1px 2px rgba(0, 0, 0, .03),\n 0 6px 18px rgba(0, 0, 0, .04);\n transition: border-color .25s ease, box-shadow .25s ease;\n}\n\n\/* Spazio tra le voci *\/\n.el-item + .el-item {\n margin-top: 20px !important;\n padding-top: 0 !important;\n}\n\n\/* Hover neutro: ombra leggermente pi\u00f9 profonda *\/\n.el-item:has(.el-title:hover) {\n border-color: rgba(0, 0, 0, .08) !important;\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 1),\n 0 2px 4px rgba(0, 0, 0, .04),\n 0 10px 24px rgba(0, 0, 0, .06);\n}\n\n\/* Domanda *\/\n.el-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 24px;\n padding: 26px 32px !important;\n background: transparent;\n text-decoration: none;\n}\n\n.el-title,\n.el-title > * {\n font-weight: 600 !important;\n}\n\n.el-title:hover {\n color: #000;\n}\n\n\/* Nasconde l'icona + di default (vecchie e nuove versioni di YOOtheme) *\/\n.el-title::before,\n.el-title .uk-accordion-icon,\n.el-title [uk-accordion-icon] {\n display: none !important;\n}\n\n\/* Chevron a V *\/\n.el-title::after {\n content: \"\";\n flex: none;\n width: 9px;\n height: 9px;\n border-right: 1.5px solid currentColor;\n border-bottom: 1.5px solid currentColor;\n transform: translateY(-25%) rotate(45deg);\n transition: transform .3s ease;\n}\n\n\/* Chevron ruotato verso l'alto quando la voce \u00e8 aperta *\/\n.el-item.uk-open .el-title::after,\n.uk-open > .el-title::after {\n transform: translateY(25%) rotate(225deg);\n}\n\n\/* Risposta dentro il contenitore *\/\n.uk-accordion-content {\n margin-top: 0 !important;\n padding: 4px 32px 42px;\n font-size: .94em;\n line-height: 1.7;\n}\n\n\/* Mobile: aria ridotta per non sprecare spazio *\/\n@media (max-width: 639px) {\n\n .el-item + .el-item {\n margin-top: 14px !important;\n }\n\n .el-title {\n gap: 16px;\n padding: 20px 20px !important;\n }\n\n .uk-accordion-content {\n padding: 2px 20px 30px;\n }\n}","image_position":"center-center","style":"default","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"accordion","props":{"collapsible":true,"content_column_breakpoint":"m","content_dropcap":false,"image_align":"top","image_grid_breakpoint":"m","image_grid_width":"1-2","image_svg_color":"emphasis","link_style":"default","link_text":"Read more","multiple":false,"show_image":true,"show_link":true},"children":[{"type":"accordion_item","props":{"content":"Le lezioni aperte dei Cori Teen si svolgono in Auditorium presso la sede di Cluster, in via Mos\u00e8 Bianchi 96.\nNon \u00e8 richiesta alcuna prenotazione e l\u2019entrata \u00e8 libera.","title":"Dove si svolgono le lezioni aperte dei Cori Teen?"}},{"type":"accordion_item","props":{"content":"Le lezioni aperte di\u00a0Coro Teen si svolgono nello\u00a0stesso giorno e orario di lezione\u00a0con l'apertura al pubblico mezz'ora dopo l'inizio della lezione.\nEs. se la lezione di Coro Teen si svolge sempre il mercoled\u00ec alle 17:00, gli studenti arriveranno alle 17:00 e i genitori alle ore 17:30.","title":"Quando si svolgono?"}},{"type":"accordion_item","props":{"content":"Non c\u2019\u00e8 bisogno di prenotazione e l'entrata \u00e8 libera. Parenti e amici sono molto graditi.","title":"C'\u00e8 bisogno della prenotazione?"}},{"type":"accordion_item","props":{"content":"\n\n\n\n\n\n\n\nPantaloni scuri e maglietta Cluster.La maglietta Cluster verr\u00e0 consegnata a dicembre con tutto il merchandise della Scuola!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","title":"Come si devono vestire gli allievi?"}}]}]}]}],"name":"FAQ"},{"type":"section","props":{"image_position":"center-center","style":"muted","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"headline","props":{"content":"CLUSTERCOROCori Adulti","text_align":"center","title_element":"h3"}}]}]}],"name":"FAQ SECTION TITLE"},{"type":"section","props":{"css":"\/* Contenitore: domanda + risposta *\/\n.el-item {\n border: 1px solid rgba(0, 0, 0, .05) !important;\n border-radius: 6px;\n overflow: hidden;\n\n \/* Grigio + riflesso lucido (limitato alla parte alta) *\/\n background-color: #f6f8f7;\n background-image: linear-gradient(180deg, rgba(255, 255, 255, .65) 0px, rgba(255, 255, 255, 0) 80px);\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, .95),\n 0 1px 2px rgba(0, 0, 0, .03),\n 0 6px 18px rgba(0, 0, 0, .04);\n transition: border-color .25s ease, box-shadow .25s ease;\n}\n\n\/* Spazio tra le voci *\/\n.el-item + .el-item {\n margin-top: 20px !important;\n padding-top: 0 !important;\n}\n\n\/* Hover neutro: ombra leggermente pi\u00f9 profonda *\/\n.el-item:has(.el-title:hover) {\n border-color: rgba(0, 0, 0, .08) !important;\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 1),\n 0 2px 4px rgba(0, 0, 0, .04),\n 0 10px 24px rgba(0, 0, 0, .06);\n}\n\n\/* Domanda *\/\n.el-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 24px;\n padding: 26px 32px !important;\n background: transparent;\n text-decoration: none;\n}\n\n.el-title,\n.el-title > * {\n font-weight: 600 !important;\n}\n\n.el-title:hover {\n color: #000;\n}\n\n\/* Nasconde l'icona + di default (vecchie e nuove versioni di YOOtheme) *\/\n.el-title::before,\n.el-title .uk-accordion-icon,\n.el-title [uk-accordion-icon] {\n display: none !important;\n}\n\n\/* Chevron a V *\/\n.el-title::after {\n content: \"\";\n flex: none;\n width: 9px;\n height: 9px;\n border-right: 1.5px solid currentColor;\n border-bottom: 1.5px solid currentColor;\n transform: translateY(-25%) rotate(45deg);\n transition: transform .3s ease;\n}\n\n\/* Chevron ruotato verso l'alto quando la voce \u00e8 aperta *\/\n.el-item.uk-open .el-title::after,\n.uk-open > .el-title::after {\n transform: translateY(25%) rotate(225deg);\n}\n\n\/* Risposta dentro il contenitore *\/\n.uk-accordion-content {\n margin-top: 0 !important;\n padding: 4px 32px 42px;\n font-size: .94em;\n line-height: 1.7;\n}\n\n\/* Mobile: aria ridotta per non sprecare spazio *\/\n@media (max-width: 639px) {\n\n .el-item + .el-item {\n margin-top: 14px !important;\n }\n\n .el-title {\n gap: 16px;\n padding: 20px 20px !important;\n }\n\n .uk-accordion-content {\n padding: 2px 20px 30px;\n }\n}","image_position":"center-center","style":"default","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"accordion","props":{"collapsible":true,"content_column_breakpoint":"m","content_dropcap":false,"image_align":"top","image_grid_breakpoint":"m","image_grid_width":"1-2","image_svg_color":"emphasis","link_style":"default","link_text":"Read more","multiple":false,"show_image":true,"show_link":true},"children":[{"type":"accordion_item","props":{"content":"Tutti i\u00a0Saggi-Concerto\u00a0si svolgono in\u00a0Auditorium\u00a0presso la sede di Cluster, in via Mos\u00e8 Bianchi 96.\nNon \u00e8 richiesta alcuna prenotazione e l\u2019entrata \u00e8 libera.","title":"Dove si svolgono i Saggi-Concerto dei cori Adulti?"}},{"type":"accordion_item","props":{"content":"I Saggi-Concerto dei Cori Adulti si svolgono secondo il seguente calendario:\n- Luned\u00ec 14 dicembre ore 21:15 | Cori Pop | Ins. Paola Dell'Erba, Vicky Schaetzinger\n- Marted\u00ec 15 dicembre ore 21:15 | Cori Musical e Gospel | Ins. Alberto Meloni, Claudia Cantisani\n- Gioved\u00ec 17 dicembre ore 21:15 | Cori Swing e Pop | Ins. Alberto Meloni, Claudia Cantisani, Felice Del Vecchio","title":"Quando si svolgono?"}},{"type":"accordion_item","props":{"content":"Non c\u2019\u00e8 bisogno di prenotazione e l'entrata \u00e8 libera. Parenti e amici sono molto graditi.Aspettiamo il pubblico\u00a0cinque minuti prima dell'inizio.","title":"C'\u00e8 bisogno della prenotazione?"}},{"type":"accordion_item","props":{"content":"Domenica 13 dicembre torna il concerto Gospel al Teatro PIME, in due repliche: alle 17:00 e alle 20:30. Canta il ClusterGospelChoir, diretto da Piero Basilico.\nBiglietti\nPer gli amici di Cluster c\u2019\u00e8 uno sconto speciale sui biglietti: controlla la tua casella di posta per trovare il codice da inserire al momento dell'acquisto.\nScopri tutte le info e acquista i biglietti: CLICCA QUI\nIl concerto \u00e8 organizzato dal Centro PIME, a sostegno della sua attivit\u00e0 missionaria.\nPer informazioni sull\u2019acquisto dei biglietti: info@teatropime.it \u00b7 02 43.822.425\nPer i coristi\nSoundcheck alle 14:30 al Teatro PIME.","title":"ClusterGospelChoir al Teatro Pime domenica 13 dicembre"}}]}]}]}],"name":"FAQ"},{"type":"section","props":{"image_position":"center-center","style":"muted","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"headline","props":{"content":"MUSICA D'INSIEMESaggio-Concerto","text_align":"center","title_element":"h3","title_style":"h3"}}]}]}],"name":"FAQ SECTION TITLE"},{"type":"section","props":{"css":"\/* Contenitore: domanda + risposta *\/\n.el-item {\n border: 1px solid rgba(0, 0, 0, .05) !important;\n border-radius: 6px;\n overflow: hidden;\n\n \/* Grigio + riflesso lucido (limitato alla parte alta) *\/\n background-color: #f6f8f7;\n background-image: linear-gradient(180deg, rgba(255, 255, 255, .65) 0px, rgba(255, 255, 255, 0) 80px);\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, .95),\n 0 1px 2px rgba(0, 0, 0, .03),\n 0 6px 18px rgba(0, 0, 0, .04);\n transition: border-color .25s ease, box-shadow .25s ease;\n}\n\n\/* Spazio tra le voci *\/\n.el-item + .el-item {\n margin-top: 20px !important;\n padding-top: 0 !important;\n}\n\n\/* Hover neutro: ombra leggermente pi\u00f9 profonda *\/\n.el-item:has(.el-title:hover) {\n border-color: rgba(0, 0, 0, .08) !important;\n box-shadow:\n inset 0 1px 0 rgba(255, 255, 255, 1),\n 0 2px 4px rgba(0, 0, 0, .04),\n 0 10px 24px rgba(0, 0, 0, .06);\n}\n\n\/* Domanda *\/\n.el-title {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 24px;\n padding: 26px 32px !important;\n background: transparent;\n text-decoration: none;\n}\n\n.el-title,\n.el-title > * {\n font-weight: 600 !important;\n}\n\n.el-title:hover {\n color: #000;\n}\n\n\/* Nasconde l'icona + di default (vecchie e nuove versioni di YOOtheme) *\/\n.el-title::before,\n.el-title .uk-accordion-icon,\n.el-title [uk-accordion-icon] {\n display: none !important;\n}\n\n\/* Chevron a V *\/\n.el-title::after {\n content: \"\";\n flex: none;\n width: 9px;\n height: 9px;\n border-right: 1.5px solid currentColor;\n border-bottom: 1.5px solid currentColor;\n transform: translateY(-25%) rotate(45deg);\n transition: transform .3s ease;\n}\n\n\/* Chevron ruotato verso l'alto quando la voce \u00e8 aperta *\/\n.el-item.uk-open .el-title::after,\n.uk-open > .el-title::after {\n transform: translateY(25%) rotate(225deg);\n}\n\n\/* Risposta dentro il contenitore *\/\n.uk-accordion-content {\n margin-top: 0 !important;\n padding: 4px 32px 42px;\n font-size: .94em;\n line-height: 1.7;\n}\n\n\/* Mobile: aria ridotta per non sprecare spazio *\/\n@media (max-width: 639px) {\n\n .el-item + .el-item {\n margin-top: 14px !important;\n }\n\n .el-title {\n gap: 16px;\n padding: 20px 20px !important;\n }\n\n .uk-accordion-content {\n padding: 2px 20px 30px;\n }\n}","id":"faq","image_position":"center-center","style":"default","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"middle","width":"default"},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"accordion","props":{"collapsible":true,"content_column_breakpoint":"m","content_dropcap":false,"image_align":"top","image_grid_breakpoint":"m","image_grid_width":"1-2","image_svg_color":"emphasis","link_style":"default","link_text":"Read more","multiple":false,"show_image":true,"show_link":true},"children":[{"type":"accordion_item","props":{"content":"Tutti i\u00a0Saggi-Concerto\u00a0si svolgono in\u00a0Auditorium\u00a0presso la sede di Cluster, in via Mos\u00e8 Bianchi 96.\nNon \u00e8 richiesta alcuna prenotazione e l\u2019entrata \u00e8 libera.","title":"Dove si svolgono i Saggi-concerto di Musica d'insieme?"}},{"type":"accordion_item","props":{"content":"Non c\u2019\u00e8 bisogno di prenotazione e l'entrata \u00e8 libera. Parenti e amici sono molto graditi.Aspettiamo il pubblico\u00a0cinque minuti prima dell'inizio.","title":"C'\u00e8 bisogno della prenotazione?"}},{"type":"accordion_item","props":{"content":"Per trovare l'orario dell'esibizione della tua band di Musica d'insieme CLICCA QUI.","title":"Sono un allievo che si deve esibire: quando suona la mia band?"}},{"type":"accordion_item","props":{"content":"A presto con tutte le news!","status":"disabled","title":"Quali gruppi di musica d'insieme suonano alle 17:30 e alle 19:45?"}},{"type":"accordion_item","props":{"content":"Domenica 21 dicembre alle ore 17:30 parteciperanno i seguenti gruppi di Musica d'insieme:- Liv. Base | Marted\u00ec ore 15:00 | Ins. Antonello Fiamma- Liv. Initial | Marted\u00ec ore 16:00 | Ins. Giuseppe Panagia- Liv. Initial | Marted\u00ec ore 17:00 | Ins. Antonello Fiamma- Liv. Initial | Mercoled\u00ec ore 17:00 | Ins. Giuliano Dottori- Liv. Base | Mercoled\u00ec ore 18:00 | Ins. Giuliano Dottori- Liv. Intermedio | Mercoled\u00ec ore 19:00 | Ins. Giuliano Dottori- Liv. Base | Gioved\u00ec ore 16:00 | Ins. Felice Del Vecchio- Liv. Base | Gioved\u00ec ore 17:00 | Ins. Felice Del Vecchio\n\nDomenica 21 dicembre alle ore 19:45 parteciperanno i seguenti gruppi di Musica d'insieme e di Coro:\n- Liv. Base\/Interm. | Marted\u00ec ore 18:00 | Ins. Antonello Fiamma\n- Liv. Interm\/Avanz. | Marted\u00ec ore 19:00 | Ins. Antonello Fiamma- Liv. Interm\/Avanz. | Marted\u00ec ore 20:00 | Ins. Antonello Fiamma- Liv. Interm\/Avanz. | Mercoled\u00ec ore 20:00 | Ins. Giuliano Dottori- Liv. Intermedio | Gioved\u00ec ore 19:00 | Ins. Felice Del Vecchio- Liv. Base | Gioved\u00ec ore 20:00 | Ins. Felice Del Vecchio- Liv. Interm\/Avanz. | Gioved\u00ec ore 21:00 | Ins. Raffaele Trapasso- Cori ragazzi | Marted\u00ec ore 20:00 e ore 21:00 | Ins. Paola Dell'Erba","status":"disabled","title":"Come si svolge la serata di domenica 21 dicembre?"}}]}]}],"props":{"id":"festaconcerto"}}],"name":"F.A.Q."},{"type":"section","props":{"image_effect":"fixed","image_position":"top-center","image_size":"cover","media_overlay":"rgba(67, 28, 0, 0.16)","padding_remove_bottom":false,"style":"muted","title_breakpoint":"xl","title_position":"top-left","title_rotation":"left","vertical_align":"","width":""},"children":[{"type":"row","children":[{"type":"column","props":{"image_position":"center-center","position_sticky_breakpoint":"m"},"children":[{"type":"module","props":{"menu_image_align":"center","menu_image_margin":true,"menu_style":"default","menu_type":"nav","module":"356","type":"mod_yootheme_builder"}}]}]}],"name":"MODULO - FOLLOW US CTA"}],"version":"4.5.32"} -->
