.gridgallery {
    text-align: center;
}
.j51gridgallery {
    position: relative;
    display: inline-block;
    margin: 0 auto;
    max-width: 1000px;
    list-style: none;
    text-align: center;
    overflow: hidden;
}

/* Common style */
.j51gridgallery figure {
    position: relative;
    float: left;
    overflow: hidden;
    margin: -1px 0;
    text-align: center;
    cursor: pointer;
    border-radius: 0px;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
        -ms-box-sizing: border-box;
         -o-box-sizing: border-box;
            box-sizing: border-box;
}

.j51gridgallery figure img {
    position: relative;
    display: block;
    /*min-height: 100%;*/
    /*max-width: 100%;*/
    opacity: 1;
}

.j51gridgallery figure figcaption {
    /*padding: 2em;*/
    color: #fff;
    /*text-transform: uppercase;*/
    font-size: 12px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.j51gridgallery figure figcaption::before,
.j51gridgallery figure figcaption::after {
    pointer-events: none;
}

.j51gridgallery figure figcaption,
.j51gridgallery figure figcaption > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.j51gridgallery figure figcaption > a {
    z-index: 10;
    text-indent: 100%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0;
}

.j51gridgallery figure h3 {
    word-spacing: -0.10em;
    font-weight: 500;
    font-size: 15px;
    line-height: 1.1em;
    top: 5px;
    left: 5px;
    position: relative;
    opacity: 0;
    margin: 1;
}

.j51gridgallery figure h3 span {
    font-weight: 300;
    margin-right: 3px;
}

.j51gridgallery figure p {
    margin: 0;
    opacity: 0.8;
}

.j51gridgallery figure p {
    letter-spacing: 0px;
    top: 5px;
    left: 20px;
    position: relative;
    padding-right: 30px;
    line-height: 1.5em; 
}

/* Individual effect */

figure.effect-roxy {
    /*background: -webkit-linear-gradient(45deg, #ff89e9 0%, #05abe0 100%);*/
    /*background: linear-gradient(45deg, #ff89e9 0%,#05abe0 100%);*/
}

figure.effect-roxy img {
    max-width: none;
    width: -webkit-calc(100% + 60px);
    width: -moz-calc(100% + 60px);
    width: calc(100% + 60px);
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(-50px,0,0);
    transform: translate3d(-30px,0,0);
}

figure.effect-roxy figcaption::before {
    position: absolute;
    top: 20px;
    right: 20px;
    bottom: 20px;
    left: 20px;
    border: 1px solid rgba(255,255,255,0.2);
    content: '';
    opacity: 0;
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(-20px,0,0);
    transform: translate3d(-20px,0,0);
}

figure.effect-roxy figcaption {
    /*padding: 3em;*/
    text-align: left;
}

figure.effect-roxy p {
    opacity: 0;
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(-10px,0,0);
    transform: translate3d(-10px,0,0);
}

figure.effect-roxy:hover h3 {
    opacity: 1;
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
}

figure.effect-roxy:hover img {
    opacity: 0.15;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

figure.effect-roxy:hover figcaption::before,
figure.effect-roxy:hover p {
    opacity: 0.8;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}
