.cs-image-overlay
{
    overflow: hidden;
}
.cs-image-overlay .cs-image-overlay-container
{
    width: 100%;
    position: relative;
    margin: 0;
    padding: 56.25% 0 0 0;
}
.cs-image-overlay .cs-image-overlay-container .overlay-image
{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transform: translateZ(0);
}
.cs-image-overlay .io-gradient
{
    content: "";
    display: block;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 1;
    -webkit-transition: opacity 300ms ease-in-out;
    transition: opacity 300ms ease-in-out;
}
.cs-image-overlay .io-gradient-hover
{
    z-index: 4;
    opacity: 0;
}
.cs-image-overlay:hover .io-gradient-state
{
    opacity: .5;
}
.cs-image-overlay:hover .io-gradient-hover
{
    opacity: 1;
}
.cs-image-overlay-gradient-vertical .io-gradient
{
    height: 100%;
}
.cs-image-overlay-gradient-horizontal .io-gradient
{
    width: 100%;
}
.cs-image-overlay .cs-image-overlay-container a
{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 15;
}
.cs-image-overlay .cs-image-overlay-container figcaption
{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 10;
    padding: 30px 22px 0;
    font-size: 15px;
}
@media(min-width: 768px)
{
    .cs-image-overlay .cs-image-overlay-container figcaption
    {
        font-size: 16px;
    }
}
.cs-image-overlay .cs-image-overlay-container figcaption .headline
{
    font-size: 18px;
    font-weight: 400;
}
@media(min-width: 768px)
{
    .cs-image-overlay .cs-image-overlay-container figcaption .headline
    {
        font-size: 18px;
    }
}
@media(min-width: 979px)
{
    .cs-image-overlay .cs-image-overlay-container figcaption .headline
    {
        font-size: 20px;
    }
}
@media(min-width: 1200px)
{
    .cs-image-overlay .cs-image-overlay-container figcaption .headline
    {
        font-size: 22px;
    }
}
@media(min-width: 1800px)
{
    .cs-image-overlay .cs-image-overlay-container figcaption .headline
    {
        font-size: 26px;
    }
}
.cs-image-overlay .cs-image-overlay-container figcaption>div
{
    line-height: 1.4;
    margin-top: 7px;
    font-size: 16px;
}
.cs-image-overlay.cs-ta-left
{
    text-align: left;
}
.cs-image-overlay.cs-ta-left .io-text
{
    line-height: 1.1em;
    padding-right: 20%;
}
.cs-image-overlay.cs-ta-right
{
    text-align: right;
}
.cs-image-overlay.cs-ta-right .io-text
{
    padding-left: 20%;
}
.cs-image-overlay.cs-ta-center
{
    text-align: center;
}
.cs-image-overlay.cs-ta-center .io-text
{
    padding-left: 5%;
    padding-right: 5%;
}
.cs-image-overlay .cs-image-overlay-effect-default:hover .overlay-image
{
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.cs-image-overlay .cs-image-overlay-effect-apollo figcaption::before
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,.5);
    content: '';
    -webkit-transition: -webkit-transform .6s;
    transition: -webkit-transform .6s;
    transition: transform .6s;
    transition: transform .6s,-webkit-transform .6s;
    -webkit-transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-100%,0);
    transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,-120%,0);
}
.cs-image-overlay .cs-image-overlay-effect-apollo:hover .overlay-image
{
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.cs-image-overlay .cs-image-overlay-effect-apollo:hover figcaption::before
{
    -webkit-transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,100%,0);
    transform: scale3d(1.9,1.4,1) rotate3d(0,0,1,45deg) translate3d(0,120%,0);
}
.cs-image-overlay .cs-image-overlay-effect-apollo .io-text
{
    position: absolute;
    right: 25px;
    bottom: 20px;
    padding: 0 15px;
    border-right: 4px solid #fff;
    text-align: right;
}
@media(min-width: 979px)
{
    .cs-image-overlay .cs-image-overlay-effect-apollo .io-text
    {
        opacity: 0;
    }
}
.cs-image-overlay .cs-image-overlay-effect-apollo:hover .io-text
{
    opacity: 1;
    -webkit-transition: opacity 600ms ease-in-out;
    transition: opacity 600ms ease-in-out;
}
.cs-image-overlay .cs-image-overlay-effect-bubba figcaption::before, .cs-image-overlay .cs-image-overlay-effect-bubba figcaption::after
{
    position: absolute;
    top: 30px;
    right: 30px;
    bottom: 30px;
    left: 30px;
    content: '';
    opacity: 0;
    -webkit-transition: opacity .35s,-webkit-transform .35s;
    transition: opacity .35s,-webkit-transform .35s;
    transition: opacity .35s,transform .35s;
    transition: opacity .35s,transform .35s,-webkit-transform .35s;
}
.cs-image-overlay .cs-image-overlay-effect-bubba figcaption::before
{
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-transform: scale(0,1);
    transform: scale(0,1);
}
.cs-image-overlay .cs-image-overlay-effect-bubba figcaption::after
{
    border-right: 1px solid #fff;
    border-left: 1px solid #fff;
    -webkit-transform: scale(1,0);
    transform: scale(1,0);
}
.cs-image-overlay .cs-image-overlay-effect-bubba figcaption .headline
{
    display: block;
    padding-top: 0;
    text-align: center;
}
.cs-image-overlay .cs-image-overlay-effect-bubba .io-text
{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    text-align: center;
    padding: 0 20px 20px 20px;
}
@media(min-width: 979px)
{
    .cs-image-overlay .cs-image-overlay-effect-bubba figcaption .headline
    {
        display: block;
        padding-top: 10%;
        text-align: center;
        -webkit-transition: -webkit-transform .35s;
        transition: -webkit-transform .35s;
        transition: transform .35s;
        transition: transform .35s,-webkit-transform .35s;
        -webkit-transform: translate3d(0,-20px,0);
        transform: translate3d(0,-20px,0);
    }
    .cs-image-overlay .cs-image-overlay-effect-bubba .io-text
    {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        text-align: center;
        padding: 0 45px 45px 45px;
        opacity: 0;
        -webkit-transition: opacity .35s,-webkit-transform .35s;
        transition: opacity .35s,-webkit-transform .35s;
        transition: opacity .35s,transform .35s;
        transition: opacity .35s,transform .35s,-webkit-transform .35s;
        -webkit-transform: translate3d(0,20px,0);
        transform: translate3d(0,20px,0);
    }
}
.cs-image-overlay .cs-image-overlay-effect-bubba:hover figcaption::before, .cs-image-overlay .cs-image-overlay-effect-bubba:hover figcaption::after
{
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}
@media(min-width: 979px)
{
    .cs-image-overlay .cs-image-overlay-effect-bubba:hover figcaption .headline, .cs-image-overlay .cs-image-overlay-effect-bubba:hover .io-text
    {
        opacity: 1;
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }
}
.cs-image-overlay .cs-image-overlay-effect-sadie figcaption .headline
{
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    text-align: center;
    margin: 0;
    padding: 0;
    line-height: 1.1em;
    -webkit-transition: -webkit-transform .35s,color .35s;
    -webkit-transition: color .35s,-webkit-transform .35s;
    transition: color .35s,-webkit-transform .35s;
    transition: transform .35s,color .35s;
    transition: transform .35s,color .35s,-webkit-transform .35s;
    -webkit-transform: translate3d(0,-50%,0);
    transform: translate3d(0,-50%,0);
}
.cs-image-overlay .cs-image-overlay-effect-sadie:hover figcaption .headline
{
    -webkit-transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
    transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
}
.cs-image-overlay .cs-image-overlay-effect-sadie .io-text
{
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 2em;
    width: 100%;
    opacity: 0;
    -webkit-transform: translate3d(0,10px,0);
    transform: translate3d(0,10px,0);
    webkit-transition: opacity .35s,-webkit-transform .35s;
    -webkit-transition: opacity .35s,-webkit-transform .35s;
    transition: opacity .35s,-webkit-transform .35s;
    transition: opacity .35s,transform .35s;
    transition: opacity .35s,transform .35s,-webkit-transform .35s;
}
.cs-image-overlay .cs-image-overlay-effect-sadie:hover .io-text
{
    opacity: 1;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}
.cs-image-overlay .cs-image-overlay-effect-sarah .overlay-image
{
    max-width: none;
    width: calc(100% + 20px);
    -webkit-transform: translate3d(-10px,0,0);
    transform: translate3d(-10px,0,0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}
.cs-image-overlay .cs-image-overlay-effect-sarah:hover .overlay-image
{
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}
.cs-image-overlay .cs-image-overlay-effect-sarah figcaption .headline
{
    position: relative;
    overflow: hidden;
    display: block;
    padding: .5em 0;
}
.cs-image-overlay .cs-image-overlay-effect-sarah figcaption .headline::after
{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: #fff;
    content: '';
    -webkit-transition: -webkit-transform .35s;
    transition: -webkit-transform .35s;
    transition: transform .35s;
    transition: transform .35s,-webkit-transform .35s;
    -webkit-transform: translate3d(-100%,0,0);
    transform: translate3d(-100%,0,0);
}
.cs-image-overlay .cs-image-overlay-effect-sarah:hover figcaption .headline::after
{
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}
.cs-image-overlay .cs-image-overlay-effect-sarah .io-text
{
    padding: 1em 0;
    opacity: 0;
    -webkit-transition: opacity .35s,-webkit-transform .35s;
    transition: opacity .35s,-webkit-transform .35s;
    transition: opacity .35s,transform .35s;
    transition: opacity .35s,transform .35s,-webkit-transform .35s;
    -webkit-transform: translate3d(100%,0,0);
    transform: translate3d(100%,0,0);
}
.cs-image-overlay .cs-image-overlay-effect-sarah:hover .io-text
{
    opacity: 1;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}