#map {
  width: 100vw;
  height: 100vh;
  background-color: #772524;
}
@supports ((-webkit-backdrop-filter: saturate(180%) blur(2px)) or (backdrop-filter: saturate(180%) blur(2px))) {
  .map-legend, .tooltip {
    -webkit-backdrop-filter: saturate(180%) blur(2px);
    backdrop-filter: saturate(180%) blur(2px);
  }
}
.map-legend {
  position: absolute;
  top: 16px;
  left: 16px;
  max-width: 40%;
  background-color: rgba(243, 244, 239, 0.6);
  border-radius: 8px;
  padding: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .25);
}
#legend-toggle-checkbox + label:after {
  content: '›';
  font-size: 24px;
  font-weight: bolder;
  line-height: 24px;
  transform: rotate(0);
  transition: .1s transform ease-in-out;
  display: inline-block;
  transform-origin: center center;
  margin-left: 16px;
}
#legend-toggle-checkbox:checked + label:after {
  transform: rotate(90deg);
}
#legend-toggle-checkbox {display: none;}
#legend-toggle-checkbox:checked ~ #legend-dropdown {
  display: block;
}
#legend-dropdown {
  display: none;
}
.map-legend-circle {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border-width: 2px;
  border-style: solid;
  vertical-align: middle;     
  box-shadow: 0 2px 4px rgba(0, 0, 0, .25);
}
.hs {
  background-color: #F6CB27;
  border-color: #bf9b00;
}
.college {
  background-color: #F7F639;
  border-color: #c0c300;
}
.statue {
  background-color: #616161;
  border-color: #373737;
}
.gate {
  background-color: #314F19;
  border-color: #0e2600;
}
.other {
  background-color: #D880D7;
  border-color: #a551a5;
}
.selected {
  background-color: #772524;
  border-color: #470000;
}
.map-legend-prompt {
  font-size: small;
}
.tooltip {
  display: none;
  position: relative;
  background-color: rgba(243, 244, 239, 0.6);
  border-radius: 8px;
  padding: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .25);
  white-space: nowrap;
}

.tooltip h3 {
  margin: 0px;
}
.tooltip a {
  font-size: 0.75em;
  padding: 0px;
  color: #470000;
  text-decoration: underline;
  cursor: pointer;
}
.tooltip::after {
  content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border-width: 10px;
    border-style: solid;
    border-color: rgba(243, 244, 239, 0.6) transparent transparent transparent;
}
img.open {
  animation: .2s ease-in-out slideImage;
  z-index: 4;
}
@keyframes slideImage {
  from {
    transform: translateY(100vh);
  }
  to {
    transform: translateY(0);
  }
}
img.openFixed {
  transition: none;
  transform: none;
  position: fixed;
  top: 0;
  left: 0;
}
#viewer {
  transition: .2s transform ease-in-out;
}
img {
  width: 100%;
}