/* Various CSS Browser hacks:

all browsers:
.foo {
  top:5px;
}


just IE 5.x:
.foo {
  top:0;
  voice-family: "\"}\""; 
  voice-family:inherit;
  top:5px;
}


just IE:
* html .foo {
  top:5px;
}


just IE 7.x:
*:first-child+html .foo {
  top:5px;
}


just Safari (N.B. replace '[forward slash]' with '/' below):
/*\*[forward slash]
html>body*.foo {
  top:5px;
}
/**[forward slash]

*/

/*------------------------------------
 ELEMENTS
------------------------------------*/

body {
  margin:0;
  padding:0;
  height:100%;
  text-align:left;
  font-family:"gill sans", arial, verdana, sans-serif;
  font-size:12px;
}

/* link to top of page */
#top_of_page {
  display:block;
  visibility:hidden;
  height:0;
  line-height:0;
  font-size:0;
  overflow:hidden;
}

/* padd content down in case there is no title */
#no_title {
  font-size:0;
  line-height:0;
  padding:5px 0 0 0;
  margin:0;
}

/* upper case page headings */
h2 {
  text-transform:uppercase;
}
h2 a {
  text-transform:none;
}

h2, h3 {
  clear:left;
  color:#636567;
  font-weight:bold;
  font-size:15px;
  padding:0;
  margin:0 0 15px 0;
}
h2 a {
  color:#BB0000;
}

h3 {
  font-size:12px;
  padding-top:20px;
}
h3 a {
  color:#636567;
}

p {
  font-size:13px;
  margin:0 0 15px 0;
  padding:0;
}

a {
  text-decoration:none;
  cursor:pointer;
  cursor:hand;
}
a:hover {
  text-decoration:underline;
}

img {
  border:0;
}

/* lists in descriptions etc */
ul.text {
  margin:0;
  margin-left:20px;
  margin-top:0;
  margin-bottom:10px;
  padding:0;
}

ul.text li {
  font-size:100%;
  margin:0;
  padding:0;
  padding-top:5px;
}

/* make sure IE and Moz etc all render br the same */
br {
  line-height:0;
  display:block;
}

form {
  margin:0;
  padding:0;
}

.input_wrapper {
  width:500px;
  text-align:right;
  padding:5px 0 10px 0;
  position:relative;
}

label {
  margin-right:5px;
  vertical-align:top;
}

input, select, textarea, div.input_image_prev {
  margin-top:-5px;
}

input.checkbox {
  margin-right:257px;
}

/* date modifiers */
label.date {
  margin-right:282px;
}

span.label_note {
  vertical-align:super;
  font-size:10px;
}

div.date {
  position:absolute;
  right:274px;
  top:1px;
}
* html div.date {
  right:276px;
  top:-20px;
}

/* image modifiers */
div.input_wrapper_image {
  width:220px;
  padding-right:280px;
}

div.input_image_box {
  display:inline;
}

div.input_image_prev {
  width:90px;
  margin-left:222px;
  margin-top:-20px;
  padding:9px 15px 5px 7px;
  background-color:#eee;
  position:relative;
}

div.input_image_delete {
  position:absolute;
  top:0;
  left:100px;
}

.input_image_removed {
  position:absolute;
  right:225px;
  top:5px;
  font-weight:bold;
}

/* input sizes */
input.text, textarea, input.password {
  width:270px; /* input width */
}

input.file {
  width:278px; /* input width */
}

input.submit, input.reset, input.button {
  margin-right:5px;
}
* html input.submit, input.reset, input.button {
  margin-right:0;
}

select {
  width:274px; /* input width */
}
* html select {
  width:276px; /* input width */
}

textarea {
  height:150px;
}

input.post_out, input.post_in {
  width:40px;
  margin-right:230px;
}

input.post_in {
  position:absolute;
  left:1280px; /* hacky - stops div overlaying onto post-outer input */
  top:-27px;
}
* html input.post_in {
  top:-28px;
}

.input_move_post_in div {
  position:absolute;
  left:-1000px; /* hacky - stops div overlaying onto post-outer input */
}

/* fix hidden inputs mucking up layout */
input.hidden {
  position:absolute;
}

.clickable {
  cursor:pointer;
  cursor:hand;
}

/* fix for IE positioning */
.relative {
  position:relative;
}

/*------------------------------------
 HEADER
------------------------------------*/
   
#header_wrapper {
  height:66px;
  padding-top:8px;
  background-color:#000;
  text-align:center;
}

#logged_in {
  position:absolute;
  top:9px;
  left:10px;
  color:#fff;
}

#logged_in a {
  color:#fff;
}

#office_contact {
  position:absolute;
  top:9px;
  right:10px;
  text-align:right;
  color:#fff;
  font-size:14px;
  line-height:20px;
}

#office_contact a {
  color:#fff;
}

/*------------------------------------
 NAV
------------------------------------*/

#nav_wrapper {
  position:relative;
  margin-top:20px;
  margin-left:20px;
}

#nav_extra {
  position:absolute;
  top:0;
  left:0;
  height:195px;
  width:252px;
  background-color:#000;
  color:#fff;
  padding-left:15px;
  padding-top:7px;
  padding-right:10px;
}

#nav_extra h3 {
  padding-top:5px;
  color:#fff;
  font-size:14px;
  font-weight:normal;
}

#nav_extra p {
  text-align:justify;
}

#nav_admin_rule {
  position:absolute;
  top:200px;
  left:0;
  width:275px;
  border:1px solid #000;
  font-size:0;
  line-height:0;
}

#nav, #nav_admin {
  display:block;
  position:absolute;
  top:224px;
  left:0;
  list-style:none;
}
* html #nav, #nav_admin {
  top:220px;
}
*:first-child+html #nav {
  top:234px;
  left:-40px;
}

#nav_admin {
  top:-12px;
  left:40px;
}
* html #nav_admin {
  top:0;
  left:0;
}
*:first-child+html #nav_admin {
  top:0;
  left:0;
}

li {
  font-size:11px;
}

#nav li, #nav_admin li {
  margin-top:-16px;
  position:absolute;
}
* html #nav li, #nav_admin li {
  margin-left:-40px;
  margin-top:0;
}

#nav li a, #nav_admin li a {
  color:#000;
  display:block;
  width:82px;
  height:67px;
  padding-top:20px;
  padding-left:5px;
  background-color:#d3d4d5;
}
#nav li a:hover, #nav_admin li a:hover {
  background-color:#a0a1a2;
  text-decoration:none;
}

#nav_chosen a {
  color:#fff !important;
  background-color:#bb0000 !important;
}

#nav_home a {
  background-color:#000 !important;
}

#nav_home img {
  padding-left:2px;
}

.nav_blank a {
  background-color:#d3d4d5 !important;
  cursor:default !important;
}

.navl {
  left:0;
}

.navm {
  left:95px;
}

.navr {
  left:190px;
}

.navt {
  top:0;
}

.navc {
  top:95px;
}

.navb {
  top:190px;
}

/*------------------------------------
 CONTENT + MAIN
------------------------------------*/

#main_wrapper {
  position:relative;
  margin-left:320px;
  margin-top:20px;
  margin-right:20px;
  min-height:515px;
}
* html #main_wrapper {
  height:515px;
}

#main_wrapper_indent {
  padding-bottom:15px;
}

#public_error_wrapper, #public_success_wrapper {
  margin-top:-10px;
  padding-bottom:13px;
}

.public_error, .public_success {
  color:#ff0000;
  font-weight:bold;
  padding-top:5px;
}

.public_success {
  color:#00ff00;
}

/*------------------------------------
 FOOTER
------------------------------------*/

#footer_wrapper {
  height:25px;
  padding-top:9px;
  text-align:center;
  background-color:#000;
  color:#fff;
  font-weight:bold;
  font-size:12px;
  clear:both;
  float:left;
  width:100%;
}