body {
  font-family: "Lato", sans-serif;
}

.main {
  opacity: 0.95;
}
.banner-img img {
  width: 100%;
  max-height: 600px;
  position: relative;
  opacity: 0.75;
}

.bannerText {
  position: absolute;
  top: 10%;
  text-align: center;
  left: 25%;
  right: 25%;
}

.city-list {
  padding-top: 15px;
  text-align: center;
}

.mid-text {
  text-align: center;
}

#right-image {
  opacity: 0.9;
}

.banner h2 {
  color: rgb(19, 18, 18);
  font-size: 40px;
  margin: 0;
  font-weight: 500;
  margin-top: 20%;
}

.city-list li {
  list-style: none;
}

.bannerText p {
  color: rgb(53, 53, 53);
  font-size: 22px;
  font-weight: bold;
  margin: 0;
}

.estimate-btn {
  display: inline-block;
  margin-top: 5%;
  background: transparent;
  border: 0;
  font-size: 20px;
  text-transform: uppercase;
  border: 1px solid black;
  padding: 10px 25px;
  color: black;
  border-radius: 25px;
  font-weight: bold;
  background-color: white;
  opacity: 0.5;
}

@media screen and (max-width: 1110px) {
  .bannerText p {
    font-size: 20px;
  }
  .estimate-btn {
    font-size: 18px;
    text-transform: uppercase;
    border: 3px solid grey;
    padding: 10px 25px;
  }
}

@media screen and (max-width: 950px) {
  .banner h2 {
    font-size: 28px;
    margin-top: 30%;
  }

  .estimate-btn {
    font-size: 18px;
    text-transform: uppercase;
    border: 3px solid grey;
    padding: 10px 25px;
  }
}

@media screen and (max-width: 765px) {
  .bannerText {
    top: 5%;
  }
}

@media screen and (max-width: 640px) {
  .bannerText h2 {
    font-size: 20px;
  }

  .bannerText p {
    font-size: 16px;
  }
  .estimate-btn {
    font-size: 14px;
    text-transform: uppercase;
    border: 3px solid grey;
    padding: 10px 25px;
  }

  .city-list h5,
  .mid-text h5 {
    font-size: 16px;
  }

  .city-list li,
  .mid-text p {
    font-size: 14px;
  }
}

@media screen and (max-width: 560px) {
  .bannerText h2 {
    font-size: 18px;
  }
  .bannerText p {
    font-size: 14px;
  }
}

@media screen and (max-width: 454px) {
  .bannerText h2 {
    font-size: 16px;
  }

  .estimate-btn {
    font-size: 12px;
    text-transform: uppercase;
    border: 2px solid grey;
    padding: 8px 20px;
  }
}

@media screen and (max-width: 370px) {
  .banner h2 {
    font-size: 16px;
  }
  .bannerText p {
    font-size: 12px;
  }

  .estimate-btn {
    font-size: 12px;
    border: 1px solid grey;
    padding: 8px 20px;
  }
}

@media screen and (max-width: 320px) {
  .banner h2 {
    font-size: 14px;
  }
  .bannerText p {
    font-size: 10px;
  }

  .estimate-btn {
    font-size: 10px;
  }
  .city-list h5,
  .mid-text h5 {
    font-size: 14px;
  }

  .city-list li,
  .mid-text p {
    font-size: 10px;
  }
}
