.oxi-addons-container .oxi-image-hover-style-caption {
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.oxi-addons-container .oxi-image-hover-style-caption:after {
    padding-bottom: 100%;
    content: "";
    display: block;
}

.oxi-addons-container .oxi-image-hover-style-caption .oxi-image-hover {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.oxi-addons-container .oxi-image-caption-hover {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: transparent;
    color: #fff;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transform: translateZ(0);
    -moz-transform: translateZ(0);
    transform: translateZ(0);
}

.oxi-addons-container .oxi-image-caption-hover:hover,
.oxi-addons-container .oxi-image-caption-hover.oxi-touch {
    z-index: 5;
}

.oxi-addons-container .oxi-image-caption-hover,
.oxi-addons-container .oxi-image-caption-hover:before,
.oxi-addons-container .oxi-image-caption-hover:after,
.oxi-addons-container .oxi-image-caption-hover *,
.oxi-addons-container .oxi-image-caption-hover *:before,
.oxi-addons-container .oxi-image-caption-hover *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all 0.35s ease;
    -o-transition: all 0.35s ease;
    -moz-transition: all 0.35s ease;
    transition: all 0.35s ease;
}

.oxi-addons-container .oxi-image-caption-hover .oxi-image-hover-figure {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.oxi-addons-container .oxi-image-caption-hover .oxi-image-hover-image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    z-index: 1;
}

.oxi-addons-container .oxi-image-caption-hover .oxi-image-hover-image img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.oxi-addons-container .oxi-image-caption-hover .oxi-image-hover-figure-caption {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    color: #ffffff;
}

.oxi-addons-container .oxi-image-caption-hover .oxi-image-hover-caption-tab  {
    background: transparent;
}

.oxi-addons-container .oxi-image-hover-caption-tab {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 15px;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.oxi-addons-container [class^='oxi-image-caption-']:before,
.oxi-addons-container [class*='oxi-image-caption-']:before,
.oxi-addons-container [class*='oxi-image-caption-']:after,
.oxi-addons-container [class*='oxi-image-caption-']:after {
    z-index: 2;
}

.oxi-addons-container [class^='oxi-image-caption-'] .oxi-image-hover-figure-caption,
.oxi-addons-container [class*='oxi-image-caption-'] .oxi-image-hover-figure-caption {
    z-index: 3;
}

.oxi-addons-container .oxi-image-hover-style-caption .oxi-image-hover-heading {
    width: 100%;
    font-size: 20px;
    font-weight: 600;
    color: #ffffff;
}

.oxi-addons-container .oxi-image-hover-figure-caption .oxi-image-hover-content {
    width: 100%;
    font-size: 15px;
    font-weight: 300;
    padding-bottom: 10px;
    color: #ffffff;
}

.oxi-addons-container .oxi-image-hover-style-caption .oxi-image-hover-button {
    position: relative;
    width: 100%;
    display: block;
}

.oxi-addons-container .oxi-image-hover-style-caption a.oxi-image-btn {
    display: inline-block;
    font-size: 12px;
    color: #00a88f;
    background: #fafafa;
    font-weight: 300;
    padding: 7px 20px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    -webkit-transition: all 0.15s ease-in-out;
    -moz-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
    transition-delay: 0.0s;
}

.oxi-addons-container .oxi-image-hover-style-caption a.oxi-image-btn:hover {
    color: #fafafa;
    background: #00a88f;
} .oxi-addons-container [class^='oxi-image-modal'] .oxi-image-hover-caption-tab,
 .oxi-addons-container [class*=' oxi-image-modal'] .oxi-image-hover-caption-tab {
     position: relative
 }

 .oxi-addons-container [class^='oxi-image-modal'],
 .oxi-addons-container [class*=' oxi-image-modal'] {
     overflow: hidden;
 }

 .oxi-addons-container [class^='oxi-image-modal'] .oxi-image-hover-figure-caption,
 .oxi-addons-container [class*=' oxi-image-modal'] .oxi-image-hover-figure-caption {
     opacity: 1;
 }

 .oxi-addons-container [class^='oxi-image-modal']:hover .oxi-image-hover-image,
 .oxi-addons-container [class*=' oxi-image-modal']:hover .oxi-image-hover-image,
 .oxi-addons-container [class^='oxi-image-modal'].oxi-touch .oxi-image-hover-image,
 .oxi-addons-container [class*=' oxi-image-modal'].oxi-touch .oxi-image-hover-image {
     opacity: 0.7;
 }

 .oxi-addons-container [class^='oxi-image-modal']:hover .oxi-image-hover-figure-caption,
 .oxi-addons-container [class*=' oxi-image-modal']:hover .oxi-image-hover-figure-caption,
 .oxi-addons-container [class^='oxi-image-modal'].oxi-touch .oxi-image-hover-figure-caption,
 .oxi-addons-container [class*=' oxi-image-modal'].oxi-touch .oxi-image-hover-figure-caption {
     -webkit-transform: translate(0, 0);
     -moz-transform: translate(0, 0);
     -ms-transform: translate(0, 0);
     -o-transform: translate(0, 0);
     transform: translate(0, 0);
 }

 .oxi-addons-container .oxi-image-modal-slide-up .oxi-image-hover-figure-caption {
     top: auto;
     padding-top: 15px;
     padding-bottom: 15px;
     -webkit-transform: translate(0, 100%);
     -moz-transform: translate(0, 100%);
     -ms-transform: translate(0, 100%);
     -o-transform: translate(0, 100%);
     transform: translate(0, 100%);
 }

 .oxi-addons-container .oxi-image-modal-slide-down .oxi-image-hover-figure-caption {
     bottom: auto;
     padding-top: 15px;
     padding-bottom: 15px;
     -webkit-transform: translate(0, -100%);
     -moz-transform: translate(0, -100%);
     -ms-transform: translate(0, -100%);
     -o-transform: translate(0, -100%);
     transform: translate(0, -100%);
 }

 .oxi-addons-container .oxi-image-modal-slide-left .oxi-image-hover-figure-caption {
     left: auto;
     max-width: 70%;
     padding-left: 15px;
     padding-right: 15px;
     -webkit-transform: translate(100%, 0%);
     -moz-transform: translate(100%, 0%);
     -ms-transform: translate(100%, 0%);
     -o-transform: translate(100%, 0%);
     transform: translate(100%, 0%);
 }

 .oxi-addons-container .oxi-image-modal-slide-right .oxi-image-hover-figure-caption {
     right: auto;
     max-width: 70%;
     padding-left: 15px;
     padding-right: 15px;
     -webkit-transform: translate(-100%, 0%);
     -moz-transform: translate(-100%, 0%);
     -ms-transform: translate(-100%, 0%);
     -o-transform: translate(-100%, 0%);
     transform: translate(-100%, 0%);
 }

 .oxi-addons-container [class^='oxi-image-modal'],
 [class*=' oxi-image-modal'] {
     -webkit-perspective: 50em;
     -moz-perspective: 50em;
     perspective: 50em;
 }

 .oxi-addons-container [class^='oxi-image-modal'] .oxi-image-hover-figure-caption,
 .oxi-addons-container [class*=' oxi-image-modal'] .oxi-image-hover-figure-caption {
     opacity: 1;
 }

 .oxi-addons-container [class^='oxi-image-modal']:hover .oxi-image-hover-image,
 .oxi-addons-container [class*=' oxi-image-modal']:hover .oxi-image-hover-image,
 .oxi-addons-container [class^='oxi-image-modal'].oxi-touch .oxi-image-hover-image,
 .oxi-addons-container [class*=' oxi-image-modal'].oxi-touch .oxi-image-hover-image {
     opacity: 0.7;
 }

 .oxi-addons-container [class^='oxi-image-modal']:hover .oxi-image-hover-figure-caption,
 .oxi-addons-container [class*=' oxi-image-modal']:hover .oxi-image-hover-figure-caption,
 .oxi-addons-container [class^='oxi-image-modal'].oxi-touch .oxi-image-hover-figure-caption,
 .oxi-addons-container [class*=' oxi-image-modal'].oxi-touch .oxi-image-hover-figure-caption {
     -webkit-transform: rotate(0);
     -moz-transform: rotate(0);
     -ms-transform: rotate(0);
     -o-transform: rotate(0);
     transform: rotate(0);
 }

 .oxi-addons-container .oxi-image-modal-hinge-up .oxi-image-hover-figure-caption {
     top: auto;
     padding-top: 15px;
     padding-bottom: 15px;
     -webkit-transform: rotateX(105deg);
     -moz-transform: rotateX(105deg);
     transform: rotateX(105deg);
     -webkit-transform-origin: 50% 100%;
     -moz-transform-origin: 50% 100%;
     -ms-transform-origin: 50% 100%;
     -o-transform-origin: 50% 100%;
     transform-origin: 50% 100%;
 }

 .oxi-addons-container .oxi-image-modal-hinge-down .oxi-image-hover-figure-caption {
     bottom: auto;
     padding-top: 15px;
     padding-bottom: 15px;
     -webkit-transform: rotateX(-100deg);
     -moz-transform: rotateX(-100deg);
     transform: rotateX(-100deg);
     -webkit-transform-origin: 50% -50%;
     -moz-transform-origin: 50% -50%;
     -ms-transform-origin: 50% -50%;
     -o-transform-origin: 50% -50%;
     transform-origin: 50% -50%;
 }

 .oxi-addons-container .oxi-image-modal-hinge-left .oxi-image-hover-figure-caption {
     left: auto;
     max-width: 70%;
     padding-left: 15px;
     padding-right: 15px;
     -webkit-transform: rotateY(-110deg);
     -moz-transform: rotateY(-110deg);
     transform: rotateY(-110deg);
     -webkit-transform-origin: 100% 50%;
     -moz-transform-origin: 100% 50%;
     -ms-transform-origin: 100% 50%;
     -o-transform-origin: 100% 50%;
     transform-origin: 100% 50%;
 }

 .oxi-addons-container .oxi-image-modal-hinge-right .oxi-image-hover-figure-caption {
     right: auto;
     max-width: 70%;
     padding-left: 15px;
     padding-right: 15px;
     -webkit-transform: rotateY(110deg);
     -moz-transform: rotateY(110deg);
     transform: rotateY(110deg);
     -webkit-transform-origin: 0 50%;
     -moz-transform-origin: 0 50%;
     -ms-transform-origin: 0 50%;
     -o-transform-origin: 0 50%;
     transform-origin: 0 50%;
 }