switch track and settings menus to drawers
[lantea.git] / style / lantea.css
index b358a1d83deda6d7b510deab2f4c1225863aca74..19b8af0338f1f34dd8e6cdbf3f85ec6d1148a261 100644 (file)
 body {
   font-family: sans-serif;
   margin: 0;
+  background: url("loading.png") repeat;
 }
 
 h1 {
   display: none;
 }
 
-#menuArea {
+#dialogArea,
+.overlayArea {
   position: absolute;
+  z-index: 5;
+  transition-property: opacity;
+  transition-duration: .2s;
+}
+
+#dialogArea.hidden,
+.overlayArea.hidden {
+  opacity: 0;
+  transition-duration: 1s;
+}
+
+#dialogArea:-moz-system-metric(touch-enabled),
+.overlayArea:-moz-system-metric(touch-enabled),
+.menuDrawer:-moz-system-metric(touch-enabled) {
+  font-size: 3mozmm;
+}
+
+#dialogArea input[type="button"]:-moz-system-metric(touch-enabled),
+#dialogArea input[type="text"]:-moz-system-metric(touch-enabled),
+#dialogArea select:-moz-system-metric(touch-enabled),
+.overlayArea input[type="button"]:-moz-system-metric(touch-enabled),
+.overlayArea select:-moz-system-metric(touch-enabled),
+.menuDrawer input[type="button"]:-moz-system-metric(touch-enabled),
+.menuDrawer select:-moz-system-metric(touch-enabled) {
+  font-size: 3mozmm;
+}
+
+#menuArea {
   /* width: 30em; */
   left: 1%;
   top: 1em;
-  z-index: 5;
 }
 
 #zoomArea {
-  position: absolute;
   right: 1%;
   top: 1em;
-  z-index: 5;
   text-align: center;
 }
 
-.overlayArea:-moz-system-metric(touch-enabled) {
-  font-size: 3mozmm;
+#zoomArea > input[type="button"],
+#fullscreenArea > input[type="button"],
+#trackButton,
+#settingsButton {
+  font-size: 1.2em;
+  font-weight: bold;
+  width: 2em;
+  height: 2em;
+  border-radius: 2em;
+  background-color: rgba(255, 255, 255, .25);
+  background-image: radial-gradient(circle 1.5em, #FFFFFF, transparent);
+  color: #0000FF;
+  border: none;
 }
 
-.overlayArea input[type="button"]:-moz-system-metric(touch-enabled),
-.overlayArea select:-moz-system-metric(touch-enabled) {
-  font-size: 2.5mozmm;
+#zoomArea > input[type="button"] {
+  border: 2px solid #0000FF;
 }
 
-#zoomLevel {
+#zoomArea > input[type="button"]:hover,
+#fullscreenArea > input[type="button"]:hover,
+#trackButton:hover,
+#settingsButton:hover {
   background-color: rgba(255, 255, 255, .8);
-  border-radius: 3px;
-  padding: 0 3px;
 }
 
+#zoomArea > input[type="button"]:active,
+#fullscreenArea > input[type="button"]:active,
+#trackButton:active,
+#settingsButton:active {
+  background-color: rgba(255, 255, 127, .8);
+}
 
-#settingsArea,
-#trackArea {
-  display: none;
-  background-color: rgba(255, 255, 255, .8);
+#zoomArea > input[type="button"]:focus,
+#fullscreenArea > input[type="button"]:focus,
+#trackButton:focus,
+#settingsButton:focus {
+  background-color: rgba(255, 255, 255, .5);
+}
+
+#fullscreenArea {
+  right: 1%;
+  bottom: 2em;
+  text-align: center;
+}
+
+#zoomLevel {
+  /* background-color: rgba(255, 255, 255, .8); */
+  background-image: radial-gradient(circle 1.5em, #FFFFFF, transparent);
+  border-radius: .5em;
+  padding: .5em .2em;
+  margin: 2px 0;
+}
+
+.menuDrawer {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: calc(-40ch - 1ch); /* account for padding */
+  width: 40ch;
+  background-color: rgba(15, 15, 15, .9);
+  color: #CCCCCC;
   border: 0;
-  border-radius: 5px;
+  padding: 0 .5ch; /* account for legend */
+  margin: 0;
+  z-index: 10;
+  transition-property: left;
+  transition-duration: 1s;
+  transition-timing-function: ease;
 }
 
-#settingsArea > legend,
-#trackArea > legend {
-  display: none;
+.menuDrawer:not(.hidden) {
+  left: 0;
+}
+
+@media screen and (max-width: 330px) {
+  .menuDrawer {
+    left: calc(-300px - 1ch); /* account for padding */
+    width: 300px;
+  }
+}
+
+.menuDrawer > h2 {
+  font-size: 1.2em;
+  font-weight: bold;
+  margin: .5em 0;
   background-color: rgba(255, 255, 255, .8);
+  color: #404040;
   border-radius: 3px;
+  padding: 2px;
 }
 
-#map {
+.menuDrawer > h2 > img {
+  vertical-align: text-top;
+  height: 1.2em;
+}
+
+#trackData {
+  margin: 0;
+}
+
+#map, #track {
+  position: fixed;
   border: 0;
-  top: 1px;
-  left: 1px;
-  right: 1px;
-  bottom: 1px;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+}
+
+#map {
   z-index: 1;
 }
 
-#debug {
+#track {
+  z-index: 3;
+}
+
+#action {
   position: absolute;
   bottom: 5px;
   left: .5em;
@@ -78,12 +183,20 @@ h1 {
   padding: 0 3px;
 }
 
+#actionimg {
+  vertical-align: text-bottom;
+}
+
 .debugHide {
   display: none;
 }
 
+.settingsSubTitle {
+  margin: .5em 0 0;
+  font-weight: bold;
+}
+
 #copyright {
-  position: absolute;
   bottom: 5px;
   right: .5em;
   margin: 0;
@@ -95,18 +208,59 @@ h1 {
   padding: 0 3px;
 }
 
+#copyright.hidden {
+  opacity: 0;
+}
+
+#dialogArea {
+  top: 20%;
+  right: 0;
+  left: 0;
+  width: 30ch;
+  max-width: 92%;
+  z-index: 10;
+  background-color: rgba(255, 255, 255, .8);
+  border: 0;
+  margin: auto;
+  padding: .5em;
+  border-radius: 5px;
+}
+
+#dialogArea.hidden {
+  top: -100%;
+}
 
-@media screen and (max-width: 500px) {
+.dialogTitle {
+  margin: 0 0 .5em;
+  font-weight: bold;
+}
+
+.dialogHelp {
+  margin: .5em 0;
+  font-size: small;
+  opacity: .66;
+}
+
+#uploadDesc {
+  max-width: 95%;
+}
+
+@media screen and (max-width: 500px),
+       screen and (max-height: 500px) {
   body {
     font-size: 10px;
   }
   #menuArea {
-    top: 1px;
-    left: 1px;
+    top: 2px;
+    left: 2px;
   }
   #zoomArea {
-    top: 1px;
-    right: 1px;
+    top: 2px;
+    right: 2px;
+  }
+  #fullscreenArea {
+    right: 2px;
+    bottom: 20px;
   }
   #copyright {
     bottom: 1px;