/******************************
 *  RESETS
 ******************************/
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,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* remember to define focus styles! */
:focus {
	outline: 0;
}

/******************************
 *  ELEMENTS
 ******************************/
body {
	text-align: center;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 62.5%;
	color: #333;
	background: #cabd77 url(../images/body-top.png) no-repeat 50% 0;
	line-height: 1;
	overflow: -moz-scrollbars-vertical !important;
}
input, select, textarea {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 1em;
}
img {
	vertical-align: bottom; /* IEWIN : stops images aligning to baseline */
	border: none; 
	margin: 0; /* IEWIN : image margin reset bug */
}
h1, h2, h3, h4, h5, h6 {
	clear: left;
	font-size: 1.2em;
	margin: 0 0 1em 0;
	padding: 0;
	color: #390;
}
h1 {
	font-size: 2.4em;
	font-weight: normal;
	text-transform: lowercase;
	margin-bottom: .6em;
}
h2 {
	font-size: 1.29em;
	font-weight: bold;
	margin-bottom: 1em;
}
h3 {
	font-size: 1.4em;
	font-weight: bold;
	margin-bottom: .5em;
}
a {
	outline: none;
}
a:focus {
	outline: thin dotted;
}
a:link {
	color: #000;
	text-decoration: none;
/*	outline: none;*/
}
a:visited {
	color: #000;
	text-decoration: none;
}
a:hover {
	color: #000;
	text-decoration: underline;
	outline: none;
}
a:active {
	color: #000;
	text-decoration: none;
	outline: none;
}
p {
	margin: 0 0 1em;
}
strong {
	font-weight: bold;
}
ul, ol {
	list-style-type: none;
	margin: 0 0 1em;
}
dl {
	margin: 0 0 1em;
}
dd, dt {
	margin: 0;
	padding: 0;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}

/* global
------------------------------*/
ol.address {
	margin: 0;
	padding: 0;
	list-style-type: none;	
}
ol.address {
	margin: 0;
	padding: 0;	
}

/* accessibility
------------------------------*/
#access-nav {
	position: absolute;
	top: -999em;
	left: -999em;
}
fieldset dt.required em,
.access-node,
legend {
	height: 0;
	width: 0;
	margin: 0;
	padding: 0;
	font-size: 0;
	position: absolute;
	overflow: hidden;
}
caption {
	display: none;	
}

/* errors
------------------------------*/
.error {
	color: #cc0000;
}

/******************************
 *  NAVIGATION
 ******************************/
#nav-bar {
	background: url(../images/page-shading.png) repeat-y 0 0;
	width: 100%;
}
* html #nav-bar {
	background:none;
}
ul#main-nav {
	background: url(../images/nav-border.gif) repeat-x 0 100%;
	float:right;
	margin:0;
	padding:33px 0 0;
}
ul#main-nav li {
	float: left;
}
ul#main-nav li a {
	border-bottom: 5px solid #91eb1f;
	color: #666;
	display: block;
	font-size: 2.4em;
	padding: 5px 10px 8px;
}
ul#main-nav li:hover a,
ul#main-nav li.hover a,
ul#main-nav li.current a,
ul#main-nav li a:hover {
	border-bottom: 5px solid #4b8a1c;
	color:#333;
	text-decoration: none;
}
#content ul.breadcrumb {
	border-bottom: 1px solid #390;
	list-style-type: none;
	margin: 1em 0 3em;
	padding: 0;
}
#content ul.breadcrumb li {
	float: left;
	margin: 0;
	padding: 0;
}
#content ul.breadcrumb li a {
	color: #390;
	font-weight: bold;
	text-decoration: none;
}
#content ul.breadcrumb li a:hover {
	text-decoration: underline;
}

/******************************
 *  LAYOUT
 ******************************/
#container {
	background: url(../images/page-bottom.png) no-repeat 50% 100%;
	padding:0 0 25px;
}
#page {
	background: url(../images/body-bg.gif) repeat-y 50% 0;
	margin: 40px 0 0;
	text-align: left;
}
#page-wrapper {
	background: #fff url(../images/paper-texture.gif) repeat 0 0;
	margin: 0 auto;
	padding: 0 0 0 0;
	width: 960px;
}
#header,
#content {
	clear: left;
	float: left;
}
#logo-bar {
	background: url(../images/page-top-shading.png) no-repeat 0 0;
	height:80px;
	position:relative;
	width:100%;
}
* html #logo-bar {
	background: none;
}
#logo {
	left: -15px;
	position: absolute;
	top: -33px;
}
#partner-logos {
	position: absolute;
	right: 10px;
	top: 10px;
}
#partner-logos li {
	float:left;
	margin:0 0 0 15px;
}
#holding #header {
	background: url(../images/header-bg.gif) no-repeat 0 33px;
	padding-bottom: 100px;
}
#header {
	background: url(../images/nav-border.gif) repeat-x 0 100%;
	margin: 0;
	position: relative;
	width: 100%;
}
#content {
	background: url(../images/page-shading.png) repeat-y 0 0;
	padding: 45px 50px 100px;
	width: 860px;
}
* html #content {
	background: none;
}
#home #content,
#blog #content,
#general #content {
	padding: 15px 20px 100px;
	width: 920px;
}
#home #content #primary,
#blog #content #primary,
#general #content #primary {
	background: url(../images/photo-paper.png) no-repeat 516px 0;
	min-height:260px;
	padding: 30px 430px 30px 30px;
	position: relative;
	width: 460px;
}
* html #home #content #primary,
* html #blog #content #primary,
* html #general #content #primary {
	background: url(../images/photo-paper.gif) no-repeat 516px 0;
	height:260px;
}
#home #content #primary img.photo,
#blog #content #primary img.photo,
#general #content #primary img.photo {
	position: absolute;
	left: 533px;
	top: 16px;
}
#solutions #content {
	padding: 36px 0 75px 50px;
	width: 910px;
}
#content h1 {
	font-size: 2.57em;
}
#content h3 {
	margin-top: 2em;
}
#footer h2,
#form-response p.sending {
	overflow: hidden;
	background-repeat: no-repeat;
	height: 23px;
	text-indent: -9999em;
}

#form-response p.sending {
	background-image: url("../images/hd-sending.gif");
}
#enquiry-form #form-response .thank-you h2 {
	background-image: url("../images/hd-form-thanks.gif");
}
#enquiry-form #form-response .error h2 {
	background-image: url("../images/hd-form-error.gif");
}
#content {
	font-size: 1.4em;
	line-height: 1.4;
}
#content a {
	color: #360;
	text-decoration: underline;
}
#content ul {
	list-style-type: disc;
	padding: 0 0 0 2em;
}
#content ul.tick {
	list-style-type: none;
	padding: 0;
}
#content li {
/*	font-size: 1.2em;
	line-height: 1.7em;
	margin: 0 0 .5em;*/
}
#content li li {
	font-size: 1em;
}
#content li ul {
	list-style-type: circle;
	padding-top: 1em;
}
#content li ul ul {
	list-style-type: square;
}
#content ul.tick li {
	background: url(../images/tick.gif) no-repeat 1px 2px;
	padding: 0 0 0 2em;
}
#footer {
	background: url(../images/footer-shadow.gif) no-repeat 50% 0;
	margin: 0 auto;
}
* html #footer {
	height: 201px;
}
#footer-wrapper {
	background: #232e00 url(../images/footer-bg.jpg) no-repeat 0 0;
	margin: 0 auto;
	min-height: 201px;
	padding: 20px 25px;
	position: relative;
	width: 920px;
}
#footer h2 {
	color: #fff;
	margin-bottom: .5em;
}
#footer h2 span {
	color: #8aff33;
}
#footer p {
	font-size: 1.2em;
}
#holding #footer p a {
	color: #8aff33;
}
#holding #footer p {
	color: #8aff33;
	font-size: 1.2em;
}
#enquiry-form {
	background: url(../images/footer-divider.gif) no-repeat 100% 0;
	color: #fff;
	float: left;
	position: relative;
	width: 500px;
}
#enquiry-form a {
	color: #8aff33;
}
#enquiry-form h2 {
	background-image: url("../images/hd-enquiry-form.gif");
}
#enquiry-form .loading {
	background: url("../images/ajax-loader.gif") no-repeat 346px 64px;
	padding: 75px 0 0 90px;
}
#enquiry-form .thank-you {
	padding: 40px 0 0 90px;
}
#enquiry-form .error {
	color: #fff;
	padding: 20px 10px 0 40px;
}
#error-page #content ul,
#enquiry-form .error ul {
	list-style-type: disc;
	margin-bottom: 2em;
	padding: 0 0 0 15px;
}
#error-page #content ul li,
#enquiry-form .error ul li {
	font-size: 1.2em;
	margin: 0 0 .5em;
}
#additional-info {
	background: url(../images/footer-bar-bg.png) no-repeat 118px 0;
	color: #8aff33;
/*	float: right;*/
/*	margin-top: -104px;*/
position: absolute;
right: 0;
top: -83px;
	padding: 103px 20px 0 15px;
	width: 215px;
}
* html #additional-info {
	background: url(../images/footer-bar-bg.gif) no-repeat 118px 0;
}
#additional-info h2 {
	background-image: url("../images/hd-additional-info.gif");
}
#additional-info a {
	color: #fff;
}
#additional-info p.web-design a span {
	color: #8aff33;
}
#additional-info ul {
	margin: 0 0 2.5em;
}
#additional-info ul li {
	font-size: 1.2em;
	margin: 0 0 .8em;
}

#recent-blogs {
	color: #8aff33;
	float: left;
	padding: 0 0 0 20px;
	width: 155px;
}
#recent-blogs h2 {
	background-image: url("../images/hd-recent-blogs.gif");
}

#recent-blogs a {
	color: #fff;
}
#recent-blogs ul li {
	font-size: 1.2em;
	margin: 0 0 .8em;
}
#recent-blogs ul li p {
	font-size: 1em;
	line-height: 1.4;
	margin: 0;
}

/* Heroes
-------------------*/
#heroes {
	background:url(../images/hero-bottom.png) repeat-x 0 100%;
	padding:0 0 7px;
}
* html #heroes {
	background:url(../images/hero-bottom.gif) repeat-x 0 100%;
}
#heroes ul {
	background:url(../images/hero-body.png) repeat 0 0;
	list-style-type:none;
	margin:0;
	padding:0;
	zoom: 1;
}
* html #heroes ul {
	background:url(../images/hero-body.gif) repeat 0 0;
}
#heroes ul li {
	float:left;
	margin:0;
	padding:0 5px 10px;
	width:174px;
}
#heroes ul li h2 {
	background:#060 url(../images/green-paper-texture.gif) repeat 0 0;
	color:#fff;
	font-size:1.29em;
	font-weight:normal;
	margin:0 0 .5em;
	padding:2px 10px 3px;
}
#heroes ul li h2 a {
	color:#fff;
	text-decoration:none;
}
#heroes ul li p {
	font-size:.86em;
	margin:0;
	padding:0 10px;
}
#heroes ul li p.hero-text a {
	color:#333;
	text-decoration:none;
}

/* Sidebar
-------------------*/
#sidebar {
	background:url(../images/page-divider.png) repeat-y 1px 0;
	float:left;
	padding:7px 0 85px 15px;
	width:300px;
}
* html #sidebar {
	background:url(../images/page-divider.gif) repeat-y 1px 0;
}

/* Secondary Nav
-------------------*/
#content #secondary-nav {
	background: url(../images/secondary-nav-bg.png) repeat-y -876px 100%;
	font-size: 1.14em;
	left:14px;
	list-style-type:none;
	padding:0 0 3px;
	position:relative;
	width:292px;
}
#secondary-nav li {
	background:url(../images/secondary-nav-bg.png) no-repeat -584px 0;
	clear:left;
	float:left;
	padding:4px 0 0;
	width:100%;
}
#secondary-nav li.first-child {
	background:url(../images/secondary-nav-bg.png) no-repeat -1168px 0;
	padding:2px 0 0;
}
#secondary-nav a {
	background:url(../images/secondary-nav-bg.png) no-repeat -292px 0;
	color: #fff;
	display:block;
	padding:3px 0 0;
	text-decoration:none;
}
#secondary-nav a:hover {
	text-decoration:underline;
}
#secondary-nav a span {
	background: url(../images/secondary-nav-bg.png) repeat-y 0 0;
	display:block;
	padding:6px 0 9px 23px;
}
* html #content #secondary-nav,
* html #secondary-nav li,
* html #secondary-nav li.first-child,
* html #secondary-nav a,
* html #secondary-nav a span {
	background-image: url(../images/secondary-nav-bg.gif);
}

/* Acknowledgements
-------------------*/
#acknowledgement {
	padding:0 0 0 10px;
}
#acknowledgement h2 {
	font-size: 1.14em;
	font-weight: bold;
	padding:0 40px 0 20px;
}
#acknowledgement .quote {
	background:url(../images/quote-marks.gif) no-repeat -27px 0;
	color: #666;
	display:block;
	font-style: italic;
	padding:0 0 0 30px;
}
#acknowledgement .quote span {
	background:url(../images/quote-marks.gif) no-repeat 213px 100%;
	display:block;
	padding:0 30px 0 0;
	width:210px;
}
#acknowledgement .source {
	color: #333;
	display:block;
	padding:0 50px 0 40px;
}

/* Solutions
-------------------*/
#solutions #primary {
	float:left;
	padding:13px 35px 0 0;
	width:560px;
}
#solutions .photo-container {
	background:url(../images/small-photo-paper.png) no-repeat 0 0;
	float:right;
	min-height:214px;
	padding:11px 0 0 11px;
	position:relative;
	right:-20px;
	top:-10px;
	width:274px;
}
* html #solutions .photo-container {
	background:url(../images/small-photo-paper.gif) no-repeat 0 0;
	height:214px;
}

/* Contact Us Page
-------------------*/
#contact #content dl {
	font-size: 1.2em;
}
#contact #content dt {
	clear: left;
	float: left;
	font-weight: bold;
	line-height: 1.2em;
	margin: 0 0 1em;
	width: 125px;
}
#contact #content dd {
	float: left;
	line-height: 1.2em;
	margin: 0 0 1em;
	width: 400px;
}

/* Products and Services Page
------------------------------*/
#software #content h2,
#consultancy #content h2 {
	font-size: 2em;
}
#software #content ul,
#consultancy #content ul {
	list-style-type: disc;
	padding: 0 0 0 2em;
}
#software #content li,
#consultancy #content li {
	font-size: 1.2em;
	margin: 0 0 .5em;
}
table#product-prices {
	margin: 0 0 1em;
}
table#product-prices tr.odd {
	background: #d1ffb8;
}
table#product-prices th,
table#product-prices td {
	font-size: 1.2em;
	padding: .3em 1em .3em 0;
}
table#product-prices thead th {
	border-bottom: 1px solid #030;
}
table#product-prices .tp-rrp,
table#product-prices .tp-price {
	border-left: 1px solid #030;
	padding-left: 1em;
	text-align: right;
}
table#product-prices .tp-price {
	width: 100px;
}
table#product-prices thead th {
	font-weight: bold;
}

/* Terms and Conditions
------------------------------*/
.static #content h2 {
	color: #333;
	font-size: 1.2em;
	font-weight: bold;
	margin: 2em 0 1em 0;
	text-transform: none;
}

/******************************
 *  FORMS
 ******************************/
#enquiry-form dl {
	margin: 0;
	position: relative;
	width: 500px;
}
#enquiry-form dl dt {
	clear: left;
	float: left;
	width: 70px
}
#enquiry-form dl dd {
	margin: 0 0 6px;
	width: 264px
}
* html #enquiry-form dl dd {
	margin-bottom: 4px;
}
#enquiry-form dl .message {
	left: 280px;
	position: absolute;
	top: 0;
}
#enquiry-form dl dd.message {
	margin: 0;
	top: 1.5em;
	width: 203px;
}
#enquiry-form label {
	font-size: 1.2em;
	line-height: 1.2em;
}
#enquiry-form input.textbox {
	border: 1px solid #1d2600;
	font-size: 1.2em;
	height: 1.4em;
	padding: 1px 2px;
	margin: 0;
	width: 185px
}
#enquiry-form textarea {
	border: 1px solid #1d2600;
	font-size: 1.2em;
	height: 6.9em;
	margin: 0;
	padding: 1px 2px;
	width: 197px
}
#enquiry-form input.submit {
	margin: 0 0 0 281px
}

#form-response {
	position: absolute;
	left: 0;
	min-height: 180px;
	top: 20px;
	width: 500px;
}
* html #form-response {
	background: url(../images/blank.gif) repeat;
	height: 180px;
}

/******************************
 *  CLEARING
 ******************************/
#page-wrapper:after,
#nav-bar:after,
#heroes ul:after,
#content #secondary-nav:after,
.clear-float:after {
    content: ""; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
* html .clear-float {
	zoom: 1;
}
