/* Log In Employee CSS */
#loginHeader {
    color: var(--Blue, #55B9E1);
    font-family: Inter;
    font-size: 3rem;
    font-style: normal;
    font-weight: 800;
    line-height: normal;
}
#loginContainer {
    position: relative;
    width: 27%;
    display: grid;
    grid-template-rows: auto auto auto auto auto;
    margin-top: 20vh;
    justify-content: center;
    border-radius: 16px;
    background: #F2F2F2;
    margin-right: auto;
    margin-left: auto;
    padding: 2%;
   background:
    linear-gradient(white, white) padding-box,
    linear-gradient(110deg,var(--Blue), var(--Purple)) border-box;
    border: 2px solid transparent;
    box-shadow: 0 4px 16px rgba(0,0,0,.1);
    z-index: 11 ;
    box-sizing: border-box;
}
.loginInfo {
    color: #AEABAB;
    font-family: Inter;
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    margin-top: 0.5vh;
    margin-bottom: 10vh;
}
input {
    width: 100%;
    outline: none;
    border: none;
    font-size: 1.3rem;
    border-radius: 8px;
    padding: 2%;
    background:
    linear-gradient(white, white, white,white, white) padding-box,
    linear-gradient(90deg, var(--Green), var(--Blue), var(--Purple), var(--Red), var(--Yellow)) border-box;
    border: 1.5px solid transparent;
    box-shadow: 0 4px 16px rgba(0,0,0,.1);

    margin-bottom: 5vh;
    box-sizing: border-box;
    
}
label {
    color: var(--Decent-Text, #595959);
    font-family: Inter;
    font-size: 1.15rem;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
    margin-bottom: 1vh;
}
button {
    outline: none;
    border: none;
    width: 100%;
    padding: 2%;
    border-radius: 8px;
    background: var(--Blue);
    color: #FFF;
    font-family: Inter;
    font-size: var(--lg);
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}
button:hover {
    cursor: pointer;
    background: #339ACC;
}

#keycloakLoginBtn {
    background: var(--Purple);
    margin-top: 0;
}
#keycloakLoginBtn:hover {
    background: #a33a70;
}

.login-divider {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin: 1.5rem 0 1rem;
    color: #AEABAB;
    font-family: Inter;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
}
.login-divider::before,
.login-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #D5D5D5;
}


/* Flecks Positioning */
.blueFleck {
    position: absolute;
    top: 3vh;
    left: 25vw;
    z-index: 10 ;
}
.pinkFleck {
    position: absolute;
    left: 40vw;
    top: 27vh;
}
.greenFleck {
    position: absolute;
    left: 30vw;
    top: 25vh;
}

/* ==========================================================================
   Responsive Design - Tablet Landscape / Small Desktop (max 1200px)
   ========================================================================== */
@media (max-width: 1200px) {
    #loginContainer {
        width: 40%;
        margin-top: 15vh;
    }

    #loginHeader {
        font-size: 2.6rem;
    }

    .blueFleck,
    .greenFleck,
    .pinkFleck {
        transform: scale(0.85);
    }
}

/* ==========================================================================
   Responsive Design - Tablet Portrait (max 1024px)
   ========================================================================== */
@media (max-width: 1024px) {
    #loginContainer {
        width: 55%;
        margin-top: 12vh;
        padding: 3%;
    }

    #loginHeader {
        font-size: 2.4rem;
    }

    .loginInfo {
        font-size: 0.95rem;
        margin-bottom: 5vh;
    }

    input {
        font-size: 1.15rem;
        padding: 3%;
        margin-bottom: 3vh;
    }

    label {
        font-size: 1.05rem;
    }

    button {
        padding: 3%;
        font-size: 1.1rem;
    }

    .blueFleck {
        left: 5vw;
        transform: scale(0.7);
    }

    .greenFleck {
        left: 30vw;
        top: 25vh;
        transform: scale(0.7);
    }

    .pinkFleck {
        left: 50vw;
        top: 25vh;
        transform: scale(0.7);
    }
}

/* ==========================================================================
   Responsive Design - Tablet Portrait / Large Mobile (max 768px)
   ========================================================================== */
@media (max-width: 768px) {
    #loginContainer {
        width: 75%;
        margin-top: 10vh;
        padding: 5%;
        border-radius: 14px;
    }

    #loginHeader {
        font-size: 2rem;
    }

    .loginInfo {
        font-size: 0.9rem;
        margin-bottom: 4vh;
    }

    input {
        font-size: 1rem;
        padding: 4%;
        margin-bottom: 2.5vh;
    }

    label {
        font-size: 1rem;
    }

    button {
        padding: 4%;
        font-size: 1rem;
    }

    .blueFleck,
    .greenFleck,
    .pinkFleck {
        transform: scale(0.5);
    }

    .blueFleck {
        left: -10vw;
        top: 0;
    }

    .greenFleck {
        left: 50vw;
        top: 60vh;
    }

    .pinkFleck {
        left: 60vw;
        top: 5vh;
    }

    .blueFleck,
    .greenFleck,
    .pinkFleck { display: none !important; }
}

/* ==========================================================================
   Responsive Design - Mobile (max 480px)
   ========================================================================== */
@media (max-width: 480px) {
    #loginContainer {
        width: 90%;
        margin-top: 8vh;
        padding: 6%;
        border-radius: 12px;
    }

    #loginHeader {
        font-size: 1.7rem;
    }

    .loginInfo {
        font-size: 0.8rem;
        margin-bottom: 3vh;
    }

    input {
        font-size: 0.95rem;
        padding: 4%;
        margin-bottom: 2vh;
    }

    label {
        font-size: 0.9rem;
    }

    button {
        padding: 4%;
        font-size: 0.95rem;
    }

    .blueFleck,
    .greenFleck,
    .pinkFleck {
        transform: scale(0.4);
    }

    .blueFleck {
        left: -20vw;
        top: -5vh;
    }

    .greenFleck {
        left: 30vw;
        top: 70vh;
    }

    .pinkFleck {
        left: 50vw;
        top: -5vh;
    }
}
