.pb-8 {
    padding-bottom: 2rem !important
}

.card {
    --panel-border-radius: var(--border-radius-lg, 12px);
    position: relative;
    display: flex;
    flex-direction: column;
    border-radius: var(--panel-border-radius);
    overflow: hidden;
    background-color: #fff;
    position: relative;
    height: 100%
}

.card__body {
    flex-grow: 1;
    padding: 16px
}

.card__body.d-grid {
    flex-grow: 0
}

.card--link, a.card {
    position: relative;
    text-decoration: none
}

.card--link::after, a.card::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    border-radius: var(--panel-border-radius);
    border: var(--border, 0 solid transparent);
    transition: all 220ms cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s;
    transition-property: border;
    pointer-events: none
}

@media (prefers-reduced-motion: reduce) {
    .card--link::after, a.card::after {
        transition: none
    }
}

.card--link:hover, a.card:hover {
    color: inherit
}

.card--link:hover::after, a.card:hover::after {
    border: 2px solid #ca3525
}

.card:not(.card--gray):not(.card--shadow) {
    --border: #e3e3e3 1px solid
}

.card:not(.card--gray):not(.card--shadow)::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
    border: var(--border, #e3e3e3 1px solid);
    border-radius: var(--panel-border-radius);
    pointer-events: none
}

.card--sm {
    border-radius: 8px;
}



.card--gray {
    --bs-gray-100: rgba(0, 0, 0, 0.04)
}
.card--gray {
    background-color: var(--bs-gray-100)
}

.card--shadow {
    box-shadow: 0 3px 12px -1px rgba(0, 0, 0, .15)
}

.card__body {
    flex-grow: 1;
    align-items: flex-start;
    gap: .75rem;
    padding: 16px
}

.card__body__responsive {
    display: flex;
    flex: 1 1 auto;
    align-items: flex-start;
    gap: .75rem
}

@media (max-width: 767.98px) {
    .card__body__responsive {
        flex-direction: column
    }
}

.card__media-grid {
    display: grid;
    grid-template-columns:repeat(2, 1fr);
    aspect-ratio: 1;
}

@media (max-width: 767.98px) {
    .card__media-grid > :nth-child(2) ~ * {
        display: none
    }
}

.card__media {
    background-color: #fff
}

.card__media--logo {
    margin-left: auto;
    margin-right: auto;
    width: 80px;
    height: 80px;
    padding: 4px;
    border-radius: var(--border-radius);
    box-shadow: 0 3px 12px -1px rgba(0, 0, 0, .15)
}

.card__media-grid + .card__media--logo {
    position: relative;
    z-index: 2;
    margin-top: -24px
}

.card__media--logo img {
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius-xs)
}
