body {
  margin: 0;
  padding: 0;
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, helvetica, Cantarell, Ubuntu, roboto, noto, arial, sans-serif;
  font-size: 18px;
  box-sizing: border-box;
}
h1{
  font-size: 32px;
  line-height: 32px;
  margin: 0;
  padding: 0;

}
h3{
  font-size: 18px;
  line-height: 18px;
  padding: 0;
  margin: 0;
}

#map {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 100%;
}

.marker {
  width: 50px;
  height: 50px;
  cursor: pointer;
  font-size: 32px;
  line-height: 50px;
  text-align: center;
  white-space: nowrap;
  background-color: white;
  border-radius: 50px;
  box-shadow: 0px 3px 5px rgba(0,0,0,.4);
}
.marker span{
  margin-left: -20px;
/*   border: 1px solid blue; */
}

.mapboxgl-popup {
  max-width: 200px;
  z-index: 1000;
}

.mapboxgl-popup-content {
  text-align: center;
}
#logo{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: end;
  pointer-events: none; 
  background-image: url("images/logo.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  position: fixed;
  z-index: 999;
  top: 3vh;
  left: 0;
  width: 100vw;
  height: 30vh;
}
.date{
  background-color: white;
  display: inline-block;
  padding: 5px 20px;
  border-radius: 20px;
  font-size: .8em;
  font-weight: 500;
  pointer-events: auto;
}
#addToMapContainer{
  position: fixed;
  bottom: 30px;
  left: 0;
  width: 100%;
/*   background-color: white; */
}
#addToMap{
  display: block;
  background-color: #000000;
  color: white;
  border: 2px solid white;
  box-shadow: 0px 2px 10px #000000cc;
  padding: 15px 30px;
  margin: 0 auto;
  width: 250px;
  border-radius: 100px;
  font-size: .8em;
  font-weight: 500;
  text-align: center;
  transition: .25s all;
  text-decoration: none;
}
#addToMap:hover{
  transform:  translateY(-10px) scale(1.2);
  box-shadow: 0px 20px 100px #000000FF;
}

.corner{
  position: fixed;
  z-index: 998;
  width: 25vw;
  height: 25vh;
  pointer-events: none;
  background-size: contain;
  background-repeat: no-repeat;
  /* border: 1px solid red; */
}

#topleft{
  top: 0px;
  left: 0px;
  background-position: top left;
  background-image: url('images/spinneweb-topleft.png');
}
#topright{
  top: 0px;
  right: 0px;
  background-position: top right;
  background-image: url('images/spinneweb-topright.png');
}
#bottomleft{
  bottom: 0px;
  left: 0px;
  background-position: bottom left;
  background-image: url('images/spinneweb-bottomleft.png');
}
#bottomright{
  bottom: 0px;
  right: 0px;
  background-position: bottom right;
  background-image: url('images/spinneweb-bottomright.png');
}

#floater{
  position: fixed;
  z-index: 1000;
  height: 25vh;
  width: 25vw;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  pointer-events: none;
  transform: translateX(-300px);
}

@keyframes floatAcross {
  0% {
    transform: translateX(-300px) translateY(0px);
  }
  10% {
    transform: translateX(calc(10vw - 120px)) translateY(-45px);
  }
  20% {
    transform: translateX(calc(20vw - 120px)) translateY(30px);
  }
  30% {
    transform: translateX(calc(30vw - 120px)) translateY(-20px);
  }
  40% {
    transform: translateX(calc(40vw - 120px)) translateY(62px);
  }
  50% {
    transform: translateX(calc(50vw - 120px)) translateY(-50px);
  }
  60% {
    transform: translateX(calc(60vw - 120px)) translateY(8px);
  }
  70% {
    transform: translateX(calc(70vw - 120px)) translateY(-64px);
  }
  80% {
    transform: translateX(calc(80vw - 120px)) translateY(6px);
  }
  90% {
    transform: translateX(calc(90vw - 120px)) translateY(-35px);
  }
  100% {
    transform: translateX(calc(100vw + 300px)) translateY(0px);
  }
}

.floating {
  animation: floatAcross 20s linear;
}