
.formControl {
  -webkit-appearance: none;
  background-color: #f7f8f9;
  border: 0.0625rem solid #8e9092;
  border-radius: 0.25rem;
  color: #333;
  display: block;
  font-size: 1rem;
  line-height: 1.375rem;
  min-height: 3.125rem;
  padding: 0 0.625rem;
  transition: border-color 0.25S ease-out;
  width: 100%;
  min-width: 5rem;
}

.formControl::-ms-expand {
  background-color: transparent;
  border: 0;
}

.formControl::-moz-placeholder {
  opacity: 1;
  color: #53565a;
}

.formControl::placeholder {
  opacity: 1;
  color: #53565a;
}

.formControl:-ms-input-placeholder {
  color: #53565a !important;
}

.formControl::-ms-clear {
  display: none;
  width: 0;
  height: 0;
}

.formControl:active:not(.disabled), .formControl:focus:not(.disabled) .formControl:active:not(:disabled), .formControl:focus:not(:disabled) {
  border-color: #006fcf;
  outline: none;
}

.formControl:disabled,
.formControl .disabled {
  background-color: #f7f8f9;
  border-color: #8e9092 !important;
  opacity: 1;
}

.formControl:invalid {
  box-shadow: none;
}

.formControlSuccess, .formControlWarning {
  background-position: center right 0.78125rem;
  background-repeat: no-repeat;
  background-size: 1.75rem;
  padding-right: 3.125rem;
}

.formControlSuccess {
  background-image: url("https://www.aexp-static.com/cdaas/one/statics/@americanexpress/static-assets/2.31.4/package/dist/img/icons/status/dls-icon-success.svg");
}

.hasWarning .formControl, .formControlWarning {
  border-color: #b42c01;
}

.formControlWarning {
  background-image: url("https://www.aexp-static.com/cdaas/one/statics/@americanexpress/static-assets/2.31.4/package/dist/img/icons/status/dls-icon-warning-filled.svg");
}

textarea.formControl {
  font-size: 0.9375rem;
  padding: 0.9375rem 0.625rem;
}

label {
  color: #53565a;
}

legend {
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
  color: #53565a;
}

fieldset > input:not(:last-child) {
  margin-bottom: 1.25rem;
}

.alertForm {
  display: block;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  padding-top: 0.3125rem;
  color: #b42c01;
}

.alertForm .icon {
  color: #b42c01;
}

.btnForm {
  background: transparent;
  min-width: 3rem;
  padding: 0.625rem;
  position: absolute;
  bottom: 0;
  right: 0;
  top: 0;
}

.btnForm:hover {
  background: transparent;
}

.btnFormClose {
  background: transparent;
  min-width: 3rem;
  padding: 0.75rem;
  position: absolute;
  right: 0;
  top: 0;
}

.btnFormClose:hover {
  background: transparent;
}

.inputgroup .hasWarning label {
  color: #b42c01;
}

div[data-password-toggle=true] input.formControl {
  padding-right: 3.75rem;
}

.smartField {
  cursor: text;
  height: 3.75rem;
  padding: 0;
  position: relative;
}

.smartField .smartElField,
.smartField .smartElPlaceholder {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  padding: 0.375rem 0.625rem;
}

.smartField .smartElPlaceholder {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.smartField .smartElPlaceholder legend {
  color: #53565a;
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

.smartField .smartElValue {
  height: 50%;
}

.smartField .smartElInputs {
  display: flex;
  height: 100%;
  opacity: 0;
  position: relative;
}

.smartField .smartElField,
.smartField .smartElInput {
  display: flex;
  flex: 1 0 0;
  width: 100%;
  flex-flow: column;
  min-width: 0;
}

.smartField .smartElField label,
.smartField .smartElInput label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.smartField .smartElField input,
.smartField .smartElInput input {
  background: transparent;
  border: 0;
  color: #333;
  flex: 1 0 0;
  font-size: 1rem;
  padding: 0;
  width: 100%;
}

.smartField .smartElField input:focus, .smartField .smartElField input:hover,
.smartField .smartElInput input:focus,
.smartField .smartElInput input:hover {
  outline: none;
}

.smartField .smartElField {
  opacity: 0;
}

.smartField .smartElInput:not(:last-child) {
  border-right: 0.0625rem solid #8e9092;
}

.smartField .smartElInput label {
  padding: 0.375rem 0.625rem 0 0.625rem;
}

.smartField .smartElInput input {
  padding: 0 0.625rem 0.375rem 0.625rem;
}

.smartField .smartElField,
.smartField .smartElPlaceholder,
.smartField .smartElInputs,
.smartField .smartElInput label {
  transition: opacity 0.25S ease-out;
}

.smartField label {
  font-family: "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.5rem;
  margin-bottom: 0;
  color: #333;
}

.smartField.active {
  border-color: #006fcf;
}

.smartField.active .smartElPlaceholder,
.smartField.active .smartElField {
  opacity: 0;
}

.smartField.active .smartElInputs {
  opacity: 1;
}

.smartFieldWarning:not(.active):not(.hasValue) .smartElPlaceholder,
.smartFieldWarning:not(.active):not(.hasValue) .smartElInputs, .smartField.hasValue:not(.active) .smartElPlaceholder,
.smartField.hasValue:not(.active) .smartElInputs {
  opacity: 0;
}

.smartFieldWarning:not(.active):not(.hasValue) .smartElField, .smartField.hasValue:not(.active) .smartElField {
  opacity: 1;
}

.smartFieldWarning, .smartFieldWarning.active {
  border-color: #b42c01;
}

.smartFieldWarning .smartElField label, .smartFieldWarning.active .smartElField label {
  color: #b42c01;
}

.smartFieldWarning .smartElField::after, .smartFieldWarning.active .smartElField::after {
  color: #b42c01;
  position: absolute;
}

.smartFieldWarning .smartElInput.hasWarning label, .smartFieldWarning.active .smartElInput.hasWarning label {
  color: #b42c01;
}

.smartFieldSuccess .smartElField::after {
  font-family: "dls-icons-2.31.4";
  content: "\eb6e";
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #008767;
  position: absolute;
}

.smartField.smartFieldSuccess .smartElField, .smartField.smartFieldWarning .smartElField, .smartField.smartFieldIcon .smartElField {
  padding-right: 3.125rem;
}

.smartField.smartFieldSuccess .smartElField::after, .smartField.smartFieldWarning .smartElField::after, .smartField.smartFieldIcon .smartElField::after {
  display: block;
  font-size: 1.71875rem;
  bottom: 0.375rem;
  right: 0.625rem;
}

:disabled .smartField label, [disabled] .smartField label {
  color: #8e9092;
}

:disabled .smartField input, [disabled] .smartField input {
  background-color: #f7f8f9;
  border-color: #8e9092;
  color: #8e9092;
  display: block;
}

:disabled .smartField .smartElField::after, [disabled] .smartField .smartElField::after {
  display: none;
}