+ top: 0;
+ bottom: 0;
+ left: calc(-40ch - 1ch); /* account for padding */
+ width: 40ch;
+ background-color: rgba(15, 15, 15, .9);
+ color: #CCCCCC;
+ border: 0;
+ padding: 0 .5ch; /* account for legend */
+ margin: 0;
+ z-index: 10;
+ transition-property: left;
+ transition-duration: 1s;
+ transition-timing-function: ease;
+}
+
+.menuDrawer:not(.hidden) {
+ left: 0;
+}
+
+@media screen and (max-width: 330px) {
+ .menuDrawer {
+ left: calc(-300px - 1ch); /* account for padding */
+ width: 300px;
+ }
+}
+
+.menuDrawer > p {
+ margin: .5em 0;
+}
+
+/* Menu title */
+.menuDrawer > h2 {
+ font-size: 1.2em;
+ font-weight: bold;
+ margin: .5em 0;
+ background-color: #CCCCCC;
+ color: #404040;
+ border-radius: 3px;
+ padding: 2px;
+}
+
+.menuDrawer > h2 > img {
+ vertical-align: text-top;
+ height: 1.2em;
+}
+
+/* Custom checkbox design */
+.menuDrawer input[type="checkbox"] {
+ display: none;
+}
+
+.menuDrawer input[type="checkbox"] + label:before {
+ content: '\00A0'; /* non-breaking space */
+ display: inline-block;
+ width: 1.2em;
+ height: 1.2em;
+ margin-right: .3em;
+ text-align: center;
+ vertical-align: middle;
+ background-color: rgba(204, 204, 204, .2);
+ border: 1px solid #CCCCCC;
+ border-radius: 3px;
+}
+
+.menuDrawer input[type="checkbox"]:hover + label:before {
+ background-color: rgba(204, 204, 204, .4);
+ border: 1px solid #FFFFFF;
+}
+.menuDrawer input[type="checkbox"]:hover + label {
+ color: #FFFFFF;
+ position:relative;
+ height: 1.2em;
+}
+
+.menuDrawer input[type="checkbox"]:active + label:before {
+ background-color: rgba(204, 204, 255, .3);
+ border: 1px solid #FFCCAA;
+}
+.menuDrawer input[type="checkbox"]:active + label {
+ color: #FFCCAA;
+}
+
+.menuDrawer input[type="checkbox"]:checked + label:before {
+ content: '\2714'; /* tick mark */
+}
+
+/* Custom button design */
+.menuDrawer input[type="button"] {
+ text-align: center;
+ vertical-align: middle;
+ background-image: none;
+ background-color: rgba(204, 204, 204, .2);
+ color: #CCCCCC;
+ padding: 1px .5em;
+ border: 1px solid #CCCCCC;
+ border-radius: 3px;
+}
+
+.menuDrawer input[type="button"]:hover {
+ background-color: rgba(204, 204, 204, .4);
+ border: 1px solid #FFFFFF;
+}
+
+.menuDrawer input[type="button"]:active {
+ background-color: rgba(204, 204, 255, .3);
+ color: #FFCCAA;
+ padding-top: 2px;
+ padding-right: calc(.5em - 1px);
+ padding-bottom: 0;
+ padding-left: calc(.5em + 1px);
+}
+
+/* Custom select design */
+.menuDrawer select {
+ text-align: left;
+ vertical-align: middle;
+ background-image: none;
+ background-color: rgba(204, 204, 204, .2);
+ color: #CCCCCC;
+ padding: 0 .5em;
+ border: 1px solid #CCCCCC;
+ border-radius: 3px;
+}
+
+.menuDrawer select:hover {
+ background-color: rgba(204, 204, 204, .4);
+ border: 1px solid #FFFFFF;
+}
+
+.menuDrawer select:active {
+ background-color: rgba(204, 204, 255, .3);
+ color: #FFCCAA;
+}
+
+.menuDrawer option:checked:not(:hover) {
+ background-color: rgba(204, 204, 204, .1);
+}
+
+.menuDrawer option:hover {
+ background-color: #CCCCCC;
+ color: #404040;
+}
+
+#trackData {
+ margin: 0;
+}
+
+#map, #track {
+ position: fixed;
+ border: 0;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+
+#map {
+ z-index: 1;
+}
+
+#track {
+ z-index: 3;
+}
+
+#action {
+ position: absolute;
+ bottom: 5px;
+ left: .5em;
+ margin: 0;
+ z-index: 3;
+ background-color: rgba(255, 255, 255, .8);
+ border-radius: 3px;
+ padding: 0 3px;
+}
+
+#actionimg {
+ vertical-align: text-bottom;
+}
+
+.debugHide {
+ display: none;
+}
+
+.settingsSubTitle {
+ margin: .5em 0 0;
+ font-weight: bold;
+}
+
+#copyright {
+ bottom: 5px;