2  * Angular Material Design
 
   3  * https://github.com/angular/material
 
  12   vertical-align: middle;
 
  14    * The .md-input class is added to the input/textarea
 
  16   md-input-container:after {
 
  20   md-input-container.md-block {
 
  22   md-input-container .md-errors-spacer {
 
  26     [dir=rtl] md-input-container .md-errors-spacer {
 
  28   md-input-container > md-icon {
 
  33     [dir=rtl] md-input-container > md-icon {
 
  35     [dir=rtl] md-input-container > md-icon {
 
  37   md-input-container textarea,
 
  38   md-input-container input[type="text"],
 
  39   md-input-container input[type="password"],
 
  40   md-input-container input[type="datetime"],
 
  41   md-input-container input[type="datetime-local"],
 
  42   md-input-container input[type="date"],
 
  43   md-input-container input[type="month"],
 
  44   md-input-container input[type="time"],
 
  45   md-input-container input[type="week"],
 
  46   md-input-container input[type="number"],
 
  47   md-input-container input[type="email"],
 
  48   md-input-container input[type="url"],
 
  49   md-input-container input[type="search"],
 
  50   md-input-container input[type="tel"],
 
  51   md-input-container input[type="color"] {
 
  52     /* remove default appearance from all input/textarea */
 
  53     -moz-appearance: none;
 
  54     -webkit-appearance: none; }
 
  55   md-input-container input[type="date"],
 
  56   md-input-container input[type="datetime-local"],
 
  57   md-input-container input[type="month"],
 
  58   md-input-container input[type="time"],
 
  59   md-input-container input[type="week"] {
 
  61   md-input-container textarea {
 
  64     md-input-container textarea.md-input {
 
  66       -ms-flex-preferred-size: auto; }
 
  67     md-input-container textarea[md-no-autogrow] {
 
  70   md-input-container label:not(.md-container-ignore) {
 
  75     [dir=rtl] md-input-container label:not(.md-container-ignore) {
 
  77     [dir=rtl] md-input-container label:not(.md-container-ignore) {
 
  79     md-input-container label:not(.md-container-ignore).md-required:after {
 
  82       vertical-align: top; }
 
  83   md-input-container label:not(.md-no-float):not(.md-container-ignore),
 
  84   md-input-container .md-placeholder {
 
  86     text-overflow: ellipsis;
 
  89     -webkit-box-ordinal-group: 2;
 
  93     -webkit-font-smoothing: antialiased;
 
  97     -webkit-transform: translate3d(0, 28px, 0) scale(1);
 
  98             transform: translate3d(0, 28px, 0) scale(1);
 
  99     -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
 
 100     transition: -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
 
 101     transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
 
 102     transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), -webkit-transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
 
 104     -webkit-transform-origin: left top;
 
 105             transform-origin: left top; }
 
 106     [dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore), [dir=rtl]
 
 107     md-input-container .md-placeholder {
 
 109     [dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore), [dir=rtl]
 
 110     md-input-container .md-placeholder {
 
 111       padding-right: 3px; }
 
 112     [dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore), [dir=rtl]
 
 113     md-input-container .md-placeholder {
 
 114       -webkit-transform-origin: right top;
 
 115               transform-origin: right top; }
 
 116   md-input-container .md-placeholder {
 
 120     -webkit-transition-property: opacity, -webkit-transform;
 
 121     transition-property: opacity, -webkit-transform;
 
 122     transition-property: opacity, transform;
 
 123     transition-property: opacity, transform, -webkit-transform;
 
 124     -webkit-transform: translate3d(0, 30px, 0);
 
 125             transform: translate3d(0, 30px, 0); }
 
 126   md-input-container.md-input-focused .md-placeholder {
 
 128     -webkit-transform: translate3d(0, 24px, 0);
 
 129             transform: translate3d(0, 24px, 0); }
 
 130   md-input-container.md-input-has-value .md-placeholder {
 
 131     -webkit-transition: none;
 
 134   md-input-container:not(.md-input-has-value) input:not(:focus),
 
 135   md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-ampm-field,
 
 136   md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-day-field,
 
 137   md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-hour-field,
 
 138   md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-millisecond-field,
 
 139   md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-minute-field,
 
 140   md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-month-field,
 
 141   md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-second-field,
 
 142   md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-week-field,
 
 143   md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-year-field,
 
 144   md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-text {
 
 145     color: transparent; }
 
 146   md-input-container .md-input {
 
 147     -webkit-box-ordinal-group: 3;
 
 157     border-width: 0 0 1px 0;
 
 160     -ms-flex-preferred-size: 26px;
 
 164     box-sizing: border-box;
 
 166     [dir=rtl] md-input-container .md-input {
 
 168     md-input-container .md-input:focus {
 
 170     md-input-container .md-input:invalid {
 
 173     md-input-container .md-input.md-no-flex {
 
 174       -webkit-box-flex: 0 !important;
 
 175       -webkit-flex: none !important;
 
 176               flex: none !important; }
 
 177   md-input-container .md-char-counter {
 
 181     [dir=rtl] md-input-container .md-char-counter {
 
 183     [dir=rtl] md-input-container .md-char-counter {
 
 185     [dir=rtl] md-input-container .md-char-counter {
 
 187   md-input-container .md-input-messages-animation {
 
 189     -webkit-box-ordinal-group: 5;
 
 194     [dir=rtl] md-input-container .md-input-messages-animation {
 
 196     md-input-container .md-input-messages-animation.ng-enter .md-input-message-animation {
 
 198       margin-top: -100px; }
 
 199   md-input-container .md-input-message-animation, md-input-container .md-char-counter {
 
 203     -webkit-transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
 
 204     transition: all 0.3s cubic-bezier(0.55, 0, 0.55, 0.2);
 
 208     md-input-container .md-input-message-animation:not(.md-char-counter), md-input-container .md-char-counter:not(.md-char-counter) {
 
 211       [dir=rtl] md-input-container .md-input-message-animation:not(.md-char-counter), [dir=rtl] md-input-container .md-char-counter:not(.md-char-counter) {
 
 213       [dir=rtl] md-input-container .md-input-message-animation:not(.md-char-counter), [dir=rtl] md-input-container .md-char-counter:not(.md-char-counter) {
 
 215   md-input-container:not(.md-input-invalid) .md-auto-hide .md-input-message-animation {
 
 217     margin-top: -100px; }
 
 218   md-input-container .md-input-message-animation:not(.ng-animate) {
 
 220     margin-top: -100px; }
 
 221   md-input-container .md-input-message-animation.ng-enter {
 
 223     margin-top: -100px; }
 
 224   md-input-container.md-input-focused label:not(.md-no-float), md-input-container.md-input-has-placeholder label:not(.md-no-float), md-input-container.md-input-has-value label:not(.md-no-float) {
 
 225     -webkit-transform: translate3d(0, 6px, 0) scale(0.75);
 
 226             transform: translate3d(0, 6px, 0) scale(0.75);
 
 227     -webkit-transition: width cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s, -webkit-transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s;
 
 228     transition: width cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s, -webkit-transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s;
 
 229     transition: transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s, width cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s;
 
 230     transition: transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s, width cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s, -webkit-transform cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s; }
 
 231   md-input-container.md-input-has-value label {
 
 232     -webkit-transition: none;
 
 234   md-input-container.md-input-focused .md-input,
 
 235   md-input-container .md-input.ng-invalid.ng-dirty,
 
 236   md-input-container.md-input-resized .md-input {
 
 238     border-width: 0 0 2px 0; }
 
 239   md-input-container .md-input[disabled],
 
 240   [disabled] md-input-container .md-input {
 
 241     background-position: bottom -1px left 0;
 
 242     background-size: 4px 1px;
 
 243     background-repeat: repeat-x; }
 
 244   md-input-container.md-icon-float {
 
 245     -webkit-transition: margin-top 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
 
 246     transition: margin-top 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); }
 
 247     md-input-container.md-icon-float > label {
 
 248       pointer-events: none;
 
 249       position: absolute; }
 
 250     md-input-container.md-icon-float > md-icon {
 
 254       [dir=rtl] md-input-container.md-icon-float > md-icon {
 
 256       [dir=rtl] md-input-container.md-icon-float > md-icon {
 
 258   md-input-container.md-icon-left > label:not(.md-no-float):not(.md-container-ignore),
 
 259   md-input-container.md-icon-left > label .md-placeholder, md-input-container.md-icon-right > label:not(.md-no-float):not(.md-container-ignore),
 
 260   md-input-container.md-icon-right > label .md-placeholder {
 
 261     width: calc(100% - 36px - 18px); }
 
 262   md-input-container.md-icon-left {
 
 265     [dir=rtl] md-input-container.md-icon-left {
 
 267     [dir=rtl] md-input-container.md-icon-left {
 
 268       padding-right: 36px; }
 
 269     md-input-container.md-icon-left > label {
 
 272       [dir=rtl] md-input-container.md-icon-left > label {
 
 274       [dir=rtl] md-input-container.md-icon-left > label {
 
 276   md-input-container.md-icon-right {
 
 278     padding-right: 36px; }
 
 279     [dir=rtl] md-input-container.md-icon-right {
 
 280       padding-left: 36px; }
 
 281     [dir=rtl] md-input-container.md-icon-right {
 
 283     md-input-container.md-icon-right > md-icon:last-of-type {
 
 287       [dir=rtl] md-input-container.md-icon-right > md-icon:last-of-type {
 
 289       [dir=rtl] md-input-container.md-icon-right > md-icon:last-of-type {
 
 291   md-input-container.md-icon-left.md-icon-right {
 
 293     padding-right: 36px; }
 
 294     md-input-container.md-icon-left.md-icon-right > label:not(.md-no-float):not(.md-container-ignore),
 
 295     md-input-container.md-icon-left.md-icon-right > label .md-placeholder {
 
 296       width: calc(100% - (36px * 2)); }
 
 299   position: relative; }
 
 300   .md-resize-wrapper:after {
 
 310   background: transparent;
 
 314 @media screen and (-ms-high-contrast: active) {
 
 315   md-input-container.md-default-theme > md-icon {