:root {
    --main-blue-dark: #3a79d0;
    --main-blue-light: #4a9aff;
    --box-shadow-color: rgba(0, 0, 0, 0.2);
}

body {
    margin: 0;
    height: 100vh;
    font-family: Lato, 'Helvetica Neue', Arial, Helvetica, sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--main-blue-dark);
    background-image: repeating-linear-gradient(45deg,
            rgba(255, 255, 255, 0.03) 0px,
            rgba(255, 255, 255, 0.03) 1px,
            transparent 1px,
            transparent 50px),
        linear-gradient(180deg, var(--main-blue-light) 0%, var(--main-blue-dark) 100%);
    /* background: linear-gradient(to right, #0b6fd3, #7bbaf7); */
    background: linear-gradient(to right, white, white);


    background-image: url("/images/image4.jpg");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

body::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 50%, rgba(255, 255, 255, 0.18) 0%, transparent 60%),
        radial-gradient(circle at 35% 50%, rgba(255, 255, 255, 0.14) 0%, transparent 65%),
        radial-gradient(circle at 55% 50%, rgba(255, 255, 255, 0.12) 0%, transparent 70%),
        radial-gradient(circle at 75% 50%, rgba(255, 255, 255, 0.10) 0%, transparent 75%);
    filter: blur(px);
    z-index: 0;
}


body::after {
    content: "";
    position: absolute;
    z-index: 1;
    background:
        radial-gradient(circle at 30% 55%, rgba(255, 255, 255, 0.18) 0%, transparent 65%),
        radial-gradient(circle at 50% 55%, rgba(255, 255, 255, 0.14) 0%, transparent 70%),
        radial-gradient(circle at 70% 55%, rgba(255, 255, 255, 0.10) 0%, transparent 75%);
    animation: waveFloatReverse 30s linear infinite;
    filter: blur(3px);
}

.login-box {
    background: white;
    width: 100%;
    max-width: 400px;
    padding: 13px 40px;
    border-radius: 12px;
    box-shadow: 0 8px 25px var(--box-shadow-color);
    text-align: center;
    z-index: 2;
}

.login-header {
    margin-top: 15px !important;
    margin-bottom: 25px !important;
}

.login-header img {
    width: 60px;
    margin-bottom: 10px;
}

.asi-text {
    font-size: 14px;
    color: #555;
    margin-bottom: 5px;
}

.dl-title {
    font-size: 22px;
    font-weight: 500;
    color: #333;
}

.ui.blue.button {
    background-color: #2185d0;
    color: white !important;
    margin-top: 20px;
    padding: 15px 0 !important;
}

.password-field {
    position: relative;
}

.toggle-password {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    cursor: pointer;
    color: #888;
    font-size: 18px;
    z-index: 10;
}

.links {
    margin-top: 15px;
}

.links a {
    color: var(--main-blue-dark);
    font-size: 1.0em;
    margin: 0 5px;
    text-decoration: none;
}

.links a:hover {
    text-decoration: underline;
}

.footer-note {
    margin-top: 20px;
    font-size: 0.730em;
    color: #777;
}

.ui.form .field {
    margin-bottom: 15px;
}

#rememberMeContainer {
    margin-top: -5px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.ui.red.message {
    padding: 10px;
    margin-top: 0;
    margin-bottom: 20px;
}

.left-side {
    width: 60%;
}

.right-side {
    position: relative;
}

@media (max-width: 768px) {
    body {
        align-items: flex-start;
        padding: 10px;
    }

    .left-side {
        display: none !important;
    }

    .right-side,
    .login-box {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 20px;
        margin-top: 55px;
    }
}