{"id":36530,"date":"2026-10-27T20:03:30","date_gmt":"2026-10-27T20:03:30","guid":{"rendered":"https:\/\/prowibo.org\/?page_id=36530"},"modified":"2026-10-28T17:36:34","modified_gmt":"2026-10-28T17:36:34","slug":"donate","status":"publish","type":"page","link":"https:\/\/prowibo.org\/fr\/donate\/","title":{"rendered":"Faire un don"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"36530\" class=\"elementor elementor-36530\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-797a6da e-con-full e-flex e-con e-parent\" data-id=\"797a6da\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-40c4ab1 elementor-widget elementor-widget-html\" data-id=\"40c4ab1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================================\n     PROWIBO \u2014 DONATE (supporting content)\n     Elementor HTML widget. Every selector is scoped to .pwb-give.\n     Palette, type and radii follow the Prowibo Design System (v9).\n     Elementor content width assumed: 1260px (used by the full-bleed bands).\n\n          ========================================================================= -->\n\n<style>\n.pwb-give {\n  overflow-x: clip; \/* contains the full-bleed overhang; clip, not hidden, so fixed-position children still escape *\/\n  --pwb-ink: #1C1C28;\n  --pwb-ink-soft: #5B5B6B;\n  --pwb-magenta: #E6007E;\n  --pwb-magenta-80: #B00061;\n  --pwb-purple: #7B2D8E;\n  --pwb-navy: #0A2540;\n  --pwb-teal-dark: #0B7364;\n  --pwb-grey: #9AA4B2;\n  --pwb-terracotta: #E8623A;\n  --pwb-gold: #FFC400;\n  --pwb-paper: #FFFCFE;\n  --pwb-blush: #F6EEF3;\n  --pwb-lightpink: #FDE1EF;\n  --pwb-border: rgba(28, 28, 40, .12);\n  --pwb-grad-02: linear-gradient(150deg, #E6007E 0%, #7B2D8E 100%);\n\n  --pwb-display: \"Montserrat\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n  --pwb-body: \"Inter\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Helvetica, Arial, sans-serif;\n\n  --pwb-max: 1260px;\n  --pwb-ease: cubic-bezier(.22, .61, .36, 1);\n\n  font-family: var(--pwb-body);\n  color: var(--pwb-ink);\n  background: var(--pwb-paper);\n  line-height: 1.6;\n  -webkit-font-smoothing: antialiased;\n  text-rendering: optimizeLegibility;\n}\n\n.pwb-give,\n.pwb-give *,\n.pwb-give *::before,\n.pwb-give *::after { box-sizing: border-box; }\n\n\/* :where() keeps the reset at zero specificity so class rules still win. *\/\n.pwb-give.pwb-give :where(h1, h2, h3, h4, p, ul, ol, li, figure, figcaption) { margin: 0; padding: 0; }\n.pwb-give.pwb-give :where(li) { list-style: none; }\n.pwb-give :where(img) { display: block; max-width: 100%; height: auto; }\n\n\/* Zero-specificity so button and card classes on <a> still win, and so a\n   link added later is never browser-default blue. *\/\n.pwb-give :where(a) { color: var(--pwb-magenta-80); text-underline-offset: 3px; }\n.pwb-give :where(a:hover) { color: var(--pwb-purple); }\n\n.pwb-give :focus-visible {\n  outline: 2px solid var(--pwb-purple);\n  outline-offset: 3px;\n  border-radius: 4px;\n}\n\n.pwb-give__wrap {\n  width: 100%;\n  max-width: var(--pwb-max);\n  margin-left: auto;\n  margin-right: auto;\n  padding-left: clamp(20px, 4vw, 32px);\n  padding-right: clamp(20px, 4vw, 32px);\n}\n\n.pwb-give__bleed {\n  \/* The section itself stays at container width \u2014 moving the section with\n     negative margins makes its box viewport-wide, so its inner wrap centres\n     on the viewport while every other wrap centres on the container, and the\n     two left edges diverge by half the difference. Only the painted band\n     breaks out. *\/\n  position: relative;\n  isolation: isolate;\n}\n\n.pwb-give__bleed::before {\n  content: \"\";\n  position: absolute;\n  inset: 0;\n  z-index: -1;\n  margin-left: calc(50% - 50vw);\n  margin-right: calc(50% - 50vw);\n  background: var(--band, transparent);\n}\n\n.pwb-give__eyebrow.pwb-give__eyebrow {\n  display: flex;\n  align-items: center;\n  gap: 12px;\n  font-family: var(--pwb-display);\n  font-weight: 700;\n  font-size: .6875rem;\n  line-height: 1.3;\n  letter-spacing: .16em;\n  text-transform: uppercase;\n  color: var(--pwb-purple);\n}\n\n.pwb-give__eyebrow::before {\n  content: \"\";\n  flex: 0 0 auto;\n  width: 28px;\n  height: 2px;\n  border-radius: 2px;\n  background: linear-gradient(90deg, #FF3EA5 0%, #E6007E 100%);\n}\n\n.pwb-give__h2.pwb-give__h2 {\n  font-family: var(--pwb-display);\n  font-weight: 700;\n  font-size: clamp(1.5rem, 1.1rem + 1.5vw, 2.125rem);\n  line-height: 1.15;\n  letter-spacing: -.02em;\n  text-wrap: balance;\n}\n\n.pwb-give__h3.pwb-give__h3 {\n  font-family: var(--pwb-display);\n  font-weight: 700;\n  font-size: 1.0625rem;\n  line-height: 1.3;\n  letter-spacing: -.01em;\n}\n\n\/* Page-header scale, matching the hero title on the other pages, so this\n   reads as the page's opening call to action rather than a section heading. *\/\n.pwb-give__title.pwb-give__title {\n  font-family: var(--pwb-display);\n  font-weight: 800;\n  font-size: clamp(2rem, 1.35rem + 3vw, 3.375rem);\n  line-height: 1.05;\n  letter-spacing: -.025em;\n  margin-top: 10px;\n  text-wrap: balance;\n}\n\n.pwb-give__section { padding: clamp(40px, 5vw, 68px) 0; }\n\n\/* -------------------------------------------------------- Why it works -- *\/\n\n.pwb-give__why {\n  display: grid;\n  grid-template-columns: minmax(0, 1fr) minmax(340px, 38%);\n  grid-template-areas:\n    \"copy form\"\n    \"photo form\";\n  grid-template-rows: auto 1fr;\n  gap: clamp(36px, 5.5vw, 80px);\n  align-items: start;\n}\n\n.pwb-give__why-copy { grid-area: copy; }\n.pwb-give__why-form { grid-area: form; }\n\n.pwb-give__photo {\n  grid-area: photo;\n  overflow: hidden;\n  border-radius: 12px;\n  background: var(--pwb-lightpink);\n  box-shadow: 0 1px 2px rgba(28, 28, 40, .06), 0 12px 30px rgba(28, 28, 40, .08);\n}\n\n.pwb-give__photo img { width: 100%; height: auto; transition: transform .6s var(--pwb-ease); }\n.pwb-give__photo:hover img { transform: scale(1.03); }\n\n.pwb-give__accent {\n  display: block;\n  width: 64px;\n  height: 4px;\n  border-radius: 2px;\n  background: var(--pwb-grad-02);\n  transform-origin: left center;\n  margin-bottom: clamp(18px, 2.2vw, 26px);\n}\n\n.pwb-give__why .pwb-give__h2 { margin-bottom: clamp(16px, 2vw, 22px); }\n\n.pwb-give__why.pwb-give__why :where(p) {\n  font-size: clamp(1rem, .96rem + .2vw, 1.0625rem);\n  line-height: 1.72;\n  color: var(--pwb-ink-soft);\n  text-wrap: pretty;\n}\n\n.pwb-give__why :where(p + p) { margin-top: 1.1em; }\n\n\/* ------------------------------------------------------------- Amounts -- *\/\n\n.pwb-give__amounts { --band: var(--pwb-blush); padding: clamp(44px, 5.5vw, 72px) 0; }\n\n.pwb-give__amounts-head { max-width: 60ch; margin-bottom: clamp(26px, 3.2vw, 40px); }\n.pwb-give__amounts-head .pwb-give__h2 { margin-bottom: 12px; }\n\n.pwb-give__amounts-lede.pwb-give__amounts-lede {\n  font-size: clamp(1rem, .96rem + .2vw, 1.0625rem);\n  line-height: 1.7;\n  color: var(--pwb-ink-soft);\n  text-wrap: pretty;\n}\n\n.pwb-give \/* Footnote to a financial claim: small, but never below 12px and never\n   alpha-muted, since it is the source qualifying the figure above it. *\/\n.pwb-give__footnote {\n  display: flex;\n  gap: 7px;\n  margin-top: clamp(22px, 2.8vw, 32px);\n  padding-top: clamp(16px, 2vw, 20px);\n  border-top: 1px solid var(--pwb-border);\n  font-size: .8125rem;\n  line-height: 1.5;\n  color: var(--pwb-ink-soft);\n}\n\n.pwb-give__ref.pwb-give__ref {\n  font-size: .75em;\n  line-height: 1;\n  color: var(--pwb-magenta-80);\n  vertical-align: super;\n}\n\n\/* In the footnote the dagger is a marker, not superscript type. *\/\n.pwb-give__footnote .pwb-give__ref {\n  flex: none;\n  font-size: .875rem;\n  vertical-align: baseline;\n}\n\n.pwb-give__tiers {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));\n  gap: clamp(18px, 2.4vw, 26px);\n}\n\n.pwb-give__tier.pwb-give__tier {\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  padding: clamp(22px, 2.6vw, 28px);\n  background: #fff;\n  border-radius: 12px;\n  border-top: 3px solid var(--pwb-magenta);\n  box-shadow: 0 1px 2px rgba(28, 28, 40, .05), 0 8px 22px rgba(28, 28, 40, .06);\n  transition: transform .25s var(--pwb-ease), box-shadow .25s var(--pwb-ease);\n}\n\n.pwb-give__tier:hover {\n  transform: translateY(-3px);\n  box-shadow: 0 2px 4px rgba(28, 28, 40, .07), 0 16px 36px rgba(28, 28, 40, .1);\n}\n\n.pwb-give__tier:nth-child(2) { border-top-color: var(--pwb-purple); }\n.pwb-give__tier:nth-child(3) { border-top-color: var(--pwb-teal-dark); }\n.pwb-give__tier:nth-child(4) { border-top-color: var(--pwb-navy); }\n\n.pwb-give__amount.pwb-give__amount {\n  font-family: var(--pwb-display);\n  font-weight: 800;\n  font-size: clamp(1.5rem, 1.15rem + 1.2vw, 2.125rem);\n  line-height: 1;\n  letter-spacing: -.03em;\n  color: var(--pwb-ink);\n  font-variant-numeric: tabular-nums;\n}\n\n.pwb-give__tier.pwb-give__tier :where(p) {\n  font-size: .9375rem;\n  line-height: 1.6;\n  color: var(--pwb-ink-soft);\n  text-wrap: pretty;\n}\n\n\/* --------------------------------------------------------- Other ways -- *\/\n\n.pwb-give__ways {\n  display: grid;\n  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));\n  gap: clamp(18px, 2.4vw, 26px);\n  margin-top: clamp(26px, 3.2vw, 38px);\n}\n\n.pwb-give__way {\n  display: flex;\n  flex-direction: column;\n  height: 100%;\n  padding: clamp(22px, 2.6vw, 30px);\n  background: #fff;\n  border: 1px solid var(--pwb-border);\n  border-radius: 12px;\n}\n\n.pwb-give__way .pwb-give__h3 { margin-bottom: 10px; }\n\n.pwb-give__way.pwb-give__way :where(p) {\n  font-size: .9375rem;\n  line-height: 1.65;\n  color: var(--pwb-ink-soft);\n  text-wrap: pretty;\n}\n\n.pwb-give__way :where(p + p) { margin-top: .9em; }\n\n.pwb-give__way-tag.pwb-give__way-tag {\n  align-self: flex-start;\n  margin-bottom: 14px;\n  padding: 5px 12px;\n  border-radius: 999px;\n  background: #DFF3F0;\n  color: #0B7364;\n  font-family: var(--pwb-display);\n  font-weight: 700;\n  font-size: .6875rem;\n  line-height: 1.4;\n  letter-spacing: .1em;\n  text-transform: uppercase;\n}\n\n.pwb-give__way-link.pwb-give__way-link {\n  display: inline-flex;\n  align-items: center;\n  gap: 8px;\n  align-self: flex-start;\n  margin-top: auto;\n  padding-top: 18px;\n  font-family: var(--pwb-display);\n  font-weight: 700;\n  font-size: .8125rem;\n  letter-spacing: .06em;\n  text-transform: uppercase;\n  text-decoration: none;\n  color: var(--pwb-magenta-80);\n  transition: color .2s var(--pwb-ease), gap .2s var(--pwb-ease);\n}\n\n.pwb-give__way-link:hover { color: var(--pwb-purple); gap: 12px; }\n.pwb-give__way-link svg { width: 13px; height: 13px; flex: none; }\n\n\/* Payroll benefit list *\/\n.pwb-give__benefits.pwb-give__benefits { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }\n\n.pwb-give__benefits li {\n  display: grid;\n  grid-template-columns: 16px minmax(0, 1fr);\n  gap: 10px;\n  font-size: .875rem;\n  line-height: 1.55;\n  color: var(--pwb-ink-soft);\n  text-wrap: pretty;\n}\n\n.pwb-give__benefits svg { width: 16px; height: 16px; margin-top: 3px; color: var(--pwb-teal-dark); }\n\n\/* Worked example callout *\/\n.pwb-give__example.pwb-give__example {\n  margin-top: 16px;\n  padding: 16px 18px;\n  border-radius: 8px;\n  background: var(--pwb-blush);\n  font-size: .875rem;\n  line-height: 1.6;\n  color: var(--pwb-ink);\n  text-wrap: pretty;\n}\n\n.pwb-give__example b { font-weight: 700; }\n\n\/* ------------------------------------------------------------ Gift Aid -- *\/\n\n.pwb-give__giftaid {\n  --band: var(--pwb-navy);\n  color: #fff;\n  padding: clamp(36px, 4.5vw, 56px) 0;\n}\n\n.pwb-give__giftaid-inner {\n  display: flex;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: space-between;\n  gap: clamp(22px, 3vw, 40px);\n}\n\n.pwb-give__giftaid-copy { max-width: 60ch; }\n\n.pwb-give__giftaid .pwb-give__h2 { color: #fff; margin-bottom: 12px; }\n\n.pwb-give__giftaid.pwb-give__giftaid :where(p) {\n  font-weight: 300;\n  font-size: clamp(1rem, .96rem + .3vw, 1.125rem);\n  line-height: 1.65;\n  color: rgba(255, 255, 255, .88);\n  text-wrap: pretty;\n}\n\n.pwb-give__boost {\n  flex: none;\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  min-width: 148px;\n  padding: 20px 26px;\n  border-radius: 12px;\n  background: var(--pwb-gold);\n  color: var(--pwb-ink);\n  text-align: center;\n}\n\n.pwb-give__boost-k.pwb-give__boost-k {\n  font-family: var(--pwb-display);\n  font-weight: 800;\n  font-size: clamp(1.875rem, 1.4rem + 1.8vw, 2.75rem);\n  line-height: 1;\n  letter-spacing: -.03em;\n}\n\n.pwb-give__boost-l.pwb-give__boost-l {\n  margin-top: 6px;\n  font-family: var(--pwb-display);\n  font-weight: 700;\n  font-size: .6875rem;\n  letter-spacing: .1em;\n  text-transform: uppercase;\n}\n\n\/* ------------------------------------------------------------- Motion -- *\/\n\n.pwb-give--js [data-reveal] {\n  opacity: 0;\n  transform: translateY(16px);\n  transition: opacity .7s var(--pwb-ease), transform .7s var(--pwb-ease);\n}\n\n.pwb-give--js [data-reveal].is-in { opacity: 1; transform: none; }\n.pwb-give--js .pwb-give__accent { transform: scaleX(0); }\n\n.pwb-give--js [data-reveal].is-in .pwb-give__accent {\n  transform: scaleX(1);\n  transition: transform .8s var(--pwb-ease) .15s;\n}\n\n\/* -------------------------------------------------------- Breakpoints -- *\/\n\n@media (max-width: 980px) {\n  .pwb-give__why {\n    grid-template-columns: minmax(0, 1fr);\n    \/* Form ahead of the photo: on a phone the image would otherwise push the\n       donation action off the first screen. *\/\n    grid-template-areas: \"copy\" \"form\" \"photo\";\n    grid-template-rows: auto;\n  }\n}\n\n@media (max-width: 560px) {\n  .pwb-give__boost { width: 100%; }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .pwb-give *,\n  .pwb-give *::before,\n  .pwb-give *::after {\n    animation-duration: .01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: .01ms !important;\n  }\n\n  .pwb-give--js [data-reveal] { opacity: 1 !important; transform: none !important; }\n  .pwb-give--js .pwb-give__accent { transform: scaleX(1) !important; }\n}\n\n\n\/* --------------------------------------------- Donation form: structure -- *\/\n\n\/* Ported verbatim (scoped) from the widget's own stylesheet. These carry the\n   layout and, critically, the show\/hide behaviour the script toggles \u2014 the\n   restyle layer below only changes colour, type and radius. *\/\n\n.pwb-give .donation-widget { width: 100%; }\n\n.pwb-give .dw-toggle {\n  display: flex;\n  padding: 4px;\n  margin-bottom: 28px;\n  gap: 4px;\n}\n\n.pwb-give .dw-toggle-btn {\n  flex: 1;\n  padding: 12px 16px;\n  border: none;\n  cursor: pointer;\n  transition: all .2s ease;\n}\n\n.pwb-give .dw-frequency-label {\n  margin-bottom: 10px;\n  text-transform: uppercase;\n}\n\n.pwb-give .dw-amounts {\n  display: grid;\n  grid-template-columns: repeat(4, 1fr);\n  gap: 10px;\n  margin-bottom: 14px;\n}\n\n.pwb-give .dw-amount-btn {\n  padding: 14px 8px;\n  cursor: pointer;\n  transition: all .15s ease;\n}\n\n.pwb-give .dw-custom-amount { margin-bottom: 28px; }\n\n.pwb-give .dw-custom-amount label {\n  display: block;\n  margin-bottom: 6px;\n}\n\n.pwb-give .dw-custom-amount-wrap {\n  display: flex;\n  align-items: center;\n  overflow: hidden;\n  transition: border-color .15s;\n  background: #fff;\n}\n\n.pwb-give .dw-custom-amount-wrap span {\n  padding: 0 14px;\n  font-size: 1.125rem;\n  font-weight: 600;\n  align-self: stretch;\n  display: flex;\n  align-items: center;\n}\n\n.pwb-give .dw-custom-amount-wrap input {\n  flex: 1;\n  padding: 13px 14px;\n  border: none;\n  outline: none;\n  font-size: 1rem;\n  font-weight: 600;\n  background: transparent;\n}\n\n.pwb-give .dw-divider { border: none; border-top: 1px solid; margin: 24px 0; }\n\n.pwb-give .dw-gift-aid { padding: 18px 20px; margin-bottom: 24px; }\n\n.pwb-give .dw-gift-aid-header {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  margin-bottom: 12px;\n  flex-wrap: wrap;\n}\n\n.pwb-give .dw-gift-aid-badge {\n  color: #fff;\n  font-weight: 700;\n  padding: 5px 12px;\n  border-radius: 999px;\n  text-transform: uppercase;\n  white-space: nowrap;\n}\n\n.pwb-give .dw-gift-aid-tagline { margin: 0; }\n\n.pwb-give .dw-checkbox-label {\n  display: flex;\n  align-items: flex-start;\n  gap: 10px;\n  cursor: pointer;\n  line-height: 1.5;\n}\n\n.pwb-give .dw-checkbox-label input[type=\"checkbox\"] {\n  margin-top: 2px;\n  flex-shrink: 0;\n  width: 18px;\n  height: 18px;\n  cursor: pointer;\n}\n\n\/* The script adds .visible; without this pair the Gift Aid fields are\n   exposed for every donation and the checkbox handler does nothing. *\/\n.pwb-give .dw-gift-aid-fields { margin-top: 16px; display: none; }\n.pwb-give .dw-gift-aid-fields.visible { display: block; }\n\n.pwb-give .dw-gift-aid-declaration { padding: 10px 12px; margin-bottom: 14px; line-height: 1.5; }\n\n.pwb-give .dw-form-field { margin-bottom: 14px; }\n\n.pwb-give .dw-form-field label { display: block; margin-bottom: 5px; }\n\n.pwb-give .dw-form-field input {\n  width: 100%;\n  padding: 10px 12px;\n  outline: none;\n  transition: border-color .15s;\n  background: #fff;\n}\n\n.pwb-give .dw-postcode-hint { margin-top: 3px; }\n\n.pwb-give .dw-proceed-btn {\n  width: 100%;\n  padding: 16px;\n  color: #fff;\n  border: none;\n  cursor: pointer;\n  margin-bottom: 8px;\n}\n\n.pwb-give .dw-proceed-btn:disabled { cursor: not-allowed; }\n\n\/* Turnstile: reserve its 65px so the button does not jump when it loads. *\/\n.pwb-give .dw-turnstile { min-height: 65px; margin: 4px 0 16px; }\n\n\/* Same again: the container must be hidden until the script fills it. *\/\n.pwb-give .dw-error { display: none; margin-top: 8px; padding: 10px 12px; border: 1px solid; }\n.pwb-give .dw-error.visible { display: block; }\n\n.pwb-give .dw-back-btn {\n  background: none;\n  border: none;\n  cursor: pointer;\n  padding: 0 0 16px 0;\n  display: flex;\n  align-items: center;\n  gap: 4px;\n}\n\n\/* Step 2 stays hidden until Proceed succeeds; without this the Back button\n   and spinner sit under the form on first load. *\/\n.pwb-give #dw-checkout-step { display: none; }\n.pwb-give #dw-checkout-step.visible { display: block; }\n\n.pwb-give .dw-loading {\n  display: flex;\n  align-items: center;\n  gap: 10px;\n  padding: 20px 0;\n}\n\n.pwb-give .dw-spinner {\n  width: 20px;\n  height: 20px;\n  border: 3px solid;\n  border-radius: 50%;\n  animation: dwSpin .7s linear infinite;\n  flex-shrink: 0;\n}\n\n@keyframes dwSpin { to { transform: rotate(360deg); } }\n\n.pwb-give .dw-security-note {\n  display: flex;\n  align-items: center;\n  gap: 6px;\n  margin-top: 10px;\n  justify-content: center;\n}\n\n.pwb-give .dw-card-icons {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  gap: 8px;\n  margin-top: 12px;\n  flex-wrap: wrap;\n}\n\n.pwb-give .dw-card-icons svg {\n  height: 26px;\n  width: auto;\n  border-radius: 4px;\n  box-shadow: 0 1px 3px rgba(28, 28, 40, .15);\n  display: block;\n}\n\n@media (max-width: 520px) {\n  .pwb-give .dw-amounts { grid-template-columns: repeat(2, 1fr); }\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .pwb-give .dw-spinner { animation-duration: 1.4s; }\n}\n\n\/* ------------------------------------------------- Donation form: skin -- *\/\n\n\/* Restyled Stripe widget. Every dw- class and id is untouched \u2014 the script\n   and the Stripe\/REST wiring depend on them \u2014 so this is colour, type and\n   radius only. The blue (#007bff) it shipped with is replaced by Magenta for\n   actions and Purple for focus. *\/\n\n.pwb-give .donation-widget {\n  max-width: none;\n  padding: clamp(22px, 2.8vw, 32px);\n  background: #fff;\n  border: 1px solid var(--pwb-border);\n  border-radius: 12px;\n  box-shadow: 0 1px 2px rgba(28, 28, 40, .05), 0 14px 34px rgba(28, 28, 40, .08);\n  font-family: var(--pwb-body);\n  color: var(--pwb-ink);\n}\n\n.pwb-give .dw-toggle { background: var(--pwb-blush); border-radius: 999px; }\n\n.pwb-give .dw-toggle-btn {\n  border-radius: 999px;\n  font-family: var(--pwb-display);\n  font-weight: 600;\n  font-size: .875rem;\n  color: var(--pwb-ink-soft);\n  min-height: 44px;\n}\n\n.pwb-give .dw-toggle-btn.active {\n  background: #fff;\n  color: var(--pwb-ink);\n  box-shadow: 0 1px 2px rgba(28, 28, 40, .08), 0 4px 10px rgba(28, 28, 40, .08);\n}\n\n.pwb-give .dw-frequency-label {\n  font-family: var(--pwb-display);\n  font-weight: 700;\n  font-size: .6875rem;\n  letter-spacing: .14em;\n  color: var(--pwb-purple);\n}\n\n.pwb-give .dw-amount-btn {\n  min-height: 52px;\n  border: 1.5px solid var(--pwb-border);\n  border-radius: 8px;\n  font-family: var(--pwb-display);\n  font-weight: 700;\n  font-size: 1rem;\n  color: var(--pwb-ink);\n}\n\n.pwb-give .dw-amount-btn:hover { border-color: var(--pwb-purple); color: var(--pwb-purple); }\n\n.pwb-give .dw-amount-btn.active {\n  border-color: var(--pwb-magenta);\n  background: var(--pwb-magenta);\n  color: #fff;\n}\n\n.pwb-give .dw-custom-amount label,\n.pwb-give .dw-form-field label {\n  font-family: var(--pwb-display);\n  font-weight: 600;\n  font-size: .8125rem;\n  color: var(--pwb-ink);\n}\n\n.pwb-give .dw-custom-amount-wrap {\n  border: 1.5px solid var(--pwb-border);\n  border-radius: 8px;\n}\n\n.pwb-give .dw-custom-amount-wrap:focus-within {\n  border-color: var(--pwb-purple);\n  box-shadow: 0 0 0 3px rgba(123, 45, 142, .12);\n}\n\n.pwb-give .dw-custom-amount-wrap span {\n  background: var(--pwb-blush);\n  border-right: 1.5px solid var(--pwb-border);\n  font-family: var(--pwb-display);\n  color: var(--pwb-ink-soft);\n}\n\n.pwb-give .dw-custom-amount-wrap input,\n.pwb-give .dw-form-field input { color: var(--pwb-ink); font-family: var(--pwb-body); }\n\n.pwb-give .dw-divider { border-top-color: var(--pwb-border); }\n\n\/* Gift Aid: Light Pink rather than the stock blue, so it reads as brand\n   emphasis and not as a system notice. *\/\n.pwb-give .dw-gift-aid {\n  background: var(--pwb-lightpink);\n  border: 1px solid rgba(230, 0, 126, .18);\n  border-radius: 12px;\n}\n\n.pwb-give .dw-gift-aid-badge {\n  background: var(--pwb-magenta);\n  font-family: var(--pwb-display);\n  font-size: .6875rem;\n  letter-spacing: .1em;\n}\n\n.pwb-give .dw-gift-aid-tagline {\n  font-family: var(--pwb-display);\n  font-weight: 600;\n  font-size: .875rem;\n  color: var(--pwb-purple);\n}\n\n.pwb-give .dw-checkbox-label { color: var(--pwb-ink); font-size: .875rem; }\n.pwb-give .dw-checkbox-label input[type=\"checkbox\"] { accent-color: var(--pwb-magenta); }\n\n\/* The declaration is the legally operative text, so it stays at full\n   contrast rather than being tinted down. *\/\n.pwb-give .dw-gift-aid-declaration {\n  background: #fff;\n  border-left: 3px solid var(--pwb-magenta);\n  border-radius: 0 8px 8px 0;\n  font-size: .75rem;\n  color: var(--pwb-ink-soft);\n}\n\n.pwb-give .dw-form-field input {\n  min-height: 44px;\n  border: 1.5px solid var(--pwb-border);\n  border-radius: 8px;\n}\n\n.pwb-give .dw-form-field input:focus {\n  border-color: var(--pwb-purple);\n  box-shadow: 0 0 0 3px rgba(123, 45, 142, .12);\n}\n\n.pwb-give .dw-form-field input.invalid { border-color: var(--pwb-terracotta); }\n.pwb-give .dw-postcode-hint { font-size: .75rem; color: var(--pwb-ink-soft); }\n\n.pwb-give .dw-proceed-btn {\n  min-height: 48px;\n  border-radius: 8px;\n  background: var(--pwb-magenta);\n  font-family: var(--pwb-display);\n  font-weight: 600;\n  font-size: .9375rem;\n  line-height: 1.2;\n  letter-spacing: .01em;\n  transition: filter .2s var(--pwb-ease), transform .1s var(--pwb-ease);\n}\n\n.pwb-give .dw-proceed-btn:hover { background: var(--pwb-magenta); filter: brightness(1.08); }\n.pwb-give .dw-proceed-btn:active { transform: scale(.97); }\n\n.pwb-give .dw-proceed-btn:disabled {\n  background: var(--pwb-grey);\n  filter: none;\n  box-shadow: none;\n}\n\n.pwb-give .dw-error {\n  border-radius: 8px;\n  border-color: rgba(232, 98, 58, .4);\n  background: rgba(232, 98, 58, .08);\n  color: #A33A17;\n  font-size: .8125rem;\n}\n\n.pwb-give .dw-back-btn {\n  min-height: 44px;\n  font-family: var(--pwb-display);\n  font-weight: 700;\n  font-size: .8125rem;\n  letter-spacing: .06em;\n  text-transform: uppercase;\n  color: var(--pwb-magenta-80);\n}\n\n.pwb-give .dw-back-btn:hover { color: var(--pwb-purple); }\n\n.pwb-give .dw-spinner { border-color: var(--pwb-border); border-top-color: var(--pwb-magenta); }\n.pwb-give .dw-loading { color: var(--pwb-ink-soft); font-size: .875rem; }\n\n.pwb-give .dw-security-note {\n  gap: 7px;\n  font-size: .75rem;\n  color: var(--pwb-ink-soft);\n}\n\n.pwb-give .dw-security-note svg { width: 13px; height: 13px; flex: none; }\n\n\/* The theme paints bare <button> backgrounds; restate every widget button. *\/\n.pwb-give button.dw-toggle-btn,\n.pwb-give button.dw-amount-btn,\n.pwb-give button.dw-back-btn { background-image: none; }\n\n.pwb-give button.dw-toggle-btn:not(.active),\n.pwb-give button.dw-toggle-btn:not(.active):hover { background-color: transparent; }\n\n.pwb-give button.dw-toggle-btn.active,\n.pwb-give button.dw-toggle-btn.active:hover { background-color: #fff; }\n\n.pwb-give button.dw-amount-btn:not(.active),\n.pwb-give button.dw-amount-btn:not(.active):hover { background-color: #fff; }\n\n.pwb-give button.dw-amount-btn.active,\n.pwb-give button.dw-amount-btn.active:hover { background-color: var(--pwb-magenta); color: #fff; }\n\n.pwb-give button.dw-back-btn,\n.pwb-give button.dw-back-btn:hover { background-color: transparent; }\n\n.pwb-give button.dw-proceed-btn:hover { background-color: var(--pwb-magenta); }\n\n<\/style>\n\n<div class=\"pwb-give\">\n\n  <!-- Why your donation matters -->\n  <section class=\"pwb-give__section\">\n    <div class=\"pwb-give__wrap\">\n      <div class=\"pwb-give__why\">\n        <div class=\"pwb-give__why-copy\">\n          <h1 class=\"pwb-give__title\" data-i18n=\"why-title\">Your donation keeps every programme free<\/h1>\n          <p style=\"margin-top: 20px; margin-bottom: 20px;\" data-i18n=\"why-p1\">By donating to Professors Without Borders you help make quality education accessible to all, and give students in developing countries the means to create positive change in their communities.<\/p>\n          <p data-i18n=\"why-p2\">All of our programmes and events are delivered free of charge, and that is only possible because of our donors. Your donation is what lets us keep taking quality education to where it is needed most.<\/p>\n        <\/div>\n\n        <div class=\"pwb-give__why-form\" data-reveal>\n        <div class=\"donation-widget\"\n             data-i18n-attr=\"data-err-min:dw-err-min,data-err-ga:dw-err-ga,data-err-generic:dw-err-generic,data-err-captcha:dw-err-captcha,data-err-captcha-load:dw-err-captcha-load\"\n             data-err-min=\"Please enter a donation amount of at least \u00a31.\"\n             data-err-ga=\"Please complete all Gift Aid fields with valid information.\"\n             data-err-generic=\"Something went wrong. Please try again.\"\n             data-err-captcha=\"Please complete the security check above. If it has not appeared, refresh the page and try again.\"\n             data-err-captcha-load=\"The security check did not load. Please wait a moment and try again, or refresh the page.\">\n\n          <!-- Step 1: amount, frequency, Gift Aid -->\n          <div id=\"dw-form-step\">\n\n            <div class=\"dw-toggle\" role=\"group\" data-i18n-attr=\"aria-label:dw-freq-group\" aria-label=\"Giving frequency\">\n              <button class=\"dw-toggle-btn active\" data-mode=\"payment\" type=\"button\" data-i18n=\"dw-once\">Give Once<\/button>\n              <button class=\"dw-toggle-btn\" data-mode=\"subscription\" type=\"button\" data-i18n=\"dw-monthly\">Give Monthly<\/button>\n            <\/div>\n\n            <!-- The two label variants live here rather than in the script, so\n                 both go through the same translation pass as the rest. -->\n            <p class=\"dw-frequency-label\" id=\"dw-frequency-label\"\n               data-i18n-attr=\"data-once:dw-label-once,data-monthly:dw-label-monthly\"\n               data-once=\"Choose your amount\" data-monthly=\"Choose your monthly amount\"\n               data-i18n=\"dw-label-once\">Choose your amount<\/p>\n\n            <div class=\"dw-amounts\" id=\"dw-amounts\">\n              <button class=\"dw-amount-btn\" data-amount=\"500\" type=\"button\">&pound;5<\/button>\n              <button class=\"dw-amount-btn active\" data-amount=\"1000\" type=\"button\">&pound;10<\/button>\n              <button class=\"dw-amount-btn\" data-amount=\"2500\" type=\"button\">&pound;25<\/button>\n              <button class=\"dw-amount-btn\" data-amount=\"5000\" type=\"button\">&pound;50<\/button>\n            <\/div>\n\n            <div class=\"dw-custom-amount\">\n              <label for=\"dw-custom-input\" data-i18n=\"dw-custom\">Or enter your own amount<\/label>\n              <div class=\"dw-custom-amount-wrap\">\n                <span>&pound;<\/span>\n                <input type=\"number\" id=\"dw-custom-input\" min=\"1\" step=\"1\" placeholder=\"0.00\"\n                       data-i18n-attr=\"aria-label:dw-custom-aria\" aria-label=\"Custom donation amount in pounds\">\n              <\/div>\n            <\/div>\n\n            <hr class=\"dw-divider\">\n\n            <div class=\"dw-gift-aid\">\n              <div class=\"dw-gift-aid-header\">\n                <span class=\"dw-gift-aid-badge\">Gift Aid<\/span>\n                <p class=\"dw-gift-aid-tagline\" data-i18n=\"dw-ga-tagline\">Boost your donation by 25%, at no cost to you<\/p>\n              <\/div>\n\n              <label class=\"dw-checkbox-label\">\n                <input type=\"checkbox\" id=\"dw-gift-aid-check\">\n                <span data-i18n=\"dw-ga-consent\">I am a UK taxpayer and would like <strong data-no-translation>Professors Without Borders<\/strong> to claim Gift Aid on this donation and any donations I make in the future or have made in the past 4 years.<\/span>\n              <\/label>\n\n              <div class=\"dw-gift-aid-fields\" id=\"dw-gift-aid-fields\">\n                <p class=\"dw-gift-aid-declaration\" data-i18n=\"dw-ga-declaration\">I understand I must pay an amount of Income Tax and\/or Capital Gains Tax at least equal to the tax that <strong data-no-translation>Professors Without Borders<\/strong> reclaims on my donations in each tax year (currently 25p for every &pound;1 I give). Please notify us if you no longer pay sufficient tax or change address.<\/p>\n\n                <div class=\"dw-form-field\">\n                  <label for=\"dw-ga-name\" data-i18n=\"dw-ga-name-l\">Full name <span aria-hidden=\"true\">*<\/span><\/label>\n                  <input type=\"text\" id=\"dw-ga-name\" autocomplete=\"name\"\n                         data-i18n-attr=\"placeholder:dw-ga-name-p\" placeholder=\"As it appears on your tax return\">\n                <\/div>\n\n                <div class=\"dw-form-field\">\n                  <label for=\"dw-ga-address\" data-i18n=\"dw-ga-addr-l\">House name or number <span aria-hidden=\"true\">*<\/span><\/label>\n                  <input type=\"text\" id=\"dw-ga-address\" autocomplete=\"address-line1\"\n                         data-i18n-attr=\"placeholder:dw-ga-addr-p\" placeholder=\"e.g. 42 or Rose Cottage\">\n                  <p class=\"dw-postcode-hint\" data-i18n=\"dw-ga-addr-hint\">Required by HMRC for Gift Aid reclaim.<\/p>\n                <\/div>\n\n                <div class=\"dw-form-field\">\n                  <label for=\"dw-ga-postcode\" data-i18n=\"dw-ga-pc-l\">Postcode <span aria-hidden=\"true\">*<\/span><\/label>\n                  <input type=\"text\" id=\"dw-ga-postcode\" autocomplete=\"postal-code\"\n                         data-i18n-attr=\"placeholder:dw-ga-pc-p\" placeholder=\"e.g. SW1A 1AA\"\n                         style=\"text-transform: uppercase;\" maxlength=\"8\">\n                <\/div>\n              <\/div>\n            <\/div>\n\n            <!-- Cloudflare Turnstile. It writes a single-use token into a hidden\n                 cf-turnstile-response input; the script sends that token with\n                 the session request, and the WordPress endpoint must verify it\n                 with the secret key before creating the Stripe session. -->\n            <div class=\"dw-turnstile\" id=\"dw-turnstile\" data-sitekey=\"0x4AAAAAAFoPlJXJiIZDAMJY\"><\/div>\n\n            <!-- Button labels as data attributes: the script rewrites this\n                 button's text, so a nested span would be destroyed. -->\n            <button class=\"dw-proceed-btn\" id=\"dw-proceed-btn\" type=\"button\"\n                    data-i18n-attr=\"data-idle:dw-proceed,data-wait:dw-wait\"\n                    data-idle=\"Proceed to payment\" data-wait=\"Please wait&hellip;\">Proceed to payment<\/button>\n\n            <div class=\"dw-error\" id=\"dw-error\" role=\"alert\"><\/div>\n\n            <p class=\"dw-security-note\">\n              <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M6 10V8a6 6 0 1 1 12 0v2\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><rect x=\"4\" y=\"10\" width=\"16\" height=\"11\" rx=\"2\" stroke=\"currentColor\" stroke-width=\"2\"\/><\/svg>\n              <span data-i18n=\"dw-secure\">Secure payment powered by Stripe<\/span>\n            <\/p>\n            <div class=\"dw-card-icons\" data-i18n-attr=\"aria-label:dw-methods\" aria-label=\"Accepted payment methods\">\n              <svg viewBox=\"0 0 50 32\" role=\"img\" aria-label=\"Visa\">\n                <rect width=\"50\" height=\"32\" rx=\"4\" fill=\"#1A1F71\"\/>\n                <text x=\"50%\" y=\"57%\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-family=\"Arial, sans-serif\" font-size=\"13\" font-weight=\"700\" font-style=\"italic\" fill=\"#fff\" letter-spacing=\"0.5\">VISA<\/text>\n              <\/svg>\n              <svg viewBox=\"0 0 50 32\" role=\"img\" aria-label=\"Mastercard\">\n                <rect width=\"50\" height=\"32\" rx=\"4\" fill=\"#252525\"\/>\n                <circle cx=\"19\" cy=\"16\" r=\"9\" fill=\"#EB001B\"\/>\n                <circle cx=\"31\" cy=\"16\" r=\"9\" fill=\"#F79E1B\"\/>\n                <path d=\"M25 9.3a9 9 0 0 1 0 13.4A9 9 0 0 1 25 9.3z\" fill=\"#FF5F00\"\/>\n              <\/svg>\n              <svg viewBox=\"0 0 50 32\" role=\"img\" aria-label=\"American Express\">\n                <rect width=\"50\" height=\"32\" rx=\"4\" fill=\"#2557D6\"\/>\n                <text x=\"50%\" y=\"40%\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-family=\"Arial, sans-serif\" font-size=\"7.5\" font-weight=\"700\" fill=\"#fff\" letter-spacing=\"0.3\">AMERICAN<\/text>\n                <text x=\"50%\" y=\"68%\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-family=\"Arial, sans-serif\" font-size=\"7.5\" font-weight=\"700\" fill=\"#fff\" letter-spacing=\"0.3\">EXPRESS<\/text>\n              <\/svg>\n              <svg viewBox=\"0 0 50 32\" role=\"img\" aria-label=\"Maestro\">\n                <rect width=\"50\" height=\"32\" rx=\"4\" fill=\"#fff\" stroke=\"#e0e0e0\"\/>\n                <circle cx=\"19\" cy=\"14\" r=\"8.5\" fill=\"#EB001B\"\/>\n                <circle cx=\"31\" cy=\"14\" r=\"8.5\" fill=\"#0099DF\"\/>\n                <path d=\"M25 7.6a8.5 8.5 0 0 1 0 12.8A8.5 8.5 0 0 1 25 7.6z\" fill=\"#7B3EA0\"\/>\n                <text x=\"50%\" y=\"93%\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-family=\"Arial, sans-serif\" font-size=\"5.5\" font-weight=\"600\" fill=\"#333\">maestro<\/text>\n              <\/svg>\n              <svg viewBox=\"0 0 50 32\" role=\"img\" aria-label=\"Apple Pay\">\n                <rect width=\"50\" height=\"32\" rx=\"4\" fill=\"#000\"\/>\n                <text x=\"50%\" y=\"55%\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-family=\"Arial, sans-serif\" font-size=\"8.5\" font-weight=\"600\" fill=\"#fff\" letter-spacing=\"0.1\">Apple Pay<\/text>\n              <\/svg>\n              <svg viewBox=\"0 0 50 32\" role=\"img\" aria-label=\"Google Pay\">\n                <rect width=\"50\" height=\"32\" rx=\"4\" fill=\"#fff\" stroke=\"#e0e0e0\"\/>\n                <text x=\"50%\" y=\"55%\" dominant-baseline=\"middle\" text-anchor=\"middle\" font-family=\"Arial, sans-serif\" font-size=\"8.5\" font-weight=\"600\" fill=\"#5F6368\" letter-spacing=\"0.1\">Google Pay<\/text>\n              <\/svg>\n            <\/div>\n          <\/div>\n\n          <!-- Step 2: Stripe embedded checkout -->\n          <div id=\"dw-checkout-step\">\n            <button class=\"dw-back-btn\" id=\"dw-back-btn\" type=\"button\" data-i18n=\"dw-back\">&larr; Back<\/button>\n            <div id=\"dw-loading\" class=\"dw-loading\">\n              <div class=\"dw-spinner\"><\/div>\n              <span data-i18n=\"dw-loading\">Loading secure payment form&hellip;<\/span>\n            <\/div>\n            <div id=\"dw-checkout\"><\/div>\n          <\/div>\n\n        <\/div>\n        <\/div>\n        <figure class=\"pwb-give__photo\" data-reveal>\n          <img loading=\"lazy\" src=\"https:\/\/prowibo.org\/wp-content\/uploads\/2024\/11\/Uganda_2_2024-1024x682.png\" alt=\"\" width=\"1024\" height=\"682\" loading=\"lazy\" decoding=\"async\">\n        <\/figure>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- Gift Aid -->\n  <section class=\"pwb-give__giftaid pwb-give__bleed\">\n    <div class=\"pwb-give__wrap\">\n      <div class=\"pwb-give__giftaid-inner\" data-reveal>\n        <div class=\"pwb-give__giftaid-copy\">\n          <p class=\"pwb-give__eyebrow\" style=\"color: var(--pwb-gold);\" data-i18n=\"ga-eyebrow\">UK taxpayers<\/p>\n          <h2 class=\"pwb-give__h2\" style=\"margin-top: 10px;\" data-i18n=\"ga-title\">Gift Aid adds a quarter, at no cost to you<\/h2>\n          <p data-i18n=\"ga-p\">If you pay UK tax, ticking the Gift Aid box on the donation form lets us reclaim around 25p for every &pound;1 you give. It does not cost you a penny more.<\/p>\n        <\/div>\n        <div class=\"pwb-give__boost\">\n          <span class=\"pwb-give__boost-k\">+25%<\/span>\n          <span class=\"pwb-give__boost-l\" data-i18n=\"ga-boost\">On your gift<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <!-- What an amount covers -->\n  <section class=\"pwb-give__amounts pwb-give__bleed\">\n    <div class=\"pwb-give__wrap\">\n      <div class=\"pwb-give__amounts-head\" data-reveal>\n        <h2 class=\"pwb-give__h2\" data-i18n=\"amt-title\">How we spend your donation<\/h2>\n        <p class=\"pwb-give__amounts-lede\" data-i18n=\"amt-lede\">95% of our costs go towards our charitable activities.<sup class=\"pwb-give__ref\">&dagger;<\/sup><\/p>\n      <\/div>\n\n      <ul class=\"pwb-give__tiers\">\n        <li class=\"pwb-give__tier\" data-reveal>\n          <span class=\"pwb-give__amount\">&pound;40<\/span>\n          <p data-i18n=\"tier-1\">Covers the average cost of one student taking part in one of our programmes.<\/p>\n        <\/li>\n        <li class=\"pwb-give__tier\" data-reveal>\n          <span class=\"pwb-give__amount\">&pound;300&ndash;&pound;500<\/span>\n          <p data-i18n=\"tier-2\">Covers local expenses for one of our professors while they are teaching abroad.<\/p>\n        <\/li>\n        <li class=\"pwb-give__tier\" data-reveal>\n          <span class=\"pwb-give__amount\">&pound;1,500<\/span>\n          <p data-i18n=\"tier-3\">Covers one professor teaching abroad for two weeks, including flights, accommodation, visa and insurance.<\/p>\n        <\/li>\n        <li class=\"pwb-give__tier\" data-reveal>\n          <span class=\"pwb-give__amount\">&pound;5,000&ndash;&pound;8,000<\/span>\n          <p data-i18n=\"tier-4\">Covers a full programme: travel and accommodation for our professors, plus all teaching and learning equipment.<\/p>\n        <\/li>\n      <\/ul>\n\n      <p class=\"pwb-give__footnote\" data-reveal>\n        <span class=\"pwb-give__ref\" aria-hidden=\"true\">&dagger;<\/span>\n        <span data-i18n=\"amt-note\">As per our FY25 accounts.<\/span>\n      <\/p>\n    <\/div>\n  <\/section>\n  <section class=\"pwb-give__section\">\n    <div class=\"pwb-give__wrap\">\n      <div data-reveal>\n        <h2 class=\"pwb-give__h2\" data-i18n=\"ways-title\">Other ways to give<\/h2>\n      <\/div>\n\n      <div class=\"pwb-give__ways\">\n\n        <div class=\"pwb-give__way\" data-reveal>\n          <span class=\"pwb-give__way-tag\" data-i18n=\"way-1-tag\">One-off or recurring<\/span>\n          <h3 class=\"pwb-give__h3\" data-i18n=\"way-1-title\">PayPal<\/h3>\n          <p data-i18n=\"way-1-p\">If your card or payment method is not accepted by the form above, or if you would rather give from a PayPal balance than a card. Set it up as a one-off gift or a recurring monthly donation.<\/p>\n          <a class=\"pwb-give__way-link\" href=\"https:\/\/www.paypal.com\/donate\" target=\"_blank\" rel=\"noopener\">\n            <span data-i18n=\"way-1-cta\">Give via PayPal<\/span>\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M7 17 17 7M9 7h8v8\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n          <\/a>\n        <\/div>\n\n        <div class=\"pwb-give__way\" data-reveal>\n          <span class=\"pwb-give__way-tag\" data-i18n=\"way-2-tag\">Best value for us<\/span>\n          <h3 class=\"pwb-give__h3\" data-i18n=\"way-2-title\">Payroll giving<\/h3>\n          <p data-i18n=\"way-2-p\">Your donation comes straight out of your salary before tax, so it costs you less than it gives us. We have teamed up with GoodPAYE, a charity-owned provider, to make this easy for UK employees.<\/p>\n          <p class=\"pwb-give__example\" data-i18n=\"way-2-example\">Give <b>&pound;10<\/b> a month on the 20% tax rate and your take-home pay drops by <b>&pound;8<\/b>.<\/p>\n          <ul class=\"pwb-give__benefits\">\n            <li><svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span data-i18n=\"way-2-b1\">Automatic once it is set up<\/span><\/li>\n            <li><svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span data-i18n=\"way-2-b2\">Tax-free, so we receive more at no extra cost to you<\/span><\/li>\n            <li><svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M20 6 9 17l-5-5\" stroke=\"currentColor\" stroke-width=\"2.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span data-i18n=\"way-2-b3\">We keep 100% of what you give<\/span><\/li>\n          <\/ul>\n          <p style=\"margin-top: 14px; font-size: .8125rem;\" data-i18n=\"way-2-note\">We need to check your employer runs a payroll giving scheme first, but once you send your form, GoodPAYE starts that process for you.<\/p>\n          <a class=\"pwb-give__way-link\" href=\"https:\/\/goodpaye.com\/change-the-world-while-you-work\/\" target=\"_blank\" rel=\"noopener\">\n            <span data-i18n=\"way-2-cta\">Give via payroll<\/span>\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M7 17 17 7M9 7h8v8\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n          <\/a>\n        <\/div>\n\n        <div class=\"pwb-give__way\" data-reveal>\n          <span class=\"pwb-give__way-tag\" data-i18n=\"way-3-tag\">Costs you nothing<\/span>\n          <h3 class=\"pwb-give__h3\" data-i18n=\"way-3-title\">Shop online and raise funds<\/h3>\n          <p data-i18n=\"way-3-p\">Sign up with Give as you Live and choose us as your charity. When you shop online with thousands of stores, a percentage of what you spend is donated to us at no additional cost to you.<\/p>\n          <a class=\"pwb-give__way-link\" href=\"https:\/\/www.giveasyoulive.com\/join\/prowibo\" target=\"_blank\" rel=\"noopener\">\n            <span data-i18n=\"way-3-cta\">Sign up to Give as you Live<\/span>\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M7 17 17 7M9 7h8v8\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n          <\/a>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n\n<\/div>\n\n<!-- Stripe.js \u2014 always loaded from js.stripe.com for PCI compliance. -->\n<script src=\"https:\/\/js.stripe.com\/v3\/\"><\/script>\n\n<script>\n(function () {\n  'use strict';\n\n  \/\/ \u2500\u2500 Configuration \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var STRIPE_PUBLISHABLE_KEY = 'pk_live_51PT5SdJom43e0dTloZSxrW1SErpag3oXktbfwadgr17SYNhP6BQY7qh09HGFkZjJpVRFRtHznhm5xpTSQLCBoOds00fFF62i8P';\n\n  \/\/ WordPress REST API base (auto-detected from page URL)\n  var API_BASE = (function () {\n    var loc = window.location;\n    return loc.protocol + '\/\/' + loc.host + '\/wp-json\/donation\/v1';\n  })();\n\n  \/\/ \u2500\u2500 State \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var selectedMode   = 'payment';   \/\/ 'payment' | 'subscription'\n  var selectedAmount = 1000;        \/\/ in pence\n  var checkoutInstance = null;\n\n  \/\/ \u2500\u2500 Element refs \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  var widget         = document.querySelector('.donation-widget');\n  var formStep       = document.getElementById('dw-form-step');\n  var checkoutStep   = document.getElementById('dw-checkout-step');\n  var proceedBtn     = document.getElementById('dw-proceed-btn');\n  var backBtn        = document.getElementById('dw-back-btn');\n  var errorEl        = document.getElementById('dw-error');\n  var loadingEl      = document.getElementById('dw-loading');\n  var frequencyLabel = document.getElementById('dw-frequency-label');\n  var giftAidCheck   = document.getElementById('dw-gift-aid-check');\n  var giftAidFields  = document.getElementById('dw-gift-aid-fields');\n  var customInput    = document.getElementById('dw-custom-input');\n\n  if (!widget || !proceedBtn) { return; }\n\n  \/* Every user-facing string is read from a data attribute rather than\n     written here, so the page's language pass can translate it \u2014 a string\n     living in JS can never be reached by TranslatePress or by the FR\n     dictionary above. *\/\n  function t(el, attr, fallback) {\n    var v = el && el.getAttribute(attr);\n    return v || fallback;\n  }\n\n  \/\/ \u2500\u2500 Toggle: One-time \/ Monthly \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  document.querySelectorAll('.dw-toggle-btn').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      document.querySelectorAll('.dw-toggle-btn').forEach(function (b) {\n        b.classList.remove('active');\n      });\n      btn.classList.add('active');\n      selectedMode = btn.getAttribute('data-mode');\n\n      frequencyLabel.textContent = selectedMode === 'subscription'\n        ? t(frequencyLabel, 'data-monthly', 'Choose your monthly amount')\n        : t(frequencyLabel, 'data-once', 'Choose your amount');\n    });\n  });\n\n  \/\/ \u2500\u2500 Amount buttons \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  document.querySelectorAll('.dw-amount-btn').forEach(function (btn) {\n    btn.addEventListener('click', function () {\n      document.querySelectorAll('.dw-amount-btn').forEach(function (b) {\n        b.classList.remove('active');\n      });\n      btn.classList.add('active');\n      selectedAmount = parseInt(btn.getAttribute('data-amount'), 10);\n      customInput.value = '';\n      hideError();\n    });\n  });\n\n  \/\/ \u2500\u2500 Custom amount input \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  customInput.addEventListener('input', function () {\n    var val = parseFloat(customInput.value);\n    document.querySelectorAll('.dw-amount-btn').forEach(function (b) {\n      b.classList.remove('active');\n    });\n    if (!isNaN(val) && val > 0) {\n      selectedAmount = Math.round(val * 100); \/\/ convert \u00a3 to pence\n    } else {\n      selectedAmount = 0;\n    }\n    hideError();\n  });\n\n  \/\/ \u2500\u2500 Gift Aid toggle \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  giftAidCheck.addEventListener('change', function () {\n    if (giftAidCheck.checked) {\n      giftAidFields.classList.add('visible');\n    } else {\n      giftAidFields.classList.remove('visible');\n      clearGiftAidValidation();\n    }\n  });\n\n  \/\/ \u2500\u2500 Helpers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function showError(msg) {\n    errorEl.textContent = msg;\n    errorEl.classList.add('visible');\n  }\n\n  function hideError() {\n    errorEl.classList.remove('visible');\n    errorEl.textContent = '';\n  }\n\n  \/\/ \u2500\u2500 Cloudflare Turnstile \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  \/\/ Rendered explicitly from here rather than by the api.js auto-scan.\n  \/\/ The auto-scan runs once, when api.js finishes loading; if a caching or\n  \/\/ optimisation plugin moves, combines or delays that script so it runs\n  \/\/ before this markup exists (or never runs), the widget silently never\n  \/\/ appears. Rendering on our own schedule removes that race, and the loader\n  \/\/ retries if the script fails or is blocked.\n  var TS_SRC = 'https:\/\/challenges.cloudflare.com\/turnstile\/v0\/api.js?render=explicit';\n  var tsEl = document.getElementById('dw-turnstile');\n  var tsId = null, tsTries = 0, tsTimer = null, tsResets = 0;\n\n  function pageLang() {\n    return (document.documentElement.getAttribute('lang') || 'en').slice(0, 2).toLowerCase() === 'fr' ? 'fr' : 'en';\n  }\n  function renderTurnstile() {\n    if (!tsEl || tsId !== null || !window.turnstile) return;\n    try {\n      tsId = window.turnstile.render(tsEl, {\n        sitekey:  tsEl.getAttribute('data-sitekey'),\n        theme:    'light',\n        size:     'flexible',\n        language: pageLang(),\n        retry:    'auto',\n        \/\/ The script can load fine and the widget still fail inside its\n        \/\/ iframe (a blocked request, a network blip). Without these the\n        \/\/ box just stays empty; reset it a few times before giving up.\n        'error-callback':   function () { recoverTurnstile(); return true; },\n        'timeout-callback': function () { recoverTurnstile(); }\n      });\n    } catch (e) { tsId = null; retryTurnstile(); }\n  }\n  function recoverTurnstile() {\n    if (tsId === null || !window.turnstile || tsResets >= 3) return;\n    tsResets++;\n    setTimeout(function () { try { window.turnstile.reset(tsId); } catch (e) {} }, 2000 * tsResets);\n  }\n  function retryTurnstile() {\n    if (tsTries >= 4) return;\n    clearTimeout(tsTimer);\n    tsTimer = setTimeout(loadTurnstile, 1500 * tsTries);\n  }\n  \/\/ Another plugin on the site also loads api.js. Loading a second copy\n  \/\/ triggers \"Turnstile already has been loaded\" and the two can race, so\n  \/\/ if a copy is already on the page, wait for it instead of adding ours.\n  var tsWaited = 0;\n  function otherCopy() {\n    var list = document.querySelectorAll('script[src*=\"challenges.cloudflare.com\/turnstile\"]');\n    for (var i = 0; i < list.length; i++) { if (!list[i].hasAttribute('data-pwb-turnstile')) return true; }\n    return false;\n  }\n  function loadTurnstile() {\n    if (!tsEl) return;\n    if (window.turnstile) { renderTurnstile(); return; }\n    if (otherCopy() && tsWaited < 40) {          \/\/ up to 10s, in 250ms steps\n      tsWaited++;\n      clearTimeout(tsTimer);\n      tsTimer = setTimeout(loadTurnstile, 250);\n      return;\n    }\n    tsTries++;\n    var old = document.querySelector('script[data-pwb-turnstile]');\n    if (old) old.parentNode.removeChild(old);\n    var sc = document.createElement('script');\n    sc.src = TS_SRC;\n    sc.async = true;\n    sc.setAttribute('data-cfasync', 'false');   \/\/ keep Cloudflare Rocket Loader off it\n    sc.setAttribute('data-pwb-turnstile', '');\n    sc.onload = function () { window.turnstile ? renderTurnstile() : retryTurnstile(); };\n    sc.onerror = retryTurnstile;\n    document.head.appendChild(sc);\n    \/\/ Watchdog: a script that neither loads nor errors (held back by a\n    \/\/ \"delay JS\" setting, or a stalled request) gets another attempt.\n    setTimeout(function () { if (tsId === null && !window.turnstile) retryTurnstile(); }, 8000);\n  }\n  \/\/ Tokens are single-use and expire after five minutes, so a failed or\n  \/\/ abandoned session needs a fresh challenge before a retry.\n  function turnstileToken() {\n    if (tsId !== null && window.turnstile) {\n      try { return window.turnstile.getResponse(tsId) || ''; } catch (e) {}\n    }\n    var input = tsEl && tsEl.querySelector('[name=\"cf-turnstile-response\"]');\n    return input ? input.value : '';\n  }\n  function resetTurnstile() {\n    if (tsId === null || !window.turnstile) return;\n    try { window.turnstile.reset(tsId); } catch (e) {}\n  }\n  loadTurnstile();\n\n  function setLoading(loading) {\n    proceedBtn.disabled = loading;\n    proceedBtn.textContent = loading\n      ? t(proceedBtn, 'data-wait', 'Please wait\u2026')\n      : t(proceedBtn, 'data-idle', 'Proceed to payment');\n  }\n\n  function clearGiftAidValidation() {\n    ['dw-ga-name', 'dw-ga-address', 'dw-ga-postcode'].forEach(function (id) {\n      var el = document.getElementById(id);\n      if (el) el.classList.remove('invalid');\n    });\n  }\n\n  function isValidPostcode(pc) {\n    return \/^[A-Z]{1,2}\\d[A-Z\\d]?\\s?\\d[A-Z]{2}$\/i.test(pc.trim());\n  }\n\n  \/\/ \u2500\u2500 Validation \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  function validate() {\n    hideError();\n    clearGiftAidValidation();\n\n    if (!selectedAmount || selectedAmount < 100) {\n      showError(t(widget, 'data-err-min', 'Please enter a donation amount of at least \u00a31.'));\n      return false;\n    }\n\n    if (giftAidCheck.checked) {\n      var name     = document.getElementById('dw-ga-name').value.trim();\n      var address  = document.getElementById('dw-ga-address').value.trim();\n      var postcode = document.getElementById('dw-ga-postcode').value.trim();\n      var valid    = true;\n\n      if (!name) {\n        document.getElementById('dw-ga-name').classList.add('invalid');\n        valid = false;\n      }\n      if (!address) {\n        document.getElementById('dw-ga-address').classList.add('invalid');\n        valid = false;\n      }\n      if (!postcode || !isValidPostcode(postcode)) {\n        document.getElementById('dw-ga-postcode').classList.add('invalid');\n        valid = false;\n      }\n      if (!valid) {\n        showError(t(widget, 'data-err-ga', 'Please complete all Gift Aid fields with valid information.'));\n        return false;\n      }\n    }\n\n    if (!turnstileToken()) {\n      if (tsId === null) {\n        tsTries = 0; loadTurnstile();\n        showError(t(widget, 'data-err-captcha-load', 'The security check did not load. Please wait a moment and try again, or refresh the page.'));\n      } else {\n        showError(t(widget, 'data-err-captcha', 'Please complete the security check above. If it has not appeared, refresh the page and try again.'));\n      }\n      return false;\n    }\n\n    return true;\n  }\n\n  \/\/ \u2500\u2500 Proceed to Stripe \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  proceedBtn.addEventListener('click', async function () {\n    if (!validate()) return;\n\n    setLoading(true);\n\n    var giftAidData = { opted_in: false };\n    if (giftAidCheck.checked) {\n      giftAidData = {\n        opted_in: true,\n        name:     document.getElementById('dw-ga-name').value.trim(),\n        address:  document.getElementById('dw-ga-address').value.trim(),\n        postcode: document.getElementById('dw-ga-postcode').value.trim().toUpperCase(),\n      };\n    }\n\n    try {\n      \/\/ 1. Create Stripe session via WordPress REST API\n      var response = await fetch(API_BASE + '\/create-session', {\n        method:  'POST',\n        headers: { 'Content-Type': 'application\/json' },\n        body: JSON.stringify({\n          mode:     selectedMode,\n          amount:   selectedAmount,\n          gift_aid: giftAidData,\n          turnstile_token: turnstileToken()\n        }),\n      });\n\n      var data = await response.json();\n\n      if (data.error || !data.clientSecret) {\n        throw new Error(data.error || t(widget, 'data-err-generic', 'Something went wrong. Please try again.'));\n      }\n\n      \/\/ 2. Show checkout step\n      formStep.style.display     = 'none';\n      checkoutStep.style.display = 'block';\n      checkoutStep.classList.add('visible');\n\n      \/\/ 3. Mount Stripe Embedded Checkout\n      var stripe = Stripe(STRIPE_PUBLISHABLE_KEY);\n\n      checkoutInstance = await stripe.initEmbeddedCheckout({\n        fetchClientSecret: function () {\n          return Promise.resolve(data.clientSecret);\n        },\n      });\n\n      loadingEl.style.display = 'none';\n      checkoutInstance.mount('#dw-checkout');\n\n    } catch (err) {\n      resetTurnstile();\n      setLoading(false);\n      showError(err.message || t(widget, 'data-err-generic', 'Something went wrong. Please try again.'));\n      formStep.style.display     = 'block';\n      checkoutStep.style.display = 'none';\n    }\n  });\n\n  \/\/ \u2500\u2500 Back button \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n  backBtn.addEventListener('click', function () {\n    if (checkoutInstance) {\n      checkoutInstance.destroy();\n      checkoutInstance = null;\n    }\n    document.getElementById('dw-checkout').innerHTML = '';\n    loadingEl.style.display    = 'flex';\n    checkoutStep.style.display = 'none';\n    checkoutStep.classList.remove('visible');\n    formStep.style.display = 'block';\n    setLoading(false);\n    hideError();\n    resetTurnstile();\n  });\n\n})();\n<\/script>\n\n<script>\n(function () {\n  \"use strict\";\n\n  \/* ------------------------------------------------------------------------\n     FRENCH DICTIONARY \u2014 edit French copy here and nowhere else.\n     Keys match the data-i18n attributes in the markup above. Provider names\n     (PayPal, GoodPAYE, Give as you Live) and \"Gift Aid\" \u2014 a named UK tax\n     scheme with no French equivalent \u2014 carry no key or stay as written.\n     ------------------------------------------------------------------------ *\/\n  var FR = {\n    \"dw-freq-group\": \"Fr&eacute;quence du don\",\n    \"dw-once\": \"Un seul don\",\n    \"dw-monthly\": \"Don mensuel\",\n    \"dw-label-once\": \"Choisissez votre montant\",\n    \"dw-label-monthly\": \"Choisissez votre montant mensuel\",\n    \"dw-custom\": \"Ou saisissez votre propre montant\",\n    \"dw-custom-aria\": \"Montant du don en livres sterling\",\n    \"dw-ga-tagline\": \"Augmentez votre don de 25&nbsp;%, sans frais pour vous\",\n    \"dw-ga-consent\": \"Je suis contribuable au Royaume-Uni et je souhaite que <strong>Professors Without Borders<\/strong> b&eacute;n&eacute;ficie du Gift Aid sur ce don ainsi que sur tous les dons que je pourrais faire &agrave; l&rsquo;avenir ou que j&rsquo;ai faits au cours des 4 derni&egrave;res ann&eacute;es.\",\n    \"dw-ga-declaration\": \"Je comprends que je dois acquitter un montant d&rsquo;imp&ocirc;t sur le revenu et\/ou sur les plus-values au moins &eacute;gal &agrave; l&rsquo;imp&ocirc;t que <strong>Professors Without Borders<\/strong> r&eacute;cup&egrave;re sur mes dons au cours de chaque ann&eacute;e fiscale (actuellement 25 pence pour chaque livre vers&eacute;e). Merci de nous informer si vous ne payez plus suffisamment d&rsquo;imp&ocirc;t ou si vous changez d&rsquo;adresse.\",\n    \"dw-ga-name-l\": \"Nom complet <span aria-hidden=\\\"true\\\">*<\/span>\",\n    \"dw-ga-name-p\": \"Tel qu&rsquo;il appara&icirc;t sur votre d&eacute;claration d&rsquo;imp&ocirc;ts\",\n    \"dw-ga-addr-l\": \"Nom ou num&eacute;ro du domicile <span aria-hidden=\\\"true\\\">*<\/span>\",\n    \"dw-ga-addr-p\": \"ex. 42 ou Rose Cottage\",\n    \"dw-ga-addr-hint\": \"Exig&eacute; par le HMRC pour le Gift Aid.\",\n    \"dw-ga-pc-l\": \"Code postal <span aria-hidden=\\\"true\\\">*<\/span>\",\n    \"dw-ga-pc-p\": \"ex. SW1A 1AA\",\n    \"dw-proceed\": \"Passer au paiement\",\n    \"dw-wait\": \"Veuillez patienter&hellip;\",\n    \"dw-secure\": \"Paiement s&eacute;curis&eacute; via Stripe\",\n    \"dw-methods\": \"Moyens de paiement accept&eacute;s\",\n    \"dw-back\": \"&larr; Retour\",\n    \"dw-loading\": \"Chargement du formulaire de paiement s&eacute;curis&eacute;&hellip;\",\n    \"dw-err-min\": \"Veuillez saisir un montant d&rsquo;au moins 1&nbsp;&pound;.\",\n    \"dw-err-ga\": \"Veuillez compl&eacute;ter tous les champs Gift Aid avec des informations valides.\",\n    \"dw-err-generic\": \"Une erreur est survenue. Veuillez r&eacute;essayer.\",\n    \"dw-err-captcha\": \"Veuillez effectuer la v&eacute;rification de s&eacute;curit&eacute; ci-dessus. Si elle ne s&rsquo;affiche pas, actualisez la page et r&eacute;essayez.\",\n    \"dw-err-captcha-load\": \"La v&eacute;rification de s&eacute;curit&eacute; ne s&rsquo;est pas charg&eacute;e. Patientez un instant puis r&eacute;essayez, ou actualisez la page.\",\n    \"why-title\": \"Votre don permet &agrave; chaque programme de rester gratuit\",\n    \"why-p1\": \"En faisant un don &agrave; Professors Without Borders, vous contribuez &agrave; rendre une &eacute;ducation de qualit&eacute; accessible &agrave; tous et vous donnez aux &eacute;tudiants des pays en d&eacute;veloppement les moyens d&rsquo;agir positivement dans leurs communaut&eacute;s.\",\n    \"why-p2\": \"Tous nos programmes et &eacute;v&eacute;nements sont propos&eacute;s gratuitement, ce qui n&rsquo;est possible que gr&acirc;ce &agrave; nos donateurs. Votre don est ce qui nous permet de continuer &agrave; porter une &eacute;ducation de qualit&eacute; l&agrave; o&ugrave; elle est la plus n&eacute;cessaire.\",\n\n    \"ga-eyebrow\": \"Contribuables britanniques\",\n    \"ga-title\": \"Le Gift Aid ajoute un quart de votre don, sans rien vous co&ucirc;ter\",\n    \"ga-p\": \"Si vous payez des imp&ocirc;ts au Royaume-Uni, cocher la case Gift Aid sur le formulaire de don nous permet de r&eacute;cup&eacute;rer environ 25 pence pour chaque livre vers&eacute;e. Cela ne vous co&ucirc;te pas un centime de plus.\",\n    \"ga-boost\": \"Sur votre don\",\n\n    \"amt-title\": \"Comment nous utilisons votre don\",\n    \"amt-lede\": \"95&nbsp;% de nos d&eacute;penses sont consacr&eacute;es &agrave; nos activit&eacute;s caritatives.\",\n    \"amt-note\": \"Selon nos comptes de l&rsquo;exercice 2025.\",\n    \"tier-1\": \"Couvre le co&ucirc;t moyen de la participation d&rsquo;un &eacute;tudiant &agrave; l&rsquo;un de nos programmes.\",\n    \"tier-2\": \"Couvre les frais locaux de l&rsquo;un de nos professeurs pendant qu&rsquo;il enseigne &agrave; l&rsquo;&eacute;tranger.\",\n    \"tier-3\": \"Couvre deux semaines d&rsquo;enseignement &agrave; l&rsquo;&eacute;tranger pour un professeur, vols, h&eacute;bergement, visa et assurance compris.\",\n    \"tier-4\": \"Couvre un programme complet&nbsp;: voyage et h&eacute;bergement de nos professeurs, ainsi que tout le mat&eacute;riel p&eacute;dagogique.\",\n\n    \"ways-title\": \"Autres fa&ccedil;ons de donner\",\n    \"way-1-tag\": \"Ponctuel ou r&eacute;current\",\n    \"way-1-title\": \"PayPal\",\n    \"way-1-p\": \"Si votre carte ou votre moyen de paiement n&rsquo;est pas accept&eacute; par le formulaire ci-dessus, ou si vous pr&eacute;f&eacute;rez donner depuis un solde PayPal plut&ocirc;t que par carte. Vous pouvez choisir un don ponctuel ou un don mensuel r&eacute;current.\",\n    \"way-1-cta\": \"Donner via PayPal\",\n\n    \"way-2-tag\": \"Le plus avantageux pour nous\",\n    \"way-2-title\": \"Don sur salaire\",\n    \"way-2-p\": \"Votre don est pr&eacute;lev&eacute; directement sur votre salaire avant imp&ocirc;t&nbsp;: il vous co&ucirc;te donc moins qu&rsquo;il ne nous rapporte. Nous nous sommes associ&eacute;s &agrave; GoodPAYE, un prestataire d&eacute;tenu par des associations, pour simplifier la d&eacute;marche aux salari&eacute;s britanniques.\",\n    \"way-2-example\": \"Donnez <b>10&nbsp;&pound;<\/b> par mois au taux d&rsquo;imposition de 20&nbsp;% et votre salaire net ne diminue que de <b>8&nbsp;&pound;<\/b>.\",\n    \"way-2-b1\": \"Automatique une fois mis en place\",\n    \"way-2-b2\": \"Exon&eacute;r&eacute; d&rsquo;imp&ocirc;t&nbsp;: nous recevons davantage sans co&ucirc;t suppl&eacute;mentaire pour vous\",\n    \"way-2-b3\": \"Nous conservons 100&nbsp;% de votre don\",\n    \"way-2-note\": \"Nous devons d&rsquo;abord v&eacute;rifier que votre employeur dispose d&rsquo;un dispositif de don sur salaire, mais d&egrave;s l&rsquo;envoi de votre formulaire, GoodPAYE engage cette d&eacute;marche pour vous.\",\n    \"way-2-cta\": \"Donner sur salaire\",\n\n    \"way-3-tag\": \"Ne vous co&ucirc;te rien\",\n    \"way-3-title\": \"Faites vos achats en ligne et collectez des fonds\",\n    \"way-3-p\": \"Inscrivez-vous sur Give as you Live et choisissez-nous comme association b&eacute;n&eacute;ficiaire. Lorsque vous faites vos achats en ligne dans des milliers d&rsquo;enseignes, un pourcentage de vos d&eacute;penses nous est vers&eacute;, sans co&ucirc;t suppl&eacute;mentaire pour vous.\",\n    \"way-3-cta\": \"S&rsquo;inscrire &agrave; Give as you Live\"\n  };\n\n  var roots = document.querySelectorAll(\".pwb-give\");\n  if (!roots.length) { return; }\n\n  var reduceMotion = window.matchMedia\n    && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n\n  function pwbGiveDetectLang() {\n    var p = window.location.pathname.toLowerCase();\n    if (\/(^|\\\/)fr(-[a-z]{2})?(\\\/|$)\/.test(p)) { return \"fr\"; }\n    var hl = (document.documentElement.getAttribute(\"lang\") || \"\").toLowerCase();\n    if (hl.indexOf(\"fr\") === 0) { return \"fr\"; }\n    return \"en\";\n  }\n\n  \/* Element-keyed caches, so nothing writes a named property onto a DOM node\n     that the theme or another widget could also read or clobber. Text and\n     attributes are cached separately \u2014 one shared cache writes a visible\n     label into an attribute, which is a bug that has shipped before. *\/\n  var textCache = new WeakMap();\n  var attrCache = new WeakMap();\n\n  var appliers = [];\n\n  Array.prototype.forEach.call(roots, function (root) {\n    if (root.getAttribute(\"data-pwb-ready\") === \"1\") { return; }\n    root.setAttribute(\"data-pwb-ready\", \"1\");\n    root.classList.add(\"pwb-give--js\");\n\n    function applyLang(lang) {\n      var isFR = lang === \"fr\";\n\n      \/* innerHTML rather than textContent \u2014 the payroll example carries <b>\n         emphasis, and this is what lets the French value keep it. Authored\n         copy only. Never nest a key inside a keyed element: the parent's\n         write destroys the child. *\/\n      root.querySelectorAll(\"[data-i18n]\").forEach(function (el) {\n        if (!textCache.has(el)) { textCache.set(el, el.innerHTML); }\n        var k = el.getAttribute(\"data-i18n\");\n        el.innerHTML = (isFR && Object.prototype.hasOwnProperty.call(FR, k))\n          ? FR[k] : textCache.get(el);\n      });\n\n      root.querySelectorAll(\"[data-i18n-attr]\").forEach(function (el) {\n        if (!attrCache.has(el)) { attrCache.set(el, {}); }\n        var cache = attrCache.get(el);\n        el.getAttribute(\"data-i18n-attr\").split(\/[;,]\/).forEach(function (pair) {\n          var bits = pair.split(\":\");\n          if (bits.length < 2) { return; }\n          var attr = bits[0].trim(), k = bits[1].trim();\n          if (cache[attr] === undefined) { cache[attr] = el.getAttribute(attr); }\n          if (isFR && Object.prototype.hasOwnProperty.call(FR, k)) {\n            \/* An attribute is not parsed as HTML, so entity-encoded French\n               would otherwise be announced literally by a screen reader.\n               textarea content is parsed as character data, so nothing runs. *\/\n            var tmp = document.createElement(\"textarea\");\n            tmp.innerHTML = FR[k];\n            el.setAttribute(attr, tmp.value);\n          } else {\n            el.setAttribute(attr, cache[attr]);\n          }\n        });\n      });\n\n      \/* Buttons whose visible label the form script writes from data-idle:\n         copy the freshly translated attribute into the label now, otherwise\n         the French page shows the English markup text until first use. *\/\n      root.querySelectorAll(\"button[data-idle]\").forEach(function (el) {\n        if (!el.disabled) { el.textContent = el.getAttribute(\"data-idle\"); }\n      });\n\n      root.querySelectorAll(\"[data-href-fr]\").forEach(function (el) {\n        if (!attrCache.has(el)) { attrCache.set(el, {}); }\n        var cache = attrCache.get(el);\n        if (cache.href === undefined) { cache.href = el.getAttribute(\"href\"); }\n        el.setAttribute(\"href\", isFR ? el.getAttribute(\"data-href-fr\") : cache.href);\n      });\n\n      root.setAttribute(\"data-pwb-lang\", lang);\n      root.setAttribute(\"lang\", lang);\n    }\n\n    var revealables = root.querySelectorAll(\"[data-reveal]\");\n\n    function revealAll() {\n      Array.prototype.forEach.call(revealables, function (el) { el.classList.add(\"is-in\"); });\n    }\n\n    applyLang(pwbGiveDetectLang());\n    appliers.push(applyLang);\n\n    if (reduceMotion || !(\"IntersectionObserver\" in window)) {\n      revealAll();\n      return;\n    }\n\n    var observer = new IntersectionObserver(function (entries) {\n      entries.forEach(function (entry) {\n        if (!entry.isIntersecting) { return; }\n        entry.target.classList.add(\"is-in\");\n        observer.unobserve(entry.target);\n      });\n    }, { rootMargin: \"0px 0px -6% 0px\", threshold: 0.05 });\n\n    Array.prototype.forEach.call(revealables, function (el) { observer.observe(el); });\n\n    \/* Failsafe \u2014 content must never depend on JS to become visible.\n       IntersectionObserver can be throttled or never fire at all inside a\n       transformed or hidden ancestor (Elementor applies a transform to an\n       animated widget). If anything is still un-revealed shortly after load,\n       show it unconditionally. *\/\n    window.setTimeout(function () {\n      if (!root.querySelector(\"[data-reveal]:not(.is-in)\")) { return; }\n      revealAll();\n    }, 2500);\n  });\n\n  window.pwbGiveSetLang = function (l) {\n    var lang = (l === \"fr\") ? \"fr\" : \"en\";\n    appliers.forEach(function (apply) { apply(lang); });\n  };\n\n  window.addEventListener(\"popstate\", function () {\n    var lang = pwbGiveDetectLang();\n    appliers.forEach(function (apply) { apply(lang); });\n  });\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Your donation keeps every programme free By donating to Professors Without Borders you help make quality education accessible to all, and give students in developing countries the means to create positive change in their communities. All of our programmes and events are delivered free of charge, and that is only possible because of our donors. [&hellip;]<\/p>\n","protected":false},"author":20,"featured_media":14448,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-36530","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Donate to Professors Without Borders | Gift Aid<\/title>\n<meta name=\"description\" content=\"Your donation keeps every programme free and takes quality education where it is needed most. UK taxpayers can add 25% through Gift Aid at no extra cost.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prowibo.org\/fr\/donate\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Donate to Professors Without Borders | Gift Aid\" \/>\n<meta property=\"og:description\" content=\"Your donation keeps every programme free and takes quality education where it is needed most. UK taxpayers can add 25% through Gift Aid at no extra cost.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prowibo.org\/fr\/donate\/\" \/>\n<meta property=\"og:site_name\" content=\"Professors Without Borders\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-28T17:36:34+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/prowibo.org\/wp-content\/uploads\/2023\/03\/Kenya_2022_1788x1000.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1778\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/prowibo.org\\\/donate\\\/\",\"url\":\"https:\\\/\\\/prowibo.org\\\/donate\\\/\",\"name\":\"Donate to Professors Without Borders | Gift Aid\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/prowibo.org\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/prowibo.org\\\/donate\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/prowibo.org\\\/donate\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/prowibo.org\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Kenya_2022_1788x1000.webp\",\"datePublished\":\"2026-10-27T20:03:30+00:00\",\"dateModified\":\"2026-10-28T17:36:34+00:00\",\"description\":\"Your donation keeps every programme free and takes quality education where it is needed most. UK taxpayers can add 25% through Gift Aid at no extra cost.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/prowibo.org\\\/donate\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/prowibo.org\\\/donate\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/prowibo.org\\\/donate\\\/#primaryimage\",\"url\":\"https:\\\/\\\/prowibo.org\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Kenya_2022_1788x1000.webp\",\"contentUrl\":\"https:\\\/\\\/prowibo.org\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Kenya_2022_1788x1000.webp\",\"width\":1778,\"height\":1000,\"caption\":\"A group of female Kenyan students sitting outside. They all look to the left towards a presentation being given out of shot.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/prowibo.org\\\/donate\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/prowibo.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Donate\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/prowibo.org\\\/#website\",\"url\":\"https:\\\/\\\/prowibo.org\\\/\",\"name\":\"Professors Without Borders\",\"description\":\"Educate, Inspire, Empower\",\"publisher\":{\"@id\":\"https:\\\/\\\/prowibo.org\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/prowibo.org\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/prowibo.org\\\/#organization\",\"name\":\"Professors Without Borders\",\"url\":\"https:\\\/\\\/prowibo.org\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/prowibo.org\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/prowibo.org\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/cropped-Prowibo_logo.png\",\"contentUrl\":\"https:\\\/\\\/prowibo.org\\\/wp-content\\\/uploads\\\/2023\\\/02\\\/cropped-Prowibo_logo.png\",\"width\":1957,\"height\":863,\"caption\":\"Professors Without Borders\"},\"image\":{\"@id\":\"https:\\\/\\\/prowibo.org\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Donate to Professors Without Borders | Gift Aid","description":"Your donation keeps every programme free and takes quality education where it is needed most. UK taxpayers can add 25% through Gift Aid at no extra cost.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prowibo.org\/fr\/donate\/","og_locale":"fr_FR","og_type":"article","og_title":"Donate to Professors Without Borders | Gift Aid","og_description":"Your donation keeps every programme free and takes quality education where it is needed most. UK taxpayers can add 25% through Gift Aid at no extra cost.","og_url":"https:\/\/prowibo.org\/fr\/donate\/","og_site_name":"Professors Without Borders","article_modified_time":"2026-10-28T17:36:34+00:00","og_image":[{"width":1778,"height":1000,"url":"http:\/\/prowibo.org\/wp-content\/uploads\/2023\/03\/Kenya_2022_1788x1000.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/prowibo.org\/donate\/","url":"https:\/\/prowibo.org\/donate\/","name":"Donate to Professors Without Borders | Gift Aid","isPartOf":{"@id":"https:\/\/prowibo.org\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prowibo.org\/donate\/#primaryimage"},"image":{"@id":"https:\/\/prowibo.org\/donate\/#primaryimage"},"thumbnailUrl":"https:\/\/prowibo.org\/wp-content\/uploads\/2023\/03\/Kenya_2022_1788x1000.webp","datePublished":"2026-10-27T20:03:30+00:00","dateModified":"2026-10-28T17:36:34+00:00","description":"Your donation keeps every programme free and takes quality education where it is needed most. UK taxpayers can add 25% through Gift Aid at no extra cost.","breadcrumb":{"@id":"https:\/\/prowibo.org\/donate\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prowibo.org\/donate\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/prowibo.org\/donate\/#primaryimage","url":"https:\/\/prowibo.org\/wp-content\/uploads\/2023\/03\/Kenya_2022_1788x1000.webp","contentUrl":"https:\/\/prowibo.org\/wp-content\/uploads\/2023\/03\/Kenya_2022_1788x1000.webp","width":1778,"height":1000,"caption":"A group of female Kenyan students sitting outside. They all look to the left towards a presentation being given out of shot."},{"@type":"BreadcrumbList","@id":"https:\/\/prowibo.org\/donate\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/prowibo.org\/"},{"@type":"ListItem","position":2,"name":"Donate"}]},{"@type":"WebSite","@id":"https:\/\/prowibo.org\/#website","url":"https:\/\/prowibo.org\/","name":"Professors Without Borders","description":"Educate, Inspire, Empower","publisher":{"@id":"https:\/\/prowibo.org\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/prowibo.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/prowibo.org\/#organization","name":"Professors Without Borders","url":"https:\/\/prowibo.org\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/prowibo.org\/#\/schema\/logo\/image\/","url":"https:\/\/prowibo.org\/wp-content\/uploads\/2023\/02\/cropped-Prowibo_logo.png","contentUrl":"https:\/\/prowibo.org\/wp-content\/uploads\/2023\/02\/cropped-Prowibo_logo.png","width":1957,"height":863,"caption":"Professors Without Borders"},"image":{"@id":"https:\/\/prowibo.org\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/prowibo.org\/fr\/wp-json\/wp\/v2\/pages\/36530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prowibo.org\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/prowibo.org\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/prowibo.org\/fr\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/prowibo.org\/fr\/wp-json\/wp\/v2\/comments?post=36530"}],"version-history":[{"count":17,"href":"https:\/\/prowibo.org\/fr\/wp-json\/wp\/v2\/pages\/36530\/revisions"}],"predecessor-version":[{"id":36616,"href":"https:\/\/prowibo.org\/fr\/wp-json\/wp\/v2\/pages\/36530\/revisions\/36616"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prowibo.org\/fr\/wp-json\/wp\/v2\/media\/14448"}],"wp:attachment":[{"href":"https:\/\/prowibo.org\/fr\/wp-json\/wp\/v2\/media?parent=36530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}