.pp-icon {
	display: inline-block;
	line-height: 1;
	text-align: center;
    transition: all .3s;
}

.pp-icon i,
.pp-icon svg {
    width: 1em;
    height: 1em;
    position: relative;
    display: block;
}

.pp-image-hotspots {
    display: flex;
    position: relative;
}

.pp-hot-spot-wrap {
    cursor: pointer;
    position: absolute;
	inset-inline-start: 30%;
	top: 30%;
    border-radius: 50%;
    display: block;
}

.pp-hot-spot-image {
    position: relative;
}

.pp-hot-spot-inner {
    cursor: pointer;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px;
    width: 14px;
    height: 14px;
    box-sizing: content-box;

    &.hotspot-animation {

        &::before {
            content: '';
            display: block;
            position: absolute;
            z-index: 0;
            pointer-events: none;
            animation: pp-glow 2s infinite;
            inset-inline-start: 0;
            top: 0;
        }

        &:hover::before {
            animation: none;
        }

        & .pp-hotspot-text {
            z-index: 1;
        }
    }
}

.pp-hot-spot-inner,
.pp-hot-spot-inner::before {
    background-color: #000;
    border-radius: 50%;
    color: #fff;
    height: 100%;
    width: 100%;
}

.pp-hotspot-icon {
    position: relative;
}

.pp-hotspot-icon-wrap {
    display: inline-flex;
    width: 100%;
    height: 100%;
    vertical-align: middle;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

@keyframes pp-glow {

	0% {
		transform: scale(1);
        opacity: 1;
	}

	100% {
        transform: scale(1.5);
        opacity: 0;
	}
}

.tipso_content p:last-child {
    margin-bottom: 0;
}

.pp-hotspot-img-align- {

    &center {

        .pp-image-hotspots {
            justify-content: center;
        }
    }

    &left {

        .pp-image-hotspots {
            justify-content: flex-start;
        }
    }

    &right {

        .pp-image-hotspots {
            justify-content: flex-end;
        }
    }
}

@media only screen and (max-width: 1024px) {

    .pp-hotspot-img-align-tablet- {

        &center {

            .pp-image-hotspots {
                justify-content: center;
            }
        }

        &left {

            .pp-image-hotspots {
                justify-content: flex-start;
            }
        }

        &right {

            .pp-image-hotspots {
                justify-content: flex-end;
            }
        }
    }
}

@media only screen and (max-width: 767px) {

    .pp-hotspot-img-align-mobile- {

        &center {

            .pp-image-hotspots {
                justify-content: center;
            }
        }

        &left {

            .pp-image-hotspots {
                justify-content: flex-start;
            }
        }

        &right {

            .pp-image-hotspots {
                justify-content: flex-end;
            }
        }
    }
}