.pc-hovereffect {
    width: 100%;
    height: 100%;
    float: left;
    overflow: hidden;
    position: relative;
    text-align: center;
    cursor: default;
}

.pc-hovereffect .pc-overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
    padding: 50px 20px;
}

.pc-hovereffect:hover {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.pc-hovereffect .pc-photo-caption {
    text-transform: uppercase;
    color: #fff;
    text-align: center;
    position: relative;
    font-size: 17px;
    overflow: hidden;
    padding: 0.5em 0;
    background-color: transparent;
}

.pc-hovereffect .pc-photo-caption:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
    content: '';
    -webkit-transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    -webkit-transform: translate3d(-100%,0,0);
    transform: translate3d(-100%,0,0);
}

.pc-hovereffect:hover .pc-photo-caption:after {
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.pc-hovereffect a, .pc-hovereffect p {
    color: #fff;
    opacity: 0;
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(100%,0,0);
    transform: translate3d(100%,0,0);
}

.pc-hovereffect:hover a, .pc-hovereffect:hover p {
    opacity: 1;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.pc-overlay {
    color: #000;
}

.pc-overlay p {
    padding-top: 1.3em;
    color: #000;
}

.pc-overlay:hover {
    background-color: #fff;
    opacity: 0.3;
}
