:root {
    --bs-danger-rgb: 219, 55, 93 !important; /* brightens text-danger */
    --bs-success-rgb: 19, 138, 83 !important; /* brightens text-success */
    --bright-danger: hsl(346, 70%, 54%); /* used below to override form validation */
    --bright-success: hsl(152, 75%, 31%); /* used below to override form validation */
    --bs-dark-rgb: 3, 62, 46 !important; /* to adjust navbar light and dark */
    --nav-active-bg: #555;
    --nav-hover-bg: #295c4d;
}

.white-content-box {
    background-color: var(--bs-body-bg) !important;
    border: 1px solid var(--bs-primary-border-subtle) !important;
}
.white-content-box.top-level {
    min-height: 500px;
}
.bg-light-green {
    background-color: hsl(144, 11%, 91%) !important;
}
.table {
    --bs-table-bg: inherit !important;
}

.table-hover > tbody > tr.no-hover:hover > td,
.table-hover > tbody > tr.no-hover:hover > th {
    box-shadow: none;
}
@media (min-width: 992px) {
    header .nav-link.active {
        background-color: var(--nav-active-bg) !important;
        box-shadow: inset 0 5px 15px 0 #000;
    }
    header .nav-link:hover:not(.active) {
        background-color: var(--nav-hover-bg) !important;
        color: #fff;
    }
}
header .navbar {
    --bs-navbar-padding-y: 0 !important;
}
header .nav-link {
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
}
header .navbar {
    background: linear-gradient(0deg, rgb(var(--bs-dark-rgb)), 60%, var(--nav-hover-bg)) !important;
    box-shadow: 0 -5px 30px 0 #000;
}
header .navbar .btn-dark {
    background-color: inherit !important;
    border: none;
}

/* DARK MODE */
@media (prefers-color-scheme: dark) {
    .bg-light-green {
        background-color: hsl(163, 11%, 16%) !important;
    }
    .kv-md-editor > .kv-md-header,
    .kv-md-editor textarea,
    .kv-md-editor textarea:focus,
    .kv-md-editor > .kv-md-preview
    {
        background-color: var(--bs-body-bg) !important;
    }
    .kv-md-editor
    {
        border: 1px solid var(--bs-border-color) !important;
    }
    .navbar-dark .btn-dark {
        background-color: rgb(1, 33, 24) !important;
        border-color: rgb(1, 33, 24) !important;
    }
    header .navbar {
        box-shadow: none;
    }
    .dropdown-menu {
        background-color: var(--bs-body-bg) !important;
    }
    :root {
        --bs-dark-rgb: 1, 33, 24 !important;
        --bs-light-rgb: 0, 0, 0 !important;
        --nav-active-bg: #282828;
        --nav-hover-bg: #27423b;
        --bs-black: #ccc !important;
    }
}


.form-control.is-invalid {
    border-color: var(--bright-danger) !important;
}
.invalid-feedback {
    color: var(--bright-danger) !important;
}
.form-control.is-valid {
    border-color: var(--bright-success) !important;
}
.valid-feedback {
    color: var(--bright-success) !important;
}




/*Reveal invalid feedback on markdown editor*/
.form-group.is-invalid > .invalid-feedback {
    display: block;
}

.contact-muted, .contact-muted a:link, .table-hover tr:hover td.contact-muted {
    color: rgba(var(--bs-body-color-rgb), 0.35) !important;
    text-decoration: none;
}

.form-floating.form-placehold > .form-control::placeholder {
    color: revert;
}

.form-floating.form-placehold > .form-control:not(:focus)::placeholder {
    color: transparent;
}

td.practice-column {
    width: 20px;
}

/*    ______            __     _____ _
   / ____/___  ____  / /_   / ___/(_)___  ___
  / /_  / __ \/ __ \/ __/   \__ \/ /_  / / _ \
 / __/ / /_/ / / / / /_    ___/ / / / /_/  __/
/_/    \____/_/ /_/\__/   /____/_/ /___/\___/
*/

.f-serif {
    font-family: Georgia, serif;
}
.f-default {
    font-family: var(--bs-body-font-family) !important;
}
.f-large-title {
    font-size: 3rem !important;
}
.f-title {
    font-size: 1.6rem !important;
}
.f-title2 {
    font-size: 1.3rem !important;
}
.f-title3 {
    font-size: 1.2rem !important;
}
.f-headline {
    font-size: 1rem !important;
    font-weight: bold;
}
.f-body {
    font-size: 1rem !important;
    font-weight: normal;
}
.f-callout, .f-subheadline {
    font-size: 0.9rem !important;
}
.f-footnote {
    font-size: 0.8rem !important;
}
.f-caption {
    font-size: 0.7rem !important;
}
.f-caption2 {
    font-size: 0.6rem !important;
}


/*    __
   / /   ___  ____ _____ ________  __
  / /   / _ \/ __ `/ __ `/ ___/ / / /
 / /___/  __/ /_/ / /_/ / /__/ /_/ /
/_____/\___/\__, /\__,_/\___/\__, /
           /____/           /____/*/

           main > .container {
            padding: 70px 15px 20px;
        }

        .footer {
            background-color: #f5f5f5;
            font-size: .9em;
            height: 60px;
        }

        .footer > .container {
            padding-right: 15px;
            padding-left: 15px;
        }

        .not-set {
            color: #c55;
            font-style: italic;
        }

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    content: '';
    left: 3px;
    display: inline-block;
    width: 0;
    height: 0;
    border: solid 5px transparent;
    margin: 4px 4px 2px 4px;
    background: transparent;
}

a.asc:after {
    border-bottom: solid 7px #212529;
    border-top-width: 0;
}

a.desc:after {
    border-top: solid 7px #212529;
    border-bottom-width: 0;
}

.grid-view th {
    white-space: nowrap;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/* align the logout "link" (button in form) of the navbar */
.nav li > form > button.logout {
    padding-top: 7px;
    color: rgba(255, 255, 255, 0.5);
}

@media(max-width:767px) {
    .nav li > form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 0;
    }
}

.nav > li > form > button.logout:focus,
.nav > li > form > button.logout:hover {
    text-decoration: none;
    color: rgba(255, 255, 255, 0.75);
}

.nav > li > form > button.logout:focus {
    outline: none;
}

.form-group {
    margin-bottom: 1rem;
}