.world-map {
    position: relative;
    max-width:100%;
}

.world-map svg {
    max-width: 100%;
}

.world-map path {
    paint-order: stroke;
    transition: fill 0.2s ease, stroke 0.2s ease;
}

.world-map .legend {
    transition: opacity .5s ease, transform .5s ease;
    opacity: 1;
    padding: 20px;
    background: #fff;
    border-radius: 5px;
    filter: drop-shadow(0 0 0.75rem rgba(0,0,0, .2));
    position: absolute;
}

.world-map .legend:not(.top) {
    bottom: 20px;
}

.world-map .legend:not(.right) {
    left: 20px;
}

.world-map .legend.top {
    top: 20px;
}

.world-map .legend.right {
    right: 20px;
}

.world-map .legend.fade {
    opacity: 0;
}

.world-map .legend:not(.right).fade {
    transform: translateX(-100px);
}

.world-map .legend.right.fade {
    transform: translateX(100px);
}

.tooltip {
  position: absolute;
  background: #333;
  color: white;
  padding: 5px 8px;
  border-radius: 4px;
  font-size: 14px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s;
  z-index: 1000;
}