.main-container {
  background: linear-gradient(to bottom, #0a5290c7, #0055a66e),
    url(images/Images-1205.jpg);
  min-height: 85vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #333;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

img {
  width: 100%;
  height: auto;
}

h5,
h3,
h4 {
  font-weight: 700;
}

.header {
  background-color: #004080;
  width: 100%;
  padding: 15px 0;
  color: white;
  text-align: center;
  font-weight: bold;
}

.form-container {
  padding: 30px 20px;
  background-color: white;
  border-radius: 10px;
  padding: 2rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  text-align: center;
}
@media (min-width: 1024px) {
  .form-container {
    width: 600px;
  }
}

@media (max-width: 576px) {
  .form-container {
    max-width: 100%;
    padding: 30px 20px;
  }
}

.form-container h2 {
  font-weight: bold;
  margin-bottom: 20px;
}

.form-select,
.btn-custom,
.btn-custom2 {
  border-radius: 5px;
  margin-top: 15px;
}

.btn-custom {
  background-color: #e50914;
  color: white;
  font-weight: bold;
  border: none;
  padding: 0.75rem;
  width: 100%;
  transition: background-color 0.3s ease;
}

.btn-custom:hover {
  background-color: #d10812;
}

.btn-custom2 {
  background-color: #0939e5;
  color: white;
  font-weight: bold;
  border: none;
  padding: 0.75rem;
  width: 100%;
  transition: background-color 0.3s ease;
}

.btn-custom2:hover {
  background-color: #0939e5;
}

.footer {
  background-color: #333;
  color: #999;
  padding: 1rem 0;
  text-align: center;
  width: 100%;
  font-size: 0.85rem;
}

.houses-background {
  background: url(images/houses.svg)
    no-repeat center bottom;
  background-size: cover;
  height: 200px;
  width: 100%;
  position: relative;
  bottom: -78px;
}

.step {
  display: none;
}

.step.active {
  display: block;
}

.hidden {
  display: none;
}

.form-label {
  text-align: center;
  font-size: 23px;
  margin-bottom: 5px;
  font-weight: bold;
  color: rgb(36, 36, 36);
}

.select2-container {
  width: 100%;
  box-sizing: border-box;
  display: block;
  margin: 0;
  position: relative;
  vertical-align: middle;
}

.select2-container .select2-selection--single {
  height: 38px;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__rendered {
  color: #444;
  line-height: 36px;
}

.select2-container--default
  .select2-selection--single
  .select2-selection__arrow {
  height: 34px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
}

@media (min-width: 960px) {
  .main-heading {
    font-size: 55px;
    line-height: 60px;
  }
}

@media (max-width: 576px) {
  .main-heading {
    font-size: 32px;
    line-height: 34px;
  }
}

.form-range {
  width: 100% !important;
}

.styled-range {
  -webkit-appearance: none;
  width: 100%;
  height: 15px; /* Increased height */
  background: linear-gradient(
    90deg,
    #0160b0 0%,
    #9ec2e1 0%
  ); /* Initial gradient */
  border-radius: 8px;
  outline: none;
  transition: background 0.3s ease;
}

/* Track styling */
.styled-range::-webkit-slider-runnable-track {
  height: 12px;
  background: transparent;
}

.styled-range::-moz-range-track {
  height: 12px;
  background: transparent;
}

.styled-range::-ms-track {
  height: 12px;
  background: transparent;
  border-color: transparent;
  color: transparent;
}

/* Thumb styling */
.styled-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  background-color: #0160b0; /* Button color */
  border: 1px solid #fff;
  padding: 3px;
  margin-top: -4px;
  border-radius: 50%;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.styled-range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background-color: #0160b0; /* Button color */
  border: 1px solid #fff;
  padding: 3px;
  margin-top: -4px;
  border-radius: 50%;
  cursor: pointer;
}

.styled-range::-ms-thumb {
  width: 20px;
  height: 20px;
  background-color: #0160b0; /* Button color */
  border: 1px solid #fff;
  padding: 3px;
  margin-top: -4px;
  border-radius: 50%;
  cursor: pointer;
}

/* Hover effect */
.styled-range:hover::-webkit-slider-thumb {
  transform: scale(1.1);
}

.styled-range:hover::-moz-range-thumb {
  transform: scale(1.1);
}

.styled-range:hover::-ms-thumb {
  transform: scale(1.1);
}

.billvalue {
  margin-bottom: 20px;
  color: rgb(13, 118, 205);
  letter-spacing: 1px;
  font-size: 28px;
  font-weight: bold;
}

.custom-radio label {
  padding: 15px 20px;
  border-radius: 5px;
  border: 1px solid rgb(216, 216, 216);
  background-color: rgb(255, 255, 255);
  transition: transform 300ms ease-in-out;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  width: 100%;
}

.custom-control-label::after,
.custom-control-label::before {
  display: none !important;
}

.custom-control input:checked + label {
  background: #ffd6ad;
}

.roof-shade img {
  margin-left: 5px;
  margin-right: 10px;
  width: 50px;
  height: 50px;
  border-radius: 50%;
}

.roof-shade span {
  color: rgb(20, 36, 56);
  font-size: 15px;
  font-weight: normal;
  letter-spacing: 0.13px;
}

.section-title {
  font-size: 3rem;
  font-weight: bold;
  margin-top: 2rem;
  text-align: center;
}

@media (max-width: 576px) {
  .section-title {
    font-size: 19px;
  }
}

.section-subtitle {
  font-size: 30px;
  line-height: 1.333em;
}
.icon-box {
  font-size: 2rem;
  color: #ffc107;
}
.card {
  border: none;
  margin-bottom: 1.5rem;
}
.btn-custom23 {
  background-color: #28a745;
  color: #fff;
  font-weight: bold;
}
.learn-more-btn {
  background-color: #28a745;
  color: white;
  border: none;
  font-weight: 700;
  padding: 0.75rem 1.5rem;
}
.map-section,
.benefits-section {
  margin: 3rem 0;
}

.solar-today-section {
  width: 100%;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  background: radial-gradient(
    97.88% 50.9% at 52.43% 50%,
    rgb(10, 103, 205) 0%,
    rgb(3, 69, 141) 48.44%,
    rgb(0, 46, 97) 100%
  );
  padding: 100px 20px;
}
.solar-main-heading {
  font-size: 50px;
}
@media (min-width: 576px) {
  .solar-main-heading {
    font-size: 86px;
  }
}

.solar-btn {
  background-color: rgb(255, 209, 90);
  text-transform: capitalize;
  color: rgb(0, 0, 0);
  font-weight: 700;
  font-size: 20px;
  width: 100%;
  height: 70px;
  max-width: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
}
