.full-window, html, body {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
}

body {
    margin: 0px;
    color: white;
}

@font-face {
    font-family: RoadGeekD;
    src: url(fonts/RG2014D.ttf);
}

@font-face {
    font-family: RoadGeekDM;
    src: url(fonts/RG2014DM.ttf);
}

@font-face {
    font-family: RoadGeekEM;
    src: url(fonts/RG2014EM.ttf);
}

div.sign {
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    bottom: 0px;
    font-family: RoadGeekD;
    background-color: black;
    line-height: 1.0;
}

div.sign div.border {
    background-color: white;
    border: white 1em solid;
    border-radius: 1em;
    bottom: 2em;
}

div.sign div.main {
    background-color: blue;
    border-radius: 1em;
    text-align: center;
}

div.sign div.header {
    font-family: RoadGeekEM;
    font-size: 90%;
    position: relative;
    top: 1em;
    left: 0px;
    right: 0px;
}

div.sign div.grid {
    position: absolute;
    top: 3em;
    left: 0em;
    right: 0em;
    bottom: 60%;

    container-type: size;
}

div.sign div.grid div#utm_zone {
    font-size: 40cqmin;
    line-height: 40cqh;
}

div.sign div.grid div#grid_square {
    font-size: 60cqmin;
    line-height: 60cqh;
}

div.sign div.numbers {
    font-family: RoadGeekDM;
    position: absolute;
    top: 40%;
    bottom: 3em;
    left: 1em;
    right: 1em;

    background-color: white;
    color: blue;

    container-type: size;
}

div.sign div.numbers div {
    font-size: min(50cqh, 40cqw);
    line-height: 50cqh;
}

div.sign .red {
    color: red ! important;
    opacity: 0.5;
    text-decoration: line-through;
}

div.sign div.footer {
    font-family: RoadGeekEM;
    font-size: 90%;
    position: absolute;
    bottom: 1em;
    left: 0px;
    right: 0px;
}

div.sign .message {
    position: absolute;
    font-size: 80%;
    color: white;
    bottom: 0em;
    left: 1em;
    height: 1em;
}

div.control {
    position: absolute;
    top: 2em;
    text-align: center;
    font-family: RoadGeekEM;
    font-size: 90%;
}

div.control.left {
    left: 2em;
}

div.control.right {
    right: 2em;
}

div.control span#lookup-btn {
    position: inherit;
    right: 3em;
    top: 0em;
}

div.control img.icon {
    width: 2em;
}

div#notify-div {
    background-color: #222222;
    border-radius: 1em;
    color: #eee;
    display: none;
    font-family: sans;
    opacity: 0.95;
    padding: 1em;
    position: absolute;
    left: 1em;
    right: 1em;
    bottom: 4em;
    text-align: center;
    z-index: 1000;
}

.center-contents {
	display: flex;
	align-items: center;
	justify-content: center;
}

.hidden {
	display: none !important;
}

.overlay {
	background-color: #222222CC;
	z-index: 1000;
}

.overlay-text {
	border-radius: 1em;
	padding: 1em;
	background-color: #222222;
	color: #eee;
	font-family: sans-serif;
}

.overlay-text a {
    color: #57a7ff; /*yellow;*/
}

.overlay-text button {
	color: #007aff;
	background: #f0f0f0;
	font-size: 1.5em;
	border-radius: 1em;
	padding-top: 10px;
	padding-bottom: 10px;
	padding-left: 20px;
	padding-right: 20px;
}

#instructions .overlay-text {
	display: flex;
	flex-direction: column;
	height: 90%;
	width: 90%;
}

#instructions p {
	order: 1;
	flex-grow: 10;
}

#instructions object {
	height: 100%;
	padding-bottom: 1em;
}

#instructions button {
	order: 2;
}
