.app-body {
	position: relative;
	width: 100%;
	height: calc(100vh - 4rem);
	overflow-y: auto;
}

header {
	width: 100%;
	height: calc(4rem - 1px);
}

#nav {
	width: 256px;
	height: calc(100vh - 4rem);
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	transition: all 0.1s ease-in-out;
}

#nav.closed {
	width: 0px !important;
}

#nav > .content {
	width: 256px;
	height: 100vh;
	transition: all 0.1s ease-in-out;
	transform: translate(0px);
}

#nav > .content.closed {
	transform: translate(-256px);
}

#menu-btn {
	top: 2rem;
	left: 2rem;
	transform: translate(-50%, -50%);
	position: absolute;
	width: 24px;
}

#menu-btn:before,
#menu-btn:after,
#menu-btn div {
	background-color: #272727;
	content: "";
	display: block;
	height: 3px;
	border-radius: 3px;
	margin: 4px 0;
	transition: 0.2s;
}

[data-theme="dark"] #menu-btn:before,
[data-theme="dark"] #menu-btn:after,
[data-theme="dark"] #menu-btn div {
	background-color: #ccc;
}

#menu-btn.close:before {
	transform: translateY(7px) rotate(135deg);
}

#menu-btn.close:after {
	transform: translateY(-7px) rotate(-135deg);
}

#menu-btn.close div {
	transform: scale(0);
}

@media screen and (max-width: 672px) {
	.app-body {
		max-width: unset;
		min-width: 100%;
	}
}

@media screen and (max-width: 512px) {
	header .navbar-brand > span {
		display: none;
	}
}