
/*
MEMO
La direttiva CSS border-style consente di definire i seguenti effetti  tridimen-
sionali.
- groove: bordo scavato, elemento sullo stesso piano del contenitore
- ridge: bordo in rilievo, elemento sullo stesso piano del contenitore
- inset: elemento incassato
- outset: elemento in rilievo
Questi effetti sono ottenuti abbinando due colori in gradazione  che  dipendono
dalla direttiva border-color.
Per i primi due stili, se possibile, i colori sono: border-color e quello otte-
nuto dal precedente prendendo il 75% di ciascuna componente.
Per inset e outset, se possibile, i colori sono ottenuti prendendo  75%  e  50%
delle componenti di border-color.
*/

*					/* defaults */
{
 margin: 0px;
 border: 0px none;
 padding: 0px;
 text-align: center;
 vertical-align: middle;
}

html
{
 width: 100%;
 height: 100%;
}

body
{
 width: 100%;
 min-width: 800px;
 font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
 font-size: 62.5%;			/* usually 10px, as browser common default size is 16px */
 background-color: #f0f0f0;
}

#JXKBdyBdy				/* Body content wrapper .. */
{					/* .. body box-shadow NOT drawn in IE */
 margin: 50px;				/* wide enough to show DIVTOL and shadows */
/* border-top: 4px solid #ffffff;
border-left: 4px solid #ffffff;
border-bottom: 4px solid #ffffff;
border-right: 4px solid #ffffff;
 */
 border: 2px solid #a0a0a0;
 border-radius: 20px;

 box-shadow: 20px 20px 10px #808080;
  background-color: #ffffff;
 background: -webkit-linear-gradient(left top, #ffffff, #ffffff);
 background: -o-linear-gradient(left top, #ffffff, #ffffff);
 background: -moz-linear-gradient(left top, #ffffff, #ffffff);
 background: linear-gradient(left top, #ffffff, #ffffff);
					/* from dark left top to light bottom right */
 font-size: 1.2em;			/* usually 12px */
}

#JXKBdyBdy>div				/* Body inner wrapper */
{
 min-height: 800px;			/* please, do NOT cut off pop down menus */
}

#DIVFOT
{					/* Footer */
 clear: both;
 margin: 10px auto;
 padding-top: 10px;
 border-top: 2px solid #a0a0a0;
}

div.row					/* row container */
{
 width: 100%;				/* width+overflow stretch height over ... */
 overflow: hidden;			/* ... floating children */
  box-sizing: border-box;
 -moz-box-sizing: border-box;
 padding: 5px 0px;
 clear: both;
}

div.hlf					/* half row container */
{
 width: 50%;
 float: left;
}
										
input, textarea, select
{
 border: 1px solid #000000;
 box-shadow: 4px 4px 2px #808080;
}

input[type="checkbox"], input[type="radio"], input[type="image"]
{
 border: none;
 box-shadow: none;
}

input[type="button"], input[type="submit"]
{
  background-color: #c0c0c0;
 background: -webkit-linear-gradient(left top, #b6b6b6, #c9c9ca);
 background: -o-linear-gradient(left top, #b6b6b6, #c9c9ca);
 background: -moz-linear-gradient(left top, #b6b6b6, #c9c9ca);
 background: linear-gradient(left top, #b6b6b6, #c9c9ca);
 border-top: 2px solid #e6e6e6;
border-left: 2px solid #e6e6e6;
border-bottom: 2px solid #99999a;
border-right: 2px solid #99999a;
 color: #000000;
 border-radius: 5px;

 box-shadow: 6px 6px 3px #808080;
}

input[type="button"]:hover, input[type="submit"]:hover
{
  background-color: #acacad;
 background: -webkit-linear-gradient(left top, #a3a3a4, #b4b4b6);
 background: -o-linear-gradient(left top, #a3a3a4, #b4b4b6);
 background: -moz-linear-gradient(left top, #a3a3a4, #b4b4b6);
 background: linear-gradient(left top, #a3a3a4, #b4b4b6);
 border-top: 2px solid #ceced0;
border-left: 2px solid #ceced0;
border-bottom: 2px solid #89898a;
border-right: 2px solid #89898a;
					/* everything darker than in normal state */
 box-shadow: 4px 4px 0px #808080;
					/* button is pushed, thereby smaller than in normal state */
}

table
{
 border-collapse: collapse;
 empty-cells: show;
}

.hid					/* hidden elements */
{
 display: none;
}

td.hid, th.hid				/* hidden table cells */
{
 width: 0px;				/* do NOT remove from flow */
}

.shw					/* shown elements */
{
 display: block;
}

tr.shw					/* shown table rows */
{					/* preserves table layout needed by chrome/FF */
 display: table-row;
}

.lft					/* left floating */
{
 float: left;
}

.rgt					/* right floating */
{
 float: right;
}

.clr					/* floating clearer */
{
 clear: both;
}

.txl					/* left aligned text */
{
 text-align: left;
}

.txr					/* right aligned text */
{
 text-align: right;
}

.txc					/* centered text */
{
 text-align: center;
}

.txj					/* justified text */
{
 text-align: justify;
}

.fit
{
 width: 100%;				/* width+overflow stretch height over ... */
 overflow: hidden;			/* ... floating children */
 height: 100%;
}

.w90
{
 width: 90%;
 margin: 10px 5%;
}

div.hlp					/* user guide */
{
 position: relative;
 font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
 font-size: large;
}

div.hlp p
{
 margin: 0px;
 padding: 5px 20px;
 text-align: justify;
}

/*------------------------------------------------------------------------------*/
/* FORM e loro contenuto							*/
/*										*/
/* Allineare ordinatamente in colonna i contenuti dei form rende la pagina  più	*/ 
/* gradevole dal punto di vista estetico e, soprattutto,  evita  di  confondere	*/
/* luutente ed indurlo in errore. In linea di principio  tale  allineamento  si	*/
/* potrebbe ottenere tramite le seguenti semplici direttive CSS:		*/
/* - width: xx%; 	xx = opportuna percentuale del contenitore		*/
/* 			- 50%, impaginazione su 2 colonne			*/
/* 			- 25%, impaginazione su 4 colonne			*/
/* - display: block;								*/
/* - float: left;								*/
/* In realtà questa tecnica ha ben poche possibilità di successo, perché quando	*/
/* si eccede la larghezza del contenitore l'elemento successivo viene  incolon-	*/
/* nato alla destra del primo della riga precedente con altezza  maggiore  del-	*/
/* l'ultimo. Non potendo impostare un'altezza prefissata comune, l'unica  solu-	*/
/* zione efficace per eliminare eventuali "scalini" verticali è quella  di  in-	*/
/* capsulare ogni riga in un contenitore, ricorrendo a codice HTML non signifi-	*/
/* cativo per supportare l'impaginazione. Considerato che del codice HTML  sus-	*/
/* sidiario sarebbe stato comunque inevitabile si è deciso di utilizzarlo anche */
/* ove non strettamente indispensabile ma utile per semplificare il codice CSS. */
/* Le classi c02, c03 e c04 a livello di fieldset consentono di dichiarare  im-	*/
/* paginazioni su 2, 3 o 4 colonne, ciascuna delle quali contiene  etichetta  e	*/ 
/* controllo di immissione a loro volta incolonnati.				*/
/* Gli elementi div con classe "row" incapsulano ciascuna riga.			*/
/* Al loro interno ulteriori div di classe "cel" incapsulano le celle che ospi-	*/
/* tano un'etichetta ed il relativo controllo di immissione, tabelle di  spunta	*/
/* comprese. Questi contenitori sono opzionali per i layout a colonna  singola,	*/
/* obbligatori per quelli a più colonne.					*/
/*------------------------------------------------------------------------------*/
form
{
 min-width: 600px;
 margin: 40px auto;
 padding: 20px;
/* border-top: 4px solid #ffffff;
border-left: 4px solid #ffffff;
border-bottom: 4px solid #ffffff;
border-right: 4px solid #ffffff;
 */
 border: 2px solid #a0a0a0;
 border-radius: 20px;

 box-shadow: 20px 20px 10px #808080;
  background-color: #ffffff;
 background: -webkit-linear-gradient(left top, #ffffff, #ffffff);
 background: -o-linear-gradient(left top, #ffffff, #ffffff);
 background: -moz-linear-gradient(left top, #ffffff, #ffffff);
 background: linear-gradient(left top, #ffffff, #ffffff);
 clear: both;
}

/* ##@@## MLR 2015/01/07 Inizio */
form.rug
{					/* rough forms */
 min-width: 0px;
 margin: 0px;
 padding: 0px;
 border: none;
 border-radius: 0px;

 box-shadow: none;
}
/* ##@@## MLR 2015/01/07 Fine */

fieldset
{
 width: 90%;
 margin: auto;
 padding: 20px 0px;
}

fieldset legend
{
 margin-bottom: 20px;			/* space first row */
 font-size: x-large;
 text-align: left;
}

fieldset label
{
 text-align: right;
}

fieldset div.row			/* row container */
{
 margin-bottom: 20px;			/* space next row */
}

fieldset div.cel			/* cel container */
{
 width: 100%;				/* single column layout default */
 float: left;
}

fieldset.c02 div.cel			/* 2 columns layout */
{
 width: 50%;
}

fieldset.c03 div.cel			/* 3 columns layout */
{
 width: 33.33%;
}

fieldset.c04 div.cel			/* 4 columns layout */
{
 width: 25%;
}

fieldset input, fieldset select, fieldset textarea, fieldset label
{
 width: 48%;
 display: block;			/* Width does NOT work on inline elements! */
  box-sizing: border-box;
 -moz-box-sizing: border-box;
 float: left;
 margin: 0px 1%;
}

table input, table textarea, table select
{
 box-shadow: none;
}

fieldset input[type="button"], fieldset input[type="submit"]
{
 width: auto;
 min-width: 120px;
 margin: auto;
 text-align: center;
 padding: 5px;
 float: none;
 clear: both;
}

fieldset div.ovf			/* overflow hidden container */
{
 width: 80%;
 max-height: 250px;
 margin-top: 4px;			/* does not work after floated siblings */
 margin-left: 19%;
 margin-right: 1%;
 border: 1px solid #a0a0a0;
  box-sizing: border-box;
 -moz-box-sizing: border-box;
 overflow: auto;
 clear: left;
 box-shadow: 4px 4px 2px #808080;
}

fieldset div.ovf td
{
 min-width: 32px;
 border: 1px solid #a0a0a0;
}

/*------------------------------------------------------------------------------*/
/* MENU generale								*/
/*										*/
/* Dal menù generale, orizzontale, si accede a sottomenù verticali che si apro-	*/
/* automaticamente al passaggio del mouse (la proprietà visibility dell'elemen- */
/* to UL contenitore, normalmente hidden, diventa visible nello  stato  hover).	*/
/* Al passaggio del mouse le opzioni attive, compresa  l'eventuale  radice  del	*/
/* sottomenù corrente, sono evidenziate con bordi e sfondi diversi, ancora  una	*/
/* volta agendo sulle rispettive proprietà CSS nello stato hover.		*/
/*------------------------------------------------------------------------------*/
#DIVBAR
{
 width: 100%;
 margin: 0px auto;			/* center content inside */
 padding-top: 10px;
 padding-bottom: 10px;
 clear: both;
 color: #000000;
}

#DIVBAR ul				/* menu items */
{
 display: inline-block;
/* float: left;	*/			/* Horizontal menu */
 margin-right: 8px;			/* shadow size + 2 */
 margin-bottom: 2px;			/* shadow size */
 border-top: 2px solid #ffffff;
border-left: 2px solid #ffffff;
border-bottom: 2px solid #b3b3b3;
border-right: 2px solid #b3b3b3;
 border-radius: 8px;

 box-shadow: 4px 4px 2px #808080;
 background-color: #e0e0e0;
 overflow: visible;
}

#DIVBAR>ul				/* top level menu */
{ 
 font-size: large;
}

/* MLR 2017/07/25 Inizio */
/*#DIVBAR>ul>li>ul	*/		/* second level menu */
#DIVBAR ul ul				/* nested menu */
/* MLR 2017/07/25 Fine */
{ 
 font-size: small;			/* back to default (from large of top level menu) */
}

#DIVBAR li				/* menu item options */
{
 min-width: 100px;
/* MLR 2017/07/25 Inizio */
 white-space: nowrap;			/* single line (wide as needed) */
/*
Gli elementi LI, come tutti i blocchi, iniziano sempre su una nuova riga e oc-
cupano interamente lo spazio orizzontale disponibile, di conseguenza tutte  le
opzioni di un sottomenù hanno la medesima larghezza, quella della più ampia.
*/
/* MLR 2017/07/25 Fine */
 height: 36px;
 margin: 0px auto;
 position: relative;			/* needed by absolute positioned inner ul */
 padding: 4px;
 border: 2px solid #e0e0e0;
					/* same as background color, thereby invisible */
 border-radius: 6px;
			/* (border-radius  - border-size) of <ul> container */
 line-height: 36px;			/* centers single line text vertically */
 list-style-type: none;
 cursor: pointer;
 overflow: visible;
}

/* MLR 2017/07/25 Inizio */
/*#DIVBAR li ul		*/		/* submenu */
#DIVBAR ul ul				/* submenu */
/* MLR 2017/07/25 Fine */
{
 position: absolute;
 left: 10px;
 top: 46px;				/* (border box height - bottom border) of <li> container */
 visibility: hidden;			/* usually hidden */
 z-index: 255;				/* on top all other elements */
}

/* MLR 2017/07/25 Inizio */
#DIVBAR ul ul ul			/* nested submenu */
{					/* displayed beside container on the right */
/* 
  I sottomenù nidificati non devono coprire quelli del  livello  superiore  perché
  renderebbero inaccessibili eventuali opzioni che li  seguono,  come  evidenziato
  dalle seguenti figure che mostrano un ramo a riposo e con un sottomenù di due e-
  lementi espanso.
  +-----------+  	  +-----------+
  | ROOT MENU |		  | ROOT MENU |
  +-----------+  	  +-----------+
  | SUBMENU 1 |  	  | SUBMENU 1 |
  +-----------+  	  +-----------+
  | OPTION 01 |  	  | OPTION 11 | 	(OPTION 11 nasconde OPTION 01)
  +-----------+  	  +-----------+
  | OPTION 02 |  	  | OPTION 12 |		(OPTION 12 nasconde OPTION 02!)
  +-----------+  	  +-----------+
  | OPTION 03 |  	  | OPTION 03 |
  +-----------+  	  +-----------+
  Per evitare che ciò accada i sottomenù nidificati vanno aperti a fianco del loro
  contenitore, come da figura seguente.
  +-----------+  	  +-----------+
  | ROOT MENU |		  | ROOT MENU |
  +-----------+  	  +-----------+-----------+
  | SUBMENU 1 |  	  | SUBMENU 1 | OPTION 11 |
  +-----------+  	  +-----------+-----------+
  | OPTION 01 |  	  | OPTION 01 | OPTION 12 |
  +-----------+  	  +-----------+-----------+
  | OPTION 02 |  	  | OPTION 02 |
  +-----------+  	  +-----------+
  | OPTION 03 |  	  | OPTION 03 |
  +-----------+  	  +-----------+
  ATTENZIONE! In caso di più livelli si rischia di eccedere la dimensione orizzon-
  tale della pagina ed il conseguente troncamento del menù. Per ovviare  a  questo
  inconveniente si possono espandere i menù alternativamente da un lato e dall'al-
  tro del contenitore. Tale soluzione comporta ancora delle sovrapposizioni, sgra-
  devoli e disordinate, ma che almeno non impediscono la navigazione.
*/
 left: 100%;
 top: -2px;				/* top border size of <li> container */
}
/* MLR 2017/07/25 Fine */

#DIVBAR li li				/* submenu item options */
{
 min-width: 200px;			/* wide enough for large caption */
}

#DIVBAR li:hover
{
 border-top: 2px solid #b3b3b3;
border-left: 2px solid #b3b3b3;
border-bottom: 2px solid #ffffff;
border-right: 2px solid #ffffff;
 background-color: #c9c9ca;
}

/* MLR 2017/07/25 Inizio */
/* #DIVBAR li:hover ul   */
#DIVBAR li:hover>ul			/* Not nested submenus (wait hover state) */
/* MLR 2017/07/25 Fine */
{
 visibility: visible;
}

/*------------------------------------------------------------------------------*/
/* Overlapped pages control							*/
/*------------------------------------------------------------------------------*/

#DIVTOL					/* Overlap controls container */
{
 position: absolute;
 left: 12px;				/* offset of pages wrapper - width .. */
 top: 200px;				/* .. wrapper offset = margin + border */
 width: 40px;
}

#DIVTOL>input[type="image"]
{
 position: relative;
 
width: 32px;
 padding: 2px;
 
border-top: 1px solid #d0d0d0;
 
border-right: 3px outset #d0d0d0;
 
border-bottom: 3px outset #d0d0d0;
 
border-left: 1px solid #d0d0d0;
 
border-bottom-left-radius: 10px;
 
border-top-left-radius: 10px;
 background-color: #ffffff;
					/* same as pages wrapper */
 clear: both;
 z-index: 1;
}

#DIVTOL>input[type="image"].sel
{
 left: 1px;				/* balance cleared right border */
 
border-top: 3px inset #d0d0d0;
 
border-right: none;
 
border-bottom: 1px solid #d0d0d0;
 
border-left: 3px inset #d0d0d0;
}

/*------------------------------------------------------------------------------*/
/* MAPPE									*/
/*------------------------------------------------------------------------------*/
#DIVMAP, #DIVMP1			/* map containers */
{
 width: 100%;				/* width+overflow stretch height over ... */
 overflow: hidden;			/* ... floating children */
 margin: 10px auto;
 position: relative;
 background-color: #ffffff;
}

div.mtb					/* map tools box container */
{
 width: 220px;
 position: absolute;
 top: 0px;
 left: 100px;
 border: 1px solid #a0a0a0;
 border-radius: 8px;

 padding: 2px;
 background-color: #ffffff;
 font-size: large;
 z-index: 1;				/* on top of map */
}

div.mtb	span:first-child		/* map tools box caption */
{
 cursor: pointer;
 text-decoration: underline;
}

div.mtb.opn				/* map tools opened box */
{
 opacity: 1.0;
 filter: alpha(opacity=100);		/* For IE8 and earlier */
}

div.mtb.cls				/* map tools closed box */
{
 opacity: 0.8;
 filter: alpha(opacity=80);		/* For IE8 and earlier */
}

div.mtb>div				/* inside map tools box */
{
 border-top: 1px solid #a0a0a0;
 font-size: x-small;			/* less than default (from large) */
}

div.mtb.cls>div				/* tools inner container inside closed box */
{
 display: none;
}

div.mtb.opn>div				/* tools inner container inside opened box */
{
 display: block;
}

div.mtb div.row				/* tools box option container */
{
 border-bottom: 1px solid #a0a0a0;
}

div.mtb input[type="image"]		/* map tools buttons */
{
 height: 2em;
 cursor: pointer;
}

/*------------------------------------------------------------------------------*/
/* REPORT									*/
/*------------------------------------------------------------------------------*/

div.rpt					/* report outer wrapper */
{
 width: 100%;
 height: 480px;
 position: relative;
 overflow: hidden;
 background-color: #ffffff;
}

div.rpt>div				/* report inner wrapper */
{
 width: 100%;
 height: 100%;
 position: relative;
 overflow; hidden;
 margin; 0px;
 padding; 0px;
 border; 0px solid #000000;
}

div.rpt>div				/* wrappers of report elements */
{
/* position: absolute; */
/* overflow: hidden; */
}

div.rpt>div.dat				/* report data wrapper */
{
/* overflow: scroll; */
}

table.rpt				/* reports */
{
 width: 100%;				/* Any width, but auto! */
/*
 By default (width = auto) the browser does not allow to change total width  of  ta-
 bles, so when some column changes it evaluates and applays a  new  layout.  Setting
 width to 0px disables this behaviour and is safe, as table enlarges to fit its con-
 tent. Setting width to 100% can work too, as well as table is wider than its conta-
 iner!
*/
 margin-top: 10px;
 margin-bottom: 20px;
 margin-left: 0px;
 margin-right: 10px;
  box-sizing: border-box;
 -moz-box-sizing: border-box;
 empty-cells: show;
 box-shadow: 8px 8px 4px #808080;
 border-collapse: collapse;
 background-color: #ffffff;
 color: #000000;
/* table-layout: fixed; */		/* CAUTION! In buggy webkit involves box-sizing: border-box */
}

table.rpt *
{
  box-sizing: border-box;
 -moz-box-sizing: border-box;
 margin: 0px;
}

table.rpt th, table.rpt td
{
/* width: 188px; */
 padding: 5px 5px;
 border: 1px solid #c0c0c0;
 word-wrap: break-word;			/* Allows columns resize */
 word-break: break-all;			/* Lets word-wrap:break-word work in IE */
}

table.rpt th.wx2, table.rpt td.wx2
{
 width: 388px;
}

table.rpt th
{
 background-color: #e0e0e0;
}

table.rpt td
{
 background-color: #ffffff;
}

table.rpt td.pen			/* edit pending style */
{
 background-color: #c0c000;		/* yellow backgrund */
}

table.rpt td.err			/* edit failed style */
{
 background-color: #c00000;		/* red background */
}

/*------------------------------------------------------------------------------*/
/* GRIDS									*/
/* Le griglie sono implementate dai seguenti elementi collegati nidificati:	*/
/* <div>		contenitore esterno di dimensioni prefissate		*/
/*  <div>		contenitore con posizionamento relativo			*/
/*   <div>		contenitore assoluto celle fisse (opzionale)		*/
/*    <table>									*/
/*    </table>									*/
/*   </div>									*/
/*   <div>		contenitore assoluto etichette colonne (opzionale)	*/
/*    <table>		scorrevole orizzontalmente				*/
/*    </table>									*/
/*   </div>									*/
/*   <div>		contenitore assoluto etichette righe (opzionale)	*/
/*    <table>		scorrevole verticalemnte				*/
/*    </table>									*/
/*   </div>									*/
/*   <div>		contenitore assoluto celle dati				*/
/*    <table>		scorrevole in entrambe le direzioni			*/
/*    </table>									*/
/*   </div>									*/
/*   <table>		contenitore nascosto controlli immissione (opzionale)	*/
/*   </table>									*/
/*   <div>		contenitore tools di colonna (opzionale)		*/
/*   </div>									*/
/*   <div>		contenitore tools di riga (opzionale)			*/
/*   </div>									*/
/*  </div>									*/
/* </div>									*/
/* In tutte le celle i contenuti sono sempre annidati in un contenitore che  ne	*/
/* limita l'estensione verticale (overflow: scroll) e, di conseguenza, l'altez-	*/
/* za della riga, non controllabile altrimenti dato che le direttive  height  e	*/
/* max-height non sono efficaci per gli elementi di tabella.			*/
/* Alcuni aspetti visuali degli elementi che costituiscono la  griglia,  essen-	*/
/* ziali per il loro corretto funzionamento, sono impostati a codice,  di  con-	*/
/* seguenza non possono essere personalizzati tramite foglio di stile.		*/
/*------------------------------------------------------------------------------*/

table.JXKpgd, table.JXKhdr
{					/* Grid linked tables */
 width: 0px;				/* Any width, but auto! */
/*
 By default (width = auto) the browser does not allow to change total width  of  ta-
 bles, so when some column changes it evaluates and applays a  new  layout.  Setting
 width to 0px disables this behaviour while lets table enlarge to fit  its  content.
 Anyway in IE the bounding box of null width tables may be smaller than its real si-
 ze.
*/
 table-layout: fixed; 			/* CAUTION! In buggy webkit involves box-sizing: border-box */
 border-collapse: collapse;
}

table.JXKpgd *, table.JXKhdr *
{					/* Linked tables content */
 word-wrap: break-word;			/* Allows columns resize */
 word-break: break-all;			/* Lets word-wrap:break-word work in IE */
}

/* ##@@## MLR 2015/01/07 Inizio */
table.JXKpgd tr, table.JXKhdr tr	/* Grid rows */
{
 height: 48px;				/* Remind, on table elements height means min-height! */
}
/* ##@@## MLR 2015/01/07 Fine */

table.JXKpgd td, table.JXKpgd th, table.JXKhdr td, table.JXKhdr th
{					/* Linked tables cells */
 width: 180px;
  box-sizing: border-box;
 -moz-box-sizing: border-box;
 padding: 5px 5px;
 color: black;
}

table.JXKpgd td
{					/* grid data cells */
 border: 1px solid #e0e0e0;
 background-color: #ffffff;
}

table.JXKpgd th, table.JXKhdr td, table.JXKhdr th
{					/* grid header cells */
 border: 1px solid #e0e0e0;
 background-color: #f0f0f0;
}

table.JXKhdr th span
{					/* headers caption (tool box toggler) */
 cursor: pointer;
 text-decoration: underline;
}


table.JXKpgd div.JXKtcd
{					/* Grid data cells data containers */
 max-height: 160px;			/* max/min-height do NOT applay to table elements! */
 min-height: 28px;
 overflow: auto;
 background-color: transparent;
}

table.JXKhdr div.JXKtcd img
{
 float: left;
}

table.JXKhdr div.JXKtcd
{					/* Grid header cells data containers */
 max-height: 80px;
 min-height: 28px;
 overflow: hidden;
}

table.JXKpgd tr.JXKfoc div.JXKtcd
{					/* paged tables fucused cells */
 min-height: 96px;
}

table.JXKpgd tr.JXKfoc td.JXKfoc
{					/* paged tables fucused cells */
 background-color: #f0fff0; 
}

table.JXKpgd tr.JXKpen td		/* Rimind, row background overwritten by cells! */
{					/* rows waiting server anser */
 background-color: yellow; 
}

table.JXKpgd tr.JXKerr td		/* Rimind, row background overwritten by cells! */
{					/* invalida data rows */
 background-color: red; 
}

table.JXKpgd td input, table.JXKpgd td select, table.JXKpgd td textarea
{					/* paged tables cells default */
 width: 100%;
 border: 1px solid #e0e0e0;
 background-color: #ffffe0;		/* LightYellow */
}

table.JXKpgd td textarea
{					/* paged tables cells default */
 min-height: 100px;
}

table.JXKpgd tr.pen *			/* changes pending style */
{
 background-image: none;
 background-color: #e0e000;		/* yellow backgrund */
}

table.JXKpgd tr.err *			/* invalid changes style */
{
 background-image: none;
 background-color: #e00000;		/* red background */
}

div.JXKtol
{
 min-width: 120px;
 position: absolute;
 background-color: #ffffff;
 border: 1px solid black;
 border-radius: 4px;

 box-shadow: 2px 2px 2px #808080;
 padding: 2px;
 overflow: hidden;
}

.JXKtol img
{
 height: 1.5em;
 vertical-align: middle;
}

/*
.JXKtol input
{
 border: 1px solid #0000ff;
 background-color: khaki;
}
*/

/* ##@@## MLR 2014/10/16 Inizio */
hr
{
 margin: 10px;
 border: 2px outset #000080;
}
/* ##@@## MLR 2014/10/16 Fine */

/* ##@@## MLR 2015/01/07 Inizio */
div.err					/* error background */
{
 min-height: 400px;
 background-image: url('../img/forbidden.png');
 background-position: center center;
 background-repeat: no-repeat;
}
/* ##@@## MLR 2015/01/07 Fine */

/* ##@@## MLR 2015/05/18 Inizio */
#PIDDER					/* error background */
{
 min-height: 38px;
 background-image: url('../img/err.png');
 background-position: left center;
 background-repeat: no-repeat;
 padding-left: 43px;
}

div.ovf 				/* overflow hidden container */
{
 width: 90%;
 max-height: 250px;
 margin-top: 4px;			/* does not work after floated siblings */
 border: 1px solid #a0a0a0;
 overflow: auto;
 clear: left;
}

div.ovf td 
{
 min-width: 32px;
 border: 1px solid #a0a0a0;
}
/* ##@@## MLR 2015/05/18 Fine */
