.TextField {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 100%;
  min-height: var(--input-height);
  font-family: var(--font-primary);
  font-weight: normal;
  -webkit-transition: border-color 0.15s, background-color 0.15s, -webkit-box-shadow 0.15s;
  transition: border-color 0.15s, background-color 0.15s, -webkit-box-shadow 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
  transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s, -webkit-box-shadow 0.15s;
}

  .TextField_width_full {
    width: 100%;
  }

  .TextField-Input {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    width: 100%;
    min-width: 80px;
    height: calc(var(--input-height) - var(--control-border-width)*2);
    padding: 0;
    color: currentColor;
    background: transparent;
    border: none;
    outline: none;
    font-family: var(--font-primary);
    font-size: var(--input-font-size);
  }

  .TextField-Input:focus {
      outline: none;
    }

  .TextField-Input:-webkit-autofill,
    .TextField-Input:-webkit-autofill:hover,
    .TextField-Input:-webkit-autofill:focus {
      border: none;
      -webkit-box-shadow: 0 0 0 1000px transparent inset;
      -webkit-transition: background-color 5000s ease-in-out 0s;
      transition: background-color 5000s ease-in-out 0s;
    }

  .TextField-Side {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: calc(var(--input-height) - var(--control-border-width)*2);
  }

  .TextField-Side_position_left {
        margin-right: var(--input-space);
      }

  .TextField-Side_position_right {
        margin-left: var(--input-space);
      }

  .TextField-Side_type_string {
        font-size: var(--input-font-size);
        white-space: nowrap;
      }

  .TextField-Icon {
    color: var(--color-control-typo-placeholder);
  }

  .TextField_size_xs {
      --input-height: var(--control-height-xs);
      --input-font-size: var(--control-text-size-xs);
      --input-space: calc(var(--control-space-xs)*0.5);
    }

  .TextField_size_s {
      --input-height: var(--control-height-s);
      --input-font-size: var(--control-text-size-s);
      --input-space: calc(var(--control-space-s)*0.5);
    }

  .TextField_size_m {
      --input-height: var(--control-height-m);
      --input-font-size: var(--control-text-size-m);
      --input-space: calc(var(--control-space-m)*0.5);
    }

  .TextField_size_l {
      --input-height: var(--control-height-l);
      --input-font-size: var(--control-text-size-l);
      --input-space: calc(var(--control-space-l)*0.5);
    }

  .TextField_view_clear,
  .TextField_view_clear:hover,
  .TextField_view_clear:focus {
    padding: 0;
    color: var(--color-control-typo-default);
  }

  .TextField_view_clear.TextField_disabled, .TextField_view_clear:hover.TextField_disabled, .TextField_view_clear:focus.TextField_disabled {
      pointer-events: none;
    }

  .TextField_view_clear.TextField_disabled .TextField-Input, .TextField_view_clear:hover.TextField_disabled .TextField-Input, .TextField_view_clear:focus.TextField_disabled .TextField-Input {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_clear.TextField_disabled .TextField-Input:-webkit-autofill,
        .TextField_view_clear.TextField_disabled .TextField-Input:-webkit-autofill:hover,
        .TextField_view_clear.TextField_disabled .TextField-Input:-webkit-autofill:focus,
        .TextField_view_clear:hover.TextField_disabled .TextField-Input:-webkit-autofill,
        .TextField_view_clear:hover.TextField_disabled .TextField-Input:-webkit-autofill:hover,
        .TextField_view_clear:hover.TextField_disabled .TextField-Input:-webkit-autofill:focus,
        .TextField_view_clear:focus.TextField_disabled .TextField-Input:-webkit-autofill,
        .TextField_view_clear:focus.TextField_disabled .TextField-Input:-webkit-autofill:hover,
        .TextField_view_clear:focus.TextField_disabled .TextField-Input:-webkit-autofill:focus {
          -webkit-text-fill-color: var(--color-control-typo-disable);
        }

  .TextField_view_clear.TextField_disabled .TextField-Input::-webkit-input-placeholder, .TextField_view_clear:hover.TextField_disabled .TextField-Input::-webkit-input-placeholder, .TextField_view_clear:focus.TextField_disabled .TextField-Input::-webkit-input-placeholder {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_clear.TextField_disabled .TextField-Input::-moz-placeholder, .TextField_view_clear:hover.TextField_disabled .TextField-Input::-moz-placeholder, .TextField_view_clear:focus.TextField_disabled .TextField-Input::-moz-placeholder {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_clear.TextField_disabled .TextField-Input:-ms-input-placeholder, .TextField_view_clear:hover.TextField_disabled .TextField-Input:-ms-input-placeholder, .TextField_view_clear:focus.TextField_disabled .TextField-Input:-ms-input-placeholder {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_clear.TextField_disabled .TextField-Input::-ms-input-placeholder, .TextField_view_clear:hover.TextField_disabled .TextField-Input::-ms-input-placeholder, .TextField_view_clear:focus.TextField_disabled .TextField-Input::-ms-input-placeholder {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_clear.TextField_disabled .TextField-Input::placeholder, .TextField_view_clear:hover.TextField_disabled .TextField-Input::placeholder, .TextField_view_clear:focus.TextField_disabled .TextField-Input::placeholder {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_clear.TextField_disabled .TextField-Side_type_string,
      .TextField_view_clear.TextField_disabled.TextField_withValue .TextField-Side_type_string,
      .TextField_view_clear:hover.TextField_disabled .TextField-Side_type_string,
      .TextField_view_clear:hover.TextField_disabled.TextField_withValue .TextField-Side_type_string,
      .TextField_view_clear:focus.TextField_disabled .TextField-Side_type_string,
      .TextField_view_clear:focus.TextField_disabled.TextField_withValue .TextField-Side_type_string {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_clear.TextField_disabled.TextField .TextField-Icon,
      .TextField_view_clear.TextField_disabled.TextField_withValue .TextField-Icon,
      .TextField_view_clear:hover.TextField_disabled.TextField .TextField-Icon,
      .TextField_view_clear:hover.TextField_disabled.TextField_withValue .TextField-Icon,
      .TextField_view_clear:focus.TextField_disabled.TextField .TextField-Icon,
      .TextField_view_clear:focus.TextField_disabled.TextField_withValue .TextField-Icon {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_default {
    padding: 0 var(--input-space);
    color: var(--color-control-typo-default);
    background: var(--color-control-bg-default);
    border: var(--control-border-width) solid var(--color-control-bg-border-default);
    border-radius: var(--control-radius);
  }

  .TextField_view_default:hover {
      border-color: var(--color-control-bg-border-default-hover);
    }

  .TextField_view_default.TextField_state_alert {
        border-color: var(--color-bg-alert);
      }

  .TextField_view_default.TextField_state_success {
        border-color: var(--color-bg-success);
      }

  .TextField_view_default.TextField_state_warning {
        border-color: var(--color-bg-warning);
      }

  .TextField_view_default .TextField-Input {
      color: var(--color-control-typo-default);
    }

  .TextField_view_default .TextField-Input::-webkit-input-placeholder {
        color: var(--color-control-typo-placeholder);
      }

  .TextField_view_default .TextField-Input::-moz-placeholder {
        color: var(--color-control-typo-placeholder);
      }

  .TextField_view_default .TextField-Input:-ms-input-placeholder {
        color: var(--color-control-typo-placeholder);
      }

  .TextField_view_default .TextField-Input::-ms-input-placeholder {
        color: var(--color-control-typo-placeholder);
      }

  .TextField_view_default .TextField-Input::placeholder {
        color: var(--color-control-typo-placeholder);
      }

  .TextField_view_default .TextField-Input:-webkit-autofill,
      .TextField_view_default .TextField-Input:-webkit-autofill:hover,
      .TextField_view_default .TextField-Input:-webkit-autofill:focus {
        -webkit-text-fill-color: var(--color-control-typo-default);
      }

  .TextField_view_default .TextField-Side_type_string {
        color: var(--color-control-typo-placeholder);
      }

  .TextField_view_default.TextField_focus {
      z-index: 1;
      border-color: var(--color-control-bg-border-focus);
      outline: none;
    }

  .TextField_view_default.TextField_focus.TextField_form_clearClear {
        -webkit-box-shadow: var(--control-border-width) 0 var(--color-control-bg-border-focus),
          calc(-1*var(--control-border-width)) 0 var(--color-control-bg-border-focus);
                box-shadow: var(--control-border-width) 0 var(--color-control-bg-border-focus),
          calc(-1*var(--control-border-width)) 0 var(--color-control-bg-border-focus);
      }

  .TextField_view_default.TextField_focus.TextField_form_defaultClear,
      .TextField_view_default.TextField_focus.TextField_form_brickClear,
      .TextField_view_default.TextField_focus.TextField_form_roundClear {
        -webkit-box-shadow: var(--control-border-width) 0 var(--color-control-bg-border-focus);
                box-shadow: var(--control-border-width) 0 var(--color-control-bg-border-focus);
      }

  .TextField_view_default.TextField_focus.TextField_form_clearDefault,
      .TextField_view_default.TextField_focus.TextField_form_clearBrick,
      .TextField_view_default.TextField_focus.TextField_form_clearRound {
        -webkit-box-shadow: calc(-1*var(--control-border-width)) 0 var(--color-control-bg-border-focus);
                box-shadow: calc(-1*var(--control-border-width)) 0 var(--color-control-bg-border-focus);
      }

  .TextField_view_default.TextField_disabled {
      background: var(--color-control-bg-disable);
      border-color: var(--color-control-bg-border-disable);
      pointer-events: none;
    }

  .TextField_view_default.TextField_disabled .TextField-Input {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_default.TextField_disabled .TextField-Input::-webkit-input-placeholder {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_default.TextField_disabled .TextField-Input::-moz-placeholder {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_default.TextField_disabled .TextField-Input:-ms-input-placeholder {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_default.TextField_disabled .TextField-Input::-ms-input-placeholder {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_default.TextField_disabled .TextField-Input::placeholder {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_default.TextField_disabled .TextField-Side_type_string,
      .TextField_view_default.TextField_disabled.TextField_withValue .TextField-Side_type_string {
        color: var(--color-control-typo-disable);
      }

  .TextField_view_default.TextField_disabled.TextField .TextField-Icon,
      .TextField_view_default.TextField_disabled.TextField_withValue .TextField-Icon {
        color: var(--color-control-typo-disable);
      }

  .TextField_form_defaultClear {
      border-right-width: 0;
      border-radius: var(--control-radius) 0 0 var(--control-radius);
    }

  .TextField_form_defaultBrick {
      border-radius: var(--control-radius) 0 0 var(--control-radius);
    }

  .TextField_form_round {
      padding-right: calc(var(--input-space)*1.6);
      padding-left: calc(var(--input-space)*1.6);
      border-radius: calc(var(--input-height)/2);
    }

  .TextField_form_roundBrick {
      padding-left: calc(var(--input-space)*1.6);
      border-radius: calc(var(--input-height)/2) 0 0 calc(var(--input-height)/2);
    }

  .TextField_form_roundClear {
      padding-left: calc(var(--input-space)*1.6);
      border-right-width: 0;
      border-radius: calc(var(--input-height)/2) 0 0 calc(var(--input-height)/2);
    }

  .TextField_form_brick {
      border-radius: 0;
    }

  .TextField_form_brickDefault {
      border-radius: 0 var(--control-radius) var(--control-radius) 0;
    }

  .TextField_form_brickRound {
      padding-right: calc(var(--input-space)*1.6);
      border-radius: 0 calc(var(--input-height)/2) calc(var(--input-height)/2) 0;
    }

  .TextField_form_brickClear {
      border-right-width: 0;
      border-radius: 0;
    }

  .TextField_form_clearDefault {
      border-left-width: 0;
      border-radius: 0 var(--control-radius) var(--control-radius) 0;
    }

  .TextField_form_clearBrick {
      border-left-width: 0;
      border-radius: 0;
    }

  .TextField_form_clearRound {
      padding-right: calc(var(--input-space)*1.6);
      border-left-width: 0;
      border-radius: 0 calc(var(--input-height)/2) calc(var(--input-height)/2) 0;
    }

  .TextField_form_clearClear {
      border-width: 0;
      border-top-width: var(--control-border-width);
      border-bottom-width: var(--control-border-width);
      border-radius: 0;
    }

  .TextField_withValue .TextField-Side.TextField-Side_type_string {
      color: var(--color-control-typo-default);
    }

  .TextField_withValue .TextField-Icon {
      color: var(--color-typo-secondary);
    }

  .TextField_type_textarea .TextField-Input {
      resize: none;
      display: block;
      padding-top: calc((var(--input-height) - var(--control-border-width)*2 - var(--line-height-text-m))/2);
      padding-bottom: calc((var(--input-height) - var(--control-border-width)*2 - var(--line-height-text-m))/2);
      line-height: var(--line-height-text-m);
    }
