:root {
    --clrbck: white;
    --clrtxt: black;
    --clrbck-select: #555555;
    --clrbck-locked: #dddddd;
    --clrtxt-select: White;
    --clrtxt-list-a: Blue;
    --clrbck-list: White; 
    --clrbck-hdr: #eeeeee;
    --clrbrd-hdr: silver;
    --clrbck-hover: rgba(110,110,110,0.5);
    --clrbck-folder: #eeeeee;
    --clrbck-tab: #cccccc;
    --clrbck-tab-hover: #555555;
    --clrtxt-tab-hover: white;
    --clrbck-sidebar: Silver;
    --clrbck-cur-tab: Maroon;
    --clrtxt-cur-tab: white;
    --clrtxt-subttl: black;
    --clr-outline: red;
    --clrbck-err: rgb(192,0,0);
    --clrbck-errtxt: white;
    --clrbck-alt: #f5f5dc;  /* Beige */
    --topedge: 0px;
    --leftedge: 0px;
}

body { font-family: Arial, Helvetica, sans-serif; font-size: 13px; margin: 0; background-color: var(--clrbck, white);}
input:invalid:not([required]), body[data-chk] input:invalid { box-shadow: 0px 0px 10px var(--clrbck-err); }
input, textarea, button { box-sizing: border-box; font-weight: inherit;}
button { vertical-align: middle; } 
body.iPad button { padding: 2px; -webkit-appearance: none; }
body.iPad input { border-radius: 0;}
input[type="date"] { font-family: inherit; text-indent: 0px; border: solid 1px Silver;}
div.binddata input { font-size: inherit; font-family: inherit; color: inherit;}
input[data-lock="Y"] { pointer-events: none; }
select[data-lock="Y"] { pointer-events: none; background-color: var(--clrbck-locked); -moz-appearance: none; -webkit-appearance: none; }
select {background-color: white; border: solid 1px silver;}

.binderr, .bindalert { background-color: Maroon; color: var(--clrbck-errtxt); }
.binderr { position: relative; }
.binderr span { display: none; white-space: nowrap; z-index: 25; padding: 3px 6px; font-size: 150%; background-color: rgb(255 255 230); border: solid 2px Maroon; position: absolute; top: 1.2em; left: 3ch; color: Black;}
.binderr:hover span { display: block; }
.bindalert:not(:empty):before { display: inline-block; color: black; text-align: center; content: "!"; width: 2ch;  border-radius: 50%; margin: 6px; background-color: yellow; border: solid 2px Black; }
.bindalert:not(:empty) {font-size: 200%; display:block; vertical-align: middle; }

.infobox { background: #e0ffe0; border: solid 1px green; margin: 4px 10px 6px; width: auto; display: none; padding: 8px 10px; }
.infobox.flex:not(:empty) { display: inline-block; }
.infobox:not(.flex):not(:empty) { display: block; }
.infobox[data-pfx="*"] { background: #ffe0e0; border-color: Maroon;}
.infobox[data-pfx="!"] { background: #ffffA0; border-color: Orange;}
.infobox[data-pfx="i"] { background: #e0f0ff; border-color: Navy;}

input.bind3state { display: none; }
input.bind3state:checked + input { filter:  invert(100%); /* or use brightness(0%) for solid fill */ }
select[size] { vertical-align: top; }
input:focus, button:focus, select:focus, textarea:focus { outline: 1px solid var(--clr-outline); }
button:disabled { color: rgba(170,170,170,.8); }
input[readonly]:not(.bind_fcs), textarea[readonly] { background-color: var(--clrbck-locked); border: solid 1px var(--clrbrd-hdr);}
._td > input[readonly] { background-color: initial; border: initial;}
input[type="checkbox"] { width: 1.25em; height: calc(1em + 4px); vertical-align: sub; margin:2px 0 0 0;}
input[type="text"]:not(.bind_fcs), input[type="email"], input[type="url"], input[type="number"], input[type="password"], textarea { border: solid 1px Silver; padding: 2px; }
input[step] { padding-right: 0;}

span.bindqry { position: relative; left: -20px; width: 20px; font-size: 90%; cursor: zoom-in; }
span.bindqry1 { position: relative; }
span.bindqry2 { position: absolute; right: 0px; top: 0; width: 20px; font-size: 90%; cursor: zoom-in; }
span.bindqry2.dropqry { font-size: 100%; font-weight: bolder; text-align: center;}
span.bindcalc.dropqry { font-size: 100%; font-weight: bolder; padding-left: 5px;}
input[data-qry] { padding-right: 20px !important;}

/* Report view lists */

.bindrpt { display: inline-block; vertical-align: top; border: 1px solid; box-sizing: border-box; max-width: 100%; background-color: var(--clrbck-list);}

/* Use Divs like table */
div._table { display: table; width: -webkit-max-content; width: -moz-max-content; width: max-content;}
div._tr { display: block; /* table-row; */}
div._td { display: table-cell; vertical-align: middle; white-space: nowrap; box-sizing: border-box; padding: 2px; }
.bindrpt div._td { padding: 3px 3px; overflow: hidden;  text-overflow: ellipsis; }

div._tr[data-drag] {top: 0px; position: relative; background-color: white; outline: solid 1px black; filter: sepia(75%); pointer-events: none; box-shadow: 5px 10px 18px #888888;}
div._tr[data-del]  { background-color: white; outline: solid 1px Cyan; filter: invert(100%) sepia(75%); box-shadow: 5px 10px 18px Cyan;}
.rowdrag {  cursor: ns-resize; }
.bindhdr { background-image: linear-gradient(rgb(240 240 240), Silver); overflow: hidden; height: 1.90em; }
.bindhdr div._table div._td { height: 1.90em; padding-top: .3em; border-right: 1px solid #555; text-align: center !important; position: relative; }
.bindhdr div._table div._td[data-srt="U"]:after { content: "\25B3"; left: calc(50% - .5ch); position: absolute; font-size: 75%; top: -4px; }
.bindhdr div._table div._td[data-srt="D"]:after { content: "\25BD"; left: calc(50% - .5ch); position: absolute; font-size: 75%; top: -3px; }
.bindhdr div.bindsize { right: 0px; top: -3px; position: absolute;  margin: 0; padding: 0; width: 3px; height: 100%; cursor: ew-resize; }
.bindhdr div._table div._td[data-last] { width: 18px; min-width: 18px; border-right: none ; display: table-cell;}
.pageno { padding: 4px; border: 1px solid black; background-image: linear-gradient(rgb(240 240 240), Silver); }
.pagenodiv { width: fit-content; max-width: 100%;}

/* Only Firefox needs the extra column for the scroll bar
@-moz-document url-prefix() {
  .bindhdr div._table div._td[data-last] { display: table-cell;}
}
*/

div._td:nth-child(1) { width:var(--w1); max-width:var(--w1);}
div._td:nth-child(2) { width:var(--w2); max-width:var(--w2);}
div._td:nth-child(3) { width:var(--w3); max-width:var(--w3);}
div._td:nth-child(4) { width:var(--w4); max-width:var(--w4);}
div._td:nth-child(5) { width:var(--w5); max-width:var(--w5);}
div._td:nth-child(6) { width:var(--w6); max-width:var(--w6);}
div._td:nth-child(7) { width:var(--w7); max-width:var(--w7);}
div._td:nth-child(8) { width:var(--w8); max-width:var(--w8);}
div._td:nth-child(9) { width:var(--w9); max-width:var(--w9);}
div._td:nth-child(10) { width:var(--w10); max-width:var(--w10);}
div._td:nth-child(11) { width:var(--w11); max-width:var(--w11);}
div._td:nth-child(12) { width:var(--w12); max-width:var(--w12);}
div._td:nth-child(13) { width:var(--w13); max-width:var(--w13);}
div._td:nth-child(14) { width:var(--w14); max-width:var(--w14);}
div._td:nth-child(15) { width:var(--w15); max-width:var(--w15);}
div._td:nth-child(16) { width:var(--w16); max-width:var(--w16);}
div._td:nth-child(17) { width:var(--w17); max-width:var(--w17);}
div._td:nth-child(18) { width:var(--w18); max-width:var(--w18);}
div._td:nth-child(19) { width:var(--w19); max-width:var(--w19);}
div._td:nth-child(20) { width:var(--w20); max-width:var(--w20);}
div._td:nth-child(21) { width:var(--w21); max-width:var(--w21);}
div._td:nth-child(22) { width:var(--w22); max-width:var(--w22);}
div._td:nth-child(23) { width:var(--w23); max-width:var(--w23);}
div._td:nth-child(24) { width:var(--w24); max-width:var(--w24);}
div._td:nth-child(25) { width:var(--w25); max-width:var(--w25);}

.alternating div._tr:nth-of-type(even) { background-color: var(--clrbck-alt); }

.binddata { overflow: auto; width: 100%; height: calc(100% - 1.90em); position: relative; background-color: inherit; }
.binddata a, .binddata a:visited , .binddata a:link{text-decoration: underline; color: var(--clrtxt-list-a);}
div._tr[data-sel] a, div._tr[data-sel] a:visited, div._tr[data-sel] a:link {color: var(--clrtxt-select);}

.bindlist div._tr:hover { background-image: linear-gradient(rgba(240,240,240,.5),var(--clrbck-hover, silver),rgba(240,240,240,.5)); }
.bindlist div._tr[data-sel] { background-color: var(--clrbck-select); color: var(--clrtxt-select); }
.bindgrid div._td input:not([type="checkbox"]):not([type="radio"]) { width: 100% !important; border: none; background: transparent; }
.bindgrid div._td select { width: 100% !important; }
 
.bind_fcs { position: absolute; top: 0;  background: transparent; color:transparent; border: none; pointer-events: none; padding: 3px 1px; box-sizing: border-box;}

div._td:has(> input:read-only), div._td:has(> textarea:read-only), div._td:has(> input:disabled) { background-color: var(--clrbck-locked); }
.locked_col { background-color: var(--clrbck-locked); }

/* Tab formatting  */

/* Tab style -- default */
ul.bindtabs { list-style: none; position: relative; float: none; padding: 0;}
ul.bindtabs > li { float: left; }
ul.bindtabs > li > input { display: none; }
ul.bindtabs > li > label { display: block; padding: 6px 10px; background-color: var(--clrbck-tab); border-radius: 8px 8px 0 0; margin-left: 2px; margin-right:3px; cursor: pointer; position: relative; }  
ul.bindtabs > li > input:checked + label { font-weight: bold; background-color: var(--clrbck-folder); }
.stdtab ul.bindtabs > li > input + label { top: 1px; }
.stdtab ul.bindtabs > li > input:checked + label { border: solid 1px Silver; border-bottom-width: 0; z-index: 10; } 
.stdtab;not(.web) .bindtabdiv { border: solid 1px Silver; }
ul.bindtabs > li > div { background-color: var(--clrbck-folder); visibility: hidden; width: 100%; position: absolute; left: 0; padding: .5em 1ch; box-sizing: border-box; overflow: auto; }
ul.bindtabs > li > input:checked + label + div { visibility: inherit;}
.bindspacer { visibility: hidden; z-index: -1; clear: both;}
input:not(:checked) + .bindtab:hover { text-decoration: underline;  background-color: var(--clrbck-tab-hover); color: var(--clrtxt-cur-tab);}

/* Web style */
div.web > ul.bindtabs { display: block; background: Silver; margin: 0; height: 2.2em;}
div.web > ul.bindtabs > li > label { background: transparent; border-radius: 0 0 0 0; padding: .5em 10px; }  
div.web > ul.bindtabs > li > input:checked + label { background-color: var(--clrbck-cur-tab); color: var(--clrtxt-cur-tab); }
div.web > ul.bindtabs > li > div  { background: transparent; padding-left: 0; padding-right:0;}
div.web > ul.bindtabs + .bindspacer { visibility: hidden; z-index: -1; clear: both;}
div.web input:not(:checked) + .bindtab:hover {  background-color: var(--clrbck-tab-hover); color: var(--clrtxt-tab-hover); }

/* Side Bar */
#sidebar { position: absolute; top:0; left: 0; padding-left: 160px; width: calc(100% - 160px); }
#sidebar::after { content: " "; position: fixed; top: var(--topedge); left: var(--leftedge); width: 150px; height: calc(100vh - var(--topedge)); background-color: var(--clrbck-sidebar); z-index: -1; overflow: hidden;}
div.bar > ul.bindtabs + .bindspacer { visibility: visible; border-top: solid 1px Silver; border-bottom: solid 1px Silver; padding-bottom: 4px; }
div.bar > ul.bindtabs {  margin: 0;  position: absolute; top: 4px; left: -160px; width: calc(100% + 160px); }
div.bar > ul.bindtabs > li:first-child { border-top: solid 1px White; }
div.bar > ul.bindtabs > li { clear: both; width: 150px; background: var(--clrbck-sidebar); border-bottom: solid 1px White;}
div.bar > ul.bindtabs > li > label { background: transparent; border-radius: 0; margin-right: 0px;}  
div.bar > ul.bindtabs > li > input:checked + label::before {content: "\25BA"; float: right;}
div.bar > ul.bindtabs > li > input:checked + label { background-color: var(--clrbck-cur-tab); Color: var(--clrtxt-cur-tab); margin-right: -5px; }
div.bar > ul.bindtabs > li > div  { background: transparent; width: calc(100% - 150px) !important; top: 0; left: 150px; padding: 0 1ch;  }
div.bar input:not(:checked) + .bindtab:hover { background-color: var(--clrbck-tab-hover); color: var(--clrtxt-tab-hover);}

/* File Drop */

._binddrop { display: inline-block; border: 2px dashed #ccc; border-radius: 20px; }
._binddrop label { height: 100%; width: 100%; display: block; position: relative; }
._binddrop label span { position: absolute; top: 50%; transform: translateY(-50%); text-align: center; padding: 3px 10px;} 
._binddrop[data-lite] { border: 2px solid purple; background: lavender;}
.xferinfo { display: block; position: fixed; bottom: 0; right: 5px; width: 400px; height: 50px; box-sizing: border-box; 
  padding: 5px 10px; border: solid 1px Silver; background: #eeeeee; }
.xferinfo .xferX { float: right; cursor: pointer; }
.xferinfo progress { width: 100%;  }

/* Popup CSS */

.bindmask { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 10; background-color: rgba(220,220,220,.5); }
.dropmask { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; z-index: 10; background-color: rgba(255,255,255,.25); }
.dropframe { position: fixed; top: 0; left: 0; width: 50vw; max-width: 50vw; background-color: White; z-index:20; box-shadow: 5px 10px 18px #888888; visibility: hidden;}

#id_drop > .binddata { max-height: 15em; }
.bindmask div.frame { border: 2px solid black; box-shadow: #888888 5px 10px 18px;
  height: 75%; width: 75%; /* Default size */
  min-height: 200px; /* min-width: auto; */
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); /* Center It */
  margin: 0;   background: White; }
.bindmask iframe { width: 100%; height: 100%; border: none; }
div.popClose { position: absolute; right: -30px; top: -30px; width: 30px; height: 30px; background: white; border: 2px solid black; border-radius: 50%; text-align: center; 
  font-weight: bold; font-size: 35px; line-height: 30px; }
div.popClose:hover { color: red; }

#dropClose { position: absolute; right: 0; top: 0; width: 22px; height: 22px; background: transparent; text-align: center; font-size: 24px; line-height: 24px; z-index: 100;}
#dropClose:hover { color: red; }

iframe.chart { width: 100vw !important; height: 100vh !important; position: fixed; top:0; left: 0; z-index:100; }

div.bindbottom {  position: absolute; bottom: 0; left: 0; width: 100%; padding: 0 4px; box-sizing: border-box; }

span.msgalert:before { float: left; display: inline-block; color: black; text-align: center; content: "\26a0\fe0f"; font-size: 50px; margin: 8px; }
span.msgstop:before { float: left; display: inline-block; color: white; text-align: center; content: "\1F6D1"; font-size: 50px; margin: 8px;}

span.msgquest:before { float: left; display: inline-block; color: black; text-align: center; content: "?"; width: 54px; height: 54px; margin: 8px; 
  font-size: 45px; border-radius: 50%; background-image: radial-gradient(farthest-corner at 30% 30%, lightgreen, green); border: solid 2px black; }
  
.msginfo:before { float: left; display: inline-block; color: white; text-align: center; content: "i"; width: 50px; height: 50px;  margin: 8px;
  padding: 0 4px 8px 4px; border-radius: 50%; font-size: 45px; background-image: radial-gradient(farthest-corner at 30% 30%, #9999FF, blue); 
  border: solid 2px black; font-family: "Times New Roman", Times, serif; font-style: italic;}

/* ... */

.fadeIn { animation: fadeIn .5s; }

@keyframes fadeIn {
0% {opacity:0;}
100% {opacity:1;}
}

.fm_whole { width: 97.5%; padding: 0 1ch; box-sizing: border-box; min-width: 60ch; }
.fm_half { width: 48.75%; padding: 0 1ch; min-width: 60ch; display: inline-block; box-sizing: border-box; vertical-align: top; min-height: 1px; }
.fm_third { width: 32.5%; padding: 0 1ch; min-width: 40ch; display: inline-block; box-sizing: border-box; vertical-align: top; min-height: 1px; }
.fm_quarter { width: 24.375%; padding: 0 1ch; min-width: 30ch; display: inline-block; box-sizing: border-box; vertical-align: top;  min-height: 1px; }
.fm_flex { padding: 0em 1ch; display: inline-block; box-sizing: border-box; vertical-align: top; min-width: 30ch; }
div.fm_fix1col { max-width: 100ch; }
/* div.fm_whole:empty, div.fm_half:empty, div.fm_flex:empty { display: block; } */

@media screen and (max-width: 1080px)
{ .fm_whole, .fm_half, .fm_third, .fm_quarter { width: 97.5%; padding: 0em 1ch; box-sizing: border-box; min-width: initial; }
}

.fm_row { width: 100%; position: relative;}
.fm_prompt, .fm_val { display: inline-block; white-space: nowrap; }
.fm_val { margin-bottom: 3px; max-width: 100%;}
.fm_val > span[id^="id.."] { margin-left: 2ch; }
.fm_prompt { width: 20%; max-width: 20ch; padding-bottom: 2px; margin-right: 5ch; vertical-align: top; padding-top: 3px; }
div.fm_whole .fm_prompt { width: 10%;}
div.fm_third .fm_prompt { width: 30%;}
div.fm_quarter .fm_prompt { width: 40%;}

@media screen and (max-width: 1080px)
{ div.fm_whole .fm_prompt { width: 20%;} 
}
div.fm_whole div.fm_val { min-width:40ch; }
div.fm_half div.fm_val { min-width:40ch; }
div.fm_third div.fm_val { min-width:20ch;  }
div.fm_quarter div.fm_val { min-width:15ch;  }
div.fm_flex div.fm_val { min-width:15ch; }

.fm_val > input, .fm_val > textarea {max-width: 100% !important; }
div.fm_ttl { border: solid 1px var(--clrbrd-hdr); background: var(--clrbck-hdr); height: 2em; line-height:2em; font-size: 120%; padding: 0 1ch; 
    font-weight: bold; margin: .1em 1ch .5em; overflow: hidden; white-space: nowrap;  text-overflow: ellipsis;}
div.fm_subttl { border: solid 1px var(--clrbrd-hdr); background: var(--clrbck-hdr); height: 1.5em; line-height:1.5em; 
    font-weight: bold; color: var(--clrtxt-subttl); padding: 0 1ch; margin: .5em 0;}

div.fm_btmbtn { margin-top: 1em; }
div.fm_topbtn { min-height: 2em; }
div.fm_topbtn + div.fm_whole { clear: both; }

button.fm_action { width: auto; min-width: 15ch; height: 2em; }
/* p > button.fm_action { margin-top: 0; } */
button.fm_browse { margin-right: 4px; height: 2em; min-width: 4ch; }
/* p > button.fm_browse { margin: 0 4px 0 0; margin-right: 4px; } */
.fm_val > button.fm_browse { border: none; background-color: transparent; height: initial; min-width: 0; margin: 0;}
div[class^="fm_"] > img {border: solid 1px #888888; box-shadow: #888888 5px 10px 18px;  background-image: radial-gradient(#EEE, #888) }

/* Menus */
div.bindmenubar { width: 100%; background-color: var(--clrbck-hdr); z-index: 10;}
div.bindmenubar > div.binditem { display: inline-block; }
div.bindmenu { min-width: 10ch; border: solid 1px silver; position: relative; box-sizing: border-box; background-color: var(--clrbck-hdr); z-index: 100;}
div.binditem { line-height: 1.75em; position: relative;  padding: 0px 8px;box-sizing: border-box; color: var(--clrtxt); white-space: nowrap; }
div.bindmenu > div { width: 100%; padding-right: 50px; }
div.bindmenu > div.binditem > div.bindmenu { position: absolute; top: -1px; left: 100%; display: none; }
div.bindmenubar > div.binditem > div.bindmenu { min-width: 100%; position: absolute; top: 100%; left: 0; display: none; }
div.binditem:hover > div.bindmenu, div.binditem[data-sel] > div.bindmenu { display: block !important; } 
/* div.bindmenu > div.bindsub:hover::after, div.bindmenu > div.bindsub[data-sel]::after { content: "\25BA"; float: right; padding-right: 2px;} */
.bindarrow { position: absolute; right: 3px; }
div.binditem:hover { background-color: var(--clrbck-cur-tab); color: var(--clrtxt-cur-tab); }
div.bindmenu > div.binditem.addline { border-bottom: solid 1px var(--clrbrd-hdr); }
div.nullitem { filter: contrast(.15); pointer-events: none; }

/* Std Template definitions */
#rightside {position: absolute; top: 0; left: 0;  width: 100%; box-sizing: border-box; padding-left: var(--leftedge, 180px);}
#pageArea { margin-top: var(--topedge, 50px); position: relative; width:100%; box-sizing: border-box; }
#pageContents { position: relative; margin-top: var(--topedge, 50px); width: 100%; padding: 5px 5px 0 5px; box-sizing: border-box; 
  background-color: var(--clrbck-page, white); color: var(--clrtxt-page, black);}
#pageArea > #pageContents { margin-top: 0; }
#pageArea > .bindmenubar { border: solid 3px var(--clrbck-page, white); box-sizing: border-box;}
#topCorner { cursor: pointer;} 
#topHeader {position: fixed; top: 0; background-color: var(--clrbck-top, #eee); color: var(--clrtxt-top, black); 
  height: var(--topedge, 50px); width: calc(100% - var(--leftedge)); line-height: var(--topedge, 50px); text-indent: 5px; z-index: 5;}

#leftEdge { width: 100%; background-color: var(--clrbck-left, #555); color: var(--clrtxt-left, white); min-height: calc(100vh - var(--topedge, 50px)); padding: 10px 0; box-sizing: border-box; 
     overflow: hidden; position: relative; }
#leftEdge p { margin: 6px 10px; font-size: 125%;} 
#leftEdge a {text-decoration: none; color: inherit; } 
#leftEdge a:hover { text-decoration: underline; }
#leftEdge p.leftsep { border-top: solid 2px var(--clrtxt-left, white); height: 5px; margin-top: 8px;}
p.leftsep + p.leftsep, br + p.leftsep { display: none; }
#slider { font-size: 200%; position: relative; top: -5px; }
#wikilink { display: none; position: absolute; right: 15px; top: 5px; color: blue; font-size: 125%;}
#wikilink:hover { text-decoration: underline; }
    
.noborder { border: none; }
.border { border: solid 1px black; }
input.border { border: solid 1px Silver !important;}
.bold { font-weight: bold; }
.transparent { background-color: transparent; }
.hide { display: none; }
.symbol_only { border: none; background-color: transparent; font-size: 125%; }
table:not(._fixedhi), table:not(._fixedhi) tr, table:not(.fixedhi) td { height: initial !important; min-height: 21px; }
.float_left { float:left;}
.float_right { float: right; }
#userinp { width: 90%; max-width: 90% !important; }

/* Special action button which is really a drop list */
select.drop_button { padding: 1px 2em; background-color: rgb(240, 240, 240); border-color: Black; }
.drop_button:empty { display:none; }
select.drop_button option:first-child { display: none; }

.drop_menu { float: right; padding-left: 10px; }
.drop_list { border: solid 1px Silver; padding: 3px; overflow-y: auto; }
.drop_item { display: inline-block; margin: 2px; border: solid 1px Silver; background-color: var(--clrbck-hdr); border-radius: 1em; padding: 3px 6px;  cursor: grab;  } 
.drop_del { float: right; display: none; cursor: default;}
.drop_del:hover { color: Red; }
.drop_list.candelete > .drop_item > .drop_del { display: initial; }
.drop_list.square .drop_item { border-radius: 0;}
.drop_list.fullline .drop_item { display: block; }

.monospace { font-family: "Lucida Console",Monaco,Menlo,Consolas,"Courier New", Courier, monospace; }

.no_newline + br { display: none; }
.hyperlink { text-align: center; display: inline-block; padding: 5px; }
.desktop_logoff { position: fixed; right: 5px; bottom: 0; font-size: small; }
.truncate { overflow-x: hidden; white-space: nowrap; }

.treeview { border: solid 1px black; overflow: auto; } 
.treeview ul { list-style: none; line-height: 1.5em;  margin-left: 0; margin-top: 3px; padding-left: 1.5em; }
.treeview ul summary { cursor: pointer; }
.treeview summary, .treeview li { text-indent: .25em; }
.treeview ul li {position: relative;}

.treeview.lines ul ul li::before {
	position: absolute;
	left: -1em; 
	top: -.25em;
	border-bottom: 2px solid gray;
	content: "";
	width: 1em;
	height: 1em;
}

.treeview.lines ul ul > li::after {
	position: absolute;
	left: -1em; 
	top: -.25em;
	border-left: 2px solid gray;
	content: "";
	width: 10px;
	height: 100%;
}
.treeview.lines ul > li:last-child::after { height: 1em;} 

.treeview.button ul summary { list-style: none;}
.treeview.button ul summary::marker { display: none;}
.treeview.button ul details summary::-webkit-details-marker { display: none;}

.treeview.button ul summary::before{
	position: absolute;
	left: -1.5em; 
	top: .25em;
	display: block;
	background: White;
	content:"+";
	border: 1px dotted gray;
	width: .8em;
	height: .8em;
	z-index: 999;
	text-align: center;
	text-indent: 0;
	line-height: .8em;
	font-weight: bold;
}
.treeview:not(.button) > ul { padding-left: 0; }
.treeview.button ul > li > details[open] > summary::before { content: "-" }
span.tvSel { background-color: #007fff; color: white; outline: 2px solid #007fff !important; }
.treeview input {margin-right: 6px; width:1em; height:1em; vertical-align: top; }
.treeview summary input { margin-left: 0; }
.treeview:not(.cbx) input { display: none; }
.treeview input.partial { filter: invert(100%) opacity(.15); }
.treeview *:focus, .treeview *:focus-visible { outline: none; }
.treeview span.tvSel:not(:focus) { background-color: #eee; outline: 2px solid #eee !important; color: initial; }

input.multisegqry { display: none !important; }
input.multisegqry + span { right: auto; }

.waitImage { display: block; height: 150px; width: 150px; margin: 200px auto; border: solid 5px black; border-radius: 50%; 
   background: white url(waitImage.gif) no-repeat center center; background-size: contain; }