.login .login-box input[type=text], .login .login-box input[type=password], .login .login-box input[type=email] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

.login {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.login {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.login {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.login {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.login {
  position: relative;
  width: 100%;
  height: 100vh;
  background-color: #000000;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  background-image: url("../images/login-bg.jpg"); }
  @media only screen and (max-width: 420px) {
    .login {
      position: absolute;
      height: 100%;
      left: 0;
      top: 0; } }
  .login::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.4); }
  .login .login-logo {
    position: relative;
    max-width: 330px;
    max-height: 150px;
    text-align: center;
    color: #ffffff;
    font-size: 2.4rem;
    z-index: 2; }
    @media only screen and (max-width: 420px) {
      .login .login-logo {
        max-width: 80%; } }
    .login .login-logo img {
      display: block;
      margin: 0 auto 10px;
      max-height: 100px; }
    .login .login-logo ~ .login-box {
      margin-top: 20px; }
  .login .login-intro {
    width: 330px;
    position: relative;
    color: #ffffff;
    z-index: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 20px; }
    .login .login-intro > a {
      border-radius: 50%;
      border: 15px solid rgba(255, 255, 255, 0.5);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      text-decoration: none;
      color: #ffffff;
      width: 115px;
      height: 115px;
      margin: 0 1rem;
      background-color: rgba(255, 255, 255, 0.5);
      color: #000000;
      font-weight: bolder;
      font-size: 1.8rem; }
      .login .login-intro > a:hover {
        background-color: #a82922;
        color: #ffffff;
        border-color: #a82922; }
  .login .login-box {
    width: 330px;
    position: relative;
    color: #ffffff;
    z-index: 2; }
    .login .login-box.hide {
      display: none; }
    @media only screen and (max-width: 420px) {
      .login .login-box {
        width: 80%; } }
    .login .login-box input[type=text], .login .login-box input[type=password], .login .login-box input[type=email] {
      padding: 0 10px;
      color: #ffffff;
      border-bottom-color: #ffffff;
      margin: 0 0 2.5rem 0; }
      .login .login-box input[type=text]:focus:not([readonly]) + label, .login .login-box input[type=password]:focus:not([readonly]) + label, .login .login-box input[type=email]:focus:not([readonly]) + label {
        color: #ffffff; }
      .login .login-box input[type=text].valid + label:after, .login .login-box input[type=text]:focus.valid + label:after, .login .login-box input[type=password].valid + label:after, .login .login-box input[type=password]:focus.valid + label:after, .login .login-box input[type=email].valid + label:after, .login .login-box input[type=email]:focus.valid + label:after {
        color: #ffffff; }
  .login .rememberMe {
    float: left;
    margin-bottom: 2.5rem; }
    .login .rememberMe [type="checkbox"] ~ label {
      color: #ffffff; }
      .login .rememberMe [type="checkbox"] ~ label::before, .login .rememberMe [type="checkbox"] ~ label::after {
        border-color: #ffffff; }
    .login .rememberMe [type="checkbox"]:checked ~ label::before {
      border-top: 2px solid transparent;
      border-left: 2px solid transparent;
      border-right: 1px solid #ffffff;
      border-bottom: 1px solid #ffffff; }
  .login .forgetPW {
    float: right;
    margin-bottom: 2.5rem; }
    .login .forgetPW a {
      text-decoration: none;
      font-size: 1.5rem; }
      .login .forgetPW a, .login .forgetPW a:link {
        color: #ffffff; }
      .login .forgetPW a:focus, .login .forgetPW a:hover {
        border-bottom: 1px solid #ffffff; }
  .login .btnBox {
    margin-top: 1.5rem; }

::-webkit-input-placeholder {
  color: #cccccc; }

::-moz-placeholder {
  color: #cccccc; }

::-moz-placeholder {
  color: #cccccc; }

::-ms-input-placeholder {
  color: #cccccc; }
