/* isolamento dagli stili del tema */
html body:not(#t3x) button,html body:not(#t3x) input{all:revert}
html body:not(#t3x) a{text-decoration:revert}
html body:not(#t3x) p,html body:not(#t3x) h1,html body:not(#t3x) h2,html body:not(#t3x) h3,html body:not(#t3x) h4,html body:not(#t3x) h5,html body:not(#t3x) h6,html body:not(#t3x) ul,html body:not(#t3x) ol,html body:not(#t3x) figure,html body:not(#t3x) blockquote{margin-block:revert}
html body:not(#t3x) img{max-width:none;border:0;border-radius:0;box-shadow:none}
:root{
color-scheme:dark;
–nero:#0a0a0a; –grafite:#1a1a1a; –linea:#2c2c2c; –grigio:#9a9a9a; –bianco:#e8e8e8; –puro:#fff;
–display:”Dela Gothic One”,”Impact”,”Arial Black”,sans-serif;
–cond:”Barlow Condensed”,”Arial Narrow”,Impact,sans-serif;
–testo:”Barlow”,”Helvetica Neue”,Arial,sans-serif;
box-sizing:border-box;
padding-top:env(safe-area-inset-top,0px);
padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html:root{scroll-behavior:smooth;scroll-padding-top:calc(72px + env(safe-area-inset-top,0px));background:var(–nero)}
html body:not(#t3x){margin:0;background:var(–nero);color:var(–bianco);font:400 1.0625rem/1.6 var(–testo);-webkit-font-smoothing:antialiased}
html body:not(#t3x) a{color:inherit}
html body:not(#t3x) :focus-visible{outline:3px solid var(–puro);outline-offset:3px}
html body:not(#t3x) .wrap{width:min(1100px,100% – 2.5rem);margin-inline:auto}
html body:not(#t3x) h1,html body:not(#t3x) h2,html body:not(#t3x) h3{margin:0}
html body:not(#t3x) h2{font:700 clamp(2.6rem,9vw,5rem)/.95 var(–cond);text-transform:uppercase;color:var(–puro)}
/* barra superiore */
html body:not(#t3x) header{position:fixed;inset:0 0 auto 0;z-index:30;display:flex;align-items:center;justify-content:space-between;
padding:calc(14px + env(safe-area-inset-top,0px)) 1.25rem 14px;background:rgba(10,10,10,.88);backdrop-filter:blur(8px);border-bottom:1px solid var(–linea)}
html body:not(#t3x) .sigla{font:400 1.4rem/1 var(–display);text-decoration:none;color:var(–bianco)}
html body:not(#t3x) #apri{background:none;border:1px solid var(–bianco);color:var(–bianco);font:600 1.1rem/1 var(–cond);text-transform:uppercase;padding:.6rem 1rem;cursor:pointer;letter-spacing:.04em}
html body:not(#t3x) #apri:hover{background:var(–bianco);color:var(–nero)}
/* menu compatto a tendina */
html body:not(#t3x) #menu{position:fixed;z-index:40;top:calc(68px + env(safe-area-inset-top,0px));right:1.25rem;width:min(250px,calc(100vw – 2.5rem));
background:#0e0e0e;border:1px solid var(–linea);border-radius:14px;padding:.35rem 1.15rem;box-shadow:0 16px 40px rgba(0,0,0,.6);
max-height:calc(100svh – 90px);overflow-y:auto;visibility:hidden;opacity:0;transform:translateY(-8px);
transition:opacity .22s ease,transform .26s ease,visibility 0s linear .26s}
html body:not(#t3x) #menu.aperto{visibility:visible;opacity:1;transform:none;transition-delay:0s}
html body:not(#t3x) #chiudi{display:none}
html body:not(#t3x) #menu ul{list-style:none;margin:0;padding:0}
html body:not(#t3x) #menu li{border-bottom:1px solid var(–linea)}
html body:not(#t3x) #menu li:last-child{border-bottom:0}
html body:not(#t3x) #menu li a{display:block;padding:.8rem 0;font:600 1.45rem/1 var(–cond);letter-spacing:.03em;text-transform:uppercase;text-decoration:none;color:var(–puro)}
html body:not(#t3x) #menu li a:hover,html body:not(#t3x) #menu li a:focus-visible{color:var(–grigio)}
@media(prefers-reduced-motion:reduce){html body:not(#t3x) #menu{transform:none;transition:opacity .15s,visibility 0s linear .15s}}
/* hero */
html body:not(#t3x) .hero{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:6rem 0 3rem;
background:radial-gradient(ellipse at 20% 0%,#161616 0,var(–nero) 60%)}
html body:not(#t3x) .logo{font:400 clamp(2.6rem,12vw,10rem)/1.08 var(–display);color:var(–bianco);text-transform:uppercase;margin:0;overflow:hidden;padding:.04em 0}
html body:not(#t3x) .logo span{display:block;white-space:nowrap;animation:sale .9s cubic-bezier(.2,.8,.2,1) both}
html body:not(#t3x) .logo span:nth-child(2){animation-delay:.12s}
@keyframes sale{from{transform:translateY(105%)}to{transform:none}}
html body:not(#t3x) .hero .est{margin:2.2rem 0 .4rem;font:600 1.15rem/1 var(–cond);letter-spacing:.35em;color:var(–grigio)}
html body:not(#t3x) .hero .servizi-riga{margin:1.8rem 0 0;font:500 1.15rem/1.4 var(–cond);letter-spacing:.22em;text-transform:uppercase;color:var(–bianco)}
/* striscia ledwall */
html body:not(#t3x) .led{position:relative;overflow:hidden;margin-top:1.8rem;height:2.7rem;display:flex;align-items:center;background:#050505;border-block:1px solid var(–linea)}
html body:not(#t3x) .led::after{content:””;position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,transparent 0 .9px,rgba(0,0,0,.45) 1.4px);background-size:3px 3px}
html body:not(#t3x) .led-pista{display:flex;flex:none;width:max-content;animation:scorri 32s linear infinite}
html body:not(#t3x) .led-gruppo{display:flex;flex:none;align-items:center;font:400 1.5rem/1 “DotGothic16″,”Courier New”,monospace;letter-spacing:.08em;text-transform:uppercase;color:var(–puro);text-shadow:0 0 7px rgba(255,255,255,.6);white-space:nowrap}
html body:not(#t3x) .led-gruppo i{display:inline-block;width:.38em;height:.38em;background:currentColor;margin:0 1.3em}
html body:not(#t3x) .led-gruppo u{display:inline-block;width:1em;height:.14em;background:currentColor;margin:0 .9em;text-decoration:none}
@keyframes scorri{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){html body:not(#t3x) .led-pista{animation:none}html body:not(#t3x) .led-gruppo + .led-gruppo{display:none}}
html body:not(#t3x) .f-ig{margin:1.4rem 0 0;font:600 1.5rem/1 var(–cond)}
html body:not(#t3x) .f-ig a{color:var(–puro)}
html body:not(#t3x) .hero .cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.5rem}
html body:not(#t3x) .btn{display:inline-block;padding:1rem 1.6rem;font:700 1.25rem/1 var(–cond);text-transform:uppercase;text-decoration:none;border:2px solid var(–bianco)}
html body:not(#t3x) .btn.pieno{background:var(–bianco);color:var(–nero)}
html body:not(#t3x) .btn.pieno:hover{background:var(–puro)}
html body:not(#t3x) .btn.vuoto:hover{background:var(–bianco);color:var(–nero)}
html body:not(#t3x) section{padding:5.5rem 0;border-top:1px solid var(–linea)}
html body:not(#t3x) section h2{margin-bottom:2rem}
/* biografia */
html body:not(#t3x) .bio{display:grid;gap:2rem}
html body:not(#t3x) .bio p{margin:0 0 1.1rem;max-width:62ch;color:var(–bianco)}
html body:not(#t3x) .bio .grande{font:600 clamp(1.8rem,5vw,2.8rem)/1.1 var(–cond);color:var(–puro);max-width:22ch}
@media(min-width:800px){html body:not(#t3x) .bio{grid-template-columns:1fr 1fr;gap:4rem}}
/* portfolio */
html body:not(#t3x) .rullo{display:flex;gap:1.9rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;margin-inline:-1.25rem;padding-inline:1.25rem}
html body:not(#t3x) .evento{margin:-.5rem 0 2rem}
html body:not(#t3x) .evento h3{font:700 clamp(2rem,6.5vw,3.4rem)/1 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .evento .dettaglio{font:600 1.25rem/1.3 var(–cond);color:var(–bianco);margin:.7rem 0 .5rem}
html body:not(#t3x) .evento p:last-child{margin:0;max-width:60ch;color:var(–grigio)}
html body:not(#t3x) .poster{flex:0 0 min(78vw,340px);margin:0;scroll-snap-align:start}
html body:not(#t3x) .poster figcaption{margin-top:.7rem;font:600 1.2rem/1.1 var(–cond);text-transform:uppercase;letter-spacing:.04em;color:var(–bianco)}
html body:not(#t3x) .poster img{display:block;width:100%;height:auto;border:1px solid var(–linea)}
html body:not(#t3x) .programma{margin-top:2rem}
html body:not(#t3x) .nota{color:var(–grigio);font-size:.95rem;margin-top:1rem}
html body:not(#t3x) .lead{font:600 clamp(1.6rem,4.5vw,2.4rem)/1.15 var(–cond);color:var(–puro);margin:-.8rem 0 2rem}
/* servizi e zone: righe con divisori come nel menu */
html body:not(#t3x) .righe{list-style:none;margin:0;padding:0;border-top:2px solid var(–linea)}
html body:not(#t3x) .righe li{border-bottom:2px solid var(–linea);padding:1.6rem 0;display:grid;gap:.5rem}
html body:not(#t3x) .righe h3{font:700 clamp(2rem,6vw,3rem)/1 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .righe p{margin:0;max-width:60ch;color:var(–grigio)}
@media(min-width:800px){html body:not(#t3x) .righe li{grid-template-columns:minmax(260px,1fr) 2fr;align-items:baseline;gap:2rem}}
/* format squarciagola */
html body:not(#t3x) #format{padding:0}
html body:not(#t3x) .f-testa{padding:3.5rem 0 3rem;text-align:center}
html body:not(#t3x) .fmt-sq .f-testa{background:repeating-conic-gradient(from 0deg at 50% 40%,#0a0a0a 0 6deg,#3b1111 6deg 12deg)}
html body:not(#t3x) .badge{width:clamp(190px,56vw,300px);aspect-ratio:1;border-radius:50%;overflow:hidden;margin:0 auto;border:5px solid var(–bianco);background:#000}
html body:not(#t3x) .badge img{display:block;width:100%;height:100%;object-fit:cover}
html body:not(#t3x) .f-testa h2{margin:0 0 1.5rem}
html body:not(#t3x) .f-nome{margin:1.8rem 0 .6rem;font:700 clamp(2.6rem,9vw,5rem)/.95 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) button.badge{display:block;padding:0;cursor:pointer;color:inherit}
html body:not(#t3x) button.badge:hover{border-color:var(–puro)}
html body:not(#t3x) button.badge[aria-expanded=”false”]{animation:batti 2.4s ease-out infinite}
@keyframes batti{0%{box-shadow:0 0 0 0 rgba(232,232,232,.5)}70%,100%{box-shadow:0 0 0 22px rgba(232,232,232,0)}}
html body:not(#t3x) .hint{margin:1.4rem 0 0;font:600 1.3rem/1.2 var(–cond);letter-spacing:.06em;text-transform:uppercase;color:var(–bianco)}
@media(prefers-reduced-motion:reduce){html body:not(#t3x) button.badge{animation:none!important}}
html body:not(#t3x) .slogan{margin:0;font:700 clamp(1.6rem,6vw,2.6rem)/1.1 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .nega{margin:.6rem 0 1.8rem;font:500 1.35rem/1.3 var(–cond);color:var(–bianco)}
html body:not(#t3x) .f-corpo{padding:4rem 0 5rem}
html body:not(#t3x) .f-lead{margin:0 0 1.5rem;max-width:24ch;font:600 clamp(1.7rem,5vw,2.6rem)/1.1 var(–cond);color:var(–puro)}
html body:not(#t3x) .tag{list-style:none;margin:0 0 3rem;padding:0;display:flex;flex-wrap:wrap;gap:.6rem}
html body:not(#t3x) .tag li{border:1px solid var(–bianco);padding:.55rem .9rem;font:600 1.15rem/1 var(–cond);text-transform:uppercase}
html body:not(#t3x) .drink{display:grid;gap:1.5rem;margin-top:3.5rem;align-items:center}
html body:not(#t3x) .drink img{display:block;width:100%;height:auto;border:1px solid var(–linea)}
html body:not(#t3x) .drink h3{font:700 clamp(2rem,6vw,3rem)/1 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .drink blockquote{margin:.6rem 0 1rem;color:var(–grigio);font-style:italic}
html body:not(#t3x) .drink ul{margin:0;padding-left:1.1rem}
html body:not(#t3x) .f-info{margin:3rem 0 0;color:var(–grigio)}
html body:not(#t3x) .f-info a{color:var(–bianco)}
@media(min-width:800px){html body:not(#t3x) .drink{grid-template-columns:1fr 1fr;gap:3rem}}
/* halloween al twist */
html body:not(#t3x) #halloween{–zucca:#ff7a2f;–sangue:#e8402a;position:relative;overflow:hidden;isolation:isolate;border-top:0;background:linear-gradient(to bottom,var(–nero) 0,rgba(10,10,10,0) 18%,rgba(10,10,10,0) 82%,var(–nero) 100%),radial-gradient(ellipse 80% 38% at 50% 80%,rgba(232,64,42,.26),transparent 70%),radial-gradient(ellipse 70% 40% at 50% 22%,rgba(110,40,150,.34),transparent 70%),var(–nero)}
html body:not(#t3x) #halloween .wrap{position:relative;z-index:2}
html body:not(#t3x) #halloween .evento .dettaglio{color:var(–zucca)}
html body:not(#t3x) .ragnatela{position:absolute;top:0;z-index:1;width:min(46vw,270px);height:auto;color:rgba(232,232,232,.4);pointer-events:none}
html body:not(#t3x) .ragnatela.sx{left:0}
html body:not(#t3x) .ragnatela.dx{right:0;transform:scaleX(-1)}
html body:not(#t3x) .fantasma{position:absolute;z-index:1;color:rgba(232,232,232,.17);pointer-events:none;animation:fluttua 16s ease-in-out infinite alternate}
html body:not(#t3x) .fantasma.f1{width:70px;left:6%;top:24%}
html body:not(#t3x) .fantasma.f2{width:104px;right:5%;top:46%;animation-duration:21s;animation-delay:-6s}
html body:not(#t3x) .fantasma.f3{width:56px;left:18%;top:80%;animation-duration:13s;animation-delay:-3s}
html body:not(#t3x) .fantasma.f4{width:84px;right:24%;top:11%;animation-duration:18s;animation-delay:-9s}
@keyframes fluttua{0%{transform:translate(0,0) rotate(-6deg)}50%{transform:translate(34px,-26px) rotate(5deg)}100%{transform:translate(-22px,-52px) rotate(-4deg)}}
html body:not(#t3x) .calderone{position:relative;max-width:560px;margin:2.5rem auto 3rem}
html body:not(#t3x) .esce{position:relative;z-index:1;display:block;width:66%;margin:0 auto -9%;animation:emerge 3.6s ease-in-out infinite alternate;box-shadow:0 0 50px rgba(255,110,40,.45),0 0 120px rgba(150,40,190,.35)}
html body:not(#t3x) .esce img{display:block;width:100%;height:auto}
@keyframes emerge{to{transform:translateY(-8px)}}
html body:not(#t3x) .vetro{position:relative;z-index:2}
html body:not(#t3x) .vetro>img{display:block;width:100%;height:auto}
html body:not(#t3x) .vetro::before{content:””;position:absolute;left:6%;right:6%;top:-3%;height:12%;background:radial-gradient(ellipse at 50% 100%,rgba(255,120,60,.55),transparent 70%);filter:blur(10px);pointer-events:none;animation:vapore 3s ease-in-out infinite alternate}
@keyframes vapore{from{opacity:.45}to{opacity:1}}
html body:not(#t3x) .bolle{position:absolute;left:8%;right:8%;top:6%;height:0;z-index:3;pointer-events:none}
html body:not(#t3x) .bolle i{position:absolute;bottom:0;border-radius:50%;border:2px solid rgba(255,190,130,.85);background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.55),rgba(255,90,50,.25));opacity:0;animation:bolla 3.2s ease-in infinite}
@keyframes bolla{0%{transform:translateY(26px) scale(.4);opacity:0}15%{opacity:1}70%{opacity:.9}100%{transform:translateY(-80px) scale(1.15);opacity:0}}
html body:not(#t3x) .bolle b{position:absolute;bottom:0;width:90px;height:90px;margin-left:-45px;border-radius:50%;background:radial-gradient(circle,rgba(255,200,170,.32),transparent 70%);filter:blur(8px);opacity:0;animation:fumo 5s ease-out infinite}
@keyframes fumo{0%{transform:translateY(10px) scale(.6);opacity:0}30%{opacity:.8}100%{transform:translateY(-120px) scale(1.5);opacity:0}}
html body:not(#t3x) .hall-desc{margin-top:3rem;padding-left:1.2rem;border-left:4px solid var(–zucca);max-width:62ch}
html body:not(#t3x) .hall-desc h3{font:700 clamp(2rem,6vw,3rem)/1 var(–cond);text-transform:uppercase;color:var(–puro);margin-bottom:.8rem}
html body:not(#t3x) .hall-desc p{margin:0 0 1rem}
html body:not(#t3x) .hall-desc .hall-lead{font:600 clamp(1.4rem,4.2vw,1.9rem)/1.25 var(–cond);color:var(–puro)}
@media(prefers-reduced-motion:reduce){html body:not(#t3x) .fantasma,html body:not(#t3x) .esce,html body:not(#t3x) .vetro::before{animation:none}html body:not(#t3x) .bolle{display:none}}
/* artisti: selezione personaggi 3D */
html body:not(#t3x) #artisti{background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(255,255,255,.06),transparent 70%),var(–nero)}
html body:not(#t3x) .selezione{display:grid;gap:2rem;align-items:center}
html body:not(#t3x) .stage{position:relative;height:clamp(330px,94vw,540px);overflow:hidden;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;background:radial-gradient(ellipse 75% 60% at 50% 42%,#1d1d1d,#0a0a0a 74%);border-block:1px solid var(–linea)}
html body:not(#t3x) .stage.trascina{cursor:grabbing}
html body:not(#t3x) .stage:focus-visible{outline-offset:-3px}
html body:not(#t3x) .faro{position:absolute;left:50%;top:0;width:min(78%,420px);height:calc(100% – 50px);transform:translateX(-50%);clip-path:polygon(41% 0,59% 0,100% 100%,0 100%);background:linear-gradient(to bottom,rgba(255,255,255,.42),rgba(255,255,255,.07) 72%,transparent);filter:blur(12px);opacity:calc(var(–luce,0)*.9);pointer-events:none}
html body:not(#t3x) .piatto{–w:min(460px,98vw);position:absolute;left:50%;top:100%;width:var(–w);height:var(–w);margin:calc(var(–w)/-2 – 66px) 0 0 calc(var(–w)/-2);border-radius:50%;border:2px solid rgba(255,255,255,.3);transform:perspective(900px) rotateX(72deg);background:radial-gradient(circle,rgba(255,255,255,calc(.5*var(–luce,0))) 0,rgba(255,255,255,calc(.16*var(–luce,0))) 34%,transparent 62%);box-shadow:0 0 40px rgba(255,255,255,calc(.25*var(–luce,0))),inset 0 0 0 1px rgba(255,255,255,.08);pointer-events:none}
html body:not(#t3x) .tacche{position:absolute;inset:7%;border-radius:50%;background:repeating-conic-gradient(rgba(255,255,255,.4) 0 .9deg,transparent .9deg 8.5deg);-webkit-mask:radial-gradient(circle,transparent 0 82%,#000 83% 100%);mask:radial-gradient(circle,transparent 0 82%,#000 83% 100%);transform:rotate(var(–rot,0deg))}
html body:not(#t3x) .palco{position:absolute;inset:0;perspective:1000px;perspective-origin:50% 38%}
html body:not(#t3x) .art{position:absolute;left:50%;bottom:62px;height:76%;width:max-content;transform-origin:50% 100%;will-change:transform,opacity}
html body:not(#t3x) .art::before{content:””;position:absolute;left:-30%;right:-30%;top:0;bottom:-6%;background:radial-gradient(ellipse at 50% 42%,rgba(255,255,255,.42),rgba(255,255,255,.1) 46%,transparent 68%);opacity:var(–l,0);pointer-events:none}
html body:not(#t3x) .art img{position:relative;display:block;height:100%;width:auto;max-width:none;pointer-events:none;-webkit-user-drag:none;-webkit-mask-image:linear-gradient(to bottom,#000 76%,transparent 100%);mask-image:linear-gradient(to bottom,#000 76%,transparent 100%)}
html body:not(#t3x) .comandi{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}
html body:not(#t3x) .comandi button{flex:none;width:3rem;height:3rem;border-radius:50%;border:1px solid var(–bianco);background:none;color:var(–bianco);display:grid;place-items:center;cursor:pointer}
html body:not(#t3x) .comandi button:hover{background:var(–bianco);color:var(–nero)}
html body:not(#t3x) .comandi svg{width:1.3rem;height:1.3rem}
html body:not(#t3x) .comandi span{font:600 1.15rem/1 var(–cond);letter-spacing:.14em;text-transform:uppercase;color:var(–grigio);text-align:center}
html body:not(#t3x) .info{transition:opacity .25s}
html body:not(#t3x) .info.mov{opacity:.3}
html body:not(#t3x) .info .num{margin:0 0 .6rem;font:600 1.1rem/1 var(–cond);letter-spacing:.2em;color:var(–grigio)}
/* Elenco artisti: visibile se il carosello non parte, nascosto quando il carosello è attivo */
html body:not(#t3x) #a-dati{display:grid;gap:2rem;margin-top:2rem}
html body:not(#t3x) #a-dati article{display:flow-root}
html body:not(#t3x) #a-dati img{float:left;width:7rem;height:9rem;object-fit:cover;object-position:top;border-radius:4px;margin:0 1.2rem .6rem 0}
html body:not(#t3x) #a-dati h3{margin:0;font:400 1.5rem/1.1 var(–display);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) #a-dati p{margin:.4rem 0 0;color:var(–bianco);font-size:.95rem}
html body:not(#t3x) #a-dati p.r{font:600 1rem/1.2 var(–cond);letter-spacing:.2em;text-transform:uppercase}
html body:not(#t3x) .a-js #a-dati{display:none}
html body:not(#t3x) .nome{margin:0;font:400 clamp(1.7rem,6.6vw,3rem)/1.08 var(–display);text-transform:uppercase;color:var(–puro);overflow-wrap:normal}
html body:not(#t3x) .nome .w{display:inline-block;white-space:nowrap}
html body:not(#t3x) .nome .w span{display:inline-block;opacity:0;transform:translateY(.45em) scale(1.25);filter:blur(7px);transition:opacity .45s ease,transform .55s cubic-bezier(.2,.8,.2,1),filter .45s ease;transition-delay:calc(var(–i)*42ms)}
html body:not(#t3x) .info.on .nome .w span{opacity:1;transform:none;filter:none}
html body:not(#t3x) .ruolo{display:flex;align-items:center;gap:.9rem;margin:1rem 0 1.4rem;font:600 1.3rem/1.2 var(–cond);letter-spacing:.22em;text-transform:uppercase;color:var(–bianco);opacity:0;transform:translateX(-12px);transition:opacity .5s .3s,transform .5s .3s}
html body:not(#t3x) .ruolo::after{content:””;flex:1;max-width:5rem;height:1px;background:var(–bianco)}
html body:not(#t3x) .info.on .ruolo{opacity:1;transform:none}
html body:not(#t3x) .info .bio p{margin:0 0 1rem;max-width:58ch;opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease;transition-delay:calc(.45s + var(–k)*.14s)}
html body:not(#t3x) .info.on .bio p{opacity:1;transform:none}
@media(min-width:900px){html body:not(#t3x) .selezione{grid-template-columns:1.2fr .8fr;gap:3rem}html body:not(#t3x) .nome{font-size:clamp(1.8rem,3vw,2.7rem)}}
@media(prefers-reduced-motion:reduce){html body:not(#t3x) .nome .w span,html body:not(#t3x) .ruolo,html body:not(#t3x) .info .bio p{transition-duration:.01s;transition-delay:0s!important}}
/* date */
html body:not(#t3x) .d-lead{margin:-.8rem 0 2rem;font:600 clamp(1.4rem,4.4vw,2rem)/1.2 var(–cond);color:var(–puro);text-transform:uppercase}
html body:not(#t3x) .date-lista{list-style:none;margin:0;padding:0;border-top:2px solid var(–linea)}
html body:not(#t3x) .date-lista .riga{display:grid;grid-template-columns:6.6rem 1fr;grid-template-areas:”data evento” “data luogo”;gap:.15rem 1.2rem;align-items:center;padding:1.1rem 0;border-bottom:2px solid var(–linea)}
html body:not(#t3x) .date-lista:not(.tutte) .passata{display:none}
html body:not(#t3x) .date-lista .passata{opacity:.4}
html body:not(#t3x) .d-data{grid-area:data;font:700 1.9rem/1 var(–cond);color:var(–puro);text-transform:uppercase}
html body:not(#t3x) .d-data small{display:block;margin-bottom:.25rem;font:600 .95rem/1 var(–cond);letter-spacing:.16em;color:var(–grigio)}
html body:not(#t3x) .d-evento{grid-area:evento;font:700 clamp(1.5rem,5vw,2rem)/1.1 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .d-luogo{grid-area:luogo;font:500 1.15rem/1.2 var(–cond);letter-spacing:.14em;text-transform:uppercase;color:var(–grigio)}
html body:not(#t3x) .pross{display:inline-block;margin-left:.7rem;padding:.2rem .5rem;border:1px solid var(–bianco);font:600 .9rem/1 var(–cond);letter-spacing:.14em;vertical-align:middle}
html body:not(#t3x) #d-passate{margin-top:2rem;background:none;color:var(–bianco);cursor:pointer}
html body:not(#t3x) #d-passate:hover{background:var(–bianco);color:var(–nero)}
@media(min-width:760px){html body:not(#t3x) .date-lista .riga{grid-template-columns:1.1fr 7.5rem 1.5fr;grid-template-areas:”luogo data evento”;gap:1.5rem}html body:not(#t3x) .d-luogo{font-size:1.3rem;color:var(–bianco)}}
/* finale */
html body:not(#t3x) .finale{display:flex;align-items:center;justify-content:center;padding:1.5rem 1.25rem 3.5rem;text-align:center;background:#000;border-top:0}
html body:not(#t3x) .finale figure{margin:0;max-width:1000px}
html body:not(#t3x) .av-logo{display:block;width:26px;height:26px;margin:0 auto 1.3rem;fill:var(–bianco);opacity:0;transition:opacity 1.6s ease}
html body:not(#t3x) .finale blockquote{margin:0}
html body:not(#t3x) .finale blockquote p{margin:0;font:500 clamp(2.1rem,7.2vw,4.6rem)/1.06 var(–cond);letter-spacing:.04em;text-transform:uppercase;color:var(–puro);text-wrap:balance;opacity:0;filter:blur(8px);transform:translateY(12px);transition:opacity 2.8s ease 1s,filter 2.8s ease 1s,transform 2.8s ease 1s}
html body:not(#t3x) .finale figcaption{margin-top:1.8rem;padding-left:.55em;font:500 .95rem/1 var(–testo);letter-spacing:.55em;text-transform:uppercase;color:var(–grigio);opacity:0;transition:opacity 2.2s ease 2.4s}
html body:not(#t3x) .finale.visto .av-logo,html body:not(#t3x) .finale.visto figcaption{opacity:1}
html body:not(#t3x) .finale.visto blockquote p{opacity:1;filter:none;transform:none}
@media(prefers-reduced-motion:reduce){html body:not(#t3x) .av-logo,html body:not(#t3x) .finale blockquote p,html body:not(#t3x) .finale figcaption{transition:none}}
/* altri format */
html body:not(#t3x) .f-intro{padding:5.5rem 0 1.5rem}
html body:not(#t3x) .f-intro h2{margin-bottom:1rem}
html body:not(#t3x) .f-intro .hint{margin:0}
html body:not(#t3x) .fmt{–ac:var(–bianco)}
html body:not(#t3x) .fmt-sm{–ac:#e8232d}
html body:not(#t3x) .fmt-ec{–ac:#e879bf}
html body:not(#t3x) .fmt-sm .f-testa{background:radial-gradient(ellipse 75% 85% at 50% 42%,rgba(232,35,45,.4),transparent 72%),var(–nero)}
html body:not(#t3x) .fmt-ec .f-testa{background:radial-gradient(ellipse 75% 85% at 50% 42%,rgba(232,121,191,.42),transparent 72%),var(–nero)}
html body:not(#t3x) .badge.largo img{object-fit:contain;padding:13%}
html body:not(#t3x) .fmt-sm .badge{background:#ececec;border-color:var(–bianco)}
html body:not(#t3x) .fmt-ec .badge{border-color:var(–ac)}
html body:not(#t3x) .fmt-ec .badge[aria-expanded=”false”]{animation-name:battiR}
@keyframes battiR{0%{box-shadow:0 0 0 0 rgba(232,121,191,.55)}70%,100%{box-shadow:0 0 0 22px rgba(232,121,191,0)}}
html body:not(#t3x) .collab{display:flex;align-items:center;justify-content:center;gap:.9rem;margin-top:1.8rem;font:600 1.35rem/1 var(–cond);letter-spacing:.12em;text-transform:uppercase;color:var(–bianco)}
html body:not(#t3x) .collab .mbrs{display:block;height:2.8rem;width:auto}
html body:not(#t3x) .fmt .btn.pieno{background:var(–ac);border-color:var(–ac);color:var(–nero)}
html body:not(#t3x) .fmt-sm .btn.pieno{color:#fff}
html body:not(#t3x) .fmt .tag li{border-color:var(–ac)}
html body:not(#t3x) .f-lead.lungo{max-width:34ch;font-size:clamp(1.5rem,4.2vw,2.2rem)}
html body:not(#t3x) .f-testo{margin:0 0 1.6rem;max-width:62ch}
html body:not(#t3x) .f-galleria{margin-top:4rem}
html body:not(#t3x) .f-gal-t{margin:0 0 1.4rem;font:700 clamp(2rem,6vw,3rem)/1 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .f-ev-card{flex:0 0 min(78vw,340px);scroll-snap-align:start;padding:1.6rem;border:1px solid var(–ac);display:flex;flex-direction:column;gap:.5rem;background:rgba(255,255,255,.03)}
html body:not(#t3x) .f-ev-card b{font:700 clamp(2.4rem,9vw,3.4rem)/1 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .f-ev-card span{font:700 1.6rem/1.1 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .f-ev-card small{font:500 1.15rem/1.2 var(–cond);letter-spacing:.14em;text-transform:uppercase;color:var(–grigio)}
html body:not(#t3x) .f-ev-card.passato{opacity:.55}
html body:not(#t3x) .f-ev-card.attesa{border-style:dashed}
html body:not(#t3x) .chiusa{margin-top:3rem;padding-left:1.2rem;border-left:4px solid var(–ac)}
html body:not(#t3x) .chiusa p{margin:0 0 .5rem;font:600 clamp(1.4rem,4.4vw,2.1rem)/1.15 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .chiusa .fin{margin-top:1.1rem;color:var(–ac)}
/* eventi dentro i format */
html body:not(#t3x) .f-eventi{background:var(–nero)}
html body:not(#t3x) .f-eventi .f-ev-t{margin:0 0 1.6rem;padding-top:3rem;border-top:2px solid var(–linea);font:700 clamp(2.2rem,7vw,3.6rem)/1 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .f-ev-speciale{padding:4rem 0 5rem}
html body:not(#t3x) .f-ev-nome{margin:0 0 2rem;font:700 clamp(2.2rem,8vw,4rem)/.95 var(–cond);text-transform:uppercase;color:var(–puro)}
html body:not(#t3x) .f-ev-lista{padding:1rem 0 4rem}
html body:not(#t3x) .f-ev-lista .poster.passato{opacity:.55}
html body:not(#t3x) .poster{position:relative}
html body:not(#t3x) .poster.annullato img{filter:grayscale(1) brightness(.6)}
html body:not(#t3x) .poster.annullato::after{content:”Annullato per maltempo”;position:absolute;left:0;right:0;top:38%;padding:.55rem .5rem;background:#c1121f;color:#fff;font:700 1.35rem/1.1 var(–cond);letter-spacing:.12em;text-transform:uppercase;text-align:center;transform:rotate(-8deg) scale(1.04);box-shadow:0 4px 18px rgba(0,0,0,.6);pointer-events:none}
html body:not(#t3x) .stop{display:inline-block;margin-right:.5rem;padding:.1rem .5rem;background:#c1121f;color:#fff;font:700 .85rem/1.3 var(–cond);letter-spacing:.12em;text-transform:uppercase}
html body:not(#t3x) .programma .annullato p{opacity:.6}
html body:not(#t3x) .programma .annullato p .stop{opacity:1}
html body:not(#t3x) .date-lista .annullata .d-evento{text-decoration:line-through;text-decoration-thickness:1px}
html body:not(#t3x) .annull{display:inline-block;margin-left:.6rem;padding:.05rem .45rem;background:#c1121f;color:#fff;font:700 .8rem/1.4 var(–cond);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;vertical-align:middle}
html body:not(#t3x) .f-ig{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.6rem}
html body:not(#t3x) .luogo{display:inline-flex;align-items:center;gap:.5rem;margin:1.2rem 0 0;padding:.55rem 1rem;border:1px solid var(–ac);border-radius:999px;font:600 1.15rem/1 var(–cond);letter-spacing:.08em;text-transform:uppercase;color:var(–bianco);text-decoration:none}
html body:not(#t3x) .luogo svg{width:1.1rem;height:1.1rem;flex:none;fill:var(–ac)}
html body:not(#t3x) .luogo:hover{background:var(–ac);color:var(–nero)}
html body:not(#t3x) .luogo:hover svg{fill:currentColor}
/* contatti */
html body:not(#t3x) .contatti{display:grid;gap:1rem}
html body:not(#t3x) .contatti a.grande{font:700 clamp(2rem,7vw,4.2rem)/1.05 var(–cond);text-transform:uppercase;color:var(–puro);text-decoration:none;border-bottom:2px solid var(–linea);padding-bottom:1rem;overflow-wrap:anywhere}
html body:not(#t3x) .contatti a.grande:hover{color:var(–grigio)}
html body:not(#t3x) footer{padding:2.5rem 0 3rem;border-top:1px solid var(–linea);color:var(–grigio);font-size:.95rem}
html body:not(#t3x) footer .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem}
@media(prefers-reduced-motion:reduce){html:root{scroll-behavior:auto}html body:not(#t3x) .logo span{animation:none}html body:not(#t3x) #menu{transition:none}}
/* ===== Mascotte 3T ===== */
html body:not(#t3x) .mx{–mw:clamp(132px,34vw,210px);–mx-t:1.1s}
html body:not(#t3x) .mx-pers,html body:not(#t3x) .mx-bolla{position:fixed;z-index:35}
html body:not(#t3x) .mx-pers{bottom:0;width:var(–mw);margin:0;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;
visibility:hidden;pointer-events:none;transition:transform var(–mx-t) cubic-bezier(.22,1,.36,1),visibility 0s linear var(–mx-t);will-change:transform;touch-action:manipulation}
html body:not(#t3x) .mx-pers img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none;user-select:none;filter:drop-shadow(0 6px 18px rgba(0,0,0,.55))}
html body:not(#t3x) .mx-d{right:0;transform:translateX(105%)}
html body:not(#t3x) .mx-s{left:0;transform:translateX(-105%)}
html body:not(#t3x) .mx-s img{transform:scaleX(-1)}
html body:not(#t3x) .mx-pers.mx-in{visibility:visible;pointer-events:auto;transition-delay:0s}
html body:not(#t3x) .mx-d.mx-in{transform:translateX(26%)}
html body:not(#t3x) .mx-s.mx-in{transform:translateX(-26%)}
html body:not(#t3x) .mx-d.mx-su{transform:translateX(6%)}
html body:not(#t3x) .mx-s.mx-su{transform:translateX(-6%)}
html body:not(#t3x) .mx-pers:focus-visible{outline:2px solid var(–puro);outline-offset:-6px;border-radius:12px}
html body:not(#t3x) .mx-bolla{bottom:calc(var(–mw)*.86);width:max-content;max-width:min(270px,calc(100vw – 24px));box-sizing:border-box;
background:var(–grafite);color:var(–puro);border:1px solid var(–linea);border-radius:18px;padding:.95rem 2.4rem .95rem 1.1rem;
box-shadow:0 14px 34px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4);
font:500 1rem/1.4 var(–testo);opacity:0;visibility:hidden;pointer-events:none;
transition:opacity .45s ease,transform .55s cubic-bezier(.22,1,.36,1),visibility 0s linear .55s}
html body:not(#t3x) .mx-bolla.mx-d{right:12px;transform:translate(0,14px) scale(.94);transform-origin:calc(100% – var(–mw)*.3) 100%}
html body:not(#t3x) .mx-bolla.mx-s{left:12px;transform:translate(0,14px) scale(.94);transform-origin:calc(var(–mw)*.3) 100%}
html body:not(#t3x) .mx-bolla.mx-in{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
html body:not(#t3x) .mx-bolla::after{content:””;position:absolute;bottom:-8px;width:16px;height:16px;background:var(–grafite);
border-right:1px solid var(–linea);border-bottom:1px solid var(–linea);transform:rotate(45deg)}
html body:not(#t3x) .mx-bolla.mx-d::after{right:calc(var(–mw)*.3)}
html body:not(#t3x) .mx-bolla.mx-s::after{left:calc(var(–mw)*.3)}
html body:not(#t3x) .mx-bolla q{quotes:none}
html body:not(#t3x) .mx-bolla q::before{content:”“”;color:var(–sangue);font-weight:700}
html body:not(#t3x) .mx-bolla q::after{content:”””;color:var(–sangue);font-weight:700}
html body:not(#t3x) .mx-x{position:absolute;top:.35rem;right:.35rem;width:2rem;height:2rem;border:0;border-radius:50%;background:none;color:var(–grigio);
font:400 1.35rem/1 var(–testo);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s,background .2s}
html body:not(#t3x) .mx-x:hover{color:var(–puro);background:rgba(232,64,42,.22)}
html body:not(#t3x) .mx-x:focus-visible{outline:2px solid var(–puro);outline-offset:1px}
@media(prefers-reduced-motion:reduce){
html body:not(#t3x) .mx{–mx-t:.4s}
html body:not(#t3x) .mx-pers{transition:opacity .4s ease,visibility 0s linear .4s;opacity:0}
html body:not(#t3x) .mx-pers.mx-in{opacity:1}
html body:not(#t3x) .mx-d,html body:not(#t3x) .mx-d.mx-in,html body:not(#t3x) .mx-d.mx-su{transform:translateX(26%)}
html body:not(#t3x) .mx-s,html body:not(#t3x) .mx-s.mx-in,html body:not(#t3x) .mx-s.mx-su{transform:translateX(-26%)}
html body:not(#t3x) .mx-bolla,html body:not(#t3x) .mx-bolla.mx-d,html body:not(#t3x) .mx-bolla.mx-s{transform:none;transition:opacity .3s ease,visibility 0s linear .3s}
html body:not(#t3x) .mx-bolla.mx-in{transition-delay:0s}
}
/* ===== Video in finestra ===== */
html body:not(#t3x) .f-video{margin-top:3rem}
html body:not(#t3x) .f-video .f-gal-t{margin-bottom:1.2rem}
html body:not(#t3x) .vid-card{position:relative;flex:0 0 min(46vw,210px);aspect-ratio:9/16;margin:0;padding:0;border:1px solid var(–linea);background:#000;cursor:pointer;overflow:hidden;scroll-snap-align:start;border-radius:6px;display:block;color:var(–puro)}
html body:not(#t3x) .vid-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .3s}
html body:not(#t3x) .vid-card:hover img{transform:scale(1.04);opacity:.85}
html body:not(#t3x) .vid-play{position:absolute;left:50%;top:50%;width:3.6rem;height:3.6rem;margin:-1.8rem 0 0 -1.8rem;border-radius:50%;background:rgba(10,10,10,.72);border:1.5px solid var(–bianco);display:flex;align-items:center;justify-content:center;transition:background .25s,color .25s}
html body:not(#t3x) .vid-play svg{width:1.4rem;height:1.4rem;fill:currentColor;margin-left:.15rem}
html body:not(#t3x) .vid-card:hover .vid-play{background:var(–bianco);color:var(–nero)}
html body:not(#t3x) .vid-card:focus-visible{outline:2px solid var(–puro);outline-offset:3px}
html body:not(#t3x) .f-video .vid-solo{display:inline-block}
html body:not(#t3x) .vid-modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(0,0,0,.94);
opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
html body:not(#t3x) .vid-modal.aperto{opacity:1;visibility:visible;transition-delay:0s}
html body:not(#t3x) .vid-box{position:relative;width:min(400px,100%);transform:translateY(14px) scale(.97);transition:transform .35s cubic-bezier(.22,1,.36,1)}
html body:not(#t3x) .vid-modal.aperto .vid-box{transform:none}
html body:not(#t3x) .vid-quadro{background:#000;border:1px solid var(–linea);border-radius:14px;overflow:hidden;height:min(calc(100svh – 7rem),740px);min-height:380px}
html body:not(#t3x) .vid-quadro video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
html body:not(#t3x) .vid-x{display:flex;margin:0 0 .7rem auto;align-items:center;gap:.5rem;background:none;border:1px solid var(–bianco);color:var(–bianco);
font:600 1rem/1 var(–cond);text-transform:uppercase;letter-spacing:.04em;padding:.55rem .9rem;cursor:pointer}
html body:not(#t3x) .vid-x:hover{background:var(–bianco);color:var(–nero)}
@media(prefers-reduced-motion:reduce){html body:not(#t3x) .vid-modal,html body:not(#t3x) .vid-box{transition:none}html body:not(#t3x) .vid-box{transform:none}html body:not(#t3x) .vid-card img{transition:none}}
3T
3TEvent’s
To the top event’sEst 2025To the top event’sEst 2025To the top event’sEst 2025To the top event’sEst 2025To the top event’sEst 2025To the top event’sEst 2025
To the top event’sEst 2025To the top event’sEst 2025To the top event’sEst 2025To the top event’sEst 2025To the top event’sEst 2025To the top event’sEst 2025
Nata nel 2025, 3T Event’s è una realtà dedicata all’organizzazione e alla promozione di eventi, operativa principalmente nella provincia di Viterbo.
Ci occupiamo dell’ideazione, pianificazione e gestione di eventi privati, pubblici e manifestazioni, collaborando con privati, associazioni, enti e organizzazioni per trasformare ogni progetto in un’esperienza unica.
Un altro punto fondamentale della nostra attività è il supporto agli artisti emergenti, aiutandoli a trovare nuove opportunità di esibizione attraverso la partecipazione a festival, eventi musicali e opening act di artisti affermati.
3T Event’s nasce con un obiettivo preciso: creare occasioni, valorizzare il talento e far vivere la musica e gli eventi da protagonisti.
Artisti
Trascina per scegliere
DJ D3N
DJ & PRODUCER
D3N è un DJ e producer italiano, classe 2002.
Il suo sound si muove tra House, Tech House ed Electro, dando vita a set dinamici, energici e pensati per il dancefloor.
Negli ultimi anni ha portato il progetto D3N in club ed eventi, costruendo uno stile personale caratterizzato da groove, energia e contaminazioni elettroniche.
Un sound moderno, diretto e riconoscibile.
MATTEO PETRETTI DJ
DJ & CROWD CONTROL
Matteo Petretti è un DJ e studente di Audio Production presso SAE Institute Milano. Nato a Roma e cresciuto nel viterbese, si avvicina al DJing nel 2022, trasformando la passione per la musica elettronica in un percorso sempre più legato alla performance.
I suoi set puntano sulla connessione con il pubblico, creando energia e coinvolgimento in pista.
Alla base del suo progetto c’è Crowd Control: guidare l’energia del pubblico e trasformare ogni set in un’esperienza condivisa.
VALENTINO DJ
DJ & ENTERTAINMENT
Valentino DJ, classe 2008, è un giovane DJ emergente che porta energia, passione e freschezza dietro la console.
Con uno stile dinamico e una forte voglia di crescere nel mondo della musica, punta a coinvolgere il pubblico attraverso selezioni musicali coinvolgenti e set ricchi di ritmo.
Il suo obiettivo è trasformare ogni serata in un’esperienza unica, facendo della musica il punto d’incontro tra energia e divertimento.
ALEX COPPA
LIVE MUSIC & ENTERTAINMENT
Alex Coppa è un cantante, musicista e performer capace di trasformare ogni esibizione in un’esperienza coinvolgente.
Con anni di esperienza nella musica dal vivo, propone spettacoli ricchi di energia, versatilità e interazione con il pubblico, ideali per piazze, festival ed eventi privati.
Nel 2018 pubblica Acustica, un progetto strumentale che esprime il suo lato più creativo.
Il suo punto di forza è creare emozioni e coinvolgere il pubblico, rendendo ogni spettacolo unico.
SIGH
SINGER & URBAN ARTIST
SIGH è un giovane artista emergente originario di Vasanello, nella provincia di Viterbo, che si distingue nella scena emo-trap e pop-trap.
Attraverso la sua musica unisce sonorità moderne ed emozioni personali, dando vita a uno stile autentico e riconoscibile.
Tra le sue esperienze live spicca la partecipazione al Futura Summer Festival, dove ha condiviso il palco con altri talenti della scena urban, esibendosi in apertura a Nashley.
Il suo obiettivo è trasformare emozioni e vissuti in musica, creando un legame diretto con chi lo ascolta.
STEFANO ROSA
SINGER & GUITARIST
Stefano Rosa è un cantante e chitarrista che ha trasformato la passione per la musica in un percorso professionale tra concerti, eventi e spettacoli dal vivo.
Con un repertorio che spazia dal pop al rock italiano e internazionale, propone performance acustiche capaci di coinvolgere il pubblico.
Nel corso della sua carriera ha partecipato a importanti eventi musicali e condiviso il palco con artisti di rilievo.
Il suo punto di forza è unire voce, chitarra e autenticità, creando un’esperienza musicale coinvolgente.
Squarciagola è molto di più di un semplice karaoke da bar.
DJ
Vocalist
Ballerine
Gadget
Ragazze immagine
Drink a tema
Sfide tra tavoli
Squarcia-decibel
Il vocalist divide il locale in due “curve” e crea una sfida a ritmo di musica. Lo slogan non è solo uno slogan: canta male, canta forte e vinci.
Il coro del popolo
Il vocalist sceglie due gruppi di persone o tavoli. Una volta uniti, saranno loro i protagonisti del locale: intrattengono tutta la clientela insieme allo show-man e ai megafoni ufficiali.
L’allestimento
Il tuo locale si veste di rosso, con giochi di luci, led e decorazioni artistiche. Il vero allestimento però sono i tuoi clienti, con i gadget ufficiali firmati Squarciagola.
L’Ammazzavoce
“Per riprendere fiato prima del prossimo ritornello”
4,0 cl gin
2,0 cl bitter Campari
2,0 cl succo di limone fresco
1,5 cl sciroppo di frutti rossi
Top di ginger beer
Prossima data: da annunciare. La Night Session del 6 novembre a Vignanello è stata annullata per maltempo. Su Instagram: @squarciagola.3t
Prossimi eventi
Eventi trascorsi
Halloween al Twist
Your Halloween Night
Sabato 31 ottobre · Twist · Biglietti online
Una notte di Halloween con bar mixology, Squarciagola e lo show di Nostalgica.
Ore 23:00
Bar mixology
Ore 23:30
Squarciagola
Ore 00:30
Halloween Night Show con Nostalgica 80-90-00
La serata
Hai presente quando parte la tua canzone preferita e non riesci a stare zitto? Ecco, Squarciagola è quella sensazione.
È la nuova produzione firmata Big Family e 3T Event’s: un’esperienza di liberazione collettiva, una selezione spietata delle più grandi canzoni italiane e internazionali di tutti i tempi, in una sequenza ininterrotta di anthem e tormentoni da urlare insieme.
Nessun palco su cui vergognarsi, nessuna stonatura giudicata: tutto il locale canta dall’inizio alla fine, con l’animazione che coinvolge ogni tavolo, gadget dedicati e un’atmosfera da stadio.
Il nuovo format che porta al NOVA l’energia folle dei party americani.
Ispirato alle atmosfere di Project X e Una notte da leoni, Sorry Mum è molto più di una semplice festa: è una notte fuori dagli schemi, dove la musica, il divertimento e la voglia di lasciarsi andare diventano protagonisti.
Hit internazionali
Pop
Dance
Gadget
Sorprese
American party
La musica
Una colonna sonora fatta di hit internazionali, Pop, Dance e grandi successi che hanno segnato intere generazioni.
L’atmosfera
Gadget, sorprese, momenti inaspettati e un’atmosfera da vero American Party, dove ogni dettaglio è pensato per rendere la serata indimenticabile.
In console
A guidare la notte, in console, Michele Telli e Matteo Petretti, pronti a trasformare il NOVA in un party dal ritmo travolgente.
Niente solite feste. Niente mezze misure.
Solo energia, amici, musica e storie da raccontare.
Perché certe notti non si programmano, si vivono.
E quando arriva il mattino, resta solo una cosa da dire: Sorry Mum.
Il format che trasforma il Thierra in un universo completamente rosa, dove la musica House e Tech House diventano le protagoniste assolute.
Per una notte, il Thierra cambia volto e si tinge di rosa acceso, dando vita a un’atmosfera unica, coinvolgente e fuori dagli schemi. [Eclipse] è molto più di una semplice serata: è un’esperienza immersiva, dove il sound della House e della Tech House incontra un’identità visiva forte, riconoscibile e travolgente.
House
Tech House
Luci
Allestimenti
Gadget a tema
Tutto rosa
Luci e allestimenti
Luci, allestimenti, gadget a tema e dettagli completamente rosa trasformano ogni angolo del locale, creando un ambiente in cui musica ed estetica si fondono in un’unica esperienza.
In console
A guidare la notte, in console, Daniele Quattrini e Ccesco, pronti a dare vita a un viaggio musicale fatto di groove, ritmo ed energia, dall’inizio alla fine.
Un solo colore. Un’unica atmosfera.
Un sound senza compromessi.
[Eclipse]. Il Thierra come non l’hai mai visto.
Dalle serate
Prossimi eventi
Portfolio
Festa dell’olio e del vino novello
XXVI edizione · Night Session · Vignanello (VT) · 6, 7, 13 e 14 novembre
Due weekend di musica dal vivo e dj set in Piazza della Repubblica, con la Pro Loco Vignanello.
Il programma6 novembre · annullato per maltempo7 novembre13 novembre14 novembre
Venerdì 6 novembre
Annullato per maltempo Ore 22:00 – Squarciagola, con dj Carlo Giganti e il vocalist Ültra.
Sabato 7 novembre
Ore 21:00 – Alex Coppa live music. Ore 23:00 – dj Matteo Petretti.
Venerdì 13 novembre
Ore 22:00 – Secondo Palo live music.
Sabato 14 novembre
Ore 21:00 – Non c’è Duo live music. Ore 23:00 – dj set di William Tallevi (Amnesie).
Futura Summer Festival
Vasanello (VT)
17 e 18 luglio 2026 · Circonvallazione Almirante · Ingresso gratuito
Due serate organizzate da Futura APS e 3T Event’s, con il patrocinio del Comune di Vasanello.
Venerdì 17 luglio
Diss Gacha, Matteo Petretti, DJ D3N, Crepa, Bluni, Dust, Bleik e Sigh.
Sabato 18 luglio
Alex Coppa e Aman, a seguire il format Kantami di Big Family e, dopo, il dj set di Members Only con Michele Telli.
Diss GachaMatteo PetrettiDJ D3NAman
Il Baretto
Programmazione invernale 26/27
Via Enrico Fermi 48 · Vasanello (VT) · 0761/408807
Caffetteria, pinseria e cocktail, con le serate firmate 3T Event’s per tutto l’inverno.
Programmazione invernale3 ottobre17 ottobre21 novembre19 dicembre24-25-26 dicembre21 gennaioUna data al mese
3 ottobre
Annalisa Tribute Band
17 ottobre
Stefano Rosa
21 novembre
Alex Coppa
19 dicembre
Matteo Petretti
24-25-26 dicembre
Tombola a premi
21 gennaio
Simone Sartini
Una data al mese
Just Dance Now
Servizi
Eventi
Ideazione, pianificazione e gestione di eventi privati, pubblici e manifestazioni, con privati, associazioni, enti e organizzazioni.
Booking
Dj e artisti per club, piazze e feste private, scelti in base al pubblico e al budget.
Service
Impianto audio, luci e palco dimensionati sul luogo e sul numero di persone.
Gestione social
Locandine, annunci e contenuti prima, durante e dopo l’evento, per riempire la serata.
Artisti emergenti
Supporto a chi comincia: esibizioni in festival, eventi musicali e opening act di artisti affermati.
Dove operiamo
Principalmente nella provincia di Viterbo.
Piazze
Eventi all’aperto per feste di paese, estati cittadine e ricorrenze.
Discoteche
Serate a tema e format fissi per locali che vogliono un appuntamento riconoscibile.
Feste private
Compleanni, diciottesimi, matrimoni e feste aziendali, con dj set e allestimento su misura.
Telefono: Gabriele Bocci, fondatore di 3T Event’s.
“Live a life you will remember.”
Avicii
(function(){
var menu=document.getElementById(‘menu’),apri=document.getElementById(‘apri’),chiudi=document.getElementById(‘chiudi’);
function imposta(on){
menu.classList.toggle(‘aperto’,on);
apri.setAttribute(‘aria-expanded’,on);
(on?menu.querySelector(‘a’):apri).focus();
}
apri.addEventListener(‘click’,function(){imposta(!menu.classList.contains(‘aperto’))});
document.addEventListener(‘click’,function(e){if(menu.classList.contains(‘aperto’)&&!menu.contains(e.target)&&!apri.contains(e.target))imposta(false)});
chiudi.addEventListener(‘click’,function(){imposta(false)});
menu.querySelectorAll(‘a’).forEach(function(a){a.addEventListener(‘click’,function(){imposta(false)})});
document.addEventListener(‘keydown’,function(e){if(e.key===’Escape’&&menu.classList.contains(‘aperto’))imposta(false)});
document.querySelectorAll(‘.fmt’).forEach(function(f){
var b=f.querySelector(‘.badge’);
b.addEventListener(‘click’,function(){
var on=b.getAttribute(‘aria-expanded’)!==’true’;
b.setAttribute(‘aria-expanded’,on);
f.querySelectorAll(‘.f-rivela’).forEach(function(e){e.hidden=!on});
});
});
})();
.f-rivela[hidden]{display:block}.hint{display:none}.finale .av-logo,.finale figcaption{opacity:1}.finale blockquote p{opacity:1;filter:none;transform:none}
(function(){
function leggi(){
return [].map.call(document.querySelectorAll(‘#a-dati article’),function(x){
var im=x.querySelector(‘img’);
return{nome:x.getAttribute(‘data-nome’),ruolo:x.getAttribute(‘data-ruolo’),foto:im?im.getAttribute(‘src’):”,
bio:[].map.call(x.querySelectorAll(‘p:not(.r)’),function(p){return p.textContent})};
});
}
function avvia(){
var D=leggi(),N=D.length;
var stage=document.getElementById(‘a-stage’);
if(!N||!stage)return;
document.getElementById(‘artisti’).className+=’ a-js’;
var palco=document.getElementById(‘a-palco’),info=document.getElementById(‘a-info’),
elNum=document.getElementById(‘a-num’),elNome=document.getElementById(‘a-nome’),
elRuolo=document.getElementById(‘a-ruolo’),elBio=document.getElementById(‘a-bio’),
tacche=stage.querySelector(‘.tacche’);
var reduce=window.matchMedia(‘(prefers-reduced-motion: reduce)’).matches;
var STEP=2*Math.PI/N,W=0,H=0,R=0,ppu=1;
var pos=0,vel=0,target=0,mode=’idle’,visible=false,raf=0,last=0,shown=-1,drag=null,lastMove=0,autoT=0,lastTouch=0;
var items=D.map(function(a,i){
var el=document.createElement(‘div’);el.className=’art’;
var im=new Image();im.src=a.foto;im.alt=a.nome;im.draggable=false;im.decoding=’async’;
el.appendChild(im);palco.appendChild(el);
return{el:el,im:im,lit:0,x:0,c:1};
});
function esc(s){return String(s).replace(/&/g,’&’).replace(//g,’>’)}
function pad(n){return n<10?'0'+n:''+n}
function mod(i){return((i%N)+N)%N}
function measure(){W=stage.clientWidth;H=stage.clientHeight;R=Math.min(W*0.5,340);ppu=Math.max(60,R*Math.sin(STEP))}
function nameHTML(n){var k=0;return n.split(' ').map(function(w){return'‘+w.split(”).map(function(ch){return’‘+esc(ch)+’‘}).join(”)+’‘}).join(‘ ‘)}
function fill(i){
var a=D[i];
elNum.textContent=pad(i+1)+’ / ‘+pad(N);
elNome.innerHTML=nameHTML(a.nome);
elRuolo.textContent=a.ruolo;
elBio.innerHTML=a.bio.map(function(p,k){return’
‘+esc(p)+’
‘}).join(”);
}
function show(i){
shown=i;fill(i);
info.classList.remove(‘on’);void info.offsetWidth;info.classList.add(‘on’);
}
function fitInfo(){
var keep=shown<0?0:shown;
info.style.minHeight='0';
var m=0;
for(var i=0;i<N;i++){fill(i);m=Math.max(m,info.offsetHeight)}
fill(keep);
info.style.minHeight=m+'px';
}
function kick(){if(!raf){last=performance.now();raf=requestAnimationFrame(tick)}}
function render(){
var maxLit=0;
for(var i=0;iN/2)d-=N;
var th=d*STEP,c=Math.cos(th),s=Math.sin(th),dep=(c+1)/2,l=it.lit;
var x=s*R,z=(c-1)*R*0.9,rot=s*20,sc=1+0.1*l;
it.x=x;it.c=c;if(l>maxLit)maxLit=l;
var el=it.el;
el.style.transform=’translate3d(calc(-50% + ‘+x.toFixed(1)+’px),0,’+z.toFixed(1)+’px) rotateY(‘+rot.toFixed(1)+’deg) scale(‘+sc.toFixed(3)+’)’;
el.style.zIndex=Math.round(c*100)+100;
el.style.opacity=(0.45+0.55*dep).toFixed(3);
el.style.setProperty(‘–l’,l.toFixed(3));
var br=(0.2+0.92*l)*(0.72+0.28*dep),ct=1+0.2*l,bl=(1-l)*1.4+(1-dep)*1.4;
var f=’grayscale(1) brightness(‘+br.toFixed(3)+’) contrast(‘+ct.toFixed(3)+’)’;
if(bl>0.15)f+=’ blur(‘+bl.toFixed(2)+’px)’;
if(l>0.03)f+=’ drop-shadow(0 0 ‘+(14*l).toFixed(1)+’px rgba(255,255,255,’+(0.55*l).toFixed(3)+’))’;
it.im.style.filter=f;
}
stage.style.setProperty(‘–luce’,maxLit.toFixed(3));
tacche.style.setProperty(‘–rot’,(pos*360/N).toFixed(2)+’deg’);
}
function tick(now){
var dt=Math.min(0.033,(now-last)/1000);last=now;if(dt<=0)dt=0.016;
if(mode==='spring'){
var w=reduce?16:10,acc=w*w*(target-pos)-2*0.85*w*vel;
vel+=acc*dt;pos+=vel*dt;
if(Math.abs(target-pos)<0.0008&&Math.abs(vel)<0.01){pos=target;vel=0;mode='idle';onSettle()}
}
var near=mod(Math.round(pos)),slow=Math.abs(vel)<2.2&&mode!=='drag'||Math.abs(vel)<0.6;
var busy=mode!=='idle';
for(var i=0;iN/2)dd-=N;
var tg=(visible&&i===near&&Math.abs(dd)<0.3&&slow)?1:0;
var tau=reduce?0.05:(tg?0.3:0.22);
it.lit+=(tg-it.lit)*(1-Math.exp(-dt/tau));
if(Math.abs(tg-it.lit)LOCK}
function step(dir){
touched();
if(locked())return;
var base=mode===’spring’?target:Math.round(pos);
goto(base+dir);
}
/* trascinamento: uno scatto per volta, nessuna inerzia */
var FOLLOW=1.7,SOGLIA=0.2,FLICK=420;
stage.addEventListener(‘pointerdown’,function(e){
if(e.pointerType===’mouse’&&e.button!==0)return;
touched();
if(locked())return;
drag={id:e.pointerId,sx:e.clientX,lx:e.clientX,lt:e.timeStamp,mt:0,vx:0,moved:false,start:pos,base:Math.round(mode===’spring’?target:pos)};
try{stage.setPointerCapture(e.pointerId)}catch(_){}
});
stage.addEventListener(‘pointermove’,function(e){
if(!drag||e.pointerId!==drag.id)return;
if(!drag.moved){if(Math.abs(e.clientX-drag.sx)0)drag.vx=drag.vx*0.6+(-dx/dt)*0.4;
drag.lx=e.clientX;drag.lt=e.timeStamp;drag.mt=performance.now();
var o=(drag.sx-e.clientX)/(ppu*FOLLOW),a=Math.abs(o);
if(a>0.6)a=0.6+(a-0.6)*0.25;
pos=drag.start+(o<0?-1:1)*Math.min(a,0.9);
clearAuto();kick();
});
function release(e,cancel){
if(!drag||e.pointerId!==drag.id)return;
var d=drag;drag=null;stage.classList.remove('trascina');
lastTouch=performance.now();
if(!d.moved){
if(!cancel){
var r=stage.getBoundingClientRect(),cx=e.clientX-r.left-W/2,best=-1,bd=1e9;
for(var i=0;i<N;i++){if(items[i].c<0)continue;var dx=Math.abs(items[i].x-cx);if(dx=0){var near=Math.round(pos),delta=mod(best-near);if(delta>N/2)delta-=N;if(delta!==0&&Math.abs(delta)SOGLIA)dir=o>0?1:-1;
else if(Math.abs(d.vx)>FLICK&&performance.now()-d.mt0?1:-1;
}
goto(d.base+dir);
}
stage.addEventListener(‘pointerup’,function(e){release(e,false)});
stage.addEventListener(‘pointercancel’,function(e){release(e,true)});
stage.addEventListener(‘keydown’,function(e){
if(e.key===’ArrowLeft’){e.preventDefault();step(-1)}
else if(e.key===’ArrowRight’){e.preventDefault();step(1)}
});
document.getElementById(‘a-prev’).addEventListener(‘click’,function(){step(-1)});
document.getElementById(‘a-next’).addEventListener(‘click’,function(){step(1)});
/* avvio */
measure();fill(0);render();
var rt;window.addEventListener(‘resize’,function(){clearTimeout(rt);rt=setTimeout(function(){measure();fitInfo();render()},150)});
if(document.fonts&&document.fonts.ready)document.fonts.ready.then(function(){fitInfo()});
fitInfo();
if(‘IntersectionObserver’ in window){
new IntersectionObserver(function(en){
var v=en[0].isIntersecting;
if(v&&!visible){visible=true;kick();scheduleAuto(DWELL+800)}else if(!v){visible=false;clearAuto();kick()}
},{threshold:0.35}).observe(stage);
}else{visible=true;kick();scheduleAuto(DWELL+800)}
document.addEventListener(‘visibilitychange’,function(){if(document.hidden)clearAuto();else if(visible&&mode===’idle’)scheduleAuto(DWELL)});
}
if(document.getElementById(‘a-dati’))avvia();else document.addEventListener(‘DOMContentLoaded’,avvia);
})();
/* DATE: per aggiungere o modificare una data basta una riga {d:”AAAA-MM-GG”, luogo, evento}; per più giorni aggiungi fine:”AAAA-MM-GG”; per un evento annullato aggiungi annullato:true. Le date passate si nascondono da sole. */
window.DATE_3T=[
{d:”2026-09-06″,luogo:”Vasanello”,evento:”Matrimonio”},
{d:”2026-09-12″,luogo:”Blera”,evento:”Matrimonio”},
{d:”2026-09-20″,luogo:”Vasanello”,evento:”Vie del Gusto”},
{d:”2026-10-03″,luogo:”Baretto”,evento:”Annalisa Tribute Band”},
{d:”2026-10-16″,luogo:”Bar Chalet”,evento:”MBRS only”},
{d:”2026-10-17″,luogo:”Baretto”,evento:”Stefano Rosa”},
{d:”2026-10-24″,luogo:”Bar Chalet”,evento:”Effe Effe”},
{d:”2026-10-31″,luogo:”Twist”,evento:”Your Halloween Night”},
{d:”2026-11-06″,luogo:”Vignanello”,evento:”Squarciagola”,annullato:true},
{d:”2026-11-07″,luogo:”Vignanello”,evento:”Alex Coppa + Petretti”},
{d:”2026-11-07″,luogo:”Bar Chalet”,evento:”Semaforo”},
{d:”2026-11-13″,luogo:”Bar Chalet”,evento:”MBRS only”},
{d:”2026-11-13″,luogo:”Vignanello”,evento:”Secondo Palo”},
{d:”2026-11-14″,luogo:”Vignanello”,evento:”Non c’è Duo”},
{d:”2026-11-21″,luogo:”Thierra Club”,evento:”[Eclipse]”},
{d:”2026-11-21″,luogo:”Baretto”,evento:”Alex Coppa”},
{d:”2026-12-08″,luogo:”Bar Chalet”,evento:”Secret”},
{d:”2026-12-11″,luogo:”Bar Chalet”,evento:”MBRS only”},
{d:”2026-12-11″,luogo:”Nova Club”,evento:”Sorry Mum”},
{d:”2026-12-19″,luogo:”Baretto”,evento:”Matteo Petretti”},
{d:”2026-12-24″,luogo:”Baretto”,evento:”Tombola a premi”,fine:”2026-12-26″},
{d:”2027-01-21″,luogo:”Baretto”,evento:”Simone Sartini”}
];
(function(){
var ul=document.getElementById(‘d-lista’);
if(ul){
var D=(window.DATE_3T||[]).slice(),G=[‘dom’,’lun’,’mar’,’mer’,’gio’,’ven’,’sab’];
var P=function(s){var a=s.split(‘-‘);return new Date(+a[0],+a[1]-1,+a[2])};
var f2=function(n){return n<10?'0'+n:''+n};
var esc=function(s){return String(s).replace(/&/g,'&').replace(//g,’>’)};
var t=new Date(),oggi=new Date(t.getFullYear(),t.getMonth(),t.getDate());
D.sort(function(a,b){return P(a.d)-P(b.d)});
var prima=-1,passate=0;
D.forEach(function(e,i){e.passata=P(e.fine||e.d)<oggi;if(e.passata)passate++;else if(!e.annullato&&prima<0)prima=i});
ul.innerHTML=D.map(function(e,i){
var a=P(e.d),y=a.getFullYear()!==oggi.getFullYear()?'.'+String(y2(a)).slice(-2):'';
function y2(x){return x.getFullYear()}
var dt=e.fine?f2(a.getDate())+'–'+f2(P(e.fine).getDate())+'.'+f2(a.getMonth()+1)+y:f2(a.getDate())+'.'+f2(a.getMonth()+1)+y;
var wd=e.fine?'':'‘+G[a.getDay()]+’‘;
return’
‘+esc(e.luogo)+’‘+esc(e.evento)+(e.annullato?’Annullato per maltempo‘:”)+(i===prima?’Prossima‘:”)+’
‘;
}).join(”);
var lead=document.getElementById(‘d-lead’);
if(prima>=0){var n=D[prima];lead.textContent=’Prossima data: ‘+P(n.d).toLocaleDateString(‘it-IT’,{weekday:’long’,day:’numeric’,month:’long’})+’ · ‘+n.luogo+’ · ‘+n.evento}
else lead.textContent=’Nuove date in arrivo’;
var bt=document.getElementById(‘d-passate’);
if(passate>0){
bt.hidden=false;
bt.addEventListener(‘click’,function(){var on=ul.classList.toggle(‘tutte’);bt.setAttribute(‘aria-expanded’,on);bt.textContent=on?’Nascondi le date passate’:’Mostra le date passate’});
}
}
var fin=document.getElementById(‘finale’);
if(fin){
if(‘IntersectionObserver’ in window){
var io=new IntersectionObserver(function(en){if(en[0].isIntersecting){fin.classList.add(‘visto’);io.disconnect()}},{threshold:0.3});
io.observe(fin);
}else fin.classList.add(‘visto’);
}
})();
/* EVENTI DEI FORMAT: per aggiungere una locandina basta una riga (annullato:true la mette tra gli eventi trascorsi con la scritta «Annullato per maltempo») con format (“squarciagola”, “sorry-mum” o “eclipse”), titolo, data (AAAA-MM-GG), luogo e locandina (immagine incorporata, link, oppure “#id” di un’immagine già presente nella pagina; se la locandina non c’è ancora, si può omettere e compare una scheda con data e luogo). Compare da sola nel format giusto, in ordine di data. */
window.EVENTI_FORMAT=[
{format:”squarciagola”,titolo:”Night Session”,data:”2026-11-06″,luogo:”Vignanello”,locandina:”#poster-ns-6″,annullato:true},
{format:”sorry-mum”,titolo:”Sorry Mum”,data:”2026-12-11″,luogo:”Nova Club Viterbo”},
{format:”eclipse”,titolo:”[Eclipse]”,data:”2026-11-21″,luogo:”Thierra Club Privè Theatro Events”}
];
(function(){
var E=(window.EVENTI_FORMAT||[]).slice().sort(function(a,b){return a.datab.data?1:0});
var esc=function(s){return String(s).replace(/&/g,’&’).replace(//g,’>’).replace(/”/g,’"’)};
var t=new Date(),oggi=new Date(t.getFullYear(),t.getMonth(),t.getDate());
document.querySelectorAll(‘.f-ev-lista’).forEach(function(box){
var chiusi=box.dataset.stato===’chiusi’;
var lista=E.filter(function(e){
var p=e.data.split(‘-‘),d=new Date(+p[0],+p[1]-1,+p[2]);
var fuori=!!e.annullato||d<oggi;
return e.format===box.dataset.format&&(chiusi?fuori:!fuori);
});
if(chiusi){if(!lista.length){box.parentNode.removeChild(box);return}}
else if(!lista.length){var ig=box.dataset.ig;box.innerHTML='
Prossima dataAnnunciata a breve‘+(ig?’Novità su @’+esc(ig)+’‘:”)+’
‘;return}
box.innerHTML=’
‘+lista.map(function(e){
var p=e.data.split(‘-‘),d=new Date(+p[0],+p[1]-1,+p[2]),src=e.locandina;
if(src&&src.charAt(0)===’#’){var im=document.getElementById(src.slice(1));src=im?im.src:”}
var cd=d.toLocaleDateString(‘it-IT’,{day:’numeric’,month:’long’});
if(!src)return'<div class="f-ev-card'+(d‘+esc(cd)+’‘+esc(e.titolo)+’‘+esc(e.luogo)+’
(function(){
var FRASI=[
“Tra il dire e il fare c’è di mezzo il saper mixare.”,
“Fuori dal club c’è il mondo. Dentro, c’è casa.”,
“Leggere la pista… questo è il dilemma.”,
“Non lavorate per essere la scelta più economica, lavorate per essere la migliore.”,
“Il problema non è trovare musica. Sceglierla è il vero lavoro.”,
“La fiducia è il primo vero contratto di un DJ emergente.”,
“Tutti vogliono fare i DJ e nessuno vuole fare la gavetta.”,
“Difficile capire che… il DJ non è un JUKEBOX?”
];
var pers=document.getElementById(‘mxPers’),bolla=document.getElementById(‘mxBolla’),testo=document.getElementById(‘mxTesto’),chiudi=document.getElementById(‘mxX’);
if(!pers||!bolla)return;
var ultima=-1,lato=’d’,stato=’nascosto’,tComparsa,tRientro,tFine,tBolla;
function rnd(a,b){return a+Math.random()*(b-a)}
function pulisci(){clearTimeout(tRientro);clearTimeout(tFine);clearTimeout(tBolla)}
function imposta(l){
lato=l;
pers.className=’mx-pers mx-‘+l;bolla.className=’mx-bolla mx-‘+l;
}
function menuAperto(){var b=document.getElementById(‘apri’);return !!b&&b.getAttribute(‘aria-expanded’)===’true’}
function pianifica(){clearTimeout(tComparsa);tComparsa=setTimeout(compari,rnd(30000,60000))}
function compari(){
if(document.hidden||menuAperto()||document.getElementById(‘vidModal’).classList.contains(‘aperto’)||stato!==’nascosto’){pianifica();return}
imposta(Math.random()=0&&n0;k–){var r=Math.floor(Math.random()*(k+1)),t=a[k];a[k]=a[r];a[r]=t}
if(a[a.length-1]===ultima&&a.length>1){var t2=a[0];a[0]=a[a.length-1];a[a.length-1]=t2}
return a;
}
function frase(){
if(!mazzo.length)mazzo=rimescola();
var i=mazzo.pop();ultima=i;
try{localStorage.setItem(CH,JSON.stringify({m:mazzo,u:ultima}))}catch(e){}
return FRASI[i];
}
function parla(){
pulisci();
var f=frase();testo.textContent=f;
pers.classList.add(‘mx-su’);bolla.classList.add(‘mx-in’);stato=’parla’;
tFine=setTimeout(rientra,Math.max(6000,2500+f.length*70));
}
function rientra(){
pulisci();
bolla.classList.remove(‘mx-in’);pers.classList.remove(‘mx-su’);stato=’peek’;
tRientro=setTimeout(nascondi,2200);
}
pers.addEventListener(‘click’,function(){if(stato===’peek’||stato===’parla’)parla()});
chiudi.addEventListener(‘click’,function(e){e.stopPropagation();rientra()});
document.addEventListener(‘keydown’,function(e){if(e.key===’Escape’&&stato===’parla’)rientra()});
window.__mascotte={compari:compari,stato:function(){return stato}};
function avvia(){pianifica()}
if(document.readyState===’complete’)avvia();else window.addEventListener(‘load’,avvia,{once:true});
})();