 /* Widget Mini Cart
    -------------------------------------------------------------- */    
    .tf-mini-cart .mini-cart {
        position: relative;
        display: inline-flex;
    }

    .tf-mini-cart .mini-cart .widget {
        display: none;
    }

    .tf-mini-cart .mini-cart .widget_shopping_cart {
        display: block;
        width: 480px;
        max-width: calc(100% - 50px);
        height: calc(var(--vh, 1vh) * 100);
        position: fixed;
        right: 0;
        top: 0;
        z-index: 99999;
        background-color: #fff;
        border: 1px solid #e5e5e5;
        padding: 20px;
        box-shadow: 0 2px 15px rgba(0, 0, 0, 0.15);       
    }

    .tf-mini-cart .mini-cart #canvas-mini-cart {
        -webkit-transition: all ease .3s;
        -moz-transition: all ease .3s;
        transition: all ease .3s;
        opacity: 0;
        filter: alpha(opacity=0);       
        visibility: hidden;
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        transform: translateX(100%);        
    }

    .tf-mini-cart .mini-cart .cart-count #canvas-mini-cart.canvas-cart-open {
        filter: alpha(opacity=100);
        opacity: 1;
        visibility: visible;
        -webkit-transition: all ease .3s;
        -moz-transition: all ease .3s;
        transition: all ease .3s;
        -webkit-transform: translateX(0px);
        -moz-transform: translateX(0px);
        transform: translateX(0px);
    }    

    #canvas-mini-cart .top-mini-cart {
        display: flex;
        align-items: center;
        position: relative;
        width: 100%;
        color: #000;
        font-size: 18px;
        text-align: left;
        font-weight: 500;
        border-bottom: 1px solid #e5e5e5;
        padding-bottom: 20px;
    }

    #canvas-mini-cart .top-mini-cart .cart-close {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        right: 0;
        width: 40px;
        height: 40px;
        border-radius: 50%;
        background: rgba(0,0,0,0.04);
        cursor: pointer;
    }

    #canvas-mini-cart ul.woocommerce-mini-cart {
        max-height: 100%;
        overflow: hidden;
        overflow-y: auto;
        flex-grow: 1;
    }

    #canvas-mini-cart .widget_shopping_cart_content {
        display: flex;
        flex-direction: column;
        height: calc(100% - 55px);
    }

    .widget_shopping_cart_content ul li,
    .woocommerce .widget_shopping_cart .cart_list li, 
    .woocommerce.widget_shopping_cart .cart_list li {
        position: relative;
        border-top: 1px solid #e5e5e5;
        padding: 15px;
        padding-left: 2em;
        line-height: normal;
    }

    .widget_shopping_cart_content ul li:first-child,
    .woocommerce .widget_shopping_cart .cart_list li:first-child, 
    .woocommerce.widget_shopping_cart .cart_list li:first-child {        
        margin-top: 0;
        border-top: 0;
    }

    .woocommerce .widget_shopping_cart .cart_list li a.remove, 
    .woocommerce.widget_shopping_cart .cart_list li a.remove {
        top: 50%;
        transform: translateY(-50%);
    }

    .woocommerce ul.cart_list li img, 
    .woocommerce ul.product_list_widget li img {
        width: 50px;
    }

    .woocommerce ul.cart_list li a, 
    .woocommerce ul.product_list_widget li a,
    .woocommerce ul.product_list_widget li .quantity {
        color: #000;
        -webkit-transition: all 0.3s ease-in-out;
        -moz-transition: all 0.3s ease-in-out;
        -ms-transition: all 0.3s ease-in-out;
        -o-transition: all 0.3s ease-in-out;
        transition: all 0.3s ease-in-out;
    }    

    .woocommerce .widget_shopping_cart .total, 
    .woocommerce.widget_shopping_cart .total {
        border-top: 1px solid #e5e5e5 !important;
        padding: 20px 0 0px;
    }

    .widget_shopping_cart_content p {
        margin-bottom: 20px;
        padding: 0;        
    }

    .widget_shopping_cart_content p.woocommerce-mini-cart__empty-message {
        margin-top: 20px;      
    }

    .widget_shopping_cart_content p.woocommerce-mini-cart__total {
        display: flex;
        justify-content: space-between;
    }

    .woocommerce .widget_shopping_cart .buttons a, 
    .woocommerce.widget_shopping_cart .buttons a {
        float: left;
        color: #fff;
        text-transform: uppercase;
        font-size: 14px;
        line-height: 26px;
        padding: 10px 16px;
        border: 2px solid transparent;
        font-weight: 700;
        font-family: "Montserrat", sans-serif;
        text-shadow: 0px 1px 1px rgba(0, 0, 0, 0.25) !important;
        margin: 0;
        width: 100%;
        float: none;
        text-align: center;
    }

    .woocommerce .widget_shopping_cart .buttons a.wc-forward:hover, 
    .woocommerce.widget_shopping_cart .buttons a.wc-forward:hover {
        color: #203b48;
        border-color: #e5e5e5;
    }

    .woocommerce .widget_shopping_cart .buttons a.checkout, 
    .woocommerce.widget_shopping_cart .buttons a.checkout {        
        border: 2px solid #e5e5e5;
        background: transparent;
        color: #203b48;
        margin-top: 20px;
    }

    .woocommerce .widget_shopping_cart .buttons a.checkout:hover, 
    .woocommerce.widget_shopping_cart .buttons a.checkout:hover {
        color: #fff;
    }

    .tf-mini-cart .mini-cart .inner-cart-count {
        display: flex;
        position: relative;
    }

    .tf-mini-cart .mini-cart .icon-cart {
        width: 40px;
        height: 40px;
        border-radius: 50%;
        line-height: 40px;
        text-align: center;        
        color: #fff;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .tf-mini-cart .mini-cart .icon-cart:before {
        pointer-events: none;
        position: absolute;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        content: '';
        -webkit-box-sizing: content-box;
        -moz-box-sizing: content-box;
        box-sizing: content-box;
        top: -5px;
        left: -5px;
        padding: 5px;
        box-shadow: 0 0 0 1px ;
        color: #03b162;
        -webkit-transform: scale(1.2);
        -moz-transform: scale(1.2);
        -ms-transform: scale(1.2);
        transform: scale(1.2);
        opacity: 0;
        transition: transform 0.2s, opacity 0.2s;
        -moz-transition: -moz-transform 0.2s, opacity 0.2s;
        -webkit-transition: -webkit-transform 0.2s, opacity 0.2s;
    }

    .tf-mini-cart .mini-cart .wrap-count-content:hover .icon-cart:before {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    .tf-mini-cart .mini-cart .cart-contents {
        position: absolute;
        top: -10px;
        right: 0;
        width: 20px;
        height: 20px;
        background: #fbd83f;
        color: #203b48;
        text-align: center;
        font-size: 14px;
        font-weight: 700;
        border-radius: 3px;
        display: flex;
        justify-content: center; 
        align-items: center;
    }

    .tf-mini-cart .wrap-cart-count .wrap-count-content {
        line-height: normal;
        display: flex;
        align-items: center;
    }

    .tf-mini-cart .mini-cart .inner-cart-count,
    .tf-mini-cart .wrap-cart-count .content-text {
        display: table-cell;
        vertical-align: middle;
    }

    .tf-mini-cart .wrap-cart-count .wrap-count-content h5,
    .tf-mini-cart .wrap-cart-count .wrap-count-content h6 {
        text-transform: uppercase;
        margin: 0;
    }

    .tf-mini-cart .wrap-cart-count .content-text {
        padding-left: 10px;
    }

    .tf-mini-cart .mini-cart .widget {
        line-height: normal;
    } 

    .tf-mini-cart .mini-cart .wrap-cart-count {
        display: inline-block;
        vertical-align: middle;
    }

    .tf-mini-cart .mini-cart .wrap-count-content:hover {
        cursor: pointer;
    }

    .tf-mini-cart .mini-cart .cart-count {
        line-height: normal;
    }

    .tf-mini-cart .cart-count {
        text-align: left;
    }

    .widget_shopping_cart .widget_shopping_cart_content .woocommerce-mini-cart .mini_cart_item {
        padding: 20px 0;
        width: 100%;
        position: relative;
        transition: all .3s;
    }

    .widget_shopping_cart .widget_shopping_cart_content .woocommerce-mini-cart .mini_cart_item img {
        float: left;
        margin: 0;
        display: block;
        width: 80px;
        height: auto;
        margin-right: 15px;
    }

    .widget_shopping_cart .widget_shopping_cart_content .woocommerce-mini-cart .mini_cart_item .remove {
        right: 0;
        left: auto;
        z-index: 1;
        background: 0 0;
        color: #959595 !important;
        position: absolute;
        top: auto;
    }

    .widget_shopping_cart .widget_shopping_cart_content .woocommerce-mini-cart .product-widget-title a {
        line-height: 1.3;
        font-weight: 400;
        color: #000;
    }

    .mini-cart .overlay-mini-cart.canvas-overlay-open {        
        z-index: 9999;
        position: fixed;
        top: 0;
        left:0; 
        width: 100%;
        height: 100%;
        background-color: rgba(0,0,0,.6);
        cursor: url(../img/icon-close.png), auto;
        transition: 300ms ease-out;
    }
