/*YAHOO! RESET*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td{ 
	margin:0;
	padding:0;
}
table{
	border-collapse:collapse;
	border-spacing:0;
}
fieldset,img{ 
	border:0;
}
address,caption,cite,code,dfn,th,var{
	font-style:normal;
	font-weight:normal;
}
ol,ul{
	list-style:none;
}
caption,th{
	text-align:left;
}
h1,h2,h3,h4,h5,h6{
	font-size:100%;
	font-weight:normal;
}
q:before,q:after{
	content:'';
}
abbr,acronym{
	border:0;
}
/*---------- END RESET ----------*/





/*-------------------------------*\
	SETTINGS
\*-------------------------------*
Light Green	#1fb14b
Dark Green	#06703a
Yellow		#f8ee12
Red			#ed2225
Purple		#9360a6

Sub-content	220px
Content		460px
Sidebar		220px





/*-------------------------------*\
	MAIN
\*-------------------------------*/
html{
	font-size:100%;
	height:101%;
}
body{
	font-size:62.5%;
	font-family:Arial, Verdana, sans-serif;
	color:#333;
	background:url(../img/css/grid.gif) top center repeat-y #fff;
	background:url(../img/css/bg.gif) top left repeat-x #fff;
	padding-bottom:12em;
	behavior:url("/css/csshover3.htc");
}
#wrapper{
	width:940px;
	padding:0 10px;
	margin:0 auto;
	overflow:hidden;
	background:#fff;
	border:1px solid #c2c2c1;
	border-top:none;
	-moz-box-shadow:0 0 10px rgba(0,0,0,0.5);
	-webkit-box-shadow:0 0 10px rgba(0,0,0,0.5);
	box-shadow:0 0 10px rgba(0,0,0,0.5);
}
#header{
	width:100%;
	overflow:hidden;
}
#sub-content,
#content-area,
#content,
#sidebar{
	display:inline;
	float:left;
}
#sub-content{
	clear:both;
	width:220px;
	margin-right:20px;
}
#content-area{
	width:700px;
	margin-bottom:20px;
}
#content{
	width:498px;
	padding:10px;
	margin-right:20px;
	background:#fff;
	margin-top:-75px;
	min-height:350px;
	position:relative;
	z-index:50;
	border:1px solid #aaa;
	-moz-box-shadow:0 0 10px rgba(0,0,0,0.75);
	-webkit-box-shadow:0 0 10px rgba(0,0,0,0.75);
	box-shadow:0 0 10px rgba(0,0,0,0.75);
}
#home #content{
	padding-bottom:0;
}
#sidebar{
	width:160px;
}
#footer{
	clear:both;
	border-top:1px solid #06703a;
	padding:10px 0;
}





/*-------------------------------*\
	NAV
\*-------------------------------*/
#nav{
	float:right;
	background:url(../img/css/nav.gif) bottom left repeat-x #1fb14b;
	margin-bottom:20px;
	list-style:none;
	
	-moz-border-radius-bottomleft:5px;
	-moz-border-radius-bottomright:5px;
	-webkit-border-bottom-left-radius:5px;
	-webkit-border-bottom-right-radius:5px;
	border-radius-bottomleft:5px;
	border-radius-bottomright:5px;
}
#nav li{
	float:left;
}
#nav li a{
	display:block;
	color:#fff;
	text-transform:uppercase;
	padding:5px;
	text-decoration:none;
	
	text-shadow:1px 1px 1px rgba(0,0,0,0.5);
}
#nav li a:hover{
	text-decoration:underline;
}
#home .menu-home,
#about .menu-about,
#case-studies .menu-case-studies,
#products .menu-products,
#testimonials .menu-testimonials,
#contact .menu-contact{
	text-decoration:underline;
	cursor:default;
}
#footer-links{
	font-size:1em;
	text-align:center;
	width:335px;
	overflow:hidden;
	margin:0 auto;
}
#footer-links li{
	float:left;
}
#footer-links li a{
	font-weight:bold;
	color:#999;
	text-transform:uppercase;
	padding:0 5px;
	border-right:1px solid #999;
}
#footer-links li.last a{
	border:none;
}





/*-------------------------------*\
	MASTHEAD
\*-------------------------------*/
#masthead{
	width:700px;
	height:200px;
	margin-bottom:20px;
	color:#fff;
	position:relative;
}
#masthead #info{
	position:absolute;
	font-size:1.2em;
	display:none;
	top:10px;
	right:10px;
	padding:5px;
	background:#fff;
	background:rgba(255,255,255,0.75);
	color:#333;
	text-shadow:1px 1px 1px rgba(0,0,0,0.2);
	-moz-box-shadow:0 0 10px rgba(0,0,0,0.5);
}
#masthead:hover #info{
	display:block;
}





/*-------------------------------*\
	TYPE
\*-------------------------------*/
/*--- TAGLINE ---*/
#tagline{
	font-size:1.2em;
	font-weight:bold;
	color:#06703a;
	display:block;
	margin-bottom:10px;
	text-align:center;
}
/*--- HEADINGS ---*/
h1,h2,h3,h4,h5,h6{
	font-family:Helvetica, Arial, Verdana, sans-serif;
	color:#06703a;
	margin-bottom:20px;
	font-weight:bold;
}
h1{
	font-size:2.4em;
	line-height:1em;
}
h2{
	font-size:2em;
	line-height:1.2em;
}
h3{
	font-size:1.8em;
	line-height:1.3333em;
}
h4{
	font-size:1.8em;
	line-height:1.3333em;
}
#case-studies h2{
	margin-bottom:5px;
}
/*--- PARAGRAPHS ---*/
p{
	font-size:1.2em;
	line-height:1.5em;
	margin-bottom:20px;
}
p#intro-copy{
	font-weight:bold;
}
p#copyright{
	text-align:right;
	margin:0;
}
p.highlight{
	padding:5px;
	text-align:center;
}
p.highlight strong{
	color:#ed2225;
	font-size:1.333em;
}
p.date{
	font-family:Georgia, "Times New Roman", Times, serif;
	font-size:1.6em;
	font-style:italic;
	color:#999;
	margin:0;
}
p.read-more{
	text-align:right;
	clear:both;
}
/*--- LINKS ---*/
a{
	color:#ed2225;
}
a:visited{
	color:#ff7375;
}
a:hover{
	text-decoration:none;
}
/* These next two classes are incredibly insemantic, but there's no realistic alternative */
a.fullHit{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	display:block;
	outline:none;
	background:url(../img/css/trans.gif);
}
.posRel{
	position:relative;
}
/*--- BLOCKQUOTES ---*/
blockquote p{
	text-indent:-0.5em;
	font-family:Georgia, "Times New Roman", Times, serif;
}
blockquote p strong{
	font-family:Arial, Verdana, sans-serif;
	display:block;
	font-style:normal;
	text-indent:0;
}
#testimonials blockquote p strong{
	color:#06703a;
}
/*--- MISC ---*/





/*-------------------------------*\
	MODULES
\*-------------------------------*/
#modules{
	width:518px;
	margin-left:-10px;
	overflow:hidden;
}
.module{
	position:relative;
	width:244px;
	height:150px;
	overflow:hidden;
	background:#333;
	margin:0 0 10px 10px;
	float:left;
}
#main-case-study-module{
	width:498px;
	height:310px;
	margin-right:0;
	float:none;
}
.module h2,.module h3,.module p{
	position:absolute;
	left:0;
	color:#fff;
	display:inline;
	margin:0;
}
.module h2,.module h3{
	top:0;
	background:#06703a;
	
	text-shadow:1px 1px 1px rgba(0,0,0,0.5);
}
.module h2{
	padding:5px;
	font-size:1.8em;
}
.module h3{
	padding:3px;
	font-size:1.5em;
}
.module p{
	bottom:20px;
	width:66%;
}
.module p a{
	background:#1fb14b;
	background:rgba(31,177,75,0.75);
	padding:1px;
	font-weight:bold;
	color:#fff;
	text-decoration:none;

	text-shadow:1px 1px 1px rgba(0,0,0,0.4);
}





/*-------------------------------*\
	LISTS
\*-------------------------------*/
ul,ol{
	font-size:1.2em;
	margin-bottom:18px;
}
#content ul{
	margin-left:15px;
	list-style:square outside;
}
#content ol{
	margin-left:15px;
}
ol{
	list-style:decimal outside;
}
li{
	line-height:1.5em;
}
#content #logos{
	margin:0 0 20px 0;
	list-style:none;
	width:498px;
	float:left;
}
#logos li{
	width:124px;
	float:left;
	display:inline;
	position:relative;
	cursor:help;
}
#logos li strong{
	position:absolute;
	bottom:40px;
	left:-9999px;
	color:#fff;
	background:#404040;
	background:rgba(0,0,0,0.75);
	padding:2px;
	white-space:nowrap;
	opacity:0;
	
	text-shadow:1px 1px 1px rgba(0,0,0,0.5);
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	border-radius:2px;
	-webkit-transition:0.5s opacity linear;
}
#logos li:hover strong{
	left:10px;
	opacity:1;
	z-index:10;
}
#our-process{
	width:500px;
	font-family:Impact;
	margin:0 0 20px 20px;
	font-size:2em;
}
#our-process li{
	color:#1fb14b;
}
#our-process li span{
	color:#06703a;
}
#content ul.gallery{
	width:498px;
	overflow:hidden;
	list-style:none;
	margin:0 0 24px 0;
}
.gallery li{
	float:left;
	width:100px;
	margin-left:19px;
	background:url(../img/css/loading.gif) center center no-repeat;
}
.gallery li a img{
	width:100px;
}





/*-------------------------------*\
	FORMS
\*-------------------------------*/
form{
	clear:both;
}
fieldset{
	border:1px solid #ccc;
	padding:10px 0 10px 10px;
	margin-bottom:20px;
	
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	border-radius:2px;
}
legend{
	font-size:1.2em;
	font-weight:bold;
	border:1px solid #ccc;
	background:#fff;
	padding:5px;
	
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	border-radius:2px;
}
fieldset.accessibility{
	border:none;
	padding:0;
}
legend.accessibility{
	display:none;
}
.form-row{
	padding:5px 0;
}
#sub-content .submit-row{
	text-align:right;
	padding-right:10px;
}
label{
	font-size:1.2em;
	font-weight:bold;
	display:block;
	cursor:pointer;
	color:#666;
}
.text-input{
	width:202px;
	padding:2px;
	border:1px solid #d9d9d9;
	background:url(../img/css/text-input.png) top left no-repeat;
	
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	border-radius:2px;
}
.text-input:focus{
	border:1px solid #ccc;
}
textarea{
	width:400px;
	padding:2px;
	border:1px solid #d9d9d9;
	background:url(../img/css/text-input.png) top left no-repeat;
	
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	border-radius:2px;
}
.submit{
	cursor:pointer;
	border:1px solid #ccc;
	background:#e4e4e4;
	padding:5px;
	
	-moz-border-radius:2px;
	-webkit-border-radius:2px;
	border-radius:2px;
}
.submit:hover{
	-moz-box-shadow:0 0 5px rgba(0,0,0,0.5);
	-webkit-box-shadow:0 0 5px rgba(0,0,0,0.5);
	box-shadow:0 0 5px rgba(0,0,0,0.5);
}
form p{
	margin-bottom:10px;
}
.form-row p{
	margin:0;
}





/*-------------------------------*\
	TABLES
\*-------------------------------*/
table{
	font-size:1.2em;
}
#case-studies-table{
	color:#999;
}
#col-date{
	width:20%;
}
#col-school{
	width:40%;
}
#col-description{
	width:40%;
}
#case-studies-table th{
	font-weight:bold;
	border-bottom:1px solid #ccc;
	padding:0 5px;
	color:#666;
}
#case-studies-table tbody td{
	border-bottom:1px solid #ccc;
	padding:0 5px;
}
#case-studies-table tbody tr:nth-of-type(odd){
	background:#ffc;
}
.date-cell{
	font-family:Georgia, "Times New Roman", Times, serif;
}
.date-cell span{
	font-style:italic;
}
.school-cell a{
	font-weight:bold;
	color:#06703a;
	display:block;
	padding:20px 0;
}





/*-------------------------------*\
	INCLUDES
\*-------------------------------*/
/*--- MINI FORM ---*/
#mini-form .text-input{
	width:192px;
}
/*--- GET STARTED ---*/
#get-started{
	padding:10px;
	margin-bottom:20px;
	background:#ffc;

	-moz-border-radius:10px;
	-webkit-border-radius:10px;
	border-radius:10px;
}
#get-started ol{
	list-style:decimal outside;
	font-family:Arial, Verdana, sans-serif;
	font-size:2em;
	font-weight:bold;
	margin-left:25px;
	color:#ed2225;
}
#get-started ol li{
	line-height:1em;
}
#get-started ol a{
	color:#06703a;
	font-size:0.75em;
	text-decoration:none;
}
#get-started ol a:hover{
	color:#ed2225;
	text-decoration:underline;
}
/*--- QUOTES ---*/
#sub-content blockquote{
	padding:10px;
	border:2px solid #ccc;
	border-width:1px 0;
	margin-bottom:20px;
}
#sub-content blockquote p{
	font-style:italic;
	margin:0;
}
#sub-content blockquote p a{
	color:#999;
	display:block;
	text-decoration:none;
}
#sub-content blockquote p a:hover{
	color:#666;
	text-decoration:none;
}
/*--- CASE STUDIES ---*/
.promo{
	display:block;
	border:1px solid #ccc;
	padding:5px 5px 5px 100px;
	margin-bottom:10px;
	text-decoration:none;
	
	-moz-border-radius:4px;
	-webkit-border-radius:4px;
	border-radius:4px;
}
.promo:hover{
	border:1px solid #999;
}
.promo img{
	float:left;
	margin-left:-95px;
	position:relative;
}
.promo-title{
	display:block;
	font-size:1.2em;
	margin-bottom:5px;
	text-decoration:underline;
}
.promo-description{
	font-size:1.2em;
	display:block;
	font-style:normal!important;
}
.promo .clear{
	clear:both;
	display:block;
}
#case-studies-list{
	margin-bottom:20px;
	font-size:1.2em;
}
#case-studies-list li{
	line-height:1em;
	padding:5px 0;
}
#case-studies-list li a{
	display:block;
	border-bottom:1px solid #ccc;
	text-decoration:none;
}
#case-studies-list li a:hover{
	display:block;
	border-bottom:1px solid #ed2225;
}
#case-studies-list li a:hover em{
	color:#333;
}
#case-studies-list li strong{
	font-family:Arial, Verdana, sans-serif;
	color:#333;
	margin:0 0 5px 0;
	display:block;
}
#case-studies-list li em{
	margin:0;
	color:#666;
	display:block;
	margin:0 0 5px 0;
}
/*--- TWITTER ---*/
#twitter{
	background:url(../img/css/twitter.gif) top left repeat-x #1ba545;
	padding:5px;
	border:1px solid #1ba545;
	color:#fff;
	
	text-shadow:1px 1px 1px rgba(0,0,0,0.5);
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
}
#twitter h3{
	font-size:1.6em;
	margin-bottom:5px;
	color:#fff;
}
#twitter h3 a{
	text-decoration:none;
	color:#fff;
}
#twitter h3 a:hover{
	text-decoration:underline;
}
#twitter a{
	color:#f8ee12;
}
#twitter_update_list{
	margin:0;
}





/*-------------------------------*\
	IMAGES
\*-------------------------------*/
#logo{
	display:block;
	width:220px;
	height:107px;
}
img.left{
	border:1px solid #1fb14b;
	padding:5px;
	margin:0 20px 20px 0;
}
img.right{
	border:1px solid #1fb14b;
	padding:5px;
	margin:0 0 20px 20px;
}
.case-study-img{
	width:36.666666666666666666666666666667%;
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
}





/*------------------------------------*\
	POPIN
\*------------------------------------*/
#overlay {
	background:#000;
	position:absolute;
	top:0;
	left:0;
	z-index:10000;
	width:100%;
	cursor:pointer;
}
.prettyPopin {
	display:none;
	position:absolute;
	z-index:11000;
	top:50%;
	left:50%;
	background:#fff;
	
	-moz-border-radius:5px;
	-webkit-border-radius:5px;
	border-radius:5px;
	-moz-box-shadow:0 0 10px #000;
	-webkit-box-shadow:0 0 10px #000;
	box-shadow:0 0 10px #000;
}
.prettyPopin a#b_close {
	display:none;
	position:absolute;
	z-index:2;
	top:10px;
	right:13px;
	width:41px;
	height:9px;
	text-indent:-10000px;
	background:url(../img/css/b-close.gif) bottom left no-repeat;
	outline:none;
}
.prettyPopin .prettyContent {
	position:relative;
	width:100%;
	height:100%;
}
.prettyPopin .prettyContent .prettyContent-container {
	display:none;
	padding:20px 20px 0 20px;
}
.prettyPopin .prettyContent .loader {
	position:absolute;
	top:50%;
	left:50%;
	margin:-14px 0 0 -14px;
}
#store-overlay{
	width:500px;
}





/*-------------------------------*\
	MISC
\*-------------------------------*/
.left	{ float:left; }
.right	{ float:right; }
.clear	{ clear:both; }
.hide	{ position:absolute; left:-9999px; }
.hr		{ height:1px; border-top:1px solid #06703a; margin:0 -10px 20px -10px; }
.hr hr	{ display:none; }
.top	{ text-align:right; margin:0; }
.highlight{
	background:#ffc;
}
.text-banner{
	text-align:center;
	color:#ed2225;
	word-spacing:2em;
}
.breadcrumb{
	margin-bottom:10px;
}
.error,.success{
	display:block;
	clear:both;
	padding:10px 10px 10px 36px;
	margin:10px 0;
}
.error{
	border-top:1px solid #fa5757;
	border-bottom:1px solid #fa5757;
	background:url(../img/css/error.gif) 1em center no-repeat #ffbbbb;
}
.success{
	border-top:1px solid #82ca77;
	border-bottom:1px solid #82ca77;
	background:url(../img/css/tick.gif) 1em center no-repeat #d1ffbb;
}
#address{
	float:right;
	text-align:right;
	margin-left:20px;
}
#address strong{
	color:#06703a;
}
.town{
	text-transform:uppercase;
}
