/* Copyright @ Balbooa, http://www.gnu.org/licenses/gpl.html GNU/GPL */

/*
/* General styles
*/

.ba-caption-content h3 {
    line-height: normal;
    margin: 12px 0;
    padding: 0;
}

.ba-caption-content p {
    line-height: normal;
    margin: 0 0 9px;
}

.ba-caption .ba-caption-content {
    margin: 5%;
    width: 100%;
}

.ba-caption {
    align-items: center;
        -webkit-align-items: center;
    display: flex;
        -webkit-display: flex;
}

/*
/* Style 1 - Default
*/

.ba-gallery-grid.css-style-1 .ba-caption {
    height: 100%;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
    width: 100%;
    z-index: 1;
}

.ba-gallery-grid.css-style-1 .ba-caption:hover {
    opacity: 1;
}

/* Image Rotate */
.ba-gallery-grid.css-style-1 .ba-image {
    overflow: hidden;
}

.ba-gallery-grid.css-style-1 .ba-image img {
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
    transform: scale(1) rotate(0deg);
        -webkit-transform: scale(1) rotate(0deg);
}

.ba-gallery-grid.css-style-1 .ba-image:hover img {
    transform: scale(1.5) rotate(6deg);
        -webkit-transform: scale(1.5) rotate(6deg);
}

/*
/* Style 2
*/

.ba-gallery-grid.css-style-2 .ba-caption {
    bottom: 0;
    height: 100px;
    max-height: 100%;
    opacity: 1;
    overflow: hidden;
    position: absolute;
    top: auto;
    width: 100%;
}

.ba-gallery-grid.css-style-2 .ba-image img {
    position: absolute;
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
    z-index: 6;
}

.ba-gallery-grid.css-style-2 .ba-image:hover img {
    transform: translateY(-100px);
        -webkit-transform: translateY(-100px);
    z-index: 9;
}

/* 
/* Style 3 
*/

.ba-gallery-grid.css-style-3 .ba-gallery-items {
    overflow: hidden;
}

.ba-gallery-grid.css-style-3 .ba-image img {
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
}

.ba-gallery-grid.css-style-3 .ba-image:hover img {
    transform: translateY(-50px);
        -webkit-transform: translateY(-50px);
}

.ba-gallery-grid.css-style-3 .ba-caption {
    bottom: 0;
    height: 100px;
    opacity: 0;
    top: auto;
    width: 100%;
    transform: translateY(100%);
        -webkit-transform: translateY(100%);
    transition: all .4s 0s ease-in-out, opacity 0.1s 0.3s;
        -webkit-transition: all .4s 0s ease-in-out, opacity 0.1s 0.3s;
    position: absolute;
}

.ba-gallery-grid.css-style-3 .ba-image:hover .ba-caption {
    opacity: 1;
    transform: translateY(0px);
        -webkit-transform: translateY(0px);
    transition: all .4s 0s ease-in-out, opacity 0.1s;
        -webkit-transition: all .4s 0s ease-in-out, opacity 0.1s;
}

/*
/* Style 4
*/

.ba-gallery-grid.css-style-4 .ba-gallery-items {
    overflow: hidden;
}

.ba-gallery-grid.css-style-4 .ba-image img {
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
    z-index: 9;
}

.ba-gallery-grid.css-style-4 .ba-image:hover img {
    transform: translateX(50%);
        -webkit-transform: translateX(50%);
}

.ba-gallery-grid.css-style-4 .ba-caption {
    bottom: 0;
    height: 100%;
    opacity: 0;
    top: auto;
    width: 50%;
    transform: translateX(-100px);
        -webkit-transform: translateX(-100px);
    transition: all .4s 0s ease-in-out, opacity 0.3s 0.1s;
        -webkit-transition: all .4s 0s ease-in-out, opacity 0.3s 0.1s;
    position: absolute;
}

.ba-gallery-grid.css-style-4 .ba-image:hover .ba-caption {
    opacity: 1;
    transform: translateX(0px);
        -webkit-transform: translateX(0px);
    transition: all .4s 0s ease-in-out, opacity 0.1s;
        -webkit-transition: all .4s 0s ease-in-out, opacity 0.1s;
}

/*
/* Style 5
*/

.ba-gallery-grid.css-style-5 .ba-gallery-items {
    overflow: hidden;
}

.ba-gallery-grid.css-style-5 .ba-caption {
    bottom: 0;
    height: 100px;
    opacity: 1;
    overflow: hidden;
    position: absolute;
    top: auto;
    width: 100%;
    z-index: 9;
}

.ba-gallery-grid.css-style-5 .ba-image img {
    position: absolute;
    top: 0;
    transition: all .4s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
}

.ba-gallery-grid.css-style-5 .ba-image:hover img {
    top: -100px;
}

/*
/* Style 6
*/

.ba-gallery-grid.css-style-6 .ba-caption {
    height: 100%;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    transition: all .4s 0s ease-in-out, opacity 0.4s;
        -webkit-transition: all .4s 0s ease-in-out, opacity 0.4s;
    width: 100%;
    z-index: 1;
}

.ba-gallery-grid.css-style-6 .ba-image:hover .ba-caption {
    opacity: 1;
    transform: translate(15px, 15px);
        -webkit-transform: translate(15px, 15px);
}

/*
/* Style 7
*/

.ba-gallery-grid.css-style-7 .ba-caption {
    height: 100%;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
    width: 100%;
    z-index: 1;
}

.ba-gallery-grid.css-style-7 .ba-caption:hover {
    opacity: 1;
}

/* Image zoom */
.ba-gallery-grid.css-style-7 .ba-image {
    overflow: hidden;
}

.ba-gallery-grid.css-style-7 .ba-image img {
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
    transform: scale(1);
        -webkit-transform: scale(1);
}

.ba-gallery-grid.css-style-7 .ba-image:hover img {
    transform: scale(1.5);
        -webkit-transform: scale(1.5);
}

/*
/* Style 8
*/

.ba-gallery-grid.css-style-8 .ba-caption {
    height: 100%;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
    width: 100%;
    z-index: 1;
}

.ba-gallery-grid.css-style-8 .ba-caption:hover {
    opacity: 1;
}

.ba-gallery-grid.css-style-8 .ba-caption .ba-caption-content {
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
}

/*
/* Style 9
*/

.ba-gallery-grid.css-style-9 .ba-caption {
    height: 100%;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    top: 0;
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
    width: 100%;
    z-index: 1;
}

.ba-gallery-grid.css-style-9 .ba-caption:hover {
    opacity: 1;
}

.ba-gallery-grid.css-style-9 .ba-caption p.image-category,
.ba-gallery-grid.css-style-9 .ba-caption p.short-description {
    margin-left: 100%;
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
}

.ba-gallery-grid.css-style-9 .ba-caption:hover p.image-category,
.ba-gallery-grid.css-style-9 .ba-caption:hover p.short-description {
    margin-left: 0;
}

/* Image Rotate */
.ba-gallery-grid.css-style-9 .ba-image {
    overflow: hidden;
}

.ba-gallery-grid.css-style-9 .ba-image img {
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
    transform: scale(1) rotate(0deg);
        -webkit-transform: scale(1) rotate(0deg);
}

.ba-gallery-grid.css-style-9 .ba-image:hover img {
    transform: scale(1.5) rotate(6deg);
        -webkit-transform: scale(1.5) rotate(6deg);
}

/* ========================================================================
    Albums
 ========================================================================== */

.ba-album .ba-album-items {
    overflow: hidden;
}

.ba-album .ba-caption {
    bottom: 0;
    height: 100px;
    opacity: 1;
    overflow: hidden;
    position: absolute;
    top: auto;
    width: 100%;
    z-index: 9;
}

.ba-album .ba-image img {
    transition: all .4s 0s ease-in-out;
        -webkit-transition: all .4s 0s ease-in-out;
        -moz-transition: all .4s 0s ease-in-out;
        -o-transition: all .4s 0s ease-in-out;
    transform: scale(1) rotate(0deg);
        -webkit-transform: scale(1) rotate(0deg);
}

.ba-album .ba-image:hover img {
    transform: scale(1.3) rotate(6deg);
        -webkit-transform: scale(1.3) rotate(6deg);
}

/* ========================================================================
    Modal Window Effects
 ========================================================================== */

.modal-open .ba-scrollable {
     animation: type .5s ;
        -webkit-animation: type .5s ;
}

@keyframes type {
    0% {
        opacity: 0;
    }
    100% {
        opacity: inherit;
    }
}

@-webkit-keyframes type {
    0% {
        opacity: 0;
    }
    100% {
        opacity: inherit;
    }
}

/* Fade-in */
.ba-fade-in  {
     animation: type1 .5s ;
    -webkit-animation: type1 .5s ;
}

@keyframes type1 {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@-webkit-keyframes type1 {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/* Zoom-in */
.ba-zoom-in {
    animation: type2 .5s ;
    -webkit-animation: type2 .5s ;
}

@keyframes type2 {
    0% {
        -webkit-transform: scale(.5);
        transform: scale(.5);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes type2 {
    0% {
        -webkit-transform: scale(.5);
        transform: scale(.5);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

/* Fall */
.ba-fall {
    animation: type3 .5s ;
    -webkit-animation: type3 .5s ;
}

@keyframes type3 {
    0% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@-webkit-keyframes type3 {
    0% {
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
    }
    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

/*Slide-right*/
.ba-slide-right {
     animation: type4 .5s ;
    -webkit-animation: type4 .5s ;
}

@keyframes type4 {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(1);
        transform: translateX(1);
    }
}

@-webkit-keyframes type4 {
    0% {
        opacity: 0;
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(1);
        transform: translateX(1);
    }
}

/* Slide-left */
.ba-slide-left {
     animation: type5 .5s ;
    -webkit-animation: type5 .5s ;
}

@keyframes type5 {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(1);
        transform: translateX(1);
    }
}

@-webkit-keyframes type5 {
    0% {
        opacity: 0;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateX(1);
        transform: translateX(1);
    }
}

/* Slide-top */
.ba-slide-top {
     animation: type6 .5s ;
    -webkit-animation: type6 .5s ;
}

@keyframes type6 {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(1);
        transform: translateY(1);
    }
}

@-webkit-keyframes type6 {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-100%);
        transform: translateY(-100%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(1);
        transform: translateY(1);
    }
}

/* Slide-bottom */
.ba-slide-bottom {
     animation: type7 .5s ;
    -webkit-animation: type7 .5s ;
}

@keyframes type7 {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(1);
        transform: translateY(1);
    }
}

@-webkit-keyframes type7 {
    0% {
        opacity: 0;
        -webkit-transform: translateY(100%);
        transform: translateY(100%);
    }
    100% {
        opacity: 1;
        -webkit-transform: translateY(1);
        transform: translateY(1);
    }
}

/* Slide-right fall */
.ba-slide-right-fall{
    animation: type8 .5s ;
    -webkit-animation: type8 .5s ;
}

@keyframes type8 {
    0% {
        -webkit-transform: scale(1.5) translateX(30%);
        transform: scale(1.5) translateX(30%);
    }
    100% {
        -webkit-transform: scale(1) translateX(1);
        transform: scale(1) translateX(1);
    }
}

@-webkit-keyframes type8 {
    0% {
        -webkit-transform: scale(1.5) translateX(30%);
        transform: scale(1.5) translateX(30%);
    }
    100% {
        -webkit-transform: scale(1) translateX(1);
        transform: scale(1) translateX(1);
    }
}

/* Slide-left fall */
.ba-slide-left-fall{
    animation: type9 .5s ;
    -webkit-animation: type9 .5s ;
}

@keyframes type9 {
    0% {
        -webkit-transform: scale(1.5) translateX(-30%);
        transform: scale(1.5) translateX(-30%);
    }
    100% {
        -webkit-transform: scale(1) translateX(1);
        transform: scale(1) translateX(1);
    }
}

@-webkit-keyframes type9 {
    0% {
        -webkit-transform: scale(1.5) translateX(-30%);
        transform: scale(1.5) translateX(-30%);
    }
    100% {
        -webkit-transform: scale(1) translateX(1);
        transform: scale(1) translateX(1);
    }
}