html,
body {
  padding: 0;
  margin: 0;
}

.w-login-content {
  --size: 16px;
  --bg: #606060;
  --primary-color: var(--el-color-primary);
  --left-img: url(../images/login.png);


  background-color: var(--bg);
  width: 100%;
  height: 100%;
  font-size: var(--size);
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;

  &>.w-login-outer {
    position: relative;
    z-index: 2;
    background-color: #fff;
    width: calc(900 / 16 * var(--size));
    height: calc(500 / 16 * var(--size));
    display: grid;
    gap: 0;
    grid-template-columns: repeat(2, 1fr);
    border-radius: .2em;
    overflow: hidden;
    box-shadow: 0 0 1em #0003;

    &> :first-child {
      background-image: var(--left-img), linear-gradient(to bottom,var(--el-color-primary-light-9) 15%, var(--el-color-primary-light-8) 50%, var(--el-color-primary-light-3));
      background-size: 70% auto, 100% 100%;
      background-position: center center;
      background-repeat: no-repeat;
      position: relative;
      box-shadow: -.3em 0 .6em #0001 inset;
      overflow: hidden;

      &::before {
        position: absolute;
        background-color: #FFF;
        right: -2.5em;
        top: calc(50% - 2em);
        box-shadow: -.3em .3em .6em #0001;
        transform: scaleX(.8) rotate(45deg);

        width: 4em;
        height: 4em;
        content: '';
      }

    }

    .w-login-form {
      background-color: #FFF;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;
      position: relative;
      padding-bottom: 1.5em;

      & * {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
        border: none;
        outline: none;
        font-size: var(--size);
        line-height: 1;
        transition: all .5s;
      }

      &>*:not(:first-child) {
        width: 70%;
        margin-top: 1.2em;
      }

      &> :nth-child(1) {
        width: 65%;
        font-size: 1.2em;
        letter-spacing: .1em;
        font-weight: bold;
        color: #333;
        line-height: 1.5;
      }

      & input:not([type="checkbox"]) {
        background-color: #f3f3f3;
        box-shadow: -.2em -.2em 2em #0001 inset;
        outline: none;
        border: none;
        display: block;
        width: 100%;
        height: 2.5em;
        border-radius: 0.3em;
        padding: 0 1em;
      }

      & input:not([type="checkbox"])::placeholder {
        color: #8d8d8d;
      }

      &>.verify {
        display: grid;
        gap: 1em;
        grid-template-columns: repeat(2, 1fr);

        & img {
          display: block;
          height: 2.5em;
          cursor: pointer;
        }
      }

      & .btn {
        background-color: var(--primary-color);
        text-align: center;
        color: #fff;
        font-size: 1.2em;
        font-weight: bold;
        line-height: 2;
        border-radius: 0.2em;

        &:hover {
          filter: brightness(0.9);
        }
      }

      &>.h2 {
        margin-top: 0.6em;
        display: flex;
        justify-content: space-between;
        align-items: center;

        & label:has(input[type="checkbox"]) {
          margin-top: .3em;
          font-size: .9em;
          --color: #aaa;
          color: var(--color);
          display: flex;
          justify-content: flex-start;
          align-items: center;
          cursor: pointer;
          font-weight: normal;

          &::before {
            content: "";
            background-color: var(--color);
            border: .13em solid var(--color);
            box-sizing: border-box;
            padding: .17em;
            background-clip: content-box;
            height: 1em;
            width: 1em;
            margin-right: .3em;
            border-radius: 2em;
          }

          &>input[type="checkbox"] {
            display: none;
          }
        }

        & label:has(input[type="checkbox"]:checked) {
          --color: var(--primary-color);
        }

        & label:hover {
          filter: brightness(0.8);
        }

        & a {
          color: var(--primary-color);
          text-decoration: none;

          &:hover {
            filter: brightness(0.7);
          }
        }
      }

      & .copy {
        position: absolute;
        color: #818181;
        bottom: 1em;
        left: 0;
        font-size: 0.75em;
        width: 100%;
        text-align: center;
      }
    }
  }
}

@media screen and (max-width:900px) {
  .w-login-content>.w-login-outer {
    width: 100%;
    height: 100%;
    grid-template-columns: 1fr;

    &>:first-child {
      display: none;
    }
  }
}