{"id":295,"date":"2026-04-27T16:29:52","date_gmt":"2026-04-27T14:29:52","guid":{"rendered":"https:\/\/leyton.majjane.agency\/de\/contact\/"},"modified":"2026-07-26T00:38:35","modified_gmt":"2026-07-25T22:38:35","slug":"kontakt","status":"publish","type":"page","link":"https:\/\/leyton.com\/de\/kontakt\/","title":{"rendered":"Kontakt"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"295\" class=\"elementor elementor-295\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-66775c40 e-con-full e-flex e-con e-parent\" data-id=\"66775c40\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-48361e07 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"48361e07\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Vereinbaren Sie Ihr <span>Beratungsgespr\u00e4ch<\/span>\n<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-65adfe53 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"65adfe53\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Wir beraten jedes Jahr Tausende Kunden zu verschiedenen F\u00f6rderprogrammen. Buchen Sie hier Ihr individuelles Beratungsgespr\u00e4ch mit unserem Experten-Team.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-64ec5cd e-flex e-con-boxed e-con e-parent\" data-id=\"64ec5cd\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-512d961 elementor-widget elementor-widget-heading\" data-id=\"512d961\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">W\u00e4hlen Sie Ihren Termin<\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a756447 e-con-full e-flex e-con e-child\" data-id=\"a756447\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-638b4c6 elementor-widget elementor-widget-html\" data-id=\"638b4c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"my-custom-calendly\" style=\"min-width:320px; width:100% !important; height:700px; padding:0 !important;\"><\/div>\r\n\r\n<script type=\"text\/javascript\" src=\"https:\/\/assets.calendly.com\/assets\/external\/widget.js\" async><\/script>\r\n\r\n<script>\r\n  window.addEventListener('load', function() {\r\n    if (window.Calendly) {\r\n      const targetNode = document.getElementById('my-custom-calendly');\r\n      \r\n      if (targetNode) {\r\n        Calendly.initInlineWidget({\r\n          parentElement: targetNode,\r\n          url: 'https:\/\/calendly.com\/leyton-deutschland\/meeting-buchen?background_color=transparent&text_color=1A202C&primary_color=EC6839&hide_landing_page_details=1',\r\n          resize: true\r\n        });\r\n\r\n        setTimeout(function() {\r\n          var iframe = targetNode.querySelector('iframe');\r\n          if (iframe) {\r\n            iframe.style.setProperty('width', '100%', 'important');\r\n            iframe.style.setProperty('min-width', '100%', 'important');\r\n            iframe.removeAttribute('width');\r\n          }\r\n        }, 2000);\r\n      }\r\n    }\r\n  });\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-25b4d8d elementor-widget__width-initial elementor-hidden-mobile elementor-widget elementor-widget-button\" data-id=\"25b4d8d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Privacy policy<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\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-49b74376 e-flex e-con-boxed e-con e-parent\" data-id=\"49b74376\" 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-bbcba4c elementor-widget elementor-widget-heading\" data-id=\"bbcba4c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">oder schicken Sie uns eine Anfrage!\n<\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3a7e8eb0 e-grid e-con-full e-con e-child\" data-id=\"3a7e8eb0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-74dce1a0 e-con-full is-dark e-flex e-con e-child\" data-id=\"74dce1a0\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-37460d74 elementor-widget elementor-widget-text-editor\" data-id=\"37460d74\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Kontakt<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-525a6689 elementor-widget elementor-widget-heading\" data-id=\"525a6689\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Unser Expertenteam ist <br>\nf\u00fcr Sie da.<\/div>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2767292a elementor-widget elementor-widget-text-editor\" data-id=\"2767292a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Wir sind auf die individuellen Herausforderungen von Unternehmen jeder Branche vorbereitet. Sprechen Sie uns an \u2013 wir beraten Sie gerne.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e45cd4a elementor-widget elementor-widget-html\" data-id=\"e45cd4a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<iframe \n    id=\"pardot-iframe\"\n    src=\"https:\/\/go-de.leyton.com\/l\/1085972\/2026-05-21\/7ln2b4\" \n    width=\"100%\" \n    frameborder=\"0\"\n    style=\"border: none; width: 100%; height: 850px;\">\n<\/iframe>\n<script>\nwindow.addEventListener(\"message\", function(event) {\n\n    if (!event.data) return;\n\n    if (event.data.event === \"pardotsubmission\") {\n\n        window.dataLayer = window.dataLayer || [];\n\n        window.dataLayer.push({\n            event: \"pardotsubmission\",\n            formId: event.data.formId\n        });\n\n    }\n\n});\n<\/script>\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-56e72160 e-flex e-con-boxed e-con e-parent\" data-id=\"56e72160\" 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-20d6d554 elementor-widget elementor-widget-shortcode\" data-id=\"20d6d554\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t<div data-elementor-type=\"page\" data-elementor-id=\"1315\" class=\"elementor elementor-1315\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t<div class=\"elementor-element elementor-element-605a0673 e-flex e-con-boxed e-con e-parent\" data-id=\"605a0673\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-420a304 e-grid e-con-boxed e-con e-child\" data-id=\"420a304\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-6e081d0b e-con-full e-flex e-con e-child\" data-id=\"6e081d0b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5b77cff5 liquid-glass elementor-widget elementor-widget-text-editor\" data-id=\"5b77cff5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Internationale Beratungskompetenz<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7699cab0 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"7699cab0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Ein Partner f\u00fcr alle <br>\nIhre M\u00e4rkte<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6032031f elementor-widget__width-initial elementor-widget elementor-widget-html\" data-id=\"6032031f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  .gfi-select {\r\n    position: relative;\r\n    width: 100%;\r\n    max-width: 460px;\r\n    font-family: inherit;\r\n    user-select: none;\r\n  }\r\n\r\n  \/* Keep native select active for data layers but hide visually *\/\r\n  .gfi-select select {\r\n    position: absolute;\r\n    width: 1px; height: 1px;\r\n    padding: 0; margin: -1px;\r\n    overflow: hidden;\r\n    clip: rect(0, 0, 0, 0);\r\n    white-space: nowrap;\r\n    border: 0;\r\n    opacity: 0;\r\n    pointer-events: none;\r\n  }\r\n\r\n  .gfi-select__trigger {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    width: 100%;\r\n    padding: 18px 28px;\r\n    border: 1.5px solid #CCC;\r\n    border-radius: 999px;\r\n    background: #fff;\r\n    cursor: pointer;\r\n    box-sizing: border-box;\r\n    color: #757575;\r\n    font-family: Montserrat, sans-serif;\r\n    font-size: 19.8px;\r\n    font-style: normal;\r\n    font-weight: 400;\r\n    line-height: normal;\r\n    transition: border-color .2s ease;\r\n  }\r\n  .gfi-select__trigger:hover,\r\n  .gfi-select__trigger:focus { \r\n    border-color: #CCC;\r\n    outline: none; \r\n  }\r\n  .gfi-select.is-open .gfi-select__trigger {\r\n    border-color: #CCC;\r\n  }\r\n  .gfi-select__trigger.is-placeholder { \r\n    color: #757575; \r\n  } \r\n\r\n  .gfi-select__chevron {\r\n    width: 12px; height: 12px;\r\n    border-right: 2px solid #757575;\r\n    border-bottom: 2px solid #757575;\r\n    transform: rotate(45deg);\r\n    margin-top: -5px;\r\n    transition: transform .25s ease;\r\n  }\r\n  .gfi-select.is-open .gfi-select__chevron {\r\n    transform: rotate(-135deg); margin-top: 3px;\r\n  }\r\n\r\n  .gfi-select__list {\r\n    position: absolute;\r\n    top: calc(100% + 8px);\r\n    left: 0; right: 0;\r\n    background: #fff;\r\n    border: 1px solid #e5e9ef;\r\n    border-radius: 14px;\r\n    box-shadow: 0 12px 32px rgba(10, 37, 64, .12);\r\n    max-height: 320px;\r\n    overflow-y: auto;\r\n    padding: 12px 0;\r\n    margin: 0;\r\n    list-style: none;\r\n    z-index: 999;\r\n    opacity: 0;\r\n    transform: translateY(-6px);\r\n    pointer-events: none;\r\n    transition: opacity .18s ease, transform .18s ease;\r\n  }\r\n  .gfi-select.is-open .gfi-select__list {\r\n    opacity: 1; transform: translateY(0); pointer-events: auto;\r\n  }\r\n\r\n  .gfi-select__list li {\r\n    padding: 12px 28px;\r\n    cursor: pointer;\r\n    transition: background .15s ease;\r\n    color: #757575;\r\n    font-family: Montserrat, sans-serif;\r\n    font-size: 19.8px;\r\n    font-style: normal;\r\n    font-weight: 400;\r\n    line-height: normal;\r\n  }\r\n  .gfi-select__list li:hover,\r\n  .gfi-select__list li.is-active { background: #eef2f7; }\r\n  .gfi-select__list li[data-placeholder] { display: none; }\r\n\r\n  @media (max-width: 600px) {\r\n    .gfi-select__trigger { padding: 16px 22px; font-size: 17px; }\r\n    .gfi-select__list li { padding: 12px 22px; font-size: 17px; }\r\n  }\r\n<\/style>\r\n\r\n<div class=\"gfi-select\">\r\n  <select name=\"country\" data-gfi=\"select\" aria-label=\"Select a country\">\r\n    <option value=\"\">Select a country<\/option>\r\n  <\/select>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  var wrap = document.querySelector('.gfi-select');\r\n  if (!wrap) return;\r\n\r\n  var select = wrap.querySelector('select');\r\n\r\n  function initCustomUi() {\r\n    if (select.options.length <= 1) {\r\n      setTimeout(initCustomUi, 50);\r\n      return;\r\n    }\r\n\r\n    if (wrap.dataset.enhanced) return;\r\n    wrap.dataset.enhanced = '1';\r\n\r\n    var current = select.options[select.selectedIndex];\r\n\r\n    var trigger = document.createElement('div');\r\n    trigger.className = 'gfi-select__trigger' + (!select.value ? ' is-placeholder' : '');\r\n    trigger.setAttribute('role', 'combobox');\r\n    trigger.setAttribute('aria-haspopup', 'listbox');\r\n    trigger.setAttribute('aria-expanded', 'false');\r\n    trigger.setAttribute('tabindex', '0');\r\n    trigger.innerHTML =\r\n      '<span class=\"gfi-select__label\">' + (current ? current.text : 'Select a country') + '<\/span>' +\r\n      '<span class=\"gfi-select__chevron\" aria-hidden=\"true\"><\/span>';\r\n\r\n    var list = document.createElement('ul');\r\n    list.className = 'gfi-select__list';\r\n    list.setAttribute('role', 'listbox');\r\n    list.setAttribute('data-lenis-prevent', '');\r\n\r\n    function buildListItems() {\r\n      list.innerHTML = '';\r\n      var options = Array.from(select.options).sort(function(a, b) {\r\n        if (a.value === '') return -1;\r\n        if (b.value === '') return 1;\r\n        return a.text.localeCompare(b.text);\r\n      });\r\n      options.forEach(function (opt) {\r\n        var li = document.createElement('li');\r\n        li.textContent = opt.text;\r\n        li.dataset.value = opt.value;\r\n        if (opt.value === '') li.dataset.placeholder = '1';\r\n        if (opt.value === select.value && opt.value !== '') li.classList.add('is-active');\r\n        list.appendChild(li);\r\n      });\r\n    }\r\n    buildListItems();\r\n\r\n    wrap.appendChild(trigger);\r\n    wrap.appendChild(list);\r\n\r\n    var label = trigger.querySelector('.gfi-select__label');\r\n\r\n    function setOpen(open) {\r\n      var willOpen = (typeof open === 'boolean') ? open : !wrap.classList.contains('is-open');\r\n      wrap.classList.toggle('is-open', willOpen);\r\n      trigger.setAttribute('aria-expanded', willOpen);\r\n    }\r\n\r\n    function syncUIFromSelect() {\r\n      var opt = select.options[select.selectedIndex];\r\n      label.textContent = opt ? opt.text : '';\r\n      trigger.classList.toggle('is-placeholder', !select.value);\r\n      list.querySelectorAll('li').forEach(function (li) {\r\n        li.classList.toggle('is-active', li.dataset.value === select.value && select.value !== '');\r\n      });\r\n    }\r\n\r\n    function pick(value) {\r\n      select.value = value;\r\n      select.dispatchEvent(new Event('input',  { bubbles: true }));\r\n      select.dispatchEvent(new Event('change', { bubbles: true }));\r\n      syncUIFromSelect();\r\n    }\r\n\r\n    trigger.addEventListener('click', function (e) { e.stopPropagation(); setOpen(); });\r\n    trigger.addEventListener('keydown', function (e) {\r\n      if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); setOpen(); }\r\n      if (e.key === 'Escape') setOpen(false);\r\n    });\r\n\r\n    list.addEventListener('click', function (e) {\r\n      var li = e.target.closest('li');\r\n      if (!li || li.dataset.placeholder) return;\r\n      pick(li.dataset.value);\r\n      setOpen(false);\r\n    });\r\n\r\n    select.addEventListener('change', syncUIFromSelect);\r\n\r\n    var observer = new MutationObserver(function() {\r\n      buildListItems();\r\n      syncUIFromSelect();\r\n    });\r\n    observer.observe(select, { childList: true, characterData: true, subtree: true });\r\n\r\n    document.addEventListener('click', function (e) {\r\n      if (!wrap.contains(e.target)) setOpen(false);\r\n    });\r\n\r\n    \/\/ auto-detect current site and pre-select after UI is built\r\n    autoDetect(syncUIFromSelect);\r\n  }\r\n\r\n  function autoDetect(syncUI) {\r\n    var slugMap = {\r\n      'ma': 'Morocco',\r\n      'ca': 'Canada',\r\n      'fr': 'France',\r\n      'us': 'USA',\r\n      'de': 'Deutschland',\r\n      'nl': 'Netherlands',\r\n      'uk': 'UK',\r\n      'it': 'Italy',\r\n      'es': 'Spain',\r\n      'pl': 'Poland',\r\n      'se': 'Sweden',\r\n      'pt': 'Portugal',\r\n      'ie': 'Ireland',\r\n      'gr': 'Greece',\r\n      'be': 'Belgium'\r\n    };\r\n\r\n    var parts = window.location.pathname.split('\/').filter(Boolean);\r\n    var slug = parts[0] ? parts[0].toLowerCase() : '';\r\n    var countryName = slugMap[slug] || null;\r\n    if (!countryName) return;\r\n\r\n    for (var i = 0; i < select.options.length; i++) {\r\n      if (select.options[i].text === countryName) {\r\n        select.value = select.options[i].value;\r\n        select.dispatchEvent(new Event('input',  { bubbles: true }));\r\n        select.dispatchEvent(new Event('change', { bubbles: true }));\r\n        if (syncUI) syncUI();\r\n        break;\r\n      }\r\n    }\r\n  }\r\n\r\n  if (document.readyState === 'loading') {\r\n    document.addEventListener('DOMContentLoaded', initCustomUi);\r\n  } else {\r\n    initCustomUi();\r\n  }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5bb43af8 elementor-widget elementor-widget-text-editor\" data-id=\"5bb43af8\" data-element_type=\"widget\" data-e-type=\"widget\" data-gfi=\"description\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Unsere internationale Gruppe verbindet globales Fachwissen mit lokaler Beratung \u2013 so finden wir f\u00fcr jede Herausforderung die passende L\u00f6sung.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-33d0447c e-con-full e-flex e-con e-child\" data-id=\"33d0447c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-4975aafb e-con-full e-flex e-con e-child\" data-id=\"4975aafb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5f3242b8 elementor-widget elementor-widget-text-editor\" data-id=\"5f3242b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>18<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-48391d53 elementor-widget elementor-widget-text-editor\" data-id=\"48391d53\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>L\u00e4nder<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-38a13b8e e-con-full e-flex e-con e-child\" data-id=\"38a13b8e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1e7c95f9 elementor-widget elementor-widget-text-editor\" data-id=\"1e7c95f9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>+40<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3ddfac5c elementor-widget elementor-widget-text-editor\" data-id=\"3ddfac5c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Standorte<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-31caf799 fx-flood-icon elementor-widget elementor-widget-button\" data-id=\"31caf799\" data-element_type=\"widget\" data-e-type=\"widget\" data-gfi=\"button\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\"><path d=\"M3.23438 7.75781L12.2849 7.75781\" stroke=\"#012D48\" stroke-width=\"1.29293\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><path d=\"M7.75781 3.2323L12.2831 7.75755L7.75781 12.2828\" stroke=\"#012D48\" stroke-width=\"1.29293\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Zur lokalen Website<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2222f9bf elementor-widget elementor-widget-html\" data-id=\"2222f9bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ============================================================\r\n  GFI GLOBE \u2014 Elementor HTML Widget \u2014 Three.js r128\r\n  ============================================================ -->\r\n\r\n<link rel=\"preload\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/world-atlas@2\/land-110m.json\"\r\n      as=\"fetch\" crossorigin=\"anonymous\">\r\n\r\n<style>\r\n  [data-gfi=\"globe-wrap\"] {\r\n    position: relative;\r\n    width: 100%;\r\n    height: 100%;\r\n    min-height: 550px;\r\n    overflow: hidden;\r\n  }\r\n  @media (max-width: 767px) {\r\n    [data-gfi=\"globe-wrap\"] {\r\n      min-height: 0;\r\n      height: auto;\r\n      aspect-ratio: 1 \/ 1;\r\n    }\r\n  }\r\n  @media (max-width: 768px) and (min-width: 500px) {\r\n  .gfi-select {\r\n    margin-inline: auto !important;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<div data-gfi=\"globe-wrap\">\r\n  <div data-gfi=\"canvas-mount\"\r\n       style=\"position:absolute;inset:0;width:100%;height:100%;cursor:grab;\"><\/div>\r\n  <canvas data-gfi=\"label-canvas\"\r\n          style=\"position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;\"><\/canvas>\r\n  <div data-gfi=\"tooltip\"\r\n       style=\"position:absolute;pointer-events:none;opacity:0;transition:opacity .15s;\r\n              z-index:10;white-space:nowrap;background:rgba(13,43,78,.9);color:#fff;\r\n              font:500 11px\/1 'DM Sans',sans-serif;padding:1rem;border-radius:2px;\"><\/div>\r\n<\/div>\r\n\r\n<script async src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/three.js\/r128\/three.min.js\"><\/script>\r\n<script>\r\n(function (win, doc) {\r\n  'use strict';\r\n\r\n  var R          = 1.9;\r\n  var CAM_Z      = 6.5;\r\n  var FOV        = 39;\r\n  var SPIN_SPEED = 0.10;\r\n  var DRAG_SPD   = 0.005;\r\n  var FLY_MS     = 950;\r\n  var PIN_DEF    = 0x0d2b4e;\r\n  var PIN_ACT    = 0x0078d4;\r\n  var TILT_X     = 0.15;\r\n  var LAND_URL   = 'https:\/\/cdn.jsdelivr.net\/npm\/world-atlas@2\/land-110m.json';\r\n\r\n  function computeCamZ(w, h) {\r\n    var aspect    = w \/ h;\r\n    var vFovRad   = FOV * Math.PI \/ 180;\r\n    var hFovRad   = 2 * Math.atan(Math.tan(vFovRad \/ 2) * aspect);\r\n    var zForVert  = R \/ Math.sin(vFovRad \/ 2);\r\n    var zForHoriz = R \/ Math.sin(hFovRad \/ 2);\r\n    var margin    = w < 768 ? 1.02 : 1.08;\r\n    return Math.max(CAM_Z, Math.max(zForVert, zForHoriz) * margin);\r\n  }\r\n\r\n  function sanitiseUrl(raw) {\r\n    if (typeof raw !== 'string' || !raw.trim()) return '';\r\n    try { var u = new URL(raw.trim()); return u.protocol === 'https:' ? u.href : ''; }\r\n    catch (_) { return ''; }\r\n  }\r\n\r\n  function sanitiseOffice(raw) {\r\n    if (!raw || typeof raw !== 'object' || Array.isArray(raw)) return null;\r\n    var city = typeof raw.city === 'string' ? raw.city.trim().slice(0, 120) : '';\r\n    var text = typeof raw.text === 'string' ? raw.text.trim().slice(0, 600) : '';\r\n    var lat  = typeof raw.lat === 'number' && isFinite(raw.lat) && raw.lat >= -90  && raw.lat <= 90  ? raw.lat  : null;\r\n    var lng  = typeof raw.lng === 'number' && isFinite(raw.lng) && raw.lng >= -180 && raw.lng <= 180 ? raw.lng  : null;\r\n    if (!city || lat === null || lng === null) return null;\r\n    return { city: city, text: text, lat: lat, lng: lng, link: sanitiseUrl(raw.link) };\r\n  }\r\n\r\n  function loadOffices() {\r\n    if (!Array.isArray(win.GFI_OFFICES)) return [];\r\n    var out = [];\r\n    for (var i = 0; i < win.GFI_OFFICES.length; i++) {\r\n      var o = sanitiseOffice(win.GFI_OFFICES[i]);\r\n      if (o) out.push(o);\r\n    }\r\n    return out;\r\n  }\r\n\r\n  function resolveEl(attr, selector) {\r\n    var wrap = doc.querySelector('[data-gfi=\"' + attr + '\"]');\r\n    if (!wrap) return null;\r\n    if (!selector) return wrap;\r\n    if (wrap.matches(selector)) return wrap;\r\n    return wrap.querySelector(selector) || wrap;\r\n  }\r\n\r\n  function writeText(el, str) {\r\n    if (!el) return;\r\n    var p = el.querySelector('p');\r\n    (p || el).textContent = typeof str === 'string' ? str : '';\r\n  }\r\n\r\n function wireButton(el, url) {\r\n    if (!el) return;\r\n    el.onclick = null;\r\n    el.style.pointerEvents = url ? 'auto' : 'none';\r\n    el.style.opacity       = url ? '1'    : '0.4';\r\n    if (!url) return;\r\n    var safe = url;\r\n    el.onclick = function (e) { \r\n        e.preventDefault(); \r\n        win.open(safe, '_blank', 'noopener,noreferrer'); \r\n    };\r\n    \/* \u2190 Ajoute aussi le href directement *\/\r\n    if (el.tagName === 'A') {\r\n        el.href = url;\r\n        el.target = '_blank';\r\n        el.rel = 'noopener noreferrer';\r\n    }\r\n}\r\n\r\n  function ll2v3(lat, lng, r) {\r\n    var phi   = lat * Math.PI \/ 180;\r\n    var theta = -lng * Math.PI \/ 180;\r\n    return new THREE.Vector3(\r\n      r * Math.cos(phi) * Math.cos(theta),\r\n      r * Math.sin(phi),\r\n      r * Math.cos(phi) * Math.sin(theta)\r\n    );\r\n  }\r\n\r\n  function pointInRing(lat, lng, ring) {\r\n    var x = lng, y = lat, inside = false;\r\n    for (var i = 0, j = ring.length - 1; i < ring.length; j = i++) {\r\n      var xi = ring[i][0], yi = ring[i][1];\r\n      var xj = ring[j][0], yj = ring[j][1];\r\n      if ((yi > y) !== (yj > y) &&\r\n          x < (xj - xi) * (y - yi) \/ (yj - yi) + xi) {\r\n        inside = !inside;\r\n      }\r\n    }\r\n    return inside;\r\n  }\r\n\r\n  function pointInGeometry(lat, lng, geom) {\r\n    var coords = geom.coordinates;\r\n    if (geom.type === 'Polygon') {\r\n      if (!pointInRing(lat, lng, coords[0])) return false;\r\n      for (var h = 1; h < coords.length; h++) {\r\n        if (pointInRing(lat, lng, coords[h])) return false;\r\n      }\r\n      return true;\r\n    }\r\n    if (geom.type === 'MultiPolygon') {\r\n      for (var p = 0; p < coords.length; p++) {\r\n        if (!pointInRing(lat, lng, coords[p][0])) continue;\r\n        var hole = false;\r\n        for (var h2 = 1; h2 < coords[p].length; h2++) {\r\n          if (pointInRing(lat, lng, coords[p][h2])) { hole = true; break; }\r\n        }\r\n        if (!hole) return true;\r\n      }\r\n    }\r\n    return false;\r\n  }\r\n\r\n  function decodeTopo(topology) {\r\n    var key  = Object.keys(topology.objects)[0];\r\n    var obj  = topology.objects[key];\r\n    var arcs = topology.arcs;\r\n    var tf   = topology.transform;\r\n\r\n    function decodeArc(idx) {\r\n      var rev = idx < 0; if (rev) idx = ~idx;\r\n      var arc = arcs[idx], coords = [], x = 0, y = 0;\r\n      for (var i = 0; i < arc.length; i++) {\r\n        x += arc[i][0]; y += arc[i][1];\r\n        coords.push([\r\n          tf ? x * tf.scale[0] + tf.translate[0] : arc[i][0],\r\n          tf ? y * tf.scale[1] + tf.translate[1] : arc[i][1]\r\n        ]);\r\n      }\r\n      if (rev) coords.reverse();\r\n      return coords;\r\n    }\r\n\r\n    function decodeRing(indices) {\r\n      var coords = [];\r\n      for (var i = 0; i < indices.length; i++) {\r\n        var a = decodeArc(indices[i]);\r\n        for (var j = (i > 0 ? 1 : 0); j < a.length; j++) coords.push(a[j]);\r\n      }\r\n      return coords;\r\n    }\r\n\r\n    function decodeGeom(g) {\r\n      if (g.type === 'Polygon') return { type: 'Polygon', coordinates: g.arcs.map(decodeRing) };\r\n      if (g.type === 'MultiPolygon') return { type: 'MultiPolygon', coordinates: g.arcs.map(function (p) { return p.map(decodeRing); }) };\r\n      if (g.type === 'GeometryCollection') return g.geometries.map(decodeGeom);\r\n      return g;\r\n    }\r\n\r\n    return decodeGeom(obj);\r\n  }\r\n\r\n  function computeBBox(geom) {\r\n    var minLat = 90, maxLat = -90, minLng = 180, maxLng = -180;\r\n    function scanRing(ring) {\r\n      for (var i = 0; i < ring.length; i++) {\r\n        var lng = ring[i][0], lat = ring[i][1];\r\n        if (lat < minLat) minLat = lat;\r\n        if (lat > maxLat) maxLat = lat;\r\n        if (lng < minLng) minLng = lng;\r\n        if (lng > maxLng) maxLng = lng;\r\n      }\r\n    }\r\n    var coords = geom.coordinates;\r\n    if (geom.type === 'Polygon') {\r\n      for (var r = 0; r < coords.length; r++) scanRing(coords[r]);\r\n    } else if (geom.type === 'MultiPolygon') {\r\n      for (var p = 0; p < coords.length; p++)\r\n        for (var r2 = 0; r2 < coords[p].length; r2++) scanRing(coords[p][r2]);\r\n    }\r\n    return { minLat: minLat, maxLat: maxLat, minLng: minLng, maxLng: maxLng };\r\n  }\r\n\r\n  var booted = false;\r\n\r\n  function boot() {\r\n    if (booted) return;\r\n    if (typeof THREE === 'undefined') { setTimeout(boot, 50); return; }\r\n    var mount = doc.querySelector('[data-gfi=\"canvas-mount\"]');\r\n    if (!mount || !mount.clientWidth || !mount.clientHeight) { setTimeout(boot, 80); return; }\r\n    booted = true;\r\n\r\n    fetch(LAND_URL)\r\n      .then(function (r) { return r.json(); })\r\n      .then(function (topo) {\r\n        var land = decodeTopo(topo);\r\n        var geometries = Array.isArray(land) ? land : [land];\r\n        var bboxes = [];\r\n        for (var g = 0; g < geometries.length; g++) {\r\n          bboxes.push(computeBBox(geometries[g]));\r\n        }\r\n        function isLand(lat, lng) {\r\n          for (var g = 0; g < geometries.length; g++) {\r\n            var bb = bboxes[g];\r\n            if (lat < bb.minLat || lat > bb.maxLat || lng < bb.minLng || lng > bb.maxLng) continue;\r\n            if (pointInGeometry(lat, lng, geometries[g])) return true;\r\n          }\r\n          return false;\r\n        }\r\n        run(loadOffices(), mount, isLand);\r\n      });\r\n  }\r\n\r\n  win.addEventListener('load', function () {\r\n    var mount = doc.querySelector('[data-gfi=\"globe-wrap\"]');\r\n    if (!mount) return;\r\n    if ('IntersectionObserver' in win) {\r\n      var io = new IntersectionObserver(function (entries) {\r\n        if (entries[0].isIntersecting) {\r\n          io.disconnect();\r\n          requestAnimationFrame(boot);\r\n        }\r\n      }, { rootMargin: '300px' });\r\n      io.observe(mount);\r\n    } else {\r\n      requestAnimationFrame(boot);\r\n    }\r\n  });\r\n\r\n  function run(offices, mount, isLand) {\r\n\r\n    var elSelect = resolveEl('select', 'select');\r\n    var elDesc   = resolveEl('description', '.elementor-text-editor, p, span, div');\r\n    var elBtn    = resolveEl('button', 'a.elementor-button, a, button');\r\n    var elTip    = doc.querySelector('[data-gfi=\"tooltip\"]');\r\n\r\n    if (elSelect) {\r\n      elSelect.querySelectorAll('[data-gfi-opt]').forEach(function (o) { o.remove(); });\r\n      offices.forEach(function (o, i) {\r\n        var opt = doc.createElement('option');\r\n        opt.value = String(i); opt.textContent = o.city;\r\n        opt.setAttribute('data-gfi-opt', '1');\r\n        elSelect.appendChild(opt);\r\n      });\r\n    }\r\n\r\n    var W = mount.clientWidth, H = mount.clientHeight;\r\n    var currentCamZ = computeCamZ(W, H);\r\n    var scene  = new THREE.Scene();\r\n    var camera = new THREE.PerspectiveCamera(FOV, W \/ H, 0.1, 100);\r\n    camera.position.set(0, 0, currentCamZ);\r\n\r\n    var renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true });\r\n    var maxDPR = win.innerWidth < 768 ? 1.5 : 2;\r\n    renderer.setPixelRatio(Math.min(devicePixelRatio, maxDPR));\r\n    renderer.setSize(W, H);\r\n    renderer.setClearColor(0, 0);\r\n    mount.appendChild(renderer.domElement);\r\n    renderer.domElement.style.position = 'relative';\r\n    renderer.domElement.style.zIndex   = '1';\r\n\r\n    var shadowCanvas = doc.createElement('canvas');\r\n    shadowCanvas.style.cssText = 'position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;';\r\n    mount.insertBefore(shadowCanvas, renderer.domElement);\r\n\r\n    function drawShadowRing() {\r\n      var w = mount.clientWidth, h = mount.clientHeight;\r\n      var dpr = Math.min(devicePixelRatio, maxDPR);\r\n      shadowCanvas.width  = w * dpr;\r\n      shadowCanvas.height = h * dpr;\r\n      var ctx = shadowCanvas.getContext('2d');\r\n      ctx.scale(dpr, dpr);\r\n      var globePixelR = (h \/ 2) * (R \/ currentCamZ) \/ Math.tan(FOV * Math.PI \/ 360);\r\n      var cx = w \/ 2, cy = h \/ 2;\r\n      var innerR = globePixelR * 0.88;\r\n      var outerR = globePixelR * 1.22;\r\n      var grad = ctx.createRadialGradient(cx, cy, innerR, cx, cy, outerR);\r\n      grad.addColorStop(0.0,  'rgba(170,185,200, 0)');\r\n      grad.addColorStop(0.3,  'rgba(170,185,200, 0.18)');\r\n      grad.addColorStop(0.5,  'rgba(175,190,205, 0.30)');\r\n      grad.addColorStop(0.7,  'rgba(185,195,210, 0.20)');\r\n      grad.addColorStop(0.85, 'rgba(195,205,215, 0.08)');\r\n      grad.addColorStop(1.0,  'rgba(200,210,220, 0)');\r\n      ctx.beginPath();\r\n      ctx.arc(cx, cy, outerR, 0, Math.PI * 2);\r\n      ctx.fillStyle = grad;\r\n      ctx.fill();\r\n    }\r\n    drawShadowRing();\r\n\r\n    new ResizeObserver(function () {\r\n      var w = mount.clientWidth, h = mount.clientHeight;\r\n      if (!w || !h) return;\r\n      renderer.setSize(w, h);\r\n      camera.aspect = w \/ h;\r\n      currentCamZ = computeCamZ(w, h);\r\n      camera.position.z = currentCamZ;\r\n      camera.updateProjectionMatrix();\r\n      drawShadowRing();\r\n    }).observe(mount);\r\n\r\n    scene.add(new THREE.AmbientLight(0xffffff, 1.5));\r\n    var sun = new THREE.DirectionalLight(0xffffff, 0.15);\r\n    sun.position.set(-2, 3, 5); scene.add(sun);\r\n\r\n    var G = new THREE.Group();\r\n    scene.add(G);\r\n\r\n    var globeVert = [\r\n      'varying vec3 vNormal;',\r\n      'varying vec3 vViewDir;',\r\n      'void main() {',\r\n      '  vNormal = normalize(normalMatrix * normal);',\r\n      '  vec4 mvPos = modelViewMatrix * vec4(position, 1.0);',\r\n      '  vViewDir = normalize(-mvPos.xyz);',\r\n      '  gl_Position = projectionMatrix * mvPos;',\r\n      '}'\r\n    ].join('\\n');\r\n\r\n    var globeFrag = [\r\n      'varying vec3 vNormal;',\r\n      'varying vec3 vViewDir;',\r\n      'void main() {',\r\n      '  float facing = clamp(dot(vNormal, vViewDir), 0.0, 1.0);',\r\n      '  float rim = 1.0 - facing;',\r\n      '  rim = rim * rim;',\r\n      '  vec3 centerCol = vec3(0.97, 0.975, 0.98);',\r\n      '  vec3 edgeCol   = vec3(0.82, 0.84, 0.87);',\r\n      '  gl_FragColor = vec4(mix(centerCol, edgeCol, rim), 1.0);',\r\n      '}'\r\n    ].join('\\n');\r\n\r\n    G.add(new THREE.Mesh(\r\n      new THREE.SphereGeometry(R, 64, 64),\r\n      new THREE.ShaderMaterial({ vertexShader: globeVert, fragmentShader: globeFrag })\r\n    ));\r\n\r\n    var DOT_R = 0.010;\r\n    var ROWS = 80, BASE_COLS = 160;\r\n\r\n    var gridCells = [];\r\n    for (var ri = 0; ri <= ROWS; ri++) {\r\n      var dlat = 90 - ri * (180 \/ ROWS);\r\n      var nc = Math.round(BASE_COLS * Math.cos(dlat * Math.PI \/ 180)) || 1;\r\n      for (var ci = 0; ci < nc; ci++) {\r\n        gridCells.push({ lat: dlat, lng: -180 + ci * (360 \/ nc) });\r\n      }\r\n    }\r\n\r\n    var dotPositions = [];\r\n    var CHUNK = 600;\r\n    var cursor = 0;\r\n\r\n    function processChunk() {\r\n      var end = Math.min(cursor + CHUNK, gridCells.length);\r\n      for (var i = cursor; i < end; i++) {\r\n        var c = gridCells[i];\r\n        if (!isLand(c.lat, c.lng)) continue;\r\n        var dv = ll2v3(c.lat, c.lng, R + 0.004);\r\n        dotPositions.push(dv.x, dv.y, dv.z);\r\n      }\r\n      cursor = end;\r\n      if (cursor < gridCells.length) {\r\n        requestAnimationFrame(processChunk);\r\n      } else {\r\n        buildDotMesh();\r\n      }\r\n    }\r\n\r\n    function buildDotMesh() {\r\n      var dotCount = dotPositions.length \/ 3;\r\n      var dotDummy = new THREE.Object3D();\r\n      var dotGeo   = new THREE.CircleGeometry(DOT_R, 8);\r\n      var dotMat   = new THREE.MeshBasicMaterial({ color: 0x152d45, side: THREE.DoubleSide });\r\n      var dotMesh  = new THREE.InstancedMesh(dotGeo, dotMat, dotCount);\r\n      for (var di = 0; di < dotCount; di++) {\r\n        var dx = dotPositions[di*3], dy = dotPositions[di*3+1], dz = dotPositions[di*3+2];\r\n        dotDummy.position.set(dx, dy, dz);\r\n        dotDummy.lookAt(dx * 2, dy * 2, dz * 2);\r\n        dotDummy.updateMatrix();\r\n        dotMesh.setMatrixAt(di, dotDummy.matrix);\r\n      }\r\n      dotMesh.instanceMatrix.needsUpdate = true;\r\n      G.add(dotMesh);\r\n    }\r\n\r\n    processChunk();\r\n\r\n    var pins = [];\r\n    var hitDots = []; \/\/ larger invisible hit-area spheres for easier clicking\r\n\r\n    offices.forEach(function (o) {\r\n      var pg   = new THREE.Group();\r\n      var dMat = new THREE.MeshBasicMaterial({ color: PIN_DEF });\r\n      var rMat = new THREE.MeshBasicMaterial({ color: PIN_DEF, transparent: true, opacity: 0.45 });\r\n      var dot  = new THREE.Mesh(new THREE.SphereGeometry(0.046, 12, 12), dMat);\r\n      var ring = new THREE.Mesh(new THREE.TorusGeometry(0.075, 0.008, 8, 32), rMat);\r\n\r\n      \/\/ invisible larger hit-area sphere \u2014 easier to click\/tap\r\n      var hitMat = new THREE.MeshBasicMaterial({ color: 0xffffff, transparent: true, opacity: 0 });\r\n      var hitDot = new THREE.Mesh(new THREE.SphereGeometry(0.13, 12, 12), hitMat);\r\n\r\n      pg.add(dot); pg.add(ring); pg.add(hitDot);\r\n      var pos = ll2v3(o.lat, o.lng, R + 0.012);\r\n      pg.position.copy(pos);\r\n      pg.quaternion.setFromUnitVectors(new THREE.Vector3(0,1,0), pos.clone().normalize());\r\n      G.add(pg);\r\n      pins.push({ dot: dot, dMat: dMat, ring: ring, rMat: rMat });\r\n      hitDots.push(hitDot);\r\n    });\r\n\r\n    function drawLabel() {}\r\n\r\n    var hlIdx = null, flyAnim = null;\r\n\r\n    function setHighlight(idx) {\r\n      hlIdx = idx;\r\n      pins.forEach(function (p, i) {\r\n        var on = (i === idx);\r\n        p.dMat.color.setHex(on ? PIN_ACT : PIN_DEF);\r\n        p.rMat.color.setHex(on ? PIN_ACT : PIN_DEF);\r\n        p.rMat.opacity = on ? 0.85 : 0.45;\r\n        if (!on) p.ring.scale.setScalar(1);\r\n      });\r\n    }\r\n\r\n    function targetRotY(lng) { return (-lng * Math.PI \/ 180) - Math.PI \/ 2; }\r\n\r\n    function flyTo(idx) {\r\n      if (flyAnim) flyAnim.dead = true;\r\n      setHighlight(idx);\r\n      var tY = targetRotY(offices[idx].lng);\r\n      var tX = TILT_X;\r\n      var sY = G.rotation.y, sX = G.rotation.x;\r\n      var dY = tY - sY;\r\n      dY = dY - Math.round(dY \/ (2 * Math.PI)) * 2 * Math.PI;\r\n      tY = sY + dY;\r\n      var t0 = performance.now(), tok = { dead: false };\r\n      flyAnim = tok;\r\n      (function step(now) {\r\n        if (tok.dead) return;\r\n        var e = 1 - Math.pow(1 - Math.min((now - t0) \/ FLY_MS, 1), 3);\r\n        G.rotation.y = sY + (tY - sY) * e;\r\n        G.rotation.x = sX + (tX - sX) * e;\r\n        if (e < 1) {\r\n          requestAnimationFrame(step);\r\n        } else {\r\n          if (flyAnim === tok) flyAnim = null;\r\n        }\r\n      })(t0);\r\n    }\r\n\r\n    function selectOffice(idx) {\r\n      if (idx < 0 || idx >= offices.length) return;\r\n      wireButton(elBtn, offices[idx].link);\r\n      flyTo(idx);\r\n    }\r\n\r\n    function clearSelection() {\r\n      writeText(elDesc, ''); wireButton(elBtn, '');\r\n      setHighlight(null); hlIdx = null;\r\n      if (flyAnim) { flyAnim.dead = true; flyAnim = null; }\r\n    }\r\n\r\n    if (elSelect) {\r\n      elSelect.addEventListener('change', function () {\r\n        var v = parseInt(this.value, 10);\r\n        (Number.isInteger(v) && v >= 0 && v < offices.length) ? selectOffice(v) : clearSelection();\r\n      });\r\n    }\r\n\r\n    var drag = false, px = 0, py = 0, vx = 0, vy = 0;\r\n    mount.addEventListener('mousedown', function (e) { drag = true; px = e.clientX; py = e.clientY; vx = vy = 0; });\r\n    doc.addEventListener('mouseup', function () { drag = false; });\r\n    doc.addEventListener('mousemove', function (e) {\r\n      if (!drag) return;\r\n      vx = (e.clientY - py) * DRAG_SPD; vy = (e.clientX - px) * DRAG_SPD;\r\n      G.rotation.x += vx; G.rotation.y += vy;\r\n      px = e.clientX; py = e.clientY;\r\n    });\r\n    var pt = null;\r\n    mount.addEventListener('touchstart', function (e) { pt = e.touches[0]; vx = vy = 0; }, { passive: true });\r\n    mount.addEventListener('touchmove', function (e) {\r\n      if (!pt) return; var t = e.touches[0];\r\n      vx = (t.clientY - pt.clientY) * DRAG_SPD; vy = (t.clientX - pt.clientX) * DRAG_SPD;\r\n      G.rotation.x += vx; G.rotation.y += vy; pt = t;\r\n    }, { passive: true });\r\n    mount.addEventListener('touchend', function () { pt = null; }, { passive: true });\r\n    mount.addEventListener('wheel', function (e) { e.preventDefault(); }, { passive: false });\r\n\r\n    var rc = new THREE.Raycaster(), m2 = new THREE.Vector2();\r\n    function hitPin(evt) {\r\n      var rect = renderer.domElement.getBoundingClientRect();\r\n      m2.x =  ((evt.clientX - rect.left) \/ rect.width)  * 2 - 1;\r\n      m2.y = -((evt.clientY - rect.top)  \/ rect.height) * 2 + 1;\r\n      rc.setFromCamera(m2, camera);\r\n      var hits = rc.intersectObjects(hitDots);\r\n      return hits.length ? hitDots.indexOf(hits[0].object) : -1;\r\n    }\r\n\r\n    \/* \u2500\u2500 Tooltip text removed \u2014 cursor change kept \u2500\u2500 *\/\r\n    mount.addEventListener('mousemove', function (e) {\r\n      if (drag) { return; }\r\n      var i = hitPin(e);\r\n      if (i >= 0) {\r\n        mount.style.cursor = 'pointer';\r\n      } else {\r\n        mount.style.cursor = 'grab';\r\n      }\r\n    });\r\n\r\n    \/* \u2500\u2500 UPDATED CLICK HANDLER \u2014 prevents page scroll jump \u2500\u2500 *\/\r\n    mount.addEventListener('click', function (e) {\r\n      if (vx*vx + vy*vy > 0.0002) return;\r\n      var i = hitPin(e);\r\n      if (i >= 0) {\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n\r\n        if (elSelect) elSelect.value = String(i);\r\n        selectOffice(i);\r\n\r\n        var customWrap   = document.querySelector('.gfi-select');\r\n        var customSelect = document.querySelector('.gfi-select select');\r\n        if (customWrap && customSelect) {\r\n          var cityName = offices[i].city;\r\n          Array.from(customSelect.options).forEach(function(opt) {\r\n            if (opt.text === cityName) {\r\n              customSelect.value = opt.value;\r\n              customSelect.dispatchEvent(new Event('change', { bubbles: true }));\r\n            }\r\n          });\r\n          var label = customWrap.querySelector('.gfi-select__label');\r\n          if (label) label.textContent = cityName;\r\n          var trigger = customWrap.querySelector('.gfi-select__trigger');\r\n          if (trigger) trigger.classList.remove('is-placeholder');\r\n          customWrap.querySelectorAll('.gfi-select__list li').forEach(function(li) {\r\n            li.classList.toggle('is-active', li.textContent === cityName);\r\n          });\r\n        }\r\n      }\r\n    });\r\n\r\n    \/* \u2500\u2500 Render loop \u2500\u2500 *\/\r\n    var clock = new THREE.Clock();\r\n    (function loop() {\r\n      requestAnimationFrame(loop);\r\n      var dt = clock.getDelta();\r\n      if (!drag && !flyAnim) G.rotation.y -= dt * SPIN_SPEED;\r\n      if (hlIdx !== null && pins[hlIdx]) {\r\n        pins[hlIdx].ring.scale.setScalar(1 + 0.2 * Math.sin(clock.elapsedTime * 3.8));\r\n      }\r\n      renderer.render(scene, camera);\r\n      drawLabel();\r\n    })();\r\n\r\n    \/* \u2500\u2500 Auto-detect current site and position globe \u2500\u2500 *\/\r\n    (function() {\r\n      var slugMap = {\r\n        'ma': 'Morocco',\r\n        'ca': 'Canada',\r\n        'fr': 'France',\r\n        'us': 'USA',\r\n        'de': 'Deutschland',\r\n        'nl': 'Netherlands',\r\n        'uk': 'UK',\r\n        'it': 'Italy',\r\n        'es': 'Spain',\r\n        'pl': 'Poland',\r\n        'se': 'Sweden',\r\n        'pt': 'Portugal',\r\n        'ie': 'Ireland',\r\n        'gr': 'Greece',\r\n        'be': 'Belgium'\r\n      };\r\n\r\n      var parts = win.location.pathname.split('\/').filter(Boolean);\r\n      var slug = parts[0] ? parts[0].toLowerCase() : '';\r\n      var countryName = slugMap[slug] || null;\r\n\r\n      var idx = 0; \/\/ default Morocco\r\n      if (countryName && offices.length > 0) {\r\n        for (var i = 0; i < offices.length; i++) {\r\n          if (offices[i].city === countryName) {\r\n            idx = i;\r\n            break;\r\n          }\r\n        }\r\n      }\r\n\r\n      if (offices.length > 0) {\r\n        G.rotation.y = targetRotY(offices[idx].lng);\r\n        G.rotation.x = TILT_X;\r\n        setHighlight(idx);\r\n        wireButton(elBtn, offices[idx].link);\r\n        if (elSelect) elSelect.value = String(idx);\r\n      }\r\n    })();\r\n  }\r\n\r\n}(window, document));\r\n<\/script>\t\t\t\t<\/div>\n\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\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\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>Vereinbaren Sie Ihr Beratungsgespr\u00e4ch Wir beraten jedes Jahr Tausende Kunden zu verschiedenen F\u00f6rderprogrammen. Buchen Sie hier Ihr individuelles Beratungsgespr\u00e4ch mit unserem Experten-Team. W\u00e4hlen Sie Ihren Termin Privacy policy oder schicken Sie uns eine Anfrage! Kontakt Unser Expertenteam ist f\u00fcr Sie da. Wir sind auf die individuellen Herausforderungen von Unternehmen jeder Branche vorbereitet. Sprechen Sie uns [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"_yoast_wpseo_focuskw":"Kontakt Leyton Deutschland","_yoast_wpseo_title":"Kontaktieren Sie uns | Leyton Deutschland","_yoast_wpseo_metadesc":"Wir entwickeln f\u00fcr Ihr Unternehmen eine passende F\u00f6rdermittelstrategie. Vereinbaren Sie noch heute einen Beratungstermin!","footnotes":"","_yoast_wpseo_focuskeywords":"[{\"keyword\":\"Leyton kontaktieren\",\"score\":\"61\"},{\"keyword\":\"Beratungstermin\",\"score\":\"61\"},{\"keyword\":\"F\u00f6rdermittelberatung anfragen\",\"score\":\"61\"},{\"keyword\":\"Ansprechpartner F\u00f6rdermittel\",\"score\":\"61\"},{\"keyword\":\"kostenlose Erstberatung\",\"score\":\"61\"}]","_yoast_wpseo_keywordsynonyms":"[\"Kontakt zu Leyton\",\"Kontakt aufnehmen\",\"Termin vereinbaren\",\"F\u00f6rderberatung anfragen\",\"Experten kontaktieren\",\"unverbindliche Beratung\"]"},"class_list":["post-295","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.1 (Yoast SEO v28.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Kontaktieren Sie uns | Leyton Deutschland<\/title>\n<meta name=\"description\" content=\"Wir entwickeln f\u00fcr Ihr Unternehmen eine passende F\u00f6rdermittelstrategie. Vereinbaren Sie noch heute einen Beratungstermin!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/leyton.com\/de\/kontakt\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kontakt\" \/>\n<meta property=\"og:description\" content=\"Wir entwickeln f\u00fcr Ihr Unternehmen eine passende F\u00f6rdermittelstrategie. Vereinbaren Sie noch heute einen Beratungstermin!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/leyton.com\/de\/kontakt\/\" \/>\n<meta property=\"og:site_name\" content=\"Leyton Deutschland\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-25T22:38:35+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=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/leyton.com\\\/de\\\/kontakt\\\/\",\"url\":\"https:\\\/\\\/leyton.com\\\/de\\\/kontakt\\\/\",\"name\":\"Kontaktieren Sie uns | Leyton Deutschland\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/leyton.com\\\/de\\\/#website\"},\"datePublished\":\"2026-04-27T14:29:52+00:00\",\"dateModified\":\"2026-07-25T22:38:35+00:00\",\"description\":\"Wir entwickeln f\u00fcr Ihr Unternehmen eine passende F\u00f6rdermittelstrategie. Vereinbaren Sie noch heute einen Beratungstermin!\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/leyton.com\\\/de\\\/kontakt\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/leyton.com\\\/de\\\/kontakt\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/leyton.com\\\/de\\\/kontakt\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/leyton.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kontakt\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/leyton.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/leyton.com\\\/de\\\/\",\"name\":\"Leyton Deutschland\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/leyton.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/leyton.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/leyton.com\\\/de\\\/#organization\",\"name\":\"Leyton Deutschland\",\"url\":\"https:\\\/\\\/leyton.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/leyton.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/leyton.com\\\/wp-content\\\/blogs.dir\\\/7\\\/files\\\/2026\\\/01\\\/logo.svg\",\"contentUrl\":\"https:\\\/\\\/leyton.com\\\/wp-content\\\/blogs.dir\\\/7\\\/files\\\/2026\\\/01\\\/logo.svg\",\"width\":108,\"height\":44,\"caption\":\"Leyton Deutschland\"},\"image\":{\"@id\":\"https:\\\/\\\/leyton.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kontaktieren Sie uns | Leyton Deutschland","description":"Wir entwickeln f\u00fcr Ihr Unternehmen eine passende F\u00f6rdermittelstrategie. Vereinbaren Sie noch heute einen Beratungstermin!","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:\/\/leyton.com\/de\/kontakt\/","og_locale":"de_DE","og_type":"article","og_title":"Kontakt","og_description":"Wir entwickeln f\u00fcr Ihr Unternehmen eine passende F\u00f6rdermittelstrategie. Vereinbaren Sie noch heute einen Beratungstermin!","og_url":"https:\/\/leyton.com\/de\/kontakt\/","og_site_name":"Leyton Deutschland","article_modified_time":"2026-07-25T22:38:35+00:00","twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/leyton.com\/de\/kontakt\/","url":"https:\/\/leyton.com\/de\/kontakt\/","name":"Kontaktieren Sie uns | Leyton Deutschland","isPartOf":{"@id":"https:\/\/leyton.com\/de\/#website"},"datePublished":"2026-04-27T14:29:52+00:00","dateModified":"2026-07-25T22:38:35+00:00","description":"Wir entwickeln f\u00fcr Ihr Unternehmen eine passende F\u00f6rdermittelstrategie. Vereinbaren Sie noch heute einen Beratungstermin!","breadcrumb":{"@id":"https:\/\/leyton.com\/de\/kontakt\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/leyton.com\/de\/kontakt\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/leyton.com\/de\/kontakt\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/leyton.com\/de\/"},{"@type":"ListItem","position":2,"name":"Kontakt"}]},{"@type":"WebSite","@id":"https:\/\/leyton.com\/de\/#website","url":"https:\/\/leyton.com\/de\/","name":"Leyton Deutschland","description":"","publisher":{"@id":"https:\/\/leyton.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/leyton.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/leyton.com\/de\/#organization","name":"Leyton Deutschland","url":"https:\/\/leyton.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/leyton.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/leyton.com\/wp-content\/blogs.dir\/7\/files\/2026\/01\/logo.svg","contentUrl":"https:\/\/leyton.com\/wp-content\/blogs.dir\/7\/files\/2026\/01\/logo.svg","width":108,"height":44,"caption":"Leyton Deutschland"},"image":{"@id":"https:\/\/leyton.com\/de\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/leyton.com\/de\/wp-json\/wp\/v2\/pages\/295","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/leyton.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/leyton.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/leyton.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/leyton.com\/de\/wp-json\/wp\/v2\/comments?post=295"}],"version-history":[{"count":39,"href":"https:\/\/leyton.com\/de\/wp-json\/wp\/v2\/pages\/295\/revisions"}],"predecessor-version":[{"id":2634,"href":"https:\/\/leyton.com\/de\/wp-json\/wp\/v2\/pages\/295\/revisions\/2634"}],"wp:attachment":[{"href":"https:\/\/leyton.com\/de\/wp-json\/wp\/v2\/media?parent=295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}