html, body, ul, ol, form, fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}
body {
	background: #54952f url(/images/generic/back.gif) repeat-x;
	color: #585858;
	font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
	margin: 0 auto;
	text-align: center;
	height: 100%;
	font-size: 100.01%;
	list-style-type: none;
}
body.home {background: #b3d335 url(../images/home/back.gif) repeat-x;}


/* Link styles */

a {color: #408422;}
a:link {color: #408422;}
a:visited {color: #458225;}
a:hover {color: #408422; text-decoration: none;}
a:active {color: #458225; text-decoration: underline;}


/* Skip */

#skipnav {
	width: 100%;
	height: 45px;
	overflow: hidden;
}
#skipnav p,
#skipnav h2 {
	font-size: 100%;
	text-indent: -4000px;
}
#skipnav a:link, #skipnav a:visited, #skipnav a:hover {
	text-decoration: none;
}


#wrapper {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	margin: 0 auto;
	background-image: none;
	background-repeat: no-repeat;
	background-position: center top;
}

body.home #wrapper {background-image: url(../images/home/char.jpg);}
body.partners-links #wrapper {background-image: url(../images/partners-links/back.jpg);}
body.contact #wrapper {background-image: url(../images/contact/back.jpg);}
body.dev-support #wrapper {background-image: url(../images/dev-support/back.jpg);}
body.research #wrapper {background-image: url(../images/dev-support/back.jpg);}
body.news-events #wrapper {background-image: url(../images/news-events/back.jpg);}

#wrapper-header,
#wrapper-content {
	max-width: 980px;
	min-width: 760px;
	margin: 0 auto;
	position: relative;
	border-left: 5px solid #FFF;
	border-right: 5px solid #FFF;
}

#wrapper-header {
	margin-bottom: 18px;
}

#wrapper-heading {
	max-width: 990px;
	min-width: 770px;
	margin: 0 auto;
}

#wrapper-content {
	margin-top: 20px;
	margin-bottom: 15px;
	background-color: #FFF;
}

#header {
	width: 100%;
	background: #f1f1f1 url(../images/generic/header.gif) no-repeat;
	margin: 0 auto;
	position: relative;
	text-align: center;
	font-size: 100%;
}


#nav-foot-l,
#nav-foot-r,
#content-top-l,
#content-top-r,
#callto-foot-l,
#callto-foot-r {
	width: 100%;
	height: 15px;
	font-size: 1%;
	position: absolute;
	z-index: 0;
}
#nav-foot-l {background: url(../images/generic/nav-foot.png) left bottom; left: -5px; bottom: -15px;}
#nav-foot-r {background: url(../images/generic/nav-foot.png) right bottom; right: -5px; bottom: -15px;}

#content-top-l {background: url(../images/generic/content-top.png) left bottom; left: -5px; top: -15px;}
#content-top-r {background: url(../images/generic/content-top.png) right bottom; right: -5px; top: -15px;}

#callto-foot-l {background: url(../images/generic/callto-foot.png) left bottom; left: -5px; bottom: -15px;}
#callto-foot-r {background: url(../images/generic/callto-foot.png) right bottom; right: -5px; bottom: -15px;}


/* Page Heading */

#heading {
	width: 98%;
	padding: 60px 1% 15px 1%;
	margin: 0 auto;
	text-align: left;
	background: url(../images/generic/heading.png) no-repeat left top;
}
body.home #heading {
	background: url(../images/home/heading.png) no-repeat left top; padding: 30px 1% 20px 1%;
}
.heading_content { width: 100%; }

#heading h1 {
	font-size: 290%;
	font-weight: normal;
	margin: 0;
	padding: 5px 15% 5px 13px;
	letter-spacing: -0.08em;
	line-height: 1;
	color: #FFFFFF;
}
#heading p {
	font-size: 70%;
	line-height: 1.2;
	margin: 0;
	padding: 5px 33% 5px 13px;
	color: #FFF;
}
#heading p.mainarea_intro {
	font-size: 88%;
	line-height: 1.5;
	color: #000;
}
#heading ul {list-style-type: none; padding: 2px 10px 10px 13px;}
#heading li {color: #FFF; font-size: 70%; line-height: 150%; background: url(../images/generic/bullet.gif) no-repeat 2px 5px; padding: 0 0 5px 15px;}

#heading a {color: #FFF; text-decoration: none;}

#heading a:hover,
#heading a:active {
	color: #FFF;
	text-decoration: underline;
}



#content {
	width: 100%;
	background: #efefef;
	text-align: left;
	margin: 0 auto; 
	padding: 5px 0 15px 0;
	z-index: 1;
}
#mainarea {
	width: 73%;
	margin: 0 1% 10px 1%;
	padding: 0;
	float: left;
	display: inline;
}
.main_content { width: 100%; }

#promo {
	width: 100%;
	background-color: #d4d4d4;
	margin: 0 auto;
	text-align:left;
}


/* Main Area and Typefaces */

#mainarea h1, #mainarea h2, #mainarea h3, #mainarea h4, #mainarea h5 {
	color: #408422;
	letter-spacing: -0.05em;
	margin: 0;
	padding: 5px 10px 0 10px;
}
#mainarea h1 { font-size: 125%; }
#mainarea h2 { font-size: 110%; }
#mainarea h3 { font-size: 85%; }
#mainarea h4 { font-size: 80%; }
#mainarea h5 { font-size: 72%; }

#mainarea h1 a, #mainarea h2 a, #mainarea h3 a, #mainarea h4 a, #mainarea h5 a  {
	text-decoration: none;
}
#mainarea h1 a:hover, #mainarea h2 a:hover, #mainarea h3 a:hover, #mainarea h4 a:hover, #mainarea h5 a:hover  {
	text-decoration: underline;
}

#mainarea ul {
	list-style-type: none;
	padding: 5px 10px 5px 10px;
}
#mainarea li {
	font-size: 72%; line-height: 150%; background-image: url(../images/generic/bullet.gif); background-repeat: no-repeat; 	background-position: 0px 5px; padding: 0 0 5px 15px;
}
#mainarea li li { font-size: 100%; }

#mainarea ul li ul { margin: 2px 0 -5px 0; }

#mainarea p {
	padding: 5px 10px 10px 10px;
	margin: 0;
	font-size: 72%;
	line-height: 1.5;
}
#mainarea p.mainarea_intro {
	font-size: 95%;
	line-height: 1.4;
	color: #408422;
}
#mainarea p.mainarea_intro strong {
	color: #408422;
}
#mainarea p.subtext,
#mainarea li.subtext  {
	font-size: 70%;
	line-height: 140%;
}
#mainarea p strong,
#mainarea li strong {
	color: #222222;
}


/* Table */

#mainarea table {
	width: 97%;
	margin: 10px 1.5% 10px 1.5%;
	text-align: left;
	font-size: 70%;
	text-align: left;
	color: #333;
	border-collapse: collapse;
}
#mainarea table th h1,
#mainarea table th h2,
#mainarea table th h3,
#mainarea table th h4,
#mainarea table th h5 {
	color: #FFF;
	font-size: 130%;
	padding: 5px 0 0 0;
}
#mainarea table p,
#mainarea table li {
	font-size: 100%;
	line-height: 1.4;
	padding: 5px 0 10px 0;
}
#mainarea table li {
	padding: 0 0 5px 15px;
}

table th {
	padding: 6px 10px;
	color: #FFFFFF;
	border-bottom: 1px solid #FFF;
	background: #408422;
}
table td {
	padding: 4px 10px;
	vertical-align: top;
}
table tr {
	border-collapse: separate;
	border-bottom: 1px solid #ccc !important;
	background-color: #e6e6e6;
}


/* Features (News & Press) */

body.home #mainarea .features {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}
body.home #mainarea .features h2 {
	font-size: 120%;
	border-bottom: 1px solid #408422;
	padding: 6px 0 5px 0;
}
body.home #mainarea .features p {
	font-size: 70%;
	line-height: 1.5;
	padding: 0 0 5px 0;
}
body.home #mainarea .features p.mainarea_intro {
	font-size: 80%;
	font-weight: bold;
	color: #000;
	line-height: 1.2;
	padding: 5px 0 5px;
}


/* List Pages  */

#mainarea .features {
	margin: 0 10px 10px 10px;
	border-bottom: 1px solid #ccc;
	padding-bottom: 10px;
}
#mainarea .features h2 {
	font-size: 120%;
	padding: 6px 0 5px 0;
}
#mainarea .features p {
	font-size: 70%;
	line-height: 1.5;
	padding: 0 0 5px 0;
}
#mainarea .features .layout_img_float_r {
	margin: 12px 0 3px 20px !important;
	float: right;
	display: inline;
}




/* Boxes */

#mainarea .box_top {
	margin: 8px 10px 0 10px;
	padding: 0 0 0 15px;
	background: #408422 url(../images/generic/box-tl.gif) top left no-repeat;
}
#mainarea .box_top h2 {
	font-size: 100%;
	padding: 16px 15px 8px 0px;
	letter-spacing: 0;
	margin: 0;
	color: #FFFFFF;
	background: #408422 url(../images/generic/box-tr.gif) top right no-repeat;
}
#mainarea .box_top h2 a {
	font-size: inherit;
	color: #FFFFFF;
	letter-spacing: 0;
	text-decoration: none;
}
#mainarea .box_top h2 a:hover {
	color: #FFFFFF;
	text-decoration: underline;
	letter-spacing: 0;
}

#mainarea .box_foot {
	margin: 0 10px 0 10px;
	padding: 0 0 0 15px;
	background: #f4f4f4 url(../images/generic/box-bl.gif) bottom left no-repeat;
}
#mainarea .box_foot div {
	margin: 0;
	padding: 10px 15px 10px 0;
	background: #f4f4f4 url(../images/generic/box-br.gif) no-repeat bottom right;
}
#mainarea .box_foot h3 {
	font-size: 100%;
	padding: 8px 0 10px 0;
	line-height: 0;
	color: #000;
}
#mainarea .box_foot p {
	padding: 0 0 5px 0;
	line-height: 1.5;
	font-size: 70%;
	color: #333333;
}
#mainarea .box_foot p img {
	padding-top: 5px;
	width: 100% !important;
}

#mainarea p img {
	margin-top: 0;
	margin-bottom: 0;
}


#mainarea .box_foot span.tech_support {
	width: 130px !important;
	height: 80px !important;
	font-size: 1%;
	text-align: center;
	background: none;
}
#mainarea .box_foot span.tech_support img {
	padding-bottom: 5px !important;
}




/* Link Button */

a.download,
a.link_button {
	color: #408422 !important;
	padding: 0 24px 0 0;
	font-family: "Arial Black", Arial, Helvetica, sans-serif;
	font-size: 120%;
	background: url(../images/generic/arrow-down.png) no-repeat top right;
	text-decoration: none;
}
a.link_button {
	font-weight: bold;
	margin-top: 15px !important;
	background: url(../images/generic/arrow-right.png) no-repeat top right;
}

a.download:hover, a.download:active, a.download:focus,
a.link_button:hover, a.link_button:active, a.link_button:focus {
	color: #2d9cce;
	text-decoration: underline;
}

/* Call to Action */

#callto {
	width: 100%;
	margin: 0;
	text-align: center;
	background: #3E7521 url(../images/generic/callto-back.gif) repeat-x;
}
#callto p {
	padding: 15px 20px 12px 20px;
	margin: 0;
	color: #fff;
	font-size: 140%;
	letter-spacing: -0.05em;
	line-height: 1.2;
}
#callto p strong,
#callto p a {
	text-decoration: none;
}


/* Sign off */

#signoff {
	max-width: 980px;
	min-width: 760px;
	margin: 0 auto;
	text-align: center;
	font-family: Verdana, Arial, Helvetica, sans-serif;
}
#signoff p {
	padding: 0 20px 10px 20px;
	margin: 0;
	font-size: 60%;
	line-height: 120%;
	color: #fff;
}
#signoff p a {
	color: #fff;
	text-decoration: none;
}


/* Forms */

form {margin: 5px 10px;}

label {
	width: 500px;
	font-size: 72%;
	font-weight: bold;
	color: #408422;
	margin: 0;
	margin-bottom: 10px;
}
form strong {
	color: #026ca9 !important;
}
input.inputform,
select.inputform,
textarea.inputform {
	width: 100%;
	display: block;
	background: #ddd;
	border: 1px solid #d9d9d9;
	border-top: 1px solid #c4c4c4;
	border-bottom: 1px solid #fff;
	padding: 2px 0 3px 0;
}

label, input, select, textarea, fieldset {
	padding: 2px 0 4px 0;
}


/* Layout Styles */

.layout_clear {
	clear: both;
	width: 100%;
	font-size: 1%;
	height: 0px !important;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
	
.layout_img_border_float_l {
	border: 2px solid #408422;
	margin: 0 20px 10px 10px !important;
	float: left;
	display: inline;
}
.layout_img_border_float_r {
	border: 2px solid #408422;
	margin: 0 10px 10px 20px !important;
	float: right;
	display: inline;
}
.layout_img_float_l {
	margin: 5px 20px 10px 10px !important;
	float: left;
	display: inline;
}
.layout_img_float_r {
	margin: 5px 10px 10px 20px !important;
	float: right;
	display: inline;
}

.layout_promo {
	width: 24.9%;
	height: 100px;
	background-color: #999;
	float: left;
}
.layout_2col,
.layout_3col,
.layout_3col_wide,
.layout_4col,

.layout_2col_float_r,
.layout_3col_float_r,
.layout_3col_wide_float_r,
.layout_4col_float_r {
	float: left;
	margin: 0;
	display: inline;
	padding: 5px 0 10px 0;
}
.layout_2col {width: 49.99%;}
.layout_3col {width: 33.33%;}
.layout_3col_wide {width: 66.66%;}
.layout_4col {width: 25%;}

.layout_2col_float_r {width: 49.99%; float: right;}
.layout_3col_float_r {width: 33.33%; float: right;}
.layout_3col_wide_float_r {width: 66.66%; float: right;}
.layout_4col_float_r {width: 25%; float: right;}

img.gallery  {
	width: 96% !important;
	overflow: hidden;
	border: 5px solid #fff;	
}

.layout_video {margin: 10px 10px;
background-color: #FFF;
text-align: center;
border: 10px solid #e6e6e6;
padding: 40px 0;
}


body.home #mainarea {width: 98%; padding: 0; margin: 0 1% 0 1%;}

body.home .layout_3col {
	width: 33.33%;
	margin: 0;
	padding: 0;
	z-index: 10;
	border: none;
}
body.home .layout_3col img {
	width: auto !important;
}

body#testimonials #mainarea p {
	font-size: 72%;
	line-height: 1.5;
	padding: 5px 5% 10px 5%;
	position: relative;
}
body#testimonials #mainarea p.quoter {
	font-size: 72%;
	line-height: 1.3;
	padding: 0 5% 20px 5%;
	margin-top: -3px;

}

p span.quote-leftquote {
	font-size: 40px;
	color: #ccc;
	line-height: 35px;
	margin-left: -22px;
	width: 20px;
	float: left;
	display: inline;
}
p span.quote-rightquote {
	font-size: 40px;
	color: #ccc;
	line-height: 0;
	margin-left: 5px;
	width: 20px;
	vertical-align: bottom;
}

#ofsted h3 {
	font-size: 72%;
	color: #000 !important;
	letter-spacing: -0.02em;
}
#case-study h3 {
	font-size: 72%;
	color: #000 !important;
	letter-spacing: -0.02em;
}


/**
 * jQuery lightBox plugin
 * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * and adapted to me for use like a plugin from jQuery.
 * @name jquery-lightbox-0.5.css
 * @author Leandro Vieira Pinho - http://leandrovieira.com
 * @version 0.5
 * @date April 11, 2008
 * @category jQuery plugin
 * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
 * @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US
 * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
 */
#jquery-overlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 900;
	width: 100%;
	height: 500px;
}
#jquery-lightbox {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
	text-align: center;
	line-height: 0;
}
#jquery-lightbox a img { border: none; }
#lightbox-container-image-box {
	position: relative;
	background-color: #fff;
	width: 250px;
	height: 250px;
	margin: 0 auto;
}
#lightbox-container-image { padding: 10px; }
#lightbox-loading {
	position: absolute;
	top: 40%;
	left: 0%;
	height: 25%;
	width: 100%;
	text-align: center;
	line-height: 0;
}
#lightbox-nav {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 1000;
}
#lightbox-container-image-box > #lightbox-nav { left: 0; }
#lightbox-nav a { outline: none;}
#lightbox-nav-btnPrev, #lightbox-nav-btnNext {
	width: 49%;
	height: 100%;
	display: block;
}
#lightbox-nav-btnPrev { 
	left: 0; 
	float: left;
}
#lightbox-nav-btnNext { 
	right: 0; 
	float: right;
}
#lightbox-container-image-data-box {
	font: 10px Verdana, Helvetica, sans-serif;
	background-color: #fff;
	margin: 0 auto;
	line-height: 1.4em;
	overflow: auto;
	width: 100%;
	padding: 0 10px 0;
}
#lightbox-container-image-data {
	padding: 0 10px; 
	color: #666; 
}
#lightbox-container-image-data #lightbox-image-details { 
	width: 70%; 
	float: left; 
	text-align: left; 
}	
#lightbox-image-details-caption { font-weight: bold; }
#lightbox-image-details-currentNumber {
	display: block; 
	clear: left; 
	padding-bottom: 1.0em;	
}			
#lightbox-secNav-btnClose {
	width: 66px; 
	float: right;
	padding-bottom: 0.7em;	
}
