body {
	margin: 0;
	/* padding: 32px 0 0 0; */
	font-family: Lucida Sans Unicode, Lucida Grande, sans-serif;
	font-size: 0.75em;	
}

/**
 * Generic styles
 */

a {
	color: #3ec3dd;
	text-decoration: none;
}

hr {
	border-top: 1px #ddd solid;
	border-left: 0;
	border-right: 0;
	border-bottom: 0;
	height: 1px;
	padding: 0;
}

a img {
	border: 0;
}

/**
 * Header
 */

#header {
	width: 960px;
	margin: 32px auto 0 auto;	
}

h1 {
	float: left;
	margin: 0 0 0 34px;
	width: 257px;
	height: 81px;
}

h1 a {
	display: block;
	width: 257px;
	height: 81px;
	background-image: url("images/logo.png");
	text-indent: -9999px;
	outline: 0;
}

#search {
	float: right;
}

#search input {
	width: 164px; /* 195px - 31px padding */
	height: 20px; /* 24px - 4px padding */
	border: 0;
	padding: 4px 4px 0 27px;
	background-image: url("images/search_input_bg.gif");
	vertical-align: middle;
}

#search input.placeholder {
	color: #d5d5d5;	
}

#search button {
	width: 45px;
	height: 24px;
	border: 0;
	padding: 0;
	background-image: url("images/search_submit.gif");
	text-indent: -9999px;
	cursor: pointer;
	vertical-align: middle;
}

/**
 * Navigation
 */
 
#nav {
	clear: both;
	list-style-type: none;
	margin: 0 0 1px 0;
	padding: 0 0 0 320px;
	height: 47px;
	background: url("images/nav_bg.gif") bottom left repeat-x;
	font-size: 1.3125em;
}

#nav li {
	width: 159px;
	height: 47px;
	border-left: 1px #fff solid;
	float: left;
}

#nav a {
	display: block;
	width: 159px;
	height: 40px; /* 47px - 7px top padding */
	padding: 7px 0 0 0;
	text-align: center;
	background-image: url("images/nav_link_bg.gif");
	outline: 0;
}

#nav.noscript a:hover {
	background-position: 0 -49px;
	color: #fff;
}

#nav-what a {
	background-color: #e6be1e;
	color: #e6be1e;	
}

#nav-teachers a { 
	background-color: #fcd207;
	color: #fcd207;	
}
#nav-blog a {
	background-color: #3ec3dd;
	color: #3ec3dd;	
}

#nav-appt a {
	background-color: #5bcae9;
	color: #5bcae9;	
}

/**
 * Slideshow widget
 */

#slideshow-outer {
	background-image: url("images/stippled_bg.gif");
	margin: 0 0 16px 0;
}

#slideshow-inner {
	background-color: #fff;
	width: 960px;
	margin: 0 auto;
}

#slideshow-screen-inner a.imglink {
	display: block; /* to fix weird rendering in IE7 */
}


#slideshow-screen-outer {
	float: left;
	width: 720px;
	height: 160px;
	position: relative;
	overflow: hidden;
}

#slideshow-screen-outer.home {
	height: 308px;
}

#slideshow-screen-inner {
	position: absolute;
	width: 720px;
}

#slideshow-screen-inner ul {
	list-style-type: none;
	margin: 0;
	padding: 0;	
}

#slideshow-screen-inner li {
	position: relative;
	margin: 0 0 1px 0;
}

#slideshow-screen-inner img {
	display: block;
	width: 720px;
	height: 160px;
	/* the next rule is to prevent extra bottom margin in IE7 */
	/* one of these days I'm going to hunt down the IE        */
	/* development team and gut them like pigs                */
	vertical-align: top;
}

#slideshow-screen-outer.home #slideshow-screen-inner img {
	height: 308px;
}

/**
 * Slideshow overlays
 */

#slideshow-screen-inner div {
	position: absolute;
	top: 0;
	left: -240px;
	width: 191px; /* 239px - 24px left padding - 24px right padding */
	height: 279px; /* 308px - 29px top padding */
	border-right: 1px #fff solid;
	padding: 29px 24px 0 24px;
	color: #fff;
	background-image: url("images/slideshow_overlay_bg.png");
}

#slideshow-screen-inner.noscript div {
	display: none;
}

#slideshow-screen-inner.noscript:hover div { 
	display: block;
	left: 0;
}

#slideshow-screen-inner div h2 {
	margin: 0 0 17px 0;
	font-size: 2em;
}

#slideshow-screen-inner div p {
	margin: 0 0 23px 0;
	font-size: 1.5em;
}

#slideshow-screen-inner div a {
	display: block;
	width: 180px;
	height: 23px; /* 24px - 1px top padding */
	padding: 1px 0 0 0;
	background-image: url("images/slideshow_overlay_link_bg.gif");
	text-align: center;
	color: #000;
	text-transform: uppercase;
	font-size: 1.3125em;
}

/**
 * Carousel
 * This is pretty confusing - sorry about that :)
 */

#slideshow-carousel {
	float: left;
	width: 239px;
	height: 160px;
	margin: 0 0 0 1px;
}

#slideshow-carousel.home {
	height: 308px;
}

#slideshow-carousel h2 {
	float: left;
	width: 206px; /* 219px - 13px left padding */
	height: 29px; /* 38px - 9px top padding */
	margin: 0 1px 1px 0;
	padding: 9px 0 0 13px;
	background-color: #888;
	font-size: 1.3125em;
	color: #fff;
	font-weight: normal;
	text-transform: uppercase;	
}

#slideshow-carousel-up {
	display: block;
	width: 19px;
	height: 19px;
	margin: 0 0 1px 0;
	border: 0;
	padding: 0;
	background-image: url("images/carousel_up.gif");
	text-indent: -9999px;
	cursor: pointer;
}

#slideshow-carousel-down {
	display: block;
	width: 19px;
	height: 18px;
	border: 0;
	padding: 0;
	background-image: url("images/carousel_down.gif");
	text-indent: -9999px;
	cursor: pointer;
}

#slideshow-carousel-slides-outer {
	position: relative;
	width: 239px;
	height: 121px;
	overflow: scroll;
	overflow-y: scroll;
	overflow-x: hidden;
}

#slideshow-carousel-slides-outer.home {
	height: 269px;	
}

#slideshow-carousel-slides-inner {
	position: absolute;
	width: 239px;
}

#slideshow-carousel-slides-inner ul {
	clear: left;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

#slideshow-carousel-slides-inner li {
	height: 60px;
	margin: 0 0 1px 0;
}

#slideshow-carousel-slides-outer.home #slideshow-carousel-slides-inner li {
	height: 89px;
}

#slideshow-carousel-slides-inner img {
	display: block;
	width: 239px;
	height: 60px;
	vertical-align: top; /* to prevent extra bottom margin in IE7 */
}

#slideshow-carousel-slides-outer.home #slideshow-carousel-slides-inner img {
	height: 89px;
}

#slideshow-end {
	clear: left;
}

/**
 * Main content area
 */

#main {
	width: 960px;
	margin: 0 auto;
}

#tagline {
	width: 935px;
	height: 24px;
	background-image: url("images/tagline.png");
	text-indent: -9999px;
	margin: 0 auto 19px auto;
}

#main h2 {
	color: #535353;
	text-transform: uppercase;
	font-weight: normal;
	margin: 0 0 1px 0;
	font-size: 1.3125em;
	border-bottom: 1px #ddd solid;
	padding: 0 0 5px 0;
}

#sidebar {
	padding: 3px 0 0 0;		
	border-top: 1px #535353 solid;
	float: left;
	width: 300px;
	margin: 0 40px 0 0;
}

#sidebar-inner {
	background-color: #d6f1f9;
}

#sidebar-book {
	padding: 4px;
}

#sidebar-book h2 {
	background-color: #5bcae9;
	color: #000;
	padding: 11px 0 10px 13px;
	margin: 0;
	border-bottom: 0;
}

#sidebar-book ul {
	list-style-type: none;
	margin: 0;
	padding: 0;	
}

#sidebar-book li {
	border-top: 1px #fff solid;
	background-color: #5bcae9;
	padding: 16px 0 17px 56px;
	text-transform: uppercase;
	font-size: 1.3125em;
}

#sidebar-book-phone {
	background-image: url("images/sidebar_book_phone_bg.gif");
	background-repeat: no-repeat;
	background-position: 18px center;	
}

#sidebar-book-phone-call {
	float: left;	
}

#sidebar-book-phone-numbers {
	float: left;	
}

#sidebar-book-phone-end {
	clear: left;	
}

/* this is obsolete, but we'll keep it here just in case */
#sidebar-book-chat {
	background-image: url("images/sidebar_book_chat_bg.gif");
	background-repeat: no-repeat;
	background-position: 16px center;
	cursor: pointer;
	display: none; /* this will be overridden by JavaScript if it's enabled */
}

#whoson_chat_link {
	display: block;
	line-height: 1px;
	font-size: 1px;	
}

.column {
	padding: 3px 0 0 0;		
	border-top: 1px #535353 solid;
	float: left;
}

#footer-outer {
	margin: 45px 0 0 0;
	height: 35px;
	background-image: url("images/body_bg.gif");
}

#footer-inner {
	width: 960px;
	margin: 0 auto;
	height: 24px; /* 35px - 11px top padding */
	padding: 11px 0 0 0;
	text-align: right;
	font-size: 0.75em;
	color: #555;
}

/**
 * Home page
 */

#home-what {
	background-color: #d6f1f9;
	font-size: 1.3125em;
	padding: 17px;	
}

#home-what .first-child {
	margin-top: 0;
}

#home-what .last-child {
	margin-bottom: 0;	
}

#home-what ol {
	margin: 0;
	padding: 0 0 0 16px;
}

#home-news {
	width: 280px;
	margin: 0 40px 0 0;
}

#home-social {
	width: 300px;
	position: relative; /* so we can use position: absolute on the buttons */
}

#twitter {
	display: block;
	position: absolute;
	right: 88px;
	top: 4px;
	width: 89px;
	height: 21px;
	background-image: url("images/twitter.gif");
	text-indent: -9999px;
	outline: 0;
}

#facebook {
	position: absolute;
	right: 0;
	top: 4px;
}

#main-end {
	clear: left;
}

/**
 * Blog pages
 */

div.blog-post {
	border-bottom: 1px #ddd solid;
	padding: 14px 0 12px 0;
}

div.blog-post-first {
	padding-top: 0;	
}

div.blog-post h3 {
	font-family: Georgia,serif;
	margin: 0 0 8px 0;
	font-weight: normal;
}

p.blog-post-metadata {
	color: #424242;
	text-transform: uppercase;
	font-size: 0.875em;
	margin: 0 0 8px 0;
}

div.blog-post a.blog-post-more {
	text-decoration: underline;
}

.blog-index-nav {
	margin: 0 0 16px 0;
}

.blog-index-nav-prev {
	float: left;
	width: 50%;	
}

.blog-index-nav-next {
	float: left;
	width: 50%;
	text-align: right;	
}

.blog-index-nav-end {
	clear: left;	
}

/**
 * Interior pages
 */
 
#main-interior-content {
	float: left;
	width: 620px;
	padding: 3px 0 0 0;		
	border-top: 1px #535353 solid;
}

#main-interior-content h2 {
	margin-bottom: 16px;	
}

div.intro {
	font-size: 1.3125em;
	padding: 0 0 21px 0;
	border-bottom: 1px #ddd solid;
	margin: 0 0 20px 0;	
}

/**
 * What We Do page
 */

#what-training {
	width: 275px; /* 310px - 1px border - 31px padding */
	padding: 0 31px 0 0;
	float: left;
	border-right: 1px #5bcae9 solid;
	margin: 0 0 16px 0;
}

#what-support {
	width: 276px; /* 310px - 31px padding */
	padding: 0 0 0 31px;
	float: left;
	margin: 0 0 16px 0;
}

/**
 * Meet Our Teachers
 */

div.teacher-preview {
	padding: 0 0 23px 0;
	border-bottom: 1px #ddd solid;
	margin: 0 0 9px 0; 
}

div.teacher-preview h3 {
	font-family: Georgia,serif;
}

div.teacher-preview-photo {
	float: left;
	width: 239px;
	margin: 0 24px 0 0;
}

div.teacher-preview-photo img {
	width: 239px;
	height: 63px;
	margin: 0 0 7px 0;
}

a.teacher-preview-goto {
	text-transform: uppercase;	
	font-size: 0.875em;
}

div.teacher-preview-blurb {
	float: left;
	width: 357px;
}

div.teacher-preview-end {
	clear: left;	
}

/**
 * Teacher-specific pages
 */

div.teacher-bio {
	background-color: #fff;
	padding: 0 0 12px 0;
}

div.teacher-bio *:last-child {
	margin-bottom: 0;
}

/**
 * Book Appointment
 */

#book-name,
#book-phone,
#book-email,
#book-address1,
#book-address2,
#book-city {
	width: 280px; 
}

#book-zip {
	width: 64px;	
}

#book-message {
	width: 280px;
	height: 128px;
}

/**
 * Forms
 */

form div.field {
	margin: 0 0 16px 0;	
}

form div.field label {
	display: block;
	float: left;
	width: 160px;
	margin: 0 6px 0 0;
	text-align: right;
	font-size: 1.25em;	
}

form div.field div.field-controls {
	width: 454px; /* 620px - 166px label */
	float: left;
}

form div.field div.field-end {
	clear: left;	
}

form div.buttons {
	margin: 0 0 0 166px;
}

textarea {

}

textarea.placeholder {
	color: #888;
}

.error {
	color: #c00;
	font-weight: bold;
}

.success {
	color: #090;
	font-weight: bold;
}

input.datepicker {
	width: 72px;
}

/**
 * single.php
 */
 
ol.commentlist {
	list-style-type: none;
	margin: 0;
	padding: 0;
	border-top: 1px #ddd solid;
}

ol.commentlist li {
	padding: 16px 0;
	border-bottom: 1px #ddd solid;
}

ol.commentlist img.avatar {
	float: left;
	margin: 0 12px 0 0;
}

#comment {
	width: 280px;
	height: 128px;
}

/**
 * To fix a bug in the jQuery datepicker that messes up the footer:
 * http://groups.google.com/group/jquery-ui/browse_thread/thread/1c1ef20564cd0e28?pli=1
 */
#ui-datepicker-div {
	display: none;
}

