/* BASELINE */

html
{
	font-size: 16px;
	box-sizing: border-box;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	scroll-behavior: smooth;
}

*, *:before, *:after
{
	box-sizing: inherit;
	margin: 0;
	padding: 0;
}

body
{
	font-family: "gt-pressura-extended-light"; /* default body type across entire project */
}

a
{
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 0.25rem;
	text-decoration-thickness: 0.04em;
}

p, li
{
	line-height: 150%;
}


h1
{
	font-weight: inherit;
}

h2
{
	font-family: "gt-pressura-extended-medium";
	font-size: 0.875rem;
	font-weight: inherit;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}

strong, b
{
	font-family: "gt-pressura-extended-medium";
	font-weight: inherit;
}

hr
{
	border: none;
	border-top: solid 1px rgba(0,0,0,1.0);
}

img
{
	display: block;
}

li:first-child
{
	margin-top: 1.25rem;
}

li
{
	margin-left: 1rem;
}



/* CORE Z-INDEX VALUES */

#content
{
	z-index: 1;
}

#header
{
	z-index: 2;
}

#sides
{
	z-index: 3;
}

#shiptoggle
{
	z-index: 4;
}

*[id^="shop-notify"]
{
	z-index: 5;
}

#cart
{
	z-index: 6;
}

*[id^="cart-notify"]
{
	z-index: 7;
}

#menu
{
	z-index: 8;
}

*[id^="dialog"]
{
	z-index: 9;
}

#terms
{
	z-index: 10;
}

*[id^="warning"]
{
	z-index: 11;
}

#preloader
{
	z-index: 12;
}



/* LOADER & WARNING STYLES */

#preloader, *[id^="warning"], *[id^="shop-notify"], #zonzo
{
	width: 100%;
	height: 100%;
	position: fixed;
}

#preloader
{
	background: rgba(0,0,0,1);
}

*[id^="warning"]
{
	display: none;
	background: rgba(255,255,255,1);
}

#preloader p, *[id^="warning"] p, *[id^="shop-notify"] p, *[id^="cart-notify"] p
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);

	font-family: "gt-pressura-extended-light-italic";
	font-size: 0.875rem;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	text-align: center;

	-webkit-animation-name: blink;
	-webkit-animation-duration: 1.2s;
	-webkit-animation-iteration-count: infinite;

	-moz-animation-name: blink;
	-moz-animation-duration: 1.2s;
	-moz-animation-iteration-count: infinite;

	-o-animation-name: blink;
	-o-animation-duration: 1.2s;
	-o-animation-iteration-count: infinite;
}

#preloader p
{
	color: #FFAAFF;
}

#preloader img, #zonzo img
{
	position: absolute;
	margin: auto;
}

.band
{
	position: absolute;
	height: 20%;
	width: 100%;
}

.band:nth-child(1)
{
	top: 0;
}

.band:nth-child(2)
{
	top: 25%;
	bottom: auto;
}

.band:nth-child(3)
{
	top: 50%;
	bottom: auto;
}

.band:nth-child(4)
{
	top: 75%;
	bottom: auto;
}

.band img
{
	top: 50%;
	transform: translateY(-50%);
	width: auto;
}

#preloader .band img
{
	opacity: 0;

	-webkit-animation-name: fade-in;
	-webkit-animation-duration: 0.4s;
	-webkit-animation-fill-mode: forwards;
	
	-moz-animation-name: fade-in;
	-moz-animation-duration: 0.4s;
	-moz-animation-fill-mode: forwards;
	
	-o-animation-name: fade-in;
	-o-animation-duration: 0.4s;
	-o-animation-fill-mode: forwards;
}

.z
{
	height: 4.5rem;
}

.o
{
	height: 4.75rem;
}

.n
{
	height: 4.25rem;
	right: 50%;
	transform: translateX(-50%);
}

.delay_first
{
	animation-delay: 0.4s;
	-webkit-animation-delay: 0.4s;
	-moz-animation-delay: 0.4s;
	-o-animation-delay: 0.4s;
}

.delay_second
{
	animation-delay: 0.8s;
	-webkit-animation-delay: 0.8s;
	-moz-animation-delay: 0.8s;
	-o-animation-delay: 0.8s;
}

.delay_third
{
	animation-delay: 1.2s;
	-webkit-animation-delay: 1.2s;
	-moz-animation-delay: 1.2s;
	-o-animation-delay: 1.2s;
}

.delay_fourth
{
	animation-delay: 1.6s;
	-webkit-animation-delay: 1.6s;
	-moz-animation-delay: 1.6s;
	-o-animation-delay: 1.6s;
}



/* COMMON STYLES */

.w100
{
	width: 100%;
}

.h100
{
	height: 100%;
}

#content
{
	position: absolute;
	width: 100%;
	height: 100%;
	pointer-events: auto;
}

.snappy_scroll
{
	overflow-y: scroll;
	scroll-snap-type: y mandatory;
}

.default_scroll
{
	overflow-y: scroll;
	scroll-snap-type: none;
}

.mobile_only
{
	display: none;
}

.desktop_only
{
	display: block;
}

.bg_black
{
	background: rgba(0,0,0,1);
}

.bg_white
{
	background: rgba(255,255,255,1);
}

.bg_creme
{
	background: rgba(255,255,238,1);
}

.full
{
	padding: 0 7.5rem;
}

.padded_120
{
	padding: 0 7.5rem;
}

.padded_160
{
	padding: 0 10rem;
}

.padded_240
{
	padding: 0 15rem;
}

.padded_320
{
	padding: 0 20rem;
}

.offset
{
	margin-top: 5rem;
	margin-bottom: 5rem;
}

.blacken
{
	filter: brightness(0) saturate(100%); /* make it black */
}

.whiten
{
	filter: brightness(0) invert(1); /* make it white */
}

#sides
{
	position: fixed;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

h1, .heading
{
	font-size: 1.5rem;
	font-weight: inherit;
	letter-spacing: -0.005em;
	text-transform: uppercase;
	text-decoration: none;
}

.deactivated
{
	opacity: 0.24;
	transition: 0.2s;
}

.deactivated:hover
{
	opacity: 1;
}

.caption, .caption_heading
{
	font-size: 0.75rem;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

.caption_heading
{
	font-family: "gt-pressura-extended-medium";
}

.italic
{
	font-family: "gt-pressura-extended-light-italic";
}

.large
{
	font-size: 1.25rem;
}

.smaller
{
	font-size: 0.875rem;
}

.centy
{
	text-align: center;
}

.lefty
{
	text-align: left;
}

.righty
{
	text-align: right;
}

.standard p
{
	font-size: 1rem;
}

.standard p:not(:last-child)
{
	margin-bottom: 1.25rem;
}

.standard h2
{
	margin-bottom: 1.25rem;
}

.standard h2:not(:first-child)
{
	margin-top: 5rem;
}

.standard ul
{
	margin-bottom: 1.25rem;
}

#sides lefty, #sides righty
{
	position: absolute;
	top: 50%;
	font-size: 0.75rem;
	font-family: "gt-pressura-extended-text";
	letter-spacing: 0.01rem;
	text-transform: uppercase;
}

#sides lefty
{
	transform: translateX(-50%) translateY(-50%) rotate(-90deg);
	left: 2.5rem;
}

#sides righty
{
	transform: translateX(50%) translateY(-50%) rotate(90deg);
	right: 2.5rem;
}

.hero_square
{
	width: 100%;
	margin-bottom: 2.5rem;
}

.push_right
{
	margin-top: -4.375rem;
	padding: 0 10rem 0 30rem;	
}

.breadcrumbs
{
	position: fixed;
	left: 7.5rem;
	width: 24%;
}

.breadcrumbs p:last-child
{
	font-size: 3rem;
	line-height: 120%;
}

.breadcrumbs p:nth-child(2)
{
	margin-top: 0.625rem;
}

.no_image
{
	top: 15rem;
}

.sans_image
{
	margin-top: 15rem;
}

.with_image
{
	top: 20rem;
	transform: translateY(-50%);
}

.fader
{
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out; /* Add transition for visibility */
}

.fader.opened
{
	opacity: 1;
	visibility: visible;
}

.fader.closed
{
	opacity: 0;
	visibility: hidden;
}

a.noline
{
	text-decoration: none;
}

.subheading
{
	font-family: "gt-pressura-extended-regular";
}

.subheading_caps
{
	font-family: "gt-pressura-extended-medium";
	font-size: 0.875rem;
	text-transform: uppercase;
}

.byline
{
	font-size: 0.875rem;
	text-transform: uppercase;
}

.uppercase
{
	text-transform: uppercase;
}

.dashed
{
	height: 1px;
	background-image: repeating-linear-gradient(90deg, #000000, #000000 4px, transparent 4px, transparent 12px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 1px;
}


/* SPACER AND MARGIN STYLES */

.top5
{
	margin-top: 0.3125rem;
}

.top10
{
	margin-top: 0.625rem;
}

.bottom10
{
	margin-bottom: 0.625rem;
}

.both10
{
	margin: 0.625rem 0;
}

.top20, .newline
{
	margin-top: 1.25rem;
}

.bottom20
{
	margin-bottom: 1.25rem;
}

.both20
{
	margin: 1.25rem 0;
}

.top40
{
	margin-top: 2.5rem;
}

.bottom40
{
	margin-bottom: 2.5rem;
}

.both40
{
	margin: 2.5rem 0;
}

.top60
{
	margin-top: 3.75rem;
}

.top80
{
	margin-top: 5rem;
}

.bottom80
{
	margin-bottom: 5rem;
}

.both80
{
	margin: 5rem 0;
}

.top160
{
	margin-top: 10rem;
}

.bottom160
{
	margin-bottom: 10rem;
}

.both160
{
	margin: 10rem 0;
}

.left10
{
	margin-left: 0.625rem
}

.left20
{
	margin-left: 1.25rem
}

.left40
{
	margin-left: 2.5rem
}



/* HEADER STYLES */

#header, .header
{
	position: absolute;
	width: 100%;
	top: 0.625rem;
	bottom: auto;
	padding: 0 0.625rem;
	display: flex;
	align-items: start;
	pointer-events: none;
}

#header a, .header a
{
	pointer-events: auto;
}

.nav
{
	display: flex;
	margin-left: auto;
}

a.cta
{
	padding: 0.625rem;
	border-radius: 1.25rem;
	text-decoration: none;
	font-family: "gt-pressura-extended-regular";
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.01em;
}

.brand, .bag, .burger
{
	width: 3.75rem;
	height: 3.75rem;

	/* this centre aligns the contained content */
	display: flex; /* loosen that bad boy up */
	justify-content: center; /* horizontal center */
	align-items: center; /* vertical center */
}

.bag a
{
	color: #000000;
	text-decoration: none;
	font-family: "gt-pressura-extended-regular";
	font-size: 0.75rem;
}

.burger img
{
	height: 1.25rem;
}

.title
{
	height: 3.75rem;
	width: 100%;
	padding: 0 7.5rem;
	margin-top: 0.625rem;
	display: flex;
	align-items: center;
}

.title .heading
{
	line-height: 100%;
}

.title p.selected, .title a.unselected /* used on restaurant page */
{
	border-width: 1px;
	border-style: solid;
	border-radius: 1.5rem;
	padding: 0.625rem 0.875rem;
}

.title a.unselected /* used on restaurant page */
{
	opacity: 0.24;
	transition: opacity 0.2s;
}

.title a.unselected:hover
{
	opacity: 1;
}



/* FOOTER STYLES */

.footer
{
	width: 100%;
	display: flex;
	align-items: center;
}

#sitemap .footer /* this is the hamburger menu version */
{
	position: absolute;
	bottom: 0;
}

.language
{
	background: rgba(0,0,0,1);
	padding: 1.25rem;
	margin-left: auto;
	display: flex;
	align-items: center;
	text-wrap: nowrap;
}

.language p, .language a
{
	color: rgba(255,255,255,1);
	font-size: 0.75rem;
	text-transform: uppercase;
}

.language p
{
	opacity: 0.64;
	margin-right: 0.625rem;
}

.language a
{
	font-family: gt-pressura-extended-regular;
	text-decoration: none;
	padding: 0.25rem 0.3125rem;
	border-radius: 0.25rem;
}

.language a.selected
{
	background: rgba(255,255,255,1);
	color: #000000;
}

.language a.unselected:hover
{
	color: #ffaaff;
}

.heart
{
	height: 1rem;
	padding-left: 1.25rem; 
}

#sitemap .heart
{
	filter: brightness(0) saturate(100%) invert(100%); /* this makes it white */
}

#sitemap .heart:hover
{
	filter: invert(99%) sepia(49%) saturate(5910%) hue-rotate(256deg) brightness(104%) contrast(104%);
}

#sitemap .footer a, #sitemap .footer p
{
	color: #ffffff;
}


/* NAV MENU STYLES */

/* Container div for burger triggered site menu */

#menu
{
	position: fixed;
	width: 100%;
	height: 100%;
}


/* Actual site menu div */

#sitemap 
{
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.98);
}

#navigation
{
	position: absolute;
	top: 50%;
	width: 100%;
	transform: translateY(-50%);
	display: flex;
}

#navigation a
{
	text-decoration: none;
}

.parents, .buttons
{
	width: 25%;
}

.children
{
	background: rgba(255,255,238,1.0);
}

.parents hr
{
	border-top: solid 1px rgba(255,255,238,1.0);
}

.parents a, .children a
{
	height: 5rem;
	width: 100%;
	display: block;
	align-content: center;
	transition: 0.2s;
}

.children a:hover
{
	opacity: 0.64;
}

.parents a
{
	color: #ffffee;
	font-size: 1.5rem;
	text-transform: uppercase;
	padding: 0 1.25rem;
}

.parents a:hover
{
	color: #000000;
	background: rgba(255,170,255,1.0);
}

.parents a.selected
{
	color: #000000;
	background: rgba(255,255,238,1.0);
}

.children a
{
	color: #000000;
	font-size: 2rem;
}

half
{
	width: 50%;
	height: 100%;
	padding: 0 2.5rem;
}

half:last-child
{
	text-align: right;
	background: rgba(153,102,68,1)
}

half:last-child a, half:last-child p
{
	color: #ffffee;
}

half p
{
	display: block;
	height: 5rem;
	width: 100%;
	align-content: end;
	padding-bottom: 1.25rem;

	font-family: "gt-pressura-extended-medium";
	font-size: 0.875rem;
	text-transform: uppercase;
}

half:last-child hr
{
	border-top: solid 1px rgba(255,255,238,1.0);
}

.buttons div
{
	display: flex;
	width: 100%;
	padding: 0 1.25rem;
	height: 5rem;
	align-items: center;
}

.buttons div:nth-child(even)
{
	margin-left: auto;
}

.buttons a
{
	display: flex;
	font-family: "gt-pressura-extended-light-italic";
	color: #ffffee;
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.01em;

	border-radius: 50%; /* this radius size creates ellipse shape */
	border: 1px solid #ffffee;
	height: 3.75rem;
	width: 15rem;

	align-items: center;
	justify-content: center;
}

.buttons a:hover
{
	color: #ffaaff;
	border: 1px dashed #ffaaff;
}



/* HOME PAGE SPECIFIC STYLES */

.slide
{
	position: relative;
	width: 100%;
	height: 100%;
	scroll-snap-align: start;
}

.slide p
{
	width: 100%;
}

#effects .blob
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);

	/* define shape */
	border-radius: 40% 60% 60% 40% / 70% 30% 70% 30%;
	width: 72%;
	height: 72%;
	background: #ffaaff;
	background-image: linear-gradient(45deg, #ffaaff 0%, #ffaaff 100%);

	/* define animation */
	animation: blobby 4s linear infinite alternate;
}

#effects .blur
{
	position: absolute;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(4rem);
	pointer-events: none;
}

a.bottiglieria, a.matrimoni, a.ristoranti
{
	transition: 0.2s;
}

a.bottiglieria:after
{
	content:"Bottle Shop";
}

a.bottiglieria:hover:after
{
	content:"Bottiglieria";
}

a.matrimoni:after
{
	content:"Weddings";
}

a.matrimoni:hover:after
{
	content:"Matrimoni";
}

a.ristoranti:after
{
	content:"Restaurants";
}

a.ristoranti:hover:after
{
	content:"Ristoranti";
}

.floaties, .clouds, .juxtaposer
{
	position: absolute;
	overflow: hidden;
	width: 100%;
	height: 100%;
	scrollbar-width: none; /* firefox */
}

.floaties
{
	display: flex;
	align-items: center;

	animation: fade 36s linear infinite forwards;
	opacity: 0;
}

.floaties img:not(:first-child)
{
	margin-left: 5rem;
}

.wide /* first then every fourth image */
{
	width: 22.5rem;
	height: 15rem;
}

.narrow /* third, then every third image */
{
	width: 25rem;
	height: 37.5rem;
}

.small /* second, then every fourth image */
{
	width: 15rem;
	height: 22.5rem;
}

.low
{
	transform: translateY(50%);	
}

.high
{
	transform: translateY(-50%);
}

.folder2
{
	animation-delay:4s;
}

.folder3
{
	animation-delay:8s;
}

.folder4
{
	animation-delay:12s;
}

.folder5
{
	animation-delay:16s;
}

.folder6
{
	animation-delay:20s;
}

.folder7
{
	animation-delay:24s;
}

.folder8
{
	animation-delay:28s;
}

.folder9
{
	animation-delay:32s;
}

.clouds img
{
	position: absolute;
}

.cloud_left, .cloud_right
{
	width: 100%;
}

.balloon
{
	height: 100%;
}

.cloud_left img
{
	/* pre animation settings */
	/* top: 50%; */
	/* left: 5rem; */
	/* transform: translate(-50%,-50%); */

	width: 5rem;
	top: 50%;
	transform: translateY(-50%);

	animation-name: marquee-rtl;
	animation-timing-function: linear;
	animation-duration: 80s;
	animation-iteration-count: infinite;
}

.cloud_right img
{
	/* pre animation settings */
	/* right: 5rem; */

	width: 6.25rem;
	bottom: 10rem;

	animation-name: marquee-ltr;
	animation-timing-function: linear;
	animation-duration: 60s;
	animation-iteration-count: infinite;
}

.balloon img
{
	/* pre animation settings */
	/* top: 5rem; */

	height: 3.75rem;
	left: 25%;
	transform: translateX(-50%);

	animation-name: marquee-up;
	animation-timing-function: linear;
	animation-duration: 40s;
	animation-iteration-count: infinite;
}

.feature
{
	position: absolute;
	height: 30rem;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.box
{
	position: absolute;
	top: 50%;
	transform: translate(-50%,-50%);
}

#second .box
{
	width: 20rem;
	height: 30rem;
	left: 75%;
}


#third .box
{
	width: 20rem;
	height: 30rem;
	left: 75%;
	background: rgba(255,255,255,1.0);

	display: flex;
	flex-direction: column;
	justify-content: space-between;

	padding: 0.625rem;
}

.spread
{
	position: absolute;
	width: 100%;
	height: 100%;
}

.spread img
{
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

*[class^="snap_"]
{
	position: absolute;
}

.snap_center
{
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.snap_right
{
	right: 0;
	left: auto;
}

.snap_center_right
{
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}

.snap_left
{
	left: 0;
	right: auto;
}

.snap_center_left
{
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}

.snap_bottom
{
	bottom: 0;
}

.snap_bottom_left
{
	left: 0;
	bottom: 0;
}

.snap_bottom_right
{
	right: 0;
	bottom: 0;
}

.divider
{
	position: absolute;
	height: 20rem;
	width: 1px;
	background: rgba(51,34,34,1.0);
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.arrow
{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 1.25rem;
	height: 1.25rem;

	-webkit-animation: blink 2s;
	-webkit-animation-iteration-count: infinite;
	-moz-animation: blink 2s;
	-moz-animation-iteration-count: infinite;
	-o-animation: blink 2s;
	-o-animation-iteration-count: infinite;
}




/* SHOP INDEX STYLES */

 *[id^="shop-notify"]
 {
	 display: none;
	 background: rgba(255,255,255,0.96);
 }

 #shiptoggle
{
	position: fixed;
	height: 3.75rem;
	top: 0.625rem;
	width: 100%;
	pointer-events: none;
}

#shiptoggle .outline
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background: rgba(255,255,255,0.72);
	border: 1px solid rgba(0,0,0,1);
	border-radius: 1.25rem;
	padding: 0.25rem;
	display: flex;
	align-items: center;
}

#shiptoggle a
{
	font-family: "gt-pressura-extended-regular";
	font-size: 0.75rem;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.125rem 0.5rem;
	border-radius: 1.25rem;
	white-space: nowrap;
	pointer-events: auto;
	cursor: pointer;
}

#shiptoggle a.selected
{
	color: rgba(255,255,255,1);
	background: rgba(0,0,0,1);
}

#shiptoggle a.unselected
{
	color: rgba(0,0,0,1);
	background: rgba(0,0,0,0);
}

.notification
{
	background: rgba(255,255,255,1);
	border: 1px solid rgba(0,0,0,1);
	padding: 0.625rem 1.25rem;
	display: flex;
	margin-top: 2.5rem;
	margin-left: auto;
	margin-right: auto;
	width: fit-content;
	box-shadow: 0.25rem 0.25rem rgba(255, 170, 255, 1);
}

.notification p
{
	font-family: "gt-pressura-extended-regular";
}

.shop
{
	width: 100%;
	padding: 0 7.5rem;
	margin-top: 5rem;
}

.categories
{
	margin-bottom: 1.25rem;
	display: flex;
}

.categories p, .categories a
{
	line-height: 100%;
	font-size: 3rem;
	text-transform: capitalize;
}

.categories a
{
	opacity: 0.16;
	text-decoration: none;
	transition: 0.2s;
}

.categories a:hover
{
	opacity: 1;
}

.filters
{
	display: flex;
	margin-bottom: 5rem;
}

.filters a
{
	font-size: 1.5rem;
	text-decoration: none;
	text-transform: uppercase;
	border: 1px solid #000000;
	border-radius: 1.25rem;
	padding: 0.3125rem 0.75rem;
	transition: 0.2s;
}

.filters a:not(:first-child)
{
	margin-left: 0.3125rem;
}

.filters a.selected
{
	background: rgba(0,0,0,1);
	color: rgba(255,255,255,1);
}

.filters a.unselected:hover
{
	background: rgba(255,170,255,1);
	color: rgba(1,1,1,1);
}

#products .row
{
	display: flex;
	align-items: start;
}

#products .row:last-child
{
	margin-bottom: 0;
}

#products .thumb
{		
	text-align: center;
}

#products .thumb img
{
	width: 100%;
	transition: 0.2s;
}

#products .thumb a
{
	text-decoration: none;
}

.badge
{
	position: absolute;
	top: 0.25rem;
	right: 0.25rem;
	height: 3.75rem;
	width: 3.75rem;
	border-radius: 50%;
	background: rgba(255,255,255,1);
	transform: rotate(45deg);
	pointer-events: none;
}

.badge p
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	font-family: "gt-pressura-extended-medium";
	font-size: 0.625rem;
	text-transform: uppercase;
}

.delivery
{
	width: 100%;
	background: rgba(0,0,0,1);
	border-top: 1px solid #ffaaff;
	border-bottom: 1px solid #ffaaff;
	padding: 0.3125rem 0;
	white-space: nowrap;
	margin-top: 5rem;
	overflow: hidden;
}

.delivery p
{
	font-family: "gt-pressura-extended-text-italic";
	color: #ffaaff;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.01em;

	animation-name: marquee-txt;
	animation-timing-function: linear;
	animation-duration: 16s;
	animation-iteration-count: infinite;
}

.compliance
{
	margin: 2.5rem 0;
}

.compliance p
{
	font-size: 0.875rem;
}



/* PRODUCT PAGE STYLES */

#product
{
	margin: 2.5rem 0 0 0;
}

#hero
{
	width: 100%;
	height: auto;
	margin-bottom: 0.625rem;
}

.click_thumb
{
	display: inline;
	width: 5rem;
	cursor: pointer;
	vertical-align: top;
}

.click_thumb:not(:last-child)
{
	margin-right: 0.625rem;
}

.description p:not(:first-child)
{
	margin-top: 1.25rem;
}

.description h2
{
	font-family: "gt-pressura-extended-medium-italic";
}


/* CART STYLES */

#cart, *[id^="cart-notify"]
{
	position: fixed;
	top: 0;
	height: 100%;
	background: rgba(255,255,238,1);
	overflow: auto;
}

*[id^="cart-notify"]
{
	display: none;
}

#cart header
{
	display: flex;
	align-items: center;
	margin-bottom: 1.25rem;
}

#cart header p, #cart header a
{
	font-size: 0.875rem;
	text-transform: uppercase;
}

#cart header p
{
	font-family: "gt-pressura-extended-medium-italic";
}

#cart header a
{
	margin-left: auto;
	font-family: "gt-pressura-extended-regular";
}

#cart item
{
	display: flex;
	align-items: start;
}

#cart item:not(:last-child)
{
	margin-bottom: 1.25rem;
}

#cart item:not(:first-of-type)
{
	padding-top: 1.25rem;

	/* custom border generated at https://webspe.net/tools/en/border */
	background-image: repeating-linear-gradient(90deg, #000000, #000000 4px, transparent 4px, transparent 12px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 1px;
}

.deets
{
	width: 100%;
	display: flex;
}

#cart footer cost
{
	display: flex;
	align-items: center; 	
}

#cart footer cost:not(:first-child)
{
	margin-top: 0.3125rem;
}

#cart footer cost:last-child
{
	margin-top: 0.625rem;
	padding-top: 0.625rem;
	/* custom border generated at https://webspe.net/tools/en/border */
	background-image: repeating-linear-gradient(90deg, #000000, #000000 4px, transparent 4px, transparent 12px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 1px;
}

#cart footer cost p:last-child
{
	margin-left: auto;
}



/* CHECKOUT STYLES */

.tip
{
	padding: 1.25rem;
	margin-bottom: 2.5rem;
	display: flex;
	align-items: center;
	opacity: 0.64;

	/* custom border generated at https://webspe.net/tools/en/border */
	background-image: repeating-linear-gradient(90deg, #000000, #000000 4px, transparent 4px, transparent 12px), repeating-linear-gradient(180deg, #000000, #000000 4px, transparent 4px, transparent 12px), repeating-linear-gradient(90deg, #000000, #000000 4px, transparent 4px, transparent 12px), repeating-linear-gradient(180deg, #000000, #000000 4px, transparent 4px, transparent 12px);
	background-position: left top, right top, left bottom, left top;
	background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
	background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%;

}

.tip:hover
{
	opacity: 1;
}

.tip img
{
	width: 3.75rem;
}

.tip p
{
	padding-left: 1.25rem;
}

.ordering
{
	border: 1px solid #000000;
	border-radius: 0.625rem;
	padding: 1.25rem;
	margin-bottom: 2.5rem;
	display: flex;
}

#order item
{
	display: flex;
	align-items: start;
	margin: 1.25rem 0;
}

#order item:not(:first-child)
{
	padding-top: 1.25rem;

	/* custom border generated at https://webspe.net/tools/en/border */
	background-image: repeating-linear-gradient(90deg, #000000, #000000 4px, transparent 4px, transparent 12px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 1px;
}

#order item subtotal
{
	margin-left: auto;
}

#delivery-options, #pickup-options
{
	border: 1px solid rgba(255, 170,255,1);
	border-radius: 0.625rem;
	padding: 1.25rem;
	margin: 1.25rem 0 2.5rem 0;
}

.totals line
{
	display: flex;
	align-items: center;
	margin: 0.625rem 0;
}

.totals line:last-child
{
	margin-bottom: 0;
}

.totals line p:last-child
{
	margin-left: auto;
}

.note
{
	margin: 1.25rem 0;
	opacity: 0.48;
}

.alert
{
	color: #ff5544;
	margin-top: 0.3125rem;
}

.stripe
{
	font-size: 0.75rem;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	line-height: 100%;
	display: inline;
	vertical-align: middle;
}

.green
{
	color: #22bb66;
}

.red
{
	color: #ff5544;
}



/* PAYMENT STYLES */

#purchase p
{
	margin: 0;
}

#purchase line
{
	display: flex;
	align-items: start;
}

#purchase line:first-child
{
	margin-top: 0.625rem;
}

#purchase line p:last-child
{
	margin-left: auto;
}



/* RESTAURANT STYLES */

.head
{
	height: 6.25rem;
	margin: 0 auto;
}

hr.copper
{
	border-color: rgba(153,102,68,1);	
}

.links_33_34_33, .outro_33_34_33
{
	display: flex;
	align-items: center;
}

.links_33_34_33 a
{
	text-decoration: none;
}

.links_33_34_33 div, .outro_33_34_33 div
{
	width: 100%;
	text-align: center;
}

.links_33_34_33 div img
{
	margin: 0 auto;
}

.links_33_34_33 div p
{
	margin-top: 0.625rem;
	text-transform: uppercase;
	font-size: 0.875rem;
}

.links_33_34_33 div:not(:first-child)
{
	/* custom border generated at https://webspe.net/tools/en/border */
	background-image: repeating-linear-gradient(180deg, #996644, #996644 4px, transparent 4px, transparent 12px);
	background-position: left top;
	background-repeat: repeat-y;
	background-size: 1px 100%;
}

.links_33_34_33 div:nth-child(odd)
{
	width: 33%;
}

.links_33_34_33 div:nth-child(even)
{
	width: 34%;
}

.col_62
{
	width: 62%;
}

.col_32
{
	width: 32%;
}

.open_hours, .hours
{
	display: flex;
}

.open_hours
{
	margin: 1.25rem 0;
	font-size: 0.875rem;
	text-transform: uppercase;
	font-family: "gt-pressura-extended-medium";
}

.hours:not(:first-child)
{
	margin-top: 0.3125rem;
}

.open_hours p, .hours p
{
	width: 50%;
	text-wrap: nowrap;
}

.open_hours p:last-child, .hours p:last-child
{
	text-align: right;
}

.happenings
{
	padding: 1.25rem;
	/* border: 1px dotted rgba(153,102,68,1); */
	margin-top: 2.5rem;

	/* custom border generated at https://webspe.net/tools/en/border */
	background-image: repeating-linear-gradient(90deg, #996644, #996644 4px, transparent 4px, transparent 12px), repeating-linear-gradient(180deg, #996644, #996644 4px, transparent 4px, transparent 12px), repeating-linear-gradient(90deg, #996644, #996644 4px, transparent 4px, transparent 12px), repeating-linear-gradient(180deg, #996644, #996644 4px, transparent 4px, transparent 12px);
	background-position: left 8px top, right top, left bottom, left top;
	background-repeat: repeat-x, repeat-y, repeat-x, repeat-y;
	background-size: calc(100% * 12) 1px, 1px 100%, 100% 1px, 1px 100%;
}

.happenings div:not(:first-child)
{
	padding-top: 1.25rem;

	background-image: repeating-linear-gradient(90deg, #996644, #996644 4px, transparent 4px, transparent 12px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 1px;
}

.happenings div:not(:last-child)
{
	margin-bottom: 1.25rem;
}

.menu_divider
{
	padding: 5rem 0;
	background-image: repeating-linear-gradient(90deg, #996644, #996644 4px, transparent 4px, transparent 12px);
	background-position: left center;
	background-repeat: repeat-x;
	background-size: 100% 1px;
}

.menu_items
{
	position: relative;
}

.menu_items:not(:first-child)
{
	margin-top: 5rem;
}

.menu_block
{
	width: 100%;
	padding: 0 15rem;
}

.menu_items img
{
	width: 12.5rem;
	top: 0;
}

.space
{
	display: flex;
	align-items: center;
}

.space:not(:first-child)
{
	margin-top: 5rem;
}

.space:nth-child(even)
{
	flex-direction: row-reverse;
}

.space:nth-child(odd) div.w47_left
{
	padding-left: 7.5rem;
}

.space:nth-child(even) div.w47_left
{
	padding-right: 7.5rem;
}

.w47_left, .w47_right
{
	width: 47%;
}

.gap
{
	width: 6%
}

.outro_33_34_33 div p
{
	font-family: "gt-pressura-extended-light-italic";
	text-transform: uppercase;
	font-size: 1.125rem;
}

.outro_33_34_33 div:nth-child(1)
{
	width: 33%;
	padding: 0 2.5rem 0 5rem;
}

.outro_33_34_33 div:nth-child(2)
{
	width: 34%;
	padding: 0 2.5rem;
}

.outro_33_34_33 div:nth-child(3)
{
	width: 33%;
	padding: 0 5rem 0 2.5rem;
}

.venues
{
	width: 100%;
	background: rgba(255,255,238,1);
	padding-bottom: 5rem;
	margin: 5rem 0;
}

.zoncello_medium
{
	font-family: "bugrino-medium";
}

.zoncello_heavy
{
	font-family: "bugrino-heavy";
}



/* WEDDINGS PAGE STYLES */

.absolute
{
	position: absolute;
}

.package
{
	width: 100%;
	padding: 0 20rem;
}

.package_titles
{
	display: flex;
	align-items: center;
	margin-bottom: 1.25rem;
}

.package_titles div
{
	flex: 1;
}

.package_titles div:not(:first-child)
{
	margin-left: 0.3125rem;
}

.package_titles a
{
	font-family: "gt-pressura-extended-medium";
	font-size: 0.875rem;
	text-transform: uppercase;
	text-decoration: none;
	padding: 0.3125rem 0.625rem;
	border-radius: 1.25rem;
	white-space: nowrap;
	pointer-events: auto;
	cursor: pointer;
}

.package_titles a.selected
{
	color: rgba(255,255,255,1);
	background: rgba(0,0,0,1);
}

.package_titles a.unselected
{
	color: rgba(0,0,0,1);
	border: 1px solid rgba(0,0,0,1);
	opacity: 0.24;
}

.capslink
{
	font-size: 0.75rem;
	font-family: "gt-pressura-extended-regular";
	color: #000000;
	letter-spacing: 0.01rem;
	text-transform: uppercase;
}

.lookbook
{
	width: 100%;
	height: 75%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

*[class^="packages_"]
{
	position: relative;
	width: 36%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

*[class^="packages_"] div
{
	display: flex;
	flex-direction: column;
}

*[class^="packages_"] div:last-child
{
	margin-top: auto;
	flex-direction: column-reverse;
}

*[class^="packages_"] div p:last-child
{
	margin: 0.625rem 0;
}

.packages_right div
{
	text-align: right;
	right: 0;
}

.dancing
{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) rotate(-8deg);

	animation-name: dance;
	animation-duration: 0.6s;
	animation-direction: alternate;
	animation-timing-function: steps(3,jump-none);
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
}

*[class^="wedding_march"]
{
	position: absolute;
	width: 100%;
	height: 100%;
	text-align: center;
	z-index: 3;
}

*[class^="wedding_march"] p
{
	position: absolute;
	animation-timing-function: steps(20,jump-none);
	animation-direction: alternate;
	animation-fill-mode: both;
}

.wedding_march p
{
	animation-delay: 1s;
	animation-duration: 1s;
}

.wedding_march_slow p
{
	animation-delay: 2s;
	animation-duration: 2s;
}

*[class^="wedding_march"] p.bride, *[class^="wedding_march"] p.groom
{
	animation-iteration-count: 1;
}

*[class^="wedding_march"] p.bride_f, *[class^="wedding_march"] p.groom_f
{
	animation-iteration-count: infinite;
}

*[class^="wedding_march"] p.bride, *[class^="wedding_march"] p.bride_f
{
	animation-name: slide-from-top;
}

*[class^="wedding_march"] p.groom, *[class^="wedding_march"] p.groom_f
{
	animation-name: slide-from-bottom;
}

@keyframes dance
{
	0%
	{
		transform: translate(-50%,-50%) rotate(-8deg);
	}
	50%
	{
		transform: translate(-50%,-50%) rotate(0deg);
	}
	100%
	{
		transform: translate(-50%,-50%) rotate(8deg);
	}
}

@keyframes slide-from-top
{
	0%
	{
		opacity: 0;
		bottom: 100%;
	}
	100%
	{
		opacity: 1;
		bottom: 50%;
	}
}

@keyframes slide-from-bottom
{
		0%
		{
			opacity: 0;
			top: 100%;
		}
		100%
		{
			opacity: 1;
			top: 50%;
		}
}




/* CAROUSEL TRANSITION STYLES */

*[id^="canvas"] img
{
	position: static;
}

*[id^="carousel"] img
{
	position: absolute;
}

.fill
{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

*[id^="carousel"] img:nth-of-type(1)
{
	animation-name: fade-out;
	z-index: 2; /* inner nested div */
}

*[id^="carousel"] img:nth-of-type(2)
{
	z-index: 1; /* inner nested div */
}

*[id^="carousel"] img:nth-of-type(n+3)
{
	display: none;
}

*[id^="carousel"] img:nth-of-type(1)
{
	animation-delay: 2s;
	animation-duration: 1s;
}


/* FAQ STYLES */

.question
{
	font-family: "gt-pressura-extended-medium";
	margin-bottom: 1.25rem;
}

hr.faq
{
	border-top: dashed 1px rgba(0,0,0,1);
	margin: 1.25rem 0;
}



/* TERMS STYLES */
/* DIALOG BOX STYLES */

#terms, *[id^="dialog"]
{
	position: absolute;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.92);
	overflow-y: scroll;
}

*[id^="dialog"]
{
 display: none;
}
 
.pane
{
	position: absolute;
	padding: 2.5rem;
	background: rgba(255,255,255,0.92);
	border: 1px solid #000000;
}

*[id^="dialog"] .pane
{
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
 
#terms .pane
{
	width: 97%;
	top: 1.25rem;
	left: 50%;
	transform: translateX(-50%);
}
 
.promo
{
	display: flex;
}

.promo img
{
	width: 12.5rem;
}

.promo div
{
	margin-left: 2.5rem;
	min-width: 27.5rem;
}

.pane_close
{
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	top: -1px;
	right: -1px;
	background: rgba(255,255,238,1);
	border: 1px solid #000000;

	display: flex;
	align-items: center;
	justify-content: center;
}