<style>
/* Default Off-Canvas (Hidden) */
.e-off-canvas {
    z-index: 100;
    display: none;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.2s, opacity 0.2s linear;
}

/* Show Off-Canvas */
.e-off-canvas-visible {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 9999 !important;
}

/* Hide Off-Canvas */
.e-off-canvas-hidden {
    visibility: hidden !important;
    opacity: 0 !important;
    z-index: 10 !important;
}

/* White Background Behind Off-Canvas (Using ::before on Body) */
body::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(255, 255, 255, 1); /* Solid White */
    opacity: 0;
    visibility: hidden;
    z-index: 9998; /* Just behind Off-Canvas */
    transition: opacity 0.2s linear, visibility 0s linear 0.2s;
}

/* When an Off-Canvas is Open, Show the Background */
body.off-canvas-active::before {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.2s linear;
}
</style>

<script>
jQuery(function($) {
    // Function to force repaint/reflow
    function forceRepaint() {
        document.body.style.display = 'none';
        document.body.offsetHeight; // Force reflow
        document.body.style.display = 'block';
        window.dispatchEvent(new Event('resize'));
    }

    function closeAllOffCanvas(exceptID = null) {
        let anyOpen = false; // Track if another Off-Canvas remains open

        $(".e-off-canvas").each(function() {
            let canvasID = $(this).attr("id");

            if (!exceptID || canvasID !== exceptID) {
                $(this).removeClass("e-off-canvas-visible")
                       .addClass("e-off-canvas-hidden")
                       .attr("aria-hidden", "true")
                       .css({
                           "z-index": "10",
                           "visibility": "hidden",
                           "opacity": "0"
                       });

                // Full removal delay set to 0ms
                setTimeout(() => {
                    if ($(this).attr("aria-hidden") === "true") {
                        $(this).css("display", "none");
                    }
                }, 0);
            } else {
                anyOpen = true; // At least one Off-Canvas is still open
            }
        });

        // Remove white background delay set to 0ms
        setTimeout(() => {
            if (!$(".e-off-canvas-visible").length) {
                $("body").removeClass("off-canvas-active");
                forceRepaint(); // Force repaint when closing all
            }
        }, 0);
    }

    function openOffCanvas(targetID) {
        let targetCanvas = $(targetID);

        if (targetCanvas.length) {
            // Close all others EXCEPT the one we're opening
            closeAllOffCanvas(targetID);

            // Open immediately with delay set to 0ms
            setTimeout(() => {
                targetCanvas.removeClass("e-off-canvas-hidden")
                            .addClass("e-off-canvas-visible")
                            .attr("aria-hidden", "false")
                            .css({
                                "z-index": "9999",
                                "visibility": "visible",
                                "opacity": "1",
                                "display": "block"
                            });

                // Ensure the White Background Stays Visible
                $("body").addClass("off-canvas-active");
                
                // Force repaint after opening
                forceRepaint();

            }, 0);
        }
    }

    // Decode Base64
    function decodeBase64(str) {
        try {
            return atob(str);
        } catch (e) {
            return null;
        }
    }

    // Handle Elementor Off-Canvas OPEN clicks
    $(document).on('click', '[href*="elementor-action%3Aaction%3Doff_canvas%3Aopen"]', function(event) {
        event.preventDefault();
        let href = decodeURIComponent($(this).attr("href"));

        let base64Match = href.match(/settings=([^&]+)/);
        if (base64Match) {
            let decodedSettings = decodeBase64(base64Match[1]);

            try {
                let settingsObj = JSON.parse(decodedSettings);
                if (settingsObj.id) {
                    let offCanvasID = "#off-canvas-" + settingsObj.id;
                    openOffCanvas(offCanvasID);
                }
            } catch (e) {}
        }
    });

    // Handle Elementor Off-Canvas CLOSE clicks
    $(document).on('click', '[href*="elementor-action%3Aaction%3Doff_canvas%3Aclose"]', function(event) {
        event.preventDefault();
        closeAllOffCanvas();
    });

    // Ensure all Off-Canvas elements start hidden
    $(".e-off-canvas").each(function() {
        $(this).attr("aria-hidden", "true").css({
            "z-index": "10",
            "visibility": "hidden",
            "opacity": "0",
            "display": "none"
        });
    });

    // Handle same-page anchor link clicks
    $(document).on('click', 'a[href*="#"]', function(event) {
        let href = $(this).attr('href');
        if (href.indexOf('#') !== -1) {
            // Close all off-canvas widgets when an anchor link is clicked
            closeAllOffCanvas();
        }
    });

});
</script>
				
			

January 29, 2021 Urban Talk: “Urban Resilience and Artificial Intelligence -How ethical and responsible AI can shape the metropolises of the future and benefit the common good.

This post has been translated by an AI and may contain translational inaccuracies.

Right at the beginning of the year we would like to draw your attention to an exciting and top-class format with our ARIC Ambassador Senator Michael Westhagemann and our Ambassador Christian von den Brincken, as well as ARIC Managing Director Alois Krtil.

Since 2020, our ARIC cooperation partner Ströer has launched a new format “Urban Talk” – a kind of webinar, which takes place as a live video talk via zoom and in which top-class guests from politics, business and administration, who deal with municipal issues, talk about exciting, current topics for about 45 minutes.

We will be co-hosting the next talk round with STRÖER on the topic of “Urban Resilience and Artificial Intelligence (AI) – How ethical and responsible AI can shape the metropolises of the future and benefit the common good”.

We therefore cordially invite you to join us live in the video conference for the third round of talks on 29 January 2021 at 11.00 am.

As guests we would like to welcome:

  • Senator Michael Westhagemann, Senator for Economics and Innovation of the Free and Hanseatic City of Hamburg
  • Mr. Alois Krtil, CEO of the Artificial Intelligence Center Hamburg (ARIC) e.V.
  • Mr. Beat Schwegler, Group Engineering Manager, Commercial Software Engineering at Microsoft

The talk will be moderated by our Smart City expert and ARIC Ambassador Christian von den Brincken, Managing Director Business Development Corporate Strategy & Innovation at Ströer. A recording of the Urban Talk will also be available on YouTube afterwards.

If you are interested in being a spectator, we would be happy to receive a short message from you via info@aric-hamburg.de.