html, body {
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    /* justify-content: center; */
    /* align-items: center; */
    flex-direction: column; 
}

.gallery-wrapper {
    display: flex;
    align-items: center;      /* vertical center inside wrapper */
    justify-content: flex-start;
    overflow: hidden;
    width: 100vw;
    height: 100vh;
    position: relative;
}

/* rest as before */
.gallery {
    display: flex;
    flex-direction: row;
    will-change: transform;
    cursor: pointer;
    align-items: center;
    height: 60vh;
}

.gallery-item {
    flex: 0 0 auto;
    width: 45vh;
    height: 60vh;
    margin: 0;
    overflow: hidden;
    position: relative;
}

.gallery-item > a {
    display: block;
    width: 100%;
    height: 100%;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: none;
}

.gallery:hover>div>a>img {
    filter: grayscale(100%);
}

.gallery>div>a>img:hover {
    filter: grayscale(0%);
}