/* Layout */

body {
  background-color: #fff;
  color: #333;
  font-family: Verdana, sans-serif;
  font-size: 10pt;
  margin: 1em 1em 2em 1em;
}
div.notice {
  background-color: #e5e5e5;
  color: black;
  font-size: 140%;
  padding: 5px;
}
div.blue {
  color: #336699;
}
div.green {
  color: #529214;
}
div.red {
  color: #d12f19;
}
#footer {
  position: fixed;
  bottom: 0;
  z-index: 999999;
  background-color: white;
  color: black;
  width: 100%;
}
#footer-content {
  margin-bottom: 1em;
  color: white;
  background-color: #333;
  padding: 5px;
}
#footer-hack {
  position: absolute;
  right: 0;
  top: 0;
  background-color: white;
  width: 2em;
  height: 2em;
}
#push {
  height: 4em;
}
div#top-bar {
  background-color: #333;
  color: white;
  white-space: nowrap;
}
div#staging-bar {
  background-color: #e5e5e5;
  color: #336699;
  white-space: nowrap;
  font-size: 140%;
  padding: 5px;
  text-align: center;
}
.clear {
  clear: both;
}
.left {
  float: left;
  width: 50%;
}
.right {
  float: right;
  width: 50%;
}
a.action {
  text-decoration: none;
  color: black;
  /* display: inline-block;
  padding: 2px; */
}
a.action:visited {
  color: black;
}
a.action:hover {
  color: white;
  background-color: black;
}
a.tab {
  font-size: 140%;
  display: block;
  padding: 5px;
  text-decoration: none;
  color: white;
  float: left;
}
a.tab:visited {
  color: white;
}
a.tab:hover {
  color: black;
  background-color: #f5f5f5;
}
div#user-menu-container {
  position: relative;
  float: right;
}
div#user-menu {
  position: absolute;
  right: 0px;
  top: 100%;
  border: 1px solid black;
  background-color: white;
  color: black;
}
a.menu {
  padding: 5px;
  display: block;
  color: black;
  background-color: white;
  text-decoration: none;
}
a.menu:visited {
  color: black;
  background-color: white;
}
a.menu:hover {
  color: white;
  background-color: black;
}
a { color: #336699; }
a:visited { color: #336699; }
a:hover { color: #336699; background-color:#dff4ff; }

/* Buttons */

.buttons a, .buttons button{
  display: block;
  float: left;
  margin: 0 7px 0 0;
  background-color: #f5f5f5;
  border: 1px solid #dedede;
  border-top: 1px solid #eee;
  border-left: 1px solid #eee;
  font-family: "Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
  font-size: 100%;
  line-height: 130%;
  text-decoration: none;
  font-weight: bold;
  color: #565656;
  cursor: pointer;
  padding: 5px 10px 6px 7px; /* Links */
}
.buttons button{
  width: auto;
  overflow: visible;
  padding: 4px 10px 3px 7px; /* IE6 */
}
.buttons button[type]{
    padding: 5px 10px 5px 7px; /* Firefox */
    line-height: 17px; /* Safari */
}
*:first-child+html button[type]{
    padding: 4px 10px 3px 7px; /* IE7 */
}
.buttons a {
    line-height: 17px;
}
.buttons button img, .buttons a img{
    margin: 0 3px -3px 0 !important;
    padding: 0;
    border: none;
    width: 16px;
    height: 16px;
}

/* Buttons: Standard, hover */

button:hover, .buttons a:hover{
  background-color:#dff4ff;
  border:1px solid #c2e1ef;
  color:#336699;
}
.buttons a:active{
    background-color:#6299c5;
    border:1px solid #6299c5;
    color:#fff;
}

/* Buttons: Positive, hover */

button.positive, .buttons a.positive{
    color:#529214;
}
.buttons a.positive:hover, button.positive:hover{
    background-color:#E6EFC2;
    border:1px solid #C6D880;
    color:#529214;
}
.buttons a.positive:active{
    background-color:#529214;
    border:1px solid #529214;
    color:#fff;
}

/* Buttons: Negative, hover */

.buttons a.negative, button.negative{
    color:#d12f19;
}
.buttons a.negative:hover, button.negative:hover{
    background:#fbe3e4;
    border:1px solid #fbc2c4;
    color:#d12f19;
}
.buttons a.negative:active{
    background-color:#d12f19;
    border:1px solid #d12f19;
    color:#fff;
}

/* Forms */

input {
  border: 1px solid;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  color: black;
  background-color: white;
}
select {
  border: 1px solid;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  color: black;
  background-color: white;
  /* height: 90%; */
}
form label {
  float: right;
  margin: 2px 4px 6px 4px;
}
table.form-fields tr {
  line-height: 150%;
}
table.form-fields input {
  line-height: 150%;
}
table.form-fields select {
  line-height: 150%;
}
div.fieldWithErrors label {
  color: red;
  font-weight: bold;
}
div.fieldWithErrors input {
  border: 2px solid red;
}
#errorExplanation {
  border: 2px solid red;
  padding: 7px;
  padding-bottom: 12px;
  margin-bottom: 20px;
  background-color: #f0f0f0;
}
#errorExplanation h2 {
  text-align: left;
  font-weight: bold;
  padding: 5px 5px 5px 15px;
  font-size: 120%;
  margin: -7px;
  color: red;
}
#errorExplanation p {
  color: #333;
  margin-bottom: 0;
  padding: 5px;
}
#errorExplanation ul li {
  list-style: square;
}
div.auto_complete {
  background-color: white;
  border: 1px solid black;
  margin: 0;
  padding: 0;
}
div.auto_complete ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
div.auto_complete ul li.selected {
  background-color: black;
  color: white;
}
div.auto_complete ul li {
  list-style-type: none;
  display: block;
  margin: 0;
  padding: 2px;
  cursor: pointer;
}
.informal {
  font-size: 80%;
}

/* Tables w/o DataTable */

table.listing th {
  text-align: left;
  padding-right: 1em;
  white-space: nowrap;
}
table.listing td {
  padding-right: 1em;
  white-space: nowrap;
}
ul.search_listing {
  list-style-type: none;
  padding-left: 1em;
}
h3.search_section {
  border-bottom: 1px solid black;
}
div.search_section {
  padding-left: 1em;
}

/* DataTable display tables */

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DataTables features
 */

.dataTables_wrapper {
	position: relative;
	/*min-height: 302px;*/
	clear: both;
	/*_height: 302px;*/
	zoom: 1; /* Feeling sorry for IE */
}

.dataTables_processing {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 250px;
	height: 30px;
	margin-left: -125px;
	margin-top: -15px;
	padding: 14px 0 2px 0;
	border: 1px solid #ddd;
	text-align: center;
	color: #999;
	font-size: 14px;
	background-color: white;
}

.dataTables_length {
	/* width: 40%; */
	float: left;
        white-space: nowrap;
        padding-right: 2em;
}

.dataTables_filter {
	/* width: 50%;
	float: right; */
	text-align: right;
        white-space: nowrap;
}

.dataTables_info {
	width: 60%;
	float: left;
}

.dataTables_paginate {
	width: 44px;
	* width: 50px;
	float: right;
	text-align: right;
}

/* Pagination nested */
.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
	height: 19px;
	width: 19px;
	margin-left: 3px;
	float: left;
}

.paginate_disabled_previous:after {
        font-family: IconicStroke;
        content: '6';
        color: gray;
        cursor: pointer;
}

.paginate_enabled_previous:after {
        font-family: IconicStroke;
        content: '6';
        cursor: pointer;
}

.paginate_disabled_next:after {
        font-family: IconicStroke;
        content: '4';
        color: gray;
        cursor: pointer;
}

.paginate_enabled_next:after {
        font-family: IconicStroke;
        content: '4';
        cursor: pointer;
}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DataTables display
 */
table.display {
	margin: 0 auto;
	clear: both;
	width: 100%;
	
	/* Note Firefox 3.5 and before have a bug with border-collapse
	 * ( https://bugzilla.mozilla.org/show%5Fbug.cgi?id=155955 ) 
	 * border-spacing: 0; is one possible option. Conditional-css.com is
	 * useful for this kind of thing
	 *
	 * Further note IE 6/7 has problems when calculating widths with border width.
	 * It subtracts one px relative to the other browsers from the first column, and
	 * adds one to the end...
	 *
	 * If you want that effect I'd suggest setting a border-top/left on th/td's and 
	 * then filling in the gaps with other borders.
	 */
}

table.display thead th {
	padding: 3px 18px 3px 10px;
	border-bottom: 1px solid black;
	font-weight: bold;
	cursor: pointer;
	* cursor: hand;
}

table.display tfoot th {
	padding: 3px 18px 3px 10px;
	border-top: 1px solid black;
	font-weight: bold;
}

table.display tr.heading2 td {
	border-bottom: 1px solid #aaa;
}

table.display td {
	padding: 3px 10px;
}

table.display td.center {
	text-align: center;
}



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DataTables sorting
 */

.sorting_asc:after {
       content: ' ▲';
}

.sorting_desc:after {
       content: ' ▼';
}

.sorting:after {
       content: ' ◊';
}

.sorting_asc_disabled {
       content: ' △';
}

.sorting_desc_disabled {
       content: ' ▽';
}





/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * DataTables row classes
 */
table.display tr.odd.gradeA {
	background-color: #ddffdd;
}

table.display tr.even.gradeA {
	background-color: #eeffee;
}

table.display tr.odd.gradeC {
	background-color: #ddddff;
}

table.display tr.even.gradeC {
	background-color: #eeeeff;
}

table.display tr.odd.gradeX {
	background-color: #ffdddd;
}

table.display tr.even.gradeX {
	background-color: #ffeeee;
}

table.display tr.odd.gradeU {
	background-color: #ddd;
}

table.display tr.even.gradeU {
	background-color: #eee;
}


tr.odd {
	background-color: #f0f0f0;
}

tr.even {
	background-color: white;
}





/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Misc
 */
.dataTables_scroll {
	clear: both;
}

.dataTables_scrollBody {
	*margin-top: -1px;
}

.top, .bottom {
	padding: 15px;
	background-color: #F5F5F5;
	border: 1px solid #CCCCCC;
}

.top .dataTables_info {
	float: none;
}

.clear {
	clear: both;
}

.dataTables_empty {
	text-align: center;
}

tfoot input {
	margin: 0.5em 0;
	width: 100%;
	color: #444;
}

tfoot input.search_init {
	color: #999;
}

td.group {
	background-color: #d1cfd0;
	border-bottom: 2px solid #A19B9E;
	border-top: 2px solid #A19B9E;
}

td.details {
	background-color: #d1cfd0;
	border: 2px solid #A19B9E;
}


.example_alt_pagination div.dataTables_info {
	width: 40%;
}

.paging_full_numbers {
	width: 400px;
	height: 22px;
	line-height: 22px;
}

.paging_full_numbers span.paginate_button,
 	.paging_full_numbers span.paginate_active {
	border: 1px solid #aaa;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	padding: 2px 5px;
	margin: 0 3px;
	cursor: pointer;
	*cursor: hand;
}

.paging_full_numbers span.paginate_button {
	background-color: #ddd;
}

.paging_full_numbers span.paginate_button:hover {
	background-color: #ccc;
}

.paging_full_numbers span.paginate_active {
	background-color: #99B3FF;
}

table.display tr.even.row_selected td {
	background-color: #B0BED9;
}

table.display tr.odd.row_selected td {
	background-color: #9FAFD1;
}


/*
 * Sorting classes for columns
 */
/* For the standard odd/even */
tr.odd td.sorting_1 {
	background-color: #e0e0e0;
}

tr.odd td.sorting_2 {
	background-color: #e0e0e0;
}

tr.odd td.sorting_3 {
	background-color: #e0e0e0;
}

tr.even td.sorting_1 {
	background-color: #f0f0f0;
}

tr.even td.sorting_2 {
	background-color: #f0f0f0;
}

tr.even td.sorting_3 {
	background-color: #f0f0f0;
}


/* For the Conditional-CSS grading rows */
/*
 	Colour calculations (based off the main row colours)
  Level 1:
		dd > c4
		ee > d5
	Level 2:
	  dd > d1
	  ee > e2
 */
tr.odd.gradeA td.sorting_1 {
	background-color: #c4ffc4;
}

tr.odd.gradeA td.sorting_2 {
	background-color: #d1ffd1;
}

tr.odd.gradeA td.sorting_3 {
	background-color: #d1ffd1;
}

tr.even.gradeA td.sorting_1 {
	background-color: #d5ffd5;
}

tr.even.gradeA td.sorting_2 {
	background-color: #e2ffe2;
}

tr.even.gradeA td.sorting_3 {
	background-color: #e2ffe2;
}

tr.odd.gradeC td.sorting_1 {
	background-color: #c4c4ff;
}

tr.odd.gradeC td.sorting_2 {
	background-color: #d1d1ff;
}

tr.odd.gradeC td.sorting_3 {
	background-color: #d1d1ff;
}

tr.even.gradeC td.sorting_1 {
	background-color: #d5d5ff;
}

tr.even.gradeC td.sorting_2 {
	background-color: #e2e2ff;
}

tr.even.gradeC td.sorting_3 {
	background-color: #e2e2ff;
}

tr.odd.gradeX td.sorting_1 {
	background-color: #ffc4c4;
}

tr.odd.gradeX td.sorting_2 {
	background-color: #ffd1d1;
}

tr.odd.gradeX td.sorting_3 {
	background-color: #ffd1d1;
}

tr.even.gradeX td.sorting_1 {
	background-color: #ffd5d5;
}

tr.even.gradeX td.sorting_2 {
	background-color: #ffe2e2;
}

tr.even.gradeX td.sorting_3 {
	background-color: #ffe2e2;
}

tr.odd.gradeU td.sorting_1 {
	background-color: #c4c4c4;
}

tr.odd.gradeU td.sorting_2 {
	background-color: #d1d1d1;
}

tr.odd.gradeU td.sorting_3 {
	background-color: #d1d1d1;
}

tr.even.gradeU td.sorting_1 {
	background-color: #d5d5d5;
}

tr.even.gradeU td.sorting_2 {
	background-color: #e2e2e2;
}

tr.even.gradeU td.sorting_3 {
	background-color: #e2e2e2;
}


/*
 * Row highlighting example
 */
.ex_highlight #example tbody tr.even:hover, #example tbody tr.even td.highlighted {
	background-color: #ECFFB3;
}

.ex_highlight #example tbody tr.odd:hover, #example tbody tr.odd td.highlighted {
	background-color: #E6FF99;
}

.ex_highlight_row #example tr.even:hover {
	background-color: #ECFFB3;
}

.ex_highlight_row #example tr.even:hover td.sorting_1 {
	background-color: #DDFF75;
}

.ex_highlight_row #example tr.even:hover td.sorting_2 {
	background-color: #E7FF9E;
}

.ex_highlight_row #example tr.even:hover td.sorting_3 {
	background-color: #E2FF89;
}

.ex_highlight_row #example tr.odd:hover {
	background-color: #E6FF99;
}

.ex_highlight_row #example tr.odd:hover td.sorting_1 {
	background-color: #D6FF5C;
}

.ex_highlight_row #example tr.odd:hover td.sorting_2 {
	background-color: #E0FF84;
}

.ex_highlight_row #example tr.odd:hover td.sorting_3 {
	background-color: #DBFF70;
}


/*
 * KeyTable
 */
table.KeyTable td {
	border: 3px solid transparent;
}

table.KeyTable td.focus {
	border: 3px solid #3366FF;
}

table.display tr.gradeA {
	background-color: #eeffee;
}

table.display tr.gradeC {
	background-color: #ddddff;
}

table.display tr.gradeX {
	background-color: #ffdddd;
}

table.display tr.gradeU {
	background-color: #ddd;
}

div.box {
	height: 100px;
	padding: 10px;
	overflow: auto;
	border: 1px solid #8080FF;
	background-color: #E5E5FF;
}

