X-Git-Url: https://git-public.kairo.at/?p=lantea.git;a=blobdiff_plain;f=style%2Flantea.css;h=64ee62ff1ef49e1702c434bfb0161b45a2117201;hp=23bd32d09d46b24849bfd7a7d21963b12c8b0252;hb=5e9f4a24c890ea34a762380ac01d76648a8547e5;hpb=9ef896adba9ab6631630e848223fff6abe20d97d diff --git a/style/lantea.css b/style/lantea.css index 23bd32d..64ee62f 100644 --- a/style/lantea.css +++ b/style/lantea.css @@ -5,79 +5,113 @@ body { font-family: sans-serif; margin: 0; + background: url("loading.png") repeat; } h1 { display: none; } -#menuArea { - position: absolute; - /* width: 30em; */ - left: 1%; - top: 1em; - z-index: 5; +.hidden { + display: none; } -#zoomArea { - position: absolute; - right: 1%; - top: 1em; - z-index: 5; - text-align: center; +.debugHide { + display: none; +} + +/* Main window UI areas */ +#map, #track { + position: fixed; + border: 0; + top: 0; + left: 0; + right: 0; + bottom: 0; +} + +#map { + z-index: 1; +} + +#track { + z-index: 3; } -.overlayArea { +.autoFade { + position: absolute; + z-index: 5; transition-property: opacity; transition-duration: .2s; } -.overlayArea.hidden { +.autoFade.hidden { opacity: 0; transition-duration: 1s; + display: block; } -.overlayArea:-moz-system-metric(touch-enabled) { - font-size: 3mozmm; +#menuArea { + /* width: 30em; */ + left: 1%; + top: 1em; } -.overlayArea input[type="button"]:-moz-system-metric(touch-enabled), -.overlayArea select:-moz-system-metric(touch-enabled) { - font-size: 3mozmm; +#zoomArea { + right: 1%; + top: 1em; + text-align: center; } -#zoomLevel { - background-color: rgba(255, 255, 255, .8); - border-radius: 3px; - padding: 0 3px; +.autoFade > input[type="button"], +.autoFade > .controlButton { + 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; + padding: 0; + margin: 0; } +#zoomArea > input[type="button"] { + border: 2px solid #0000FF; +} -#settingsArea, -#trackArea { - display: none; +.autoFade > input[type="button"]:hover, +.autoFade > .controlButton:hover { background-color: rgba(255, 255, 255, .8); - border: 0; - border-radius: 5px; } -#settingsArea > legend, -#trackArea > legend { - display: none; - background-color: rgba(255, 255, 255, .8); - border-radius: 3px; +.autoFade > input[type="button"]:active, +.autoFade > .controlButton:active { + background-color: rgba(255, 255, 127, .8); } -#map { - border: 0; - top: 1px; - left: 1px; - right: 1px; - bottom: 1px; - z-index: 1; +.autoFade > input[type="button"]:focus, +.autoFade > .controlButton: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; } -#debug { +#action { position: absolute; bottom: 5px; left: .5em; @@ -88,16 +122,15 @@ h1 { padding: 0 3px; } -.debugHide { - display: none; +#actionimg { + vertical-align: text-bottom; } #copyright { - position: absolute; bottom: 5px; right: .5em; margin: 0; - font-size: small; + font-size: .8em; opacity: .66; z-index: 2; background-color: rgba(255, 255, 255, 1); @@ -107,23 +140,382 @@ h1 { #copyright.hidden { opacity: 0; + display: block; +} + +.overlayArea:-moz-system-metric(touch-enabled), +.menuDrawer:-moz-system-metric(touch-enabled) { + font-size: 3mozmm; +} + +.overlayArea input[type="button"], +.overlayArea button, +.overlayArea select, +.menuDrawer input[type="button"], +.menuDrawer button, +.menuDrawer input[type="text"], +.menuDrawer input[type="number"], +.menuDrawer select { + font-size: inherit; +} + +/* Menu Drawers */ +.menuDrawer { + position: absolute; + top: 0; + bottom: 0; + overflow: auto; + transform: translateX(calc(-40ch - 1ch)); /* account for padding */ + width: 40ch; + max-width: 95%; /* make sure we don't overflow the screen */ + border: 0; + padding: 0 .5ch; /* account for legend */ + margin: 0; + z-index: 10; + transition-property: transform; + transition-duration: 1s; + transition-timing-function: ease; +} + +.menuDrawer:not(.hidden) { + transform: translateX(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; +} + +/* 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; +} + +.dialogHelp { + margin: .5em 0; + font-size: .8em; + opacity: .66; +} + +#trackData { + margin: 0; +} + +#trackDialogArea { + border-top: 2px solid; + border-bottom: 2px solid; + padding: 3px 0; +} + +#uploadDesc { + max-width: 95%; } -@media screen and (max-width: 500px) { +/* Secondary UI: menu drawers, full screen overlays, etc. */ +.secondaryUI { + background-color: rgba(15, 15, 15, .9); + color: #CCCCCC; +} + +/* Custom checkbox design */ +.secondaryUI input[type="checkbox"] { + display: none; +} + +.secondaryUI 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; +} + +.secondaryUI input[type="checkbox"]:hover + label:before { + background-color: rgba(204, 204, 204, .4); + border: 1px solid #FFFFFF; +} +.secondaryUI input[type="checkbox"]:hover + label { + color: #FFFFFF; + position:relative; + height: 1.2em; +} + +.secondaryUI input[type="checkbox"]:active + label:before { + background-color: rgba(204, 204, 255, .3); + border: 1px solid #FFCCAA; +} +.secondaryUI input[type="checkbox"]:active + label { + color: #FFCCAA; +} + +.secondaryUI input[type="checkbox"]:checked + label:before { + content: '\2714'; /* tick mark */ +} + +/* Custom button design */ +.secondaryUI input[type="button"], +.secondaryUI 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; +} + +.secondaryUI input[type="button"]:disabled, +.secondaryUI button:disabled { + background-color: rgba(204, 204, 204, .1); + color: rgba(204, 204, 204, .5); + border: 1px solid rgba(255, 255, 255, .5); +} + +.secondaryUI input[type="button"]:not(:disabled):hover, +.secondaryUI button:not(:disabled):hover { + background-color: rgba(204, 204, 204, .4); + border: 1px solid #FFFFFF; +} + +.secondaryUI input[type="button"]:not(:disabled):active, +.secondaryUI 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 */ +.secondaryUI 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; +} + +.secondaryUI select:hover { + background-color: rgba(204, 204, 204, .4); + border: 1px solid #FFFFFF; +} + +.secondaryUI select:active { + background-color: rgba(204, 204, 255, .3); + color: #FFCCAA; +} + +.secondaryUI option:checked:not(:hover) { + background-color: rgba(204, 204, 204, .1); +} + +.secondaryUI option:hover { + background-color: #CCCCCC; + color: #404040; +} + +/* Custom textbox design */ +.secondaryUI input[type="text"], +.secondaryUI 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; +} + +.secondaryUI input[type="text"] { + text-align: left; +} + +.secondaryUI input[type="number"] { + text-align: right; +} + +.secondaryUI input[type="text"]:disabled, +.secondaryUI 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); +} + +.secondaryUI input[type="text"]:not(:disabled):hover, +.secondaryUI input[type="number"]:not(:disabled):hover { + border: 1px solid #FFFFFF; +} + +.secondaryUI input[type="text"]:not(:disabled):focus, +.secondaryUI input[type="number"]:not(:disabled):focus { + background-color: rgba(204, 204, 255, .8); + border: 1px solid #FFFFFF; + color: #202020; +} + +/* custom style for paragraphs and links */ +.secondaryUI p.subTitle { + margin: .75em 0 .5em; + font-weight: bold; +} + +.secondaryUI a:link { + color: #DDDDDD; +} + +.secondaryUI a:visited { + color: #AAAAAA; +} + +.secondaryUI a:hover { + color: #FFFFFF; +} + +/* dialog area - for loading error and welcome messages */ +#dialogArea { + position: absolute; + top: 20%; + right: 0; + left: 0; + width: 50ch; + 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: -1000%; + display: block; +} + +.dialogTitle { + margin: 0 0 .5em; + font-weight: bold; +} + +.dialogButtonLine { + text-align: center; +} + +/* full screen overlay - library, etc. */ +.fullScreenOverlay { + position: absolute; + top: 1%; + bottom: 1%; + right: 1%; + left: 1%; + z-index: 10; + background-color: rgba(15, 15, 15, 1.0); + border: 0; + margin: auto; + padding: .5em; + border-radius: 5px; +} + +.fullScreenOverlay.hidden { + top: -1000%; + bottom: auto; + height: 90%; + display: block; +} + +.fullScreenOverlay > .closeButtonContainer { + position: absolute; + top: 0; + right: 0; + margin: 0; + padding: 0.5em; + text-align: right; +} +/* +.fullScreenOverlay > .closeButtonContainer > .closeButton { + font-size: 2em; +} +*/ + +.fullScreenOverlay p { + margin: 0.5em 0; +} + +.fullScreenOverlay > p:first-child { + margin-top: 0; + /* leave space for close button */ + margin-right: 1.5em; +} + +#libTrackList { + overflow: auto; + /* 2em is top/bottom margin, and one line is shown above and below, with .5em margin each */ + height: calc(100% - 5em); +} + +#libTrackPages { + margin-bottom: 0; +} + +/* small screen media adaptations */ +@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; right: 1px; - font-size: 8px; } }