{"id":424,"date":"2024-07-29T08:52:27","date_gmt":"2024-07-29T13:52:27","guid":{"rendered":"https:\/\/tcoalliance.com\/?page_id=424"},"modified":"2025-04-20T20:58:24","modified_gmt":"2025-04-21T01:58:24","slug":"contact","status":"publish","type":"page","link":"https:\/\/tcoalliance.com\/de\/contact\/","title":{"rendered":"Kontakt"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; custom_padding_last_edited=&#8221;on|phone&#8221; admin_label=&#8221;Header &#8221; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;5ca0172d-92d0-465d-bd0d-1f5afa9d3ac6&#8243; vertical_offset=&#8221;-97px&#8221; z_index=&#8221;0&#8243; custom_margin=&#8221;0px||-97px||false|false&#8221; custom_margin_tablet=&#8221;0px||||false|false&#8221; custom_margin_phone=&#8221;0px||||false|false&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; custom_padding=&#8221;150px||||false|false&#8221; custom_padding_tablet=&#8221;150px||||false|false&#8221; custom_padding_phone=&#8221;150px||||false|false&#8221; locked=&#8221;off&#8221; collapsed=&#8221;on&#8221; global_colors_info=&#8221;{%22gcid-1f1bf5fb-a99d-4acc-8d9e-ddac074c158c%22:%91%22background_color_gradient_stops%22%93,%22gcid-a78660e1-cfc7-4771-a566-6834d6a7f06a%22:%91%22background_color_gradient_stops%22%93,%22gcid-24b0db87-dafa-47d9-995f-b90181e18c52%22:%91%22background_color_gradient_stops%22%93}&#8221;][et_pb_row custom_padding_last_edited=&#8221;on|phone&#8221; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; z_index=&#8221;0&#8243; custom_margin=&#8221;0px||0px||false|false&#8221; custom_margin_tablet=&#8221;0px||0px||false|false&#8221; custom_margin_phone=&#8221;0px||0px||false|false&#8221; custom_margin_last_edited=&#8221;on|desktop&#8221; custom_padding=&#8221;20px||0px||false|false&#8221; custom_padding_tablet=&#8221;40px||||false|false&#8221; custom_padding_phone=&#8221;40px||||false|false&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;6efb6bbd-12a1-4834-b469-9798f4a40b40&#8243; text_font=&#8221;Roboto Condensed|700|||||||&#8221; text_text_color=&#8221;gcid-f43cd7e2-1a7c-4e24-97ee-48010a9d7f8b&#8221; positioning=&#8221;relative&#8221; z_index=&#8221;0&#8243; custom_margin=&#8221;||1px|||&#8221; custom_padding=&#8221;||0px|||&#8221; global_colors_info=&#8221;{%22gcid-1f1b4e15-7cc6-4e13-8154-74d77a956460%22:%91%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22%93,%22gcid-d7cd5a78-aaef-4f36-82a3-4d3706015cba%22:%91%22link_text_color%22,%22quote_text_color%22,%22link_text_color%22,%22quote_text_color%22,%22link_text_color%22,%22quote_text_color%22,%22link_text_color%22,%22quote_text_color%22,%22link_text_color%22,%22quote_text_color%22,%22link_text_color%22,%22quote_text_color%22,%22link_text_color%22,%22quote_text_color%22,%22link_text_color%22,%22quote_text_color%22,%22link_text_color%22,%22quote_text_color%22,%22link_text_color%22,%22quote_text_color%22,%22link_text_color%22,%22quote_text_color%22%93,%22gcid-primary-color%22:%91%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22,%22quote_text_color%22%93,%22gcid-f43cd7e2-1a7c-4e24-97ee-48010a9d7f8b%22:%91%22text_text_color%22%93}&#8221;]<\/p>\n<p>Discover Your Fleet&#8217;s True Potential<\/p>\n<p>[\/et_pb_text][et_pb_heading title=&#8221;Contact Us&#8221; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;5cc275b2-b54a-44e7-a32c-abf79622799f&#8221; title_font=&#8221;Roboto Condensed||||||||&#8221; title_text_align=&#8221;left&#8221; title_text_color=&#8221;gcid-738421df-0a31-42d8-87d8-492f3a283d4a&#8221; custom_margin=&#8221;||10px||false|false&#8221; global_colors_info=&#8221;{%22gcid-738421df-0a31-42d8-87d8-492f3a283d4a%22:%91%22title_text_color%22%93}&#8221;][\/et_pb_heading][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.25.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.1&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;a4d5bd0b-c6df-4efa-93df-b960974f4af4&#8243; positioning=&#8221;relative&#8221; global_colors_info=&#8221;{}&#8221;]The TCO Alliance is dedicated to offering a comprehensive cost analysis between electric and traditional delivery vehicles. Our members, including K2 Mobility, Avalon Solutions, Fraunhofer IFAM, Power Innovation, Electrofleet and GLE as TCOA coordinator, contribute valuable data to ensure our comparisons are precise and reliable.[\/et_pb_text][et_pb_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_code][et_pb_code _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; custom_margin=&#8221;|0px||0px|false|false&#8221; custom_padding=&#8221;|0px||0px|false|false&#8221; sticky_enabled=&#8221;0&#8243;]    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Roboto+Condensed:wght@700&family=Roboto:wght@400;700&display=swap\" rel=\"stylesheet\">\n\n    <style>\n      #contact-form-container {\n        font-family: 'Roboto', sans-serif;\n        max-width: 1200px;\n        margin: 0 auto;\n        padding: 0;\n        background-color: transparent;\n      }\n      .form-message {\n        padding: 15px;\n        margin-top: 20px;\n        border-radius: 5px;\n        display: none;\n      }\n      .form-message.success {\n        background-color: rgba(223, 242, 191, 0.15);\n        color: #4F8A10;\n        border: 1px solid rgba(79, 138, 16, 0.3);\n        display: block;\n      }\n      .form-message.error {\n        background-color: rgba(255, 210, 210, 0.15);\n        color: #D8000C;\n        border: 1px solid rgba(216, 0, 12, 0.3);\n        display: block;\n      }\n      #contact-form {\n        display: grid;\n        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n        column-gap: 40px;\n        row-gap: 30px;\n      }\n      .form-group {\n        margin-bottom: 0;\n        width: 100%;\n      }\n      .form-group.full-width {\n        grid-column: 1 \/ -1;\n      }\n      #contact-form-container input[type=\"text\"],\n      #contact-form-container input[type=\"email\"],\n      #contact-form-container textarea {\n        width: 100%;\n        padding: 12px 20px;\n        background-color: transparent;\n        border: 1px solid rgba(255, 255, 255, 0.5);\n        border-radius: 15px;\n        color: white;\n        font-size: 16px;\n        transition: border-color 0.3s ease;\n        box-sizing: border-box;\n      }\n      #contact-form-container input::placeholder,\n      #contact-form-container textarea::placeholder {\n        color: rgba(255, 255, 255, 0.7);\n      }\n      #contact-form-container input[type=\"text\"]:focus,\n      #contact-form-container input[type=\"email\"]:focus,\n      #contact-form-container textarea:focus {\n        border-color: rgba(255, 255, 255, 0.8);\n        outline: none;\n      }\n      #contact-form-container textarea {\n        min-height: 150px;\n        resize: vertical;\n        border-radius: 15px;\n        padding: 15px 20px;\n      }\n      .captcha-group {\n        display: flex;\n        align-items: center;\n        gap: 15px;\n      }\n      #captcha-image {\n        background-color: rgba(255, 255, 255, 0.9);\n        padding: 8px 15px;\n        border-radius: 6px;\n        font-family: 'Courier New', monospace;\n        font-weight: bold;\n        font-size: 20px;\n        letter-spacing: 3px;\n        text-decoration: line-through;\n        color: #333;\n        user-select: none;\n        position: relative;\n        overflow: hidden;\n      }\n      #captcha-image::before {\n        content: \"\";\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        background: \n          repeating-linear-gradient(\n            45deg, \n            rgba(0,0,0,0.05), \n            rgba(0,0,0,0.05) 5px, \n            rgba(0,0,0,0) 5px, \n            rgba(0,0,0,0) 10px\n          );\n      }\n      #refresh-captcha {\n        background-color: rgba(255, 255, 255, 0.08);\n        color: white;\n        border: 1px solid rgba(255, 255, 255, 0.2);\n        border-radius: 6px;\n        padding: 8px 12px;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        font-size: 18px;\n      }\n      #refresh-captcha:hover {\n        background-color: rgba(255, 255, 255, 0.15);\n      }\n      #contact-form-container button[type=\"submit\"] {\n        padding: 12px 30px;\n        background-color: #000;\n        color: white;\n        border: none;\n        border-radius: 15px;\n        cursor: pointer;\n        font-weight: bold;\n        font-size: 14px;\n        text-transform: uppercase;\n        letter-spacing: 1px;\n        transition: all 0.3s ease;\n        justify-self: end;\n        display: flex;\n        align-items: center;\n        gap: 10px;\n      }\n      #contact-form-container button[type=\"submit\"]::after {\n        content: '\u2192';\n        font-size: 16px;\n      }\n      #contact-form-container button[type=\"submit\"]:hover {\n        background-color: #333;\n      }\n      #captcha-input {\n        flex: 1;\n      }\n      \n      @media (max-width: 768px) {\n        #contact-form {\n          grid-template-columns: 1fr;\n        }\n        #contact-form-container button[type=\"submit\"] {\n          justify-self: stretch;\n          width: 100%;\n          justify-content: center;\n        }\n      }\n    <\/style>\n\n    <div id=\"contact-form-container\">\n      <form id=\"contact-form\" method=\"post\" action=\"https:\/\/tcoalliance.com\/wp-admin\/admin-ajax.php\">\n        <input type=\"hidden\" name=\"action\" value=\"submit_contact_form\">\n        <input type=\"hidden\" id=\"contact_form_nonce\" name=\"contact_form_nonce\" value=\"935387ea1b\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/de\/wp-json\/wp\/v2\/pages\/424\" \/>        <input type=\"hidden\" id=\"captcha-token\" name=\"captcha_token\" value=\"\">\n        \n        <div class=\"form-group\">\n          <input type=\"text\" id=\"userName\" name=\"userName\" placeholder=\"Name\" required>\n        <\/div>\n        \n        <div class=\"form-group\">\n          <input type=\"email\" id=\"userEmail\" name=\"userEmail\" placeholder=\"Email Address\" required>\n        <\/div>\n        \n        <div class=\"form-group full-width\">\n          <textarea id=\"userMessage\" name=\"userMessage\" placeholder=\"Message\" required><\/textarea>\n        <\/div>\n        \n        <div class=\"form-group\">\n          <div class=\"captcha-group\">\n            <div id=\"captcha-image\"><\/div>\n            <button type=\"button\" id=\"refresh-captcha\" title=\"Get a new code\">\u21bb<\/button>\n            <input type=\"text\" id=\"captcha-input\" name=\"captcha_input\" placeholder=\"Enter security code\" required>\n          <\/div>\n        <\/div>\n        \n        <div class=\"form-group\">\n          <button type=\"submit\">SEND<\/button>\n        <\/div>\n      <\/form>\n      \n      <div id=\"form-message\" class=\"form-message\"><\/div>\n    <\/div>\n\n    <script>\n    document.addEventListener('DOMContentLoaded', function() {\n      const form = document.getElementById('contact-form');\n      const formMessage = document.getElementById('form-message');\n      const captchaImage = document.getElementById('captcha-image');\n      const captchaInput = document.getElementById('captcha-input');\n      const captchaToken = document.getElementById('captcha-token');\n      const refreshCaptchaBtn = document.getElementById('refresh-captcha');\n      \n      \/\/ Generate a random string of specified length\n      function generateRandomString(length) {\n        const chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789';\n        let result = '';\n        for (let i = 0; i < length; i++) {\n          result += chars.charAt(Math.floor(Math.random() * chars.length));\n        }\n        return result;\n      }\n      \n      \/\/ Create captcha and store value\n      function refreshCaptcha() {\n        const captchaCode = generateRandomString(6);\n        captchaImage.textContent = captchaCode;\n        \n        \/\/ Create a timestamp and hash for additional security\n        const timestamp = Date.now();\n        const token = btoa(captchaCode + '|' + timestamp);\n        captchaToken.value = token;\n        \n        return captchaCode;\n      }\n      \n      \/\/ Initialize captcha on page load\n      let currentCaptchaCode = refreshCaptcha();\n      \n      \/\/ Refresh captcha button\n      refreshCaptchaBtn.addEventListener('click', function(e) {\n        e.preventDefault();\n        currentCaptchaCode = refreshCaptcha();\n        captchaInput.value = '';\n      });\n      \n      if (form) {\n        console.log('Contact form initialized');\n        \n        form.addEventListener('submit', function(e) {\n          e.preventDefault();\n          \n          \/\/ Validate captcha\n          if (captchaInput.value.toUpperCase() !== currentCaptchaCode) {\n            alert('Incorrect security code. Please try again.');\n            currentCaptchaCode = refreshCaptcha();\n            captchaInput.value = '';\n            return;\n          }\n          \n          formMessage.innerHTML = 'Sending your message...';\n          formMessage.className = 'form-message';\n          formMessage.style.display = 'block';\n          \n          const formDataObj = new FormData(form);\n          \n          fetch(form.getAttribute('action'), {\n            method: 'POST',\n            body: formDataObj,\n            credentials: 'same-origin'\n          })\n          .then(response => {\n            return response.text().then(text => {\n              try {\n                return JSON.parse(text);\n              } catch (e) {\n                console.error('JSON parse error:', e);\n                return { \n                  success: false, \n                  data: 'Server returned invalid response. Please check with administrator.' \n                };\n              }\n            });\n          })\n          .then(data => {\n            if (data.success) {\n              formMessage.innerHTML = data.data || 'Thank you! Your message has been sent successfully.';\n              formMessage.className = 'form-message success';\n              form.reset();\n              currentCaptchaCode = refreshCaptcha();\n            } else {\n              formMessage.innerHTML = data.data || 'There was an error submitting the form. Please try again.';\n              formMessage.className = 'form-message error';\n              currentCaptchaCode = refreshCaptcha();\n            }\n          })\n          .catch(error => {\n            console.error('Fetch error:', error);\n            formMessage.innerHTML = 'There was an error submitting the form. Please try again.';\n            formMessage.className = 'form-message error';\n            currentCaptchaCode = refreshCaptcha();\n          });\n        });\n      } else {\n        console.error('Contact form not found on page!');\n      }\n    });\n    <\/script>\n    [\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;Contact&#8221; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;5ca0172d-92d0-465d-bd0d-1f5afa9d3ac6&#8243; custom_margin=&#8221;0px||||false|false&#8221; custom_padding=&#8221;0px||||false|false&#8221; locked=&#8221;off&#8221; collapsed=&#8221;off&#8221; global_colors_info=&#8221;{%22gcid-2352d280-fe84-43b1-a71e-f400c35a526a%22:%91%22background_color%22%93}&#8221;][et_pb_row column_structure=&#8221;1_3,1_3,1_3&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_blurb title=&#8221;Email Us&#8221; use_icon=&#8221;on&#8221; font_icon=&#8221;&#xe076;||divi||400&#8243; icon_color=&#8221;gcid-secondary-color&#8221; icon_alignment=&#8221;center&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;b7803c94-927e-443d-9718-67a18695bcfd&#8221; text_orientation=&#8221;center&#8221; locked=&#8221;off&#8221; global_colors_info=&#8221;{%22gcid-d7cd5a78-aaef-4f36-82a3-4d3706015cba%22:%91%22link_text_color%22,%22link_text_color%22,%22link_text_color%22,%22link_text_color%22%93,%22gcid-1f1b4e15-7cc6-4e13-8154-74d77a956460%22:%91%22link_text_color%22,%22quote_text_color%22,%22quote_border_color%22,%22link_text_color%22,%22quote_text_color%22,%22quote_border_color%22,%22link_text_color%22,%22quote_text_color%22,%22quote_border_color%22%93,%22gcid-secondary-color%22:%91%22icon_color%22%93}&#8221;]<\/p>\n<p>Bruno Lukas<br \/>External TCO Alliance Coordinator on behalf of ElectroFleet GmbH<\/p>\n<p><a href=\"mailto:lukas@gle-berlin.de\">Email: mail@gle-berlin.de\u00a0<\/a><br \/>c\/o Green Logistics Enabler<\/p>\n<p>[\/et_pb_blurb][\/et_pb_column][et_pb_column type=&#8221;1_3&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; admin_label=&#8221;Call To Action&#8221; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; background_image=&#8221;https:\/\/tcoalliance.com\/wp-content\/uploads\/2024\/07\/non-profit-01-1.jpg&#8221; parallax=&#8221;on&#8221; z_index=&#8221;1&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;e532d522-7772-46da-a9a3-3e63299d1303&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.25.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_heading title=&#8221;Explore the TCO Alliance&#8221; _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;f227339e-7765-464e-a406-f347a16a3e1c&#8221; title_text_align=&#8221;center&#8221; title_text_color=&#8221;#FFFFFF&#8221; custom_margin=&#8221;||10px||false|false&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_heading][et_pb_text _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;a4d5bd0b-c6df-4efa-93df-b960974f4af4&#8243; text_orientation=&#8221;center&#8221;]<\/p>\n<p>Explore how leading suppliers and manufacturers are joining forces to lower the cost of switching from diesel to electric commercial trucks and vans.<\/p>\n<p>[\/et_pb_text][et_pb_button button_text=&#8221;Learn More&#8221; button_alignment=&#8221;center&#8221; _builder_version=&#8221;4.27.4&#8243; _module_preset=&#8221;ec232acc-c5d4-452c-a33a-229826290fa9&#8243; button_text_size=&#8221;15px&#8221; button_text_color=&#8221;#FFFFFF&#8221; button_bg_color=&#8221;#000000&#8243; button_letter_spacing=&#8221;0em&#8221; button_font=&#8221;Open Sans|700|||||||&#8221; custom_padding=&#8221;0px|28px|0px|11px|true|false&#8221; hover_enabled=&#8221;0&#8243; locked=&#8221;off&#8221; button_url=&#8221;https:\/\/tcoalliance.com\/about\/&#8221; sticky_enabled=&#8221;0&#8243;][\/et_pb_button][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Discover Your Fleet&#8217;s True PotentialThe TCO Alliance is dedicated to offering a comprehensive cost analysis between electric and traditional delivery vehicles. Our members, including K2 Mobility, Avalon Solutions, Fraunhofer IFAM, Power Innovation, Electrofleet and GLE as TCOA coordinator, contribute valuable data to ensure our comparisons are precise and reliable.    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Roboto+Condensed:wght@700&family=Roboto:wght@400;700&display=swap\" rel=\"stylesheet\">\n\n    <style>\n      #contact-form-container {\n        font-family: 'Roboto', sans-serif;\n        max-width: 1200px;\n        margin: 0 auto;\n        padding: 0;\n        background-color: transparent;\n      }\n      .form-message {\n        padding: 15px;\n        margin-top: 20px;\n        border-radius: 5px;\n        display: none;\n      }\n      .form-message.success {\n        background-color: rgba(223, 242, 191, 0.15);\n        color: #4F8A10;\n        border: 1px solid rgba(79, 138, 16, 0.3);\n        display: block;\n      }\n      .form-message.error {\n        background-color: rgba(255, 210, 210, 0.15);\n        color: #D8000C;\n        border: 1px solid rgba(216, 0, 12, 0.3);\n        display: block;\n      }\n      #contact-form {\n        display: grid;\n        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);\n        column-gap: 40px;\n        row-gap: 30px;\n      }\n      .form-group {\n        margin-bottom: 0;\n        width: 100%;\n      }\n      .form-group.full-width {\n        grid-column: 1 \/ -1;\n      }\n      #contact-form-container input[type=\"text\"],\n      #contact-form-container input[type=\"email\"],\n      #contact-form-container textarea {\n        width: 100%;\n        padding: 12px 20px;\n        background-color: transparent;\n        border: 1px solid rgba(255, 255, 255, 0.5);\n        border-radius: 15px;\n        color: white;\n        font-size: 16px;\n        transition: border-color 0.3s ease;\n        box-sizing: border-box;\n      }\n      #contact-form-container input::placeholder,\n      #contact-form-container textarea::placeholder {\n        color: rgba(255, 255, 255, 0.7);\n      }\n      #contact-form-container input[type=\"text\"]:focus,\n      #contact-form-container input[type=\"email\"]:focus,\n      #contact-form-container textarea:focus {\n        border-color: rgba(255, 255, 255, 0.8);\n        outline: none;\n      }\n      #contact-form-container textarea {\n        min-height: 150px;\n        resize: vertical;\n        border-radius: 15px;\n        padding: 15px 20px;\n      }\n      .captcha-group {\n        display: flex;\n        align-items: center;\n        gap: 15px;\n      }\n      #captcha-image {\n        background-color: rgba(255, 255, 255, 0.9);\n        padding: 8px 15px;\n        border-radius: 6px;\n        font-family: 'Courier New', monospace;\n        font-weight: bold;\n        font-size: 20px;\n        letter-spacing: 3px;\n        text-decoration: line-through;\n        color: #333;\n        user-select: none;\n        position: relative;\n        overflow: hidden;\n      }\n      #captcha-image::before {\n        content: \"\";\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        background: \n          repeating-linear-gradient(\n            45deg, \n            rgba(0,0,0,0.05), \n            rgba(0,0,0,0.05) 5px, \n            rgba(0,0,0,0) 5px, \n            rgba(0,0,0,0) 10px\n          );\n      }\n      #refresh-captcha {\n        background-color: rgba(255, 255, 255, 0.08);\n        color: white;\n        border: 1px solid rgba(255, 255, 255, 0.2);\n        border-radius: 6px;\n        padding: 8px 12px;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        font-size: 18px;\n      }\n      #refresh-captcha:hover {\n        background-color: rgba(255, 255, 255, 0.15);\n      }\n      #contact-form-container button[type=\"submit\"] {\n        padding: 12px 30px;\n        background-color: #000;\n        color: white;\n        border: none;\n        border-radius: 15px;\n        cursor: pointer;\n        font-weight: bold;\n        font-size: 14px;\n        text-transform: uppercase;\n        letter-spacing: 1px;\n        transition: all 0.3s ease;\n        justify-self: end;\n        display: flex;\n        align-items: center;\n        gap: 10px;\n      }\n      #contact-form-container button[type=\"submit\"]::after {\n        content: '\u2192';\n        font-size: 16px;\n      }\n      #contact-form-container button[type=\"submit\"]:hover {\n        background-color: #333;\n      }\n      #captcha-input {\n        flex: 1;\n      }\n      \n      @media (max-width: 768px) {\n        #contact-form {\n          grid-template-columns: 1fr;\n        }\n        #contact-form-container button[type=\"submit\"] {\n          justify-self: stretch;\n          width: 100%;\n          justify-content: center;\n        }\n      }\n    <\/style>\n\n    <div id=\"contact-form-container\">\n      <form id=\"contact-form\" method=\"post\" action=\"https:\/\/tcoalliance.com\/wp-admin\/admin-ajax.php\">\n        <input type=\"hidden\" name=\"action\" value=\"submit_contact_form\">\n        <input type=\"hidden\" id=\"contact_form_nonce\" name=\"contact_form_nonce\" value=\"935387ea1b\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/de\/wp-json\/wp\/v2\/pages\/424\" \/>        <input type=\"hidden\" id=\"captcha-token\" name=\"captcha_token\" value=\"\">\n        \n        <div class=\"form-group\">\n          <input type=\"text\" id=\"userName\" name=\"userName\" placeholder=\"Name\" required>\n        <\/div>\n        \n        <div class=\"form-group\">\n          <input type=\"email\" id=\"userEmail\" name=\"userEmail\" placeholder=\"Email Address\" required>\n        <\/div>\n        \n        <div class=\"form-group full-width\">\n          <textarea id=\"userMessage\" name=\"userMessage\" placeholder=\"Message\" required><\/textarea>\n        <\/div>\n        \n        <div class=\"form-group\">\n          <div class=\"captcha-group\">\n            <div id=\"captcha-image\"><\/div>\n            <button type=\"button\" id=\"refresh-captcha\" title=\"Get a new code\">\u21bb<\/button>\n            <input type=\"text\" id=\"captcha-input\" name=\"captcha_input\" placeholder=\"Enter security code\" required>\n          <\/div>\n        <\/div>\n        \n        <div class=\"form-group\">\n          <button type=\"submit\">SEND<\/button>\n        <\/div>\n      <\/form>\n      \n      <div id=\"form-message\" class=\"form-message\"><\/div>\n    <\/div>\n\n    <script>\n    document.addEventListener('DOMContentLoaded', function() {\n      const form = document.getElementById('contact-form');\n      const formMessage = document.getElementById('form-message');\n      const captchaImage = document.getElementById('captcha-image');\n      const captchaInput = document.getElementById('captcha-input');\n      const captchaToken = document.getElementById('captcha-token');\n      const refreshCaptchaBtn = document.getElementById('refresh-captcha');\n      \n      \/\/ Generate a random string of specified length\n      function generateRandomString(length) {\n        const chars = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789';\n        let result = '';\n        for (let i = 0; i < length; i++) {\n          result += chars.charAt(Math.floor(Math.random() * chars.length));\n        }\n        return result;\n      }\n      \n      \/\/ Create captcha and store value\n      function refreshCaptcha() {\n        const captchaCode = generateRandomString(6);\n        captchaImage.textContent = captchaCode;\n        \n        \/\/ Create a timestamp and hash for additional security\n        const timestamp = Date.now();\n        const token = btoa(captchaCode + '|' + timestamp);\n        captchaToken.value = token;\n        \n        return captchaCode;\n      }\n      \n      \/\/ Initialize captcha on page load\n      let currentCaptchaCode = refreshCaptcha();\n      \n      \/\/ Refresh captcha button\n      refreshCaptchaBtn.addEventListener('click', function(e) {\n        e.preventDefault();\n        currentCaptchaCode = refreshCaptcha();\n        captchaInput.value = '';\n      });\n      \n      if (form) {\n        console.log('Contact form initialized');\n        \n        form.addEventListener('submit', function(e) {\n          e.preventDefault();\n          \n          \/\/ Validate captcha\n          if (captchaInput.value.toUpperCase() !== currentCaptchaCode) {\n            alert('Incorrect security code. Please try again.');\n            currentCaptchaCode = refreshCaptcha();\n            captchaInput.value = '';\n            return;\n          }\n          \n          formMessage.innerHTML = 'Sending your message...';\n          formMessage.className = 'form-message';\n          formMessage.style.display = 'block';\n          \n          const formDataObj = new FormData(form);\n          \n          fetch(form.getAttribute('action'), {\n            method: 'POST',\n            body: formDataObj,\n            credentials: 'same-origin'\n          })\n          .then(response => {\n            return response.text().then(text => {\n              try {\n                return JSON.parse(text);\n              } catch (e) {\n                console.error('JSON parse error:', e);\n                return { \n                  success: false, \n                  data: 'Server returned invalid response. Please check with administrator.' \n                };\n              }\n            });\n          })\n          .then(data => {\n            if (data.success) {\n              formMessage.innerHTML = data.data || 'Thank you! Your message has been sent successfully.';\n              formMessage.className = 'form-message success';\n              form.reset();\n              currentCaptchaCode = refreshCaptcha();\n            } else {\n              formMessage.innerHTML = data.data || 'There was an error submitting the form. Please try again.';\n              formMessage.className = 'form-message error';\n              currentCaptchaCode = refreshCaptcha();\n            }\n          })\n          .catch(error => {\n            console.error('Fetch error:', error);\n            formMessage.innerHTML = 'There was an error submitting the form. Please try again.';\n            formMessage.className = 'form-message error';\n            currentCaptchaCode = refreshCaptcha();\n          });\n        });\n      } else {\n        console.error('Contact form not found on page!');\n      }\n    });\n    <\/script>\n    Bruno LukasExternal TCO Alliance Coordinator on behalf [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-424","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tcoalliance.com\/de\/wp-json\/wp\/v2\/pages\/424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tcoalliance.com\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tcoalliance.com\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tcoalliance.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tcoalliance.com\/de\/wp-json\/wp\/v2\/comments?post=424"}],"version-history":[{"count":38,"href":"https:\/\/tcoalliance.com\/de\/wp-json\/wp\/v2\/pages\/424\/revisions"}],"predecessor-version":[{"id":1524,"href":"https:\/\/tcoalliance.com\/de\/wp-json\/wp\/v2\/pages\/424\/revisions\/1524"}],"wp:attachment":[{"href":"https:\/\/tcoalliance.com\/de\/wp-json\/wp\/v2\/media?parent=424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}