
.thumbnail {
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 0;
}

.thumbnail .caption {
    padding: 0;
    color: #000;
}

.img-thumbnail,
.thumbnail {
    box-shadow: none;
}

.thumbnail-block {
    display: block;
}

.thumbnail-block > img,
.thumbnail-block a > img {
    width: 100%;
    height: auto;
}

.thumbnail-classic {
    position: relative;
    display: block;
}

.thumbnail-classic img {
    position: relative;
    width: 100%;
}

.thumbnail-classic .figure {
    position: relative;
    overflow: hidden;
    display: block;
}

.thumbnail-classic .figure:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 50%;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.9), transparent);
    background-repeat: repeat-x;
}

.thumbnail-classic .figcaption {
    position: absolute;
    line-height: 1.5;
    left: 10px;
    bottom: 18px;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
}

@media (max-width: 575.98px) {
    .thumbnail-classic.thumbnail-classic-bordered {
        max-width: 300px;
        margin-left: auto;
        margin-right: auto;
    }
}

.thumbnail-classic.thumbnail-classic-bordered .figure, .thumbnail-classic.thumbnail-classic-bordered .figure:before, .thumbnail-classic.thumbnail-classic-bordered .figure img {
    border-radius: 4px;
}

.thumbnail-classic.thumbnail-classic-fullwidth {
    border: 1px solid #fff;
}

.thumbnail-classic.thumbnail-classic-fullwidth, .thumbnail-classic.thumbnail-classic-fullwidth .figure, .thumbnail-classic.thumbnail-classic-fullwidth img {
    width: 100%;
    height: 100%;
}

.thumbnail-classic + .thumbnail-classic {
    margin-top: 30px;
}

.desktop .thumbnail-classic img {
    will-change: transform;
    transition: all 300ms ease-in-out;
    transform: translate(-12px) scale(1.05);
    transform-origin: 0% 50%;
    z-index: 0;
}

.desktop .thumbnail-classic .figure:before {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50%);
    transition: all 300ms ease;
    z-index: 1;
}

.desktop .thumbnail-classic .figcaption {
    opacity: 0;
    visibility: hidden;
    transform: translateX(15px);
    transition: all 300ms ease;
    z-index: 1;
}

.desktop .thumbnail-classic:hover img {
    transform: translate(0) scale(1.05);
}

.desktop .thumbnail-classic:hover .figcaption,
.desktop .thumbnail-classic:hover .figure:before {
    opacity: 1;
    visibility: visible;
    transform: translate(0);
}

.thumbnail-rayen {
    display: block;
}

.thumbnail-rayen .figure {
    position: relative;
    display: inline-block;
}

.thumbnail-rayen .figure:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.7), transparent);
    background-repeat: repeat-x;
}

.thumbnail-rayen .figcaption {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    transform: translate(-50%, -50%);
}

@media (min-width: 1200px) {
    .thumbnail-rayen .figcaption {
        transform: translate(-50%, 100%);
    }
    .thumbnail-rayen .figure:before, .thumbnail-rayen .figcaption {
        opacity: 0;
        transition: .3s all ease;
    }
    .thumbnail-rayen:hover .figure:before, .thumbnail-rayen:hover .figcaption {
        opacity: 1;
    }
    .thumbnail-rayen:hover .figcaption {
        transform: translate(-50%, -50%);
    }
}