/* @group reset */
               
* { margin:  0; padding: 0; }
ul { list-style: none; }
p { margin: 0px 0px 10px 0px; }
a img, frameset { border: 0; }

/* Tables still need 'cellspacing="0"' in the markup. */
table { border-collapse: separate; border-spacing: 0; }
caption, th, td { text-align: left; font-weight: normal; }
table, td, th { vertical-align: middle; }

/* Remove possible quote marks (") from <q>, <blockquote>. */
blockquote:before, blockquote:after, q:before, q:after { content: ""; }
blockquote, q { quotes: "" ""; }

/* @end */
/* @group utility */

.clear {
	height: 1px;
	clear: both;
	margin-top: -1px;
	overflow: hidden;
}
.row:after, .clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
h1, h2, h3, h4, h5 { color: #3a3f46;}
small { font-size: 90%; }
.add_top, #add_top { margin-top: 15px; }
.add_bottom, #add_bottom { margin-bottom: 15px; }
.no_bottom { margin-bottom: 0; padding-bottom: 0; }
.no_right {margin-right: 0;}
.no_top { margin-top: 0; }
.no_border { border: 0; }
.left { float: left; }
img.left { margin: 0 15px 15px 0; }
.right { float: right; }
img.right { margin: 0 0 15px 15px; }
.text_right { text-align: right; }
.hide { display: none; }
.hr {
	height: 1px;
	background: #d8dde5;
	display: block;
	width: 980px;
	border: none;
	overflow: hidden;
}
.hr-aside {
	height: 1px;
	background: url(../images/hr-aside.png) 50% 50% no-repeat;
	display: block;
	width: 340px;
	margin: 20px 0px;
}
/* @end */
/* @group links */

a, a:link { text-decoration: none; color: #663366; outline:none;}
a:visited {color: #663366;}
a:hover { text-decoration: underline; }
a:active {}

/* @end */
/* @group =base */

body {
	font: 12px Helvetica, Arial, Sans-Serif;
	/*line-height: 1.5;*/ 
	margin: 0;
	background: #d8dde5 url(../images/bg-body.jpg) 0 0 repeat-x;
	color: #3a3f46;
}
#header {
	height: 90px;
	background: url(../images/bg-header.jpg) 0 0 no-repeat;
	padding-left: 185px;
	padding-top: 60px;
}
#wrapper-container, #wrapper-footer{
	margin: 0 auto;
	position: relative;
	width: 980px;
}
#wrapper-container {
	background: #fff;	
}
#wrapper-footer {
	text-align: center;
}
#footer {
	padding: 10px;
}
#footer p {
	font-style: italic;
	color: #4f647e;
}
#logo {
	position: absolute;
	top: 8px;
	left:  25px;
}
#title a {
	display: block;
	text-indent: -9000px;
	background: url(../images/bg-slogan.png) 0 0 no-repeat;
}
#nav {
	position: absolute;
	top: 100px;
}
#nav li {
	float: left;
	margin-right: 25px;
}
#nav li.last {
	margin-right: 0;
}
#nav li a {
	float: left;
	color: #3a3f46;
	text-transform: uppercase;
	font-weight: bold;
	padding: 18px;
	display: block;
}
#nav li a:hover {
	color: #c31130;
	text-decoration: none;
}
body.info #nav li.info a, body.staff #nav li.staff a, body.registration #nav li.registration a, body.directions #nav li.directions a, body.contact #nav li.contact a, body.faq #nav li.faq a {
	color: #c31130;
}
#nav li.first a {
	padding-left: 5px;
}
.column-main, .column-aside {
	padding: 30px;
}
.column-main {
	float: left;
	width: 475px;
}
.full {
	width: 920px;
}
.column-main h2, .column-aside h2 {
	font-size: 17px;
	margin-bottom: 20px;
}
.column-main h3, .column-aside h3 {
	font-size: 13px;
	margin: 20px 0;
	color: #4f647e;
}
.column-main h4, .column-aside h4 {
	margin: 5px 0;
	font-size: 12px;
}

h4 span {
	font-weight: normal;
}

.column-main h5, .column-aside h5 {
	margin: 5px 0;
	font-size: 12px;
}
.column-main h5 span, .column-aside h5 span {
	font-weight: normal;
	text-decoration: underline;
}
.column-main p, .column-aside p {
	line-height: 19px;
	margin-bottom: 20px;
}

.column-main a, .column-aside a {
	color: #c31130;
}
.column-main ul, .column-aside ul {
	margin-bottom: 15px;
}
.column-main li, .column-aside li {
	margin-bottom: 10px;
}
.column-main li strong, .column-aside li strong{
	margin-right: 10px;
}
.column-aside {
	float: right;
	width: 360px;
}
.column-aside-content {
	padding: 20px 0px 20px 20px;
}
.btn {
	display: block;
	text-indent: -9000px;
}
.btn-register {
	background: #ccc url(../images/btn-register.png) 0 0 no-repeat;
	width: 256px;
	height: 60px;
	margin:0 auto;
}
.btn-register:hover {
	background: url(../images/btn-register-hover.png) 0 0 no-repeat;
}
#photo-rotate {
	position: relative;
}
.session-dates li {
	color: #4f647e;
	margin: 10px 0;
}
.photos {  
    padding: 0;  
    margin:  0;
    overflow: hidden;
} 
.photos img {  
    padding: 5px;  
    background-color: #cbcdcf;  
    width:  352px; 
    height: 287px; 
    top:  0; 
    left: 0 
}
.staff-member {
	padding: 10px 200px 10px 140px;
	margin-bottom: 20px;
}
.staff-member h3 {
	margin-top: 0;
}
.staff-member img {
	margin-left: -140px;
	float: left;
	border: 5px solid #cbcdcf;
}