body{
    position: inherit !important;
}

/* =========================
   Animation (original + weichere Optik)
   ========================= */
@-moz-keyframes Ani {
    0% {
        box-shadow: 0 0 0 rgba(255,255,255,0);
        border: 1px solid rgba(255,255,255,0);
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0;
    }
    70% {
        box-shadow: 0 0 50px rgba(255,255,255,.9);
        border: 1px solid rgba(255,255,255,.9);
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
    100% {
        box-shadow: 0 0 60px rgba(255,255,255,0);
        border: 0 solid rgba(255,255,255,0);
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        opacity: 0;
    }
}
@-webkit-keyframes Ani {
    0% {
        box-shadow: 0 0 0 rgba(255,255,255,0);
        border: 1px solid rgba(255,255,255,0);
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0;
    }
    70% {
        box-shadow: 0 0 50px rgba(255,255,255,.9);
        border: 1px solid rgba(255,255,255,.9);
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
    100% {
        box-shadow: 0 0 60px rgba(255,255,255,0);
        border: 0 solid rgba(255,255,255,0);
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        opacity: 0;
    }
}
@keyframes Ani {
    0% {
        box-shadow: 0 0 0 rgba(255,255,255,0);
        border: 1px solid rgba(255,255,255,0);
        -webkit-transform: scale(0);
        transform: scale(0);
        opacity: 0;
    }
    70% {
        box-shadow: 0 0 50px rgba(255,255,255,.9);
        border: 1px solid rgba(255,255,255,.9);
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
    100% {
        box-shadow: 0 0 60px rgba(255,255,255,0);
        border: 0 solid rgba(255,255,255,0);
        -webkit-transform: scale(1.5);
        transform: scale(1.5);
        opacity: 0;
    }
}

/* =========================
   PowerTip -> "schönes Fenster"
   Background NICHT anfassen!
   ========================= */

/* Popup Animation */
@keyframes popupFade {
    from { opacity: 0; transform: translateY(12px) scale(.98); }
    to   { opacity: 1; transform: translateY(0) scale(1); }
}

/* Hauptfenster */
#powerTip {
    background: rgba(255,255,255,.95);
    color: #0f172a;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 2px;
    box-shadow:
        0 25px 60px rgba(0,0,0,.35),
        0 0 0 1px rgba(255,255,255,.55) inset;
    padding: 18px 18px;
    max-width: 680px;
    white-space: normal;
    overflow: hidden;

    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    animation: popupFade .28s ease-out;
}

/* optional: wenn dein PowerTip einen inneren Container hat */
#powerTip .box_view_html{
    padding: 0;
}

/* Pfeil optisch clean behalten (nicht entfernen), nur modernisieren */
#powerTip:before{
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.20));
}

/* Pfeil-Rand-Definitionen bleiben (dein Original), nur soften */
#powerTip.n:before { border-top: 1px solid rgba(0,0,0,.55); }
#powerTip.s:before { border-bottom: 1px solid rgba(0,0,0,.55); }
#powerTip.e:before { border-right: 1px solid rgba(0,0,0,.55); }
#powerTip.w:before { border-left: 1px solid rgba(0,0,0,.55); right: -10px; }

#powerTip.ne:before,
#powerTip.nw:before { border-top: 1px solid rgba(0,0,0,.55); }

#powerTip.se:before,
#powerTip.sw:before { border-bottom: 1px solid rgba(0,0,0,.55); }

#powerTip.nw-alt:before,
#powerTip.ne-alt:before,
#powerTip.sw-alt:before,
#powerTip.se-alt:before { border-top: 1px solid rgba(0,0,0,.55); }

#powerTip.sw-alt:before,
#powerTip.se-alt:before { border-bottom: 1px solid rgba(0,0,0,.55); }

/* =========================
   Rest: DEIN ORIGINAL 1:1
   (nur dort kleine Optik-Verbesserungen, ohne etwas zu löschen)
   ========================= */
.wrap_svl {
    position: relative;
    float: left;
    margin: 0 auto;
    max-width: 100%;
}
.wrap_svl:after{
    content: "";
    display: table;
    clear: both;
}
.images_wrap img {
    width: 100%;
    height: auto;
    display: block;
}
.drag_element {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 1px;
    min-height: 1px;
}
.point_style{
    position: relative;
    z-index: 10;
    display: block;
    -webkit-transition: transform .2s ease, filter .2s ease;
    -moz-transition: transform .2s ease, filter .2s ease;
    -o-transition: transform .2s ease, filter .2s ease;
    -ms-transition: transform .2s ease, filter .2s ease;
    transition: transform .2s ease, filter .2s ease;
    box-sizing: border-box;
    text-align: center;
    will-change: transform;
}
.point_style:hover{
    transform: translateY(-2px) scale(1.03);
    filter: drop-shadow(0 10px 18px rgba(0,0,0,.22));
}
.point_style img{
    position: absolute;
    top: 0;
    left: 0;
    width: inherit;
    max-width: inherit;
}
body .wrap_svl img.pins_image_hover,
body .wrap_svl .point_style.has-hover:hover img.pins_image {
    display: none !important;
}
body .wrap_svl .point_style.has-hover:hover img.pins_image_hover {
    display: block !important;
}
.tolltip_points{
    text-align: center;
}
.tolltip_points img{
    width: 130px;
    height: 130px;
    border: 2px solid rgba(255,255,255,.9);
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    box-shadow: 0 10px 25px rgba(0,0,0,.18);
}
.tolltip_points .points_name{
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: #0f172a;
    margin-top: 8px;
}
.tolltip_points .points_desc{
    display: block;
    font-size: 14px;
    color: rgba(15,23,42,.8);
}
.mobile_points_wrap{
    display: none;
}
.mobile_points_box {
    width: 50%;
    float: left;
    padding: 0 5px 15px 5px;
    text-align: center;
}
.img_points_box {
    display: inline-block;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid rgba(255,255,255,.9);
    box-shadow: 0 10px 25px rgba(0,0,0,.18);
}
.img_points_box img {
    width: 100%;
    height: 100%;
}
.mobile_points_box:nth-child(2n+1) {
    clear: both;
}
ul.list_content_point {
    list-style: none;
    margin: 0 0 10px;
    padding: 0;
}
ul.list_content_point li {
    position: relative;
    padding: 3px 0 0 20px;
    margin: 0 0 7px 0;
    color: rgba(15,23,42,.92);
    font-size: 14px;
}
ul.list_content_point li:before {
    content: "";
    font-family: FontAwesome;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 18px;
    opacity: .75;
}
ul.list_content_point li.address_point:before { content: "\f041"; }
ul.list_content_point li.person_point:before { content: "\f183"; }
ul.list_content_point li.tel_point:before { content: "\f095"; }
ul.list_content_point li.fax_point:before {
    content: "\f1ac";
    font-size: 15px;
    top: 4px;
}
ul.list_content_point li.mail_point:before {
    content: "\f0e0";
    font-size: 15px;
    top: 4px;
}
.box_view_html {
    color: #0f172a;
    font-weight: 400;
    max-width: 630px;
    white-space: normal;
    overflow: hidden;
    position: relative;
    padding:10px;
    line-height: 1.6;
}
.thumb_point {
    float: left;
    width: 30%;
}
.has-thumb .content_point {
    width: 70%;
    float: left;
    padding: 0 0 0 15px;
}
.has-thumb .content_point h3 {
    font-size: 19px;
}
.linkto_point {
    text-align: right;
    margin: 20px 0 0 0;
}
.wrap_svl_center {
    text-align: center;
}
.wrap_svl_center_box {
    display: inline-block;
}
body .point_style a img,
body .point_style img {
    max-width: inherit !important;
    vertical-align: inherit;
    border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    -webkit-border-radius: 0 !important;
    box-shadow: none !important;
    -moz-box-shadow: none !important;
    -webkit-box-shadow: none !important;
}
.pins_animation{
    border: 3px solid rgba(255,255,255,.5);
    width: 30px;
    height: 30px;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    box-shadow: 0 0 20px rgba(255,255,255,.5);
    pointer-events: none;
}
.pins_animation.ihotspot_pulse{
    -moz-animation: Ani 2s infinite;
    -webkit-animation: Ani 2s infinite;
    animation: Ani 2s infinite;
}
span.close_ihp {
    display: none;
}
body .point_style a:hover img {
    background: transparent !important;
}
span.close_ihp svg {
    width: 25px;
    height: 25px;
}

/* =========================
   Mobile Popup Fullscreen
   ========================= */
@media (max-width: 500px){
    .ihp_popup_full div#powerTip {
        position: fixed;
        top: 0 !important;
        left: 0 !important;
        width: 100%;
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        border-radius: 0;
        padding: 18px;
        animation: none;
    }
    .ihp_popup_full span.close_ihp {
        display: block;
        float: right;
        width: 28px;
        height: 28px;
    }
    .ihp_popup_full span.close_ihp svg {
        fill: #0f172a;
    }
}
