/*! Type */

@font-face {
    font-family: 'Andada';
    src: url('/type/andadasc-regular-webfont.woff2') format('woff2'),
         url('/type/andadasc-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-variant: small-caps;
	font-display: swap;
}

@font-face {
    font-family: 'Andada';
    src: url('/type/andada-regular-webfont.woff2') format('woff2'),
         url('/type/andada-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Andada';
    src: url('/type/andada-italic-webfont.woff2') format('woff2'),
         url('/type/andada-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-variant: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Andada';
    src: url('/type/andada-bold-webfont.woff2') format('woff2'),
         url('/type/andada-bold-webfont.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-variant: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Andada';
    src: url('/type/andada-bolditalic-webfont.woff2') format('woff2'),
         url('/type/andada-bolditalic-webfont.woff') format('woff');
    font-weight: bold;
    font-style: italic;
    font-variant: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Antonio';
    src: url('/type/antonio-bold.woff2') format('woff2'),
         url('/type/antonio-bold.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Alexbrush';
    src: url('/type/alexbrush-regular-webfont.woff2') format('woff2'),
         url('/type/alexbrush-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
	font-display: swap;
}

@font-face {
    font-family: 'Source Sans';
    src: url('/type/source-sans-3-wght.ttf') format('truetype-variations');
    font-weight: 125 950;
	font-stretch: 75% 125%;
    font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Source Sans';
	src: url('/type/source-sans-3-italic-wght.ttf') format('truetype-variations');
	font-weight: 125 950;
	font-stretch: 75% 125%;
	font-style: italic;
	font-display: swap;
}


/*! Base */

html {
	background: url('/img/gradient.png') top repeat-x, url('/img/chalkboard.jpg') -100px -150px no-repeat;
	background-color: rgb(26, 26, 26);
	background-size: 20px 67px, 910px;
}

/* Pride Month gradient 
html:before {
	background: linear-gradient(90deg, rgba(255,0,0,1) 0%, rgba(255,141,0,1) 20%, rgba(255,253,0,1) 40%, rgba(14,255,0,1) 60%, rgba(36,13,251,1) 80%, rgba(205,0,219,1) 100%);
	content: '';
	position: absolute;
	top: 1px;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	opacity: 0.5;
}
html {
	border-top: 0 !important;
}
*/


body {
	color: #333;
	font: 1.1em/1.5 "Andada", Georgia, Times, serif;
	margin: 0;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

figure {
	margin: 0;
	max-width: 100%;
}

figure img,
figure iframe {
	vertical-align: middle;
}

figure.player iframe {
	max-width: 100%;
}

video {
	max-width: 100%;
	vertical-align: middle;
}

.video-container {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
	border: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

figcaption {
	color: #666;
	font-size: smaller;
	font-style: italic;
	text-align: right;
}

.bleed-left {
	margin-right: -20px;
}

.bleed-left img {
	margin-left: -20px;
}

.bleed-right {
	margin-right: -20px;
}

form ul {
	list-style: none;
}

form ul,
fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

fieldset {
	margin-bottom: 2em;
}

fieldset .note, 
.actions .note {
	font-size: smaller;
	opacity: 0.5;
}

fieldset span.note {
	display: inline-block;
	line-height: 2.25em;
}

fieldset div.note,
.actions div.note {
    margin-top: 0.5em;
}

fieldset .note.required {
	opacity: 1;
}

.note.warning, 
.last-order-date {
    background: #fff;
    box-shadow: 0 0 5px rgba(0,0,0,0.15);
    opacity: 1;
    padding: 10px 10px 10px 40px;
    position: relative;
}

.note.warning ul {
    list-style: disc;
    margin: 1em 0;
    padding-left: 2em;
}

.note.warning .icon {
    background: #f9bb58;
    height: 100%;
    left: 0;
    top: 0;
    width: 30px;
    position: absolute;
    vertical-align: middle;
}

.note.warning .icon img {
    margin: 10px 5px 5px 5px;
}

.actions .warning, 
.actions .warning li {
	display: block;
}

.actions .warning li + li {
	margin: 0;
}

.actions .warning + li {
	display: block;
	margin: 2em 0 1em 0;
}

.note.warning p {
	margin: 0;
}

.note.warning p + p {
	margin-top: 1em;
}

.warning .blackout {
	border: 1px solid #f9bb58;
	border-radius: 3px;
	display: inline-block;
	font-weight: bold;
	margin: 0 0.25em;
	padding: 0.05em 0.5em;
}

fieldset .note::before,
.actions .note::before {
	margin-right: 0.25em;
}

fieldset span.note::before,
.actions span.note::before {
	content: '\2190';
}

fieldset div.note:before,
.actions div.note:before {
	content: '\21B3';
	margin-left: 0.25em;
}

.actions .message {
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	margin-top: -1em;
}

input {
	border-radius: 0;
}

input, 
select, 
textarea {
	font: 1.1em/1.5 "Andada", Georgia, Times, serif;
}

select:required:invalid + .note.required,
input:required:invalid + .note.required,
input:required:invalid + a + .note.required,
textarea:required:invalid + .note.required, 
.insert-calendar-picker.required.invalid + .note.required  {
	color: #333;
	opacity: 0.5;
}

select:required:valid + .note.required,
input:required:valid + .note.required,
input:required:valid + a + .note.required,
textarea:required:valid + .note.required, 
.insert-calendar-picker.required.valid + .note.required {
	color: green;
}

select:required:valid + .note.required:after,
input:required:valid + .note.required:after,
input:required:valid + a + .note.required:after,
textarea:required:valid + .note.required:after, 
.insert-calendar-picker.required.valid + .note.required:after  {
  content: '\2713';
  margin-left: 0.25em;
}

.insert-calendar-picker super {
	font-size: smaller;
	position: absolute;
}

fieldset input,
fieldset textarea,
fieldset select {
    box-sizing: border-box;
}

fieldset li + li {
	margin-top: 1em;
}

legend + p {
	margin: 0;
}

legend {
	color: #9e9b94;
	font-family: 'Antonio';
	font-size: 2em;
	text-transform: uppercase;
}

legend a {
	font: normal small "Andada", Georgia, Times, serif;
	margin-left: 0.5em;
	text-transform: none;
	vertical-align: middle;
}

label[for] {
	display: block;
}

input[type='email'],
input[type='tel'],
input[type='phone'],
input[type='number'],
input[type='password'],
input[type='text'],
input[type='search'],
input[type='url'],
textarea {
	border: 1px solid #999;
	border-radius: 0;
	width: 100%;
	padding: 10px 8px;
	-webkit-appearance: none;
}

input[size] {
    width: inherit;
    min-width: inherit;
}

input[type='submit'].primary,
.button.primary,
input[type='submit'].primary:hover,
.button.primary:hover {
    background-color: #28c941;
	border-radius: 3px;
    color: #fff;
	cursor: pointer;
    font-size: 1.5em;
}

input[type='submit'].primary.clicked {
	opacity: 0.65;
}

.basket input[type='number'],
.shop input[type='number'] {
    border-color: #ccc;
	min-width: inherit;
    width: 3em;
}

select {
	-webkit-appearance: none;
	background: #fff url('/cms/img/select-arrows.svg') right no-repeat;
	border: 1px solid #999;
	padding: 8px 20px 8px 6px;
}

.form-error input.required {
	border-color: #fb4846;
}

.form-error input:required + .note {
	color: #fb4846;
	opacity: 1;
}

.actions {
	border-top: 1px solid #9e9b94;
	margin-top: 2em;
	padding-top: 2em;
}

.actions li {
	display: inline;
}

.actions li + li {
	margin-left: 1em;
}

.message {
	background: #fff;
    display: flex;
    margin: 1em auto;
    max-width: 925px;
    padding-right: 1em;
	text-align: left;
}

.message > *:first-child {
	flex: 0 0 auto;
}

.message .icon {
    margin-right: 1em;
	padding: 1.25em 0.5em;
	width: 30px;
}

.message .icon img{
	vertical-align: middle;
}

.message .text p {
    margin: 0;
    padding: 1.25em 0.5em;
}

.message .text p + p {
	padding-top: 0;
}

.message .close {
    display: none;
}

.message.error .icon {
	background: #f64a4a;
}

.message.confirm .icon {
	background: #28c941;
}

.message.warning .icon {
	background: #fbbc4e;
}

.message.warning {
    font-size: smaller;
    text-align: left;
}

.message.warning p {
    margin: 1em 0;
    padding: 0;
}

.blackout-flag p {
	background: #fbbc4e;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #fff;
	display: none;
	font-size: smaller;
	padding: 10px 10px 10px 40px;
	position: absolute;
	text-align: left;
}

.blackout-flag:hover p {
	display: block;
	z-index: 5;
}

.blackout-flag img {
	background: #fbbc4e;
	border: 1px solid #fff;
	border-radius: 5px;
	padding: 10px;
	width: 20px;
	z-index: 15;
}

.blackout-flag:hover img {
	border: 0;
	box-shadow: none;
	width: 22px;
}

.grid .blackout-flag img {
	left: 5px;
	position: absolute;
	top: 5px;
	padding: 5px;
}

table {
	border-collapse: collapse;
	margin-bottom: 1em;
}

thead {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

thead th:first-child {
	text-align: left;
}

tbody tr:nth-child(even) {
	background: rgba(0,0,0,0.1);
}

thead th abbr {
    display: none;
}

th,
td {
	padding: 0.25em;
}

img, 
iframe {
	max-width: 100%;
}

abbr[title='et'] {
	border-bottom: 0;
	font-family: Alexbrush;
	font-size: 2em;
	line-height: 0.5;
	text-decoration: none;
	vertical-align: middle;
}

.drop {
	background: #333;
	border: 3px double #000;
	border-radius: 10px 0;
	color:#fff;
	font-size: 300%;
	float: left;
	line-height: 1em;
	margin-right: 0.1em;
	padding: 10px 5px;
}

meter {
	-moz-appearance: none;
	-webkit-appearance: none;
	border: 0;
	height: 16px;
	position: relative;
}

meter::-webkit-meter-bar {
  background: none;
  background-color: rgba(255,255,255,0.5);
  border-radius: 10px;
}

meter::-webkit-meter-optimum-value {
	background: #29c432;
	border-radius: 10px 0 0 10px;
}

meter::-webkit-meter-suboptimum-value {
	background: #feb124;
	border-radius: 10px 0 0 10px;
}

meter::-webkit-meter-even-less-good-value {
	background: #fb4746;
	border-radius: 10px 0 0 10px;
}

hr {
	border: 0;
	border-bottom: 1px solid rgba(0,0,0,0.1);
}

.clearfix:after {
	content: "";
	display: table;
	clear: both;
}


/*! Navigation */

.skip-main {
	background: #eee;
	color: #222;
	font-style: italic;
	left: 0;
	opacity: 0;
	padding: 0.25em 1em;
	position: absolute;
	top: 0;
	z-index: 999;
}

.skip-main:focus {
	margin: 1em;
	opacity: 1;
}

#main:focus {
	outline: none;
}

.main-nav .primary-container {
	border-bottom: 1px solid #707070;
}

.main-nav .primary {
	align-items: flex-end;
	display: flex;
	height: 87px;
	justify-content: space-around;
	margin: auto;
	max-width: 1200px;
	overflow: visible;
	padding: 0 20px;
	text-align: center;
}

.main-nav .primary > li {
	border: 1px solid transparent;
	flex: 1 1 auto;
	padding: 20px 10px 10px 10px;
}

.main-nav .primary > li.home {
	align-self: flex-start;
	flex: 2 2 auto;
	padding-top: 10px;
	position: relative;
	z-index: 70;
}

.menu-active .primary > li.home {
	z-index: 100;
}

.main-nav .primary > li.mobile-menu {
	display: none;
}

.main-nav .primary .on-sale,
.main-nav .primary .stores,
.main-nav .primary .order,
.main-nav .primary .mobile-menu {
	border-width: 1px 0 0 1px;
}

.main-nav .primary .lets-cook,
.main-nav .primary .about {
	border-width: 1px 1px 0 0;
}

.main-nav .primary .about {
	margin-right: 10px;
}

.main-nav .primary .active,
.no-js .main-nav .primary li:hover {
	background: #000;
	border-color: #707070;
	margin-bottom: -10px;
	padding-bottom: 20px;
	z-index: 100;
}

.main-nav .logo {
	width: 280px;
}

.main-nav .logo.fork-lift {
	width: 300px;
}

.main-nav .logo.sonoma-market {
	width: 320px;
}

.main-nav .current-location {
	display: flex;
	justify-content: space-around;
	margin: auto;
	max-width: 900px;
	padding: 0 40px;
}

.nugget-markets .main-nav .current-location {
	justify-content: space-between;
}

.main-nav .current-location > div {
	margin-right: 1em;
}

.main-nav .location-select {
	margin-left: 0;
	padding: 0.5rem;
	position: relative;
	z-index: 80;
}

.main-nav .locations-menu {
	background: #000;
	border-radius: 3px;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
	display: none;
	padding: 1rem;
	position: absolute;
	right: 1em;
	top: 2.6em;
}

.main-nav .locations-menu a {
	display: block;
	padding: 0.25rem 1rem;
}

.main-nav .locations-menu a:hover {
	background: #222;
	border-radius: 3px;
}

.main-nav .location-select p {
	margin: 0;
}

.main-nav .location-select p a {
	display: block;
	padding: 0.45em 40px 0.45em 15px;
}

.nugget-markets .main-nav .location-select p a {
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: 5px;
	min-width: 230px;
}

.nugget-markets .main-nav .location-select p a:hover {
	background: #000;
	border-color: rgba(255,255,255,0.5);
}

.main-nav .location-select p a:after {
	content: url('/img/down-chevron.svg');
	position: absolute;
	right: 20px;
}

.main-nav .locations-menu h2 {
	margin: 0.75rem 0;
}

.main-nav .locations-menu ul + ul {
	border-top: 1px solid #707070;
	margin-top: 0.5rem;
	padding-top: 0.5rem;
}

.main-nav .location-select .address {
	display: none;
}

.main-nav .location-select .selected {
	position: absolute;
	right: 0.5rem;
	top: 0.5rem;
}

.main-nav .location-select .selected a {
	display: none;
}

.main-nav .location-select .selected .address {
	display: block;
}

.main-nav .panel {
	background: rgba(0,0,0,0.85);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	border-bottom: 1px solid rgba(255,255,255, 0.25);
	box-shadow: 0 5px 5px rgba(0,0,0,0.5);
	margin-top: -62px;
	display: none;
	padding-bottom: 40px;
	position: absolute;
	width: 100%;
	z-index: 90;
}

.main-nav .mobile-panel {
	margin: auto;
	max-width: 1200px;
}

.main-nav .panel > * {
	padding: 0 20px;
}

.main-nav .panel > h2 {
	display: none;
}

.main-nav .panel .nav-subhead {
	margin: 1em 0;
	position: absolute;
	top: 3px;
}

.main-nav .panel > p, 
.main-nav .panel .nav-subhead p {
	font-style: italic;
	margin-left: auto;
	margin-right: auto;
	max-width: 1200px;
}

.main-nav .panel li figure {
	flex: 1 0 auto;
	margin-right: 1rem;
	width: 100px;
}

.main-nav .panel li figure img {
	border-radius: 3px;
}

.main-nav .panel li h3,
.main-nav .panel li p {
	line-height: 1.25em;
	margin: 0;
}

.main-nav .panel > div,
.main-nav .panel > ul,
.main-nav .panel > ul li, 
.main-nav .about.panel > div > div + div  li  {
	display: flex;
	justify-content: space-around;
}

.main-nav .panel > div > div {
	flex: 1 1 33%;
}

.main-nav .panel > ul + ul {
	margin-top: 1.5rem;
}

.main-nav .panel > div > * + *,
.main-nav .panel > ul > * + * {
	margin-left: 30px;
}

.main-nav .panel li > * {
	align-self: center;
}

.main-nav .primary,
.main-nav h2,
.main-nav .panel h3 {
	font: normal 1.5em/1 Antonio;
	text-transform: uppercase;
}

.main-nav .panel.stores h3 {
	line-height: 1.25em;
	margin: 0;
}

.main-nav figure {
	max-width: 100px;
	width: 25%;
}

.main-nav .about div li {
	margin-top: 1.5rem;
}

.main-nav .panel.stores > div > div > ul li + li {
	margin-top: 1.25rem;
}

.main-nav .panel.stores .home-store figure {
	border-radius: 3px;
	overflow: hidden;
}

.main-nav .panel.stores .home-store img {
	height: 250px;
	max-width: inherit;
}

.main-nav .panel.order img {
	background: #fff;
}

.main-nav .panel.about ul {
	margin: 62px auto 30px auto;
	max-width: 1200px;
}

.main-nav .on-sale ul li,
.main-nav .lets-cook ul li {
	width: 45%;
}

.main-nav .stores ul,
.main-nav .stores li, 
.main-nav .order ul,
.main-nav .order li {
	flex: 1 1 33%;
}

.main-nav .order ul:nth-child(3) {
	border-left: 1px solid rgba(255,255,255,0.25);
	padding-left: 20px;
}

.main-nav .order ul:nth-child(3) li {
	display: block
}

.main-nav .order li {
	display: flex;
}

.main-nav .order li + li {
	margin-top: 30px;
}

.main-nav .order li.nav-subhead + li {
	margin-top: 0;
}

.main-nav .panel .feature figure {
	margin: 0 0 1em 0;
	max-width: inherit;
	width: 100%;
}

.main-nav .order .closed figure, 
.main-nav .order .closed h3 {
	opacity: 0.35;
}

.main-nav .panel .feature {
	border-bottom: 1px solid rgba(255,255,255,0.25);
	display: block;
	padding-bottom: 20px;
}

.main-nav .panel .feature.gourmet-to-go {
	border-bottom: 0;
	padding-bottom: 0;
}

.main-nav .panel .gourmet-to-go {
	border-bottom: 1px solid rgba(255,255,255,0.25);
	padding-bottom: 20px;
}

nav a {
	text-decoration: none;
}

body > header,
body > footer {
	color: #ccc;
	margin: auto;
	position: relative;
}

body > footer {
	max-width: 900px;
}

body > header a,
body > footer a {
	color: #ccc;
}

body > header a:hover,
body > footer a:hover,
body > header .selected a,
body > footer .selected a,
.main-nav .primary .active a,
.main-nav .primary .selected a {
	color: #fff;
	text-shadow: 0 0 10px rgba(255,255,255,0.25);
}

.main-nav .primary .active a {
	text-shadow: 0 0 10px rgba(255,255,255,0.5);
}

.main-nav .primary .selected a {
	border-bottom: 4px solid #fff;
}

.main-nav .primary .selected.active a {
	border-bottom: 0;
}

body > footer .information a {
	text-decoration: underline;
}

body > header .logo.print {
    display: none;
}

.zone-valley,
.zone-marin,
.zone-sonoma,
.zone-forklift, 
.zone-food4less, 
.zone- .sale-price, 
.zone- .save, 
.zone- .savings {
	display: none !important;
}

.zone-100 .zone-valley,
.zone-110 .zone-marin,
.zone-111 .zone-sonoma,
.zone-121 .zone-forklift, 
.zone-130 .zone-food4less {
	display: inherit !important;
}

.zone-100 span.zone-valley,
.zone-110 span.zone-marin,
.zone-111 span.zone-sonoma,
.zone-121 span.zone-forklift, 
.zone-130 span.zone-food4less {
	display: inline !important;
}

/* Weekly Specials toggle */

body > header .specials .weekly {
    display: inline-block;
}

body > header .specials .on {
    display: none;
}

/* Use On Special for holiday nav */

body > header .aisle-listing {
	display: none;
}

nav ul,
.listing {
	list-style: none;
	margin: 0;
	padding: 0;
}

.main > header {
	position: relative;
}

.main > header nav {
	display: inline-block;
	font-size: 1em;
	margin-bottom: 2px;
	margin-top: 10px;
	text-align: center;
	width: 100%;
}

.main > header nav li {
	margin-right: 0.5em;
    display: inline-block;
}

.main > header nav li:last-child {
	margin-right: 0;
}

.main > header nav a {
	color: #333;
	padding: 0.25em 0.5em;
}

.main > header nav a img {
	width: 10px;
}

.main > header .active a {
	border: 5px solid #9e9b94;
	border-color: rgba(0,0,0,0.15);
	border-radius: 5px 5px 0 0;
	border-width: 5px 1px 0 1px;
	background: rgba(0,0,0,0.05);
}

body > footer {
	padding-top: 1em;
}

body > footer nav > ul {
	display: flex;
	font-size: 0.9em;
}

footer .social,
footer .information {
	padding: 1em 0;
	width: 50%;
}

footer .social {
	border-left: 1px solid #666;
	margin-left: 40px;
	padding-left: 40px;
}

footer .information {
	text-align: right;
}

footer .information li,
footer .social li {
	display: inline-block;
}

footer li + li {
	margin-left: 0.5em;
}

footer .social img {
	width: 50px;
}

.no-js body > .signup,
body.specials > .signup.secret,
body.signup > .secret-special {
    display: none;
}

.sidebar #subnav nav {
	margin-left: -20px;
	overflow: hidden;
}

.sidebar #subnav nav li {
	padding-left: 20px;
}

.sidebar #subnav nav li + li {
	border-top: 1px solid rgba(0,0,0,0.15);
}

.sidebar nav ul a {
	display: block;
	margin-left: -20px;
	padding: 5px 20px;
	text-decoration: none;
}

.sidebar .subnav,
.topbar .subnav {
	display: none;
}

.sidebar .subnav a,
.topbar .subnav a {
	background: rgba(0,0,0,0.1);
	border-radius: 0 0 2px 2px;
    display: inline-block;
	padding: 2px 6px 2px 20px;
	position: relative;
	text-decoration: none;
}

.sidebar .subnav a:before,
.topbar .subnav a:before {
	top: 0;
	left: 6px;
	padding-right: 0.25em;
	position: absolute;
}

.sidebar .subnav a.toggle:before,
.topbar .subnav a.toggle:before {
	content: url('/img/arrow-right-dark.svg');
    height: 10px;
    top: 1px;
    width: 10px;

}

.sidebar .subnav a.toggled:before,
.topbar .subnav a.toggled:before {
	content: url('/img/arrow-up-dark.svg');
    height: 10px;
    top: -2px;
    width: 10px;
}

.sidebar #subnav nav ul a:hover,
.sidebar nav .selected {
	background: rgba(0,0,0,0.05);
	border-left: 10px solid rgba(0,0,0,0.15);
	padding-left: 10px;
}

.sidebar nav span,
.sidebar nav a > * {
	display: block;
}

.sidebar nav span + span {
	font-size: smaller;
	font-style: italic;
}

.topbar > aside {
	background: rgba(0,0,0,0.1);
	border-bottom: 1px solid rgba(0,0,0,0.05);
	font-size: smaller;
	margin-left: -20px;
    margin-bottom: 1em;
	padding: 1em 0 1em 20px;
}

.topbar > aside h3 {
	margin-right: 0.25em;
}

.topbar > aside h3:after {
	content: ':';
}

.topbar > aside * {
	display: inline;
}

.topbar aside nav a {
	border-bottom: 1px solid rgba(0,0,0,0.1);
	display: inline-block;
	margin: 0.25em 0.5em 0.25em 0;
}

.topbar aside .selected a {
	font-weight: bold;
	border-bottom: 0;
}

.topbar aside nav a:hover {
	border-color: rgba(0,0,0,0.5);
}

.breadcrumbs li + li:before {
	content: '>';
	color: rgba(0,0,0,0.25);
	padding-right: 0.5em;
}

.tabs nav {
	text-align: center;
}

.tabs nav li {
	display: inline-block;
}

.tabs nav a {
	border-radius: 2px 2px 0 0;
	padding: 5px 10px;
	text-decoration: none;
}

.tabs a.selected {
	background: #fff;
}

.panes {
	max-height: 500px;
	overflow: scroll;
	padding: 20px;
}

.js .tabs .panes > * {
	display: none;
}

.js .panes .selected {
	display: block;
}

.panes table * {
    border-color: #333;
}

.panes table tbody tr {
    background-color: transparent;
}

.panes .cols > div {
	align-self: start;
}

.addthis_sharing_toolbox {
	-webkit-filter: grayscale(1);
	filter: grayscale(1);
	opacity: 0.25;
}

.addthis_sharing_toolbox:hover {
	-webkit-filter: grayscale(0);
	filter: grayscale(0);
	opacity: 1;
}

.copyright {
	font-size: small;
	text-align: center;
}

.privacy-statement {
    text-align: center;
}

.privacy-statement .keyway {
    padding-bottom: 1px;
    width: 20px;
    vertical-align: text-bottom;
}

.privacy-statement a {
    display: block;
    font-size: smaller;
}

.cloud h4 {
	margin-bottom: 0;
}

.cloud p {
	margin: 0;
}

.search {
	margin-left: -20px;
	position: relative;
}

.search div {
    display: flex;
}


.search form {
	background: rgba(0,0,0,0.1);
	padding: 10px;
	text-align: center;
}

.search label {
	display: none;
}

.search input[type='search'] {
	background: transparent;
	border-width: 0 0 1px 0;
	padding: 5px;
}

.search [type='search']:focus {
	border-color: #666;
	outline: none;
}

.search [type='search']::placeholder {
    color: #888;
}

input[type='submit'],
.button,
.cloud a {
	background: rgba(0,0,0,0.1);
	border: 0;
	border-radius: 2px;
	cursor: pointer;
	padding: 6px 12px;
	text-decoration: none;
}

input[type='submit'] {
	font-size: 1.5em;
}

.button {
    display: inline-block;
	font-family: "Andada", Georgia, Times, serif;
	text-align: center;
}

.button:hover,
.cloud a:hover {
	background: rgba(0,0,0,0.2);
}

fieldset a.button,
fieldset a.button:hover {
	background: #28c941;
	color: #fff;
}

a.remove {
	background: #fb4746;
	border-radius: 20px;
	display: block;
	height: 20px;
	line-height: 15px;
	font-size: 1.25em;
	padding: 5px;
	position: absolute;
	text-align: center;
	text-decoration: none;
	width: 20px;
}

.main .remove {
	color: #fff;
}

.action {
	background: #fff;
	border-left: 20px solid #fb4746;
	border-right: 20px solid #fb4746;
	padding: 10px 10px 15px 10px;
	text-align: center;
}

.action h4 {
	margin: 0 0 0.5em 0;
}

.action .button {
	border-radius: 2px 0 0 2px;
	position: relative;
}

.action .button:after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	border-left-color: rgba(0,0,0,0.15);
	border-width: 18px;
	margin-top: -18px;
}

.action .button:hover:after {
	border-left-color: rgba(0,0,0,0.25);
}

.cloud a {
	font-size: smaller;
	display: inline-block;
	margin: 0 0.15em 0.3em 0.15em;
}

h2 .button,
h3 .button {
	font-size: small;
	font-weight: normal;
	margin-left: 0.5em;
	vertical-align: middle;
}

.pagination {
	background: rgba(0,0,0,0.1);
	border: 1px solid rgba(0,0,0,0.05);
	font-size: smaller;
	padding: 1em;
	text-align: center;
}

.pagination a,
.pagination span {
	margin: 0 0.25em;
	padding: 2px 5px;
}

.pagination a {
	border-bottom: 1px solid rgba(0,0,0,0.1);
	text-decoration: none;
}

.pagination a:hover {
	border-bottom: 1px solid rgba(0,0,0,0.5);
}

.pagination .popular {
	display: inline-block;
}

.pagination .prev:before {
	content: ' < ';
}

.pagination .next:after {
	content: ' > ';
}

.pagination .deact {
	opacity: 0.5;
}

header + .pagination {
	border-top: 0;
	margin: 0 0 20px -20px;
}

a.close {
	background: url('/img/close.svg') no-repeat;
	background-size: 19px;
	display: block;
	position: absolute;
	height: 19px;
	text-indent: -9999em;
	width: 19px;
}


/*! Structure */

.masthead {
	background: #000;
	overflow: hidden;
	position: relative;
}

.masthead img,
.masthead picture, 
.masthead video {
	height: 100%;
	display: block;
	margin: auto;
	max-width: 1200px;
	width: 100%;
}

.masthead img.label {
	display: inline;
	margin: inherit;
	width: 80px;
}

.masthead .caption img.label {
	float: left;
	margin-right: 1em;
}

.masthead .caption {
	margin: auto;
	padding: 20px;
	position: absolute;
	width: 460px;
	right: 0;
	left: 0;
}

.masthead .caption.bottom {
	bottom: 0;
	padding-bottom: 60px;
}

.masthead .caption.top {
	top: 0;
}

.masthead .caption.left {
	margin-left: 0;
}

.masthead .caption.right {
	margin-right: 0;
}

.masthead .caption.top.right {
	border-radius: 0 0 0 10px;
}

.masthead .caption.top.left {
	border-radius: 0 0 10px 0;
}


.masthead .caption.bottom.right {
	border-radius: 10px 0 0 0;
}

.masthead .caption.bottom.left {
	border-radius: 0 10px 0 0;
}


.masthead .caption.light {
	background: rgba(255,255,255,0.75);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

.masthead .caption.dark,
.masthead .caption.dark a {
	background: rgba(0,0,0,0.75);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	color: #fff;
}

.masthead .dark .drop {
	background: #fff;
	color: #333;
}

.masthead .light .drop {
	border-color: #fff;
}

.masthead h2 {
	font-size: 2em;
	font-weight: normal;
	line-height: 1.25em;
	margin: 0;
}

.masthead .caption blockquote {
	margin: 0 0 0 inherit;
}

.masthead .caption blockquote:before {
	content: '“';
	font-size: 5em;
	left: 20px;
	position: absolute;
	top: 0;
}

.masthead + .container {
	margin-top: -30px;
}

.container {
	background:  url('/img/beige.png') repeat-y;
	background-position: right top;
	background-size: 50% ;
	padding: 0 40px;
	position: relative;
	z-index: 2;
}

.container > .main {
	background: #cdcac3 url('/img/texture-1.jpg') right top repeat-y;
	background-size: 900px;
	margin: auto;
	max-width: 900px;
	padding: 20px;
}

.main > header,
.departments .main section > header {
	border-bottom: 1px solid rgba(0,0,0,0.15);
	margin-left: -20px;
	padding-left: 20px;
}

section > aside {
	font-size: smaller;
}

section footer {
	border-top: 1px solid rgba(0,0,0,0.15);
	font-size: 0.9em;
	font-style: italic;
	line-height: 60px;
	text-align: right;
}

.main > header h1,
.main section > header h2 {
	font: 2.25em/1.5 "Andada", Georgia, Times, serif;
	margin: 0;
}

header h1 small,
header h2 small {
	font-family: "Andada", Georgia, Times, serif;
	font-size: 0.5em;
	font-style: italic;
	color: #666;
}

header h1 small .amp,
header h2 small .amp {
	font-style: normal;
}

.masthead a,
.main a {
	color: #000;
}

.cols,
.sidebar {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.sidebar > aside {
	-webkit-flex: 1 0 200px;
	flex: 1 0 200px;
	-webkit-order: 1;
	order: 1;
	margin-right: 20px;
}

.sidebar > section {
	-webkit-flex: 10 0 200px;
	flex: 10 0 200px;
	-webkit-order: 2;
	order: 2;
}

.cols > * + * {
	margin-left: 20px;
}

.cols > .col-1 {
	-webkit-flex: 0 0 32%;
	flex: 0 0 33%;
}

.cols > .col-2 {
	-webkit-flex: 0 0 65%;
	flex: 0 0 66%;
}

.cols > .col-4 {
	-webkit-flex: 0 0 20%;
	flex: 0 0 20%;
}

.cols > .col-5 {
	flex: 1 1 49%;
}

.cols > .right {
	text-align: right;
}

.cols > div,
.cols > article {
	align-self: center;
}

.cols > figure {
	border-radius: 20px 0 0 20px;
	overflow: hidden;
}

.cols > figure figcaption p {
	margin-top: 0;
}

.cols > figure figcaption blockquote {
	margin: 0;
}

.cols > article + figure,
.cols > div + figure {
	border-radius: 0 20px 20px 0;
}

.cols > figure figcaption {
	border: 1px solid rgba(0,0,0,0.15);
	padding: 1em;
	text-align: left;
}

.cols > figure figcaption {
	border-radius: 0 0  0 20px;
	border-width: 0 0 1px 1px;
}

.cols > div + figure figcaption {
	border-radius: 0 0 20px 0;
	border-width: 0 1px 1px 0;
}

.cols div h2 {
	margin: 0;
}

.sidebar > aside h3 {
	color: rgba(0,0,0,0.15);
	font-family: "Antonio";
    font-weight: normal;
	margin: 1em 0 0 0;
	text-transform: uppercase;
}

article time,
article a.continue,
article .meta {
	font-size: smaller;
	font-style: italic;
	margin-top: 0;
}

article time,
article .meta,
article .meta a,
article a.continue {
	color: #666;
}

.listing.column-select {
	background: #fff;
	border-radius: 5px;
	overflow: hidden;
}

.listing li {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	margin-top: 1em;
	padding-bottom: 1em;
}

.listing.column-select li {
	display: inherit;
	margin: 0;
	padding: 0;
}

.listing.column-select li + li {
	border-top: 1px solid #eee;
}

.listing figure {
	margin-right: 20px;
	max-width: 270px;
	min-width: 270px;
}

.listing figure img {
	width: 100%;
}

.detail figure + header {
	margin-top: 1em;
}

.detail figure figcaption {
	margin-bottom: -1em;
}

.detail h1,
.detail h2,
.listing h3,
.listing h4 {
	font-weight: normal;
	line-height: 1.2em;
	margin: 0;
}

.listing h3 {
	font-size: 1.6em;
}

.listing h4 {
	font-size: 1.35em;
}

.grid h3 a,
.listing h3 a {
	display: inline-block;
	margin: 0 -5px;
	padding: 0 5px;
	text-decoration: none;
}

.grid h3 a:hover,
.listing h3 a:hover {
	background: rgba(0,0,0,0.05);
	border-radius: 2px;
	color: #000;
}

.listing.column-select a {
	display: block;
	padding: 1em 2em 1em 1em; 
	position: relative;
	text-decoration: none;
}

.listing.column-select a:hover {
	background: #eee;
}

.listing.column-select a:after {
	content: url('/img/down-chevron.svg');
	position: absolute;
	right: 20px;
	transform: rotate(-90deg);
}

.grid {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.grid > * {
	box-sizing: border-box;
	-webkit-flex: 0 1 auto;
	flex: 0 0 30%;
	margin: 10px;
}

.grid figure {
	margin-bottom: 0.25em;
}

.grid h3,
.grid p {
	margin: 0;
}

.grid h3 {
	font-weight: normal;
	margin: 0;
}

.shelf-grid {
	overflow: hidden;
	width: 100%;
}

.shelf-grid .items {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
}

.shelf-grid .items > * {
	scroll-snap-align: start;
	flex-shrink: 0;
	width: 80%;
	padding: 20px;
	margin: 0;
}

.cols .associates .grid {
	font-size: 80%;
}

section > aside h3 {
	margin-bottom: 0;
}

.hide {
	display: none;
}

.no-js .hide {
	display: block;
}

.hidden {
	position: absolute;
	visibility: hidden;
}

.inset {
	background: rgba(0,0,0,0.1);
	margin-left: -20px;
	padding: 20px;
	position: relative;
	width: auto;
}

.inset .close {
	top: 10px;
	right: 10px;
}

.addthis_sharing_toolbox {
	margin-top: 0.25em;
}

.author {
	border-top: 1px solid rgba(0,0,0,0.15);
	padding-left: 50px;
	padding-top: 10px;
	position: relative;
}

.author:before {
	content: url('/img/ornament-2.svg');
	left: 0;
	opacity: 0.15;
	position: absolute;
}

.author figure {
	display: -webkit-flex;
	display: flex;
}

.author figure > a {
	margin-right: 10px;
	max-width: 50px;
}

.author figcaption {
	text-align: left;
}

.author figcaption > * {
	display: block;
}

.docs,
.images,
.videos {
	list-style: none;
	padding: 0;
}

.images,
.videos {
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
}

.docs li {
	background: rgba(255,255,255,0.5);
	border-radius: 5px;
	padding: 10px 15px;
	position: relative;
}

.docs h4 {
	margin: 0 0 0.5em 0;
}

.panes .docs li {
    background: rgba(255,255,255,0.15);
}

.images li,
.videos li {
	border: 1px solid rgba(0,0,0,0.15);
	-webkit-flex: 1 0 46%;
	flex: 0 0 25%;
	padding: 10px;
}

.images li + li,
.videos li + li {
	margin-left: 10px;
}

.videos li figure {
	position: relative;
}

.videos .youframe {
	display: block;
	height: 0;
	overflow: hidden;
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
}

.videos .youframe iframe {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 50;
}

.videos figure .play {
	margin: auto;
	top: -9999px;
	bottom: -9999px;
	left: -9999px;
	right: -9999px;
	width: 30px;
	position: absolute;
}

.videos figure .blank {
	height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 100;
}

.docs li + li {
	margin-top: 1em;
}

.docs .name, 
.docs .caption {
	margin: 0 0 0.5em 0;
}

.docs .name + .caption {
	font-style: italic;
}

.docs .name + .caption p {
	margin: 0;
}

.docs .download {
	background: #666;
	border-radius: 2px;
	color: #fff !important;
	display: inline-block;
	padding: 0.5em 2em 0.5em 2.25em;
	position: relative;
	text-decoration: none;
}

.docs .download:before {
	content: url('/img/download.svg');
	font-size: 1.5em;
    height: 5px;
    left: 8px;
	line-height: 0.5em;
	letter-spacing: 5px;
	position: absolute;
	top: 10px;
}

.docs .download:hover {
	background: #333;
}

.panes .docs .download:hover {
    background: #000;
}

.docs .meta {
	font-size: small;
	font-style: italic;
	margin: 0.5em 0 0 0 !important;
}

.images figure a {
	display: block;
}

.images figure figcaption,
.videos figure figcaption {
	font-size: small;
	margin: 0.5em 0;
	text-align: inherit;
}

.preview,
body .main .admin_tip,
body #main .admin_tip,
body #main .admin_link {
	background: #fcf560;
	box-shadow: 0 5px 5px rgba(0,0,0,0.20);
	color: #666;
	font-family: monospace;
	padding: 0.25em 0.5em;
	position: relative;
}

body .main .admin_tip:before,
body #main .admin_tip:before {
	content: '';
	width: 0;
	height: 0;
	border-left: 10px solid transparent;
	border-right: 10px solid transparent;
	border-bottom: 10px solid #fcf560;
	position: absolute;
	top: -10px;
}

body #main .admin_link {
	border-radius: 2px;
	box-shadow: 0 1px 1px rgba(0,0,0,0.05);
	color: #000;
    display: inline-block;
	font-size: 14px;
	line-height: 1.5em;
	margin: 0;
	text-decoration: underline;
	vertical-align: middle;
}

.container p.admin_tip a {
	color: #000;
}

.preview {
	position: absolute;
	right: 0;
	top: 0;
}

/*! Home */
.home .masthead .video {
	margin: auto;
	max-width: 1200px;
	position: relative;
}

.home .masthead .video .caption {
	border-radius: 10px;
	margin: 0 0 50% 0;
	position: absolute;
	right: 10%;
	left: inherit;
	top: 20%;
	width: 300px;
	z-index: 80;
}

.home .masthead .photo .caption {
	border-radius: 0 0 0 10px;
}

.home .masthead .photo .caption a, 
.home .masthead .video .caption a {
	color: #fff;
}

.home .masthead .video button {
	align-items: center;
	border: 0;
	background: transparent;
	display: flex;
	font-size: 1.5em;
	margin-right: 1em;
	padding: 0;
}

.home .masthead .video button img {
	margin-right: 0.5em;
	width: 60px; 
}

.home .contests {
	background: rgba(0,0,0,0.65);
	color: #fff;
	margin-bottom: 20px;
}

.home .contests div {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
}

.home .feature-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 1em;
}

.widget.hiring {
	background: #c9ceaa url('/img/extraordinairy-pattern.svg') center;
	background-size: 300px;
	color: #000;
	font: 1em/1.5 "Source Sans", "Helvetica Neue", Helvetica, Roboto, sans-serif;
	min-height: 450px;
	overflow: hidden;
	position: relative;
}

.landing-page .widget.hiring {
	max-width: 432px;
}

.widget.hiring div {
	padding: 0 20px 20px 20px;
	position: relative;
	top: 0;
	bottom: 0;
	height: 100%;
	margin: auto;
}

.widget.hiring h2 {
	color: #6c7627;
	font-size: 4em;
	font-style: italic;
	font-weight: bold;
	line-height: 1em;
	margin: 0;
	text-align: center;
	text-transform: uppercase;
}

.widget.hiring h3 {
	font-size: 1.5em;
	line-height: 1.5em;
	margin-top: 0;
	width: 75%;
}

.widget.hiring ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-around;
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
	width: 50%;
}

.widget.hiring li {
	background: #000;
	color: #fff;
	display: inline-block;
	font-weight: bold;
	padding: 0.25em 1em;
	transform: skew(-9deg);
}

.widget.hiring p {
	font-size: 2em;
	line-height: 1em;
	margin: 0;
}

.widget.hiring img {
	bottom: 0;
	max-height: 400px; 
	right: -50px;
	position: absolute;
}

.widget.hiring small {
	font-size: 0.5em;
}

.widget.hiring a.button {
	background: #6c7627;
	border-radius: 0;
	bottom: 1em;
	color: #fff;
	font: bold 1em/1.5 "Source Sans", "Helvetica Neue", Helvetica, Roboto, sans-serif;
	margin-top: 0.5em;
	position: absolute;
	text-transform: uppercase;
	transform: skew(-9deg);
}

.home .feature.mini {
	padding: 10px;
}

.home .feature.mini a {
	display: flex;
	gap: 20px;
}

.home .feature.mini figure {
	flex: 1 0 auto;
}

.home .feature.mini h2, 
.home .feature.mini p {
	margin: 0;
}

.home .feature.mini h2 {
	font: normal 1.5em/1 Antonio;
	text-transform: uppercase;
}

.home .feature.weekly-specials, 
.home .feature.sign-up {
	background: #000;
}

.home .feature.mini img {
	border-radius: 3px;
	width: 100px;
}

.home .feature.weekly-specials a, 
.home .feature.sign-up a {
	color: #ccc;
	text-decoration: none;
}

.home .feature.weekly-specials a:hover, 
.home .feature.sign-up a:hover {
	color: #fff;
	text-decoration: none;
}

.home .feature.wedge, 
.home .widget.hiring {
    grid-column-start: 1;
    grid-column-end: 3;
}

.home .widget.hiring {
	padding: 40px 40px 0 40px;
}

.home .widget.hiring div > * {
	width: 50%;
}

.home .widget.hiring h2 {
	font-size: 7em;
	text-align: left;
}

.home .widget.hiring h3 {
	font-size: 1.85em;
}

.home .widget.hiring p {
	text-align: center;
}

.home .widget.hiring li {
	font-size: 1.25em;
}

.home .widget.hiring img {
	aspect-ratio: inherit;
	height: 500px;
	max-height: inherit;
	right: 20px;
}

.widget.hiring a.button {
	bottom: inherit;
	position: relative;
	
}

.home .feature.meal-planning {
	color: #000;
	font-family: "Source Sans", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	position: relative;
}

.home .feature.meal-planning div {
	background: rgba(255,255,255,0.75);
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px);
	border-top-right-radius: 10px;
	bottom: 0;
	padding: 20px;
	position: absolute;
}

.home .feature.meal-planning h2,
.home .feature.meal-planning p {
	margin: 0;
}

.home .feature.meal-planning p {
	display: none;
}

.home .feature.meal-planning:hover div {
	border-top-right-radius: 0;
}

.home .feature.meal-planning:hover p {
	display: block;
}

.home .feature.meal-planning .button {
	background: #000;
	color: #fff;
	font-family: "Source Sans", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	margin-top: 1em;
}

.home .contests a {
	color: #fff;
}

.home .home-page-message {
	background: #fff;
	/* border-bottom: 1px solid rgba(0, 0, 0, 0.2); */
	font: 0.95em/1.5 "Source Sans", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	margin: -20px 0 20px 0;
	padding: 1rem;
}

.home .home-page-message h3 {
	font-size: 1.5em;
	margin-top: 0;
}

.home .home-page-message td {
	padding: 0 20px 0 0;
}

.home .home-page-message td + td {
	border-left: 1px solid rgba(0,0,0,0.2);
	padding-left: 20px;
}

.home .home-page-message a {
	color: #000;
}

.home .home-page-message .button {
	background: rgba(0,0,0,0.25);
}

.home .home-page-message .button:hover {
	background: rgba(0,0,0,0.5);
}

.home .home-page-message li {
	margin: 0;
}

.home .home-page-message p {
	margin-top: 0;
}

.home .home-page-message.long p {
	margin: 1em 0;
}

.home .contests {
	margin-left: -20px;
	padding: 20px;

}

.home .contests header h2 {
	font: normal 2em Antonio;
	margin-bottom: 0.5em;
	text-transform: uppercase;
}

.home .contests img {
	max-height: 100px;
	width: inherit;
}

.home .contests figure {
	margin-right: 20px;
	min-width: inherit;
}

.home .contests img {
	border-radius: 100px 0 0 100px;
}

.home .contests h3 {
	font-weight: normal;
	margin: 0;
}

.home .contests a {
	text-decoration: none;
}

.home .contests article a:hover {
	background-color: rgba(0,0,0,0.25);
	border-radius: 2px;
	color: #fff;
	margin: 0 -5px;
	padding: 0 5px;
}

.home .contests article time {
	color: #999;
}

.home .issuu iframe {
	border: 0;
	height: 50vw;
	margin: 0;
	vertical-align: middle;
	height: 50vh;
	width: 100%;
}

.home .instagram-feed iframe.instagram-media {
	border: 0 !important;
	border-radius: 0 !important;
	width: 100%;
}

/*! Departments */

.departments .panes,
.shop .panes {
	background: #141414;
	border: 10px solid #fff;
	color: #fff;
}

.departments .panes > * ul {
	list-style: none;
	padding: 0;
}

.departments .panes header,
.shop .product-detail header {
	border-bottom: 1px solid rgba(255,255,255,0.2);
	margin-bottom: 1em;
	padding-bottom: 1em;
	text-align: center;
}

.departments .panes footer {
	border-top: 1px solid rgba(255,255,255,0.2);
	line-height: 1.5em;
}

.departments .panes header h2 {
	font-weight: normal;
	margin: 0;
}

.departments .panes footer,
.departments .panes header small {
	color: #999;
}

.departments .panes header p {
	font-style: italic;
	margin: 0;
}

.departments .panes h3,
.departments .panes h4 {
	font-weight: normal;
	margin: 0;
}

.departments .panes h4 {
	font-size: 1.25em;
	font-style: italic;
}

.departments .panes h3 {
	text-transform: uppercase;
}

.departments .panes ul {
	margin-top: 0;
}

.departments .panes .boosters li {
	padding-left: 1em;
	text-indent: -1em;
}

.departments .panes ul + h3 {
	border-top: 1px solid rgba(255,255,255,0.2);
	padding-top: 1em;
}

.departments .panes p {
    margin-top: 0;
}

.departments .panes h4 + p {
	margin-left: 1em;
}

.departments .panes footer {
	padding-top: 1em;
	text-align: center;
}

.departments.pizzas .panes,
.departments.sandwiches .panes {
    max-height: inherit;
}

.departments.sandwiches .panes img {
	border-radius: 5px;
}

.departments.sandwiches .by-category {
	text-align: center;
}

.departments.sandwiches .by-category h2 {
	margin-bottom: 0;
}

.departments.sandwiches .by-category p {
	margin-top: 0;
}

.departments.pizzas .panes > header img,
.departments.sandwiches .panes > header img {
    display: block;
    margin: 0 auto -17px auto;
    max-width: 400px;
}

.departments.sandwiches .panes > header img[src*='.svg'] {
	display: inline;
	max-width: inherit;
	width: 50px;
	vertical-align: top;
}

.departments.sandwiches .panes + .panes {
	margin-top: 1em;
}

.departments.pizzas .panes > ul > li,
.departments.sandwiches .panes > ul > li {
    margin-bottom: 2em;
}

.departments.pizzas .panes .price,
.departments.sandwiches .panes .price {
    border-top: 1px solid #333;
    margin-top: 0.25em;
    padding-top: 0.25em;
}

.departments .panes .coffees li,
.departments .panes .byo-sandwich li,
.departments .panes .new-york-style-pizzas li {
	border: 0;
	padding: 0;
}

.panes .button {
	background: rgba(255,255,255,0.25);
}

.departments .panes figure {
	margin-bottom: 1em;
}

.panes a {
	color: #fff;
}

.departments .panes .price {
	font: 1.5em/1 "Antonio";
}

.departments .masthead p {
	margin: 0;
}

.departments .masthead .name {
	font-size: 2em;
	font-weight: normal;
	margin: 0;
}

.departments .masthead .sale {
	font-size: 3em;
	line-height: 0.75em;
}

.coffee-and-juice-bar .masthead picture, 
.coffee-and-juice-bar .masthead img {
	max-width: inherit;
}

.coffee-and-juice-bar .panes .price,
.departments .panes .byo-sandwich .price {
	font-size: 1em;
	margin-top: 1em;
}

.coffee-and-juice-bar .panes .price {
	margin-top: 0;
}

.coffee-and-juice-bar .panes .price span + span {
	margin-left: 0.5em;
}

.ice-cream-menu {
	margin-bottom: 1em;
	width: 50%;
}

.ice-cream-menu .cols > div {
	align-self: center;
}

.departments.index article {
	overflow: hidden;
	position: relative;
}

.departments.index article a {
	display: block;
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 100;
}

.departments .inverse,
.departments .inverse a {
	color: #fff;
	text-shadow: 0 0 20px rgba(0,0,0,1);
}

.departments .bleed {
	margin-left: -20px;
	padding: 20px;
}

.departments .bleed figure {
	left: 0;
	position: absolute;
	top: 0;
	z-index: 1;
}

.departments.index article h2 {
	font-size: 3em;
	font-weight: normal;
	line-height: 1.25em;
}

.fresh-to-market article h2,
.fresh-to-market article p,
.departments article h2,
.departments article p {
	margin: 0;
	position: relative;
	z-index: 2;
}

.departments .logos {
	background: rgba(0,0,0,0.1);
	padding: 5px 20px 10px 20px;
	text-align: center;
}
.departments .logos h2 {
	font-size: 1.25em;
	font-style: italic;
	font-weight: normal;
	margin: 0.25em 0;
}

.departments .logos img {
	margin: 0.25em;
	max-height: 75px;
	max-width: 120px;
	vertical-align: middle;
}

.sustainability .logos img {
	height: 75px;
}

.departments .logos a {
	display: inline-block;
}

.departments .meat {
	background: url('/img/departments/meat/products-ribeye-steak.jpg') no-repeat center center;
	background-size: cover;
	padding: 100px 50px;
	text-shadow: 0 0 20px #000;
}

.departments .produce,
.departments.index .coffee, 
.departments.index .floral {
	background: linear-gradient(to right, rgba(255,255,255,1) 60%,rgba(255,255,255,0) 100%);
	padding: 80px 0 100px 0;
}

.departments.index .floral {
	background: linear-gradient(to right, rgba(238, 236, 234,1) 60%,rgba(238, 236, 234,0) 100%);
}

.departments.produce .masthead .caption,
.departments.coffee .masthead .caption {
	border-radius: 15px 0 0 0;
}

.departments.produce .masthead .specials .labels,
.departments.coffee .masthead .specials .labels {
	margin: 0;
}

.departments .health,
.departments .cheese,
.departments .beverage,
.departments .bakery {
	padding: 100px 50px;
}

.departments .grocery {
	padding: 80px 50px;
}

.departments.index .kitchen {
	padding: 90px 0 90px 500px;
}

.departments.index .kitchen h2 {
	line-height: 1.25em;
}

.departments .produce figure {
	top: 20px;
}

.departments .produce img {
	width: 500px;
}

.departments.index .coffee img {
	margin-left: -120px;
	margin-top: 30px;
	width: 500px;
}

.departments.index .floral img {
	margin-top: -100px;
	width: 500px;
}

.coffee-bar-alert {
	background: rgba(0,0,0,0.8);
	border-radius: 5px;
	color: #fff;
	padding: 1em;
	text-align: center;
}

.departments .grocery {
	background: url('/media/images/01/14/ramen-bowls.jpg') no-repeat center center;
	background-size: cover;
	color: #fff;
}

.departments .grocery img {
	margin-top: -170px;
	position: relative;
	vertical-align: middle;
}

.departments .grocery h2 {
	line-height: 1.25em;
}

.departments .beverage img {
	margin-top: -150px;
    min-width: 725px;
}

.departments.adult-beverages .adventure-series {
	font-family: Antonio;
	font-size: 1.2em;
	margin: 2em 1em;
}

.departments.adult-beverages .adventure-series p {
	margin: 0 5em;
}

.departments.index .kitchen img {
	height: 300px;
}

.departments .cheese img {
	height: 400px;
	position: absolute;
	left: 0;
	bottom: 0;
}

.departments .meat p {
	max-width: 400px;
}

.departments .cheese h2,
.departments .cheese p {
	margin-left: 250px;
}

.departments .produce h2,
.departments .produce p {
	margin-left: 500px;
	max-width: 350px;
}

.departments.index .coffee h2,
.departments.index .coffee p {
	margin-left: 250px;
	max-width: 500px;
}

.departments.index .floral h2,
.departments.index .floral p {
	margin-left: 380px;
}

.departments .health p,
.departments .grocery p {
	max-width: 400px;
}

.departments.grocery .lifestyle {
	background: rgba(255, 255, 255, 0.5);
	padding: 20px;
	margin: 20px 0 20px -20px;
}

.kitchen .logos img {
	max-width: 180px;
}

.kitchen .deli-menus {
    margin: 2em 0;
}

.kitchen .deli-menus img {
    border-bottom: 1px solid #eee;
}

.kitchen .deli-menus .button {
    background: rgba(255,255,255,0.5);
}

.specialty-cheese .serving-tips,
.bakery .homemade,
.coffee-and-juice-bar .acai {
	text-align: right;
}

.coffee-and-juice-bar .pitaya,
.specialty-cheese .nutritional-benefits,
.bakery .homemade,
.coffee-and-juice-bar .juice {
	background: rgba(255,255,255,0.5);
	padding: 20px;
	margin: 20px 0 20px -20px;
}

.departments.meat-and-seafood .reports,
.departments.meat-and-seafood .logos {
    margin: 1em 0;
}

.departments.meat-and-seafood .masthead picture {
	
	max-inline-size: 100%;
}

.departments.meat-and-seafood .masthead picture img {
	object-fit: cover;
	max-inline-size: 100%;
}

.departments.meat-and-seafood .caption {
	block-size: 100%;
	font-family: "Source Sans", "Helvetica Neue", Helvetica, Roboto, sans-serif;
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

.departments.meat-and-seafood .caption .label {
	border: 1px solid rgba(255,255,255,0.5);
	border-radius: 12px;
	float: none;
	height: auto;
	inline-size: 200px;
	margin-bottom: 1em;
}

.departments.meat-and-seafood .caption h2 {
	font-size: 3em;
	font-weight: bold;
	line-height: 1em;
	margin-bottom: 0.5em;
}

.departments.meat-and-seafood .caption h3 {
	font-size: 2em;
	font-weight: normal;
	margin: 0;
	text-transform: uppercase;
}

.departments.meat-and-seafood .caption a.continue {
	border: 1px solid #fff;
	border-radius: 2px;
	padding: 0 0.25em;
	text-decoration: none; 
}

.fresh-to-market article {
	margin-bottom: 2em;
}

.fresh-to-market article.cols {
	margin-bottom: 0;
}

.fresh-to-market .full {
	color: #fff;
	position: relative;
}

.fresh-to-market .full figure {
	margin: 0 -20px;
}

.fresh-to-market .full div {
	background: rgba(0,0,0,0.5);
	bottom: 0;
	left: -20px;
	margin-right: 40px;
	padding: 20px;
	position: absolute;
}

.fresh-to-market .cols article {
	overflow: auto;
}

.fresh-to-market .syrup figure {
	position: relative;
}

.fresh-to-market .syrup #maple {
	display: block;
	z-index: 100;
}

.fresh-to-market .syrup #surple {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	opacity: 0;
	-webkit-transition: all 200ms ease-in-out;
	-moz-transition: all 200ms ease-in-out;
	transition: all 200ms ease-in-out
}

.fresh-to-market .syrup figure:hover #surple {
	opacity: 1;
	-webkit-transition: all 10000ms ease-in-out;
	-moz-transition: all 10000ms ease-in-out;
	transition: all 10000ms ease-in-out
}

.kitchen.menu .topbar {
	position: relative;
}

a.back {
	background: rgba(0,0,0,0.1);
	border-radius: 2px;
	padding: 0.5em;
	position: relative;
	text-decoration: none;
}

a.back:before {
	content: '\25C0';
	font-size: 0.75em;
	letter-spacing: 5px;
	position: relative;
	top: -2px;
}

.kitchen.menu .topbar .back {
	border: 0;
	position: absolute;
	left: 0;
}

.specialty-cheese .menu-index,
.bakery .menu-index,
.kitchen .menu-index {
	background: #121212;
	border: 10px solid #fff;
    color: #fff;
    padding: 1em;
    text-align: center;
}

.specialty-cheese .menu-index h2,
.bakery .menu-index h2,
.kitchen .menu-index h2 {
    font: normal 2.5em/1 Alexbrush;
    margin: 0;
}

.specialty-cheese .menu-index > a,
.bakery .menu-index > a,
.kitchen .menu-index > a {
    background: rgba(255,255,255,0.5);
    border-radius: 2px;
    display: inline-block;
    margin-top: 1em;
    padding: 0.25em 0.5em;
    text-decoration: none;;
}

.kitchen .main .menus img {
    float: right;
    margin-left: 1em;
    width: 140px;
}

.kitchen.sandwiches .grid figure {
	text-align: center;
	background: #fff;
}

.kitchen.menu.deli-trays .grid figure {
	background: #121212;
}

.kitchen.menu.deli-trays .grid figure .watermark {
	opacity: 0.1;
}

.kitchen.sandwiches .grid figure .watermark {
	opacity: 0.5;
}

.kitchen.sandwiches .grid figure {
	vertical-align: middle;
}

.kitchen.sandwiches .panes li + li {
	border: 0;
	padding: 0;
}

.kitchen.deli-trays .panes {
	max-height: inherit;
}

.specialty-cheese .menu-index {
	margin: 1.5em 0;
}

.specialty-cheese .grid > li {
	margin-bottom: 2em;
}

.specialty-cheese .panes li + li {
	border-top: 0;
	padding-top: 0;
}

.specialty-cheese .panes .grid ul {
	font-size: smaller;
	list-style: disc;
	padding-left: 1em;
}

.specialty-cheese .panes h5 {
	font-size: large;
}

/*! Shop, Basket Gourmet to Go */

.basket .main > header nav,
.checkout .main > header nav,
.shop .main > header nav, 
.confirmation .main > header nav {
    font-size: inherit;
	margin-bottom: 1em;
	text-align: left;
}

.shop .main > header nav > ul {
	display: flex;
	justify-content: space-between;
} 

.basket .main > header nav a,
.checkout .main > header nav a,
.checkout .pickup-locations-menu a, 
.shop .main > header nav a {
    color: #222;
    padding: 0.25em 0.5em;
}

.last-order-date {
	font-size: smaller;
	margin-bottom: 0.5rem;
	padding: 10px;
}

.last-order-date p {
	margin: 0;
}

.pickup-locations-select a {
	text-decoration: none;
}

.pickup-locations-select > a, 
.pickup-locations-select .pickup-locations-menu {
	background: #fff;
	border: 1px solid rgba(0,0,0,0.15);
	border-radius: 5px;
}

.pickup-locations-select > a {
	background: transparent url('/img/down-chevron-dark.svg') right 10px top 15px no-repeat;
	display: inline-block;
	padding: 0.5em 30px 0.5em 0.5em;
}

form .pickup-locations-select > a {
	background: #fff url('/cms/img/select-arrows.svg') right 5px top 7px no-repeat;
	border-color: #999;
}

.main > header nav .pickup-locations-select > a {
	padding-right: 30px;
}

.pickup-locations-select > a:hover {
	background-color: #fff;
	border-color: #999;
}

.pickup-locations-select .pickup-locations-menu {
	border-color: #999;
	box-shadow: 0 0 10px rgba(0,0,0,0.15);
	display: none;
	padding: 10px;
	position: absolute;
	text-align: left;
	z-index: 100;
}

.pickup-locations-select .pickup-locations-menu ul + ul, 
.home-store-select .locations-menu ul + ul {
	border-top: 1px solid rgba(0,0,0,0.15);
	margin-top: 0.5rem;
	padding-top: 0.5rem;
}

.pickup-locations-select .pickup-locations-menu li, 
.pickup-locations-select .pickup-locations-menu a {
	display: block;
	margin: 0;
}

.pickup-locations-select .pickup-locations-menu a:hover {
	background: rgba(0,0,0,0.15);
	border-radius: 3px;
}

.shop .orders-paused .closed, 
.shop .disabled .closed {
	margin-top: 1em;
	position: relative;
}

.shop .orders-paused .closed img, 
.shop .disabled .closed img {
	border: 5px solid #fff;
	border-radius: 3px;
}

.shop .orders-paused .closed .sorry, 
.shop .disabled .closed .sorry {
	border: 0;
	box-shadow: 5px 5px 10px rgba(0,0,0,0.15);
	position: absolute;
	right: 0.5em;
	top: 0;
	transform: rotate(3deg);
	width: 40%;
}

.shop .disabled .closed .coming-soon {
	border: 0;
	position: absolute;
	left: 5px;
	top: -13px;
}

header nav.basket-panel {
	display: block;
	margin: 0 0 1em 0;
	padding: 0.5em 0;
	position: relative;
	top: 0;
}

header nav.basket-panel ul {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

header nav.basket-panel label {
	display: block;
	margin-bottom: 0.25em;
}

header nav.basket-panel select {
	padding: 4px 20px 4px 6px;
}

.pickup-settings {
	background: #29c332;
	border-radius: 2px;
	color: #fff;
	display: none;
	margin-left: 1em;
	padding: 0.15em 0.5em;
}

.basket form,
.basket-container {
	background: #fff;
	border-radius: 5px;
	margin: 1em auto;
	padding: 1em;
}

.basket form .warning,
.basket-container .warning, 
.bundled-items .warning {
	border: 1px solid #ddd;
	box-shadow: 0 0 5px rgba(0,0,0,0.15);
	font-size: small;
	margin-bottom: 0;
	position: relative;
}

.basket form .warning .blackout,
.basket-container .warning .blackout {
	border-color: #f9bb58;
}

.bundled-items .warning {
	border: 0;
	margin-bottom: 1em;
}

.basket-container table {
	margin-bottom: 0;
}

.basket form .message .icon, 
.checkout .basket-container .message .icon {
	padding: 1em 0.5em;
	width: 20px;
}

.basket form .actions {
	border-top: 0;
}

.basket .fine-print, 
.basket-container .fine-print, 
.insert-calendar-picker .fine-print {
	font-size: smaller;
	color: #999;
}

.basket-container .fine-print {
	margin-bottom: 0;
}

.shop .order .button {
	display: inline-block;
	margin: 0.5em 0;
}

.shop .button.primary {
	background: #222;
	display: block;
	padding: 15px 20px;
	width: fit-content;
	margin: auto;
}

.shop .button.primary img {
	rotate: -10deg;
	width: 120px;
	vertical-align: middle;
}

.checkout table,
.basket table,
.confirmation table {
	width: 100%;
}

.button.disabled.primary {
	cursor: not-allowed;
	opacity: 0.5;
}

.checkout table,
.basket table,
.confirmation table {
	width: 100%;
}

.checkout tr:nth-child(even),
.basket tr:nth-child(even),
.confirmation tr:nth-child(even) {
	background: transparent;
}

.confirmation thead .order-date {
	font-weight: normal;
}

.confirmation tfoot th {
	vertical-align: top;
}

.basket caption {
	font-size: 1.5em;
	margin: 0 0 1em 0;
}

.checkout thead th,
.basket thead th {
	text-align: left;
}

.checkout th:first-child,
.basket th:first-child, 
.checkout td:first-child,
.basket td:first-child {
	padding-left: 0;
}

.checkout th:last-child,
.basket th:last-child, 
.checkout td:last-child,
.basket td:last-child {
	padding-right: 0;
}

.checkout tbody tr,
.checkout tfoot,
.basket tbody tr,
.basket tfoot,
.confirmation tbody tr,
.confirmation tfoot {
	border-top: 1px solid #ccc;
}

.basket table td.product-image {
	vertical-align: top;
}

.basket table td.product-image img {
	border-radius: 5px;
	max-width: 100px;
}

.confirmation .paid,
.confirmation .due {
	background: #28c941;
	border-radius: 2px;
	color: #fff;
	display: inline-block;
	font-weight: bold;
	padding: 0.1em 0.5em;
	text-transform: uppercase;
}

.confirmation .due {
	background: #fb4645;
}

.confirmation .special-instructions {
	border: 1px solid #999;
	border-radius: 3px;
	margin: 1em auto;
	padding: 0 1em 1em 1em;
}

.confirmation .special-instructions h4,
.confirmation .special-instructions p {
	margin: 0;
}

.checkout th,
.basket th, 
.checkout td,
.basket td {
	padding: 10px;
}

.basket small + p {
	display: none;
}

.basket tr.sku {
	border: 0;
	font-size: small;
}

.basket tr.sku td {
	padding-top: 0;
}

table thead .currency,
table tbody .currency,
table tfoot .currency,
table .remove,
tfoot th {
    text-align: right;
}

table .quantity {
    text-align: center;
}

.js .checkout .limit,
.no-js .checkout .remaining {
	display: none;
}

.basket table input[type='submit'],
.basket table .button {
	font-size: small;
}

.basket table tfoot .button {
	font-size: inherit;
}

.basket tfoot .grand-total th, 
.basket tfoot .grand-total th + td, 
.checkout tfoot .grand-total th, 
.checkout tfoot .grand-total th + td, 
.confirmation tfoot .grand-total th, 
.confirmation tfoot .grand-total th + td  {
	border-top: 1px solid #ccc;
} 

.basket .actions {
	margin: 0 0 1em 0;
	padding-top: 1em;
}

.basket .actions li {
	display: inline-block;
}

.basket .actions li + li {
	float: right;
}

.basket .remove {
	color: #222;
}

.basket .invalid input {
	border-color: #f64a4a;
}

.basket .invalid .item-message span, 
.checkout .item-message small {
	background: #f64a4a;
	border-radius: 2px;
	color: #fff;
	display: inline-block;
	padding: 0.25em 0.5em;
}

.basket .grid li {
	background: #fff;
	border-radius: 3px;
	padding: 10px;
	text-align: center;
}

.basket .grid a {
	text-decoration: none;
}

.checkout fieldset {
	border-left: 10px solid #9e9b94;
	margin-top: -1em;
	padding-left: 20px;
}

.checkout legend {
	margin-bottom: 0.25em;
	margin-left: 0.25em;
	padding-top: 2em;
}

.checkout fieldset p {
	margin: 1em 0;
}

.checkout li.error {
	border-left: 30px solid #f64a4a;
	background: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
	padding: 1em;
}

.checkout li.error .message {
	background: #f64a4a;
	color: #fff;
	font-size: smaller;
	margin: 0.5em  0 0 0;
	padding: 0.5em;
}

.date-picker {
	background: #fff;
	border: 1px solid #999;
	border-radius: 3px;
	padding: 1em;
	position: relative;
	max-width: 400px;
}

.date-picker .next,
.date-picker .prev {
	position: absolute;
	text-decoration: none;
	top: 0.5em;
}

.date-picker .prev {
	left: 0.5em;
}

.date-picker .next {
	right: 0.5em;
}

.date-picker table {
	line-height: 1em;
	margin-bottom: 0;
	width: 100%;
}

.date-picker caption {
	font-size: 1.25em;
	font-weight: bold;
	margin-bottom: 1em;
}

.date-picker thead {
	border-bottom: 1px solid #ddd;
}

.date-picker tbody > tr:first-child td {
	padding-top: 1em;
}

.date-picker tbody tr {
	border: 0;
}

.date-picker th,
.date-picker td {
	padding: 0.15em;
	text-align: center;
}

.date-picker .past,
.date-picker label {
	display: block;
	padding: 0.8em 0.5em;
	text-align: center;
}

.date-picker label {
	border: 1px solid #ccc;
	border-radius: 3px;
	cursor: pointer;
}

.date-picker .past {
	color: #ccc;
}

.date-picker .today, 
.date-picker .unavailable {
	color: #999;
}

.date-picker .today, 
.date-picker .unavailable {
	border: 1px dashed #ccc;
	border-radius: 3px;
	cursor: not-allowed;
	display: block;
	padding: 0.8em 0.5em;
	
}

.date-picker .unavailable.blackout {
	border-color: #f9bb58;
	color: #f9bb58;
}

.date-picker .today {
	color: #000;
	font-weight: bold;
}

.date-picker input[type='radio'] {
	display: none;
	margin: auto;
}

.date-picker input[type='radio']:checked + label {
	background: #3084fd;
	border-color: #3084fd;
	box-shadow: none;
	color: #fff;
}

.foot-notes {
	border-top: 1px solid #eee;
	color: #999;
	font-size: smaller;
	margin-top: 2em;
	padding: 1em 0 0 0;
}

.foot-notes li {
	margin-top: 0;
	padding-inline-start: 0.5ch;
}

.foot-notes li:first-child {
	list-style-type: '*';
}

.foot-notes li:nth-child(2) {
	list-style-type: '†';
}

.checkout #paymentControl .message,
.checkout #paymentControl.confirm .message.error.show {
	display: none;
}

.checkout #paymentControl .message.show {
	display: block;
}

.checkout #paymentControl.confirm .message {
	display: flex;
	box-shadow: 0 0 5px rgba(0,0,0,0.25);
}

#paymentControl.confirm .message .encrypted_card_number,
#paymentControl.confirm .message .billing_name {
	font-family: monospace;
	font-size: 1.25em;
	margin-left: 0.5em;
	text-transform: lowercase;
}

#paymentControl.confirm .message .billing_name {
	text-transform: capitalize;
}

.checkout .step {
	background: #9e9b94;
	border-radius: 40px;
	color: #cfccc5;
	display: inline-block;
	line-height: 1em;
	margin-left: -0.5em;
	padding: 10px 20px;
}

.checkout .ftm,
.checkout .ead {
	border: 10px solid #000;
	border-width: 10px 0;
	padding: 1em;
}

.checkout .ftm {
	background: url('/img/shells.svg');
	border-top: 10px solid #000;
	color: #000;
}

.checkout .ead {
	background: #d53136 url('/img/weekly-specials-square-black-white-red.svg') top center repeat-x;
	background-size: 15px;
	color: #fff;
	font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
	padding-top: 1.5em;
}


.checkout .ftm label,
.checkout .ead label {
	display: flex;
	align-items: baseline;
}

.contests .signup h3 label, 
.checkout .signup .email-lists label {
	padding-left: 30px;
	text-align: left;
}

.checkout .ftm input,
.checkout .ead input {
	display: inline;
	margin-right: 0.5em;
}

.order-code-message.confirm {
	border-left: 20px solid #28c840;
}

.order-code-message.error {
	border-left: 20px solid #f64a4a;
}

.order-code-message {
	background: #fff;
	box-shadow: 0 0 5px #ccc;
	margin-top: 1em;
	padding: 10px;
}

.confirmation .order-header {
	display: flex;
}

.checkout .order_code {
	font-family: monospace;
	font-size: 1.25em;
	text-transform: uppercase;
}

.order-code-message h4,
.order-code-message p {
	margin: 0;
}

.confirmation .order-header > * {
	flex: 1 1 auto;
	width: 50%;
}

.order-header dt {
    font-weight: bold;
}

.order-header dd {
    font-size: 0.9em;
    margin: 0;
}

.shop .panes {
	margin-top: 1.5em;
	max-height: inherit;
}

.shop .panes * {
	box-sizing: border-box;
}

.shop .grid {
	display: grid;
	grid-gap: 10px;
	grid-template-columns: 1fr 1fr 1fr;
    margin-top: 1em;
}

.gourmet-to-go .main > header h3 {
	font-size: 1.25em;
	font-weight: normal;
	margin-top: 0;
}

.gourmet-to-go.cheese-boards .grid {
	grid-template-columns: 1fr 1fr ;
}

.shop .grid > * {
	background: #fff;
	border-radius: 3px;
	margin: 0;
	overflow: hidden;
	padding-bottom: 0.25em;
}

.gourmet-to-go .sticky-wrapper {
	margin-bottom: -60px;
}

.gourmet-to-go .subnav.is-sticky {
	background: #bbb8b2;
}

.gourmet-to-go .subnav h3 {
	margin: 0;
}

.gourmet-to-go .subnav li,
.gourmet-to-go .subnav a {
	display: inline-block;
}

.gourmet-to-go .subnav .current a {
	color: #fff;
	background: #333;
}

.shop .listing > * {
    display: block;
	margin-left: 0.25em;
	padding-top: 0.5em;
}

.shop input[type="checkbox"] {
	margin-right: 0.5em;
}

.shop .categories .grid {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.shop.signature-meals-to-go .products .grid {
	grid-template-columns: 1fr 1fr 1fr;
}

.shop .categories .grid li {
	grid-column: span 2;
}

.shop .categories .grid li:nth-child(1) {
	grid-column: 1 / span 6;
}

.shop .categories .grid li:nth-child(2) {
	grid-column: 1 / span 3;
}

.shop .categories .grid li:nth-child(3) {
	grid-column: 4 / span 3;
}

.shop.holiday-meals .grid {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}

.shop.holiday-meals .sidebar .grid {
	grid-template-columns: 1fr 1fr 1fr;
}

.shop.picnic .grid {
	grid-template-columns: 1fr;
}

.shop.holiday-meals .products .grid {
	grid-template-columns: 1fr 1fr 1fr;
}

.shop.holiday-meals .categories .grid li:nth-child(1) {
	grid-column: 1 / span 8;
}


.shop.holiday-meals .categories .grid li:nth-child(2) {
	grid-column: 1 / span 8;
}

.shop.holiday-meals .categories .grid li:nth-child(3) {
	grid-column: 1 / span 4;
}


.shop.holiday-meals .categories .grid li:nth-child(4) {
	grid-column: 5 / span 4;
}

.cakes .categories .grid li:nth-child(1) {
	grid-column: 1 / span 3;
}

.cakes .categories .grid li:nth-child(2) {
	grid-column: 4 / span 3;
}

.cakes .categories .grid li:nth-child(3), 
.cakes .categories .grid li:nth-child(5), 
.shop.signature-meals-to-go .categories .grid li:nth-child(2) {
	grid-column: 1 / span 3;
}

.cakes .categories .grid li:nth-child(4), 
.shop.signature-meals-to-go .categories .grid li:nth-child(3) {
	grid-column: 4 / span 3;
}

.shop.signature-meals-to-go .categories .grid li:nth-child(1) {
	grid-column: 1 / span 6;
}

.shop .grid h3 a {
	margin: 0;
}

.holiday-meals header h1 {
	line-height: 1.5em;
}

.holiday-meals header h1 small {
	display: block;
	line-height: 1.5em;
	margin: 0.5em 0;
}

.shop .category header p {
	color: #ccc;
	font-style: italic;
	margin-bottom: 0;
}

.shop .button.basket, 
.confirmation .button.basket {
	background-image: url('/img/basket-icon.svg');
	background-position: 10px 10px;
	background-size: 18px;
	background-repeat: no-repeat;
	padding-left: 34px;
}

.shop .button.basket.has-items, 
.confirmation .button.basket.has-items {
	background-color: #28c941;
	background-image: url('/img/basket-icon-white.svg');
	color: #fff;
}

.holiday-meals .coming-soon,
.shop .policies {
    border-top: 1px solid rgba(0,0,0,0.15);
    margin-top: 1em;
}

.shop .watermark-image img {
	background: #fff;
	opacity: 0.25;
}

.shop .product-detail {
	margin-top: 1em;
}

.shop .product-detail header {
	border-bottom-color: rgba(0,0,0,0.1);
}

.shop .product-detail .disclaimer {
	font-style: italic;
	opacity: 0.6;
}

.shop.holiday-meals .product-detail .grid {
	grid-template-columns: 1fr 1fr;
}

.shop .collection-detail .grid li {
	box-shadow: 0 0 5px rgba(0,0,0,0.05);
}

.shop .collection-detail .grid li:hover {
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}

.shop .collection-detail .grid a {
	background: #fff;
	border-radius: 2px;
	display: block;
	height: 100%;
	padding: 1em;
}

.shop header .meta {
	color: #ccc;
    display: none;
	margin: 0;
}

.shop .main section > header h2 {
	font: 2em/1 Andada, Georgia, Times, serif;
    margin-top: 0.5em;
}

.shop .main section > header p {
	margin: 0;
}

.shop .panes > * {
	display: block;
}

.shop .product-detail figure {
	background: #fff;
	margin-bottom: 1em;
	padding: 1em;
}

.shop .product-detail .multi-image > a {
	display: none;
}

.shop .product-detail .multi-image > a.active {
	display: block;
}

.contests.detail .thumbs, 
.shop .product-detail .thumbs {
	background: #fff;
	margin-bottom: 1em;
	margin-top: -1em;
	overflow-y: hidden;
	overflow-x: auto;
	padding: 0 1em 1em 1em;
	position: relative;
	height: 100px;
}

.contests.detail .thumbs ul, 
.shop .product-detail .thumbs ul {
	display: flex;
	padding-right: 1em;
	position: absolute;
}

.contests.detail .thumbs li,
.contests.detail .thumbs a, 
.shop .product-detail .thumbs li,
.shop .product-detail .thumbs a {
	width: 100px;
	height: 100px;
}

.contests.detail .thumbs li + li, 
.shop .product-detail .thumbs li + li  {
	margin-left: 1em;
}

.contests.detail .thumbs a, 
.shop .product-detail .thumbs a {
	display: flex;
	align-items: center;
	justify-content: center;
}

.shop .product-detail .thumbs img {
	opacity: 0.5;
	max-height: 100px;
}

.contests.detail .thumbs .active img, 
.shop .product-detail .thumbs .active img {
	opacity: 1;
}

.shop .product-detail p img {
	border-radius: 3px;
	background: #fff;
	height: 90px;
	margin-right: 10px;
	margin-bottom: 3px;
	padding: 5px;
	width: 90px;
}

.shop .grid > li {
	position: relative;
	text-align: center;
}

.shop .grid > li a {
	text-decoration: none;
}

.shop .grid h3 a:hover {
    background: transparent;
}

.shop .main > figure img {
	border: 5px solid #fff;
	border-radius: 3px;
}

.shop .grid figure {
	padding: 5px;
}

.shop .price {
	color: #cf4139;
	font-size: 1.75em;
	font-weight: bold;
}

.shop .grid .price {
    font-size: 1.25em;
}

.shop .department {
	font-style: italic;
	margin: 0;
}

.shop .product-detail .options > ul {
	list-style: none;
	padding-left: 0;
}

.shop .product-detail h4 {
	margin-bottom: 0;
	text-transform: capitalize;
}

.shop .product-detail .options .price {
	font-size: 1em;
}

.shop .product-detail .price,
.shop .product-detail .minimum {
	margin: 0;
}

.shop .product-detail #message_options ul {
	background: #fff;
	border: 1px solid #999;
	border-radius: 5px;
	margin: 1em 0 0 1.5em;
	padding: 1.25em;
}

.shop .product-detail #message_options select {
	width: 100%;
}

.shop code {
	font-style: normal;
	padding: 0.25em;
}

.shop .minimum {
	color: #666;
	font-size: smaller;
	font-style: italic;
}

/*! Tastings */

.tastings .location label {
	display: inline;
	margin-right: 0.25em;
}

.tastings .tastings label + label {
	margin-left: 1em;
}

.tastings .optin li {
	margin: 0;
}

/*! Locations */

.locations.detail .details {
	background: rgba(0,0,0,0.05);
	padding: 10px 0 10px 20px;
}

.locations .masthead + .container {
	margin-top: 0;
}

.locations .masthead figure {
	height: 800px;
	margin: 0;
	max-width: 100%;
	width: 100%;
}

.locations .all-locations {
	height: 800px;
	width: 100%;
}

.locations .all-locations .svg-pan-zoom_viewport {
	height: 900px;
}

.locations .mapboxgl-popup {
	background: #fff;
	border-radius: 3px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
	font-size: 0.9em;
	max-width: 300px;
	padding: 1em;
}

.locations .mapboxgl-popup-content {
	box-shadow: none;
	padding: 0;
}

.locations .mapboxgl-popup-content p:last-child {
	margin-bottom: 0;
}

.locations .mapboxgl-popup .mapboxgl-popup-tip {
	border-width: 0;
}

.locations .mapboxgl-popup .mapboxgl-popup-close-button {
	border: 0;
	background: transparent;
	font-size: 1.25em;
	position: absolute;
	top: -8px;
	right: -5px;
}

.locations .grid > * {
	background: #fff;
	border-radius: 5px;
	overflow: hidden;
	position: relative;
}

.locations .grid article {
	padding: 0 1em 1em 1em;
}

.locations .grid .controls a {
	display: block;
	margin-top: 1em;
	text-align: center;
}

.locations .coming-soon {
	background: #000;
	color: #fff;
	display: block;
	text-align: center;
}

.locations .grid .coming-soon {
	position: absolute;
	width: 100%;
}

.locations aside .coming-soon {
	border-radius: 20px;
	display: inline;
	font-size: small;
	padding: 2px 10px;
}

.locations.detail header .coming-soon {
	font-size: 1.25em;
}

.locations .controls .home-store {
	background: #28c840;
	border-radius: 2px;
	color: #fff;
	display: block;
	margin-top: 1em;
	padding: 6px 12px;
	text-align: center;
}

.locations.detail iframe {
	border: 1px solid rgba(0,0,0,0.15);
}

.locations dd {
	margin-left: 0;
	font-size: 0.9em;
}

.locations .details h2 {
	display: none;
}

.locations .hours dd + dt {
	margin-top: 1em;
}

.locations .feature-home-store {
	border-bottom: 1px solid rgba(0,0,0,0.1);
	display: flex;
	padding-bottom: 1em;
}

.locations .feature-home-store > * {
	flex: 0 0 50%;
}

.locations .feature-home-store h2,

.locations .feature-home-store p {
	margin: 0;
}

.locations .feature-home-store figure {
	margin-right: 1em;
}

.locations.detail .location h3 {
	margin: 1em 0;
}

.locations.detail .mapboxgl-map {
	border: 1px solid rgba(0,0,0,0.15);
	height: 300px
}

.locations .profile-board {
    background: #333;
    color: #fff;
    display: flex;
    flex-direction: row-reverse;
    font-family: "Source Sans", "Helvetica Neue", Helvetica, Roboto, sans-serif;
    margin-top: 1em;
    padding: 1em;
}

.locations .profile-board figure {
    margin-left: 1em;
}

.locations .profile-board img {
    border: 3px solid #fff;
    border-radius: 150px;
	max-width: 190px;
}

.locations .profile-board h3,
.locations .profile-board em {
    font-family: "Andada", "Georgia", "Times New Roman", Times, serif;
    font-size: 2em;
}

.locations .profile-board h3 {
    border-bottom: 1px solid #fff;
    margin-bottom: 0;
}

.locations .profile-board h3 + p {
    margin-top: 0.25em;
}

.locations .profile-board em {
    font-size: 1em;
}

/*! Aisles */

.aisles .aisle {
	max-width: 3em;
}

.aisles table {
	width: 100%;
}

.aisles tbody td:last-child {
	text-align: center;
}

.aisles h2 > strong {
	text-transform: uppercase;
}

/*! Articles */

.newsroom .cols > div{
	align-self: flex-start;
}

.articles time,
.newsroom time {
	color: #666;
	display: block;
	font-size: 0.9em;
	font-style: italic;
}

.newsroom .articles article {
	position: relative;
}

.newsroom .articles .listing .permalink {
	font-size: smaller;
}

.articles.detail h3 {
	margin-bottom: 0;
}

.articles.detail h3 + p {
	margin-top: 0;
}

.articles.detail header .disclaimer {
    color: #666;
    font-size: smaller;
    font-style: italic;
    margin: 0 0 1em 1em;
}
.articles.detail header .disclaimer::before {
    content: '\21B3';
    margin-right: 0.25em;
}

.articles.detail .summary {
    display: none;
    visibility: hidden;
}

.articles.detail .health-notes {
	width: 100px;
}


/*! Recipes */

.recipes .listing li,
.recipes .card,
.landing-page .grid .recipes,
.contests .listing .recipes {
	background: #fff;
	display: inherit;
	padding: 20px;
	position: relative;
}

.landing-page .grid .recipes .meta {
	margin-bottom: 1em;
}

.grid .recipes h3 {
	margin: 0;
}

.recipes figure {
	margin: 0;
	max-width: inherit;
	min-width: inherit;
	position: relative;
}

.recipes img.icon {
	position: absolute;
	width: 80px;
	right: 0;
}

.recipes h3,
.recipes h1 {
	font-weight: bold;
	padding-right: 50px;
}

.recipes article,
.recipes .card {
	font-family: "Source Sans", "Helvetica Neue", "Helvetica", "Roboto", "Arial";
}

.recipes .card dl {
	flex: 1 1 25%;
	margin: 0;
	padding: 0.25em 0.5em;
}

.recipes .card dl + dl {
	border-left: 1px solid #999;
}

.recipes .card dt,
.recipes .card dd {
	display: block;
	margin: 0;
}

.recipes .card dt {
	color: #999;
	font-size: smaller;
	font-style: normal;
}

.recipes .card dd img {
	max-width: 80%;
	vertical-align: middle;
}

.recipes *[itemprop="prepTime"], 
.recipes *[itemprop="cookTime"] {
	display: none;
}

.recipes .meta {
	border: 1px solid #999;
	border-width: 1px 0;
	color: #999;
	font-size: small;
	font-style: normal;
	font-weight: bold;
	letter-spacing: 2px;
	margin-top: 1em;
	padding: 0.25em;
	text-transform: uppercase;
}

.recipes.detail .meta {
	display: flex;
	margin-bottom: 1em;
	padding: 0;
}

.recipes .meta a,
.recipes .meta dd {
	color: #333;
	font-size: 1.25em;
	font-weight: normal;
	letter-spacing: normal;
	text-transform: none;
}

.recipes.detail .meta dd {
	text-align: right;
}

.recipes .pairings ul {
	list-style: none;
	padding: 0;
}

.recipes .pairings li {
	display: -webkit-flex;
	display: flex;
}

.recipes .pairings li + li {
	margin-top: 1em;
}

.recipes .pairings figure {
	-webkit-flex: 1 0 25%;
	flex: 1 0 25%;
	margin-right: 0.5em;
}

.recipes .pairings figure img {
	width: 80px;
}

.recipes .pairings div {
	-webkit-flex: 3;
	flex: 3;
}

.recipes .pairings h5,
.recipes .pairings p {
	margin: 0;
}

.recipes .pairings p {
	font-size: smaller;
}

.definitions dl {
	border-left: 5px solid rgba(0,0,0,0.15);
	padding-left: 1em;
}

.definitions dt {
	font-weight: bold;
}

.definitions dd p {
	margin: 0;
}

.recipes audio {
	display: none;
}


/*! Events */

.events .calendar {
	margin-right: 20px;
	position: relative;
	text-align: center;
}

.events .listing .calendar,
.events.detail section > header,
.landing-page .events .calendar,
.contests .events .calendar {
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.15);
}

.events.detail section > header {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	margin-top: 1em;
}

.events.detail h2 {
	font: 2em/1.2 "Andada", Georgia, Times, serif;
}

.events.detail section > header section {
	margin: 0.5em 0;
}

.events .listing .calendar,
.landing-page .events .calendar,
.contests .events .calendar {
	height: 100px;
	margin-top: 6px;
	max-width: 100px;
	min-width: 100px;
}

.events.detail .calendar {
	border-right: 1px solid #e1e1e1;
	max-width: 125px;
	min-width: 125px;
}

.events .calendar .past {
	background: #fcf560;
	font-size: small;
	padding: 10px;
}

.events .calendar > span {
	display: block;
}

.events .calendar .weekday,
.events .calendar .month {
	background: #eee;
	font-size: 0.8em;
	position: absolute;
	text-transform: uppercase;
	width: 49%;
}

.events .calendar .weekday {
	left: 0;
}

.events .calendar .month {
	right: 0;
}

.events .calendar .day {
	font-size: 3em;
	line-height: 1em;
	margin-top: 20px;
}

.events .calendar .year {
	font-style: italic;
}

.events.detail .calendar .day {
	font-size: 5em;
}

.events .calendar.multi .month {
	width: 100%;
}

.events .calendar.multi .day {
	font-size: 2em;
	line-height: 1.5em;
}

.events .time,
.events .location,
.events .category,
.events .address {
	margin: 0;
}

.events .address {
	font-size: 0.9em;
	font-style: italic;
}

.events .category {
	font-style: italic;
	font-size: smaller;
}

.events .category,
.events .category a {
	color: rgba(0,0,0,0.5);
}

.events .dt-start {
	font-weight: bold;
}


/*! Reports */

.reports {
	background: #fff;
	box-shadow: 0 10px 10px rgba(0,0,0,0.02);
	display: flex;
	padding: 20px;
}

.reports > figure {
	margin-right: 1em;
}

.reports article h2 {
	font-size: 2em;
	font-weight: normal;
	line-height: 1.25em;
	margin: 0;
}

/*! Gallery */

.gallery .main > figure + nav {
	margin-top: 1.75em;
}

.gallery .main > figure figcaption {
	font-size: 1.15em;
	margin: 1em 0;
	text-align: left;
}

.gallery .additional-videos li {
	position: relative;
}

.gallery .additional-videos li figure {
	position: relative;
	top: 0;
	z-index: 100;
}

.gallery .additional-videos li a {
	display: block;
	height: 100%;
	left: 0;
	width: 100%;
	position: absolute;
	text-decoration: none;
	top: 0;
	z-index: 200;
}

/*! Lifestyle */

.lifestyle .main > header {
	padding-left: 45px;
}

.lifestyle h1 small {
	margin-left: 40px;
}

.lifestyle .introduction h2 {
	color: rgba(0,0,0,0.3);
	font-size: 2.5em;
	font-weight: normal;
	line-height: 1.25;
}

.lifestyle .introduction img {
	float: left;
	margin: -115px 20px 20px 0;
}

.lifestyle h3 {
    font-size: 1.5em;
    margin-bottom: 0;
}

.lifestyle h3 + p {
    margin-top: 0;
}

.lifestyle h3 img {
    display: inline-block;
    margin-right: 0.5em;
    vertical-align: middle;
    width: 100px;
}

.lifestyle .throb:hover {
    transform: scale(1.25, 1.25);
    animation: throb 0.5s infinite;
}

@keyframes throb {
  0% {
    transform: scale(1, 1);
  }
  40% {
    transform: scale(1.25, 1.25);
  }
  80% {
    transform: scale(1.25, 1.25);
  }
  100% {
    transform: scale(1, 1);
  }
}

/*! Contact */

.contact .url-field,
.contact .corporate-office-disclaimer,
.contact .email-us legend {
    display: none;
}

.contact .cols > div {
	align-self: inherit;
}

.contact .email-us .actions {
    border-top: 0;
    padding-top: 0;
}

.contact .social-media h2 {
	margin: 0.83em 0;
}

.contact .social-media ul {
    list-style-type: none;
    padding: 0;
}

.contact .social-media li + li {
    margin-top: 1em;
}

.contact .social-media a {
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.5);
    display: flex;
    padding: 0.5em;
    text-decoration: none;
}

.contact .social-media a:focus,
.contact .social-media a:hover {
    background-color: #fff;
}

.contact .social-media a > * {
    flex: 0 0 auto;
}

.contact .social-media img {
    margin-right: 0.5em;
    width: 55px;
}

.contact .direct-contact picture {
	display: block;
	margin-top: 1em;
}

.contact .direct-contact dt {
	font-size: smaller;
}

.contact .direct-contact dd {
	margin-left: 0;
}

.contact .corporate {
    border-top: 1px solid #9e9b94;
    margin-top: 2em;
    padding-top: 1em;
}

.contact .corporate th, 
.contact .corporate td {
	vertical-align: top;
}

.contact .corporate th {
	padding-right: 1em;
	text-align: right;
}

.ccpa-disclaimer {
	background: #fff url('/img/keyway.svg') no-repeat;
	background-position: 15px 15px;
	background-size: 60px;
	border-radius: 3px;
	min-height: 71px;
	padding: 10px 20px 10px 90px;
}

/*! Newsroom */

.newsroom time {
	display: inline;
	margin-right: 0.25em;
}

.newsroom .articles .listing a[href*='http']:after {
	content: ' \21A6';
}

.blog .category,
.newsroom .category {
	background: rgba(255,255,255,0.6);
	border-radius: 2px;
	color: #666;
	display: inline-block;
	font-size: 0.8em;
	padding: 0 0.3em;
}

.blog .category.daily-dish,
.newsroom .category.in-the-news {
	color: #29c231;
}

.newsroom .category.press-release {
	color: #fb4746;
}

.blog .category.media-alert,
.newsroom .category.media-alert {
	color: #5e99f0
}

.watermark {
	background: #fff;
	opacity: 0.5;
}

.newsroom .main .sidebar {
	background: #fff;
	display: block;
	margin-bottom: 1.5em;
	padding: 5px 10px;
}

.js .newsroom .terms {
	display: none;
}

.newsroom .main .sidebar {
	font-size: smaller;
}

.newsroom.detail .main > header {
	margin-bottom: 1em;
}

.newsroom.detail .widget.about,
.newsroom.detail .contact {
	border-top: 1px solid rgba(0,0,0,0.25);
}

.newsroom.detail .contact h4 {
	margin-bottom: 0;
}

.newsroom .sidebar .docs li {
	border: 1px solid #ddd;
	border-radius: 2px
}

.newsroom .sidebar .docs a {
	display: block;
}

.newsroom .feeds a,
.newsroom .grid a {
	font-size: small;
	text-decoration: none;
}

.newsroom .sidebar .social-media ul {
	list-style: none;
	padding-left: 10px;
	margin: 0;
}

.newsroom .sidebar .social-media li + li {
	margin-top: 10px;
}

.newsroom .sidebar .social-media a {
	text-decoration: none;
}

.newsroom .sidebar .social-media img {
	margin-right: 0.25em;
	vertical-align: middle;
	width: 50px;
}

/*! Specials*/

.specials .truckload {
	background: #fff;
	border-radius: 10px;
	font-size: 150%;
	margin-bottom: 1em;
	overflow: hidden;
	text-align: center;
}

.specials .truckload h2 {
	line-height: 1em;
	padding: 0 20px 20px 20px;
}

.backdrop {	
	background: rgba(0,0,0,0.75);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(5px);
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: 200;
}

.home-store-select-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	height: 100vh;
	position: fixed;
	top: 0;
	width: 100vw;
	z-index: 250;
}

.home-store-select {
	background: #cdcac3 url('/img/texture-1.jpg') right top repeat-y;
	background-size: 900px;
	border-radius: 10px;
	left: 0;
	margin: auto;
	max-width: 360px;
	padding: 20px;
	position: relative;
}

.home-store-select a {
	color: #000;
}

.home-store-select ul {
	list-style: none;
}

.home-store-select .locations-menu, 
.home-store-select .toggle {
	background: #fff;
	border: #999 1px solid;
	border-radius: 5px;
}

.home-store-select .toggle {
	background: #fff url('../img/down-chevron-dark.svg') top 15px right 10px no-repeat;
	margin-bottom: -10px;
}

.home-store-select .locations-menu {
	display: none;
	padding: 10px;
	position: absolute;
	left: 40px;
	max-height: 225px;
	overflow: scroll;
}

.home-store-select h2, 
.home-store-select ul {
	margin: 0;
	padding: 0;
}

.home-store-select p {
	margin-bottom: 0;
}

.home-store-select p:last-child {
	margin-top: 25px;
	text-align: center;
}

.home-store-select .button {
	margin-top: 1em;
}

.home-store-select .pickup-locations-menu a {
	display: block;
	padding: 5px 10px;
	text-decoration: none;
}

.home-store-select .locations-menu a:hover {
	background: #eee;
	border-radius: 2px;
}

.weekly-specials-banner {
	border-top: 5px solid #000;
	box-shadow: 0 5px 10px rgba(0,0,0,0.15);
	padding: 25px 0 0 0;
	position: sticky;
	top: -1px;
	z-index: 4;
}

/* Closed Christmas */

.weekly-specials-banner .closed {
	background: #000;
	border: 15px solid #fff;
	box-shadow: 5px 5px 10px rgba(0,0,0,0.25);
	left: 0;
	right: 0;
	margin: auto;
	padding: 10px 20px;
	position: absolute;
	text-align: center;
	top: -10px;
	transform: rotate(5deg);
	width: 400px;
	z-index: 70;
}

.weekly-specials-banner .closed:before {
	border: 3px solid #999;
	border-radius: 5px;
	content: '';
	display: block;
	height: 155px;
	left: 95px;
	transform: rotate(66deg);
	position: absolute;
	top: -120px;
	width: 0;
	z-index: 9000;
}

.weekly-specials-banner .closed:after {
	border: 3px solid #999;
	border-radius: 5px;
	content: '';
	display: block;
	height: 162px;
	right: 95px;
	transform: rotate(-66deg);
	position: absolute;
	top: -125px;
	width: 0;
	z-index: 9000;
}

.weekly-specials-banner .closed > * {
	margin: 0;
}

.weekly-specials-banner header {
	display: flex;
	justify-content: space-between;
	align-content: center;
	margin: auto;
	max-width: 900px;
	padding: 0 20px;
}

.weekly-specials-banner h1,
.weekly-specials-banner strong {
	font-family: Antonio;
	font-weight: normal;
	margin: 0;
	text-shadow: 2px 2px 0 #000;
}

.weekly-specials-banner strong {
	font-size: 1.5em;
}

.weekly-specials-banner h1 {
	font-size: 2.5em;
	text-transform: uppercase;
}

.weekly-specials-banner .duration strong,
.weekly-specials-banner .duration .date-grid {
	vertical-align: middle;
}

.weekly-specials-banner .print-logo {
	display: none;
}

.specials .weekly-specials-banner.stuck {
	margin-bottom: 60px;
}

.specials .weekly-specials-banner.stuck header, 
.specials .weekly-specials-banner.stuck .store-notation, 
.specials .weekly-specials-banner .sticky-header {
	display: none;
}

.specials .weekly-specials-banner.stuck .sticky-header {
	display: block;
	text-align: center;
}

.specials .weekly-specials-banner.stuck .sticky-header p {
	margin: 0 20px;
	text-align: center;
}

.specials .weekly-specials-banner.stuck .sticky-header strong {
	text-transform: uppercase;
}

.specials .banner .banner-copy small {
	display: block;
}

.specials .banner .banner-copy .sale {
	margin: 0;
}

.specials .date-grid {
	background: #fff;
	border-radius: 5px;
	color: #bbb;
	display: inline-grid;
	font-family: "Source Sans";
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
	margin: 0 0.25em;
	padding: 0 5px;
}

.specials .date-grid.extend-8 {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}

.specials .date-grid.extend-9 {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}

.specials .date-grid.extend-9 {
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
} 

.specials .date-grid li {
	display: inline-block;
	padding: 5px 0;
	text-align: center;
}

.specials .date-grid .today {
	background: #000;
	border-radius: 5px;
	color: #fff;
	padding: 10px;
	margin: -5px 0;
}

.specials .date-grid .today ~ * {
	color: #000;
}

.specials .date-grid .day {
	font-size: 0.65em;
	text-transform: uppercase;
}

.specials .date-grid .date {
	font-size: 1.25em;
}

.specials .jump-nav, 
.specials .hidden-dept-nav {
	display: flex;
	font-family: "Source Sans", "Helvetica Neue", Helvetica, Roboto, sans-serif;
	margin: 0.5em auto 0 auto;
	max-width: 900px;
}

.specials .jump-nav {
	background: #fff;
	border-radius: 15px 15px 0 0;
	color: #000;
	padding: 10px 20px;
}

.specials .jump-nav.scroll {
	overflow: scroll;
}

.specials .jump-nav.scroll h3 {
	display: none;
}

.specials .jump-nav.scroll ul {
	flex-wrap: nowrap;
}

.specials .jump-nav h3, 
.specials .hidden-dept-nav h3 {
	margin-right: 10px;
}

.specials .jump-nav ul, 
.specials .hidden-dept-nav ul {
	align-content: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.specials .jump-nav a, 
.specials .hidden-dept-nav a {
	background: #ddd;
	border-radius: 3px;
	color: #000;
	display: inline-block;
	padding: 0.25em 0.5em;
	text-decoration: none;
}

.specials .hidden-dept-nav a {
	background: #fff;
}

.specials .jump-nav .top {
	background: #000;
	color: #fff;
}

.specials .feature-1, 
.specials .overlay {
	overflow: hidden;
	position: relative;
}

.specials .masthead img,
.specials .masthead picture {
	max-width: inherit;
}

.specials .feature-photo {
	text-align: center;
}

.specials .feature-1 .feature-photo img {
	object-fit: cover;
}

.specials .feature-1 .caption,
.specials .overlay .caption {
	background: rgba(255,255,255,0.8);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	border-radius: 15px;
	color: #000;
	font-family: "Source Sans", "Helvetica Neue", Helvetica, Roboto, sans-serif;
	font-size: 1.25em;
	padding: 20px;
	position: absolute;
}

.specials .overlay .caption {
	width: 33%;
}

.specials .overlay .prefix,
.specials .overlay .caption .description {
	font-size: 0.85em;
}

.specials .overlay .caption[style*='color: rgb(255,'] a {
	color: #fff;
}

.specials .overlay .caption[style*='color: rgb(0,'] a {
	color: #000;
}

.specials .overlay .caption[style*='color: rgb(255,'] .recipe a, 
.specials .overlay .caption[style*='color: rgb(0,'] .recipe a  {
	color: inherit;
}

.specials .feature-1 .caption.bottom {
	bottom: 0;
	min-height: inherit;
}

.specials .feature-1 .caption.right {
	margin-right: 0;
}

.specials .caption .red {
	color: #d53136;
}

.specials .caption.top {
	margin-top: 20px;
	top: 0;
}

.specials .caption.bottom {
	margin-bottom: 20px;
	bottom: 0;
}

.specials .caption.right {
	margin-right: 20px;
	right: 0;
}

.specials .caption.left {
	left: 0;
	margin-left: 20px;
}

.specials .features .caption .description p + p {
	margin-top: 1em;
}

.specials .feature-1 .caption.top {
	margin-top: 0;
}

.specials .feature-1 .caption.bottom {
	margin-bottom: 0;
	padding-bottom: 40px;
}

.specials .feature-1 .caption.right {
	margin-right: 0;
}

.specials .feature-1 .caption.left {
	margin-left: 0;
}

.specials .feature-1 .caption header {
	display: flex;
}

.specials .feature-1 .caption header * {
	margin: 0;
}

.specials .feature-1 .caption .labels {
	flex: 1 0 auto;
	margin-right: 20px;
	max-width: 100px;
}

.specials .feature-1 .selected-varieties {
	font-size: smaller;
}

.specials .recipe {
	background: #fff;
	border-radius: 5px;
	color: #000;
	display: flex;
	font-size: 0.75em;
	gap: 10px;
	margin-top: 1em;
	padding: 10px;
}

.specials .feature-1 .recipe figure, 
.specials .overlay .recipe figure {
	margin-right: 10px;
	width: 33%;
}

.specials .feature-1 .recipe article, 
.specials .overlay .recipe article {
	width: 66%;
}

.specials .feature-1 .recipe h3, 
.specials .overlay .recipe h3 {
	font-weight: bold;
}

.specials .overlay .recipe h3 a {
	text-decoration: underline;
}

.specials .overlay .recipe h3 a:hover {
	background-color: transparent;
}

.specials .feature-1 .recipe h3,
.specials .feature-1 .recipe p {
	margin: 0;
}

.specials .recipe small {
	color: #999;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.specials .feature-1 .recipe figure img {
	height: inherit;
}

.specials .banner-takeover .caption h3 {
	margin: 0;
}

.specials .banner-takeover .caption article {
	font-size: 92%;
}

.specials .banner-takeover .caption img {
	max-width: inherit;
}

.specials .feature-1 .labels img,
.specials .features .feature-2 .labels img,
.specials .features .feature-3 .labels img,
.specials .features .feature-4 .labels img {
	max-height: 100px;
	max-width: 100px;
	height: inherit;
	width: inherit;
}

.specials .feature-1 .labels li + li {
	margin-top: 0.25rem;
}

.specials .caption .sale {
	line-height: 1em;
}

.specials .main > header h2 {
	color: #666;
	font-weight: normal;
	margin-top: 0;
}

.specials .disclaimer {
	font-size: small;
}

.specials .grid {
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr 1fr 1fr;
	justify-content: inherit;
	flex-wrap: nowrap;
}

.specials .features .grid {
	grid-template-columns: 1fr 1fr;
}

.specials .grid > * {
	margin: 0;
}

.specials .grid li, 
.specials.detail .details, 
.specials .banner .banner-copy {
	font-family: "Source Sans", "Helvetica Neue", Helvetica, Roboto, sans-serif;
}

/*	Group sort layout for single image with multiple line listings
	Use this for displaying Prime Rib Roasts with a single image

.specials .grid.sorted {
	background: #000;
	color: #fff;
	display: grid;
	gap: 20px;
	grid-template-columns: 1fr 1fr;
	margin-bottom: 20px;
	margin-left: -20px;
}

.specials .grid.sorted > * {
	flex: none;
}

.specials .grid.sorted figure {
	display: none;
}

.specials .grid.sorted > li:first-child {
	background: rgba(255,255,255,0.1);
	border-radius: 10px;
	display: flex;
	grid-column: 1 / span 2;
	margin: 20px;
	padding: 20px;
}

.specials .grid.sorted > li:first-child > * {
	flex: 1 1 50%;
	gap: 20px;
	margin: 0;
}

.specials .grid.sorted li:first-child figure {
	display: block;
}

.specials .departments .grid.sorted li:first-child .feature-photo img {
	max-height: inherit;
}

*/

.specials .grid .inset {
	background: transparent;
	margin: 0;
	padding: 10px 20px;
	text-align: center;
}

.specials .features .grid  li {
	text-align: left;
}

.specials .banner {
	margin-bottom: 2em;
	margin-right: 20px;
}

.banner .sponsored {
	font-family: "Source Sans", "Helvetica Neue", "Helvetica", "Roboto", Arial, sans-serif;
	text-align: right;
	font-size: smaller;
}

.specials h2 {
	margin: 0 0 0.5em 0;
}

.specials .departments.features {
	padding-top: 0;
}

.specials .departments.features h2 {
	margin-top: -20px;
	padding-left: 20px;
}

.specials h2 img {
	opacity: 0.8;
	width: 16px;
}

.specials .departments {
	background: #fff;
	border-radius: 0 15px 15px 0;
	padding: 20px;
	position: relative;
}

.specials .departments .issue,
.specials .departments .pending {
	padding: 5px;
}

.specials .departments .issue > *,
.specials .departments .pending > * {
	filter: saturate(0);
	opacity: 0.5;
}

.specials .feature-1.issue, 
.specials .feature-1.pending {
	filter: saturate(0);
}

.specials .feature-1.issue figure, 
.specials .feature-1.pending figure {
	background: #fff;
}

.specials .feature-1.issue figure img, 
.specials .feature-1.pending figure img {
	opacity: 0.65;
}

.specials .departments .issue:hover > *,
.specials .departments .pending:hover > *, 
.specials .feature-1.issue:hover figure img, 
.specials .feature-1.pending:hover figure img,
.specials .feature-1.issue:hover, 
.specials .feature-1.pending:hover  {
	filter: none;
	opacity: 1;
}

.specials .departments .issue, 
.specials .departments .pending {
	border: 1px dashed #999;
	border-radius: 10px;
	padding-bottom: 2em;
	position: relative;
}

.specials .feature-1.issue, 
.specials .feature-1.pending,  
.specials .overlay.issue, 
.specials .overlay.pending {
	border: none;
}

.specials .departments.features .issue .caption, 
.specials .departments.features .pending .caption {
	padding-bottom: 2em;
}

.specials .departments li .status {
	bottom: 0;
	left: 0;
	position: absolute;
	width: 100%;
	text-align: center;
}

.specials .feature-1 .status {
	position: relative;
}

.specials .departments h2 .hide-department {
	color: #333;
	font-size: 1.25em;
	position: absolute;
	right: 20px;
	text-decoration: none;
	top: 10px;
}

.specials .departments h2 .hide-department:hover {
	color: #d0353a;
}

.specials .departments h2 .hide-department span {
	display: none;
	font: normal 50%/1.5 "Source Sans", "Helvetica Neue", "Helvetica", "Roboto", Arial, sans-serif;
	vertical-align: middle;
}

.specials .departments h2 .hide-department:hover span {
	color: #000;
	background: #fff;
	border-radius: 3px;
	box-shadow: 0 0 10px rgba(0,0,0,0.25);
	display: inline;
	padding: 5px 10px;
}

.specials.detail .main > section {
	background: #fff;
	border-bottom-right-radius: 20px;
	margin: -20px -20px 20px -20px;
	padding: 20px;
}

.specials .listing-container {
	margin: 20px -20px;
}

.specials #features-listing {
	display: block;
}

.specials .listing-container .feature-1,
.specials .listing-container .overlay {
	border-radius: 0 15px 15px 0;
	margin-bottom: 20px;
	overflow: hidden;
}

.specials .features.departments {
	background: transparent;
	padding-left: 0;
}

.specials .departments.features .grid > li {
	align-items: center;
	display: flex;
	margin: 0;
}

.specials .departments.features .grid .overlay {
	display: block;
	padding: 0;
}

.specials .feature-1 .sale,
.specials .overlay .sale {
	color: inherit;
}

.specials .departments.features .grid > li {
	grid-column: 1 / span 2;
}

.specials .departments.features .grid .side-by-side {
	padding: 20px;
}

.specials .departments.features .grid .side-by-side:nth-child(even) {
	flex-direction: row-reverse;
}

.specials .departments.features .grid .side-by-side .feature-photo, 
.specials .departments.features .grid .side-by-side .upc-photos {
	width: 50%;
}

.specials .departments.features .grid .side-by-side picture {
	background: #fff;
	border-radius: 10px;
	display: block;
	padding: 10px;
}

.specials .departments.features .upc-photos {
	border-radius: 10px;
}

.specials .departments.features .grid .side-by-side .caption {
	width: 50%;
}

.specials .departments.features .grid .side-by-side:nth-child(odd) .caption {
	margin-left: 1rem;
}

.specials .departments.features .grid .side-by-side:nth-child(even) .caption {
	margin-right: 1rem;
	text-align: right;
}

.specials .departments.features .grid .side-by-side:nth-child(odd) .feature-photo {
	margin-right: 20px;
}

.specials .departments.features .grid .side-by-side:nth-child(even) .feature-photo {
	margin-left: 20px;
}

.specials .departments .feature-photo img {
	border-radius: 10px;
	max-height: 192px;
}

.specials .departments.features .feature-photo img {
	border-radius: 0;
	max-height: inherit;
}

.specials .departments.features .grid .side-by-side .feature-photo img {
	max-height: 400px;	
}

.specials .departments.coffee-bar .grid, 
.specials .departments.bakery .grid {
	display: block;
}

.specials .departments.coffee-bar .grid > li, 
.specials .departments.bakery .grid > li {
	display: flex;
}

.specials .departments.bakery .grid > li + li {
	margin-top: 20px;
}

.specials .departments.coffee-bar .grid > li:nth-child(even), 
.specials .departments.bakery .grid > li:nth-child(even) {
	flex-direction: row-reverse;
}

.specials .departments.coffee-bar .grid > li:nth-child(even) .inset , 
.specials .departments.bakery .grid > li:nth-child(even)  .inset {
	text-align: right;
}

.specials .departments.coffee-bar .feature-photo, 
.specials .departments.bakery .feature-photo {
	flex: 0 0 50%;
}

.specials .departments.coffee-bar .feature-photo img, 
.specials .departments.bakery .feature-photo img {
	max-height: inherit;
}

.specials .departments.coffee-bar .inset, 
.specials .departments.bakery .inset {
	padding: 0 20px;
	text-align: left;
}

.specials .departments.coffee-bar .name, 
.specials .departments.bakery .name {
	font-size: 1.5em;
}

.specials .departments.coffee-bar .description h3, 
.specials .departments.bakery .description h3 {
	font-size: 1em;
	font-weight: bold;
}

.specials .departments.coffee-bar .description ul, 
.specials .departments.bakery .description ul {
	list-style-type: disc;
	padding-left: 1em;
}

.specials .departments.bakery, 
.specials .departments.coffee-bar {
	background: #333;
	border-radius: 0;
	box-shadow: 0 0 10px rgba(0,0,0,0.25);
	color: #fff;
	padding: 40px;
	margin: auto -40px;
}

.specials .departments.bakery h2, 
.specials .departments.coffee-bar h2 {
	font: 3em/1 Alexbrush;
	text-align: center;
}

.specials .departments.bakery h2 a, 
.specials .departments.coffee-bar h2 a {
	color: #fff;
	font: 0.75em/1 Andada, Georgia, Times, serif;
}

.specials .departments.bakery h2::before, 
.specials .departments.coffee-bar h2::before {
	content: 'From our ';
}

.specials .departments.bakery h2 img, 
.specials .departments.coffee-bar h2 img {
	filter: invert(1);
}

.specials .departments.bakery .save, 
.specials .departments.coffee-bar .save {
	color: rgb(249, 44, 44);
}

.specials .departments.bakery li:nth-child(even) img {
	margin-top: -30px;
	transform: rotate(5deg);
}

.specials .departments.bakery li:nth-child(even) .inset {
	padding-top: 30px;
}

.specials .departments.bakery li:nth-child(odd) img {
	transform: rotate(-3deg);
}

.specials .upc-photos {
	background: #fff;
	height: 0;
	overflow: hidden;
	padding-top: 66.666%;
	position: relative;
	text-align: center;
	width: 100%;
}

.specials .features .upc-photos {
	padding-top: 33.333%;
}

.specials .upc-photos:hover {
	overflow-y: auto;
}

.specials.detail .upc-photos {
	margin: auto;
	max-width: 450px;
	padding-top: 300px;
}

.specials .upc-photos > * {
	align-content: center;
	display: flex;
	height: 100%;
	flex-wrap: wrap;
	justify-content: center;
	position: absolute;
	text-decoration: none;
	top: 0;
	width: 100%;
	z-index: 0;
}

.specials.detail .feature-photo img {
	border-radius: 10px;
}

.specials figure a {
	text-decoration: none;
}

.specials .upc-photos img:first-child {
	margin-left: -33%;
	max-height: 90%;
	max-width: 60%;
	position: absolute;
}

.specials .upc-photos img:nth-child(2) {
	bottom: 1px;
	margin-right: -33%;
	max-height: 90%;
	max-width: 60%;
	position: absolute;
}

.specials .upc-photos img + img + img {
	display: none;
}

.specials .upc-photos.count-1 img {
	margin: inherit;
	max-height: 100%;
	max-width: 100%;
	position: relative;
}

.specials.detail .upc-photos img {
	max-height: 280px;
	max-width: 280px;
}

.watermark-image {
	background: #fff;
}

.specials .watermark-image img {
	opacity: 0.25;
	z-index: 0;
}

.specials .labels {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 10;
}

.specials .features .labels {
	margin-top: 0;
}

.specials .labels li {
	display: inline-block;
	vertical-align: middle;
}

.specials .lifestyle img {
	max-height: 80px;
	max-width: 80px;
}

.specials .lifestyle + .lifestyle {
	margin-left: -10px;
}

.specials.detail .labels {
	margin-top: 1em;
}

.specials.detail .seasoning img {
    max-height: 120px;
}

.specials .departments .seasoning + .lifestyle {
	margin-left: 0;
}

.specials.caption .lifestyle img {
	max-height: 100px;
	max-width: 100px;
}

.specials .departments .brand img,
.specials .departments .organization img {
	max-height: 80px;
	max-width: 120px;
}

.specials.detail .brand img {
	max-height: 80px;
	max-width: 225px;
}

.specials .departments .seasoning img {
	max-height: 80px;
}

.specials .departments .details {
	margin-top: 1em;
}

.specials.detail header h2 {
	margin-bottom: 1em;
}

.specials.detail header h2 .button {
	line-height: 1.5em;
}

.specials.detail .details {
	margin-top: 0.25em;
}

.specials .prefix,
.specials .name, 
.specials .suffix {
	line-height: 1.5em;
	margin: 0;
}

.specials .name, 
.specials .recipe h3 {
	font-weight: bold;
}

.specials .note {
	font-size: smaller;
	margin: 1em 0 0 0;
}

.specials.caption .button {
	font-size: smaller;
}

.specials .departments .details a {
	text-decoration: none;
}

.specials .departments .suffix,
.specials .limit {
	font-size: 0.9em;
}

.specials .pack-size {
	text-transform: lowercase;
}

.specials .departments .pack-size {
	font-size: smaller;
}

.specials .pack-size, 
.specials .selected-varieties {
	display: block;
	margin: 0;
}

.specials .departments .selected-varieties {
	font-size: smaller;
}

.specials .supplies-last {
	display: block;
	font-style: italic;
}

.specials .sale {
	font-size: 2em;
	font-weight: bold;
	line-height: 1.25em;
}

.specials .feature-1 .caption header .sale, 
.specials .features .sale {
	margin-top: 0.25em;
	line-height: 1.25em;
}

.specials.detail .sale {
	font-size: 3em;
	line-height: 0.55em;
	margin: 0.5em 0 0 0;
}

.specials .save {
	color: rgb(175,0,0);
	font-weight: bold;
}

.specials .regularly {
	border-top: 1px solid rgba(0,0,0,0.15);
	margin-bottom: 0.5em;
}

.specials .regularly .regular-retail {
	font-size: 80%;
}

.specials .sale .override {
	font-size: smaller;
}

.specials .pricing p {
	margin: 0;
}

.specials .sale i {
	font-style: normal;
}

.specials .sale small i {
	display: none;
}

.specials .sale small {
	font-size: 0.6em;
	vertical-align: super;
}

.specials .sale .perlb,
.specials .sale .perea {
	font-size: 75%;
}

.specials .price-notation {
	background: yellow;
	display: inline-block;
	margin: 10px 0;
	padding: 0.25em 0.5em;
}

.specials .weekly-specials-banner .price-notation, 
.specials .weekly-specials-banner .store-notation {
	color: #000;
	display: block;
	font-family: "Source Sans", "Helvetica Neue", "Helvetica", "Roboto", Arial, sans-serif;
	text-align: center;
}

.specials .weekly-specials-banner .store-notation strong {
	font: inherit;
	font-weight: bold;
	text-shadow: none;
}

.specials .weekly-specials-banner .store-notation .button {
	color: #fff;
	font: inherit;
	font-size: smaller;
}

.specials .weekly-specials-banner .store-notation {
	color: #fff;
	margin: 3px 0 0 0;
}

.specials .stuck .price-notation {
	margin-top: -8px;
}

.specials .feature .savings {
	font-size: smaller;
}

.specials .savings {
	margin: 0;
}

.specials .sale .crv {
	color: #333;
	font-size: 40%;
	line-height: 1;
	text-transform: uppercase;
}

.specials .upcs {
	margin-top: 2em;
}

.specials .upcs h4 {
	margin: 0;
}

.specials .upcs ul {
	padding-left: 1.25em;
	margin-top: 0;
}

.specials .upcs li + li {
	border-top: 1px solid rgba(0,0,0,0.1);
}

.specials .upcs img {
	float: right;
	width: 60px;
}

.specials .upc {
	display: block;
	font-family: monospace;
}


/*! Careers / Jobs */

.careers .main > footer {
	border-top: 1px solid rgba(0,0,0,0.1);
}

.careers .masthead .caption.bottom {
	min-height: inherit;
	padding-bottom: 40px;
}

.careers table {
    width: 100%;
}

.careers thead th {
    text-align: center;
}

.careers tbody {
    border-bottom: 1px solid rgba(0,0,0,0.15);
}

.careers .cta a {
    border-radius: 3px;
	box-shadow: rgba(0, 0, 0, 0.15) 0 0 5px;
	color: #fff;
	display: block;
	margin: 0.5em auto;
	max-width: 440px;
	padding: 1em;
    text-align: center;
	text-decoration: none;
	text-transform: uppercase
}

.careers .cta.orange a {
	background: #d84132;
}

.careers .cta.blue a {
	background: #0a3542;
}

.careers .cta.gold a {
	background: #c88912;
}

.careers .cta.green a {
	background: #637038;
}

.careers .cta a:hover {
    background: #fff;
    box-shadow: rgba(0, 0, 0, 0.5) 0 0 5px;
}

.careers .cta.orange a:hover {
	color: #d84132;
}

.careers .cta.blue a:hover {
	color: #0a3542;
}

.careers .cta.gold a:hover {
	color: #c88912;
}

.careers .cta.green a:hover {
	color: #637038;
}

.careers footer .privacy {
    text-align: center;
}

.careers.privacy footer .privacy {
    display: none;
}

.careers .apply a {
	background: #d84132;
	padding: 20px;
}

.careers .more-info {
    display: flex;
    list-style: none;
    padding: 0;
    justify-content: space-between;
}

.careers .more-info > * {
	padding: 0 0.5em;
}

.careers .videos {
	background: rgba(255,255,255,0.5);
	/* border: 1px solid rgba(0,0,0,0.15); */
	border-radius: 10px;
	padding: 20px 20px 0 20px;
}

.careers .videos .player + .player {
	border-top: 1px solid rgba(0,0,0,0.15);
	padding-top: 20px;
}

.careers .videos figcaption {
	color: #333;
	font-size: 0.9em;
}

.careers .introduction {
	margin-bottom: 2em;
}

.careers .more-info > * {
    flex: 1 1 50%;
}

.careers .cols {
	margin-bottom: 1em;
}

.careers .cols > div {
	align-self: inherit;
}

.careers .constant-improvement {
	background: rgba(255,255,255,0.5);
	border-radius: 20px;
	overflow: hidden;
	padding-left: 1em;
	text-align: right;
}

.careers.faqs article {
	border-left: 10px solid rgba(0,0,0,0.15);
	padding: 0.01em 1em;
}

.careers.faqs article {
	margin-bottom: 1.5em;
}

.careers.faqs article > div {
	display: none;
}

.careers.faqs article h3 {
	margin: 0;
}

.careers .spanish {
	background: #222;
	border-radius: 10px;
	color: #fff;
	font-family: "Source Sans";
	margin: 1em 0;
	padding: 1em;
}

.careers .spanish a {
	color: #fff;
}

.careers .spanish img {
	border-radius: 3px 3px 0 0;
	margin: 0;
	vertical-align: middle;
}

.careers .great-rated {
    max-width: 500px;
	text-align: center;
}

.careers .great-rated img {
	height: 200px;
}

.careers .more {
	background: rgba(0,0,0,0.1);
	border-radius: 2px;
	display: inline-block;
	font-style: italic;
	padding: 0.15em 0.5em;
}

.careers .awards .awards {
	background: #fff;
	border-radius: 3px;
	display: flex;
	gap: 10px;
	justify-content: space-between;
	text-align: center;
	padding: 10px;
}

.careers .right {
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 0 0 0 25px;
	border-width: 0 0 1px 1px;
	overflow: hidden;
	padding-left: 1em;
}

.careers .left {
	background: rgba(255,255,255,0.5);
	border-radius: 25px 0 25px 0;
	border-width: 0 1px 1px 0;
	margin: 3em 0;
	overflow: hidden;
	padding: 0.25em 1em;
}

.careers .right img {
	border-radius: 0 25px 0 25px;
	float: right;
	margin: 0 0 1em 1em;
	width: 50%;
}

.careers .left img {
	border-radius: 25px 0 25px 0;
	float: left;
	margin: -0.25em 1em 1em -1em;
	width: 50%;
}

.careers .right + footer {
	border-top: 0;
}

.careers .culture picture {
	margin-left: -20px;
}

.careers .awards ul {
	font-style: italic;
	list-style: none;
	padding-left: 1.5em;
}

.careers .awards li {
	padding: 0.25em 0;
	position: relative;
}

.careers .awards li:before {
	background: url('/img/secret-special-peek-200.png') -33px -22px;
	background-size: 110px;
	content: '';
	border: 1px solid rgba(0,0,0,0.2);
	border-radius: 10px;
	display: inline-block;
	height: 15px;
	left: -1.3em;
	position: absolute;
	top: 0.5em;
	width: 15px;
}

.careers .awards li + li {
	padding: 0.25em 0;
}


/*! About */

.about .now-hiring {
	background: rgba(0,0,0,0.65);
	border-radius: 3px;
	color: #fff;
	margin-bottom: 20px;
	padding: 10px;
}

.about .now-hiring h2 {
	font-size: 2em;
	line-height: 1.25em;
	margin: 0;
}

.about .now-hiring img {
	float: left;
	margin-right: 10px;
	max-width: 25%;
}

.about .now-hiring a {
	background: #ec1c24;
	border-radius: 2px;
	color: #fff;
	font-size: 1.5em;
	padding: 0.25em 0.5em;
	text-decoration: none;
	text-transform: uppercase;
}

.about .masthead {
	position: relative;
}

.about .masthead img.fortune {
	position: absolute;
	height: calc(100% - 20px);
	left: 0;
	right: 0;
	width: auto;
}

/*! Community */
.community .giving .grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.community .giving .grid > * {
	background: rgba(255,255,255,0.5);
	border: 1px solid rgba(0,0,0,0.15);
	border-radius: 10px;
	flex: none;
	padding: 10px 20px;
}


/*! Associates */

.associates.detail .main section {
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	margin-top: 1em;
	padding-bottom: 1em;
}

.associates.detail .main figure {
	margin-right: 20px;
	width: 33%;
}

.associates.detail .main article {
	width: 66%;
}

/*! Vendors */

.vendors .col-5 > h2 {
	text-align: center;
}

.vendors .logos {
	display: flex;
	justify-content: space-around;
	padding-top: 1em;
}

.vendors .logos img:nth-child(odd) {
	width: 180px;
}

.vendors fieldset.products,
.vendors .demo-dates {
	padding-bottom: 50px;
	position: relative;
}

.vendors .department li,
.vendors .products ul,
.vendors .demo-dates ul {
	display: flex;
	gap: 20px;
}

.vendors .module {
	background: #fff;
	border-radius: 5px;
	margin: 20px 0;
	padding: 20px !important;
	position: relative;
}

.vendors .department label {
	-webkit-flex: 1 1 33%;
	flex: 1 1 33%;
	margin-top: 0;
}

.vendors .demo-request legend + p {
	margin: 1em 0;
}

.vendors .products ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.vendors .products li {
	margin-top: 0;
}

.vendors .products li:nth-child(1) {
	grid-column: 1 / span 2;
}

.vendors .products li:nth-child(2) {
	grid-column: 3 / span 2;
}

.vendors .products li:nth-child(3) {
	grid-column: 5 / span 2;
}

.vendors .products li:nth-child(4) {
	grid-column: 1 / span 2;
}

.vendors .products li:nth-child(5) {
	grid-column: 3 / span 2;
}

.vendors .demo-dates li {
	flex: 0 0 33%;
	margin-top: 0;
}

.vendors .demo-dates input[type="text"] {
	width: 75%;
}

.vendors .demo-dates select {
	max-width: 250px;
}

.vendors .sampling li {
	padding-left: 1.25em;
}

.vendors .sampling input[type='number'] {
	min-width: 4em;
	width: 4em;
}

.vendors .sampling input[type='radio'] {
	margin-left: -1em;
}

.vendors .remove {
	right: 10px;
	top: 10px;
}

.vendors .products input {
	min-width: inherit;
	max-width: 90%;
}

.no-js .vendors a#same {
	display: none;
}

.vendors .products .button,
.vendors .demo-dates .button {
	bottom: 0;
	position: absolute;
}

.vendors .products p + ul .remove,
.vendors .demo-dates p + div .remove {
	display: none;
}

.vendors .package li + li {
	border-left:0;
}

.vendors .package h4 {
	font-size: 1.25em;
	margin: 0;

}

.vendors .package p {
	text-align: left;
}

.vendors .price {
	font-size: 2.5em;
	font-weight: bold;
	text-align: center;
}

.vendors .price small {
	font-size: 0.35em;
	font-weight: normal;
}

.vendors .package small {
	display: block;
}

.vendors pre {
	font-size: smaller;
	white-space: pre-line;
}


/*! Sustainability */

.sustainability section + section {
	margin: 2em 0;
}

.sustainability figure {
	margin-bottom: 1em;
}

.sustainability article h2,
.sustainability article p {
	margin: 1em 0;
}

.sustainability .green-gurus h2,
.sustainability .green-gurus p {
	margin: 0;
}

.sustainability .care {
	background: #559449;
	color: #fff;
	font-family: "Source Sans", "Helvetica Neue", "Helvetica", "Roboto", sans-serif; 
}

.sustainability .recycle-centers ul {
	border-top: 1px solid rgba(0,0,0,0.15);
	list-style: none;
	padding: 0;
}

.sustainability .recycle-centers li {
	border-bottom: 1px solid rgba(0,0,0,0.15);
	padding: 1em;
}

.sustainability .recycle-centers .toggle {
	display: block;
	position: relative;
}

.sustainability .recycle-centers .toggle::after {
	content: url('/img/arrow-right-dark.svg');
	display: block;
	left: -15px;
	top: 0;
	position: absolute;
	width: 10px;
}

.sustainability .recycle-centers .toggle.toggled::after {
	transform: rotate(90deg);
}

.sustainability .recycle-centers article {
	display: none;
}

.sustainability .quick-stats {
	background: #559449;
	color: #fff;
	overflow: hidden;
	position: relative;
}

.departments .main .quick-stats > header {
	border-bottom: 0;
	margin: 0;
	padding: 1em;
	text-align: center;
}

.sustainability .quick-stats figure img {
	max-height: 180px;
}

.sustainability .logos img {
	background: #fff;
	padding: 5px;
}
.sustainability.report section + section {
	border-top: 1px solid rgba(0,0,0,0.15);
}

.sustainability.regulations article {
	display: flex;
	justify-content: space-between;
}

.sustainability.regulations article + article {
	border-top: 1px solid rgba(0,0,0,0.15);
}

.sustainability.regulations article > figure {
	flex: 0 1 150px;
	margin: 1.5em 1.5em 0 0;
}

.sustainability.regulations article > div {
	flex: 1 4 auto;
}

.sustainability.regulations .icon img {
	max-height: 200px;
}

.sustainability .seafood {
	color: #fff;
	padding: 1em 1em 0.25em 1em;
}

.sustainability .seafood img {
	vertical-align: middle;
	width: 100px;
}

.sustainability .seafood h4 {
	font-size: 2em;
	margin: 0;
}

.sustainability .seafood.green {
	background: rgba(104, 120, 26, 0.5);
	border-radius: 10px 10px 0 0;
}

.sustainability .seafood.yellow {
	background: rgba(200, 138, 22, 0.5);
}

.sustainability .seafood.blue {
	background: rgba(12, 53, 68, 0.5);
}

.sustainability .seafood.red {
	background: rgba(100, 0, 1, 0.5);
	border-radius: 0 0 10px 10px;
}


/*! Contests */

.contests.notify {
	background: #fff;
	border-radius: 10px;
	display: flex;
	gap: 20px;
	padding: 20px;
}

.contests.notify h2, 
.contests.notify p {
	margin: 0;
}

.contests.notify > *:first-child {
	width: 100px;
}

.contests.notify img {
	border-radius: 5px;
}

.contests p.time {

	margin: 0;
}

.contests time {
	font-weight: bold;
}

.contests.detail .main > figure {
	margin-left: -20px;
	max-width: calc(100% + 20px);
}

.contests .listing article li {
	display: list-item;
	margin: 0;
	padding: 0;
}

.contests .signup .inset {
	border-radius: 0 10px 10px 0;
	margin-top: 1em;
}

.contests .email-lists h3 input {
	font-size: 3em;
}

.contests.detail .thumbs {
	margin: 0 0 0 -20px;
	width: calc(100% - 35px);
}

/*! Signup */

.signup .masthead {
	height: 480px;
	overflow: hidden;
	padding-right: 10%;
	text-align: left;
}

.signup .masthead img {
	position: absolute;
	display: block;
	height: auto;
	margin-left: -50px;
	margin-top: -120px;
	max-width: 800px;
}

.signup .masthead .caption {
	color: #fff;
	font: 2em/1.25 "Source Sans", "Helvetica Neue", "Helvetica", "Roboto", Arial, sans-serif;
	min-height: inherit;
	padding: 0 20px 20px 0;
	text-align: right;
	text-shadow: 0 0 10px #000;
	z-index: 3;
}

.signup .masthead .mask {
	z-index: 1;
}

.signup .masthead .background {
	z-index: 0;
}

.signup .email-lists {
	margin-top: 1em;
}

.signup .email-lists ul {
	list-style: disc;
	padding-left: 1.25em;
}

.signup .email-lists li {
	margin-top: 0;
}

.signup .email-lists > li {
	border: 10px solid #000;
	border-width: 10px 0;
	flex: 1 1 50%;
	padding: 1em;
	position: relative;
}

.contests .signup input[type='checkbox'], 
.signup .email-lists input[type='checkbox'] {
	display: none;
}

.contests .opt-in label, 
.signup .email-lists label {
	font-size: 2.25em;
	display: block;
	position: relative;
	text-align: center;
}

.contests .opt-in label {
	padding-left: 35px;
	text-align: left;
}

.signup .fine-print {
	font-size: smaller;
	font-style: italic;
}

.contests .opt-in label:before, 
.checkout .signup .email-lists label:before, 
.contests .opt-in input:first-of-type:checked + label:after, 
.checkout .signup .email-lists input:checked + label:after {
	content: '';
	display: inline-block;
	position: absolute;
}

.contests .opt-in input {
	opacity: 0;
}

.contests .opt-in label:before, 
.checkout .signup .email-lists label:before {
	background: #fff;
	border: 1px solid #a5a5a5;
	border-radius: 3px;
	box-shadow: inset 0 0 3px rgba(0,0,0,0.15);
	height: 20px;
	left: 0;
	top: 18px;
	vertical-align: middle;
	width: 20px;
}

.contests .opt-in input:first-of-type:checked + label:after, 
.checkout .signup .email-lists input:checked + label:after {
	border: 1px solid #000;
	border-width: 0 3px 3px 0;
	height: 5px;
	left: 7px;
	padding: 2px;
	top: 22px;
	transform: rotate(45deg);
	width: 1px;
}

.contests .signup-form p label {
	display: flex;
	gap: 10px;
}

.contests .signup-form p label input {
	margin-top: 8px;
}

.signup .signup .signup-form header {
	display: none;
}

.signup-form {
	padding-top: 20px;
}

.signup-form header {
	border-bottom: 1px solid rgba(0,0,0,0.15);
	margin-bottom: 20px;
}

.specials .weekly-specials-banner {
	background: #d53136 url('/img/weekly-specials-square-red-white-black.svg') top center repeat-x;
	background-size: 15px;
	color: #fff;
	font-family: "Helvetica Neue", Helvetca, Roboto, Arial, sans-serif;
}

.signup-form header h2 {
	font-size: 2.25em;
	font-weight: normal;
	margin: 0;
}

.signup-form .description {
	align-self: start;
	background: #fff;
	border-radius: 5px;
	padding: 20px; 
}

.contests .signup-form .description {
	max-width: 450px;
}

.signup-form .description h2 {
	font-weight: normal;
}

.signup-form .description h2 strong {
	font: bold 1.25em/1 Antonio;
}

.signup-form .description h2 em {
	font-style: normal;
	font-weight: bold;
}

.signup-form .description > img {
	margin: 1em 0;
}

.signup-form .description li {
	display: flex;
	gap: 10px;
	margin-top: 20px;
}

.signup-form .description li + li {
	border-top: 1px solid rgba(0,0,0,0.15);
	padding-top: 1em;
}

.signup-form .description li figure {
	flex: 0 0 20%;
}

.signup-form .description li div {
	flex: 1 1 auto;
}

.signup-form .description li h3, 
.signup-form .description li p {
	margin: 0;
}

.signup-form .privacy ul {
	margin-top: 1em;
}

.signup-form .actions {
	text-align: center;
}

.signup-form .actions li {
	display: block;
	margin: auto;
}

.signup-form .actions .note {
	font-size: inherit;
	color: #333;
	opacity: 1;
}

.signup-form .actions .note::before {
	content: '➡';
	font-size: 40px;
	vertical-align: middle;
	margin-left: 0.25em;
}

.specials .weekly-specials-banner.valentines {
	background: pink url('/img/weekly-specials-hearts.svg') top 2px center repeat-x;
	background-size: 30px;
}

.specials .weekly-specials-banner.valentines .duration {
	margin-top: 5px;
}

.specials .weekly-specials-banner.valentines .store-notation {
	color: #000;
	margin-top: 10px;
}

.specials .weekly-specials-banner.valentines .store-notation .button {
	color: #000;
}

.signup .ead label {
	font-family: Antonio;
	text-shadow: 2px 2px 0 #000;
	text-transform: uppercase;
}

.signup .ftm label {
	font-weight: bold;
	font-size: 2.1em;
}

.signup .ftm label small {
	display: block;
	font-size: 0.6em;
}

.signup .privacy-note {
	display: none;
	font-size: smaller;
	padding-left: 1em;
}

.signup input[type='submit'] {
	padding: 0.5em 1em;
}

.signup .actions {
	display: flex;
	padding-bottom: 1em;
}

/*! Privacy */

.privacy .our-websites {
    background: rgba(0,0,0,0.1);
    float: right;
    padding: 0 1em;
    margin: 0 0 1em 1em;
}


/*! Landing Pages */

.landing-page .grid {
	justify-content: space-between;
}

.landing-page .grid > * {
	flex: 0 0 48%;
	margin: 20px 0;
}

.landing-page.diycomposting .main > header h1 {
	font-family: Andada, Georgia, Times, serif;
	font-size: 2.25em;
	margin-bottom: 0.25em;
}

.landing-page.ca-grown-strawberries .linked-items:after {
	content: "In partnership with the CA Grown Marketing Agreement.";
	font-style: italic;
	text-align: center;
}

@media only screen and (min-width: 800px) {

	.sustainability .stats > div > * {
		max-width: 40%;
	}

	.sustainability .stats .water {
		margin-top: -300px;
	}
}

/*! Medium screens */
@media only screen and (min-width: 40.063em) {
/*! red */
	
	html {
		border-top: 2px solid #fb4746;
	}

}

@media only screen and (max-width: 60em) {
/*! before orange */

	.departments.meat-and-seafood .caption {
		inline-size: inherit;
		padding-bottom: 60px;
		position: relative;
	}
	
	.departments.meat-and-seafood .caption .label {
		float: left;
		margin-bottom: 3em;
	}

}

@media only screen and (max-width: 54em) {
/*! orange */
	
	html {
		border-top: 2px solid #ff8002;
	}
	

	body {
		background-image: none;
	}

	textarea:focus,
    select:focus,
	input:focus {
		outline: #ff8002 solid 2px;
	}

	a:focus {
		outline: 1px solid #ff8002;
		box-shadow: 0 0 10px #ff8002;
	}

	body > header .logo {
		margin-top: 0px;
		max-width: 250px;
	}

    body > header nav {
        font-size: 0.8em;
		top: 8px;
	}

	body > header .logo {
		max-width: 200px;
	}

	.main-nav .primary {
		height: 66px;
	}

	.main-nav .primary > li {
		padding: 20px 5px 10px 5px;
	}

	.main-nav .panel {
		margin-top: -49px;
	}
	
	.main-nav .locations-menu {
		padding: 0.5rem;
		right: inherit;
	}
	
	.main-nav .locations-menu a {
		padding: 0.25rem 0.5rem;
	}
	
	.main-nav .about .feature {
		display: block;
	}
	
	.nugget-markets .main-nav .location-select p a {
		min-width: inherit;
	}
	
	.main-nav .locations-menu {
		left: 1em;
		right: inherit;
	}

	body > footer {
		margin: 0 40px;
	}

	footer .social {
		margin-left: 30px;
		padding-left: calc(30px - 0.25em);
	}

	footer .social li {
		margin: 0 0.25em;
	}

	footer .social img {
		width: 40px;
	}

	.main > header {
		padding-left: 0;
	}

	.main > header nav {
        display: block;
        margin-bottom: 1em;
        margin: 0 0 -10px 0;
        padding: 0.25em 0 0 0;
        position: inherit;
        text-align: center;
    }

	.main > header nav li {
    	margin-top: 0.75em;
    }

	.listing li {
		display: block;
	}

	.listing li > * {
		-webkit-flex: none;
		flex: none;
	}

	.listing figure {
		margin-bottom: 1em;
		max-width: inherit;
	}

	.store-select .listing li {
		display: flex;
	}

	.store-select .listing li > * {
		flex: 0 0 auto;
	}

	.sidebar {
		display: block;
	}

	.sidebar > aside {
		-webkit-flex: inherit;
		flex: inherit;
	}

	.sidebar aside nav {
		border-bottom: 1px solid rgba(0,0,0,0.15);
	}

	.sidebar .subnav,
	.topbar .subnav {
		display: block;
		margin-bottom: 1em;
		text-align: center;
	}

	.sidebar aside {
		margin-right: 0;
	}

    .topbar > aside {
        margin-bottom: 0;
    }

	.js .sidebar > aside,
	.js .topbar > aside  {
		display: none;
	}

	.js .kitchen.menu .topbar > aside {
		display: block;
	}

	.js .locations.detail .sidebar > aside {
		display: none;
	}

	.main > header {
		padding-bottom: 12px;
		text-align: center;
	}

	.main > header h1 {
		line-height: 1em;
	}

	.main > header h1 small {
		font-size: 0.4em;
	}

	header h1 small,
	header h2 small {
		display: block;
		line-height: 1.45em;
		margin-top: 0.75em;
	}

	.grid {
		justify-content: space-around;
	}

	.grid > * {
		-webkit-flex: 0 0 49%;
		flex: 0 0 49%;
		margin-left: 0;
		margin-right: 0;
	}
	
	.home .masthead .video .caption {
		font-size: 90%;
	}
	
	.home .widget.hiring {
		padding: 10px;
	}
	
	.home .widget.hiring img {
		right: -50px; 
	}
	
	.weekly-specials-banner .closed {
		font-size: 90%;
		width: 300px;
	}
	
	.weekly-specials-banner .closed:before {
		height: 120px;
		top: -95px;
	}
	
	.weekly-specials-banner .closed:after {
		height: 130px;
		top: -103px;
	}
	
	.specials .grid {
		justify-content: flex-start;
	}

	.specials .upc-photos {
		max-height: 354px;
	}
	
	.specials .departments.bakery li:nth-child(even) img, 
	.specials .departments.coffee-bar li:nth-child(even) img {
		margin-top: 20px;
	}
	
	.specials .departments.bakery li:nth-child(even) .inset, 
	.specials .departments.coffee-bar li:nth-child(even) .inset {
		padding-top: 0;
	}
	
	.shop header nav.basket-panel ul {
		display: block;
	}

	.departments.index .kitchen {
		padding: 20px;
	}

	.departments.index .grocery {
		padding: 60px 50px;
	}

	.events .listing .calendar .day {
		padding-top: 20px;
	}

	.kitchen .menu-index img {
		bottom: 0;
	}

	.kitchen .menu-index .trays img {
		top: -80px;
	}

	.kitchen .panes span {
		top: 20px;
	}

	.kitchen .panes .trays span {
		bottom: 20px;
		top: inherit;
	}

	.kitchen .panes .trays img {
		top: -100px;
	}

	.vendors .products ul,
	.vendors .demo-dates ul {
		display: block;
	}

	.lifestyle header h1 {
    	    line-height: 0.75em;
        	text-align: center;
	}

	.lifestyle header h1 small {
    	    display: block;
	}

	.lifestyle .introduction img {
        	margin-top: -127px;
	}

	.specials .date-grid {
		margin: 0.5em auto;
		position: inherit;
	}

	.departments.index .produce {
		background: #fff;
	}

	.departments.index .produce * {
		margin-left: 20px;
	}

	.departments.index .kitchen {
		padding: 80px 20px;
	}

	.departments.index .health figure,
	.departments.index .produce figure {
		opacity: 0.5;
	}

	.departments.index .kitchen figure {
		opacity: 0.25;
	}

	.newsroom .main > header nav li {
		margin-right: 0;
	}

	body > .secret-special a {
		color: #fff;
		padding: 0.5em 30px;
	}

	body > .secret-special .every {
		display: block;
		padding-bottom: 4px;
	}

	body > .secret-special img {
		display: block;
		margin: 0.25em auto -1.5em;
	}

	.shop .main > header nav, 
	.checkout .main > header nav {
		margin-bottom: 0;
		top: 0;
	}
	
	.shop .main > header nav > ul, 
	.shop .main > header nav li {
		display: block;
	} 

	.shop .main > header nav li, 
	.checkout .main > header nav li {
		margin-top: 0;
	}
	
	
	.pickup-locations-select {
		margin-bottom: 0.5em;
	}

	.weekly-specials-banner h1 {
		font-size: 2em;
	}

	.specials .date-grid {
		margin: 0;
		font-size: smaller;
	}

	.specials .masthead {
		background-color: transparent;
	}

	.specials .masthead + .container {
		margin-top: 0;
	}

	.specials .features .grid {
		grid-template-columns: inherit;
	}

	.specials .masthead.overlay .caption,
	.specials .overlay .caption {
		border-radius: 0 0 15px 15px;
		margin: 0 20px 20px 20px;
		position: relative;
		width: auto;
	}

	.specials .overlay .feature-photo {
		margin-bottom: 0;
	}

	.specials .overlay {
		max-height: inherit;
	}

	.specials .departments.features li:nth-child(even) {
		grid-column-start: 1;
		grid-column-end: 3;
	}

	.specials .side-by-side:nth-child(odd) {
		border-top-right-radius: 15px;
		flex-direction: row;
	}

	.specials .side-by-side:nth-child(even) {
		border-top-right-radius: 0;
		flex-direction: row-reverse;
		border-bottom-right-radius: 10px;
	}

	.specials .side-by-side:nth-child(even) .caption {
		text-align: right;
	}

	.specials .side-by-side:nth-child(odd) .caption {
		text-align: left;
	}

	.specials .side-by-side:nth-child(even) .feature-photo {
		margin: 0 0 0 20px;
	}

	.specials .side-by-side:nth-child(odd) .feature-photo {
		margin: 0 20px 0 0;
	}

	.specials .departments.features .grid > .side-by-side {
		grid-template-columns: 1fr;
	}
	
	.specials .departments .inset {
		padding: 10px 0;
	}
	
	.specials .departments .sale {
		font-size: 1.45em;
	}

	.specials .departments {
		padding-right: 20px;
	}
	
	.specials .departments.features {
		padding-right: 0;
	}
	
	.recipes h1 {
		padding-right: 0;
	}

}

@media only screen and (max-width: 40em) {

/*! yellow */
	
	html {
		border-top: 2px solid #fbde06;
	}
	

	textarea:focus,
    select:focus,
	input:focus {
		outline: #fbde06 solid 2px;
	}

	a:focus {
		outline: 1px solid #fbde06;
		box-shadow: 0 0 10px #fbde06;
	}

	body > header {
		height: 110px;
	}

	body > header .logo {
		width: 180px;
	}
	
	body > header .logo.sonoma-market {
		width: 320px;
		margin-top: 1px;
		max-width: inherit;
	}

	.main-nav .primary {
		height: 109px;
	}

	.main-nav .primary li,
	.main-nav .current-location,
	.main-nav .panel > p,
	.main-nav .panel.stores .home-store p {
		display: none;
	}
	
	.main-nav .panel.stores .home-store h3 + p {
		display: block;
	} 
	
	.main-nav .panel.stores .home-store figure, 
	.main-nav .panel.stores .no-home-store figure {
		flex: 0 0 60px;
		height: 60px;
		width: 60px;
	}
	
	.main-nav .panel.stores .home-store figure img {
		height: 60px;
		margin-left: 0;
	}
	
	.main-nav .panel.stores .no-home-store figure img {
		height: inherit;
		width: 140px;
	}
	
	.main-nav .panel.stores .home-store .your-home-store {
		display: block;
	}

	.main-nav .panel > div > * + *,
	.main-nav .panel > ul > * + * {
		margin-left: 0;
	}

	.main-nav .primary li.home,
	.main-nav .primary li.mobile-menu {
		display: inline-block;
	}

	.main-nav .primary li.mobile-menu {
		bottom: 0;
		margin-bottom: -10px;
		padding: 10px 10px 20px 10px;
		position: absolute;
		right: 0;
		z-index: 120;
	}

	.main-nav .primary li.mobile-menu img {
		height: 18px;
	}

	.nugget-markets .main-nav .current-location > div,
	.nugget-markets .main-nav .current-location > .hours {
		margin: 0;
	}

	.main-nav .current-location,
	.main-nav .panel-container {
		background: rgba(0,0,0,0.85);
		-webkit-backdrop-filter: blur(5px);
		backdrop-filter: blur(5px);
		display: none;
		position: relative;
		z-index: 100;
	}

	.main-nav .panel-container {
		box-shadow: 0 5px 5px rgba(0,0,0,0.5);
	}

	.main-nav .current-location {
		background: #000;
		font-size: larger;
		padding: 1rem;
	}

	.main-nav .current-location > div,
	.main-nav .current-location > .hours, 
	.main-nav .current-location .extraordinary {
		margin: auto;
		text-align: center;
	}

	.main-nav .current-location,
	.main-nav .locations-menu {
		position: relative;
		z-index: 110;
	}

	.main-nav .locations-menu {
		border: 1px solid #707070;
		left: inherit;
		margin-bottom: 1.25rem;
		text-align: left;
		top: 1rem;
	}

	.main-nav .panel {
		background: transparent;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		border-top: 1px solid #707070;
		box-shadow: none;
		display: block;
		font-size: larger;
		margin-top: 0;
		padding: 0;
		position: relative;
		text-align: left;
	}

	.main-nav .panel > h2 {
		color: #fff;
		display: block;
		margin: 0;
		padding: 0;
	}

	.main-nav .panel h2 a {
		display: block;
		padding: 1rem;
	}

	.main-nav .panel h2 a:after {
		content: url('/img/down-chevron.svg');
		position: absolute;
		right: 20px;
		top: 17px;
		transform: rotate(-90deg);
	}

	.main-nav .panel h2 a.toggled:after {
		right: 15px;
		top: 13px;
		transform: rotate(0deg);
	}
	
	.main-nav .panel .feature {
		border: 0;
		padding-bottom: 0;
	}

	.main-nav .panel > ul,
	.main-nav .panel.stores > div {
		display: block;
		justify-content: inherit;
	}
	
	.main-nav .panel.order .nav-subhead {
		position: relative;
	}

	.main-nav .panel > ul.mobile-panel,
	.main-nav .panel > div.mobile-panel {
		display: none;
		padding-left: 40px;
	}

	.main-nav .panel li {
		margin: 0 0 1.25rem 0;
	}

	.main-nav .panel li > * {
		align-self: flex-start;
	}

	.main-nav .panel li figure,
	.main-nav .panel li figure img {
		width: 60px;
	}
	
	.main-nav .panel li.gourmet-to-go figure,
	.main-nav .panel li.gourmet-to-go figure img {
		height: 200px;
		width: 200px;
	}

	.main-nav .panel li figure + div {
		width: 100%;
	}

	.main-nav .on-sale ul li,
	.main-nav .lets-cook ul li,
	.main-nav .order ul li {
		width: inherit;
	}

	.main-nav .panel .feature {
		display: flex;
		margin-bottom: 1rem;
	}

	.main-nav .panel .feature figure {
		border-radius: 3px;
		margin-bottom: 0;
		margin-right: 1rem;
		overflow: hidden;
		width: 60px;
	}

	.main-nav .panel .feature figure img {
		height: 60px;
		max-width: inherit;
		width: inherit;
	}

	.main-nav .panel.stores .mobile-panel div:first-child {
		margin-bottom: 1rem;
	}

	.main-nav .panel.about ul {
		margin: 0;
	}

	.main-nav .panel.about h2 a {
		font-size: 1em;
	}

	.main-nav .panel.about .mobile-panel {
		padding-bottom: 1px;
	}

	.masthead + .container {
		margin-top: 0;
	}

	.container {
		padding: 0;
	}

	.main {
		padding: 0 20px 0 10px;
	}

    .main > header,
    .sidebar nav {
        margin-left: 0;
    }

	body > .secret-special {
		margin: 0;
	}

	body > .secret-special div {
		border-bottom: 1px solid #fff;
	}

    .main > header nav {
        font-size: smaller;
    }

	.main > section header h2 span {
		font-size: 0.35em;
	}

	.grid > * {
		display: block;
		-webkit-flex: none;
		flex: none;
		margin: 0.25em 0;
	}

    .associates .grid > * {
        flex: 0 0 49%;
    }

	.grid > * {
		width: 100%;
	}

	.cols {
		display: block;
	}

	.cols > * {
		margin: 0;
	}

	.search {
        border-top: 1px solid rgb(176,174,168);
        margin-right: -20px;
        margin-top: -1px;
    }

    .search form {
        padding: 10px 20px;
    }

	.pagination a,
	.pagination span {
		margin: 0;
		display: inline-block;
	}

	header + .pagination {
		margin-left: 0;
	}

	.listing li {
		display: block;
	}

	.listing li > * {
		-webkit-flex: none;
		flex: none;
	}
	
	.widget.hiring {
		display: grid;
	}
	
	.widget.hiring div {
		height: 100%;
	}
	
	.home .widget.hiring h2, 
	.widget.hiring h2 {
		font-size: 4em;
	}
	
	.home .widget.hiring h3, 
	.widget.hiring h3 {
		font-size: 1.5em;
	}
	
	.widget.hiring li {
		line-height: 1.25em;
	}
	
	.home .feature.mini + .feature.mini {
		margin-top: 1px;
	}
	
	.home .feature.meal-planning {
		min-height: 410px;
	}
	
	.home .masthead .video .caption {
		margin: 0;
		position: relative;
		padding-top: 0;
		width: inherit;
		right: inherit;
	}

	.main > header .store-select {
		text-align: left;
	}

	.store-select .listing li {
		display: flex;
	}

	.store-select .listing li > * {
		flex: 0 0 auto;
	}

	.listing li figure {
		margin-right: 0;
		margin-bottom: 1em;
		max-width: inherit;
		min-width: inherit;
	}

	.store-select .listing li figure {
		margin: 0 20px 0 0;
	}

	.masthead .caption {
		position: relative;
		width: inherit;
	}

	.masthead .caption.bottom {
		padding-bottom: 20px;
	}

	.masthead .caption.dark {
		background: #333;
	}

	.masthead .caption.light {
		background: #fff;
	}
	
	.home-store-select-container {
		display: block;
		padding: 0 20px;
		width: calc(100vw - 40px);
		top: 20px;
	}

	.departments.produce .masthead .caption,
	.departments.coffee .masthead .caption {
		border-radius: 0;
	}
	
	.departments.meat-and-seafood .caption {
		background: #000;
	}
	
	.departments.meat-and-seafood .caption .label {
		inline-size: 100px;
		margin-bottom: 1em;
	}
	
	.departments.meat-and-seafood .caption h2 {
		font-size: 2em;
	}
	
	.departments.meat-and-seafood .caption h3 {
		font-size: 1.5em;
	}
	
	.departments.index .produce * {
		margin-left: 0;
	}
	
	.home .feature-grid {
		display: block;
	}

	.home .fresh-to-market {
		margin-top: 1em;
	}

	.specials .upc-photos {
		max-height: 337px;
	}

    .cols {
		padding: 1em 0;
	}

	.sustainability .green-gurus figure,
	.sustainability .green-gurus div,
    .cols figure {
		margin: 1em auto;
		max-width: 80%;
	}
	
	.contact figure {
		margin: 0;
	}

    .cols div:first-child {
		text-align: left;
	}

	.sustainability .green-gurus figure,
    .cols > div + figure {
		border-radius: 20px 20px 0 0;
		margin-bottom: -1em;
	}

	.sustainability .green-gurus {
		border: 1px solid rgba(0, 0, 0, 0.15);
		border-width: 1px 0;
	}

	.sustainability .cardboard h3 {
		margin-top: 0;
	}
	.sustainability .cardboard img {
		float: none;
	}

	.cols figure:first-child {
		border-radius: 0 0 20px 20px;
		margin-top: -1em;
	}

	.departments.index .meat,
	.departments.index .grocery,
	.departments.index .bakery,
	.departments.index .produce,
	.departments.index .kitchen,
	.departments.index .beverage,
	.departments.index .health,
	.departments.index .cheese {
		padding: 20px;
	}

	.departments.index .coffee {
		padding-bottom: 20px;
		padding-top: 20px;
	}

	.departments.index .kitchen {
		padding-bottom: 20px;
	}
	
	.departments .health p, 
	.departments .grocery p {
		max-width: none;
	}

	.locations .location + .location {
		margin-top: 1em;
	}

	.kitchen .menu-index {
		display: block;
		height: inherit;
	}

	.kitchen .menu-index figure {
		margin: 0 auto 1em auto;
	}

    .kitchen .deli-menus .col-5 + .col-5 {
        margin-top: 2em;
    }

	.kitchen .panes {
		display: block;
	}

	.kitchen .panes a {
		display: inline-block;
	}

	.kitchen .panes span,
	.kitchen .panes img {
		position: relative;
		top: inherit;
		bottom: inherit;
	}

	.careers .constant-improvement {
		background-color: transparent;
		padding: 0;
	}

	.careers .left {
		padding-top: 1em;
	}

	.careers .right img,
	.careers .left img {
		float: none;
		margin: 0;
		width: inherit;
	}

	.careers .left img {
		border-radius: 15px 0 15px 0;
	}

	.associates.detail section {
		display: block;
	}

	.associates.detail section * {
		width: auto;
	}

	.associates.detail figure {
		margin-bottom: 1em;
	}

	.events .listing .calendar .day {
		padding-top: 20px;
	}

	.lifestyle .introduction img {
	    display: none;
	}
	
	.contests.detail .main > figure {
		margin-left: -20px;
		max-width: calc(100% + 40px);
		width: calc(100% + 40px);
	}

	.landing-page .grid {
		display: block;
	}

	.signup .email-lists li + li {
		margin-top: 1em;
	}

	.signup .masthead {
		max-height: 320px;
	}

	.signup .masthead .caption {
		display: none;
	}
	
	.signup-form .actions .note {
		display: block;
	}
	
	.signup-form .actions .note::before {
		content: '';
	}
	
	.signup-form .description {
		margin-bottom: 20px;
	}

	.weekly-specials-banner {
		padding-top: 15px;
	}

	.weekly-specials-banner header {
		display: block;
		text-align: center;
	}

	.specials .listing-container .feature-2 {
		border-radius: 0 0 15px 15px;
	}

	.specials .departments {
		border-radius: 0;
	}
	
	.specials .departments .grid {
		grid-template-columns: 1fr 1fr;
	}
	
	.specials .departments.bakery, 
	.specials .departments.coffee-bar  {
		margin: auto;
		padding: 20px;
	}
	
}

@media only screen and (max-width: 34em) {
/*! green */
	
	html {
		border-top: 2px solid #29c231;
	}
	

    body > header {
    	text-align: center;
    }
	
	body > header .logo.sonoma-market {
		margin-top: 10px;
		max-width: 300px;
		width: 300px;
	}

	body > footer nav > ul {
		display: block;
	}

	footer .social,
	footer .information {
		text-align: center;
		width: inherit;
	}

	footer .social {
		border: 0;
		margin-left: 0;
		padding-left: 0;
	}
	
	select[name='pickup_location'] {
		width: 100%;
	}

	textarea:focus,
    select:focus,
	input:focus {
		outline: #29c231 solid 2px;
	}

	a:focus {
		outline: 1px solid #29c231;
		box-shadow: 0 0 10px #29c231;
	}

	body > header .aisle-listing {
		background: #c2bfb6;
		box-shadow: inset 0 -10px 10px rgba(0,0,0,0.05);
		bottom: 0;
		display: block;
		height: 23px;
		margin: 0;
		padding: 10px 0;
		position: absolute;
		text-align: center;
		top: inherit;
		width: 100%;
	}

	.aisle-listing a {
		color: #333;
		display: block;
		text-decoration: none;
	}

	.widget.hiring img {
		height: 350px;
		width: auto;
	}

	.specials .upc-photos {
		max-height: 309px;
	}

	.departments.index .coffee {
		padding: 20px;
	}

	.departments.index .beverage img,
    .departments.index .bakery img,
	.departments.index .meat img{
		height: 320px;
		max-width: min-intrinsic;
	}
	
	.departments.index .beverage img {
		height: 520px;
	}

	.departments.index .grocery img {
		height: 520px;
		max-width: min-intrinsic;
	}

	.departments.index .coffee img,
	.departments.index .cheese img {
		opacity: 0.5;
	}
	
	.departments.index .floral {
		padding: 20px;
	}
	
	.departments.index .floral img {
		margin-top: -200px;
		opacity: 0.25;
	}

	.departments.index .coffee h2,
	.departments.index .coffee p,
	.departments.index .cheese h2,
	.departments.index .cheese p, 
	.departments.index .floral h2,
	.departments.index .floral p {
		margin-left: 0;
	}
	
	.sustainability .shelf-grid {
		display: block;
	}

	.locations .feature-home-store {
		display: block;
	}
	
	.specials .jump-nav {
		overflow: scroll;
	}

	.search label {
		display: none;
	}
	
	.specials .jump-nav h3 {
		display: none;
	}
	
	.specials .jump-nav ul {
		flex-wrap: nowrap;
		padding-right: 20px;
	}
	
	.specials .jump-nav a {
		white-space: nowrap;
	}
	
	.specials .departments.coffee-bar .grid > li {
		display: block;
	}

	.recipes.detail .meta dd {
		text-align: left;
	}

	.shop .grid {
		display: block;
	}

	.shop .grid > * {
		margin-bottom: 1em;
	}

    .holiday-meals .categories .grid li:nth-child(1) figure {
        height: inherit;
    }

    .holiday-meals .categories .grid li:nth-child(1) img {
        margin-top: inherit;
    }

    .privacy .our-websites {
        float: none;
        margin-left: 0;
        padding: 0.25em 1em;
    }

    .message {
        margin: 1em;
	}

	.checkout #paymentControl.confirm .message {
		margin: 0;
	}

	.store-select .listing figure {
		display: none;
	}

    .shop .grid {
        grid-template-columns: 1fr 1fr;
    }
	
	.shop.holiday-meals .grid {
		grid-template-columns: 1fr;
	}
	
	.shop.holiday-meals .categories .grid li, 
	.shop.holiday-meals .products .grid li {
		grid-column: inherit !important;
	}
	
	
	/* Meal */
	.shop.holiday-meals .products .grid li:nth-child(2) {
		order: 1;
	}
	
	/* Brisket */
	.shop.holiday-meals .products .grid li:nth-child(6) {
		order: 2;
	}
	
	/* Latkes */
	.shop.holiday-meals .products .grid li:nth-child(7) {
		order: 3;
	}
	
	/* Soup */
	.shop.holiday-meals .products .grid li:nth-child(4) {
		order: 4;
	}
	
	/* Applesauce */
	.shop.holiday-meals .products .grid li:nth-child(5) {
		order: 5;
	}
	
	/* Green Beans */
	.shop.holiday-meals .products .grid li:nth-child(3) {
		order: 6;
	}
	
	/* Squash */
	.shop.holiday-meals .products .grid li:nth-child(1) {
		order: 7;
	}
	
	.basket form {
		padding: 0.25em;
	}
	
	.basket caption {
		font-size: 1.25em;
		margin-bottom: 0.5em;
	}
	
	.checkout th,
	.basket th,
	.confirmation th,
	.checkout td,
	.basket td,
	.confirmation td {
		font-size: smaller;
		padding: 5px;
	}
	
	.basket input[type='number'] {
		padding: 5px 4px;
		width: 2.5em
	}
	
	.basket td small {
		display: none;
	}
	
	.basket td small + p {
		display: block;
	}

    input[type='submit'],
    .button,
    .cloud a {
        padding: 6px;
    }

    .signup .masthead img {
    	margin-top: -60px;
    }
	
	.holiday-meals .grid {
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
		display: grid;
	}
	
	.widget.hiring img {
		height: inherit;
	}
	
	.home .widget.hiring {
		min-height: inherit;
	}
	
	.home .widget.hiring div {
		padding: 10px;
	}
	
	.home .widget.hiring div > * {
		width: 100%;
	}
	
	.home .widget.hiring h3 {
		width: 75%;
	}
	
	.home .widget.hiring img {
		height: 420px;
		right: -85px;
	}
	
	.sustainability .seafood img {
		display: block;
		margin: auto;
	}
	
	.sustainability .seafood h4 {
		font-size: 1.5em;
		text-align: center;
	}
	
	.specials .grid .side-by-side {
		margin-top: 1.5em;
	}
	
	.specials .departments.features .grid .side-by-side {
		display: block;
	}
	
	.specials .departments.features .grid .side-by-side .feature-photo, 
	.specials .departments.features .grid .side-by-side .caption {
		margin: 0 0 10px 0 !important;
		width: auto;
	}
	
	.specials .departments.features .grid .side-by-side .caption {
		text-align: left !important;
	}
	
	.specials .feature-1 .caption header {
		display: block;
	}
	
	.specials .features .frame {
		height: 200px;
	}
	
	.specials .overlay .recipe {
		display: block;
	}
	
	.specials .overlay .recipe figure, 
	.specials .overlay .recipe article {
		width: auto;
	}
	
	.specials .menu {
		display: none;
	}
	
	.specials .upc-photos {
		max-height: 249px;
	}
	
	.specials.detail .prefix {
		font-size: 1em;
	}
	
	.specials.detail .name {
		font-size: 1.75em;
		line-height: 1.25em;
	}
	
	.specials.detail .sale {
		font-size: 2em;
	}
	
	.specials .departments.bakery .grid {
		display: block;
	}
	
	.specials .departments.bakery .grid > li {
		display: block;
	}
	
	.specials .departments.bakery li:nth-child(odd) img, 
	.specials .departments.bakery li:nth-child(even) img {
		transform: none;
	}
	
	.specials .departments.bakery h2, 
	.specials .departments.coffee-bar h2 {
		font-size: 2em;
	}
	
	.specials .departments.bakery .inset {
		margin-top: 0;
		padding-top: 0;
	}
	
	.specials .departments.bakery .inset .labels {
		margin-top: -30px;
	}

}

@media only screen and (max-width: 26em) {
	/*! blue */
	
	html {
		border-top: 2px solid #5e99f0;
	}
		
	body > header .logo.sonoma-market {
		margin-top: 10px;
		max-width: 250px;
		width: 250px;
	}

	textarea:focus,
    select:focus,
	input:focus {
		outline: #5e99f0 solid 2px;
	}

	a:focus {
		outline: 1px solid #5e99f0;
		box-shadow: 0 0 10px #5e99f0;
	}

    input[type='email'],
    input[type='tel'],
    input[type='phone'],
    input[type='number'],
    input[type='password'],
    input[type='text'],
    input[type='search'],
    textarea {
    	width: 100%;
    }

	.shop .product-detail #message_options input[type='number'],
	.shop .product-detail #message_options input[type='text'] {
		width: inherit;
	}

    body > .secret-special div {
    	background-size: 110px 110px;
    }

	.grid {
		display: block;
	}

    .main > header {
        margin-left: 0;
        padding-left: 0;
    }

    .main > header nav {
        display: block;
        position: inherit;
    }

	.grid > * {
		display: block;
		-webkit-flex: none;
		flex: none;
		margin: 0.25em 0;
	}

	.grid > * {
		width: 100%;
	}

	.panel {
		display: block;
		padding-bottom: 0.25em;
	}

	.widget.hiring li {
		padding: 0.25em 0.5em;
	}

    .search input[type="submit"] {
        font-size: 1em;
    }

	.kitchen.menu .topbar #subnav header {
		margin: 0;
	}

	.kitchen.menu .topbar .back {
		position: relative;
		left: inherit;
	}

    thead th span {
        display: none;
    }

    thead th abbr {
        display: inline;
    }

    .signup .actions,
    .signup .actions li {
    	display: block;
    	margin-left: 0;
    }

    .signup .actions li:first-child {
    	margin-bottom: 1em;
    	text-align: center;
    }

    .signup .masthead {
		max-height: 200px;
	}

	.shop .disabled .closed .sorry {
		right: 0;
	}
	
	.weekly-specials-banner .closed {
		border-width: 10px;
		width: 200px;
	}
	
	.weekly-specials-banner .closed h1 {
		line-height: 1.25em;
	}
	
	.weekly-specials-banner .closed:before {
		height: 96px;
		top: -76px;
		left: 60px;
	}

	.weekly-specials-banner .closed:after {
		height: 96px;
		top: -76px;
		right: 60px;
	}
	
	.weekly-specials-banner .closed .expanded {
		display: none;
	}

	.weekly-specials-banner .duration {
		align-items: center;
		display: flex;
		justify-content: space-around;
	}

	.weekly-specials-banner .date-grid {
		margin: 0 0.5rem;
	}

	.specials .departments.features .grid > li {
		display: block;
	}

	.specials .departments.features .caption,
	.specials .departments.features .feature-photo,
	.specials .departments.features li:nth-child(n+4) .caption {
		width: auto;
	}

	.specials .departments.features .caption {
		text-align: left;
	}

	.specials .departments.features .feature-photo,
	.specials .departments.features li:nth-child(n+4) .caption {
		text-align: center;
	}
	
	.specials .departments.features .feature-photo {
		margin-left: 0;
		margin-right: 0;
	}
	
	.specials .grid .inset {
		padding: 0;
	}
	
	.sustainability.regulations article {
		display: block;	
	}
	
	.sustainability.regulations article img {
		max-height: 150px;
	}
	
	.locations .profile-board {
		display: block;
	}
	
	.locations .profile-board figure {
		margin-left: 0;
		text-align: center;
	}
	
	.holiday-meals .grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		grid-template-areas: 
		"meal"
		"fonduetwo"
		"familyfondue" 
		"princesscake"
		"cookiekit" 
		"cupcakekit"
		"strawberries" 
		"fruittart" 
		"chocolatetart";
	}
	
	.checkout fieldset {
		border-left-width: 0;
		padding-left: 0;
	}

}

@media only screen and (max-width: 24em) {
	/*! pink */
	
	html {
		border-top: 2px solid #ce6bce;
	}
	

	textarea:focus,
    select:focus,
	input:focus {
		outline: #ce6bce solid 2px;
	}

	a:focus {
		outline: 1px solid #ce6bce;
		box-shadow: 0 0 10px #ce6bce;
	}

	.specials .departments .grid {
		grid-template-columns: 1fr;
	}
}

@media only screen and (max-width: 20em) {
	/*! white */
	
	html {
		border-top: 2px solid white;
	}

	.main-nav .primary .home {
		padding: 10px;
		text-align: left;
	}

    .container > .main {
        padding: 10px;
	}

	textarea:focus,
    select:focus,
	input:focus {
		outline: #333 solid 2px;
	}

	a:focus {
		outline: 1px solid #333;
		box-shadow: 0 0 10px #333;
	}

    .actions li + li {
        margin-left: 0;
    }

}
