#navigation {
	position: fixed;
	left: 0vw;
	top: 0vh;
	height: 100%;
	width: 0%;
	pointer-events: all;
}

#sidebarCloseArea {
	position: fixed;
	height: 100%;
	width: 100vw;
	left: 100vw;
	top: 0vh;
	transition: 0.4s;
}

#navBackground {
	position: fixed;
	height: 100%;
	width: 0vw;
	left: -10vw; /* Side is off screen to hide the box shadow's start. */
	top: -10vh; /* Top is above screen to hide the box shadow's start. */
	padding-left: 10vw;
	padding-top: 10vh;
	padding-bottom: 100vh; /* Avoids showing the end of the background i.e. when adress bars are hidden on mobile. */
	display:flex;
	flex-direction: column;
	justify-content: center;
	transition: 0.4s;
	
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

#navContainer {
	width: 0vw;
	left: 0vw;
	font-size: 1vh; /* Used for the "Image can't be shown."-text, the button text overrides this. */
	transition: 0.4s;
}

.navButtonWrapper {
	margin: 3vh 0vh;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.navButtonWrapper:first-child {
	margin-top: 0vh;
}

.navButtonWrapper:nth-last-child(2) {
	margin-bottom: 0vh;
}

.navButtonWrapper:last-child { /* The invisible button for closing the sidebar. */
	margin-top: 0vh;
	margin-bottom: 0vh;
}

.navButton {
	position: relative;
	left: 5.5vh;
	width: auto;
	height: 4vh;
	margin: 0.5vh 0vh;
	padding: 0.75vh 0.75vh 0.75vh 4.75vh; /* 4vh are always kept off screen to hide the box shadow's start. */
	background-color: rgba(0,0,0,1);
	color: rgba(255,255,255,1);
	cursor: pointer;
	box-shadow: 0.75vh 0.75vh rgba(0,0,0,0.5);
	transition: 0.2s;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
}

.navButton:first-child {
	margin-top: 0vh;
}

.navButton:last-child {
	margin-bottom: 0vh;
}

.navButton:hover {
	transform: translateX(calc(100% - 9.5vh));
	/*background-color: rgba(63,63,63,1);*/
}

.navButtonText {
	font-size: 4vh;
	font-family: "Aldrich";
	white-space: nowrap;
	margin-right: 0.75vh;
	overflow: visible;
}

.navButtonImage {
	height: 4vh;
	width: 4vh;
	margin-left: 0.75vh;
	
	user-drag: none;
    -webkit-user-drag: none;
	user-select: none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}

#navButtonCloseSidebar {
	display: none;
}

#openSidebarButton {
	right: -5em;
	z-index: 2;	
	position: fixed;
	bottom: 8em;
	height: 4em;
	width: 4em;
	padding: 0.5em;
	border-radius: 4em;
	transition: 0.2s;
	background-color: rgba(0,0,0,1);
	cursor: pointer;
	box-shadow: 0.375em 0.375em rgba(0,0,0,0.5);
}

#openSidebarButtonImage {
	float: right;
	height: 100%;
	width: auto;
	
	user-drag: none;
    -webkit-user-drag: none;
	user-select: none;
	-khtml-user-select: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
}



/* Phones. */
@media (max-width: 70em) {
	
	#navBackground {
		width: 85vw;
		left: -97vw; /* 2vw extra for the box shadow */
		background-color: rgba(25,25,25,1);
		box-shadow: 0.375em 0.375em rgba(0,0,0,0.5);
	}
	
	#navContainer {
		width: 100%;
	}
	
	.navButtonWrapper {
		margin: 1.5vh 0vh;
	}

	.navButtonWrapper:nth-last-child(2) {
		margin-bottom: 1.5vh;
	}
	
	.navButton {
		position: static;
		left: 0vh;
		width: calc(100% - 2vw); /* 2vw for the padding. */
		padding: 1vw;
		margin: 0.25vh 0vh;
		box-shadow: 0vh 0vh rgba(0,0,0,0);
	}

	.navButton:hover {
		transform: translateX(0px);
	}

	.navButtonText {
		font-size: 2.25em;
	}
	
	#navButtonCloseSidebar {
		display: flex;
	}
	
	#openSidebarButton {
		right: 1em;
	}
	
	/* Landscape orientation. */
	@media (min-aspect-ratio: 5/3) {
		
		#navBackground {
			width: 40vw;
			left: -51vw; /* 1vw extra for the box shadow */
			box-shadow: 0.25em 0.25em rgba(0,0,0,0.5);
		}
		
		.navButton {
			width: calc(100% - 2.8vh); /* 2.8vh for the padding. */
			padding: 1.4vh;
		}
		
		.navButtonText {
			font-size: 4vh;
		}
		
		#openSidebarButton {
			height: 3em;
			width: 3em;
			padding: 0.375em;
			bottom: 2.5em;
		}
		
	}
	
}