/***************/
/* main layout */
/***************/
body { margin: 0; padding: 0; margin-top: 20px; }

#bodyWrapper { width: 941px; margin: auto; }

/* specific link colours for this site */
a         { color: #00f; text-decoration: none; }
a:link    { color: #00f; text-decoration: none; }
a:visited { color: #00f; text-decoration: none; }
a:hover   { color: #f60; text-decoration: underline; }
a:active  { color: #f30; text-decoration: underline; }


/*******************/
/* header elements */
/*******************/

#header    { margin-bottom: 30px; }
#logo      { float: left; }

#signup {
	float: left;
	margin-left: 160px;
	width: 254px;
	height: 98px;
	background: transparent url(../images/resources_bg.png) scroll no-repeat 0 0;
	padding: 26px 8px 11px 24px;
	margin-top: 15px;
}
#signup a,
#signup a:link,
#signup a:visited { color: #000; text-decoration: underline; }
#signup a:hover,
#signup a:active  { color: #666; }
#signupForm              { float: left;  width: 174px; text-align: right; }
#signupForm .textinput   { border: none; width: 164px; padding: 3px 5px; background: #94afe5; color: #fff; margin-bottom: 7px; }
#signup #formHelp        { float: right; width: 59px; }
#formHelp   .submitinput { border: none; padding: 0; background: none; color: #000; border-bottom: 1px solid #000; }

#resources {
	float: right;
	width: 254px;
	height: 98px;
	background: transparent url(../images/resources_bg.png) scroll no-repeat 0 0;
	padding: 26px 8px 11px 24px;
	margin-top: 15px;
}
#resources a,
#resources a:link,
#resources a:visited { color: #000; text-decoration: underline; }
#resources a:hover,
#resources a:active { color: #666; }
#resourcesForm { float: left;  width: 124px; text-align: right; }
#resourcesForm .textinput   { border: none; width: 114px; padding: 3px 5px; background: #94afe5; color: #fff; margin-bottom: 7px; }
#resourcesForm .submitinput { border: none; padding: 0; background: none; color: #000; border-bottom: 1px solid #000; }
#formHelp      { float: right; width: 119px; }

#nav { margin-bottom: 17px; }
#nav ul      {  }
#nav ul li   { float: left; margin-right: 4px; }
#nav ul li a { display: block; background: #94afe5; color: #fff; padding: 6px 9px; font-size: 1.091em; }
#nav ul li a:link,
#nav ul li a:visited { color: #fff; text-decoration: none; }
#nav ul li a:hover,
#nav ul li a:active { background: #e9ebf8; color: #333; text-decoration: none; }

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


/********************/
/* content elements */
/********************/

#headerFlash { text-align: right; margin-bottom: 10px; }

#mainContainer {  }

/* front page boxes */
#frontTest {
	float: left;
	width: 381px;
	height: 156px;
	padding: 18px 25px;
	background: transparent url(../images/fronttest_bg.png) scroll no-repeat 0 0;
}
#frontNews {
	float: right;
	width: 420px;
	height: 156px;
	padding: 18px 25px;
	background: transparent url(../images/frontnews_bg.png) scroll no-repeat 0 0;
}

/* sidebar pages */
#sidebar  { float: left;  width: 191px; }
#mainArea { float: right; width: 724px; }

.pageHeading { color: #94afe5; }

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

/*********/
/* items */
/*********/

/* in main content to say "more..." */
.moreLink,
.moreLink:link,
.moreLink:visited { color: #000; text-decoration: underline; }
.moreLink:hover,
.moreLink:active  { color: #666; text-decoration: underline; }

/* testimonials */
.testimonial            {  }
.testimonial .content   { padding: 0 40px; }
.testimonial blockquote { margin: 0; padding: 0; }
.testimonial .name      { color: #000; font-weight: bold; }
.testimonial .position  { color: #2e3192; }
.testimonial .company   { color: #333; }
/* special for front page */
#frontTest blockquote   { max-height: 74px; overflow: hidden; }

/* news */
.newsitem            { margin-bottom: 30px; }
.newsitem .image     { float: left; width: 105px; border: 3px solid #607cb6; }
.newsitem .detail    { float: right; width: 603px; }
.newsitem .title     { color: #000; font-weight: bold; }
.newsitem .date      { color: #2e3192; }
.newsitem .content   { color: #000; }
/* special for the front page */
#frontNews .image     { width: 84px; border: 1px solid #fff; }
#frontNews .detail    { width: 326px; }
#frontNews .content   { max-height: 104px; overflow: hidden; }

/* see us */
.person            { margin-bottom: 20px; }
.person .image     { float: left; width: 105px; border: 3px solid #607cb6; }
.person .detail    { float: right; width: 603px; }
.person .name      { color: #000; font-weight: bold; }
.person .position  { color: #2e3192; }
.person .role      {  }

/* links */
.link               { margin-bottom: 15px; }
.link .image        { float: left; width: 105px; border: 3px solid #607cb6; }
.link .detail       { float: right; width: 603px; }
.link .name         { color: #000; font-weight: bold; }
.link .url          { color: #2e3192; }
.link .url a,
.link .url a:link,
.link .url a:visited,
.link .url a:hover,
.link .url a:active { color: #2e3192; text-decoration: underline; }
.link .description  {  }

/* services */
.service              { margin-bottom: 20px; }
.service .title       { color: #94afe5; font-size: 1.636em; line-height: 1em; margin-bottom: 5px; font-weight: normal; }
.service .image       { float: left; width: 105px; border: 3px solid #607cb6; }
.service .detail      { float: right; width: 564px; margin-right: 35px; }
.service .intro       { color: #000; max-height: 111px; overflow: hidden; }
.service .description { }

/* courses */
#courseCategory              {  }
#courseCategory h1           { font-size: 1.455em; line-height: 1em; color: #94afe5; }
#courseCategory .description {  }

.course {
	border: 3px solid #94afe5;
	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	
	padding: 19px 14px 17px 13px;
	margin-top: 20px;
}
.course .content { float: left;  width: 411px; }
.course .detail  {
	float: right;
	width: 225px;
	padding: 78px 9px 9px 14px;
	background-color: #94afe5;
	color: #fff;
}

.course .content .title               { font-size: 1.273em; line-height: 1em; margin-bottom: 10px; }
.course .content .description         { margin-bottom: 10px; }
.course .content .courseContent       { background-color: #a3a3a3; color: #fff; padding: 10px; }
.course .content .courseContent span  { display: block; margin-bottom: 10px; }
.course .content .courseContent ul    { margin: 0; padding: 0; list-style: disc outside; }
.course .content .courseContent ul li { margin: 0; padding: 0; margin-left: 15px; float: left; width: 180px; }

.course .detail img              { float: right; margin-top: -69px; }
.course .detail .detailPart      { padding-bottom: 3px; border-bottom: 1px dotted #fff; margin-bottom: 3px; }
.course .detail .detailPart.last { padding-bottom: 0; border-bottom: none; margin-bottom: 0 }


/************/
/* calendar */
/************/

#prevLink { float: left; width: 15%; text-align: left; font-weight: bold; line-height: 2em; }
#midLink  { float: left; width: 69%; text-align: center; font-weight: bold; line-height: 2em; }
#nextLink { float: right; width: 15%; text-align: right; font-weight: bold; line-height: 2em; }

#calendar { margin-top: 10px; border-left: 1px solid #333; border-top: 1px solid #333; }
#calendar th, #calendar td {  border-right: 1px solid #333; border-bottom: 1px solid #333; }
#calendar th { background: #eee; }
#calendar td { height: 100px; background: #e9ebf8; }
#calendar td.notInMonth { background: #94afe5; }

#calendar .event { font-size: 0.909em; line-height: 1.3em; }
#calendar .event a,
#calendar .event a:link,
#calendar .event a:visited,
#calendar .event a:hover,
#calendar .event a:active  { color: #000; }


/***********/
/* sidebar */
/***********/

/* bottom of sidebar boxes */
.viewMore { display: block; font-size: 1.1em; color: #000; margin-top: 10px; }
.viewMore:link,
.viewMore:visited,
.viewMore:hover,
.viewMore:active { color: #000; text-decoration: underline; }

#sidebar ul      { list-style: none; margin: 0; padding: 0; margin-bottom: 25px; font-size: 1.091em; line-height: 1.917em; }
#sidebar ul li   { margin: 0; padding: 0; background: #607cb6; width: 100%; margin-bottom: 7px; }
#sidebar ul li a { display: block; margin-left: 12px; padding-left: 7px; background: #94afe5; }
#sidebar ul li a,
#sidebar ul li a:link,
#sidebar ul li a:visited { color: #fff; text-decoration: none; }
#sidebar ul li a:hover,
#sidebar ul li a:active  { color: #333; text-decoration: none; background: #e9ebf8; }

#sidebar .sideBox ul      { margin-bottom: 0; font-size: 1em; line-height: 1.4em; }
#sidebar .sideBox ul li   { background: none; width: auto; margin-bottom: 0; }
#sidebar .sideBox ul li a { display: inline; margin-left: 0; padding-left: 0; background: none; }
#sidebar .sideBox ul li a,
#sidebar .sideBox ul li a:link,
#sidebar .sideBox ul li a:visited,
#sidebar .sideBox ul li a:hover,
#sidebar .sideBox ul li a:active  { color: #333; background: none; text-decoration: underline; }

.sideBox {
	background: #e9ebf8;
	padding: 7px 9px;
	font-size: 0.909em;
	line-height: 1.5em;
	margin-bottom: 15px;
}
.sideBox h1 { font-size: 1.4em; font-weight: normal; }

/* events - "latest courses" */
.event { margin-bottom: 10px; }
.event .title          {  }
.event .date           { font-weight: bold; }
.event .description    {  }
.event .link           {  }
.event .link a,
.event .link a:link,
.event .link a:visited,
.event .link a:hover,
.event .link a:active  { color: #000; text-decoration: underline; }

/* testimonials - "what they say" */

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

/*******************/
/* footer elements */
/*******************/

#affiliations { margin-top: 19px; text-align: center; }

#footer { margin-top: 11px; border-top: 1px solid #c1c1c1; padding-top: 8px; color: #6c6666; }
#footer a,
#footer a:link,
#footer a:visited,
#footer a:hover,
#footer a:active { text-decoration: none; color: #6c6666; }


/***********************/
/* 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: 80px; /* default width for a default form, add new form ids and override */
}
div.formrow.indent { margin-left: 90px; } /* label width + label margin-right, override as above */

/* message and error boxes, not just useful in contact form */
.message { border: 1px solid #080; 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; color: #880; } /* info box in yellow */
.message.warn { border-color: #f40; color: #f40; } /* warning box in orange */
.message.error { border-color: #f00; color: #f00; } /* error box in red */