[data-bs-theme="dark"] {
    --bs-light: black !important;    
    --bs-light-rgb: 0, 0 , 0 !important;
}

html, body, table {
    font-size: 12px;
}

/* Main page structure */

#nexus {
    overflow: hidden;
}

    #nexus_header {
        z-index: 200;
        color: white;
    }

    .navbar .navbar-brand{
        max-height: 50px;
    }

    .navbar #brand #icon {
        float: left;
    }

    .navbar #brand #nex_us {
        float: left;
        font-size: 2.5rem;
        font-weight: 700;
        margin-right: 25px;
        margin-top: -3px;
    }

    a.navbar-brand {
        cursor: pointer;
    }

    .navbar #avatar {
        height: 50px;
        width: 50px;
        border-radius: 50%;
        border: 2px solid white;
        background-position: center;
        background-size: cover;
    }


    #nexus_body {
        overflow: auto;
        /* background-color: #F8F8F8; */
        background-color: var(--bs-light);
        background-image: url('/images/nexus-wallpaper.png');
        background-position: top right;
        background-size: cover;
    }

        #nexus_content {
            overflow-x: auto;
            overflow-y: auto;
            padding-top: 12px;
            padding-bottom: 120px;
        }

        #nexus_sidebar {
            
        }

    
    #nexus_footer {
        border-bottom: 3px solid var(--bs-primary)
    }
    
    #nexus_footer, #nexus_footer a {
        color: white !important;
    }

/* Dark mode */
[data-bs-theme="light"] .bg-light {
    /* background-color: black */
}

/* Pop out side menu */
#nexus_sidemenu {
    height: 100%;
    width: 100%;
    overflow-y: scroll;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(0, 0, 0, 0.5);
    color: white !important;
    z-index: 100;
}

#nexus_sidemenu h5, #nexus_sidemenu i, #nexus_sidemenu hr {
    color: white !important;
}

#nexus_sidemenu .col {
    background-color: white;
    min-height: 100vh;
}

#nexus_sidemenu ul {
    list-style: none;
    padding-left: 0px;
}

#nexus_sidemenu li {
    margin-bottom: 8px;
}

#nexus_sidemenu i {
    padding-right: 20px;
}

#nexus_sidemenu a {
    color: white;
}

/* Pop Over AI Help */
#nexus_help {
    position: absolute;
    background: white;
    bottom: 50;
    right: 10;
    z-index: 1000000;
    width: 30%;
    height: 90%;
    max-width: 30%;
    max-height: 90%;
    overflow-y: auto;
    padding: 20px;
    border: gainsboro 1px solid;
    border-radius: 20px;
}

#nexus_iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 2000;;
}

#nexus_iframe_iframe_menu {
    margin-top: 2%;
    margin-left: 2%;
    width: 96%;
    background-color: var(--bg-dark);
    font-size: 1.5rem;
    padding: 8px;
}

#nexus_iframe_iframe {
    margin-left: 2%;
    width: 96%;
    height: 90%;
}

/* De-ugly links */
a {
    text-decoration: none;
}

/* Table improvements */
table {
    max-width: 100%;

}
td {
    max-width: 320px;       /* Sets the maximum width */
    white-space: nowrap;    /* Prevents text from wrapping to a new line */
    overflow: hidden;       /* Hides any overflow */
    text-overflow: ellipsis;/* Displays an ellipsis ("...") to indicate hidden content */
}

td.icons {
    width:0.1%;
    white-space: nowrap;
}

td label {
    font-size: 0.6rem;
    margin-top: 0.2rem;
    display: block;
}

th.sticky-col, td.sticky-col {
    position: sticky;
    right: 0;
    z-index: 3;
}

.card-body {
    overflow: hidden;
    overflow-x: auto;
    /* border-right: 12px solid white; */
}

/* Special cards */
.card.scorecard p {
    font-size: 3rem;
    text-align: center;
}

/* Input forms */
:required {
    background-color: var(--bs-primary-bg-subtle);
}

.glow {
    text-shadow: 0 0 15px rgba(255, 255, 255, 0.5);
}

/* Buffering */
#buffering {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
}

#buffering-icon {
    font-size: 10rem;
    color: var(--bs-secondary)
}