.coupon-bg {
    transition: box-shadow .3s;
    border: 2px dashed #1ABC9C;
    background-color: #1ABC9C;
    border-radius: 10px / 15px;
}

.coupon-bg:hover:not(.allow-false) {
    cursor: pointer;
    box-shadow: 0 0 11px rgba(36, 169, 247, 1);
}

.coupon-bg>div.bg-overlay {
    opacity: .5;
}

.coupon-bg>div.bg-overlay-text {
    position: absolute;
    text-align: center;
    font-weight: 600;
    width: 100%;
    height: 100%;
    padding: 20px 5px;
    z-index: 6;
}

div.bg-overlay-text>h3 {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.coupon-outer {
    background-color: white;
    border-radius: 8px / 15px;
    margin: 1px;
    padding: 5px 7px 5px 7px;
    overflow: hidden
}

.coupon-inner {
    border: 2px dashed #1ABC9C;
    border-top: 0;
    background-color: white;
    border-radius: 0 0 10px 10px;
}

.coupon-inner {
    font-size: 1.2rem;
}

.coupon-date {
    font-size: 1.2rem;
    color: gray;
}

.coupon-outer h3.card-title {
    background-color: #1ABC9C;
    border-radius: 5px;
    color: white;
    margin-bottom: 0px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical;
}

.coupon-half-circle:before {
    content: "";
    position: absolute;
    margin-top: auto;
    margin-bottom: auto;
    top: 0;
    bottom: 0;
    height: 60px;
    left: 0px;
    aspect-ratio: 1/2;
    /* as the half of the width */
    background-color: #1ABC9C;
    border-top-right-radius: 200% 100%;
    border-bottom-right-radius: 200% 100%;
    border: 2px white;
    border-left: 0px;
}

.coupon-half-circle {
    position: absolute;
    margin-top: auto;
    margin-bottom: auto;
    top: 0;
    bottom: 0;
    left: 1px;
    height: 70px;
    aspect-ratio: 1/2;
    /* as the half of the width */
    background-color: white;
    border-top-right-radius: 200% 100%;
    border-bottom-right-radius: 200% 100%;
    border: 2px dashed #1ABC9C;
    border-left: 0px;
    border-top: 0px;
    border-bottom: 0px;
}

.coupon-info {
    min-height: 70px;
}

@media (max-width: 991.98px) {
    .coupon-outer h3.card-title {
        line-clamp: 2;
        -webkit-line-clamp: 2;
        font-size: 1rem;
    }

    .coupon-inner {
        font-size: 1rem;
    }

    .coupon-date {
        font-size: 0.8rem;
    }
}
