* {
	box-sizing: border-box;
}

BODY {
	padding: 0 0 40px 0;
	margin: 0;
	font: normal 14px arial;
	color: black;
	overflow: auto;
    background: #e5efe4;
}
H4 {
	text-align: center;
	font-size: 16px;
}
H5 {
	margin: 5px 0 0 0;
	font-size: 14px;
	text-align: center;
}

PRE {
	text-align: left;
}

FIELDSET {
	border: solid 1px silver;
	margin-bottom: 1em;
}
FIELDSET LEGEND {
	font-size: .8em;
}

BUTTON {
	vertical-align: top;
	height: 25px;
	box-sizing: border-box;
	margin-top: 3px;
}
DIV.buttons {
	margin: 30px 20px 10px;
	text-align: right;
}
A {
	color: blue;
	text-decoration: none;
}
A:hover {
	text-decoration: underline;
}

.t_left TD {
	text-align: left !important;
}
.t_right TD {
	text-align: right !important;
}

@keyframes blink {
	0% { opacity: 0 }
	49% { opacity: 0 }
	50% { opacity: 1 }
}
.blink {
  animation: blink 1s infinite;
}

.loading_anim {
	height: 200px;
	padding-top: 50px;
	text-align: center;
}
.loading_anim IMG {
	animation: rotate 2s linear infinite;
}
@keyframes rotate {
	from {
		transform: rotate(0deg);
	} to {
		transform: rotate(360deg);
	}
}

TD {
	vertical-align: top;
}

H5 {
	margin: 10px 0 0;
}

TD.left,
.left {
	text-align: left !important;
}
TD.right,
.right {
	text-align: right !important;
}
TD.center,
.center {
	text-align: center !important;
}

.clear {
	clear: both;
}

.small {
	font-size: 10px;
}

.gray {
	color: gray  !important;
}
.silver {
	color: silver !important;
}

.bg_silver {
	background-color: silver !important;
}
.bg_yellow {
	background-color: rgb(255, 255, 134) !important;
}
.bg_orange {
	background-color: #ffd382 !important;
}
.bg_red,
.bg_red TD {
	background-color: #ffa2a2 !important;
}
TABLE .bg_red:hover,
TABLE .bg_red:hover TD {
	background-color: #ffe2e2 !important;
}
.bg_green,
.bg_green TD {
	background-color: #a0ffa0 !important;
}
TABLE .bg_green:hover,
TABLE .bg_green:hover TD {
	background-color: #e0ffe0 !important;
}

SPAN.dot.col0,
SPAN.dot {
	display: inline-block;
	width: 13px;
	height: 13px;
	margin-top: 1px;
	vertical-align: -2px;
	background-color: gray;
}
SPAN.dot.col1,
SPAN.dot.green {
	background-color: green;	
}
SPAN.dot.col2,
SPAN.dot.yellow {
	background-color: yellow;	
}
SPAN.dot.col3,
SPAN.dot.orange {
	background-color: orange;	
}
SPAN.dot.col4,
SPAN.dot.red {
	background-color: red;	
}
SPAN.dot.col5,
SPAN.dot.dark_red {
	background-color: #780000;	
}


DIV.overflow {
	overflow-y: auto;
	margin: 20px;
}


TR.body {
	height: 100%;
}
TR.header TD {
	padding: 0;
}
TR.footer TD {
	padding: 0;
}

TABLE TR:Hover > TD {
	/* background-color: #f4f4f4; */
}

#main_page {
	vertical-align: top;
	text-align: center;
	position: relative;
}

H2 {
	font-size: 24px;
	font-weight: normal;
}

A {
	text-decoration: none;
}
A:Hover {
	text-decoration: underline;
}
A.del {
	opacity: .5;
}
A.del:hover {
	text-decoration: none;
	opacity: 1;
}

INPUT[type=checkbox] {
  -ms-transform: scale(1.5);/* IE */
  -moz-transform: scale(1.5);/* FF */
  -webkit-transform: scale(1.5);/* Safari and Chrome */
  -o-transform: scale(1.5);/* Opera */
  padding: 10px;
  vertical-align: -1px;
  display: inline-block;
  margin: 4px 8px 0;
}

#msg_box {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
	display: none;
	z-index: 50;
	min-width: 50%;
}
#msg {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: inline;
	background: white;
	font-size: 18px; 
	border: solid 2px gray;
	color: black;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	-webkit-box-shadow: 5px 5px 10px gray;
	-moz-box-shadow: 5px 5px 10px gray;
	box-shadow: 5px 5px 10px gray;
	line-height: 2;
	padding: 20px;
}

#msg B.ok {
	color: green;
	background: url('../img/ok.png') transparent no-repeat left center;
	padding: 20px 0 20px 70px;
}
#msg B.warn {
	color: orange;
	background: url('../img/warn.png') transparent no-repeat left center;
	padding: 20px 0 20px 70px;
}
#msg B.error {
	color: red;
	background: url('../img/error.png') transparent no-repeat left center;
	padding: 20px 0 20px 70px;
}
#msg B.ok B,
#msg B.warn B,
#msg B.error B {
	color: black;
}

#checkframe {
	position: absolute;	
	top: 14px;
	right: 10px;
	box-sizing: border-box;
	font-size: 12px;
}
#checkframe EMBED {
	width:0px; 
	height:0px;
}	
#checkframe > * {
	padding: 1px 5px;
	margin-left: 5px;
	font-weight: bold;
	border-radius: 3px;
}
#checkframe .fault {
	background: brown;
	color: white;
}
#checkframe .warn {
	background: #df5012;
	color: white;
	animation: blink 1s infinite;
}
#checkframe .alarm {
	background: red;
	color: white;
	animation: blink 1s infinite;
}
#checkframe .info {
	background: yellow;
	color: black;
	animation: blink 1s infinite;
}
#checkframe .ok {
	background: green;
	color: white;
}
#forcing_logout {
	cursor: pointer;
}


#quiet_mode {
	position: absolute;
	right: 0;
	top: 59px;
	width: 24px;
	height: 24px;
	background-position: center center;
	background-image: url('../img/sound.png');
	cursor: pointer;
}
#quiet_mode.on {
	background-image: url('../img/sound_off.png');
}

#pages {
	text-align: center;
	line-height: 2;
	font-size: 16px;
}
#pages IMG {
	vertical-align: middle;
	padding: 5px 10px;
	border: none;
}

.log {
	color: gray;
}

.log IMG {
	border: none;
	float: left;
}

.log DIV {
	display: none;
	position: absolute;
	border: solid 1px gray;
	padding: 5px 10px;
	background-color: white;
	width: 300px;
	height: 300px;
	overflow: auto;
	margin-top: -315px;
	margin-left: 35px;
	text-align: left;
	font-size: 10px;
}
.log H4 {
	color: #505050;
	font-size: 12px;
	padding-bottom: 6px;
	margin: 0;
}

DIV.msg {
	font-size: 16px;
	color: #123493;
	padding: 5px;
	text-align: center;
}
DIV.msg B {
	color: gray;
}
DIV.msg.small {
	font-size: 18px;
}
DIV.msg.warn {
	background-image: url('../img/warn.png');
	background-repeat: no-repeat;
	background-position: 20px center;
	padding: 30px 20px 30px 90px;
	color: #bfa920;
}
DIV.msg.centered {
	padding: 20px 40px;
	margin: 40px;
}
DIV.msg.centered A {
	text-decoration: none;
}

A.msg {
   font-size: 24px;
   color: silver;
   padding: 50px;
   text-decoration: none;
}
A.msg:Hover {
	color: gray;
	text-decoration: underline;
}

TABLE.list TD {
	padding: 1px 5px;
	font-size: 13px;
	text-align: left;
}
TABLE.list TR.tl TD,
TABLE.list TR.tl_clk TD {
	border: dashed 1px silver;
}
TABLE.list TR.tl_clk TD {
	cursor: pointer;
}

#logo_icon {
	height: 40px;
	margin: 0 2px;
	vertical-align: middle;
}


DIV.menu {
	padding: 3px;
	font: normal 16px arial;
	padding: 4px 0px;
	display: inline-block;
	vertical-align: middle;
	float: right;
	margin-right: 110px;
}

DIV.menu DIV.sub {
   display: none;
   z-index: 500;   
   margin-left: 0px;
   padding: 5px 1px;
   position: absolute;
   text-align: left;
   border: solid 1px silver;
   box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.28);
   background-color: white;
}





DIV.menu DIV.sub A:hover {
	/*background-color: rgb(197 207 235);	*/
}

DIV.menu A {
	text-decoration: none;
	color: #18530c;
	position: relative;
	padding: 2px 10px;
	white-space: nowrap;
	display: block;
}

DIV.menu A.disabled {
	color: #a0a0a0;
}
DIV.menu A.disabled:Hover {
	color: #a0a0a0;
}

DIV.menu DIV.item {
	display: inline-block;
	cursor: pointer;
	padding: 0px 5px;
	margin: 5px 2px;
}
DIV.menu DIV.item:hover DIV.sub {
	display: block;
}
DIV.menu DIV.sub {
	border: solid 1px #18530c;
   	background-color: #cdebc5;
}
DIV.menu DIV.sub A {
	color: #18530c;
	display: block;
	width: auto;
	padding: 4px 15px;
}
DIV.menu DIV.sub A:hover {	
	background: rgb(255 255 255);	
}
DIV.menu A#selected {
	color: white;
}
DIV.menu A#selected:hover {
	color: black;
}
DIV.menu HR {
	margin: 5px;
	border-bottom: dashed 1px #113493;
}

DIV.popup {
	display: none;
	position: fixed !important;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	overflow-y: auto;
	overflow-x: hidden;
	border: solid 1px gray;
	background: white;
	/* text-align: center; */
	padding: 10px 20px 10px 10px;
	z-index: 10;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
	min-width: 400px;
	min-height: 200px;
	max-height: 90%;
	max-width: 90% !important;
	
}
DIV#popup_bg {
	z-index: 9;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.25);
}

DIV.cronologia TABLE {
	border: none;
}
DIV.cronologia TABLE TD:first-child {
	white-space: nowrap;
	width: 100px;
	overflow: hidden;
}
DIV.nota,
DIV.info {
	box-sizing: border-box;
	text-align: left;
	font-size: 12px;
	min-height: 15px;
	padding-left: 215px;
	color: gray;
	white-space: nowrap;
	overflow: hidden;
}

#header_right {
	float: right;
	position: relative;
	/* border: solid; */
	min-height: 85px;
	white-space:  nowrap;
}
#clock {
	position: absolute;
	top: 5px;
	right: 0;
	font: bold 16px arial;
}
#user_data {
	position: absolute;
	top: 23px;
	right: 0;
	text-align: right;
}

.black_links A {
	text-decoration: none;
	color: black;
}
.black_links A:Hover {
	text-decoration: underline;
	color: black;
}

TABLE.box {
	margin: 5px;
}
TABLE.box TD.pad,
TABLE.list TD.pad {
	padding-top: 5px;
	text-align: center;
}

UL.errors {
	list-style: none;
	margin: 10px 0 0 0;
	padding: 1px;
	text-align: center;
	border-top: solid 1px silver;
	font-weight: bold; 
}
UL.errors LI {
	color: red;
}
UL.errors LI.E0 {
	color: green;
}

DIV.log_area {
	font-size: 12px;
	padding: 0px 10px 10px 30px;
	border: solid 1px silver;
	/* margin: 3px 0; */
	height: 350px;
	overflow: auto;
	text-align: left;
	background: white;
}
DIV.log_area H5 {
	font-size: 12px;
	text-align: left;
	margin: 10px 0 0 0;
	background-color: #e0e0e0;
	margin-left: -20px;
	padding: 1px 5px;
}
DIV.log_area H5 I {
	font-weight: normal;
}
DIV.log_area H5 A {
	float: right;
	color: red;
	text-decoration: none;
}
DIV.log_area H5 A:Hover {
	color: white;
	background-color: red;
} 
DIV.log_area B {
	color: green;
}

UL.ckl {
	margin: 5px 0;
	padding: 0 0 0 20px;
	font-size: 12px;
	color: red;
}
UL.ckl LI A {
	color: black;
}
UL.ckl LI A:Hover {
	text-decoration: underline;
}
UL.ckl LI.done A {
	color: #409040;
}
UL.ckl LI.done {
	color: gray;
}
UL.ckl DIV.sub {
	padding: 0;
	margin-left: 10px;
	font-size: 11px;
}

TABLE {
	font: normal 14px arial;
}

HR {
	border: none;
	border-bottom: solid 1px #566697;
	height: 0px;
	margin: 20px 5px;
	padding: 5px 0 0 0;
	clear: both;
}

H3 {
	margin: 20px;
	margin-bottom: 0;
}

PRE {
	font-size: 12px;
	overflow: auto;
}

A IMG {
	border: none;
}

TH {
	white-space: nowrap;
}

TH A {
	color: black;
}
TH B {
	font-size: 18px;
	color: blue;
}

BR.spc {
	line-height: .5;
}

TH.del {
	width: 23px;
}

#header {
	background: #cbebc6;
	border-bottom: solid 1px #123493;
	box-shadow: 0px 1px 3px #00000080;
}
#header.login {
	background: transparent;
	
}
#header.login #header_right {
	display: none;
}
#header.login IMG#logo {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-150px);
}

.red {
	color: red !important;
}
.green {
	color: green !important;
}
.orange {
	color: orange !important;
}

.err {
	background-color: #ffc0c0;
}
.err TD {
	background-color: #ffc0c0 !important;
}

.hidden {
	display: none;
}


DIV.tabs {
	margin: -10px 0 20px 0;
	text-align: center;
}
DIV.tabs A {
	background: #c5cfeb;
	display: inline-block;
	min-width: 80px;
	text-align: center;
	padding: 3px 10px;
	box-sizing: border-box;
	color: black;
	margin: 0 1px 0 0;
	opacity: .5;
	border-radius: 0 0 2px 2px;
}
DIV.tabs A:hover {
	text-decoration: none;
}
DIV.tabs A.selected {
	opacity: 1;
}

DIV.rc {
	min-height: 16px;
	font-weight: bold;
}
DIV.rc SPAN {
	padding: 3px 10px;
	border-radius: 3px;
	color: green;
	background-color: #E5FFE9;
}
DIV.rc SPAN.err {
	color: red;
	background-color: #FFF5F5;
}

A.x, A.s, A.b, A.lnk {
	font-weight: bold;
	font-size: 14px;
	text-decoration: none;
	padding: 1px;
	cursor: pointer;
}
A.x:Hover, A.s:Hover, A.b:Hover {
	background: yellow;
}
A.b {
	color: orange;
}
A.s {
	color: green;
}
A.x {
	color: red;
}
A.small {
	font-size: 10px;
	color: black;
	text-decoration: none;
	cursor: pointer;
}
A.small:Hover {
	text-decoration: underline;
}

TABLE.page {
	width: 100%;
	height: 100%;
	min-height: 99%;	
	background: transparent;
	border-collapse: collapse;
}

A.cb_0,A.cb_1 {
	color: transparent;
	background: no-repeat top center;
	display: inline-block;
	width: 16px;
	height: 16px;
	border: solid 1px gray;
	margin: 1px;
}
A.cb_1 {
	background: #dcffdc;
}
A.tf.cb_0 {
	background: #ffe9e9;	
}
A.cb_1::before {
	content: '\2714';
	color: green;
	margin-left: 2px;
	margin-top: -2px;
	display: inline-block;
}
A.cb_0.tf::before {
	content: '\2718';
	color: red;
	margin-left: 2px;
	margin-top: -2px;
	display: inline-block;
}

A.cb_0.disabled,
A.cb_1.disabled {
	opacity: .5;
	cursor: default;
}
A.cb_0.disabled::before,
A.cb_1.disabled::before {
	color: gray;
}

TD.checked_1::before {
	content: '\2714';
}


.button, 
A.button,
A.upload_button,
INPUT.submit,
INPUT[type=button],
INPUT[type=submit] {
   cursor: pointer;
   position: relative;
   white-space: nowrap;
   font: bold 12px arial;
   text-decoration: none;
   padding: 5px 8px;
   border: none;
   background-color: #cfdecf;
   color: #18530c;
   border-radius: 2px;
   margin: 1px 2px;
   transition: .5s;
   box-sizing: border-box;
   display: inline-block;
}
DIV.button {
   vertical-align: middle;
   display: inline;
}
INPUT.submit:hover, A.button:hover {
	background: #a6d4ea;
	text-decoration: none;
}
A.button.small {
	font-size: 10px;
}

A.button.disabled {
	opacity: .5;
	cursor: default;
}
A.button.disabled:hover {
	background-color: rgb(229, 229, 254) !important;
}

A.button.left,
A.button.nuovo {
	float: left;
	margin-left: 5px;
	margin-top: 5px;
}

IMG.button {
	border: none;
}
INPUT.small_button {
	font: normal 10px arial;
	padding: 2px 4px;
	width: auto;
}
A.red_b {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#ff8787+0,f9caca+40,d15c5c+100 */
	background: #ff8787; /* Old browsers */
	background: -moz-linear-gradient(top, #ff8787 0%, #f9caca 40%, #d15c5c 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #ff8787 0%,#f9caca 40%,#d15c5c 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #ff8787 0%,#f9caca 40%,#d15c5c 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff8787', endColorstr='#d15c5c',GradientType=0 ); /* IE6-9 */
}
A.blue_b {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#87c3ff+0,c8dff7+39,7db5ed+100 */
	background: #87c3ff; /* Old browsers */
	background: -moz-linear-gradient(top, #87c3ff 0%, #c8dff7 39%, #7db5ed 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #87c3ff 0%,#c8dff7 39%,#7db5ed 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #87c3ff 0%,#c8dff7 39%,#7db5ed 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#87c3ff', endColorstr='#7db5ed',GradientType=0 ); /* IE6-9 */
}
A.green_b {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#65aa5a+0,c7f2c6+40,549b45+100 */
	background: #65aa5a; /* Old browsers */
	background: -moz-linear-gradient(top, #65aa5a 0%, #c7f2c6 40%, #549b45 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #65aa5a 0%,#c7f2c6 40%,#549b45 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #65aa5a 0%,#c7f2c6 40%,#549b45 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#65aa5a', endColorstr='#549b45',GradientType=0 ); /* IE6-9 */
}
A.yellow_b {
	/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#f1f783+0,fffdd1+40,f5f76f+100 */
	background: #f1f783; /* Old browsers */
	background: -moz-linear-gradient(top, #f1f783 0%, #fffdd1 40%, #f5f76f 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top, #f1f783 0%,#fffdd1 40%,#f5f76f 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #f1f783 0%,#fffdd1 40%,#f5f76f 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f1f783', endColorstr='#f5f76f',GradientType=0 ); /* IE6-9 */
}

TABLE.has_pop TR SPAN.pop {
	opacity: 0;
	overflow: hidden;
	position: absolute;
	border: solid 1px silver;
	border-radius: 3px;
	background: white;
	padding: 3px 5px;
	margin-top: 15px;
	box-shadow: 3px 3px 5px #eee;
	text-align: left;
	transition: .5s;
	height: 0;
}
TABLE.has_pop TR:hover SPAN.pop {
	opacity: 1;
	height: auto;
}



TABLE.dshow {
	width: 100%;
}
TABLE.dshow DIV.name {
	padding-top: 7px;
	vertical-align: middle;
}

DIV.meddata TABLE {
	border: none;
}

IMG.kill_icon {
	float: right;
	margin: -2px 2px 0 0;
	cursor: pointer;
	vertical-align: middle;
	opacity: .5;
	-moz-opacity: .5;
	filter: alpha(opacity=50);
}
IMG.kill_icon:Hover {
	opacity: 1;
	-moz-opacity: 1;
	filter: alpha(opacity=100);
}

TD.padr .cal,
TD.padr .caltime {
	margin-right: -24px;	
	min-width: 150px;
	vertical-align: middle;
}
TD.cal IMG {
	vertical-align: middle;	
	margin-top: -2px;
}

SPAN.field,
DIV.shortdata,
DIV.meddata,
DIV.longdata {
	padding: 2px 6px;
	margin-bottom: 4px;
	text-align: left;
	overflow: auto;
	box-sizing: border-box;
}
DIV.longdata {
	height: 150px;
	font-size: 10px;
} 
DIV.meddata {
	height: 75px;
	font-size: 12px;
	/* width: 190px; */
} 
DIV.shortdata {
   width: 100px;
   text-align: center;
	font-size: 12px;
}
DIV.meddata DIV IMG {
	margin: 0;
}
DIV.meddata DIV {
	clear: both;
	text-align: left;
}
DIV.meddata DIV A {
	color: blue;
}
SPAN.field {
	display: inline-block;
	min-height: 16px;
	margin: 1px 0;
	vertical-align: -5px;
	border: solid 1px rgb(192, 192, 192);
   background: #f8f8f8;
	width: 190px;
}

LABEL {
	text-align: right;
	padding: 5px 5px 0 0;
}

#evento #ev_edit {
	text-align: left;
	padding: 5px;
}

#evento A.ev_edit {
}
#evento A.ev_edit.float, 
#evento A.ev_time.float {
	float: right;
	opacity: .2;
	transition: .5s;
	text-decoration: none;
	margin-left: 3px;
	font-size: 13px;
	/* position: absolute; */
}
#evento A.ev_time:hover,
#evento A.ev_edit:hover {
	opacity: 1;
}


/* usato per l'edit di tipo_servizi */
A.table_button {
	float: right;
	font: normal 12px arial;
	color: blue;
	background: #f0f0f0;
	border: solid 1px gray;
	margin: 1px;
	padding: 1px 8px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
}
A.table_button:Hover {
	background: white;
	text-decoration: none;
	color: black;
}
A.table_button IMG {
	vertical-align: middle;
}



/*
#layout_selector IMG {
	float: right;
	width: 24px;
	margin: 4px 6px 0 0;
}
A#layout_selector:Hover IMG {
	background: white;
}
*/

DIV.box {
	padding: 5px;
	background: white;
	margin: 10px auto;
	vertical-align: top;
	position: relative;
	max-width: 660px;
	box-sizing: border-box;
	border: solid 1px #409312;
	box-shadow: 1px 1px 3px #00000080;
}

DIV.box P {
	margin: 10px;
}
DIV.box.large {
	max-width: unset;
	width: 97%;
}

DIV.box A.print_button {
	position: absolute;
	right: 1px;
	top: 1px;
}

DIV.box DIV.title {
	/* border-bottom: solid 1px #e4e4fe; */
	color: #18530c;
	background-color: #caebc5;
	padding: 5px;
	margin: -5px -5px 10px -5px;
	font-weight: bold;
	text-align: center;
}
DIV.box DIV.title B {
	color: #000000;
}

DIV.vcenter {/*	margin-top: 25%; */position: absolute;top: 50%;left: 50%;transform: translate(-50%,-50%);min-width: 300px;}

/*
DIV.box DIV.field SPAN {
	margin: 1px; 
	padding: 2px;
	width: 200px;
	float: right;
	text-align: left;
	border: solid 1px #C0C0C0;
	height: 16px;
	overflow: hidden;
	background: #F0F0F0;
}
DIV.box DIV.field SPAN.field_area {
	margin: 0;
	background: transparent;
	border: none;
	height: auto;
   float: none;
   display: inline-block;
}
DIV.box DIV.field SPAN.long {
  height: 60px;
  font-size: 12px;
  overflow-y: auto;
}
*/

DIV.box.msg_box DIV.buttons {
	text-align: center;
	margin-top: 10px;
}
DIV.box.msg_box DIV.buttons A {
	margin: 2px 20px;
}

#forn_data {
	text-align: left;
	width: 100%;
	/* margin-left: 136px; */
	box-sizing: border-box;
	margin-top: 2px;
}

DIV.buttons {
	margin: 30px 20px 20px;
	text-align: right;
}
DIV.box DIV.buttons INPUT[type=button] {
	/* margin-top: 4px; */
	padding: 5px 6px;
}
DIV.box DIV.buttons INPUT {
	margin: 5px;
}
DIV.box DIV.buttons INPUT.left {
	float: left;
}

DIV.box DIV.cal IMG {
	margin-left: -23px;
	margin-top: -10px;
}

DIV.box.loading {
	margin-top: 30px;
	padding: 20px 30px;
	color: gray;
	font-size: 16px;
	position: relative
}
DIV.box.loading IMG {
	width: 24px;
	height: 24px;
	margin-right: 16px;
	vertical-align: -5px;
}
/*
DIV.box.loading DIV.bar {
	background: #65e064;
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 0%;
	opacity: .5;
}
*/
DIV.msg_box {
	margin-top: 2em;
}
DIV.box.small {
	display: block;
	box-sizing: border-box;
	max-width: 450px;
	min-width: 300px;
	text-align: center;
	font-size: 12px;
	width: 80%;
	padding: 1em;
}
DIV.box.small LABEL {
	width: 120px;
	min-width: unset;
}
DIV.box.small DIV.field.checkbox {
	padding-left: 118px;
}
DIV.box.small DIV.buttons {
	padding: 1em .5em .5em;
	margin: 0;
}
DIV.box DIV.msg {
	padding: 1em;
}

TABLE.data {
	border: solid 1px silver;
	background-color: white;
	margin-bottom: 5px;
	border-collapse: collapse;
	padding: 0;
	width: 100%;
	vertical-align: middle;
}
TABLE.data IMG {
	cursor: pointer;
}
TABLE.data TR.th TH {
	background-color: #fafafa;
	text-align: left;
	padding: 0px 4px;
	border-bottom: solid 1px #C0C0C0;
}
TABLE.data TR.th TH SMALL {
	font-size: 8px;
}
TABLE.data TR.title TH {
	background-color: #fafafa;
	border: none;
	text-align: center;
	padding: 3px;
	font-size: 16px;
}
TABLE.data TD {
	border-bottom: dotted 1px silver;
	font-size: 12px;
	vertical-align: top;
	background: white !important;
}
TABLE.data TR.new {
	background: yellow;
}
TABLE.data TR.new TD {
	font-weight: bold;
}
TABLE.data TR.red TD {
	font-weight: bold;
	color: red;
}
TABLE.data INPUT {
	font-size: 12px;
}
TABLE.data I {
	font-variant: normal;
	font-size: 10px;
}
TABLE.data A {
	color: blue;
	text-decoration: none;
}

TABLE.data2 {
	border-collapse: collapse;
	background-color: white;
	/* margin: 3px; */
	font-size: 12px;
	min-width: 400px;
}
TABLE.data2 CAPTION {
    border-bottom: solid 1px #eee;
    color: rgb(0, 102, 153);
    padding: 2px;
    font-weight: bold;
    text-align: center;
}
TABLE.data2 TR:last-child TD {
	border-bottom: solid 1px #eee;
}
TABLE.data2 TR.th TH {
	font-size: 10px;
	border-bottom: solid 1px gray;
	text-align: left;
	padding: 0 5px;
	text-transform: capitalize;	
}
TABLE.data2 TR.title TH {
	text-align: center;
	font-size: 16px;
	font-weight: normal;
	padding-bottom: 5px;
}
TABLE.data2 TD {
	border-left: dotted 1px #eee;
	padding: 1px 10px;
	vertical-align: top;
	text-align: left;
}
TABLE.data2 TD:first-child {
	border-left: solid 1px #eee;
}
TABLE.data2 TD:last-child {
	border-right: solid 1px #eee;
}
TABLE.data2 TR:first-child TD {
	border-top: solid 1px #eee;;
}
TABLE.data2 TR:nth-child(2n) TD {
	background-color: #f8f8f8;
}
TABLE.data2.no_th_alt TR:nth-child(2n) TD {
	background: inherit;
}

TABLE.data2 TR:Hover TD {
	background-color: #f0f9ff;
}
TABLE.data2 TR.selected TD {
	background-color: #fc5 !important;
}
TABLE.data2 TR.selected:hover TD {
	background-color: #e90 !important;
}

TABLE.data2 TR.hl TD {
	background-color: #C0F8F8;
}
TABLE.data2 TR.line {
	border: solid 1px white;
	border-top: solid 1px gray;	
}
TABLE.data2 TR.bold TD {
	font-weight: bold;
}
TABLE.data2 TR.warn TD {
	font-weight: bold;
	color: red;
}
TABLE.data2 TR.disabled {
	opacity: .5;
	/* text-decoration: line-through; */
}
TABLE.right TD {
	text-align: right;
}
TABLE.right TD:first-child {
	text-align: left;
}




DIV.itec_note {
	white-space: normal;
	font-size: 10px;
	/* margin-right: 8px; */
}
DIV.itec_note DIV.head {
	background: #f0f0f0;
	padding: 4px 0 0 5px;
	height: 16px;
}
DIV.itec_note DIV.body {
	padding-left: 10px;
	margin-bottom: 2px;
}
#lista_fax A.b:hover {
	text-decoration: none;
}

#checkframe B {
	/* border-radius: 2px; */
	/* box-shadow: 1px 1px 3px gray; */
}

.print_only {
	display: none;
}

DIV.slide {
	overflow: hidden;
	transition: 1s;
}
DIV.slide:hover {
	height: auto;
	overflow: visible;
}
A.small_icon {
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	filter: grayscale(100%);
	opacity: .8;
	transition: .3s;
}
A.small_icon:hover {
	-webkit-filter: grayscale(0);
	-moz-filter: grayscale(0);
	filter: grayscale(0);	
	opacity: 1;
}
A.small_icon IMG {
	height: 12px;
}

TEXTAREA:disabled,
SELECT:disabled,
INPUT:disabled {
	color: gray; 
	background-color: silver;
	opacity: .5;
}
TEXTAREA:disabled:hover,
SELECT:disabled:hover,
INPUT:disabled:hover {
	color: gray; 
	background-color: silver;
	cursor: default;
}


#lista_allegati DIV.file {
	text-align: left;
	margin: 1px 5px;
	padding: 1px 0;
	border-bottom: dotted 1px silver;
	position: relative;
}
#lista_allegati DIV.file:last-child {
	border-bottom: none;
}
#lista_allegati DIV.file:hover {
	background: rgba(255,255,0,.5);
}
#lista_allegati IMG.allegato_remove,
#lista_allegati IMG.but_kill {
	cursor: pointer;
	position: absolute;
	right: 0;
	height: 14px;
}
#lista_allegati DIV.msg {
	padding: 0;
}

TABLE.contatti TD {
	text-align: left;
	padding: 0 2px;
}
TABLE.contatti DIV.rec_popup * {
	font-size: 16px;
}
TABLE.contatti DIV.rec_popup {
	opacity: .5;
	margin-left: -10000px;
	transition: opacity .5s;
	position: absolute;
	width: 430px;
	background: rgb(239, 239, 239);
	border: solid 1px silver;
	padding: 5px;
	z-index: 30;
	box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.2);
}
TABLE.contatti TR:hover {
	background-color: rgba(255,255,0,.25);
}
TABLE.contatti TR:hover DIV.rec_popup {
	opacity: 1;
	margin: 0 0 0 90px;
	border-radius: 10px;
	transform: translateX(-50%);
}
TABLE.contatti DIV.rec_popup DIV.field LABEL {
	width: 110px;
	padding-top: 7px;
}
TABLE.contatti DIV.rec_popup DIV.data {
	margin: 1px 0 0 0;
	border: none;
	border-radius: 3px;
	font-size: 14px;
}
TABLE.contatti DIV.rec_popup DIV.call {
	clear: both;
   padding: 10px 5px 5px 5px;
   text-align: right;
}
TABLE.contatti DIV.rec_popup DIV.call SPAN {
	cursor: pointer;
	font-weight: bold;
	display: inline-block;
	margin-left: 10px;
	opacity: .5;
}
TABLE.contatti DIV.rec_popup DIV.call SPAN.green {
	color: green;
}
TABLE.contatti DIV.rec_popup DIV.call SPAN.red {
	color: red;
}

TABLE.contatti DIV.rec_popup DIV.call SPAN:hover {
	opacity: 1;
}
TABLE.contatti DIV.rec_popup DIV.name {
	text-align: center;
	margin-bottom: 10px;
}
TABLE.contatti DIV.rec_popup SMALL.abs_right {
	position: absolute;
	right: 5px;
	top: 5px;
	font-size: 8px;
}

INPUT.load_file.uploading {
	padding-left: 30px;
	background-image: url('../img/loading_small.gif');
	background-repeat: no-repeat;
	background-position: 5px center;
	color: silver;
}

.form_print_button {
	position: absolute;
   left: 10px;
   bottom: 3px;
	z-index: 9;
}

#info_times {
	text-align: right;
	color: silver;
	font-size: 10px; 
	width: 98%;
}


TABLE.box SMALL {
   font-size: 10px;
}

TABLE.list TH {
	font-size: 12px;
	text-align: left;
	padding: 1px 5px;
}
TABLE.list TD {
	padding: 1px 5px;
	vertical-align: top;
   background-color: white;
}
TABLE.list TR.title TH {
	text-align: center;
	font-size: 16px;
	color: black;
	border-bottom: none;
}

TABLE.list SMALL, TABLE.list I {
	font-size: 10px;
	font-style: normal;
	vertical-align: top;
}
TABLE.list U {
	background: yellow;
	text-decoration: blink;
}
TABLE.list TR.bt TD, TABLE.list TR.bb TD {
	border-top: solid 1px #006699;
}
TABLE.list TR.selected TD {
	background: #ffffa0;
}

DIV.body {
	padding: 10px;
	text-align: left;
}

DIV.data A.peri0 {
	color: red;
	font-weight: bold;
}
DIV.data A.peri1 {
	color: green;
	font-weight: bold;
}

TABLE.dbox TH {
	border-bottom: solid 1px black;
	text-align: left;
	padding: 1px 5px;
	font-size: 14px;
}

DIV.float {
	position: absolute;
}

TD.cmd A {
	text-decoration: none;
	font: bold 12px verdana;
	color: red;
}

TABLE.contatti {
	border-collapse: collapse;
	width: 97%;
	margin: 5px auto 20px;
	font-size: 13px;
}
TABLE.contatti TR {
	border-top: dashed 1px silver;
}
TABLE.contatti TR:first-child {
	border-top: none;
}

TABLE.contatti TR.th TH {
	background: none;
	text-align: left;
	padding: 1px 5px;
}
TABLE.contatti TR:Hover TD {
	/* background: rgba(255,255,128,0.5); */
	cursor: pointer;
}
SMALL.serv_lista_punti {
	font-size: 10px;
}
SMALL.serv_lista_punti B {
	cursor: pointer;
	font-size: 14px;
}
TABLE.box TD.padl {
	padding-top: 5px;
}

LABEL.field {
	display: inline;
	width: 150px;
	text-align: right;
	padding-right: 4px;
}


TABLE.box TH B {
	color: #048300;
}

/* PATCH FOR OLD TABLES BOXES */

TABLE.box, TABLE.list {
	border: solid 2px #E4E4FE;
	margin: auto;
	border-collapse: collapse;
}
TABLE.box TH, TABLE.list TH {
	background-color: #E5E5FE;
}
TABLE.box TD {
	padding: 1px 5px;
	vertical-align: top;
	background: #eeffff;
}

#results {
	margin: 30px 10px;
}
#results SPAN.err {
	padding: 10px 20px;
	border-radius: 2px;
	background: red;
	color: white;
	font-size: 16px;
}

FORM.standard DIV.buttons INPUT[type=button].large,
FORM.standard DIV.buttons INPUT[type=submit].large {
	font-size: 16px;
	min-width: 120px;
	padding: 10px;
}

DIV.callable {
	color: blue;
	display: inline-block;
}
DIV.callable:hover {
	cursor: pointer;
	text-decoration: underline;
}
DIV.callable.loading::after {
	content:'';
	position: absolute;
	width: 16px;
	height: 16px;
	background: url('../img/loading_small.gif') transparent no-repeat center top;
	background-size: contain;
}

DIV.box.loading DIV#status {
	font-size: 10px;
}


/* calendario */
#calendario_div {
	margin-top: 20px;
}
DIV.calendario {
	margin-top: 5px;
}
DIV.calendario I {
	display: inline-block;
	box-sizing: border-box;
	margin: 0 1px 1px 0;
	width: 2.9%;
	text-align: center;
	font-size: 11px;
	color: gray;
	font-style: normal;
	overflow: hidden;
}
DIV.calendario A {
	display: inline-block;
	box-sizing: border-box;
	margin: 0 1px 1px 0;
	width: 2.9%;
	height: 28px;
	overflow: hidden;
	padding: 1px;
	font-size: 11px;
	background: #deedfc;
	text-align: center;
	position: relative;
}
DIV.calendario A.sunday,
DIV.calendario A.holiday {
	background: #ffe9e9;
}

DIV.calendario A.disabled {
	background: repeating-linear-gradient(
	  45deg,
	  #e0e0e0,
	  #e0e0e0 3px,
	  #f0f0f0 3px,
	  #f0f0f0 6px
	);
	color: transparent;
	opacity: .5;
	text-decoration: none;
}
DIV.calendario A.no::after {
	content: '\2715';
	color: red;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	font-size: 22px;
	font-weight: bold;
	opacity: .5;
}

DIV.calendario A.forn {
	background: #3e3eff;
	color: white;
}

DIV.calendario A.forn.holiday,
DIV.calendario A.forn.sunday {
	background: #cb2d3c;
}
DIV.calendario A:not(.disabled):hover,
DIV.calendario A.selected {
	background: yellow !important;
	color: black;
	text-decoration: none;
	cursor: pointer;
}
DIV.calendario VAR {
	display: none;
}
DIV.calendario A.var {
	background: linear-gradient(45deg, #d9e7f4 0%, #d9e7f4 80%, #000000 81%, #000000 100%);
}
DIV.calendario A.var.forn {
	background: linear-gradient(45deg, #3e3eff 0%, #3e3eff 80%, #000000 81%, #000000 100%);
}
DIV.calendario A.var.forn.holiday,
DIV.calendario A.var.forn.sunday {	
	background: linear-gradient(45deg, #cb2d3c, #cb2d3c 80%, #000000 81%, #000000 100%);
}
DIV.calendario A.var.dis {
	background: #ff9ef0;
}

#calendario_edit {
	position: absolute;
	width: 200px;
	text-align: center;
	padding: 10px;
	background: white;
	border: solid 1px #123493;
	box-shadow: 1px 1px 3px #00000080;
	margin-top: 22px;
	/* margin-left: 20px; */
	display: none;
}
#calendario_edit INPUT[type=text] {
	display: block;
	width: 100%;
	text-align: center;
}
#calendario_edit BUTTON {
	margin: 3px;
}
#calendario_edit .cal_info {
	font-size: 12px;
}
#calendario_edit .inputs {
	margin: 20px 0;	
}

/* Calendario OLD
DIV.calendario {
	padding: 15px 10px;
	cursor: pointer;
	white-space: nowrap;
	width: 756px;
}

DIV.calendario B {
	display: block;
	float: left;
	border: solid 1px black;
	font: normal 10px arial;
	text-align: center;
	vertical-align: middle;
	background-color: #fafaff;
	overflow: hidden;
	width: 18px;
	padding: 1px 1px;
	margin: 1px 1px 0 0;
	height: 18px;
	line-height: .95;
}

DIV.calendario B:Hover {
	border: solid 1px green;
	background-color: yellow;
}

DIV.calendario DIV.month {
	font: normal 12px arial;
	float: left;
	clear: left;
	display: block;
	width: 30px;
	text-align: right;
	padding: 5px 4px 0 0;
}

DIV.calendario DIV.daynum {
	width: 23px;
	font: normal 12px arial;
	display: block;
	float: left;
	clear: none;
	text-align: center;
	padding-top: 5px;
}

DIV.calendario U {
	text-decoration: none;
}
DIV.calendario U B {
	border: solid 1px #ff4040;
}

DIV.calendario DIV.punto { }

DIV.calendario B.diff {
	background: yellow !important;
}
DIV.calendario B.forn {
	background: lime !important;
}
DIV.calendario B.selected {
	background: orange !important;
}

DIV.calendario B I {
	font-size: 14px;
	font-style: normal;
	position: absolute;
	background: white;
	margin-top: 7px;
	margin-left: 22px;
	border: solid 1px silver;
	padding: 2px;
	display: none;
	z-index: 10;
	box-shadow: 2px 2px 10px #00000080;
	text-align: left;
}
DIV.calendario B:Hover I {
	display: block;
}
DIV.calendario B.dotted {
	border: dotted 1px silver;
	background-color: white;
}
DIV.calendario B.fest {
	border-color: red;
	background-color: #fffafa;
}
*/


/* File upload usato in "Pianifica visite" */
#upload_div DIV.file {
	text-align: right;
	padding-right: 5px;
	margin-bottom: 10px;
	box-sizing: border-box;
}
#upload_div DIV.file LABEL {
	display: none;
}
#upload_div DIV.file INPUT[type=file] {
	display: none;
}
#upload_div DIV.file SPAN {
	display: none;
}
#upload_div DIV#file_list {
	border: solid 1px silver;
	margin: 5px 9px 10px;
	box-sizing: border-box;
	padding: 5px 5px 10px;
	text-align: left;
	position: relative;
}
IFRAME.upload_frame {
	display: none;
}
A.delete_icon {
	font-size: 20px;
   position: absolute;
   margin-top: -4px;
	color: red;
	text-decoration: none;
}

@media screen and (max-width: 750px) {
	DIV.box.large,
	DIV.box {
		width: 96%;
		margin: 20px auto;
		overflow-x: auto;
	}
}

#menu_button {
	display: none;
}

DIV.box.printable DIV.title {
	pointer-events: none;
}

DIV.box.printable DIV.title::after {
	content: '';
	background: url('/img/print.png') no-repeat center center;
	background-size: contain;
	display: block;
	width: 20px;
	height: 20px;
	position: absolute;
	right: 8px;
	top: 3px;
	cursor: pointer;
    pointer-events: auto;
}

#note_list_table TD:first-child {
	width: 130px;
}

@media screen and (max-width: 900px) {
	#checkframe {
		top: 15px;
		right: 80px;
		left: unset;
		transform: translateX(-50%);
	}
	
	#menu_button {
		display: block;
		position: absolute;
		top: 8px;
		right: 15px;
		font-size: 18px;
		text-decoration: none;
		color: black;
	}


	DIV.menu {
		display: none;
		width: 100%;
		position: static;
		margin: 10px 0 50px 0;
	}
	DIV.menu.open {
		display: block;
		position: absolute;
		z-index: 100;
		background: #e4e7ef;
	}
	DIV.menu DIV.item {
		display: block;
		width: 100%;
		box-sizing: border-box;
		padding-right: 10px;
	}
	DIV.menu DIV.sub {
		display: block;
		position: static;
		width: 100%;
		margin-bottom: 20px;
		box-sizing: border-box;
	}
	DIV.menu DIV.sub A {
		margin: 3px;		
		padding: 10px;
	}
}



@media print {
	BODY {
		background: white !important;
	}
	DIV.box {
		border: none !important;
		width: 100% !important;
		box-shadow: none !important;
	}
	DIV.box DIV.title {
		background: #f0f0f0 !important;
	}
	DIV#header {
		display: none !important;
	}
	.no_print {
		display: none !important;
	}

    DIV.box.printable DIV.title::after {
		background: none;
	}
}

