html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

.btn:focus, .btn:active:focus, .btn.active:focus,
.form-control:focus, .form-control:active:focus, .form-control.active:focus,
.form-select:focus, .form-select:active:focus, .form-select.active:focus {
    box-shadow: none;
}

html {
    position: relative;
    min-height: 100%;
}

body {
    margin-bottom: 60px; /* Margin bottom by footer height */
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    white-space: nowrap;
    line-height: 60px; /* Vertically center the text there */
}

/* --- Theme Styles --- */

.navbar-logo {
    height: 30px; /* Adjust height as needed */
}

/* Match primary buttons to the professional look of the logo */
.btn-primary {
    background-color: #343a40; /* Dark grey */
    border-color: #343a40;
}

    .btn-primary:hover {
        background-color: #23272b; /* Darker grey on hover */
        border-color: #1d2124;
    }

    .btn-primary:focus, .btn-primary.focus {
        box-shadow: 0 0 0 0.25rem rgba(82, 88, 93, 0.5);
    }

.card-title {
    color: #343a40;
}

.nav-link.text-dark:hover, .nav-link.text-dark:focus {
    color: #000 !important;
}
