div.ccm-block-page-list-page-entry-grid-thumbnail-hover {
    opacity: 0;
    -webkit-transition: opacity 0.2s;
    -moz-transition: opacity 0.2s;
    -ms-transition: opacity 0.2s;
    -o-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

div.ccm-block-page-list-page-entry-grid-thumbnail a {
    position: relative;
    display: table;
}

div.ccm-block-page-list-page-entry-grid-thumbnail-hover {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.7);
    z-index: 2;
}

div.ccm-block-page-list-page-entry-grid-thumbnail a:hover
div.ccm-block-page-list-page-entry-grid-thumbnail-hover {
    opacity: 1;
}

div.ccm-block-page-list-page-entry-grid-thumbnail-title-wrapper {
    display: table;
    width: 100%;
    height: 100%;
}

div.ccm-block-page-list-page-entry-grid-thumbnail-title {
    display: table-cell;
    width: 100%;
    text-align: center;
    height: 100%;
    vertical-align: middle;
    text-align: center;
    color: #fff;
}

div.ccm-block-page-list-page-entry-grid-thumbnail-title i {
    display: none;
}

@media (max-width: 767px) {

    /* Stack the thumbnail grid items */
    .ccm-block-page-list-thumbnail-grid-wrapper {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    /* Override the forced 33% width */
    .ccm-block-page-list-page-entry-grid-item {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
        margin-bottom: 20px;
    }

    /* Make thumbnails scale properly */
    .ccm-block-page-list-page-entry-grid-thumbnail img {
        width: 100%;
        height: auto;
        display: block;
    }
}


