* {
	box-sizing: border-box;
}

body {
	margin: 0;
	display: grid;
	grid-template-rows: min-content 1fr min-content;
	width: 100vw;
	height: 100vh;
	font-family: sans-serif;
}

header.top-level, footer.top-level {
	background-color: #fff;
	z-index: 5;
}

header.top-level {
	position: fixed;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	height: 64px;
}

.lobby-location {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3E%3Cpath fill='%23000000' fill-opacity='0.4' d='M1 3h1v1H1V3zm2-2h1v1H3V1z'%3E%3C/path%3E%3C/svg%3E");
	background-repeat: repeat;
	text-shadow: 0 0 5px rgba(0, 0, 0, 0.9);
	color: #fff;
	font-weight: bold;
	cursor: pointer;
	transition: 0.3s;
}

.lobby-location:hover {
	font-size: 1.5em;
}

.lobby-location > video,
.lobby-location > img
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	z-index: -1;
}

.sub-menu {
	display: none;
	position: absolute;
	top: 38px;
}

#navigation ul {
	list-style-type: none;
}

#navigation ul > li a {
	display: inline-block;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

#navigation ul > li {
	padding: 0.3rem;
	color: #e1414f;
	border-radius: 3px;
}

#navigation ul > li:hover {
	background-color: #e1414f;
	color: #ffffff;
}

#navigation .menu > li {
	color: #e1414f;
}

#navigation .menu > li:hover {
	background-color: #e1414f;
	color: #ffffff;
}

#navigation .sub-menu > li {
	color: #ffffff;
}

#navigation .sub-menu > li:hover {
	background-color: #ffffff;
	color: #e1414f;
}

#navigation #menu-navbar .parent-menu-item:hover ~ .sub-menu,
#navigation #menu-navbar .sub-menu:hover
{
	display: block;
}

#navigation .menu,
#navigation .sub-menu {
	padding: 0.6rem;
	margin: 0;
	border-radius: 4px;
}

#navigation .menu {
	background-color: #ffffff;
}

#navigation .sub-menu {
	background-color: #e1414f;
}

#navigation #menu-navbar {
	display: flex;
	position: relative;
}

#main-page {
	position: relative;
	overflow-y: auto;
	width: 100%;
	height: 100%;
}

#lobby-locations {
	position: fixed; /*absolute;*/
	top: 0;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
}

#lobby-locations {
	width: 100%;
	height: 100%;
	text-decoration: none;
}

/* DEBUG
#lobby-locations:hover {
	background-color: salmon;
}
*/

#content {
	position: relative;
	margin-top: 70vh;
	width: 100%;
	background: aliceblue;
	padding: 2rem;
	z-index: 1;
}

#content p {
	text-align: justify;
}
