.tt-image-overlay {
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    padding: 1rem;
    width: 100%;
    text-align: center;
    height: 360px;
    border-radius: 15px;

    img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100% !important;
        object-fit: cover;
    }

    &:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,0.5);
        z-index: 1;
    }

    &__content {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        padding: 1rem;
        transition: transform 700ms cubic-bezier(0.19, 1, 0.22, 1);
        z-index: 2;
        transform: translateY(calc(100% - 4.5rem));
        margin-bottom: 0;
    }

    &__title {
        color: #fff;
        font-size: 20px;
        font-weight: 600;
    }

    &__description {
        color: rgba(255,255,255,0.7);
        opacity: 0;
        margin: 0;
        transform: translateY(1rem);
        transition: transform 700ms cubic-bezier(0.19, 1, 0.22, 1), opacity 700ms cubic-bezier(0.19, 1, 0.22, 1);
    }

    a {
        position: absolute;
        height: 100%;
        width: 100%;
        top: 0;
        left: 0;
        z-index: 2;
    }

    &:hover {
        align-items: center;

        .tt-image-overlay__content {
            transform: translateY(0);
        }

        .tt-image-overlay__description {
            opacity: 1;
            transform: translateY(0);
            transition-delay: calc(700ms / 8);
        }

    }
}