558 lines
12 KiB
CSS
558 lines
12 KiB
CSS
/*
|
|
* Explanation why the layout looks so complicated:
|
|
* The UI container needs a position (absolute or relative) to prevent z-index issues (DomMarker on top of UI)
|
|
* Therefore it has these additional styles:
|
|
* position: absolute;
|
|
* width: 100%;
|
|
* height: 100%;
|
|
* To prevent that the UI container captures all events the container is displaced by
|
|
* left: 100%;
|
|
* To neutralize the displacement for the UI elements within the UI container the following adjustments are needed:
|
|
* - InfoBubble (.H_ib): left: -100%;
|
|
* - left anchor (.H_l_left): margin-left: -100%;
|
|
* - center anchor (.H_l_center): left: -50%; (was left: 50%)
|
|
* - right anchor (.H_l_right): right: 100%; (was right: 0)
|
|
* margin-left: -100%;
|
|
*/
|
|
.H_ui {
|
|
font-size: 10px;
|
|
font-family: "Lucida Grande", Arial, Helvetica, sans-serif;
|
|
-moz-user-select: none;
|
|
-khtml-user-select: none;
|
|
-webkit-user-select: none;
|
|
-o-user-select: none;
|
|
-ms-user-select: none;
|
|
z-index: 0;
|
|
position: absolute;
|
|
width: 100%;
|
|
height: 100%;
|
|
left: 100%; }
|
|
|
|
.H_ui * {
|
|
/* normalize in case some other normalization CSS likes things differently */
|
|
-webkit-box-sizing: content-box;
|
|
box-sizing: content-box;
|
|
-moz-box-sizing: content-box; }
|
|
|
|
.H_noevs {
|
|
pointer-events: none; }
|
|
|
|
/*
|
|
* Layout
|
|
*/
|
|
.H_l_left {
|
|
position: absolute;
|
|
left: 0;
|
|
margin-left: -100%; }
|
|
|
|
.H_l_center {
|
|
position: absolute;
|
|
left: -50%; }
|
|
|
|
.H_l_right {
|
|
position: absolute;
|
|
right: 100%;
|
|
margin-left: -100%; }
|
|
|
|
.H_l_top {
|
|
top: 0; }
|
|
|
|
.H_l_middle {
|
|
top: 50%; }
|
|
|
|
.H_l_bottom {
|
|
bottom: 0; }
|
|
|
|
/* Fix MAPSJS-579 for modern browsers */
|
|
[class^=H_l_] {
|
|
pointer-events: none; }
|
|
|
|
.H_ctl {
|
|
/* hack for IE9-10, auto doesn't work for them */
|
|
pointer-events: visiblePainted;
|
|
pointer-events: auto; }
|
|
|
|
.H_l_horizontal .H_ctl {
|
|
float: left; }
|
|
|
|
.H_l_anchor {
|
|
clear: both;
|
|
float: right; }
|
|
|
|
.H_l_vertical .H_ctl {
|
|
clear: both; }
|
|
|
|
.H_l_right .H_l_vertical .H_ctl {
|
|
float: right; }
|
|
|
|
.H_l_right.H_l_middle.H_l_vertical .H_ctl {
|
|
float: right; }
|
|
|
|
/**
|
|
* Element styles
|
|
*/
|
|
.H_ctl {
|
|
margin: .6em;
|
|
position: relative;
|
|
cursor: pointer;
|
|
-ms-touch-action: none; }
|
|
|
|
.H_btn,
|
|
.H_rdo li {
|
|
background: #1f262a;
|
|
border-radius: 2em;
|
|
color: #fff;
|
|
padding: .4em;
|
|
-webkit-transform: translate3d(0, 1, 0); }
|
|
|
|
.H_rdo {
|
|
color: white;
|
|
padding-bottom: .5em;
|
|
margin-bottom: .5em;
|
|
border-bottom: .1em solid #4A5B65; }
|
|
|
|
.H_rdo_title {
|
|
text-transform: uppercase;
|
|
color: #dbe1e4;
|
|
margin-bottom: 1em; }
|
|
|
|
.H_rdo ul {
|
|
list-style: none;
|
|
margin: 0 auto;
|
|
padding: 0; }
|
|
|
|
.H_active,
|
|
.H_rdo li.H_active {
|
|
background: #4A5B65; }
|
|
|
|
.H_disabled,
|
|
.H_active.H_disabled {
|
|
color: #5A6166;
|
|
cursor: default; }
|
|
|
|
/**
|
|
* Base Elements
|
|
*/
|
|
.H_l_vertical .H_grp > .H_btn {
|
|
border-radius: 0; }
|
|
|
|
.H_l_vertical .H_grp > div:first-child {
|
|
-webkit-border-top-left-radius: 2em;
|
|
-webkit-border-top-right-radius: 2em;
|
|
-moz-border-radius-topleft: 2em;
|
|
-moz-border-radius-topright: 2em;
|
|
border-top-left-radius: 2em;
|
|
border-top-right-radius: 2em;
|
|
padding-top: 1em;
|
|
margin-bottom: -1px; }
|
|
|
|
.H_l_vertical .H_grp > div:last-child {
|
|
-webkit-border-bottom-right-radius: 2em;
|
|
-webkit-border-bottom-left-radius: 2em;
|
|
-moz-border-radius-bottomright: 2em;
|
|
-moz-border-radius-bottomleft: 2em;
|
|
border-bottom-right-radius: 2em;
|
|
border-bottom-left-radius: 2em;
|
|
padding-bottom: 1em; }
|
|
|
|
.H_l_horizontal .H_grp > .H_btn,
|
|
.H_l_vertical .H_ctl {
|
|
border-radius: 0;
|
|
float: left; }
|
|
|
|
.H_l_horizontal .H_grp > div:first-child {
|
|
-webkit-border-top-left-radius: 2em;
|
|
-webkit-border-bottom-left-radius: 2em;
|
|
-moz-border-radius-topleft: 2em;
|
|
-moz-border-radius-bottomleft: 2em;
|
|
border-top-left-radius: 2em;
|
|
border-bottom-left-radius: 2em;
|
|
padding-left: 1em; }
|
|
|
|
.H_l_horizontal .H_grp > div:last-child {
|
|
-webkit-border-top-right-radius: 2em;
|
|
-webkit-border-bottom-right-radius: 2em;
|
|
-moz-border-radius-topright: 2em;
|
|
-moz-border-radius-bottomright: 2em;
|
|
border-top-right-radius: 2em;
|
|
border-bottom-right-radius: 2em;
|
|
padding-right: 1em; }
|
|
|
|
/** Menu panel */
|
|
.H_overlay {
|
|
position: absolute;
|
|
min-width: 15em;
|
|
background: #1F262A;
|
|
display: none;
|
|
padding: 1em;
|
|
z-index: 100; }
|
|
|
|
.H_overlay > *:last-child {
|
|
clear: both; }
|
|
|
|
.H_overlay > .H_btn {
|
|
white-space: nowrap; }
|
|
|
|
.H_overlay.H_open {
|
|
display: block; }
|
|
|
|
.H_overlay::after {
|
|
content: " ";
|
|
width: 0px;
|
|
height: 0px;
|
|
border-style: solid;
|
|
position: absolute; }
|
|
|
|
.H_overlay.H_left::after {
|
|
border-width: 1em 1em 1em 0;
|
|
border-color: transparent #1F262A transparent transparent;
|
|
left: -1em; }
|
|
|
|
.H_overlay.H_right::after {
|
|
border-width: 1em 0 1em 1em;
|
|
border-color: transparent transparent transparent #1F262A;
|
|
left: 100%; }
|
|
|
|
.H_overlay.H_top::after {
|
|
top: .5em; }
|
|
|
|
.H_overlay.H_bottom::after {
|
|
bottom: .5em; }
|
|
|
|
.H_overlay.H_middle::after {
|
|
top: 50%;
|
|
margin-top: -1em; }
|
|
|
|
.H_overlay.H_top.H_center::after {
|
|
border-width: 0 1em 1em 1em;
|
|
border-color: transparent transparent #1F262A transparent;
|
|
top: -1em;
|
|
left: 50%;
|
|
margin-left: -1em; }
|
|
|
|
.H_overlay.H_bottom.H_center::after {
|
|
border-width: 1em 1em 0 1em;
|
|
border-color: #1F262A transparent transparent transparent;
|
|
bottom: -1em;
|
|
left: 50%;
|
|
margin-left: -1em; }
|
|
|
|
/** InfoBubble */
|
|
.H_ib {
|
|
position: absolute;
|
|
left: .91em;
|
|
background: #000;
|
|
color: #fff;
|
|
font-size: 2em;
|
|
line-height: 1em;
|
|
fill: #000;
|
|
left: -100%; }
|
|
|
|
.H_ib_tail {
|
|
position: absolute;
|
|
left: -.3em;
|
|
bottom: -.5em;
|
|
width: 1.2em;
|
|
height: 1.2em;
|
|
z-index: 100; }
|
|
|
|
.H_ib_notail .H_ib_tail {
|
|
display: none; }
|
|
|
|
.H_ib_body {
|
|
background: #000;
|
|
position: absolute;
|
|
bottom: .5em;
|
|
padding: 0 1.2em 0 0;
|
|
border-radius: .2em;
|
|
margin-right: -1em;
|
|
right: 0; }
|
|
|
|
.H_ib_close {
|
|
font-size: .6em;
|
|
position: absolute;
|
|
right: .2em;
|
|
top: .2em;
|
|
cursor: pointer;
|
|
fill: #fff; }
|
|
|
|
.H_disabled .H_ib_close {
|
|
cursor: default; }
|
|
|
|
.H_ib_noclose .H_ib_close {
|
|
display: none; }
|
|
|
|
.H_ib_noclose .H_ib_body {
|
|
padding: 0 0 0 0; }
|
|
|
|
.H_ib_content {
|
|
min-width: 6em;
|
|
margin: .2em 0;
|
|
padding: 0 .2em;
|
|
user-select: text;
|
|
-moz-user-select: text;
|
|
-khtml-user-select: text;
|
|
-webkit-user-select: text;
|
|
-o-user-select: text;
|
|
-ms-user-select: text; }
|
|
|
|
/*################################################## SLIDER ########################################################*/
|
|
.H_l_horizontal.H_slider {
|
|
float: left;
|
|
height: 2.8em;
|
|
width: auto;
|
|
padding: 0 1em; }
|
|
|
|
.H_slider .H_slider_track {
|
|
width: 0.2em;
|
|
height: 100%; }
|
|
|
|
.H_l_horizontal.H_slider .H_slider_track {
|
|
height: 0.2em;
|
|
width: 100%; }
|
|
|
|
.H_l_horizontal.H_slider .H_slider_cont {
|
|
height: 100%; }
|
|
|
|
.H_l_horizontal.H_slider .H_slider_knob_cont {
|
|
margin-top: -0.2em; }
|
|
|
|
.H_slider {
|
|
background-color: #1f262a;
|
|
padding: 1em 0em;
|
|
width: 2.8em; }
|
|
|
|
.H_slider .H_slider_cont {
|
|
position: relative; }
|
|
|
|
.H_slider .H_slider_knob_cont,
|
|
.H_slider .H_slider_knob_halo {
|
|
width: 2.4em;
|
|
height: 2.4em;
|
|
margin-left: 0em;
|
|
border-radius: 9em; }
|
|
|
|
/* This will make slightly easy to grab the knob on touch devices*/
|
|
.H_slider .H_slider_knob_halo {
|
|
background-color: rgba(255, 255, 255, 0.1); }
|
|
|
|
.H_slider .H_slider_knob {
|
|
width: 1.6em;
|
|
height: 1.6em;
|
|
background-color: white;
|
|
border-radius: 9em;
|
|
-webkit-transform: translate(-50%, -50%);
|
|
transform: translate(-50%, -50%);
|
|
top: 50%;
|
|
left: 50%;
|
|
position: absolute; }
|
|
|
|
.H_slider .H_slider_track,
|
|
.H_slider .H_slider_knob_cont {
|
|
position: relative;
|
|
top: 50%;
|
|
left: 50%;
|
|
-webkit-transform: translate(-50%, -50%);
|
|
transform: translate(-50%, -50%); }
|
|
|
|
.H_slider .H_slider_track {
|
|
background-color: white; }
|
|
|
|
.H_slider.H_disabled {
|
|
cursor: default; }
|
|
|
|
.H_disabled .H_slider_track,
|
|
.H_disabled .H_slider_knob {
|
|
background-color: #5A6166; }
|
|
|
|
/*############################################### CONTEXT MENU #####################################################*/
|
|
.H_context_menu {
|
|
min-width: 158px;
|
|
max-width: 40%;
|
|
position: absolute;
|
|
left: -100%;
|
|
top: 0;
|
|
color: white;
|
|
background-color: #000F1A;
|
|
border-radius: .4em;
|
|
padding: 10px 0;
|
|
-moz-user-select: initial;
|
|
-khtml-user-select: initial;
|
|
-webkit-user-select: initial;
|
|
-o-user-select: initial;
|
|
-ms-user-select: initial;
|
|
z-index: 200; }
|
|
|
|
.H_context_menu_closed {
|
|
display: none; }
|
|
|
|
.H_context_menu_item {
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
padding: 1px 10px 0; }
|
|
|
|
.H_context_menu_item.clickable:hover,
|
|
.H_context_menu_item.clickable:focus {
|
|
outline: none;
|
|
background-color: #00BBDC;
|
|
cursor: pointer; }
|
|
|
|
.H_context_menu_item.disabled {
|
|
background: transparent !important;
|
|
color: #5A6166;
|
|
cursor: default !important;
|
|
-moz-user-select: none;
|
|
-khtml-user-select: none;
|
|
-webkit-user-select: none;
|
|
-o-user-select: none;
|
|
-ms-user-select: none; }
|
|
|
|
.H_context_menu_item_separator {
|
|
height: 0;
|
|
margin: 8px 10px;
|
|
border-top: 1px solid #333;
|
|
border-bottom: 1px solid #666;
|
|
line-height: 0;
|
|
font-size: 0; }
|
|
|
|
/*################################################# SCALE BAR ######################################################*/
|
|
.H_scalebar_svg {
|
|
display: block; }
|
|
|
|
/*################################################## PANORAMA ######################################################*/
|
|
.H_pano_mm {
|
|
position: absolute;
|
|
top: 0;
|
|
left: -100%;
|
|
font-size: 1.5em;
|
|
width: 0;
|
|
height: 0; }
|
|
|
|
.H_pano_man {
|
|
margin-top: -3em;
|
|
z-index: 2; }
|
|
|
|
.H_pano_notransition {
|
|
-webkit-transition: none !important;
|
|
transition: none !important; }
|
|
|
|
.H_pano_circle {
|
|
margin-top: -1em;
|
|
margin-left: -1em;
|
|
-webkit-transition: all .3s;
|
|
transition: all .3s;
|
|
pointer-events: none; }
|
|
|
|
.H_disabled .H_pano_circle {
|
|
-webkit-transition: none;
|
|
transition: none;
|
|
margin-left: -.1em; }
|
|
|
|
.H_disabled .H_pano_mm svg.H_icon {
|
|
fill: #ddd;
|
|
stroke: #5A6166; }
|
|
|
|
.H_pano_man svg.H_icon,
|
|
.H_pano_circle svg.H_icon {
|
|
fill: #09b;
|
|
stroke: #fff;
|
|
pointer-events: none; }
|
|
|
|
.H_pano_ib {
|
|
cursor: pointer; }
|
|
|
|
.H_tib {
|
|
margin: 1em 0 1em 1em;
|
|
font-size: .5em;
|
|
width: 30em; }
|
|
|
|
.H_tib p {
|
|
margin: .5em 0;
|
|
padding: 0;
|
|
line-height: 1.3em; }
|
|
|
|
.H_tib p.H_tib_desc {
|
|
border-top: 1px solid #666;
|
|
padding-top: .5em; }
|
|
|
|
.H_tib .H_tib_time {
|
|
color: #aaa; }
|
|
|
|
.H_tib_right {
|
|
float: right; }
|
|
|
|
.H_dm_label {
|
|
font: 10pt sans-serif;
|
|
color: black;
|
|
text-shadow: 1px 1px .5px #FFF, 1px -1px .5px #FFF, -1px 1px .5px #FFF, -1px -1px .5px #FFF;
|
|
white-space: nowrap;
|
|
margin-left: 12px;
|
|
margin-top: -7px;
|
|
/* This will not work on IE9, but it is accepted! */
|
|
pointer-events: none; }
|
|
|
|
/*################################################### ICON #########################################################*/
|
|
svg.H_icon {
|
|
display: block;
|
|
width: 2em;
|
|
height: 2em;
|
|
fill: #fff; }
|
|
|
|
.H_active svg.H_icon {
|
|
fill: #fff; }
|
|
|
|
.H_disabled svg.H_icon,
|
|
.H_active.H_disabled {
|
|
fill: #5A6166; }
|
|
|
|
/*############################################### OVERVIEW MAP #####################################################*/
|
|
.H_overview {
|
|
-webkit-transition: width 0.2s,height 0.2s,margin-top 0.2s, padding 0.2s;
|
|
transition: width 0.2s,height 0.2s,margin-top 0.2s, padding 0.2s;
|
|
width: 0em;
|
|
height: 0em;
|
|
overflow: hidden;
|
|
cursor: default;
|
|
position: absolute;
|
|
margin: auto;
|
|
-webkit-box-sizing: border-box;
|
|
box-sizing: border-box; }
|
|
|
|
.H_overview_active {
|
|
padding: 0.5em; }
|
|
|
|
.H_l_center .H_overview {
|
|
left: -9999px;
|
|
right: -9999px; }
|
|
|
|
.H_l_middle .H_overview {
|
|
top: -9999px;
|
|
bottom: -9999px; }
|
|
|
|
.H_l_right .H_overview {
|
|
right: 100%; }
|
|
|
|
.H_l_left .H_overview {
|
|
left: 100%; }
|
|
|
|
.H_l_bottom .H_overview {
|
|
bottom: 0; }
|
|
|
|
.H_l_center.H_l_bottom .H_overview {
|
|
bottom: 100%; }
|
|
|
|
.H_l_top .H_overview {
|
|
top: 0; }
|
|
|
|
.H_l_center.H_l_top .H_overview {
|
|
top: 100%; }
|
|
|
|
.H_overview .H_overview_map {
|
|
border: 1px solid black;
|
|
background-color: rgba(255, 255, 255, 0.6);
|
|
-webkit-box-sizing: border-box;
|
|
box-sizing: border-box; }
|
|
|
|
.H_overview_map .H_ui {
|
|
display: none; }
|