header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 10vh;
	border-bottom: 1px solid var(--line-color);
	display: flex;
}

header > img {
	cursor: pointer;
	max-height: 100%;
	margin: 0;
}

header > div#page {
	padding: 0 1rem;
	width: 100%;
}

header h1 {
	display: block;
	font-size: 5vh;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

header p#list {
	font-size: 1rem;
	margin: 0;
}

header p#list > span {
	color: var(--line-color);
}

header p#list > span:not(.top):before, header p#list > span:last-child:after {
	content: "";
	display: inline-block;
	border-left: 2px solid var(--line-color);
	border-bottom: 2px solid var(--line-color);
	width: 0.5rem;
	height: 0.5rem;
	transform: rotate(-135deg);
	margin-right: 0.5rem;
	margin-left: 0.25rem;
	box-sizing: content-box;
}

header > div#menu {
	width: 10vh;
	height: 10vh;
	position: relative;
	
}

header > div#menu > i {
	font-size: 6vh;
	width: 6vh;
	height: 6vh;
	position: absolute;
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
}

div#menu-content {
	position: fixed;
	top: 10vh;
	right: 0;
	width: 25vw;
	height: 90vh;
	background-image: linear-gradient(-90deg, var(--semi-color) 90%, rgba(0, 0, 0, 0));
	padding-left: 2.5vw;
	z-index: 5;
	visibility: hidden;
	transition: transform 0.25s, visibility 0.25s;
	transform-origin: top right;
	transform: scaleX(0);
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}

div#menu-content.show {
	visibility: visible;
	transform: scaleX(1);
}

div#menu-content > div {
	height: 25vh;
	margin: 0.5rem;
	border-radius: 1rem;
	background-color: rgba(255, 255, 255, 0.5);
	cursor: pointer;
}

div#menu-content > div:hover {
	background-color: rgba(255, 255, 255, 0.8);
}

div#menu-content > div > img {
	max-height: 18vh;
}

div#menu-content > div > p {
	font-size: 2.5vh;
	font-weight: bold;
	text-align: center;
	
}

@media screen and (max-width: 1000px) {
	header {
		display: block;
		position: sticky;
		z-index: 5;
	}

	header h1 {
		max-width: 80vw;
	}

	header > img {
		height: 10vh;
	}

	header > div#page {
		position: absolute;
		top: 0;
		left: 0;
		background-color: rgba(255, 255, 255, 0.75);
		height: 100%;
	}

	header > div#menu {
		position: absolute;
		height: 10vh;
		top: 50%; 
		right: 0;
		transform: translateY(-50%);
	}

	div#menu-content {
		top: 10vh;
		right: 0;
		width: 100vw;
		height: 25vh;
		background-image: linear-gradient(180deg, var(--semi-color) 90%, rgba(0, 0, 0, 0));
		padding-left: 0;
		z-index: 5;
		flex-direction: row;
		transform: scaleY(0);
	}

	div#menu-content.show {
		transform: scaleY(1);
	}
	
	div#menu-content > div {
		height: 22.5vh;
		margin: 0.5rem;
		border-radius: 1rem;
		background-color: rgba(255, 255, 255, 0.5);
	}
	
	div#menu-content > div > img {
	
	}
	
	div#menu-content > div > p {
		font-size: 2.5vh;
		font-weight: bold;
		text-align: center;
		
	}
}

@media screen and (max-width: 640px) {
	div#menu-content {
		top: 10vh;
		right: 0;
		width: 100vw;
		height: 90vh;
		background-image: linear-gradient(180deg, var(--semi-color) 90%, rgba(0, 0, 0, 0));
		padding-left: 0;
		z-index: 5;
		display: block;
		transform: scaleY(0);
	}
}