/****************/
/*##  Reset CSS */
body,h1, h2, h3, h4, h5, h6, ul, li, em, strong, pre, code {
	padding: 0;
	margin: 0;
}
body {
	padding: 10px 10px 10px 15px;
}

ul {
	list-style: none;
}

img {
	border: none;
}

a img {
	border: none;
	margin: 0; padding: 0;
}

p {
	margin: 1em 0;
}

hr {
	border: 1px solid #ccc;
}

body.dev {
	background-color: #ffecbd;
}
body.login,
body.logout,
body.register {
	text-align: center;
}
div.dev {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	padding: 2px 0px;
	text-indent: 10px;
	background-color: #ff9a83;
	z-index: 10;
}

/****************/
/*##  Text      */

h1, h2, h3, h4, h5, h6, ul, li, em, strong, pre, code {
	line-height: 10px;
	font-size: 10px;
	font-weight: normal;
	font-style: normal;
}

body { 
	font-size: 12px;
	color: #000000;
}

table {
	font-size: inherit;
}

h1, h2, h3, h4, h5, h6, table, body, optgroup, body {
	font-family: "Helvetica Neue", Helvetica, Frutiger, "Frutiger Linotype", Univers, Calibri, "Myriad Pro", Myriad, "DejaVu Sans Condensed", "Liberation Sans", "Nimbus Sans L", Arial, sans-serif;
}
h1, h2, h3, h4 { 
	color: #333;
	font-weight: bold;
}

h1 { 
	font-size: 24px;
	letter-spacing: 0px;
	margin: 20px 0px 20px 0px;
	font-weight: normal;
}

h2 {
	font-size: 18px;
	margin: 20px 0px 18px 0px;
}

h3 { 
	font-size: 16px;
	margin: 12px 0px 16px 0px;
}
h3.inline {
	display: inline-block;
}

h4 {
	font-size: 14px;
	white-space: nowrap;
	margin: 0px 0px 2px 0px;
}

h5 {
	font-size: 10px;
	margin: 20px 0px 18px 0px;
}

h6 {
	font-size: 10px;
}

p, ul, ol, dl, li, address {
	font-size: 12px;
}

p {
	line-height: 13px;
	margin-bottom: 12px;
}

a, a:visited {
	color: #09c;
	text-decoration: none;
}

a:hover, a:active {
	color: #000000;
	text-decoration: underline;
}
a.housekeeping {
	color: green;
	font-style: italic;
}
a.construct_flow {
	color: purple;
}
a.construct_pcr_flow {
	color: #c76;
	background: -webkit-linear-gradient(orange, purple);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
a.rt_pcr_flow {
	color: orange;
}
a.dev_data {
	display: block;
	width: 100px;
}

address {
	font-style: normal;
}

strong, .strong, .bold {
	font-weight: bold;
}

em, .em {
	font-style: italic;
}

small {
	font-size: 9px;
}

span.sequence {
	white-space: pre;
	font-family: monospace;
}

.center {
	text-align: center;
}
.right {
	text-align: right;
}
.inline {
	display: inline-block;
}

.red {
	color: red;
}
.line-through {
	text-decoration: line-through;
}

.disabled {
	opacity: 0.3;
	filter: alpha(opacity=30);
	-moz-opacity: 0.3;
}

/*## Tables */

table {
	border-collapse: collapse;
	border: 1px solid #CC7B00;
}
table.noborder {
	border: none!important;
}
table.noborder td {
	border: none!important;
}
table.formTable td {
	height: 29px;
	vertical-align: middle;
}
table.formTable td.comment {
	width: 200px;
}

td, th, table.noborder td table td {
	font-size: 12px;
	padding: 2px 5px 2px 5px;
	border-top: 1px solid #CC7B00!important;
	border-right: 1px solid #CC7B00!important;
	border-bottom: none!important;
}

th {
	color: #ffffff!important;
	font-size: 13px;
	text-align: left;
	padding-top: 5px;
	padding-bottom: 4px;
	background-color: #FF9900!important;
	white-space: nowrap;
	vertical-align: middle;
}

/*table caption {
	text-align: right;
}*/
table caption a.export {
	display: inline-block;
	float: right;
	padding: 0px 5px 0px 5px;
	margin-right: 10px;
	border: 1px solid #ccc;
	border-bottom: none;
}
table caption span.cntrows {
	display: inline-block;
	float: left;
	padding: 0px 5px 0px 5px;
	margin-left: 10px;
	border: 1px solid #ccc;
	border-bottom: none;
}

/*## Tables sorter */
table.sortable th.header, table.sortable th.tablesorter-header  {
	background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
	background-repeat: no-repeat;
	background-position: center right;
	cursor: pointer;
	padding-right: 25px;
}
table.sortable th.headerSortDown,
table.sortable th.tablesorter-headerSortDown,
table.sortable th.tablesorter-headerDesc {
	background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
}
table.sortable th.headerSortUp,
table.sortable th.tablesorter-headerSortUp,
table.sortable th.tablesorter-headerAsc {
	background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
}
table.sortable  thead th.sorter-false {
	background-image: none;
	cursor: default;
	padding: 4px;
}
.tablesorter .tablesorter-filter-row {
	background-color: #eee;
}
.tablesorter .tablesorter-filter-row td {
	background-color: #eee;
	border-bottom: #ccc 1px solid;
}
.tablesorter .filtered {
	display: none;
}

/* Hover */
colgroup.hover,
.tablesorter tbody > tr.hover > td,
.tablesorter tbody > tr:hover > td,
.tablesorter tbody > tr.even:hover > td,
.tablesorter tbody > tr.odd:hover > td {
	background-color: #D2FFD2;
	color: #000;
}
/* Zebra Widget - row alternating colors */
.tablesorter tr.odd > td {
	background-color: #f2f2f2;
}
.tablesorter tr.even > td {
	background-color: #ffffff;
}

.separator, table td.separator {
	height: 2px;
	background-color: lightgrey;
}

td.no_top_border {
	border-top: none !important;
}

/****************/
/*##  Lists     */
dl {
	white-space: pre-line;
}
dt, dd {
	display: inline-block;
}
dt {
	text-align: right;
	font-weight: bold;
	min-width: 110px;
}
dl.wide dt {
	min-width: 200px;
}
dl.write {
	margin-bottom: 30px;
}
dl.write dd, dl.write dt {
	height: 35px;
	line-height: 35px;
	vertical-align: bottom;
}
dl.write dd {
	width: 400px;
	border-bottom: 1px solid #000;
}

/****************/
/*##  Forms     */

optgroup {
	font-style: normal;
	font-size: 11px;	
}

form {
	display: inline-block;
}

input[type="text"], input[type="password"], input[type="file"], textarea, select, fieldset {
	width: 300px;
	border: #CCC solid 1px;
	border-radius: 3px;
	padding: 3px;
}
textarea {
	height: 64px;
}

input[type="radio"], input[type="checkbox"] {}

input, textarea, file, select {
	font: inherit;
}

input[type="button"], input[type="submit"] {
	width: auto;
}

form input,select {

}

select option {

}

select.count_selected {
	margin-top: 16px;	
	height:206px;
}
select.count_selected option {
	font-family:Courier New, monospace; 
	white-space:pre;
}
div.count_selected {
	position: absolute;
	text-align: center;
	font-style: italic;
	font-size: 11px;
	color: #8c8c8c;
	width: 220px;
}
div.count_listed {
	display: none;
	position: absolute;
	right: 40px;
	top: 7px;
	text-align: right;
	font-style: italic;
	font-size: 11px;
	color: #8c8c8c;
}
option.header {
	color: #000;
	font-weight: bold;
	background-color: #E6E6E6;
}
fieldset {
	padding: 0px;
	border: none;
	display: inline-block;
}

span.input_ok {
	color: green;
}
span.input_error {
	color: red;
}
span.input_error input, span.input_error select, span.input_error textarea{
	border-color: red;
}
span.input_error fieldset {
	border: 2px inset red;
}
span.input_error label {
	color: #000000;
}

th.input_info, span.input_info {
	cursor: help;
	background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAElSURBVHjaYvz//z8DPQATA53AqEWjFpFsEQcQ5wLxISB+A8TvgfgIEBcCMTdRJoDyEQEsB8TH/iPAJyC+j8Q/DcSKhMwhZAknEJ9EMvQtEGsCMTsQb0QSPw/EPPjMIhR0yUBshsT/DsT3gPgnED9DEjcA4gxKgu7of0xwEYg3APFfNPFT+MxiIeAjJTT+XCC+C8SsQKwMxDpIcnL4DCJkESMaXxyIU6BsTTSLGClJ3vfQ+F5ALAVlc6LJPaLEohVo/DtA/BHKvg/Ef5Hk1lCSGLiB+CxShNcBsSEQGwCxMzS5g8Clf//+8VGSj0BYAZopcYFzQEtU/v79i9ccRiJrWG5oPgkHYkVoxD8A4tVAPB1aWjAwMeGOCcbRqnzUouFrEUCAAQDvRtOW5VgkKwAAAABJRU5ErkJggg==);
	background-repeat: no-repeat;
	background-position: right;
	padding-right: 30px;
}

span.input_info {
	float: right;
	-webkit-filter: invert(25%);
	filter: invert(25%); 
}

select.valid,input.valid, input.error, select.error {
	background-image: none;
}

div.progress div.bar {
	height: 22px;
	background: green;
}

/*** d3 ***/
svg text {
	fill: #000;
	font-size: 10px;
}
.plotBG {
	fill: transparent;
}
svg.chart .axis path, .axis line {
	fill: none;
	stroke: #000;
	shape-rendering: crispEdges;
}
svg.barchart rect.bar:hover {
	stroke: #000;
}

svg.stackedchart g.x.axis g.tick line {
	display: none;
}
.boxplot rect.box {
  fill: steelblue;
  stroke: #000;
  stroke-width: 1px;
}

.boxplot .center {
  stroke-dasharray: 3,3;
}

.boxplot .outlier {
  fill: none;
  stroke: #000;
}

.boxplot .boxaxis path,
.boxplot line {
  fill: none;
  stroke: #000;
  shape-rendering: crispEdges;
	stroke-width: 1px;
}

.boxplot .x.axis path {
  fill: none;
  stroke: #000;
  shape-rendering: crispEdges;
}

/*** colorbox ***/
#colorbox, #cboxOverlay, #cboxWrapper{
	z-index:99;
}
#cboxLoadedContent{
	background: #fff;
	padding:10px;
}
#cboxOverlay {
	background: #666666;
}

div[aria-describedby="session-expire"].ui-dialog .ui-dialog-titlebar-close,
div[aria-describedby="session-expired"].ui-dialog .ui-dialog-titlebar-close {
	display: none;
}

/*** Process ***/
.process_running {
	display: inline-block;
	padding-left: 30px;
	min-height: 40px;
	min-width: 30px;
	background-color: #fff;
	background-repeat: no-repeat;
	background-image: url(data:image/gif;base64,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);
	background-position: 3px 3px;
}