/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
	font-size: 100%;
	/* definisce la dimensione del font di default, su desktop 16px */
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;

	/* gestisce la scorrevolezza del scroll generico */
	scroll-behavior: smooth;
}

html.noscroll
{
	overflow-y: hidden;
}

body {
	margin: 0;
	font-size: 1em;
	line-height: 1.25em;
	font-family: var(--text-font);
	color: var(--text-color);

	/* per avere il main/ContainerSito che spinge footer a fine pagina - responsive */
	display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* body > *:has(.cfdump_query, .cfdump_struct) {
	display: block;
} */


body:has(.cfdump_query) {
	display: block;
}


.cfdump_struct, .cfdump_query {
	z-index: 99999;
	position: relative;
}


/* #region - FORMS */
	button,
	input,
	optgroup,
	select,
	textarea {
		font-family: inherit;
		font-size: 100%;
		line-height: 1.15;
		margin: 0;
	}

	button,
	input {
		overflow: visible;
	}

	button,
	select {
		text-transform: none;
	}

	input {
		border: 1px solid var(--form-border);
	}

	textarea:focus,
	input:focus {
		outline: none;
		border: 1px solid var(--warning);
	}

	button,
	[type="button"],
	[type="reset"],
	[type="submit"] {
		-webkit-appearance: button;
	}

	button::-moz-focus-inner,
	[type="button"]::-moz-focus-inner,
	[type="reset"]::-moz-focus-inner,
	[type="submit"]::-moz-focus-inner {
		border-style: none;
		padding: 0;
	}

	button:-moz-focusring,
	[type="button"]:-moz-focusring,
	[type="reset"]:-moz-focusring,
	[type="submit"]:-moz-focusring {
		outline: 1px dotted ButtonText;
	}

	fieldset {
		padding: 0.35em 0.75em 0.625em;
	}

	legend {
		box-sizing: border-box;
		color: inherit;
		display: table;
		max-width: 100%;
		padding: 0;
		white-space: normal;
	}

	progress {
		vertical-align: baseline;
	}

	textarea {
		overflow: auto;
	}

	[type="checkbox"],
	[type="radio"] {
		box-sizing: border-box;
		padding: 0;
	}

	/*input type number*/
	[type="number"] {
		-moz-appearance: textfield;
	}

	[type="number"]::-webkit-inner-spin-button,
	[type="number"]::-webkit-outer-spin-button {
		height: auto;
		-webkit-appearance: none;
		margin: 0;
	}

	[type="search"] {
		-webkit-appearance: textfield;
		outline-offset: -2px;
	}

	[type="search"]::-webkit-search-decoration {
		-webkit-appearance: none;
	}

	::-webkit-file-upload-button {
		-webkit-appearance: button;
		font: inherit;
	}

	.label {
		background-color: var(--label-background-color);
		color: var(--label-color);
		border-radius: var(--label-border-radius);
		-webkit-border-radius: var(--label-border-radius);
		-moz-border-radius: var(--label-border-radius);
	}

	.alert {
		border-radius: var(--alert-border-radius);
		-webkit-border-radius: var(--alert-border-radius);
		-moz-border-radius: var(--alert-border-radius);
	}

	/* #region - Gestisce la formattazione del feedback (tick/cross) dei campi dei form */
	.form-control-feedback {
		right: 10px; 
	}

	.form-control {
		border-radius: var(--form-border-radius);
		-moz-border-radius: var(--form-border-radius);
		-webkit-border-radius: var(--form-border-radius);
	}

	.form-control:focus {
		border-color: var(--form-border-focus);
	}

	.form-group .form-control-feedback,
	.input-group .form-control-feedback {
		display: none !important;
	}

	.control-label,
	.has-feedback label {
		font-weight: normal;
		font-size: 14px;
	}

	.has-feedback label~.form-control-feedback,
	.form-control-feedback {
		right: 0px;
	}

	.has-feedback label~.form-control-feedback {
		top: 31px;
	}

	.help-block {
		margin-top: 7px;
		margin-bottom: 0px;
	}

	.has-feedback .form-control {
		padding-right: 0px !important;
	}

	.has-error .form-control:focus {
		border: 1px solid var(--danger);
		-moz-box-shadow: none;
		-webkit-box-shadow: none;
		box-shadow: none;
	}

	.has-error .form-control-feedback {
		color: var(--danger);
	}

	.has-success .form-control-feedback {
		color: var(--success);
	}

	input.form-control,
	select.form-control,
	textarea.form-control,
	.MCampoObbligatorio input.form-control,
	.MCampoObbligatorio select.form-control,
	.MCampoObbligatorio textarea.form-control {
		background-color: var(--form-background-color);
		border: 1px solid transparent;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		box-shadow: none;
	}

	.MCampoObbligatorio .control-label {
		color: var(--form-color);
	}

	.MCampoObbligatorio.has-success .control-label {
		color: var(--success);
	}

	.MCampoObbligatorio.has-error .checkbox,
	.MCampoObbligatorio.has-error .checkbox-inline,
	.MCampoObbligatorio.has-error .control-label,
	.MCampoObbligatorio.has-error .help-block,
	.MCampoObbligatorio.has-error .radio,
	.MCampoObbligatorio.has-error .radio-inline,
	.MCampoObbligatorio.has-error.checkbox label,
	.MCampoObbligatorio.has-error.checkbox-inline label,
	.MCampoObbligatorio.has-error.radio label,
	.MCampoObbligatorio.has-error.radio-inline label,
	.has-error .checkbox,
	.has-error .checkbox-inline,
	.has-error .control-label,
	.has-error .help-block,
	.has-error .radio,
	.has-error .radio-inline,
	.has-error.checkbox label,
	.has-error.checkbox-inline label,
	.has-error.radio label,
	.has-error.radio-inline label {
		color: var(--danger);
	}

	input.form-control,
	select.form-control,
	textarea.form-control {
		border-color: var(--form-border);
	}

	.MCampoObbligatorio input.form-control,
	.MCampoObbligatorio select.form-control,
	.MCampoObbligatorio textarea.form-control {
		border-color: var(--form-border-obbligatorio);
	}

	.MCampoObbligatorio input.form-control:focus,
	.MCampoObbligatorio select.form-control:focus,
	.MCampoObbligatorio textarea.form-control:focus {
		border-color: var(--form-border-focus);
	}

	.MCampoObbligatorio.has-error input.form-control,
	.MCampoObbligatorio.has-error select.form-control,
	.MCampoObbligatorio.has-error textarea.form-control {
		border-color: var(--danger);
	}

	.MCampoObbligatorio.has-success input.form-control,
	.MCampoObbligatorio.has-success select.form-control,
	.MCampoObbligatorio.has-success textarea.form-control {
		border-color: var(--success);
	}
	/* #endregion - Gestisce la formattazione del feedback (tick/cross) dei campi dei form */

	/* Gestione messaggi errore che appaiono sotto i campi */
	.help-block .list-unstyled {
		position: relative;
		font-size: 12px;
		line-height: 15px;
		margin-bottom: 0px;
		text-align: center;
		padding: 4px;
		color: var(--form-addon-color);
		background-color: var(--danger);
	}

	.help-block .list-unstyled:before {
		display: block;
		position: absolute;
		top: -10px;
		left: 5px;
		font-family: 'Glyphicons Halflings';
		content: "\e253";
		color: var(--danger);
	}
	/* Fine Gestione messaggi errore che appaiono sotto i campi */

	/* #region - Gestione Addon dei form */ 
	.input-group-addon {
		padding: 4px 12px;
		font-size: 16px;
		font-weight: normal;
		border-radius: var(--form-border-radius);
		-moz-border-radius: var(--form-border-radius);
		-webkit-border-radius: var(--form-border-radius);
		color: var(--addon-color);
		background-color: var(--addon-background);
		border-color: var(--addon-border);
	}

	/* Attribuisce il border radius solo a destra quando nel campo è presente un input-group-addon */
	.MCampoObbligatorio .input-group .form-control:not(:first-child):not(:last-child) { 
		-webkit-border-top-right-radius: var(--form-border-radius);
		-webkit-border-bottom-right-radius: var(--form-border-radius);
		-moz-border-radius-topright: var(--form-border-radius);
		-moz-border-radius-bottomright: var(--form-border-radius);
		border-top-right-radius: var(--form-border-radius);
		border-bottom-right-radius: var(--form-border-radius);
	}

	.JMostra {
		cursor: pointer;
	}

	.input-group-addon.JMostra {
		border-top-right-radius: var(--form-border-radius) !important;
		border-bottom-right-radius: var(--form-border-radius) !important;
	}

	.MCampoObbligatorio.has-error span.input-group-addon,
	.MCampoObbligatorio.has-error span.input-group-addon.JMostra {
		color: var(--form-addon-color);
		background-color: var(--danger);
	}

	.MCampoObbligatorio span.input-group-addon,
	.MCampoObbligatorio.has-success span.input-group-addon,
	.MCampoObbligatorio span.input-group-addon {
		border: 1px solid transparent;
		border-right: 0px;
	}

	.MCampoObbligatorio span.input-group-addon.JMostra,
	.MCampoObbligatorio.has-success span.input-group-addon.JMostra,
	.MCampoObbligatorio.has-error span.input-group-addon.JMostra,
	.MCampoObbligatorio span.input-group-addon.JMostra {
		border: 1px solid transparent;
		border-left: 0px;
	}

	.MCampoObbligatorio span.input-group-addon,
	.MCampoObbligatorio span.input-group-addon.JMostra {
		background-color: var(--form-border-obbligatorio);
		border-color: var(--form-border-obbligatorio);
		height: 34px;
		color: var(--form-addon-color);
	}

	.MCampoObbligatorio.has-success span.input-group-addon,
	.MCampoObbligatorio.has-success span.input-group-addon.JMostra {
		border-color: var(--success);
		background-color: var(--success);
	}

	.MCampoObbligatorio.has-error span.input-group-addon,
	.MCampoObbligatorio.has-error span.input-group-addon.JMostra {
		border-color: var(--danger);
		background-color:var(--danger);
	}

	/* #endregion - Gestione Addon dei form */ 

	/* #region - Privacy dei form */
	.PrivacyCheckbox input[type=checkbox] {
		padding: 10px;
		margin-right: 1em;
		margin-left: 0.5em;
	}

	.PrivacyCheckbox {
		margin-bottom: 0px;
	}

	.PrivacyCheckbox h3 {
		display: inline;
		font-size: 14px;
		line-height: 14px;
		margin-bottom: 0px;
		font-family: var(--text-font);
	}

	.PrivacyCheckbox h3 small {
		display: block;
		font-size: 12px;
		line-height: 14px;
		margin-top: 10px;
	}

	.MProfilazione .radio-inline,
	.MTerzi .radio-inline,
	.MSensibili .radio-inline,
	.MNewsletter .radio-inline,
	.MPrivacy .radio-inline {
		font-size: 14px !important;
		line-height: 14px !important;
	}

	.MProfilazione .radio-inline input,
	.MTerzi .radio-inline input,
	.MSensibili .radio-inline input,
	.MNewsletter .radio-inline input,
	.MPrivacy .radio-inline input {
		margin-top: 0px;
	}

	.MProfilazione p,
	.MTerzi p,
	.MSensibili p,
	.MNewsletter p,
	.MPrivacy p {
		font-size: 12px !important;
		line-height: 14px !important;
	}

	/* #endregion - Privacy dei form */

/* #endregion - FORMS */


/* #region - BOTTONI */
.btn {
	transition: all .3s;
	-webkit-transition: all .3s;
	-moz-transition: all .3s;
	-o-transition: all .3s;
}


.btn-default {
	text-decoration: none;
	white-space: inherit !important;
	word-wrap: break-word !important;
	position: relative;
	overflow: hidden;
	outline: none;

	border-color: var(--btn-default-color-border);
	color: var(--btn-default-color-text);
	background-color: var(--btn-default-color);

	-webkit-box-shadow: var(--box-shadow-dark);
	-moz-box-shadow: var(--box-shadow-dark);
	box-shadow: var(--box-shadow-dark);

	border-radius: var(--btn-default-border-radius);
	-webkit-border-radius: var(--btn-default-border-radius);
	-moz-border-radius: var(--btn-default-border-radius);
}

.btn-default:hover,
.btn-default:focus,
.btn-default.focus,
.btn-default.focus:hover,
.btn-default.active,
.btn-default.active:hover,
.btn-default.active:focus,
.btn-default:active:hover,
.btn-default:active:focus,
.btn-default:active.focus,
.btn-default.active.focus {
	outline: none;

	border-color: var(--btn-default-color-border-focus);
	background-color: var(--btn-default-color-focus);
	color: var(--btn-default-color-text-focus);

	-webkit-box-shadow: var(--box-shadow-dark) !important;
	-moz-box-shadow: var(--box-shadow-dark) !important;
	box-shadow: var(--box-shadow-dark) !important;
}

.btn-default>* {
	position: relative;
}

/* .btn-default:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	width: 0;
	padding-top: 0;
	-webkit-border-radius: 100% !important;
	-moz-border-radius: 100% !important;
	border-radius: 100% !important;

	background-color: rgba(236, 240, 241, .3);

	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
} 

.btn-default:active:before {
	width: 120%;
	padding-top: 120%;
	transition: width .2s ease-out, padding-top .2s ease-out;
} */


.btn-primary {
	border-color: var(--btn-primary-color-border);
	color: var(--btn-primary-color-text);
	background-color: var(--btn-primary-color);

	-webkit-box-shadow: var(--box-shadow-dark);
	-moz-box-shadow: var(--box-shadow-dark);
	box-shadow: var(--box-shadow-dark);

	border-radius: var(--btn-primary-border-radius);
	-webkit-border-radius: var(--btn-primary-border-radius);
	-moz-border-radius: var(--btn-primary-border-radius);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary.focus:hover,
.btn-primary.active,
.btn-primary.active:hover,
.btn-primary.active:focus,
.btn-primary:active:hover,
.btn-primary:active:focus,
.btn-primary:active.focus,
.btn-primary.active.focus {
	outline: none;

	border-color: var(--btn-primary-color-border-focus);
	background-color: var(--btn-primary-color-focus);
	color: var(--btn-primary-color-text-focus);

	-webkit-box-shadow: var(--box-shadow-dark) !important;
	-moz-box-shadow: var(--box-shadow-dark) !important;
	box-shadow: var(--box-shadow-dark) !important;
}

.btn-danger {
	border-color: var(--btn-danger-color-border);
	color: var(--btn-danger-color-text);
	background-color: var(--btn-danger-color);

	-webkit-box-shadow: var(--box-shadow-dark);
	-moz-box-shadow: var(--box-shadow-dark);
	box-shadow: var(--box-shadow-dark);
	
	border-radius: var(--btn-danger-border-radius);
	-webkit-border-radius: var(--btn-danger-border-radius);
	-moz-border-radius: var(--btn-danger-border-radius);
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger.focus,
.btn-danger.focus:hover,
.btn-danger.active,
.btn-danger.active:hover,
.btn-danger.active:focus,
.btn-danger:active:hover,
.btn-danger:active:focus,
.btn-danger:active.focus,
.btn-danger.active.focus {
	outline: none;

	border-color: var(--btn-danger-color-border-focus);
	background-color: var(--btn-danger-color-focus);
	color: var(--btn-danger-color-text-focus);

	-webkit-box-shadow: var(--box-shadow-dark) !important;
	-moz-box-shadow: var(--box-shadow-dark) !important;
	box-shadow: var(--box-shadow-dark) !important;
}

/* #endregion - BOTTONI */


/* #region - INTERACTIVE */
*:focus {
	outline: none !important;
	box-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.MTitolo,
.TitoloPagina,
.Titolopagina {
	font-family: var(--title-font);
}

h2.MAbstract {
	margin-bottom: 30px;
}

main {
	display: block;
}

hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
	margin-top: 0px;
	border-top: 1px solid var(--hr-color);
}

pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

a {
	background-color: transparent;
	color: var(--anchor-color);
	cursor: pointer;
}

a:hover,
a:focus {
	color: var(--anchor-color-focus);
}

a:not([href]):hover,
a:not([href]):focus {
    text-decoration: none;
}

abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

b,
strong {
	font-weight: bolder;
}

code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

img {
	border-style: none;
}

p:empty {
	display: none;
	/* Per nascondere i paragrafi che l'editor di testo lascia vuoti con margin bottom 10px */
}

.breadcrumb {
	background-color: var(--breadcrumb-background);
	border-radius: var(--breadcrumb-border-radius);
	-moz-border-radius: var(--breadcrumb-border-radius);
	-webkit-border-radius: var(--breadcrumb-border-radius);
}

/* Proprietà per centrare la paginazione */
.pagination {
	display: table;
	margin: 0 auto;
}
.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover {
	background-color: var(--anchor-color-focus);
	border-color: var(--anchor-color-focus);
}


/* nasconde l'animazione pre lancio di viewport per mostrarlo dopo */
.animation {
    visibility: hidden;
}
.animation[data-lanciato='true']  {
    visibility: visible;
}
details {
	display: block;
}

summary {
	display: list-item;
}

template {
	display: none;
}

[hidden] {
	display: none;
}

/* Modifica la larghezza del Tooltip di Bootstrap */
.tooltip-inner {
	width: auto;
	max-width: 500px;
}
.tooltip > .tooltip-inner { 
	background-color: #000000;
	color: #dededede;
	max-width: 400px;
	width: auto;
}
.tooltip > .tooltip-inner ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
.infoTooltip {
	margin-left:1em;
}
.tooltip > .tooltip-arrow { 
	border-bottom-color:#000000;
	color: #dededede;
}
.tooltip > .tooltip-inner i:not(:last-child):after {
	content:','
}


/*LOADER FULL PAGE IN OVERLAY */
#WrapperLoading {
	display: none;
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: var(--loader-background);
	overflow: hidden;
}
#WrapperLoading .Loader {
	position: absolute;
	top: 50%;
	left: 50%;
	border: 20px solid var(--loader-border-color);
	border-top: 20px solid var(--loader-color);
	border-radius: 50% !important;
	-webkit-border-radius: 50% !important;
	-moz-border-radius: 50% !important;
	width: 150px;
	height: 150px;
	margin-top: -75px;
	/* la metà di 150 */
	margin-left: -75px;
	/* la metà di 150 */
	animation: spin 2s linear infinite;
}
@keyframes spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}
#WrapperLoading.Visibile {
	display: block;
}


.MNoOrdini {
	padding: 15px;
}

.GruppoFocusTitolo {
	display: none;
}


.MDisp {
    margin-top: 20px;
    font-size: 13px;
}

/* #endregion - INTERACTIVE */


/* #region - MODALI */

/* Gestisce i messaggi di risposta dei form su modale */
.modal-header h4.positivo {
	color: var(--success);
}
.modal-header h4.negativo {
	color: var(--danger);
}


/* Container del testo di risposta azione utente */
.modal .ContainerTestoModal {
	padding-top: 30px;
	padding-bottom: 30px;
	font-size: 21px;
	text-align: center;
}

.modal-content {
	border-radius: var(--modal-border-radius)
}

#ModalInfo.modal {
	z-index: 99999;
}
#IscrizioneModal.modal {
	z-index: 1051;
}


/* #endregion - MODALI */


/* #region - Gestione thumbnail */

/* la classe .thumbnail è utilizzata nelle viste elencazione dei moduli,
per mantenere una corretta grigliatura è necessario eliminare i border e i padding.
Il margin totale pari a 30px viene diviso tra alto e basso. */

.thumbnail {
	border: 0px;
	padding: 0px;
	margin-top: 15px;
	margin-bottom: 15px;
	background-color: transparent;
	border-radius: 0px;
	font-size: 1em;
	line-height: 1.5em;
}

.thumbnail .caption {
	padding: 0px;
	color: var(--text-color);
}

/* la classe .thumbnail .caption.BlocchiOrizzontali è utilizzata negli elementi contenuti dagli MElemento nelle viste elencazione dei moduli, se si è deciso di formattarli in orizzontale con blocchi affiancati.
per mantenere una corretta grigliatura è necessario eliminare il padding di 9px di default. */
.thumbnail .caption.BlocchiOrizzontali {
	padding: 0px 15px;
}

.thumbnail .caption.BlocchiOrizzontali h3 {
	margin-top: 0px;
}
/* #endregion - Gestione thumbnail */


/* #region - Gestione liste (ul) */
#ContainerTestata ul,
#ContainerPiede ul {
    list-style-type: none;
    margin-block-start: 0px;
    margin-block-end: 0px;
    padding-inline-start: 0px;
}

/* UL dei blocchi barra */
.MMenuBarra {
    background-color: var(--color3-light);
    padding: 20px 20px 20px 36px;
    border-radius: var(--radius);
    list-style-type: disclosure-closed;
	font-size: 13px;
    line-height: 1.5em;
}
.MMenuBarra li a.active {
	color: var(--color1);
    text-decoration: underline;
}
.MMenuBarra >li>ul {
	padding-left: 18px;
    list-style-type: disc;
}


/* MEGA menu  */
.yamm .dropdown-menu{
	max-height: 60vh;
  	overflow: auto;
}
/* terzo livello MEGA menu  */
#ContainerTestata .yamm-fw ul.TerzoLivello {
    font-size: 12px;
    margin-left: 0.8rem;
	list-style-type: disclosure-closed;
}

.list-group > li,
.list-group-item {
	position: relative;
	display: block;
	padding: 10px 15px;
	margin-bottom: -1px;
	background-color: var(--list-group-background);
	border: 1px solid var(--list-group-border-color);
}

.list-group > li:first-child,
.list-group-item:first-child {
	border-top-left-radius: var(--list-group-border-radius);
    border-top-right-radius: var(--list-group-border-radius);
	-webkit-border-top-left-radius: var(--list-group-border-radius);
	-webkit-border-top-right-radius: var(--list-group-border-radius);
	-moz-border-radius-topleft: var(--list-group-border-radius);
	-moz-border-radius-topright: var(--list-group-border-radius);
}

.list-group > li:last-child,
.list-group-item:last-child {
	margin-bottom: 0;
	border-bottom-left-radius: var(--list-group-border-radius);
    border-bottom-right-radius: var(--list-group-border-radius);
	-webkit-border-bottom-left-radius: var(--list-group-border-radius);
	-webkit-border-bottom-right-radius: var(--list-group-border-radius);
	-moz-border-radius-bottomleft: var(--list-group-border-radius);
	-moz-border-radius-bottomright: var(--list-group-border-radius);
}
/* #endregion - Gestione liste (ul) */


/* #region - Gestion jumbotron */
.jumbotron {
	background-color: var(--jumbotron-background);
}

.container .jumbotron,
.container-fluid .jumbotron {
	border-radius: var(--jumbotron-border-radius);
}
/* #endregion - Gestion jumbotron */


/* #region - Gestione carousel-caption */
.carousel-caption {
	background: none;
    padding: 0px;
    text-align: left;
    text-shadow: none;
    -webkit-text-shadow: none;
    -moz-text-shadow: none;
    width: 100%;
    left: 0px;
    right: 0px;
}

.carousel-caption,
.carousel-caption .MTitolo a {
	color: var(--carousel-color);
}

.carousel-caption .MTitolo {
	font-size: 36px;
	line-height: 1.25em;
	margin-bottom: 15px;
}

.item .carousel-caption .btn {
	display: inline-block;
	margin-top: 15px;
}
/* #endregion - Gestione carousel-caption */


/* #region - Gestione panel */
.panel {
	border-color: var(--background-sito);
	box-shadow: none;
}

.panel-heading {
    border-top-left-radius: var(--panel-radius);
    border-top-right-radius: var(--panel-radius);
	-webkit-border-top-left-radius: var(--panel-radius);
	-webkit-border-top-right-radius: var(--panel-radius);
	-moz-border-radius-topleft: var(--panel-radius);
	-moz-border-radius-topright: var(--panel-radius);
}

.panel-default > .panel-heading {
	background-color: var(--panel-background);
	color: var(--panel-color);
	border-color: var(--panel-border-color);
}

.PanelTotali .panel-heading {
	border-radius: var(--panel-radius);
	-webkit-border-radius: var(--panel-radius);
	-moz-border-radius: var(--panel-radius);
}

.panel-title {
	font-size: 20px;
	line-height: 20px;
}

.panel-body {
	border: 1px solid var(--panel-border-color);
}

.panel .panel-body:last-child {
	border-bottom-left-radius: var(--panel-radius);
    border-bottom-right-radius: var(--panel-radius);
	-webkit-border-bottom-left-radius: var(--panel-radius);
	-webkit-border-bottom-right-radius: var(--panel-radius);
	-moz-border-radius-bottomleft: var(--panel-radius);
	-moz-border-radius-bottomright: var(--panel-radius);
}

.panel-footer {
    border-bottom-left-radius: var(--panel-radius);
    border-bottom-right-radius: var(--panel-radius);
	-webkit-border-bottom-left-radius: var(--panel-radius);
	-webkit-border-bottom-right-radius: var(--panel-radius);
	-moz-border-radius-bottomleft: var(--panel-radius);
	-moz-border-radius-bottomright: var(--panel-radius);
    background-color: var(--panel-background);
    border-top: 1px solid var(--panel-border-color);
}

/* #endregion - Gestione panel */


/* #region - Colori bootstrap alert */
.text-success {
    color: var(--success);
}

.text-info {
    color: var(--info);
}

.text-warning {
    color: var(--warning);
}

.text-danger {
    color: var(--danger);
}

a.text-success:hover,
a.text-success:focus,
.alert-success .alert-link {
    color: var(--success-dark);
}

a.text-info:hover,
a.text-info:focus,
.alert-info .alert-link {
    color: var(--info-dark);
}

a.text-warning:hover,
a.text-warning:focus,
.alert-warning .alert-link {
    color: var(--warning-dark);
}

a.text-danger:hover,
a.text-danger:focus,
.alert-danger .alert-link {
    color: var(--danger-dark);
}

.bg-success,
a.bg-success:hover,
a.bg-success:focus {
    background-color: var(--success-light);
}

.bg-info,
a.bg-info:hover,
a.bg-info:focus {
    background-color: var(--info-light);
}

.bg-warning,
a.bg-warning:hover,
a.bg-warning:focus {
    background-color: var(--warning-light);
}

.bg-danger,
a.bg-danger:hover,
a.bg-danger:focus {
    background-color: var(--danger-light);
}

.alert-success {
    color: var(--success-text);
    background-color: var(--success-light);
    border-color: var(--success);
}

.alert-info {
    color: var(--info-text);
    background-color: var(--info-light);
    border-color: var(--info);
}

.alert-warning {
    color: var(--warning-text);
    background-color: var(--warning-light);
    border-color: var(--warning);
}

.alert-danger {
    color: var(--danger-text);
    background-color: var(--danger-light);
    border-color: var(--danger);
}

.alert-success hr {
    border-top-color: var(--success);
}

.alert-info hr {
    border-top-color: var(--info);
}

.alert-warning hr {
    border-top-color: var(--warning);
}

.alert-danger hr {
    border-top-color: var(--danger);
}

/* #endregion - Colori bootstrap alert */


/* #region - GESTIONE IMMAGINI */
.WrapperBloccoImg {
	position: relative;
}

.MGalleryFoto img {
	cursor: pointer;
}

.MBloccoImg {
	position: relative;
}

.Scheda .MTipologia {
	position: absolute;
	top: 0px;
	left: 15px;
	width: 100%;
	z-index: 10;
}

.MElemento .MTipologia {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	z-index: 10;
}

/* Allinea il blocco dell'immagine al flusso del contenuto */
.Pagina-WrapperGalleryImmagini .MBloccoImg{
	margin-left: -15px;
	padding-right: 0px !important;
	margin-right: 30px;
}
.Scheda > .MBloccoImg,
.Scheda .WrapperImgCatalogo .MBloccoImg {
    padding-left: 0; 
	padding-right: 30px;
}

.MBloccoImg #MImmaginePrincipale.thumbnail {
	margin-top: 0px;
}

.MBloccoImg #MImmaginePrincipale {
	position: relative;
}

.MBloccoImg #JDidascalia {
	position: absolute;
	bottom: 0px;
	right: 0px;
}

.MBloccoImg #JDidascalia h3 {
	margin-top: 10px;
}

@media (min-width: 0px) and (max-width: 767px) {
	.Pagina-WrapperGalleryImmagini .MBloccoImg.col-xs-12,
	.Scheda .MBloccoImg.col-xs-12 {
		float: none;
		margin-left: 0px;
		margin-right: 0px;
		padding-left: 0px;
		padding-right: 0px;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.Pagina-WrapperGalleryImmagini .MBloccoImg.col-sm-12,
	.Scheda .MBloccoImg.col-sm-12 {
		float: none;
		margin-left: 0px;
		margin-right: 0px;
		padding-left: 0px;
		padding-right: 0px;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.Pagina-WrapperGalleryImmagini .MBloccoImg.col-md-12,
	.Scheda .MBloccoImg.col-md-12 {
		float: none;
		margin-left: 0px;
		margin-right: 0px;
		padding-left: 0px;
		padding-right: 0px;
	}
}

@media (min-width: 1200px) {
	.Pagina-WrapperGalleryImmagini .MBloccoImg.col-lg-12,
	.Scheda .MBloccoImg.col-lg-12 {
		float: none;
		margin-left: 0px;
		margin-right: 0px;
		padding-left: 0px;
		padding-right: 0px;
	}
}

.Pagina-WrapperGalleryImmagini .MBloccoImg .thumbnail a,
.carousel .item a,
.Scheda .MBloccoImg .thumbnail a {
	position: relative;
	display: block;

}

.Pagina-WrapperGalleryImmagini .MBloccoImg .thumbnail a:hover .MZoom,
.carousel .item a:hover .MZoom,
.Scheda .MBloccoImg .thumbnail a:hover .MZoom {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-image: url(/temi/base/img/zoom-icon.png);
	background-repeat: no-repeat;
	background-position: center;
	background-color: var(--color-background-transparance);
	opacity: 0.3;
	filter: alpha(opacity=30);
	/* For IE8 and earlier */
}

.Pagina-WrapperGalleryImmagini .MBloccoImg .thumbnail .caption {
	padding-top: 0px;
	padding-bottom: 0px;
	text-align: center;
	font-size: 90%;
}

.Pagina-WrapperGalleryImmagini .MBloccoImg .thumbnail .caption p,
.Scheda .MBloccoImg .thumbnail .caption p {
	margin: 0px;
}

/* #endregion - GESTIONE IMMAGINI */


/* #region - MenuStep (area riservata) */
	.MMenuVerticale {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		width: 100%;
	}

	.MMenuVerticale .btn {
		display: block;
		float: none;
		width: 100%;
		max-width: 100%;
		margin-top: -1px;
		margin-left: 0;
		padding-top: 10px;
		padding-bottom: 10px;
		margin-bottom: 10px;
	}
/* #endregion - MenuStep */


/* #region - TESTATA*/
	#ContainerTestata {
		background-color: var(--background-testata);
	}

	#ContainerTestata.JFixed {
		position: fixed;
		right: 0;
		left: 0;
		z-index: 999;
	}

	.nav {
		background-color: var(--nav-background);
		border-color: var(--nav-border);
		border-radius: var(--nav-border-radius);
		-webkit-border-radius: var(--nav-border-radius);
		-moz-border-radius: var(--nav-border-radius);
	}

	.navbar,
	.navbar-default {
		background-color: var(--navbar-background);
		border-color: var(--navbar-border);
		border-radius: var(--navbar-border-radius);
	}

	.navbar-default .navbar-collapse,
	.navbar-default .navbar-form {
		border-color: var(---navbar-color-border);
	}

	.navbar-default .navbar-brand,
	.navbar-default .navbar-text,
	.navbar-default .navbar-nav>li>a {
		border-radius: var(--navbar-border-radius);
		color: var(--navbar-color-text)
	}

	.nav>li>a,
	.nav-pills>li>a {
		border-radius: var(--nav-border-radius);
		color: var(--nav-color-text)
	}

	.navbar-default .navbar-toggle {
		background-color:  var(--navbar-toggle-background);
		border-color:  var(--navbar-toggle-border);
		border-radius: var(--navbar-toggle-border-radius);
		-webkit-border-radius: var(--navbar-toggle-border-radius);
		-moz-border-radius: var(--navbar-toggle-border-radius);
	}

	.navbar-default .navbar-toggle:hover,
	.navbar-default .navbar-toggle:focus {
		background-color:  var(--navbar-toggle-background-focus);
		border-color:  var(--navbar-toggle-border-focus);
	}

	.navbar-default .navbar-toggle .icon-bar {
		background-color: var(--navbar-toggle-color);
		margin-right: auto;
		margin-left: auto;
	}

	.navbar-default .navbar-toggle .MMenu {
		color: var(--navbar-toggle-color);
		text-align: center;
		padding-top: 5px;
		display: block;
	}

	.navbar-default .navbar-toggle:hover .icon-bar,
	.navbar-default .navbar-toggle:focus .icon-bar {
		background-color: var(--navbar-toggle-color-focus);
	}

	.navbar-default .navbar-toggle:hover .MMenu,
	.navbar-default .navbar-toggle:focus .MMenu {
		color: var(--navbar-toggle-color-focus);
	}

	.nav>li>a:hover,
	.nav>li>a:focus,
	.nav .open>a,
	.nav .open>a:hover,
	.nav .open>a:focus,
	.nav>li.disabled>a,
	.nav>li.disabled>a:hover,
	.nav>li.disabled>a:focus {
		color: var(--nav-color-text-focus);
		background-color: var(--nav-background-focus);
	}

	.navbar-default .navbar-nav>li>a:hover,
	.navbar-default .navbar-nav>li>a:focus,
	.navbar-default .navbar-nav>.open>a,
	.navbar-default .navbar-nav>.open>a:hover,
	.navbar-default .navbar-nav>.open>a:focus,
	.navbar-default .navbar-nav>.active>a,
	.navbar-default .navbar-nav>.active>a:hover,
	.navbar-default .navbar-nav>.active>a:focus,
	.navbar-default .navbar-nav>.disabled>a,
	.navbar-default .navbar-nav>.disabled>a:hover,
	.navbar-default .navbar-nav>.disabled>a:focus {
		color: var(--navbar-color-text-focus);
		background-color: var(--navbar-background-focus);
	}

	.dropdown-menu {
		padding: 0px;
	}

	.dropdown-menu > li > a,
	.navbar-default .navbar-nav .open .dropdown-menu>li>a {
		background-color: var(--dropdown-background-color);
		color: var(--dropdown-color);
		border-radius: 0px;
		-moz-border-radius: 0px;
		-webkit-border-radius: 0px;
		padding-top: 5px;
		padding-bottom: 5px;
	}

	.dropdown-menu > li:first-child > a,
	.navbar-default .navbar-nav .open .dropdown-menu>li:first-child>a {
		-webkit-border-top-right-radius: var(--form-border-radius);
		-webkit-border-top-left-radius: var(--form-border-radius);
		-moz-border-radius-topright: var(--form-border-radius);
		-moz-border-radius-topleft: var(--form-border-radius);
		border-top-right-radius: var(--form-border-radius);
		border-top-left-radius: var(--form-border-radius);
		padding-top: 10px;
	}

	.dropdown-menu > li:last-child > a,
	.navbar-default .navbar-nav .open .dropdown-menu>li:last-child>a {
		-webkit-border-bottom-right-radius: var(--form-border-radius);
		-webkit-border-bottom-left-radius: var(--form-border-radius);
		-moz-border-radius-bottomright: var(--form-border-radius);
		-moz-border-radius-bottomleft: var(--form-border-radius);
		border-bottom-right-radius: var(--form-border-radius);
		border-bottom-left-radius: var(--form-border-radius);
		padding-bottom: 10px;
	}

	.nav > .dropdown .dropdown-menu {
		background-color: var(--dropdown-background-color);
		color: var(--dropdown-color);
		border-radius: var(--dropdown-border-radius);
		-moz-border-radius: var(--dropdown-border-radius);
		-webkit-border-radius: var(--dropdown-border-radius);
	}

	.dropdown-menu > li > a:hover,
	.dropdown-menu > li > a:focus,
	.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,
	.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,
	.navbar-default .navbar-nav .open .dropdown-menu>.active>a,
	.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,
	.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus {
		color: var(--dropdown-color-focus);
		background-color: var(--dropdown-background-color-focus);
	}


	/* #region - hamburger menu */
    .icon-bar.bar1,
    .icon-bar.bar2,
    .icon-bar.bar3 {
        display: block;
        width: 24px;
        height: 2px;
        background-color: black;
        margin: 4px 0;
        transition: 0.4s;
    }
    .navbar-default .navbar-toggle .icon-bar,
    .navbar-default .navbar-toggle .icon-bar:focus,
    .navbar-default .navbar-toggle .icon-bar:hover {
        background-color: black;
    }
    .navbar-default .navbar-toggle.change .icon-bar {
        background-color: var(--color1) !important;
    }
    .change .icon-bar.bar1 {
        transform: translate(0, 10px) rotate(-45deg);
    }
    .change .icon-bar.bar2 {
        opacity: 0;
    }
    .change .icon-bar.bar3 {
        transform: translate(0, -2px) rotate(45deg);
    }
    .navbar-toggle {
        margin-top: 20px;
    }
	/* #endregion - hamburger menu */
/* #endregion - TESTATA*/


/* #region - CONTAINER SITO */
#ContainerSito {
	background-color: var(--background-sito);

	/* per spingere footer a fondo pagina a prescindere dal contentuo del containersito */
	flex: 1;
	/* per evitare che l'uso di animate.css crei lo scroll orizzontale (asse X) */
    overflow-x: hidden;
}
/* #endregion - CONTAINERSITO */


/* #region - PIEDE */
#ContainerPiede {
	background-color: var(--background-piede);
}
/* #endregion - PIEDE */


/* #region - Cookie Policy */
#cookieChoiceInfo {
	color: var(--cookie-text-color)!important;
	background-color: var(--cookie-background-color)!important;
}

#cookieChoiceInfo span {
	display: block;
	margin-right: auto;
	margin-left: auto;
}

@media (min-width: 0px) and (max-width: 767px) {
	#cookieChoiceInfo span {
		width: 100%;
	}
}

@media (min-width: 768px) {
	#cookieChoiceInfo span {
		width: 750px;
	}
}

@media (min-width: 992px) {
	#cookieChoiceInfo span {
		width: 970px;
	}
}

@media (min-width: 1200px) {
	#cookieChoiceInfo span {
		width: 1140px;
	}
}

#cookieChoiceInfo a {
	display: inline-block;
	text-decoration: none;
	padding: 0.625em;
	margin-top: 0.625em;
	background-color: var(--cookie-btn-background);
	color: var(--color-white);
	-webkit-border-radius: var(--cookie-btn-border-radius);
	-moz-border-radius: var(--cookie-btn-border-radius);
	border-radius: var(--cookie-btn-border-radius);
}

#cookieChoiceInfo a#cookieChoiceDismiss {
	background-color: var(--btn-danger-color);
	margin-left: 30px !important;
}

/* #endregion - Cookie Policy */


/* #region - MEDIA QUERY  */

/* --------------------------------- max -------------------------------- */
@media screen and (max-width: 991px) {
	/* gestione verticalizzazione .table-wrap per mobile e/o tablet */
    .table-wrap .IconaOrdine,
    .table-wrap .DataOrdine,
    .table-wrap tfoot {
        display: none;
    }
	.table-wrap table,
	.table-wrap thead,
	.table-wrap tbody,
	.table-wrap th,
	.table-wrap td,
	.table-wrap tr {
		display: block;
	}
	.table-wrap thead tr {
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	.table-wrap td {
		border: none;
		border-bottom: 1px solid var(--color1);
		position: relative;
		padding-left: 50% !important;
		white-space: normal;
		text-align: left;
	}
	.table-wrap td:before {
		position: absolute;
		top: 8px;
		left: 15px;
		width: 45%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		text-align: left;
		font-weight: bold;
	}
	.table-wrap td:first-child {
		padding-top: 17px;
	}
	.table-wrap td:last-child {
		padding-bottom: 16px;
	}
	.table-wrap td:first-child:before {
		top: 17px;
	}
	.table-wrap td:before {
		content: attr(data-title);
	}
	.table tbody tr:not(:first-child) {
		border-top: 1px solid var(--color1);
	}
	.table tbody tr td {
		border: none;
	}
    .table-wrap tbody {
        padding-bottom: 20px;
    }
}

@media screen and (max-width: 767px) {
	/* Verticalizza nav-tabs per creare un menu da mobile  */
	.nav-tabs>li {
		float: none;
	}
	.nav-tabs>li a {
		text-transform: none;
	}
	.nav-tabs>li.active>a,
	.nav-tabs>li.active>a:focus,
	.nav-tabs>li.active>a:hover {
		border: 0px;
		background-color: var(--nav-background-focus);
	}
	.nav-tabs>li>a {
		border-radius: 0px;
	}


	/* MenuStep (area riservata) */
	.menustep {
		position: relative;
		display: inline-block;
		vertical-align: middle;
		width: 100%;
	}
	.menustep .btn {
		display: block;
		float: none;
		width: 100%;
		max-width: 100%;
		margin-top: -1px;
		margin-left: 0;
		margin-bottom: 0;
		padding-top: 10px;
		padding-bottom: 10px;
	}
	.menustep>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
		border-bottom-left-radius: 0px;
		border-bottom-right-radius: 0px;
		border-top-right-radius: var(--menustep-border-radius);
		border-top-left-radius: var(--menustep-border-radius);
		-webkit-border-bottom-left-radius: 0px;
		-webkit-border-bottom-right-radius: 0px;
		-webkit-border-top-right-radius: var(--menustep-border-radius);
		-webkit-border-top-left-radius: var(--menustep-border-radius);
		-moz-border-radius-bottomleft: 0px;
		-moz-border-radius-bottomright: 0px;
		-moz-border-radius-topright: var(--menustep-border-radius);
		-moz-border-radius-topleft: var(--menustep-border-radius);
	}
	.menustep>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
		border-radius: 0px;
		-webkit-border-radius: 0px;
		-moz-border-radius: 0px;
	}
	.menustep>.btn:last-child:not(:first-child),
	.menustep .btn-group>.dropdown-toggle:not(:first-child),
	.menustep>.btn.step3 {
		border-bottom-left-radius: var(--menustep-border-radius);
		border-bottom-right-radius: var(--menustep-border-radius);
		border-top-right-radius: 0px;
		border-top-left-radius: 0px;
		-webkit-border-bottom-left-radius: var(--menustep-border-radius);
		-webkit-border-bottom-right-radius: var(--menustep-border-radius);
		-webkit-border-top-right-radius: 0px;
		-webkit-border-top-left-radius: 0px;
		-moz-border-radius-bottomleft: var(--menustep-border-radius);
		-moz-border-radius-bottomright: var(--menustep-border-radius);
		-moz-border-radius-topright: 0px;
		-moz-border-radius-topleft: 0px;
	}
}


/* --------------------------------- range -------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
	/* TESTATA - Per rendere mobile navbar anche in sm */
	.navbar-nav {
		margin: 7.5px -15px;
		margin-left: -15px;
		margin-right: -15px;
		float: none!important;
	}
	.navbar-header {
		float: none;
	}
	.container-fluid>.navbar-collapse,
	.container-fluid>.navbar-header,
	.container>.navbar-collapse,
	.container>.navbar-header {
		margin-right: -15px !important;
		margin-left: -15px !important;
	}
	.navbar>.container .navbar-brand,
	.navbar>.container-fluid .navbar-brand {
		margin-left: 0px;
	}
	.navbar-toggle {
		display: block;
	}
	.navbar-collapse.collapse {
		display: none!important;
	}
	.navbar-nav>li {
		float: none;
	}
	.navbar-nav .open .dropdown-menu {
		position: static;
		float: none;
		width: auto;
		margin-top: 0;
		background-color: transparent;
		border: 0;
		-webkit-box-shadow: none;
		box-shadow: none;
	}
	.navbar-collapse.collapse.in {
		display: block!important;
	}
	.collapsing {
		overflow: hidden!important;
	}
}


/* ------------------------------------- min ----------------------------- */
@media (min-width: 768px) {
	/* FORMS */
	.PrivacyCheckbox input[type=checkbox] {
		-ms-transform: scale(1.5);
		-moz-transform: scale(1.5);
		-webkit-transform: scale(1.5);
		-o-transform: scale(1.5);
	}


	/* MenuStep (area riservata) */
	.menustep {
		position: relative;
		vertical-align: middle;
		display: table;
		width: 100%;
		table-layout: fixed;
		border-collapse: separate;
	}
	.menustep .btn {
		position: relative;
		display: table-cell;
		float: none;
		width: 1%;
	}
	.menustep>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
		border-top-right-radius: 0px;
		border-bottom-right-radius: 0px;
		-webkit-border-top-right-radius: 0px;
		-moz-border-radius-topright: 0px;
		-webkit-border-bottom-right-radius: 0px;
		-moz-border-radius-bottomright: 0px;
	}
	.menustep>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle):not(.step3) {
		border-radius: 0px;
		-webkit-border-radius: 0px;
		-moz-border-radius: 0px;
	}
	.menustep>.btn:last-child:not(:first-child),
	.menustep>.btn-group>.dropdown-toggle:not(:first-child),
	.menustep>.btn.step3 {
		border-top-left-radius: 0px;
		border-bottom-left-radius: 0px;
		-webkit-border-top-left-radius: 0px;
		-moz-border-radius-topleft: 0px;
		-webkit-border-bottom-left-radius: 0px;
		-moz-border-radius-bottomleft: 0px;
	}
}
/* #endregion - MEDIA QUERY  */