body, html{
	margin:0;
	padding:0;
	background-color:var(--brand-light);
	font-family:sans-serif;
}

.app-container{
	margin:0;
	display:grid;
	grid-template-rows:60px auto;
	grid-template-columns:240px auto;
	width:100%;
	height:100vh;
}

.app-header{
	text-align:center;
	font-weight:bold;
	font-size:1.6em;
	color:var(--brand-main);
	background-color:var(--brand-main);
	display:flex;
	align-items:center;
	grid-column-start:1;
	grid-column-end:3;
	box-shadow:0 0 10px rgba(0,0,0,0.2);
	padding-left:10px;
	z-index:4;
}

.app-header > a{
	color:var(--brand-light);
	text-decoration:none;
}

.menu-button-box{
	display:flex;
	align-items:center;
	padding-right:20px;
	cursor:pointer;
}

.menu-open-button{
	fill:var(--brand-light);
}

.app-nav{
	grid-row-start:2;
	grid-row-end:3;
	color:var(--brand-dark);
	box-shadow:0 0 10px rgba(0,0,0,0.2);
}

.app-nav-wrapper{
	height:100%;
	background-color:var(--brand-light);
	width:100%;
}

.app-nav-section-header{
	font-weight:bold;
	font-size:1.3em;
	padding: 10px 0 2px 10px;
}

.app-nav-link{
	padding-left:10px;
	color:var(--brand-dark);
	text-decoration:none;
	display:block;
	cursor:pointer;
	padding-top:2px;
	padding-bottom:2px;
}

.active-app-nav-link{
	background-color:var(--brand-main);
	color:var(--brand-light);
}

.app-nav-link:hover{
	background-color:var(--brand-translucent);
}

.app-content{
	grid-row-start:2;
	grid-row-end:3;
	background-color:var(--brand-light);
}

/*mobile view*/
@media (max-width: 960px), (max-aspect-ratio: 1/1){
	.menu-button-box{
		display:flex;
	}
	
	.app-nav{
		grid-column-start:1;
		grid-column-end:3;
		z-index:1;
		position:relative;
	}
	
	.app-content{
		grid-column-start:1;
		grid-column-end:3;
		z-index:2;
	}
}

/*desktop view*/
@media all and (min-width: 961px) and (min-aspect-ratio: 1/1){
	.menu-button-box{
		display:none;
	}
	
	.app-nav{
		grid-column-start:1;
		grid-column-end:2;
		z-index:3
	}
	
	.app-content{
		grid-column-start:2;
		grid-column-end:3;
		z-index:0;
	}
}