/* The page itself. */
body {
	margin: 0;
	padding: 0;
	text-align: left;
}
* {
	z-index: 0;
}

/* All tables should collapse borders. */
table {
	border-collapse: collapse;
}

/* Images in general. */
img {
	border-style: none;
	padding: 0;
}

/* The top portion of all pages, containing the site's logo and an in-depth title. */
table#top, table#top td {
	border-style: none;
	margin: 0;
	padding: 0;
	height: 100px;
	vertical-align: top;
}
table#top {
	border-collapse: separate;
	width: 100%;
}
/* The site logo, located in the top left corner of all pages. */
td#toplogo {
	text-align: left;
}
/* The large site title and description, right aligned to the left of the portrait at the top of all pages. */
td#toptitle {
	text-align: right;
}
p#topname, p#topdescription {
	margin: 0;
}
p#topdescription {
	padding: 0 0 0 10%;
}
/* The portrait image, often displayed in the top right corner of all pages. */
table#top td#topportrait {
	text-align: left;
	padding: 3px;
}

/* Banner across the top of the screen, below the logo and in-depth title. */
table#banner, table#banner td {
	margin: 0;
	padding: 0;
	height: 30px;
	vertical-align: middle;
}
table#banner {
	border-style: solid;
	border-width: 0 0 1px 0;
	width: 100%;
}
table#banner td {
	border-style: none;
	padding: 0 2px 0 2px;
}
/* Language icons. */
img.language {
	border-style: none;
	border-width: 1px;
	height: 12px;
	width: 24px;
	margin: 0 2px 0 0;
}
img.selectedlanguage {
	border-style: solid;
	border-width: 1px;
	height: 12px;
	width: 24px;
	margin: 0 4px 0 0;
}
/* Name of site in banner. */
td#bannername {
	text-align: right;
}
/* Enquiries e-mail address in banner. */
td#bannermail {
	text-align: left;
}
/* Enquiries e-mail address in banner. */
td#bannerdate {
	text-align: center;
}
/* Site search box. */
td.bannersearch {
	text-align: center;
}
p.bannersearch {
	margin: 0;
	width: 100%;
	vertical-align: middle;
}
input#searchbox {
	width: 70%;
}
input#searchbutton {
	width: auto;
}

/* Two or three panel site content table (navigation, content, extras). */
table#content, td.panel, td#navigation, table#menu {
	border-style: none;
	margin: 0;
	padding: 0;
}

/* Navigation menu. */
td#navigation, table#menu {
	width: 150px;
}
td#navigation {
	text-align: center;
}
table#menu {
	text-align: left;
}
tr#skipnav {
	display: none;
	visibility: hidden;
}
table#menu td {
	border-style: solid;
	border-width: 0 0 1px 0;
	margin: 0;
	padding: 2px 3px 2px 3px;
	vertical-align: middle;
}
span.arrow {
	float: right;
	text-align: right;
	width: 16px;
}
td.separator {
	padding: 0;
	height: 2px;
	font-size: 1px;
	empty-cells: show;
}
p.pin {
	margin: 1px;
}
img.pin {
	margin: 5px 0 0 0;
	vertical-align: middle;
}
span.pinarr {
	vertical-align: middle;
}

/* Paragraphs and headings. */
p {
	margin: 10px 0 10px 0;
}
p.final {
	margin: 10px 0 0 0;
}
h1 {
	margin: 10px 0 10px 0;
	clear: both;
}
h2 {
	clear: both;
}
h3 {
	margin: 0;
}

/* Actual content panel. */
table#content td#central {
	padding: 10px;
}

/* Thumbnail images to accomany news stories or links in boxes. */
img.small {
	border-style: solid;
	border-width: 1px;
	margin: 0;
}

/* Match in a search query. */
table.querymatches {
	margin: 4px 0 4px 0;
}
table.querymatches, table.querymatches th, table.querymatches td {
	border-style: solid;
	border-width: 1px;
	text-align: left;
	vertical-align: top;
}
table.querymatches th {
	padding: 1px 4px 1px 4px;
}
table.querymatches td {
	padding: 4px;
}
p.match, p.matches {
	margin: 0px;
}

/* Bulleted lists. */
ul {
	list-style: square;
}

/* Captioned images. */
table.lfloat, table.rfloat, table.lfloatdis, table.rfloatdis, table.lfloatsm, table.rfloatsm, table.lfloatdissm, table.rfloatdissm, table.captioned {
	border-style: solid;
	border-width: 1px;
	clear: both;
}
table.lfloat td, table.rfloat td, table.lfloatdis td, table.rfloatdis td, table.lfloatsm td, table.rfloatsm td, table.lfloatdissm td, table.rfloatdissm td, table.captioned td {
	padding: 10px;
	text-align: center;
}
table.lfloat, table.lfloatdis, table.lfloatsm, table.lfloatdissm {
	float: left;
	margin: 0 5px 0 5px;
}
table.rfloat, table.rfloatdis, table.rfloatsm, table.rfloatdissm {
	float: right;
	margin: 0 0 5px 5px;
}
/* table.lfloat, table.rfloat, table.lfloatdis, table.rfloatdis, table.captioned { */
table.lfloat, table.rfloat, table.lfloatdis, table.rfloatdis {
	width: 280px;
}
#rhs table.captioned {
	width: 200px;
	margin: 0 0 5px 0;
}
table.lfloatsm, table.rfloatsm, table.lfloatdissm, table.rfloatdissm {
	width: 140px;
}
p.caption {
	margin: 10px 0 0 0;
}

/* Static page images. */
img.pageimage {
	margin: 10px;
}

/* Contact icons. */
img.cicon {
	height: 16px;
	width: 16px;
	margin: 0 4px 0 0;
	vertical-align: middle;
}
p.contact {
	margin: 0px 0px 10px 0px;
}

/* Events. */
h2.event {
	margin: 20px 0 0 0;
}

/* Dates after headings. */
p.datefollowsh {
	margin: 0 0 10px 0;
}

/* Form items. */
form {
	margin: 2px 0 2px 0;
}
table.formitem, table.invalidformitem {
	border-style: solid;
	border-width: 1px;
	clear: both;
	margin: 4px 0 4px 0;
	padding: 2px;
	width: 100%;
}
td.label {
	text-align: right;
	vertical-align: top;
	width: 30%;
}
td.formitem {
	text-align: left;
	vertical-align: top;
}
p.formitemdesc {
	margin: 2px 10px 0 0;
	text-align: justify;
}
img.required {
	vertical-align: top;
	width: 8px;
	height: 8px;
}

/* Permissions list. */
table.permissions {
	width: 100%;
}
table.permissions, table.permissions th, table.permissions td {
	border-style: solid;
	border-width: 1px;
	text-align: left;
	vertical-align: top;
}
table.permissions th {
	padding: 1px 4px 1px 4px;
}
table.permissions td {
	padding: 4px;
}

/* Other lists. */
table.list {
	width: 100%;
	border-style: none;
}
table.list td {
	padding: 1px;
}
td.listbox {
	width: 5%;
	text-align: left;
	vertical-align: top;
}
td.listlabel {
	width: 95%;
	text-align: left;
	vertical-align: top;
}
td.arrow {
	width: 16px;
	height: 16px;
	vertical-align: top;
}
img.arrow {
	width: 16px;
	height: 16px;
}
hr.separator {
	vertical-align: middle;
	width: 80%;
	border: 0px;
}

/* Text boxes and areas. */
td.formitem input, td.formitem textarea, select.longlist {
	width: 100%;
}
textarea {
	height: 200px;
}

/* Buttons. */
input.button {
	clear: both;
	width: 300px;
}

/* Management area items. */
table.mi {
	margin: 4px 0 4px 0;
	width: 100%;
}
table.mi, table.mi th, table.mi td {
	border-style: solid;
	border-width: 1px;
	text-align: left;
	vertical-align: top;
}
table.mi th {
	padding: 1px 4px 1px 4px;
}
table.mi td {
	padding: 4px;
}
td.id {
	text-align: right;
}

/* Help text. */
table.helpbox {
	width: 100%;
	border-style: solid;
	border-width: 1px;
}
img.helpicon {
	height: 64px;
	width: 64px;
}
td.helptext {
	padding: 4px;
	text-align: justify;
}

/* Horizontal panels. */
table.panel {
	width: 100%;
}
table.panel td.panel {
	padding: 5px;
	vertical-align: top;
}

/* Hyperlinks. */
p.hyperlink {
	margin: 0;
}

/* News stories and link boxes. */
table.medium, table.mediumemp {
	border-style: solid;
	width: 100%;
	margin: 0 0 10px 0;
}
table.medium {
	border-width: 1px;
}
table.mediumemp {
	border-width: 2px;
}
table.medium td {
	vertical-align: top;
	padding: 10px 10px 0 10px;
	text-align: left;
}
table.mediumemp td {
	vertical-align: top;
	padding: 8px 8px 0 8px;
}
table.medium td.link {
	padding: 0 10px 10px 10px;
}
table.mediumemp td.link {
	padding: 0 8px 8px 8px;
}
table.medium td.image, table.mediumemp td.image {
	text-align: right;
}
div.clear {
	clear: both;
}
span.newstory {
	border-style: solid;
	border-width: 1px;
	margin: 1px 4px 1px 4px;
	padding: 1px 4px 1px 4px;
	vertical-align: top;
}

/* Clearance bar (invisible). */
hr.clearance {
	border: 0px;
	margin: 0px;
	padding: 0px;
	clear: both;
}

/* Resources. */
img.icon {
	width: 92px;
	height: 92px;
}

/* Right hand side panel. */
table#content td#rhs {
	padding: 10px 5px 0 0;
	width: 210px;
	text-align: left;
}
table.rhsbox {
	border-style: solid;
	border-width: 1px;
	margin: 0 0 5px 0;
	width: 200px;
	text-align: left;
}
table.rhsbox th {
	padding: 2px;
	text-align: center;
}
table.rhsbox p {
	padding: 0 4px 0 4px;
	text-align: left;
}
table.rhsbox p.quote {
	margin: 10px 0px 0px 0px;
}
table.rhsbox p.quoteauthor {
	margin: 0;
	text-align: right;
}
table.rhsbox p.quotepubl {
	margin: 0px 0px 10px 0px;
	text-align: right;
}
table.rhsbox p.pollbarp {
	padding: 0px 0px 5px 0px;
}
table.subscription input {
	width: 130px;
}
table.subscription label {
	width: 60px;
	text-align: right;
}

/* Quotations. */
q {
	quotes: none;
}
q:before {
	content: no-open-quote;
}
q:after {
	content: no-close-quote;
}

/* Publisher / promoter details at bottom of page. */
address {
	clear: both;
	margin: 40px 0 0 0;
	padding: 0 5px 0 0;
	text-align: center;
}

#nophotobox  { border-style: solid; }

#nophotobox              { border-width: 4px; }

.pollanswer, .pollanswermax
                         { clear: both; }

.pollpercent, .pollpercentmax, .pollbar, .pollbarmax, .pollbarzero
                         { float: left; }

#nophotobox              { height: 86px; }
.pollbar, .pollbarmax, .pollbarzero
                         { height: 16px; }

#fulltitle               { left: 350px; }

.pollbar, .pollbarmax, .pollbarzero, p.pollbarp
                         { margin: 0px; }
div.polllist, div.longpolllist
                         { margin: 0px 0px 5px 0px; }
.pollresult
                         { margin: 2px 0px 2px 0px; }
.pollpercent, .pollpercentmax
                         { margin: 0px 4px 0px 0px; }
.white, .pollanswer, .pollanswermax
                         { margin: 0px 0px 0px 20px; }

p.pollbarp               { padding: 0px 0px 20px 0px; }

div.polllist, div.longpolllist
                         { position: relative; }

.pollpercent, .pollpercentmax
                         { text-align: right; }
#nophotobox, .pollresult, #fulltitle, div.pollbutton
                         { text-align: center; }

#fulltitle               { top: 10px; }

.polllist                { vertical-align: top; }

label.longpolllist       { width: 100%; }
div.polllist, input.pollbutton
                         { width: 190px; }
label.polllist           { width: 160px; }
#nophotobox              { width: 120px; }
input.polllist           { width: 20px; }
.pollpercent, .pollpercentmax
                         { width: 50px; }

/* The top portion of all pages, containing the site's logo and an in-depth title. */

table#top, table#top td {
	border-style: none;
	margin: 0px;
	padding: 0px;
	height: 94px;
	vertical-align: top;
}
table#top {
	border-collapse: separate;
	width: 100%;
}

/* NE: New class for photobox_small */
img.smallpb {
	margin: 0;
	border: 3px solid #ffcc33;
}

/* NE: New class for photobox_small_bg */
img.smallpbbg {
	margin: 0;
	border: 3px solid #ffe596;

}

/* Horizontal panels. */
table.panel {
	width: 100%;
}

/* The site logo, located in the top left corner of all pages. */
td#toplogo {
	text-align: left;
}
/* The large site title and description, right aligned to the left of the portrait at the top of all pages. */
td#toptitle {
	text-align: right;
}
p#topname, p#topdescription {
	margin: 0;
}
p#topdescription {
	padding: 0 0 0 10%;
}
/* The portrait image, often displayed in the top right corner of all pages. */
table#top td#topportrait {
	text-align: left;
	padding: 0px;
}

table#banner td {
	border-style: none;
}