figure {
    position: relative;
    margin-bottom: 1px;
    background: radial-gradient(#fff, #eee);
}

/* http://omoss.io/ */
.overlay {
    color: white;
    background-color: rgba(0, 0, 0, 0.8);

    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    left: 0;
    top: 0;

    opacity: 0;
    transition-property: opacity;
    transition-duration: 0.3s;
    transition-timing-function: ease;
}

.overlay:hover      { opacity: 1; }
.overlay.touchstart { opacity: 1; }
.overlay.touchend   { opacity: 0; }

/* http://zerosixthree.se/vertical-align-anything-with-just-3-lines-of-css/ */
.overlay .content {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.overlay .subtitle {
    color: #999;
    font-style: italic;
}
