/* Animation */
@-webkit-keyframes 
pulsate {  0% {
 -webkit-transform: scale(1);
 transform: scale(1);
 opacity: 0.8;
}
 45% {
 -webkit-transform: scale(1.75);
 transform: scale(1.75);
 opacity: 0;
}
}
@keyframes 
pulsate {  0% {
 -webkit-transform: scale(1);
 transform: scale(1);
 opacity: 0.8;
}
 45% {
 -webkit-transform: scale(1.75);
 transform: scale(1.75);
 opacity: 0;
}
}


/* Hotspot */

#hotspotImg {
  background-color: #ededed;
  background-size: cover;
  background-position: center center;
  position: relative;
  overflow: hidden;
  padding:0;
  max-width: 100%;
  margin:0;
}

#hotspotImg .img-responsive { max-width: 100%; padding:0;}

#hotspotImg .hot-spot {
  position: absolute;
  width: 27px;
  height: 27px;
  top: 5px;
  left: 5px;
  text-align: center;
  background-color: transparent;
  color: #fff;
  border-radius: 100%;
  cursor: pointer;
  transition: all .3s ease;
}

#hotspotImg .hot-spot.red .circle{
  border-color: #c34b38;
}
#hotspotImg .hot-spot.blue .circle{
  border-color: #0055b8;
}
#hotspotImg .hot-spot.yellow .circle{
  border-color: #F7AE1B;
}
#hotspotImg .hot-spot.teal .circle{
  border-color: #00c4b5;
}
.hot-spot.red span {
    background: #c34b38;
}
.hot-spot.yellow span {
    background: #F7AE1B;
}
.hot-spot.blue span {
    background: #0055b8;
}
.hot-spot.teal span {
    background: #00c4b5;
}
.position-absolute.legend.legend-right {
    right: 20px;
}
.legend-right li {
    margin-bottom: 10px;
}
.hot-spot span {
    width: 2em;
    height: 2em;
    border-radius: 50%;
    display: grid;
    font-size: 21px;
    padding: 0;
    position: absolute;
    left: -7px;
    align-content: center;
    justify-content: center;
    top: -7px;
}

#hotspotImg .hot-spot .circle {
  display: block;
  position: absolute;
  top: 45%;
  left: 45%;
  width: 2.2em;
  height: 2.2em;
  margin: -1em auto auto -1em;
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
  border-radius: 50%;
  border: 3px solid;
  opacity: 0.9;
  -webkit-animation: pulsate 3s ease-out infinite;
  animation: pulsate 3s ease-out infinite;
  z-index:0;
}
.legend h4, .legend p {
    font-size: 17px;
    color: #161616;
    line-height: 1;
}
.container.position-absolute.legend {
    max-width: fit-content;
}
.legend li {
    list-style: none;
    display: flex;
    gap: 10px;
    margin-bottom: 10px;
}
.legend li span {
    color: #fff;
    font-size: 16px;
       height: 30px;
    width: 30px;
    display: grid;
    align-content: center;
    justify-content: center;
    border-radius:50%;
    transition: all 300ms ease-in-out;
}
.legend li.active {
    transform-origin: left bottom;
    transition: all 300ms ease-in-out;
    background: #fff;
    padding: 12px 12px 0;
    margin: 10px 0 10px;
    border-radius: 5px;
    width: fit-content;
}
.legend li span.red {
    background: #c34b38;
}
.legend li span.blue {
    background: #0055b8;
}
.legend li span.teal {
    background: #00c4b5;
}
.legend li span.yellow {
    background: #F7AE1B;
}
.legend-right li {
    align-items: center;
}

@media (max-width: 980px) {
#hotspotImg .hot-spot {
  display:none !important;
}
    #map .legend {
        position: initial !important;
        padding: 0;
        margin-top: 50px;
        max-width: 80%;
    }
    #map .legend ul {
    margin: 0;
    padding: 0;
}
body .legend.legend-right {
    max-width: 80% !important;
    border-top: 1px solid #ddd;
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}
#map {
    background: #fff;
}
#mobile-map{
  display:none;
}
}
@media screen and (min-width:1280px) and (max-width: 1440px) {
#hotspotImg .hot-spot .circle {
  width: 2.2em;
  height: 2.2em;
  border-width:2px;
}
.hot-spot.red.one {
    margin-left: -5px;
    margin-top: 1px;
}
.hot-spot.red.two {
    margin-left: -3px;
}
.hot-spot.red.three, .hot-spot.blue.five {
    margin-top: 1px;
    margin-left: -1px;
}
.hot-spot.teal.six, .hot-spot.yellow.seven {
    margin-top: 2px;
}
.hot-spot.yellow.nine {
    margin-left: -8px;
}
.hot-spot.yellow.eight {
    margin-left: -8px;
}
#hotspotImg {
    max-width: 1440px;
    overflow: hidden;
}
#hotspotImg img {
    width: 100%;
    height: 100%;
    padding:0;
    margin-left:-7px;
}
.legend h4, .legend p {
    font-size: 15px;
}
.container.position-absolute.legend {
    bottom: 0px !important;
}
body .legend li{
  margin-bottom:0;
}
.legend li.active {
    margin: 5px 0 5px;
}
.legend-right li {
    align-items: center;
    margin-bottom: 2px;
}
body li.download-now {
    margin-top: 10px;
}
.legend li span {
    transform: scale(0.8);
    transform-origin: top;
}
}

@media screen and (min-width:768px) and (max-width:980px){
  .container.position-absolute.legend {
    column-count: 2;
}
.container.position-absolute.legend-right {
    column-count: 1;
}
}
@media screen and (min-width:981px) and (max-width: 1279px) {
body .legend, .hot-spot, body #sm-mobile-map{
  display:none;
}
#mobile-map {
    padding: 0;
}
}

#hotspotImg .hot-spot .tooltip {
  background-color:rgb(255 255 255 / 95%);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  color: #000;
  display: none;
  font-size: 14px;
  opacity: 1.0;
  left: 0px;
  padding: 15px 5px;
  position: absolute;
  text-align: left;
  top: 30px;
  width: 250px;
  z-index: 999;
}

#hotspotImg .hot-spot .tooltip .img-row {
  padding: 10px;
  text-align: center;
}

#hotspotImg .hot-spot .tooltip .text-row { padding: 15px; }

#hotspotImg .hot-spot .tooltip h4 {
  margin-bottom: 10px;
  border-bottom: 0px;
  font-size: 17px;
}

#hotspotImg .hot-spot .tooltip p {
  font-size: 17px;
  line-height: 1.4em;
  margin-bottom: 10px;
}

#hotspotImg .hot-spot .tooltip p:last-child { margin-bottom: 0; }
