figure{
    -webkit-align-content: center;
        -ms-flex-line-pack: center;
            align-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -js-display: flex;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    overflow: hidden;
}
figure img,
figure object{
    display: block;
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    max-height: 100%;
    margin: auto;
}
figure.objectFitImage{
    height: 100%;
    position: relative;
    background-size: cover;
    background-position: center center;
}
.ratioWrapper figure.objectFitImage{
    height: auto;
    position: absolute;
}
figure.objectFitImage img{
    height: 100vh;
    position: absolute;
    width: 100vw;
    -o-object-fit: cover;
       object-fit: cover;
}
.contentCaptionedfigureCentered,
.contentFigureCentered{
    display: block;
    margin: 20px auto 20px auto;
    width: 100%;
    min-width: 400px;
    max-width: 950px;
}
.contentCaptionedfigureLeft,
.contentCaptionedfigureRight,
.contentFigureLeft,
.contentFigureRight{
    display: block;
    margin: 20px auto 20px auto;
    width: 50%;
    min-width: 200px;
    max-width: 950px;
}
.contentCaptionedfigureLeft figcaption,
.contentCaptionedfigureRight figcaption,
.contentCaptionedfigureCentered figcaption{
    font-style: italic;
    line-height: 1.6;
    padding: 0;
}
.contentCaptionedfigureLeft figcaption p,
.contentCaptionedfigureRight figcaption p,
.contentCaptionedfigureCentered figcaption p{
    padding: 0;
    margin: 0;
}
.contentCaptionedfigureLeft img + figcaption,
.contentCaptionedfigureRight img + figcaption,
.contentCaptionedfigureCentered img + figcaption{
    margin-top: 10px;
}
img{
    opacity: 1;
    -webkit-transition: opacity 0.35s;
    -o-transition: opacity 0.35s;
    transition: opacity 0.35s;
}
img[data-src]{
    opacity: 0;
}
