.g-recaptcha {
  margin: 0 auto 1rem auto;
}

.contact-area {
  color: black;
  text-align: center;
}
.contact-area.pristine .contact-form {
  display: block;
}
.contact-area.pristine .contact-error-area {
  display: none;
}
.contact-area.pristine .contact-success-area {
  display: none;
}
.contact-area.complete .contact-form {
  display: none;
}
.contact-area.complete .contact-error-area {
  display: none;
}
.contact-area.complete .contact-success-area {
  display: block;
}
.contact-area.errored .contact-form {
  display: none;
}
.contact-area.errored .contact-error-area {
  display: block;
}
.contact-area.errored .contact-success-area {
  display: none;
}

.hps-hero-contact .hps-heading {
  background-color: #dddddd;
  padding: 1rem;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  text-align: center;
}
.hps-hero-contact .hps-heading .hps-title {
  font-weight: bold;
  color: red;
}
.hps-hero-contact .hps-body {
  background-color: white;
  padding: 1rem;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}
.hps-hero-contact button[type=submit] {
  width: 100%;
}
.hps-hero-contact ::placeholder {
  color: #808080 !important;
  font-size: 0.85rem !important;
  font-style: italic !important;
}

.main {
  margin: 0;
}

.hps-hero {
  background-image: url("../images/hero.png");
  padding: 80px 0;
  background-repeat: no-repeat;
  background-size: cover;
  color: white;
}

.hps-lead {
  text-align: center;
  background-color: black;
  padding: 2rem;
}
.hps-lead .hps-phone {
  margin-bottom: 1rem;
}
.hps-lead .hps-lang {
  margin-bottom: 1rem;
  font-weight: 500;
  font-size: 1.7rem;
}
.hps-lead p {
  font-size: 1rem;
}

@media (max-width: 767.98px) {
  .hps-hero {
    padding: 10px 0;
  }
  .hps-lead {
    padding: 1rem;
  }
  .hps-lead p {
    font-size: 1rem;
  }
}
.services-carousel .carousel-container {
  position: relative;
  padding: 1rem;
  margin: 1rem -15px 0;
  border-width: 0.2rem 0 0;
}
.services-carousel .carousel-item {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  background-color: white;
}
.services-carousel .carousel-item.c-arch::after {
  background-image: url("../images/c-arch.png");
}
.services-carousel .carousel-item.c-ctr::after {
  background-image: url("../images/c-ctr.png");
}
.services-carousel .carousel-item.c-rem::after {
  background-image: url("../images/c-rem.png");
}
.services-carousel .carousel-item.c-fire::after {
  background-image: url("../images/c-fire.png");
}
.services-carousel .carousel-item.c-roof::after {
  background-image: url("../images/c-roof.png");
}
.services-carousel .carousel-item.c-pool::after {
  background-image: url("../images/c-pool.png");
}
.services-carousel .carousel-item.c-tcm::after {
  background-image: url("../images/c-tcm.png");
}
.services-carousel .carousel-item::after {
  content: "";
  opacity: 0.3;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  position: absolute;
  z-index: -1;
  background-size: cover;
}
.services-carousel .carousel-caption {
  position: relative;
  top: unset;
  bottom: unset;
  left: unset;
  right: unset;
  padding: 0;
}
.services-carousel .carousel-caption h5 {
  font-size: 2rem;
}
.services-carousel .carousel-item,
.services-carousel .carousel-caption {
  color: black;
}

section.what-we-do {
  padding: 3rem 0;
}
section.what-we-do .hps-content.hps-left {
  display: flex;
  justify-content: center;
}
section.what-we-do .hps-content.hps-right {
  margin-top: 2rem;
}

section.services {
  padding: 3rem 0;
  background-color: #eeeeee;
}
section.services .row {
  margin: 0;
}
section.services .hps-left,
section.services .hps-right {
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  padding: 0 3rem 3rem 3rem;
}
section.services .hps-right {
  align-items: flex-start;
}
section.services .hps-left {
  align-items: flex-end;
}
section.services .service-item {
  clear: both;
  margin: 3rem 0;
}
section.services .service-item .icon {
  color: red;
  font-size: 2.5rem;
  float: left;
}
section.services .service-item h3 {
  text-transform: capitalize;
  font-size: 2rem;
  font-weight: 100;
}
section.services .service-item .hps-content {
  margin-left: 60px;
}
@media (max-width: 575.98px) {
  section.services .hps-right,
section.services .hps-left {
    padding: 0 3rem;
    align-items: flex-start;
  }
  section.services .service-item:first-child {
    margin-top: 0;
  }
}

section.faq {
  padding: 3rem 0;
}
section.faq h3.subheading {
  text-align: center;
}
section.faq .q,
section.faq .a {
  float: left;
  font-size: 2.2rem;
  font-weight: 100;
}
section.faq .q {
  color: white;
}
section.faq .answer {
  padding-left: 50px;
}
section.faq .btn-link {
  text-transform: uppercase;
  color: #ffff00;
  text-align: left;
}
section.faq .card-header {
  background-color: #212529;
  border: 1px solid white;
}

section.commitment {
  color: white;
  background-color: #212529;
  padding: 3rem 0;
}
section.commitment .row {
  align-items: flex-end;
}
section.commitment .mugshot {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

section.callback {
  padding: 5rem 0;
}
section.callback .hps-title {
  margin-bottom: 2rem;
  text-align: center;
  color: red;
  text-transform: uppercase;
  font-weight: bold;
}

section.contact {
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
  padding: 4rem 0;
  text-align: center;
}
section.contact .phone {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.3rem;
}
section.contact .phone small {
  font-size: 1rem;
}
section.contact .hd {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
section.contact .hd .icon {
  color: red;
  margin-right: 2rem;
  font-size: 4rem;
  margin-bottom: 2rem;
}

section.map {
  position: relative;
}
section.map #contact-map {
  min-height: 300px;
}

section.social {
  padding: 4rem 0;
  text-align: center;
}
section.social a {
  font-size: 2rem;
  font-weight: 100;
}
section.social .icon {
  color: red;
  font-size: 3rem;
  margin-right: 1rem;
}
@media (max-width: 575.98px) {
  section.social .social-item {
    text-align: left;
    margin-left: 15%;
    white-space: nowrap;
  }
}

/*# sourceMappingURL=index.css.map */
