{"id":14629,"date":"2026-01-26T18:45:25","date_gmt":"2026-01-26T17:45:25","guid":{"rendered":"https:\/\/thegameassembly.com\/se\/?post_type=article&#038;p=14629"},"modified":"2026-10-15T14:43:12","modified_gmt":"2026-10-15T12:43:12","slug":"hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling","status":"publish","type":"article","link":"https:\/\/thegameassembly.com\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/","title":{"rendered":"Hur f\u00f6rdomsfull \u00e4r du n\u00e4r det kommer till spelutveckling"},"content":{"rendered":"\n\t\n\t\n\t\n\t\n\t\n\n<section \n\tclass=\"ams-hero ams-hero--classic ams-hero--50 c-block l-stacked  \"\n\tdata-color-scheme=\"new-header-bg-blackbite-text-white-button-deep-pixel-plum\"\n\tstyle=\"\">\n\t<div class=\"ams-hero__container u-items-center u-justify-end\">\n\t\t<div\n\t\t\tclass=\"ams-hero__content l-stack l-stack-xl is-left is-left@md\" >\n\t\t\t<div class=\"l-stack l-stack-lg\">\n\t\t\t\t\t\n\t<h1\n\tclass=\"c-heading u-font-title-1 \"\n\tstyle=\"\">\n\t\t\n\t\t\t\t\t\t\t\t\t<span class=\"c-heading__sub is-above u-font-title-3\">\n\t\t\t\t\tHur f\u00f6rdomsfull \u00e4r du&#8230;\n\t\t\t\t<\/span>\n\t\t\t\t&#8230;n\u00e4r det kommer till spelutveckling\n\t\t\t\t\t\t\t\n\t<\/h1>\n\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t<div class=\"c-bg c-bg--img\" data-settings=\"{&quot;desktop_settings&quot;:{&quot;size&quot;:&quot;cover&quot;,&quot;position&quot;:&quot;middle-center&quot;},&quot;mobile_settings&quot;:{&quot;size&quot;:&quot;cover&quot;,&quot;position&quot;:&quot;middle-center&quot;}}\" data-position=\"middle-center\" data-size=\"cover\">\n\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1920\" height=\"752\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/emma-blomstrand-image-e1769180758346.jpg\" class=\"attachment-hero-lg size-hero-lg\" alt=\"\" sizes=\"(max-width: 1920px) 100vw, 1920px\" srcset=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/emma-blomstrand-image-e1769180758346.jpg 1920w, https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/emma-blomstrand-image-e1769180758346-300x118.jpg 300w, https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/emma-blomstrand-image-e1769180758346-400x157.jpg 400w, https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/emma-blomstrand-image-e1769180758346-600x235.jpg 600w, https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/emma-blomstrand-image-e1769180758346-800x313.jpg 800w, https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/emma-blomstrand-image-e1769180758346-1024x401.jpg 1024w, https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/emma-blomstrand-image-e1769180758346-1200x470.jpg 1200w\" \/>\n\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t<div class=\"c-bg c-bg--img\" data-settings=\"{&quot;desktop_settings&quot;:{&quot;size&quot;:&quot;cover&quot;,&quot;position&quot;:&quot;middle-center&quot;},&quot;mobile_settings&quot;:{&quot;size&quot;:&quot;cover&quot;,&quot;position&quot;:&quot;middle-center&quot;}}\" data-position=\"middle-center\" data-size=\"cover\">\n\t\t\t\n\t\t<\/div>\n\t\n\t<div class=\"c-overlay\" style=\"--overlay-bg: rgba(35,35,35,0.6);\"><\/div>\n<\/section>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<p><\/p>\n\n\n\n<p class=\"has-small-font-size\">Artikel | <em>Publicerad 26 januari 202<\/em>6, <em>Uppdaterad 15 oktober 2026<\/em><\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Vad \u00e4r spelutveckling egentligen<\/h2>\n\n\n\n<p   class=\"site__ingress container text-left  site__text-color--dark  site__free_text--ingress p-0\">\n\tSpel \u00e4r \u00f6verallt. I mobilen, p\u00e5 bussen, hemma i soffan, framf\u00f6r datorn. Vissa ser sig som inbitna gamers. Andra har testat n\u00e5got mobilspel n\u00e5gon g\u00e5ng eller mest h\u00f6rt om andra som spelar. Men hur bra koll har du egentligen p\u00e5 spelutveckling och p\u00e5 arbetet bakom spelupplevelsen? <\/p>\n\n\n\n\n\n<hr>\n\n\n\n<h2 class=\"wp-block-heading\">K\u00e4nner du igen dig i n\u00e5gon av f\u00f6ljande?<\/h2>\n\n\n\n<div style=\"height:31px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"inget-riktigt-yrke\">&#8221;Spelutvecklare \u00e4r inget riktigt yrke&#8221;<\/h3>\n\n\n\n<p>Visste du att spel \u00e4r en av v\u00e4rldens st\u00f6rsta underh\u00e5llningsbranscher och att den globalt oms\u00e4tter mer \u00e4n b\u00e5de film och musik tillsammans?<\/p>\n\n\n\n<p>Spel \u00e4r i dag mer \u00e4n underh\u00e5llning. Det \u00e4r digitala v\u00e4rldar och communities som anv\u00e4nds av m\u00e4nniskor i alla \u00e5ldrar. F\u00f6r m\u00e5nga \u00e4r spel en sj\u00e4lvklar del av hur vi tar del av ber\u00e4ttelser och upplevelser, umg\u00e5s och l\u00e4r k\u00e4nna nya m\u00e4nniskor.<\/p>\n\n\n\n<p>Svenska spel har dessutom haft ett stort internationellt genomslag. Uppskattningsvis har var fj\u00e4rde person i v\u00e4rlden spelat ett spel utvecklat i Sverige.<\/p>\n\n\n\n<p>Att spelutveckling inte skulle vara ett riktigt yrke \u00e4r d\u00e4rf\u00f6r inte sant. Det \u00e4r ett etablerat yrkesomr\u00e5de som dessutom erbjuder m\u00e5nga olika karri\u00e4rv\u00e4gar.<\/p>\n\n\n\n<div style=\"height:31px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"10-000h\">&#8221;En m\u00e5ste ha gameat minst 10 000h innan&#8221;<\/h3>\n\n\n\n<p>Det h\u00e4r \u00e4r kanske en av de vanligaste f\u00f6rdomarna. Och den st\u00e4mmer s\u00e5 klart inte.<\/p>\n\n\n\n<p>Att bli spelutvecklare handlar inte om hur m\u00e5nga timmar du spelat, utan om kreativitet, samarbete och viljan att utveckla och utmana dig sj\u00e4lv.<\/p>\n\n\n\n<p>P\u00e5 TGA l\u00e4r du dig hur spel faktiskt skapas, fr\u00e5n id\u00e9 till f\u00e4rdigt spel. Det kr\u00e4ver varken att du har spelat ett visst spel eller att du satt n\u00e5got high score.<\/p>\n\n\n\n<div style=\"height:31px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"energidryck\">&#8221;Alla h\u00e4nger i k\u00e4llare och dricker energidryck&#8221;<\/h3>\n\n\n\n<p>Precis som inom de flesta andra yrken g\u00e5r det inte att generalisera spelutvecklare. Vissa gillar sena kv\u00e4llar. Andra inte alls. Vissa f\u00f6redrar katter, andra hundar, n\u00e5gon \u00e4r allergisk och avst\u00e5r g\u00e4rna b\u00e5da, o.s.v. <\/p>\n\n\n\n<p>Det som \u00e4r gemensamt \u00e4r d\u00e4remot att spelutveckling \u00e4r ett socialt yrke. Spel skapas i team och kr\u00e4ver samarbete, struktur och gemensamt ansvar. <\/p>\n\n\n\n<p>Just d\u00e4rf\u00f6r l\u00e4r sig v\u00e5ra studerande att arbeta i tv\u00e4rdisciplin\u00e4ra team i en studiosimulerad milj\u00f6 d\u00e4r vardagen liknar hur det ser ut i spelindustrin. Med tydliga roller, gemensamma deadlines och ett professionellt arbetss\u00e4tt byggs spelen tillsammans.<\/p>\n\n\n\n<div style=\"height:31px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"speldrommar\">&#8221;Jag har inga f\u00f6rdomar men speldr\u00f6mmar&#8221;<\/h3>\n\n\n\n<p>Kul. D\u00e5 har du kommit r\u00e4tt.<\/p>\n\n\n\n<p>P\u00e5 TGA kan du utbilda dig till spelutvecklare genom utbildningar som \u00e4r framtagna i n\u00e4ra samarbete med branschen. Du studerar i team, i en studiosimulerad milj\u00f6, p\u00e5 en av v\u00e4rldens b\u00e4sta spelskolor.<\/p>\n\n\n\n<p><strong>V\u00e4gen till spelindustrin g\u00e5r via oss.<\/strong><\/p>\n\n\n\n<p><em><sup>*Studerandeverk i hero:\u00a0Emma Blomstrand<\/sup><\/em><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><\/div>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"module_wrapper ams_background_module global_body-color  site__text-color--light  cp-120\" style=\"background-image: url(https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/intresseanmalan-tga-verk-emanuel-perpals.jpg)\">\n<div class=\"container_width--full_width_conIcon\">\n\t\n\n<h1 class=\"wp-block-heading has-text-align-center\">L\u00e4mna intresse\u00adanm\u00e4lan<\/h1>\n\n\n\n<div class=\"wp-block-group is-style-container is-layout-flow wp-block-group-is-layout-flow\"><!-- 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 = '2';\n\tvar post_id = '14629';\n\tvar saved_aca_form_id = 'MBlgxoGyAxUt';\n\tvar orgUnitId = 'a6ec75b9-a6c1-ed11-83ff-000d3adf7ba9';\n\tvar current_api = 'ms_crm';\n\tvar current_api_type = 'leads-lead';\n<\/script>\n\n\n<div\n\t class=\"ams-form__two-columns ams-form__form-wrapper container ams-form__shape--sharp-corners  site__text-color--dark   site__secondary-bg--8  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--Center  site__text-color--dark \">\n\t\t\t\tH\u00e5ll dig uppdaterad genom att l\u00e4mna en intresseanm\u00e4lan\t\t\t<\/h3>\n\t\t\n\t\t\n\t\t<form   id=\"ams-form__6ad1f5f04be7c\"\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=\"b30619d43d\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/se\/wp-json\/wp\/v2\/article\/14629\" \/>\t\t\t<input type=\"hidden\" name=\"aca_form_id\" value=\"MBlgxoGyAxUt\"\/>\n\t\t\t\t\t\t<label\n\t\t\t\t   class=\"  ams-form__field ams-form__label\">\n\t\t\t\t<div class=\"_title site__subheading-11\">F\u00f6rnamn<\/div>\n\t\t\t\t<input\n\t\t\t\t\t   data-nicename=\"F\u00f6rnamn\" maxlength=\"50\" \t\t\t\t\t   type=\"text\" name=\"firstName\"\/><\/label>\n\t\t\t\t\t\t<label\n\t\t\t\t   class=\"  ams-form__field ams-form__label\">\n\t\t\t\t<div class=\"_title site__subheading-11\">Efternamn<\/div>\n\t\t\t\t<input\n\t\t\t\t\t   data-nicename=\"Efternamn\" maxlength=\"50\" \t\t\t\t\t   type=\"text\" name=\"lastName\"\/><\/label>\n\t\t\t\t\t\t<label\n\t\t\t\t   class=\"  ams-form__field-required ams-form__field ams-form__label\">\n\t\t\t\t<div class=\"_title site__subheading-11\">E-post<\/div>\n\t\t\t\t<input\n\t\t\t\t\t   data-nicename=\"E-post\" maxlength=\"100\" required\t\t\t\t\t   type=\"text\" name=\"email\"\/><\/label>\n\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t<fieldset data-element-filter-relation=\"db-query\"\n\t\t\t\t\t\t\t  data-element-identifier=\"progorgmappings\"\n\n\t\t\t\t\t\t\t  class=\"ams-form__field ams-form__label ams-form__radio-dropdown\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t class=\"_title site__subheading-11\">Utbildningar<\/div>\n\t\t\t\t\t\t\n\t<div class=\"ams-form__checkbox-wrapper\">\n\t\t<button id=\"aca-dropdown__6ad1f5f05176f\"\n\n\t\t\t\tstyle=\"border-color: #2E2E2E;\"\n\t\t\t\tclass=\"ams-form__dropdown-button ams-form__checkbox-wrapper ams-form__checkbox-dropdown ams-form__select  site__text-color--dark \"\n\t\t\t>\n\n\t\t\tUtbildningar\t\t\t<div id=\"arrow2\" class=\"float-right pointer--none\">\n\t\t\t\t<svg width=\"20\" height=\"11\" viewBox=\"0 0 20 11\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n\t\t\t\t\t<path\n\t\t\t\t\t\td=\"M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L1.70711 0.292893ZM10 10L9.29289 10.7071C9.68342 11.0976 10.3166 11.0976 10.7071 10.7071L10 10ZM19.7071 1.70711C20.0976 1.31658 20.0976 0.683417 19.7071 0.292893C19.3166 -0.0976311 18.6834 -0.0976311 18.2929 0.292893L19.7071 1.70711ZM0.292893 1.70711L9.29289 10.7071L10.7071 9.29289L1.70711 0.292893L0.292893 1.70711ZM10.7071 10.7071L19.7071 1.70711L18.2929 0.292893L9.29289 9.29289L10.7071 10.7071Z\"\n\t\t\t\t\t\tfill=\"#2E2E2E\"><\/path>\n\t\t\t\t<\/svg>\n\t\t\t<\/div>\n\t\t<\/button>\n\t<\/div>\n\n\t<div id=\"aca-dropdown-options__6ad1f5f05176f\"\n\t\t class=\"ams-form__checkbox-dropdown ams-form__select-list checkbox  site__primary-bg \"\n\t\t aria-hidden=\"true\"\n\t\t aria-labelledby=\"aca-dropdown__6ad1f5f05176f\">\n\n\t\t\n\t\t<ul>\n\t\t\t<li class=\"ams-form__box-wrapper markup\">\n\t\t\t\t<label\n\t\t\t\t\tclass=\"container-checkmark site__main-font site__main-font-weight-normal  site__text-color--light \">\n\n\t\t\t\t\t<input\n\t\t\t\t\t\t   type=\"checkbox\"\n\t\t\t\t\t\t   name=\"progorgmappings\"\n\t\t\t\t\t\t   autocomplete=\"off\"\/>\n\t\t\t\t\t<span class=\"checkmark\"><\/span>\n\t\t\t\t<\/label>\n\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<li class=\"ams-form__box-wrapper\"\n\t\t\t\t\t\tdata-value=\"53333c34-a7c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\tdata-title=\"Leveldesigner\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclass=\"container-checkmark site__main-font site__main-font-weight-normal  site__text-color--light \">\n\t\t\t\t\t\t\tLeveldesigner\t\t\t\t\t\t\t<input data-nicename=\"Leveldesigner\"\n\t\t\t\t\t\t\t\t   data-custom=\"\"\n\t\t\t\t\t\t\t\t   data-value=\"53333c34-a7c1-ed11-83ff-000d3adf72dd\"\n\n\t\t\t\t\t\t\t\t   type=\"checkbox\"\n\t\t\t\t\t\t\t\t   value=\"53333c34-a7c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\t\t\t   name=\"progorgmappings-477795\"\n\t\t\t\t\t\t\t\t   autocomplete=\"off\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"checkmark\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<li class=\"ams-form__box-wrapper\"\n\t\t\t\t\t\tdata-value=\"3f383909-a8c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\tdata-title=\"Procedural Artist\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclass=\"container-checkmark site__main-font site__main-font-weight-normal  site__text-color--light \">\n\t\t\t\t\t\t\tProcedural Artist\t\t\t\t\t\t\t<input data-nicename=\"Procedural Artist\"\n\t\t\t\t\t\t\t\t   data-custom=\"\"\n\t\t\t\t\t\t\t\t   data-value=\"3f383909-a8c1-ed11-83ff-000d3adf72dd\"\n\n\t\t\t\t\t\t\t\t   type=\"checkbox\"\n\t\t\t\t\t\t\t\t   value=\"3f383909-a8c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\t\t\t   name=\"progorgmappings-477795\"\n\t\t\t\t\t\t\t\t   autocomplete=\"off\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"checkmark\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<li class=\"ams-form__box-wrapper\"\n\t\t\t\t\t\tdata-value=\"8d2c2f40-a7c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\tdata-title=\"Spelanimat\u00f6r\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclass=\"container-checkmark site__main-font site__main-font-weight-normal  site__text-color--light \">\n\t\t\t\t\t\t\tSpelanimat\u00f6r\t\t\t\t\t\t\t<input data-nicename=\"Spelanimat\u00f6r\"\n\t\t\t\t\t\t\t\t   data-custom=\"\"\n\t\t\t\t\t\t\t\t   data-value=\"8d2c2f40-a7c1-ed11-83ff-000d3adf72dd\"\n\n\t\t\t\t\t\t\t\t   type=\"checkbox\"\n\t\t\t\t\t\t\t\t   value=\"8d2c2f40-a7c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\t\t\t   name=\"progorgmappings-477795\"\n\t\t\t\t\t\t\t\t   autocomplete=\"off\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"checkmark\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<li class=\"ams-form__box-wrapper\"\n\t\t\t\t\t\tdata-value=\"24b57889-a7c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\tdata-title=\"Spelgrafiker\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclass=\"container-checkmark site__main-font site__main-font-weight-normal  site__text-color--light \">\n\t\t\t\t\t\t\tSpelgrafiker\t\t\t\t\t\t\t<input data-nicename=\"Spelgrafiker\"\n\t\t\t\t\t\t\t\t   data-custom=\"\"\n\t\t\t\t\t\t\t\t   data-value=\"24b57889-a7c1-ed11-83ff-000d3adf72dd\"\n\n\t\t\t\t\t\t\t\t   type=\"checkbox\"\n\t\t\t\t\t\t\t\t   value=\"24b57889-a7c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\t\t\t   name=\"progorgmappings-477795\"\n\t\t\t\t\t\t\t\t   autocomplete=\"off\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"checkmark\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<li class=\"ams-form__box-wrapper\"\n\t\t\t\t\t\tdata-value=\"f85097a7-a7c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\tdata-title=\"Spelprogrammerare\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclass=\"container-checkmark site__main-font site__main-font-weight-normal  site__text-color--light \">\n\t\t\t\t\t\t\tSpelprogrammerare\t\t\t\t\t\t\t<input data-nicename=\"Spelprogrammerare\"\n\t\t\t\t\t\t\t\t   data-custom=\"\"\n\t\t\t\t\t\t\t\t   data-value=\"f85097a7-a7c1-ed11-83ff-000d3adf72dd\"\n\n\t\t\t\t\t\t\t\t   type=\"checkbox\"\n\t\t\t\t\t\t\t\t   value=\"f85097a7-a7c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\t\t\t   name=\"progorgmappings-477795\"\n\t\t\t\t\t\t\t\t   autocomplete=\"off\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"checkmark\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<li class=\"ams-form__box-wrapper\"\n\t\t\t\t\t\tdata-value=\"ae62acc5-a7c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\tdata-title=\"Technical Artist\">\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tclass=\"container-checkmark site__main-font site__main-font-weight-normal  site__text-color--light \">\n\t\t\t\t\t\t\tTechnical Artist\t\t\t\t\t\t\t<input data-nicename=\"Technical Artist\"\n\t\t\t\t\t\t\t\t   data-custom=\"\"\n\t\t\t\t\t\t\t\t   data-value=\"ae62acc5-a7c1-ed11-83ff-000d3adf72dd\"\n\n\t\t\t\t\t\t\t\t   type=\"checkbox\"\n\t\t\t\t\t\t\t\t   value=\"ae62acc5-a7c1-ed11-83ff-000d3adf72dd\"\n\t\t\t\t\t\t\t\t   name=\"progorgmappings-477795\"\n\t\t\t\t\t\t\t\t   autocomplete=\"off\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span class=\"checkmark\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t<\/label>\n\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t<\/ul>\n\t<\/div>\n\n\t\t\t<ul id=\"aca-dropdown-selection__6ad1f5f05176f\" class=\"aca-dropdown-selection\">\n\t\t\t<li class=\"aca-dropdown-selection__item markup\" id=\"\">\n\t\t\t\t<i class=\"fa fa-times remove\"><\/i> <span class=\"value\"><\/span>\n\t\t\t\t<input type=\"hidden\" name=\"org-county-programs\"\/>\n\t\t\t<\/li>\n\t\t<\/ul>\n\t\n\t<script>\n\t\t(function () {\n\n\t\t\tlet form_element = document.querySelector('form[id*=ams-form__]');\n\t\t\tvar dropdown = document.querySelector('#aca-dropdown__6ad1f5f05176f');\n\t\t\tvar dropdown_content = document.querySelector('#aca-dropdown-options__6ad1f5f05176f');\n\t\t\tlet dropdown_selection = document.querySelector('#aca-dropdown-selection__6ad1f5f05176f');\n\t\t\tvar shiftkey_active = false;\n\n\t\t\tlet setupSelectionHandler = function () {\n\n\t\t\t\tlet checkboxes = dropdown_content.querySelectorAll('input[type=\"checkbox\"]');\n\n\t\t\t\tfor (let i = 0; i < checkboxes.length; i++) {\n\t\t\t\t\tcheckboxes[i].addEventListener('change', function () {\n\n\t\t\t\t\t\tlet value = this.value;\n\n\t\t\t\t\t\tif (this.checked) {\n\n\t\t\t\t\t\t\tlet markup = dropdown_selection\n\t\t\t\t\t\t\t\t.querySelector('.markup')\n\t\t\t\t\t\t\t\t.cloneNode(true);\n\n\t\t\t\t\t\t\t\/**\n\t\t\t\t\t\t\t * Setup attributes &#038; Event listeners to cloned markup\n\t\t\t\t\t\t\t * element and append it back to parent.\n\t\t\t\t\t\t\t *\/\n\n\t\t\t\t\t\t\tmarkup.setAttribute('id', value);\n\t\t\t\t\t\t\tmarkup.querySelector('input').value = this.dataset.value; \/\/ <-- @recent\n\t\t\t\t\t\t\tmarkup.querySelector('.value').textContent = this.dataset.nicename;\n\t\t\t\t\t\t\tmarkup.classList.remove('markup');\n\n\t\t\t\t\t\t\tmarkup.addEventListener('click', function () {\n\n\t\t\t\t\t\t\t\tif (dropdown_content.querySelector('input[value=\"' + value + '\"]')) {\n\t\t\t\t\t\t\t\t\tdropdown_content.querySelector('input[value=\"' + value + '\"]').click(); \/\/ uncheck checkbox\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.remove();\n\t\t\t\t\t\t\t\t\t\/\/ Trigger validation if item not found in current 'kommun'\n\t\t\t\t\t\t\t\t\tlet inputEl = dropdown_content.querySelector('li[class=ams-form__box-wrapper').querySelector('input');\n\t\t\t\t\t\t\t\t\tlet evt = new CustomEvent('change', {\n\t\t\t\t\t\t\t\t\t\tdetail: {\n\t\t\t\t\t\t\t\t\t\t\tcheckbox: inputEl\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\tform_element.dispatchEvent(evt);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tdropdown_selection.appendChild(markup);\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\/**\n\t\t\t\t\t\t\t * Reverse logic -> uncheck checkbox upon clicking on selection element\n\t\t\t\t\t\t\t *\/\n\n\t\t\t\t\t\t\tlet target = dropdown_selection.querySelector(\"[id='\" + value + \"']\");\n\n\t\t\t\t\t\t\tif (target) {\n\t\t\t\t\t\t\t\ttarget.remove();\n\t\t\t\t\t\t\t}\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\t\/**\n\t\t\t * Dropdown selection logic (for checkboxes)\n\t\t\t *\/\n\n\t\t\tif (dropdown_content.classList.contains('checkbox') && dropdown_selection) {\n\t\t\t\tsetupSelectionHandler();\n\n\t\t\t\tdropdown_content.addEventListener('content:updated', function () {\n\t\t\t\t\tsetupSelectionHandler();\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t\/**\n\t\t\t * Shift down (active)\n\t\t\t *\/\n\n\t\t\tdocument.addEventListener('keydown', function (e) {\n\t\t\t\tvar keyCode = e.keyCode;\n\t\t\t\tvar target = e.target;\n\t\t\t\t\/\/ shift\n\t\t\t\tif (keyCode === 16) {\n\t\t\t\t\tshiftkey_active = true;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t\/**\n\t\t\t * Shift up (inactive)\n\t\t\t *\/\n\n\t\t\tdocument.addEventListener('keyup', function (e) {\n\t\t\t\tvar keyCode = e.keyCode;\n\t\t\t\tvar target = e.target;\n\t\t\t\t\/\/ shift\n\t\t\t\tif (keyCode === 16) {\n\t\t\t\t\tshiftkey_active = false;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdropdown.addEventListener('focus', function (event) {\n\t\t\t\tif (dropdown.classList.contains('_open_')) {\n\t\t\t\t\tdropdown_content.querySelector('input').focus();\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdropdown.addEventListener('click', function (event) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tvar keyCode = event.keyCode;\n\t\t\t\tvar target = event.target;\n\n\t\t\t\tif (target.className.indexOf('_open_') == -1) {\n\t\t\t\t\topen_dropdown(target);\n\t\t\t\t} else {\n\t\t\t\t\tclose_dropdown(target);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tdropdown_content.addEventListener('keydown', function (event) {\n\t\t\t\t\/\/ event.preventDefault(); \/\/ prevents typing into inputs within dropdowns...\n\n\t\t\t\tvar keyCode = event.keyCode;\n\t\t\t\tvar target = event.target;\n\n\t\t\t\t\/\/ tab\n\t\t\t\tif (keyCode == 9 && !shiftkey_active && dropdown.classList.contains('_open_')) {\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\tvar next_field = get_next_input_field(target.parentNode.parentNode.parentNode.parentNode.parentNode);\n\t\t\t\t\t\/\/ var next_field = target.parentNode.parentNode.parentNode.parentNode.parentNode.nextElementSibling;\n\t\t\t\t\tif (next_field) {\n\t\t\t\t\t\t\/\/ next is dropdown\n\t\t\t\t\t\tif (next_field.classList.contains('ams-form__checkbox-dropdown')) {\n\t\t\t\t\t\t\tnext_field.querySelector('button').focus();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnext_field.querySelector('input').focus();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclose_dropdown(dropdown);\n\t\t\t\t\t\ttarget.parentNode.parentNode.parentNode.parentNode.parentNode.querySelector('button').focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t\/\/ shift-tab\n\t\t\t\tif (keyCode == 9 && shiftkey_active && dropdown.classList.contains('_open_')) {\n\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\ttarget.parentNode.parentNode.parentNode.parentNode.parentNode.previousElementSibling.querySelector('input').focus();\n\t\t\t\t}\n\n\t\t\t\t\/\/ arrow down\n\t\t\t\tif (keyCode === 40) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\/\/ go to next checkbox\n\t\t\t\t\tvar next = target.parentNode.parentNode.nextElementSibling;\n\t\t\t\t\tif (next) {\n\t\t\t\t\t\tnext.querySelector('input').focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t\/\/ arrow up\n\t\t\t\tif (keyCode === 38) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\/\/ go to previous checkbox\n\t\t\t\t\tvar prev = target.parentNode.parentNode.previousElementSibling;\n\t\t\t\t\tif (prev) {\n\t\t\t\t\t\tprev.querySelector('input').focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t\/\/ space-bar\n\t\t\t\tif (keyCode == 32) {\n\n\t\t\t\t\tif (event.originalTarget.nodeName.toLowerCase() !== 'input' || event.originalTarget.type !== 'text') {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\ttarget.checked = true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t\/\/ dropdown_content.addEventListener('click', function (event) {\n\n\t\t\t\/\/ \tlet element = event.target;\n\n\t\t\t\/\/ \tif(element.tagName.toLowerCase() === 'input') {\n\t\t\t\/\/ \t\tconsole.log('Selected: '+element.value);\n\t\t\t\/\/ \t}\n\t\t\t\/\/ });\n\n\t\t\tdropdown.addEventListener('keydown', function (event) {\n\n\t\t\t\tvar keyCode = event.keyCode;\n\t\t\t\tvar target = event.target;\n\n\t\t\t\t\/\/ tab\n\t\t\t\tif (keyCode == 9) {\n\t\t\t\t\t\/\/ leave the default behavious untouched\n\t\t\t\t}\n\n\t\t\t\t\/\/ space-bar\n\t\t\t\tif (keyCode == 32) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif (target.className.indexOf('_open_') == -1) {\n\t\t\t\t\t\topen_dropdown(target);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclose_dropdown(target);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tvar get_next_input_field = function (element) {\n\t\t\t\tvar next_elem = null;\n\t\t\t\tvar current_elem = element;\n\t\t\t\tvar i = 0;\n\t\t\t\twhile (i < 10 &#038;&#038; next_elem !== null) {\n\t\t\t\t\tcurrent_elem = current_elem.nextElementSibling;\n\t\t\t\t\tif (current_elem.className.indexOf('ams-form__field') != -1) {\n\t\t\t\t\t\tnext_elem = current_elem;\n\t\t\t\t\t}\n\t\t\t\t\ti++;\n\t\t\t\t}\n\t\t\t\treturn next_elem;\n\t\t\t}\n\n\t\t\tfunction focus_next_field(target) {\n\t\t\t\tvar next_field = target.parentNode.parentNode.nextElementSibling;\n\t\t\t\tif (next_field.tabIndex === -1) {\n\t\t\t\t\tfocus_next_field(next_field)\n\t\t\t\t}\n\t\t\t\tif (next_field) {\n\t\t\t\t\tnext_field.querySelector('input, button').focus();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfunction open_dropdown(target) {\n\t\t\t\ttarget.classList.add('_open_');\n\t\t\t\tdropdown_content.classList.add('_open_');\n\n\t\t\t\tlet list_height = dropdown_content.querySelector('ul').clientHeight;\n\t\t\t\tlet height = list_height + 19;\n\t\t\t\tlet heightMax = 500;\n\n\t\t\t\tdropdown_content.style.height = height + 'px';\n\n\t\t\t\tif (height > heightMax) {\n\n\t\t\t\t\t\/**\n\t\t\t\t\t * Make it scrollable if over heightMax\n\t\t\t\t\t *\/\n\n\t\t\t\t\tdropdown_content.style['max-height'] = heightMax + 'px';\n\t\t\t\t\tdropdown_content.style['overflow-y'] = 'scroll';\n\t\t\t\t}\n\n\t\t\t\tdropdown_content.removeAttribute('aria-hidden');\n\t\t\t\tdropdown_content.querySelectorAll('input')[1].focus();\n\t\t\t}\n\n\t\t\tfunction close_dropdown(target) {\n\t\t\t\ttarget.classList.remove('_open_');\n\t\t\t\tdropdown_content.classList.remove('_open_');\n\t\t\t\tdropdown_content.style.height = '0';\n\t\t\t\tdropdown_content.setAttribute('aria-hidden', true);\n\t\t\t}\n\n\t\t})();\n\t<\/script>\n\t\t\t\t\t\t<\/fieldset>\n\t\t\t\t\n\t\t\t\t\t\t\t<div\n\t\t\t\tclass=\"ams-form__field-full-width  ams-form__field-required ams-form__field ams-form__label ams-form__checkbox-wrapper\">\n\t\t\t\t<div> <!-- Do not remove -->\n\t\t\t\t\t<div   class=\"ams-form__box-wrapper ams-form__consent\">\n\n\t\t\t\t\t\t<div   class=\"_title site__subheading-11\">\n\t\t\t\t\t\t\tSamtycke till personuppgiftshantering\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\t   class=\"container-checkmark site__body_text-2\"\n\t\t\t\t\t\t\t   for=\"box_id_6ad1f5f0523d9\">\n\t\t\t\t\t\t\tJag  samtycker till att The Game Assembly hanterar ovan angivna personuppgifter enligt f\u00f6ljande villkor f\u00f6r att skicka mig information, nyheter och riktad marknadsf\u00f6ring om de utbildningar jag visat intresse f\u00f6r. \t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t   data-nicename=\"Samtycke till personuppgiftshantering\"\n\t\t\t\t\t\t\t\t   type=\"checkbox\"\n\t\t\t\t\t\t\t\t   id=\"box_id_6ad1f5f0523d9\" name=\"specialField__combinedAcceptance\"\n\t\t\t\t\t\t\t\t   value=\"Samtycke till personuppgiftshantering\">\n\t\t\t\t\t\t\t<span class=\"checkmark\"><\/span>\n\t\t\t\t\t\t<\/label>\n\n\t\t\t\t\t\t<p   class=\"ams-form__integrity-popup-text site__body_text-3\"><b>L\u00e4s mer om v\u00e5r personuppgiftshantering h\u00e4r. <\/b><\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div> <!-- END Do not remove -->\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"operation-type\" value=\"leads-lead\"\/>\n\t\t\t\n\t\t\t<div class=\"ams-form__submit-wrapper text_align--Center\">\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\tSkicka\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\t<div class=\"ams-form__integrity-popup-hidden-text\">\n\t\t<div class=\"ams-form__integrity-popup-holder global_body-color  site__text-color--dark \">\n\t\t\t<div class=\"ams-form__integrity-popup-hidden-text-inner\"><h2>Hantering av personuppgifter<\/h2>\n<p>Genom att skicka in en intresseanm\u00e4lan samtycker du till att f\u00e5 utskick om vald utbildning d\u00e4r vi informerar om utbildningen, viktiga datum och hur du ans\u00f6ker. Vi kommer d\u00e5 att behandla ditt namn och din e-postadress med st\u00f6d av ditt samtycke fram tills att du \u00e5terkallar samtycket, avregistrerar dig fr\u00e5n v\u00e5ra utskick, eller p\u00e5 annat s\u00e4tt inv\u00e4nder mot marknadsf\u00f6ringen.<\/p>\n<p>N\u00e4r du skickar in en intresseanm\u00e4lan samtycker du \u00e4ven till att vi anv\u00e4nder informationen du angett i formul\u00e4ret tillsammans med informationen du anger om du p\u00e5b\u00f6rjar en ans\u00f6kan via YH-antagningen. Informationen vi anv\u00e4nder fr\u00e5n din ans\u00f6kan \u00e4r e-post, status och vald utbildning, syftet \u00e4r att anpassa v\u00e5ra utskick s\u00e5 de blir mer relevanta f\u00f6r dig utifr\u00e5n var i ans\u00f6kningsprocessen du befinner dig.<\/p>\n<p>V\u00e5ra informationsutskick inneh\u00e5ller s\u00e5 kallade sp\u00e5rningspixlar, vilket \u00e4r ett vanligt s\u00e4tt f\u00f6r att se om utskicken blir \u00f6ppnade av mottagarna. P\u00e5 ett liknande s\u00e4tt kan vi \u00e4ven se om mottagarna klickar p\u00e5 l\u00e4nkarna samt vilka l\u00e4nkar de klickar p\u00e5. Vi anv\u00e4nder denna information fr\u00e4mst f\u00f6r statistisk analys av v\u00e5ra utskick f\u00f6r att se hur vi kan f\u00f6rb\u00e4ttra utskicken s\u00e5 att de blir mer intressanta f\u00f6r mottagaren. Hanteringen av sp\u00e5rningspixlar sker med hj\u00e4lp av Microsoft Dynamics.<\/p>\n<p>Du har r\u00e4tt att n\u00e4r som helst ta tillbaka ditt samtycke. Detta g\u00f6r du genom att kontakta <span style=\"text-decoration: underline;\"><a href=\"mailto:malm\u00f6@thegameassembly.se\">malm\u00f6@thegameassembly.se<\/a><\/span> eller genom att klicka p\u00e5 avregistreringsl\u00e4nken som finns i alla utskick. \u00c5terkallande av ditt samtycke p\u00e5verkar inte lagligheten av behandlingen innan samtycket \u00e5terkallades.<\/p>\n<p>Du har \u00e4ven r\u00e4tt att kontakta oss f\u00f6r att f\u00e5 information om vilka uppgifter som behandlas om dig eller f\u00f6r att beg\u00e4ra r\u00e4ttelse, \u00f6verf\u00f6ring, radering eller begr\u00e4nsning av dina personuppgifter. Klicka <span style=\"text-decoration: underline;\"><a href=\"https:\/\/thegameassembly.com\/se\/om-personuppgifter-och-cookies\/\">h\u00e4r<\/a><\/span> f\u00f6r att l\u00e4sa mer om dina r\u00e4ttigheter och hur vi hanterar personuppgifter.<\/p>\n<\/div>\t\t\t<button class=\"ams-form__integrity-popup-close site__links-9\">St\u00e4ng X<\/button>\n\t\t<\/div>\n\t<\/div>\n\n\n\n<script>\n\n(function () {\n\tconst pageForms = Array.from(\n\t\tdocument.querySelectorAll(\"#ams-form__6ad1f5f04be7c\")\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\/\/ Hide events checkboxes fieldset\n\t\tconst eventsCheckboxFieldset = the_form.querySelectorAll('fieldset[data-element-identifier=\"events\"]');\n\t\teventsCheckboxFieldset.forEach(fieldset => {\n\t\t\t\/\/ Check if fieldset contains event checkbox\n\t\t\tconst hasEventCheckbox = fieldset.querySelector('input[type=\"checkbox\"][name=\"events\"]');\n\n\t\t\t\/\/ Add utility class if checkbox was found\n\t\t\thasEventCheckbox ? fieldset.classList.add('u-hide') : null;\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 = 'N\u00e5got gick fel n\u00e4r dina uppgifter skulle skickas. Sidan laddas om, f\u00f6rs\u00f6k g\u00e4rna igen om en liten stund.';\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 skickar dina uppgifter, det kan ta en liten stund. St\u00e4ng inte sidan.<\/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}, 15000);\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 = 'Det tar lite l\u00e4ngre tid \u00e4n vanligt. V\u00e4nta en stund till och st\u00e4ng inte sidan.';\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\tfunction reset_submit_button() {\n\t\t\tsubmit_button.removeAttribute('disabled');\n\t\t\tsubmit_button.classList.remove('ams-form__button-sending');\n\t\t\tform_sending.style.display = 'none';\n\t\t}\n\n\t\tfunction show_send_error() {\n\t\t\treset_submit_button();\n\n\t\t\tvar send_error = submit_button.parentNode.querySelector('.ams-form__submit-error');\n\n\t\t\tif (!send_error) {\n\t\t\t\tsend_error = document.createElement('p');\n\t\t\t\tsend_error.className = 'ams-form__submit-error';\n\t\t\t\tsend_error.setAttribute('role', 'alert');\n\t\t\t\tsend_error.style.alignSelf = 'center';\n\t\t\t\tsubmit_button.parentNode.appendChild(send_error);\n\t\t\t}\n\n\t\t\tsend_error.textContent = 'N\u00e5got gick fel n\u00e4r formul\u00e4ret skulle skickas. V\u00e4nligen f\u00f6rs\u00f6k igen om en liten stund.';\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\tvar send_error = submit_button.parentNode.querySelector('.ams-form__submit-error');\n\t\t\tif (send_error) {\n\t\t\t\tsend_error.remove();\n\t\t\t}\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\tif (!response.ok) {\n\t\t\t\t\treturn 'failed';\n\t\t\t\t}\n\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\/\/ the server has answered, so stop the \"waiting for server\" messages\n\t\t\t\t\tclear_all_waiting_timers(waiting_message_timers);\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\tif (kiosk) {\n\t\t\t\t\t\t\treset_submit_button();\n\t\t\t\t\t\t\tsaveFormInLocalStorage(form_data);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tshow_send_error();\n\t\t\t\t\t\t}\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\t\/\/ the form is already sent, so a tracking error must not stop the thank you page\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tdo_tracking(form_data);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t\t\t}\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\tclear_all_waiting_timers(waiting_message_timers);\n\t\t\t\tdocument.querySelector('#fetch_timer_message').style.display = 'none';\n\n\t\t\t\tif (kiosk) {\n\t\t\t\t\treset_submit_button();\n\t\t\t\t\tsaveFormInLocalStorage(form_data);\n\t\t\t\t\tupdateOfflineUi();\n\t\t\t\t} else {\n\t\t\t\t\tshow_send_error();\n\t\t\t\t}\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\":\"ntresseanmlan-ynamics\",\"region\":\"se\",\"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\/se\/tack-for-din-anmalan\/?location=The+Game+Assembly+Sweden&#038;type=interest';\n\t\t\treturn;\n\t\t}\n\n\t\t\/* Anything but 'failed' means the form was sent, even if the response isn't JSON *\/\n\t\tvar response;\n\t\ttry {\n\t\t\tresponse = JSON.parse(response_);\n\t\t} catch (err) {\n\t\t\tresponse = {};\n\t\t}\n\n\t\t\/* IF 'NORMAL' thankspage Quick-Exit *\/\n\t\tif (!response || !response.createdRegistrations) {\n\t\t\twindow.location.href = 'https:\/\/thegameassembly.com\/se\/tack-for-din-anmalan\/?location=The+Game+Assembly+Sweden&#038;type=interest';\n\t\t\treturn;\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\/se\/tack-for-din-anmalan\/?location=The+Game+Assembly+Sweden&#038;type=interest' + 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\t\/\/ Pass the form id: send_form's third parameter shadows the page-level\n\t\t\/\/ saved_aca_form_id, so omitting it posts the string \"undefined\" and the\n\t\t\/\/ server can no longer resolve the kiosk form (loses the Fair CRM source).\n\t\tvar res_promise = send_form(stored_forms[send_index], null, saved_aca_form_id);\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__6ad1f5f04be7c\";\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<\/div>\n\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/div>\n\n\n\n<div class=\"module_wrapper ams_background_module  site__secondary-bg--13   site__text-color--dark  cp-120\" >\n<div class=\"container_width--full_width_conIcon\">\n\t\n\n<div class=\"wp-block-group is-style-container is-layout-flow wp-block-group-is-layout-flow\">\n<h2 class=\"wp-block-heading has-x-font-size\">Uppt\u00e4ck v\u00e5ra spel\u00ad\u00adutbildningar <\/h2>\n\n\n\n<div   class=\"  site__secondary-bg--13   typography__wrapper py-4\"  >\n\n\t<div class=\"col-12 cmb-30 text-center col-md-8 offset-md-2\">\n\t<\/div>\n\n\t<div class=\"anchor_classes_div\"\n\t\t data-cta=\" nostyle site__a_cta \"\n\t\t data-theme=\" nostyle site__a_text \"\n\t\t data-darklight=\" nostyle site__a_dark \">\n\t\t\n\t<\/div>\n\n\t\n\t<div   class=\"  is-style-container-full filter_ search-filter\">\n\t\t<div class=\"row\">\n\t\t\t\n\t\t\t<div   class=\"shortcode-wrapper col-12 per_row_card_3 \">\n\t\t\t\t<div class=\"search-filter-results\" id=\"search-filter-results-1383\">\t<div class='search-filter-results-list row search-results-utbildning ams_utbildninger ams_utbildninger--kort1 ams_utbildninger--var1'>\n\n\t\t\t\t\t\n\t\t\t\t\n<div class=\"ams_utbildninger--entry col-12 col-md-6 col-lg-4 px-3 px-lg-4 mb-5\">\n\t<a href=\"https:\/\/thegameassembly.com\/se\/utbildningar\/leveldesigner\/\" class=\"card-link\" title=\"Leveldesigner\">\n\t\t<div class=\"card h-100\" style=\"border-color: \">\n\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/leveldesigner-pa-tga-verk-mina-geijer-0-00-03-00.jpg\" alt=\"Leveldesigner\" class=\"ams_utbildninger--img\">\n\t\t\t\n\t\t\t<div class=\"card-body global_body-color  site__text-color--dark \">\n\t\t\t\t<div class=\"ams_utbildninger--body \">\n\t\t\t\t\t<h3 class=\"ams_utbildninger--title  site__text-color--dark  site__heading-size-4\" style=\"color:\">\n\t\t\t\t\t\tLeveldesigner\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_kort_text\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Utbildningstyp<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Utbildningstyp\">\n\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2022\/12\/yh-utbildning.png\" width=\"30\" height=\"30\"> <b>Program<\/b>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_duration\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Omfattning<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Omfattning\">\n\t\t\t\t\t\t\t\t\t110 veckor | 2,5 \u00e5r\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_status\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Status<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Status\">\n\t\t\t\t\t\t\t\t\tSt\u00e4ngd f\u00f6r ans\u00f6kan\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t\t<\/a>\n<\/div>\n\n\n\t\t\t\t\n\t\t\t\t\n<div class=\"ams_utbildninger--entry col-12 col-md-6 col-lg-4 px-3 px-lg-4 mb-5\">\n\t<a href=\"https:\/\/thegameassembly.com\/se\/utbildningar\/procedural-artist\/\" class=\"card-link\" title=\"Procedural Artist\">\n\t\t<div class=\"card h-100\" style=\"border-color: \">\n\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/procedural-artist-pa-tga-verk-rut-bivrin-0-00-04-20.jpg\" alt=\"Procedural Artist\" class=\"ams_utbildninger--img\">\n\t\t\t\n\t\t\t<div class=\"card-body global_body-color  site__text-color--dark \">\n\t\t\t\t<div class=\"ams_utbildninger--body \">\n\t\t\t\t\t<h3 class=\"ams_utbildninger--title  site__text-color--dark  site__heading-size-4\" style=\"color:\">\n\t\t\t\t\t\tProcedural Artist\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_kort_text\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Utbildningstyp<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Utbildningstyp\">\n\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2022\/12\/yh-utbildning.png\" width=\"30\" height=\"30\"> <b>Program<\/b>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_duration\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Omfattning<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Omfattning\">\n\t\t\t\t\t\t\t\t\t110 veckor eller 2,5 \u00e5r\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_status\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Status<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Status\">\n\t\t\t\t\t\t\t\t\tSt\u00e4ngd f\u00f6r ans\u00f6kan\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t\t<\/a>\n<\/div>\n\n\n\t\t\t\t\n\t\t\t\t\n<div class=\"ams_utbildninger--entry col-12 col-md-6 col-lg-4 px-3 px-lg-4 mb-5\">\n\t<a href=\"https:\/\/thegameassembly.com\/se\/utbildningar\/spelprogrammerare\/\" class=\"card-link\" title=\"Spel&shy;programmerare\">\n\t\t<div class=\"card h-100\" style=\"border-color: \">\n\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2024\/10\/bild7.gif\" alt=\"Spel&shy;programmerare\" class=\"ams_utbildninger--img\">\n\t\t\t\n\t\t\t<div class=\"card-body global_body-color  site__text-color--dark \">\n\t\t\t\t<div class=\"ams_utbildninger--body \">\n\t\t\t\t\t<h3 class=\"ams_utbildninger--title  site__text-color--dark  site__heading-size-4\" style=\"color:\">\n\t\t\t\t\t\tSpel&shy;programmerare\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_kort_text\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Utbildningstyp<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Utbildningstyp\">\n\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2022\/12\/yh-utbildning.png\" width=\"30\" height=\"30\"> <b>Program<\/b>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_duration\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Omfattning<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Omfattning\">\n\t\t\t\t\t\t\t\t\t110 veckor eller 2,5 \u00e5r\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_status\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Status<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Status\">\n\t\t\t\t\t\t\t\t\tSt\u00e4ngd f\u00f6r ans\u00f6kan\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t\t<\/a>\n<\/div>\n\n\n\t\t\t\t\n\t\t\t\t\n<div class=\"ams_utbildninger--entry col-12 col-md-6 col-lg-4 px-3 px-lg-4 mb-5\">\n\t<a href=\"https:\/\/thegameassembly.com\/se\/utbildningar\/spelanimator\/\" class=\"card-link\" title=\"Spelanimat\u00f6r\">\n\t\t<div class=\"card h-100\" style=\"border-color: \">\n\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/spelanimator-pa-tga-verk-veronica-norbrink-0-00-01-00-e1768552559739.jpg\" alt=\"Spelanimat\u00f6r\" class=\"ams_utbildninger--img\">\n\t\t\t\n\t\t\t<div class=\"card-body global_body-color  site__text-color--dark \">\n\t\t\t\t<div class=\"ams_utbildninger--body \">\n\t\t\t\t\t<h3 class=\"ams_utbildninger--title  site__text-color--dark  site__heading-size-4\" style=\"color:\">\n\t\t\t\t\t\tSpelanimat\u00f6r\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_kort_text\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Utbildningstyp<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Utbildningstyp\">\n\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2022\/12\/yh-utbildning.png\" width=\"30\" height=\"30\"> <b>Program<\/b>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_duration\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Omfattning<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Omfattning\">\n\t\t\t\t\t\t\t\t\t110 veckor | 2,5 \u00e5r\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_status\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Status<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Status\">\n\t\t\t\t\t\t\t\t\tSt\u00e4ngd f\u00f6r ans\u00f6kan\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t\t<\/a>\n<\/div>\n\n\n\t\t\t\t\n\t\t\t\t\n<div class=\"ams_utbildninger--entry col-12 col-md-6 col-lg-4 px-3 px-lg-4 mb-5\">\n\t<a href=\"https:\/\/thegameassembly.com\/se\/utbildningar\/spelgrafiker\/\" class=\"card-link\" title=\"Spelgrafiker\">\n\t\t<div class=\"card h-100\" style=\"border-color: \">\n\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/spelgrafiker-pa-tga-verk-cynthia-pailaqueo.jpg\" alt=\"Spelgrafiker\" class=\"ams_utbildninger--img\">\n\t\t\t\n\t\t\t<div class=\"card-body global_body-color  site__text-color--dark \">\n\t\t\t\t<div class=\"ams_utbildninger--body \">\n\t\t\t\t\t<h3 class=\"ams_utbildninger--title  site__text-color--dark  site__heading-size-4\" style=\"color:\">\n\t\t\t\t\t\tSpelgrafiker\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_kort_text\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Utbildningstyp<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Utbildningstyp\">\n\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2022\/12\/yh-utbildning.png\" width=\"30\" height=\"30\"> <b>Program<\/b>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_duration\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Omfattning<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Omfattning\">\n\t\t\t\t\t\t\t\t\t110 veckor | 2,5 \u00e5r\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_status\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Status<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Status\">\n\t\t\t\t\t\t\t\t\tSt\u00e4ngd f\u00f6r ans\u00f6kan\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t\t<\/a>\n<\/div>\n\n\n\t\t\t\t\n\t\t\t\t\n<div class=\"ams_utbildninger--entry col-12 col-md-6 col-lg-4 px-3 px-lg-4 mb-5\">\n\t<a href=\"https:\/\/thegameassembly.com\/se\/utbildningar\/technical-artist\/\" class=\"card-link\" title=\"Technical Artist\">\n\t\t<div class=\"card h-100\" style=\"border-color: \">\n\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2026\/01\/technical-artist-pa-tga-verk-malte-ekvall-0-00-01-02.jpg\" alt=\"Technical Artist\" class=\"ams_utbildninger--img\">\n\t\t\t\n\t\t\t<div class=\"card-body global_body-color  site__text-color--dark \">\n\t\t\t\t<div class=\"ams_utbildninger--body \">\n\t\t\t\t\t<h3 class=\"ams_utbildninger--title  site__text-color--dark  site__heading-size-4\" style=\"color:\">\n\t\t\t\t\t\tTechnical Artist\t\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_kort_text\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Utbildningstyp<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Utbildningstyp\">\n\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2022\/12\/yh-utbildning.png\" width=\"30\" height=\"30\"> <b>Program<\/b>\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_duration\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Omfattning<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Omfattning\">\n\t\t\t\t\t\t\t\t\t60 veckor | 1,5 \u00e5r\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"ams_utbildninger--program-meta utbildninger--program-meta_status\">\n\t\t\t\t\t\t\t\t<span class=\"meta-title d-block site__font-monospace site__subheading-10\">Status<\/span>\n\t\t\t\t\t\t\t\t<span class=\"meta_text font-weight-bold site__body_text-4\" title=\"Status\">\n\t\t\t\t\t\t\t\t\tSt\u00e4ngd f\u00f6r ans\u00f6kan\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t\t<\/a>\n<\/div>\n\n\n\t\t\t\t\n\t\t\t<\/div>\n\t\t<\/div>\t\t\t<\/div>\n\n\t\t\t\t\t<\/div>\n\t<\/div>\n<\/div>\n<span   id=\"get_buttonShapeForEducation\"\n\t  class=\"ams_content_filter__trigger ams_educstion_filter site__linkbuttons--1 btn slightly-rounded-corners-btn-shape btn-block   btn-outline btn_outline__text-color_dark slightly-rounded-corners-btn-shape   site__secondary-bg--13  searchfilter-button\" style=\" opacity:0;\"><\/span>\n<\/div>\n\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/div>\n","protected":false},"template":"","article_category":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Hur f\u00f6rdomsfull \u00e4r du n\u00e4r det kommer till spelutveckling?<\/title>\n<meta name=\"description\" content=\"P\u00e5st\u00e5ende: \u00c4r spelutveckling ett riktigt yrke? Vi reder ut de vanligaste f\u00f6rdomarna om spelutveckling och arbetet bakom spelupplevelsen.\" \/>\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\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/\" \/>\n<meta property=\"og:locale\" content=\"sv_SE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hur f\u00f6rdomsfull \u00e4r du n\u00e4r det kommer till spelutveckling?\" \/>\n<meta property=\"og:description\" content=\"P\u00e5st\u00e5ende: \u00c4r spelutveckling ett riktigt yrke? Vi reder ut de vanligaste f\u00f6rdomarna om spelutveckling och arbetet bakom spelupplevelsen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/thegameassembly.com\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/\" \/>\n<meta property=\"og:site_name\" content=\"The Game Assembly Sweden\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-15T12:43:12+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Hur f\u00f6rdomsfull \u00e4r du n\u00e4r det kommer till spelutveckling?\" \/>\n<meta name=\"twitter:description\" content=\"P\u00e5st\u00e5ende: \u00c4r spelutveckling ett riktigt yrke? Vi reder ut de vanligaste f\u00f6rdomarna om spelutveckling och arbetet bakom spelupplevelsen.\" \/>\n<meta name=\"twitter:label1\" content=\"Ber\u00e4knad l\u00e4stid\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minuter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/thegameassembly.com\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/\",\"url\":\"https:\/\/thegameassembly.com\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/\",\"name\":\"Hur f\u00f6rdomsfull \u00e4r du n\u00e4r det kommer till spelutveckling?\",\"isPartOf\":{\"@id\":\"https:\/\/thegameassembly.com\/se\/#website\"},\"datePublished\":\"2026-01-26T17:45:25+00:00\",\"dateModified\":\"2026-10-15T12:43:12+00:00\",\"description\":\"P\u00e5st\u00e5ende: \u00c4r spelutveckling ett riktigt yrke? Vi reder ut de vanligaste f\u00f6rdomarna om spelutveckling och arbetet bakom spelupplevelsen.\",\"inLanguage\":\"sv-SE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/thegameassembly.com\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/\"]}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/thegameassembly.com\/se\/#website\",\"url\":\"https:\/\/thegameassembly.com\/se\/\",\"name\":\"The Game Assembly Sweden\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/thegameassembly.com\/se\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/thegameassembly.com\/se\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"sv-SE\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/thegameassembly.com\/se\/#organization\",\"name\":\"The Game Assembly Sweden\",\"url\":\"https:\/\/thegameassembly.com\/se\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"sv-SE\",\"@id\":\"https:\/\/thegameassembly.com\/se\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2022\/11\/tga-logotype-webb.png\",\"contentUrl\":\"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2022\/11\/tga-logotype-webb.png\",\"width\":400,\"height\":96,\"caption\":\"The Game Assembly Sweden\"},\"image\":{\"@id\":\"https:\/\/thegameassembly.com\/se\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hur f\u00f6rdomsfull \u00e4r du n\u00e4r det kommer till spelutveckling?","description":"P\u00e5st\u00e5ende: \u00c4r spelutveckling ett riktigt yrke? Vi reder ut de vanligaste f\u00f6rdomarna om spelutveckling och arbetet bakom spelupplevelsen.","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\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/","og_locale":"sv_SE","og_type":"article","og_title":"Hur f\u00f6rdomsfull \u00e4r du n\u00e4r det kommer till spelutveckling?","og_description":"P\u00e5st\u00e5ende: \u00c4r spelutveckling ett riktigt yrke? Vi reder ut de vanligaste f\u00f6rdomarna om spelutveckling och arbetet bakom spelupplevelsen.","og_url":"https:\/\/thegameassembly.com\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/","og_site_name":"The Game Assembly Sweden","article_modified_time":"2026-10-15T12:43:12+00:00","twitter_card":"summary_large_image","twitter_title":"Hur f\u00f6rdomsfull \u00e4r du n\u00e4r det kommer till spelutveckling?","twitter_description":"P\u00e5st\u00e5ende: \u00c4r spelutveckling ett riktigt yrke? Vi reder ut de vanligaste f\u00f6rdomarna om spelutveckling och arbetet bakom spelupplevelsen.","twitter_misc":{"Ber\u00e4knad l\u00e4stid":"5 minuter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/thegameassembly.com\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/","url":"https:\/\/thegameassembly.com\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/","name":"Hur f\u00f6rdomsfull \u00e4r du n\u00e4r det kommer till spelutveckling?","isPartOf":{"@id":"https:\/\/thegameassembly.com\/se\/#website"},"datePublished":"2026-01-26T17:45:25+00:00","dateModified":"2026-10-15T12:43:12+00:00","description":"P\u00e5st\u00e5ende: \u00c4r spelutveckling ett riktigt yrke? Vi reder ut de vanligaste f\u00f6rdomarna om spelutveckling och arbetet bakom spelupplevelsen.","inLanguage":"sv-SE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/thegameassembly.com\/se\/nyheter\/hur-fordomsfull-ar-du-nar-det-kommer-till-spelutveckling\/"]}]},{"@type":"WebSite","@id":"https:\/\/thegameassembly.com\/se\/#website","url":"https:\/\/thegameassembly.com\/se\/","name":"The Game Assembly Sweden","description":"","publisher":{"@id":"https:\/\/thegameassembly.com\/se\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/thegameassembly.com\/se\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"sv-SE"},{"@type":"Organization","@id":"https:\/\/thegameassembly.com\/se\/#organization","name":"The Game Assembly Sweden","url":"https:\/\/thegameassembly.com\/se\/","logo":{"@type":"ImageObject","inLanguage":"sv-SE","@id":"https:\/\/thegameassembly.com\/se\/#\/schema\/logo\/image\/","url":"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2022\/11\/tga-logotype-webb.png","contentUrl":"https:\/\/thegameassembly.com\/wp-content\/uploads\/sites\/2\/2022\/11\/tga-logotype-webb.png","width":400,"height":96,"caption":"The Game Assembly Sweden"},"image":{"@id":"https:\/\/thegameassembly.com\/se\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/thegameassembly.com\/se\/wp-json\/wp\/v2\/article\/14629"}],"collection":[{"href":"https:\/\/thegameassembly.com\/se\/wp-json\/wp\/v2\/article"}],"about":[{"href":"https:\/\/thegameassembly.com\/se\/wp-json\/wp\/v2\/types\/article"}],"wp:attachment":[{"href":"https:\/\/thegameassembly.com\/se\/wp-json\/wp\/v2\/media?parent=14629"}],"wp:term":[{"taxonomy":"article_category","embeddable":true,"href":"https:\/\/thegameassembly.com\/se\/wp-json\/wp\/v2\/article_category?post=14629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}