.opc-wrapper{
    padding-right: 50px;
}
.opc-block-summary{background: transparent;padding: 0;}
div#opc-sidebar {
    border: 1px solid #ccc;
}
.opc-block-summary > .title{border: none !important;padding: 10px 20px;}
.opc-progress-bar-item:before{
        background: #C4C4C4;
        border: 1px solid #C4C4C4;
}
.opc-progress-bar-item > span:after{
    background: #fff;
    border: 1px solid #C4C4C4;
}
.opc-progress-bar-item > span:before{
        background: #C4C4C4;
}

.opc-progress-bar-item._active > span:after{
    border-color: #df0024;
}
.opc-progress-bar-item._active:before{
        background: #df0024;
        border-color: #df0024;
}
.opc-progress-bar-item._active > span:before{
    background: #df0024;
    border-color: #df0024;
}
.opc-progress-bar{
    margin: 50px 0 20px;
}
.opc-wrapper .form-login .fieldset .field .label, .opc-wrapper .form-shipping-address .fieldset .field .label {
    font-weight: 400;
    position: static;
    clip: inherit;
    width: auto;
    height: auto;
    color: #20315E;
}
#checkout .authentication-wrapper{
    margin-top: 30px;
}
.opc-wrapper .field[name="shippingAddress.firstname"], .opc-wrapper .field[name="shippingAddress.lastname"], .opc-wrapper .field[name="shippingAddress.region"], .opc-wrapper .field[name="shippingAddress.street.0"], .opc-wrapper .field[name="shippingAddress.street.1"], .opc-wrapper .field[name="shippingAddress.city"], .opc-wrapper .field[name="shippingAddress.postcode"], .opc-wrapper .field[name="shippingAddress.country_id"],.opc-wrapper .field[name="shippingAddress.region_id"]{
    width: 49%;
    display: inline-block;
    vertical-align: top;
}
.opc-wrapper .field[name="billingAddressshared.firstname"], .opc-wrapper .field[name="billingAddressshared.lastname"], .opc-wrapper .field[name="billingAddressshared.region"], .opc-wrapper .field[name="billingAddressshared.street.0"], .opc-wrapper .field[name="billingAddressshared.street.1"], .opc-wrapper .field[name="billingAddressshared.city"], .opc-wrapper .field[name="billingAddressshared.postcode"], .opc-wrapper .field[name="billingAddressshared.country_id"]{
    width: 49%;
    display: inline-block;
    vertical-align: top;
}
.opc-wrapper .field[name="shippingAddress.lastname"], .opc-wrapper .field[name="shippingAddress.street.1"], .opc-wrapper .field[name="shippingAddress.postcode"], .opc-wrapper .field[name="shippingAddress.region"] {
    float: right;
}
.opc-wrapper .field[name="billingAddressshared.lastname"], .opc-wrapper .field[name="billingAddressshared.street.1"], .opc-wrapper .field[name="billingAddressshared.postcode"], .opc-wrapper .field[name="billingAddressshared.region"],.opc-wrapper .field[name="shippingAddress.region_id"] {
    float: right;
}
.field[name="shippingAddress.company"], .field[name="shippingAddress.street.2"], .field[name="billingAddressshared.company"], .field[name="billingAddressshared.street.2"], .field[name="billingAddressshared.company"], .field[name="billingAddressshared.street.2"] {
    display: none;
}
.opc-wrapper .field[name="shippingAddress.street.1"], .opc-wrapper .field[name="billingAddressshared.street.1"]{
    margin:0;
}
.opc-wrapper .form-login, .opc-wrapper .form-shipping-address {
    max-width: 100%;
}
.checkout-payment-method .field-select-billing, .checkout-payment-method .billing-address-form {
    max-width: 100%;
}
.opc-wrapper .form-login .fieldset .field .label, .opc-wrapper .fieldset .field .label {
    font-weight: 400;
    font-size: 14px;
    line-height: 17px;
    color: #20315E;
    letter-spacing: 0;
}
#checkout input[type="text"], #checkout input[type="password"], #checkout input[type="url"], #checkout input[type="tel"], #checkout input[type="search"], #checkout input[type="number"], #checkout input[type="datetime"], #checkout input[type="email"] {
    background: #fff;
    background-clip: padding-box;
    border: 1px solid #BBBBBB;
    border-radius: 0;
    font-size: 14px;
    height: 40px;
    line-height: 1.42857143;
    padding: 0 14px;
    vertical-align: baseline;
    width: 100%;
    box-sizing: border-box;
    color: #646464;
}
#checkout select {
    border: 1px solid #BBBBBB;
    border-radius: 0px;
    font-size: 14px;
    height: 40px;
    padding: 4px 25px 5px 15px;
    box-sizing: border-box;
    color: #646464;
    line-height: 1;
}
.checkout-shipping-method .actions-toolbar > .primary {
    float: none;
}
#checkout-shipping-method-load tr.row {
    margin: 0;
}
#checkout button.action.action-auth-toggle {
    background: #292826;
    color: #fff;
    padding: 5px 10px;
    border:1px solid #292826;
}
#checkout button.action.action-auth-toggle:hover {
    background: transparent;
    color: #292826;
    text-decoration: none;
}
.checkout-payment-method .payment-option-content .form-discount {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    justify-content: space-between;
    min-width: 100%;
}
.checkout-payment-method .payment-option-inner{
    padding: 0 30px 20px 0;
    min-width: 80%;
}
.abs-sidebar-totals, .cart-totals, .opc-block-summary .table-totals{
    border: 0;
}
.checkout-payment-method .payment-option-content {
    padding: 0;
}
.checkout-payment-method .discount-code .payment-option-content .form-discount .actions-toolbar {
    display: block;
    vertical-align: top;
    width: 200px;
    min-width: 200px;
    margin-top: 0;
}
.checkout-payment-method .payment-option-content #reward-points-form{
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-between;
    min-width: 100%;
}
.checkout-payment-method #reward-points-form .payment-option-inner {
    min-width: 75%;
}
#reward-points-form .checkbox-group {
    margin-bottom: 10px;
    min-width: 150px;
}
.checkout-payment-method .payment-option-content #reward-points-form .actions-toolbar.rewards-checkout-buttons-block {
    min-width: 100%;
}
.checkout-payment-method .payment-option-content #reward-points-form .actions-toolbar.rewards-checkout-buttons-block .primary{
    display: flex;
    justify-content: space-between;
    min-width: 100%;  
}
.checkout-payment-method .payment-option-content #reward-points-form .actions-toolbar.rewards-checkout-buttons-block .primary .button{
    background: #DF0024;
    color: #fff;
    box-shadow: none;
    border: 1px solid #DF0024;
    border-bottom-left-radius: 3px;
    border-top-left-radius: 3px;
}
.checkout-payment-method .payment-option-content #reward-points-form .actions-toolbar.rewards-checkout-buttons-block .primary .button:hover{
    background: transparent;
    color:#DF0024;
}
.opc-wrapper .form-discount#discount-form button.action.action-apply{
    background: #292826;
    border: 1px solid #292826;
    color: #fff;
    padding: 0 10px;
    height: 40px;
    margin:0;
    border-radius: 3px;
    font-weight: normal;
    box-shadow: none;
    transition: all 0.5s ease;
}
.opc-block-summary .product-image-wrapper{border: 1px solid #ccc;}
.opc-block-summary .minicart-items-wrapper{
    padding: 20px 20px;
    width: 100%;
    max-height: 550px;
}
.opc-block-summary .items-in-cart > .title{
    padding: 0;
}
.opc-block-summary .items-in-cart > .title {
    border-bottom: 1px solid #EAEAEA;
}
.minicart-items .product-item:not(:first-child){
    border-top: 1px solid #EAEAEA;
}
.opc-block-summary .minicart-items-wrapper::-webkit-scrollbar {
    display: none;
}
li.opc-progress-bar-item._complete:before, .opc-progress-bar-item._complete > span:before {
    background: #FFA200;
}
.opc-wrapper .form-discount#discount-form button.action.action-apply:hover{background:transparent;color:#292826;}
#checkout .actions-toolbar .action.primary{
    margin: 0;
    font-size: 15px;
    font-weight: normal;
    padding:10px 20px;
}
.checkout-payment-method .payment-method-content{padding:0;}
#checkout .opc-wrapper .step-title {
    border-bottom: 1px solid #cccccc;
    margin-bottom: 15px;
    font-weight: 500;
    font-size: 22px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: 0em;
    text-align: left;
    color: #20315E;
}
.opc-block-summary .block.items-in-cart {
    margin: 0;
}
.opc-block-summary > .title{
    display: none;
}
.opc-block-summary .block.items-in-cart .cart-title-block{
    display: flex;
    justify-content: space-between;
    padding: 0 15px 0 15px;
}
.opc-block-summary .block.items-in-cart .cart-title-block .title strong{
    font-size: 16px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: 0em;
    text-align: right;
}
.opc-block-summary .block.items-in-cart .cart-title-block .cart-summary-title{
    display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: 0em;
    text-align: left;
    color: #20315E;
    text-transform: uppercase;
}
.opc-block-summary .minicart-items{display: block !important;padding-bottom: 10px;}
.opc-block-summary .items-in-cart > .title:after{display: none;}
.checkout-payment-method .payment-option-title .action-toggle{color:#3e4850;}
.checkout-payment-method .payment-option-title{padding-left: 0;}
.checkout-payment-method .payment-method-title{padding: 10px 0;}
.opc-wrapper .shipping-address-item {
    width: 33.33333333%;
    border: 1px solid #E1E1E1;
    margin-right: 20px;
}
.opc-block-shipping-information{padding: 0;}
.opc-block-shipping-information .shipping-information-title{padding: 0px 20px 10px;display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: 0em;
    text-align: left;
    color: #20315E;
    text-transform: uppercase;}
.opc-block-shipping-information .shipping-information-title .action-edit{right: 20px;top: 5px;}
.opc-block-shipping-information .shipping-information-content{padding: 0 20px;}
.abs-sidebar-totals tbody .mark, .abs-sidebar-totals tfoot .mark, .cart-totals tbody .mark, .cart-totals tfoot .mark, .opc-block-summary .table-totals tbody .mark, .opc-block-summary .table-totals tfoot .mark{padding: 10px 20px;}
.abs-sidebar-totals tbody .amount, .abs-sidebar-totals tfoot .amount, .cart-totals tbody .amount, .cart-totals tfoot .amount, .opc-block-summary .table-totals tbody .amount, .opc-block-summary .table-totals tfoot .amount{
    padding: 6px 20px 10px 20px;
}
.abs-sidebar-totals .grand .mark, .cart-totals .grand .mark, .opc-block-summary .table-totals .grand .mark{padding:10px 15px;}
.abs-sidebar-totals .grand .amount, .cart-totals .grand .amount, .opc-block-summary .table-totals .grand .amount{padding: 10px 20px;}
#opc-sidebar span.swatch-option {
    width: 20px;
    height: 20px;
    border-radius: 100%;
    min-width: auto;
}
.opc-block-summary .items-in-cart > .title strong{padding: 0 20px;}
.opc-wrapper .shipping-address-item:nth-child(3n){
    margin: 0;
}
.opc-wrapper .shipping-address-item.selected-item {
    border-color: #292826;
}
.opc-wrapper .shipping-address-item.selected-item:after{background:#292826;}
.opc-wrapper .action-show-popup {
    margin: 0 0 20px;
    font-weight: normal;
    font-size: 14px;
    padding: 7px 10px;
    width: auto;
    height: auto;
}
.opc-wrapper .action-select-shipping-item {
    float: right;
    margin: 20px 0 0;
    font-weight: normal;
    font-size: 14px;
    padding: 7px 15px;
    line-height: 24px;
    height: auto;
}
.modal-popup.modal-slide .modal-footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.opc-wrapper .shipping-address-item a, .opc-wrapper .billing-address-details a, .opc-wrapper .shipping-information-content a {
    color: #3e4850;
}
.opc-wrapper .edit-address-link:before{display: none;}
.opc-wrapper .edit-address-link > span{position: static;overflow: visible;}
.opc-wrapper .shipping-address-item button.action.edit-address-link, .opc-wrapper .billing-address-details button.action-edit-address {
    background: #3e4850;
    border: 1px solid #3e4850;
    font-size: 15px;
    color: #fff;
    margin: 0;
    padding: 7px 15px;
    margin: 20px 0 0;
    font-weight: normal;
    position: static;
    width: 100px;
    line-height: 24px;
}
.opc-wrapper .shipping-address-item button.action.edit-address-link:hover, .opc-wrapper .billing-address-details button.action-edit-address:hover, .opc-wrapper .billing-address-details button.action-edit-address:focus {
    background: transparent;
    color: #3e4850;
    text-decoration: none;
}
.checkout-index-index .modal-popup .modal-footer button.action.secondary.action-hide-popup, .checkout-index-index .checkout-billing-address .action-cancel {
    background: #292826;
    border: 1px solid #292826;
    font-size: 15px;
    color: #fff;
    margin: 0;
    padding: 7px 15px;
    height: auto;
}
.checkout-index-index .checkout-billing-address .action-cancel{margin-right: 10px;padding:9px 10px;}
.checkout-index-index .modal-popup .modal-footer button.action.secondary.action-hide-popup:hover, .checkout-index-index .checkout-billing-address .action-cancel:hover {
    text-decoration: none;
    background: transparent;
    color: #292826;
    border:1px solid #292826;
}
.checkout-index-index .modal-popup .modal-footer .action-save-address{margin:0 10px 0 0;font-weight: normal;
    background: #DF0024;
    border: 1px solid #DF0024;
    font-size: 15px;
    padding: 5px 15px;
    border-radius: 0;
}
.checkout-index-index .modal-popup .modal-footer .action-save-address:hover{
    background: #F63F5C;
    border: 1px solid #F63F5C;
}
.modal-popup .modal-footer{
    padding-bottom: 20px;
    padding-top: 20px;
}
.opc-payment .actions-toolbar{
    margin-bottom:20px;
}
.opc-block-summary > .title {
    display: none;
    font-weight: 500;
    border-bottom: 1px solid #ccc;
    font-size: 18px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: 0em;
    text-align: left;
    color: #20315E;
}
.minicart-items .product-item-name{
    color: #20315E;
    text-align: left;
    font-size: 18px;
    min-height: auto;
}
.minicart-items .product-item-details .details-qty{
    font-size: 18px;
    color: #20315E;
}
.minicart-items .product-item-details .price, 
.minicart-items .product-item-pricing .label{
    font-size: 18px;
    color: #20315E;
}
.checkout-payment-method .checkout-billing-address .primary .action-update {
    margin-bottom: 20px;
    margin-right: 0;
    font-weight: normal;
}

#checkout .form-login .secondary {
    margin-top: 5px;
    text-align: left;
    margin-left: 0;
}
#checkout .form-login .actions-toolbar .secondary a.action{color:#df0024;}
.opc-wrapper #onepage-checkout-shipping-method-additional-load .control{position: relative;}
.opc-wrapper ._has-datepicker ~ .ui-datepicker-trigger{
    position: absolute;
    top: 11px;
    right: 10px;
}
.checkout-container{position: relative;}
#checkout .authentication-wrapper {
    margin-top: 30px;
    position: absolute;
    right: 0;
    top: 30px;
}
#checkoutSteps .field.street legend.label{ display: none; }
#checkoutSteps .field.street .field{ width: 100%; }
#checkoutSteps .field.street .field.additional{ float: left; width: 100%; margin-top: 10px; }
.opc-block-summary .minicart-items-wrapper .product-image-container{ width: 75px !important; height: auto !important;min-height: inherit;}
.minicart-items .product-item-details{ cursor: pointer; }
.custom-form-body{ margin-bottom: 30px; }
.checkout-index-index .modal-popup .form-shipping-address{ max-width: inherit; }
#checkout-shipping-method-load{display:none;}
.checkout-shipping-method .step-title{display:none;}
.checkout-payment-method .checkout-billing-address .billing-address-details{
    padding: 0;
    color: #20315e;
}

.opc-block-summary .table-totals tr.totals.sub th{
    padding: 10px 15px;
}
.opc-block-summary .table-totals tr.totals.sub th,
.opc-block-summary .table-totals tr.totals.sub td{
    font-weight: 700;
    color: #20315E;
}
@media (min-width: 768px) and (max-width: 1199px){
    .opc-wrapper .shipping-address-item {
        width: 47%;
        border: 1px solid #E1E1E1;
        margin-right: 20px;
    }
    .opc-wrapper .shipping-address-item:nth-last-child(1) {
        margin: 0;
    }
}
@media (min-width: 992px)
{
.opc-progress-bar .opc-progress-bar-item:nth-of-type(1) {
    margin-left: 0;
}
}
@media (max-width: 1200px) {   
    .checkout-payment-method .payment-option-content .form-discount{
        flex-wrap: wrap;
        padding-bottom: 20px;
    }
    .checkout-payment-method .payment-option-inner{
        min-width: 100%;
        padding: 0 0 20px 0;
    }
    .checkout-payment-method #reward-points-form .payment-option-inner {
        min-width: 100%;
    }
}
@media (max-width: 767px) {   
    .opc-wrapper {
        padding-right: 0;
    }
    .opc-block-summary .items-in-cart > .title{padding: 0;}
    .opc-wrapper .shipping-address-item{width: 100%;margin-right: 0;padding: 15px 32px 15px 18px;}
    .custom-slide._show{z-index: 99999 !important;}
    .checkout-payment-method .payment-methods{ margin: 0px; }     
    .checkout-payment-method .payment-method-content {
        padding: 0 15px;
    }
    .opc-progress-bar-item {
        position: relative;
        max-width: 140px;
    }
    li.opc-progress-bar-item:nth-last-child(1) {
        max-width: 73px;
    }
    .opc-progress-bar > li:nth-child(2) span {
        margin-left: -25px !important;
        white-space: nowrap;
        display: block;
    }
    .opc-progress-bar-item._active > span:after{
        left:21px;
    }
    .opc-progress-bar-item._complete > span:after {
        left: 21px;
    }
    .opc-wrapper .form-login, .opc-wrapper .form-shipping-address, .opc-wrapper .methods-shipping {
        background: none;
        margin: 0;
        padding: 0;
    }
    .opc-wrapper .step-title {
        border-bottom: 1px solid #cccccc;
        margin-bottom: 15px;
        padding-bottom: 10px;
    }
    .field-tooltip {
        cursor: pointer;
        position: absolute;
        right: 10px;
        top: 3px;
    }    
    .opc-estimated-wrapper {
        background: none;
        border-bottom: 1px solid #cccccc;
        border-top:none;
        margin: 0 -15px;
        padding: 10px 15px;
        display: flex;
        justify-content: space-between;
    }
    .fieldset > .legend + br{
        display: none;
    }
    #checkout .opc-wrapper .step-title{
        padding-top: 10px;
    }
    .opc-estimated-wrapper .minicart-wrapper button.action.showcart:before, .opc-estimated-wrapper .minicart-wrapper button.action.showcart.active:before {
        background-size: 30px;
    }
    .opc-estimated-wrapper .minicart-wrapper{margin:0; width: auto;}   
    .opc-estimated-wrapper .estimated-block .estimated-label, .opc-estimated-wrapper .estimated-block .estimated-price{color:#20315e;}
    .opc-estimated-wrapper:before {
        display: none;
    }
    .opc-estimated-wrapper:after {
        display: none;
    }
    .checkout-index-index .nav-sections, .checkout-index-index .nav-toggle{display: block;}
    #checkout .methods-shipping .actions-toolbar .action.primary{float: left;width: auto;margin:20px 0 0 0;}
    .checkout-shipping-address .actions-toolbar .secondary {
        text-align: left;
    }
    #checkout .authentication-wrapper {
        margin-top: 20px;
        position: static;
        top: 0;
        width: 100%;
        max-width: 100%;
        text-align: center;
        margin-bottom: 20px;
    }
    #checkout button.action.action-auth-toggle {
        width: 100%;
        max-width: 100%;
    }
    .checkout-index-index .modal-popup .modal-footer .action-save-address{width: auto;}
}

.checkout-index-index .nav-sections{display: block;}


.opc-progress-bar-item._active > span{
    text-align: center;
    color: #20315E;
}
.opc-progress-bar-item{
    width: 220px;
}
.opc-progress-bar-item > span{
    text-align: center;
    padding-top: 55px;
    font-size: 24px;
}
.opc-progress-bar-item > span:before, .opc-progress-bar-item > span:after{
    height: 58px;
    width: 58px;
}
.opc-progress-bar-item > span:after{
    height: 46px;
    width: 46px; 
}
.opc-progress-bar-item:before{
    top: 26px;
}
.minicart-items .product-item .product{
    color: #20315E;
}
.minicart-items .product-item .product.active{
    display: block;
}
.minicart-items .product-item .product .item-options{
    font-size: 16px;
}
.opc-block-summary {
    /*background: #F7F7F7;*/
}

.minicart-items .product .toggle:after{
    color: #20315E;
}
div#opc-sidebar {
    border: 0;
    background: #F7F7F7;
    border-radius: 14px;
}
.opc-block-summary .items-in-cart > .title strong{
    font-size: 18px;
    font-weight: 400;
    color: #20315E;
}