/* ======================================
   BOSTON VOID - SPECIAL-EFFECTS.CSS
   ====================================== */

.show::before {
    content: "";
    position: absolute;
    top: 15px;
    left: 10px;
    right: 10px;
    height: 10px;
    background: radial-gradient(ellipse at center,
            rgba(0, 0, 0, 0.25) 0%,
            transparent 70%);
    filter: blur(6px);
    z-index: -1;
}

.pin {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%,
            #3a3a3a 0%,
            #1a1a1a 50%,
            #000 100%);
    box-shadow:
        0 2px 3px rgba(0, 0, 0, 0.6),
        inset 0 1px 2px rgba(255, 255, 255, 0.15),
        inset 0 -2px 3px rgba(0, 0, 0, 0.8);
    z-index: 10;
}

.pin::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 26px;
    height: 26px;
    transform: translate(-50%, -50%);
    background: radial-gradient(circle,
            rgba(0, 0, 0, 0.30) 0%,
            rgba(0, 0, 0, 0.20) 30%,
            transparent 70%);
    filter: blur(1px);
    z-index: -1;
}

.pin::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4px;
    height: 4px;
    background: #000000;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.pin-l {
    top: 25px;
    left: 15px;
}

.pin-r {
    display: block;
    top: 25px;
    right: 15px;
}

.show.loose {
    transform-origin: 20px 25px;
    animation: sway 3s ease-in-out infinite;
}

@keyframes sway {
    0% {
        transform: rotate(5deg);
    }

    50% {
        transform: rotate(7deg);
    }

    100% {
        transform: rotate(5deg);
    }
}

.show.loose:hover {
    animation: sway 2.5s ease-in-out infinite;
}

@media (min-width: 769px) {
    .show.loose .pin-r {
        display: none;
    }
}

@media (max-width: 768px) {
    .show.loose {
        animation: none;
        transform: none;
        rotate: 2deg;
    }

    .show.loose .pin-r {
        display: block;
    }
}