.banner-section {
    width: 100dvw;
    margin-left: calc(50% - 50dvw);
    background-color: #6A31F7;
    overflow: hidden;
}

.banner-section__holder {
    display: grid;
    justify-items: center;
    justify-content: center;
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
}

.banner-section__item {
    max-height: 285px;
    overflow: hidden;
}

.banner-section__item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.banner--wide {
    aspect-ratio: 16 / 9;
}

.banner--square {
    aspect-ratio: 1 / 1;
}

@media only screen and (max-width: 1023px) {
    .banner-section__holder {
        grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
    }
}

@media only screen and (max-width: 679px) {
    .banner-section__holder {
        grid-template-columns: unset;
        grid-template-rows: repeat(2, 1fr);
    }

    .banner-section.middle .banner-section__holder {
        grid-template-columns: repeat(2, 1fr);
    }
}