* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

::-webkit-input-placeholder { color: #81888C; }
:-moz-placeholder { color: #81888C; opacity: 1; }
::-moz-placeholder { color: #81888C; opacity: 1; }
:-ms-input-placeholder { color: #81888C; }

::-webkit-scrollbar {
  width: 3px; height: 3px;
  background: none;
}
::-webkit-scrollbar-track {
  background: none;
}
::-webkit-scrollbar-thumb {
  border-radius: 3px;
  background: #2f343a;
  background: rgba(47, 52, 58, .3);
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
  background: #2f343a;
  background: rgba(47, 52, 58, .7);
}
::-webkit-scrollbar-button { display: none; }


html, body { height: 100%; }
body {
  background: #3B6EB6 url('../img/bg.png') no-repeat 50% 0;
  color: #FFF;
  font: normal 14px/1.33 'Helvetica Neue', Helvetica, Arial, Tahoma, sans-serif;

  -webkit-background-size: cover;
     -moz-background-size: cover;
       -o-background-size: cover;
          background-size: cover;
}
input, select, textarea, button {
  font-family: 'Helvetica Neue', Helvetica, Arial, Tahoma, sans-serif;
}

a { color: #3F9ADD; }
a:hover, a:focus { text-decoration: underline; }


.logo {
  width: 100%; height: 40px;
  background: url('../img/logo.png') no-repeat 50% 50%;
  background-size: auto 40px;
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
}




.button {
  display: inline-block;
  padding: 14px 16px 13px;
  width: 100%; min-width: 80px; height: 48px;
  border: 1px solid transparent; border-radius: 4px;
  background: #2997a2;
  color: #fff;
  font-size: 16px; font-weight: 600;
  line-height: 21px;
  vertical-align: middle;
  text-align: center; text-transform: uppercase; text-decoration: none;
  white-space: nowrap;
  cursor: pointer;

  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;

  -webkit-transition: background-color, border-color 0.3s linear;
          transition: background-color, border-color 0.3s linear;
}
.button:hover,
.button:focus,
.button:active {
  -webkit-box-shadow: 0 0 0 2px rgba(41, 151, 162, 0.2);
          box-shadow: 0 0 0 2px rgba(41, 151, 162, 0.2);

  text-decoration: none;
}
.button.disabled,
.button:disabled,
.button[disabled] {
  background-color: #81888C;
}

.field {
  position: relative;
  z-index: 1;
  padding: 10px 7px;
  border: 1px solid #BCD8DB;
  border-radius: 4px;
  background: #fff;
  color: #333;
  font-size: 18px;
  line-height: 24px;
  box-shadow: none;
}
.field:focus {
  border-color: #68BDD6;

  -webkit-box-shadow: 0 0 0 2px rgba(41, 151, 162, 0.2);
          box-shadow: 0 0 0 2px rgba(41, 151, 162, 0.2);
}
.field.invalid {
  border-color: #E7391E;
}
.field.invalid:focus {
  border-color: #E7391E;

  -webkit-box-shadow: 0 0 0 2px rgba(231, 57, 30, 0.2);
          box-shadow: 0 0 0 2px rgba(231, 57, 30, 0.2);
}
.field[readonly],
.field[readonly]:focus,
.field:disabled,
.field:disabled:focus {
  border-color: #EEE;
  background: #FAFAFA;
  color: #81888C;

  -webkit-box-shadow: none;
          box-shadow: none;
}
.field_stretch { width: 100%; }

.field-block {
  position: relative;
  margin-bottom: 16px; padding: 20px 0 4px 0;
  text-align: left;
}
.field-block__label {
  display: block;
  position: absolute; top: 0; left: 3px; z-index: 2;
  color: #81888C;
  font-size: 12px;
  line-height: 16px;

  -webkit-transform-origin: left center;
          transform-origin: left center;
}
.field-block .field.animate + .field-block__label {
  -webkit-transition: all ease-out 150ms;
          transition: all ease-out 150ms;
}
.field-block .field.empty + .field-block__label {
  font-size: 16px;

  -webkit-transform: translate3d(6px, 28px, 0);
          transform: translate3d(6px, 28px, 0);
}
.field-block .field.empty + .field-block__label {
  cursor: text;
}
.field-block .field:focus + .field-block__label {
  font-size: 12px;

  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.field-block .field:focus + .field-block__label {
  cursor: default;
}
.field-block__hint,
.field-block__error {
  display: block;
  position: absolute; right: 3px; bottom: -8px; left: 3px; z-index: 1;
  font-size: 12px;
  line-height: 16px;
  white-space: nowrap;
  text-align: right;
  text-overflow: ellipsis;
  overflow: hidden;
}
.field-block__hint { color: #999; }
.field-block__error { color: #E7391E; }
.field-block__error + .field-block__hint { display: none; }

.flash {
  position: fixed; top: 0; right: 0; left: 0; z-index: 200;
  padding: 12px 8px 8px;
  min-height: 46px;
  font-size: 16px;
  text-align: center;
  cursor: pointer;
}
.flash_error {
  background: #C5131C;
  color: #FFF;
}

.shield {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  min-height: 100%;
  align-items: center;
  justify-content: center;
}
.shield__header {
  padding: 8px 0;
  border-radius: 8px 8px 0 0;
  border-bottom: 1px solid #fff;
  background: #012060;
  text-align: center;
}
.shield__body {
  padding: 32px 32px 8px;
}
.shield__footer {
  padding: 0 32px 32px;
  text-align: center;
}
.shield__container {
  position: relative;
  width: 360px;
  border-radius: 10px 10px 8px 8px;
  background: #fff;

  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, .12), 0 1px 6px rgba(0, 0, 0, .12);
          box-shadow: 0 1px 6px rgba(0, 0, 0, .12), 0 1px 6px rgba(0, 0, 0, .12);
}

#signin {
  margin: -67px auto 0;
  width: 350px;
}

@media only screen and (max-width: 640px) {
  #signin {
    margin: -67px auto 0;
    padding: 0 16px;
    width: auto;
  }
}