body {
    background-image: url('/images/kamasaigen1.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    background-attachment: fixed;
}
/* 1. Container that hides the overflow and sets the stage */
.mod-banners {
    overflow: hidden;
    position: relative;
    width: 100%;
    padding: 20px 0;
    background: transparent; /* Optional: slight background tint */
}

/* 2. The track holding the items - this is what actually moves */
.mod-banners__items {
    display: flex;
    width: max-content;
    gap: 60px; /* Space between logos */
    align-items: center;
    animation: scrollSponsors 25s linear infinite;
}

/* 3. Pause the scrolling when someone hovers over a logo */
.mod-banners__items:hover {
    animation-play-state: paused;
}

/* 4. Uniform logo styling */
.mod-banners__item img {
    max-height: 55px; /* Keeps all logos a consistent height */
    width: auto;
    display: block;
    filter: grayscale(100%);
    opacity: 0.7;
    transition: all 0.3s ease;
}

.mod-banners__item img:hover {
    filter: grayscale(0%);
    opacity: 1;
}

/* 5. The Animation Loop */
@keyframes scrollSponsors {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}
/* Force the entire module wrapper and its layout position to be transparent */
.mod-banners,
.mod-banners_container,
div[class*="mod-banners"],
.card.mod-banners,
[class*="position-"] .mod-banners {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
}