{"id":43154,"date":"2026-06-09T08:29:07","date_gmt":"2026-06-09T08:29:07","guid":{"rendered":"https:\/\/heds.dental\/?page_id=43154"},"modified":"2026-06-11T11:18:31","modified_gmt":"2026-06-11T11:18:31","slug":"events","status":"publish","type":"page","link":"https:\/\/heds.dental\/index.php\/events\/","title":{"rendered":"Events"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"43154\" class=\"elementor elementor-43154\">\n\t\t\t\t<div class=\"wd-negative-gap elementor-element elementor-element-5a57dd9 e-flex e-con-boxed e-con e-parent\" data-id=\"5a57dd9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-989318b wd-width-100 elementor-widget elementor-widget-wd_title\" data-id=\"989318b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"wd_title.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"title-wrapper wd-set-mb reset-last-child wd-title-color-primary wd-title-style-default wd-title-size-default text-center\">\n\n\t\t\t\n\t\t\t<div class=\"liner-continer\">\n\t\t\t\t<h1 class=\"woodmart-title-container title wd-fontsize-l\">Events<\/h1> \n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8964f8e e-con-full wd-section-stretch-content e-flex e-con e-parent\" data-id=\"8964f8e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-54e71ad elementor-widget elementor-widget-html\" data-id=\"54e71ad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!doctype html>\n<html>\n  <head>\n    <meta charset=\"UTF-8\" \/>\n    <title>Event Calendar<\/title>\n    <style>\n      :root {\n        \/* Farben *\/\n        --c-primary: #5a66aa;\n        --c-primary-light: #7a8bc2;\n        --c-primary-hover: #4a5599;\n        --c-secondary: #eec770;\n        --c-secondary-light: #f5d992;\n        --c-secondary-hover: #e5b850;\n        --c-gray: #6b7280;\n        --c-gray-light: #f3f4f6;\n        --c-white: #fff;\n        --c-border: #e5e7eb;\n        --c-transparent: transparent;\n        --c-bg: #fff;\n        --c-text: #374151;\n        --c-text-muted: #6b7280;\n        --c-error-bg: #fef2f2;\n        --c-error-border: #fecaca;\n        --c-error-text: #dc2626;\n        --c-today-bg: #e8ebf5;\n        --c-event-bg: #5a66aa;\n        --c-event-bg-hover: #7a8bc2;\n        --c-event-text: #fff;\n        --c-modal-bg: #fff;\n        --c-modal-border: #e5e7eb;\n        --c-modal-shadow: rgba(0, 0, 0, 0.25);\n        --c-modal-overlay: rgba(0, 0, 0, 0.55);\n        --c-highlight-bg: #e8ebf5;\n        --c-highlight-border: #7a8bc2;\n        --c-accent: #5a66aa;\n\n        \/* Abst\u00e4nde *\/\n        --spacing-xs: 0.25rem;\n        --spacing-sm: 0.5rem;\n        --spacing-md: 1rem;\n        --spacing-lg: 1.5rem;\n        --spacing-xl: 2rem;\n\n        \/* Rundungen *\/\n        --r-sm: 4px;\n        --r-md: 6px;\n        --r-lg: 8px;\n        --r-xl: 12px;\n        --r-full: 50%;\n\n        \/* Schatten *\/\n        --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.1);\n        --shadow-md:\n          0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n        --shadow-modal: 0 16px 50px rgba(0, 0, 0, 0.25);\n\n        \/* Typografie *\/\n        --f-body:\n          -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\n          \"Helvetica Neue\", Arial, sans-serif;\n        --f-size-xs: 0.625rem;\n        --f-size-sm: 0.75rem;\n        --f-size-base: 0.875rem;\n        --f-size-lg: 1rem;\n        --f-size-xl: 1.15rem;\n        --f-size-2xl: 1.25rem;\n        --f-weight-normal: 400;\n        --f-weight-semibold: 600;\n        --f-weight-bold: 700;\n        --f-weight-extrabold: 800;\n\n        \/* \u00dcberg\u00e4nge *\/\n        --transition-fast: 0.1s;\n        --transition-base: 0.2s;\n      }\n\n      * {\n        box-sizing: border-box;\n        margin: 0;\n        padding: 0;\n      }\n\n      .heds-cal {\n        font-family: var(--f-body);\n        color: var(--c-text);\n        line-height: 1.6;\n        background: var(--c-transparent);\n        padding: var(--spacing-xl);\n        border-radius: var(--r-xl);\n      }\n\n      .heds-cal .heds-container {\n        max-width: 1200px;\n        margin: 0 auto;\n      }\n\n      .heds-cal .calendar-wrapper {\n        display: flex;\n        gap: var(--spacing-md);\n        align-items: flex-start;\n      }\n\n      .heds-cal .mini-calendars {\n        display: flex;\n        flex-direction: column;\n        gap: var(--spacing-sm);\n        width: 30%;\n      }\n\n      .heds-cal .mini-calendar {\n        flex: 1;\n        background: var(--c-white);\n        border-radius: var(--r-md);\n        box-shadow: var(--shadow-sm);\n        padding: var(--spacing-sm);\n        border: 1px solid var(--c-border);\n        cursor: pointer;\n        transition:\n          border-color var(--transition-base),\n          opacity var(--transition-base);\n      }\n\n      .heds-cal .mini-calendar.past {\n        opacity: 0.6;\n      }\n\n      .heds-cal .mini-calendar.current {\n        border-color: var(--c-primary);\n        border-width: 2px;\n      }\n\n      .heds-cal .mini-calendar:hover:not(.past) {\n        border-color: var(--c-primary-light);\n      }\n\n      .heds-cal .mini-calendar-header {\n        font-size: var(--f-size-base) !important;\n        font-weight: var(--f-weight-semibold);\n        color: var(--c-primary);\n        text-align: center;\n        margin-bottom: var(--spacing-sm);\n      }\n\n      .heds-cal .mini-calendar-grid {\n        display: grid;\n        grid-template-columns: repeat(7, 1fr);\n        gap: var(--spacing-xs);\n      }\n\n      .heds-cal .mini-calendar-weekday {\n        font-size: var(--f-size-xs) !important;\n        text-align: center;\n        color: var(--c-gray);\n        font-weight: var(--f-weight-semibold);\n      }\n\n      .heds-cal .mini-calendar-day {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        font-size: var(--f-size-sm) !important;\n        width: 20px;\n        height: 20px;\n        margin: 0 auto;\n        border-radius: var(--r-full);\n        transition:\n          background var(--transition-base),\n          border-color var(--transition-base);\n      }\n\n      .heds-cal .mini-calendar-day.empty {\n        background: transparent;\n      }\n\n      .heds-cal .mini-calendar-day.has-event {\n        background: var(--c-primary);\n        color: var(--c-event-text);\n      }\n\n      .heds-cal .mini-calendar-day.highlight {\n        background: var(--c-highlight-bg);\n        border: 2px solid var(--c-highlight-border);\n        color: var(--c-primary);\n      }\n\n      \/* Termine-Liste *\/\n      .heds-cal .upcoming-events {\n        width: 70%;\n        background: var(--c-white);\n        border-radius: var(--r-lg);\n        box-shadow: var(--shadow-md);\n        padding: var(--spacing-lg);\n        height: auto;\n      }\n\n      .heds-cal .upcoming-events-header {\n        font-size: var(--f-size-2xl) !important;\n        font-weight: var(--f-weight-semibold);\n        color: var(--c-primary);\n        margin-bottom: var(--spacing-lg);\n        padding-bottom: var(--spacing-md);\n        border-bottom: 1px solid var(--c-border);\n      }\n\n      .heds-cal .upcoming-events-list {\n        display: flex;\n        flex-direction: column;\n        gap: var(--spacing-sm);\n      }\n\n      .heds-cal .upcoming-event {\n        background: var(--c-white);\n        border: 1px solid var(--c-border);\n        border-radius: var(--r-md);\n        padding: var(--spacing-md);\n        cursor: pointer;\n        transition:\n          border-color var(--transition-base),\n          box-shadow var(--transition-base);\n        overflow: hidden;\n      }\n\n      .heds-cal .upcoming-event:hover {\n        border-color: var(--c-primary-light);\n        box-shadow: var(--shadow-sm);\n      }\n\n      .heds-cal .upcoming-event-header {\n        display: flex;\n        flex-direction: column;\n        gap: var(--spacing-xs);\n      }\n\n      .heds-cal .upcoming-event-date {\n        font-weight: var(--f-weight-semibold);\n        color: var(--c-primary);\n        font-size: var(--f-size-base);\n      }\n\n      .heds-cal .upcoming-event-title {\n        font-weight: var(--f-weight-semibold);\n        color: var(--c-text);\n        font-size: var(--f-size-lg);\n      }\n\n      .heds-cal .upcoming-event-location {\n        color: var(--c-gray);\n        font-size: var(--f-size-sm);\n      }\n\n      .heds-cal .upcoming-event-details {\n        max-height: 0;\n        overflow: hidden;\n        transition: max-height var(--transition-base) ease-out;\n        padding-top: 0;\n        border-top: 1px solid var(--c-border);\n        margin-top: var(--spacing-sm);\n        border-radius: 0 0 var(--r-md) var(--r-md);\n      }\n\n      .heds-cal .upcoming-event.expanded .upcoming-event-details {\n        max-height: 500px;\n        overflow-y: auto;\n        padding-top: var(--spacing-sm);\n      }\n\n      .heds-cal .upcoming-event-description {\n        white-space: pre-line;\n        line-height: 1.5;\n        color: var(--c-text);\n        font-size: var(--f-size-sm);\n        padding-bottom: var(--spacing-sm);\n      }\n\n      .heds-cal .upcoming-event-actions {\n        display: none;\n        justify-content: flex-start;\n        padding: var(--spacing-md) 0 var(--spacing-sm) 0;\n        border-top: 1px solid var(--c-border);\n        margin-top: 0;\n      }\n\n      .heds-cal .upcoming-event.expanded .upcoming-event-actions {\n        display: flex;\n      }\n\n      .heds-cal .heds-btn-register {\n        background: var(--c-primary);\n        color: var(--c-white);\n        border: none;\n        border-radius: 999px;\n        padding: var(--spacing-sm) var(--spacing-md);\n        font-size: var(--f-size-base) !important;\n        font-weight: var(--f-weight-semibold);\n        cursor: pointer;\n        transition: background var(--transition-base);\n        text-transform: none !important;\n        letter-spacing: normal !important;\n      }\n\n      .heds-cal .heds-btn-register:hover {\n        background: var(--c-primary-light);\n      }\n\n      .heds-cal .heds-loading {\n        text-align: center;\n        padding: var(--spacing-lg);\n        color: var(--c-gray);\n      }\n\n      .heds-cal .heds-error {\n        background: var(--c-error-bg);\n        color: var(--c-error-text);\n        padding: var(--spacing-md);\n        border-radius: var(--r-sm);\n        margin-top: var(--spacing-md);\n        border: 1px solid var(--c-error-border);\n        white-space: pre-wrap;\n        display: none;\n      }\n\n      \/* Modal-Struktur *\/\n      .heds-modal-overlay {\n        position: fixed;\n        inset: 0;\n        background: var(--c-modal-overlay);\n        display: none;\n        align-items: center;\n        justify-content: center;\n        padding: 16px;\n        z-index: 999999;\n      }\n\n      .heds-modal {\n        width: min(720px, 100%);\n        background: var(--c-modal-bg);\n        border-radius: var(--r-xl);\n        box-shadow: var(--shadow-modal);\n        border: 1px solid var(--c-modal-border);\n        max-height: calc(100vh - 32px);\n        overflow: auto;\n      }\n\n      .heds-modal-header {\n        display: flex;\n        justify-content: space-between;\n        align-items: flex-start;\n        gap: var(--spacing-sm);\n        padding: var(--spacing-md) var(--spacing-md) var(--spacing-sm);\n        border-bottom: 1px solid var(--c-border);\n      }\n\n      .heds-modal-header h2 {\n        font-size: var(--f-size-2xl) !important;\n        margin: 0;\n        color: var(--c-text);\n      }\n\n      .heds-modal-header .heds-event-title-preview {\n        font-size: var(--f-size-base) !important;\n        color: var(--c-text-muted);\n        margin-top: var(--spacing-xs);\n        font-weight: var(--f-weight-normal);\n      }\n\n      .heds-modal-close {\n        background: var(--c-white);\n        border: 1px solid var(--c-border);\n        border-radius: var(--r-md);\n        padding: var(--spacing-xs) var(--spacing-sm);\n        cursor: pointer;\n        line-height: 1;\n      }\n\n      .heds-modal-body {\n        padding: var(--spacing-lg);\n      }\n\n      .heds-selected-event-details {\n        background: var(--c-highlight-bg);\n        border: 1px solid var(--c-highlight-border);\n        border-radius: var(--r-md);\n        padding: var(--spacing-sm) var(--spacing-lg);\n        margin-bottom: var(--spacing-lg);\n      }\n\n      .heds-selected-event-details p {\n        color: var(--c-gray);\n        font-size: var(--f-size-base) !important;\n        margin: var(--spacing-sm) 0;\n      }\n\n      \/* Modal: nur Button-Override, alles andere \u00fcbernimmt Woodmart *\/\n      #heds-modal-overlay .heds-modal {\n        background: var(--c-modal-bg) !important;\n      }\n\n      #heds-modal-overlay .heds-modal-header,\n      #heds-modal-overlay .heds-modal-body {\n        background: var(--c-modal-bg) !important;\n      }\n\n      #heds-modal-overlay .heds-modal-close {\n        background: var(--c-modal-bg) !important;\n      }\n\n      #heds-modal-overlay .heds-selected-event-details p {\n        color: var(--c-text) !important;\n      }\n\n      \/* form-row Abstand *\/\n      #heds-modal-overlay .form-row {\n        margin-bottom: var(--spacing-lg) !important;\n      }\n\n      \/* Labels + Inputs sichtbar machen \u2014 Woodmart setzt im Seitenkontext helle Farben *\/\n      #heds-modal-overlay label {\n        display: block !important;\n        color: var(--c-text) !important;\n        background: transparent !important;\n        font-weight: var(--f-weight-semibold) !important;\n        font-size: var(--f-size-sm) !important;\n        margin-bottom: var(--spacing-sm) !important;\n      }\n\n      #heds-modal-overlay .input-text {\n        display: block !important;\n        width: 100% !important;\n        color: var(--c-text) !important;\n        background: #fff !important;\n        border: 1px solid var(--c-border) !important;\n        border-radius: var(--r-sm) !important;\n        padding: var(--spacing-md) var(--spacing-lg) !important;\n        font-size: var(--f-size-base) !important;\n        font-family: var(--f-body) !important;\n        box-shadow: none !important;\n      }\n\n      #heds-modal-overlay .input-text:focus {\n        outline: none !important;\n        border-color: var(--c-primary) !important;\n        box-shadow: 0 0 0 3px rgba(90, 102, 170, 0.15) !important;\n      }\n\n      #heds-modal-overlay .input-text::placeholder {\n        color: var(--c-gray) !important;\n        opacity: 1 !important;\n      }\n\n      \/* Submit-Button: Farbe + Pill-Form erzwingen *\/\n      #heds-modal-overlay .heds-btn-submit {\n        display: block !important;\n        width: 100% !important;\n        background: var(--c-primary) !important;\n        color: var(--c-white) !important;\n        border: none !important;\n        border-radius: 999px !important;\n        padding: var(--spacing-md) var(--spacing-lg) !important;\n        font-size: var(--f-size-lg) !important;\n        font-weight: var(--f-weight-extrabold) !important;\n        font-family: var(--f-body) !important;\n        cursor: pointer !important;\n        margin-top: var(--spacing-xl) !important;\n        transition: background var(--transition-base) !important;\n        text-transform: none !important;\n        letter-spacing: normal !important;\n      }\n\n      #heds-modal-overlay .heds-btn-submit:hover {\n        background: var(--c-primary-light) !important;\n      }\n\n      @media (max-width: 768px) {\n        .heds-cal {\n          padding: var(--spacing-md);\n        }\n\n        .heds-cal .mini-calendars {\n          display: none;\n        }\n\n        .heds-cal .upcoming-events {\n          width: 100%;\n        }\n      }\n    <\/style>\n  <\/head>\n\n  <body>\n    <div class=\"heds-cal\" id=\"heds-cal-root\">\n      <div class=\"heds-container\">\n        <div class=\"calendar-wrapper\">\n          <div class=\"mini-calendars\" id=\"mini-calendars\"><\/div>\n\n          <div class=\"upcoming-events\">\n            <div class=\"upcoming-events-header\">N\u00e4chste Termine<\/div>\n            <div class=\"upcoming-events-list\" id=\"upcoming-events-list\">\n              <div id=\"loading\" class=\"heds-loading\">Lade Events \u2026<\/div>\n              <div id=\"error\" class=\"heds-error\"><\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <div class=\"heds-modal-overlay\" id=\"heds-modal-overlay\" aria-hidden=\"true\">\n      <div\n        class=\"heds-modal\"\n        role=\"dialog\"\n        aria-modal=\"true\"\n        aria-labelledby=\"heds-modal-title\"\n      >\n        <div class=\"heds-modal-header\">\n          <div>\n            <h2 id=\"heds-modal-title\">Anmeldung zum Event<\/h2>\n            <div\n              class=\"heds-event-title-preview\"\n              id=\"event-title-preview\"\n            ><\/div>\n          <\/div>\n          <button type=\"button\" class=\"heds-modal-close\" id=\"heds-modal-close\">\n            \u2715\n          <\/button>\n        <\/div>\n\n        <div class=\"heds-modal-body\">\n          <div class=\"heds-selected-event-details\">\n            <p><strong>Datum:<\/strong> <span id=\"event-date\"><\/span><\/p>\n            <p><strong>Uhrzeit:<\/strong> <span id=\"event-time\"><\/span><\/p>\n            <p><strong>Ort:<\/strong> <span id=\"event-location\"><\/span><\/p>\n          <\/div>\n\n          <form id=\"registration-form\" style=\"margin-top: 14px\">\n            <p class=\"form-row form-row-wide\">\n              <label for=\"name\">Ihr Name *<\/label>\n              <input\n                type=\"text\"\n                id=\"name\"\n                name=\"name\"\n                class=\"input-text\"\n                required\n              \/>\n            <\/p>\n\n            <p class=\"form-row form-row-wide\">\n              <label for=\"email\">Ihre E-Mail-Adresse *<\/label>\n              <input\n                type=\"email\"\n                id=\"email\"\n                name=\"email\"\n                class=\"input-text\"\n                required\n              \/>\n            <\/p>\n\n            <p class=\"form-row form-row-wide\">\n              <label for=\"company\">Firma *<\/label>\n              <input\n                type=\"text\"\n                id=\"company\"\n                name=\"company\"\n                class=\"input-text\"\n                required\n              \/>\n            <\/p>\n\n            <p class=\"form-row form-row-wide\">\n              <label for=\"attendees\">Teilnehmerzahl *<\/label>\n              <input\n                type=\"number\"\n                id=\"attendees\"\n                name=\"attendees\"\n                class=\"input-text\"\n                min=\"1\"\n                required\n              \/>\n            <\/p>\n\n            <p class=\"form-row form-row-wide\">\n              <label for=\"message\">Nachricht (optional)<\/label>\n              <textarea\n                id=\"message\"\n                name=\"message\"\n                class=\"input-text\"\n                style=\"min-height: 100px; resize: vertical; width: 100%\"\n              ><\/textarea>\n            <\/p>\n\n            <input type=\"hidden\" id=\"event-summary\" name=\"event_summary\" \/>\n            <input type=\"hidden\" id=\"event-start\" name=\"event_start\" \/>\n            <input type=\"hidden\" id=\"event-end\" name=\"event-end\" \/>\n            <input type=\"hidden\" id=\"event-desc\" name=\"event_desc\" \/>\n            <input type=\"hidden\" id=\"event-loc\" name=\"event_loc\" \/>\n            <input type=\"hidden\" id=\"event-uid\" name=\"event_uid\" \/>\n\n            <button\n              type=\"submit\"\n              class=\"button heds-btn-submit\"\n              id=\"submit-btn\"\n            >\n              Anmeldung absenden\n            <\/button>\n          <\/form>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <script>\n      (function () {\n        const ICS_URL =\n          \"https:\/\/outlook.office365.com\/owa\/calendar\/a71d5a7818b84090bd5f44e5e2310bfe@heds.dental\/7cf0d4873a874cc29b0ef06ced8c81cd10200490372417622880\/S-1-8-719147413-488114889-1717009958-554867337\/reachcalendar.ics\";\n        const WP_PROXY_PREFIX = \"https:\/\/heds.dental\/wp-json\/heds\/v1\/ics?url=\";\n\n        let events = [];\n        let selectedEvent = null;\n        let isModalOpen = false;\n        let currentMainMonth = new Date();\n        let allMiniCalendarDays = [];\n\n        const overlay = document.getElementById(\"heds-modal-overlay\");\n        const closeBtn = document.getElementById(\"heds-modal-close\");\n\n        function showError(msg) {\n          const el = document.getElementById(\"error\");\n          el.textContent = msg;\n          el.style.display = \"block\";\n        }\n\n        function hideError() {\n          const el = document.getElementById(\"error\");\n          el.textContent = \"\";\n          el.style.display = \"none\";\n        }\n\n        function setLoading(isLoading) {\n          const loadingEl = document.getElementById(\"loading\");\n          loadingEl.style.display = isLoading ? \"block\" : \"none\";\n        }\n\n        function openModal() {\n          isModalOpen = true;\n          overlay.style.display = \"flex\";\n          overlay.setAttribute(\"aria-hidden\", \"false\");\n          document.body.style.overflow = \"hidden\";\n          setTimeout(() => document.getElementById(\"name\")?.focus(), 0);\n        }\n\n        function closeModal() {\n          isModalOpen = false;\n          overlay.style.display = \"none\";\n          overlay.setAttribute(\"aria-hidden\", \"true\");\n          document.body.style.overflow = \"\";\n        }\n\n        closeBtn.addEventListener(\"click\", closeModal);\n        overlay.addEventListener(\"click\", (e) => {\n          if (e.target === overlay) closeModal();\n        });\n        document.addEventListener(\"keydown\", (e) => {\n          if (e.key === \"Escape\" && isModalOpen) closeModal();\n        });\n\n        function unescapeICal(value) {\n          return String(value || \"\")\n            .replace(\/\\\\\\\\\/g, \"\\\\\")\n            .replace(\/\\\\,\/g, \",\")\n            .replace(\/\\\\;\/g, \";\")\n            .replace(\/\\\\n\/gi, \"\\n\")\n            .replace(\/\\\\r\/gi, \"\\r\")\n            .replace(\/\\\\t\/gi, \"\\t\");\n        }\n\n        function parseICalDate(value, params) {\n          if (!value) return null;\n          const v = String(value).trim();\n          if (\/^\\d{8}$\/.test(v)) {\n            const Y = +v.slice(0, 4),\n              M = +v.slice(4, 6) - 1,\n              D = +v.slice(6, 8);\n            return new Date(Y, M, D);\n          }\n          const m = v.match(\n            \/^(\\d{4})(\\d{2})(\\d{2})T(\\d{2})(\\d{2})(\\d{2})?(Z|[+\\-]\\d{4})?$\/,\n          );\n          if (m) {\n            const [, Y, MO, D, H, MI, Smaybe] = m;\n            const S = Smaybe ? +Smaybe : 0;\n            return new Date(+Y, +MO - 1, +D, +H, +MI, S);\n          }\n          return null;\n        }\n\n        function parseICal(icalContent) {\n          let t = String(icalContent ?? \"\").trim();\n          if (\n            (t.startsWith('\"') && t.endsWith('\"')) ||\n            (t.startsWith(\"'\") && t.endsWith(\"'\"))\n          ) {\n            try {\n              if (t.startsWith(\"'\"))\n                t = '\"' + t.slice(1, -1).replace(\/\"\/g, '\\\\\"') + '\"';\n              t = JSON.parse(t);\n            } catch {\n              t = t.slice(1, -1);\n            }\n          }\n          t = t.replace(\/\\\\r\\\\n\/g, \"\\n\").replace(\/\\\\r\/g, \"\\n\");\n\n          \/\/ KORRIGIERT: Folding vor dem Parsen entfernen\n          const lines = t.split(\/\\r?\\n\/);\n          const unfoldedLines = [];\n          for (let i = 0; i < lines.length; i++) {\n            const line = lines[i];\n            if (i > 0 && (line.startsWith(\" \") || line.startsWith(\"\\t\"))) {\n              unfoldedLines[unfoldedLines.length - 1] += line.trimStart();\n            } else {\n              unfoldedLines.push(line);\n            }\n          }\n\n          const parsed = [];\n          let cur = null;\n          for (const line of unfoldedLines) {\n            const match = line.match(\/^([A-Z]+)(?:;([^:]+))?:(.*)$\/);\n            if (!match) continue;\n            const prop = match[1],\n              params = match[2] || \"\",\n              value = match[3] || \"\";\n            switch (prop) {\n              case \"BEGIN\":\n                if (value === \"VEVENT\")\n                  cur = {\n                    summary: \"\",\n                    start: null,\n                    end: null,\n                    description: \"\",\n                    location: \"\",\n                    uid: \"\",\n                  };\n                break;\n              case \"END\":\n                if (value === \"VEVENT\" && cur) {\n                  if (cur.start) parsed.push(cur);\n                  cur = null;\n                }\n                break;\n              case \"SUMMARY\":\n                if (cur) cur.summary = unescapeICal(value);\n                break;\n              case \"DTSTART\":\n                if (cur) cur.start = parseICalDate(value, params);\n                break;\n              case \"DTEND\":\n                if (cur) cur.end = parseICalDate(value, params);\n                break;\n              case \"DESCRIPTION\":\n                if (cur) cur.description = unescapeICal(value);\n                break;\n              case \"LOCATION\":\n                if (cur) cur.location = unescapeICal(value);\n                break;\n              case \"UID\":\n                if (cur) cur.uid = value;\n                break;\n            }\n          }\n          return parsed;\n        }\n\n        function formatDate(date) {\n          if (!date) return \"\";\n          const d = new Date(date);\n          return `${String(d.getDate()).padStart(2, \"0\")}.${String(d.getMonth() + 1).padStart(2, \"0\")}.${d.getFullYear()}`;\n        }\n\n        function formatTime(date) {\n          if (!date) return \"\";\n          const d = new Date(date);\n          return `${String(d.getHours()).padStart(2, \"0\")}:${String(d.getMinutes()).padStart(2, \"0\")}`;\n        }\n\n        function formatDateTime(date) {\n          return `${formatDate(date)} ${formatTime(date)}`;\n        }\n\n        function getDateKey(date) {\n          if (!date) return \"\";\n          const d = new Date(date);\n          return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, \"0\")}-${String(d.getDate()).padStart(2, \"0\")}`;\n        }\n\n        function resetAllHighlights() {\n          allMiniCalendarDays.forEach((dayEl) => {\n            dayEl.classList.remove(\"highlight\");\n          });\n        }\n\n        function highlightDateInMiniCalendars(date) {\n          resetAllHighlights();\n          const dateKey = getDateKey(date);\n          allMiniCalendarDays.forEach((dayEl) => {\n            if (dayEl.dataset.date === dateKey) {\n              dayEl.classList.add(\"highlight\");\n            }\n          });\n        }\n\n        function renderMiniCalendars() {\n          const container = document.getElementById(\"mini-calendars\");\n          container.innerHTML = \"\";\n          allMiniCalendarDays = [];\n\n          const monthNames = [\n            \"Januar\",\n            \"Februar\",\n            \"M\u00e4rz\",\n            \"April\",\n            \"Mai\",\n            \"Juni\",\n            \"Juli\",\n            \"August\",\n            \"September\",\n            \"Oktober\",\n            \"November\",\n            \"Dezember\",\n          ];\n          const monthsToShow = [];\n          const mainYear = currentMainMonth.getFullYear();\n          const mainMonth = currentMainMonth.getMonth();\n\n          let prevMonth = new Date(mainYear, mainMonth, 1);\n          prevMonth.setMonth(prevMonth.getMonth() - 1);\n          monthsToShow.push({\n            year: prevMonth.getFullYear(),\n            month: prevMonth.getMonth(),\n            isCurrent: false,\n            isPast: true,\n          });\n\n          monthsToShow.push({\n            year: mainYear,\n            month: mainMonth,\n            isCurrent: true,\n            isPast: false,\n          });\n\n          let nextMonth = new Date(mainYear, mainMonth, 1);\n          nextMonth.setMonth(nextMonth.getMonth() + 1);\n          monthsToShow.push({\n            year: nextMonth.getFullYear(),\n            month: nextMonth.getMonth(),\n            isCurrent: false,\n            isPast: false,\n          });\n\n          let nextNextMonth = new Date(mainYear, mainMonth, 1);\n          nextNextMonth.setMonth(nextNextMonth.getMonth() + 2);\n          monthsToShow.push({\n            year: nextNextMonth.getFullYear(),\n            month: nextNextMonth.getMonth(),\n            isCurrent: false,\n            isPast: false,\n          });\n\n          monthsToShow.forEach((monthInfo) => {\n            const miniCal = document.createElement(\"div\");\n            miniCal.className = `mini-calendar ${monthInfo.isPast ? \"past\" : \"\"} ${monthInfo.isCurrent ? \"current\" : \"\"}`;\n            miniCal.dataset.month = monthInfo.month;\n            miniCal.dataset.year = monthInfo.year;\n\n            const header = document.createElement(\"div\");\n            header.className = \"mini-calendar-header\";\n            header.textContent = `${monthNames[monthInfo.month]} ${monthInfo.year}`;\n            miniCal.appendChild(header);\n\n            const grid = document.createElement(\"div\");\n            grid.className = \"mini-calendar-grid\";\n\n            [\"Mo\", \"Di\", \"Mi\", \"Do\", \"Fr\", \"Sa\", \"So\"].forEach((day) => {\n              const dayEl = document.createElement(\"div\");\n              dayEl.className = \"mini-calendar-weekday\";\n              dayEl.textContent = day;\n              grid.appendChild(dayEl);\n            });\n\n            const firstDayOfMonth = new Date(\n              monthInfo.year,\n              monthInfo.month,\n              1,\n            );\n            const firstDayOfWeek = firstDayOfMonth.getDay();\n            const firstDay = firstDayOfWeek === 0 ? 6 : firstDayOfWeek - 1;\n            const daysInMonth = new Date(\n              monthInfo.year,\n              monthInfo.month + 1,\n              0,\n            ).getDate();\n\n            for (let i = 0; i < firstDay; i++) {\n              const emptyDay = document.createElement(\"div\");\n              emptyDay.className = \"mini-calendar-day empty\";\n              grid.appendChild(emptyDay);\n            }\n\n            for (let day = 1; day <= daysInMonth; day++) {\n              const dayEl = document.createElement(\"div\");\n              dayEl.className = \"mini-calendar-day\";\n              dayEl.textContent = day;\n\n              const date = new Date(monthInfo.year, monthInfo.month, day);\n              dayEl.dataset.date = getDateKey(date);\n              allMiniCalendarDays.push(dayEl);\n\n              const hasEvent = events.some((ev) => {\n                if (!ev.start) return false;\n                const start = new Date(ev.start);\n                start.setHours(0, 0, 0, 0);\n                const end = new Date(ev.end || ev.start);\n                end.setHours(0, 0, 0, 0);\n                return (\n                  date.getTime() >= start.getTime() &&\n                  date.getTime() <= end.getTime()\n                );\n              });\n\n              if (hasEvent) dayEl.classList.add(\"has-event\");\n              grid.appendChild(dayEl);\n            }\n\n            const totalCells = firstDay + daysInMonth;\n            const remainingCells = 7 - (totalCells % 7);\n            if (remainingCells < 7) {\n              for (let i = 0; i < remainingCells; i++) {\n                const emptyDay = document.createElement(\"div\");\n                emptyDay.className = \"mini-calendar-day empty\";\n                grid.appendChild(emptyDay);\n              }\n            }\n\n            miniCal.appendChild(grid);\n            miniCal.addEventListener(\"click\", () => {\n              currentMainMonth = new Date(monthInfo.year, monthInfo.month, 1);\n              renderMiniCalendars();\n              renderUpcomingEvents();\n            });\n\n            container.appendChild(miniCal);\n          });\n        }\n\n        function renderUpcomingEvents() {\n          const listContainer = document.getElementById(\"upcoming-events-list\");\n          const now = new Date();\n          now.setHours(0, 0, 0, 0);\n\n          const upcomingEvents = events\n            .filter((ev) => {\n              if (!ev.start) return false;\n              const start = new Date(ev.start);\n              start.setHours(0, 0, 0, 0);\n              return start >= now;\n            })\n            .sort((a, b) => new Date(a.start) - new Date(b.start))\n            .slice(0, 10);\n\n          listContainer.innerHTML = \"\";\n\n          if (upcomingEvents.length === 0) {\n            if (events.length === 0) {\n              return;\n            } else {\n              const noEventsEl = document.createElement(\"div\");\n              noEventsEl.className = \"heds-loading\";\n              noEventsEl.textContent = \"Keine anstehenden Termine gefunden.\";\n              listContainer.appendChild(noEventsEl);\n            }\n          }\n\n          upcomingEvents.forEach((event) => {\n            const eventEl = document.createElement(\"div\");\n            eventEl.className = \"upcoming-event\";\n            eventEl.dataset.eventDate = getDateKey(event.start);\n\n            const headerDiv = document.createElement(\"div\");\n            headerDiv.className = \"upcoming-event-header\";\n\n            const dateEl = document.createElement(\"div\");\n            dateEl.className = \"upcoming-event-date\";\n            dateEl.textContent = formatDate(event.start);\n            headerDiv.appendChild(dateEl);\n\n            const titleEl = document.createElement(\"div\");\n            titleEl.className = \"upcoming-event-title\";\n            titleEl.textContent = event.summary || \"Unbenanntes Event\";\n            headerDiv.appendChild(titleEl);\n\n            const locationEl = document.createElement(\"div\");\n            locationEl.className = \"upcoming-event-location\";\n            locationEl.textContent = event.location || \"\u2014\";\n            headerDiv.appendChild(locationEl);\n\n            eventEl.appendChild(headerDiv);\n\n            const detailsDiv = document.createElement(\"div\");\n            detailsDiv.className = \"upcoming-event-details\";\n\n            const descriptionEl = document.createElement(\"div\");\n            descriptionEl.className = \"upcoming-event-description\";\n            descriptionEl.textContent =\n              event.description || \"Keine Beschreibung\";\n            detailsDiv.appendChild(descriptionEl);\n\n            const actionsDiv = document.createElement(\"div\");\n            actionsDiv.className = \"upcoming-event-actions\";\n\n            const registerBtn = document.createElement(\"button\");\n            registerBtn.type = \"button\";\n            registerBtn.className = \"heds-btn-register\";\n            registerBtn.textContent = \"Jetzt anmelden\";\n            registerBtn.addEventListener(\"click\", (e) => {\n              e.stopPropagation();\n              selectEvent(event);\n            });\n            actionsDiv.appendChild(registerBtn);\n\n            eventEl.appendChild(detailsDiv);\n            eventEl.appendChild(actionsDiv);\n\n            eventEl.addEventListener(\"click\", (e) => {\n              if (e.target === registerBtn) return;\n              const isExpanded = eventEl.classList.contains(\"expanded\");\n              listContainer\n                .querySelectorAll(\".upcoming-event.expanded\")\n                .forEach((el) => el.classList.remove(\"expanded\"));\n              if (!isExpanded) eventEl.classList.add(\"expanded\");\n              highlightDateInMiniCalendars(event.start);\n            });\n\n            eventEl.addEventListener(\"mouseenter\", () => {\n              if (!eventEl.classList.contains(\"expanded\")) {\n                highlightDateInMiniCalendars(event.start);\n              }\n            });\n\n            eventEl.addEventListener(\"mouseleave\", () => {\n              if (!eventEl.classList.contains(\"expanded\")) {\n                resetAllHighlights();\n              }\n            });\n\n            listContainer.appendChild(eventEl);\n          });\n        }\n\n        function selectEvent(event) {\n          selectedEvent = { ...event };\n          const startDate = event.start;\n          const endDate = event.end;\n\n          let dateStr = startDate ? formatDate(startDate) : \"\";\n          let timeStr = \"\";\n\n          if (startDate && endDate) {\n            const sameDay =\n              startDate.getDate() === endDate.getDate() &&\n              startDate.getMonth() === endDate.getMonth() &&\n              startDate.getFullYear() === endDate.getFullYear();\n            timeStr = sameDay\n              ? `${formatTime(startDate)} - ${formatTime(endDate)}`\n              : `${formatDateTime(startDate)} - ${formatDateTime(endDate)}`;\n          }\n\n          document.getElementById(\"heds-modal-title\").textContent =\n            \"Anmeldung zum Event\";\n          document.getElementById(\"event-title-preview\").textContent =\n            event.summary || \"Unbenanntes Event\";\n\n          document.getElementById(\"event-date\").textContent = dateStr;\n          document.getElementById(\"event-time\").textContent =\n            timeStr || \"Ganzt\u00e4gig\";\n          document.getElementById(\"event-location\").textContent =\n            event.location || \"\u2014\";\n\n          document.getElementById(\"event-summary\").value = event.summary || \"\";\n          document.getElementById(\"event-start\").value = startDate\n            ? startDate.toISOString()\n            : \"\";\n          document.getElementById(\"event-end\").value = endDate\n            ? endDate.toISOString()\n            : \"\";\n          document.getElementById(\"event-desc\").value = event.description || \"\";\n          document.getElementById(\"event-loc\").value = event.location || \"\";\n          document.getElementById(\"event-uid\").value = event.uid || \"\";\n\n          openModal();\n        }\n\n        async function loadICalFeed() {\n          setLoading(true);\n          hideError();\n\n          const proxyUrl = WP_PROXY_PREFIX + encodeURIComponent(ICS_URL);\n\n          try {\n            const res = await fetch(proxyUrl, { cache: \"no-store\" });\n            if (!res.ok) throw new Error(`HTTP ${res.status}`);\n            const raw = await res.text();\n            events = parseICal(raw);\n            setLoading(false);\n\n            if (!events.length) {\n              showError(\n                \"Keine Events gefunden. (Feed geladen, aber es wurden keine VEVENT\/DTSTART geparst.)\",\n              );\n            }\n\n            renderMiniCalendars();\n            renderUpcomingEvents();\n          } catch (e) {\n            setLoading(false);\n            showError(`Fehler beim Laden der Events: ${e.message || e}`);\n          }\n        }\n\n        loadICalFeed();\n\n        document\n          .getElementById(\"registration-form\")\n          ?.addEventListener(\"submit\", async (e) => {\n            e.preventDefault();\n            const btn = document.getElementById(\"submit-btn\");\n            const originalText = btn.textContent;\n            btn.disabled = true;\n            btn.textContent = \"Sende\u2026\";\n\n            try {\n              const payload = {\n                name: document.getElementById(\"name\").value.trim(),\n                email: document.getElementById(\"email\").value.trim(),\n                company: document.getElementById(\"company\").value.trim(),\n                attendees: document.getElementById(\"attendees\").value,\n                message: document.getElementById(\"message\").value.trim(),\n                event_summary: document.getElementById(\"event-summary\").value,\n                event_start: document.getElementById(\"event-start\").value,\n                event_end: document.getElementById(\"event-end\").value,\n                event_desc: document.getElementById(\"event-desc\").value,\n                event_loc: document.getElementById(\"event-loc\").value,\n                event_uid: document.getElementById(\"event-uid\").value,\n              };\n\n              const res = await fetch(\n                \"https:\/\/heds.dental\/wp-json\/heds\/v1\/event-registration\",\n                {\n                  method: \"POST\",\n                  headers: { \"Content-Type\": \"application\/json\" },\n                  body: JSON.stringify(payload),\n                },\n              );\n\n              let data = null;\n              try {\n                data = await res.json();\n              } catch {}\n\n              if (!res.ok || !data || data.ok !== true) {\n                const msg =\n                  data && data.error ? data.error : `HTTP ${res.status}`;\n                throw new Error(msg);\n              }\n\n              alert(\"Vielen Dank! Ihre Anmeldung wurde gesendet.\");\n              document.getElementById(\"registration-form\").reset();\n              closeModal();\n            } catch (err) {\n              alert(\"Senden fehlgeschlagen: \" + (err?.message || err));\n            } finally {\n              btn.disabled = false;\n              btn.textContent = originalText;\n            }\n          });\n      })();\n    <\/script>\n  <\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Events Event Calendar N\u00e4chste Termine Lade Events \u2026 Anmeldung zum Event \u2715 Datum: Uhrzeit: Ort: Ihr Name * Ihre E-Mail-Adresse<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-43154","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Events \u2013 Informationen und Anmeldung zu anstehenden Events<\/title>\n<meta name=\"description\" content=\"Wann findet das n\u00e4chste Event statt? An welchen Standort? Was erwartet Sie? Informieren Sie sich hier und melden Sie sich direkt an.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/heds.dental\/index.php\/events\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Events \u2013 Informationen und Anmeldung zu anstehenden Events\" \/>\n<meta property=\"og:description\" content=\"Wann findet das n\u00e4chste Event statt? An welchen Standort? Was erwartet Sie? Informieren Sie sich hier und melden Sie sich direkt an.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/heds.dental\/index.php\/events\/\" \/>\n<meta property=\"og:site_name\" content=\"heds.dental\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/profile.php?id=61559435578898\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-11T11:18:31+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"2\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/heds.dental\\\/index.php\\\/events\\\/\",\"url\":\"https:\\\/\\\/heds.dental\\\/index.php\\\/events\\\/\",\"name\":\"Events \u2013 Informationen und Anmeldung zu anstehenden Events\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/heds.dental\\\/#website\"},\"datePublished\":\"2026-06-09T08:29:07+00:00\",\"dateModified\":\"2026-06-11T11:18:31+00:00\",\"description\":\"Wann findet das n\u00e4chste Event statt? An welchen Standort? Was erwartet Sie? Informieren Sie sich hier und melden Sie sich direkt an.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/heds.dental\\\/index.php\\\/events\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/heds.dental\\\/index.php\\\/events\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/heds.dental\\\/index.php\\\/events\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/heds.dental\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Events\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/heds.dental\\\/#website\",\"url\":\"https:\\\/\\\/heds.dental\\\/\",\"name\":\"heds.dental\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/heds.dental\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/heds.dental\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/heds.dental\\\/#organization\",\"name\":\"HEDS Group GmbH\",\"url\":\"https:\\\/\\\/heds.dental\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/heds.dental\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/heds.dental\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/Website-Icon.png\",\"contentUrl\":\"https:\\\/\\\/heds.dental\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/Website-Icon.png\",\"width\":512,\"height\":512,\"caption\":\"HEDS Group GmbH\"},\"image\":{\"@id\":\"https:\\\/\\\/heds.dental\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/profile.php?id=61559435578898\",\"http:\\\/\\\/linkedin.com\\\/company\\\/heds-group-gmbh\",\"https:\\\/\\\/www.instagram.com\\\/heds_dental\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Events \u2013 Informationen und Anmeldung zu anstehenden Events","description":"Wann findet das n\u00e4chste Event statt? An welchen Standort? Was erwartet Sie? Informieren Sie sich hier und melden Sie sich direkt an.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/heds.dental\/index.php\/events\/","og_locale":"de_DE","og_type":"article","og_title":"Events \u2013 Informationen und Anmeldung zu anstehenden Events","og_description":"Wann findet das n\u00e4chste Event statt? An welchen Standort? Was erwartet Sie? Informieren Sie sich hier und melden Sie sich direkt an.","og_url":"https:\/\/heds.dental\/index.php\/events\/","og_site_name":"heds.dental","article_publisher":"https:\/\/www.facebook.com\/profile.php?id=61559435578898","article_modified_time":"2026-06-11T11:18:31+00:00","twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"2\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/heds.dental\/index.php\/events\/","url":"https:\/\/heds.dental\/index.php\/events\/","name":"Events \u2013 Informationen und Anmeldung zu anstehenden Events","isPartOf":{"@id":"https:\/\/heds.dental\/#website"},"datePublished":"2026-06-09T08:29:07+00:00","dateModified":"2026-06-11T11:18:31+00:00","description":"Wann findet das n\u00e4chste Event statt? An welchen Standort? Was erwartet Sie? Informieren Sie sich hier und melden Sie sich direkt an.","breadcrumb":{"@id":"https:\/\/heds.dental\/index.php\/events\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/heds.dental\/index.php\/events\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/heds.dental\/index.php\/events\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/heds.dental\/"},{"@type":"ListItem","position":2,"name":"Events"}]},{"@type":"WebSite","@id":"https:\/\/heds.dental\/#website","url":"https:\/\/heds.dental\/","name":"heds.dental","description":"","publisher":{"@id":"https:\/\/heds.dental\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/heds.dental\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/heds.dental\/#organization","name":"HEDS Group GmbH","url":"https:\/\/heds.dental\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/heds.dental\/#\/schema\/logo\/image\/","url":"https:\/\/heds.dental\/wp-content\/uploads\/2024\/10\/Website-Icon.png","contentUrl":"https:\/\/heds.dental\/wp-content\/uploads\/2024\/10\/Website-Icon.png","width":512,"height":512,"caption":"HEDS Group GmbH"},"image":{"@id":"https:\/\/heds.dental\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/profile.php?id=61559435578898","http:\/\/linkedin.com\/company\/heds-group-gmbh","https:\/\/www.instagram.com\/heds_dental"]}]}},"_links":{"self":[{"href":"https:\/\/heds.dental\/index.php\/wp-json\/wp\/v2\/pages\/43154","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/heds.dental\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/heds.dental\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/heds.dental\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/heds.dental\/index.php\/wp-json\/wp\/v2\/comments?post=43154"}],"version-history":[{"count":42,"href":"https:\/\/heds.dental\/index.php\/wp-json\/wp\/v2\/pages\/43154\/revisions"}],"predecessor-version":[{"id":43209,"href":"https:\/\/heds.dental\/index.php\/wp-json\/wp\/v2\/pages\/43154\/revisions\/43209"}],"wp:attachment":[{"href":"https:\/\/heds.dental\/index.php\/wp-json\/wp\/v2\/media?parent=43154"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}