.oxy-ou-acf-gallery {
    display: inline-block;
    overflow: hidden;
    width: 100%;
    min-height: 50px;
}

.ou-gallery-acf > * {
    padding: 10px;
}

[class*="ouacfga-grid-"] {
    padding: 0;
}

[class*="ouacfga-grid-"], 
[class*="ouacfga-grid-"] > * {
    box-sizing: border-box;
}

.ouacfga-grid-all > * {
  width: 25%;
}

.ou-gallery-acf.has-clearfix {
    clear: both;
    position: relative;
}

.ou-gallery-acf.has-clearfix:before,
.ou-gallery-acf.has-clearfix:after {
    content: "";
    display: block;
    width: 100%;
    height: 0;
    clear: both;
}

.ou-gallery-acf .ou-gallery-thumb {
    position: relative;
    overflow: hidden;

    --thumb-initial-rotate: 0deg;
    --thumb-hover-rotate: 0deg;
    --thumb-initial-scale: 1;
    --thumb-hover-scale: 1;
}

.ou-gallery-acf .ou-gallery-thumb span {
    display: block;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

[class*="ouacfga-grid-"] > * {
   display: block;
    float: left;
    margin: 0;
    position: relative;
    overflow: hidden;
}

.ou-gallery-acf .ouacfga-caption {
    width: calc(100% - 20px);
    text-decoration: none;
}

.ou-gallery-acf .overlay-image-caption {
    height: calc( 100% - 20px);
    position: absolute;
    top: 10px;
    left: 10px;
    opacity: 0;
    text-align: center;
    -webkit-transition: opacity 0.25s ease;
    transition: opacity 0.25s ease;
    z-index: 1;
}

.ou-gallery-acf .ou-gallery-height:hover .overlay-image-caption,
.acf-touch-hovereffect {
    opacity: 1;
}

.ouacfga-caption .v-align-middle {
    display: table !important;
    table-layout: fixed;
    width: 100%;
    height: 100%;
}

.ouacfga-caption .v-align-middle > * {
    vertical-align: middle;
    display: table-cell !important;
    vertical-align: middle;
}

.ouacfga-caption .image-caption-inner {
    padding: 5px 15px;
}

.ou-gallery-acf .overlay-image-caption h3 {
    display: block;
    margin: 0 0 5px;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease;
}

.ou-gallery-acf .ou-gallery-height:hover .overlay-image-caption h3,
.acf-touch-hovertransform {
    -webkit-transform: none;
    transform: none;
    text-decoration: none;
}

.cap-align-overlay {
  position: absolute;
  left: 10px;
  bottom: 10px;
}

.lightbox-ouacfga-item {
  transform: rotate(var(--thumb-initial-rotate)) scale(var(--thumb-initial-scale));
  transition: all 0.5s ease-in-out;
}

.ou-gallery-thumb:hover .lightbox-ouacfga-item {
  transform: rotate(var(--thumb-hover-rotate)) scale(var(--thumb-hover-scale));
}

.lightbox-ouacfga-item img {
    width: 100%;
    height: 100%;
    opacity: 0;
}

body.ouacfg-off-scroll {
    -webkit-overflow-scrolling: touch;
}

body.mfp-zoom-out-cur.ouacfg-off-scroll {
    overflow: hidden;
    -webkit-overflow-scrolling: auto;
}

.ouacfg-close.mfp-close svg {
    width: 25px;
    height: 25px;
    color: #efefef;
    fill: currentColor;
}

.ouacfg-close.mfp-close:hover svg {
    color: #fff;
}

/*.lightbox-ouacfga-item:hover img {
  -webkit-transition: opacity 0.25s ease-in;
  transition: opacity 0.25s ease-in;
}*/

@media all and (min-width: 60em) {
   body [data-entrance] {
      opacity:0;
      -webkit-animation-duration:1s;
      animation-duration:1s;
      -webkit-animation-fill-mode:both;
      animation-fill-mode:both;
   }

   body.no-js [data-entrance],
   body [data-entrance].is-visible {
      opacity:1
   }
}

@-webkit-keyframes fadeInLeftSmall {
   0%{
      opacity:0;
      -webkit-transform:translate3d(-50px, 0, 0);
      transform:translate3d(-50px, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;
      transform:none
   }
}

@keyframes fadeInLeftSmall {
   0%{
      opacity:0;
      -webkit-transform:translate3d(-50px, 0, 0);
      transform:translate3d(-50px, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;
      transform:none
   }
}

.fadeInLeftSmall {
   -webkit-animation-name:fadeInLeftSmall;
   animation-name:fadeInLeftSmall
}

@-webkit-keyframes fadeInLeft {
   0%{
      opacity:0;
      -webkit-transform:translate3d(-100%, 0, 0);
      transform:translate3d(-100%, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;transform:none
   }
}

@keyframes fadeInLeft {
   0%{
      opacity:0;
      -webkit-transform:translate3d(-100%, 0, 0);
      transform:translate3d(-100%, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;transform:none
   }
}

.fadeInLeft{
   -webkit-animation-name:fadeInLeft;
   animation-name:fadeInLeft
}

@-webkit-keyframes fadeInLeftBig{
   0%{
      opacity:0;
      -webkit-transform:translate3d(-2000px, 0, 0);
      transform:translate3d(-2000px, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;transform:none
   }
}

@keyframes fadeInLeftBig {
   0%{
      opacity:0;
      -webkit-transform:translate3d(-2000px, 0, 0);
      transform:translate3d(-2000px, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;transform:none
   }
}

.fadeInLeftBig {
   -webkit-animation-name:fadeInLeftBig;
   animation-name:fadeInLeftBig
}

@-webkit-keyframes fadeInRight {
   0%{
      opacity:0;
      -webkit-transform:translate3d(100%, 0, 0);
      transform:translate3d(100%, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;
      transform:none
   }
}

@keyframes fadeInRight{
   0%{
      opacity:0;
      -webkit-transform:translate3d(100%, 0, 0);
      transform:translate3d(100%, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;
      transform:none
   }
}

.fadeInRight{
   -webkit-animation-name:fadeInRight;
   animation-name:fadeInRight
}

@-webkit-keyframes fadeInRightSmall{
   0%{
      opacity:0;
      -webkit-transform:translate3d(50px, 0, 0);
      transform:translate3d(50px, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;transform:none
   }
}

@keyframes fadeInRightSmall{
   0%{
      opacity:0;
      -webkit-transform:translate3d(50px, 0, 0);
      transform:translate3d(50px, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;
      transform:none
   }
}

.fadeInRightSmall {
   -webkit-animation-name:fadeInRightSmall;
   animation-name:fadeInRightSmall
}

@-webkit-keyframes fadeInRightBig{
   0%{
      opacity:0;
      -webkit-transform:translate3d(2000px, 0, 0);
      transform:translate3d(2000px, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;
      transform:none
   }
}

@keyframes fadeInRightBig{
   0%{
      opacity:0;
      -webkit-transform:translate3d(2000px, 0, 0);
      transform:translate3d(2000px, 0, 0)
   }

   100%{
      opacity:1;
      -webkit-transform:none;
      transform:none
   }
}

.fadeInRightBig {
   -webkit-animation-name: fadeInRightBig;
   animation-name: fadeInRightBig
}

@-webkit-keyframes flipInX {
   0% {
      -webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
      transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
      -webkit-transition-timing-function:ease-in;
      transition-timing-function:ease-in;
      opacity:0
   }

   40% {
      -webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
      transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
      -webkit-transition-timing-function:ease-in;
      transition-timing-function:ease-in
   }

   60% {
      -webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);
      transform:perspective(400px) rotate3d(1, 0, 0, 10deg);
      opacity:1
   }

   80% {
      -webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);
      transform:perspective(400px) rotate3d(1, 0, 0, -5deg)
   }

   100% {
      -webkit-transform:perspective(400px);transform:perspective(400px)
   }
}

@keyframes flipInX { 
   0% {
      -webkit-transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
      transform:perspective(400px) rotate3d(1, 0, 0, 90deg);
      -webkit-transition-timing-function:ease-in;
      transition-timing-function:ease-in;opacity:0
   }

   40% {
      -webkit-transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
      transform:perspective(400px) rotate3d(1, 0, 0, -20deg);
      -webkit-transition-timing-function:ease-in;
      transition-timing-function:ease-in
   }

   60% {
      -webkit-transform:perspective(400px) rotate3d(1, 0, 0, 10deg);
      transform:perspective(400px) rotate3d(1, 0, 0, 10deg);
      opacity:1
   }

   80% {
      -webkit-transform:perspective(400px) rotate3d(1, 0, 0, -5deg);
      transform:perspective(400px) rotate3d(1, 0, 0, -5deg)
   }

   100% {-webkit-transform:perspective(400px);
      transform:perspective(400px)
   }
}

.flipInX {
   -webkit-backface-visibility:visible !important;
   backface-visibility:visible !important;
   -webkit-animation-name: flipInX;
   animation-name:flipInX
}

@-webkit-keyframes flipInY {
   0% {
      -webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
      transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
      -webkit-transition-timing-function:ease-in;
      transition-timing-function:ease-in;
      opacity:0
   }

   40% {
      -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);
      transform:perspective(400px) rotate3d(0, 1, 0, -20deg);
      -webkit-transition-timing-function:ease-in;
      transition-timing-function:ease-in
   }

   60% {
      -webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);
      transform:perspective(400px) rotate3d(0, 1, 0, 10deg);
      opacity:1
   }

   80% {
      -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);
      transform:perspective(400px) rotate3d(0, 1, 0, -5deg)
   }

   100% {
      -webkit-transform:perspective(400px);
      transform:perspective(400px)
   }
}

@keyframes flipInY {
   0% {
      -webkit-transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
      transform:perspective(400px) rotate3d(0, 1, 0, 90deg);
      -webkit-transition-timing-function:ease-in;
      transition-timing-function:ease-in;
      opacity:0
   }
   
   40% {
      -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -20deg);
      transform:perspective(400px) rotate3d(0, 1, 0, -20deg);
      -webkit-transition-timing-function:ease-in;
      transition-timing-function:ease-in
   }
   
   60% {
      -webkit-transform:perspective(400px) rotate3d(0, 1, 0, 10deg);
      transform:perspective(400px) rotate3d(0, 1, 0, 10deg);
      opacity:1
   }
   
   80% {
      -webkit-transform:perspective(400px) rotate3d(0, 1, 0, -5deg);
      transform:perspective(400px) rotate3d(0, 1, 0, -5deg)
   }
   
   100% {
      -webkit-transform:perspective(400px);
      transform:perspective(400px)
   }
}


.flipInY {
   -webkit-backface-visibility:visible !important;
   backface-visibility:visible !important;
   -webkit-animation-name:flipInY;
   animation-name:flipInY
}