.p5Canvas{
  overflow: hidden;
}

body {
   -webkit-user-select: none;
}

@font-face {
	font-family: IPAMincho Regular;
	src: url("../font/IPAMincho Regular.ttf");
}
html {
	transition: filter 200ms ease-in-out;
}
* {
  -webkit-tap-highlight-color: transparent;
}
.inverted {
	filter: invert();
}

#main-container {
	transition: opacity 600ms ease-in-out;
}

#nav-toggle-button-mobile {
	transition: opacity 600ms ease-in-out;
}

html {
	--nav-width: 55%;
}

a {
	color: #2b2e34;
	text-decoration: none;
}
a:visited {
	color: unset;
}
a:hover {
	color: #fff;
	background-color: #2b2e34;
}

#canvas-button {
	background: none;
	padding: 0;
	margin: 0;
	position: absolute;
	height: 100%;
	right: 0;
	z-index: 998;
	width: 100%;
}
/* .fullsize-navigation > #canvas-button {
	width: calc(45% - 4em);
} */

canvas,
body {
	padding: 0;
	margin: 0;
	max-width: 100vw;
	max-height: 100vh;
	width: -webkit-fill-available;
	height: -webkit-fill-available;
	background: #f8f8f8;
	mix-blend-mode: darken;
}
body {
	position: relative;
	height: 100vh;
	overflow: hidden;
	font-family: IPAMincho Regular;
	color: #2b2e34;
	display: flex;
	justify-content: center;
	align-items: center;
}

canvas {
	mix-blend-mode: darken;
	pointer-events: none;
	overflow: auto;
	position: absolute;
	right: 0;
	top: 0;
	transition: width 150ms ease-in-out, height 150ms ease-in-out;
	z-index: 997;
}
.bf {
	font-size: 1.2em;
}
#tap-to-play {
	padding:30%;
	position: absolute;
	text-align: center;
	transition: opacity 600ms ease-in-out;
	z-index: 9999;
}
#tap-to-play:hover {
	cursor: pointer;
}
#main-container {
	position: absolute;
	width: 100vw;
	height: 100vh;
	z-index: 99;
}

#play-button {
	position: absolute;
	height: 64px;
	width: 64px;
	top: calc(50% - 32px);
	left: calc(50% - 32px);
	cursor: pointer;
	transition: opacity 600ms ease-in-out;
}

#p5_loading {
	position: absolute;
	text-transform: uppercase;
	margin: auto;
}

#navigation-container {
	position: absolute;
	display: grid;
	grid-template-columns: 220px auto;
	left: 0;
	width: var(--nav-width);
	transition: margin-left 150ms ease-in-out, margin-top 150ms ease-in-out;
	margin-left: calc(var(--nav-width) * -1.1);
	padding: 1em 4em 1em 1em;
	height: calc(100% - 2em);
	max-width: 500px;
	z-index: 9999999999;
}
#track-selection-container {
	max-width: 220px;
}

#track-selection-grid {
	display: grid;
	row-gap: 0.3em;
	width: 1fr;
}
#info-container {
	position: relative;
	padding-top: 0.2em;
	height: 100%;
	max-width: 300px;
}
.bottom-infos {
	position: absolute;
	bottom: 0;
}
.fullsize-navigation > #navigation-container {
	margin-left: 0;
}

.navigation-item {
	text-transform: uppercase;
	display: flex;
	text-decoration: none;
	background: none;
	color: lightgray;
	border: none;
	padding: 0;
	margin: -0.5px;
	font-family: IPAMincho Regular;
	font-size: 1em;
	cursor: pointer;
	outline: inherit;
	transition: color 200ms ease-in-out;
	transition: border 200ms ease-in-out;
}

.navigation-item-text {
	padding-top: 0.1em;
}
.navigation-item:hover {
	color:#2b2e34;
}

.navigation-item:hover .navigation-item-counter {
	border: 1px solid #2b2e34!important;
}

.navigation-item-counter {
	position: relative;
	margin-right: 0.9em;
	border: 1px solid lightgray;
	width: 1.1em;
	height: 1.1em;
	border-radius: 50%;
	text-align: center;
	font-size: 1.2em;
}

.navigation-item-counter span {
	position: absolute;
	margin: auto;
	top: 1.5px;
	left: 6px;
}

.item-four span {
	left: 5.5px;
}

#nav-toggle-button {
	cursor: pointer;
	position: fixed;

	width: 1.5em;
	height: 1.5em;
	top: 0.8em;
	right: 0;
	z-index: 999;
	right: 1em;

	left: 1em;
}

#nav-toggle-button-mobile {
	cursor: pointer;
	position: fixed;

	width: 1.5em;
	height: 1.5em;
	top: 0.8em;
	right: 0;
	z-index: 999;
	right: 1em;

	left: 1em;
}

#button-line,
#button-square {
	position: absolute;
	background: #2b2e34;
}
#button-line {
	top: 47%;
	height: 1px;
	width: 100%;
}
#button-square {
	height: 50%;
	width: 50%;
	top: 25%;
	right: 50%;

	height: 38%;
	width: 38%;
	top: 30%;
	right: 70%;
}
.fullsize-navigation #navigation-container #nav-toggle-button #button-square {
	right: 0;
}

.fullsize-navigation #navigation-container #nav-toggle-button {
	position: absolute;
	right: 1em;
	left: unset;
}

.fullsize-navigation #button-square {
	right: 0;
}

#nav-toggle-button-mobile {
	display:none;
}


.active-item .navigation-item-counter {
	border: 1px solid #2b2e34;
	background: #2b2e34;
	color: white;
}

.active-item {
	color: #2b2e34;
}

.hidden {
	opacity: 0;
	pointer-events: none;
	touch-action: none;
	/* transform: translate(-150px, 0px); */
}
.hidden-invert {
	cursor: pointer;
}
.hidden #track-selection-container{
	display:none;
}

#info-overlay-container {
	display: none;
	bottom: 1em;
	pointer-events: none;
}

#top-fade {
	top: 60%;
	background: linear-gradient(180deg, #f8f8f8 0%, rgba(148, 187, 233, 0) 100%);
}
#bottom-fade {
	bottom: 1em;
	background: linear-gradient(0deg, #f8f8f8 0%, rgba(148, 187, 233, 0) 100%);
}
.fade-overlay {
	right: 2em;
	position: fixed;
	width: 50%;
	pointer-events: none;
	height: 40px;
}
