/* general styles */
h1 {
  margin: 0 0 15px 0;
  text-align: center;
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
  line-height: 1;
}

h2 {
  margin-top: 15px;
  margin-bottom: 5px;
}

.inline-label {
  display: inline;
  float: none;
}

.form-label,
label {
  display: block;
  margin: 0 0 5px 0;
  line-height: 1;
  font-weight: 600;
}

.first-header {
  margin-top: 0;
}

span.help { font-size: 11px; }

p {
  margin: 0;
}

button {
  padding: 10px;
}

#header {
  background-size: cover;
  background-position: center;
  color: #fff;
  padding: 15px;
}

#header .row {
  display: -ms-flexbox;  /* TWEENER - IE 10 */
  display: -webkit-flex; /* NEW - Safari 6.1+. iOS 7.1+, BB10 */
  display: flex;         /* NEW, Spec - Firefox, Chrome, Opera */

  -webkit-align-items: center;
  align-items: center;
  padding: 15px 0;
}

#header h3 {
  margin: 0;
  padding: 0;
}

#footer {
  margin-top: 15px;
  border-top: 1px solid #eee;
  padding: 15px;
}

.account-info-col {
  align-self: flex-start;
  -webkit-align-self: flex-start;
}

.submit-container-form {
  margin-top: 15px;
}

/* submit-specific things */
.content-header {
  position: relative;
  text-align: center;
}
.content-header .login-button {
  position: absolute;
  top: 0;
  right: 0;
}

.content-header .back-button {
  position: absolute;
  top: 0;
  left: 0;
}

i.back-arrow {
  margin-right: 5px;
}

.header-icon {
  display: inline-block;
  font-size: 56px;
}

#order-ready-time,
.submit-field,
.donation,
.tip {
  margin-top: 20px;
}

#content {
  margin-top: 25px;
}

.content-area {
  border: 1px solid #eee;
  border-radius: 6px;
  padding: 25px 30px;
}

/* order info */
th, td {
  /*border: 1px solid #eee;*/
  /*padding: 5px 10px;*/
}

thead {
  background-color: #eee;
  color: #333;
  text-align: left;
}

.item_options {
  margin: 0 0 0 10px;
}

table {
  border-collapse:collapse;
}

tbody {
  vertical-align: top;
}

.combo_row {
  background-color: #f4f4f4;
}
.combo-price {
  line-height: 38px;
}

td.delete_combo {
  padding-top: 15px;
}

.total_row {
  font-weight: bold;
}

.due_row {
  font-weight: bold;
}

.delete-item-link:hover {
  text-decoration: none;
}
/* end order info */

.submit-button {
  padding: 16px 28px;
}

/* order time */
#order-time-later-date {
  display: none; /* hide to start */
}

/* coupons */

.input-group.coupon-code {
  width: 250px;
}

.coupon-question {
  display: block;
  cursor: pointer;
  line-height: 1;
  margin-top: 10px;
}

#add-coupon,
.btn-primary-color {
  color: #fff;
  cursor: pointer;
}

/* end coupons */

/* gift cards */
.gc-field {
  margin-bottom: 10px;
}
.input-group.gc-number {
  width: 250px;
  float: left;
  margin-right: 10px;
}
.gc-question {
  display: block;
  cursor: pointer;
  line-height: 1;
  margin: 20px 0;
  text-decoration: none !important;
}
.gc-question .gc-text {
  display: inline-block;
  position: relative;
  top: -11px;
}
.gc-question .gc-icon {
  margin-right: 10px;
  font-size: 36px;
}
.cc-and-pip-form .gc-question {
  float: right;
}

#add-gc-number {
  color: #fff;
}

.gc-has-reg-code #gc-number {
  width: 200px;
}

.gc-has-reg-code #reg-code {
  width: 100px;
  border-left: none;
}

.gc-has-reg-code #add-gc-number {
  width: 110px;
}

.gc-has-reg-code .input-group.gc-number {
  width: 410px;
}

/* end gift cards */

/* payment type choice */
.payment-type-icon {
  display: block;
  font-size: 36px;
  height: 50px;
}

span.payment-type-icon.od-credit-card {
  position: relative;
  top: -3px;
}

span.payment-type-icon.od-apple-pay-mark {
  color: #000000;
}
div.payment-type-ap.disabled-payment-type .od-apple-pay-mark {
  color: #ddd;
}

.payment-type-option label {
  font-weight: 400;
  margin: 0;
}

.payment-type-option:first-child {
  padding: 0 20px 0 0;
}

.payment-type-option {
  display: inline-block;
  padding: 0 20px;
  border-right: 1px solid #ddd;
  text-align: center;
  min-width: 118px;
}
.payment-type-option:last-child {
  padding: 0 0 0 20px;
  border-right: 0;
}

.payment-type-option input {
  margin-right: 2px;
  position: relative;
  top: 1px;
}

.disabled-payment-type {
  color: #ddd;
}

.payment-type-ap {
  /*display: none;*/
}

/* cc area */
.icon-header h2,
.icon-header h3 {
  line-height: 1;
  margin: 0 0 3px 0;
  font-size: 24px;
}

p.new-card-info {
  margin-bottom: 0;
  margin-top: 15px;
}

#credit_card_number {
  width: 180px;
}

.checkout-section {
  background-color: #f9f9f9;
  border: 1px solid #eee;
  padding: 30px;
  margin-top: 20px;
  color: #333 !important;
}

#credit-card-info.mercury { position: relative; padding-top: 60px; }
.mercury #credit-card-header { position: absolute; top: 10px; left: 22px; width: 100%; }
.mercury .new-card-info { margin-top: -24px }

.icon-header .icon-header-icon {
  float: left;
  margin-right: 8px;
  display: inline-block;
  font-size: 36px;
  line-height: 56px;
}

.icon-header {
  margin-bottom: 15px;
}

.card-images {
  display: inline-block;
  vertical-align: top;
  margin-top: 6px;
}

/* end cc area */

/* advance ordering time picker */
#order-time-later-date {
  margin-bottom: 20px;
}

.later-time-button {
  position: relative;
  top: -2px;
}

.time-type-icon {
  display: block;
  font-size: 36px;
}

.order-time-type-option label {
  font-weight: 400;
  margin: 0;
  display: inline;
}

.order-time-type-option {
  display: inline-block;
  text-align: center;
  vertical-align: top;
}
.order-time-type-option.time-type-now {
  padding: 0 20px 0 0;
  border-right: 1px solid #ddd;
}
.order-time-type-option.time-type-later {
  padding: 0 0 0 20px;
}

.asap-time-estimate {
  display: block;
  margin-top: 4px;
  font-size: 12px;
}

#change-order-time {
  padding: 20px 0;
}

.order-time-type-option input {
  margin-right: 4px;
  position: relative;
  top: 1px;
}
/* end advance ordering time picker */

#logo img {
  max-width: 100%;
  max-height: 150px;
}

#order_date { width: 100px; }

/* loyalty rewards */

#reward-area {
  margin: 10px 0;
}

#reward-area h2 {
  margin: 0;
  line-height: 1;
}

.reward {
  cursor: pointer;
  border: 1px solid #c0c0c0;
  padding: 10px;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
}

.reward:hover {
  background: #eee;
}

.reward-icon {
  margin-right: 10px;
}

.open-dollar-reward label {
  display: inline-block;
}

.open-dollar-amount-details {
  display: inline-block;
}

.open-dollar-amount-radio {
  display: inline-block;
}

.open-dollar-amount-entry {
  width: 90px;
}

.open-dollar-amount-entry .input-group-addon {
  padding: 5px 6px;
}

.open-dollar-selection {
  font-size: 12px;
  margin-left: 80px;
}

.open-dollar-reward label {
  font-weight: 400;
}

.open-dollar-reward .bootstrap-switch {
  margin-right: 5px;
}

.use-some-open-dollars,
.open-dollar-selection {
  display: none;
}

/* end rewards */

.delivery-message {
  font-size: 11px;
  padding: 5px;
}

.order-location-time {
  padding: 15px 0;
}

.order-location-time .order-time {
  font-size: 32px;
}

textarea.custom_field {
  width: 100%;
  max-width: 410px;
  height: 90px;
}

#login-button { margin: 5px 0 0 0; }

.modal {
  display: none;
  z-index: 999;
  background-color:#fff;
  position: fixed;
  padding: 15px 15px 5px 15px;
  text-align:left;
  border:2px solid #333;
  -moz-border-radius:6px;
  -webkit-border-radius:6px;
}

.modal .close {
  background-image: url("/media/images/overlay/apple-close.png");
  cursor: pointer;
  height: 28px;
  position: absolute;
  right: -15px;
  top: -15px;
  width: 28px;
  opacity: 1;
}

.pt-reward { display: block; width: 100%; }

#payment-type label {
  display: inline;
  font-weight: normal;
}

.unavailable-type {
  display: inline-block;
  margin-left: 25px;
  font-style: italic;
}

.notification {
  padding: 0.8em;
  margin-bottom: 1em;
  border: 1px solid #DDD;
}

.notification h2 {
  margin-top: 0;
}

.error {
  background: #FBE3E4;
  color: #8A1F11;
  border-color: #FBC2C4;
}

.error_msg {
  color: #a60000;
}

.info {
  background: #D0E4F4;
  border-color: #418ACC;
}

.text, .email {
  width: 220px;
  max-width: 100%;
}

.cvv, .tip-field {
  width: 4em;
}

#card-number {
  display: inline-block;
  width: 234px;
  height: 38px;
}

#credit-card-verification-value {
  display: inline-block;
  width: 74px;
  height: 38px;
}

#cvv-help {
  display: inline-block;
  vertical-align: top;
  margin-top: 11px;
}

a.signup-link {
  font-size: 18px;
  color: #666;
  margin-left: 10px;
  margin-top: 12px;
}

#login-form, #forgot-password-form {
  width: 400px;
  height: 270px;
  padding: 30px 60px;
  margin-left: 0;
}

.login-post-form .field, #forgot-password-post-form .field {
  padding: 8px 8px 8px 0;
}
.login-post-form .field label, #forgot-password-post-form .field label {
  display: block;
}
.login-post-form .field input, #forgot-password-post-form .field input {
  width: 230px;
}

.login-post-form .error {
  color: red;
  display: none;
  padding: 8px;
}

.modal .field {
  margin-top: 15px;
}

#back-button, .back-button { margin: 0; position: relative; top: -5px; text-decoration: none; }

.tipsy { padding: 5px; font-size: 10px; opacity: 0.8; filter: alpha(opacity=80); background-repeat: no-repeat;  background-image: url(/admin/images/tipsy.gif); }
.tipsy-inner { padding: 5px 8px 4px 8px; background-color: black; color: white; max-width: 200px; text-align: center; }
.tipsy-inner { -moz-border-radius:3px; -webkit-border-radius:3px; }
.tipsy-north { background-position: top center; }
.tipsy-south { background-position: bottom center; }
.tipsy-east { background-position: right center; }
.tipsy-west { background-position: left center; }

#newsletter-submit { padding: 3px; margin-left: 3px; }
#mailchimp-area, #mailchimp-welcome { margin-top: 15px; }
#mailchimp-welcome { display: none; }

#eta { width: 104px; }

.order-location-time-error-container {
  border: 1px solid #f5c6cb;
  background-color: #f8d7da;
  border-radius: 3px;
  margin-top: 15px;
  padding: 20px 15px;
  display: none;
}

.order-location-time-error {
  color: #721c24;
}
.order-location-time-warning {
  color: #721c24;
}
.order-location-time-error-container h3 {
  margin: 0 0 5px 0;
  padding: 0;
  line-height: 1;
  color: #721c24;
}

.delivery-exp-note {
  font-style: italic;
  color: #666;
  margin-top: 5px;
}

#delivery-area {
  background-color: #fff;
}

p.fail {
  color: red;
}
.hidden {
  display: none;
  visibility: visible !important;
}

#edit-account-details {
  padding-left: 10px;
}

#edit-account-details img {
  width: 14px;
  height: 14px;
  border: 0;
}

a.tip-pct-button {
  text-decoration: none !important;
}

#tip {
  width: 91px;
  text-align: right;
  vertical-align: middle;
}

a.donation-amount-button {
  text-decoration: none !important;
}
.donation {
  padding-bottom: 10px;
}

#donation {
  width: 110px;
  text-align: right;
  vertical-align: middle;
}

#address, #address_line_2 {
  width: 300px;
  max-width: 100%;
}

#found-address-help {
  display: none;
}

#delivery-area-error {
  color: red;
}
#delivery-area-buttons {
  padding: 10px 0;
  display: inline-block;
  width: 100%;
}
#delivery-area-buttons a {
  text-decoration: none;
}

#delivery-area-map {
  width: 100%;
}

.mobile-login {
  text-align: center;
}

#levelup-info h3 {
  margin: 0 0 3px 0;
  line-height: 1;
}

#ui-datepicker-div {
	z-index: 99999 !important;
}

#time-confirmation-modal label {
  width: 100%;
  font-weight: normal;
}
#time-confirmation-modal .field {
  margin-bottom: 25px;
}
#time-confirmation-modal p {
  margin-bottom: 20px;
}

.group-order-type {
  width: 100%;
}
.group-order-time {
  display: inline-block;
  width: 100%;
  text-align: center;
  margin-bottom: 20px;
}

.switch-order-prop {
  width: 50%;
  height: 55px;
  line-height: 40px;
  color: #b5b5b5;
  background-color: #f9f9f9;
  text-align: left;
  padding-left: 20px;
}
.switch-order-prop select {
  color: #b5b5b5;
}
.switch-order-prop.selected {
  color: #333;
  background-color: #d4d4d4;
  border-color: #8c8c8c;
  z-index: 2;
}
.switch-order-prop.selected .fa-square-o {
  display: none;
}
.switch-order-prop.selected .icon.fa-check-square-o {
  display: inline-block;
  color: #fb432c;
}
.switch-order-prop.selected select {
  color: inherit;
}

.switch-order-prop .icon {
  font-size: 18px;
}
.switch-order-prop .icon.fa-check-square-o {
  display: none;
}
.switch-order-prop span.od-icon {
  font-size: 25px;
  margin: 0 10px;
  line-height: 20px;
  vertical-align: middle;
}

.switch-order-prop.prop-now {
  width: 40%;
}
.switch-order-prop.prop-later {
  width: 60%;
	border-bottom-right-radius: 4px !important;
	border-top-right-radius: 4px !important;
}

.switch-order-prop.switch-single {
  width: 100%;
  border-radius: 4px !important;
}

.switch-order-prop:hover + .in-later,
.switch-order-prop:hover + .in-later select,
.switch-order-prop.selected + .in-later,
.switch-order-prop.selected + .in-later select {
	color: inherit;
}

.in-later {
	margin-top: -47px;
	position: relative;
	float: right;
	margin-right: 8px;
	z-index: 2;
	margin-left: 88px;
	line-height: 40px;
	color: #b5b5b5;
	font-size: 14px;
	display: inline-block;
}

.in-later select {
	color: #b5b5b5;
}

.in-later.switch-single {
	float: left;
	margin-left: 128px;
}

.switch-order-prop div.type-icon {
  display: inline-block;
  vertical-align: top;
}
.switch-order-prop div.type-name {
  display: inline-block;
}
.switch-order-prop div.type-name div {
  line-height: 19px;
}

.switch-single div.type-name div {
  float: left;
  line-height: 40px;
}
.switch-single div.type-name .asap-time-description {
  margin-left: 5px;
}

.order-date-ui {
	width: 100px;
	height: 34px;
	line-height: 1;
}

.eta {
	max-width: 104px;
	height: 34px;
	line-height: 1;
}

.odn-confirm-changes {
  width: 100%;
}

.order-time-warning {
  display: none;
  color: #990000;
  margin-top: -20px;
}

.branding {
  /* darken branding text for WCAG contrast ratio with the link */
  color: #222;
}

@media (max-width: 991px) {
  #levelup-oauth2 {
    display: block;
    width: 100%;
    margin-top: 15px;
  }

  .submit-button {
    display: block;
    width: 100%;
  }

  h1 {
    font-size: 28px;
    margin-bottom: 15px;
  }

  .modal {
    width: 96% !important;
  }

  /* center the order details, add borders for clarity on mobile */
  .order-details {
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
  }

  .order-details .order-location-time {
    text-align: center;
    padding-bottom: 0;
  }

  table {
    margin: 0 auto;
  }

  #order_submit {
    border: 0;
    padding: 25px 10px;
  }

  #content {
    margin: 0;
  }

  .payment-type-option:first-child {
    padding: 0 15px 0 0;
  }

  .payment-type-option {
    padding: 0 15px;
    min-width: 100px;
  }
  .payment-type-option:last-child {
    padding: 0 0 0 15px;
  }
}

/* confirmation page styles */
#register-header span.register-tagline {
  font-size: 14px;
  line-height: 1;
}

#rating-area {
  background-color: #f6f6f6;
  border: 1px solid #eee;
  margin: 10px 0 10px -10px;
  padding: 10px;
}

#mailchimp-welcome { display: none; }

.star { padding: 5px 0px; }

.twitter-share-button { vertical-align: bottom; }
.share-area { margin-bottom: 15px; }

.new-line {
  color: green;
  font-weight: bold;
}
.cross {
  text-decoration: line-through;
  color: red;
}

.complete p,
#register-form p {
  margin: 0 0 15px;
}

@media (max-width: 767px) {
  .order-details-header {
    text-align: center;
  }

  .payment-type-option {
    min-width: 100%;
    border-bottom: 1px solid #ddd;
    border-right: 0;
    text-align: left;
    padding: 0 15px !important;
  }

  .payment-type-icon {
    display: inline-block;
    margin-top: 3px;
  }

  .payment-type-option input {
    float: left;
    margin-top: 18px;
    margin-right: 10px;
  }

  .payment-type-option label {
    vertical-align: top;
    margin-top: 18px;
    margin-left: 10px;
    display: inline-block !important;
  }

  .switch-order-prop {
    width: 100% !important;
  }
  .switch-order-prop.switch-single {
    width: 100%;
  }

  .switch-order-prop .od-icon {
    display: none;
  }

  .switch-order-prop .type-name {
    margin-left: 5px;
  }

  #change-order-type .btn-group > .btn:first-child:not(:last-child), #change-order-time-info .btn-group > .btn:first-child:not(:last-child) {
    border-top-right-radius: 4px;
    border-bottom-left-radius: 0;
  }
  #change-order-type .btn-group > .btn:not(:first-child), #change-order-time-info .btn-group > .btn:not(:first-child) {
    border-top-right-radius: 0;
    border-bottom-left-radius: 4px;
    margin-top: -1px;
    margin-left: 0;
  }

	.in-later,
	.in-later.switch-single {
		float: left;
		margin-left: 88px;
	}

	.switch-order-prop.prop-later:not(:first-child) {
		border-top-right-radius: 0 !important;
	}
}
