body, html {
	padding: 0;
	margin: 0;
	height: 100%;
}
@-ms-viewport{
	width: device-width;
}
.box {
	box-sizing: border-box;
	float: left;
	border: 1px solid black;
	background-size: 64px;
	background-repeat: no-repeat;
	background-position: center 75%;
}
@media(max-width:6in){.box{background-size:15vw;}} 
body {
	counter-reset: links notifications;
	font-family: Verdana;
}
a.box:before {
	display:block;
	line-height: 0.9em;
	position:absolute;
	opacity: 0.08;
	color: black;
	z-index: 0;
	content: counter(links);
	counter-increment: links;
	font-weight: bold;
}
a.box {
	text-align: center;
	padding-top: 1em;
	z-index: -1;
}
@media(max-width:6in){a.box{padding-top:0.2em;}} 
a.box > span.menuitem_title {
	font-weight: bold;
	display: block;
}
a.box > span.menuitem_subtitle {
	display: inline-block;
	text-decoration: none !important;
	top: 2em;
	color: black;
}
a.box > span.menuitem_icon {
	display: block;
	position: relative;
	top: calc(100vh / 20);
}
a.box.c2:before { /* these, to be offset from center a bit, depend on the font size, which depends on r... */
	margin-left: 15vw;
}
a.box.c3:before {
	margin-left: 9vw;
}
a.box.r2:before {
	margin-top: calc(100vh / 10);
	font-size: calc(100vh / 3);
}
a.box.r3:before {
	margin-top: calc(100vh / 25);
	font-size: 25vh;
}
a.full {
    background: yellowgreen; /*repeating-radial-gradient(lightblue, yellowgreen 0.967%);*/
}
a.full[href]:hover {
	box-shadow: inset 0 0 100px 50px rgba(255, 255, 255, 0.2);
}
.empty {
	background-color: black;
}
.c2 {
	width: 50%;
}
.c3 {
	width: calc(100%/3);
}
.r2 {
	height: calc(50% - 15px);
}
.r3 {
	height: calc(100%/3 - 10px);
}
#footer {
	height: 30px;
	display: table;
	clear: left;
}
#footer > div {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
	white-space: nowrap;
	padding: 0px 5px;
}
#footer > div:hover {
	background-color:lightgreen;
}
#footer > #navbar {
	width: 100%;
	text-align: left;
}
#footer > #navbar > a:nth-of-type(n+2):before {
	content: ' > ';
	display: inline-block;
	text-decoration: none !important;
	color: black;
}
#footer > #navbar > a:hover {
	background-color:white;
}
/*
#notifications:after {
	content: '(' counter(notifications) ')';
}
#notifications.nonzero:after {
	background-color: yellow;
}
*/
.overlay {
	position: absolute;
	top: 0px;
	left: 0px;
	background-color: white;
	width: 100%;
	height: calc(100% - 30px);
	z-index: -2;
}
/*
#notifications-overlay > ul > li:before {
	counter-increment: notifications;
	content: counter(notifications, none);
}
#notifications-overlay > ul:empty:after {
	content: 'No notifications, currently.';
}
*/
@media(max-width:6in){#footer > div#about, #footer > div#operator > span#keyboard{display:none;}} 