/* Override default Bootstrap font sizes */
html {
    font-size: 0.98rem; /* Slightly larger than previous 0.9rem, smaller than Bootstrap's default 1rem */
}

body {
    font-size: 0.98rem; /* Override body font size */
    display: flex;
    flex-direction: column;
}

html, body {
    height: 100%;
    margin: 0;
}

.content-wrapper {
    flex: 1 0 auto; /* Grow to fill available space, don't shrink */
}
.main-footer {
    flex-shrink: 0; /* Prevent footer from shrinking */
}

footer {
    font-size: 0.98rem; /* Override body font size */
    background-color: #f8f9fa !important;
}

table {
    font-size: 0.9rem; /* Slightly larger than previous 0.9rem, smaller than Bootstrap's default 1rem */
}

p {
    font-size: 0.9rem; /* Slightly larger than previous 0.9rem, smaller than Bootstrap's default 1rem */
}

/* Adjust headings */
h1, .h1 {
    font-size: calc(1.5rem * 0.98); /* Scale from Bootstrap's 2.5rem */
}

h2, .h2 {
    font-size: calc(1.25rem * 0.98); /* Scale from Bootstrap's 2rem */
}

h3, .h3 {
    font-size: calc(1.125rem * 0.98); /* Scale from Bootstrap's 1.75rem */
}

h4, .h4 {
    font-size: calc(1rem * 0.98); /* Scale from Bootstrap's 1.5rem */
}

h5, .h5 {
    font-size: calc(0.875rem * 0.98); /* Scale from Bootstrap's 1.25rem */
}

h6, .h6 {
    font-size: calc(0.75rem * 0.98); /* Scale from Bootstrap's 1rem */
}

small, .small {
    font-size: calc(0.9rem * 0.98); /* Scale from Bootstrap's 1rem */
}

/* Adjust form elements */
.form-control, .form-select, .form-check-label, .form-label {
    font-size: 0.9rem; /* Slightly larger for form elements */
}

/* Adjust buttons */
.btn {
    font-size: 0.9rem; /* Slightly larger button text */
}

.btn-sm {
    font-size: 0.8rem; /* Smaller button text */
}

/* Adjust navigation */
.nav-link, .navbar-brand, .dropdown-item {
    font-size: 0.9rem; /* Slightly larger nav text */
}

/* Adjust card text */
.card-title, .card-text {
    font-size: 0.9rem; /* Slightly larger card text */
}

/* Adjust alerts, badges, and other components */
.alert, .badge, .list-group-item {
    font-size: 0.9rem; /* Slightly larger text for other components */
}

a {
    color: #44a054;
    text-decoration: none;
    transition: color 0.2s, text-decoration 0.2s;
}

a:hover, a:focus {
    color: #357d41; /* Slightly darker green */
    text-decoration: underline;
}

a.dropdown-item, a.nav-link {
    text-decoration: none;
}

a.dropdown-item:focus, a.dropdown-item:active {
    color: #ffffff;
    background-color: #357d41;
}


a.btn {
    text-decoration: none;
}

.btn-primary {
    color: #212529;
    background-color: #44a054;
    border-color: #44a054;
    color: #ffffff;
}

.btn-primary:hover {
    background-color: #357d41;
    border-color: #357d41;
    text-decoration: none;
}

.btn-secondary {
    color: #212529;
    background-color: #e3d665;
    border-color: #e3d665;
}

.btn-secondary:hover {
    color: #212529;
    background-color: #efdc3a;
    border-color: #efdc3a;
    text-decoration: none;
}

.btn-outline-secondary {
    color: #48a3e0;
    border-color: #e3d665;
}

.btn-outline-secondary:hover {
    color: #212529;
    background-color: #efdc3a;
    border-color: #efdc3a;
    text-decoration: none;
}

.btn-secondary:disabled, .btn-secondary.disabled {
    color: #212529;
    background-color: #e3d665;
    border-color: #e3d665;
}
