.card {
    --bs-card-spacer-y: 0.75rem;
    --bs-card-spacer-x: 1.25rem;
    --bs-card-title-spacer-y: 0.5rem;
    --bs-card-title-color: var(--bs-heading-color);
    --bs-card-border-width: 0;
    --bs-card-border-color: var(--bs-border-color);
    --bs-card-border-radius: 0.7rem;
    --bs-card-inner-border-radius: 0.7rem;
    --bs-card-cap-padding-y: 0.5rem;
    --bs-card-cap-padding-x: 1rem;
    --bs-card-cap-bg: var(--bs-body-bg);
    --bs-card-bg: var(--bs-body-bg);
    --bs-card-img-overlay-padding: 1.25rem;
    --bs-card-group-margin: 0.9375rem;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 0;
    color: var(--bs-body-color);
    word-wrap: break-word;
    background-color: var(--bs-card-bg);
    background-clip: border-box;
    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
    border-radius: var(--bs-card-border-radius);
}

.card .card-img-overlay {
    z-index: 2;
}

.card-img-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1.25rem;
    border-radius: 0.7rem;
}

.card-grid .card-grid-lg {
    height: 560px;
}

.card.card-overlay-bottom {
    overflow: hidden;
}

.card-body {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
}

.card-bg-scale {
    z-index: 99;
}

.card-bg-scale::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: inherit;
    -webkit-transition: all 1s !important;
    transition: all 1s !important;
    z-index: -2;
}

.card-bg-scale:hover::after {
    transform: scale(1.1);
    transition: all 1s !important;
}

.card, .overflow-hidden {
    will-change: transform;
}

.card-featured {
    position: absolute;
    z-index: 99;
    background: var(--bs-primary);
    color: var(--bs-white);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    text-align: center;
    top: -8px;
    right: -48px;
    width: 120px;
    padding: 16px 0 3px 0;
}

.card-grid .card-grid-sm {
    height: calc(280px - var(--bs-gutter-y) / 2);
}

.card.card-overlay-bottom:before {
    content: "";
    position: absolute;
    height: 50%;
    width: 100%;
    bottom: 0;
    left: 0;
    right: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, from(transparent), to(black));
    background-image: linear-gradient(180deg, transparent, black);
    z-index: 1;
}

