.oxi-image-square-hover-style-20 .oxi-image-hover-figure{
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
}
.oxi-image-square-hover-style-20 .oxi-image-hover-figure.top_to_bottom .oxi-image-hover-caption-tab {
    display: flex;
    justify-content: flex-start;
    text-align: left;
    overflow: hidden;
}
.oxi-image-square-hover-style-20  .oxi-image-hover-figure.bottom_to_top  .oxi-image-hover-caption-tab {
    display: flex;
    justify-content: flex-end;
    text-align: left;
    overflow: hidden;
}
.oxi-image-square-hover-style-20 .oxi-image-hover-figure .oxi-image-hover-image {
    -webkit-transition: -webkit-transform 0.4s;
    -moz-transition: -moz-transform 0.4s;
    transition: transform 0.4s;
}
.oxi-image-square-hover-style-20 .oxi-image-hover-figure .oxi-image-hover-button{
    position: absolute;
    right: 0;
    width: auto;
    z-index: 1;
}
.oxi-image-square-hover-style-20 .oxi-image-hover-figure.top_to_bottom .oxi-image-hover-button{
    top: 0;
}
.oxi-image-square-hover-style-20 .oxi-image-hover-figure.bottom_to_top .oxi-image-hover-button{
    bottom: 0;
}
.oxi-image-square-hover-style-20 .oxi-image-hover-figure .oxi-image-hover-image{
    z-index: 11;
}

.oxi-image-square-hover-style-20.oxi-image-hover:hover .oxi-image-hover-figure.bottom_to_top .oxi-image-hover-image,
.oxi-image-square-hover-style-20.oxi-image-hover.oxi-touch .oxi-image-hover-figure.bottom_to_top .oxi-image-hover-image{
    -webkit-transform: translateY(-20%) scale(0.5);
    -moz-transform: translateY(-20%) scale(0.5);
    -ms-transform: translateY(-20%) scale(0.5);
    transform: translateY(-20%) scale(0.5);
}
.oxi-image-square-hover-style-20.oxi-image-hover:hover .oxi-image-hover-figure.top_to_bottom .oxi-image-hover-image,
.oxi-image-square-hover-style-20.oxi-image-hover.oxi-touch .oxi-image-hover-figure.top_to_bottom .oxi-image-hover-image{
    -webkit-transform: translateY(20%) scale(0.5);
    -moz-transform: translateY(20%) scale(0.5);
    -ms-transform: translateY(20%) scale(0.5);
    transform: translateY(20%) scale(0.5);
}
.oxi-image-square-hover-style-20 .oxi-image-hover-figure .oxi-image-hover-figure-caption {
    position: absolute;
    opacity: 0;
    z-index:1;
    -webkit-transform: scale(0.7);
    -moz-transform: scale(0.7);
    -ms-transform: scale(0.7);
    transform: scale(0.7);
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: -webkit-transform 0.4s, opacity 0.1s 0.3s;
    -moz-transition: -moz-transform 0.4s, opacity 0.1s 0.3s;
    transition: transform 0.4s, opacity 0.1s 0.3s;
}
.oxi-image-square-hover-style-20.oxi-image-hover:hover .oxi-image-hover-figure .oxi-image-hover-figure-caption,
.oxi-image-square-hover-style-20.oxi-image-hover.oxi-touch .oxi-image-hover-figure .oxi-image-hover-figure-caption{
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    -webkit-transition: -webkit-transform 0.4s, opacity 0.1s;
    -moz-transition: -moz-transform 0.4s, opacity 0.1s;
    transition: transform 0.4s, opacity 0.1s;
}