.input {
  border-radius: var(--height);
  position: relative;
  display: block;
}
.input__input {
  display: block;
  width: 100%;
  height: var(--height);
  border-radius: var(--height);
  padding: 0 var(--side-padding);
  color: var(--color-wetty-asphalt);
}
.input__input::placeholder {
  opacity: 0.4;
}
.input__input:focus ~ .input__error > .input__error-message {
  display: block;
}
.input__input_type_textarea {
  --height: 32.5333333333vw;
  --border-radius: 5.8666666667vw;
  --vertical-padding: 3.7333333333vw;
}
@media (min-width: 720px) {
  .input__input_type_textarea {
    --height: 12.1875vw;
  }
}
@media (min-width: 720px) {
  .input__input_type_textarea {
    --border-radius: 1.71875vw;
  }
}
@media (min-width: 720px) {
  .input__input_type_textarea {
    --vertical-padding: 1.5625vw;
  }
}
@media (min-width: 1281px) {
  .input__input_type_textarea {
    --height: 8.125vw;
  }
}
@media (min-width: 1281px) {
  .input__input_type_textarea {
    --border-radius: 1.1458333333vw;
  }
}
@media (min-width: 1281px) {
  .input__input_type_textarea {
    --vertical-padding: 1.0416666667vw;
  }
}
@media (min-width: 2400px) {
  .input__input_type_textarea {
    --height: 195px;
  }
}
@media (min-width: 2400px) {
  .input__input_type_textarea {
    --border-radius: 27.5px;
  }
}
@media (min-width: 2400px) {
  .input__input_type_textarea {
    --vertical-padding: 25px;
  }
}
.input__input_type_textarea {
  height: var(--height);
  border-radius: var(--border-radius);
  padding-top: var(--vertical-padding);
  padding-bottom: var(--vertical-padding);
}
.input__caption {
  --margin-top: 1.0666666667vw;
  --padding-left: 4.2666666667vw;
}
@media (min-width: 720px) {
  .input__caption {
    --margin-top: 0.625vw;
  }
}
@media (min-width: 720px) {
  .input__caption {
    --padding-left: 1.875vw;
  }
}
@media (min-width: 1281px) {
  .input__caption {
    --margin-top: 0.4166666667vw;
  }
}
@media (min-width: 1281px) {
  .input__caption {
    --padding-left: 1.25vw;
  }
}
@media (min-width: 2400px) {
  .input__caption {
    --margin-top: 10px;
  }
}
@media (min-width: 2400px) {
  .input__caption {
    --padding-left: 30px;
  }
}
.input__caption {
  margin-top: var(--margin-top);
  padding-left: var(--padding-left);
  color: var(--color-wetty-asphalt);
}
.input__error {
  --right: 4.2666666667vw;
}
@media (min-width: 720px) {
  .input__error {
    --right: 1.875vw;
  }
}
@media (min-width: 1281px) {
  .input__error {
    --right: 1.25vw;
  }
}
@media (min-width: 2400px) {
  .input__error {
    --right: 30px;
  }
}
.input__error {
  position: absolute;
  top: calc(var(--height) / 2);
  right: var(--right);
  transform: translateY(-50%);
}
.input__error-icon {
  --width: 5.3333333333vw;
}
@media (min-width: 720px) {
  .input__error-icon {
    --width: 2.5vw;
  }
}
@media (min-width: 1281px) {
  .input__error-icon {
    --width: 1.6666666667vw;
  }
}
@media (min-width: 2400px) {
  .input__error-icon {
    --width: 40px;
  }
}
.input__error-icon {
  width: var(--width);
}
.input__error-message {
  --max-width: 76.2666666667vw;
  --translate-top: -0.8vw;
}
@media (min-width: 720px) {
  .input__error-message {
    --max-width: 36.640625vw;
  }
}
@media (min-width: 720px) {
  .input__error-message {
    --translate-top: -0.390625vw;
  }
}
@media (min-width: 1281px) {
  .input__error-message {
    --max-width: 24.4270833333vw;
  }
}
@media (min-width: 1281px) {
  .input__error-message {
    --translate-top: -0.2604166667vw;
  }
}
@media (min-width: 2400px) {
  .input__error-message {
    --max-width: 586.25px;
  }
}
@media (min-width: 2400px) {
  .input__error-message {
    --translate-top: -6.25px;
  }
}
.input__error-message {
  display: none;
  position: absolute;
  top: 100%;
  right: 50%;
  width: max-content;
  max-width: var(--max-width);
  transform: translateY(var(--translate-top));
}
.input_size_m {
  --height: 11.2vw;
  --side-padding: 4.2666666667vw;
}
@media (min-width: 720px) {
  .input_size_m {
    --height: 4.6875vw;
  }
}
@media (min-width: 720px) {
  .input_size_m {
    --side-padding: 1.875vw;
  }
}
@media (min-width: 1281px) {
  .input_size_m {
    --height: 3.125vw;
  }
}
@media (min-width: 1281px) {
  .input_size_m {
    --side-padding: 1.25vw;
  }
}
@media (min-width: 2400px) {
  .input_size_m {
    --height: 75px;
  }
}
@media (min-width: 2400px) {
  .input_size_m {
    --side-padding: 30px;
  }
}
.input_size_m .input__input {
  background-color: var(--color-clear-white);
  border: 1px solid var(--color-brainbox-grey-blue);
  line-height: 120%;
}
.input_size_l {
  --height: 16vw;
  --side-padding: 4.2666666667vw;
}
@media (min-width: 720px) {
  .input_size_l {
    --height: 7.03125vw;
  }
}
@media (min-width: 720px) {
  .input_size_l {
    --side-padding: 1.875vw;
  }
}
@media (min-width: 1281px) {
  .input_size_l {
    --height: 4.6875vw;
  }
}
@media (min-width: 1281px) {
  .input_size_l {
    --side-padding: 1.25vw;
  }
}
@media (min-width: 2400px) {
  .input_size_l {
    --height: 112.5px;
  }
}
@media (min-width: 2400px) {
  .input_size_l {
    --side-padding: 30px;
  }
}
.input_size_l .input__input {
  background-color: var(--color-paper-white);
  border: 1px solid var(--color-elephant-bone);
  text-align: center;
}
.input_size_xl {
  --height: 17.6vw;
  --side-padding: 3.2vw;
}
@media (min-width: 720px) {
  .input_size_xl {
    --height: 6.25vw;
  }
}
@media (min-width: 720px) {
  .input_size_xl {
    --side-padding: 1.953125vw;
  }
}
@media (min-width: 1281px) {
  .input_size_xl {
    --height: 4.1666666667vw;
  }
}
@media (min-width: 1281px) {
  .input_size_xl {
    --side-padding: 1.3020833333vw;
  }
}
@media (min-width: 2400px) {
  .input_size_xl {
    --height: 100px;
  }
}
@media (min-width: 2400px) {
  .input_size_xl {
    --side-padding: 31.25px;
  }
}
.input_size_xl .input__input {
  background-color: var(--color-paper-white);
  height: var(--height);
}
.input_error .input__input {
  color: var(--color-error);
  border-color: var(--color-error);
}
.input_completed .input__input {
  color: var(--color-dark-water);
  border-color: var(--color-brand);
}
.input:hover .input__error-message {
  display: block;
}
