.hotspot-modal-transparent {
    background: rgba(255, 255, 255, 0.83);
}

hotspot-crystal {
    display: block;
    position: absolute;
    z-index: 2;
}

.hotspot-crystal {
    cursor: pointer;
    position: relative;
}

.hotspot-crystal:hover .icon {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.hotspot-crystal.hotspot-custom {
    background-color: transparent;
    background-size: contain;
    border-radius: 0;
    background-repeat: no-repeat;
}

.hotspot-crystal:hover .title {
    opacity: 1;
    top: -16px;
    transition-delay: .2s;
}

.hotspot-crystal .title {
    display: block;
    height: 100%;
    width: 300px;
    position: absolute;
    pointer-events: none;
    text-align: center;
    text-shadow: 1px 1px 2px rgba(22, 24, 26, 1);
    font-size: 12px;
    font-weight: 500;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    color: white;
    opacity: 0;
    transition: all .35s cubic-bezier(0.11, 0.73, 0.54, 0.85);
}

.hotspot-crystal .icon {
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    transition: all .5s cubic-bezier(0.09, 1.52, 0.63, 1.3);
    -webkit-transition: all .5s cubic-bezier(0.09, 1.52, 0.63, 1.3);
    width: 100%;
    height: 100%;
}

.hotspot-crystal .arrow {
    width: 0;
    height: 0;
    border: 10px solid transparent;
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -10px;
}

hotspot-crystal.active {
    z-index: 99;
}

.hotspot-modal-crystal {
    position: relative;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .25);
    border-radius: 6px;
    background: rgba(255, 255, 255, .75);
    overflow: hidden;
}

.hotspot-modal-crystal.hotspot-grady-video {
    max-width: 960px;
    width: 95vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
}

.hotspot-modal-crystal.hotspot-grady-video iframe {
    height: 90vh;
    overflow: hidden;
    border-radius: 6px;
}

.hotspot-crystal-image-popup .modal-content {
    background: transparent;
    width: 95vw;
    max-width: 720px;
    margin: 0 auto;
}

.hotspot-modal-crystal .close {
    opacity: 1;
    color: black;
    position: absolute;
    right: 10px;
    top: 10px;
    background: white;
    border-radius: 50%;
    padding: 6px 6px 4px 8px;
    box-shadow: 0 0 10px #00000045;
}

.hotspot-modal-transparent .caption {
    text-align: center;
    padding: 12px;
}

.hotspot-modal-transparent img {
    max-width: 100%;
}

.hotspot-crystal-article-popup {
    padding: 12px 72px;
    background: rgba(255, 255, 255, .9);
}

.hotspot-crystal-article-popup .title {
    font-weight: 300;
    position: relative;
    font-size: 24px;
}

.hotspot-crystal-article-popup .title:after {
    content: '';
    width: 64px;
    height: 2px;
    background: #333;
    display: block;
    margin: 16px 0 24px;
}

.hotspot-crystal-image .image {
    max-width: 100%;
    margin: 0 auto;
    display: block;
}

.hotspot-crystal-image .caption {
    text-align: center;
    padding: 12px;
    background: rgba(255, 255, 255, .75);
    border-radius: 0 0 4px 4px;
    margin: 0;
}

.hotspot-crystal-textf-tooltip {
    position: absolute;
    box-shadow: 0 6px 12px 0 rgba(0, 0, 0, .16), 0 4px 8px 0 rgba(0, 0, 0, .26);
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 6px;
    opacity: 0;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    min-height: 40px;
    left: 50%;
    margin-left: -150px;
    transform: translate(66%, -50%);
    pointer-events: none;
    z-index: 1;
    visibility: hidden;
    max-height: 50vh;
    width: 300px;
    padding: 10px 20px;
}

hotspot-crystal-textf {
    position: absolute;
    width: 100%;
    height: 100%;
    display: block;
    top: 0;
    left: 0;
    bottom: 0;
    pointer-events: none;
}

.hotspot-crystal-textf-tooltip .close:hover {
    opacity: 1;
    filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.hotspot-crystal-textf-tooltip.active {
    opacity: 1;
    filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    visibility: visible;
    pointer-events: auto;
    transform: translate(55%, -50%);
    -webkit-transform: translate(55%, -50%);
}

.hotspot-crystal-point .thumb {
    border-radius: 50%;
    width: 150%;
    height: 150%;
    border: 2px solid white;
    position: absolute;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    left: 50%;
    top: 5px;
    transform: translate(-50%, -34%) scale(.5, .5);
    opacity: 1;
    transition: all .2s cubic-bezier(0.03, 1.54, 0.68, 0.99);
    transform-origin: center;
    opacity: 0;
}

.hotspot-crystal-point:hover .thumb {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1, 1);
    -webkit-transform: translate(-50%, -50%) scale(1, 1);
}

.hotspot-crystal-url .icon {
    background-image: url(images/url.png);
}

.hotspot-crystal-video .icon {
    background-image: url(images/video.png);
}

.hotspot-crystal-image .icon {
    background-image: url(images/image.png);
}

.hotspot-crystal-article .icon {
    background-image: url(images/article.png);
}

.hotspot-crystal-textf .icon {
    background-image: url(images/textf.png);
    z-index: 2;
}

.hotspot-crystal-point .icon {
    background-image: url(images/point.png);
}

.hotspot-crystal-textf .icon.active {
    -webkit-transform: translate(-50%, -50%) rotate(-90deg);
    transform: translate(-50%, -50%) rotate(-90deg);
}

.hotspot-crystal-textf-tooltip .hotspot-content img {
    width: calc(100% + 32px);
    max-width: none;
    margin-left: -16px;
}

.hotspot-crystal-textf-tooltip .close {
    color: white;
    top: -14px;
    font-size: 18px;
    background: black;
    -webkit-box-shadow: 0 0 10px;
            box-shadow: 0 0 10px;
    border-radius: 50%;
    opacity: 1;
    position: absolute;
    right: -15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}


/* responsive */

@media screen and (max-width:640px) {
    .hotspot-modal-crystal.hotspot-grady-video iframe {
        height: 280px;
    }
    .hotspot-crystal-article-popup {
        padding: 12px 20px;
    }
}