            .gallery {
                --gallery_width: 100%;
                --gallery_height: 100%;
                width: 100%;
                height: 100%;
                height: var(--gallery_height);
                max-width: var(--gallery_width);
                max-height: var(--gallery_height);
                min-height: 200px;
                perspective: 1000px;
                perspective-origin: 50%
            }
            
            .gallery__background,
            .gallery__background--image,
            .gallery__image,
            .gallery__item {
                z-index: 1;
                position: absolute;
                left: 0;
                right: 0;
                top: 0;
                bottom: 0;
                width: 100%;
                height: 100%
            }
            
            .gallery__item--hidden {
                opacity: 0
            }
            
            .gallery__image--lazy {
                width: 20vw;
                max-width: 100px;
                height: auto;
                left: 50%;
                top: 50%;
                transform: translate(-50%, -50%)
            }
            
            .gallery__background {
                z-index: 0
            }
            
            .gallery__background--image {
                z-index: -1;
                filter: blur(5px) grayscale(1);
                opacity: .5
            }
            
            .gallery__nav {
                position: absolute;
                top: 50%;
                z-index: 10;
                /*background-color: rgba(0, 0, 0, .5);
                border: 2px solid #fff;*/
                color: #fff;
                transform: translateY(-50%) scale(1);
                transition: transform .2s ease-in-out;
                -webkit-tap-highlight-color: rgb(0, 0, 0, 0)
            }
            /*.gallery__nav,
            .gallery__nav:hover {
                box-shadow: 0 0 20px 2px rgba(0, 0, 0, .3)
            }*/
            
            .gallery__nav:hover {
                transform: translateY(-50%) scale(1.2);
                transition: transform .3s ease-in-out
            }
            
            .gallery__nav:active {
                box-shadow: 0 0 20px 0 rgba(0, 0, 0, .3);
                transform: translateY(-50%) scale(1.1);
                transition: transform .1s ease-in-out
            }
            
            .gallery__nav--left {
                left: .5rem
            }
            
            .gallery__nav--right {
                right: .5rem
            }
            
            .gallery__anim-right-in {
                animation-name: anim-right-in;
                animation-timing-function: ease-in;
                animation-delay: .3s;
                animation-fill-mode: both;
                animation-duration: .3s
            }
            
            .gallery__anim-right-in,
            .gallery__anim-right-out {
                transform-origin: center center;
                backface-visibility: hidden;
                opacity: 1
            }
            
            .gallery__anim-right-out {
                animation-name: anin-right-out;
                animation-timing-function: ease-in;
                animation-delay: 0s;
                animation-fill-mode: both;
                animation-duration: .3s
            }
            
            .gallery__anim-left-in {
                animation-name: anim-left-in;
                animation-timing-function: ease-in;
                animation-delay: .3s;
                animation-fill-mode: both;
                animation-duration: .3s
            }
            
            .gallery__anim-left-in,
            .gallery__anim-left-out {
                transform-origin: center center;
                backface-visibility: hidden;
                opacity: 1
            }
            
            .gallery__anim-left-out {
                animation-name: anim-left-out;
                animation-timing-function: ease-in;
                animation-delay: 0s;
                animation-fill-mode: both;
                animation-duration: .3s
            }