.img-hover-zoom {
    height: 100%;
    overflow: hidden;
    border-radius: .5em;
    border: 5px solid rgba(255, 255, 255, .05);
}

.img-hover-zoom--empty {
    background-color: rgba(255, 255, 255, .1);
    border-width: 0;
}

.img-hover-zoom:not(.img-hover-zoom--empty):hover {
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, .3));
}

.img-hover-zoom-title {
    text-align: center;
}

.img-hover-zoom--basic img {
    transition: transform .5s ease;
}

.img-hover-zoom--basic:hover img {
    transform: scale(1.2);
}

.img-hover-zoom--quick-zoom img {
    transform-origin: 0 0;
    transition: transform .25s, visibility .25s ease-in;
}

.img-hover-zoom--quick-zoom:hover img {
    transform: scale(2);
}

.img-hover-zoom--point-zoom img {
    transform-origin: 65% 75%;
    transition: transform 1s, filter .5s ease-out;
}

.img-hover-zoom--point-zoom:hover img {
    transform: scale(5);
}

.img-hover-zoom--zoom-n-rotate img {
    transition: transform .5s ease-in-out;
}

.img-hover-zoom--zoom-n-rotate:hover img {
    transform: scale(2) rotate(25deg);
}

.img-hover-zoom--slowmo img {
    transform-origin: 50% 65%;
    transition: transform 5s, filter 3s ease-in-out;
    filter: brightness(150%);
}

.img-hover-zoom--slowmo:hover img {
    filter: brightness(100%);
    transform: scale(3);
}

.img-hover-zoom--brightness img {
    transition: transform 2s, filter 1.5s ease-in-out;
    transform-origin: center center;
    filter: brightness(50%);
}

.img-hover-zoom--brightness:hover img {
    filter: brightness(100%);
    transform: scale(1.3);
}

.img-hover-zoom--zoom-n-pan-h img {
    transition: transform .5s ease-in-out;
    transform: scale(1.4);
    transform-origin: 100% 0;
}

.img-hover-zoom--zoom-n-pan-h:hover img {
    transform: scale(1.5) translateX(30%);
}

.img-hover-zoom--zoom-n-pan-v img {
    transition: transform .5s ease-in-out;
    transform: scale(1.4);
    transform-origin: 0 0;
}

.img-hover-zoom--zoom-n-pan-v:hover img {
    transform: scale(1.25) translateY(-30%);
}

.img-hover-zoom--blur img {
    transition: transform 1s, filter 2s ease-in-out;
    filter: blur(2px);
    transform: scale(1.2);
}

.img-hover-zoom--blur:hover img {
    filter: blur(0);
    transform: scale(1);
}

.img-hover-zoom--colorize img {
    transition: transform .5s, filter 1.5s ease-in-out;
    filter: grayscale(100%);
}

.img-hover-zoom--colorize:hover img {
    filter: grayscale(0);
    transform: scale(1.1);
}