{"id":285438,"date":"2025-10-01T14:47:49","date_gmt":"2025-10-01T12:47:49","guid":{"rendered":"https:\/\/www.msd-online.ch\/?p=285438"},"modified":"2026-03-17T14:09:28","modified_gmt":"2026-03-17T13:09:28","slug":"informations-sur-lexpedition","status":"publish","type":"post","link":"https:\/\/msd.swiss\/fr\/informations-sur-lexpedition\/","title":{"rendered":"Informations sur l&rsquo;exp\u00e9dition"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Environ six fois par an, nous envoyons nos informations \u00e0 de nombreuses personnes int\u00e9ress\u00e9es par msd. Nous souhaitons ainsi leur donner un aper\u00e7u de nos projets actuels, leur raconter des anecdotes tir\u00e9es de notre travail et leur faire part de ce qui nous anime. Afin que ces brochures arrivent \u00e0 temps, environ 1500 enveloppes sont emball\u00e9es \u00e0 la main \u00e0 chaque fois. C'est une t\u00e2che consid\u00e9rable que nous ne pouvons accomplir que gr\u00e2ce au soutien actif de nombreux b\u00e9n\u00e9voles.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www2.msd-online.ch\/wp-content\/uploads\/2025\/09\/IMG_8088-1024x576.jpg\" alt=\"\" class=\"wp-image-285444\" style=\"aspect-ratio:16\/9;object-fit:cover;width:1080px\" srcset=\"https:\/\/msd.swiss\/wp-content\/uploads\/2025\/09\/IMG_8088-1024x576.jpg 1024w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/09\/IMG_8088-300x169.jpg 300w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/09\/IMG_8088-768x432.jpg 768w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/09\/IMG_8088-1536x864.jpg 1536w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/09\/IMG_8088-2048x1152.jpg 2048w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/09\/IMG_8088-1080x608.jpg 1080w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/09\/IMG_8088-1280x720.jpg 1280w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/09\/IMG_8088-980x551.jpg 980w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/09\/IMG_8088-480x270.jpg 480w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">C'est toujours \u00e9mouvant de voir des personnes investir leur temps pour nous aider dans ce travail. Certaines sont fid\u00e8les depuis de nombreuses ann\u00e9es et associent l'emballage \u00e0 de nombreux souvenirs personnels. D'autres ont rejoint l'\u00e9quipe r\u00e9cemment et apportent un nouvel \u00e9lan. Nous entendons sans cesse des histoires passionnantes racont\u00e9es pendant que nous travaillons ensemble. Il est clair que chaque b\u00e9n\u00e9vole a sa propre histoire avec msd.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ces heures sont bien plus qu'un simple emballage de cahiers. Elles cr\u00e9ent un esprit communautaire, un encouragement et une solidarit\u00e9 qui sont source de soutien. Certains y trouvent m\u00eame une t\u00e2che utile \u00e0 accomplir pendant une p\u00e9riode difficile de leur vie. Pour d'autres, c'est simplement agr\u00e9able de pouvoir donner un coup de main et de faire partie de quelque chose de plus grand.<br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un rituel tr\u00e8s appr\u00e9ci\u00e9 s'est \u00e9galement instaur\u00e9. D\u00e8s que l'\u00e9dition allemande est emball\u00e9e, nous faisons une pause pour prendre un caf\u00e9 et une collation. Ces moments sont marqu\u00e9s par des conversations o\u00f9 nous rions, \u00e9changeons et nous encourageons mutuellement. Revigor\u00e9s par cette pause, nous nous attaquons ensuite \u00e0 la version fran\u00e7aise, qui est emball\u00e9e avec un nouvel \u00e9lan.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nous sommes profond\u00e9ment reconnaissants envers toutes les personnes qui s'engagent de cette mani\u00e8re. Sans leur fid\u00e8le soutien, nous ne pourrions pas envoyer les brochures. Ce qui nous r\u00e9jouit toujours, ce ne sont pas seulement les enveloppes emball\u00e9es qui comptent au final, mais aussi la communaut\u00e9 et les nombreuses rencontres qui en d\u00e9coulent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Traduit avec DeepL.com (version gratuite)<\/p>\n<div class=\"et_pb_section_0 et_pb_section et_pb_section--fixed et_section_regular et_flex_section\" id=\"popup_projekte\"><div class=\"et_pb_row_0 et_pb_row et_flex_row\" id=\"popup-projekte-inhalt\"><div class=\"et_pb_column_0 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_phone\" id=\"bild_popup\"><div class=\"et_pb_code_0 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\" data-et-mv-hidden-phone=\"true\"><script>\n\/* Projekt-Popup: Button \u00f6ffnet den jeweiligen Projekt-Link immer in einem neuen Tab (DE & FR).\n   Greift \u00fcber die ID \"projekt_button\" oder jeden Button im Projekt-Popup.\n   Capture-Phase: wir sind vor dem alten jQuery-Button-Script im Header dran,\n   das sonst alle Divi-Buttons im selben Tab \u00f6ffnet. *\/\n(function () {\n  if (window.__msdProjektButton) return;\n  window.__msdProjektButton = true;\n\n  document.addEventListener('click', function (e) {\n    var btn = e.target.closest && e.target.closest('#projekt_button, #popup_projekte a.et_pb_button');\n    if (!btn) return;\n\n    var href = btn.getAttribute('href');\n    if (!href || href === '#') return;\n\n    e.preventDefault();\n    e.stopPropagation();\n    e.stopImmediatePropagation();\n\n    window.open(href, '_blank', 'noopener');\n  }, true);\n})();\n<\/script><\/div><\/div><\/div><div class=\"et_pb_column_1 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_phone\"><div class=\"et_pb_group_0 et_pb_group et_pb_module et_flex_group et_pb_css_mix_blend_mode_passthrough\"><div class=\"et_pb_image_0 et_pb_image et_pb_module et_flex_module\" id=\"logo_popup\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/www2.msd-online.ch\/wp-content\/uploads\/2025\/05\/cc_popup.png\" title=\"cc_popup\" width=\"1080\" height=\"226\" srcset=\"https:\/\/msd.swiss\/wp-content\/uploads\/2025\/05\/cc_popup.png 1080w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/05\/cc_popup-300x63.png 300w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/05\/cc_popup-1024x214.png 1024w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/05\/cc_popup-768x161.png 768w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/05\/cc_popup-980x205.png 980w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/05\/cc_popup-480x100.png 480w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" class=\"wp-image-287092\" \/><\/span><\/div><div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\" id=\"beschreibung\"><div class=\"et_pb_text_inner\"><p><span>\"Seit 1962 entwickeln sich die Change Camps stetig weiter. Sie verbinden tiefe Gemeinschaft, starke Gotteserfahrungen und das Eintauchen in andere Kulturen. Durch kreative Outreaches mit Sport, praktischen Eins\u00e4tzen, Worship und Prayer Walks wachsen wir in einen evangelistischen Lebensstil. Unsere Vision ist, Jesus in verschiedenen Nationen bekannt zu machen und Jugendliche f\u00fcr ein Leben zu begeistern, das Gott ehrt. Wir wollen lokale Kirchen unterst\u00fctzen und ein Segen f\u00fcr Menschen vor Ort sein. Ein Change Camp soll das Leben der Teilnehmenden nachhaltig ver\u00e4ndern, ihr Herz neu f\u00fcr Gott entfachen und sie mit Leidenschaft f\u00fcr Mitmenschen, Regionen und Nationen erf\u00fcllen \u2013 damit sie diese Begeisterung auch in ihren Alltag tragen.\"<\/span><\/p>\n<\/div><\/div><div class=\"et_pb_module et_pb_button_module_wrapper et_pb_button_0_wrapper preset--module--divi-button--default_wrapper\"><a class=\"et_pb_button_0 et_pb_button et_pb_bg_layout_dark et_pb_module et_flex_module preset--module--divi-button--default\" href=\"\" target=\"_blank\" id=\"projekt_button\">titel<\/a><\/div><\/div><div class=\"et_pb_icon_0 et_pb_icon et-interaction-target-kp1pp7plxu et_pb_module et_flex_module\" data-interaction-trigger=\"poknua1gij\" data-interaction-target=\"kp1pp7plxu\"><span class=\"et_pb_icon_wrap\"><span class=\"et-pb-icon\">\uf00d<\/span><\/span><\/div><div class=\"et_pb_text_1 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\" id=\"kostenstelle\"><div class=\"et_pb_text_inner\" data-et-mv-hidden-phone=\"true\"><p><strong>M\u00f6chtest du das Projekt finanziell unterst\u00fctzen?<\/strong><br \/>Missionswerk msd | Grassiweg 3 | 3714 Frutigen<br \/>PC-Nr. 30-26890-3 | IBAN CH69 0900 0000 3002 6890 3<br \/>Vermerk: <span id=\"kostenstelle-projekt\">projekt<\/span><\/p>\n<\/div><\/div><\/div><\/div><div class=\"et_pb_row_1 et_pb_row et_flex_row\" id=\"popup-loader_projekte\"><div class=\"et_pb_column_2 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\"><div class=\"et_pb_code_1 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div class=\"skeleton-wrapper\">\n  <div class=\"skeleton-links\">\n    <div class=\"skeleton-projekte skeleton-bild\"><\/div>\n  <\/div>\n  <div class=\"skeleton-rechts_p\">\n    <div>\n      \n    \n    <div class=\"skeleton-projekte skeleton-logo\"><\/div>\n    <div class=\"skeleton-projekte skeleton-text_beschreibung\"><\/div>\n    <div class=\"skeleton-projekte skeleton-button\"><\/div>\n    <\/div>\n    \n    <div class=\"skeleton_kostenstelle_p\">\n      <div class=\"skeleton-projekte skeleton-text\"><\/div>\n    <div class=\"skeleton-projekte skeleton-text mittel\"><\/div>\n    <div class=\"skeleton-projekte skeleton-text kurz\"><\/div>\n    <\/div>\n  <\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div><div class=\"et_pb_section_1 et_pb_section et_pb_section--fixed et_section_regular et_flex_section et-interaction-target-tj91x06n4w\" data-interaction-target=\"tj91x06n4w\" id=\"popup_mitarbeiter\"><div class=\"et_pb_row_2 et_pb_row et_flex_row\" id=\"popup-inhalt\"><div class=\"et_pb_column_3 et_pb_column et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_phone\" id=\"mitarbeiter_bild\"><div class=\"et_pb_code_2 et_pb_code et_pb_module\" id=\"mitarbeiter_bild\"><div class=\"et_pb_code_inner\"><style>\n\/* IBAN: auf Desktop in derselben Zeile wie die PC-Nr., auf Mobile eigene Zeile *\/\n#popup_mitarbeiter .msd-br-mobile {\n  display: none;\n}\n\n@media only screen and (max-width: 767px) {\n  #popup_mitarbeiter .msd-br-mobile {\n    display: inline;\n  }\n  #popup_mitarbeiter .msd-sep {\n    display: none;\n  }\n}\n<\/style>\n\n<script>\n(function () {\n  \/\/ Nur einmal ausf\u00fchren, auch wenn das Skript doppelt auf der Seite ist\n  if (window.__msdPopupKombi) return;\n  window.__msdPopupKombi = true;\n\n  const lang = (document.documentElement.lang || 'de').substring(0, 2);\n  const params = `acf_format=standard&lang=${lang}&_embed`;\n  const MOBILE = '(max-width: 980px)';\n  const POST_TYPE = 'mitarbeiter';\n\n  \/\/ PC-Nr. und IBAN: IBAN bricht nie mittendrin um, auf Mobile eigene Zeile\n  const zahlungsZeile =\n    '<span style=\"white-space:nowrap\">PC-Nr. 30-26890-3<\/span>' +\n    '<span class=\"msd-sep\"> | <\/span><br class=\"msd-br-mobile\">' +\n    '<span style=\"white-space:nowrap\">IBAN CH69 0900 0000 3002 6890 3<\/span>';\n\n  const cache = {};            \/\/ \"typ_idOderSlug\" -> Daten\n  const laufend = {};          \/\/ \"typ_idOderSlug\" -> laufende Anfrage\n  const listen = {};           \/\/ typ -> Promise vom Hintergrund-Laden\n  const bilderGeladen = new Set();\n  let aktuellerKlick = null;\n\n  \/\/ =====================================================\n  \/\/ Hilfsfunktionen (unver\u00e4ndert)\n  \/\/ =====================================================\n  const getImageUrl = (field) => {\n    if (!field) return '';\n    if (typeof field === 'string') return field;\n    if (typeof field === 'object' && field !== null) {\n      if (field.url) return field.url;\n      if (field.source_url) return field.source_url;\n      if (field.sizes) {\n        const s = field.sizes;\n        return s.large?.url || s.large || s.medium_large?.url || s.medium_large || s.full?.url || s.full || '';\n      }\n    }\n    return '';\n  };\n\n  const getMitarbeiterFoto = (data) => {\n    const felder = data.acf || {};\n    const kandidaten = [\n      felder.bild_sw_name, felder.bild_sw, felder.bild,\n      felder.foto, felder.portrait, felder.mitarbeiter_bild,\n      felder.person_bild, felder.bild_farbe\n    ];\n\n    for (const item of kandidaten) {\n      const url = getImageUrl(item);\n      if (url) return url;\n    }\n\n    for (const key in felder) {\n      const val = felder[key];\n      const url = getImageUrl(val);\n      if (url && (url.includes('\/wp-content\/uploads\/') || \/\\.(jpg|jpeg|png|webp|svg)\/i.test(url))) {\n        return url;\n      }\n    }\n\n    if (data._embedded && data._embedded['wp:featuredmedia'] && data._embedded['wp:featuredmedia'][0]) {\n      const media = data._embedded['wp:featuredmedia'][0];\n      const url = media.source_url || media.media_details?.sizes?.full?.source_url;\n      if (url) return url;\n    }\n\n    if (data.featured_media_src_url) return data.featured_media_src_url;\n    return '';\n  };\n\n  const setText = (container, selector, text) => {\n    const el = container.querySelector(selector);\n    if (!el) return;\n    if (!text || text.trim() === '') {\n      el.style.setProperty('display', 'none', 'important');\n      return;\n    }\n    el.style.removeProperty('display');\n    const target = el.querySelector('.et_pb_text_inner') || el;\n    target.textContent = text;\n  };\n\n  const setContactIcon = (container, selector, value, type) => {\n    const el = container.querySelector(selector);\n    if (!el) return;\n\n    if (!value || value.trim() === '') {\n      el.style.setProperty('display', 'none', 'important');\n      return;\n    }\n\n    el.style.removeProperty('display');\n    const link = el.tagName === 'A' ? el : el.querySelector('a');\n    const prefix = type === 'mail' ? 'mailto:' : 'tel:';\n    const cleanVal = type === 'mobile' ? value.replace(\/\\s+\/g, '') : value;\n\n    if (link) {\n      link.href = prefix + cleanVal;\n      link.title = value;\n    }\n\n    const target = el.querySelector('.et_pb_text_inner') || link || el;\n    if (target) {\n      Array.from(target.childNodes).forEach(node => {\n        if (node.nodeType === 3) node.textContent = '';\n      });\n    }\n  };\n\n  const setImage = (container, selector, imageSource) => {\n    const el = container.querySelector(selector);\n    if (!el) return;\n    const url = getImageUrl(imageSource);\n\n    if (!url) {\n      el.style.setProperty('display', 'none', 'important');\n      return;\n    }\n\n    el.style.removeProperty('display');\n    const img = el.tagName === 'IMG' ? el : el.querySelector('img');\n\n    if (img) {\n      img.src = url;\n      img.removeAttribute('srcset');\n      img.removeAttribute('sizes');\n    } else {\n      el.style.backgroundImage = `url('${url}')`;\n      el.style.backgroundSize = 'cover';\n      el.style.backgroundPosition = 'center center';\n    }\n  };\n\n  \/\/ =====================================================\n  \/\/ Spendenblock finden\n  \/\/ =====================================================\n  function ksKandidaten(popup) {\n    const alle = Array.from(popup.querySelectorAll('.et_pb_text, .et_pb_module')).filter(mod => {\n      const txt = mod.textContent.toLowerCase();\n      return mod.id === 'mitarbeiter_kostenstelle' ||\n             mod.hasAttribute('data-msd-ks') ||\n             txt.includes('finanziell freisetzen') ||\n             txt.includes('financially') ||\n             txt.includes('lib\u00e9rer') ||\n             txt.includes('grassiweg 3') ||\n             txt.includes('30-26890-3');\n    });\n\n    \/\/ Nur die innersten Module (keine Gruppen, die einen Block nur umschliessen)\n    return alle.filter(mod => !alle.some(anderes => anderes !== mod && mod.contains(anderes)));\n  }\n\n  function ksBlockWaehlen(popup) {\n    const kandidaten = ksKandidaten(popup);\n    if (!kandidaten.length) return { block: null, kandidaten };\n\n    \/\/ Eigene Inline-Styles vom letzten \u00d6ffnen entfernen\n    kandidaten.forEach(mod => {\n      mod.setAttribute('data-msd-ks', '1');\n      mod.style.removeProperty('display');\n      mod.style.removeProperty('margin-top');\n    });\n\n    \/\/ Bevorzugt: Block in der Spalte mit dem Bibelvers (hat dort das passende Design)\n    const zitat = popup.querySelector('#mitarbeiter_zitat');\n    const spalte = zitat ? zitat.closest('.et_pb_column') : null;\n    const inTextspalte = spalte ? kandidaten.filter(mod => spalte.contains(mod)) : [];\n    const bevorzugt = popup.querySelector('#mitarbeiter_kostenstelle');\n\n    let block = null;\n    if (inTextspalte.length) {\n      block = (bevorzugt && inTextspalte.includes(bevorzugt)) ? bevorzugt : inTextspalte[0];\n    } else if (bevorzugt && kandidaten.includes(bevorzugt)) {\n      block = bevorzugt;\n    } else {\n      block = kandidaten[0];\n    }\n\n    return { block, kandidaten };\n  }\n\n  \/\/ Auf dem Handy: Spendenblock direkt unter den Bibelvers setzen\n  function unterBibelvers(popup, block) {\n    if (!block || !window.matchMedia(MOBILE).matches) return;\n    const zitat = popup.querySelector('#mitarbeiter_zitat');\n    if (!zitat || zitat === block || zitat.contains(block)) return;\n    if (zitat.nextElementSibling !== block) {\n      zitat.insertAdjacentElement('afterend', block);\n    }\n  }\n\n  \/\/ =====================================================\n  \/\/ Cache & Vorladen\n  \/\/ =====================================================\n  function merken(postType, data) {\n    if (!data) return;\n    cache[`${postType}_${data.id}`] = data;\n    if (data.slug) cache[`${postType}_${data.slug}`] = data;\n  }\n\n  function bildVorladen(url) {\n    if (!url || typeof url !== 'string' || bilderGeladen.has(url)) return;\n    bilderGeladen.add(url);\n    const img = new Image();\n    img.decoding = 'async';\n    img.src = url;\n  }\n\n  function bilderVorladen(data) {\n    if (!data) return;\n    const f = data.acf || {};\n    bildVorladen(getMitarbeiterFoto(data));\n    bildVorladen(getImageUrl(f.position_bild));\n  }\n\n  function alleLaden(postType) {\n    if (listen[postType]) return listen[postType];\n    listen[postType] = (async function () {\n      let seite = 1;\n      let gesamtSeiten = 1;\n      do {\n        const res = await fetch(`\/wp-json\/wp\/v2\/${postType}?per_page=100&page=${seite}&${params}`);\n        if (!res.ok) throw new Error(`HTTP Fehler: ${res.status}`);\n        gesamtSeiten = parseInt(res.headers.get('X-WP-TotalPages') || '1', 10);\n        const liste = await res.json();\n        if (Array.isArray(liste)) liste.forEach(d => merken(postType, d));\n        seite++;\n      } while (seite <= gesamtSeiten);\n    })().catch(function (err) {\n      console.warn(`Hintergrund-Laden (${postType}) fehlgeschlagen, lade einzeln:`, err);\n    });\n    return listen[postType];\n  }\n\n  function einzelnLaden(postType, idOrSlug) {\n    const key = `${postType}_${idOrSlug}`;\n    if (cache[key]) return Promise.resolve(cache[key]);\n    if (laufend[key]) return laufend[key];\n\n    const isNumeric = \/^\\d+$\/.test(idOrSlug);\n    const url = isNumeric\n      ? `\/wp-json\/wp\/v2\/${postType}\/${idOrSlug}?${params}`\n      : `\/wp-json\/wp\/v2\/${postType}?slug=${encodeURIComponent(idOrSlug)}&${params}`;\n\n    laufend[key] = fetch(url)\n      .then(function (res) {\n        if (!res.ok) throw new Error(`HTTP Fehler: ${res.status}`);\n        return res.json();\n      })\n      .then(function (json) {\n        const data = Array.isArray(json) ? json[0] : json;\n        if (!data) throw new Error(`${postType} mit ID\/Slug '${idOrSlug}' nicht gefunden`);\n        merken(postType, data);\n        cache[key] = data;\n        return data;\n      })\n      .finally(function () {\n        delete laufend[key];\n      });\n\n    return laufend[key];\n  }\n\n  async function holen(postType, idOrSlug) {\n    const key = `${postType}_${idOrSlug}`;\n    if (cache[key]) return cache[key];\n    if (listen[postType]) {\n      await listen[postType];\n      if (cache[key]) return cache[key];\n    }\n    return einzelnLaden(postType, idOrSlug);\n  }\n\n  \/\/ =====================================================\n  \/\/ Popup bef\u00fcllen (nur Mitarbeiter)\n  \/\/ =====================================================\n  function befuellen(popup, data) {\n    const felder = data.acf || {};\n\n    const rawTitle = data.title?.rendered || '';\n    const cleanName = rawTitle.replace(\/^\\d+\\s*\/, '');\n    setText(popup, '#mitarbeiter_name', cleanName);\n\n    setImage(popup, '#mitarbeiter_position_bild', felder.position_bild);\n    const fotoUrl = getMitarbeiterFoto(data);\n    setImage(popup, '#mitarbeiter_bild', fotoUrl);\n\n    \/\/ ZITAT\n    let zitatText = felder.zitat || '';\n    if (zitatText) {\n      zitatText = zitatText.trim()\n        .replace(\/^[\"'\u00ab\u00bb\u201c\u201d\\s]+\/, '')\n        .replace(\/[\"'\u00ab\u00bb\u201c\u201d\\s\\.]+\\s*$\/, '').trim();\n\n      if (lang === 'fr') {\n        zitatText = `\u00ab ${zitatText} \u00bb.`;\n      } else {\n        zitatText = `'${zitatText}'`;\n      }\n    }\n    const zitatEl = popup.querySelector('#mitarbeiter_zitat');\n    if (zitatEl) zitatEl.style.fontWeight = 'normal';\n    setText(popup, '#mitarbeiter_zitat', zitatText);\n\n    setContactIcon(popup, '#mitarbeiter_mail', felder.mail, 'mail');\n    setContactIcon(popup, '#mitarbeiter_mobile', felder.mobile, 'mobile');\n\n    \/\/ SPENDENBLOCK\n    const { block: ksBlock, kandidaten } = ksBlockWaehlen(popup);\n\n    kandidaten.forEach(mod => {\n      if (mod !== ksBlock) {\n        mod.style.setProperty('display', 'none', 'important');\n      }\n    });\n\n    const acfKs = (felder && felder.kostenstelle) ? String(felder.kostenstelle).trim() : '';\n\n    if (ksBlock) {\n      if (!acfKs || acfKs === 'false' || acfKs === '0') {\n        ksBlock.style.setProperty('display', 'none', 'important');\n      } else {\n        \/\/ Auf dem Handy direkt unter den Bibelvers\n        unterBibelvers(popup, ksBlock);\n\n        \/\/ Erzwingen, damit er auf allen Ger\u00e4ten sichtbar ist\n        ksBlock.style.setProperty('display', 'block', 'important');\n\n        \/\/ Abstand: Desktop wie gehabt, Handy etwas kompakter\n        const abstand = window.matchMedia(MOBILE).matches ? '30px' : '65px';\n        ksBlock.style.setProperty('margin-top', abstand, 'important');\n\n        let cleanVal = acfKs.replace(\/^(vermerk|reference|note|mention):\\s*\/i, '').trim();\n        cleanVal = cleanVal.replace(\/kostenstelle\/gi, '').trim();\n\n        const isEn = (lang === 'en');\n        const isFr = (lang === 'fr');\n\n        if (isFr) {\n          cleanVal = cleanVal.replace(\/^(personalkosten|personnel costs|frais de salaire)\\s*\/i, '');\n          if (!cleanVal.toLowerCase().startsWith('frais de salaire')) {\n            cleanVal = `frais de salaire ${cleanVal}`;\n          }\n          ksBlock.innerHTML = `<div class=\"et_pb_text_inner\"><p><strong>Tu veux me lib\u00e9rer directement sur le plan financier ?<\/strong><br>\u0152uvre missionnaire MSD | Grassiweg 3 | 3714 Frutigen<br>${zahlungsZeile}<br>Mention : ${cleanVal}<\/p><\/div>`;\n        } else if (isEn) {\n          cleanVal = cleanVal.replace(\/^(personalkosten|frais de salaire)\\s*\/i, '');\n          if (!cleanVal.toLowerCase().startsWith('personnel costs')) {\n            cleanVal = `Personnel costs ${cleanVal}`;\n          }\n          ksBlock.innerHTML = `<div class=\"et_pb_text_inner\"><p><strong>Would you like to release me financially directly?<\/strong><br>Missionswerk msd | Grassiweg 3 | 3714 Frutigen<br>${zahlungsZeile}<br>Note: ${cleanVal}<\/p><\/div>`;\n        } else {\n          cleanVal = cleanVal.replace(\/^(personnel costs|frais de salaire)\\s*\/i, '');\n          if (!cleanVal.toLowerCase().startsWith('personalkosten')) {\n            cleanVal = `Personalkosten ${cleanVal}`;\n          }\n          ksBlock.innerHTML = `<div class=\"et_pb_text_inner\"><p><strong>M\u00f6chtest du mich direkt finanziell freisetzen?<\/strong><br>Missionswerk msd | Grassiweg 3 | 3714 Frutigen<br>${zahlungsZeile}<br>Vermerk: ${cleanVal}<\/p><\/div>`;\n        }\n      }\n    }\n\n    popup.querySelectorAll('.et_pb_text, .et_pb_module').forEach(mod => {\n      if (mod !== ksBlock && !kandidaten.includes(mod)) {\n        const txt = mod.textContent.trim().toLowerCase();\n        if (txt === 'kostenstelle' || txt === 'cost center' || txt === 'centre de co\u00fbt') {\n          mod.style.setProperty('display', 'none', 'important');\n        }\n      }\n    });\n  }\n\n  \/\/ =====================================================\n  \/\/ Karte erkennen (nur Mitarbeiter)\n  \/\/ =====================================================\n  function karteInfo(target) {\n    if (!target || !target.closest) return null;\n    const karte = target.closest('.mitarbeiter-karte');\n    if (!karte) return null;\n    return { karte, idOrSlug: karte.dataset.id };\n  }\n\n  \/\/ =====================================================\n  \/\/ Vorladen beim Dr\u00fcberfahren \/ Antippen\n  \/\/ =====================================================\n  function vorladenBeiKarte(e) {\n    const info = karteInfo(e.target);\n    if (!info || !info.idOrSlug) return;\n    holen(POST_TYPE, info.idOrSlug)\n      .then(data => bilderVorladen(data))\n      .catch(function () {});\n  }\n\n  document.addEventListener('pointerover', vorladenBeiKarte, { passive: true });\n  document.addEventListener('touchstart', vorladenBeiKarte, { passive: true });\n  document.addEventListener('focusin', vorladenBeiKarte);\n\n  \/\/ =====================================================\n  \/\/ Klick auf Karte\n  \/\/ =====================================================\n  document.addEventListener('click', async function (e) {\n    const info = karteInfo(e.target);\n    if (!info) return;\n\n    const { idOrSlug } = info;\n\n    e.preventDefault();\n\n    const popup = document.getElementById('popup_mitarbeiter');\n    if (!popup) return;\n\n    const q = (sel) => popup.querySelector(sel);\n    const loader = q('[id*=\"loader\"]') || document.getElementById('popup-loader_mitarbeiter');\n    const inhalt = q('[id*=\"inhalt\"]') || document.getElementById('popup-inhalt');\n\n    if (!idOrSlug) return;\n\n    const key = `${POST_TYPE}_${idOrSlug}`;\n    aktuellerKlick = key;\n\n    const sofort = cache[key];\n\n    if (sofort) {\n      \/\/ Schon geladen: sofort bef\u00fcllen, ohne Lade-Skelett\n      befuellen(popup, sofort);\n      if (loader) loader.style.display = 'none';\n      if (inhalt) inhalt.style.display = 'flex';\n    } else {\n      \/\/ Alte Bilder ausblenden, damit nichts Falsches kurz aufblitzt\n      setImage(popup, '#mitarbeiter_bild', '');\n      setImage(popup, '#mitarbeiter_position_bild', '');\n      if (loader) loader.style.display = 'flex';\n      if (inhalt) inhalt.style.display = 'none';\n    }\n\n    if (window.et_execute_interaction_effect) {\n      window.et_execute_interaction_effect({ effect: 'addVisibility' }, popup);\n    } else {\n      popup.style.display = 'block';\n    }\n\n    if (sofort) {\n      bilderVorladen(sofort);\n      return;\n    }\n\n    try {\n      const data = await holen(POST_TYPE, idOrSlug);\n\n      \/\/ Inzwischen etwas anderes angeklickt? Dann nicht \u00fcberschreiben\n      if (aktuellerKlick !== key) return;\n\n      befuellen(popup, data);\n      bilderVorladen(data);\n\n      if (loader) loader.style.display = 'none';\n      if (inhalt) inhalt.style.display = 'flex';\n    } catch (err) {\n      console.error('Fehler beim Laden des Popups:', err);\n      if (loader) loader.style.display = 'none';\n    }\n  });\n\n  \/\/ =====================================================\n  \/\/ Schliessen bei Klick auf Hintergrund\n  \/\/ =====================================================\n  document.addEventListener('click', function (e) {\n    const popup = document.getElementById('popup_mitarbeiter');\n    if (popup && e.target === popup) {\n      if (window.et_execute_interaction_effect) {\n        window.et_execute_interaction_effect({ effect: 'removeVisibility' }, popup);\n      } else {\n        popup.style.display = 'none';\n      }\n    }\n  });\n\n  \/\/ =====================================================\n  \/\/ Hintergrund-Laden starten, sobald die Seite fertig ist\n  \/\/ =====================================================\n  function starten() {\n    if (document.getElementById('popup_mitarbeiter') && document.querySelector('.mitarbeiter-karte')) {\n      alleLaden(POST_TYPE);\n    }\n  }\n\n  function planen() {\n    if ('requestIdleCallback' in window) {\n      requestIdleCallback(starten, { timeout: 2000 });\n    } else {\n      setTimeout(starten, 300);\n    }\n  }\n\n  if (document.readyState === 'complete') {\n    planen();\n  } else {\n    window.addEventListener('load', planen);\n  }\n})();\n<\/script><\/div><\/div><\/div><div class=\"et_pb_column_4 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\"><div class=\"et_pb_image_1 et_pb_image et_pb_module et_flex_module\" id=\"mitarbeiter_position_bild\"><span class=\"et_pb_image_wrap\"><img src=\"https:\/\/www2.msd-online.ch\/wp-content\/uploads\/2025\/05\/Titel-Yanis.png\" title=\"mitarbeiter_bild\" width=\"591\" height=\"154\" srcset=\"https:\/\/msd.swiss\/wp-content\/uploads\/2025\/05\/Titel-Yanis.png 591w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/05\/Titel-Yanis-300x78.png 300w, https:\/\/msd.swiss\/wp-content\/uploads\/2025\/05\/Titel-Yanis-480x125.png 480w\" sizes=\"(max-width: 591px) 100vw, 591px\" class=\"wp-image-287212\" \/><\/span><\/div><div class=\"et_pb_text_2 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\" id=\"mitarbeiter_name\"><div class=\"et_pb_text_inner\"><p><span>Mitarbeiter name<\/span><\/p>\n<\/div><\/div><div class=\"et_pb_group_1 et_pb_group et_pb_module et_flex_group et_pb_css_mix_blend_mode_passthrough\"><a class=\"et_pb_icon_1 et_pb_icon et_clickable et_pb_module et_flex_module\" href=\"mailto:info@msd-online.ch\" id=\"mitarbeiter_mail\"><span class=\"et_pb_icon_wrap\"><span class=\"et-pb-icon\">\ue010<\/span><\/span><\/a><a class=\"et_pb_icon_2 et_pb_icon et_clickable et_pb_module et_flex_module\" href=\"tel:+41%2078%20225%2046%2036%20\" id=\"mitarbeiter_mobile\"><span class=\"et_pb_icon_wrap\"><span class=\"et-pb-icon\">\uf879<\/span><\/span><\/a><\/div><div class=\"et_pb_text_3 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\" id=\"mitarbeiter_zitat\"><div class=\"et_pb_text_inner\"><p><span>Zitat<\/span><\/p>\n<\/div><\/div><div class=\"et_pb_text_4 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\" id=\"mitarbeiter_spenden_block\"><div class=\"et_pb_text_inner\" data-et-mv-hidden-phone=\"true\"><p><strong>M\u00f6chtest du mich direkt finanziell freisetzen?\u00a0<br \/><\/strong><spantitillium web=\"\" arial=\"\" font-weight:normal=\"\" font-style:normal=\"\" data-sheets-root=\"1\">Missionswerk msd | Grassiweg 3 | 3714 Frutigen<\/spantitillium><br \/><span>PC-Nr. 30-26890-3 | IBAN CH69 0900 0000 3002 6890 3<\/span><\/p>\n<\/div><\/div><div class=\"et_pb_text_5 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\" id=\"mitarbeiter_kostenstelle\"><div class=\"et_pb_text_inner\"><p>Vermerk: Personalkosten<\/p>\n<\/div><\/div><div class=\"et_pb_icon_3 et_pb_icon et-interaction-target-s625yagv4m et_pb_module et_flex_module\" data-interaction-trigger=\"qxdh4ltg2t\" data-interaction-target=\"s625yagv4m\"><span class=\"et_pb_icon_wrap\"><span class=\"et-pb-icon\">\uf00d<\/span><\/span><\/div><\/div><\/div><div class=\"et_pb_row_3 et_pb_row et_flex_row\" id=\"popup-loader_mitarbeiter\"><div class=\"et_pb_column_5 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\"><div class=\"et_pb_code_3 et_pb_code et_pb_module\"><div class=\"et_pb_code_inner\"><div class=\"skeleton-wrapper\">\n  <div class=\"skeleton-links\">\n    <div class=\"skeleton skeleton-bild\"><\/div>\n  <\/div>\n  <div class=\"skeleton-rechts\">\n    <div class=\"skeleton skeleton-position\"><\/div>\n    <div class=\"skeleton skeleton-titel\"><\/div>\n    <div class=\"skeleton skeleton-titel-unten\"><\/div>\n    \n    <div class=\"skeleton_icon_wrapper\">\n      <div class=\"skeleton skeleton_icon\"><\/div>\n      <div class=\"skeleton skeleton_icon\"><\/div>\n    <\/div>\n    <div class=\"skeleton_zitat\">\n      <div class=\"skeleton skeleton-text\"><\/div>\n    <div class=\"skeleton skeleton-text mittel\"><\/div>\n    <div class=\"skeleton skeleton-text kurz\"><\/div>\n    <\/div>\n    <div class=\"skeleton_kostenstelle\">\n      <div class=\"skeleton skeleton-text\"><\/div>\n    <div class=\"skeleton skeleton-text mittel\"><\/div>\n    <div class=\"skeleton skeleton-text kurz\"><\/div>\n    <\/div>\n  <\/div>\n<\/div><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>\u00ab\u00a0Seit 1962 entwickeln sich die Change Camps stetig weiter. Sie verbinden tiefe Gemeinschaft, starke Gotteserfahrungen und das Eintauchen in andere Kulturen. Durch kreative Outreaches mit Sport, praktischen Eins\u00e4tzen, Worship und Prayer Walks wachsen wir in einen evangelistischen Lebensstil. Unsere Vision ist, Jesus in verschiedenen Nationen bekannt zu machen und Jugendliche f\u00fcr ein Leben zu begeistern, &#8230;<\/p>\n","protected":false},"author":9,"featured_media":285441,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[122,154],"tags":[],"class_list":["post-285438","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-info-fr","category-mail-fr"],"acf":[],"_links":{"self":[{"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/posts\/285438","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/comments?post=285438"}],"version-history":[{"count":2,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/posts\/285438\/revisions"}],"predecessor-version":[{"id":286627,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/posts\/285438\/revisions\/286627"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/media\/285441"}],"wp:attachment":[{"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/media?parent=285438"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/categories?post=285438"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/tags?post=285438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}