/*

 /$$$$$$$                            /$$       /$$      /$$          
| $$__  $$                          | $$      | $$$    /$$$          
| $$  \ $$  /$$$$$$   /$$$$$$   /$$$$$$$      | $$$$  /$$$$  /$$$$$$ 
| $$$$$$$/ /$$__  $$ |____  $$ /$$__  $$      | $$ $$/$$ $$ /$$__  $$
| $$__  $$| $$$$$$$$  /$$$$$$$| $$  | $$      | $$  $$$| $$| $$$$$$$$
| $$  \ $$| $$_____/ /$$__  $$| $$  | $$      | $$\  $ | $$| $$_____/
| $$  | $$|  $$$$$$$|  $$$$$$$|  $$$$$$$      | $$ \/  | $$|  $$$$$$$
|__/  |__/ \_______/ \_______/ \_______/      |__/     |__/ \_______/

This project contains all of the theme files needed for Nextep kiosk
and online ordering products. Several tools have been created to make
setting up new themes easier.

Getting Started:
	1. Copy this theme folder to the customer directory and rename it
		 to the name of your new theme. You will also need to add the
		 theme in Customer Maintenance before you publish.
	2. Run 'npm install' in a new terminal window. Install node.js if
	   you need to, it will make life a lot easier for you.
	3. Using VSCode or your editor of choice, run the 'PostCSS' Gulp
		 task to generate kiosk.css on the fly. This removes the CSS
		 variables used to style the product from the production build 
		 for better compatability with internet explorer and the old 
		 version of Chromium (49) used on the kiosks.
	4. Always make your changes in dev.css or an override file. Any
		 changes using variables should be made at the top of the file.
		 All other changes should be made in the 'Custom' section below.
		 Please DO NOT make changes to the CSS in the middle unless you
		 know exactly what you are doing. You can load dev.css or
		 kiosk.css in the previewer, whicever you prefer.
	5. Before you publish code to production, make sure to run the
		 'Optimize Media' Gulp task. This will resize all media in the
		 'Other', 'Images', 'Banners' and 'html/images' folder and
		 optimized them for production.
	6. https://nextepthemedocs.netlify.com can be used to generate
		 compatible CSS. To use, just click on the part of the
		 interface want to edit, make your changes, and click the code
		 brackets icon (<>) in each popup. This will copy the code for 
		 that section to the clipboard. You can then paste that code in 
		 the appropriate section under the ':root' rule below.

*/

/* Fonts */
@font-face {
  font-family: 'DontRemoveThis';
  src: url('https://static.nextepsystems.com/fonts/Oswald-Regular.eot');
  src: url('https://static.nextepsystems.com/fonts/Oswald-Regular.eot?#iefix') format('embedded-opentype'),
    url('https://static.nextepsystems.com/fonts/Oswald-Regular.ttf') format('truetype');
}

/* Built-In Options */
:root {

  /* Logo Options */

  /* Header Options */

  /* Top Toolbar Options */

  /* Bottom Toolbar Options */

  /* Control Button Options */

  /* 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 {
    width: 75%;
    margin: 0 1px;
  }
}

/* OVERRIDES FOR MOBILE DEVICES*/

body {
  background: #FFF;
  background-position: center center;
}

#wrap {
  background: url('') 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: white;
  border: 6px solid #0074C2;
  border-radius: 10px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  text-transform: none;
  color: #595959;
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .box {
  font-size: 24px;
  }
}

.box:hover {
  display: block;
  position: relative;
  overflow: hidden;
  background: white;
  border: 6px solid #0074C2;
  border-radius: 10px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  text-transform: none;
  color: #595959;
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .box:hover {
  font-size: 24px;
  }
}

.box:focus {
  display: block;
  position: relative;
  overflow: hidden;
  background: white;
  border: 6px solid #0074C2;
  border-radius: 10px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 24px;
  text-transform: none;
  color: #595959;
}

@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('https://static.nextepsystems.com/fonts/fa-solid-900.eot');
  src: url('https://static.nextepsystems.com/fonts/fa-solid-900.eot?#iefix') format('embedded-opentype'),
    url('https://static.nextepsystems.com/fonts/fa-solid-900.ttf') format('truetype');
}

@font-face {
  font-family: 'FAB';
  src: url('https://static.nextepsystems.com/fonts/fa-brands-400.eot');
  src: url('https://static.nextepsystems.com/fonts/fa-brands-400.eot?#iefix') format('embedded-opentype'),
    url('https://static.nextepsystems.com/fonts/fa-brands-400.ttf') format('truetype');
}

.nex-button {
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 20px;
  background: #0074C2;
  color: white;
  border: 0;
  text-decoration: none;
}

.nex-button:focus {
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 20px;
  background: #0074C2;
  color: white;
  border: 0;
  text-decoration: none;
}

.nex-button:hover {
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 20px;
  background: #0074C2;
  color: white;
  border: 0;
  text-decoration: none;
}

.nex-button:active {
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 20px;
  background: #0074C2;
  color: white;
  border: 0;
  text-decoration: none;
}

#languageSwitcher {
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 20px;
  background: #0074C2;
  color: white;
  border: 0;
  text-decoration: none;
}

form .btn {
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 20px;
  background: #0074C2;
  color: white;
  border: 0;
  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% - 95px - 65px);
}

@media only screen and (max-width: 767px) {
  .kiosk-content #clip-template {
  height: calc(100% - 53px - 65px);
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .kiosk-content #clip-template {
  height: calc(100% - 90px - 65px);
  }
}

@media only screen and (max-width: 767px) {
  .kiosk-content #clip-template {
  height: calc(100% - 53px - 65px);
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .kiosk-content #clip-template {
  height: calc(100% - 90px - 65px);
  }
}

.paymentclip {
  position: relative;
  height: calc(100% - 95px - 65px);
}

@media only screen and (max-width: 767px) {
  .paymentclip {
  height: calc(100% - 53px - 65px);
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .paymentclip {
  height: calc(100% - 90px - 65px);
  }
}

@media only screen and (max-width: 767px) {
  .paymentclip {
  height: calc(100% - 53px - 65px);
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .paymentclip {
  height: calc(100% - 90px - 65px);
  }
}

.kiosk-content #clip-repeatorders {
  position: relative;
  height: calc(100% - 95px - 65px);
}

@media only screen and (max-width: 767px) {
  .kiosk-content #clip-repeatorders {
  height: calc(100% - 53px - 65px);
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .kiosk-content #clip-repeatorders {
  height: calc(100% - 90px - 65px);
  }
}

@media only screen and (max-width: 767px) {
  .kiosk-content #clip-repeatorders {
  height: calc(100% - 53px - 65px);
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .kiosk-content #clip-repeatorders {
  height: calc(100% - 90px - 65px);
  }
}

.kiosk-content #clip-orders {
  position: relative;
  height: calc(100% - 95px - 65px);
}

@media only screen and (max-width: 767px) {
  .kiosk-content #clip-orders {
  height: calc(100% - 53px - 65px);
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .kiosk-content #clip-orders {
  height: calc(100% - 90px - 65px);
  }
}

@media only screen and (max-width: 767px) {
  .kiosk-content #clip-orders {
  height: calc(100% - 53px - 65px);
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .kiosk-content #clip-orders {
  height: calc(100% - 90px - 65px);
  }
}

.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: #0074C2;
  border-bottom: 0px solid dimgrey;
  text-transform: uppercase;
  z-index: 5;
}

#clip-footer {
  display: flex;
  height: 65px;
  width: 100%;
  padding: 0 20px;
  background: #0074C2;
  border-bottom: 0px solid dimgrey;
  text-transform: uppercase;
  z-index: 5;
}

#clip-header {
  height: 95px;
  font-family: Arial, Helvetica, sans-serif;
  color: white;
}

@media only screen and (max-width: 767px) {
  #clip-header {
  height: 53px;
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  #clip-header {
  height: 90px;
  }
}

.logo {
  background-image: url('../images/Ross-logo-white.svg');
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

#logoOff {
  background-image: url('../images/Ross-logo-white.svg');
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  flex-shrink: 0;
}

.logo {
  height: 100%;
  width: 130px;
  margin-right: 20px;
  background-size: contain;
}

@media only screen and (max-width: 767px) {
  .logo {
  margin-right: 10px;
  }
}

@media only screen and (max-width: 767px) {
  .logo {
  width: 60px;
  }
}

#logoOff {
  height: 200px;
  width: 200px;
  background-color: #0074C2;
  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 - 130px - 20px - 425px);
}

@media only screen and (max-width: 767px) {
  .iorderfast-content .header-wrapper {
  max-width: calc(100vw - 60px - 10px - 425px);
  }
}

@media only screen and (max-width: 767px) {
  .iorderfast-content .header-wrapper {
  max-width: calc(100vw - 60px - 10px - 425px);
  }
}

@media only screen and (max-width: 767px) {
  .iorderfast-content .header-wrapper {
  max-width: calc(100vw - 60px - 10px - 425px);
  }
}

@media only screen and (max-width: 767px) {
  .iorderfast-content .header-wrapper {
  max-width: calc(100vw - 60px - 10px - 425px);
  }
}

#header-text {
  font-size: 45px;
  line-height: 45px;
  text-transform: none;
  font-weight: bold;
}

@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: 22px;
}

@media only screen and (max-width: 767px) {
  #menuDescription {
  font-size: 12px;
  }
}

/* FOOTER */

#clip-footer {
  background: #595959;
  border-bottom: 0;
  border-top: 10px solid #0074C2;
  position: fixed;
  bottom: 0;
}

.footer-left {
  line-height: 65px;
  width: 25%;
  color: white;
  font-size: 20px;
}

.footer-right {
  line-height: 65px;
  width: 25%;
  color: white;
  font-size: 20px;
}

.footer-right {
  line-height: 55px;
}

#controlbuttons {
  display: flex;
  align-items: center;
  width: 50%;
  border-left: 0px solid dimgrey;
  border-right: 0px solid dimgrey;
  padding: 0 10px;
  box-shadow: ;
  overflow: hidden;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 25px;
}

#controlbuttons > div {
  width: 33.33%;
  text-align: center;
  padding: 0 5px;
}

.control-button {
  width: 100%;
  height: 35px;
  padding: 0;
  line-height: 35px;
  border: 0;
  color: #595959;
  background: white;
  border-radius: 10px;
  font-family: Arial, Helvetica, sans-serif;
}

.control-button-left .control-button {
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  -webkit-clip-path: ;
  clip-path: ;
  animation: fadeInLeft 0.25s;
}

.control-button-right .control-button {
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  -webkit-clip-path: ;
  clip-path: ;
  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: 24px;
  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: 6px solid #0074C2;
}

.image-button #price {
  height: 100%;
  line-height: 24px;
  padding: 0 4px;
  flex-grow: 1;
  border-top: 6px solid #0074C2;
}

.image-button #nutritionInfo {
  height: 100%;
  line-height: 24px;
  padding: 0 4px;
  flex-grow: 1;
  border-top: 6px solid #0074C2;
}

.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';
  color: #0074C2;
}

[class*='Quantity'] .lnm,
[class*='Qty'] .lnm,
[class*='LNM'] .qty {
  display: none;
}

#subButtons,
.order-review-quantity {
  display: flex;
  border-radius: 20px;
  overflow: hidden;
  width: 200px;
}

.qty,
.order-review-quantity > div {
  width: 33.33%;
}

#minusButton:before,
#quantMinus:before {
  content: '\f068';
}

#plusButton:before,
#quantPlus:before {
  content: '\f067';
}

.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 #0074C2;
	background: #0074C2;
}

.lnm.sub-button-down-state {
	border-radius: 18px;
}

.lnm,
.lnm:hover {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  font-size: 20px;
  font-weight: bold;
}

.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 {
  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'] .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;
}

.text-button .box {
  padding: 26px 15px 0 15px;
  font-size: 26px;
}

.text-button .caption {
  display: flex;
	align-items: center;
	justify-content: space-between !important;
  height: calc(2 * 26px);
}

.text-button #btext {
  flex-grow: 1;
  font-weight: normal;
  line-height: 26px;
  text-align: left;
}

.text-button {
  top: calc(50% - 20px);
  right: 10px;
}

.text-button #check {
  position: absolute;
  right: 10px;
  top: calc(50% - 20px);
  background: transparent;
  color: #595959;
}

.checkbutton-text.button-down-state .caption {
  margin-right: 40px;
  transition: 0.15s;
}

.text-button .details {
  align-items: flex-start;
  justify-content: space-between;
  height: 26px;
  font-size: 16px;
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .text-button .details {
  font-size: 20px;
  }
}

.text-button #nutritionInfo {
  flex-grow: 0;
  padding-right: 0px;
  border-top: 0;
  max-width: 60px;
}

.text-button #nutritionButton,
.text-button #addButton {
  scale: 0.8;
  bottom: -20px;
}

.text-button #subButtons {
	position: absolute;
	left: calc(50% - 100px)
}

.text-button #textDesc {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: calc(100% - 60px);
}

.text-button .overlaycontainer {
  flex-shrink: 0;
  margin-left: 10px;
  height: 1em;
}

.text-button .overlaycontainer .overlay {
  height: 1em;
}

/* POPOVERS */

.ibutton {
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 20px;
  width: 40px;
  z-index: 2;
  animation: zoomIn 0.5s;
}

.ibutton:before {
  content: '\f129';
}

.ibutton-showing {
  background: white !important;
  color: #0074C2 !important;
}

.sub-button-down-state {
  background: white !important;
  color: #0074C2 !important;
}

.ibutton-showing:before {
  content: '\f00d';
}

.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: #0074C2;
  color: white;
  font-size: 16px;
  line-height: calc(16px + 2px);
  font-family: Arial, Helvetica, sans-serif;
  border-radius: 10px;
  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: #0074C2;
  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 dimgrey;
}

.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: 26px;
}

#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 black);
}

.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 {
  width: 100%;
  padding: 10px;
}

#orderreview:not(:last-of-type) {
  margin-bottom: 20px;
}

.order-review-row {
  display: flex;
  height: 40px;
  align-items: center;
  font-size: 26px;
}

#receipttext {
  flex-grow: 1;
  font-weight: normal;
}

#receipt:after {
  font-family: FA;
  content: '\f543';
  margin-left: 5px;
}

#amountdue,
.order-review-quantity {
  margin-left: 10px;
}

#modtext {
  font-size: 16px;
  padding-top: 5px;
}

@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: 6px solid #0074C2;
  font-size: 16px;
  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: 6px solid #0074C2;
  margin: 10px;
  overflow: hidden;
  width: 200px;
}

.payment-button:hover {
  display: inline-block;
  border: 6px solid #0074C2;
  margin: 10px;
  overflow: hidden;
  width: 200px;
}

.repeatOrderPromptButton {
  display: inline-block;
  border: 6px solid #0074C2;
  margin: 10px;
  overflow: hidden;
  width: 200px;
}

.repeatOrderPromptButton:hover {
  display: inline-block;
  border: 6px solid #0074C2;
  margin: 10px;
  overflow: hidden;
  width: 200px;
}

.repeatOrderButton {
  display: inline-block;
  border: 6px solid #0074C2;
  margin: 10px;
  overflow: hidden;
  width: 200px;
}

.repeatOrderButton:hover {
  display: inline-block;
  border: 6px solid #0074C2;
  margin: 10px;
  overflow: hidden;
  width: 200px;
}

.payment-button #btext {
  border-top: 6px solid #0074C2;
  height: 2em;
  line-height: 2em;
  font-size: 24px;
  text-align: center;
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .payment-button #btext {
  font-size: 24px;
  }
}

.repeatOrderPromptButton #btext {
  border-top: 6px solid #0074C2;
  height: 2em;
  line-height: 2em;
  font-size: 24px;
  text-align: center;
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .repeatOrderPromptButton #btext {
  font-size: 24px;
  }
}

.repeatOrderButton #btext {
  border-top: 6px solid #0074C2;
  height: 2em;
  line-height: 2em;
  font-size: 24px;
  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;
}

#btnTenderGeneric1 #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: 26px;
}

.payment-image {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  width: 200px;
  border: 4px solid #595959;
  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: 6px solid #0074C2;
  padding: 0 5px;
}

.previous-order:hover {
  margin: 10px;
  width: 225px;
  height: 450px;
  overflow: hidden;
  border: 6px solid #0074C2;
  padding: 0 5px;
}

.thumbnail {
  background: transparent;
  border: 0;
}

#loadOrder > div {
  color: #595959;
  width: 100%;
  text-align: center;
}

.previous-order #modtext {
  padding-top: 0;
}

#orderdate {
  margin: 20px;
}

.previous-order {
  animation: stack3d 3s ease;
}

.previous-order:nth-child(n + 6) {
  display: none;
}

.previous-orders {
  perspective: 2000px;
  animation: fadeInUp 3s;
}

#clip-complete,
#complete-hitarea {
  height: 100%;
}

#ordercomplete > div:not(:empty) {
  font-size: 45px;
  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;
}

#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 #0074C2;
  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/Ross-logo-white.svg') 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: black;
  font-size: 24px;
  font-weight: bold;
  border: initial;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}

.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: #595959;
}

#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: rgba(0, 0, 0, 0.75);
  border: none;
  border-radius: 10px;
  font-family: Arial, Helvetica, sans-serif;
  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: 26px;
}

#receiptText {
  margin: 0;
  text-align: center;
  font-size: 26px;
}

.modal-content #descriptionText {
  max-width: 350px;
  margin: 0 auto 30px auto;
  padding: 0;
  text-align: center;
}

.popup-button {
  background: white;
  color: black;
  margin: 0 0;
  font-size: 26px;
}

.popup-button:hover {
  background: white;
  color: black;
  margin: 0 0;
  font-size: 26px;
}

.popup-button:active {
  background: white;
  color: black;
  margin: 0 0;
  font-size: 26px;
}

.popup-button:focus {
  background: white;
  color: black;
  margin: 0 0;
  font-size: 26px;
}

.btn-default[disabled] {
  background: white;
  color: black;
  margin: 0 0;
  font-size: 26px;
}

.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 * 26px);
  border: 0;
  margin: 0;
}

.phonepadTextOut {
  width: 100%;
  text-align: center;
  height: calc(2 * 26px);
  border: 0;
  margin: 0;
}

.pagerpadTextOut {
  width: 100%;
  text-align: center;
  height: calc(2 * 26px);
  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: black;
  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: #0074C2;
  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 * 26px);
  line-height: calc(2 * 26px);
  border-radius: 26px;
  text-align: center;
  font-family: Arial, Helvetica, sans-serif;
}

#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: Arial, Helvetica, sans-serif;
  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: black;
  border-radius: 0;
  border: 3px solid black;
  font-family: DontRemoveThis;
  text-transform: initial;
}

.nutrition-header {
  font-weight: bold;
  border-bottom: 1px solid dimgrey;
  padding: 20px;
  text-align: center;
  font-size: 40px;
}

#popup-nutrition .popup-button {
  background: black;
  color: white;
}

.nutrition-info:not(:last-of-type) {
  border-bottom: 2px solid black;
}

.nutrition-info:nth-child(2) {
  font-size: 24px;
}

.nutrition-divider {
  height: 4px;
  background: black;
  margin-bottom: 10px;
}

.nutrition-amount {
  display: flex;
  font-weight: bold;
}

.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: black;
  font-family: DontRemoveThis;
  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: #0074C2;
  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: black;
    color: white;
    text-align: center;
    line-height: 60px;
    font-size: 45px;
  }

  @media only screen and (max-width: 767px) {
    #moveUp {
    font-size: 18px;
    }
  }

  #moveDown {
    position: relative;
    top: -60px;
    height: 60px;
    background: black;
    color: white;
    text-align: center;
    line-height: 60px;
    font-size: 45px;
  }

  @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: 95px;
  bottom: 0px;
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

@media only screen and (max-width: 767px) {
  .iorderfast-content {
  top: 53px;
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .iorderfast-content {
  top: 90px;
  }
}

.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: 95px;
  background: #0074C2;
  padding: 0 20px;
  border-bottom: 10px solid #595959;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@media only screen and (max-width: 767px) {
  .navbar {
  height: 53px;
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .navbar {
  height: 90px;
  }
}

.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: 95px;
  flex-shrink: 0;
}

@media only screen and (max-width: 767px) {
  .site-header {
  height: 53px;
  }
}

@media only screen and (width: 1080px) and (height: 1920px) {
  .site-header {
  height: 90px;
  }
}

.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: hidden;
  text-overflow: ellipsis;
  width: 100%;
  color: #FFF;
}

.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: 45px;
  margin-bottom: 20px;
}

@media only screen and (max-width: 767px) {
  .form-header {
  font-size: 18px;
  }
}

form a {
  color: #595959;
}

.form .btn:not(.popup-button):not(.control-button) {
  border-radius: 20px;
  padding: 0 20px;
  border: 0;
  line-height: 40px;
  text-align: center;
  background: #0074C2 !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 dimgrey;
}

.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: bold;
}

.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;
  background: black;
  width: 360px;
  position: absolute;
  left: calc(50% - 180px);
  padding: 10px;
  margin-top: -30px;
  justify-content: space-evenly;
  border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
}

.rewards-links a {
  color: white;
  font-size: 12px;
}

form #myModal .btn {
  background: white;
  color: black;
  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%;
  }
  
  #header-text {
    font-size: 25px;
    line-height: 25px;
  }
}

@media only screen and (max-width: 767px) {
  #header-text {
    width: calc(100vw - 60px - 10px - 100px);
  }
  @media only screen and (max-width: 767px) {
    #header-text {
    width: calc(100vw - 60px - 10px - 100px);
    }
  }
  @media only screen and (max-width: 767px) {
    #header-text {
    width: calc(100vw - 60px - 10px - 100px);
    }
  }
  @media only screen and (max-width: 767px) {
    #header-text {
    width: calc(100vw - 60px - 10px - 100px);
    }
  }
  @media only screen and (max-width: 767px) {
    #header-text {
    width: calc(100vw - 60px - 10px - 100px);
    }
  }
  #menuDescription {
    width: calc(100vw - 60px - 10px - 100px);
  }
  @media only screen and (max-width: 767px) {
    #menuDescription {
    width: calc(100vw - 60px - 10px - 100px);
    }
  }
  @media only screen and (max-width: 767px) {
    #menuDescription {
    width: calc(100vw - 60px - 10px - 100px);
    }
  }
  @media only screen and (max-width: 767px) {
    #menuDescription {
    width: calc(100vw - 60px - 10px - 100px);
    }
  }
  @media only screen and (max-width: 767px) {
    #menuDescription {
    width: calc(100vw - 60px - 10px - 100px);
    }
  }

  .iorderfast-content #buttons .row {
    padding: 0;
    display: block;
  }

  .iorderfast-content .image-button {
    float: left;
    padding: 0;
    width: 50%;
    border-bottom: 6px solid #0074C2;
    max-width: none;
  }

  .iorderfast-content .text-button {
    float: left;
    padding: 0;
    width: 50%;
    border-bottom: 6px solid #0074C2;
    max-width: none;
  }

  .iorderfast-content .text-button {
    width: 100%;
  }

  .image-button .box,
  .text-button .box {
    border: 0px;
    border-radius: 0px;
    overflow: hidden;
  }

  .image-button:nth-child(odd) .box {
    border-right: 6px solid #0074C2;
  }

  .overlaycontainer {
    display: block;
  }

  .site-nav-collapse {
    position: fixed;
    top: 53px;
    left: 0;
    width: 100vw;
    height: 244px !important;
    overflow: hidden;
  }

  @media only screen and (max-width: 767px) {
    .site-nav-collapse {
    top: 53px;
    }
  }

  @media only screen and (width: 1080px) and (height: 1920px) {
    .site-nav-collapse {
    top: 53px;
    }
  }

  .order-review-row {
    flex-direction: column;
    height: auto;
  }

  .order-review-modtext {
    text-align: center;
  }

  #amountdue {
    margin: 10px 0;
  }

  .ibutton:not(.ibutton-showing) {
    top: 0px;
    right: 0px;
    background: transparent;
    color: #595959;
  }

  .ibutton:not(.ibutton-showing):focus {
    top: 0px;
    right: 0px;
    background: transparent;
    color: #595959;
  }

  .ibutton:not(.ibutton-showing):active {
    top: 0px;
    right: 0px;
    background: transparent;
    color: #595959;
  }

  .ibutton:not(.ibutton-showing):hover {
    top: 0px;
    right: 0px;
    background: transparent;
    color: #595959;
  }

  .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 dimgrey;
  }

  .nav-label {
    display: inline;
    margin-left: 15px;
    line-height: 60px;
  }

  .navbar-default .navbar-nav > li > a {
    color: black !important;
  }

  .dropdown:nth-child(1) {
    color: black !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 black;
}

@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;
  }
}
