improve styling of drawer changes
[lantea.git] / style / lantea.css
index 19b8af0338f1f34dd8e6cdbf3f85ec6d1148a261..6f86f6d9133dd9dcc10d119c68c19e58b4ad156a 100644 (file)
@@ -12,6 +12,10 @@ h1 {
   display: none;
 }
 
+.hidden {
+  display: none;
+}
+
 #dialogArea,
 .overlayArea {
   position: absolute;
@@ -24,6 +28,7 @@ h1 {
 .overlayArea.hidden {
   opacity: 0;
   transition-duration: 1s;
+  display: block;
 }
 
 #dialogArea:-moz-system-metric(touch-enabled),
@@ -32,14 +37,17 @@ h1 {
   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;
+#dialogArea input[type="button"],
+#dialogArea button,
+#dialogArea input[type="text"],
+#dialogArea select,
+.overlayArea input[type="button"],
+.overlayArea button,
+.overlayArea select,
+.menuDrawer input[type="button"],
+.menuDrawer button,
+.menuDrawer select {
+  font-size: inherit;
 }
 
 #menuArea {
@@ -112,21 +120,22 @@ h1 {
   position: absolute;
   top: 0;
   bottom: 0;
-  left: calc(-40ch - 1ch); /* account for padding */
+  transform: translateX(calc(-40ch - 1ch)); /* account for padding */
   width: 40ch;
+  max-width: 95%; /* make sure we don't overflow the screen */
   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-property: transform;
   transition-duration: 1s;
   transition-timing-function: ease;
 }
 
 .menuDrawer:not(.hidden) {
-  left: 0;
+  transform: translateX(0);
 }
 
 @media screen and (max-width: 330px) {
@@ -136,11 +145,16 @@ h1 {
   }
 }
 
+.menuDrawer p {
+  margin: .5em 0;
+}
+
+/* Menu title */
 .menuDrawer > h2 {
   font-size: 1.2em;
   font-weight: bold;
   margin: .5em 0;
-  background-color: rgba(255, 255, 255, .8);
+  background-color: #CCCCCC;
   color: #404040;
   border-radius: 3px;
   padding: 2px;
@@ -151,10 +165,178 @@ h1 {
   height: 1.2em;
 }
 
+/* For optical conveniece, display an "x" for closing. */
+.menuDrawer > h2:after {
+  content: '\00D7'; /* multiplication sign */
+  display: inline-block;
+  vertical-align: text-top;
+  float: right;
+  margin-top: 0;
+  margin-right: .2em;
+  font-size: .75em;
+}
+
+/* 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"],
+.menuDrawer 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"]:disabled,
+.menuDrawer button:disabled {
+  background-color: rgba(204, 204, 204, .1);
+  color: rgba(204, 204, 204, .5);
+  border: 1px solid rgba(255, 255, 255, .5);
+}
+
+.menuDrawer input[type="button"]:not(:disabled):hover,
+.menuDrawer button:not(:disabled):hover {
+  background-color: rgba(204, 204, 204, .4);
+  border: 1px solid #FFFFFF;
+}
+
+.menuDrawer input[type="button"]:not(:disabled):active,
+.menuDrawer button:not(:disabled):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;
+}
+
+.menuDrawer input[type="text"],
+.menuDrawer input[type="number"] {
+  font-size: 1em;
+  vertical-align: middle;
+  background-image: none;
+  background-color: rgba(204, 204, 204, .7);
+  color: #404040;
+  padding: 1px .5em;
+  border: 1px solid #CCCCCC;
+  border-radius: 3px;
+}
+
+.menuDrawer input[type="text"] {
+  text-align: left;
+}
+
+.menuDrawer input[type="number"] {
+  text-align: right;
+}
+
+.menuDrawer input[type="text"]:disabled,
+.menuDrawer input[type="number"]:disabled {
+  background-color: rgba(204, 204, 204, .1);
+  color: rgba(204, 204, 204, .5);
+  border: 1px solid rgba(255, 255, 255, .5);
+}
+
+.menuDrawer input[type="text"]:not(:disabled):hover,
+.menuDrawer input[type="number"]:not(:disabled):hover {
+  border: 1px solid #FFFFFF;
+}
+
+.menuDrawer input[type="text"]:not(:disabled):focus,
+.menuDrawer input[type="number"]:not(:disabled):focus {
+  background-color: rgba(204, 204, 255, .8);
+  border: 1px solid #FFFFFF;
+  color: #202020;
+}
+
+.menuDrawer p.subTitle {
+  margin: .75em 0 .5em;
+  font-weight: bold;
+}
+
 #trackData {
   margin: 0;
 }
 
+#trackDialogArea {
+  border-top: 2px solid;
+  border-bottom: 2px solid;
+  padding: 3px 0;
+}
+
 #map, #track {
   position: fixed;
   border: 0;
@@ -191,16 +373,11 @@ h1 {
   display: none;
 }
 
-.settingsSubTitle {
-  margin: .5em 0 0;
-  font-weight: bold;
-}
-
 #copyright {
   bottom: 5px;
   right: .5em;
   margin: 0;
-  font-size: small;
+  font-size: .8em;
   opacity: .66;
   z-index: 2;
   background-color: rgba(255, 255, 255, 1);
@@ -210,6 +387,7 @@ h1 {
 
 #copyright.hidden {
   opacity: 0;
+  display: block;
 }
 
 #dialogArea {
@@ -228,6 +406,7 @@ h1 {
 
 #dialogArea.hidden {
   top: -100%;
+  display: block;
 }
 
 .dialogTitle {
@@ -237,7 +416,7 @@ h1 {
 
 .dialogHelp {
   margin: .5em 0;
-  font-size: small;
+  font-size: .8em;
   opacity: .66;
 }
 
@@ -265,6 +444,5 @@ h1 {
   #copyright {
     bottom: 1px;
     right: 1px;
-    font-size: 8px;
   }
 }