/* Pagination */
.utf-pagination {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
    font-family: sans-serif;
}

.utf-pagination__arrow,
.utf-pagination__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    text-decoration: none;
    color: #333;
    border-radius: 6px;
    transition: background-color 0.15s ease;
}

.utf-pagination__item{
    font-size: 1.2em;
    font-family: "Jakarta Sans", sans-serif;
    font-weight: 400;
}

.utf-pagination__arrow:hover,
.utf-pagination__item:hover {
    background-color: #e5e5e5;
}

.utf-pagination__item--active {
    background-color: #ABC3C1;
    font-weight: 600;
    pointer-events: none;
}

.utf-pagination__ellipsis {
    color: #666;
    font-size: 1.2em;
    font-family: "Plus Jakarta Sans", sans-serif;
    letter-spacing: 2.5px;
    padding: 0 4px;
    user-select: none;
}

.utf-pagination__arrow--disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.utf-media-items__empty{
    display: flex;
    justify-content: center;
    font-family: "Inter", sans-serif;
    margin: 0;
}

.utf-media-item__link{
    text-decoration: none;
    color: black;
}

/* Images */
.utf-media-item__image-container{
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: 0.5em;
    margin-bottom: 0.5em;
}

.utf-media-item__image{
    width: 100%;
    height: 100% !important;
    object-position: center top;
    object-fit: cover;
    border-bottom-left-radius: 0.5em;
    border-bottom-right-radius: 0.5em;
}

.utf-media-item__video-timestamp{
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: #f2f2f2;
    /* Elementor CSS interferes with this custom CSS attribute, so we set the !important flag */
    color: black !important;
    font-family: sans-serif;
    font-size: 0.875em;
    font-weight: 500;
    letter-spacing: 0.1px;
    line-height: 1;
    border-radius: 8px;
    padding: 4px 12px;
    z-index: 5;
}

.utf-media-item__video-title{
    font-size: 1.375rem !important;
    font-family: "Inter", sans-serif !important;
    letter-spacing: 0 !important;
    margin: 0 0 0.5em 0;
    line-height: 1.1 !important;
}

.utf-media-item__article-title{
    font-family: "Inter", sans-serif !important;
    font-size: 1.5rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    margin: 0 0 0.75em 0;
    line-height: 1em !important;
}

.utf-media-item__video-description{
    color: #828282;
    font-size: 1.125em;
    font-family: "Inter", sans-serif;
    margin: 0 0 0.5em 0;
    line-height: 1.2;
}

.utf-media-item__article-description{
    font-size: 1em !important;
    font-family: "Inter", sans-serif;
    line-height: 1.08em;
    letter-spacing: 0.02em;
    margin: 0 0 0.75em 0;
}

.utf-media-item__tags{
    line-height: 1.2;
}

.utf-media-item__category{
    display: inline-block;
    font-size: 0.8em;
    font-family: "Inter", sans-serif;
    font-weight: 600;
    letter-spacing: 0;
    border-radius: 8px;
    margin-bottom: 0.5em;
    line-height: 1.2;
}

.utf-media-item__article-date,
.utf-media-item__read-time{
    color: black;
    font-size: 0.875em;
    font-family: "Inter", sans-serif;
    letter-spacing: 0;
}

.utf-media-item__video-date{
    display: inline-block;
    font-size: 1.125em;
    font-family: "Inter", sans-serif;
    color: #828282;
    line-height: 1.2;
}

.utf-media-item__divider{
    height: 1px;
    background-color: #e5e7eb;
    margin: 16px 0;
}

@media(max-width: 530px){
    .utf-media-item__image-container{
        align-self: center;
    }
}

/* Utilities */
.utf-media-item__video-image-container--portrait{
    aspect-ratio: 4 / 5;
}

.utf-media-item__video-image-container--landscape{
    aspect-ratio: 1 / 1;
}

.utf-media-item__article-image-container{
    aspect-ratio: 1 / 1;
}





