// out: ../css/customer_facing_display.css, sourcemap: false, compress: false

// =========== Variables ===========
$color-gray-lighter: #f6f6f6;
$color-gray-dark: #3E3E3E;

// =========== Animations ===========
@keyframes item_in {
    0%   { opacity: 0; margin-top: -30px; }
    50%  { margin-top: 0; }
    100% { opacity: 1; }
}
@-webkit-keyframes item_in {
    0%   { opacity: 0; margin-top: -30px; }
    50%  { margin-top: 0; }
    100% { opacity: 1; }
}

// =========== MIXINS ===========
@mixin pos-bg {
    background-position: center top;
    background-size: contain;
    background-repeat: no-repeat;

    &[style*="url(http://placehold.it"] {
        // Add a bg-color in case we are using a pleceholder.
        // This will help the user to identify the right image dimension
        // before apply customizations.
        background-color: #ccc;
    }
}

// =========== VENDOR PREFIX ===========
@mixin flex-display {
    -webkit-display: flex;
    -moz-display: flex;
    -ms-display: flex;
    -o-display: flex;
    display: flex;
}
@mixin flex-direction($direction) {
    -webkit-flex-direction: $direction;
    -moz-flex-direction: $direction;
    -ms-flex-direction: $direction;
    -o-flex-direction: $direction;
    flex-direction: $direction;
};
@mixin flex-grow($grow) {
    -webkit-box-flex: $grow;
    -webkit-flex-grow: $grow;
    -moz-box-flex: $grow;
    -ms-flex-positive: $grow;
    flex-grow: $grow;
}
@mixin flex($flex) {
    -webkit-box-flex: $flex;
    -webkit-flex: $flex;
    -moz-box-flex: $flex;
    -ms-flex: $flex;
    flex: $flex;
}
@mixin align-items($align) {
    -webkit-box-align: $align;
    -webkit-align-items: $align;
    -moz-box-align: $align;
    -ms-flex-align: $align;
    -ms-grid-row-align: $align;
    align-items: $align;
};
@mixin justify-content($justify) {
    -webkit-box-pack: $justify;
    -webkit-justify-content: $justify;
    -moz-box-pack: $justify;
    -ms-flex-pack: $justify;
    justify-content: $justify;
}
@mixin flex-wrap($wrap) {
    -webkit-flex-wrap: $wrap;
    -ms-flex-wrap: $wrap;
    flex-wrap: $wrap;
}


// =========== MAIN LAYOUT ===========
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: geometricPrecision;
    font-smooth: always;

    .pos-customer_facing_display {
        background-color: $color-gray-lighter;
        font-size: 2vw;
        font-family: Futura, HelveticaNeue, Helvetica, Arial, "Lucida Grande", sans-serif;
        font-weight: 300;
        width: 100%;
        height: 100%;
        padding: 0;
        @include flex-display;
        @include flex-direction(row);

        .pos-customer_products,
        .pos-payment_info {
            height: 100%;
            padding: 2%;
            @include flex-display;
            @include flex-direction(column);
            @include flex-grow(1);
        }

        .pos_orderlines {
            width: 100%;
            height: 100%;
            @include flex-display;
            @include flex-direction(column);

            .pos_orderlines_list {
                overflow-y: scroll;
                padding-right: 1.5vw;
                position: relative;
                height: 100%;
            }

            .pos_orderlines_item {
                margin-bottom: 1vw;
                padding: 1%;
                border-radius: 0.3vw;
                height: auto;
                @include flex(0 1 auto);
                @include flex-display;
                @include flex-direction(row);
                @include align-items(center);

                &:last-of-type {
                    animation: item_in 1s ease;
                }

                &.pos_orderlines_header {
                    background-color: transparent;
                    box-shadow: none;
                    animation: none;

                    > div {
                        &,
                        &:last-child {
                            border-left-width: 0;
                            text-align: center;
                            font-size: 70%;
                            font-weight: normal;
                        }
                    }

                    > div:last-child {
                        text-align: left;
                    }
                }

                > div {
                    width: 5%;
                    text-align: left;
                    margin-right: 4%;
                    font-size: 80%;
                    @include flex-grow(1);

                    &:first-child {
                        margin-right: 2%;
                        @include flex(1 1 1%);
                    }

                    &:nth-child(2) {
                        width: 40%;
                        border-left: 1px solid;
                        padding-left: 2%;
                    }

                    &:nth-child(3) {
                        text-align: center;
                    }

                    &:last-child {
                        margin-right: 0;
                        font-weight: bold;
                    }

                    div {
                        background-position: center;
                        background-size: cover;
                        padding-top: 75%;
                        display: block;
                    }
                }
            }
        }

        .pos-payment_info {
            max-width: 30%;
            padding: 2% 2% 1% 2%;
            @include flex-direction(column);
            @include justify-content(space-between);

            .pos-adv,
            .pos-company_logo {
                @include pos-bg;
            }

            .pos-company_logo {
                background-image: url(/logo);
                margin-bottom: 10%;
                @include flex(0 0 20%);
            }

            .pos-adv {
                margin-bottom: 5%;
                border-bottom: 10px solid transparent;
                box-shadow: 0 1px rgba($color-gray-lighter, 0.2);
                @include flex(1 1 60%);
            }

            .pos-payment_info_details{
                .pos-total,
                .pos-paymentlines {
                    @include flex-direction(row);
                    @include flex-display;
                    @include flex-wrap(wrap);
                    @include justify-content(space-between);
                    @include align-items(baseline);

                    > div {
                        @include flex(1 0 48%);

                        &:nth-child(even) {
                            font-weight: bold;
                            font-size: 120%;
                            margin-right: 0
                        }
                    }
                }

                .pos-total {
                    font-size: 2vw;
                }

                .pos-paymentlines {
                    margin-top: 2%;
                    font-size: 1.5vw;
                    line-height: 1.3;
                }

                .pos-odoo_logo_container {
                    text-align: right;
                    margin-top: 10%;
                    @include flex(0 1 auto);

                    img {
                        max-width: 40px;
                    }
                }
            }
        }
    }

    // =========== PORTRAIT LAYOUT ===========
    @media all and (orientation: portrait) {
        .pos-customer_facing_display {
            font-size: 2vh;
            height: 100%;
            @include flex-direction(column);

            &:before {
                content: "";
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 17vh;
            }

            .pos-payment_info .pos-adv {
                // Move ADV on top.
                position: fixed;
                top: 0;
                left: 0;
                height: 15vh;
                width: 99vw;
                margin:0.5vh;
                border-width: 0;
                @include flex-display;
            }

            &.pos-js_no_ADV {
                &:before {
                    display: none;
                }
                .pos-customer_products {
                    padding-top: 0;
                }
            }

            .pos-customer_products {
                padding-top: 17vh;
                height: 72vw;
                overflow: hidden;

                .pos_orderlines {
                    @include flex(1 0 auto);

                    .pos_orderlines_item {
                        > div:nth-child(2) {
                            width: 30%;
                        }
                        &.pos_orderlines_header div{
                            font-size: 90%;
                        }
                    }

                    .pos_orderlines_list {
                        padding-right: 1.5vh;
                        height: auto;
                        .pos_orderlines_item {
                            box-shadow: 0 .1vh .1vh darken($color-gray-lighter, 10%);
                            margin-bottom: 1vh;
                            > div {
                                font-size: 100%;
                            }
                        }
                    }
                }
            }

            .pos-payment_info {
                max-width: 100%;
                overflow: hidden;
                padding-top: 0;
                min-height: 120px;
                @include flex(0 1 23vw);
                @include flex-direction(row);
                @include align-items(center);
                @include justify-content(space-between);

                .pos-company_logo {
                    margin: 0;
                    background-position: left center;
                    margin-right: 5%;
                    height: 100%;
                    padding: 0;
                    @include flex(1 1 20%);
                }

                .pos-payment_info_details {
                    @include flex(0 1 50%);
                    @include flex-direction(column);
                    min-width: 170px;

                    .pos-total {
                        font-size: 3vw;
                        .pos_total-amount {
                            font-size: 3.5vw;
                        }
                    }

                    .pos-paymentlines {
                        margin-top: 2%;
                        font-size: 80%;
                        line-height: 1.2;
                    }
                    .pos-odoo_logo_container {
                        position: absolute;
                        right: 3%;
                        bottom: 1%;
                    }
                }
            }
        }
    }

    @media all and (orientation: portrait) and (max-width: 340px ) {
        .pos-customer_facing_display {
            .pos-customer_products .pos_orderlines {
                .pos_orderlines_list{
                    padding-right: 0;
                    .pos_orderlines_item > div{
                        font-size: 70%;
                    }
                }
                .pos_orderlines_header > div {
                    font-size: 60%;
                    &:last-child {
                        text-align: center;
                    }
                }
            }
            .pos-payment_info {

                .pos-company_logo {
                    display: none!important;
                }
                .pos-payment_info_details {
                    @include flex(1 0 100%);

                    .pos-total {
                        font-size: 6vw;
                        .pos_total-amount {
                            font-size: 6.5vw;
                        }
                    }
                }
            }
        }
    }
}


// @media all and (max-width: 340px ) {
// }

body {
    // =========== UTILITY CLASSES ===========
    .pos-hidden {
        opacity: 0;
    }
}


// =========== PALETTE GENERATOR ===========
@mixin palette-variant (
    $bg-info: $color-gray-dark,
    $text-info: $color-gray-lighter,
    $bg-products: $color-gray-lighter,
    $text-products: lighten($color-gray-dark, 10%),
    $card-bg: white,
    $card-text: $color-gray-dark,
    $card-shadow: darken($bg-products, 30%)) {

    .pos-payment_info {
        background: $bg-info;
        color: $text-info;
    }

    .pos-customer_products {
        background: $bg-products;
        color: $text-products;

        .pos_orderlines_list .pos_orderlines_item {
            background-color: $card-bg;
            color: $card-text;
            box-shadow: 0 .1vh .1vh $card-shadow;
            div:nth-child(2) {
                border-color: rgba($card-text, 0.3);
            }
        }
    }

    @media all and (orientation: portrait) {
        &:before {
            background: $bg-info;
        }
    }
}

// =========== PALETTES ===========
// Those are kept for compatibility for now (previously there was a feature
// which allowed to change the default pos-palette_01 class.
.pos-palette_01 { @include palette-variant; }
.pos-palette_02 { @include palette-variant(#364152, #e6e7e8, #ecf2f6, #364152, white, $color-gray-dark, #364152 ); }
.pos-palette_03 { @include palette-variant(#1BA39C, $color-gray-lighter, #ececec ); }
.pos-palette_04 { @include palette-variant(#0b7b6c, $color-gray-lighter, #efeeec); }
.pos-palette_05 { @include palette-variant(#E26868, $color-gray-lighter, #ececec ); }
.pos-palette_06 { @include palette-variant(#9E373B, $color-gray-lighter); }
.pos-palette_07 { @include palette-variant(#ce9934, white, #ececec ); }
.pos-palette_08 { @include palette-variant(#a48c77, $color-gray-lighter, #ececec ); }
.pos-palette_09 { @include palette-variant(linear-gradient(30deg, #014d43, #127e71), $color-gray-lighter, #ececec ); }
.pos-palette_10 { @include palette-variant(linear-gradient(30deg, #e2316c, #ea4c89), white, #ececec ); }
.pos-palette_11 { @include palette-variant(linear-gradient(30deg, #362b3d, #5b4a63), white, #ececec ); }
.pos-palette_12 { @include palette-variant(#434343, #e6e6e6, #5b5b5b, #bdb9b9, #f5f5f5); }
.pos-palette_13 { @include palette-variant(linear-gradient(30deg, #1a1b1f, #3d3f45), white, #a2a2ab, $color-gray-lighter, $color-gray-lighter); }
