/* Instead of adding * to required fields, add (optional) to optional fields */

.asteriskField {
    display: none;
}

.form-group > label:not(.requiredField)::after {
    content: "(optional)";
}

/* Light button should be light */
.btn-outline-light {
    border-color: #fff !important;
    color: #fff !important;
}

/* Make monospace strings look better */
.pretty-mono {
    font-size: 16px;
    margin-bottom: 0;
}

/* Light gray link */
.link-secondary {
    color: #bbb !important;
}

.link-secondary:hover {
    color: #ddd !important;
}

/* HR but thicker */
.thick-line {
    border-top: 5px solid #ddd !important;
}

/* Non-clickable button */
.btn-static {
     pointer-events: none;
}

/* Clickable row in table */
.link-row {
    cursor: pointer;
}
.table:not(.table-hover) tr.link-row:hover > td {
    opacity: 0.7;
}

/* Fix inactive pagination items unreadable */
html.dark .pagination .page-item:not(.active) .page-link {
        color: #bbb;
}

/* Allow color palette specific elements */
html.dark .light-only {
    display: none !important;
}
html.light .dark-only {
    display: none !important;
}

/* Theme switching button should not have any borders when active */
#theme:focus, #theme:hover, #theme:active {
    box-shadow: none !important;
    background-color: transparent !important;
}

/* Style file input button like bootstrap buttons */
input[type=file]::file-selector-button {
    border-radius: 0.25rem;
    padding: 6px 12px;
    border: 1px solid transparent;
    cursor: pointer;
}
html.dark input[type=file]::file-selector-button {
    background-color: #6B6B6B;
    color: #FAFAFA;
}
html.light input[type=file]::file-selector-button {
    background-color: #6C757D;
    color: #FFF;
}

/* Lighter text colour for form input labels */
html.dark .input-group-text {
    color: #efefef
}

/* Navbar dropdown menu */
html.dark .dropdown-menu.show {
    background-color: var(--bs-primary-alt) !important;
    filter: brightness(85%);
}
html.dark a.dropdown-item:not(.active) {
    color: rgba(255, 255, 255, 0.55) !important
}
html.dark a.dropdown-item:hover {
    color: #dfe0e1 !important;
    background-color: #343434 !important;
}
html.light .dropdown-menu.show {
    background-color: var(--bs-primary) !important;
    filter: brightness(85%);
}
html.light a.dropdown-item:not(.active) {
    color: rgba(250, 250, 250, 0.55) !important
}
html.light a.dropdown-item:hover {
    color: #1e2125 !important;
    background-color: #e9ecef !important;
}

/* Striped table with merged cells (tbody per large row) */
.table-merged-striped tbody:nth-child(even) {
    background-color: var(--bs-table-striped-bg);
}
