/* Generic styles */

/* Tables */
th {font-weight: bold; text-align: left;}
table caption {line-height: 1.2em;}

/* 'Border' table style */
table.border {border: 1px; border-collapse: collapse; border-spacing: 0px;}
table.border td, table.border th {border: 2px #eee solid; padding: 4px;}

/* 'Lines' table style */
table.lines {border-collapse: collapse; /* width: 95%; */}
.lines td, .lines th {border-bottom: 1px solid #e9e9e9; padding: 6px 4px 2px; vertical-align: top; text-align: left;}
.lines td.alignright, .lines th.alignright {border-bottom: 1px solid #e9e9e9; padding: 6px 4px 2px; vertical-align: top; text-align: right;}
/* .lines td:first-child, .lines th:first-child {width: 150px;} */
.lines tr:first-child {border-top: 1px solid #e9e9e9;}
.lines td h3 {text-align: left; padding-top: 20px;}
.lines p {text-align: left;}
.lines td.noline {border-bottom: 0;}
table.lines td.value p:first-child {margin-top: 0;}
table.lines td.value p:last-child {margin-bottom: 0;}
table.lines td:last-child ul:first-child {margin-top: 0;}
table.lines td:last-child ul:first-child li:first-child {margin-top: 0;}
table th.background, table td.background {background-color: #eee;}
table th.border, table td.border {border: 1px solid gray;}

table.compressed td {padding: 0 4px;}
table.spaced td {padding: 8px 4px;}
table tr.spaced td {padding-top: 2em;}
table.small td {font-size: 11px;}	/* #!# Doesn't work because .small below overrides */
table.alternate tr:nth-child(odd) td {background-color: #d8e7e9;}
table.lines.regulated td.key, table.lines.regulated td:first-child {width: 150px;}

/* Code box style */
div.code {background-color: #fcfaf3; color: #0b0b0b; border: 1px solid #eee; padding: 10px;}
div.code span {color: #888;}
div.codexml {background-color: #fcfaf3; color: #0b0b0b; border: 1px solid #eee; padding: 10px;}
div.codexml pre { max-height: 30em; overflow: auto;}

/* Table hover class to add background color on mouse tracking - IE6 doesn't yet support */
table.hover tr:hover {background-color: #eaf5fd;}
table.browse td { max-width: 30em; overflow:auto; }

/* Table style which is similar to div.graybox */
table.graybox {border-collapse: separate; border-spacing: 0 10px;}
table.graybox td {vertical-align: top; padding: 10px 0; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; background-color: #fcfcfc;}

/* Boxes */
/* Yellow box with dotted top/bottom */	div.box {border-top: 1px dashed gray; border-bottom: 1px dashed gray; padding: 10px 5px; margin: 8px 0;}
										div.box, div.box td {background-color: #fff9e3;}
/* Basic, gray solid-edged box */		div.basicbox {border: 1px dotted gray; padding: 12px; margin-top: 5px;}
/* Red solid-edged box */				div.warningbox {border: 1px solid red; padding: 4px 8px; margin-top: 5px; margin-bottom: 10px;}

div.graybox {border: 1px solid #ddd; padding: 10px 15px; margin: 0 10px 10px 0; background-color: #fcfcfc;}
div.graybox:hover {background-color: #fafafa; border-color: #aaa;}
div.graybox h2, div.graybox h3 {margin-top: 0.4em;}
div.graybox p {text-align: left; margin-top: 10px;}

/* Superscript correction - see http://lists.evolt.org/harvest/detail.cgi?w=20060918&id=13118 */
sup {position: relative; top: -3px; vertical-align: top; font-size: 82%;}

/* Forms */
div.jumplist form, form.inline, form.inline input, form.inline textarea {display: inline;}

/* Warning and note colourings */
.error, .important, .warning, .failure {color: red;}
.success {color: green;}
.faded {color: #bbb;}
.highlight, .highlight td {background-color: #ff9;}
.comment {color: #777;}
span.new {color: #cc3366;}
.cancel:hover {background-color: red; color: white;}

/* Used to distinguish documentation accessible only to developers */
.developer {color: #8b8;}

/* Signature */
p.signature {text-align: right; font-style: italic;}

/* Lists, paragraphs and threads */
.spaced li, li.spaced {margin-top: 12px;}
.spaced .normal li, .spaced li.normal {margin-top: 3px;}
p.spaced {margin-top: 3em;}
ul.nobullet, .nobullet ul {list-style-type: none; margin: 0; padding: 0;}
ul.nobullet li, .nobullet ul li {list-style: none;}
ul.inline {margin: 10px 0 20px; padding: 0;}
ul.inline li {display: inline; list-style-type: none; padding: 0 10px;}
table.splitlist {table-layout: fixed;}
table.splitlist td {width: 30%  /* 30% is a reasonably safe approximation */ ; padding-right: 1em; vertical-align: top;}
table.splitlist td ul li {text-align: left;}
dl.spaced dt {margin-top: 1.2em; font-weight: bold;}
dl.spaced dd {margin-top: 0.5em;}

/* First/Previous/Index/Next/Last buttons */
div.location {float: right;}
div.location ul {display: block;}
div.location p {clear: right;}
div.location ul li {float: left; margin-left: 10px; padding: 0; list-style: none; display: block;}
div.location ul li.previous, div.location ul li.next {width: 85px;}
div.location ul li.index {width: 100px;}
div.location ul a {display: block; padding: 1px 5px; border: 1px solid gray; text-align: center;}
div.location ul li.first a, div.location ul li.last a {border: 1px solid #ddd;}

/* Rules */
hr {border: 0; height: 1px; color: #e0e0e0; background-color: #e0e0e0;}

/* Miscellaneous */
p[align=right] {text-align: right;} /* Only works for Mozilla */
.signature {text-align: right; font-style: italic;}
.small {font-size: 11px;}

/* Photo gallery */
div.gallery div.image {display: block; float: left; text-align: center;}
div.gallery div.image img {border: 1px solid #333; margin: 30px 10px 5px 0;}
div.gallery div.image p {margin-top: 0; margin-bottom: 0;}

/* Search results */
.search #searchform form {margin-top: 2em;}

/* Search highlighting */
p.referer {border: 1px solid #aaa; background-color: #eee; color: #333; font-style: italic;}
span.referer {background-color: #eee;}

/* Acronyms, abbreviations, definitions */
acronym, abbr {cursor: help; border-bottom: 1px dotted #000;}

/* Images (with or without caption) */
/* NB div's can't be used instead of tables [perhaps until p+p is supported by IE] because the size of the image changes, so the text wouldn't line up */
table.photo, table.diagram {caption-side: bottom; font-style: italic;}
table.photo caption, table.diagram caption {padding: 0 12px;}
table.diagram img, img.diagram {border: 0;}
table.photo img, img.photo {border: 1px solid black;}
.diagram, .photo {margin: 8px 0;} /* Default, overriden in following lines */
.diagram *, .photo * {background-color: white;}
.centre {display: block; margin-left: auto; margin-right: auto;}
.left {float: left; margin-right: 12px;}
.right {float: right; margin-left: 12px;}

/* Clearfix - forces containers to expand to full height of floated elements */
.clearfix:after, #menu ul li.selected ul:after {content: "."; display: block; height: 0; clear: both; visibility: hidden;}
.clearfix {display: inline-block;}
/* Hide from IE Mac \*/
.clearfix {display: block;}
/* End hide from IE Mac */

/* Action buttons, for use with icons from www.famfamfam.com */
ul.actions {margin: 0; padding: 0; float: right; display: block;}
ul.actions.inline {float: none; margin-top: 2em;}
ul.actions li {list-style: none; margin-bottom: 1px;}
ul.actions.inline li {display: inline; margin-right: 5px;}
ul.actions li a, ul.actions li form, p.actions a, a.actions, ul.actions li span.actions {border-bottom: 0; border: 1px solid #ddd; padding: 4px 8px 2px; -moz-border-radius: 4px; -webkit-border-radius: 4px; width: 185px;}
ul.actions li form, ul.actions li span.actions {padding: 0; width: /* 185px + 2*8px = */ 201px;}
ul.actions li form input, ul.actions li span.actions {width: 100%; border: 0; background-color: white; text-align: left; padding: 4px 8px 2px;}
ul.actions li a, ul.actions li form input.action, ul.actions li span.actions {display: block;}
p.actions a, a.actions {padding: 10px 8px 2px;}
ul.actions.inline li a {display: inline; width: auto;}
ul.actions li a:hover, ul.actions li form:hover, a.actions:hover {border-color: #aaa;}
ul.actions li form input:hover {cursor: pointer; cursor: hand;} /* See http://www.quirksmode.org/css/cursor.html#note */
ul.actions li a img, a.actions img {vertical-align: top; width: 16px; height: 16px; border: 0;}
img.icon {width: 16px; height: 16px; border: 0; vertical-align: middle;}

ul.actions li a, p.actions a {border-bottom: 0; border: 1px solid #ddd; padding: 4px 8px 2px; -moz-border-radius: 4px; width: 185px;}
ul.actions li a {display: block;}
ul.actions.left {float: none;}
p.actions a {padding: 10px 8px 2px;}
/* Pagination */
p.pagination, p.orderby {font-size: 83%;}
p.pagination, p.orderby {line-height: 1.8em; margin: 2px 0; border-bottom: 0px solid #f7f7f7;}
p.pagination strong, p.pagination span, p.orderby strong {color: #aaa;}
p.pagination a, p.orderby a {color: #333;}
p.pagination a, p.pagination strong, p.pagination span, p.orderby a, p.orderby strong {padding: 1px 5px; border: 1px solid #ccc;}
p.pagination strong, p.orderby strong {border-color: #333;}
p.pagination a.first
p.pagination a.selected, p.orderby a.selected {background-color: #bbb;}
p.pagination a:hover, p.orderby a:hover {border-color: #6100c1; background-color: #f0e1ff; text-decoration: none;}
p.pagination {margin-top: 2em; margin-bottom: 2em;}

/* Pagination links */
ul.paginationlinks {height: 3em; margin: 0; padding-top: 0; padding-left: 0; padding-right: 0.8em;}
ul.paginationlinks li {float: left; margin-left: 0.5em; width: 1.4em; padding-bottom: 1px; list-style: none;}
ul.paginationlinks li.introduction, ul.paginationlinks li.root {width: auto;}
ul.paginationlinks li.introduction {margin-left: 0;}
ul.paginationlinks a, ul.paginationlinks li span {border: 1px solid white; padding: 0.1em 0.5em;}
ul.paginationlinks a:hover {border: 1px solid #ddd;}
ul.paginationlinks li div.jumplist form {display: inline; white-space: nowrap;}
ul.paginationlinks li div.jumplist form input {font-size: 0.83em;}

/* Tabs and subtabs */
ul.tabs {padding: 3px 0 4px 2px; margin-left: 0; margin-bottom: 1.5em; border-bottom: 1px solid #778; line-height: 1em;}
ul.tabs li {list-style: none; margin: 0; display: inline;}
ul.tabs li a {padding: 3px 0.5em; margin-left: 2px; border: 1px solid #778; background: #f7f7f7; text-decoration: none;}
ul.tabs li a:link {color: #448;}
ul.tabs li a:visited {color: #667;}
ul.tabs li a:hover {color: #000; background: #eee; border-color: #227;}
ul.tabs li.selected a {background: white; border-bottom: 1px solid white;}
ul.tabs img {border: 0; vertical-align: bottom; padding: 0;}
ul.tabs li select {margin-bottom: 1em;}
ul.tabs li select option {color: #603;}
ul.subtabs {padding: 0 0 2px 2px;}
ul.subtabs li a {border-style: dotted; border-bottom: none; padding: 0 0.5em;}

/* Switchtable tabs */
#switchabletabs {margin-top: 2em;}
#switchabletabs-content.boxed {margin-top: 0; margin-bottom: 30px;}
#switchabletabs-content.boxed > div {min-height: 250px; background-color: #fcfcfc; border-bottom: 1px solid #ddd; padding: 0 20px 10px;}
#switchabletabs-content.boxed h2 {margin-top: 0; padding-top: 25px;}

/* UltimateForm styles */
.ultimateform h2 {margin-top: 30px;}
.ultimateform input, .ultimateform select, .ultimateform textarea, .ultimateform option, .ultimateform table td p.currentfile span.filename {color: #603;}
.ultimateform .spaced li {margin-top: 10px;}
.ultimateform .comment {color: #888; text-align: left;}
.ultimateform .button, .ultimateform .resetbutton {cursor: pointer; background-color: #ddd; border-color: #eee #999 #999 #eee; border-style: solid; border-width: 2px;}
.ultimateform td.title {text-align: right; vertical-align: top;}
.ultimateform.leftlabels td.title {text-align: left;}
.ultimateform td.data {vertical-align: top;}
.ultimateform td.description {text-align: left; vertical-align: top; color: #888;}
.ultimateform span.description {color: #888; font-style: italic;}
.ultimateform span.restriction {color: #999; font-style: italic;}
.ultimateform table td, .ultimateform table.noborder td table td, .ultimateform table th, .ultimateform table.noborder td table th {border: 1px #eee solid; padding: 4px;}
.ultimateform.compressed table td, .ultimateform.compressed table.noborder td table td, .ultimateform.compressed table th, .ultimateform.compressed table.noborder td table th {padding: 2px;}
.ultimateform table td p.currentfile {margin-top: 0; margin-bottom: 2px; padding-top: 0; padding-bottom: 0;}
.ultimateform table td p.currentfilenext {margin-top: 5px;}
.ultimateform table {border: 0; border-collapse: collapse; border-spacing: 0;}
.ultimateform table.noborder td {border: 0; padding: 0 16px 10px 0;}
.ultimateform th {text-align: center;}
.ultimateform td.results {text-align: center;}
.ultimateform td.comment {color: #ccc; font-style: italic;}
.ultimateform td.totals {text-align: center; color: #666;}
.ultimateform input.refresh {background-color: transparent; border: 0; padding: 1px; color: #aaa; font-size: 1.1em;}
/* Error box and warning highlighting */
.ultimateform div.error {border: 1px dashed gray; padding: 5px 10px; margin-top: 5px; margin-bottom: 5px;}
.ultimateform div.error p {margin-bottom: 5px;}
.ultimateform div.error ul {margin-top: 0;}
.ultimateform div.error p, div.error ul, div.error li {color: red; margin-top: 5px;}
.ultimateform .warning, .ultimateform .error {color: red;}
.ultimateform .success {color: #003300;}
.ultimateform .completion {font-weight: bold;}
.ultimateform div.debug {border: 1px dashed gray; padding: 5px 10px; color: red; margin-top: 5px; margin-bottom: 5px;}
/* CSS layout version to replace form tables */
.ultimateform div.row, .ultimateform p.submit {border-top: 1px solid #e9e9e9; vertical-align: top; padding: 5px 0 10px;}
.ultimateform div.row {clear: both;}
.ultimateform div.row span.label {float: left; width: 27%; text-align: right; padding-right: 10px;}
.ultimateform div.row span.restriction {display: block;} /* Forces line-break */
.ultimateform div.row span.data {float: left; width: 40%; text-align: left; padding-right: 10px;}
.ultimateform div.row span.description {float: left; width: 28%; text-align: left;}
/* Fieldset */
.ultimateform fieldset {border: 0;}
/* On-screen layout results */
.ultimateform table.results td.key {font-weight: bold; text-align: right;}
.ultimateform table.results td {vertical-align: top;}
/* Self-documentation */
.ultimateform table.documentation th {text-align: left;}
/* Checkboxes/radiobuttons */
.ultimateform label {vertical-align: top; margin-right: 0.5em;}	/* For the margin, ideally, input[type=radio] should be used instead, but that's poorly supported */
.ultimateform tr.checkboxes table td {border: 0; padding: 0; padding-right: 4px; vertical-align: top;}
.ultimateform.horizontalonly td, .ultimateform.horizontalonly th {border-left: 0; border-right: 0;}
