PageSourceSearch

https://certified-green-team-li.com/Carpet-Cleaning.htm

html certified-green-team-li.com collected 2026-09-27 05:47:19 UTC 134,585 bytes, 3,099 lines download raw bytes

1<!DOCTYPE html >
2<html lang="en">
3<head id=123>
4
5	<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
6	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=5"/>
7	<meta name="robots" content="noindex">
8	<title>Carpet Cleaning by Certified Green Team</title>
9		<link href="/images/layout01/favicon.ico" type="image/x-icon" rel="shortcut icon"/>
10		<meta name="description" content="Learn about Carpet Cleaning by Certified Green Team"/>
11		
12		<meta property="og:type" content="website"/>
13	<meta property="og:title" content="Carpet Cleaning by Certified Green Team"/>
14	<meta property="og:description" content="Learn about Carpet Cleaning by Certified Green Team"/>
15	<meta property="og:url" content="https://certified-green-team-li.com/Carpet-Cleaning.htm"/>
16	<meta property="og:site_name" content="Certified Green Team"/>
17	<meta name="twitter:card" content="summary"/>
18	<meta name="google-site-verification" content=""/>
19	<meta name="msvalidate.01" content=""/>
20
21	
22	<!--suppress RegExpAnonymousGroup -->
23	<style>
24				/* W3.CSS 4.04 Apr 2017 by Jan Egil and Borge Refsnes */
25html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}
26/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
27html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}
28article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}
29audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline}
30audio:not([controls]){display:none;height:0}[hidden],template{display:none}
31a{background-color:transparent}
32a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline dotted}
33dfn{font-style:italic}mark{background:#ff0;color:#000}
34small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
35sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none}svg:not(:root){overflow:hidden}
36code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}
37button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold}
38button,input{overflow:visible}button,select{text-transform:none}
39button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}
40button::-moz-focus-inner, [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner{border-style:none;padding:0}
41button:-moz-focusring, [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring{outline:1px dotted ButtonText}
42fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}
43legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}
44[type=checkbox],[type=radio]{padding:0}
45[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
46[type=search]{-webkit-appearance:textfield;outline-offset:-2px}
47[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}
48::-webkit-input-placeholder{color:inherit;opacity:0.54}
49::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
50/* End extract */
51html,body{font-family:Verdana,sans-serif;font-size:16px;line-height:1.5}html{overflow-x:hidden}
52h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}.w3-serif{font-family:serif}
53h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px}
54hr{border:0;border-top:1px solid #eee;margin:20px 0}
55.w3-image{max-width:100%;height:auto}img{margin-bottom:-5px}a{color:inherit}
56.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc}
57.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1}
58.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1}
59.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center}
60.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top}
61.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px}
62.w3-btn,.w3-button{border:none;display:inline-block;outline:0;padding:8px 16px;vertical-align:middle;overflow:hidden;text-decoration:none;color:inherit;background-color:inherit;text-align:center;cursor:pointer;white-space:nowrap}
63.w3-btn:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}
64.w3-btn,.w3-button{-webkit-touch-callout:none;user-select:none}
65.w3-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none}
66.w3-btn.w3-disabled:hover,.w3-btn:disabled:hover{box-shadow:none}
67.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%}
68.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none}
69.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block}
70.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s}
71.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%}
72.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc}
73.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer}
74.w3-dropdown-hover:hover .w3-dropdown-content{display:block;z-index:1}
75.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000}
76.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000}
77.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0}
78.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px}
79.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto}
80.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%}
81.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%}
82.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px}
83.w3-main,#main{transition:margin-left .4s}
84.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}
85.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px}
86.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto}
87.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;outline:none;display:block}
88.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left}
89.w3-bar .w3-button{white-space:normal}
90.w3-bar-block .w3-bar-item{width:100%;display:block;padding:8px 16px;text-align:left;border:none;outline:none;white-space:normal;float:none}
91.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%}
92.w3-responsive{overflow-x:auto}
93.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before,
94.w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{content:"";display:table;clear:both}
95.w3-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%}
96.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%}
97.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%}
98.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%}
99@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%}
100	.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%}
101	.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}}
102@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%}
103	.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%}
104	.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}}
105.w3-content{max-width:980px;margin:auto}.w3-rest{overflow:hidden}
106.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell}
107.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom}
108.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important}
109@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px}
110	.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative}
111	.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center}
112	.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}}
113@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}}
114@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}}
115@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}}
116@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}}
117.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0}
118.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2}
119.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0}
120.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0}
121.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}
122.w3-display-left{position:absolute;top:50%;left:0;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)}
123.w3-display-right{position:absolute;top:50%;right:0;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)}
124.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}
125.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}
126.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none}
127.w3-display-position{position:absolute}
128.w3-circle{border-radius:50%}
129.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px}
130.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px}
131/* Cards in 2-/3-column rows stretch to equal height. :has() scopes this to rows that contain cards so other column layouts keep float behavior; browsers without :has() fall back to unequal heights. */
132.w3-row-padding:has(> .w3-half > .w3-card),.w3-row-padding:has(> .w3-third > .w3-card){display:flex;flex-wrap:wrap}
133.w3-row-padding>.w3-half:has(> .w3-card),.w3-row-padding>.w3-third:has(> .w3-card){display:flex;flex-direction:column;float:none}
134.w3-row-padding>.w3-half>.w3-card,.w3-row-padding>.w3-third>.w3-card{flex:1}
135.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px}
136.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px}
137.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word}
138.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%}
139.w3-card,.w3-card-2{box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)}
140.w3-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)}
141.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}
142.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
143.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}}
144.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
145.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}
146.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
147.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}}
148.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}}
149.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important}
150.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1}
151.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75}
152.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)}
153.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)}
154.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)}
155.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important}
156.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important}
157.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important}
158.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important}
159.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important}
160.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important}
161.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important}
162.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important}
163.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important}
164.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important}
165.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important}
166.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important}
167.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important}
168.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important}
169.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important}
170.w3-left{float:left!important}.w3-right{float:right!important}
171.w3-button:hover{color:#000!important;background-color:#ccc!important}
172.w3-transparent,.w3-hover-none:hover{background-color:transparent!important}
173.w3-hover-none:hover{box-shadow:none!important}
174/* Colors */
175.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important}
176.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important}
177.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important}
178.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important}
179.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important}
180.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important}
181.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important}
182.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important}
183.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important}
184.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important}
185.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important}
186.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important}
187.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important}
188.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important}
189.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important}
190.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important}
191.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important}
192.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important}
193.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important}
194.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important}
195.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important}
196.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important}
197.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important}
198.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#bbb!important}
199.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important}
200.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important}
201.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important}
202.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important}
203.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important}
204.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important}
205.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important}
206.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important}
207.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important}
208.w3-text-yellow,.w3-hover-text-yellow:hover{color:#ffeb3b!important}
209.w3-text-white,.w3-hover-text-white:hover{color:#fff!important}
210.w3-text-black,.w3-hover-text-black:hover{color:#000!important}
211.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important}
212.w3-text-amber{color:#ffc107!important}
213.w3-text-aqua{color:#00ffff!important}
214.w3-text-light-blue{color:#87CEEB!important}
215.w3-text-brown{color:#795548!important}
216.w3-text-cyan{color:#00bcd4!important}
217.w3-text-blue-grey,.w3-text-blue-gray{color:#607d8b!important}
218.w3-text-light-green{color:#8bc34a!important}
219.w3-text-indigo{color:#3f51b5!important}
220.w3-text-khaki{color:#b4aa50!important}
221.w3-text-lime{color:#cddc39!important}
222.w3-text-orange{color:#ff9800!important}
223.w3-text-deep-orange{color:#ff5722!important}
224.w3-text-pink{color:#e91e63!important}
225.w3-text-purple{color:#9c27b0!important}
226.w3-text-deep-purple{color:#673ab7!important}
227.w3-text-sand{color:#fdf5e6!important}
228.w3-text-teal{color:#009688!important}
229.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important}
230.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important}
231.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important}
232.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important}
233.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important}
234.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important}
235.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important}
236.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important}
237.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#bbb!important}
238
239/*********************************************************/
240
241.w3-container.pad0 { padding: 0; }
242.pad-sides-10 { padding-left: 10px; padding-right: 10px}
243
244body {
245	margin:0;
246	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
247	color: black;
248	/* see: https://stackoverflow.com/questions/2545542/font-size-rendering-inconsistencies-on-an-iphone*/
249	-webkit-text-size-adjust: 100%;
250}
251
252h1, h2, h3, h4 {
253	font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;
254	font-weight: 400;
255	line-height: 1.2;
256}
257h1 {font-size: 36px;}
258h2 {font-size: 30px;}
259h3 {font-size: 24px;}
260h4 {font-size: 20px;}
261p {
262	font-weight: 400;
263	line-height: 1.5;
264}
265a {
266	color: #2971b3;
267	font-weight: 500;
268}
269.CallToAction {
270	text-align: center;
271}
272div.CallToAction {
273	margin-top: 80px;
274	margin-bottom: 80px;
275}
276.CallToAction h1, .CallToAction h2, .CallToAction h3, .CallToAction h4, .CallToAction a {
277	font-weight: 500;
278}
279.CallToAction p b {
280	font-weight: 500;
281}
282div.CallToAction a.phoneNumber {
283	font-size: 40px;
284}
285
286#header {
287	position: fixed;
288	top: 0;
289	left: 0;
290	z-index: 999;
291	width: 100%; /* margins can make 100% width wider than viewport */
292	box-shadow: 0 2px lightgrey;
293}
294.headerStyle, .headerStyle * {
295	font-weight:300;
296}
297.headerLine1Style h1 {
298	font-size: 8vmin;
299	line-height: 1.4em;
300	justify-content: right;
301	/*margin-left: 20px;*/
302	/*margin-right: 20px;*/
303}
304@media screen and (min-width: 320px) {
305	.headerLine1Style h1 {
306		font-size: 20px;
307	}
308}
309@media screen and (min-width: 768px) {
310	.headerLine1Style h1 {
311		font-size: 30px;
312	}
313}
314@media screen and (min-width: 922px) {
315	.headerLine1Style h1 {
316		font-size: 36px;
317	}
318}
319@media only screen and (device-width: 768px) and (device-height: 1024px) and (-webkit-min-device-pixel-ratio: 1) {
320	/* ipad fix - font wider than windows */
321	.headerLine1Style h1 {
322		font-size: 28px;
323	}
324}
325.header_line1_company {
326	max-width: 60%;
327}
328.headerLine1Style a {
329	text-decoration: none;
330	cursor: pointer;
331}
332.headerLine1Style a h2 {
333	margin: 0;
334}
335
336.headingTxt{text-align:center; font-size:34px; font-weight:bold; color:#000000; line-height:2;
337	padding-top:10px;
338}
339.headingTxt small{ display:block; font-weight:normal; font-size:18px;}
340
341.contentX {
342	text-align: left;
343}
344.contentX h1, .contentX h2, .contentX h3, .contentX h4 {
345	margin-top: 1em;
346	margin-bottom: 1em;
347}
348.contentX img {
349	margin: 0 -16px 10px;
350	border: 3px transparent;
351	max-width: calc(100% + 32px);
352}
353.contentX img[style*="width:100%"],
354.contentX img[style*="width: 100%"] {
355	width: calc(100% + 32px) !important;
356	height: auto !important;
357}
358.contentX img[style*="float:left"],
359.contentX img[style*="float: left"],
360.contentX img.floatleft {
361	margin: 0 15px 10px 0;
362	max-width: 100%;
363}
364.contentX img[style*="float:right"],
365.contentX img[style*="float: right"] {
366	margin: 0 0 10px 15px;
367	max-width: 100%;
368}
369.contentX img.autoPost {
370	margin-left: 0;
371	margin-bottom: 0;
372	border: 2px solid transparent ;
373	vertical-align: bottom;
374}
375.contentX figure {
376	margin: 0 0 2em;
377}
378.photoPage { max-width: 700px; margin: 0 auto}
379.photoPage p {min-height: 1.25em}
380.photoPage p img { margin: 0 auto 4px}
381
382.contentX ul { margin-bottom: 20px}
383.contentX li {
384	margin-bottom: 10px;
385	list-style-type: disc;
386}
387
388.contentX {
389	overflow:hidden;
390	font-size:16px;
391	line-height:24px;
392	color:#000000;
393}
394
395#header_subtext {
396	font-weight: normal;
397	color: black;
398	padding: 0 0 10px 0;
399	font-size: 20px;
400}
401.greyblocks{overflow:hidden; text-align:center; font-size:20px; font-weight:600;
402	margin: 10px auto 10px;
403}
404.greyblocks-box {
405	border-color: #f0f0f0;
406	border-width: 1px;
407	border-style: solid;
408	padding:10px;
409	max-width: 600px;
410	margin: 35px auto 35px;
411}
412.greyblock-col-1{padding:10px 0; background:#ffffff; overflow:hidden; margin:10px 0 0 0;box-sizing: unset}
413.greyblocks span{color:#2971b3; font-weight:500; font-size:18px}
414.greyblocks img {max-width:100%; height:auto; border-style: none}
415
416.callfreeQuote{text-align:center; padding:10px 0; overflow:hidden; clear:both; font-size:30px; font-weight:normal;
416 color:#000000;}
417.callUsBtn{clear:both; width:280px; padding:10px 10px; border-radius:40px; background:#49b9bf; font-size:30px; font-weight:bold; color:#ffffff; margin:10px auto;}
418.callUsBtn i{ padding:6px 10px; background:#ffffff; color:#49b9bf; border-radius:50px; }
419
420.getPriceDiv{background:#428bca; padding:10px 1px 1px 1px; text-align:center; font-size:24px; color:#ffffff; overflow:hidden;
421	margin: 35px auto 35px;
422	max-width: 600px;
423}
424.getPriceFormDiv{background:#f6f7fe; padding:10px 10px 0 10px; overflow:hidden; margin:10px 0 0 0;}
425.getPriceFormDiv ul{padding:0; margin:0; list-style-type:none;}
426.getPriceFormDiv ul li{padding:5px 0; margin:0; display:block; font-size:14px; }
427.text-field{border:1px solid #d4d4d4; color:#555; font-weight:normal; padding:10px; width:92%; font-size: 14px;}
428.check-field { padding-left: 24px; text-align: left; vertical-align: center;}
429.check-field label { color: black;}
430.submit-field{background:#2971b3; border: medium none; padding: 10px 0; display: inline-block; cursor: pointer; color: #FFF; width: 100%;
431	font-size: 20px;
432	border-radius: 5px;
433	font-weight: 400;
434}
435textarea{font-size:16px; font-weight:normal;}
436.followus img{padding:15px}
437
438.cities-panel{
439	padding-bottom: 30px;
440}
441
442.cities-panel h2,.cities-panel h3 {
443	display: inline-block;
444}
445.cities-panel h3 {margin:30px 0 }
446.cities-panel ul{
447	padding:0;
448	margin:0;
449	list-style-type:none;
450	overflow: hidden;
451}
452.cities-panel ul li{
453	margin-bottom: 2px;
454	font-size:16px;
455	font-weight:500; display:inline-block; line-height:28px; width:29%;
456}
457.cities-panel ul li a{text-decoration: none}
458.cities-panel ul li a:hover{text-decoration:underline;}
459
460.wrapperuseful{padding:0; overflow:hidden;}
461.usefullinksDiv{padding:0 15px 15px 15px; overflow:hidden;}
462.usefullinksDiv h2{ font-size:28px; font-weight:bold; color:#000000; padding:0; margin:0;}
463.usefullinksDiv ul{ list-style:none; margin:0 0 10px 0; padding:0; overflow:hidden;}
464.usefullinksDiv ul li {
465	margin:0 0 0 40px; padding:5px 0; float:left; width:26%;
466}
467.usefullinksDiv ul li a{ color:#000000; text-decoration:none;}
468a.reviewBtn{
469	text-decoration:none; display:block; clear:both;
470	margin: 0 auto;
471}
472a.reviewBtn div {
473	background: orange;
474	border: medium none;
475	padding: 10px 0;
476	cursor: pointer;
477	color: #FFF;
478	font-size: 20px;
479	text-align: center;
480	border-radius: 6px;
481	margin: 50px auto;
482	font-weight: 400;
483}
484
485.smallScreenMenuPhone a, .header_line1_phone a {
486	cursor: pointer;
487	color: #FFF;
488	text-align:center;
489}
490
491.useboxright{
492	text-align:center; background: black; padding:15px;
492 color:#ffffff;
493	font-weight: 300;
494}
495.callNoDiv{
496	padding:10px; text-align:center; font-size:26px;
497	color:#ffffff;
498	border-radius: 6px;
499	max-width: 300px;
500	margin: 0 auto;
501}
502.callNoDiv a {
503	text-align:center; font-size:32px;
504	color:#ffffff; text-decoration: none; position: relative;
505
506	font-weight: 400;
507	border-radius:6px;
508	border-style: solid;
509	border-color: rgba(170, 170, 170, .4);
510	border-width: 1px;
511	padding: 2px 20px 5px;
512
513}
514.callNoDiv span a{font-size:.6em}
515
516footer { margin-top: 40px }
517.footerDivMn{
518	width:100%;
519	text-align:center;
520	font-size:12px;
521	color:#ffffff;
522	background: #2971b3;
523	clear:both;
524}
525
526.toggleMenu {
527	display:none;
528	clear:both;
529	font-size: 16px;
530	color: white;
531	padding: 10px 10px 10px 10px;
532	cursor: pointer;
533}
534a.toggleMenu {text-decoration:none;}
535
536.contentX a.phoneNumber, a.phoneNumber {
537	color: #2870b3;
538	text-decoration: none;
539	white-space: nowrap;
540}
541
542#townServiceList p {
543	min-height: 50px;
544}
545#townServiceList img {
546	float: left;
547	border: none;
548	margin: 8px 10px 0 0;
549	box-shadow: 2px 2px 2px grey;
550	width: 50px;
551	height: 50px !important;
552	max-width: 50px;
553}
554#townServiceList a {
555	font-weight: 700;
556	font-size: 15px;
557	text-decoration:none;
558}
559
560div.BBB {
561	padding-top: 10px;
562}
563p.BBBText {
564	font-size: 16px;
565	font-weight: bold;
566	text-align: center;
567}
568p.BBBText a {
569	text-decoration: none;
570}
571p.BBBImage {
572	text-align: center;
573}
574.contentX p.BBBImage img {
575	display: inline-block;
576	margin-right: 10px;
577	margin-left:  10px;
578}
579.BBBImage img {
580	border:none;
581	margin: 0;
582	box-shadow: none;
583}
584.BBB_script {
585	width: 282px;
586	margin: auto;
587	padding: 30px 0 30px 0;
588}
589
590img.CreditCard {
591	max-width:100%;
592	padding-top: 15px;
593}
594.license { margin: auto; }
595
596ul.listCSV {
597	padding:0
598}
599.listCSV li {
600	display: inline;
601}
602.listCSV li:after {
603	content: ", ";
604}
605.listCSV li:last-child:after {
606	content: "";
607}
608hr {
609	clear: both;
610	margin-top: 20px;
611	margin-bottom: 20px;
612	border: 0;
613	border-top: 1px solid #d6d6d6;
614}
615ul.zipCodesServed li {
616	font-weight: 400;
617}
618
619/* override inline style ... update all themes, then remove inline style in site_render */
620p.ctaPhone a{font-size: 36px; text-align: center}
621
622.smallScreenHeader {display: none}
623.showLargeScreenHeader {
624	display:inherit
625}
626.showLargeScreenHeader a {
627	font-size: 36px;
628}
629.headerBackground {
630	background-color: darkorange;
631}
632
633.contentX {
634	width: 100%;
635}
636
637.contentX .selectTestimonials {
638	clear: both;
639	margin-top: 40px;
640	margin-bottom: 40px;
641}
642.contentX .selectTestimonials  ul {
643	padding-left: 0;
644}
645.contentX .selectTestimonials  ul li {
646	list-style: none;
647	margin:2px 5px 20px 1px;
648	padding: 10px;
649	-webkit-box-shadow: 2px 2px 5px 2px rgba(0,0,0,0.25);
650	-moz-box-shadow: 2px 2px 5px 2px rgba(0,0,0,0.25);
651	box-shadow: 2px 2px 5px 2px rgba(0,0,0,0.25);
652}
653.contentX .testimonialBody {
654	font-weight: 400;
655	font-style: italic;
656}
657.contentX div.schema.review span[itemprop="ratingValue"] {
658	display:none
659}
660.contentX div.schema.review .review-stars {
661	color: #428BCA;
662	font-size: 20px;
663}
664.contentX div.schema.review span[itemprop="datePublished"]::before {
665	content: "Review date: ";
666	font-size: 12px;
667}
668.contentX div.schema.review span[itemprop="datePublished"] {
669	font-style: italic;
670	color: grey;
671	font-size: 12px;
672}
673span[itemprop="datePublished"] {
674	display:none
675}
676
677.contentX .selectTestimonials  ul li strong em, .contentX .selectTestimonials .testimonialAuthor {
678	font-weight: 500;
679	font-style: italic;
680}
681
682.paypal {max-width:100%}
683
684ul.phoneList {list-style: none;padding-left: 0;margin:0 auto}
685footer li.primaryPhone {
686	margin-bottom: 10px;
687}
688.phoneSmall {font-size: 16px; font-weight: normal;}
689.mainTopSpacer {height: 105px}
690
691.w3-container .padGetPrice {
692	padding-top: 50px;
693	margin-top: -50px;
694}
695
696.center-cropped {
697	width: 100%;
698	max-height: 60vh;
699	overflow: hidden;
700}
701@media screen and (min-height: 1000px) {
702	.center-cropped {
703		height: 1000px;
704	}
705}
706@media screen and (max-width: 600px) {
707	.center-cropped {
708		height: 400px;
709	}
710}
711
712/* LCP image - visible with object-fit cover for cropping effect */
713/* Note: object-position can be overridden per-registration via inline media queries */
714/* for responsive focal point control (GalleryFocalPoint{Mobile,Tablet,Desktop} reg_vars) */
715.center-cropped img {
716	width: 100%;
717	height: 100%;
718	object-fit: cover;
719	object-position: center;
720}
721@media (max-width: 768px) {
722    .center-cropped {
723        max-height: 40vh;
724    }
725}
726
727/* Gallery Overlay Styles */
728.center-cropped.has-overlay {
729	position: relative;
730}
731
732/* Full image tint overlay - covers entire image */
733.gallery-image-tint {
734	position: absolute;
735	top: 0;
736	left: 0;
737	right: 0;
738	bottom: 0;
739	z-index: 5;  /* Above image, below positioned overlay */
740	pointer-events: none;  /* Allow clicks through to image */
741}
742
743/* Positioned overlay sits above tint */
744.gallery-overlay {
745	position: absolute;
746	z-index: 10;  /* Above tint layer */
747	padding: 20px;
748	max-width: 80%;
749	color: white;
750	text-shadow: 2px 2px 4px rgba(0,0,0,0.8);
751}
752.gallery-overlay h1,
753.gallery-overlay h2,
754.gallery-overlay h3,
755.gallery-overlay h4,
756.gallery-overlay p {
757	margin: 0 0 0.5em 0;
758	color: inherit;
759	text-shadow: inherit;
760}
761.gallery-overlay a {
762	color: inherit;
763	text-decoration: underline;
764}
765
766/* Overlay vertical positions */
767.gallery-overlay-top-left,
768.gallery-overlay-top-center,
769.gallery-overlay-top-right {
770	top: 5%;
771}
772.gallery-overlay-middle-left,
773.gallery-overlay-center,
774.gallery-overlay-middle-right {
775	top: 50%;
776}
777.gallery-overlay-bottom-left,
778.gallery-overlay-bottom-center,
779.gallery-overlay-bottom-right {
780	bottom: 5%;
781}
782
783/* Overlay horizontal positions */
784.gallery-overlay-top-left,
785.gallery-overlay-middle-left,
786.gallery-overlay-bottom-left {
787	left: 5%;
788}
789.gallery-overlay-top-center,
790.gallery-overlay-center,
791.gallery-overlay-bottom-center {
792	left: 50%;
793}
794.gallery-overlay-top-right,
795.gallery-overlay-middle-right,
796.gallery-overlay-bottom-right {
797	right: 5%;
798}
799
800/* Overlay transforms for centering */
801.gallery-overlay-top-center,
802.gallery-overlay-bottom-center {
803	transform: translateX(-50%);
804}
805.gallery-overlay-middle-left,
806.gallery-overlay-middle-right {
807	transform: translateY(-50%);
808}
809.gallery-overlay-center {
810	transform: translate(-50%, -50%);
811}
812
813/* Responsive font scaling for overlay */
814@media (max-width: 479px) {
815	.gallery-overlay {
816		font-size: 0.7em;
817		padding: 8px;
818		max-width: 90%;
819	}
820}
821@media (min-width: 480px) and (max-width: 767px) {
822	.gallery-overlay {
823		font-size: 0.85em;
824		padding: 12px;
825		max-width: 85%;
826	}
827}
828@media (min-width: 768px) and (max-width: 1199px) {
829	.gallery-overlay {
830		font-size: 1em;
831		padding: 16px;
832	}
833}
834@media (min-width: 1200px) {
835	.gallery-overlay {
836		font-size: 1.2em;
837		padding: 20px;
838	}
839}
840
841.center_image {
842	display: block;
843	max-width:100%;
844	height:auto;
845	margin: 0 auto;
846}
847
848a.privacyPolicy { text-decoration: none}
849a.privacyPolicy:hover { text-decoration: underline}
850
851.video-container {
852	position:relative;
853	padding-bottom:56.25%;
854	padding-top:30px;
855	height:0;
856	overflow:hidden;
857}
858.video-container iframe, .video-container object, .video-container embed {
859	position:absolute;
860	top:0;
861	left:0;
862	width:100%;
863	height:100%;
864}
865/* add after video-container if video is square */
866.video-square {
867	padding-bottom: 100%
868}
869
870/* was in sm-core-css.css */
871/* Mobile first layout SmartMenus Core CSS (it's not recommended editing these rules)
872   You need this once per page no matter how many menu trees or different themes you use.
873-------------------------------------------------------------------------------------------*/
874
875.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;-webkit-tap-highlight-color:rgba(0,0,0,0);}
876.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right;}
877.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0;}
878.sm ul{display:none;}
879.sm li,.sm a{position:relative; text-align: left}
880.sm a{display:block;}
881.sm a.disabled{cursor:not-allowed;}
882.sm:after{display:block;height:0; /*noinspection CssInvalidPropertyValue*/
883	font:0/0 serif;clear:both;visibility:hidden;overflow:hidden;}
884.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;}
885/* ----- end ------ */
886
887@media screen and (max-width:600px) {
888	h1 {
889		font-size: 30px;
890	}
891
892	h2 {
893		font-size: 26px;
894	}
895
896	h3 {
897		font-size: 22px;
898	}
899
900	h4 {
901		font-size: 20px;
902	}
903}
904
905@media screen and (min-width:768px) {
906	a.reviewBtn {width:300px}
907	/* smartmenu hides menu when width expands after menu toggle clicked twice*/
908	.contentX img.floatleft {float:left;margin-left:0;margin-right:10px;}
909}
910@media screen and (min-width:981px) {
911	.contentX img {
912		margin: 0 0 10px;
913		width: 100%;
914		max-width: 100%;
915		height: auto;
916	}
917	.contentX img[style*="float"],
918	.contentX img.floatleft {
919		width: auto;
920	}
921	.contentX img.autoPost {
922		width: auto;
923	}
924}
925@media screen and (max-width:768px) {
926	.container-fluid{ width:100%; margin:auto; overflow:hidden;}
927	/* full menu */
928	.header {padding: 6px 15px 6px 15px;}
929	.logoDiv{
930        text-align:center; padding-top:6px; padding-bottom: 6px;
931    }
932}
933@media screen and (max-width:767px) {
934	.cities-panel ul li{width:28%;}
935	a.reviewBtn div{
936		max-width: 300px;
937		margin: 0 auto 40px;
938	}
939	.contentX * {margin-right: 0;}
940	.contentX img {
941		margin: 0 -16px 10px;
942		border: none;
943		max-width: calc(100% + 32px);
944		height: auto !important;
945	}
946	.contentX img.autoPost {
947		margin: 0 auto;
948	}
949	.contentX img.floatleft {}
950}
951@media screen and (max-width:768px) {
952	.contentX {
953		text-align:left;
954	}
955	h2 {text-align: center}
956}
957
958@media screen and (max-width:767px) {
959	.contentX * img{ float:none !important; display:block; margin-left:-16px; margin-right:-16px}
960	/* Preserve inline centering for icons inside cards/specials (override the edge-bleed above) */
961	.contentX .w3-card img,
962	.contentX [data-special-id] img { display:inline; margin-left:0; margin-right:0; max-width:100%; }
963	.contentX img[style*="float:left"],
964	.contentX img[style*="float: left"],
965	.contentX img[style*="float:right"],
966	.contentX img[style*="float: right"],
967	.contentX img.floatleft {
968		margin: 0 -16px 10px;
969		max-width: calc(100% + 32px);
970		width: calc(100% + 32px) !important;
971		height: auto;
972	}
973	/* Edge-to-edge content images on mobile. Content images already get the
974	   negative side margins above; only the width was missing for fixed-pixel
975	   images (e.g. a centered 400px hero photo), which left side gaps on phones
976	   wider than the image. Force them to fill. Desktop is untouched, so low-res
977	   photos stay sharp at their native size on large screens. */
978	.contentX img {
979		max-width: calc(100% + 32px);
980		width: calc(100% + 32px) !important;
981		height: auto !important;
982	}
983	/* ...but never enlarge small / decorative images. These selectors are more
984	   specific than the rule above, so they win even though both use !important. */
985	.contentX img.noBleed,
986	.contentX img[alt="Author's Face"],
987	.contentX img[src*="/faces/"],
988	.contentX img[src*="/bbb/"],
989	.contentX p.BBBImage img,
990	.contentX .w3-card img,
991	.contentX [data-special-id] img {
992		width: auto !important;
993		max-width: 100% !important;
994		margin-left: 0;
995		margin-right: 0;
996		display: inline;
997	}
998	/* ...except a small image that floats on desktop: inline, the text it floated beside
999	   would start on its bottom line, a word or two stranded to its right. Give it a row. */
1000	.contentX img.noBleed[style*="float:left"],
1001	.contentX img.noBleed[style*="float: left"],
1002	.contentX img.noBleed[style*="float:right"],
1003	.contentX img.noBleed[style*="float: right"],
1004	.contentX img.noBleed.floatleft {
1005		display: block;
1006		margin-left: auto;
1007		margin-right: auto;
1008	}
1009	/* Photos page: each detail photo spans almost the full screen width with a thin
1010	   uniform white border (one photo per row). Using width:100% (pinned to the row)
1011	   rather than auto also stops the retina @2x swap (retina99.js) from enlarging
1012	   them, since the width no longer follows the swapped file's intrinsic size.
1013	   Grid thumbnails keep their own cover sizing. */
1014	.contentX .photo-category-figures figure {
1015		flex: 0 0 100% !important;
1016		max-width: 100% !important;
1017		margin: 10px 0 !important;
1018	}
1019	.contentX img.autoPost {
1020		width: 100% !important;
1021		max-width: 100% !important;
1022		height: auto !important;
1023		margin: 0 auto !important;
1024	}
1025	.contentX .photo-category-card-img img {
1026		width: 100% !important;
1027		height: 100% !important;
1028		max-width: 100% !important;
1029	}
1030	/* A table cannot shrink below the min-content width of its columns, so a wide
1031	   one clips at the viewport edge (even with max-width:100%). display:block
1032	   lets max-width cap the box and overflow-x scroll the excess sideways.
1033	   width:fit-content keeps narrow tables shrink-to-fit (and centered via
1034	   margin:auto / align=center) instead of stretching their border full-width. */
1035	.contentX table {
1036		display: block;
1037		width: fit-content;
1038		max-width: 100% !important;
1039		overflow-x: auto;
1040	}
1041	/* Wide tables stamped by ContentMutate::stampTableCardLabels (class
1042	   mobile-cards + data-label per cell) render as stacked cards instead of
1043	   scrolling: each body row becomes a card titled by its first cell, and the
1044	   other cells show their column header from data-label. Unstamped tables
1045	   keep the scroll fallback above; desktop renders the normal table. */
1046	.contentX table.mobile-cards {
1047		width: 100%;
1048		max-width: 100% !important;
1049		border: none;
1050		overflow: visible;
1051		background: transparent;
1052	}
1053	.contentX .mobile-cards thead,
1054	.contentX .mobile-cards tbody { display: block; width: 100%; }
1055	.contentX .mobile-cards tr {
1056		display: block;
1057		/* Google Docs pastes style="height:0pt" on every row; as a block that
1058		   collapses the card and stacks every row's text on top of the next. */
1059		height: auto !important;
1060		border: 1px solid #d7dbe0;
1061		border-radius: 10px;
1062		margin: 0 0 14px;
1063		padding: 10px 14px;
1064		background: #fff;
1065		box-shadow: 0 2px 6px rgba(0,0,0,.06);
1066	}
1067	.contentX .mobile-cards tr.mobile-cards-hdr { display: none; }
1068	.contentX .mobile-cards td,
1069	.contentX .mobile-cards th {
1070		display: block;
1071		width: 100% !important;
1072		height: auto !important;
1073		border: none !important;
1074		padding: 7px 0;
1075		text-align: left;
1076	}
1077	.contentX .mobile-cards td:first-child,
1078	.contentX .mobile-cards th:first-child {
1079		font-weight: 800;
1080		font-size: 17px;
1081		border-bottom: 1px solid #eef0f2 !important;
1082		padding-bottom: 8px;
1083		margin-bottom: 4px;
1084	}
1085	.contentX .mobile-cards td::before,
1086	.contentX .mobile-cards th::before {
1087		content: attr(data-label);
1088		display: block;
1089		font-weight: 700;
1090		font-size: 12.5px;
1091		letter-spacing: .03em;
1092		text-transform: uppercase;
1093		color: #546575;
1094		margin-bottom: 1px;
1095	}
1096	.contentX .mobile-cards td:first-child::before,
1097	.contentX .mobile-cards th:first-child::before { content: none; }
1098	.logoDiv span{
1099		font-size:14px;
1100	}
1101	.cities-panel ul li{ float:none; width:90%;}
1102	.usefullinksDiv ul li{width:36%;}
1103	.headingTxt{
1104		font-size:26px;
1105	}
1106	.getPriceDiv {margin-top:20px}
1107
1108	h1, h2, h3, h4 {text-align: center}
1109
1110}
1111
1112/* menu mobile v desktop*/
1113@media screen and (max-width:767px) {
1114	.showLargeScreenHeader {display: none}
1115	.smallScreenHeader {display: block;}
1116	.smallScreenMenuPhone {
1117		color: white;
1118		float:right;
1119		padding:5px 10px;
1120		font-size:20px;
1121		font-weight: bold
1122	}
1123	.toggleMenu{display:block;}
1124	.menu{ display:none;}
1125	.menu{ width:98%;}
1126
1127	.smallScreenMenuPhone a, .header_line1_phone a {
1128		border-radius:6px;
1129		border-style: solid;
1130		border-color: rgba(170, 170, 170, .4);
1131		border-width: 1px;
1132		padding: 2px 20px 5px;
1133	}
1134}
1135
1136/* Shrinking header on scroll */
1137.mainTopSpacer {
1138	transition: height 0.3s ease-out;
1139}
1140
1141/* Gallery text adjustment when header shrinks */
1142body.header-shrunk .gallery-text-container {
1143	top: 75px;
1144	transition: top 0.3s ease-out;
1145}
1146.gallery-text-container {
1147	transition: top 0.3s ease-out;
1148}
1149
1150/* Desktop: logo scales, wrappers shrink in height, phone stays full size */
1151@media screen and (min-width:768px) {
1152	.headerLine1Style .header_line1_company {
1153		transition: height 0.3s ease-out;
1154	}
1155	.headerLine1Style .call99-flex-vert-center {
1156		transition: height 0.3s ease-out;
1157	}
1158	.showLargeScreenHeader img {
1159		transition: transform 0.3s ease-out;
1160		transform-origin: left top;
1161	}
1162}
1163
1164/* Mobile: logo scales, row collapses via negative margin */
1165@media screen and (max-width:767px) {
1166	.headerLine1Style {
1167		transition: margin-bottom 0.3s ease-out;
1168	}
1169	.smallScreenHeader img {
1170		transition: transform 0.3s ease-out;
1171		transform-origin: center top;
1172	}
1173}
1174
1175/* Mobile Call Bar - mobile only */
1176/* Note: popup lead form positioning is handled in pop.up.lead.form.css */
1177
1178/* Hide mobile call bar on desktop */
1179@media screen and (min-width:768px) {
1180	#mobile-call-bar {
1181		display: none;
1182	}
1183}
1184
1185/* sm-blue.css */
1186.sm-blue {
1187	background: transparent;
1188}
1189.sm-blue a, .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active {
1190	padding: 10px 14px;
1191	/* make room for the toggle button (sub indicator) */
1192	/*background: black;*/
1193	color: white;
1194	font-size: 14px;
1195	font-weight: 500;
1196	line-height: 23px;
1197	text-transform:uppercase;
1198	text-decoration: none;
1199}
1200.sm-blue a:hover {
1201	background-color: #a1d1e8;
1202}
1203.sm-blue a.current {
1204	background: #e80000;
1205	color: white;
1206}
1207.sm-blue a.disabled {
1208	color: #a1d1e8;
1209}
1210.sm-blue a span.sub-arrow {
1211	position: absolute;
1212	top: 48%;
1213	margin-top: -17px;
1214	left: auto;
1215	right: 4px;
1216	width: 34px;
1217	height: 34px;
1218	overflow: hidden;
1219	font: bold 16px/34px monospace !important;
1220	text-align: center;
1221	text-shadow: none;
1222	background: #143621;
1223	border-radius: 4px; text-decoration:none;
1224}
1225.sm-blue a.highlighted span.sub-arrow:before {
1226	display: block;
1227	content: '-';
1228}
1229.sm-blue > li:first-child > a, .sm-blue > li:first-child > :not(ul) a {
1230}
1231.sm-blue > li:last-child > a, .sm-blue > li:last-child > *:not(ul) a, .sm-blue > li:last-child > ul,
1232.sm-blue > li:last-child > ul > li:last-child > a, .sm-blue > li:last-child > ul > li:last-child > *:not(ul) a, .sm-blue > li:last-child > ul > li:last-child > ul,
1233.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul,
1234.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul,
1235.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul {
1236}
1237.sm-blue > li:last-child > a.highlighted, .sm-blue > li:last-child > *:not(ul) a.highlighted,
1238.sm-blue > li:last-child > ul > li:last-child > a.highlighted, .sm-blue > li:last-child > ul > li:last-child > *:not(ul) a.highlighted,
1239.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > a.highlighted, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a.highlighted,
1240.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > a.highlighted, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a.highlighted,
1241.sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > a.highlighted, .sm-blue > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > ul > li:last-child > *:not(ul) a.highlighted {
1242	border-radius: 0;
1243}
1244.sm-blue ul {
1245	background: white;
1246}
1247.sm-blue ul ul {
1248	background: rgba(102, 102, 102, 0.1);
1249}
1250.sm-blue ul a {
1251	background: transparent;
1252	color: #333333;
1253	font-size: 14px;
1254	text-shadow: none;
1255	border-left: 8px solid transparent;
1256}
1257.sm-blue ul a.current {
1258	color: white; text-decoration:none;
1259}
1260.sm-blue ul a.disabled {
1261	color: #b3b3b3;
1262}
1263.sm-blue ul ul a,
1264.sm-blue ul ul a:hover,
1265.sm-blue ul ul a:focus,
1266.sm-blue ul ul a:active {
1267	border-left: 16px solid transparent; text-decoration:none;
1268}
1269.sm-blue ul ul ul a,
1270.sm-blue ul ul ul a:hover,
1271.sm-blue ul ul ul a:focus,
1272.sm-blue ul ul ul a:active {
1273	border-left: 24px solid transparent;
1274}
1275.sm-blue ul ul ul ul a,
1276.sm-blue ul ul ul ul a:hover,
1277.sm-blue ul ul ul ul a:focus,
1278.sm-blue ul ul ul ul a:active {
1279	border-left: 32px solid transparent;
1280}
1281.sm-blue ul ul ul ul ul a,
1282.sm-blue ul ul ul ul ul a:hover,
1283.sm-blue ul ul ul ul ul a:focus,
1284.sm-blue ul ul ul ul ul a:active {
1285	border-left: 40px solid transparent;
1286}
1287.sm-blue ul li {
1288	border-top: 1px solid rgba(0, 0, 0, 0.05);
1289	min-width: 240px;
1290}
1291.sm-blue ul li:first-child {
1292	border-top: 0;
1293}
1294.sm-blue ul li:hover {
1295	background-color: transparent;
1296}
1297
1298/* menu mobile v desktop*/
1299@media screen and (min-width: 768px) {
1300
1301	/* why? */
1302	/*.menu {display: inherit !important;}*/
1303
1304	/* Switch to ipad / desktop layout
1305	-----------------------------------------------
1306	   These transform the menu tree from
1307	   collapsible to desktop (navbar + dropdowns)
1308	-----------------------------------------------*/
1309	/* start... (it's not recommended editing these rules) */
1310	.sm-blue ul {
1311		position: absolute;
1312	}
1313
1314	.sm-blue li {
1315		display: inline-block;
1316	}
1317
1318	.sm-blue.sm-rtl li {
1319		float: right;
1320	}
1321
1322	.sm-blue ul li, .sm-blue.sm-rtl ul li, .sm-blue.sm-vertical li {
1323		float: none;
1324	}
1325
1326	.sm-blue a {
1327		white-space: nowrap;
1328	}
1329
1330	.sm-blue ul a, .sm-blue.sm-vertical a {
1331		white-space: normal;
1332	}
1333
1334	.sm-blue .sm-nowrap > li > a, .sm-blue .sm-nowrap > li > :not(ul) a {
1335		white-space: nowrap;
1336	}
1337
1338	/* ...end */
1339	.sm-blue {
1340	}
1341	.sm-blue a, .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active, .sm-blue a.highlighted {
1342		padding: 10px 22px;
1343	}
1344	.sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active, .sm-blue a.highlighted {
1345		background: #2c91c3;
1346	}
1347	.sm-blue a.current {
1348		/*background: #333;*/
1349		/*color: white;*/
1350	}
1351	.sm-blue a.disabled {
1352		/*background: #333;*/
1353		/*color: #a1d1e8;*/
1354	}
1355	.sm-blue a span.sub-arrow {
1356		/*top: auto;*/
1357		margin-top: 0;
1358		bottom: 16px;
1359		left: 90%;
1360		margin-left: -5px;
1361		right: auto;
1362		width: 0;
1363		height: 0;
1364		border-width: 5px;
1365		border-style: solid dashed dashed dashed;
1366		border-color: #d2d3d4 transparent transparent transparent;
1367		background: transparent;
1368		border-radius: 0;
1369	}
1370	.sm-blue a.highlighted span.sub-arrow:before {
1371		display: none;
1372	}
1373	.sm-blue > li:first-child > a, .sm-blue > li:first-child > :not(ul) a {
1374	}
1375	.sm-blue > li {
1376		border-left: 0 solid #2b82ac;
1377	}
1378	.sm-blue > li:first-child {
1379		border-left: 0;
1380	}
1381	.sm-blue ul {
1382		border: 1px solid #a8a8a8;
1383		padding: 7px 0;
1384		background: white;
1385		border-radius: 0 0 4px 4px;
1386		-webkit-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3);
1387		-moz-box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3);
1388		box-shadow: 0 5px 12px rgba(0, 0, 0, 0.3);
1389	}
1390	.sm-blue ul ul {
1391		background: white;
1392	}
1393	.sm-blue ul a, .sm-blue ul a:hover, .sm-blue ul a:focus, .sm-blue ul a:active, .sm-blue ul a.highlighted {
1394		border: 0 !important;
1395		padding: 9px 18px;
1396		background: transparent;
1397		/*color: #333333;*/
1398	}
1399	.sm-blue ul a:hover, .sm-blue ul a:focus, .sm-blue ul a:active, .sm-blue ul a.highlighted {
1400		/*background: #333;*/
1401		/*color: white;*/
1402	}
1403	.sm-blue ul a.current {
1404		/*background: #333;*/
1405		/*color: white;*/
1406	}
1407	.sm-blue ul a.disabled {
1408		/*background: white;*/
1409		/*color: #333333;*/
1410	}
1411	.sm-blue ul a span.sub-arrow {
1412		top: 50%;
1413		margin-top: -5px;
1414		bottom: auto;
1415		left: auto;
1416		margin-left: 0;
1417		right: 10px;
1418		border-style: dashed dashed dashed solid;
1419		border-color: transparent transparent transparent #a1d1e8;
1420	}
1421	.sm-blue ul li {
1422		border: 0;
1423	}
1424	.sm-blue span.scroll-up,
1425	.sm-blue span.scroll-down {
1426		position: absolute;
1427		display: none;
1428		visibility: hidden;
1429		overflow: hidden;
1430		background: white;
1431		height: 20px;
1432	}
1433	.sm-blue span.scroll-up-arrow, .sm-blue span.scroll-down-arrow {
1434		position: absolute;
1435		top: -2px;
1436		left: 50%;
1437		margin-left: -8px;
1438		width: 0;
1439		height: 0;
1440		overflow: hidden;
1441		border-width: 8px;
1442		border-style: dashed dashed solid dashed;
1443		border-color: transparent transparent #333333 transparent;
1444	}
1445	.sm-blue span.scroll-down-arrow {
1446		top: 6px;
1447		border-style: solid dashed dashed dashed;
1448		border-color: #333333 transparent transparent transparent;
1449	}
1450	.sm-blue.sm-rtl.sm-vertical a span.sub-arrow {
1451		right: auto;
1452		left: 10px;
1453		border-style: dashed solid dashed dashed;
1454		border-color: transparent #d2d3d4 transparent transparent;
1455	}
1456	.sm-blue.sm-rtl > li:first-child > a, .sm-blue.sm-rtl > li:first-child > :not(ul) a {
1457		border-radius: 0 8px 8px 0;
1458	}
1459	.sm-blue.sm-rtl > li:first-child {
1460		border-left: 1px solid #333333;
1461	}
1462	.sm-blue.sm-rtl > li:last-child {
1463		border-left: 0;
1464	}
1465	.sm-blue.sm-rtl ul a span.sub-arrow {
1466		right: auto;
1467		left: 10px;
1468		border-style: dashed solid dashed dashed;
1469		border-color: transparent #d2d3d4 transparent transparent;
1470	}
1471	.sm-blue.sm-vertical {
1472		-webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
1473		-moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
1474		box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
1475	}
1476	.sm-blue.sm-vertical a {
1477		padding: 9px 23px;
1478	}
1479	.sm-blue.sm-vertical a span.sub-arrow {
1480		top: 50%;
1481		margin-top: -5px;
1482		bottom: auto;
1483		left: auto;
1484		margin-left: 0;
1485		right: 10px;
1486		border-style: dashed dashed dashed solid;
1487		border-color: transparent transparent transparent #a1d1e8;
1488	}
1489	.sm-blue.sm-vertical > li:first-child > a, .sm-blue.sm-vertical > li:first-child > :not(ul) a {
1490		border-radius: 8px 8px 0 0;
1491	}
1492	.sm-blue.sm-vertical > li:last-child > a, .sm-blue.sm-vertical > li:last-child > :not(ul) a {
1493		border-radius: 0 0 8px 8px;
1494	}
1495	.sm-blue.sm-vertical > li {
1496		border-left: 0 !important;
1497	}
1498	.sm-blue.sm-vertical ul {
1499		border-radius: 4px !important;
1500	}
1501	.sm-blue.sm-vertical ul a {
1502		padding: 9px 23px;
1503	}
1504}
1505
1506/* align tracking telephone number to vertical center of logo */
1507@media screen and (min-width:768px) {
1508	div.call99-flex-vert-center {
1509		display: flex;
1510		flex-direction: column;
1511		justify-content: center;
1512		text-align: right;
1513	}
1514	div.headerLine1Style {
1515		display: flex;
1516		flex-direction: row;
1517		vertical-align: middle;
1518		justify-content: space-between;
1519		max-width: 980px;
1520		margin: auto;
1521	}
1522}
1523
1524/* =============================================================================
1525   MENU — CSS-first SmartMenus replacement (from Pro v6.1).
1526   Keeps the .sm-blue visual language; adds :hover/:focus-within dropdowns
1527   (desktop), max-height drawer + .is-open accordion (mobile), hamburger
1528   morph-to-×, and scrim. Caret is a single down-pointing CSS triangle;
1529   nested/mobile variants are just CSS rotations of that triangle.
1530   ============================================================================= */
1531
1532button.toggleMenu {
1533	display: none; /* → inline-flex on mobile */
1534	align-items: center;
1535	gap: 10px;
1536	background: none;
1537	border: 0;
1538	margin: 0;
1539	padding: 8px 12px;
1540	min-height: 44px; /* WCAG 2.5.5 AAA tap target */
1541	border-radius: 6px;
1542	cursor: pointer;
1543	text-align: left;
1544	font: inherit;
1545	font-weight: 500;
1546	letter-spacing: 0.02em;
1547	-webkit-tap-highlight-color: transparent;
1548	transition: background-color 160ms cubic-bezier(.4,0,.2,1),
1549	            transform 120ms cubic-bezier(.4,0,.2,1);
1550}
1551button.toggleMenu:hover { background-color: rgba(255,255,255,0.08); }
1552button.toggleMenu:active { transform: scale(0.96); }
1553button.toggleMenu:focus-visible {
1554	outline: 2px solid currentColor;
1555	outline-offset: 2px;
1556}
1557
1558.toggleMenuIcon {
1559	position: relative;
1560	display: inline-block;
1561	width: 22px;
1562	height: 16px;
1563	flex-shrink: 0;
1564}
1565.toggleMenuIcon > span {
1566	position: absolute;
1567	left: 0;
1568	width: 100%;
1569	height: 2px;
1570	background: currentColor;
1571	border-radius: 1px;
1572	transition: transform 220ms cubic-bezier(.4,0,.2,1),
1573	            opacity 120ms ease,
1574	            top 220ms cubic-bezier(.4,0,.2,1);
1575}
1576.toggleMenuIcon > span:nth-child(1) { top: 2px; }
1577.toggleMenuIcon > span:nth-child(2) { top: 7px; }
1578.toggleMenuIcon > span:nth-child(3) { top: 12px; }
1579
1580/* Open state: rails morph into an × */
1581button.toggleMenu[aria-expanded="true"] .toggleMenuIcon > span:nth-child(1) {
1582	top: 7px; transform: rotate(45deg);
1583}
1584button.toggleMenu[aria-expanded="true"] .toggleMenuIcon > span:nth-child(2) {
1585	opacity: 0;
1586}
1587button.toggleMenu[aria-expanded="true"] .toggleMenuIcon > span:nth-child(3) {
1588	top: 7px; transform: rotate(-45deg);
1589}
1590
1591/* Caret on .has-sub triggers (replaces SmartMenus' JS-injected sub-arrow).
1592   Base points down; rotated in nested/mobile contexts via transform. */
1593#main-menu li.has-sub > a::after {
1594	content: "";
1595	display: inline-block;
1596	width: 0;
1597	height: 0;
1598	margin-left: 8px;
1599	vertical-align: middle;
1600	border: 4px solid transparent;
1601	border-top-color: currentColor;
1602	opacity: 0.75;
1603	transition: transform 180ms ease;
1604}
1605
1606/* ── DESKTOP (≥768px): hover/focus-within dropdowns ───────────────────────── */
1607@media screen and (min-width: 768px) {
1608	#main-menu > li,
1609	#main-menu ul li { position: relative; }
1610
1611	#main-menu li:hover > ul,
1612	#main-menu li:focus-within > ul { display: block; }
1613
1614	/* No-JS baseline: scroll only "flat" dropdowns (no nested fly-out). A panel
1615	   that hosts a fly-out must stay overflow:visible here — otherwise
1616	   overflow-y:auto promotes overflow-x to auto too, clipping the left:100%
1617	   fly-out and trapping it scrolling inside the parent. Long flat menus (e.g.
1618	   16-item Services) still scroll: #header is fixed at ~160px; the 220px
1619	   offset leaves ~60px bottom margin so the last row clears the viewport. */
1620	#main-menu ul:not(:has(> li.has-sub)) {
1621		max-height: calc(100vh - 220px);
1622		overflow-y: auto;
1623		overscroll-behavior: contain;
1624		scrollbar-gutter: stable;
1625	}
1626	/* JS present (html.menu-js): scroll fly-out-hosting panels as well — the nav
1627	   controller re-anchors each open fly-out as position:fixed so it escapes
1628	   this overflow instead of being clipped. Keeps long Learn-style menus
1629	   scrollable without sacrificing the fly-out. */
1630	html.menu-js #main-menu ul {
1631		max-height: calc(100vh - 220px);
1632		overflow-y: auto;
1633		overscroll-behavior: contain;
1634		scrollbar-gutter: stable;
1635	}
1636	#main-menu > li > ul { top: 100%; left: 0; }
1637	/* A fly-out opens flush against the parent's right edge; the inherited
1638	   .sm-blue drop shadow would blur back across that seam as a gray band.
1639	   The panel's 1px border already separates it, so drop the shadow here. */
1640	#main-menu ul ul { top: 0; left: 100%; box-shadow: none; }
1641
1642	/* Top-level caret flips to ▲ when its dropdown is open */
1643	#main-menu > li.has-sub:hover > a::after,
1644	#main-menu > li.has-sub:focus-within > a::after {
1645		transform: rotate(180deg);
1646	}
1647	/* Nested items: caret points ▶ (floated next to the label) */
1648	#main-menu ul li.has-sub > a::after {
1649		float: right;
1650		margin: 6px 0 0;
1651		transform: rotate(-90deg);
1652	}
1653
1654	.menu-drawer-scrim { display: none; }
1655}
1656
1657/* ── MOBILE (<768px): slide-down drawer + accordion submenus ──────────────── */
1658@media screen and (max-width: 767px) {
1659	button.toggleMenu { display: inline-flex; }
1660	button.toggleMenu[aria-expanded="true"] { opacity: 0.85; }
1661
1662	/* Drawer panel. .menu.headerMenuStyle has to out-specify the mobile
1663	   .menu{display:none} rule (line ~990). */
1664	.menu.headerMenuStyle {
1665		display: block;
1666		max-height: 0;
1667		overflow: hidden;
1668		transition: max-height 320ms ease;
1669	}
1670	body[data-menu-drawer="open"] .menu.headerMenuStyle {
1671		max-height: 85vh;
1672		overflow-y: auto;
1673	}
1674	body[data-menu-drawer="open"] { overflow: hidden; }
1675
1676	.menu-drawer-scrim {
1677		position: fixed;
1678		inset: 0;
1679		background: rgba(0,0,0,0.4);
1680		z-index: 998;
1681	}
1682
1683	/* Accordion submenus */
1684	#main-menu li.has-sub > ul { display: none; }
1685	#main-menu li.has-sub.is-open > ul { display: block; }
1686
1687	/* Caret points ▶ when closed, ▼ when open (rotated back to base) */
1688	#main-menu li.has-sub > a::after {
1689		float: right;
1690		margin: 10px 4px 0 0;
1691		transform: rotate(-90deg);
1692	}
1693	#main-menu li.has-sub.is-open > a::after {
1694		transform: rotate(0deg);
1695	}
1696}
1697
1698
1699	</style>
1700
1701
1702	
1703
1704															
1705		
1706		
1707			
1708	
1709																											
1710							
1711							
1712														
1713																				
1714																									
1715
1716	<style>
1717		#header {
1718			color: #36923d;
1719			background-color: white;
1720			
1721		}
1722		#header .phoneNumber {
1723			color: #36923d;
1724			text-decoration: none;
1725			
1726		}
1727		.headerLine1Style a, .headerLine1Style a h2 {
1728			color: inherit;
1729		}
1730				.headerLine1Style * {
1731			font-weight: 550;
1732		}
1733						.headerLine2Style {
1734			background-color: #56a05c;
1735		}
1736		.sm-blue ul, .sm-blue ul a, .sm-blue a, .sm-blue a:hover, .sm-blue a:focus, .sm-blue a:active {
1737			color: white;
1738			background-color: #56a05c;
1739		}
1740		.sm-blue a:hover, .sm-blue a.highlighted {
1741			color: white;
1742			background-color: #36923d;
1743		}
1744		.sm-blue ul a:hover {
1745			color: white;
1746			background-color: #36923d;
1747		}
1748				@media screen and (min-width: 768px) {
1749			#main-menu > li.has-sub:hover > a,
1750			#main-menu > li.has-sub:focus-within > a {
1751				background-color: #36923d;
1752				color: white;
1753			}
1754						#main-menu ul ul {
1755				background-color: #56a05c;
1756			}
1757		}
1758		.toggleMenu {
1759			color: white
1760		}
1761		#header .smallScreenHeader .phoneNumber {
1762			color: white;
1763			text-decoration: none;
1764		}
1765		
1766		a, .contentX a.phoneNumber, a.phoneNumber {
1767			color: #36923d;
1768		}
1769		a:hover {
1770			color: black;
1771			text-decoration: underline;
1772		}
1773
1774		.useboxright, .useboxright a, .useboxright li {
1775			color: white;
1776			background-color: #56a05c;
1777		}
1778		a.reviewBtn div {
1779			color: white;
1780			background-color: #36923d;
1781			
1782		}
1783		.getPriceDiv {
1784			color: white;
1785			background-color: #56a05c;
1786		}
1787		.submit-field {
1788            color: white;
1789			background-color: #36923d;
1790			
1791		}
1792		.getPriceFormDiv {
1793			background: #f6f7fe;
1794			color: #333;
1795		}
1796		.getPriceFormDiv .check-field label {
1797			color: #333;
1798		}
1799		.footerDivMn {
1800			color: white;
1801			background-color: #56a05c;
1802		}
1803
1804
1805		
1806			</style>
1807
1808
1809
1810	
1810<script type="application/ld+json">
1811{"@context":"https://www.schema.org","@type":"LocalBusiness","name":"Certified Green Team","telephone":"+16315282509","url":"https://certified-green-team-li.com","image":"https://certified-green-team-li.com/userfiles/4660/cgt_logo_animated_1.gif","priceRange":"$$","address":{"@type":"PostalAddress","streetAddress":"123 Main St","addressLocality":"Westbury","addressRegion":"NY","postalCode":"11590","addressCountry":"United States"},"contactPoint":[{"@type":"ContactPoint","telephone":"+16315282509","contactType":"sales"}]}
1812</script>
1812		
1812<script type="application/ld+json">
1813{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How often should I have my carpets professionally cleaned?","acceptedAnswer":{"@type":"Answer","text":"At Certified Green Team, we recommend professional carpet cleaning every 12 months for most homes. Homes with pets, children, allergy concerns, or high traffic should schedule cleaning every 6\u20139 months. Regular maintenance extends the life of your carpet and keeps your indoor air healthier."}},{"@type":"Question","name":"What carpet cleaning method do you use?","acceptedAnswer":{"@type":"Answer","text":"We use a powerful eco-friendly hot water extraction method (commonly known as steam cleaning). Our process removes deep-embedded dirt, allergens, bacteria, and residues using non-toxic, biodegradable cleaning solutions that are safe for your family and pets."}},{"@type":"Question","name":"How long does it take for carpets to dry after cleaning?","acceptedAnswer":{"@type":"Answer","text":"Most carpets dry within 4\u20138 hours. Our commercial-grade extraction equipment removes the majority of moisture during cleaning to ensure faster drying and minimal disruption to your home."}},{"@type":"Question","name":"Can professional carpet cleaning remove pet stains and odors?","acceptedA
1813nswer":{"@type":"Answer","text":"Yes. We specialize in advanced pet stain and odor treatment. Our enzyme-based solutions break down urine crystals at the source instead of masking odors. For severe contamination, we offer deep sub-surface treatment options."}},{"@type":"Question","name":"Is professional carpet cleaning safe for children and pets?","acceptedAnswer":{"@type":"Answer","text":"Absolutely. Certified Green Team uses green, non-toxic, eco-safe cleaning products that leave no harsh chemical residue behind. Your carpets are safe for children and pets once dry."}}]}
1814</script>
1814		<style>		.cta-call-btn {
1815			background-color: #FFA500;
1816			color: #FFFFFF;
1817		}
1818		.cta-call-btn:hover {
1819			background-color: #FFB733;
1820			color: #FFFFFF;
1821			transform: translateY(-1px);
1822			text-decoration: none;
1823		}
1824		.cta-call-btn.cta-shadow-subtle {
1825			box-shadow: 0 4px 10px rgba(0,0,0,0.2);
1826		}
1827		.cta-call-btn.cta-shadow-subtle:hover {
1828			box-shadow: 0 8px 18px rgba(0,0,0,0.26);
1829		}
1830		.cta-call-btn.cta-shadow-strong {
1831			box-shadow: 0 8px 20px rgba(0,0,0,0.3);
1832		}
1833		.cta-call-btn.cta-shadow-strong:hover {
1834			box-shadow: 0 12px 26px rgba(0,0,0,0.34);
1835		}
1836		.cta-call-btn.cta-shadow-none:hover {
1837			box-shadow: 0 6px 16px rgba(0,0,0,0.18);
1838		}
1839</style>
1840
1841			<style>.headerLine1Style * {
1842  font-weight: 550
1843}
1844.specials-1card { border-radius: 30px; }
1845.specials-2card { border-radius: 30px; }
1846.specials-3card { border-radius: 30px; }</style>	
1847			<link rel="stylesheet" href="/css/faq.css?v1.0" type="text/css"/>
1848		
1848<script src="/js/faq.js?v1.0"></script>
1848
1849			</head>
1850
1851<body>
1852<!-- Header Starts Here -->
1853
1854<header class="w3-container pad0">
1855
1856		<div id="header" class="w3-container pad0 headerStyle">
1857
1858				<div class="headerLine1Style">
1859							<a href="/" class="showLargeScreenHeader header_line1_company"><img src="/userfiles/4660/cgt_logo_animated_1.gif" alt="Certified Green Team" class="LogoDesktop"
1860					 style="width:300px; height:129px; margin-top: 20px; margin-bottom: 10px; margin-left: 30px;"></a>
1861				<a href="/" class="smallScreenHeader w3-rest w3-center"><img src="/userfiles/4660/cgt_logo_animated_1.gif" alt="Certified Green Team" class="LogoMobile"
1862					 style="width:240px; height:93px; margin: 10px auto 5px auto;"></a>
1863						<div class="call99-flex-vert-center">
1864				<h4 class="showLargeScreenHeader header_line1_phone pad-sides-10">
1865					<a class="phoneNumber primaryPhone" href="tel:+16315282509">(631) 528-2509</a>
1866				</h4>
1867			</div>
1868		</div>
1869
1870				<div class="w3-container pad0 w3-row headerLine2Style">
1871
1872						<button type="button" class="toggleMenu headerMenuStyle" id="menuIcn"
1873			        aria-label="Menu" aria-expanded="false" aria-controls="main-menu-drawer">
1874				<span class="toggleMenuIcon" aria-hidden="true">
1875					<span></span><span></span><span></span>
1876				</span>
1877				<span class="toggleMenuLabel">Menu</span>
1878			</button>
1879			<span class="smallScreenHeader smallScreenMenuPhone headerMenuStyle">
1880				<p style="font-size: xx-small;position: relative;top: 13px;display: inline;right: -50%;background-color: #56a05c;color: white">Call Now</p>
1881				<a class="phoneNumber primaryPhone" href="tel:+16315282509">(631) 528-2509</a>
1882			</span>
1883
1884			<div class="menu headerMenuStyle w3-clear w3-center" id="main-menu-drawer">
1885
1886								<nav aria-label="Primary">
1887					<ul id="main-menu" class="sm sm-blue">
1888																											<li><a href="/">Home</a></li>
1889																												<li class="has-sub"><a href="#">Services</a><ul><li><a href="/Carpet-Cleaning.htm">Carpet Cleaning</a></li><li><a href="/Upholstery-Cleaning.htm">Upholstery Cleaning</a></li><li><a href="/Mattress-Cleaning.htm">Mattress Cleaning</a></li><li><a href="/Sofa-Cleaning.htm">Sofa Cleaning</a></li><li><a href="/Chimney-Cleaning.htm">Chimney Cleaning</a></li><li><a href="/Area-Rug-Repair.htm">Area Rug Repair</a></li><li><a href="/Curtain-Cleaning.htm">Curtain Cleaning</a></li><li><a href="/Air-Duct-Cleaning.htm">Air Duct Cleaning</a></li><li><a href="/Dryer-Vent-Cleaning.htm">Dryer Vent Cleaning</a></li><li><a href="/Area-Rug-Cleaning.htm">Area Rug Cleaning</a></li><li><a href="/Oriental-Rug-Cleaning.htm">Oriental Rug Cleaning</a></li><li><a href="/Carpet-Stain-Removal.htm">Carpet Stain Removal</a></li><li><a href="/Steam-Cleaning.htm">Steam Cleaning</a></li><li><a href="/Mold-Removal.htm">Mold Removal</a></li><li><a href="/Gutter-Cleaning.htm">Gutter Cleaning</a></li><li><a href="/Pressure-Washing.htm">Pressure Washing</a></li><li><a href="/Water-Damage-Restoration.htm">Water Damage Restoration</a></li><li><a href="/Emergency-Water-Extraction.htm">Emergency Water Extraction</a></li></ul></li>
1890																												<li><a href="/towns.htm">Service Area</a></li>
1891																												<li><a href="/testimonials.htm">Reviews</a></li>
1892																												<li><a href="/contact.htm">Contact Us</a></li>
1893																								</ul>
1894				</nav>
1895
1896			</div>
1897
1898		</div>
1899
1900	</div>
1901	
1902		<div class="menu-drawer-scrim" id="menu-drawer-scrim" hidden></div>
1903
1904</header>
1905
1906
1907<script>
1908(function() {
1909	var btn = document.getElementById('menuIcn');
1910	var drawer = document.getElementById('main-menu-drawer');
1911	var scrim = document.getElementById('menu-drawer-scrim');
1912	if (!btn || !drawer || !scrim) return;
1913
1914	var body = document.body;
1915	var isMobile = function() { return window.innerWidth < 768; };
1916	var isOpen = function() { return body.getAttribute('data-menu-drawer') === 'open'; };
1917
1918	function setDrawer(open) {
1919		if (open) body.setAttribute('data-menu-drawer', 'open');
1920		else body.removeAttribute('data-menu-drawer');
1921		btn.setAttribute('aria-expanded', open ? 'true' : 'false');
1922		scrim.hidden = !open;
1923		if (!open) {
1924			// collapse submenus so the drawer reopens clean
1925			drawer.querySelectorAll('.has-sub.is-open').forEach(function(li) {
1926				li.classList.remove('is-open');
1927			});
1928		}
1929	}
1930
1931	btn.addEventListener('click', function(e) { e.preventDefault(); setDrawer(!isOpen()); });
1932	scrim.addEventListener('click', function() { setDrawer(false); });
1933
1934	document.addEventListener('keydown', function(e) {
1935		if (e.key === 'Escape' && isOpen()) { setDrawer(false); btn.focus(); }
1936	});
1937
1938	// Mobile-only: tap a has-sub trigger (href="#") → toggle accordion
1939	drawer.addEventListener('click', function(e) {
1940		var link = e.target.closest('a');
1941		if (!link || !isMobile()) return;
1942		var parent = link.parentElement;
1943		if (!parent || !parent.classList.contains('has-sub')) return;
1944		var href = link.getAttribute('href');
1945		if (href && href !== '#') return;
1946		e.preventDefault();
1947		parent.classList.toggle('is-open');
1948	});
1949
1950	// Cross the breakpoint while open → close cleanly
1951	var resizeTimer;
1952	window.addEventListener('resize', function() {
1953		clearTimeout(resizeTimer);
1954		resizeTimer = setTimeout(function() {
1955			if (!isMobile() && isOpen()) setDrawer(false);
1956			clearAllFlyouts(); // drop stale fixed-position styles; next hover re-places
1957		}, 100);
1958	});
1959
1960	// Desktop keyboard nav across top-level items
1961	var topItems = drawer.querySelectorAll('#main-menu > li > a');
1962	topItems.forEach(function(a, idx) {
1963		a.addEventListener('keydown', function(e) {
1964			if (isMobile()) return;
1965			var n = topItems.length, target;
1966			if (e.key === 'ArrowRight') target = (idx + 1) % n;
1967			else if (e.key === 'ArrowLeft') target = (idx - 1 + n) % n;
1968			else if (e.key === 'Home') target = 0;
1969			else if (e.key === 'End') target = n - 1;
1970			else return;
1971			e.preventDefault();
1972			topItems[target].focus();
1973		});
1974	});
1975
1976	// ── Desktop fly-out escape ────────────────────────────────────────────────
1977	// With html.menu-js, fly-out-hosting panels scroll vertically (CSS), which
1978	// would clip a nested fly-out. Re-anchor each open fly-out as position:fixed
1979	// (escapes ancestor overflow) and keep it aligned to its trigger row. JS and
1980	// the scroll-enabling CSS are coupled via the menu-js flag so the no-JS
1981	// baseline never clips.
1982	function flyoutOf(li) { return li.querySelector(':scope > ul'); }
1983
1984	function placeFlyout(li) {
1985		var ul = flyoutOf(li);
1986		if (!ul) return;
1987		ul.style.position = 'fixed';
1988		ul.style.left = '0px';
1989		ul.style.top = '0px';
1990		// Fixed positioning makes the viewport the containing block, so the panel
1991		// would shrink-to-fit to max-content and lay its inline-block items out as
1992		// a horizontal strip. Pin to min-content to keep it a single column.
1993		ul.style.width = 'min-content';
1994		var row = li.getBoundingClientRect();
1995		var w = ul.offsetWidth, h = ul.offsetHeight;
1996		// open to the right of the row; flip to the left if there's no room
1997		var left = row.right;
1998		if (left + w > window.innerWidth - 4) left = Math.max(4, row.left - w);
1999		// align tops, but clamp so a tall fly-out stays within the viewport
2000		var top = Math.min(row.top, Math.max(8, window.innerHeight - 8 - h));
2001		ul.style.left = left + 'px';
2002		ul.style.top = top + 'px';
2003	}
2004
2005	function clearFlyout(li) {
2006		var ul = flyoutOf(li);
2007		if (!ul) return;
2008		ul.style.position = ul.style.left = ul.style.top = ul.style.width = '';
2009	}
2010
2011	function clearAllFlyouts() {
2012		drawer.querySelectorAll('#main-menu ul li.has-sub').forEach(clearFlyout);
2013	}
2014
2015	drawer.querySelectorAll('#main-menu ul li.has-sub').forEach(function(li) {
2016		li.addEventListener('mouseenter', function() { if (!isMobile()) placeFlyout(li); });
2017		li.addEventListener('mouseleave', function() { if (!isMobile()) clearFlyout(li); });
2018		li.addEventListener('focusin', function() { if (!isMobile()) placeFlyout(li); });
2019		li.addEventListener('focusout', function(e) {
2020			if (!isMobile() && !li.contains(e.relatedTarget)) clearFlyout(li);
2021		});
2022	});
2023
2024	// Keep an open fly-out aligned as its scroll-parent (or the window) scrolls.
2025	// Capture phase catches non-bubbling scroll on the inner panels too.
2026	window.addEventListener('scroll', function() {
2027		if (isMobile()) return;
2028		drawer.querySelectorAll('#main-menu ul li.has-sub').forEach(function(li) {
2029			if (li.matches(':hover') || li.contains(document.activeElement)) placeFlyout(li);
2030		});
2031	}, true);
2032
2033	document.documentElement.classList.add('menu-js');
2034})();
2035</script>
2035
2036
2037
2038<!-- Header Ends here -->
2039
2040
2041<!-- page content starts here -->
2042
2043<main class="w3-container pad0 w3-center">
2044
2045		<div class="w3-container pad0 showLargeScreenHeader mainTopSpacer"></div>
2046
2047	<div class="w3-container pad0 smallScreenHeader">
2048		<div class="w3-container pad0 mainTopSpacer"></div>
2049	</div>
2050
2051	
2051<script>
2052				function setMainTopSpacer() {
2053			var headerHeight = document.getElementById('header').offsetHeight;
2054			var elements = document.getElementsByClassName('mainTopSpacer');
2055			for (var i = 0, len = elements.length; i < len; i++) {
2056				elements[i].style.height = headerHeight+"px";
2057			}
2058						document.documentElement.style.setProperty('--header-h', headerHeight + 'px');
2059		}
2060		setMainTopSpacer();
2061
2062								(function() {
2063			'use strict';
2064
2065			var header = document.getElementById('header');
2066			var SHRINK_THRESHOLD = 50;
2067			var isShrunk = false;
2068			var ticking = false;
2069			var MOBILE_SCALE = 0.5;
2070			var DESKTOP_SCALE = 0.7;
2071
2072			function getVisibleLogo() {
2073				if (window.innerWidth >= 768) {
2074					return header.querySelector('.showLargeScreenHeader img');
2075				}
2076				return header.querySelector('.smallScreenHeader img');
2077			}
2078
2079			var isDesktop = window.innerWidth >= 768;
2080			var scale = isDesktop ? DESKTOP_SCALE : MOBILE_SCALE;
2081			var logoImg = getVisibleLogo();
2082			if (!logoImg) return;
2083
2084			var headerLine1 = header.querySelector('.headerLine1Style');
2085			// Desktop: get logo wrapper and phone container for independent height control
2086			var logoWrapper = isDesktop ? (logoImg.closest('a') || logoImg.parentElement) : null;
2087			var phoneContainer = isDesktop ? headerLine1.querySelector('.call99-flex-vert-center') : null;
2088
2089			var expandedHeight = header.offsetHeight;
2090			var expandedLogoWrapperH = logoWrapper ? logoWrapper.offsetHeight : 0;
2091			var expandedPhoneH = phoneContainer ? phoneContainer.offsetHeight : 0;
2092			// Mobile: margin collapse on headerLine1
2093			var expandedLine1H = headerLine1 ? headerLine1.offsetHeight : 0;
2094			var mobileShrinkMargin = Math.round(expandedLine1H * (1 - MOBILE_SCALE));
2095			var shrunkHeight;
2096
2097			// Desktop shrunk heights: scale both containers so flex row actually shrinks
2098			var shrunkLogoWrapperH = Math.round(expandedLogoWrapperH * DESKTOP_SCALE);
2099			var shrunkPhoneH = Math.round(expandedPhoneH * DESKTOP_SCALE);
2100
2101			function applyDesktopShrink() {
2102				logoImg.style.transform = 'scale(' + DESKTOP_SCALE + ')';
2103				logoWrapper.style.height = shrunkLogoWrapperH + 'px';
2104				logoWrapper.style.overflow = 'hidden';
2105				if (phoneContainer) {
2106					phoneContainer.style.height = shrunkPhoneH + 'px';
2107					phoneContainer.style.overflow = 'hidden';
2108				}
2109			}
2110
2111			function clearDesktopShrink() {
2112				logoImg.style.transform = '';
2113				logoWrapper.style.height = expandedLogoWrapperH + 'px';
2114				logoWrapper.style.overflow = '';
2115				if (phoneContainer) {
2116					phoneContainer.style.height = expandedPhoneH + 'px';
2117					phoneContainer.style.overflow = '';
2118				}
2119			}
2120
2121			function applyMobileShrink() {
2122				logoImg.style.transform = 'scale(' + MOBILE_SCALE + ')';
2123				headerLine1.style.marginBottom = '-' + mobileShrinkMargin + 'px';
2124			}
2125
2126			function clearMobileShrink() {
2127				logoImg.style.transform = '';
2128				headerLine1.style.marginBottom = '';
2129			}
2130
2131			// Measure shrunk height without transitions
2132			function disableTransitions() {
2133				header.style.transition = 'none';
2134				if (headerLine1) headerLine1.style.transition = 'none';
2135				if (logoWrapper) logoWrapper.style.transition = 'none';
2136				if (phoneContainer) phoneContainer.style.transition = 'none';
2137			}
2138			function enableTransitions() {
2139				header.style.transition = '';
2140				if (headerLine1) headerLine1.style.transition = '';
2141				if (logoWrapper) logoWrapper.style.transition = '';
2142				if (phoneContainer) phoneContainer.style.transition = '';
2143			}
2144
2145			disableTransitions();
2146			header.classList.add('header-shrunk');
2147			if (isDesktop) { applyDesktopShrink(); } else { applyMobileShrink(); }
2148			shrunkHeight = header.offsetHeight;
2149			if (isDesktop) { clearDesktopShrink(); } else { clearMobileShrink(); }
2150			header.classList.remove('header-shrunk');
2151			void header.offsetHeight;
2152			// Set explicit heights so CSS can transition between values (auto → px doesn't animate)
2153			if (isDesktop) {
2154				logoWrapper.style.height = expandedLogoWrapperH + 'px';
2155				if (phoneContainer) phoneContainer.style.height = expandedPhoneH + 'px';
2156			}
2157			enableTransitions();
2158
2159			function setSpacerHeight(height) {
2160				var elements = document.getElementsByClassName('mainTopSpacer');
2161				for (var i = 0, len = elements.length; i < len; i++) {
2162					elements[i].style.height = height + 'px';
2163				}
2164				document.documentElement.style.setProperty('--header-h', height + 'px');
2165			}
2166
2167			function updateHeader() {
2168				var scrollY = window.scrollY || window.pageYOffset;
2169				var shouldShrink = scrollY > SHRINK_THRESHOLD;
2170
2171				if (shouldShrink !== isShrunk) {
2172					isShrunk = shouldShrink;
2173					if (shouldShrink) {
2174						header.classList.add('header-shrunk');
2175						document.body.classList.add('header-shrunk');
2176						if (isDesktop) { applyDesktopShrink(); } else { applyMobileShrink(); }
2177						setSpacerHeight(shrunkHeight);
2178					} else {
2179						header.classList.remove('header-shrunk');
2180						document.body.classList.remove('header-shrunk');
2181						if (isDesktop) { clearDesktopShrink(); } else { clearMobileShrink(); }
2182						setSpacerHeight(expandedHeight);
2183					}
2184				}
2185				ticking = false;
2186			}
2187
2188			window.addEventListener('scroll', function() {
2189				if (!ticking) {
2190					requestAnimationFrame(updateHeader);
2191					ticking = true;
2192				}
2193			}, { passive: true });
2194
2195			window.addEventListener('resize', function() {
2196				var wasDesktop = isDesktop;
2197				isDesktop = window.innerWidth >= 768;
2198				logoImg = getVisibleLogo();
2199				if (!logoImg) return;
2200
2201				disableTransitions();
2202
2203				// Clear previous state fully (use '' not expanded px so auto-height is measured)
2204				header.classList.remove('header-shrunk');
2205				document.body.classList.remove('header-shrunk');
2206				if (wasDesktop && logoWrapper) {
2207					logoImg.style.transform = '';
2208					logoWrapper.style.height = '';
2209					logoWrapper.style.overflow = '';
2210					if (phoneContainer) { phoneContainer.style.height = ''; phoneContainer.style.overflow = ''; }
2211				} else { clearMobileShrink(); }
2212				headerLine1.style.marginBottom = '';
2213
2214				// Re-acquire elements if viewport crossed breakpoint
2215				logoWrapper = isDesktop ? (logoImg.closest('a') || logoImg.parentElement) : null;
2216				phoneContainer = isDesktop ? headerLine1.querySelector('.call99-flex-vert-center') : null;
2217
2218				// Re-measure expanded (heights are auto now)
2219				expandedHeight = header.offsetHeight;
2220				expandedLogoWrapperH = logoWrapper ? logoWrapper.offsetHeight : 0;
2221				expandedPhoneH = phoneContainer ? phoneContainer.offsetHeight : 0;
2222				expandedLine1H = headerLine1 ? headerLine1.offsetHeight : 0;
2223				mobileShrinkMargin = Math.round(expandedLine1H * (1 - MOBILE_SCALE));
2224				shrunkLogoWrapperH = Math.round(expandedLogoWrapperH * DESKTOP_SCALE);
2225				shrunkPhoneH = Math.round(expandedPhoneH * DESKTOP_SCALE);
2226
2227				// Measure shrunk
2228				header.classList.add('header-shrunk');
2229				if (isDesktop) { applyDesktopShrink(); } else { applyMobileShrink(); }
2230				shrunkHeight = header.offsetHeight;
2231
2232				if (!isShrunk) {
2233					header.classList.remove('header-shrunk');
2234					if (isDesktop) { clearDesktopShrink(); } else { clearMobileShrink(); }
2235				} else {
2236					document.body.classList.add('header-shrunk');
2237				}
2238				void header.offsetHeight;
2239				// Set explicit heights for smooth transitions
2240				if (isDesktop && !isShrunk) {
2241					logoWrapper.style.height = expandedLogoWrapperH + 'px';
2242					if (phoneContainer) phoneContainer.style.height = expandedPhoneH + 'px';
2243				}
2244				enableTransitions();
2245				setSpacerHeight(isShrunk ? shrunkHeight : expandedHeight);
2246			});
2247		})();
2248			</script>
2248
2249
2250							
2251		<div id="content" class="w3-container pad0 w3-clear servicePage">
2252		
2253			
2254																	<div class="w3-container w3-content contentX">
2255						<div style="max-width:580px; margin:0 auto; padding:14px 12px 10px; text-align:center;">
2256
2257  <p style="font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#339933; margin:0 0 10px 0;"></p>
2258
2259  <h1 style="font-size:clamp(26px,6.5vw,38px); font-weight:900; line-height:1.2; color:#1a1a1a; margin:0 0 14px 0;">Professional Carpet Cleaning</h1>
2260
2261  <a href="tel:tel:6315282509" style="display:block; background:#339933; color:#fff; font-size:22px; font-weight:900; padding:17px 12px; border-radius:6px; text-decoration:none; margin:0 0 8px 0; line-height:1.25;">(631) 528-2509<br><span style="font-size:13px; font-weight:400; opacity:0.9;">Call Now - Real person picks up</span></a>
2262
2263  <p style="font-size:13px; color:#666; margin:0 0 20px 0;">Same-day and next-day appointments available - call now, spots go fast</p>
2264
2265  <p style="font-size:16px; color:#444; line-height:1.55; margin:0 0 16px 0;">Carpets, rugs, and upholstery cleaned by <strong>Certified Green Team</strong> - a local team with <strong>10+ years</strong> serving homes and businesses in the area.</p>
2266
2267  <div style="text-align:left; border-top:1px solid #e0e0e0; padding-top:14px;">
2268    <div style="display:flex; align-items:flex-start; gap:10px; padding:9px 0; border-bottom:1px solid #f0f0f0;">
2269      <span style="color:#339933; font-size:18px; font-weight:900; flex-shrink:0;">&#10003;</span>
2270      <span style="font-size:14px; color:#333; line-height:1.4;">Carpets, area rugs, and upholstery - all welcome</span>
2271    </div>
2272    <div style="display:flex; align-items:flex-start; gap:10px; padding:9px 0; border-bottom:1px solid #f0f0f0;">
2273      <span style="color:#339933; font-size:18px; font-weight:900; flex-shrink:0;">&#10003;</span>
2274      <span style="font-size:14px; color:#333; line-height:1.4;">Residential homes and commercial spaces</span>
2275    </div>
2276    <div style="display:flex; align-items:flex-start; gap:10px; padding:9px 0;">
2277      <span style="color:#339933; font-size:18px; font-weight:900; flex-shrink:0;">&#10003;</span>
2278      <span style="font-size:14px; color:#333; line-height:1.4;">10+ years serving local homes - one call handles it all</span>
2279    </div>
2280  </div>
2281
2282</div>
2283<p style="text-align:center"><img alt="Carpet Cleaning by Certified Green Team"  height="470" src="/images/carpet-cleaning/girl%20and%20dog%20on%20clean%20carpet%20982x513.jpg" style="width: 900px; height: 470px;" width="900" /></p>
2284
2285
2286<p style="text-align: center;">Are you looking for a dependable company to clean your carpets? You just found one! Certified Green Team has provided reliable carpet cleaning services for homes and businesses throughout the area for over 10 years, and we&#39;d love to add you to our list of satisfied customers. Call today, and we&#39;ll be happy to schedule an appointment to assess your cleaning needs. Whether you have your carpets cleaned quarterly, or haven&#39;t had them cleaned since you moved in, Certified Green Team can help!</p>
2287
2288<div data-special-id="3041">
2289<div class="w3-row-padding">
2290<div class="w3-third">
2291<div class="w3-card w3-margin w3-padding-16 w3-padding specials-3card" style="background-color:#36923d">
2292<h2 style="text-align: center;"><strong><span style="color:#ffffff;">$69</span></strong></h2>
2293
2294<p style="text-align: center;"><span style="color:#ffffff;"><strong>2 Rooms of Carpet Cleaning</strong></span></p>
2295
2296<p style="text-align: center;"><span style="color:#ffffff;"><span style="font-size:10px;"><em>expires 09/30/2026</em></span></span></p>
2297</div>
2298</div>
2299
2300<div class="w3-third">
2301<div class="w3-card  w3-margin w3-padding-16 w3-padding specials-3card" style="background-color:#36923d">
2302<h2 style="text-align: center;"><strong><span style="color:#ffffff;">$79</span></strong></h2>
2303
2304<p style="text-align: center;"><span style="color:#ffffff;"><strong>3 Rooms of Carpet Cleaning</strong></span></p>
2305
2306<p style="text-align: center;"><span style="color:#ffffff;"><span style="font-size:10px;"><em>expires 09/30/2026</em></span></span></p>
2307</div>
2308</div>
2309
2310<div class="w3-third">
2311<div class="w3-card  w3-margin w3-padding-16 w3-padding specials-3card" style="background-color:#36923d">
2312<h2 style="text-align: center;"><strong><span style="color:#ffffff;">$99</span></strong></h2>
2313
2314<p style="text-align: center;"><span style="color:#ffffff;"><strong>4 Rooms of Carpet Cleaning</strong></span></p>
2315
2316<p style="text-align: center;"><span style="color:#ffffff;"><span style="font-size:10px;"><em>expires 09/30/2026</em></span></span></p>
2317</div>
2318</div>
2319</div>
2320</div>
2321
2322<hr />
2323<h3 style="text-align: center;"><strong>Call for a FREE Quote</strong></h3>
2324
2325<p style="text-align: center;"><span style="font-size:36px;"><strong><a class="phoneNumber primaryPhone" href="tel:+16315282509">(631) 528-2509</a></strong></span></p>
2326
2327<hr />
2328<p>&nbsp;</p>
2329
2330<div class="w3-row-padding">
2331<div class="w3-card w3-padding-16 w3-padding specials-1card" style="max-width:800px;margin:0 auto; background: #fafaff">
2332<div style="display: flex; justify-content: space-between; align-items: center;">
2333<div style="flex-grow: 1; margin-left: 20px; margin-right: 20px">
2334<p style="font-weight: bold; font-size: 18px">❝Amazing Experience!❞</p>
2335
2336<p><span style="color:#f1c40f">★★★★★</span> - &quot;I had an amazing experience with Certified Green Team. Quality, Professional, and great results. definitely recommend!&quot;</p>
2337
2338<div style="display: inline-flex; float: left"><img class="noBleed" alt="Author's Face"  height="53" src="/images/faces/14_53x53.png" style="width: 53px !important; height: 53px; border-radius: 50%; margin-right: 10px;" width="53" />
2339<p data-no-check="" style="font-weight: bold; margin-bottom: 0">Davizinho</p>
2340</div>
2341</div>
2342</div>
2343</div>
2344</div>
2345
2346<p>&nbsp;</p>
2347
2348<h3>Regular Carpet Cleaning Improves Air Quality</h3>
2349
2350<p>Did you know your carpet is a big air filter? It is. Carpets trap airborne particles and hold them there making the indoor air cleaner. However, a filter can only hold so much before it stops working. In fact, walking across a dirty carpet actually releases some of the trapped particles resulting in airborne particles. Yuck! That is 
2350why it is important to vacuum carpets regularly and ideally perform a professional carpet extraction once every 6 months.</p>
2351
2352<h3>&nbsp;</h3>
2353
2354<h3>Carpet Cleaning Extends The Life of Your Flooring Investment</h3>
2355
2356<p>Would you rub sandpaper on your carpet? Of course not. However, once sand and dirt are in a carpet, simply walking on the carpet damages the fibers just like sandpaper would. The result is frayed fibers and a prematurely worn carpet. Protect your investment through frequent vacuuming and semi-annual carpet steam cleanings.</p>
2357
2358<h3>&nbsp;</h3>
2359
2360<h3>Call the Carpet Cleaning Professionals</h3>
2361
2362<p>Yes, you can run to your local DIY center and rent a steam cleaner, then buy some basic carpet cleaning solutions and do the job yourself. However, those portable rentals just don&#39;t have the same power to fully agitate your carpets and extract excess water. The result: super wet carpets that stay damp for days and possibly begin to smell. And worse, they may not be much cleaner.</p>
2363
2364<p>Doing it yourself may save you some money, but it won&#39;t get the job done, and you may end up having to call a professional after the fact anyway. When you call <a class="phoneNumber primaryPhone" href="tel:+16315282509">(631) 528-2509</a> for carpet cleaning, you&#39;ll be dealing with a cleaning professional who will strive to complete each job properly, on time, and within your budget.</p>
2365
2366<p>&nbsp;</p>
2367
2368<div class="faq-container">
2369    <h2 class="faq-title"><strong>Carpet Cleaning FAQ</strong></h2>
2370
2371    <ul class="faq-list">
2372        <li class="faq-item">
2373            <div class="faq-question" onclick="toggleAnswer(this)"><span class="faq-triangle">▼</span> <span>How often should I have my carpets professionally cleaned?</span></div>
2374
2375            <div class="faq-answer"><span style="color: rgb(0, 0, 0); font-family: &quot;Times New Roman&quot;; font-size: 19px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0.2px; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">At Certified Green Team, we recommend professional carpet cleaning every 12 months for most homes. Homes with pets, children, allergy concerns, or high traffic should schedule cleaning every 6&ndash;9 months. Regular maintenance extends the life of your carpet and keeps your indoor air healthier.</span></div>
2376        </li>
2377        <li class="faq-item">
2378            <div class="faq-question" onclick="toggleAnswer(this)"><span class="faq-triangle">▼</span> <span>What carpet cleaning method do you use?</span></div>
2379
2380            <div class="faq-answer"><span style="color: rgb(0, 0, 0); font-family: &quot;Times New Roman&quot;; font-size: 19px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0.2px; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">We use a powerful eco-friendly hot water extraction method (commonly known as steam cleaning). Our process removes deep-embedded dirt, allergens, bacteria, and residues using non-toxic, biodegradable cleaning solutions that are safe for your family and pets.</span></div>
2381        </li>
2382        <li class="faq-item">
2383            <div class="faq-question" onclick="toggleAnswer(this)"><span class="faq-triangle">▼</span> <span>How long does it take for carpets to dry after cleaning?</span></div>
2384
2385            <div class="faq-answer"><span style="color: rgb(0, 0, 0); font-family: &quot;Times New Roman&quot;; font-size: 19px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0.2px; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Most carpets dry within 4&ndash;8 hours. Our commercial-grade extraction equipment removes the majority of moisture during cleaning to ensure faster drying and minimal disruption to your home.</span></div>
2386        </li>
2387        <li class="faq-item">
2388            <div class="faq-question" onclick="toggleAnswer(this)"><span class="faq-triangle">▼</span> <span>Can professional carpet cleaning remove pet stains and odors?</span></div>
2389
2390            <div class="faq-answer"><span style="color: rgb(0, 0, 0); font-family: &quot;Times New Roman&quot;; font-size: 19px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0.2px; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Yes. We specialize in advanced pet stain and odor treatment. Our enzyme-based solutions break down urine crystals at the source instead of masking odors. For severe contamination, we offer deep sub-surface treatment options.
2390</span></div>
2391        </li>
2392        <li class="faq-item">
2393            <div class="faq-question" onclick="toggleAnswer(this)"><span class="faq-triangle">▼</span> <span>Is professional carpet cleaning safe for children and pets?</span></div>
2394
2395            <div class="faq-answer"><span style="color: rgb(0, 0, 0); font-family: &quot;Times New Roman&quot;; font-size: 19px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0.2px; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;">Absolutely. Certified Green Team uses green, non-toxic, eco-safe cleaning products that leave no harsh chemical residue behind. Your carpets are safe for children and pets once dry.</span></div>
2396        </li>
2397    </ul>
2398</div>
2399                    <div id="cta1service" class="CallToAction">
2400                    <hr>
2401                    <h3>Call for Fast FREE Quote</h3>
2402                    <p><a class="phoneNumber primaryPhone" href="tel:+16315282509">(631) 528-2509</a></p>
2403                                        <hr>
2404                    </div>
2405                
2406					</div>
2407				
2408				<div class="w3-container w3-content contentX">
2409					
2410				</div>
2411
2412				
2412<script type="application/ld+json">
2413				{
2414				  "@context": "http://schema.org/",
2415				  "@type": "Service",
2416				  "serviceType": "Carpet Cleaning",
2417				  "provider": {
2418					"@type": "LocalBusiness",
2419					"name": "Certified Green Team",
2420					"image": "https://certified-green-team-li.com/images/layout01/favicon.ico",
2421					"priceRange": "$$",
2422					"address": {
2423						"@type": "PostalAddress",
2424						"streetAddress": "123 Main St",
2425						"addressLocality": "Westbury",
2426						"addressRegion": "NY",
2427						"postalCode": "11590",
2428						"addressCountry": "United States"
2429					},
2430					"telephone": "(631) 528-2509"
2431				  }
2432				}
2433				</script>
2433
2434
2435
2436					
2437	</div>
2438
2439		<div id="get_a_price" class="w3-container pad0 padGetPrice">
2440	<div id="right_block" class="w3-container w3-content">
2441					<div class="getPriceDiv">
2442				<span id="getPriceHeader">Get a Price</span>
2443				<div class="getPriceFormDiv">
2444					<form id="demo-form" name="contactForm"  action="/webservice/processForm.php" method="post">
2445						<input type="hidden" name="domainId" id="domainId" value="6909"/>
2446						<input type="hidden" id="hdnThankYouUrl" value=""/>
2447						<ul>
2448															<li><input name="senderName" id="senderName" type="text" class="text-field" placeholder="Name" required="required" maxlength="40"/></li>
2449<li><input name="senderEmail" id="senderEmail" type="email" class="text-field" placeholder="Email" required="required"/></li>
2450<li><input name="senderPhone" id="senderPhone" class="text-field validatePhone" placeholder="Phone Number" required="required" maxlength="20"/></li>
2451<li><textarea name="message" id="message" class="text-field" rows="5" cols="5" placeholder="Enter Your Message" required="required"></textarea></li>																						<li>
2452									<div class="check-field" style="width: 92%; box-sizing: border-box;">
2453										<input type="checkbox" name="optInService" id="optInService" value="1" tabindex="9" accesskey="i" title="Check to opt in" />
2454										<label for="optInService">Text Me!</label>
2455										<div style="font-size: 12px; margin-top: 2px; line-height: 1.4;">I agree to receive service-related text messages from Certified Green Team (appointment reminders, service updates, missed call follow-ups).</div>
2456										<input type="hidden" name="optInServiceText" value="I agree to receive service-related text messages from Certified Green Team (appointment reminders, service updates, missed call follow-ups)." />
2457									</div>
2458								</li>
2459																						<li>
2460									<div class="check-field" style="width: 92%; box-sizing: border-box;">
2461										<input type="checkbox" name="optInMarketing" id="optInMarketing" value="1" tabindex="9" title="Check to opt in to marketing messages" />
2462										<label for="optInMarketing">Opt-In</label>
2463										<div style="font-size: 12px; margin-top: 2px; line-height: 1.4;">I agree to receive promotional offers and marketing text messages from Certified Green Team.</div>
2464									</div>
2465								</li>
2466																						<li>
2467									<div style="width: 92%; box-sizing: border-box; padding-left: 24px; text-align: left; font-size: 11px; color: #333; line-height: 1.4;">Msg frequency varies. Msg & data rates may apply. Reply STOP to opt out or HELP for help. By checking above, you agree to our <a href="/privacy-policy.htm" target="_blank" style="color: #0066cc;">Privacy Policy</a> and <a href="/terms-conditions.htm" target="_blank" style="color: #0066cc;">Terms &amp; Conditions</a>.</div>
2468								</li>
2469														<li><button class="g-recaptcha submit-field" data-sitekey="6LfVQZwhAAAAALN3wyVxWvmdFsX4R3Yh64Un7v2D" data-callback='onRecaptchaSubmit' data-action='submit' tabindex="10" accesskey="u" title="Submit form">Submit</button></li>
2470							<li><input type="text" name="senderZip" id="senderZip" required="required" style="display:none" placeholder="Enter your zip code" maxlength="10" value="0" /></li>
2471
2472						</ul>
2473					</form>
2474				</div>
2475			</div>
2476		
2477					<div class="greyblocks greyblocks-box">
2478				<h3>Credit Cards Accepted</h3>
2479				<div class="greyblock-col-1">
2480					<img class="CreditCard" alt="Credit Cards Accepted:" src="/themes/responsive-1/img/visa_mc_amex_discover301x69.png" width="301" height="69"  />
2481				</div>
2482			</div>
2483		
2484		
2485	</div>
2486	</div>
2487		
2488				
2489			<div class="w3-container w3-content cities-panel">
2490				<h3>Cities Served</h3>
2491				<ul class="w3-container w3-row">
2492											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Albertson_NY.htm">Albertson, NY</a></li>
2493											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Alden-Manor_NY.htm">Alden Manor, NY</a></li>
2494											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Allenwood_NY.htm">Allenwood, NY</a></li>
2495											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Amity-Harbor_NY.htm">Amity Harbor, NY</a></li>
2496											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Amityville_NY.htm">Amityville, NY</a></li>
2497											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Argo-Village_NY.htm">Argo Village, NY</a></li>
2498											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Asharoken_NY.htm">Asharoken, NY</a></li>
2499											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Atlantic-Beach_NY.htm">Atlantic Beach, NY</a></li>
2500											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Babylon_NY.htm">Babylon, NY</a></li>
2501											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Baldwin_NY.htm">Baldwin, NY</a></li>
2502											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Baldwin-Harbor_NY.htm">Baldwin Harbor, NY</a></li>
2503											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Bar-Harbor_NY.htm">Bar Harbor, NY</a></li>
2504											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Barnum-Island_NY.htm">Barnum Island, NY</a></li>
2505											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Baxter-Estates_NY.htm">Baxter Estates, NY</a></li>
2506											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Bayville_NY.htm">Bayville, NY</a></li>
2507											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Bellerose-Terrace_NY.htm">Bellerose Terrace, NY</a></li>
2508											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Bellerose-Village_NY.htm">Bellerose Village, NY</a></li>
2509											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Bellmore_NY.htm">Bellmore, NY</a></li>
2510											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Bethpage_NY.htm">Bethpage, NY</a></li>
2511											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Briar-Park_NY.htm">Briar Park, NY</a></li>
2512											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Brookville_NY.htm">Brookville, NY</a></li>
2513											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Captree-Island_NY.htm">Captree Island, NY</a></li>
2514											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Carle-Place_NY.htm">Carle Place, NY</a></li>
2515											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Cedarhurst_NY.htm">Cedarhurst, NY</a></li>
2516											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Centerport_NY.htm">Centerport, NY</a></li>
2517											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Centre-Island_NY.htm">Centre Island, NY</a></li>
2518											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Cold-Spring-Harbor_NY.htm">Cold Spring Harbor, NY</a></li>
2519											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Copiague_NY.htm">Copiague, NY</a></li>
2520											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Cove-Neck_NY.htm">Cove Neck, NY</a></li>
2521											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Crab-Meadow_NY.htm">Crab Meadow, NY</a></li>
2522											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Deer-Park_NY.htm">Deer Park, NY</a></li>
2523											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Dix-Hills_NY.htm">Dix Hills, NY</a></li>
2524											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_East-Atlantic-Beach_NY.htm">East Atlantic Beach, NY</a></li>
2525											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_East-Farmingdale_NY.htm">East Farmingdale, NY</a></li>
2526											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_East-Hills_NY.htm">East Hills, NY</a></li>
2527											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_East-Massapequa_NY.htm">East Massapequa, NY</a></li>
2528											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_East-Meadow_NY.htm">East Meadow, NY</a></li>
2529											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_East-Northport_NY.htm">East Northport, NY</a></li>
2530											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_East-Norwich_NY.htm">East Norwich, NY</a></li>
2531											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_East-Rockaway_NY.htm">East Rockaway, NY</a></li>
2532											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_East-Williston_NY.htm">East Williston, NY</a></li>
2533											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Eatons-Neck_NY.htm">Eatons Neck, NY</a></li>
2534											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Elmont_NY.htm">Elmont, NY</a></li>
2535											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Elwood_NY.htm">Elwood, NY</a></li>
2536											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Farmingdale_NY.htm">Farmingdale, NY</a></li>
2537											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Floral-Park_NY.htm">Floral Park, NY</a></li>
2538											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Fort-Salonga_NY.htm">Fort Salonga, NY</a></li>
2539											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Franklin-Square_NY.htm">Franklin Square, NY</a></li>
2540											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Freeport_NY.htm">Freeport, NY</a></li>
2541											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Garden-City_NY.htm">Garden City, NY</a></li>
2542											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Garden-City-Park_NY.htm">Garden City Park, NY</a></li>
2543											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Garden-City-South_NY.htm">Garden City South, NY</a></li>
2544											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Gilgo-Beach_NY.htm">Gilgo Beach, NY</a></li>
2545											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Glen-Cove_NY.htm">Glen Cove, NY</a></li>
2546											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Glen-Head_NY.htm">Glen Head, NY</a></li>
2547											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Glenwood-Landing_NY.htm">Glenwood Landing, NY</a></li>
2548											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Great-Neck_NY.htm">Great Neck, NY</a></li>
2549											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Great-Neck-Estates_NY.htm">Great Neck Estates, NY</a></li>
2550											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Greenlawn_NY.htm">Greenlawn, NY</a></li>
2551											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Greenvale_NY.htm">Greenvale, NY</a></li>
2552											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Halesite_NY.htm">Halesite, NY</a></li>
2553											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Harbor-Acres_NY.htm">Harbor Acres, NY</a></li>
2554											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Harbor-Hills_NY.htm">Harbor Hills, NY</a></li>
2555											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Harbor-Island_NY.htm">Harbor Island, NY</a></li>
2556											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Harbor-Isle_NY.htm">Harbor Isle, NY</a></li>
2557											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Hempstead_NY.htm">Hempstead, NY</a></li>
2558											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Herricks_NY.htm">Herricks, NY</a></li>
2559											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Hewlett_NY.htm">Hewlett, NY</a></li>
2560											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Hewlett-Bay_NY.htm">Hewlett Bay, NY</a></li>
2561											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Hewlett-Bay-Park_NY.htm">Hewlett Bay Park, NY</a></li>
2562											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Hewlett-Harbor_NY.htm">Hewlett Harbor, NY</a></li>
2563											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Hewlett-Neck_NY.htm">Hewlett Neck, NY</a></li>
2564											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Hicksville_NY.htm">Hicksville, NY</a></li>
2565											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Hillside-Manor_NY.htm">Hillside Manor, NY</a></li>
2566											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Hunt_NY.htm">Hunt, NY</a></li>
2567											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Huntington_NY.htm">Huntington, NY</a></li>
2568											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Huntington-Bay_NY.htm">Huntington Bay, NY</a></li>
2569											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Huntington-Station_NY.htm">Huntington Station, NY</a></li>
2570											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Inwood_NY.htm">Inwood, NY</a></li>
2571											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Island-Park_NY.htm">Island Park, NY</a></li>
2572											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Island-Trees_NY.htm">Island Trees, NY</a></li>
2573											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Jericho_NY.htm">Jericho, NY</a></li>
2574											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Kings-Point_NY.htm">Kings Point, NY</a></li>
2575											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Knollwood-Beach_NY.htm">Knollwood Beach, NY</a></li>
2576											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lake-Gardens_NY.htm">Lake Gardens, NY</a></li>
2577											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lake-Success_NY.htm">Lake Success, NY</a></li>
2578											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lakeview_NY.htm">Lakeview, NY</a></li>
2579											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lakeville-Estates_NY.htm">Lakeville Estates, NY</a></li>
2580											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lattingtown_NY.htm">Lattingtown, NY</a></li>
2581											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Laurel-Hollow_NY.htm">Laurel Hollow, NY</a></li>
2582											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lawrence_NY.htm">Lawrence, NY</a></li>
2583											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Levittown_NY.htm">Levittown, NY</a></li>
2584											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lido-Beach_NY.htm">Lido Beach, NY</a></li>
2585											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lindenhurst_NY.htm">Lindenhurst, NY</a></li>
2586											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lloyd-Harbor_NY.htm">Lloyd Harbor, NY</a></li>
2587											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lloyd-Neck_NY.htm">Lloyd Neck, NY</a></li>
2588											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Locust-Valley_NY.htm">Locust Valley, NY</a></li>
2589											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Locustwood_NY.htm">Locustwood, NY</a></li>
2590											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Long-Beach_NY.htm">Long Beach, NY</a></li>
2591											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Lynbrook_NY.htm">Lynbrook, NY</a></li>
2592											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Malverne_NY.htm">
2592Malverne, NY</a></li>
2593											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Manhasset_NY.htm">Manhasset, NY</a></li>
2594											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Manhasset-Hills_NY.htm">Manhasset Hills, NY</a></li>
2595											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Manorhaven_NY.htm">Manorhaven, NY</a></li>
2596											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Massapequa_NY.htm">Massapequa, NY</a></li>
2597											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Massapequa-Park_NY.htm">Massapequa Park, NY</a></li>
2598											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Matinecock_NY.htm">Matinecock, NY</a></li>
2599											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Meacham_NY.htm">Meacham, NY</a></li>
2600											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Meadowmere-Park_NY.htm">Meadowmere Park, NY</a></li>
2601											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Melville_NY.htm">Melville, NY</a></li>
2602											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Merrick_NY.htm">Merrick, NY</a></li>
2603											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Mill-Neck_NY.htm">Mill Neck, NY</a></li>
2604											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Mineola_NY.htm">Mineola, NY</a></li>
2605											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Muttontown_NY.htm">Muttontown, NY</a></li>
2606											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_New-Cassel_NY.htm">New Cassel, NY</a></li>
2607											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_New-Hyde-Park_NY.htm">New Hyde Park, NY</a></li>
2608											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-Amityville_NY.htm">North Amityville, NY</a></li>
2609											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-Babylon_NY.htm">North Babylon, NY</a></li>
2610											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-Baldwin_NY.htm">North Baldwin, NY</a></li>
2611											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-Bellmore_NY.htm">North Bellmore, NY</a></li>
2612											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-Hills_NY.htm">North Hills, NY</a></li>
2613											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-Lindenhurst_NY.htm">North Lindenhurst, NY</a></li>
2614											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-Massapequa_NY.htm">North Massapequa, NY</a></li>
2615											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-Merrick_NY.htm">North Merrick, NY</a></li>
2616											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-New-Hyde-Park_NY.htm">North New Hyde Park, NY</a></li>
2617											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-Valley-Stream_NY.htm">North Valley Stream, NY</a></li>
2618											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_North-Woodmere_NY.htm">North Woodmere, NY</a></li>
2619											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Northport_NY.htm">Northport, NY</a></li>
2620											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Oak-Beach_NY.htm">Oak Beach, NY</a></li>
2621											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Oak-Island_NY.htm">Oak Island, NY</a></li>
2622											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Oceanside_NY.htm">Oceanside, NY</a></li>
2623											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Old-Bethpage_NY.htm">Old Bethpage, NY</a></li>
2624											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Old-Brookville_NY.htm">Old Brookville, NY</a></li>
2625											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Old-Village_NY.htm">Old Village, NY</a></li>
2626											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Old-Westbury_NY.htm">Old Westbury, NY</a></li>
2627											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Oyster-Bay_NY.htm">Oyster Bay, NY</a></li>
2628											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Oyster-Bay-Cove_NY.htm">Oyster Bay Cove, NY</a></li>
2629											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Plainedge_NY.htm">Plainedge, NY</a></li>
2630											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Plainview_NY.htm">Plainview, NY</a></li>
2631											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Plandome_NY.htm">Plandome, NY</a></li>
2632											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Point-Lookout_NY.htm">Point Lookout, NY</a></li>
2633											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Port-Wash_NY.htm">Port Wash, NY</a></li>
2634											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Port-Washington_NY.htm">Port Washington, NY</a></li>
2635											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Rockville-Center_NY.htm">Rockville Center, NY</a></li>
2636											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Rockville-Centre_NY.htm">Rockville Centre, NY</a></li>
2637											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Roosevelt_NY.htm">Roosevelt, NY</a></li>
2638											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Roslyn_NY.htm">Roslyn, NY</a></li>
2639											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Roslyn-Estates_NY.htm">Roslyn Estates, NY</a></li>
2640											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Roslyn-Harbor_NY.htm">Roslyn Harbor, NY</a></li>
2641											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Roslyn-Heights_NY.htm">Roslyn Heights, NY</a></li>
2642											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Russell-Gardens_NY.htm">Russell Gardens, NY</a></li>
2643											<li class="w3-col s12 m6 l4">
2643<a href="/Carpet-Cleaning_Saddle-Rock_NY.htm">Saddle Rock, NY</a></li>
2644											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Saddle-Rock-Estates_NY.htm">Saddle Rock Estates, NY</a></li>
2645											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Sands-Point_NY.htm">Sands Point, NY</a></li>
2646											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Sea-Cliff_NY.htm">Sea Cliff, NY</a></li>
2647											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Seaford_NY.htm">Seaford, NY</a></li>
2648											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_South-Farmingdale_NY.htm">South Farmingdale, NY</a></li>
2649											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_South-Floral-Park_NY.htm">South Floral Park, NY</a></li>
2650											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_South-Hempstead_NY.htm">South Hempstead, NY</a></li>
2651											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_South-Huntington_NY.htm">South Huntington, NY</a></li>
2652											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Stewart-Manor_NY.htm">Stewart Manor, NY</a></li>
2653											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Strathmore_NY.htm">Strathmore, NY</a></li>
2654											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Syosset_NY.htm">Syosset, NY</a></li>
2655											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_The-Terrace_NY.htm">The Terrace, NY</a></li>
2656											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Thomaston_NY.htm">Thomaston, NY</a></li>
2657											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Uniondale_NY.htm">Uniondale, NY</a></li>
2658											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Upper-Brookville_NY.htm">Upper Brookville, NY</a></li>
2659											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Usmma_NY.htm">Usmma, NY</a></li>
2660											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Valley-Stream_NY.htm">Valley Stream, NY</a></li>
2661											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Wantagh_NY.htm">Wantagh, NY</a></li>
2662											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_West-Babylon_NY.htm">West Babylon, NY</a></li>
2663											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_West-Gilgo-Beach_NY.htm">West Gilgo Beach, NY</a></li>
2664											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_West-Hempstead_NY.htm">West Hempstead, NY</a></li>
2665											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_West-Hills_NY.htm">West Hills, NY</a></li>
2666											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Westbury_NY.htm">Westbury, NY</a></li>
2667											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Wheatley-Heights_NY.htm">Wheatley Heights, NY</a></li>
2668											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Williston-Park_NY.htm">Williston Park, NY</a></li>
2669											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Wincoma_NY.htm">Wincoma, NY</a></li>
2670											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Woodbury_NY.htm">Woodbury, NY</a></li>
2671											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Woodmere_NY.htm">Woodmere, NY</a></li>
2672											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Woodsburgh_NY.htm">Woodsburgh, NY</a></li>
2673											<li class="w3-col s12 m6 l4"><a href="/Carpet-Cleaning_Wyandanch_NY.htm">Wyandanch, NY</a></li>
2674									</ul>
2675			</div>
2676
2677		
2678			
2679				
2680</main>
2681
2682<!-- page content ends here -->
2683
2684<!-- footer starts here -->
2685
2686<footer class="w3-container pad0">
2687			<div class="w3-container pad0">
2688
2689		
2690		<div class="w3-container pad0">
2691		<div class="useboxright">
2692		Certified Green Team<br>
2693							Westbury, NY&nbsp; 11590
2694					<div class="callNoDiv">
2695		<ul class="phoneList">
2696		<li class="primaryPhone"><a class="phoneNumber primaryPhone" href="tel:+16315282509">(631) 528-2509</a></li>
2697														</ul>
2698		</div>
2699						
2700		<p><a class="privacyPolicy" href="/privacy-policy.htm">Privacy Policy</a> | <a class="termsConditions" href="/terms-conditions.htm">Terms &amp; Conditions</a></p>
2701
2702		</div>
2703		</div>
2704	</div>
2705
2706	<div class="w3-container pad0 footerDivMn">
2706Copyright &copy; 2026 - 99 Calls</div>	<p style="font-size:10px;color:#888;text-align:center;margin:8px 0 0;line-height:1.4">This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank" rel="noopener" style="color:#666">Privacy Policy</a> and <a href="https://policies.google.com/terms" target="_blank" rel="noopener" style="color:#666">Terms of Service</a> apply.</p>
2707	</footer>
2708
2709<!-- footer ends here -->
2710
2711<!-- Menu Styles -->
2712<script src="/js/jquery-3.7.1.min.js"></script>
2712
2713
2714
2715
2716<script>
2717		var leadFormPopUpRedirectUrl = null;
2718	
2719	$(document).ready(function () {
2720				$(window).resize(function () {
2721			setMainTopSpacer();
2722			// ipad (others?) slow to redraw screen on orientation change
2723			setTimeout(setMainTopSpacer, 500);
2724		});
2725	});
2726</script>
2726
2727
2728
2729
2730<script src="/js/jquery.mask.min.js" defer></script>
2730
2731
2732<div id="overlay-back"></div>
2733<link rel="preload" href="/templates/contactForm.css" as="style" onload="this.onload=null;this.rel='stylesheet'">
2734<noscript>
2735	<link rel="stylesheet" href="/templates/contactForm.css">
2736</noscript>
2737<div>
2738	<style>.statusMessage {
2739			height: 6em;
2740		}</style>
2741</div>
2742
2743<div id="sendingMessage" class="statusMessage"><p>Sending your message. Please wait...</p></div>
2744<div id="failureMessage" class="statusMessage"><p>There was a problem sending your message. Please try again or call
2745		us.</p></div>
2746<div id="incompleteMessage" class="statusMessage"><p>Please complete all the fields in the form before sending.</p>
2747</div>
2748<div id="limitMessage" class="statusMessage"><p>You may only send 3 messages per day, but you are welcome to call
2749		us!</p></div>
2750<div id="invalid_phone" class="statusMessage"><p>The phone number is invalid. Please check your phone number and try
2751		again.</p></div>
2752<div id="invalid_email" class="statusMessage"><p>The email address is invalid. Please check your email address and try
2753		again.</p></div>
2754	<div id="successMessage" class="statusMessage"><p>Thanks for contacting us! We'll get back to you shortly.</p></div>
2755
2756
2757
2758	
2758<script>
2759		let messageDelay = 3000;  // How long to display status messages (in milliseconds)
2760
2761		// Init the form once the document is ready
2762		$(init);
2763
2764		// Initialize the form
2765		function init() {
2766			$("[name='contactForm']").submit(submitForm);
2767			$(".validatePhone").mask('(000) 000-0000');
2768		}
2769
2770		// reCAPTCHA v3
2771		function onRecaptchaSubmit(token) {
2772			// token does not need to be processed
2773			if (!validateForm()) return false;
2774			let recaptchaForm = document.getElementById("demo-form");
2775			// the form *magickly* includes the token
2776			submitForm.apply(recaptchaForm);
2777		}
2778		function onRecaptchaLandingSubmit(token) {
2779			// token does not need to be processed
2780			let recaptchaForm = document.getElementById("landing-form");
2781			// the form *magickly* includes the token
2782			submitForm.apply(recaptchaForm);
2783		}
2784
2785		// Submit the form via Ajax
2786		function submitForm() {
2787			var contactForm = $(this);
2788
2789			// Are all the fields filled in?
2790			$('#overlay-back').fadeIn(200);
2791			$('#page').fadeTo('fast', .2);
2792
2793			if (!contactForm.find("[name='senderName']").val() || !contactForm.find("[name='senderEmail']").val() || !contactForm.find("[name='message']").val()) {
2794
2795				// No; display a warning message and return to the form
2796				$('#incompleteMessage').fadeIn().delay(messageDelay).fadeOut();
2797				$('#overlay-back').delay(messageDelay + 500).fadeOut(200);
2798				$('#page').delay(messageDelay + 500).fadeTo('fast', 1);
2799
2800
2801			} else {
2802
2803				// Yes; submit the form to the PHP script via Ajax
2804				$('#sendingMessage').fadeIn();
2805
2806				$.ajax({
2807					url: contactForm.attr('action') + "?ajax=true",
2808					type: contactForm.attr('method'),
2809					data: contactForm.serialize(),
2810					timeout: 30000,
2811					success: submitFinished,
2812					error: function (x, t, m) {
2813						if (t === "timeout") {
2814							submitFinished(t);
2815						} else if (t === "invalid_email") {
2816							submitFinished(t);
2817						} else if (t === "invalid_phone") {
2818							submitFinished(t);
2819						}
2820					}
2821				});
2822			}
2823
2824			// Prevent the default form submission occurring
2825			return false;
2826		}
2827
2828		// Handle the Ajax response
2829		function submitFinished(response) {
2830			response = $.trim(response);
2831			$('#sendingMessage').fadeOut();
2832
2833			if (response == "success") {
2834
2835				// Form submitted successfully:
2836				// 1. Display the success message
2837				// 2. Clear the form fields
2838				// 3. Fade the content back in
2839
2840				$('#successMessage').fadeIn().delay(messageDelay).fadeOut();
2841				var leadName = $("[name='senderName']").val();
2842				var leadEmail = $("[name='senderEmail']").val();
2843				var leadPhone = $("[name='senderPhone']").val();
2844				$("[name='senderName']").val("");
2845				$("[name='senderEmail']").val("");
2846				$("[name='senderPhone']").val("");
2847				$("[name='message']").val("");
2848
2849				if (leadFormPopUpRedirectUrl) {
2850					// client has supplied url to send customer after form is accepted
2851					var params = new URLSearchParams();
2852					if (leadName) params.set('full_name', leadName);
2853					if (leadEmail) params.set('email', leadEmail);
2854					if (leadPhone) params.set('phone', leadPhone);
2855					var a = document.getElementById('propertyAddress');
2856					var c = document.getElementById('propertyCity');
2857					var s = document.getElementById('propertyState');
2858					var z = document.getElementById('propertyZip');
2859					if (a && a.value) params.set('address', a.value.trim());
2860					if (c && c.value) params.set('city', c.value.trim());
2861					if (s && s.value) params.set('state', s.value.trim());
2862					if (z && z.value) params.set('postal_code', z.value.trim());
2863					var sep = leadFormPopUpRedirectUrl.includes('?') ? '&' : '?';
2864					window.location.href = params.toString()
2865						? leadFormPopUpRedirectUrl + sep + params.toString()
2866						: leadFormPopUpRedirectUrl;
2867				}
2868
2869				$('#overlay-back').delay(messageDelay + 500).fadeOut(200);
2870				$('#page').delay(messageDelay + 500).fadeTo('fast', 1);
2871
2872			} else if (response == "toomany") {
2873				$('#limitMessage').fadeIn().delay(messageDelay).fadeOut();
2874				$('#overlay-back').delay(messageDelay + 500).fadeOut(200);
2875				$('#page').delay(messageDelay + 500).fadeTo('fast', 1);
2876			} else if (response === "invalid_email") {
2877				$('#invalid_email').fadeIn().delay(messageDelay).fadeOut();
2878				$('#overlay-back').delay(messageDelay+500).fadeOut(200);
2879				$('#page').delay(messageDelay+500).fadeTo( 'fast', 1 );
2880			} else if (response === "invalid_phone") {
2881				$('#invalid_phone').fadeIn().delay(messageDelay).fadeOut();
2882				$('#overlay-back').delay(messageDelay+500).fadeOut(200);
2883				$('#page').delay(messageDelay+500).fadeTo( 'fast', 1 );
2884			} else {
2885				// Form submission failed: Display the failure message,
2886				// then redisplay the form
2887				$('#failureMessage').fadeIn().delay(messageDelay).fadeOut();
2888				$('#overlay-back').delay(messageDelay + 500).fadeOut(200);
2889				$('#page').delay(messageDelay + 500).fadeTo('fast', 1);
2890			}
2891		}
2892
2893		$(".gotoGetAPrice").click(function () {
2894			$('html, body').animate({
2895				scrollTop: $("#get_a_price").offset().top - 100
2896			}, 1000);
2897			document.getElementById("senderName").focus();
2898		});
2899
2900	</script>
2900
2901
2902
2903
2904
2905
2906	<!-- Google tag (gtag.js) -->
vendor: 65 bytes, lines 2906-2907
2906
2907	<script async src="https://www.googletagmanager.com/gtag/js?id=
2907AW-688358925
vendor: 13 bytes, lines 2907-2908
2907"></script>
2908	
2908<script>
2909		
vendor: 135 bytes, lines 2909-2912
2909window.dataLayer = window.dataLayer || [];
2910		function gtag(){dataLayer.push(arguments);}
2911		gtag('js', new Date());
2912				gtag('config', '
2912AW-688358925
vendor: 4 bytes, line 2912
2912');	
2912</script>
2912
2913
2914
2915<script>
2916	setTimeout(function() {
2917		var script = document.createElement('script');
2918		script.src = 'https://www.google.com/recaptcha/api.js';
2919		script.defer = true;
2920		document.body.appendChild(script);
2921	}, 4200);
2922	setTimeout(function() {
2923		var script = document.createElement('script');
2924		// look for hi-res images - same file name with @2x appended
2925		//script.src = '/js/retina99.min.js';
2926		script.src = '/js/retina99.js';
2927		script.defer = true;
2928		document.body.appendChild(script);
2929	}, 4300);
2930</script>
2930
2931
2932	
2932<script>
2933		
2934
2935		function validateForm() {
2936			var senderName = document.getElementById("senderName").value;
2937			var senderEmail = document.getElementById("senderEmail").value;
2938			var senderPhone = document.getElementById("senderPhone").value;
2939
2940			if (senderName.trim() === "") {
2941				alert("Please enter your name.");
2942				return false;
2943			}
2944
2945			if (senderEmail.trim() === "") {
2946				alert("Please enter your email.");
2947				return false;
2948			}
2949
2950			if (senderPhone.trim() === "") {
2951				alert("Please enter your phone number.");
2952				return false;
2953			}
2954
2955			// Validate address if address step is enabled
2956			var addressField = document.getElementById("propertyAddress");
2957			if (addressField) {
2958				if (addressField.value.trim() === "") {
2959					alert("Please enter the property address.");
2960					return false;
2961				}
2962				// Only require autocomplete selection if Google Maps loaded OK
2963				if (!window.googleMapsAuthFailed) {
2964					var cityField = document.getElementById("propertyCity");
2965					if (!cityField || cityField.value.trim() === "") {
2966						alert("Please select an address from the suggestions.");
2967						return false;
2968					}
2969				}
2970			}
2971
2972			// Regular expression pattern for validating email addresses
2973			var pattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
2974			if (!pattern.test(senderEmail)) {
2975				alert("Please check your email address.");
2976				return false;
2977			}
2978
2979			// if email address ends in .con, ask if they meant .com
2980			if (senderEmail.endsWith('.con')) {
2981				confirm('Did you mean .com at the end of your email address?');
2982				return false;
2983			}
2984
2985			// validate phone number is US format - remove non-numeric characters and check it's 10 digits and first digit is not 0 or 1
2986			var phone = senderPhone.replace(/\D/g, '');
2987			if (phone.length != 10) {
2988				alert("Please check your phone number.");
2989				return false;
2990			}
2991			// Area codes start with a number 2–9, followed by 0–8, and then any third digit.
2992			// The second group of three digits, known as the central office or exchange code, starts with a number 2–9, followed by any two digits.
2993			// The final four digits, known as the station code, have no restrictions.
2994			pattern = /^[2-9][0-8][0-9][2-9][0-9]{2}[0-9]{4}$/;
2995			if (!pattern.test(phone)) {
2996				alert("Please check your phone number.");
2997				return false;
2998			}
2999			// 222 and 555 are not valid area codes
3000			if (phone.substring(0, 3) == '222' || phone.substring(0, 3) == '555') {
3001				alert("Please check your phone number.");
3002				return false;
3003			}
3004
3005			return true; // Form submission will proceed if all fields are filled
3006		}
3007
3008		$(document).ready(function () { // when the document is ready
3009			// add a listener to the form submit event
3010			$("#demo-form").submit(function (e) {
3011				e.preventDefault(); // avoid execution of the actual submit of the form.
3012				const idSubmit =  document.getElementById("idSubmit");
3013				if (idSubmit)
3014				   idSubmit.innerText = "... processing ...";
3015
3016				var form = $(this);
3017				var url = form.attr('action') + '?ajax';
3018
3019				$.ajax({
3020					type: "POST",
3021					url: url,
3022					data: form.serialize(), // serializes the form's elements.
3023					success: function (data) {
3024						if (data == 'invalid_email') {
3025							//alert('Invalid email address. Please review your email address for typos and try again.');
3026							if (idSubmit)
3027								idSubmit.innerText = "Get exclusive leads!";
3028							return;
3029						}
3030						if (data == 'success') {
3031							let url = $("#hdnThankYouUrl").val();
3032							if (url)
3033								window.location = url;
3034							else
3035								document.getElementById("idSubmit").innerText = "Success!";
3036						}
3037
3038						const d = new Date();
3039						d.toLocaleString('en-US', { timeZone: 'America/New_York' })
3040						if (d.getDay() >= 1 && d.getDay() <= 5 && d.getHours() >= 9 && d.getHours() < 17) {
3041							// it's Mon-Fri between 9am - 5pm
3042							document.getElementById("overlay_open").style.display = "block";
3043						} else {
3044							document.getElementById("overlay_closed").style.display = "block";
3045						}
3046						document.getElementById("idPopUp").style.display = "none";
3047						// document.getElementById("idPopUp").style.zIndex = 1;
3048					},
3049					error: function (jqXHR, textStatus, errorThrown) {
3050						if (errorThrown) {
3051							alert('Error - ' + errorThrown);
3052						} else if (textStatus) {
3053							alert('Error - ' + textStatus);
3054						} else {
3055							alert('An unexpected error occurred. Please call us. We apologize for the inconvenience.')
3056						}
3057					}
3058				});
3059
3060			});
3061		});
3062
3063		
3064	</script>
3064
3065
3066
3067<link href="/css/pop.up.lead.form.css?v=2026.01.27e" rel="stylesheet" type="text/css"/>
3068
3069<div  class="user-agent-warp">
3070    <div id="divuseragent" class="user-agent-bubble message-left">
3071        <div class="user-agent-avatar user-agent-fade-in">
3072            <div class="user-agent-bubble-avatar">
3073                <div class="user-agent-avatar-img-wrapper">
3074                    <img src="/css/images/repagent.png" id="imgAgentAvatar" alt="support Agent"/>
3075                </div>
3076                <div id="divPopUpLeadFormCounter" class="user-agent-bubble-avatar-counter">1</div>
3077            </div>
3078        </div>
3079        <div class="user-agent-bubble-message user-agent-fade-in" id="divuseragentmessage">
3080            <button type="button" class="user-agent-bubble-close" id="btnCloseBubbleMessage" aria-label="Close message">&times;</button>
3081            <span id="spanuseragentmessage">Which type of leads are you looking for?</span>
3082            <div class="user-agent-bubble-arrow-left"></div>
3083        </div>
3084    </div>
3085</div>
3086<div style="display: none;">
3087    <div id="modal-useragent" >
3088        <div id="divAgentDialogContent">
3089
3090        </div>
3091    </div>
3092</div>
3093<script src="/js/pop.up.lead.form.99calls.js?v=2026.03.09a" defer></script>
3093
3094</body>
3095
3096
3097
3098
3099</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.