.form {
  position: relative;
}

.form__loading {
  z-index: 10;
  color: #0170f7;
  background: #ffffff80;
  justify-content: center;
  align-items: center;
  font-size: 56px;
  display: flex;
  position: absolute;
  inset: 0;
}

.form__section {
  margin-top: 35px;
}

.form__section:first-child {
  margin-top: 0;
}

.form__row {
  grid: none / repeat(auto-fit, minmax(0, 1fr));
  gap: 20px;
  margin-top: 25px;
  display: grid;
}

@media (width <= 767.98px) {
  .form__row {
    flex-flow: column;
  }
}

.form__row:first-child {
  margin-top: 0;
}

.form .field {
  flex: 1;
}

.form .field.is-valid .field__message {
  color: #0170f7;
}

.form .field.is-visited:not(.is-valid) .field__input, .form .field.is-error .field__input {
  border-color: red;
  box-shadow: 0 0 5px #ff000080;
}

.form .field.is-visited:not(.is-valid) .field__message, .form .field.is-error .field__message {
  color: red;
}

.form .field__label {
  font-size: 16px;
  font-weight: normal;
}

.form .field__label + * {
  margin-top: 3px;
}

.form .field__input {
  border: 1px solid #cdcdcd;
  border-radius: 8px;
  width: 100%;
  min-height: 50px;
  padding: 0 15px;
  transition: border-color .4s cubic-bezier(0, 0, .2, 1), box-shadow .4s cubic-bezier(0, 0, .2, 1);
}

.form .field__input:focus {
  border-color: #cdcdcd;
  box-shadow: 0 0 5px #cdcdcd80;
}

.form .field__input::placeholder {
  color: #cbcbcb;
}

.form .field__suffix {
  font-weight: normal;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}

.form .field__message {
  margin-top: 2px;
  font-size: 16px;
}

.form__button {
  color: #fff;
  background: #0170f7;
  border: none;
  border-radius: 8px;
  width: 100%;
  min-height: 55px;
  font-weight: 500;
  transition: background-color .4s cubic-bezier(0, 0, .2, 1), box-shadow .4s cubic-bezier(0, 0, .2, 1);
  box-shadow: 0 10px 20px #0003;
}

.form__button:hover {
  background: #137dfe;
  border-color: #137dfe;
}

.form__button.is-disabled, .form__button:disabled {
  box-shadow: none;
  cursor: auto;
  background: #cbcbcb;
}

.form--cta .form__group {
  grid: none / 1fr auto;
  border-radius: 16px;
  display: grid;
}

@media (width >= 768px) {
  .form--cta .form__group {
    background: #fff;
    flex-flow: row;
    align-items: center;
    height: 70px;
  }
}

.form--cta .field {
  min-width: 460px;
}

@media (width <= 1329.98px) {
  .form--cta .field {
    min-width: 400px;
  }
}

@media (width <= 767.98px) {
  .form--cta .field {
    min-width: 300px;
  }
}

@media (width <= 479.98px) {
  .form--cta .field {
    min-width: 250px;
  }
}

.form--cta .field__input {
  box-sizing: border-box;
  border: 1px solid #cdcdcd;
  border-right: none;
  border-radius: 16px 0 0 16px;
  width: 100%;
  height: 70px;
  padding: 0 30px;
}

@media (width <= 1329.98px) {
  .form--cta .field__input {
    height: 55px;
  }
}

@media (width <= 767.98px) {
  .form--cta .field__input {
    height: 55px;
    padding: 0 15px;
  }
}

.form--cta .field__input:focus {
  border-color: #cdcdcd;
  box-shadow: 0 0 5px #cdcdcd80;
}

.form--cta .field__input::placeholder {
  color: #b6b6b6;
  font-size: 22px;
  font-weight: 400;
  line-height: 26px;
}

@media (width <= 1023.98px) {
  .form--cta .field__input::placeholder {
    font-size: 18px;
    line-height: calc(1em + 10px);
  }
}

.form--cta .form__button {
  color: #fff;
  background: #0170f7;
  border: 1px solid #cdcdcd;
  border-left: none;
  border-radius: 0 16px 16px 0;
  min-width: 170px;
  height: 70px;
  padding: 0 30px;
  font-size: 18px;
  font-weight: 500;
  box-shadow: none !important;
}

@media (width <= 1329.98px) {
  .form--cta .form__button {
    height: 55px;
    padding: 0 20px;
  }
}

@media (width <= 767.98px) {
  .form--cta .form__button {
    height: 55px;
    padding: 0 15px;
  }
}

@media (width <= 479.98px) {
  .form--cta .form__button {
    min-width: unset;
  }
}

.form--cta .form__button:hover {
  background: #0777fe;
}

.form--cta .form__list {
  flex-flow: wrap;
  grid: none / auto-flow;
  gap: 50px;
  margin-top: 12px;
  padding: 0;
  list-style: none;
  display: grid;
}

@media (width <= 767.98px) {
  .form--cta .form__list {
    justify-content: center;
  }
}

.form--cta .form__list li {
  color: #666;
  align-items: center;
  font-size: 14px;
  font-weight: 400;
  line-height: 16.41px;
  display: flex;
}

.form--cta .form__list__marker {
  color: #00ff7f;
  margin-right: 10px;
}
/*# sourceMappingURL=form.css.map */
