[class^='oxi-image-lightspeed-'], [class*=' oxi-image-lightspeed-']{
   overflow: hidden;
}

.oxi-image-lightspeed-in-left .oxi-image-hover-figure-caption {
    -webkit-transform: translate(100%, 0);
    -moz-transform: translate(100%, 0);
    -ms-transform: translate(100%, 0);
    -o-transform: translate(100%, 0);
    transform: translate(100%, 0);
    -webkit-transform-origin: 50% 100%;
    -moz-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    -o-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    opacity: 0;
}
.oxi-image-lightspeed-in-left:hover .oxi-image-hover-figure-caption,
.oxi-image-lightspeed-in-left.oxi-touch .oxi-image-hover-figure-caption{
    -webkit-animation: oxi-image-lightspeed-in-left 0.4025s ease-in forwards;
    -moz-animation: oxi-image-lightspeed-in-left 0.4025s ease-in forwards;
    -o-animation: oxi-image-lightspeed-in-left 0.4025s ease-in forwards;
    animation: oxi-image-lightspeed-in-left 0.4025s ease-in forwards;
    opacity: 1;
}
@-webkit-keyframes oxi-image-lightspeed-in-left {
    from {
        -webkit-transform: translate(100%, 0) skewX(-20deg);
        transform: translate(100%, 0) skewX(-20deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(-20deg);
        transform: translate(0, 0) skewX(-20deg);
    }
    75% {
        -webkit-transform: translate(0, 0) skewX(10deg);
        transform: translate(0, 0) skewX(10deg);
    }
    to {
        -webkit-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
}
@-moz-keyframes oxi-image-lightspeed-in-left {
    from {
        -webkit-transform: translate(100%, 0) skewX(-20deg);
        -moz-transform: translate(100%, 0) skewX(-20deg);
        transform: translate(100%, 0) skewX(-20deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(-20deg);
        -moz-transform: translate(0, 0) skewX(-20deg);
        transform: translate(0, 0) skewX(-20deg);
    }
    75% {
        -webkit-transform: translate(0, 0) skewX(10deg);
        -moz-transform: translate(0, 0) skewX(10deg);
        transform: translate(0, 0) skewX(10deg);
    }
    to {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -moz-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
}
@-o-keyframes oxi-image-lightspeed-in-left {
    from {
        -webkit-transform: translate(100%, 0) skewX(-20deg);
        -o-transform: translate(100%, 0) skewX(-20deg);
        transform: translate(100%, 0) skewX(-20deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(-20deg);
        -o-transform: translate(0, 0) skewX(-20deg);
        transform: translate(0, 0) skewX(-20deg);
    }
    75% {
        -webkit-transform: translate(0, 0) skewX(10deg);
        -o-transform: translate(0, 0) skewX(10deg);
        transform: translate(0, 0) skewX(10deg);
    }
    to {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -o-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
}
@keyframes oxi-image-lightspeed-in-left {
    from {
        -webkit-transform: translate(100%, 0) skewX(-20deg);
        -moz-transform: translate(100%, 0) skewX(-20deg);
        -o-transform: translate(100%, 0) skewX(-20deg);
        transform: translate(100%, 0) skewX(-20deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(-20deg);
        -moz-transform: translate(0, 0) skewX(-20deg);
        -o-transform: translate(0, 0) skewX(-20deg);
        transform: translate(0, 0) skewX(-20deg);
    }
    75% {
        -webkit-transform: translate(0, 0) skewX(10deg);
        -moz-transform: translate(0, 0) skewX(10deg);
        -o-transform: translate(0, 0) skewX(10deg);
        transform: translate(0, 0) skewX(10deg);
    }
    to {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -moz-transform: translate(0, 0) skewX(0deg);
        -o-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
} .oxi-image-lightspeed-in-right .oxi-image-hover-figure-caption {
    -webkit-transform: translate(-100%, 0);
    -moz-transform: translate(-100%, 0);
    -ms-transform: translate(-100%, 0);
    -o-transform: translate(-100%, 0);
    transform: translate(-100%, 0);
    -webkit-transform-origin: 50% 100%;
    -moz-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    -o-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    opacity: 0;
}
.oxi-image-lightspeed-in-right:hover .oxi-image-hover-figure-caption,
.oxi-image-lightspeed-in-right.oxi-touch .oxi-image-hover-figure-caption {
    -webkit-animation: oxi-image-lightspeed-in-right 0.4025s ease-in forwards;
    -moz-animation: oxi-image-lightspeed-in-right 0.4025s ease-in forwards;
    -o-animation: oxi-image-lightspeed-in-right 0.4025s ease-in forwards;
    animation: oxi-image-lightspeed-in-right 0.4025s ease-in forwards;
    opacity: 1;
}
@-webkit-keyframes oxi-image-lightspeed-in-right {
    from {
        -webkit-transform: translate(-100%, 0) skewX(20deg);
        transform: translate(-100%, 0) skewX(20deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(20deg);
        transform: translate(0, 0) skewX(20deg);
    }
    75% {
        -webkit-transform: translate(0, 0) skewX(-10deg);
        transform: translate(0, 0) skewX(-10deg);
    }
    to {
        -webkit-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
}
@-moz-keyframes oxi-image-lightspeed-in-right {
    from {
        -webkit-transform: translate(-100%, 0) skewX(20deg);
        -moz-transform: translate(-100%, 0) skewX(20deg);
        transform: translate(-100%, 0) skewX(20deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(20deg);
        -moz-transform: translate(0, 0) skewX(20deg);
        transform: translate(0, 0) skewX(20deg);
    }
    75% {
        -webkit-transform: translate(0, 0) skewX(-10deg);
        -moz-transform: translate(0, 0) skewX(-10deg);
        transform: translate(0, 0) skewX(-10deg);
    }
    to {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -moz-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
}
@-o-keyframes oxi-image-lightspeed-in-right {
    from {
        -webkit-transform: translate(-100%, 0) skewX(20deg);
        -o-transform: translate(-100%, 0) skewX(20deg);
        transform: translate(-100%, 0) skewX(20deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(20deg);
        -o-transform: translate(0, 0) skewX(20deg);
        transform: translate(0, 0) skewX(20deg);
    }
    75% {
        -webkit-transform: translate(0, 0) skewX(-10deg);
        -o-transform: translate(0, 0) skewX(-10deg);
        transform: translate(0, 0) skewX(-10deg);
    }
    to {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -o-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
}
@keyframes oxi-image-lightspeed-in-right {
    from {
        -webkit-transform: translate(-100%, 0) skewX(20deg);
        -moz-transform: translate(-100%, 0) skewX(20deg);
        -o-transform: translate(-100%, 0) skewX(20deg);
        transform: translate(-100%, 0) skewX(20deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(20deg);
        -moz-transform: translate(0, 0) skewX(20deg);
        -o-transform: translate(0, 0) skewX(20deg);
        transform: translate(0, 0) skewX(20deg);
    }
    75% {
        -webkit-transform: translate(0, 0) skewX(-10deg);
        -moz-transform: translate(0, 0) skewX(-10deg);
        -o-transform: translate(0, 0) skewX(-10deg);
        transform: translate(0, 0) skewX(-10deg);
    }
    to {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -moz-transform: translate(0, 0) skewX(0deg);
        -o-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
} .oxi-image-lightspeed-out-left .oxi-image-hover-image {
    z-index: 2;
}
.oxi-image-lightspeed-out-left .oxi-image-hover-figure-caption {
    z-index: 1;
    opacity: 1;
}
.oxi-image-lightspeed-out-left:hover  .oxi-image-hover-image,
.oxi-image-lightspeed-out-left.oxi-touch  .oxi-image-hover-image {
    -webkit-animation: oxi-image-lightspeed-out-left 0.4025s ease-in forwards;
    -moz-animation: oxi-image-lightspeed-out-left 0.4025s ease-in forwards;
    -o-animation: oxi-image-lightspeed-out-left 0.4025s ease-in forwards;
    animation: oxi-image-lightspeed-out-left 0.4025s ease-in forwards;
    -webkit-transform-origin: 50% 100%;
    -moz-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    -o-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    opacity: 1;
}
@-webkit-keyframes oxi-image-lightspeed-out-left {
    from {
        -webkit-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
    25% {
        -webkit-transform: translate(10%, 0) skewX(0deg);
        transform: translate(10%, 0) skewX(0deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(-20deg);
        transform: translate(0, 0) skewX(-20deg);
    }
    to {
        -webkit-transform: translate(-150%, 0) skewX(-20deg);
        transform: translate(-150%, 0) skewX(-20deg);
    }
}
@-moz-keyframes oxi-image-lightspeed-out-left {
    from {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -moz-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
    25% {
        -webkit-transform: translate(10%, 0) skewX(0deg);
        -moz-transform: translate(10%, 0) skewX(0deg);
        transform: translate(10%, 0) skewX(0deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(-20deg);
        -moz-transform: translate(0, 0) skewX(-20deg);
        transform: translate(0, 0) skewX(-20deg);
    }
    to {
        -webkit-transform: translate(-150%, 0) skewX(-20deg);
        -moz-transform: translate(-150%, 0) skewX(-20deg);
        transform: translate(-150%, 0) skewX(-20deg);
    }
}
@-o-keyframes oxi-image-lightspeed-out-left {
    from {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -o-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
    25% {
        -webkit-transform: translate(10%, 0) skewX(0deg);
        -o-transform: translate(10%, 0) skewX(0deg);
        transform: translate(10%, 0) skewX(0deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(-20deg);
        -o-transform: translate(0, 0) skewX(-20deg);
        transform: translate(0, 0) skewX(-20deg);
    }
    to {
        -webkit-transform: translate(-150%, 0) skewX(-20deg);
        -o-transform: translate(-150%, 0) skewX(-20deg);
        transform: translate(-150%, 0) skewX(-20deg);
    }
}
@keyframes oxi-image-lightspeed-out-left {
    from {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -moz-transform: translate(0, 0) skewX(0deg);
        -o-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
    25% {
        -webkit-transform: translate(10%, 0) skewX(0deg);
        -moz-transform: translate(10%, 0) skewX(0deg);
        -o-transform: translate(10%, 0) skewX(0deg);
        transform: translate(10%, 0) skewX(0deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(-20deg);
        -moz-transform: translate(0, 0) skewX(-20deg);
        -o-transform: translate(0, 0) skewX(-20deg);
        transform: translate(0, 0) skewX(-20deg);
    }
    to {
        -webkit-transform: translate(-150%, 0) skewX(-20deg);
        -moz-transform: translate(-150%, 0) skewX(-20deg);
        -o-transform: translate(-150%, 0) skewX(-20deg);
        transform: translate(-150%, 0) skewX(-20deg);
    }
} .oxi-image-lightspeed-out-right .oxi-image-hover-image {
    z-index: 2;
}
.oxi-image-lightspeed-out-right .oxi-image-hover-figure-caption {
    z-index: 1;
    opacity: 1;
}
.oxi-image-lightspeed-out-right:hover  .oxi-image-hover-image,
.oxi-image-lightspeed-out-right.oxi-touch  .oxi-image-hover-image {
    -webkit-animation: oxi-image-lightspeed-out-right 0.4025s ease-in forwards;
    -moz-animation: oxi-image-lightspeed-out-right 0.4025s ease-in forwards;
    -o-animation: oxi-image-lightspeed-out-right 0.4025s ease-in forwards;
    animation: oxi-image-lightspeed-out-right 0.4025s ease-in forwards;
    -webkit-transform-origin: 50% 100%;
    -moz-transform-origin: 50% 100%;
    -ms-transform-origin: 50% 100%;
    -o-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    opacity: 1;
}
@-webkit-keyframes oxi-image-lightspeed-out-right {
    from {
        -webkit-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
    25% {
        -webkit-transform: translate(10%, 0) skewX(0deg);
        transform: translate(10%, 0) skewX(0deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(-20deg);
        transform: translate(0, 0) skewX(-20deg);
    }
    to {
        -webkit-transform: translate(-150%, 0) skewX(-20deg);
        transform: translate(-150%, 0) skewX(-20deg);
    }
}
@-moz-keyframes oxi-image-lightspeed-out-right {
    from {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -moz-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
    25% {
        -webkit-transform: translate(-10%, 0) skewX(0deg);
        -moz-transform: translate(-10%, 0) skewX(0deg);
        transform: translate(-10%, 0) skewX(0deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(20deg);
        -moz-transform: translate(0, 0) skewX(20deg);
        transform: translate(0, 0) skewX(20deg);
    }
    to {
        -webkit-transform: translate(150%, 0) skewX(20deg);
        -moz-transform: translate(150%, 0) skewX(20deg);
        transform: translate(150%, 0) skewX(20deg);
    }
}
@-o-keyframes oxi-image-lightspeed-out-right {
    from {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -o-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
    25% {
        -webkit-transform: translate(-10%, 0) skewX(0deg);
        -o-transform: translate(-10%, 0) skewX(0deg);
        transform: translate(-10%, 0) skewX(0deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(20deg);
        -o-transform: translate(0, 0) skewX(20deg);
        transform: translate(0, 0) skewX(20deg);
    }
    to {
        -webkit-transform: translate(150%, 0) skewX(20deg);
        -o-transform: translate(150%, 0) skewX(20deg);
        transform: translate(150%, 0) skewX(20deg);
    }
}
@keyframes oxi-image-lightspeed-out-right {
    from {
        -webkit-transform: translate(0, 0) skewX(0deg);
        -moz-transform: translate(0, 0) skewX(0deg);
        -o-transform: translate(0, 0) skewX(0deg);
        transform: translate(0, 0) skewX(0deg);
    }
    25% {
        -webkit-transform: translate(-10%, 0) skewX(0deg);
        -moz-transform: translate(-10%, 0) skewX(0deg);
        -o-transform: translate(-10%, 0) skewX(0deg);
        transform: translate(-10%, 0) skewX(0deg);
    }
    50% {
        -webkit-transform: translate(0, 0) skewX(20deg);
        -moz-transform: translate(0, 0) skewX(20deg);
        -o-transform: translate(0, 0) skewX(20deg);
        transform: translate(0, 0) skewX(20deg);
    }
    to {
        -webkit-transform: translate(150%, 0) skewX(20deg);
        -moz-transform: translate(150%, 0) skewX(20deg);
        -o-transform: translate(150%, 0) skewX(20deg);
        transform: translate(150%, 0) skewX(20deg);
    }
}

