.ol-box {
  box-sizing: border-box;
  background-color: #fff6;
  border: 1.5px solid #b3c5db;
  border-radius: 2px;
}

.ol-mouse-position {
  position: absolute;
  top: 8px;
  right: 8px;
}

.ol-scale-line {
  background: #003c884d;
  border-radius: 4px;
  padding: 2px;
  position: absolute;
  bottom: 8px;
  left: 8px;
}

.ol-scale-line-inner {
  color: #eee;
  text-align: center;
  will-change: contents, width;
  border: 1px solid #eee;
  border-top: none;
  margin: 1px;
  font-size: 10px;
  transition: all .25s;
}

.ol-scale-singlebar-even {
  background-color: #000;
}

.ol-scale-singlebar-odd {
  background-color: #fff;
}

.ol-scale-bar {
  position: absolute;
  bottom: 8px;
  left: 8px;
}

.ol-scale-step-marker {
  width: 1px;
  height: 15px;
  float: right;
  z-index: 10;
  background-color: #000;
}

.ol-scale-step-text {
  z-index: 11;
  color: #000;
  text-shadow: -2px 0 #fff, 0 2px #fff, 2px 0 #fff, 0 -2px #fff;
  font-size: 12px;
  position: absolute;
  bottom: -5px;
}

.ol-scale-text {
  text-align: center;
  color: #000;
  text-shadow: -2px 0 #fff, 0 2px #fff, 2px 0 #fff, 0 -2px #fff;
  font-size: 14px;
  position: absolute;
  bottom: 25px;
}

.ol-scale-singlebar {
  height: 10px;
  z-index: 9;
  box-sizing: border-box;
  border: 1px solid #000;
  position: relative;
}

.ol-unsupported {
  display: none;
}

.ol-viewport, .ol-unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: #0000;
}

.ol-viewport canvas {
  all: unset;
}

.ol-selectable {
  -webkit-touch-callout: default;
  -webkit-user-select: text;
  user-select: text;
}

.ol-grabbing {
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

.ol-grab {
  cursor: move;
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.ol-control {
  background-color: #fff6;
  border-radius: 4px;
  padding: 2px;
  position: absolute;
}

.ol-control:hover {
  background-color: #fff9;
}

.ol-zoom {
  top: .5em;
  left: .5em;
}

.ol-rotate {
  transition: opacity .25s linear, visibility linear;
  top: .5em;
  right: .5em;
}

.ol-rotate.ol-hidden {
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s linear, visibility 0s linear .25s;
}

.ol-zoom-extent {
  top: 4.643em;
  left: .5em;
}

.ol-full-screen {
  top: .5em;
  right: .5em;
}

.ol-control button {
  color: #fff;
  font-weight: bold;
  font-size: inherit;
  text-align: center;
  height: 1.375em;
  width: 1.375em;
  background-color: #003c8880;
  border: none;
  border-radius: 2px;
  margin: 1px;
  padding: 0;
  line-height: .4em;
  text-decoration: none;
  display: block;
}

.ol-control button::-moz-focus-inner {
  border: none;
  padding: 0;
}

.ol-zoom-extent button {
  line-height: 1.4em;
}

.ol-compass {
  will-change: transform;
  font-size: 1.2em;
  font-weight: normal;
  display: block;
}

.ol-touch .ol-control button {
  font-size: 1.5em;
}

.ol-touch .ol-zoom-extent {
  top: 5.5em;
}

.ol-control button:hover, .ol-control button:focus {
  background-color: #003c88b3;
  text-decoration: none;
}

.ol-zoom .ol-zoom-in {
  border-radius: 2px 2px 0 0;
}

.ol-zoom .ol-zoom-out {
  border-radius: 0 0 2px 2px;
}

.ol-attribution {
  text-align: right;
  max-width: calc(100% - 1.3em);
  flex-flow: row-reverse;
  align-items: center;
  display: flex;
  bottom: .5em;
  right: .5em;
}

.ol-attribution a {
  color: #003c88b3;
  text-decoration: none;
}

.ol-attribution ul {
  color: #000;
  text-shadow: 0 0 2px #fff;
  margin: 0;
  padding: 1px .5em;
  font-size: 12px;
}

.ol-attribution li {
  list-style: none;
  display: inline;
}

.ol-attribution li:not(:last-child):after {
  content: " ";
}

.ol-attribution img {
  max-height: 2em;
  max-width: inherit;
  vertical-align: middle;
}

.ol-attribution button {
  flex-shrink: 0;
}

.ol-attribution.ol-collapsed ul {
  display: none;
}

.ol-attribution:not(.ol-collapsed) {
  background: #fffc;
}

.ol-attribution.ol-uncollapsible {
  border-radius: 4px 0 0;
  bottom: 0;
  right: 0;
}

.ol-attribution.ol-uncollapsible img {
  max-height: 1.6em;
  margin-top: -.2em;
}

.ol-attribution.ol-uncollapsible button {
  display: none;
}

.ol-zoomslider {
  height: 200px;
  top: 4.5em;
  left: .5em;
}

.ol-zoomslider button {
  height: 10px;
  position: relative;
}

.ol-touch .ol-zoomslider {
  top: 5.5em;
}

.ol-overviewmap {
  bottom: .5em;
  left: .5em;
}

.ol-overviewmap.ol-uncollapsible {
  border-radius: 0 4px 0 0;
  bottom: 0;
  left: 0;
}

.ol-overviewmap .ol-overviewmap-map, .ol-overviewmap button {
  display: block;
}

.ol-overviewmap .ol-overviewmap-map {
  height: 150px;
  width: 150px;
  border: 1px solid #7b98bc;
  margin: 2px;
}

.ol-overviewmap:not(.ol-collapsed) button {
  position: absolute;
  bottom: 2px;
  left: 2px;
}

.ol-overviewmap.ol-collapsed .ol-overviewmap-map, .ol-overviewmap.ol-uncollapsible button {
  display: none;
}

.ol-overviewmap:not(.ol-collapsed) {
  background: #fffc;
}

.ol-overviewmap-box {
  border: 2px dotted #003c88b3;
}

.ol-overviewmap .ol-overviewmap-box:hover {
  cursor: move;
}

.ol-popup {
  background-color: #fff;
  border: 1px solid #ccc;
  padding: 15px 25px 15px 15px;
  display: none;
  position: absolute;
  bottom: 12px;
  left: -50px;
}

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

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

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

.ol-popup-content {
  min-width: 170px;
  max-height: 200px;
  overflow-x: auto;
}

.ol-popup-closer {
  color: gray;
  padding: 0 4px;
  font-size: 150%;
  text-decoration: none;
  position: absolute;
  top: 2px;
  right: 2px;
}

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

.ol-popup div.infoResult {
  min-width: 130px;
}

.ol-popup div.infoResult p {
  margin: 0;
  padding: .1em;
}

.ol-popup-content h3 {
  margin: .25em 0;
}

.ol-popup.marker {
  margin-bottom: 30px;
}

.layer-switcher {
  text-align: left;
  position: absolute;
  top: 3.5em;
  right: .5em;
}

.layer-switcher .panel {
  max-height: inherit;
  height: 100%;
  box-sizing: border-box;
  background-color: #fff;
  border: 4px solid #eee;
  border-radius: 4px;
  margin: 0;
  display: none;
  overflow-y: auto;
}

.layer-switcher button {
  float: right;
  z-index: 1;
  width: 38px;
  height: 38px;
  color: #000;
  background-color: #fff;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAACE1BMVEX///8A//8AgICA//8AVVVAQID///8rVVVJtttgv98nTmJ2xNgkW1ttyNsmWWZmzNZYxM4gWGgeU2JmzNNr0N1Rwc0eU2VXxdEhV2JqytQeVmMhVmNoydUfVGUgVGQfVGQfVmVqy9hqy9dWw9AfVWRpydVry9YhVmMgVGNUw9BrytchVWRexdGw294gVWQgVmUhVWPd4N6HoaZsy9cfVmQgVGRrytZsy9cgVWQgVWMgVWRsy9YfVWNsy9YgVWVty9YgVWVry9UgVWRsy9Zsy9UfVWRsy9YgVWVty9YgVWRty9Vsy9aM09sgVWRTws/AzM0gVWRtzNYgVWRuy9Zsy9cgVWRGcHxty9bb5ORbxdEgVWRty9bn6OZTws9mydRfxtLX3Nva5eRix9NFcXxOd4JPeINQeIMiVmVUws9Vws9Vw9BXw9BYxNBaxNBbxNBcxdJexdElWWgmWmhjyNRlx9IqXGtoipNpytVqytVryNNrytZsjZUuX210k5t1y9R2zNR3y9V4lp57zth9zdaAnKOGoaeK0NiNpquV09mesrag1tuitbmj1tuj19uktrqr2d2svcCu2d2xwMO63N+7x8nA3uDC3uDFz9DK4eHL4eLN4eIyYnDX5OM5Z3Tb397e4uDf4uHf5uXi5ePi5+Xj5+Xk5+Xm5+Xm6OY6aHXQ19fT4+NfhI1Ww89gx9Nhx9Nsy9ZWw9Dpj2abAAAAWnRSTlMAAQICAwQEBgcIDQ0ODhQZGiAiIyYpKywvNTs+QklPUlNUWWJjaGt0dnd+hIWFh4mNjZCSm6CpsbW2t7nDzNDT1dje5efr7PHy9PT29/j4+Pn5+vr8/f39/f6DPtKwAAABTklEQVR4Xr3QVWPbMBSAUTVFZmZmhhSXMjNvkhwqMzMzMzPDeD+xASvObKePPa+ffHVl8PlsnE0+qPpBuQjVJjno6pZpSKXYl7/bZyFaQxhf98hHDKEppwdWIW1frFnrxSOWHFfWesSEWC6R/P4zOFrix3TzDFLlXRTR8c0fEEJ1/itpo7SVO9Jdr1DVxZ0USyjZsEY5vZfiiAC0UoTGOrm9PZLuRl8X+Dq1HQtoFbJZbv61i+Poblh/97TC7n0neCcK0ETNUrz1/xPHf+DNAW9Ac6t8O8WH3Vp98f5lCaYKAOFZMLyHL4Y0fe319idMNgMMp+zWVSybUed/+/h7I4wRAG1W6XDy4XmjR9HnzvDRZXUAYDFOhC1S/Hh+fIXxen+eO+AKqbs+wAo30zDTDvDxKoJN88sjUzDFAvBzEUGFsnADoIvAJzoh2BZ8sner+Ke/vwECuQAAAABJRU5ErkJggg==");
  background-position: 2px;
  background-repeat: no-repeat;
  border: none;
}

.layer-switcher button:focus, .layer-switcher button:hover {
  background-color: #fff;
}

.layer-switcher.shown {
  overflow-y: hidden;
}

.layer-switcher.shown.ol-control, .layer-switcher.shown.ol-control:hover {
  background-color: #0000;
}

.layer-switcher.shown .panel {
  display: block;
}

.layer-switcher.shown button {
  display: none;
}

.layer-switcher.shown.layer-switcher-activation-mode-click > button {
  background-image: unset;
  background-color: #eee;
  margin: 0 1px;
  display: block;
  position: absolute;
  right: 2px;
}

.layer-switcher.shown button:focus, .layer-switcher.shown button:hover {
  background-color: #fafafa;
}

.layer-switcher ul {
  margin: 1.6em .4em;
  padding-left: 0;
  list-style: none;
}

.layer-switcher ul ul {
  margin: .1em 0 0;
  padding-left: 1.2em;
}

.layer-switcher li.group + li.group {
  margin-top: .4em;
}

.layer-switcher li.group > label {
  font-weight: bold;
}

.layer-switcher.layer-switcher-group-select-style-none li.group > label {
  padding-left: 1.2em;
}

.layer-switcher li {
  margin-top: .3em;
  position: relative;
}

.layer-switcher li input {
  height: 1em;
  width: 1em;
  font-size: 1em;
  position: absolute;
  left: 1.2em;
}

.layer-switcher li label {
  margin-top: 1px;
  padding-left: 2.7em;
  padding-right: 1.2em;
  display: inline-block;
}

.layer-switcher label.disabled {
  opacity: .4;
}

.layer-switcher input {
  margin: 0;
}

.layer-switcher.touch ::-webkit-scrollbar {
  width: 4px;
}

.layer-switcher.touch ::-webkit-scrollbar-track {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px #0000004d;
}

.layer-switcher.touch ::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px #00000080;
}

li.layer-switcher-base-group > label {
  padding-left: 1.2em;
}

.layer-switcher .group button {
  vertical-align: top;
  float: none;
  width: 1em;
  height: 1em;
  -webkit-transition: -webkit-transform .2s ease-in-out;
  -ms-transition: -ms-transform .2s ease-in-out;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAW0lEQVR4nGNgGAWMyBwXFxcGBgaGeii3EU0tXHzPnj1wQRYsihqQ+I0ExDEMQAYNONgoAN0AmMkNaDSyQSheY8JiaCMOGzE04zIAmyFYNTMw4A+DRhzsUUBtAADw4BCeIZkGdwAAAABJRU5ErkJggg==");
  background-position: 50% 2px;
  margin: 0;
  font-size: 1em;
  transition: transform .2s ease-in-out;
  display: inline-block;
  position: absolute;
  left: 0;
}

.layer-switcher .group.layer-switcher-close button {
  transform: rotate(-90deg);
}

.layer-switcher .group.layer-switcher-fold.layer-switcher-close > ul {
  height: 0;
  overflow: hidden;
}

.layer-switcher.shown.layer-switcher-activation-mode-click {
  padding-left: 34px;
}

.layer-switcher.shown.layer-switcher-activation-mode-click > button {
  border-right: 0;
  left: 0;
}

.ol-control.ol-layerswitcher {
  text-align: left;
  max-height: calc(100% - 6em);
  box-sizing: border-box;
  position: absolute;
  top: 3em;
  right: .5em;
  overflow: hidden;
}

.ol-control.ol-layerswitcher .ol-switchertopdiv, .ol-control.ol-layerswitcher .ol-switcherbottomdiv {
  display: block;
}

.ol-control.ol-layerswitcher.ol-collapsed .ol-switchertopdiv, .ol-control.ol-layerswitcher.ol-collapsed .ol-switcherbottomdiv {
  display: none;
}

.ol-layerswitcher.ol-forceopen.ol-collapsed .ol-switchertopdiv, .ol-layerswitcher.ol-forceopen.ol-collapsed .ol-switcherbottomdiv {
  display: block;
}

.ol-control.ol-layerswitcher .ol-switchertopdiv, .ol-control.ol-layerswitcher .ol-switcherbottomdiv {
  height: 45px;
  z-index: 2;
  opacity: 1;
  cursor: pointer;
  box-sizing: border-box;
  background: #fff;
  border-top: 2px solid #0000;
  border-bottom: 2px solid #369;
  margin: 0 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.ol-control.ol-layerswitcher .ol-switcherbottomdiv {
  height: 2em;
  border-top: 2px solid #369;
  border-bottom: 2px solid #0000;
  top: auto;
  bottom: 0;
}

.ol-control.ol-layerswitcher .ol-switchertopdiv:before, .ol-control.ol-layerswitcher .ol-switcherbottomdiv:before {
  content: "";
  width: 0;
  height: 0;
  opacity: .8;
  border: 10px solid #0000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ol-control.ol-layerswitcher .ol-switchertopdiv:hover:before, .ol-control.ol-layerswitcher .ol-switcherbottomdiv:hover:before {
  opacity: 1;
}

.ol-control.ol-layerswitcher .ol-switchertopdiv:before {
  border-top: 0;
  border-bottom-color: #369;
}

.ol-control.ol-layerswitcher .ol-switcherbottomdiv:before {
  border-top-color: #369;
  border-bottom: 0;
}

.ol-control.ol-layerswitcher .panel-container {
  clear: both;
  background-color: #fff;
  border-radius: 0 0 2px 2px;
  padding: .5em .5em 0;
  display: block;
}

.ol-layerswitcher .panel {
  margin: 0;
  padding: 0;
  font-family: Tahoma, Geneva, sans-serif;
  font-size: .9em;
  list-style: none;
  transition: top .3s;
  position: relative;
  top: 0;
  overflow: hidden;
}

.ol-layerswitcher .panel ul {
  clear: both;
  padding: 0 0 0 20px;
  list-style: none;
  overflow: hidden;
}

.ol-layerswitcher input[type="radio"], .ol-layerswitcher input[type="checkbox"] {
  display: none;
}

.ol-layerswitcher .panel li {
  -weblit-transition: -webkit-transform .2s linear;
  clear: both;
  box-sizing: border-box;
  border: 1px solid #0000;
  transition: transform .2s linear;
  display: block;
}

.ol-layerswitcher .panel li.ol-layer-select {
  background-color: #003c8833;
  margin: 0 -.5em;
  padding: 0 .5em;
}

.ol-layerswitcher .panel li.drag {
  opacity: .5;
  transform: scale(.8);
}

.ol-dragover {
  opacity: .8;
  background: #33669980;
}

.ol-layerswitcher .panel li.forbidden, .forbidden .ol-layerswitcher-buttons div, .forbidden .layerswitcher-opacity div {
  background: #ff000080;
  color: red !important;
}

.ol-layerswitcher.drag, .ol-layerswitcher.drag * {
  cursor: not-allowed !important;
  cursor: no-drop !important;
}

.ol-layerswitcher.drag .panel li.dropover, .ol-layerswitcher.drag .panel li.dropover * {
  cursor: pointer !important;
  cursor: n-resize !important;
  cursor: ns-resize !important;
  cursor: grab !important;
  cursor: grabbing !important;
}

.ol-layerswitcher .panel li.dropover {
  background: #33669980;
}

.ol-layerswitcher .panel li label {
  height: 1.4em;
  max-width: 12em;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 0 0 0 1.7em;
  display: inline-block;
  position: relative;
  overflow: hidden;
}

.ol-layerswitcher .panel li label span {
  width: 100%;
  height: 100%;
  text-overflow: ellipsis;
  padding-right: .2em;
  display: inline-block;
  overflow: hidden;
}

.ol-layerswitcher [type="radio"] + label:before, .ol-layerswitcher [type="checkbox"] + label:before, .ol-layerswitcher [type="radio"]:checked + label:after, .ol-layerswitcher [type="checkbox"]:checked + label:after {
  content: "";
  width: 1.2em;
  height: 1.2em;
  box-sizing: border-box;
  background: #fff;
  border: 2px solid #369;
  position: absolute;
  top: .1em;
  left: .1em;
}

.ol-layerswitcher [type="radio"] + label:before, .ol-layerswitcher [type="radio"] + label:after {
  border-radius: 50%;
}

.ol-layerswitcher [type="radio"]:checked + label:after {
  width: .6em;
  height: .6em;
  background: #369;
  margin: .3em;
}

.ol-layerswitcher [type="checkbox"]:checked + label:after {
  width: .7em;
  height: 1em;
  background: none;
  border: 3px solid #369;
  border-width: 0 3px 3px 0;
  top: -.05em;
  left: .55em;
  transform: rotate(45deg);
  box-shadow: 1px 0 1px 1px #fff;
}

.ol-layerswitcher .panel li.ol-layer-hidden {
  opacity: .6;
}

.ol-layerswitcher.ol-collapsed .panel-container {
  display: none;
}

.ol-layerswitcher.ol-forceopen .panel-container {
  display: block;
}

.ol-layerswitcher > button {
  float: right;
  z-index: 10;
  background-color: #fff;
  font-size: 1.7em;
  position: relative;
}

.ol-touch .ol-layerswitcher > button {
  font-size: 2.5em;
}

.ol-layerswitcher > button:before, .ol-layerswitcher > button:after {
  content: "";
  width: .75em;
  height: .75em;
  border-radius: .15em;
  position: absolute;
  transform: scaleY(.8)rotate(45deg);
}

.ol-layerswitcher > button:before {
  background: #e2e4e1;
  top: .32em;
  left: .34em;
  box-shadow: .1em .1em #325158;
}

.ol-layerswitcher > button:after {
  background: #83bcc5;
  background-image: -webkit-radial-gradient( .85em .6em, circle, #70b3be 0, #70b3be .65em, #83bcc5 .65em);
  background-image: -o-radial-gradient( .85em .6em, circle, #70b3be 0, #70b3be .65em, #83bcc5 .65em);
  background-image: radial-gradient(circle at .85em .6em, #70b3be 0 .65em, #83bcc5 .65em);
  top: .22em;
  left: .34em;
}

.ol-layerswitcher-buttons {
  float: right;
  text-align: right;
  display: block;
}

.ol-layerswitcher-buttons > div {
  cursor: pointer;
  height: 1em;
  width: 1em;
  text-align: center;
  vertical-align: middle;
  color: #fff;
  background: #369;
  margin: 2px;
  line-height: 1em;
  display: inline-block;
  position: relative;
}

.ol-layerswitcher .panel li > div {
  display: inline-block;
  position: relative;
}

.ol-layerswitcher .ol-separator {
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
  display: block;
}

.ol-layerswitcher .layerup {
  float: right;
  height: 2.5em;
  opacity: .5;
  cursor: move;
  cursor: ns-resize;
  background-color: #369;
}

.ol-layerswitcher .layerup:before, .ol-layerswitcher .layerup:after {
  content: "";
  height: 0;
  width: 0;
  border: .4em solid #0000;
  border-top-color: #fff;
  border-bottom: 0 solid #fff;
  position: absolute;
  bottom: 3px;
  left: .1em;
}

.ol-layerswitcher .layerup:after {
  border-width: 0 .4em .4em;
  top: 3px;
  bottom: auto;
}

.ol-layerswitcher .layerInfo {
  background: #369;
  border-radius: 100%;
}

.ol-layerswitcher .layerInfo:before {
  color: #fff;
  content: "i";
  text-align: center;
  width: 1.25em;
  font-size: .8em;
  font-weight: bold;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.ol-layerswitcher .layerTrash {
  background: #369;
}

.ol-layerswitcher .layerTrash:before {
  color: #fff;
  content: "×";
  text-align: center;
  margin: -.5em 0;
  font-size: 1em;
  line-height: 1em;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
}

.ol-layerswitcher .layerExtent {
  background: #369;
}

.ol-layerswitcher .layerExtent:before {
  content: "";
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  display: block;
  position: absolute;
  inset: 6px 2px 3px 6px;
}

.ol-layerswitcher .layerExtent:after {
  content: "";
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  display: block;
  position: absolute;
  inset: 3px 6px 6px 2px;
}

.ol-layerswitcher .expend-layers, .ol-layerswitcher .collapse-layers {
  background-color: #0000;
  margin: 0 2px;
}

.ol-layerswitcher .expend-layers:before, .ol-layerswitcher .collapse-layers:before {
  content: "";
  height: 4px;
  width: 100%;
  background: #369;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  left: 0;
}

.ol-layerswitcher .expend-layers:after {
  content: "";
  width: 4px;
  height: 100%;
  background: #369;
  margin-left: -2px;
  position: absolute;
  top: 0;
  left: 50%;
}

.ol-layerswitcher .layerswitcher-opacity {
  height: 3px;
  width: 120px;
  box-sizing: border-box;
  cursor: pointer;
  background: linear-gradient(to right, #003c8800, #003c8899);
  border: 1px solid #369;
  border-radius: 3px;
  margin: 5px 1em 10px 7px;
  position: relative;
  box-shadow: 1px 1px 1px #00000080;
}

.ol-layerswitcher .layerswitcher-opacity .layerswitcher-opacity-cursor, .ol-layerswitcher .layerswitcher-opacity .layerswitcher-opacity-cursor:before {
  width: 20px;
  height: 20px;
  z-index: 1;
  background: #003c8880;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ol-layerswitcher .layerswitcher-opacity .layerswitcher-opacity-cursor:before {
  content: "";
  width: 50%;
  height: 50%;
  position: absolute;
}

.ol-touch .ol-layerswitcher .layerswitcher-opacity .layerswitcher-opacity-cursor {
  width: 26px;
  height: 26px;
}

.ol-layerswitcher .layerswitcher-opacity-label {
  font-size: .8em;
  display: none;
  position: absolute;
  bottom: 5px;
  right: -2.5em;
}

.ol-layerswitcher .layerswitcher-opacity-label:after {
  content: "%";
}

.ol-layerswitcher .layerswitcher-progress {
  width: 120px;
  margin: -4px 1em 2px 7px;
  display: block;
}

.ol-layerswitcher .layerswitcher-progress div {
  height: 2px;
  width: 0;
  background-color: #369;
  display: block;
}

.field_full {
  display: none;
}

.form-detailed-criteria-list {
  padding: 3px;
}

.form-detailed-criteria-list label {
  margin-bottom: 3px;
  font-weight: normal;
}

.form-detailed-criteria-list .checkbox label, .form-detailed-criteria-list .radio label {
  margin-bottom: 0;
}

.form-detailed-criteria-list .form-group {
  margin-bottom: .9em;
  position: relative;
}

.form-detailed-criteria-list .checkbox, .form-detailed-criteria-list .radio {
  min-height: unset;
}

.form-detailed-criteria-list .form-group label + .checkbox {
  margin-top: 1px;
}

.criteria-field-section {
  border-bottom: 1px solid #d0d0d0;
  padding-bottom: 3px;
}

.catalog-tab-container .form-group {
  position: relative;
}

table.table_concise, table.table_metadata {
  border-spacing: 1px;
  border-collapse: separate;
}

table.table_concise th, table.table_concise td, table.table_metadata th, table.table_metadata td {
  padding: 3px;
  font-size: 10pt;
}

.table_concise th, .table_metadata th {
  color: #fff;
  background-color: #369;
  font-weight: bold;
  position: sticky;
  top: 0;
}

.table_concise th a, .table_metadata th a {
  color: #fff;
}

.table_concise a, .table_metadata a {
  text-decoration: none;
}

.table-results .selected {
  background-color: #bdf !important;
}

.table-results tr {
  -webkit-user-select: none;
  user-select: none;
  -khtml-user-select: none;
  -o-user-select: none;
}

.table-results tr.result_row {
  background-color: #fff;
}

.table-results tr.unpublished {
  background-color: #ffebeb;
}

.table-results tr.loaned {
  background-color: #ffe4bd;
}

#thumb_container .gallery {
  min-height: 205px;
  position: relative;
}

#thumb_container .gallery .fa-picture-o {
  width: 150px;
  height: 150px;
  text-align: center;
  line-height: 150px;
  overflow: hidden;
}

#thumb_container input[type="checkbox"] {
  margin: .6em 8px 0 0;
}

table.table_metadata {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1em;
}

table.table_metadata, table.table_metadata th, table.table_metadata td {
  border: 1px solid #369;
}

#fixedheader {
  display: none;
}

.form-group .tags {
  clear: both;
  overflow: hidden;
}

.form-group span.tag {
  color: #fff;
  float: left;
  cursor: default;
  background-color: #369;
  border-radius: 3pt;
  margin: 1px 5px 1px 0;
  padding: 2px;
  line-height: 1.22;
  display: inline-block;
}

.form-group i.fa {
  cursor: pointer;
  line-height: 1.22;
}

.form-control {
  padding: 6px;
}

select, select.form-control {
  padding-left: 3px;
}

.dropdown-menu > li {
  margin: 0;
}

.dropdown-menu > li > a {
  text-decoration: none;
}

.search-dropdown-menu {
  width: 300px;
  max-height: 300px;
  display: none;
  overflow: auto;
}

.gallery_media {
  width: 250px;
  height: 250px;
  text-align: center;
  background-color: #ddd;
  overflow: hidden;
}

.gallery_media img {
  max-height: 250px;
  max-width: 250px;
  width: auto;
  vertical-align: middle;
  display: inline-block;
}

.gallery_media .helper {
  height: 100%;
  vertical-align: middle;
  display: inline-block;
}

.object-img {
  width: auto;
  height: auto;
  max-height: 180px;
}

#object-menu li {
  margin: 0;
}

.btn .fa {
  line-height: inherit;
}

.catalog-tab-container textarea {
  width: 100%;
  min-height: 4em;
  resize: vertical;
}

#interact_tab_container {
  z-index: 20;
  overflow: hidden;
}

#interact_tab_container .nav-tabs {
  padding-left: 15px;
}

#interact_tab_container .nav-tabs .nav-link {
  color: #222;
  background-color: #fff;
  padding: 10px 18px;
  font-size: 15px;
  line-height: 1;
}

#interact_tab_container .tab-content {
  height: calc(100% - 37px);
  background-color: #fff;
  overflow-y: scroll;
}

#interact_tab_container .tab-content > .tab-pane {
  min-height: 50px;
}

#tab_shopping_cart {
  color: #222;
  background-color: #f2f2f2;
}

#block_results_sheet, #block_shopping_cart {
  padding: 10px 15px;
}

#search_box_container {
  z-index: 1000;
  position: relative;
}

#modal_search_criteria {
  width: calc(100% - 30px);
  max-height: 90vh;
  padding: 10px 15px;
  overflow-y: auto;
}

.label-search-criteria {
  cursor: pointer;
  border: 1px solid #aaa;
  padding: 8px;
  font-size: .86rem;
}

.tab-highlight, #interact_tab_container .nav-tabs .tab-highlight {
  color: #111;
  background-color: #e4ffea;
  font-weight: bold;
}

.notice-none {
  color: #a00;
}

#search_field {
  cursor: pointer;
}

#search_criteria_add {
  justify-content: left;
  align-items: start;
  margin-bottom: 2rem;
}

.field-value-wrapper {
  flex-grow: 1;
  position: relative;
}

.field-value-wrapper > .form-control {
  width: 100%;
}

#search_criteria_wrapper {
  flex-wrap: wrap;
  display: flex;
}

.label-search-criteria {
  margin-bottom: .4rem;
  margin-right: .4rem;
}

.label-search-criteria .fas {
  margin-left: .35rem;
}

#search_criteria_add .field-value-wrapper label {
  justify-content: start;
}

#tab_results_sheet {
  position: relative;
}

#tab_results_sheet_count {
  border-right: 1px solid #444;
  margin-right: 10px;
  padding-right: 10px;
  display: inline-block;
}

#action_expand_tab_results_sheet {
  padding: .5rem 0;
  font-weight: bold;
  position: relative;
}

#tab_results_sheet i.fa-sync-alt {
  font-size: 18px;
  display: none;
  position: absolute;
  top: .5em;
  left: 1em;
}

#tab_results_sheet.status-loading i.fa-sync-alt {
  display: inline-block;
}

#tab_results_sheet.status-loading #tab_results_sheet_count {
  padding-left: 26px;
}

.sliderWrapper {
  postion: relative;
  margin: 0;
  display: inline-block;
}

.sliderWrapper div {
  line-height: 34px;
  display: inline-block;
}

.switch {
  vertical-align: middle;
  width: 60px;
  height: 34px;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
  display: inline-block;
  position: relative;
}

.switch input {
  display: none;
}

.slider {
  cursor: pointer;
  background-color: #ccc;
  transition: all .4s;
  position: absolute;
  inset: 0;
}

.slider:before {
  content: "";
  height: 26px;
  width: 26px;
  background-color: #fff;
  transition: all .4s;
  position: absolute;
  bottom: 4px;
  left: 4px;
}

input:checked + .slider {
  background-color: #2196f3;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196f3;
}

input:checked + .slider:before {
  transform: translateX(26px);
}

.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

html, body {
  height: 100%;
  font-size: 11pt;
}

body {
  background-color: #c9d8eb;
  margin: 0;
  padding: 0;
  font-family: Verdana, Arial, Helvetica, sans-serif;
  line-height: 1.22;
  overflow: hidden;
}

#header {
  height: 88px;
  background-color: #495864;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  border-top: 6px solid #b00;
  overflow: visible;
}

#logo {
  color: #fff;
  background-image: url("logo_map_brand.6969a4c0.png");
  background-position: 4px;
  background-repeat: no-repeat;
  background-size: 84px;
  padding-left: 82px;
  font-family: proximanova, Source Sans Pro, sans-serif;
}

#logo h1 {
  text-transform: uppercase;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 17pt;
  font-weight: 700;
  line-height: .94;
}

#logo .line2 {
  text-transform: uppercase;
  letter-spacing: .35em;
  font-size: 12pt;
  font-weight: 600;
}

h3 {
  margin-top: .9em;
  margin-bottom: .2em;
  font-family: proximanova, Source Sans Pro, sans-serif;
  font-size: 16pt;
  font-weight: 600;
}

.ol-layerswitcher-buttons {
  z-index: 1;
}

#legend {
  height: 90px;
  float: right;
  background-color: #f0f0f0;
  padding: 5px;
  font-size: 10pt;
}

#legend th {
  vertical-align: top;
  background: #e0e0e0;
}

#legend td, #legend img {
  vertical-align: middle;
}

#block_wrapper {
  z-index: 1;
  position: absolute;
  inset: 88px 0 0;
  overflow: hidden;
}

.collapsible-layer {
  height: 100%;
  transition: height .4s;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.collapsible-layer.closed {
  height: calc(35% - 37.5px);
}

#map_container {
  z-index: 10;
  top: 0;
  bottom: unset;
  height: calc(65% + 37px);
}

#map {
  width: 100%;
  height: 100%;
}

.layer-switcher {
  z-index: 2;
}

.legend, .control {
  text-align: left;
  background-color: #fff6;
  border-radius: 4px;
  padding: 2px;
  position: absolute;
  left: .5em;
}

.legend {
  height: calc(100% - 8em);
  display: none;
  top: 5em;
  overflow: auto;
}

.minimized-legend {
  height: auto !important;
}

.control {
  bottom: 6.5em;
}

.legend-button, .control-button {
  float: right;
  z-index: 1;
  color: #000;
  cursor: pointer;
  background-color: #fff;
  border: none;
  margin: 1px;
  padding: 10px 5px;
  line-height: .4em;
  text-decoration: none;
  display: block;
}

.legend-panel, .control-panel {
  height: 100%;
  border: 4px solid #eee;
  border-radius: 4px;
  display: none;
}

.legend-title-bar, .control-title-bar {
  text-align: center;
  height: 1.5em;
  background-color: #fff;
}

.legend-title, .control-title {
  text-align: center;
  height: 1.5em;
  font-weight: bold;
  line-height: 1.5em;
}

.btn-close {
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  color: #000;
  opacity: .5;
  float: right;
  background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center / 1em no-repeat;
  border: 0;
  border-radius: .25rem;
  padding: .25em;
}

.btn-close:hover {
  opacity: .9;
}

.legend-html, .control-sliders {
  height: calc(100% - 22px);
  background-color: #fff;
  padding: .5em;
  overflow: auto;
}

.float_right {
  float: right;
  padding: 0 0 8px 8px;
}

.results_item {
  cursor: pointer;
  background-color: #f6f6f6;
  border-bottom: 1px solid #909090;
  font-size: 10pt;
}

.results_item p {
  margin: 0;
}

.results_item:hover {
  background-color: #d9d9d9;
}

.busy {
  width: 100%;
  height: 100%;
  z-index: 20001;
  position: absolute;
  top: 0;
  left: 0;
}

#results .back, #results .link, #results .link-refine {
  text-align: center;
  background-color: #cbdbf5;
  margin: 0;
  padding: 9pt 10px;
  font-weight: bold;
}

#results .link-refine {
  font-size: 12pt;
}

#results .pagerbutton {
  padding-left: 1.5em;
}

label, .form_label {
  margin-top: .8em;
  font-family: Arial, sans-serif;
  font-size: 11pt;
  font-weight: bold;
  display: block;
}

#map label {
  display: inline;
}

.search_hint {
  font-size: 10pt;
  font-style: italic;
}

input[type="submit"], input[type="button"], .button {
  background-color: #bcbec0;
  border: 1px solid #999;
  border-radius: 5px;
  padding: 2px 4px;
  font-size: 12pt;
  text-decoration: none;
}

a.button, a.button:hover {
  text-decoration: none;
}

input[type="submit"]:hover, input[type="button"]:hover, .button:hover {
  background-color: #e0e0e0;
}

#icon_shorturl_expander {
  z-index: 100000;
  width: 32px;
  height: 32px;
  position: absolute;
  top: 5px;
  right: 95px;
  overflow: hidden;
}

#icon_shorturl_expander .icon {
  width: 32px;
  height: 32px;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
}

#header a.icon {
  padding: 5px 12px;
  font-size: 18pt;
}

#map_form_input {
  width: 400px;
  text-align: right;
  background-color: #fff9;
  margin-bottom: 0;
  padding: 2px;
  font-weight: bold;
  position: absolute;
  top: 0;
  right: 37px;
}

#map_form_input div {
  padding-left: 0;
  padding-right: 0;
}

#map_form_input label {
  padding-top: 4px;
  padding-left: 0;
  padding-right: 10px;
}

#map_form_input input {
  height: auto;
  padding: 4px;
  font-size: 10pt;
}

.box_round {
  background-color: #fff;
  border: 1px solid gray;
  border-radius: 10px;
  padding: 10px;
  font-size: 10pt;
}

#map .olControlAttribution {
  background-color: #e8e8e8bf;
  padding: 5px;
  font-size: 9pt;
  left: 0;
  right: auto;
  bottom: 0 !important;
}

#map div.olControlMousePosition {
  font-size: 9pt !important;
}

.card {
  background-color: #fff;
  border: 1px solid #00000024;
  border-radius: .25em;
  position: relative;
}

.card-toast {
  opacity: 0;
  text-align: center;
  background-color: #d9dee8;
  padding: 5px;
  transition: opacity .4s ease-out, top .4s ease-out;
  top: -50px;
  box-shadow: 1px 2px 5px #0000002b;
}

.card-toast.open {
  opacity: .9;
  top: 9px;
}

#map_bounds_toast {
  width: 540px;
  margin-left: -270px;
  padding: 0;
  font-size: 13pt;
  line-height: 1.1;
  position: absolute;
  left: 50%;
}

#map_bounds_toast a, #map_bounds_toast a:hover {
  color: #131313;
  padding: 17px 10px;
  text-decoration: none;
  display: block;
}

.ol-popup {
  -webkit-filter: drop-shadow(0 1px 4px #0003);
  filter: drop-shadow(0 1px 4px #0003);
  min-width: 280px;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 15px;
  position: absolute;
  bottom: 12px;
  left: -50px;
}

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

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

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

.ol-popup-closer {
  text-decoration: none;
  position: absolute;
  top: 2px;
  right: 8px;
}

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

@media screen and (max-width: 1199px) {
  #logo h1 {
    font-size: 15pt;
  }

  #logo .line2 {
    font-size: 10pt;
  }

  #action_fs, #action_print {
    display: none;
  }
}

/*# sourceMappingURL=index.css.map */
