@media screen and (min-width:800px) {

	/* Structure > 800px */
	
	#page { width:100%; margin: 0 auto; }
		
	.table_input_cat  { background-color:#1f7bbe; text-transform:uppercase; font-size:13pt; font-weight:bold; color:#FFFFFF; }
	.table_submit  { background-color:#1f7bbe; }
	.voce_elenco  { BORDER-BOTTOM: #CCCCCC 1px solid; background-color:#FFFFFF; }
	
	#table_input  { float:left; text-align:left; background-color:#FFFFFF; width:100%; }

	.voce_100 { float:left; text-align:left; /* Firefox */width: -moz-calc(100% - 16px); /* WebKit */width: -webkit-calc(100% - 16px);	/* Opera */width: -o-calc(100% - 16px); /* Standard */width: calc(100% - 16px); padding:8px; }
	.voce_90 { float:left; text-align:left; /* Firefox */width: -moz-calc(90% - 16px); /* WebKit */width: -webkit-calc(90% - 16px);	/* Opera */width: -o-calc(90% - 16px); /* Standard */width: calc(90% - 16px); padding:8px; }
	.voce_85 { float:left; text-align:left; /* Firefox */width: -moz-calc(85% - 16px); /* WebKit */width: -webkit-calc(85% - 16px);	/* Opera */width: -o-calc(85% - 16px); /* Standard */width: calc(85% - 16px); padding:8px; }
	.voce_80 { float:left; text-align:left; /* Firefox */width: -moz-calc(80% - 16px); /* WebKit */width: -webkit-calc(80% - 16px);	/* Opera */width: -o-calc(80% - 16px); /* Standard */width: calc(80% - 16px); padding:8px; }
	.voce_75 { float:left; text-align:left; /* Firefox */width: -moz-calc(75% - 16px); /* WebKit */width: -webkit-calc(75% - 16px);	/* Opera */width: -o-calc(75% - 16px); /* Standard */width: calc(75% - 16px); padding:8px; }
	.voce_70 { float:left; text-align:left; /* Firefox */width: -moz-calc(70% - 16px); /* WebKit */width: -webkit-calc(70% - 16px);	/* Opera */width: -o-calc(70% - 16px); /* Standard */width: calc(70% - 16px); padding:8px; }
	.voce_67 { float:left; text-align:left; /* Firefox */width: -moz-calc(67% - 16px); /* WebKit */width: -webkit-calc(67% - 16px);	/* Opera */width: -o-calc(67% - 16px); /* Standard */width: calc(67% - 16px); padding:8px; }
	.voce_60 { float:left; text-align:left; /* Firefox */width: -moz-calc(60% - 16px); /* WebKit */width: -webkit-calc(60% - 16px);	/* Opera */width: -o-calc(60% - 16px); /* Standard */width: calc(60% - 16px); padding:8px; }
	.voce_50 { float:left; text-align:left; /* Firefox */width: -moz-calc(50% - 16px); /* WebKit */width: -webkit-calc(50% - 16px);	/* Opera */width: -o-calc(50% - 16px); /* Standard */width: calc(50% - 16px); padding:8px; }
	.voce_40 { float:left; text-align:left; /* Firefox */width: -moz-calc(40% - 16px); /* WebKit */width: -webkit-calc(40% - 16px);	/* Opera */width: -o-calc(40% - 16px); /* Standard */width: calc(40% - 16px); padding:8px; }
	.voce_33 { float:left; text-align:left; /* Firefox */width: -moz-calc(33% - 16px); /* WebKit */width: -webkit-calc(33% - 16px);	/* Opera */width: -o-calc(33% - 16px); /* Standard */width: calc(33% - 16px); padding:8px; }
	.voce_25 { float:left; text-align:left; /* Firefox */width: -moz-calc(25% - 16px); /* WebKit */width: -webkit-calc(25% - 16px);	/* Opera */width: -o-calc(25% - 16px); /* Standard */width: calc(25% - 16px); padding:8px; }
	.voce_20 { float:left; text-align:left; /* Firefox */width: -moz-calc(20% - 16px); /* WebKit */width: -webkit-calc(20% - 16px);	/* Opera */width: -o-calc(20% - 16px); /* Standard */width: calc(20% - 16px); padding:8px; }
	.voce_15 { float:left; text-align:left; /* Firefox */width: -moz-calc(15% - 16px); /* WebKit */width: -webkit-calc(15% - 16px);	/* Opera */width: -o-calc(15% - 16px); /* Standard */width: calc(15% - 16px); padding:8px; }
	.voce_10 { float:left; text-align:left; /* Firefox */width: -moz-calc(10% - 16px); /* WebKit */width: -webkit-calc(10% - 16px);	/* Opera */width: -o-calc(10% - 16px); /* Standard */width: calc(10% - 16px); padding:8px; }
	
	#colonna_margine  { float:left; text-align:left;  /* Firefox */width: -moz-calc(25% - 16px); /* WebKit */width: -webkit-calc(25% - 16px);	/* Opera */width: -o-calc(25% - 16px); /* Standard */width: calc(25% - 16px); padding:8px; }

	#copyright {width: 99%; float:left; padding:0.5%; text-align:center; color:#FFFFFF; background-color:#333333; position:relative; }
	
	#calendario { position:relative; float:left; width:14.25%; min-width:60px; max-width:180px; text-align:center; font-size:16pt; }
	.nascondi_video { display:none; }
	
	/*** Menu ***/	
	#menu_h { 
		float: left; 
		color: #FFFFFF; 
		background-color: #1f7bbe; 
		height: 60px; 
		width: 100%; /* Garantisce che la barra copra l'intera larghezza */
	}
	
	.menu_h { 
		width: 100%; 
	}
	
	#mainmenu { 
		width: 100%; 
		float: left; 
		position: relative; 
	}
	
	#menu_powerdomus { 
		display: block; 
	}
	
	/*** Menu Principale Dinamico con Flexbox (Opzione Desktop Spazio Equo) ***/
	
	ul#menu_powerdomus { 
		list-style: none; 
		margin: 0; 
		padding: 0; 
		font-size: 15pt; 
		width: 100%; 
		height: 100%; /* Sfrutta tutti i 60px di altezza del contenitore */
		
		display: flex; 
		flex-direction: row;
	} 
	
	/* Voci di primo livello */
	ul#menu_powerdomus > li { 
		margin: 0; 
		padding: 0; 
		position: relative; 
		
		/* Si dividono lo spazio al 100% in parti sempre uguali */
		flex: 1; 
		text-align: center; /* Centra il testo orizzontalmente */
	} 
	
	/* Link di primo livello */
	ul#menu_powerdomus > li > a { 
		display: block; 
		line-height: 60px; /* Centra perfettamente il testo in verticale nei 60px di altezza */
		padding: 0 20px; /* Padding solo laterale per dare respiro al testo */
		color: #FFFFFF; 
		text-transform: uppercase; 
		text-decoration: none; 
		white-space: nowrap; /* Impedisce al testo di andare a capo nella barra principale */
	} 
	
	/* Stato hover dei link di primo livello */
	ul#menu_powerdomus > li > a:hover { 
		color: #FFCC00; 
	} 
	
	/*** I Sottomenu ***/
	ul#menu_powerdomus ul { 
		margin: 0; 
		padding: 0; 
		display: block; 
		list-style: none; 
		opacity: 0; 
		visibility: hidden; 
		position: absolute; 
		top: 100%; /* Si apre esattamente sotto la barra da 60px */
		left: 0; 
		z-index: 9999; 
		background: #444; 
	} 
	
	ul#menu_powerdomus li:hover > ul { 
		opacity: 1; 
		visibility: visible; 
	} 
	
	ul#menu_powerdomus ul li { 
		float: none; 
		display: block; 
		border: 0; 
		text-align: left; 
		font-size: 14pt; 
		width: auto; 
	} 
	
	ul#menu_powerdomus ul a { 
		padding: 12px 15px; /* Padding verticale e orizzontale bilanciato per le tendine */
		width: 240px; 
		display: block; 
		white-space: nowrap; 
		float: none; 
		text-transform: none; 
		color: #ffffff;
		line-height: normal; /* Resetta il line-height di 60px ereditato dal primo livello */
	} 
	
	ul#menu_powerdomus ul a:hover { 
		background-color: #0186ba; 
		color: #ffffff; 
	} 
	
	/* Sottomenu di Terzo Livello (Tendina laterale) */
	ul#menu_powerdomus ul ul { 
		top: 0; 
		left: 240px; /* Si sposta a destra esattamente della larghezza del sottomenu */
		margin: 0; 
	}
	
}

@media screen and (max-width:799px) {

	/* Structure < 800 */
	
	#page { width:100%; margin: 0 auto; }
		
	.table_input_cat  { background-color:#1f7bbe; text-transform:uppercase; font-size:13pt; font-weight:bold; color:#FFFFFF; }
	.table_submit  { background-color:#1f7bbe; }
	.voce_elenco  { BORDER-BOTTOM: #CCCCCC 1px solid; background-color:#FFFFFF; }
	
	#table_input  { float:left; text-align:left; background-color:#FFFFFF; width:100%; }

	.voce_100, .voce_90, .voce_85, .voce_80, .voce_75, .voce_70, .voce_67, .voce_60, .voce_50, .voce_40, .voce_33, .voce_25, .voce_20, .voce_15, .voce_10 { float:left; text-align:left; /* Firefox */width: -moz-calc(100% - 16px); /* WebKit */width: -webkit-calc(100% - 16px);	/* Opera */width: -o-calc(100% - 16px); /* Standard */width: calc(100% - 16px); padding:8px; }
	
	
	#colonna_margine  { display:none;}
	
	#copyright {width: 99%; float:left; padding:0.5%; text-align:center; color:#FFFFFF; background-color:#333333; position:relative; }
			
	#calendario { position:relative; float:left; width:14.25%; max-width:70px; text-align:center; font-size:13pt; }
	.nascondi_video { display:none; }
	
	/*** Menu Mobile con Hamburger ***/
	#menu_h { 
		float: left; 
		color: #FFFFFF; 
		background-color: #333333; 
		width: 100%; 
		position: relative;
	}
	
	.menu_h { 
		width: 100%; 
	}
	
	/* Stile del Pulsante Hamburger (.btn-responsive-menu) */
	.btn-responsive-menu { 
		display: block; 
		padding: 15px;
		color: #ffffff;
		background-color: #222222;
		text-transform: uppercase;
		font-weight: bold;
		cursor: pointer;
		text-align: center;
	}
	
	/* Di base su mobile il menu è completamente NASCOSTO */
	#mainmenu { 
		display: none; 
		width: 100%;
		float: left;
		background-color: #333333;
	}
	
	/* Quando il menu ha la classe .open (gestita via JS), si MOSTRA */
	#mainmenu.open {
		display: block;
	}
	
	/* Contenitore della lista */
	ul#menu_powerdomus {
		margin: 0;
		padding: 0;
		list-style: none;
		float: left;
		width: 100%;
	}
	
	/* Voci di primo livello */
	ul#menu_powerdomus li {
		margin: 0;
		padding: 0;
		display: block;
		float: left;
		border-bottom: 1px solid #222;
		position: relative;
		width: 100%;
	}
	
	/* Link di primo livello */
	ul#menu_powerdomus li a {
		float: left;
		padding: 14px 16px; 
		color: #ffffff;
		text-transform: uppercase;
		text-decoration: none;
		width: 100%;
		box-sizing: border-box; 
	}
	
	ul#menu_powerdomus li a:hover {
		background-color: #0186ba;
		color: #ffffff;
	}
	
	/* Sottomenu (Nascosti di default) */
	ul#menu_powerdomus ul {
		margin: 0;
		padding: 0;
		list-style: none;
		display: none; 
		width: 100%;
		background: #444444;
	}
	
	/* Apertura dei sottomenu (Fisarmonica verticale) */
	ul#menu_powerdomus li:hover > ul,
	ul#menu_powerdomus li.active > ul { /* Predisposto anche per classe .active sui sottomenu */
		display: block; 
	}
	
	/* Voci interne dei sottomenu */
	ul#menu_powerdomus ul li {
		margin: 0;
		float: none;
		display: block;
		border-bottom: 1px solid #555; 
	}
	
	/* Link del sottomenu (Secondo livello) */
	ul#menu_powerdomus ul a {
		display: block;
		float: none;
		padding: 12px 25px; /* Rientro gerarchico */
		text-transform: none;
		white-space: normal; 
		color: #ffffff;
	}
	
	ul#menu_powerdomus ul a:hover {
		background-color: #0186ba;
		color: #ffffff;
	}
	
	/* Sottomenu di Terzo Livello */
	ul#menu_powerdomus ul ul {
		background: #222222;
	}
	
	ul#menu_powerdomus ul ul a {
		padding: 12px 40px; /* Ulteriore rientro */
	}

		
}