.img-hotspot {
  width: 50px;
  height: 50px;
  background-color: #677383;
  border-radius: 50%;
  margin-left: 0;
  text-align: center;
  /*cursor: pointer;*/
  transition: height .3s ease-in-out,
              width .3s ease-in-out,
              border-radius .3s ease-in-out,
              margin .3s ease-in-out;
}

.img-hotspot > img {
  width: 30px;
  margin: 10px 0;

}

.ih-content {
  width: 180px;
  height: 192px;
  margin-top: -5px;
  padding: 10px; padding-top: 0px;
  background-color: #677383;
  opacity: 0;
  text-align: center;
  pointer-events: none;
  transition: opacity .01s ease-in-out;
  overflow: hidden;
}

.ih-content img {
  max-width: 160px;
  /*max-height: 180px;*/
  opacity: 0;
  transition: width .01s ease-in-out,
              opacity .01s ease-in-out;
}

.ih-content .ih-container {
  width: 100%;
  height: 85%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  border: 1px solid #fff;
}
.ih-content .ih-container a {
  width: 100%;
  height: 100%;
  display: block;
}

.ih-content p {
  margin: 10px 0;
  color: #fff;
  margin-top: -20px;
  opacity: 0;
  transition: margin .01s ease-in-out,
              opacity .01s ease-in-out;
}

.img-hotspot:hover {
  width: 180px;
  height: 240px;
  border-radius: 5px;
  margin-left: -65px;
}

.img-hotspot:hover .ih-content {
  opacity: 1;
  pointer-events: all;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  transition: opacity .3s ease-in-out .3s;
}

.img-hotspot:hover .ih-content img {
  /*width: 160px;*/
  opacity: 1;
  transition: width .3s ease-in-out .4s,
              opacity .3s ease-in-out .4s;
}

.img-hotspot:hover .ih-content p {
  margin-top: 10px;
  opacity: 1;
  transition: margin .3s ease-in-out .6s,
              opacity .3s ease-in-out .6s;
}



/*

.img-hotspot {
  line-height: 1.2em;
  opacity: 0.9;
  -webkit-transition: opacity 0.2s 0.2s;
  transition: opacity 0.2s 0.2s;
}

.no-touch .img-hotspot:hover {
  opacity: 1;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.img-hotspot.visible {
  opacity: 1;
}

.img-hotspot .img-hotspot-header {
  width: 40px;
  height: 40px;
  border-radius: 20px;
  background-color: rgb(103,115,131);
  cursor: pointer;
  -webkit-transition: width 0.3s ease-in-out 0.5s,
                      border-radius 0.3s ease-in-out 0.5s;
  transition: width 0.3s ease-in-out 0.5s,
              border-radius 0.3s ease-in-out 0.5s;
}

.mobile .img-hotspot .img-hotspot-header {
  width: 50px;
  height: 50px;
  border-radius: 25px;
}

.desktop.no-touch .img-hotspot .img-hotspot-header:hover {
  width: 260px;
  border-radius: 5px;
  -webkit-transition: width 0.3s ease-in-out,
                      border-radius 0.3s ease-in-out;
  transition: width 0.3s ease-in-out,
              border-radius 0.3s ease-in-out;
}

.desktop .img-hotspot.visible .img-hotspot-header,
.desktop.no-touch .img-hotspot.visible .img-hotspot-header:hover {
  width: 260px;
  border-radius: 5px;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
  -webkit-transition: width 0.3s ease-in-out,
                      border-radius 0.3s ease-in-out;
  transition: width 0.3s ease-in-out,
              border-radius 0.3s ease-in-out;
}

.img-hotspot .img-hotspot-icon-wrapper {
  width: 40px;
  height: 40px;
}

.mobile .img-hotspot .img-hotspot-icon-wrapper {
  width: 50px;
  height: 50px;
}

.img-hotspot .img-hotspot-icon {
  width: 80%;
  height: 80%;
  margin: 10%;
}

.img-hotspot .img-hotspot-title-wrapper {
  position: absolute;
  left: 40px;
  top: 0;
  width: 0;
  height: 40px;
  padding: 0;
  overflow: hidden;
  -webkit-transition: width 0s 0.4s,
                      padding 0s 0.4s;
  transition: width 0s 0.4s,
              padding 0s 0.4s;
}

.desktop .img-hotspot.visible .img-hotspot-title-wrapper,
.desktop.no-touch .img-hotspot .img-hotspot-header:hover .img-hotspot-title-wrapper {
  width: 220px;
  height: 100px;
  padding: 0 5px;
  -webkit-transition: width 0s 0.4s,
                      padding 0s 0.4s;
  transition: width 0s 0.4s,
              padding 0s 0.4s;
}

.img-hotspot .img-hotspot-title-wrapper:before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}

.img-hotspot .img-hotspot-title {
  display: inline-block;
  vertical-align: middle;

  -moz-user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

.img-hotspot .img-hotspot-close-wrapper {
  position: absolute;
  left: 260px;
  top: 0;
  height: 40px;
  width: 40px;
  border-top-right-radius: 5px;
  background-color: rgb(78,88,104);
  visibility: hidden;
  -ms-transform: perspective(200px) rotateY(90deg);
  -webkit-transform: perspective(200px) rotateY(90deg);
  transform: perspective(200px) rotateY(90deg);
  -ms-transform-origin: 0 50% 0;
  -webkit-transform-origin: 0 50% 0;
  transform-origin: 0 50% 0;
  -webkit-transition: -ms-transform 0.3s 0.3s,
                      -webkit-transform 0.3s 0.3s,
                      transform 0.3s 0.3s,
                      visibility 0s 0.6s;
  transition: -ms-transform 0.3s 0.3s,
              -webkit-transform 0.3s 0.3s,
              transform 0.3s 0.3s,
              visibility 0s 0.6s;
}

.desktop .img-hotspot.visible .img-hotspot-close-wrapper {
  visibility: visible;
  -ms-transform: perspective(200px) rotateY(0deg);
  -webkit-transform: perspective(200px) rotateY(0deg);
  transform: perspective(200px) rotateY(0deg);
  -webkit-transition: -ms-transform 0.3s,
                      -webkit-transform 0.3s,
                      transform 0.3s,
                      visibility 0s 0s;
  transition: -ms-transform 0.3s,
              -webkit-transform 0.3s,
              transform 0.3s,
              visibility 0s 0s;
}

.img-hotspot .img-hotspot-close-icon {
  width: 70%;
  height: 70%;
  margin: 15%;
}

.img-hotspot .img-hotspot-text {
  position: absolute;
  width: 300px;
  height: auto;
  max-height: 200px;
  top: 40px;
  left: 0;
  padding: 10px;
  background-color: rgb(58,68,84);
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  overflow-y: auto;
  visibility: hidden;
  
  -ms-transform: perspective(200px) rotateX(-89.999deg);
  -webkit-transform: perspective(200px) rotateX(-89.999deg);
  transform: perspective(200px) rotateX(-89.999deg);
  -ms-transform-origin: 50% 0 0;
  -webkit-transform-origin: 50% 0 0;
  transform-origin: 50% 0 0;
  -webkit-transition: -ms-transform 0.3s,
                      -webkit-transform 0.3s,
                      transform 0.3s,
                      visibility 0s 0.3s;
  transition: -ms-transform 0.3s,
              -webkit-transform 0.3s,
              transform 0.3s,
              visibility 0s 0.3s;

  -moz-user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

.desktop .img-hotspot.visible .img-hotspot-text {
  visibility: visible;
  -ms-transform: perspective(200px) rotateX(0deg);
  -webkit-transform: perspective(200px) rotateX(0deg);
  transform: perspective(200px) rotateX(0deg);
  -webkit-transition: -ms-transform 0.3s 0.3s,
                      -webkit-transform 0.3s 0.3s,
                      transform 0.3s 0.3s,
                      visibility 0s 0s;
  transition: -ms-transform 0.3s 0.3s,
              -webkit-transform 0.3s 0.3s,
              transform 0.3s 0.3s,
              visibility 0s 0s;
}
*/