/* CleaningServices.com site stylesheet (c) CleaningServices.com */

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { font-family: sans-serif; line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: rgba(0,0,0,0); }
header, footer, section, nav, main, article { display: block; }
body { margin: 0; font-family: Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; text-align: left; background-color: #fff; }
h1, h2, h3, h4, h5, h6, .h1 { margin-top: 0; margin-bottom: .5rem; font-family: Lato, 'Helvetica Neue', Helvetica, Arial, sans-serif; font-weight: 700; line-height: 1.2; }
h1, .h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
p { margin-top: 0; margin-bottom: 1rem; }
ol, ul { margin-top: 0; margin-bottom: 1rem; }
ol ol, ul ul, ol ul, ul ol { margin-bottom: 0; }
b, strong { font-weight: bolder; }
small, .small { font-size: 80%; font-weight: 400; }
a { color: #007bff; text-decoration: none; background-color: transparent; }
a:hover { color: #0056b3; text-decoration: underline; }
img, svg { vertical-align: middle; }
img { border-style: none; }
svg { overflow: hidden; }

/* ---------- layout ---------- */
.container, .container-fluid { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
@media (min-width: 576px)  { .container { max-width: 540px; } }
@media (min-width: 768px)  { .container { max-width: 720px; } }
@media (min-width: 992px)  { .container { max-width: 960px; } }
@media (min-width: 1200px) { .container { max-width: 1140px; } }
.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.no-gutters { margin-right: 0; margin-left: 0; }
.no-gutters > [class*="col-"] { padding-right: 0; padding-left: 0; }
.col-md-10, .col-md-12, .col-lg-4, .col-lg-6, .col-lg-8, .col-lg-10, .col-lg-12, .col-xl-7, .col-xl-9 { position: relative; width: 100%; padding-right: 15px; padding-left: 15px; }
@media (min-width: 768px) {
  .col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-md-12 { flex: 0 0 100%; max-width: 100%; }
}
@media (min-width: 992px) {
  .col-lg-4  { flex: 0 0 33.333333%; max-width: 33.333333%; }
  .col-lg-6  { flex: 0 0 50%; max-width: 50%; }
  .col-lg-8  { flex: 0 0 66.666667%; max-width: 66.666667%; }
  .col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
  .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
  .order-lg-1 { order: 1; }
  .order-lg-2 { order: 2; }
}
@media (min-width: 1200px) {
  .col-xl-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
  .col-xl-9 { flex: 0 0 75%; max-width: 75%; }
}

/* ---------- helpers ---------- */
.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
@media (min-width: 992px) {
  .text-lg-left { text-align: left !important; }
  .text-lg-right { text-align: right !important; }
}
.text-white { color: #fff !important; }
.text-muted { color: #6c757d !important; }
.text-primary { color: #007bff !important; }
.bg-light { background-color: #f8f9fa !important; }
.font-weight-light { font-weight: 300 !important; }
.d-flex { display: flex !important; }
.h-100 { height: 100% !important; }
.p-0 { padding: 0 !important; }
.m-auto { margin: auto !important; }
.mx-auto { margin-right: auto !important; margin-left: auto !important; }
.my-auto { margin-top: auto !important; margin-bottom: auto !important; }
.mb-0 { margin-bottom: 0 !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }
@media (min-width: 992px) {
  .mb-lg-0 { margin-bottom: 0 !important; }
  .mb-lg-3 { margin-bottom: 1rem !important; }
}
.img-fluid { max-width: 100%; height: auto; }
.rounded-circle { border-radius: 50% !important; }

/* ---------- icons (inline SVG) ---------- */
.ico { display: inline-block; width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.2; stroke-linecap: round; stroke-linejoin: round; vertical-align: -.125em; }

/* ---------- masthead ---------- */
header.masthead { position: relative; background-color: #343a40; background: url(../img/bg-masthead.jpg) no-repeat center center; background-size: cover; padding-top: 4rem; padding-bottom: 4rem; }
header.masthead .overlay, .call-to-action .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #212529; opacity: .3; }
header.masthead h1, header.masthead .masthead-title { font-size: 2rem; }
@media (min-width: 768px) {
  header.masthead { padding-top: 6rem; padding-bottom: 6rem; }
  header.masthead h1, header.masthead .masthead-title { font-size: 3rem; }
}
header.masthead img { max-width: 100%; height: auto; }

/* ---------- content blocks ---------- */
.showcase .showcase-text { padding: 3rem; }
.showcase .showcase-img { min-height: 30rem; background-size: cover; }
.features-icons { padding-top: 3rem; padding-bottom: 3rem; }
.features-icons .features-icons-item { max-width: 20rem; }
.features-icons .features-icons-item .features-icons-icon { height: 7rem; }
.features-icons .features-icons-item .features-icons-icon .ico { font-size: 4.5rem; transition: font-size .15s; }
.features-icons .features-icons-item:hover .features-icons-icon .ico { font-size: 5rem; }
.features-icons img { max-width: 100%; }
.testimonials { padding-top: 3rem; padding-bottom: 3rem; }
.testimonials .testimonial-item { max-width: 18rem; }
.testimonials .testimonial-item img { max-width: 12rem; box-shadow: 0 5px 5px 0 #adb5bd; }
.call-to-action { position: relative; background-color: #343a40; background: url(../img/bg-masthead.jpg) no-repeat center center; background-size: cover; padding-top: 3rem; padding-bottom: 3rem; }
footer.footer { padding-top: 2rem; padding-bottom: 2rem; }

/* ---------- FAQ ---------- */
.faq-section h2 { font-size: 1.6rem; margin-bottom: 1rem; }
.faq-section h3 { font-size: 1.15rem; font-weight: 700; margin-top: 1.4rem; margin-bottom: .4rem; }
.faq-section p { margin-bottom: .5rem; }

/* ---------- small screens ---------- */
@media (max-width: 575px) {
  .showcase .showcase-text { padding: 2rem 1.25rem; }
  .call-to-action a, footer.footer a { display: inline-block; padding: .35rem .15rem; }
}
