.membership {
  padding-top: 100px;
  padding-bottom: 100px;
}
.membership__headline {
  font-weight: 600 !important;
  font-size: 16px;
  line-height: 22px;
  letter-spacing: 0;
  margin-bottom: 50px !important;
}
@media (min-width: 768px) {
  .membership__headline {
    font-size: 20px;
    line-height: 100%;
  }
}
.membership__steps {
  margin-bottom: 50px;
}
.membership__form {
  --altcha-border-width: var(--bs-border-width);
  --altcha-border-radius: var(--bs-border-radius);
  --altcha-color-base: transparent;
  --altcha-color-border: #888888;
  --altcha-color-error-text: #FF5C5C;
}
@media (min-width: 768px) {
  .membership__form-wrapper {
    max-width: 400px;
  }
}
.membership__form-fields {
  margin-bottom: 50px;
}
.membership__form-fields .form-control, .membership__form-fields .form-select {
  border-color: #888888;
}
.membership__form-fields .form-control:focus, .membership__form-fields .form-control:active, .membership__form-fields .form-select:focus, .membership__form-fields .form-select:active {
  border-color: #D2D2D2;
}
.membership__form-fields .form-text.text-muted {
  font-size: 12px;
  color: #888888 !important;
}
.membership__form-fields .is-invalid ~ .form-text.text-muted {
  display: none;
}
.membership__form-fields input:-internal-autofill-selected,
.membership__form-fields input:-internal-autofill-selected:hover,
.membership__form-fields input:-internal-autofill-selected:focus,
.membership__form-fields input:-webkit-autofill,
.membership__form-fields input:-webkit-autofill:hover,
.membership__form-fields input:-webkit-autofill:focus,
.membership__form-fields textarea:-webkit-autofill,
.membership__form-fields textarea:-webkit-autofill:hover,
.membership__form-fields textarea:-webkit-autofill:focus,
.membership__form-fields select:-webkit-autofill,
.membership__form-fields select:-webkit-autofill:hover,
.membership__form-fields select:-webkit-autofill:focus {
  background-color: transparent !important;
  color: #2F2F2F !important;
  -webkit-text-fill-color: #2F2F2F !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset;
  transition: background-color 5000s ease-in-out 0s;
}
.membership__form-fields input[type=date i]::-webkit-calendar-picker-indicator {
  filter: brightness(0) saturate(100%) invert(15%) sepia(0%) saturate(1543%) hue-rotate(194deg) brightness(105%) contrast(92%);
}
.membership__form-fields select:has(option[value=""]:checked) {
  color: #888888;
}
.membership__form-fields select option {
  color: #2F2F2F;
}
.membership__form-fields select option[value=""] {
  color: #888888;
}
.membership__form-fields select.selected {
  color: #2F2F2F;
}
@media (min-width: 768px) {
  .membership__form-navigation:not(.membership__form-navigation_column) {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
  }
}
.membership__form-btn {
  display: grid;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .membership__form-btn {
    display: block;
  }
}
.membership__form-legal {
  font-size: 10px;
}
.membership__result {
  max-width: 531px;
}
.membership__result-headline, .membership__result-image, .membership__result-text {
  margin-top: 30px;
}
.membership__result-img {
  width: 100%;
  height: auto;
}
.membership__result-btn {
  display: grid;
}
@media (min-width: 768px) {
  .membership__result-btn {
    display: block;
  }
}

.steps {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .steps {
    flex-direction: row;
    gap: 10px;
  }
}
.steps__item {
  display: block;
  margin-bottom: 10px;
}
@media (min-width: 768px) {
  .steps__item {
    flex: 1 1 calc(33.3333333333% - 10px);
  }
}
.steps__item::after {
  content: "";
  display: block;
  width: 100%;
  height: 5px;
  background-color: #D2D2D2;
  border-radius: 999px;
}
.steps__item-label {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 14px;
  color: #D2D2D2;
  padding-bottom: 5px;
}
.steps__item_active::after {
  background-color: #888888;
}
.steps__item_active .steps__item-label {
  font-weight: 700;
  color: #2F2F2F;
}
.steps__item_filled::after {
  background-color: #4CAF50;
}
.steps__item_filled .steps__item-label {
  color: #888888;
}
.steps__item_filled .steps__item-icon {
  margin-left: 5px;
  color: #4CAF50;
}
