/***************************************************************************
 * meals.css
 ***************************************************************************/
.meals {
  position     : relative;
}

.meals-tooltip.uk-tooltip
{
  word-break: break-word;
}

.meals-form-section-title
{
  font-size   : 1.5em;
  font-weight : bold;
  margin      : 0.5em 0;
}

.meals-form-section-content
{
  -ms-border-radius    : 0.25em;
  -moz-border-radius   : 0.25em;
  -o-border-radius     : 0.25em;
  -webkit-border-radius: 0.25em;

  border       : 1px solid #ddd;
  border-radius: 0.5em;
  margin       : 0.5em 0;
  padding      : 0.5em 1em;
}

.meals-form-section-content .field_error {
  white-space  : normal;
}

.meals-form-section-content .meals-form-section-title
{
  font-size   : 1.25em;
  font-weight : bold;
  margin      : 0.5em 0;
}

.meals-field-disabled input,
.meals-field-disabled select,
.meals-field-disabled textarea,
    span.meals-field-disabled,
   input.meals-field-disabled,
  select.meals-field-disabled,
textarea.meals-field-disabled
{
  background-color: #ddd;
  border          : 1px solid #aaa;
  color           : #555;
  font-style      : italic;
}
span.meals-field-disabled
{
  display         : inline-block;
  min-height      : 1.0em;
}

/***************************************************************************
 * meals-form-order
 ***************************************************************************/
.meals-form-order-select_choices
{
  overflow     : auto; /* Maybe needed for small screens or long lists. */
  position     : relative;
  max-height   : 300px;
  max-width    : 100%;
  margin-bottom: 0.5em;
  flex         : 0 1 auto;
  width        : 100%;
}
.calendar_select_box-context_menu .meals-form-order-select_choices {
  max-width : 500px;
}

.meals-form-order-select_choices .price {
}
.meals-form-order-select_choices .price-level {
}
.meals-form-order-select_choices .price-level .price-regular {
  text-decoration : line-through;
}

.meals-form-order-landing {
  margin: 2em 5em 6em 3em;
}
.meals-form-order-landing-welcome {
  font-size: 1.2em;
}
.meals-form-order-landing-left
{
  float        : left;
  font-size    : 1.2em;
  padding-right: 5%;
  width        : 33%;
  min-width    : 200px;
}
.meals-form-order-landing-right
{
  border-left : 1px solid #ccc;
  float       : left;
  font-size   : 1.2em;
  padding-left: 5%;
  width       : 50%;

  min-width    : 300px;
}

@media screen and (max-width: 767px)
{
  .meals-form-order-landing
  {
    margin: 0;
  }
}

@media screen and (max-width: 550px)
{
  .meals-form-order-landing-left
  {
    float        : left;
    font-size    : 1.2em;
    padding-right: 5%;
    width        : 25%;
    min-width    : 150px;
  }
  .meals-form-order-landing-right
  {
    border-left  : none;
    float        : left;
    font-size    : 1.2em;
    padding-left : 0;
    padding-right: 5%;
    width        : 50%;
    min-width    : 300px;
  }
}

.meals-form-order-customer_instructions {
  overflow: hidden;
}
.meals-form-order-customer_instructions-allergies
{
  float: left;
  margin-left: 7%;
  margin-bottom: 2em;
  width: 35%;
  min-width: 250px;
}
.meals-form-order-customer_instructions-requests
{
  float: left;
  margin-left: 7%;
  margin-bottom: 2em;
  width: 42%;
  min-width: 250px;
}

/***************************************************************************
 * meals objects
 ***************************************************************************/
.meals-student_order-status_canceled,
.meals-student_order_product-status_canceled
{
  background-color: #c00;
  border          : 2px solid #a00;
  color           : #fff;
  font-style      : normal;
  font-size       : 0.8em;
  font-weight     : bold;
  float           : left;
  line-height     : 1.4em;
  margin          : 0 0.2em 0 0;
  padding         : 1px 8px;
}

.meals-student_order-status_noneditable,
.meals-student_order_product-status_noneditable
{
  background-color: #ccc;
  border          : 2px solid #999;
  color           : #555;
  font-style      : normal;
  font-size       : 0.8em;
  font-weight     : bold;
  float           : left;
  line-height     : 1.4em;
  margin          : 0 0.2em 0 0;
  padding         : 1px 8px;
}

.meals-student_order-status_update,
.meals-student_order_product-status_update
{
  background-color: #eee;
  border          : 1px solid #ddd;
  border-radius   : 4px;
  color           : #777;
  font-style      : normal;
  font-size       : 1.0em;
  font-weight     : normal;
  float           : left;
  line-height     : 1.0em;
  margin          : 0 0.0em 0 0;
  padding         : 0px 9px;
}

/***************************************************************************
 * Price Levels:
 ***************************************************************************/
.meals-student_order-pricelevel_code,
.meals-student_order_product-pricelevel_code
{
  background-color: #0a0;
  border          : 2px solid #080;
  border-radius   : 4px;
  color           : #fff;
  display         : inline-block;
  font-style      : normal;
  font-size       : 1em;
  font-weight     : bold;
  line-height     : 1;
  margin          : 0 0.2em 0 0;
  padding         : 2px 4px;
  text-align      : center;
}

.meals_order_report.labelsheet-size-1x2-5_8-qty30 .meals-student_order-pricelevel_code,
.meals_order_report.labelsheet-size-1x2-5_8-qty30 .meals-student_order_product-pricelevel_code
{
  border-width    : 1px;
  margin          : 0 0.2em 1px 0;
  padding         : 0px 2px;
}

.meals-pricelevel_meals-reduced
{
  background-color: #00a;
  border-color    : #008;
  color           : #fff;
}
.meals-pricelevel_meals-reduced-no_payment
{
  background-color: #aa0;
  border-color    : #880;
  color           : #008;
}

.meals-pricelevel_meals-free
{
  background-color: #c80;
  border-color    : #a60;
  color           : #fff;
}
.meals-pricelevel_meals-free-no_payment
{
  background-color: #880;
  border-color    : #660;
  color           : #fff;
}

/***************************************************************************
 * .meals .calendar_month
 ***************************************************************************/
.meals table.calendar_month
{
  box-sizing: border-box;
  height    : 1px; /* This will grow, but it allows .calendar_date{height:100%} to calculate. */
  margin    : 0;
  min-width : 0;
  min-height: 0;
}

.meals table.calendar_month > tbody > tr > td {
  height: 100%; /* Give .calendar_date{height:100%} something to calculate against. */
}

.meals .calendar_month .calendar_entry
{
  cursor    : pointer;
  display   : block;
  height    : 1.5em;
  font-size : 1.0em;
}

.meals .calendar_month .calendar_date
{
  box-sizing : border-box;
  cursor     : zoom-in;
  height     : 100%;

  min-width     : 0;
  min-height    : 50px;
}

.meals .calendar_month .adj_month {
  cursor          : pointer;
}

.meals .calendar_month .empty_date
{
  background-color: #838aa0;
  color           : #000;
  cursor          : zoom-in;
}

.meals .calendar_month .calendar_date:hover {
  background-color: #FFFFE2;
}

.meals .calendar_month .calendar_date.today {
  background-color: #ACB6DC;
  cursor          : pointer;
}

.meals .calendar_month .calendar_date_month.today {
  background-color: #d7e8d7;
  cursor          : pointer;
}


.meals .calendar_month .invalid_date,
.meals .calendar_month .invalid_date:hover
{
  background-color: #838aa0;
  color           : #000;
  cursor          : not-allowed;
}

.meals .calendar_month .calendar_date.adj_month {
  background-color: #D6DBEA;
}

.meals .calendar_month .calendar_date .ui-button-text
{
  font-size : 0.9em;
  padding   : 3px 6px;
}

.meals-calendar-month {
}
.meals-calendar-month > .calendar {
  display: block;
}

.calendar_prev_month,
.calendar_next_month,
.calendar_prev_date,
.calendar_next_date
{
  background-color: #fff;
  font-size: 1.6em;
  line-height: 1.2;
}

/***************************************************************************
 * .meals-product-selection-count
 ***************************************************************************/
.meals-product-selection-count
{
  position: relative;
  text-align: center;
  margin-top: 0.6em;
  margin-bottom: 0.4em;
}
@media screen and (max-width: 767px)
{
  .calendar_date_day .meals-product-selection-count
  {
    margin-top: -0.45em;
    margin-bottom: 0.55em;
  }
}
.meals-product-selection-count .uk-badge
{
  background-color: #fff;
  border-color: #9a9a85;
  color: #5d3c3c;
  font-size: 1.0em;
  line-height: 1.5em;
  min-width: 1em;
  border-radius: 50%;
}

/***************************************************************************
 * .meals .meals-calendar-perday
 ***************************************************************************/
.meals-calendar-perday
{
  min-height: 200px;
  margin-top: 1em;
}
@media screen and (min-width: /*768px*/ 0)
{
  .meals-calendar-perday {
    min-height: 0;
  }
}

.meals-your-selections-header
{
  font-weight: bold;
  line-height: 20px;
  padding: 5px 0;
  margin-bottom: 0.5em;
  text-align:center;
}

/***************************************************************************
 * .meals .meals-products-day
 ***************************************************************************/
.meals-products-day .title {
  margin-bottom: 0;
}

/***************************************************************************
 * meals-order
 ***************************************************************************/
.meals-order-instructions {
  font-weight: bold;
}
.meals-order-details {
  font-style: italic;
}

/***************************************************************************
 * meals_order_report_totals
 ***************************************************************************/
.meals_order_report_totals {
  font-size : 0.8em;
}
@media print
{
  .meals_order_report_totals {
  }
  .meals_order_report_totals thead tr
  {
    background: none;
    color     : black;
  }
}

/***************************************************************************
 * meals-report-filter
 ***************************************************************************/
.meals-report-filter-controls
{

}
.meals-report-filter-controls-run_report button,
.meals-report-filter-controls-export_excel button,
.meals-report-filter-controls-print_report button,
.meals-report-filter-controls-print_labels button
{
  font-weight: bold;
  height     : 2.5em;
  line-height: 2.0em;
  overflow   : hidden;
  text-align : left;
  width      : 165px;
}
.meals-report-filter-controls-export_excel img,
.meals-report-filter-controls-print_report img,
.meals-report-filter-controls-print_labels img
{
  float     : right;
  margin-top: 0.333em;
  position  : relative;
}

.meals-report-filter-throbber {
  margin    : 0.75em 0;
  visibility: hidden;
}
.meals-report-filter-throbber-icon
{
  position: relative;
  top     : 0.25em;
}
.meals-report-filter-throbber-message
{
  font-style : italic;
  font-weight: bold;
}

/***************************************************************************
 * meals_order_report
 ***************************************************************************/
.meals_order_report {
  font-size : 0.8em;
}
@media print
{
  .meals_order_report thead tr
  {
    background: none;
    color     : black;
  }
}

.meals_order_report tr td
{
  height        : 2em;
  padding       : 2px 3px;
/*vertical-align: top; Not ready... */
}

.meals_order_report .meal_order_report-product-canceled
{
  background-color: #bbb;
  font-style      : italic;
  text-decoration : line-through;
  line-height     : 1.6em;
}
.meals_order_report .meals-student_order_product-status_canceled {
  margin          : 0 1em 0 0;
}

.meals_order_report .meal_order_report-product-canceled .meals_order_report-student_allergies,
.meals_order_report .meal_order_report-product-canceled .meals_order_report-student_requests
{
  background-color: #ccc;
  font-style      : italic;
  text-decoration : line-through;
}

.meals_order_report-product,
.meals_order_report-product_red,
.meals_order_report-product_blue,
.meals_order_report-product_salad-bar
{
  height       : auto;
  padding      : 3px 6px;
  overflow     : hidden;
  text-overflow: ellipsis;
  white-space  : nowrap;
  width        : auto;
  box-sizing   : border-box;

  -webkit-box-sizing: border-box;
  -moz-box-sizing   : border-box;
  -ms-box-sizing    : border-box;
  -o-box-sizing     : border-box;
}
.meals_order_report-product_red
{
  background: #fbb;
  border    : 1px solid #f99;
}
.meals_order_report-product_blue
{
  background: #bbf;
  border    : 1px solid #99f;
}
.meals_order_report-product_salad-bar
{
  background: #bfb;
  border    : 1px solid #9d9;
}

.meals_order_report-student_allergies
{
  background-color: #fff;
  border          : 2px solid #aaa;
  float           : left;
  margin          : 0 2% 0.5em 0;
  padding         : 2px 4px;
  width           : 34%;
}
.meals_order_report-student_requests
{
  background-color: #fff;
  border          : 2px solid #aaa;
  float           : right;
  margin          : 0 0 0.5em 0;
  padding         : 2px 4px;
  width           : 60%;
}

.meals-report-conditions {
  min-width : 20em;
}
.meals-report-conditions .field_label {
  min-width: 5em;
}

/***************************************************************************
 * Meals Invoice
 ***************************************************************************/
.meals-invoice_line-date {
}
.meals-invoice_line-student
{
  background: #BDC9CD;
  border    : 1px solid #aaa;
  color     : #000;
  margin    : 0.5em 1em 0 1em;
  padding   : 0.5em 1em;
}

/***************************************************************************
 * Ordering and Checkout Messages
 ***************************************************************************/
.meals-cutoff_warning-notice
{
  background : #fdd;
  border     : 2px solid #a00;
  color      : #a00;
  font-style : italic;
  font-weight: bold;
  margin     : 0.9em 0.25in;
  padding    : 0.5em 0.333in 0.5em 57px;
  position   : relative;

  -webkit-border-radius: 8px;
  -moz-border-radius   : 8px;
  border-radius        : 8px;
}
.meals-cutoff_warning-notice p {
  margin: 0.333em 0; /* for 32px icon */
}
.meals-cutoff_warning-notice-icon
{
  left      : 15px;
  margin-top: -16px;
  position  : absolute;
  top       : 50%;
}

.meals-checkout-review-notice
{
  background : #fdd;
  border     : 2px solid #a00;
  color      : #a00;
  font-style : italic;
  font-weight: bold;
  margin     : 0.9em 0.25in;
  padding    : 0.5em 0.333in 0.5em 57px;
  position   : relative;

  -webkit-border-radius: 8px;
  -moz-border-radius   : 8px;
  border-radius        : 8px;
}
.meals-checkout-review-notice p {
  margin: 0.333em 0; /* for 32px icon */
}
.meals-checkout-review-notice-icon
{
  left      : 15px;
  margin-top: -16px;
  position  : absolute;
  top       : 50%;
}
.meals-checkout-review-notice-email_address
{
  color          : black;
  font-weight    : normal;
  text-decoration: underline;
}
.meals-checkout-review-notice-incomplete {
}
.meals-checkout-review-notice-notifications {
}

.meals-checkout-complete-message
{
  background : #dfd;
  border     : 2px solid #070;
  color      : #070;
  font-style : normal;
  font-weight: bold;
  margin     : 0.9em 0.25in;
  padding    : 0.5em 0.333in 0.5em 89px;
  position   : relative;

  -webkit-border-radius: 8px;
  -moz-border-radius   : 8px;
  border-radius        : 8px;
}
.meals-checkout-complete-message p {
  margin: 1.0em 0; /* for 64px icon */
}
.meals-checkout-complete-message-icon
{
  left      : 15px;
  margin-top: -32px;
  position  : absolute;
  top       : 50%;
}
.meals-checkout-complete-message-email_address
{
  color          : black;
  font-weight    : normal;
  text-decoration: underline;
}
.meals-checkout-complete-message-received {
}
.meals-checkout-review-notice-notifications {
}

/***************************************************************************
 * meals-menu_editor
 ***************************************************************************/
.meals-menu_editor-product_templates-list
{
  max-height : 200px;
  overflow   : auto;
  position   : relative;
}
.meals-menu_editor-product_templates-list table {
  font-size  : 0.8em;
}

.meals_product_calendar {
  overflow   : auto;
}
.meals-menu_editor .meals_product_types
{
  overflow     : hidden;
  white-space  : nowrap;
  text-overflow: ellipsis;
}

.meals-menu_editor .calendar_control_servingDay
{
  display         : block;
  padding         : 2px 2px;
  position        : absolute;
  text-align      : left;
  text-decoration : none !important;
  top             : 0;
  left            : 0;
}

.calendar_select_box-context_menu .title {
  margin-bottom: 0;
}
.calendar_select_box-context_menu > div
{
  width         : 100%;
  height        : 100%;
  display       : flex;
  flex-direction: column;
}
.calendar_select_box-context_menu-choices
{
  overflow     : auto;
  position     : relative;
  max-height   : 300px;
  max-width    : 500px;
  margin-bottom: 0.5em;
  flex         : 0 1 auto;
  width        : 100%;
}
.calendar_select_box-context_menu-choices thead th
{
  padding    : 0 3px;
  text-align : center;
}
.calendar_select_box-context_menu-choices tbody {
  position   : relative;
}

.calendar_select_box-context_menu-save_button {
  text-align : center;
}

/***************************************************************************
 * meals-account
 ***************************************************************************/
.meals-account-student-listing
{
  box-sizing: border-box;
  border : 1px solid #ccc;
  display: inline-block;
  margin : 0 1.0em 1em 0;
  padding: 0.5em 1em;
  width  : 100%;
}

.meals-account-student-listing .meals-student-name
{
  font-size  : 1em;
  font-weight: bold;
}

.meals-controls-student
{
  background : #eee;
  border     : 1px solid #ccc;
  float      : right;
  font-family: Sans-Serif;
  font-size  : 0.8em;
  margin     : 0.5em;
  padding    : 0.5em 1em;
}
.meals-controls-student a
{
  padding    : 0 0.333em;
}

/***************************************************************************
 * meals-school
 ***************************************************************************/
.meals-school {
}
.meals-school-name {
  font-size : 1.25em;
}

/***************************************************************************
 * meals-teacher
 ***************************************************************************/
.meals-teacher {
}
.meals-teacher-name {
  font-size : 1.25em;
}

/***************************************************************************
 * meals-grade
 ***************************************************************************/
.meals-grade {
}
.meals-grade-title {
  font-size : 1.25em;
}

/***************************************************************************
 * meals-student
 ***************************************************************************/
.meals-student {
}
.meals-student-name {
  font-size : 1.25em;
}

/***************************************************************************
 * meals-student_order
 ***************************************************************************/
.meals-student_order {
}

.meals-student_order-number
{
  font-size  : 1.25em;
  font-weight: bold;
  margin     : 0.9em 0;
}

/***************************************************************************
 * meals-student_order-page
 ***************************************************************************/
.meals-student_order-page {
}

.meals-student_order-page .meals-student_order-page-header {
  margin : 0 0 1em 0;
}

.meals-student_order-page .meals-school-name,
.meals-student_order-page .meals-grade-title,
.meals-student_order-page .meals-teacher-name
{
  font-size   : 1em;
  font-weight : normal;
}

.meals-student_order-page .meals-student-name
{
  font-size   : 1.25em;
  font-weight : normal;
}

.meals-student_order-page .meals-student_order-page-invoice {
  margin : 1em 0 0 0;
}
