.root {
  border: none;
  width: 100%;
  font-weight: 100;
  font-size: 16px;
  padding: 0 0 4px;
  color: var(--color-grey-charcoal);
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: var(--color-grey-silver);
  transition: background-color, border .2s linear;
  background: transparent;
}

.root:focus {
  outline: 0;
}

.root::placeholder {
  color: var(--color-grey-silver);
}

.root:disabled,
.root:read-only {
  border-bottom-style: dashed;
  color: var(--color-grey-silver);
}

.root:disabled {
  cursor: not-allowed;
}

.fullWidth {
  width: 100%;
}

.margin-none {
  margin-bottom: 0px;
}

.margin-small {
  margin-bottom: 5px;
}

.margin-medium {
  margin-bottom: 10px;
}

.margin-large {
  margin-bottom: 15px;
}

.size-small {
  font-size: 14px;
}

.size-medium {
  font-size: 16px;
}

.size-large {
  font-size: 20px;
}

.size-extra-large {
  font-size: 24px;
}

.expands {

}

.blank {

}

.focused {

}

.default {

}

.default:not(:read-only):focus {
  border-bottom-color: var(--color-grey-silver);
}

.valid {
  border-bottom-color: var(--color-ui-success);
}

.invalid {
  border-bottom-color: var(--color-brand-red) !important;
}

.borderless {
  border-bottom-color: transparent;
  background: transparent;
  padding-bottom: 0;
}

.blue {
  color: var(--color-brand-blue);
  border-bottom-color: var(--color-brand-blue);
}

.dark {
  background: transparent;
  color: var(--color-grey-silver);
  border-bottom-color: var(--color-grey-silver);
}

.dark::-webkit-autofill {
  background: transparent;
}

.dark::placeholder {
  color: var(--color-grey-silver);
  opacity: 0.75;
}

.dark.focused {
  border-bottom-color: #fff;
  color: #fff;
}

.transparent {
  background: transparent;
  border-bottom-color: #fff;
  color: #fff;
}

.transparent-grey {
  padding-bottom: 10px;
  background: transparent;
  border-bottom-color: var(--color-grey-silver);
}

.transparent::placeholder {
  color: #fff;
  opacity: 0.50;
}

.root:-webkit-autofill {
  background-color: transparent;
}

.root[autocomplete="off"] {
  background-position: 150% 50% !important;
}

.well {
  border: 1px solid var(--color-grey-silver);
  padding: 7px 10px;
}
