* {
margin: 0;
padding: 0;
border: 0;
list-style: none;
}
html, body {
height: 100%;
}
body {
font-size: small;
font-family: Arial;
background: #fff;
}
#wrapper {
position: relative;
min-height: 100%;
}		
* html #wrapper	{
height: 100%;
}
#footer {
width: 100%;
color: #ddd;
display: block;
text-align: center;
padding: 4px 0;
margin-top: 20px;
clear: both;
background: #0054a6 url(../images/nav/header-bg.gif) bottom left repeat-x;		
text-shadow: black 1px 1px 4px;		
}
	#footer a {
	color: #fff;
	}
.gutter {
padding: 20px;
}
.section {
padding-bottom: 30px;
position: relative;
}
a {
text-decoration: none;
color: #0054a6;
font-weight: bolder;
}
a:hover {
text-decoration: underline;
}
dt {
font-weight: bold;
}

#header {
background: #0054a6 url(../images/nav/header-bg.gif) bottom left repeat-x;
border-bottom: 2px solid #0054a6;
padding: 0 10px;
}
	#header h1 {
	float: left;
	padding-left: 10px;
	}
	#header #nav {
	display: block;
	background: url(../images/nav/header-stars.gif) top right no-repeat;
	padding: 65px 50px 2px 0;
	text-align: right;
	}
	#header #nav li {
	display: inline;
	padding-left: 15px;
	}
	#header #nav li a {
	color: #fff;
	padding-bottom: 5px;
	font-weight: bold;
	font-size: 120%;
	}
	#header #nav li a:hover, body#classes #nav #nav-classes a, body#history #nav-history a, body#gallery #nav-gallery a, body#news #nav-news a {
	background: url(../images/nav/header-selected.gif) bottom center no-repeat;
	text-decoration: none;
	}


#content {
float: left;
width: 70%;
margin-bottom: 40px;
}
	#content h2 {
	font-size: 180%;
	padding-bottom: 15px;
	}
	#content h3 {
	font-size: 140%;
	padding-bottom: 10px;
	}
	#content p {
	font-size: 110%;
	line-height: 1.3em;
	padding-bottom: 4px;
	}
	#message {
	margin: 0;
	padding: 3px;
	font-size: 120%;
	text-align: center;
	background: #000 url(../images/home/message-bg.gif) repeat-x top left;
	color: #ddd;
	border-top: 1px solid #888;
	border-bottom: 1px solid #000;
	clear: both;
	}
	#message a {
	color: #fff;
	}
	#messageFall {
	margin: 0;
	padding: 3px;
	font-size: 120%;
	text-align: center;
	background: #dec840 url(../images/home/fall-bg.gif) repeat-x top left;
	color: #000;
	border-top: 1px solid #dcba00;
	border-bottom: 1px solid #bda000;
	clear: both;
	}	
	#messageFall span {
	color: #000;
	padding-left: 25px;
	background: url(../images/home/icon-leaf.gif) center left no-repeat;
	}
	#messageFall a {
	font-weight: normal;
	}
#messageWinter {
	margin: 0;
	padding: 5px;
	font-size: 120%;
	text-align: center;
	background: #dbedff url(../images/home/winter-bg.gif) repeat-x top left;
	color: #0054A6;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #c9e4ff;
	clear: both;
}

#messageWinter a {
	color: #0054A6;
	padding: 0 20px;
	padding-left: 20px;
	background: url(images/home/icon-snowflake.gif) 50% left no-repeat;
}

#messageWinter span.right {
	color: #0054A6;
	padding-right: 20px;
	background: url('../images/home/icon-snowflake.gif') center right no-repeat;
}
#messageWinter span.left {
	color: #0054A6;
	padding-left: 20px;
	background: url('../images/home/icon-snowflake.gif') center left no-repeat;
}
	#openhouse {
	background: #0054a6 url(../images/home/open-house-background-bottom.gif) bottom left no-repeat;
	width: 658px;
	text-align: center;
	margin: 0 auto;
	padding-bottom: 20px;
	color: #fff;
	}
		#openhouse h2 {
		background: #0054a6 url(../images/home/open-house-background-top.gif) top left no-repeat;
		text-align: center;
		padding: 15px 0 5px 15px;
		text-shadow: black 2px 2px 5px;		
		}
		#openhouse p {
		text-align: left;
		padding: 15px 15px 0 15px;
		text-shadow: black 1px 1px 4px;		
		}
		#openhouse p a {
		padding-right: 25px;
		color: #fff;
		background: url(../images/home/open-house-calendar.gif) bottom right no-repeat;
		}
		#openhouse p.textright {
		text-align: right;
		display: block;
		}
		#openhouse p em {
		color: #ddd;
		}
		#openhouse img.facebook {
		margin: 0 20px;
		}
		#openhouse img.imgright {
		padding: 1px;
		margin: 20px;
		}


#sidebar {
float: right;
width: 250px;
}
	#sidebar .box {
	width: 201px;
	background: #eee url(../images/nav/box-bottom.gif) no-repeat bottom left;
	margin: 0 20px 20px 0;
	}
	#sidebar .box h3 {
	margin: 0;
	padding: 6px 8px 4px 10px;
	color: #fff;
	font-size: 100%;
	font-weight: bold;
	text-shadow: black 1px 1px 4px;		
	border-bottom: 1px solid #0054a6;
	background: #0069b6 url(../images/nav/box-top.gif) no-repeat top left;
	}
	#sidebar .box dl {
	margin: 0;
	padding: 10px;
	}
	#sidebar .box dl dd {
	margin: 0;
	padding: 0;
	}
	#sidebar .box dl dd.leading {
	margin: 0;
	padding: 5px 0 0 0;
	}
	#sidebar .box dl dt {
	margin-top: 6px;
	padding: 0;
	font-weight: bold;
	}
	#sidebar .box dl dt a, #sidebar .box dl dt a:active, #sidebar .box dl dt a:visited, #sidebar .box dl dt a:hover {
	margin-top: 6px;
	padding: 0;
	font-weight: bold;
	color: #000;
	}
	#sidebar .box dl dd.note {
	font-size: 80%;
	padding: 10px 0 0 10px;
	font-style: italic;
	}
	#sidebar .box dl dd.error {
	font-size: 80%;
	padding-top: 10px;
	font-style: italic;
	color: #ff0000;
	}
	#sidebar .box dl dd input.txt {
	width: 150px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 100% Arial;
	background: #fff;
	}
	#sidebar .box dl dd input.btn {
	width: 100px;
	margin-top: 5px;
	padding: 2px 4px 2px 4px;
	border: 2px outset #0054a6;
	font: 110% Arial;
	background: #eee;
	}
				
#homePictures {
}
	#homePictures ul {
	display: block;
	text-align: center;
	margin: 10px auto;
	}
	#homePictures li {
	display: inline;
	margin: 0 4px;
	}

#directions {
float: left;
width: 50%;
}
	#directions dl {
	border-bottom: 1px dotted #ddd;
	padding: 10px 0;
	}
	#directions dt {
	font-weight: bold;
	}
	#directions dd {
	padding: 2px 5px;
	}
	#directions h4 {
	padding: 10px 0;
	font-size: 100%;
	}
	#map_address {
	text-align: center;
	padding-top: 10px;
	}
	#map_address p {
	text-align: center;
	padding: 0;
	margin: 0;
	}
	#map_address p strong {
	font-size: 120%;
	}


	
#mapWrapper {
float: right;
width: 45%;
}
	#map {
	width: 100%;
	height: 250px;
	border: 1px solid #0054a6;
	}
	#mapWrapper dl {
	text-align: center;
	margin: 25px 0 0 0;
	}
	#mapWrapper dt {
	font-size: 120%;
	}
	#mapWrapper dd {
	padding: 2px 0;
	}

input, select {
border: 1px solid #0054a6;
padding: 2px 4px;
background: #eee;
}
	input.txt {
	width: 200px;
	}
	input.btn {
	font-weight: bold;
	}
	

/* Classes table and layout */

.classTable {
	background: #888;
	clear: both;
}

.birthdayTableLeft, .birthdayTableRight {
	background: #888;
}

.classTable table {
	position: relative;
	top: -4px;
	left: -4px;
	width: 100%;
	border: 1px solid #0054a6;
	background: #fff;
}

.birthdayTableLeft table {
	position: relative;
	top: -4px;
	left: -4px;
	width: 49%;
	border: 1px solid #0054a6;
	background: #fff;
	float: left;
	margin-bottom: 20px;
}

.birthdayTableRight table {
	position: relative;
	top: -4px;
	left: -4px;
	width: 49%;
	border: 1px solid #0054a6;
	background: #fff;
	float: right;
	margin-bottom: 20px;
}

.classTable table caption, .birthdayTableLeft table caption, .birthdayTableRight table caption {
	margin: 0;
	padding: 8px 20px;
	text-align: center;
	border: 1px solid #0054a6;
	border-bottom: none;
	background: #fff;
	font-size: 130%;
	font-weight: bold;
}

.classTable table th, #content table th, .birthdayTableLeft table th, .birthdayTableRight table th {
	margin: 0;
	padding: 4px 20px;
	text-align: center;
	border-bottom: 1px solid #ddd;
	color: #000;
}

.classTable table tr, .birthdayTableLeft table tr, .birthdayTableRight table tr {
	text-align: center;
}

.classTable table tr.grey {
	background: #eee;
}

.classTable table td a, #content table td a:active, #content table td a:visited {
	display: block;
	font-weight: bold;
	text-decoration: none;
	color: #0054a6;
	padding: 6px 0;
}

.classTable table td a:hover {
	display: block;
	font-weight: bold;
	color: #0054a6;
	text-decoration: underline;
}

.classes {
margin-top: 30px;
}
	.classes h3, .classes p {
	margin-left: 130px;
	}
	
.classTable table td.session {
	padding: 10px 0 4px 10px;
	border-bottom: 1px solid #777;
	font-weight: bold;
	text-align: left;
	font-size: 110%;
}

/* Registration */

#registration {
padding: 30px 0;
}
#registration form p {
	clear: left;
	margin: 0;
	padding: 0;
	padding-top: 5px;
}

#registration p.center {
	text-align: center;
	color: #0000ff;
	font: bold 130% Arial;
}

#registration form p label {
	float: left;
	width: 200px;
	text-align: right;
	font: bold 120% Arial;
	margin-right: 20px;
}

#registration fieldset {
	border: 1px dotted #555557;
	margin: 16px;
	padding: 15px;
}

#registration legend {
	font: bold 150% Arial;
	background-color: #fff;
	padding: 0 10px;
}

#registration .remaining {
	text-align: right;
	font: bold 130% Arial;
}

#registration input.txt {
	width: 200px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 120% Arial;
	background: #eee;
}

#registration input.txt2 {
	width: 250px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 120% Arial;
	background: #eee;
}

#registration textarea {
	width: 250px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 130% Arial;
	background: #eee;
}

#registration input.dob {
	width: 30px;
	margin-right: 4px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 130% Arial;
	background: #eee;
}

#registration input.two {
	width: 30px;
	margin-right: 4px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 130% Arial;
	background: #eee;
}

#registration input.zip {
	width: 60px;
	margin-right: 4px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 130% Arial;
	background: #eee;
}

#registration input.three {
	width: 40px;
	margin-right: 4px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 130% Arial;
	background: #eee;
}

#registration input.four {
	width: 50px;
	margin-right: 4px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 130% Arial;
	background: #eee;
}

#registration select.sel {
	width: 150px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 120% Arial;
	background: #eee;
}

#registration select.sel2 {
	width: 200px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 120% Arial;
	background: #eee;
}
#registration select.sel3 {
	width: 250px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #0054a6;
	font: 120% Arial;
	background: #eee;
}

#registration input.btn {
	width: 200px;
	padding: 2px 4px 2px 4px;
	border: 2px outset #0054a6;
	font: 150% Arial;
	background: #eee;
}

#registration input.btn2 {
	width: 100px;
	padding: 2px 4px 2px 4px;
	border: 2px outset #0054a6;
	font: 120% Arial;
	background: #eee;
}

#registration p.leading {
	padding-bottom: 10px;
}

#registration p.terms {
	padding-bottom: 10px;
	font: 100% Arial;
}

#registration p.submit {
	width: 95%;
	padding: 10px 0;
	text-align: right;
}

#registration h3 {
	margin: 5px 0 10px 0;
	padding: 10px 0 0 0;
	font: bold 120% Arial;
	text-align: center;
	border-top: 1px dotted #555557;
}

.errorMsgtxt
{
	width: 200px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #ff0000;
	font: 130% Arial;
	background: #eee;
}

.errorMsgtxt2 {
	width: 250px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #ff0000;
	font: 130% Arial;
	background: #eee;
}

.errorMsg2 {
	width: 30px;
	margin-right: 4px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #ff0000;
	font: 130% Arial;
	background: #eee;
}

.errorMsgzip {
	width: 60px;
	margin-right: 4px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #ff0000;
	font: 130% Arial;
	background: #eee;
}

.errorMsg3 {
	width: 40px;
	margin-right: 4px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #ff0000;
	font: 130% Arial;
	background: #eee;
}

.errorMsg4 {
	width: 50px;
	margin-right: 4px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #ff0000;
	font: 130% Arial;
	background: #eee;
}

.errorMsgsel {
	width: 150px;
	padding: 2px 4px 2px 4px;
	border: 1px solid #ff0000;
	font: 130% Arial;
	background: #eee;
}

.errorMsgcheck {
	border-bottom: 2px solid #ff0000;
}

.calIcon {
	margin: 0;
	padding: 0;
}

/* Gallery */

.gallery {
	clear: left;
	float: left;
	border-top: 1px dotted #ccc;
	padding: 20px 0;
	width: 99%;
}

.gallery ul {
	margin: 0;
	padding: 0;
	float: left;
}

.gallery li {
	padding-right: 10px;
	width: 180px;
	height: 200px;
	text-align: center;
	margin: 0;
	float: left;
	list-style: none;
}

.thumbnail{
position: relative;
z-index: 0;
}

.thumbnail img {
	padding: 8px;
	border: 1px solid #0054a6;
	background: url(images/tools/picture-background.jpg) no-repeat bottom right;
}

.thumbnail:hover{
background-color: transparent;
z-index: 50;
}

.thumbnail span{ /*CSS for enlarged image*/
position: absolute;
background-color: #eee;
padding: 5px;
left: -1000px;
border: 1px solid #0054a6;
visibility: hidden;
color: #000;
text-decoration: none;
width: 500px;
}

.thumbnail span img{ /*CSS for enlarged image*/
border: 1px solid #ccc;
padding: 0;
}

.thumbnail:hover span{ /*CSS for enlarged image on hover*/
visibility: visible;
top: -70px;
left: 40px; /*position where enlarged image should offset horizontally */

}


/* Tools */

.imgright {
float: right;
margin: 0 0 20px 20px;
}
.imgleft {
float: left;
margin: 0 20px 20px 0;
}
.img {
border: 1px solid #0054a6;
background: #eee;
padding: 5px;
}
.textright {
text-align: right;
display: block;
}
.textcenter {
text-align: center;
display: block;
margin: 0 auto;
}
.textleft {
text-align: left;
padding-left: 10px;
}
.clear {
clear: both;
}
.topmargin {
margin-top: 15px;
}
.bottommargin {
margin-bottom: 15px;
}
.rightmargin {
margin-right: 15px;
}
.leftmargin {
margin-left: 15px;
}
.hidden {
display: none;
}
.message {
color: #0054a6;
font-weight: bold;
padding: 10px 0;
}
.filled {
text-decoration: underline;
color: #777;
font-weight: normal;
}
.indent {
width: 15px;
padding-right: 15px;
}
.bottomborder {
border-bottom: 1px solid #ddd;
padding-bottom: 5px;
}
.bottompadding {
padding-bottom: 10px;
}
.note {
color: #777;
}
.error {
color: #ff0000;
}
.bigger {
font-size: 140%;
}