﻿@charset "UTF-8";
@font-face { font-family: "Gabarito"; font-style: normal; font-weight: 400 900; font-display: swap; src: url(/s/fonts/gabarito-latin-ext.woff2) format("woff2"); unicode-range: U+100-2AF,U+304,U+308,U+329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Gabarito"; font-style: normal; font-weight: 400 900; font-display: swap; src: url(/s/fonts/gabarito-latin.woff2) format("woff2"); unicode-range: U+0-FF,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }

html { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; font-variation-settings: normal; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: "Gabarito",sans-serif; color: #6d6e71; font-weight: 800; color: #1b6fb4 }
h4, h5, h6 {font-weight:400}
p { font-size: 16px; }
input[type="submit"] {white-space:normal}

@media (max-width: 991px) {
    ul { list-style: none; padding-left: 0; }
}

#header { box-shadow: rgba(0, 0, 0, 0.09) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px, rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px, rgba(0, 0, 0, 0.09) 0px 32px 16px; }
#iHeavensBest { position: absolute; left: 0; display: block; z-index: 5;top:18px; }

@media (max-width: 991.98px) {
    #iHeavensBest { position: static;}
}

@media (min-width: 992px) {

    .fs-6 { font-size: 1.25rem !important }
    #header .navbar-nav { flex-direction: row; flex-wrap: wrap; gap: .5rem; }
    #header .navbar-nav .nav-link { color: #fff; padding: .5rem .75rem; white-space: nowrap; font-size: 1.3rem; letter-spacing: 0.02em; }

    .navbar .nav-item.dropdown { position: relative; } 
    .navbar .dropdown-menu { position: absolute; display: block; opacity: 0; visibility: hidden; top: 100%; left: 0; margin-top: 0; transform: translateY(8px) rotateX(0); transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s; z-index: 1000; }
    .navbar .dropdown-menu-end { right: 0; left: auto; }
    .navbar .nav-item.dropdown:hover > .dropdown-menu,
    .navbar .nav-item.dropdown:focus-within > .dropdown-menu { opacity: 1; visibility: visible; transform: translateY(0); transition-delay: 0s; }
    .navbar .nav-item:hover > .nav-link { color: #eee; }

    .navbar-nav > .nav-item > .nav-link { position: relative; display: inline-block; }
    .navbar-nav > .nav-item > .nav-link::before { content: ""; position: absolute; left: 50%; bottom: 0.2rem; width: 0%; height: 2px; background-color: #fff; transition: width 0.2s ease-out, left 0.2s ease-out; z-index: 0; }
    .navbar-nav > .nav-item > .nav-link:hover::before { width: 100%; left: 0; }

    .navbar .dropdown-menu { background-color: var(--bs-primary-bg-subtle); padding: 0; font-family: inherit; overflow: hidden; }
    .navbar .dropdown-item { color: var(--bs-primary-text); font-weight: 400; padding: 0.5rem 1rem; transition: background-color 0.2s, color 0.2s; }

    .navbar .dropdown-item:hover,
    .navbar .dropdown-item:focus { background-color: var(--bs-primary); color: #fff; }

    .navbar .btn { transition: transform 0.2s ease, box-shadow 0.2s ease; box-shadow: 0 2px 4px 0 rgba(5, 10, 31, .16); }
    .navbar .btn:hover { transform: scale(1.08); box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.25); }
}

.offcanvas-body ul { list-style: none; margin: 0; padding: 0; }
.offcanvas-body ul li a { display: block; padding: .9rem 1rem; font-size: 1.2rem; text-decoration: none; color: #fff; border-top: 1px solid rgba(255,255,255,.15); }
.offcanvas-body ul li:first-child a { border-top: none; }
.offcanvas-body ul li:last-child a { border-top: none; }
.offcanvas-body ul li a:not(.btn):hover,
.offcanvas-body ul li a:not(.btn):focus { background: rgba(255,255,255,.1); text-decoration: none; }

.btn-shake { animation: shake 10s ease-in-out infinite; transform-origin: center; display: inline-block; }

@keyframes shake {
    0%, 2% { transform: rotate(0deg); }
    3% { transform: rotate(-8deg); }
    4% { transform: rotate(5deg); }
    5% { transform: rotate(-4deg); }
    6% { transform: rotate(2deg); }
    7%, 100% { transform: rotate(0deg); }
}

.fade-out { opacity: 0; transition: opacity 1s ease-in-out; }
.fade-in { opacity: 1; transition: opacity 1s ease-in-out; }

.bg-bubbles { color: #fff; background: #00a3e0 url(../i/bg/carpet-cleaning-before-after-background.png) }

.card-masonry { column-count: 3; column-gap: 1.5rem; }
.card-masonry .card { display: inline-block; width: 100%; }
@media (max-width: 992px) {
    .card-masonry { column-count: 2; }
}
@media (max-width: 576px) {
    .card-masonry { column-count: 1; }
}

div.carpet-cleaning { text-align: center; margin: 0; padding: 12px; font-size: 12px; font-weight: 700; color: #fff; }
div.carpet-cleaning span { display: block; padding-top: 8px; }
div.carpet-cleaning img {  max-width: 100%;width:170px; position: relative; z-index: 99; }

.pageheader { }
.heading { background: rgba(0,0,0,0.7); padding: 25px; border-radius: 5px; display: inline-block }
.pageheader h1, .pageheader h2, .pageheader h3, .pageheader p { color: #fff }
.guarantee { height: 200px; background: #fff url(../i/pg/guarantee/carpet-cleaning-guarantee-hb1.jpg) no-repeat center center; background-size: cover }
.carpetcleaning { background: #fff url(../i/pg/carpet-cleaning-service.webp) repeat center center; background-size: cover }
.tilegrout { background: #fff url(../i/pg/svc/tile-grout-cleaner-companies.jpg) repeat center center; background-size: cover }
.hardwood { background: #fff url(../i/pg/svc/hardwood-floor-cleaning-600.jpg) repeat center center; background-size: cover }
.upholsterycleaning { background: #fff url(../i/pg/svc/upholstery-cleaning-service.jpg) repeat center center; background-size: cover }
.faq { background: #fff url(../i/pg/svc/carpet-cleaning-service4.jpg) repeat center center; background-size: cover }
.cleaningservice { background: #fff url(../i/pg/svc/carpet-cleaning-service2.jpg) repeat center center; background-size: cover }
.areaserved { background: #fff url(../i/bg/areas-served-carpet-cleaning-service.png) repeat center center; background-size: cover; background-position: center center }
.ecofriendly { background: #fff url(../i/pg/svc/eco-friendly-cleaning-background-2.jpg) repeat-x; background-size: cover; background-position: center center }
.beforeafter { background: #fff url(../i/pg/svc/highest-rated-carpet-cleaning.jpg) repeat center center; background-size: cover }

h1.long-text { font-size: 1.75rem; }

@media (min-width: 991px) {
        
    .pagestart { padding-top: 20px; background: #fff }
    .pageheader { }
    .guarantee { height: 400px }
    #mobiletotal { display: none }
    #ecofriendly { background-image: url(/s/i/pg/safe-for-kids-and-pets.jpg); background-position: center right; }
}

#free-estimate { position: relative; color: #fff; padding: 10px 20px 10px 30px; background: #00a3e0; border-top-left-radius: 5px; border-top-right-radius: 5px; background: -moz-radial-gradient(center, ellipse cover, #00a3e0 0%, #1b6fb4 100%); background: -webkit-radial-gradient(center, ellipse cover, #00a3e0 0%,#1b6fb4 100%); background: radial-gradient(ellipse at center, #00a3e0 0%,#1b6fb4 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00a3e0', endColorstr='#1b6fb4',GradientType=1 ); box-shadow: -5px -4px 8px -3px rgba(0,0,0,0.42); }
#free-estimate h3 { color: #fff; text-align: center; font-size: 16px; padding: 25px 0 5px 0 }

.ytthumb img.img-fluid { transition: all linear 100ms }
.ytthumb img.img-fluid:hover { cursor: pointer; filter: grayscale(100%); }

.service {position:relative;padding:1rem}
.service img, .service h5, .service p, .service a { transition: all 300ms ease 0ms; }
.service img:hover { opacity: 0.5; }
.service h5 { margin: 0; color: #6d6e71 }
.service h5:hover { color: #000 }
.service p { padding: 4px 0; margin: 0 }
.service a { color: #6d6e71; font-weight: 700; text-decoration: none }

.hoverzoom { transition: all .2s ease; }
.hoverzoom:hover { transform: scale(1.05); }   

.coupon { display: block; padding: 20px; border: 4px dashed #cc0033; border-radius: 15px; height: 100%; background: #fff; transition: all 300ms ease 0ms; text-align: center; }
.coupon h3 { color: #cc0033 }
.coupon p { color: #000 }
.coupon:hover { text-decoration: none; background: #eee }

.review { }
.review h6 { color: #000; background: transparent url(../i/ico/5-star.png) no-repeat bottom center; padding-bottom: 40px; text-align: center; font-weight: 700; background-size: auto }

.stars { min-height: 20px; background: transparent url(../i/pg/reviews/5-stars.png) no-repeat bottom center; }
.star4 { background-image: url(../i/pg/reviews/4-stars.png) }
.star3 { background-image: url(../i/pg/reviews/3-stars.png) }

.qservice { display: block; margin-bottom: 6px; border: solid 1px #ccc; border-radius: 4px }
.qservice:hover { background: #efefef; text-decoration: none }
.qservice h5 { margin: 0; color: #6d6e71 }
.qservice:hover h5 { text-decoration: none }
.qservice p { padding: 4px 0; margin: 0 }
.qservice a { color: #6d6e71; font-weight: 700 }

.truck { position: absolute; right: 0; bottom: calc(100% - 22px); transform: translateX(-50%); z-index: 2; max-width: 500px; }

.estimate-columns .card { margin-bottom: 15px }
.estimatecounter { text-align: center }

#mobiletotal { position: fixed; bottom: 0; height: 50px; background: #be0005; width: 100%; z-index: 99999; text-align: center; color: #fff }

.text-white h5 { color: #fff }
.form-check label { padding-left: 8px }
div.sticky { position: -webkit-sticky; position: sticky; top: 10px; }

.hrs { display: inline-block; width: 45px; font-weight: 700 }

.vcard h3 { font-size: 1.1em }

.ccs { font-size: 36px }



ul.checks { list-style: none; }
ul.checks li { position: relative; padding-left: 30px; margin-bottom: 6px }
ul.checks li:before { position: absolute; top: 5px; left: 0; content: ' '; width: 50px; height: 50px; background: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><svg width='18' height='18' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'><path d='M1671 566q0 40-28 68l-724 724-136 136q-28 28-68 28t-68-28l-136-136-362-362q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295 656-657q28-28 68-28t68 28l136 136q28 28 28 68z' fill='%231b6fb4'/></svg>") no-repeat; }

ul.checkslg { list-style: none; }
ul.checkslg li { position: relative; padding-left: 30px; margin-bottom: 6px;font-size:1.25rem }
ul.checkslg li:before { position: absolute; top: 6px; left: 0; content: ' '; width: 50px; height: 50px; background: url("data:image/svg+xml;utf8,<?xml version='1.0' encoding='utf-8'?><svg width='18' height='18' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'><path d='M1671 566q0 40-28 68l-724 724-136 136q-28 28-68 28t-68-28l-136-136-362-362q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 295 656-657q28-28 68-28t68 28l136 136q28 28 28 68z' fill='%231b6fb4'/></svg>") no-repeat; }


.brace { width: auto; min-width: 35px; padding-bottom: 20px; font-size: 2em; line-height: 2em; position: relative; text-align: center; vertical-align: middle; margin: 0 15px 15px; border: none; background-color: transparent; background-image: radial-gradient(circle at 0 0, rgba(255,255,255,0) 14.5px, #fff 15.5px, #fff 19.5px, rgba(255,255,255,0) 20.5px), radial-gradient(circle at 35px 0, rgba(255,255,255,0) 14.5px, #fff 15.5px, #fff 19.5px, rgba(255,255,255,0) 20.5px); background-size: 35px 20px; background-position: center bottom; background-repeat: no-repeat; text-transform: lowercase; font-style: italic; color: #fff; -webkit-filter: drop-shadow(0 1px 1px rgba(0,0,0,0.15)); filter: drop-shadow(0 1px 1px rgba(0,0,0,0.15)); overflow: visible; }
.brace:before { width: 50%; border-top: 5px solid #fff; border-left: 1px solid transparent; border-top-left-radius: 20% 30px; height: 100%; content: ""; position: absolute; top: 100%; left: -15px; box-sizing: border-box; margin-top: -5px; }
.brace:after { width: 50%; border-top: 5px solid #fff; border-right: 1px solid transparent; border-top-right-radius: 20% 30px; height: 100%; content: ""; position: absolute; top: 100%; right: -15px; box-sizing: border-box; margin-top: -5px; }

#footer-reviews { position: relative; text-align: center; padding: 0 10px; font-size: 14px; }
#footer-reviews span img { margin-top: -8px; margin-left: 6px }
#footer-reviews span.star-rating { display: inline-block; vertical-align: middle; margin: 0 7px; font-size: 14px; font-weight: 700; color: #ddbf27; padding: 0 8px; }
#footer-reviews a { text-decoration: underline; }

.grecaptcha-badge { visibility: hidden; }

.bullets dd, .bullets dt { padding-bottom: 25px; }

#promopop .modal-content { background-color: #1260b2; }
#promopop .couponpop { border: 4px dashed #fff; text-align: center; color: #fff; padding: 1em }

@media (max-width: 768px) {
    .couponcloud1, .couponcloud2, .couponcloud3, .couponcloud4, .couponcloud5 { display: none }
}

@media (min-width: 768px) {
    .couponcloud1 { z-index:10; bottom: 20px; left: -600px; position: fixed; animation: animateCloud 35s linear infinite; animation-delay: 5s }
    .couponcloud2 { z-index: 10; bottom: 0; left: -600px; position: fixed; animation: animateCloud 55s linear infinite; animation-delay: 15s }
    .couponcloud3 { z-index: 10; bottom: 0; left: -600px; position: fixed; animation: animateCloud 45s linear infinite; animation-delay: 10s }
    .couponcloud4 { z-index: 10; bottom: 0; left: -600px; position: fixed; animation: animateCloud 25s linear infinite; }
    .couponcloud5 { z-index: 10; bottom: 0; left: -600px; position: fixed; animation: animateCloud 45s linear infinite; }

    @keyframes animateCloud {
        0% { left: -600px; }
        100% { left: 100%; bottom: 60px }
    }
}

.recent-work-card { border: 0; border-radius: 1rem; background-color: #fff; position:relative }
.recent-work-card .card-body { padding: 1.5rem 1.75rem; }
.recent-work-image { border-radius: 0.75rem; object-fit: cover; max-height: 220px; }
@media (max-width: 575.98px) {
    .recent-work-card .card-body { padding: 1.25rem; }
    .recent-work-image { max-height: 180px; }
}
.recent-work-meta span + span::before { content: "•"; display: inline-block; margin: 0 0.5rem; }

.news-card { border: 0; border-radius: 1rem; background-color: #fff;position:relative }
.news-card .card-body { padding: 1.5rem 1.5rem; }
@media (max-width: 575.98px) {
    .news-card .card-body { padding: 1.25rem; }
}

.card.card-reviews { position: relative; border: 1px solid #f0f0f0; background: #fffdfa; border-radius: 1rem; box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.card.card-reviews::after { content: ""; position: absolute; bottom: -10px; left: 3rem; border-width: 10px 10px 0; border-style: solid; border-color: #fffdfa transparent transparent transparent; display: block; width: 0; filter: drop-shadow(0 -2px -2px rgba(0, 0, 0, 0.05)); }
.card.card-reviews::before { content: ""; position: absolute; bottom: -11px; left: 3rem; border-width: 11px 11px 0; border-style: solid; border-color: #f0f0f0 transparent transparent transparent; z-index: -1; }

