/*====================================================================*/
/* CurlyWeb */
/* Created 2009 */
/* Global Screen styles */
/*====================================================================*/

/* 
--- PLEASE NOTE ---

Please put any Internet Explorer specific styles/hacks/fixes in 'ie.css'.

Please keep tidy :)

*/
	
/* ------------------------------------------------------------------ */
/* =Globals */
/* ------------------------------------------------------------------ */

/* Resets */

* {margin: 0; padding: 0;}
img {border: 0;}
hr {display: none;}
acronym, abbr {border-bottom: 1px dotted; cursor: help;}

/* Clearfixes */

.clearfix:after,
div.wrap:after,
div.form-block:after,
span.field:after {display: block; clear: both; visibility: hidden; height: 0; content: ".";}

/* Links */

a {
	font-weight: normal;
	color: #1980b0;
	text-decoration: underline;
	}

a:hover,
a:focus {text-decoration: none;}

/* General */

.clear {clear: both;}
.small-text {font-size: 0.85em;}
.hide-1 {display: none;} /* For legends and any element you want to hide on the page - doesn't work with table cells and not good if you need screenreaders to read the content */
.hide-2 {position: absolute; left: -1000em;} /* To remove elements off-screen and remove their effect on other elements in the document - doesn't work with table cells */
.hide-3 {text-indent: -1000em;} /* To hide text in a table cell - still read by screen readers */
.hide-4 {visibility: hidden;} /* To hide an element and its contents but still hold its structure on the page */
.hide-5 {visibility: hidden; text-indent: -1000em;} /* To hide an element and its contents but still have its structure have a partial effect on its surrounding elements */


#content p.divide {
	padding: 35px 0 0 0;
	background: url(/graphics/divide-1.gif) no-repeat 50% 0;
	}
	
/* ------------------------------------------------------------------ */
/* =Structure */
/* ------------------------------------------------------------------ */

/* Body */

body {
	background: #e8e9e0;
	text-align: left;
	font: normal 81.3%/1.3 "Lucida Grande", Verdana, Geneva, Sans-Serif;
	color: #061721;
	}
	
/* Wraps */

div.wrap {
	margin: 0 auto;
	width: 960px;
	}
	
/* Columns */

#column-1 {
	float: left;
	width: 500px;
	}
	
#column-2 {
	float: right;
	width: 415px;
	}

/* ------------------------------------------------------------------ */
/* =Header */
/* ------------------------------------------------------------------ */

#header {
	height: 223px;
	background: url(/graphics/header-bg.gif) repeat-x 50% 0;
	}

#header div.wrap {
	position: relative;
	padding: 50px 0 0 0;
	}
	
#header h1 {
	margin: 0 0 0 95px;
	width: 296px;
	height: 100px;
	background: url(/graphics/logo.png) no-repeat;
	text-indent: -1000em;
	}
		
#header p {
	position: absolute;
	top: 9px;
	right: 150px;
	width: 128px;
	}
		
#header p a {
	display: block;
	height: 47px;
	background: url(/graphics/contact-tab.png) no-repeat;
	text-indent: -1000em;
	outline: none;
	}	
	
#header p a:hover,
#header p a:focus {background-position: 0 100%;}

/* ------------------------------------------------------------------ */
/* =Content */
/* ------------------------------------------------------------------ */

#content {
	padding: 30px 0 20px 0;
	background: #f8faf2;
	}

/* General formatting */

.formatting p,
.formatting ul,
.formatting ol,
.formatting dl,
.formatting address,
.formatting blockquote {margin-bottom: 1.5em;}

.formatting li {margin: 2px 0; line-height: 1.2;}
.formatting dt {margin: 0.5em 0 0; font-weight: bold;}

address {line-height: 1.2; font-style: normal;}
ul {margin-left: 15px;}
ul ul {margin: 0.5em 0;}	
ol {margin-left: 1.6em;}

/* Headings */

h2, h3,	h4, h5, h6 {
	margin: 0 0 0.8em 0;
	font: normal 1em/1.1 Georgia, Times, "Times New Roman", Serif;
	color: #000;
	}
	
h2 {font-size: 1.8em;}
h3 {font-size: 1.5em;}
h4 {font-size: 1.3em;}	
h5 {font-size: 1.1em;}	

/* Services popup box */
	
h2.services {
	margin: 0 0 20px 0;
	padding: 0 0 40px 0;
	background: url(/graphics/divide-1.gif) no-repeat 50% 100%;
	text-align: center;
	font-size: 2.3em;
	letter-spacing: -0.03em;
	}
	
h2.services em span {color: #578c03;}	
	
h2.services strong {
	position: relative;
	border-bottom: 2px dotted;
	font-weight: normal;
	color: #037ab1;
	cursor: help;
	}
	
h2.services strong:hover {border-bottom-style: solid;}
	
h2.services strong.popup span {
	display: none;
	position: absolute;
	bottom: 30px;
	left: -80px;
	right: -80px;
	z-index: 10;
	-moz-border-radius: 7px;
	-webkit-border-radius: 7px;
	border-radius: 7px;
	border: 7px solid rgba(133,176,196,0.4);
	padding: 10px;
	text-align: left;
	font: 0.5em "Lucida Grande", Verdana, Geneva, Sans-Serif;
	background-color: rgba(13,42,59,0.95);
	-moz-background-clip: padding;
	-moz-background-origin: padding;
	-webkit-background-clip: padding;
	-webkit-background-origin: padding;
	background-clip: padding-box;
	background-origin: padding-box;
	color: #cff44f;
	}
	
h2.services strong.popup:hover span {display: block;}

/* Portfolio thumbs */
	
ul.portfolio {
	margin: 0;
	list-style: none;
	}
	
ul.portfolio li {
	margin: 0 0 10px 0;
	padding: 8px 10px 13px 10px;
	background: url(/graphics/image-border.gif) no-repeat;
	}
	
ul.portfolio li a {
	display: block;
	position: relative;
	height: 80px;
	background-repeat: no-repeat;
	outline: none;
	text-decoration: none;
	}

ul.portfolio li a span.text {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border-top: 1px solid rgba(13,42,59,0.3);
	padding: 8px 10px;
	background: url(/graphics/portfolio-text-bg.png);
	line-height: 1.1;
	color: #55bbf8;
	cursor: pointer;
	}

ul.portfolio li a:hover span,
ul.portfolio li a:focus span {display: block;}

ul.portfolio li a span.text strong {
	display: block;
	margin: 0 0 3px 0;
	font-weight: normal;
	font-size: 1.3em;
	color: #fff;
	}

ul.portfolio li a span.text em {
	position: absolute;
	right: 8px;
	bottom: 8px;
	font-style: normal;
	color: #cff44f;
	}

/* ------------------------------------------------------------------ */
/* =Footer */
/* ------------------------------------------------------------------ */
	
#footer {
	border-top: 1px solid #dfe0d5;
	padding: 20px 0;
	}

#footer ul {
	float: right;
	margin: 0;
	list-style: none;
	}

#footer li {
	display: inline;
	margin: 0 0 0 15px;
	}

#footer p {margin: 0;}

/* ------------------------------------------------------------------ */
/* =Forms */
/* ------------------------------------------------------------------ */

/* Forms */

form {margin: 0 0 1em 0;}

/* Fieldsets */

fieldset {border: 0;}
fieldset.contact {width: 94%;}
	
/* Legends */

legend {display: none;}

/* Structure */

div.form-block {margin: 0.7em 0;}
	
span.label {
	float: left;
	margin: 0 10px 0 0;
	padding: 4px 0 0 0;
	width: 25%;
	text-align: right;
	}
	
span.field {
	display: block;
	overflow: hidden;
	padding: 0 5px 0 0;
	}
	
/* Labels */

label {line-height: 1.2;}
	
div.form-block label {
	display: block;
	position: relative;
	}

/* Form elements */
			
input,
textarea,
select {
	vertical-align: middle;
	font: 1em "Lucida Grande", Verdana, Geneva, Sans-Serif;
	color: #111;
	}

input.text,
textarea,
select {
	border: 1px solid;
	border-color: #b5b5b5 #c9c9c9 #e2e2e2 #c9c9c9;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
	padding: 3px 0 3px 2px;
	background: #fff;
	}

span.field input.text,
span.field textarea,
span.field select {width: 100%;}
		
select {padding: 2px;}
option {padding: 0 2px;}

/* Validation */

span.validation {
	position: absolute;
	top: 0;
	right: -30px;
	}

span.validation span.text {
	position: absolute;
	top: -5px;
	left: 105%;
	-moz-border-radius: 7px;
	-webkit-border-radius: 7px;
	border-radius: 7px;
	padding: 8px 10px 8px 20px;	
	background-color: #f8f9f3;
	font-weight: bold;
	white-space: nowrap;
	}
	
div.form-block.error {color: #a60907;}
div.form-block.error input.text,
div.form-block.error select,
div.form-block.error textarea {
	border-color: #99201E;
	background-color: #fff7d7;
	}
	
/* Buttons */

a.button,	
input.button {
	border: 0;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	padding: 3px 5px;
	background: #337cac;
	color: #fff;
	text-decoration: none;
	cursor: pointer;
	}

a.button:hover,
a.button:focus,
input.button:hover,
input.button:focus {background: #1B5172;}

div.form-buttons {overflow: hidden;}
	
input.right {float: right;}

/* ------------------------------------------------------------------ */
/* =Modal/overlay box */
/* ------------------------------------------------------------------ */

#mask {
	display: none; 
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000;
	background: url(/graphics/structure/overlay-bg.png);
	}

#overlay-wrap {
  display: none; 
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2000;
	}

#overlay-content {
	position: relative;
	margin: 10% auto 0 auto;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	padding: 20px 25px;
	width: 400px;
	background: #f8f9f3;
	}

#overlay-content a#modal-close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 19px;
	height: 19px;
	background: url(/graphics/structure/modal-close.gif) no-repeat;
	text-indent: -1000em;
	outline: none;
	}

#overlay-content a#modal-close:hover,
#overlay-content a#modal-close:focus {background-position: 0 100%;}