{"id":2149,"date":"2025-09-08T14:51:10","date_gmt":"2025-09-08T12:51:10","guid":{"rendered":"https:\/\/thegameassembly.com\/uk\/?page_id=2149"},"modified":"2025-09-12T10:21:17","modified_gmt":"2025-09-12T08:21:17","slug":"get-info","status":"publish","type":"page","link":"https:\/\/thegameassembly.com\/uk\/get-info\/","title":{"rendered":"Get info"},"content":{"rendered":"\n<div class=\"module_wrapper ams_background_module  site__cta-bg--13   site__text-color--dark  cp-120\" style=\"background-image: url(https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/3\/2025\/09\/louiseanderssonapp2-small.jpg)\">\n<div class=\"container_width--full_width_conIcon\">\n\t\n<!-- display message when browser is MSEI --- START -->\n<script>\n\tvar ua = window.navigator.userAgent;\n\tvar isIE = \/MSIE|Trident\/.test(ua);\n\tvar elem = document.createElement('div');\n\telem.style.cssText = 'border:4px solid #000;position:absolute;top:0;left:0;width:100%;min-height:200px;z-index:100000000000;background:#fff;color:#000;padding:30px 20px;font-size:26px;text-align:center;';\n\n\twindow.addEventListener('DOMContentLoaded', function () {\n\t\tif (isIE) {\n\t\t\tvar formElem = document.querySelector('.ams-form__form-wrapper');\n\t\t\telem.innerHTML = 'Vi st\u00f6djer inte Microsoft Explorer, v\u00e4nligen anv\u00e4nd en annan webbl\u00e4sare.';\n\t\t\tformElem.innerHTML = '';\n\t\t\tformElem.appendChild(elem);\n\t\t}\n\t});\n<\/script>\n<!-- display message when browser is MSEI --- END -->\n\n\n<style>\n\n<\/style>\n\n<script>\n\tvar blog_id = '3';\n\tvar post_id = '2149';\n\tvar saved_aca_form_id = 'JhfMAhLP6nHR';\n\tvar orgUnitId = '0c3a35a9-7b81-ef11-ac21-000d3ab65845';\n\tvar current_api = 'email';\n\tvar current_api_type = 'standard';\n<\/script>\n\n\n<div\n\t class=\" ams-form__form-wrapper container ams-form__shape--sharp-corners  site__text-color--dark   site__cta-bg--25  ams_active_form_state_default\"\n\t>\n\n\t\n\t<div\n\t\tclass=\"pb-5 \">\n\n\t\t\n\t\t\n\t\t\t\t\t<h3\n\t\t\t\tclass=\"site__heading-size-4 ams-form__headline text_align--Left  site__primary-color \">\n\t\t\t\tCurious about TGA? Want to apply?\t\t\t<\/h3>\n\t\t\n\t\t\t\t\t<p\n\t\t\t   class=\"ams-form__description text_align--Left \">Share your email and we\u2019ll get back to you with more details. No strings attached.<\/p>\n\t\t\n\t\t<form   id=\"ams-form__69fb6bb35bee1\"\n\t\t\t  autocomplete=\"on\"\n\t\t\t  class=\"ams-form\"\n\t\t\t  method=\"POST\">\n\n\t\t\t<input type=\"hidden\" id=\"aca_send_form_nonce\" name=\"aca_send_form_nonce\" value=\"9504d64685\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/uk\/wp-json\/wp\/v2\/pages\/2149\" \/>\t\t\t<input type=\"hidden\" name=\"aca_form_id\" value=\"JhfMAhLP6nHR\"\/>\n\t\t\t\t\t\t<label\n\t\t\t\t   class=\"ams-form__field-full-width  ams-form__field-required ams-form__field ams-form__label\">\n\t\t\t\t<div class=\"_title site__subheading-11\">Email<\/div>\n\t\t\t\t<input\n\t\t\t\t\t   data-nicename=\"Email\"  required\t\t\t\t\t   type=\"text\" name=\"email\"\/><\/label>\n\t\t\t\t\t\t<fieldset   required\t\t\t\t\t  class=\"ams-form__field-full-width ams-form__checkbox-horizontal   ams-form__field-required ams-form__field ams-form__label ams-form__checkbox-wrapper\">\n\n\t\t\t\t<div   class=\"_title site__subheading-11\">\n\t\t\t\t\tPrivacy policy\t\t\t\t<\/div>\n\n\t\t\t\t\n\t\n\t<div class=\"ams-form__boxes\">\n\t\t\t\t\n\t\t\t<div class=\"ams-form__box-wrapper\">\n\t\t\t\t<label   class=\"container-checkmark site__body_text-2\"\n\t\t\t\t\t   for=\"69fb6bb3641cd\">\n\t\t\t\t\tYes, I have read and agree to the privacy policy\t\t\t\t\t<input   data-nicename=\"Privacy policy\"\n\t\t\t\t\t\t   type=\"radio\"\n\t\t\t\t\t\t   id=\"69fb6bb3641cd\"\n\t\t\t\t\t\t   name=\"multiples-914294\"\n\t\t\t\t\t\t\t\t\t\t\t\t   value=\"Yes, I have read and agree to the privacy policy\">\n\t\t\t\t\t<span class=\"checkmark\"><\/span>\n\t\t\t\t<\/label>\n\t\t\t<\/div>\n\n\t\t\t<\/div>\n\n\t\t\t\t<\/fieldset>\n\t\t\t\t\t\t<div\n\t\t\t\t class=\" ams-form__field site__font-main ams-form__description\">\n\t\t\t\t<p  ><a href=\"https:\/\/thegameassembly.com\/policy-on-privacy-and-cookies\/\"target=\"_blank\"\"rel=\"noopener noreferrer\"><u> Privacy policy<\/u><\/a><\/p><\/div>\n\t\t\t\n\t\t\t<div class=\"ams-form__submit-wrapper text_align--Left\">\n\t\t\t\t<button\n\t\t\t\t\t\tclass=\"btn btn-lg site__buttons-1 slightly-rounded-corners-btn-shape ams-form__submit site__cta-bg--100 site__text-color--light site__text-color--dark slightly-rounded-corners-btn-shape ams_active_button_state_default\"\n\t\t\t\t\t\ttype=\"submit\">\n\t\t\t\t\tSend\t\t\t\t<\/button>\n\t\t\t\t<!--\t\t\t\t<button class=\"btn btn-lg btn_outline__primary site__buttons-1 -->\n\t\t\t\t<!-- ams-form__submit -->\n\t\t\t\t<!--\" type=\"submit\">Skicka<\/button>-->\n\t\t\t\t<div class=\"ams-form__submit-sending\">\n\t\t\t\t\t<div class=\"ams-spinner\"><\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\n\t\t\n\t<\/div> <!-- END ams-form__form-wrapper-->\n<\/div>\n\n\n\n<script>\n\n(function () {\n\tconst pageForms = Array.from(\n\t\tdocument.querySelectorAll(\"#ams-form__69fb6bb35bee1\")\n\t);\n\n\tif (pageForms) {\n\t\tpageForms.forEach((formItem) => {\n\t\t\tinitForm(formItem);\n\t\t});\n\t}\n\n\tfunction initForm(formItem) {\n\t\t\/\/ clear form when back or forward was used to navigate to page\n\t\tif (window.performance && window.performance.navigation.type === window.performance.navigation.TYPE_BACK_FORWARD) {\n\n\t\twindow.addEventListener('DOMContentLoaded', function () {\n\t\t\tsetTimeout(function () {\n\t\t\t\tformItem.reset();\n\t\t\t}, 100);\n\t\t\t});\n\t\t}\n\n\t\tif ('NodeList' in window && !NodeList.prototype.forEach) {\n\t\t\tNodeList.prototype.forEach = function (callback, thisArg) {\n\t\t\t\tthisArg = thisArg || window;\n\t\t\t\tfor (var i = 0; i < this.length; i++) {\n\t\t\t\t\tcallback.call(thisArg, this[i], i, this);\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\t\/*! storejs v1.0.26 | MIT (c) 2019 kenny wang <wowohoo@qq.com> | https:\/\/github.com\/jaywcjlove\/store.js *\/\n\t\tvar store = function () {\n\t\t\"use strict\";\n\t\tvar t = window.localStorage;\n\n\t\tfunction r(t) {\n\t\t\treturn t = JSON.stringify(t), !!\/^\\{[\\s\\S]*\\}$\/.test(t)\n\t\t}\n\n\t\tfunction e(t) {\n\t\t\tif (\"string\" == typeof t) try {\n\t\t\t\treturn JSON.parse(t)\n\t\t\t} catch (r) {\n\t\t\t\treturn t\n\t\t\t}\n\t\t}\n\n\t\tfunction n(t) {\n\t\t\treturn \"[object Function]\" === {}.toString.call(t)\n\t\t}\n\n\t\tfunction i() {\n\t\t\tif (!(this instanceof i)) return new i\n\t\t}\n\n\t\tt = function (t) {\n\t\t\tvar r = \"_Is_Incognit\";\n\t\t\ttry {\n\t\t\t\tt.setItem(r, \"yes\")\n\t\t\t} catch (r) {\n\t\t\t\tif (\"QuotaExceededError\" === r.name) {\n\t\t\t\t\tvar e = function () {\n\t\t\t\t\t};\n\t\t\t\t\tt.__proto__ = {setItem: e, getItem: e, removeItem: e, clear: e}\n\t\t\t\t}\n\t\t\t} finally {\n\t\t\t\t\"yes\" === t.getItem(r) && t.removeItem(r)\n\t\t\t}\n\t\t\treturn t\n\t\t}(t), i.prototype = {\n\t\t\tset: function (e, n) {\n\t\t\t\tif (e && !r(e)) t.setItem(e, function (t) {\n\t\t\t\t\treturn void 0 === t || \"function\" == typeof t ? t + \"\" : JSON.stringify(t)\n\t\t\t\t}(n)); else if (r(e)) for (var i in e) this.set(i, e[i]);\n\t\t\t\treturn this\n\t\t\t}, get: function (r) {\n\t\t\t\tif (!r) {\n\t\t\t\t\tvar n = {};\n\t\t\t\t\treturn this.forEach((function (t, r) {\n\t\t\t\t\t\treturn n[t] = r\n\t\t\t\t\t})), n\n\t\t\t\t}\n\t\t\t\tif (\"?\" === r.charAt(0)) return this.has(r.substr(1));\n\t\t\t\tvar i = arguments;\n\t\t\t\tif (i.length > 1) {\n\t\t\t\t\tfor (var o = {}, f = 0, u = i.length; f < u; f++) {\n\t\t\t\t\t\tvar s = e(t.getItem(i[f]));\n\t\t\t\t\t\ts &#038;&#038; (o[i[f]] = s)\n\t\t\t\t\t}\n\t\t\t\t\treturn o\n\t\t\t\t}\n\t\t\t\treturn e(t.getItem(r))\n\t\t\t}, clear: function () {\n\t\t\t\treturn t.clear(), this\n\t\t\t}, remove: function (r) {\n\t\t\t\tvar e = this.get(r);\n\t\t\t\treturn t.removeItem(r), e\n\t\t\t}, has: function (t) {\n\t\t\t\treturn {}.hasOwnProperty.call(this.get(), t)\n\t\t\t}, keys: function () {\n\t\t\t\tvar t = [];\n\t\t\t\treturn this.forEach((function (r) {\n\t\t\t\t\tt.push(r)\n\t\t\t\t})), t\n\t\t\t}, forEach: function (r) {\n\t\t\t\tfor (var e = 0, n = t.length; e < n; e++) {\n\t\t\t\t\tvar i = t.key(e);\n\t\t\t\t\tr(i, this.get(i))\n\t\t\t\t}\n\t\t\t\treturn this\n\t\t\t}, search: function (t) {\n\t\t\t\tfor (var r = this.keys(), e = {}, n = 0, i = r.length; n < i; n++) r[n].indexOf(t) > -1 && (e[r[n]] = this.get(r[n]));\n\t\t\t\treturn e\n\t\t\t}\n\t\t};\n\t\tvar o = null;\n\n\t\tfunction f(t, e) {\n\t\t\tvar u, s = arguments, c = null;\n\t\t\tif (o || (o = i()), 0 === s.length) return o.get();\n\t\t\tif (1 === s.length) {\n\t\t\t\tif (\"string\" == typeof t) return o.get(t);\n\t\t\t\tif (r(t)) return o.set(t)\n\t\t\t}\n\t\t\tif (2 === s.length && \"string\" == typeof t) {\n\t\t\t\tif (!e) return o.remove(t);\n\t\t\t\tif (e && \"string\" == typeof e) return o.set(t, e);\n\t\t\t\te && n(e) && (c = null, c = e(t, o.get(t)), f.set(t, c))\n\t\t\t}\n\t\t\tif (2 === s.length && (u = t, \"[object Array]\" === Object.prototype.toString.call(u)) && n(e)) for (var a = 0, h = t.length; a < h; a++) c = e(t[a], o.get(t[a])), f.set(t[a], c);\n\t\t\treturn f\n\t\t}\n\n\t\tfor (var u in i.prototype) f[u] = i.prototype[u];\n\t\treturn f\n\t\t}();\n\n\t\tvar kiosk = false;\n\t\tvar the_form = formItem;\n\t\tconsole.log(the_form, formItem);\n\t\tvar submit_button = the_form.querySelector('.ams-form__submit');\n\n\t\tvar all_fields = the_form.querySelectorAll('.ams-form__field');\n\t\tvar all_required_fields = the_form.querySelectorAll('.ams-form__field-required');\n\n\t\tvar offline_ui = document.querySelector('.ams-form__offline-ui .offline-ui__feedback');\n\t\tvar show_saved_forms_button = document.querySelector('.ams-form__open-saved-forms');\n\t\tvar delete_saved_forms = document.querySelector('.delete_saved_forms');\n\t\tvar offline_ui_wrapper = document.querySelector('.ams-form__offline-ui');\n\t\tvar offline_sending_feedback = document.querySelector('.ams-form__offline-ui .offline-ui__sending-feedback');\n\t\tvar kiosk_feedback = document.querySelector('.ams-form__kiosk-feedback');\n\t\tvar send_saved_forms = document.querySelector('.send_saved_forms');\n\t\tvar form_sending = document.querySelector('.ams-form__submit-sending');\n\n\t\t\/\/ Pre-check all event checkboxes to speed up repeated submissions with support for offline save\n\t\tfunction precheckEventCheckboxes() {\n\t\t\tvar eventCheckboxes = the_form.querySelectorAll('input[type=\"checkbox\"][name=\"events\"]');\n\t\t\teventCheckboxes.forEach(function (box) {\n\t\t\t\tif (!box.checked) {\n\t\t\t\t\tbox.checked = true;\n\t\t\t\t\tbox.dispatchEvent(new Event('change'));\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\t\/\/ Initial pre-check\n\t\tprecheckEventCheckboxes();\n\n\t\t\/\/ Re-apply pre-check after any programmatic form reset (e.g., after offline save)\n\t\tthe_form.addEventListener('reset', function () {\n\t\t\tsetTimeout(precheckEventCheckboxes, 0);\n\t\t});\n\n\t\t\/\/ dropdown button\n\t\tvar dropdowns = document.querySelectorAll('.ams-form__checkbox-dropdown');\n\t\tvar dropdown_offset = 0;\n\n\t\t\/*\n\t\tdropdowns.forEach(function(dropdown, index) {\n\t\tdropdown.addEventListener('click', function(event) {\n\t\t\t\/\/ ams-form__dropdown-button\n\n\t\t\t\/\/ open dropdown\n\t\t\tif (event.target.className.indexOf('ams-form__dropdown-button') !== -1) {\n\t\t\t\tdropdown_offset = jQuery(the_form).position().top - jQuery(event.target).position().top;\n\t\t\t\tif (dropdown.className.indexOf('ams-form__checkbox-dropdown-open') === -1) {\n\t\t\t\t\tdropdown.classList.add('ams-form__checkbox-dropdown-open');\n\t\t\t\t} else {\n\t\t\t\t\tdropdown.classList.remove('ams-form__checkbox-dropdown-open');\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t\/\/ open category\n\t\t\tif (event.target.className.indexOf('ams-form__box-category-title') !== -1) {\n\t\t\t\tvar cat_panel = dropdown.querySelector('._cat_' + event.target.getAttribute('data-category'));\n\t\t\t\tif (cat_panel.className.indexOf('ams-form__box-category-open') === -1) {\n\t\t\t\t\tcat_panel.classList.add('ams-form__box-category-open');\n\t\t\t\t} else {\n\t\t\t\t\tcat_panel.classList.remove('ams-form__box-category-open');\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t});\n\n\t\t\/\/ radio dropdown\n\t\tvar radio_dropdowns = document.querySelectorAll('.ams-form__radio-dropdown-button');\n\t\tdropdowns.forEach(function(dropdown, index) {\n\t\t\/\/ var list = dropdown.querySelector('.ams-form__integrity-popup-text');\n\t\tdropdown.addEventListener('focus', function(event) {\n\t\t\t\/\/ var list =\n\t\t});\n\t\t});\n\t\t*\/\n\n\t\t\/\/ popup hover\n\t\tvar integrity_popup = document.querySelector('.ams-form__integrity-popup-text');\n\t\tvar integrity_text = document.querySelector('.ams-form__integrity-popup-hidden-text');\n\t\tvar overlay = document.querySelector('.ams-form__integrity-popup-hidden-text');\n\t\tvar integrity_text_inner = document.querySelector('.ams-form__integrity-popup-hidden-text-inner');\n\t\tvar integrity_popup_button = document.querySelector('.ams-form__integrity-popup-button');\n\t\tvar integrity_popup_close = document.querySelector('.ams-form__integrity-popup-close');\n\n\t\tif (integrity_popup) {\n\t\tvar popup_tabindex = integrity_popup.getAttribute('tabindex');\n\t\tintegrity_popup.addEventListener('keypress', function () {\n\t\t\tintegrity_text.style.display = 'block';\n\t\t\tvar integrity_popup_content = document.querySelector('.ams-form__integrity-popup-holder');\n\t\t\tintegrity_popup_content.tabIndex = popup_tabindex;\n\t\t\tintegrity_popup_close.tabIndex = popup_tabindex;\n\t\t\tvar innerItems = integrity_text_inner.children;\n\t\t\tfor (let i = 0; i < innerItems.length; i++) {\n\t\t\t\tinnerItems[i].tabIndex = popup_tabindex;\n\t\t\t}\n\t\t});\n\t\tintegrity_popup.addEventListener('click', function (event) {\n\t\t\tintegrity_text.style.display = 'block';\n\t\t\tvar integrity_popup_content = document.querySelector('.ams-form__integrity-popup-holder');\n\t\t\tintegrity_popup_content.tabIndex = popup_tabindex;\n\t\t\tintegrity_popup_close.tabIndex = popup_tabindex;\n\t\t\tvar innerItems = integrity_text_inner.children;\n\t\t\tfor (let i = 0; i < innerItems.length; i++) {\n\t\t\t\tinnerItems[i].tabIndex = popup_tabindex;\n\t\t\t}\n\t\t});\n\t\t}\n\n\t\tif (integrity_popup) {\n\t\toverlay.addEventListener('click', function (event) {\n\t\t\tif (event.target.className == 'ams-form__integrity-popup-hidden-text' || event.target.classList.contains('ams-form__integrity-popup-close')) {\n\t\t\t\tintegrity_text.style.display = 'none';\n\t\t\t}\n\t\t});\n\t\t}\n\n\t\t\/\/ prefill form using variables from the URL\n\t\tvar prefillValues = function () {\n\n\t\tvar prefillParamsToCRMFields = {\n\t\t\t'email': 'email',\n\t\t\t'mobile': 'mobilePhoneNumber'\n\t\t}\n\n\t\tvar params = getParams(window.location.href);\n\t\tfor (var key in params) {\n\t\t\tif (typeof prefillParamsToCRMFields[key] !== 'undefined') {\n\t\t\t\tdocument.querySelector('input[name=' + prefillParamsToCRMFields[key] + ']').value = params[key];\n\t\t\t}\n\t\t}\n\t\t}\n\n\t\tprefillValues();\n\n\t\t\/**\n\t\t* 3 Event listeners below represent probably the worst validation logic ever witnessed\n\t\t* by mighty developer, and should be refactored asap\n\t\t*\/\n\n\t\tthe_form.addEventListener('focusout', function (event) {\n\n\t\tif (event.target.parentNode.parentNode.parentNode.parentNode.className.indexOf('_event-with-session-field_') !== -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (event.target.className.indexOf('ui-multiselect') !== -1 &#038;&#038; event.relatedTarget) {\n\n\t\t\tif (event.target.className.indexOf('ui-corner-all') !== -1) {\n\t\t\t\tdo_validation(event.target);\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\t\tif (event.relatedTarget) {\n\t\t\tif (\n\t\t\t\t(event.target.name !== event.relatedTarget.name) &#038;&#038;\n\t\t\t\tevent.target.parentNode.parentNode.parentNode.parentNode.className.indexOf('ams-form__field-required') !== -1\n\t\t\t) {\n\t\t\t\tdo_validation(event.target);\n\t\t\t} else if ((event.target.name !== event.relatedTarget.name) &#038;&#038; event.target.parentNode.className.indexOf('ams-form__field-required') !== -1) {\n\t\t\t\tdo_validation(event.target);\n\t\t\t}\n\t\t} else {\n\t\t\tif (event.target.parentNode.parentNode.parentNode.parentNode.className.indexOf('ams-form__field-required') !== -1) {\n\t\t\t\tdo_validation(event.target);\n\t\t\t} else if (event.target.parentNode.className.indexOf('ams-form__field-required') !== -1) {\n\t\t\t\tdo_validation(event.target);\n\t\t\t}\n\t\t}\n\n\t\tif (!the_form.contains(event.relatedTarget)) {\n\t\t\tclose_drop_downs();\n\t\t}\n\t});\n\n\tthe_form.addEventListener('click', (e) => {\n\t\tif (e.target.parentNode && e.target.parentNode.tagName === 'FORM' || e.target.className.includes('subheading')) {\n\t\t\tclose_drop_downs();\n\t\t}\n\t})\n\n\tthe_form.addEventListener('change', function (event) {\n\n\t\tif(event.detail && event.detail.checkbox !== undefined) {\n\t\t\tdo_validation(event.detail.checkbox);\n\t\t\treturn;\n\t\t}\n\t\tif (event.target.parentNode.parentNode.parentNode.parentNode.className.indexOf('_event-with-session-field_') !== -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\t(event.target.type === 'checkbox' || event.target.type === 'radio') &&\n\t\t\t(\n\t\t\t\tevent.target.parentNode.parentNode.parentNode.parentNode.className.indexOf('ams-form__field-required') !== -1 ||\n\t\t\t\tevent.target.parentNode.parentNode.parentNode.parentNode.parentNode.className.indexOf('ams-form__field-required') !== -1\n\t\t\t)\n\t\t) {\n\t\t\tdo_validation(event.target);\n\t\t} else if (\n\t\t\tevent.target.parentNode.className.indexOf('ams-form__field') !== -1 &&\n\t\t\tevent.target.parentNode.className.indexOf('ams-form__field-required') !== -1) {\n\t\t\tdo_validation(event.target);\n\t\t}\n\t\t});\n\n\t\tthe_form.addEventListener('keyup', function (event) {\n\t\treturn;\n\t\tif ((event.target.value.length > 3 && event.target.type !== 'checkbox') && event.target.parentNode.className.indexOf('ams-form__field-required') !== -1) {\n\t\t\tdo_validation(event.target);\n\t\t}\n\t\t});\n\n\tfunction close_drop_downs() {\n\t\tlet dropdownButtons = document.querySelectorAll('button[id*=aca-dropdown__]');\n\t\tdropdownButtons?.forEach(el => {\n\t\t\tif (el.className.includes('_open_')) {\n\t\t\t\tel.click();\n\t\t\t}\n\t\t})\n\t}\n\n\tfunction show_final_timer_message(elem) {\n\t\telem.querySelector('h3').innerHTML = 'Vi lyckades inte kontakta servern, sidan kommer nu laddas om, v\u00e4nligen f\u00f6rs\u00f6k igen senare.';\n\t\telem.style.display = 'flex';\n\t\tsetTimeout(function () {\n\t\t\tlocation.reload();\n\t\t}, 10000);\n\t\t}\n\n\t\tfunction start_waiting_message_timer() {\n\t\tvar waiting_message_timers = [];\n\t\tvar node = document.createElement('div');\n\t\tnode.id = 'fetch_timer_message';\n\t\tnode.style.width = '100%';\n\t\tnode.style.height = '100%';\n\t\tnode.style.position = 'fixed';\n\t\tnode.style.display = 'none';\n\t\tnode.style.flexDirection = 'column';\n\t\tnode.style.alignItems = 'center';\n\t\tnode.style.justifyContent = 'center';\n\t\tnode.style.top = '0';\n\t\tnode.style.left = '0';\n\t\tnode.style.zIndex = '99999';\n\t\tnode.style.background = '#fff';\n\t\tnode.innerHTML = '<h3 style=\"padding:30px;margin:0 auto;text-align:center;max-width:600px;font-size:26px;\">Vi upplever h\u00f6gt tryck p\u00e5 v\u00e5ra serverar f\u00f6r tillf\u00e4llet, v\u00e4nligen v\u00e4nta en liten stund<\/h3><svg style=\"display:block;width:150px;margin-left:60px;\" version=\"1.1\" id=\"L5\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 100 100\" enable-background=\"new 0 0 0 0\" xml:space=\"preserve\"><circle fill=\"#333\" stroke=\"none\" cx=\"6\" cy=\"50\" r=\"6\"><animateTransform attributeName=\"transform\" dur=\"1s\" type=\"translate\" values=\"0 15 ; 0 -15; 0 15\" repeatCount=\"indefinite\" begin=\"0.1\"><\/animateTransform><\/circle><circle fill=\"#333\" stroke=\"none\" cx=\"30\" cy=\"50\" r=\"6\"><animateTransform attributeName=\"transform\" dur=\"1s\" type=\"translate\" values=\"0 10 ; 0 -10; 0 10\" repeatCount=\"indefinite\" begin=\"0.2\"><\/animateTransform><\/circle><circle fill=\"#333\" stroke=\"none\" cx=\"54\" cy=\"50\" r=\"6\"><animateTransform attributeName=\"transform\" dur=\"1s\" type=\"translate\" values=\"0 5 ; 0 -5; 0 5\" repeatCount=\"indefinite\" begin=\"0.3\"><\/animateTransform><\/circle><\/svg>';\n\t\tdocument.body.appendChild(node);\n\n\t\tvar fetch_timer_message = document.querySelector('#fetch_timer_message');\n\n\t\twaiting_message_timers[0] = setTimeout(function () {\n\t\t\tfetch_timer_message.style.display = 'flex';\n\t\t}, 10000);\n\n\t\twaiting_message_timers[1] = setTimeout(function () {\n\t\t\tfetch_timer_message.style.display = 'flex';\n\t\t\tfetch_timer_message.querySelector('h3').innerHTML = 'Vi f\u00f6rs\u00f6ker fortfarande f\u00e5 kontakt med servern, v\u00e4nligen v\u00e4nta lite till.';\n\t\t}, 25000);\n\n\t\twaiting_message_timers[2] = setTimeout(function () {\n\t\t\tshow_final_timer_message(fetch_timer_message);\n\t\t}, 50000);\n\n\t\treturn waiting_message_timers;\n\t\t}\n\n\t\tfunction clear_all_waiting_timers(waiting_message_timers) {\n\t\tfor (var i = 0; i < waiting_message_timers.length; i++) {\n\t\t\tconsole.log(i);\n\t\t\tclearTimeout(waiting_message_timers[i]);\n\t\t}\n\t\t}\n\n\t\tvar waiting_message_timers = null;\n\n\t\tsubmit_button.addEventListener('click', function (event) {\n\t\tevent.preventDefault();\n\n\t\tif (do_validation()) {\n\n\t\t\tsubmit_button.setAttribute('disabled', true);\n\t\t\tsubmit_button.classList.add('ams-form__button-sending');\n\t\t\tform_sending.style.display = 'block';\n\n\t\t\tvar form_data = serializeArray(the_form);\n\n\t\t\tvar file_inputs = the_form.querySelectorAll('[type=\"file\"]');\n\n\t\t\tvar res_promise = send_form(form_data, file_inputs, the_form.querySelector('input[name=\"aca_form_id\"]').value);\n\n\t\t\twaiting_message_timers = start_waiting_message_timer();\n\n\t\t\tres_promise.then(function (response) {\n\t\t\t\treturn response.text();\n\t\t\t})\n\t\t\t\t.then(function (response) {\n\n\t\t\t\t\t\/\/ clear popup\n\t\t\t\t\tdocument.querySelector('#fetch_timer_message').style.display = 'none';\n\n\t\t\t\t\t\n\t\t\t\t\tif (response === 'failed') {\n\t\t\t\t\t\tsaveFormInLocalStorage(form_data);\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tif (response.indexOf('LimitExceeded') !== -1) {\n\t\t\t\t\t\t\talert('Tiden du f\u00f6rs\u00f6kte boka \u00e4r inte l\u00e4ngre tillg\u00e4nglig');\n\t\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tdo_tracking(form_data);\n\n\t\t\t\t\t\t\t\/\/ navigate_to_thankspage(form_data, response);\n\n\t\t\t\t\t\t\tif (kiosk) {\n\t\t\t\t\t\t\t\talert('Tack f\u00f6r din anm\u00e4lan!');\n\t\t\t\t\t\t\t\t\/\/ alert('Formul\u00e4ret har skickats!');\n\t\t\t\t\t\t\t\tlocation.reload();\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tnavigate_to_thankspage(form_data, response);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t\n\t\t\t\t\tupdateOfflineUi();\n\t\t\t\t}).catch(function (err) {\n\t\t\t\tform_sending.style.display = 'none';\n\t\t\t\tclear_all_waiting_timers(waiting_message_timers);\n\t\t\t\tdocument.querySelector('#fetch_timer_message').style.display = 'none';\n\t\t\t\tsaveFormInLocalStorage(form_data);\n\t\t\t\tupdateOfflineUi();\n\t\t\t});\n\t\t} else {\n\t\t\tscroll_to_first_non_validated_field();\n\t\t}\n\t\t});\n\n\t\tfunction do_tracking(data) {\n\n\t\t\twindow.dataLayer = window.dataLayer || [];\n\t\t\twindow.dataLayer.push({event: \"signupform:sent\"}); \/\/ legacy\n\n\t\t\t\n\t\t\t\/**\n\t\t\t * Try to figure out selected subjects\/educations\n\t\t\t *\/\n\n\t\t\tlet educations = [];\n\n\t\t\tdata.forEach(function (item) {\n\n\t\t\t\tif (typeof item.name !== 'undefined') {\n\n\t\t\t\t\tswitch (item.name) {\n\t\t\t\t\t\tcase 'Educationtree':\n\n\t\t\t\t\t\t\teducations.push(item.value);\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t\/**\n\t\t\t * Push GTM event\n\t\t\t *\/\n\n\t\t\tlet eventData = '{\"event\":\"form_submit\",\"formType\":\"eave-your-email\",\"region\":\"uk\",\"educations\":\"_EDUCATIONS_\"}';\n\t\t\teventData = eventData.replace('_EDUCATIONS_', educations.join(', '));\n\n\t\t\twindow.dataLayer.push(JSON.parse(eventData));\n\n\t\t\t\t\t}\n\n\t\tvar remove_session_from_form = function (form_data_) {\n\t\tvar selected_session = null;\n\t\tform_data_.forEach(function (item, i) {\n\t\t\tif (item.name === 'session') {\n\t\t\t\tselected_session = item.value;\n\t\t\t}\n\t\t});\n\t\tvar session_element = document.querySelector('input[value=' + selected_session + ']');\n\t\tvar container_element = session_element.parentNode.parentNode;\n\t\tcontainer_element.parentNode.removeChild(container_element);\n\t\tsubmit_button.removeAttribute('disabled');\n\t\tsubmit_button.classList.remove('ams-form__button-sending');\n\t\tform_sending.style.display = 'none';\n\t\t}\n\n\t\tfunction navigate_to_thankspage(form_data_, response_) {\n\n\t\t\/* Email AND getResponse success *\/\n\t\tif (response_ === 'email_success' || response_ === 'success') {\n\t\t\twindow.location.href = 'https:\/\/thegameassembly.com\/uk\/thank-you-contact\/?location=The+Game+Assembly+UK&#038;type=standard';\n\t\t\treturn;\n\t\t}\n\n\t\tvar response = JSON.parse(response_);\n\n\t\t\/* IF 'NORMAL' thankspage Quick-Exit *\/\n\t\tif (!response.createdRegistrations) {\n\t\t\twindow.location.href = 'https:\/\/thegameassembly.com\/uk\/thank-you-contact\/?location=The+Game+Assembly+UK&#038;type=standard';\n\t\t}\n\n\t\t\/* IF 'EVENTS with Sessions' thankspage *\/\n\t\tvar registrationId = null;\n\n\t\tif (response.createdRegistrations[0].registrationResult == 'Created') {\n\t\t\tregistrationId = response.createdRegistrations[0].registrationId;\n\t\t}\n\n\t\tif (response.createdRegistrations[0].registrationResult == 'AlreadyRegistered') {\n\t\t\talert('Du har redan bokat denna tid, om du vill forts\u00e4tta och boka en tid f\u00f6r en ytterligare bes\u00f6kare v\u00e4lj en annan tid.');\n\t\t\tlocation.reload();\n\t\t\treturn;\n\t\t}\n\n\t\t\/*   *\/\n\t\tvar event_session_date = extract_event_session(form_data_);\n\t\tvar event_session_displayName_address = extract_event_session_title_and_address(form_data_);\n\n\t\tvar session_url_part = '';\n\t\tif (event_session_date !== null) {\n\t\t\tsession_url_part = '&#038;startdateutc=' + event_session_date.startdateutc + '&#038;enddateutc=' + event_session_date.enddateutc;\n\t\t\tif (registrationId !== null) {\n\t\t\t\tsession_url_part += '&#038;registrationId=' + registrationId;\n\t\t\t\tsession_url_part += '&#038;displayname=' + event_session_displayName_address.displayName;\n\t\t\t\tsession_url_part += '&#038;address=' + event_session_displayName_address.address;\n\t\t\t}\n\t\t}\n\n\t\twindow.location.href = 'https:\/\/thegameassembly.com\/uk\/thank-you-contact\/?location=The+Game+Assembly+UK&#038;type=standard' + session_url_part;\n\t\t}\n\n\t\tvar extract_event_session_title_and_address = function (form_data_) {\n\n\t\tvar session_id = null;\n\t\tform_data_.forEach(function (data, i) {\n\t\t\tif (data.name === 'session') {\n\t\t\t\tsession_id = data.value;\n\t\t\t}\n\t\t});\n\t\tif (session_id !== null) {\n\t\t\tvar session_element = get_input_element_by_value('session', session_id);\n\n\t\t\treturn {\n\t\t\t\tdisplayName: session_element.getAttribute('data-displayname'),\n\t\t\t\taddress: session_element.getAttribute('data-eventaddress')\n\t\t\t}\n\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t\t}\n\n\t\tvar extract_event_session = function (form_data_) {\n\t\tvar event = null;\n\t\tvar session = null;\n\t\tform_data_.forEach(function (data, i) {\n\t\t\tif (data.name === 'events') {\n\t\t\t\tevent = data.value;\n\t\t\t}\n\t\t\tif (data.name === 'session') {\n\t\t\t\tsession = data.value;\n\t\t\t}\n\t\t});\n\t\tif (event !== null &#038;&#038; session !== null) {\n\t\t\tvar session_element = get_input_element_by_value('session', session);\n\n\t\t\treturn {\n\t\t\t\t'startdateutc': session_element.getAttribute('data-startdateutc'),\n\t\t\t\t'enddateutc': session_element.getAttribute('data-enddateutc')\n\t\t\t}\n\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t\t}\n\n\t\tvar get_input_element_by_value = function (name, value) {\n\t\tvar all_inputs = document.querySelectorAll('input[name=' + name + ']');\n\t\tvar found_element = null;\n\t\tall_inputs.forEach(function (item, i) {\n\t\t\tif (item.value === value) {\n\t\t\t\tfound_element = item;\n\t\t\t}\n\t\t});\n\t\treturn found_element;\n\t\t}\n\n\t\tvar scroll_to_first_non_validated_field = function () {\n\t\tvar first_unvalidated_field = document.querySelectorAll('.ams-form__not-validated')[0];\n\t\tif (first_unvalidated_field) {\n\t\t\tvar header_height = document.querySelector('.header_wrapper').offsetHeight;\n\t\t\twindow.scrollTo(0, findPos(first_unvalidated_field) - header_height);\n\t\t}\n\t\t}\n\n\t\tfunction findPos(obj) {\n\t\tvar curtop = 0;\n\t\tif (obj.offsetParent) {\n\t\t\tdo {\n\t\t\t\tcurtop += obj.offsetTop;\n\t\t\t} while (obj = obj.offsetParent);\n\t\t\treturn [curtop];\n\t\t}\n\t\t}\n\n\t\t\/*\n\t\twindow.addEventListener('DOMContentLoaded', () => {\n\t\twindow.addEventListener('online', () => {\n\t\t\tvar stored_forms_string = store.get('aca-stored-forms-' + saved_aca_form_id);\n\t\t\tvar stored_forms = JSON.parse(stored_forms_string);\n\t\t\tif (stored_forms) {\n\t\t\t\tvar send_index = 0;\n\t\t\t\tsendSavedForms(stored_forms, send_index);\n\t\t\t}\n\t\t}, false);\n\t\t});\n\t\t*\/\n\n\t\tif (send_saved_forms) {\n\t\tsend_saved_forms.addEventListener('click', function (event) {\n\t\t\tvar stored_forms_string = store.get('aca-stored-forms-' + saved_aca_form_id);\n\t\t\tvar stored_forms = JSON.parse(stored_forms_string);\n\t\t\tif (stored_forms) {\n\t\t\t\tvar send_index = 0;\n\t\t\t\tvar sent_forms = 0;\n\t\t\t\tsendSavedForms(stored_forms, send_index, sent_forms);\n\t\t\t\tsend_saved_forms.setAttribute('disabled', true);\n\t\t\t}\n\t\t});\n\t\t}\n\n\t\tvar sendSavedForms = function (stored_forms, send_index, sent_forms) {\n\n\t\toffline_sending_feedback.innerHTML = 'Skickar sparat formul\u00e4r nr ' + (send_index + 1);\n\n\t\tvar res_promise = send_form(stored_forms[send_index]);\n\n\t\tres_promise.then(function (result) {\n\t\t\treturn result.text();\n\t\t}).then(function (result) {\n\n\t\t\tif (result !== 'failed' && send_index < stored_forms.length) {\n\n\t\t\t\tsend_index++;\n\t\t\t\tsent_forms++;\n\t\t\t\t\/\/ var temp_stored_forms = stored_forms;\n\t\t\t\tvar temp_stored_forms = JSON.parse(JSON.stringify(stored_forms));\n\n\t\t\t\t\/\/ temp_stored_forms.splice(send_index, 1);\n\t\t\t\ttemp_stored_forms.splice(0, sent_forms);\n\t\t\t\tstore.set('aca-stored-forms-' + saved_aca_form_id, JSON.stringify(temp_stored_forms));\n\n\t\t\t\tif (send_index === stored_forms.length) {\n\t\t\t\t\toffline_sending_feedback.innerHTML = sent_forms + ' sparade formul\u00e4r skickade';\n\t\t\t\t} else {\n\t\t\t\t\tsendSavedForms(stored_forms, send_index, sent_forms);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toffline_sending_feedback.innerHTML = sent_forms + ' sparade formul\u00e4r skickade';\n\t\t\t}\n\n\t\t\tupdateOfflineUi();\n\t\t});\n\t\t}\n\n\t\t\/\/ var sendSavedForms = function (stored_forms, send_index, sent_forms) {\n\t\t\/\/\n\t\t\/\/ \toffline_sending_feedback.innerHTML = 'Skickar sparat formul\u00e4r nr ' + send_index;\n\t\t\/\/\n\t\t\/\/ \tvar res_promise = send_form(stored_forms[send_index]);\n\t\t\/\/\n\t\t\/\/ \tres_promise.then(function (result) {\n\t\t\/\/ \t\treturn result.text();\n\t\t\/\/ \t}).then(function (result) {\n\t\t\/\/ \t\tsend_index++;\n\t\t\/\/ \t\tif (result !== 'failed' &#038;&#038; send_index < stored_forms.length) {\n\t\t\/\/ \t\t\tsent_forms++;\n\t\t\/\/ \t\t\tvar temp_stored_forms = stored_forms;\n\t\t\/\/ \t\t\ttemp_stored_forms.splice(send_index, 1);\n\t\t\/\/ \t\t\tstore.set('aca-stored-forms-' + saved_aca_form_id, JSON.stringify(temp_stored_forms));\n\t\t\/\/\n\t\t\/\/ \t\t\tsendSavedForms(stored_forms, send_index, sent_forms);\n\t\t\/\/ \t\t} else {\n\t\t\/\/ \t\t\toffline_sending_feedback.innerHTML = sent_forms + ' sparade formul\u00e4r skickade';\n\t\t\/\/ \t\t}\n\t\t\/\/ \t\tupdateOfflineUi();\n\t\t\/\/ \t});\n\t\t\/\/ }\n\n\t\tupdateOfflineUi();\n\n\t\tvar send_form = function (form_data, files, saved_aca_form_id) {\n\n\t\t\/\/ \"fetch\" it to the backend wp ajax\n\t\t\/\/ var params = new URLSearchParams();\n\t\tvar params = new FormData(); \/\/ @recent\n\n\t\tparams.append('action', 'aca_send_form');\n\t\tparams.append('orgunitid', orgUnitId);\n\t\tparams.append('blog-id', blog_id);\n\t\tparams.append('post-id', post_id);\n\t\tparams.append('current_api', current_api);\n\t\tparams.append('current_api_type', current_api_type);\n\t\tparams.append('saved_aca_form_id', saved_aca_form_id);\n\t\tparams.append('form_page_url', window.location.href);\n\t\tparams.append('form', JSON.stringify(form_data));\n\n\t\tif (files) {\n\t\t\tfor (var i = 0; i < files.length; i++) {\n\t\t\t\tparams.append(files[i].name, files[i].files[0]);\n\t\t\t}\n\t\t}\n\n\t\treturn fetch('\/wp-admin\/admin-ajax.php', {\n\t\t\tmethod: 'POST',\n\t\t\tcredentials: 'same-origin',\n\t\t\t\/\/ headers: {'Content-Type': 'application\/x-www-form-urlencoded'}, \/\/ @recent: will not work with FormData()\n\t\t\tbody: params,\n\t\t}) \/* .then(response => {\n\t\t\t\treturn response.text();\n\t\t\t})\n\t\t\t.then(response => {\n\t\t\t\tif (response === 'failed') {\n\t\t\t\t\tsaveFormInLocalStorage(form_data);\n\t\t\t\t}\n\t\t\t\tupdateOfflineUi();\n\t\t\t}).catch(err => {\n\t\t\t\tsaveFormInLocalStorage(form_data);\n\t\t\t\tupdateOfflineUi();\n\t\t\t});  *\/\n\t\t}\n\n\t\tvar checkOnlineStatus = function () {\n\t\tvar form = new FormData();\n\t\tform.append('action', 'check_online_status');\n\t\tvar params = new URLSearchParams(form);\n\n\t\tfetch('\/wp-admin\/admin-ajax.php', {\n\t\t\tmethod: 'POST',\n\t\t\tcredentials: 'same-origin',\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application\/x-www-form-urlencoded',\n\t\t\t\t'Cache-Control': 'no-cache',\n\t\t\t},\n\t\t\tbody: params\n\t\t}).then(function (response) {\n\t\t\treturn response.text();\n\t\t})\n\t\t\t.then(function (response) {\n\t\t\t\tif (response === 'we-are-online') {\n\t\t\t\t\tconsole.log('We are online');\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('We are OFFLINE');\n\t\t\t\t}\n\t\t\t}).catch(function (err) {\n\t\t\tconsole.log('We are OFFLINE');\n\t\t});\n\t\t}\n\n\t\tvar show_kiosk_feedback = function () {\n\n\t\tif (kiosk_feedback) {\n\n\t\t\tkiosk_feedback.querySelector('p').innerHTML = 'Tack! Dina uppgifter \u00e4r nu sparade hos oss!';\n\t\t\t\/\/ kiosk_feedback.querySelector('p').innerHTML = 'Vi f\u00e5r inte kontakt med servern f\u00f6r tillf\u00e4llet s\u00e5 formul\u00e4ret sparades lokalt i webbl\u00e4saren och kan skickas n\u00e4r det finns uppkoppling igen.';\n\n\t\t\tkiosk_feedback.classList.add('shown');\n\t\t\tkiosk_feedback.parentElement.classList.add('kiosk-enabled');\n\t\t}\n\t\t}\n\n\t\tvar saveFormInLocalStorage = function (form_data) {\n\n\t\tvar stored_forms = store.get('aca-stored-forms-' + saved_aca_form_id);\n\n\t\tif (!stored_forms || kiosk) {\n\t\t\t\/\/ show feedback\n\t\t\tshow_kiosk_feedback();\n\t\t}\n\n\t\tif (!store.get('?aca-stored-forms-' + saved_aca_form_id)) {\n\t\t\tstored_forms = [];\n\t\t} else {\n\t\t\tstored_forms = JSON.parse(stored_forms);\n\t\t}\n\n\t\tstored_forms.push(form_data);\n\t\tstore.set('aca-stored-forms-' + saved_aca_form_id, JSON.stringify(stored_forms));\n\n\t\tif(kiosk) {\n\t\t\tthe_form.reset();\n\t\t}\n\n\t\tsubmit_button.removeAttribute('disabled');\n\t\t}\n\n\t\tif (show_saved_forms_button) {\n\t\tshow_saved_forms_button.addEventListener('click', function (event) {\n\t\t\tif (offline_ui_wrapper.className.indexOf('shown') != -1) {\n\t\t\t\toffline_ui_wrapper.classList.remove('shown');\n\t\t\t} else {\n\t\t\t\toffline_ui_wrapper.classList.add('shown');\n\t\t\t}\n\t\t});\n\t\t}\n\n\t\tif (delete_saved_forms) {\n\t\tdelete_saved_forms.addEventListener('click', function (event) {\n\t\t\tstore.clear();\n\t\t\toffline_ui_wrapper.classList.remove('shown');\n\t\t\tupdateOfflineUi();\n\t\t});\n\t\t}\n\n\t\tfunction updateOfflineUi() {\n\t\tvar stored_forms = store.get('aca-stored-forms-' + saved_aca_form_id);\n\t\tif (!store.get('?aca-stored-forms-' + saved_aca_form_id)) {\n\t\t\tstored_forms = [];\n\t\t\tif (kiosk_feedback) {\n\t\t\t\tkiosk_feedback.classList.remove('shown');\n\t\t\t\tkiosk_feedback.parentElement.classList.remove('kiosk-enabled');\n\t\t\t}\n\t\t} else {\n\t\t\tif (kiosk_feedback) {\n\t\t\t\tkiosk_feedback.classList.add('shown');\n\t\t\t\tkiosk_feedback.parentElement.classList.add('kiosk-enabled');\n\t\t\t}\n\t\t\tstored_forms = JSON.parse(stored_forms);\n\t\t}\n\n\t\tif (offline_ui) {\n\n\t\t\toffline_ui.innerHTML = stored_forms.length + ' formul\u00e4r sparade';\n\n\t\t\tif (!stored_forms.length) {\n\n\t\t\t\tkiosk_feedback.classList.remove('shown');\n\t\t\t\toffline_ui.parentNode.classList.remove('shown');\n\t\t\t}\n\t\t}\n\t\t}\n\n\t\tfunction addValidationError(item, type) {\n\t\tvar text = item.querySelector('.ams-form__not-validated-text');\n\t\tif (text) {\n\t\t\treturn;\n\t\t}\n\t\tvar node = document.createElement('div');\n\t\tnode.className = 'ams-form__not-validated-text';\n\t\tnode.style.fontWeight = '300';\n\n\t\t\/*\n\t\tif (type === 'field') {\n\t\t\tvar textnode = document.createTextNode(item.querySelector('._title').textContent + ' m\u00e5ste vara ifyllt');\n\t\t} else {\n\t\t\tvar textnode = document.createTextNode('Ett ' + item.querySelector('._title').textContent + ' m\u00e5ste vara ikryssat');\n\t\t}*\/\n\t\tvar textnode = document.createTextNode('Detta f\u00e4lt m\u00e5ste fyllas i');\n\n\t\tnode.appendChild(textnode);\n\t\titem.appendChild(node);\n\n\t\t}\n\n\t\tfunction removeValidationError(item) {\n\n\t\t\/**\n\t\t * Due to a dubious nature of do_validation(), this method can be called with 'item' parameter\n\t\t * being entire '.ams_form' which, in tern, would hide validation messages on invalid\n\t\t * fields (while invalid (visual) feedback will remain). As code of do_validation()\n\t\t * is beyond fixable and has to be refactored, easiest way forward is to check\n\t\t * if 'item' is actually '.ams-form__field' element (class, which (hopefully)\n\t\t * is used for each and every input (group)).\n\t\t *\n\t\t * @see https:\/\/app.asana.com\/0\/1200531310718450\/1201976555254788\n\t\t *\/\n\n\t\tif (item.className.indexOf('ams-form__field') === -1) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar text = item.querySelector('.ams-form__not-validated-text');\n\t\tif (text) {\n\t\t\ttext.remove();\n\t\t}\n\t\t}\n\n\t\tfunction do_validation(field) {\n\t\t\tvar is_validated = true;\n\n\t\t\tif (field) {\n\t\t\t\tif (field.type === 'checkbox' || field.type === 'radio') {\n\n\n\t\t\t\t\tvar fieldName = field.name;\n\t\t\t\t\t\/* for educationtree and City we need fifth parent *\/\n\t\t\t\t\tif (fieldName.indexOf('Educationtree') == 0 || fieldName.indexOf('City') == 0) {\n\t\t\t\t\t\tvar these_fields = [field.parentNode.parentNode.parentNode.parentNode.parentNode];\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\tvar these_fields = [field.parentNode.parentNode.parentNode.parentNode];\n\t\t\t\t\t}\n\n\n\t\t\t\t\tif (these_fields[0].className.indexOf('ams-form__not-validated') === -1) {\n\n\t\t\t\t\t\t\/**\n\t\t\t\t\t\t * It's questionable if below selector should be the only one. Due to dubious\n\t\t\t\t\t\t * nature of this crap, leaving it within if() to prevent unforeseen bugs...\n\t\t\t\t\t\t *\/\n\n\t\t\t\t\t\tthese_fields = [field.parentNode.parentNode.parentNode.parentNode.parentNode];\n\t\t\t\t\t}\n\n\t\t\t\t} else {\n\t\t\t\t\tvar these_fields = [field.parentNode];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tvar these_fields = all_required_fields;\n\t\t\t}\n\n\t\t\tthese_fields.forEach(function (item, i) {\n\n\t\t\t\t\/\/ don't validate a hidden field\n\t\t\t\tif (item.parentNode.className === 'conditional-container' && item.parentNode.style.display === 'none') {\n\n\t\t\t\t\t\/**\n\t\t\t\t\t * V.S. (25th of August 2021) - setting it true here would validate otherwise invalid form\n\t\t\t\t\t * if error occurred anywhere before conditional-container. It was discovered after\n\t\t\t\t\t * reported bug on: http:\/\/academedia-ams.development\/ronninge\/\n\t\t\t\t\t *\n\t\t\t\t\t * Scenario:\n\t\t\t\t\t *\n\t\t\t\t\t * ...\n\t\t\t\t\t * Email field -> required\n\t\t\t\t\t * ...\n\t\t\t\t\t * conditional container\n\t\t\t\t\t *\n\t\t\t\t\t * Even if email was empty (invalid), form was validated at this step...\n\t\t\t\t\t *\/\n\n\t\t\t\t\t\/\/ is_validated = true;\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (item.className.indexOf('_event-with-session-field_') !== -1) {\n\n\t\t\t\t\tvar boxes_validated = false;\n\t\t\t\t\tvar selected_session = getEventSessionValue(item);\n\t\t\t\t\tif (selected_session.length) {\n\t\t\t\t\t\tboxes_validated = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (boxes_validated === false) {\n\t\t\t\t\t\titem.classList.add('ams-form__not-validated');\n\t\t\t\t\t\titem.setAttribute('aria-invalid', true);\n\t\t\t\t\t\taddValidationError(item, 'boxes');\n\t\t\t\t\t\tis_validated = false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\titem.classList.remove('ams-form__not-validated');\n\t\t\t\t\t\titem.setAttribute('aria-invalid', false);\n\t\t\t\t\t\tremoveValidationError(item);\n\t\t\t\t\t}\n\n\t\t\t\t} else if (item.className.indexOf('ams-form__checkbox-wrapper') !== -1 || item.className.indexOf('ams-form__radio-dropdown') !== -1) {\n\n\n\t\t\t\t\t\/\/ multiples\n\t\t\t\t\t\/\/ IF select\n\n\t\t\t\t\tif (item.className.indexOf('ams-form__checkbox-dropdown') !== -1) {\n\n\t\t\t\t\t\tvar boxes_validated = false;\n\t\t\t\t\t\tlet selectionListItem = document.querySelectorAll('.aca-dropdown-selection__item:not(.markup)');\n\t\t\t\t\t\tvar selected_options = item.querySelectorAll('input:checked');\n\t\t\t\t\t\tif (selected_options.length > 0 || selectionListItem.length > 0) {\n\t\t\t\t\t\t\tboxes_validated = true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (boxes_validated === false) {\n\t\t\t\t\t\t\titem.classList.add('ams-form__not-validated');\n\t\t\t\t\t\t\titem.setAttribute('aria-invalid', true);\n\t\t\t\t\t\t\taddValidationError(item, 'boxes');\n\t\t\t\t\t\t\tis_validated = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\titem.classList.remove('ams-form__not-validated');\n\t\t\t\t\t\t\titem.setAttribute('aria-invalid', false);\n\t\t\t\t\t\t\tremoveValidationError(item);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\/\/ IF checkboxes\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\/\/ var boxes_validated = false;\n\t\t\t\t\t\t\/\/ var boxes = item.querySelectorAll('input');\n\t\t\t\t\t\t\/\/ for (var i = 0; i < boxes.length; i++) {\n\t\t\t\t\t\t\/\/ \tif (boxes[i].checked) {\n\t\t\t\t\t\t\/\/ \t\tboxes_validated = true;\n\t\t\t\t\t\t\/\/ \t}\n\t\t\t\t\t\t\/\/ }\n\n\t\t\t\t\t\tvar boxes_validated = Boolean(item.querySelectorAll('input:checked').length);\n\n\t\t\t\t\t\tif (boxes_validated === false) {\n\t\t\t\t\t\t\titem.classList.add('ams-form__not-validated');\n\t\t\t\t\t\t\titem.setAttribute('aria-invalid', true);\n\t\t\t\t\t\t\taddValidationError(item, 'boxes');\n\t\t\t\t\t\t\tis_validated = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\titem.classList.remove('ams-form__not-validated');\n\t\t\t\t\t\t\titem.setAttribute('aria-invalid', false);\n\t\t\t\t\t\t\tremoveValidationError(item);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else if (item.className.indexOf('ams-form__recaptcha-wrapper') !== -1) {\n\n\t\t\t\t\tif (typeof grecaptcha !== 'undefined') {\n\t\t\t\t\t\tif (!grecaptcha.getResponse().length) {\n\n\t\t\t\t\t\t\titem.setAttribute('aria-invalid', true);\n\t\t\t\t\t\t\titem.classList.add('ams-form__not-validated');\n\t\t\t\t\t\t\taddValidationError(item);\n\t\t\t\t\t\t\tis_validated = false;\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\titem.setAttribute('aria-invalid', false);\n\t\t\t\t\t\t\titem.classList.remove('ams-form__not-validated');\n\t\t\t\t\t\t\tremoveValidationError(item);\n\t\t\t\t\t\t\t\/\/ is_validated = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\n\t\t\t\t\t\/\/ other inputs\n\t\t\t\t\tvar field = item.querySelector('input');\n\n\t\t\t\t\tif (!field) {\n\t\t\t\t\t\tvar field = item.querySelector('textarea');\n\t\t\t\t\t}\n\n\t\t\t\t\tif (field) {\n\t\t\t\t\t\tvar _field = item.querySelector('input');\n\t\t\t\t\t\tif (!_field) {\n\t\t\t\t\t\t\tvar _field = item.querySelector('textarea');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\/\/ IF childInformation__  YEAR and MONTH\n\t\t\t\t\t\tif (field.name === 'childInformation__birthyear') {\n\t\t\t\t\t\t\tvar field_year = field;\n\t\t\t\t\t\t\tvar field_month = field.parentNode.parentNode.querySelector('[name=\"childInformation__birthmonth\"]');\n\n\t\t\t\t\t\t\tif (((new RegExp(\"[0-9]\")).test(field_year.value) &#038;&#038; (field_year.value.length == 4)) &#038;&#038; ((new RegExp(\"[0-9]\")).test(field_month.value) &#038;&#038; (field_month.value < 13 &#038;&#038; field_month.value != 0))) {\n\t\t\t\t\t\t\t\t\/\/ if ((\/^\\d+$\/.test(field_year.value) &#038;&#038; (field_year.value.length == 4)) &#038;&#038; (\/^\\d+$\/.test(field_month.value) &#038;&#038; (field_month.value < 13 &#038;&#038; field_month.value != 0))) {\n\t\t\t\t\t\t\t\tremoveValidationError(item);\n\t\t\t\t\t\t\t\titem.classList.remove('ams-form__not-validated');\n\t\t\t\t\t\t\t\t_field.setAttribute('aria-invalid', false);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\titem.classList.add('ams-form__not-validated');\n\t\t\t\t\t\t\t\tfield.setAttribute('aria-invalid', true);\n\t\t\t\t\t\t\t\taddValidationError(item, 'field');\n\t\t\t\t\t\t\t\tis_validated = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (field.name === 'Email' || field.name === 'email') {\n\n\t\t\t\t\t\t\tif (!validate_email(field.value)) {\n\t\t\t\t\t\t\t\titem.classList.add('ams-form__not-validated');\n\t\t\t\t\t\t\t\t_field.setAttribute('aria-invalid', true);\n\t\t\t\t\t\t\t\tis_validated = false;\n\t\t\t\t\t\t\t\taddValidationError(item, 'field');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tremoveValidationError(item);\n\t\t\t\t\t\t\t\titem.classList.remove('ams-form__not-validated');\n\t\t\t\t\t\t\t\t_field.setAttribute('aria-invalid', false);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else if (field.name === 'mobilePhoneNumber' || field.name === 'Phone') {\n\n\t\t\t\t\t\t\t\/\/ mobilePhoneNumber\n\t\t\t\t\t\t\tif (field.value.length > 8 && \/^\\d+$\/.test(field.value)) {\n\t\t\t\t\t\t\t\t\/\/ success\n\t\t\t\t\t\t\t\tremoveValidationError(item);\n\t\t\t\t\t\t\t\titem.classList.remove('ams-form__not-validated');\n\t\t\t\t\t\t\t\t_field.setAttribute('aria-invalid', false);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\/\/ Fail\n\t\t\t\t\t\t\t\titem.classList.add('ams-form__not-validated');\n\t\t\t\t\t\t\t\t_field.setAttribute('aria-invalid', true);\n\t\t\t\t\t\t\t\tis_validated = false;\n\t\t\t\t\t\t\t\taddValidationError(item, 'field');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else if (field.value.length < 2) {\n\t\t\t\t\t\t\titem.classList.add('ams-form__not-validated');\n\t\t\t\t\t\t\t_field.setAttribute('aria-invalid', true);\n\t\t\t\t\t\t\tis_validated = false;\n\t\t\t\t\t\t\taddValidationError(item, 'field');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tremoveValidationError(item);\n\t\t\t\t\t\t\titem.classList.remove('ams-form__not-validated');\n\t\t\t\t\t\t\t_field.setAttribute('aria-invalid', false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\treturn is_validated;\n\t\t}\n\n\t\tfunction validate_email(string) {\n\t\tif (\/[a-z0-9!#$%&#038;'*+\/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&#038;'*+\/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\/.test(string)) {\n\t\t\treturn (true);\n\t\t}\n\t\treturn (false);\n\t\t}\n\n\t\tfunction getEventSessionValue(field) {\n\t\tvar selected_session = field.querySelectorAll('input[name=session]:checked');\n\n\t\treturn selected_session;\n\t\t}\n\n\t\tfunction getMultiSelectValues(select) {\n\t\tvar result = [];\n\t\tvar options = select &#038;&#038; select.options;\n\t\tvar opt;\n\n\t\tfor (var i = 0, iLen = options.length; i < iLen; i++) {\n\t\t\topt = options[i];\n\n\t\t\tif (opt.selected) {\n\t\t\t\tresult.push(opt.value || opt.text);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t\t}\n\n\t\t\/*!\n\t\t* Serialize all form data into an array\n\t\t* (c) 2018 Chris Ferdinandi, MIT License, https:\/\/gomakethings.com\n\t\t* @param  {Node}   form The form to serialize\n\t\t* @return {String}      The serialized form data\n\t\t*\/\n\t\tvar serializeArray = function (form) {\n\n\t\t\/\/ Setup our serialized data\n\t\tvar serialized = [];\n\n\t\t\/\/ Loop through each field in the form\n\t\tfor (var i = 0; i < form.elements.length; i++) {\n\n\t\t\tvar field = form.elements[i];\n\n\t\t\t\/\/ Don't serialize fields without a name, submits, buttons, file and reset inputs, and disabled fields\n\t\t\tif (!field.name || field.type === 'file' || field.type === 'reset' || field.type === 'submit' || field.type === 'button') continue;\n\n\t\t\t\/\/ If a multi-select, get all selections\n\t\t\tif (field.type === 'select-multiple') {\n\n\t\t\t\tfor (var n = 0; n < field.options.length; n++) {\n\t\t\t\t\tif (!field.options[n].selected) continue;\n\t\t\t\t\tserialized.push({\n\t\t\t\t\t\tname: field.name,\n\t\t\t\t\t\tvalue: field.options[n].value\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t\/\/ Convert field data to a query string\n\t\t\telse if ((field.type !== 'checkbox' &#038;&#038; field.type !== 'radio') || field.checked) {\n\t\t\t\tserialized.push({\n\t\t\t\t\tname: field.name,\n\t\t\t\t\tvalue: field.value,\n\t\t\t\t\tnicename: field.getAttribute('data-nicename')\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn serialized;\n\n\t\t};\n\n\t\tfunction getParams(url) {\n\t\tvar params = {};\n\t\tvar parser = document.createElement('a');\n\t\tparser.href = url;\n\t\tvar query = parser.search.substring(1);\n\t\tvar vars = query.split('&#038;');\n\t\tfor (var i = 0; i < vars.length; i++) {\n\t\t\tvar pair = vars[i].split('=');\n\t\t\tparams[pair[0]] = decodeURIComponent(pair[1]);\n\t\t}\n\t\treturn params;\n\t\t};\n\t}\n\n})();\n\n(function () {\n\n\twindow.addEventListener('DOMContentLoaded', function () {\n\n\t\tconst currentFormId = document.querySelector('input[name=\"aca_form_id\"]').value; \/\/Eductus Rusta och matcha form with id g6D2cDrGYSPf\n\n\t\tif(currentFormId == \"g6D2cDrGYSPf\"){\n\n\t\t\tlet isFormInteracted = false;\n\t\t\tlet formSubmitted = false;\n\t\t\tconst formId = \"ams-form__69fb6bb35bee1\";\n\t\t\tconst form = document.querySelector(\"#\" + formId);\n\t\t\tconst inputFields = form.querySelectorAll('input:not([type=\"hidden\"])');\n\n\t\t\tform.addEventListener('submit', function() {\n\t\t\t\tformSubmitted = true;\n\t\t\t});\n\n\t\t\tinputFields.forEach(field => {\n\t\t\t\tfield.addEventListener('focus', function() {\n\t\t\t\t\tisFormInteracted = true;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\twindow.addEventListener('beforeunload', function(event) {\n\t\t\t\tif (isFormInteracted && !formSubmitted) {\n\t\t\t\t\ttrackAbandonedField();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tfunction getFieldsWithData(form) {\n\t\t\t\tlet data = {};\n\n\t\t\t\tfor (let inputElem of form.elements) {\n\t\t\t\t\tif (inputElem.tagName === 'INPUT' && inputElem.type !== \"hidden\") {\n\t\t\t\t\t\tlet niceName = inputElem.getAttribute('data-nicename');\n\t\t\t\t\t\tif(inputElem.type == \"text\"){\n\t\t\t\t\t\t\tdata[niceName] = inputElem.value ? \"true\" : \"false\";\n\t\t\t\t\t\t} else if(inputElem.type == \"checkbox\") {\n\t\t\t\t\t\t\tdata[niceName] = inputElem.checked ? \"true\" : \"false\";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn data;\n\t\t\t}\n\n\t\t\tfunction trackAbandonedField() {\n\t\t\t\tlet fieldsWithData = getFieldsWithData(form);\n\t\t\t\twindow.dataLayer = window.dataLayer || [];\n\t\t\t\twindow.dataLayer.push({\n\t\t\t\t\t'event': 'formStarted',\n\t\t\t\t\t'formFields': fieldsWithData\n\t\t\t\t});\n\t\t\t}\n\n\t\t}\n\n\t})\n\n})();\n\n<\/script>\n\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Get info about The Game Assembly UK \u2013 Game Dev Education<\/title>\n<meta name=\"description\" content=\"Curious about game development? Leave your email and we\u2019ll send you personal info about The Game Assembly UK and our courses.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/thegameassembly.com\/uk\/get-info\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Get info about The Game Assembly UK \u2013 Game Dev Education\" \/>\n<meta property=\"og:description\" content=\"Curious about game development? Leave your email and we\u2019ll send you personal info about The Game Assembly UK and our courses.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thegameassembly.com\/uk\/get-info\/\" \/>\n<meta property=\"og:site_name\" content=\"The Game Assembly UK\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-12T08:21:17+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Get info about The Game Assembly UK \u2013 Game Dev Education\" \/>\n<meta name=\"twitter:description\" content=\"Curious about game development? Leave your email and we\u2019ll send you personal info about The Game Assembly UK and our courses.\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thegameassembly.com\/uk\/get-info\/\",\"url\":\"https:\/\/thegameassembly.com\/uk\/get-info\/\",\"name\":\"Get info about The Game Assembly UK \u2013 Game Dev Education\",\"isPartOf\":{\"@id\":\"https:\/\/thegameassembly.com\/uk\/#website\"},\"datePublished\":\"2025-09-08T12:51:10+00:00\",\"dateModified\":\"2025-09-12T08:21:17+00:00\",\"description\":\"Curious about game development? Leave your email and we\u2019ll send you personal info about The Game Assembly UK and our courses.\",\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thegameassembly.com\/uk\/get-info\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thegameassembly.com\/uk\/#website\",\"url\":\"https:\/\/thegameassembly.com\/uk\/\",\"name\":\"The Game Assembly UK\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/thegameassembly.com\/uk\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/thegameassembly.com\/uk\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/thegameassembly.com\/uk\/#organization\",\"name\":\"The Game Assembly UK\",\"url\":\"https:\/\/thegameassembly.com\/uk\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/thegameassembly.com\/uk\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/3\/2023\/01\/tgalogowhite-small.svg\",\"contentUrl\":\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/3\/2023\/01\/tgalogowhite-small.svg\",\"width\":113,\"height\":33,\"caption\":\"The Game Assembly UK\"},\"image\":{\"@id\":\"https:\/\/thegameassembly.com\/uk\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Get info about The Game Assembly UK \u2013 Game Dev Education","description":"Curious about game development? Leave your email and we\u2019ll send you personal info about The Game Assembly UK and our courses.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/thegameassembly.com\/uk\/get-info\/","og_locale":"en_US","og_type":"article","og_title":"Get info about The Game Assembly UK \u2013 Game Dev Education","og_description":"Curious about game development? Leave your email and we\u2019ll send you personal info about The Game Assembly UK and our courses.","og_url":"https:\/\/thegameassembly.com\/uk\/get-info\/","og_site_name":"The Game Assembly UK","article_modified_time":"2025-09-12T08:21:17+00:00","twitter_card":"summary_large_image","twitter_title":"Get info about The Game Assembly UK \u2013 Game Dev Education","twitter_description":"Curious about game development? Leave your email and we\u2019ll send you personal info about The Game Assembly UK and our courses.","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/thegameassembly.com\/uk\/get-info\/","url":"https:\/\/thegameassembly.com\/uk\/get-info\/","name":"Get info about The Game Assembly UK \u2013 Game Dev Education","isPartOf":{"@id":"https:\/\/thegameassembly.com\/uk\/#website"},"datePublished":"2025-09-08T12:51:10+00:00","dateModified":"2025-09-12T08:21:17+00:00","description":"Curious about game development? Leave your email and we\u2019ll send you personal info about The Game Assembly UK and our courses.","inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thegameassembly.com\/uk\/get-info\/"]}]},{"@type":"WebSite","@id":"https:\/\/thegameassembly.com\/uk\/#website","url":"https:\/\/thegameassembly.com\/uk\/","name":"The Game Assembly UK","description":"","publisher":{"@id":"https:\/\/thegameassembly.com\/uk\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thegameassembly.com\/uk\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/thegameassembly.com\/uk\/#organization","name":"The Game Assembly UK","url":"https:\/\/thegameassembly.com\/uk\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/thegameassembly.com\/uk\/#\/schema\/logo\/image\/","url":"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/3\/2023\/01\/tgalogowhite-small.svg","contentUrl":"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/3\/2023\/01\/tgalogowhite-small.svg","width":113,"height":33,"caption":"The Game Assembly UK"},"image":{"@id":"https:\/\/thegameassembly.com\/uk\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/thegameassembly.com\/uk\/wp-json\/wp\/v2\/pages\/2149"}],"collection":[{"href":"https:\/\/thegameassembly.com\/uk\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/thegameassembly.com\/uk\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/thegameassembly.com\/uk\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/thegameassembly.com\/uk\/wp-json\/wp\/v2\/comments?post=2149"}],"version-history":[{"count":10,"href":"https:\/\/thegameassembly.com\/uk\/wp-json\/wp\/v2\/pages\/2149\/revisions"}],"predecessor-version":[{"id":2355,"href":"https:\/\/thegameassembly.com\/uk\/wp-json\/wp\/v2\/pages\/2149\/revisions\/2355"}],"wp:attachment":[{"href":"https:\/\/thegameassembly.com\/uk\/wp-json\/wp\/v2\/media?parent=2149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}