.card-image-wrapper {
    display: block;
    width: 100%;
}

html[data-primary-font="Thunder"] .card-top {
    margin-bottom: max(6px, calc(0.42vw * var(--scale)));
}

.card-top {
    grid-column-gap: max(6px, calc(0.42vw * var(--scale)));
    grid-row-gap: max(6px, calc(0.42vw * var(--scale)));
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: max(8px, calc(0.56vw * var(--scale)));
    display: flex;
}

.card-top .medium-text {
    color: var(--text-color);
    font-size: max(calc(20px * var(--heading-font-scale)), calc(1.39vw * var(--scale) * var(--heading-font-scale)));
    font-weight: 600;
}

html[data-primary-font="Thunder"] .card .restricted-access-icon {
    margin-bottom: max(calc(6px * var(--heading-font-scale) * var(--heading-font-line-height-scale)), calc(0.42vw * var(--scale) * var(--heading-font-scale) * var(--heading-font-line-height-scale)));
}

.card .restricted-access-icon {
    min-width: max(calc(16px * var(--heading-font-scale)), calc(1.11vw * var(--scale) * var(--heading-font-scale)));
    width: max(calc(16px * var(--heading-font-scale)), calc(1.11vw * var(--scale) * var(--heading-font-scale)));
    height: max(calc(16px * var(--heading-font-scale)), calc(1.11vw * var(--scale) * var(--heading-font-scale)));
}

.bracket-no-gap {
    gap: 0px !important;
}

html[data-primary-font="Thunder"] .card .left-bracket,
html[data-primary-font="Thunder"] .card .right-bracket {
    padding-bottom: max(2px, calc(0.14vw * var(--scale)));
}

.card-content {
    margin-top: max(16px, calc(1.11vw * var(--scale)));
}

.card-text {
    color: var(--text-color);
    font-weight: 500;
    line-height: calc(100% * var(--heading-font-line-height-scale));
    text-decoration: none;
    display: block;
    font-size: max(calc(30px * var(--heading-font-scale)), calc(2.08vw * var(--scale) * var(--heading-font-scale)));
}

html[data-primary-font="Thunder"] .card-excerpt {
    margin-top: max(3px, calc(0.21vw * var(--scale)));
}

.card-excerpt {
    margin-top: max(8px, calc(0.56vw * var(--scale)));
}

.card-title-and-circle-wrapper {
    position: relative;
    width: fit-content;
}

html[data-primary-font="Thunder"] .card-circle {
    top: calc(50% - max(calc(4px * (var(--heading-font-scale) + var(--circle-scale))), calc(0.28vw * var(--scale) * (var(--heading-font-scale) + var(--circle-scale)))));
}

.card-circle {
    top: 50%;
    position: absolute;
    left: 0px;
    border-radius: 100%;
    width: max(calc(10px * (var(--heading-font-scale) + var(--circle-scale))), calc(0.69vw * var(--scale) * (var(--heading-font-scale) + var(--circle-scale))));
    height: max(calc(10px * (var(--heading-font-scale) + var(--circle-scale))), calc(0.69vw * var(--scale) * (var(--heading-font-scale) + var(--circle-scale))));
    background-color: var(--text-color);
    opacity: 0;
    transform: translateX(calc(-50% - calc(max(13px, 0.8vw)))) translateY(-50%) scale(0);
    will-change: transform, opacity;
    transition: transform 0.25s var(--bounce-past-transition), opacity 0.2s linear;
}

.card-title-and-circle-wrapper:hover .card-circle {
    opacity: 1;
    transform: translateX(calc(-50% - calc(max(13px, 0.8vw)))) translateY(-50%) scale(1);
}

.tag-card .card-image-wrapper {
    aspect-ratio: 4/3;
}

.tag-card .card-text {
    font-size: max(calc(26px * var(--heading-font-scale)), calc(1.81vw * var(--scale) * var(--heading-font-scale)));
}

.tag-card .card-small-text {
    opacity: 0.7;
}

html[data-primary-font="Thunder"] .tag-card .card-small-text {
    margin-top: max(2px, calc(0.14vw * var(--scale)));
}

.tag-card .card-small-text {
    margin-top: max(4px, calc(0.28vw * var(--scale)));
}

@media screen and (max-width: 1080px) {
    .card-title-and-circle-wrapper:hover .card-circle {
        opacity: 0;
        transform: translateX(calc(-50% - calc(max(13px, 0.6vw)))) scale(0);
    }
}

@media screen and (max-width: 767px) { 
    .tag-card .card-content {
        margin-top: 12px;
    }

    .tag-card .card-text {
        font-size: calc(22px * var(--heading-font-scale));
    }

    .tag-card .card-small-text p {
        font-size: 14px;
    }

    .tag-card .card-small-text {
        margin-top: 2px;
    }

    html[data-primary-font="Thunder"] .tag-card .card-small-text {
        margin-top: 0px;
    }
}