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

.w-login-20230619 {
  --size: 16px;
  --bg: #606060;
  --primary-color: #4f58e7;
  --left-img: url(../imgs/left.png);

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

  & > .w-login-outer {
    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);

    & > :first-child {
      background-image: var(--left-img);
      background-size: 100% 100%;
    }

    .w-login-form {
      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;
      }

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

      & > :nth-child(1) {
        width: 65%;
        font-size: 1.4em;
        font-weight: bold;
        color: #101010;
        line-height: 1.2;
      }

      & input:not([type="checkbox"]) {
        background-color: #f3f3f3;
        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"]) {
          --color: #818181;
          color: var(--color);
          display: flex;
          justify-content: flex-start;
          align-items: center;
          cursor: pointer;

          &::before {
            content: "✔";
            background-color: var(--color);
            display: flex;
            justify-content: center;
            align-items: center;
            color: #fff;
            width: 1.4em;
            aspect-ratio: 1/1;
            line-height: 1;
            border-radius: 2em;
            margin-right: 0.3em;
          }

          & > 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.55em;
        width: 100%;
        text-align: center;
      }
    }
  }
}

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

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