.cart-overlay app-cart {
    overflow: auto;
}

.cart-aside {
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
    padding:0 5%;
    /*overflow-y:scroll;
    -webkit-overflow-scrolling:touch*/
}
.cart-aside .cart-header{
    display:flex;
    justify-content:space-between;
    width:100%;
    border-bottom:1px solid #e5e5e5;
    padding-top:1rem;
    padding-bottom:1rem
}
.cart-aside .cart-header .back-button{
    width:40px;
    padding:16px 16px 16px 0;
    display:flex;
    align-items:center
}
.cart-aside .cart-header .cart-icon{
    position:relative;
    padding:.2rem .75rem
}
.cart-aside .cart-header .cart-icon .cart-badge{
    position:absolute;
    top:0;
    right:0;
    display:flex;
    border-radius:50%;
    font-size:12.8px;
    font-size:.8rem;
    padding:.7rem;
    background-color:#d30061;
    color:#fff;
    font-weight:700
}
.cart-aside .cart-header .cart-icon .cart-badge .count{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%)
}
.cart-aside .cart-header .filler{
    width:24px;
    width:1.5rem;
    padding:1rem 0 1rem 1rem
}
.cart-aside .free-shipping-calculator{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
    border-bottom:1px solid #e5e5e5
}
.cart-aside .free-shipping-calculator .message .add-more{
    font-size:14.4px;
    font-size:.9rem
}
.cart-aside .free-shipping-calculator .progress-bar{
    width:100%;
    display:flex;
    padding-bottom:1rem
}
.cart-aside .free-shipping-calculator .progress-bar .empty-bar,
.cart-aside .free-shipping-calculator .progress-bar .filled-bar{
    height:8px;
    height:.5rem;
    transition:width .3s ease-in-out
}
.cart-aside .free-shipping-calculator .progress-bar .filled-bar{
    background-color:#d30061
}
.cart-aside .free-shipping-calculator .progress-bar .empty-bar{
    background-color:#e5e5e5
}
.cart-aside .cart-items{
    display:flex;
    flex-direction:column;
    width:100%;
    /*overflow-y:scroll;
    -webkit-overflow-scrolling:touch*/
}
.cart-aside .cart-items .cart-item{
    display:flex;
    justify-content:space-between;
    align-items:stretch;
    padding-top:1rem;
    padding-bottom:1rem;
    border-bottom:1px solid #e5e5e5;
    /*min-height:185px*/
}
.cart-aside .cart-items .cart-item .image-wrapper{
    max-width:144px;
    max-width:9rem;
    padding-right: 1rem;
}
.cart-aside .cart-items .cart-item .image-wrapper img{
    width:100%
}
.cart-aside .cart-items .cart-item .details{
    display:flex;
    flex-direction:column;
    flex:1 0 50%;
    max-width:50%;
    overflow-x:hidden;
    align-items:flex-start;
    justify-content:space-between
}
.cart-aside .cart-items .cart-item .details .title{
    /*font-size:20px;
    font-size:1.25rem;*/
    font-size: 14px;
    font-size: .8rem;
    /*overflow-x:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;*/
    width:100%;
    padding-top: 0;
}
.cart-aside .cart-items .cart-item .details .quantity{
    display:flex;
    border:2px solid #e5e5e5
}
.cart-aside .cart-items .cart-item .details .quantity .quantity-button{
    color:#494945;
    width:32px;
    width:2rem;

    padding:13px 0;
}
.cart-aside .cart-items .cart-item .details .quantity .quantity-amount{
    outline:none;
    border:none;
    text-align:center;
    padding-left:0;
    padding-right:0;
    width:32px;
    width:2rem
}
.cart-aside .cart-items .cart-item .details .quantity .quantity-amount::-webkit-inner-spin-button,
.cart-aside .cart-items .cart-item .details .quantity .quantity-amount::-webkit-outer-spin-button{
    -webkit-appearance:none;
    margin:0
}
.cart-aside .cart-items .cart-item .price-and-remove{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    align-items:flex-end;
    flex-shrink:0;
    width:60px;
    width:3.75rem
}
.cart-aside .cart-items .cart-item .price-and-remove app-icon-close{
    width:16px;
    width:1rem
}
.cart-aside .cart-items .cart-item .price-and-remove .price{
    padding-bottom:1rem;
    white-space: nowrap;
    margin-top: auto;
}
.cart-aside .cart-items .cart-item .price-and-remove .price.del{
    text-decoration:line-through
}
.cart-aside .promo{
    display:flex;
    flex-direction:column;
    width:100%;
    border-bottom:1px solid #e5e5e5
}
.cart-aside .promo a{
    position:relative;
    width:100%;
    height:100%;
    padding-top:1rem;
    padding-bottom:1rem;
    text-decoration:none;
    color:#141212;
    font-weight:700
}
.cart-aside .promo a:hover{
    color:#655a5a
}
.cart-aside .promo a .promo-text{
    width:100%;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    position:relative
}
.cart-aside .promo a app-icon-down-arrow{
    position:absolute;
    top:50%;
    right:0;
    transform:translateY(-50%);
    width:48px;
    padding:16px;
    transition:transform .3s ease-in-out
}
.cart-aside .promo a app-icon-down-arrow.open{
    transform:rotate(180deg) translateY(50%)
}
.cart-aside .promo .promo-dropdown{
    display:flex;
    flex-direction:column;
    align-items:center;
    padding-bottom:16px
}
.cart-aside .promo .promo-dropdown .apply-promo{
    display:flex;
    width:100%;
    justify-content:space-between;
    padding-bottom:8px
}
.cart-aside .promo .promo-dropdown .apply-promo input{
    width:60%
}
.cart-aside .promo .promo-dropdown .apply-promo .btn{
    width:30%
}
.cart-aside .promo .promo-dropdown .error{
    width:100%
}
.cart-aside .promo .promo-dropdown .error p{
    color:red
}
.cart-aside .promo .promo-dropdown .active-codes{
    display:flex;
    flex-wrap:wrap;
    width:100%;
    align-items:center;
    justify-content:flex-start
}
.cart-aside .promo .promo-dropdown .active-codes p{
    margin:8px 8px 0 0
}
.cart-aside .promo .promo-dropdown .active-codes .promo-code{
    display:flex;
    margin-right:8px;
    margin-top:8px;
    padding:8px 16px;
    align-items:center;
    background-color:#f4f4f4;
    border:1px solid #e5e5e5;
    border-radius:16px
}
.cart-aside .promo .promo-dropdown .active-codes .promo-code .code{
    padding-right:8px;
    line-height:1
}
.cart-aside .promo .promo-dropdown .active-codes .promo-code .remove{
    padding-top:2px;
    width:10px;
    cursor:pointer
}
.cart-aside .checkout-details{
    width:100%;
    padding-top:1rem
}
.cart-aside .checkout-details, .cart-aside .checkout-details .totals{
    display:flex;
    flex-direction:column
}
.cart-aside .checkout-details .totals .total{
    display:flex;
    justify-content:space-between;
    align-items:center
}
.cart-aside .checkout-details .totals .total .label{
    font-weight:700
}
.cart-aside .checkout-details .totals .total p{
    margin:0 0 .5rem
}
.cart-aside .checkout-details .totals .total.total-total{
    margin-top:8px;
    padding-top:4px;
    border-top:1px solid #e5e5e5
}
.cart-aside .checkout-details .checkout-buttons{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    align-items:center;
    margin-top:.5rem;
    padding-bottom:16px
}
.cart-aside .checkout-details .checkout-buttons .btn, .cart-aside .checkout-details .checkout-buttons .stripe-express{
    width:100%;
    margin-bottom:1rem
}
.cart-aside .checkout-details .upsell{
    padding:8px 5%;
    margin-bottom:16px;
    display:flex;
    flex-direction:column;
    width:100%;
    background-color:#fcf0f3
}
.cart-aside .checkout-details .upsell .message p{
    margin-top:0
}
.cart-aside .checkout-details .upsell .product{
    display:flex;
    align-items:stretch
}
.cart-aside .checkout-details .upsell .product .image{
    width:100px;
    margin-right:16px
}
.cart-aside .checkout-details .upsell .product .image img{
    width:100px
}
.cart-aside .checkout-details .upsell .product .details{
    display:flex;
    flex-direction:column
}
.cart-aside .checkout-details .upsell .product .details h3{
    flex:100%;
    font-size:14px;
    font-size:.875rem
}
.cart-aside .checkout-details .upsell .product .details .price-add{
    display:flex;
    align-items:center
}
.cart-aside .checkout-details .upsell .product .details .price-add p{
    margin-right:16px
}
.cart-aside .checkout-details .upsell .product .details .price-add .btn{
    width:100px
}
.cart-aside .no-items{
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    height:100%;
    width:100%
}
.cart-aside .notices .notice{
    padding-left:8px;
    margin-bottom:8px;
    border-left:3px solid #a9a9a9;
    background-color:#fcf0f3
}
.cart-aside .notices .notice.error{
    border-left:3px solid red
}

/* *** */
app-icon-back-arrow div,
app-icon-cart div,
app-icon-close div {
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%
}
app-icon-back-arrow div svg,
app-icon-close div svg {
    width:100%;
    max-width:50px
}
app-icon-back-arrow div.hot-pink svg .a,
app-icon-close div.hot-pink svg .a {
    stroke:#d30061
}
app-icon-back-arrow div.hot-pink:hover svg .a,
app-icon-close div.hot-pink:hover svg .a {
    stroke:#6d0032
}
app-icon-back-arrow div.rich-black svg .a,
app-icon-close div.rich-black svg .a {
    stroke:#141212
}
app-icon-back-arrow div.rich-black:hover svg .a,
app-icon-close div.rich-black:hover svg .a {
    stroke:#655a5a
}

app-icon-cart svg {
    width: 100%;
    max-width: 50px;
    stroke: #141212;
    stroke-miterlimit: 1;
    stroke-width: .1;
}

/* *** */
.upsell-product{
    display:flex;
    align-items:center;
    padding:0 5%
}
.upsell-product .image, .upsell-product .image img{
    width:150px
}
.upsell-product .details{
    text-align:left;
    padding-left:8px;
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between
}
.upsell-product .details a{
    width:100%
}
.upsell-product .details a h3{
    font-size:14px;
    font-size:.875rem;
    width:100%
}
.upsell-product .details app-variation-selector{
    padding-top:8px;
    width:100%
}
.upsell-product .details p{
    font-size:14px;
    font-size:.875rem
}
.upsell-product .details .btn{
    width:auto;
    padding-left:16px;
    padding-right:16px;
    display:flex;
    align-items:center
}
.upsell-product .details .btn img{
    padding-left:4px
}
.upsell-product .details.with-variation h3{
    padding-bottom:8px
}
.upsell-product.cart .image, .upsell-product.cart .image img{
    width:100px
}
.upsell-product.cart .details p{
    flex:30%;
    min-width:64px
}
.upsell-product.cart .details .btn{
    flex:60%;
    min-width:100px;
    text-align:center;
    justify-content:center
}
@media only screen and (min-width:1024px){
    .upsell-product{
        align-items:flex-start
    }
}

/* *** */

.variation-selector .attribute{
    margin:0
}
.variation-selector .attribute.subscription{
    border:1px solid #d30061
}
.variation-selector .attribute.subscription .subscription-selector{
    display:flex;
    flex-direction:column;
    padding:24px
}
.variation-selector .attribute.subscription .subscription-selector p{
    text-align:left
}
.variation-selector .attribute.subscription .subscription-selector .one-time-option{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between
}
.variation-selector .attribute.subscription .subscription-selector .one-time-option .one-time-description{
    width:100%
}
.variation-selector .attribute.subscription .subscription-selector .subscription-option{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    font-weight:700
}
.variation-selector .attribute.subscription .subscription-selector .subscription-option .subscription-description{
    width:100%
}
.variation-selector .attribute.subscription .subscription-selector app-radio-button{
    padding:0
}
.variation-selector .attribute.subscription .subscription-details{
    position:relative
}
.variation-selector .attribute.subscription .subscription-details .subscription-options{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between
}
.variation-selector .attribute.subscription .subscription-details .subscription-options .option{
    width:30%;
    margin:3px;
    color:#141212;
    border:1px solid #d30061;
    transition:background-color color .3s ease-in-out ease-in-out .3s
}
.variation-selector .attribute.subscription .subscription-details .subscription-options .option.active, .variation-selector .attribute.subscription .subscription-details .subscription-options .option:hover{
    background-color:#d30061;
    color:#fff
}
.variation-selector .attribute.subscription .subscription-details .recommended{
    color:#d30061;
    text-align:center;
    margin-top:0
}
.variation-selector .attribute.subscription .subscription-details .sub-save-link{
    width:100%;
    padding:16px 0 0;
    text-align:center
}
.variation-selector .attribute.subscription .subscription-details .tooltip{
    position:absolute;
    width:100%;
    top:95%;
    left:0;
    right:0;
    padding:8px 24px;
    background-color:#fff;
    border:1px solid #d30061;
    box-shadow:3px 3px 3px rgba(51,51,51,.2);
    z-index:1
}
.variation-selector .attribute.subscription .subscription-details .tooltip .header{
    display:flex;
    justify-content:flex-end;
    margin-bottom:-16px
}
.variation-selector .attribute.subscription .subscription-details .tooltip .header .close, .variation-selector .attribute.subscription .subscription-details .tooltip .header .close app-icon-close{
    width:20px
}
.variation-selector .attribute.subscription .subscription-details .tooltip p{
    margin:8px 0
}
.variation-selector .attribute.subscription .subscription-details .tooltip .first{
    margin-top:0
}
.variation-selector .attribute.subscription .subscription-details .tooltip .list-title{
    font-weight:700
}
.variation-selector .attribute.subscription .subscription-details .tooltip ul{
    list-style:unset;
    padding:0 24px;
    text-align:left
}
.variation-selector .attribute .swatches{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap
}
.variation-selector .attribute .swatches .swatch-wrapper{
    padding:3px;
    background-color:transparent;
    border-radius:50%
}
.variation-selector .attribute .swatches .swatch-wrapper .swatch{
    width:32px;
    width:2rem;
    height:32px;
    height:2rem;
    border-radius:50%;
    margin:0;
    cursor:pointer
}
.variation-selector .attribute .swatches .swatch-wrapper .swatch.white{
    border:1px solid #494945
}
.variation-selector .attribute .swatches .swatch-wrapper.out-of-stock .swatch{
    opacity:.3;
    cursor:not-allowed
}
.variation-selector .attribute .swatches .swatch-wrapper:hover{
    padding:2px;
    border:1px solid #e5e5e5
}
.variation-selector .attribute .swatches .swatch-wrapper.selected{
    padding:2px;
    border:1px solid #494945
}
.variation-selector .attribute .attribute-selector{
    margin:0
}
.variation-selector .attribute .attribute-selector .select{
    width:auto;
    text-align:left;
    margin-bottom:8px
}
.variation-selector .attribute .attribute-selector .select div{
    margin:0
}
.variation-selector.left-align .attribute .swatches{
    justify-content:flex-start
}
.variation-selector.left-align .attribute .swatches .swatch-wrapper:first-child{
    margin-left:0
}
@media only screen and (min-width:1024px){
    .variation-selector .attribute .swatches{
        justify-content:flex-start;
        margin-left:0
    }
    .variation-selector .attribute .selected-label, .variation-selector .attribute .swatches .swatch-wrapper:first-child{
        margin-left:0
    }
    .variation-selector .attribute .attribute-selector .select{
        margin-left:0;
        margin-right:0;
        width:100%
    }
}
app-radio-button{
    display:flex;
    position:relative;
    padding:24px 16px
}
app-radio-button input[type=radio]{
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin:0;
    z-index:1;
    opacity:0;
    cursor:pointer
}




/* *** */
/*
div {
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%
}
div   svg {
    width:100%;
    max-width:50px;
    stroke:#141212;
    stroke-miterlimit:1;
    stroke-width:.1
}
div   svg   .a {
    fill:none
}
div   svg   .a,
div   svg   .b,
div   svg   .c {
    stroke-miterlimit:10;
    stroke-width:1.5px;
    transition:stroke .3s ease-in-out,fill .3s ease-in-out
}
div   svg   .b {
    fill:none
}
div   svg   .b,
div   svg   .c {
    stroke-linecap:round
}
div.pink   .a,
div.pink   .b,
div.pink   .c {
    stroke:#d30061
}
div.pink   .c {
    fill:#d30061
}
div.pink:hover   .a,
div.pink:hover   .b,
div.pink:hover   .c {
    stroke:#6d0032
}
div.pink:hover   .c {
    fill:#6d0032
}
div.no-link.black   svg   .a,
div.no-link.black   svg   .b,
div.no-link.black   svg   .c {
    stroke:#141212
}
div.no-link.black   svg   .c {
    fill:#141212
}
div.no-link.grey   svg   .a,
div.no-link.grey   svg   .b,
div.no-link.grey   svg   .c {
    stroke:#e5e5e5
}
div.no-link.grey   svg   .c {
    fill:#e5e5e5
}
*/

/* --- */

/*.cart-overlay {
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:1499;
    background-color:#fff;
    overflow-y:auto
}
.cart-overlay   .overlay,
.desktop-only {
    display:none
}
@media only screen and (min-width:1024px) {
    .cart-overlay {
        display:flex;
        justify-content:flex-end;
        left:unset
    }
    .cart-overlay app-cart {
        width:400px;
        background-color:#fff
    }
    .cart-overlay   .overlay {
        display:initial;
        position:fixed;
        top:0;
        left:0;
        right:0;
        bottom:0;
        z-index:-1;
        background-color:#fff;
        background-color:hsla(0,0%,100%,.5);
        overflow-y:auto
    }
}*/