.vscrollcontainer {
    position: relative;
    --gutter-y: 1rem;
    --gutter-x: 1rem;    
    max-height: 50vh;
    overflow: hidden;
    padding: 0;   
    container-type: inline-size;
    container-name: vscrollcontainer;    
}

.vscrollcontainerx:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 75%, rgba(255,255,255,1) 100%), 
                linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 25%, rgba(255,255,255,0) 75%, rgba(255,255,255,1) 100%);
}

.vscrollgallery {
    position: relative;
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-direction: column;
}

.vscrollitem {
    position: relative;
    padding: var(--gutter-y) var(--gutter-x); 
}

.vscrollitem img {
    filter: grayscale(10%);
}
.vscrollitem:hover img {
    filter: none;
}


.vscrollcontainer.rotate .vscrollitem {
    --gutter: 2rem;  
    transform: rotate(-2deg);
    padding-right: var(--gutter-x);
}
.vscrollcontainer.rotate .vscrollitem:nth-child(2n+1) {
    transform: rotate(2deg);
    padding-left: var(--gutter-x);
}
.vscrollcontainer.rotate img {
    filter: drop-shadow(5px 5px 5px rgba(0,0,0,0.66));
}

@container vscrollcontainer (max-width: 300px) {
    .vscrollgallery:not(:first-child) {    
        padding-left: 0.75rem;
    }
}
@container vscrollcontainer (min-width: 301px) {
    .vscrollgallery:not(:first-child) {    
        padding-left: 1.5rem;
    }
}