/***** GENERAL LAYOUT *****/
body {
  left: 0px;
  right: 0px;
  top: 0px;
  bottom: 0px;
  font-family:Tahoma,Arial,Verdana;
  font-size: 11px;
  color:#333;
}
a {
  text-decoration: none;
  color: black;
}
a:hover,
a:active {
  text-decoration: underline;
}

#sidebar {
  top: 0px;
  bottom: 0px;
  left: 0px;
  width: 270px;
  position: absolute;
}
#map {
  position: absolute;
  left: 270px;
  border-left: 1px solid #999;
  top: 0;
  bottom: 0;
  right: 0;
}
#mapShadow {
  position: absolute;
  left: 271px;
  top: 0;
  bottom: 0;
  width: 5px;
  z-index: 10000;
  background: linear-gradient(to right, #5656566f, #56565600);
}

#sidebar {
  display: flex;
  flex-direction: column;
}
#sidebar > #header {
  padding-top: 27px;
  padding-left: 10px;
  height:110px;
  font-size:18px;
  color:#333;
  line-height:130%;
  margin-top:5px;
  position: relative;
  flex-grow: 0;
  flex-shrink: 0;
}
#sidebar > #header > img {
  float: left;
  margin-top: -17px;
  padding-right: 10px;
}
#sidebar > #header > #title {
  float: left;
  width: 110px;
}
#sidebar > #header > #title > .large {
  font-size: 28px;
  display: block;
}
#sidebar > #header > #title > .version {
  display: block;
  font-size: 16px;
}

#sidebar > #globalTabs {
  padding-left: 10px;
  padding-right: 10px;
}
#sidebar > #globalTabs ul.tabs-list {
  font-size: 15pt;
}
.tabs-section {
  padding: 0.1em;
  max-height: 250px;
  overflow-y: auto;
}
.tabs-section > h3:first-of-type {
  margin-top: 0;
}

#sidebar > #content {
  flex: 1;
  flex-shrink: 0;
  overflow: auto;
  padding-left: 10px;
  padding-right: 10px;
}

#sidebar > #footer {
  flex: 0;
}

#content > div {
  display: none;
}
#content.list > #contentList {
  display: block;
}
#content.details > #contentDetails {
  display: block;
  margin-left: -10px;
  margin-right: -10px;
}
#content.options > #contentOptions {
  display: block;
}
#contentDetails > .closeButton {
  font: 16px/14px Tahoma, Verdana, sans-serif;
  font-weight: bold;
  color: #c3c3c3;
  float: right;
  margin-right: 0.5em;
}

.objectDisplay > .header {
  padding: 0.5em 10px;
}
.objectDisplay > .header > .title {
  font-size: 1.5em;
  font-weight: normal;
  margin: 0;
}
.objectDisplay > .header > .description {
  display: block;
  font-style: italic;
  color: #7f7f7f;
  font-size: 1.5em;
  font-weight: normal;
}

.objectDisplay.hasImage .images {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
}
.objectDisplay.hasImage .images .imageWrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.objectDisplay-popup.hasImage .images .imageWrapper {
  max-height: 12em;
}
.objectDisplay-details.hasImage .images .imageWrapper {
  height: 200px;
}
.objectDisplay .images .imageWrapper img {
  max-width: 100%;
  border-radius: 6px;
  display: block;
}
.objectDisplay-popup .images .imageWrapper img {
  max-height: 12em;
}
.objectDisplay-details .images .imageWrapper img {
  max-height: 200px;
}

.objectDisplay .block {
  border-top: 1px solid #afafaf;
  padding: 0.5em 10px;
}
.objectDisplay .block > h3 {
  margin-top: 0;
  margin-bottom: 0.25em;
  border: none;
}
.objectDisplay .block.empty {
  border-top: none;
  padding: 0 0;
}

/* Popups */
.objectDisplay ul.footer {
  padding-left: 0;
}
.objectDisplay ul.footer li {
  display: inline-block;
  list-style: none;
  padding-right: 1em;
}

/* Footer */
#menu {
  margin: 0 0;
  padding: 0 0;
}
#menu li {
  display: inline-block;
  margin: 1px 0;
}
#menu li::after {
  content: '|';
  margin: 1px 0.25em;
}
#menu li:last-of-type::after {
  content: '';
}
#menu li:first-of-type {
  margin-left: 0.25em;
}

.leaflet-popup-content {
  min-width: 150px !important;
  width: 300px !important;
}
@media all and (min-width: 501px) and (max-height: 600px) {
.tabs-section {
  max-height: 300px;
}
}
@media all and (min-width: 501px) and (max-height: 400px) {
.leaflet-popup-content {
  max-height: 250px !important;
}
}
@media all and (min-width: 501px) and (max-height: 360px) {
.leaflet-popup-content {
  max-height: 200px !important;
}
}
@media all and (min-width: 501px) and (max-height: 320px) {
.leaflet-popup-content {
  max-height: 150px !important;
}
}

@media all and (max-width: 700px) {
.leaflet-popup-content {
  width: 250px !important;
}
}
@media all and (max-width: 600px) {
.leaflet-popup-content {
  width: 200px !important;
}
}
@media all and (max-width: 550px) {
.leaflet-popup-content {
  width: 150px !important;
}
}

@media all and (max-width: 500px) {
#sidebar {
  top: 0;
  height: 270px;
  left: 0;
  right: 0;
  bottom: auto;
  width: auto;
  overflow: auto;
}
#map {
  left: 0;
  bottom: 0;
  top: 270px;
  right: 0;
  border-left: none;
  border-top: 1px solid #999;
}
#mapShadow {
  left: 0;
  right: 0;
  top: 271px;
  bottom: auto;
  height: 5px;
  width: auto;
  background: linear-gradient(to bottom, #5656566f, #56565600);
}
#sidebar > #content {
  overflow: visible;
}
.tabs-section {
  max-height: none;
  overflow-y: visible;
}
.leaflet-popup-content {
  width: 300px !important;
}
}
@media all and (max-width: 400px) {
.leaflet-popup-content {
  width: 250px !important;
}
}
@media all and (max-width: 360px) {
.leaflet-popup-content {
  width: 200px !important;
}
}

@media all and (max-width: 500px) and (max-height: 675px) {
#sidebar {
  height: 40%;
}
#map {
  top: 40%;
}
#mapShadow {
  top: calc(40% + 1px);
}
.leaflet-popup-content {
  max-height: 250px !important;
}
}

@media all and (max-width: 500px) and (max-height: 600px) {
.leaflet-popup-content {
  max-height: 240px !important;
}
}
@media all and (max-width: 500px) and (max-height: 550px) {
.leaflet-popup-content {
  max-height: 200px !important;
}
}
@media all and (max-width: 500px) and (max-height: 500px) {
.leaflet-popup-content {
  max-height: 180px !important;
}
}
@media all and (max-width: 500px) and (max-height: 450px) {
.leaflet-popup-content {
  max-height: 160px !important;
}
}
@media all and (max-width: 500px) and (max-height: 400px) {
.leaflet-popup-content {
  max-height: 140px !important;
}
}

/* FULLSCREEN */
.leaflet-control-fullscreen {
  font-size: 20px;
}
.fullscreen #sidebar {
  display: none;
}
.fullscreen #map {
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: auto;
  height: auto;
  border: none;
}
.fullscreen #mapShadow {
  display: none;
}

@keyframes zenMode {
  from {opacity: 1};
  to {opacity: 0};
}
.zenMode .leaflet-control-container .leaflet-top {
  opacity: 0;
  animation-name: zenMode;
  animation-duration: 1s;
}

#loadingIndicator {
  display: none;
}
.fullscreen.loading #loadingIndicator {
  display: block;
  z-index: 10000;
  height: 3px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  background: black;
  overflow: hidden;
}
.fullscreen.loading #loadingIndicator:before {
  display: block;
  position: absolute;
  content: "";
  margin-left: -250px;
  width: 250px;
  height: 4px;
  background: red;
  animation: loading 2s linear infinite;
}

@keyframes loading {
  0% {
    margin-left: -250px;
  }
  100% {
    margin-left: 100%;
  }
}

#content {
  font-size: 12px;
  font-family: "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  line-height: 1.4;
}
#content h1 {
  margin: 0;
}
.objectDisplay a {
  color: #0078A8;
}

.yes {
  color: green;
}
.limited {
  color: orange;
}
.no {
  color: red;
}

.leaflet-popup-content-wrapper {
  padding: 0;
}
.leaflet-popup-content {
  margin: 0;
  overflow: auto;
}
.body ul,
.objectDisplay ul {
  margin: 0;
  padding-left: 20px;
}
.body ul > li,
.objectDisplay ul > li {
  position: relative;
}
.body ul > li.hasSymbol,
.objectDisplay ul > li.hasSymbol {
  list-style: none;
}
.body ul > li.hasSymbol > i,
.objectDisplay ul > li.hasSymbol > i,
.body ul > li.hasSymbol > .symbol,
.objectDisplay ul > li.hasSymbol > .symbol,
.body ul > li.hasSymbol > img,
.objectDisplay ul > li.hasSymbol > img,
.body ul > li.hasSymbol > span > svg,
.objectDisplay ul > li.hasSymbol > span > svg {
  position: absolute;
  margin-left: -20px;
  padding-top: 2px;
  width: 15px;
  text-align: center;
}
.body ul > li > .key,
.objectDisplay ul > li > .key {
  font-weight: bold;
}

.objectDisplay div > .loadingIndicator {
  display: none;
}
.objectDisplay div.loading > .loadingIndicator {
  float: right;
  display: block;
}

/* Wikipedia */
.wikipedia img {
  max-width: 100px;
  max-height: 100px;
  float: right;
  margin-left: 0.5em;
  margin-bottom: 0.5em;
  border-radius: 6px;
}
.wikipedia > h4 {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}
.wikipedia > div {
  text-align: justify;
  margin-bottom: 0.5em;
}
.objectDisplay h3 {
  border-bottom: 1px solid black;
  clear: both;
  text-align: left;
}
.objectDisplay h4 {
  clear: both;
  text-decoration: underline;
  font-weight: bold;
}
.wikipedia .reference {
  display: none;
}

.info .sign,
.overpass-layer-icon .sign {
  white-space: nowrap;
}

.tabs-section > form > span.form_element_form_chooser {
  border: none;
}

.clearfix::after {
  content: '';
  clear: both;
  display: table;
}

.objectDisplay .body ul.overpass-layer-list,
ul.overpass-layer-list {
  padding-left: 0;
}
ul.overpass-layer-list > li {
  border: 1px solid #dfdfdf;
  background: #dfdfdf;
  border-radius: 5px;
  border: 1px solid #afafaf;
  padding: 2px !important;
  margin-bottom: 2px;
  display: flex;
  flex-direction: row;
}
ul.overpass-layer-list > li:hover,
ul.overpass-layer-list > li.selected {
  background: #cfcfcf !important;
}
.objectDisplay ul.overpass-layer-list > li a,
ul.overpass-layer-list > li a {
  color: #000000;
}
ul.overpass-layer-list > li > a {
  display: flex;
  flex-direction: row;
  gap: 0.5em;
  width: 100%;
}
ul.overpass-layer-list > li > a:hover {
  text-decoration: none;
}
ul.overpass-layer-list > li > a > .marker {
  min-width: 30px;
  min-height: 30px;
  text-align: center;
  display: grid;
  grid-template-rows: auto;
  grid-template-columns: auto;
  color: black;
}
ul.overpass-layer-list > li > a > .marker > .symbol {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
  display: flex;
  place-self: center;
}
ul.overpass-layer-list > li > a > .marker > .sign {
  grid-row: 1 / 2;
  grid-column: 1 / 2;
  z-index: 1;
  font-size: 15px;
  display: flex;
  place-self: center;
}
ul.overpass-layer-list > li > a > .content {
  text-decoration: none;
  display: block;
  flex-grow: 1;
}
ul.overpass-layer-list > li > a > .content > .description {
  display: block;
  text-align: left;
  font-style: italic;
  color: #3f3f3f;
  font-weight: normal;
}
ul.overpass-layer-list > li > a > .content > .title {
  display: block;
  font-style: normal;
  font-weight: normal;
}
ul.overpass-layer-list > li > a > .content > .details {
  float: right;
  display: block;
  font-style: italic;
  color: #3f3f3f;
  max-width: 50%;
  text-align: right;
}

.leaflet-popup-content-wrapper {
  overflow: hidden;
}

.scroll-shadow,
.leaflet-popup-content {
  background:
	linear-gradient(white 30%, hsla(0,0%,100%, 0)),
	linear-gradient(hsla(0,0%,100%,0) 10px, white 70%) bottom,
	radial-gradient(at top, rgba(0,0,0,0.2), transparent 70%),
	radial-gradient(at bottom, rgba(0,0,0,0.2), transparent 70%) bottom;
  background-repeat:no-repeat;
  background-size: 100% 20px, 100% 20px, 100% 10px, 100% 10px;
  background-attachment:local, local, scroll, scroll;
}
.leaflet-popup > .leaflet-popup-close-button {
  display: none;
}
.leaflet-container .leaflet-popup-content > a.leaflet-popup-close-button {
  float: right;
  position: inherit;
}
.warning {
  border: 1px solid red;
  border-radius: 0.5em;
  padding: 0.25em 1em;
  margin-bottom: 0.25em;
  background-color: #ffdfdf;
}

.Window > .content textarea {
  height: 100%;
  width: 100%;
  resize: none;
  box-sizing: border-box;
}
.Window > .content .controls {
  flex-grow: 0;
}
.Window > .content .controls > .actions {
  margin-left: 1em;
  margin-right: 1em;
  display: inline;
}

/* Window */
.Window {
  position: absolute;
  z-index: 99999;
  background-color: #f1f1f1;
  border: 1px solid #000000;
  resize: both;
  overflow: hidden;
  width: min(60em, 80%);
  height: min(30em, 60%);
  left: 10%;
  top: 10%;

  display: flex;
  flex-direction: column;
  align-content: stretch;
}
.Window > .header {
  padding: 0.25em;
  font-weight: bold;
  cursor: move;
  z-index: 100000;
  background-color: #dfdfdf;
  color: #000000;
  flex-grow: 0;
  position: relative;
}
.Window > .header > .closeBtn {
}
.Window > .header > .closeBtn::before {
  font-family: "Font Awesome 5 Free";
  content: "\f00d";
  position: absolute;
  right: 0.25em;
  top: 0.25em;
}
.Window > .content {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-content: stretch;
}
.tip-tutorial {
  padding: 0.25em 0;
  display: inline-block;
}
.tip-tutorial a {
  text-decoration: underline;
}

/* Copy to clipboard */
.share-button {
  position: relative;
}
.share-button > .notify {
  position: absolute;
  background: white;
  border: 1px solid black;
  border-radius: 0.25em;
  width: 8em;
  text-align: center;
  z-index: 1;
}
