.hero-section {
    position: relative;
    height: 56.25vw; /* Maintaining 16:9 aspect ratio */
}
.hero-media-wrapper, .hero-content {
    position: absolute;
}

.hero-media-wrapper img {
    z-index: 0;
    object-fit: cover; /* Ensures the image covers the entire container without stretching */
    width: 100vw; /* Set to 100% of the viewport width */
    max-width: 100%; /* Ensures no horizontal scrollbars */
    height: 100%; /* Maintaining 16:9 aspect ratio */
    filter: brightness(50%) blur(3px); /* The brightness value of 60% darkens the image (100% is original brightness), and the blur value of 3px adds a slight blur */
}

.hero-content {
    display: flex;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    z-index: 10; /* This ensures it's above the hero media */
    flex-direction: column;
    justify-content:flex-end; /* Center the content bottom */
    align-items: center;   /* Center the content horizontally */
}

.testimonials-carousel {
    display: none;
}

.hero-content h1 {
    font-family: var(--site-brand-font);
    color: var(--md-sys-color-outline-variant);
}

.hero-content h2, .hero-content p {
    padding: 5px;
    color: var(--md-ref-palette-primary100);
}

.hero-content p, .hero-content h2  {
    font-family: var(--site-highlight-font);
}

.welcome-message {
    display: none;
}

/* Media query for larger screens */
@media screen and (min-width: 480px) {
    .hero-content h1 {
        font-size: var(--md-sys-typescale-headline-large-font-size);
    }
    .hero-content p {
        font-size: var(--md-sys-typescale-headline-small-font-size);
    }
}

@media screen and (min-width: 778px) {
    .carousel-control-prev, .carousel-control-next {
        display: none !important;
    }
    .testimonials-carousel {
        display: block;
        margin-top: 80px;
    }
    .testimonials-carousel img {
        width: 100%;
    }
    .testimonials-carousel .card {
        margin: 10px;
        width: 180px;
        justify-items: center;
    }
    /* Base carousel fade styles */
    .carousel-fade .carousel-item {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1;  /* Place below the active item */
        pointer-events: none; /* Prevent any interactions with hidden items */
    }

    /* Override for the active item */
    .carousel-fade .carousel-item.active {
        position: relative;
        z-index: 2; /* Place above the other items */
        pointer-events: auto; /* Allow interactions */
    }

    .hero-content {
        justify-content: center; /* Center the content bottom */
    }
    .hero-content p {
        font-size: var(--md-sys-typescale-headline-medium-font-size);
    }
}

@media screen and (min-width: 1024px) {
    .testimonials-carousel {
        display: block;
        margin-top: 60px;
    }
    .testimonials-carousel .card {
        width: 220px;
    }
    .welcome-message {
        display: block;
    }
}

@media screen and (min-width: 1200px) {
    .testimonials-carousel .card {
        width: 260px;
    }
}

@media screen and (min-width: 1440px) {
    .testimonials-carousel .card {
        width: 320px;
    }
}

@media screen and (min-width: 1920px) {
    .testimonials-carousel .card {
        width: 380px;
    }
}

