.relative {
    position: relative;
}

.peer {
    padding-left: 1.25rem;
    /* To provide space for label */
}

input:focus~label,
input:not(:placeholder-shown)~label {
    top: -1rem;
    font-size: 0.75rem;
    color: #3b82f6;
    /* Blue color when focused */
}

input:focus {
    border-color: #3b82f6;
    /* Blue border when focused */
}

label {
    left: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1rem;
    color: gray;
    transition: all 0.3s ease;
}

.button {
    padding: 10px 20px;
    border: none;
    outline: none;
    background-color: #1e3a8a;
    color: #fff;
    border-radius: 35px;
    cursor: pointer;
    transition: all 0.25s ease-out;
}

.button:hover {
    transform: translateY(-3px);
}

.button-span {
    color: #fff;
}

input[type="password"] {
    appearance: none;
    -webkit-text-security: disc;
}

input::-ms-reveal {
    display: none;
}