:root {
    --gd-dark-blue: #003a78;
    --gd-light-blue: #1face5;
    --gd-mid-grey: #6e6e6e;
    --gd-dark-grey: #111111;
}

.vh-90 {
    height: 90vh !important;
}

.vh-75 {
    height: 75vh !important;
}

/*Sitewide scrollbar CSS*/
/* Firefox */
* {
    scrollbar-width: auto;
    scrollbar-color: #555555 #eeeeee;
}

    /* Chrome, Edge, and Safari */
    *::-webkit-scrollbar {
        width: 8px;
    }

    *::-webkit-scrollbar-track {
        background: #eeeeee;
    }

    *::-webkit-scrollbar-thumb {
        background-color: #555555;
        border-radius: 4px;
        border: 3px solid #ffffff;
    }


html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

#topNav a, .offcanvas a {
    color: var(--gd-dark-grey);
    text-decoration: none;
    display: inline-block;
}

    #topNav a:hover {
        color: var(--gd-light-blue);
    }

.offcanvas a {
    color: var(--gd-light-blue);
    padding: 0 1em 0.5em 1em;
    border-bottom: 3px solid transparent;
    transition: ease 0.5s;
}

    .offcanvas a:hover {
        border-bottom-color: var(--gd-dark-grey);
        color: var(--gd-dark-grey);
    }

#homeLink svg {
    transition: color 0.5s ease;
    transition-property: color;
    color: white;
}

.offcanvas ~ #topNavWrapper #homeLink svg, #topNav a {
    color: white;
    color: var(--gd-dark-blue) !important;
}

#homeLink.homeLinkWhite svg {
    /*color: white !important;*/
}

.offcanvas.show ~ #topNavWrapper #homeLink svg, .offcanvas.show ~ #topNavWrapper a {
    /*color: var(--gd-dark-blue) !important;*/
}

#homeLink.homeLinkBlue svg {
    color: var(--gd-dark-blue) !important;
}

#topNavWrapper {
    transition: background-color 0.5s ease;
    background-color: white;
    border-bottom: 1px solid rgba(0, 0, 0, 0.15);
    z-index: 1500;
}

#topNav a {
    transition: color 0.5s ease, border 0.5s ease;
    border-bottom: 2px solid transparent;
}

.offcanvas.show ~ #topNavWrapper {
    background-color: transparent !important;
    background-color: white !important;
}

#ocOne.show ~ #topNavWrapper #topNav a[data-bs-target="#ocOne"] {
    border-bottom-color: var(--gd-dark-blue);
}

#ocTwo.show ~ #topNavWrapper #topNav a[data-bs-target="#ocTwo"] {
    border-bottom-color: var(--gd-dark-blue);
}


.popover {
    box-shadow: rgba(0,0,0,0.5) 0px 0.5rem 1rem;
    background-color: rgba(255,255,255,0.85);
    backdrop-filter: blur(0.25rem);
}

.popover-arrow::before, .popover-arrow::after {
    border-top-color: rgba(255,255,255,0.75) !important;
}

.popover-header {
    background-color: rgba(220,220,220,0.5) !important;
}


.sitemap {
}

    .sitemap, .sitemap h4 {
        font-size: 0.9rem;
    }

        .sitemap h4 {
            font-weight: bold;
        }

        .sitemap ul {
            list-style: none;
            margin: 0;
            padding: 0;
        }

        .sitemap a {
            text-decoration: none;
        }

.header-title {
    z-index: 1010;
    top: 10rem;
    border-radius: 8px;
    backdrop-filter: blur(0.25rem);
}

.info-stats h4, .info-stats h5 {
    text-shadow: 2px 2px 2px rgba(0,0,0,0.85);
}

.link-hover {
    text-decoration: none;
}

.link-hover:hover {
    text-decoration: underline;
}

.catlist div div div {
    width: 200px;
}

.catlist div div div img {
    width: 150px;
    height: 150px;
    object-fit: contain;
}



.ani {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 1.75s ease, transform 1.75s ease;
    transition-delay: 0.33s;
}

    .ani:nth-last-of-type(1) {
        opacity: 1 !important;
        transform: translateY(0) !important;
    }

    .ani .subani {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 1.75s ease, transform 1.75s ease;
    }

        .ani .subani:nth-of-type(1) {
            transition-delay: 0s;
        }

        .ani .subani:nth-of-type(2) {
            transition-delay: 0.75s;
        }

        .ani .subani:nth-of-type(3) {
            transition-delay: 1.5s;
        }

        .ani .subani:nth-of-type(4) {
            transition-delay: 2.25s;
        }

.ani-show .subani {
    opacity: 1 !important;
    transform: none !important;
}

.ani-show {
    opacity: 1 !important;
    transform: none !important;
}

.px-10 {
    padding-left: 15rem !important;
    padding-right: 15rem !important;
}

.breakheight {
    height: 30px !important;
}


.fblk {
    text-align: center;
    width: 142px;
    height: 220px;
    margin: 20px 40px 20px 0;
    float: left;
}

.shallow-hero {
    height: auto !important;
}

.shallow-hero > div:first-child {
    height: 33vh;
}

.tooltip { z-index: 2000 !important; }