body {
    height: 100vh;
    font-family: Arial;
    width: 100%;
}

    body:has(.login-page,.logout-page,.logged-out-page) {
        background: url('../images/login-background.png') rgba(92, 155, 209, 0.20);
        background-size: cover;
        background-repeat: no-repeat;
        background-blend-mode: multiply;
    }

.mt-25 {
    margin-top: 25rem;
}

.login-page, .logout-page, .logged-out-page {
    max-width: 100%;
    padding: 3rem;
    height: 100vh;
}

.login-card {
    border-radius: 15px;
    border: 1px solid #6C7A8D;
    max-width: 400px;
    padding: 2rem 3rem;
    flex: 1;
    max-height: 770px;
}

.reset-card {
    border-radius: 15px;
    border: 1px solid #6C7A8D;
    max-width: 400px;
    padding: 2rem 3rem;
}

.login-card .ehs-logo {
    width: 201.372px;
    height: 82.597px;
    flex-shrink: 0;
    aspect-ratio: 201.37/82.60;
}

.login-card .form-control {
    border-radius: 4px;
}


.pass-wrapper {
    position: relative;
}

    .pass-wrapper .show-pass {
        position: absolute;
        top: 8px;
        right: 12px;
        color: #5C9BD1 !important;
        cursor: pointer;
    }

.invalid {
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: var(--bs-form-invalid-color);
}

.login-btn {
    border-radius: 4px;
    background: #3598DC;
    color: #FFF;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    height: 37px;
}

    .login-btn:hover {
        background: rgba(53, 152, 220,.9);
        color: #FFF;
    }

.separator {
    display: flex;
    align-items: center;
    text-align: center;
    color: #D3D3D3
}

    .separator::before, .separator::after {
        content: '';
        flex: 1;
        border-bottom: 1px solid #D3D3D3
    }

    .separator::before {
        margin-right: .25em
    }

    .separator::after {
        margin-left: .25em
    }

    .separator.black {
        color: #555
    }

        .separator.black::before, .separator.black::after {
            border-bottom-color: #555
        }

.external-login .btn:not(#custom-sign-in-with-apple) {
    text-transform: none;
    color: gray;
    border: 1px solid #d3d3d3;
    width: 100%
}

.external-login .btn img:not(#custom-siwa-btn-img) {
    width: 20px;
    margin-bottom: 1.5px;
    margin-right: 5px;
    margin-top: 3px
}

.external-login .btn span {
    position: relative;
    top: 2px
}

.external-login-button {
    text-decoration: none;
}

.sign-in-with-apple {
    width: 100%;
    height: 40px;
    background-color: #fff;
    border: 2px solid #333 !important;
    text-align: center;
    font-weight: bold;
    padding: 1px 6px
}

    .sign-in-with-apple:hover {
        background-color: #fff !important;
    }

    .sign-in-with-apple img {
        width: 35px
    }

.no-account {
    color: #000;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.sign-up, .forgot-pass {
    color: #337AB7;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-decoration: none;
    text-shadow: none;
}

.app-link {
    color: #5C9BD1;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration-line: underline;
    text-decoration-style: solid;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: auto;
    text-underline-offset: auto;
    text-underline-position: from-font;
}

.apps-list {
    flex-wrap: wrap;
    max-height: 90px;
    padding: 0 3rem;
}

    .apps-list .app-logo-container.analytics img {
        width: 197.934px;
        height: 79.965px;
        flex-shrink: 0;
        aspect-ratio: 197.93/79.97;
    }

    .apps-list .app-logo-container.sl img {
        width: 376.477px;
        height: 89.369px;
        flex-shrink: 0;
        aspect-ratio: 376.48/89.37;
    }

    .apps-list .app-logo-container.firs img {
        width: 205.419px;
        height: 60.046px;
        flex-shrink: 0;
        aspect-ratio: 205.42/60.05;
    }

.register-section {
    font-size: 14px;
}

@media screen and (max-width: 972px) {
    .apps-list {
        font-size: 1.1em;
    }
}


@media screen and (max-width: 768px) {
    .login-page {
        padding: 1rem;
    }

    .mt-25 {
        margin-top: 1rem;
    }
}
