.mobile-only { display: none!important; }

/* Price Guide */

.priceguideouter {
	background: #333;
	margin: -30px -22px -22px -22px;
	padding: 22px;
	-webkit-border-radius: 6px;
	-moz-border-radius: 6px;
	border-radius: 6px;
}

.priceguide {
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	padding: 20px 0 0 0;
	background: #FFF;
}

.priceguide .row, .priceguide .priceguide_heading {
	border-bottom: 2px solid #e8e8e8;
	margin: 0 30px;
	clear: both;
}
.priceguide .priceguide_heading { border: none; height: 120px; }
.priceguide .row { height: 50px; }

.priceguide .cell {
	float: left;
	font-weight: bold;
	color: #333333;
	font-size: 14px;
	line-height: 50px;
	margin: 0 15px 0 0; 
}
.priceguide .cell_a { width: 210px; text-align: right; }
.priceguide .cell_b, .priceguide .cell_c, .priceguide .cell_d { width: 95px; text-align: center; }
.priceguide .cell_d { margin: 0px; }

.priceguide .tick, .priceguide .notick {
	display: block;
	background: url(../images/tick.png) no-repeat center center;
	width: 34px;
	height: 34px;
	margin: 3px 0 0 45px;
}
.priceguide .notick { background: none; }

.priceguide .priceguide_choose_package_row { border: none; padding-top: 10px; padding-bottom: 30px; }
.priceguide .priceguide_choose_package_row .cell { font-size: 13px; }
.priceguide .priceguide_choose_package_row .cell_a { font-size: 19px; }

.priceguide .priceguide_heading a {
	display: block;
	width: 113px;
	height: 33px;
	color: #FFF;
	line-height: 33px;
	font-size: 12px;
	text-align: center;
	background-position: -129px -802px;
}
.priceguide .priceguide_heading a:hover { background-position: left -802px; }

.priceguide .priceguide_heading .cell_a { text-align: left; font-weight: bold; font-size: 36px; padding-top: 10px; }
.priceguide .priceguide_heading .cell_b, .priceguide .priceguide_heading .cell_c, .priceguide .priceguide_heading .cell_d {
	padding: 68px 0 0 0;
	line-height: normal;
	height: 45px;
	background: url(../images/clean-packages.jpg) no-repeat 35px top;
}
.priceguide .priceguide_heading .cell_b { background-position: 36px top; }
.priceguide .priceguide_heading .cell_c { background-position: -96px top; }
.priceguide .priceguide_heading .cell_d { background-position: -230px top; }
/*
.incommercial .priceguide_heading .cell_b { background-position: -340px -836px; }
.incommercial .priceguide_heading .cell_c { background-position: -474px -836px; }
.incommercial .priceguide_heading .cell_d { background-position: -600px -836px; }*/

.priceguide .priceguide_footer {
	background: rgb(82,181,54);
	height: 60px;
	line-height: 60px;
	color: #FFF;
	font-size: 26px;
	padding: 0;
	text-align: center;
	font-weight: bold;
	position: relative;
	-moz-border-radius-topleft: 0px;
	-moz-border-radius-topright: 0px;
	-moz-border-radius-bottomright: 10px;
	-moz-border-radius-bottomleft: 10px;
	-webkit-border-radius: 0px 0px 10px 10px;
	border-radius: 0px 0px 10px 10px;
}
.priceguide .priceguide_footer .icon {
	width: 45px;
	height: 43px;
	background-position: left -922px;
	position: absolute;
	top: 6px;
	left: 15px;
	display: none;
}


/* Estimate Form */

#estimate_lightbox_back {
	background: url(../images/estimate_lightbox_back.png);
	position: fixed;
	top: 0px;
	left: 0px;
	width: 1000%;
	height: 2000px;
	display: none;
	z-index: 3000;
}

.price_guide_window {
	position: fixed;
	top: 0px;
	left: 50%;
	display: block;
	overflow: hidden;
	z-index: 3001;
	border: 6px solid #dfdfdf;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	width: 676px;
	margin: 0 0 0 -338px;
	padding: 20px;
	background: #333;
}
.price_guide_window img.imgdivider, .price_guide_window .priceguide_price_row, .price_guide_window .priceguide_choose_package_row { display: none; }
.price_guide_window a.close { font-size: 23px; position: absolute; top: 0px; right: 0px; color: #c1c1c1; font-weight: bold; background: #333; padding: 8px 12px; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
.price_guide_window a.close span { color: #a1a1a1; }
.price_guide_window a.close:hover, .price_guide_window a.close:hover span { color: #cc0099; }


.estimateform {
	display: block;
	overflow: hidden;
	position: relative;
}

.estimateform .step {
	overflow: hidden;
	display: none;
}
.estimateform .step_a { display: block; }
.estimateform .step h2 { font-size: 29px; color: #333; font-weight: bold; margin: 0 0 10px 0; }

.estimateform .colleft {
	width: 67%;
	float: left;
}

.estimateform .service, .estimateform .stepbox {
	border: 4px solid #dfdfdf;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin: 0 0 20px 0;
}
.estimateform .stepbox { padding: 20px; }

.estimateform .service .service_heading {
	position: relative;
	height: 110px;
	overflow: hidden;
	padding: 20px 0 0 100px;
	cursor: pointer;
}
.estimateform .service .service_heading .icon { top: 10px; left: 10px; width: 80px; height: 90px; background: none no-repeat left top; display: block; position: absolute; }
.estimateform .service .service_heading .openclose { top: 20px; right: 20px; width: 61px; height: 60px; display: block; position: absolute;  background: url(../images/open-close.png) no-repeat -71px top; }
.estimateform .service .service_heading .opened { background-position: left top; }

.estimateform .service .service_heading h3, .estimateform .estimatemeta h3 {
	font-size: 30px;
	color: rgb(82,181,54);
	line-height: 30px;
	font-weight: bold;
	margin: 0 0 5px 0;
}
.estimateform .service .service_heading p { margin: 0px; font-size: 20px; font-weight: normal; color: #555; }

.estimateform .service_table {
	padding: 0 20px 20px 20px;
}

.estimateform .service_table .row {
	padding: 5px 0 5px 0;
	min-height: 26px;
	border-bottom: 2px solid #e5e5e5;
	overflow: hidden;
}
.estimateform .service_table .row_heading { font-size: 13px; font-weight: bold; }

.estimateform .service_table .cell {
	float: left;
	display: block;
}
.estimateform .service_table .cell_a { width: 235px; font-weight: bold; font-size: 14px; color: #333; padding-top: 3px; }
.estimateform .service_table .cell_b, .estimateform .service_table .cell_c, .estimateform .service_table .cell_d { width: 105px; text-align: center; }
.estimateform .service_table .cell_e { width: 105px; text-align: center; float: right; }

.estimateform .service_table .row_heading { height: 90px; padding-top: 0px; }
.estimateform .service_table .row_heading .cell { padding: 60px 0 0 0; height: 30px; }
.estimateform .service_table .row_heading .cell_a { padding: 34px 0 0 0px; text-align: center; font-weight: normal; font-size: 14px; line-height: 18px; }
.estimateform .service_table .row_heading .cell_a, .estimateform .service_table .row_heading .cell_e { font-size: 13px; color: #666666; }
.estimateform .service_table .row_heading .cell_b, .estimateform .service_table .row_heading .cell_c, .estimateform .service_table .row_heading .cell_d { font-size: 13px; color: rgb(82,181,54); }
.estimateform .service_table .row_heading .cell_b { background: url(../images/clean-packages.jpg) no-repeat 35px top; }
.estimateform .service_table .row_heading .cell_c { background: url(../images/clean-packages.jpg) no-repeat -96px top; }
.estimateform .service_table .row_heading .cell_d { background: url(../images/clean-packages.jpg) no-repeat -230px top; }

#datepicker {
	display: block;
	padding: 20px;
}
#datepicker table {
	width: 100%;
}

#datepicker a.ui-datepicker-prev, #datepicker a.ui-datepicker-next { padding: 10px 0 0 0; height: 45px; text-align: center; width: 14%; background: #f9f9f9; cursor: pointer; }
#datepicker a.ui-datepicker-prev:hover, #datepicker a.ui-datepicker-next:hover { background: rgb(82,181,54); color: #FFF; }
#datepicker a.ui-datepicker-prev { float: left; }
#datepicker a.ui-datepicker-next { float: right; }
#datepicker .ui-datepicker-title { text-align: center; padding: 10px 0 0 0; height: 40px; font-size: 18px; font-weight: bold; }

#datepicker td, #datepicker th {
	height: 50px;
	line-height: 50px;
	text-align: center;
	border: 1px solid #FFF;
	background: #f9f9f9;
}

#datepicker td a {
	padding: 0 10px;
	height: 50px;
	line-height: 50px;
	display: block;
	text-align: center;
	color: #999;
}
#datepicker td a:hover, #datepicker td a.ui-state-active { background: rgb(82,181,54); color: #FFF; }

.estimateform label { display: block; }
.estimateform .confirmdetails .row {
	padding: 10px 0;
	border-bottom: 2px solid #e5e5e5;
	overflow: hidden;
}

.estimateform .confirmdetails .cell {
	float: left;
	display: block;
	width: 350px;
	line-height: 20px;
}
.estimateform .confirmdetails .cell_label { width: 150px; font-weight: bold; margin: 0 20px 0 0; font-size: 12px; }
.estimateform .confirmdetails .submitbutton { padding: 20px 0 0 0; }

.estimateform .stepnav, .estimateform .submitbutton { display: block; height: 50px; }
.estimateform .stepnav a, .estimateform .step_d input[type="submit"] {
    background-color: rgb(82,181,54);
    color: #FFF;
    font-size: 20px;
    padding: 10px 35px;
}
.estimateform .stepnav a:hover, .estimateform .step_d input[type="submit"]:hover { background: #2f6b20 } 
.estimateform .stepnav a.next, .estimateform .step_d input[type="submit"] { float: right; }
.estimateform .wpcf7-not-valid-tip {
	border: none;
	color: #cc0000;
	top: -5px;
	left: 20px; 
}

.estimateform .wpcf7-validation-errors {
	display: block;
	position: absolute;
	top: 5px;
	right: 0px;
	margin: 0px;
	border: none;
	color: #CC0000;
	font-weight: bold;
}
.estimateform .wpcf7-mail-sent-ok { display: none!important; }

.estimateform .colright {
	width: 32%;
	float: right;
	position: absolute;
	top: 0px;
	right: 0px;
	margin-top: 40px;
}

.estimateform .estimatemeta {
	border: 4px solid #dfdfdf;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	border-radius: 10px;
	margin: 0 0 20px 0;
	padding: 20px;
}

.estimateform .estimatecart {
	margin: 10px 0 20px 0;
	padding: 0px;
	list-style: none;
}

.estimateform .estimatecart li {
	background: none;
	padding: 0px;
	margin: 0;
	position: relative;
	display: block;
}

.estimateform .estimatecart li h5 {
	font-size: 17px;
	font-weight: bold;
	margin: 0;
	padding: 10px 0 0 0;
	color: #333;
}

.estimateform .estimatecart li p {
	padding: 0 60px 0 0;
}

.estimateform .estimatecart li p, .estimateform .estimatecart li span.price {
	font-size: 12px;
	color: #333;
	margin: 0px;
}
.estimateform .estimatecart li span.price {
	position: absolute;
	font-weight: bold;
	bottom: 0px;
	right: 0px;
}

.estimateform .estimatemeta .totalprice {
	text-align: right;
	font-size: 21px;
	color: rgb(82,181,54);
	font-weight: bold;
}
.estimateform .estimatemeta .totalprice span { color: #333; }

.estimateform .steplinks a {
	color: #666;
	position: relative;
	display: block;
	padding: 15px;
	font-size: 18px;
	margin: -4px 10px 0 0;
	border: 4px solid #eee;
	-moz-border-radius-topleft: 0px;
	-moz-border-radius-topright: 10px;
	-moz-border-radius-bottomright: 10px;
	-moz-border-radius-bottomleft: 0px;
	-webkit-border-radius: 0px 10px 10px 0px;
	border-radius: 0px 10px 10px 0px;
}
.estimateform .steplinks a:hover { color: rgb(82,181,54); }
.estimateform .steplinks a.active {
	color: rgb(82,181,54);
	border: 4px solid #dfdfdf;
	margin-right: 0px;
	font-size: 20px;
	border-left: none;
	z-index: 1;
}

.estimatecomplete {
	text-align: center;
	padding: 60px 0;
}

.estimatecomplete h1 {
	font-size: 44px;
	margin: 0 0 20px 0;
	color: rgb(82,181,54);
}

.estimatecomplete .social a, .inpagesociallink {
	display: block;
	float: left;
	width: 162px;
	height: 52px;
	border: 4px solid #E1E1E1;
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px;
	border-radius: 8px;
	background-position: -620px -358px;
	text-indent: -9999px;
}
.estimatecomplete .social a.twitter, .inpagesociallinktwitter { background-position: -620px -448px; float: right; }
.estimatecomplete .social a:hover, .inpagesociallink:hover { -webkit-box-shadow: inset 0px 0px 10px 0px #1a3770; -moz-box-shadow: inset 0px 0px 10px 0px #1a3770; box-shadow: inset 0px 0px 10px 0px #1a3770; }
.estimatecomplete .social a.twitter:hover, .inpagesociallinktwitter:hover { -webkit-box-shadow: inset 0px 0px 10px 0px #39d6ff; -moz-box-shadow: inset 0px 0px 10px 0px #39d6ff; box-shadow: inset 0px 0px 10px 0px #39d6ff; }
.inpagesociallink { margin: 0 20px 20px 0; }
.inpagesociallinktwitter { clear: right; float: left; }
.inpagesociallinkscontainer { 
	width: 100%;
	text-align: center;
	clear: both;
	height: 60px;
	margin: 0 0 20px 0;
}
.inpagesociallinkscontainer .inpagesociallinkscontainerinner { 
	margin: auto;
	width: 380px;
}

.estimatecomplete .social {
	display: block;
	overflow: hidden;
	margin: auto;
	width: 700px;
	padding: 30px 0 0 0;
}

.estimatecomplete .social a, .estimatecomplete .social span {
	float: left;
	display: block;
	height: 60px;
	line-height: 60px;
	font-size: 30px;
	color: #000;
	font-weight: bold;
	margin: 0 10px 0 0;
}

.estimatecomplete .social a { height: 52px; border-color: #e1e1e1; }
.estimatecomplete .social span.or { font-size: 18px; color: #CCC; }
.estimatecomplete p { color: #666; line-height: 20px; font-size: 15px; clear: both; padding: 10px 0 0 0; }
.estimatecomplete p a { font-weight: bold; }


@media all and (max-width: 1100px) and (min-width: 0px) {
	.estimateform .service_table .cell_a { width: 125px; }
	.estimateform .service .service_heading p { margin-right: 60px; font-size: 15px; line-height: 18px; }
	.estimateform .service_table .cell_b, .estimateform .service_table .cell_c, .estimateform .service_table .cell_d { width: 65px; }
	.estimateform .service_table .cell_e { width: 65px; }
	.estimateform .service_table .row_heading .cell_b { background-size: auto 48px; background-position: 20px top; padding-top: 47px; line-height: 15px; }
	.estimateform .service_table .row_heading .cell_c { background-size: auto 48px; background-position: -76px top; padding-top: 47px; line-height: 15px;}
	.estimateform .service_table .row_heading .cell_d { background-size: auto 48px; background-position: -161px top; padding-top: 47px; line-height: 15px;}
	.estimateform .service_table .row_heading .cell_a { font-size: 10px; }
	.estimateform .service_table .row_heading .cell_e { padding-top: 40px; }
}


@media all and (max-width: 720px) and (min-width: 0px) {
	.mobile-only { display: block!important; }
	

	.estimateform .colleft { float: none; width: auto; }

	.estimateform .colright { position: static!important; float: none; width: auto!important; margin: 0px!important; }

	.estimateform .service .service_heading { padding-left: 15px; padding-right: 15px; padding-bottom: 15px; height: auto; }
		.estimateform .service .service_heading .icon { display: none; }
		.estimateform .service .service_heading h3, .estimateform .estimatemeta h3 { font-size: 20px; line-height: normal; text-align: center; }
		.estimateform .service .service_heading p { font-size: 16px; line-height: normal; text-align: center; }
	.estimateform .service_table .row_heading { height: auto; }
	.estimateform .service_table .row_heading .cell { height: auto; }
	.estimateform .service_table .row_heading .cell_a, .estimateform .service_table .row_heading .cell_e { display: none; }
	.estimateform .service_table .row_heading .cell { padding: 0px; background: none; }
	.estimateform .service .service_table .row_heading .cell a { display: block; text-decoration: underline; text-align: center; padding: 3px 0 0 0; font-weight: normal; }
	.estimateform .service .service_table .row_heading .cell .clearfix { display: block; clear: both; }

	.estimateform .service_table .row { padding-bottom: 10px; }
	.estimateform .service_table .cell_a { float: none; width: auto; }
	.estimateform .service_table .cell_b, .estimateform .service_table .cell_c, .estimateform .service_table .cell_d { 
		width: 33.3%;
		padding: 5px 0;
	}
	.estimateform .service_table .cell_e { float: none; width: auto; clear: both; padding: 0 0 0 100px; position: relative; }
	.estimateform .service_table .cell_e label { position: absolute; top: 0px; left: 0px; font-size: 13px; }
	.estimateform .service_table .cell_e select { width: 100%; display: block; }

	.estimateform .service .service_heading { padding-top: 100px; }
	.estimateform .service .service_heading .openclose { position: absolute; top: 20px; margin: 0 0 0 -30px; right: auto; left: 50%; }

	.estimateform .stepnav, .estimateform .submitbutton { display: block; margin: 0 0 10px 0; height: auto; }
	.estimateform .stepnav a { width: auto; display: block; font-size: 16px; float: none!important; margin: 0 0 10px 0;  text-align: center; }

	.estimateform .steplinks a { margin: -4px 10px 0 10px; border-radius: 0px; }
	.estimateform .steplinks a.active { margin: -4px 0 0 0; border-left: 4px solid #EEE; border-radius: 10px; }

	.estimateform .step_b .stepbox { padding: 0px; }
	.estimateform .step_b .stepbox #datepicker { padding: 0px; }
	#datepicker td, #datepicker th { height: 30px; line-height: 30px; padding: 0px; }
	#datepicker td a { line-height: 30px; padding: 0px; height: 30px; }
	#datepicker .ui-datepicker-title { font-size: 14px; }
	#datepicker a.ui-datepicker-prev, #datepicker a.ui-datepicker-next { padding-left: 5px; padding-right: 5px; }

	.estimateform .wpcf7 input[type="text"], .estimateform .wpcf7 input[type="email"], .estimateform .wpcf7 textarea { width: 100%; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; border: 1px solid #CCC; }

	.estimateform .confirmdetails .cell { float: none; width: auto; }
	.estimateform .estimatecart li p, .estimateform .estimatecart li span.price { line-height: 14px; }


	.priceguide .row { border: none; border-bottom: 2px solid #DDD; overflow: hidden; }
	.priceguide .priceguide_heading .cell_a, 
	.priceguide .row .cell_a {
		float: none;
		width: auto;
		text-align: left;
		padding-bottom: 0px;
	}
	.priceguide .row .cell_a { text-align: center; }
	.priceguide .priceguide_footer { font-size: 18px; }

	.price_guide_window { width: 260px; margin-left: -130px; }
	.price_guide_window .priceguideouter { display: none; }
	.price_guide_window .mobile-priceguide {
		-webkit-border-radius: 10px;
		-moz-border-radius: 10px;
		border-radius: 10px;
		padding: 0 20px 40px 20px;
		text-align: left;
		background: #FFF;
	}
		.price_guide_window .mobile-priceguide h3 {
			font-size: 18px;
			margin: 0 0 10px 0;
			padding: 40px 0  0 0;
		}
			.price_guide_window .mobile-priceguide ul { margin: 0 0 10px 0; list-style: none; padding: 0px; }
			.price_guide_window .mobile-priceguide ul li {
				display: none;
				line-height: 18px;
			}
			.price_guide_window .mobile-priceguide ul li.has-tick { display: block; }


}




/* 2026 usability update: explicit price-guide links and single-price packages */
.estimateform .service .service_table .row_heading .cell a.price-guide-trigger {
	display: block;
	margin-top: 3px;
	font-weight: normal;
	text-align: center;
	text-decoration: underline;
}

.estimateform .service_single_price .service_table .cell_c,
.estimateform .service_single_price .service_table .cell_d {
	display: none;
}

.estimateform .service_single_price .service_table .cell_b {
	width: 210px;
}

.estimateform .service_single_price .service_table .row_heading .cell_b {
	background-position: center top;
}

@media all and (max-width: 1100px) and (min-width: 721px) {
	.estimateform .service_single_price .service_table .cell_b {
		width: 130px;
	}
}

@media all and (max-width: 720px) and (min-width: 0px) {
	.estimateform .service_single_price .service_table .cell_b {
		width: 100%;
		text-align: center;
	}
}

/* 2026 package layout refinement */
.estimateform .service_single_price .service_table .row_heading {
	height: auto;
	min-height: 35px;
}
.estimateform .service_single_price .service_table .row_heading .cell_a {
	width: auto;
	padding: 5px 0;
	text-align: left;
}
.estimateform .service_single_price .service_table .row_heading .cell_e {
	padding-top: 5px;
	height: auto;
}
.estimateform .service_single_price .service_table .row:not(.row_heading) .cell_a {
	width: calc(100% - 125px);
}
.estimateform .service_single_price input.package-price-input {
	display: none !important;
}
.estimateform .service_single_price .package-details-trigger {
	display: inline-block;
	font-weight: normal;
	text-decoration: underline;
}
@media all and (max-width: 720px) {
	.estimateform .service_single_price .service_table .row_heading .cell_a {
		width: 100%;
		text-align: center;
	}
	.estimateform .service_single_price .service_table .row:not(.row_heading) .cell_a {
		width: 100%;
	}
}

/* 2026 v4: make explicit desktop price-guide links visible below headings */
@media all and (min-width: 721px) {
	.estimateform .service:not(.service_single_price) .service_table .row_heading.row_heading_has_price_guide_table {
		height: 112px;
		overflow: visible;
	}
	.estimateform .service:not(.service_single_price) .service_table .row_heading.row_heading_has_price_guide_table .cell {
		height: auto;
		min-height: 42px;
	}
	.estimateform .service:not(.service_single_price) .service_table .row_heading.row_heading_has_price_guide_table .cell a.price-guide-trigger {
		display: block !important;
		position: relative;
		z-index: 2;
		margin-top: 2px;
		line-height: 16px;
		font-size: 12px;
		color: rgb(82,181,54);
		cursor: pointer;
	}
}

/* --- Two-price services (e.g. Curtain Cleaning) v1.3.2 ---
   The longer "Clean & Flame Guard" heading label wraps to two lines and
   overflows the fixed-height heading cells, which pushes the first room
   row sideways (BFC float avoidance). Let the heading grow instead. */
.estimateform .service_two_price .service_table .row_heading { height: auto; min-height: 90px; }
.estimateform .service_two_price .service_table .row_heading .cell { height: auto; min-height: 30px; }
.estimateform .service_two_price .service_table .row { clear: both; }
