/* =====================================================================
 * Questo CSS definisce la struttura della pagina, impostando un default 
 * sovrascrivibile con il foglio di stile di ogni artafiles.
 * E' essenziale che venga richiamato prima questo css, poi quello 
 * personalizzato che lo sovrascrive.
 * ================================================================== */
 
/*! normalize.css v1.0.1 | MIT License | git.io/normalize */
/*! RESET HTML */

article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary{display:block}
audio,canvas,video{display:inline-block;/* *display:inline;*zoom:1 */}
audio:not([controls]){display:none;height:0}
[hidden]{display:none}
html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
html,button,input,select,textarea{font-family:sans-serif}
body{margin:0}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:.67em 0}
h2{font-size:1.5em;margin:.83em 0}
h3{font-size:1.17em;margin:1em 0}
h4{font-size:1em;margin:1.33em 0}
h5{font-size:.83em;margin:1.67em 0}
h6{font-size:.75em;margin:2.33em 0}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:bold}
blockquote{margin:1em 40px}
dfn{font-style:italic}
mark{background:#ff0;color:#000}
p,pre{margin:0.5rem 0}
code,kbd,pre,samp{font-family:monospace,serif;_font-family:'courier new',monospace;font-size:1em}
pre{white-space:pre;white-space:pre-wrap;word-wrap:break-word}
q{quotes:none}
q:before,q:after{content:'';content:none}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-0.5em}
sub{bottom:-0.25em}
dl,menu,ol,ul{margin:1em 0}
dd{margin:0 0 0 40px}
menu,ol,ul{padding:0 0 0 40px}
nav ul,nav ol{list-style:none;list-style-image:none}
img{border:0;-ms-interpolation-mode:bicubic}
svg:not(:root){overflow:hidden}
figure{margin:0}
form{margin:0}
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}
legend{border:0;padding:0;white-space:normal;/* *margin-left:-7px */}
button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;/* *vertical-align:middle */}
button,input{line-height:normal}
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;/* *overflow:visible */}
button[disabled],input[disabled]{cursor:default}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;/* *height:13px;*width:13px */}
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0;}


/* ========================
 * COMUNI - ELEMENTI BASE
 * ======================== */
   
html,
body {
	margin: 0;
	padding: 0;
	height: 100%;
    font-size: 1em;
	font-family: Arial, FreeSans, Geneva, sans-serif;
}

ul, ul li {
	margin: 0;
	padding: 0;
}

ul li {
	list-style-type: none;
}

ol {
	margin: 0;
	padding: 0;
}

ol li {
	list-style-type: decimal;
}
	
/* ========================
 * COMUNI - ELEMENTI LAYOUT
 * ======================== */

#contenitore,
#testa,
#content,
#footer {
	-webkit-box-sizing: content-box;	
	   -moz-box-sizing: content-box;
	        box-sizing: content-box;
}

#contenitore,
#footer {
	margin: 0 auto;
}

#contenitore {
	min-height: 100%;
}

#contenitore:after {
	content: "";
	display: block;
}

#logo {
	padding: 1rem;
}

#logo img {
	max-width: 100%;
}

#corpo {
			padding: 0;
}

#footer {
	font-size: 0.86em; 
	text-align:center;
	-webkit-box-sizing: content-box;	
       -moz-box-sizing: content-box;
            box-sizing: content-box;
}

#footer p {
	padding: 1rem;
	margin: 0;
}

/* ======================
 * COMUNI - ELEMENTI FORM
 * ====================== */

input,
select{
	padding: 0.086rem 0.25rem;
}

select:empty {
	display: none;
}

input[disabled],
select[disabled],
button[disabled] {
	opacity: 0.2;
}

button {
	padding: 0.5rem 1rem;
}

input[type="text"],
input[type="password"],
select,
textarea {
	margin-right: 1rem;
}

table input[type="text"],
table input[type="password"],
table select,
table textarea {
	margin-right: 0;
}

input[type="submit"],
input[type="button"],
input[type="reset"],
button {
	border: 0;
}

input[type="button"].qtyplus,
button.qtyplus {
	padding: 2px 11px 2px 11px;
	font-weight: bold;
	margin-left: 3px;
}

input[type="button"].qtyminus,
button.qtyminus {
	padding: 2px 13px 2px 13px;
	font-weight: bold;
	margin-right: 3px;
}

label,
span.spazio {
	display: block;
}

fieldset {
	padding: 1rem;
	border: 0;
	margin: 0;
}
	
fieldset [type="submit"] {
	margin-top: 0;
}

textarea[readonly="readonly"] {
	border: 0;
    resize: vertical;
}

legend {
	display: block;
	width: 100%;
	margin: 0 -1rem;
	padding: 0.25rem 1rem;
}

form .riga {
	clear:left;
	margin: 1rem;
}

.bottoni form {
	margin-bottom: 1rem
}

label,
span.spazio {
	float: left;
	width: 10rem;
	margin: 0 0.5rem 0 0;
	text-align: right;
}

#couponelettronici label, #codiciprenoattivi label {
	width: 16rem;
	line-height: 1.2;
}

/* Multiselect a cascata */
div.cont_csc { float: left; width: 100%; }
div[id^=dev_select] { clear: left; }

	/* vari dettagli */
.riduzione input {
	width: 2.5rem;
}

.nonattivo,
.nonattivo label {
	font-weight: 300;
	color: #999;
	font-style: italic;
}

.nonattivo label {
	display: inline-block;
	margin-left: 30px;
}

.griglia.data .nonattivo {
	background: #f1f1f1;
	display: block;
	text-align: center;	
	padding: 0.5rem 1rem;
	-webkit-border-radius: 3px;
            border-radius: 3px;
}

.griglia.data .confasce { padding: 0.5rem 1rem 0.2rem 1rem; }

	/* immagine custom per checkbox e radiobutton */
	   
input[type='radio'],
input[type='checkbox'] {
   	position: absolute;
    opacity: 0;
    filter: alpha(opacity=0);
    z-index: 100;
    width: 20px;
    height: 20px;
    cursor:pointer;
    cursor: hand;
}

input[type="radio"] + label,
input[type="checkbox"] + label {
	float: none;
    margin: 0.15rem 0 0 0;
    padding:0.15rem 0 0 26px;
    position:relative;
	text-align: left;
	font-weight: 300;
    z-index:0;
    line-height: 1;
    min-width: 3.5rem;
}

div#rigaSesso input[type="radio"] + label {
	float: left;
}

input[type="radio"] + label {
    background:url('ico_generale/radio-off.svg') 0 0.2rem no-repeat;
    line-height:20px;
    min-height:20px;
}

input[type='radio']:checked + label {
    background:url('ico_generale/radio-on.svg') 0 0.2rem no-repeat;
}

input[type="checkbox"] + label {
    background: url('ico_generale/checkbox-off.svg') 0 0.2rem no-repeat;
    min-height: 20px;
} 

input[type='checkbox']:checked + label {
    background:url('ico_generale/checkbox-on.svg') 0 0.2rem no-repeat;
}

input[type='radio']:disabled + label,
input[type='checkbox']:disabled + label 
input[type='radio']:disabled:checked + label,
input[type='checkbox']:disabled:checked + label {
	opacity: 0.5;
    filter: alpha(opacity=0.5);
} 

/* ===========================================
 * SPECIFICO - inputRicercaTitoli (modifica utilizzatore supporto pub)
 * =========================================== */

.inputRicercaTitoli .riga label {
    float: none;
    width: 90%;
    display: block;
    text-align: left;
}

.inputRicercaTitoli .gestioneFunzione {
    margin-top: 1rem;
}
/* ===============================
 * COMUNI - LINK E LINK A PULSANTE
 * =============================== */

:hover,
:checked {
	-webkit-transition: all 0.25s ease-in-out;
	   -moz-transition: all 0.25s ease-in-out;
	    -ms-transition: all 0.25s ease-in-out;
	     -o-transition: all 0.25s ease-in-out;
	        transition: all 0.25s ease-in-out;
}

button[type="submit"] { background-image: url(ico_generale/check.svg); }
input[type="submit"] { background-image: url(ico_generale/check.svg); }

button#loginbutton { background-image: url(ico_generale/lock.svg); }
button#verificadatianagbutton {	background-image: url(ico_generale/user.svg); }

button#conferma,
input#trovaposticonferma { background-image: url(ico_generale/check.svg); }

button#zoomIn { background-image: url(ico_generale/zoomIn.svg); }
button#zoomOut { background-image: url(ico_generale/zoomOut.svg); }

#infoCouponInserito input[type="submit"] { background-image: url(ico_generale/del.svg); }

.tabprezzi button { background-image: url(ico_generale/dettaglio.svg);
	font-size: 0.86rem; 
	width: 6rem; 
	padding: 0.25rem 0.5rem; 
}

td.elimina button.icona {
	text-indent: -9999px;
	width: 2.6rem;
	padding: 0.5rem;
	background-repeat: no-repeat; 
	background-position: 50% 50%;
	background-image: url(ico_generale/elimina.png);
	background-color: transparent;
}

a#ricevutapdf,
a#bigliettipdf,
a#versionepdf,
a#fatturapdf { 
	background-image: url(ico_generale/pdf.svg); 
	background-position: 95% 50%;
	background-repeat: no-repeat;
	margin: 0.2rem;
	padding-right: 30px;
}

a#bigliettizip {
	/*background-image: url(ico_generale/zip.svg); 
	background-position: 95% 50%;
	background-repeat: no-repeat;*/
	margin: 0.2rem;
	padding-right: 30px;
}

a#acquista {
	background-image: url(ico_generale/check.svg); 
	background-position: 95% 50%;
	background-repeat: no-repeat;
	padding-right: 30px;
}

#abbonamento button.testo { 
	background-image: url(ico_generale/del.svg); 
}

.bottoni.pagamento input {
	background-image: url(ico_generale/card.svg); 
}

/* ======================
 * COMUNI - SCELTA LINGUE
 * ====================== */

#lingua {
	text-align: right;
	margin: 0.5rem 1rem 0 0;
}

#lingua li {
	display: inline-block;
	margin: 0;
	padding: 0;
}

#lingua a {
 	display: block;
 	text-align: left;
 	text-indent: -9999px;
 	width: 24px;
 	height: 16px;
 	margin: 0 0 0 0.5rem;
 	background-position: center center;
 	background-repeat: no-repeat;
	-webkit-box-sizing: content-box;	
	   -moz-box-sizing: content-box;
	        box-sizing: content-box;
}

#lingua a:hover,
#lingua a:focus {
	opacity: 0.5;
}

	/* immagini bandiere */
#lingua a[href*="lang=ar"] {
 	background-image: url(../flags/ar.svg)
}
#lingua a[href*="lang=de"] {
 	background-image: url(../flags/de.svg)
}
#lingua a[href*="lang=el"] {
 	background-image: url(../flags/el.svg)
}
#lingua a[href*="lang=en"] {
 	background-image: url(../flags/en.svg)
}
#lingua a[href*="lang=es"] {
 	background-image: url(../flags/es.svg)
}
#lingua a[href*="lang=fr"] {
 	background-image: url(../flags/fr.svg)
}
#lingua a[href*="lang=hi"] {
 	background-image: url(../flags/hi.svg)
}
#lingua a[href*="lang=it"] {
 	background-image: url(../flags/it.svg)
}
#lingua a[href*="lang=pl"] {
 	background-image: url(../flags/pl.svg)
}
#lingua a[href*="lang=pt"] {
 	background-image: url(../flags/pt.svg)
}
#lingua a[href*="lang=ro"] {
 	background-image: url(../flags/ro.svg)
}
#lingua a[href*="lang=ru"] {
 	background-image: url(../flags/ru.svg)
}
#lingua a[href*="lang=sq"] {
 	background-image: url(../flags/sq.svg)
}
#lingua a[href*="lang=zh"] {
 	background-image: url(../flags/zh.svg)
}

/* =================
 * COMUNI - PERCORSO 
 * ================= */

.percorso {
	text-align: center;
	font-size: 0.89rem;
	clear: both;
}

.percorso li {
	float: left;
	margin-right: 1rem;
	position: relative;
	padding: 0.24rem 0.6rem;
	list-style-position: inside;
}

.percorso.top, .percorso.bottom {
	margin: 1rem 0;
}

.onlinetab li {
  	min-width: 6em;
}

/* =================================
 * COMUNI - MENU, BARRE, CONTENITORI
 * ================================= */

	/* contenitore generico */
.box {
	padding: 0.5rem 1rem;
	margin: 0;
	min-height: 2rem;
}

.box.standard label {
	display: block;
	float: none;
	width: auto;
	text-align: left;
	margin-bottom: 1rem;
}

.box.mini {
	width: 75%;
	margin-left: auto;
	margin-right: auto;
}

.box fieldset {
	margin: 0 -1rem;
}
	
.dx .box {
	padding: 0.5rem 1rem;
}

	/* contenitore per link */
.link {
	text-align: right;
	margin: 1rem 0;
}

.bottoni {
	margin: 1rem 0;
	text-align: right;
}

.box .bottoni {
	margin: 0.5em 0;
}

fieldset .bottoni {
	margin: 1rem 0 0 0;
}

	/* particolare nella pagina di transazione (pulsante pagamento) */
.datimodalitapagamento .bottoni {
	text-align: center;
}

	/* menu vari */
#primariga {
 	float: left;
}

#primariga li {
	display: inline-block;
	margin: 0;
	padding: 0;
}

#primariga a {
	display: block;
	padding: 6px 12px;
	margin: 0;
}

#secondariga {
	padding: 0.5rem 1rem;
		clear: both;
}

#navigazione {
	text-align: right;
	margin: -0.5rem -1rem 0.5rem -1rem;
}

#navigazione li {
	display: inline-block;
}

#navigazione li a {
	margin: 0;
}

/* ====================================
 * COMUNI - TITOLI, LABEL, MESSAGGI ECC.
 * ==================================== */
 
h1 {
	margin: 1rem 0 0 0;
	font-weight: 300;
	font-size: 2rem;
	line-height: 1.1;
	padding: 0.5rem 0 0.25rem 0;
}

h2 {
	padding: 0.25rem 1rem;
	margin: 0;
	font-size: 1.52rem;
	font-weight: 300;
}
 
	/* messaggi e note */
.messaggio {
	margin: 1rem 0;
}

.messaggio.info {
	background: #faffbd;
}

.messaggio.avviso {
	background: #ffeb79;
}

.messaggio.errore {
	background: #ed421b;
	color: #fff;
}

.messaggio > div,
.messaggio p {
	margin: 0;
	padding: 0 1rem;
}

.messaggio p:first-child {
	padding-top: 1rem
}

.messaggio p:last-of-type {
	padding-bottom: 1rem
}

.messaggio p:empty {
	margin: 0;
	padding: 0;
}

	/* messaggio in una riga dei form (corrisponde al float della label) */
.riga .messaggio {
	margin-left: 10.5rem;
}

#tabella_carrello .riga .messaggio { margin-left: 0; }

	/* messaggio in un box */
.box .messaggio {
	margin: 0.5rem 0;
}

fieldset .messaggio:last-child {
	margin-bottom: 0;
}

	/* messaggio in una cella */
td .messaggio {
	margin: -0.5rem;
}
	/* messaggio in una riga di form */
.riga .messaggio {
	font-size: 0.86rem;
	margin: 0;
}

.riga .g-recaptcha {
	font-size: 0.86rem;
	margin: 0;
}

.g-recaptcha {
	display: inline-block;
}

	/* .note e .attenzione dovrebbero sempre stare dentro .messaggio */
.note {
	font-size: 0.86em;
}

.attenzione {
	font-size: 1.2rem;
}

.note strong {
	display: inline-block; 
	margin: 0 0.25rem 0.25rem 0;
	padding: 0 0.25rem; 
	-webkit-border-radius: 3px;
            border-radius: 3px;
}

	/* ...a parte quello che sta dentro la lista eventi */
.note.datevendita {
	font-size: 0.86em;
	max-width: 100%;
	padding: 0.5rem 1rem; 
	margin: 0.25rem 0 0 0;
}

.data .attivo {
	max-width: 100%;
	padding: 0.5rem 1rem; 
}

	/* etichette disponibilita' */
.data .attivo,
.note.datevendita,
.dispNumerica,
.dispEsaurita,
.dispInEsaurimento,
.dispAlta,
.dispMedia,
.dispBassa {
	display: block;
	text-align:center;
	padding: 0.5rem 0.25rem; 
	line-height: 1.1;
	-webkit-border-radius: 3px;
            border-radius: 3px;
}

.scegliSettorePub .link_settore a, 
.scegliSettorePub .link_ingresso a {
	overflow: auto;
}

.scegliSettorePub .dispNumerica,
.scegliSettorePub .dispEsaurita,
.scegliSettorePub .dispInEsaurimento,
.scegliSettorePub .dispAlta,
.scegliSettorePub .dispMedia,
.scegliSettorePub .dispBassa {
	width: 35%;
	float: right;
	margin-top: -0.22rem;
	margin-bottom: -0.22rem;
	margin-right: -0.5rem;
}


.link_settore a span[class], 
.link_ingresso a span[class] {
	padding: 0.2rem 0.5rem;
}

.dispNumerica.conEtichetta,
.dispEsaurita.conEtichetta,
.dispInEsaurimento.conEtichetta,
.dispAlta.conEtichetta,
.dispMedia.conEtichetta,
.dispBassa.conEtichetta {
	font-size: 0.85rem;
}

.dispNumerica .etichetta,
.dispEsaurita .etichetta,
.dispInEsaurimento .etichetta,
.dispAlta .etichetta,
.dispMedia .etichetta,
.dispBassa .etichetta {
	display: block;
	font-size: 0.75rem;
}


.dispNumerica {
	color: #fff;
	background: #888;
}

.dispEsaurita {
	font-size: 0.86em;
	color: #fff;
	background: #666;
}

.dispInEsaurimento {
	font-size: 0.80em;
	color: #fff;
	background: #e64216;
}

.dispAlta {
	color: #357b2e;
	background: #66eb58;
}

.dispMedia,
.dispBassa {
	color: #817406;
	background: #ffe50d;
}

	/* etichette disponibilita' per listaEventiPub, vista calendario */
#eventiDelGiorno .dispEsaurita,
#eventiDelGiorno .dispInEsaurimento,
#eventiDelGiorno .dispAlta,
#eventiDelGiorno .dispMedia,
#eventiDelGiorno .dispBassa {
	font-size: 0.76em;
}

	/* tooltip/popup vari */
.contenitore {
	position:relative;
}

.infotooltip {
	cursor: pointer;
	text-indent: -9999px;
	overflow: hidden;
	width: 32px;
	height: 32px;
	background: url(ico_generale/info.svg) center center no-repeat;
}

.infotooltip:hover {
	opacity: 0.5;
}

.popup {
	position:absolute;
	top: -80%;
	left: -2.5rem;
	text-align: center;
	padding: 0.5rem; 
	font-size: 0.86em;
	line-height: 1.1;
	-webkit-border-radius: 3px;
            border-radius: 3px;
    width: 8rem;
    text-align: center;
    -webkit-box-shadow: 0 10px 20px -10px rgba(0,0,0,0.5),
                        inset 0 0 20px 0 rgba(0,0,0,0.2);
            box-shadow: 0 10px 20px -10px rgba(0,0,0,0.5),
                        inset 0 0 20px 0 rgba(0,0,0,0.2);
}

.riduzione .popup {
	z-index: 200
}

/* ================
 * COMUNI - TABELLE
 * ================ */
 
table.estesa,
table.corposinistra {
	width: 100%;
	min-width: 100%;
	margin: 1em 0;
}

table.mezza {
	min-width: 66%;
	margin: 0 auto 1em auto;
}

th, td {
	padding: 0.25rem;
	padding: 0.5rem 1rem;
}

th.disp,
td.disp,
colgroup.disp {
	text-align: center;
}

.importo,
.prezzo,
.quantita,
.prevendita,
.tot,
.submit {
	text-align: right;
}

td.tot {
	font-weight: bold;
}

td.importo {
	white-space: nowrap;
}

td.riduzione,
td.titolo {
	word-break: break-all;
}

th,
tr.legenda td {
	font-weight: 300;
	text-align: left;
	line-height: 1;
	vertical-align: bottom;
}

	/* tabelle con righe ordinabili */
table.tablesorter thead tr .header {
	cursor: pointer;
}

	/* per le label dentro le celle */
td label {
	display: block;
	float: left;
	width: 100%;
	text-align: left;
	font-weight: 300;
}

/* =======================================
 * SPECIFICO - autenticazione - iscrizione 
 * ======================================= */
 
	/* dettagli pagina di login */
.sx,
.dx {
	width: 50%;
}

.sx {
	float: left;
}

.dx {
	float: right;
}

#div_login fieldset {
	margin: 0;
}

#div_login .bottoni {
	width: 21rem;
}
 
#div_login button {
	margin-top: 1rem;
}

#content.registrazionePub {
	padding-bottom: 1rem;
}

#rigaAutorizzo1,
#rigaAutorizzo2 {
	padding-left: 9.5rem;
}

#rigaAutorizzo1 .messaggio,
#rigaAutorizzo2 .messaggio {
	padding-left: 0;
	margin-left: 0;
}

.anagInsertPub fieldset a.bott {
	width: auto;
}

/* =========================
 * SPECIFICO - recupero dati 
 * ========================= */

#content.recovery h2 {
	margin-top: 2rem;
}

	/* iframe operatore cassa */
.frameContent {
	width: 100%;
	background: #f1f1f1;
    -webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
		    box-sizing: border-box;

}

.frameContent iframe {
	border: 0.5rem solid #fff;
	background: #fff;
	margin: 2rem 8%;
	width: 84%;
	min-height: 28rem;
    -webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
		    box-sizing: border-box;
}

/* ==========================================
 * SPECIFICO - datiPrenotazioneStagionePub.do 
 * ========================================== */

 .cliente.datianagrafici p strong {
 	display: inline-block; 
 	width: 8rem;
 	margin-right: 0.5rem;
 	text-align: right;
 }

/* =============================
 * SPECIFICO - listaEventiPub.do 
 * ============================= */

 	/* versione CALENDARIO */
.calendar {
	float: left;
	width: 16em;
}

.calendar .fc-header-center h2 {
	background: transparent;
	color: #000;
	font-size: 1rem;
}

.calendar th.fc-day-header {
	background: #ddd;
	padding: 3px 0;
}

#details {
	float: right;
	width: 46rem;
}

#div_filtro {
	margin-bottom: 1rem;
}

#div_filtro label {
	margin-top: 0.5rem;
}

div#legenda {
	font-size: 0.8em;
	margin-bottom: 1rem;
	-webkit-box-sizing: content-box;
	   -moz-box-sizing: content-box;
	        box-sizing: content-box;
}

#eventiDelGiorno .griglia.titolo {
	width: 72%;
}

#eventiDelGiorno .griglia.titolo h3 {
	width: 8rem;
}

#eventiDelGiorno .griglia.titolo p {
	margin-top: 0;
}

div.detailsofday th.th-00,
div.detailsofday .griglia.data { text-align: center; }

div.detailsofday .griglia.data img {
	margin: -0.25rem;
	max-width: 5rem;
}
	
 	/* versione LISTA */
.onlinetab {
	margin: 0 0 -1rem 0;
}

.onlinetab li {
	float: left;
	margin: 0;
	padding: 0.25em 1em;
}
 	
.onlinetab li a {
	display: block;
}

tbody[id] td,
tbody[id].close__true td,
tbody[id].close__false td {
	padding: 0.25em;
}

.titolotabella {
	font-size: 1.4em; 
	padding: 0;
	border-bottom: 0;
}

.immaginisala {
	padding-top: 0;
	padding-bottom: 0;
}

.treeHead {
	display: block;
	cursor: pointer;
	cursor: hand;
}

.treeHead .treeOpen,
.treeHead .treeClosed {
	padding: 0.25em 0.25em 0.1rem 0.25em;
}

.treeOpen span {
	background: url(ico_generale/meno.svg) center center no-repeat;
}

.treeClosed span {
	background: url(ico_generale/piu.svg) center center no-repeat;
}

.treeHead span {
	margin: 0.5rem 0.5rem 0 0.25rem;
	display: inline-block;
	width: 24px;
	height: 24px;
	vertical-align: text-top;
	position: relative;
	top: -0.15rem;
	overflow: hidden;
	text-indent: -9999px;
}

.griglia.img {
	padding: 0;
	min-width: 2em;
	text-align: center;
}

.griglia.img img {
	max-width: 5rem;
}

.griglia.data {
	max-width: 12rem;
}

.griglia.data span {
	display: block;
}

.griglia.disp {
	max-width: 6rem;
	text-align: center;
}

.griglia.disp a {
	text-decoration: none;
}

.griglia.importo {
	text-align: right;
}

.griglia.quantita {
	text-align: right;
}

.griglia.titolo h3 {
	margin:0;
	font-size: 0.85rem;
	font-weight: 300;
	width: 8rem;
	padding: 0 0.25rem;
	float: left;
	margin-right: 0.5rem;
	margin-top: 0.25rem;
}

.griglia.titolo .box {
	margin: 0;
	padding: 0 0.5em;
}

.griglia.separatore {
	background: #f1f1f1;
}

	/* area hotel */
table.hotel td label {
	width: 25%;
	text-align: right;
}

table.hotel td .riga {
	margin: 1rem 0.5rem;
}

table.hotel td .riga + input  {
	margin-left: 25%;
}

table.estesa.hotel {
	margin: 0.5rem 0;
}

table.hotel td {
	border-bottom: 0;
}

table.hotel .riga.chk {
	padding-left: 26%;
}

table.hotel .riga.chk label {
	width: 50%;
	text-align: left;
}

#richiestaSigilloFiscaleAbbonamento > div[id^=filtro] label,
#richiestaSigilloFiscaleAbbonamento > div[id^=filtro] input[type="text"],
#richiestaSigilloFiscaleAbbonamento > div[id^=filtro] span { box-sizing: border-box; height: 1.5rem; }

#richiestaSigilloFiscaleAbbonamento > div[id^=filtro] input[type="text"] { width: 95%; }

#filtriEventiContainer { margin: 1rem 0px; }

#filtriEventiContainer > div[id^=filtro] { margin-bottom: 0.75rem; }
#filtriEventiContainer > div[id^=filtro]:last-child { margin-bottom: 0rem; }

#filtriEventiContainer > div[id^=filtro] label,
#filtriEventiContainer > div[id^=filtro] input[type="text"],
#filtriEventiContainer > div[id^=filtro] select,
#filtriEventiContainer > div[id^=filtro] span { box-sizing: border-box; height: 1.5rem; }

#filtriEventiContainer > div[id^=filtro] input[type="text"],
#filtriEventiContainer > div[id^=filtro] select { width: 15rem; }

#filtriEventiContainer span.filter-container { position: relative; }
#filtriEventiContainer > div[id^=filtro] input[type="text"] { /*padding-right: 1.25rem;*/ }
#filtriEventiContainer span.filter-reset {
    background-image: url(ico_generale/close.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 0.75rem;
    cursor: pointer;
    display: none;
    height: 1.5rem;
    width: 1rem;
    position: absolute;
    right: -0.25rem;
}

#filtriEventiContainer div[id^=div_cat_],
#filtriEventiContainer div[id^=div_tag_] {
	display: inline-block;
	margin-right: 30px;
}

#richiestaSigilloFiscaleAbbonamento > div[id^=filtro] label { width: 9rem !important; }
#richiestaSigilloFiscaleAbbonamento > div[id^=filtro] input[type="text"] { width: 15rem; }

#filtriEventiContainer > div[id^=filtro] input[type="text"],
#filtriEventiContainer > div[id^=filtro] select { width: 15rem; }

#filtriEventiContainer div[id^=div_cat_],
#filtriEventiContainer div[id^=div_tag_] {
	display: inline-block;
	margin-right: 30px;
}

#filtriEventiContainer div#filtro-reset-all { text-align: right; }
#filtriEventiContainer div#filtro-reset-all i[class^=fa] { margin-right: 0.25rem; }

.element-hide { display: none !important; }

/* ============================
 * SPECIFICO - cercaPostiPub.do
 * ============================ */
 
#accordion button {
	width: 8rem;
	padding: 0.5rem 30px 0.5rem 1rem;
}

.cercaPostiPub table.mezza td.ordineposto, 
.cercaPostiPub table.mezza td.disp {
	vertical-align: top;
}

.cercaPostiPub table.mezza td.ordineposto {
	width: 20%;
}

.cercaPostiPub table.mezza td.riduzione {
	padding-left: 0.5rem;
	padding-right: 0;
	padding-bottom: 0;
	width: 75%;
	vertical-align: top;
}

.cercaPostiPub table.mezza td.submit  {
	vertical-align: middle;
}

.cercaPostiPub table.mezza th.submit,
.cercaPostiPub table.mezza td.submit {
	width: 8rem;
	min-width: 8rem;
	padding-left: 0;
	padding-right: 0;
	vertical-align: bottom;
}

.cercaPostiPub table.mezza td.submit div {
	margin-left: -8.5rem;
	margin-right: 0.5rem;
}

.cercaPostiPub td.riduzione .box {
	position: relative; 
	width: 23.9%; 
	width: calc(95% / 3); 
	float: left;
	min-height: 5rem;
	font-size: 0.85rem;
	margin-right: 0.5rem;
	margin-bottom: 0.5rem;
	min-width: 10rem;
	padding: 0.25rem 0.5rem 1.62rem 0.5rem;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}

.cercaPostiPub td.riduzione .box:last-child {
	margin-bottom: 0;
}

.cercaPostiPub td.riduzione .box p {
	margin: 0;
	padding-right: 3.5rem;
	word-break: normal;
}

.cercaPostiPub td.riduzione .box a {
	float: none;
	position: absolute;
	top: 0.25rem;
	right: 0.5rem;
}

.cercaPostiPub td.riduzione .box .popup {
	top: -0.5rem;
	left: -1rem;
}

.cercaPostiPub td.riduzione .box input {
	width: 1.2rem;
	padding-top: 0;
	padding-bottom: 0;
}
.cercaPostiPub td.riduzione div[class*="qta_"] {
	margin-top: 0.5rem;
	text-align: right;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 0.25rem;
	width: 100%; 
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
			box-sizing: border-box;
}

.cercaPostiPub td.riduzione div[class*="qta_"] label {
	float: none;
	display: inline;
	margin-right: 0;
}

/* ============================
 * SPECIFICO - trovaPostiPub.do
 * ============================ */

tr.totale td {
	font-weight: bold;
}

#tabella_vendibili {
	width: 100%;
	margin-top: 1rem;
}

.trovaposto {
	width: 100%;
	text-align: center;
	background: #000;
}

.trovaposto .messaggio {
	text-align: left
}

/* ===============================
 * SPECIFICO - scegliSettorePub.do
 * =============================== */

.scegliSettorePub .numerati,
.scegliSettorePub .ingressi {
 	text-align: center;
}

.scegliSettorePub .numerati h2,
.scegliSettorePub .ingressi h2 {
 	margin-bottom: 0.5rem;
}

.scegliSettorePub .numerati h2 a,
.scegliSettorePub .ingressi h2 a {
 	display: block;
 	font-size: 1.2rem;
  	padding: 0.5em 1em;
  	margin: -0.25rem -0.5rem;
}

.scegliSettorePub .numerati h2.link_settore a:link,
.scegliSettorePub .ingressi h2.link_ingresso a:link {
  	text-shadow: 0 0 0 transparent;
}

.scegliSettorePub .numerati,
.scegliSettorePub .ingressi {
 	margin-bottom: 0.5rem;
}

.link_settore,
.link_ingresso {
	width: 33%;
	float: left;
}

.link_settore a,
.link_ingresso a {
 	font-size: 1.2em;
 	display: block;
 	padding: 0.5em 1em;
 	margin: 0.5rem;
}

.link_settore h2,
.link_ingresso h2 {
	padding: 0;
}

.scegliSettorePub .numerati h2.link_settore,
.scegliSettorePub .ingressi h2.link_ingresso {
 	padding: 0;
 	min-width: 33%;
 	margin: 1rem 0;
}

.numerati ul,
.ingressi ul {
	margin: 0 -0.5rem;	
}

/* =============================
 * SPECIFICO - scegliPostoPub.do
 * ============================= */
 
	/* mappa scelta posti */
#mapContainer {
	float: right;
	width: 48rem;
}

#mapArea {
	float: left;
	width: 15rem;
}

#mapArea h2 {
	font-size: 1em;
	margin: 0 -0.5rem;
	padding: 0.5rem;
	line-height: 1.2;
}
	
#mapContainer .messaggio {
	margin-top: 0;
}

.colore-ordine {
	width: 1.25rem;
	height: 1.25rem;
	float: right;
	margin: 0.5rem 0 0 0.5rem;
}

.tabprezzi {
	clear: both;
	padding: 0 0.5rem 0.5rem 0.5rem;
	margin-bottom: 1rem;
}

.tabprezzi .prezzi {
	font-size:  0.86rem;
	padding: 0.5rem 0;
}

.tabprezzi button {
	float: right;
}

.map {
	overflow: auto;
	clear: both;
}

#controls button {
	margin: 0 0.5rem 0 0;
}

#cart {
	clear: both;
	padding-top: 1rem;
}

#cart td.prezzo {
	padding-right: 0.25rem;
}

#cart td.elimina {
	width: 2.6rem;
	padding-left: 0;
}

#cart th.descr {
	width: 33%;
}

#cart th.prezzo {
	width: 25%;
} 

#cart .box {
	padding: 0;
	margin: 0;
	min-height: 2.8rem;
	text-align: left;
	padding: 0 0.25rem;
	width: 31%;
	margin-right: 2%;
	float: left;
	line-height: 1.2;
	-webkit-border-radius: 3px;
		    border-radius: 3px;
    -webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
		    box-sizing: border-box;
}

#cart .box.evidenza {
	background: transparent;
	text-align: right;
}

.curr-seat {
	position: relative;
}

.curr-seat p {
	position: absolute;
	width: 24rem;
	top: -3rem;
	right: 0;
	padding: 0.5rem 1rem;
	-webkit-border-radius: 2px;
			border-radius: 2px;
	-webkit-box-shadow: 0 10px 20px 0 rgba(0,0,0,0.4),
						inset 0 0 30px rgba(0,0,0,0.1);
            box-shadow: 0 10px 20px 0 rgba(0,0,0,0.4),
						inset 0 0 30px rgba(0,0,0,0.1);
}

.scegliPostoPub.ui-dialog { width: 480px !important; }

	/* best seat */
#immaginepianta {
	text-align: center;
	background: #000;
}

/* ===========================================
 * SPECIFICO - scegliPostoNNPub (non numerato)
 * =========================================== */

.scegliPostoNNPub table .selezione {
 	width: 4.6rem;
}

/* =========================
 * SPECIFICO - ricerca hotel
 * ========================= */

 .listaHotel h2 em {
 	font-style: normal;
 }

.listaHotels .nomeHotel { font-size: 1.5rem; font-weight: 700; }
.listaHotels .nomeCamera { font-size: 1.25rem; font-weight: 700; }
#listaHotels .notes { margin-top: 0.5rem; }
#listaHotels .camera { border-width: 0 0 0 2px; border-color: #DDD; border-style: solid; padding: 0 0 0 0.75rem; }

/* =========================
 * SPECIFICO - lista hotel
 * ========================= */
 
.rating-stars { color: #FFB700; font-size: 0.75rem; }
.actions { display: flex; justify-content: start; gap: 1rem; }
.icons-services { display: flex; flex-wrap: wrap; font-size: 0.875rem; margin: 0.75rem 0; }
.service { display: inline-flex; align-items: baseline; margin: 0 0.75rem 0.25rem 0; }
.service i { margin-right: 0.25rem; }
#listaHotels td.griglia img { border-radius: 4px; }

/* ==================
 * SPECIFICO - coupon
 *=================== */

#infoCouponInserito.no-del h2 {
	padding-bottom: 1.4rem;
}
 
#infoCouponInserito.del h2 {
	float: left;
	width: 75%;
	width: calc(100% - 11rem)
}

#infoCouponInserito input[type="submit"] {
	height: 2.8rem;
}

#infoCouponInserito h2 {
	float: left;
	width: 75%;
	width: calc(100% - 11rem)
}

#infoCouponInserito input[type="submit"] {
	height: 2.8rem;
}

#infoCouponInserito .messaggio {
	margin-top: -1rem;
}

#infoCouponInserito .messaggio p:first-child:empty {
	padding-top: 1rem;
}

#infoCouponInserito .messaggio p:last-child:empty {
	padding-bottom: 1rem;
}

/* =======================
 * SPECIFICO - abbonamento
 *======================== */

table#abbonamento.estesa {
	margin-bottom: 0;
}

table#abbonamento table {
	min-width: 100%;
	margin-bottom: 0.75rem; 
}

#dettagliAbbonamento .messaggio {
	margin-top: -1rem;
}

#dettagliAbbonamento .messaggio p:first-child:empty {
	padding-top: 1rem;
}

#dettagliAbbonamento h2 {
	float: left;
	width: 75%;
	width: calc(100% - 11rem)
}
 
#abbonamento td {
	border: 0;
}

#abbonamento button {
	float: right;
}

/* =======================
 * SPECIFICO - transazione
 *======================== */
 
	/* lista transazioni */
.listaTransazioni .dettaglio {
	width: 2.6em;
	text-align: center;
}

.listaTransazioni td {
	border-bottom: 0;
	vertical-align: top;
}

.listaTransazioni .hidetr td {
	border-top: 0;
	padding: 0;
}

.listaTransazioni .hidetr .dett {
	padding: 0.25rem 0.5rem;
}

.listaTransazioni .hidetr .importo {
	padding-right: 0.25rem;
}

.listaTransazioni .hidetr div.dett {
	padding-right: 3rem;
	background-image: url(ico_generale/angolo.svg);
	background-repeat: no-repeat;
	background-position: 98% 0;
}

.listaTransazioni .hidetr td.dett {
	padding-left: 20px;
	background-image: url(ico_generale/angolo2.svg);
	background-repeat: no-repeat;
	background-position: 0 50%;
}

.toggle span {
	display: block;
	width: 36px;
	height: 36px;
	overflow: hidden;
	text-indent: -9999px;
	margin: 0 auto;
	cursor: pointer;
	cursor: hand;
	background: url(ico_generale/icon-dettaglio.svg) center center no-repeat;
}

	/* prenotazioni e pagamenti */
#tabella_carrello,
#listaTransazioniUtente {
	border: 0;
	-webkit-box-shadow: 0 6px 15px 0 rgba(0,0,0,0.3);
	        box-shadow: 0 6px 15px 0 rgba(0,0,0,0.3);
}

#tabella_carrello th,
#tabella_carrello td {
	border-bottom: 0;
}

#tabella_carrello td {
	vertical-align: top;
}

#tabella_carrello th {
	font-size: 0.86rem;
}


#tabella_carrello .descrizione {
	width: 70%;
}

#tabella_carrello .totale .descrizione {
	width: auto;
}

#tabella_carrello .importo,
#tabella_carrello .totale .importo {
	width: 4%;
}

#tabella_carrello .campi {
	width: 25%;
}

#tabella_carrello td.quantita {
	text-align: right;
	font-weight: 700;
	width: 4%;
}

#tabella_carrello .delete,
#tabella_carrello .totale .delete {
	width: 8%;
}

#tabella_carrello td input[type="text"] {
	min-width:8rem;
	margin: 0.25rem 0;
}

#tabella_carrello tr.totale td {
	/*width: 70%;*/ /* Non ha senso impostare tutte le colonne del totale al 70%! */
	font-weight: bold;
}

#tabella_carrello td.descrizione div {
	word-break: normal;
}

#tabella_carrello tr.group td.descrizione div {
	padding-left: 0.75rem;
}

#tabella_carrello tr.group td.descrizione div:before { 
	content: "*"; position: absolute; margin-left: -0.75rem; 
}

#tabella_carrello tr.group.sub td.descrizione div:before { 
	content: ""; 
}

#tabella_carrello tr.sub td { border: 0; }

#tabella_carrello td fieldset  {
	background: transparent url(ico_generale/angolo3.svg) 3rem 0 no-repeat;
}

#modalitadipagamento {
	padding-bottom: 1rem;
}

#divselectmodalitapagamento {
	padding-bottom: 1rem;
}

.datimodalitapagamento {
	padding-top: 1em;
}

.cards {
	text-align: center;
}

.cards.info {
	font-weight: bold;
}

.cards.icon img {
	display: inline-block; 
	margin: 0.5rem 0.25rem;
	background: #fff;
	padding: 3px 4px ;
	border: 1px solid #eaeaea;
	-webkit-border-radius: 2px;
			border-radius: 2px;
}

.transazione .riga {
	margin: 0;
}

.transazione1 div.modalitaPagamento label {
    width: auto;
}

.transazione1 div.modalitaPagamento label div  {
    padding-right: 10px;
    float: left;
}
.transazione1 div.modalitaPagamento label img  {
    height: 25px;
}
.conclusione_dett img {
	width: 100%;
}

	/* transazione con anagrafica (calcio) */
#tabella_carrello .datipartecipante .riga {
	margin: 0;
}

#tabella_carrello .datipartecipante .riga.anag {
	border: 1px solid #c4dcfd;
	margin: 0.5rem 0;
	padding: 0.5rem;
}

#tabella_carrello .datipartecipante .riga.anag:first-child {
	margin-top: -1.5rem;
}

#tabella_carrello .datipartecipante .riga.anag > label {
	color: #4e8ce1;
}

#tabella_carrello .datipartecipante label {
	float: none;
}

#tabella_carrello .datipartecipante input[type="text"],
#tabella_carrello .datipartecipante select {
	min-width: 75%;
}

/* ==================
 * SPECIFICO - guida
 * ================== */

div#corpoguida div.guida.titolo { margin: 20px 0px 10px 0px; font-weight: 700; }
div#corpoguida div.tornasu { text-align: right; }


/* ============================================
 * SPECIFICO - autenticazione facebook e google
 * ============================================ */
 
div#autenticazioneFacebook .bottoni, div#autenticazioneGoogle .bottoni {
  margin-top: 0;
}

#fb-btn {
	padding: 0.5rem 80px 0.5rem 1rem;
	background-image: url(facebook.png); 
	background-position: 95% 50%;
	background-size: 25px 25px;
}

#google-btn {
	padding: 0.5rem 80px 0.5rem 1rem;
	background-image: url(google.png); 
	background-position: 95% 50%;
	background-size: 25px 25px;
}

/* =================================
 * AGGIUNTE/OVERRIDE - jquery.ui.css 
 * ================================= */

.ui-widget {
	font-family: inherit;
}

.ui-icon {
	width: 24px;
	height: 24px;
}
 
.ui-dialog .ui-widget-header {
	background: transparent;
	border: 0;
	-webkit-border-radius: 0;
			border-radius: 0;
}

.ui-dialog.ui-widget {
	border: 0;
	padding: 0; 
	-webkit-border-radius: 0;
			border-radius: 0;
	-webkit-box-shadow: 0 10px 20px 0 rgba(0,0,0,0.4);
            box-shadow: 0 10px 20px 0 rgba(0,0,0,0.4);
}

.ui-dialog .ui-dialog-titlebar {
	border: 0;
	margin: 0;
}

.ui-dialog .ui-widget-content {
	border: 0;
}

.ui-dialog-buttonset,
.ui-dialog .ui-state-default, 
.ui-dialog .ui-widget-content .ui-state-default, 
.ui-dialog .ui-widget-header .ui-state-default  {
	border: 0;
	padding: 0; 
	-webkit-border-radius: 0;
			border-radius: 0;
}

button.ui-button,
.ui-state-default, 
.ui-widget-content .ui-state-default, 
.ui-widget-header .ui-state-default {
	border: 0;
	background: #f1f1f1;
}

.ui-state-default, 
.ui-widget-content .ui-state-default, 
.ui-widget-header .ui-state-default {
	border: 0;
}

.ui-button.ui-button-icon-only .ui-icon-closethick {
	width: 16px;
	height: 16px;
}

.ui-button.ui-button-icon-only .ui-icon-closethick + .ui-button-text {
	display: none;
}

.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
	background-image: url(ico_generale/piu.svg);
}

.ui-accordion .ui-accordion-header.ui-state-active .ui-accordion-header-icon {
	background-image: url(ico_generale/meno.svg);

}

.ui-button.ui-button-icon-only .ui-icon-closethick {
	background: transparent url(ico_generale/close.svg) center center no-repeat;
}

.ui-widget-content{ 
	background: #fff;
}

	/* specifico accordion (in cercaPostiPub) */
#accordion.ui-widget {
	font-family: sans-serif;
	font-size: 1em;
	margin: 0 0 1rem 0;
}

.ui-icon-triangle-1-e,
.ui-icon-triangle-1-s {
	background-position: 0 0;
}

.ui-accordion .ui-accordion-header.ui-state-hover {
	border: 0;
	background: #c4dcfd;
}

.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
	margin-top: -12px;
	left: 0.25rem;
}

	/* specificita' per elementi dentro l'accordion */
#accordion label {
	text-align: left;
}

#accordion .messaggio {
	margin:0;
}

#accordion .ui-widget-content {
	border: 0;
	background: transparent;
}

#accordion table.mezza {
	min-width: 100%;
}

.ui-accordion .ui-accordion-content {
	padding: 0;
}

/* =================================
 * AGGIUNTE/OVERRIDE fc-calendar.css 
 * ================================= */
 
.calendar .fc-state-default {
	background-image: none;
	text-shadow: 0 1px 1px rgba(0,0,0,0.5);
}

.calendar.fc th, 
.calendar.fc td {
 	padding: 0.25rem;
}

.calendar .fc-header {
	margin-bottom: 0.25rem;	
}

.calendar .fc-header td {
	border: 0;
}

.calendar .fc-state-default {
	border: 0;
	margin: 0;
	padding: 0.25rem 0.5rem; 
}

#online-on,
#online-off {
	margin: 0 0 0.25rem 0;
	padding: 0 0.25rem;
	-webkit-box-sizing: content-box;
	   -moz-box-sizing: content-box;
	        box-sizing: content-box;
}

.calendar .fc-event {
	border: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	margin: -1.75rem -0.25rem -0.25rem -0.25rem;	
	opacity: 0.5;
	cursor: pointer;
	-webkit-box-sizing: content-box;
	   -moz-box-sizing: content-box;
	        box-sizing: content-box;
}

.calendar .fc-event.giorno-nodisp {
	cursor: pointer;
}

.calendar .fc-event.giorno-nascosto {
	background-color: transparent;
}

.calendar .fc-day-content {
	line-height: 0;
}

.calendar .fc-day-content div { height: 0 !important; }

/* ========
 * CLEARFIX
 * ======== */
 
/* clearfix per i vari float */
#corpo:after,
#barranavigazione:after,
#secondariga:after,
.percorso:after,
.tabprezzi:after,
ul.onlinetab:after,
.box:after,
.numerati:after,
.ingressi:after {
	content:"";
	display:table;
	clear:both;
}

#mainImmagine {
	width: 100%;
	/*height: 350px; */ /* 480px - 128px (thumbnail) - 2px (margin-bottom) */
	margin-bottom: 2px;
	floag: left;
	width: 60%;
}

#gallery {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	float: left;
	width: 40%;
}

/* =================================
 * Link best-seat / scelta del posto  
 * ================================= */
 
ul.list-as-tabs {
    display: flex;
    list-style: none;
    flex-wrap: nowrap;
    border-bottom: 1px solid #ccc;
    margin: 1rem 0;
}

ul.list-as-tabs li {
    flex: 1 1 auto;
    height: 40px;
    justify-content: center;
    align-items: center;
    display: flex;
}

ul.list-as-tabs li a {
    display: flex;
    align-items: stretch;
}

ul.list-as-tabs span {
    display: flex;
    height: 40px;
    text-align: center;
    align-items: center;
    line-height: 1rem;
    position: relative;
}

ul.list-as-tabs span.list-element-selected {
    font-weight: 700;
}

ul.list-as-tabs span.list-element-selected:before {
   content: " ";
   position: absolute;
   width: 100%;
   height: 4px;
   background: red;
   bottom: 0;
   border-radius: 8px 8px 0 0;
}

ul.list-as-tabs li a:hover span:before {
   content: " ";
   position: absolute;
   width: 100%;
   height: 4px;
   background: #CCC;
   bottom: 0;
   border-radius: 8px 8px 0 0;
}

/* =======================
 * Avviso ambiente di test  
 * ======================= */

#testwarning {
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 150%;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 2;
	font-size: 2rem;
	font-family: "Open Sans", sans-serif;
	font-weight: bold;
    word-spacing: 2rem;
	z-index: 10000;
	pointer-events: none;
    transform: rotate(-15deg);
    transform-origin: 0 100%;
}

#testwarning span { opacity: 0.15; }
