.blog-post {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    border: 1px solid var(--color-gray-lite);
    border-radius: var(--radius-default);
    transition: var(--transition-150);

    &:hover {
        border-color: var(--color-white-lite);
        box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.1);
        z-index: 1;

        .blog-post-featured-image {
            > img,
            .image-placeholder > img {
                transform: scale(1.08) rotate(-2deg);
            }
        }
    }

    .blog-post-featured-image {
        position: relative;
        padding-bottom: 56%;

        > img {
            position: absolute;
            height: 100%;
            width: 100%;
            border-radius: var(--radius-default) var(--radius-default) 0 0;
            object-fit: cover;
            transition: var(--transition-200);
        }

        .image-placeholder {
            position: absolute;
            left: 0;
            top: 0;
            height: 100%;
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            background: var(--color-white-dark);
            border-bottom: none;
            border-radius: var(--radius-default) var(--radius-default) 0 0;

            > img {
                height: 100px;
                width: 100px;
                transition: var(--transition-200);
            }
        }
    }

    .blog-post-meta {
        display: flex;
        margin-bottom: 10px;

        > li {
            font-size: 14px;
            font-weight: var(--font-light);
            color: var(--color-gray);
            margin-left: 25px;

            &:first-child {
                margin-left: 0;
            }

            > i {
                font-size: 16px;
                margin: -1px 5px 0 0;

                color: var(--color-primary);
            }
        }
    }

    .blog-post-body {
        padding: 20px 20px 25px;
    }

    .blog-post-title {
        max-height: 60px;

        > a {
            color: var(--color-black);
            font-weight: var(--font-medium);
            font-size: 16px;
            line-height: 18px;
            display: -webkit-box;
            max-width: 100%;
            margin-bottom: 13px;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
            text-decoration-line: underline;
            text-decoration-color: transparent;
            transition: var(--transition-150);

            &:hover {
                text-decoration-color: var(--color-black);
            }
        }
    }

    .blog-post-read-more {
        font-size: 14px;
        color: var(--color-primary);

        i {
            opacity: 0;
            visibility: hidden;
            transition: var(--transition-150);
        }

        &:hover {
            color: var(--color-primary-hover);

            i {
                opacity: 1;
                visibility: visible;
                transform: translateX(5px);
            }
        }
    }
}
