
	* {
		box-sizing: border-box;
	}

	/* html */
	body {
		font-family: Verdana, Geneva, sans-serif;
		font-size: 10px;
		margin: 0;
		padding: 0;
	}
	
	a:active, a:link, a:visited {
		font-weight: bold;
		text-decoration: none;
	}
	a:hover {
		text-decoration: underline;
	}
	a>* {
		cursor: pointer;
	}

	form {
		position: relative;
		margin: auto;
		text-align: center;
		padding: 10px;
		width: 100%;
		min-height: 400px;
		/*background: url("../images/natale11.png") no-repeat top right;*/
	}

	label {
		white-space: nowrap;
		cursor: pointer;
	}

	/* button */
	.btnlike, button {
		position: relative;
		overflow: hidden;
		padding: 15px;
		width: 20em;
		font-size: 1.3em;
		text-shadow: 0 1px 1px #fff;
		box-shadow: inset 0 -4px 10px 0px #607d8b;
		border-radius: 1em;
		border: none;
		color: #b00;
		cursor: pointer;
		background-repeat: no-repeat;
		background-position: 1em center;
	}
	button:hover {
		text-decoration: underline;
		color: #f00;
	}
	button.simple {
		background: transparent;
		border: none;
		width: auto;
		padding: 0;
	}
	
	button:active {
		box-shadow: inset 5px 6px 14px 0px #607d8bb8;
		transform: translate(3px,3px);
	}

	/* button disabilitato */
	button:disabled {
		color: #777;
	}
	button:disabled:hover {
		box-shadow: unset !important;
	}
	button i {
		color: #bbb;
		transition: 0.8s;
	}
	button:hover.ok i, button:hover.yes i {
		color: #0d0;
	}
	button:hover.no i, button:hover.cancel i {
		color: #e00;
	}

	button[type=button], button[type=submit], button[type=reset], input[type=button] {
		background-position: 95% center !important;
		background-repeat: no-repeat;
	}
	button[type=button], button[type=submit] {
		background-image: url("../images/accetta.png");
	}
	button[type=button].salva, button[type=submit].salva, input[type=button].salva {
		background-image: url("../images/disk.png");
	}
	button[type=button].stampa, button[type=submit].stampa {
		background-image: url("../images/stampante-small.png") !important;
	}
	button[type=button].upload, button[type=submit].upload {
		background-image: url("../images/upload3.png") !important;
	}
	button[type=button].invia, button[type=submit].invia, input[type=button].invia {
		background-image: url("../images/send.png");
	}
	button[type=reset] {
		background-image: url("../images/x-rossa.png");
	}

	input[type=button] {
		border: 0;
		padding: 10px 60px;
		font-size: 16px;
		text-align: center;
		color: #fff;
		text-shadow: -1px -1px 3px #777;
		border-radius: 10px;
		background-color: #001dee;
		background-image: linear-gradient(to top left, rgba(0,0,0,.2), rgba(0,0,0,.2) 30%, rgba(0,0,0,0));
		box-shadow: inset 2px 2px 3px rgba(255,255,255,.6), inset -2px -2px 3px rgba(0,0,0,.6);
		cursor: pointer;
	}
	input[type=button]:focus {
		background-color: #999;
	}
	input[type=button]:hover {
		background-color: rgb(255,0,0);
	}
	input[type=button]:active {
		box-shadow: inset -2px -2px 3px rgba(255,255,255,.6), inset 2px 2px 3px rgba(0,0,0,.6);
	}
	
	input[type=file] {
		width: 50%;
	}
	input[type=radio], input[type=checkbox] {
		margin-right: 5px;
		width: 20px;
		height: 20px;
		vertical-align: sub;
	}
	input[type=number] {
		text-align: right;
	}
	select, textarea, input {
		background-color: #fff;
		padding: 6px;
		border-radius: 6px;
		font-family: Arial;
		font-size: 14px;
		cursor: pointer;
	}
	option {
		font-family: Arial;
		font-size: 14px;
	}
	
	input:disabled+label, select:disabled, textarea:disabled, input:disabled {
		cursor: default !important;
	}
	select:required, textarea:required, input:required {
	}
	
	li, p {
		text-align: justify;
	}
	
	div {
	}
	
	span {
	}

	img {
		border: 0;
		vertical-align: middle;
	}
	
	table {
		width: 100%;
		margin: auto;
		text-align: center;
		font-family: Verdana, Geneva, sans-serif;
		font-size: 12px;
		border: 0;
	}
	table.bordo_intorno {
		border: 1px solid;
		border-radius: 12px;
		box-shadow: 0 0 10px 1px #FEFED4;
	}
	table.bordo_sopra {
		border-top: 1px dotted;
	}
	table.bordo_sotto {
		border-bottom: 1px dotted;
	}
	
	thead th, tfoot th {
		font-weight: normal;
		text-align: left;
		padding: 1px 4px 1px 4px;
		border-radius: 2px;
	}
	thead th {
		padding: 5px 8px 2px 8px;
		font-size: 11px;
		font-style: italic;
	}
	thead td, tfoot td {
		text-align: left;
		padding: 4px 4px 3px 2px !important;
	}
	thead th.noord, thead td.noord {
	}
	thead th.ord, thead td.ord {
		cursor: pointer;
	}
	
	tbody td {
		position: relative;
		text-align: left;
		padding-left: 2px;
		padding-right: 2px;
	}
	tbody td.dx {
		text-align: right;
	}
	tbody td.ct {
		text-align: center;
	}

	tfoot th {
		font-size: 9px;
		font-style: italic;
		background-color: #efefef;
		padding: 1px;
	}

	.elenco {
		border-collapse: separate;
		border-spacing: 1px;
	}
	.elenco th.cmd {
		width: 1%;
	}
	.elenco tbody a:active, .elenco tbody a:link, .elenco tbody a:visited {
		font-weight: bold;
	}
	.elenco p {
		text-align: justify;
		margin: 0;
		font-style: italic;
	}
	.elenco td.cmd {
		white-space: nowrap;
		text-align: center;
	}
	.elenco td.cmd img {
		padding-left: 3px;
		padding-right: 3px;
	}
	.elenco>tbody>tr:last-of-type>td {	/* solo i diretti discedenti di elenco e non gli eventuali table annidati */
		border-bottom: 1px solid;
	}
	.elenco tbody td {
		position: relative;
		padding: 5px;
	}
	.elenco tbody td.num {
		text-align: right;
		padding-left: 0 !important;
		padding-right: 4px;
	}

	/* marcatore del record corrente */
	.elenco tbody.markId tr:first-of-type>td:first-of-type::before {
		content: '\f0da';
		font-family: 'FontAwesome';
		z-index: 1;
		font-size: 35px;
		position: absolute;
		color: #f00;
		left: 1px;
		top: -13px;
		transform: rotateZ(225deg);
	}

	table.info {
		padding-top: 10px;
	}
	table.info .num {
		color: #E3AB02;
		font-weight: bold;
		padding-left: 10px;
	}
	table.info .separ {
		padding-left: 10px;
		padding-right: 10px;
	}
	table.info .virgola {
		padding-right: 5px;
	}


	.sx {
		text-align: left !important;
		padding-left: 2px !important;
		padding-right: 2px !important;
	}
	.js {
		text-align: justify !important;
		padding-left: 2px !important;
		padding-right: 2px !important;
	}
	.dx {
		text-align: right !important;
		padding-left: 2px !important;
		padding-right: 2px !important;
	}
	.ct {
		text-align: center !important;
		padding-left: 2px !important;
		padding-right: 2px !important;
	}
		

	.bgtrasp {
		background-color: transparent;
	}
	.hide {
		display: none;
	}
	
	
	/* barra dei messaggi */
	#msgbar  {
		z-index: 999;
		margin: auto;
		text-align: center;
		font-weight: bold;
		padding: 1em;
		font-size: 1.2em;
		color: #f00;
		background-color: #fff;
		margin-top: 1em;
		margin-bottom: 1em;
		animation-name: msgbarkf;
		animation-duration: 1s;	
		animation-timing-function: ease;	
		border: 4px solid;
		border-radius: 1em;
	}
@keyframes msgbarkf {
	0% {
		transform: translateY(-100%);
	}
	50%{
		transform: translateY(8%);
	}
	65%{
		transform: translateY(-4%);
	}
	80%{
		transform: translateY(4%);
	}
	95%{
		transform: translateY(-2%);
	}			
	100% {
		transform: translateY(0%);
	}	
}	
	
	#registra {
		width: 100%;
		text-align: center;
		padding-top: 5px;
		padding-bottom: 10px;
	}


	.home {
		margin: 5px;
	}
	.home .data {
		padding-right: 15px;
		text-align: right;
		font-weight: bold;
	}
	
	
	.filtri {
		padding: 10px;
	}
	.filtri td {
		padding-bottom: 10px;
	}
	.filtri .descr {
		width: 10%;
		padding-right: 15px;
		text-align: right;
		font-style: italic;
		white-space: nowrap;
	}
	.filtri .cerca {
		text-align: right;
		white-space: nowrap;
	}
	.filtri .separ {
		margin-right: 12px;
		font-weight: bold;
	}
	.filtri label {
		margin-right: 10px;
	}
	.filtri input {
		margin-right: 6px;
	}
	.filtri cite, .cerca cite {
		margin-left: 15px;
		margin-right: 10px;
	}
	.filtri input[type=submit], .filtri input[type=reset] {
		background-position: center;
		width: 25px;
		height: 25px;
	}

	
	.barra_titolo {
		padding-top: 10px;
		padding-bottom: 10px;
		white-space: nowrap;
	}
	.barra_titolo .titolo {
		font-size: 14px !important;
	}
	.barra_titolo .titolo, .barra_titolo .comandi, .barra_titolo .links, .barra_titolo .cerca {
		width: 33%;
		padding-left: 5px;
		padding-right: 5px;
	}
	.barra_titolo .comandi {
		text-align: center;
	}
	.barra_titolo .comandi a {
		padding-right: 20px;
	}
	.barra_titolo .links,
	.barra_titolo .cerca {
		text-align: right;
		padding-bottom: 5px;
	}
	.barra_titolo .cerca input {
		margin-left: 5px;
		margin-right: 5px;
	}
	.barra_titolo strong {
		padding-left: 7px;
		padding-right: 7px;
		color: #d90;
	}
	.barra_titolo img {
		vertical-align: middle;
	}
	
	

	/* home area riservata */
	.homearea {
	}

	.homearea .areas {
		padding: 0 25px 10px 0;
	}
	.homearea .areas td {
		text-align: right;
	}
	.homearea li {
		padding: 3px 0 3px 0;
		margin: 5px 0 5px 15px;
	}
	.homearea .menu {
		margin-top: 20px;
	}
	.homearea .benvenuto .saluto, .homearea .benvenuto .titolo  {
		font-size: 14px;
	}
	.homearea .benvenuto .saluto span, .homearea .benvenuto .titolo span  {
		font-weight: bold;
	}
	.homearea .benvenuto .signor {
		font-style: italic;
		font-weight: bold;
		color: #fa0;
	}

	.presentazione {
		padding: 25px;
	}
	.presentazione .testo {
		text-align: center;
		font-size: 12px;
	}
	.presentazione .signor {
		font-style: italic;
		font-weight: bold;
	}
	.presentazione p {
		margin-top: 5px;
	}

	/* scheda */
	table.scheda, table.info {
		width: 97%;
		min-width: 500px;
		padding: 2px;
		margin-bottom: 5px;
	}
	table.info {
		border-color: #0b0 !important;
		margin-top: 15px;
	}
	table.scheda table, table.innerscheda {
		margin: 0;
		padding: 0;
		border-spacing: 1px;
	}
	table.transparent {
		box-shadow: none;
		background-color: transparent;
		border: none;
	}
	table.scheda tbody td {
		padding-top: 5px;
		padding-bottom: 5px;
	}
	table.scheda>tbody>tr>td:first-of-type,
	table.innerscheda>tbody>tr>td:first-of-type,
	table.scheda>thead>tr>th:first-of-type,
	table.innerscheda>thead>tr>th:first-of-type {
		font-size: 12px;
		min-width: 250px;
		width: 250px;
		text-align: right;
		font-style: italic;
		padding-right: 5px;
	}
	td.innerscheda {		/* questo td ospiterà una table */
		padding: 0 !important;
		font-style: initial !important;
	}
	table.scheda>tbody>tr>td:first-of-type i,
	table.innerscheda>tbody>tr>td:first-of-type i,
	table.scheda>thead>tr>th:first-of-type i,
	table.innerscheda>thead>tr>th:first-of-type i {
		white-space: nowrap;
	}


	/* elemento fittizio per il nowrap */
	nbs {
		white-space: nowrap;
	}

	/* info scheda */
	.scheda .infoscheda {
		color: #888;
	}


	/* immagine loading */
	.loading::before {
		content: "";
		position: absolute;
		margin: auto;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		width: 4.0rem;
		height: 4.0rem;
		animation: spin 0.6s linear infinite;
		border-width: .4rem;
		border-color: #000 transparent;
		border-style: dotted;
		border-radius: 50%;
	}
	@keyframes spin {
		from {
			transform: rotate(0deg);
		}
		to {
			transform: rotate(360deg);
		}
	}
