/*
Theme Name: The Grubb Hub
Description: Custom Wordpress Theme
Author: Clever Starfish


---------------------------------------
BASIC STUFF AND TYPOGRAPHY
------------------------------------ 
typography.com:
font-family: "Archer SSm A", "Archer SSm B";

fonts.com:
font-family: 'Nexa Rust Sans W00 Black';
font-family: 'Voltage W00 Light';

self hosted:
font-family: 'FestivoLC-Basic';

*/
@font-face {font-family: 'FestivoLC-Basic';src: url('_inc/fonts/2D07D8_0_0.eot');src: url('_inc/fonts/2D07D8_0_0.eot?#iefix') format('embedded-opentype'),url('_inc/fonts/2D07D8_0_0.woff2') format('woff2'),url('_inc/fonts/2D07D8_0_0.woff') format('woff'),url('_inc/fonts/2D07D8_0_0.ttf') format('truetype'),url('_inc/fonts/2D07D8_0_0.svg#wf') format('svg');}
  
html { overflow-y: scroll; }
article, aside, figure, footer, header, hgroup, nav, section { display: block; }

body {
    font-size: 14px;
    font-family: "Archer SSm A","Archer SSm B", Helvetica, Arial, sans-serif;
    font-weight: 700; 
    line-height: normal;
    color: #000;
    margin:0;
    width: 100%;
    overflow: hidden;
    background:#fff url("_inc/img/bg.jpg") repeat center top;
} 

p {
    line-height: 1.65em;
    margin: 0.7em 0;
}
a {
    text-decoration: none;
    color: #cc2a38;
    background: transparent;
}
p a:hover {
    text-decoration: underline;	
}
a img {
    border: 0;
}
img {
    max-width: 100%;
    height: auto;
}
h1, h2, h3, h4 {
    font-family: 'FestivoLC-Basic';
    font-weight: normal;
    text-transform: uppercase;
    font-size:20px;
    margin: 0.7em 0 10px; 
}
h1 {
    font-size: 49px;
    line-height: 52px;
    margin: 0 0 20px;
}
h2 {
    font-size: 29px;
}
h3 {
    font-size: 26px;
}
h4 {
    font-size: 24px;
}
#content ul, #content ol {
    margin: 1em 0;
    padding: 0 0 0 40px;
}
#content ul li, #content ol li {
    padding:0;
    line-height: 1.65em;
}
.intro-text {
    font-size: 17px;
    font-style: italic;
}
.intro-text p {
    line-height: 27px;
}

/* ------------------------------------
GENERAL LAYOUT
------------------------------------ */

.wrapper {
    max-width: 1100px;  
    margin: 0 auto;
    position: relative;
    padding: 0 15px;
}

#top-meta-area {
    min-height: 45px;
    width: 100%;
    background:#000 url("_inc/img/black_bg.jpg") repeat center center;
}

#main {
    padding: 25px 30px 20px;
    margin-top: 50px;
}

#main, footer {
    background:#fff url("_inc/img/content-tile.jpg") repeat;
    -webkit-box-shadow: 0 2px 21px 4px rgba(0,0,0,.2);
    box-shadow: 0 2px 21px 4px rgba(0,0,0,.2);
}

#content {
    min-height: 100px;
    padding-bottom: 75px;
    background: url("_inc/img/separator.png") no-repeat center bottom; 
}
 
.post-content {
    padding: 5px 25px 25px; 
    overflow: hidden;  
}

#main-column {
    width: 63.3%;    
    float: left;
} 

#sidebar {
    width: 30.3%;
    margin-left: 6%;
    float: right;
}  

.product-listing-content {
    margin: 45px 5px 0; 
    background: url("_inc/img/separator_vertical_dots.png") repeat-y 68.5% top;    
} 
.product-listing-content #main-column {
    width: 66%;    
} 

.product-listing-content #sidebar {
    width: 29.1%; 
    margin-left: 4.9%;
}
.checkout-page-content {
    margin: 45px 20px 0;
    min-height: 350px;
}

/* ------------------------------------
HEADER
------------------------------------ */

.global-message {
    font-size: 14px;
    line-height: 15px;
    font-family: 'Nexa Rust Sans W00 Black'; 
    text-transform: uppercase;
    font-weight: normal;
    color: #fff;
    background: url("_inc/img/thumbs_up.png") left 10px no-repeat;
    padding: 15px 15px 15px 27px;
    max-width: 70%; 
    display: inline-block;  
}
.newsletter-link {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 14px;
    line-height: 15px;
    font-family: 'Nexa Rust Sans W00 Black'; 
    text-transform: uppercase;
    font-weight: normal;
    color: #fff;
    padding: 10px;
    display: inline-block;
}
.newsletter-link span {
    padding: 5px 10px;
    display: inline-block;
    margin-right: 2px;
    background: #cc2b39;
}
.newsletter-dropdown {
    position: absolute;
    right: 15px;
    background: #000;
    color: #fff;
    padding: 15px 30px 20px;
    z-index: 13;
    display: none;
    box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -ms-box-sizing: border-box; 
    -webkit-box-sizing: border-box;
    width: 300px;
}
header {
    margin-bottom: 15px;
}
header #logo {
    width: 241px;
    height: 246px;
    overflow: hidden;
    text-indent: -9999px;
    display: block;
    position: absolute;
    top: -26px;
    left: 50%;
    margin-left: -120.5px;
    background: url("_inc/img/logo.png");
    background-size: 100% auto; 
} 

header .header-left, header .header-right {
    width: 36%;
    text-align: right;
    float: left;
}
header .header-right {
    text-align: left;
    float: right;
} 
.header-feature {
    position: relative;
    margin: 10px 0;
    display: inline-block;
    max-width: 100%;
}
.header-feature-left {
    margin-top: 12px;
}
header .cart-panel {
    position: absolute;
    bottom: 7px;
    right: 75px;
    font-size: 15px;
    line-height: 18px;
    font-family: 'Nexa Rust Sans W00 Black'; 
    text-transform: uppercase;
    font-weight: normal;
    color: #cc2b39;
}
.order-lunch-categories {
    background: url("_inc/img/separator.png") no-repeat center 15px;
    margin: 35px 0;
    text-align: center;
}
.choose-date {
    height: 40px;
    display: inline-block;
    max-width: 100%;
    margin-left: 25px;    
}
.choose-date .date-dropdown {
    display: none;
    width: 281px;
    border: 2px solid #000;
    border-top: 0;
    background: #fff;
    margin: 0;
    padding: 10px 0;
    position: absolute;
    top: 40px;
    left: 0;
    font-family: "Archer SSm A","Archer SSm B",Helvetica,Arial,sans-serif;
    font-size: 14px;
    font-weight: 800;
    font-style: italic;
    list-style: none;
    text-transform: none;
    line-height: normal;
}
.choose-date .date-dropdown li {
    list-style: none;
    display: block;
}
.choose-date .date-dropdown li a {
    color: #000;
    padding: 5px 12px;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.choose-date .date-dropdown li a:hover {
    color: #cc2a38;
}
.choose-date .date-dropdown li a.disabled {
    color: #888 !important;    
}
.choose-date .date-label, .choose-date .date-selector {
    display: inline-block;
    height: 30px;
    background: #000;
    white-space: nowrap;
    line-height: 29px;
    font-size: 27px;
    color: #fff;
    padding: 5px 25px 5px 35px;
    font-family: 'FestivoLC-Basic';
    font-weight: normal;    
    text-transform: uppercase;
    vertical-align: top;
    position: relative;
    z-index: 11;  
}
.choose-date .date-selector {
    font-size: 20px;
    background: #cb2c3a url("_inc/img/select_white.png") no-repeat right 17px;
    padding: 5px 37px 5px 20px;
    text-align: left;    
}
.choose-date .date-selector > span {
    white-space: nowrap;
    width: 228px; 
    overflow:hidden;
    text-overflow: ellipsis;
    display: block;
}
.choose-date .date-selector:after {
    content: ' ';
    width: 0; 
    height: 0; 
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;    
    border-left: 15px solid #cb2c3a;
    position: absolute;
    top: 0;
    right: -15px;
}
.choose-date .date-label:before {
    content: ' ';
    width: 0; 
    height: 0; 
    border-top: 20px solid #000;
    border-bottom: 20px solid transparent;    
    border-left: 15px solid transparent;
    position: absolute;
    top: 0;
    left: -15px;
}  
.choose-date .date-label:after {
    content: ' ';
    width: 0; 
    height: 0; 
    border-top: 20px solid transparent;
    border-bottom: 20px solid #000;    
    border-left: 15px solid transparent;
    position: absolute;
    top: 0;
    left: -15px;
}

/* ------------------------------------
NAVIGATION
------------------------------------ */

nav {
    margin:0;
}
nav ul {
    position: relative;
}
nav ul ul.sub-menu {
    display: none;
}
nav ul ul.sub-menu ul.sub-menu {
    display: none !important;
}
nav ul, nav ul li {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block;
    vertical-align: middle;
    position: relative;
    z-index:10;
    font-size: 0;
}
nav ul li {
    font-size:20px;
    font-family: 'FestivoLC-Basic';
    font-weight: normal;    
    line-height: 22px;
    text-decoration: none;
    text-transform: uppercase;
    margin: 9px;
}
nav ul li:first-child {
    margin-left: 0 !important;
}
nav ul li:last-child {
    margin-right: 0 !important;
}
nav ul li a {     
    display: inline-block;    
    overflow: hidden;
    color: #000;
    vertical-align: top;
}
nav ul li a:hover, nav ul li.current-menu-item a, nav ul li.current_page_parent a {
    color: #cc2a38;
}

#main-nav, #account-nav {    
    background: url("_inc/img/menu_border.png") no-repeat bottom left;
    z-index: 11;      
} 
#main-nav ul, #account-nav ul {
    margin: 4px 0 9px;
}
#main-nav ul li, #account-nav ul li {
    margin: 5px 9px 0;
}
#account-nav {
    background-position: bottom right;
}
#main-nav li:before, #account-nav li:before, #footer-nav li:before {
    content:' ';
    width: 5px;
    height: 6px;
    background: url("_inc/img/bullet.png") no-repeat center;
    position: absolute;
    left: -11px;
    top: 8px;
}
#main-nav li:first-child:before, #account-nav li:first-child:before, #footer-nav li:first-child:before {
    display: none;
}
#footer-nav li {
    margin: 0 8px;
    font-family: "Archer SSm A","Archer SSm B", Helvetica, Arial, sans-serif;
    font-weight: 800; 
    line-height: normal;
    font-size: 16px;
    text-transform: none;
}
#footer-nav li a {
    padding: 0 2px;
}
#category-nav ul {
    display: block;
    text-align: center;
    padding: 15px 0 30px;
    background: url("_inc/img/separator.png") no-repeat center bottom; 
}
#category-nav li {
    width: 23.3%;
    margin: 0 1.13%;
}
#category-nav li:first-child {
    margin-left: 0;
}
#category-nav li:last-child {
    margin-right: 0;
}
#category-nav li a {
    width: 100%;
    height: 0;
    padding-bottom: 88.4%;
    text-indent: -9999px;
    overflow: hidden;
    -webkit-transition: background-image 0.1s ease-in-out;
    -moz-transition: background-image 0.1s ease-in-out;
    -o-transition: background-image 0.1s ease-in-out;
    transition: background-image 0.1s ease-in-out;
    display: block;
    background-size: 100%;    
}
#category-nav li a:after {
    content: ' ';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;   
}
#category-nav li.category-sandwiches a { background-image: url("_inc/img/cat_sandwiches.png"); }
#category-nav li.category-sandwiches a:after, #category-nav li.category-sandwiches a:hover, #category-nav li.category-sandwiches.active a { background-image: url("_inc/img/cat_sandwiches_active.png"); }
#category-nav li.category-salads a { background-image: url("_inc/img/cat_salads.png"); }
#category-nav li.category-salads a:after, #category-nav li.category-salads a:hover, #category-nav li.category-salads.active a { background-image: url("_inc/img/cat_salads_active.png"); }
#category-nav li.category-snacks a { background-image: url("_inc/img/cat_snacks.png"); }
#category-nav li.category-snacks a:after, #category-nav li.category-snacks a:hover, #category-nav li.category-snacks.active a { background-image: url("_inc/img/cat_snacks_active.png"); }
#category-nav li.category-drinks a { background-image: url("_inc/img/cat_drinks.png"); }
#category-nav li.category-drinks a:after, #category-nav li.category-drinks a:hover, #category-nav li.category-drinks.active a { background-image: url("_inc/img/cat_drinks_active.png"); }

.mobile-section {
    display: none;
}

#cat-subnav {
    margin: 0 -6px;
    padding: 8px 0;
}
#cat-subnav ul, #cat-subnav ul li {
    padding: 0;
    margin: 0;
}
#cat-subnav ul li a {
    border: 2px solid #000;
    line-height: 23px;
    padding: 3px 8px;
    margin: 6px;
}
#cat-subnav ul li a:hover {
    border: 2px solid #c62f32;
}
#cat-subnav ul li.current a {
    border: 2px solid #c62f32;
    background: #c62f32;
    color: #fff;
}

/* ------------------------------------
HOMEPAGE
------------------------------------ */

.feature-areas {
    width:100%;
    margin-top: 10px;
    overflow: hidden;
    background: url("_inc/img/separator_vertical_dots.png") repeat-y center top;
}
.feature-column {
    width: 46%;
    float:right;
}
.feature-column:first-child {
    float:left;
}
.feature-area > img, .feature-area > a, .feature-area .feature-text, .feature-area h2, .feature_divider {
    margin: 0 0 20px;
    display: block;
}
.feature-area:last-child {
    margin-bottom: -20px;
}
.feature-area h2 {
    margin: 0 0 15px;
    font-size: 38px;
    line-height: 40px;
}
.feature-area a.button, .arrow-button, .feature-button {
    display: inline-block;
    white-space: nowrap;
    position: relative;
    height: 50px;
    padding: 13px 20px 13px 25px;
    text-align: left;
}
.feature-area a.button:after, .arrow-button:after, .feature-button:after {
    background: url("_inc/img/arrow_white_right.png") no-repeat center;
    content: ' ';
    width: 18px;
    height: 16px;
    display: inline-block;
    margin-left: 20px;
    vertical-align: middle;
}
.feature-area a.button:before, .arrow-button:before, .feature-button:before {
    content: ' ';
    width: 0; 
    height: 0; 
    border-top: 25px solid transparent;
    border-bottom: 25px solid transparent;    
    border-left: 25px solid #c62f32;
    position: absolute;
    top: 0;
    right: -25px;
} 
.feature_divider {
    background: url("_inc/img/separator_home.png") center center no-repeat;
    height: 21px;
    margin: 25px 0;
}
.feature-intro {
    font-size: 33px;
    line-height: 33px;
    font-family: 'Voltage W00 Light';
    font-weight: normal;
    margin-bottom: 6px;
}
.feature_special h2 {
    font-size: 48px;
    line-height: 61px;
    color: #fff;
    padding: 0 15px 0 12px;
}
.feature_special h2 span {
    background: #000;
    box-shadow: 15px 0 0 #000, -12px 0 0 #000;
    -webkit-box-decoration-break: clone;
    -ms-box-decoration-break: clone;
    -o-box-decoration-break: clone;
    box-decoration-break: clone;
}
.feature_special .button {
    margin-top: -6px;
}
.feature-area img {
    width: 100%;
    height: auto;
}

/* ------------------------------------
SIDEBAR
------------------------------------ */

#sidebar {
    
}
#sidebar ul, #sidebar ul li {
    margin: 0;
    padding: 0;
    list-style: none;
}
#sidebar > div {
    margin-bottom: 20px;
}
#sidebar .shop-features {
    border: 2px solid #000;
    padding: 6px 6px 0;
}
#sidebar .shop-features .shop-feature {
    background: #c62f32;
    color: #fff;
    margin: 0 0 5px;
    padding: 16px 28px;
    text-align: center;
}
.shop-feature h3 {
    font-size: 24px;
    line-height: 26px;
    margin: 0 0 4px;
}
.shop-feature p {
    margin: 0;
    font-style: italic;
    font-size: 13px;
}
.category-feature {
    background: #e9e9e9;
    font-size: 19px;
    font-weight: bold;
    padding: 5px 28px 34px;
}
.category-feature p {
    margin: 20px 0;
    font-style: italic;
}
.category-feature a.feature-button {
    font-style: normal;
    padding-right:10px;
}

/* ------------------------------------
404
------------------------------------ */

.not-found {
    background: url("_inc/img/404_bg.png") no-repeat top center;
    min-height: 290px;
    text-align: center;
    width: 100%;
    padding-top: 10px;
}

.not-found .take-me-to {
    font-size: 18px;
    font-style: italic;
    margin: 35px 0 5px;
}
.not-found .take-me-to:after {
    content: ' ';
    width: 16px;
    height: 19px;
    background: url("_inc/img/arrow_black_down.png") no-repeat;
    display: block;
    margin: 0 auto;
}

.not-found h2 {
    margin: 0;
}
.not-found h2 a {
    color: #000;
}

/* ------------------------------------
FOOTER
------------------------------------ */

footer {
    padding: 28px 30px 32px;
    margin: 30px 0 60px;
    -webkit-box-shadow: 0 2px 30px 0 rgba(0,0,0,0.2);
    box-shadow: 0 2px 30px 0 rgba(0,0,0,0.2);
    text-align: center;
} 

footer .footer-note {
    color: #6b6b6b;
    margin-top: 15px;
}

footer #top {
    background: url(_inc/img/top.png) no-repeat;
    width: 70px;
    height: 68px;
    display: block;
    position: absolute;
    top: -93px;
    left: 50%;
    margin-left: -35px;
    overflow: hidden;
    text-indent: -9999px; 
}

a#starfish { 
    background: url(_inc/img/starfish.png) top left no-repeat; 
    width: 84px; 
    height: 23px; 
    display: block; 
    text-align:left; 
    overflow: hidden; 
    text-indent: -9999em;
    margin: 15px auto -10px;  
}
a#starfish:hover { 
    background-position: bottom left; 
}

/* ------------------------------------
FORMS
------------------------------------ */

input[type='text'], input[type='password'], input[type='email'], input[type='number'], textarea,
button, input[type=submit], .button,
div.selector span {
    display: inline-block; 
    background: transparent;
    border:2px solid #000;
    color: #000;
    font-size:14px; 
    line-height:20px;
    font-family: "Archer SSm A","Archer SSm B", Helvetica, Arial, sans-serif;
    font-weight: 700; 
    width: 100%;
    vertical-align: middle;
    -webkit-appearance: none;
    -webkit-border-radius: 0px;
    box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -ms-box-sizing: border-box; 
    -webkit-box-sizing: border-box;
}

input[type='text'], input[type='password'], input[type='email'], input[type='number'] {
    padding:8px 10px;    
    height:40px;
}

textarea {
    padding:10px; 
    max-height: 120px;
} 

button, input[type=submit], .button {
    background: #c62f32;
    width: auto;
    padding: 12px 34px;
    text-align: center;
    cursor: pointer;
    text-decoration: none !important;
    color: #fff;
    font-family: 'Voltage W00 Light';
    font-size: 24px;
    font-style: normal;
    border: none;
    line-height: 24px;
    font-weight: normal;
    text-shadow: -1px -1px 0px rgba(113, 6, 13, 0.8);
    opacity: 1;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
}
input[type=submit] {
    height: 48px;
}
button:hover, input[type=submit]:hover, .button:hover {
    opacity: 0.9; 
}
.button.button-disabled {
    background: none repeat scroll 0 0 #fff;
    border: 2px solid #000;
    color: #000;
    cursor: default;
    text-shadow: none;
}

.button.button-fb {
    width: 100%;
    margin-top: 20px;
    background: #3b5998 url("_inc/img/fb.png") 15px 12px no-repeat;
}
.facebook-or {
    font-size: 17px;
    font-style: italic;
    margin: 0 0 -5px;
}

div.selector, div.selector span, div.selector select {
    height:40px;
    line-height:40px;
    color: #000;
}
div.selector {
    padding: 0;
    width: 100% !important;   
    border: none; 
    background: transparent !important; 
}
div.selector span {
    display: block;
    background:  transparent url("_inc/img/select.png") no-repeat right 16px !important;    
    width: auto !important;
    padding: 8px 40px 8px 10px;
    line-height: 20px; 
    text-shadow: none;   
}
div.selector select {
    width: 100%;
    top:0px; 
    left:0px; 
} 

div.checker, div.radio {
    margin: 0px 10px 4px 0;
    vertical-align: text-bottom;
} 
div.checker, div.checker span, div.checker input,
div.radio, div.radio span, div.radio input {
    height: 15px;
    width:15px;
    vertical-align: middle;
    box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -ms-box-sizing: border-box; 
    -webkit-box-sizing: border-box;
} 
div.checker input, div.radio input {
    left: 0;
    position: absolute;
    top: 0;
}
div.checker span, div.radio span {
    background: #fefefe;
    border: 2px solid #000;    
    vertical-align: top;
}
div.checker span.checked, div.radio span.checked {
    background: #fefefe url("_inc/img/checker.png") no-repeat center center !important;
}
/*div.radio, div.radio span, div.radio input {
    height: 15px;
    width:15px;
}
div.radio span {
    border: 2px solid #000;
    vertical-align: top;
    background:  #fff;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    position: relative;
}
div.radio span.checked:after {
    background: #000;
    -webkit-border-radius: 50px;
    border-radius: 50px;
    content: " ";
    height: 5px;
    left: 3px;
    position: absolute;
    top: 3px;
    width: 5px;   
}  */
form {
    margin: 0;
    padding: 0;
}
#content form ul, #content form ol,
form ul, #form ol {
    margin: 5px 0;
    padding: 0;
    list-style: none;
}
form label {
    display: block;
    font-style: italic;
    font-weight: 800;
    padding: 10px 0 1px;
}
form label.disabled {
    opacity: 0.2;
}
fieldset { 
    margin:0; 
    padding:0px; 
    border: none;
    position: relative;
}

.gform_wrapper {
    max-width: 300px;
}
.gform_description {
    font-style: italic;
}
.gform_footer {
    margin: 20px 0;
    position: relative;
}
#content form ul .ginput_container ul, #content form ul .ginput_container ul li,
form ul .ginput_container ul, form ul .ginput_container ul li {
    padding: 0;
    margin: 0;
}
.gform_wrapper .validation_message {
    display: block;
    padding: 5px 0;
    color: #cc2a38;
    font-size: 12px;
    line-height: normal;
}
.gform_ajax_spinner {
    margin: 0 10px;
    display: inline-block;
    vertical-align: middle;
}
.gform_wrapper .gform_validation_container {
    display: none;
}
#content .gform_wrapper .gfield_radio li, 
#content .gform_wrapper .gfield_checkbox li,
.gform_wrapper .gfield_radio li, 
.gform_wrapper .gfield_checkbox li {
   line-height: normal;
   padding: 4px 0 2px;
}
#content .gform_wrapper .gfield_radio li label, 
#content .gform_wrapper .gfield_checkbox li label,
.gform_wrapper .gfield_radio li label, 
.gform_wrapper .gfield_checkbox li label {
   max-width: 90%;
   display: inline-block;
   vertical-align: top;
   padding: 0;
}
.gform_wrapper .validation_error {
    padding: 15px 0 0;
    line-height: 1.6em;
    color: #cc2a38;
}
.gform_confirmation_message {
    padding: 30px 0;
}
#gform_3 .gform_description {
    display: none;
}
#gform_3 .gform_heading h3 {
    margin: 30px 0 -6px;
}
#gform_3 .gform_footer .button {
    width: 100%;
    height: 50px;
    background: #c62f32 url("_inc/img/newsletter_icon.png") 24% 12px no-repeat;
    padding: 12px 10px 12px 31%;
    text-align: left;
}
#gform_2 h3 {
    margin-top: 10px
}
.newsletter-dropdown input[type='text'], .newsletter-dropdown input[type='password'], .newsletter-dropdown input[type='email'], 
.newsletter-dropdown input[type='number'], .newsletter-dropdown textarea,
.newsletter-dropdown div.selector span {
    border-width: 1px;
    border-color: #fff;
    color: #fff;
    font-style: italic;
}
.newsletter-dropdown label {
    font-size: 16px;
    padding: 12px 0 5px;
}
.newsletter-dropdown .gform_ajax_spinner {
    display: none;
}
.newsletter-dropdown .validation_error {
    display: none;
}
.newsletter-dropdown #gform_3 .gform_footer .button {
    background-position: 22% 12px;
}
.close-popup {
    width: 25px;
    height: 25px;
    background: #c62f32 url("_inc/img/remove.png") center no-repeat;
    overflow: hidden;
    text-indent: -9999px;
    position: absolute;
    top: 0;
    right: 0;
    display: block;
}

.searchform {
    margin-bottom: 20px;
    position: relative;
}
.searchform label {
    display: none;
}
.searchform input[type='text'] {
    height: 56px;
    padding: 16px 43px 16px 16px;
}
.searchform ::-webkit-input-placeholder {
   color: #323232;
   font-style: italic;
}
.searchform ::-moz-placeholder {
   color: #323232;
   font-style: italic;  
}
.searchform :-ms-input-placeholder {  
   color: #323232;
   font-style: italic;  
}
.searchform input[type='submit'] {
    height: 56px;
    width: 45px;
    position: absolute;
    right: 0;
    top: 0;
    padding: 0;
    font-size: 0;
    background: url("_inc/img/search.png") no-repeat 10px center;
}


/* ------------------------------------
EVERYTHING ELSE, MISCELLANEOUS STUFF
------------------------------------ */
.google-maps {
    position: relative;
    padding-bottom: 65%;
    height: 0;
    border: 2px solid #000;
    margin-bottom: 33px;
}
.google-maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: 4px solid #fff;
    box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -ms-box-sizing: border-box; 
    -webkit-box-sizing: border-box;
}
.google-maps > a {
    font-style: italic;
    font-weight: 800;
    position: absolute;
    right: 0;
    top: -38px;
}
.google-maps > a:before {
    content: "+";
    font-size: 23px;
    font-style: normal;
    font-weight: 800;
    vertical-align: sub;
    margin-right: 2px;
}

.clear {
    clear:both;
}
.flex-container {
    display: -webkit-flex;  /* NEW, Chrome 21–28, Safari 6.1+ */
    display: -ms-flexbox;   /* MID: IE 10 */
    display: flex;          /* NEW: IE11, Chrome 29+, Opera 12.1+, Firefox 22+ */
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
hr {
    border: none;
    border-top: 2px solid #000;
    clear: both;
    display: block;
    height: 1px;
    margin: 25px 0;
    padding: 0;
}
.alignright {
    clear: right;
    float: right;
    margin: 20px 0px 20px 35px;
    max-width: 100%;
}

.alignleft {
    clear: left;
    float: left;
    margin: 20px 35px 20px 0px;
    max-width: 100%;
}

.aligncenter {
    margin: 20px auto;
    max-width: 100%;
    display: block;
}

.alignnone {
   margin: 20px 0; 
   max-width: 100%;
}

.wp-caption-text {
    font-style: italic;
    font-size: 14px;
    line-height: 18px;
    margin-top: 3px;
}

blockquote, .feature-text {
    font-size: 17px;
    font-style: italic;
    line-height: 27px;
    padding: 12px 30px;
    margin: 25px 0;
    border: 2px solid #000;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-top: 2px solid #dfdfdf;
    border-left: 2px solid #dfdfdf;
    color: #352f26;
    margin: 25px 0;
}
table td, table th {
    border-bottom: 2px solid #dfdfdf;
    border-right: 2px solid #dfdfdf;
    padding: 10px 10px;
    vertical-align: top;
    text-align: left;
    font-weight: 700;
}
table th {
    font-style: italic;
    font-size: 18px;
    font-weight: 800;
}
.navigation {
    display: block;
    clear: both;
    overflow: hidden;
}
.navigation .alignleft, .navigation .alignright {
    margin: 0;
}
.navigation .alignleft a, .navigation .alignright a {
    margin: 20px 0;
    display: block;
    font-weight: bold;
}
#commentform label {
    float: none;
    width: auto;
    display: block;
    padding-bottom: 2px;
}
#content .commentlist {
    margin: 0;
    padding: 0;
    list-style: none;
}
#comments {
    border-top: 1px solid #e5e5e5;
    padding-top: 28px;
    margin-bottom: 22px;
}
#respond {
    border-top: 1px solid #e5e5e5;
    margin-top: 10px;
    padding-top: 5px;
}

/* ------------------------------------
PRODUCTS
------------------------------------ */

.product-listing-content h1 {
    background: #000;
    color: #fff;
    line-height: 55px;
    height: 56px;
    margin: 0 20px 20px;
    text-align: center;
    position: relative;
}
.product-listing-content h1 > span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
    padding: 0 10px;  
}
.product-listing-content h1.listing-headline > span {       
    padding: 0 140px 0 10px;   
}
.product-listing-content h1:before, .product-listing-content h1:after {
     content: ' ';
     width: 0; 
     height: 0; 
     position: absolute;
     top: 0;
     border-style: solid;
     border-width: 28px 0 28px 20px;
     border-color: #000 transparent;
     left: -20px;
     -webkit-transform:rotate(360deg)
}
.product-listing-content h1:after {
    left: auto;
    right: -20px;
    border-width: 28px 20px 28px 0;
}
.product-listing-content h1.listing-headline:after {
    display: none;
}

.product-shortdescription h3.product-subtitle {
    font-size:19px;
    font-style: normal; 
    line-height: 22px;
}

.next-button {
    line-height: 26px;
    padding: 15px 10px 15px 25px;
    position: absolute;
    height: 56px;
    top: 0;
    right: 0;
    text-transform: none;
    opacity: 1 !important;
}
.next-button:before {
    border-width: 28px 0 28px 20px;
    border-color: transparent transparent transparent #c52e31;
    right: -20px;
}
.next-button:after {
    margin-left: 12px;
}
.product-listing-content .intro-text {
    text-align: center; 
}
#store {
    width: 100%;
    overflow: hidden;
}
.product_item { 
    width:48%;
    float:left;
    margin: 10px 4% 10px 0;
    position: relative; 
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}
.product_item:nth-child(2n) {
    margin-right: 0;    
}
.product_item:nth-child(2n+1) {
    clear: both;    
} 

.product_item .product-info {
    border: 2px solid #000;
    font-style: italic;
    font-weight: 800;
    padding: 5px 5px 45px;
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 20px;
    position: relative;
    -webkit-flex: 1 0 auto;
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
}
.product_item .product-shortdescription {
    margin: 15px 5px 0;   
}
.product_item .product-button {
    position: absolute;
    bottom: -20px;
    left: 0;
    text-align: center;
    width: 100%; 
}
.product_item .button {
    opacity: 1 !important; 
} 
.product-thumb {
    position: relative;
    margin-bottom: 8px;
    display: block;
    font-size: 0;
    -webkit-flex: 0 0 auto;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}
.product-thumb img {
    width: 100%;
    height: auto;
}
.product-thumb .tags {
    position: absolute;
    right: 10px;
    top: 10px;    
    text-align: right;   
}
.product-tag {
    font-family: 'Nexa Rust Sans W00 Black';
    color: #fff;
    font-size: 12px;
    line-height: 30px;
    font-weight: normal;
    text-transform: uppercase;
    display: block;
    text-align: center;
    width: 33px;
    height: 33px;
    font-style: normal;
    background: rgba(0,0,0,0.8);
    margin-bottom: 5px;
    border: 2px solid #c62f32;
    border-radius: 33px;
    box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -ms-box-sizing: border-box; 
    -webkit-box-sizing: border-box;
}
.product-tag.new {    
    width: 42px;
    height: 42px;
    border-radius: 42px;     
    line-height: 43px;
    padding: 2px; 
    background: transparent;
    box-sizing: content-box; 
    -moz-box-sizing: content-box; 
    -ms-box-sizing: content-box; 
    -webkit-box-sizing: content-box;
}
.product-tag.new .inner {
    background: #c62f32;
    display: block; 
    border-radius: 42px; 
    height: 100%;
}
.product-thumb .product-tag.new, #product_image .product-tag.new {
    position: absolute;
    left: 10px;
    top: 10px; 
}
.tag-legend .product-tag {
    display: inline-block;
    margin: 0 5px 10px 0; 
}
.tag-legend {
    border-top: 2px solid #e0e0e0;
    margin: 10px 0 0;
    padding: 15px 0 0;
}
.tag-legend-item {
    margin-right: 20px;
    font-weight: 800;
    font-style: italic;
    display: inline-block;
}
.product_item .product-name, .product_item .product-price-sale {
    font-family: 'FestivoLC-Basic';
    font-weight: normal;
    text-transform: uppercase;
    font-size:30px;
    line-height: 30px;
    color: #fff;    
    display: block;
    font-style: normal;
    text-align: left;
    overflow: hidden;
    padding: 8px 0 8px 10px;
}
.product_item .product-name, .product_item .product-title, .product_item .product-price {
    background: #000;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;    
} 
.product_item .product-name:before {
    content: "....................................................";
    float: left;
    font-size: 18px;
    line-height: 18px;
    letter-spacing: 3px;    
    padding-top: 10px;
    white-space: nowrap;
    width: 0;    
}
.product_item .product-title {
    box-shadow: 7px 0 0 #000, 0px 0 0 #000;
    -webkit-box-decoration-break: clone;
    -ms-box-decoration-break: clone;
    -o-box-decoration-break: clone;
    box-decoration-break: clone;
}
.product_item .product-price {
    float: right;
    padding-left: 6px;
    margin-left: 8px;
    padding-right: 10px;
    max-width: 80px;
}
.product_item .product-price.discounted {
    text-decoration: line-through;
}
.product_item:hover .product-name, .product_item:hover .product-title, .product_item:hover .product-price {
    background: #c62f32;
}
.product_item:hover .product-title {
    box-shadow: 7px 0 0 #c62f32, 0px 0 0 #c62f32;
}
.product_item .product-price-sale {
    position: absolute;
    right: 0;
    bottom: 0;
    background: #c62f32;
    padding: 6px 10px; 
}
.product_item .product-options {
    margin: 0 auto;
    max-width: 80%;
    text-align: left;
    display: inline-block;
}

.pagination {
    clear: both;
    text-align: right;    
    margin: 25px 0 10px;
}
.pagination.bottom {
    clear:both;
}
.pagination .page-numbers {
    font-family: 'Nexa Rust Sans W00 Black';
    display: inline-block;
    line-height: 25px;
    vertical-align: middle;
    text-align: center;
    font-size: 18px;
    font-weight: normal;
    width: 30px;
    height:25px;
    color: #000;
}
.pagination .page-numbers.current {
    color: #c62f32;
}
.pagination .disabled {
    opacity: 0.2 !important;
}
.pagination .page-numbers.prev, .pagination .page-numbers.next {
    overflow: hidden;
    text-indent: -9999px;
    text-align: left;
    background: url("_inc/img/arrow_black_left.png") no-repeat center center;
}
.pagination .page-numbers.next {
    background: url("_inc/img/arrow_black_right.png") no-repeat center center;
}

.product-listing-content a.back {
    margin: -30px 5px 11px 18px;
    display: block;
    color: #000;
    line-height: 19px;
    font-size: 15px;
    font-weight: 800;
    padding-left: 25px;
    font-style: italic;
    background: url("_inc/img/arrow_black_left.png") no-repeat left center;
}
.product-listing-content a.back:hover {
    color: #c62f32;
}
#product_image {
    position: relative;
    margin: 25px 0 20px;
}
#product_image img {
    width: 100%;
    height: auto;
}

#product-gallery {
    box-shadow: none;
    border-radius: 0;
    border: none;
    margin: 0; 
} 
#product-gallery ul.slides {
    margin: 0;
    padding: 0;    
}
#content .flex-direction-nav {
    margin: 0;
    padding: 0;    
}
.flex-direction-nav a {
    opacity: 1 !important;
    box-shadow: none;    
    text-shadow: none;
    width: 45px;
    height: 56px; 
    margin: -28px 0 0; 
    overflow: visible;  
    font-size: 0;
}
.flex-direction-nav .flex-prev {
    left: 0 !important;
    background: #000 url("_inc/img/arrow_white_left.png") no-repeat center;
}
.flex-direction-nav .flex-next {
    right: 0 !important;
    background: #000 url("_inc/img/arrow_white_right.png") no-repeat center;
}
.flex-direction-nav a.flex-prev:before, .flex-direction-nav a.flex-next:before {
    content: ' ';
    width: 0;
    height: 0;
    position: absolute;
    top: 0;
    border-style: solid;
    border-width: 28px 0 28px 20px;
    border-color: #000 transparent;
    left: -20px;
    -webkit-transform: rotate(360deg);
}
.flex-direction-nav a.flex-prev:before {
    left: auto;
    right: -20px;
    border-width: 28px 20px 28px 0;
}
 
#product_description {
    float:left;
    width: 44%;
    margin: 0 3% 20px;
} 
#product_description .main-description p {
    font-size: 16px;
    font-style: italic;
}
#product_description .tags .product-tag {
    display: inline-block;
    margin: 0 10px 5px 0;
}
.other-description p {
    font-style: italic;
    font-weight: 800;
    font-size: 15px;
}
.other-description.nutrition p {
    font-size: 14px;
    line-height: 24px;
}
.other-description.allergy-note {
    margin-top: 10px;
}
.other-description h3,
.other-description h4 {
    margin: 15px 0 -5px;
}

#product_form {
    float: right;
    width: 44%;
    margin: 0 3% 20px;
}
#product_form .button {
    width: 100%;
    margin: 15px 0;
}
#product_form .product-price {
    float: right;
    text-align: right;
    font-family: "FestivoLC-Basic";
    font-size: 36px;
    font-style: normal;
    font-weight: normal;
    line-height: 36px;
    padding: 0 0 0 10px;
    text-transform: uppercase;
}
#product_form form {
    margin-top: 10px;
}
.product-options li label {
    padding: 5px 0 0;
    overflow: hidden; 
}
.product-options li .radio, 
.product-options li input[type='radio'],
#checkout_form .radio, 
#checkout_form input[type='radio'],
#checkout_form .checker, 
#checkout_form input[type='checkbox'] {
   float:left;
   margin: 3px 10px 0 0;
}
.product-options li .labelafter,
#checkout_form .checkbox-label {
   margin-left: 25px;
   display: block;
}
#checkout_form .checkbox-label {
    line-height: 22px;   
}

#related-products {
    border-top: 2px solid #e0e0e0;
    padding-top: 10px;
}
#related-products.previous-orders {
    border-top: 0;
}
#related-products .product_item {
    clear:none;
    margin: 10px 2.2% 25px 0;
    width: 31.8%;
}
#related-products .product_item {
    clear:none;
    margin: 10px 2.2% 25px 0;
    width: 31.8%;
}
#related-products .product_item:nth-child(3) {
    margin-right: 0;
}
#related-products .product_item .tags {
    display: none;
}
#related-products .product_item .product-name, #related-products .product_item .product-price-sale {
    font-size:20px;
    line-height: 20px;
}
#related-products .product_item .product-name:before {
    padding-top: 1.5px;  
} 

.confirmation-popup {
    padding:25px;
    border: 2px solid #000;
    width: 380px;
    text-align: center;
    max-width:100%;
    background:#ffffff;
    box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    -ms-box-sizing: border-box; 
    -webkit-box-sizing: border-box;
}
.confirmation-popup h3 {
    line-height: 28px;
}
.confirmation-popup p {
    margin: 15px 0;
    font-style: italic;
    font-weight: 800;
    font-size: 15px;
}
.confirmation-popup .buttons {
    clear:both;
    overflow: hidden;
    margin-top: 15px;
    padding: 0 0 20px;
}
.confirmation-popup .buttons .button {
    margin: 5px 3px;
    padding: 12px 24px; 
    float: none;
}
 
.old-price { text-decoration: line-through;}

.button.add-to-cart {
    position: relative;
}
.button.add-to-cart:before {
    content: ' ';
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.5);
    z-index: 1;
}
.button.add-to-cart.loading:before {
    display: block;
}

#my-lunchbox {
    background: #0e0e0e url("_inc/img/lunchbox_bg.jpg") no-repeat center -40px;
    z-index: 11;
    padding: 10px 20px 15px;
    box-sizing: border-box;
    color: #fff; 
    position: relative;
    -moz-box-sizing: border-box; 
    -ms-box-sizing: border-box; 
    -webkit-box-sizing: border-box;
}
#my-lunchbox:before {
    content: ' ';
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 1;
}
#my-lunchbox.loading:before {
    display: block;
}
#my-lunchbox h3 {
    color:#fff;
    font-size: 42px;
    margin: 12px -10px 20px;
    padding: 0 0 8px;
    text-align: center;
    background: url("_inc/img/lunchbox_underline.png") no-repeat center bottom;
}
#my-lunchbox h4 {
    margin: 10px 0;
}
#my-lunchbox div.selector, #my-lunchbox select {
    background: #e6e6e6 !important;
}
#my-lunchbox label {
    display: block;
    font-style: italic;
    font-weight: 800;
    margin: 0 0 5px;
}
#my-lunchbox p {
    display: block;
    font-style: italic;
    font-weight: bold;
    margin: 20px 0;
}
#my-lunchbox .lunchbox-date-select p {
    margin-bottom: 0;
}
#my-lunchbox .button {
    margin: 15px 0;
} 
.cart-item {
    position: relative;
    padding-left: 23px;
    margin: 12px 0;
    line-height: 17px;
    font-size: 15px;
    font-style: italic;
    font-weight: bold;
    overflow: hidden;
}
.cart-item .cart-amount {
    padding-left: 8px;
    float:right;
}
a.remove {
    width: 17px;
    height: 17px;
    background: #c62f32 url("_inc/img/remove.png") center no-repeat;
    overflow: hidden;
    text-indent: -9999px;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
}
.cart-totals {
    margin-top: 20px;
} 
.cart-totals .cart-item {
    font-size: 16px;
    line-height: 18px;
    margin: 9px 0;
}
.cart-totals .cart-total,
.cart-totals .cart-delivery,
.cart-totals .cart-coupon-form {
    padding-left:0;
}
.cart-totals .cart-total {
    font-size: 20px;
    line-height: 22px;
}
#my-lunchbox .cart-item .cart-name {
    display: inline;
    box-decoration-break: clone;
    box-shadow: 5px 0 0 #000, 5px 0 0 #000;
}
#my-lunchbox .cart-item:before {
    content: "....................................................";
    float: left;
    letter-spacing: 3.5px;
    font-size: 15px;    
    white-space: nowrap;
    width: 0;
}
#my-lunchbox .cart-item .cart-name, #my-lunchbox .cart-item .cart-amount {
    background: #000;
    z-index: 1;
}
#my-lunchbox .cart-totals .cart-total:before {
    padding-top: 2px;
}


/* ------------------------------------
SHOPPING CART (MY LUNCHBOX)
------------------------------------ */

.checkout-page-content h1 {
    margin-left: -15px;
    margin-right: -15px;
    padding: 0 15px 14px;
    position: relative;
    overflow: hidden;
    background: url("_inc/img/separator_horizontal_dots.png") repeat-x left bottom; 
}
.checkout-page-content h4 {
    padding-top: 5px;
}
.checkout-page-content .cart-item, .checkout-page-content .cart-totals {
    font-size: 17px;
    line-height: 20px;
    padding: 0 0 20px;
    margin:20px 0;
    border-bottom: 2px solid #e0e0e0;
}
.checkout-page-content .cart-totals .cart-item {
    border-bottom: none;
    margin: 0;
    padding: 0;
}
.checkout-page-content .cart-name a { 
    color: #000;
}
.checkout-page-content .cart-item .remove,
.checkout-page-content .cart-item .cart-name,
.checkout-page-content .cart-item .cart-amount,
.checkout-page-content .cart-item .cart-note {
    float:left;
    position: static; 
    margin-top: 10px;
}
.checkout-page-content .cart-item .remove {
    margin-right: 8px;
}  
.checkout-page-content .cart-item .cart-name {
    width: 165px;
}
.checkout-page-content .cart-item .cart-amount {
    width: 70px;
    text-align: right;
}
.checkout-page-content .cart-item .cart-note {
    margin-top: 0;
    float:right;
    width: 400px;
    position: relative;
}
.checkout-page-content .cart-item .cart-note input {
    font-style: italic;
    font-weight: 800;
}
.checkout-page-content .cart-item .cart-note input.saved {
    background-color: #ebebeb;
    border-color: #ebebeb;    
}
.checkout-page-content .coupon-input {
    width: 180px;
}
.checkout-page-content .shopping-cart-button {
    height: 40px;
    padding: 7px 20px;
    text-shadow:none;
    background: transparent;
    color: #c62f32;
    font-family: "Archer SSm A","Archer SSm B",Helvetica,Arial,sans-serif;
    font-style: italic;
    font-size: 17px;
    font-weight: 800;
}
.checkout-page-content .cart-totals .cart-total .cart-name {
    width: 188px;
}
.checkout-page-content .cart-totals .cart-total {
    font-size: 22px;
    line-height: 24px;
    margin-top: 20px;
}


/* ------------------------------------
CHECKOUT
------------------------------------ */
#checkout-nav {
    margin: 0 0 25px;
}
#checkout-nav ul, #checkout-nav li {
    padding: 0;
    margin: 0;
    background: #000;
}
#checkout-nav ul li a {
    background: #000;
    width: auto;
    padding: 16px 23px 16px 27px;
    text-align: center;
    cursor: pointer;
    text-decoration: none !important;
    text-transform: none;
    color: #fff;
    font-family: 'Voltage W00 Light';
    font-size: 24px; 
    font-style: normal;
    line-height: 24px;
    font-weight: normal;
    text-shadow: -1px -1px 0px rgba(113, 6, 13, 0.8);
    position: relative;
}
#checkout-nav ul li {
    margin-right: 20px;
}

#checkout-nav ul li:first-child:before, #checkout-nav ul li:last-child:after,
#checkout-nav ul li.active:before, #checkout-nav ul li.active:after { 
     content: ' ';
     width: 0; 
     height: 0; 
     position: absolute;
     top: 0;
     -webkit-transform:rotate(360deg);
     border-style: solid;
     border-width: 28px 0 28px 20px;
     border-color: #000 transparent;
     left: -20px;
}
#checkout-nav ul li:last-child:after, #checkout-nav ul li.active:after {
    left: auto;
    right: -20px;
    border-width: 28px 0 28px 20px;
    border-color: transparent transparent transparent #000;
}
#checkout-nav ul li.active:before {
    border-color: #c62f32 transparent;
}
#checkout-nav ul li.active:after {
    border-color: transparent transparent transparent #c62f32;    
}
#checkout-nav ul li.active {
    z-index: 12;    
}
#checkout-nav ul li.active a {
    background: #c62f32;   
}
#checkout-nav ul li.disabled a {
    cursor: default;
}
 
#checkout_form {
    max-width: 700px;
}
#checkout_form h3 {
    font-size: 25px;
    line-height: 28px;
    margin: 6px 0;
}
#checkout_form .fieldset {
    display: inline-block;
    vertical-align: top;
    width: 43%;
    margin-bottom: 20px;
}
#checkout_form .fieldset .input_check {
    display: none;
}
#checkout_form .fieldset.right {
    float: right;
} 
#checkout_form .fieldset.fullsize {
    width: 100%;
}
.form-section {
    margin: 20px 0;
    border-bottom: 2px solid #e0e0e0;
    overflow: hidden;
}
.bigbuttons {
    margin: 20px 0 5px;
} 
.bigbuttons .button {
    margin-right: 8px;
}
.checkout-buttons {
    margin-top: 25px;
} 
.checkout-buttons .button {
    width: 300px;
    padding: 12px 10px;
}
.checkout-buttons .button.next {
    float:right;
}
.checkout-buttons .button.prev:before, .checkout-buttons .button.next:after {
    background: url("_inc/img/arrow_white_right.png") no-repeat center center;
    content: " ";
    display: inline-block;
    height: 16px;
    margin: 0 0 0 15px;
    vertical-align: middle;
    width: 18px;
}
.checkout-buttons .button.prev:before {
    background: url("_inc/img/arrow_white_left.png") no-repeat center center;
    margin: 0 15px 0 0;
}
.errormsg, .status {
    color:#c62f32;
}
.errormsg {
    display: block;
    font-size: 12px;
    line-height: normal;
    padding: 5px 0;
} 
.forgot-link {
    margin:10px 0;
    display: inline-block;
    font-style: italic;
}
.account-signup-checker, .account-signup-checker label {
    padding: 0;
    margin: 0 0 -4px;
}
#checkout_form li .note {
    display: block;
    font-size: 12px;
    line-height: normal;
    margin: 0 0 10px;
    color: #646464;
    font-style: italic; 
}
#checkout_form li.del-address-selection .note {
    margin: 5px 0 0;
}
.form-section p {
    font-weight: 800; 
    margin: 10px 0;
} 

.bold-delivery-time {
    font-weight: 800 !important;
    font-size: 15px;
    margin-bottom: -8px !important;
}

#checkout_form li.small-field {
    width: 48.5%;
    margin-right: 3%;
    display: inline-block;
}
#checkout_form li.small-field.right {
    margin-right: 0;
}

.checkout-page-content .payment-summary .cart-item, .checkout-page-content .payment-summary .cart-totals, 
.checkout-page-content .payment-summary .cart-totals .cart-item {
    border: none;
    margin: 0;
    padding: 0;
    font-weight: 800;
} 
.checkout-page-content .payment-summary .cart-totals,
.checkout-page-content .payment-summary .cart-items {
    margin-top: 8px;
}
.checkout-page-content .payment-summary .cart-item .cart-name,
.checkout-page-content .payment-summary .cart-totals .cart-total .cart-name {
    width: 68%;
    max-width: 165px;
}
.checkout-page-content .payment-summary .cart-item .cart-amount {
    width: 28%;
    max-width: 70px;
    padding: 0;
    margin-left: 2%;
}

.delivery-address {
    margin: 15px 0 0;
    font-size: 17px;
    font-weight: 800;
    font-style: italic;
    line-height: 23px;
}
.delivery-address p {
    margin: 8px 0;
    line-height: 23px;
}
.delivery-summary .smallbutton {
    font-weight: 800;
    font-style: italic;
}


/* ------------------------------------
MEDIA QUERIES
------------------------------------ */

@media screen and (max-width:1030px) {
    
    #main-nav ul li, #account-nav ul li {
        font-size: 18px;   
    }
    header #logo {
        width: 230px;
        height: 235px;
        margin-left: -115px;
    }
}

@media screen and (min-width:960px) {
    #my-lunchbox {
        display: block !important;
    }   
}
    
@media screen and (max-width:959px) {
     body, #main, footer {
         background: #fffefc;
     }
     #main, footer {
         margin: 0;
         padding: 0;
         -webkit-box-shadow: none !important;
         box-shadow: none !important;
     }
     #main {
         padding-bottom: 20px;
     }
     footer {
         margin-top: 18px;
         margin-bottom: 50px;
     } 
     footer #top {
         top: -82px;
     }
     #footer-nav li {
         font-size: 14px;
         padding: 2px 0 8px;
     }
     #footer-nav li a {
        padding: 0;
     }
     footer .footer-note {
         font-size: 13px;
         margin-top: 10px;
     }
     #top-meta-area, .header-feature-left, header nav {
         display: none;
     }
     header {
        height: 110px;
     }
     header img.clear {
         visibility: hidden;
     }
     header #logo {
         width: 97px;
         height: 99px;
         left: 50px;
         top: 15px;
         margin-left: 0;
     }
     .header-feature-right {
        display: block;
        left: 160px;
        margin: 0;
        position: absolute;
        top: 48px;
    }
    .header-feature-right > a > img {
        display: none;
    }
    .header-feature-right > a:before {
        content: 'My Lunchbox';
        font-family: "FestivoLC-Basic";
        font-size: 23px;
        font-weight: normal;
        line-height: 24px;
        text-transform: uppercase;
        color:#000;
    }
    header .cart-panel {
        bottom: auto;
        right: auto;
        top: 26px;
        left: 0;
        font-size: 12px;
        line-height: 14px;
    }
    .order-lunch-categories {
        margin: 25px 0 30px;
    }
    .mobile-section {
        display: block;
        padding: 8px 26px;
        border-top: 2px solid #000;
        border-bottom: 2px solid #000;
        margin: 0 -15px;
        position: relative;
        z-index: 12;
    }
    .mobile-lunchbox-handle {
        float: right;
        font-family: "FestivoLC-Basic";
        color: #fff;
        background: #cc2a38 url("_inc/img/select_white.png") no-repeat right 10px;
        text-transform: uppercase;
        font-size: 20px;
        line-height: 20px; 
        padding: 1px 30px 3px 18px;
        font-weight: normal;       
    }
    @supports (-webkit-appearance:none) {
        .mobile-lunchbox-handle {
           padding: 2px 30px 2px 18px;       
        } 
    }
    .mobile-menu {
        font-family: "FestivoLC-Basic";
        display: inline-block;
        font-size: 22px;
        text-transform: uppercase;
        font-weight: normal;
        padding-left: 32px;
        line-height: 25px;
        color: #000; 
        background: url("_inc/img/mobile-menu.png") no-repeat left 5px;
    }
    
    #mobile-menu {
        display: none;
        background: #000;
        left: 0;
        padding: 20px 0 10px;
        position: absolute;
        top: 43px;
        width: 295px;
        z-index: 15;
    }
    #mobile-menu ul, #mobile-menu li, #mobile-menu li a {
        display: block;
    }
    #mobile-menu ul li {
        margin: 0;
    }
    #mobile-menu ul li a {
        padding: 10px 18px;
        border-bottom: 2px solid #1e1e1e;
        color: #fff;
        font-size: 18px;
    }
    #mobile-menu ul:last-child li:last-child a {
        border-bottom: 0;   
    }
    
    #mobile-menu .searchform {
        margin: 0 10px 10px;
    }
    #mobile-menu .searchform input[type='text'] {
        border-color: #c4c1c1;
        color: #fff;
        padding: 16px 40px 16px 14px;
    }
    #mobile-menu .searchform ::-webkit-input-placeholder {
       color: #fff;
       font-size: 13px;
    }
    #mobile-menu .searchform ::-moz-placeholder {
       color: #fff;
       font-size: 13px;  
    }
    #mobile-menu .searchform :-ms-input-placeholder {  
       color: #fff;
       font-size: 13px;  
    }
    #mobile-menu .searchform input[type='submit'] {
        background-image: url("_inc/img/search_white.png");
        width: 40px;
    }
    h1 {
        font-size: 39px;
        line-height: 42px;
        margin-bottom: 10px;
    }
    .intro-text p, blockquote, .feature-text, table th {
        line-height: 1.65em;
        font-size: 15px;
    }
    .feature-column {
        width: 48%;
    } 
    .feature-intro {
        font-size: 27px;
        line-height: 27px;
    } 
    .feature-area h2 {
        font-size: 25px;
        line-height: 27px;
        margin: 0 0 11px;
    }
    .feature_special h2 {
        font-size: 33px;
        line-height: 44px;
    }
    .feature_special .button {
        margin-top: -2px;
    }
    .product_item .product-name, .product_item .product-price-sale {
        font-size:26px;
        line-height: 26px;
    }
    .product_item .product-name:before {
        padding-top: 7px;  
    }
    #my-lunchbox {
        position: absolute;
        right: 0;
        top: 170px;
        z-index: 11;
        display: none;
        width: 300px;
    } 
    #my-lunchbox.mobile-lunchbox {
        top: 43px;
    }    
}

@media screen and (max-width:820px) {
    
    #main-column, #sidebar {
        width: 100% !important;
        float: none !important;
    }
    #sidebar {
        margin: 25px 0 0;
    }
    .product-listing-content {
        background: transparent;
        margin: 45px 0 0;
    }
    .product-listing-content #sidebar {
        margin: 0;
    }
    .tag-legend {
        padding: 15px 0;
    }
    .checkout-page-content {
        margin: 45px 0px 0;
    }
    .checkout-page-content h1 {
        margin-left: 0;
        margin-right: 0;
        padding: 0 0 12px;
    }
    #checkout-nav ul {
        margin: 0 20px;
    }
    #checkout-nav ul li a {
        padding: 16px 15px 16px 18px;
    }
    
}

@media screen and (max-width:720px) {
    .checkout-page-content .cart-item .cart-note {
        clear: both;
        float:none;
        max-width: 400px;
        padding-top: 12px;
        width: 100%;
    }
    #checkout-nav ul li a {
        font-size: 19px;
        padding: 16px 5px 16px 15px;
    }
}

@media screen and (max-width:690px) {
    
    .choose-date {
        margin-left: 0;
    }
    .choose-date .date-label {
        display: none;
    }
    .choose-date .date-selector:before {
        border-bottom: 20px solid #cb2c3a;
        border-left: 15px solid transparent;
        border-top: 20px solid #cb2c3a;
        content: " ";
        height: 0;
        left: -15px;
        position: absolute;
        top: 0;
        width: 0;
    }
    
    .post-content {
        padding: 5px 10px 25px;
    }
    
    table th, table td {
        font-size: 13px;
        line-height: normal;
        padding: 5px;
    }
    .checkout-buttons .button {
        width: 100%;
    }
    .checkout-buttons .button.next {
        margin-top: 15px;
        float:none;
    }
    
}

@media screen and (max-width:620px) {
     .feature-areas {
        background: transparent;
        margin: 0;
    }
    .feature-column {
        width: 100%;
    }
    .feature-areas:first-child .feature-area:last-child {
        margin-bottom: 0;
    }
    h1 .next-button {
        display: none;
    }
    .product-listing-content h1.listing-headline:after {
        display: block;
    }
    .product-listing-content h1.listing-headline > span {
        padding: 0 10px;   
    }
}  

@media screen and (max-width:580px) {
    #product_description, #product_form {
        margin: 0 0 20px;
        width: 100%;
        float:none;
        clear:both;
    }
    #checkout-nav ul li:first-child:before, #checkout-nav ul li:last-child:after, #checkout-nav ul li.active:before, #checkout-nav ul li.active:after {
        display: none;
    }
    #checkout-nav ul, #checkout-nav li {
        background: transparent;
        margin: 0;
        overflow: hidden;
        display: block;
    }
    #checkout-nav ul li {
        margin: 0;
        width: 50%;        
        float:left;  
    }
    
    #checkout-nav ul li a {
        display: block;
        padding: 8px 0 5px;
        margin: 0 5px 5px 0;
    }
    #checkout-nav ul li:nth-child(2n) a {
        margin-right: 0;
    }
    #checkout_form .fieldset {
        width: 47%;
    }
    
} 

@media screen and (max-width:480px) {
    
    .mobile-section {
        padding: 8px 15px;
    }
    #mobile-menu, #my-lunchbox {
        width: 100%;
    }
    #category-nav li {
        width: 48%;
    }
    .google-maps > a {
        top: auto;
        bottom: -28px;
    }
    .google-maps {
        margin-bottom: 40px;
    } 
    #content {
        margin: -5px -5px 0; 
    } 
    .product_item, #related-products .product_item {
        margin-right: 0;
        float: none;
        clear:both;
        width: 100%;
        display: inline-block;   
    }
    .tag-legend-item {
        display: block;
        margin-right: 0;
    }
    .product-listing-content h1 > span {
        font-size: 32px;
    }
    #product_image {
        margin: 20px 0 10px;
    }
    #checkout_form .fieldset {
        width: 100%;
    }
    #checkout_form .fieldset.right {
        float: none;
    }
      
}

@media screen and (max-width:360px) {
    
    .choose-date, .choose-date .date-selector {
        display: block;
    }
    .choose-date .date-selector:before,
    .choose-date .date-selector:after {
        display: none;
    }
    .choose-date .date-selector span,
    .choose-date .date-dropdown {
        width: 100%;
        box-sizing: border-box; 
        -moz-box-sizing: border-box; 
        -ms-box-sizing: border-box; 
        -webkit-box-sizing: border-box;
    }
    .confirmation-popup {
        padding: 15px;
    }
    .confirmation-popup .buttons .button {
        padding: 12px 18px;
        font-size: 22px;
    }
}