@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@200;300;400;600;700;900&display=swap');

/*font-family: 'Titillium Web', sans-serif;*/

*{box-sizing: border-box;
}

html, body {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	font-size: 62.2%;
	background: #E7E5E5;
}

a{
	color: #82B93B;
	text-decoration:none;
	font-weight:bold;
}

a:hover{
	color: #3C3B3D; 
	text-decoration:none;
	font-weight:bold;
}

body {
	top:0;
	left:0;
	border:0;
	padding: 0;
	margin: 0;
	text-align: normal;	
	font-family: 'Titillium Web', sans-serif;
	font-size: 1.4rem;
	font-weight: 400;
	color: #4B4B4D;
}

h1{
	position: relative;
	width: 100%;
	border: 0.1rem solid #58585A;
	background: #58585A;
	padding: 0.6rem 2%;
	color: #ffffff;
	font-size: 1.6rem;
	font-weight: 600;
	margin: 2rem 0 1rem 0;
	border-radius: 0.2rem;
}

.textRight{
	text-align: right;
}

.textCenter{
	text-align: center;
}

#sidebar{
	position: fixed;
	top:0;
	left: 0;
	width: 15%;
	height: 100%;
	z-index: 100;
	background: #3C3B3D;
}

#logoTesto{
	position: relative;
	width: 100%;
	height: 6rem;
	background: #3C3B3D;
	color: #ffffff;
	padding: 1.2rem 0 0 0;
	text-align: center;
	font-size: 2rem;			   
}

#menuClose{
	position: relative;
	width: 100%;
	height: 6rem;
	background: #222222;
	color: #ffffff;
	padding: 2rem 5% 0 0;
	cursor: pointer;
	text-align: right;
}

#menuClose #_azioniMenu{
	float: right;
}

/********************************************************/
/* 				Menu									*/
/********************************************************/
@font-face {
	font-family: 'icomoon';
	src:  url('./fonts/icomoon.eot?dez1o0');
	src:  url('./fonts/icomoon.eot?dez1o0#iefix') format('embedded-opentype'),
		url('./fonts/icomoon.ttf?dez1o0') format('truetype'),
		url('./fonts/icomoon.woff?dez1o0') format('woff'),
		url('./fonts/icomoon.svg?dez1o0#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

[class^="icon-"], [class*=" icon-"]{
	font-family: 'icomoon' !important;
	speak: never;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.icon-ico_home:before {
	content: "\e900";
	
}

#menu{
	position: relative;
	margin: 0rem;
	overflow-y: auto;
}
 
/* primo livello*/
#menu > ul{
	position: relative;
	top: 0px;
	right: 0px;
	margin: 0 auto; 
	padding: 0px 0px 0px 0px;
	list-style-type: none;
	font-size: 1.4rem;
}

#menu > ul > li{
	position: relative;
	top: 0;
	left: 0;
	text-align: left;
	width: 100%;
}

.iconMenu{
	color: #82B93B;
}

#menu > ul > li .fa{
	color: #82B93B;
	font-size: 1.8rem;
}

.voceMenu{
	padding: 0 0 0 0.4rem;
}

#menu > ul > li:hover{
	background: #ffffff;
}

#menu > ul > li:hover .iconMenu{
	color: #3C3B3D;
}

#menu > ul > li .espandiMenu{
	position: relative;
	float: right;
	text-decoration: none;
	padding: 1.2rem 0%;
	color: #ffffff;
	font-weight: normal;
	width: 20%;
	text-align: center;
    overflow: hidden;
    transition-duration: 0.8s;
    transition-property: transform;
}

.espandiMenuUp{
    transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
}

#menu > ul > li:hover .espandiMenu{
	color: #000000;
}

#menu > ul > li:hover a{
	color: #000000;
}

#menu > ul > li a{
	position: relative;
	float: left;
	text-decoration: none;
	padding: 1.2rem 5%;
	color: #ffffff;
	font-weight: 400;
	width: 80%;
	display: block;
}

#menu > ul > li a:hover{
	color: #000000;
	text-decoration: none;
}

#menu > ul > li.corrente {
	color: #82B93B !important;;
}

#menu > ul > li.noClick{
	padding: 1.2rem 20% 1.2rem 5%;
	font-weight: 400;
	width: 100%;
	display: block;
	float: left;
}

#menu > ul > li.corrente2 {
	background: #E7E5E5;
}

#menu > ul > li.corrente2 a{
	color: #3C3B3D;
}

.colorSvg{
	fill: red;
	width: 2rem;
	height: 2rem;
}

/*secondo livello*/
#menu li ul{
	position: relative;
	top: 100%;
	list-style-type: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
	width: 100%;
	font-weight: normal;
	display: none;
}

#menu li:hover ul{
	z-index: 100;
}

#menu > ul ul > li{
	position: relative;
	width: 100%;
}

#menu > ul ul > li a{
	position: relative;
	float: none;
	width: 100%;
	text-align: left;
	padding: 0.5rem 0 0.5rem 10%; 
	color: #ffffff;
	font-weight: normal;
	display: block;
}

#menu > ul ul > li a:hover{
	text-decoration:none;
	color: #ffffff;
}

#menu > ul ul > li:hover{
	background: #444444;
}

#menu > ul ul > li:hover .iconMenu{
	color: #ffffff;
}

@media (max-width: 767px){
	#menu > ul > li a{
		padding: 1.8rem 5%;
	}
	
	#menu > ul > li .espandiMenu{
		padding: 1.8rem 5%;
	}

	#menu > ul ul > li a{
		padding: 1.2rem 0 1.2rem 10%; 
	}
}

#contenitore{
	position:relative;
	min-height:100%;
	width: 85%;
	left: 15%;
	z-index: 90;
}

#testata{
	position: fixed;
	top:0;
	right: 0;
	width: 85%;
	height: 6rem;
	background: #58585A;
	color: #ffffff;
	z-index: 100;
	padding: 1rem 2%;
}

#_azioniMenu{
	position: relative;
	float: left;
	margin: 1rem 1% 0 1%;
	cursor: pointer;
}

#logo{
	position: relative;
	float: right;
	margin: 0rem 2rem 0 0;
}

#logo img{
	height: 4rem;
	display: block;
}

#utente{
	position: relative;
	float: right;
	margin: 1rem 2rem 0 0;
}

#utenteCerchio{
	position: relative;
	float: right;
	margin: 0.5rem 1rem 0 0;
	border: 0.1rem solid #E7E5E5;
	border-radius: 4rem;
	background: #E7E5E5;
	color: #58585A;
	font-size: 1.8rem;
	font-weight: 600;
	text-align: center;
	height: 3rem;
	width: 3rem;
	text-transform: uppercase;
}

#corpo{
	position: relative;
	width: 100%;
	top: 0;
	left: 0;
	padding: 7rem 2% 5rem 2%;
}

#fine{
	position: absolute;
	bottom: 0;
	background: #58585A;
	width: 100%;
	color: #ffffff;
	z-index: 100;
}

#fineTesto{
	padding: 1rem 2%;
	text-align: right;
	font-weight: 300;
}
	
@media only screen and ( max-width: 767px){

	#sidebar{
		position: absolute;
		left: -60%;
		width: 60%;
	}
	
	#_azioniMenu{
		position: relative;
		float: left;
		margin: 1rem 1% 0 1rem;
		cursor: pointer;
	}

	#contenitore{
		width: 100%;
		left: 0%;
	}
	
	#testata{
		width: 100%;
	}
}

/********************************************************/
/* 				Form generica							*/
/********************************************************/
form label{
	position: relative;
	width: 100%;
	padding: 0;
	font-weight: bold;
	padding-top: 0.4rem;
}

form input[type="text"], form input[type="password"], form textarea, form select{
	position: relative;
	width: 100%;
	border: 0.1rem solid #ccc;
	padding: 0.8rem 1%;
	border-radius: 0.2rem;
	margin: 0 0 1.6rem 0;
	font-size: 1.6rem;
}

form input[type="text"]:focus, form input[type="password"]:focus, form textarea:focus, form select:focus{
	border: 0.1rem solid #82B93B;
	box-shadow: 0.1rem 0.1rem 0.4rem #c8c8c8;
	outline: none;
}

form textarea{
	min-height: 10rem;
	font-family: 'Titillium Web', sans-serif;
	font-size: 1.2rem;
	color: #444444;
}

form select{
	color: #444444;
}

form input[type='radio'], input[type='checkbox'] {
	cursor: pointer;
	margin: 5px 0;
}

form input[type="submit"], form input[type="reset"]{
	display: block;
	padding: 1rem 0;
	border: 0.1rem solid #82B93B;
	border-radius: 0.2rem;
	background: #82B93B;
	color: #ffffff;
	cursor: pointer;
	transition: background 0.4s, color 0.4s;
	font-weight: 600;
	font-size: 1.2rem;
	text-align: center;
}

form input[type="submit"]:hover, form input[type="reset"]:hover{
	background: #ffffff;
	color: #3C3B3D;
	border: 0.1rem solid #82B93B;
}

.errore{
	color: #cf3838;
}

.errore form input[type="text"]{
	border: 0.1rem solid #cf3838!important;
	color: #cf3838;
}

#sfondoAzionePop{
	position: fixed;
	top: 0%;
	left: 0%;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	z-index: 1999;
}

#msgAzionePop{
	position: fixed;
	top: 45%;
	left: 40%;
	width: 20%;
	height: 10%;
	border: 0.1rem solid #82B93B;
	background: #ffffff;
	text-align: center;
	font-weight: 600;
	z-index: 2000;
	padding-top: 1.6rem;
}

span.errore{
	font-size: 1.1rem; 
	color: #cf3838;
}

.tabellaAjax{
	position: relative;
	width: 100%;
	border: 0.1rem solid #cccccc;
	padding: 1rem;
	background: #ffffff;
}

.campoForm{
}

.campoImg{
	position: relative;
	float: left;
	width: 60%;
	border: 0.1rem solid #cccccc;
	text-align: center;
}

.campoImg img{
	height: 14.8rem;
	display: inline-block;
}

.campoImgCarica{
	position: relative;
	float: left;
	width: 40%;
	height: 15rem;
	background: #82B93B;
	color: #ffffff;
	border: 0.1rem solid #82B93B;
	text-align: center;
	padding-top: 3rem;
	cursor: pointer;
	transition: background 0.4s, color 0.4s;
}

.campoImgCarica:hover{
	background: #ffffff;
	color: #82B93B;
}

.campo3d{
	position: relative; 
	float: left; 
	width: 60%; 
	height: 150px; 
	border: 1px solid #cccccc;
}

.campo3dCarica{
	position: relative;
	float: left;
	width: 40%;
	height: 15rem;
	background: #82B93B;
	color: #ffffff;
	font-weight: 700;
	border: 0.1rem solid #82B93B;
	text-align: center;
	padding-top: 3rem;
	cursor: pointer;
	transition: background 0.4s, color 0.4s;
}

.campo3dCarica:hover{
	background: #ffffff;
	color: #82B93B;
}

/************************************************/
/* 				Tasti							*/
/************************************************/
.tasto{
	display: block;
	padding: 1rem 0;
	border: 0.1rem solid #82B93B;
	border-radius: 0.2rem;
	background: #82B93B;
	color: #ffffff;
	cursor: pointer;
	transition: background 0.4s, color 0.4s, border 0.4s;
	font-weight: 600;
	font-size: 1.4rem;
	text-align: center;
}

.tasto:hover{
	background: #ffffff;
	color: #3C3B3D;
	border: 0.1rem solid #82B93B;
}

.chiudiSottoRiga{
	posizion: relative;
	float: right;
	padding: 1rem;
	border: 0.1rem solid #82B93B;
	border-radius: 0.2rem;
	background: #82B93B;
	color: #ffffff;
	cursor: pointer;
	transition: background 0.4s, color 0.4s, border 0.4s;
	font-weight: 600;
	font-size: 1.4rem;
	text-align: center;
	margin: 1rem 0% 1rem 2%;
}

.chiudiSottoRiga:hover{
	background: #ffffff;
	color: #3C3B3D;
	border: 0.1rem solid #82B93B;
}

.tasto30{
	position: relative;
	width: 32%;
	float: left;
	margin: 1rem 1% 1rem 0%;
}

.tasto50{
	position: relative;
	width: 49%;
	float: left;
	margin: 1rem 1% 1rem 0%;
}

.tasto100{	
	position: relative;
	width: 100%;
	float: none;
	margin: 1rem 0 1rem 0;
}

.tastoUltimo{
	margin: 1rem 0;
}

/************************************************/
/* 				Login							*/
/************************************************/
#login{
	position: relative;
	width: 80%;
	max-width: 30rem;
	margin: 0 auto;
	border: 0.1rem solid #58585A;
	border-radius: 0.2rem;
	background: #58585A;
	color: #ffffff;
	padding: 1rem 2%;
	margin-top: 4rem;
	text-align: center;
}

#loginMessaggio{
	position: relative;
	width: 80%;
	max-width: 30rem;
	margin: 0 auto;
	border: 0.1rem solid #58585A;
	background: #58585A;
	color: #ffffff;
	padding: 1rem 2%;
	margin-top: 4rem;
	text-align: center;
}

/************************************************/
/* 				Tabelle							*/
/************************************************/
.bordoTabella{
	position: relative;
	border: 0.1rem solid #E7E5E5;
	border-radius: 0.4rem;
	background: #ffffff;
}

.rigaTitoli{
	position: relative;
	width: 100%;
	padding: 0.8rem 0;
	font-weight: 600;
	text-transform: uppercase;
	color: #58585A;
	display: flex;
	border-bottom: 0.4rem solid #58585A;
	/*border: 0.1rem solid red;*/
}

.riga{
	position: relative;
	width: 100%;
	border-bottom: 0.1rem solid #E7E5E5;
	padding: 0.8rem 0;
}

.sottoRiga{
	position: relative;
	width: 96%;
	margin: 1rem 2%;
	padding: 1rem;
	box-shadow: 0.2rem 0.2rem 1rem #58585A;
	background: #ffffff;
}

.riga:hover{
	border-bottom: 0.1rem solid #82B93B;
	background: #f8f8f8;
}

.box{
	float:left;
	padding: 0.4rem 1%;
	/*border: 0.1rem solid red;*/
}

.boxCenter{
	text-align: center;
}

.boxRight{
	text-align: right;
}

/*bisogna inserire il vertical per le colonne che si vogliono ruotare e il Normal per le colonne che non si vogliono ruotare*/
.boxVertical{
	align-self: flex-end;
	writing-mode: vertical-rl;
	text-orientation: sideways-right;
	transform: rotate(180deg);
	display: flex;
	align-items: center;
	justify-content: center;
}

.boxNormal{
	display: inline-block;
	align-self: flex-end;
}

.box img{
	display: inline-block;
	height: 5rem;
}

.boxImgPadding{
	padding-top: 2rem;
}

.riga i{
	margin: 0 0.4rem;
	padding: 0;
	cursor: pointer;
	color: #58585A;
	font-size: 2rem;
}

.riga i:hover{
	color: #82B93B;
}

.box input{
	width: 100%;
}

.box5{
	width: 5%;
}

.box10{
	width: 10%;
}

.box15{
	width: 15%;
}

.box20{
	width: 20%;
}

.box25{
	width: 25%;
}

.box30{
	width: 30%;
}

.box35{
	width: 35%;
}

.box40{
	width: 40%;
}

.box45{
	width: 45%;
}

.box50{
	width: 50%;
}

.box55{
	width: 55%;
}

.box60{
	width: 60%;
}

.box80{
	width: 80%;
}

.box85{
	width: 85%;
}

.box100{
	width: 100%;
}

@media (max-width: 767px){
	.bordoTabella{
		border: 0;
	}
	
	.rigaTitoli{
		display: none;
	}

	.riga{
		position: relative;
		width: 100%;
		border: 0;
		padding: 0;
		margin: 1rem 0;
		border: 0.1rem solid #82B93B;
	}

	.box{
		border-bottom: 0.1rem solid #cccccc;
	}

	.box5, .box10, .box15, .box20, .box25, .box30, .box40, .box50, .box60, .box80, .box100{
		width: auto;
	}
	
	.boxMob20{
		width: 20%;
	}
	
	.boxMob50{
		width: 50%;
	}
	
	.boxMob100{
		width: 100%;
	}
}

/************************************************/
/* 				dettagli						*/
/************************************************/
.dettaglio{
	position: relative;
	padding: 2rem;
	background: #ffffff;
	border: 0.1rem solid #ffffff;
	border-radius: 0.4rem;
}

.dettaglioTitolo{
	position: relative;
	width: 100%;
	padding: 0rem 0 1rem 0;
	margin: 0 0 2rem 0;
	font-weight: 700;
	font-size: 1.8rem;
	border-bottom: 0.3rem solid #82B93B;
}

.dettaglioSx, .dettaglioDx{
	position: relative;
}

.dettaglioSx{
	width: 25%;
	float:left;
}

.dettaglioSx img{
	width: 100%;
	display: block;
	border: 0.1rem solid #E7E5E5;
}

.dettaglioDx{
	width: 70%;
	float:right;
}

.dettaglioCampo50, .dettaglioCampo100{
	position: relative;
	float: left;
	width: 50%;
	padding: 0.6rem 1%;
	color: #58585A;
	font-weight: 300;


}

.dettaglioCampo100{
	float: none;
	width: 100%;
}

.dettaglioValore{
	position: relative;
	width: 100%;
	padding: 0.6rem 0;
	color: #3C3B3D;
	font-weight: 600;
}

.riassuntoImg50{
	width: 48%;
	float:left;
	margin: 0 1%;
}

.riassuntoImg30{
	width: 30%;
	float:left;
	margin: 0 1.5%;
}

.riassuntoImg50 img, .riassuntoImg30 img{
	width: 100%;
	display: block;
	border: 0.1rem solid #E7E5E5;
}

/*
@media (max-width: 767px){
	.dettaglioSx, .dettaglioDx{
		float: none;
		width: 100%;
		margin: 0 0 4rem 0;
	}
}
*/
/************************************************/
/* 				Utilità							*/
/************************************************/
.vuoto {
	clear:both;
}

.visible-mob{
	display: none;
}

@media (max-width: 767px) {
	.visible-mob{
		display: block;
	}
	
	.hidden-mob{
		display: none;
	}
}
