
/*
Bootstrap 5 overrides and additions
*/

:root,
[data-bs-theme=light] {
    --bs-link-color: #337ab7;
    --bs-link-color-rgb: 51, 122, 183;
}

html {
    font-size: 14px;
}

body {
    font-family: "Helvetica Neue", Arial, Helvetica, Sans-Serif;
}

/* CLEANEST WAY OF RESTORING MOST OF PRE BS5 LINK STYLING */
a:not([class]), :is(h1 a, h2 a, h3 a, h4 a, h5 a, h6 a) {
    text-decoration: none;
}

a:not([class]):hover, :is(h1 a, h2 a, h3 a, h4 a, h5 a, h6 a):hover {
    text-decoration: underline;
}

/* 400 is "normal" weight */
h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    font-weight: 400;
}

/* Not implemented in BS5 */
.btn-default {
    --bs-btn-bg: var(--bs-white);
    --bs-btn-border-color: #ccc;
    --bs-btn-hover-border-color: #c6c7c8;
    --bs-btn-focus-shadow-rgb: 211, 212, 213;
    --bs-btn-active-bg: #c6c7c8;
    --bs-btn-active-border-color: #babbbc;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-bg: #f8f9fa;
    --bs-btn-disabled-border-color: #f8f9fa;
    --bs-btn-hover-bg: #d3d4d5;
}

/* Nicer blue for btn primary */
.btn-primary {
    --bs-btn-bg: #337ab7;
    --bs-btn-hover-bg: #286090;
}

.btn-warning {
    --bs-btn-color: #fff;
    --bs-btn-hover-color: #fff;
    --bs-btn-bg: #f0ad4e;
    --bs-btn-border-color: #f0ad4e;
    --bs-btn-hover-bg: #ec971f;
    --bs-btn-hover-border-color: #ec971f;
}

.dropdown-menu {
    --bs-dropdown-link-active-bg: #337ab7;
}

.list-group {
    --bs-list-group-active-bg: #337ab7;
    --bs-list-group-active-border-color: #337ab7;
}

.well {
    background-color: var(--bs-card-cap-bg);
}

.form-horizontal .form-label,
.form-horizontal .col-form-label {
    font-weight: 700;
}

@media (min-width: 576px) {
    .form-horizontal .form-label,
    .form-horizontal .col-form-label {
        text-align: right;
    }
}

.page-header {
    border-bottom: 1px solid var(--bs-secondary-bg);
    padding-bottom: 1rem;
    margin-bottom: 2rem;
}

h1>small,
h2>small,
h3>small,
h4>small,
h5>small,
h6>small,
h1>.small,
h2>.small,
h3>.small,
h4>.small,
h5>.small,
h6>.small{
    color: var(--bs-gray);
    font-size: 0.75em;
}

hr {
    color: var(--bs-secondary-bg);
    opacity: 100%;
}


#fp-header-container {min-height: 120px;}
#header-wrapper {background: #45617E;}

.footer { margin-top: 20px; margin-bottom: 40px; padding: 20px 0; }

#sub-header { background-color: rgba(0, 0, 0, .10); }

.fp-shaded {background-color: rgba(0, 0, 0, .05); padding-top: 40px; padding-bottom: 40px; margin-top: 40px; margin-bottom: 40px;}


.subheader-menu > .dropdown-menu {
    padding: 0;
}

@media (min-width: 768px) {
    .subheader-menu > .dropdown-toggle {
        display: none;
    }

    .subheader-menu > .dropdown-menu {
        display: flex;
        justify-content: center;
        position: relative;
        border-color: transparent;
        background-color: transparent;
        gap: 0.5rem;
    }

    .subheader-menu > .dropdown-menu > li {
        line-height: 2.5rem;
        margin-bottom: -1px;
    }

    .subheader-menu > .dropdown-menu > li.dropdown > ul {
        line-height: var(--bs-body-line-height);
    }

    .subheader-menu > .dropdown-menu > li > .dropdown-item {
        color: var(--bs-dropdown-link-active-color);
        border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
    }


    .subheader-menu > .dropdown-menu > li:hover > .dropdown-item,
    .subheader-menu > .dropdown-menu > li > .dropdown-item:focus
    {
        color: var(--bs-dropdown-link-color);
        background-color: rgba(255, 255, 255, 0.7);
    }


    .subheader-menu > .dropdown-menu > li > .dropdown-item.active,
    .subheader-menu > .dropdown-menu > li.active > .dropdown-item {
        color: var(--bs-dropdown-link-color);
        background-color: var(--bs-dropdown-bg);
    }
}

@media (max-width: 768px) {

    .subheader-menu > .dropdown-toggle > i:last-of-type,
    .subheader-menu > .dropdown-toggle.show > i:first-of-type {
        display: none;
    }

    .subheader-menu > .dropdown-toggle.show > i:last-of-type
    {
        display: inline-block;
    }

    .subheader-menu > .dropdown-menu {
        line-height: 2.5rem;
        border: 0;
        margin-left: 0.25rem;
    }

    .subheader-menu > .dropdown-menu.show {
        width: 75%;
    }

    .subheader-menu .dropdown-menu.show {
        line-height: var(--bs-body-line-height);
        box-shadow: 0 5px 39px -10px rgba(0, 0, 0, 0.24);
    }

    .subheader-menu > .btn,
    .subheader-menu > .btn:active {
        background-color: transparent;
        color: var(--bs-btn-color);
        border-color: transparent;
        line-height: 2rem;
        border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
    }

    .subheader-menu > .btn:hover {
        background-color: rgba(255, 255, 255, 0.7);
        color: var(--bs-btn-active-color);
    }

    .subheader-menu > .btn::after {
        content: unset;
    }

    .subheader-menu > .btn.show {
        background-color: var(--bs-btn-active-bg);
        color: var(--bs-btn-active-color);
    }

    .subheader-menu > .dropdown-menu.show {
        border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
        padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
        min-width: var(--bs-dropdown-min-width);
        background: var(--bs-dropdown-bg);
    }

    .subheader-menu > .dropdown-menu {
        display: inline-block;
        border-color: transparent;
        padding: 0;
        min-width: unset;
        background-color: transparent;
    }

    .subheader-menu > .dropdown-menu > li {
        display: none;
    }

    .subheader-menu > .dropdown-menu.show > li {
        display: block;
    }

    .subheader-menu .dropdown-menu.show .dropdown-item {
        padding: 0.75rem;
    }

    .subheader-menu > .dropdown-menu > li:has(> .dropdown-item.active),
    .subheader-menu > .dropdown-menu > li.active {
        display: block;
        background-color: var(--bs-dropdown-bg);
        border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
    }

    .subheader-menu > .dropdown-menu:not(.show) > li > .dropdown-item.active {
        background-color: unset;
        color: var(--bs-dropdown-link-color);
    }

    .subheader-menu > .dropdown-menu > li.active > .dropdown-item:hover,
    .subheader-menu > .dropdown-menu > li.active > .dropdown-item:focus {
        background-color: rgba(255, 255, 255, 0.6);
        border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
        color: var(--bs-dropdown-link-color);
    }

    .subheader-menu > .dropdown-menu.show > li > .dropdown-item.active,
    .subheader-menu > .dropdown-menu.show > li.active,
    .subheader-menu > .dropdown-menu.show > li.active > .dropdown-item:hover,
    .subheader-menu > .dropdown-menu.show > li.active > .dropdown-item:focus {
        background-color: var(--bs-dropdown-link-active-bg);
        color: var(--bs-dropdown-link-active-color);
        border-radius: 0;
    }
}

.sticky-top[data-bs-target="#side-menu"] {
    z-index: 0;
}

#side-menu {
    background-color: rgb(255 255 255 / 70%);

    @media (max-width: 768px) {
        backdrop-filter: blur(10px);
    }
}

/* Button to open side menu */
button[data-bs-toggle="offcanvas"][data-bs-target="#side-menu"] {
    top: 1rem;
}

/* Button to close side menu */
button[data-bs-dismiss="offcanvas"][data-bs-target="#side-menu"] {
    margin-right: calc(-1rem - 10.5px);
}

.spinner {
  opacity: 0;
  display: none;
  -webkit-transition: opacity 0.25s, width 0.25s;
  -moz-transition: opacity 0.25s, width 0.25s;
  -o-transition: opacity 0.25s, width 0.25s;
  transition: opacity 0.25s, width 0.25s;
}

.has-spinner.active {
    cursor:progress;
}

.has-spinner.active .spinner {
    opacity: 1;
    display: inline-block;
}


.lead {font-size: 1.5rem;}
