@import "../../oss/";.œSection.-default
{
	margin-block-end: var(--gap-double-width);
}

.œSection.-default .œSectionHeader
{
	font-size: clamp(1.4rem, 2cqi, 3.2rem) !important;
	margin-block-end: var(--gap-two-thirds-width);
	margin-block-end: var(--gap-half-and-width);

	& .__eyebrow
	{
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;

		background-clip: text;
		background-image: var(--gradient-brand-green);
/*		font-size: var(--font-size-m);*/
		font-weight: 400;
		text-fill-color: transparent;
	}

	& .__heading
	{
/*		font-size: var(--font-size-s);*/
		font-size: clamp(1.3rem, 2cqi, 2.4rem) !important;
		line-height: 1.2em;
	}

}/* roboto-100 - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 100;
	src: url('/media/fonts/roboto/roboto-v32-latin-100.woff2') format('woff2');
}
/* roboto-100italic - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 100;
	src: url('/media/fonts/roboto/roboto-v32-latin-100italic.woff2') format('woff2');
}
/* roboto-300 - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 300;
	src: url('/media/fonts/roboto/roboto-v32-latin-300.woff2') format('woff2');
}
/* roboto-300italic - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 300;
	src: url('/media/fonts/roboto/roboto-v32-latin-300italic.woff2') format('woff2');
	}
/* roboto-regular - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 400;
	src: url('/media/fonts/roboto/roboto-v32-latin-regular.woff2') format('woff2');
}
/* roboto-italic - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 400;
	src: url('/media/fonts/roboto/roboto-v32-latin-italic.woff2') format('woff2');
}
/* roboto-500 - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 500;
	src: url('/media/fonts/roboto/roboto-v32-latin-500.woff2') format('woff2');
}
/* roboto-500italic - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 500;
	src: url('/media/fonts/roboto/roboto-v32-latin-500italic.woff2') format('woff2');
}
/* roboto-700 - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 700;
	src: url('/media/fonts/roboto/roboto-v32-latin-700.woff2') format('woff2');
}
/* roboto-700italic - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 700;
	src: url('/media/fonts/roboto/roboto-v32-latin-700italic.woff2') format('woff2');
}
/* roboto-900 - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: normal;
	font-weight: 900;
	src: url('/media/fonts/roboto/roboto-v32-latin-900.woff2') format('woff2');
}
/* roboto-900italic - latin */
@font-face {
	font-display: swap; 
	font-family: 'Roboto';
	font-style: italic;
	font-weight: 900;
	src: url('/media/fonts/roboto/roboto-v32-latin-900italic.woff2') format('woff2');
}:root {
	accent-color: var(--color-brand-red);
	font-family: roboto;
}
:root {
	--color-brand-blue: rgb(15,157,232);
	--color-brand-green: rgb(58,97,63);
	--color-brand-gold: gold;
	--color-brand-gold: #A57D00;
	--color-brand-gold: #C99200;
	--color-brand-ink: #002B59;
	--color-brand-kraft: #C1A486;
	--color-brand-green: rgb(58,97,63);
	--color-brand-lime: rgb(87,213,59);
	--color-brand-orange: rgb(250,164,1);
	--color-brand-purple: rgb(198,104,143);
	--color-brand-red: rgb(202, 37, 63);
	--color-brand-yellow: rgb(253, 184, 19);
	--color-brand-yellow-contrast: rgb(255, 255, 255);
	/*
	--brand-color-blue-contrast: rgb(255, 255, 255);
	--brand-color-green: rgb(103,159,90);
	--brand-color-green-contrast: rgb(255, 255, 255);
	--brand-color-kraft-contrast: rgb(255,255,255);
	--brand-color-ink-contrast: rgb(255, 255, 255);
	--brand-color-lime: rgb(87,213,59);
	--brand-color-purple-contrast: rgb(255, 255, 255);
	*/
}
:root {
	--gradient-brand-green: linear-gradient(to right, #589763, #61ad5d, #72c251, #8ad73d, #a8eb12);
}
:root {
	--site-navigation-color-background: #FFFFFF;
	--site-navigation-color-foreground: rgb(58,97,63);
	--site-navigation-height: 5.6rem;
}

ul.-ingredients {
	color: #646464;
	display: inline;
	list-style: none;

	& li {
		display: inline;
	}
	& li:after {
			content: ", ";
	}
	& li:last-of-type:after {
		content:"";
	}
}



body {
	background-color: var(--color-primary-background);
	@media only screen and (min-width: 375px){
	}
	@media only screen and (min-width: 375.1px), screen and (max-width: 490px) {
	}
	@media only screen and (min-width: 490.1px), screen and (max-width: 768px) {
	}
	@media only screen and (min-width: 768.1px), screen and (max-width: 1040px) {
	}
	@media only screen and (min-width: 1040.1px), screen and (max-width: 14400px) {
	}
	@media only screen and (min-width: 1440.1px) {
	}
}.hashtag {
	display: inline-flex;
	text-transform: uppercase;

	& em,
	& span {
		font-weight: bolder;
	}

}

.menuItemCard {
	--menuItemCard-aspec-ratio: var(--ratio-golden);
	--menuItemCard-border-radius: var(--gap-half-width);
	--menuItemCard-color-primary-foreground: white;
	--menuItemCard-max-width: 25.6rem;
	--menuItemCard-padding: var(--gap-half-width);
	--menuItemCard__picture-aspect-ratio: var(--ratio-widescreen);
	--menuItemCard__title-font-weight: 600;

	aspect-ratio: var(--menuItemCard-aspec-ratio);
	border-radius: var(--menuItemCard-border-radius);
	color: var(--menuItemCard-color-primary-foreground);
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-rows: 1fr auto auto;
	height: auto;
	isolation: isolate;
	max-width: var(--menuItemCard-max-width);
	overflow: hidden;
	/* 
	box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
	margin-block-end: 2.4rem;
	*/

	& .__description {
		/* @todo: font-size in cqi */
		font-size: 1.2rem;
		grid-column: 1 / -1;
		grid-row: 3;
		line-height: 1.2em;
		margin-block-start: var(--gap-quarter-width);
		padding-block-end: var(--menuItemCard-padding);
		padding-inline:var(--menuItemCard-padding);
		z-index:1;

		/*
		padding-inline: var(--_starCard-padding);
		padding-block-start: var(--gap-quarter-width);
		padding-block-end: var(--_starCard-padding);
		*/
	}

	& .__picture {
		grid-column: 1 / -1;
		grid-row: 1 / -1;
	}

	& .__picture > img {
		aspect-ratio: var(--menuItemCard__picture-aspect-ratio);
		height: 100%;
		object-fit: cover;
		width: 100%;
	}

	& .__price {
		/* @todo: font-size in cqi */
		font-size: 1.4rem;
		font-weight: var(--menuItemCard__title-font-weight);
		grid-column: 2 / 3;
		grid-row: 2 / 3;
		letter-spacing: -4%;
		padding-block-start: var(--menuItemCard-padding);
		padding-inline-end: var(--menuItemCard-padding);
		z-index:1;
	}

	& .__title {
		/* @todo: font-size in cqi */
		font-size: 1.4rem;
		font-weight: 600;
		grid-column: 1 / 2;
		grid-row: 2 / 3;
		letter-spacing: -4%;
		line-height: 1.5em;
		padding-block-start: .8rem;
		padding-inline-start: var(--menuItemCard-padding);
		text-transform: uppercase;
		z-index:1;
	}

	&::after {
		-webkit-backdrop-filter: blur(8px);
		background-color: color-mix(in oklab, var(--site-navigation-color-foreground) 80%, transparent);
		backdrop-filter: blur(8px);
		content:"";
		grid-column: 1 / -1;
		grid-row: 2 / -1;
		z-index:0;
	}


}

.menuItemCard.-suggestion
{
	color: #404040;

	&::after
	{
		background-color: #E0E0E0
	}
}

.helpfulCard
{
	--_helpfulCard-color-accent: var(--color-accent);
	-webkit-user-select: none;
	background-color: #FFFFFF;
	border-radius: var(--gap-width);
	container: helpfulCard / inline-size;
	cursor: default;
	display: grid;
	fill: var(--_helpfulCard-color-accent);
	grid-template-columns: 1fr;
	grid-template-rows: 4.8rem 1fr;
	height: 100%;
	max-width: 32rem;
	padding: var(--gap-double-width);
	row-gap: var(--gap-half-width);
	transition: scale;
	transition-duration: 0.32s;
	transition-timing-function: cubic-bezier(0, 0, 0.5, 1);
	user-select: none;
	width: 56vw;

	& .__description
	{
		background: linear-gradient(135deg, var(--_helpfulCard-color-accent) 0%, color-mix(in oklab,var(--_helpfulCard-color-accent) 40%, white) 100%);
		background-clip: text;
		clip: text;
		font-size: clamp(1.6rem, 7.2cqi, 8rem);
		font-weight: 400;
		hyphens: none;
		line-height: 1.3em;
		user-select: none;
		text-wrap: balance;

		& em {
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
/*			color: var(--_helpfulCard-color-accent);*/
			font-weight: bolder;
			text-fill-color: transparent;
		}

	}

	& .__icon
	{
		height: 4.8rem;
		width: 4.8rem;

		& svg
		{
			fill: var(--_helpfulCard-color-accent);
			height: 100%;
			width: 100%;
		}

	}

	@media (hover: hover)
	{
		&:hover {
			scale: 1.01;
		}
	}
}
.reviewCard
{

	
}
.reviewCard
{
	--_reviewCard-border-radius: var(--gap-half-width);
	--_reviewCard-color-primary-background: var(--color-secondary-background);
	--_reviewCard-color-primary-foreground: var(--color-primary-foreground);
	--_reviewCard-color-secondary-background: var(--color-primary-background);
	--_reviewCard-color-secondary-foreground: var(--color-secondary-foreground);

	background-color: #FFFFFF;
	border-radius: var(--_reviewCard-border-radius);
	container: reviewCard / inline-size;
	display: grid;
	font-weight: 300;
	max-width: 42rem;
	padding-block: var(--gap-width);
	padding-inline: var(--gap-half-and-width);
	width: 80vw;

	& .__author
	{
		align-self: end;
		font-size: 1.3rem;
		font-weight: bolder;
		grid-column: 2;
		grid-row: 1;
		letter-spacing: -.015em;
		line-height: 1.3;
		padding-top: .4rem;
	}

	& .__avatar
	{
		align-items: center;
		align-self: center;
		aspect-ratio: 1;
		background-color: var(--_reviewCard-color-secondary-background);
		border-radius: 100vw;
		display: grid;
		grid-column: 1 / 2;
		grid-row: 1 / -1;
		justify-items: center;
		height:4rem;
		width: 4rem;	
	}

	& .__initials
	{
		font-size: var(--font-size-m);
		font-weight: var(--font-weight-medium);
		grid-column: 1 / -1 ;
		grid-row: 1 / -1;
	}

	& .__logo
	{
		display: none;
		align-self: end;
		background-color: #FFBBCC;
		border: .2rem solid #FFFFFF;
		border-radius: 100vw;
		grid-column: 1 / -1;
		grid-row: 1 / -1;
		height: 1.8rem;
		justify-self: end;
		width: 1.8rem;
	}

	& .__meta
	{
		display: grid;
		column-gap: var(--gap-half-width);
		grid-template-columns: auto 1fr;
		grid-template-rows: 1fr 1fr;
		height: 5.2rem;
	}

	& .__picture
	{
		background-color: #F0F0F0;
		display: grid;
		grid-column: 1 / -1;
		grid-row: 1 / -1;
	}

	& .__rate
	{
		align-self: end;
		align-items: center;
		column-gap: var(--gap-quarter-width);
		display: flex;
		font-size: 1.3rem;
		font-weight: 500;
		grid-column: -1;
		grid-row: 1;

		& svg
		{
			fill: var(--color-brand-gold);
			height: 1.3rem;
			width: auto;
		}

	}

	& .__source
	{
		align-self: start;
		color: var(--_reviewCard-color-secondary-foreground);
		font-size: clamp(1rem, 1.8cqi, 1.3rem);
		grid-column: 2;
		grid-row: 2;
	}



	& .__source > span
	{
		
		font-weight: var(--font-weight-bold);
	}

	& .__quote
	{
		color: rgb(58, 97, 63);
		font-size: clamp(1.6rem,4cqi, 2.4rem);
		font-weight: 500;
		letter-spacing: -.0125em;
		line-height: 1.2;
		padding-block: var(--gap-width);
	}

	

}

.authorNote
{
	--_authorNote-border-radius: var(--gap-width);
	--_authorNote-padding-inline: var(--gap-double-width);
	--_authorNote-color-background: var(--color-secondary-background);

	background-color: var(--_authorNote-color-background);
	border-radius: var(--_authorNote-border-radius);
	container: authorNote / inline-size;
	display: grid;
	isolation: isolate;
	padding-block-end: var(--gap-width);
	position: relative;

	& > footer
	{
		display: grid;
		margin-block-start: var(--gap-double-width);
		padding-inline: var(--_authorNote-padding-inline);

		& .__signature
		{
			justify-self: end;
		}
	}

	& > header
	{
		border-bottom: .1rem solid #D2D2D2;
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		margin-block-end: var(--gap-double-width);
		padding-inline: var(--gap-width);

		& figure
		{
			align-items: center;
			aspect-ratio: 1;
			display: grid;
			height: clamp(8rem, 24cqi,16rem);
			justify-items: center;
			grid-row: 1 / -1;
			float: left;
			shape-outside: circle();

			& picture {
				align-self: center;
				clip-path: circle();
				aspect-ratio: 1;
				justify-self: center;
				width: 80%;
			}

		}
	}

	& .__heading
	{
		align-self: end;
		font-size: 2rem;
		font-weight: bold;

		& span 
		{
			color: color-mix(in oklab, currentColor 64%, transparent);
			display: block;
			font-size: smaller;
			font-weight: 400
		}

	}

	& .__meta
	{
		& .œBadge
		{
			border: .1rem solid #D2D2D2;
			border-radius: 100vw;
			color: #D2D2D2;
			padding-block: .5ch;
			padding-inline: 2ch;
			margin-block-start: .4rem;
		}

	}

	& > .__main
	{
		color: color-mix(in oklab, currentColor 72%, transparent);
		font-size: 1.8rem;
		padding-inline: var(--_authorNote-padding-inline);
		position: relative;

		& a
		{
			text-decoration: underline;
			text-decoration-style: dotted;
		}

		& em
		{
			font-weight: bolder;
		}

		& p:has( + p)
		{
			margin-block-end: var(--gap-width);
		}

	}

}#sb
{
	backdrop-filter: blur(8px);
	background-color: color-mix(in oklab,var(--color-primary-background) 88%, transparent);
/*	background-color: color-mix(in oklab,#FFBBCC 88%, transparent);*/
	background-color: black;
	color: white;
	box-shadow: 0px -1px 2px rgba(0,0,0,.1);
	column-gap: var(--gap-width);
	container: sb / inline-size;
	display: grid;
	grid-template-columns: 1fr auto;
	inset: auto 0 0 0;
	padding: var(--gap-width);
	position: fixed;
	z-index: 999;

	& .__cta
	{
		justify-self: end;

		& .__label
		{
			animation: pulsate 10s infinite ease-in-out;
		}

		& svg
		{
			animation: ring 10s infinite ease-in-out;
		}
	}
}

body:has(#sb)
{
	padding-block-end: var(--gap-fourfold-width);
}

#sbRestaurant
{
	font-size: clamp(1.2rem, 4cqi, 1.8rem);

	& span
	{
		text-transform: uppercase;
	}

	& .__address
	{
		color: color-mix(in oklab, currentcolor 64%, transparent);
		font-size: smaller;
	}
}


@keyframes pulsate {
	91% {
		transform: sclae(1);
	}
	92% {
		transform: scale(1.0);
	}
	94% {
		opacity: .5;
		transform: scale(1.2);
	}
	96% {
		opacity: 1;
		transform: scale(1.0);
	}
	98% {
		opacity: .5;
		transform: scale(1.2);
	}
	100% {
		opacity: 1;
		transform: scale(1.0);
	}
	0% {
		opacity: 1;
		transform: scale(1.0);
	}
}

@keyframes ring {
	91% {
		transform: rotate(0deg);
	}
	92% {
		transform: rotate(45deg);
	}
	94% {
		transform: rotate(-45deg);
	}
	96% {
		transform: rotate(45deg);
	}
	98% {
		transform: rotate(-45deg);
	}
	100% {
		transform: rotate(0deg);
	}
	0% {
		transform: rotate(0deg);
	}
}#sn {
	backdrop-filter: blur(8px);
	background-color: color-mix(in oklab,var(--site-navigation-color-background) 88%, transparent);
	color: var(--site-navigation-color-foreground);
	fill: var(--site-navigation-color-foreground);
	height: var(--site-navigation-height);
	inset: 0 0 auto 0;
	isolation: isolate;
	position: sticky;
	z-index: 1000;
}
#snBar {
	align-items: center;
	column-gap: var(--gap-width);
	display: grid;
	grid-template-areas: "leading main trailing" ;
	grid-template-columns: auto 1fr auto;
	height: var(--site-navigation-height);
	margin-inline: auto;
	max-width: var(--site-constrained-max-width);
	padding-inline-start: var(--gap-width);
	position: relative;
	top: 0;
	width: 100%;
	z-index: 1;

	& .__trailing {
		align-items: center;
		display: flex;
		grid-area: trailing;
		justify-items: end;
/*		padding-inline-end: 1.6rem;*/

		> * {

			display: block;
			height: 4.8rem;
			width: 4.8rem;
		}

		> a {
			align-items: center;
			display: grid;
			justify-items: center;
		}
		
	}
}

#snBar__main {
	display: inline-grid;
	justify-items: start;
	justify-content: start;
}
#snBar__leading {

	grid-area: leading;
}

#snNavToggle {
	display: none;
}
/* */
#snHeading {
	color: var(--color-accent);
	font-size: 2.4rem;
	font-weight: var(--font-weight-bold);
	grid-column: 2;
	grid-row: 1;
	height: 3.2rem;
	letter-spacing: .4rem;
	position: relative;
	top: 0.4rem;
}
#snHome {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: 1fr 1fr;
	height: var(--site-navigation-height);
	justify-self: start;
}
#snLogo {
	align-self: center;
	aspect-ratio: 1;
	display: none;
	grid-column: 1;
	grid-row: 1 / -1;
	fill: var(--color-brand-red);
	height: 4rem;
	width: 4rem;
}
/* */
#snWeekend {
	font-size: 1.2rem;
	font-weight:500;
	grid-column: 2;
	grid-row: 2;
	height: 1.6rem;
	line-height: 1.6rem;
	overflow: hidden;
	position: relative;
	text-transform: uppercase;
	top: -0.4rem;
	user-select: none;
	opacity: 0;
}
/* */
#snSlogans {
	font-size: 1.2rem;
	font-weight:300;
	grid-column: 2;
	grid-row: 2;
	height: 1.6rem;
	line-height: 1.6rem;
	overflow: hidden;
	position: relative;
	top: -0.4rem;
	user-select: none;
}
#snSlogans__items {
	animation-direction: normal;
	animation-duration: 15s;
	animation-iteration-count: infinite;
	animation-name: snSlogans;
	height: 3.2rem;
	transform-origin: top left;
}
.shSlogansItem {
	height: 1.6rem;
}
#snWeare__leading {
	height: 1.6rem;

}
#snWeare {
	display: grid;
	grid-template-columns: auto 1fr;
	height: 1.6rem;
	overflow: hidden;
}
#snWeare__trailing {
}
#snWeare__words {
	animation-direction: normal;
	animation-duration: 15s;
	animation-iteration-count: infinite;
	animation-name: snSlogansWeAreWords;
	display:block;
	margin:0;
	padding:0;
	transform-origin: top left;
}
#snWeare__words li {
	display: block;
	font-weight: 400;
	height: 1.6rem;
	list-style-type: none;
	margin:0;
	padding:0;
}
@keyframes snSlogans{
	0%{
		transform:translateY(0px);
	}
	70%{
		transform:translateY(0px);	
	}
	75%{
		transform:translateY(-50%);
	}
	95%{
		transform:translateY(-50%);
	}
	100%{
		transform:translateY(0px);
	}
}
@keyframes snSlogansWeAreWords {
	0%{
		transform:translateY(0px);
	}
	15%{
		transform:translateY(0px);
	}
	20%{
		transform:translateY(-25%);
	}
	35%{
		transform:translateY(-25%);
	}
	40%{
		transform:translateY(-50%);
	}
	55%{
		transform:translateY(-50%);
	}
	60%{
		transform:translateY(-75%);
	}
	75%{
		transform:translateY(-75%);
	}
	80%{
		transform:translateY(0px);
	}
	100%{
		transform:translateY(0px);
	}
}
/* */
#snToggle {
	align-items: center;
	display: grid !important;
	grid-area: button;
	height: var(--site-navigation-height);
	justify-content: center;
	position: relative;
	transform-origin: center;
	width: var(--site-navigation-height);
	z-index:1;

	& span {
		align-items: center;
		border-radius: var(--gap-quarter-width);
		grid-template-columns: 1fr;
		grid-template-row: 1;
/*		row-gap: 10px;*/
		
		flex: none;
		height: .1rem;
		justify-content: center;
		position: relative;
		transition: all .4s ease;
		width:1.6rem;
	}
}

#snToggle > span:after, #snToggle > span:before {
	align-self: center;
	justify-self: center;
	background-color: var(--site-navigation-color-foreground);
	border-radius: var(--gap-quarter-width);
	content: '';
	display:block;
	grid-column: 1;
	grid-row: 1;
/*	left: 1.6rem;*/
	height: .1rem;
	margin-inline: auto;
	justify-self:center;
/*	position: absolute;*/
	position: absolute;
	width: 1.6rem;
}
#snToggle > span:after {
	top: -.4rem;
/*	top:-.4rem*/
}

#snToggle > span:before {
/*	top:.4rem*/
	bottom: -.4rem;
}
/* snMenu */
#snNavToggle:checked ~ #snBar {
	--site-navigation-color-foreground: white;
	fill: white;

	& #snHeading {
		color: #FFFFFF;
	}

	#snWeekend {
		color: #FFFFFF;
		opacity: 1;
	}

	& #snToggle > span {
		transform-origin: center;
		transform: rotate(135deg);
	}

	& #snToggle > span:after {
		transform-origin: center;
		transform: rotate(-180deg);
		top: .4rem;
		/*top: 0;
		transform: rotate(90deg);*/
	}

	& #snToggle > span:before {
		transform-origin: center;
		transform: rotate(-90deg)
	}
}
#snNavToggle:checked ~ #snBar #snCart,
#snNavToggle:checked ~ #snBar #snAccount {
	opacity: 0;
}

#snNavToggle:checked ~ #snMenu{
	opacity: 1;
	transform: none;
}
#snMenu {
	align-content: start;
	background-color: var(--color-brand-green);
	color: white;
	height: 100dvh;
	display:grid;
	left: 0;
	margin-inline: auto;
/*	max-width: var(--site-content-size-max-width);*/
	opacity: 0;
	padding-block-start: var(--site-header-size-height);
	position: fixed;
	top: 0;
	transform: translate(0, -100%);
	right: 0;
	z-index: 0;
	transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
				opacity 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
	width: 100vw;
}#snMenu
{
	display: grid;
	font-size: var(--font-size);
	gap: 0;
	grid-template-columns:
		[bleed-start] 
			minmax(1.6rem,1fr)
		[constrained-start] 
			minmax(0, var(--site-constrained-max-width))
		[constrained-end] 
			minmax(1.6rem,1fr)
		[bleed-end];
	padding-block-start: var(--site-navigation-height);

	& > *:not(.__bleed,hr) {
		grid-column: constrained;
		
	}

	& hr {
		background-color: #FFFFFF;
		grid-column: bleed;
		height: .1rem;
	}
}

#snSearchBar
{
	align-items: stretch;
	background-color: rgba(255,255,255,.4);
	border-radius: 100vw;
	display: grid;
	grid-template-columns: 1fr auto;
	height: 4.8rem;
	margin-inline: 0rem;
	overflow: hidden;

	& input
	{
		color: gray;
		font-size: 1.6rem;
		padding-inline: 2ch;
	}

	& button
	{
		align-content: center;
		aspect-ratio: 1;	
		border: .4rem solid transparent;
		border-radius: 100vw;
		display: grid;
		clip-path: circle();
		isolation: isolate;
		justify-content: center;
		opacity: .8;
		position: relative;
		
		& svg
		{
			aspect-ratio: 1;
			position: relative;
			height: 2rem;
			width: 2rem;
			z-index: 1;
		}
		
	}

	& button::before
	{
		background-color: var(--color-brand-red);
		content: "";
		clip-path: circle();
		inset: .2rem;
		position: absolute;
		z-index: 0;
		
	}

	& button:hover
	{

	}
}

#snEssentials
{
	
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	font-size: 1.4rem;
	fill: white;
	margin-block-end: var(--gap-width);
	padding-block-start: var(--gap-half-width);

	& a
	{
		column-gap: var(--gap-half-width);
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-rows: auto auto;
		padding-block: var(--gap-half-width);
	}

	& a > em
	{
		grid-column: 2;
		grid-row: 2;
	}

	& a > span
	{
		align-self: end;
		color: rgba(255,255,255,.4);
		display: block;
		font-size: 1rem;
		font-weight: 600;
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
		text-transform: uppercase;
	}

	& a > svg
	{
		align-self: center;
		grid-column: 1;
		grid-row: 1 / -1;
		justify-self: center;
		height: 2.4rem;
		width: 2.4rem;
	}

	& #snTelephone
	{
		justify-self: end;
	}
}

#snBusinessHours
{
	border-top: .1rem solid rgba(255,255,255,.16);
	grid-column: 1 / -1;
}



/*
#snMenu
{
	display: grid;
	font-size: var(--font-size);
	gap: 0;
	grid-template-columns:
		[bleed-start] 
			minmax(1.6rem,1fr)
		[constrained-start] 
			minmax(0, var(--site-constrained-max-width))
		[constrained-end] 
			minmax(1.6rem,1fr)
		[bleed-end];
	padding-block-start: var(--site-navigation-height);

	& hr {
		background-color: #FFFFFF;
		grid-column: bleed;
		height: .1rem;
	}
}

#snMenu
{
	

	& > *:not(.__bleed) {
		grid-column: constrained;
		
	}

	& hr {
		background-color: #FFFFFF;
		grid-column: bleed;
		height: .1rem;
	}
}



#snEssentials
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto auto;
	font-size: 1.4rem;
	fill: white;
	margin-block-end: var(--gap-width);
	padding-block-start: var(--gap-width);

	& a
	{
		display: grid;
		column-gap: var(--gap-half-width);
		grid-template-columns: auto 1fr;
		padding-block: var(--gap-half-width);

		& svg
		{

		}
	}

	& div
	{
		border-block-start: .1rem solid rgba(255,255,255,.16);
		grid-column: 1 / -1;
		padding-block: var(--gap-half-width);
	}

}

#snAddress
{

}

#snPhone
{
	--œButton-border-color: #FFFFFF;
	--œButton-color-foreground: #FFFFFF;
	font-weight: 600;
	justify-self: end;
}

#snE2
*/#sf {
	--sf-constrained-max-width: var(--site-constrained-max-width);
	--sf-constrained-padding-inline: 1.6rem;
	--sf-color-primary-background: ;
	--sf-color-primary-border: #D1D1D2;
	--sf-color-primary-foreground: ;
	--sf-color-secondary-background: ;
	--sf-color-secondary-border: var(--border-color);
	--sf-color-secondary-foreground: color-mix(in oklab, currentcolor 60%, white);;


	display: grid;
	gap: 0;
	grid-template-columns: 
			[bleed-start] 
				1fr 
			[constrained-start] 
				minmax(0, var(--sf-constrained-max-width))
			[constrained-end] 
				1fr 
			[bleed-end];
	isolation: isolate;
	padding-block-end: max(var(--gap-double-width),env(safe-area-inset-bottom));

	& > :not(.__bleed) {
		grid-column: constrained;
		padding-inline: var(--sf-constrained-padding-inline);
	}

	& > .__bleed {
		grid-column: bleed;
	}
}

/* sfDirectories */
#sfDirectories {
	justify-items: start;
	margin-block-end: var(--gap-double-width);
/*	grid-area: directories;*/

	@media only screen and (min-width: 735.1px){
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}
}

.sfDirectory {

	& input[type="checkbox"] {
		display: none;
	}

	& label {
		cursor: pointer;
		display: block;
		/*font-size: var(--font-size-fixed-xs);
		font-weight: var(--font-weight-bold);*/
		font-weight: 500;
		line-height: 1.3333em;
		margin: 0;
		outline: none;
		padding-block: var(--gap-two-thirds-width);
		text-transform: uppercase;
	}

	& a {
		color: color-mix(in oklab, currentcolor 60%, white);
		display: block;
		font-size: 1.2rem;
		line-height: 1.6rem;
		padding-block: var(--gap-third-width);
	}

	& a:hover {
		color: var(--color-accent);
	}

	@media only screen and (max-width: 735px){

/*		border-bottom: .1rem solid #D1D1D2;*/

		& label {
			isolation: isolate;
			position: relative;
		}

		& label::before {
			background-color: var(--color-brand-green);
			border-radius: var(--gap-quarter-width);
			content: '';
			display: block;
			height: .1rem;
			position: absolute;
			right: 0;
			top: 50%;
			width: 0.66em;
			zoom: 150%;
		}

		& label::after {
			background-color: var(--color-brand-green);
			border-radius: var(--gap-quarter-width);
			content: '';
			display: block;
			height: .1rem;
			position: absolute;
			right: 0;
			top: 50%;
			transform: rotate(90deg);
			transition: all 0.4s ease;
			width: 0.66em;
			zoom: 150%;
		}

		& ul {
			-webkit-transform: translateY(-100px);

			left: 0;
			margin: 0;
			opacity: 0;
			overflow: hidden;
			padding-inline-start: var(--gap-half-and-width);
			padding-block-end: var(--gap-two-thirds-width);
			position: absolute;
			top: 100%;
			transform: translateY(-100px);
			width: 100%;
			z-index: -1;
		}

		& .__section{
			border-bottom: .1rem solid var(--sf-color-primary-border);
			overflow: hidden;
			position: relative;
			z-index: 1;
		}

		& input:checked + .__section {
			background: transparent;
		}
		& input:checked + .__section label {
			color: var(--color-brand-green);
			font-weight: bolder
/*			fill: var(--color--primary-foreground);*/
		}
		& input:checked + .__section label::before {
/*			background-color: var(--color-primary-foreground);*/
			transform: rotate(-90deg);
			opacity: 0;
		}
		& input:checked + .__section label::after {
/*			background-color: var(--color-primary-foreground);*/
			transform: rotate(0);
		}
		& input:checked + .__section label:after {
		}
		& input:checked + .__section ul {
			opacity: 1;
			position: static;
			transform: none;
			transition: all 300ms ease;
			visibility: visible;
			z-index: 1;
		}

	}

}
/* */
#sfLegal {
	color: var(--sf-color-secondary-foreground);
	font-size: 1rem;
	line-height: 1.4em;
}
#sfLegalTrademark {
	border-top: .1rem solid var(--sf-color-primary-border);
	padding-block-start: var(--gap-quarter-width);
}
/* */
#sfLegalLinks {
	column-gap:  var(--gap-width);
	display: flex;
	font-size: 1.2rem;
	padding-block: var(--gap-half-width) var(--gap-width);

	& li {
		color: rgb(64,64,64);
		display: inline-block;
	}

	& a:hover {
		color: var(--color-brand-green);
		text-decoration: underline;
	}
}
/* */
#sfSocial {

	align-items: center;
	display: grid;
	grid-template-columns: 1fr auto;
	margin-block-end: var(--gap-double-width);

	& .__heading {
		font-weight: 500;
		line-height: 1.3333em;
		text-transform: uppercase;
	}

	& .__links {
		display: flex;

		& a {
			display: block;
			padding: var(--gap-half-width);
		}

		& svg {
			fill: color-mix(in oklab, currentcolor 60%, white);
		}
	}

}

/* #sfPnns */
#sfPnns {
	color: var(--sf-color-secondary-foreground);
	font-size: 1.2rem;
	line-height: 1.4em;
	margin-block-end: var(--gap-quarter-width);
}

#sf .œButton {
	--œButton-color-min-height: 4.8rem;
}

/* */
#sfExternal {
	display: grid;
	grid-template-columns: 1fr auto;
	margin-block-end: var(--gap-double-width);

	& .__links {
		display: flex;

		& a {
			display: block;
			padding: var(--gap-half-width);
		}

		& svg {
			fill: color-mix(in oklab, currentcolor 60%, white);
			transition-duration: .5s;
			transition-timing-function: linear;
			transition-property: fill
		}

		& a:hover svg {
			fill: var(--color-brand-green);
		}
	}

}