Contact us

For more information and any enquiries – such as RFQs, components & maintenance, press, or other business matters – please contact the relevant APACS department using the details below:

(function () { window.apacsCaptchaFixLoaded = true; if (window.location.pathname.indexOf('/contact-us') !== 0) return; function preparePhonePattern(form) { var tel = form.querySelector('input[type="tel"][pattern]'); if (tel) { tel.removeAttribute('pattern'); tel.removeAttribute('title'); } } function runElementorSubmit(form) { form.setAttribute('data-apacs-recaptcha-token-ready', '1'); preparePhonePattern(form); if (window.jQuery) { window.jQuery(form).trigger('submit'); } else if (form.requestSubmit) { form.requestSubmit(); } else { form.submit(); } setTimeout(function () { form.removeAttribute('data-apacs-recaptcha-token-ready'); }, 2500); } function submitWithRecaptcha(form) { var widget = form.querySelector('.elementor-g-recaptcha[data-type="v3"]'); var response = form.querySelector('textarea[name="g-recaptcha-response"]'); if (!widget || !response || !window.grecaptcha || !grecaptcha.execute) return false; grecaptcha.ready(function () { grecaptcha.execute(widget.getAttribute('data-sitekey'), { action: widget.getAttribute('data-action') || 'Form' }).then(function (token) { response.value = token; response.dispatchEvent(new Event('input', { bubbles: true })); response.dispatchEvent(new Event('change', { bubbles: true })); runElementorSubmit(form); }); }); return true; } function intercept(form, event) { if (!form || !form.matches || !form.matches('form.elementor-form')) return; preparePhonePattern(form); if (form.getAttribute('data-apacs-recaptcha-token-ready') === '1') return; if (!form.querySelector('.elementor-g-recaptcha[data-type="v3"]')) return; if (submitWithRecaptcha(form)) { event.preventDefault(); event.stopImmediatePropagation(); } } document.addEventListener('click', function (event) { var button = event.target && event.target.closest ? event.target.closest('form.elementor-form button[type="submit"]') : null; if (button) intercept(button.closest('form.elementor-form'), event); }, true); document.addEventListener('submit', function (event) { intercept(event.target, event); }, true); })();