#menuDiv {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 160px;
	height: 1px;
	overflow: scroll;
	overflow-y: scroll;
	overflow-x: hidden;
	clip: rect(0px, 140px, 1px, 0px);
	padding: 2px 2px 2px 2px;
	color: navy;
	cursor: default;
	font: 0.82em Helvetica, Arial, sans-serif;
}
#menuDiv p {
	font-weight: bold;
	margin-top: 0px;
	margin-bottom: 2px;
}
#menuDiv * {
	padding: 1px;
}
#menuDiv a:hover, #menuDiv span:hover {
	font-weight: bold;
}
div.cover {
	position: absolute;
	top: 0px;
	left: 145px;
	width: 25px;
	background: #ececec url("../COMFSM.png");
	background-position: -135px 10px;
	background-repeat: no-repeat;
}
.subMenuHidden {
	position: absolute;
	font-weight: normal;
	display: none;
}
.subMenuVisible {
	position: relative;
	width: 0px;
	white-space: nowrap;
	left: 15px;
	font-weight: normal;
	display: block;
}
#menuDiv a {
	display: block;
}
.menuIndicatorContainer {
	position: absolute;
	bottom: 2px;
	left: 1px;
	height: 10px;
	width: 140px;
}
.menuIndicator {
	position: absolute;
	border: 1px solid grey;
	top: 1px;
	width: 8px;
	height: 8px;
}

#tabBar {
	position: absolute;
	left: 146px;
	top: 0px;
	height: 22px;
	border-bottom: solid 2px navy;
}
#tabBar span a img {
	border: none;
}
#tabBar span a {
	text-decoration: none;
	font: 0.82em Helvetica, Arial, sans-serif;
}
.tabOff {
	position: absolute;
	right: 4px;
	width: 122px;
	bottom: 6px;
	color: gray;
	text-align: left;
}
.tabOn {
	position: absolute;
	right: 4px;
	width: 122px;
	bottom: 6px;
	color: navy;
	text-align: left;
}
.tabClose {
	position: absolute;
	right: 7px;
	top: 5px;
	width: 16px;
	height: 16px;
	background: url("../close.png");
	cursor: default;
}
#formDiv {
	position: absolute;
	left: 146px;
	top: 24px;
/*	background-color: #f4f4f4; */
}
.formContent {
	position: absolute;
	background: #f4f4f4;
	border-left: solid 2px navy;
	border-right: 1px solid navy;
	border-bottom: 1px solid navy;
	left: 0px;
	overflow: scroll;
}
.formContent a img {
	border: none;
}
.formContainer {
	left: 0px;
	background: transparent;
	border: none;
	width: 100%;
}
.documentBody {
	overflow: hidden;
}
#bodyDiv {
	position: absolute;
	left: 0px;
	top: 0px;
	background: #ececec url("../COMFSM.png");
	background-position: 10px 10px;
	background-repeat: no-repeat;
}
.dialogFilter {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	overflow: hidden;
	background: url("dialogFilter.png");
}
.dialog {
	position: absolute;
	left: 30%;
	top: 25%;
	width: 40%;
	min-width: 170px;
	border: 2px solid navy;
	padding: 5% 1%;
	background: #f0f0f0;
	font: 0.87em Helvetica, Arial, sans-serif;
}
.dialog > p {
	text-align: center;
	padding-top: 10%;
	font-weight: bold;
	white-space: pre-wrap;
}
.dialog > div {
	position: relative;
	right: 0px;
	text-align: right;
	padding-right: 15%;
}
.dialog > div > div {
	display: inline-block;
	padding-top: 7px;
}
.dialog > div input {
	font-size: 0.9em;
	color: black;
}
.dialog > div button {
/*	position: relative;	*/
	border: 1px solid navy;
	background-color: #e4e4e4;
	border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	color: black;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.9em;
	padding: 1px 7px;
	text-align: left;
	margin: 2px 3px 0px 0px;
	white-space: nowrap;
}
.dialog > div button:hover {
	color: #00E;
}
.dialog > div button:active {
	background-color: gray;
}
.dialog > div button.preferred {
	background-color: navy;
	color: #e4e4e4;
}
.dialog > div button.preferred:hover {
	color: white;
}
.dialog > div button.preferred:active {
	background-color: #000040;
	color: silver;
}
.formBody {
	background: #f4f4f4;
}
.formButtonContainer {
	position: absolute;
	margin: 0px 2px;
	left: 2px;
	width: 95%;
}
button {
/*	position: relative;	*/
	border: 1px solid navy;
	background-color: #e4e4e4;
	border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	color: black;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.82em;
	padding: 2px 7px;
	text-align: left;
	margin: 0.2% 0.8% 0 0;
	white-space: nowrap;
}
button:hover {
	color: #00E;
}
button:active {
	background-color: gray;
}
button[disabled] {
	color: gray;
}
button.preferred {
	background-color: navy;
	color: #e4e4e4;
}
button.preferred:hover {
	color: white;
}
button.preferred:active {
	background-color: #000040;
	color: silver;
}
.formFeedback {
	position: absolute;
	left: 3px;
	width: 98%;
}
.bpBox {
	position: absolute;
	border: 1px solid navy;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.82em;
	color: navy;
	padding: 2px;
	margin: 2px;
}
.bpBox > p {
	margin-top: 0px;
}
.bpLine {
	position: absolute;
	margin-top: 11px;
	border-top: 1px solid navy;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.82em;
	color: navy;
	height: 1px;
}
.bpLabel {
	position: relative;
	left: 0px;
	bottom: 9px;
	text-align: center;
	white-space: nowrap;
	margin-bottom: 4px;
}
.bpLabel > span {
	padding: 0px 3px;
	background-color: #f4f4f4;
}
.blockPair {
	font-family: Helvetica, Arial, sans-serif;
	position: absolute;
	width: 1px;
	overflow: visible;
}
.blockPair label {
	position: absolute;
	white-space: nowrap;
	padding-top: 3px;
	font-size: 0.82em;
	font-weight: bold;
	text-align: right;
}
.blockPair img.notNull {
	width: 4px;
	height: 10px;
	position: absolute;
}
.blockPair label+img {
	position: absolute;
	right: 0px;
	top: 2px;
}
.blockPair label[type="drop"] {
	padding: 2px;
	border: 2px dashed gray;
}
.blockPair > input, .blockPair > textarea {
	position: absolute;
	right: 0px;
	height: 21px;
	font-size: 0.82em;
	color: black;
	padding: 2px;
	border-width: 1px;
	resize: none;
}
div[indrop="YES"].blockPair > input, div[indrop="YES"].blockPair label {
	font-size: 0.9em;
	color: green;
	border-color: green;
}
.blockPair .fileName {
	padding-top: 3px;
	padding-left: 2px;
	font-weight: normal;
	font-size: 0.82em;
	white-space: nowrap;
}
.blockPair > .invalid {
	padding: 1px;
	border: 2px solid red;
	background: white;
	font-weight: bold;
	color: #d80000;
}
.blockPair > .readOnly {
	background: url("readonlyField.png");
}
.blockPair > .disabled {
	color: black;
	background: #eeeeee;
}
.blockImg {
	position: absolute;
	cursor: default;
}
.blockContainer {
	position: absolute;
	width: 1px;
}
.blockContainer > .recordReadOnly {
	display: block;
	height: 22px;
	width: 22px;
	background-repeat: no-repeat;
	background-image: url("readonly.png");
}
.blockContainer > .recordChanged {
	display: block;
	height: 22px;
	width: 22px;
	background-repeat: no-repeat;
	background-image: url("bluepencil.png");
}
.blockContainer > .recordNew {
	display: block;
	height: 22px;
	width: 22px;
	background-repeat: no-repeat;
	background-image: url("newrecord.png");
}
/* Coordinated with code in Block.js for video capture for width calculation	*/
.videoCapture {
	position: absolute;
	width: 40%;
	border: 2px solid navy;
	background: #f0f0f0;
	font: 0.87em Helvetica, Arial, sans-serif;
}
.videoCapture > div {
	position: relative;
	right: 0px;
	text-align: right;
	padding-right: 5%;
}
.videoCapture video {
	width: 100%;
}
.videoCapture canvas {
	position: absolute;
	top: 0px;
}
div.progress-bar {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	width: 100px;
	background: #777777;
	position: absolute;
	left: 5px;
	opacity: 80%;
}
div.progress-bar > div {
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	background: #1C467C;
	padding: 5px 0px;
	color: #FFF;
	text-align: center;
	height: 12px;
}
div.progress-bar > div > span {
	display: inline-block;
	position: absolute;
	width: 100%;
	left: 0px;
	top: 3px;
}
.listContainer {
	position: absolute;
	background-color: white;
}
.listRows {
	position: absolute;
	overflow: auto;
}
.listRows > div, .listColumnLabels {
	position: relative;
	height: 23px;
}
.listQueryRow {
	position: relative;
	height: 23px;
	background: #c8f8c8;
}
.listRows > .current {
	background: #b7daff;
}
.listRows > div > input, .listRows > div > textarea, .listQueryRow > input, .listQueryRow > textarea {
	position: absolute;
	height: 18px;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.82em;
	padding: 2px;
	border-width: 1px;
	background-color: transparent;
}
.listRows > div > img {
	position: absolute;
	padding: 0px;
}
.listRows > div > .invalid {
	padding: 1px;
	border: 2px solid red;
	background-color: white;
	font-weight: bold;
	color: #d80000;
}
.listRows > div > .disabled, .listQueryRow > .disabled {
	color: black;
	background: #eeeeee;
}
.listRows > div > .readOnly {
	background: url("readonlyField.png");
}
.listRows > div > .listDisplayField {
	position: absolute;
	height: 21px;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.82em;
	color: black;
	background: #eeeeee;
	padding: 2px;
	border-width: 1px;
}
.listQueryButton {
	position: absolute;
	display: block;
	background: #c8f8c8;
	border-radius: 2px;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	height: 22px !important;
	width: 23px;
	padding: 0px;
	font-size: 0.87em;
	font-weight: bold;
}
.listQueryButton:hover {
	color: #00E;
}
.listQueryButton:active {
	background-color: gray;
}
.listColumnLabel {
	border: solid 1px black;
	padding: 3px 1px 2px 1px;
	position: absolute;
	left: 0px;
	width: 19px;
	height: 15px;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.82em;
	font-weight: bold;
	text-align: left;
	background: #ffffb0;
	vertical-align: bottom;
	white-space: nowrap;
}
.listColumnLabel+img {
	position: absolute;
	top: 2px;
	width: 4px;
	height: 10px;
}
.listRows > div > div {
	border: solid 1px black;
	padding: 2px 1px 1px 0px;
	position: absolute;
	left: 0px;
	width: 20px;
	height: 17px;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.82em;
	font-weight: bold;
	text-align: right;
	background: #ffffb0;
}
.listRows > div > .recordChanged, .listRows > div > .recordNew {
	background: #ffd060;
}
.listRows > div > .recordReadOnly {
	background: #eeeeee;
}
.listRows > div > button {
	padding: 1px 2px 3px 2px;
	margin: 1px 3px 0px 0px;
	background-color: transparent;
}
.select {
	border: 1px solid black;
	background-color: white;
	position: absolute;
	overflow: auto;
}
.select > div {
	cursor: default;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 0.82em;
	color: black;
	padding: 1px 3px;
	height: 15px;
}
.select > .current {
	background-color: #ffffa0 !important;
}
.select > div > div {
	position: absolute;
	overflow: hidden;
	white-space: nowrap;
}
.select > div > div[changed] {
	font-style: italic;
}
.rawContainer {
	position: absolute;
}
.blockHTML {
	position: absolute;
}
fieldset legend {
        font: 1.0em Helvetica, Arial, sans-serif;
}
div.v {
	display: block;
	height: 1px;
/*	clear: both; */
}
div.row {
	display: block;
	position: relative;
	font: 0.8em Helvetica, Arial, sans-serif;
/*	clear: both; */
	overflow: visible;
	white-space: nowrap;
}
/* Heading row, with an underline */
div.hrow {
	display: block;
	position: relative;
	font: 0.8em Helvetica, Arial, sans-serif;
/*	clear: both; */
	overflow: visible;
	white-space: nowrap;
	border-bottom: 2px solid black;
}
div.trow {
	display: block;
	position: relative;
	font: 0.9em Helvetica, Arial, sans-serif;
/*	clear: both; */
	white-space: nowrap;
	overflow: visible;
}
@media print {
	div.row { font-size: 0.8em; }
	div.row a {
		text-decoration: none;
		color: black;
	}
	div.trow { font-size: 0.9em; }
	div.hrow {
		font-size: 0.8em;
		border-bottom: 2px solid black;
	}
}
div.row b, div.trow b, div.hrow b {
	padding: 0px;
}
@media screen {
	div.row a {
		text-decoration: underline;
		color: blue;
	}
}

/* White/Green bar rows for old-style report look, and easier reading of rows */
div.wbar {
	display: block;
	position: relative;
	font: 0.8em Helvetica, Arial, sans-serif;
/*	clear: both; */
	overflow: visible;
	background-color: white;
	white-space: nowrap;
}
div.gbar {
	display: block;
	position: relative;
	font: 0.8em Helvetica, Arial, sans-serif;
/*	clear: both; */
	overflow: visible;
	background-color: #DED;
	white-space: nowrap;
}
div.wbar b, div.gbar b {
	padding: 0px;
}
/* Fields that are slugged into reports */
span.fillIn {
	display: inline-block;
	overflow-x: hidden;
	text-decoration: underline;
	max-width: 40px;
}
/* Paging control for HTMLReport content */
div.pageTop {
	height: 0px;
	page-break-before: always;
}
div.pageBottom {
	width: 100%;
	text-align: center;
	background: silver;
	page-break-after: always;
}
@media print {
	body {
		display: table;
		table-layout: fixed;
		padding: 1.0cm;
		height: auto;
	}
	div.gbar, div.wbar { font-size: 0.8em; }
	div.pageBottom {
		display: none;
	}
}
/* Left, right, and center-aligned content, and their bottom-aligned kin */
div.l {
	width: 10px;
	text-align: left;
	display: inline-block;
	vertical-align: top;
	padding: 0.1% 0.4%;
	white-space: pre-line;
}
div.r {
	width: 10px;
	text-align: right;
	display: inline-block;
	vertical-align: top;
	padding: 0.1% 0.4%;
	white-space: pre-line;
}
div.c {
	width: 10px;
	text-align: center;
	display: inline-block;
	vertical-align: top;
	padding: 0.1% 0.4%;
	white-space: pre-line;
}
/* Filler (empty) for repeating lists; prevents blank lines from being
   displayed when a fold is made display: block */
div.lf {
	width: 10px;
	text-align: left;
	display: inline-block;
	vertical-align: top;
	padding: 0.2% 0.4%;
	white-space: pre-line;
}
/* This probably also needs to be form-specific because of the max-width property */
@media screen and (max-width: 600px) {
  div.lf {
	display: none;
  }
}

.popup {
	position: absolute;
	min-width: 200px;
	min-height: 80px;
	border: 2px solid #D9AE00;
	padding: 2px;
	background-color: #FFFF72;
	font: 0.87em Helvetica, Arial, sans-serif;
}
.popupClose {
	position: absolute;
	right: 2px;
	top: 2px;
	width: 16px;
	height: 16px;
	background: url("close.png");
	cursor: default;
}
.popupBubbleDown {
	width: 24px;
	height: 24px;
	position: absolute;
	bottom: -16px;
	background-color: transparent;
	background-image: url("bubbleDown.png");
	background-repeat: no-repeat;
}
.popupBubbleUp {
	width: 24px;
	height: 24px;
	position: absolute;
	top: -16px;
	left: 20px;
	background-color: transparent;
	background-image: url("bubbleUp.png");
	background-repeat: no-repeat;
}
class {
	display: block;
	margin-top: 4px;
	margin-bottom: 4px;
	font-size: 18px;
	font-weight: bolder;
}
section {
	display: block;
	padding-top: 8px;
	padding-left: 4px;
	padding-bottom: 6px;
	background: #c0c0c0;
	font-weight: bolder;
}
property,method {
	display: block;
	margin-top: 4px;
	font-weight: bold;
}
detail {
	display: block;
	margin-left: 20px;
	margin-bottom: 4px;
	font-weight: normal;
}
return:before {
	content: "Returns: ";
	font-style: italic;
	font-weight: bold;
}
return {
	display: block;
	margin-left: 20px;
	margin-bottom: 4px;
	font-weight: normal;
}
name {
	font-style: italic;
}
nav {
	display: block;
	margin: 2px;
}
/*
body {
	color: navy;
	font-size: 14px;
	background: #f4f4f4;
	border: 6px;
	border-color: #ececec;
	margin: 0px;
	padding: 6px;
}
*/
td {
	vertical-align: top;
}
pre {
	margin-left: 24px;
	font-size: 12px;
}
