:root {
    --main-color: #486E9D;
    --lightest-color:      hsl(from var(--main-color) h s calc(l + 40));
    --lighter-color:      hsl(from var(--main-color) h s calc(l + 10));
    --darker-color:       hsl(from var(--main-color) h s calc(l - 20));
    --darkest-color:      hsl(from var(--main-color) h s calc(l - 30));
    --even-more-dark-color: hsl(from var(--main-color) h s calc(l - 40));
    --nav-color:          hsl(from var(--main-color) h s l / 0.75);
    --brand-color:        hsl(from var(--darkest-color) h s l);
    --nav-text-color:     hsla(0, 0%, 100%, 0.5);
}

body {
    font-family: 'Space Grotesk', sans-serif;
}

a.navbar-brand {
    color: var(--brand-color) !important;
}

.btn-lightest, .btn-outline-lightest {
    color: var(--main-color) !important;
    background-color: var(--lightest-color) !important;
    border-color: var(--lightest-color) !important;
}

.btn-primary, .btn-outline-primary {
    color: #fff !important;
    background-color: var(--main-color) !important;
    border-color: var(--main-color) !important;
}

.border-main {
    border-color: var(--main-color) !important;
}


.btn-primary:hover, .btn.show, :not(.btn-check)+.btn:active, .btn-outline-primary:hover {
    background-color: var(--darker-color) !important;
    border-color: var(--darker-color) !important;
}

.progress-bar {
    background-color: var(--lighter-color);
    border-color: var(--lighter-color);
}

.progress-bar-danger {
    background-color: #dc3545;
    border-color: #dc3545;
}

.bg-lightest {
    background-color: var(--lightest-color) !important;
}

.bg-main {
    background-color: var(--main-color) !important;
}

.bg-dark {
    background-color: var(--nav-color) !important;
}

.bg-darker {
    background-color: var(--darker-color) !important;
}

.bg-darkest {
    background-color: var(--darkest-color) !important;
}

.table a:not(.btn), h1 a:not(.btn) {
    color: var(--darker-color) !important;
}

h1 a {
    text-decoration: solid;
}

.nav-link {
    color: var(--darkest-color) !important;
}

a.nav-link:hover,
a.nav-link:focus {
    color: var(--even-more-dark-color) !important;
}

/* Custom styles for active buttons to appear white */
.btn-group .btn-check:checked + .btn {
    background-color: white;
    color: #000; /* Adjust text color as needed */
    border-color: #6c757d; /* Match Bootstrap's secondary border color */
}

/* Ensure inactive buttons have the secondary styling */
.btn-group .btn {
    background-color: #6c757d; /* Bootstrap's secondary color */
    color: white;
    border-color: #6c757d;
}

/* Optional: Add hover effects for better UX */
.btn-group .btn:hover {
    background-color: #5a6268; /* Darken the secondary color on hover */
    border-color: #545b62;
}

/* Headings styling using baseColor system */
h1 {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--main-color);
    /*margin-bottom: 1rem;*/
    /*border-bottom: 0px solid var(--main-color);*/
    /*padding-bottom: 0.5rem;*/
}

.hero h1 {
    color: #fff !important;
border-bottom: 0px solid #fff !important;
}


h2 {
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--darker-color);
    margin-top: 2rem;
    margin-bottom: 0.75rem;
    position: relative;
}

h2::after {
    content: "";
    display: block;
    width: 60px;
    height: 3px;
    background-color: var(--lighter-color);
    margin-top: 0.4rem;
    border-radius: 2px;
}

h3 {
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--darker-color);
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    position: relative;
}

h3::after {
    content: "";
    display: block;
    width: 40px;
    height: 2px;
    background-color: var(--main-color);
    margin-top: 0.3rem;
    border-radius: 2px;
}
