/* Global Styles
  ------------------------------------------------ */
img
{
    border: 0;   
}

fieldset
{
    border: none;
    padding: 0;
    margin: 0;
}

select
{
    width: 100%;
    max-width: 300px;
}

caption
{
    display: none;
}

.button
{
    text-decoration: none;
}

.buttonarea
{
	width: 100%;
	clear: both;
	text-align: center;	
}

.buttonarea button,
.buttonarea .button
{
    margin: 0 5px 5px 0;
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button 
{
    -webkit-appearance: none;
    margin: 0;
}

.info-messages {
    margin-bottom: 30px;
}

.info
{
    background-color: #fff3cd;
    border-color: #ffeeba;
    padding: .75rem 1.25rem;
    border: 1px solid transparent;
    border-radius: 0;
	margin-bottom: 20px;
}

.info p:last-child
{
    margin-bottom: 0;
}

.info-hidden
{
    display: none;
}

#contentliner
{
	padding: 10px;
	margin-bottom: 30px;
}

/* Page Menu Styles
  ------------------------------------------------ */
.pages ul
{
    margin: 10px;
    padding: 0 10px 0 10px;
    list-style-type: none;
    background-color: #e8e8e8;
	border: 1px solid #b2b2b2;
	
	/* Hidden by default for legacy support */
	display: none;
}

.pages li
{
    display: inline-block;
    padding: 10px;
    /* IE7 inline-block fix */
    zoom: 1; 
    *display: inline;
}

.pages form
{
    margin: 0;
}

/* Customer Bar Styles
  ------------------------------------------------ */
#customerbar .cart,
#customerbar .checkout
{
	/* Hidden by default for legacy support */
	display: none;
}

/* Validation Error Styles
  ------------------------------------------------ */
.field-validation-error {
    color: #ee0000; /* This gives contrast ratio > 4.5 against #ffffff */
    margin-bottom: 3px;
}

.field-validation-valid
{
    display: none;
}

.input-validation-error
{
    border: 1px solid #ff0000;
    background-color: #ffeeee;
}

.validation-summary-errors
{
	background-color: #fff79c;
	border: 1px solid #ff8700;
	padding: 5px;
	margin-bottom: 5px;
}

.validation-summary-errors span
{
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}

.validation-summary-valid
{
    display: none;
}

/* View Order Styles
  ------------------------------------------------ */
#vieworder .buttonarea
{
    margin-top: 10px;
}

/* Table Styles
  ------------------------------------------------ */
.table
{
	width: 100%;
	border-collapse: collapse;
	background-color: white;
   	border: 1px solid #d7d7d7;
	margin-bottom: 5px;
}

.table th
{
	background-color: #f0f0f0;
	border: 1px solid #d7d7d7;
	text-align: left;
	padding: 3px;
}

.table td
{
	border: 1px solid #d7d7d7;
	padding: 3px;
}

.table td.actions
{
    text-align: right;
}

.table td button
{
    /* IE 6 & 7 */
    margin-left: 5px;
    vertical-align: middle;
}

.table .totalrow td
{
    border-style: none;
    text-align: right;
    padding: 2px;   
}

.table .actions
{
    text-align: right;  
}

/* Favourites Styles
  ------------------------------------------------ */
#favourites .table th
{
    padding-left: 5px;
}

#favourites .table td
{
    padding-left: 5px;
}

/* Menu Styles
  ------------------------------------------------ */
#menu
{
    display: none;
}

#navpage #menu
{
    display: block;
}

#menu .liner
{
    margin-bottom: 40px; /* 40px bottom for footer */
}
  
#menu h2
{
	display: none;
}

#menu .menuheading
{
    display: none;
}

#menu ul
{
	list-style-type: none;
	margin: 0px;
	padding: 10px;
}

#menu ul li
{
	margin-bottom: 3px;
	font-weight: bold;
}

#menu ul ul
{
	list-style-type: none;
	margin: 0px;
	padding: 10px;
	padding-top: 3px;
	padding-bottom: 3px;
}

#menu ul ul li
{
	margin: 0px;
	margin-bottom: 3px;
	font-weight: normal;
}

#menu .folder 
{
    font-weight: bold;
}

#menu .pages
{
    display: none;
}

#menu .pages .liner
{
    margin: 0;
    padding: 0;
}

#menu .pages li
{
    display: list-item;
}

#search
{
    margin-top: 10px;
    margin-left: 10px;
}

#searchcriteria
{
    width: 100px;
}

#menu .selectsite 
{
    margin-bottom: 10px;
}

#menu .selectsite .selectlocation
{
    text-transform: none;
    margin-bottom: 5px;
}

/* Cart Styles
  ------------------------------------------------ */
#cart .liner
{
    background-color: #e8e8e8;
	border: 1px solid #b2b2b2;
    padding: 5px;
    margin: 10px 10px 40px 10px; /* 40px bottom for footer */
}

#cart h2
{
	margin: 0px;
	margin-bottom: 20px;
	font-size: 14px;
	font-weight: bold;
	border-style: none;
}

#cart ul
{
    padding: 0px;
   	margin: 0px;
    list-style-type: none; 
}

#cart .cartitem
{
	border: 1px solid #b2b2b2;
	background-color: white;
	margin-top: 5px;
	padding: 5px;
}

#cart .cartitem .values
{
	text-align: right;
}

#cart .cartitem .price
{
	width: 45px;
	display: inline-block;
}

#cart .cartitem .quantity
{
	width: 45px;
	display: inline-block;
}

#cart .cartitem .menuimage
{
	float: left;
}

#cart .cartitem h2
{
	font-size: 14px;	
}

#cart .totals
{
	text-align: right;
	margin: 5px 0px 5px 0px;
}

#cart .totals label
{
	float: left;
	width: auto;	
}

#cart .totals .amount
{
	width: 100px;
	display:inline-block;
	margin-bottom: 3px;
}

#cart .totals .total
{
    font-size: 16px;
    font-weight: bold;
}

/* Home Page Styles
  ------------------------------------------------ */

#home .categories li
{    
    display: inline-block;
    width: 49%;
    vertical-align: top;
    padding-bottom: 10px;
    
    /* IE7 inline-block fix */
    zoom: 1; 
    *display: inline;
}

#home .categories li .liner
{
	padding-right: 15px;
	padding-bottom: 15px;
}

#home .categories a
{
	font-size: 18px;
}

#home .info {
    font-size: 14px;
    font-weight: bold;
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba;
    padding: .75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0;
}

/* Portrait tablet and down */
@media (max-width: 767px) 
{
    #home .categories li
    {    
        display: table;
        width: 100%;
    }

    #home .categories li .liner
    {
	    padding-right: 0;
    }
}

/* Folder Styles
  ------------------------------------------------ */
#folder .folderimage
{
    float: left;
    margin: 0 10px 10px 0;
}

#folder .clear 
{
    clear: both;
}

#folder ul.categories 
{
    margin: 10px 0 0 0;
    padding: 0;
    list-style-type: none;
    display: table;
    width: 100%;
    border-collapse: collapse;
}

#folder ul.categories li
{
    display: table-row;
}

#folder ul.categories li .liner
{
    display: table-cell;
    border: 1px solid #E1E1E1;
    padding: 10px;
    width: 100%;
}

#folder .categoryimage 
{
    float: left;
    margin: 0 10px 0 0;
}

/* Pack Styles
  ------------------------------------------------ */
#pack .selection
{
    margin-bottom: 15px;
}

#pack .selection select 
{
    margin-top: 3px;
    width: 100%;
}

#pack .selection-img {
    float: left;
    margin-right: 10px;
}

#pack ul
{
    clear: left;
    list-style-type: none;
    padding-left: 0px;
    margin: 0px 0px 10px 0px;
}

#pack .item
{
    display: inline-block;
    width: 49%;
    vertical-align: top;
    margin-bottom: 20px;

    /* IE7 inline-block fix */
    zoom: 1; 
    *display: inline;
}

#pack .item .liner
{
    margin-right: 10px;
}

#pack .item img
{
    float: left;
    width: 100px;
    height: 100px;
    margin-right: 10px;
}

#pack .selection .quantity
{
	width: 50px;
}

/* Portrait tablet and down */
@media (max-width: 767px) 
{
    #pack .item
    {
        width: auto;
    }

    #pack .item .liner
    {
        margin-right: 0;
    }
}

/* Cart Item Styles
  ------------------------------------------------ */
#cartitems .deliverydate
{
    display: inline-block;
}

#cartitems .deliverytimes
{
    display: inline-block;
}

#cartitems .deliverydate > label,
#cartitems .timeslots > label,
#cartitems .deliverytimes label
{
    display: block;
    font-weight: bold;
    margin-bottom: 3px;
}

#cartitems .timeslots div
{
    display: inline-block;
}

#cartitems .timeslots div label
{
    width: auto;
    cursor: pointer;
}

#cartitems .timeslots div span
{
    margin-right: 10px;
    border: 1px solid #d7d7d7;
    padding: 5px;
    cursor: pointer;
    display: inline-block;
}

#cartitems select
{
    width: auto;
}

#cartitems .datefield
{
    margin-right: 15px;   
}

#cartitems .andlabel
{
    margin-left: 10px;   
    margin-right: 10px;   
}

#cartitems .notes
{
    width: 300px; 
}

#cartitems .quantity
{
    width: 50px; 
}

#cartitems .pricecolumn
{
    text-align: right;
}

#cartitems .calendaricon
{
	vertical-align: middle;
	margin-left: 2px;
	cursor: pointer;	
}

#cartitems .calendarforminputs
{
	vertical-align: middle;
}

#cartitems #adddeliverytime
{
    vertical-align: middle;
    margin-left: 5px;
}

#cartitems .noitems
{
    margin-top: 10px;
}

#cartitems .servicename 
{
    padding-left: 20px;
}

/* Total Styles
  ------------------------------------------------ */
.totals
{
	text-align: right;
	
}

.totals label 
{
	float: none;
	width: auto;	
    display: inline-block !important; 
}

.totals .amount
{
	width: 100px;
	display:inline-block !important;
	margin-bottom: 3px ;
}

.totals .discount-label
{
    display: inline;
}

.totals .total
{
    font-size: 16px;
    font-weight: bold;
}

.totals .total .total-label 
{
    display: inline;
    font-size: inherit;
}

/* Edit Order Styles
  ------------------------------------------------ */
#editorder #cartdetailwrapper
{
    clear: both;   
}

#editorder label
{
	display: block;
    margin-bottom: 3px;
    font-weight: bold;
}

#editorder textarea
{
	width: 100%;
	height: 140px;
}

#editorder #deliverycontactname, #editorder #deliverybusinessname
{
    width: 140px;
}

#editorder .contactphone
{
    display: none;
}

#editorder .guest-checkout-options
{
    border: 1px solid #d7d7d7;
    background: #fAfAfA;
    padding: 10px;
    margin-bottom: 20px;
}

#editorder .guest-checkout-options a
{
    font-weight: bold;
}

#editorder .deliveryoption
{
    margin-left: 10px;
    margin-right: 5px;
}

#editorder .deliveryoption label
{
    width: auto;
    display: inline-block;
}

#editorder #deliverypickupfields
{
    margin-left: 20px;
}

#editorder #deliveryinfofields
{
	white-space: nowrap;
	margin-bottom: 20px;
}

#editorder #deliveryinfofields p
{
    margin-bottom: 10px;
}

#editorder .deliveryinfofields textarea
{
    width: 100%;
    max-width: 360px;
    height: 60px;
    vertical-align: top;
}

#editorder #deliverysuburb
{
    width: 140px;
}

#editorder #deliverypostcode
{
    margin-left: 5px;
    width: 80px;
}

#editorder #miscfields #purchaseordercodefield
{
    width: 220px;
}

#editorder .addressbook
{
	padding-bottom: 5px;
	margin-bottom: 5px;
}

#editorder .addressbook select
{
    width: 100%;
    max-width: 360px;
}

#editorder .addressbook label
{
    font-style: italic;
}

#editorder .secondarylabel
{
    margin-left: 5px;
    margin-right: 5px;
    width: auto;
    float: none;   
}

#editorder .datefield
{
    margin-bottom: 5px;   
}

#editorder #promocodemessage
{
    margin-bottom: 5px;
}

#editorder .add-to-address-book
{
    display: inline;
    font-weight: normal;
    width: auto;
}

#editorder .timepicker select 
{
    width: auto;
}

/* Confirm Order Styles
  ------------------------------------------------ */
#confirmorder .favourite {
    border-top: 1px solid #dfdfdf;
    padding-top: 20px;
    margin-top: 10px;
}

#confirmorder .favourite input
{
    width: 240px;
}

#confirmorder .terms-message {
    text-align: center;
    margin: 1.5rem 0;
}

#confirmorder .totals .invisible {
    visibility: hidden;
}

#confirmorder .totals .total {
    display: flex;
    justify-content: right;
}


/* Sign In Styles
  ------------------------------------------------ */
#signin .signinpanel
{
	border: 1px solid #cccccc;
	background-color: white;
	padding: 10px;
	max-width: 450px;
	margin-bottom: 5px;
}

#signin .signinpanel input
{
    width: 100%;
    max-width: 350px;
}

#signin .signinpanel label
{
	display: block;
    margin-bottom: 3px;
    font-weight: bold;
}

/* Approve Quote Styles
  ------------------------------------------------ */
#approvequote #termsmessage
{
    text-align: center;
}

/* Create Account Styles
  ------------------------------------------------ */
#createaccount #Title
{
    width: auto;
}

#createaccount label
{
    display: block;
    margin-bottom: 3px;
}

#createaccount input[type="text"],
#createaccount input[type="tel"],
#createaccount input[type="email"],
#createaccount input[type="password"],
#createaccount textarea
{
    width: 250px;
}

#createaccount #termsmessage
{
    text-align: center;
    
    /* Disabled by default for legacy support */
    display: none;
}

#createaccount #invoicefields
{
    display: none;
}

#changepassword label
{
    display: block;   
    margin-bottom: 3px;
    font-weight: bold;
}

/* Reset Password Styles
  ------------------------------------------------ */
#resetpassword2 label
{
    display: block;   
    margin-bottom: 3px;
    font-weight: bold;
}

#resetpassword label
{
    display: block;  
    margin-bottom: 3px;
    font-weight: bold;
}

/* Change Password Styles
  ------------------------------------------------ */
#changepassword label
{
    display: block;   
    margin-bottom: 3px;
    font-weight: bold;
}

/* Change Email Styles
  ------------------------------------------------ */
#changeemail label
{
    display: block;   
    margin-bottom: 3px;
    font-weight: bold;
}

/* Reward Styles
  ------------------------------------------------ */
#rewards .pointsbalance
{
    font-weight: bold;
    font-size: 16px;   
}
  
#rewards .rewarditems
{
    margin: 20px auto 0 auto;
    padding: 0px;
    list-style-type: none;
    width: 600px;
}

#rewards .rewarditems li
{
    clear: both;
}

#rewards .rewarditems li h2
{
    display: block;
}

#rewards .rewarditems li img
{
    float: left;
    width: 100px;
    height: 100px;
    margin-right: 10px;
    margin-bottom: 20px;
}

#rewards .rewarditems li .text
{
    display: block;
    margin-bottom: 20px;
}

#rewards .rewarditems li .points
{
    font-weight: bold;
}

#rewards .rewarditems li .qty
{
    float: right;
}

#rewards .rewarditems li .qty input
{
	width: 60px;
	text-align: right;
}

/* Order Summary Styles
  ------------------------------------------------ */
.ordersummary .liner
{
    margin-right: 10px;   
}

.ordersummary label
{
    display: block;
    margin-bottom: 3px;
    font-weight: bold;
}

.ordersummary .totalcolumn
{
    text-align: right; 
}

.ordersummary .packitem .itemcolumn
{
    padding-left: 20px;
}

.ordersummary .site-address 
{
    margin-bottom: 5px;
}

/* Orders
  ------------------------------------------------ */
#orders fieldset.search 
{
    padding: 0;
    border: none;
    margin-bottom: 20px;
}

#orders fieldset.search .field
{
    display: inline-block;
    margin-right: 10px;
}

#orders .nav 
{
    padding: 10px 0;
}

#orders .nav button
{
    margin-right: 10px;
}

/* Pay Styles
  ------------------------------------------------ */
#pay #balanceline,
#approvequote #balanceline
{
    font-size: 14px;
    font-weight: bold;
}

#pay label,
#approvequote label
{
    display: block;
    margin-bottom: 3px;
    font-weight: bold;
}  

/* Payment Styles
  ------------------------------------------------ */
#payment {
    border-top: 1px solid #dfdfdf;
    padding-top: 20px;
    margin-top: 10px;
}

#payment .paymethod
{
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    border: 1px solid gray;
    padding: 5px;
    margin: 2px;
    display: inline-block;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
}

#payment .paymethodseparator
{
    display: inline-block;
    margin: 0 5px 0 5px;
}

#payment .activepaymethod
{
    background-color:  #fff79c;
}       

#payment #creditcardpanel
{
    display: block; 
}

#payment #payppsurdiv
{
    display: inline-block; 
}

#payment label
{
    display: block;
    margin-bottom: 3px;
    font-weight: bold;
}

#payment #ccfields {
    margin-bottom: 20px;
}

.paymentdetails #ccvhelp
{
    position: absolute;
    background-color: White;
    border: 1px solid gray;
    padding: 5px;
}

.paymentdetails .ccoption
{
    display: inline-block;
    vertical-align: top;
    margin-right: 10px;
    text-align: center;
    cursor: pointer;
}

.paymentdetails .ccoption label
{
    cursor: pointer;
}

.paymentdetails .paylater input
{
    height: 26px;
    margin: 0;
}

.paymentdetails .paylater label
{
    font-weight: bold;
}

.paymentdetails .ccor
{
    display: inline-block;
    vertical-align: top;
    margin: 26px 20px 0 20px;
    font-weight: bold;
}

.paymentdetails .ccoption input,
.paymentdetails .ccoption .ccicon
{
    vertical-align: middle;
    margin-right: 5px;
}

#pay .paymentdetails .ccoption label,
#payment .paymentdetails .ccoption label
{
    display: inline-block;
    white-space: nowrap;
    margin-top: 3px;
    width: auto;
}

.paymentdetails .ccoption .ccsurcharge
{
    display: block;
    font-style: italic;
}

.paymentdetails .cardnumber,
.paymentdetails .nameoncard
{
    width: 200px;
}

.paymentdetails .ccv
{
    width: 50px;
}

.paymentdetails select 
{
    width: auto;
}

#paymentmethods .table.stored-cards {
    margin-bottom: 20px;
}

.paymentdetails .table.stored-cards td {
    cursor: pointer;
}

.paymentdetails .table.stored-cards input[type=radio]
{
    vertical-align: middle;
}

.paymentdetails .table.stored-cards .ccicon
{
    vertical-align: middle;
    margin: 0 5px;
}

.paymentdetails .table.stored-cards .expiry-column
{
    text-align: right;
}

.paymentdetails .table.stored-cards .expired
{
    color: #900;
}

.paymentdetails .table.stored-cards label,
.paymentdetails .store-card-details label
{
    display: inline !important;
    font-weight: normal !important;
    width: auto !important;
}

#paymentframe {
    border: none;
    width: 100%;
    height: 250px;
}

#paymentframe.paystream {
    max-width: 760px;
    height: 400px;
}

.paymentdetails .braintree .hostedfield,
.paymentdetails .braintree .field {
    border: 1px solid #d7d7d7;
    height: 28px;
    padding: 3px 6px;
    -webkit-transition: border-color 160ms, background 160ms;
    transition: border-color 160ms, background 160ms;
    background: #fff;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -khtml-box-sizing: border-box;
}

.paymentdetails #ccfields .braintree {
    width: 300px;
}

.paymentdetails #ccfields .braintree label {
    text-align: left;
}

.paymentdetails .braintree #card-number {
    width: 240px;
}

.paymentdetails .braintree #expiration-date,
.paymentdetails .braintree #cvv,
.paymentdetails .braintree #billing-postcode {
    width: 120px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 5px;
}

.paymentdetails .braintree .braintree-field-billing-address {
    display: inline-block;
    clear: left;
    vertical-align: middle;
}

.paymentdetails .braintree #billing-address {
    width: 240px;
}

.paymentdetails .braintree .braintree-field-billing-suburb,
.paymentdetails .braintree .braintree-field-billing-postcode {
    display: inline-block;
    vertical-align: middle;
}

.paymentdetails .braintree .braintree-hosted-fields-invalid {
    border-color: tomato;
    background: #ffefef;
}

.paymentdetails .braintree .braintree-hosted-fields-valid {
  border-color: limegreen;
  background: #e9ffed;
}

.paymentdetails .braintree label {
    display: block;
    margin-bottom: 10px;
}

.paymentdetails .braintree .braintree-field {
    margin-bottom: 10px;
}

#paymentmethods .table.stored-cards .payment-method-name {
    display: flex;
    align-items: center;
    gap: 4px;
}

@media (max-width: 480px) {
    #paymentframe.paystream {
        height: 500px;
    }
}

#square-form-container {
    position: relative;
    width: 380px;
    max-width: 100%;
    margin-top: 15px;
}

/* Contact Form Styles
------------------------------------------------ */
#contactform label {
    display: block;
    margin-bottom: 3px;
}

/* Decline Order Styles
  ------------------------------------------------ */
#declineorder label
{
    display: block;
}

#declineorder textarea
{
    max-width: 600px;
    width: 100%;
    height: 100px;
}

#declineorder .field-validation-error
{
    display: block;
}

/* Meal Schedule Styles
  ------------------------------------------------ */
#mealschedule .pageheading 
{
    float: left;
}

#mealschedule .weekNav 
{
    margin: 10px 0;
}

#mealschedule .schedule
{
    width: 100%;
}

#mealschedule .schedule th 
{
    width: 14%;
    text-align: left;
    font-weight: bold;
}

#mealschedule .schedule td.meal 
{
    background: #f0f0f0;
    font-weight: bold;
}

#mealschedule .schedule td.selections 
{
    height: 50px;
}

#mealschedule .schedule p
{
    margin-bottom: 5px;
}

#mealschedule .schedule .day 
{
    margin-bottom: 20px;
}

#mealschedule .schedule .day h2 
{
    border-bottom: 1px solid #d7d7d7;
}

#mealschedule .schedule .day button 
{
    margin-bottom: 5px;
}

#mealschedule .schedule .no-selections
{
    color: red;
}

/* Meal Schedule Day Styles
  ------------------------------------------------ */
#mealscheduleday .meal 
{
    display: inline-block;
    width: 30%;
    vertical-align: top;
    margin: 0 20px 20px 0;
}

#mealscheduleday h2 
{
    border-bottom: 1px solid #d7d7d7;
}

#mealscheduleday .item 
{
    margin-bottom: 10px;
}

#mealscheduleday .item .selector,
#mealscheduleday .item .text
{
    display: inline-block;
    vertical-align: top;
}

#mealscheduleday .item .selector 
{
    margin-right: 5px;
}

#mealscheduleday .item h4,
#mealscheduleday .item p 
{
    margin: 0 0 5px 0;
}

/* Events Styles
  ------------------------------------------------ */
#events fieldset.search 
{
    padding: 10px;
    border: 1px solid #d7d7d7;
    background: #f3f3f3;
    margin-bottom: 20px;
    font-size: 14px;
}

#events fieldset.search .field
{
    margin-right: 20px;
}

#events ul.events
{
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: table;
    width: 100%;
}

#events ul.events li.event
{
    display: table-row;
}

#events ul.events li.event .images
{
    display: table-cell;
    vertical-align: top;
    white-space: nowrap;
    border-bottom: 1px solid #d7d7d7;
    padding: 20px 10px;

}

#events ul.events li.event .images img
{
    max-width: initial;
    margin-right: 10px;
}

#events ul.events li.event .details
{
    display: table-cell;
    vertical-align: top;
    width: 100%;
    border-bottom: 1px solid #d7d7d7;
    padding: 20px 10px;
}

#events ul.events li.event .startdate
{
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 5px;
}

#events ul.events li.event .status
{
    float: left;
}

#events ul.events li.event .buttons
{
    text-align: right;
}

#events ul.events li.event .ordersclosed
{
    font-weight: bold;
}

#events ul.orders
{
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: table;
    width: 100%;
}

#events ul.orders li
{
    background: #f3f3f3; 
    padding: 10px;
    margin-bottom: 10px;
}

#events .nav 
{
    padding: 20px 10px;
}

#events .nav button
{
    margin-right: 20px;
}

/* Standing Beverage Order
  ------------------------------------------------ */
#standingbeverageorder .category
{
    display: inline-block;
    width: 49%;
    vertical-align: top;
    margin-bottom: 20px;
}

#standingbeverageorder .category ul
{
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: table;
    width: 100%;
}

#standingbeverageorder .category ul li
{
    display: table-row;
}

#standingbeverageorder .category ul li .selector
{
    display: table-cell;
    padding-bottom: 10px;
    width: 20px;
}

#standingbeverageorder .category ul li .item
{
    display: table-cell;
    padding-bottom: 10px;
}

#standingbeverageorder .category ul li .item .desc
{
    margin: 5px 0 0 0;
    font-family: inherit;
}

#standingbeverageorder .category ul li .price
{
    display: table-cell;
    padding-bottom: 10px;
}

#standingbeverageorder .notes
{
    width: 49%;
    margin-bottom: 20px;
}

#standingbeverageorder .notes label
{
    display: block;
    margin-bottom: 5px;
}

#standingbeverageorder .notes textarea
{
    width: 100%;
    height: 80px;
}

#standingbeverageorder fieldset label
{
	display: block;
    margin-bottom: 3px;
    font-weight: bold;
}

#standingbeverageorder fieldset textarea.modifications
{
    width: 49%;
    height: 80px;
}

#standingbeverageorder fieldset .yesno
{
    display: inline-block;
    margin-top: 3px;
}

#standingbeverageorder fieldset .yesno label
{
    display: inline-block;
    font-weight: normal;
    margin-right: 10px;
}


/* Day Availability Date Selector Styles
  ------------------------------------------------ */
.date-selector {
    background: #fff79c;
    padding: 10px;
    margin-bottom: 20px;
}

.date-selector input {
    width: 150px;
    margin-right: 5px;
}

.date-selector p {
    margin: 0;
}

.date-selector .selected-date .date {
    font-weight: bold;
}

/* Pager Styles
  ------------------------------------------------ */
.pager
{
	margin: 15px 0;
}

.pager .disabled
{
	border: 1px solid #ddd;
	color: #999;
}

.pager .current
{
	color: #fff;
	font-weight: bold;
}

.pager span, 
.pager a
{
	margin-right: 10px;
    padding: 5px 10px;
    text-align: center;
}

.pager a
{
	border: 1px solid #aaa;
	text-decoration: none;
}

#embedloading {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -22px;
	margin-left: -22px;
    background-image: url('fancybox_sprite.png');
	background-position: 0 -108px;
	opacity: 0.8;
	cursor: pointer;
	z-index: 8020;
}

#embedloading div {
	width: 44px;
	height: 44px;
	background: url('fancybox_loading.gif') center center no-repeat;
}

/* Select Site Dialog
  ------------------------------------------------ */
#selectsite {
    display: none;
}

#selectsite select {
    font-size: 16px;
    min-width: 300px;
}

#selectsite .buttons {
    text-align: right;
}

/* Select Site Page
  ------------------------------------------------ */
#select-site #map-canvas { 
    height: 500px; 
    margin: 0; 
    padding: 0;
}

#select-site #map-canvas img {
    max-width: none;
}

/* Meal Rotation Styles
  ------------------------------------------------ */
#mealrotation {
    max-width: 800px;
    margin: auto;
}

#mealrotation #items {
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-in;
       -moz-transition: opacity 0.3s ease-in;
        -ms-transition: opacity 0.3s ease-in;
         -o-transition: opacity 0.3s ease-in;
            transition: opacity 0.3s ease-in;
}

#mealrotation #items.loaded {
    opacity: 1;
}

#mealrotation #items ul {
    list-style-type: none;
}

#mealrotation .desc {
    margin-bottom: 10px;
}

#mealrotation .price {
    font-weight: bold;
}

#mealrotation .qty {
    text-align: right;
}

#mealrotation .qty input {
    width: 30px;
}

#mealrotation .items li {
    border-bottom: 1px solid #e1e1e1;
    padding-bottom: 20px;
    margin-bottom: 20px;
}

#mealrotation #loading {
    display: none;
    text-align: center;
    -webkit-transition: opacity 0.3s ease-in;
       -moz-transition: opacity 0.3s ease-in;
        -ms-transition: opacity 0.3s ease-in;
         -o-transition: opacity 0.3s ease-in;
            transition: opacity 0.3s ease-in;
}

#mealrotation #loading.loading {
    display: block;
}

#mealrotation .ui-datepicker-trigger {
    cursor: pointer;
    margin-left: 5px;
}

#mealrotation fieldset {
    padding: 10px;
}

#mealrotation #DeliveryDate {
    width: 120px;
}

/* Portrait tablet and down*/
@media (max-width: 767px) 
{
    #customerbar .welcome,
    #customerbar .welcomespacer,
    #customerbar .favourites,
    #customerbar .cart 
    {
        display: none !important;
    }

    .pageheading
    {
        display: none;
    }

    .pages
    {
        display: none;
    }

    #menu
    {
        display: block;
    }

    #menu .selectsite .selectlocation
    {
        margin-top: 10px;
    }

    #menu .pages
    {
        display: block;
    }

    #menu .pages ul
    {
        background: inherit;
    }

    #menu .pages a,
    #menu .pages span
    {
        font-size: inherit;
        font-weight: inherit;
        font-family: inherit;
        text-shadow: inherit;
    }

    #menu .menuheading
    {
        display: block;
        cursor: pointer;
    }

    #menu .menuheading h2
    {
        margin: 0;
        padding: 0;
        display: inline;
    }

    #menu .menuheading .toggleicon
    {
        float: right;
        padding: 0 10px;
        font-family: Arial;
        font-size: 20px;
    }

    #menu h2.categoriesheading
    {
        display: none;
    }

    #menu .menusearch form
    {
        display: inline;
    }

    #menu .menucontent.collapsed
    {
        display: none;
    }

    #items #addedmessage .viewcart,
    #items #addedmessage .or
    {
        display: none;
    }

	/* Force table to not be like tables anymore */
	table.table, 
    table.table thead, 
    table.table tbody, 
    table.table th, 
    table.table td, 
    table.table tr 
    { 
		display: block; 
	}

    table.table
    {
        border-top: none;
    }

    table.table tr:nth-child(2n)
    {
        background-color: #FAFAFA;
    }
	
	/* Hide table headers */
	table.table thead tr 
    { 
		display: none;
	}

    table.table tr
    {
        position: relative;
    }

	table.table td 
    { 
		/* Behave  like a "row" */
		border: none;
		position: relative;
        padding: 6px;
	}

    table.table tr
    {
        border-top: 1px solid #E1E1E1;
    }

    table.table .timecolumn
    {
        display: inline-block;
        padding-right: 0;
    }

    table.table .itemcolumn
    {
        display: inline-block;
        font-weight: bold;
    }

    table.table .notescolumn
    {
        clear: left;
    }

    table.table .qtycolumn
    {
        display: inline-block;
        margin-bottom: 6px;
    }

    table.table .pricecolumn,
    table.table .discountcolumn
    {
        display: none;
    }

    table.table .actions
    {
        position: absolute;
        right: 0;
        bottom: 6px;
    }

    table.table .totalcolumn
    {
        position: absolute;
        right: 0;
        bottom: 6px;
        font-weight: bold;
    }

    table.table .ordernocolumn
    {
        display: inline-block;
        font-weight: bold;
    }

    table.table .deliverydatecolumn
    {
        display: inline-block;
    }

    #cartitems .notes {
        width: 100%;
    }

     #cartitems .deliverytimes
    {
        clear: left;
        margin-top: 5px;
    }

     #editorder textarea
    {
	    height: 60px;
    }

    #mealscheduleday .meal 
    {
        display: block;
        width: auto;
        margin: 0 0 20px 0;
    }

    #selectsite select {
        min-width: initial;
    }

    #events ul.events li.event .images {
        display: none;
    }

    #standingbeverageorder .category,
    #standingbeverageorder .notes
    {
        display: block;
        width: auto;
    }

    #item {
        width: auto;
    }
}

/*! fancyBox v2.0.6 fancyapps.com | fancyapps.com/fancybox/#license */
.fancybox-tmp iframe, .fancybox-tmp object {
	vertical-align: top;
	padding: 0;
	margin: 0;
}

.fancybox-wrap {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 8020;
}

.fancybox-skin {
	position: relative;
	padding: 0;
	margin: 0;
	background: #f9f9f9;
	color: #444;
	text-shadow: none;
	-webkit-border-radius: 4px;
	   -moz-border-radius: 4px;
	        border-radius: 4px;
}

.fancybox-opened {
	z-index: 8030;
}

.fancybox-opened .fancybox-skin {
	-webkit-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	   -moz-box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
	        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.5);
}

.fancybox-outer, .fancybox-inner {
	padding: 0;
	margin: 0;
	position: relative;
	outline: none;
}

.fancybox-inner {
	overflow: hidden;
}

.fancybox-type-iframe .fancybox-inner {
	-webkit-overflow-scrolling: touch;
}

.fancybox-error {
	color: #444;
	font: 14px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	margin: 0;
	padding: 10px;
}

.fancybox-image, .fancybox-iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	padding: 0;
	margin: 0;
	vertical-align: top;
}

.fancybox-image {
	max-width: 100%;
	max-height: 100%;
}

#fancybox-loading, .fancybox-close, .fancybox-prev span, .fancybox-next span {
	background-image: url('fancybox_sprite.png');
}

#fancybox-loading {
	position: fixed;
	top: 50%;
	left: 50%;
	margin-top: -22px;
	margin-left: -22px;
	background-position: 0 -108px;
	opacity: 0.8;
	cursor: pointer;
	z-index: 8020;
}

#fancybox-loading div {
	width: 44px;
	height: 44px;
	background: url('fancybox_loading.gif') center center no-repeat;
}

.fancybox-close {
	position: absolute;
	top: -18px;
	right: -18px;
	width: 36px;
	height: 36px;
	cursor: pointer;
	z-index: 8040;
}

.fancybox-nav {
	position: absolute;
	top: 0;
	width: 40%;
	height: 100%;
	cursor: pointer;
	background: transparent url('blank.gif'); /* helps IE */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	z-index: 8040;
}

.fancybox-prev {
	left: 0;
}

.fancybox-next {
	right: 0;
}

.fancybox-nav span {
	position: absolute;
	top: 50%;
	width: 36px;
	height: 34px;
	margin-top: -18px;
	cursor: pointer;
	z-index: 8040;
	visibility: hidden;
}

.fancybox-prev span {
	left: 20px;
	background-position: 0 -36px;
}

.fancybox-next span {
	right: 20px;
	background-position: 0 -72px;
}

.fancybox-nav:hover span {
	visibility: visible;
}

.fancybox-tmp {
	position: absolute;
	top: -9999px;
	left: -9999px;
	padding: 0;
	overflow: visible;
	visibility: hidden;
}

/* Overlay helper */

#fancybox-overlay {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	display: none;
	z-index: 8010;
	background: #000;
}

#fancybox-overlay.overlay-fixed {
	position: fixed;
	bottom: 0;
	right: 0;
}

/* Title helper */

.fancybox-title {
	visibility: hidden;
	font: normal 13px/20px "Helvetica Neue",Helvetica,Arial,sans-serif;
	position: relative;
	text-shadow: none;
	z-index: 8050;
}

.fancybox-opened .fancybox-title {
	visibility: visible;
}

.fancybox-title-float-wrap {
	position: absolute;
	bottom: 0;
	right: 50%;
	margin-bottom: -35px;
	z-index: 8030;
	text-align: center;
}

.fancybox-title-float-wrap .child {
	display: inline-block;
	margin-right: -100%;
	padding: 2px 20px;
	background: transparent; /* Fallback for web browsers that doesn't support RGBa */
	background: rgba(0, 0, 0, 0.8);
	-webkit-border-radius: 15px;
	   -moz-border-radius: 15px;
	        border-radius: 15px;
	text-shadow: 0 1px 2px #222;
	color: #FFF;
	font-weight: bold;
	line-height: 24px;
	white-space: nowrap;
}

.fancybox-title-outside-wrap {
	position: relative;
	margin-top: 10px;
	color: #fff;
}

.fancybox-title-inside-wrap {
	margin-top: 10px;
}

.fancybox-title-over-wrap {
	position: absolute;
	bottom: 0;
	left: 0;
	color: #fff;
	padding: 10px;
	background: #000;
	background: rgba(0, 0, 0, .8);
}