[{"data":1,"prerenderedAt":1217},["ShallowReactive",2],{"move":3},{"id":4,"title":5,"body":6,"category":1202,"description":12,"draft":1203,"extension":1204,"image":1205,"liveUrl":1206,"meta":1207,"navigation":20,"order":43,"path":1208,"poster":1209,"preview":1210,"role":1211,"seo":1212,"sitemap":1213,"slug":1214,"stem":1208,"vimeo":1209,"year":1215,"youtube":1209,"__hash__":1216},"projekte\u002Fprojekte\u002Fmove.mdc","move.",{"type":7,"value":8,"toc":1196},"minimark",[9,13,21,26,29,311,315,330,510,514,517,788,792,795,1192],[10,11,12],"p",{},"Für meine IPA (Individuelle Praktische Arbeit) als Mediamatiker habe ich die Website\ndes Move-Camps komplett neu aufgebaut — ein 12-tägiges Einzelprojekt für das\nMissionswerk msd. Design kam vom internen Grafikteam, Inhalte vom Move-Team, meine\nAufgabe war die vollständige technische Umsetzung: WordPress + Divi 5, mit ACF,\nFluentForms, GSAP und dynamischen Inhalten über die WordPress-REST-API.",[10,14,15],{},[16,17],"video",{"src":18,"poster":19,"autoPlay":20,"muted":20,"loop":20,"playsInline":20},"\u002Fvideos\u002Fmove-popup-demo.mp4","\u002Fimages\u002Fprojekte\u002Fmove-popup-poster.jpg",true,[22,23,25],"h3",{"id":24},"dynamische-popups-statt-divi-loop","Dynamische Popups statt Divi-Loop",[10,27,28],{},"Einsätze und Action Steps werden nicht serverseitig mit Divi gerendert, sondern beim\nLaden der Seite per REST API im Hintergrund vorgeladen und in einem Cache-Objekt\ngehalten. Klickt jemand auf eine Karte, öffnet sich das Popup sofort mit den\ngecachten Daten — nur falls nötig wird nachgeladen.",[30,31,36],"pre",{"className":32,"code":33,"language":34,"meta":35,"style":35},"language-js shiki shiki-themes github-light github-dark","const einsatzCache = {};\n\nconst alleVorladen = async () => {\n  const response = await fetch(`\u002Fwp-json\u002Fwp\u002Fv2\u002Feinsatz?acf_format=standard`);\n  const alle = await response.json();\n  alle.forEach(m => { einsatzCache[m.id] = m; });\n};\nalleVorladen(); \u002F\u002F im Hintergrund starten\n\nkarte.addEventListener('click', async function() {\n  const id = this.dataset.id;\n  let data = einsatzCache[id];\n  if (!data) {\n    data = await (await fetch(`\u002Fwp-json\u002Fwp\u002Fv2\u002Feinsatz\u002F${id}?acf_format=standard`)).json();\n  }\n  \u002F\u002F Popup mit data.acf befüllen …\n});\n","js","",[37,38,39,59,65,88,115,136,163,169,182,187,213,229,243,258,293,299,305],"code",{"__ignoreMap":35},[40,41,44,48,52,55],"span",{"class":42,"line":43},"line",1,[40,45,47],{"class":46},"szBVR","const",[40,49,51],{"class":50},"sj4cs"," einsatzCache",[40,53,54],{"class":46}," =",[40,56,58],{"class":57},"sVt8B"," {};\n",[40,60,62],{"class":42,"line":61},2,[40,63,64],{"emptyLinePlaceholder":20},"\n",[40,66,68,70,74,76,79,82,85],{"class":42,"line":67},3,[40,69,47],{"class":46},[40,71,73],{"class":72},"sScJk"," alleVorladen",[40,75,54],{"class":46},[40,77,78],{"class":46}," async",[40,80,81],{"class":57}," () ",[40,83,84],{"class":46},"=>",[40,86,87],{"class":57}," {\n",[40,89,91,94,97,99,102,105,108,112],{"class":42,"line":90},4,[40,92,93],{"class":46},"  const",[40,95,96],{"class":50}," response",[40,98,54],{"class":46},[40,100,101],{"class":46}," await",[40,103,104],{"class":72}," fetch",[40,106,107],{"class":57},"(",[40,109,111],{"class":110},"sZZnC","`\u002Fwp-json\u002Fwp\u002Fv2\u002Feinsatz?acf_format=standard`",[40,113,114],{"class":57},");\n",[40,116,118,120,123,125,127,130,133],{"class":42,"line":117},5,[40,119,93],{"class":46},[40,121,122],{"class":50}," alle",[40,124,54],{"class":46},[40,126,101],{"class":46},[40,128,129],{"class":57}," response.",[40,131,132],{"class":72},"json",[40,134,135],{"class":57},"();\n",[40,137,139,142,145,147,151,154,157,160],{"class":42,"line":138},6,[40,140,141],{"class":57},"  alle.",[40,143,144],{"class":72},"forEach",[40,146,107],{"class":57},[40,148,150],{"class":149},"s4XuR","m",[40,152,153],{"class":46}," =>",[40,155,156],{"class":57}," { einsatzCache[m.id] ",[40,158,159],{"class":46},"=",[40,161,162],{"class":57}," m; });\n",[40,164,166],{"class":42,"line":165},7,[40,167,168],{"class":57},"};\n",[40,170,172,175,178],{"class":42,"line":171},8,[40,173,174],{"class":72},"alleVorladen",[40,176,177],{"class":57},"(); ",[40,179,181],{"class":180},"sJ8bj","\u002F\u002F im Hintergrund starten\n",[40,183,185],{"class":42,"line":184},9,[40,186,64],{"emptyLinePlaceholder":20},[40,188,190,193,196,198,201,204,207,210],{"class":42,"line":189},10,[40,191,192],{"class":57},"karte.",[40,194,195],{"class":72},"addEventListener",[40,197,107],{"class":57},[40,199,200],{"class":110},"'click'",[40,202,203],{"class":57},", ",[40,205,206],{"class":46},"async",[40,208,209],{"class":46}," function",[40,211,212],{"class":57},"() {\n",[40,214,216,218,221,223,226],{"class":42,"line":215},11,[40,217,93],{"class":46},[40,219,220],{"class":50}," id",[40,222,54],{"class":46},[40,224,225],{"class":50}," this",[40,227,228],{"class":57},".dataset.id;\n",[40,230,232,235,238,240],{"class":42,"line":231},12,[40,233,234],{"class":46},"  let",[40,236,237],{"class":57}," data ",[40,239,159],{"class":46},[40,241,242],{"class":57}," einsatzCache[id];\n",[40,244,246,249,252,255],{"class":42,"line":245},13,[40,247,248],{"class":46},"  if",[40,250,251],{"class":57}," (",[40,253,254],{"class":46},"!",[40,256,257],{"class":57},"data) {\n",[40,259,261,264,266,268,270,273,275,277,280,283,286,289,291],{"class":42,"line":260},14,[40,262,263],{"class":57},"    data ",[40,265,159],{"class":46},[40,267,101],{"class":46},[40,269,251],{"class":57},[40,271,272],{"class":46},"await",[40,274,104],{"class":72},[40,276,107],{"class":57},[40,278,279],{"class":110},"`\u002Fwp-json\u002Fwp\u002Fv2\u002Feinsatz\u002F${",[40,281,282],{"class":57},"id",[40,284,285],{"class":110},"}?acf_format=standard`",[40,287,288],{"class":57},")).",[40,290,132],{"class":72},[40,292,135],{"class":57},[40,294,296],{"class":42,"line":295},15,[40,297,298],{"class":57},"  }\n",[40,300,302],{"class":42,"line":301},16,[40,303,304],{"class":180},"  \u002F\u002F Popup mit data.acf befüllen …\n",[40,306,308],{"class":42,"line":307},17,[40,309,310],{"class":57},"});\n",[22,312,314],{"id":313},"ios-safari-setzt-den-popup-inhalt-zurück","iOS Safari setzt den Popup-Inhalt zurück",[10,316,317,318,321,322,325,326,329],{},"Beim Testen auf iOS Safari passierten zwei Dinge gleichzeitig: Die Tab-Leiste\nblendet sich beim Scrollen ein\u002Faus und verändert dabei die sichtbare Viewport-Höhe —\ndas Fullscreen-Popup sprang dadurch sichtbar. Behoben mit der CSS-Einheit ",[37,319,320],{},"dvh","\nstatt ",[37,323,324],{},"vh",". Zusätzlich hat Safari bei diesem Resize teilweise den Popup-Inhalt auf\ndie Platzhalter zurückgesetzt — gelöst mit einem ",[37,327,328],{},"MutationObserver",", der den Inhalt\nüberwacht und ihn bei Bedarf automatisch wieder aus dem Cache befüllt.",[30,331,333],{"className":32,"code":332,"language":34,"meta":35,"style":35},"const observer = new MutationObserver(function() {\n  if (popup.classList.contains('aktiv')) {\n    const aktivesId = popup.dataset.aktivesId;\n    const data = einsatzCache[aktivesId];\n    if (data && q('#name').innerHTML !== data.title.rendered) {\n      \u002F\u002F Safari hat den DOM zurückgesetzt — Felder neu befüllen\n      q('#name').innerHTML = data.title.rendered;\n      q('#beschreibung span').innerHTML = data.acf.beschreibung;\n      \u002F\u002F …\n    }\n  }\n});\nobserver.observe(inhalt, { childList: true, subtree: true, characterData: true });\n",[37,334,335,357,375,388,400,428,433,449,465,470,475,479,483],{"__ignoreMap":35},[40,336,337,339,342,344,347,350,352,355],{"class":42,"line":43},[40,338,47],{"class":46},[40,340,341],{"class":50}," observer",[40,343,54],{"class":46},[40,345,346],{"class":46}," new",[40,348,349],{"class":72}," MutationObserver",[40,351,107],{"class":57},[40,353,354],{"class":46},"function",[40,356,212],{"class":57},[40,358,359,361,364,367,369,372],{"class":42,"line":61},[40,360,248],{"class":46},[40,362,363],{"class":57}," (popup.classList.",[40,365,366],{"class":72},"contains",[40,368,107],{"class":57},[40,370,371],{"class":110},"'aktiv'",[40,373,374],{"class":57},")) {\n",[40,376,377,380,383,385],{"class":42,"line":67},[40,378,379],{"class":46},"    const",[40,381,382],{"class":50}," aktivesId",[40,384,54],{"class":46},[40,386,387],{"class":57}," popup.dataset.aktivesId;\n",[40,389,390,392,395,397],{"class":42,"line":90},[40,391,379],{"class":46},[40,393,394],{"class":50}," data",[40,396,54],{"class":46},[40,398,399],{"class":57}," einsatzCache[aktivesId];\n",[40,401,402,405,408,411,414,416,419,422,425],{"class":42,"line":117},[40,403,404],{"class":46},"    if",[40,406,407],{"class":57}," (data ",[40,409,410],{"class":46},"&&",[40,412,413],{"class":72}," q",[40,415,107],{"class":57},[40,417,418],{"class":110},"'#name'",[40,420,421],{"class":57},").innerHTML ",[40,423,424],{"class":46},"!==",[40,426,427],{"class":57}," data.title.rendered) {\n",[40,429,430],{"class":42,"line":138},[40,431,432],{"class":180},"      \u002F\u002F Safari hat den DOM zurückgesetzt — Felder neu befüllen\n",[40,434,435,438,440,442,444,446],{"class":42,"line":165},[40,436,437],{"class":72},"      q",[40,439,107],{"class":57},[40,441,418],{"class":110},[40,443,421],{"class":57},[40,445,159],{"class":46},[40,447,448],{"class":57}," data.title.rendered;\n",[40,450,451,453,455,458,460,462],{"class":42,"line":171},[40,452,437],{"class":72},[40,454,107],{"class":57},[40,456,457],{"class":110},"'#beschreibung span'",[40,459,421],{"class":57},[40,461,159],{"class":46},[40,463,464],{"class":57}," data.acf.beschreibung;\n",[40,466,467],{"class":42,"line":184},[40,468,469],{"class":180},"      \u002F\u002F …\n",[40,471,472],{"class":42,"line":189},[40,473,474],{"class":57},"    }\n",[40,476,477],{"class":42,"line":215},[40,478,298],{"class":57},[40,480,481],{"class":42,"line":231},[40,482,310],{"class":57},[40,484,485,488,491,494,497,500,502,505,507],{"class":42,"line":245},[40,486,487],{"class":57},"observer.",[40,489,490],{"class":72},"observe",[40,492,493],{"class":57},"(inhalt, { childList: ",[40,495,496],{"class":50},"true",[40,498,499],{"class":57},", subtree: ",[40,501,496],{"class":50},[40,503,504],{"class":57},", characterData: ",[40,506,496],{"class":50},[40,508,509],{"class":57}," });\n",[22,511,513],{"id":512},"video-stoppen-obwohl-divi-den-klick-blockiert","Video stoppen, obwohl Divi den Klick blockiert",[10,515,516],{},"Beim Schliessen eines Video-Popups lief das YouTube-Video im Hintergrund weiter.\nEin direkter Click-Listener auf den Schliessen-Button ging nicht, weil Divis eigene\nInteraktionslogik die Event-Propagation unterbricht. Stattdessen einfach die\nCSS-Klasse beobachtet, die Divi selbst beim Öffnen\u002FSchliessen setzt:",[30,518,520],{"className":32,"code":519,"language":34,"meta":35,"style":35},"window.addEventListener('load', function() {\n  setTimeout(function() {\n    document.querySelectorAll('.video_popup').forEach(function(popup) {\n      const iframe = popup.querySelector('iframe');\n      const originalSrc = iframe ? iframe.src.replace('?autoplay=1&', '?') : null;\n\n      const observer = new MutationObserver(function() {\n        if (!popup.classList.contains('aktiv')) {\n          if (iframe) iframe.src = ''; \u002F\u002F Popup zu -> Video stoppen\n        } else {\n          if (iframe && originalSrc) iframe.src = originalSrc; \u002F\u002F Popup auf -> Video zurück\n        }\n      });\n      observer.observe(popup, { attributes: true, attributeFilter: ['class'] });\n    });\n  }, 1000);\n});\n",[37,521,522,540,551,581,604,647,651,669,689,708,718,738,743,748,769,774,784],{"__ignoreMap":35},[40,523,524,527,529,531,534,536,538],{"class":42,"line":43},[40,525,526],{"class":57},"window.",[40,528,195],{"class":72},[40,530,107],{"class":57},[40,532,533],{"class":110},"'load'",[40,535,203],{"class":57},[40,537,354],{"class":46},[40,539,212],{"class":57},[40,541,542,545,547,549],{"class":42,"line":61},[40,543,544],{"class":72},"  setTimeout",[40,546,107],{"class":57},[40,548,354],{"class":46},[40,550,212],{"class":57},[40,552,553,556,559,561,564,567,569,571,573,575,578],{"class":42,"line":67},[40,554,555],{"class":57},"    document.",[40,557,558],{"class":72},"querySelectorAll",[40,560,107],{"class":57},[40,562,563],{"class":110},"'.video_popup'",[40,565,566],{"class":57},").",[40,568,144],{"class":72},[40,570,107],{"class":57},[40,572,354],{"class":46},[40,574,107],{"class":57},[40,576,577],{"class":149},"popup",[40,579,580],{"class":57},") {\n",[40,582,583,586,589,591,594,597,599,602],{"class":42,"line":90},[40,584,585],{"class":46},"      const",[40,587,588],{"class":50}," iframe",[40,590,54],{"class":46},[40,592,593],{"class":57}," popup.",[40,595,596],{"class":72},"querySelector",[40,598,107],{"class":57},[40,600,601],{"class":110},"'iframe'",[40,603,114],{"class":57},[40,605,606,608,611,613,616,619,622,625,627,630,632,635,638,641,644],{"class":42,"line":117},[40,607,585],{"class":46},[40,609,610],{"class":50}," originalSrc",[40,612,54],{"class":46},[40,614,615],{"class":57}," iframe ",[40,617,618],{"class":46},"?",[40,620,621],{"class":57}," iframe.src.",[40,623,624],{"class":72},"replace",[40,626,107],{"class":57},[40,628,629],{"class":110},"'?autoplay=1&'",[40,631,203],{"class":57},[40,633,634],{"class":110},"'?'",[40,636,637],{"class":57},") ",[40,639,640],{"class":46},":",[40,642,643],{"class":50}," null",[40,645,646],{"class":57},";\n",[40,648,649],{"class":42,"line":138},[40,650,64],{"emptyLinePlaceholder":20},[40,652,653,655,657,659,661,663,665,667],{"class":42,"line":165},[40,654,585],{"class":46},[40,656,341],{"class":50},[40,658,54],{"class":46},[40,660,346],{"class":46},[40,662,349],{"class":72},[40,664,107],{"class":57},[40,666,354],{"class":46},[40,668,212],{"class":57},[40,670,671,674,676,678,681,683,685,687],{"class":42,"line":171},[40,672,673],{"class":46},"        if",[40,675,251],{"class":57},[40,677,254],{"class":46},[40,679,680],{"class":57},"popup.classList.",[40,682,366],{"class":72},[40,684,107],{"class":57},[40,686,371],{"class":110},[40,688,374],{"class":57},[40,690,691,694,697,699,702,705],{"class":42,"line":184},[40,692,693],{"class":46},"          if",[40,695,696],{"class":57}," (iframe) iframe.src ",[40,698,159],{"class":46},[40,700,701],{"class":110}," ''",[40,703,704],{"class":57},"; ",[40,706,707],{"class":180},"\u002F\u002F Popup zu -> Video stoppen\n",[40,709,710,713,716],{"class":42,"line":189},[40,711,712],{"class":57},"        } ",[40,714,715],{"class":46},"else",[40,717,87],{"class":57},[40,719,720,722,725,727,730,732,735],{"class":42,"line":215},[40,721,693],{"class":46},[40,723,724],{"class":57}," (iframe ",[40,726,410],{"class":46},[40,728,729],{"class":57}," originalSrc) iframe.src ",[40,731,159],{"class":46},[40,733,734],{"class":57}," originalSrc; ",[40,736,737],{"class":180},"\u002F\u002F Popup auf -> Video zurück\n",[40,739,740],{"class":42,"line":231},[40,741,742],{"class":57},"        }\n",[40,744,745],{"class":42,"line":245},[40,746,747],{"class":57},"      });\n",[40,749,750,753,755,758,760,763,766],{"class":42,"line":260},[40,751,752],{"class":57},"      observer.",[40,754,490],{"class":72},[40,756,757],{"class":57},"(popup, { attributes: ",[40,759,496],{"class":50},[40,761,762],{"class":57},", attributeFilter: [",[40,764,765],{"class":110},"'class'",[40,767,768],{"class":57},"] });\n",[40,770,771],{"class":42,"line":295},[40,772,773],{"class":57},"    });\n",[40,775,776,779,782],{"class":42,"line":301},[40,777,778],{"class":57},"  }, ",[40,780,781],{"class":50},"1000",[40,783,114],{"class":57},[40,785,786],{"class":42,"line":307},[40,787,310],{"class":57},[22,789,791],{"id":790},"animation-der-fliegenden-objekte","Animation der fliegenden Objekte",[10,793,794],{},"Auf der Startseite fliegen in unregelmässigen Abständen Bilder über den Screen.\nUmgesetzt mit GSAP statt reinem CSS, weil GSAP präzise Kontrolle über Zufallswerte,\nTiming und automatisches Entfernen der Elemente nach der Animation bietet.",[30,796,798],{"className":32,"code":797,"language":34,"meta":35,"style":35},"function fly() {\n  const o = imgs[Math.floor(Math.random() * imgs.length)];\n  const sy = Math.random() * (window.innerHeight - o.w);\n  const img = document.createElement('img');\n  img.src = o.src;\n  document.body.appendChild(img);\n  gsap.set(img, { x: -(o.w + 30), y: sy });\n  gsap.to(img, {\n    x: window.innerWidth + o.w + 30,\n    y: sy + (Math.random() - .5) * window.innerHeight * .6,\n    rotation: (360 + Math.random() * 360) * (Math.random() \u003C .5 ? 1 : -1),\n    duration: 4 + Math.random() * 3,\n    ease: 'none',\n    onComplete: () => img.remove()\n  });\n}\n\nfunction schedule() {\n  setTimeout(() => { fly(); schedule(); }, (5 + Math.random() * 10) * 1000);\n}\nschedule();\n",[37,799,800,809,845,872,894,904,915,940,950,967,1000,1055,1078,1088,1107,1112,1117,1121,1131,1180,1185],{"__ignoreMap":35},[40,801,802,804,807],{"class":42,"line":43},[40,803,354],{"class":46},[40,805,806],{"class":72}," fly",[40,808,212],{"class":57},[40,810,811,813,816,818,821,824,827,830,833,836,839,842],{"class":42,"line":61},[40,812,93],{"class":46},[40,814,815],{"class":50}," o",[40,817,54],{"class":46},[40,819,820],{"class":57}," imgs[Math.",[40,822,823],{"class":72},"floor",[40,825,826],{"class":57},"(Math.",[40,828,829],{"class":72},"random",[40,831,832],{"class":57},"() ",[40,834,835],{"class":46},"*",[40,837,838],{"class":57}," imgs.",[40,840,841],{"class":50},"length",[40,843,844],{"class":57},")];\n",[40,846,847,849,852,854,857,859,861,863,866,869],{"class":42,"line":67},[40,848,93],{"class":46},[40,850,851],{"class":50}," sy",[40,853,54],{"class":46},[40,855,856],{"class":57}," Math.",[40,858,829],{"class":72},[40,860,832],{"class":57},[40,862,835],{"class":46},[40,864,865],{"class":57}," (window.innerHeight ",[40,867,868],{"class":46},"-",[40,870,871],{"class":57}," o.w);\n",[40,873,874,876,879,881,884,887,889,892],{"class":42,"line":90},[40,875,93],{"class":46},[40,877,878],{"class":50}," img",[40,880,54],{"class":46},[40,882,883],{"class":57}," document.",[40,885,886],{"class":72},"createElement",[40,888,107],{"class":57},[40,890,891],{"class":110},"'img'",[40,893,114],{"class":57},[40,895,896,899,901],{"class":42,"line":117},[40,897,898],{"class":57},"  img.src ",[40,900,159],{"class":46},[40,902,903],{"class":57}," o.src;\n",[40,905,906,909,912],{"class":42,"line":138},[40,907,908],{"class":57},"  document.body.",[40,910,911],{"class":72},"appendChild",[40,913,914],{"class":57},"(img);\n",[40,916,917,920,923,926,928,931,934,937],{"class":42,"line":165},[40,918,919],{"class":57},"  gsap.",[40,921,922],{"class":72},"set",[40,924,925],{"class":57},"(img, { x: ",[40,927,868],{"class":46},[40,929,930],{"class":57},"(o.w ",[40,932,933],{"class":46},"+",[40,935,936],{"class":50}," 30",[40,938,939],{"class":57},"), y: sy });\n",[40,941,942,944,947],{"class":42,"line":171},[40,943,919],{"class":57},[40,945,946],{"class":72},"to",[40,948,949],{"class":57},"(img, {\n",[40,951,952,955,957,960,962,964],{"class":42,"line":184},[40,953,954],{"class":57},"    x: window.innerWidth ",[40,956,933],{"class":46},[40,958,959],{"class":57}," o.w ",[40,961,933],{"class":46},[40,963,936],{"class":50},[40,965,966],{"class":57},",\n",[40,968,969,972,974,977,979,981,983,986,988,990,993,995,998],{"class":42,"line":189},[40,970,971],{"class":57},"    y: sy ",[40,973,933],{"class":46},[40,975,976],{"class":57}," (Math.",[40,978,829],{"class":72},[40,980,832],{"class":57},[40,982,868],{"class":46},[40,984,985],{"class":50}," .5",[40,987,637],{"class":57},[40,989,835],{"class":46},[40,991,992],{"class":57}," window.innerHeight ",[40,994,835],{"class":46},[40,996,997],{"class":50}," .6",[40,999,966],{"class":57},[40,1001,1002,1005,1008,1011,1013,1015,1017,1019,1022,1024,1026,1028,1030,1032,1035,1037,1040,1043,1046,1049,1052],{"class":42,"line":215},[40,1003,1004],{"class":57},"    rotation: (",[40,1006,1007],{"class":50},"360",[40,1009,1010],{"class":46}," +",[40,1012,856],{"class":57},[40,1014,829],{"class":72},[40,1016,832],{"class":57},[40,1018,835],{"class":46},[40,1020,1021],{"class":50}," 360",[40,1023,637],{"class":57},[40,1025,835],{"class":46},[40,1027,976],{"class":57},[40,1029,829],{"class":72},[40,1031,832],{"class":57},[40,1033,1034],{"class":46},"\u003C",[40,1036,985],{"class":50},[40,1038,1039],{"class":46}," ?",[40,1041,1042],{"class":50}," 1",[40,1044,1045],{"class":46}," :",[40,1047,1048],{"class":46}," -",[40,1050,1051],{"class":50},"1",[40,1053,1054],{"class":57},"),\n",[40,1056,1057,1060,1063,1065,1067,1069,1071,1073,1076],{"class":42,"line":231},[40,1058,1059],{"class":57},"    duration: ",[40,1061,1062],{"class":50},"4",[40,1064,1010],{"class":46},[40,1066,856],{"class":57},[40,1068,829],{"class":72},[40,1070,832],{"class":57},[40,1072,835],{"class":46},[40,1074,1075],{"class":50}," 3",[40,1077,966],{"class":57},[40,1079,1080,1083,1086],{"class":42,"line":245},[40,1081,1082],{"class":57},"    ease: ",[40,1084,1085],{"class":110},"'none'",[40,1087,966],{"class":57},[40,1089,1090,1093,1096,1098,1101,1104],{"class":42,"line":260},[40,1091,1092],{"class":72},"    onComplete",[40,1094,1095],{"class":57},": () ",[40,1097,84],{"class":46},[40,1099,1100],{"class":57}," img.",[40,1102,1103],{"class":72},"remove",[40,1105,1106],{"class":57},"()\n",[40,1108,1109],{"class":42,"line":295},[40,1110,1111],{"class":57},"  });\n",[40,1113,1114],{"class":42,"line":301},[40,1115,1116],{"class":57},"}\n",[40,1118,1119],{"class":42,"line":307},[40,1120,64],{"emptyLinePlaceholder":20},[40,1122,1124,1126,1129],{"class":42,"line":1123},18,[40,1125,354],{"class":46},[40,1127,1128],{"class":72}," schedule",[40,1130,212],{"class":57},[40,1132,1134,1136,1139,1141,1144,1147,1149,1152,1155,1158,1160,1162,1164,1166,1168,1171,1173,1175,1178],{"class":42,"line":1133},19,[40,1135,544],{"class":72},[40,1137,1138],{"class":57},"(() ",[40,1140,84],{"class":46},[40,1142,1143],{"class":57}," { ",[40,1145,1146],{"class":72},"fly",[40,1148,177],{"class":57},[40,1150,1151],{"class":72},"schedule",[40,1153,1154],{"class":57},"(); }, (",[40,1156,1157],{"class":50},"5",[40,1159,1010],{"class":46},[40,1161,856],{"class":57},[40,1163,829],{"class":72},[40,1165,832],{"class":57},[40,1167,835],{"class":46},[40,1169,1170],{"class":50}," 10",[40,1172,637],{"class":57},[40,1174,835],{"class":46},[40,1176,1177],{"class":50}," 1000",[40,1179,114],{"class":57},[40,1181,1183],{"class":42,"line":1182},20,[40,1184,1116],{"class":57},[40,1186,1188,1190],{"class":42,"line":1187},21,[40,1189,1151],{"class":72},[40,1191,135],{"class":57},[1193,1194,1195],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":35,"searchDepth":61,"depth":61,"links":1197},[1198,1199,1200,1201],{"id":24,"depth":67,"text":25},{"id":313,"depth":67,"text":314},{"id":512,"depth":67,"text":513},{"id":790,"depth":67,"text":791},"Web",false,"mdc","\u002Fimages\u002Fprojekte\u002Fmove-hero.png","https:\u002F\u002Fmove-event.ch",{},"projekte\u002Fmove",null,"\u002Fimages\u002Fprojekte\u002Fmove-einsaetze.jpg","Technische Umsetzung (IPA-Abschlussarbeit)",{"title":5,"description":12},{"loc":1208},"move","2026","KYtNHW0xBifxG_w5lPAW6nuZgU6mTGO0JGpkqfpbk0I",1784109994365]