/* RESET */
* {
	padding:0;
	margin:0;
	list-style:none;
	outline:none;
	text-decoration:none;
}

/* GRID LAYOUT */
.grid-1-1 {
	width:900px;
	margin:0 30px;
}
.grid-3-4 {
	width:660px;
	margin:0 30px;
	float:left;
}
.grid-2-3 {
	width:580px;
	margin:0 30px;
	float:left;
}
.grid-1-2 {
	width:420px;
	margin:0 30px;
	float:left;
}
.grid-1-3 {
	width:260px;
	margin:0 30px;
	float:left;
}
.grid-1-4 {
	width:180px;
	margin:0 30px;
	float:left;
}
.grid-1-6 {
	width:100px;
	margin:0 30px;
	float:left;
}

/* REUSABLE PRESENTATION */
.section, .header {
	overflow:auto;
}
.group {
	clear:both;
}
.first {
	margin-left:0 !important;
}
img {
	border:none;
}
blockquote {
	background:url(../graphics/quote.png) no-repeat;
	padding:0 0 0 1.5em;
}
p.quote {
	margin-bottom:0;
}
p.cite {
	text-align:right;
	padding-right:1em;
}
cite:before {
	content:'\2015';
}
input.button {
	cursor:pointer;
}
.text-field {
	border:0.1429em solid #C5C9C3;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	border-radius:3px;
}
.text-field:focus {
	-webkit-box-shadow:0 0 2px rgba(0,0,0,0.65);
	-moz-box-shadow:0 0 2px rgba(0,0,0,0.65);
	box-shadow:0 0 2px rgba(0,0,0,0.65);
}

/* OTHER PRESENTATION */
body {
	background:#F6F1E9 url(../graphics/body_bg.png) repeat-x;
}
#container {
	width:960px;
	margin:0 auto;
}
.site-header {
	margin-top:1.5em;
	padding:0 10px;
	overflow:hidden;
}
.site-header img, h1 {
	float:left;
}
.site-header img {
	-webkit-transition:all 1s ease-in-out;
	-moz-transition:all 1s ease-in-out;
	-o-transition:all 1s ease-in-out;
	transition:all 1s ease-in-out;
}
.site-header img:hover {
	-webkit-transform:rotate(360deg);
	-moz-transform:rotate(360deg);
	-o-transform:rotate(360deg);
	transform:rotate(360deg);
}
p.vcard {
	float:right;
}
p.vcard em {
	display:block;
	float:left;
	width:15px;
	margin-right:4px;
	text-indent:-9999px;
	background:url(../graphics/tel.png) left 50% no-repeat;
}
.site-nav, .button, .site-footer {
	border:none;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
	-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.5);
	-moz-box-shadow:0 1px 2px rgba(0,0,0,0.5);
	box-shadow:0 1px 2px rgba(0,0,0,0.5);
}
.site-nav {
	margin-top:1.5em;
	padding:0 30px;
	overflow:hidden;
	position:relative;
	z-index:99;
}
body.home li.home, body.about li.about, body.faq li.faq, body.contact li.contact, body.listings li.listings {
	background:url(../graphics/nav_selected.png) bottom no-repeat;
}
.site-nav, .button, .site-footer {
	background-image:-webkit-gradient(linear,left top,left bottom,
		color-stop(0,rgba(255,255,255,0.35)),
    	color-stop(0.49,rgba(255,255,255,0.1)),
    	color-stop(0.49,rgba(255,255,255,0)),
   		color-stop(1,rgba(255,255,255,0)));
	background-image:-moz-linear-gradient(center top,
		rgba(255,255,255,0.35) 0%,
		rgba(255,255,255,0.1) 49%,
		rgba(255,255,255,0.0) 49%,
		rgba(255,255,255,0) 100%);
}
.site-nav ul {
	margin-bottom:0;
}
.site-nav ul li, ul.internal {
	float:left;
}
.site-nav ul.internal li {
	margin-left:25px;
}
.site-nav ul li {
	padding:0.75em 0;
}
.site-nav a, .site-nav a:hover, .button, .button:hover, .mini-button, .mini-button:hover, .main a, .main a:hover, .text-field, .text-field:focus {
	-webkit-transition:all 0.3s ease-in-out;
	-moz-transition:all 0.3s ease-in-out;
	-o-transition:all 0.3s ease-in-out;
	transition:all 0.3s ease-in-out;
}
.privacy-policy .main ul {
	margin-left:3em;	
}
.privacy-policy .main li {
	list-style-type:disc;
}
ul.social {
	float:right;
}
li.home a {
	width:17px;
}
li.home a, li.twitter a, li.facebook a {
	padding-top:1.5em;
}
li.home a, li.twitter a, li.facebook a {
	display:block;
	height:0 !important;
	overflow:hidden;
	float:left;
	opacity:0.65;
}
li.home a:hover, li.twitter a:hover, li.facebook a:hover {
	opacity:1;
}
li.home a {
	background:url(../graphics/home.png) left 35% no-repeat;
}
li.facebook {
	margin-left:4px;
}
li.twitter a, li.facebook a {
	width:25px;
}
li.twitter a {
	background:url(../graphics/twitter.png) left 50% no-repeat;
}
li.facebook a {
	background:url(../graphics/facebook.png) left 50% no-repeat;
}
.main {
	margin-bottom:1.5em;
	position:relative;
}
.home .intro {
	width:490px;
	margin:0 45px;
	padding:3em 380px 4.5em 0;
	background:url(../graphics/red_van.png) right bottom no-repeat;
}
.button {
	margin-right:6px;
	opacity:0.9;
}
.button:hover, .button:active {
	opacity:1;
}
.button:active {
	position:relative;
	top:1px;
}
.main .header {
	border-bottom:0.125em solid #C5C9C3;
	margin-bottom:1.375em;
}
.main .header h3 {
	float:left;
}
.main .header .meta {
	float:right;
}
.mini-button {
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	border-radius:3px;
	padding:0.3em;
}
.meta .mini-button {
	margin-left:10px;
}
.about-us p {
	margin-bottom:1.5em;
}
.areas li {
	background:url(../graphics/pin.png) 0 50% no-repeat;
	padding-left:20px;
}
.listing {
	position:relative;
	overflow:visible;
	margin-top:1.5em;
}
.listing img {
	display:block;
	border:6px solid;
	border-color:#99A298;
	-webkit-border-radius:5px;
	-moz-border-radius:5px;
	border-radius:5px;
	margin-bottom:0.75em;
}
.listing:hover img {
	border-color:rgba(103,119,108,1);
/*	border-color:#66776C;*/
}
.listing.free:before {
	content:url(../graphics/free.png);
	position:absolute;
	top:-5px;
	left:99px;
	z-index:99;
}
.listing p {
	text-align:center;
}
.listing p .price {
	display:block;
}
.faqs div:target h4 {
	display:inline;
}
.faq-links ol {
	overflow:auto;
}
.faq-links li {
	float:left;
}
.faqs p {
	margin-bottom:0;
}
p.return {
	margin-bottom:1.5em;
}
textarea.text-field {
	margin:0.2857em 0 1.7143em 2px;
	width:408px;
}
input.text-field {
	margin:0.2857em 0 2.2857em 2px;
	width:248px;
}
input#cemail, input#cantispam {
	margin-bottom:0.5714em;
}
input.button {
	margin-left:2px;
}
.contact-details .tel {
	display:block;
}
em.error {
	display:inline-block;
	background:url(../graphics/cross.png) 0 50% no-repeat;
	width:22px;
	height:2.25em;
	text-indent:-9999px;
	margin-left:5px;
	margin-top:0.25em;
	vertical-align:top;
}
em.success {
	background:url(../graphics/tick.png) 0 50% no-repeat;
}
.site-footer p {
	padding:1em 0;
	margin:0 30px;
	background:url(../graphics/logo_small.png) right 50% no-repeat;
}

/* BEFORE AND AFTER PHOTOS */
.before-and-after {
	overflow:visible;
}
.before-and-after ul {
	margin-bottom:1.5em;
}
.before-and-after li {
	padding-bottom:26px;
	-webkit-border-radius:2px;
	-moz-border-radius:2px;
	border-radius:2px;
	-webkit-box-shadow:0 0 6px rgba(0,0,0,0.25);
	-moz-box-shadow:0 0 6px rgba(0,0,0,0.25);
	box-shadow:0 0 6px rgba(0,0,0,0.25);
	background-color:#FFF;
}
.before-and-after .before {
	background:#FFF url(../graphics/before.png) bottom no-repeat;
}
.before-and-after .after {
	background:#FFF url(../graphics/after.png) bottom no-repeat;
}
.before-and-after li {
	-webkit-transform:rotate(-2deg);
	-moz-transform:rotate(-2deg);
	transform:rotate(-2deg);
}
.before-and-after .alt li {
	-webkit-transform:rotate(2deg);
	-moz-transform:rotate(2deg);
	transform:rotate(2deg);
}
.before-and-after img {
	display:block;
	border:8px solid #FFF;
	background:#FFF;
}
.before-and-after .caption {
	display:none;
}

/* COLOR */
body {
	color:#66776C;
}
a {
	color:#798e1e;
}
a:hover {
	color:#556415;
}
h1 a, h1 a:hover, h1 a:visited, p.vcard, a[href^=tel] {
	color:#66776C;
}
h1, p.vcard {
	text-shadow:0 1px 0 rgba(255,255,255,0.75);
}
.site-nav {
	background-color:#1b807d;
}
.site-nav, .site-nav a {
	color:#BBD1D2;
	text-shadow:0 -1px 1px rgba(0,0,0,0.2);
}
.site-nav a:hover {
	color:#FFF;
	text-shadow:0 -1px 1px rgba(0,0,0,0.25);
}
.main {
	background-color:#FFF;
	background-image:-webkit-gradient(linear,left top,left 600,
		color-stop(0,rgba(246,241,233,0)),
   		color-stop(1,rgba(246,241,233,1)));
	background-image:-moz-linear-gradient(center top,
		rgba(246,241,233,0) 0%,
		rgba(246,241,233,1) 600px);
}
h2, h4 {
	color:#1b807d;
}
.button {
	text-shadow:0 -1px 1px rgba(0,0,0,0.2);
}
a.button:hover, a.button:active {
	color:#FFF;
}
.button.secondary {
	color:#CAD0CC;
	background-color:#68776C;
}
.button.primary {
	color:#D7E4A6;
	background-color:#798e1e;
}
input.button:hover {
	color:#FFF;
}
h3 {
	color:#67776C;
}
.mini-button {
	color:#FFF;
	background:#A5B368;
	background:rgba(121,142,30,0.65);
}
.mini-button:hover {
	color:#FFF;
	background:#90B000;
	background:rgba(121,142,30,1);
}
.required-notice {
	color:#bd2832;
}
.faqs div:target h4 {
	background:rgba(121,142,30,0.35);
}
.text-field {
	color:#66776C;
}
.site-footer, .site-footer a {
	color:#CAD0CC;
}
.site-footer {
	background-color:#68776C;
}
.site-footer p {
	text-shadow:0 -1px 1px rgba(0,0,0,0.2);
	padding:0.8572em 0;
}

/* BASELINE GRID */
html>body {
	font-size:16px;
}
p {
	font-size:1em;
	line-height:1.5em;
	margin-bottom:1.5em;
}
h1 {
	font-size:1.25em;
	line-height:1.2em;
	margin:1.2em 0 1.2em 10px;
}
p.vcard {
	font-size:1em;
	line-height:1.5em;
	margin:1.625em 0 1.375em 0;
}
h2 {
	font-size:2.25em;
	line-height:1.3333em;
	margin:1em 0 0.3333em 0;
}
.button {
	font-size:1.125em;
	line-height:1.125em;
	padding:0.3333em 10px;
	margin:0.3333em 0 0.3333em 0;
}
h3 {
	font-size:1.5em;
	line-height:1em;
	margin:0.5em 0;
}
h4 {
	font-size:1.25em;
	line-height:1.2em;
	padding-bottom:0;
}
ul, ol, dl {
	margin-bottom:1.5em;
}
li, dt, dd {
	font-size:1em;
	line-height:1.5em;
}
.meta {
	font-size:0.875em;
	line-height:1.7143em;
	margin:1.2142em 0 0.5em 0;
}
.site-nav ul li {
	line-height:1.5em;
}
.listing p, p.cite {
	font-size:0.875em;
	line-height:1.7143em;
	margin-top:0.0714em;
	margin-bottom:1.6429em;
}
.text-field {
	font-size:0.875em;
	line-height:1.7143em;
	padding:0.2857em;
}
input.button {
	line-height:1.3333em;
}
.site-footer p, p.return, p.additional-info {
	font-size:0.875em;
	line-height:1.7143em;
	margin-bottom:1.7143em;
}

/* TYPOGRAPHY */
body {
	font-size:100%;
}
body, .text-field {
	font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
h1, p.vcard, p.vcard strong {
	font-family:MuseoSlab-500,sans-serif;
	letter-spacing:0.05em;
	font-weight:normal;
}
h1 {
	text-transform:uppercase;
}
h2, h3, h4, .site-nav, .button {
	font-family:MuseoSans-500,sans-serif;
	font-weight:normal;
}
p {
}
.button, .listing p .price, cite, .contact-details .tel {
	font-weight:normal;
}
.required-notice strong {
	text-transform:uppercase;
	font-weight:normal;
	letter-spacing:0.1em;
}
p.additional-info em {
	font-style:normal;
}
p.quote {
	font-family:Georgia, Times, "Times New Roman", serif;
	font-style:italic;
}
.site-footer a {
	font-weight:bold;
}

/* IE9 */
html.ie9 .main { /* IE9's gradient faff */
	filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#ffffff',EndColorStr='#F6F1E9');
}
html.ie9 .button { /* IE9 doesn't like opacity and hides the box-shadow sometimes */
	opacity:1;
}
html.ie9 input.text-field { /* IE9 seems to ignore padding-bottom and/or line-height */
	height:1.7143em;
}
html.ie9 textarea.text-field {
	height:10.2858em;
}

/* IE8 */
html.ie8 #container {
	margin-top:4px;
	padding-top:50px;
	background:url(../graphics/upgrade.gif) 50% 0 no-repeat;
}
html.ie8 .before-and-after li {
	border:1px solid #C5C9C3;
}

/* IE7 */
html.ie7 li.home a, html.ie7 li.twitter a, html.ie7 li.facebook a {
	padding-top:1.5em;
}
html.ie7 li.home a {
	background-position:left 10%;
}
html.ie7 li.twitter a, html.ie7 li.facebook a {
	background-position:top left;
}

/* IE6 */
html.ie6 .site-nav {
	clear:both;
}
html.ie6 h1 a, html.ie6 h1 a:hover {
	color:#66776C;
}
html.ie6 .site-nav {
	height:3em;
}
html.ie6 .main {
	height:100%;
}
html.ie6 .grid-1-2, html.ie6 .grid-1-3, html.ie6 .grid-1-4, html.ie6 .grid-2-3, html.ie6 blockquote {
	display:inline;
}
html.ie6 .required-notice {
	clear:both;
}
html.ie6 .main .header {
	height:3.125em;
}
