* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Inter", sans-serif;
  background-color: var(--lightGrey);
  display: flex;
  justify-content: center;
  align-items: center;  
  height: 100vh;
}

.frame-max-width { 
  width: 100%;
  display: flex;
  justify-content: center;
  /* border: 1px solid green; */
}

.content-wrapper-idx,
.content-wrapper-sgn {
  height: 100vh;
  height: 100%;
  padding: 80px 76px 50px;
  /* padding: 80px 64px; */
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;

  /* border: 1px solid red; */
}

.content-wrapper-idx {
  width: min(1668px, calc(100vw - 12px));
}

.content-wrapper-sgn {
  width: min(1400px, calc(100vw - 12px));
}

/* animation */
.invisible {
  visibility: hidden;
}

.idx-overlay {
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(255, 255, 255, 1);
  animation: showBackground 1.5s ease-in-out forwards;
}

.floating-logo {
  position: absolute;
  height: 122px;
  width: 100px;
  top: 50%;
  left: 50%;
  margin: auto;

  &.animate {
    animation: moveToCorner 1.5s ease forwards;
  }
}

.dark-fill {
  fill: var(--dark);
}

@keyframes moveToCorner {
  0% {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(3);
    z-index: 10;
  }
  100% {
    top: 80px;
    left: 76px;
    transform: translate(0, 0) scale(1);
    z-index: 1;
  }
}

@keyframes showBackground {
  0% {
    background-color: rgba(255, 255, 255, 1);
    z-index: 5;
  }
  100% {
    z-index: 1;
    background-color: rgba(255, 255, 255, 0);
  }
}

/* page elements layout */
.index-title {
  width: 100%;
  height: 92px;
  height: 49px;
  display: flex;
  justify-content: flex-end;
  margin-bottom: 156px;

  > div {
    display: flex;
    align-items: center;
    gap: 32px;
  }
}

#login-mobile {
  display: none;
}

.signup-title {
  width: 100%;
  height: 122px;
  display: flex;
  justify-content: flex-start;
}

.sign-up {  
  > p {
    font-size: 20px;
    letter-spacing: 0.7px;
  }

  > button {
    border: none;
    background-color: var(--dark);
    color: var(--white);
    font-weight: 700;
    font-size: 16px;
    padding: 15px 16px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 80ms ease-in-out;
  }
}

.dialogue-frame {
  position: relative;
  width: 652px;
  height: 449px;
  background-color: var(--white);
  display: flex;
  flex-direction: column;
  align-items: center;
  border-radius: 30px;
  padding: 48px 115px;
  box-shadow: 0 0 14px 3px rgba(0, 0, 0, 0.04);

  &.signup-height {
    width: 598px;
    height: 630px;
    padding: 48px 88px;
  }

  .blue-arrow {
    position: absolute;
    top: 68px;
    left: 52px;
  }

  .title {
    display: flex;
    flex-direction: column;
    align-items: center;

    > h1 {
      font-size: 61px;
      font-weight: 700;
      margin-bottom: 16px;
    }

    > svg {
      width: 154px;
    }
  }
}

.login-inputs {
  display: flex;
  flex-direction: column;
  margin-top: 32px;
}

.input-frame {
  width: 422px;
  height: 48px;
  border-radius: 10px;
  border: 1px solid var(--borderGrey);
  padding: 0 21px;
  display: flex;
  align-items: center;
  margin-bottom: 32px;

  &.reduced-margin {
    margin-bottom: 24px;
  }

  &:hover,
  &:has(input:focus) {
    border: 1px solid var(--lightBlue);
  }

  > input {
    color: var(--black);
    font-size: 20px;
    display: flex;
    flex: 1;
    border: none;
    cursor: pointer;

    &::placeholder {
      color: var(--borderGrey);
      opacity: 1;
    }

    &:focus {
      outline: none;
      background-color: var(--white);
    }
  }
}

.login-btns {
  display: flex;
  justify-content: center;
  column-gap: 32px;
  margin-top: 24px;

  > .btn:first-of-type,
  > .signup-now {
    border: none;
    background-color: var(--dark);
    color: var(--white);
    font-weight: 700;
    font-size: 21px;
    padding: 11px 24px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 80ms ease-in-out;
  }

  > .signup-now {
    padding: 15px 24px;
  }

  > .btn:last-of-type {
    border: 1px solid var(--dark);
    background-color: var(--white);
    color: var(--dark);
    font-weight: 700;
    font-size: 21px;
    padding: 11px 24px;
    border-radius: 8px;
    cursor: pointer;
    transition: all 80ms ease-in-out;
  }
}

.sign-up button:hover,
.login-btns > .btn:first-of-type:hover,
.login-btns > .signup-now:hover {
  background-color: var(--lightBlue);
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}

.login-btns > .btn:last-of-type:hover {
  border: 1px solid var(--lightBlue);
  color: var(--lightBlue);
  box-shadow: 0 0 0 1px rgba(41, 171, 226),
    0 4px 4px rgba(0, 0, 0, 0.25);
}

.acceptPP {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--sidebarNoticeGrey);
  margin-top: 10px;
  margin-bottom: 36px;
  column-gap: 12px;
  letter-spacing: 0.5px;

  > div > p > a {
    color: var(--lightBlue);
    text-decoration: none;

    &:hover {
      border-bottom: 1px solid var(--lightBlue);
      font-weight: 500;
    }
  }
}

.checkbox-pp {
  cursor: pointer;
}

.legal-part {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 230px;
  margin-top: 84px!important;

  /* &.lp-sgn {
    margin-top: 122px!important;
  } */

  > a {
    padding: 8px 0;
    text-decoration: none;
    color: var(--sidebarNoticeGrey);
    letter-spacing: 0.65px;

    &:hover {
      color: var(--lightBlue);
      font-weight: 700;
      letter-spacing: 0.5px;
    }
  }
}

/* inputfield overlays */
.overlay-anchor {
  position: relative;
}

.red-alert {
  position: absolute;
  top: 52px;
  left: 0px;
  color: var(--redBorder);
  letter-spacing: 0.25px;
  font-size: 17px;

  &.small-gap {
    top: 48px;
  }

  &.read-pp {
    top: 26px;
    left: -12px;
    width: 300px;
  }
}

.password-frame.active,
.required.active {
  border: 1px solid var(--redBorder);

  &.green-border {
    border: 1px solid var(--forestGreen);
  }
}

.green {
  color: var(--forestGreen);
}

.eye {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 3px;
}

.d-none {
  display: none;
}