/* +-------------------+
   | MODIFIED DEFAULTS |           tidy up the look of an unstyled page
   +-------------------+------------------------------------------------> */
   
   
/* make body defaults sensible */
body {
	margin: 0;
	padding: 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, h4, 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;
	display: block;
}

/* 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, #inner table.wrap td, #inner table.wrap th, #inner table.tdwrap td { 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; vertical-align: top; }

/* 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;
}

/* various sizes of textarea */
textarea.address { width: 120px; height: 70px; }
textarea.notes   { width: 360px; height: 70px; }
textarea.blurb   { width: 360px; height: 120px; }

input.submit {
	margin-top: 10px; /* Or 20px? Indecision!!; */
}

/* iframes are only ever used for utility stuff,
   so don't need a massive border */
iframe {
	border: none;
}

/* default padding must be defined here, so it can be overriden by
   the 'columns2' template. if this is overridden in site.css, special
   care must be taken not to break columns2 - for that template, the
   left and right padding must be 5PX less */
#inner {
	padding: 10px;
}

/* (some) empty repeaters now have a specific look about them. use
   the arg NOAUTOADD to stop repeaters being auto-populated */
#inner div.emptyrepetition {
	background: #ddd;
	font-size: 7pt;
	color: #bbb;
	text-align: center;
	padding: 2px;
	cursor: pointer;
}

/* +-----------------------+
   | HANDY STYLING HELPERS |   avoiding the same junk in every site.css
   +-----------------------+--------------------------------------------> */


/* these elements boxes do something when clicked, so use the correct cursor */
.clickme {
	cursor: pointer;
}

/* 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; }
table tr.gap td td { padding-top: 0; }

/* some generic text-field sizes */
input.vsmall { width: 30px;  }
input.small  { width: 70px;  }
input.medium { width: 160px; }
input.large  { width: 300px; }

/* handy indentation classes */
#inner .indent1 { padding-left: 10px; }
#inner .indent2 { padding-left: 20px; }
#inner .indent3 { padding-left: 30px; }
#inner .indent4 { padding-left: 40px; }
#inner .indent5 { padding-left: 50px; }
#inner .indent6 { padding-left: 60px; }
#inner .indent7 { padding-left: 70px; }
#inner .indent8 { padding-left: 80px; }
#inner .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%;
}

tr.highlight {
	background-color: #eee;
}

/* 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;
}

/* more float bodging */
.float-left  { float: left;  }
.float-right { float: right; }
.noclear { clear: none !important; }

/* for simple two-column sections */
div.cols2         { clear: both; }
div.cols2 div.col { float: left; width: 50%; }


/* +-----------------------+
   | COMMON BONGO ELEMENTS |            most bongo-sites will use these
   +-----------------------+--------------------------------------------> */


/* space out blocks */
div.block,
div.mblock {
	clear: both;
	padding-top: 20px;
}

/* don't space the first, to avoid a weird gap */
div.block.first,
div.mblock.first {
	padding-top: 0;
	border-top: none;
}

/* blocks usually contain an h2, and a few block-type elements (p,table,ul) */
div.block h2,   div.mblock h2   { margin-bottom: 5px; }
div.block h2 a, div.mblock h2 a { color: #000; }

/* block-level elements within blocks are spaced out */
div.block p,     div.mblock p,
div.block table, div.mblock table,
div.block ul,    div.mblock ul {
	padding-bottom: 10px;
}

/* leave off the last gap, to avoid weird gaps (AND TINYMCE EDITORS) */
div.block  .last,
div.mblock .last,
div.block  .mceEditor,
div.mblock .mceEditor {
	padding-bottom: 0;
}

/* clear the inner section (actual page template) */
#inner {
	clear: both;
}

/* make errors a bit ruder */
#inner p.error {
	color: #f00;
	font-weight: bold;
}
