@import url('https://fonts.googleapis.com/css?family=Rubik:400,500&display=swap');

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: 'Rubik', sans-serif;
}

.login-wrapper {
    display: flex;
    height: 100vh; /* Full height */
}

.left, .right {
    flex: 1; /* Take equal space */
    background-size: cover;
    background-position: center;
}

.left {
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow: hidden;
    animation-name: left;
    animation-duration: 1s;
    animation-fill-mode: both;
    animation-delay: 1s;
}

.right {
    flex: 2.5;
    background-color: #edf4fa;
    transition: 3s;
}

.header {
    text-align: unset;
}

    .header > h2 {
        margin: 0;
        color: #ffae01;
    }

    .header > h4 {
        margin-top: 10px;
        font-weight: normal;
        font-size: 15px;
        color: #ffffff;
    }

.form {
    max-width: 80%;
    display: flex;
    flex-direction: column;
    margin: 10px;
}

    .form > p {
        text-align: right;
    }

        .form > p > a {
            color: #fff;
            font-size: 14px;
        }

.form-field {
    height: 46px;
    padding: 0 16px;
    border: 2px solid #ddd;
    border-radius: 4px;
    outline: 0;
    transition: 0.2s;
    margin-top: 20px;
}

    .form-field:focus {
        border-color: #0f7ef1;
    }

.form > button {
    padding: 12px 10px;
    border: 0;
    background-color: #ffae01;
    border-radius: 3px;
    margin-top: 10px;
    color: #fff;
    letter-spacing: 1px;
}

.form-group.text-lg-left {
    width: 50%;
}

.animation {
    animation-name: move;
    animation-duration: 0.4s;
    animation-fill-mode: both;
}

.a1 {
    animation-delay: 2s;
}

.a2 {
    animation-delay: 2.1s;
}

.a3 {
    animation-delay: 2.2s;
}

.a4 {
    animation-delay: 2.3s;
}

.a5 {
    animation-delay: 2.4s;
}

.a6 {
    animation-delay: 2.5s;
    background-color: #fead01;
    border: 2px solid #ffae01; /* Added border width */
    height: 40px;
    font-weight: 500;
    font-size: 18px;
    color: #fff;
    width: 100%;
    border-radius: 10px; /* Added border-radius for consistency */
    transition: transform 0.3s ease, background-color 0.3s ease; /* Smooth transition for hover effect */
    opacity: 0; /* Start hidden for fade-in effect */
    animation: fadeIn 0.5s forwards; /* Fade-in animation */
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(20px); /* Start slightly lower */
    }

    100% {
        opacity: 1;
        transform: translateY(0); /* End at original position */
    }
}

.a6:hover {
    transform: scale(1.05); /* Scale up on hover */
    background-color: #ffae01; /* Change background color on hover */
}

@keyframes move {
    0% {
        opacity: 0;
        visibility: hidden;
        transform: translateY(-40px);
    }

    100% {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
}

@keyframes left {
    0% {
        opacity: 0;
        width: 0;
    }

    100% {
        opacity: 1;
        padding: 20px 40px;
        width: 440px;
    }
}

@media (max-width: 600px) {
    .login-wrapper {
        flex-direction: column; /* Stack elements on small screens */
    }

    .left, .right {
        height: auto; /* Auto height for stacked layout */
    }

    .form {
        max-width: 100%; /* Full width on small screens */
    }
}

.validation-summary-errors ul {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-top: 1em;
}
