#coupons_snackbar {
    position: fixed;
    display: inline-grid;
    grid-template-columns: auto auto;
    padding: 14px 0 14px 24px;
    bottom: 0;
    transform: translateX(-100%);
    background-color: white;
    transition: transform 0.5s ease;
    z-index: 2147483645;

}
@media screen and ( min-width: 1100px ) {
    #coupons_snackbar {
        bottom: 24px;
        background-color: white;
    }
}
@media screen and ( max-width: 479px ) {
    #coupons_snackbar {
        width: 100%;
    }
}
#coupons_snackbar > p {
    margin: 0;
}
#coupons_snackbar > .close {
    font-weight: bold;
    padding: 0 24px;
    cursor: pointer;
}
/*coupon on cart*/
.ds_coupons > p > a {
    color: #641916 ;
    text-decoration: underline;
    cursor: pointer;
}
.ds_coupons .coupon_list {
    width: 100%;
    display: grid;
    gap: 20px;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: auto;
    margin: 15px 0;
}
@media screen and ( max-width: 479px ) {
    .ds_coupons .coupon_list {
        gap: 10px;
        grid-template-columns: 1fr;
    }
}
.ds_coupons .coupon_list .coupon {
    padding: 15px 10px;
    background: white;
    box-shadow: 0 1px 3px rgba(0,0,0,0.12), 0 1px 2px rgba(0,0,0,0.24);
    transition: all 0.3s cubic-bezier(.25,.8,.25,1);
}
.ds_coupons .coupon_list .coupon p {
    margin: 0;
}
/*
Bounce animation
*/
@-webkit-keyframes bounce {
    0%, 20%, 53%, 80%, 100% {
        -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    40%, 43% {
        -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -webkit-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0);
    }

    70% {
        -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -webkit-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0);
    }

    90% {
        -webkit-transform: translate3d(0,-4px,0);
        transform: translate3d(0,-4px,0);
    }
}

@keyframes bounce {
    0%, 20%, 53%, 80%, 100% {
        -webkit-transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        transition-timing-function: cubic-bezier(0.215, 0.610, 0.355, 1.000);
        -webkit-transform: translate3d(0,0,0);
        transform: translate3d(0,0,0);
    }

    40%, 43% {
        -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -webkit-transform: translate3d(0, -30px, 0);
        transform: translate3d(0, -30px, 0);
    }

    70% {
        -webkit-transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        transition-timing-function: cubic-bezier(0.755, 0.050, 0.855, 0.060);
        -webkit-transform: translate3d(0, -15px, 0);
        transform: translate3d(0, -15px, 0);
    }

    90% {
        -webkit-transform: translate3d(0,-4px,0);
        transform: translate3d(0,-4px,0);
    }
}

.bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}

.animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}