{"id":17793,"date":"2025-08-14T11:23:39","date_gmt":"2025-08-14T09:23:39","guid":{"rendered":"https:\/\/gdcyc.de\/?page_id=17793"},"modified":"2026-03-14T14:42:11","modified_gmt":"2026-03-14T13:42:11","slug":"regions","status":"publish","type":"page","link":"https:\/\/gdcyc.de\/index.php\/regions\/","title":{"rendered":"federation"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"17793\" class=\"elementor elementor-17793\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5a8a272 e-flex e-con-boxed e-con e-parent\" data-id=\"5a8a272\" 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-3c98901 elementor-widget elementor-widget-shortcode\" data-id=\"3c98901\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">    <style>\n      .gdcyc-menu-shell,\n      .gdcyc-menu-shell *{\n        box-sizing:border-box;\n      }\n\n      .gdcyc-menu-shell{\n        width:100%;\n        max-width:1240px;\n        margin:14px auto 12px auto;\n        padding:0 8px;\n        font-family:'Roboto',system-ui,-apple-system,\"Segoe UI\",Arial,sans-serif;\n        color:#fff;\n      }\n\n      .gdcyc-menu-card{\n        position:relative;\n        overflow:hidden;\n        border-radius:28px;\n        padding:14px 16px;\n        background:\n          linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px),\n          linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px),\n          radial-gradient(circle at 10% 18%, rgba(255,206,0,.18) 0%, transparent 24%),\n          radial-gradient(circle at 84% 14%, rgba(221,0,0,.18) 0%, transparent 25%),\n          radial-gradient(circle at 58% 82%, rgba(255,255,255,.05) 0%, transparent 18%),\n          linear-gradient(135deg, rgba(8,8,8,.98) 0%, rgba(20,20,20,.98) 42%, rgba(58,0,0,.96) 72%, rgba(120,92,0,.93) 100%);\n        background-size:42px 42px,42px 42px,auto,auto,auto,auto;\n        border:1px solid rgba(255,255,255,.11);\n        box-shadow:\n          0 18px 50px rgba(0,0,0,.34),\n          inset 0 1px 0 rgba(255,255,255,.05),\n          inset 0 0 40px rgba(255,255,255,.02);\n      }\n\n      .gdcyc-menu-card::before{\n        content:\"\";\n        position:absolute;\n        inset:-1px;\n        border-radius:inherit;\n        pointer-events:none;\n        background:linear-gradient(135deg, rgba(255,255,255,.12), transparent 22%, transparent 76%, rgba(255,206,0,.08));\n        mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n        -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n        padding:1px;\n        mask-composite:exclude;\n        -webkit-mask-composite:xor;\n      }\n\n      .gdcyc-menu-card::after{\n        content:\"\";\n        position:absolute;\n        inset:0;\n        pointer-events:none;\n        background:radial-gradient(circle at center, rgba(255,255,255,.03), transparent 50%);\n        opacity:.9;\n      }\n\n      .gdcyc-menu-top{\n        display:flex;\n        align-items:center;\n        justify-content:space-between;\n        gap:12px;\n        flex-wrap:wrap;\n        margin-bottom:10px;\n        position:relative;\n        z-index:2;\n      }\n\n      .gdcyc-menu-brand{\n        display:flex;\n        align-items:center;\n        gap:14px;\n        min-width:0;\n        flex:1 1 auto;\n      }\n\n      .gdcyc-menu-brand-logo{\n        position:relative;\n        width:76px;\n        height:76px;\n        border-radius:20px;\n        display:flex;\n        align-items:center;\n        justify-content:center;\n        flex:0 0 auto;\n        background:\n          radial-gradient(circle at 30% 25%, rgba(255,255,255,.16), transparent 42%),\n          linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));\n        border:1px solid rgba(255,255,255,.15);\n        box-shadow:\n          0 10px 28px rgba(0,0,0,.35),\n          inset 0 1px 0 rgba(255,255,255,.08),\n          0 0 0 1px rgba(255,255,255,.03);\n        overflow:hidden;\n      }\n\n      .gdcyc-menu-brand-logo::before{\n        content:\"\";\n        position:absolute;\n        inset:6px;\n        border-radius:16px;\n        background:linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.01));\n        border:1px solid rgba(255,255,255,.08);\n        pointer-events:none;\n      }\n\n      .gdcyc-menu-brand img{\n        position:relative;\n        z-index:2;\n        width:60px;\n        height:60px;\n        object-fit:contain;\n        filter:\n          drop-shadow(0 4px 10px rgba(0,0,0,.55))\n          drop-shadow(0 0 12px rgba(255,255,255,.08));\n        flex:0 0 auto;\n      }\n\n      .gdcyc-menu-brandtext{\n        display:flex;\n        flex-direction:column;\n        gap:2px;\n        min-width:0;\n      }\n\n      .gdcyc-menu-kicker{\n        font-size:.72rem;\n        letter-spacing:.12em;\n        text-transform:uppercase;\n        color:rgba(255,255,255,.72);\n        line-height:1.1;\n      }\n\n      .gdcyc-menu-title{\n        font-size:1.08rem;\n        font-weight:800;\n        line-height:1.05;\n        color:#fff;\n        white-space:nowrap;\n        overflow:hidden;\n        text-overflow:ellipsis;\n        text-shadow:0 1px 10px rgba(255,255,255,.06);\n      }\n\n      .gdcyc-menu-sub{\n        font-size:.84rem;\n        color:rgba(255,255,255,.82);\n        line-height:1.2;\n      }\n\n      .gdcyc-lang-desktop{\n        display:flex;\n        align-items:center;\n        gap:8px;\n        flex:0 0 auto;\n      }\n\n      .gdcyc-lang-mobile{\n        display:none;\n        align-items:center;\n        gap:6px;\n        margin:0;\n        position:relative;\n        z-index:2;\n        flex:0 0 auto;\n      }\n\n      .gdcyc-menu-shell label,\n      .gdcyc-menu-shell #label-lang,\n      .gdcyc-menu-shell #tabsLangMobileLabel{\n        color:#fff !important;\n        font-weight:700;\n        white-space:nowrap;\n        font-size:13px;\n      }\n\n      .lang-select{\n        min-width:150px;\n        height:42px;\n        padding:0 12px;\n        border-radius:14px;\n        border:1px solid rgba(255,255,255,.15);\n        background:linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,.07));\n        color:#fff !important;\n        font-size:13px;\n        line-height:42px;\n        appearance:auto;\n        -webkit-appearance:menulist;\n        box-shadow:0 6px 18px rgba(0,0,0,.10);\n        outline:none;\n      }\n\n      .lang-select:focus{\n        border-color:rgba(255,206,0,.30);\n        box-shadow:0 0 0 3px rgba(255,206,0,.09);\n      }\n\n      .lang-select option{\n        background:#171717;\n        color:#fff;\n      }\n\n      .topbar{\n        display:flex;\n        gap:10px;\n        align-items:center;\n        justify-content:space-between;\n        margin-bottom:0;\n        flex-wrap:wrap;\n        position:relative;\n        z-index:2;\n      }\n\n      .gdcyc-menu-nav.tabs{\n        display:flex;\n        gap:8px;\n        flex-wrap:wrap;\n        overflow-x:auto;\n        -webkit-overflow-scrolling:touch;\n        scrollbar-width:none;\n        width:100%;\n      }\n\n      .gdcyc-menu-nav.tabs::-webkit-scrollbar{\n        display:none;\n      }\n\n      .tab-btn{\n        display:inline-flex;\n        align-items:center;\n        justify-content:center;\n        gap:8px;\n        min-height:42px;\n        padding:9px 14px;\n        border-radius:15px;\n        border:1px solid rgba(255,255,255,.14);\n        background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.055));\n        color:#fff !important;\n        text-decoration:none !important;\n        cursor:pointer;\n        font-size:13px;\n        font-weight:700;\n        box-shadow:0 7px 18px rgba(0,0,0,.10);\n        transition:transform .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease;\n        white-space:nowrap;\n        backdrop-filter:blur(8px);\n      }\n\n      .tab-btn:hover{\n        transform:translateY(-1px);\n        background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.08));\n        border-color:rgba(255,255,255,.20);\n      }\n\n      .tab-btn.active{\n        background:linear-gradient(135deg,#0d0d0d 0%, #2c2c2c 34%, #dd0000 66%, #ffce00 100%);\n        color:#ffffff !important;\n        font-weight:800;\n        border-color:transparent;\n        box-shadow:\n          0 12px 28px rgba(0,0,0,.18),\n          0 0 18px rgba(255,206,0,.10);\n      }\n\n      .gdcyc-tab-logo-wrap{\n        width:22px;\n        height:22px;\n        display:inline-flex;\n        align-items:center;\n        justify-content:center;\n        border-radius:7px;\n        background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.06));\n        border:1px solid rgba(255,255,255,.16);\n        box-shadow:\n          0 4px 10px rgba(0,0,0,.18),\n          inset 0 1px 0 rgba(255,255,255,.06);\n        overflow:hidden;\n        flex:0 0 auto;\n      }\n\n      .gdcyc-tab-logo{\n        width:17px;\n        height:17px;\n        object-fit:contain;\n        display:block;\n        filter:\n          drop-shadow(0 2px 4px rgba(0,0,0,.55))\n          drop-shadow(0 0 6px rgba(255,255,255,.08));\n      }\n\n      .tabs-dropdown{\n        display:none;\n        width:100%;\n        margin:0;\n        position:relative;\n        z-index:2;\n        flex:1 1 auto;\n      }\n\n      .tabs-trigger{\n        width:100%;\n        min-height:44px;\n        padding:10px 12px;\n        border-radius:15px;\n        border:1px solid rgba(255,255,255,.16);\n        background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.07));\n        color:#fff;\n        display:flex;\n        align-items:center;\n        justify-content:space-between;\n        gap:10px;\n        cursor:pointer;\n        font-size:13px;\n        box-shadow:0 7px 18px rgba(0,0,0,.10);\n        backdrop-filter:blur(8px);\n      }\n\n      .tabs-trigger .label{\n        opacity:.82;\n        font-weight:700;\n        flex:0 0 auto;\n      }\n\n      .tabs-trigger .val{\n        font-weight:800;\n        opacity:.98;\n        margin-left:auto;\n        text-align:right;\n        white-space:nowrap;\n        overflow:hidden;\n        text-overflow:ellipsis;\n      }\n\n      .tabs-trigger .chev{\n        opacity:.85;\n        flex:0 0 auto;\n        font-size:12px;\n      }\n\n      .fs-overlay{\n        position:fixed;\n        inset:0;\n        background:rgba(10,12,16,.54);\n        backdrop-filter:blur(6px);\n        display:none;\n        z-index:99998;\n      }\n\n      .fs-sheet{\n        position:fixed;\n        left:0;\n        right:0;\n        bottom:0;\n        border-top-left-radius:20px;\n        border-top-right-radius:20px;\n        background:\n          radial-gradient(circle at top left, rgba(255,206,0,.16), transparent 32%),\n          radial-gradient(circle at top right, rgba(221,0,0,.18), transparent 30%),\n          linear-gradient(135deg,#0c0c0c,#181818,#360000,#6d5600);\n        color:#e8edf7;\n        padding:14px;\n        transform:translateY(100%);\n        transition:transform .25s ease;\n        z-index:99999;\n        max-height:72vh;\n        overflow:auto;\n        box-shadow:0 -20px 50px rgba(0,0,0,.42);\n      }\n\n      .fs-sheet.show{\n        transform:none;\n      }\n\n      .fs-title{\n        font-size:1rem;\n        font-weight:800;\n        margin:4px 0 10px;\n      }\n\n      .fs-options{\n        display:flex;\n        flex-direction:column;\n        gap:8px;\n      }\n\n      .fs-opt{\n        display:flex;\n        align-items:center;\n        justify-content:space-between;\n        gap:12px;\n        padding:12px 14px;\n        border-radius:14px;\n        cursor:pointer;\n        background:rgba(255,255,255,.06);\n        border:1px solid rgba(255,255,255,.12);\n        transition:background .18s ease, transform .18s ease, border-color .18s ease;\n      }\n\n      .fs-opt:hover{\n        transform:translateY(-1px);\n        background:rgba(255,255,255,.08);\n        border-color:rgba(255,255,255,.18);\n      }\n\n      .fs-opt[aria-selected=\"true\"]{\n        outline:2px solid rgba(255,206,0,.32);\n        background:linear-gradient(135deg, rgba(255,206,0,.18), rgba(221,0,0,.18));\n        border-color:rgba(255,255,255,.22);\n      }\n\n      .fs-close{\n        display:flex;\n        justify-content:center;\n        margin-top:12px;\n      }\n\n      .fs-close button{\n        background:transparent;\n        border:1px solid rgba(255,255,255,.24);\n        color:#fff;\n        border-radius:14px;\n        padding:10px 14px;\n        cursor:pointer;\n        min-width:120px;\n        font-weight:700;\n      }\n\n      @media (max-width:860px){\n        .gdcyc-menu-card{\n          border-radius:24px;\n        }\n\n        .gdcyc-menu-title{\n          font-size:1rem;\n        }\n\n        .gdcyc-menu-sub{\n          font-size:.81rem;\n        }\n\n        .gdcyc-menu-brand-logo{\n          width:68px;\n          height:68px;\n          border-radius:18px;\n        }\n\n        .gdcyc-menu-brand img{\n          width:54px;\n          height:54px;\n        }\n      }\n\n      @media (max-width:640px){\n        .gdcyc-menu-shell{\n          margin:4px auto 6px auto;\n          padding:0 4px;\n        }\n\n        .gdcyc-menu-card{\n          padding:8px;\n          border-radius:14px;\n          box-shadow:\n            0 10px 22px rgba(0,0,0,.22),\n            inset 0 1px 0 rgba(255,255,255,.04);\n        }\n\n        .gdcyc-menu-top{\n          margin-bottom:6px;\n          gap:6px;\n          align-items:center;\n        }\n\n        .gdcyc-menu-brand{\n          gap:8px;\n          min-width:0;\n        }\n\n        .gdcyc-menu-brand-logo{\n          width:42px;\n          height:42px;\n          border-radius:11px;\n        }\n\n        .gdcyc-menu-brand-logo::before{\n          inset:3px;\n          border-radius:8px;\n        }\n\n        .gdcyc-menu-brand img{\n          width:32px;\n          height:32px;\n        }\n\n        .gdcyc-menu-kicker{\n          display:none !important;\n        }\n\n        .gdcyc-menu-title{\n          font-size:.78rem;\n          line-height:1;\n        }\n\n        .gdcyc-menu-sub{\n          display:none !important;\n        }\n\n        .gdcyc-lang-desktop{\n          display:none !important;\n        }\n\n        .gdcyc-menu-nav.tabs{\n          display:none !important;\n        }\n\n        .topbar{\n          display:flex;\n          align-items:center;\n          gap:6px;\n          flex-wrap:nowrap;\n          width:100%;\n        }\n\n        .gdcyc-lang-mobile{\n          display:flex !important;\n          flex:0 0 108px;\n          width:108px;\n          min-width:108px;\n          max-width:108px;\n        }\n\n        .gdcyc-lang-mobile label{\n          display:none !important;\n        }\n\n        .lang-select{\n          min-width:unset;\n          width:100%;\n          height:32px;\n          padding:0 8px;\n          font-size:11px;\n          border-radius:10px;\n          line-height:32px;\n        }\n\n        .tabs-dropdown{\n          display:flex !important;\n          flex:1 1 auto;\n          width:auto !important;\n          max-width:none !important;\n          margin:0;\n        }\n\n        .tabs-trigger{\n          min-height:32px;\n          padding:6px 9px;\n          border-radius:10px;\n          font-size:11px;\n          gap:6px;\n        }\n\n        .tabs-trigger .label{\n          font-size:11px;\n        }\n\n        .tabs-trigger .val{\n          font-size:11px;\n          max-width:70%;\n        }\n\n        .tabs-trigger .chev{\n          font-size:10px;\n        }\n\n        .gdcyc-tab-logo-wrap{\n          width:18px;\n          height:18px;\n          border-radius:5px;\n        }\n\n        .gdcyc-tab-logo{\n          width:14px;\n          height:14px;\n        }\n\n        .fs-sheet{\n          padding:12px;\n          border-top-left-radius:18px;\n          border-top-right-radius:18px;\n          max-height:75vh;\n        }\n\n        .fs-title{\n          font-size:.92rem;\n        }\n\n        .fs-opt{\n          padding:10px 12px;\n          border-radius:12px;\n          font-size:13px;\n        }\n\n        .fs-close button{\n          padding:9px 12px;\n          border-radius:12px;\n          font-size:13px;\n        }\n\n        #tabsDropdownWrap,\n        .tabs-dropdown,\n        #tabsDropdownBtn,\n        .tabs-trigger{\n          width:100% !important;\n        }\n      }\n    <\/style>\n\n    <div class=\"gdcyc-menu-shell\">\n      <div class=\"gdcyc-menu-card\">\n\n        <script>\n          (function ensureLangBootstrap(){\n            if (window.GDCYC_LANG && typeof window.GDCYC_LANG.get === 'function' && typeof window.GDCYC_LANG.set === 'function') {\n              try {\n                if (typeof window.GDCYC_LANG.applyToSelects === 'function') {\n                  window.GDCYC_LANG.applyToSelects();\n                }\n              } catch(e){}\n              return;\n            }\n\n            const KEY = 'gdcyc_lang';\n            const COOKIE_DOMAIN = \".gdcyc.de\";\n\n            function readCookie(name){\n              const hit = document.cookie.split('; ').find(function(r){\n                return r.startsWith(name + '=');\n              });\n              return hit ? decodeURIComponent(hit.split('=')[1]) : '';\n            }\n\n            function writeCookie(val){\n              try{\n                let cookie = KEY + '=' + encodeURIComponent(val) + '; path=\/; max-age=' + (3600*24*365);\n                if (COOKIE_DOMAIN) cookie += '; domain=' + COOKIE_DOMAIN;\n                document.cookie = cookie;\n              }catch(e){}\n            }\n\n            function detect(){\n              try{\n                const qp = new URLSearchParams(window.location.search);\n                const q = (qp.get('lang') || '').toLowerCase();\n                if (['de','fr','en'].includes(q)) return q;\n              }catch(e){}\n\n              try{\n                const ls = localStorage.getItem(KEY);\n                if (ls && ['de','fr','en'].includes(ls)) return ls;\n              }catch(e){}\n\n              const ck = (readCookie(KEY) || '').toLowerCase();\n              if (['de','fr','en'].includes(ck)) return ck;\n\n              const nav = (navigator.language || '').toLowerCase();\n              if (nav.startsWith('de')) return 'de';\n              if (nav.startsWith('fr')) return 'fr';\n              return 'en';\n            }\n\n            function currentPageWithLang(lang){\n              try{\n                const u = new URL(window.location.href);\n                u.searchParams.set('lang', lang);\n                return u.toString();\n              }catch(e){\n                return window.location.href;\n              }\n            }\n\n            function pageAlreadyOnLang(lang){\n              try{\n                const u = new URL(window.location.href);\n                return (u.searchParams.get('lang') || '').toLowerCase() === lang;\n              }catch(e){\n                return false;\n              }\n            }\n\n            window.currentLang = detect();\n\n            window.GDCYC_LANG = {\n              get(){ return window.currentLang || 'de'; },\n\n              set(v, reloadPage){\n                v = (v || '').toLowerCase();\n                if (!['de','fr','en'].includes(v)) return;\n\n                try { localStorage.setItem(KEY, v); } catch(e){}\n                writeCookie(v);\n                window.currentLang = v;\n\n                try{\n                  window.dispatchEvent(new CustomEvent('gdcyc:lang-change', { detail:{ lang:v } }));\n                }catch(e){}\n\n                if (typeof this.applyToSelects === 'function') {\n                  this.applyToSelects();\n                }\n\n                if (reloadPage === true) {\n                  const target = currentPageWithLang(v);\n                  if (!pageAlreadyOnLang(v) || window.location.href !== target) {\n                    window.location.href = target;\n                  }\n                }\n              },\n\n              applyToSelects(){\n                const lang = this.get();\n\n                document.querySelectorAll('select#lang, select.lang-select, select#tabsLangMobileSelect').forEach((sel) => {\n                  if (sel.value !== lang) sel.value = lang;\n\n                  if (!sel._gdcycBoundLang) {\n                    sel.addEventListener('change', (e) => {\n                      const v = (e.target.value || '').toLowerCase();\n                      if (['de','fr','en'].includes(v)) {\n                        this.set(v, true);\n                      }\n                    });\n                    sel._gdcycBoundLang = true;\n                  }\n                });\n\n                const map = { de:'Sprache', fr:'Langue', en:'Language' };\n\n                const lbl = document.getElementById('label-lang');\n                if (lbl) lbl.textContent = map[lang] || 'Sprache';\n\n                const mobLbl = document.getElementById('tabsLangMobileLabel');\n                if (mobLbl) mobLbl.textContent = map[lang] || 'Sprache';\n              },\n\n              withLangParam(url){\n                try{\n                  const u = new URL(url, window.location.origin);\n                  u.searchParams.set('lang', this.get());\n                  return u.toString();\n                }catch(e){\n                  return url;\n                }\n              }\n            };\n\n            try { window.GDCYC_LANG.applyToSelects(); } catch(e){}\n          })();\n        <\/script>\n\n        <div class=\"gdcyc-menu-top\">\n          <div class=\"gdcyc-menu-brand\">\n            <span class=\"gdcyc-menu-brand-logo\">\n              <img decoding=\"async\" src=\"http:\/\/gdcyc.de\/wp-content\/uploads\/2026\/04\/5c0bcbbc-066e-4c73-8373-4274bf34b5a7-1-e1775211387195.png\" alt=\"GDCYC Deutschland\">\n            <\/span>\n            <div class=\"gdcyc-menu-brandtext\">\n              <div class=\"gdcyc-menu-kicker\" id=\"gdcycMenuKicker\">GDCYC DEUTSCHLAND<\/div>\n              <div class=\"gdcyc-menu-title\" id=\"gdcycMenuTitle\">Navigation<\/div>\n              <div class=\"gdcyc-menu-sub\" id=\"gdcycMenuSub\">Schnellzugriff auf die Bereiche<\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"gdcyc-lang-desktop\">\n            <label for=\"lang\" id=\"label-lang\">Sprache<\/label>\n            <select id=\"lang\" class=\"lang-select\" aria-label=\"Language\">\n              <option value=\"de\">Deutsch<\/option>\n              <option value=\"fr\">Fran\u00e7ais<\/option>\n              <option value=\"en\">English<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n\n        <script>\n          (function(){\n            var TABS = {\n              de: {\n                label_lang:'Sprache',\n                menu:'Men\u00fc',\n                close:'Schlie\u00dfen',\n                kicker:'GDCYC DEUTSCHLAND',\n                title:'Navigation',\n                sub:'Schnellzugriff auf die Bereiche',\n                germany:'Deutschland',\n                regions:'Regionen',\n                ic:'National',\n                gdc:'GDC',\n                reglement:'Reglement',\n                facebook:'Facebook-Seite folgen',\n                belgique:'Belgien',\n                france:'Frankreich'\n              },\n              fr: {\n                label_lang:'Langue',\n                menu:'Menu',\n                close:'Fermer',\n                kicker:'GDCYC ALLEMAGNE',\n                title:'Navigation',\n                sub:'Acc\u00e8s rapide aux sections',\n                germany:'Allemagne',\n                regions:'R\u00e9gions',\n                ic:'National',\n                gdc:'GDC',\n                reglement:'R\u00e8glement',\n                facebook:'Rejoindre page Facebook',\n                belgique:'Belgique',\n                france:'France'\n              },\n              en: {\n                label_lang:'Language',\n                menu:'Menu',\n                close:'Close',\n                kicker:'GDCYC GERMANY',\n                title:'Navigation',\n                sub:'Quick access to sections',\n                germany:'Germany',\n                regions:'Regions',\n                ic:'National',\n                gdc:'GDC',\n                reglement:'Rules',\n                facebook:'Join Facebook page',\n                belgique:'Belgium',\n                france:'France'\n              }\n            };\n\n            window.gdcycMenuTabsI18n = TABS;\n          })();\n        <\/script>\n\n        <div class=\"topbar\">\n\n          <div class=\"gdcyc-lang-mobile\" id=\"tabsLangDropdownWrap\">\n            <label for=\"tabsLangMobileSelect\" id=\"tabsLangMobileLabel\">Sprache<\/label>\n            <select id=\"tabsLangMobileSelect\" class=\"lang-select\" aria-label=\"Language\">\n              <option value=\"de\">DE<\/option>\n              <option value=\"fr\">FR<\/option>\n              <option value=\"en\">EN<\/option>\n            <\/select>\n          <\/div>\n\n          <div class=\"tabs-dropdown\" id=\"tabsDropdownWrap\">\n            <button type=\"button\" class=\"tabs-trigger\" id=\"tabsDropdownBtn\" aria-haspopup=\"listbox\" aria-expanded=\"false\">\n              <span class=\"label\">Men\u00fc<\/span>\n              <span class=\"val\">\n                \ud83d\uddfa\ufe0f Regionen              <\/span>\n              <span class=\"chev\">\u25be<\/span>\n            <\/button>\n          <\/div>\n\n          <div class=\"tabs gdcyc-menu-nav\" role=\"tablist\">\n            <a href=\"https:\/\/gdcyc.de\/\"\n               class=\"tab-btn \"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnGermany\">\n              \ud83c\udde9\ud83c\uddea <span id=\"tabLabelGermany\">Deutschland<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.de\/index.php\/regions\/\"\n               class=\"tab-btn active\"\n               role=\"tab\"\n               aria-selected=\"true\"\n               id=\"tabBtnRegions\">\n              \ud83d\uddfa\ufe0f <span id=\"tabLabelRegions\">Regionen<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.de\/index.php\/ic\/\"\n               class=\"tab-btn \"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnIC\">\n              \ud83c\udfc1 <span id=\"tabLabelIC\">National<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.de\/index.php\/gdc\/\"\n               class=\"tab-btn \"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnGdc\">\n              <span class=\"gdcyc-tab-logo-wrap\"><img decoding=\"async\" src=\"http:\/\/gdcyc.de\/wp-content\/uploads\/2025\/08\/94fd71ef-e006-4cd3-8d83-8670bfa5b58e-e1773434635606.png\" alt=\"GDCYC\" class=\"gdcyc-tab-logo\"><\/span> <span id=\"tabLabelGdc\">GDC<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.de\/index.php\/reglement\/\"\n               class=\"tab-btn \"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnReglement\">\n              \ud83d\udcdc <span id=\"tabLabelReglement\">Reglement<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/www.facebook.com\/profile.php?id=61559222925474\"\n               class=\"tab-btn\"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnFacebook\">\n              <span style=\"\n      width:18px;\n      height:18px;\n      border-radius:5px;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      background:linear-gradient(135deg,#1877F2 0%, #0d5fd3 100%);\n      color:#fff;\n      font-weight:900;\n      font-size:13px;\n      font-family:Arial,sans-serif;\n      line-height:1;\n      vertical-align:middle;\n      box-shadow:0 2px 6px rgba(24,119,242,.35);\n      flex:0 0 auto;\n    \">f<\/span> <span id=\"tabLabelFacebook\">Facebook-Seite folgen<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.be\"\n               class=\"tab-btn\"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnBelgique\">\n              \ud83c\udde7\ud83c\uddea <span id=\"tabLabelBelgique\">Belgique<\/span>\n            <\/a>\n\n            <a href=\"https:\/\/gdcyc.fr\"\n               class=\"tab-btn\"\n               role=\"tab\"\n               aria-selected=\"false\"\n               id=\"tabBtnFrance\">\n              \ud83c\uddeb\ud83c\uddf7 <span id=\"tabLabelFrance\">France<\/span>\n            <\/a>\n          <\/div>\n        <\/div>\n\n        <div class=\"fs-overlay\" id=\"tabsFsOverlay\" hidden><\/div>\n        <div class=\"fs-sheet\" id=\"tabsFsSheet\" role=\"listbox\" aria-label=\"Menu\">\n          <div class=\"fs-title\">Men\u00fc<\/div>\n          <div class=\"fs-options\">\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"germany\"\n                   data-url=\"https:\/\/gdcyc.de\/\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83c\udde9\ud83c\uddea<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">Deutschland<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"regions\"\n                   data-url=\"https:\/\/gdcyc.de\/index.php\/regions\/\"\n                   aria-selected=\"true\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83d\uddfa\ufe0f<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">Regionen<\/span>\n                <\/div>\n                <span class=\"fs-check\">\u2713<\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"ic\"\n                   data-url=\"https:\/\/gdcyc.de\/index.php\/ic\/\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83c\udfc1<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">National<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"gdc\"\n                   data-url=\"https:\/\/gdcyc.de\/index.php\/gdc\/\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span><span class=\"gdcyc-tab-logo-wrap\"><img decoding=\"async\" src=\"http:\/\/gdcyc.de\/wp-content\/uploads\/2025\/08\/94fd71ef-e006-4cd3-8d83-8670bfa5b58e-e1773434635606.png\" alt=\"GDCYC\" class=\"gdcyc-tab-logo\"><\/span><\/span>\n                  <span class=\"gdcyc-menu-opt-label\">GDC<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"reglement\"\n                   data-url=\"https:\/\/gdcyc.de\/index.php\/reglement\/\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83d\udcdc<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">Reglement<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"facebook\"\n                   data-url=\"https:\/\/www.facebook.com\/profile.php?id=61559222925474\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span><span style=\"\n      width:18px;\n      height:18px;\n      border-radius:5px;\n      display:inline-flex;\n      align-items:center;\n      justify-content:center;\n      background:linear-gradient(135deg,#1877F2 0%, #0d5fd3 100%);\n      color:#fff;\n      font-weight:900;\n      font-size:13px;\n      font-family:Arial,sans-serif;\n      line-height:1;\n      vertical-align:middle;\n      box-shadow:0 2px 6px rgba(24,119,242,.35);\n      flex:0 0 auto;\n    \">f<\/span><\/span>\n                  <span class=\"gdcyc-menu-opt-label\">Facebook-Seite folgen<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"belgique\"\n                   data-url=\"https:\/\/gdcyc.be\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83c\udde7\ud83c\uddea<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">Belgique<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                          <div class=\"fs-opt\"\n                   role=\"option\"\n                   data-slug=\"france\"\n                   data-url=\"https:\/\/gdcyc.fr\"\n                   aria-selected=\"false\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                  <span>\ud83c\uddeb\ud83c\uddf7<\/span>\n                  <span class=\"gdcyc-menu-opt-label\">France<\/span>\n                <\/div>\n                <span class=\"fs-check\"><\/span>\n              <\/div>\n                      <\/div>\n          <div class=\"fs-close\"><button type=\"button\" id=\"tabsFsClose\">Schlie\u00dfen<\/button><\/div>\n        <\/div>\n\n        <script>\n          (function(){\n            var btn   = document.getElementById('tabsDropdownBtn');\n            var ovl   = document.getElementById('tabsFsOverlay');\n            var sheet = document.getElementById('tabsFsSheet');\n            var close = document.getElementById('tabsFsClose');\n            var TABS  = window.gdcycMenuTabsI18n || {};\n\n            function getLang(){\n              return (window.GDCYC_LANG && typeof window.GDCYC_LANG.get === 'function')\n                ? window.GDCYC_LANG.get()\n                : (window.currentLang || 'de');\n            }\n\n            function navigateTo(url){\n              if (!url) return;\n\n              var isExternal = \/^https?:\\\/\\\/\/i.test(url);\n              if (isExternal) {\n                window.location.href = url;\n                return;\n              }\n\n              var dest = (window.GDCYC_LANG && window.GDCYC_LANG.withLangParam)\n                ? window.GDCYC_LANG.withLangParam(url)\n                : url;\n              window.location.href = dest;\n            }\n\n            function openSheet(){\n              if (window.gdcycApplyMenuLabels) window.gdcycApplyMenuLabels();\n              ovl.hidden = false;\n              ovl.style.display = 'block';\n              sheet.classList.add('show');\n              btn.setAttribute('aria-expanded','true');\n              document.body.style.overflow = 'hidden';\n            }\n\n            function closeSheet(){\n              sheet.classList.remove('show');\n              ovl.style.display = 'none';\n              ovl.hidden = true;\n              btn.setAttribute('aria-expanded','false');\n              document.body.style.overflow = '';\n            }\n\n            if (btn) btn.addEventListener('click', openSheet);\n            if (ovl) ovl.addEventListener('click', closeSheet);\n            if (close) close.addEventListener('click', closeSheet);\n\n            function bindDesktopLinks(){\n              document.querySelectorAll('.topbar .tabs a').forEach(function(a){\n                if (a._gdcycBound) return;\n                a._gdcycBound = true;\n\n                a.addEventListener('click', function(e){\n                  var href = this.getAttribute('href');\n                  if (!href) return;\n                  e.preventDefault();\n                  navigateTo(href);\n                });\n              });\n            }\n\n            sheet.querySelectorAll('.fs-opt').forEach(function(opt){\n              opt.addEventListener('click', function(){\n                var url = this.getAttribute('data-url');\n                closeSheet();\n                navigateTo(url);\n              });\n            });\n\n            function applyMenuLabels(){\n              var lang = getLang();\n              var tx = TABS[lang] || TABS.de || {};\n\n              var map = {\n                germany: tx.germany || 'Deutschland',\n                regions: tx.regions || 'Regionen',\n                ic: tx.ic || 'National',\n                gdc: tx.gdc || 'GDC',\n                reglement: tx.reglement || 'Reglement',\n                facebook: tx.facebook || 'Facebook-Seite folgen',\n                belgique: tx.belgique || 'Belgien',\n                france: tx.france || 'Frankreich'\n              };\n\n              var e;\n              e = document.getElementById('label-lang'); if (e) e.textContent = tx.label_lang || 'Sprache';\n              e = document.getElementById('tabsLangMobileLabel'); if (e) e.textContent = tx.label_lang || 'Sprache';\n              e = document.querySelector('#tabsDropdownBtn .label'); if (e) e.textContent = tx.menu || 'Men\u00fc';\n              e = document.getElementById('tabsFsClose'); if (e) e.textContent = tx.close || 'Schlie\u00dfen';\n              e = document.querySelector('#tabsFsSheet .fs-title'); if (e) e.textContent = tx.menu || 'Men\u00fc';\n\n              e = document.getElementById('gdcycMenuKicker'); if (e) e.textContent = tx.kicker || 'GDCYC DEUTSCHLAND';\n              e = document.getElementById('gdcycMenuTitle');  if (e) e.textContent = tx.title || 'Navigation';\n              e = document.getElementById('gdcycMenuSub');    if (e) e.textContent = tx.sub || 'Schnellzugriff auf die Bereiche';\n\n              e = document.getElementById('tabLabelGermany');   if (e) e.textContent = map.germany;\n              e = document.getElementById('tabLabelRegions');   if (e) e.textContent = map.regions;\n              e = document.getElementById('tabLabelIC');        if (e) e.textContent = map.ic;\n              e = document.getElementById('tabLabelGdc');       if (e) e.textContent = map.gdc;\n              e = document.getElementById('tabLabelReglement'); if (e) e.textContent = map.reglement;\n              e = document.getElementById('tabLabelFacebook');  if (e) e.textContent = map.facebook;\n              e = document.getElementById('tabLabelBelgique');  if (e) e.textContent = map.belgique;\n              e = document.getElementById('tabLabelFrance');    if (e) e.textContent = map.france;\n\n              document.querySelectorAll('#tabsFsSheet .fs-opt').forEach(function(opt){\n                var slug = opt.getAttribute('data-slug') || '';\n                var txt  = map[slug] || slug;\n                var span = opt.querySelector('.gdcyc-menu-opt-label');\n                if (span) span.textContent = txt;\n              });\n\n              var selected = document.querySelector('#tabsFsSheet .fs-opt[aria-selected=\"true\"]');\n              if (selected) {\n                var icon = selected.querySelector('div > span:first-child');\n                var txt2 = selected.querySelector('.gdcyc-menu-opt-label');\n                var val  = document.querySelector('#tabsDropdownBtn .val');\n                if (val && txt2) {\n                  val.innerHTML = (icon ? icon.innerHTML + ' ' : '') + txt2.textContent;\n                }\n              }\n\n              if (window.GDCYC_LANG && typeof window.GDCYC_LANG.applyToSelects === 'function') {\n                window.GDCYC_LANG.applyToSelects();\n              }\n            }\n\n            window.gdcycApplyMenuLabels = applyMenuLabels;\n\n            document.addEventListener('DOMContentLoaded', function(){\n              bindDesktopLinks();\n              applyMenuLabels();\n            });\n\n            window.addEventListener('gdcyc:lang-change', function(){\n              applyMenuLabels();\n            });\n\n            bindDesktopLinks();\n            applyMenuLabels();\n          })();\n        <\/script>\n\n      <\/div>\n    <\/div>\n    \n        <div id=\"gdcuni_regions_d5XFKwxq\" class=\"gdcuni-root\">\n\n\t\t<div class=\"gdcuni-tabs-wrap\">\n\n\t\t\t<!-- Desktop -->\n\t\t\t<div class=\"gdcuni-tabs gdcuni-tabs-desktop\">\n\t\t\t\t<button type=\"button\" class=\"gdcuni-tab active\" data-tab=\"results\">Results<\/button>\n\t\t\t\t<button type=\"button\" class=\"gdcuni-tab\" data-tab=\"ranking\">Ranking<\/button>\n\t\t\t\t<button type=\"button\" class=\"gdcuni-tab\" data-tab=\"records\">Season record<\/button>\n\t\t\t\t<button type=\"button\" class=\"gdcuni-tab\" data-tab=\"ratios\">Ratios<\/button>\n\t\t\t\t<button type=\"button\" class=\"gdcuni-tab\" data-tab=\"stats\">Stats<\/button>\n\t\t\t<\/div>\n\n\t\t\t<!-- Mobile -->\n\t\t\t<div class=\"gdcuni-tabs-mobile\">\n\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\tclass=\"gdcuni-tabs-mobile-btn\"\n\t\t\t\t\t\tid=\"gdcuni_regions_d5XFKwxq_tabs_mobile_btn\"\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\taria-expanded=\"false\">\n\t\t\t\t\t<span class=\"gdcuni-tabs-mobile-label\">Section<\/span>\n\t\t\t\t\t<span class=\"gdcuni-tabs-mobile-value\" id=\"gdcuni_regions_d5XFKwxq_tabs_mobile_value\">Results<\/span>\n\t\t\t\t\t<span class=\"gdcuni-tabs-mobile-chev\">\u25be<\/span>\n\t\t\t\t<\/button>\n\t\t\t<\/div>\n\n\t\t<\/div>\n\n<div class=\"gdcuni-tabs-overlay\" id=\"gdcuni_regions_d5XFKwxq_tabs_overlay\" hidden><\/div>\n\n<div class=\"gdcuni-tabs-sheet\" id=\"gdcuni_regions_d5XFKwxq_tabs_sheet\" role=\"listbox\" aria-label=\"Choix section\">\n    <div class=\"gdcuni-tabs-sheet-title\">Choisir une section<\/div>\n\n    <div class=\"gdcuni-tabs-sheet-options\">\n        <div class=\"gdcuni-tabs-sheet-opt active\" data-tab=\"results\" aria-selected=\"true\">\n            <span>Results<\/span><span>\u2713<\/span>\n        <\/div>\n        <div class=\"gdcuni-tabs-sheet-opt\" data-tab=\"ranking\" aria-selected=\"false\">\n            <span>Ranking<\/span><span><\/span>\n        <\/div>\n        <div class=\"gdcuni-tabs-sheet-opt\" data-tab=\"records\" aria-selected=\"false\">\n            <span>Season record<\/span><span><\/span>\n        <\/div>\n        <div class=\"gdcuni-tabs-sheet-opt\" data-tab=\"ratios\" aria-selected=\"false\">\n            <span>Ratios<\/span><span><\/span>\n        <\/div>\n        <div class=\"gdcuni-tabs-sheet-opt\" data-tab=\"stats\" aria-selected=\"false\">\n            <span>Stats<\/span><span><\/span>\n        <\/div>\n    <\/div>\n\n    <div class=\"gdcuni-tabs-sheet-close-wrap\">\n        <button type=\"button\" class=\"gdcuni-tabs-sheet-close\" id=\"gdcuni_regions_d5XFKwxq_tabs_close\">Fermer<\/button>\n    <\/div>\n<\/div>\n\n            <form id=\"gdcuni_regions_d5XFKwxq_form\" class=\"gdcuni-selects\">\n                                    <select id=\"gdcuni_regions_d5XFKwxq_region\"><\/select>\n                \n                <select id=\"gdcuni_regions_d5XFKwxq_cat\"><\/select>\n\n                <select id=\"gdcuni_regions_d5XFKwxq_ratio_pack\" style=\"display:none;\">\n                    <option value=\"5\">Ratio 5 races<\/option>\n                    <option value=\"10\">Ratio 10 races<\/option>\n                    <option value=\"15\">Ratio 15 races<\/option>\n                    <option value=\"20\">Ratio 20 races<\/option>\n                <\/select>\n\n                <input type=\"text\" id=\"gdcuni_regions_d5XFKwxq_name\" placeholder=\"Search a rider (optional)\">\n                <button type=\"submit\">Search<\/button>\n                <button type=\"button\" id=\"gdcuni_regions_d5XFKwxq_btn_month\" class=\"gdcuni-month-btn\" style=\"display:none;\">\ud83d\udcc6 Month<\/button>\n            <\/form>\n\n            <div id=\"gdcuni_regions_d5XFKwxq_results_month_bar\" class=\"gdcuni-box\" style=\"display:none; margin-bottom:14px; min-height:auto;\">\n                <div style=\"display:flex; flex-wrap:wrap; gap:10px; align-items:end;\">\n                    <div style=\"flex:1 1 260px;\">\n                        <label for=\"gdcuni_regions_d5XFKwxq_results_month_selector\" style=\"display:block; margin-bottom:8px; font-weight:700;\">\n                            Select month                        <\/label>\n                        <select id=\"gdcuni_regions_d5XFKwxq_results_month_selector\"><\/select>\n                    <\/div>\n                    <div style=\"flex:1 1 260px;\">\n                        <div style=\"font-weight:700; margin-bottom:8px;\">Monthly view<\/div>\n                        <div id=\"gdcuni_regions_d5XFKwxq_results_month_label\" style=\"opacity:.92;\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div id=\"gdcuni_regions_d5XFKwxq_box\" class=\"gdcuni-box\">\n                <div class=\"gdcuni-empty\">\n                    <div class=\"gdcuni-empty-badge\">\n                        <img decoding=\"async\" src=\"https:\/\/gdcyc.de\/wp-content\/uploads\/2025\/08\/cropped-94fd71ef-e006-4cd3-8d83-8670bfa5b58e-1.png\" alt=\"GDCYC\">\n                        <span>GDCYC.DE<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <div id=\"gdcuni_regions_d5XFKwxq_month_section\" class=\"gdcuni-box\" style=\"display:none; margin-top:14px;\">\n                <div id=\"gdcuni_regions_d5XFKwxq_month_headbar\" style=\"display:none; margin-bottom:12px;\">\n                    <h3 style=\"margin:0;\">\n                        \ud83c\udfc6 <span id=\"gdcuni_regions_d5XFKwxq_month_title\">Monthly view<\/span> :\n                        <span id=\"gdcuni_regions_d5XFKwxq_selected_month_label\"><\/span>\n                    <\/h3>\n                    <button type=\"button\" id=\"gdcuni_regions_d5XFKwxq_btn_back_month\" class=\"btn-secondary\" style=\"margin-top:10px;\">\n                        \ud83d\udd0e Back to search                    <\/button>\n                <\/div>\n\n                <div id=\"gdcuni_regions_d5XFKwxq_month_toolbar\" style=\"display:none; margin-bottom:12px;\">\n                    <label for=\"gdcuni_regions_d5XFKwxq_month_selector\" style=\"display:block; margin-bottom:8px;\">\n                        Select month                    <\/label>\n                    <select id=\"gdcuni_regions_d5XFKwxq_month_selector\"><\/select>\n                <\/div>\n\n                <div id=\"gdcuni_regions_d5XFKwxq_month_search_container\" style=\"display:none; margin-bottom:12px;\">\n                    <input type=\"text\" id=\"gdcuni_regions_d5XFKwxq_month_search\" placeholder=\"Search a rider in the month table\u2026\">\n                <\/div>\n\n                <div id=\"gdcuni_regions_d5XFKwxq_month_results\"><\/div>\n            <\/div>\n        <\/div>\n\n        <script>\n        (function(){\n            var ROOT_ID = \"gdcuni_regions_d5XFKwxq\";\n            var MODE = \"regions\";\n            var WITH_REGION = true;\n            var REGION_MAP = {\"BADEN_WURTTEMBERG\":\"Baden-W\u00fcrttemberg\",\"BAYERN\":\"Bayern\",\"BERLIN\":\"Berlin\",\"BRANDENBURG\":\"Brandenburg\",\"BREMEN\":\"Bremen\",\"HAMBURG\":\"Hamburg\",\"HESSEN\":\"Hessen\",\"MECKLENBURG_VORPOMMERN\":\"Mecklenburg-Vorpommern\",\"NIEDERSACHSEN\":\"Niedersachsen\",\"NORDRHEIN_WESTF\":\"Nordrhein-Westfalen\",\"RHEINLAND_PFALZ\":\"Rheinland-Pfalz\",\"SAARLAND\":\"Saarland\",\"SACHSEN\":\"Sachsen\",\"SACHSEN_ANHALT\":\"Sachsen-Anhalt\",\"SCHLESWIG_HOLSTEIN\":\"Schleswig-Holstein\",\"THURINGEN\":\"Th\u00fcringen\"};\n            var ajaxUrl = \"https:\\\/\\\/gdcyc.de\\\/wp-admin\\\/admin-ajax.php\";\n            var logoUrl = \"https:\\\/\\\/gdcyc.de\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/cropped-94fd71ef-e006-4cd3-8d83-8670bfa5b58e-1.png\";\n\n            var root = document.getElementById(ROOT_ID);\n            if (!root || root.dataset.booted === '1') return;\n            root.dataset.booted = '1';\n\t\t\tvar mobileTabsBtn = id('tabs_mobile_btn');\n\t\t\tvar mobileTabsValue = id('tabs_mobile_value');\n\t\t\tvar mobileTabsSheet = id('tabs_sheet');\n\t\t\tvar mobileTabsOverlay = id('tabs_overlay');\n\t\t\tvar mobileTabsClose = id('tabs_close');\n            var CAT_KEY  = 'gdcyc_global_cat';\n            var NAME_KEY = 'gdcyc_global_name';\n            var REG_KEY  = 'gdcyc_selected_region_' + MODE;\n            var TAB_KEY  = 'gdcyc_selected_tab_global';\n            var RES_MONTH_KEY = 'gdcyc_results_month_' + MODE;\n            var RATIO_PACK_KEY = 'gdcyc_ratio_pack_' + MODE;\n\n            var I18N_ALL = {\n                de: {\"results\":\"Ergebnisse\",\"stats\":\"Statistiken\",\"ranking\":\"Rangliste\",\"records\":\"Saisonrekorde\",\"ratios\":\"Quoten\",\"choose_region\":\"Region ausw\u00e4hlen\",\"choose_cat\":\"Kategorie ausw\u00e4hlen\",\"choose_ratio_pack\":\"Quote ausw\u00e4hlen\",\"search_runner\":\"Fahrer suchen (optional)\",\"search_runner_ranking\":\"Platzierten Fahrer suchen (optional)\",\"search_runner_ratio\":\"Quoten-Fahrer suchen (optional)\",\"search\":\"Suchen\",\"date\":\"Datum\",\"lieu\":\"Ort\",\"region\":\"Region\",\"race\":\"Rennen\",\"winner\":\"Sieger\",\"participants\":\"Teilnehmer\",\"result\":\"Ergebnis\",\"place\":\"Platz\",\"name\":\"Name\",\"club\":\"Verein\",\"points\":\"Punkte\",\"time\":\"Zeit\",\"km\":\"Km\",\"average\":\"Durchschnitt\",\"top1\":\"Top1\",\"top3\":\"Top3\",\"top5\":\"Top5\",\"top10\":\"Top10\",\"top20\":\"Top20\",\"totalrace\":\"Gesamt Rennen\",\"value\":\"Wert\",\"ranked_riders\":\"Klassierte Fahrer\",\"season_record_title\":\"\ud83c\udfc5 Saisonrekord \u2014 Kategorie : \",\"ratio_title\":\"Quoten-Rangliste\",\"ratio5\":\"Quote 5 Rennen\",\"ratio10\":\"Quote 10 Rennen\",\"ratio15\":\"Quote 15 Rennen\",\"ratio20\":\"Quote 20 Rennen\",\"ratio_top1\":\"QUOTE TOP 1\",\"ratio_top3\":\"QUOTE TOP 3\",\"ratio_top5\":\"QUOTE TOP 5\",\"ratio_top10\":\"QUOTE TOP 10\",\"ratio_top20\":\"QUOTE TOP 20\",\"ge10\":\"(\u226510 Rennen)\",\"ge3\":\"(\u22653 Rennen)\",\"missing\":\"Fehlende Parameter.\",\"db_err\":\"Fehler bei der Datenbankverbindung.\",\"table_missing\":\"Tabelle nicht gefunden\",\"no_data\":\"Keine Daten.\",\"ajax_err\":\"AJAX-Fehler.\",\"loading\":\"Laden...\",\"details\":\"Details\",\"podium\":\"Podium\",\"result_details\":\"Ergebnisdetails\",\"month_title\":\"Monatstabelle\",\"month_select_label\":\"Monat ausw\u00e4hlen\",\"month_search_ph\":\"Fahrer in der Monatstabelle suchen\u2026\",\"btn_show_month\":\"\ud83d\udcc6 Monat\",\"btn_back_search\":\"\ud83d\udd0e Zur\u00fcck zur Suche\",\"btn_prev\":\"Zur\u00fcck\",\"btn_next\":\"Weiter\",\"page\":\"Seite\",\"goto_page\":\"Zur Seite\",\"current_month\":\"Aktueller Monat\",\"archived_month\":\"Monatsarchiv\",\"no_month_available\":\"Kein Monat verf\u00fcgbar.\",\"badge_results\":\"ERGEBNISSE\",\"badge_ranking\":\"RANGLISTE\",\"badge_records\":\"SAISONREKORDE\",\"badge_stats\":\"STATISTIKEN\",\"badge_ratios\":\"QUOTEN\"},\n                fr: {\"results\":\"R\u00e9sultats\",\"stats\":\"Stats\",\"ranking\":\"Classement\",\"records\":\"Record saison\",\"ratios\":\"Ratios\",\"choose_region\":\"S\u00e9lectionne la r\u00e9gion\",\"choose_cat\":\"S\u00e9lectionne la cat\u00e9gorie\",\"choose_ratio_pack\":\"S\u00e9lectionne le ratio\",\"search_runner\":\"Rechercher un coureur (optionnel)\",\"search_runner_ranking\":\"Rechercher un coureur class\u00e9 (optionnel)\",\"search_runner_ratio\":\"Rechercher un coureur ratio (optionnel)\",\"search\":\"Rechercher\",\"date\":\"Date\",\"lieu\":\"Lieu\",\"region\":\"R\u00e9gion\",\"race\":\"Course\",\"winner\":\"Vainqueur\",\"participants\":\"Participants\",\"result\":\"R\u00e9sultat\",\"place\":\"Place\",\"name\":\"Nom\",\"club\":\"Club\",\"points\":\"Points\",\"time\":\"Temps\",\"km\":\"Km\",\"average\":\"Moyenne\",\"top1\":\"Top1\",\"top3\":\"Top3\",\"top5\":\"Top5\",\"top10\":\"Top10\",\"top20\":\"Top20\",\"totalrace\":\"Total courses\",\"value\":\"Valeur\",\"ranked_riders\":\"Coureurs class\u00e9s\",\"season_record_title\":\"\ud83c\udfc5 Record saison \u2014 Cat\u00e9gorie : \",\"ratio_title\":\"Classement ratio\",\"ratio5\":\"Ratio 5 courses\",\"ratio10\":\"Ratio 10 courses\",\"ratio15\":\"Ratio 15 courses\",\"ratio20\":\"Ratio 20 courses\",\"ratio_top1\":\"RATIO TOP 1\",\"ratio_top3\":\"RATIO TOP 3\",\"ratio_top5\":\"RATIO TOP 5\",\"ratio_top10\":\"RATIO TOP 10\",\"ratio_top20\":\"RATIO TOP 20\",\"ge10\":\"(\u226510 courses)\",\"ge3\":\"(\u22653 courses)\",\"missing\":\"Param\u00e8tres manquants.\",\"db_err\":\"Erreur de connexion \u00e0 la base.\",\"table_missing\":\"Table introuvable\",\"no_data\":\"Aucune donn\u00e9e.\",\"ajax_err\":\"Erreur AJAX.\",\"loading\":\"Chargement...\",\"details\":\"D\u00e9tails\",\"podium\":\"Podium\",\"result_details\":\"D\u00e9tail r\u00e9sultat\",\"month_title\":\"Tableau du mois\",\"month_select_label\":\"S\u00e9lectionner le mois\",\"month_search_ph\":\"Rechercher un coureur dans le tableau du mois\u2026\",\"btn_show_month\":\"\ud83d\udcc6 Mois\",\"btn_back_search\":\"\ud83d\udd0e Retour \u00e0 la recherche\",\"btn_prev\":\"Pr\u00e9c\u00e9dent\",\"btn_next\":\"Suivant\",\"page\":\"Page\",\"goto_page\":\"Aller \u00e0 la page\",\"current_month\":\"Mois en cours\",\"archived_month\":\"Archive du mois\",\"no_month_available\":\"Aucun mois disponible.\",\"badge_results\":\"R\u00c9SULTATS\",\"badge_ranking\":\"CLASSEMENT\",\"badge_records\":\"RECORD SAISON\",\"badge_stats\":\"STATS\",\"badge_ratios\":\"RATIOS\"},\n                en: {\"results\":\"Results\",\"stats\":\"Stats\",\"ranking\":\"Ranking\",\"records\":\"Season record\",\"ratios\":\"Ratios\",\"choose_region\":\"Choose a region\",\"choose_cat\":\"Choose a category\",\"choose_ratio_pack\":\"Choose ratio\",\"search_runner\":\"Search a rider (optional)\",\"search_runner_ranking\":\"Search a ranked rider (optional)\",\"search_runner_ratio\":\"Search a ratio rider (optional)\",\"search\":\"Search\",\"date\":\"Date\",\"lieu\":\"Place\",\"region\":\"Region\",\"race\":\"Race\",\"winner\":\"Winner\",\"participants\":\"Participants\",\"result\":\"Result\",\"place\":\"Place\",\"name\":\"Name\",\"club\":\"Club\",\"points\":\"Points\",\"time\":\"Time\",\"km\":\"Km\",\"average\":\"Average\",\"top1\":\"Top1\",\"top3\":\"Top3\",\"top5\":\"Top5\",\"top10\":\"Top10\",\"top20\":\"Top20\",\"totalrace\":\"Total races\",\"value\":\"Value\",\"ranked_riders\":\"Ranked riders\",\"season_record_title\":\"\ud83c\udfc5 Season record \u2014 Category : \",\"ratio_title\":\"Ratio ranking\",\"ratio5\":\"Ratio 5 races\",\"ratio10\":\"Ratio 10 races\",\"ratio15\":\"Ratio 15 races\",\"ratio20\":\"Ratio 20 races\",\"ratio_top1\":\"RATIO TOP 1\",\"ratio_top3\":\"RATIO TOP 3\",\"ratio_top5\":\"RATIO TOP 5\",\"ratio_top10\":\"RATIO TOP 10\",\"ratio_top20\":\"RATIO TOP 20\",\"ge10\":\"(\u226510 races)\",\"ge3\":\"(\u22653 races)\",\"missing\":\"Missing parameters.\",\"db_err\":\"DB connection error.\",\"table_missing\":\"Table not found\",\"no_data\":\"No data.\",\"ajax_err\":\"AJAX error.\",\"loading\":\"Loading...\",\"details\":\"Details\",\"podium\":\"Podium\",\"result_details\":\"Result details\",\"month_title\":\"Monthly view\",\"month_select_label\":\"Select month\",\"month_search_ph\":\"Search a rider in the month table\u2026\",\"btn_show_month\":\"\ud83d\udcc6 Month\",\"btn_back_search\":\"\ud83d\udd0e Back to search\",\"btn_prev\":\"Previous\",\"btn_next\":\"Next\",\"page\":\"Page\",\"goto_page\":\"Go to page\",\"current_month\":\"Current month\",\"archived_month\":\"Archived month\",\"no_month_available\":\"No month available.\",\"badge_results\":\"RESULTS\",\"badge_ranking\":\"RANKING\",\"badge_records\":\"SEASON RECORD\",\"badge_stats\":\"STATS\",\"badge_ratios\":\"RATIOS\"}            };\n\n            var CATS = [{\"value\":\"U7\",\"label\":\"U7\"},{\"value\":\"U9\",\"label\":\"U9\"},{\"value\":\"U11\",\"label\":\"U11\"},{\"value\":\"U13\",\"label\":\"U13\"},{\"value\":\"U15\",\"label\":\"U15\"},{\"value\":\"U17\",\"label\":\"U17\"},{\"value\":\"U19\",\"label\":\"U19\"},{\"value\":\"U7_DAME\",\"label\":\"U7 DAME\"},{\"value\":\"U9_DAME\",\"label\":\"U9 DAME\"},{\"value\":\"U11_DAME\",\"label\":\"U11 DAME\"},{\"value\":\"U13_DAME\",\"label\":\"U13 DAME\"},{\"value\":\"U15_DAME\",\"label\":\"U15 DAME\"},{\"value\":\"U17_DAME\",\"label\":\"U17 DAME\"},{\"value\":\"U19_DAME\",\"label\":\"U19 DAME\"}];\n\n            function currentLang(){\n                if (window.GDCYC_LANG && typeof window.GDCYC_LANG.get === 'function') {\n                    return window.GDCYC_LANG.get();\n                }\n                return window.currentLang || 'de';\n            }\n\n            function L(){\n                var lang = currentLang();\n                return I18N_ALL[lang] || I18N_ALL.de;\n            }\n\n            function id(name){\n                return document.getElementById(ROOT_ID + '_' + name);\n            }\n\n            function getUrlParam(name){\n                try { return (new URL(window.location.href)).searchParams.get(name) || ''; }\n                catch(e){ return ''; }\n            }\n\n            function setUrlParam(name, value){\n                try{\n                    var u = new URL(window.location.href);\n                    if (value) u.searchParams.set(name, value);\n                    else u.searchParams.delete(name);\n                    history.replaceState({}, '', u.toString());\n                } catch(e){}\n            }\n\n            function lsGet(key, def){\n                try{\n                    var v = localStorage.getItem(key);\n                    return v !== null ? v : def;\n                }catch(e){}\n                return def;\n            }\n\n            function lsSet(key, value){\n                try{ localStorage.setItem(key, value || ''); }catch(e){}\n            }\n\n            function getSavedTab(){ return lsGet(TAB_KEY, 'results') || 'results'; }\n            function saveTab(v){ lsSet(TAB_KEY, v || 'results'); }\n\n            function getSavedCat(){\n                var u = (getUrlParam('cat') || '').toUpperCase();\n                if (u) return u;\n                return (lsGet(CAT_KEY, CATS[0] ? CATS[0].value : 'U7') || (CATS[0] ? CATS[0].value : 'U7')).toUpperCase();\n            }\n            function saveCat(v){\n                lsSet(CAT_KEY, v || '');\n                setUrlParam('cat', v || '');\n            }\n\n            function getSavedRegion(){\n                if (!WITH_REGION) return '';\n                var u = (getUrlParam('region') || '').toUpperCase();\n                if (u && REGION_MAP[u]) return u;\n                var ls = (lsGet(REG_KEY, '') || '').toUpperCase();\n                if (ls && REGION_MAP[ls]) return ls;\n                return 'BAYERN';\n            }\n            function saveRegion(v){\n                if (!WITH_REGION) return;\n                lsSet(REG_KEY, v || '');\n                setUrlParam('region', v || '');\n            }\n\n            function getSavedName(){\n                var u = getUrlParam('name') || '';\n                if (u) return u;\n                return lsGet(NAME_KEY, '') || '';\n            }\n            function saveName(v){\n                lsSet(NAME_KEY, v || '');\n                setUrlParam('name', v || '');\n            }\n\n            function getSavedResultsMonth(){\n                return lsGet(RES_MONTH_KEY, '__CURRENT__') || '__CURRENT__';\n            }\n            function saveResultsMonth(v){\n                lsSet(RES_MONTH_KEY, v || '__CURRENT__');\n            }\n\n            function getSavedRatioPack(){\n                var u = parseInt(getUrlParam('ratio_pack') || '', 10);\n                if ([5,10,15,20].indexOf(u) !== -1) return u;\n                var ls = parseInt(lsGet(RATIO_PACK_KEY, '5') || '5', 10);\n                if ([5,10,15,20].indexOf(ls) !== -1) return ls;\n                return 5;\n            }\n            function saveRatioPack(v){\n                lsSet(RATIO_PACK_KEY, String(v || 5));\n                setUrlParam('ratio_pack', String(v || 5));\n            }\n\n            var state = {\n                tab: getSavedTab(),\n                cat: getSavedCat(),\n                region: getSavedRegion(),\n                name: getSavedName(),\n                mainPage: 1,\n                monthPage: 1,\n                currentArchiveMonth: '',\n                monthTab: 'ranking',\n                resultsMonth: getSavedResultsMonth(),\n                ratioPack: getSavedRatioPack()\n            };\n\n            var nameDebounce = null;\n            var monthDebounce = null;\n\n            var monthBtn = id('btn_month');\n            var monthSection = id('month_section');\n            var monthHeadbar = id('month_headbar');\n            var monthToolbar = id('month_toolbar');\n            var monthSelector = id('month_selector');\n            var monthResults = id('month_results');\n            var monthSearch = id('month_search');\n            var monthSearchContainer = id('month_search_container');\n            var selectedMonthLabel = id('selected_month_label');\n            var backMonthBtn = id('btn_back_month');\n\n            var ratioPackSelect = id('ratio_pack');\n\n            var resultsMonthBar = id('results_month_bar');\n            var resultsMonthSelector = id('results_month_selector');\n            var resultsMonthLabel = id('results_month_label');\n\n            function scrollToMonthSection(){\n                if (!monthSection) return;\n                setTimeout(function(){\n                    monthSection.scrollIntoView({behavior:'smooth', block:'start'});\n                }, 120);\n            }\n\n            function setLoading(){\n                var box = id('box');\n                if (!box) return;\n                box.innerHTML =\n                    '<div class=\"gdcuni-loading\">' +\n                        '<img decoding=\"async\" src=\"'+logoUrl+'\" alt=\"GDCYC\">' +\n                        '<div class=\"label\">GDCYC.DE<\/div>' +\n                        '<div class=\"bar\"><\/div>' +\n                    '<\/div>';\n            }\n\n            function setEmpty(){\n                var box = id('box');\n                if (!box) return;\n                box.innerHTML =\n                    '<div class=\"gdcuni-empty\">' +\n                        '<div class=\"gdcuni-empty-badge\">' +\n                            '<img decoding=\"async\" src=\"'+logoUrl+'\" alt=\"GDCYC\">' +\n                            '<span>GDCYC.DE<\/span>' +\n                        '<\/div>' +\n                    '<\/div>';\n            }\n\n            function bindClearButton(input){\n                if (!input || input.dataset.clearBound === '1') return;\n                input.dataset.clearBound = '1';\n\n                var wrap = document.createElement('div');\n                wrap.className = 'gdcyc-searchwrap';\n                input.parentNode.insertBefore(wrap, input);\n                wrap.appendChild(input);\n\n                var btn = document.createElement('button');\n                btn.type = 'button';\n                btn.className = 'gdcyc-clearbtn';\n                btn.textContent = '\u2715';\n                btn.hidden = !input.value;\n                wrap.appendChild(btn);\n\n                function toggle(){ btn.hidden = input.value.trim() === ''; }\n\n                input.addEventListener('input', toggle);\n                btn.addEventListener('click', function(){\n                    input.value = '';\n                    toggle();\n                    input.dispatchEvent(new Event('input', {bubbles:true}));\n                    input.focus();\n                });\n            }\n\n            function populateRegions(){\n                if (!WITH_REGION) return;\n                var sel = id('region');\n                if (!sel) return;\n                var tx = L();\n\n                sel.innerHTML = '';\n                var ph = document.createElement('option');\n                ph.value = '';\n                ph.disabled = true;\n                ph.textContent = tx.choose_region;\n                sel.appendChild(ph);\n\n                Object.keys(REGION_MAP).forEach(function(key){\n                    var o = document.createElement('option');\n                    o.value = key;\n                    o.textContent = REGION_MAP[key];\n                    sel.appendChild(o);\n                });\n\n                if (state.region && REGION_MAP[state.region]) sel.value = state.region;\n                else sel.selectedIndex = 0;\n            }\n\n            function populateCats(){\n                var sel = id('cat');\n                if (!sel) return;\n                var tx = L();\n\n                sel.innerHTML = '';\n                var ph = document.createElement('option');\n                ph.value = '';\n                ph.disabled = true;\n                ph.textContent = tx.choose_cat;\n                sel.appendChild(ph);\n\n                CATS.forEach(function(c){\n                    var o = document.createElement('option');\n                    o.value = c.value;\n                    o.textContent = c.label;\n                    sel.appendChild(o);\n                });\n\n                if (state.cat) sel.value = state.cat;\n                else sel.selectedIndex = 0;\n            }\n\n            function populateRatioPack(){\n                if (!ratioPackSelect) return;\n                ratioPackSelect.value = String(state.ratioPack || 5);\n            }\n\n            function getSearchPlaceholder(){\n                var tx = L();\n                if (state.tab === 'ranking') return tx.search_runner_ranking || tx.search_runner;\n                if (state.tab === 'ratios') return tx.search_runner_ratio || tx.search_runner;\n                return tx.search_runner;\n            }\n\n            function refreshSearchPlaceholder(){\n                var name = id('name');\n                if (name) name.placeholder = getSearchPlaceholder();\n            }\n\t\t\tfunction setSearchVisibility(){\n\t\t\t\tvar name = id('name');\n\t\t\t\tif (!name) return;\n\n\t\t\t\tvar searchWrap = name.closest('.gdcyc-searchwrap') || name;\n\n\t\t\t\tif (state.tab === 'records') {\n\t\t\t\t\tsearchWrap.style.display = 'none';\n\t\t\t\t} else {\n\t\t\t\t\tsearchWrap.style.display = '';\n\t\t\t\t}\n\t\t\t}\n\n            function setMonthButtonVisibility(){\n                if (!monthBtn) return;\n                monthBtn.style.display = (state.tab !== 'results' && state.tab !== 'ratios' && ['stats','ranking','records'].indexOf(state.tab) !== -1) ? 'inline-block' : 'none';\n            }\n\n            function setResultsMonthBarVisibility(){\n                if (!resultsMonthBar) return;\n                resultsMonthBar.style.display = (state.tab === 'results') ? 'block' : 'none';\n            }\n\n            function setRatioPackVisibility(){\n                if (!ratioPackSelect) return;\n                ratioPackSelect.style.display = (state.tab === 'ratios') ? 'inline-block' : 'none';\n            }\n\t\t\tfunction openMobileTabsSheet(){\n\t\t\t\tif (!mobileTabsOverlay || !mobileTabsSheet || !mobileTabsBtn) return;\n\t\t\t\tmobileTabsOverlay.hidden = false;\n\t\t\t\tmobileTabsOverlay.style.display = 'block';\n\t\t\t\tmobileTabsSheet.classList.add('show');\n\t\t\t\tmobileTabsBtn.setAttribute('aria-expanded', 'true');\n\t\t\t\tdocument.body.style.overflow = 'hidden';\n\t\t\t}\n\n\t\t\tfunction closeMobileTabsSheet(){\n\t\t\t\tif (!mobileTabsOverlay || !mobileTabsSheet || !mobileTabsBtn) return;\n\t\t\t\tmobileTabsSheet.classList.remove('show');\n\t\t\t\tmobileTabsOverlay.style.display = 'none';\n\t\t\t\tmobileTabsOverlay.hidden = true;\n\t\t\t\tmobileTabsBtn.setAttribute('aria-expanded', 'false');\n\t\t\t\tdocument.body.style.overflow = '';\n\t\t\t}\n\t\t\tif (mobileTabsBtn) {\n\t\t\t\tmobileTabsBtn.addEventListener('click', openMobileTabsSheet);\n\t\t\t}\n\n\t\t\tif (mobileTabsOverlay) {\n\t\t\t\tmobileTabsOverlay.addEventListener('click', closeMobileTabsSheet);\n\t\t\t}\n\n\t\t\tif (mobileTabsClose) {\n\t\t\t\tmobileTabsClose.addEventListener('click', closeMobileTabsSheet);\n\t\t\t}\n\n\t\t\troot.querySelectorAll('.gdcuni-tabs-sheet-opt').forEach(function(opt){\n\t\t\t\topt.addEventListener('click', function(){\n\t\t\t\t\tstate.tab = opt.getAttribute('data-tab') || 'results';\n\t\t\t\t\tsaveTab(state.tab);\n\n\t\t\t\t\tif (state.tab === 'records') {\n\t\t\t\t\t\tstate.name = '';\n\t\t\t\t\t\tsaveName('');\n\t\t\t\t\t\tif (id('name')) id('name').value = '';\n\t\t\t\t\t}\n\n\t\t\t\t\tsetActiveTab();\n\t\t\t\t\tcloseMobileTabsSheet();\n\t\t\t\t\tmonthSection.style.display = 'none';\n\t\t\t\t\tautoLoadCurrentTab();\n\t\t\t\t});\n\t\t\t});\n\t\t\tfunction setActiveTab(){\n\t\t\t\troot.querySelectorAll('.gdcuni-tab').forEach(function(btn){\n\t\t\t\t\tvar isActive = btn.getAttribute('data-tab') === state.tab;\n\t\t\t\t\tbtn.classList.toggle('active', isActive);\n\t\t\t\t});\n\n\t\t\t\troot.querySelectorAll('.gdcuni-tabs-sheet-opt').forEach(function(opt){\n\t\t\t\t\tvar isActive = opt.getAttribute('data-tab') === state.tab;\n\t\t\t\t\topt.classList.toggle('active', isActive);\n\t\t\t\t\topt.setAttribute('aria-selected', isActive ? 'true' : 'false');\n\n\t\t\t\t\tvar lastSpan = opt.querySelector('span:last-child');\n\t\t\t\t\tif (lastSpan) lastSpan.textContent = isActive ? '\u2713' : '';\n\t\t\t\t});\n\n\t\t\t\tif (mobileTabsValue) {\n\t\t\t\t\tvar activeBtn = root.querySelector('.gdcuni-tab[data-tab=\"' + state.tab + '\"]');\n\t\t\t\t\tif (activeBtn) mobileTabsValue.textContent = activeBtn.textContent.trim();\n\t\t\t\t}\n\n\t\t\t\tsetMonthButtonVisibility();\n\t\t\t\tsetResultsMonthBarVisibility();\n\t\t\t\tsetRatioPackVisibility();\n\t\t\t\trefreshSearchPlaceholder();\n\t\t\t\tsetSearchVisibility();\n\t\t\t}\n\n            function bindToggles(scope){\n                if (!scope) return;\n                scope.querySelectorAll('.toggle-btn').forEach(function(btn){\n                    if (btn.dataset.bound === '1') return;\n                    btn.dataset.bound = '1';\n                    btn.addEventListener('click', function(){\n                        var tr = btn.closest('tr');\n                        if (!tr) return;\n                        var next = tr.nextElementSibling;\n                        if (!next || !next.classList.contains('details-row')) return;\n\n                        var open = next.style.display === 'table-row';\n                        next.style.display = open ? 'none' : 'table-row';\n                        btn.textContent = open ? '+' : '\u2212';\n                        btn.setAttribute('aria-expanded', open ? 'false' : 'true');\n                    });\n                });\n            }\n\n            function bindPagination(scope, type){\n                if (!scope) return;\n                scope.querySelectorAll('.gdcuni-page-btn').forEach(function(btn){\n                    if (btn.dataset.bound === '1') return;\n                    btn.dataset.bound = '1';\n                    btn.addEventListener('click', function(){\n                        var p = parseInt(btn.getAttribute('data-page') || '1', 10);\n                        if (type === 'month') {\n                            state.monthPage = p;\n                            fetchMonthTable(state.currentArchiveMonth, state.monthPage);\n                        } else if (type === 'results-inline') {\n                            state.mainPage = p;\n                            loadResultsInline();\n                        } else {\n                            state.mainPage = p;\n                            post();\n                        }\n                    });\n                });\n\n                scope.querySelectorAll('.gdcuni-page-jump-select').forEach(function(sel){\n                    if (sel.dataset.bound === '1') return;\n                    sel.dataset.bound = '1';\n                    sel.addEventListener('change', function(){\n                        var p = parseInt(sel.value || '1', 10);\n                        if (type === 'month') {\n                            state.monthPage = p;\n                            fetchMonthTable(state.currentArchiveMonth, state.monthPage);\n                        } else if (type === 'results-inline') {\n                            state.mainPage = p;\n                            loadResultsInline();\n                        } else {\n                            state.mainPage = p;\n                            post();\n                        }\n                    });\n                });\n            }\n\n            function mustLoad(){\n                if (!state.cat) return false;\n                if (WITH_REGION && !state.region) return false;\n                return true;\n            }\n\n            function fillResultsMonthOptions(months){\n                if (!resultsMonthSelector) return;\n\n                resultsMonthSelector.innerHTML = '';\n                if (!months || !months.length) {\n                    var o = document.createElement('option');\n                    o.value = '';\n                    o.textContent = L().no_month_available;\n                    resultsMonthSelector.appendChild(o);\n                    return;\n                }\n\n                var hasCurrent = false;\n                months.forEach(function(m){\n                    var o = document.createElement('option');\n                    o.value = m.value;\n                    o.textContent = m.label;\n                    if (m.value === '__CURRENT__') hasCurrent = true;\n                    resultsMonthSelector.appendChild(o);\n                });\n\n                var wanted = state.resultsMonth || '__CURRENT__';\n                var exists = months.some(function(m){ return m.value === wanted; });\n\n                if (!exists) {\n                    wanted = hasCurrent ? '__CURRENT__' : months[0].value;\n                }\n\n                state.resultsMonth = wanted;\n                saveResultsMonth(wanted);\n                resultsMonthSelector.value = wanted;\n            }\n\n            function loadResultsInlineMonths(){\n                var fd = new URLSearchParams();\n                fd.append('action', 'gdcuni_get_available_months');\n                fd.append('lang', currentLang());\n                fd.append('mode', MODE);\n                fd.append('categorie', state.cat || '');\n                fd.append('month_tab', 'results');\n\n                if (WITH_REGION) fd.append('region', state.region || '');\n\n                return fetch(ajaxUrl, {\n                    method:'POST',\n                    headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n                    body:fd.toString()\n                })\n                .then(function(r){ return r.json(); })\n                .then(function(json){\n                    var months = (json && json.ok && Array.isArray(json.months)) ? json.months : [];\n                    fillResultsMonthOptions(months);\n                    return months;\n                })\n                .catch(function(){\n                    fillResultsMonthOptions([]);\n                    return [];\n                });\n            }\n\n            function loadResultsInline(){\n                var box = id('box');\n                if (!box) return;\n\n                if (!mustLoad()) {\n                    setEmpty();\n                    return;\n                }\n\n                setLoading();\n\n                loadResultsInlineMonths().then(function(months){\n                    if (!months.length) {\n                        box.innerHTML = '<div class=\"error-box\">'+L().no_month_available+'<\/div>';\n                        if (resultsMonthLabel) resultsMonthLabel.textContent = '';\n                        return;\n                    }\n\n                    var fd = new URLSearchParams();\n                    fd.append('action', 'gdcuni_month_table');\n                    fd.append('lang', currentLang());\n                    fd.append('mode', MODE);\n                    fd.append('categorie', state.cat || '');\n                    fd.append('participant', (id('name') || {}).value || '');\n                    fd.append('month', state.resultsMonth || '__CURRENT__');\n                    fd.append('month_tab', 'results');\n                    fd.append('page', state.mainPage || 1);\n\n                    if (WITH_REGION) fd.append('region', state.region || '');\n\n                    fetch(ajaxUrl, {\n                        method:'POST',\n                        headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n                        body:fd.toString()\n                    })\n                    .then(function(r){ return r.json(); })\n                    .then(function(json){\n                        box.innerHTML = (json && json.html !== undefined) ? json.html : '<div class=\"error-box\">'+L().ajax_err+'<\/div>';\n                        if (resultsMonthLabel) resultsMonthLabel.textContent = (json && json.label) ? json.label : '';\n                        bindToggles(box);\n                        bindPagination(box, 'results-inline');\n                    })\n                    .catch(function(){\n                        box.innerHTML = '<div class=\"error-box\">'+L().ajax_err+'<\/div>';\n                    });\n                });\n            }\n\n            function post(){\n                var box = id('box');\n                var tx = L();\n                if (!box) return;\n\n                if (!state.cat) {\n                    box.innerHTML = '<div class=\"error-box\">'+tx.choose_cat+'<\/div>';\n                    return;\n                }\n\n                if (WITH_REGION && !state.region) {\n                    box.innerHTML = '<div class=\"error-box\">'+tx.choose_region+'<\/div>';\n                    return;\n                }\n\n                if (state.tab === 'results') {\n                    loadResultsInline();\n                    return;\n                }\n\n                var actionMap = {\n                    stats: 'gdcuni_stats',\n                    ranking: 'gdcuni_ranking',\n                    records: 'gdcuni_records',\n                    ratios: 'gdcuni_ratios'\n                };\n\n                setLoading();\n\n                var fd = new URLSearchParams();\n                fd.append('action', actionMap[state.tab] || 'gdcuni_stats');\n                fd.append('lang', currentLang());\n                fd.append('mode', MODE);\n                fd.append('categorie', state.cat || '');\n                fd.append('participant', (id('name') || {}).value || '');\n                fd.append('page', state.mainPage || 1);\n\n                if (state.tab === 'ratios') {\n                    fd.append('ratio_pack', String(state.ratioPack || 5));\n                }\n\n                if (WITH_REGION) fd.append('region', state.region || '');\n\n                fetch(ajaxUrl, {\n                    method:'POST',\n                    headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n                    body:fd.toString()\n                })\n                .then(function(r){ return r.json(); })\n                .then(function(json){\n                    box.innerHTML = (json && json.html !== undefined) ? json.html : '<div class=\"error-box\">'+tx.ajax_err+'<\/div>';\n                    bindToggles(box);\n                    bindPagination(box, 'main');\n                })\n                .catch(function(){\n                    box.innerHTML = '<div class=\"error-box\">'+tx.ajax_err+'<\/div>';\n                });\n            }\n\n            function fetchMonthTable(monthValue, page){\n                if (!monthResults) return;\n\n                state.currentArchiveMonth = monthValue || '';\n                state.monthPage = page || 1;\n\n                var fd = new URLSearchParams();\n                fd.append('action', 'gdcuni_month_table');\n                fd.append('lang', currentLang());\n                fd.append('mode', MODE);\n                fd.append('categorie', state.cat || '');\n                fd.append('participant', (monthSearch && monthSearch.value) ? monthSearch.value : '');\n                fd.append('month', state.currentArchiveMonth);\n                fd.append('month_tab', state.monthTab);\n                fd.append('page', state.monthPage);\n\n                if (WITH_REGION) fd.append('region', state.region || '');\n\n                monthResults.innerHTML =\n                    '<div class=\"gdcuni-loading\">' +\n                        '<img decoding=\"async\" src=\"'+logoUrl+'\" alt=\"GDCYC\">' +\n                        '<div class=\"label\">GDCYC.DE<\/div>' +\n                        '<div class=\"bar\"><\/div>' +\n                    '<\/div>';\n\n                fetch(ajaxUrl, {\n                    method:'POST',\n                    headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n                    body:fd.toString()\n                })\n                .then(function(r){ return r.json(); })\n                .then(function(json){\n                    monthResults.innerHTML = (json && json.html !== undefined) ? json.html : '<div class=\"error-box\">'+L().ajax_err+'<\/div>';\n                    monthHeadbar.style.display = 'block';\n                    monthSearchContainer.style.display = (state.monthTab !== 'records' && monthResults.querySelector('table')) ? 'block' : 'none';\n                    if (selectedMonthLabel) selectedMonthLabel.textContent = (json && json.label) ? json.label : '';\n                    bindToggles(monthResults);\n                    bindPagination(monthResults, 'month');\n                    scrollToMonthSection();\n                })\n                .catch(function(){\n                    monthResults.innerHTML = '<div class=\"error-box\">'+L().ajax_err+'<\/div>';\n                });\n            }\n\n            function openMonthPanel(){\n                if (!monthSection || !monthSelector || !monthResults) return;\n                if (!state.cat) return;\n                if (WITH_REGION && !state.region) return;\n                if (state.tab === 'results' || state.tab === 'ratios') return;\n\n                state.monthTab = state.tab;\n\n                monthSection.style.display = 'block';\n                monthHeadbar.style.display = 'none';\n                monthToolbar.style.display = 'none';\n                monthSearchContainer.style.display = 'none';\n                monthResults.innerHTML = '';\n                monthSelector.innerHTML = '';\n                if (monthSearch) monthSearch.value = '';\n                state.monthPage = 1;\n                state.currentArchiveMonth = '';\n\n                var fd = new URLSearchParams();\n                fd.append('action', 'gdcuni_get_available_months');\n                fd.append('lang', currentLang());\n                fd.append('mode', MODE);\n                fd.append('categorie', state.cat || '');\n                fd.append('month_tab', state.monthTab);\n\n                if (WITH_REGION) fd.append('region', state.region || '');\n\n                fetch(ajaxUrl, {\n                    method:'POST',\n                    headers:{'Content-Type':'application\/x-www-form-urlencoded; charset=UTF-8'},\n                    body:fd.toString()\n                })\n                .then(function(r){ return r.json(); })\n                .then(function(json){\n                    var months = (json && json.ok && Array.isArray(json.months)) ? json.months : [];\n\n                    monthSelector.innerHTML = '';\n\n                    if (!months.length) {\n                        monthToolbar.style.display = 'none';\n                        monthResults.innerHTML = '<div class=\"error-box\">'+L().no_month_available+'<\/div>';\n                        monthHeadbar.style.display = 'block';\n                        if (selectedMonthLabel) selectedMonthLabel.textContent = '';\n                        return;\n                    }\n\n                    months.forEach(function(m, index){\n                        var o = document.createElement('option');\n                        o.value = m.value;\n                        o.textContent = m.label;\n                        if (index === 0) o.selected = true;\n                        monthSelector.appendChild(o);\n                    });\n\n                    monthToolbar.style.display = 'block';\n                    state.currentArchiveMonth = months[0].value;\n                    fetchMonthTable(state.currentArchiveMonth, 1);\n                })\n                .catch(function(){\n                    monthToolbar.style.display = 'none';\n                    monthResults.innerHTML = '<div class=\"error-box\">'+L().ajax_err+'<\/div>';\n                });\n            }\n\n            function autoLoadCurrentTab(){\n                state.mainPage = 1;\n                if (mustLoad()) post();\n                else setEmpty();\n            }\n\n\t\t\troot.querySelectorAll('.gdcuni-tab').forEach(function(btn){\n\t\t\t\tbtn.addEventListener('click', function(){\n\t\t\t\t\tstate.tab = btn.getAttribute('data-tab') || 'results';\n\t\t\t\t\tsaveTab(state.tab);\n\n\t\t\t\t\tif (state.tab === 'records') {\n\t\t\t\t\t\tstate.name = '';\n\t\t\t\t\t\tsaveName('');\n\t\t\t\t\t\tif (id('name')) id('name').value = '';\n\t\t\t\t\t}\n\n\t\t\t\t\tsetActiveTab();\n\t\t\t\t\tmonthSection.style.display = 'none';\n\t\t\t\t\tautoLoadCurrentTab();\n\t\t\t\t});\n\t\t\t});\n            var form = id('form');\n            if (form) {\n                form.addEventListener('submit', function(e){\n                    e.preventDefault();\n                    state.name = (id('name') || {}).value || '';\n                    saveName(state.name);\n                    autoLoadCurrentTab();\n                });\n            }\n\n            var catSel = id('cat');\n            if (catSel) {\n                catSel.addEventListener('change', function(){\n                    state.cat = catSel.value || '';\n                    saveCat(state.cat);\n                    monthSection.style.display = 'none';\n                    state.mainPage = 1;\n                    autoLoadCurrentTab();\n                });\n            }\n\n            var regionSel = id('region');\n            if (regionSel) {\n                regionSel.addEventListener('change', function(){\n                    state.region = regionSel.value || '';\n                    saveRegion(state.region);\n                    monthSection.style.display = 'none';\n                    state.mainPage = 1;\n                    autoLoadCurrentTab();\n                });\n            }\n\n            if (ratioPackSelect) {\n                ratioPackSelect.addEventListener('change', function(){\n                    var v = parseInt(this.value || '5', 10);\n                    if ([5,10,15,20].indexOf(v) === -1) v = 5;\n                    state.ratioPack = v;\n                    saveRatioPack(v);\n                    monthSection.style.display = 'none';\n                    state.mainPage = 1;\n                    if (state.tab === 'ratios') autoLoadCurrentTab();\n                });\n            }\n\n            var nameInput = id('name');\n            if (nameInput) {\n                nameInput.value = state.name || '';\n                nameInput.addEventListener('input', function(){\n                    state.name = nameInput.value || '';\n                    saveName(state.name);\n\n                    clearTimeout(nameDebounce);\n                    nameDebounce = setTimeout(function(){\n                        state.mainPage = 1;\n                        if (mustLoad()) post();\n                    }, 350);\n                });\n\n                bindClearButton(nameInput);\n            }\n\n            if (monthBtn) {\n                monthBtn.addEventListener('click', function(){\n                    openMonthPanel();\n                });\n            }\n\n            if (backMonthBtn) {\n                backMonthBtn.addEventListener('click', function(){\n                    monthSection.style.display = 'none';\n                    setTimeout(function(){\n                        window.scrollTo({ top: root.offsetTop - 10, behavior: 'smooth' });\n                    }, 80);\n                });\n            }\n\n            if (monthSelector) {\n                monthSelector.addEventListener('change', function(){\n                    if (this.value) {\n                        state.monthPage = 1;\n                        fetchMonthTable(this.value, 1);\n                    }\n                });\n            }\n\n            if (resultsMonthSelector) {\n                resultsMonthSelector.addEventListener('change', function(){\n                    state.resultsMonth = this.value || '__CURRENT__';\n                    saveResultsMonth(state.resultsMonth);\n                    state.mainPage = 1;\n                    loadResultsInline();\n                });\n            }\n\n            if (monthSearch) {\n                bindClearButton(monthSearch);\n                monthSearch.addEventListener('input', function(){\n                    clearTimeout(monthDebounce);\n                    monthDebounce = setTimeout(function(){\n                        state.monthPage = 1;\n                        if (state.currentArchiveMonth) {\n                            fetchMonthTable(state.currentArchiveMonth, 1);\n                        }\n                    }, 350);\n                });\n            }\n\n            function rerenderTextsOnly(){\n                var tx = L();\n\n                populateCats();\n                populateRatioPack();\n                if (WITH_REGION) populateRegions();\n\n                setActiveTab();\n\n                var name = id('name');\n                if (name) name.placeholder = getSearchPlaceholder();\n\n                var submit = root.querySelector('button[type=\"submit\"]');\n                if (submit) submit.textContent = tx.search;\n\n                if (monthBtn) monthBtn.textContent = tx.btn_show_month;\n                if (backMonthBtn) backMonthBtn.textContent = tx.btn_back_search;\n                if (monthSearch) monthSearch.placeholder = tx.month_search_ph;\n                if (id('month_title')) id('month_title').textContent = tx.month_title;\n\n                if (ratioPackSelect) {\n                    ratioPackSelect.options[0].text = tx.ratio5;\n                    ratioPackSelect.options[1].text = tx.ratio10;\n                    ratioPackSelect.options[2].text = tx.ratio15;\n                    ratioPackSelect.options[3].text = tx.ratio20;\n                }\n\n                root.querySelectorAll('.gdcuni-tab').forEach(function(btn){\n                    var tab = btn.getAttribute('data-tab');\n                    if (tab === 'results') btn.textContent = tx.results;\n                    if (tab === 'ranking') btn.textContent = tx.ranking;\n                    if (tab === 'records') btn.textContent = tx.records;\n                    if (tab === 'ratios') btn.textContent = tx.ratios;\n                    if (tab === 'stats') btn.textContent = tx.stats;\n                });\n\n                if (state.tab === 'results') {\n                    loadResultsInline();\n                } else {\n                    autoLoadCurrentTab();\n                }\n            }\n\n            window.addEventListener('gdcyc:lang-change', function(){\n                rerenderTextsOnly();\n            });\n\n\t\t\tpopulateCats();\n\t\t\tpopulateRatioPack();\n\t\t\tif (WITH_REGION) populateRegions();\n\t\t\tsetActiveTab();\n\t\t\trefreshSearchPlaceholder();\n\t\t\tsetSearchVisibility();\n\t\t\tautoLoadCurrentTab();\n        })();\n        <\/script>\n        \n    <style>\n      .gdcyc-footer-premium{\n        max-width:1240px;\n        margin:18px auto 28px auto;\n        padding:0 8px;\n        color:#fff;\n        font-family:'Roboto',system-ui,-apple-system,\"Segoe UI\",Arial,sans-serif;\n      }\n\n      .gdcyc-footer-card{\n        position:relative;\n        overflow:hidden;\n        border-radius:24px;\n        padding:18px 20px;\n        background:\n          linear-gradient(rgba(255,255,255,.02) 1px, transparent 1px),\n          linear-gradient(90deg, rgba(255,255,255,.02) 1px, transparent 1px),\n          radial-gradient(circle at 15% 18%, rgba(255,206,0,.12) 0%, transparent 22%),\n          radial-gradient(circle at 85% 15%, rgba(221,0,0,.15) 0%, transparent 24%),\n          linear-gradient(135deg, rgba(8,8,8,.96) 0%, rgba(28,28,28,.96) 38%, rgba(120,0,0,.92) 68%, rgba(190,145,0,.90) 100%);\n        background-size:42px 42px,42px 42px,auto,auto,auto;\n        border:1px solid rgba(255,255,255,.10);\n        box-shadow:\n          0 16px 40px rgba(0,0,0,.20),\n          inset 0 1px 0 rgba(255,255,255,.05);\n      }\n\n      .gdcyc-footer-card::before{\n        content:\"\";\n        position:absolute;\n        inset:-1px;\n        border-radius:inherit;\n        pointer-events:none;\n        background:linear-gradient(135deg, rgba(255,255,255,.10), transparent 25%, transparent 75%, rgba(255,206,0,.08));\n        mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n        -webkit-mask:linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n        padding:1px;\n        mask-composite:exclude;\n        -webkit-mask-composite:xor;\n      }\n\n      .gdcyc-footer-row{\n        display:flex;\n        align-items:center;\n        justify-content:space-between;\n        gap:18px;\n        flex-wrap:wrap;\n      }\n\n      .gdcyc-footer-left{\n        display:flex;\n        flex-direction:column;\n        gap:6px;\n        min-width:0;\n      }\n\n      .gdcyc-footer-brand{\n        font-size:1rem;\n        font-weight:800;\n        letter-spacing:.06em;\n      }\n\n      .gdcyc-footer-sub{\n        color:rgba(255,255,255,.74);\n        font-size:.92rem;\n      }\n\n      .gdcyc-footer-links{\n        display:flex;\n        align-items:center;\n        gap:10px;\n        flex-wrap:wrap;\n      }\n\n      .gdcyc-footer-links a{\n        display:inline-flex;\n        align-items:center;\n        justify-content:center;\n        gap:8px;\n        min-height:42px;\n        padding:9px 14px;\n        border-radius:14px;\n        border:1px solid rgba(255,255,255,.12);\n        background:rgba(255,255,255,.06);\n        color:#fff !important;\n        text-decoration:none !important;\n        font-weight:700;\n        transition:background .2s ease, transform .2s ease, box-shadow .2s ease;\n        box-shadow:0 8px 20px rgba(0,0,0,.10);\n      }\n\n      .gdcyc-footer-links a:hover{\n        background:rgba(255,255,255,.10);\n        transform:translateY(-1px);\n      }\n\n      .gdcyc-footer-facebook{\n        position:relative;\n        overflow:hidden;\n        background:linear-gradient(135deg, #1877F2 0%, #0f5dc9 100%) !important;\n        border:1px solid rgba(255,255,255,.18) !important;\n        box-shadow:0 10px 24px rgba(24,119,242,.28) !important;\n      }\n\n      .gdcyc-footer-facebook::before{\n        content:\"\";\n        position:absolute;\n        inset:0;\n        background:linear-gradient(135deg, rgba(255,255,255,.16), transparent 40%, transparent 70%, rgba(255,255,255,.08));\n        pointer-events:none;\n      }\n\n      .gdcyc-footer-facebook:hover{\n        filter:brightness(1.05);\n        box-shadow:0 14px 30px rgba(24,119,242,.34) !important;\n      }\n\n      .gdcyc-footer-facebook .fb-icon{\n        display:inline-flex;\n        align-items:center;\n        justify-content:center;\n        width:22px;\n        height:22px;\n        border-radius:999px;\n        background:rgba(255,255,255,.18);\n        font-size:14px;\n        font-weight:900;\n        flex:0 0 auto;\n      }\n\n      .gdcyc-footer-facebook .fb-text{\n        display:flex;\n        flex-direction:column;\n        line-height:1.05;\n        text-align:left;\n      }\n\n      .gdcyc-footer-facebook .fb-text small{\n        font-size:.72rem;\n        opacity:.88;\n        font-weight:600;\n      }\n\n      @media (max-width:640px){\n        .gdcyc-footer-card{\n          padding:16px 14px;\n          border-radius:20px;\n        }\n\n        .gdcyc-footer-row{\n          flex-direction:column;\n          align-items:flex-start;\n        }\n\n        .gdcyc-footer-links{\n          width:100%;\n        }\n\n        .gdcyc-footer-links a{\n          width:100%;\n        }\n      }\n    <\/style>\n\n    <div class=\"gdcyc-footer-premium\">\n      <div class=\"gdcyc-footer-card\">\n        <div class=\"gdcyc-footer-row\">\n          <div class=\"gdcyc-footer-left\">\n            <div class=\"gdcyc-footer-brand\" id=\"gdcycFooterBrand\">GDCYC DEUTSCHLAND<\/div>\n            <div class=\"gdcyc-footer-sub\" id=\"gdcycFooterSub\">Radsport \u2022 Deutschland<\/div>\n          <\/div>\n\n          <div class=\"gdcyc-footer-links\">\n            <a href=\"https:\/\/gdcyc.be\/\" id=\"gdcycFooterBelgique\">\ud83c\udde7\ud83c\uddea Belgique<\/a>\n\n            <a href=\"https:\/\/gdcyc.fr\/\" id=\"gdcycFooterFrance\">\ud83c\uddeb\ud83c\uddf7 France<\/a>\n\n            <a href=\"https:\/\/gdcyc.de\/\" id=\"gdcycFooterGermany\">\ud83c\udde9\ud83c\uddea Deutschland<\/a>\n\n            <a href=\"https:\/\/www.facebook.com\/profile.php?id=61559222925474\"\n               id=\"gdcycFooterFacebook\"\n               class=\"gdcyc-footer-facebook\"\n               target=\"_blank\"\n               rel=\"noopener noreferrer\">\n              <span class=\"fb-icon\">f<\/span>\n              <span class=\"fb-text\">\n                <span id=\"gdcycFooterFacebookTitle\">Facebook beitreten<\/span>\n                <small id=\"gdcycFooterFacebookSub\">GDCYC-Seite folgen<\/small>\n              <\/span>\n            <\/a>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n\n    <script>\n      (function(){\n        var FOOTER_TX = {\n          de: {\n            brand: 'GDCYC DEUTSCHLAND',\n            sub: 'Radsport \u2022 Deutschland',\n            belgique: 'Belgien',\n            france: 'Frankreich',\n            germany: 'Deutschland',\n            fbTitle: 'Facebook beitreten',\n            fbSub: 'GDCYC-Seite folgen'\n          },\n          fr: {\n            brand: 'GDCYC ALLEMAGNE',\n            sub: 'Cyclisme \u2022 Allemagne',\n            belgique: 'Belgique',\n            france: 'France',\n            germany: 'Allemagne',\n            fbTitle: 'Rejoindre Facebook',\n            fbSub: 'Suivre la page GDCYC'\n          },\n          en: {\n            brand: 'GDCYC GERMANY',\n            sub: 'Cycling \u2022 Germany',\n            belgique: 'Belgium',\n            france: 'France',\n            germany: 'Germany',\n            fbTitle: 'Join on Facebook',\n            fbSub: 'Follow the GDCYC page'\n          }\n        };\n\n        function getLang(){\n          if (window.GDCYC_LANG && typeof window.GDCYC_LANG.get === 'function') {\n            return window.GDCYC_LANG.get();\n          }\n          return (window.currentLang || 'de');\n        }\n\n        function applyFooterLang(){\n          var lang = getLang();\n          var tx = FOOTER_TX[lang] || FOOTER_TX.de;\n\n          var brand = document.getElementById('gdcycFooterBrand');\n          var sub = document.getElementById('gdcycFooterSub');\n          var be = document.getElementById('gdcycFooterBelgique');\n          var fr = document.getElementById('gdcycFooterFrance');\n          var de = document.getElementById('gdcycFooterGermany');\n          var fbTitle = document.getElementById('gdcycFooterFacebookTitle');\n          var fbSub = document.getElementById('gdcycFooterFacebookSub');\n\n          if (brand) brand.textContent = tx.brand;\n          if (sub) sub.textContent = tx.sub;\n          if (be) be.innerHTML = '\ud83c\udde7\ud83c\uddea ' + tx.belgique;\n          if (fr) fr.innerHTML = '\ud83c\uddeb\ud83c\uddf7 ' + tx.france;\n          if (de) de.innerHTML = '\ud83c\udde9\ud83c\uddea ' + tx.germany;\n          if (fbTitle) fbTitle.textContent = tx.fbTitle;\n          if (fbSub) fbSub.textContent = tx.fbSub;\n        }\n\n        document.addEventListener('DOMContentLoaded', applyFooterLang);\n        window.addEventListener('gdcyc:lang-change', applyFooterLang);\n        applyFooterLang();\n      })();\n    <\/script>\n    <\/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-daea0d4 e-flex e-con-boxed e-con e-parent\" data-id=\"daea0d4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\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":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"give_campaign_id":0,"footnotes":""},"class_list":["post-17793","page","type-page","status-publish","hentry"],"campaignId":"","_links":{"self":[{"href":"https:\/\/gdcyc.de\/index.php\/wp-json\/wp\/v2\/pages\/17793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gdcyc.de\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gdcyc.de\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gdcyc.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gdcyc.de\/index.php\/wp-json\/wp\/v2\/comments?post=17793"}],"version-history":[{"count":115,"href":"https:\/\/gdcyc.de\/index.php\/wp-json\/wp\/v2\/pages\/17793\/revisions"}],"predecessor-version":[{"id":18633,"href":"https:\/\/gdcyc.de\/index.php\/wp-json\/wp\/v2\/pages\/17793\/revisions\/18633"}],"wp:attachment":[{"href":"https:\/\/gdcyc.de\/index.php\/wp-json\/wp\/v2\/media?parent=17793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}