 .oxi-addons-container [class^='oxi-image-lightspeed-'],
 .oxi-addons-container [class*=' oxi-image-lightspeed-'] {
     overflow: hidden;
 }

 .oxi-addons-container .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-addons-container .oxi-image-lightspeed-in-left:hover .oxi-image-hover-figure-caption,
 .oxi-addons-container .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-addons-container .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-addons-container .oxi-image-lightspeed-in-right:hover .oxi-image-hover-figure-caption,
 .oxi-addons-container .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-addons-container .oxi-image-lightspeed-out-left .oxi-image-hover-image {
     z-index: 2;
 }

 .oxi-addons-container .oxi-image-lightspeed-out-left .oxi-image-hover-figure-caption {
     z-index: 1;
     opacity: 1;
 }

 .oxi-addons-container .oxi-image-lightspeed-out-left:hover .oxi-image-hover-image,
 .oxi-addons-container .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-addons-container .oxi-image-lightspeed-out-right .oxi-image-hover-image {
     z-index: 2;
 }

 .oxi-addons-container .oxi-image-lightspeed-out-right .oxi-image-hover-figure-caption {
     z-index: 1;
     opacity: 1;
 }

 .oxi-addons-container .oxi-image-lightspeed-out-right:hover .oxi-image-hover-image,
 .oxi-addons-container .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);
     }
 }