/* Shared styles */
body {
  background: #ebebed;
  /* background: #ededef; */
  background: #ececf1;
  background: #ededf1;
  background: #eeeef2;
  /* background: #f0f0f4; */
  overflow: hidden;
}

header {
  display: none !important;
}

.logo {
  width: 100%;
  text-align: center;
  background: #fff;
  height: 85px;
  padding-top: 22px;

  svg {
    width: 60px;
    color: #000;
  }
}

.form-wrapper {
  margin: 44px auto 45px;
  width: 450px;
  position: relative;
  background: #fff;
  border-radius: 19px;
  padding: 22px 30px 14px;

  .title {
    margin-top: 9px;
    margin-bottom: 27px;
    font-size: 18px;
    color: #000;
    word-spacing: -1px;
    font-weight: 400;
  }

  .separator {
    font-family: sans-serif;
    line-height: 0;
  }

  .or {
    position: absolute;
    top: 31px;
    left: 34px;
    font-size: 14px;
    border-bottom: 1px solid #3683cd;
    padding-bottom: 4px;
    word-spacing: -1px;
    color: #006bc8;
    text-decoration: none;

    &:hover {
      border-bottom: 1.5px solid;
    }
  }

  .form {
    position: relative;
    margin-bottom: 6px;
    padding-bottom: 11px;

    button.action {
      width: 100%;
      margin-bottom: 5px;
      padding: 5px 0;
      height: 47px;
      font-size: 14px;
      border-radius: 10px !important;
      font-weight: 400;
    }

    .input-wrapper {
      position: relative;

      svg {
        position: absolute;
        left: 11px;
        top: 14.5px;
        width: 22px;
        height: 17px;
        cursor: pointer;
        padding: 3px;
      }

      svg path {
        fill: #555;
      }

      svg.hide-password {
        top: 12.5px;
        height: 20px;
      }

      input {
        width: 100%;
        margin-bottom: 8px;
        padding: 16px 12px 0 15px;
        height: 46px;
        border-radius: 3px;
        font-size: 15px;
        transition: box-shadow 0.1s ease, border-color 0.25s ease;
        border: none;
        box-shadow: var(--box-shadow);
        border-radius: 10px;

        &[type="password"] {
          padding-left: 38px;
        }

        &:focus {
          outline: none;
          box-shadow: var(--box-shadow-focus);
        }
      }

      input:focus ~ .placeholder,
      input:not(:focus).has-value ~ .placeholder {
        top: 7px;
        right: 12px;
        font-size: 11px;
      }

      .placeholder {
        position: absolute;
        pointer-events: none;
        right: 12px;
        top: 15px;
        color: #555;
        font-size: 14px;
        transition: 0.2s ease all;
      }
    }

    .error {
      border: 1px solid #ffe9e9;
      padding: 11px 20px 0;
      background: #ffe9e9;
      color: #222;
      border-radius: 10px;
      font-weight: 400;
      font-size: 12px;
      position: relative;
      text-align: center;
      width: 100%;
      line-height: 1.3;
      margin: 8px auto 1px;
      height: 41px;

      button {
        background: none;
        border: none;
        padding: 0 0 1.5px;
        margin: 0 2px 0 0;
        min-height: 14px;
        border-bottom: 1px solid #ea9898;
        color: #bb4343;
        font-size: 11.5px;
        cursor: pointer;

        &:hover {
          border-bottom: 1.4px solid #e47171;
          color: #bf2323;
        }
      }
    }
  }
}

.os-macos {
  .form-wrapper {
    .form {
      .input-wrapper {
        input:focus ~ .placeholder,
        input:not(:focus).has-value ~ .placeholder {
          top: 8px;
        }

        .placeholder {
          top: 18px;
        }
      }

      button.action {
        .text-container {
          padding-top: 2px;
        }
      }
    }

    .error {
      padding: 14px 20px 0;
    }
  }
}
