{"id":287642,"date":"2026-05-18T01:06:00","date_gmt":"2026-05-17T23:06:00","guid":{"rendered":"https:\/\/www2.msd-online.ch\/?p=287642"},"modified":"2026-09-18T13:23:54","modified_gmt":"2026-09-18T11:23:54","slug":"cet-ete-appartient-a-dieu","status":"publish","type":"post","link":"https:\/\/msd.swiss\/fr\/cet-ete-appartient-a-dieu\/","title":{"rendered":"Cet \u00e9t\u00e9 appartient \u00e0 Dieu !"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">L'\u00e9t\u00e9 approche \u00e0 grands pas, et avec lui, non seulement des journ\u00e9es chaudes, mais aussi deux moments forts que nous attendons avec impatience : nos prochains Change Camps. C'est aussi une p\u00e9riode o\u00f9, en tant que Change Camps, nous souhaitons r\u00e9solument aller de l'avant et inviter Dieu \u00e0 agir au milieu de nous.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/www2.msd-online.ch\/wp-content\/uploads\/2026\/05\/KILA25-3-1-980x653-1.jpg\" alt=\"\" class=\"wp-image-287640\" style=\"aspect-ratio:16\/9;object-fit:cover;width:1920px;height:auto\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Le camp \u00ab Fussball Change \u00bb se tiendra \u00e0 M\u00fcnsingen du 13 au 18 juillet. Nous r\u00eavons que le sport soit l'occasion de v\u00e9ritables rencontres entre nous, mais aussi avec Dieu, et que la foi se manifeste ainsi au c\u0153ur de notre quotidien.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Priez avec nous pour que les c\u0153urs s\u2019ouvrent, que les discussions soient fructueuses et que nous vivions des moments divins qui resteront grav\u00e9s dans nos m\u00e9moires. Outre le football, nous organiserons \u00e9galement des temps de r\u00e9flexion et des actions d\u2019\u00e9vang\u00e9lisation. Nous souhaitons que des relations se nouent qui perdurent au-del\u00e0 du camp et que chacun puisse rencontrer Dieu de mani\u00e8re tout \u00e0 fait personnelle.<br>De m\u00eame, la protection est importante \u00e0 nos yeux, que ce soit sur le terrain, dans nos relations les uns avec les autres et dans tout ce que nous faisons.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Juste apr\u00e8s, du 18 au 25 juillet, le KiLa d\u00e9butera. Cette semaine-l\u00e0, nous serons en d\u00e9placement avec plus de 40 enfants. Une chance incroyable ! Certains d\u2019entre eux ne connaissent pas encore J\u00e9sus personnellement, et c\u2019est pr\u00e9cis\u00e9ment pour eux que nous voulons nous engager tout particuli\u00e8rement. Nous prions pour qu\u2019ils puissent faire l\u2019exp\u00e9rience de l\u2019amour de Dieu d\u2019une mani\u00e8re authentique et tangible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Merci de soutenir ces camps par la pri\u00e8re. Nous avons h\u00e2te de voir ce que Dieu va faire !<\/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>L&rsquo;\u00e9t\u00e9 approche \u00e0 grands pas, et avec lui, non seulement des journ\u00e9es chaudes, mais aussi deux moments forts que nous attendons avec impatience : nos prochains Change Camps. C&rsquo;est aussi une p\u00e9riode o\u00f9, en tant que Change Camps, nous souhaitons r\u00e9solument aller de l&rsquo;avant et inviter Dieu \u00e0 agir au milieu de nous. Le camp &#8230;<\/p>\n","protected":false},"author":12,"featured_media":287641,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[133,131],"tags":[],"class_list":["post-287642","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-fr","category-evenements-fr"],"acf":[],"_links":{"self":[{"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/posts\/287642","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\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/comments?post=287642"}],"version-history":[{"count":1,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/posts\/287642\/revisions"}],"predecessor-version":[{"id":287643,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/posts\/287642\/revisions\/287643"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/media\/287641"}],"wp:attachment":[{"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/media?parent=287642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/categories?post=287642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/msd.swiss\/fr\/wp-json\/wp\/v2\/tags?post=287642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}