body {
  width: 100%;
  margin: 0;
  position: relative;
  background-color: #abd0db;
  overflow: hidden;
}

.map-container {
  width: 100%;
  margin: 0 auto;
  position: relative;
}

.brand-partnership {
  padding: 1.1111111111vw 1.6666666667vw 1.3888888889vw;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  position: absolute;
  background-color: #000000;
  z-index: 1;
}
.brand-partnership img {
  width: auto;
  height: 2.2222222222vw;
}
.brand-partnership img:not(:last-child) {
  margin-right: 2.2222222222vw;
}

.world-map {
  width: 100%;
  height: 100%;
  position: relative;
  box-sizing: border-box;
}
.world-map .container {
  width: inherit;
  height: inherit;
  position: relative;
}
.world-map #svg-container {
  width: 100%;
  height: 100%;
}
.world-map #svg-container svg {
  top: 0%;
  position: absolute;
}
.world-map #svg-container .st0 {
  fill: #315434;
}

.country {
  width: 3.8888888889vw;
  height: 3.8888888889vw;
  position: absolute;
  z-index: 1;
}

#united-states {
  top: 12.5vw;
  left: 13.1944444444vw;
}

#caribbean {
  top: 19.4444444444vw;
  left: 19.4444444444vw;
}

#europe {
  top: 9.0277777778vw;
  left: 45.8333333333vw;
}

.country .icons .icon {
  width: 2.2222222222vw;
  height: 2.2222222222vw;
  top: 50%;
  left: 50%;
  position: absolute;
  border-radius: 50px;
  transform: translate(-50%, -50%);
  transition: 400ms transform ease-in-out, 400ms opacity ease-in-out;
  opacity: 0;
}
.country .icons .icon.bar {
  background: orangered;
}
.country .icons .icon.room-service {
  background: #6a74a4;
}
.country .icons .icon.dining {
  background: purple;
}
.country .icons .icon.wedding {
  background: #ff6663;
}
.country .icons .icon.spa {
  background: #cee3da;
}
.country .icons .icon.golf {
  background: cyan;
}
.country .icons .icon.pool-bar {
  background: #8A5F6E;
}
.country .icons .icon.check-in {
  background: #d7816a;
}
.country .icons .icon.check-out {
  background: #f2e4a3;
}
.country .icons .icon.conference {
  background: gold;
}
.country .icons .icon.shuttle-bus {
  background: lawngreen;
}
.country .icons .icon img {
  width: 1.6666666667vw;
  height: 1.6666666667vw;
  top: 50%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  object-fit: contain;
}
.country .icons .icon.display {
  transform: translate(-50%, -80%);
  opacity: 1;
}