.latest-meta > span {
    margin: 0 0.625rem 0.3125rem 0;
}

.latest-meta .latest-meta-icon {
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
}

.latest-meta i {
    color: #1a315d;
}

.latest-meta .event-hours {
    margin-left: 0.625rem;
}

.latest-archive-links--top {
    width: 100%;
}

.latest-media-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
    overflow: hidden;
}

.latest-media-card__image {
    display: block;
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    width: 100%;
    aspect-ratio: var(--latest-image-aspect-ratio, 1 / 1);
    overflow: hidden;
    background: #f1f3f5;
}

.latest-media-card__image > a {
    display: block;
    width: 100%;
    height: 100%;
}

.latest-media-card__thumbnail {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.latest-card-image {
    width: 100%;
    aspect-ratio: var(--latest-image-aspect-ratio, 1 / 1);
    overflow: hidden;
    background: #f1f3f5;
}

.latest-card-image__link,
.latest-card-image__thumbnail {
    display: block;
    width: 100%;
    height: 100%;
}

.latest-card-image__thumbnail {
    object-fit: cover;
}

.latest-image--square {
    --latest-image-aspect-ratio: 1 / 1;
}

.latest-image--wide {
    --latest-image-aspect-ratio: 16 / 9;
}

.latest-image--portrait {
    --latest-image-aspect-ratio: 3 / 4;
}

.latest-media-card__content {
    display: flex;
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    padding: var(--bs-gutter-x, 1.5rem) !important;
    flex-direction: column;
    justify-content: center;
}

.latest-media-card--right .latest-media-card__image {
    grid-column: 2;
}

.latest-media-card--right .latest-media-card__content {
    grid-column: 1;
}

.latest-media-card--top {
    grid-template-columns: 1fr;
}

.latest-media-card--top .latest-media-card__image {
    grid-column: 1;
    grid-row: 1;
}

.latest-media-card--top .latest-media-card__content {
    grid-column: 1;
    grid-row: 2;
}

/* Add a smooth zoom effect to images or WordPress figure blocks. */
img.zoomin,
figure.zoomin img {
    transition: transform 0.3s ease;
    transform-origin: center;
}

figure.zoomin {
    overflow: hidden;
}

img.zoomin:hover,
figure.zoomin:hover img {
    transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
    img.zoomin,
    figure.zoomin img {
        transition: none;
    }
}

@media (max-width: 767.98px) {
    .latest-media-card {
        grid-template-columns: 1fr;
    }

    .latest-media-card__image,
    .latest-media-card--right .latest-media-card__image {
        grid-column: 1;
        grid-row: 1;
    }

    .latest-media-card__content,
    .latest-media-card--right .latest-media-card__content {
        grid-column: 1;
        grid-row: 2;
    }
}
