:root {
  --control-border-radius: 1rem;
  --primary-bg-color-rgb: 148, 209, 54;
  --primary-color-rgb: 0,0,0;
}

* {
  box-sizing: border-box;
}

html,
body {
  height: 100%;
  background-color: rgb(var(--primary-body-bg));
  background-image: url(../images/bg.png);
  background-position: bottom right;
  background-repeat: no-repeat;
}

body {
  margin: 0;
}

.container .row-full {
  height: 100vh;
}

.btn-primary {
  background-color: rgb(var(--primary-bg-color-rgb));
  border-color: rgb(var(--primary-bg-color-rgb));
  color: rgb(var(--primary-color-rgb));
}
.btn-primary:hover {
  background-color: rgba(var(--primary-bg-color-rgb), 0.7)!important;
  border-color: rgb(var(--primary-bg-color-rgb));
  color: rgb(var(--primary-color-rgb));
}

.estimates-form {
  border: 1px solid rgba(60, 60, 60, 1);
  border-radius: var(--control-border-radius);
  overflow: hidden;

  padding: 30px;
}
.form-container {
  min-height: 100px;
}
.form-group label {
  font-size: 1.1rem;
  font-weight: bold;
}

.form-control,
.form-select {
  padding: 10px;
  border-radius: var(--control-border-radius);
  border-color: #aaa;
  margin-top: 5px;
}

.btn {
  border-radius: var(--control-border-radius)!important;
}

.btn-group {
  display: flex;
  gap: 10px;
}
.btn-check + .btn {
  display: flex;
  border-radius: 10px;
  flex: 1;
  background-color: #fff;
  color: #333;
  border: 1px solid #ddd;
  align-items: center;
  height: 50px;
  justify-content: center;
}

.btn-check:hover + .btn {
  border-color: rgb(var(--primary-bg-color-rgb));
}

.btn-check:checked + .btn {
  background-color: rgb(var(--primary-bg-color-rgb));
  color: rgb(var(--primary-color-rgb));
  border-color: rgb(var(--primary-bg-color-rgb));
}
.btn-primary {
  background-color: rgb(var(--primary-bg-color-rgb));
  border-radius: 10px;
  padding: 0.5rem 1.5rem;
}

.btn:hover {
  border: 1px solid rgb(var(--primary-bg-color-rgb));
}
.btn-primary:hover {
  background-color: rgb(var(--primary-bg-color-rgb));
  border: 1px solid rgb(var(--primary-bg-color-rgb));
}
.input-group-text {
  background-color: transparent;
  border: none;
  padding-right: 0;
}

.steps {
  --theme-color: #ccc;
  --line-min-height: 50px;
  --icon-size: 30px;
}
.steps__item--complete {
  --theme-color: green;
  list-style: none;
  padding: 0;
}
.steps__item--complete .steps__label:after {
  content: "\2713";
  top: 3px;
  background-color: unset;
  color: #fff;
  left: 10px;
}
.steps__item--current .steps__label:before {
  --theme-color: green;
}
.steps__item {
  display: flex;
  flex-direction: column;
}
.steps__label {
  position: relative;
  padding-left: calc(2rem + 4px);
  margin: 16px 0;
}
.steps__label:before,
.steps__label:after {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
}
.steps__label:before {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: rgb(var(--primary-bg-color-rgb));
}
.steps__label:after {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: white;
  left: 12px;
}
.steps__space {
  position: relative;
  margin-left: calc(2rem / 2);
  flex: 1 0 1;
  padding: 1em;
  box-sizing: border-box;
}
.steps__item:last-child .steps__space {
  display: none;
}

.steps__space:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 2px;
  background-color: rgb(var(--primary-bg-color-rgb));
}

.right-addon {
  position: relative;
}
.right-addon input {
  padding-left: 30px;
}
.right-addon svg {
  position: absolute;
  top: 15px;
  left: 10px;
}

.form-3 {
  display: flex;
  align-items: center;
  justify-content: center;
}
.change-fade-text {
  opacity: 1;
  transition: opacity 0.5s;
  font-size: 1.5rem;
}
.change-fade-text.hide {
  opacity: 0 !important;
}

.map-modal {
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
}

.map-modal .content {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 1.188rem;
  width: 90%;
  max-width: 900px;
  height: 500px;
  display: flex;
  overflow: hidden;
}
.modal-sidebar {
  width: 40%;
  padding: 1rem;
}

#map {
  position: relative;
  width: 100%;

  height: 500px;

  border-radius: 8px;
}
.billing-in {
  position: relative;
  margin-top: 1.125rem;
}

.billing-in label {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #082f50;
  border-radius: 0.75rem;
  overflow: hidden;
  padding: 0.6rem 1.25rem;
}
.billing-in label input::placeholder {
  color: #9f9f9f;
}
.billing-in label input::placeholder {
  color: #9f9f9f;
}

.billing-in label input {
  border: 0;
  padding: 0;
  padding-top: 0px;
  color: #082f50;
  font-size: 1rem;
  padding-top: 0.25rem;
}
.billing-in label span {
  color: #082f50;
  font-size: 0.875rem;
  opacity: 1;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.modal-sidebar .address-pop-content-inner1x {
  gap: 1rem;
}
.address-pop-content-inner1x {
  display: flex;
  align-items: center;
  max-width: 25rem;
}

.add-selection .enter-btn {
  width: 14rem;
}
.enter-btn {
  width: 26rem;
  height: 2.75rem;
  color: rgb(var(--primary-color-rgb));
  background-color: rgb(var(--primary-bg-color-rgb));
  border-radius: 1.563rem;
  font-size: 1rem;
  color: #fff;
  font-weight: 600;
  margin-top: 2rem;
  cursor: pointer;
  transition: 0.3s;
  border: 1px solid transparent;
  max-width: 100%;
}
.modal-sidebar .address-pop-content-inner1x .billing-in {
  width: 48%;
  margin-right: 0;
}
textarea:focus,
input:focus {
  outline: none;
}
#address.drop {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 0;
}

.address-autocomplete-wrapper{
  position: relative;
}

.address-autocomplete {
  position: absolute;
  z-index: 9;
  background: #fff;
  border: 1px solid #082f50;
  width: calc(100% - 24px);
  padding: 0;
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}
.address-autocomplete ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.address-autocomplete ul li {
  cursor: pointer;
  padding: 0.6rem 1.25rem;
  margin-left: 0;
  width: 100%;
}
.address-autocomplete ul li:hover {
  background-color: rgba(var(--primary-bg-color-rgb), 0.1)
}


.no-address {
  padding: 0.5rem;
  text-align: center;
  background: #a8726f;
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  color:#fff;
}

.no-address a {
  color:#fff;
  text-decoration: none;
  font-weight: bold;
}

.form-container.form-4{
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  min-height: 1200px!important;
  padding: 0;
}

.form-container.form-4 > div.client-info{
  width: 60%;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #fff!important;
  border-radius: var(--control-border-radius);
  overflow: hidden;
  z-index: 10;
  padding:2em;
}

#map2, #map3 {
  position: relative;
  width: 100%;
  height: 500px;
  border-radius: var(--control-border-radius);
}

#map2{
  z-index: 0;
  filter: blur(8px);
  background-color: #ccc;
}
.map2-overlay{
  z-index: 1;
  position: absolute;
  width: 100%;
  height: 500px;
}
.estimates-form {
	position: relative;
	overflow: visible;
	
}
.form-container h4 {
	position: absolute;
	top: -18px;
	background-color: rgb(var(--primary-body-bg));
	padding: 0 1rem;
	left: 32px;
}

.header {
	margin-top: 2rem;
	margin-bottom: 4rem;
}
.opacity3 {
	opacity: 0.3;
}

@media screen and (max-width: 600px) {
  .form-container.form-4 > div.client-info{
    width: 100%;
  }
  .client-info .col-12.col-md-6.form-group{
    padding-right: 0;
    padding-left: 0;
  }

  .agree label {
    font-size:0.95rem
  }
}