.spectrum-Textfield {
  box-sizing: border-box;
  border: var(--spectrum-textfield-border-size, var(--spectrum-alias-border-size-thin)) solid;
  border-radius: var(--spectrum-textfield-border-radius, var(--spectrum-alias-border-radius-regular));
  padding: 3px var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150)) 5px var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150));
  text-indent: 0;

  min-width: var(--spectrum-textfield-min-width, var(--spectrum-global-dimension-size-600));
  height: var(--spectrum-textfield-height, var(--spectrum-alias-single-line-height));
  width: var(--spectrum-alias-single-line-width, var(--spectrum-global-dimension-size-2400));

  vertical-align: top;
  margin: 0;
  overflow: visible;
  font-family: adobe-clean, Helvetica, Arial, sans-serif;
  font-size: var(--spectrum-textfield-text-size, var(--spectrum-alias-font-size-default));
  line-height: var(--spectrum-textfield-text-line-height, var(--spectrum-alias-body-text-line-height));
  text-overflow: ellipsis;

  transition: border-color var(--spectrum-global-animation-duration-100, 130ms) ease-in-out, box-shadow var(--spectrum-global-animation-duration-100, 130ms) ease-in-out;

  outline: none;

  -webkit-appearance: none;
  -moz-appearance: textfield;
}

.spectrum-Textfield::placeholder {
    font-weight: var(--spectrum-textfield-placeholder-text-font-weight, var(--spectrum-global-font-weight-regular));
    font-style: var(--spectrum-textfield-placeholder-text-font-style, var(--spectrum-global-font-style-italic));
    transition: color var(--spectrum-global-animation-duration-100, 130ms) ease-in-out;
    opacity: 1;
  }

.spectrum-Textfield::-ms-input-placeholder {
    font-weight: var(--spectrum-textfield-placeholder-text-font-weight, var(--spectrum-global-font-weight-regular));
    font-style: var(--spectrum-textfield-placeholder-text-font-style, var(--spectrum-global-font-style-italic));
    transition: color var(--spectrum-global-animation-duration-100, 130ms) ease-in-out;
    opacity: 1;
  }

.spectrum-Textfield:lang(ja)::placeholder, .spectrum-Textfield:lang(zh)::placeholder, .spectrum-Textfield:lang(ko)::placeholder {
       font-style: normal;
    }

.spectrum-Textfield:lang(ja)::-ms-input-placeholder, .spectrum-Textfield:lang(zh)::-ms-input-placeholder, .spectrum-Textfield:lang(ko)::-ms-input-placeholder {
       font-style: normal;
    }

.spectrum-Textfield:hover::placeholder {
      font-weight: var(--spectrum-textfield-placeholder-text-font-weight, var(--spectrum-global-font-weight-regular));
    }

.spectrum-Textfield:disabled {
    opacity: 1;
  }

.spectrum-Textfield:disabled::placeholder {
      font-weight: var(--spectrum-textfield-placeholder-text-font-weight, var(--spectrum-global-font-weight-regular));
    }

.spectrum-Textfield::-ms-clear {
    width: 0;
    height: 0;
  }

.spectrum-Textfield::-webkit-inner-spin-button,
  .spectrum-Textfield::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

.spectrum-Textfield:-moz-ui-invalid {
    box-shadow: none;
  }

.spectrum-Textfield.is-invalid,
  .spectrum-Textfield:invalid,
  .spectrum-Textfield.is-valid {
    background-repeat: no-repeat;
  }

.spectrum-Textfield.is-invalid,
  .spectrum-Textfield:invalid {
    background-size: var(--spectrum-icon-alert-medium-width, var(--spectrum-global-dimension-size-225)) var(--spectrum-icon-alert-medium-width, var(--spectrum-global-dimension-size-225));
    background-position: calc(100% - var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150))) 50%;
    padding-right: calc(var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150)) + var(--spectrum-icon-alert-medium-width, var(--spectrum-global-dimension-size-225)) + var(--spectrum-textfield-icon-margin-left, var(--spectrum-global-dimension-size-150)));
  }

.spectrum-Textfield.is-valid {
    background-size: var(--spectrum-icon-checkmark-medium-width) var(--spectrum-icon-checkmark-medium-width);
    background-position: calc(100% - var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150))) 50%;
    padding-right: calc(var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150)) + var(--spectrum-icon-checkmark-medium-width) + var(--spectrum-textfield-icon-margin-left, var(--spectrum-global-dimension-size-150)));
  }

.spectrum-Textfield--multiline {
  height: auto;
  min-height: var(--spectrum-global-dimension-size-700);
  padding: 3px var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150)) 5px var(--spectrum-textfield-padding-x, var(--spectrum-global-dimension-size-150));
  overflow: auto;
}

.spectrum-Textfield--multiline.is-invalid,
  .spectrum-Textfield--multiline:invalid,
  .spectrum-Textfield--multiline.is-valid {
    background-position: calc(100% - var(--spectrum-textfield-icon-size, var(--spectrum-global-dimension-size-225)) / 2) calc(100% - var(--spectrum-textfield-icon-size, var(--spectrum-global-dimension-size-225)) / 2);
  }

.spectrum-Textfield--quiet {
  border-radius: 0;
  border-width: 0 0 var(--spectrum-textfield-quiet-border-size, var(--spectrum-alias-border-size-thin)) 0;
  padding-left: var(--spectrum-textfield-quiet-padding-x, 0);
  padding-right: var(--spectrum-textfield-quiet-padding-x, 0);
  resize: none;
  overflow-y: hidden;
}

.spectrum-Textfield--quiet.is-invalid,
  .spectrum-Textfield--quiet:invalid,
  .spectrum-Textfield--quiet.is-valid {
    background-position: 100% 50%;
  }

.spectrum-Textfield {
  background-color: var(--spectrum-textfield-background-color, var(--spectrum-global-color-gray-50));
  border-color: var(--spectrum-textfield-border-color, var(--spectrum-global-color-gray-300));
  color: var(--spectrum-textfield-text-color, var(--spectrum-alias-text-color));
}

.spectrum-Textfield::placeholder {
    color: var(--spectrum-textfield-placeholder-text-color, var(--spectrum-alias-placeholder-text-color));
  }

.spectrum-Textfield:hover {
    border-color: var(--spectrum-textfield-border-color-hover, var(--spectrum-global-color-gray-400));
    box-shadow: none;
  }

.spectrum-Textfield:hover::placeholder {
      color: var(--spectrum-textfield-placeholder-text-color-hover, var(--spectrum-alias-placeholder-text-color-hover));
    }

.spectrum-Textfield:focus {
    border-color: var(--spectrum-textfield-border-color-down, var(--spectrum-alias-border-color-down));
  }

.spectrum-Textfield.focus-ring:not(:active) {
      border-color: var(--spectrum-textfield-border-color-key-focus, var(--spectrum-alias-border-color-focus));
      box-shadow: 0 0 0 1px var(--spectrum-textfield-border-color-key-focus, var(--spectrum-alias-border-color-focus));
    }

.spectrum-Textfield[disabled] {
    background-color: var(--spectrum-textfield-background-color-disabled, var(--spectrum-global-color-gray-200));
    border-color: var(--spectrum-textfield-border-color-disabled, var(--spectrum-alias-border-color-transparent));
    color: var(--spectrum-textfield-text-color-disabled, var(--spectrum-alias-text-color-disabled));
    -webkit-text-fill-color: var(--spectrum-textfield-text-color-disabled, var(--spectrum-alias-text-color-disabled));
  }

.spectrum-Textfield[disabled]::placeholder {
      color: var(--spectrum-textfield-placeholder-text-color-disabled, var(--spectrum-alias-text-color-disabled));
    }

.spectrum-Textfield.is-invalid,
  .spectrum-Textfield:invalid {
    border-color: var(--spectrum-textfield-border-color-error, var(--spectrum-global-color-red-500));
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='18' viewBox='0 0 18 18' width='18'%3E%3Cpath style='fill:var%28--spectrum-alert-error-border-color%2C var%28--spectrum-semantic-negative-color-border%29%29' d='M8.564 1.289L.2 16.256A.5.5 0 0 0 .636 17h16.728a.5.5 0 0 0 .5-.5.494.494 0 0 0-.064-.244L9.436 1.289a.5.5 0 0 0-.872 0zM10 14.75a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-1.5a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25zm0-3a.25.25 0 0 1-.25.25h-1.5a.25.25 0 0 1-.25-.25v-6a.25.25 0 0 1 .25-.25h1.5a.25.25 0 0 1 .25.25z'/%3E%3C/svg%3E");
  }

.spectrum-Textfield.is-invalid.focus-ring:not(:active), .spectrum-Textfield:invalid.focus-ring:not(:active) {
        border-color: var(--spectrum-textfield-border-color-error, var(--spectrum-global-color-red-500));
        box-shadow: 0 0 0 1px var(--spectrum-textfield-border-color-error, var(--spectrum-global-color-red-500));
      }

.spectrum-Textfield.is-valid {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' height='12' viewBox='0 0 12 12' width='12'%3E%3Cpath style='fill:var%28--spectrum-alert-success-icon-color%2C var%28--spectrum-semantic-positive-color-icon%29%29' d='M4.5 10a1.023 1.023 0 0 1-.8-.384l-2.488-3a1 1 0 0 1 1.577-1.233L4.5 7.376l4.712-5.991a1 1 0 1 1 1.576 1.23l-5.511 7A.977.977 0 0 1 4.5 10z'/%3E%3C/svg%3E");
  }

.spectrum-Textfield--quiet {
  background-color: var(--spectrum-textfield-quiet-background-color, var(--spectrum-alias-background-color-transparent));
  border-color: var(--spectrum-textfield-quiet-border-color, var(--spectrum-global-color-gray-300));
}

.spectrum-Textfield--quiet:hover {
    border-color: var(--spectrum-textfield-quiet-border-color-hover, var(--spectrum-global-color-gray-400));
  }

.spectrum-Textfield--quiet:active {
    border-color: var(--spectrum-textfield-quiet-border-color-down, var(--spectrum-alias-border-color-down));
  }

.spectrum-Textfield--quiet:focus {
    border-color: var(--spectrum-textfield-quiet-border-color-key-focus, var(--spectrum-alias-border-color-focus));
    box-shadow: 0 1px 0 var(--spectrum-textfield-quiet-border-color-key-focus, var(--spectrum-alias-border-color-focus));
  }

.spectrum-Textfield--quiet.focus-ring:not(:active) {
      border-color: var(--spectrum-textfield-border-color-key-focus, var(--spectrum-alias-border-color-focus));
      box-shadow: 0 1px 0 var(--spectrum-textfield-border-color-key-focus, var(--spectrum-alias-border-color-focus));
    }

.spectrum-Textfield--quiet:disabled {
    background-color: var(--spectrum-textfield-quiet-background-color-disabled, var(--spectrum-alias-background-color-transparent));
    border-color:  var(--spectrum-textfield-quiet-border-color-disabled, var(--spectrum-alias-border-color-mid));
  }

.spectrum-Textfield--quiet.is-invalid,
  .spectrum-Textfield--quiet:invalid {
    border-color: var(--spectrum-textfield-border-color-error, var(--spectrum-global-color-red-500));
  }

.spectrum-Textfield--quiet.is-invalid:focus, .spectrum-Textfield--quiet:invalid:focus {
      box-shadow: 0 1px 0 var(--spectrum-textfield-border-color-error, var(--spectrum-global-color-red-500));
    }

.spectrum-Textfield--quiet.is-invalid.focus-ring:not(:active), .spectrum-Textfield--quiet:invalid.focus-ring:not(:active) {
        border-color: var(--spectrum-textfield-border-color-error, var(--spectrum-global-color-red-500));
        box-shadow: 0 1px 0 var(--spectrum-textfield-border-color-error, var(--spectrum-global-color-red-500));
      }
