/* Common */
body,table,input,select,textarea { 
  font-family: arial, sans-serif; 
  font-size: 100%;
  line-height: 1.125em;
}

* {
  margin: 0;
  padding: 0;
  border: 0;
  max-width: 100%;
}

body {
  color: #000;
  background:#007336 url('../images/i-bg.gif') repeat-x;
}

h1 {
  margin: 0 0 1em 0;
}

h2 {
  margin: 1em 0;
}

p { 
  margin: 1em 0;
  font-size: 0.875em;
}
p:empty {
	display: none;
}

dl.col dt { 
  float: left; 
  width: 6em;
  font-weight: bold;
}

dl.col dd { 
  margin-left: 7em;
}

.clear:after {
  content: ".";
  height: 1px;
  display: block;
  clear: both;
  visibility: hidden;
}

.clr {
  clear: both;
}

.right {
  float: right;
}

.left {
  float: left;
}

.column-side,
.column-side-other{
	float: left;
	box-sizing: border-box;
}
.column-side {
	width: 340px;
}
.column-side-other {
	width: 577px;
}
.gutter-to-right {
	padding-right: 2em;
	box-sizing: border-box;
}

/* Layout */

#constrain {
  width: 997px;
  margin: 0 auto;
  position:relative;

  max-width: 100%;
}
.corners-btm {
	width: 997px;
	height: 33px;
	background: transparent url('../images/i-corners-btm.gif') no-repeat;

	max-width: 100%;
}
.corners-top {
	width: 997px;
	height: 33px;
	background: transparent url('../images/i-corners-top.gif') no-repeat;

	max-width: 100%;
}
.corners-header {
	background: transparent url('../images/i-corners-header.gif') no-repeat;
}
#header {
	background: transparent url('../images/i-mid.png') repeat-y;
	height: 300px;
}
	#logo {
		margin: 25px 0 0 35px;
		position:absolute;
	}

	#header iframe {
		position:absolute;
		left:140px;
		top:270px;
		border:none;
		overflow:hidden;
		width:275px;
		height:21px;
	}

	#hero {
		position:absolute;
		top:12px;
		right:20px;
	}

	#hero-caption {
		color:#fff;
		position:absolute;
		bottom: 25px;
		left: 20px;
		z-index: 2;
		font-size:20px;
		font-style:italic;
		font-weight:bold;
	}
#nav {
	background: transparent url('../images/i-nav.gif') no-repeat;
	width:994px;
	height:43px;
	padding: 2px 0;
	margin: 0 auto;

	max-width: 100%;
}

	.nav-base .toggle {
		display: none;
	}

	#nav ul {
		margin: 0 35px;
		background: transparent url('../images/i-nav-div.gif') no-repeat;
		list-style-type:none;
		padding-left: 1px;
		height:43px;
	}
	#nav ul li {
		float:left;
		background: transparent url('../images/i-nav-div.gif') no-repeat right top;
		padding-right:1px;
		position:relative;
	}
	#nav ul li a {
		display:block;
		background: transparent url('../images/i-nav-bg.gif') repeat-x left -200px;
		text-decoration:none;
		color:#fff;
		font-size:1em;
		padding: 12px 25px;
	}
	#nav ul li a:hover, #nav ul li.sfhover a, #nav ul li:hover a {
		background-position: left top;
	}
	/* Second Level Nav */
	#nav ul ul {
		position:absolute;
		z-index:1000;
		left: -10000em;
		background:#2ea75e;
		margin:-2px auto 0 auto;
		height:auto;
		min-width:100px;
		padding: 0 0 5px 0;
	}
	#nav ul li.sfhover ul, #nav ul li:hover ul {
		left: 0;
	}
	#nav ul ul li {
		float:none;
		background:none;
	}
	#nav ul ul li a {
		padding: 6px 25px 6px 25px;	
		font-size:12px;
		background:none;
		white-space: nowrap;
	}
	#nav ul ul li a:hover {
		background:#38b167;
	}
	
#mid {
	background: transparent url('../images/i-mid.gif') repeat-y;
}
#content {
	min-height:300px;
	padding: 0 40px 20px 40px;
}

#footer-nav {
	background: transparent url('../images/i-corners-foot.gif') no-repeat;
	height:43px;
	width:957px;
	padding: 0 20px;

	max-width: 100%;
}
	#footer-nav ul {
		list-style-type:none;
	}
	#footer-nav ul li {
		float:left;
	}
	#footer-nav ul li a {
		color:#fff;
		text-decoration:none;
		display:block;
		padding: 10px 20px;
		font-size:0.88em;
	}
	#footer-nav ul li a:hover {
		color:#ffed00;
	}
	#footer-nav ul ul {
		display:none;
	}
#footer {
	background: transparent url('../images/i-logo-footer.gif') no-repeat 15px 10px;
	padding: 20px 0 20px 250px;
	color:#fff;
}
#footer a {
	color:#fff;
	text-decoration:none;
}
#footer a:hover {
	color:#ffed00;
}
	#footer dl {
		float:left;
		width: 300px;
		font-size:0.88em;
		line-height:2em;
	}
	#footer dl.footer-info-long {
		width:350px;
	}
	#footer dl dt {
		width: 70px;
	}
	#footer dl dd {
		margin-left: 70px;
	}
#author {
	text-align:center;
	font-size:0.69em;
	margin: 0 0 1em 0;
}
#author a {
	color:#5fa781;	
	text-decoration:none;
}
#author a:hover {
	color:#fff;
}	
#cleaner-1 {
	position:absolute;
	right:3px;
	top:298px;
}
#cleaner-2 {
	position:absolute;
	right: 5px;
	bottom: 10px;
}

/* Content */
h1 {
	border-bottom: 1px solid #fff503;	
	color:#007336;
	font-weight:bold;
	font-size:1.6em;
	padding: 0 0 15px 0;
	margin: 0.5em 0 1em 0;
}
h1 span {
	color:#009640;
	font-size:0.88em;
	margin-top:20px;
	display:block;
}
h2 {
	color:#009640;
	font-size:1.2em;	
	font-weight:bold;
	margin: 1.5em 0 0.5em 0;
	line-height:1.5em;
}
h3 {
	color:#333;
	font-size:1em;
	font-weight:bold;
	margin: 1.5em 0 0.5em 0;
}
h4 {
	
}
p, li, td {
	font-size:0.88em;
	line-height:1.5em;
	color:#333;
}
#content li {
	margin-bottom: 4px;
}
#content ul, #content ol {
	margin: 1em 0 1em 2em;
}
#content a {
	color:#007336;
}
#content a:hover {
	color:#000;	
}
#content a.button {
	background: transparent url('../images/g-button.gif') no-repeat right top;
	color:#fff;
	text-decoration:none;
	display:inline-block;
	line-height:34px;
	padding: 0 30px 0 10px;
}
#content a.button:hover {
	background-position: right bottom;
}
blockquote {
	background:#deefe3;
	padding: 10px;
	margin: 1em 0;
}
blockquote p {
	margin: 0;
	font-size:1.125em;
}
#content table blockquote p {
	font-size:16px;
}
hr {
	height:2px;
	background:#ccc;
	color:#ccc;
	margin: 1em 0;
}

#content table {
	border-collapse:collapse;
}
#content table td {
	font-size:14px;
	padding: 0 10px 10px 0;
	vertical-align:top;
}
#content table p, #content table li {
	font-size:14px;
}

a.quote-request, a.property-managers, a.rental-homes, a.carpet-cleaning {
	background: transparent url('../images/i-free-quote-request.gif') no-repeat;
	display:block;
	width: 215px;
	height: 100px;
	text-indent: -100000em;
	font-size:1px;
	overflow:hidden;
}
a.property-managers {
	background: transparent url('../images/i-property-managers.gif') no-repeat;
}
a.rental-homes {
	background: transparent url('../images/i-rental-homes.gif') no-repeat;
}
a.carpet-cleaning {
	background: transparent url('../images/i-carpet-cleaning.gif') no-repeat;
}
a.quote-request:hover {
	background-position: left -105px;
}
a.property-managers:hover, a.rental-homes:hover, a.carpet-cleaning:hover {
	background-position: left -110px;
}
.right {
	margin: 0 0 20px 30px;
}
.left {
	margin: 0 30px 20px 0;
}

.right img,
.left img {
	margin: 0;
}

#content img {
	border: 2px solid #ffed00;
}

#content .border-none {
	border: none;
}

#content ul#subnav {
	clear: both;
	border-top: 1px solid #ffed00;
	margin: 20px 0 0 0;
	padding: 10px 0 0 0;
}
#content ul#subnav li {
	display:inline-block;
	padding: 0 11px 0 12px;
	background: transparent url('../images/i-subnav-arrow.gif') no-repeat left 7px;
}
#content ul#subnav ul, #content ul#subnav li.current {
	display:none;
}
.gallery {
	margin-right:-34px;
}
.gallery-item {
	display:inline-block;
	width: 254px;
	height: 184px;
	overflow:hidden;
	margin: 0 34px 20px 0;
}

/* Login */
#content #user_pass_login_form {
	padding: 0;
	border: 0;
	width: auto;
}
#content .f label {
	font-size:0.88em;
	color:#333;
}
.f input, .f textarea, .f select {
	border: 1px solid #999;
	font-size: 0.88em;
	padding: 3px;
	font-size:0.88em;
}
#content .f input.medium {
	width: 200px;
}

#content form#user_pass_login_form div#advice-required-username_field.validation-advice {
	display: inline-block;
	color: #FFFFFF;
	background-color: #ff5555;
	font-size: 0.8em;
	padding: 3px 12px;
	margin-left: 10px;
}



#content form#user_pass_login_form div.field-validation-rules {
	margin: 0  0 0 20px;
}
#content form#user_pass_login_form div.buttons {
	width:206px;
	text-align:right;
	margin: 0;
}
#content button.submit, 
#content .f input.submit {
	background: transparent url('../images/g-button.gif') no-repeat left top;
	color:#fff;
	text-decoration:none;
	line-height:34px;
	height:34px;
	padding: 0 10px;
	cursor:pointer;
	border: 0;
}
#content button.submit:hover, 
#content .f input.submit:hover {
	background-position: left bottom;
}
#quote, #contactform {
	border: 1px solid #ccc;
	border-bottom: 0;
	width: 510px;
	margin: 0 auto 1em auto;
}
#contactform {
	width: 425px;
	float:right;
	margin: 0 0 0 40px;
}
#quote label, #contactform label {
	float:left;
	/*min-width: 150px;*/
	margin-right: 1em;
	padding-top: 3px;
}
#contactform label {
	/*width: 100px;*/
}
.f label span {
	font-size:0.75em;
	font-style:italic;
}	
#quote input, #quote textarea {
	width: 300px;
}
#contactform input, #contactform textarea {
	width:190px;
}
.f textarea {
	height:200px;
}
#contactform textarea {
	height:100px;
}
#quote .form-row, #contactform .form-row {
	background:#eee;
	padding: 10px 20px;
	border-bottom: 1px solid #ccc;
}
#quote .form-row-alt, #contactform .form-row-alt{
	background:#f0f0f0;
}
.f .button {
	text-align:right;
	padding-right:12px;
}
#content .f input.submit {
	width: auto;
}
.required-note {
	margin: 0 auto;
	text-align:right;
	font-size:0.69em;
	color:#333;
}
.required-note-contact {
	text-align:right;
	font-size:0.69em;
	color:#333;
	position:absolute;
	margin-top: -20px;
	width:350px;
}
.required {
	color:#900;
	vertical-align:top;
	font-size:11px;
}

#mid #enquiry_form_container {
	margin-top: 0;
}

@media handheld, only screen and (max-width: 1100px) {
	
	/* Base */

		body {
			background: #fff;
		}

		img {
			height: auto;
		}

		.column-side {
			width: 100%;
			display: block;
		}

		.gutter-to-right {
			padding-right: 0;
		}

	/* Misc */

	div[class^='corners'],div[class*=' corners'] {
		background: transparent;
		display: none;
	}

	#enquiry_form_container {
		margin-bottom: 20px;
	}
	
	/* Nav */

	#nav,
	.nav-base {
		background: #269446
	}

	/* Content area */

		#mid {
			background: #fff;
		}

		#content {
			padding-top: 20px;
		}

	/* Author */

		#author {
			background-color: #007336;
			margin: 0;
		}

	/* Content */

		h1,h2,h3,h4,h5,h6 {
			line-height: 1.4;
		}

		#content a.button {
			background: #0fa057;
			background-color: #0fa057;
			background-image: -webkit-linear-gradient(top, rgb(31, 175, 101), rgb(0, 146, 74));
			background-image: linear-gradient(top, rgb(31, 175, 101), rgb(0, 146, 74));
			padding: 10px;
			text-align: center;
			line-height: 1.4;
		}

		#content ul#subnav {
			clear: both;
			border-top: 1px solid #ffed00;
			margin: 2px 0 0 0;
			padding: 10px 0 0 0;
		}
			#content ul#subnav li {
				display:block;
				padding: 0;
				background: transparent;
			}
			#content ul#subnav ul, #content ul#subnav li.current {
				display:none;
			}
			#content ul#subnav li a {
				padding: 10px 30px 10px 45px;
				display: block;
				text-decoration: none;
				/*border: 1px solid gray;*/
				background-color: #36924B;
				background-image: url('../images/i-arrow-right.svg');
				background-position: left 15px center;
				background-repeat: no-repeat;
				color: #fff;
			}
			#content ul#subnav li a:hover {
				background-color: #36924B;
				color: #fff;
			}

		#content ul li a {
			display: inline-block;
			padding: 10px 0;
		}

	/* Forms */

	#mid #enquiry_form_container {
		float: none;
		margin-top: -21px; /* Offset empty CMS paragraph */
	}

		#mid #enquiry_form_container .required-note {
			text-align: left;
		}

	#mid #enquiry_form .form-row {
		padding: 10px 5%;
	}

	#mid .f input, .f textarea, .f select, #mid #quote_form_container input, #mid #quote_form_container textarea {
		min-height: 30px;
		width: 92.5%;
		margin-top: 0.5em;
	}

}

@media handheld, only screen and (max-width: 400px) {

	/* Header */

	#hero-caption {
		bottom: 9px;
	}

}



@media handheld, only screen and (max-width: 660px) {

	/* Base */

	.left,
	.right {
		float: none;
		display: block;
		margin-left: 0;
		margin-right: 0;
	}

	/* Header */

	#hero-caption {
		bottom: 14px;
		bottom: 4vw;
		font-size: 14px;
	}

}

@media handheld, only screen and (max-width: 734px) {
	
	/* Header */

		#header {
			text-align: center;
			/*overflow-y: hidden;*/
			height: auto;
			background: #fff;
		}

			#logo {
				position: static;
				display: block;
				margin: 0 auto -40px auto;
			}

			#header iframe {
				position: static;
				width: 78px;
			}

			#hero {
				position: relative;
				top: 0;
				left: 0;
				margin: 10px 5%;
			}

			#hero-caption {
				bottom: 8.5%;
				left: 20px;
				right: 20px;
			}


	/* Nav */

		#nav,
		#footer-nav.nav-base,
		.nav-base {
			background-color: #269446;
			background-image: url('../images/g-menu.png');
			background-image: url('../images/g-menu.svg'), none;
			background-repeat: no-repeat;
			background-position: right 20px top 12px;
			width: 90%;
			height: auto;
			min-height: 43px;
			overflow-y: hidden;
			/*position: relative;*/
			border-radius: 10px;
			margin: 10px 5%;
			padding: 0;
		}

			.nav-base .toggle {
				display: block;
				height: 43px;
				margin-left: 20px;
				margin-right: 20px;
				line-height: 43px;
				vertical-align: middle;
				color: #fff;
				cursor: pointer;
			}


			#nav ul,
			.nav-base ul {
				height: auto;
				overflow-y: hidden;
				background: #207641;
				margin: 0 0 10px 0;
				display: none;
				height: 0;
				transition: height 0.3s ease-out;
				padding-left: 0;
			}
			#nav.open ul,
			.nav-base.open ul {
				display: block;
				height: auto;
			}

				#nav ul li,
				.nav-base ul li {
					display: block;
					float: none;
					background: transparent;
					padding-right: 0;
				}

					#nav ul li a,
					.nav-base ul li a {
						padding: 11px 20px;
						background: transparent;
					}

						#nav ul li a:hover,
						.nav-base ul li a:hover {
							background: transparent url('../images/i-nav-bg.gif') repeat-x center;
							color: #FFED00;
						}

					#nav ul li ul,
					#nav ul li:hover ul,
					.nav-base ul li ul,
					.nav-base ul li:hover ul {
						display: none;
					}

	/* Footer */
		
		#footer {
			padding: 100px 20px 20px 20px;
			background-color: #007336;
		}

		#footer-nav {
			background: #269446;
			height: auto;
			overflow-y: hidden;
			padding: 0;
		}

			#footer-nav ul li {
				float: none;
			}

	/* Forms */

	#mid #quote_form_container .buttons {
		padding-right: 10%;
	}


}

@media handheld, only screen and (max-width: 500px) {
	
	/* Base */

	.left,
	.right {
		margin: 0 0 20px 0;
		float: none;
		display: block;
	}

	/* Header */

	#hero-caption {
		bottom: 7%;
	}


}

@media handheld, only screen and (min-width: 735px) and (max-width: 1100px) {
	
	/* Base */

		body {
		  background:#007336 url('../images/i-bg.gif') repeat-x;
		}

	/* Header */

		#header {
			background: #fff;
			margin: 0 auto 5px auto;
			border-radius: 0 0 30px 30px;
			box-shadow: 0 2px 6px rgba(35, 30, 30, 0.3);
			padding-bottom: 35px;
			height: auto;
			position: relative;
		}

			#logo {
				margin-top: 35px;
				position: static;
			}

			#header iframe {
				/*left: 35px;*/
				left: 70px;
				bottom: auto;
				top: 80%;
			}

			#hero {
				max-width: 300px;
				max-width: 50vw;
				top: 35px;
				right: 35px;
			}

				#hero img {
					max-height: 206px;
					width: auto;
				}

				#hero-caption {
					bottom: 1.7vw;
					font-size: 18px;
					bottom: 15px;
				}

	/* Nav */

		#nav,
		.nav-base {
			border-radius: 43px;

			background-color: #3da35f;
			background-image: -webkit-gradient(linear, left top, left bottom, from(rgb(85, 178, 120)), to(rgb(38, 148, 70)));
			background-image: -webkit-linear-gradient(top, rgb(85, 178, 120), rgb(38, 148, 70));
			background-image: -moz-linear-gradient(top, rgb(85, 178, 120), rgb(38, 148, 70));
			background-image: -o-linear-gradient(top, rgb(85, 178, 120), rgb(38, 148, 70));
			background-image: -ms-linear-gradient(top, rgb(85, 178, 120), rgb(38, 148, 70));
			background-image: linear-gradient(top, rgb(85, 178, 120), rgb(38, 148, 70));
			filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#55b278', EndColorStr='#269446')
		}

	/* Mid */

		#mid {
			background: transparent;
			border-radius: 30px;
			box-shadow: 0 2px 6px rgba(35, 30, 30, 0.3);
		}

		#content {
			border-radius: 30px 30px 0 0;
			margin: 5px auto 0 auto;
			background: #fff;
		}

	/* Footer */

		#footer-nav {
			border-radius: 0 0 30px 30px;
			background: #269446;
		}

	/* Misc */

		#enquiry_form {
			margin-top: -18px;
		}

}

@media handheld, only screen and (min-width: 735px) and (max-width: 995px) {

		/* Multiple Sections */

			#header,
			#nav,
			#mid,
			#content,
			#footer-nav {
				border-radius: 0;	
			}

		/* Header */

			#header {
				margin-bottom: 0;
			}

		/* Content */

			#content {
				margin: 0;
			}

}

@media handheld, only screen and (min-width: 990px) and (max-width: 1100px) {


	#footer {
		border-radius: 10px 10px 0 0;
	}

}