body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.main-content, .contact-hero, .services-hero {
    flex-grow: 1;
    background-size: cover;
    background-position: center;
    color: white;
    padding: 50px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Page-specific background images */
.main-content {
    background-image: url('../img/bg-01.webp');
}

.contact-hero {
    background-image: url('../img/contact-bg.webp');
}

.services-hero {
    background-image: url('../img/services-bg.webp');
}
/* Wrapper for hero content to provide contrast */
.hero-content-wrapper {
    background-color: rgba(0, 0, 0, 0.6);
    padding: 2rem;
    border-radius: 1rem;
    display: inline-block;
    max-width: 90%;
    transition: background-color 0.3s ease;
}

/* Light Mode adjustment for hero wrapper */
html[data-bs-theme="light"] .hero-content-wrapper {
    background-color: rgba(255, 255, 255, 0.7);
    color: #212529;
}

/* Ensure headings in hero wrapper respect theme in light mode */
html[data-bs-theme="light"] .hero-content-wrapper h1,
html[data-bs-theme="light"] .hero-content-wrapper h2,
html[data-bs-theme="light"] .hero-content-wrapper p {
    color: #212529 !important;
}

/* text-shadow: 2px 2px 2px rgba(0, 0, 0, 1), 0 0 8px rgb(0 0 0); */
.navbar-brand img {
    height: 50px;
}
footer {
    background-color: var(--bs-tertiary-bg);
    color: var(--bs-tertiary-color);
    padding: 20px 0;
    text-align: center;
}
.navbar {
    background-color: var(--bs-tertiary-bg);
}

/* Mobile-first baseline for navigation links */
.navbar-nav .nav-item {
    text-align: center;
}
.navbar-nav .nav-link {
    font-size: 1.25rem;
    padding: 10px 0;
}

/* Desktop adjustments for navigation links */
@media (min-width: 992px) {
    .navbar-nav .nav-item {
        text-align: left;
    }
    .navbar-nav .nav-link {
        font-size: 1rem;
        padding: 0.5rem 1rem;
    }
}

/* Adjust size of list icons */
.list-unstyled .bi {
    font-size: 1.25em;
}

/* Force light text color for marketing content in dark mode */
html[data-bs-theme="dark"] .text-body-dark-mode {
    color: white !important;
}

/* Green icons for "why we stand out" list items in dark mode */
html[data-bs-theme="dark"] .list-unstyled li i.bi {
    color: #28a745 !important;
}

[data-bs-theme="light"] .btn-outline-light {
    --bs-btn-border-color: #0d6efd;
    --bs-btn-color: #000000;
}
