:root {
    --main-color: #9c1006;
    --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-primary {
    background-color: var(--main-color) !important;
    border-color: var(--main-color) !important;
    color: #fff !important;
    box-shadow: 0 6px 14px hsl(from var(--main-color) h s calc(l - 20) / 0.16);
}


.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.show,
:not(.btn-check)+.btn-primary:active {
    background-color: var(--darker-color) !important;
    border-color: var(--darker-color) !important;
    color: #fff !important;
    box-shadow: 0 7px 16px hsl(from var(--main-color) h s calc(l - 26) / 0.2);
}

.btn-outline-primary {
    color: var(--main-color) !important;
    border-color: var(--main-color) !important;
    background-color: hsl(from var(--main-color) h s calc(l + 34) / 0.2) !important;
    box-shadow: inset 0 0 0 1px hsl(from var(--main-color) h s calc(l - 6) / 0.1);
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    color: var(--main-color) !important;
    border-color: var(--main-color) !important;
    background-color: hsl(from var(--main-color) h s calc(l + 22) / 0.3) !important;
    box-shadow: inset 0 0 0 1px hsl(from var(--main-color) h s calc(l - 10) / 0.18);
}

.btn-outline-primary:active,
:not(.btn-check)+.btn-outline-primary:active {
    color: var(--main-color) !important;
    border-color: var(--main-color) !important;
    background-color: hsl(from var(--main-color) h s calc(l + 14) / 0.36) !important;
    box-shadow: inset 0 0 0 1px hsl(from var(--main-color) h s calc(l - 14) / 0.24);
}

.text-bg-primary {
    background-color: var(--main-color) !important;
    color: #fff !important;
}

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

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

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

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

h1 a {
    text-decoration: solid;
}

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

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

/* 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;
}
