.demo-login-page {
      min-height: 100vh;
      display: flex;
      flex-direction: column;
          background: linear-gradient(108deg, #40cba2 0%, #2289f7 75%);
    }

    .demo-login-main {
      flex: 1;
      padding-top: 124px;
    }

    .demo-login-card {
      width: 340px;
      border-radius: 15px;
      overflow: hidden;
    }

    .demo-login-content {
      padding: 38px 30px 48px;
    }

    .demo-login-logo {
      color: #07182d;
      font-size: 40px;
      font-weight: 800;
      letter-spacing: -2px;
    }

    .demo-login-welcome {
      color: #18a9d4;
      font-size: 18px;
      font-weight: 700;
    }

    .demo-login-subtitle {
      font-size: 14px;
    }






.demo-login-field {
    position: relative;
    width: 100%;
    height: 45px;
    border: 1px solid #a5a5a5;
    border-radius: 24px;
    background: #fff;
    transition: border-color 0.15s ease,
                box-shadow 0.15s ease;
	    margin-top: 15px;			
}

/* Input */
.demo-login-input {
    width: 100%;
    height: 100%;
    padding: 17px 48px 2px 14px;
    border: 0;
    outline: none;
    border-radius: 24px;
    background: transparent;
    color: #333;
    font-size: 14px;
}

/* Important: invisible placeholder */
.demo-login-input::placeholder {
    color: transparent;
}

/* Label in normal state */
.demo-login-label {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);

    padding: 0;
    background: #fff;

    color: #777;
    font-size: 16px;
    line-height: 1;

    pointer-events: none;

    transition:
        top 0.12s ease,
        transform 0.12s ease,
        font-size 0.12s ease,
        color 0.12s ease;
}

/* Floating label */
.demo-login-input:focus + .demo-login-label,
.demo-login-input:not(:placeholder-shown) + .demo-login-label {
    top: 9px;
    transform: translateY(-50%);
    padding: 0;
    font-size: 11px;
    color: #777;
}

/* Blue label while focused */
.demo-login-field:focus-within
.demo-login-input:focus
+ .demo-login-label {
    color: #1677c8;
}


/* =========================
   Pencil icon
   ========================= */

.demo-login-edit-icon {
    position: absolute;

    right: 13px;
    top: 50%;

    width: 22px;
    height: 22px;

    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    pointer-events: none;
}

.demo-login-edit-icon svg {
    width: 22px;
    height: 22px;

    fill: none;
    stroke: #707070;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}



.demo-login-eye-icon {
    position: absolute;
    right: 13px;
    top: 50%;

    width: 20px;
    height: 20px;

    transform: translateY(-50%);

    display: flex;
    align-items: center;
    justify-content: center;

    pointer-events: none;
}

.demo-login-eye-icon svg {
    width: 22px;
    height: 22px;

    fill: none;
    stroke: #707070;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}













    .demo-login-forgot,
    .demo-login-back {
      color: #0075db;
    font-size: 14px;
    text-decoration: none;
    font-weight: 400;
    }

    .demo-login-button {
      height: 37px;
      border-radius: 22px;
      background: #0d6efd;
      border: 0;
      color: white;
    }

    .demo-login-register {
      border-top: 1px solid #e8e8e8;
      padding: 27px 20px 29px;
    }

    .demo-login-register-btn {
      border: 1px solid #087ee1;
      color: #087ee1;
      border-radius: 18px;
      font-size: 14px;
    }

    .demo-login-footer {
      min-height: 55px;
      background: rgba(211, 239, 255, .7);
      font-size: 12px;
    }

    .demo-login-footer a {
      color: #222;
      text-decoration: none;
	      font-size: 15px;
    }
	
	a.demo-login-register-btn:hover {
    background: #0d6efd;
    color: #fff;
}

    @media (max-width: 576px) {
      .demo-login-main {
        padding-top: 40px;
        padding-bottom: 40px;
      }

      .demo-login-card {
        width: calc(100% - 30px);
      }
    }