html, body, #bodyInner { height: 100%; }

/***************/
/* main layout */
/***************/
body { margin: 0; padding: 0; background: #06325e; color: #fff; }

#bodyInner { width: 998px; margin: auto; }
#bodyInnerInner { background: #0b57a2 url(../images/background.jpg) no-repeat scroll center top; }

#bodyWrapper { width: 974px; margin: auto; min-height: 704px; }

/* specific link colours for this site */
a         { color: #fff; text-decoration: underline; }
a:link    { color: #fff; text-decoration: underline; }
a:visited { color: #fff; text-decoration: underline; }
a:hover   { color: #0b57a1; text-decoration: underline; }
a:active  { color: #0b57a1; text-decoration: underline; }


/*******************/
/* header elements */
/*******************/
#header { width: 974px; margin: auto; }

#header #logo {
	float: left;
	margin-top: 15px;
}
#header #righthandInfo {
	float: right;
	font-family: 'Helvetica Neue Roman', 'HelveticaNeue-Roman', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 2.182em;
	line-height: 1em;
	padding-right: 10px;
	text-align: right;
}
#header #righthandInfo img { margin-bottom: 16px; }

#header ul#nav {
	font-size: 1em;
	line-height: 30px;
	list-style: none;
	margin: 5px 0 18px 65px;
	padding: 0;
}
#header ul#nav li {
	display: block;
	float: left;
	margin:0;
	padding: 0;
}
#header ul#nav li a {
	background: #0094cf;
	color: #fff;
	display: block;
	margin-right: 4px;
	padding: 0 18px;
	text-decoration: none;
}
#header ul#nav li a:hover {
	background: #06325e;
}

ul.nav    { list-style: none; margin: 0; padding: 0; }
ul.nav li { display: inline; margin-right: 10px; }


/********************/
/* content elements */
/********************/
#mainContainer {  }

#sidebar { width: 205px; float: left; margin-left: 65px; }
#mainbar { width: 650px; float: right; margin-right: 24px; }

#front-news   { width: 314px; float: left; }
#front-offers { width: 314px; float: right; }

/* rounded boxes */
.roundedbox-upper { background: transparent url(../images/boxes/main-upper.png) no-repeat scroll 0 0; height: 15px; width: 650px; }
.roundedbox       { background: transparent url(../images/boxes/main-mid.png)   repeat-y  scroll 0 0; padding: 0 15px; }
.roundedbox-lower { background: transparent url(../images/boxes/main-lower.png) no-repeat scroll 0 0; height: 15px; width: 650px; margin-bottom: 30px; }

#sidebar .roundedbox-upper { background-image: url(../images/boxes/side-upper.png); width: 205px; }
#sidebar .roundedbox       { background-image: url(../images/boxes/side-mid.png); }
#sidebar .roundedbox-lower { background-image: url(../images/boxes/side-lower.png); width: 205px; }

#front-news   .roundedbox-upper,
#front-offers .roundedbox-upper { background-image: url(../images/boxes/front-upper.png); width: 314px; }
#front-news   .roundedbox,
#front-offers .roundedbox       { background-image: url(../images/boxes/front-mid.png) }
#front-news   .roundedbox-lower,
#front-offers .roundedbox-lower { background-image: url(../images/boxes/front-lower.png); width: 314px; }

.side-link { display: block; margin-bottom: 30px; }

#home-flv { margin-bottom: 30px; }

hr {
  margin: 18px 0;
  border-bottom: solid #666 1px;
  height: 1px;
  border-top: none;
  border-left: none;
  border-right: none;
}

/*********/
/* items */
/*********/
.item          { padding-bottom: 3px; background: transparent url(../images/dots.gif) repeat-x scroll bottom; margin-bottom: 10px; }
.item .title   { font-size: 1em; margin: 0; font-weight: bold; }
.item .date    {  }
.item .image   { float: left; border: 1px solid #fff; margin-right: 7px; margin-bottom: 7px; }
.item .content { margin-top: 5px; }
.item .company {  }
.item .affiliation { font-style: italic; }
.item blockquote { margin: 0; padding: 0; margin-bottom: 10px; }

.embiggen { font-size: 1.364em !important; }

#itemBack          {  }

/*****************/
/* photo gallery */
/*****************/
div.galleryItem { /* one gallery item */
  width: 100px;
  height: 100px;
  float: left;
  margin: 5px;
}

/*******************/
/* footer elements */
/*******************/
#footer   {
	background: #fff;
	border-bottom: 30px solid #049dda;
	color: #000;
	font-size: 1.091em;
	line-height: 2em;
	margin: auto;
	padding: 0 10px;
	text-align: right;
}
#footer a { color: #0b57a1; text-decoration: none; } /* for the clevercherry.com link */


/***********************/
/* general form styles */
/***********************/
#contactform { float: left; }  /* the contact form itself */
#contact     { float: right; } /* contact info or whatever on right */

.required { color: #f00; }

/* all form elements are contained within a formrow div, with a label and
 *  then the element, this is the best way (but still not good) to emulate
 *  a table */
div.formrow {
  clear: both;
  text-align: left;
  margin-bottom: 10px;
}

div.formrow label {
  float: left;
  text-align: right;
  margin-right: 10px;
  width: 138px; /* default width for a default form, add new form ids and override */
}
div.formrow.indent { margin-left: 148px; } /* label width + label margin-right, override as above */
div.formrow label.radio { float: none; text-align: left; margin: 0; width: auto; }

/* message and error boxes, not just useful in contact form */
#messages,
#errors,
#warnings,
#info { margin-bottom: 10px; }
.message { border: 1px solid #080; background: #efe; color: #080; padding: 3px 5px; margin-bottom: 15px; float: left; } /* you may need to clearfix this */
.message.nomargin { margin-bottom: 0; } /* if before something with a margin-top */
.message.info { border-color: #880; background: #ffe; color: #880; } /* info box in yellow */
.message.warn { border-color: #f40; background: #ffe; color: #f40; } /* warning box in orange */
.message.error { border-color: #f00; background: #fee; color: #f00; } /* error box in red */