@mixin curb-lines($numLines) {
    overflow: hidden;
    display: -webkit-box;
    line-clamp: $numLines;
    -webkit-line-clamp: $numLines;
    -webkit-box-orient: vertical;
}

@mixin font-style($style, $fallback) {
    font-family: $style, $fallback;
}

.card-subtitle {
    @include curb-lines(1);
    @include font-style(var(--global-font-family), 'Roboto');
    font-size: small;
}

.card-title {
    @include curb-lines(1);
    @include font-style(var(--global-font-family), 'Roboto');
    font-size: large;
    margin-bottom: 0;
}

.card-body {
    padding: 1rem 0;
}

.card-text {
    font-size: medium;
}

.card {
    height: 20rem;
    border: 1px solid #fff;
    border-radius: 0.75rem;
    transition: box-shadow, transform 200ms ease;
}

.card:hover {
    box-shadow: 0rem 0.05rem 0.8rem #e6e6e6;
    transform: scale(1.02);
}

.wishlistBtn {
    min-width: 2rem !important;
    width: 2rem !important;
    position: relative;
    right: 7px;
}

.no-image {
    background-color: #f8f7f7;
    height: 210px;
    display: flex;
    align-items: flex-end;
    animation: load 1s infinite;
}

.card-img-top {
    border-radius: 0.75rem;
}

.wishlist {
    display: flex;
    justify-content: center;
}

@keyframes load {
    0% {
        opacity: 100%
    }

    50% {
        opacity: 50%
    }

    100% {
        opacity: 100%
    }
}