body {
	color:#000;
	font-size:16px;
	line-height:1.5;
	background:url(layout/spots/spotsVector.svg) center center no-repeat fixed #fff;
	background-size:cover;
	text-align:center;
	font-family:'Montserrat',helvetica,sans-serif;
	font-weight:500;
	margin:0;
	padding:0;
}

body.product_page.coffee-beans_section,body.product_page.coffee_section,body.product_page.espresso-bar_section {
	background:url(layout/spots/beansbg.svg) center center no-repeat fixed #fff;
	background-size:cover;
}

p {
	margin:0 0 .66em;
}

b,strong {
	font-weight:700;
}

a#loginbutton {
	position:fixed;
	bottom:0;
	left:0;
	width:2em;
	height:2em;
	display:block;
	opacity:0;
	cursor:default;
	z-index:999;
}

table {
	width:100%;
	overflow-y:visible;
	overflow-x:auto;
}

.asterisk {
	font-size:.8em;
	font-style:oblique;
	color:hsl(126,58%,17%);
}

table tr:nth-child(2n) {
	background-color:hsl(54,100%,84%);
}

table tr:nth-child(2n+1) {
	background-color:hsl(196,64%,80%);
}

table th {
	background:#000;
	color:hsl(54,100%,84%);
}

table td,table th {
	padding:.25em;
	line-height:1.2;
}

.scrollingtablewrap {
	width:100%;
	height:auto;
	display:block;
	overflow-y:visible;
	overflow-x:auto;
}

#container {
	position:relative;
	top:0;
	left:0;
	width:100%;
	padding:13em 0 0;
	margin:0;
}

header {
	width:100%;
	position:absolute;
	top:0;
	left:0;
	font-size:1em;
	height:13em;
	display:block;
	text-align:center;
	margin:0;
	padding:0;
	background:url(layout/grassCurveTop.png) center bottom no-repeat transparent;
	background-size:cover;
	z-index:4;
}

header.fixie {
	position:fixed;
	top:-9em;
	height:5em;
	z-index:900;
	background-position:center top;
	box-shadow:0 8px 8px 2px rgba(0,0,0,.5);
}

header.fixie.down {
	top:0;
	-webkit-transition:top .66s;
	transition:top .66s;
}

#preload {
	position:fixed;
	top:300vh;
	left:0;
	width:100%;
	height:1em;
	overflow:hidden;
}

.hierarchy_note {
	display:none!important;
}

header h1 {
	display:none;
}

#site-logo {
	background:url(layout/logo-vert.png) left center no-repeat transparent;
	-webkit-background-size:contain;
	-moz-background-size:contain;
	-o-background-size:contain;
	background-size:contain;
	width:14em;
	height:18em;
	position:absolute;
	top:1em;
	left:1em;
}

#site-logo span {
	display:none;
}

#site-logo:hover {
	background:url(layout/logo-vert-wink.png) left center no-repeat transparent;
	background-size:contain;
}

header.fixie #site-logo {
	top:.5em;
	left:1em;
	height:7em;
	width:14em;
	background:url(layout/logo-oval.png) center center no-repeat transparent;
	background-size:contain;
}

#udder {
	position:absolute;
	top:0;
	right:0;
	height:12em;
	width:20em;
	padding:2em 0 0;
	background:url(layout/udder.png) right top no-repeat transparent;
	background-size:contain;
}

#udder a {
	position: absolute;
	top: .88em;
	right: .5em;
	font-family:'love_ya_like_a_sister_snormal',sans-serif;
	letter-spacing:.06em;
	font-size:1.5em;
	line-height:1.25;
	display:block;
	width: 10em;
	margin:0;
	color:#fff;
	text-align:right;
	text-shadow:0 .125em .125em #000;
}

#udder a:hover {
	color:hsl(187,94%,44%);
}

#udder a span {
	display:block;
}

header.fixie #udder {
	height:7em;
	width:12em;
	padding:1em 0 0;
}

header.fixie #udder a {
	font-size:.88em;
}

#socionet {
	position:fixed;
	bottom:1em;
	right:0;
	width:1em;
	font-size:2em;
	line-height:1;
	text-align:center;
	z-index:4;
	background-color:hsl(331,80%,62%);
	border-radius:.33em 0 0 .33em;
	padding:.25em .5em .25em 0;
}

#socionet:hover {
}

#socionet a {
	color:#fff;
	display:block;
	font-size:.6em;
	margin:.5em 0;
}

#socionet a:hover {
	color:#000;
}

#socionet a.iconthreads .icon {
	position: relative;
	left: .28em;
	display: block;
	width: 1em;
	height: 1em;
	background: url(/layout/threads.svg) center bottom no-repeat transparent;
	background-size: auto 100%;
}

nav {
	position:absolute;
	top:3em;
	left:16em;
	font-size:1em;
	display:block;
	width:calc(100vw - 34em);
	margin:0;
	padding:0;
	background:transparent;
	height:3em;
	text-align:center;
	font-family:'Duality-Regular',sans-serif;
	letter-spacing:.025em;
	text-transform:uppercase;
}

header.fixie nav {
	top:1.5em;
	left:12em;
	width:calc(100vw - 26em);
}

nav ol {
	position:relative;
	top:0;
	left:0;
	width:100%;
	margin:0 auto;
}

nav ol li {
	position:relative;
	text-align:center;
	list-style:none;
	float:left;
	clear:none;
	vertical-align:bottom;
	list-style:none;
	margin:0;
	padding:0;
	height:auto;
	width:16.66%;
}

nav ol li#homepage_nav,nav ol li#locations_mobile_nav,nav ol li#delivery_mobile_nav,nav ol li#signup_mobile_nav,nav ol li#socionet_mobile_nav {
	display:none;
}

nav ol li a {
	position:relative;
	display:block;
	width:100%;
	color:hsl(54,100%,84%);
	font-size:1.75em;
	line-height:1;
	height:auto;
	font-weight:400;
	padding:0;
	text-shadow:0 .125em .5em #000;
	z-index:999;
}

nav ol li.droppable > a {
	cursor:pointer;
}

header.fixie nav ol li a {
	font-size:1.125em;
}

nav ol li a:hover,nav ol li.lit a {
	color:hsl(331,80%,62%);
}

nav ol li a span {
	display:block;
	text-align:center;
}

/*
header.fixie nav ol li a span {
	display:inline-block;
	text-align:center;
	margin-right:.125em;
}
*/
nav ol li div.drop {
	position:absolute;
	font-size:18px;
	top:6em;
	left:-2000em;
	display:block;
	opacity:0;
	width:18em;
	height:auto;
	background:transparent;
	padding:2.5em 0 0;
	margin:0 0 0 -9em;
	z-index:988;
	-webkit-transition:top .25s,opacity .25s;
	transition:top .25s,opacity .25s;
}

nav ol li div.drop div.uparr {
	position:relative;
	width:100%;
	height:1em;
	display:block;
	background:url(layout/uptri.svg) center bottom no-repeat transparent;
	background-size:contain;
}

nav ol li div.drop ol {
	position:relative;
	font-size:1em;
	top:-.125em;
	left:0;
	display:block;
	width:100%;
	height:auto;
	background:hsl(331,80%,62%);
	padding:1.5em 0;
	margin:0;
	box-shadow:0 .25em .5em #000;
	border-radius:2em;
}

nav ol li div.drop ol li {
	display:block;
	float:none;
	clear:both;
	width:100%;
	height:auto;
	padding:0;
	margin:0;
	height:auto;
	text-align:center;
	line-height:1.5;
}

nav ol li div.drop ol li a {
	font-size:1em;
	color:hsl(54,100%,84%);
	line-height:1.5;
	display:block;
	height:auto;
	text-transform:none;
	text-shadow:none;
	font-family:'cf-jack-story',sans-serif;
	letter-spacing:.03em;
	width:100%;
}

nav ol li div.drop ol li:hover,nav ol li div.drop ol li:hover a {
	color:#000;
	cursor:pointer;
}

nav ol li.dropr div.drop {
	left:50%;
	opacity:1;
	top:2em;
}

header.fixie nav ol li.dropr div.drop {
	top:0;
}

#yourclosest {
	margin:0 0 1em;
}

#yourclosest h4.title {
	font-size:1.5em;
	margin:0;
	color:#000;
	font-family:'Duality-Regular',sans-serif;
	letter-spacing:.025em;
}

#yourclosest div.location_name a {
	font-size:1em;
	color:hsl(331,80%,62%);
	font-family:'cf-jack-story',sans-serif;
	letter-spacing:.03em;
}

#locations_nav {
	position:absolute;
	left:0;
	top:20em;
	width:12em;
	padding:0 0 0 1.5em;
	height:auto;
	text-align:left;
	-webkit-transition:top .25s;
	transition:top .25s;
	z-index:0;
	font-family:'cf-jack-story',sans-serif;
	letter-spacing:.03em;
}

#locations_nav ol {
	margin:0;
	padding:0;
	list-style:none;
}

#locations_nav ol > li {
	margin:.25em 0;
}

#locations_nav > .subnav {
	margin:0 0 1em;
}

#locations_nav ol > li > a,#locations_nav > .subnav ol li a {
	font-size:1.25em;
	line-height:1.5;
	margin-bottom:.5em;
	cursor:pointer;
	color:#000;
}

#locations_nav h3,#locations_nav h3 a {
	color:#ec519d;
}

#locations_nav ol > li > ol > li {
	font-size:.9em;
	line-height:1;
	margin:.25em 0;
}

#locations_nav ol > li > ol > li .opennow {
	font-size:1em;
}

#locations_nav ol li ol {
	display:none;
}

#locations_nav ol li.lit ol {
	display:block;
}

#locations_nav > ol > li > ol > li > a {
	color:#000;
}

#locations_nav a.sidebutton {
	position:relative;
	float:left;
	width:5em;
	height:auto;
	margin:1em 1em 0 0;
	color:hsl(331,80%,62%);
}

#locations_nav a.sidebutton:hover {
	color:#000;
}

#locations_nav a.sidebutton span.image {
	position:relative;
	top:0;
	left:0;
	width:100%;
	height:5em;
	margin-bottom:.25em;
	display:block;
	background:url(layout/icon-app-165.png) center center no-repeat transparent;
	background-size:contain;
}

#locations_nav a.signup span.image {
	background:url(layout/icon-signup-165.png) center center no-repeat transparent;
	background-size:contain;
}

#locations_nav a.delivery span.image {
	background:url(layout/icon-delivery-165.png) center center no-repeat transparent;
	background-size:contain;
}

#locations_nav a.events span.image {
	background:url(layout/icon-events-165.png) center center no-repeat transparent;
	background-size:contain;
}

#locations_nav a.sidebutton span.text {
	background:transparent;
	top:0;
	left:0;
	width:100%;
	height:auto;
	display:block;
	text-align:center;
	font-size:.8em;
}

.subnav h4.menu_category.empty {
	display:none;
}

.slideshow {
	position:relative;
	height:0;
	padding-top:100%;
	z-index:-1;
	border-radius:2em;
}

.slide {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	-webkit-mask-image:url(layout/spots/jp1sq.svg);
	mask-image:url(layout/spots/jp1sq.svg);
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
	z-index:1;
	border-radius:2em;
}

.spotmask {
	-webkit-mask-image:url(layout/spots/jp1sq.svg);
	mask-image:url(layout/spots/jp1sq.svg);
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:cover;
}

.slide .slide_verbage {
	position:absolute;
	bottom:.5em;
	left:0;
	width:calc(100% - 6vw);
	height:auto;
	background:transparent;
	color:hsl(54,100%,84%);
	text-shadow:0 .125em .25em #000;
	padding:.25em 3vw .66em;
	font-size:3vw;
	line-height:1.2;
	text-align:center;
	z-index:9;
	font-family:'Duality-Regular',sans-serif;
	letter-spacing:.025em;
}

#main {
	position:relative;
	width:calc(100vw - 17.5em);
	max-width:90em;
	min-height:0;
	display:block;
	height:auto;
	background:transparent;
	margin:0 0 0 14.5em;
	padding:0;
	text-align:left;
}

#main.expanded {
	min-height:90em;
}

#main.fixie {
	margin-top:15em;
}

.homepage_page #mainbox {
	min-height:0;
}

#main .story {
	position: relative;
	color:#000;
	font-size:1em;
	padding:0;
	margin:0 0 2em;
	max-width:100em;
}

#main .storyp {
	font-family:'Montserrat',helvetica,sans-serif;
	font-weight:500;
}

.locations_page .story {
	padding-bottom:2em;
}

.locations_page #menubox,.franchise_section #menubox {
	display:none;
}

.homepage_page #menubox {
	position:relative;
	float:none;
	clear:both;
	top:0;
	left:0;
	right:auto;
	width:100%;
	padding:0;
	margin:0;
	margin-right:4em;
	height:auto;
	background:transparent;
	min-height:0;
	overflow:visible;
}

a.thumbbox.draft {
	opacity: .33;
	outline: 1px black dotted;
}

#searchbox {
	display:none;
}

#mainbox ul {
	font-size:1em;
	margin:1em 0 1em 1em;
	padding:0 0 0 1em;
	list-style:circle;
	display:inline-block;
}

#mainbox ol {
	font-size:1em;
	margin:1em 0 1em 1em;
	padding:0 0 0 1em;
	display:inline-block;
}

#mainbox ul li {
	list-style:circle;
	margin:0;
	padding:0;
}

#mainbox ol li {
	margin:0 0 .125em;
	padding:0;
}

h1,h2,h3,h4,#main h1,#main h2,#main h3,#main h4 {
	color:hsl(331,80%,62%);
	font-size:2em;
	margin:0 0 .25em;
	padding:0;
	line-height:1.2;
	font-family:'appleberry',sans-serif;
	font-weight:400!important;
}

h2 a,h4 a,#main h2 a,#main h4 a {
	color:hsl(331,80%,62%);
	opacity:1;
}

h2 a:hover,h4 a:hover,#main h2 a:hover,#main h4 a:hover {
	opacity:.75;
	color:hsl(331,80%,62%);
}

#main h1.category,#main h2.duality,#main h2.duality a {
	font-family:'Duality-Regular',sans-serif;
	color:hsl(331,81%,62%);
}

#main h1.category {
	color:#000;
}

.homepage_page #main h1.category {
	font-size: 2em;
	margin: 0 0 0.25em;
	padding: 0;
	line-height: 1.2;
	font-family: 'appleberry',sans-serif;
	font-weight: 400!important;
}

.homepage_page #main h1.category a {
	color: #000;
}

#main h2.category,#main h2.category.black a {
	color:#000;
}

#main h2.toppingstitle {
	font-size:4em;
	font-family:'Duality-Regular',sans-serif;
}

#main h2.sketchytitle {
	font-size:3em;
	font-family:'a_bit_sketchyregular',sans-serif;
	color:hsl(224,31%,68%);
}

#main .cakessubnav h2 {
	color:hsl(54,100%,84%);
}

#main h3,h3 {
	font-size:1.66em;
	color:#000;
	font-family:'a_bit_sketchyregular',sans-serif;
}

#main h3.location_hours_title {
	font-size:1em;
	font-family:'Montserrat',helvetica,sans-serif;
}

#main h4,h4 {
	font-size:1.33em;
	color:#000;
	font-family:'appleberry',sans-serif;
}

#main #soft-serve h4 {
	color:#fff;
}

#main h4,h5 {
	font-size:1.125em;
	color:#000;
	font-family:'appleberry',sans-serif;
}

#main a {
	color:hsl(331,80%,62%);
	text-decoration:none;
}

#main a:hover {
	color:#000;
	text-decoration:none;
}

.locations_page #main h2.title {
	font-size:2em;
}

.location_hours .dayname {
	text-transform:capitalize;
}

#main .location_hours ul,#main .location_hours ul li {
	list-style:none;
	padding:0 0 .25em;
	margin:0;
}

.location iframe {
	height:8em;
}

.location .location_bgimg {
	width:100%;
	height:0;
	padding:100% 0 0;
	margin:0;
	display:block;
	background-position:center center;
	background-repeat:no-repeat;
	background-color:#fff;
	background-size:cover;
}

.location.solo .image_title_address {
	width:100%;
	max-width:30em;
	float:left;
	clear:none;
	margin:0;
}

.location.solo iframe {
	width:100%;
	display:inline-block;
	float:none;
	clear:both;
	margin-top:1em;
	height:20em;
}

.solo .hours_links_map {
	float:left;
	clear:right;
	width:calc(100% - 32em);
	max-width:40em;
	margin-left:2em;
	padding-top:3em;
	text-align:left;
}

.location:nth-Child(4n+1) .location_bgimg {
	-webkit-mask-image:url(layout/squarespots1.svg);
	mask-image:url(layout/squarespots1.svg);
}

.location:nth-Child(4n+2) .location_bgimg {
	-webkit-mask-image:url(layout/squarespots2.svg);
	mask-image:url(layout/squarespots2.svg);
}

.location:nth-Child(4n+3) .location_bgimg {
	-webkit-mask-image:url(layout/squarespots3.svg);
	mask-image:url(layout/squarespots3.svg);
}

.location:nth-Child(4n) .location_bgimg {
	-webkit-mask-image:url(layout/squarespots4.svg);
	mask-image:url(layout/squarespots4.svg);
}

.reverse {
	background:#000;
	color:#fff;
}

.portfolio_page h2.category a {
	float:right;
	font-size:.75em;
}

.portfolio_intro_img {
	background-position:center center;
	background-repeat:no-repeat;
	background-color:#fff;
	background-size:cover;
}

.portfolio_page #menubox ol {
	display:none;
}

.menuboard,.beans {
	float:none;
	clear:both;
	display:block;
	text-align:center;
	width:calc(100% - 10vw - 1em);
	min-height:10em;
	padding:7.5vw 5vw;
	margin:0 0 1em;
	background-position:center top;
	background-repeat:no-repeat;
	background-color:transparent;
	background-size:contain;
}

.beans {
	background:transparent;
	padding:0;
	width:100%;
}

.beans .beansbanner {
	background:transparent;
	background-size:cover;
	width:100%;
	height:24vw;
	padding:0;
	margin:0;
	position:relative;
	text-align:center;
}

.beans .beansbanner .beanslogo {
	position:relative;
	top:0;
	width:20vw;
	height:20vw;
	max-width:80vw;
	max-height:80vw;
	display:block;
	background:url(layout/roaster-logo-2023-600.png) center center no-repeat transparent;
	background-size:contain;
	margin:0 auto;
}

#main .beans span,#main .beans span a,#main .beans h3,#main .beans h3 a,#main .beans .boardtext {
	color:#000!important;
}

#main .beans h2.category {
	color:hsl(331,81%,62%)!important;
	font-size:2em;
	margin-top:1em;
}

#main .beans a.tagbox {
	font-size:.6em;
}

.menuboard.half {
	float:left;
	clear:none;
	width:calc(50% - 8em);
	padding:5vw 3em;
	margin:0 1em 1em;
}

.menuboard.clear {
	width:100%;
	padding:0;
	margin:0;
}

.menuboard .max42 {
	max-width: 42em;
	margin: 1em auto;
}

.menuboard .max50 {
	max-width: 50em;
	margin: 1em auto;
}

.menuboard .max52 {
	max-width: 52em;
	margin: 1em auto;
}

.menuboard .boardtext,.menuboard .jacktext {
	color:#fff;
	font-size:1.25em;
	text-align:left;
	width:calc(100% - 4em);
	margin:0 auto 2em;
}

.menuboard .boardtext,.menuboard .jacktext.medium {
	font-size: 1.66em;
}

#main .menuboard p,#main .menuboard h3,#main .menuboard h4,#main .menuboard ul,#main .menuboard ul li {
	color:#fff;
}

.menuboard .cakeillustration {
	background:url(layout/cakeillustration.png) center center no-repeat transparent;
	background-size:contain;
	height:0;
	padding-top:15vw;
	margin-top:1em;
}

.menuboard .cakeillustration span {
	display:none;
}

.menuboard .jacktext {
	text-align:center;
	font-family:'cf-jack-story',sans-serif;
	margin:0;
	display:inline-block;
}

.menuboard .jacktext.tan {
	color:hsl(28,89%,79%);
}

.menuboard .cakesills {
	position:relative;
	height:7vw;
	display:block;
}

.menuboard .cakesills img {
	max-height:7vw;
	width:auto;
	float:left;
}

.menuboard .cakesills .jacktext {
	text-align:center;
	font-size:1.5em;
	line-height:1.125;
	float:left;
	margin:0;
	margin-top:2vw;
	width:auto;
}

.menuboard .cakesills .jacktext span {
	display:block;
	margin:0;
	padding:0;
	text-align:left;
}

.menuboard .cakesills .jacktext span.large {
	font-size:1.25em;
}

.menuboard .jacktext.cakesillstext {
	font-size:1em;
	text-align:left;
	margin:1em 0 0;
}

.menuboard .jacktext.cakesillstext.nopadd {
	margin:0;
}

#main .menuboard .boardtext h3,#main .menuboard .boardtext h4 {
	color:hsl(331,80%,62%);
	font-family:'Duality-Regular',sans-serif;
	letter-spacing:.025em;
	text-align:center;
	font-size:1.66em;
	margin:.25em 0;
}

#main .menuboard.featuredtreats h4 {
	color:#fd3f9e;
	font-size:1.75em;
}

#main .menuboard.featuredtreats .storyp {
	color:#fff;
	font-family:'cf-jack-story',sans-serif;
	letter-spacing:.03em;
	font-size:1.25em;
}

#main .menuboard.featuredtreats .left h4,#main .menuboard.featuredtreats .left .storyp {
	text-align:left;
}

#main .menuboard.featuredtreats .right h4,#main .menuboard.featuredtreats .right .storyp {
	text-align:right;
}

#soft-serve .menuboard {
	padding:3em 1em;
	margin:0 1em;
	width:calc(100% - 4em);
	min-height:0;
}

#soft-serve .menuboard.r1 {
	background:url(layout/spots/square1.svg) center top no-repeat transparent;
}

#soft-serve .menuboard.r2 {
	background:url(layout/spots/square2.svg) center top no-repeat transparent;
}

#soft-serve .menuboard.r3 {
	background:url(layout/spots/square3.svg) center top no-repeat transparent;
}

#soft-serve .menuboard.r4 {
	background:url(layout/spots/square4.svg) center top no-repeat transparent;
}

#soft-serve .menuboard h4 {
	color:hsl(54,100%,84%);
}

.menuboard .introentry,.beans .introentry {
	position:relative;
	font-size:1.5em;
	line-height:1.33;
	font-family:'cf-jack-story',sans-serif;
	letter-spacing:.03em;
	display:inline-block;
	width:auto;
	max-width:18em;
	vertical-align:top;
	text-align:center;
	color:#fff;
	margin:.5em 1em 0;
}

.menuboard .mbtext {
	color:#fff;
	font-size:1em;
}

.menuboard h2.cakesheader {
	height:8vw;
	background:url(layout/CakesAndPies.png) center center no-repeat transparent;
	background-size:contain;
}

.menuboard h2.cakesheader span {
	display:none;
}

#main .menuboard .introentry .title,#main .cakefloat .title,#main .cakefloat .subtitle,#main .cakefloat .description,#main .beans .title,#main .beans .subtitle {
	font-family:'cf-jack-story',sans-serif;
	letter-spacing:.03em;
	font-size:1.33em;
	line-height:1.125;
	display:block;
	float:none;
	clear:both;
	color:#fff;
}

#main .menuboard .introentry .title,#main .beans .introentry .title {
	font-size:1em;
}

#main .cakefloat .subtitle,#main .cakefloat .description {
	font-size:1em;
	color:#000;
}

#main .cakefloat .description {
	font-size:.9em;
}

#main .cakefloat .title {
	color:hsl(331,80%,62%);
}

#main .menuboard.half.ice-cream.Treats.featured .introentry .title,#main .menuboard.half.ice-cream.Treats.featured .introentry .title a {
	color:hsl(331,81%,62%);
}

#main .menuboard.half.ice-cream.Treats.featured .introentry .subtitle {
	color:#fff;
}

#main .menuboard .introentry .subtitle,#main .beans .introentry .subtitle {
	color:hsl(224,31%,68%);
	font-size:.83em;
}

#main .menuboard .introentry .title a,#main .menuboard .beans .title a {
	position:relative;
	color:#fff;
	font-weight:400;
	cursor:pointer;
}

#main .menuboard .introentry .title a:hover {
	color:hsl(187,94%,44%);
}

#main .menuboard .subtitle a:hover {
	color:#fff;
}

.popover {
	position:absolute;
	font-size:.85em;
	top:2.25em;
	left:50%;
	width:12em;
	height:auto;
	display:block;
	margin-left:-7em;
	padding:1.25em 1em 1em;
	border:none;
	border-radius:.75em;
	z-index:200;
	background:hsl(331,80%,62%);
}

.popover .uparr {
	position:absolute;
	top:-1em;
	left:0;
	width:100%;
	height:1em;
	display:block;
	background:url(layout/uptri.svg) center bottom no-repeat transparent;
	background-size:contain;
}

.popover .inner i {
	font-size:2em;
	color:hsl(54,100%,84%);
}

#main .popover h3,#main .popover h4 {
	color:hsl(54,100%,84%);
	font-size:1.2em;
	font-family:'Duality-Regular',sans-serif;
}

.popover i.closex {
	position:absolute;
	top:.33em;
	right:.33em;
	cursor:pointer;
	color:hsl(54,100%,84%);
}

.popover i.closex:hover {
	color:#fff;
}

.popover .inner div {
	line-height:1.25;
	font-size:.9em;
	color:hsl(54,100%,84%);
}

.stack .filetype {
	display:none;
}

.stack .links_image {
	display:none;
}

.stack .links_text {
	float:none;
	display:inline-block;
	width:auto;
	color:#fff;
}

.links_page #main .links.story {
	margin-bottom: .5em;
}

.links_page #menubox h4.menu_family {
	display: none;
}

.links_page #main .story .controlbar {
	position: absolute;
	top: 0;
	right: 0;
}

.links_page #main .story .controlbar.controlbarextra {
	position: absolute;
	top: calc(3em + 4px);
	right: 0;
	left: auto;
	max-width: 42em;
	text-align: right;
}

.links_page #menubox {
	display: none;
}

.blog_introgrid_img {
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center top;
}

.blog_introgrid_box {
	cursor:pointer;
}

#main a.tagbox {
	color:#000;
	padding-top:.25em;
	background:hsl(224,31%,68%);
	border:none;
	font-size:.8em;
}

#main a.tagbox:hover,#main a.tagbox.lit {
	opacity:1;
	color:#000;
	background:hsl(331,80%,62%);
}

.product_intro {
	margin:0 0 2em;
	width:100%;
	height:auto;
}

.prevNextSlideButtons {
	display:none;
}

.cakefloat .cakeimg {
	height:0;
	padding-top:66%;
	background-repeat:no-repeat;
	background-color:transparent;
	background-position:center bottom;
	-webkit-background-size:contain;
	-moz-background-size:contain;
	-o-background-size:contain;
	background-size:contain;
}

#main .menuboard h2.family,#main .menuboard h1.family {
	color:hsl(224,31%,68%);
	font-family:'Duality-Regular',sans-serif;
	letter-spacing:.025em;
	font-size:2.75em;
}

#main .menuboard h2.family a,#main .menuboard h1.family a {
	color:hsl(331,80%,62%);
}

#main .menuboard h2.family a:hover,#main .menuboard h1.family a:hover {
	color:hsl(331,80%,62%);
	opacity:1;
}

#main .menuboard h2.category,#main .menuboard h2.subtitle,#main .menuboard h3.category,#main .menuboard h3.subtitle {
	color:hsl(54,100%,84%);
	font-family:'love_ya_like_a_sister_snormal',sans-serif;
	letter-spacing:.06em;
	font-size:1.33em;
	margin-top:.66em;
}

#main .nospotboard {
	min-height:90em;
}

#main .nospotboard .product_intro {
	padding-top:2em;
}

#main .nospotboard h2.category {
	font-family:'a_bit_sketchyregular',sans-serif;
	color:hsl(224,31%,68%);
	font-size:2.25em;
	margin-top:.5em;
	text-align:center;
}

#main .menuboard h3.subtitle,#main .nospotboard h3.subtitle {
	font-size:.75em;
	line-height:1.3;
}

#main .nospotboard .title,#main .nospotboard .subtitle {
	font-family:'cf-jack-story',sans-serif;
	letter-spacing:.03em;
	font-size:1.33em;
	line-height:1.125;
	display:block;
	float:none;
	clear:both;
	color:#000;
}

#main .nospotboard .subtitle {
	font-size:1em;
}

#main .menuboard h2.category a {
	color:hsl(54,100%,84%);
}

#main .menuboard h2.category.pink a {
	color:hsl(331,80%,62%);
}

#main .menuboard h2.category a:hover {
	color:hsl(331,80%,62%);
	opacity:1;
}

#main .menuboard h2.category.pink a:hover {
	color:hsl(54,100%,84%);
}

#main h1.category {
	text-transform:capitalize;
}

.jporderselect_select {
	max-width:32em;
	margin:0 auto 2em;
	text-align:center;
}

.jporderselect_select select {
	max-width:24em;
	margin-right:1em;
	border-radius:.25em;
}

#menubox h4 {
	color:hsl(331,80%,62%);
	font-size:1.5em;
	font-weight:400;
	text-transform:uppercase;
}

#menubox h4.lit,#menubox h4 a.lit {
	color:hsl(331,80%,62%);
}

#menubox .featured_box a span {
	display:none;
}

#main .menuboard .tags_wrap {
	font-size:.75em;
}

#menubox ol,#menubox ol li a {
	font-size:1em;
}

#mainbox ol.multilinks {
	margin:0;
}

#mainbox ol.multilinks li {
	background:url(#) transparent;
	margin:0 0 .25em;
	padding:0;
}

#mainbox ol.multilinks li a i.fa,#main a i.fa {
	font-size:1.25em;
}

#mainbox ol.multilinks li a i.fa {
	margin-right: .125em;
}

.locations_page #mainbox .multilinks li,#otherlocations .multilinks li {
	display:inline-block;
	float:left;
	clear:none;
	width:auto;
	margin:0 2em 0 0;
}

#otherlocations .multilinks.hasbullet li i.fa {
	margin-right:.25em;
}

#backup_subnav {
	width:100%;
	float:none;
	clear:both;
	margin-bottom:2em;
}

#backup_subnav ol li {
	list-style:none;
}

blockquote {
	font-size:1em;
	font-style:oblique;
}

.rewards_buttons {
	max-width:51em;
	clear:both;
	float:none;
	display:block;
	margin:0 auto;
}

.stack .links_image {
	width:4em;
}

.stack .links_text {
	width:calc(100% - 5em);
	padding-top:1em;
}

#main a.specialbutton,#main .stack .links_text a {
	display:inline-block;
	vertical-align:middle;
	background:hsl(331,80%,62%);
	padding:.66em 1.5em .5em;
	margin:.125em 0;
	color:#fff;
	font-size:18px;
	text-transform:uppercase;
	cursor:pointer;
	border-radius:.5em;
}

#main a.specialbutton em {
	text-transform:none;
	font-style:normal;
}

#main a.specialbutton.black {
	background:#000;
	color:#fff;
}

#main a.specialbutton.cover {
	width:calc(100% - 3em);
	display:block;
	border-radius:.5em;
}

#main a.specialbutton:hover {
	color:hsl(331,80%,62%);
	background:#000;
}

#main a.specialbutton.black:hover {
	color:#000;
	background:hsl(331,80%,62%);
}

#main .slabform button.specialbutton {
	color:#fff;
	background:hsl(331,80%,62%);
}

#main .slabform button.specialbutton:hover {
	color:hsl(331,80%,62%);
	background:#fff;
}

.menuboard .cakessubnav {
	margin-top:1.5em;
}

#main a.cakesbutton {
	font-family:'cf-jack-story',sans-serif;
	display:block;
	text-align:center;
	font-size:1.5em;
	color:hsl(331,81%,62%);
}

#main a.cakesbutton:hover {
	color:#fff;
}

#cakes_details {
	padding-top:1em;
}

#lixwiches_details {
	padding-top:0;
}

#artistform {
	padding-top:4em;
}

.slab_contact_form {
	margin-top:1em;
}

.imagecolumnleft,.imagecolumnright {
	width:calc(25% - 1em);
}

.storycolumn {
	width:75%;
}

.halfwibutton a {
	width:50%;
}

.calendar_page #main h1.year {
	color:#000;
	font-family:'Duality-Regular',sans-serif;
	font-size:3em;
}

.calendar_page .bigday {
	font-family:'Duality-Regular',sans-serif;
	color:hsl(331,80%,62%);
	font-size:4em;
	display:block;
}

.calendar_page .bigday.mini {
	font-size:2em;
}

.calendar_page .weekname {
	color:#000;
}

.calendar_page #main .event_title * {
	color:#000;
}

#main a.postit {
	font-size:.75em;
	background:#f2f7d0;
	color: #888;
	border-left:.25em #edf4bc solid;
	padding:.25em .5em;
	text-align:center;
	display: inline-block;
	width: auto;
	height: 1em;
}

footer {
	position:relative;
	z-index:1;
	font-size:1em;
	width:100%;
	height:1em;
	padding:12vw 0 0;
	min-height:4em;
	height:auto;
	margin:0;
	clear:both;
	float:none;
	color:#fff;
	background:url(layout/grassCurveBottom.png) center top no-repeat transparent;
	background-size:cover;
	text-align:center;
	z-index:0;
}

#subfooter {
	text-align:left;
	width:90vw;
	max-width:80em;
	margin:0 auto;
	font-size:1em;
	clear:both;
}

#subfooter h4 {
	font-size:1.5em;
}

#subfooter .imagepadd {
	padding:.5em 15%;
}

#subfooter h5 {
	font-size:1.25em;
}

#subfooter h4 a {
	font-family:'love_ya_like_a_sister_snormal',sans-serif;
	letter-spacing:.06em;
	font-size:1em;
}

#subfooter a {
	color:#fff;
}

#subfooter .informational {
	display:none;
}

.counter {
	width:auto;
	margin:0 auto 2em;
	padding:.125em;
	background:rgba(255,255,255,.75);
	display:inline-block;
	font-size:1.5em;
	line-hieght:1;
	font-family:'courier',monospace;
	-moz-border-radius:.25em;
	border-radius:.25em;
}

.counter span {
	display:block;
	font-size:.5em;
	color:#000;
}

.counter .counterdigi {
	position:relative;
	width:1.25em;
	height:1.25em;
	font-size:1em;
	display:inline-block;
	overflow:hidden;
	background:-webkit-linear-gradient(#000 0%,#686868 47%,#000 100%);
	padding:0;
	margin:0 .06em;
	border:thin #dedede solid;
	-moz-border-radius:.25em;
	border-radius:.25em;
}

.counter .counterdigi span {
	position:relative;
	top:0;
	left:0;
	width:1em;
	height:1em;
	padding:.125em;
	margin:0;
	font-size:1em;
	line-height:1;
	display:block;
	float:none;
	clear:both;
	color:#fff;
	text-align:center;
}

#footer_main {
	width:100%;
	float:none;
	clear:both;
	display:block;
	text-align:right;
	padding:1em 0;
}

footer a {
	color:#fff;
}

.multiinput * {
	font-family:'Work Sans',sans-serif;
}

#hourswidget .startdate,#hourswidget .enddate {
	border:1px #cacaca solid;
	outline:none;
	padding:8px 1.5%;
	font-size:16px;
	line-height:24px;
	min-height:24px;
	margin:0 -1px;
	min-width:0;
	width:auto;
	font-weight:inherit;
	font-family:inherit;
	color:#000!important;
}

#hourswidget .hours_weekdays {
	float:left;
	clear:none;
	width:calc(14.28% - 2px);
	height:auto;
	text-align:center;
	color:#fff;
	padding:0;
	margin:0 1px;
}

#hourswidget .weekday {
	background:#201a2c;
	color:#fff;
	padding:.25em 0;
}

#body231 ul {
	column-count:3;
}

.multiinputarea #hourswidget .hours_weekdays select {
	width:auto;
	min-width:0;
	font-size:.9em;
	padding:.125em .25em;
	line-height:1;
	height:auto;
	margin:0;
	background:gray;
}

#hourswidget .newsethours {
	display:none;
}

.opennow {
	color:#ec519d;
	display:block;
	margin:0 0 .5em;
}

@media(max-width: 100em) {
	nav {
		top:4em;
	}
	
	nav ol li a {
		font-size:1.66vw;
	}
	
	#main .menuboard .introentry {
		font-size:1.125em;
	}
	
	#main .menuboard .introentry .title,#main .cakefloat .title,#main .menuboard.featuredtreats .storyp {
		font-family:'cf-jack-story',sans-serif;
		letter-spacing:.03em;
		font-size:1.125em;
	}
	
	#main .cakefloat .title {
		font-size:1.25em;
	}
	
	#main .menuboard.featuredtreats .storyp {
		font-size:1em;
	}
	
	#main .menuboard h2.family,#main .menuboard h1.family {
		font-size:2em;
	}
	
	.menuboard .boardtext {
		font-size:1.125em;
		width:calc(100% - 4em);
		margin:0 auto 2em;
	}
}

@media(max-width: 80em) {
	header {
		height:10em;
	}
	
	#site-logo {
		width:12em;
		height:14em;
	}
	
	nav {
		left:12em;
		font-size:1em;
		width:calc(100vw - 27em);
	}
	
	#udder {
		position:absolute;
		top:0;
		right:0;
		height:12em;
		width:16em;
	}
	
	#udder a {
		font-size:1em;
		width:12em;
	}
	
	#locations_nav {
		top:15em;
	}
	
	#main .menuboard .introentry .title,#main .cakefloat .title,#main .menuboard.featuredtreats .storyp {
		font-family:'cf-jack-story',sans-serif;
		letter-spacing:.03em;
		font-size:1em;
	}
	
	#main .cakefloat .title {
		font-size:1.5em;
	}
	
	#body231 ul {
		column-count:2;
	}
	
	.menuboard {
		float:none;
		clear:both;
		width:calc(100% - 5vw - 2em);
	}
	
	.menuboard .boardtext {
		font-size:1em;
		width:calc(100% - 8em);
		margin:0 auto;
	}
	
	.menuboard.mb5 {
		padding-top:10vw;
		background:url(layout/spots/jp2supertall.svg) center top no-repeat transparent;
		background-size:contain;
	}
	
	#main .menuboard.featuredtreats .right h4,#main .menuboard.featuredtreats .right .storyp {
		text-align:left!important;
	}
}

@media(min-width: 80em) {
	.goleft,.goright {
		position:relative;
		clear: none!important;
	}
	
	.goleft {
		float:left!important;
		margin:0 .5em 1em 0!important;
	}
	
	.goright {
		float:right!important;
		margin:0 0 1em .5em!important;
	}
}

@media( max-width: 64em ) {
	.menuboard .cakeillustration {
		padding-top:15em;
	}
	
	.beans .beansbanner {
		height:33vmax;
		margin-bottom:2em;
	}
	
	.beans .beansbanner .beanslogo {
		width:30vmax;
		height:30vmax;
	}
	
	.menuboard .introentry,.beans .introentry {
		font-size:1.125em;
	}
	
	.menuboard,.menuboard.half {
		width:calc(100% - 4em);
		float:none;
		clear:both;
		display:block;
		padding:10vw 2em;
		margin:0 0 1em;
		min-height:10em;
	}
	
	#soft-serve .menuboard {
		font-size:.8em;
	}
	
	.location.solo .image_title_address {
		max-width:20em;
	}
	
	.solo .hours_links_map {
		width:calc(100% - 22em);
	}
	
	h1,h2,h3,h4,#main h1,#main h2,#main h3,#main h4 {
		font-size:1.5em;
	}
	
	#main .specialbutton,#main a.specialbutton {
		font-size:12px;
	}
	
	#main .menuboard h3.subtitle {
		font-size:1em;
	}
	
	#locations_nav ol > li > a {
		font-size:1em;
	}
	
	#main .storyp {
		font-size:.9em;
	}
}

@media( max-width: 56em) {
	#container {
		padding:0;
	}
	
	#container.slid {
		left:-66vw;
		-webkit-transition:left .5s;
		transition:left .5s;
	}
	
	header {
		position:relative;
		height:9em;
		margin-bottom:3em;
	}
	
	#site-logo {
		width:33vw;
		height:10em;
	}
	
	a#hamburger {
		background:hsl(331,81%,62%);
		border-radius:.125em;
	}
	
	a#hamburger .hlines {
		background:#000;
	}
	
	#udder {
		height:12em;
		width:30vw;
		padding:3em 0 0;
	}
	
	#udder a {
		top: 3em;
		display:block;
		width:25vw;
		font-size:1.125em;
		line-height:1.2;
		margin:0;
	}
	
	#udder a span {
		display:inline;
	}
	
	header nav.mobi {
		background:#000;
		max-height:100vh;
	}
	
	header nav.mobi ol {
		margin-top:2.5em;
		overflow-y:auto;
		max-height:calc(100vh - 5em);
		min-height:0;
		height:auto;
	}
	
	header nav.mobi ol li#homepage_nav,nav ol li#locations_mobile_nav,nav ol li#delivery_mobile_nav,nav ol li#signup_mobile_nav,nav ol li#socionet_mobile_nav {
		display:block;
	}
	
	nav ol li#socionet_mobile_nav {
		margin-left:5vw;
		margin-top:.25em;
		font-size:1.25em;
	}
	
	nav ol li#socionet_mobile_nav a {
		width:1em;
		margin:0 .25em 0 0;
		display:inline-block;
	}
	
	#socionet {
		display:none;
	}
	
	header nav.mobi ol li {
		margin-bottom:.25em;
	}
	
	header nav.mobi ol li a span {
		display:inline;
		text-align:left;
	}
	
	header nav.mobi.lit ol li div.drop {
		position:relative;
		font-size:1em;
		top:0;
		left:6vw;
		display:none;
		opacity:1;
		width:60vw;
		height:auto;
		background:transparent;
		padding:0;
		margin:0;
		z-index:988;
		-webkit-transition:none;
		transition:none;
	}
	
	header nav.mobi.lit ol li div.drop div.uparr {
		display:none;
	}
	
	header nav.mobi.lit ol li div.drop ol {
		display:block!important;
		position:relative;
		font-size:1.125em;
		top:0;
		left:0;
		display:block;
		width:100%;
		min-height:0;
		height:auto;
		background:transparent;
		padding:0 0 1em;
		margin:0;
		box-shadow:none;
		border-radius:0;
	}
	
	header nav.mobi.lit ol li div.drop ol li {
		display:block;
		float:none;
		clear:both;
		width:100%;
		height:auto;
		padding:0;
		margin:0 0 .125em;
		height:auto;
		list-style:none;
		text-align:left;
		line-height:1.25;
	}
	
	header nav.mobi.lit ol li div.drop ol li a {
		font-size:1em;
		color:hsl(331,80%,62%);
		line-height:1.33;
		display:block;
		height:auto;
		text-transform:none;
		text-shadow:none;
		font-family:'cf-jack-story',sans-serif;
		letter-spacing:.03em;
		width:100%;
		margin:0;
		padding:0;
	}
	
	nav ol li:hover div.drop {
		left:0;
		opacity:1;
		top:0;
	}
	
	nav ol li h4.title {
		font-size:1em;
		margin:1em 0 0 1.125em;
		color:hsl(54,100%,84%);
		font-family:'Duality-Regular',sans-serif;
		letter-spacing:.025em;
	}
	
	nav ol li div.location_name a {
		font-size:1em;
		color:hsl(331,80%,62%);
		font-family:'cf-jack-story',sans-serif;
		letter-spacing:.03em;
	}
	
	#locations_nav {
		display:none;
	}
	
	#main {
		width:95vw;
		margin:0 auto;
	}
	
	#main h1,#main h2 {
		font-size:1.75em;
	}
	
	#main h3 {
		font-size:1.5em;
	}
	
	#main h4,#main .menuboard h2.category {
		font-size:1.125em;
	}
	
	#main .menuboard h3.subtitle {
		font-size:1em;
	}
	
	.slideshow {
		position:relative;
		top:0;
		left:0;
		width:90vw;
		z-index:0;
		margin:0 auto;
	}
	
	.slide .slide_verbage {
		font-size:1.5em;
	}
	
	.imagecolumnleft,.imagecolumnright {
		width:100%;
	}
	
	.storycolumn {
		width:100%;
	}
	
	.halfwibutton a {
		width:calc(100% - 3em);
	}
	
	table {
		font-size:.8em;
	}
	
	#main {
		width:95vw;
		margin:1em auto;
	}
	
	#main .story {
		font-size:1em;
	}
	
	#body231 ul {
		column-count:1;
	}
	
	#menubox .spots {
		height:50vh;
		text-align:center;
	}
	
	#menubox .spots .padd {
		padding:1.5em 1em;
	}
	
	#menubox .spots .boximage {
		height:37vh;
		width:100%;
		display:block;
		text-align:center;
		margin-bottom:1vw;
	}
	
	#menubox .spots .padd .storyp {
		font-size:1em;
	}
	
	.menuboard .boardtext,.menuboard .jacktext {
		font-size:1em;
		text-align:center;
		width:100%;
		margin:1em 0 .25em;
	}
	
	.location.solo .image_title_address {
		max-width:100%;
	}
	
	.solo .hours_links_map {
		width:100%;
		margin:0;
		padding-top:0;
		max-width:100%;
	}
	
	.menuboard h1.cakesheader {
		height:3em;
	}
	
	.menuboard .cakessubnav {
		margin:1em auto;
		width:100%;
		font-size:.8em;
	}
	
	#subfooter h4,#subfooter h5 {
		font-size:1.125em;
	}
	
	#subfooter .imagepadd .w12-12.sqbgimg.cover {
		padding-top:66%;
		background-size:contain;
	}
	
	footer {
		padding-top:25vw;
	}
}

@media( max-width: 42em) {
	#udder {
		height:12em;
		width:55vw;
	}
	
	#udder a {
		top: .5em;
		right: 4em;
		font-size:.88em;
		line-height: 1.25;
		width: calc(44vw - 4em);
	}
	
	.cakefloat {
		font-size:.75em;
	}
	
	.childboard {
		width:calc(100% - 3em);
		padding:5vw 1.5em;
		margin:1em 0;
	}
	
	.menuboard .cakeillustration {
		padding-top:12em;
	}
	
	#main .cakefloat a.specialbutton {
		font-size:1em;
	}
	
	.menuboard .boardtext {
		font-size:1em;
		width:calc(100% - 2em);
		margin:0 auto;
	}
	
	.menuboard .cakesills img {
		max-height:25vw;
	}
}