/* +-------------------+
   | MODIFIED DEFAULTS |           tidy up the look of an unstyled page
   +-------------------+------------------------------------------------> */
   
   
/* make body defaults sensible */
body {
	margin: 10px;
	padding: 0;
	margin: 0;
	font: 9pt tahoma, verdana, sans-serif;
}

/* remove those margins from print-outs */
@media print { body { margin: 0; } }


/* remove margins and padding from some structure items */
h1, h2, h3, p, ul, form, table, pre {
	margin: 0;
	padding: 0;
}

/* headers usually clear floats */
h1, h2, h3 { clear: both; }

/* don't use that ridiculous blue border on image links */
a img { border: none; }

/* center align is so 90's */
td, th {
	text-align: left; 
	vertical-align: top;
	padding: 0 20px 0 0;
	white-space: nowrap;
}

/* as default, data tables don't wrap - allow an override with this class */
td.wrap, th.wrap { white-space: normal; }

/* the last td/th in a row doesn't want right padding */
td.last, th.last { padding-right: 0 !important; }

/* wrapped headers look horrible */
th { white-space: nowrap; }

/* table headers that contain sort links are boring-looking */
th a {
	text-decoration: none;
	color:           #000;
}
th a:hover {
	color: #000;
}

/* links are nicer than the average bear */
a {
	color: #00a;
	text-decoration: none;
}
a:hover {
	color: #00f;
	text-decoration: underline;
}

/* for old-school table based layouts (better the evil you know) */
/* also remove the nowrap for cells of layout tables */
table.layout    { border-collapse: collapse; }
table.layout td { padding: 0; white-space: normal; }

/* make fonts and things line up */
input.text, input.button, input.file, input.checkbox, textarea, select {
	font:    8pt tahoma, verdana, sans-serif;
	margin:  0;
	padding: 2px;
}

/* note boxes are just big textareas */
textarea.notes {
	width: 400px;
	height: 60px;
}

input.submit {
	margin-top: 20px;
}

/* iframes are only ever used for utility stuff, so don't need a massive border */
iframe {
	border: none;
}


/* +-----------------------+
   | HANDY STYLING HELPERS |   avoiding the same junk in every site.css
   +-----------------------+--------------------------------------------> */


/* a handy box to let people know... stuff */
.notice {
	border: 1px solid #000;
	background-color: #eee;
	padding: 10px;
}

/* danger will robinson, danger! */
.error { color: #f00; }

/* lite pages (usually nested in panels) don't have padding, and have special markup */
iframe.panel {
	border: 1px solid #ccc;
}

body.lite {
	margin: 10px;
}

body.lite h1 {
	font-size: 1em;
	margin-bottom: 0.5em;
}

/* not applicable (can be applied to anything, usually spans though) */
.na { color: #bbb; }

/* for showing which fields are required/optional */
table.mainlyoptional th          { color: #888; }
table.mainlyoptional th.required { color: #000; }
table.mainlyrequired th          { color: #000; }
table.mainlyrequired th.optional { color: #888; }

/* gappy tables are nice */
table tr.gap td,
table tr.gap th { padding-top: 20px; }

/* some generic text-field sizes */
input.vsmall { width: 30px;  }
input.small  { width: 50px;  }
input.medium { width: 160px; }

/* handy indentation classes */
.indent1 { padding-left: 10px; }
.indent2 { padding-left: 20px; }
.indent3 { padding-left: 30px; }
.indent4 { padding-left: 40px; }
.indent5 { padding-left: 50px; }
.indent6 { padding-left: 60px; }
.indent7 { padding-left: 70px; }
.indent8 { padding-left: 80px; }
.indent9 { padding-left: 90px; }

/* handy table auto-column widths (auto-sizing always makes wonky cols) */
table.cols1 td { width: 100%; }
table.cols2 td { width: 50%; }
table.cols3 td { width: 33.333%; }
table.cols4 td { width: 25%; }
table.cols5 td { width: 20%; }
table.cols6 td { width: 16.666%; }
table.cols7 td { width: 14.285714%; }
table.cols8 td { width: 12.5%; }

/* make tables auto-stretch - use in combination with... */
table.stretch {
	width: 100%;
}

/* for making table cells as thin as possible (watch out for wrapping) */
th.squish, td.squish {
	width: 1%;
}

/* a handy "help-box" for displaying context-help in the top right */
.helpbox {
	position:   absolute;
	display:    none;
	top:        10px;
	right:      10px;
	width:      160px;
	padding:    10px;
	border:     1px solid #000;
	background: #ffe;
}

.helpbox p {
	font-size:   8pt;
	line-height: 1.4em;
	margin:      0 0 10px 0;
}

.helpbox p.last {
	margin-bottom: 0px;
}

/* for showing and hiding specific elements on print-outs */
@media print {
	.print-show { display: block !important; }
	.print-hide { display: none !important;  }
}

/* for float-bodging */
div.clear {
	clear: both;
	height: 0;
}

/* for very simple two-column layouts (form + info) */
/* this is nothing to do with the dpages/columns template */
form.two-columns  div       { clear: both;                    }
form.two-columns .col-1     { float: left;       width: 50%;  }
form.two-columns .col-2     { margin-left: 10px; clear: none; line-height: 1.5em; }
form.two-columns .col-2 div { clear: none; font-size: 7pt; font-weight: bold; line-height: 1em; margin-top: 0.5em; }


/* +-----------------------+
   | COMMON BONGO ELEMENTS |            most bongo-sites will use these
   +-----------------------+--------------------------------------------> */


#content div.block,
#content div.mblock {
	clear: both;
	padding-top: 20px;
	/*border-top: 20px solid #eee;
	-moz-outline: 1px dotted red;*/
}

#content div.block.first,
#content div.mblock.first {
	padding-top: 0;
	border-top: none;
}

#content div.block h2,
#content div.mblock h2 {
	margin-bottom: 5px;
}

#content div.block h2 a,
#content div.mblock h2 a {
	color: #000;
}

#content div.block p,     #content div.mblock p,
#content div.block table, #content div.mblock table,
#content div.block ul,    #content div.mblock ul {
	/*margin-left: 20px;*/
	margin-bottom: 10px;
}

#content div.block .last,
#content div.mblock .last {
	margin-bottom: 0;
}


/* clear the inner section (actual page template) */
#inner {
	clear: both;
}
