{"id":3238,"date":"2022-09-22T14:44:03","date_gmt":"2022-09-22T12:44:03","guid":{"rendered":"https:\/\/www.saniblu.de\/stores\/villingen\/"},"modified":"2024-08-18T12:11:39","modified_gmt":"2024-08-18T10:11:39","slug":"villingen","status":"publish","type":"page","link":"https:\/\/www.saniblu.de\/en\/stores\/villingen\/","title":{"rendered":"Villingen"},"content":{"rendered":"<div id=\"pl-3238\"  class=\"panel-layout\" ><div id=\"pg-3238-0\"  class=\"panel-grid panel-has-style\" ><div class=\"siteorigin-panels-stretch panel-row-style panel-row-style-for-3238-0\" data-stretch-type=\"full-width-stretch\" ><div id=\"pgc-3238-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-3238-0-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"0\" ><div class=\"panel-widget-style panel-widget-style-for-3238-0-0-0\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<style>#pano1298 div.pnlm-hotspot-base.fas.custom-1298-VILVT01-VILHSP01,\n                          #pano1298 div.pnlm-hotspot-base.fab.custom-1298-VILVT01-VILHSP01,\n                          #pano1298 div.pnlm-hotspot-base.fa-solid.custom-1298-VILVT01-VILHSP01,\n                          #pano1298 div.pnlm-hotspot-base.fa.custom-1298-VILVT01-VILHSP01,\n                          #pano1298 div.pnlm-hotspot-base.far.custom-1298-VILVT01-VILHSP01 {\n                              display: block !important;\n                             background-color: #ffa300;\n                              color: #fff;\n                               border-radius: 100%;\n                              width: 30px;\n                              height: 30px;\n                              font-size: 16px;\n                              line-height: 30px;\n                              animation: icon-pulsepano1298-VILVT01-VILHSP01 1.5s infinite cubic-bezier(.25, 0, 0, 1);\n                              \n                          }#pano21298 div.pnlm-hotspot-base.fas.custom-1298-VILVT01-VILHSP01,\n                              #pano21298 div.pnlm-hotspot-base.fab.custom-1298-VILVT01-VILHSP01,\n                              #pano21298 div.pnlm-hotspot-base.fa-solid.custom-1298-VILVT01-VILHSP01,\n                              #pano21298 div.pnlm-hotspot-base.fa.custom-1298-VILVT01-VILHSP01,\n                              #pano21298 div.pnlm-hotspot-base.far.custom-1298-VILVT01-VILHSP01 {\n                              display: block !important;\n                             background-color: #ffa300;\n                              color: #fff;\n                               border-radius: 100%;\n                              width: 30px;\n                              height: 30px;\n                              font-size: 16px;\n                              line-height: 30px;\n                               animation: icon-pulsepano1298-VILVT01-VILHSP01 1.5s infinite cubic-bezier(.25, 0, 0, 1);\n                              \n                      }@-webkit-keyframes icon-pulsepano1298-VILVT01-VILHSP01 {\n                                0% {\n                                    box-shadow: 0 0 0 0px rgba(255, 163, 0, 1);\n                                }\n                                100% {\n                                    box-shadow: 0 0 0 10px rgba(255, 163, 0, 0);\n                                }\n                            }\n                            @keyframes icon-pulsepano1298 {\n                                0% {\n                                    box-shadow: 0 0 0 0px rgba(255, 163, 0, 1);\n                                }\n                                100% {\n                                    box-shadow: 0 0 0 10px rgba(255, 163, 0, 0);\n                                }\n                            }@-webkit-keyframes icon-pulsepano21298-VILVT01-VILHSP01 {\n                                0% {\n                                    box-shadow: 0 0 0 0px rgba(255, 163, 0, 1);\n                                }\n                                100% {\n                                    box-shadow: 0 0 0 10px rgba(255, 163, 0, 0);\n                                }\n                            }\n                            @keyframes icon-pulsepano1298 {\n                                0% {\n                                    box-shadow: 0 0 0 0px rgba(255, 163, 0, 1);\n                                }\n                                100% {\n                                    box-shadow: 0 0 0 10px rgba(255, 163, 0, 0);\n                                }\n                            }#pano1298 div.pnlm-hotspot-base.fas.custom-1298-VILVT02-VILHSP02,\n                          #pano1298 div.pnlm-hotspot-base.fab.custom-1298-VILVT02-VILHSP02,\n                          #pano1298 div.pnlm-hotspot-base.fa-solid.custom-1298-VILVT02-VILHSP02,\n                          #pano1298 div.pnlm-hotspot-base.fa.custom-1298-VILVT02-VILHSP02,\n                          #pano1298 div.pnlm-hotspot-base.far.custom-1298-VILVT02-VILHSP02 {\n                              display: block !important;\n                             background-color: #ffa300;\n                              color: #fff;\n                               border-radius: 100%;\n                              width: 30px;\n                              height: 30px;\n                              font-size: 16px;\n                              line-height: 30px;\n                              animation: icon-pulsepano1298-VILVT02-VILHSP02 1.5s infinite cubic-bezier(.25, 0, 0, 1);\n                              \n                          }#pano21298 div.pnlm-hotspot-base.fas.custom-1298-VILVT02-VILHSP02,\n                              #pano21298 div.pnlm-hotspot-base.fab.custom-1298-VILVT02-VILHSP02,\n                              #pano21298 div.pnlm-hotspot-base.fa-solid.custom-1298-VILVT02-VILHSP02,\n                              #pano21298 div.pnlm-hotspot-base.fa.custom-1298-VILVT02-VILHSP02,\n                              #pano21298 div.pnlm-hotspot-base.far.custom-1298-VILVT02-VILHSP02 {\n                              display: block !important;\n                             background-color: #ffa300;\n                              color: #fff;\n                               border-radius: 100%;\n                              width: 30px;\n                              height: 30px;\n                              font-size: 16px;\n                              line-height: 30px;\n                               animation: icon-pulsepano1298-VILVT02-VILHSP02 1.5s infinite cubic-bezier(.25, 0, 0, 1);\n                              \n                      }@-webkit-keyframes icon-pulsepano1298-VILVT02-VILHSP02 {\n                                0% {\n                                    box-shadow: 0 0 0 0px rgba(255, 163, 0, 1);\n                                }\n                                100% {\n                                    box-shadow: 0 0 0 10px rgba(255, 163, 0, 0);\n                                }\n                            }\n                            @keyframes icon-pulsepano1298 {\n                                0% {\n                                    box-shadow: 0 0 0 0px rgba(255, 163, 0, 1);\n                                }\n                                100% {\n                                    box-shadow: 0 0 0 10px rgba(255, 163, 0, 0);\n                                }\n                            }@-webkit-keyframes icon-pulsepano21298-VILVT02-VILHSP02 {\n                                0% {\n                                    box-shadow: 0 0 0 0px rgba(255, 163, 0, 1);\n                                }\n                                100% {\n                                    box-shadow: 0 0 0 10px rgba(255, 163, 0, 0);\n                                }\n                            }\n                            @keyframes icon-pulsepano1298 {\n                                0% {\n                                    box-shadow: 0 0 0 0px rgba(255, 163, 0, 1);\n                                }\n                                100% {\n                                    box-shadow: 0 0 0 10px rgba(255, 163, 0, 0);\n                                }\n                            }<\/style><div id=\"master-container\" class=\"wpvr-master-container wpvr-cardboard \" style=\"max-width:100%; width: 100%; height: 400px; border-radius:0px; direction:ltr; \"><div id=\"pano21298\" class=\"pano-wrap pano-left pano21298\" style=\"width: 49%; border-radius:0px\"><div id=\"center-pointer21298\" class=\"vr-pointer-container\"><span class=\"center-pointer\"><\/span><\/div><\/div><div id=\"pano1298\" class=\"pano-wrap vrfullwidth pano1298\" style=\" text-align:center; height: 400px; border-radius:0px; direction:ltr;\" ><div id=\"center-pointer1298\" class=\"vr-pointer-container\" style=\"display:none\"><span class=\"center-pointer\"><\/span><\/div><div class=\"explainer\" id=\"explainer1298\" style=\"display: none\"><span class=\"close-explainer-video\"><i class=\"fa fa-times\"><\/i><\/span><\/div><div class=\"wpvr-hotspot-tweak-contents-wrapper\" style=\"display: none\"><i class=\"fa fa-times cross\" data-id=\"1298\"><\/i><div class=\"wpvr-hotspot-tweak-contents-flex\"><div class=\"wpvr-hotspot-tweak-contents\"><\/div><\/div><\/div><div class=\"custom-ifram-wrapper\" style=\"display: none;\"><i class=\"fa fa-times cross\" data-id=\"1298\"><\/i><div class=\"custom-ifram-flex\"><div class=\"custom-ifram\"><\/div><\/div><\/div><\/div><\/div><style id=\"wpvr-scene-info-pano1298\">\n            #pano1298 .pnlm-panorama-info.wpvr-scene-info-row {\n                display: flex !important;\n                align-items: center !important;\n                justify-content: center !important;\n                gap: 10px !important;\n                box-sizing: border-box !important;\n                min-width: 0 !important;\n                overflow: hidden !important;\n                text-align: center !important;\n                z-index: 2147483647 !important;\n                -webkit-transform: translateZ(10000px) !important;\n                transform: translateZ(10000px) !important;\n            }\n\n            #pano1298 .pnlm-panorama-info.wpvr-scene-info-row .pnlm-title-box {\n                flex: 0 1 auto !important;\n                min-width: 0 !important;\n                max-width: calc(70% - 5px) !important;\n                width: auto !important;\n                margin: 0 !important;\n                padding: 0 !important;\n                display: block !important;\n                overflow: hidden !important;\n                text-overflow: ellipsis !important;\n                white-space: nowrap !important;\n            }\n\n            #pano1298 .pnlm-panorama-info.wpvr-scene-info-row .pnlm-author-box {\n                flex: 0 1 auto !important;\n                min-width: 0 !important;\n                max-width: calc(30% - 5px) !important;\n                margin: 0 !important;\n                border-left: 1px solid rgba(255, 255, 255, 0.45) !important;\n                padding: 0 0 0 10px !important;\n                display: block !important;\n                overflow: hidden !important;\n                line-height: 1.2 !important;\n                text-overflow: ellipsis !important;\n                white-space: nowrap !important;\n            }\n\n            #pano1298 .pnlm-panorama-info .wpvr-author-label {\n                flex: none !important;\n                margin-right: 4px !important;\n                font-size: 10px !important;\n                font-weight: 700 !important;\n                letter-spacing: 0.06em !important;\n                opacity: 0.8 !important;\n                text-transform: uppercase !important;\n            }\n\n            #pano1298 .pnlm-panorama-info .pnlm-author-box a {\n                color: inherit !important;\n                text-decoration: underline !important;\n                text-underline-offset: 2px !important;\n            }\n\n            #pano1298 .pnlm-panorama-info.wpvr-has-title:not(.wpvr-has-author) .pnlm-title-box,\n            #pano1298 .pnlm-panorama-info.wpvr-has-author:not(.wpvr-has-title) .pnlm-author-box {\n                max-width: 100% !important;\n                border-left: 0 !important;\n                padding-left: 0 !important;\n            }\n\n            #pano1298.wpvr-layout-classic.wpvr-has-scene-info .scene-gallery.wpvr-gallery--classic {\n                bottom: calc(var(--wpvr-scene-info-height, 34px) + 8px) !important;\n            }\n\n            #pano1298.wpvr-layout-classic.wpvr-has-scene-info .vrgcontrols {\n                bottom: calc(var(--wpvr-scene-info-height, 34px) + 4px) !important;\n            }\n\n            #pano1298.wpvr-layout-classic.wpvr-has-scene-info .wpvr_slider_nav {\n                bottom: calc(var(--wpvr-scene-info-height, 34px) + 15px) !important;\n            }\n\n            #pano1298.wpvr-layout-classic.wpvr-has-scene-info .controls {\n                bottom: calc(var(--wpvr-scene-info-height, 34px) + 6px) !important;\n            }\n\n            @media (max-width: 767px) {\n                #pano1298 .pnlm-panorama-info.wpvr-scene-info-row {\n                    gap: 7px !important;\n                    padding-right: 10px !important;\n                    padding-left: 10px !important;\n                }\n\n                #pano1298 .pnlm-panorama-info.wpvr-scene-info-row .pnlm-title-box {\n                    max-width: calc(65% - 4px) !important;\n                }\n\n                #pano1298 .pnlm-panorama-info.wpvr-scene-info-row .pnlm-author-box {\n                    max-width: calc(35% - 4px) !important;\n                    padding-left: 7px !important;\n                }\n            }\n        <\/style>\n        \n<script>(function ($) {jQuery(document).ready(function() {var response = [{\"panoid\":\"pano1298\"},{\"autoLoad\":false,\"showControls\":true,\"orientationSupport\":\"false\",\"compass\":false,\"orientationOnByDefault\":false,\"mouseZoom\":true,\"draggable\":true,\"disableKeyboardCtrl\":false,\"keyboardZoom\":true,\"preview\":\"https:\\\/\\\/www.saniblu.de\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Villingen-VT_Intro.webp\",\"autoRotate\":\"-2\",\"autoRotateInactivityDelay\":\"2000\",\"default\":{\"firstScene\":\"VILVT01\",\"sceneFadeDuration\":\"\",\"hfov\":\"120\",\"maxHfov\":\"120\",\"minHfov\":\"50\"},\"scenes\":{\"VILVT01\":{\"type\":\"equirectangular\",\"panorama\":\"https:\\\/\\\/www.saniblu.de\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/IMG_20200831_122900_00_013-scaled.jpg\",\"hfov\":120,\"maxHfov\":120,\"minHfov\":50,\"hotSpots\":[{\"text\":\"VILHSP01\",\"pitch\":\" -3.371354170356499\",\"yaw\":\" -120.5672209940148\",\"type\":\"scene\",\"cssClass\":\"fas fa-arrow-alt-circle-up custom-1298-VILVT01-VILHSP01\",\"URL\":\"\",\"wpvr_url_open\":\"off\",\"clickHandlerArgs\":[],\"createTooltipArgs\":\"\",\"sceneId\":\"VILVT02\",\"hotspot_type\":\"scene\",\"hotspot_target\":\"notBlank\",\"hotspot_shape\":\"round\"}]},\"VILVT02\":{\"type\":\"equirectangular\",\"panorama\":\"https:\\\/\\\/www.saniblu.de\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Villingen-360-Innen-scaled.jpg\",\"hfov\":120,\"maxHfov\":120,\"minHfov\":50,\"hotSpots\":[{\"text\":\"VILHSP02\",\"pitch\":\" -4.055500289434229\",\"yaw\":\" -8.639763689648452\",\"type\":\"scene\",\"cssClass\":\"fas fa-arrow-alt-circle-up custom-1298-VILVT02-VILHSP02\",\"URL\":\"\",\"wpvr_url_open\":\"off\",\"clickHandlerArgs\":[],\"createTooltipArgs\":\"\",\"sceneId\":\"VILVT01\",\"hotspot_type\":\"scene\",\"hotspot_target\":\"notBlank\",\"hotspot_shape\":\"round\"}]}}}];var scenes = response[1];function wpvrResolveDevicePanorama(scenesConfig) {    if (!scenesConfig || !scenesConfig.scenes) return;    var isMobile = \/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini\/i.test(navigator.userAgent) || (navigator.platform === \"MacIntel\" && navigator.maxTouchPoints > 1);    var isSmallScreen = (window.innerWidth <= 768);    if (typeof window.wpvrMaxTexture === \"undefined\") {        window.wpvrMaxTexture = 16384;        try {            var testCanvas = document.createElement(\"canvas\");            var gl = testCanvas.getContext(\"webgl\") || testCanvas.getContext(\"experimental-webgl\");            if (gl) {                window.wpvrMaxTexture = gl.getParameter(gl.MAX_TEXTURE_SIZE) || 16384;                var ext = gl.getExtension(\"WEBGL_lose_context\");                if (ext) { ext.loseContext(); }            }        } catch (e) {}    }    var maxTexture = window.wpvrMaxTexture;    for (var scId in scenesConfig.scenes) {        if (!scenesConfig.scenes.hasOwnProperty(scId)) continue;        var sc = scenesConfig.scenes[scId];        if (!sc) continue;        var exceedsGpu = sc.desktop_width && (sc.desktop_width > maxTexture);        if (isMobile || isSmallScreen || exceedsGpu) {            if (sc.mobile_panorama) {                sc.panorama = sc.mobile_panorama;            }        } else if (sc.desktop_panorama) {            sc.panorama = sc.desktop_panorama;        }    }}wpvrResolveDevicePanorama(scenes);if(scenes) {var scenedata = scenes.scenes;for(var scId in scenedata) {if(!scenedata.hasOwnProperty(scId)) continue;var scenehotspot = scenedata[scId].hotSpots;if(scenehotspot && scenehotspot.length) {for(var hIdx = 0; hIdx < scenehotspot.length; hIdx++) {if(scenehotspot[hIdx].type === \"info\") {    scenehotspot[hIdx][\"clickHandlerFunc\"] = function(div, args) { if (typeof window.wpvrhotspot === \"function\") { window.wpvrhotspot(div, args); } };} else if(scenehotspot[hIdx].type === \"scene\") {    scenehotspot[hIdx][\"clickHandlerArgs\"] = scenehotspot[hIdx][\"text\"] || \"\";if(typeof wpvr_public !== \"undefined\") {if(wpvr_public.is_pro_active) {    scenehotspot[hIdx][\"clickHandlerFunc\"] = function(div, args) { if (typeof wpvrhotspotscene1298 === \"function\") { wpvrhotspotscene1298(div, args); } else if (typeof wpvrhotspotscene === \"function\") { wpvrhotspotscene(div, args); } else if (typeof window.wpvrhotspotscene === \"function\") { window.wpvrhotspotscene(div, args); } };}}}if(scenehotspot[hIdx].hotspot_type === \"sticker\" || scenehotspot[hIdx].type === \"sticker\" || scenehotspot[hIdx].stickerTemplate) {    (function(hs) {        hs[\"createTooltipFunc\"] = function(div) {            if (typeof window.wpvrRenderStickerHotspot === \"function\") {                window.wpvrRenderStickerHotspot(div, hs);            }        };    })(scenehotspot[hIdx]);}else if(scenehotspot[hIdx][\"createTooltipArgs\"] != \"\") {    scenehotspot[hIdx][\"createTooltipFunc\"] = function(div, args) { if (typeof window.wpvrtooltip === \"function\") { window.wpvrtooltip(div, args); } };}}}}}var panoshow1298;var panoshow21298;function initWPVRViewer1298() {if (typeof pannellum === \"undefined\" || typeof jQuery === \"undefined\") { setTimeout(initWPVRViewer1298, 50); return; }panoshow1298 = pannellum.viewer(response[0][\"panoid\"], scenes);\n            window.wpvrViewers = window.wpvrViewers || {};\n            window.wpvrViewers[response[0][\"panoid\"]] = panoshow1298;\n            document.dispatchEvent(new CustomEvent(\"wpvr:viewer-ready\", {\n                detail: { containerId: response[0][\"panoid\"], viewer: panoshow1298 }\n            }));\n        \n  \n        if(typeof wpvr_public === \"undefined\" || !wpvr_public.is_pro_active || !wpvr_public.is_license_active) {\n            panoshow1298.on(\"load\", function() {\n                jQuery(\".pnlm-panorama-info\").hide();\n                jQuery(\".pnlm-compass\").hide();\n            });\n            \n            panoshow1298.on(\"scenechange\", function() {\n                jQuery(\".pnlm-panorama-info\").hide();\n                jQuery(\".pnlm-compass\").hide();\n            });\n        }}initWPVRViewer1298();var response_duplicate = [{\"panoid\":\"pano1298\"},{\"autoLoad\":false,\"showControls\":true,\"orientationSupport\":\"false\",\"compass\":false,\"orientationOnByDefault\":false,\"mouseZoom\":true,\"draggable\":true,\"disableKeyboardCtrl\":false,\"keyboardZoom\":true,\"preview\":\"https:\\\/\\\/www.saniblu.de\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Villingen-VT_Intro.webp\",\"autoRotate\":false,\"autoRotateInactivityDelay\":\"2000\",\"default\":{\"firstScene\":\"VILVT01\",\"sceneFadeDuration\":\"\",\"hfov\":\"120\",\"maxHfov\":\"120\",\"minHfov\":\"50\"},\"scenes\":{\"VILVT01\":{\"type\":\"equirectangular\",\"panorama\":\"https:\\\/\\\/www.saniblu.de\\\/wp-content\\\/uploads\\\/2023\\\/10\\\/IMG_20200831_122900_00_013-scaled.jpg\",\"hfov\":120,\"maxHfov\":120,\"minHfov\":50,\"hotSpots\":[{\"text\":\"VILHSP01\",\"pitch\":\" -3.371354170356499\",\"yaw\":\" -120.5672209940148\",\"type\":\"scene\",\"cssClass\":\"fas fa-arrow-alt-circle-up custom-1298-VILVT01-VILHSP01\",\"URL\":\"\",\"wpvr_url_open\":\"off\",\"clickHandlerArgs\":[],\"createTooltipArgs\":\"\",\"sceneId\":\"VILVT02\",\"hotspot_type\":\"scene\",\"hotspot_target\":\"notBlank\",\"hotspot_shape\":\"round\"}]},\"VILVT02\":{\"type\":\"equirectangular\",\"panorama\":\"https:\\\/\\\/www.saniblu.de\\\/wp-content\\\/uploads\\\/2022\\\/09\\\/Villingen-360-Innen-scaled.jpg\",\"hfov\":120,\"maxHfov\":120,\"minHfov\":50,\"hotSpots\":[{\"text\":\"VILHSP02\",\"pitch\":\" -4.055500289434229\",\"yaw\":\" -8.639763689648452\",\"type\":\"scene\",\"cssClass\":\"fas fa-arrow-alt-circle-up custom-1298-VILVT02-VILHSP02\",\"URL\":\"\",\"wpvr_url_open\":\"off\",\"clickHandlerArgs\":[],\"createTooltipArgs\":\"\",\"sceneId\":\"VILVT01\",\"hotspot_type\":\"scene\",\"hotspot_target\":\"notBlank\",\"hotspot_shape\":\"round\"}]}}}];var scenes_duplicate = response_duplicate[1];wpvrResolveDevicePanorama(scenes_duplicate);if(scenes_duplicate) {var scenedata = scenes_duplicate.scenes;for(var scId in scenedata) {if(!scenedata.hasOwnProperty(scId)) continue;var scenehotspot = scenedata[scId].hotSpots;if(scenehotspot && scenehotspot.length) {for(var hIdx = 0; hIdx < scenehotspot.length; hIdx++) {if(scenehotspot[hIdx][\"clickHandlerArgs\"] != \"\") {scenehotspot[hIdx][\"clickHandlerFunc\"] = function(div, args) { if (typeof window.wpvrhotspot === \"function\") { window.wpvrhotspot(div, args); } };}if(scenehotspot[hIdx].hotspot_type === \"sticker\" || scenehotspot[hIdx].type === \"sticker\" || scenehotspot[hIdx].stickerTemplate) {    (function(hs) {        hs[\"createTooltipFunc\"] = function(div) {            if (typeof window.wpvrRenderStickerHotspot === \"function\") {                window.wpvrRenderStickerHotspot(div, hs);            }        };    })(scenehotspot[hIdx]);}else if(scenehotspot[hIdx][\"createTooltipArgs\"] != \"\") {    scenehotspot[hIdx][\"createTooltipFunc\"] = function(div, args) { if (typeof window.wpvrtooltip === \"function\") { window.wpvrtooltip(div, args); } };}}}}}var vr_mode = \"off\";function initWPVRViewer21298() {if (typeof pannellum === \"undefined\" || typeof jQuery === \"undefined\") { setTimeout(initWPVRViewer21298, 50); return; }panoshow21298 = pannellum.viewer(\"pano21298\", scenes_duplicate);\n                window.wpvrViewers = window.wpvrViewers || {};\n                window.wpvrViewers[\"pano21298\"] = panoshow21298;\n                document.dispatchEvent(new CustomEvent(\"wpvr:viewer-ready\", {\n                    detail: { containerId: \"pano21298\", viewer: panoshow21298 }\n                }));\n            }initWPVRViewer21298();\n        var tim;\n        var im = 0;\n        var active_scene = \"VILVT01\";\n        var c_time;\n        c_time = new Date();\n        var timer = c_time.getTime() + 2000;\n       function panoShowCardBoardOnTrigger(data){\n            if(scenes_duplicate) {\n                var scenedata = scenes_duplicate.scenes;\n                for(var i in scenedata) {\n                    if(active_scene === i) {\n                        var scenehotspot = scenedata[i].hotSpots;\n                        if(scenehotspot && scenehotspot.length) {\n                            for(var j = 0; j < scenehotspot.length; j++) {\n                                var plusFiveYaw = Math.round(scenehotspot[j].yaw) + 5;\n                                var minusFiveYaw = Math.round(scenehotspot[j].yaw) - 5;\n                                var plusFivePitch = Math.round(scenehotspot[j].pitch) + 5;\n                                var minusFivePitch = Math.round(scenehotspot[j].pitch) - 5;\n                                if(Math.round(data.pitch) > minusFivePitch) {\n                                    if(Math.round(data.pitch) < plusFivePitch) {\n                                        if(Math.round(data.yaw) > minusFiveYaw) {\n                                            if(Math.round(data.yaw) < plusFiveYaw) {\n                                                jQuery(\".center-pointer\").addClass(\"wpvr-pluse-effect\");\n                                                var getScene = scenehotspot[j].sceneId;\n                                                if(scenehotspot[j].type == \"scene\"){\n                                                    panoshow1298.loadScene(getScene);\n                                                    panoshow21298.loadScene(getScene);\n                                                }else{\n                                                    jQuery(\".center-pointer\").removeClass(\"wpvr-pluse-effect\");\n                                                }\n                                            } else {\n                                                jQuery(\".center-pointer\").removeClass(\"wpvr-pluse-effect\");\n                                                c_time = new Date();\n                                                timer = c_time.getTime() + 2000;\n                                            }\n                                        } else {\n                                            jQuery(\".center-pointer\").removeClass(\"wpvr-pluse-effect\");\n                                            c_time = new Date();\n                                            timer = c_time.getTime() + 2000;\n                                        }\n                                    } else {\n                                        c_time = new Date();\n                                        timer = c_time.getTime() + 2000;\n                                    }\n                                } else {\n                                    c_time = new Date();\n                                    timer = c_time.getTime() + 2000;\n                                }\n                            }\n                        }\n                    }\n                }\n            }\n       };\n       function vrDeviseOrientation(){\n            var data = {\n                pitch: panoshow1298.getPitch(),\n                yaw: panoshow1298.getYaw(),\n            };\n            panoShowCardBoardOnTrigger(data);\n       }\n            function requestFullScreen(){\n                var elem = document.getElementById(\"master-container\") || document.getElementById(\"master-container\");\n                if (elem) {\n                    if (elem.requestFullscreen) {\n                        elem.requestFullscreen();\n                    } else if (elem.webkitRequestFullscreen) { \/* Safari *\/\n                        elem.webkitRequestFullscreen();\n                    } else if (elem.msRequestFullscreen) { \/* IE11 *\/\n                        elem.msRequestFullscreen();\n                    }\n                }\n            }\n            function requestExitFullscreen(){\n                var elem = document.getElementById(\"master-container\") || document.getElementById(\"master-container\");\n                if (document.exitFullscreen) {\n                    document.exitFullscreen();\n                 } else if (document.webkitExitFullscreen) { \/* Safari *\/\n                    document.webkitExitFullscreen();\n                 } else if (document.msExitFullscreen) { \/* IE11 *\/\n                    document.msExitFullscreen();\n                 }\n            }\n            jQuery(document).on(\"click\",\".fullscreen-button .expand\",function() {\n                jQuery(this).hide()\n                jQuery(this).parent().find(\".compress\").show()\n                requestFullScreen()\n            });   \n            jQuery(document).on(\"click\",\".fullscreen-button .compress\",function() {\n                jQuery(this).hide()\n                jQuery(this).parent().find(\".expand\").show()\n                requestExitFullscreen()\n                screen.orientation.unlock(); \n            }); \n            let onLoadAnalytics = false;\n            let sceneLoadAnalytics = false;\n\n            function storeAnalyticsData(data) {\n                if (typeof wpvrAnalyticsObj !== \"undefined\") {\n                    if (typeof wpvr_public !== \"undefined\") {\n                        if (wpvr_public.is_pro_active) {\n                            jQuery.ajax({\n                                url: wpvrAnalyticsObj.ajaxUrl,\n                                type: \"POST\",\n                                data: {\n                                    action: \"store_scene_hotspot_data\",\n                                    scene_id: data.scene_id,\n                                    tour_id: data.tour_id,\n                                    type: data.type,\n                                    hotspot_id: data.hotspot_id || \"\",\n                                    user_agent: navigator.userAgent,\n                                    device_type: getDeviceType() || \"desktop\",\n                                    nonce: wpvrAnalyticsObj.nonce,\n                                },\n                                success: function (response) {\n                                    console.log(\"Data stored successfully\");\n                                },\n                                error: function (error) {\n                                    console.log(\"Error in storing data\");\n                                }\n                            });\n                        }\n                    }\n                } else {\n                    console.warn(\"Analytics object not available or pro not active\");\n                }\n            }\n            function getDeviceType() {\n                const userAgent = navigator.userAgent.toLowerCase();\n                if (\/mobile|android|iphone|ipad|ipod|blackberry|iemobile|opera mini\/i.test(userAgent)) {\n                    return \"mobile\";\n                } else if (\/tablet|ipad\/i.test(userAgent)) {\n                     return \"tablet\";\n                } else {\n                    return \"desktop\";\n                }\n            }\n            panoshow1298.on(\"scenechange\", function(scene) {         \n                onLoadAnalytics = true;\n                sceneLoadAnalytics = true;\n                let scene_id = scene;\n                let tour_id = 1298;\n                let type = \"scene\";\n                let hotspot_id = \"\";\n                let user_agent = navigator.userAgent;\n                let device_type = getDeviceType() ? getDeviceType() : \"desktop\";\n                storeAnalyticsData({\n                    scene_id: scene_id,\n                    tour_id: tour_id,\n                    type: type,\n                    hotspot_id: hotspot_id,\n                    user_agent: user_agent,\n                    device_type: device_type,\n                });\n            });\n            panoshow1298.on(\"load\", function() {\n                let scene_id = panoshow1298.getScene();\n                let tour_id = 1298;\n                let type = \"scene\";\n                let hotspot_id = \"\";\n                let user_agent = navigator.userAgent;\n                let device_type = getDeviceType() ? getDeviceType() : \"desktop\";\n                if(!onLoadAnalytics) {\n                    if(!sceneLoadAnalytics) {\n                        storeAnalyticsData({\n                            scene_id: scene_id,\n                            tour_id: tour_id,\n                            type: type,\n                            hotspot_id: hotspot_id,\n                            user_agent: user_agent,\n                            device_type: device_type,\n                        });\n                    }\n                }\n            });\n            function wpvrhotspotscene1298(hotSpotDiv, args) {\n                onLoadAnalytics = true;\n                let scene_id = panoshow1298.getScene();\n                let tour_id = 1298;\n                let type = \"hotspot\";\n                let hotspot_id = args;\n                let user_agent = navigator.userAgent;\n                let device_type = getDeviceType() ? getDeviceType() : \"desktop\";\n                storeAnalyticsData({\n                    scene_id: scene_id,\n                    tour_id: tour_id,\n                    type: type,\n                    hotspot_id: hotspot_id,\n                    user_agent: user_agent,\n                    device_type: device_type\n                });\n            }\n            var wpvrhotspotscene = wpvrhotspotscene1298;\n            panoshow1298.on(\"scenechange\", function (scene){\n            jQuery(\".center-pointer\").removeClass(\"wpvr-pluse-effect\")\n            active_scene = scene;\n            \/\/ if(localStorage.getItem(\"vr_mode\") == \"on\") {\n            if(vr_mode == \"on\") {\n                jQuery(\"#pano21298 .pnlm-compass.pnlm-controls.pnlm-control\").css(\"display\",\"none\");\n                jQuery(\"#pano1298 .pnlm-compass.pnlm-controls.pnlm-control\").css(\"display\",\"none\");\n             }\n        });\n        var compassBlock = \"\";\n        var infoBlock = \"\";\n        jQuery(document).on(\"click\",\".vr_mode_change1298\",function (){\n          jQuery(\"#pano21298 .pnlm-load-button\").trigger(\"click\");\n          jQuery(\"#pano1298 .pnlm-load-button\").trigger(\"click\");\n          var getValue =   jQuery(this).val();\n          var getParent = jQuery(this).parent().parent();\n          var compass = getParent.find(\"#pano21298 .pnlm-compass.pnlm-controls.pnlm-control\").css(\"display\");\n          var panoInfo = getParent.find(\"#pano1298 .pnlm-panorama-info\").css(\"display\");\n          if(compass == \"block\"){\n            compassBlock = \"block\";\n          }\n          if(panoInfo == \"block\"){\n            infoBlock = \"block\";\n          }\n            if (getValue == \"off\") {\n                requestFullScreen()\n                screen.orientation.lock(\"landscape-primary\").then(function() {\n                }).catch(function(error) {\n                    alert(\"VR Glass Mode not supported in this device\");\n                });\n                \/\/ localStorage.setItem(\"vr_mode\", \"on\");\n                vr_mode = \"on\";\n                jQuery(\".vr-mode-title\").show();\n                jQuery(this).val(\"on\");\n                getParent.find(\"#pano21298\").css({\n                    \"opacity\": \"1\", \n                    \"visibility\": \"visible\",\n                    \"position\": \"relative\",\n                });\n                gyroSwitch = true;\n                panoshow1298.startOrientation();\n                panoshow21298.startOrientation();\n                panoshow21298.setPitch(panoshow1298.getPitch(), 0);\n                panoshow21298.setYaw(panoshow1298.getYaw(), 0);\n                getParent.find(\".pano-wrap\").addClass(\"wpvr-cardboard-disable-event\");\n                getParent.find(\"#pano1298 #zoom-in-out-controls1298\").hide();\n                getParent.find(\"#pano1298 #controls1298\").hide();\n                getParent.find(\"#pano1298 #explainer_button_1298\").hide();\n                getParent.find(\"#pano1298 #generic_form_button_1298\").hide();\n                getParent.find(\"#pano1298 #floor_map_button_1298\").hide();\n                getParent.find(\"#pano1298 #vrgcontrols1298\").hide();\n                getParent.find(\"#pano1298 #sccontrols1298\").hide();\n                getParent.find(\"#pano1298 #adcontrol1298\").hide();\n                getParent.find(\"#pano1298 .wpvr_slider_nav\").hide();\n                getParent.find(\"#pano1298 #cp-logo-controls\").hide();\n                getParent.find(\"#pano1298 #wpvr-social-share-bg-box1298\").hide();\n                getParent.find(\"#pano21298 .pnlm-controls-container\").hide();\n                getParent.find(\"#pano1298 .pnlm-controls-container\").hide();\n                getParent.find(\"#pano21298 .pnlm-compass.pnlm-controls.pnlm-control\").hide();\n                getParent.find(\"#pano1298 .pnlm-compass.pnlm-controls.pnlm-control\").hide();\n                getParent.find(\"#pano21298 .pnlm-panorama-info\").hide();\n                getParent.find(\"#pano1298 .pnlm-panorama-info\").hide();\n                getParent.find(\"#pano1298\").addClass(\"cardboard-half\"); \n                getParent.find(\"#center-pointer1298\").show();\n                getParent.find(\".fullscreen-button\").hide();\n                getParent.find(\"#pano1298 #custom-scene-navigation1298\").hide();\n                if (window.DeviceOrientationEvent) {\n                    window.addEventListener(\"deviceorientation\", vrDeviseOrientation);\n                }\n                 panoshow1298.on(\"zoomchange\", function (data){\n                    panoshow21298.setHfov(data, 0);\n                });\n                panoshow21298.on(\"zoomchange\", function (data){\n                    panoshow1298.setHfov(data, 0);\n                });\n                jQuery(document).on(\"click\",\"#pano21298\",function(event) {\n                  panoshow1298.startOrientation();\n                  panoshow21298.startOrientation();\n                });\n                jQuery(document).on(\"click\",\"#pano1298\",function(event) {\n                  panoshow1298.startOrientation();\n                  panoshow21298.startOrientation();\n                });\n                panoshow1298.on(\"mousemove\", function (data){\n                    panoshow21298.setPitch(data.pitch, 0);\n                    panoshow21298.setYaw(data.yaw, 0);\n                    panoShowCardBoardOnTrigger(data);\n                });\n                panoshow21298.on(\"mousemove\", function (data){\n                    panoshow1298.setPitch(data.pitch, 0);\n                    panoshow1298.setYaw(data.yaw, 0);\n                    panoShowCardBoardOnTrigger(data);\n                });\n                panoshow1298.on(\"touchmove\", function (data){\n                    panoshow1298.stopOrientation();\n                    panoshow21298.stopOrientation();\n                    panoshow21298.setPitch(data.pitch, 0);\n                    panoshow21298.setYaw(data.yaw, 0);\n                    panoShowCardBoardOnTrigger(data);\n                });\n                panoshow21298.on(\"touchmove\", function (data){\n                    panoshow1298.stopOrientation();\n                    panoshow21298.stopOrientation();\n                    panoshow1298.setPitch(data.pitch, 0);\n                    panoshow1298.setYaw(data.yaw, 0);\n                    panoShowCardBoardOnTrigger(data);\n                });   \n            } else if(getValue == \"on\") {\n                screen.orientation.unlock();\n                requestExitFullscreen();\n                \/\/ localStorage.setItem(\"vr_mode\", \"off\");\n                vr_mode = \"off\";\n                jQuery(\".vr-mode-title\").hide();\n                jQuery(this).val(\"off\");\n                getParent.find(\"#pano21298\").css({\n                    \"opacity\": \"0\", \n                    \"visibility\": \"hidden\",\n                    \"position\": \"absolute\",\n                });\n                getParent.find(\".pano-wrap\").removeClass(\"wpvr-cardboard-disable-event\");\n                getParent.find(\"#pano1298 #zoom-in-out-controls1298\").show();\n                getParent.find(\"#pano1298 #controls1298\").show();\n                getParent.find(\"#pano1298 #explainer_button_1298\").show();\n                getParent.find(\"#pano1298 #generic_form_button_1298\").show();\n                getParent.find(\"#pano1298 #floor_map_button_1298\").show();\n                getParent.find(\"#pano21298 .pnlm-controls-container\").show();\n                getParent.find(\"#pano1298 .pnlm-controls-container\").show();\n                getParent.find(\"#pano1298 #vrgcontrols1298\").show();\n                getParent.find(\"#pano1298 #sccontrols1298\").hide();\n                getParent.find(\"#pano1298 #adcontrol1298\").show();\n                getParent.find(\"#pano1298 .wpvr_slider_nav\").hide();\n                getParent.find(\"#pano1298 #cp-logo-controls\").show();\n                getParent.find(\"#pano1298 #wpvr-social-share-bg-box1298\").show();\n                 getParent.find(\"#pano1298 #custom-scene-navigation1298\").show();\n                if(compassBlock == \"block\"){\n                    getParent.find(\"#pano21298 .pnlm-compass.pnlm-controls.pnlm-control\").show();\n                    getParent.find(\"#pano1298 .pnlm-compass.pnlm-controls.pnlm-control\").show();\n                }\n                if(infoBlock == \"block\"){\n                    getParent.find(\"#pano21298 .pnlm-panorama-info\").show();\n                    getParent.find(\"#pano1298 .pnlm-panorama-info\").show();\n                }\n                getParent.find(\"#pano1298\").removeClass(\"cardboard-half\");\n                getParent.find(\"#center-pointer1298\").hide();\n                getParent.find(\".fullscreen-button\").hide();\n                panoshow1298.off(\"mousemove\");\n                panoshow1298.off(\"touchmove\");\n                panoshow21298.off(\"mousemove\");\n                panoshow21298.off(\"touchmove\");\n                if (window.DeviceOrientationEvent) {\n                    window.removeEventListener(\"deviceorientation\", vrDeviseOrientation);\n                }\n            }\n        });panoshow21298.on(\"load\", function (){\n                \/\/ if(localStorage.getItem(\"vr_mode\") == \"off\") {\n                if( vr_mode == \"off\") {\n                      jQuery(\".vr-mode-title\").hide();\n                    }\n                 else {\n                    jQuery(\"#pano21298 .pnlm-compass.pnlm-controls.pnlm-control\").css(\"display\",\"none\");\n                    jQuery(\"#pano1298 .pnlm-compass.pnlm-controls.pnlm-control\").css(\"display\",\"none\");\n                    jQuery(\"#pano21298 .pnlm-panorama-info\").hide();\n                    jQuery(\"#pano1298 .pnlm-panorama-info\").hide();\n                    jQuery(\".vr-mode-title\").show();\n                 }\n\t\t\t});jQuery(\"#pano1298 .wpvr-floor-map .floor-plan-pointer\").on(\"click\",function(){\n           var scene_id = jQuery(this).attr(\"scene_id\");\n           panoshow1298.loadScene(scene_id)\n           jQuery(\".floor-plan-pointer\").removeClass(\"add-pulse\")\n           jQuery(this).addClass(\"add-pulse\")\n        });panoshow1298.on(\"mousemove\", function (data){\n            jQuery(\".add-pulse\").css({\"transform\":\"rotate(\"+data.yaw+\"deg)\"});\n        });\n    panoshow1298.on(\"scenechange\", function (scene){\n            jQuery(\".center-pointer\").removeClass(\"wpvr-pluse-effect\")\n            jQuery(\".floor-plan-pointer\").each(function(index ,element){\n                var scene_id = jQuery(this).attr(\"scene_id\");\n                if( active_scene == scene_id ){\n                    jQuery(\".floor-plan-pointer\").removeClass(\"add-pulse\")\n                    jQuery(this).addClass(\"add-pulse\")\n                }\n            });\n        });panoshow1298.on(\"load\", function (){\n           if(jQuery(\".floor-plan-pointer\").length > 0){\n               jQuery(\".floor-plan-pointer\").each(function(index ,element){\n                    var scene_id = jQuery(this).attr(\"scene_id\");\n                    if( active_scene == scene_id ){\n                        jQuery(\".floor-plan-pointer\").removeClass(\"add-pulse\")\n                        jQuery(this).addClass(\"add-pulse\")\n                    }\n                });\n           }\n        });jQuery(\"#pano1298 .custom-scene-navigation\").on(\"click\", function() {\n                jQuery(\"#custom-scene-navigation-nav1298 ul\").empty();\n                if (scenes) {\n                    var scene_navigation_content_type = \"scene_id\";\n                    var sceneList = scenes.scenes;\n                    var getScene = panoshow1298.getScene();\n                    for (const key in sceneList) {\n                        let title;\n                        if (scene_navigation_content_type === \"scene_title\") {\n                            if (sceneList[key].title) {\n                                title = sceneList[key].title;\n                            } else {\n                                if (title == \"\" || title == undefined) {\n                                    if (sceneList[key].panorama) {\n                                        title = getImageNameWithoutExtension(sceneList[key].panorama);\n                                    }\n                                }\n                            }\n                        } else if (scene_navigation_content_type === \"scene_image_name\") {\n                            if (sceneList[key].panorama) {\n                                title = getImageNameWithoutExtension(sceneList[key].panorama);\n                            }\n                        } else {\n                            title = key;\n                        }\n                        if (sceneList.hasOwnProperty(key)) {\n                            let ulElement = document.querySelector(\"#custom-scene-navigation-nav1298 ul\");\n                            if (ulElement) {\n                                let liElement = document.createElement(\"li\");\n                                liElement.className = \"scene-navigation-list\" + (key === getScene ? \" active\" : \"\");\n                                liElement.setAttribute(\"scene_id\", key);\n                                liElement.textContent = title;\n                                ulElement.appendChild(liElement);\n                            }\n                        }\n                    }\n                    jQuery(\"#custom-scene-navigation-nav1298\").toggleClass(\"visible\");\n                }\n            });function getImageNameWithoutExtension(imageUrl) {\n                    \/\/ Split the URL by \"\/\"\n                    var parts = imageUrl.split(\"\/\");\n                    \/\/ Get the last part which contains the image name\n                    var imageNameWithExtension = parts[parts.length - 1];\n                    \/\/ Split the image name by period (.)\n                    var imageNameParts = imageNameWithExtension.split(\".\");\n                    \/\/ Remove the last part (which is the extension) and join the remaining parts\n                    var imageNameWithoutExtension = imageNameParts.slice(0, -1).join(\".\");\n                    \/\/ Return the image name without extension\n                    return imageNameWithoutExtension;\n                }jQuery(\"#pano1298 #custom-scene-navigation-nav1298 ul\").on(\"click\", \"li.scene-navigation-list\", function() {\n            if (scenes) {\n                jQuery(this).siblings(\"li\").removeClass(\"active\");\n                jQuery(this).addClass(\"active\");\n                var scene_key = jQuery(this).attr(\"scene_id\");\n                panoshow1298.loadScene(scene_key);\n            }\n        });const node = document.querySelector(\".add-pulse\");\n        panoshow1298.on(\"compasschange\", function (data){\n            \/\/ const node = document.querySelector(\".add-pulse\");\n            \/\/ node.style.transform = data;\n            \/\/ jQuery(\".add-pulse\").css({\"transform\":data});\n            });panoshow1298.on(\"load\", function (){\n            \/\/ if(localStorage.getItem(\"vr_mode\") == \"off\") {\n            if(vr_mode == \"off\") {\n                  jQuery(\".vr-mode-title\").hide();\n                } else {\n                jQuery(\"#pano21298 .pnlm-compass.pnlm-controls.pnlm-control\").css(\"display\",\"none\");\n                jQuery(\"#pano1298 .pnlm-compass.pnlm-controls.pnlm-control\").css(\"display\",\"none\");\n                jQuery(\"#pano21298 .pnlm-panorama-info\").hide();\n                jQuery(\"#pano1298 .pnlm-panorama-info\").hide();\n                jQuery(\".vr-mode-title\").show();\n             }\n            setTimeout(() => {\n                window.dispatchEvent(new Event(\"resize\"));\n            }, 200);\n\t\t\t\t\t\tif (jQuery(\"#pano1298\").children().children(\".pnlm-panorama-info:visible\").length > 0) {\n\t               jQuery(\"#controls1298\").css(\"bottom\", \"80px\");\n\t           }\n\t           else {\n\t             jQuery(\"#controls1298\").css(\"bottom\", \"5px\");\n\t           }\n\t\t\t\t\t});panoshow1298.on(\"render\", function (){\n              window.dispatchEvent(new Event(\"resize\"));\n            });if (scenes.autoRotate) {\n                        var wpvrAutoRotateTimer1298 = null;\n                        var wpvrAutoRotateStopDelay1298 = parseInt(scenes.autoRotateStopDelay, 10) || 0;\n                        var wpvrScheduleAutoRotate1298 = function () {\n                            clearTimeout(wpvrAutoRotateTimer1298);\n                            if (wpvrAutoRotateStopDelay1298 > 0) {\n                                wpvrAutoRotateTimer1298 = setTimeout(function () {\n                                    panoshow1298.stopAutoRotate();\n                                }, wpvrAutoRotateStopDelay1298);\n                            } else {\n                                wpvrAutoRotateTimer1298 = setTimeout(function () {\n                                    panoshow1298.startAutoRotate(scenes.autoRotate, 0);\n                                }, 3000);\n                            }\n                        };\n                        panoshow1298.on(\"load\", wpvrScheduleAutoRotate1298);\n                        panoshow1298.on(\"scenechange\", wpvrScheduleAutoRotate1298);\n                    }var touchtime = 0;\n            var wpvrHotspotRoot1298 = document.getElementById(\"pano1298\");\n            if (wpvrHotspotRoot1298) {\n                wpvrHotspotRoot1298.addEventListener(\"click\", function (event) {\n                    var hotspot = event.target.closest(\".pnlm-hotspot-base\");\n\n                    if (!hotspot) {\n                        return;\n                    }\n\n                    \/\/ Social share icons navigate independently using their own links and targets.\n                    if (hotspot.querySelector(\".wpvr-sticker-card--social-share\")) {\n                        return;\n                    }\n\n                    var hotspotLink = hotspot.closest(\"a[href]\");\n                    if (!hotspotLink) {\n                        hotspotLink = hotspot.querySelector(\"a[href]\");\n                    }\n\n                    if (!hotspotLink) {\n                        return;\n                    }\n\n                    event.preventDefault();\n                    event.stopImmediatePropagation();\n\n                    if ((hotspotLink.getAttribute(\"target\") || \"_blank\") === \"_self\") {\n                        window.location.assign(hotspotLink.href);\n                    } else {\n                        window.open(hotspotLink.href, \"_blank\", \"noopener,noreferrer\");\n                    }\n                }, true);\n            }\n        jQuery(document).on(\"click\",\"#explainer_button_1298\",function() {\n                    jQuery(\"#explainer1298\").slideToggle(function(){\n                    var $explainerVideoId = jQuery(\"#explainer1298\");\n                    var $explainerVideoIframe = $explainerVideoId.find(\"iframe\");\n                    var explainerVideoIframSrc = $explainerVideoIframe.attr(\"src\");\n                    $explainerVideoIframe.attr(\"src\", \"\");\n                    $explainerVideoIframe.attr(\"src\", explainerVideoIframSrc);\n        });\n            });\n            jQuery(document).on(\"click\", \".close-explainer-video\", function() {\n              var $explainer = jQuery(this).parent(\".explainer\");\n              var $iframe = $explainer.find(\"iframe\");\n              var el_src = $iframe.attr(\"src\");\n              $iframe.attr(\"src\", \"\");\n              $explainer.hide();\n              $iframe.attr(\"src\", el_src);\n            });\n      jQuery(document).on(\"click\",\"#pano1298\",function(event) {\n        var isCross = event.target.closest(\".cross\");\n        var isActiveModal = event.target.closest(\".custom-ifram-wrapper\");\n        var isForm = event.target.closest(\".wpvr-hotspot-tweak-contents-wrapper\");\n        var isHotspot = event.target.closest(\".pnlm-hotspot-base\");\n        if(isCross != null){\n            return;\n        }\n        if(isForm != null){\n            jQuery(this).addClass(\"show-modal\");\n        }else if(isActiveModal == null){\n            if(isHotspot == null){\n                jQuery(\".custom-ifram-wrapper .custom-ifram\").empty();\n                jQuery(\".custom-ifram-wrapper\").hide();\n                jQuery(this).removeClass(\"show-modal\");\n                jQuery(\".wpvr-hotspot-tweak-contents-wrapper\").hide();\n            }\n        }\n      });jQuery(document).on(\"click\",\"#floor_map_button_1298\",function() {\n                jQuery(\"#wpvr-floor-map1298\").toggle().removeClass(\"fullwindow\");\n              });\n              jQuery(document).on(\"dblclick\",\"#wpvr-floor-map1298\",function(){\n                jQuery(this).addClass(\"fullwindow\");\n                jQuery(this).parents(\".pano-wrap\").addClass(\"show-modal\");\n              });\n              jQuery(document).on(\"click\",\".close-floor-map-plan\",function() {\n                jQuery(this).parent(\".wpvr-floor-map\").hide();\n                jQuery(this).parent(\".wpvr-floor-map\").removeClass(\"fullwindow\");\n                jQuery(this).parents(\".pano-wrap\").removeClass(\"show-modal\");\n              });jQuery(document).ready(function($){\n\t\t              jQuery(\"#sccontrols1298\").hide();\n                      jQuery(\"#pano1298 .wpvr_slider_nav\").hide();\n\t\t              jQuery(\".vrgctrl1298\").html('<i class=\"fa fa-angle-up\"><\/i>');\n\t\t          });var slide1298 = \"down\";\n\t\t          jQuery(document).on(\"click\",\"#vrgcontrols1298\",function() {\n\t\t            if (slide1298 == \"up\") {\n\t\t              jQuery(\".vrgctrl1298\").empty();\n\t\t              jQuery(\".vrgctrl1298\").html('<i class=\"fa fa-angle-up\"><\/i>');\n\t\t              slide1298 = \"down\";\n\t\t            }\n\t\t            else {\n\t\t              jQuery(\".vrgctrl1298\").empty();\n\t\t              jQuery(\".vrgctrl1298\").html('<i class=\"fa fa-angle-down\"><\/i>');\n\t\t              slide1298 = \"up\";\n\t\t            }\n                    jQuery(\"#pano1298 .wpvr_slider_nav\").slideToggle(); \n                    jQuery(\"#sccontrols1298\").slideToggle(function(){\n                        if (jQuery(\".elementor-edit-mode .elementor-widget-container\").length) {\n                            if (jQuery(this).is(\":visible\")) {\n                                jQuery(\".elementor-edit-mode  .elementor-widget-container .wpvr-cardboard .pnlm-container #sccontrols1298\").css({\n                                    \"display\": \"flex\",\n                                    \"justify-content\": \"center\",\n                                    \"align-items\": \"center\",\n                                    \"gap\": \"15px\"\n                                });\n                            }\n                        }\n                        if (jQuery(\".bricks-is-frontend\").length) {\n                            if (jQuery(this).is(\":visible\")) {\n                            jQuery(\".bricks-is-frontend .wpvr-cardboard .pnlm-container #sccontrols1298\").css({\n                                    \"display\": \"flex\",\n                                    \"justify-content\": \"center\",\n                                    \"align-items\": \"center\"\n                                });\n                            }\n                        }              \n                    });\n          });jQuery(document).ready(function(){\n                    jQuery(\"#controls1298\").hide();\n                    jQuery(\"#zoom-in-out-controls1298\").hide();\n                    jQuery(\"#adcontrol1298\").hide();\n                    jQuery(\"#explainer_button_1298\").hide();\n                    jQuery(\"#generic_form_button_1298\").hide();\n                    jQuery(\"#floor_map_button_1298\").hide();\n                    jQuery(\"#vrgcontrols1298\").hide();\n                    jQuery(\"#cp-logo-controls\").hide();\n                    jQuery(\".custom-scene-navigation\").hide();\n                    jQuery(\"#pano1298\").find(\".pnlm-panorama-info\").hide();\n                });panoshow1298.on(\"load\", function (){\n                    jQuery(\"#controls1298\").show();\n                    jQuery(\"#zoom-in-out-controls1298\").show();\n                    jQuery(\"#adcontrol1298\").show();\n                    jQuery(\"#explainer_button_1298\").show();\n                    jQuery(\"#generic_form_button_1298\").show();\n                    jQuery(\"#floor_map_button_1298\").show();\n                    jQuery(\"#vrgcontrols1298\").show();\n                    jQuery(\"#cp-logo-controls\").show();\n                    jQuery(\".custom-scene-navigation\").show();\n                    jQuery(\"#pano1298\").find(\".pnlm-panorama-info\").show();\n            });jQuery(\".elementor-tab-title\").click(function(){\n                      var element_id;\n                      var pano_id;\n                      var element_id = this.id;\n                      element_id = element_id.split(\"-\");\n                      element_id = element_id[3];\n                      jQuery(\"#elementor-tab-content-\"+element_id).find(\"#master-container\").children(\"div\").eq(1).addClass(\"awwww\");\n                      var pano_id = jQuery(\".awwww\").attr(\"id\");\n                      jQuery(\"#elementor-tab-content-\"+element_id).find(\"#master-container\").children(\"div\").eq(1).removeClass(\"awwww\");;\n                      if (pano_id != undefined) {\n                        if (pano_id == \"pano1298\") {\n                          jQuery(\"#pano1298\").children(\".pnlm-render-container\").remove();\n                          jQuery(\"#pano1298\").children(\".pnlm-ui\").remove();\n                          panoshow1298 = pannellum.viewer(response[0][\"panoid\"], scenes);\n                          window.wpvrViewers = window.wpvrViewers || {};\n                          window.wpvrViewers[response[0][\"panoid\"]] = panoshow1298;\n                          document.dispatchEvent(new CustomEvent(\"wpvr:viewer-ready\", {\n                              detail: { containerId: response[0][\"panoid\"], viewer: panoshow1298 }\n                          }));\n                          jQuery(\"#pano1298\").children(\".pnlm-ui\").find(\".pnlm-load-button p\").text(\"Starte Tour\")\n                          setTimeout(function() {\n                                \/\/   panoshow1298.loadScene(\"VILVT01\");\n                                  window.dispatchEvent(new Event(\"resize\"));\n                                  if (jQuery(\"#pano1298\").children().children(\".pnlm-panorama-info:visible\").length > 0) {\n                                       jQuery(\"#controls1298\").css(\"bottom\", \"55px\");\n                                   } else {\n                                     jQuery(\"#controls1298\").css(\"bottom\", \"5px\");\n                                   }\n                          }, 200);\n                        }\n                      }\n            });jQuery(\".geodir-tab-head dd, #vr-tour-tab\").click(function(){\n              jQuery(\"#pano1298\").children(\".pnlm-render-container\").remove();\n              jQuery(\"#pano1298\").children(\".pnlm-ui\").remove();\n              panoshow1298 = pannellum.viewer(response[0][\"panoid\"], scenes);\n              window.wpvrViewers = window.wpvrViewers || {};\n              window.wpvrViewers[response[0][\"panoid\"]] = panoshow1298;\n              document.dispatchEvent(new CustomEvent(\"wpvr:viewer-ready\", {\n                  detail: { containerId: response[0][\"panoid\"], viewer: panoshow1298 }\n              }));\n              setTimeout(function() {\n                      panoshow1298.loadScene(\"VILVT01\");\n                      window.dispatchEvent(new Event(\"resize\"));\n                      if (jQuery(\"#pano1298\").children().children(\".pnlm-panorama-info:visible\").length > 0) {\n                           jQuery(\"#controls1298\").css(\"bottom\", \"55px\");\n                       }\n                       else {\n                         jQuery(\"#controls1298\").css(\"bottom\", \"5px\");\n                       }\n              }, 200);\n            });\n            jQuery(\"#pano1298\").children(\".pnlm-ui\").find(\".pnlm-load-button p\").text(\"Starte Tour\")\n            jQuery(\".globalzoom\").val(\"on\").change();jQuery(\"#pano1298 .pnlm-title-box\").on(\"mouseenter\", function(){\n                jQuery(this).attr(\"title\", jQuery(this).text());\n            });\n            jQuery(\"#pano1298 .pnlm-title-box\").on(\"mouseleave\", function(){\n                jQuery(this).removeAttr(\"title\");\n            });});})(jQuery);<\/script>\n<script id=\"wpvr-scene-info-script-pano1298\">\n            (function () {\n                var pano = document.getElementById(\"pano1298\");\n                var byLabel = \"By\";\n\n                if (!pano || !window.MutationObserver) {\n                    return;\n                }\n\n                function addAuthorLabel(author) {\n                    if (!author || !author.textContent.trim() || author.querySelector(\".wpvr-author-label\")) {\n                        return;\n                    }\n\n                    var firstNode = author.firstChild;\n                    if (firstNode ? firstNode.nodeType === 3 : false) {\n                        var prefix = byLabel + \" \";\n                        if (firstNode.nodeValue.indexOf(prefix) === 0) {\n                            firstNode.nodeValue = firstNode.nodeValue.slice(prefix.length);\n                        }\n                    }\n\n                    var label = document.createElement(\"span\");\n                    label.className = \"wpvr-author-label\";\n                    label.textContent = byLabel;\n                    author.insertBefore(label, author.firstChild);\n                }\n\n                function syncSceneInfo() {\n                    var info = pano.querySelector(\".pnlm-panorama-info\");\n                    if (!info) {\n                        return;\n                    }\n\n                    \/\/ Keep the Pannellum full-screen drag layer in its original\n                    \/\/ stacking order so hotspots remain clickable. Promote only\n                    \/\/ the compact metadata bar to the tour root instead.\n                    if (info.parentNode !== pano) {\n                        pano.appendChild(info);\n                    }\n\n                    var title = info.querySelector(\".pnlm-title-box\");\n                    var author = info.querySelector(\".pnlm-author-box\");\n                    var hasTitle = Boolean(title ? title.textContent.trim() : false);\n                    var hasAuthor = Boolean(author ? author.textContent.trim() : false);\n\n                    if (hasTitle) {\n                        title.setAttribute(\"title\", title.textContent.trim());\n                    } else if (title) {\n                        title.removeAttribute(\"title\");\n                    }\n\n                    if (hasAuthor) {\n                        addAuthorLabel(author);\n                        var authorName = author.textContent.replace(byLabel, \"\").trim();\n                        author.setAttribute(\"aria-label\", byLabel + \" \" + authorName);\n                        author.setAttribute(\"title\", authorName);\n                    } else if (author) {\n                        author.removeAttribute(\"aria-label\");\n                        author.removeAttribute(\"title\");\n                    }\n\n                    info.classList.toggle(\"wpvr-scene-info-row\", hasTitle || hasAuthor);\n                    info.classList.toggle(\"wpvr-has-title\", hasTitle);\n                    info.classList.toggle(\"wpvr-has-author\", hasAuthor);\n                    info.style.display = hasTitle || hasAuthor ? \"flex\" : \"none\";\n\n                    var hasSceneInfo = hasTitle || hasAuthor;\n                    var isClassicLayout = true;\n                    pano.classList.toggle(\"wpvr-has-scene-info\", hasSceneInfo);\n                    pano.classList.toggle(\"wpvr-layout-classic\", isClassicLayout);\n\n                    if (hasSceneInfo) {\n                        pano.style.setProperty(\"--wpvr-scene-info-height\", info.offsetHeight + \"px\");\n                    } else {\n                        pano.style.removeProperty(\"--wpvr-scene-info-height\");\n                    }\n                }\n\n                var observer = new MutationObserver(syncSceneInfo);\n                observer.observe(pano, { childList: true, subtree: true, characterData: true });\n                syncSceneInfo();\n            }());\n        <\/script>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div><div id=\"pg-3238-1\"  class=\"panel-grid panel-has-style\" ><div class=\"content_fullw_row siteorigin-panels-stretch panel-row-style panel-row-style-for-3238-1\" data-stretch-type=\"full\" ><div id=\"pgc-3238-1-0\"  class=\"panel-grid-cell\" ><div id=\"panel-3238-1-0-0\" class=\"so-panel widget widget_so-premium-mirror-widget panel-first-child panel-last-child\" data-index=\"1\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-so-premium-mirror-widget so-widget-so-premium-mirror-widget-default-d75171398898-3238\"\n\t\t\t\n\t\t><div id=\"pl-w6adb90d0ddb5e\"  class=\"panel-layout\" ><div id=\"pg-w6adb90d0ddb5e-0\"  class=\"panel-grid panel-has-style\" ><div class=\"panel-row-style panel-row-style-for-w6adb90d0ddb5e-0\" ><div id=\"pgc-w6adb90d0ddb5e-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-w6adb90d0ddb5e-0-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"0\" ><div class=\"panel-widget-style panel-widget-style-for-w6adb90d0ddb5e-0-0-0\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<h3>Villingen<\/h3>\n<p>Sanit\u00e4tshaus blu GmbH<br \/>\nBenediktinerring 3<br \/>\n78050 Villingen-Schwenningen<\/p>\n<p>Tel: +49 7721 9464510<br \/>\nFax: +49 7721 9464519<br \/>\nEmail:\u00a0<a href=\"mailto:villingen@saniblu.de\">villingen@saniblu.de<\/a><\/p>\n<\/div>\n<\/div><\/div><\/div><\/div><div id=\"pgc-w6adb90d0ddb5e-0-1\"  class=\"panel-grid-cell\" ><div id=\"panel-w6adb90d0ddb5e-0-1-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"1\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<h3>Unsere \u00d6ffnungszeiten<\/h3>\n<p>Bitte beachten Sie ggf. nachfolgend angezeigte News zu den \u00d6ffnungszeiten.<\/p>\n<figure class=\"wp-block-table\">\n<table>\n<tbody>\n<tr>\n<td>Mo-Di:<\/td>\n<td>08:30 - 13:30 Uhr<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>14:00 - 18:00 Uhr<\/td>\n<\/tr>\n<tr>\n<td>Mi:<\/td>\n<td>08:30 - 13:30 Uhr<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>14:00 - 17:00 Uhr<\/td>\n<\/tr>\n<tr>\n<td>Do:<\/td>\n<td>08:30 - 13:30 Uhr<\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>14:00 - 18:00 Uhr<\/td>\n<\/tr>\n<tr>\n<td>Fr:<\/td>\n<td>08:30 - 13:30 Uhr<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/figure>\n<\/div>\n<\/div><\/div><\/div><div id=\"pgc-w6adb90d0ddb5e-0-2\"  class=\"panel-grid-cell\" ><div id=\"panel-w6adb90d0ddb5e-0-2-0\" class=\"so-panel widget widget_sow-post-carousel panel-first-child panel-last-child\" data-index=\"2\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-post-carousel so-widget-sow-post-carousel-base-5df352d3a814-3238\"\n\t\t\t\n\t\t><\/div><\/div><\/div><div id=\"pgc-w6adb90d0ddb5e-0-3\"  class=\"panel-grid-cell\" ><div id=\"panel-w6adb90d0ddb5e-0-3-0\" class=\"so-panel widget widget_sow-editor panel-first-child\" data-index=\"3\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<\/div>\n<\/div><\/div><div id=\"panel-w6adb90d0ddb5e-0-3-1\" class=\"so-panel widget widget_sow-button\" data-index=\"4\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-button so-widget-sow-button-wire-ca00976921bb-3238\"\n\t\t\t\n\t\t><div class=\"ow-button-base ow-button-align-justify\"\n style=\"display: block;\">\n\t\t\t<a\n\t\t\t\t\thref=\"https:\/\/www.saniblu.de\/filialen\/villingen\/\"\n\t\t\t\t\tclass=\"sowb-button ow-icon-placement-left ow-button-hover\" \t>\n\t\t<span>\n\t\t\t\n\t\t\tFilialseite\t\t<\/span>\n\t\t\t<\/a>\n\t<\/div>\n<\/div><\/div><div id=\"panel-w6adb90d0ddb5e-0-3-2\" class=\"so-panel widget widget_sow-button\" data-index=\"5\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-button so-widget-sow-button-wire-ca00976921bb-3238\"\n\t\t\t\n\t\t><div class=\"ow-button-base ow-button-align-justify\"\n style=\"display: block;\">\n\t\t\t<a\n\t\t\t\t\thref=\"https:\/\/www.saniblu.de\/kontakt\/?bereich=Filiale&#038;filialauswahl=Villingen\"\n\t\t\t\t\tclass=\"sowb-button ow-icon-placement-left ow-button-hover\" \t>\n\t\t<span>\n\t\t\t\n\t\t\tKontakt-Formular\t\t<\/span>\n\t\t\t<\/a>\n\t<\/div>\n<\/div><\/div><div id=\"panel-w6adb90d0ddb5e-0-3-3\" class=\"so-panel widget widget_sow-button panel-last-child\" data-index=\"6\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-button so-widget-sow-button-wire-ca00976921bb-3238\"\n\t\t\t\n\t\t><div class=\"ow-button-base ow-button-align-justify\"\n style=\"display: block;\">\n\t\t\t<a\n\t\t\t\t\thref=\"https:\/\/www.saniblu.de\/aktuelles\/\"\n\t\t\t\t\tclass=\"sowb-button ow-icon-placement-left ow-button-hover\" \t>\n\t\t<span>\n\t\t\t\n\t\t\tNews\t\t<\/span>\n\t\t\t<\/a>\n\t<\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><div id=\"pg-3238-2\"  class=\"panel-grid panel-has-style\" ><div class=\"content_fullw_row siteorigin-panels-stretch panel-row-style panel-row-style-for-3238-2\" data-stretch-type=\"full\" ><div id=\"pgc-3238-2-0\"  class=\"panel-grid-cell\" ><div id=\"panel-3238-2-0-0\" class=\"so-panel widget widget_sow-features panel-first-child panel-last-child\" data-index=\"2\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-features so-widget-sow-features-default-29ceff045587-3238\"\n\t\t\t\n\t\t><ul\n\tclass=\"sow-features-list\n\tsow-features-responsive\">\n\n\t\t\t<li\n\t\t\tclass=\"sow-features-feature sow-icon-container-position-top\"\n\t\t\tstyle=\"display: flex; flex-direction: column; width: calc(33.333% - 25px);\"\n\t\t>\n\t\t\t\n\t\t\t\t\t\t<div\t\t\t\tclass=\"sow-icon-container sow-container-round\"\n\t\t\t\tstyle=\"color: #ffffff; \"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<span class=\"sow-icon-typicons\" data-sow-icon=\"&#xe014;\"\n\t\tstyle=\"font-size: 48px; color: #732181\" \n\t\taria-hidden=\"true\"><\/span>\t\t\t<\/div>\n\n\t\t\t<div class=\"textwidget\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"sow-features-feature-title\">\n\t\t\t\t\t\tBarrier-free access\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/li>\n\n\t\t\t<li\n\t\t\tclass=\"sow-features-feature sow-icon-container-position-top\"\n\t\t\tstyle=\"display: flex; flex-direction: column; width: calc(33.333% - 25px);\"\n\t\t>\n\t\t\t\n\t\t\t\t\t\t<div\t\t\t\tclass=\"sow-icon-container sow-container-round\"\n\t\t\t\tstyle=\"color: #ffffff; \"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"&#xf36f;\"\n\t\tstyle=\"font-size: 48px; color: #732181\" \n\t\taria-hidden=\"true\"><\/span>\t\t\t<\/div>\n\n\t\t\t<div class=\"textwidget\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"sow-features-feature-title\">\n\t\t\t\t\t\tParking facilities\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/li>\n\n\t\t\t<li\n\t\t\tclass=\"sow-features-feature sow-icon-container-position-top\"\n\t\t\tstyle=\"display: flex; flex-direction: column; width: calc(33.333% - 25px);\"\n\t\t>\n\t\t\t\n\t\t\t\t\t\t<div\t\t\t\tclass=\"sow-icon-container sow-container-round\"\n\t\t\t\tstyle=\"color: #ffffff; \"\n\t\t\t\t\n\t\t\t\t\t\t\t>\n\t\t\t\t<span class=\"sow-icon-ionicons\" data-sow-icon=\"&#xf36d;\"\n\t\tstyle=\"font-size: 48px; color: #732181\" \n\t\taria-hidden=\"true\"><\/span>\t\t\t<\/div>\n\n\t\t\t<div class=\"textwidget\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"sow-features-feature-title\">\n\t\t\t\t\t\tPublic transportation\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/li>\n\n\t<\/ul>\n<\/div><\/div><\/div><\/div><\/div><div id=\"pg-3238-3\"  class=\"panel-grid panel-has-style\" ><div class=\"content_fullw_row siteorigin-panels-stretch panel-row-style panel-row-style-for-3238-3\" data-stretch-type=\"full\" ><div id=\"pgc-3238-3-0\"  class=\"panel-grid-cell\" ><div id=\"panel-3238-3-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"3\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<h3>Your way to us<\/h3>\n<p><strong>Public transportation:<\/strong> The Villingen branch is a few minutes' walk from the Villingen Riettor bus stop.  &nbsp;<\/p>\n<p><strong>By car:<\/strong> Parking is available in the parking garage Benediktinerring P3, or in the underground parking garage \/ or in the parking area of Modepark R\u00f6ther.<\/p>\n<\/div>\n<\/div><\/div><\/div><div id=\"pgc-3238-3-1\"  class=\"panel-grid-cell\" ><div id=\"panel-3238-3-1-0\" class=\"so-panel widget widget_sow-google-map panel-first-child panel-last-child\" data-index=\"4\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-google-map so-widget-sow-google-map-default-6b23895f316e-3238\"\n\t\t\t\n\t\t>\n<div class=\"sow-google-map-canvas\"\n\tstyle=\"\"\n\tid=\"map-canvas-f18890d5bbfc43760687d57cefe80546\"\n\tdata-options=\"{&quot;address&quot;:&quot;48.0616651, 8.455493299999999&quot;,&quot;zoom&quot;:17,&quot;mobileZoom&quot;:17,&quot;gestureHandling&quot;:&quot;greedy&quot;,&quot;disableUi&quot;:false,&quot;markerIcon&quot;:false,&quot;markersDraggable&quot;:false,&quot;markerAtCenter&quot;:true,&quot;markerInfoDisplay&quot;:&quot;click&quot;,&quot;markerInfoMultiple&quot;:true,&quot;markerPositions&quot;:false,&quot;mapName&quot;:false,&quot;mapStyles&quot;:false,&quot;directions&quot;:&quot;&quot;,&quot;apiKey&quot;:&quot;AIzaSyD54xVEpZ6RCR-V7Yeo83NR9ORcKct8HZo&quot;,&quot;breakpoint&quot;:780,&quot;id&quot;:&quot;6adb90&quot;,&quot;center_user_location&quot;:false}\"\n\tdata-fallback-image=\"{&quot;img&quot;:&quot;&quot;}\"><\/div>\n<\/div><\/div><\/div><\/div><\/div><div id=\"pg-3238-4\"  class=\"panel-grid panel-has-style\" ><div class=\"content_fullw_row siteorigin-panels-stretch panel-row-style panel-row-style-for-3238-4\" data-stretch-type=\"full\" ><div id=\"pgc-3238-4-0\"  class=\"panel-grid-cell\" ><div id=\"panel-3238-4-0-0\" class=\"so-panel widget widget_sow-editor panel-first-child panel-last-child\" data-index=\"5\" ><div\n\t\t\t\n\t\t\tclass=\"so-widget-sow-editor so-widget-sow-editor-base\"\n\t\t\t\n\t\t>\n<div class=\"siteorigin-widget-tinymce textwidget\">\n\t<div id=\"rpi-4881-6adb90d0ed2f9\" class=\"rpi\" style=\"\" data-id=\"4881\" data-opts='{&quot;layout&quot;:&quot;slider&quot;,&quot;style_style&quot;:&quot;1&quot;,&quot;style_stars&quot;:&quot;4&quot;,&quot;star_icon&quot;:&quot;&quot;,&quot;style_ava&quot;:&quot;1&quot;,&quot;head_logo&quot;:&quot;5&quot;,&quot;style_logo&quot;:&quot;1&quot;,&quot;pagination&quot;:&quot;10&quot;,&quot;text_size&quot;:&quot;120&quot;,&quot;hide_avatar&quot;:false,&quot;hide_name&quot;:false,&quot;header_hide_seeall&quot;:false,&quot;header_hide_write&quot;:false,&quot;header_hide_grade&quot;:false,&quot;disable_review_time&quot;:false,&quot;disable_user_link&quot;:true,&quot;disable_google_link&quot;:false,&quot;open_link&quot;:true,&quot;nofollow_link&quot;:true,&quot;lazy_load_img&quot;:true,&quot;time_format&quot;:&quot;&quot;,&quot;breakpoints&quot;:&quot;&quot;,&quot;reviewer_avatar_size&quot;:&quot;56&quot;,&quot;anonym_avatar&quot;:false,&quot;trans&quot;:{&quot;read more&quot;:&quot;read more&quot;,&quot;review us on&quot;:&quot;review us on&quot;,&quot;See all reviews&quot;:&quot;See all reviews&quot;,&quot;More reviews&quot;:&quot;More reviews&quot;,&quot;Response from the owner&quot;:&quot;Response from the owner&quot;}}' data-exec=\"\"><div class=\"rpi-cnt rpi-col-m rpi-slider rpi-sh\" data-opts='{&quot;pagination&quot;:&quot;10&quot;,&quot;speed&quot;:&quot;8&quot;,&quot;autoplay&quot;:true,&quot;wheelscroll&quot;:false,&quot;mousestop&quot;:true,&quot;clickstop&quot;:false,&quot;swipe_step&quot;:&quot;&quot;,&quot;swipe_per_btn&quot;:&quot;&quot;,&quot;swipe_per_dot&quot;:&quot;&quot;,&quot;hide_dots&quot;:false}' style=\"visibility:var(--visible, hidden)\" ><div class=\"rpi-header rpi-header_row rpi-header_pad\"><div class=\"rpi-cards\"><div class=\"rpi-card rpi-card_block\" data-provider=\"google\"><div class=\"rpi-card-inner rpi-flexwrap\"><span class=\"rpi-logos\"><span class=\"rpi-logo rpi-logo-google\"><\/span><\/span><div class=\"rpi-flex\"><div class=\"rpi-img-wrap\"><img decoding=\"async\" src=\"https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/gmblogo.svg\" class=\"rpi-img\" loading=\"lazy\" width=\"56\" height=\"56\" alt=\"\" onerror=\"if(this.src!='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png')this.src='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png';\"><\/div><div class=\"rpi-info\"><div class=\"rpi-scale\">Good<\/div><a href=\"https:\/\/www.saniblu.de\/\" class=\"rpi-name\" target=\"_blank\" rel=\"noopener nofollow\" aria-label=\"Sanit\u00e4tshaus blu GmbH - summary business\">Sanit\u00e4tshaus blu GmbH<\/a><span class=\"rpi-stars\" style=\"--rating:3.5\">3.5<\/span><div class=\"rpi-based\">Based on 8 reviews<\/div><\/div><\/div><div class=\"rpi-slider-btn\"><div class=\"rpi-review_us rpi-clickable\"><a href=\"https:\/\/search.google.com\/local\/reviews?placeid=ChIJVT08HHaWkEcRdG1gmrvraBw\" target=\"_blank\" rel=\"noopener\">See all reviews<\/a><\/div><div class=\"rpi-review_us rpi-clickable\"><a href=\"https:\/\/search.google.com\/local\/writereview?placeid=ChIJVT08HHaWkEcRdG1gmrvraBw\" class=\"rpi-logo_after rpi-logo-google\" target=\"_blank\" rel=\"noopener\" onclick=\"rpi.Utils.popup('https:\/\/search.google.com\/local\/writereview?placeid=ChIJVT08HHaWkEcRdG1gmrvraBw', 800, 600);return false;\">review us on<\/a><\/div><\/div><\/div><\/div><\/div><\/div><div class=\"rpi-content rpi-content_row\"><button class=\"rpi-ltgt rpi-lt rpi-slider-prev\" aria-label=\"Previous reviews\" tabindex=\"0\"><\/button><div class=\"rpi-cards rpi-slides-bite\" data-offset=\"5\" data-count=\"5\"><div class=\"rpi-card\" data-provider=\"google\" data-rat=\"5\"><div class=\"rpi-card-inner\"><div class=\"rpi-flex\"><div class=\"rpi-img-wrap\"><img decoding=\"async\" src=\"https:\/\/www.saniblu.de\/wp-content\/uploads\/brb-avatars\/4b246c2d2ad2ada816dd311428c1e9ce.jpg\" class=\"rpi-img\" loading=\"lazy\" width=\"56\" height=\"56\" alt=\"\" onerror=\"if(this.src!='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png')this.src='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png';\"><\/div><div class=\"rpi-info\"><div class=\"rpi-name\">Anne S.<\/div><div class=\"rpi-time\" data-time=\"1739885603748\">2 years ago<\/div><\/div><\/div><div class=\"rpi-body rpi-normal-up__body\"><span class=\"rpi-stars\" role=\"img\" aria-label=\"Rating: 5 out of 5\" style=\"--rating:5\"><\/span><div class=\"rpi-text rpi-scroll\" tabindex=\"0\">Ich wurde sehr freundlich empfangen. Die Mitarbeiterin nahm sich viel Zeit, meine Kompression perfekt auszumessen. Das Ergebnis ist wunderbar: meine Kompression sitzt wie angegossen. Ich bin sehr zufrieden mit der Beratung und komme gerne wieder !<\/div><\/div><\/div><\/div><div class=\"rpi-card\" data-provider=\"google\" data-rat=\"5\"><div class=\"rpi-card-inner\"><div class=\"rpi-flex\"><div class=\"rpi-img-wrap\"><img decoding=\"async\" src=\"https:\/\/www.saniblu.de\/wp-content\/uploads\/brb-avatars\/9ccb7a311fbece6e71a78b084bfc9846.jpg\" class=\"rpi-img\" loading=\"lazy\" width=\"56\" height=\"56\" alt=\"\" onerror=\"if(this.src!='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png')this.src='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png';\"><\/div><div class=\"rpi-info\"><div class=\"rpi-name\">Peter K.<\/div><div class=\"rpi-time\" data-time=\"1656325022127\">4 years ago<\/div><\/div><\/div><div class=\"rpi-body rpi-normal-up__body\"><span class=\"rpi-stars\" role=\"img\" aria-label=\"Rating: 5 out of 5\" style=\"--rating:5\"><\/span><div class=\"rpi-text rpi-scroll\" tabindex=\"0\">Toller Service, kompetente und freundliche Mitarbeiter. Wir sind schon l\u00e4nger Kunde dort und werden es auch bleiben. Vielen Dank und weiter so \ud83d\udc4d<\/div><\/div><\/div><\/div><div class=\"rpi-card\" data-provider=\"google\" data-rat=\"5\"><div class=\"rpi-card-inner\"><div class=\"rpi-flex\"><div class=\"rpi-img-wrap\"><img decoding=\"async\" src=\"https:\/\/www.saniblu.de\/wp-content\/uploads\/brb-avatars\/baae484f7bf85de206a253bd74014871.jpg\" class=\"rpi-img\" loading=\"lazy\" width=\"56\" height=\"56\" alt=\"\" onerror=\"if(this.src!='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png')this.src='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png';\"><\/div><div class=\"rpi-info\"><div class=\"rpi-name\">Andreas W.<\/div><div class=\"rpi-time\" data-time=\"1614498861126\">6 years ago<\/div><\/div><\/div><div class=\"rpi-body rpi-normal-up__body\"><span class=\"rpi-stars\" role=\"img\" aria-label=\"Rating: 5 out of 5\" style=\"--rating:5\"><\/span><div class=\"rpi-text rpi-scroll\" tabindex=\"0\">Einwandfreier und schneller Service. Professionelle und freundliche Einweisung. Top.<\/div><\/div><\/div><\/div><div class=\"rpi-card\" data-provider=\"google\" data-rat=\"5\"><div class=\"rpi-card-inner\"><div class=\"rpi-flex\"><div class=\"rpi-img-wrap\"><img decoding=\"async\" src=\"https:\/\/www.saniblu.de\/wp-content\/uploads\/brb-avatars\/357fd7c719ada6890daf6d24763e03cd.jpg\" class=\"rpi-img\" loading=\"lazy\" width=\"56\" height=\"56\" alt=\"\" onerror=\"if(this.src!='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png')this.src='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png';\"><\/div><div class=\"rpi-info\"><div class=\"rpi-name\">Elch T.<\/div><div class=\"rpi-time\" data-time=\"1541517903292\">8 years ago<\/div><\/div><\/div><div class=\"rpi-body rpi-normal-up__body\"><span class=\"rpi-stars\" role=\"img\" aria-label=\"Rating: 5 out of 5\" style=\"--rating:5\"><\/span><div class=\"rpi-text rpi-scroll\" tabindex=\"0\">Schnelle und fachlich kompetente Beratung, freundliches Personal. Hier geht man gerne hin.<\/div><\/div><\/div><\/div><div class=\"rpi-card\" data-provider=\"google\" data-rat=\"5\"><div class=\"rpi-card-inner\"><div class=\"rpi-flex\"><div class=\"rpi-img-wrap\"><img decoding=\"async\" src=\"https:\/\/www.saniblu.de\/wp-content\/uploads\/brb-avatars\/e01ec5c5d102e8ee8421f1bce07a35fe.jpg\" class=\"rpi-img\" loading=\"lazy\" width=\"56\" height=\"56\" alt=\"\" onerror=\"if(this.src!='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png')this.src='https:\/\/www.saniblu.de\/wp-content\/plugins\/business-reviews-bundle\/assets\/img\/google_avatar.png';\"><\/div><div class=\"rpi-info\"><div class=\"rpi-name\">Alexandra S.<\/div><div class=\"rpi-time\" data-time=\"1499775928048\">9 years ago<\/div><\/div><\/div><div class=\"rpi-body rpi-normal-up__body\"><span class=\"rpi-stars\" role=\"img\" aria-label=\"Rating: 5 out of 5\" style=\"--rating:5\"><\/span><div class=\"rpi-text rpi-scroll\" tabindex=\"0\">Schneller Service und kompetente Beratung.\nKomme gerne wieder<\/div><\/div><\/div><\/div><\/div><button class=\"rpi-ltgt rpi-gt rpi-slider-next\" aria-label=\"Next reviews\" tabindex=\"0\"><\/button><div class=\"rpi-dots-wrap\"><div class=\"rpi-dots\"><\/div><\/div><\/div><\/div><script>(function(p){if(!p)return;let w=p.offsetWidth,m=function(a,b){return Math.min(a,b)===a};p.querySelector('.rpi-cnt').classList.replace('rpi-col-m','rpi-col-'+(m(w,510)?'xs':m(w,750)?'x':m(w,1050)?'s':m(w,1450)?'m':m(w,1800)?'l':'xl'))})(document.getElementById('rpi-4881-6adb90d0ed2f9'))<\/script><\/div>\n<\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Villingen Sanit\u00e4tshaus blu GmbH Benediktinerring 3 78050 Villingen-Schwenningen Tel: +49 7721 9464510 Fax: +49 7721 9464519 Email:\u00a0villingen@saniblu.de Unsere \u00d6ffnungszeiten Bitte beachten Sie ggf. nachfolgend angezeigte News zu den \u00d6ffnungszeiten. Mo-Di: 08:30 &#8211; 13:30 Uhr 14:00 &#8211; 18:00 Uhr Mi: 08:30 &#8211; 13:30 Uhr 14:00 &#8211; 17:00 Uhr Do: 08:30 &#8211; 13:30 Uhr 14:00 &#8211; 18:00 [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":2963,"parent":3168,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-3238","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.saniblu.de\/en\/wp-json\/wp\/v2\/pages\/3238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.saniblu.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.saniblu.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.saniblu.de\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.saniblu.de\/en\/wp-json\/wp\/v2\/comments?post=3238"}],"version-history":[{"count":0,"href":"https:\/\/www.saniblu.de\/en\/wp-json\/wp\/v2\/pages\/3238\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.saniblu.de\/en\/wp-json\/wp\/v2\/pages\/3168"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.saniblu.de\/en\/wp-json\/wp\/v2\/media\/2963"}],"wp:attachment":[{"href":"https:\/\/www.saniblu.de\/en\/wp-json\/wp\/v2\/media?parent=3238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}