.div-icon {
    padding: 0 !important;
}

.public-map-popup {
    position: absolute;
    bottom: 80px;
    pointer-events: all;
    display: block;
    transform-origin: left bottom;
    transform: translate(-50%, 0px);
    border-radius: 5px;
    z-index: auto;

    &::after {
        content: "";
        position: absolute;
        bottom: -80px;
        left: calc(50% - 3px);
        display: block;
        width: 3px;
        height: 80px;
        // 0px 0px 6px rgb(255, 179, 0, 0.8)
        background: linear-gradient(to bottom, rgb(255, 179, 0, 0.8), rgb(255, 179, 0, 0.2));
        // border-right: 3px solid #fff;
    }

    .marsBlueGradientPnl {
        padding: 4px 8px;
        text-align: center;
        margin: 0;
        color: #fff;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        line-height: 32px;
        width: 112px;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        word-wrap: break-word;
        font-size: 14px;
        background: linear-gradient(rgb(7 10 203 / 75%), rgb(16 238 220));
    }

    .map-name {
        width: 112px;
        line-height: 24px;
        text-align: center;
        color: #FFEB3B;
        word-wrap: break-word;
        font-size: 14px;
        font-weight: bold;
    }

    .map-icon {
        margin: auto;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 36px;
        height: 36px;
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgb(255, 179, 0, 0.9) 100%);
        border-radius: 50%;
        box-shadow: 0px 0px 10px rgb(255, 179, 0, 1);

        img {
            width: 20px;
            height: 20px;
        }
    }
}

.public-map-popup-two {
    position: absolute;
    bottom: 160px;
    pointer-events: all;
    display: block;
    transform-origin: left bottom;
    transform: translate(-50%, 0px);
    border-radius: 5px;
    z-index: auto;

    &::after {
        content: "";
        position: absolute;
        bottom: -10px;
        left: calc(50% - 3px);
        display: block;
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #69a7e4; // 三角形的颜色
        transform: rotate(180deg);
        z-index: -1;
    }

    .marsBlueGradientPnl {
        padding: 2px 6px;
        // text-align: center;
        margin: 0;
        color: #fff;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        line-height: 28px;
        width: 260px;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        word-wrap: break-word;
        font-size: 14px;
        box-shadow: inset 0 0 40px #409eff;
        // background: linear-gradient(rgb(7 10 203 / 75%), rgb(16 238 220));
    }

    .marsBlueGradientPnl img {
        vertical-align: middle;
        width: 360px;
        height: 360px;
    }
}

.public-map-popup-three {
    position: absolute;
    bottom: 160px;
    pointer-events: all;
    display: block;
    transform-origin: left bottom;
    transform: translate(-50%, 0px);
    border-radius: 5px;
    z-index: auto;

    &::after {
        content: "";
        position: absolute;
        bottom: -10px;
        left: calc(50% - 3px);
        display: block;
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #69a7e4; // 三角形的颜色
        transform: rotate(180deg);
        z-index: -1;
    }

    .marsBlueGradientPnl {
        padding: 2px 6px;
        // position: absolute;
        // text-align: center;
        margin: 0;
        color: #fff;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        line-height: 28px;
        width: 260px;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        word-wrap: break-word;
        font-size: 14px;
        font-weight: bold;
        box-shadow: inset 0 0 40px #409eff;
        // background: linear-gradient(rgb(7 10 203 / 75%), rgb(16 238 220));
    }
}

.public-map-popup-qy {
    position: absolute;
    bottom: 160px;
    pointer-events: all;
    display: block;
    transform-origin: left bottom;
    transform: translate(-50%, 0px);
    border-radius: 5px;
    z-index: auto;

    &::after {
        content: "";
        position: absolute;
        bottom: -10px;
        left: calc(50% - 3px);
        display: block;
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-bottom: 10px solid #69a7e4; // 三角形的颜色
        transform: rotate(180deg);
        z-index: -1;
    }

    .marsBlueGradientPnl {
        // padding: 2px 2px;
        text-align: center;
        margin: 0;
        color: #fff;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        border-radius: 5px;
        // line-height: 32px;
        width: 360px;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
        word-wrap: break-word;
        font-size: 14px;
        box-shadow: inset 0 0 40px #409eff;
        // background: linear-gradient(rgb(7 10 203 / 75%), rgb(16 238 220));
    }

    .marsBlueGradientPnl img {
        vertical-align: middle;
        width: 360px;
        height: 360px;
    }
}

.yjwz-height-box {
    bottom: 120px;

    &::after {
        content: "";
        position: absolute;
        bottom: -120px;
        left: calc(50% - 3px);
        display: block;
        width: 3px;
        height: 120px;
        // 0px 0px 6px rgb(255, 179, 0, 0.8)
        background: linear-gradient(to bottom, rgb(255, 179, 0, 0.8), rgb(255, 179, 0, 0.2));
        // border-right: 3px solid #fff;
    }
}

.fxy-ordinary {
    &::after {
        background: linear-gradient(to bottom, rgba(255, 201, 0, 0.8), rgba(255, 201, 0, 0.2));
    }

    .map-name {
        color: rgba(255, 201, 0, 1);
        width: 240px;
    }

    .map-icon {
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgba(255, 201, 0, 0.9) 100%);
        box-shadow: 0px 0px 10px rgb(255, 201, 0);
    }
}

.fxy-larger {
    &::after {
        background: linear-gradient(to bottom, rgba(255, 0, 0, 0.8), rgba(255, 0, 0, 0.2));
    }

    .map-name {
        color: #ff3b3b;
        width: 240px;
    }

    .map-icon {
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgba(255, 0, 0, 0.9) 100%);
        box-shadow: 0px 0px 10px rgb(255, 0, 0);
    }
}

.fxy-larger-b {
    &::after {
        background: linear-gradient(to bottom, rgba(255, 165, 0, 0.8), rgba(255, 165, 0, 0.2));
    }

    .map-name {
        color: #FFA500;
        width: 240px;
    }

    .map-icon {
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgba(255, 165, 0, 0.9) 100%);
        box-shadow: 0px 0px 10px rgb(255, 165, 0);
    }
}

.fxy-zd {
    &::after {
        background: linear-gradient(to bottom, rgba(173, 173, 173, 0.8), rgba(173, 173, 173, 0.2));
    }

    .map-name {
        color: rgba(255, 201, 0, 1);
        width: 240px;
    }

    .map-icon {
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgba(173, 173, 173, 0.9) 100%);
        box-shadow: 0px 0px 10px rgb(173, 173, 173);
    }
}

.gt-zd {
    &::after {
        background: linear-gradient(to bottom, rgba(0, 136, 255, 0.8), rgba(0, 136, 255, 0.2));
    }

    .map-name {
        color: rgb(0, 72, 255);
        width: 240px;
    }

    .map-icon {
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgba(0, 136, 255, 0.9) 100%);
        box-shadow: 0px 0px 10px rgba(0, 136, 255, 1);
    }
}

.qyfb-box {
    &::after {
        background: linear-gradient(to bottom, rgba(0, 136, 255, 0.8), rgba(0, 136, 255, 0.2));
    }

    .map-name {
        color: #FFEB3B;
    }

    .map-icon {
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgba(0, 136, 255, 0.9) 100%);
        box-shadow: 0px 0px 10px rgba(0, 136, 255, 1);
    }
}

.xfs-box {
    &::after {
        background: linear-gradient(to bottom, rgba(255, 197, 90, 0.8), rgba(255, 197, 90, 0.2));
    }

    .map-name {
        color: #ffc55a;
    }

    .map-icon {
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgba(255, 197, 90, 0.9) 100%);
        box-shadow: 0px 0px 10px rgb(255, 197, 90);
    }
}

.yjb-box,
.ysf-box,
.sk-box {
    &::after {
        background: linear-gradient(to bottom, rgba(15, 125, 254, 0.8), rgba(15, 125, 254, 0.2));
    }

    .map-name {
        color: #FFEB3B;
    }

    .map-icon {
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgba(15, 125, 254, 0.9) 100%);
        box-shadow: 0px 0px 10px rgba(15, 125, 254, 1);
    }
}

.yjc-box {
    &::after {
        background: linear-gradient(to bottom, rgba(15, 254, 71, 0.8), rgba(15, 254, 71, 0.2));
    }

    .map-name {
        color: #FFEB3B;
    }

    .map-icon {
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgba(15, 254, 71, 0.9) 100%);
        box-shadow: 0px 0px 10px rgba(15, 254, 71, 1);
    }
}

.is-need-item {
    &::after {
        background: linear-gradient(to bottom, rgba(255, 0, 0, 0.8), rgba(255, 0, 0, 0.2)) !important;
    }

    .map-name {
        color: #ff3b3b !important;
        width: 240px !important;
    }

    .map-icon {
        background: radial-gradient(circle at center, rgba(255, 255, 255, 0.3) 20%, rgba(255, 0, 0, 0.9) 100%) !important;
        box-shadow: 0px 0px 10px rgb(255, 0, 0) !important;
    }
}

@keyframes pulse-glow {
    0% {
        box-shadow: 0 0 4px red, inset 0 0 4px red;
    }

    50% {
        box-shadow: 0 0 8px red, inset 0 0 8px red;
    }

    100% {
        box-shadow: 0 0 4px red, inset 0 0 4px red;
    }
}

.dynamic-map-popup {
    padding: 32px 30px;

    position: absolute;
    right: 100%;
    bottom: 0;
    width: 320px;
    font-weight: bold;
    font-style: italic;

    .arrow {
        position: absolute;
        right: 0;
        bottom: 0;
        width: 45px;
        height: 2px;
        transform: rotate(45deg);
        background: red;
        transform-origin: right bottom;
    }

    .content-wrap {
        position: relative;
        color: #fff;
        background: rgba(255, 0, 0, 0.2);

        &::after {
            content: '';
            position: absolute;
            top: -0.8px;
            /* 调整以匹配所需的发光区域 */
            left: 0px;
            /* 同上 */
            right: 0px;
            bottom: calc(100% - 0.8px);
            background: white;
            box-shadow: 0 0 8px red, inset 0 0 8px red;
            animation: pulse-glow 3s infinite;
        }

        &::before {
            content: '';
            position: absolute;
            top: calc(100% - 0.8px);
            /* 调整以匹配所需的发光区域 */
            left: 0px;
            /* 同上 */
            right: 0px;
            bottom: -0.8px;
            background: white;
            box-shadow: 0 0 8px red, inset 0 0 8px red;
            animation: pulse-glow 3s infinite;
        }

        .title {
            position: relative;
            height: 30px;
            line-height: 30px;
            font-size: 18px;


            &::before {
                content: '';
                position: absolute;
                top: calc(100% - 0.8px);
                /* 调整以匹配所需的发光区域 */
                left: 0px;
                /* 同上 */
                right: 40%;
                bottom: -0.8px;
                background: white;
                box-shadow: 0 0 8px red, inset 0 0 8px red;
                animation: pulse-glow 3s infinite;
            }
        }

        .content {
            text-indent: 2em;
            line-height: 28px;
        }
    }
}

.dynamic-event-profile-map-popup {
    padding: 32px 30px;

    position: absolute;
    left: 100%;
    bottom: 0;
    width: 320px;
    font-weight: bold;
    font-style: italic;

    .arrow {
        position: absolute;
        left: 0;
        bottom: 0;
        width: 45px;
        height: 2px;
        transform: rotate(-45deg);
        background: red;
        transform-origin: left bottom;
    }

    .content-wrap {
        position: relative;
        color: #fff;
        background: rgba(255, 0, 0, 0.2);

        &::after {
            content: '';
            position: absolute;
            top: -0.8px;
            /* 调整以匹配所需的发光区域 */
            left: 0px;
            /* 同上 */
            right: 0px;
            bottom: calc(100% - 0.8px);
            background: white;
            box-shadow: 0 0 8px red, inset 0 0 8px red;
            animation: pulse-glow 3s infinite;
        }

        &::before {
            content: '';
            position: absolute;
            top: calc(100% - 0.8px);
            /* 调整以匹配所需的发光区域 */
            left: 0px;
            /* 同上 */
            right: 0px;
            bottom: -0.8px;
            background: white;
            box-shadow: 0 0 8px red, inset 0 0 8px red;
            animation: pulse-glow 3s infinite;
        }

        .title {
            position: relative;
            height: 30px;
            line-height: 30px;
            font-size: 18px;


            &::before {
                content: '';
                position: absolute;
                top: calc(100% - 0.8px);
                /* 调整以匹配所需的发光区域 */
                left: 0px;
                /* 同上 */
                right: 40%;
                bottom: -0.8px;
                background: white;
                box-shadow: 0 0 8px red, inset 0 0 8px red;
                animation: pulse-glow 3s infinite;
            }
        }

        .content {
            text-indent: 2em;
            line-height: 28px;
        }
    }
}

.widget.location-bar {
    position: absolute;
    left: 620px !important;
    bottom: 120px !important;
    font-size: 14px;
    color: #fff;
    background: #0009;
    padding: 2px 5px;
    border-radius: 2px;
    user-select: none;
    display: flex;
}