
/* Fonts */
@font-face {
    font-family: 'FAB';
    src: url('../fonts/fa/fa-brands-400.svg');
    src: url('../fonts/fa/fa-brands-400.eot');
    src: url('../fonts/fa/fa-brands-400.eot?#iefix') format('embedded-opentype'), url('../fonts/fa/fa-brands-400.ttf') format('truetype');
}

@font-face {
    font-family: 'FAS';
    src: url('../fonts/fa/fa-solid-900.svg');
    src: url('../fonts/fa/fa-solid-900.eot');
    src: url('../fonts/fa/fa-solid-900.woff') format('embedded-opentype'), url('../fonts/fa/fa-solid-900.ttf') format('truetype');
}

@font-face {
    font-family: 'FAL';
    src: url('../fonts/fa/fa-light-300.svg');
    src: url('../fonts/fa/fa-light-300.eot');
    src: url('../fonts/fa/fa-light-300.eot?#iefix') format('embedded-opentype'), url('../fonts/fa/fa-light-300.ttf') format('truetype');
}

@font-face {
    font-family: 'FAR';
    src: url('../fonts/fa/fa-regular-400.svg');
    src: url('../fonts/fa/fa-regular-400.eot');
    src: url('../fonts/fa/fa-regular-400.eot?#iefix') format('embedded-opentype'), url('../fonts/fa/fa-regular-400.ttf') format('truetype');
}

@font-face {
    font-family: 'FAD';
    src: url('../fonts/fa/fa-duotone-900.svg');
    src: url('../fonts/fa/fa-duotone-900.eot');
    src: url('../fonts/fa/fa-duotone-900.eot?#iefix') format('embedded-opentype'), url('../fonts/fa/fa-duotone-900.ttf') format('truetype');
}

@font-face {
    font-family: 'DontRemoveThis';
    src: url('../fonts/Oswald-Regular.eot');
    src: url('../fonts/Oswald-Regular.eot?#iefix') format('embedded-opentype'), url('../fonts/Oswald-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'unum';
    src: url('../fonts/unum.ttf') format('truetype');
}

@font-face {
    font-family: 'unum2';
    src: url('../fonts/unum_2.ttf') format('truetype');
}

/* Built-In Options */
:root {
    /* Logo Options */
    /* Header Options */
    /* Top Toolbar Options */
    /* Bottom Toolbar Options */
    /* Control Button Options */
    /* --Control_Button_Left_Clip_Path: polygon(
    22.5px 0,
    100% 1%,
    100% 100%,
    22.5px 100%,
    0% 50%
  );
  --Control_Button_Right_Clip_Path: polygon(
    0% 0%,
    calc(100% - 22.5px) 0%,
    100% 50%,
    calc(100% - 22.5px) 100%,
    0% 100%
  ); */
    /* Item Options */
    /* DYNAMIC SPLASH SCREEN */
    /* FEATURE TOGGLES (Use 'block' or 'none') */
}

/* OVERRIDES FOR X22 & DT5*/
@media only screen and (width: 1080px) and (height: 1920px) {

    #template .image-button {
        width: 50%;
    }

    [data-button-count='1'] .image-button,
    [data-button-count='2'] .image-button,
    [data-button-count='3'] .image-button,
    [data-button-count='4'] .image-button,
    [data-button-count='5'] .image-button {
        margin: 0 1px;
    }

    #template .text-button, #template .desc-button {
        width: 50%;
        margin: 0px;
    }
}

/* OVERRIDES FOR MOBILE DEVICES*/

body {
    background: #222 url('../images/drive_thru_background.png');
    background-position: center center;
}

#wrap {
    background: url('../images/fork-bg.jpg') no-repeat center center/cover;
    width: 100% !important;
    position: fixed !important;
    left: 0 !important;
}

@media (orientation: landscape) {
    #wrap {
        min-height: 100%;
        top: 0 !important;
    }
}

body[data-language='kvi'] #BGV {
    display: none;
}

.box {
    display: block;
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #2e2e2e;
    border-radius: 20px;
    font-family: 'unum';
    font-size: 20px;
    text-transform: none;
    color: #5a7184;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .box {
        font-size: 24px;
    }
}

.box:hover {
    display: block;
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #2e2e2e;
    border-radius: 20px;
    font-family: 'unum';
    font-size: 20px;
    text-transform: none;
    color: #5a7184;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .box:hover {
        font-size: 24px;
    }
}

.box:focus {
    display: block;
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #2e2e2e;
    border-radius: 20px;
    font-family: 'unum';
    font-size: 20px;
    text-transform: none;
    color: #5a7184;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .box:focus {
        font-size: 24px;
    }
}

*,
*:focus,
*:active,
*:hover,
*:before,
*:after {
    outline: none !important;
    text-decoration: none !important;
}

@font-face {
    font-family: 'FA';
    src: url('../fonts/fa-solid-900.eot');
    src: url('../fonts/fa-solid-900.eot?#iefix') format('embedded-opentype'), url('../fonts/fa-solid-900.ttf') format('truetype');
}

@font-face {
    font-family: 'FAB';
    src: url('../fonts/fa-brands-400.eot');
    src: url('../fonts/fa-brands-400.eot?#iefix') format('embedded-opentype'), url('../fonts/fa-brands-400.ttf') format('truetype');
}

.nex-button {
    height: 40px;
    line-height: 40px;
    text-align: center;
    font-size: 20px;
    background: #003366;
    color: white;
    border: 0;
    text-decoration: none;
}

    .nex-button:focus {
        height: 40px;
        line-height: 40px;
        text-align: center;
        font-size: 20px;
        background: #003366;
        color: white;
        border: 0;
        text-decoration: none;
    }

    .nex-button:hover {
        height: 40px;
        line-height: 40px;
        text-align: center;
        font-size: 20px;
        background: #003366;
        color: white;
        border: 0;
        text-decoration: none;
    }

    .nex-button:active {
        height: 40px;
        line-height: 40px;
        text-align: center;
        font-size: 20px;
        background: #003366;
        color: white;
        border: 0;
        text-decoration: none;
    }

#languageSwitcher {
    height: 40px;
    line-height: 40px;
    text-align: center;
    font-size: 20px;
    background: #003366;
    color: white;
    border: 0;
    text-decoration: none;
}

form .btn {
    height: 40px;
    line-height: 40px;
    text-align: center;
    font-size: 20px;
    color: white;
    border: 0;
    text-decoration: none;
}

    form .btn:hover {
        text-decoration: none;
    }

.nex-button:before,
#languageSwitcher:before,
.fa:before,
#bicon:before {
    font-family: 'FA';
    display: block;
}

.previewer-only {
    display: none;
}

#previewer .previewer-only {
    display: block;
}

/* KIOSK */

body,
#wrap,
.kiosk-content,
.kiosk-content #content,
.kiosk-content #targets,
.kiosk-content #targets > div:not(#popups) {
    position: absolute;
    top: 0;
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
}

    .kiosk-content #clip-template {
        position: relative;
        height: calc(100% - 65px - 65px);
    }

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-template {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (max-width: 767px) {

    .kiosk-content #clip-template {
        height: calc(100% - 45px - 65px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-template {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-template {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (max-width: 767px) {

    .kiosk-content #clip-template {
        height: calc(100% - 45px - 65px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-template {
        height: calc(100% - 150px - 150px);
    }
}

.paymentclip {
    position: relative;
    height: calc(100% - 65px - 65px);
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .paymentclip {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (max-width: 767px) {

    .paymentclip {
        height: calc(100% - 45px - 65px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .paymentclip {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .paymentclip {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (max-width: 767px) {

    .paymentclip {
        height: calc(100% - 45px - 65px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .paymentclip {
        height: calc(100% - 150px - 150px);
    }
}

.kiosk-content #clip-repeatorders {
    position: relative;
    height: calc(100% - 65px - 65px);
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-repeatorders {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (max-width: 767px) {

    .kiosk-content #clip-repeatorders {
        height: calc(100% - 45px - 65px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-repeatorders {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-repeatorders {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (max-width: 767px) {

    .kiosk-content #clip-repeatorders {
        height: calc(100% - 45px - 65px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-repeatorders {
        height: calc(100% - 150px - 150px);
    }
}

.kiosk-content #clip-orders {
    position: relative;
    height: calc(100% - 65px - 65px);
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-orders {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (max-width: 767px) {

    .kiosk-content #clip-orders {
        height: calc(100% - 45px - 65px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-orders {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-orders {
        height: calc(100% - 150px - 150px);
    }
}

@media only screen and (max-width: 767px) {

    .kiosk-content #clip-orders {
        height: calc(100% - 45px - 65px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .kiosk-content #clip-orders {
        height: calc(100% - 150px - 150px);
    }
}

.kiosk-content #template,
.carousel,
.carousel-inner,
.slide,
.item {
    width: 100%;
    height: 100%;
}

#ordering {
    background-size: cover;
    background-position: center center;
}

.kiosk-content .slide {
    animation: fadeInRight 0.25s;
}

.item.active,
.item.next,
.item.prev {
    height: 100%;
    display: flex;
    align-items: center;
    transition: 0.25s;
}

.kiosk-content .row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: row wrap;
    width: 100%;
    margin: 0;
}

/* HEADER */

#clip-header {
    display: flex;
    height: 65px;
    width: 100%;
    padding: 0 20px;
    background: #003366;
    border-bottom: 1px solid #2e2e2e;
    text-transform: uppercase;
    z-index: 5;
    font-family: 'unum';
}

@media only screen and (width: 1080px) and (height: 1920px) {

    #clip-header {
        height: 150px;
    }
}

#clip-footer {
    display: flex;
    height: 65px;
    width: 100%;
    padding: 0 20px;
    background: #003366;
    border-bottom: 1px solid #2e2e2e;
    text-transform: uppercase;
    z-index: 5;
    font-family: 'unum';
}

@media only screen and (width: 1080px) and (height: 1920px) {

    #clip-footer {
        height: 150px;
    }
}

#clip-header {
    height: 65px;
    font-family: 'unum';
    color: white;
}

@media only screen and (max-width: 767px) {

    #clip-header {
        height: 45px;
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    #clip-header {
        height: 150px;
    }
}

.logo {
    background-image: url('../images/');
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

#logoOff {
    background-image: url('../images/');
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.logo {
    height: 100%;
    width: 0;
    margin-right: 0px;
    background-size: cover;
}

@media only screen and (max-width: 767px) {

    .logo {
        margin-right: 10px;
    }
}

@media only screen and (max-width: 767px) {

    .logo {
        width: 30px;
    }
}

#logoOff {
    height: 200px;
    width: 200px;
    background-color: #003366;
    background-size: 50%;
    border-radius: 50%;
    margin: 20px auto;
    display: block;
}

.header-wrapper {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    height: 100%;
    justify-content: center;
}

.iorderfast-content .header-wrapper {
    max-width: calc(100vw - 0 - 0px - 425px);
}

@media only screen and (max-width: 767px) {

    .iorderfast-content .header-wrapper {
        max-width: calc(100vw - 30px - 10px - 425px);
    }
}

@media only screen and (max-width: 767px) {

    .iorderfast-content .header-wrapper {
        max-width: calc(100vw - 30px - 10px - 425px);
    }
}

@media only screen and (max-width: 767px) {

    .iorderfast-content .header-wrapper {
        max-width: calc(100vw - 30px - 10px - 425px);
    }
}

@media only screen and (max-width: 767px) {

    .iorderfast-content .header-wrapper {
        max-width: calc(100vw - 30px - 10px - 425px);
    }
}

#header-text {
    font-size: 30px;
    line-height: 30px;
    text-transform: uppercase;
    font-weight: normal;
    color: white;
}

@media only screen and (max-width: 767px) {

    #header-text {
        line-height: 18px;
    }
}

@media only screen and (max-width: 767px) {

    #header-text {
        font-size: 18px;
    }
}

#menuDescription {
    font-size: 18px;
}

@media only screen and (max-width: 767px) {

    #menuDescription {
        font-size: 12px;
    }
}

/* FOOTER */

#clip-footer {
    background: #003366;
    border-bottom: 0;
    border-top: 1px solid #2e2e2e;
    position: fixed;
    bottom: 0;
}

.footer-left {
    line-height: 65px;
    width: 25%;
    color: white;
    font-size: 24px;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .footer-left {
        font-size: 20px;
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .footer-left {
        line-height: 150px;
    }
}

.footer-right {
    line-height: 65px;
    width: 25%;
    color: white;
    font-size: 24px;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .footer-right {
        font-size: 20px;
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .footer-right {
        line-height: 150px;
    }
}

#controlbuttons {
    display: flex;
    align-items: center;
    width: 50%;
    border-left: 1px solid #2e2e2e;
    border-right: 1px solid #2e2e2e;
    padding: 0 10px;
    box-shadow: inset 10px 0 10px -5px rgba(0, 0, 0, 0.25), inset -10px 0 10px -5px rgba(0, 0, 0, 0.25);
    overflow: hidden;
    font-family: 'unum';
    font-size: 25px;
}

#ctrl-complete {
    font-size: 25px;
}

#controlbuttons > div {
    width: 33.33%;
    text-align: center;
    padding: 0 5px;
}

.control-button {
    width: 100%;
    height: 45px;
    padding: 0;
    line-height: 1;
    border: 0;
    color: #5a7184;
    background: white;
    border-radius: 5px;
    font-family: 'unum';
    font-size: 20px;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .control-button {
        height: 75px;
    }
}

.control-button-left .control-button {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    -webkit-clip-path: undefined;
    clip-path: undefined;
    animation: fadeInLeft 0.25s;
}

.control-button-right .control-button {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    -webkit-clip-path: undefined;
    clip-path: undefined;
    animation: fadeInRight 0.25s;
}

#receipt {
    height: 60px;
    float: right;
    width: 100%;
    text-align: right;
}

/* IMAGE BUTTONS */

.image-button {
    position: relative;
    width: 25%;
    padding: 10px;
}

[data-button-count='1'] .image-button,
[data-button-count='2'] .image-button,
[data-button-count='3'] .image-button,
[data-button-count='4'] .image-button,
[data-button-count='5'] .image-button,
[data-button-count='6'] .image-button {
    width: 33.33%;
}

[data-button-count='4'] .image-button,
[data-button-count='9'] .image-button {
    margin: 0 1px;
}

.image-button #bimage {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    margin: 24px 2.5% 0 2.5%;
}

[data-button-count='1'] #bimage,
[data-button-count='2'] #bimage,
[data-button-count='3'] #bimage,
[data-button-count='4'] #bimage,
[data-button-count='5'] #bimage,
[data-button-count='6'] #bimage,
[data-button-count='7'] #bimage,
[data-button-count='8'] #bimage {
    height: 150px;
}

.image-button .caption {
    text-align: center;
}

.image-button #btext {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 2.5em;
    line-height: 1em;
    padding: 0 10px;
    font-size: 20px;
    font-weight: normal;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .image-button #btext {
        font-size: 24px;
    }
}

.details {
    display: flex;
    text-align: center;
    align-items: center;
    justify-content: center;
    height: 25px;
    width: 100%;
    font-size: 16px;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .details {
        font-size: 20px;
    }
}

.image-button .overlaycontainer {
    height: 100%;
    line-height: 24px;
    padding: 0 4px;
    flex-grow: 1;
    border-top: 1px solid #2e2e2e;
}

.image-button #price {
    height: 100%;
    line-height: 24px;
    padding: 0 4px;
    flex-grow: 1;
    border-top: 1px solid #2e2e2e;
    margin-right: 12px;
}

.image-button #nutritionInfo {
    height: 100%;
    line-height: 24px;
    padding: 0 4px;
    flex-grow: 1;
    border-top: 1px solid #2e2e2e;
}

.overlaycontainer .overlay {
    display: inline-block;
    position: relative;
    height: 100%;
    width: 20px;
    margin-right: 4px;
}

.overlaycontainer:empty,
#price:empty,
.details:empty,
#calories:empty,
.text-button #textDesc:empty,
.modal-content #descriptionText:empty,
:empty + .dot-leader,
#menuDescription:empty {
    display: none;
}

#price:before {
    content: '$';
}

#calories:after {
    content: ' Cal';
}

#check {
    width: 40px;
    border-radius: 20px;
    visibility: hidden;
}

    #check:before {
        content: '\f00c';
    }

[class*='Quantity'] .lnm,
[class*='Qty'] .lnm,
[class*='LNM'] .qty {
    display: none;
}

#subButtons {
    visibility: hidden;
    background: #003366;
    color: #fff;
}

#subButtons,
.order-review-quantity {
    display: flex;
    overflow: hidden;
    width: 200px;
}

#subButtons {
    display: flex;
    border-radius: 10px;
    overflow: hidden;
    width: 200px;
    align-items: center;
    left: 0;
    right: 0;
    top: 12px;
    z-index: 1;
}

    .qty,
    .order-review-quantity > div {
        width: 33.33%;
    }

#minusButton:before,
#quantMinus:before {
    content: '\f068';
    font-family: 'FA';
}

#plusButton:before,
#quantPlus:before {
    content: '\f067';
    font-family: 'FA';
}

.button-down-state #plusButton,
#quantPlus {
    visibility: visible !important;
}

    #plusButton[style='visibility: hidden;']:before,
    #quantPlus[style='visibility: hidden;']:before {
        opacity: 0.5;
    }

#txtQuantity {
    border-left: 1px solid white;
    border-right: 1px solid white;
    box-sizing: content-box;
}

#quantity {
    border-left: 1px solid white;
    border-right: 1px solid white;
    box-sizing: content-box;
}

[class*='LNM'] .image-button #subButtons {
    width: 66.66%;
    flex-direction: column;
    border: 4px solid #003366;
    background: #003366;
}

.lnm.sub-button-down-state {
    border-radius: 18px;
}

.lnm {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    font-size: 20px;
    font-weight: normal;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .lnm {
        font-size: 24px;
    }
}

.lnm:hover {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    font-size: 20px;
    font-weight: normal;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .lnm:hover {
        font-size: 24px;
    }
}

.button-down-state #check,
.button-down-state #subButtons {
    visibility: visible;
    animation: zoomIn -0.25s 0.5s;
}

.gray-out {
    pointer-events: none;
    opacity: 0.5;
}

/* TEXT BUTTONS */

.text-button, .desc-button {
    position: relative;
    width: 33.33%;
    padding: 10px;
}

[data-button-count='1'] .text-button,
[data-button-count='2'] .text-button,
[data-button-count='3'] .text-button,
[data-button-count='4'] .text-button,
[data-button-count='5'] .text-button,
[data-button-count='6'] .text-button,
[data-button-count='7'] .text-button,
[data-button-count='8'] .text-button,
[data-button-count='9'] .text-button,
[data-button-count='10'] .text-button {
    width: 50%;
    max-width: 50%;
}

[data-button-count='1'] .desc-button,
[data-button-count='2'] .desc-button,
[data-button-count='3'] .desc-button,
[data-button-count='4'] .desc-button,
[data-button-count='5'] .desc-button,
[data-button-count='6'] .desc-button,
[data-button-count='7'] .desc-button,
[data-button-count='8'] .desc-button,
[data-button-count='9'] .desc-button,
[data-button-count='10'] .desc-button {
    width: 50%;
    max-width: 50%;
}

[data-button-count='1'] .text-button,
[data-button-count='2'] .text-button,
[data-button-count='3'] .text-button,
[data-button-count='4'] .text-button,
[data-button-count='5'] .text-button {
    margin: 0 1px;
}

[data-button-count='1'] .desc-button,
[data-button-count='2'] .desc-button,
[data-button-count='3'] .desc-button,
[data-button-count='4'] .desc-button,
[data-button-count='5'] .desc-button {
    margin: 0 1px;
}

.text-button .box, .desc-button .box {
    padding: 24px 15px 0 15px;
    font-size: 24px;
}

.text-button .caption {
    display: flex;
    align-items: center;
    justify-content: space-between !important;
    height: calc(2 * 40px);
}

.desc-button .caption {
    display: flex;
    align-items: flex-start;
    justify-content: space-between !important;
    height: calc(2 * 40px);
}

.text-button #btext, .desc-button #btext {
    flex-grow: 1;
    font-weight: normal;
    line-height: 24px;
    text-align: left;
}

.text-button, .desc-button {
    top: calc(50% - 20px);
    right: 10px;
}

    .text-button #check, .desc-button #check {
        position: absolute;
        right: 10px;
        top: calc(50% - 20px);
        background: transparent;
        color: #5a7184;
    }

.checkbutton-text.button-down-state .caption {
    margin-right: 40px;
    transition: 0.15s;
}

.text-button .details, .desc-button .details {
    align-items: flex-start;
    justify-content: space-between;
    height: 24px;
    font-size: 16px;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .text-button .details {
        font-size: 20px;
    }

    .desc-button .details {
        font-size: 20px;
        display: flex;
        align-items: flex-end;
    }

    .desc-button #textDesc {
        width: 400px;
        text-align: left;
    }
}

.text-button #nutritionInfo, .desc-button #nutritionInfo {
    display: none;
    flex-grow: 0;
    padding-right: 0px;
    border-top: 0;
    max-width: 100px;
}

.desc-button #nutritionButton,
.text-button #nutritionButton,
.text-button #addButton,
.desc-button #addButton {
    scale: 0.8;
    bottom: -20px;
}

.text-button #subButtons, .desc-button #subButtons {
    position: absolute;
    left: calc(50% - 100px);
    top: 5px;;
    font-family: 'FA';
}

.text-button #textDesc {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: calc(100% - 60px);
}

.text-button .overlaycontainer, .desc-button .overlaycontainer {
    flex-shrink: 0;
    margin-left: 10px;
    height: 1em;
}

    .text-button .overlaycontainer .overlay, .desc-button .overlaycontainer .overlay {
        height: 1em;
    }

/* POPOVERS */

.ibutton {
    position: absolute;
    right: 15px;
    top: 15px;
    border-radius: 20px;
    width: 40px;
    z-index: 2;
    animation: zoomIn 0.5s;
}

    .ibutton:before {
        content: '\f129';
        font-family: 'FA';
    }

.ibutton-showing {
    background: white !important;
    color: #003366 !important;
}

.sub-button-down-state {
    background: white !important;
    color: #003366 !important;
}

.ibutton-showing:before {
    content: '\f00d';
    font-family: 'FA';
    color: #003366;
}

.text-button .ibutton {
    height: 32px;
    line-height: 30px;
    width: 32px;
    font-size: 14px;
}

    .text-button .ibutton:after {
        /*content: '';*/
        display: block;
        position: absolute;
        top: -5px;
        right: -5px;
        width: 45px;
        height: 45px;
    }

.popover.top {
    position: absolute;
    top: 10px !important;
    left: initial !important;
    right: 10px;
    margin: 0;
    padding: 10px;
    min-width: calc(100% - 20px);
    max-width: calc(100% - 20px);
    height: calc(100% - 20px);
    background: #003366;
    color: white;
    font-size: 16px;
    line-height: calc(16px + 2px);
    font-family: 'unum';
    border-radius: 20px;
    transition: none;
    z-index: 1;
    animation: popover 0.25s ease;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .popover.top {
        line-height: calc(20px + 2px);
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .popover.top {
        font-size: 20px;
    }
}

.popover.top div {
    padding: 0;
    margin: 0;
}

.popover.top .popover-content {
    padding-right: 30px;
}

.popover .arrow {
    display: none;
}

.popover.top .nex-button {
    position: absolute;
    bottom: 15px;
    width: calc(100% - 20px);
    color: #003366;
    background: white;
    padding: 0 10px;
    border-radius: 20px;
}

/* SCAN */

#scanItems {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

#scan-current-item-prompt {
    display: none;
}

.scan-total {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 80px;
    border-top: 1px solid #2e2e2e;
}

.scan-items-wrapper {
    height: 350px;
    width: 45vw;
    padding: 20px;
    overflow-y: scroll;
}

#scan-items {
    min-height: 100%;
    height: auto;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
}

    #scan-items:empty {
        align-items: center;
        justify-content: center;
    }

        #scan-items:empty:before {
            content: '\f02a';
            font-family: FA;
            font-size: 150px;
        }

.scan-item-wrapper {
    display: flex;
    margin-bottom: 0.25em;
    font-size: 24px;
}

#scan-item-description {
    flex-grow: 1;
}

.running-total {
    border-radius: 20px;
    width: 50%;
    position: relative;
}

#fakeScan {
    position: relative;
    top: -100%;
    width: 20vw;
    opacity: 0;
}

/* WEIGH */

#weighItem {
    height: 100%;
    width: 100%;
    background: url('../images/scale.png') center center no-repeat;
    filter: drop-shadow(0 0 10px #2e2e2e);
}

.WeighItems #buttons {
    height: 100%;
}

/* ORDER REVIEW */

.kiosk-content #buttons.order-review-buttons {
    display: block;
    margin: 0 calc(15% - 80px) 0 15%;
    padding: 30px 0px;
    height: 100%;
    overflow-y: scroll !important;
    background: transparent;
}

    .kiosk-content #buttons.order-review-buttons::-webkit-scrollbar {
        width: 70px;
    }

    .kiosk-content #buttons.order-review-buttons::-webkit-scrollbar-track {
        box-shadow: inset 0 0 10px 10px rgba(0, 0, 0, 0.33);
        border: solid 30px transparent;
        border-radius: 5px;
        border-radius: 10px;
    }

    .kiosk-content #buttons.order-review-buttons::-webkit-scrollbar-thumb {
        box-shadow: inset 0 0 10px 10px rgba(0, 0, 0, 0.75);
        border: solid 30px transparent;
    }

    #orderreview {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 10px;
      }
      
      #orderreview:not(:last-of-type) {
        margin-bottom: 20px;
      }
      
      .order-review-buttons:last-child {
        margin-bottom: 50px !important;
      }
      
      #orderreview:last-of-type {

      }
      
      .order-review-row {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        margin: 5px 0;
      }
      
      .order-review-amount-text {
        font-weight: normal;
      }
      
      #modtext {
        font-weight: normal;
        padding-top: 5px;
      }
      
      .order-review-modtext:empty {
        display: none;
      }
      
      .order-review-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
      }
      
      .order-review-special-instructions #comment {
        width: 100%;
        margin-top: 10px;
        margin-bottom: 0px;
        padding: 5px;
        border-radius: 0;
        border-bottom: 0;
        border-top: var(--Border);
        border-left: 0;
        border-right: 0;
        font-size: 14px;
      }
      
      .order-review #template {
        overflow-y: scroll;
      }
      #receipttext {
        flex-grow: 1;
        font-weight: normal;
      }

#receipt:after {
    font-family: FA;
    content: '\f543';
    margin-left: 5px;
}

#modtext {
    font-size: 16px;
    padding-top: 5px;
}

#plusButton,
.order-review-quantity-plus {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

#minusButton,
.order-review-quantity-minus {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    #modtext {
        font-size: 20px;
    }
}

.order-review-modtext:empty {
    display: none;
}

.order-review-special-instructions #comment {
    width: 100%;
    padding: 5px 10px;
    border-radius: 20px;
    border: 1px solid #2e2e2e;
    font-size: 16px;
    display: block;
    margin-top: 10px;
    display: none;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .order-review-special-instructions #comment {
        font-size: 20px;
    }
}

/* PAGINATION */

.kiosk-content .row {
    padding: 0 60px;
}

.carousel-control-prev,
.carousel-control-next {
    position: fixed;
    top: calc(50% - 20px);
    right: 15px;
    width: 40px;
    border-radius: 20px;
}

.carousel-control-prev {
    left: 15px;
}

    .carousel-control-prev:before {
        content: '\f060';
    }

.carousel-control-next:before {
    content: '\f061';
}

#template[data-button-count='1'] .row,
#template[data-button-count='2'] .row,
#template[data-button-count='3'] .row,
#template[data-button-count='4'] .row,
#template[data-button-count='5'] .row,
#template[data-button-count='6'] .row,
#template[data-button-count='7'] .row,
#template[data-button-count='8'] .row,
#template[data-button-count='9'] .row,
#template[data-button-count='10'] .row,
#template[data-button-count='11'] .row,
#template[data-button-count='12'] .row {
    padding: 0 20px;
}

#template[data-button-count='1'] + .carousel-buttons > a,
#template[data-button-count='2'] + .carousel-buttons > a,
#template[data-button-count='3'] + .carousel-buttons > a,
#template[data-button-count='4'] + .carousel-buttons > a,
#template[data-button-count='5'] + .carousel-buttons > a,
#template[data-button-count='6'] + .carousel-buttons > a,
#template[data-button-count='7'] + .carousel-buttons > a,
#template[data-button-count='8'] + .carousel-buttons > a,
#template[data-button-count='9'] + .carousel-buttons > a,
#template[data-button-count='10'] + .carousel-buttons > a,
#template[data-button-count='11'] + .carousel-buttons > a,
#template[data-button-count='12'] + .carousel-buttons > a,
.order-review .carousel-buttons,
.scanitems + .carousel-buttons,
[class*='weigh'] + .carousel-buttons {
    display: none;
}

/* UTILITY SCREENS */

.paymentclip,
#repeatOrderPhase,
#previousorders-form,
#orders,
#greenreceipt,
#complete-hitarea,
#clip-offline-kiosk {
    display: flex;
    justify-content: center;
    align-items: center;
}

#clip-choices,
#previousorders-form,
#clip-offline-kiosk {
    width: 100%;
    height: 100%;
}

#paymentclip-select .row {
    height: auto;
    display: flex !important;
    animation: fadeInRight 0.25s;
}

#repeatOrderPrompt,
#repeatOrderOptions {
    display: flex;
    animation: fadeInRight 0.25s;
}

#repeatOrderPhase {
    height: 100%;
}

.payment-button {
    display: inline-block;
    border: 1px solid #2e2e2e;
    margin: 10px;
    overflow: hidden;
    width: 200px;
}

    .payment-button:hover {
        display: inline-block;
        border: 1px solid #2e2e2e;
        margin: 10px;
        overflow: hidden;
        width: 200px;
    }

.repeatOrderPromptButton {
    display: inline-block;
    border: 1px solid #2e2e2e;
    margin: 10px;
    overflow: hidden;
    width: 200px;
}

    .repeatOrderPromptButton:hover {
        display: inline-block;
        border: 1px solid #2e2e2e;
        margin: 10px;
        overflow: hidden;
        width: 200px;
    }

.repeatOrderButton {
    display: inline-block;
    border: 1px solid #2e2e2e;
    margin: 10px;
    overflow: hidden;
    width: 200px;
}

    .repeatOrderButton:hover {
        display: inline-block;
        border: 1px solid #2e2e2e;
        margin: 10px;
        overflow: hidden;
        width: 200px;
    }

.payment-button #btext {
    border-top: 1px solid #2e2e2e;
    height: 2em;
    line-height: 2em;
    font-size: 20px;
    text-align: center;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .payment-button #btext {
        font-size: 24px;
    }
}

.repeatOrderPromptButton #btext {
    border-top: 1px solid #2e2e2e;
    height: 2em;
    line-height: 2em;
    font-size: 20px;
    text-align: center;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .repeatOrderPromptButton #btext {
        font-size: 24px;
    }
}

.repeatOrderButton #btext {
    border-top: 1px solid #2e2e2e;
    height: 2em;
    line-height: 2em;
    font-size: 20px;
    text-align: center;
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .repeatOrderButton #btext {
        font-size: 24px;
    }
}

.payment-media-wrapper {
    position: relative;
    z-index: 1;
}

    .payment-media-wrapper #bicon {
        z-index: -1;
        font-family: 'fa';
    }

.payment-button #bimage,
#bicon {
    display: flex;
    height: 126px;
    width: 100%;
    align-items: center;
    justify-content: center;
    font-size: 75px;
}

.payment-button #bimage {
    position: absolute;
    top: 0;
}

#btnTenderGeneric #bicon:before,
#btnTenderCredit #bicon:before,
#btnTenderLoyalty #bicon:before {
    content: '\f09d';
}

#btnTenderCounter #bicon:before {
    content: '\f3d1';
}

#btnTenderEmployee #bicon:before {
    content: '\f2bb';
}

#btnTenderCoupon #bicon:before {
    content: '\f3ff';
}

[id*='newOrder'] #bicon:before {
    content: '\f067';
}

[id*='repeatButton'] #bicon:before {
    content: '\f2f9';
}

[id*='pin'] #bicon:before {
    content: '\f00a';
}

[id*='cancel'] #bicon:before,
.cancel #bicon:before {
    content: '\f00d';
}

.phone #bicon:before {
    content: '\f10b';
}

.payment-container,
.payment-container:hover,
#ordercomplete,
#ordercomplete:hover {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 450px;
    width: 600px;
    animation: fadeInRight 0.25s;
}

.payment-message {
    font-size: 24px;
}

.payment-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    width: 200px;
    border: 4px solid #5a7184;
    border-radius: 50%;
    margin-bottom: 30px;
}

#swipeImage {
    background: url('../images/tenders/-IG_Chip.gif');
    background-position: center center;
    background-size: cover;
}

#credit-form .payment-message {
    margin-bottom: 30px;
}

.card-image {
    display: inline;
    font-family: FAB;
    font-size: 40px;
    margin: 0 5px;
}

.visa:before {
    content: '\f1f0';
}

.mastercard:before {
    content: '\f1f1';
}

.amex:before {
    content: '\f1f3';
}

.discover:before {
    content: '\f1f2';
}

.diners:before {
    content: '\f24c';
}

.jcb:before {
    content: '\f24b';
}

#testpayment {
    display: none;
}

.previous-order {
    margin: 10px;
    width: 225px;
    height: 450px;
    overflow: hidden;
    border: 1px solid #2e2e2e;
    padding: 0 5px;
}

    .previous-order:hover {
        margin: 10px;
        width: 225px;
        height: 450px;
        overflow: hidden;
        border: 1px solid #2e2e2e;
        padding: 0 5px;
    }

.thumbnail {
    background: transparent;
    border: 0;
    height: 100%;
}

#loadOrder > div {
    color: #5a7184;
    width: 100%;
    text-align: center;
}

.previous-order #modtext {
    padding-top: 0;
}

#orderdate {
    margin: 20px;
}

.previous-order {
}

    .previous-order:nth-child(n + 6) {
        display: none;
    }

.previous-orders {
}

#clip-complete,
#complete-hitarea {
    height: 100%;
}

#ordercomplete > div:not(:empty) {
    font-size: 30px;
    text-align: center;
    margin: 10px 0;
}

@media only screen and (max-width: 767px) {

    #ordercomplete > div:not(:empty) {
        font-size: 18px;
    }
}

#ordercomplete > #ordernumber:not(:empty) {
    font-size: 5em;
    line-height: 1em;
    color: #003366;
    text-shadow: 2px 2px 3px #2e2e2e;
    display: none;
}

#greenreceipt #clip-header {
    position: absolute;
    top: 0;
}

#splash {
    background: none;
}

#dynamicsplashvideo {
    display: block;
    position: absolute;
    top: 0;
    height: 100vh;
    width: 100vw;
    pointer-events: none;
}

#splashGuestVideoTarget {
    position: fixed;
    top: calc(100% - 30px - 240px);
    left: calc(100% - 15px - 340px);
    border-radius: 30px;
    overflow: hidden;
    border: 3px solid #003366;
    background: dimgray;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.66);
}

    #splashGuestVideoTarget > img {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        border: none;
        background-color: transparent;
    }

#splashInstructionsContainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    pointer-events: none;
    z-index: 1;
}

#splashLogo {
    display: none;
    height: 200px;
    width: 200px;
    background: url('../images/') no-repeat center center;
    background-size: contain;
    margin-bottom: 20px;
}

#splashInstructionHeader {
    display: none;
}

#splashInstructions {
    width: 100%;
    height: calc(2 * 80px);
}

.splashInstruction {
    width: 100%;
    opacity: 0;
    position: absolute;
    line-height: 1em;
    padding: 0 15%;
    text-align: center;
    color: white;
    font-size: 80px;
    font-weight: normal;
}

.splashMessage {
    display: inline-block;
}

.splashSequence {
    display: none;
}

    .splashSequence:after {
        content: '.';
    }

.splash-in {
    animation: bounceInRight 1s;
    opacity: 1;
}

.splash-out {
    animation: bounceOutLeft 1s;
    opacity: 0;
}

#languageSwitcher {
    position: absolute;
    width: 60px;
    height: 60px;
    bottom: 20px;
    right: 20px;
    border-radius: 50%;
    font-size: 30px;
}

.splash-language-wrapper {
    display: flex;
    justify-content: center;
    position: absolute;
    width: 100%;
    bottom: 0;
}

.alternateLanguageToStart {
    position: initial;
    bottom: initial;
    left: initial;
    width: initial;
    padding: 0 20px;
    margin-left: initial;
    height: 60px;
    line-height: 60px;
    background: #2e2e2e;
    font-size: 24px;
    font-weight: normal;
    border: initial;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}

    .alternateLanguageToStart:before {
        content: none;
    }

.lang-icon:before {
    font-family: 'FA';
    content: '\f06e';
    font-weight: 400;
    margin-right: 15px;
}

#splashvideo {
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
}

#languageSwitcher:before {
    content: '\f0ac';
}

#statusMessageContainer {
    position: relative;
    color: #5a7184;
}

    #statusMessageContainer > div {
        line-height: 2em;
        padding: 0 1em;
        text-align: center;
    }

#splashGuestVideoTarget {
    position: fixed;
    top: 30px;
    left: 30px;
}

    #splashGuestVideoTarget > img {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        border: none;
        background-color: transparent;
    }

/* MODALS */

.modal-backdrop {
    display: none;
}

.modal-dialog {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100% !important;
    width: 100% !important;
    zoom: initial !important;
    margin: 0;
    background: rgba(0, 0, 0, 0.75);
}

.modal-content {
    background: #003366;
    border: 1px solid #2e2e2e;
    border-radius: 10px;
    font-family: 'unum';
    color: white;
    min-width: 33%;
    animation: zoomIn -0.25s 0.5s;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
    .modal-content {
        animation: none;
    }
}

.modal-content > *:nth-child(1) {
    border-top: 0;
}

#messageText {
    margin: 0;
    text-align: center;
    font-size: 20px;
}

#btnNavToManageAccounts {
    margin-top: 20px;
}

#receiptText {
    margin: 0;
    text-align: center;
    font-size: 24px;
}

.modal-content #descriptionText {
    max-width: 350px;
    margin: 0 auto 30px auto;
    padding: 0;
    text-align: center;
}

.popup-button {
    background: white !important;
    color: #2e2e2e !important;
    margin: 0 0;
    font-size: 24px;
}

    .popup-button:hover,
    .popup-button:active,
    .popup-button:focus {
        text-decoration: none !important;
        background-color: white !important;
    }

/*---------------------------------

.popup-button:hover {
  background: white;
  color: #2e2e2e;
  margin: 0 0;
  font-size: 24px;
}

.popup-button:active {
  background: white;
  color: #2e2e2e;
  margin: 0 0;
  font-size: 24px;
}

.popup-button:focus {
  background: white;
  color: #2e2e2e;
  margin: 0 0;
  font-size: 24px;
}

-----------------------------------*/

.btn-default[disabled] {
    background: white;
    color: #2e2e2e;
    margin: 0 0;
    font-size: 24px;
}

.popup-button[disabled] {
    background: white !important;
}

.modal-footer .btn + .btn {
    margin: 15px 0 0 0;
}

.modal-footer {
    display: flex;
    flex-direction: column;
    margin: 0;
    border-top: 1px solid dimgrey;
}

div.numpadOutput,
div.phonepadOutput {
    overflow: hidden;
    width: 60%;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

    div.phonepadOutput > * {
        text-align: center;
    }

    div.phonepadOutput > span {
        font-family: arial;
        position: relative;
        top: -1px;
        margin: 0 -4px;
    }

.numpadTextOut {
    width: 100%;
    text-align: center;
    height: calc(2 * 24px);
    border: 0;
    margin: 0;
}

.phonepadTextOut {
    width: 100%;
    text-align: center;
    height: calc(2 * 24px);
    border: 0;
    margin: 0;
}

.pagerpadTextOut {
    width: 100%;
    text-align: center;
    height: calc(2 * 24px);
    border: 0;
    margin: 0;
}

ul.numpadInput,
ul.phonepadInput {
    width: 216px !important;
    padding: 0;
    margin-bottom: 20px;
}

    ul.numpadInput li,
    ul.phonepadInput li {
        margin: 6px !important;
        height: 60px !important;
        width: 60px !important;
        line-height: 60px !important;
        text-align: center;
        border-radius: 30px !important;
        border: 0 !important;
        font-size: 30px;
    }

.delete:before {
    content: '\f060';
    font-family: FA;
    font-size: 30px;
}

.tip-wrapper {
    display: flex;
    padding: 10px;
}

    .tip-wrapper .btn {
        margin: 10px;
        width: 25%;
    }

#popup-tip-other .numpadOutput {
    position: relative;
}

    #popup-tip-other .numpadOutput:before {
        content: '$';
        position: absolute;
        left: 10px;
    }

.offer {
    width: calc(100% - 40px);
    margin: 0 20px 20px 20px;
    padding: 0px 10px 0px 45px;
    height: 50px;
    line-height: 50px;
    background: white;
    color: #2e2e2e;
    border-radius: 60px;
    overflow: hidden;
    position: relative;
}

    .offer .check {
        position: relative;
        left: -100px;
    }

    .offer label {
        margin: 0;
    }

    .offer .check:before {
        content: '\f00c';
        font-family: FA;
        display: block;
        position: absolute;
        overflow: hidden;
        padding-top: 40px;
        height: 40px;
        width: 40px;
        left: 60px;
        top: -15px;
        text-align: center;
        line-height: 40px;
        background: #003366;
        color: white;
        border-radius: 20px;
        transition: 0.25s;
    }

    .offer .check:checked:before {
        padding-top: 0;
    }

    .offer label:after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0px;
        right: 0;
    }

#popup-lookupvideo .modal-content {
    min-width: unset;
}

#popup-keyboard .modal-content,
#popup-email .modal-content,
#popup-name .modal-content {
    width: 800px;
}

div#keyboardContainer {
    padding: 0 20px 20px 20px;
    margin: 0;
    width: 100%;
    height: auto;
}

#keyboardContainer .write {
    padding: 0;
    margin: 0;
    width: 100%;
    height: calc(2 * 24px);
    line-height: calc(2 * 24px);
    border-radius: 24px;
    text-align: center;
    font-family: 'unum';
}

#keyboard {
    margin-top: 20px !important;
    width: 100%;
}

    #keyboard > div {
        display: flex;
        width: 100%;
    }

    #keyboard li {
        flex-grow: 1;
        padding: 0;
        margin: 3px 3px !important;
        border-radius: 0 !important;
        font-family: 'unum';
        font-size: 16px;
        height: 45px;
        line-height: 45px;
    }

    #keyboard .delete:before {
        content: '\f55a';
        font-size: 18px;
    }

#keyboardContainer + .modal-footer {
    flex-direction: row;
}

    #keyboardContainer + .modal-footer .btn {
        flex-grow: 1;
    }

        #keyboardContainer + .modal-footer .btn + .btn {
            margin: 0 0 0 20px;
            flex-grow: 1;
        }

#popup-nutrition .modal-content {
    width: 300px;
    min-width: 300px;
    background: white;
    color: #2e2e2e;
    border-radius: 0;
    border: 3px solid #2e2e2e;
    font-family: 'unum';
    text-transform: initial;
}

.nutrition-header {
    font-weight: normal;
    border-bottom: 1px solid #2e2e2e;
    padding: 20px;
    text-align: center;
    font-size: 40px;
}

#popup-nutrition .popup-button {
    background: #2e2e2e;
    color: white;
}

.nutrition-info:not(:last-of-type) {
    border-bottom: 2px solid #2e2e2e;
}

.nutrition-info:nth-child(2) {
    font-size: 24px;
}

.nutrition-divider {
    height: 4px;
    background: #2e2e2e;
    margin-bottom: 10px;
}

.nutrition-amount {
    display: flex;
    font-weight: normal;
}

    .nutrition-amount span:first-of-type {
        flex-grow: 1;
    }

.nutrition-info:nth-child(1n + 3) .nutrition-amount span:last-of-type:after {
    content: 'g';
}

#cholesterol:after,
#sodium:after {
    content: 'mg';
}

#serving:empty:after {
    content: 'Unspecified';
}

.nutrition-info span.indent {
    margin-left: 15px;
    font-weight: normal;
}

#receipt + .popover,
#receipt + .popover .popover-content {
    position: fixed;
    top: 0 !important;
    left: 0 !important;
    height: 100%;
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0;
    background: rgba(0, 0, 0, 0.5);
}

#receiptContent {
    position: absolute;
    overflow: hidden;
    top: 20%;
    left: 25%;
    height: 60%;
    width: 50%;
    overflow-y: scroll;
    padding: 15px 25px;
    border-radius: 10px;
    background: white;
    color: #2e2e2e;
    font-family: 'unum';
    animation: none;
    animation: zoomIn -0.25s 0.5s;
}

.receipt-item,
.receipt-mod {
    display: flex;
    line-height: 1em;
    padding-top: 20px;
}

.dot-leader {
    flex-grow: 1;
    border-bottom: 2px dotted #aaa;
    margin: 0 3px;
}

.receipt-mod {
    padding: 10px 0 0 15px;
    font-size: 15px;
}

[class*='receipt'][class*='amount'] {
    order: 1;
}

#receiptMurderizer {
    display: none;
    justify-content: center;
    position: fixed;
    top: calc(20% - 25px);
    right: calc(25% - 25px);
    height: 60px;
    width: 60px;
    z-index: 1024;
    border-radius: 50%;
    background: #003366;
    color: white;
    font-size: 30px;
    animation: zoomIn 0.5s;
}

    #receiptMurderizer:before {
        content: '\f00d';
    }

.popover + #receiptMurderizer {
    display: flex;
}

/* ANIMATIONS */

@keyframes popover {
    0% {
        transform: scale(0);
        transform-origin: top right;
    }

    100% {
        transform-origin: top right;
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
    }

    50% {
        opacity: 0;
        transform: scale3d(0.3, 0.3, 0.3);
    }

    to {
        opacity: 100;
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translate3d(100%, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translate3d(-100%, 0, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

@keyframes stack3d {
    0% {
        transform: rotate3d(0, 1, 0, 60deg);
        margin: 0 -100px;
        opacity: 0;
    }

    33% {
        opacity: 0;
    }

    70% {
        transform: rotate3d(0, 1, 0, 60deg);
        margin: 0 -100px;
    }
}

#popup-need-more-time svg {
    width: 250px;
    height: 250px;
    border-radius: 50%;
    transform: rotate(-90deg);
    left: calc(50% - 125px);
    position: relative;
    margin-top: 30px;
}

#popup-need-more-time circle {
    fill: transparent;
    stroke: yellow;
    stroke-width: 5;
    stroke-dasharray: 0 100;
    animation: border-timer 4s linear;
}

#popup-need-more-time .modal-content {
    display: block;
}

.paused circle {
    animation-play-state: paused;
}

@keyframes border-timer {
    to {
        stroke-dasharray: 101 100;
        stroke: red;
        stroke-width: 1;
    }
}

#popup-need-more-time #messageText:after {
    content: '3';
    display: block;
    position: absolute;
    top: -170px;
    left: calc(50% - 50px);
    width: 100px;
    font-size: 60px;
    text-align: center;
    animation: countdown linear 4s;
}

@keyframes countdown {
    0% {
        content: '3';
    }

    33% {
        content: '2';
    }

    66% {
        content: '1';
    }

    100% {
        content: '0';
    }
}

@keyframes tada {
    from {
        transform: scale3d(1, 1, 1);
    }

    10%, 20% {
        transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }

    30%, 50%, 70%, 90% {
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }

    40%, 60%, 80% {
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }

    to {
        transform: scale3d(1, 1, 1);
    }
}

.nudge {
    animation: tada 1s !important;
}

/* DT5 */

@media only screen and (width: 768px) and (height: 1366px) {
    #wrap {
        height: 50% !important;
    }

    #moveUp {
        position: relative;
        top: -60px;
        height: 60px;
        background: #2e2e2e;
        color: white;
        text-align: center;
        line-height: 60px;
        font-size: 30px;
    }

    @media only screen and (max-width: 767px) {

        #moveUp {
            font-size: 18px;
        }
    }

    #moveDown {
        position: relative;
        top: -60px;
        height: 60px;
        background: #2e2e2e;
        color: white;
        text-align: center;
        line-height: 60px;
        font-size: 30px;
    }

    @media only screen and (max-width: 767px) {

        #moveDown {
            font-size: 18px;
        }
    }

    #moveDown {
        top: calc(100% - 60px);
    }

        #moveUp:before,
        #moveDown:before {
            content: 'MOVE ';
        }

        #moveUp:after,
        #moveDown:after {
            font-family: FA;
            content: '\f0aa';
        }

        #moveDown:after {
            content: '\f0ab';
        }
}

/*------------
	MOBILE
------------*/

.iorderfast-content .carousel-buttons,
.iorderfast-content #clip-header {
    display: none;
}

.iorderfast-content {
    /* margin: var(--Top_Toolbar_Height) 0 0 0; */
    position: absolute;
    left: 0;
    top: 65px;
    bottom: 0px;
    width: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

@media only screen and (max-width: 767px) {

    .iorderfast-content {
        top: 45px;
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .iorderfast-content {
        top: 150px;
    }
}

.iorderfast-content #template {
    margin: auto;
    max-width: 1200px;
}

.iorderfast-content #buttons:not(.order-review-buttons) {
    text-align: center;
}

.iorderfast-content #buttons .row,
.iorderfast-content .order-review-buttons {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    padding: 15px;
    margin: 0;
}

.iorderfast-content .image-button {
    width: 25%;
    display: inline-flex;
}

.iorderfast-content .text-button {
    width: 33.33%;
    display: inline-flex;
}

    .iorderfast-content .image-button .box,
    .iorderfast-content .text-button .box {
        width: 100%;
    }

.iorderfast-content .details {
    justify-content: center;
}

.iorderfast-content .image-button .details {
    padding-bottom: 5px;
}

.iorderfast-content .details > div {
    padding: 0 0 !important;
    flex-grow: 0 !important;
    border-top: none !important;
}

.iorderfast-content #calories:after {
    margin-right: 12px;
}

.iorderfast-content .overlaycontainer {
    margin-right: 8px;
}

/* NAV */

.navbar {
    display: flex;
    height: 65px;
    background: #003366;
    padding: 0 20px;
    border-bottom: 1px solid #2e2e2e;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

@media only screen and (max-width: 767px) {

    .navbar {
        height: 45px;
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .navbar {
        height: 150px;
    }
}

.navbar-fixed-top {
    position: absolute !important;
    -webkit-backface-visibility: 0;
    backface-visibility: 0;
}

.navbar-fixed-top {
    position: absolute;
}

.site-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-width: 200px;
    position: absolute;
    right: 20px;
    height: 65px;
    flex-shrink: 0;
}

@media only screen and (max-width: 767px) {

    .site-header {
        height: 45px;
    }
}

@media only screen and (width: 1080px) and (height: 1920px) {

    .site-header {
        height: 150px;
    }
}

.navbar-toggle {
    margin: 0;
    background: transparent !important;
    border: 0;
    padding: 0;
}

.navbar-default .navbar-toggle .icon-bar {
    background-color: white;
    height: 3px;
}

.navbar-collapse {
    padding: 0;
}

#navDesktop .navbar-nav {
    display: flex;
}

.navbar-default .navbar-nav > li > a {
    color: white;
    font-size: 16px;
    height: 60px;
    line-height: 60px;
    padding: 0 0 0 20px;
}

.dropdown:nth-child(1) {
    color: white;
    font-size: 16px;
    height: 60px;
    line-height: 60px;
    padding: 0 0 0 20px;
}

.dropdown .fa:before {
    font-size: 24px;
    display: inline-block !important;
    width: 30px !important;
}

#navChangeAccount .fa:before {
    content: '\f2bd';
}

#navChangePassword:before {
    content: '\f084';
    font-size: 22px;
}

#navLogout:before {
    content: '\f2f5';
    font-size: 28px;
}

#header-text,
#menuDescription {
    white-space: nowrap;
    overflow: visible;
    text-overflow: ellipsis;
    width: 100%;
}

.nav-label {
    display: none;
}

.iorderfast-content #clip-receipt {
    pointer-events: none;
}

/* FORMS */

.form.container {
    margin-top: 60px;
}

.form.box {
    width: 550px;
    max-width: calc(100vw - 60px);
    margin: 0 auto 30px auto;
    padding: 20px;
    text-align: center;
}

.form-header {
    width: 100%;
    text-align: center;
    font-size: 30px;
    margin-bottom: 20px;
}

#checkoutheadertext.form-header {
    color: white;
}

@media only screen and (max-width: 767px) {

    .form-header {
        font-size: 18px;
    }
}

form a {
    color: #5a7184;
}

.form .btn:not(.popup-button):not(.control-button) {
    border-radius: 20px;
    padding: 0 20px;
    border: 0;
    line-height: 40px;
    text-align: center;
    background: #003366 !important;
}

#btnLogin {
    float: left;
}

#guestLogin {
    display: none;
}

input,
select,
textarea {
    margin-bottom: 10px;
}

.submit-form {
    line-height: 40px;
}

.remember-wrapper {
    float: right;
}

.forgot-wrapper {
    width: 100%;
    display: flex;
    justify-content: space-between;
    position: relative;
    top: 0.75em;
}

label {
    font-weight: normal;
}

.file-preview-frame {
    border-radius: 50%;
    overflow: hidden;
    padding: 0;
    margin: 0 0 20px 0;
}

.avatar-container {
    width: auto !important;
    display: flex;
    justify-content: center;
}

.file-input {
    margin: 0 auto;
}

#preferredDate:after {
    content: 'Order Date';
}

#copyright {
    display: none;
}

hr {
    border-top: 1px solid #2e2e2e;
}

.amount-due {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
}

.payment-totals-label {
    float: left;
}

.payment-totals {
    float: right;
}

.iorderfast-content #ordercomplete {
    height: auto;
    margin: 60px 20px 0 20px;
    padding: 0 10px;
}

.glyphicon:before {
    font-family: FA;
    position: relative;
    top: -2px;
}

.account-row,
.account-footer {
    max-width: 450px;
    display: flex;
    justify-content: space-between;
    margin: 5px auto;
}

    .account-row span:first-of-type {
        font-weight: normal;
    }

.account-footer,
.add-credit-card {
    margin-top: 20px;
}

.account-limit span:nth-child(2):before,
.account-balance span:nth-child(2):before {
    content: '$';
}

.auto-funding-toggle-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
}

#enabled[type='checkbox'] {
    margin-right: 5px;
}

.rewards-links {
    display: flex;
    display: none;
    width: 360px;
    position: absolute;
    left: calc(50% - 180px);
    padding: 10px;
    margin-top: -30px;
    justify-content: space-evenly;
}

    .rewards-links a {
        color: white;
        font-size: 12px;
        text-align: center;
        background: #003366;
        padding: 10px;
        margin-right: 5px;
        border-radius: 10px;
    }

form #myModal .btn {
    background: white;
    color: #2e2e2e;
    line-height: initial;
}

.help-block {
    position: relative;
    top: -8px;
}

.save-payment-div,
.save-payment-state {
    text-align: left;
}

.glyphicon-remove:before {
    content: '\f00d';
    color: #bb0000;
}

/* SCROLL MARGIN */

.iorderfast-content #template,
.form.container,
.iorderfast-content #orderreview:last-of-type {
    margin-bottom: 150px !important;
}

@media only screen and (max-width: 1023px) {
    .iorderfast-content .image-button {
        width: 33.33%;
    }

    .iorderfast-content .text-button {
        width: 50%;
    }

    .image-button #btext {
        height: 4em;
    }

    .modal-content {
        min-width: 66%;
    }
}

@media only screen and (max-width: 767px) {
    #header-text {
        width: calc(100vw - 30px - 10px - 100px);
    }

    @media only screen and (max-width: 767px) {

        #header-text {
            width: calc(100vw - 30px - 10px - 100px);
        }
    }

    @media only screen and (max-width: 767px) {

        #header-text {
            width: calc(100vw - 30px - 10px - 100px);
        }
    }

    @media only screen and (max-width: 767px) {

        #header-text {
            width: calc(100vw - 30px - 10px - 100px);
        }
    }

    @media only screen and (max-width: 767px) {

        #header-text {
            width: calc(100vw - 30px - 10px - 100px);
        }
    }

    #menuDescription {
        width: calc(100vw - 30px - 10px - 100px);
    }

    @media only screen and (max-width: 767px) {

        #menuDescription {
            width: calc(100vw - 30px - 10px - 100px);
        }
    }

    @media only screen and (max-width: 767px) {

        #menuDescription {
            width: calc(100vw - 30px - 10px - 100px);
        }
    }

    @media only screen and (max-width: 767px) {

        #menuDescription {
            width: calc(100vw - 30px - 10px - 100px);
        }
    }

    @media only screen and (max-width: 767px) {

        #menuDescription {
            width: calc(100vw - 30px - 10px - 100px);
        }
    }

    .iorderfast-content #buttons .row {
        padding: 0;
        display: block;
    }

    .iorderfast-content .image-button {
        float: left;
        padding: 0;
        width: 50%;
        border-bottom: 1px solid #2e2e2e;
        max-width: none;
    }

    .iorderfast-content .text-button {
        float: left;
        padding: 0;
        width: 50%;
        border-bottom: 1px solid #2e2e2e;
        max-width: none;
    }

    .iorderfast-content .text-button {
        width: 100%;
    }

    .image-button .box,
    .text-button .box,
    .desc-button .box {
        border: 0px;
        border-radius: 0px;
        overflow: hidden;
    }

    .image-button:nth-child(odd) .box {
        border-right: 1px solid #2e2e2e;
    }

    .overlaycontainer {
        display: block;
    }

    .site-nav-collapse {
        position: fixed;
        top: 45px;
        left: 0;
        width: 100vw;
        height: 244px !important;
        overflow: hidden;
    }

    @media only screen and (max-width: 767px) {

        .site-nav-collapse {
            top: 45px;
        }
    }

    @media only screen and (width: 1080px) and (height: 1920px) {

        .site-nav-collapse {
            top: 45px;
        }
    }

    .order-review-row {
        flex-direction: column;
        height: auto;
        align-items: center;
    }

    .order-review-container {
        flex-direction: column;
    }

    .order-review-modtext {
        text-align: center;
    }

    #amountdue {
        margin: 10px 0;
    }

    .ibutton:not(.ibutton-showing) {
        top: 0px;
        right: 0px;
        background: transparent;
        color: #5a7184;
    }

        .ibutton:not(.ibutton-showing):focus {
            top: 0px;
            right: 0px;
            background: transparent;
            color: #5a7184;
        }

        .ibutton:not(.ibutton-showing):active {
            top: 0px;
            right: 0px;
            background: transparent;
            color: #5a7184;
        }

        .ibutton:not(.ibutton-showing):hover {
            top: 0px;
            right: 0px;
            background: transparent;
            color: #5a7184;
        }

        .ibutton:not(.ibutton-showing):before {
            content: '\f05a';
        }

    .ibutton-showing {
        position: fixed;
        top: calc(25% - 10px);
        right: 5px;
        z-index: 4;
    }

    /* FOOTER */
    #clip-footer {
        flex-direction: column-reverse;
        height: auto;
        padding: 0;
    }

    #controlbuttons {
        width: 100%;
        border: 0;
        box-shadow: none;
        height: 45px;
    }

    .control-button {
        height: 30px;
        line-height: 30px;
        font-size: 15px;
    }

    [class*='footer-'] {
        width: 100%;
        text-align: center;
        line-height: 40px;
    }

    #receipt,
    #nutritionSummary {
        text-align: center;
        pointer-events: none;
        height: 40px !important;
    }

        #receipt[style*='hidden'] {
            display: none;
        }

    .popover.top {
        position: fixed;
        z-index: 3;
        height: 50%;
        top: 25% !important;
        box-shadow: 0 0 0 75vh rgba(0, 0, 0, 0.5);
        transition: 0.5s;
    }

    /* NAV */
    .navbar-nav {
        flex-direction: column;
        background: white;
        margin: 0 0;
    }

    .dropdown {
        border-bottom: 1px solid #2e2e2e;
    }

    .nav-label {
        display: inline;
        margin-left: 15px;
        line-height: 60px;
    }

    .navbar-default .navbar-nav > li > a {
        color: #2e2e2e !important;
    }

    .dropdown:nth-child(1) {
        color: #2e2e2e !important;
        font-size: 18px;
    }

    @media only screen and (max-width: 767px) {

        .dropdown:nth-child(1) {
            font-size: 18px;
        }
    }
}

/*---------
	CUSTOM
---------*/

/* CUTOUT STYLES */

/* @media (min-width: 768px) {

	.image-button {
		padding: 0;
	}

	.image-button .box * {
		flex-grow: 0 !important;
		border: none !important;
	}

	.image-button .box {
		border: none;
		background: none;
	}

	.image-button .ibutton:not(.ibutton-showing) {
		top: 20px;
		right: 20px;
		transition: .25s;
	}

} */

/* STYLES FOR DEMO REVENUE CENTERS */

[class*='THEME'] .Main-Menu-buttons .image-button:nth-child(n + 9),
[class*='DJH'] .Main-Menu-buttons .image-button:nth-child(n + 9) {
    width: 50% !important;
}

[class*='THEME'] .Main-Menu-buttons .details,
[class*='DJH'] .Main-Menu-buttons .details {
    display: none;
}

[class*='THEME'] .Main-Menu-buttons .image-button:nth-child(n + 9) #bimage,
[class*='DJH'] .Main-Menu-buttons .image-button:nth-child(n + 9) #bimage,
[class*='THEME']
.iorderfast-content
.Main-Menu-buttons
.image-button:nth-child(n + 9),
[class*='DJH']
.iorderfast-content
.Main-Menu-buttons
.image-button:nth-child(n + 9),
[class*='THEME'] .Main-Menu-buttons .image-button:nth-child(n + 9) .details,
[class*='DJH'] .Main-Menu-buttons .image-button:nth-child(n + 9) .details {
    display: none;
}

[class*='THEME'] .Main-Menu-buttons .image-button:nth-child(n + 9) #btext,
[class*='DJH'] .Main-Menu-buttons .image-button:nth-child(n + 9) #btext {
    font-size: 22px;
    padding: 1.75em 0;
}

[class*='THEME'] .Main-Menu-buttons #bimage,
[class*='DJH'] .Main-Menu-buttons #bimage {
    height: 150px;
}

[class*='THEME'] .splashInstruction,
[class*='DJH'] .splashInstruction {
    text-shadow: 2px 2px 3px #2e2e2e;
}

@media only screen and (min-width: 1024px) {
    [class*='THEME'] .logo,
    [class*='DJH'] .logo {
        width: 100px;
    }

    [class*='THEME'] #clip-header,
    [class*='DJH'] #clip-header {
        background-position-x: calc(100% - 15px);
        background-position-y: 8px;
    }
}

.WSTASSET .order-review-special-instructions #comment {
    display: block;
}

.loginmessage,
.loginmessage2,
.loginmessage3,
.loginmessage4,
.loginmessage5 {
    font-size: 12px;
}

.loginmessage3,
.loginmessage4,
.loginmessage5 {
    font-weight: bold;
}


.loginmessage3,
.loginmessage4 {
    display: none;
}

/*Style adjustments form Fredom Pay*/

#hpc--card-frame {
    width: 100%;
    height: 425px;
}