:root
{
	font-size:16px;
	line-height:1.5;
	
	--grid-margin:29;
	--grid-margin-col:29px;
	--grid-margin-row:29px;
	
	--gateway-size:126px;

	--light:rgb(247,243,237);/* #f7f3ed; */
	--dark:rgb(40,37,38); /* #282526; */
	--orange:rgb(221,90,19);/* #DD5A12; */
	
	/* map dark modes */
	--page-color-1:247,243,237; /* light */
	--page-color-1-text:40,37,38; /* dark */
	--page-color-1-hover:221,90,19; /* orange */
	
	
	--edit-bg:rgba(0,0,255,.2);
	--edit:#0000ff;
	--edit-blur:blur(3px);
	--delete:#ff0000;
	--media:rgba(71,74,74,.03);
	--empty:rgba(71,74,74,.03);
		
	--curve:cubic-bezier(.23,.34,.18,1);
	/* --slide-curve:cubic-bezier(.47,-0.01,.4,1); */
	--slide-speed:.45s;
	--slide-curve:ease;
	
	--liquify-fade-in:opacity .75s ease 0s;
	--liquify-fade-out:color 1.0s ease 0s;
	
	--block-text-padding:9%;
	
	--shop-header-aspect:.9;
	
	--swiper-theme-color:var(--orange);
	--swiper-pagination-bullet-width:20px;
	--swiper-pagination-bullet-height:4px;
	--swiper-pagination-bullet-border-radius:4px;
	--swiper-pagination-bottom:10px;
	--swiper-pagination-bullet-inactive-color:var(--light);
	--swiper-pagination-bullet-inactive-opacity:1;
}

/* debug styles */
.debug
{
	position:absolute;
	color:white;
	background-color:rgba(0,0,0,.6);
}
.page canvas
{
	position:fixed;
	left:100px;
	top:100px;
	border:1px dashed magenta;
}

/* agecheck / cookie consent */

.agecheck
{
	background-color:var(--light);
	z-index:2000;
	transition: opacity .4s ease 0s;
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
}
.agecheck.remove
{
	opacity:0;
}
.agecheck h3
{
	margin:1rem 0;
	line-height:.85;
}
.agecheck form label
{
	margin:9px;
}
.agecheck button
{
	margin:52px auto;
	width:auto;
	border:none;
}
.agecheck button:focus
{
	color:var(--dark);
}

#cookie-consent
{
	position:fixed;
	width:420px;
	max-width:calc(100% - 60px);
	top:100%;
	left:30px;
	padding:12px;

	display:flex;
	align-items: center;

	background-color:var(--light);
	border-radius: 4px;

	transition:transform var(--slide-speed) var(--slide-curve) 0s;

	z-index:2001;
}
#cookie-consent.active
{
	transform:translateY(calc(-100% - 30px));
}
#cookie-consent button
{
	margin-left:12px;
	width:auto;
	border:none;
}

/* background animated arrows */

.rain
{
	position:fixed;
	left:50%;
	top:0;
	transition:transform 30s linear 0s;
	mix-blend-mode: difference;
	z-index:1;
}
.page-info .rain
{
	display:none;
}

.item,
.block.media,
.block.embed,
.socials .display a,
h1,h2,h3,
.heading
{
	z-index:10; /* above arrows */
}

html
{
	height:100%;
}
body
{
	margin:0;
	padding:0;
	height:100%;
	
	font-family:Meister,Montserrat,sans-serif;
	font-weight:normal;
	font-style:normal;
	line-height:1.2;

	/* image-rendering:-webkit-optimize-contrast; */
	-webkit-text-size-adjust:100%;

	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	
	background-color:var(--light);
	color:var(--dark);
	
	transition:background-color 1.5s linear 0s;
	
	
	overflow-x:hidden;
}
body[data-agecheck]
{
	overflow:hidden;
}
body *
{
	box-sizing: border-box;
  -moz-box-sizing: border-box;
}

.hidden
{
	display:none !important;
}
.no-pointer-events
{
	pointer-events:none;
}
.pointer-events
{
	pointer-events:all;
}
.no-scrollbar
{
	scrollbar-width: none; /* FF */
	-ms-overflow-style: none; /* Edge */
}
.no-scrollbar::-webkit-scrollbar
{
	display: none;
}	

.clear:after
{
	content:'';
	display:table;
	clear:both;
}
.full-width
{
	width:100% !important;
}
a
{
	color:var(--dark);
	/* text-decoration:none; */
}
a.button
{
	color:inherit;
}
a.edit,
a.button
{
	display:block;
	position:relative;
}
a.button.inline
{
	margin:0 4px;
	display:inline-block;
	vertical-align:baseline;
}
a.button .fill
{
	transition:fill .3s ease 0s;
}
a.button:not(.transparent):not(.active) .fill,
a.edit:not(.active) .fill
{
  fill:var(--light);
}

a.edit .fill
{
  fill:var(--light) !important;
}


a:not(.button):hover,
a:not(.button).active,
button.submit:hover
{
	color:var(--dark);
}
a svg
{
	display:block;
	pointer-events:none;
}
.clickable
{
	cursor:pointer;
}
ul,
menu
{
	margin:0;
	padding:0;
	list-style:none;
}
.uc
{
	text-transform:uppercase;
}
.uc-first
{
  text-transform:capitalize;
}

*[data-placeholder]:empty:after
{
	content:attr(data-placeholder);
	opacity:.3;
}

.bg-dark
{
	background-color:var(--dark);
}
.bg-light
{
	background-color:var(--light);
}
.bg-orange
{
	background-color:var(--orange);
}
.orange
{
	color:var(--orange);
}

.rounded
{
	border-radius:21px;
}

.flex-break
{
	flex-basis:100%;
	height:0;
}

.ui-sortable-helper
{
	background-color:var(--light);
}


/* menus */

#page-header
{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	z-index:1100;
	
	/* background-color:rgba(250,250,250,.5); */
	
	pointer-events:none;
}
#page-header .dimm
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-color:rgba(247,243,237,.9);
	opacity:0;
	
	transition:opacity .3s var(--slide-curve) 0s;
}
#page-header .menu-bg
{
	display:none;
}
#page-header .menu
{
	position:absolute;
	top:38px;
	display:flex;
	justify-content: center;
	flex-wrap:wrap;
	align-content: center;
	
	/* transition:opacity var(--slide-speed) ease 0s; */
	
	pointer-events:all;
}
#page-header .menu a,
a.submit,
button.submit,
div.button
{
	position:relative;
	height:42px;
	padding:12px;
	font-size:18px;
	line-height:18px;
	text-align:center;
	color:var(--light);
	
	white-space:nowrap;
	cursor:pointer;
	
	text-decoration:none;
}
#page-header .menu.socials a
{
	padding:10px 8px;
}
#page-header .menu.socials a:hover
{
	color:var(--dark);
}
@-moz-document url-prefix() /* firefox lineheight adjustment */
{ 
	#page-header .menu a
	{
		line-height:16px;
	}
}

#page-header .menu a[data-selected]::after
{
	content:attr(data-selected);
	position:absolute;
	top:-10px;
	right:0;
	width:20px;
	height:20px;
	border-radius:50%;

	font-size:16px;
	line-height:20px;
	font-weight:normal;
	
	color:var(--light);
	background-color:var(--dark);
}

.menu.home,
.menu.content,
.menu.select
{
	left:32px;
}
.menu.socials
{
	right:32px;
	height:42px;
	width:auto;
	padding:0 8px;
	transition:right .2s var(--slide-curve) 0s;
	z-index:1;
}
#page-header.has-cart .menu.socials
{
	right:calc(32px + 42px);
}

#page-header .menu.home a:hover,
#page-header .menu.shop a:hover
{
	color:var(--dark);
}
#page-header .menu.content a
{
	background-color:var(--dark);
}
#page-header .menu.content a:hover
{
	color:var(--orange) !important;
}
body:not(.page-shop) #page-header .menu.content a.shop,
body.page-shop a.shop + svg
{
	display:none;
}

#page-header .menu.select a.all
{
	margin-left:10px;
	color:var(--dark);
	
}
#page-header .menu.options
{
	width:60%;
	left:50%;
	top:250px;
	margin-left:-30%;
	color:var(--dark);
	pointer-events:none;
}
#page-header .menu.options a
{
	pointer-events: all;
}

#page-header.select .menu.home,
#page-header.select .menu.socials,
#page-header.select .menu.shop,
#page-header:not(.cities) .menu.cities,
#page-header:not(.types) .menu.types
{
	display:none;
}
#page-header .menu.options a
{
	margin:5px 6px;
	background-color:var(--light);
	color:var(--dark);
	font-weight:bold;
}
#page-header .menu.select a:hover,
#page-header .menu.select a.active,
#page-header .menu.options a:not(.off):hover,
#page-header .menu.options a.active
{
	background-color:var(--orange);
	color:var(--light);
}
#page-header .menu.options a.live::after
{
	content:'';
	position:absolute;
	right:3px;
	top:3px;
	width:5px;
	height:5px;
	border-radius: 50%;
	background-color:var(--orange);
}
#page-header .menu.options a:hover::after,
#page-header .menu.options a.active::after
{
	background-color:var(--light);
}

#page-header .menu.tags a::before
{
	content:'#';
}

#page-header .admin
{
	position:absolute;
	top:47px;
	right:230px;
	pointer-events:all;
	display:flex;
	align-items: center;
}
#page-header.has-cart .admin
{
	right:calc(230px + 42px);
}
#page-header .admin .online
{
	font-size:12px;
	line-height:24px;
	color:#8F8C89;
}
#page-header .admin .online.is-online
{
	color:var(--edit);
}
#page-header .admin .online::before
{
	content:'';
	display:block;
	position:absolute;
	left:-10px;
	top:9px;
	width:6px;
	height:6px;
	background-color:#8F8C89;
	border-radius:50%;
}
#page-header .admin .online.is-online::before
{
	background-color:rgb(87,158,87);
}
#page-header .admin a[href="/settings"]
{
	margin:0 8px;
}


#page-header .menu.home,
#page-header .menu.content
{
	opacity:0;
	pointer-events:none;
}

#page-header.select .dimm,
body.page-home #page-header .menu.home,
body:not(.page-home) #page-header .menu.content
{
	opacity:1;
	pointer-events:all;
}

body.editing #page-header .menu
{
	display:none;
}

.gateway
{
	position:absolute;
	left:50%;
	margin-left:calc(var(--gateway-size) * -0.5);
	width:var(--gateway-size);
	cursor:pointer;	
	z-index:100;
}
.gateway.fixed
{
	position:fixed;
	top:-6px !important;
	margin-top:0;
	z-index:1000;
	
	pointer-events:all;
}


/* layout */

#liquify
{
	position:fixed;
	top:0;
	right:0;
	left:0;
	height:100vh;
  z-index:99;
  pointer-events:none;
  
  transition:var(--liquify-fade-in);
}
body:not(.liquified) #liquify
{
	opacity:0;
}

#pages
{

}

.page
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	min-height:100%;
	/* background-color:rgba(250,0,0,.1); */
	
	/* transition:transform 1.6s cubic-bezier(.52,0,.25,1) .3s; */
	transition:transform var(--slide-speed) var(--slide-curve) 0s;
}

.page.left
{
	/* background-color:var(--bg-outside); */

}
.page.right
{
	/* background-color:var(--bg-inside); */
}
.page.prev.left,
.page.next.left
{
	transform:translateX(-100%);
}
.page.prev.right,
.page.next.right
{
	transform:translateX(100%);
}
.page.prev,
.page.next.right,
.page.next.left
{
	position:fixed;
}
/* 
.page.prev.slide
{	
	transition:transform .9s var(--slide-curve) 0s;
}
 */
.page > main,
.agecheck > main,
.page-centered
{
	position:relative;
	margin:auto;
	max-width:1168px;
	height:100%;
}

/* socials */

.page-width
{
	width:100vw;
	height:400px;
	margin:50px 0 80px calc((100% - 100vw) / 2);
}
.socials
{
	position:relative;
	color:var(--light);
	overflow-x:auto;
	/* TODO hide scrollbars */
}
.socials .title
{
	text-align:center;
}
.socials .title a
{
	display:inline-block;
	margin:24px 0 5px 0;
	color:var(--light);
}
.socials .display
{
	position:absolute;
	left:0;
	top:90px;
	width:100%;
	height:310px;
	padding:35px 0 65px 0;
	overflow-x:auto;
	
	display:flex;
	justify-content: flex-start;
}
.socials .display a
{
	flex-shrink:0;
	display:block;
	margin:0 10px;
	height:100%;
	background-size:cover;
}



/* grid */

.grid
{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	
	align-items:flex-start;
	align-content: flex-start;
	
	padding-top:174px;
	
	
	position:relative;
	margin:auto;
	
	max-width:1168px;

	/* background-color:rgba(250,0,0,.05); */
	
	/* padding-top:var(--grid-margin-row); */
	
	transition:opacity .5s ease 0s;
}
.grid.top
{
	padding-top:0;
}
.filter-link + .grid
{
	padding-top:0;
}
.grid::after
{
  content:'';
  flex-basis:calc((100% - (2 * var(--grid-margin-col))) / 3);
}
.grid.fade
{
	opacity:0;
}
.agenda .grid h2
{
	flex-basis:100%;
}


/* grid items */

.item
{
	position:relative;
	margin-bottom:var(--grid-margin-row);
	
	flex-basis:calc((100% - (2 * var(--grid-margin-col))) / 3);
	aspect-ratio:370/320;

	border-radius:0 0 6px 6px;
	
	overflow:hidden;
	
	transition:opacity .4s ease 0s;
	
	cursor:pointer;
	
	background-color:var(--light);
	
	/* background-color:rgba(250,0,0,.1); */
}
.item.push-left
{
	margin-right:calc(var(--grid-margin-col) + ((100% - (2 * var(--grid-margin-col))) / 3));
}
.item.filler
{
	cursor:auto;
}
.item.double
{
	flex-basis:calc(((100% - (2 * var(--grid-margin-col))) / 3) * 2 + var(--grid-margin-col));
	aspect-ratio:calc(370 + 370 + var(--grid-margin)) / 320;
}
.item.dark
{
	background-color:var(--dark);
}
.item:not(.loaded)
{
	opacity:0;
}
.item.hero
{
	flex-basis:100%;
}
.item.medium
{
	aspect-ratio:370/400;
}
.item.medium.double
{
	aspect-ratio:calc(370 + 370 + var(--grid-margin)) / 400;
}
.item.half
{
	flex-basis:calc((100% - var(--grid-margin-col)) / 2);
	aspect-ratio:570/400;
}
.item.full
{
	flex-basis:100%;
	aspect-ratio:1168/400;
}
.item.feature
{
	flex-basis:100%;
	aspect-ratio:1168/400;
}
.item.tall
{
	aspect-ratio:370/570;
}
.item.tall.double
{
	aspect-ratio:calc(370 + 370 + var(--grid-margin)) / 570;
}
.item.shop
{
	aspect-ratio:370/470;
}
.shadow
{
	box-shadow: 0 2px 4px 0 rgba(40,37,38,0.31);
}


.header
{
	position:absolute;
	top:10px;
	color:var(--light);
}
[data-dark="1"]:not(.hero) .header
{
	color:var(--dark);
}
.header.left
{
	left:12px;
}
.header.right
{
	right:12px;
	text-align:right;
}


.item > .footer
{
	position:absolute;
	left:0;
	width:100%;
	bottom:0;
	height:calc((60/320) * 100%);
	padding:0 12px;
	
	text-align:center;
	line-height:1;
}
.item.dark > .footer
{
	color:var(--light);
}
.item.shop > .footer
{
	height:calc((60/470) * 100%);
}


.item > .heading
{
	position:absolute;
	width:100%;
	height:100%;
	/* height:100%; */
	/* text-align:center; */
	/* line-height:.76; */
}
.item > .media
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:calc((260/320) * 100%);
	
	background-color:rgba(0,0,0,.1);
	background-size:cover;
	background-position:50% 50%;
	
	z-index:0;
}

.item.tall > .media
{
	height:100%;
}
.item.shop > .media
{
	height:calc((410/470) * 100%);
}

/* hero item */

.item.hero
{
	background-color:var(--dark);
	aspect-ratio:1168/977;
}
.item.hero .video-loop
{
	position:absolute;
	inset:0;
}
.gateway.hero
{
	position:fixed;
	left:50%;
	transform:translateY(-50%);

	pointer-events:none;	
}

.item.hero .header
{
	top:calc(((657/977) * 100%) + 10px);
	z-index:1;
}
.item.hero .media
{
	height:auto;
	aspect-ratio:16/9;
}
.item.hero .footer
{
	position:absolute;
	left:0;
	width:100%;
	bottom:0;
	padding:0;
	height:calc((320/977) * 100%);
	background-color:var(--dark);
}
.item.hero .footer .heading
{
	padding:10px;
}


.liquified .item.hero > .footer .heading
{
	color:transparent;
	transition:var(--liquify-fade-out);
}

/* mid size items */

.item.medium > .heading
{
	position:absolute;
	top:0;
	width:100%;
	height:100%;
	padding:23px;
}
.item.medium > .media
{
	height:100%;	
}
.item.medium.double > .media
{
	width:50%;
}
.item.medium.double:not(.dark) > .header,
.item.medium.full:not(.dark) > .header
{
	color:var(--dark);
}
.item.medium.double > .header.left
{
	left:calc(50% + 13px);
}
.item.medium.double > .heading
{
	left:50%;
	width:50%;
}

.item.medium.full > .media
{
	width:calc((((100% - (2 * var(--grid-margin-col))) / 3) * 2 + var(--grid-margin-col)) / 2); /* TODO check to simplify? */
}
.item.medium.full > .heading
{
	left:auto;
	right:0;
	width:calc(100% - ((((100% - (2 * var(--grid-margin-col))) / 3) * 2 + var(--grid-margin-col)) / 2));
}
.item.medium.full > .header.left
{
	left:calc(50% + 13px);
	left:calc(((((100% - (2 * var(--grid-margin-col))) / 3) * 2 + var(--grid-margin-col)) / 2) + 13px);
}


/* large (highlighted) item */

.item.large
{
	flex-basis:100%;
	aspect-ratio:1168 / 500;
}
.item.large > .media
{
	height:100%;
	background-position:center top;
}
.item.large .heading
{
	left:50%;
	width:50%;
}


/* 
svg.icon
{
	border:1px solid var(--dark);
}
svg.icon.round
{
	border-radius:50%;
}
 */
 
/* typo */

.text-center
{
	text-align:center;
}
.flex-center
{
	display:flex;
	justify-content: center;
	align-items: center;
}

.body
{	
	font-size: 20px;
	letter-spacing: 0;
}
.body.small
{
	font-size:16px;
}
.body.large
{
	font-size:30px;
	line-height:1;
}
.body.intro
{

}

.body p:empty:before /* show empty paragraphs */
{
  content:' ';
  white-space:pre;
}

.title
{
	font-size:16px;
	font-weight:bold;
	text-transform:uppercase;
}
.city,
.tag.local
{
	font-size:14px;
	font-weight:bold;
	text-transform:uppercase;
}
.tag
{
	font-size:14px;
	font-weight:normal;
	text-transform:uppercase;
}
.note
{
	font-size:12px;
}

h1,h2,h3,
.heading
{
	position:relative;
	font-weight:bold;
	text-transform:uppercase;
	text-align:center;
	line-height:.76;
	color:var(--orange);
}
h1,
.heading.mega
{
	font-size:100px;
	letter-spacing:-7.32px;
}
h1:not(.heading.mega)
{
	margin:calc(.83em - 10px) 0;
	padding:10px 0;
}
.heading.big
{
	font-size:82px;
	letter-spacing:-6px;
}
h2,
.heading.large
{
	font-size:70px;
	letter-spacing:-5.12px;
}
h3,
.heading.mid
{
	font-size:50px;
	letter-spacing:-3.66px;
}
.heading.mini
{
	font-size:41px;
}
h4
{
	margin:45px 0 20px 0;
}



.filter-link
{
	margin:-40px 0 40px 0;
}


/* content page */

.block.text:not(.active) a[href*="instagram.com"],
.block.text:not(.active) a[href*="facebook.com"],
.block.text:not(.active) a[href*="youtube.com"],
.block.text:not(.active) a[href*="youtu.be"],
.block.text:not(.active) a[href*="twitter.com"],
.block.text:not(.active) a[href*="soundcloud.com"]
{
	position:relative;
	margin-right:22px;
	display:inline-block;
	font-size:0;
	width:0;
}
.block.text:not(.active) a[href*="youtube.com"],
.block.text:not(.active) a[href*="youtu.be"],
.block.text:not(.active) a[href*="soundcloud.com"]
{
	margin-right:27px;
}
.block.text:not(.active) a::after
{
	position:absolute;
	left:0px;
	top:-18px;
}
.block.intro.text:not(.active) a::after
{
	top:-21px;
}
.block.text:not(.active) a[href*="instagram.com"]::after
{
	content:url(media/instagram.svg);
}
.block.text:not(.active) a[href*="facebook.com"]::after
{
	content:url(media/facebook.svg);
}
.block.text:not(.active) a[href*="youtube.com"]::after,
.block.text:not(.active) a[href*="youtu.be"]::after
{
	content:url(media/youtube.svg);
}
.block.text:not(.active) a[href*="twitter.com"]::after
{
	content:url(media/twitter.svg);
}
.block.text:not(.active) a[href*="soundcloud.com"]::after
{
	content:url(media/soundcloud.svg);
}


.item-header .block.text.item-title
{
	margin:0;
	aspect-ratio:1168/645;
}
.item-header .item-title h1
{
	position:relative;
	max-width:100%;
	padding:20px;
}
/* .liquified .page:not(.editing) .item-header .item-title h1 */
.liquified .page:not(.editing) h1
{
	color:transparent;
	transition:var(--liquify-fade-out);
}
.item-header .item-title textarea
{
	margin:0;
	padding-top:20px;
	text-transform:uppercase;
}
.item-header .block.media
{
	margin-bottom:18px;
	/* margin-bottom:74px; */
}
.item-header .block.media .video-loop
{
	position:absolute;
	inset:-1px;
}
.video-loop iframe
{
	width:100%;
	height:100%;
}
.block.media.active .video-loop
{
	display:none;
}
.item-header .block.media .head
{
	position:absolute;
	top:10px;
	color:var(--light);

}
.item-header .block.media .controls.colors
{
	max-width:100px;
}
.item-header .block.media .color:last-child
{
	display:none;
}
.item-header .block.text.intro
{
	justify-content: flex-start;
}
.item-header .block.text.intro .text-scroll
{
	max-width:984px;
}
.item-header .gateway
{
	display:inline-block;
	margin-top:5px;
}
.page.editing .item-header .gateway
{
	/* z-index:0; */
	pointer-events:none;
	cursor:auto;
}
.page.editing .gateway.fixed,
.editing #liquify
{
	display:none;
}

.page:not(.editing) .intro [data-placeholder]:empty::after
{
	content:'';
}

.item-header .editable.active .controls.layout,
.item-header .button.delete
{
	display:none;
}

.item-header .swiper 
{
	display:none;
	position:absolute;
	width:100%;
	height:100%;
	z-index:0;
}
.item-header .swiper .media
{
	aspect-ratio: 16/9;
	background-position:50%;
}
.item-header .block.has-swiper:not(.active) .swiper
{
	display:block;
}
.item-header .block.swiper-active:not(.active)
{
	background-image:none !important;
}
.item-header [data-dark="1"] .swiper-pagination-bullet:not(.swiper-pagination-bullet-active)
{
	background-color:var(--dark);
}
.item-header .product-images
{
	flex-basis:100%;
	margin:0;
}



/* event data */

.item-header .date
{
	margin:-80px 0 60px 0;
}
.item-header .info
{
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.item-header .info p
{
	margin-top:0;
}
.item-header .info > p:last-child
{
	text-align:right;
}
.grid.related
{
	margin-bottom:60px;
	padding-top:0;
}
.item-header .tickets
{
	margin-bottom:80px;
	flex-wrap:wrap;
}
.item-header .tickets form
{
	max-height:270px;
	overflow:hidden;
	transition:max-height .2s var(--slide-curve) 0s;
}
.item-header .tickets form:not(.expanded)
{
	max-height:0;
}


/* shopify */

.page-shop .item-header
{
	display:flex;
	flex-wrap:wrap;
	margin-top:174px;
}
.page-shop .item-header .tag .price:not(.soldout)
{
	display:none;
}
.page-shop .item-header > .block.media
{
	flex-basis:50%;
	margin-bottom: 60px;
	background-position:50%;
	aspect-ratio:var(--shop-header-aspect);
}
.page-shop .item-header .swiper .media,
.product-images .block[data-aspect="3:2"]
{
	aspect-ratio:var(--shop-header-aspect);
}
.page-shop .item-header > .info
{
	flex-basis:50%;
}

.price
{
	display:inline-block;
	padding:0 10px;
	line-height:32px;
	color:var(--light);
	font-weight:bold;
}
.price.soldout
{
	background-color:var(--dark);
}
.price::before
{
	content:attr(data-from);
	position:absolute;
	left:-5px;
	transform:translateX(-100%);
	font-weight:normal;
	text-decoration: line-through;
	white-space:nowrap;
}
[data-dark="1"] .price::before
{
	color:var(--dark);
}
.menu.shop
{
	right:32px;
}
#page-header:not(.has-cart) .menu.shop
{
	display:none;
}
.menu.shop svg
{
	width:18px;
	height:18px;
}

.shopify-buy-frame--toggle /* TODO move .shopify styles to buybutton.css? */
{
	display:none !important;
}
.shopify-buy__product
{
	width:100%;
	margin-bottom:60px;
	display:flex;
	justify-content: flex-end;
	align-content: flex-start;
	flex-wrap:wrap;
}
.shopify-buy__product-description
{
	font-size:24px;
}

.shopify-buy__product .product,
.shopify-buy__product .buy
{
	/* flex-basis:60%; */
	flex-basis:calc(100% - 20px);
}
.shopify-buy__product .buy
{
	margin-top:36px;
	text-align:right;
}
.shopify-buy__option-select__label 
{
	display:none;
	margin-bottom:7px;
	font-size:14px;
}
.shopify-buy__option-select-wrapper
{
	position:relative;
	margin-top:10px;
}
.shopify-buy__option-select__select
{
	border-radius:0;
}
.shopify-buy__select-icon
{
  display:block;
  position:absolute;
  right:10px;
  top:50%;
  margin-top:-6px;
  width:12px;
  height:12px;

  fill:var(--dark);
  pointer-events:none;
}
.shopify-buy__product__compare-price
{
  text-decoration:line-through;
  padding-left:5px;
  opacity:.5;
}
[data-element="product.price"]
{
	/* font-weight:bold; */
}
[data-element="product.button"]
{
	margin-top:10px;
	border:none;
}
[data-element="product.button"].shopify-buy__btn-disabled
{
	border:1px solid var(--dark);
	background-color:transparent;
	color:var(--dark);
}
[data-element="cart.button"]
{
	border:none;
}
.swiper-button-prev
{
	background:transparent url(../media/arrow-nav-left.svg) no-repeat 0 50%;
}
.swiper-button-next
{
	background:transparent url(../media/arrow-nav-right.svg) no-repeat 100% 50%;
}
.swiper-button-prev::after,
.swiper-button-next::after
{
	content:'';
}


/* about / info page */

.page-about .block.text h2
{
	margin-bottom:0;
}

.page-about .item-header .block.text.intro,
.page-info .item-header .block.text.intro,
.page-history .item-header .block.text.intro
{
	justify-content: center;
}

.page-about .block.text.intro,
.page-info .block.text.intro,
.page-history .block.text.intro
{
	text-align:center;
}
.page-about:not(.editing) .item-header .media,
.page-info .item-header .media
{
	display:none;
}
.page-info .block[data-layout="1"].text
{
	text-align:left;
}


.block[data-layout="1"].text .text-scroll
{
	/* padding:calc(var(--block-text-padding) / 2) var(--block-text-padding); */
	max-width:800px;
}
.block[data-layout="1"]:not(.media) .controls.colors,
.block.media:not(.header-media) .controls.colors,
.block.intro .controls.colors
{
	display:none;
}

body.page-history
{
	background-color:var(--dark);
	color:var(--light);
}
body.page-history a:not(.edit),
body.page-history a:not(.edit):hover
{
	color:var(--light);
}
body.page-history #page-header .menu.content a
{
	background-color:var(--light);
	color:var(--dark);
}
body.page-history .modal
{
	color:var(--light) !important;
}
body.page-history .item .footer
{
	color:var(--dark);
}

.page-history .block.text.intro
{
	position:absolute;
	transform:translateY(-120px);
	width:100%;
	z-index:100;
}
.page-history .block.text.intro h4
{
	font-size:30px;
	text-transform:uppercase;
	font-weight:normal;
	margin:6px 0;
}
.page-history .block.text.intro h4 + p
{
	margin-top:0;
}

/* signup form */
	
.item.signup
{
	aspect-ratio:auto;
	margin-bottom:100px;
	background-color:transparent;
}
.signup-form
{
	max-width:550px;
	text-align:left;
	min-height:39px;
}
.signup-form h3
{
	margin:36px auto;
}
.signup-form > svg
{
	margin-left:calc(50% - 25px);
}
.signup-form .section.submit
{
	display:flex;
	align-items:center;
}
.signup-form .section.submit .label,
.signup-form .section.submit.select input[type="button"]
{
	display:none;
}
.signup-form .section.submit.select
{
	flex-wrap:wrap;
}
.signup-form .section.submit.select .label
{
	display:block;
	flex-basis:100%;
}
.signup-form .check.group
{
	margin:0;
}
.signup-form .terms
{
	flex-basis:calc(100% - 135px);
}
.signup-form a.submit
{
	margin:0 16px 0 0;
}

.block.active .signup-form,
.block:not(.active) .signup-form + .embedded
{
	display:none;
}

.page-history input,
.page-history .check

{
	color:var(--light) !important;
	border-color:var(--light) !important;
}
.page-history svg.icon.checkbox path
/* .page-history svg.icon.checkbox.checked path:not(.check) */
{
	fill:var(--light);
}

/* footer */

.page-footer
{
	margin:8px 0;
}
.page-footer img
{
	vertical-align:middle;
}
.page-footer a
{
	display:inline-block;
	margin-left:8px;
	text-decoration:none;
}
.page-footer a:not(.logo):after
{
	content:'.'
}
.page-footer a.logo
{
	margin-left:4px;
}

.page-footer .legal
{
	width:100vw;
	margin:32px 0 -8px calc((100vw - 1168px) / -2);
	
	padding:8px;
	display:flex;
	justify-content: center;	
	background-color:white;
}
.page-footer .legal img
{
	width:520px;
	max-width:100%;
}

@media (max-width:1188px)
{
	.page
	{
		padding:0 10px;
	}
}

@media (max-width:1168px)
{
	/* responsive type */
	:root
	{
		--grid-margin-col:calc(29/1168 * 100vw);
		--grid-margin-row:calc(29/1168 * 100vw);
	}
	

	h1,
	.heading.mega
	{
		font-size:calc(100/1168 * 100vw);
		letter-spacing:calc(-7.32/1168 * 100vw);
	}
	.heading.big
	{
		font-size:calc(82/1168 * 100vw);
		letter-spacing:calc(-6/1168 * 100vw);
	}
	h2,
	.heading.large
	{
		font-size:calc(70/1168 * 100vw);
		letter-spacing:calc(-5.12/1168 * 100vw);
	}
	h3,
	.heading.mid
	{
		font-size:calc(50/1168 * 100vw);
		letter-spacing:calc(-3.66/1168 * 100vw);
	}
	
	.body.large
	{
		font-size:calc(30/1168 * 100vw);
	}
	.shopify-buy__product-description
	{
		font-size:calc(24/1168 * 100vw);
	}	

	.page-footer .legal	
	{
		margin-left:-10px;
	}
	
}

@media (max-width:850px)
{
	/* 2 column layout */
	
	.item,
	.filler:nth-child(3),
	.filler:nth-child(5)
	{
		flex-basis: calc((100% - var(--grid-margin-col)) / 2);
	}

/* 
	.item.medium.double
	{
  	flex-basis:100%;
  }
 */
	.item-header .date
	{
		margin: 0px 0 20px 0;
	}
	
	.filler.double.tall:nth-child(3)
	{
		aspect-ratio: 370/570;
	}
	.filler:nth-child(5)
	{
		aspect-ratio: 370/320;
	}
	.filler:nth-child(6)
	{
		display:none;
	}
	
	h3,
	.heading.mid
	{
		font-size:calc(50/850 * 100vw);
		letter-spacing:calc(-3.66/850 * 100vw);
	}
	.body.large
	{
		font-size:calc(30/850 * 100vw);
	}
	.shopify-buy__product-description
	{
		font-size:calc(24/850 * 100vw);
	}	

	.page-history .block.text.intro
	{
		position:relative;
		transform:none;
		margin-bottom:1rem;
	}
	.page-history .block.text.intro h4	
	{
		margin-top:0;
		line-height:1;
	}

	.row[data-layout="2"] .block.media,
	.row[data-layout="3"] .block.media
	{
		flex-basis: 100%;
	}
	.row[data-layout="2"] .block.text,
	.row[data-layout="3"] .block.text
	{
		flex-basis: 100%;
		aspect-ratio:auto;
	}

  .row.wrap-reverse
  {
  	flex-wrap:wrap-reverse;
  }

	
	.row[data-layout="2"] .block.text .text-scroll
	{
		padding:2%;
	}
  
}

@media (max-width:600px)
{
	:root
	{
		--grid-margin-row:29px;
	}


	h1,
	.heading.mega
	{
		/* font-size:calc(100/600 * 100vw); */
		font-size:calc(75/600 * 100vw);
		letter-spacing:calc(-7.32/600 * 100vw);
	}
	.item-header .item-title h1
	{
		padding:0;
	}
	.heading.big
	{
		font-size:calc(82/600 * 100vw);
		letter-spacing:calc(-6/600 * 100vw);
	}
	h2,
	.heading.large
	{
		font-size:calc(70/550 * 100vw);
		letter-spacing:calc(-5.12/550 * 100vw);
	}
	h3
	{
		font-size:calc(50/500 * 100vw);
		letter-spacing:calc(-3.66/500 * 100vw);
	}
	.agecheck h3
	{
		margin:1rem .5rem;
		font-size:calc(35/500 * 100vw);
		letter-spacing:calc(-2.56/500 * 100vw);
	}
	.heading.mid
	{
		font-size:calc(50/400 * 100vw);
		letter-spacing:calc(-3.66/400 * 100vw);
	}
	.body.large
	{
		font-size:calc(30/600 * 100vw);
	}
	.shopify-buy__product-description
	{
		font-size:calc(30/600 * 100vw);
	}	

	#page-header
	{
		top:auto;
		bottom:0;
	}

	#page-header .menu
	{
	  top:auto;
	  bottom:15px;
	}
	
	#page-header .menu-bg
	{
		display:block;
		position:fixed;
		left:0;
		bottom:0;
		width:100vw;
		height:calc(15px + 42px + 15px);
		background-color: rgba(247,243,237,.8);
	}

	#page-header .menu.shop
	{
		right:20px;
	}
	#page-header.has-cart .menu.socials
	{
  	right:calc(20px + 42px);	
	}	
	
	#page-header .menu.options
	{
		top:0;
		width:100%;
		left:0;
		margin-left:0
	}
	
	.menu.home, .menu.content, .menu.select
	{
  	left:20px;
	}
	.menu.socials
	{
  	right:20px;
  }
  .menu.socials .signup
  {
  	display:none;
  }
  
  #page-header .admin
  {
  	top:29px;
  	display:none;
  }
  
/* 
  .gateway.fixed
  {
  	top:-24px !important;
  }
 */

	.item
	{
		flex-basis:100% !important;
	}
	.item.push-left	
	{
		margin-right:0;
	}
	.item.hero
	{
		/* aspect-ratio:370/780; */
		aspect-ratio:370/600;
	}
	.item.hero .media
	{
		/* aspect-ratio:370/500; */
		aspect-ratio:370/320;
	}
	.item.hero .footer
	{
		/* height: calc((280/780) * 100%); */
		height: calc((280/600) * 100%);
	}
	.item.hero .header
	{
  	/* top:calc(((500/780) * 100%) + 10px); */
  	top:calc(((320/600) * 100%) + 10px);
  }
  .item.tall
  {
  	aspect-ratio: 370/400;
  }
	

	.item-header .block.text.item-title
	{
	  /* margin-top:60px; */
	  aspect-ratio:1;
	}
	.item-header .block.media.header-media
	{
		aspect-ratio:3/2;
		background-position:50% 50%;
	}
/* 
	.page-shop .item-header .swiper .media
	{
		aspect-ratio:3/2;
	}
 */
	
	.video-loop iframe
	{
		position:absolute;
		width:160%;
		left:-30%;
	}
	
	.filler
	{
		display:none;
	}

	.page-shop .item-header
	{
		margin-top:118px;
	}
	.page-shop .item-header .block.media.header-media
	{
		aspect-ratio:var(--shop-header-aspect);
	}
	.page-shop .item-header > .block.media
	{
		margin-bottom:18px;
		flex-basis:100%;
	}
	.page-shop .item-header > .info,
	.shopify-buy__product .product,
	.shopify-buy__product .buy
	{
		flex-basis:100%;
	}
	.shopify-buy__product .buy
	{
		margin-top:18px;
	}

	.signup-form .section.submit	
	{
		flex-wrap:wrap;
	}
	.signup-form .terms
	{
		margin-top:16px;
		flex-basis:100%;
	}
	
	.page-footer
	{
		margin-bottom:80px;
		text-align:center;
	}
	
/* 
	.item.medium.double
	{
		aspect-ratio:370/500;
	}
	.item.medium.double .media
	{
		width:100%;
		height:50%;
	}
	.item.medium.double > .header
	{
		top:calc(50% + 10px)
	}
	.item.medium.double > .header.left
	{
		left:12px;
	}
	.item.medium.double > .heading
	{
		left:0;
		width:100%;
		height:50%;
		top:50%;
	}
 */
	
}

@media (max-width:400px)
{
	.menu.content .triangle
	{
		display:none;
	}
	
	/* wrap city/filter menu? */


}

