@media all and (max-width: 768px) {
  .center-on-mobile {
    text-align: center;
    justify-content: center; } }

html {
  font-size: 62.5%; }
  html *::after,
  html *::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box; }

body {
  font-family: "Montserrat", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  margin: 0;
  line-height: 1.7;
  background-color: #f7f7f7; }

.red-line-vertical {
  border-left: 2px solid #c1322c;
  height: 30%;
  padding-left: 2rem; }
  @media all and (max-width: 600px) {
    .red-line-vertical {
      padding-left: 4rem;
      height: 50%; } }

.top-banner {
  background-color: #141e34;
  height: 30vh; }
  @media all and (max-width: 768px) {
    .top-banner {
      height: 47vh; } }

.top-banner-logo {
  width: 175px;
  margin-right: 2rem; }
  @media all and (max-width: 600px) {
    .top-banner-logo {
      width: 100px; } }

.heading {
  color: white;
  padding-left: 1rem;
  font-size: 2rem;
  font-weight: 500; }

.heading-bold {
  font-weight: 700;
  font-size: 3.5rem; }

.heading-sm {
  color: white;
  padding-left: 1rem;
  font-size: 2rem;
  font-weight: 600; }

.content-placement-header {
  position: absolute;
  right: 0%; }
  @media all and (max-width: 768px) {
    .content-placement-header {
      right: none;
      position: relative; } }

.btn, .btn:link, .btn:visited {
  text-transform: uppercase;
  text-decoration: none;
  padding: 1.2rem 2rem;
  display: inline-block;
  transition: all 0.2s;
  position: relative;
  font-size: 2rem; }

.btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.2); }

.btn:active, .btn:focus {
  transform: translateY(-1px);
  box-shadow: 0.5rem 1rem rgba(0, 0, 0, 0.2); }

.btn--white {
  background-color: white !important;
  color: black !important;
  font-size: 2.5rem !important;
  font-weight: 500 !important; }
  .btn--white::after {
    background-color: white !important; }

.btn--black {
  background-color: black !important;
  color: white !important;
  font-size: 3rem !important;
  letter-spacing: 3px;
  font-weight: 700 !important;
  width: 100%; }
  .btn--black::after {
    background-color: black !important; }

.btn--blue {
  background-color: #141e34;
  color: white;
  font-weight: 700; }
  .btn--blue::after {
    background-color: #141e34; }
  .btn--blue:hover {
    color: white; }

.btn--blue-mobile {
  background-color: #c1322c;
  color: white;
  font-weight: 700;
  padding: 2rem 2rem;
  width: 100%;
  bottom: 0; }
  .btn--blue-mobile::after {
    background-color: #c1322c; }
  .btn--blue-mobile:hover {
    color: white; }

.btn--red {
  background-color: #c1322c;
  color: white;
  font-size: 2.5rem !important;
  font-weight: 700;
  border-radius: 6px; }
  .btn--red:hover {
    color: white; }

.btn--redPhone {
  background-color: #c1322c;
  color: white;
  font-weight: 700;
  border-radius: 6px; }
  .btn--redPhone:hover {
    color: white; }
  .btn--redPhone::before {
    padding: 0 5px 0 0;
    content: url(../img/buttonIcons/phone.png);
    vertical-align: -20%; }
  @media all and (max-width: 600px) {
    .btn--redPhone {
      font-size: 1.9rem !important; } }

.btn--redPhone-sm {
  background-color: #c1322c;
  color: white;
  padding: 1rem 2rem;
  font-size: 1.8rem !important;
  font-weight: 700;
  border-radius: 6px; }
  .btn--redPhone-sm:hover {
    color: white; }
  .btn--redPhone-sm::before {
    padding: 0 5px 0 0;
    content: url(../img/buttonIcons/phone.png);
    vertical-align: -20%; }

.btn--white {
  background-color: white;
  color: black;
  padding: 1rem 2rem;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  border-radius: 6px; }
  .btn--white::before {
    padding: 0 5px 0 0;
    content: url(../img/buttonIcons/phoneRed.png);
    vertical-align: -20%; }
  @media all and (max-width: 600px) {
    .btn--white {
      font-size: 1.8rem !important; } }

.btn--white-sm {
  background-color: white;
  color: black;
  padding: 1rem 2rem;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  border-radius: 6px; }
  .btn--white-sm::before {
    padding: 0 5px 0 0;
    content: url(../img/buttonIcons/phoneRed.png);
    vertical-align: -30%;
    transform: scale(0.75); }
  @media all and (max-width: 600px) {
    .btn--white-sm {
      font-size: 1.2rem !important; } }

.btn--white-blue {
  background-color: white;
  color: black;
  padding: 1rem 2rem;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  border-radius: 6px; }
  .btn--white-blue::before {
    padding: 0 5px 0 0;
    content: url(../img/buttonIcons/phoneBlue.png);
    vertical-align: -20%; }
  @media all and (max-width: 600px) {
    .btn--white-blue {
      font-size: 1.8rem !important; } }

.btn--transparentPhone {
  background-color: #141e34;
  border: solid 1px white;
  color: white;
  font-weight: 700;
  border-radius: 6px; }
  .btn--transparentPhone:hover {
    color: white; }
  .btn--transparentPhone::before {
    padding: 0 5px 0 0;
    content: url(../img/buttonIcons/cellphone.png);
    vertical-align: -20%; }

.btn::after {
  content: "";
  display: inline-block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  transition: all 0.4s; }

.hero-placement {
  margin-top: -6rem; }
  @media all and (max-width: 1900px) {
    .hero-placement {
      margin-top: -0.5rem; } }
  @media all and (max-width: 768px) {
    .hero-placement {
      margin-top: -4rem; } }
  @media all and (max-width: 600px) {
    .hero-placement {
      margin-top: -1rem; } }

.hero {
  background-image: url(/img/hero.png);
  height: 60vh;
  background-position: center;
  background-size: cover;
  border-radius: 20px; }
  @media all and (max-width: 768px) {
    .hero {
      background-image: url(/img/hero-mobile.PNG); } }
  @media all and (max-width: 600px) {
    .hero {
      height: 50vh; } }

.hero-text-margin {
  margin: 8rem 8rem; }
  @media all and (max-width: 1900px) {
    .hero-text-margin {
      margin: 4rem 4rem; } }
  @media all and (max-width: 600px) {
    .hero-text-margin {
      margin: 4rem 0; } }

.hero-heading {
  font-size: 5.8rem;
  font-weight: 700;
  color: white;
  line-height: 1.2; }
  @media all and (max-width: 1900px) {
    .hero-heading {
      font-size: 4rem; } }
  @media all and (max-width: 768px) {
    .hero-heading {
      text-align: center;
      line-height: 1; } }
  @media all and (max-width: 600px) {
    .hero-heading {
      font-size: 3rem;
      line-height: 1; } }

.hero-text {
  font-size: 2.8rem;
  font-weight: 500;
  color: white; }
  @media all and (max-width: 1900px) {
    .hero-text {
      font-size: 2.5rem; } }
  @media all and (max-width: 768px) {
    .hero-text {
      text-align: center; } }
  @media all and (max-width: 600px) {
    .hero-text {
      font-size: 1.8rem; } }

.checkmarks-spacing {
  padding-top: 10rem; }

.checkmark-bg {
  background-color: #d2e2e9; }

.checkmarks-heading {
  font-size: 4rem;
  font-weight: 700; }
  @media all and (max-width: 600px) {
    .checkmarks-heading {
      font-size: 3rem; } }

.ul-margin {
  margin: 0 6rem; }
  @media all and (max-width: 600px) {
    .ul-margin {
      margin: 0; } }

.checkmarks-ul {
  list-style: none; }

.checkmarks-ul li {
  font-size: 2.4rem;
  font-weight: 600; }
  @media all and (max-width: 600px) {
    .checkmarks-ul li {
      font-size: 1.8rem; } }

.checkmarks-ul li::before {
  content: "";
  background-image: url(/img/checkbox-marked-circle-outline.png);
  background-size: contain;
  display: inline-block;
  width: 4rem;
  height: 4rem;
  position: relative;
  top: 1.2rem;
  margin-right: 1rem; }

.checkmark-underline {
  font-weight: 700;
  border-bottom: 2.5px solid #40abf3; }

.van-img {
  width: 600px; }
  @media all and (max-width: 600px) {
    .van-img {
      width: 500px; } }

.van {
  display: flex;
  align-items: center; }
  @media all and (max-width: 768px) {
    .van {
      justify-content: center; } }

.van-heading {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2; }
  @media all and (max-width: 768px) {
    .van-heading {
      text-align: center; } }

.van-underline {
  font-weight: 800;
  border-bottom: 3px solid #c1322c; }

.van-call-now {
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.2; }
  @media all and (max-width: 768px) {
    .van-call-now {
      align-items: center; } }
  @media all and (max-width: 600px) {
    .van-call-now {
      font-size: 3rem; } }

.van-text {
  font-size: 2rem;
  font-weight: 600; }
  @media all and (max-width: 768px) {
    .van-text {
      text-align: center; } }

.why-choose-us-heading {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.2; }
  @media all and (max-width: 600px) {
    .why-choose-us-heading {
      font-size: 3rem; } }

.why-choose-us-heading-text {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2; }

.why-choose-us-text {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.2; }

.red-gradient-card {
  background: linear-gradient(90deg, #eb4c17 0%, #c83629 50%, #951914 100%);
  height: 35vh;
  border-radius: 20px; }
  @media all and (max-width: 1900px) {
    .red-gradient-card {
      height: 47vh; } }
  @media all and (max-width: 768px) {
    .red-gradient-card {
      height: 40vh; } }
  @media all and (max-width: 600px) {
    .red-gradient-card {
      height: 50vh; } }

.blue-gradient-card {
  background: linear-gradient(90deg, #0094cf 0%, #135dba 50%, #00367a 100%);
  height: 35vh;
  border-radius: 20px; }
  @media all and (max-width: 1900px) {
    .blue-gradient-card {
      height: 47vh; } }
  @media all and (max-width: 768px) {
    .blue-gradient-card {
      height: 40vh; } }
  @media all and (max-width: 600px) {
    .blue-gradient-card {
      height: 50vh; } }

@media all and (max-width: 768px) {
  .card-mobile-spacing {
    padding-top: 4rem; } }

.card-margin {
  margin: 0 10rem; }
  @media all and (max-width: 600px) {
    .card-margin {
      margin: 0; } }

.card-heading {
  color: white;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.3; }
  @media all and (max-width: 600px) {
    .card-heading {
      font-size: 3rem; } }

.card-text {
  color: white;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3; }

.heading-red {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.2;
  color: #c1322c; }

.water-problems-ul {
  list-style: none; }

.water-problems-ul li {
  font-size: 2rem;
  font-weight: 700; }

.water-problems-ul li::before {
  content: "";
  background-image: url(/img/arrow-right.png);
  background-size: contain;
  display: inline-block;
  width: 4rem;
  height: 4rem;
  position: relative;
  top: 1.2rem;
  margin-right: 1rem; }

.reveiw {
  border: solid 1px #0094cf;
  border-radius: 20px; }

.reveiw-margin {
  margin: 8rem 6rem;
  margin-bottom: 16rem; }

.star {
  width: 50%; }

.review-text {
  font-size: 2.2rem;
  font-weight: 600;
  font-style: italic; }

.review-author {
  position: absolute;
  right: 15%;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.2; }

.blue-card-ul {
  list-style: none; }

.blue-card-ul li {
  font-size: 1.8rem;
  font-weight: 600;
  color: white;
  line-height: 2; }

.blue-card-ul li::before {
  content: "";
  background-image: url(/img/checkbox-marked-circle-outline-white.png);
  background-size: contain;
  display: inline-block;
  width: 4rem;
  height: 4rem;
  position: relative;
  top: 1.4rem;
  margin-right: 1rem; }

.emergencyServices-bg {
  background-color: #141e34;
  border-radius: 20px; }

.emergencyServices-padding {
  padding: 4rem 6rem; }
  @media all and (max-width: 600px) {
    .emergencyServices-padding {
      padding: 4rem 0; } }

.emergencyServices-heading {
  color: white;
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  padding-left: 8rem; }
  @media all and (max-width: 600px) {
    .emergencyServices-heading {
      text-align: center;
      padding: 0; } }

footer {
  background-color: #141e34; }

.footer-uwrg {
  color: white;
  font-size: 2.7rem;
  font-weight: 700; }

.footer-text-margin {
  padding-top: 6rem; }

.footer-address {
  color: white;
  font-size: 2rem;
  font-weight: 500; }
  .footer-address::before {
    content: "";
    background-image: url(/img/map-marker-outline.png);
    background-size: contain;
    display: inline-block;
    width: 3rem;
    height: 3rem;
    position: relative;
    top: 0.6rem;
    margin-right: 1rem; }

.footer-phoneNumber {
  color: white;
  font-size: 2rem;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.5s; }
  .footer-phoneNumber:hover {
    color: #c1322c; }
  .footer-phoneNumber::before {
    content: "";
    background-image: url(/img/buttonIcons/phone.png);
    background-size: contain;
    display: inline-block;
    width: 3rem;
    height: 3rem;
    position: relative;
    top: 0.6rem;
    margin-right: 1rem; }

.footer-img {
  width: 175px;
  float: right;
  padding-top: 6rem; }
  @media all and (max-width: 768px) {
    .footer-img {
      float: none; } }
  @media all and (max-width: 600px) {
    .footer-img {
      float: none; } }

.form-input {
  width: 100%;
  border: none;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.5);
  height: 4.5rem;
  transition: all 0.4s; }
  .form-input:focus {
    outline: none;
    border-bottom: 1px solid #17b117; }
  @media all and (max-width: 1900px) {
    .form-input {
      height: 4rem; } }

.input-spacing {
  padding-top: 1.5rem; }
  @media all and (max-width: 1900px) {
    .input-spacing {
      padding-top: 1rem; } }

.modal-body {
  border-radius: 40px; }

@media all and (max-width: 768px) {
  .badges {
    width: 150px; } }

.form-control {
  border-radius: none;
  border: 0.5px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.5);
  height: 4.5rem;
  font-size: 20px;
  background-color: white; }
  .form-control:focus {
    outline: none !important;
    border-bottom: 2px solid #17b117; }
  @media all and (max-width: 600px) {
    .form-control {
      border: 0.5px solid rgba(0, 0, 0, 0.2); } }

.form-card {
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.4);
  width: 90%; }
