//
//  Variables
//  _____________________________________________

@djo-blue: #0b56c2;
@djo-blue-light: lighten(@djo-blue, 10%);
@djo-blue-dark: #0b408b;
@djo-gray: #4f4a47;
@djo-gray-light: #878583;
@djo-gray-dark: darken(@djo-gray, 10%);
@djo-header-border-color: #dbdfe1;
@djo-orange: #ff9500;

//
//  Common
//  _____________________________________________

& when (@media-common = true) {
    .fastorder-index-index {
        .bss-fastorder-heading-container {
            border: 1px solid #dbdfe1;
            padding: 17px 10px;

            .bss-fastorder-heading {
                font-weight: 800;
                margin-bottom: 0;
            }
        }

        .bss-fastorder-content {
            border-right: 1px solid #dbdfe1;
            padding-left: 10px;
            padding-right: 10px;

            .bss-fastorder-content-heading {
                .lib-font-size(24);
                font-weight: 800;
                margin-bottom: 10px;
                margin-top: 0;
            }

            .bss-fastorder-content-copy {
                .lib-font-size(18);
                color: @djo-gray-light;
                margin-bottom: 0;
            }
        }

        .bss-fastorder-cart {
            background-color: #f8f8f8;
            padding-left: 10px;
            padding-right: 10px;
            text-align: center;

            .items-total {
                margin-bottom: 4px;

                span {
                    .lib-font-size(12);
                    color: @djo-gray;
                    display: inline-block;
                    font-weight: 700;
                    letter-spacing: 0.07em;
                    text-transform: uppercase;
                }
            }

            .subtotal {
                .label {
                    .lib-font-size(20);
                    color: @djo-gray;
                    display: inline-block;
                    margin-bottom: 4px;

                    &::after {
                        content: ":";
                    }
                }

                .amount {
                    .price {
                        .lib-font-size(20);
                        color: @djo-gray;
                        display: inline-block;
                        font-weight: 800;
                        margin-bottom: 4px;
                    }
                }
            }

            .actions {
                .secondary {
                    a {
                        .lib-font-size(12);
                        color: @djo-blue;
                        display: inline-block;
                        font-weight: 700;
                        letter-spacing: 0.07em;
                        margin-bottom: 16px;
                        text-decoration: underline;
                        text-transform: uppercase;

                        &:hover {
                            color: @djo-blue-dark;
                        }
                    }
                }

                .primary {
                    .cart-btn-checkout-fast-order {
                        border-radius: 30px;
                        height: 40px;
                        padding-bottom: 0;
                        padding-top: 0;
                    }
                }
            }
        }

        //
        //  Product Table
        //  ---------------------------------------------
        //
        #bss-fastorder-form {
            .table-wrapper {
                border-bottom: none;
                border-top: none;
                margin-bottom: 0;
                overflow-x: visible;
                overflow-y: visible;
                position: static;

                .bss-fastorder-row {
                    border-bottom: 1px solid #dbdfe1;
                    border-left: 1px solid #dbdfe1;
                    border-right: 1px solid #dbdfe1;
                    border-top: none;
                    margin-top: 0;
                    padding: 17px 10px;

                    td {
                        &::before {
                            color: @djo-gray;
                        }

                        .bss-search-input {
                            .lib-font-size(13);
                            border-radius: 30px;
                            box-sizing: border-box;
                            height: 40px;
                            max-width: 212px;
                            padding-left: 25px;
                            padding-right: 25px;
                            width: 71.3%;

                            + .bss-btn-ok {
                                margin-left: 5px;
                            }
                        }

                        .bss-btn-ok {
                            background: @djo-blue;
                            border: 1px solid @djo-blue;
                            border-radius: 30px;
                            box-sizing: border-box;
                            height: 40px;
                            letter-spacing: 0.07em;
                            max-width: 50px;
                            padding: 0;
                            width: 25%;

                            &:hover {
                                background: @djo-blue-dark;
                                border-color: @djo-blue-dark;
                            }

                            span {
                                line-height: inherit;
                            }
                        }

                        .bss-product-name-select {
                            .lib-font-size(17);
                            font-weight: 700;
                            margin-bottom: 4px;
                        }

                        .bss-product-sku-select,
                        .bss-product-option-select,
                        .bss-product-custom-option-select {
                            .lib-font-size(14);
                        }

                        .bss-product-baseprice .price {
                            color: @djo-gray;
                            display: inline-block;
                            font-weight: 700;
                            margin-top: 4px;
                        }

                        .input-text.qty {
                            .lib-font-size(16);
                            color: @djo-gray;
                            height: 33px;
                            max-width: 100%;
                            width: 33px;

                            &.readonly {
                                border-color: transparent;
                                border: 0;
                                box-shadow: none;
                                outline-style: none;
                                outline: 0;
                            }
                        }

                        .price {
                            font-weight: 700;
                        }

                        &.bss-fastorder-row-action {
                            .button {
                                .lib-font-size(14);
                                background: transparent;
                                border: none;
                                border-radius: 0;
                                color: @djo-blue;
                                font-weight: 400;
                                padding: 0;

                                &:hover {
                                    text-decoration: underline;
                                }
                            }
                        }
                    }
                }

                tfoot {
                    background-color: transparent;

                    tr {
                        border-bottom: 1px solid #dbdfe1;
                        border-left: 1px solid #dbdfe1;
                        border-right: 1px solid #dbdfe1;
                        border-top: none;
                        margin-top: 0;

                        td {
                            border-top: none;
                            vertical-align: top;

                            .bss-addline {
                                visibility: hidden; /* !!! @DO - hiding because of duplicate line/insert issue https://happy.doperative.com/projects/djo-dr-comfort-mgb/tasks/313 */
                                .lib-font-size(12);
                                background: transparent;
                                border-radius: 30px;
                                color: @djo-gray;
                                height: 40px;
                                letter-spacing: 0.07em;
                                line-height: 1;
                                text-transform: uppercase;

                                &:hover {
                                    background: @djo-gray;
                                    color: #fff;
                                }

                                span {
                                    line-height: inherit;
                                }
                            }

                            .tocart {
                                border-radius: 30px;
                                height: 40px;

                                span {
                                    line-height: inherit;
                                }
                            }

                            .tertiary-actions {
                                .lib-clearfix();
                                margin-top: 10px;
                                text-align: center;

                                .tertiary {
                                    float: right;

                                    .clearcart {
                                        .lib-font-size(12);
                                        color: @djo-blue;
                                        display: none;
                                        font-weight: 600;
                                        letter-spacing: 0.07em;
                                        margin: 8px 0 0;
                                        text-decoration: none;
                                        text-transform: uppercase;

                                        &:hover {
                                            background-color: transparent;
                                            color: @djo-blue;
                                            text-decoration: underline;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            .bss-fastorder-autocomplete {
                z-index: 2;

                ul {
                    border-color: #dbdfe1;

                    li {
                        .bss-product-info {
                            .bss-highlight {
                                color: @djo-blue;
                            }

                            .bss-product-sku {
                                color: @djo-gray;

                                strong {
                                    font-weight: 400;
                                }
                            }

                            .bss-product-price {
                                .bss-price {
                                    color: @djo-gray;
                                    font-weight: 700;
                                }
                            }
                        }
                    }
                }
            }
        }

        //
        //  Option Popup
        //  ---------------------------------------------
        //
        .bss-content-option-product-mask {
            bottom: 0;
            left: 0;
            margin: auto;
            position: fixed;
            right: 0;
            top: 0;
            z-index: 100;
            background: rgba(0, 0, 0, 0.5);
        }

        #bss-content-option-product {
            //border: none !important;
            //border-radius: 10px;
            //box-shadow: 0 0 20px 5px rgba(0,0,0,0.25);
            //max-height: none;
            //margin: 0;
            //overflow: inherit !important;
            //padding: 0;
            //text-align: left;
            //width: 448px;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;//100vw;
            height: 100%;//100vh;
            background: rgba(0, 0, 0, 0.5);
            display: flex;
            align-items: center;
            justify-content: center;
            z-index: 1000;
            margin-left: auto;
            margin-right: auto;
            min-height: auto;
            min-width: auto;
            margin-top: auto;
            max-height: none;
            max-width: none;
            padding: 0;
            text-align: left;
            border: 0 !important;
            box-shadow: none;

            .bss-popup-window {
                box-sizing: border-box;
                background: white;
                min-height: auto;
                min-width: auto;
                max-height: 90vh; /* prevent it from growing too tall */
                max-width: 90vw;   /* optional: prevent it from growing too wide */
                overflow: auto;
                border-radius: 8px;
                padding: 20px;
                box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
                width: 540px;
                position: relative;

                //.bss-content-option-product-container {
                //    margin: 20px 0 0;
                //    overflow-y: auto;
                //    padding: 10px 20px;
                //}
            }
        }

        .bss-content-option-product-header {
            .bss-cancel-option-x {
                .lib-font-size(18);
                background: @djo-blue;
                border-radius: 50%;
                color: #fff;
                cursor: pointer;
                height: 24px;
                right: 2px;
                line-height: 23px;
                width: 24px;
                position: absolute;
                text-align: center;
                top: 2px;

                &:hover {
                    background: @djo-blue-dark;
                }

                span {
                    display: inline-block;
                    margin-left: -1px;
                }
            }
        }

        #bss-content-option-product {
            .bss-content-option-product-container {
                .bss-product-info {
                    .lib-clearfix();
                    margin-bottom: 10px;

                    .image {
                        float: right;
                    }

                    .product-name {
                        .lib-font-size(24);
                    }

                    .price-box {
                        margin-bottom: 0;
                        margin-top: 0;

                        .price {
                            .lib-font-size(21);
                            color: @djo-gray;
                        }
                    }

                    .product.attribute.reimbursement {
                        .lib-font-size(12);
                    }
                }

                .bss-product-option {
                    border: none;
                    padding: 0;

                    .label {
                        text-transform: uppercase;
                    }

                    .input-text {
                        border-color: #b4b4b4;
                        border-radius: 30px;
                        height: 40px;
                        padding-left: 20px;
                    }

                    .inserts {
                        .fieldset {
                            font-size: 0;

                            .field {
                                box-sizing: border-box;
                                display: inline-block;
                                margin-bottom: 0;
                                padding-left: 5px;
                                padding-right: 5px;
                                text-align: center;
                                width: 33.3333%;

                                .label {
                                    .lib-font-size(12);
                                    display: inline-block;
                                    text-transform: none;
                                    width: 80%;

                                    span {
                                        span {
                                            display: block;
                                        }
                                    }
                                }

                                &.disabled {
                                    .label {
                                        opacity: .4;
                                        text-decoration: line-through;
                                    }
                                }

                                .control {
                                    margin-left: auto;
                                    margin-right: auto;
                                    width: 80%;

                                    .input-text {
                                        .lib-font-size(12);
                                        font-weight: 700;
                                    }
                                }
                            }
                        }
                    }

                    .patientinfo {
                        .fieldset {
                            &:first-child {
                                margin-top: 12px;
                            }

                            &:not(:last-child) {
                                margin-bottom: 7px;
                            }

                            //.field {
                            //    .label {
                            //        .lib-visually-hidden();
                            //    }
                            //}
                        }
                    }
                }

                .bss-box-button {
                    margin-top: 12px;

                    .actions {
                        border-top: none;
                        padding-top: 0;

                        .action-container {
                            text-align: center;

                            .action.primary {
                                .lib-font-size(15);
                                border-radius: 30px;
                                height: 40px;
                                line-height: 1;
                                margin-bottom: 12px;
                                padding: 0;
                                width: 60%;
                            }

                            .action:not(.primary) {
                                background: transparent;
                                border: none;
                                color: @djo-blue;
                                font-size: 14px;
                                height: auto;
                                letter-spacing: normal;
                                line-height: 1;
                                padding: 0;
                                text-transform: none;
                                vertical-align: baseline;
                                width: auto;

                                &:hover {
                                    text-decoration: underline;
                                }
                            }

                            // @DO - Uncomment if you need the cancel action to be a button
                            // .action:not(.primary) {
                            //     .lib-font-size(15);
                            //     background: transparent;
                            //     border: 1px solid @djo-gray;
                            //     border-radius: 30px;
                            //     color: @djo-gray;
                            //     font-weight: 700;
                            //     height: 40px;
                            //     letter-spacing: 0.07em;
                            //     line-height: 1;
                            //     margin: 0;
                            //     padding: 0;
                            //     text-transform: uppercase;
                            //     vertical-align: middle;
                            //     width: 60%;
                            //     &:hover {
                            //         background: @djo-gray;
                            //         color: #fff;
                            //     }
                            // }
                        }
                    }
                }
            }
        }

        .product.attribute.sku {
            .lib-font-size(14);
            display: inline-block;
            text-transform: uppercase;
            word-break: break-all;
            word-wrap: break-word;

            .type {
                font-weight: 400;

                &::after {
                    content: ":\00a0";
                }
            }

            .value {
                display: inline-block;
            }
        }

        .swatch-option-tooltip {
            z-index: 99999;
        }

        //
        //  Fast Order Minicart
        //  ---------------------------------------------
        //
        #minicart-content-wrapper-fast-order {
            #preview-cart {
                .minicart-items-wrapper-fast-order {
                    height: auto !important; // @DO - !important is used to override JS
                    .product.item.product-item,
                    .product.item.product-item:first-child {
                        border-bottom: 1px solid #dbdfe1;
                        border-left: 1px solid #dbdfe1;
                        border-right: 1px solid #dbdfe1;
                        padding: 17px 10px;

                        &:not(:first-child) {
                            border-top: none;
                        }

                        .product-item-details {
                            padding-left: 0;

                            .product-item-name-pricing-container {
                                .product-item-name {
                                    .lib-font-size(17);
                                    font-weight: 700;
                                    line-height: 1.2;
                                    margin-bottom: 4px;
                                    margin-top: 0;

                                    a {
                                        color: @djo-gray;

                                        &:hover {
                                            text-decoration: none;
                                        }
                                    }
                                }

                                .product-item-pricing {
                                    .price-container {
                                        .price-wrapper {
                                            .price-excluding-tax {
                                                margin-bottom: 0;
                                                margin-top: 0;

                                                .minicart-price {
                                                    .price {
                                                        .lib-font-size(16);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            .product.options:not(.list) {
                                .lib-font-size(16);

                                .toggle {
                                    font-weight: 700;
                                    padding-top: 5px;
                                }

                                .product.options.list {
                                    .lib-clearfix();

                                    dt {
                                        clear: left;
                                        float: left;
                                        margin-bottom: 0;

                                        &:nth-last-child(2) {
                                            margin-bottom: 0;
                                        }

                                        &::after {
                                            content: ":\00a0";
                                        }
                                    }

                                    dd {
                                        float: left;
                                        margin-bottom: 8px;

                                        &:last-child {
                                            margin-bottom: 0;
                                        }
                                    }
                                }
                            }

                            .product-item-sku-container {
                                .lib-font-size(16);
                                line-height: 1.2;
                                text-transform: uppercase;

                                .label {
                                    &::after {
                                        content: ":\00a0";
                                    }
                                }

                                .value {
                                    .lib-font-size(14);
                                    font-weight: 400;
                                }
                            }

                            .product-item-qty {
                                .lib-font-size(16);
                                margin-bottom: 16px;

                                .details-qty {
                                    .label {
                                        font-weight: 700;
                                    }

                                    .item-qty {
                                        .lib-font-size(16);
                                        color: @djo-gray;
                                        height: 33px;
                                        max-width: 100%;
                                        text-align: center;
                                        width: 33px;

                                        &.readonly {
                                            border-color: transparent;
                                            border: 0;
                                            box-shadow: none;
                                            outline-style: none;
                                            outline: 0;
                                        }
                                    }

                                    .update-cart-item {
                                        .lib-font-size(14);
                                        background: transparent;
                                        border: none;
                                        box-shadow: none;
                                        color: @djo-blue;
                                        line-height: 1;
                                        padding: 0;
                                        vertical-align: middle;

                                        &:hover {
                                            text-decoration: underline;
                                        }
                                    }
                                }
                            }

                            .product.actions {
                                .secondary {
                                    .action.delete {
                                        .lib-font-size(14);
                                        letter-spacing: normal;

                                        &:hover {
                                            text-decoration: underline;
                                        }

                                        &::before {
                                            content: none;
                                        }

                                        > span {
                                            .lib-visually-hidden-reset();
                                        }
                                    }
                                }
                            }
                        }
                    }
                }

                .total-container {
                    background-color: #f8f8f8;
                    border-bottom: 1px solid #dbdfe1;
                    border-left: 1px solid #dbdfe1;
                    border-right: 1px solid #dbdfe1;
                    padding: 17px 10px;
                    text-align: center;

                    .items-total {
                        margin-bottom: 4px;

                        span {
                            .lib-font-size(12);
                            color: @djo-gray;
                            display: inline-block;
                            font-weight: 700;
                            letter-spacing: 0.07em;
                            text-transform: uppercase;
                        }

                        .count::after {
                            content: "\00a0";
                        }
                    }

                    .subtotal {
                        .label {
                            .lib-font-size(20);
                            color: @djo-gray;
                            display: inline-block;
                            margin-bottom: 4px;

                            &::after {
                                content: ":";
                            }
                        }

                        .amount {
                            .price {
                                .lib-font-size(20);
                                color: @djo-gray;
                                display: inline-block;
                                font-weight: 800;
                                margin-bottom: 12px;
                            }
                        }
                    }

                    .primary-actions {
                        text-align: center;

                        .primary {
                            .cart-btn-checkout-fast-order {
                                border-radius: 30px;
                                height: 40px;
                                max-width: 150px;
                                padding-bottom: 0;
                                padding-top: 0;
                                width: 100%;
                            }
                        }
                    }

                    .secondary-actions {
                        text-align: center;

                        a {
                            .lib-font-size(12);
                            border: 1px solid @djo-gray;
                            border-radius: 30px;
                            color: @djo-gray;
                            display: inline-block;
                            font-weight: 700;
                            /*max-width: 150px;*/
                            padding-bottom: 8px;
                            padding-top: 8px;
                            text-transform: uppercase;
                            width: 100%;

                            &:hover {
                                background-color: @djo-gray;
                                color: #fff;
                                text-decoration: none;
                            }
                        }

                        a.primary {
                            border: 1px solid @djo-blue;
                            color: #fff;
                        }
                    }

                    .tertiary-actions {
                        margin-top: 10px;
                        text-align: center;

                        a {
                            .lib-font-size(12);
                            color: @djo-blue;
                            display: inline-block;
                            font-weight: 600;
                            letter-spacing: 0.07em;
                            margin: 8px 0;
                            text-decoration: none;
                            text-transform: uppercase;

                            &:hover {
                                background-color: transparent;
                                color: @djo-blue;
                                text-decoration: underline;
                            }
                        }
                    }
                }

                .subtitle.empty {
                    .lib-font-size(16);
                    color: @djo-gray;
                    display: none;
                    margin-top: 16px;
                }
            }
        }
    }
}

//
//  Mobile
//  _____________________________________________

.media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__s) {
    .fastorder-index-index.account {
        .column.main {
            margin-bottom: 33px;
        }
    }

    //.fastorder-index-index {
    //    #bss-content-option-product {
    //        max-width: 300px;
    //        margin-left: -150px;
    //        margin-top: -260px;
    //        left: 50%;
    //        top: 50%;
    //        .bss-content-option-product-container {
    //            margin: 20px 0 0;
    //            max-height: 480px; // fits on 320x568
    //        }
    //    }
    //}

    .fastorder-index-index {
        .bss-fastorder-heading-container {
            .bss-fastorder-heading {
                .lib-font-size(28);
            }
        }

        .bss-fastorder-content {
            border-bottom: 1px solid #dbdfe1;
            border-left: 1px solid #dbdfe1;
            padding-bottom: 40px;
            padding-top: 17px;
        }

        .bss-fastorder-cart {
            border-bottom: 1px solid #dbdfe1;
            border-left: 1px solid #dbdfe1;
            border-right: 1px solid #dbdfe1;
            padding-bottom: 17px;
            padding-top: 17px;
        }

        #bss-fastorder-form {
            .table-wrapper {
                .bss-fastorder-row {
                    td {
                        padding: 0;
                        text-align: left;

                        &:not(.bss-fastorder-hidden) {
                            &:not(:first-of-type) {
                                padding-top: 8px;
                            }

                            &:not(:last-of-type):not(.bss-fastorder-row-action) {
                                padding-bottom: 8px;
                            }
                        }

                        .bss-search-input {
                            margin-top: 8px;
                        }

                        .bss-product-name-select {
                            margin-top: 8px;
                        }

                        &.bss-fastorder-row-name {
                            padding: 8px 0;
                        }

                        &.bss-fastorder-row-action {
                            .button:first-child {
                                margin-right: 11px;
                            }
                        }
                    }
                }

                tfoot {
                    tr {
                        padding-bottom: 45px;

                        td {
                            padding-left: 6px;
                            padding-right: 6px;

                            .bss-addline {
                                width: 110px;
                            }

                            .tocart {
                                width: 155px;
                            }

                            .tertiary-actions {
                                .tertiary {
                                    width: 155px;
                                }
                            }
                        }
                    }
                }
            }
        }

        //
        //  Fast Order Minicart
        //  ---------------------------------------------
        //
        #minicart-content-wrapper-fast-order {
            #preview-cart {
                .minicart-items-wrapper-fast-order {
                    .product.item.product-item {
                        .product-item-details {
                            .product-item-name-pricing-container {
                                margin-bottom: 8px;
                                margin-top: 4px;
                            }
                        }
                    }
                }

                .product.options:not(.list) {
                    margin-bottom: 8px;
                }

                .product-item-sku-container {
                    margin-bottom: 16px;
                }

                .total-container {
                    width: 100%;

                    .primary-actions {
                        border-bottom: 1px solid #dbdfe1;
                        margin-bottom: 16px;
                        margin-left: auto;
                        margin-right: auto;
                        padding-bottom: 16px;
                        width: 150px;
                    }

                    .secondary-actions {
                        margin-left: auto;
                        margin-right: auto;
                        width: 100%;
                    }
                }
            }
        }
    }
}

.media-width(@extremum, @break) when (@extremum = 'max') and (@break = @screen__m) {
    //.fastorder-index-index {
    //    .bss-content-option-product-header {
    //        .bss-cancel-option-x {
    //            right: -8px;
    //            top: -10px;
    //        }
    //    }
    //}

    .fastorder-index-index {
        .sidebar {
            .block-collapsible-nav {
                top: -18px;

                .title {
                    border-top: none;
                    border-bottom-color: #dbdfe1;

                    strong {
                        .lib-font-size(18);
                    }
                }
            }
        }
    }
}

//
//  Desktop
//  _____________________________________________

.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__s) {
    //.fastorder-index-index {
    //    #bss-content-option-product {
    //        max-width: 470px;
    //        margin-left: -235px;
    //        margin-top: -250px;
    //        left: 50%;
    //        top: 50%;
    //        .bss-content-option-product-container {
    //            margin: 20px 0 0;
    //            max-height: 480px; // fits on 320x568
    //        }
    //    }
    //}

    .fastorder-index-index {
        .bss-fastorder-heading-container {
            .bss-fastorder-heading {
                .lib-font-size(36);
            }
        }

        .bss-fastorder-content-container {
            .lib-clearfix();
            border-bottom: 1px solid #dbdfe1;
            border-left: 1px solid #dbdfe1;
            border-right: 1px solid #dbdfe1;
            box-sizing: border-box;
        }

        .bss-fastorder-content {
            box-sizing: border-box;
            float: left;
            height: 100%;
            padding-top: 18px;
            width: 65%;

            .bss-fastorder-content-inner {
                width: 75%;
            }
        }

        .bss-fastorder-cart {
            border-left: 1px solid #dbdfe1;
            box-sizing: border-box;
            float: left;
            height: 100%;
            margin-left: -1px;
            padding-bottom: 18px;
            padding-top: 18px;
            width: 35%;

            .items-total {
                .count::after {
                    content: "\00a0";
                }
            }
        }

        #bss-fastorder-form {
            .table-wrapper {
                .colgroup {
                    .col-ref {
                        width: 40%;
                    }

                    .col-qty {
                        width: 7.5%;
                    }

                    .col-price {
                        width: 10%;
                    }

                    .col-add {
                        width: 7.5%;
                    }
                }

                thead {
                    .bss-fastorder-row {
                        background-color: #f8f8f8 !important;
                        color: @djo-gray !important;

                        th {
                            text-align: left;
                        }
                    }
                }

                .bss-fastorder-row {
                    td {
                        text-align: left;

                        &.bss-fastorder-row-name {
                            padding: 11px;
                        }

                        &.bss-fastorder-row-action {
                            .button {
                                display: block;

                                &:first-child {
                                    margin-bottom: 16px;
                                }
                            }
                        }
                    }
                }

                tfoot {
                    tr {
                        td {
                            padding-bottom: 75px;

                            .bss-addline {
                                width: 128px;
                            }

                            .tocart {
                                width: 178px;
                            }

                            .tertiary-actions {
                                .tertiary {
                                    width: 178px;
                                }
                            }
                        }
                    }
                }
            }
        }

        //
        //  Fast Order Minicart
        //  ---------------------------------------------
        //
        #minicart-content-wrapper-fast-order {
            #preview-cart {
                .minicart-items-wrapper-fast-order {
                    .product.item.product-item {
                        .product-item-details {
                            display: table;
                            width: 100%;

                            .product-item-photo {
                                box-sizing: border-box;
                                display: table-cell;
                                padding-left: 10px;
                                padding-right: 10px;
                                vertical-align: top;
                                width: 75px;
                            }

                            .product-item-name-pricing-container {
                                box-sizing: border-box;
                                display: table-cell;
                                padding-left: 10px;
                                padding-right: 10px;
                                padding-top: 15px;
                                vertical-align: top;
                                width: 40%;

                                &.simple {
                                    width: 100%;
                                }
                            }

                            .product.options:not(.list),
                            .no-product-options {
                                box-sizing: border-box;
                                display: table-cell;
                                min-width: 130px;
                                padding-left: 10px;
                                padding-right: 10px;
                                padding-top: 20px;
                                vertical-align: top;
                                width: 40%;

                                .toggle {
                                    padding-right: 0;
                                }
                            }

                            .product-item-sku-container {
                                box-sizing: border-box;
                                display: table-cell;
                                min-width: 120px;
                                padding-left: 10px;
                                padding-right: 10px;
                                padding-top: 15px;
                                vertical-align: top;

                                .label {
                                    display: block;
                                    margin-bottom: 4px;
                                }
                            }

                            .product-item-qty {
                                box-sizing: border-box;
                                display: table-cell;
                                padding-left: 10px;
                                padding-right: 10px;
                                padding-top: 10px;
                                text-align: right;
                                vertical-align: top;
                                width: 54px;

                                .details-qty {
                                    margin-top: 0;

                                    .label {
                                        display: inline-block;
                                        margin-bottom: 4px;
                                        // margin-right: 0;
                                    }

                                    .item-qty {
                                        margin-right: 0;
                                    }
                                }
                            }

                            .product.actions {
                                box-sizing: border-box;
                                display: table-cell;
                                padding-left: 10px;
                                padding-right: 10px;
                                padding-top: 28px;
                                text-align: right;
                                vertical-align: top;
                                width: 10%;
                            }
                        }
                    }
                }

                .total-container {
                    display: table;

                    .items-total-subtotal-container {
                        box-sizing: border-box;
                        display: table-cell;
                        padding-left: 10px;
                        padding-right: 10px;
                        text-align: left;
                        vertical-align: middle;
                        width: 33.3333%;
                    }

                    .subtotal {
                        .amount {
                            display: inline-block;
                        }
                    }

                    .primary-actions {
                        box-sizing: border-box;
                        display: table-cell;
                        padding-left: 10px;
                        padding-right: 10px;
                        vertical-align: middle;
                        width: 33.3333%;
                    }

                    .secondary-actions {
                        box-sizing: border-box;
                        display: table-cell;
                        padding-left: 10px;
                        padding-right: 10px;
                        vertical-align: middle;
                        width: 33.3333%;
                    }
                }
            }
        }
    }
}

.media-width(@extremum, @break) when (@extremum = 'min') and (@break = @screen__l) {
    .fastorder-index-index {
        .bss-fastorder-content {
            width: 75%;

            .bss-fastorder-content-inner {
                width: auto;
            }
        }

        .bss-fastorder-cart {
            width: 25%;
        }

        #bss-fastorder-form {
            .table-wrapper {
                .colgroup {
                    .col-ref {
                        width: 42%;
                    }
                }
            }
        }

        //
        //  Fast Order Minicart
        //  ---------------------------------------------
        //
        #minicart-content-wrapper-fast-order {
            #preview-cart {
                font-size: 0;

                .minicart-items-wrapper-fast-order {
                    box-sizing: border-box;
                    display: inline-block;
                    vertical-align: top;
                    width: 75%;
                }

                .total-container {
                    box-sizing: border-box;
                    display: inline-block;
                    margin-left: -1px;
                    vertical-align: top;
                    width: 25%;

                    .items-total-subtotal-container {
                        display: block;
                        padding-left: 0;
                        padding-right: 0;
                        text-align: center;
                        vertical-align: baseline;
                        width: auto;
                    }

                    .subtotal {
                        .amount {
                            display: block;
                        }
                    }

                    .primary-actions {
                        border-bottom: 1px solid #dbdfe1;
                        margin-bottom: 16px;
                        margin-left: auto;
                        margin-right: auto;
                        display: block;
                        padding-bottom: 16px;
                        padding-left: 0;
                        padding-right: 0;
                        vertical-align: baseline;
                        width: 150px;
                    }

                    .secondary-actions {
                        display: block;
                        margin-left: auto;
                        margin-right: auto;
                        padding-left: 0;
                        padding-right: 0;
                        vertical-align: baseline;
                        width: 150px;
                    }
                }
            }
        }
    }
}
