body {
	color: black;
	font-size: medium;
	background-color: #ffffff;
	
}

/* all divs form a centered column */
div.block, div.bar, div.textbar,div.text, div.graph {
width: 46em;
}
div.wideblock {
width: 60em;
}
div.report {
width: 95%;
}

/* common properties of all divs */
div.block, div.bar, div.textbar,div.text, div.graph, div.report, div.wideblock {
margin-left: auto;
margin-right: auto;
margin-top: 20px;
margin-bottom: 20px;
text-align: left;
color: black;
 font-family: "MS Arial", "Helvetica", sans-serif;
        font-style: normal;
        font-variant: normal;
        font-weight: normal;
        font-size: medium;
        text-decoration: none;
        padding-left: 10px;
        padding-right: 10px;
        padding-top: 10px;
        padding-bottom: 10px;
        border-radius: 20px;
        white-space: normal;
	}

/* The basic centered Grey block
 * This can hold headers paragraphs and forms.
 */
div.block, div.wideblock{
background-color: #cccccc;
}

/* Simple single line bar contains a single h3 heading and 
 * a submit button only form. We swap the text direction to get the button on the right
 */
div.bar{
text-align: left;
background-color: #e7e7e7;
}

/* simple single bar containing only text */
div.textbar{
background-color: #e7e7e7;
}
/* Button like links so we can open new page using right mouse */
table.navbar tr td a {
    background-color: #e7e7e7;
    border-width: 1px;
    border: solid black;
    display: block;
    text-align:center;
}

/** Report formats */


/* large table based report */
div.report {
    text-align: left;
}
div.report h2{
text-align: center;
}
div.report  th {
background-color: #dddddd;
}
div.report td {
	background-color: #eeeeee;
}
div.report table {
	width: 100%;
	border: solid black;
}
/* block containing an image */
div.graph{
	width: 100%;
	text-align: center;
}
div.graph h2{
	text-align: center;
}
/* supress normal formatting in reports
*/
div.report h2, div.report h3, div.report h4{
	color: black;
	background-color: #ffffff;
}

/* we use three levels of header as standard 
 * h2 is the top level header in a block
 * h3 is a secondary header or a header in a div.bar
 * h4 is a smaller header for dubdivisions.
*/

h2, h3, h4, h5, h6 {
	font-size: 110%;
	color: black;
    text-align: left;
    line-height: normal;
    margin: 0;
    padding: 4px;
}

 /*
  * secondary header in a block
  */
div h3{
background-color: #ffffcc;
}

div h4{
background-color: #ffeebb;
}

div h5{
background-color: #eeeeee;
}

div h6{
background-color: #ffffff;
}

label{
text-align: left;
}



/* A form within a block element. This can contain a nested 
 * table for fine grain layout.
 */
div.block form, div.wideblock form{
background-color: #cccccc;
margin: 2px 0px;
padding: 0;
}
div.form {
text-align: left;
}
/* block of action buttons at the end of a form
*/
.action_buttons{
text-align: right;
}
fieldset.action_buttons{
border: solid #e7e7e7;
border-width: 3px;
margin: 5px 0px;
}


div.block td form, div.wideblock td form{
	background-color: inherit;
}

form.button{
	display: inline;
	text-align: right;
}

/* table for fine tuning the layout within a form
 * these have an explicit border 
 */
table.form{
	border: solid #e7e7e7;
	border-width: 3px;
    background-color: #cccccc;
    margin: 5px 0px;
    text-align: left;
}


table.form tr {
        width: 100%;
}
table.form td {
        padding: 2px;
        background-color: #cccccc;
}

/* auto generated table from Table class */
table.auto {
	width: 100%;
	text-align: left;
}
/* strong match */
th:first-child, td:first-child{
	text-align: left;
}
table.auto td, table.auto th {
  margin: 1px;	
}

div.ifms_summary td.key {
background-color: #e7e7e7;	
text-align: left;
}
/* paragraph within a block
 */
div.block p,  div.block ul, div.block table, div.block pre, div.{
text-align: left;

}
div.block p,  div.block ul, div.block pre, div.block div.para{
margin: 4px 0px;
background-color: #e7e7e7;
color: black;
padding: 8px;
display: block;
}


div.block ul{
list-style: inside;
}
div.block table, div.wideblock table, div.report table {
    width: 100%;
    border: solid #e7e7e7;   
}
/* supress the cell seperators for nested tables */
div.block table table {
	    border-collapse: collapse;
		border-spacing: 0;
		border-width: 0;
}
/* need to ensure cells are seperated if this is an auto-table not a form table
 * as data may be packed in there.
*
div.block table table.auto td, div.block table table.auto th{
		border-width: 1px;
		border: solid black; 
}
*/


table.compact {
	    border: none;
		border-spacing: 0;
		margin: 3px 0px;	
}



div.bar form{
 display: block;
 float: right;
 text-align: right;

 /* old versions of firefox ?
 position: relative;
 top: -5px;
 */
 font-size: 110%;
	color: black;
    line-height: normal;
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 4px;
    padding-right: 4px;
}


/* heading within a bar
 */
div.bar h2, div.bar h3{
font-weight: normal;
display: inline;
/*float: left;*/
line-height: normal;
margin: 2px;
background-color: #e7e7e7;
}




/* fixes to try and get nested tables to pick up the correct
 * highlighting make the notice rule more explicit so it
 * wins over the highlight rule prefix everything with div to
 * avoid matching legacy header footer table formatting.
  * Note auto tables may contain nested 1 button forms 
 */
 div td, div th{
 color: black;
 }

div tr.notice td, div tr td.notice{
	background-color: #ffcccc;
}

div  *.highlight td, div table.auto *.highlight td form{
	 background-color: #ffffcc;
}

div td, div table.auto td form {
        background-color: #ffffff;
}
td.numeric, td[numeric] , td.notice_numeric, td.numeric input, td.notice_numeric input {
text-align: right;
white-space: nowrap;
}
div td.notice_numeric{
background-color: #ffcccc;
}
/* a table cell intended to hold a form buton */
div td.button {
	text-align: center;
	background-color: #e7e7e7;
}
div th {
        color: black;
        background-color: #e7e7e7;
}
/* Resoruce table */
td.notes{
	text-align: right;
}
td.resource table.auto td.main, td.resource table.auto th.main{
	text-align: right;
}
div table table.resource{
	text-align: right;
}
/* a warning paragraph */
div p.warn{
	color: #ff0000;
		}
.center{
text-align: center;
	}
.plain {
	background-color: #ffffff;
	}
.warn {
	color: #ff0000;
}
.notice {
	background-color: #ffcccc;
	}
.highlight,div.block  p.highlight {
  background-color: #ffffcc;
}
.grey {
 background-color: #cccccc;
}
.lightgrey{
	background-color: #e7e7e7;
}
.optional{
	color: #555555;
}
/* rules for the survey code */
div.question_noanswer, div.question_answered{
 text-align: center;
 border-width: thin;
 border-style: solid;
 padding: 2px;
 margin-top: 5px;
}
div.question_noanswer {
  border-color: red;	
}
div.question_answered {
  border-color: green;	
}
div.noquestion {
  border-color: green;	
}
div.block p.question {
	background-color: #f0f0f0;
}

div.block div.compact {
	display: block;
	text-align: right;
	background-color: #f0f0f0;
}
div.block div.compact p.question {
	text-align: left;
	padding-top: 0px;
	padding-bottom: 0px;
	margin: 0px;
	float: left;
	display: block;
}

div.options{
  font-size: smaller;
  font-weight: bold;
  white-space: nowrap;
}

div.block div.compact div.options {
	padding-right: 4px;
	display: inline;
}
textarea.comment {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 95%;
}
/* survey formatting for results */
/* These numbers come from a linear interpolation between reg and green
 * but using the square of the fractional value to componsate for high %ages being
 * harder to reach if there are multiple choices.
*/
li.frac_0 {
  	background-color: #ff9999;
}
li.frac_1 {
  	background-color: #ebac99;
}
li.frac_2 {
	background-color: #dabd99;
}
li.frac_3{
	background-color: #cacd99;
}
li.frac_4{
	background-color: #bdda99;
}
li.frac_5{
	background-color: #b2e599;
}
li.frac_6{
	background-color: #a9ee99;
}
li.frac_7{
	background-color: #a2f599;
}
li.frac_8{
	background-color: #9dfa99;
}
li.frac_9{
	background-color: #9afd99;
}
li.frac_10{
	background-color: #99ff99;
}
div td[format=under]{
	color: #ff0000;
}
div td[format=over]{
	color: #0000ff;
}
div td[highlight=true]{
	background-color: #ffffcc;
}
div td[notice=true]{
	background-color: #ffcccc;
}
div.block p.comment {
	background-color: #ffeebb;
}

/* XML formatting */
div.element, div.elementcontent, div.element h3 {
background-color: #ffffff;
}
div.elementcontent {
width: 98%;
padding-left: 2%;
}
div.xml_warn {
	font-size: smaller;
	background-color: #ffffcc;
	margin-top: 0px;
	margin-bottom: 0px;
	margin-right: 0px;
	border-radius: 20px;
	border: solid black;
	padding: 10px;
}
div.xml_warn_scope {
	margin-top: 10px;
	margin-bottom: 10px;
	margin-right: 20px;
	border-radius: 20px;
	border: solid red;
	padding: 10px;
}
div.xml_comment{
	background-color: #ccccff;
	border-radius: 20px;
	margin-top: 20px;
	margin-botton: 20px;
	margin-right: 20px;
	padding: 10px;
}
/* auto collapse
div.element div.element div.elementcontent, div.element div.element:hover div.element div.elementcontent{
	display: none;
}

div.element div.element:hover div.elementcontent, div.element div.element div.element:hover div.elementcontent{
display: block;
}
*/
