:root {
  --rv-field-label-width: 6.2em;
  --rv-field-label-color: var(--rv-gray-7);
  --rv-field-label-margin-right: var(--rv-padding-sm);
  --rv-field-input-text-color: var(--rv-text-color);
  --rv-field-input-error-text-color: var(--rv-danger-color);
  --rv-field-input-disabled-text-color: var(--rv-gray-5);
  --rv-field-placeholder-text-color: var(--rv-gray-5);
  --rv-field-placeholder-text-font-size: var(--rv-font-size-md);
  --rv-field-input-background-color: transparent;
  --rv-field-icon-size: 32px;
  --rv-field-clear-icon-size: 32px;
  --rv-field-clear-icon-color: var(--rv-gray-5);
  --rv-field-right-icon-color: var(--rv-gray-6);
  --rv-field-error-message-color: var(--rv-danger-color);
  --rv-field-error-message-font-size: 24px;
  --rv-field-text-area-min-height: 120px;
  --rv-field-word-limit-color: var(--rv-gray-7);
  --rv-field-word-limit-font-size: var(--rv-font-size-sm);
  --rv-field-word-limit-line-height: 32px;
  --rv-field-disabled-text-color: var(--rv-gray-5);
  --rv-field-required-mark-color: var(--rv-red);
  --rv-field-intro-color: var(--rv-gray-6);
  --rv-field-tooltip-icon-color: var(--rv-gray-5);
}

.rv-field__label {
  -webkit-box-flex: 0;
  -webkit-flex: none;
  flex: none;
  box-sizing: border-box;
  width: var(--rv-field-label-width);
  margin-right: var(--rv-field-label-margin-right);
  color: var(--rv-field-label-color);
  text-align: left;
  word-wrap: break-word;
}

.rv-field__label--center {
  text-align: center;
}

.rv-field__label--right {
  text-align: right;
}

.rv-field__label--required::before {
  margin-right: 4px;
  color: var(--rv-field-required-mark-color);
  content: '*';
}

.rv-field--disabled .rv-field__label {
  color: var(--rv-field-disabled-text-color);
}

.rv-field__value {
  overflow: visible;
}

.rv-field__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.rv-field__control-wrapper {
  width: 100%;
}

.rv-field__control {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: var(--rv-field-input-text-color);
  line-height: inherit;
  text-align: left;
  background-color: var(--rv-field-input-background-color);
  border: 0;
  resize: none;
  -webkit-user-select: auto;
  user-select: auto;
}

.rv-field__control::-webkit-input-placeholder {
  color: var(--rv-field-placeholder-text-color);
  font-size: var(--rv-field-placeholder-text-font-size);
}

.rv-field__control::placeholder {
  color: var(--rv-field-placeholder-text-color);
  font-size: var(--rv-field-placeholder-text-font-size);
}

.rv-field__control:disabled {
  color: var(--rv-field-input-disabled-text-color);
  cursor: not-allowed;
  opacity: 1;
  -webkit-text-fill-color: var(--rv-field-input-disabled-text-color);
}

.rv-field__control:read-only {
  cursor: default;
}

.rv-field__control--center {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  text-align: center;
}

.rv-field__control--right {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  text-align: right;
}

.rv-field__control--custom {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  align-items: center;
  min-height: var(--rv-cell-line-height);
}

.rv-field__control--error::-webkit-input-placeholder {
  color: var(--rv-field-input-error-text-color);
  -webkit-text-fill-color: currentColor;
}

.rv-field__control--error,
.rv-field__control--error::placeholder {
  color: var(--rv-field-input-error-text-color);
  -webkit-text-fill-color: currentColor;
}

.rv-field__control--min-height {
  min-height: var(--rv-field-text-area-min-height);
}

.rv-field__control[type=date],
.rv-field__control[type=datetime-local],
.rv-field__control[type=time] {
  min-height: var(--rv-cell-line-height);
}

.rv-field__control[type=search] {
  -webkit-appearance: none;
}

.rv-field__button,
.rv-field__clear,
.rv-field__icon,
.rv-field__right-icon {
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
}

.rv-field__clear,
.rv-field__right-icon {
  margin-right: calc(var(--rv-padding-xs) * -1);
  padding: 0 var(--rv-padding-xs);
}

.rv-field__clear {
  color: var(--rv-field-clear-icon-color);
  font-size: var(--rv-field-clear-icon-size);
  cursor: pointer;
}

.rv-field__left-icon .rv-icon,
.rv-field__right-icon .rv-icon {
  display: block;
  font-size: var(--rv-field-icon-size);
  line-height: inherit;
}

.rv-field__left-icon {
  margin-right: var(--rv-padding-base);
}

.rv-field__right-icon {
  color: var(--rv-field-right-icon-color);
}

.rv-field__button {
  padding-left: var(--rv-padding-xs);
}

.rv-field__error-message {
  color: var(--rv-field-error-message-color);
  font-size: var(--rv-field-error-message-font-size);
  line-height: 1.4em;
  text-align: left;
}

.rv-field__error-message--center {
  text-align: center;
}

.rv-field__error-message--right {
  text-align: right;
}

.rv-field__tooltip {
  display: inline-block;
  margin-left: 4px;
  color: var(--rv-field-intro-color);
  font-weight: 700;
  vertical-align: middle;
}

.rv-field__intro {
  color: var(--rv-field-intro-color);
  font-size: var(--rv-field-error-message-font-size);
  line-height: 1.4em;
  text-align: left;
}

.rv-field__intro--right {
  text-align: right;
}

.rv-field__intro--center {
  text-align: center;
}

.rv-field__word-limit {
  margin-top: var(--rv-padding-base);
  color: var(--rv-field-word-limit-color);
  font-size: var(--rv-field-word-limit-font-size);
  line-height: var(--rv-field-word-limit-line-height);
  text-align: right;
}