.shopping-step {
    font-size: 16px;
    color: #5FA385;
    text-align: center;
    padding: 10px 0;
    margin-bottom: 30px;
    font-family: 'Josefin Sans',sans-serif
}

    .shopping-step li {
        position: relative;
        padding: 10px 20px;
        border: 2px solid #CBE0D8;
        margin: 0 30px
    }

        .shopping-step li + li:before {
            content: "";
            background: url(../../images/common/cart/step_arrow.png) 0 50% no-repeat;
            display: inline-block;
            vertical-align: middle;
            width: 30px;
            height: 30px;
            position: absolute;
            left: -50px;
            bottom: 7px
        }

        .shopping-step li.current {
            color: #fff;
            background: #81b140;
            position: relative
        }

            .shopping-step li.current:after {
                content: "";
                border: 2px solid #fff;
                left: 0;
                right: 0;
                top: 0;
                bottom: 0;
                display: block;
                position: absolute;
                z-index: 3
            }

        .shopping-step li, .shopping-step li > * {
            display: inline-block;
            vertical-align: middle
        }

            .shopping-step li .icon {
                display: block;
                background-image: url(../../images/common/cart/step_ic.html);
                width: 53px;
                height: 53px;
                margin: 0 auto 5px
            }

.delivery-list {
    border: solid #DCDCDC;
    border-width: 1px 0;
    margin-bottom: 30px
}

    .delivery-list .item {
        overflow: hidden;
        padding: 2px 0
    }

        .delivery-list .item + .item {
            border-top: 1px solid #DCDCDC
        }

    .delivery-list .form-group {
        display: table;
        width: 100%
    }

    .delivery-list .delivery-radio {
        display: table-cell;
        vertical-align: middle;
        width: 30%;
        color: #777;
        font-size: 15px;
        font-weight: 700;
        padding: 15px 10px 15px 70px;
        position: relative;
        box-sizing: border-box
    }

        .delivery-list .delivery-radio.checked {
            background: #d6e7e0
        }

        .delivery-list .delivery-radio:before {
            position: absolute;
            z-index: 2;
            top: 50%;
            left: 14px;
            margin: -14px 0 0;
            width: 28px;
            height: 28px;
            background-image: url(../../images/common/cart/delivery_radio.svg)
        }

.no-svg .delivery-list .delivery-radio:before {
    background-image: url(../../images/common/cart/delivery_radio.png)
}

.delivery-list .delivery-radio:after {
    content: '';
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    bottom: 0;
    background: #ddd;
    width: 56px
}

.delivery-list .delivery-radio input {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: -6px 0 0 -150px;
    z-index: 600
}

.delivery-list .txt {
    display: table-cell;
    vertical-align: middle;
    padding: 15px;
    font-size: 15px;
    color: #777
}

    .delivery-list .txt b {
        color: #81b140
    }

.no-item {
    padding: 20px 0 40px;
    text-align: center;
    border-bottom: 1px solid #ddd;
    margin: 0
}

.cart-table .pd-id {
    color: #aaa;
    font-size: 12px
}

.cart-table .pd-name {
    color: #81b140;
    font-size: 15px;
    display: inline-block
}

.cart-table a:hover .pd-name {
    color: #444
}

.cart-table .plus-tag {
    display: inline-block;
    color: #a29ce8;
    margin-bottom: 4px
}

.cart-table .indent {
    border-top: hidden
}

    .cart-table .indent td {
        padding-top: 0
    }

.cart-table .img {
    width: 90px
}

.cart-table .indent .img .pic {
    position: relative;
    left: 30px
}

.cart-table .indent .info {
    padding-left: 35px
}

.cart-table a.pic {
    position: relative;
    overflow: hidden;
    width: 80px
}

    .cart-table a.pic:before {
        content: ' ';
        background: rgba(255,255,255,0.3);
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        opacity: 0;
        transition: all .3s
    }

    .cart-table a.pic:hover:before {
        opacity: 1
    }

.cart-table .tag {
    background: #E51B6C;
    color: #fff;
    font-size: 13px;
    display: inline-block;
    vertical-align: text-bottom;
    padding: 2px 6px;
    border-radius: 4px;
    margin-right: 6px
}

.cart-table .btn.delete {
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 17px;
    color: #777
}

    .cart-table .btn.delete:hover {
        color: #7FCAA5
    }

    .cart-table .btn.delete .ic {
        vertical-align: middle;
        margin: 0 0 2px
    }

.sum-box {
    padding: 0
}

.sum-table {
    border: 0
}

    .sum-table tr {
        background: #F0F0F0;
        color: #555
    }

        .sum-table tr + tr {
            border-top: 1px solid #fff
        }

    .sum-table td {
        text-align: right;
        padding: 10px 30px
    }

        .sum-table td:first-child {
            font-size: 15px
        }

        .sum-table td:last-child {
            width: 15%
        }

    .sum-table tr:last-child td {
        color: #ce0808
    }

        .sum-table tr:last-child td:last-child {
            font-size: 16px;
            font-weight: 700
        }

    .sum-table td .form-control {
        display: inline-block;
        width: auto;
        margin: 0
    }

.payment-box {
    border: 1px dashed #DCDCDC;
    border-width: 1px 0;
    overflow: hidden;
    font-size: 15px;
    color: #666;
    margin-top: 2px;
    padding: 5px 0
}

    .payment-box .shopping-title {
        float: left;
        margin: 5px 0
    }

.payment {
    float: right;
    margin: 5px 15px 0;
    text-align: right
}

    .payment label, .invoice-info label {
        display: inline-block;
        text-align: left;
        border: 1px solid #CCC;
        line-height: 2;
        padding: 5px 15px;
        margin: 0 5px 5px;
        min-width: 148px;
        border-radius: 4px;
        box-sizing: border-box
    }

        .payment label.checked, .invoice-info label.checked {
            color: #81b140;
            border-color: #81b140
        }

.plus-box {
    margin: 20px 0 0
}

.plus-txt {
    border: 1px solid #DCDCDC;
    text-align: center;
    color: #5F5F5F;
    font-size: 18px;
    padding: 15px;
    background: #F0F0F0
}

    .plus-txt b {
        color: #81b140
    }

.plus-list-box {
    padding: 30px 0 0
}

.plus-list {
    margin: 0 -5px
}

    .plus-list .item {
        width: 20%;
        padding: 0 5px
    }

    .plus-list .box {
        max-width: 320px;
        margin: 0 auto 10px;
        position: relative;
        border: 1px solid #D7D7D7
    }

        .plus-list .box:hover {
            border: 1px solid #81b140;
            background: #E8F3F1
        }

    .plus-list .pic-box {
        position: relative;
        overflow: hidden
    }

    .plus-list .pic {
        display: block;
        position: relative;
        overflow: hidden;
        border: 10px solid #fff
    }

        .plus-list .pic:before {
            content: '';
            background: rgba(255,255,255,0.3);
            display: block;
            position: absolute;
            z-index: 1;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            opacity: 0;
            transition: all .3s
        }

    .plus-list .box:hover .pic:before {
        background-position: 50% 50%;
        opacity: 1
    }

    .plus-list .pic-box .ibtn {
        background-image: url(../../images/common/products/btns.html);
        width: 48px;
        height: 48px;
        position: absolute;
        z-index: 2;
        right: 0;
        top: 0
    }

    .plus-list .txt, .plus-list .pd-info {
        padding: 0 15px
    }

    .plus-list .btn-group {
        padding: 0 15px 10px;
        border-bottom: 5px solid #D6E7E0
    }

    .plus-list .name {
        color: #5F5F5F;
        font-size: 18px;
        font-weight: 700;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        height: 28px;
        position: relative;
        margin: 10px 0;
        padding: 0 0 10px
    }

        .plus-list .name:after {
            content: '';
            width: 60px;
            height: 2px;
            background: #95C6BE;
            position: absolute;
            bottom: 0;
            left: 0;
            z-index: 15
        }

    .plus-list .box:hover .name {
        color: #4D8C83
    }

    .plus-list .offers {
        color: #DA6994;
        font-size: 15px;
        line-height: 30px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        height: 30px
    }

    .plus-list .pd-info select.form-control {
        max-width: none
    }

    .plus-list .qty-box {
        float: left;
        width: 92px
    }

    .plus-list .btn-group {
        overflow: hidden;
        margin-top: 8px
    }

    .plus-list .btn.addcart {
        height: 30px;
        background: #81b140;
        color: #fff;
        font-size: 13px;
        font-weight: 700;
        line-height: 30px;
        letter-spacing: 0;
        width: calc(100% - 96px);
        float: right;
        border-radius: 5px
    }

        .plus-list .btn.addcart:hover {
            background: #B8B9AA
        }

        .plus-list .btn.addcart .ic {
            font-size: 16px;
            vertical-align: text-bottom;
            margin: 0 5px 1px 0
        }

.shopping-form {
    padding: 40px 0 0;
    margin: 0 -20px
}

    .shopping-form .shopping-title {
        padding: 5px;
        text-align: center
    }

    .shopping-form .row {
        display: table;
        width: 100%;
        table-layout: fixed;
        border-spacing: 20px 0
    }

        .shopping-form .row:after {
            display: none
        }

    .shopping-form .col {
        display: table-cell;
        vertical-align: top;
        width: 50%;
        position: relative;
        border: 1px solid #D7D7D7
    }

    .shopping-form .form-box {
        padding: 30px
    }

    .shopping-form .col1 .shopping-title {
        margin-right: -20px;
        padding-right: 20px;
        padding-left: 12px;
        color: #81b140;
        font-size: 20px;
        margin-top: 10px
    }

    .shopping-form .col2 .shopping-title {
        margin-left: -20px;
        padding-left: 20px;
        color: #81b140;
        font-size: 20px;
        margin-top: 10px
    }

    .shopping-form .shopping-title .ic {
        display: block;
        font-size: 16px
    }

    .shopping-form .control-label {
        color: #7F7F7F;
        font-size: 14px
    }

    .shopping-form .tips {
        min-height: 0
    }

    .shopping-form .btn.select-store {
        border: 1px solid #7FCAA5;
        width: 145px;
        height: 36px;
        line-height: 34px;
        color: #999;
        font-size: 15px;
        background: #f1f9fb
    }

        .shopping-form .btn.select-store:hover {
            background: #7fcaa5;
            color: #fff
        }

    .shopping-form .btn.select-unable {
        color: #7fcaa5;
        text-decoration: underline;
        vertical-align: baseline
    }

        .shopping-form .btn.select-unable:hover {
            color: #F3856D;
            text-decoration: none
        }

    .shopping-form .same-check {
        padding: 15px 0 5px
    }

        .shopping-form .same-check label {
            display: block;
            color: #ef3619;
            font-size: 14px;
            font-weight: 700
        }

.invoice-info-box {
    border: 1px solid #DCDCDC;
    text-align: center
}

.invoice-info {
    padding: 35px 15px 0
}

.invoice-form .form-box {
    padding: 10px 15px 0;
    max-width: 900px
}

.invoice-form .row {
    margin: 0 -8px
}

    .invoice-form .row:before {
        display: none
    }

.invoice-form .col {
    padding: 0 8px
}

.invoice-form .control-label {
    display: none
}

.invoice-txt {
    padding: 15px 15px 35px
}

    .invoice-txt span {
        color: #000
    }

    .invoice-txt a {
        color: #7FCAA5
    }

        .invoice-txt a:hover {
            text-decoration: underline
        }

.alert-notice-editor {
    background: #fff;
    border: 2px solid #CBE0D8;
    max-width: 1000px;
    margin: 3.6em auto 1.8em;
    padding: 3% 20px 4%;
    box-sizing: border-box
}

.success-box .order-id {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    padding: 5px 16px;
    color: #E5196C;
    font-size: 15px;
    font-weight: bold;
    margin: 1.6em auto
}

body .alert-fancybox .fancybox-skin {
    border: none
}

@media screen and (max-width: 1440px) {
    .plus-list {
        margin: 0 -7px
    }

        .plus-list .item {
            padding: 0 7px
        }
}

@media screen and (max-width: 1320px) {
    .plus-list .item {
        width: 33.33%
    }

        .plus-list .item:nth-child(4n+1) {
            clear: none
        }

        .plus-list .item:nth-child(3n+1) {
            clear: left
        }
}

@media screen and (max-width: 1100px) {
    .shopping-step li {
        padding: 10px 25px
    }
}

@media screen and (max-width: 767px) {
    .shopping-step {
        padding: 0
    }

        .shopping-step li {
            font-size: 15px;
            display: block;
            padding: 15px 0;
            margin: 40px 0
        }

            .shopping-step li + li:before {
                top: 0;
                left: 50%;
                margin: -35px 0 0 -15px;
                transform: rotate(90deg)
            }

            .shopping-step li .icon {
                display: inline-block;
                width: 35px;
                height: 35px;
                background-size: auto 70px;
                margin: 0 10px 3px 0
            }

    .delivery-list .form-group, .delivery-list .delivery-radio, .delivery-list .txt {
        display: block
    }

    .delivery-list .delivery-radio {
        width: auto
    }

    .delivery-list .txt {
        border-width: 1px 0 0
    }

    .cart-table tbody tr {
        padding-left: 94px
    }

    .cart-table .img {
        position: absolute;
        left: 0;
        top: 10px;
        width: 80px
    }

    .cart-table .indent .img .pic {
        left: 0
    }

    .cart-table .indent .info {
        padding-left: 0
    }

    .cart-table td .btn.delete {
        position: absolute;
        right: 0;
        top: 5px
    }

    .cart-table .pd-name {
        line-height: 1.2;
        width: 170px;
        text-align: left
    }

    .sum-table tr {
        padding: 5px;
        overflow: hidden
    }

    .sum-table td, .cart-table .indent .info {
        padding: 0
    }

        .sum-table td:first-child {
            float: left;
            text-align: left;
            font-size: 14px
        }

        .sum-table td:last-child {
            width: auto
        }

    .plus-list-box {
        padding: 25px 0 0
    }

    .plus-list .item {
        width: 50%
    }

        .plus-list .item:nth-child(3n+1) {
            clear: none
        }

        .plus-list .item:nth-child(2n+1) {
            clear: left
        }

    .plus-list .box {
        margin-bottom: 30px
    }

    .shopping-form, .shopping-form .row, .shopping-form .col {
        display: block;
        width: auto;
        margin: 0;
        padding: 0;
        border: 0;
        background: none
    }

        .shopping-form .col {
            margin-top: 1.8em
        }

            .shopping-form .col .shopping-title {
                margin: 0;
                padding: 5px 8px
            }

        .shopping-form .form-box {
            max-width: none;
            padding: 10px
        }

        .shopping-form .col2 .form-box {
            min-height: auto
        }
}

@media screen and (max-width: 520px) {
    .plus-list .item {
        width: 100%
    }
}

@media screen and (max-width: 400px) {
    .payment-box .shopping-title, .payment {
        float: none
    }

        .payment label, .invoice-info label {
            display: block;
            margin: 0 0 10px
        }
}
