@font-face {
 font-family:'Plumb';
 src:url('/fonts/Plumb-Medium.ttf');
 font-weight:normal;
}
@font-face {
 font-family:'Plumb';
 src:url('/fonts/Plumb-Black.ttf');
 font-weight:bold;
}

h1,h2,h3,h4,h5,h6 { font-family:'Plumb'; line-height:1.25em; letter-spacing:1px; }
article h1 { font-size:32px; font-weight:bold; line-height:normal; }
img { width:auto; height:auto; }
.bottoni { width:100%; list-style-type:none; margin:0; }
.bottoni li { display:block; width:100%; }
.bottone abbr:before { padding-right:5px; }
.bottone-chiamaci abbr:before { content:"\f095"; }
.bottone-email abbr:before { content:"\f0e0"; }
section .bottone { display:block; border:1px solid #3A8B62; background-color:#3A8B62; color:#FFF; font-weight:bold; width:100%; transition:color .5s,background-color .5s; padding:20px; text-align:center; text-transform:uppercase; font-size:16px; margin:10px 0; }
section .bottone:first-child { margin-top:0; }
section .bottone:hover { color:#000; background-color:#FFF; transition:color .5s,background-color .5s; }
.slider { height:250px; }
.slider .blocco div { height:250px; background-color:#F9F9F9; background-size:cover; background-repeat:no-repeat; }
.sfondo-1 { background-color:#000; color:#FFF; }
.sfondo-2 { background-color:#343231; color:#FFF; }
.sfondo-3 { background-color:#FFF; color:#000; }
.sfondo-4 { background-color:#222; background:linear-gradient(to bottom right,#222,#555); }
.colore-1 { color:#FFF; }
.colore-2 { color:#50ade5; }
.colore-3 { color:#000; }
.colore-4 { color:#999; }
.sfondo-1 a { color:#50ade5; }
.sfondo-3 a { color:#50ade5; }
.sfondo-3 a:hover { color:#000; }

.bottone-acquista { margin-top:1rem; }
.bottone-acquista a { display:block; border:1px solid #50ade5; background-color:#50ade5; color:#FFF; font-weight:bold; width:100%; max-width:250px; transition:color .5s, background-color .5s; padding:0.6rem; text-align:center; text-transform:uppercase; font-size:1rem; border-radius:0.5rem; font-family:Outfit; }
.bottone-acquista a:hover { background-color:#fff; color:#50ade5; transition:color .5s, background-color .5s; }

header { background-color:#333333; padding:10px 0; position:fixed; top:0; left:0; right:0; width:100%; z-index:1000; height:55px; }
header + * { margin-top:55px; }
header nav input[type="checkbox"] { display:none; }
header nav ul { list-style-type:none; margin:0; }
header nav ul li { font-size:14px; }
header nav ul li a { color:#FFF; display:block; padding:10px; text-transform:uppercase; }
header nav ul li ul li { display:block; }
header nav ul li ul li:hover a { text-decoration:none; color:#50ade5; }
header nav ul li ul li a { text-transform:none; }
header nav ul li .sel { color:#50ade5; font-weight:bold; }
/* header #nav-main-container > ul > li:hover > .sel { color:#FFF; background-color:#50ade5; } */
header nav ul ul ul { display:none;}
header .logo { position:absolute; left:0; width:352px; height:40px; margin:0; z-index:1005; }
header .logo img { display:block; height:40px; }
#lb-nmh { color:#FFF; padding:0 10px; position:absolute; top:8px; right:10px; left:140px; z-index:1001; text-align:right; }
#lb-nmh:hover { cursor:pointer; }
/* #lb-nmh span { display:inline-block; vertical-align:middle; text-transform:uppercase; font-size:24px; } */
#lb-nmh a { display:inline-block; vertical-align:middle; margin-left:10px; }
#lb-nmh span { display:block; width:25px; height:20px; position:absolute; right:0; background-image:url('/img/menu.svg'); background-repeat:no-repeat; display:block; background-size:25px 13px; background-position:center center; z-index:1001; }
#nav-main .logo-smto-mini img { position:absolute; top:0; right:50px; }
#nav-main-container { display:none; }
#nav-main-container ul { display:none; }
#nav-main-container > ul:before,#nav-main-container > ul:after { display:table; content:""; clear:both; }
#nav-main-handler:checked ~ .logo-smto-mini img { z-index:1003; }
#nav-main-handler:checked ~ label span { background-image:url('/img/cross.svg'); background-repeat:no-repeat; display:block; background-size:20px 20px; background-position:right center; z-index:1001; padding:10px 0 10px 0; left:auto; }
#nav-main-handler:checked ~ label span { text-align:center; margin-top:0; padding-right:30px; }
#nav-main-handler:checked ~ label img { display:none; }
#nav-main-handler:checked ~ #nav-main-container { display:block; }
#nav-main-handler:checked ~ #nav-main-container > ul { display:block; }
#nav-social { position:relative; padding-top:20px; display:block; z-index:999; }
#nav-social ul { text-align:center; margin:0 auto; }
#nav-social li { display:inline-block; vertical-align:middle; border:1px solid #FFF; width:30px; margin-right:15px; }
#nav-social li:last-child { margin-right:0; }
#nav-social li a { color:#FFF; padding:5px; display:block; }
#nav-social li:hover a { color:#50ade5; background:none; }
#nav-social li img { height:20px; display:block; margin:0 auto; }
iframe { border:none; display:block; width:100%; height:300px; }
#map { height:300px; }
form h4 { font-weight:normal; }
form label { color:#000; display:block; }
form input[type="text"],form textarea,form input[type="email"] { width:100%; border:1px solid #EDEDED; background-color:#EDEDED; color:#000; display:block; padding:10px; }
form input[type="submit"] { color:#FFF; background-color:#50ade5; border:1px solid #50ade5; padding:10px; text-transform:uppercase; margin-top:10px; transition:background-color .5s, color .5s; }
form input[type="submit"]:hover { color:#50ade5; background-color:#FFF; transition:background-color .5s, color .5s; }
article a { color:#50ade5; }
#s-standard,#s-notizia,#s-notizie { padding:30px 0; }
#s-galleria { height:250px; margin:15px 0 0 0; background-color:#F3F3F3; color:#000; }
#s-traccia { padding-bottom:15px; }
#s-traccia .container { padding-left:15px; padding-right:15px; }
#s-traccia a { color:#000; }
.sfondo-3 #s-traccia a { color:#000; }

.testo { padding:15px; font-size:15px; line-height:1.25em; letter-spacing:0.8px; font-family:Outfit; }
.testo h2 { line-height:normal; }
img.banner { margin:0 auto; display:block; }
.banner-testo h2 { text-transform:uppercase; font-size:33px; }
.banner-testo h2 span { font-size:33px; }
h2 span { color:#FFF; text-transform:none; }
.pulsante { background-color:#FFF; color:#000; display:inline-block; vertical-align:middle; padding:15px; border:1px solid #000; transition:border .5s,background-color .5s,color .5s; font-family:Outfit; font-size:16px; text-transform:uppercase; }
.pulsante:hover { background-color:#50ade5; color:#FFF; border:1px solid #FFF; transition:border .5s,background-color .5s,color .5s; }
.pulsante-1 { background-color:#50ade5; color:#FFF; padding:15px; border:1px solid #50ade5; }
.pulsante-1:hover { background-color:#FFF; color:#50ade5; padding:15px; border:1px solid #50ade5; }
.pulsante-2 { background-color:#1001e; color:#FFF; padding:15px; border:1px solid #50ade5; }
.pulsante-2:hover { background-color:#FFF; color:#50ade5; padding:15px; border:1px solid #50ade5; }

#banner-1 { position:relative; }
#banner-1 h2 { position:absolute; left:10px; bottom:10px;  }

#home-banner { position:relative; }
#home-banner .banner-testo { position:absolute; top:auto; bottom:0; left:0; right:0; margin:auto; width:600px; height:400px; text-align:right; font-weight:bold; }
#home-banner .banner-testo p { margin:0; }
#home-banner .banner-testo { color:#FFF; }
#home-banner .banner-testo .giorno { display:block; letter-spacing:25px; font-size:50px; }
#home-banner .banner-testo .mese { display:block; text-transform:uppercase; font-size:26px; letter-spacing:40px; }
#home-banner .banner-testo .num { font-size:36px; font-weight:bold; }
#home-banner .banner-testo .edizione { font-size:24px; letter-spacing:10px; font-weight:bold; }
#home-banner .banner-testo .anno { display:block; color:#50ade5; font-size:30px; }
#home-banner .banner-testo .altro { font-size:36px; line-height:43px; }

#home-evento1 { padding:20px 0; }
#home-evento1 h4 { font-size:20px; }
#home-evento1 ul,#home-concerti ul { list-style-type:none; margin:0; }
#home-evento1 p { margin:0; }
#home-evento1 em { padding-right:5px; }

.protagonista-foto { position:relative; }
.protagonista-foto img { display:block; margin:0 auto; }
.protagonista-foto .testo-foto h2,.protagonista-foto .testo-foto h3 { margin:0; }
#home-protagonisti { padding:20px 0; }
#home-protagonisti h3,#home-protagonisti h2 { font-size:16px; margin:0; }
#home-protagonisti h2 { color:#50ade5; font-size:24px; }
#home-protagonisti img { display:block; }
#home-protagonista1 .testo-foto { position:absolute; right:0; bottom:50px; }
#home-protagonista2 .testo-foto { position:absolute; left:0; bottom:50px; }

#home-concerti { position:relative; background-image:url('/img/banner-home-concerti.jpg'); background-position:center center; background-attachment:scroll; background-repeat:no-repeat; -moz-background-attachment:fixed; -webkit-background-attachment:fixed; }
#home-concerti .banner-testo { position:relative; padding:15px; background-color:rgba(0,0,0,0.1); }
#home-concerti .banner-testo h4 { font-size:20px; margin:20px 0 10px 0; }
#home-concerti .banner-testo h3 { font-size:24px; margin:0 0 10px 0; }
#home-concerti .banner-testo p { margin:0; }
#home-concerti .concerto { margin-bottom:45px; }

.gsc-control-cse { background-color:#000; }

.custom-container-colonne { display:grid; grid-template-columns:repeat(2, 1fr); grid-column-gap:10px; justify-items:center; align-items:center; }
.custom-colonna { margin-bottom:1rem; }

#s-contenuto { padding:0 0 20px 0; }
#s-contenuto div.banner { width:100%; }
#s-contenuto div.banner img { display:block; margin:0 auto; }
/* #p-sostenitori h2 { border-top:2px solid #50ade5; padding-top:10px; } */
#p-sostenitori h2 { font-size:20px; color:#50ade5; padding:10px; margin-top:25px; text-transform:uppercase; border-bottom:1px solid #50ade5; }
#p-sostenitori h2:first-of-type { margin-top:0; }
#p-sostenitori { padding:20px 0; }
#p-sostenitori #sponsor-main a img { margin:0 auto; }
#p-sostenitori img { height:50px; display:block; margin-left:auto; margin-right:auto; }

.spettacolo { margin-top:50px; border-top:1px solid #50ade5; padding-top:10px; }
#p-programma h2 { color:#50ade5; }

.p-storiafestival h3 { border-top:1px solid #50ade5; padding-top:10px; }
.storia-anno { border-top:1px solid #50ade5; padding-top:10px; margin-top:30px; }
.storia-anno h3 { border-top:none; padding-top:0;  }

.tabella-biglietteria { border:1px solid #666; }
.tabella-biglietteria .tabella-header { display:none; color:#FFF; font-weight:bold; background-color:#50ade5; padding:10px; border-bottom:1px solid #666; text-transform:uppercase; }
.tabella-biglietteria .tabella-riga { padding:10px; transition:background-color .5s,color .5s; }
.tabella-biglietteria .tabella-riga:nth-child(even) { background-color:#333; }
.tabella-biglietteria .tabella-riga:nth-child(odd) { background-color:#555; }
.tabella-biglietteria .tabella-riga:hover { background-color:#FFF; color:#50ade5; transition:background-color .5s,color .5s; }
.tabella-biglietteria .col-h:nth-child(4) { text-align:center; }
.tabella-biglietteria .tabella-riga a { color:#FFF; }
.tabella-biglietteria .tabella-riga:hover a { color:#50ade5; }
.tabella-biglietteria .col-evento span { text-transform:uppercase; padding-right:5px; }
.tabella-biglietteria .col-biglietto { text-align:center; }
.tabella-biglietteria .col-biglietto img { height:25px; display:inline-block; vertical-align:middle; }
.tabella-biglietteria .col-biglietto span { display:inline-block; vertical-align:middle; margin-left:10px; }

#s-traccia { padding-top:30px; padding-bottom:30px; }
#p-biglietteria { padding:15px; }

#concerti-elenco h1[id^="concerto"] { padding-top:250px; margin-top:-250px; }

.cerca { margin:10px 0; position:relative; width:250px; margin:20px 0; }
.cerca input[type="text"] { background-color:#999; border:1px solid #444; color:#FFF; display:inline-block; vertical-align:middle; width:100%; padding:5px 50px 5px 10px; border-radius:0; height:31px; }
.cerca input[type="submit"] { background-color:#444; color:#FFF; display:inline-block; vertical-align:middle; width:40px; margin-left:-40px; margin-top:0; padding:4px; height:31px; display:none; }
.cerca label { position:absolute; right:0; top:0; bottom:0; width:40px; font-size:0; background-image:url('/img/search.svg'); background-position:center center; background-repeat:no-repeat; background-color:#444; background-size:16px auto; }
.cerca label:hover { cursor:pointer; }
#search-form { width:90%; margin:30px auto; }

footer { background-color:#333; color:#FFF; border-top:20px solid #50ade5; margin:0; padding:2rem 0; }
footer a { color:#FFF; }
footer form label { color:#FFF; }
footer #newsletter #newsletter-campi p:nth-child(2) { display:flex; gap:1rem; }
footer #newsletter input[type=email] { width:65%; }
footer #newsletter input[type=submit] { width:30%; margin-top:0; }
#footer-navigation h2 { font-size:1.4rem; margin:1rem 0 1rem 0; color:#50ade5; text-transform:uppercase; }
#footer-navigation h3 { font-size:1.2rem; margin:0 0 0.5rem 0; }
#footer-links { grid-area:links; }
#footer-us { grid-area:us; }
#footer-contacts { grid-area:contacts; }
#footer-social { grid-area:social; }
#footer-institutional { grid-area:institutional; }
#footer-social img { width:2rem; height:2rem; }
#footer-navigation ul { display:block; margin:1rem 0 0 0; padding:0; }
#footer-navigation li { display:block; margin:0.5rem 0; padding:0; }
#footer-navigation #footer-social ul { display:flex; gap:1rem; }

@media only screen and (min-width:980px) {
    footer #newsletter form { display:flex; align-items:center; }
    footer #newsletter h2 { width:50%; }
    footer #newsletter #newsletter-campi { width:50%; }
    #footer-navigation { display:grid; grid-template-columns:1fr 1fr 2fr; grid-template-areas:"links us contacts" "links us social" "institutional institutional institutional"; margin:3rem 0 0 0; }
    #footer-navigation h2 { margin-top:0; }
    #footer-navigation #footer-institutional ul { display:flex; gap:1rem; justify-content:flex-end; }
}

@media only screen and (max-width:479px) {
    header .logo { display:none; }
    #home-protagonisti img { margin:0 auto; }
    #home-protagonisti { text-align:center; }
    .protagonista-foto .testo-foto h2 { font-size:16px; }
    .protagonista-foto .testo-foto h3 { font-size:14px; }
    .tabella-biglietteria { text-align:center; }
    .tabella-biglietteria .col { padding-top:5px; padding-bottom:5px; }
    .banner-testo h2 span { display:block; }
}

@media only screen and (min-width:480px) {
    .tabella-biglietteria .tabella-header { display:block; }
    .tabella-biglietteria .col-biglietto span { display:none; }
}

@media only screen and (max-width:979px) {
    body.menu-open { overflow:hidden; }
    body.menu-open header .logo { display:none; }
    #nav-main-handler:checked ~ label { z-index:1003; }
    #nav-main-handler:checked ~ #nav-main-container { display:block; position:fixed; width:100%; height:100%; background-color:#000; top:0; bottom:0; right:0; left:0; padding-top:70px;  overflow-y:auto; z-index:1002; }
    #nav-main ul li a { font-size:15px; }
    #nav-main-handler:checked ~ #nav-main-container > ul > li { padding:0 25px; }
    #nav-main-handler:checked ~ #nav-main-container > ul > li > a { border-bottom:1px solid #333; padding:10px 0;  }
    #nav-main-handler:checked ~ #nav-main-container > ul .sel ~ ul { display:block; background-color:#000; }
    #nav-main-handler:checked ~ #nav-main-container > ul .sel ~ ul li { display:block; }
    #nav-main-handler:checked ~ #nav-main-container > ul .sel ~ ul li a { padding-left:25px; border-bottom:1px solid #333; }
    #nav-main-handler:checked ~ #nav-main-container > ul .sel ~ ul ul li a { padding-left:40px; }
    #nav-main-container .cerca { width:100%; }
    #ch,#lb-ch,#nav-lang { display:none; }
    #home-protagonisti .protagonista { padding-bottom:20px; }
    #home-protagonisti .protagonista:last-child { padding-bottom:0; }
}

@media only screen and (min-width:480px) and (max-width:979px) {
    #home-protagonisti h3 { max-width:250px; }
}


@media only screen and (min-width:980px) {
    header { height:55px; padding:0; }
    header + * { margin-top:95px; }
    header .logo { height:55px; }
    header .logo img { height:40px; margin-top:7px; }
    #nav-main { background-color:#333333; }
    #nav-main ul { height:40px; }
    #nav-main .logo-smto-mini img { position:absolute; top:8px; right:50px; }
    #lb-nmh { top:15px; }
    #nav-main-handler:checked ~ #nav-main-container { position:fixed; width:100%; left:0; right:0; top:55px; text-align:center; background-color:#333; }
    #s-admin + header #nav-main #nav-main-handler:checked ~ #nav-main-container { top:95px; }
    #nav-main-handler:checked ~ #nav-main-container > ul { display:inline-block; }
    #nav-main-handler:checked ~ #nav-main-container ul li { float:left; width:auto; }
    #nav-main-handler:checked ~ #nav-main-container > ul .sel ~ ul { display:block; position:absolute; top:40px; left:0; right:0; width:100%; background-color:#555; }
    #nav-main-handler:checked ~ #nav-main-container > ul .sel ~ ul li { display:inline-block; vertical-align:middle; float:none; }
    #nav-main-handler:checked ~ #nav-main-container > ul .sel ~ ul ul { background-color:#888 }
    #nav-main #cerca { position:absolute; top:0; left:0; right:0; }
    #ch { display:none; }
    #lb-ch { display:block; position:absolute; top:-50px; right:120px; width:40px; height:40px; font-size:0; background-image:url('/img/search.svg'); background-position:center center; background-repeat:no-repeat; background-color:transparent; background-size:16px auto; }
    #lb-ch:hover { cursor:pointer; }
    #nav-lang { display:block; position:absolute; top:15px; right:97px; width:20px; height:20px; margin:0; padding:0; }
    #nav-main #cerca form { display:none; }
    #nav-main #ch:checked ~ form { display:block; position:absolute; top:-45px; left:50px; right:0; margin:auto; }
    #nav-main #ch:checked ~ #nav-lang { display:block; position:absolute; top:-45px; right:10px; }
    #banner-1 h2 { left:130px;  bottom:25px; }
    .bottoni li { display:table; width:33.3333333%; padding-left:10px; float:left; }
    .bottoni li:first-child { padding-left:0; }
    .bottoni .bottone { display:table-cell; height:70px; vertical-align:middle; width:100%;}
    .slider { height:500px; }
    .slider .blocco div { height:500px; }
    #search-form { width:500px; }
    #s-galleria { height:500px; }
    body.menu-open #s-traccia.liv-3 { margin-top:60px; }
    body.menu-open #s-traccia.liv-4 { margin-top:135px; }
    body.menu-open #s-traccia.liv-4.figli-visibili { margin-top:175px }
    body.menu-open #s-traccia.liv-5 { margin-top:175px; }
    body.menu-open #s-traccia.liv-5.figli-visibili { margin-top:215px; }
    body.menu-open #s-contenuto.liv-3 { margin-top:95px; }
    body.menu-open #s-contenuto.liv-4 { margin-top:135px; }
    body.menu-open #s-contenuto.liv-5 { margin-top:135px; }
    body.menu-open #s-contenuto.liv-4.figli-visibili { margin-top:175px; }
    body.menu-open #s-contenuto.liv-5.figli-visibili { margin-top:215px; }
    .banner + #s-traccia { margin-top:30px !important; }

    #home-protagonisti h3 { padding-top:35px; }
    #home-protagonista1 .testo-foto { right:130px; }
    #home-protagonista2 .testo-foto { left:130px; }

    #home-evento1 { padding:40px 0; }
    #home-concerti .banner-testo { padding:40px 180px 100px 180px; }
    #home-concerti .banner-testo h2 { margin-left:-60px; }

    #p-sostenitori img { height:70px; }
    .custom-container-colonne { grid-template-columns:repeat(3, 1fr); grid-column-gap:10px; }
    .custom-colonna { margin-bottom:3rem; }

    #s-contenuto { padding:0 0 40px 0; }

    .tabella-biglietteria { padding:0 15px; }
}

@media only screen and (max-width:1259px) {

}

@media only screen and (min-width:980px) and (max-width:1259px) {

}

@media only screen and (min-width:1260px) {
    .custom-container-colonne { grid-template-columns:repeat(4, 1fr); }
    #p-sostenitori img { height:65px; }
}

@media only screen and (max-width:1599px) {

}

@media only screen and (min-width:1260px) and (max-width:1599px) {

}

@media only screen and (min-width:1600px) {

}
