/* ================================================================
   STICKY FOOTER — soluzione flex a due livelli v28
   Catena completa:
     html(height:auto) → body(height:auto)
     → #form1 (flex column, min-height:100vh)
         → #header      (flex-shrink:0)
         → #site-main   (flex:1 → flex container colonna)
             → .sh-page / .rg-page / .sp-page / .content-main (flex:1)
         → #footer      (flex-shrink:0, margin-top:auto)
   ROOT CAUSE v28: overflow-x:hidden su #form1 causa implicit overflow-y:auto
   (CSS spec), rendendo #form1 uno scroll container e interferendo con
   min-height:100vh nel calcolo flex.
   FIX: overflow-x:clip (non crea scroll container, overflow-y rimane visible).
   ================================================================ */

html {
    height: auto;   /* sovrascrive normalize.css html,body{height:100%} */
    margin: 0;
    padding: 0;
}
body {
    height: auto;   /* sovrascrive normalize.css html,body{height:100%} */
    margin: 0;
    padding: 0;
    font-family: "Ubuntu", Arial, Helvetica, sans-serif;
    font-weight: 400;
    font-size: 15px;
    color: #4a4a49;
    background-color: White;
}

/* #form1 è il contenitore flex principale: gestisce interamente
   lo sticky footer con min-height:100vh, senza dipendere da html/body. */
#form1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-height: 100vh;
    overflow-x: hidden; /* fallback per browser vecchi */
    overflow-x: clip;   /* non crea scroll container → overflow-y resta visible */
}

/* Header non si comprime mai in altezza */
#header {
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

/* div.none (skip-nav tra header e site-main): zero altezza */
.none {
    height: 0;
    overflow: hidden;
}

/* Nasconde i <br> legacy che diventerebbero flex item spurii in form1 */
#form1 > br {
    display: none !important;
}

/* #site-main: flex item (cresce in #form1) + flex container colonna (distribuisce ai figli) */
#site-main {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
}
*, *::before, *::after { box-sizing: border-box; }
h1 {
	font-size: 18px;
	font-weight: bold;
	color: #016dcf;
}
h2 {
	font-size: 32px;
	font-weight: 500;
}
h3 {
	font-size: 20px;
	font-weight: 300;
}
/* link */
a:link {
	color:#016dcf;
	text-decoration:underline;
	}

a:visited {
	color:#016dcf;
	text-decoration:underline;
	}

a:hover {
	text-decoration:none;
	}

a:active {
	text-decoration:underline;
	color:#016dcf;
	}
/* form */
textarea, 
input[type="text"], 
input[type="password"], 
input[type="datetime"], 
input[type="datetime-local"], 
input[type="date"], 
input[type="month"], 
input[type="time"], 
input[type="week"], 
input[type="number"], 
input[type="email"], 
input[type="url"], 
input[type="search"], 
input[type="tel"], 
input[type="color"]{
	border: 1px solid #cccccc;
}
textarea:focus, 
select:focus,
input[type="text"]:focus, 
input[type="password"]:focus, 
input[type="datetime"]:focus, 
input[type="datetime-local"]:focus, 
input[type="date"]:focus, 
input[type="month"]:focus, 
input[type="time"]:focus, 
input[type="week"]:focus, 
input[type="number"]:focus, 
input[type="email"]:focus, 
input[type="url"]:focus, 
input[type="search"]:focus, 
input[type="tel"]:focus, 
input[type="color"]:focus {
	border-color: rgba(4,153,218, 0.8);
	outline: 0;
	outline: thin dotted 9;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(4,153,218, 0.6);
	-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(4,153,218, 0.6);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(4,153,218, 0.6);
}
fieldset{
	border: 1px solid #cccccc;
}
label {
	font-weight: normal;
	font-size: 13px;
	color: #4a4a49;
	font-family: ubuntu;
	margin-top: 10px;
}
legend{
	padding: 0px 10px;
	margin-bottom: 0px;
}
.input-box{
	border: 1px solid #cccccc;
	background-color: #f4f4f4;
}
.CheckboxList {
	border-color: #cccccc;
}
.CheckboxList td {
	padding: 3px;
}
button.button,
input.button{
	cursor: pointer;
	color: white;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	padding: 9px 14px;
	font-size: 14px;
	font-weight: normal;
	box-shadow: inset 0px 1px #36aee1;
	border: 1px solid #0f539c;
	background-color: #0499da;
	background-image: -moz-linear-gradient(top, #0499da, #0065cd);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0499da), to(#0065cd));
	background-image: -webkit-linear-gradient(top, #0499da, #0065cd);
	background-image: -o-linear-gradient(top, #0499da, #0065cd);
	background-image: linear-gradient(to bottom, #0499da, #0065cd);
}
button.button:hover,
input.button:hover{
	box-shadow: inset 0px 1px #0499da;
	background-color: #0065cd;
	background-image: none;
}
input.button.green,
button.button.green{
	box-shadow: inset 0px 1px #c8e089;
	border: 1px solid #8fad01;

	background-color: #aac833;
	background-image: -moz-linear-gradient(top, #aac833, #82a201);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#aac833), to(#82a201));
	background-image: -webkit-linear-gradient(top, #aac833, #82a201);
	background-image: -o-linear-gradient(top, #aac833, #82a201);
	background-image: linear-gradient(to bottom, #aac833, #82a201);
}
input.button.green:hover,
button.button.green:hover{
	background-color: #82a201;
	background-image: none;
}
input.button.grey,
button.button.grey{
	margin-left: 20px;
	margin-right: 20px;
	/*width: 120px !important;*/
	font-size: 12px;
	color: #383838;
	padding: 3px 0px;

	box-shadow: inset 0px 1px #cccccc;
	border: 1px solid #969696;
	background-color: #dcdcdc;
	background-image: -moz-linear-gradient(top, #dcdcdc, #afafaf);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#dcdcdc), to(#afafaf));
	background-image: -webkit-linear-gradient(top, #dcdcdc, #afafaf);
	background-image: -o-linear-gradient(top, #dcdcdc, #afafaf);
	background-image: linear-gradient(to bottom, #dcdcdc, #afafaf);
	/*dcdcdc afafaf*/
}
/*input.button.grey:hover,
button.button.grey:hover{
	background-color: #afafaf;
	background-image: none;
}*/
a.button.grey{
	cursor: pointer;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	padding: 9px 14px;
	font-size: 14px;
	font-weight: normal;
	text-decoration: none;

	color: #383838;

	box-shadow: inset 0px 1px #cccccc;
	border: 1px solid #969696;
	background-color: #dcdcdc;
	background-image: -moz-linear-gradient(top, #dcdcdc, #afafaf);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#dcdcdc), to(#afafaf));
	background-image: -webkit-linear-gradient(top, #dcdcdc, #afafaf);
	background-image: -o-linear-gradient(top, #dcdcdc, #afafaf);
	background-image: linear-gradient(to bottom, #dcdcdc, #afafaf);
	/*dcdcdc afafaf*/
}
a.button.grey:hover{
	background-color: #afafaf;
	background-image: none;
}
.NoCursor:hover {
    cursor: not-allowed;
}
a#show-hide,
a#show-hide:hover{
	color: #4a4a49;
	text-decoration: none;
	font-weight: bold;
}
input.button.orange{
	box-shadow: inset 0px 1px #f2b24c;
	border: 1px solid #cf7501;

	background-color: #e19047;
	background-image: -moz-linear-gradient(top, #e19047, #bb5902);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#e19047), to(#bb5902));
	background-image: -webkit-linear-gradient(top, #e19047, #bb5902);
	background-image: -o-linear-gradient(top, #e19047, #bb5902);
	background-image: linear-gradient(to bottom, #e19047, #bb5902);
}
input.button.orange:hover{
	background-color: #bb5902;
	background-image: none;
}
/* contao button */
a.btn, .btn a, input.btn {
	border-left: 1px solid #0064CD;
    border-right: 1px solid #0064CD;
    border-top: 1px solid #0064CD;
    border-bottom: 1px solid #003F81;
    cursor: pointer;
	display: block;
	font-size: 13px;
	line-height: normal;
	padding: 5px 14px 6px;
	-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;
	border-image: initial;
	-webkit-border-radius: 4px;	-moz-border-radius: 4px; border-radius: 4px;
	
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05), 0px 3px 5px #999999;
	-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05), 0px 3px 5px #999999;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05), 0px 3px 5px #999999;
	
	color: #fff;
	background-color: #0064cd;
	background-repeat: repeat-x;
	text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
    text-decoration: none;
    background-image: linear-gradient(top, #049cdb, #0064cd);
}
a.btn.fullHeight, .btn.fullHeight a, input.btn.fullHeight {
	width: 100%;
}
a.btn:hover, .btn:hover a, input.btn:hover {
	background-position: 0 -15px;
	-webkit-box-shadow: 0px 1px 3px #999999;
       -moz-box-shadow: 0px 1px 3px #999999;
			box-shadow: 0px 1px 3px #999999;
}
a.btn_big, .btn_big a, input.btn_big {
	background-color: #3abded;
	background-repeat: repeat-x;
	border: 5px solid #fff;
    -webkit-border-radius: 7px;
    -moz-border-radius: 7px;
    border-radius: 7px;
    min-height: 20px;
    font-weight: 700;
    font-size: 17px;
    font-family: Ubuntu, Arial, Helvetica, sans-serif;
    width: auto;
    background-image: linear-gradient(top, #2a7fc2, #3abded);
}
a.btn.noShadow, .btn.noShadow a, input.btn.noShadow {
	-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
}
a.btn.noShadow:hover, .btn.noShadow:hover a, input.btn.noShadow:hover {
	background-position: 0 -15px;
	-webkit-box-shadow: none;
       -moz-box-shadow: none;
			box-shadow: none;
}
/**
 * Pagination
 */
.pagination {
	background-color: #eff2fb !important;
	padding: 5px 10px !important;
	    border: 1px solid #cccccc !important; 
}
.pagination td{
	padding:  0px 3px !important;
}
.pagination table{
	margin: 0px !important;
	font-size: 15px !important;
}
.pagination span{
	color: #016fcf !important;
	font-weight: bold !important;
}
.pagination a,
.pagination a:visited{
	text-decoration: none !important;
	color: #555555 !important;
	
}
.pagination a:hover{
	text-decoration: underline !important;
}
.boxpager{
	border: 1px solid #cccccc;
	padding: 5px 10px;
 	background-color: #eff2fb;
 }
.boxpager span,
.boxpager a{
	padding:  0px 1px;
}
.boxpager span{
	color: #016fcf;
	font-weight: bold;
}
.boxpager a,
.pagination a:visited{
	text-decoration: none;
	color: #555555;
}
.boxpager a:hover{
	text-decoration: underline;
}
/*
 * Header
 */

#header {
	color: #fff;
	background: transparent url('../content/images/header_background.jpg') repeat-x top center;
	text-align: right;
	min-height: 130px;
    font-size: 13px;
    font-weight: 300;
}
#header a.assistenza_button{
margin-top: 15px;

margin-left: 15px;

display: inline-block;
padding: 3px 10px;
text-align: center;
height: 20px;
-webkit-border-radius: 4px;
border-radius: 4px;
-webkit-background-clip: padding-box;
background-clip: padding-box;

box-shadow: inset 1px 1px 
/*0065cd 0499da*/
color: white;
background-color: #0065cd;
    box-shadow: inset 1px 1px 1px #36aee1;
    border: 1px solid #0f539c;
    background-image: linear-gradient(to bottom, #0499da, #0065cd);
}
#header a.assistenza_button:hover{
background-color: #0499da;
background-image: none;
}

#header a {
	color: #fff;
	text-decoration: none;
}
#header .mod_changelanguage{
	margin-top: 5px;
	height: 35px;
}
#header .mod_changelanguage ul{
    list-style: none;
    float: left;
    margin: 5px 0px 0px 0px;
}
#header .mod_changelanguage ul li{
    margin: 0px;
    float: left;
}
#logo {
	height: 75px;
	overflow: visible;
}
#logo a:hover {
	text-decoration: none;
}
#logo h1 {
	text-align: center;
	color: #fff;
	font-size: 17px;
}
#logo h1 img {
	position: relative;
	z-index: 1;
    top: 0px;
    left: 0px;
}
#logo img {
	margin-top: 5px;
}
#main_menu a:hover, #social_icons a:hover {
	text-decoration: underline;
}
#main_menu {
	height: 75px;
}
#main_menu ul {
	margin: 20px 0px 0px 0px;
	list-style: none;
	float: right;
}
#main_menu li {
	display: block;
	float: left;
	padding-left: 7px;
	padding-right: 7px;
	border-left: #727272 solid 1px;
	border-right: #000 solid 1px;
	margin: 0px;
}
#main_menu li.first {
	padding-left: 0px;
	border-left: none;
}
#main_menu li.last {
	border-right: none;
}
#main_menu li ul {
	display: none;
}
#main_menu li:hover ul {
	display: block;
	position: absolute;
	z-index:15;
	width:auto;
	top: 70px;
	padding: 10px;
	margin: 10px 0px 10px -1px;
	border: none;
	background: #4A4A49;
	font-size:.9em;
}
#main_menu li:hover ul li{
	display: block;
	float:none;
	clear:both;
	border: none;
	padding:5px 0px;
}
.social_icons {
	margin-top: 8px;
	height: 35px;
}

.social22
{ 
    height: 22px;
    width: 22px;
}
.social_icons p, .social_icons ul {
	display: block;
	float: left;
}
.social_icons p {
	margin: 5px 0px 0px 7px;
}
.social_icons ul {
	height: 23px;
	list-style: none;
	margin: 0px;
	padding: 0px;
}
.social_icons ul li {
	display: block;
	float: left;
	margin-left: 5px;
	padding: 0px;
}
#menu_secondary {
	position: relative;
	display: block;
	left: 0px;
	background-color: #f6f6f6;
}
#menu_secondary ul {
	list-style: none;
	margin: 75px auto 60px 38px;
	width: 143px;
}
#menu_secondary ul li, #menu_secondary ul li a {
	color: #000;
	font-size: 14px;
	margin: 5px 0px;
}
#menu_secondary ul li {
	padding: 15px 0px 12px 13px;
	border-bottom: #8f8f8e solid 1px;
}
#menu_secondary ul li.first {
	padding-top: 0px;
}
#menu_secondary ul li.last {
	padding-bottom: 0px;
	border-bottom: none;
}
#menu_secondary ul li.active {
	font-weight: 700;
}
#header .mod_article {
	color: #000;
	margin-top: 65px;
}
#header .mod_article .image_container {
	margin-bottom: 60px;
	text-align: center;
}
#header .userbar b {
	color: #016dcf;
	font-size: 14px;
	font-weight: bold;
}
#header .userbar{
	color: #ababaa;
	text-align: right;
}
#header .userbar a,
 #header .userbar a:visited{
	color: #4a4a49;
	font-size: 14px;
	font-weight: bold;
	text-decoration: underline;
}
#header .loginview {
    text-align: right;
}
#header .LoginName 
{
    color: #016dcf; 
    font-size: 14px; 
    font-weight: bold; 
    text-decoration: underline;
}
#header .LoginName:hover
{
    color:#0f539c;
}
div .MainContentPlaceHolder 
{
    border: 1px solid #cccccc; 
    padding: 5px 5px 5px 5px; 
    margin: -1px 0px 5px 0px;
	
}
div .MainContentPlaceHolderBBGroupMaster 
{
    border: 1px solid #cccccc; 
    padding: 5px 5px 5px 5px; 
    margin-left: auto;
    margin-right: auto;
    width: 960px;
    height: 476px;
    margin-bottom: 5px;

}
/*
 * Footer
 */
#footer {
	padding-top: 70px;
	color: #fff;
	background-color: #404040;
	font-size: 13px;
	font-weight: 300;
}
	#footer .social_icons, #footer .prodotti, #footer .sitemap, #footer .contacts, #footer .privacy {
		min-height: 320px;
	}
	#footer .sitemap, #footer .prodotti, #footer .social_icons, #footer .contacts, #footer .privacy {
		padding-right: 9px;
		border-right: #000 solid 1px;
		padding-left: 9px;
		border-left: #727272 solid 1px;
	}
#footer .sitemap {
	padding-left: 0px;
	margin-left: 10px;
	border-left: none;
}
#footer .mc_embed_signup input {
	margin: 5px 0px;
	clear: none;
	float: left;
}
#footer .mc_embed_signup input[type=email] {
	border: none;
	background-color: white;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	-webkit-box-shadow: inset 0px 1px 2px #bfbfbf;
	-moz-box-shadow: inset 0px 1px 2px #bfbfbf;
	box-shadow: inset 0px 1px 2px #bfbfbf;
	border-image: initial;
	width: 180px;
	height: 17px;
	padding: 5px;
	margin: 6px 10px 5px 0px;
}
#footer .mc_embed_signup input[type=submit] {
	clear: right;
}
	#footer .contacts, #footer .privacy {
		padding-right: 0px;
		margin-right: 10px;
		border-right: none;
		height: 235px;
	}
#footer a {
	color: #fff;
}
#footer a:link, #footer a:visited {
	text-decoration: none;
}
#footer a:hover, #footer a:active {
	text-decoration: underline;
}
#footer h3, #footer h4 {
	font-weight: 500;
	color: #c4c103;
}
#footer h3 {
	font-size: 20px;
	margin-bottom: 18px;
}
#footer h4 {
	font-size: 14px;
}
#footer ul {
	list-style: none;
}
#footer ul li {
	margin: 18px 0px 0px;
	padding: 0px;
}
#footer ul li.first {
	margin-top: 0px;
}
#footer .social_icons {
	margin-top: 0px;
	height: 232px;
}
#footer .social_icons ul{
	margin-top:3px;
}
#footer .social_icons ul, #footer .social_icons ul li {
	height: auto;
	float: none;
	clear: both;
}
#footer .social_icons ul li span {
	float: left;
}
#footer .social_icons ul li img {
	margin-right: 10px;
}
#footer .social_icons h4 {
	margin-top: 15px;
	margin-bottom: 0px;
}
.disclaimer, .credits {
	font-weight: 300;
	font-size: 12px;
	margin-top: 40px;
}
.credits a img {
	margin-left: 5px;
	-webkit-transition: all 0.3s ease-out;
     -moz-transition: all 0.3s ease-out;
      -ms-transition: all 0.3s ease-out;
       -o-transition: all 0.3s ease-out;
          transition: all 0.3s ease-out;
}
.credits a:link img, .credits a:visited img {
	opacity: 1;
}
.credits a:hover img, .credits a:active img {
	opacity: 0.8;
}

/**
	tabs
*/
.tabs,
.ajax__tab_header {
	float: left;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	list-style: none;
	margin-top: 32px;
	margin-bottom: 0;
	padding: 0;
	font-size: 13px;
	font-weight: 400;
	z-index: 10;
	position: relative;
	gap: 0;
	border-bottom: 2px solid #e2e8f0;
	width: 100%;
}
.ajax__tab_header {
	margin-top: 15px;
}
.tabs li,
.ajax__tab_header > span {
	float: none;
	display: block;
	margin: 0 0 -2px 0;
	height: auto;
	line-height: 1.4;
	padding: 9px 22px;
	border: none !important;
	border-bottom: 2px solid transparent !important;
	background: transparent !important;
	background-color: transparent !important;
	color: #64748b !important;
	border-radius: 0;
	cursor: pointer;
	-webkit-transition: color 0.15s, background 0.15s;
	        transition: color 0.15s, background 0.15s;
}
.tabs li:last-child,
.ajax__tab_header > span:last-child {
	border-right: none !important;
}
.tabs li a,
.ajax__tab_header > span a {
	color: #64748b !important;
	text-decoration: none;
	font-weight: 500;
	font-size: 13px;
}
.tabs li:hover {
	background: #f0f7fd !important;
	background-color: #f0f7fd !important;
	color: #037ece !important;
	box-shadow: none !important;
}
.tabs li a:hover {
	text-decoration: none;
	color: #037ece !important;
}
.tabs li a:focus,
.ajax__tab_header > span a:focus {
	outline: none;
}
.tabs li.active,
.ajax__tab_header > span.ajax__tab_active {
	border: none !important;
	border-bottom: 2px solid #037ece !important;
	border-radius: 0 !important;
	background: transparent !important;
	background-color: transparent !important;
	color: #037ece !important;
	box-shadow: none !important;
	position: relative;
	z-index: 11;
}
.tabs li.active a,
.ajax__tab_header > span.ajax__tab_active a {
	font-weight: 700;
	color: #037ece !important;
}
.ajax__tab_body,
.content-main {
	margin-top: -1px;
	z-index: 1;
	position: relative;
	float: left;
	padding: 0;
	border: 1px solid #e2e8f0;
	border-top: none;
	margin-bottom: 30px;
	border-radius: 0 0 10px 10px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.04);
	background: #fff;
}
.ajax__tab_body {
	width: 860px;
}
.content-main {
	width: 100%;
	max-width: 1200px;
	box-sizing: border-box;
	-webkit-box-flex: 1;
	    -ms-flex: 1 0 auto;
	        flex: 1 0 auto;
}


/**
 * home
 */
.column table{
	border-bottom: 3px solid #016dcf;
}
.column table img{
	margin-bottom: 2px;
}
/**
 * login
*/ 
.login-box{
	float: right;
	width: 330px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 15px;
	padding-left: 15px;
	background-color: #f6f6f6;
	border: 1px solid #cccccc;
	margin-left: 15px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.login-box h2{
	color: #037ece;
	font-size: 25px;
	font-weight: bold;
	margin-bottom: 0px;
}
.login-box label{
	font-size: 15px;
	margin-top: 0px;
}
.login-box label.lighter{
	color: #9b9b9b;
	display: inline;
}
.login-box a{
	margin-left: 60px;
	
}
.login-box input[type="text"],
.login-box input[type="password"]{
	width: 322px;
	height: 29px;
	padding: 3px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	margin-bottom: 10px;
}
.login-box input[type="submit"]{
	width: 330px;
	font-weight: bold;
	margin-top: 10px;
}
.login-box-bottom
{
    margin-top: 5px;
    
    }
ol {
	counter-reset:li; 
	margin-left:0; 
	padding-left:0; 
}
ol > li {
	position:relative; 
	margin-right: 2em; 
	padding:4px 8px;
	list-style:none; 
}
ol > li:before {
	content:counter(li); 
	counter-increment:li;
	/* Position and style the number */
	position:absolute;
	top:0px;
	left:-2em;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	width:2em;
	/* Some space between the number and the content in browsers that support
	   generated content but not positioning it */
	margin-right:8px;
	padding:4px;
	font-size: 15px;
	font-weight: bold;
	color: #016dcf;
	text-align:center;
}
/*LOGIN NEW*/
.login-box-back{
	float: right;
    
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 15px;
	padding-left: 15px;
	margin-left: 15px;

}

.login-box-left{
	
	width: 330px;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-right: 15px;
	padding-left: 15px;
	background-color: #f6f6f6;
	border: 1px solid #cccccc;
	margin-left: 15px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}
.login-box-left h2{
	color: #037ece;
	font-size: 25px;
	font-weight: bold;
	margin-bottom: 0px;
}
.login-box-left label{
	font-size: 15px;
	margin-top: 0px;
}
.login-box-left label.lighter{
	color: #9b9b9b;
	display: inline;
}
.login-box-left a{
	margin-left: 60px;
	
}
.login-box-left input[type="text"],
.login-box-left input[type="password"]{
	width: 322px;
	height: 29px;
	padding: 3px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	margin-bottom: 10px;
}
.login-box-left input[type="submit"]{
	width: 330px;
	font-weight: bold;
	margin-top: 10px;
}
.login-box-left-bottom
{
    margin-top: 5px;
    
    }


/**
	ricerca
*/
strong > em{
	font-style: normal;
}
 table.items {
	border-top:1px solid #cccccc;
	border-left:1px solid #cccccc;
}
table.items td,
table.items th{
	vertical-align: middle;
	padding:8px;
	border-right:1px solid #cccccc;
	border-bottom:1px solid #cccccc;
}
table.items td.aspNetDisabled{
	display: none;
}
table.items td.options {
	text-align: center;
	vertical-align: middle;
	padding: 10px;
	width: 120px;
}
table.items td.options .button{
	padding: 7px 10px;
}
table.items td.options .button img {
	display: inline;
	margin: 0px 3px;
}
table.items tbody> tr:nth-child(even) > td{
	background-color: #f0f0f0;
}
table.items td td{
	border: none;
	background-color: transparent !important;
}
/**
 * consumabili
 */
 table.data-table {
	border-top:1px solid #cccccc;
	border-left:1px solid #cccccc;
}
table.data-table td,
table.data-table th{
	vertical-align: middle;
	padding:8px;
	border-right:1px solid #cccccc;
	border-bottom:1px solid #cccccc;
}
table.data-table th{
	color: #4a4a49;
	font-size: 15px;
	font-weight: bold;
	background-color: #eff2fb;
}
table.data-table td{
	min-height: 54px;
}
table.data-table tbody> tr:nth-child(even) > td{
	background-color: #f0f0f0;
}
table.data-table.withFooter tbody> tr:last-child > td{
	background-color: #404040;
	color:white;
}
/**
 * ricerca utente
 */
.boxlist2_remote {
	list-style: none;
	background: url(../images/bg-poster-tile.jpg) repeat-x bottom;
	border: solid 1px #dddddd;
	border-top: none;
	padding: 10px;
	margin: 0px;
}
.boxlist2_remote td textarea{
	width: 320px !important;
	height: 60px;
	margin-left: 15px;
}
.boxlist2_remote td select{
	margin-left: 15px;
	min-width: 120px;
}
.boxlist2_remote td .button{
	margin-left: 20px;
}
ul.boxlist2 > li.boxlist2_remote:nth-child(odd){
	background-color: #f0f0f0;
}
/**
 * storico 
 */
.ajax__tab_panel .TwoColumnsWrapper .sidebar{
	width: 150px;
}
.ajax__tab_panel .TwoColumnsWrapper .main-TwoColumnsWrapper{
	margin-left: 230px;
}
.ajax__tab_panel .TwoColumnsWrapper .main-TwoColumnsWrapper .button{
	float: right;
}
/*.ajax__tab_panel .TwoColumnsWrapper .sidebar ul li{
	margin: 0px;
	padding: 0px;
	background-image: none;
	line-height: 60px;
}
.ajax__tab_panel .TwoColumnsWrapper .sidebar ul li a{
	padding-left: 2px;
	line-height: 60px;
}
.ajax__tab_panel .TwoColumnsWrapper .sidebar ul li a:hover{
	color: white;
	background-color: #0065cd;
}
.ajax__tab_panel .TwoColumnsWrapper .sidebar .igeb_GroupSelected{
	background-color: #0499da;
	background-image: -moz-linear-gradient(top, #0499da, #0065cd);
	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0499da), to(#0065cd));
	background-image: -webkit-linear-gradient(top, #0499da, #0065cd);
	background-image: -o-linear-gradient(top, #0499da, #0065cd);
	background-image: linear-gradient(to bottom, #0499da, #0065cd);
}
.ajax__tab_panel .TwoColumnsWrapper .sidebar .igeb_GroupSelected a{
	color: white;
	text-decoration: none;
}
.ajax__tab_panel .TwoColumnsWrapper .sidebar .igeb_GroupSelected a:hover{
	background-color: transparent;
}*/
.login-box input[type="text"],
.login-box input[type="password"]{
width: 322px;
height: 29px;
padding: 3px;
-webkit-border-radius: 5px;
border-radius: 5px;
margin-bottom: 10px;
background-color: white;
}
.red-boxdisabled{
border: 1px solid #B70E0C;
margin-bottom: 20px;
-webkit-border-radius: 5px;
border-radius: 5px;
background-color: #5c5c5c;
}
.red-boxdisabled h2{
background-color: #B70E0C;
color: white !important;
font-size: 20px;
padding: 0px 15px;
height: 32px;/*56*/

}

/* ============================================================
   Login box - visual refresh (stessa struttura, look moderno)
   ============================================================ */
.login-box {
    background: #ffffff;
    border: 1px solid #dde3ec;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.09);
}
.login-box h2 {
    font-size: 22px;
    color: #037ece;
    font-weight: 700;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #eef0f5;
}
.login-box label {
    font-size: 13px;
    font-weight: 600;
    color: #444;
    display: block;
    margin-bottom: 4px;
}
.login-box label.lighter {
    display: inline;
    font-weight: 400;
    color: #888;
}
.login-box input[type="text"],
.login-box input[type="password"] {
    height: 38px;
    padding: 0 12px;
    font-size: 14px;
    background: #f7f9fc;
    border: 1.5px solid #dde3ec;
    border-radius: 7px;
    width: 322px;
    -webkit-transition: border-color 0.2s, box-shadow 0.2s;
    transition: border-color 0.2s, box-shadow 0.2s;
    margin-bottom: 10px;
}
.login-box input[type="text"]:focus,
.login-box input[type="password"]:focus {
    border-color: #037ece;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(3,126,206,0.10);
    outline: none;
}
.login-box span.error {
    font-size: 12px;
    color: #c53030;
}
.login-box a.lighter {
    color: #037ece;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
}
.login-box a.lighter:hover {
    text-decoration: underline;
}
.login-box input.button {
    background: linear-gradient(to bottom, #0499da, #0065cd);
    border: none;
    border-radius: 7px;
    height: 40px;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    box-shadow: 0 2px 8px rgba(3,126,206,0.28);
    -webkit-transition: opacity 0.2s, box-shadow 0.2s;
    transition: opacity 0.2s, box-shadow 0.2s;
    width: 330px;
    margin-top: 2px;
}
.login-box input.button:hover {
    opacity: 0.9;
    box-shadow: 0 4px 14px rgba(3,126,206,0.36);
    background-image: none;
    background-color: #0065cd;
}
.login-box .horizontalLine {
    border-bottom: 1px solid #eef0f5;
    margin: 4px 0;
}
.login-box a.button.grey {
    background: #f4f5f7;
    background-image: none;
    border: 1.5px solid #cdd3de;
    border-radius: 7px;
    color: #444 !important;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 16px;
    -webkit-transition: border-color 0.2s, background 0.2s;
    transition: border-color 0.2s, background 0.2s;
    box-shadow: none;
    text-shadow: none;
    margin-left: 8px;
}
.login-box a.button.grey:hover {
    background: #e8eaf0;
    border-color: #037ece;
    color: #037ece !important;
    background-image: none;
}
.red-boxdisabled p{
padding-right: 10px;
}



.red-box{
border: 1px solid #B70E0C;
margin-bottom: 20px;
-webkit-border-radius: 5px;
border-radius: 5px;
background-color: white;
}
.red-box h2{
background-color: #B70E0C;
color: white !important;
font-size: 20px;
padding: 0px 15px;
height: 32px;/*56*/

}
.red-box p{
padding-right: 10px;
}

.borderedDIV
{
    border: 1px solid #cccccc; 
    padding: 5px 5px 5px 5px; 
    margin: 0px 0px 0px 0px;
}

.grey-box
{
    border: 1px solid #808080;
    background-color: #797979;
    color: white !important;
    font-size: 100%;
    height: 22px;
    text-align: center;
}

.ImageBox {
	text-align: center;
	position: relative;
}

.NewDesign {
z-index: 100;
position: absolute;
height: 55px;
right: 0px;
top: 0px;
}


.PaymentLogo {
	width: 272px;
	height: 99px;
}


.YouTubeGallery
{
    z-index: 100;
    width: 160px;

}

.sticky
    {
        background-color:#DDDDDD;
        position:absolute;
        right:0; 
        top:110px;
        margin-right: 5px;
        z-index: 100;
        width: 192px;
        border:1px solid #727272; 
        padding:0 10px; 
        -webkit-border-radius:5px; 
        -moz-border-radius:5px; 
        border-radius:5px;
        }

.stickyButton
    {
        background-color:transparent;
        position:absolute; 
        right: 210px; 
        top: 150px;
        margin-right: 5px;
        z-index: 99;
        width: 30px;
        height: 30px;
        padding:0px;
        -webkit-box-shadow:0 0 20px #016DCF; 
        -moz-box-shadow: 0 0 20px #016DCF; 
        box-shadow:0 0 20px #016DCF;
    }


/*THESE ARE NECESSARY TO PREVENT FB TO SLIDE UNDERNEATH THE OTHER OBJECTS*/
.fb-like { z-index: 9999; }
.fbpdl { z-index: 9999 !important; width:500px;
overflow: visible;
}
.pam { z-index: 9999 !important; width:500px;
overflow: visible;
}
.execphpwidget
{ z-index: 9999 !important; width:500px;
overflow: visible;
}
.fb-like span { z-index: 9999 !important; width:500px !important;
overflow: visible;
}
/*THESE ARE NECESSARY TO PREVENT FB TO SLIDE UNDERNEATH THE OTHER OBJECTS*/
    
   @-webkit-keyframes greenPulse {
  from { background-color: #749a02; -webkit-box-shadow: 0 0 9px #333; }
  50% { background-color: #91bd09; -webkit-box-shadow: 0 0 18px #91bd09; }
  to { background-color: #749a02; -webkit-box-shadow: 0 0 9px #333; }
} 
  div.green.button {
  -webkit-animation-name: greenPulse;
  -webkit-animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
} 
    
/* 2013-12-04 */
.divWaiting
{
  
position: fixed;
background-color: #016dcf;
z-index: 2147483647 !important;
opacity: 0.8;
overflow: hidden;
text-align: center; top: 0; left: 0;
height: 100%;
width: 100%;
padding-top:20%;
}

.initiallyHidden { display: none; }


.PrivacyLaw {
	width:100%; 
	height:50px; 
	background-color:#1570A6; /* CUSTOM STILE */
	display:none; 
	z-index:+300; 
	position:absolute; 
	top:0px;
    text-align:center; 
}

.OverlayMandatoryDIV{
	background:#000;
	position:fixed;
	top:0px;
	bottom:0px;
	left:0px;
	right:0px;
	z-index:100;
	cursor:pointer;
	/*Transparence cross browser */
	opacity: .6; 
	filter: alpha(opacity=0);
	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";   

}
.CloseButtonWhite {
right:25px;
position:absolute;
top:20px;
}
.hiddencol {
	display: none;
}

.colPrice {
	text-align: right!important;
}


/* ================================================================
   HEADER — redesign moderno + responsive
   ================================================================ */

/* ── Header modernizzato: stile professionale B2B ── */
#header {
    background: #ffffff !important;
    background-image: none !important;
    min-height: 0 !important;
    text-align: left !important;
    color: #1a202c;
    font-size: 13px;
    font-weight: 400;
    border-bottom: 1px solid #e2e8f0 !important;
    box-shadow: 0 1px 4px rgba(0,0,0,0.07), 0 2px 12px rgba(0,0,0,0.04) !important;
    width: 100%;
    box-sizing: border-box;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 999;
    -webkit-transition: background 0.28s ease, box-shadow 0.28s ease;
            transition: background 0.28s ease, box-shadow 0.28s ease;
}
/* Glass / frosted effect when scrolled */
#header.hdr-scrolled {
    background: rgba(255, 255, 255, 0.78) !important;
    -webkit-backdrop-filter: blur(16px) saturate(180%);
            backdrop-filter: blur(16px) saturate(180%);
    box-shadow: 0 4px 28px rgba(0,0,0,0.10), 0 1px 4px rgba(0,0,0,0.06) !important;
    border-bottom-color: rgba(226,232,240,0.55) !important;
}
#header.hdr-scrolled .hdr-main {
    background: transparent !important;
}
/* Azzera override del vecchio grid nell'header */
#header .container_16,
#header .grid_3,
#header .grid_11,
#header .prefix_11 {
    width: auto !important;
    max-width: none !important;
    padding-left: 0 !important;
}

/* ── Barra principale unificata: logo | nav | lingua | login ── */
.hdr-main {
    background: #ffffff;
}
.hdr-main-inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 32px;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 72px;
    gap: 20px;
}

/* Lingua + login (destra) */
.hdr-actions {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}

/* ── Language toggle pill (sliding knob) ── */
.lang-toggle {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    width: 80px;
    height: 32px;
    border-radius: 16px;
    background: #f1f5f9;
    border: 1.5px solid #e2e8f0;
    cursor: pointer;
    overflow: visible;
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
/* Sliding knob */
.lang-toggle::after {
    content: '';
    position: absolute;
    top: 3px;
    left: 3px;
    width: 36px;
    height: 24px;
    border-radius: 12px;
    background: #037ece;
    box-shadow: 0 2px 8px rgba(3,126,206,0.55);
    -webkit-transition: -webkit-transform 0.28s cubic-bezier(0.34,1.3,0.64,1);
            transition: transform 0.28s cubic-bezier(0.34,1.3,0.64,1);
    -webkit-transform: translateX(0);
            transform: translateX(0);
    z-index: 0;
}
/* EN active: slide knob right */
.lang-toggle.lt-en::after {
    -webkit-transform: translateX(37px);
            transform: translateX(37px);
}
/* IT active: knob stays left (default) */
.lang-toggle.lt-it::after {
    -webkit-transform: translateX(0);
            transform: translateX(0);
}
/* Labels */
.lt-label {
    position: absolute;
    top: 0;
    width: 40px;
    height: 32px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.8px;
    z-index: 1;
    -webkit-transition: color 0.22s;
            transition: color 0.22s;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    pointer-events: none;
}
.lt-label-it { left: 0; }
.lt-label-en { right: 0; }
/* Active label = white on blue knob, inactive = muted gray */
.lang-toggle.lt-it .lt-label-it { color: #ffffff; }
.lang-toggle.lt-it .lt-label-en { color: #94a3b8; }
.lang-toggle.lt-en .lt-label-en { color: #ffffff; }
.lang-toggle.lt-en .lt-label-it { color: #94a3b8; }
/* Bottoni originali nascosti — solo per postback */
.ls-hidden-btn {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
    width: 0 !important; height: 0 !important;
    overflow: hidden !important;
}

/* Nascondi il blocco username/logout iniettato da ECommerce.master nel MenuContent */
#header .hdr-actions .grid_4,
#header .hdr-actions [class*="prefix_"],
#header .userbar,
#header .loginview {
    display: none !important;
}

/* Logo */
#logo, .hdr-logo {
    height: auto !important;
    overflow: visible;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
}
#logo a, .hdr-logo a {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 14px;
    text-decoration: none !important;
    -webkit-transition: opacity 0.2s;
            transition: opacity 0.2s;
}
#logo a:hover, .hdr-logo a:hover { opacity: 0.82; }
#logo h1 { display: none !important; }
.hdr-brand-name {
    color: #4a5568;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    line-height: 1;
}

/* Navigazione */
#main_menu, .hdr-nav {
    height: auto !important;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
}
#main_menu ul.level_1,
.hdr-nav ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2px;
}
#main_menu ul.level_1 li,
.hdr-nav ul li {
    display: block !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}
#main_menu ul.level_1 li ul { display: none !important; }
#main_menu ul.level_1 li a,
.hdr-nav ul li a {
    display: block;
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 600;
    color: #374151 !important;
    text-decoration: none !important;
    border-radius: 6px;
    white-space: nowrap;
    letter-spacing: 0.1px;
    -webkit-transition: background 0.15s, color 0.15s;
            transition: background 0.15s, color 0.15s;
    position: relative;
}
#main_menu ul.level_1 li a:hover,
.hdr-nav ul li a:hover {
    background: #eff6ff;
    color: #037ece !important;
    text-decoration: none !important;
}

/* ── Ticker notizie — rimosso ── */
.hdr-ticker { display: none !important; }


/* #site-main, clearfix e #form1 > br definiti nella sezione iniziale */

/* ================================================================
   FOOTER — design moderno scuro a due colonne
   ================================================================ */

#footer {
    background: #0d1b2b !important;
    padding: 0 !important;
    border-top: none !important;
    font-size: 12px;
    font-weight: 400;
    color: #8099ad;
    width: 100%;
    box-sizing: border-box;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: auto;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 998;
}

/* padding-bottom rimosso: lo spazio sotto il contenuto è ora gestito
   dal div #ftr-spacer (BBGroup.Master) che si ridimensiona via JS
   in modo responsive seguendo sempre l'altezza reale del footer. */

/* Nascondi tutto nel footer tranne la nostra barra .ftr-bar */
#footer > *:not(.ftr-bar) {
    display: none !important;
}
/* Fallback per elementi vecchi o iniettati da script */
#footer .social_icons,
#footer .prodotti,
#footer .sitemap,
#footer .contacts,
#footer .privacy,
#footer .disclaimer,
#footer h3,
#footer h4,
#footer ul,
[class*="fiducia"],
[id*="fiducia"],
[class*="Fiducia"],
[id*="Fiducia"] {
    display: none !important;
}

/* Barra */
.ftr-bar { width: 100%; }
.ftr-bar-inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 22px 24px;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 6px 10px;
    text-align: center;
}

.ftr-brand {
    font-size: 11px;
    font-weight: 600;
    color: #7a99b3;
    letter-spacing: 0.4px;
    white-space: nowrap;
}
.ftr-sep-v {
    display: inline-block;
    width: 1px;
    height: 12px;
    background: rgba(255,255,255,0.10);
    -ms-flex-negative: 0;
        flex-shrink: 0;
}
.ftr-copy {
    font-size: 11px;
    color: #4a6478;
    white-space: nowrap;
}
/* Left/right divs hidden — content inlined directly in ftr-bar-inner */
.ftr-left, .ftr-right {
    display: contents;
}

/* Separatori · */
.ftr-sep {
    color: #2d4a61;
    font-size: 12px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
}

/* Link Privacy e Note legali */
#footer a,
.ftr-link {
    color: #56b4e0 !important;
    text-decoration: none !important;
    font-size: 11px;
    white-space: nowrap;
    -webkit-transition: color 0.15s;
            transition: color 0.15s;
}
#footer a:hover,
.ftr-link:hover {
    color: #89d3f0 !important;
    text-decoration: none !important;
}
/* Eccezione: ftr-logo-link non usa il colore link */
.ftr-logo-link, .ftr-logo-link:hover {
    color: inherit !important;
}

/* Partita IVA */
.ftr-vat {
    font-size: 11px;
    color: #3d5a6d;
    white-space: nowrap;
}


/* ================================================================
   RESPONSIVE — fluid layout corrections (override 960.css)
   ================================================================ */

/* Images never overflow their container */
img { max-width: 100%; height: auto; }

/* ── Kill fixed pixel widths from 960.css below 960px ─────────── */
@media only screen and (max-width: 960px) {
    /* All 960-grid cells: fluid block, no float, no fixed width */
    .grid_1,  .grid_2,  .grid_3,  .grid_4,
    .grid_5,  .grid_6,  .grid_7,  .grid_8,
    .grid_9,  .grid_10, .grid_11, .grid_12,
    .grid_13, .grid_14, .grid_15, .grid_16 {
        width: auto !important;
        float: none !important;
        display: block !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        clear: both;
    }
    /* Kill prefix/suffix padding */
    [class*="prefix_"] { padding-left: 0 !important; }
    [class*="suffix_"] { padding-right: 0 !important; }
    /* Infragistics tab body: was hardcoded 860px */
    .ajax__tab_body { width: 100% !important; box-sizing: border-box !important; }
    /* content-main: stop floating, remain full-width */
    .content-main { float: none !important; width: 100% !important; }
    /* Tabs: stop floating (they stack above content-main naturally) */
    .tabs { float: none !important; }
}

/* ── Login / register box: fluid on narrow screens ─────── */
@media only screen and (max-width: 720px) {
    .login-box {
        width: 100% !important;
        float: none !important;
        margin: 0 0 20px 0 !important;
        box-sizing: border-box;
    }
    .login-box input[type="text"],
    .login-box input[type="password"] {
        width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* ================================================================
   RESPONSIVE — header e footer
   ================================================================ */

/* Tablet (≤ 900px) */
@media only screen and (max-width: 900px) {
    .hdr-main-inner {
        padding-left: 16px;
        padding-right: 16px;
    }
    .hdr-main-inner { height: 74px; padding-left: 20px; padding-right: 20px; }
    #logo a img, .hdr-logo a img { width: 34px; height: auto; }
    .hdr-brand-name { font-size: 11px; letter-spacing: 2px; }
    #main_menu ul.level_1 li a,
    .hdr-nav ul li a { padding: 8px 14px; font-size: 12px; }
    .ftr-bar-inner { padding: 9px 16px; }
}

/* Mobile grande (≤ 680px) */
@media only screen and (max-width: 680px) {
    .hdr-main-inner {
        height: auto;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        padding-top: 12px;
        padding-bottom: 10px;
        gap: 8px;
    }
    .hdr-brand-name { display: none; }
    #main_menu, .hdr-nav { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }
    #main_menu ul.level_1,
    .hdr-nav ul {
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        gap: 2px;
    }
    .ls-seg { padding: 5px 11px; font-size: 10px; }
    .ftr-bar-inner { padding: 9px 16px; gap: 6px; }
    .ftr-left, .ftr-right { gap: 8px; }
    .ftr-copy, .ftr-vat { white-space: normal; }
    /* Tabs scrollabili su mobile */
    .tabs, .ajax__tab_header {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        width: 100%;
        scrollbar-width: none;
    }
    .tabs::-webkit-scrollbar { display: none; }
    .tabs li, .ajax__tab_header > span { white-space: nowrap; }
    /* Container senza padding extra su mobile */
    .container_12, .container_16 {
        padding-left: 10px;
        padding-right: 10px;
    }
    .content-main { overflow-x: hidden; }
}

/* Mobile piccolo (≤ 420px) */
@media only screen and (max-width: 420px) {
    .hdr-main-inner { padding-left: 12px; padding-right: 12px; }
    #main_menu ul.level_1 li a,
    .hdr-nav ul li a { padding: 7px 10px; font-size: 12px; }
    .ftr-bar-inner { padding: 8px 12px; }
    .ftr-right { -ms-flex-wrap: wrap; flex-wrap: wrap; }
}

/* ================================================================
   LOADING SPINNER — sostituisce roller.gif UpdateProgress
   ================================================================ */
.processMessage {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: 9999;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    background: rgba(13, 27, 43, 0.55);
}
.bb-spinner-wrap {
    background: #ffffff;
    border-radius: 14px;
    padding: 30px 36px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.22);
}
.bb-spinner {
    width: 46px;
    height: 46px;
    border: 4px solid rgba(3, 126, 206, 0.15);
    border-top-color: #037ece;
    border-radius: 50%;
    -webkit-animation: bb-spin 0.75s linear infinite;
            animation: bb-spin 0.75s linear infinite;
}
@-webkit-keyframes bb-spin {
    to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@keyframes bb-spin {
    to { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}

