body {
  overflow: visible;
}

gm-map {
  position: relative;
  height: 500px;
  width: 100%;
  max-height: calc(100vh - 120px);
}

#tools-menu {
  margin: .5em 0 0 0;
  width: 95%;
  position: absolute;
}

#my-location {
  position: absolute;
  bottom: 0.5em;
  right: 0.5em;
  background: #f5f5f5;
  color: #333;
  border: 1px solid #bbb;
  border-radius: 4px;
  font-size: 20px;
  cursor: pointer;
  padding: 5px;
}
#geolocation:hover {
  background: #ddd;
}

.panel-wrapper {
  top: .5em;
  left: 55px;
}

gm-layermanager .panel {
  max-height: 380px;
  overflow-y: auto;
}

gm-button #icon {
  padding: 5px;
}

.ol-zoom {
    top: .5em;
    left: auto !important;
  	right: .5em;
}

.ol-control, .ol-control:hover {
    background-color: #bbb !important;
    padding: 1px !important;
}

.ol-zoom .ol-zoom-in, .ol-zoom .ol-zoom-out {
  background: #F5F5F5;
  color: #333;
}
.ol-control button:focus, .ol-control button:hover {
  background: #ddd !important;
}
.ol-scale-line { 
  background: none !important;
}
.ol-scale-line .ol-scale-line-inner {
    border: 2px solid #333 !important;
    border-top: none !important;
  	background: none !important;
    color: #000 !important;
    font-weight: bold !important;
}

.ol-mouse-position {
  display: none;
}

.no-padding {
  padding: 0px;
}

.ol-popup {
  position: absolute;
  background-color: white;
  -webkit-filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
  filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2));
  padding: 10px;
  border-radius: 10px;
  border: 1px solid #cccccc;
  bottom: 12px;
  left: -50px;
  min-width: 160px;
}

.ol-popup:after, .ol-popup:before {
  top: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.ol-popup:after {
  border-top-color: white;
  border-width: 10px;
  left: 48px;
  margin-left: -10px;
}

.ol-popup:before {
  border-top-color: #cccccc;
  border-width: 11px;
  left: 48px;
  margin-left: -11px;
}

.ol-popup-closer {
  display: none;
}

.ol-popup-closer:after {
  content: "✖";
}

.ol-popup-content {
  max-height: 350px;
  word-wrap: break-word;
}


