* {
  padding: 0;
  margin: 0;
}

body {
  font-size: 62.5%; /* Resets 1em to 10px */
  font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
  color: #333;	
  background: #faf9f7;
  text-align: center;
}

.clear {
  clear: both;
}

p {
  margin: 0 0 15px 0;
}

a {
  color: #1fbfb2;
  font-weight: bold;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

img, img a {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

small {
  font-family: Arial, Helvetica, Sans-Serif;
  font-size: 0.9em;
  line-height: 1.5em;
}

h1, h2, h3 {
  font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
  font-weight: bold;
}

h1 {
  float: left;
}

h1 span {
  display: none;
}

h1 img {
  position: absolute;
  top: 0;
}

h2 {
  padding: 10px 10px 10px 0;
  font-size: 2.0em;
  text-transform: uppercase;
  font-weight: normal;
  margin: 0 0 20px 0;
  color: #272727;
}

h3 {
  color: #1fbfb2;
  font-size: 1.4em;
  margin: 25px 0 5px 0;
}

h4 {
  font-weight: bold;
  text-transform: uppercase;
  font-size: 1em;
}

#mainLeft h3 {
	margin-top: 0;
}

ul, ol {
  margin: 10px 0 10px 30px;
}

li {
  margin: 0 0 20px 0;
}

hr {
  height: 2px;
  width: 80%;
  margin: 20px auto 20px auto;
  border: 0;
}

#outerWrap {
  font-size: 1.2em;
  background: #fff url(/images/content-background.gif) repeat-y 7px 0;
  width: 914px;
  margin: 0 auto;
  text-align: left;
}

#header {
  background: url(/images/header-background.gif) top left no-repeat;
  padding: 30px 0 0 20px;
  height: 125px;
}

#mainContent {
  padding: 0 20px 20px 30px;
}

#mainLeft {
  width: 580px;
  float: left;
}

#mainRight {
  margin: 0 10px 0 600px;
  border-top: 1px solid #e2e6d8;
  border-bottom: 1px solid #e2e6d8;
  padding: 15px 0 15px 0;
}

#mainRight hr {
  height: 1px;
  color: white;
  background-color: white;
  border: 0;
  padding: 7px;
  margin: 0;
}

#mainRight p,
#mainRight h4,
#mainRight img,
#mainRight div.textile {
  padding: 15px 20px 15px 20px;
  margin: 0 15px 0 15px;
  background: #f1f3ed;
}

#mainRight div.textile {
  padding: 15px 20px 15px 20px;
  margin: 0 15px 0 15px;
  background: #f1f3ed;
}

#mainRight h4 {
  padding-bottom: 0;
  text-transform: uppercase;
}

#mainRight img {
  width: 184px;
  padding: 0 20px 17px 20px;
}

#mainRight p strong {
  display: block;
  margin-bottom: 12px;
  padding-bottom: 0;
  text-transform: uppercase;
}

#mainRight h4 + p {
  padding-top: 12px;
}

#mainRight h4 + div.textile {
  padding-top: 2px;
}

#mainRight div.textile p {
  margin: 10px 0 0 0;
  padding: 0;
}

#mainRight div.textile p strong {
  display:inline;
  text-transform: none;
}

#map_container {
  width: 850px;
  margin: 10px 0;
}

#flashNotice,
#flashError {
  background-color: #faf9f7;
  padding: 10px;
  border: 2px solid #d9ef44;
  margin: 20px 20px 20px 20px;
  text-align: center;
}

#flashError {
  color: red;
}

.formError {
  color: red;
}

#errorExplanation {
  width: 546px;
  border: 2px solid #d9ef44;
  padding: 7px 7px 12px;
  margin-bottom: 20px;
  background-color: #faf9f7;
}

#errorExplanation h2 {
  text-transform: none;
  text-align: left;
  font-weight: bold;
  padding: 5px 5px 5px 15px;
  font-size: 12px;
  margin: -7px;
  background-color: #d9ef44;
}

#errorExplanation p {
  color: #333;
  margin-bottom: 0;
  padding: 15px 4px 0 10px;
}

#errorExplanation li {
  margin: 4px;
}

/* ###############   NAV   ################## */
#organizational_partner_show img {
  padding-bottom: 30px;
}
#organizational_partner_show p {
/*  float: left;*/
}

/* ###############   NAV   ################## */
.login {
  width: 874px;
  text-align: right;
  position: absolute;
  top: 7px
}

p.login {
  text-decoration: none;
  font-weight: normal;
  color: #555;
}

.nav {
  padding: 30px 0; 
}

#topNav {
  position: absolute;
  margin: 29px 0 0 0;
  float: left;
  text-transform: uppercase;
}

#topNav li {
  float: left;
  margin: 0; 
  padding: 0;
  display: inline;
  list-style: none;
}

#topNav a:link, #topNav a:visited {
  float: left;
  font-size: 100%;
  line-height: 1em;
  margin: 0 10px;
  text-decoration: none;
  color: #272727;
  padding: 5px 0 20px 0;
  font-weight: normal;
}

#topNav a.active:link, #topNav a.active:visited, #topNav a:hover {
  background: url(/images/nav-notch.gif) center 27px no-repeat;
  text-decoration: none;
}

/* ###############   FOOTER   ##################### */
#footer {
  background: url(/images/footer-background.gif) top left no-repeat;
  height: 61px;
  color: #555;
  font-size: 0.9em;
}

/* ###############   COURSES   ##################### */
.button-to,
.button-to div {
  display: inline;
}

.redirect-notice {
  color: #999;
}

ul#class_areas {
  float: right;
}

ul#class_areas li {
  display: inline;
  list-style: none;
  border-left: 1px solid #000;
  padding: 1px 5px 1px 9px;
  margin: 0;
  font-weight: bold;
}

ul#class_areas li.first {
  border-left: none;
}
ul#class_areas li.first {
  border: none;
}

table#classes {
  margin-bottom: 1em;
  color: #666;
  float: left;
  width: 100%;
}

table#classes td {
  padding: 8px 10px;
  font-size: 90%;
  border-bottom: 1px solid #e2e6d8;
  border-right: 1px solid #e2e6d8;
  background: #fff;
}

table#classes th {
  background: #f1f3ed;
  border-bottom: 2px solid #e2e6d8;
  font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
  font-size: 80%;
  padding: 4px 10px 0 10px;
}

table#classes th.sort_by {
  background-color: #dfe5ea;
  border-bottom: 2px solid #d6dce1;
  color: #20262B;
}

table#classes td.sort_by {
  background-color: #edf3f9;
  border-bottom: 1px solid #d6dce1;
}

table#classes td.link {
  border-right: 0;
}

table#classes td.date {
  width: 120px;
}

/* ###############   ABOUT   ##################### */
#about_show img {
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
}

#about_team.left {
  width: 690px;
  float: left;
}

#about_team.right {
  width: 152px;
  float: right;
  background: #f1f3ed;
  border: 1px solid #ccc;
  margin-top: 38px;
  padding-top: 16px;
  text-align: center;
}

#about_team .founder,
#about_team .partner {
  float: left;
  width: 172px;
}

#about_team .founder p,
#about_team .partner p {
  margin-right: 20px;
}

#about_team .staff p {
  margin-bottom: 30px;
}

#about_team .founder img,
#about_team .partner img,
#about_team .staff img {
  width: 80px;
  height: 107px;
}

#about_team img {
  margin: 10px 10px 15px 0;
}

#about_team.right img {
  margin: 10px 0 4px 0;
}

#about_team h3 {
  margin-top: 2em;
  margin-bottom: 15px;
}

#about_team h3:first-child {
  margin-top: 0;
}

#about_team h4 span{
  display: block;
  font-weight: normal;
  text-transform: none;
}

/* ###############   CONTACT   ##################### */
#business_card {
  float: left;
  width: 420px;
  background: #faf9f7;
  border: 1px solid #ddd;
  margin: 0 14px 14px 14px;
}

#business_card img {
  float: left;
  margin: 10px; 
  width: 120px;
}

#business_card p {
  margin: 10px 10px 10px 150px;
}

#contact_form textarea {
  width: 558px;
}

#contact_form label,
#contact_form .button {
  margin-top: 10px;
  display: block;
}

#contact_important {
  visibility: hidden;
  display: none;
}

#group_photo {
  margin: 100px auto 0 auto;
  background: url(/images/team.jpg) no-repeat top left;
  width: 547px;
  height: 552px;
}
 
#group_photo p {
  color: #ddd;
  padding-top: 8px;
  text-align: center;
}

/* ###############   LIBRARY   ##################### */

#quote_form textarea {
  width: 558px;
}

#quote_form label,
#contact_form .button {
  margin-top: 10px;
  display: block;
}

#quote_important {
  visibility: hidden;
  display: none;
}


/* ###############   LIBRARY   ##################### */
ul.links {
  margin: 0;
}

ul.links li {
  margin: 10px 0 0;
  list-style-type: none;
}

/* ###############   REGISTRATION   ##################### */
fieldset.courseRegistration {
  display: block;
  position: relative;
  background: #faf9f7;
  border: 1px solid #ddd;
  margin-top: 50px;
  width: 500px;
}

fieldset.courseRegistration legend span {
  position: absolute;
  width: 500px;
  margin-top: -30px;
  padding: 0;
  left: 0;
  font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;
  font-weight: bold;
  color: #1fbfb2;
  font-size: 1.4em;
}

fieldset.courseRegistration legend span span.normal {
  position: relative;
  color: #000;
  font-family: "Lucida Grande", Verdana, Arial, Helvetica, sans-serif;
  font-size: 0.8em;
  font-weight: normal;
}

fieldset.courseRegistration th {
  padding: 5px 5px 0 5px;
}

fieldset.courseRegistration td {
  padding: 5px;
}

.required {
  font-weight: bold;
}

label.required span {
  display: none;
}

.registerOneOrMore {
  font-weight: bold;
  font-size: 1.3em;
}

/* ###############   CLASS   ##################### */
p.class_closed {
  font-weight: bold;
  font-size: 1.3em;
  color: red;
}

a.edit_button span.wrapper2,
a.edit_text_button span.wrapper2 {
  background: url(/images/icons/pencil.png) no-repeat center left;
  line-height: 16px;
  padding: 8px;
}

a.edit_text_button span.wrapper2 {
  padding-left: 20px;
}

/* ###############   STAGING/TEST SITE   ##################### */
div.test_site {
  position: absolute;
  left: 350px;
  top: 16px;
  font-weight: bold;
  font-size: 40px;
  color: red;
}