/* =====================================================================
 * 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;
}

#logo {
	padding: 1rem;
}

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

#corpo {
	padding: 0 1rem;
}

#footer {
	font-size: 0.86em; 
	text-align:center;
}

#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;
}

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

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

input[type="checkbox"] + label {
    width: auto;
}

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

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

.bottoni form {
	margin-bottom: 1rem
}

	/* 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;
}

div#rigaChiamataVoice input[type="checkbox"] + label {
	float: left;
	position: relative;
}

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

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: 36px;
	padding: 0.5rem;
	background-repeat: no-repeat; 
	background-position: 50% 50%;
	background-image: url(ico_generale/elimina.png);
	background-color: transparent;
}

@media	only screen and (-webkit-min-device-pixel-ratio: 1.3),
	only screen and (-o-min-device-pixel-ratio: 13/10),
	only screen and (min-resolution: 120dpi) {
	td.elimina button.icona {
		background-image: url(ico_generale/elimina.svg);
	}
	/* bug su IE non fa vedere i svg caricati dinamicamente da js. */
	/* ripristiniamo almeno la versione svg per i device */
}

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;
	padding-top: 0.5rem;
	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;
}

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

/* =================================
 * COMUNI - MENU, BARRE, CONTENITORI
 * ================================= */
 
	/* contenitore generico */
.box {
	padding: 0.5rem 1rem;
	margin: 0 -1rem;
	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;
}

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

.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 a {
	display: block;
	padding: 6px 12px;
	margin: 0;
}

#secondariga {
	padding: 0.5rem 1rem;
}

#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 -1rem;
	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 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;
}

span.dispEsaurita.conEtichetta span.etichetta { display: none; }

.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.75rem;
}

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

.infotooltip {
	cursor: pointer;
}

.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 {
	margin: 0 -1rem;
	min-width:calc(100% + 2rem);
	margin-bottom: 1em;
}

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

th, td {
	padding: 0.25rem;
	border-bottom: 2px solid #d4d4d4 ;
}

th {
	font-size: 0.76rem;
}

td {
	font-size: 0.82rem;
}

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: none;
	width: auto;
	text-align: left;
	font-weight: 300;
}

	/* per i bottoni allineati dentro una cella */
td .bottoni {
	margin: 0;
}

/* =======================================
 * SPECIFICO - autenticazione - iscrizione 
 * ======================================= */
 
#div_login fieldset {
	margin-left: -1rem;
	margin-right: -1rem;
}

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

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

.formordinato input[type="text"],
.formordinato input[type="password"],
.formordinato select,
.formordinato textarea,
div#content[class^=transaz] div#datianag input[type="text"],
div#content[class^=transaz] div#datianag input[type="password"],
div#content[class^=transaz] div#datianag select,
div#content[class^=transaz] div#datianag textarea {
	width: 95%;
}

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

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

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

.accettaRegolamento .box {
	margin: 0;
}

#rigaDittaIndividuale {
	padding-left: 9.5rem;
}

/* =========================
 * 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: 32rem;
    -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 */
#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;
}

.calendar .fc-header-center h2 {
	font-size: 1rem;
}

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

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

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

.infotooltip {
	text-indent: -9999px;
	overflow: hidden;
	width: 32px;
	height: 32px;
	background: url(ico_generale/info.svg) center center no-repeat;
}
 
 	/* versione LISTA */
.onlinetab {
	margin: 0 -1rem;
}

.onlinetab li {
	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.15rem 0.25rem 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 {
	min-width: 1em;
	text-align: center;
}

.griglia.img img {
	display: none;
}

.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;	
	padding: 0 0.25rem;
	font-size: 0.85rem;
	font-weight: 300;
}

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

.griglia.separatore {
	background: #f1f1f1;
}

td.griglia.img *, 
td.griglia.immagine * {
	display: none;
}

	/* area hotel */
table.estesa.hotel {
	margin-bottom: 0;
}

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

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

/* versione LISTA FLAT */
/*
table.listaflat .griglia.titolo .box {
	padding: 0.25rem 0.5rem;
	background: #eee;
    -webkit-border-radius: 3px;
    border-radius: 3px;
}

table.listaflat .griglia.disp {
	max-width: 15rem;
	min-width: 7rem;
}

div.cercaposti td.riduzione div.box {
	min-width: 15rem;
}

table.listaflat .griglia.disp div.box {
	margin: 0.5rem 0;
}

table.listaflat .griglia.disp div.box div {
	display: inline-block;
}*/

div.listaflat details { box-shadow: 0 4px 4px -2px rgb(0 0 0 / 50%); margin-bottom: 0.5rem; }
div.listaflat details summary { background-color: #C4DCFD; cursor: pointer; display: flex; justify-content: start; align-items: center; font-size: 1.2rem; font-weight: 700; padding: 0.5rem 1rem; gap: 0.75rem; }
div.listaflat details summary i { transition: all 0.35s; }
div.listaflat details[open] summary i { rotate: 90deg; }
div.listaflat details[open] details summary i { rotate: none; }
div.listaflat details[open] details[open] summary i { rotate: 90deg; }
div.listaflat details summary span[class^="disp"] { margin-left: auto; display: flex; font-weight: 400; }
div.listaflat span.etichetta { font-size: 0.85rem; margin-right: 0.25rem; }
div.listaflat div.item-container { display: flex; flex-direction: column; gap: 0.5rem; padding: 0.5rem; }
div.listaflat div.item { background-color: #F9F9F9; border: 2px solid #E2E2E2; border-radius: 0.5rem; display: flex; flex-direction: column; gap: 1rem; padding: 0.75rem; }
div.listaflat div.details { display: flex; flex-direction: column; }
div.listaflat div.price-list {  }
div.listaflat summary + div.price-rate-list { padding: 0.5rem; }
div.listaflat div.details > div[class^="item-detail"] { display: flex; align-items: baseline; justify-content: start; margin-bottom: 0.25rem; }
div.listaflat div.details > div[class^="item-detail"] i.item-detail-icon { font-size: 1.25rem; flex-basis: 1.25rem; max-width: 1.25rem; text-align: center; margin-right: 0.5rem; }
div.listaflat div.details > div[class^="item-detail"] div.item-detail-text { font-size: 1.25rem; font-weight: 700; }
div.listaflat div.details > div[class^="item-detail"] div.item-detail-text div.item-location-address,
div.listaflat div.details > div.item-detail-notes div.item-detail-text { font-size: 0.75rem; font-weight: 400; }
div.listaflat div.details > div.item-detail-titolo i.fa-ticket { transform: rotate(-45deg); }
div.listaflat div.details div.item-infos { margin-top: auto; display: flex; flex-direction: column; }
div.listaflat div.details div.item-infos > span { margin-top: 0.5rem; display: flex; flex-direction: row; justify-content: center; align-items: center; }
div.listaflat div.price-rate { display: flex; justify-content: start; align-items: center; flex-wrap: wrap; padding: 0.5rem; margin-bottom: 0.25rem; background-color: #F1F1F1; }
div.listaflat div.price-rate.legend { display: none; }
div.listaflat div.price-rate-description { flex-basis: 100%; flex-grow: 1; }
div.listaflat div.price-rate-description a i { margin-left: 0.25rem; }
div.listaflat div.price-rate-amount, div.listaflat div.price-rate-selector { flex-basis: 50%; flex-grow: 1; text-align: center; }
div.listaflat div.price-rate-selector input[type="text"] { width: 26px; text-align: center; margin: 0; }
div.listaflat div.price-rate-notes { flex-basis: 100%; opacity: 0.5; padding: 0 0.5rem; font-size: 0.75rem; display: none; }




#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: 95%; }

#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: block;
	margin-right: 0px;
}

#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
 * ============================ */
 
.cercaPostiPub table.mezza td.ordineposto, 
.cercaPostiPub table.mezza td.disp {
	vertical-align: top;
}

.cercaPostiPub table.mezza td.riduzione {
	padding-bottom: 3.6rem;
}

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

.cercaPostiPub table.mezza th.submit,
.cercaPostiPub table.mezza td.submit {
	padding-left: 0;
	padding-right: 0;
}

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

.cercaPostiPub td.riduzione .box {
	position: relative; 
	margin: 0 0 0.25rem 0;
	padding: 0.25rem 0.5rem;
}

.cercaPostiPub td.riduzione .messaggio {
	font-size: 0.86em;
}

.cercaPostiPub td.riduzione .box:last-child {
}

.cercaPostiPub td.riduzione .box p {
	margin: 0;
}

.cercaPostiPub td.riduzione .box a {
	float: left;
	margin-top: 0.5rem;
}

.cercaPostiPub td.riduzione .box .popup {
	top: -1.5rem;
}

.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;
}

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

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

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

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

.trovaposto img {
	width: 100%
}

/* ===============================
 * 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 a,
.link_ingresso a {
 	font-size: 1.2em;
 	display: block;
 	padding: 0.5em 1em;
 	margin: 0.5rem;
}

.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;	
}

h2 div#desc {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* =============================
 * SPECIFICO - scegliPostoPub.do
 * ============================= */
 
	/* mappa scelta posti */
#mapContainer .messaggio {
	margin-top: 0;
}

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

.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;
}

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

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

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

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

#cart .box {
	padding: 0;
	margin: 0;
	min-height: 0;
	text-align: left;
	padding: 0 0.25rem;
}

#cart .box.evidenza {
	background: transparent;
}

.curr-seat {
	position: relative;
	display: none;
}

.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: 80% !important; }

.scegliPostoPub #map image {
	-webkit-touch-callout: none !important;
	-webkit-user-select: none !important;
	-webkit-user-drag: none !important;
	-khtml-user-select: none !important;
	-moz-user-select: none !important;
	-ms-user-select: none !important;
	user-select: none !important;
}

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

#immaginepianta img {
	width: 100%;
}

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

.scegliPostoNNPub table .selezione {
 	min-width: 11rem;
}

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

div.col01 {
float: left;
}

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

#listaHotels td { display: block; }

#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: 2px 0 0 0; border-color: #DDD; border-style: solid; padding: 0.75rem 0 0 0 ; }

/* =========================
 * SPECIFICO - lista hotel
 * ========================= */
 
.rating-stars { color: #FFB700; font-size: 0.75rem; }
.actions { display: flex; justify-content: center; gap: 1rem; }
.icons-services { display: flex; flex-wrap: wrap; justify-content: center; 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 .messaggio {
	margin-top: -1rem;
}

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

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

/* =======================
 * SPECIFICO - abbonamento
 *======================== */
 
input[name="codiceAbbonamento"] {
	width: 90%;
}

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;
}

#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 {
	margin: 1rem -1rem;
	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_pagamentiparziali {
	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_pagamentiparziali th
#tabella_carrello td, #tabella_pagamentiparziali td {
	border-bottom: 0;
}

#tabella_carrello td, #tabella_pagamentiparziali td {
	vertical-align: top;
}

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


#tabella_carrello .descrizione, #tabella_pagamentiparziali .descrizione {
	width: 70%;
}

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

#tabella_carrello .importo, #tabella_pagamentiparziali .importo,
#tabella_carrello .totale .importo, #tabella_pagamentiparziali .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_pagamentiparziali .delete,
#tabella_carrello .totale .delete, #tabella_pagamentiparziali .totale .delete {
	width: 8%;
}

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

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

#tabella_carrello input {
	max-width: 4em;
}

#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;
}

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

.transazione div.modalitaPagamento label div  {
    padding-right: 10px;
    float: left;
}
.transazione 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 > label {
	color: #4e8ce1;
}

#tabella_carrello .datipartecipante label {
	float: none;
	display: block;
	width: 100%;
}

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

/* transazione 5 - pagamento Cielo */

.confermaCcCieloPay .riga {
    margin-left: 0;
    margin-right: 0;
    overflow: hidden;
}

.confermaCcCieloPay input[type="radio"] + label {
    display: inline-block;
    width: auto; 
    min-width: auto;
    margin: 0.5rem 1.5rem;
}

.confermaCcCieloPay .cardcircuito input[type="radio"] + label,
.confermaCcCieloPay .cardcircuito input[type="radio"]:checked + label {
    background-position: 0 0.8rem;
}

.confermaCcCieloPay .cardcircuito input[type='radio'] {
    margin-top: 1.3rem;
}

.confermaCcCieloPay .carddati {
    padding: 1rem;
}

.confermaCcCieloPay .carddati input {
    padding: 0.5rem 1rem;
}

.confermaCcCieloPay .carddati label {
    width: 13.6rem;
    padding-top: 0.5rem;
}

.confermaCcCieloPay .messaggio span {
    display: inline-block;
    width: 12rem;
}

.confermaCcCieloPay .messaggio {
    padding-bottom: 0.5rem;
}

.confermaCcCieloPay .messaggio .riga {
    margin-top: 0.5rem;
}

.confermaCcCieloPay input.annulla {
	background-image: url(ico_generale/none.svg); 
	float: left;
}

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

/* ==================
 * 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-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;
}

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

.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;
}

.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;
}

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

#accordion .messaggio {
	margin:0;
}

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

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

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

/* =================================
 * 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.45rem -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: default;
}

.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;
}

	
#dettaglioCamereFotoMappaDiv {
	/*height: 500px;*/
}

#dettaglioCamereFotoMappaDiv #map {
	height: 480px; /* 500px - 20px (voci selezionabili) */
}

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

#gallery {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

/* =================================
 * 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; }

/* =============
   MEDIA QUERIES
   ============= */

@media only screen and (min-width: 1024px) {
	
	#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;
	}
	
	/* COMUNI - ELEMENTI LAYOUT */
	#contenitore {
		min-height: 100%;
	}
	
	#contenitore:after {
		content: "";
		display: block;
	}
	
	#corpo {
		padding: 0;
	}

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

	/* COMUNI - MENU E BARRE */
	#primariga {
	 	float: left;
	 }
	
	#primariga li {
		display: inline-block;
		margin: 0;
		padding: 0;
	}
	
	#primariga a {
	 	display: block;
	}
	
	#secondariga {
		clear: both;
	}
	
	.box {
		margin: 0;
	}
	
	.box fieldset {
		margin: 0 -1rem;
	}
	
	.dx .box {
		padding: 0.5rem 1rem;
	}
	
	/* COMUNI - FORM */
	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;
	}
	
	fieldset [type="submit"] {
		margin-top: 0;
	}
	
	#tabella_carrello td input[type="text"] { min-width:8rem; }
	
	/* COMUNI - PERCORSO */
	.percorso li {
		float: left;
		margin-right: 1rem;
		position: relative;
		padding: 0.24rem 0.6rem;
		list-style-position: inside;
	}

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

	/* COMUNI - SCELTA LINGUE */
	#lingua {
		padding-top: 0;
	}
	
	/* COMUNI - MENU, BARRE, CONTENITORI */
		/* contenitore generico */
	.box {
		margin: 0;
	}
		/* contenitore per link */
	.link {
		margin: 1rem 0;
	}
	
	.datimodalitapagamento .bottoni {
		text-align: center;
		margin: 0;
	}
	
	/* COMUNI - TITOLI, LABEL, MESSAGGI, ECC */
	.dispEsaurita {
		font-size: 0.86em;
		word-break: normal;
	}
	
	.riga .messaggio {
		margin-left: 10.5rem;
	}
	
	#tabella_carrello .riga .messaggio { margin-left: 0; }
	
	.riga .g-recaptcha {
		margin-left: 10.5rem;
	}

	/* GENERALE - TABELLE */
	th, td {
		padding: 0.5rem 1rem;
		font-size: 1rem;
	}
	 
	table.estesa,
	table.corposinistra {
		width: 100%;
		min-width: 100%;
		margin: 0;
	}
	
	.ui-dialog.ui-widget table.estesa,
	.ui.dialog.ui-widget table.corposinistra {
		width: auto;
		min-width: 100%;
		margin: 0;
	}
	
	table.mezza {
		min-width: 50%;
		margin: 0 auto;
	}
	
	#accordion table.mezza {
		min-width: 100%;
	}
	
		/* per le label dentro le celle */
	td label {
		float: left;
		width: 80%;
	}
	
	/* 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;
	}
	
		/* dettagli nel form di anagrafica */
	.formordinato input[type="text"],
	.formordinato input[type="password"],
	.formordinato select,
	.formordinato textarea,
	div#content[class^=transaz] div#datianag input[type="text"],
	div#content[class^=transaz] div#datianag input[type="password"],
	div#content[class^=transaz] div#datianag select,
	div#content[class^=transaz] div#datianag textarea {
		width: inherit;
	}
	
	/* SPECIFICO - recupero dati */
	.frameContent iframe {
		min-height: 28rem;
	}

	/* SPECIFICO - listaEventiPub.do */
	.onlinetab {
		margin: 0;
	}
	.onlinetab li {
		float: left;
	}
		/* versione CALENDARIO */
	.calendar {
		float: left;
		width: 18rem;
	}
	
	.calendar .fc-event {
	margin-top: -1.75rem;
	}
	
	#details {
		float: right;
		width: 46rem;
	}

	#eventiDelGiorno .griglia.titolo {
		width: 72%;
	}
	
	#eventiDelGiorno .griglia.titolo h3 {
		width: 8rem;
	}
	
	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 */
	td.griglia.img *, 
	td.griglia.immagine * {
		display: inline-block;
	}
	
	.griglia.img img {
		margin: -0.25rem;
		max-width: 5rem;
	}
	
	.griglia.titolo .box {
		padding: 0 0.5em;
	}
	
	.griglia.titolo h3 {
	    width: 8rem;
		float: left;
		margin-right: 1rem;
		margin-top: 0.25rem;
		position:relative;
	}
	
	.griglia.titolo h3:after {
		left: 100%;
		top: 50%;
		border: solid transparent;
		content: " ";
		height: 0;
		width: 0;
		position: absolute;
		pointer-events: none;
		border-left-color: #f1f1f1;
		border-width: 0.6rem;
		margin-top: -0.6rem;
	}
	
		/* versione LISTA FLAT */
		/*
	table.listaflat .griglia.disp span[class^="disp"] {
		width: 6.8rem;
		margin: 0 auto;
	}
		
	table.listaflat .griglia.disp div.box div {
		margin-right: 0.5rem;
	}*/
	
	div.listaflat div.item-container { gap: 0.75rem; padding: 1.25rem; }
	div.listaflat div.item { flex-direction: row; padding: 1.25rem; }
	div.listaflat div.details { width: 35%; }
	div.listaflat div.price-list { width: 65%; }
	div.listaflat div.price-rate { background: transparent; border-bottom: 2px solid #E2E2E2; margin-bottom: 0; min-height: 40px; }
	div.listaflat div.price-rate:last-child { border-bottom: 0; }
	div.listaflat div.price-rate.legend { display: flex; background-color: #F1F1F1; }
	div.listaflat div.price-rate-description { flex-basis: auto; flex-grow: 1; }
	div.listaflat div.price-rate-amount { flex-basis: 80px; flex-grow: 0; }
	div.listaflat div.price-rate-selector { flex-basis: 120px; flex-grow: 0; }
	div.listaflat div.price-rate-notes {  }
	
		/* area hotel */
	table.hotel td label {
		width: 25%;
		text-align: right;
	}
	
	table.hotel .riga.chk {
		padding-left: 26%;
	}
	
	table.hotel .riga.chk label {
		width: 50%;
		text-align: left;
	}
	
	.actions { justify-content: start; }
	.icons-services { justify-content: start; }
	#listaHotels td { display: table-cell; }
	#listaHotels .camera { border-width: 0 0 0 2px; padding: 0 0 0 0.75rem; }
	
	/* SPECIFICO - cercaPostiPub.do */	
	#accordion button {
		padding: 0.5rem 35px 0.5rem 1rem;
	}
 
	.cercaPostiPub table.mezza td.ordineposto, 
	.cercaPostiPub table.mezza td.disp {
		width: auto;
	}
	
	.cercaPostiPub table.mezza td.ordineposto {
		width: 20%;
	}
	
	.cercaPostiPub table.mezza td.riduzione {
		padding-left: 0.5rem;
		padding-right: 0;
		width: 65%;
		padding-bottom: 0;
		vertical-align: top;
	}
	
	.cercaPostiPub table.mezza th.submit,
	.cercaPostiPub table.mezza td.submit {
		width: 8rem;
		min-width: 8rem;
	}
	
	.cercaPostiPub table.mezza th.submit,
	.cercaPostiPub table.mezza td.submit {
	}
	
	.cercaPostiPub table.mezza td.submit div {
		margin-right: 0.5rem;
	}
	
	.cercaPostiPub td.riduzione .box {
		margin: 0 0.5rem 0.5rem 0;
		width: 23.9%; 
		width: calc(95% / 3); 
		float: left;
		min-height: 5rem;
		font-size: 0.85rem;
		padding: 0.25rem 0.5rem 1.6rem 0.5rem;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
				box-sizing: border-box;
	}

	.cercaPostiPub td.riduzione .box a {
		float: none;
		position: absolute;
		top: 0.25rem;
		right: 0.5rem;
		margin-top: 0;
	}
	
	.cercaPostiPub td.riduzione .box p {
		padding-right: 3.5rem;
		word-break: normal;
	}

	.cercaPostiPub td.riduzione .box .popup {
		top: -0.5rem;
		left: -1rem;
	}
	
	.cercaPostiPub td.riduzione div[class*="qta_"] {
		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 {
		margin-right: 0;
	}
	
		/* best seat */
	#immaginepianta img {
		width: auto;
	}
	
	/* SPECIFICO - trovaPostiPub.do */
	.trovaposto {
		width: 100%;
		text-align: center;
		background: #000;
	}
	
	.trovaposto .messaggio {
		text-align: left
	}
	
	.trovaposto img {
		width: auto;
	}
		
	/* SPECIFICO - scegliSettorePub.do */	
	.link_settore,
	.link_ingresso {
		width: 33%;
		float: left;
	}
	
	/* SPECIFICO - scegliPostoPub.do */	
	#mapContainer {
		float: right;
		width: 48rem;
	}
	
	#mapArea {
		float: left;
		width: 15rem;
	}
		
	.curr-seat {
		display: block;
	}	
	
	#cart td.prezzo {
		padding-right: 0.25rem;
	}
	
	#cart th.descr {
		width: 33%;
	} 
	
	#cart th.prezzo {
		width: 25%;
	} 
	
	#cart .box {
		width: 31%;
		min-height: 2.8rem;
		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 {
		text-align: right;
	}
	
	#cart .box span {
		display: block;
	}

	#cart .box .prevendita,
	#cart .box .prezzo {
		text-align: left;
	}
	
	.scegliPostoPub.ui-dialog { width: 480px !important; }
	
	/* SPECIFICO - abbonamento */
	input[name="codiceAbbonamento"] {
		width: 25em;
	}
	
	#infoCouponInserito.no-del h2 {
		padding-bottom: 1.4rem;
	}
	
	#dettagliAbbonamento.del h2 {
		float: left;
		width: 75%;
		width: calc(100% - 11rem)
	}
	
	#dettagliAbbonamento input[type="submit"] {
		height: 2.8rem;
	}
	
	#dettagliAbbonamento.del h2 {
		float: left;
		width: 75%;
		width: calc(100% - 11rem)
	}
	
	/* SPECIFICO - coupon */
	#infoCouponInserito.del h2 {
		float: left;
		width: 75%;
		width: calc(100% - 11rem)
	}
	
	#infoCouponInserito input[type="submit"] {
		height: 2.8rem;
	}

	/* SPECIFICO - transazione */	
	#tabella_carrello {
		margin: 1rem 0;
	}
	
	#tabella_carrello th,
	#tabella_carrello td {
		padding: 0.5rem;
	}
	
	#tabella_carrello input {
		max-width: inherit;
	}
	
	.confermaCcCieloPay .carddati {
        width: 100%; 
        margin-left: auto;  
        margin-right: auto; 
    }   
    
	.confermaCcCieloPay .bottoni {
        width: 50%; 
        margin-left: auto;	
        margin-right: auto;	
	}	
	
    .confermaCcCieloPay input[type="radio"] + label {
        margin-left: 0;
    }
    	
	/* transazione con anagrafica (calcio) */
	#tabella_carrello .datipartecipante .riga.anag:first-child {
		margin-top: -1.5rem;
	}
	
	/* AGGIUNTE/OVERRIDE jquery.ui */
	#accordion.ui-widget {
		margin: 0 0 1rem 0;
	}
	
	div.transazione1 div#inputCf label { width: 23rem; }
	div.transazione1 div#inputPiva label { width: 23rem; }
	
	#mainImmagine {
	  float: left;
	  width: 60%;
	}

	#gallery {
		float: left;
		width: 40%;
	}
}


