*************************************************************************/


/** Global **/
/* technique explained @ http://leftjustified.net/journal/2004/10/19/global-ws-reset/  */
* {
    margin:0;
    padding:0;
}
h2 {
	color: #8b9f86;
	font: bold 1.75em/1.4 "lucida bright", georgia, times, serif;
	margin: 0px;
}
h3 {
	font:bold 1.25em/1.6 "Lucida Bright", Georgia, Times, serif;
	color:#845697;
}
/* links */
a {
	color:#4C53E0;
}
a:focus, a:hover, a:active {
	color:#EB8518;
}
/** end global **/

/* setting the base font size to 90% allows even scaling by the user while keeping font-size 'xx-small' legible */
body {
    background:#F7F7F7 url(img/body.jpg) repeat-x left bottom;
	font-size:90%;
}

.pricing {font-size: 11px}

/********
the #outer div is the key element to the flexibility of this design.
By setting maximum and minimum widths in 'em', whilst the width is set in '%', 
we effectively create the perfect combination of 'fluid' and 'elastic' layouts.
Javscript is used to add support for min/max width in IE

Any elements inside #outer that require a set width or horizontal margins/padding use the '%' unit for that value.
This means that regardless of what causes the #outer div to expand (font size or screen size), 
the content will seemlessly re-flow to fill that space.
*********/
#outer {
    margin:0 auto;
	width:94%;
    min-width:40em;
    max-width:70em;
	border:10px solid #fff;
	border-width:0 10px;
    background:#fff;
}

/* float clearing - technique explained @ http://www.csscreator.com/attributes/containedfloat.php */
ul#nav:after, #outer:after, #sub:after, form:after, form div:after {
    content:".";
    display:block;
    visibility:hidden;
    clear:both;
    height:0;
}
* html #nav, * html #content, * html form, * html form div {
	height:1%;
}

/** hiding of elements for assistive devices (screen readers etc) **/
ul#access, .off {
	position:absolute;
	left:-1000em;
	top:-1000em;
}
/* <hr />'s added to mark-up for browsers without CSS */
hr {display:none}

/** Title **/
#header {
	background:#EBEBE9 url(images/marble.jpg) repeat-x left bottom;
	border:1px solid #BBD6B2;
}
#header h1 {
    font:bold 2em/1.5 Georgia, Times, serif; /* line-height allows for image of buildings */
    letter-spacing:1pt;
	color:#845697;
}
#header h1 a {
	color:#845697;
	text-align: center;
	text-decoration:none;
}
/** Navigation **/
ul#nav {
   	list-style:none;
   	margin:3px 0 1em;
	text-align:center;
   	background:#EAF0E6;
   	padding-bottom:2px;
   	border-top:2px solid #D7E7D3;
   	border-bottom:2px solid #845697;
}
#nav li {
    list-style:none;
    width:20%;
    float:left;
	display:block;
    text-align:center;
	background:#EAF0E6;
}
* html #nav li {
	/** IE/PC hack due to haphazard line breaks when combined widths = 100% **/
	\width:19.9%;
}
#nav a {
    display:block;
	font:bold 0.8em 'Lucida Grande', Arial, tahoma, verdana, sans-serif;
	text-decoration:none;
	color:#845697;
	margin:1px;
}
#nav a:focus, #nav a:hover, #nav a:active {
	border:1px inset #8B9F86;
	margin:0;
	color:#EB8518;
	text-decoration:underline;
}
/** current menu item **/
ul#nav li#active {
	background:#F6F4F8;
	font:bold 1em/1.8 'Lucida Grande', Arial, tahoma, verdana, sans-serif;
	color:#000;
	text-decoration:underline;
}


/** Content Containers **/
#sub, #right {
	font: 1em/1.5 'Lucida Grande', arial, verdana, sans-serif;
	word-spacing:.1em;
	margin-bottom:1em;
}

/******
div#sub is an extra wrapper, which allows the center column to come first in the source. 
#sub is floated left, with #center -the content column- nested within and floated to the right.
concept from http://www.positioniseverything.net/piefecta-rigid.html
******/
#sub {
	width:74%;
	float:left;
	position:relative;
}

/***
Containers should be named according to what they contain. not where they sit in the layout.
To make identifying each column more simple, I have named them according to their position.
***/
#center {
	width:65%;
	float:right;
}
#left {
	border-bottom: 9px solid #845697;
	float: left;
	outline-color: #003333;
	width: 33%;
}
#right {
	width:25%;
	float:right;
}
 
 /** Main Col Contents **/
#center p {
	margin:.5em 2% .5em 0;
}
img.img-right {
	float:right;
}
/**Gallery Styles **/
h4 {
	color: #8b9f86;
	margin: 0px;
	text-align: left;
	text-transform: capitalize;
}

one-image {
	margin: 0px;
	text-align: center;
	text-shadow: #666600;
}

/** Left Col Contents**/
#left h2 {
	color:#845697;
	font-size:1.5em;
}
#left p {
	font-size:.9em;
}
a.serviceBtn {
	display:block;
	clear:right;
	padding:.1em 2%;
	margin:.5em 0;
	text-align:center;
	text-decoration:none;
	color:#845697;
	font:bold 1em/2 'Lucida Grande', arial, tahoma, verdana, sans-serif;
	background:#F6F4F8 left bottom;
	border:2px outset #845697;
}
a.serviceBtn:focus, a.serviceBtn:hover, a.serviceBtn:active {
	text-decoration:underline;
	border-style:inset;
}

/** Right Col Contents **/
#right {
	font-size:.9em;
}
#right h2 {
	font-size:1.2em;
}

/** Pricing **/
.priceList th {
	background:#EEFAEA;
	border:1px solid #C8DCC2;
	margin:1em 0;
}
.priceList h2 {
	color:#3A4F3B;
	font-size: 120%;
	margin:.1em 2%;
}
.offerList {
	background:#D6E7EF;
	border:1px solid #C8DCC2;
	margin:1em 0;
}
.offerList h2 {
	color:#3A4F3B;
	margin:.1em 2%;
}
.offerList ul {
	margin:.01em 0.005%;
	list-style:none;
}
.offerList ul li {
	list-style:none;
	padding-left:20px;
	margin:.01em 0;
	background:transparent url(images/bullet_yellow.png) no-repeat 2px 50%;
}
/** Forms **/
form {
	margin:1em 0;
}
legend {
	font:bold 1.1em/1.5 'Lucida Grande', Arial, tahoma, verdana, sans-serif;
	color:#3A4F3B;
}
input.txt {
	width:98%;
	margin:0 auto .5em;
	border:2px solid #A5ACB2;
	background:#fff;
}
input.btn {
	background:#BED2B8 url(images/blockwall.jpg) repeat-x;
	padding:.1em;
	color:#fff;
	font:bold 1em/1.4 "Lucida Bright", Georgia, Times, serif;
	cursor:pointer;
}
input:focus, input.focus {
	border-style:inset;
}
label {
	display:block;
	margin-top:.5em;
}
input.readonly
{
    background-color: beige;
    color: blue;
    font-family: Arial;
    font-weight: 550;
    width: 100px;
    border-top-style: none;
    border-right-style: none;
    border-left-style: none;
    border-bottom-style: none;
    text-align: right;
}
/* search */
#search fieldset {
	border:1px solid #C8DCC2;
	padding:.3em .5em;
}
/* subscribe */
#subscribe {
	background:#F6F4F8;
	border:1px solid #B2A9B9;
	
}
#subscribe div {
	margin:.3em .5em;
}
#subscribe h2 {
	color:#845697;
}

/** Footer **/
#footer {
	clear:both;
	margin-top:1em;
	font:.9em/1 'Lucida Grande', Arial, tahoma, verdana, sans-serif;
	border-top:3px double #C8DCC2;
}
#footer p {
	margin:1em 1em 1em 0;
	float:right;
	width:30%;
	text-align:right;
}
#footer ul {
	list-style:none;
	margin-top:.7em;
}
#footer li {
	display:inline;
	border-right: 1px solid #C8DCC2;
	padding:.3em 2%;
}
