/*
	colour pallete:
	
	background: #fff
	darkest green: #467E31 (A and H3)
	dark green: #66B147 (background to sidebar)
	light green: #B2D8A3 (dividers)

	heading font: Garamond, Times, Serif
	body font: verdana
	
	contentFrame: 630
	sidebar: 170
	width: 800 (this is too wide when the scroll is on - should be 785)

	nosidebar: 780
*/

HTML {
  font-size: 100%;
}

BODY {
	margin: 0;
	padding: 0;
	font: 0.625em "Trebuchet MS", verdana, arial, sans-serif;
	background: url(/images/borders.jpg) repeat-x;
}

P {
  padding: 0;
}

P, LI {
  font-size: 90%;
}

DIV.container {
	margin: auto;
	width: 785px;
	background-color: #fff;
}

H1, H2, H3, H4 {
	font-family: 	"Trebuchet MS", verdana, arial, sans-serif;
/*  Garamond, "Times New Roman", Times, Serif;*/
}

H2 {
  margin-bottom: 5px;
}

H3 {
  border-bottom: 1px solid #ccc;
  color: #467E31;
  font-size: 130%;
  padding-bottom: 5px;
}

H4 {
  border-bottom: 1px solid #ccc;
  color: #333;
  margin-bottom: 10px;
  font-size: 100%;
/*  font-variant: small-caps;*/
}

A {
	color: #467E31;
	text-decoration: underline;
	padding: 2px;
}

A:hover {
  text-decoration: none;
  background: #467E31;
  color: #fff;
}

A:visited {
/*  text-decoration: line-through;*/
}

A IMG {
  padding: 0;
}

H3 A, H3 A:hover {
  color: #467E31;
  border: 0;
  background: 0;
  text-decoration: none;
}

H3 A:hover {

}

A.img {
  border: 0;
  text-decoration: none;
  padding: 0;
}

A.img:hover {
  background: 0;
}

A IMG {
  border: 0;
}

#flash {
	background: #bbf;
	padding: 8px;
	margin-top: 20px;
	font-weight: bold;
	color: #000cb5;
	border: 1px solid #000cb5;
}

#flash UL {
	margin: 0px;
	padding: 0px;
}

#flash LI {
	list-style: none;
	padding-bottom: 3px;
}

#header {
	height: 5.4em;
	width: 795px;
	margin: auto;
}

DIV.header {
	background: #91F362 url(/images/header_bg.jpg) repeat-x top left;
	width: 100%;
	height: 5.4em;
  overflow: hidden;
}

#logo {
  float: left;
	height: 73px;
  width: 234px;
	position: relative;
	top: 7px;
	left: 3px;
	cursor: pointer;
	background: url(/images/logo.gif) no-repeat;
  /*z-index: 10;*/
}

BODY.largeFont #logo {
  background: url(/images/logo_large.gif) no-repeat;
  height: 100px;
  width: 311px;
}

#logo * {
	display: none;
}

#logo A, #logo A:hover, #logo A IMG {
  display: inline;
/*  height: 4.57em;*/
  width: 14.59em;
  border: 0;
  background: 0;
}

#navigation {
  float: right;
  position: relative;
  top: -5.5em;
  width: 90%; /* brings Safari's nav in to place */
  text-align: right;
  margin-left: auto;
  z-index: 1;
  margin-right: 15px;
}

#navigation UL {
  list-style: none;
  padding: 0;
  margin: 0;
  position: relative;
  top: 4.2em;
}

#navigation UL LI {
  display: inline;
  margin: 0;
  padding: 0;
}

#navigation UL LI A {
  color: #fff;
  padding: 4px;
  background: #66B147;
  text-decoration: none;
  border-bottom: 10px solid #66B147;
}

#navigation UL LI.selected A {
  background: #467E31;
  top: -3px;
  border-bottom: 3px solid #467E31;
  position: relative;
}

#navigation UL LI A:hover { /* , #navigation UL LI A:focus, #navigation UL LI A:active */
  background: #467E31;
  top: -3px;
  border-bottom: 3px solid #467E31;
  position: relative;
}

#header DIV.headerDivider {
/*  left: 475px;*/
/*  left: 29.6em;*/
  float: right;
  left: 40px;
  width: 325px;
	padding-right: 40px;
	position: relative;
	background: url(/images/header_divider.jpg) no-repeat top left;
	height: 100%;
}

#styleControl {
  z-index: 2;
	position: relative;
	top: 0px;
	font-size: 80%;;
	padding-right: 15px;
	text-transform: lowercase;
}

#styleControl H2 {
	display: none;
}

#styleControl UL {
	margin: 0;
	padding: 0;
	list-style: none;
}

#styleControl LI {
	text-align: right;
	padding: 0;
	padding-left: 10px;
}

#styleControl A {

}

#contentFrame {
	margin: 0 0 20px 10px;
	float: left;
  width: 584px;
  padding-right: 20px;
  border-right: 1px dotted #B2D8A3;
}

DIV#contentFrame.noSidebar {
  border-right: 0;
  width: 765px;
  padding-right: 0;
  margin-right: 10px;
}

#sidebar {
  float: right;
  width: 165px;
  margin-right: 5px;
	padding: 0 0 10px 0;
	font-size: 95%;
}

#sidebar UL {
	list-style: none;
	margin: 0;
	padding: 0;
}

#sidebar LI {
  border-bottom: 1px dotted #B2D8A3;
}

#sidebar LI.last {
  border-bottom: 0;
}

#sidebar LI.quote, #sidebar LI.quote A, #sidebar LI.quote A:hover {
  padding: 5px 0;
  background: 0;
}

#sidebar LI, #sidebar A, #sidebar P {
  display: block;
  padding: 5px;
  padding-right: 0;
  font-size: 90%;
}

#sidebar .heading {
  font-size: 120%;
  font-weight: bold;
  padding: 10px;
}

#sidebar .heading A {
  padding: 0;
}

#sidebar LI P {
  margin: 0;
}

#sidebar H3 {
	margin: 15px 0 5px 0;
	cursor: pointer;
	background-color: #bca;
	padding: 5px;
}

#sidebar H4 {
	margin: 10px 0;
	padding: 0 2px;
}

#sidebar LI.selected A {
  background: #467E31 url(/images/arrow.gif) no-repeat right center;
  color: #fff;
  text-decoration: none;
}

#footer {
	font-size: 80%;
	float: right;
	padding-right: 10px;
}

#footer P {
  margin: 11px 0;
}

#project_images IMG {
  padding: 0 5px;
}

#projectImages IMG {
  border: 1px solid #ccc;
  height: 144px;
  width: 533px;
}

DIV.projectThumbs IMG {
  margin: 0 9px;
  border: 2px solid #333;
}

#projectImages DIV.miniGallery {
  float: right; 
  width: 47px;
  padding: 1px;
  padding-top: 0;
}

#projectImages DIV.miniGallery IMG {
  margin: 1px 5px 1px 5px;
  cursor: pointer;
}

#projectImages DIV.miniGallery IMG.hover, #projectImages DIV.miniGallery IMG.selected {
  border: 2px solid #467E31;
  margin: 0 4px;
}

#comments DIV.author {
  padding: 0 4px 1px 16px;
  border-left: 10px solid #ccc;
}

#comments DIV P.line {
  border-top: 1px dotted #999;
  padding-top: 15px;
  margin-top: 0;
}

/* home page specific */

/* old */

#threeCol DIV {
  margin-right: 18px;
  float: left;
  width: 248px;
}

#threeCol DIV.last {
  margin-right: 0px;
}

#threeCol DIV UL {
  padding-left: 5px;
  margin-left: 0;
}

#threeCol DIV LI {
  margin: 0;
  list-style: inside;
  list-style-type: square;
}

#threeCol H2 {
  font-size: 110%;
  padding: 10px;
  margin-bottom: 0;
  background-color: #646464;
}

#threeCol H2 A, #threeCol IMG A {
  text-decoration: none;
  background: 0;
  color: #fff;
  border: 0;
  margin: 0;
  padding: 0;
}

#threeCol H2 A:hover {
  text-decoration: underline;
}


#home DIV.shade {
  margin: 10px 0 20px 0;
  padding: 20px;
  padding-bottom: 5px; /* assumes P tag with 15px margin */
  font-size: 105%;
}

#home DIV.box {
  margin-top: 0px; /* tweak to bring box down away from leader */
}

#home DIV.shade H2, #home DIV.shade P {
  margin-top: 0;
}

DIV#featuredWork {
  width: 320px;
  float: right;
}

DIV#featuredWork IMG {
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
  border: 1px solid #ccc;
}

DIV#services {
  float: left;
  width: 400px;
}

DIV#services P {
/*  margin-right: 387px;*/
}

#home .bigger {
  font-size: 110%;
}

#frontFooter H3 {
  margin-bottom: 5px;
}

#home DIV.news {
  width: 200px;
  float: left;
  border-right: 20px solid #fff;
}

#home DIV.asides {
  float: left;
  width: 200px;
  border-right: 20px solid #fff;
}

#home DIV.asides UL {
  list-style: square inside;
  padding: 0;
  font-size: 90%;
  margin: 0;
  margin: 5px 0;
}

#home DIV.asides UL P {
  font-size: 100%;
}

#home DIV.asides SPAN {
  font-size: 80%;
}

#home DIV.lounge {
  float: right;
  width: 325px; /* total width available 780px, 410 left */ 
  background: url(/images/lounge.jpg) no-repeat top right;
}

#home DIV.lounge H4, #home DIV.lounge H3, #home DIV.lounge P {
  margin-right: 100px;
}

#home .separator {
  height: 2px;
}

#breadcrumb {
  font-size: 80%;
  padding-top: 10px;
}

/*used in mini gallery*/
#imgCaption {
  background-color: #fff;
  left: 1px;
/*  opacity: 0.6;*/
  padding: 4px;
  position: relative;
  top: -32px;
  width: 525px;
  float: left;
}

TABLE#access_keys TH {
  width: 450px;
  text-align: left;
}

TABLE#access_keys TH.first {
  width: 50px;
}

DIV.portfolioIntro {
  float: left;
/*  width: 400px;*/
  width: 300px;
}

DIV.portfolioImages {
  float: right;
  width: 252px;
  position: relative;
}

DIV.portfolioImages IMG {
  padding: 3px;
}

DIV.portfolioImages DIV#portfolioInfo {
  position: absolute;
  left: 0;
/*  border: 1px dotted #000; /* just for testing */
  width: 100%;
  top: 100%;
  background: transparent;
}

DIV.portfolioImages DIV#portfolioInfo DIV.portfolioInfo {
  margin-right: 5px;
  border: 2px solid #ccc;  
}

DIV.portfolioImages DIV#portfolioInfo P {
  margin: 0;
  padding: 3px;
}

DIV.portfolio UL {
  float: right;
  width: 150px;
  margin-top: 0;
  margin-left: 10px;
}

DIV.portfolio UL LI {
  
}

DIV.separator {
	width: 100%;
	height: 3px;
  background: #467E31;
	clear: both;
}

ACRONYM, ABBR {
	border-bottom: 0.1em dashed #646464;
	cursor: help
}

ACRONYM {
	speak: normal;
}

ABBR.initialism {
	speak: spell-out;
}

ABBR.truncation {
	speak: normal;
}

CODE {
  background-color: #eee;
  border: 1px solid #999;
  padding: 10px;
  display: block;
  font-family: Monaco, Monospace, 'Courier New', Courier, Fixed;
  overflow: auto;
  font-size: 90%;
}

PRE {
/*  font-family: Monaco, Monospace, 'Courier New', Courier, Fixed;*/
}

LI CODE, P CODE {
  display: inline;
  background-color: #ddd;
  border: 0;
  padding: 2px;
  font-size: 90%;
}

LABEL {
  display: block;
  margin: 15px 0 10px 0;
}

INPUT, TEXTAREA, SELECT {
  font-family: Arial, verdana;
  font-size: 125%;
  padding: 7px;
  background: #fff url(/images/input.gif) no-repeat scroll -2px -2px;
  border: 1px solid #999;
}

INPUT.wide, DIV.wide INPUT, TEXTAREA.wide {
  width: 530px;
}

OPTION {
  margin-right: 10px;
  background-color: #fff;
}

/*TEXTAREA {
  width: 530px;
}
*/
TEXTAREA.smaller {
  font-size: 100%;
}

INPUT.submit, INPUT.button {
  margin-top: 10px;
  background: #E3E3E3;
  border-style: outset;
}

LI {
  padding: 2px;
}

FIELDSET {
  border: 1px solid #ccc;
  padding: 1em;
  margin: 0;
}

FIELDSET.plain {
  border: 0;
  padding: 0;
  margin: 0;
}

LEGEND {
  color: #ccc;
  font-size: 120%;
}

BLOCKQUOTE {
  font-style: italic;
  color: #333;
  margin: 2px;
  font-size: 95%;
  padding: 1px 20px;
  border-left: 2px solid #999;
/*  background: url(/images/quote.gif) no-repeat;*/
}

BLOCKQUOTE P.source {
  font-style: normal;
}

UL.plain {
  list-style: none;
	margin: 0!important;
}

.no {
	display: none!important;
}

.alert {
  font-size: 90%;
  color: #666;
}

.clearGap {
  padding: 5px 0;
  clear: both;
}

.clear {
  clear: both;
}

DIV.sql, PRE.trace {
  background: #111;
  z-index: 100;
  color: #fff;
  font-family: Monaco;
  font-size: 90%;
  overflow: auto!important;
}

DIV.sql PRE, PRE.trace {
  margin: 0;
  padding: 11px 0;
}

A.toggleNav {
    margin-right: 5px;
}

LI.navDisabled {
    background-color: #FF5E5B;
}

.vcard A.url {
  padding: 0px!important;
  display: inline!important;
  font-size: 100%!important;
}

.shade {
  background: #ededed url(/images/greyed.gif);
}

.highlight {
  padding: 10px;
  background: #ededed url(/images/greyed.gif);
  border: 2px solid #ccc;
}


.inline {
  display: inline;
}

.hidden {
  display: none;
}

DIV.box {
  background: #ededed url(/images/greyed.gif);
  border: 1px solid #ccc;
  float:right;
  margin: 0;
  margin: -10px 0 10px 5px;
  padding: 10px;
  width: 200px;
}

DIV.box H3 {
  margin-top: 0;
  border: 0;
  color: #333;
  margin-bottom: 10px;
  font-size: 100%;
  padding: 0;
}

DIV.box H4 {
  margin-top: 5px;
}

DIV.box UL {
	list-style-type: square;
  padding: 0;
  margin: 0 0 0 14px;
}

DIV.box P {
  margin: 5px 0;
}

UL {
  list-style-type: square;
  padding-left: 15px;
  margin: 10px 0;
}

IMG.rss {
  vertical-align: bottom;
}

IMG.arrow {
  width: 5px;
  height: 6px;
}

.floatR {
  float: right;
}

.floatL {
  float: left;
}

P.centre {
  text-align: center;
}

.centre {
  display: block;
  margin: auto;
}

.cleft {
  clear: left;
}

/* 
  TinyMCE specific rules 
*/
body.mceContentBody {
   background: #ededed url(/images/greyed.gif);
   font-size: 100%;
}

body.mceContentBody * {
   background: #FFF;
}

body.mceContentBody DIV.box {
   border: 1px dotted #ccc;
}

/*
  Blog entry specific - good to move these out
*/
DIV.entity {
  clear: both;
/*  margin: 5px 0 20px 0;*/
  margin: 0;
  padding: 10px 0 5px 0;
  border-bottom: 1px solid #ccc;
  position: relative; /* required for disabled block */
}

DIV.compress DIv.entity {
  padding: 3px 0;
}

DIV.entity DIV.html {
  float: left;
  margin-bottom: 20px;
  font-size: 300%;
  width: 60px;
  background: url(/images/greyed.gif);
  text-align: center;
  font-family: Helvetica, Arial, sans-serif;
}

DIV.compress DIV.entity DIV.html {
  margin-bottom: 0;
  background: none;
  margin-top: 3px;
  font-size: 110%;
}

DIV.entity DIV.detail {
  float: right;
  width: 515px;
}

DIV.entity DIV.detail DIV.code, 
DIV.entity DIV.detail DIV.entityCode,
DIV.entity DIV.detail DIV.entityName {
  float: left;
  width: 100px;
  font-size: 150%;
}

DIV.entity DIV.detail DIV.entityCode {
  width: 150px;
}

DIV.compress DIV.entity DIV.detail DIV {
  font-size: 100%;
}

DIV.entity DIV.description {
  margin-top: 5px;
}

DIV.compress DIV.entity DIV.description {
  display: none;
}

DIV.compress DIV.entity DIV.detail DIV.clear {
  clear: none!important;
}

DIV.entity DIV.tools IMG {
  margin: 0 15px;
  cursor: pointer;
}

.disabled {
  z-index: 2;
  position: absolute;
  top: 0;
  left: 0;
  float: right;
  height: 100%;
  width: 100%;
  background: #000;
}

FORM.editable {
  z-index: 3;
  position: absolute;
  top: 0;
  left: 0;
  float: right;
  height: 100%;
  padding: 3px;
}

FORM.editable LABEL {
  color: #fff;
  display: inline;
  margin-left: 5px;
  margin-top: 7px;
}

FORM.editable INPUT {
  font-size: 100%;
  padding: 3px;  
  width: 250px;
}

DIV.submit {
  border: 1px solid #ccc;
  border-top: 0;
  background: #eee;
  padding: 0.5em 1em;
}

DIV.submit P {
  float: left;
  width: 460px;
}

DIV.submit INPUT {
  border: 2px outset #999;
  float: right;
}

/* 
  WP specific 
*/

A.more {
  padding: 0;
}

DIV.postmetadata {
  font-size: 85%;
  margin-bottom: 40px;
}

DIV.postmetadata P {
  margin-top: 5px;
}

DIV.postmetadata SPAN.taglist {
  background: url(/images/tag_blue.gif) no-repeat left center;
  padding: 2px 0pt 2px 20px;
}

DIV.postmetadata SPAN.comments {
  background: url(/images/comment.gif) no-repeat left center;
  padding: 2px 0pt 2px 20px;
}

DIV.postmetadata SPAN.posted {
  background: url(/images/page_white.gif) no-repeat left center;
  padding: 2px 0pt 2px 20px;
}

DIV.entry {
  background: transparent url(/images/break.gif) repeat-x scroll left bottom;
  padding-bottom: 2px;
}

UL.pingbacks {
  padding-bottom: 14px;
}

/* 
  Pretty printing styles. Used with prettify.js from Google.
*/

.str { color: #080; }
.kwd { color: #008; }
.com { color: #800; }
.typ { color: #606; }
.lit { color: #066; }
.pun { color: #660; }
.pln { color: #000; }
.tag { color: #008; }
.atn { color: #606; }
.atv { color: #080; }
.dec { color: #606; }
pre.prettyprint { padding: 2px; border: 1px solid #888; }

@media print {
  .str { color: #060; }
  .kwd { color: #006; font-weight: bold; }
  .com { color: #600; font-style: italic; }
  .typ { color: #404; font-weight: bold; }
  .lit { color: #044; }
  .pun { color: #440; }
  .pln { color: #000; }
  .tag { color: #006; font-weight: bold; }
  .atn { color: #404; }
  .atv { color: #060; }
}
