/* FONTS */
@font-face {
    font-family: 'Roboto';
    src: url('../fonts/cwb0xya8bzo0ksthx0utua-webfont.eot');
    src: url('../fonts/cwb0xya8bzo0ksthx0utua-webfont.eot?#iefix') format('embedded-opentype'),
    url('../fonts/cwb0xya8bzo0ksthx0utua-webfont.woff2') format('woff2'),
    url('../fonts/cwb0xya8bzo0ksthx0utua-webfont.woff') format('woff'),
    url('../fonts/cwb0xya8bzo0ksthx0utua-webfont.ttf') format('truetype'),
    url('../fonts/cwb0xya8bzo0ksthx0utua-webfont.svg#robotoregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

/* RESETS */
.panel {
    padding:0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    animation-fill-mode: forwards;
    -webkit-animation-fill-mode: forwards;
    transform-style: preserve-3d;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    -ms-overflow-style: scrollbar;
}

.view {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    animation-fill-mode: forwards;
    -webkit-animation-fill-mode: forwards;
    transform-style: preserve-3d;
}

.ios #show-receive {
    -webkit-overflow-scrolling: inherit;
}

div#orderTime_root.picker.picker--time.picker--opened.picker--focused {
    top:0;
    left:0;
    right:0;
}

.list {
    margin:0;
}

.list li {
    border: none;
}

.list li a:after {
    content:"";
    display: none;
}

.col2 {
    width:50% !important;
    float:left !important;
}

.col3 {
    width:33% !important;
    float:left !important;
}

#myqcapp h2 {
    height: auto;
}

a.backButton, .backButton {
    display: none !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    visibility: hidden !important;
    font-size: 1px !important;
    color: transparent !important;
    background: transparent !important;
}

input[type="checkbox"] + label:before {
    margin-left:30px;
    cursor: pointer;
}

#loginview input[type="checkbox"]:checked + label::before {
    background-color: var(--loginPrimaryButtonColor) !important;
    color: var(--loginPrimaryFontColor) !important;
}

input[type="checkbox"]:checked + label::before {
    background-color: var(--primaryBackgroundColor);
    color: var(--primaryFontColor);
}

select::-ms-expand {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    opacity:0;
}

.block-mask {
    display: block;
    margin-top: 60px;
    padding: 0; !important;
    background: none;
    opacity: 1;
    z-index: 20000;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    box-sizing: border-box;
    position: absolute;
    text-align: center;
    background: #fff;
    height: 100vh;
    max-width: 768px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;

    transition: margin 200ms ease-in-out;
}

.block-mask.full-screen {
    margin-top: 0;

    transition: margin 20ms ease-in-out;
}

.block-mask.ordering-mask {
    margin-top: 20vh;
}


.block-mask.transparent {
    opacity: 0;
}

.block-mask_icon {
    border:none;
    opacity: 1;
    position: relative;
    top: 41%;
    color: #ef4135;
    height: 50px;
    width: 50px;
    background: none;
    margin: 0 auto;
    text-align: center;

    transition: top 200ms ease-in-out;
}

.block-mask.full-screen .block-mask_icon {
    top: calc(41% + 60px);

    transition: top 20ms ease-in-out;
}

/* JQUERY CONFIRM OVERRIDES */
.jconfirm .jconfirm-box div.jconfirm-title-c {
    text-align: center;
}

.jconfirm .jconfirm-box .buttons button + button {
    margin: 15px 0 0;
}

.jconfirm .container {
    max-width: 300px;
    margin: 0 auto;
}

.jconfirm.jconfirm-white .jconfirm-box .buttons button.btn-default {
    cursor: pointer;
    background: transparent;
    font-size: 18px;
}

.jconfirm .jconfirm-box {
    font-size: 22px;
}

.jconfirm .jconfirm-box .buttons {
    width: 100%;
    position: relative;
    overflow: hidden;
}


/* HELPER CLASSES */
.page-padding {
    padding: 5%;
}

@media only screen and (min-device-width: 415px) {
    .page-padding {
        padding: 10%;
    }

    #receipt-arrow-right, #receipt-arrow-left, #express-arrow-left, #express-arrow-right, #order-arrow-left, #order-arrow-right {
        border-top: 25px solid transparent !important;
        border-bottom: 25px solid transparent !important;
    }

    #receipt-arrow-left, #order-arrow-left {
        left:17px !important;
        border-right:25px solid #ccc !important;
    }

    #receipt-arrow-right, #order-arrow-right {
        right:17px !important;
        border-left:25px solid #ccc !important;
    }

    #receipt {
        padding: 8% 10% 10%;
    }

    #order-arrow-left, #order-arrow-right {
        top:30% !important;
    }
}

.align-right {
    text-align: right;
    display: block;
}

.align-center {
    text-align: center;
    display: block;
}

.column-spacing {
    padding-left:3px;
}

.italic {
    font-style: italic;
}

.title {
    text-align: center;
    color: #000;
    font-size: 18px;
}

.addFunds_title {
    text-align: center;
    color: #000;
    font-size: 18px;
    font-weight: bold;
    margin: 1.4rem 0;
}

.tile {
    background: #ffffff none repeat scroll 0 0;
    box-shadow: 0 0 5px #b2b2b2;
    overflow: hidden;
    padding: 8.5%;
}

.tile-label {
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.15em;
    padding: 0 0 0 10px;
    text-transform: uppercase;
    color: #808080;
    text-align: left;
    overflow: hidden;
    margin: 0;
}

#savedVoucherMessage {
    font-size: 17px;
    letter-spacing: 0.01em;
    line-height: 1.15em;
    padding: 0 0 0 10px;
    color: #808080;
    text-align: left;
    overflow: hidden;
    margin: 0 0 0 1rem;
}

.tile-list {
    padding: 6%;
    margin: 0 0 8%;
}

.hidden {
    display: none;
}

.upper {
    text-transform: uppercase;
}

@media only screen and (min-device-width: 415px) {
    .tile-label {
        font-size: 19px;
    }
}


.fadeOut {
    opacity: 0;
    transition: opacity 500ms ease-out;
}

.fadeIn {
    opacity: 1;
    transition: opacity 500ms ease-in;
}

/* COLORS */

.primary-color {
    color: #ef4135;
}

.error-color {
    color: #ef4135;
}

.lowlight-color {
    color: #000;
}



/* BUTTONS */
.view .panel .qcss-button, #tour-footer .qcss-button, .jconfirm-buttons .qcss-button, .view #modifierButtonContainer #modifierNext, .view #placeOrderButtonContainer #submitOrder {
    background-color: #ef4135;
    background-image: linear-gradient(#f44336, #c62828);
    border-color: #b71c1c;
    border-radius: 5px;
    color: #ffffff;
    font-size: 16px;
    font-weight: normal;
    letter-spacing: 0.01em;
    line-height: 1em;
    padding: 10px 15px;
    text-transform: uppercase;
    cursor: pointer;
}

button, .qcss-button, .order-button {
    text-transform: uppercase !important;
    font-family: 'Roboto', sans-serif;
}

button, input, select, .qcss-select, .qcss-button, .order-button, .button-border-radius {
    border-radius: 100px !important;
}

.selectric-wrapper:not(.selectric-donation_charity-select) .selectric {
    border-radius: 20px 20px 20px 20px !important;
}
.selectric-wrapper:not(.selectric-donation_charity-select).selectric-open .selectric {
    border-radius: 20px 20px 0 0 !important;
}
.selectric-wrapper:not(.selectric-donation_charity-select) .selectric-open .selectric .button {
    border-radius: 20px 20px 0 0 !important;
}
.selectric-wrapper:not(.selectric-donation_charity-select) .selectric-items,
.selectric-wrapper:not(.selectric-donation_charity-select) .selectric-scroll {
    border-radius: 0 0 20px 20px !important;
}
.selectric-wrapper:not(.selectric-donation_charity-select).selectric-above .selectric-items { /* Prevents selectric from opening select box options above the input */
    top: 100% !important;
    bottom: inherit !important;
}
.selectric-donation_charity-select .selectric .label {
    padding-left: 40px; /* Centers text taking the arrow icon into account */
}

.selectric-wrapper.selectric-open {
    z-index: auto !important;
}
.selectric-wrapper.selectric-open .selectric-items {
    z-index: 999 !important;
}

.view .panel .qcss-button.pressed, .view #modifierButtonContainer #modifierNext, .view #placeOrderButtonContainer #submitOrder {
    background: rgba(239, 65, 53, 0.85);
}

#myqcapp .button-flat {
    background: none;
    background-image: none;
    border: none;
    color: #ef4135;
    border-radius: 0;
    font-size: 20px;
    padding: 10px 0;
}

.view .panel .qcss-button.order-button, .jconfirm-buttons .qcss-button.order-button, .view #modifierButtonContainer #modifierNext,.view #placeOrderButtonContainer #submitOrder {
    font-size: 22px;
    height: 50px;
    width: 80%;
    font-weight: bold !important;
    text-transform: uppercase !important;
    background: #fff;
    color: #ef4135;
    background-image: none;
}

.view .panel .qcss-button.prominent-button, .jconfirm-buttons .qcss-button.prominent-button, .view #modifierButtonContainer #modifierNext, .view #placeOrderButtonContainer #submitOrder  {
    background-color: #ef4135;
    background-image: linear-gradient(#f44336, #c62828);
    color: #ffffff;
}

@media only screen and (min-device-width: 415px) {
    .view .panel .qcss-button.order-button, .view #modifierButtonContainer #modifierNext, .view #placeOrderButtonContainer #submitOrder {
        font-size: 26px;
    }
}

.network-logout {
    float: left;
}

.network-retry {
    float: right;
    margin: 0 !important;
}

/* GENERAL PAGE STRUCTURE */

body#myqcapp {
    background-color: #eeeeee;
    background-image: -webkit-radial-gradient(circle, #ffffff, #eeeeee 67%, #dddddd);
    background-image: radial-gradient(circle, #ffffff, #eeeeee 67%, #dddddd);
    color: black ;
    font-family: 'Roboto', sans-serif;
    overflow-y: auto;
}

#redeemview,
#mainview,
#loginview,
#logoutview,
#chooseview,
#tosview,
#pageview,
#tourview,
#privacypolicyview,
#tosreviewview,
#orderview,
#receiveview,
#cartview,
#modifierview,
#keypadview,
#suggestive-keypadview,
#reviewview,
#productview,
#tosaccept-view,
#general-msg-view,
#general-confirm-view,
#general-error-view,
#server-version-error-view,
#reauthView,
#receipt-view,
#rewardsview,
#paymentview,
#accountfundingview,
#favoriteview,
#manageview,
#addaccountview,
#purchasesview,
#favoriteorderview,
#futuredateview,
#suggestiveview,
#comboview,
#faqview,
#donationview,
#orderplacedview
{
    max-width: 768px;
    margin: 0 auto;
    width: 100%;
    position: relative;
    background-color: #eeeeee;
    background-image: -webkit-radial-gradient(circle, #ffffff, #eeeeee 67%, #dddddd);
    background-image: radial-gradient(circle, #ffffff, #eeeeee 67%, #dddddd);
}

.error-msg-container {
    min-height: 20px;
    display: none;
    margin:0 0 15px;
    text-align: center;
    background: #ffffdd;
    box-shadow: 0 0 5px #b2b2b2;
    padding: 15px 10px;
}

.general-error-msg-title {
    font-size: 20px;
    font-weight: bold;
    color: #ef4135;
}

.error-warning-icon {
    margin-right: 10px;
    position: relative;
    top: 1px;
    color: #DDAD24;
}


.general-error-msg-content {
    font-size: 16px;
    font-weight: normal;
    margin-top: 10px;
}

.info-list {
    margin:0;
}

.info-list li {
    padding: 7px 5px 8px 5px;
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #808080;
}

.info-list li:nth-child(odd) {
    background: #fbfbfb;
}

.transaction-header {
    display: flex;
    justify-content: space-between;
}

    .list-date, .list-ID {
        position: relative;
        top: 0;
        color: #5a5a5a;
        font-size: 13px;
    }

        .list-date {
            text-align: left;
        }

        .list-ID {
            text-align: right;
        }

    .list-refund {
        display: none;
        font-size: 13px;
        position: relative;
        top: 3px;
    }

    .list-date .list-refund {
        color: #ef4135;
    }

.transaction-body {
    display: flex;
    padding-top: 3px;
}

    .trans-store-info {
        flex:7;
        display: flex;
        display: flex;
        align-items: center;
    }

        .trans-type-icon {
            flex: 1;
            cursor: pointer;
            -webkit-background-size: 75%;
            background-size: 75% !important;
            width: 20px;
            height: 21px;
            position: relative;
            top: 1px;
            bottom: 0;
            right: 3px;
            display: none;
            cursor: pointer;
        }

        .trans-type-icon.sale {
            background-size: 83% !important;
        }

        .legend-container {
            margin: 0 auto;
            width: 100%;
            text-align: center;
        }

        .trans-type-container {
            display: flex;
            justify-content: flex-start;
            margin: 5px auto;
            font-size: 18px;
            align-items: center;
        }

            .trans-type-title {
                padding-bottom: 10px;
                text-decoration: underline;
                font-size: 20px;
            }

            .trans-type-sale-icon, .trans-type-open-icon, .trans-type-refund-icon, .trans-type-void-icon, .trans-type-cancel-icon {
                background-size: 100% !important;
                display: block;
                width: 20px;
                height: 25px;
                margin-right: 20px;
            }

            .trans-type-sale-icon {
                background: url(../images/sale-icon.png) center center no-repeat;
            }

            .trans-type-open-icon {
                background: url(../images/open-icon.png) center center no-repeat;
            }

            .trans-type-refund-icon {
                background: url(../images/transaction-refund.svg) center center no-repeat;
            }

            .trans-type-void-icon {
                background: url(../images/transaction-void.svg) center center no-repeat;
            }

            .trans-type-cancel-icon {
                background: url(../images/cancel-icon.png) center center no-repeat;
            }

        .list-store {
            letter-spacing: 0.01em;
            font-size: 15px;
            display: flex;
            align-items: center;
            flex: 9;
            text-shadow: 0 0 0 rgba(0,0,0,0.4);
        }


    .trans-receipt-icon {
        background: url(../images/icon-receipt.svg) center center no-repeat;
        position: relative;
        cursor: pointer;
        -webkit-background-size: 61%;
        background-size: 61%;
        width: 25px;
        flex: 1;
        height: 25px;
        margin-left: 5px;
        top: 0;
    }

    .funding-container {
        display: flex;
        align-items: center;
    }

        .funded-by {
            flex: 7;
        }

        .funding-amount-container {
            flex: 3;
        }

    @media only screen and (max-device-width: 415px) and (min-device-width: 365px) {
        .trans-receipt-icon {
            background-size: 56%;
        }
    }

    .list-value {
        color: #133d8d !important;
        font-size: 18px;
        font-weight: bold;
        text-align: right;
        flex: 3;
        display: flex;
        align-self: center;
        justify-content: flex-end;
    }

.list-value-colorless {
    font-size: 18px;
    font-weight: bold;
    text-align: right;
    flex: 3;
    display: flex;
    align-self: center;
    justify-content: flex-end;
}

.list-funded-by {
    float: left;
    font-size: 20px;
    text-align: left;
    width: 75%;
}

.list-funded-fee {
    float: right;
    font-weight: bold;
    color: #2371e5;
    clear: right;
}

.info-list li.endlist {
    background-color: #eeeeee;
    border-bottom: none;
    font-size: 16px;
}

.date-header {
    height: 22px;
    width: 100%;
    background: #dcd8d8;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #585656;
    border-bottom: 1px solid #8e8e8e;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    text-shadow: 0 0 0 rgba(0,0,0,0.3);
}

#deduction-list li {
    display: flex;
}

#deduction-list .list-date {
    font-size: 15px;
}

#deduction-list .endlist {
    justify-content: center;
}

@media only screen and (min-device-width: 415px) {

    .trans-type-icon {
        background-size: 50% !important;
        height: 30px;
        right:5px;
    }

    .trans-type-icon.sale {
        background-size: 50% !important;
    }

    .trans-receipt-icon {
        background-size: 33%;
        height: 33px;
        top: 0;
    }

    .list-store {
        font-size: 18px;
    }

    .list-value {
        flex: 2;
        font-size: 19px;
    }

    .info-list li {
        padding: 5px 10px 8px 10px;
    }

    #deduction-list li {
        padding: 15px 10px !important;
    }

    .date-header {
        height: 25px;
        font-size: 14px;
    }
}

/* HEADER */
#myqcapp header:not(.store-cart-header, #store-selector-header, #keypad-header) {

    background: var(--primaryBackgroundColor) !important;
}

#myqcapp header {
    height: 60px;
    border: medium none;
}

.store-cart-header {
    height: 20% !important;
    display: flex !important;
    align-items: center;
}

.store-cart-header > h1 {
    height: auto !important;
    font-size: 28px !important;
    text-transform: uppercase;
}

.iphoneX .store-cart-header .order-back-icon, .iphoneX .store-cart-header .order-cart-icon {
    margin-top: 23px;
}

.iphoneX .store-cart-header .help-icon {
    top: 25px !important;
}

#myqcapp header h1 {
    text-shadow: none;
    width:70%;
    margin:0 auto;
    position: relative;
    left:0;
    text-align: center;
    font-size: 24px;
    height: 100%;
    line-height: 60px;
    padding: 0;
}

#myqcapp header:not(.store-cart-header) h1 {
    color: var(--primaryFontColor);
}

header .home-link:not(.control-bg-home-icon):not(.control-bg-stores-icon), .general-back-icon {
    font-size: 1.5em;
    float: right;
    height: 60px;
    width:60px;
    cursor: pointer;
    position: absolute;
    top: 50%;
    -ms-transform: translate(0, -50%);
    -o-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding-left: 10px;
    line-height: 45px;
}

.home-link.icon:before {
    left:9px;
    top:8px;
}

header .home-link {
    width: auto !important;
    height: auto !important;
    color: var(--primaryFontColor);
}

header#page-header .back.backButton {
    display: none !important;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    border: none;
    text-shadow: none;
    line-height: 1;
}

/*.general-back-icon, .calendar-icon {*/
.general-back-icon {
    font-weight: bold;
    line-height: 41px;
    font-size: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.general-back-icon img, .general-back-icon svg {
    width: 24px;
    height: 24px;
    /*margin-right: 12px;*/
}

.general-back-icon {
    width: 35px;
    height: 35px;
}

.general-back-icon img {
    padding-left: 10px;
}

@media only screen and (max-device-width: 415px) {
    .general-back-icon {
        width: 65px;
        height: 60px;
        font-size: 0;
        padding-left: 0px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #myqcapp header h1 {
        font-size: 22px;
    }
}

/** LOCATION SELECTOR **/

.filtering-header-container {
    bottom:5px;
    left:0;

    display:none;
    justify-content:center;
    align-items:center;
    height:fit-content;
    width:100%;
    /* stay at top when scrolling */
    position: sticky;
    top: 0;
    z-index: 100;
}

.filtering-header {
    width:100%;
    height:100%;
    z-index: 300;
    padding: 10px;
    text-align:center;
    outline:none;

    text-overflow: ellipsis;
    overflow: hidden;
    background:rgb(250 250 250);
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    cursor: pointer;
}

body:not(.mobile) .filtering-header:hover {
    background-color: #ebecf0;
}

.filtering-header-text {
    font-weight: 500;
    font-size: 16px;
}

.filtering-header-text-large {
    font-weight: 900;
    font-size: 18px;
}

/** LOCATION SELECTOR **/

/***** PAGES *****/
#mainview header {
    display: none;
}

/**** FOOTER ***/
#tour-footer {
    background: transparent;
    height: 70px;
    padding: 0;
    margin: 0;
    border: none;
    text-align: center;
}

/**** NAV PAGE ***/
#main {
    background: #fff;
}

#login-main-container {
    padding-bottom: 10%; /* Makes up for bottom container's padding */
}

#login-bottom-container {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 0 5% 5%;
}

.logo-container {
    text-align: center;
    padding: 3% 5% 0;
}

[data-using-branding="true"] .logo-container { padding: 2% 3% 0; }
[data-using-branding="false"] .logo-container { padding: 3% 5% 0; }

.logo-container img {
    width: 100%;
    max-width: 350px;
    height:auto;
}

[data-using-branding="true"] .logo-container img {
    width: auto;
    max-width: 80%;
    max-height: 135px;
}

[data-using-branding="false"] .logo-container img {
    width: 100%;
    max-width: 350px;
}

.branding-logo {
    width: auto;
    max-width: 90%;
    height: auto;
    display: block;
    margin: 0 auto;
    max-height: 150px;
}

[data-using-branding="true"] .branding-logo {
    max-width: 80%;
}

[data-using-branding="false"] .branding-logo {
    width: 60%;
    max-width: 350px;
    max-height: none;
}

@media only screen and (max-device-width: 415px) {
    [data-using-branding="false"] .branding-logo {
        width: 90%;
    }
}

#homePageContainer .error-msg-container {
    font-size: 20px;
}

#user-information {
    background: #ef4135;
    padding: 3% 2.5%;
    text-align: center;
    line-height: 1em;
    position:sticky;
    top:0;
    z-index:100;
}

.user-information-title {
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    margin: 0 0 0.3em;
    display: block;
    line-height: 24px;
}

.user-information-subtitle {
    color: #fbcfcc !important;
    font-size: 20px;
    margin: 0;
    text-transform: uppercase;
    display: block;
    line-height: 20px;
    text-decoration: none !important;
}

ul#item-list {
    margin: 0;
}

ul#item-list li {
    color: #1a1a1a;
    font-size: 20px;
    padding: 0 calc(5% - 8px);
    cursor: pointer;
}

ul#item-list li a {
    padding: 1px 8px 8px;
    margin: 7px 0 0;
    border-radius: 10px;
}

body:not(.mobile) ul#item-list li a:hover {
    background-color: #ebecf0;
}

ul#item-list li a .menu-icon {
    width: 30px;
    height: 30px;
    margin-right: 10px;
    position: relative;
    top: 6px;
}

@media only screen and (min-device-width: 415px) {
    .logo-container {
        padding: 3% 10% 0;
    }

    #user-information {
        padding: 3% 10%;
    }

    ul#item-list li {
        padding: 0 calc(10% - 11px);
    }

    ul#item-list li a {
        padding: 2px 11px 11px;
        margin: 9px 0 0;
    }

    ul#item-list li a .menu-icon {
        top: 7px;
    }
}

#homePageContainer {
    width: 100%;
    overflow-x: hidden;
}

#homePageContainer.old-home-page-container {
    height: auto !important;
}

#newHomePage {
    min-height: 100vh;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

.homePage-background-color {
    background-color: var(--homePageBackgroundColor);
}

.homePage-background-image {
    background-image: var(--homePageBackgroundImage) !important;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

#navHamburgerIcon_container {
    background-color: rgba(0,0,0,0);
    max-height: 10%;
}

.home-logo-container {
    height: 150px !important;
    text-align: center;
    background-image: var(--homePageLogo);
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    margin: 2% 7%;
}

.home-logo-container[data-show-logo] {
    display: block !important;
}

.homePage-two-col-layout .home-logo-container {
    margin: 2% 4% !important;
}

#navMenuButton, #closeHamburgerIcon_container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    height: 44px;
    font-size: 32px;
    border: none;
    margin: 16px;
    cursor: pointer;
}

#navMenuButton .control-bg-home-icon, #closeHamburgerIcon_container .control-bg-home-icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

#closeHamburgerIcon_container {
    float: right;
}

.hamburgerButton {
    height: 100%;
    font-size: 2rem;
    cursor: pointer;
}

.iphoneX #navMenuButton, .iphoneX #closeHamburgerIcon_container {
    margin-top: 41px;
}

#newHomePageButtons_container {
    display: flex;
    justify-content: center;
    flex-direction: row;
    align-items: stretch;
    height: 60%;
    max-height: 60%;
    width: 100%;
    flex: 1 1 auto;
    margin-bottom: 25px;
}

#newHomePageButtons_container[data-button-count="4"], #newHomePageButtons_container[data-button-count="5"] {
    margin-bottom: 10px;
}
#newHomePageButtons_container[data-button-count="6"] {
    margin-bottom: 0;
}

#newHomePageButtons_container_Left, #newHomePageButtons_container_Right {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    flex: 1 1 auto;
    justify-content: space-around;
}

.homePage-two-col-layout #newHomePageButtons_container_Left,
.homePage-two-col-layout #newHomePageButtons_container_Right {
    width: 50% !important;
}

.homePage-two-col-layout #newHomePageButtons_container[data-button-count="3"],
.homePage-two-col-layout #newHomePageButtons_container[data-button-count="4"] {
    margin-bottom: 20px;
}

/* Expands last button to cover two columns worth of space when there is an odd # of buttons in 2 row layout */
.homePage-two-col-layout [data-button-count="1"] #newHomePageButtons_container_Left button:last-child,
.homePage-two-col-layout [data-button-count="3"] #newHomePageButtons_container_Left button:last-child,
.homePage-two-col-layout [data-button-count="5"] #newHomePageButtons_container_Left button:last-child {
    width: 190%;
    margin-left: 5%;
    z-index: 100;
}

.homePageButtons {
    position: relative;
    width: 90%;
    height: 70px;
    margin: 12px auto;
    font-size: 16px;
    background-color: white;
    border-width: 0;
    border-radius: 100px !important;
    letter-spacing: 2.5px;
    text-transform: none !important;
    font-family: var(--greetingMessageFontName), 'Roboto', sans-serif;
    hyphens: auto;
    word-break: break-word;
}

.homePageButtons.placeholder-button {
    opacity: 0;
}

.homePageButtons.unavailableStore {
    cursor: auto;
}

.unavailable-store-overlay {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: #000;
    opacity: .6;
    border-radius: 100px;
}

#homeNav_modal {
    position: absolute;
    width: 80%;
    height: 100%;
    left: -50rem;
    top: 0;
    z-index: 1001;
    background-color: white;
    overflow-y: auto;
    overflow-x: hidden;
}

@media only screen and (max-device-width: 415px) {
    .homePageButtons {
        margin: 8px auto;
    }

    .homePage-two-col-layout #newHomePageButtons_container[data-button-count="3"],
    .homePage-two-col-layout #newHomePageButtons_container[data-button-count="4"] {
        margin-bottom: 80px;
    }
}

@media only screen and (min-device-width: 350px) {
    #homeNav_modal {
        width: 70%;
    }
}

@media only screen and (min-device-width: 475px) {
    #homeNav_modal {
        width: 60%;
    }
}

@media only screen and (min-device-width: 600px) {
    #homeNav_modal {
        width: 50%;
    }
}

@media only screen and (min-device-width: 700px) {
    #homeNav_modal {
        width: 40%;
    }
}

#item-list-modal {
    margin-top: 64px;
}

.iphoneX #item-list-modal {
    margin-top: 89px;
}

ul#homeNav_modal {
    margin: 0;
}

#homeNav_modal li {
    color: #1a1a1a;
    font-size: 20px;
    padding: 0 calc(5% - 8px);
    cursor: pointer;
}

#homeNav_modal li a {
    padding: 1px 8px 8px;
    margin: 7px 0 0;
    border-radius: 10px;
}

body:not(.mobile) #homeNav_modal li a:hover {
    background-color: #ebecf0;
}

#homeNav_modal li a .menu-icon {
    width: 30px;
    height: 30px;
    margin-right: 10px;
    position: relative;
    top: 6px;
}

#homeNav_modal li {
    list-style-type: none;
}

@media only screen and (min-device-width: 415px) {
    #homeNav_modal li {
        list-style-type: none;
        padding: 0 calc(10% - 11px);
    }

    #homeNav_modal li a {
        padding: 2px 11px 11px;
        margin: 9px 0 0;
    }

    #homeNav_modal li a .menu-icon {
        top: 7px;
    }
}

#greeting-message-container {
    height: 10%;
    font-size: 16px;
    display: flex;
    justify-content: space-between;
    margin: 2% 5%;
}

#newHomePage:not([data-show-logo]) #greeting-message-container {
    margin-top: 50px !important;
    margin-bottom: 50px !important;
}

.homePage-two-col-layout #greeting-message-container {
    margin-left: 5% !important;
    margin-right: 5% !important;
}

#greeting-message {
    font-size: var(--greetingMessageFontSize) !important;
    font-family: var(--greetingMessageFontName), 'Roboto', sans-serif;
    color: var(--secondaryFontColor);
}

.greeting-message-icon {
    font-size: calc(var(--greetingMessageFontSize) - 4px);
    margin-right: 2px;
}

#greeting-message-edit {
    cursor: pointer;
}

#storePicker-modal {
    position: absolute;
    width: 100%;
    top: -100rem;
    z-index: 1001;
    background: #fff;
    overflow-x: hidden;
    overflow-y: auto;
    max-width: 768px;
    max-height: 80%;
}

/*#storePicker-modal::-webkit-scrollbar-track {*/
/*     border: 1px solid #fff;*/
/*     padding: 2px 0;*/
/*     background-color: #ADADADFF;*/
/* }*/

#storePicker-modal::-webkit-scrollbar {
    /*width: 10px;*/
    /*border-radius: 1px;*/ /*uncomment this to hide scrollbar*/
}

/*#storePicker-modal::-webkit-scrollbar-thumb {*/
/*    border-radius: 10px;*/
/*    box-shadow: inset 0 0 6px rgba(0,0,0,.3);*/
/*    background-color: #737272;*/
/*    border: 1px solid #000;*/
/*}*/

@media only screen and (min-device-width: 415px) {
    #storePicker-modal {
        width: 84%;
        border-radius: 10px;
        box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.2);
        border: 1px solid #ccc;
        left: 8%;
    }
}

.storePickerModal {
    text-align: center;
    color: #000;
    font-size: 24px;
    font-weight: bold;
    margin: 1.4rem 0 0 0;
}
#store-list-modal li {
    cursor: pointer;
}
#store-picker-buttons {
    display: flex;
}
/*#cancelStorePick, #pickStoreAndGo {*/
/*    flex: 1*/
/*}*/
#cancelGrabAndGoStorePicker /*, #grabAndGoStorePicker*/ {
    flex: 1;
    margin: 1rem;
}
/* Spending Limits */
#spendingProfileButtonContainer, #accountSettingButtonContainer {
    position: relative;
    overflow: hidden;
    min-height: 20px;
}

#accountSettingButtonContainer {
    padding: 10px 0 0px;
}

#saveSpendingProfileBtn, #saveAccountSettingsBtn, #saveUserSettingsBtn {
    float: right;
}

#cancelSpendingProfileBtn, #cancelAccountSettingsBtn, #cancelUserSettingsBtn {
    float: left;
    padding: 10px;
}

#edit-spending-profile {
    text-align: center;
}

#spendingProfileTitle {
    font-size: 18px;
    margin-bottom: 15px;
}

#spendingProfileSubtitle, #accountSettingSubtitle {
    font-size: 18px;
    margin:15px 0;
}

#spendingProfileMsgContainer, #accountSettingsMsgContainer, #addAccountSuccessContainer {
    margin:10px 0;
}

.selector-down-arrow {
    background-image:
        linear-gradient(45deg, transparent 50%, gray 50%),
        linear-gradient(135deg, gray 50%, transparent 50%),
        linear-gradient(to right, #ccc, #ccc) !important;
    background-position:
        calc(100% - 20px) calc(1em + 4px),
        calc(100% - 15px) calc(1em + 4px),
        calc(100% - 2.5em) 0.5em !important;
    background-size:
        7px 6px,
        5px 6px,
        1px 1.5em !important;
    background-repeat: no-repeat !important;
    width:100% !important;
}

.receiveFormField .selector-down-arrow {
    padding-right: 2.7em;
}


@media only screen and (max-device-height: 600px) {

    #greeting-message-container {
        margin-top: 4%;
        margin-bottom: 4%;
    }
}

/* BALANCES */
#globalBalanceContainer, .balance-group-container {
    position: relative;
    overflow: hidden;
    color: #4d4d4d;
    background: #FFF;
}

#globalBalanceContainer h2.title, .balance-group-container h2.title {
    color: #808080;
    font-size: 17px;
    font-weight: normal;
    height: auto;
    letter-spacing: 0.01em;
    line-height: 1.15em;
    margin: 0 0 0.5em;
    padding: 0;
    text-align: left;
    text-transform: uppercase;
    float: left;
    word-break: break-word;
}

#globalBalanceContainer h2.title {
    width: 115px;
}

.globalBalanceRow {
    content: "";
    display: table;
    clear: both;
    width: 100%;
}

.globalBalanceColumn{
    float: left;
    width: 50%
}

.globalBalanceColA{
    float: left;
}

.globalBalanceColB{
    float:right;
}

.balance-container {
    float: right;
    font-weight: bold;
    line-height: 1em;
    margin: 0;
    padding: 0;
    text-align: right;
    color: #133d8d;
    font-size: 30px;
}

#globalBalanceContainer .balance-container {
    color: #ef4135;
    font-size: 44px;
}

.available-container {
    clear: both;
    color: #4d4d4d;
    line-height: 1.15em;
    margin: 0;
    padding: 0.2em 0 0;
    text-align: right;
    font-size: 20px;
}

#globalBalanceContainer .available-container{
    font-size: 24px;
}

#balance-donate-btn {
    border: 3.5px solid;
    padding: 5px 5px;
    border-radius: 4px;
    font-weight: bold;
    letter-spacing: 0.03em;
    font-size: 16px;
    display: none;
    overflow: hidden;
    cursor: pointer;
    box-shadow: 1px 1px 1px rgba(0,0,0,0.1)
}

@media only screen and (max-device-width: 415px) {
    #balance-donate-btn {
        font-size: 16px;
    }
}

.prepay .available-container {
    display: none;
}

.last-updated-container {
    width: 100%;
    clear: both;
    text-align: right;
    font-size: 18px;
    margin: 8px 0 0;
    color: #808080;
}

.stores-container {
    display: none;
    margin-top:3%;
    clear: both;
}

.prepay .stores-container {
    margin-top:5%;
}

.store-list-header {
    font-size: 16px;
    font-weight: bold;
    text-align: left;
}


.prepay .store-list-header {
    text-align: center;
}

.store-container {
    margin: 0.2em 0 0;
}

.prepay .store-container {
    text-align: center;
}

.store-container span {
    float: right;
}

.prepay .store-container span {
    display: none;
}

/* LOGIN PAGE */

#login-page {
    background: #fff;
    min-height: 100%;
    height: auto !important;
}

#login-page.active {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
}

#loginview .pages {
    overflow-y: auto;
}

#loginview .page-padding, #logoutview .page-padding, #reauthView .page-padding {
    padding: 8%;
}

@media only screen and (min-device-width: 610px) {
    #loginview .page-padding {
        padding: 4% 5%;
    }
}

#alphaMessage {
    font-size: 30px;
    margin:10px 0;
    text-align: center;
    text-transform: uppercase;
}

#loginErrorContainer, #logoutErrorContainer {
    margin-top:15px;
}

#loginFormContainer, #logoutFormContainer {
    margin:10px auto 0;
    padding: 3% 1% 0% 1%;
    text-align: center;
    position: relative;
    overflow: hidden;
}

#logoutFormContainer {
    width: 100%;
}

#loginName, #loginPassword {
    background: #fdfdfd;
    font-family: 'Roboto', sans-serif !important;
}

#loginPassword {
    margin-bottom: 0;
    padding-right: 40px;
}

#loginName, .loginPassword-container {
    position: relative;
    margin-bottom: 15px;
}

.login-form-input {
    border: solid 1px var(--inputBorderColor) !important;
}

.password-toggle-icon {
    position: absolute;
    z-index: 2;
    right: 3px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 15px;
    cursor: pointer;
    padding: 12px;
}

#loginButton, #addInstance, #createAccountLink, #cancelAddCodeBtn, #saveInstanceCode, #createAccountCancel,
#createAccountBtn, #saveEnterInstanceCode, #logoutAuthMsg, #logoutQCAuthMsg, #reauthCancelOrderButton, #reAuthSubmit,
#account-created-login {
    opacity: 0.95;
    width: 100%;
    font-weight: normal;
    padding: 12px 0;
    border-radius: 4px;
    font-size: 16px;
    clear: both;
    text-transform: none;
    background-image: none;
    cursor: pointer;
    border: none;
}

    #loginButton {
        background: #ef4135;
        color: #fff;
        margin-top: 9%;
    }

    #addInstance, #createAccountLink {
        background: #fff;
        color: #ef4135;
        text-align: center;
    }

.login-button-separator {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 0;
}

    .login-separator-left, .login-separator-right {
        flex: 5;
        height: 1px;
        background: #dcdcdc;
    }

    .login-separator-or {
        flex: 2;
        text-align: center;
        color: #a2a2a2;
    }

@media only screen and (min-device-width: 415px) {
    #loginButton, #reauthSubmit {
        margin-top: 5%;
    }

    .login-button-separator {
        padding: 20px 0;
    }

    #loginButton, #addInstance, #createAccountLink {
        padding: 13px 0;
        font-size: 17px;
    }

    #loginName, #loginPassword {
        height: 45px;
    }
}

.yesKeepMeLogged, .noKeepMeLogged {
    font-size: 13px !important;
    width: 125px;
    white-space: pre-line !important;
    padding: 6px 5px !important;
    border: 1px solid !important;
    box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
    margin: 0 5px !important;
    position: relative;
    margin-bottom: 10px !important;
}

    .noKeepMeLogged {
        background: white;
        color: #ef4135;
        right: 5px !important;
    }

    .yesKeepMeLogged {
        left: 5px !important;
        background-color: #ef4135 !important;
        background-image: linear-gradient(#f44336, #c62828) !important;
        color: #ffffff !important;
        border: 1px solid #b71c1c !important;
    }

#keepLogged, #loginFormContainer label[for='keepLogged'], #enableFingerprint, #loginFormContainer label[for='enableFingerprint'] {
    float: left;
    padding-left:47px;
    height: 40px;
    line-height: 18px;
    font-size: 15px;
    cursor: pointer;
    display: none;
}

#loginFormContainer label[for='keepLogged'], #loginFormContainer label[for='enableFingerprint'] {
    width: 100%;
    margin-top: -5px;
    z-index:1;
}

.keepLogged-info-icon {
    width: 25px;
    height: 25px;
    position: absolute;
    top: 7px;
    opacity: 0.40;
    padding: 4px;
}

#loginFormContainer label[for='enableFingerprint'] {
    margin-top: 2px;
}

#loginSelectContainer {
    position: relative;
    overflow: hidden;
    clear: both;
    padding-top: 10px;
}

#loginSelectContainer {
    position: relative;
    overflow: hidden;
}

    .loginSelectInformation {
        display: flex;
        align-items: center;
    }

#loginSelectContainer label {
    width: 20%;
    font-size: 16px;
    padding: 0;
    text-align: left;
}

#loginCodeSelect {
    width: 80%;
    margin:0 auto;
}

.loginPageLinks {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10%;
}

    #forgotPasswordLink, #faqLink {
        font-size: 14px;
        line-height: 1.15em;
        text-align: center;
        cursor: pointer;
        color: #ef4135;
        text-decoration: underline;
    }

    #loginSeparator {
        margin: 0 11px;
        border-left: 1px solid #868686;
        height: 14px;
    }

    #faqLink, #loginSeparator {
        display: none;
    }

#forgot-password-form-container .content {
    font-size: 18px;
    padding: 0 10%;
    text-align: center;
    margin: 15px auto;
}

#forgotPasswordContent {
    display: none;
    margin:20px auto 0;
    width:80%;
}

#cancelForgotPWBtn {
    float: left;
    padding: 8px 0;
    margin: 0;
}

#resetPasswordBtn {
    float: right;
    padding: 8px 0;
    margin: 0;
}

#logoutMsg {
    margin-bottom: 30px;
    font-size: 18px;
    font-weight: bold;
}

#logoutAuthMsg {
    margin-top: 9%;
}

#logoutLink, #logoutMyQCLink {
    text-decoration: none;
    font-size: 13px;
}

    #logoutLink:link, #logoutLink:visited, #logoutMyQCLink:link, #logoutMyQCLink:visited {
        color: inherit;
    }

.logoutMsg {
    margin-bottom: 15px;
    padding: 12px 0;
    border-radius: 4px;
    font-size: 12px;
    border: none;
    /*border: 1px solid;*/
    box-shadow: 1px 1px 3px rgba(0,0,0,0.05);
    /*background: #fff;*/
    /*border-color: #ef4135;*/
    color: #ef4135;
}

#logout-main-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

#reauth-fingerprint, #no-enrolled-fingerprint {
    text-align: center;
    padding: 5px 4px 0 3px;
    font-size: 15px;
}

#sso-fingerprint-msg {
    text-align: center;
    padding: 5px 4px 0 3px;
    font-size: 18px;
}

.fingerprint-sso {
    margin-right: 25px !important;
}

#no-enrolled-fingerprint {
    font-size: 16px;
}

.fingerprint-logout, .fingerprint-close {
    font-weight: lighter !important;
    border: 1px solid lightgray !important;
    margin-top: 0 !important;
    margin-bottom: 10px !important;
}

.fingerprint-close {
    right: 121%;
}

/* BRANDING */

.login-background-image {
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
    background-attachment: fixed !important;
}

/* ENTER CODE PAGE */

#enterCode-main-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

.enterCode-input-container {
    margin-top: 20px;
}

#saveEnterInstanceCode {
    float: right;
}

/* OPEN PHONE APP PAGE */

#open-phone-app-main-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

#open-app-store {
    background-image: none;
    border: none;
    height: 48px;
    font-weight: bold;
}

/* ADD INSTANCE PAGE  */
#add-application {
    text-align: center;
}

#addApplication-main-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

#addApplicationContent {
    margin-top: 3%;
}

#addApplicationContent .title {
    font-size: 22px;
}

#addApplicationContent .content {
    font-size: 18px;
    padding: 0 10%;
    margin: 15px auto;
}

#addApplicationContent .content #addCodeCurrentName {
    display: block;
    position: relative;
    text-align: center;
    margin: 15px auto;
    font-size: 20px;
    font-weight: bold;
}

#saveInstanceCode.button-flat {
    float: right;
    padding: 8px 0;
    margin: 2px 0;
}

#saveInstanceCode {
    margin-top: 10px;
}

@media only screen and (min-device-width: 415px) {
    #add-application {
        padding-bottom: 5%;
    }
}

/* ACCOUNT CREATED PAGE */
#account-created-page {
    text-align: center;
}

#account-created-main-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
    max-width: 415px;
    margin: auto;
}

#account-created-content {
    margin-top: 3%;
    background-color: #F5F5F5;
    border-radius: 10px;
    padding: 40px 20px 5px 20px;
}

#account-created-title {
    font-size: 20px;
}

#account-created-message {
    font-size: 18px;
}

@media only screen and (min-device-width: 415px) {
    #account-created-page {
        padding-bottom: 5%;
    }
}

/* TOS */
.tosContent {
    padding: 0 10px;
}

.termsContainer {
    overflow-y: scroll;
    margin: 10px 5px 15px;
    padding: 10px;
}

.tosAcceptContainer {
    overflow: hidden;
}

.tosAcceptContainer input[type="checkbox"] + label {
    float: right;
    padding:13px 10px 0;
    height: 40px;
    line-height: 18px;
    font-size: 18px;
    width: auto;
    cursor: pointer;
    z-index: 1;
    /*opacity: 0;*/
}

.tosAcceptContainer input[type="checkbox"] + label::before {
    left:-60px;
}

#tosCancelBtn {
    float: left;
    margin-left:10px;
    padding: 0.3em;
}

#myqcapp #tos-accept {
    float: right;
    margin-right:0;
    padding: 0.3em;
}

#tos-success-container {
    margin-top:100px;
}

#tos-success-button-container {
    text-align: right;
    margin-top:20px;
}

/* CREATE ACCOUNT */

#createAccount-main-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100%;
}

#createAccountErrorContainer {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

.iphoneX #createAccountErrorContainer {
    padding-top: 40px;
}

#newHereText {
    color: #4d4d4d;
    font-size: 14px;
    line-height: 1.15em;
    margin-top:12%;
}

#createAccountLink {
    cursor: pointer;
    margin-top:6px;
    color: #ef4135;
}

#create-password-reqs {
    text-align: center;
    margin: 15px 0;
}

#create-password-reqs ul {
    list-style:none;
}

#createAccountContent input {
    margin: 8px 0;
}

.createAccountContainer label, .accountSettingsContainer label, .addAccountContainer label, .favoriteOrderFieldsContainer label {
    display:block;
    width:100%;
    clear:both;
    padding: 3px 0;
    text-align: left;
    font-size: 16px;
}

.createAccountPasswordWrapper {
    position: relative;
}

.createAccountPasswordWrapper input {
    padding-right: 40px;
}

#spendingProfileSettingContainer label {
    float: inherit;
}

#accountTypeSpan{
    font-size: 16px;
}

#accountTypeSpanContainer {
    margin: 8px 0 5px 0;
}

#accountGroupSelectContainer, #spendingProfileSelectContainer {
    margin: 8px 0;
}

#accountGroupSelect, #spendingProfileAccountSelect, #accountGroupSetting, #spendingProfileSetting, #accountTypeSetting {
    font-size:16px;
    height:43px;
}

#accountGroupSelectContainer .selectric-items ul, #accountGroupSelectContainer .selectric-items li, #accountGroupSelectContainer .selectric .label,
#spendingProfileSelectContainer .selectric-items ul, #spendingProfileSelectContainer .selectric-items li, #spendingProfileSelectContainer .selectric .label {
    font-size: 14px !important;
}

.placeholder-label {
    font-style: italic;
}

.placeholder-option {
    color: #AAA;
    font-style: italic;
}

.selected > .placeholder-option {
    color: #444;
}

.popup-close-btn {
    font-weight: lighter !important;
    border: 1px solid #ababab !important;
    position:relative;
    /*right:125%;*/
    margin-top: 15px !important;
    margin-bottom: 15px !important;
}

.name-order-popup-button{
    font-size: 15px;
}

.duplicate-close-btn {
    margin-top: 0 !important;
}

.send-invite-btn, .send-invite-close-btn {
    font-weight: lighter !important;
    border: 1px solid lightgray !important;
}

.send-invite-btn {
    margin-top: 5px !important;
}

.send-invite-close-btn {
    margin-top: 15px !important;
    margin-bottom: 10px !important;
}

#icon-info {
    height:20px;
    margin-top:3px;
}

.confirm-checkmark {
    height:15px;
    margin-top:5px;
}

.duplicate-popup-text {
    text-align:center;
    font-size:16px;
}

.duplicate-text {
    padding-top: 20px;
}

#duplicate-text-line1 {
    margin: 30px 10px 0 10px;
}

#password-popup-title {
    margin: 10px 63px 0;
    text-decoration: underline;
}

#password-popup-text {
    text-align: center;
    padding: 0 20px 0 20px;
    font-size: 15px;
    margin-bottom: 20px;
}

.password-popup-list {
    font-size: 14px;
    line-height: 18px;
    text-align: center;
}

.displayUsername, .account-created-subtext {
    font-size: 18px;
    word-wrap: break-word;
}

.acctCreationSuccessMsgContainer{
    margin-top: 20px;
    margin-bottom: 20px;
    text-align: center;
}

/* ABOUT TOUR */
.tour-panel {
    height: calc(100% - 100px);
}

#tour-header {
    display: none;
}

.tour-title {
    font-size: 24px;
    font-weight: bold;
    margin-top: 50px;
}

.tour-logo-container {
    margin-top: 20px;
    text-align: center;
}

[data-using-branding="true"] .tour-logo-container { margin-top: 10px; }

[data-using-branding="false"] .tour-logo-container { margin-top: 20px; }

.tour-logo-container img {
    width: auto;
    max-width: 80%;
}

.tour-featured-container {
    text-align: center;
    margin: 30px auto;
    padding: 10px;
    max-width: 50%;
}

.tour-panel[data-featurename="healthyIndicatorTour"] .tour-featured-container {
    display: flex;
    justify-content: center;
    max-width: 100%;
}

.tour-featured-container img {
    width: 100%;
    max-width: 200px;
    height:auto;
}

.tour-featured-container img.custom-icon {
    height: 140px;
    width: 140px;
    border-radius: 50%;
    padding: 32px;
}

@media only screen and (max-device-width: 500px) {
    .tour-featured-container img.custom-icon {
        padding: 23px;
    }
}

@media only screen and (max-device-height: 670px){
    .tour-title{
        margin-top:10px;
    }
}

@media only screen and (max-device-height: 620px){
    .tour-text-0{
        font-size:16px !important;
    }
    .tour-subtext{
        font-size:14px !important;
    }
}

@media only screen and (max-device-height: 580px){
    .tour-text-0{
        font-size:14px !important;
    }
    .tour-subtext{
        font-size:12px !important;
    }

    #tour-logo-get-started-container{
        bottom:35% !important;
    }

    .tour-navigation{
        margin-top:15px !important;
    }
}

@media only screen and (max-device-width: 320px) and (max-device-height: 600px) {

    .tour-text-0{
        font-size:14px !important;
    }
    .tour-subtext{
        font-size:12px !important;
    }

    .tour-navigation{
        margin-top:15px !important;
    }
}

@media only screen and (max-device-width: 320px) and (max-device-height: 550px) {

    .tour-title{
        margin-top: 0px !important;
    }

    .tour-text-0{
        font-size:14px !important;
        line-height: 1em !important;
    }
    .tour-subtext{
        font-size:12px !important;
        margin-top:10px !important;
    }

    .tour-navigation{
        margin-top:35px !important;
    }

    #tour-footer{
        height:55px !important;
    }

    #tour-logo-get-started-container{
        bottom:20% !important;
    }
}

@media only screen and (max-device-width: 320px) and (max-device-height: 495px) {

    .tour-title{
        font-size: 18px !important;
    }

    .tour-logo-container{
        margin-top:0px !important;
    }

    .tour-navigation{
        margin-top:50px !important;
    }

    #tour-logo-get-started-container{
        bottom:5% !important;
    }
}

#tour-page-3 .tour-featured-container img {
    max-width: 200px;
}


.tour-text, .tour-text-0 {
    color: #4d4d4d;
    font-size: 20px;
    line-height: 1.25em;
    margin: 0.5em 0;
    text-align: center;
}

.tour-text > img {
    width: 20px;
    height: 20px;
    position: relative;
    top: 3px;
}

.tour-subtext {
    color: #808080;
    font-size: 16px;
    text-align: center;
    margin-top: 20px;
}

.app-version {
    display: none;
    margin-top: 2px;
}

.app-version-label {
    display: none;
    font-size: 18px;
}

#aboutqc-links {
    display: none;
    list-style: none;
    color: #808080;
    font-size: 18px;
    margin-top: 20px;
}

#aboutqc-links li {
    border-bottom: 1px solid #cccccc;
    padding: 5px;
    cursor: pointer;
}

.aboutqc-link-arrow {
    height: 16px;
    transform: rotate(180deg) translate(0, -3px);
    float: right;
}

.tour-footer {
    position: absolute;
    bottom: 0;
    left: 5%;
    right: 5%;
    height: 120px;
}

[data-using-branding="false"] .tour-footer {
    height: 120px;
}

.tour-navigation {
    overflow: hidden;
}

.tour-navigation-prev, .tour-navigation-next {
    float: left;
    width: 25%;
    height: 50px;
    cursor: pointer;
}

[data-using-branding="true"] .tour-navigation-prev, [data-using-branding="true"] .tour-navigation-next {
    width: 10%;
}

.arrow-right {
    width: 0;
    height: 0;
    position: absolute;
    right: 0;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    border-left: 25px solid #ccc;
    cursor:pointer;
}

.arrow-left {
    width: 0;
    height: 0;
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;
    border-right:25px solid #ccc;
    cursor:pointer;
}

.tour-navigation-list {
    width: 50%;
    float: left;
    position: relative;
    overflow: hidden;
    height: 70px;
    list-style: none;
}

[data-using-branding="true"] .tour-navigation-list {
    width: 80%;
    display: flex;
    justify-content: space-between;
}

[data-using-branding="false"] .tour-navigation-list {
    width: 50%;
    display: initial;
}

.tour-navigation-item {
    width: 25%;
    float: left;
    height: 50px;
    text-align: center;
}

.tour-navigation-item a {
    border-radius: 200px;
    background: #ccc;
    height: 15px !important;
    width: 15px;
    display: block;
    text-align: center;
    margin: 17px auto;
}

.tour-navigation-item a:hover {
    cursor:default;
}

.tour-navigation-link:hover {
    cursor:default;
}

.tour-navigation-item.current a {
    background: #666;
}

.tour-logo-bottom {
    text-align: center;
    display: none;
    margin: 15px auto 0;
    overflow: hidden;
    width: 100%;
}

[data-using-branding="true"] .tour-logo-bottom {
    display: inline;
}

.main-footer {
    margin: 0;
    justify-content: center;
    width: 100%;
    background: #fff;
}

[data-using-branding="true"] .main-footer, [data-using-branding="true"] .powered-by-logo {
    display: flex;
    justify-content: center;
}

[data-using-branding="false"] .main-footer, [data-using-branding="false"] .powered-by-logo {
    display: none;
}

.tour-logo-bottom h2 {
    float:left;
    padding-left: 3px;
    font-family: 'Roboto', sans-serif;
    font-weight: lighter;
    font-style: italic;
    color:gray;
    margin: 7px 8px;
    font-size:15px;
    text-align:center;
}

.tour-logo-bottom .mmhayes-logo {
    width: 100%;
    max-width: 225px;
}

.tour-logo-bottom img {
    overflow:hidden;
    max-width: 40%;
    width:auto;
}

.main-footer h2 {
    float:left;
    font-family: 'Roboto', sans-serif;
    font-weight: lighter;
    font-style: italic;
    color:gray;
    margin: 7px 8px;
    text-align: center;
    font-size:15px;
}

.main-footer img {
    float:right;
    width: auto;
    max-width: 40%;
    overflow: hidden;
}

#tour-logo-get-started-container {
    min-height: 77px;
    text-align: center;
    margin: 0 auto;
}

[data-using-branding="false"] #tour-logo-get-started-container {
    position: unset;
    bottom: unset;
    left: unset;
    right: unset;
}

.powered-by-logo img {
    max-width:40%;
}

@media only screen and (min-device-width: 415px) {
    .tour-logo-container img {
        width: auto;
        max-width: 80%;
    }

    .tour-text {
        font-size: 22px;
    }

    .powered-by-logo img, .main-footer img {
        max-width:22%;
    }
}

@media only screen and (max-device-width: 345px) {
    .main-footer h2, .tour-logo-bottom h2 {
        margin: 10px 6px;
        font-size:12px;
    }
}

/* PRIVACY POLICY VIEW */
#privacy-policy-page iframe {
    background: #ffffff;
    width: 100%;
    height: 100%;
    border-width: 0;
}

.mobile #privacy-policy-page {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/* TOS REVIEW VIEW */
#tos-review-page {
    background: #ffffff;
    padding: 8px;
    overflow: auto;
}

#tos-review-date {
    background: #fbfbfb;
    padding: 8px;
    border-bottom: 1px solid #808080;
}

/* SPENDING LIMITS */
.spending-limit-container {
    position: relative;
    overflow: hidden;
}

.spending-limit-name {
    color: #808080;
    font-size: 17px;
    font-weight: normal;
    height: auto;
    letter-spacing: 0.01em;
    line-height: 1.15em;
    margin: 0px 0px 0.5em;
    padding: 0px;
    text-align: left;
    text-transform: uppercase;
    float: left;
    word-break: break-word;
}

.spending-limit-value {
    float: right;
    font-weight: bold;
    line-height: 1em;
    margin: 0px;
    padding: 0px;
    text-align: right;
    color: #133d8d !important;
    font-size: 30px;
}

.global-spending-limit-value {
    color: #EF4135 !important;
    font-size: 44px;
}

/* FREEZE PAGE */
#freeze-btn {
    background-color: #ef4135;
    background-image: linear-gradient(#f44336, #c62828);
    border-color: #b71c1c;
    border-radius: 5px;
    color: #ffffff;
    font-size: 34px;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1em;
    padding: 12px 0;
    text-transform: uppercase;
    margin: 100px 0 0;
    height: 110px;
    cursor: pointer;
    border-width: 3px;
}

#freeze-btn.frozen {
    background-color: #133d8d;
    border-color: #133d8d;
    background-image: linear-gradient(#133d8d, #133d8d);
}

.freeze-btn-icon-container {
    float: left;
    width: 35%;
    overflow: hidden;
    position: relative;
    text-align: center;
}

.freeze-btn-icon-container img, .freeze-btn-icon-container svg {
    max-height: 85px;
    max-width: 60px;
}

@media (min-width: 782px) {
    #freeze-btn {
        font-size: 44px;
        height: 125px;
        padding: 20px 25px;
    }

    .freeze-btn-icon-container {
        width: 40%;
    }
}

#freeze-subtitle {
    font-size: 22px;
    text-align: center;
    font-weight: bold;
    margin: 25px 0 0;
}

#freeze-description {
    font-size: 18px;
    margin: 20px 0 0;
}

#freeze-subtext {
    font-size: 16px;
    color: #808080;
    margin: 10px 0 0;
}

/* GENERAL */
.general-msg-main {
    font-size: 22px;
    text-align: center;
    font-weight: bold;
}

.general-msg-content, .general-confirm-content {
    font-size: 18px;
    margin: 20px 0 0;
    position: relative;
    overflow: hidden;
    min-height: 50px;
}

.general-msg-page .general-confirm-content label {
    width: 100%;
    padding: 13px 0 0 45px;
    cursor: pointer;
    z-index:1;
    /*opacity: 0;*/
}

#confirmContinueBtn, #messageContinueBtn {
    float: right;
}

#confirmCancelBtn {
    float:left;
}

/* GENERAL ERROR */
.general-error-icon {
    background: url("../images/icon-add.svg") center center no-repeat;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    width: 100%;
    height: 75px;
}

.general-error-content {
    color: #EF4135;
    font-size: 24px;
    text-align: center;
    padding-top: 40px;
}

#general-error-btn-container {
    margin: 30px auto 15px;
    text-align: center;
}

/* START - SERVER VERSION ERROR STYLES */
.server-version-error-page {
    padding: 0 !important;
}

.server-version-error-container {
    height: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: #FDFDFD;
    padding: 5%;
}

.server-version-error-title {
    text-align: center;
}

.server-version-error-title > h1 {
    font-size: 44px;
}

.server-version-error-title > h1 > .fa-face-frown {
    margin-left: 16px;
    font-size: 36px;
    color: var(--primaryBackgroundColor);
}

.server-version-error-title > h2 {
    font-size: 25px;
}

.server-version-error-content {
    color: #5E5E5E;
    font-family: 'Gotham Rounded', 'Roboto', sans-serif;
    font-size: 18px;
    text-align: center;
    margin: 20px auto;
}

#server-version-error-btn-container {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-top: 8px;
}

#serverVersionErrorBtn {
    width: 80%;
    border: none;
    height: 50px;
    font-weight: bold;
    letter-spacing: 1px;
}

@media only screen and (min-device-width: 415px) {
    .server-version-error-container {
        padding: 10%;
    }
}
/* END - SERVER VERSION ERROR STYLES */

/* ORDERING */
.orderMethodFilterContainer {
    position: relative;
    overflow: hidden;
    padding: 20px 0;
    display: none;
}

.orderMethodTitle {
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}


.orderMethodFilter {
    position: relative;
    overflow: hidden;
    margin: 15px auto 0;
    width: 90%;
    font-size: 14px;
    cursor: pointer;
}


.orderMethodBtn {
    float: left;
    border: 1px solid #ccc;
    text-align: center;
    font-weight: bold;
    width: 50%;
    line-height: 40px;
    background: #fff;
}

.orderMethodBtn.selected, .filterBtn.selected {
    background-color: var(--secondaryBackgroundColor);
    color: #fff;
}

.orderMethodDelivery {
    border-radius: 0 10px 10px 0;
}

.orderMethodPickup {
    border-radius: 10px 0 0 10px;
}

#store-list {
    position: relative;
    overflow: hidden !important;
}

/* Show white BG behind stores in grid layout */
#show-order[data-store-layout="2"],
#show-order[data-store-layout="2"] #store-list,
#show-order[data-store-layout="2"] #gridLayout-stores-available {
    background: #FFF !important;
}

#gridLayout-stores-available {
    margin-top: 8px;
}

#stores-unavailable-separator {
    text-align: center;
    font-size: 16px;
    color: #252525;
    overflow: hidden;
    text-transform: uppercase;
    font-weight: bold;
    margin: 10px 7px;
}

#stores-unavailable-separator span {
    position: relative;
    letter-spacing: .6px;
}

#stores-unavailable-separator span::before, #stores-unavailable-separator span::after {
    position: absolute;
    width: 100vw;
    top: 48%;
    height: 2px;
    content: "";
    background-color: #252525;
}

#stores-unavailable-separator span::before {
    left: calc(-100vw - 10px);
}

#stores-unavailable-separator span::after {
    right: calc(-100vw - 10px);
}

@media only screen and (min-device-width: 415px) {
    #stores-unavailable-separator {
        margin-left: 14px;
        margin-right: 14px;
    }
}

#favorites-unavailable-separator, #orders-unavailable-separator {
    background: #888;
    text-align: left;
    padding-left: 22px;
}

#stores-unavailable li {
    border-bottom: 1px solid #ccc;
    opacity: 0.2;
    cursor: auto;
}


/*Start Store select Page Grid Layout */

[data-order-type="pickup"] #orderType-pickup {
    background-color: var(--primaryBackgroundColor) !important;
    color: var(--primaryFontColor) !important;
}

[data-order-type="delivery"] #orderType-delivery {
    background-color: var(--primaryBackgroundColor) !important;
    color: var(--primaryFontColor) !important;
}

[data-order-type="pickup"] #store-selector-location-container-delivery {
    display: none;
}

[data-order-type="delivery"] #store-selector-location-container-pickup {
    display: none;
}

.gridLayout-header-top {
    margin-left: 2.5%;
    margin-top: 2.5%;
    margin-bottom: 2.5%;
    max-height: 33%;
    height:33%;
    font-size: xx-large;
    display: flex;
}

.gridLayout-header-middle {
    margin-left: 2.5%;
    margin-bottom: 2.5%;
    max-height: 33%;
    height:33%;
    font-size: 1.5em;
    font-weight: bold;
}



#store-selector-header-container{
    background-color: #ffffff;
    display: flex;
    max-width: 100%;
    flex-direction: column;
    color: var(--accentColorTwo);

}

#store-selector-header {
    display: flex;
    justify-content: space-between;
    background-color: #ffffff;
    color: var(--accentColorTwo);
}

#store-selector-home {
    font-size: 1.5em;
    cursor: pointer;
    width: 40px !important;
    height: 40px !important;
    line-height: normal;
    padding: 8px;
    border-radius: 5px;
    margin: 14px 0 0 8px;
}

.iphoneX #store-selector-home {
    margin-top: 8px;
}

#store-selector-filter-container {
    display: flex;
    justify-content: space-evenly;
    min-height: 33%;
    overflow:visible;
    margin: 4px 1% 8px;
    cursor: pointer;
}

#store-selector-filter-container .slick-slide {
    margin: 0 1vw !important;
}

.store-selector-location-container .selectric .label {
    height: 4vh;
    line-height: 4vh;
    margin-left: 38px !important;
}

.store-selector-location-container .selectric .button {
    height: 4vh;
}

.store-selector-location-container .selectric-items .gridLayout-filter-option {
    height: 4vh !important;
    line-height: 100% !important;
}

.store-selector-filtering-option {
    display: flex;
    justify-content: space-evenly;
    margin: 0 2% 8px;
    font-weight: bold;
}
/*Selectric does not work properly with display:flex*/
.store-selector-location-container {
    display: block;
    text-align: center;
    margin-bottom: 4px;
}

.store-selector-filtering-option.hidden{
    display: none;
}
.gridLayout-orderType {
    height: 4vh;
    width: 50%;
    text-align: center;
    border: 1px solid #CCCCCC;
    color: #000;
    background-color: #FFFFFF;
    cursor: pointer;
    font-size: 13px;
}

.store-selector-filter {
    height: 4vh;
    margin: 0 1%;
    text-align: center;
    font-weight: bold;
    padding: 4px 5%;
    cursor: pointer;
    color: #000;
    background-color: #FFF;
    border: 1px solid #CCC;
    word-break: break-word;
    font-size: 11px;
    width: 31%;
}

/* Store filter buttons require some precise font sizing */
@media only screen and (max-device-width: 576px) { .store-selector-filter { font-size: 10px; } }
@media only screen and (max-device-width: 415px) { .store-selector-filter { font-size: 9.5px; } }
@media only screen and (max-device-width: 385px) { .store-selector-filter { font-size: 9px; } }

.store-selector-filter[data-selected] {
    background-color: var(--primaryBackgroundColor) !important;
    color: var(--primaryFontColor) !important;
}

.store-selector-filter:hover {
    opacity: 80%;
    cursor: pointer;
}

.gridLayout-StoreLine-overlay {
    display: flex;
    padding: 8px;
    font-size: 28px;
    text-align: center;
    right: 0;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    border: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .75);
    cursor: auto !important;
}

.gridLayout-orderStoreLine {
    width: 50%;
    float: left;
    overflow: hidden;
    background: #FFFFFF;
    aspect-ratio: 1 / 1;
    cursor: pointer;
    border: 1px solid var(--storeBorderColor);
    text-align: center;
    position: relative;
}

.no-border{
    border: none !important;
}

.gridLayout-noBorderLeft{
    border-left:none;
}
.gridLayout-noBorderTop{
    border-top:none;
}

.gridLayout-image-frame{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    flex-direction: column;
}
.gridLayout-image{
    max-height: 100%;
}

.gridLayout-orderStoreLine.open:hover{
    opacity: 80%;
}

.store-selector-down-arrow{
    border: 1px solid #ccc;
    text-align: center;
    padding: 0;
    margin-bottom: 1%;
    color: #000;
    height: 4vh;
    cursor: pointer;
}

@media only screen and  (max-width: 415px) {
    .gridLayout-StoreLine-overlay {
     font-size: 18px;
    }


    .store-selector-filtering-option{
        margin-left: 3%;
        margin-right: 3%;
    }
}


.gridLayout-express-arrows{
    position: sticky;
    bottom: 13%
}

.gridLayout-filter-option{
width:100%;
}

#orderType-pickup{
    border-radius: 100px 0 0 100px !important;
    font-weight: bold;
}

#orderType-delivery{
    border-radius: 0 100px 100px 0 !important;
    font-weight: bold;
}

.gridLayout-storeName{
    font-weight: bold;
    margin-bottom: 10%;
}

/*END Store select Page Grid Layout */


.orderStoreLine {
    position: relative;
    overflow: hidden;
    padding: 10px;
    background: #fff;
    min-height: 75px;
}

.orderStoreLine:not(.store-image-full) {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.orderStoreLine.open {
    cursor: pointer;
}

    .store-image-full {
        color: #fff;
        min-height: 190px;
    }

        .store-image-full-border {
            border-top: 8px solid #ccc !important;
            min-height: 205px !important;
        }

        @media only screen and (min-device-width: 415px) {
            .store-image-full {
                min-height: 185px;
            }

            .store-image-full-border {
                min-height: 200px !important;
            }
        }

        .store-image-full .store-icon {
            display: none;
        }

        .store-image-full .store-name {
            color: #fff;
        }

        .store-image-full .store-info-container {
            float: left;
            background: rgba(0, 0, 0, 0.37);
            width: auto;
            padding: 6px;
        }

    .store-image-left .store-info-container  {
        width: 75%;
        padding-left: 5px;
    }

    .store-image-left .store-icon {
        width: 25%;
    }

    .store-image-left .store-icon img {
        max-width: 100%;
    }

.store-icon {
    width: 20%;
    height: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

.store-icon img {
    width: 100%;
}

.store-info-container {
    float: right;
    width: 80%;
    border-radius: 5px;
}

/* START - Store page toast message styling */
.order-date-toast-parent {
    top: 0;
    width: 100% !important;
    max-width: 768px;
    left: 50% !important;
    transform: translateX(-50%);
}

.iphoneX .order-date-toast-parent .jq-toast-single {
    padding-top: 35px !important;
}

.iphoneX .order-date-toast-parent .close-jq-toast-single {
    top: 18px;
    right: 18px;
}

.order-date-toast-parent .close-jq-toast-single {
    font-size: 22px;
    font-weight: bold;
}

.order-date-toast {
    padding: 8px;
    font-size: 18px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.order-date-toast > span {
    font-weight: bold;
    padding-left: 16px;
}

.order-date-toast > .fa-calendar-day {
    font-size: 30px;
}
/* END - Store page toast message styling */

/*Start CSS For Select Store Page Top image position*/
.store-image-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.store-image-top .store-info-container {
    width: 95%;
    padding-bottom: 1%;
}

.store-image-top.orderStoreLine {
    padding: 0;
}

.store-image-top .store-banner img {
    height: 100%;
    width: 100%;
}

.store-banner-top {
    height: 20vh;
    display: flex;
}

.store-img.img{
    object-fit: contain;
}
/*End  CSS For Select Store Page Top image position*/

.closingSoonMsg {
    display: none;
    font-size: 12px;
    color: #EF4135;
    font-weight: bold;
    margin-top: 2px;
}

[data-order-type="pickup"] .closingSoon .closingSoonMsg {
    display: block;
}

#stores-unavailable .closingSoon .closingSoonMsg {
    display: none !important;
}

.none-found {
    font-size: 24px;
    padding: 20px;
}

.store-unavailable-warning {
    font-size: 15px;
    font-weight: bold;
    color: inherit;
    display: none;
}

/* Show unavailable messages if store is not open for selected order type */
[data-order-type="pickup"] #stores-unavailable .orderStoreLine:not(.pickupOpen) .pickup-warning,
[data-order-type="delivery"] #stores-unavailable .orderStoreLine:not(.deliveryOpen) .delivery-warning {
    display: block;
}

.wait-time {
    font-size: 13px;
    font-style: italic;
}

    .orderStoreLine:not(.pickupOpen) .wait-time-pickup, .orderStoreLine:not(.deliveryOpen) .wait-time-delivery {
        display: none;
    }

.wait-time-delivery {
    padding-bottom: 4px;
}

.store-name {
    margin-bottom: 0;
    padding: 4px 0;
}

@media only screen and (min-device-width: 415px) {
    .orderMethodTitle {
        font-size: 22px;
    }

    .orderMethodFilter {
        position: relative;
        overflow: hidden;
        margin: 15px auto 0;
        max-width: 450px;
        font-size: 20px;
        width: 100%;
    }

    .store-name {
        font-size: 24px;
    }

    .store-header {
        font-size: 18px;
    }

    .store-unavailable-warning {
        font-size: 20px;
    }

    .wait-time {
        font-size: 17px;
    }

    .closingSoonMsg {
        font-size: 16px;
    }

    .filtering-header-text, .filtering-header-text-large {
        font-size: 24px;
    }

    .filtering-header {
        padding: 15px;
    }

}

/* Start MY-QC 1761 Banner Keypad  */
.keypad-header-banner {
    min-height: 20vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}



.keypad-header-banner-button-back{
    position: absolute;
}



.keypad-banner-storeInfo{
    font-size: larger;
    text-align: center;
    padding-bottom: 1vh;
    padding-left: 1vw;
    padding-right: 1vw;
    justify-content: center;
}


.keypad-banner-buttons-container {
    background-color: #eeeeee !important;
    display: flex;
    align-content: space-evenly;
    margin: 6px;
}
.keypad-banner-quickpick-button.selected{
    color: white;
}

.keypad-banner-back{
    margin: 0;
    padding: 0;
    float: right;
    position: absolute;
    top: 50%;
    transform: translate(0, -50%);
    line-height: 41px;
    width: 65px;
    /* height: 60px; */
    font-size: 0;
    padding-left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}


.keypad-banner-button.selected{
    color: var(--primaryFontColor);
    background-color: var(--storeBackgroundColor);
    flex: 1;
}

.keypad-banner-button {
    padding: 1em;
    text-align: center;
    text-decoration: none;
    margin: 1%;
    display: block;
    line-height: .01em;
    align-self: center;
    cursor: pointer;
    font-size: 1em;
    color: #000000;
    background-color: white;
    border: none;
    flex: 1;
    font-weight: bold;
    letter-spacing: .5px;
}

.keypad-banner {
    height: 20vh;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
/* End MY-QC 1761 Banner Keypad  */

/* KEYPADS && MODIFIERS */
#keypadview {
    background-color: #EEE;
    background-image: none;
}

#keypad-header {height: 20vh !important;
    background-size: cover !important;
}

#keypad-header.show-store-info {
    height: 16vh !important;
}

#keypad-header h1 {
    top: 50%;
    transform: translateY(-50%);
    height: auto !important;
    line-height: normal;
}

#keypad-banner-storeInfo {
    padding: 8px;
    text-align: center;
    font-size: larger;
    position: relative;
}

.keypad-header {
    position: relative;
    overflow: hidden;
    border-bottom: 1px solid #ccc;
    font-size: 18px;
    padding: 8px 20px;
}

.keypad-list {
    position: relative;
    overflow: hidden;
    list-style: none;
}

.keypad-line {
    position: relative;
    overflow: hidden;
    padding: 1px 10px;
    font-size: 18px;
    border-bottom: 1px solid #ccc;
    background: #fff;
    font-weight: bold;
    cursor: pointer;
    min-height: 55px;
}

.keypad-line-flex {
    display: flex;
    justify-content: space-between;
    align-self: center;
    min-height: inherit;
    padding: 2px 0;
}

.keypad-line-flex-original {
    flex-direction: column;
    min-height: 55px;
    display: flex;
    justify-content: center;
    align-self: center;
}

.keypad-line-original {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: inherit;
}

.keypad-line-nutrition {
    display: inline-flex;
    flex-flow: row wrap;
    position: relative;
    bottom: 2px;
}

.keypad-line-nutrition-tab {
    padding: .25em .4em;
    font-size: 75%;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    -webkit-border-radius: .25rem;
    -moz-border-radius: .25rem;
    border-radius: .25rem;
    background-color: #2eb941;
    border: 1px solid;
    font-style: normal;
    margin-right: 3px;
    margin-top: 2px;
    min-width: 45px;
    position: relative;
    bottom: 2px;
    font-weight: normal;
}

.keypad-line-full {
    padding:0;
}

.keypad-line-thumbnail, .favorite-line-thumbnail, .suggestive-keypad-line-thumbnail {
    max-width: 80px;
    overflow: hidden;
    flex: 2;
    padding: 2px 0;
    display: flex;
    align-items: center;

    transition: all 200ms linear;
}

.suggestive-keypad-line-thumbnail {
    min-height: inherit;
    padding-right: 2px;
}

.keypad-thumbnail-bottom {
    max-width: 100%;
    flex: 2;
}
.keypad-thumbnail-full {
    width:100%;
    max-width: 100%;
    padding: 0;
    align-items: flex-end;
    min-height:  125px;
    justify-content: space-between;
}

.hideFull .line_image {
    background-image: none !important;
}

.keypad-line-thumbnail-image, .favorite-line-thumbnail-image, .suggestive-keypad-line-thumbnail-image {
    max-height:  59px;
    height: 100%;
    max-width:  100%;
    width: auto;
    flex: 1;
}

.suggestive-keypad-line-thumbnail-image {
    min-height: inherit;
}

.keypad-line-full-details {
    align-self: flex-start;
    max-width: 70%;
}

.keypad-line-details {
    flex: 2;
}

.keypad-line-details-left {
    display: flex;
    flex-direction: column;
    align-self: center;
    padding-left: 4px;
}

.keypad-line-left-details {
    display: flex;
    justify-content: space-between;
}

.keypad-line-details-right {
    display: flex;
    justify-content: space-between;
    padding-right: 5px;
}

.keypad-line-right-details {
    display: flex;
    flex-direction: column;
    align-self: center;
    min-height: 0;
}

.keypad-line-healthy-icons {
    flex-wrap: wrap;
}

.keypad-line-details-bottom {
    display: flex;
    flex-direction: column;
    align-self: center;
}

#keypad-line-details-center {
    display: flex;
    flex-direction: column;
    align-self: center;
}

.keypad-line-name {
    transition: all 200ms linear;
    word-break: break-word;
}
.keypad-name-center {
    padding: 0 5px 0 0 !important;
}
.keypad-name-full {
    padding: 10px 20px;
    color: white;
    background: rgba(0,0,0,0.37);
    flex: initial;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: fit-content;
    max-width: 100%;
}

.keypad-name-left {
    padding-left: 5px;
}

.keypad-line-left-name-container {
    flex:5;
}

#keypad-line-info-left {
    flex:3;
    min-width: 35%;
    width: auto;
    max-width: inherit !important;
}

.keypad-line-info {
    flex: 1;
    max-width: 25%;
    text-align: right;
    min-width: 23%;
    transition: all 200ms linear;
}

.keypad-info-center {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: inherit;
}

#keypad-info-bottom {
    width: 100%;
    max-width: 100%;
    padding: 5px 0 2px !important;
}
#keypad-info-full {
    background: rgba(0,0,0,0.37);
    color: #fff;
    text-align: center;
    padding: 10px;
    max-width: 30%;
}

.keypad-price-normal {
    flex:none;
}

.keypad-line-right-container  {
    flex: 1;
    max-width: 30%;
    min-height: 75px;
    display: flex;
    flex-direction: column;
    padding: 1px;
}

.hideImages {
    opacity: 0;
}
.fadeInImages {
    -webkit-animation: fadein 1s; /* Safari, Chrome and Opera > 12.1 */
    -moz-animation: fadein 1s; /* Firefox < 16 */
    -ms-animation: fadein 1s; /* Internet Explorer */
    -o-animation: fadein 1s; /* Opera < 12.1 */
    animation: fadein 1s;
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}
/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@media only screen and (min-width: 500px) {
    #keypad-banner-storeInfo {
        font-size: medium;
    }

    .keypad-line-right-container {
        max-width: 25%;
    }
    .keypad-thumbnail-full {
        min-height: 135px;
    }
    #keypad-line-info {
        max-width: 20%;
    }

    .keypad-line-thumbnail, .keypad-line-details {
        flex: 5;
    }

    #keypad-line-thumbnail-center, #keypad-line-details-center {
        flex: 1;
    }

    #keypad-line-info-left {
        position: relative;
    }

    .price-left-icons {
        transform: translate(0, 50%);
    }

    .keypad-line-icons, .keypad-line-healthy-icons {
        min-height: 28px !important;
    }

    .favorite-line-icons .keypad-line-nutrition {
        bottom: 0 !important;
    }
}

@media only screen and (min-device-width: 415px) {
    .keypad-header {
        padding: 15px 20px;
        font-size: 15px;
    }
}

@media only screen and (min-width: 575px) {
    .keypad-line-right-container {
        max-width: 20%;
    }
    .keypad-thumbnail-full {
        min-height: 190px;
    }
    .keypad-line-info {
        max-width: 15%;
    }
    .keypad-name-center {
        padding: 18px 5px 0 0;
    }
    .keypad-line-thumbnail {
        max-width: 90px;
    }
    #keypad-bottom-thumbnail{
        max-width: 100%
    }
}

@media only screen and (max-device-width: 340px){
    .keypad-line-info{
        font-size:16px;
    }
}

.line-modifier {
    border-bottom: 1px solid #ccc;
    padding: 4px 0;
}

.modifier-page {
    overflow: hidden;
}

.keypad-line-info {
    float: left;
    width: 30%;
    color: #133d8d;
    text-align: right;
}

#modifierNext {
    margin: 10px auto;
}

#modifierNext.unavailable {
    opacity: 0.2;
    cursor: auto;
}

.modifier-button-space{
    padding-bottom: 80px;
}

@media only screen and (min-device-width: 415px) {
    /*.keypad-line {*/
    /*padding: 20px;*/
    /*}*/


    #line-svg {
        height:30px;
        padding-right: 34px;
    }

    .order-back-svg {
        height: 60px;
    }

    .order-cart-svg {

    }

    .update-mod {
        height: 70px !important;
        padding-right: 0 !important;
        padding-bottom: 50px !important;
    }
}

/* PRODUCT PAGE */
.product-header {
    position: relative;
    overflow: hidden;
    padding: 20px;
    border-bottom: 1px solid #ccc;
    background: #fff;
}

.product-header-container {
    padding: 10px 15px;
}

.product-description {
    font-size: 15px;
    color: #2b2b2b;
}
.product-healthy-container {
    max-width:100%;
    display: none;
    flex:2;
    overflow: hidden;
    align-items: center;
    transition: all 200ms linear;
    font-style: italic;
    font-weight: bold;
    font-size: 12px;
    padding-top: 10px;
}

.show-product-healthy-icons {
    display:flex !important;
}

.product-healthy-container img{
    width: 18px;
    margin: 0 4px;
    display: inline-flex;
}
.product-healthy-container span{
    margin-right: 10px;
    vertical-align: super;
}

@media only screen and (max-device-width: 340px) {
    .product-healthy-container {
        font-size:10px;
    }
}

.product-modifierList {
    color: #808080;
    font-style: italic;
    margin-top: 15px;
    font-size: 16px;
}

.product-price {
    color: #133d8d;
    text-align: center;
    font-weight: bold;
    font-size: 25px;
}

.combo-discount {
    font-style: italic;
    font-size: 15px;
}

@media only screen and (min-device-width: 415px) {
    .combo-discount {
        font-size: 16px;
        padding-left: 10px;
    }
}

.product-options {
    position: relative;
    overflow: hidden;
}

.product-quantity-selector, .combo-quantity-selector {
    position: relative;
    overflow: hidden;
    margin: 15px auto 0;
    width: 150px;
    font-size: 28px;
    cursor: pointer;
    height: 40px;
}

.product-quantity-decrement, .product-quantity-increment, .combo-quantity-decrement, .combo-quantity-increment {
    cursor: pointer;
    line-height: 38px;
    text-align: center;
    width: 35px;
    float: left;
    border:1px solid #ccc;
    height: 40px;
}

.product-quantity-decrement, .combo-quantity-decrement {
    border-radius: 10px 0 0 10px;
    background: #fff;
}

.product-quantity-increment, .combo-quantity-increment {
    border-radius: 0 10px 10px 0;
    background: #fff;
}

.product-quantity-input, .combo-quantity-input {
    width: 80px;
    float: left;
    border-radius: 0;
}

#product-quantity, #combo-quantity {
    height: 40px;
    width: 100%;
    text-align: center;
    padding: 3px 0 1px;
    margin: 0;
    border-radius: 0;
    border: 1px solid #ccc;
    border-left: none;
    border-right: none;
    font-size: 23px;
}

#combo-quantity {
    border-radius: 0 !important;
}

#product-quantity-label, #combo-quantity-label {
    position: absolute;
    top: 9px;
    right: 46px;
    font-size: 20px;
    display: none;
}

#product-button-container {
    position: relative;
    overflow: hidden;
}

.product-button {
    margin: 20px auto 0;
    display: block;
    border-width: 1px;
}

#updateProductBtn {
    margin: 20px auto 0;
}

#removeProduct {
    margin: 20px auto 0;
}

#customizeProduct {
    margin: 20px auto 0;
}

#addProduct {
    margin: 20px auto 0;
}

.product-image-content {
    padding-bottom: 51%;
}

.product-description-container, .product-modifierList-container {
    justify-content: space-between;
    align-items: center;
}

.product-modifierList-container {
    display: flex;
    margin-top: 10px;
}

.expanddesc .product-description, .expandmods .product-modifierList {
    max-height: 36px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: all 500ms ease-in-out;
    flex: 9;
}

.expanddesc .product-nutrition-container {
    display:none;
}

.expanddesc .product-description {
    max-height: 43px;
}

/*.expanddesc .product-description, .expandmods .product-modifierList {*/
/*max-height: 36px;*/
/*}*/

.collapsed:before, .expanded:before {
    border-color: transparent;
}

.product-description:before, .product-modifierList:before, .product-nutrition-container:before {
    display: block;
    font-size: 12px;
    font-style: italic;
    font-weight: 800;
    letter-spacing: 0.5px;
}

.product-description:before {
    content: "Description:";
}

.product-modifierList:before {
    content: "Customization:";
}

.product-nutrition-container:before {
    content: "Nutritional Information:";
    color: #2f2f2f;
    letter-spacing: 0.2px;
}

.product-nutrition-container {
    margin-top: 10px;
}

.expandmods .product-modifierList {
    margin: 0;
}

.expanddesc .product-description.expanded, .expandmods .product-modifierList.expanded {
    max-height: 500px;
}

.product-description-expand, .product-modifierList-expand, .express-expand {
    flex: 1;
    text-align: center;
    cursor: pointer;
    border: 1px solid #ccc;
    border-radius: 100px;
    transform: rotate(180deg);
    max-width: 20px;
    display: flex;
    justify-content: center;
    padding-top: 4px;
    max-height: 22px;
    align-items: center;
    margin: 0 auto;
    transition: all 150ms ease-in-out
}

.product-description-expand.expanded, .product-modifierList-expand.expanded {
    transform: rotate(0deg);
    max-width: 50px;
    padding-top: 6px;
    max-height: 30px;
    transition: all 250ms ease-in-out;
}

.product-description-expand.expanded {
    margin-top: 5px;
}

.product-description-expand,  .product-modifierList-expand, .express-expand {
    display:none;
}

.product-quantity-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.product-quantity-selector, .combo-quantity-selector {
    margin: 0;
}

.product-modifierList {
    margin-top: 0;
}

@media only screen and (max-device-width: 340px) {
    .product-quantity-selector{
        width:120px;
    }

    .product-quantity-increment, .product-quantity-decrement{
        width:35px;
    }

    .product-quantity-input{
        width:50px;
    }
}

/**Nutrition styles**/

.nutritionTable {
    margin: 2px auto;
    border-collapse: collapse;
    width: 100%;
    text-align: center;
    border: 1px solid #ddd;
    table-layout: fixed;
}

.nutritionTable td, .nutritionTable th {
    border: 1px solid #ddd;
    padding: 3px 2px 3px 2px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    background-color: #fdfdfd;
    font-size:13.5px;
}

.nutrition-2-categories {
    width: 75% !important;
}

.nutrition-1-category {
    width: 45% !important;
}

.product-cell {
    width:34%;
}

.cart-nutrition-category-row td, .nutrition-category-row td {
    background-color:#ef4135;
    background-image: linear-gradient(#f44336, #c62828);
    color:white;
}

.hideRows {
    display:none;
}

.starDescription, .poundDescription {
    font-size: 0.9em;
    text-align: center;
    letter-spacing: 0.4px;
    margin-top: 3px;
    display:none;
}

.star-symbol, .pound-symbol {
    display:inline-block;
    position:relative;
    top:2px;
}

/*.android-plus-icon {*/
/*line-height:11px !important;*/
/*}*/

@media only screen and (min-device-width: 415px) {


    .product-modifierList {
        font-size: 16px;
    }

    .product-price {
        font-size: 26px;
    }

    .product-quantity-selector, .combo-quantity-selector {
        font-size: 29px;
    }

    #updateProductBtn {
        margin: 30px auto 0;
    }

    #removeProduct {
        margin: 30px auto 0;
    }

    #customizeProduct {
        margin: 30px auto 0;
    }

    #addProduct {
        margin: 30px auto 0;
    }

    .combo-discount {
        font-size: 18px;
    }

    .product-header-container {
        padding: 10px 20px;
    }
}


/* CART */

#show-cart {
    background: #FFF !important;
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
    overflow-y: hidden;
}

#cartList {
    position: relative;
    overflow: hidden;
    padding: 0;
    margin: 0;
    list-style: none;
}

.cart-top-container {
    overflow-y: auto;
}

.cart-line, .favorite-order-line, .combo-item-line {
    position: relative;
    overflow: hidden;
    padding: 20px 5px;
    font-size: 18px;
    border-bottom: 1px solid #ccc;
    background: #fff;
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    min-height: 130px;
}

.cart-line {
    cursor: pointer;
    min-height: 120px;
}


.cart-line_nutrition-line {
    font-size: 10px;
    color: #A0A0A0;
}

.cart-line_nutrition-note {
    font-size: 10px;
    color: #909090;
    padding-left: 4px;
}

.quantity {
    position: relative;
    bottom: 1px;
    font-size: 12px;
    padding-left: 1px;
}

.combo-line {
    padding: 15px 0 15px 20px !important;
}

.cart-line.combo-line {
    padding-left: 30px !important;
}

    .cart-line.combo-line .cart-line-name, .review-line.combo-line .cart-line-name {
        max-width: 98%;
    }

    .review-line.combo-title-line .cart-line-name {
        font-size: 17px;
    }

.review-line.combo-title-line, .review-line.combo-line {
    border-bottom: 0 !important;
}

.review-line.combo-line + .review-line:not(.combo-line) {
    border-top: 1px solid #ddd;
}

.cart-line-name {
    font-size: 20px;
    word-break: break-word;
    max-width: 80%;
}

.cart-line-healthy-icons, .combo-line-healthy-icons {
    display: none;
}

.show-healthy-icons {
    display: inline-flex !important;
}

.cart-line-healthy-icons img, .combo-line-healthy-icons img{
    width: 18px;
    height: 18px;
    margin-right: 4px;
}

.cart-line-modifiers, .combo-line-modifiers {
    color: #808080;
    font-style: italic;
    font-size: 15px;
    margin-top: 3px;
    font-weight: 400;
}

.cart-line-modifiers {
    margin-bottom: 3px;
}

.align-healthy-icon-mods {
    /*display: inline-flex; Gawark - Not sure what intended styling was using these properties, but the result in 6.7 was really wacky */
    /*vertical-align: super;*/
    position: relative;
    top: 4px;
}

.cart-line-price {
    color: #133d8d;
    text-align: right;
    font-weight: bold;
}

@media only screen and (max-device-width: 400px) {
    .cart-line-price{
        min-width: 25%;
    }
}

.cart-line-quantity, .combo-line-quantity {
    width: 100%;
    font-size: 14px;
}

.cart-line-tare-info{
    display:flex;
    flex-direction:column;
    font-weight: lighter;
    font-size: 11px;
}

@media only screen and (max-device-width: 330px) {
    .tare-line .cart-line-tare-info {
        font-size: 13px;
    }

    .tare-line .cart-line-name {
        max-width: 48%;
    }

    .cart-line-name {
        max-width: 71%;
    }
}

@media only screen and (min-device-width: 330px) and (max-device-width: 380px) {
    .tare-line .cart-line-name {
        max-width: 55%;
    }
}

@media only screen and (min-device-width: 380px) and (max-device-width: 420px) {
    .tare-line .cart-line-name {
        max-width: 60%;
    }
}

.cart-line-total, .combo-line-total {
    width: 100%;
    font-size: 17px;
    margin-top: 3px;
}

.subtotal-line {
    font-size: 20px;
    line-height: 20px;
    text-transform: uppercase;
    color: #808080;
    cursor: auto;
}

.subtotal {
    color: #ef4135;
    font-size: 26px;
    display: block;
    float: right;
    text-align: right;
}

.cart-price-item {
    border-radius: 100px;
    padding: 6px 32px;
}

.cart-empty {
    text-align: center;
    justify-content: center;
    border-bottom: none;
    cursor: initial;
}

.cartMessage {
    text-align: center;
    padding: 15px 15px 5px;
    font-size: 14px;
}

.iphoneX .cart-bottom-container {
    margin-bottom: 30px;
}

.cart-bottom-container {
    display: flex;
    flex-direction: column;
    margin: 15px 0;
}

#cart-subtotal-container {
    margin: 0 auto;
    flex: 1;
    font-size:22px;
    width:80%;
}

#cart-bottom-subtotal{
    float:right; text-align:right;
}

#cartButtonContainer button {
    margin: 20px auto 0;
    flex:1;
}

.cart-button-primary {
    border: none;
    text-transform: uppercase;
}

.cart-button-secondary {
    text-transform: uppercase;
}

#checkOutButton.unavailable {
    opacity: 0.2;
    cursor: auto;
}

.cart-remove {
    position: absolute;
    height: 100%;
    font-size: 18px;
    font-weight: bold;
    color: #ffffff;
    background-color: #e44646;
    cursor: pointer;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/** Cart Nutrition Styles **/
.cart-nutrition-container {
    margin: 15px auto;
    /*min-height: 200px;*/
    width: 100%;
}
.cart-nutrition-label-container {
    display: flex;
    justify-content: space-between;
    padding: 10px 2%;
    cursor: pointer;
}
.cart-nutrition-dropdown-arrow {
    width: 14px;
    height: 14px;
    transform: rotate(-90deg);
    transition: all 200ms;
    cursor: pointer;
}
.expand-nutrition .cart-nutrition-dropdown-arrow {
    transform: rotate(90deg);
}
.cart-nutrition-table-container {
    overflow: hidden;
}
.cart-line_image {
    width: 120px;
    height: 100%;
    min-height: 90px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
    flex-grow: 0;
    border-radius: .375rem;
}

.cart-line_name .quickpick-icon {
    margin-right: 0;
    margin-left: 6px;
}

#checkOutButton {
    font-size: 20px !important;
}

#checkOutButton .line_currency {
    margin-left: 12px;
}

.cart-subtotal-disclaimer {
    color: #505050;
    width: 100%;
    float: left;
    text-align: left;
    font-size: 12px;
    margin-top: 4px;
}

#cart-nutrition-title {
    text-align: center;
    font-size: 14px;
    letter-spacing: 0.2px;
    color: #4a4a4a;
    font-weight: bold;
}

#cart-nutrition-table {
    border:none;
    margin: 10px auto;
    width: 96%;
}

#cart-nutrition-table td, #cart-nutrition-table th {
    font-size:13px;
}

.cart-quantity-cell {
    width: 9%;
    padding: 2px !important;
}

.cart-product-cell {
    width:28%;
}

.cart-dv-cell, .cart-label-cell {
    background-color: transparent !important;
    text-align: right;
    border:none !important;
    padding-right: 9px !important;
    font-weight: bold;
}

/** End Cart Nutrition Styles **/

@media only screen and (min-device-width: 415px) {
    .cart-line {
        padding: 20px;
    }

    .favorite-order-line {
        padding: 15px;
    }

    #favorite-order-items-list .combo-title-line {
        padding: 15px 20px;
    }

    #cartButtonContainer button {
        margin: 30px auto 0;
    }

    .cart-line-tare-info{
        font-size: 14px;
    }

    #checkOutButton {
        font-size: 22px !important;
    }
}

/* RECEIVE ORDER PAGE */

#show-receive {
    padding-bottom: 90px;
    background-color: #FFF;
}

.iphoneX #show-receive {
    padding-bottom: 120px;
}

.receiveMessage {
    padding: 10px;
    font-size: 22px;
    text-align: center;
    width: 100%;
    font-weight: bold;
    display: none;
}

#receiveMethodContainer {
    position: relative;
    overflow: hidden;
    margin: 25px auto;
    max-width: 300px;
    width: 90%;
    font-size: 16px;
    cursor: pointer;
    display: none;
}

.receiveBtn {
    height: 30px;
    float: left;
    border: 1px solid #ccc;
    text-align: center;
    font-weight: bold;
    width: 50%;
    background: #fff;
    cursor: pointer;
}

.receiveBtn:not(.selected) {
    color: #000;
}

#receiveDelivery {
    border-radius: 0 100px 100px 0 !important;
}

#receivePickup {
    border-radius: 100px 0 0 100px !important;
}

.receiveFormContainer {
    position: static;
    overflow: visible;
    padding: 0 8.5% 0% 8.5%;
}

#order-review-container > #review-page {
    position: initial !important;
    display: block !important;
}

.receiveFormField {
    position: relative;
    overflow: hidden;
    margin: 15px 0;
}

#phoneFormField {
    margin: 6px 0 0;
}

.receiveFormField label {
    display: block;
    width: 100%;
    clear: both;
    padding: 3px 0;
    text-align: left;
    font-size: 17px;
}

.receiveFormField textarea, .receiveFormField input {
    width: 100%;
    max-width: 100%;
    max-height: 72px;
    padding: 5px;
    border-radius: 5px;
    box-shadow: none;
    border: 1px solid #ccc;
}

#receiveFormPhoneContainer {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

/* Gives inputs a little space on iOS so outline is not cut off (MYQC-2098) */
.iphoneX .receiveFormField {
    padding-left: 1% !important;
    padding-right: 1% !important;
}

#phoneSelectContainer, #phoneFormField {
    width: 48%;
    margin: 0 !important;
}

#orderPhone {
    padding-left: 10px;
}

#paymentMethodSelectContainer, #phoneSelectContainer, #diningOptionContainer, #deliveryLocationSelectContainer {
    overflow: inherit;
}

#addVoucherButton {
    display: block;
    position: relative;
    z-index: 1;
    float: right;
    width: fit-content;
    cursor: pointer;
}

#openVoucherModalButton {
    display: inline;
    position: relative;
    z-index: 1;
    float: right;
    width: fit-content;
    cursor: pointer;
    font-weight: normal;
    padding-top: 0 !important;
    margin-top: 0 !important;
    border-radius: 5px !important;
}

#accountFunding_invalidVouchers_label {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.lightgray {
    color: #bfbfbf;
}

        @media only screen and (max-width: 415px) {
            #addVoucherButton {
                float: none;
                margin-top: 3px;
            }
        }

        #appliedVoucher {
            display: inline-block;
            margin: 10px 0 15px;
            font-size: 17px;
        }

        #removeVoucher {
            display: inline-block;
            padding: 0 7px 0 4px;
            margin-left: 10px;
            cursor: pointer;
        }

        .voucher-remove-left {
            width: 2px;
            height: 16px;
            transform: rotate(45deg) translate(2px, 0);
        }

        .voucher-remove-right {
            width: 2px;
            height: 16px;
            transform: rotate(90deg);
        }

        #addPaymentMethodBtnContainer {
            display: none;
        }

            .addPaymentMethod-label {
                padding: 3px 0;
                text-align: left;
                font-size: 17px;
            }

            #addPaymentMethodButton {
                width: 100%;
                padding: 10px;
                border: 1px solid #ccc;
                background-color: #FFF;
                color: #000;
            }

        .selectric-payment-method_select .selectric, .selectric-phone_select .selectric, .selectric-dining-option_select .selectric, .selectric-delivery-location_select .selectric {
            background: #fff !important;
            /*border-radius: 4px !important;*/
            border: 1px solid #ccc !important;
        }

            .selectric-payment-method_select .selectric .label, .selectric-phone_select .selectric .label, .selectric-dining-option_select .selectric .label, .selectric-delivery-location_select .selectric .label {
                font-size: 14px !important;
                color: #000 !important;
            }

                .selectric-payment-method_select .selectric .label .payment-method_select-cc .payment-method_cc-icon-container {
                    display: none;
                }

        .selectric-payment-method_select.selectric-open .selectric, .selectric-phone_select.selectric-open .selectric, .selectric-dining-option_select.selectric-open .selectric, .selectric-delivery-location_select.selectric-open .selectric {
            border-bottom-left-radius: 0 !important;
            border-bottom-right-radius: 0 !important;
        }

        .selectric-payment-method_select .selectric .button:after, .selectric-phone_select .selectric .button:after, .selectric-dining-option_select .selectric .button:after, .selectric-delivery-location_select .selectric .button:after {
            border: 6px solid transparent !important;
            margin-bottom: 2px !important;
            border-top-color: #808080 !important;
        }

        .selectric-payment-method_select .button, .selectric-phone_select .button, .selectric-dining-option_select .button, .selectric-delivery-location_select .button {
            background: #fff !important;
            border-left: 1px solid #ccc !important;
            margin: 8px 0!important;
            height: 23px !important;
            cursor: inherit;
        }

        .selectric-payment-method_select.selectric-above .selectric-items, .selectric-phone_select.selectric-above .selectric-items, .selectric-dining-option_select.selectric-above .selectric-items, .selectric-delivery-location_select.selectric-above .selectric-items {
            top: 100% !important;
            bottom: inherit !important;
        }

        .selectric-payment-method_select .selectric-items li, .selectric-phone_select .selectric-items li, .selectric-dining-option_select .selectric-items li, .selectric-delivery-location_select .selectric-items li {
            background: #fff !important;
            font-size: 14px !important;
            color: #000 !important;
            border-bottom: 1px solid #e0e0e0 !important;
            display: flex !important;
            align-items: center;
        }

        .selectric-payment-method_select .selectric-items li.selected, .selectric-phone_select .selectric-items li.selected, .selectric-dining-option_select .selectric-items li.selected, .selectric-delivery-location_select .selectric-items li.selected {
            background: #f9f9f9 !important;
        }

        .selectric-payment-method_select .selectric-items li:last-child, .selectric-phone_select .selectric-items li:last-child, .selectric-dining-option_select .selectric-items li:last-child, .selectric-delivery-location_select .selectric-items li:last-child {
            border-bottom: none !important;
        }

        .payment-method_select-cc {
            display: inline-flex;
            align-items: center;
        }

            .payment-method_select-cc .payment-method_cc-icon-container {
                width: 47px;
                height: 29px;
            }

                .payment-method_select-cc .payment-method_cc-icon {
                    width: inherit;
                    height: inherit;
                    background-size: cover;
                    background-repeat: no-repeat;
                }

#orderTimeContainer {
    overflow: visible;
    position: static;
}

    #orderTimeContainer #orderTime {
        padding: 10px;
        margin-bottom: 0;
    }

    #orderTimeContainer .picker__list button {
        border-radius: 0 !important;
    }

#receiveBtnContainer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 101;
    transition: bottom ease-in .1s;
    padding: 20px 0;
    background-color: #FFF;
}

.iphoneX #receiveBtnContainer {
    height: 120px !important;
}

#receiveBtnContainer.hidden {
    display: none !important;
}

#placeOrderBtn {
    width: 80%;
    height: 50px;
    font-size: 22px;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    margin: auto;
    transition: opacity 200ms;
}

#placeOrderBtn:disabled {
    opacity: 0.2;
    cursor: auto;
}

.receiveButtons {
    display:inline;
}

/* REVIEW PAGE */
#order-review-container > .pages > #review-page {
    display: block !important;
}

.review-header {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding: 14px 10px 15px 20px;
    border-bottom: 1px solid #ccc;
}

    .review-order-information {
        font-weight: bold;
        font-size: 20px;
        padding-bottom: 5px;
    }

.review-order-time-container {
    font-size: 16px;
}

.review-order-time-label {
    font-weight: bold;
}

.review-store {
    margin-top: 5px;
    font-size: 16px;
}

    .review-label {
        font-weight: bold;
        margin-right: 3px;
    }

#review-favorite-icon {
    position: absolute;
    right: 3%;
    top: 3%;
    cursor: pointer;
}

    #fav-icon {
        width: 35px;
        height: 35px;
    }

#review-products {
    position: relative;
    overflow: hidden;
    background: #fff;
    padding-left: 20px;
    list-style: none;
}

#review-products .review-line {
    padding: 10px 0;
    font-size: 17px;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: space-between;
}

#review-products .review-line:not(:last-child) {
    border-bottom: 1px solid #ddd;
}

#review-products .review-line .cart-line_image {
    display: none;
}

#review-products .review-discount-line {
    font-size: 14px;
    padding: 5px 20px;
    position: relative;
    overflow: hidden;
    border-top:none;
}

#review-products .discount-line-name {
    font-weight: normal;
    font-style: italic;
    float: left;
    width: 75%;
}

#review-products .discount-line-amount {
    float: left;
    width: 25%;
    text-align: right;
    color: #133d8d;
    font-weight: bold;
}

.review-details {
    position: relative;
    overflow: hidden;
    background: #fff;
    border-bottom: 1px solid #ccc;
    padding: 20px;
}

.review-order-products {
    padding-bottom: 10px;
}

        .review-detail {
            padding: 5px 0;
        }

            .detail-show {
                display: flex !important;
                font-size: 16px;
                font-weight: bold;
            }

            .review-detail-line {
                text-align: left;
                flex: 2;
            }

            .review-line-amount {
                color: #133d8d;
                text-align: right;
                font-weight: bold;
                flex: 1;
            }

        .review-order-label {
            display: block;
            float: left;
            width: 50%;
        }

        .review-section-header {
            color: #808080;
            text-transform: uppercase;
            font-size: 20px;
            font-weight: bold;
            line-height: 20px;
            /*overflow: hidden;*/
            position: relative;
            display: flex;
            justify-content: space-between;
            width: 100%;
            padding-bottom: 5px;
        }

        .review-surcharge-detail {
            display: flex;
            font-size: 16px;
            font-weight: bold;
            padding: 5px 0;
        }

        .review-payment .review-detail {
            padding-left: 20px;
        }

        .review-payment .detail-show {
            font-size: 17px;
            font-weight: normal;
        }

.review-delivery-fee, .review-order-discount, .review-order-rewards, .review-credit-card-fee, .review-surcharge, .review-tax, .review-tender {
    display: none;
}

.review-subtotal-amount, .review-order-total {
    display: block;
    float: right;
    text-align: right;
    color: #ef4135;
    width: 50%;
    font-size: 22px;
}

.review-surcharge {
    padding: 0;
}

.review-total {
    background: #fff;
    position: relative;
    overflow: hidden;
    text-transform: uppercase;
    border-bottom: 1px solid #ccc;
    padding: 20px;
    font-size: 22px;
    font-weight: bold;
    color: #808080;
    line-height: 22px;
}

.review-order-total {
    font-size: 26px;
}

#submitOrder, #cancelReview {
    margin: 25px auto;
}

.view #placeOrderButtonContainer #submitOrder {
    margin: 10px auto;
}

.unavailable #submitOrder{
    opacity: 0.2;
    cursor: auto;
}

.open-txn-alert {
    padding: 20px 10px 0;
    text-align: center;
    font-size: 18px;
}

    .open-txn-alert-btn {
        font-size: 19px !important;
        font-weight: normal !important;
        margin: 0 20px 10px !important;
        padding: 5px 15px !important;
    }

@media only screen and (min-device-width: 310px) and (max-device-width: 415px) {
    .review-order-information {
        font-size: 19px;
    }


}

@media only screen and (min-device-width: 415px) {


    #review-favorite-icon {
        top: 9%;
    }

        #fav-icon {
            width: 38px;
            height: 38px;
        }

    .review-header {
        padding: 18px 20px 18px 20px;
    }


}


/* FORCE */

.force-msg, .password-msg {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
}

.password-msg {
    padding-bottom: 15px;
}

#force-password-reqs {
    text-align: center;
    margin: 15px 0;
}

#force-password-reqs ul {
    list-style:none;
}

#forcePasswordSubmit, #personPasswordSubmit {
    float: right;
}

#forcePasswordCancel, #personPasswordCancel {
    float: left;
}

/* RECHARGE */
#show-recharge {
    padding: 10px 0;
}

#rechargeFormContainer {
    text-align: center;
}

#rechargeFormContainer label, #paymentTypeLabel {
    display: block;
    width: 100%;
    float: none;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

#rechargeFormContainer input {
    max-width: 300px;
    margin: 0 auto;
}

.paymentTypeInputContainer {
    margin: 10px 0;
}

.paymentTypeInputContainer input {
    display: inline;
}

#continueRecharge {
    margin: 10px auto;
}

#rechargeThresholdContainer {
    display: none;
}

#cancelRecharge {
    margin: 10px auto;
    padding: 5px 15px;
    font-size: 26px;
    cursor: pointer;
    background-color: #fff;
    background-image: none;
    box-shadow: none;
    border: 1px solid #b71c1c;
    color: #ef4135;
    font-weight: bold;
    border-radius: 5px;
    text-transform: uppercase;
}

/* REAUTH */
#reauth {
    background-color: #FFF;
    transition:all .5s;
}

.slide-up{
    top:-15vh;
}

.reauth-msg {
    font-size: 22px;
    padding: 5px 15px;
}

.reauth-input-container {
    position: relative;
    margin: 10px 0 10px;
}

#reauth-password {
    margin-bottom: 0;
}

#reauth-password-toggle {
    background: none !important;
    border: none !important;
}

.reauth-option-container {
    position: relative;
    display: none;
    padding: 10px 0;
    overflow: hidden;
    /*opacity: 0;*/
    z-index: 1;
}

.reauth-option-container input[type="checkbox"] + label {
    width: 100%;
    padding: 13px 0 0 45px;
}

.reauth-btn-container {
    position: relative;
    margin: 20px 0 20px;
}

#reauth-btn-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#reauthSubmit {
    margin-top: 9%;
}

/* ORDER SUCCESS PAGE */
#orderSuccessMsgContainer {
    text-align: center;
}

#displayOrderNumber {
    font-size: 28px;
    font-weight: bold;
    text-align: center;
    padding: 15px 0;
}

.order-placed-subtext {
    font-size: 14px;
    font-style: italic;
}


/* RECEIPTS */
#show-purchases .list-date {
    width: 65%;
}

#show-purchases .no-receipt .list-date {
    width: 75%;
}

.receipt-icon {
    background: url("../images/icon-receipt.svg") center center no-repeat;
    min-height: 43px;
    width: 10%;
    position: relative;
    float: left;
    cursor: pointer;
    -webkit-background-size: 55%;
    background-size: 55%;
}

@media only screen and (min-device-width: 415px) {
    .receipt-icon {
        -webkit-background-size: 35%;
        background-size: 35%;
    }
}

.no-receipt .receipt-icon {
    width: 0;
}

.no-receipt .trans-receipt-icon {
    display: none;
}

#receipt {
    text-align: center;
}

#receipt table {
    text-align: left;
    width: 100% !important;
}

#orderAgainBtn {
    margin: 0 auto 10px;
}

.reorder-error-list {
    width: 90%;
    margin: 0 auto;
    text-align: left;
}

#messageViewReceiptBtn {
    max-width:50%;
}

#receipt-arrow-left, #receipt-arrow-right {
    top: 50%;
}

#receipt-arrow-left, #receipt-arrow-right, #express-arrow-left, #express-arrow-right, #order-arrow-left, #order-arrow-right {
    position: absolute;
    border-top: 16px solid transparent;
    border-bottom: 16px solid transparent;
}

#receipt-arrow-left {
    left:0;
    border-right:14px solid #ccc;
}

#receipt-arrow-right {
    right:0;
    border-left:14px solid #ccc;
}

#order-arrow-left, #order-arrow-right {
    top: 50%;
    cursor: pointer;
}

#order-arrow-left {
    left:3px;
    border-right:14px solid #ccc;
}

#order-arrow-right {
    right:3px;
    border-left:14px solid #ccc;
}

/* ACCOUNT FUNDING */
#accountFunding {

}

#accountFunding .tile {
    padding: 10px 5px;
    margin-bottom: 15px;
}

#accountFunding_filter {
    position: relative;
    width: 75%;
    overflow: hidden;
    margin: 0 auto 15px;
    font-size: 15px;
    cursor: pointer;
    display: flex;
}

.filterBtn {
    border: 1px solid #ccc;
    text-align: center;
    font-weight: bold;
    width: 33%;
    background: #fff;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
    height: 40px;
    display: flex;
}

.filterBtn.selected {
    background-color: #133d8d;
    color: #fff;
}

#accountFunding_filter_automatic {
    border-radius: 0 10px 10px 0;
}

#accountFunding_filter_one {
    border-radius: 10px 0 0 10px;
}

#accountFunding_balance {
    justify-content: space-between;
    align-items: center;
    position: relative;
    min-height: 110px;
}

#accountFunding_balance_label {
    flex: 2;
    align-self: flex-start;
}

#fundingHistoryButton {
    position: absolute;
    left: 15px;
    bottom: 0;
}

#accountFunding_balance_amount {
    flex: 2;
    margin-right: 5px;
}

#accountFunding_balance_template {
    display: flex;
}

#fundingButton {
    position: absolute;
    right: 15px;
    bottom: 0;
}

#accountFunding_rowTwo {
    min-height: 30px;
}

#accountFunding_history_button_place {
    flex: 1
}

#accountFunding_funding_button_place {
    flex: 1
}

.row {
    display: flex;
}

.addFunds_container {
    position: absolute;
    width: 100%;
    top: 20%;
    z-index: 1001;
    background: #fff;
    overflow: hidden;
    transition: all 800ms;
    max-width: 768px;
}

.funding-balance {
    font-size: 40px;
    font-weight: bold;
    text-align: right;
    color: #ef4135;
}

.funding-last-updated {
    text-align: left;
    font-size: 14px;
    font-weight: normal;
    margin: 8px 0 0;
    color: #808080;
}

.voucherList-item {
    align-items: center;
    margin: .5rem;
}

.voucherList-container {
    display: flex;
    flex-wrap: wrap;
    padding: 0 0 0 0px;
    text-align: left;
    margin-left: 0rem;
}

.voucherList-container > button {
    width: 5%;
    display: inline;
    padding: 0 0 0 0 !important;
    margin: .5rem 0rem !important;
    text-transform: none !important;
}

.voucherList-container > div {
    width: 95%;
}

hr.solid {
    width: 100%;
}

#autoFundLabel {
    padding-top: .5rem;
}

#accountFunding_paymentMethod_saved-method, #manual-accountFunding_paymentMethod_saved-method {
    margin-top: 10px;
}

#accountFunding_paymentMethod_buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
    padding: 0 10px;
}

#accountFunding_paymentMethod_buttons button {
    margin: 0;
    padding: 0;
}

.confirm-msg-content {
    text-align: center;
    font-size: 17px;
    padding-top: 13px;
}

.confirm-btn {
    margin-left: 5px !important;
    font-weight: normal !important;
    background-color: #ef4135 !important;
    background-image: linear-gradient(#f44336, #c62828) !important;
    color: #ffffff !important;
    border: 1px solid #b71c1c !important;
}

#accountFunding_fundOneTime, #manual-accountFunding_fundOneTime {
    text-align: center;
}

#accountFunding_fundOneTime_label {
}

#accountFunding_fundOneTime_amount, #manual-accountFunding_fundOneTime_amount {
    margin: 10px auto 0;
    width: calc(100% - 20px);
    background: #fff url('../images/icon-expand.svg') no-repeat;
    background-size: 12px 12px;
    background-position-x: 96%;
    background-position-y: 14px;
}

#accountFunding_fundOneTime_button {
}

#oneTimePaymentButton {
    margin: 1.5%;
    width: 97%;
    border-radius: 5px;
    font-size: 18px;
}

#toggleAutomaticButton {
    margin: 1.5% 0;
    width: 100%;
    border-radius: 5px;
    font-size: 18px;
}

#accountFunding_fundAutomatic {
    position: relative;
}

.blur-filter :not(.unBlur-content) {
     -webkit-filter: blur(2px);
     -moz-filter: blur(2px);
     -o-filter: blur(2px);
     -ms-filter: blur(2px);
     filter: blur(2px);
 }

.accountFunding_fundAutomatic_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 10px;
    margin-top: 10px;
}

#accountFunding_autoFundLabel_row {
    min-height: 2.5rem;
}

#accountFunding_fundAutomatic_reload-label, #accountFunding_fundAutomatic_threshold-label {
    flex: 5;
    font-size: 16px;
}

#accountFunding_fundAutomatic_reload-amount, #accountFunding_fundAutomatic_threshold-amount {
    flex: 2;
    margin: 0 0 0 0.5rem;
    background: #fff url('../images/icon-expand.svg') no-repeat;
    background-size: 12px 12px;
    background-position-x: 90%;
    background-position-y: 14px;

    transition: all 250ms linear;
}

#accountFunding_fundAutomatic_reload-amount.locked, #accountFunding_fundAutomatic_threshold-amount.locked {
    background: #eee url('../images/icon-lock.svg') no-repeat;
    background-size: 20px 20px;
    background-position-x: 90%;
    background-position-y: 9px;
    border-color: #999;

    transition: all 250ms linear;
}


#accountFunding_fundAutomatic_buttons_main, #accountFunding_fundAutomatic_buttons_modifying {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 10px;
}

#accountFunding_settingsMsg {
    padding-top: 5px;
}


@media only screen and (min-device-width: 355px) {
    #accountFunding_filter {
        font-size: 16px;
    }
}

@media only screen and (min-device-width: 415px) {
    #accountFunding_fundOneTime_amount, #manual-accountFunding_fundOneTime_amount {
        background-position-x: 98%;
    }

    #accountFunding_fundAutomatic_reload-amount, #accountFunding_fundAutomatic_threshold-amount {
        background-position-x: 95%;
    }

    #accountFunding_fundAutomatic_reload-amount.locked, #accountFunding_fundAutomatic_threshold-amount.locked {
        background-position-x: 95%;
    }

    #accountFunding_filter {
        font-size: 18px;
    }
}

/* PAYMENTS */
#payment {
    padding-top: 5%;
    padding-bottom: 250px;
}

#payment_frame {
    padding: 5%;
}

#payment-agreement_text-container_content, #manual-payment-agreement_text-container_content {
    text-align: justify;
}

#payment-agreement_text-container_auto-funding-minutes-msg {
    text-align: justify;
    display: none;
}

#payment-agreement_button {
    text-align: center;
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    /*position: relative;*/
    /*bottom: 20px;*/
}

/* PAYMENT METHOD */
.payment-method {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 10px;
}

.payment-method_icon {
    height: 35px;
    width: 56px;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url('../images/icon-cc.svg');
}

.payment-method_icon--visa {
    background-image: url('../images/icon-cc-visa.svg');
}

.payment-method_icon--discover {
    background-image: url('../images/icon-cc-disc.svg');
}

.payment-method_icon--amex {
    background-image: url('../images/icon-cc-amex.svg');
}

.payment-method_icon--mastercard {
    background-image: url('../images/icon-cc-mc.svg');
}

.payment-method_details {
    text-align: right;
    line-height: 1.3;
}

#payment-agreement #payment-agreement_text-container_agree-cb, #payment-agreement label[for="payment-agreement_text-container_agree-cb"], #manual-payment-agreement_text-container #manual-payment-agreement_text-container_agree-cb, #manual-payment-agreement_text-container label[for="manual-payment-agreement_text-container_agree-cb"] {
    float:none;
    width: 100%;
    padding-left: 40px;
    z-index:1;
    color:#000;
}

label[for="payment-agreement_text-container_agree-cb"]{
    margin:15px 0px 25px 0px;
}

#payment-agreement_paymentMethod_label {
    padding: 0;
}

#payment-agreement_paymentMethod_saved-method {
    margin-top: 10px;
}

#payment-agreement_paymentMethod_saved-method .payment-method {
    padding: 0;
}

#payment-agreement_text-container, #manual-payment-agreement_text-container {
    margin-top: 30px;
}

@media only screen and (min-device-width: 415px) {
    #payment {
        padding-bottom: 5%;
    }
}

/* TOGGLE SWITCH */
.toggle {
    position: absolute;
    right: 40%;
    top: -2rem;
    width: 20%;

    height: 22px;
    border-radius: 11px;

    background: #ef4135;
    box-shadow: 1px 1px 5px #000 inset;

    transition: all 200ms linear;
}

.toggle.active {
    background: forestgreen;

    transition: all 200ms linear;
}

.toggle-switch {
    position: relative;
    width: 30%;
    height: 18px;
    margin-top: 2px;
    left: 3%;
    background: white;
    border-radius: 10px;
    box-shadow: 0 0 2px #000;

    transition: all 200ms linear;
}

.toggle.active .toggle-switch {
    left: 67%;

    transition: all 200ms linear;
}

.toggle-label {
    position: absolute;
    top: 4px;
    left: 50%;
    color: white;
    font-weight: bold;
    text-transform: uppercase;

    transition: all 200ms linear;
}

.toggle.active .toggle-label {
    left: 20%;

    transition: all 200ms linear;
}

/* PHONE SELECTOR */
#phoneSelectContainer {
    margin:0;
}

#phoneSelect {
    margin-bottom: 0;
}

/* FEES */
.funding-fee_details {
    margin-top: 15px;
    padding-bottom: 20px;
}

.funding-fee_disclaimer {
    text-align: justify;
}

.funding-fee-line {
    margin-top: 7px;
    display: flex;
    justify-content: space-between;
}

.funding-tax-line {
    margin-top: 5px;
    font-size: 17px;
}

.funding-fee_funding-fee-line {
    border-bottom: 1px solid #CCCCCC;
}

.funding-fee_funding-total-line {
    font-weight: bold;
}

.funding-fee_funding-subtotal-line {
    font-weight: bold;
}

.funding-total {
    font-size:20px
}

/* REWARDS */
#program-rewards {
    padding-top: 5%;
}

.rewards-program-container, .reward-container, .points-summary-container, .reward-history-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.rewards-program-container h2.title, .points-summary-container h2 {
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.01em;
    line-height: 1.15em;
    padding: 0;
    text-transform: uppercase;
    color: #808080;
    text-align: left;
    overflow: hidden;
    margin: 0;
    word-break: break-word;
}

.reward-container h2 {
    overflow: hidden;
    margin: 0;
    padding: 0;
    word-break: break-word;
    white-space: pre-wrap;
}

.rewards-program-container div, #points-available-total, .reward-container div, .reward-history-points {
    font-weight: bold;
    line-height: 1em;
    margin: 0;
    padding: 0;
    color: #133d8d;
    font-size: 30px;
    display: flex;
    flex-wrap: nowrap;
}

.load-reward-programs {
    display: none;
}

.rewards-title-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 15px;
}


    .reward-points-msg {
        color: #133d8d;
        font-size: 30px;
        font-weight: bold;
        display: flex;
        align-items: center;
    }

    .reward-donate-btn {
        color: #133d8d;
        font-size: 18px;
        border: 1.5px solid;
        padding: 5px 10px;
        border-radius: 4px;
        font-weight: bold;
        cursor: pointer;
        box-shadow: 1px 1px 1px rgba(0,0,0,0.1);
    }

    @media only screen and (max-device-width: 415px) {
        .reward-donate-btn {
            font-size: 16px;
        }
    }

.expand-arrow {
    text-align: center;
    padding: 10px 0 0;
    cursor: pointer;
    clear: both;
}

.expand-arrow.expanded  img {
    transform: rotate(180deg);
    transition-duration: 250ms;
}

.expand-arrow img {
    width: 25px;
    height: 12px;
}

.rewards-info-container {
    display: none;
}

.rewards-info {
    display: flex;
    justify-content: space-around;
    color: #808080;
    text-align: center;
    margin-top: 15px;
}

.rewards-info > div {
    cursor: pointer;
}

.rewards-info-container img, .rewards-info-container svg {
    width: 50px;
    height: 50px;
}

.rewards-info-container .template-gen:last-child img {
    padding-left: 5px;
}

.rewards-program-details {
    color: #000;
    display: none;
    padding: 15px 0 5px;
    font-size: 16px;
    word-break: break-word;
}

.reward-program-name {
    text-align: center;
    font-size: 24px;
    margin-top: 15px;
    color: #808080;
}

.points-summary-container {
    padding: 4%;
    margin-top: 20px;
}

#points-available-total {
    color: #ef4135;
}

#program-rewards-list {
    margin-top: 15px;
}

#program-rewards-list li {
    padding: 2% 4% 6%;
}

.program-rewards-label {
    text-align: center;
    font-size: 16px;
    background: #999;
    color: #fff;
    height: 25px;
    line-height: 25px;
    text-transform: uppercase;
}

#program-rewards-available, #program-rewards-unavailable-label, #program-rewards-unavailable {
    margin-top: 15px;
}

.reward-type, .reward-value {
    font-size: 16px;
}

.reward-type {
    margin-top: 10px;
}


.receipt-icon-gift {
    background: url("../images/icon-gift.svg") 5px center no-repeat;
    background-size: 70%;
}

@media only screen and (min-device-width: 415px) {
    .receipt-icon-gift {
        background-position-x: center;
        background-size: 65px 70px;
        -webkit-background-size: 70%;
    }
}

.receipt-icon-none {
    background: none;
    cursor: default;
}

#program-rewards-history {
    flex-direction: column;
    overflow: hidden;
}

#program-rewards-history.active {
    display: flex !important;
}

#program-rewards-history .program-rewards-header {
    padding-top: 5%;
    background: #fff;
}

#program-rewards-history .program-rewards-header .points-summary-container {
    box-shadow: none;
    border-bottom: 1px solid #808080;
    margin-top: 0;
}

#program-rewards-history-list {
    background: #fff;
    overflow-y: auto;
}

.reward-history-transaction-detail-container, #program-rewards-history-list .receipt-icon, .reward-history-points {
    flex-basis: auto;
}

.reward-history-transaction-detail-container {
    width: 60%;
}

.reward-history-points {
    width: 30%;
    justify-content: flex-end;
    font-size: 24px;
}

    .rewards-pts {
        font-size: 17px;
        padding-left: 4px;
        display: block;
    }

.reward-history-date {
    font-size: 13px;
    color: #5a5a5a;
    position: relative;
    bottom: 7px;
}

    @media only screen and (min-device-width: 415px) {
        .reward-history-date {
            font-size: 14px;
            bottom: 6px;
        }

        .reward-history-points {
            font-size: 29px
        }

        .rewards-pts {
            font-size: 20px;
        }
    }

.reward-history-store-name {
    font-size: 16px;
    word-break: break-word;
}

/* QUICK PAY */
#quickPay-code-container {
    height: 75vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

#show-quickPay {
    background: white;
}

.quickPay-code-msg {
    text-align: center;
    font-size: 19px;
}

/* BRANDING */

.primary-background-color {}

.font-color-primary {}

.secondary-background-color {}

.font-color-secondary {}

.tertiary-background-color {}

.font-color-tertiary {}

.accent-color-one {}

.accent-color-two {}

.primary-gradient-color {}

.primary-border-color {}

.font-color-primary-gradient {}

.secondary-gradient-color {}

.secondary-border-color {}

.tour-svg {
    border-radius: 50%;
    behavior: url(PIE.htc);
    height:200px;
    background: var(--primaryBackgroundColor);
}

.tour-healthy-icon {
    max-width: 50%;
    max-height: 50%;
}

.tour-healthy-icon-container {
    display:flex;
    justify-content: center;
    align-items: center;
    flex-flow: row wrap;
    border-radius: 50%;
    behavior: url(PIE.htc);
    width: 260px;
    height: 260px;
    background: var(--primaryBackgroundColor);
}

@media only screen and (max-device-width: 500px) {
    .tour-healthy-icon-container {
        width: 200px;
        height: 200px;
    }
}

.rewards-svg {
    height: 50px;
}

.freeze-svg {
    height: 90px;
}

/* REDEEM REWARDS */

#redeemview {
    background: #FFF none !important;
}

#redeem-rewards {
    display: flex !important;
    flex-direction: column;
    justify-content: space-between;
}

.redeem-rewards-top-container {
    overflow-y: auto;
    padding-top: 5%;
}

.iphoneX .redeem-rewards-bottom-container {
    padding-bottom: 20px;
}

.redeem-rewards-bottom-container .redeem-rewards_page-title {
    margin-top: 15px !important;
}

.redeem-rewards_page-title {
    text-align: center;
    margin: 20px 0 15px;
    font-size: 20px;
    font-weight: bold;
}

.redeem-rewards_page-title:first-of-type {
    margin-top: 0;
}

.redeem-rewards_automatic-container, .redeem-rewards_manual-container {
    display: none;
}

.redeem-rewards_rewards-list {
    list-style: none;
}

.redeem-reward-line {
    padding: 2% 5% 4% 2%;
    cursor: pointer;
    border-bottom: 1px solid #CCC;
    transition: all 300ms linear;
}

.redeem-reward-line.selected {
    border: solid #133d8d 1px;
    transition: border 300ms linear;
}

.redeem-reward-line.selected + .redeem-reward-line { /* Prevents duplicated borders */
    border-top-width: 0;
}

.redeem-reward-line.maxed:not(.selected) {
    opacity: 0.3;

    transition: opacity 300ms linear;
}

.redeem-reward-line .reward-container {
    align-items: flex-start;
}

.redeem-reward-line h2 {
    flex: 4;

    transition: color 300ms linear;
}

.redeem-reward-line.selected h2 {
    color: #133d8d;

    transition: color 300ms linear;
}

.reward-container div.reward-container-right {
    display: block;
    flex: 3;
}

.reward-container-right div.redeem-reward-line_points-container {
    justify-content: flex-end;
}

.reward-container-right div.redeem-reward-line_quantity-container {
    color: #808080;
    font-size: 18px;
    justify-content: flex-end;
    margin: 5px 0;

    transition: color 300ms linear;
}

.selected .reward-container-right div.redeem-reward-line_quantity-container {
    color: #133d8d;

    transition: color 300ms linear;
}

.redeem-reward-line_program, .redeem-reward-line_balance {
    font-size: 16px;
}

#redeemContinue {
    margin: 15px auto;
}

.redeem-modal {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 15px 0 10px;
}

.redeem-modal_title {
    max-width: 80%;
    font-size: 21px;
    word-break: break-word;
    display: flex;
    align-items: center;
}

.redeem-modal_points {
    font-weight: bold;
    line-height: 1em;
    margin: 0;
    padding: 0;
    color: #133d8d;
    font-size: 30px;
    max-width: 20%;
}

.redeem-modal_points_label {
    font-size: 20px;
    padding-left: 4px;
}

.redeem-modal_program-name {
    margin-top: 25px;
}

.redeem-modal_program-name, .redeem-modal_program-points  {
    font-size: 16px;
}

/* Redeem Rewards Modal Quantity Styles */
.quantity-container {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 0;
    background: #fff;
    margin: 15px auto 0;
    max-width: 80%;
}

.quantity-info {
    display: flex;
    align-items: center;
}

.quantity-decrease {
    background: #fff;
    width: 50px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-right: 5px;
}

.quantity-decrease-left {
    width: 3px;
    height: 20px;
    transform: rotate(90deg);
    background: #bbbbbb;
}

.quantity-input {
    width: 60px;
    height: 33px;
    background: #f6f6f6;
    border-radius: 10px;
    font-size: 19px;
    color: #808080;
    border: none;
    text-align: center;
    outline: none;
}

.quantity-increase {
    background: #fff;
    width: 50px;
    height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-left: 5px;
}

.quantity-increase-left {
    width: 3px;
    height: 20px;
    transform: rotate(0deg);
    background: #bbbbbb;
}

.quantity-increase-right {
    width: 3px;
    height: 20px;
    transform: rotate(90deg);
    background: #bbbbbb;
}

/* --- */

.jconfirm .row {
    justify-content: center;
}

.jconfirm-buttons {
    text-align: center;
    float: none !important;
}

.jconfirm-buttons .cart-button-primary, .jconfirm-buttons .cart-button-secondary {
    height: 40px !important;
    width: 90% !important;
}

.jconfirm-buttons button:nth-child(n+2) {
    margin-top: 4px;
}

.jconfirm .jconfirm-box .jconfirm-buttons button.redeem-rewards-modal-remove {
    border-width: 1px !important;
    border-style: solid !important;
    border-color: #b71c1c;
}

/* Favorites */
#my-quick-picks-page {
    display: flex !important;
    flex-direction: column;
    overflow:hidden;
}

#myQuickPicks {
    border-bottom: 2px solid #133d8d;
    border-top: 2px solid #133d8d;
    padding: 0 10px;
    min-height: 55px;
}

.myQuickPicks-container {
    flex:1;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    min-height: inherit;
    color: #133d8d;
}

.keypad-line-quickpicks {
    padding: 6px 0 0 0;
    width: 100%;
    max-width:100%;
    flex:1;
    float:right;
    transition: all 200ms linear;
    font-size: 19px;
}

.keypad-line-icons, .keypad-line-healthy-icons {
    max-width:100%;
    flex:2;
    /*overflow: hidden;*/
    align-items: center;
    transition: all 200ms linear;
    font-style: italic;
    font-weight: normal;
    font-size: 15px;
    display: inline-flex;
    min-height: 30px;
}

.keypad-line-healthy-icons .keypad-line-nutrition-tab:first-child {
    margin-left: 3px;
}

.keypad-line-icons {
    padding-top: 3px;
}

.keypad-line-icons img {
    width: 18px;
    margin: 0 4px 5px 0;
}

.keypad-line-icons span {
    position: relative;
    bottom: 3px;
    margin-left: 4px;
}

.keypad-icons-left {
    padding-left: 0;
    flex-wrap: wrap;
}

.keypad-icons-full {
    position: absolute;
    top:3px;
    right:5px;
}

.keypad-icons-full-mobile {
    display:none;
}

.keypad-icons-full-desktop {
    display: inline-flex;
}

.keypad-line-full-details .keypad-line-nutrition {
    display: none;
    margin: 4px 0 0 2px;
}

.keypad-line-healthy-name {
    padding-bottom: 0;
}

.keypad-line-healthy-icons img{
    width: 18px;
    height: 18px;
    margin-right: 3px;
    padding-bottom: 2px;
    display: inline-flex;
}

.keypad-line-healthy-icons img:last-child img {
    margin-right: 5px;
}

.product-details {
    display:flex;
    margin-left: 2px;
    margin-top: 5px;
    margin-bottom: 5px;
    align-items: center;
}

.heart-icon {
    width:11px;
    height: 11px;
    position: relative;
    top: 2px;
}

.product-favorite {
    width: 24px;
    height: 24px;
    margin: 0 10px 0 0;
}

@media only screen and (min-device-width: 415px) {
    .product-details {
        margin: 10px 0 5px;
    }

    .product-favorite {
        margin: 0 10px 0 4px;
    }
}


.myQuickPicksFilterContainer {
    position: relative;
    padding: 20px 0;
}

#myQuickPicks-list-container {
    overflow-y: auto;
}

@media only screen and (min-device-width: 415px) {
    #myQuickPicks-list-container::-webkit-scrollbar  {
        display: none;
    }

    #show-receive::-webkit-scrollbar {
        display: none;
    }

    .cart-top-container::-webkit-scrollbar {
        display: none;
    }
}

.myQuickPicksFilter {
    position: relative;
    margin: 0 auto 0;
    width: 90%;
    font-size: 14px;
    cursor: pointer;
}

.myQuickPicksBtn {
    float: left;
    border: 1px solid #ccc;
    text-align: center;
    font-weight: bold;
    width: 33%;
    line-height: 4px;
    background: #fff;
    display: flex;
    flex-direction: column;
    font-size: 16px;
    letter-spacing: 0.5px;
    padding-bottom: 16px;
    box-shadow: inset 0 0 3px #c1c1c1;
}

.myQuickPicksBtn.selected {
    background-color: #133d8d;
    color: #fff;
}

.myQuickPicksBtn img {
    width: 23px;
    margin: 15px auto;
}

.favorite-hidden {
    display: none;
}

.popularBtn {
    border-radius: 10px 0 0 10px;
}

.favoriteBtn {
    border-left: none;
    border-right: none;
}

.recentBtn, .ordersBtn {
    border-radius: 0 10px 10px 0;
}

.products {
    border-top: 1px solid #ccc;
}

.populated.active-list {
    border-top: 1px solid #ccc;
}

/*#order-list .favorite-line {*/
/*max-height: auto;*/
/*}*/

.favorite-line {
    position: relative;
    overflow: hidden;
    background: #fff;
    font-weight: bold;
    cursor: pointer;
    height:auto;
    transition: max-height 0.8s ease;
    margin: 3% 3% 0;
    border-radius: 5px;
}

.favorite-line:first-child {
    margin-top: 1.5%;
}

.favorite-line:last-child {
    margin-bottom: 1.5%;
}

.favorite-line.hide-slide {
    margin: 0;
}

.behind-left, .behind-right {
    position: absolute;
    width:50%;
    height:100%;
    z-index:1;
}

.behind-left {
    left:0;
    background-color: green;
}

.behind-right {
    right:0;
    background-color: red;
}

.line-content {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    position: relative;
    z-index: 2;
    background-color: white;
    padding: 2px 10px;
    min-height: 55px;
}

.favorite-line-thumbnail {
    margin-right: 5px;
}

.favorite-line-price {
    font-size: 18px;
    float:left;
    width:20%;
    color:#133d8d;
    text-align: right;
    flex:1;
    max-width: 15%;
    transition:all 200ms linear;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.favorite-name-icon-container {
    flex: 1;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-self: center;
}

.favorite-line-name {
    flex: 1 1 auto;
    transition: all 200ms linear;
    font-size: 20px;
    width: 100%;
    max-width: 100%;
}

.favorite-line-description-container {
    flex: 2;
    display: flex;
    align-items: center;
    font-size: 16px;
}

.favorite-line-icons {
    max-width: 100%;
    margin-top: 3px;
}

    .favorite-line-icons .line-icon {
        margin-bottom: 3px;
    }

.product-icons {
    max-width: 20%;
}

.line-icon {
    width: 16px;
    height: 16px;
    margin-right: 3px;
    float:left;
}

.star-icon {
    width:16px;
    position: relative;
    bottom: 1px;
}

.modifier-names {
    font-size: 14px;
    font-weight: normal;
    font-style: italic;
    color: #737272;
    margin-top: 2px;
}

.quick-picks-message {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
}

.favorites-list-end {
    text-align: center;
    font-size: 24px;
    font-style: italic;
    padding: 12px 8px;
    color: #ef4135;
    list-style: none;
}

.keypad-list-favorites-unavailable-list li, .keypad-list-order-unavailable-list li {
    border-bottom: 1px solid #ccc;
    opacity: 0.4;
    cursor: auto;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    .line-content {
        padding: 5px 10px;
    }

    .favorite-line-name {
        padding:0 5px 0px 0;
    }

    .order-line .favorite-line-name {
        padding: 3px 5px 3px 0 !important;
    }

    .keypad-list-order-list .favorite-line .action {
        padding-top: 10px !important;
    }

    .favorite-line-icons {
        padding-bottom: 0;
    }

    .keypad-line-healthy-icons img {
        margin-right: 4px;
    }

    .keypad-line-full .keypad-line-info {
        position: absolute;
        bottom: 0;
        right:0;
    }

    .keypad-line-quickpicks {
        padding-bottom: 15px;
    }

    .keypad-line-right-container .keypad-line-info {
        position: relative;
        bottom: 5px;
    }

    .keypad-thumbnail-full {
        min-height: 190px !important;
    }

    .keypad-line-thumbnail-image {
        min-height: 44px;
    }

    .trans-receipt-icon {
        -webkit-background-size: 32%;
        background-size: 32%;
    }

    #program-rewards-history-list {
        margin-top: 40px;
    }

    .receipt-icon-gift {
        background-size: 42%;
    }




    .checkmark__circle, .checkmark__check {
        stroke-dashoffset: 0 !important;
        stroke: #7ac142;
    }
}

.unavailable-popup {
    font-size: 15px;
    padding-top: 11px;
    letter-spacing: 0.2px;
}

.existing-mods-btn, .unavailable-mods-btn, .close-btn {
    padding: 4px 4px !important;
    color: white !important;
    background-color: #ef4135 !important;
    background-image: linear-gradient(#f44336, #c62828) !important;
    border: 1px solid #b71c1c !important;
    font-weight: normal !important;
}

.close-btn {
    padding: 4px 10px !important;
    font-size: 15px !important;
}

.existing-mods-btn {
    margin-left: 5px !important;
}

.unavailable-mods-btn {
    margin-right: 5px !important;
}

.cancel-update {
    font-size: 12px !important;
    margin-top: 4px !important;
}

.unavailable-mods-popup, .confirm-change-popup {
    text-align: center;
    font-size: 16px;
    padding-top: 13px;
}

.existing-favorite-mods {
    text-align: center;
    font-size: 17px;
    padding-top: 13px;
}

.mod-lines {
    font-weight: normal;
    font-size:14px;
    padding-top: 5px;
    padding-bottom: 5px;
    text-align: left;
}

.mod-line {
    padding: 6px 0 5px 0;
    display:-webkit-inline-box;
}

.mod-line div {
    padding-right: 18px;
}

.update-mod {
    width: 18px;
    margin-left: 10px;
    position: absolute;
    right:0;
    /*display: none;*/
}

.keypad-list-myQuickPicks-container ul { overflow: hidden; }

.keypad-list-myQuickPicks-container .favorite-line .action {
    position: absolute;
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: 22px;
    color: #FFF;
    display: flex !important;
    align-items: center;
    align-self: center;
    justify-content: center;
}

.keypad-list-myQuickPicks-container .line-content .action:first-child::before, .keypad-list-myQuickPicks-container .line-content .action:last-child::before {
    position: absolute;
    top: 0;
    content: '';
    width: 100%;
    height: 100%;
}


.keypad-list-myQuickPicks-container .add-to-cart {
    /*left: -3%;*/
    border-radius: 5px 0 0 5px; /* Top left & bottom left */
}

.keypad-list-myQuickPicks-container .remove-from-cart {
    border-radius: 0 5px 5px 0; /* Top right & bottom right */
}

.keypad-list-myQuickPicks-container .line-content .action:first-child{ left: -0px; }

.keypad-list-myQuickPicks-container .line-content .action:first-child::before { right: 0; }

.keypad-list-myQuickPicks-container .line-content .action:last-child { right: -0px; }

.keypad-list-myQuickPicks-container .line-content .action:last-child::before { left: 0; }

.keypad-list-myQuickPicks-container .line-content .action, .keypad-list-myQuickPicks-container .line-content .action::before { background: #E74C3C; }

.add-to-cart {
    background-color: #133d8d;
}

.remove-from-cart {
    background-color: #e44646;
    margin-left: 1vw;
}

@media only screen and (max-device-width: 415px) {
    .keypad-list-myQuickPicks-container .favorite-line .action {
        font-size: 20px;
    }

    .favorite-line-price {
        font-size: 16px;
        max-width: 16%;
    }

    .order-line .favorite-line-price  {
        max-width: 25%;
    }

    .line-content {
        padding: 2px 7px;
    }

    .right {
        font-size: 17px !important;
    }

    .keypad-icons-full-mobile {
        display: flex;
        flex-wrap: wrap;
    }

    .keypad-icons-full-desktop {
        display: none;
    }

    .keypad-line-full-details .keypad-line-nutrition {
        overflow: hidden;
        align-items: center;
        transition: all 200ms linear;
        font-style: italic;
        font-weight: normal;
        font-size: 15px;
        display: inline-flex;
        flex-flow: row;
    }

    .favorite-line-icons .keypad-line-nutrition {
        margin-top:2px;
    }
}


@media only screen and (max-device-width: 340px){
    .favorite-line-price {
        font-size: 14px;
    }
}

#undo-favorite-remove {
    font-size: 16px;
    cursor: pointer;
}

/** FAVORITE ORDERS **/

.order-line {
    padding: 5px 10px;
}

.order-line .favorite-line-name {
    padding: 10px 5px 3px 0;
}

.order-line .favorite-line-price  {
    padding: 10px 0 0 0;
}

#favorite-order-page {
    padding: 20px 5%;
}

#receipt-order-icons{
    padding-bottom: 15px;
}

#favorite-order-icons .favorite-order-icon, #receipt-order-icons .favorite-order-icon {
    width: 47px;
    height: 45px;
    position: relative;
    top: 12px;
}

    #favorite-order-icons.open-favorite-order .favorite-order-icon {
        margin-bottom: 15px;
    }

    #favorite-order-icons.open-favorite-order .add-to-cart-icon, #favorite-order-icons.open-favorite-order .express-order-icon {
        display: none;
    }

#favorite-order-icons .favorite-order-icon, #receipt-order-icons .favorite-order-icon, #favorite-order-icons .add-to-cart-icon, #receipt-order-icons .add-to-cart-icon, #favorite-order-icons .express-order-icon, #receipt-order-icons .express-order-icon {
    cursor: pointer;
}

#receipt-order-icons .add-to-cart-svg, #favorite-order-icons .add-to-cart-svg {
    width:73px;
}

.add-to-cart-svg {
    position: relative;
    left:7px;
}

#receipt-order-icons .express-cart-svg, #favorite-order-icons .express-cart-svg {
    width:85px;
}

#favorite-order-icons, #receipt-order-icons {
    display: flex;
    padding: 15px 0;
}

#receipt-order-icons {
    justify-content: space-around;
}

#favorite-order-icons {
    justify-content: space-evenly;
}

#favorite-order-btn-container {
    padding:30px 0 10px;
}

.receipt-cart, .receipt-express {
    top: 46px;
}

.favoriteOrderContainer {
    padding: 5.5% 8.5%;
    position: relative;
    border-bottom: 1px solid #ccc;
    margin: 0 3%;
}

#favoriteOrderNameContainer label {
    display: none;
}

#favoriteOrderName {
    font-size: 18px;
    text-align: center;
}

.save-order-btn {
    float: right;
}

#favorite-order-items-list {
    background: #ffffff none repeat scroll 0 0;
    box-shadow: 0 0 5px #b2b2b2;
    border-top: 0;
    margin: 0 3%;
}

#favorite-order-items-list .combo-title-line {
    padding: 10px 5px;
}

.favorite-order-line {
    padding: 15px 20px;
    cursor: initial;
}

#favorite-order-icons .favorite-order-icon {
    filter: drop-shadow(3px 3px 2px rgba(0,0,0,0.2));
}

@media only screen and (min-device-width: 415px) {
    .receipt-cart, .receipt-express {
        top: 84px;
    }

    .receipt-express {
        right: 22%;
    }

    #favorite-order-items-list .combo-title-line {
        padding: 10px 20px;
    }
}

/** EXPRESS ORDERS **/

#express-reorders {
    position: absolute;
    bottom: 45px;
    width: 84.1%;
    left: 8%;
    border: 2px solid var(--primaryBackgroundColor);
    box-shadow: 0 2px 5px rgba(0,0,0,0.3)
}

.express-order-line {
    display: block;
    margin: 0;
    overflow: hidden;
    padding: 0 10px 10px;
    background: #fff;
    height: 70px;
    backface-visibility: hidden;
    transition-duration: 500ms;
    width:100.1% !important;
    max-height: 225px;
    overflow-y: scroll;
}

.express-order-columns {
    column-count:2;
}

.express-line-container {
    padding: 3px 2px;
    display: flex;
    justify-content: space-between;
}

.express-info-container {
    width:90%;
}

.express-order-name {
    padding: 16px 5px 5px 0;
    font-weight: bold;
    font-size: 17px;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 95%;
    white-space: nowrap;
}

.express-expand-icon {
    height: 35px;
    width: 38px;
    position: relative;
    filter: drop-shadow(0px 0px 0px rgba(0,0,0,1));
    -webkit-filter: drop-shadow(0px 0px 0px rgba(0,0,0,1));
    -ms-filter: drop-shadow(0px 0px 0px rgba(0,0,0,1));
    transform: rotate(180deg);
    cursor:pointer;
}

.express-heart-icon img {
    width: 34px;
    height: 34px;
    position: relative;
    top: 15px;
    right: 2px;
    cursor:pointer;
}

.express-order-details {
    display: flex;
    color: #6d6d6d;
    font-weight: bold;
    font-size: 15px;
    font-style: italic;
}

.express-order-store-name {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

    .expanded .express-line-container {
        padding: 10px 3px 0;
    }

.express-order-item-count {
    padding-right: 8px;
}

.express-order-items {
    list-style: none;
    font-size:15px;
    overflow: hidden;
    display: none;
    padding: 5px 0;
}

.express-order-columns .express-order-item-line {
    width:100%;
}

.express-order-item-line {
    padding: 2px 5px;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;
}

.express-item-line-title {
    display:flex;
}

.express-item-line-name {
    flex:3;
    padding-right: 3px;
}

.express-item-line-price {
    flex:2;
    text-align: right;
    font-size: 14px;
    font-weight: bold;
    color: #133d8d;
}

.express-item-line-price .quantity {
    bottom: 2px;
    font-size: 13px;
}

.express-item-line-modifiers {
    font-size: 12px;
    font-style: italic;
    color: #808080;
    padding-top: 3px;
    width: 82%;
}

#express-btn {
    display: none;
}

.expand-container {
    height: 0;
    position: relative;
    bottom: 6px;
    left: 3px;
    display: table;
    margin: 0 auto;
    margin-bottom: -36px;
}

.expand-container.expanded {
    transform: rotate(180deg);
    bottom: 4px;
}

.express-order-line.expanded {
    transition-duration: 300ms;
}

.express-order-line.unexpanded {
    transition-duration: 300ms;
    transform: translateY(0px);
}

#express-reorders-btn-container {
    position: fixed;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    bottom:17px;
    height:36px;
    width:84%;
    margin:0 auto;
    left:0;
    right:0;
    display:none;
}

#express-reorder-btn {
    position: relative;
    vertical-align: top;
    cursor: pointer;
    border: 2px solid transparent;
    text-decoration: none;
    z-index: 2;
    text-align: center;
    display: block;
    line-height: 0;
    width: 100%;
    font-size:20px;
    border-radius: 0;
    height: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 0;
    border-radius: 0 !important;
}

.express-reorder-btn-text {
    font-size:21px;
}

.express-reorder-cart {
    width: 37px;
    height: 25px;
    margin-left: 8px;
}

#express-arrow-left, #express-arrow-right {
    bottom: 30%;
    cursor: pointer;
}

#express-arrow-left {
    left:6px;
    border-right: 16px solid var(--primaryBackgroundColor) !important;
    filter: drop-shadow(rgba(0, 0, 0, 0.2) -2px 2px 2px);
}

#express-arrow-right {
    right:6px;
    border-left: 16px solid var(--primaryBackgroundColor) !important;
    filter: drop-shadow(rgba(0, 0, 0, 0.2) 2px 2px 2px);
}

.transition {
    transition-duration: 800ms;
}

.express-slide-right {
    transform: translate(110%);
}

.express-slide-left {
    transform: translate(-110%);
}

.express-slide-right-phone {
    transition-duration: 500ms;
    transform: translate(110%);
}

.express-slide-left-phone {
    transition-duration: 500ms;
    transform: translate(-110%);
}

.slick-arrow {
    background: transparent;
    border:none;
}

.slick-slide:focus {
    outline: none;
}

.favorite-order-create-btn {
    width: 80px;
}

.express-combo-line {
    padding: 2px 5px 2px 20px;
}

#express-dots {
    position: fixed;
    bottom: 2px;
    margin: 0 auto;
    display: flex;
    left: 50%;
    transform: translate(-50%, -0%);
}

.dot {
    background: #989898;
    border-radius: 50%;
    width: 7px;
    height: 7px;
    position: relative;
    margin: 0 7px;
}

.dot-active {
    background: #5c5c5c;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
    #express-reorder-btn {
        margin: 0 auto;
    }

    .keypad-line-icons {
        padding-top: 10px;
    }
}

@media only screen and (min-device-width: 415px) {
    .express-order-line {
        height: 150px;
        bottom: 20px;
        overflow: hidden;
        max-height: none;
    }

    .express-item-line-price {
        font-size: 18px;
    }

    .express-line-container {
        padding: 0 10px 5px;
    }

    .expanded .express-line-container {
        padding: 0 10px 5px;
    }

    .express-order-items {
        font-size: 18px;
    }

    .express-item-line-modifiers {
        font-size: 15px;
    }

    #express-reorders-btn-container {
        height: 52px;
        bottom: 23px;
        z-index: 2;
    }

    #express-reorder-btn {
        width: 100%;
        font-size: 25px;
    }

    .expand-container {
        bottom: 10px;
        margin-bottom: -42px;
    }

    .expand-container.expanded {
        bottom:7px;
    }

    .express-reorder-cart {
        width: 44px;
        height: 30px;
        position: relative;
        margin-left: 15px;
    }

    .express-order-item-line {
        padding: 2px 10px
    }

    .express-heart-icon img {
        width:45px;
        height: 45px;
    }

    .express-order-name {
        padding: 15px 5px 5px 0;
        font-size: 25px;
    }

    .express-order-details {
        font-size:20px;
    }

    .express-expand-icon {
        height: 55px;
        width: 55px;
    }

    #express-arrow-left {
        left:8px;
        border-right: 30px solid var(--primaryBackgroundColor);
    }

    #express-arrow-right {
        right:8px;
        border-left: 30px solid var(--primaryBackgroundColor);
    }

    #express-reorders {
        bottom:25px;
    }

    #express-dots {
        bottom:8px;
    }

    .dot {
        width: 10px;
        height: 10px;
        margin: 0 10px;
    }

    .express-info-container {
        width:92%;
    }

    .express-combo-line {
        padding: 2px 10px 2px 35px;
    }
}


/** ACCOUNT SETTINGS **/

.change-spending-profile {
    color: #ef4135;
    font-style: italic;
}

#changeAccountGroupMsg {
    text-align: center;
    font-size: 18px;
    padding-bottom: 15px;
}

#lowBalanceCheckboxContainer label, #empLowBalanceCheckboxContainer label {
    width: 38px;
    margin-right: calc(100% - 38px);
    padding: 13px 0 30px;
}

#fingerprintAuthCheckboxContainer {
    display: flex;
    padding-bottom: 8px;
}

    #fingerprintAuthCheckboxContainer label {
        width: 52px;
        padding: 0;
        margin: 0;
        position: relative;
        bottom: 4px;
    }

#low-balance-label, #emp-low-balance-label {
    position: relative;
    bottom: 30px;
    left: 41px;
    font-size: 16px;
}

#enable-fingerprint-label {
    font-size: 15px;
    padding-left: 14px;
}

#accountSettingsContainer, #userSettingsContainer {
    padding: 4% 6%;
}

@media only screen and (max-device-width: 415px) {

    #accountSettingButtonContainer {
        padding: 0;
    }

    #low-balance-label, #emp-low-balance-label {
        bottom: 27px;
        font-size: 15px;
    }

    #lowBalanceCheckboxContainer input[type="checkbox"] + label:before {
        top: 5px;
    }

    #empLowBalanceCheckboxContainer input[type="checkbox"] + label:before {
        top: 5px;
    }


    #lowBalanceCheckboxContainer label, #empLowBalanceCheckboxContainer label {
        padding: 13px 0 24px;
    }
}

.settingsHeader {
    text-align: center;
    font-size: 18px;
    padding-bottom: 9px;
}

.spending-profile-line {
    display: flex;
    border-bottom: 1px solid #b9b7b7;
    padding: 5px;
}

.spending-profile-name{
    padding-left: 5px;
    text-align: left;
    flex: 2;
    word-break: break-word;
}

.spending-profile-price{
    padding-right: 5px;
    flex: 1;
    text-align: right;
}

#spending-profile-header {
    display:flex;
    justify-content:space-between;
    padding:3px 17px;
    border-bottom: 1px solid #b9b7b7;
    background: #ef4135;
    color: white;
}

.account-settings-msg-content {
    text-align: center;
    font-size: 17px;
    padding-top: 13px;
}

.account-settings-btns {
    margin-left: 5px !important;
    font-weight: normal !important;
    background-color: #ef4135 !important;
    background-image: linear-gradient(#f44336, #c62828) !important;
    color: #ffffff !important;
    border: 1px solid #b71c1c !important;
}

.funding-fee-ending-msg {
    font-size: 17px;
    padding-top: 12px;
    text-align: justify;
    min-height: 70px;
}

.funding-align {
    font-size:17px;
}

@media only screen and (max-device-width: 415px) {
    .funding-align {
        max-height: 191px;
        overflow-y: scroll;
        margin-bottom: 25px
    }
}

/** PERSON ACCOUNT **/

#manageAccountMsg {
    text-align: center;
    margin: 0 auto;
    padding-bottom: 15px;
    width:73%;
    font-size:18px;
}

#manage-account {
    padding-top: 5%;
}

#employee-list {
    background-color: #fff;
    width: 100%;
    margin: 0 auto;
    max-height: 704px;
    overflow-y: auto;
    border-bottom: 1px solid #bbb;
}

.account-person-line {
    padding: 15px;
    font-weight: bold;
    font-size: 19px;
    border-top: 1px solid #bbb;
    text-align: center;
}

.account-person-line:hover {
    cursor: pointer;
}

#addAccountBtn {
    margin: 25px auto;
}

.first-line-add {
    display: flex;
}

#firstNameCreateContainer, #firstNameCreateAcctContainer {
    width: 88%;
    padding-right: 5px;
}

#middleInitNameCreateContainer, #middleInitNameCreateAcctContainer {
    width: 14%;
}

#submitAccountBtn, #searchAccountBtn {
    float: right;
}

#relationshipAccountSelect {
    font-size: 16px;
}

@media only screen and (max-device-width: 415px) {
    #employee-list {
        max-height: 355px;
    }

    #manageAccountMsg {
        width:93%;
    }

    #firstNameCreateContainer, #firstNameCreateAcctContainer {
        width: 82%;
    }

    #middleInitNameCreateContainer, #middleInitNameCreateAcctContainer {
        width: 24%;
    }
}

.content-text {
    text-align: center;
    font-size: 19px;
    padding: 20px 5px 10px;
}

/* Discount Quantity */
.useMealPlan-yes {
    float: right;
}

.useMealPlan-no {
    float: left;
}

/* MODAL - SELECT */

.qcss-select {
    width: 100%;
    height: 40px;
    padding: 10px;
    margin-bottom: 10px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
    font-weight: normal;
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: border-box;
    overflow: hidden;
}

.qcss-modal {

}

.modal-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999998;
    font-family: inherit;
    overflow: hidden;
    -webkit-transition: opacity .4s;
    transition: opacity .4s;
    transition-duration: 0.4s;
    transition-timing-function: cubic-bezier(0.36, 0.55, 0.19, 1);
    background-color: #444;
    opacity: .2;
    -webkit-perspective: 500px;
    perspective: 500px;
    -webkit-perspective-origin: center;
    perspective-origin: center;
    overflow-y: auto;
}

.modal {
    position: fixed;
    width: 85%;
    height: auto;
    max-height: 60%;

    z-index: 99999999;
    overflow-y: auto;
    margin: 0 auto;
    font-size: 21px;
    opacity: 1;
    background: white;
    text-align: center;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
    border-radius: 5px;
    outline: none;

    transition-duration: 0.4s;
    transition-timing-function: cubic-bezier(0.36, 0.55, 0.19, 1);
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-transition-property: all;
    transition-property: all, margin;
}

.modal-title {
    font-size: 22px;
    padding: 5px;
    background-color: #ef4135;
    color: #fff;
}

.modal-line {
    list-style: none;
}

.modal-line:hover {
    cursor: pointer;
}

.selected-modal-line {
    background: rgba(11, 163, 230, 0.8);
    color: white;
}

.modal-close {
    margin: 15px auto;
    text-transform: uppercase;
    font-weight: normal;
    font-size: 18px;
    padding: 6px 8px;
    border-radius: 5%;
    background-color: #ef4135;
    background-image: linear-gradient(#f44336, #c62828);
    color: #ffffff;
    border: 1px solid #b71c1c;
}

@media only screen and (min-device-width: 415px) {
    .modal {
        width: 60%;
        max-height: 50%;
    }

    .spending-profile-name {
        flex:3;
    }
}

/* Modal content and buttons */

.confirm-msg-content {
    text-align: center;
    font-size: 19px;
    padding-top: 10px;
}

.confirm-btns {
    margin-left: 5px !important;
    font-weight: normal !important;
    background-color: #ef4135 !important;
    background-image: linear-gradient(#f44336, #c62828) !important;
    color: #ffffff !important;
    border: 1px solid #b71c1c !important;
}


#receipt-btn-container {
    width: 100%;
    text-align: center;
}

#receipt-btn-container > button {
    display: inline-block;
}

.receipt-view-icon {
    height: 100%
}

.receipt-view-button {
    font-size: 22px;
    height: 60px;
    width: 32%;
    font-weight: bold;
    background: #fff;
    color: #ef4135;
    background-image: none;
    margin: 0 auto 10px;
}

.receipt-view-button:nth-child(2) {
    margin-right: 10px;
    margin-left: 10px;
}

.receipt-content {
    word-break: break-word;
}

.overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.overlay > .text {
    font-size: 35px;
    font-weight: bolder;
    position: absolute;
    top: 16%;
    left: 47%;
    text-align: center;
}

/*  FUTURE DATE */

#futureDate {
    padding-bottom: 3px;
    text-shadow: 1px 4px 4px rgba(0, 0, 0, 0.3);
    cursor: pointer;
}

#dateInputContainer {
    display: flex;
    width: 90%;
    margin: 0 auto;
    justify-content: space-evenly;
    padding-top: 8%;
}

#futureOrderDate {
    margin-right: 10px;
    position: relative;
    top: 8px;
    font-size: 16px;
}

#submitDateButton {
    padding: 10px;
    width: 110px;
}

.datepicker--cell.-current-, .datepicker--cell.-current-.-focus- {
    color: var(--primaryBackgroundColor) !important;
}
.datepicker--day-name {
    color: var(--secondaryBackgroundColor) !important;
}
.datepicker--cell.-selected-, .datepicker--cell.-selected-.-current- {
    color: var(--primaryFontColor) !important;
    background-color: var(--primaryBackgroundColor) !important;
}

.datepicker--nav {
    height: auto;
    width: auto;
    position: inherit;
    background: none;
    box-shadow: none;
}

.datepicker-calendar {
    position: relative;
    top: 6%;
    display: flex;
    justify-content: center;
    transform: scale(1.2);
}

.calendar-icon {
    height: auto;
    width: auto;
    position: absolute;
    top: 2px;
    right: 8px;
    font-size: 45px;
    line-height: normal;
    bottom: initial;
    cursor: pointer;
}

.calendar-icon .calendar-num {
    position: absolute;
    left: 0;
    top: 32px;
    transform: translateY(-50%);
    width: 100%;
    text-align: center;
    font-size: 11px;
    font-weight: bold;
    font-family: 'Roboto', sans-serif;
}

.calendar {
    height: 100%;
    width: 32px;
}

.calendar-svg {
    height: 100%;
    width: 40px;
}

.calendar-svg path {
    fill: var(--accentColorTwo);
}

/*.calendar-num {*/
/*    position: absolute;*/
/*    right: 1.5px;*/
/*    top: 52px;*/
/*    font-size: 10px;*/
/*    width: calc(100% - 4px);*/
/*    height: 20px;*/
/*    display: flex;*/
/*    align-items: center;*/
/*    justify-content: center;*/
/*    align-self: center;*/
/*    line-height: 0;*/
/*}*/

.selector-scale-used {
    width: 170px;
}

.input-scale-used {
    width: 100px;
}

.product-scale-used {
    font-size: 20px !important;
    padding-right: 42px !important;
    text-align: right !important;
}

@media only screen and (min-device-width: 415px) {
    .datepicker-calendar {
        transform: scale(1.5);
        top: 10%;
    }

    #dateInputContainer {
        width: 65%;
        padding-top: 5%
    }

    #futureOrderDate {
        margin-right: 20px;
    }

    #submitDateButton {
        padding: 10px 15px;
    }

    .calendar {
        width: 35px;
    }
}

/*  PREP OPTIONS */

.prep-option-name {
    color: #808080;
    font-size: 0.85em;
    position: relative;
    bottom: 1px;
}

    .favorite-line .prep-option-name {
        word-break: break-word;
    }

.product-prep-options {
    padding-bottom: 15px;
    flex-wrap: wrap;
    display: none;
    align-items: flex-start;
}

.show-prep {
    display:flex !important;
}

.modifier-prep-options {
    padding: 0 3px 8px 6px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    background: #fff;
}

.modifier-prep-options .prep-option {
    margin-top:5px;
    width: 48%;
    border: 2px solid #2eb941;
    color: #2eb941;
}

.prep-option {
    border: 2px solid #ef4135;
    border-radius: 5px;
    padding: 1px 3px;
    margin-right: 6px;
    cursor: pointer;
    background: #fff;
    color: #ef4135;
    box-shadow: 2px 2px 3px rgba(0,0,0,0.25);
    font-size: 13.5px;
    text-align: center;
    width: 46%;
    word-break: break-word;
    overflow: hidden;
    margin-top: 6px;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media only screen and (min-device-width: 415px) {
    .modifier-prep-options {
        padding: 0 15px 8px 25px;
    }

    .modifier-prep-options .prep-option {
        width: 24%;
    }

    .prep-option {
        width: 24%;
        padding: 1px 3px;
        margin: 3px;
        font-size: 15px;
        min-height: 42px;
    }
}

.modifier-page .keypad-list {
    background: #fff;
    max-height: 91%;
    overflow-y: auto;
    margin-bottom: 15px;
}

@media only screen and (max-width: 415px) {
    .modifier-page .keypad-list {
        max-height: 84%;
    }
}

.keypad-list-order-list .hide-slide {
    max-height: 0;
}

.hide-slide {
    max-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
}

/** SUGGESTIVE SELLING **/

#suggestive-keypadview {
    background-image: none;
    background-color: transparent;
    display: none;
    flex-direction: column;
    height: 100% !important;
}

#suggestive-selling-page {
    background-color: #FFFFFF;
}

.suggestiveSellingContainer {
    padding: 1% 0 5%;
    margin: 8% 2%;
}

#suggestive-header-msg {
    margin: 20px 0;
    font-size: 17px;
    text-align: center;
}

#suggestive_button-next {
    margin: 30px auto;
}

.suggestive-button-container {
    display: flex;
    align-items: center;
}

.suggestive-line-button {
    display: inline-table;
    vertical-align: middle;
    padding: 10px 5px;
    margin: 0;
    border-radius: 100px;
    font-size: 14px;
    background-color: #ef4135;
    color: #fff;
    cursor: pointer;
    width: 60px;
    height: 40px;
    position: absolute;
    right: 2%;
    top: 50%;
    transform: translateY(-50%);
}

.suggestive-line-button-image {
    position: absolute;
    left: 25%;
    top: 25%;
    width: 50%;
    height: 50%;
}

.suggestive-line-button-text {
    display: none;
}

#suggestion-container {
    width: 96%;
    margin: 0 auto;
}

#suggestion-container .keypad-list {
    width: 100%;
    transition: 500ms;
    border: 2px solid #ccc;
    border-bottom: 0 solid #ccc;
}

#suggestive-dots {
    display: flex;
    justify-content: center;
    margin: 10px auto;
}

.suggestive-keypad-line {
    display: flex;
    position: relative;
    overflow: hidden;
    padding: 1px 5px;
    font-size: 18px;
    border-bottom: 2px solid #ccc;
    background: #fff;
    min-height: 50px;
}

    .suggestive-keypad-line.suggestive-function .suggestive-line-info {
        width: 100%;
    }

    .suggestive-keypad-line.suggestive-function .suggestive-line-button, .suggestive-keypad-line.suggestive-function .line_price {
        display: none;
    }

#suggestiveButtonContainer {
    margin-top: 8%;
}

.suggestive-line-info {
    display: flex;
    font-weight: bold;
    justify-content: space-between;
    width: 80%;
    align-items:center;
    min-height: inherit;
}

.hide-list {
    position: absolute;
    top: 0;
    opacity: 0;
}

.slide-keypad-out {
    transform: translateX(110%);
}

.suggestive-line-info .keypad-line-details {
    display: flex;
    align-items: center;
}

.suggestive-line-info .keypad-line-info {
    flex:2;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

    .suggestive-line-info .keypad-line-details-original {
        flex:3;
    }

    .suggestive-line-info .keypad-line-nutrition {
        padding-top: 3px;
    }

    .suggestive-line-info .keypad-line-nutrition-tab {
        font-size: 70%;
    }

    .suggestive-line-info .keypad-name-left {
        padding-left: 0;
    }

.icon-white-check {
    padding: 0;
    height: 15px;
    width: 16px;
    position: relative;
    top:1px;
}

.suggestion-add {
    display: flex;
    justify-content: center;
    z-index:0;
}

.suggestion-added {
    z-index:1;
    display: none;
    position: absolute !important;
    text-align: center;
    background-size: auto;
    padding: 5px 0 !important;
    font-size: 24px !important;
    right: 0;
}

@media only screen and (min-device-width: 415px) {
    #suggestion-container {
        width: 90%;
    }

    #suggestion-container .keypad-list {
        width: 100%;
    }

    .suggestive-keypad-line {
        padding: 1px 10px;
    }

    #suggestive-header-msg {
        margin: 40px 0;
        font-size: 19px;
        text-align: center;
    }

    .suggestive-line-button {
        padding: 12px 5px;
        margin: 0;
        font-size: 16px;
        width: auto;
        height: auto;
        position: relative;
        right: inherit;
        top: inherit;
        transform: none;
        min-width: 93px;
    }

    .suggestive-line-button-image {
        display: none;
    }

    .suggestive-line-button-text {
        display: initial;
        font-size: 12px;
        font-weight: bold;
        text-transform: uppercase;
        padding: 2px;
    }

    .suggestion-added {
        /*right: 10px !important;*/
        margin: 0 !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }

    .suggestive-line-info {
        flex: 1;
        width: 100%;
    }

    #suggestive-dots {
        margin: 20px auto;
    }
}


/** COMBO WIZARD **/

#combo-items-list {
    border: 1px solid #ccc;
    border-bottom: 0 solid transparent;
    margin: 0 4%;
}

#combo-items-list .combo-title-line {
    padding: 10px 5px;
}


#combo-page {
    padding: 0;
}

#combo-container {
    padding: 5.5% 0 8.5%;
}

.combo-info {
    font-size: 22px;
    font-weight: bold;
    padding: 0 4%;
}

.combo-details-container {
    display: flex;
    justify-content: space-between;
    padding: 5px 0 20px;
}

    .combo-details-container .combo-price {
        color: #133d8d;
    }

.combo-item-line {
    display: flex;
    padding: 0 5px;
    font-size: 16px;
}

.combo-line-info, .combo-line-swap {
    padding: 12px 0;
}

.combo-line-info {
    flex: 7;
    display:flex;
    cursor: pointer;
}

.combo-line-name {
    flex:3;
}

.combo-line-price {
    text-align: right;
    flex:2;
    margin: 0 5px 0 0;
}

.combo-line-swap {
    flex: 1;
}

.combo-line-total {
    font-size: 16px;
}

.combo-swap {
    text-align: center;
    font-size: 14px;
    border: 1px solid;
    padding: 5px;
    font-weight: normal;
    cursor: pointer;
    height: 30px;
}

.combo-subtotal {
    padding: 15px 5px !important;
    font-size: 18px;
}

.combo-subtotal .subtotal {
    font-size: 22px;
}

.combo-quantity-selector {
    width: 135px;
}

.combo-quantity-input {
    width: 65px;
}

.combo-quantity-selector, .combo-quantity-decrement, .combo-quantity-increment, #combo-quantity {
    height:35px;
    font-size: 22px;
}

.combo-quantity-decrement, .combo-quantity-increment {
    line-height: 33px;
}

@media only screen and (min-device-width: 415px) {

    #combo-page {
        padding: 5% 3%;
    }

    #combo-container {
        padding: 5.5% 5.5% 8.5%;
    }

    .combo-item-line {
        padding: 0 10px 0 10px !important;
        font-size: 20px;
    }

    .combo-line-info, .combo-line-swap {
        padding: 20px 0;
    }

    #combo-items-list {
        margin: auto;
    }

    .combo-info {
        padding: 2% 0 3%;
    }

    #combo-items-list .combo-title-line {
        padding: 10px 20px;
    }

    .combo-details-container {
        padding: 5px 0 0;
    }

    .combo-line-info {
        flex:8;
    }

    .combo-line-price {
        margin: 0 20px 0 0;
    }

    .combo-quantity-selector {
        position: relative;
        bottom: 5px;
        font-size: 25px;
        width: 150px;
    }

    .combo-quantity-input {
        width: 80px;
    }

    #combo-page {
        padding: 8%;
    }

    .combo-quantity-selector, .combo-quantity-decrement, .combo-quantity-increment, #combo-quantity {
        height:40px;
    }

    .combo-quantity-decrement, .combo-quantity-increment {
        line-height: 38px;
    }

    .combo-swap {
        font-size: 16px;
    }

    .combo-subtotal {
        padding: 20px 10px !important;
        font-size: 20px;
    }

    .combo-subtotal .subtotal {
        font-size: 26px;
    }

    .combo-line-total {
        font-size: 18px;
    }

}

/** EDIT NAME VIEW **/
.edit-name-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.1);
    overflow-y: scroll;
}

#edit-name {
    background: rgba(255, 255, 255, 1);
    padding: 8% 5% 2% 5%;
    color: black;
    min-height: 200px;
    position: relative;
    top: 20%;
    max-width: 85%;
    margin: 0 auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    text-align: center;
}

#edit-name_close {
    position: absolute;
    top: 10px;
    left: 15px;
    font-size: 30px;
    float: right;
    cursor: pointer;
}

#edit-name_buttons {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#edit-name_buttons button {
    width: 100%;
    font-size: 18px;
}

#edit-name_message {
    margin: 8px 0;
}

@media only screen and (max-device-width: 415px) {
    #edit-name_message {
        font-size: 16px;
    }
}

/** ORDER TIME WARNING VIEW **/

.order-time-warning-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.1);
    overflow-y: scroll;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#order-time-warning {
    position: absolute;
    background: rgba(30, 30, 30, 0.9);
    height: 70%;
    min-height: 310px;
    max-height: 500px;
    width: 80%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 5%;
    border-radius: 16px;
    z-index: 3;
}

#order-time-warning > div {
    margin: 8px 5%;
}

#order-time-warning-message {
    position: absolute;
    top: 25%;
    text-align: center;
}

#order-time-warning-message > h2 {
    color: #FFF !important;
    font-weight: normal !important;
}

#order-time-warning-buttons {
    position: absolute;
    bottom: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 90%;
}

#order-time-warning-buttons button {
    width: 100%;
    font-size: 18px;
    font-weight: normal !important;
    background-image: none !important; /** Overrides .button css property **/
}

#order-time-warning-cancel {
    background-color: rgba(30, 30, 30, 0.9);
    color: #FFF;
    border: solid 1px #FFF;
}

#order-time-warning-continue {
    background-color: #FFF;
    color: #000;
    border: solid 1px rgba(30, 30, 30, 0.9);
}

#order-time-warning-overlay {
    position: fixed; /* Sit on top of the page content */
    width: 100%; /* Full width (cover the whole page) */
    height: 100%; /* Full height (cover the whole page) */
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0,0,0,0.5); /* Black background with opacity */
    z-index: 2; /* Specify a stack order in case you're using a different order for other elements */
}

/** ADD VOUCHER VIEW **/
.add-voucher-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: rgba(0,0,0,0.1);
    overflow-y: scroll;
}

.add-voucher {
    background: rgba(255, 255, 255, 1);
    padding: 16px 20px;
    color: #000;
    min-height: 200px;
    position: relative;
    top: 20%;
    max-width: 85%;
    margin: 0 auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border-radius: 5px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.add-voucher > div {
    margin: 8px;
}

.add-voucher_close {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    box-shadow: 0 0 3px 1px rgba(0,0,0,0.1);
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    cursor: pointer;
}

.add-voucher_close-left {
    width: 2px;
    height: 18px;
    transform: rotate(45deg);
    background: #000;
}

.add-voucher_close-right {
    width: 2px;
    height: 18px;
    transform: rotate(90deg);
    background: #000;
}

#add-voucher-title {
    margin: 8px 0;
    padding: 0;
    font-size: 24px;
}

.add-voucher .label {
    text-align: left;
}

#add-voucher_voucher-code_input {
    margin: 0;
}

#add-voucher_apply-voucher_container {
    margin-bottom: 0;
}

#add-voucher_apply-voucher_container.voucher-code-input-shown {
    margin-top: 8px;
}

#add-voucher_apply-voucher_button {
    width: 100%;
    font-family: 'Roboto', sans-serif;
    font-size: 18px;
    margin: 0;
}

@media only screen and (min-device-width: 415px) {
    #add-voucher_apply-voucher_container {
        margin: 0 8px;
    }
    #add-voucher-apply-voucher_button {
        margin-top: 3%;
        margin-bottom: 0;
    }
}

/** MANUAL FUNDING VIEW **/
.manual-funding-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    background: rgba(0,0,0,0.5);
    overflow-y: scroll;
}

.manual-funding {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: rgba(255, 255, 255, 1);
    padding: 4%;
    color: black;
    min-height: 330px;
    position: relative;
    top: 13%;
    max-width: 85%;
    margin: 0 auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border-radius: 5px;
}

.manual-funding .tile {
    padding: 4.5%;
}

#manual-funding_msg {
    padding: 0 0 25px;
    font-size: 17px;
}

.manual-funding-error {
    display: none;
    margin: 8px 0 0;
    text-align: center;
    background: #ffffdd;
    box-shadow: 0 0 5px #b2b2b2;
    padding: 5px 10px;
    max-width: 80%;
    color: black;
    font-style: italic;
}

#manual-accountFunding_addPaymentMethod-title {
    display: none;
    text-align: center;
}

#manual-accountFunding_addPaymentMethod {
    display: none;
}

    #manual-payment-method_add-button {
        display: flex;
        justify-content: space-between;
    }

    #manualCancelPaymentCardButton {
        margin: 0;
    }

    #manualAddPaymentCardButton {
        max-width: 160px;
        margin: 0;
    }

#manual-accountFunding_fundOneTime {
    margin-top: 30px;
}

#manual-accountFunding_fundOneTime, #manual-payment-agreement_text-container {
    padding: 4.5% 4.5%;
}

#manualOneTimePaymentButton, #manualOneTimeCancelButton, #manual-payment-agreement_button_disagree, #manual-payment-agreement_button_agree, #manualMessageContinueBtn, #manualCancelPaymentCardButton, #manualAddPaymentCardButton {
    font-weight: normal;
    letter-spacing: 0.01em;
    line-height: 1em;
    text-transform: uppercase;
}

#manual-payment-agreement_button {
    margin-top: 10px;
}

#manual-payment-agreement_button_agree {
    float: right;
}

#manual-payment-agreement_title, #manual-general-msg-main {
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    padding-bottom: 5px;
}

#manual-general-msg-content {
    font-size: 18px;
    margin: 20px 0 0;
    position: relative;
    overflow: hidden;
    min-height: 50px;
}

#manualOneTimePaymentButton  {
    margin: 20px 10px 0 0;
    float: right;
}

#manualOneTimeCancelButton {
    margin: 20px 0 0 10px;
    float: left;
}

#manualMessageContinueBtn {
    float: right;
}

#manual-accountFunding_fundOneTime_customAmount {
    display: none;
    font-size: 16px;
    margin: 12px 0 10px;
    font-weight: normal;
    text-align: left;
    padding-left: 10px;
}

.manual-funding_error {
    min-height: 20px;
    margin: 0 0 15px;
    text-align: center;
    background: #ffffdd;
    box-shadow: 0 0 5px #b2b2b2;
    padding: 15px 10px;
    font-style: italic;
    display: none;
}

@media only screen and (min-device-width: 415px) {
    .add-voucher {
        width: 85%;
        max-width: 400px !important;
    }

    #edit-name {
        width: 85%;
        max-width: 550px !important;
    }

    #manual-accountFunding_fundOneTime, #manual-payment-agreement_text-container {
        padding: 4.5% 6.5%;
    }

    .manual-funding .tile {
        padding: 6.5%;
    }

    #manualAddPaymentCardButton {
        max-width: 100%;
    }
}

/** PURCHASE RESTRICTION VIEW **/
.purchase-restriction-container {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    background: rgba(0,0,0,0.1);
}

.purchase-restriction {
    background: rgba(255, 255, 255, 1);
    padding: 5% 3% 3%;
    color: black;
    position: relative;
    top: 10%;
    max-width: 87%;
    max-height: 80%;
    margin: 0 auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border-radius: 12px;
}

.purchase-restriction_item-msg, .purchase-restriction_item-remove-msg {
    margin-bottom: 15px;
    text-align: center;
    font-size: 17px;
}

.purchase-restriction_item-remove-msg {
    margin: 15px 0 20px;
    display: none;
}

.purchase-restriction_item-list-container {
    overflow-y: auto;
    max-height: 47vh;
}

.purchase-restriction_item-list {
    list-style: none;
    display: none;
}

.purchase-restriction-line {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-top: 10px;
}

#purchase-restriction_button-container {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

#closePurchaseRestrictionBtn, #removePurchaseRestrictionBtn {
    text-transform: uppercase;
    padding: 10px;
    font-weight: normal;
    text-align: center;
    font-size: 18px;
    border: none;
}

#removePurchaseRestrictionBtn {
    display: none;
}

@media only screen and (min-device-width: 415px) {
    .purchase-restriction {
        max-width: 60%;
        padding: 5% 2% 1%;
    }
}


.fade-keypad {
    transition: opacity 1000s !important;
    opacity: 0;
}

.active-keypad {
    opacity: 1 !important;
}

/** NETWORK OFFLINE MODAL VIEW **/
.network-offline-container {
    max-width: 768px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    background: rgba(0,0,0,0.1);
}

.offline-container {
    background: rgba(255, 255, 255, 1);
    padding: 25px 15px 40px;
    color: black;
    position: relative;
    top: 20%;
    max-width: 90%;
    max-height: 90%;
    min-height: 60%;
    margin: 0 auto;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border-radius: 4%;
    transition: all 150ms linear;

    display: flex;
    align-items: center;
    align-self: center;
    justify-content: center;
    flex-direction:column;
}

.offline_msg-container {
    text-align: center;
    transition: all 150ms linear;
    margin-top: 20px;
}

.offline_title {
    font-size: 1.7em;
    font-weight: bold;
    margin-top: 8%;
}

.offline_msg {
    font-size: 1.3em;
    margin: 10px 0 20px;
}

.offline-icon {
    opacity: 0.9;
    width: 33%;
    height: 33%;
    margin-top: 20px;
}

.offline-qr-icon {
    width: 50px;
    height: 50px;
}

.offline_button-container {
    display: flex;
    justify-content: space-around;
}

.offline_connect-button, #offline_qr-close-button {
    font-size: 1.4em;
    text-align: center;
    width: fit-content;
    max-width: 300px;
    padding: 7px 10px;
    border-radius: 4px;
    cursor: pointer;
    border: 2px solid #5d5d5d;
    color: #363636;
    background: transparent;
    transition: all 150ms linear;
    display: flex;
    align-items: center;
    min-height: inherit;
    height: 40px;
    margin-top: 11px;
}

     #offline_qr-close-button:hover {
        background: #363636;
        color: #fff;
    }

#offline_qr-close-button {
    position: absolute;
    bottom: 5%;
    min-height: auto;
    min-width: 75px;
}

.offline_qr-button {
    padding: 4px 4px 0;
    border-radius: 4px;
    cursor: pointer;
    border: 2px solid #5d5d5d;
    color: #363636;
    background: transparent;
    transition: all 150ms linear;
}

#offline_error-container {
    padding: 10px;
    position: absolute;
    top: 3%;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
    width: 80%;
    font-size: 15px;
}

#offline_qr-code {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 5%;
}

.badge-text {
    font-size: 1.4em;
    text-align: center;
    width: fit-content;
    max-width: 300px;
    padding: 7px 10px;
    display: flex;
    align-items: center;
    min-height: inherit;
    height: 40px;
    margin-top: 11px;
}


@media only screen and (min-device-width: 415px) {
    .offline-container {
        top: 17%;
        min-height: 60%;
        max-width: 85%;
    }

    .offline-icon {
        width: 27%;
        height: 27%;
        margin-top: 0;
    }

    .offline_title {
        margin-bottom: 5%;
    }

    .offline_msg {
        margin: 20px 25px 40px;
    }

    .offline_button-container {
        justify-content: space-evenly;
        margin-top: 10%;
    }

    #offline_error-container {
        font-size: 16px;
        top: 6%;
        width: 70%;
    }
}

/** MODAL BLOCKING MASK **/

.modal-block-mask {
    display: none;
    background: none;
    opacity: 1;
    z-index: 20000;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    box-sizing: border-box;
    position: absolute;
    text-align: center;
    background: #fff;
    height: 100%;
    width: 100%;
    transition: margin 200ms ease-in-out;
}

/** IPHONE X STYLES **/

@media only screen and (orientation: portrait) {
    .iphoneX header:not(.store-cart-header), .iphoneX .general-msg-header {
        padding-top: 25px;
        height: 80px !important;
    }

    .iphoneX .block-mask:not(.ordering-mask) {
        margin-top: 80px;
    }

    .iphoneX .block-mask.full-screen {
        margin-top: 0;
    }

    .iphoneX .logo-container {
        padding-top: 40px !important;
    }

    .iphoneX .home-link {
        top: calc(50% + 10px) !important;
    }

    .iphoneX .calendar-icon {
        top: 23px !important;
    }
    .iphoneX[data-control-bg-home] .control-bg-home-icon .calendar-icon,
    .iphoneX[data-control-bg-stores] .control-bg-stores-icon .calendar-icon {
        right: 2%;
    }

    .iphoneX .calendar-num {
        font-size: 10px !important;
    }

    .iphoneX header:not(.store-cart-header) .help-icon {
        top: 23px !important;
    }

    .iphoneX #help-close-btn {
        top: 40px;
    }

    .iphoneX header:not(.store-cart-header) .order-back-icon,
    .iphoneX header:not(.store-cart-header) .order-cart-icon,
    .iphoneX .product-detail_header .order-back-icon, .iphoneX .product-detail_header .order-cart-icon {
        margin-top: 23px !important;
    }

    .iphoneX .general-back-icon {
        top: 68%;
        left: 1%;
    }

    .iphoneX #review-favorite-icon {
        top: 6%;
    }

    .iphoneX .tour-footer-iphoneX {
        margin-bottom: 20px !important;
    }

    .iphoneX .user-information-iphoneX {
        padding-top: 40px !important;
    }

    .iphoneX .main-footer {
        padding-bottom: 20px;
    }

    .iphoneX .trans-receipt-icon {
        background-size: 55%;
    }

    .iphoneX #cart-header h1 {
        width: 73%;
    }

    .iphoneX .view #placeOrderButtonContainer #submitOrder {
        margin: 15px auto 20px;
    }

    .iphoneX .jq-toast-single {
        padding: 11px 15px 15px !important;
    }

    .iphoneX #express-reorders {
        bottom: 60px;
    }

    .iphoneX #express-reorders-btn-container {
        bottom: 32px;
    }

    .iphoneX #express-dots {
        bottom: 17px;
    }

    .iphoneX #express-reorders-container {
        bottom: 10px !important;
    }

    .iphoneX #express-arrow-left, .iphoneX #express-arrow-right {
        bottom: 30% !important;
    }

    .iphoneX #product-quantity {
        padding: 1px 0;
    }

    .iphoneX .help-store-view .help-slide[data-slide-id="6"] .help-hand {
        top: 65px;
    }

    .iphoneX .help-home-keypad-view #myQuickPicks {
        top: 80px;
    }

    .iphoneX .help-favorite-cart-view .myQuickPicksFilterContainer {
        top: 81px;
    }
    .iphoneX #homePageContainer .general-error-msg-title  {
        padding-top: 25px;
    }
}

@media only screen and (orientation: landscape) {
    .iphoneX #redeemview, .iphoneX #mainview, .iphoneX #loginview, .iphoneX #logoutview, .iphoneX #chooseview, .iphoneX #tosview, .iphoneX #pageview, .iphoneX #tourview, .iphoneX #orderview, .iphoneX #receiveview,
    .iphoneX #cartview, .iphoneX #modifierview, .iphoneX #keypadview, .iphoneX #suggestive-keypadview, .iphoneX #reviewview, .iphoneX #productview, .iphoneX #tosaccept-view, .iphoneX #general-msg-view,
    .iphoneX #general-confirm-view, .iphoneX #general-error-view, .iphoneX #server-version-error-view, .iphoneX #reauthView, .iphoneX #receipt-view, .iphoneX #rewardsview, .iphoneX #paymentview, .iphoneX #favoriteview,
    .iphoneX #manageview, .iphoneX #addaccountview, .iphoneX #purchasesview, .iphoneX #favoriteorderview, .iphoneX #futuredateview, .iphoneX #suggestiveview, .iphoneX #comboview
    {
        max-width: 1000px;
    }

    .iphoneX .network-offline-container {
        max-width: 1000px;
    }

    .iphoneX .block-mask {
        max-width: 1000px;
    }
}

/** ANDROID STYLES **/

.android .calendar-num {
    top: 36px;
}


/** NETWORK ERROR MODAL **/

.network-error_modal {
    margin: 0 auto;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999999999;
    background: rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .network-error_container {
        background: rgba(255, 255, 255, 1);
        color: black;
        max-width: 92%;
        margin: 0 auto;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
        border-radius: 2px;
        flex: 1;
        display: flex;
        flex-direction: column;;
    }

        .network-error_title-container {
            background: #ec6e6e;
            border-top-left-radius: 2px;
            border-top-right-radius: 2px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            min-height: 105px;
            align-items: center;
        }

            .network-error_icon {
                display: none;
                width: 45px;
                height: 45px;
                margin-bottom: 5px;
                filter: drop-shadow(rgba(0, 0, 0, 0.15) 1px 1px 2px);
            }

            .network-error_title {
                display: flex;
                justify-content: center;
                font-size: 22px;
                color: white;
                filter: drop-shadow(rgba(0, 0, 0, 0.15) 1px 1px 2px);
            }

        .network-error_message-container {
            display: flex;
            flex-direction: column;
            padding: 20px 10px;
        }

            .network-error_message {
                font-size: 17px;
                text-align: center;
                margin: 5px 0 20px;
            }

        #network-error_button-container {
            display: flex;
            justify-content: space-around;
        }

            #network-error_button-container button {
                background: #ec6e6e;
                color: #fff;
                border: 1px solid #f76565;
                padding: 13px;
                border-radius: 22px;
                font-size: 14px;
                text-transform: uppercase;
                text-shadow: 0 0 0 rgba(255,255,255,1);
                font-weight: normal;
                letter-spacing: 0.2px;
                box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
                width: 120px;
                text-align: center;
            }


@media only screen and (min-device-width: 415px) {
    .network-error_container {
        max-width: 375px;
    }

    .network-error_title-container {
        min-height: 115px;
    }

    .network-error_message {
        font-size: 18px;
    }
}

/** BLOCK MASK LOADER CSS **/

.block-mask_icon {
    display: none;
}

.spinner {
    margin: 0 auto;
    width: 80px;
    text-align: center;
    display: flex;
    justify-content: space-around;
    position: relative;
    top: 42%;
}

    .block-mask.full-screen .spinner {
        top: 46%;
    }

    .spinner > div {
        width: 20px;
        height: 20px;
        background-color: #ef4135;
        border-radius: 100%;
        display: inline-block;
        animation: sk-bouncedelay 1.2s infinite ease-in-out both;
    }

        .spinner .bounce1 {
            animation-delay: -0.32s;
        }

        .spinner .bounce2 {
            animation-delay: -0.16s;
        }

@keyframes sk-bouncedelay {
    0%, 80%, 100% {
        transform: scale(0);
        opacity: 0.2;
    } 40% {
          transform: scale(1.0);
          opacity: 1;
      }
}

/** FAQ EDITOR STYLES **/

#faq-page {
    background: #fcfcfc;
    overflow-y: scroll;
}

    .faq-search-container {
        background: rgb(254, 254, 254);
        display: flex;
        align-items: center;
        padding: 10px 10px 10px 20px;
        border-bottom: 1px solid #e4e4e4;
    }

        .faq-search-info {
            flex: 8;
        }

            .faq-search-icon {
                width: 20px;
                height: 20px;
                position: absolute;
                top: 15px;
                left: 28px;
                opacity: 0.5;
            }

            #faq-search-input {
                display: flex;
                align-self: center;
                margin-bottom: 0;
                border: 1px solid #ebebeb;
                background: #f1f1f1;
                height: 32px;
                padding: 10px 10px 10px 42px;
                color: #424242;
                font-size: 15px;
            }

        .faq-search-cancel {
            text-align: center;
            color: grey;
            cursor: pointer;
            flex: 1;
            font-size: 16px;
            letter-spacing: 0.15px;
        }

        .faq-search-cancel:active {
            text-decoration: underline;
        }

    .faq-line {
        font-size: 17px;
        background: white;
        border-radius: 2px;
        list-style: none;
        border-bottom: 2px solid #efefef;
        padding: 6px 0;
    }

        .faq-line.expand {
            background: #fdfdfd;
        }

        .faq-line_question-container {
            display: flex;
            padding: 15px 10px 15px 20px;
            cursor: pointer;
        }

            .faq-line_question {
                font-weight: bold;
                color: #3a3a3a;
                flex: 11;
                overflow: hidden;
                word-break: break-word;
                padding-right: 5px;
            }

            .faq-line_answer {
                overflow: hidden;
                word-break: break-word;
            }

            .faq-line_expand {
                border-radius: 50%;
                width: 12px;
                height: 12px;
                border: none;
                display: flex;
                justify-content: center;
                align-items: flex-start;
                flex: 1;
                transition: transform 500ms;
                position: relative;
                top: 3px;
            }

                .expand .faq-line_expand {
                    transform: rotate(180deg);
                }

                .faq-expand_left {
                    height: 14px;
                    width: 2px;
                    background-color: #c5c5c5;
                    transform: rotate(315deg);
                    z-index: 2;
                    position: relative;
                    left: 2px;
                    margin-right: 9px;
                }

                .faq-expand_right {
                    height: 14px;
                    width: 2px;
                    background-color: #c5c5c5;
                    transform: rotate(45deg);
                    z-index: 1;
                }

                .expand .faq-expand_left, .expand .faq-expand_right {
                    background-color: #949494;
                }

        .faq-line_answer-container {
            display: none;
            padding: 4px 20px 15px;
            color: #797777;
            font-size: 16px;
            width: 92%;
            text-shadow: 0 0 0 rgba(136, 136, 136, 0.4)
        }

@media only screen and (max-device-width: 415px) {
    .faq-search-container {
        padding: 8px 0 8px 10px;
    }

        .faq-search-icon {
            top: 12px;
            left: 17px;
        }

        #faq-search-input {
            height: 28px;
            padding: 10px 10px 10px 38px;
            font-size: 14px;
        }

    .faq-search-cancel {
        flex: 2;
        font-size: 15px;
        letter-spacing: 0.1px;
    }

    .faq-line {
        font-size: 15px;
    }

        .faq-line_question-container {
            padding: 12px 11px 12px;
        }

        .faq-line_question {
            flex: 10;
        }

        .faq-expand_right, .faq-expand_left {
            height: 12px;
        }

            .faq-expand_left {
                margin-right: 7px;
            }

    .faq-line_answer-container {
        padding: 5px 0 10px 10px;
        font-size: 15px;
        width: 96%;
    }
}

/** GENERAL POPUP STYLES **/

.general-popup {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    max-width: 768px;
    width: 100%;
    padding: 0;
    z-index: 10000;
    background: rgba(0,0,0,0.3);
    color: #000;
    display: none;
}

    .general-popup_container {
        background: #fdfdfd;
        width: 80%;
        margin: 0 auto;
        border-radius: 5px;
        position: relative;
        top: 35%;
        box-shadow: 0 0 5px 1px rgba(0,0,0,0.15);
    }

        .general-popup_title {
            font-weight: bold;
            text-align: center;
            font-size: 16px;
            padding: 15px 10px 0;
        }

        .general-popup_message {
            padding: 20px 15px;
            font-size: 15px;
            text-align: center;
            line-height: 21px;
            word-break: break-word;
        }

        #general-popup_button-container {
            display: flex;
            border-top: 1px solid #e4e4e4;
        }

            #general-popup_btn-1, #general-popup_btn-2 {
                flex: 1;
                text-align: center;
                padding: 12px 7px 14px;
                color: #408ede;
                text-shadow: 0 0 0 rgba(64, 142, 222, 0.5);
                font-size: 15px;
                display: flex;
                align-items: center;
                justify-content: center;
                line-height: 19px;
                letter-spacing: 0.2px;
                border: 0;
                background: #fdfdfd;
                cursor: pointer;
                outline:none;
            }

                #general-popup_btn-1 {
                    border-radius: 0 0 5px 5px !important;
                }

                #general-popup_btn-2 {
                    border-left: 1px solid #e4e4e4;
                }

                #general-popup_button-container.two-buttons #general-popup_btn-1 {
                    border-radius: 0 0 0 5px !important;
                }

                #general-popup_button-container.two-buttons #general-popup_btn-2  {
                    border-radius: 0 0 5px 0 !important;
                }

    @media only screen and (min-device-width: 415px) {
        .general-popup_container {
            width: 65%;
        }

        .general-popup_title {
            font-size: 17px;
            padding: 20px 10px 0;
        }

        .general-popup_message {
            padding: 20px;
            font-size: 16px;
            line-height: 22px;
        }

        #general-popup_btn-1, #general-popup_btn-2 {
            font-size: 17px;
            padding: 14px 7px;
        }
    }

/** BARCODE SCANNER STYLES **/

.scan-barcode-btn {
    position: absolute;
    top: 73%;
    right: 5%;
    background: #ef4135;
    border-radius: 50%;
    width: 66px;
    height: 65px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0 3px 2px rgba(58, 58, 58, 0.15);
    cursor: pointer;
    z-index: 1000;
}


    .scan-barcode-btn.hidden {
        display: none !important;
    }

        .scan-barcode-img {
            width: 47px;
            height: 48px;
            filter: drop-shadow(1px 3px 4px rgba(0,0,0,0.2));
        }

.camera-scan-mask {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    max-width: 768px;
    background: #000;
    z-index: 1001;
    display: none;
}

@media only screen and (max-device-width: 360px) {
    .scan-barcode-btn {
        top: 86%;
    }
}


/** POINT DONATION VIEW **/

.donation_page {
    display: none;
}

.donation_container {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 1001;
    background: #fff;
    overflow: hidden;
    transition: all 800ms;
    top: 0;
    height: 100%;
    max-width: 768px;
    margin: 0 auto;
    overflow-y: scroll;
}

.iphoneX .donation_container {
    padding-top: 25px;
}

.donation-page::-webkit-scrollbar, .donation_container::-webkit-scrollbar {
    display: none;
}

.donation-page.hidden .donation_container {
    top: 100%;
    height: 0;
}

.donation_close-btn {
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    align-self: center;
    justify-content: center;
    position: absolute;
    top: 15px;
    left: 15px;
    cursor: pointer;
    z-index: 1001;
}

.iphoneX .donation_close-btn {
    top: 30px;
    left: 5px;
    padding: 25px; /* More click area */
}

.donation-close-left, .donation-close-right {
    height: 16px;
    width: 2px;
    background-color: #888888;
}

.donation-close-left {
    transform: rotate(45deg);
    z-index: 1;
}

.donation-close-right {
    transform: rotate(90deg);
    z-index: 2;
}

.close-button {
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    align-self: center;
    justify-content: center;
    position: absolute;
    top: 5px;
    left: 5px;
    cursor: pointer;
    z-index: 1001;
    border: 1px solid #888888;
}

.iphoneX close-button {
    top: 40px;
}

.close-left, .close-right {
    height: 16px;
    width: 2px;
    background-color: #888888;
}

.close-left {
    transform: rotate(45deg);
    z-index: 1;
}

.close-right {
    transform: rotate(90deg);
    z-index: 2;
}

.program_title {
    padding: 17px 40px;
    margin: 0 20px;
    border-bottom: 2px solid #ccc;
    font-size: 22px;
    text-align: center;
    font-weight: bold;
    letter-spacing: 0.3px;
    color: #000;
}

.selectric-donation_charity-select {
    padding: 5% 20px 20px;
}

.selectric-donation_charity-select .selectric {
    background: #fff;
    border-bottom: 2px solid var(--accentColorTwo);
    border-top: none;
    border-left: none;
    border-right: none;
    border-radius: 0;
    height: auto !important;
    display: flex !important;
    align-items: center;
}

/* Fixes MYQC-2053 DO NOT REMOVE - gawark */
.selectric-donation_charity-select.selectric-open {
    z-index: auto !important;
}

.selectric-donation_charity-select .label {
    height: auto !important;
    font-size: 22px !important;
    text-align: center;
    color: #7e7e7e !important;
    width: 95%;
    margin: 0 10px 0 0 !important;
    white-space: normal !important;
    line-height: 27px !important;
    padding: 4px 0;
}

                    .selectric-donation_charity-select .label.selected {
                        color: #565252 !important;;
                        font-weight: bold;
                        word-break: break-word;
                    }

                .selectric-donation_charity-select .button {
                    background-color: #fff !important;
                    width: 16px !important;
                    height: 15px !important;
                    border-top: 3px solid var(--accentColorTwo) !important;
                    border-right: 3px solid var(--accentColorTwo) !important;
                    transform: rotate(135deg);
                    position: relative !important;
                    padding: 0 !important;
                    margin-right: 15px !important;
                    margin-bottom: 6px !important;
                }

                    .selectric-donation_charity-select .selectric .button:after {
                        display: none;
                    }

                .selectric-donation_charity-select .selectric-items {
                    top: auto;
                    left: auto;
                }

                    .selectric-donation_charity-select .selectric-items li {
                        background: #ffffff !important;
                        font-size: 18px;
                        min-height: 50px !important;
                        border-top: 1px solid #e8e8e8;
                        text-align: center;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        color: #444 !important;
                        word-break: break-word;
                    }

                    .selectric-donation_charity-select .selectric-items li.highlighted {
                        background: #f3f3f3;
                    }

                    .selectric-donation_charity-select .selectric-items li[data-index="0"] {
                        display: none;
                    }

    .donation_title {
        padding: 5% 20px 4%;
        font-size: 22px;
        text-align: center;
        color: #565252;
        font-weight: bold;
        letter-spacing: 0.3px;
    }

    .donation_description {
        text-align: center;
        margin: 0 20px;
        font-size: 15px;
        color: #6b6b6b;
        overflow: hidden;
        transition: max-height 500ms ease-in-out;
        word-break: break-word;
    }

        .donation_more, .donation_less {
            position: absolute;
            background: #fff;
            width: 48px;
            font-size: 15px;
            color: #008ef3;
            text-decoration: underline;
            right: 20px;
            text-align: center;
            cursor: pointer;
            display: none;
        }

    .donation_balance-container {
        padding: 6% 20px 0;
    }

        .donation_balance {
            display: flex;
            align-items: center;
            background: #f1f1f1;
            padding: 10px 25px;
            border-radius: 5px;
        }

            .donation_balance-label {
                font-size: 18px;
                color: #615f5f;
                flex: 5;
                text-align: left;
            }

            .donation_balance-amt {
                border-radius: 4px;
                padding: 7px 20px;
                font-size: 19px;
                letter-spacing: 0.5px;
                color: #615f5f;
                flex: 1;
                text-align: right;
            }

    .donation_enter-pts-container {
        padding: 5% 20px 10px;
    }

        .donation_enter-pts {
            display: flex;
            align-items: center;
            padding: 0 25px;
        }

            .donation_enter-pts-label {
                text-align: left;
                font-size: 18px;
                flex: 5;
                color: #423a3a;
            }

            .donation_enter-pts-input{
                border: none !important;
                outline: none !important;
                font-size: 21px !important;
                padding: 2px 20px !important;
                margin-bottom: 0 !important;
                color: #133d8d !important;
                width: 120px !important;
                border: 2px solid #737373 !important;
                text-align: right;
                flex: 1;
                font-family: 'Roboto', sans-serif;
            }

                    .donation_enter-pts-input.focus-out {
                        font-style: italic !important;
                        font-size: 16px !important;
                    }

                    .invalid .donation_enter-pts-input {
                        border: 2px solid red !important;
                    }

                .donation_invalid-amount {
                    height: 0;
                    margin-top: 0;
                    position: relative;
                    top: 4px;
                    color: red;
                    width: 100%;
                    font-size: 15px;
                    text-align: right;
                    padding: 0 25px;
                    display: none;
                }

                    .invalid .donation_invalid-amount {
                        display: block;
                    }

    .donation_btn-container {
        display: flex;
        justify-content: center;
        padding: 6% 20px 15px;
    }

        #donation_donate-btn {
            width: 60%;
            margin: 50px 20%;
            padding: 10px;
            font-size: 20px;
            font-weight: normal;
            background: #133d8d;
            color: #fff;
            border-radius: 5px;
            box-shadow: 1px 1px 5px rgba(0,0,0,0.3);
            letter-spacing: 0.63px;
            border: none;
        }

    .donation_success {
        background: #23a523;
        border-radius: 50%;
        width: 28px;
        height: 27px;
        margin: 0 auto 10px;
        display: flex;
        justify-content: center;
        align-items: center;
        color: white;
        font-weight: normal;
    }

@media only screen and (min-device-width: 415px) {
    .donation-page {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        position: absolute;
        background: rgba(0,0,0,0.1);
        z-index: 1000;
        top: 0;
        left: 0;
    }

    .donation-page.hidden {
        background: rgba(0,0,0,0);
    }

    .donation-page.hidden .donation_container {
        height: 80%;
    }

    .donation_container {
        width: 84%;
        height: 80%;
        border-radius: 5px;
        box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
        border: 1px solid #ccc;
        top: 10%;
        left: 8%;
    }

    .program_title {
        padding: 22px 45px;
        margin: 0 25px;
    }

    .selectric-donation_charity-select {
        padding: 4% 25px 25px;
    }

    .donation_title {
        padding: 4% 8% 3%;
    }

    .donation_description {
        margin: 0 6%;
    }

    .donation_enter-pts-label {
        font-size: 19px;
    }

    .donation_enter-pts-input {
        padding: 2px 10px !important;
    }

        .donation_invalid-amount {
            top: 6px;
        }

    .donation_enter-pts-container, .donation_balance-container {
        padding: 5% 20% 0;
    }

        .donation_balance-label {
            font-size: 19px;
        }

    .donation_btn-container {
        padding: 6% 20% 32px;
    }

        #donation_donate-btn {
            padding: 12px;
            font-size: 22px;
        }

    .donation_close-btn {
        top: 20px;
        left: 20px;
    }
    .close-button {
        top: 20px;
        left: 20px;
    }

    .addFunds_container {
        width: 84%;
        border-radius: 10px;
        box-shadow: 1px 1px 5px rgba(0,0,0,0.2);
        border: 1px solid #ccc;
        left: 8%;
    }
}

@media only screen and (max-device-width: 370px) {
    .donation_balance {
        padding: 10px 20px;
    }

        .donation_balance-label, .donation_enter-pts-label {
            font-size: 17px;
        }

        .donation_balance-amt {
            padding: 7px 10px;
        }

    .donation_enter-pts {
        padding: 0 10px 0 20px;
    }

        .donation_enter-pts-input {
            width: 115px !important;
            height: 38px !important;
        }

    .donation_invalid-amount {
        font-size: 13.3px;
        padding: 0 10px 0 0;
    }
}


/** BARCODE SCAN HELP VIEW **/

.barcode-scan-help-view {
    max-width: 768px !important;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    background: rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .barcode-scan-help-view.hidden {
        display: none;
    }

    .barcode-scan-help_container {
        background: rgba(255, 255, 255, 1);
        color: #363636;
        min-height: 70%;
        width: 100%;
        max-width: 90%;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
        border-radius: 8px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

        .barcode-scan-help_details {
            padding: 25px 15px 0;
            display: flex;
            flex-direction: column;
            justify-content: space-evenly;
            height: 100%;
            flex: 1;
        }

            .barcode-scan-help_title-container {

            }

                .barcode-scan-help_title {
                    display: flex;
                    justify-content: center;
                    font-size: 22px;
                    font-weight: bold;
                    text-align: center;
                }

                .barcode-scan-help_msg {
                    padding: 15px 0 10px;
                    text-align: center;
                    font-size: 16px;
                    color: #3a3a3a;
                }

            .barcode-scan-img {
                width: 91%;
                height: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                margin: 6% auto;
            }

        #barcode-scan-help_btn-container {
            display: flex;
            justify-content: space-around;
            height: 51px;
            align-items: center;
            border-top: 1px solid #e0e0e0;
        }

            .barcode-scan-help_continue-button, .barcode-scan-help_cancel-button {
                color: #2F43C7;
                font-size: 16px;
                flex: 1;
                height: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
            }

            .barcode-scan-help_cancel-button {
                border-right: 1px solid #e0e0e0;
            }

/** FORCE ASAP STYLES **/

.disable-picker {
    display: flex;
    justify-content: flex-start;
    margin: 15px 0 0;
}

.disable-picker label {
    width: auto;
}

.disable-picker input {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    border-bottom: 1px solid #676767 !important;
    padding: 5px 0 2px !important;
    position: relative;
    bottom: 9px;
    width: 125px !important;
    text-align: center;
    text-shadow: 0 0 0 rgba(0,0,0,0.5);
    border-radius: 0 !important;
    margin-left: 10px !important;
    margin-bottom: 0 !important;
}

/** ORDER PLACED PAGE STYLE **/
#order-placed-checkmark-container{
    position: fixed;
    top: 0;
    height: 25vh;
    text-align: center;
    width: 95%;
    background: var(--cartBackgroundColor);
    left: 2.5%;
}

.order-placed-container {
    background: var(--cartBackgroundColor);
    margin-top: 25vh;
    margin-bottom: 25vh;
    text-align: -webkit-center;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 95%;
    box-shadow: none;
    overflow: visible;
}

.iphoneX .order-placed-container {
    padding-bottom: 16px;
}

.order-placed_check {
    margin-top: 15vh;
}
#order-placed-bottom-container{
    position: fixed;
    bottom: 0;
    left: 2.5%;
    width: 95%;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: var(--cartBackgroundColor);
}
#order-placed-page {
    background: #fff;
    padding: 0 5%;
    overflow-y: auto;
    text-align: -webkit-center;
}


/* Something in the order placed page is resulting in these fixed divs overlapping the scroll bar at certain screen
 sizes, so using media queries to adjust width to avoid this..*/
@media only screen and (min-device-width: 415px) {
    #order-placed-bottom-container, #order-placed-checkmark-container { width: 93%; }
}
@media only screen and (min-device-width: 680px) {
    #order-placed-bottom-container, #order-placed-checkmark-container { width: 95%; }
}

.orderPlacedMessage-padding{
    padding:5px;
}
    #orderplacedview h1 {
        width: 80% !important;
    }

    .order-placed_details {
        width: 100%;
        text-align: center;
        padding-top: 10px;
    }

        .order-placed_title-msg {
            font-weight: bold;
            font-size: 19px;
            margin-bottom: 10px;
            color: #ef4135;
        }

        .order-placed_thank-you-msg {
            font-weight: bold;
            font-size: 15px;
            margin-bottom: 7%;
            color: #ef4135;
        }

        .order-placed_order-num-msg {
            font-size: 16px;
            margin-bottom: 3vh;
        }

            .order-placed_order-num {
                padding: 5px;
                font-size: 22px;
                font-weight: bold;
            }

        .order-placed_charge-msg {
            width: 90%;
            font-size: 16px;
            margin-top: 25px ;
            text-align: center;
            font-style: italic;
        }

        .order-placed_order-location-msg {
            font-size: 16px;
            margin-bottom: 2vh;
        }

            .order-placed_order-location {
                font-size: 18px;
                padding-top: 10px;
                font-weight: bold;
                color: #686868;
            }

        .order-placed_order-type-msg {
            margin-top: 12px;
            font-size: 16px;
        }

        .order-placed_peak-hours-msg {
            font-size: 13px;
            font-style: italic;
            color: #4c4747;
            margin-top: 25px;
        }

        .order-placed_rewards-title {
            font-size: 17px;
            font-weight: bold;
            margin-top: 25px;
        }

        .order-placed_rewards-table table {
            font-size: 16px;
            margin: 3px auto 0;
            max-width: 90%;
        }

            .order-placed_rewards-table td {
                padding: 3px 10px;
            }

        .order-placed_rewards-donate {
            display: none;
            font-size: 17px;
            width: fit-content;
            margin: 10px auto 0;
            padding: 11px 20px;
            border-radius: 100px;
            cursor: pointer;
            border: 2px solid var(--cartFontColor) !important;
        }

    #order-placed_view-receipt-btn-container {
        width: 80%;
        display: flex;
        align-items: center;
        margin-top: 2vh;
    }

        .order-placed_receipt-icon {
            height: 22px;
            width: 22px;
            margin: 0 9px;
        }

    #order-placed_home-btn-container {
        width: 80%;
        margin: 2vh 0;
    }

    .iphoneX #order-placed_home-btn-container {
        padding-bottom: 16px;
    }

        #order-placed_home-btn, #order-placed_view-receipt-btn {
            margin: 0 auto;
            padding: 11px;
            border: none;
            font-size: 18px;
            font-weight: normal;
            box-shadow: 1px 1px 1px rgba(0,0,0,0.1);
            display: flex;
            justify-content: center;
            border-radius: 4px;
        }

        #order-placed_view-receipt-btn {
            border: 1px solid #ef4135;
            background: #fff;
            width:100%;
        }

        #order-placed_home-btn {
            background: #ef4135;
            color: #fff;
            width:100%;
        }

    /** checkmark styles **/

    .order_placed-checkmark-icon {
        width: 56px;
        height: 56px;
        border-radius: 50%;
        display: block;
        stroke-width: 2;
        stroke: #fff;
        stroke-miterlimit: 10;
        margin: 7% auto;
        box-shadow: inset 0 0 0 #7ac142;
        animation: checkmark-fill .4s ease-in-out .4s forwards, checkmark-scale .3s ease-in-out .9s both;
    }

        .checkmark__circle {
            stroke-dasharray: 166;
            stroke-dashoffset: 166;
            stroke-width: 2;
            stroke-miterlimit: 10;
            stroke: #7ac142;
            fill: none;
            animation: checkmark-stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
        }

        .checkmark__check {
            transform-origin: 50% 50%;
            stroke-dasharray: 48;
            stroke-dashoffset: 48;
            animation: checkmark-stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
        }

    @keyframes checkmark-stroke {
        100% {
            stroke-dashoffset: 0;
        }
    }
    @keyframes checkmark-scale {
        0%, 100% {
            transform: none;
        }
        50% {
            transform: scale3d(1.1, 1.1, 1);
        }
    }
    @keyframes checkmark-fill {
        100% {
            box-shadow: inset 0 0 0 30px #fff;
            stroke: #7ac142;
        }
    }

@media only screen and (min-device-width: 415px) {
    #order-placed-page {
        box-shadow: 0 0 5px #b2b2b2;
        -webkit-overflow-scrolling: inherit;
        padding: 0 8%;
        background: transparent;
    }

    .order-placed_title-msg {
        font-size: 23px;
    }

    .order-placed_thank-you-msg {
        font-size: 17px;
        margin-bottom: 5%;
    }

    .order-placed_order-num-msg {
        font-size: 17px;
    }

    .order-placed_order-info-container {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        flex-direction: column;
    }

        .order-placed_order-location-msg {
            display: flex;
            align-items: center;
        }

            .order-placed_order-location {
                padding: 0 5px;
                font-size: 16px;
                font-weight: normal;
                color: black;
            }

        .order-placed_order-type-msg {
            margin-top: 0;
        }


    #order-placed_view-receipt-btn-container {
        margin: 35px auto 10px;
    }

    #order-placed_home-btn-container {

        margin: 20px auto;
    }

        #order-placed_home-btn, #order-placed_view-receipt-btn {
            padding: 16px;
            font-size: 19px;
        }
}
@media only screen and (min-device-height: 600px) and (max-device-height: 650px) {
    .order_placed-checkmark-icon {
        width: 50px;
        height: 50px;
        margin: 5% auto 3%;
    }

    .order-placed_order-num {
        padding: 10px;
    }

    .order-placed_thank-you-msg {
        margin-bottom: 6%;
    }

    .order-placed_peak-hours-msg {
        margin-top: 22px;
    }

    .order-placed_title-msg {
        margin-bottom: 5px;
    }
}

@media only screen and (max-device-height: 600px) {
    .order_placed-checkmark-icon {
        width: 45px;
        height: 45px;
        margin: 3% auto 2%;
    }

    .order-placed_order-num {
        padding: 8px;
    }

    .order-placed_thank-you-msg {
        margin-bottom: 5%;
    }

    .order-placed_peak-hours-msg {
        margin-top: 20px;
    }

    .order-placed_title-msg {
        margin-bottom: 5px;
    }
}



.order-placed_message {
    display: flex;
    text-align: center;
    cursor: pointer;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

/** PRODUCT CODE INPUT VIEW **/

.product-code-input-view {
    max-width: 768px !important;
    margin: 0 auto;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99999;
    background: rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-code-input-view.hidden {
    display: none;
}

.product-code-input_container {
    background: rgba(255, 255, 255, 1);
    color: #363636;
    min-height: 31%;
    width: 100%;
    max-width: 90%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 400ms ease-in-out;
    position: relative;
    bottom: 0;
}

.slide-up.product-code-input_container {
    bottom: 15%;
}

.product-code-input_details {
    padding: 25px 15px 0;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    height: 100%;
    flex: 1;
}

.product-code-input_title {
    display: flex;
    justify-content: center;
    font-size: 21px;
    font-weight: bold;
    text-align: center;
}

.product-code-input_msg {
    padding: 15px 0 10px;
    text-align: center;
    font-size: 16px;
    color: #3a3a3a;
}

.invalid .product-code-input {
    border: 1px solid red;
}

#product-code-input_btn-container {
    display: flex;
    justify-content: space-around;
    height: 51px;
    align-items: center;
    border-top: 1px solid #e0e0e0;
}

.product-code-input_submit-button, .product-code-input_close-button {
    color: #2F43C7;
    font-size: 16px;
    flex: 1;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.product-code-input_close-button {
    border-right: 1px solid #e0e0e0;
}

/** FILTERING OPTIONS VIEW **/

#filtering-options-page {
    background: #ffffff;
    transition: all 300ms;
    border-radius: 20px;
    max-width: 550px !important;
    margin: auto 2%;
    box-shadow: 1px 1px 8px 2px rgba(0,0,0,0.1);
}

#filtering-options-page.active-slide {
    justify-content: center;
    flex-direction: row !important;
    top: 0;
}

#filteringoptionsview.active-slide {
    justify-content: center;
    flex-direction: row !important;
}

#filtering-options-page.hide-page {
    top: 100%;
}

.filtering-options-close {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ffffff;
    box-shadow: 0 0 3px 1px rgba(0,0,0,0.1);
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    cursor: pointer;
}

.filtering-options-close-left {
    width: 2px;
    height: 18px;
    transform: rotate(45deg);
    background: #000;
}

.filtering-options-close-right {
    width: 2px;
    height: 18px;
    transform: rotate(90deg);
    background: #000;
}

.filtering-options-title {
    font-size: 21px;
    font-weight: bold;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.filtering-orderMethodFilter {
    margin: 10px auto 15px;
}

.filter-selection-container {
    margin: 0 12px;
}

.filter-selection-header {
    font-size: 17px;
    font-weight: bold;
    margin-bottom: 5px;
}

.filter-selection-container select {
    cursor: pointer;
}

.delivery-location-container {
    display: none;
}

.filtering-options-button-container {
    padding: 10px;
}

.filtering-options-button {
    font-size: 21px;
    font-weight: bold;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    padding: 12px;
    border-radius: 9px;
}

/** SMARTBANNER STYLE OVERRIDES **/

html.banner {
    padding-top: 84px;
}

.banner #product-detail-view, .banner #filteringoptionsview {
    margin-top: 84px;
    padding-bottom: 84px;
}

.banner .jconfirm {
    margin-top: 84px;
}

.banner .jconfirm-bg {
    position: absolute;
}

.banner .jconfirm-scrollpane {
    position: absolute;
    margin-top: -42px;
}
/*add funds modal/view css*/
.addFunds-page {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    background: rgba(0,0,0,0.1);
    overflow-y: scroll;
}

/** SHAKE ANIMATION **/

/* Separate animation is required for cart icons without the control bg enabled, in order to not affect their current transform property */
@keyframes cart-tilt-shaking {
    0% { transform: rotate(0deg) scale(1.3); }
    25% { transform: rotate(10deg) scale(1.3); }
    50% { transform: rotate(0deg) scale(1.3); }
    75% { transform: rotate(-10deg) scale(1.3); }
    100% { transform: rotate(0deg) scale(1.3); }
}
.shake-animation {
    animation-name: cart-tilt-shaking;
    animation-iteration-count: 3;
    animation-duration: .25s;
}

@keyframes cart-tilt-shaking-control-bg-on {
    0% { transform: rotate(0deg); }
    25% { transform: rotate(10deg); }
    50% { transform: rotate(0deg); }
    75% { transform: rotate(-10deg); }
    100% { transform: rotate(0deg); }
}

[data-control-bg-home] .control-bg-home-icon.shake-animation,
[data-control-bg-stores] .control-bg-stores-icon.shake-animation {
    animation-name: cart-tilt-shaking-control-bg-on !important;
}

/** Enable Transparent Control Background **/

[data-control-bg-home] .control-bg-home-icon, [data-control-bg-stores] .control-bg-stores-icon,
[data-control-bg-home] .control-bg-home-text, [data-control-bg-stores] .control-bg-stores-text {
    background-color: #0000005e !important;
    color: #FFF !important;
    padding: 8px;
    border-radius: 5px;
}

[data-control-bg-home] .control-bg-home-icon:not(.calendar-icon),
[data-control-bg-stores] .control-bg-stores-icon:not(.calendar-icon) {
    transform: none;
}

[data-control-bg-home] .control-bg-home-icon i, [data-control-bg-home] .control-bg-home-icon .calendar-num,
[data-control-bg-stores] .control-bg-stores-icon i, [data-control-bg-stores] .control-bg-stores-icon .calendar-num {
    color: #FFF !important;
}

[data-control-bg-home] .control-bg-home-icon.calendar-icon,
[data-control-bg-stores] .control-bg-stores-icon.calendar-icon {
    padding: 0 8px;
    border-radius: 5px;
    top: 4px;
    transform: scale(.9);
}

[data-control-bg-home] .control-bg-home-icon.order-back-icon,
[data-control-bg-stores] .control-bg-stores-icon.order-back-icon {
    left: 8px;
}

[data-control-bg-home] .control-bg-home-icon.order-cart-icon,
[data-control-bg-stores] .control-bg-stores-icon.order-cart-icon {
    right: 8px;
}

[data-control-bg-home] .control-bg-home-icon .cart-product-num,
[data-control-bg-stores] .control-bg-stores-icon .cart-product-num {
    left: 2.5px;
    color: #000000c7 !important;
}

[data-control-bg-home] .control-bg-home-icon path, [data-control-bg-home] .control-bg-home-icon g, [data-control-bg-home] .control-bg-home-icon circle,
[data-control-bg-stores] .control-bg-stores-icon path, [data-control-bg-stores] .control-bg-stores-icon g, [data-control-bg-stores] .control-bg-stores-icon circle {
    fill: #FFF !important;
}

.control-bg-home-icon:not(.calendar-icon), .control-bg-stores-icon:not(.calendar-icon) {
    transform: scale(1.3);
}

.order-back-icon {
    height: 44px;
    width: 44px;
    position: absolute;
    left: 2px;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 32px;
    margin-top: 8px;
    transform: initial;
    cursor: pointer;
}

.order-cart-icon {
    height: 44px;
    width: 44px;
    position: absolute;
    right: 4px;
    top: -1px;
    margin-top: 8px;
    display: flex;
    align-items: center;
    font-weight: bold;
    cursor: pointer;
}

.order-cart-icon .order-cart-svg {
    width: 32px;
    height: 32px;
}

.store-cart-header .cart-product-num {
    color: var(--cartBackgroundColor) !important;
}

.store-cart-header i, .store-cart-header .help-icon path, .store-cart-header .order-cart-icon path,
.store-cart-header .order-cart-icon circle, .suggestive-line-button-image path, .suggestive-line-button-image circle {
    fill: var(--cartFontColor);
    color: var(--cartFontColor);
}

.order-cart-icon .cart-product-num {
    position: absolute;
    top: 15px;
    left: -2.5px;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    font-size: 10px;
    line-height: normal ;
    color: var(--primaryBackgroundColor);
    text-align: center;
}

.product-detail_header .order-cart-icon {
    right: 8px;
}

/* :not selector needed to override a style defined in branding.css */
.help-icon.control-bg-home-icon:not(.calendar-icon), .help-icon.control-bg-stores-icon:not(.calendar-icon) {
    height: 44px !important;
    width: 44px !important;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 8px;
    right: 8px !important;
    transform: none !important;
}

.help-icon.control-bg-home-icon .help-image, .help-icon.control-bg-stores-icon .help-image {
    width: 32px !important;
    height: 32px !important;
}