/*####################################
#	CSS RESET
####################################*/

html, body, div, span,
applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dd, dl, dt, li, ol, ul,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	line-height: 1;
	font-family: inherit;
	text-align: left;
	vertical-align: baseline;
	}

a img, :link img, :visited img {
	border: 0;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
	}

ol, ul {
	list-style: none;
	}
	
q:before, q:after,
blockquote:before, blockquote:after {
	content: "";
	}


/*####################################
#	BODY, HTML, MISC
####################################*/

body {
	background-color: #eeede8;
	color: #383c3a;
	font: normal 12px "Lucida Grande", sans-serif;
	height: 100%;
	width: 100%;
	}
	
html {
	height: 100%;
	}
	
html>body {
	font-size: 12px;
	}
	
#wrapper {
	min-height: 100%;
	position: relative;
	}
	
* html #wrapper {
	height: 100%;
	}
	
.clear {
	clear: both;
	}
	
.container {
	margin: 0 auto;
	width: 940px;
	}
	
a {
	color: #0b9800;
	text-decoration: none;
	}
	
p {
	line-height: 1.55em;
	margin-bottom: 1.67em;
	}

p.intro {
	font-size: 1.17em;
	margin-bottom: .86em;
	}
	
strong {
	font-weight: bold;
	}
	
.upper {
	text-transform: uppercase;
	}


/*####################################
#	HEADER
####################################*/

#header {
	background: #3a3d3b url(../img/layout/header_bg.gif) repeat-x bottom left;
	padding-bottom: 1px;
	}
	
#header .container {
	position: relative;
	}

#header h1 a {
	background: url(../img/layout/header_logo.png) no-repeat top left;
	height: 32px;
	float: left;
	margin: 28px 0 34px;
	text-indent: -1000em;
	width: 172px;
	}
	
#header form.viewCart {
	float: right;
	}
	
#header ul {
	clear: both;
	}
	
#header ul li {
	display: inline;
	}
	
#header ul li a {
	background: url(../img/layout/header_nav.gif) no-repeat -1000em top;
	border-bottom: 4px solid #c3c3c3;
	float: left;
	height: 49px;
	margin-right: 24px;
	text-indent: -1000em;
	}
	
#header ul li a:focus {
	outline: none;
	}
	
#header ul li a.sel {
	border-bottom: 4px solid #7d7d7d;
	}
	
#header ul li.home a {
	background-position: top left;
	width: 37px;
	}
	
#header ul li.home a:hover,
#header ul li.home a.sel {
	background-position: bottom left;
	}
	
#header ul li.events a {
	background-position: -62px top;
	width: 50px;
	}
	
#header ul li.events a:hover,
#header ul li.events a.sel {
	background-position: -62px bottom;
	}
	
#header ul li.resources a {
	background-position: -137px top;
	width: 78px;
	}
	
#header ul li.resources a:hover,
#header ul li.resources a.sel {
	background-position: -137px bottom;
	}
	
#header ul li.weblog a {
	background-position: -238px top;
	width: 56px;
	}
	
#header ul li.weblog a:hover,
#header ul li.weblog a.sel {
	background-position: -238px bottom;
	}
	
#header ul li.services a {
	background-position: -318px top;
	width: 63px;
	}
	
#header ul li.services a:hover,
#header ul li.services a.sel {
	background-position: -318px bottom;
	}
	
#header ul li.aboutUs a {
	background-position: -405px top;
	width: 65px;
	}
	
#header ul li.aboutUs a:hover,
#header ul li.aboutUs a.sel {
	background-position: -405px bottom;
	}
	
#header ul li.contact a {
	background-position: -495px top;
	width: 60px;
	}
	
#header ul li.contact a:hover,
#header ul li.contact a.sel {
	background-position: -495px bottom;
	}
	
#header form.search {
	bottom: 17px;
	position: absolute;
	right: 0;
	}
	
#header form.search fieldset label {
	display: block;
	text-indent: -1000em;
	}
	
#header form.search fieldset input {
	margin-left: 5px;
	vertical-align: top;
}
	
#header form.search fieldset input#SearchTerm {
	border: 1px solid #727272;
	color: #484848;
	font-size: 1em;
	height: 17px;
	padding: 4px 3px 0;
	width: 135px;
	}


/*####################################
#	FOOTER
####################################*/

#footer {
	background: #363a38 url(../img/layout/footer_bg.gif) repeat-x top left;
	bottom: 0;
	color: #949494;
	padding: 52px 0 32px;
	position: absolute;	
	width: 100%;
	}
	
#footer div.container div.left {
	float: left;
	width: 460px;
	}
	
#footer div.container div.right {
	float: right;
	}	
	
#footer h2 {
	border-bottom: 1px solid #5b5e5b;
	color: #eeede8;
	font-size: 1.33em;
	padding-bottom: 5px;
	}
	
#footer div.container div.left ul li {
	border-bottom: 0;
	border-left: 1px solid #5b5e5b;
	height: 43px;
	float: left;
	line-height: 1.15em;
	padding: 10px 20px 0 10px;
	}	
	
#footer div.container div.left ul li.first {
	border-left: 0;
	padding-left: 0;
	}
	
#footer div.container div.left ul li a {
	color: #cecece;
	display: block;
	margin-bottom: 8px;
	text-decoration: underline;
	}
	
#footer div.container div.right ul {
	border-bottom: 1px solid #5b5e5b;
	padding-bottom: 5px;
	}	
	
#footer div.container div.right ul li {
	display: inline;
	line-height: 1.15em;
	padding-left: 12px;
	}
	
#footer div.container div.right ul li a {
	color: #6f6f6f;
	text-decoration: none;
	}
	
#footer div.container div.right,
#footer div.container div.right p {
	text-align: right;
	}
	
#footer div.container div.right img {
	margin: 20px 0 11px;
	}


/*####################################
#	BODY
####################################*/

#body {
	background: url(../img/layout/body_bg.gif) repeat-x top left;
	padding: 29px 0 196px;
	}

#body .container {
	background: url(../img/layout/body_bg.jpg) no-repeat top center;
	padding: 11px 10px;
	width: 940px;
	}


/*####################################
#	COLUMNS
####################################*/

.col {
	float: left;
	margin-right: 20px;
	width: 460px;
	}
	
.col.last {
	margin-right: 0;
	}
	
.col.narrow {
	width: 220px;
	}
	
.col.wide {
	width: 700px;
	}
	
.col h2,
form.eventRegistration h3 {
	background: #c3b7a7;
	color: #fff;
	line-height: 1.9em;
	margin-bottom: 15px;
	padding-left: 6px;
	text-transform: uppercase;
	}
	
.col.list ul li {
	color: #887f74;
	list-style: url(../img/layout/list_arrow.png);
	margin: 0 0 17px 14px;
	}
	
.col.list ul li a {
	color: #404342;
	display: block;
	font-size: 1.17em;
	margin-bottom: 8px;
	}
	
.col.dlist dt,
.col.dlist dd {
	line-height: 1.5em;
	}
	
.col.dlist dt {
	float: left;
	font-style: italic;
	}
	
.col.dlist dt:after {
	content: ":";
	}
	
.col.dlist dd {
	margin-left: 50px;
	}
	
.spacer {
	margin-bottom: 30px;
	}


/*####################################
#	LANDING
####################################*/
	
.whatWeDo {
	color: #484848;
	}	
	
.whatWeDo h2 {
	background: transparent url(../img/layout/what_we_do_heading.gif) no-repeat top left;
	height: 81px;
	margin-bottom: 5px;
	text-indent: -1000em;
	width: 220px;
	}
	
.whatWeDo p.intro {
	font-size:1.2em;
	font-weight: bold;
	line-height:1.45em;
	margin-bottom: 3px;
	}
	
.events p {
	background: url(../img/layout/calendar.png) no-repeat top left;
	padding-left: 55px;
}


/*####################################
#	BLOG
####################################*/

.blog h2 {
	margin-bottom: 30px;
	}

.blog a.rssFeed {
	background: url(../img/layout/rss_logo.gif) no-repeat top left;
	float: right;
	height: 34px;
	margin: -56px 15px 0 0;
	text-indent: -1000em;
	width: 41px;
	}
	
.blog p.error-message,
.contact p.error-message,
.email p.error-message,
.eventRegistration p.error-message {
	color: red;
	}
	
.email p {
	margin-left: 20px;
	}
	
.blog div {
	margin-bottom: 25px;
	}
	
.blog div.clear {
	margin: 0;
	}
	
.blog div.error-message,
.contact div.error-message,
.email div.error-message {
	color: red;
	margin-bottom: 10px;
	margin-top: -14px;
	}
	
.blog h3 {
	border-bottom: 1px solid #c3b7a7;
	font-size: 2.33em;
	padding-bottom: 10px;
	}
	
.blog h3 a {
	color: #383C3A;
	line-height: 1.25em;
	}
	
.blog ul,
.blog ol {
	color: #828282;
	list-style: disc;
	margin-bottom: 1.35em;
	margin-left: 20px;
	}
	
.blog ol {
	list-style: decimal;
	}
	
.blog ul li,
.blog ol li {
	line-height: 1.25em;
	margin-bottom: .5em;
	}
	
.blog li ul,
.blog li ol {
	margin-bottom: 6px;
	margin-top: 6px;
	}
	
.blog dl.info,
.blog ul.info,
.blog ul.footer {
	margin-left: 0;
	}
	
.blog dl.info dt {
	display: none;
	}
	
.blog dl.info dd,
.blog ul.info li,
.blog ul.footer li {
	border-left: 1px solid #c3b7a7;
	color: #887f74;
	float: left;
	line-height: 2.33em;
	list-style: none;
	margin-bottom: 15px;
	padding: 0 10px;
	}
	
.blog ul.footer li {
	border-left: 0;
	line-height: 1em;
	margin-right: 10px;
	padding-left: 0;
	}
	
.blog dl.info dd.first {
	border-left: 0;
	padding-left: 0;
	}
	
.blog ul.info li a,
.blog ul.footer li a {
	color: #887f74;
	}
	
.blog ul.footer li.upper {
	border-right: 1px solid #887f74;
	}
	
.blog img {
	border: 2px solid #C3B7A7;
	float: left;
	margin: 0 20px 10px 0;
	}
	
.blog p {
	font-size: 1.2em;
	line-height: 1.52em;
	margin-bottom: 1.35em;
	}
	
.blog.landing p {
	clear: both;
	}
	
.blog.blogFull p {
	font-size: 1em;
	line-height: 1.75em;
	}
	
.blog.blogFull p.intro {
	font-size: 1.2em;
	line-height: 1.52em;
	}
	
.blog p img {
	border: 5px solid #c3b7a7;
	float: left;
	margin: 5px 14px 0 0;
	}
	
.blog div.viewOlderPosts {
	text-align: right;
	}

.blog div.viewOlderPosts div.disabled {
	display: none;
	}
	
.blog h4 {
	font-size: 1.167em;
	margin-bottom: 12px;
	}
	
.blog div.comments div {
	margin-bottom: 10px;
	}

.blog div.comments div h5 {
	border-bottom: 1px solid #C3B7A7;
	color: #887F74;
	font-size: 1.167em;
	margin-bottom: 4px;
	padding: 0 0 4px;
	}

.blog div.comments div p {
	font-size: 1em;
	}
	
	
/*####################################
#	NEWSLETTER SIGNUP
####################################*/

form.newsletter p {
	margin-bottom: 15px;
	}

form.newsletter label {
	background: url(../img/layout/newsletter_logo.jpg) no-repeat top left;
	height: 50px;
	float: left;
	margin-right: 14px;
	text-indent: -1000em;
	width: 56px;
	}

form.newsletter input {
	display: block;
	}

form.newsletter input#newsletterEmail {
	margin-bottom: 5px;
	width: 144px;
	}
	
form.newsletter input#newsletterSignUp {
	float: right;
	}
	
	
/*####################################
#	PRESS AND ARTICLES LIST
####################################*/
	
a.archiveButton {
	margin-left: 14px;
	}
	
	
/*####################################
#	FEATURED PRODUCT
####################################*/
	
.featuredProduct h3 {
	font-size: 1.33em;
	line-height: 1.5em;
	margin-bottom: 10px;
	}
		
.featuredProduct img {
	border: 2px solid #C3B7A7;
	float: left;
	margin-right: 10px;
	}
	
.featuredProduct a.purchase img {
	border: 0;
	margin: -2px 8px 0 0;
	}
	
	
/*####################################
#	ABOUT US
####################################*/
	
.bio h3 {
	border-bottom: 1px solid #c3b7a7;
	font-size: 2.33em;
	margin-bottom: 10px;
	padding: 0 0 10px 4px;
	position: relative;
	}
	
.bio h3 a {
	bottom: 10px;
	font-size: .43em;
	position: absolute;
	right: 0;
	}
	
.bio div {
	margin-top: 24px;
	}

.bio p img {
	border: 5px solid #c3b7a7;
	float: left;
	margin: 5px 14px 0 0;
	}
	
	
/*####################################
#	CONTACT AND BLOG COMMENT
####################################*/

form.email {
	margin: 0;
	}

form.email fieldset {
	padding: 0 20px;
	}

form.postComment fieldset div {
	margin-bottom: 0;
	}
	
form.contact fieldset div label,
form.postComment fieldset div label,
form.email fieldset div label,
form.eventRegistration fieldset div.input label {
	display: block;
	font-size: 1.17em;
	margin-bottom: 6px;
	}
	
form.eventRegistration div.registerFor,
form.eventRegistration fieldset div.radio label {	
	font-size: 1.17em;
	margin: 0 0 6px 10px;
	}
	
form.eventRegistration div.registerFor {
	margin: 0 0 16px;
	}
	
form.eventRegistration fieldset div.radio label {
	margin: 0 25px 6px 10px;
	}

form.contact fieldset div label em,	
form.postComment fieldset div label span,
form.email fieldset div label em,
form.eventRegistration fieldset div label em {
	color: #828282;
	font-size: .9em;
	font-style: italic;
	}
	
form.contact fieldset div input,
form.postComment fieldset div input,
form.email fieldset div input,
form.contact fieldset div textarea,
form.postComment fieldset div textarea,
form.email fieldset div textarea,
form.eventRegistration fieldset div textarea,
form.eventRegistration fieldset div input {
	font-size: 1.16em;
	margin-bottom: 16px;
	}
	
form.contact fieldset div.input input,
form.postComment fieldset div.input input, 
form.email fieldset div.input input,
form.eventRegistration fieldset div.input input {
	width: 219px;
	}
	
form.contact fieldset div textarea,
form.postComment fieldset div textarea,
form.email fieldset div textarea,
form.eventRegistration fieldset div textarea {
	height: 150px;
	width: 380px;
	}
	
form.contact fieldset div.phone input {
	margin-right: 13px;
	width: 60px;
	}

form.contact fieldset div.challenge img,	
form.postComment fieldset div.challenge img {
	border: 1px solid #828282;
	display: block;
	float: none;
	margin-bottom: 8px;
	}
	
.otherContact.col.dlist dt.mail,
.otherContact.col.dlist dd.mail {
	margin-bottom: 10px;
	}
	
form div.error-message {
	color:red;
	margin: -14px 0 10px;
	}
	
	
/*####################################
#	SERVICES
####################################*/

.services ul {
	color: #828282;
	list-style: disc;
	margin: -9px 0 13px 20px;
	}
	
.services ul li {
	line-height: 1.25em;
	margin-bottom: .5em;
	}
	
.services div.images {
	margin-bottom: 1.5em;
	}
	
.services div.images p {
	color: #828282;
	font-style: italic;
	margin-bottom: 0;
	}
	
.services div.images a {
	margin-right: 15px;
	}
	
.services div.images a.last {
	margin-right: 0;
	}
	
.services div.images a img,
.services p.workshop img {
	border: 3px solid #c3b7a7;
	}
	
#servicesPopup #container {
	margin: 0 auto;
	width: 439px;
	}
	
#servicesPopup #container img {
	margin: 6px 0 15px;
	}
	
#servicesPopup #container p {
	margin: 0 15px 15px;
	}
	
#servicesPopup #container p.problem strong {
	color: #d81010;
	}
	
#servicesPopup #container p.solution strong {
	color: #0b9800;
	}
	
	
/*####################################
#	RESOURCES
####################################*/

.resources .leftImg {
	margin-bottom: 1.6em;
	padding-left: 80px;
	}
	
.resources .leftImg img {
	float: left;
	margin-left: -80px;
	}
	
.resources div,
.resources form {
	margin-bottom: 55px;
	}
	
.resources form {
	margin-bottom: 22px;
	}
	
.resources form#dvdSet {
	margin-bottom: 0;
	}
	
.resources.last div {
	margin-bottom: 22px;
	}
	
.resources h3 {
	border-bottom: 1px solid #c3b7a7;
	font-size: 1.83em;
	margin-bottom: 15px;
	padding: 0 162px 7px 0;
	position: relative;
	}
	
.resources  h3 a,
.resources  h3 input {
	/*float: right;
	margin: -28px -164px 0 0;*/
	bottom: 3px;
	position: absolute;
	right: 0;
	}
	
.resources h3 a.full {
	margin-top: -46px;
	}
	
.resources h3 span {
	font-size: .75em;
	}
	
.resources div h4,
.resources form h4 {
	font-size: 1.17em;
	font-weight: bold;
	line-height: 1.3em;
	margin-bottom: 12px;
	padding-right: 115px;
	position: relative;
	}
	
.resources form h4 span {
	font-weight: normal;
	}
	
.resources div h4 a,
.resources form h4 input {
	/*float: right;
	margin: -19px -115px 0 0;*/
	bottom: -3px;
	position: absolute;
	right: 0;
	}
	
.resources div.twoLines h4 input,
.resources form.twoLines h4 input {
	/*margin-top: -33px;*/
	bottom: 0;
	}
	
.resources div p,
.resources form p {
	line-height: 1.85em;
	}
	
.resources div p.intro,
.resources form p.intro {
	line-height: 1.55em;
	}
	
.resources div p em,
.resources form p em {
	font-style: italic;
	}
	
.resources div ul,
.resources form ul {
	color: #828282;
	list-style: disc;
	margin: -9px 0 13px 20px;
	}
	
.resources div ul li,
.resources form ul li {
	line-height: 1.25em;
	margin-bottom: .5em;
	}
	
.resources div p img,
.resources form p img {
	border: 3px solid #c3b7a7;
	float: left;
	margin: 5px 14px 0 0;
	}

#videoPopup {
	background: url(../img/ajax-loader.gif) no-repeat center;
	}
	
#videoPopup #container {
	margin: 0 auto;
	width: 550px;
	}
	
/*####################################
#	SEARCH
####################################*/

.search ul.results li {
	margin: 30px 0;
	}

.search ul.results li h3 {
	font-size: 1.084em;
	margin-bottom: 5px;
	}
	
.search ul.results li a.url {
	font-size: 0.917em;
	font-style: italic;
	}
	
.search ul.results li p {
	margin-bottom: 5px;
	}
	
.search div.pagination_links ul {
	text-align: right;
	}
	
.search div.pagination_links ul li {
	display: inline;
	margin-left: 5px;
	}
	
.search div.pagination_links ul li span.disabled {
	display: none;
	}
	
.search div.pagination_info span {
	display: block;
	margin-bottom: 5px;
	}