{"title":"Ukraine in Crisis","description":"\u003c!-- ============================================================\n     UKRAINE FACING DEVASTATING WINTER — self-contained HTML block for a Shopify\n     COLLECTION DESCRIPTION (also works in a Page body).\n     Paste the ENTIRE contents of this file into the description editor's HTML view\n     ( the \"\u003c\u003e\" button ) and save WITHOUT switching back to the visual editor,\n     which strips scripts. No Liquid, no theme files, no app required.\n     On a collection page it hides the theme's own collection title and the\n     description's top\/bottom margins, so the banner sits right under the header,\n     and hides the theme's own product grid section (CFG.hideThemeGrid).\n\n     HOW IT WORKS\n     - On the live site the page reads the collection named in CFG.collection\n       (\/collections\/\u003chandle\u003e\/products.json) and renders every product in the\n       collection's own order. Re-sort, add or remove products in the\n       collection and the page follows — no re-paste needed.\n     - Two card types, picked automatically per product:\n         DONATION  every variant is a \"$N Level\" or \"Custom\" -\u003e amount buttons,\n                   a \"Your amount\" field for Custom, and a Donate button.\n                   Custom is priced at $1, so $N is added as quantity N\n                   (same as the product page).\n         PRODUCT   anything else (e.g. the blankets) -\u003e a button per option,\n                   live price, quantity stepper, Add to cart.\n     - The two-sentence description for each product lives in CFG.blurbs,\n       keyed by product handle. A product with no entry still renders, just\n       without the description (and logs a console warning).\n     - CFG.snapshot is a copy of the collection taken when this file was built.\n       It's only used when the live read fails, or off-Shopify for previewing.\n\n     EDIT ONLY THE CONFIG BLOCK MARKED \"★ CONFIG ★\" BELOW.\n     ============================================================ --\u003e\n\n\u003cdiv id=\"uk-root\" class=\"uk-root\"\u003e\n\n  \u003cheader class=\"uk-banner uk-bleed\"\u003e\n    \u003cdiv class=\"uk-banner-in\"\u003e\n      \u003cdiv class=\"uk-head\"\u003e\n        \u003cp class=\"uk-eyebrow\" id=\"uk-eyebrow\"\u003e\u003c\/p\u003e\n        \u003ch1 class=\"uk-title\" id=\"uk-title\"\u003e\u003c\/h1\u003e\n      \u003c\/div\u003e\n      \u003cp class=\"uk-copy\" id=\"uk-copy\"\u003e\u003c\/p\u003e\n    \u003c\/div\u003e\n    \u003cdiv class=\"uk-flag\" aria-hidden=\"true\"\u003e\n\u003ci\u003e\u003c\/i\u003e\u003ci\u003e\u003c\/i\u003e\n\u003c\/div\u003e\n  \u003c\/header\u003e\n\n  \u003cdiv class=\"uk-wrap\"\u003e\n    \u003cdiv class=\"uk-grid\" id=\"uk-grid\"\u003e\n      \u003cdiv class=\"uk-sk\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"uk-sk\"\u003e\u003c\/div\u003e\n      \u003cdiv class=\"uk-sk\"\u003e\u003c\/div\u003e\n    \u003c\/div\u003e\n    \u003cp class=\"uk-empty\" id=\"uk-empty\" hidden\u003e\u003c\/p\u003e\n  \u003c\/div\u003e\n\n  \u003cdiv class=\"uk-toast\" id=\"uk-toast\" role=\"status\" aria-live=\"polite\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cstyle\u003e\n\/* collection page: hide the theme's title before the script runs (script does the same) *\/\n.collection-hero:has(#uk-root) .collection-hero__title { display: none !important; }\n.collection-hero__description:has(#uk-root) { margin-top: 0 !important; margin-bottom: 0 !important; }\n\/* collection page: hide the theme's own product grid, since the cards above replace it *\/\nbody:has(#uk-root) .shopify-section[id$=\"__product-grid\"] { display: none !important; }\n\n\/* ---------- scoped reset ----------\n   :where() keeps these at zero specificity so they never beat component rules. *\/\n.uk-root, .uk-root *, .uk-root *::before, .uk-root *::after { box-sizing: border-box; }\n.uk-root :where(h1,h2,h3,p) { margin: 0; }\n.uk-root :where(img) { display: block; max-width: 100%; }\n.uk-root :where(button) { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; text-transform: none; }\n.uk-root :where(a) { text-decoration: none; }\n.uk-root [hidden] { display: none !important; }\n\n.uk-root {\n  \/* Store palette (same as Flash Deals \/ Care-A-Thon \/ $3 Deals) for every\n     control; the banner adds a winter-night navy and the Ukrainian flag colours. *\/\n  --uk-purple:      #6D0769;\n  --uk-purple-deep: #4A0447;\n  --uk-purple-dark: #55054F;\n  --uk-night:       #0B2340;\n  --uk-night-2:     #133A66;\n  --uk-flag-blue:   #0057B7;\n  --uk-flag-yellow: #FFD500;\n  --uk-gold:        #D4A333;\n  --uk-ink:   #1A1019;\n  --uk-ink-2: #4A3E48;\n  --uk-ink-3: #6E5F6B;\n  --uk-rule:  rgba(26,16,25,.55);\n  --uk-line:  rgba(26,16,25,.14);\n  --uk-page:  #faf6f9;\n  --uk-bg-2:  #f3eef2;\n  --uk-ok:    #1f6f5c;\n  --uk-err:   #b3261e;\n  --uk-radius: 8px;\n  --uk-btn-radius: 5px;\n  --uk-max: 1180px;\n\n  font-family: Assistant, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n  font-size: 16.9px;\n  color: var(--uk-ink);\n  background: transparent;   \/* sits on the theme's own page colour *\/\n  text-align: left;\n  -webkit-font-smoothing: antialiased;\n}\n.uk-bleed { width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }\n.uk-wrap  { max-width: var(--uk-max); margin: 0 auto; padding: 22px 16px 40px; }\n\n\/* ---------- banner: compact, side by side on desktop (same idea as $3 Deals) ---------- *\/\n.uk-banner {\n  position: relative; overflow: hidden; isolation: isolate; color: #fff;\n  background: radial-gradient(ellipse 120% 140% at 28% 0%, var(--uk-night-2) 0%, #0F2D52 45%, var(--uk-night) 100%);\n}\n\/* falling snow: two tiles at different sizes so the repeat never lines up *\/\n.uk-banner::before {\n  content: \"\"; position: absolute; inset: 0; z-index: 0; pointer-events: none;\n  background-image:\n    url(\"data:image\/svg+xml,\u003csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='300' height='300' viewBox='0 0 300 300'\u003e\u003cg fill='%23FFFFFF'\u003e\u003ccircle cx='20' cy='30' r='1.6' opacity='.55'\/\u003e\u003ccircle cx='95' cy='12' r='1.1' opacity='.4'\/\u003e\u003ccircle cx='160' cy='70' r='2' opacity='.5'\/\u003e\u003ccircle cx='240' cy='25' r='1.3' opacity='.45'\/\u003e\u003ccircle cx='280' cy='110' r='1.8' opacity='.5'\/\u003e\u003ccircle cx='55' cy='130' r='1.2' opacity='.4'\/\u003e\u003ccircle cx='130' cy='175' r='1.6' opacity='.5'\/\u003e\u003ccircle cx='210' cy='160' r='1.1' opacity='.35'\/\u003e\u003ccircle cx='30' cy='230' r='1.9' opacity='.5'\/\u003e\u003ccircle cx='110' cy='265' r='1.2' opacity='.4'\/\u003e\u003ccircle cx='190' cy='240' r='1.5' opacity='.45'\/\u003e\u003ccircle cx='265' cy='280' r='1.3' opacity='.4'\/\u003e\u003c\/g\u003e\u003c\/svg\u003e\"),\n    url(\"data:image\/svg+xml,\u003csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='420' height='420' viewBox='0 0 420 420'\u003e\u003cg stroke='%23CFE3FF' stroke-width='1.4' stroke-linecap='round' fill='none' opacity='.22'\u003e\u003cg transform='translate(70,90)'\u003e\u003cpath d='M0-11V11M-9.5-5.5L9.5 5.5M-9.5 5.5L9.5-5.5M-3-8L0-5L3-8M-3 8L0 5L3 8'\/\u003e\u003c\/g\u003e\u003cg transform='translate(330,60) scale(.75)'\u003e\u003cpath d='M0-11V11M-9.5-5.5L9.5 5.5M-9.5 5.5L9.5-5.5M-3-8L0-5L3-8M-3 8L0 5L3 8'\/\u003e\u003c\/g\u003e\u003cg transform='translate(250,250) scale(1.15)'\u003e\u003cpath d='M0-11V11M-9.5-5.5L9.5 5.5M-9.5 5.5L9.5-5.5M-3-8L0-5L3-8M-3 8L0 5L3 8'\/\u003e\u003c\/g\u003e\u003cg transform='translate(110,350) scale(.85)'\u003e\u003cpath d='M0-11V11M-9.5-5.5L9.5 5.5M-9.5 5.5L9.5-5.5M-3-8L0-5L3-8M-3 8L0 5L3 8'\/\u003e\u003c\/g\u003e\u003cg transform='translate(390,370) scale(.65)'\u003e\u003cpath d='M0-11V11M-9.5-5.5L9.5 5.5M-9.5 5.5L9.5-5.5M-3-8L0-5L3-8M-3 8L0 5L3 8'\/\u003e\u003c\/g\u003e\u003c\/g\u003e\u003c\/svg\u003e\");\n  background-size: 300px 300px, 420px 420px;\n  background-position: 0 0, 140px 60px;\n}\n.uk-banner-in {\n  position: relative; z-index: 1; max-width: 1040px; margin: 0 auto; padding: 16px 16px 17px;\n  display: grid; gap: 7px; text-align: center;\n}\n.uk-eyebrow { font-size: 12.8px; font-weight: 800; letter-spacing: 1.8px; text-transform: uppercase; color: var(--uk-flag-yellow); }\n.uk-title { font-size: clamp(25px, 6.6vw, 40px); line-height: 1.06; font-weight: 800; letter-spacing: -.4px;\n  text-wrap: balance; text-shadow: 0 2px 14px rgba(0,10,30,.45); }\n.uk-copy { max-width: 46em; margin: 0 auto; font-size: 15px; line-height: 1.45; color: rgba(255,255,255,.9); }\n\n\/* flag rule along the bottom edge *\/\n.uk-flag { position: relative; z-index: 1; display: flex; height: 5px; }\n.uk-flag i { flex: 1 1 50%; background: var(--uk-flag-blue); }\n.uk-flag i + i { background: var(--uk-flag-yellow); }\n\n\/* side by side on wide screens so the first row of products sits higher *\/\n@media (min-width: 820px) {\n  .uk-banner-in { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center;\n    column-gap: 30px; padding: 22px 24px 23px; text-align: left; }\n  .uk-head { padding-right: 28px; border-right: 1px solid rgba(255,255,255,.22); }\n  .uk-title { font-size: clamp(30px, 3.5vw, 42px); }\n  .uk-copy { margin: 0; font-size: 16.4px; line-height: 1.5; }\n}\n\n\/* ---------- grid: 1 \/ 2 \/ 3 up ---------- *\/\n.uk-grid { display: grid; gap: 14px; grid-template-columns: 1fr; }\n@media (min-width: 560px) { .uk-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; } }\n@media (min-width: 940px) { .uk-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; } }\n\n.uk-sk { height: 560px; border-radius: var(--uk-radius);\n  background: linear-gradient(100deg,#ece6ea 30%,#f7f2f6 50%,#ece6ea 70%); background-size: 220% 100%; animation: uk-sh 1.3s infinite; }\n@keyframes uk-sh { to { background-position: -220% 0; } }\n.uk-empty { padding: 30px 0; text-align: center; color: var(--uk-ink-2); }\n\n\/* ---------- card ---------- *\/\n.uk-card { position: relative; z-index: 0; display: flex; flex-direction: column; overflow: hidden; background: #fff;\n  border: 1px solid var(--uk-line); border-radius: var(--uk-radius); }\n.uk-media { position: relative; display: block; aspect-ratio: 1 \/ 1; background: var(--uk-bg-2); overflow: hidden; }\n.uk-media img { width: 100%; height: 100%; object-fit: cover; transition: opacity .18s; }\n.uk-media img.is-swap { opacity: .35; }\n\n.uk-body { display: flex; flex-direction: column; gap: 9px; flex: 1 1 auto; padding: 13px 14px 15px; }\n.uk-name { font-size: 19.8px; font-weight: 700; line-height: 1.3; letter-spacing: .1px; }\n.uk-name a { color: inherit; }\n.uk-name a:hover { text-decoration: underline; }\n.uk-blurb { font-size: 15.4px; line-height: 1.48; color: var(--uk-ink-2); }\n.uk-more { align-self: flex-start; font-size: 15px; font-weight: 600;\n  text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }\n.uk-more:hover { text-decoration-thickness: 2px; }\n.uk-price { font-size: 23px; font-weight: 800; line-height: 1.1; color: var(--uk-purple); font-variant-numeric: tabular-nums; }\n\n\/* options + buy row sit at the bottom so every card's button lines up *\/\n.uk-buy { margin-top: auto; padding-top: 4px; display: flex; flex-direction: column; gap: 10px; }\n.uk-lbl { display: block; margin-bottom: 6px; font-size: 13.4px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; color: var(--uk-ink-3); }\n.uk-lbl b { font-weight: 600; letter-spacing: .2px; text-transform: none; color: var(--uk-ink); }\n\n\/* product mode: wrapping pills *\/\n.uk-opts { display: flex; flex-wrap: wrap; gap: 6px; }\n\/* donation mode: an even 4-up amount grid, like Care-A-Thon *\/\n.uk-opts--amt { display: grid; grid-template-columns: repeat(4, 1fr); }\n.uk-opt { min-height: 36px; padding: 5px 11px; border: 1px solid var(--uk-rule); border-radius: 7px; background: #fff;\n  color: var(--uk-ink); font-size: 14.2px; font-weight: 500; line-height: 1.3; letter-spacing: .1px;\n  transition: background .12s, border-color .12s, color .12s; }\n.uk-opts--amt .uk-opt { min-height: 40px; padding: 6px 4px; font-size: 15.2px; font-weight: 600; font-variant-numeric: tabular-nums; }\n.uk-opt:hover:not([aria-pressed=\"true\"]):not([disabled]) { border-color: var(--uk-purple); }\n.uk-opt[aria-pressed=\"true\"] { background: var(--uk-purple); border-color: var(--uk-purple); color: #fff; }\n\n.uk-custom { display: flex; align-items: center; gap: 8px; }\n.uk-custom label { font-size: 14.5px; font-weight: 600; color: var(--uk-ink-2); white-space: nowrap; }\n.uk-custom-field { display: flex; align-items: center; flex: 1 1 auto; height: 42px; padding: 0 10px;\n  border: 1px solid var(--uk-rule); border-radius: 7px; background: #fff; }\n.uk-custom-field span { font-weight: 700; color: var(--uk-ink-2); }\n.uk-custom-field input { flex: 1 1 auto; min-width: 0; height: 100%; border: 0; outline: 0; padding: 0 0 0 4px;\n  background: transparent; font: inherit; font-size: 16.5px; font-weight: 600; color: var(--uk-ink);\n  font-variant-numeric: tabular-nums; -moz-appearance: textfield; }\n.uk-custom-field input::-webkit-outer-spin-button, .uk-custom-field input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }\n.uk-custom-field:focus-within { outline: 2px solid var(--uk-purple); outline-offset: 1px; }\n\n.uk-row { display: flex; gap: 8px; }\n.uk-qty { display: inline-flex; align-items: center; flex: none; height: 46px; border: 1px solid var(--uk-rule); border-radius: var(--uk-btn-radius); background: #fff; }\n.uk-qty button { width: 32px; height: 100%; font-size: 19px; line-height: 1; color: var(--uk-ink); }\n.uk-qty button:disabled { opacity: .3; cursor: default; }\n.uk-qty input { width: 32px; height: 100%; border: 0; padding: 0; text-align: center; background: transparent; color: var(--uk-ink);\n  font: inherit; font-size: 16.5px; font-weight: 600; font-variant-numeric: tabular-nums; -moz-appearance: textfield; }\n.uk-qty input::-webkit-outer-spin-button, .uk-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }\n\n.uk-atc { flex: 1 1 auto; width: 100%; min-height: 46px; border-radius: var(--uk-btn-radius); background: var(--uk-purple); color: #fff;\n  font-size: 17px; font-weight: 700; letter-spacing: .5px; display: flex; align-items: center; justify-content: center;\n  transition: background .14s, transform .06s; }\n.uk-atc:hover:not(:disabled) { background: var(--uk-purple-dark); }\n.uk-atc:active:not(:disabled) { transform: scale(.99); }\n.uk-atc:disabled { background: #e6e1e5; color: var(--uk-ink-3); cursor: not-allowed; }\n.uk-atc.is-busy { pointer-events: none; opacity: .75; }\n.uk-atc.is-done { background: var(--uk-ok); }\n.uk-err { font-size: 14.5px; color: var(--uk-err); }\n\n\/* ---------- toast (used when there's no cart drawer) ---------- *\/\n.uk-toast { position: fixed; left: 50%; bottom: 20px; transform: translate(-50%, 18px); z-index: 9999;\n  max-width: calc(100vw - 32px); padding: 11px 18px; border-radius: var(--uk-btn-radius);\n  background: var(--uk-purple-deep); color: #fff; font-size: 15.4px; text-align: center;\n  opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; box-shadow: 0 10px 34px -10px rgba(26,16,25,.55); }\n.uk-toast.on { opacity: 1; transform: translate(-50%, 0); }\n\n@media (max-width: 559px) {\n  .uk-banner-in { padding: 14px 14px 15px; gap: 6px; }\n  .uk-copy { font-size: 14.6px; line-height: 1.42; }\n  \/* the theme's page-width already adds a side gutter on phones, so drop ours (halves the gap) *\/\n  .uk-wrap { padding-top: 16px; padding-left: 0; padding-right: 0; }\n}\n@media (prefers-reduced-motion: reduce) {\n  .uk-root *, .uk-root *::before { animation: none !important; transition: none !important; }\n}\n\n\/* ---------- last-resort hardening against theme button \/ link \/ heading rules ----------\n   Theme rules scoped to an id (#MainContent, #shopify-section-…) out-specify plain\n   classes, so pin every state here. Keep these rules last. *\/\n#uk-root .uk-banner .uk-title { color: #fff !important; }\n#uk-root .uk-banner .uk-copy { color: rgba(255,255,255,.9) !important; }\n#uk-root .uk-banner .uk-eyebrow { color: var(--uk-flag-yellow) !important; }\n#uk-root .uk-name, #uk-root .uk-name a, #uk-root .uk-name a:visited, #uk-root .uk-name a:hover { color: var(--uk-ink); }\n#uk-root a.uk-more, #uk-root a.uk-more:visited, #uk-root a.uk-more:hover { color: var(--uk-purple) !important; }\n#uk-root .uk-price { color: var(--uk-purple); }\n\n#uk-root .uk-opt, #uk-root .uk-opt:hover, #uk-root .uk-opt:focus { color: var(--uk-ink); background: #fff; opacity: 1; width: auto; letter-spacing: .1px; }\n#uk-root .uk-opt[aria-pressed=\"true\"], #uk-root .uk-opt[aria-pressed=\"true\"]:hover, #uk-root .uk-opt[aria-pressed=\"true\"]:focus\n  { color: #fff; background: var(--uk-purple); border-color: var(--uk-purple); }\n\n#uk-root .uk-qty button, #uk-root .uk-qty button:hover, #uk-root .uk-qty button:focus { color: var(--uk-ink); background: transparent; width: 32px; opacity: 1; }\n#uk-root .uk-qty button:disabled { opacity: .3; }\n\n#uk-root .uk-atc, #uk-root .uk-atc:hover, #uk-root .uk-atc:focus, #uk-root .uk-atc:active\n  { color: #fff !important; opacity: 1; text-decoration: none; }\n#uk-root .uk-atc:hover:not(:disabled), #uk-root .uk-atc:focus:not(:disabled) { background: var(--uk-purple-dark) !important; }\n#uk-root .uk-atc.is-busy { opacity: .75 !important; }\n#uk-root .uk-atc.is-done, #uk-root .uk-atc.is-done:hover { background: var(--uk-ok) !important; }\n#uk-root .uk-atc:disabled, #uk-root .uk-atc:disabled:hover { background: #e6e1e5 !important; color: var(--uk-ink-3) !important; }\n\n#uk-root .uk-opt:focus-visible, #uk-root .uk-atc:focus-visible, #uk-root .uk-qty button:focus-visible,\n#uk-root .uk-name a:focus-visible, #uk-root .uk-more:focus-visible, #uk-root .uk-media:focus-visible\n  { outline: 2px solid var(--uk-purple); outline-offset: 2px; }\n#uk-root .uk-atc:focus-visible { outline-color: var(--uk-gold); }\n\u003c\/style\u003e\n\n\u003cscript\u003e\n(function () {\n  \"use strict\";\n\n  var CDN = \"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/\";   \/\/ snapshot image prefix\n\n  \/* =========================================================================\n     ★ CONFIG ★  — the only part you need to edit.\n     ========================================================================= *\/\n  var CFG = {\n    \/\/ The collection this page is built from. Order on the page = the\n    \/\/ collection's own sort order in Shopify admin.\n    collection: \"ukraine-in-crisis-fundraiser\",\n\n    banner: {\n      eyebrow: \"\",                                   \/\/ e.g. \"Crisis in Ukraine\" (empty = hidden)\n      title:   \"Ukraine Facing Devastating Winter\",\n      copy:    \"In the last few weeks, Russia has bombarded Ukrainian cities and infrastructure with brutal efficiency. Their plan? To cut off 90% of Ukrainian cities’ electricity, heating, and water supplies before winter sets in. It’s a vicious strategy to cause the suffering and deaths of millions of civilians. The people and pets of Ukraine need our aid now, more than ever.\"\n    },\n\n    \/\/ Two sentences per product, keyed by product handle.\n    blurbs: {\n      \"00061-send-blankets-to-the-people-of-ukraine-fundraiser-bb\":\n        \"Attacks on Ukraine’s power grid have left families and their pets without heat as temperatures plunge below zero. Each thick wool blanket, bought from Ukrainian suppliers, can double as a bedroll or emergency coat, or keep a shelter pet warm through the winter.\",\n      \"96167-crisis-in-ukraine-fundraiser-gtgm\":\n        \"Volunteer rescue teams are risking their lives to pull abandoned and injured animals out of the rubble along Ukraine’s shifting frontlines. Your gift helps evacuate them to safety and covers the food and care they need until they find loving homes.\",\n      \"relief-kits-for-families-in-ukraine-fundraiser-gtgm\":\n        \"Constant shelling has shattered windows and cut off supplies for families in Ukraine’s frontline villages, leaving people and pets exposed to the cold. Your gift delivers relief kits, pet food, and temporary windows — just $100 can restore warmth and safety to a damaged home.\",\n      \"349700-protect-hundreds-of-dogs-from-the-horrors-of-war-fundraiser-bb\":\n        \"At her Under the Sun shelter, Krystina cares for more than 250 dogs rescued from war zones and abandoned buildings while fighting a surge in rabies. Your gift sends vaccines, medication, blankets, and straw for kennels directly to her shelter.\",\n      \"96527-ukraine-crisis-feed-pets-in-need-fundraiser-gtgm\":\n        \"A September 29 missile strike on a shelter in the Odesa region killed pets and destroyed the food meant to carry the survivors through winter. Your donation sends nutritious meals to shelters and caretakers feeding Ukraine’s displaced pets, with $25 providing 250 meals.\"\n    },\n\n    \/\/ Removed from the start of product titles on this page only (the products keep their real titles).\n    titleStrip: \/^Crisis in Ukraine:\\s*\/i,\n\n    \/\/ Card image to use instead of the product's featured image, by product handle.\n    imageOverride: {\n      \"00061-send-blankets-to-the-people-of-ukraine-fundraiser-bb\":\n        \"https:\/\/greatergood.com\/cdn\/shop\/files\/Screenshot2024-02-07at9.45.15AM.png?v=1768929575\"\n    },\n\n    \/\/ Collection pages only: hide the theme's collection title (\"Ukraine in Crisis\")\n    \/\/ and the theme's own product grid below this block.\n    hideCollectionTitle: true,\n    hideThemeGrid: true,\n\n    \/\/ On load, scroll just far enough for the site's navs to collapse, so the banner\n    \/\/ sits flush under the slim header (same as the donation-lp pages). Skipped when\n    \/\/ the URL has a #hash, the browser restored a scroll position, or the shopper scrolls.\n    autoScroll: true,\n\n    \/\/ Option names shown above product-mode buttons. Anything not listed shows as-is.\n    optionLabels: { \"Selection\": \"Choose\" },\n\n    learnMoreText: \"Learn more\",\n    donateText:    \"Donate\",\n    addText:       \"Add to cart\",\n    soldOutText:   \"Sold out\",\n\n    \/\/ Donation cards: which amount is pre-selected (falls back to the first amount).\n    defaultAmount: \"$25 Level\",\n    \/\/ Product cards: which option is pre-selected, by product handle (falls back to the first in stock).\n    defaultOption: { \"00061-send-blankets-to-the-people-of-ukraine-fundraiser-bb\": \"Full Sized Blanket\" },\n\n    \/\/ A product is a DONATION card when every variant title matches one of these.\n    amountMatch: \/^\\$[\\d,]+(\\.\\d\\d)?( Level)?$\/i,\n    customMatch: \/custom\/i,\n    stripFromLabel: \/ Level$\/i,        \/\/ \"$25 Level\" -\u003e \"$25\"\n    customMin: 1,\n    customMax: 10000,\n    customDefault: 5,                  \/\/ what the field shows each time Custom is clicked\n\n    maxQty:   10,                      \/\/ product cards\n    afterAdd: \"drawer\",                \/\/ \"drawer\" | \"cart\" | \"toast\"\n\n    \/\/ Copy of the collection at build time (Oct 26, 2026). Fallback only — see header.\n    \/\/ { h:handle, t:title, i:image, o:option name, v:[[variant id, title, price cents, available 1\/0, variant image]] }\n    snapshot: [\n      {h:\"00061-send-blankets-to-the-people-of-ukraine-fundraiser-bb\",t:\"Send Blankets to People \u0026 Pets of Ukraine\",i:\"files\/ukraine-blanket-gtgm-6.png\",o:\"Selection\",v:[\n        [40392118042699,\"Pet Blanket\",800,1,\"files\/Screenshot2024-02-07at9.45.15AM.png\"],\n        [41818933297227,\"5 Pet Blankets\",3000,1,\"files\/GreaterGood-Nina-3.jpg\"],\n        [39983641231435,\"Baby Blanket\",800,1,\"files\/Crop_PHOTO-2023-08-03-22-42-38.jpg\"],\n        [40392117977163,\"Full Sized Blanket\",1500,1,\"products\/0002_UK-Blankets-VER3.jpg\"],\n        [40392118009931,\"2 Full Sized Blankets\",2900,1,\"files\/Ukraine_Blanket_BB_Nov_2024_1.jpg\"],\n        [39886707195979,\"5 Full Sized Blankets\",7100,1,\"files\/GreaterGood-Nina-6.jpg\"],\n        [40392117944395,\"12 Full Sized Blankets\",16000,1,\"files\/ukraine-blankets-1.png\"]]},\n      {h:\"96167-crisis-in-ukraine-fundraiser-gtgm\",t:\"Crisis in Ukraine: Help Evacuate Pets From the Frontlines\",i:\"files\/cfp-lala-12_guards.png\",o:\"Choose Your Donation\",v:[\n        [39691659411531,\"$10 Level\",1000,1],[39691659444299,\"$25 Level\",2500,1],[39691659477067,\"$50 Level\",5000,1],[39691659509835,\"$100 Level\",10000,1],\n        [40409736216651,\"$250 Level\",25000,1],[40409736249419,\"$500 Level\",50000,1],[39691659542603,\"Custom\",100,1]]},\n      {h:\"relief-kits-for-families-in-ukraine-fundraiser-gtgm\",t:\"Crisis in Ukraine: Provide Relief to People and Pets\",i:\"files\/winter-relief-ukraine-3.png\",o:\"Choose Your Donation\",v:[\n        [39897602850891,\"$10 Level\",1000,1],[39897602883659,\"$25 Level\",2500,1],[39897602916427,\"$50 Level\",5000,1],[39897602949195,\"$100 Level\",10000,1],\n        [39900057698379,\"$250 Level\",25000,1],[41012473233483,\"$500 Level\",50000,1],[39897602981963,\"Custom\",100,1]]},\n      {h:\"349700-protect-hundreds-of-dogs-from-the-horrors-of-war-fundraiser-bb\",t:\"Protect Hundreds of Dogs from the Horrors of War\",i:\"files\/hundreds2.jpg\",o:\"Selection\",v:[\n        [41803600330827,\"$25 Level\",2500,1],[41803600363595,\"$50 Level\",5000,1],[41803600396363,\"$100 Level\",10000,1],\n        [41803600429131,\"$250 Level\",25000,1],[41803600461899,\"$500 Level\",50000,1],[41803600265291,\"Custom\",100,1]]},\n      {h:\"96527-ukraine-crisis-feed-pets-in-need-fundraiser-gtgm\",t:\"Crisis in Ukraine: Feed Starving and Abandoned Pets\",i:\"files\/ukrainestrike.jpg\",o:\"Choose Your Donation\",v:[\n        [39727319777355,\"$10 Level\",1000,1],[39727319810123,\"$25 Level\",2500,1],[39727319842891,\"$50 Level\",5000,1],[39727319875659,\"$100 Level\",10000,1],\n        [41188724572235,\"$250 Level\",25000,1],[41188724605003,\"$500 Level\",50000,1],[39727319908427,\"Custom\",100,1]]}\n    ]\n  };\n  \/* ================= END CONFIG — no need to edit past here ================= *\/\n\n  var root = document.getElementById(\"uk-root\");\n  if (!root || root.dataset.ukInit) return;\n  root.dataset.ukInit = \"1\";\n\n  var onShopify = !!window.Shopify;\n  var ROOT_URL = (onShopify \u0026\u0026 window.Shopify.routes \u0026\u0026 window.Shopify.routes.root) ? window.Shopify.routes.root : \"\/\";\n  var BASE = ROOT_URL.replace(\/\\\/$\/, \"\");\n\n  \/* ---------- helpers ---------- *\/\n  function esc(s) { return String(s == null ? \"\" : s).replace(\/[\u0026\u003c\u003e\"]\/g, function (c) { return { \"\u0026\": \"\u0026amp;\", \"\u003c\": \"\u0026lt;\", \"\u003e\": \"\u0026gt;\", '\"': \"\u0026quot;\" }[c]; }); }\n  var decoder = document.createElement(\"textarea\");\n  function decode(s) { decoder.innerHTML = String(s == null ? \"\" : s); return decoder.value; }\n  function abs(url) { return (url \u0026\u0026 url.slice(0, 2) === \"\/\/\") ? \"https:\" + url : url; }\n  function sized(url, w) { url = abs(url); return url ? url + (url.indexOf(\"?\") \u003e -1 ? \"\u0026\" : \"?\") + \"width=\" + w : \"\"; }\n  function srcset(url) { return [320, 420, 560, 760].map(function (w) { return sized(url, w) + \" \" + w + \"w\"; }).join(\", \"); }\n  var SIZES = \"(min-width:1000px) 360px, (min-width:620px) 46vw, 92vw\";\n  function cents(x) { if (x == null || x === \"\") return 0; return typeof x === \"number\" ? x : Math.round(parseFloat(x) * 100); }\n  function money(c) {\n    var cur = (window.Shopify \u0026\u0026 window.Shopify.currency \u0026\u0026 window.Shopify.currency.active) || \"USD\";\n    try { return new Intl.NumberFormat(\"en-US\", { style: \"currency\", currency: cur, minimumFractionDigits: c % 100 ? 2 : 0, maximumFractionDigits: c % 100 ? 2 : 0 }).format(c \/ 100); }\n    catch (e) { return \"$\" + (c \/ 100).toFixed(c % 100 ? 2 : 0); }\n  }\n  function isCustom(v) { return CFG.customMatch.test(v.title || \"\"); }\n  function isAmount(v) { return CFG.amountMatch.test(String(v.title || \"\").trim()) || isCustom(v); }\n  function amtLabel(v) { return String(v.title || \"\").replace(CFG.stripFromLabel, \"\").trim() || money(v.price); }\n\n  \/\/ products.json and the snapshot come back in different shapes; normalise both to\n  \/\/ { handle, title, image, optName, variants:[{id, title, price, available, image}] }\n  function normalise(p) {\n    if (p.h) {\n      return { handle: p.h, title: p.t, image: CDN + p.i, optName: p.o,\n        variants: p.v.map(function (r) { return { id: r[0], title: r[1], price: r[2], available: !!r[3], image: r[4] ? CDN + r[4] : \"\" }; }) };\n    }\n    var img = (p.images \u0026\u0026 p.images[0] \u0026\u0026 (p.images[0].src || p.images[0])) || p.image || \"\";\n    var o = p.options \u0026\u0026 p.options[0];\n    return {\n      handle: p.handle, title: p.title, image: abs(img),\n      optName: (o \u0026\u0026 (o.name || o)) || \"\",\n      variants: (p.variants || []).map(function (v) {\n        return { id: v.id, title: v.title, price: cents(v.price), available: v.available !== false,\n          image: abs(v.featured_image \u0026\u0026 v.featured_image.src) || \"\" };\n      })\n    };\n  }\n\n  \/* ---------- collection page: hide the theme's title, drop the description margins ---------- *\/\n  var hero = root.closest(\".collection-hero\");\n  if (hero \u0026\u0026 CFG.hideCollectionTitle) {\n    var ht = hero.querySelector(\".collection-hero__title\"); if (ht) ht.style.display = \"none\";\n    var hd = root.closest(\".collection-hero__description\"); if (hd) { hd.style.marginTop = \"0\"; hd.style.marginBottom = \"0\"; }\n  }\n  if (hero \u0026\u0026 CFG.hideThemeGrid) {\n    var grids = document.querySelectorAll('.shopify-section[id$=\"__product-grid\"]');\n    for (var g = 0; g \u003c grids.length; g++) grids[g].style.setProperty(\"display\", \"none\", \"important\");\n  }\n\n  \/* ---------- banner ---------- *\/\n  function setText(id, txt) { var el = document.getElementById(id); if (txt) el.textContent = txt; else el.remove(); }\n  setText(\"uk-eyebrow\", CFG.banner.eyebrow);\n  setText(\"uk-title\", CFG.banner.title);\n  setText(\"uk-copy\", CFG.banner.copy);\n\n  \/* ---------- card ---------- *\/\n  var items = [];\n\n  function buildCard(p, i) {\n    var url = BASE + \"\/products\/\" + p.handle;\n    p.title = decode(p.title).replace(CFG.titleStrip, \"\");\n    if (CFG.imageOverride[p.handle]) p.image = CFG.imageOverride[p.handle];\n    var blurb = CFG.blurbs[p.handle];\n    if (!blurb \u0026\u0026 window.console) console.warn(\"[ukraine-winter] no blurb for \" + p.handle);\n\n    \/\/ Sold-out options aren't rendered at all.\n    p.opts = p.variants.filter(function (v) { return v.available; });\n    p.donation = p.opts.length \u003e 0 \u0026\u0026 p.opts.every(isAmount);\n    var multi = p.opts.length \u003e 1 || (p.opts[0] \u0026\u0026 !\/^default title$\/i.test(p.opts[0].title));\n    var label = CFG.optionLabels[p.optName] || p.optName || \"Option\";\n    var cid = \"uk-custom-\" + i;\n\n    var el = document.createElement(\"article\");\n    el.className = \"uk-card\" + (p.donation ? \" uk-card--give\" : \" uk-card--buy\");\n    el.dataset.i = i;\n\n    el.innerHTML =\n      '\u003ca class=\"uk-media\" href=\"' + esc(url) + '\" tabindex=\"-1\" aria-hidden=\"true\"\u003e' +\n        (p.image ? '\u003cimg src=\"' + sized(p.image, 560) + '\" srcset=\"' + srcset(p.image) + '\" sizes=\"' + SIZES +\n          '\" alt=\"\" width=\"560\" height=\"560\" decoding=\"async\"' + (i \u003c 3 ? ' fetchpriority=\"high\"' : ' loading=\"lazy\"') + '\u003e' : '') +\n      '\u003c\/a\u003e' +\n      '\u003cdiv class=\"uk-body\"\u003e' +\n        '\u003ch3 class=\"uk-name\"\u003e\u003ca href=\"' + esc(url) + '\"\u003e' + esc(p.title) + '\u003c\/a\u003e\u003c\/h3\u003e' +\n        (blurb ? '\u003cp class=\"uk-blurb\"\u003e' + esc(blurb) + '\u003c\/p\u003e' : '') +\n        '\u003ca class=\"uk-more\" href=\"' + esc(url) + '\"\u003e' + esc(CFG.learnMoreText) +\n          '\u003cspan style=\"position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)\"\u003e about ' + esc(p.title) + '\u003c\/span\u003e\u003c\/a\u003e' +\n        '\u003cdiv class=\"uk-buy\"\u003e' +\n          (p.donation ?\n            '\u003cdiv class=\"uk-opts uk-opts--amt\" role=\"group\" aria-label=\"Donation amount\"\u003e' +\n              p.opts.map(function (v, vi) { return '\u003cbutton type=\"button\" class=\"uk-opt\" aria-pressed=\"false\" data-act=\"opt\" data-v=\"' + vi + '\"\u003e' + esc(amtLabel(v)) + '\u003c\/button\u003e'; }).join(\"\") +\n            '\u003c\/div\u003e' +\n            (p.opts.some(isCustom) ?\n              '\u003cdiv class=\"uk-custom\" hidden\u003e' +\n                '\u003clabel for=\"' + cid + '\"\u003eYour amount\u003c\/label\u003e' +\n                '\u003cdiv class=\"uk-custom-field\"\u003e\u003cspan aria-hidden=\"true\"\u003e$\u003c\/span\u003e' +\n                  '\u003cinput id=\"' + cid + '\" type=\"number\" inputmode=\"numeric\" min=\"' + CFG.customMin + '\" max=\"' + CFG.customMax + '\" step=\"1\" value=\"' + CFG.customDefault + '\" data-custom\u003e' +\n                '\u003c\/div\u003e' +\n              '\u003c\/div\u003e' : '') +\n            '\u003cbutton type=\"button\" class=\"uk-atc\" data-act=\"add\"\u003e' + esc(CFG.donateText) + '\u003c\/button\u003e'\n          :\n            '\u003cp class=\"uk-price\"\u003e\u003c\/p\u003e' +\n            (multi ?\n              '\u003cdiv\u003e\u003cspan class=\"uk-lbl\"\u003e' + esc(label) + ': \u003cb data-cur\u003e\u003c\/b\u003e\u003c\/span\u003e' +\n              '\u003cdiv class=\"uk-opts\" role=\"group\" aria-label=\"' + esc(label) + '\"\u003e' +\n                p.opts.map(function (v, vi) { return '\u003cbutton type=\"button\" class=\"uk-opt\" aria-pressed=\"false\" data-act=\"opt\" data-v=\"' + vi + '\"\u003e' + esc(v.title) + '\u003c\/button\u003e'; }).join(\"\") +\n              '\u003c\/div\u003e\u003c\/div\u003e' : '') +\n            '\u003cdiv class=\"uk-row\"\u003e' +\n              '\u003cdiv class=\"uk-qty\"\u003e' +\n                '\u003cbutton type=\"button\" data-act=\"minus\" aria-label=\"Decrease quantity\"\u003e−\u003c\/button\u003e' +\n                '\u003cinput type=\"number\" inputmode=\"numeric\" min=\"1\" max=\"' + CFG.maxQty + '\" value=\"1\" aria-label=\"Quantity\" data-qty\u003e' +\n                '\u003cbutton type=\"button\" data-act=\"plus\" aria-label=\"Increase quantity\"\u003e+\u003c\/button\u003e' +\n              '\u003c\/div\u003e' +\n              '\u003cbutton type=\"button\" class=\"uk-atc\" data-act=\"add\"\u003e' + esc(CFG.addText) + '\u003c\/button\u003e' +\n            '\u003c\/div\u003e') +\n          '\u003cp class=\"uk-err\" role=\"alert\" hidden\u003e\u003c\/p\u003e' +\n        '\u003c\/div\u003e' +\n      '\u003c\/div\u003e';\n\n    p.el = el;\n    p.q = {\n      img:    el.querySelector(\".uk-media img\"),\n      price:  el.querySelector(\".uk-price\"),\n      opts:   el.querySelectorAll(\".uk-opt\"),\n      cur:    el.querySelector(\"[data-cur]\"),\n      custom: el.querySelector(\".uk-custom\"),\n      input:  el.querySelector(\"[data-custom]\"),\n      qty:    el.querySelector(\"[data-qty]\"),\n      minus:  el.querySelector('[data-act=\"minus\"]'),\n      plus:   el.querySelector('[data-act=\"plus\"]'),\n      btn:    el.querySelector(\".uk-atc\"),\n      err:    el.querySelector(\".uk-err\")\n    };\n    p.shownImg = p.image;\n\n    var want = p.donation ? CFG.defaultAmount : CFG.defaultOption[p.handle];\n    var start = -1;\n    p.opts.forEach(function (v, vi) { if (start \u003c 0 \u0026\u0026 v.title === want) start = vi; });\n    if (start \u003c 0) p.opts.forEach(function (v, vi) { if (start \u003c 0 \u0026\u0026 !isCustom(v)) start = vi; });\n    if (start \u003c 0) start = 0;\n\n    if (!p.opts.length) {\n      p.q.btn.disabled = true;\n      p.q.btn.textContent = CFG.soldOutText;\n    } else {\n      select(p, start, true);\n    }\n    if (p.q.qty) syncQty(p);\n    return el;\n  }\n\n  function select(p, vi, first) {\n    p.sel = vi;\n    var v = p.opts[vi];\n    for (var k = 0; k \u003c p.q.opts.length; k++) p.q.opts[k].setAttribute(\"aria-pressed\", String(k === vi));\n    if (p.q.cur) p.q.cur.textContent = v.title;\n    if (p.q.price) p.q.price.textContent = money(v.price);\n\n    if (p.q.custom) {\n      var showCustom = isCustom(v);\n      if (showCustom \u0026\u0026 p.q.custom.hidden \u0026\u0026 p.q.input) p.q.input.value = CFG.customDefault;\n      p.q.custom.hidden = !showCustom;\n    }\n\n    \/\/ product cards: the image follows the chosen option\n    var want = v.image || p.image;\n    if (!p.donation \u0026\u0026 !first \u0026\u0026 p.q.img \u0026\u0026 want \u0026\u0026 want !== p.shownImg) {\n      p.shownImg = want;\n      var img = p.q.img;\n      img.classList.add(\"is-swap\");\n      var pre = new Image();\n      pre.onload = pre.onerror = function () { img.srcset = srcset(want); img.src = sized(want, 560); img.classList.remove(\"is-swap\"); };\n      pre.src = sized(want, 560);\n    }\n    setErr(p, \"\");\n    syncLabel(p);\n  }\n\n  function customAmount(p) { var n = parseInt(String(p.q.input ? p.q.input.value : \"\"), 10); return isNaN(n) ? 0 : n; }\n  function syncLabel(p) {\n    var v = p.opts[p.sel]; if (!v) return;\n    if (p.donation) {\n      var amt = isCustom(v) ? customAmount(p) * v.price : v.price;\n      p.q.btn.setAttribute(\"aria-label\", CFG.donateText + (amt \u003e 0 ? \" \" + money(amt) : \"\") + \" to \" + p.title);\n    } else {\n      p.q.btn.setAttribute(\"aria-label\", CFG.addText + \": \" + p.title + \" – \" + v.title);\n    }\n  }\n  function qtyOf(p) { var n = parseInt(p.q.qty.value, 10); return isNaN(n) ? 1 : Math.max(1, Math.min(CFG.maxQty, n)); }\n  function syncQty(p) {\n    var n = qtyOf(p);\n    p.q.qty.value = n;\n    p.q.minus.disabled = n \u003c= 1;\n    p.q.plus.disabled = n \u003e= CFG.maxQty;\n  }\n  function setErr(p, msg) { p.q.err.textContent = msg || \"\"; p.q.err.hidden = !msg; }\n\n  \/* ---------- cart (same approach as Flash Deals \/ Care-A-Thon \/ $3 Deals) ----------\n     Add through \/cart\/add.js and ask for the drawer's sections in the same\n     request, then hand the response to the theme's own renderer so the drawer\n     opens already showing the item. *\/\n  function themeDrawer() { return document.querySelector(\"cart-drawer, cart-notification, #CartDrawer, .drawer--cart\"); }\n  function sectionsToRequest() {\n    var el = themeDrawer();\n    if (el \u0026\u0026 typeof el.getSectionsToRender === \"function\") {\n      try { return el.getSectionsToRender().map(function (x) { return x.id; }).filter(Boolean); } catch (e) {}\n    }\n    return [\"cart-drawer\", \"cart-icon-bubble\"];\n  }\n  function renderCart(json) {\n    var el = themeDrawer();\n    if (!json || !json.sections || !el || typeof el.renderContents !== \"function\") return false;\n    try {\n      el.classList.remove(\"is-empty\");\n      var inner = el.querySelector(\".drawer__inner\"); if (inner) inner.classList.remove(\"is-empty\");\n      el.renderContents(json);\n      return true;\n    } catch (e) { return false; }\n  }\n  function notifyTheme() {\n    try { if (typeof window.publish === \"function\") window.publish(\"cart-update\", { source: \"ukraine-winter\" }); } catch (e) {}\n    [\"cart:refresh\", \"cart:updated\"].forEach(function (n) { document.documentElement.dispatchEvent(new CustomEvent(n, { bubbles: true })); });\n  }\n  var toastT;\n  function toast(msg) {\n    var t = document.getElementById(\"uk-toast\");\n    t.textContent = msg; t.classList.add(\"on\");\n    clearTimeout(toastT); toastT = setTimeout(function () { t.classList.remove(\"on\"); }, 2600);\n  }\n\n  function add(p) {\n    var v = p.opts[p.sel];\n    if (!v || !v.available) return;\n    var qty, what;\n    if (p.donation) {\n      qty = 1;\n      if (isCustom(v)) {\n        qty = customAmount(p);\n        if (qty \u003c CFG.customMin || qty \u003e CFG.customMax) {\n          setErr(p, \"Enter a whole-dollar amount from \" + money(CFG.customMin * 100) + \" to \" + money(CFG.customMax * 100) + \".\");\n          if (p.q.input) p.q.input.focus();\n          return;\n        }\n      }\n      what = money(v.price * qty) + \" gift for \" + p.title;\n    } else {\n      qty = qtyOf(p);\n      what = (qty \u003e 1 ? qty + \" × \" : \"\") + v.title + \" – \" + p.title;\n    }\n    var btn = p.q.btn, label = p.donation ? CFG.donateText : CFG.addText;\n    setErr(p, \"\");\n    btn.classList.add(\"is-busy\"); btn.textContent = \"Adding…\";\n\n    function done(ok, json, msg) {\n      btn.classList.remove(\"is-busy\");\n      if (!ok) { btn.textContent = label; setErr(p, msg || \"This couldn't be added to the cart. Try again.\"); return; }\n      btn.classList.add(\"is-done\"); btn.textContent = \"Added to cart\";\n      setTimeout(function () { btn.classList.remove(\"is-done\"); btn.textContent = label; }, 1800);\n\n      if (CFG.afterAdd === \"cart\") { window.location.href = BASE + \"\/cart\"; return; }\n      var opened = CFG.afterAdd === \"drawer\" \u0026\u0026 renderCart(json);\n      notifyTheme();\n      if (!opened) {\n        if (CFG.afterAdd === \"drawer\" \u0026\u0026 !themeDrawer() \u0026\u0026 onShopify) { window.location.href = BASE + \"\/cart\"; return; }\n        toast(msg || (what + \" added to cart\"));\n      }\n    }\n\n    if (!onShopify) { setTimeout(function () { done(true, null, \"Preview only: \" + what + \" added\"); }, 400); return; }\n\n    var body = { items: [{ id: Number(v.id), quantity: qty }], sections: sectionsToRequest(), sections_url: window.location.pathname };\n    fetch(BASE + \"\/cart\/add.js\", {\n      method: \"POST\",\n      headers: { \"Content-Type\": \"application\/json\", Accept: \"application\/json\" },\n      body: JSON.stringify(body)\n    })\n      .then(function (r) { return r.json().then(function (j) { return { ok: r.ok, j: j }; }); })\n      .then(function (res) {\n        if (res.ok) done(true, res.j);\n        else done(false, null, (res.j \u0026\u0026 (res.j.description || res.j.message)) || \"This couldn't be added to the cart.\");\n      })\n      .catch(function () { done(false); });\n  }\n\n  \/* ---------- one delegated listener for every card ---------- *\/\n  function itemFor(el) { var card = el.closest(\".uk-card\"); return card ? items[+card.dataset.i] : null; }\n  root.addEventListener(\"click\", function (e) {\n    var b = e.target.closest(\"[data-act]\"); if (!b) return;\n    var p = itemFor(b); if (!p) return;\n    var act = b.dataset.act;\n    if (act === \"opt\") {\n      select(p, +b.dataset.v);\n      if (p.q.custom \u0026\u0026 !p.q.custom.hidden \u0026\u0026 p.q.input) p.q.input.focus();\n    } else if (act === \"minus\" || act === \"plus\") {\n      p.q.qty.value = qtyOf(p) + (act === \"plus\" ? 1 : -1);\n      syncQty(p);\n    } else if (act === \"add\") {\n      try { add(p); }\n      catch (err) {\n        p.q.btn.classList.remove(\"is-busy\"); p.q.btn.textContent = p.donation ? CFG.donateText : CFG.addText;\n        setErr(p, \"This couldn't be added to the cart. Try again.\");\n        if (window.console) console.error(\"[ukraine-winter] add failed\", err);\n      }\n    }\n  });\n  root.addEventListener(\"input\", function (e) {\n    if (!e.target.matches(\"[data-custom]\")) return;\n    var p = itemFor(e.target); if (p) { setErr(p, \"\"); syncLabel(p); }\n  });\n  root.addEventListener(\"change\", function (e) {\n    if (!e.target.matches(\"[data-qty]\")) return;\n    var p = itemFor(e.target); if (p) syncQty(p);\n  });\n  root.addEventListener(\"keydown\", function (e) {\n    if (e.key !== \"Enter\" || !e.target.matches(\"[data-custom]\")) return;\n    e.preventDefault();\n    var p = itemFor(e.target); if (p) add(p);\n  });\n\n  \/* ---------- start scrolled past the store's collapsible navs (ported from donation-lp) ----------\n     The theme collapses its navs on a downward scroll of 10px+ past a threshold, but skips a scroll\n     when the page height just changed and re-opens them on any upward scroll of 10px+. So: step\n     down in small increments until the header shrinks, then only ever move down. *\/\n  var scrolled = false, userActed = false, target = -1;\n  \/\/ Stop the browser from restoring the old scroll position when the page finishes loading:\n  \/\/ on a reload it jumps back to the top, and any jump to the top re-opens the navs.\n  if (CFG.autoScroll !== false \u0026\u0026 onShopify \u0026\u0026 !location.hash \u0026\u0026 \"scrollRestoration\" in history) {\n    try { history.scrollRestoration = \"manual\"; } catch (e) {}\n  }\n  \/\/ Only a real shopper gesture counts as \"the shopper scrolled\".\n  [\"wheel\", \"touchstart\", \"keydown\", \"mousedown\"].forEach(function (ev) {\n    window.addEventListener(ev, function () { userActed = true; }, { passive: true, capture: true });\n  });\n  function headerEl() { return document.querySelector('.shopify-section[id$=\"__header\"]') || document.querySelector(\"sticky-header\") || document.querySelector(\"header\"); }\n  function autoScroll() {\n    var hd, h0, n = 0, last = -1, prev = -1, gap;\n    if (scrolled || userActed || CFG.autoScroll === false || !onShopify || location.hash || window.scrollY \u003e 2) return;\n    scrolled = true;\n    hd = headerEl(); if (!hd) return;\n    \/\/ On this template the header scrolls with the page until the navs collapse, so watch the\n    \/\/ header's HEIGHT (it shrinks when the navs collapse), not where its bottom edge sits.\n    h0 = Math.round(hd.getBoundingClientRect().height);\n    function step() {\n      var r = hd.getBoundingClientRect(), hh = Math.round(r.height), hb = Math.round(r.bottom);\n      if (userActed) return;                                                  \/\/ shopper took over: stop\n      if (last \u003e= 0 \u0026\u0026 Math.abs(window.scrollY - last) \u003e 2) { scrolled = false; setTimeout(autoScroll, 300); return; } \/\/ page jumped: start over\n      if (hh \u003e= h0 - 2) {\n        if (++n \u003e 30) return;                                                 \/\/ header never collapsed\n        \/\/ the collection template collapses its navs a little further down (~100px) than a Page does\n        window.scrollTo(0, Math.min(window.scrollY + 12, 240)); last = window.scrollY;\n        setTimeout(step, window.scrollY \u003e= 240 ? 400 : 110); return;\n      }\n      if (hh !== prev) { prev = hh; setTimeout(step, 120); return; }          \/\/ wait for the collapse to settle\n      align();\n      setTimeout(align, 450); setTimeout(align, 1100);                       \/\/ re-check after the nav transition\n    }\n    \/\/ Put the banner flush under the header: move down if there's a gap, or pad the block\n    \/\/ if the banner is tucked under the header (scrolling up would re-open the navs).\n    function align() {\n      if (userActed) return;\n      var hb = Math.max(0, Math.round(hd.getBoundingClientRect().bottom));\n      var anchor = root.querySelector(\".uk-banner\") || root;\n      gap = Math.round(anchor.getBoundingClientRect().top - hb);\n      if (gap \u003e 0) window.scrollTo(0, window.scrollY + gap);\n      else if (gap \u003c 0) root.style.paddingTop = ((parseFloat(root.style.paddingTop) || 0) - gap) + \"px\";\n      last = target = window.scrollY;\n    }\n    step();\n  }\n  \/\/ The padding only exists to hold the banner flush under the collapsed header. The first time\n  \/\/ the shopper scrolls up, take it out (shifting the page by the same amount, so nothing jumps)\n  \/\/ so there's no blank band above the banner when they reach the top.\n  var prevY = 0;\n  window.addEventListener(\"scroll\", function () {\n    var y = window.scrollY, pad = parseFloat(root.style.paddingTop) || 0;\n    if (userActed \u0026\u0026 pad \u003e 0 \u0026\u0026 y \u003c prevY) {\n      root.style.paddingTop = \"\";\n      window.scrollTo(0, Math.max(0, y - pad));\n      y = window.scrollY;\n    }\n    prevY = y;\n  }, { passive: true });\n\n  \/\/ If something other than the shopper throws the page back to the top in the first few\n  \/\/ seconds (late scroll restoration, a theme script), run the scroll again.\n  function guard() {\n    var until = Date.now() + 6000;\n    (function check() {\n      if (userActed || Date.now() \u003e until) return;\n      if (target \u003e 0 \u0026\u0026 window.scrollY \u003c 3) { scrolled = false; target = -1; autoScroll(); }\n      setTimeout(check, 250);\n    })();\n  }\n  \/\/ run once the cards are in, so the page height has stopped changing\n  function afterRender() { setTimeout(autoScroll, 400); guard(); }\n\n  \/* ---------- load: live collection first, snapshot as fallback ---------- *\/\n  function render(list) {\n    items = list.map(normalise).filter(function (p) { return p.variants.some(function (v) { return v.available; }); });\n    var grid = document.getElementById(\"uk-grid\");\n    grid.innerHTML = \"\";\n    var frag = document.createDocumentFragment();\n    items.forEach(function (p, i) { frag.appendChild(buildCard(p, i)); });\n    grid.appendChild(frag);\n    if (!items.length) {\n      var empty = document.getElementById(\"uk-empty\");\n      empty.textContent = \"Nothing is listed in this campaign right now. Check back soon.\";\n      empty.hidden = false;\n    }\n  }\n\n  function loadLive() {\n    var all = [];\n    function page(n) {\n      return fetch(BASE + \"\/collections\/\" + encodeURIComponent(CFG.collection) + \"\/products.json?limit=250\u0026page=\" + n, { headers: { Accept: \"application\/json\" } })\n        .then(function (r) { if (!r.ok) throw new Error(\"HTTP \" + r.status); return r.json(); })\n        .then(function (j) {\n          var got = (j \u0026\u0026 j.products) || [];\n          all = all.concat(got);\n          return got.length === 250 \u0026\u0026 n \u003c 4 ? page(n + 1) : all;\n        });\n    }\n    return page(1);\n  }\n\n  if (onShopify) {\n    loadLive()\n      .then(function (list) { if (!list.length) throw new Error(\"collection returned no products\"); render(list); afterRender(); })\n      .catch(function (err) {\n        if (window.console) console.warn(\"[ukraine-winter] live collection read failed, using snapshot:\", err);\n        render(CFG.snapshot); afterRender();\n      });\n  } else {\n    render(CFG.snapshot);\n  }\n})();\n\u003c\/script\u003e\n","products":[{"product_id":"96167-crisis-in-ukraine-fundraiser-gtgm","title":"Crisis in Ukraine: Help Evacuate Pets From the Frontlines","description":"\u003ch2 style=\"background-color: rgb(241, 241, 241); color: rgb(255, 1, 12); text-align: center; padding-top: 4px; padding-right: 4px; padding-bottom: 4px;\"\u003e\u003cstrong\u003e\u003cspan dir=\"ltr\" class=\"ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak\"\u003e\u003ci\u003eCountless Animals Need Rescuing from Shifting Frontlines\u003c\/i\u003e\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg style=\"margin: 10px 10px 10px 10px; float: left;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Screenshot_2026-04-09_at_11.02.00_AM_480x480.png?v=1775747149\"\u003e\u003c\/div\u003e\n\u003cp style=\"text-align: left;\"\u003eRelentless bombings continue across\u003cstrong\u003e \u003c\/strong\u003eUkraine day and night. Abandoned animals are\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003ecowering in rubble\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003eas\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003emissiles continue to rain down\u003c\/strong\u003e. Critical infrastructures are being targeted and knocking out power and water to civilians.\u003c\/p\u003e\n\u003cp\u003eCalls for help continue to come in to rescue groups who risk their lives to save animals on the frontlines. Many are injured and need immediate medical care. These brave volunteers\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eneed our support to continue to save lives. \u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eHundreds of animals- both owned and stray - are being rescued each week. Many families refuse to evacuate without their pets, while others are forced to leave animals behind in the care of local volunteers.\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eAbandoned and injured animals are also being recovered by dedicated teams operating under extremely difficult and dangerous conditions\u003c\/strong\u003e. \u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cstrong\u003eThat's why our partner, Greater Good Charities, is supporting local evacuation teams working across eastern, southern, and northern Ukraine.\u003c\/strong\u003e These volunteer-led groups play a critical role in transporting civilians -often elderly individuals, people with limited mobility, or families with children- as well as assisting with the evacuation and care of animals. \u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003ciframe width=\"75%\" height=\"500\" src=\"https:\/\/www.youtube.com\/embed\/B2JRJRTtumg\" title=\"Help Evacuate Pets Out of a War-Zone in Ukraine\"\u003e\u003c\/iframe\u003e\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cstrong\u003eUPDATES\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eMeet Lala:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Screenshot_2026-07-17_at_11.47.17_AM_240e1fab-521a-4cef-92bd-9f6041fe3be0_600x600.png?v=1784554975\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003eShe is the founder of 12 Guards and has been risking her life to evacuate people and pets since the Russian invasion four years ago.\u003c\/p\u003e\n\u003cp class=\"p1\"\u003e\u003cspan class=\"s1\"\u003eShe is our hero and teams up with our other hero, Krystina, on rescue missions to the frontlines to save abandoned and homeless animals and find them loving homes. These women are lifelines for the abandoned and homeless animals in war-torn Ukraine. \u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p1\"\u003e\u003cspan class=\"s1\"\u003eYour continued support will help feed and care for evacuated animals until they find loving homes. \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eTerrified Dogs: \u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/WhatsApp_Image_2026-03-21_at_08.56.42_4_480x480.jpg?v=1775748162\" alt=\"\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003eKrystina and Lala from 12 Guards continue to risk their lives to save dogs from the frontlines. A recent mission saved several dogs of all ages and sizes. These life-saving missions are possible thanks to your continued support.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSenior Cat- Bounty:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/cfp-senior-evacuated-cat-bounty_480x480.png?v=1771606509\" alt=\"\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003eRescuers continue to enter frontlines to risk their lives to save animals. During one rescue mission a woman came up to rescuers carrying a cat in her arms. She said she was leaving and unable to take the cat named Bounty with her. She wanted him to go somewhere safe. Thanks to your support, the senior feline who arrived in poor condition at Patron Pet Center has regained his health. \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eMeet Krystina:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Screenshot_2025-09-03_at_1.35.37_PM_480x480.png?v=1758567791\"\u003e\u003c\/div\u003e\n\u003cp\u003eKrystina is one of countless heroes who risk their lives to save animals near the frontlines. She enters dangerous areas to rescue animals left behind AND takes many back to her shelter, Under the Sun. \u003c\/p\u003e\n\u003cp\u003eShe is caring for hundreds of dogs at her shelter that she started building when the war began. Little by little she has expanded the kennels and it is now a safe haven for dogs until they can find a forever home. \u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cstrong\u003eAnimal shelter bombed.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003eOur friends at 12 Guards, a rescue organization owned by Lala, saw their facility hit by two missiles, devastating the building where pets had been staged in advance of a planned evacuation.. \u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003eKrystina from Under the Sun Shelter was onsite when the attack happened and sustained a concussion from the blast.\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003cstrong\u003eSee the destruction at 12 Guards here:\u003c\/strong\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cp style=\"text-align: left;\"\u003e\u003cstrong\u003e\u003ciframe height=\"500\" width=\"100%\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/b9cd17d32ce340f98f32674a5eab7c05.mp4\" title=\"YouTube video player\"\u003e\u003c\/iframe\u003e\u003c\/strong\u003eThankfully, Krystina was treated for her injuries and no other people or animals were hurt in the attack. All of the pets will be examined by a veterinarian to ensure they didn't receive concussions, as they were directly under the blasts.\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cstrong\u003eHusband \u0026amp; Wife Risk it All: \u003c\/strong\u003eYana and her husband stayed behind when their village was bombed to care for homeless and abandoned animals. When the bombing increased, they risked their lives again to transport all of the animals to safety. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_20241106_DRI_Ukraine_UFA_YanaSorokina_005__UnitedforAnimals_7279739b-eac0-4137-b3d8-29a711acd184_480x480.jpg?v=1739550341\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003eYour donations are helping save lives. United for Animals took in some of the elderly animals and shared, \"\u003cspan class=\"s1\"\u003eThanks to your support, we are able to assist volunteers like Yana, who stay until the very end, risking everything to save defenseless lives.\"\u003c\/span\u003e\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan class=\"s1\"\u003eLucky: \u003c\/span\u003e\u003c\/strong\u003e\u003cspan class=\"s1\"\u003eA dog who survived two years on her own near the frontlines in Ukraine was finally rescued. She spent countless nights hungry and alone cowering in fear in a small shed to stay safe. \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/465370934_901801825427445_2669436393105335752_n_480x480.jpg?v=1739551045\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan class=\"s1\"\u003eShe was appropriately named \"Lucky\" and thanks to your support received all the food and care she needed to recover. She left Ukraine and her painful past behind for a new life in France with a loving family. \u003c\/span\u003e\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cspan class=\"s1\"\u003e\u003cstrong\u003eMartin:\u003c\/strong\u003e This sweet feline lived with his mom near the front lines. She stayed behind to care for her beloved cats and made the ultimate sacrifice. Sadly, she was killed in one of the bombings and Martin was injured. \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukraine-cat-martin-rescued_550_480x480.png?v=1740080220\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan class=\"s1\"\u003eRescuers found Martin and managed to get him to safety. Thanks to your support and the devoted team at Patron Pet Center, Martin made a full recovery. Read his full story \u003ca rel=\"noopener\" href=\"\/blogs\/news\/ukraine-cat-martin-rescued\" target=\"_blank\"\u003ehere\u003c\/a\u003e. \u003c\/span\u003e\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cstrong\u003eNovember 2024: \u003c\/strong\u003eDevoted animal rescuer, Anatoly, was killed after a bomb destroyed his home. His daughter and Animal Rescue Kharkiv entered the dangerous area that ambulances would not go to rescue his beloved animals. Read the full story \u003ca rel=\"noopener\" href=\"\/blogs\/news\/daughter-enters-war-zone-to-save-animals-after-father-killed\" target=\"_blank\"\u003ehere\u003c\/a\u003e.  \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Screenshot_2024-11-13_at_10.10.19_AM_480x480.png?v=1731514686\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cstrong\u003eOctober 2024: \u003c\/strong\u003eAir raids intensify across Ukraine. Brave men and women continue to evacuate animals from the frontline. Dozens arrive at Patron Pet Center in need of care. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/WhatsApp_Image_2024-10-28_at_10.15.00_2ae435fb-15e8-465b-a9c0-d826e0252a6b_480x480.jpg?v=1730400263\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003chr\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg style=\"margin: 5px 10px 5px 10px; float: left;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukraine-evacuate-pets-1_350x.png?v=1715778377\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eMay 2024:\u003c\/strong\u003e Military members are currently evacuating animals from various regions of Ukraine,\u003cstrong\u003e as the situation there is getting worse, and the frontline is moving.\u003c\/strong\u003e \u003c\/p\u003e\n\u003cp\u003eDozens of pets have been evacuated from across the regions and every day, heroic rescuers are risking their lives to bring more animals to safety. Evacuated animals are being brought to the Patron Pet Center in Kyiv, where they receive medical attention, care, and are eventually adopted out.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eBut there are countless more animals who need our help.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eWe were just informed that \u003cstrong\u003e50 new pets \u003c\/strong\u003eare arriving at the center today and another \u003cstrong\u003e30\u003c\/strong\u003e are expected tomorrow. \u003c\/p\u003e\n\u003cp\u003eAll animals are domestic. Most of them were abandoned by the owners when they evacuated, but some were surrendered by the owners because they decided to stay. Evacuations will continue to take place throughout the week.\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cstrong\u003eMay 2024\u003c\/strong\u003e: Ukraine military members risk their lives to save abandoned pets near the frontlines. These dogs and cats are finally safe thanks to these brave individuals. Your donations help care for the rescued animals.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; justify-content: center;\"\u003e\n\u003cdiv style=\"position: relative; width: 560px; aspect-ratio: 16 \/ 9; overflow: hidden;\"\u003e\u003ciframe src=\"https:\/\/www.youtube.com\/embed\/GYuGkIQNmuI\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;\"\u003e\n        \u003c\/iframe\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cstrong\u003eApril 2024: Richard- \u003c\/strong\u003eThis 10-year-old cat lived alone for two years after his owners died shortly after the war in Ukraine began. Richard was rescued and is thriving thanks to your support. See how happy he is with his new family below. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cvideo style=\"max-width: 300px; height: auto;\" controls=\"controls\"\u003e\n  \u003csource type=\"video\/mp4\" src=\"https:\/\/cdn.shopify.com\/videos\/c\/o\/v\/ca0a008e945845aaa96341c9f49ef92a.mp4\"\u003e\nYour browser does not support our video.\n\u003c\/source\u003e\u003c\/video\u003e\u003chr\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eFeb 2024: \u003c\/strong\u003eWarm wool blankets were brought to Inna, the owner of Shelter in Tomakovka, where there are more than 100 dogs and cats that were taken from the front-line territories of the Zaporozhye region. The dogs and cats quickly curled up on their new blankets donated thanks to your support. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukraine-blanket-gtgm-2_240x240.png?v=1709221218\" alt=\"\" style=\"float: none;\"\u003e \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukraine-blanket-gtgm-5_240x240.png?v=1709221261\" style=\"margin-bottom: 16px; float: none;\"\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eMarch 2023\u003c\/strong\u003e -\u003c\/p\u003e\n\u003cp\u003eVolleys of Russian missiles frequently strike Ukrainian cities at all hours of the day and night. Many of these attacks target Ukrainian electrical power plants. The people and pets of Ukraine are suffering, and Greater Good Charities is committed to funding hot meals and distributing meals kits, blankets, and other supplies in eastern Ukraine. \u003cstrong\u003eYour ongoing support is critical.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eRecently GreaterGood and our non-profit partners, including Siobhan's Trust and Greater Good Charities, were able to feed and offer assistance to first responders in the aftermath of a Russian rocket attack on an apartment building in Ukraine.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; justify-content: center;\"\u003e\n\u003cdiv style=\"position: relative; width: 560px; aspect-ratio: 16 \/ 9; overflow: hidden;\"\u003e\u003ciframe src=\"https:\/\/www.youtube.com\/embed\/bvgY9T557r4\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0;\"\u003e\n        \u003c\/iframe\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cstrong\u003eFebruary 2023\u003c\/strong\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eIt has officially been over 1 year since Russia began their brutal invasion of Ukraine\u003c\/strong\u003e, and Ukrainians are still struggling to survive. \u003cstrong\u003eThe UN estimates that over 13 million Ukrainians have been forced to flee their homes and have now become internally displaced people (IDPs).\u003c\/strong\u003e. Many of hese men, women, children, and their pets have spent months living in fear, worrying that each day could be their last. With winter now looming over them and Russian attacks targeting electrical power plants, survivors need your help now more than ever.\u003c\/p\u003e","brand":"GGO","offers":[{"title":"$10 Level","offer_id":39691659411531,"sku":"GTGM1104","price":10.0,"currency_code":"USD","in_stock":true},{"title":"$25 Level","offer_id":39691659444299,"sku":"GTGM1105","price":25.0,"currency_code":"USD","in_stock":true},{"title":"$50 Level","offer_id":39691659477067,"sku":"GTGM1106","price":50.0,"currency_code":"USD","in_stock":true},{"title":"$100 Level","offer_id":39691659509835,"sku":"GTGM1107","price":100.0,"currency_code":"USD","in_stock":true},{"title":"$250 Level","offer_id":40409736216651,"sku":"GTGM1108","price":250.0,"currency_code":"USD","in_stock":true},{"title":"$500 Level","offer_id":40409736249419,"sku":"GTGM1109","price":500.0,"currency_code":"USD","in_stock":true},{"title":"Custom","offer_id":39691659542603,"sku":"GTGM1110","price":1.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/cfp-lala-12_guards.png?v=1784555531"},{"product_id":"96527-ukraine-crisis-feed-pets-in-need-fundraiser-gtgm","title":"Crisis in Ukraine: Feed Starving and Abandoned Pets","description":"\u003ch2 style=\"text-align: center;\"\u003e\u003cspan style=\"color: rgb(255, 42, 0);\"\u003e\u003cmeta charset=\"utf-8\"\u003e \u003cspan style=\"color: rgb(0, 0, 0);\"\u003e \u003cstrong\u003eMissile Strike Hits Shelter, Killing Pets and Destroying Food\u003c\/strong\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp class=\"p1\"\u003e\u003cstrong\u003eURGENT: 10 cats and 2 dogs were killed and the building containing the shelter's entire supply of food was destroyed.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp class=\"p1\"\u003eOn September 29, a shelter partner in the Odesa region was struck, badly damaging their facilities, killing pets, and destroying the food that would have fed the animals through the \u003cimg\u003ewinter. They still have 150 dogs, 50 goats, and dozens of cats. \u003cstrong\u003eDon't let these innocent victims starve!\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp class=\"p1\"\u003e\u003cstrong\u003e$25 = 250 meals for Ukraine's pets\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/20260930_Disaster_Ukraine_MissileStrike_002_UnitedForAnimals_600x600.jpg?v=1790869275\" alt=\"\" style=\"margin: 10px 10px 10px 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cem\u003eCat picks through the destruction. Credit: United for Animals\u003c\/em\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/20260930_Disaster_Ukraine_MissileStrike_001_UnitedForAnimals_600x600.jpg?v=1790869279\" alt=\"\" style=\"margin: 10px 10px 10px 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cem\u003eShelter worker covered in ash after the strike. Credit: United for Animals\u003c\/em\u003e\u003c\/div\u003e\n\u003chr\u003e\n\u003cp class=\"p1\"\u003eThe plight of people and pets in Ukraine is at a critical juncture. Russia has been delivering punishing attacks against civilian infrastructure across the country, hoping to make life miserable this winter. Wave after wave of brutal drone attacks are grinding Ukrainians down. On top of a crippled power grid, nearly half of Ukraine’s modern warehouse space has been destroyed along with 90% of their food-logistics infrastructure. \u003cstrong\u003eIt’s a recipe for starvation\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp class=\"p1\"\u003e\u003cmeta charset=\"utf-8\"\u003eAnd when people don't eat, pets don't eat. Shelters and caretakers are \u003cstrong\u003estruggling to feed the thousands of animals\u003c\/strong\u003e displaced by the ongoing war.\u003c\/p\u003e\n\u003cp class=\"p1\"\u003eThe \u003cstrong\u003eonly way\u003c\/strong\u003e these innocent animals get food in the hardest hit areas is through your donations, which \u003cstrong\u003ebrave individuals risk their lives to deliver\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp class=\"p1\"\u003e\u003cspan\u003eAfter over four years of war, Ukraine needs our help more than ever. Without your support, \u003cstrong\u003ecountless animals will go hungry. \u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p1\"\u003e\u003cstrong\u003eDonate today \u003c\/strong\u003eto help feed the dogs and cats of Ukraine who have lost their homes, families, and almost their lives.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cspan\u003e\u003ciframe width=\"382\" height=\"679\" src=\"https:\/\/www.youtube.com\/embed\/bF4xtekpwoc\" title=\"Why We Stand with Ukraine \u0026amp; How You Can Help\"\u003e\u003c\/iframe\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cstrong\u003eOur partner, Greater Good Charities, is on the ground providing pet food to struggling shelters and caretakers.\u003c\/strong\u003e Your gift today can help send nutritious food to a Ukrainian pet in need. \u003cstrong\u003eDonate today.\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3\u003eUpdates:\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003ePet Food Warehouse Destroyed by Drone: \u003c\/strong\u003eA pet food warehouse our partners use to distribute food to shelters and pet owners across Ukraine was hit and destroyed in a drone strike in June. Nearly 2.5 tons of food, that was slated to feed hundreds of pets across the Sumy region burned. Pet food was already running dangerously low. Together, we raised over $130,000 to not only replace the food that was destroyed but restock shelters across Ukraine. \u003cstrong\u003eThank you!\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFood to Shelters \u0026amp; Rescues in Winter: \u003c\/strong\u003eThis winter was one of the coldest ever in Ukraine. It also was a struggle to find supplies, but thanks to your continued support rescued animals received nutritious food. Thanks to United for Animals for helping to distribute the food to caretakers and shelters in the hardest hit areas. Your donations are making a difference. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/651131497_17981427926975032_1474397563054607711_n_480x480.jpg?v=1775578064\" alt=\"\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eFood to Rescuers\/\"Grannies\": \u003c\/strong\u003ePet food is a constant need across Ukraine. Rescuers, shelters, and even elderly caretakers called \"Grannies\" are in need of nutritious food for the cats and dogs in their care. Your support helps feed these hungry animals, so thank you! \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/20251009_Ukraine_UFA_Odesa_HannaNykyforivna_002_UnitedForAnimals_480x480.jpg?v=1775577705\" alt=\"elderly woman surrounded by cats and dogs\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eFood to Shelters in Winter: \u003c\/strong\u003eWinter is especially hard on animal shelters in Ukraine. They need pet food to care for all the animals in their shelter and the ones they rescue. Your donations are saving lives and making sure no shelter pet goes hungry. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/unitedforanimals_official_greatergoodcharities_4_480x480.jpg?v=1773677471\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eFood to Caretakers:\u003c\/strong\u003e Thousands of homeless dogs and cats have full bellies thanks to your support. The vital pet food is starting to reach devastated areas where animals are attempting to survive. Thank you for your continued support! \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/20251009_Ukraine_UFA_Sumy_KaterynaAnCDReva_004_UnitedForAnimals_480x480.jpg?v=1773677526\" alt=\"\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eFood to War Zones: \u003c\/strong\u003eAbandoned animals remain in war zones along with the brave individuals who stay to care and feed for them. They risk their lives to ensure these animals get food. Thanks to your support, vital pet food was delivered\u003cspan\u003e to 29 local volunteers and shelters, who together care for 1,442 cats in the region.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_202504_DRI_Ukraine_UFA_Distribution_Zaporizhzhia_005__UnitedForAnimals_480x480.jpg?v=1767971287\" alt=\"\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFood to Under the Sun: \u003c\/strong\u003eKrystina is caring for over 200 dogs at her shelter, Under the Sun, and is grateful for the donated pet food. Your generosity is saving lives and making sure the dogs never go hungry. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/photo_4_2025-10-24_14-36-39_480x480.jpg?v=1767971971\" alt=\"\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eAnimal Clinic Hit by Missiles: \u003c\/strong\u003e12 Guards animal clinic - recipient of donated pet food- was hit by two missiles trapping animals under rubble in their crates. Miraculously, no animals were harmed and all have been evacuated. They need your continued support. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukraine-animal-clinic-missile-attack_550_480x480.png?v=1750272813\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eFood to Frontlines:\u003c\/strong\u003e In March 2025, United for Animals (UFA) delivered much-needed pet food to shelters and caretakers near the frontlines to feed hundreds of homeless animals. Your donations are saving lives and giving hope to those living in these dangerous areas to care for the innocent animals. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_20250415_DRI_Ukraine_UFA_Sumy_002__UnitedForAnimals_480x480.jpg?v=1746199664\" alt=\"\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003eUFA states, \"\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eThis aid is more than humanitarian — it means survival. It means resilience. It means life, in a place where war still has no end in sight.\"\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eHeroes:\u003c\/strong\u003e A brave couple endured tough times and occupation alongside their dogs and countless more they rescued from the streets. Marina and her husband remained in a village that was ravaged by hunger and Russian soldiers. The heartbreaking journey has destroyed their village where only twelve people remain. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_20241011_DRI_Ukraine_Kherson_MarinaUniatytska_003__UnitedforAnimals_480x480.jpg?v=1739555418\"\u003e\u003c\/div\u003e\n\u003cp\u003eThese people and countless homeless animals remain behind and are caring for one another. These heroes won't give up even though danger looms and continue to care for those in need. Your donations are providing pet food to these innocent animals, so thank you!\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eHusband \u0026amp; Wife Risk it All: \u003c\/strong\u003eYana and her husband stayed behind when their village was bombed to care for homeless and abandoned animals. When the bombing increased, they risked their lives again to transport all of the animals to safety. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_20241106_DRI_Ukraine_UFA_YanaSorokina_005__UnitedforAnimals_7279739b-eac0-4137-b3d8-29a711acd184_480x480.jpg?v=1739550341\"\u003e\u003c\/div\u003e\n\u003cp\u003eYour donations are helping save lives. United for Animals took in some of the elderly animals and shared, \"\u003cspan class=\"s1\"\u003eThanks to your support, we are able to assist volunteers like Yana, who stay until the very end, risking everything to save defenseless lives.\"\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan class=\"s1\"\u003eLucky: \u003c\/span\u003e\u003c\/strong\u003e\u003cspan class=\"s1\"\u003eA dog who survived two years on her own near the frontlines in Ukraine was finally rescued. She spent countless nights hungry and alone cowering in fear in a small shed to stay safe. \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/465370934_901801825427445_2669436393105335752_n_480x480.jpg?v=1739551045\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan class=\"s1\"\u003eShe was appropriately named \"Lucky\" and thanks to your support received all the food and care she needed to recover. She left Ukraine and her painful past behind for a new life in France with a loving family. \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan class=\"s1\"\u003e\u003cstrong\u003eMartin:\u003c\/strong\u003e This sweet feline lived with his mom near the front lines. She stayed behind to care for her beloved cats and made the ultimate sacrifice. Sadly, she was killed in one of the bombings and Martin was injured. \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukraine-cat-martin-rescued_550_480x480.png?v=1740080220\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan class=\"s1\"\u003eRescuers found Martin and managed to get him to safety. Thanks to your support and the devoted team at Patron Pet Center, Martin made a full recovery. Read his full story \u003ca rel=\"noopener\" href=\"\/blogs\/news\/ukraine-cat-martin-rescued\" target=\"_blank\"\u003ehere\u003c\/a\u003e. \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eJanuary 2025: \u003c\/strong\u003eYour donations continue to feed thousands of hungry pets in Ukraine. Greater Good Charities' Partner, United for Animals, shared that food was delivered to  \u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003e3036 dogs and 2308 cats both in shelters and in the care of volunteers. \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/475133993_17935931717975032_1885971826608065426_n_480x480.jpg?v=1739549167\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cspan\u003eThank you from the bottom of our hearts for helping animals in need. \u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/475109506_17935931690975032_1139245146362397741_n_480x480.jpg?v=1739549200\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cstrong\u003eNatka and Co Shelter: \u003c\/strong\u003eNataliya Kononenko’s shelter, \"Natka and Co,\" has been rescuing and caring for homeless animals for years but their efforts have only increased since the war began. They are caring for over 60 animals and your donations have provided much-needed pet food to the homeless dogs and cats. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_20241115_DRI_Ukraine_NataliyaKononenko_001__U-Hearts_GGC_480x480.jpg?v=1739546106\"\u003e\u003c\/div\u003e\n\u003cp\u003eU-Hearts delivered the food and shared that all the animals are getting just what they need, \u003cspan\u003ecare and love.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eDecember 2024:\u003c\/strong\u003e Thanks to your support, United for Animals delivered pet food and supplies to small villages with people living in homes without roofs and no electricity in order to care for stray and abandoned pets.\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_20241203_DRI_Ukraine_UFA_001__UnitedforAnimals_23b559c6-8944-475f-8a01-2f53998a773b_480x480.jpg?v=1739544694\"\u003e\u003c\/div\u003e\n\u003cp\u003e\"\u003cspan\u003eWhen our aid reaches these villages, we see tears on the faces of the people – tears of joy and gratitude. It’s not just about receiving help; it’s about knowing that someone remembers them, that they are not left to face these challenges alone.\"\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eNovember 2024: \u003c\/strong\u003eDevoted animal rescuer, Anatoly, was killed after a bomb destroyed his home. His daughter and Animal Rescue Kharkiv entered the dangerous area that ambulances would not go to rescue his beloved animals. Read the full story \u003ca href=\"\/blogs\/news\/daughter-enters-war-zone-to-save-animals-after-father-killed\" rel=\"noopener\" target=\"_blank\"\u003ehere\u003c\/a\u003e.  \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Screenshot_2024-11-13_at_10.10.19_AM_240x240.png?v=1731514686\"\u003e\u003c\/div\u003e\n\u003chr\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_20240625_DRI_Ukraine_UH_Kharkiv_Svitlana_001__U-Hearts_GGC_240x240.jpg?v=1721157895\" style=\"margin: 10px 10px 10px 10px; float: left;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan\u003eKharkiv region: \u003c\/span\u003e\u003c\/strong\u003eThe Kharkiv region is undeniably still one of the areas continuously suffering from shelling, and there remains a need for the evacuation and care of animals.\u003c\/p\u003e\n\u003cp\u003eDespite all the circumstances, people are still there who care for, feed, treat, and find homes for abandoned animals.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eYour donations are helping to feed these innocent animals. \u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cimg style=\"margin: 10px 10px 10px 10px; float: right;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_20240625_DRI_Ukraine_UH_Kharkiv_002__U-Hearts_GGC_240x240.jpg?v=1721157965\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003eSvitlana lives in the area and cares for over 300 sick, injured, and homeless animals.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eShe says, \"All of them need care and love, and I strive to provide decent living conditions and give them the best. But it's very hard alone, so I'm very grateful for the charitable organizations that become friends and the best helpers for my furry friends!\"\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_20240709_DRI_Ukraine_UH_Kyiv_001__U-Hearts_GGC_240x240.jpg?v=1721157310\" style=\"margin: 10px 10px 10px 10px; float: left;\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eMeet Dudova Larysa. \u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eShe has been rescuing, caring, and feeding animals for the past ten years. She has taken in homeless pets from the street and given them a safe place to live.\u003c\/p\u003e\n\u003cp\u003e\"\u003cspan\u003eEvery year, the number of animals in my shelter increases. Throughout 2022-2023, we rescued abandoned dogs in Vasylkiv. Just this year, I have taken in 10 puppies. We have vaccinated them and will be looking for families for them,\" she told us.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003eShe thanks you for your donation of nutritious food to the \u003cmeta charset=\"utf-8\"\u003e\u003cspan\u003e80 dogs and 120 cats in her care. \u003c\/span\u003e\u003c\/p\u003e\n\u003chr\u003e","brand":"GGO","offers":[{"title":"$10 Level","offer_id":39727319777355,"sku":"189952","price":10.0,"currency_code":"USD","in_stock":true},{"title":"$25 Level","offer_id":39727319810123,"sku":"189953","price":25.0,"currency_code":"USD","in_stock":true},{"title":"$50 Level","offer_id":39727319842891,"sku":"189954","price":50.0,"currency_code":"USD","in_stock":true},{"title":"$100 Level","offer_id":39727319875659,"sku":"189955","price":100.0,"currency_code":"USD","in_stock":true},{"title":"$250 Level","offer_id":41188724572235,"sku":"GTGM2059","price":250.0,"currency_code":"USD","in_stock":true},{"title":"$500 Level","offer_id":41188724605003,"sku":"GTGM2060","price":500.0,"currency_code":"USD","in_stock":true},{"title":"Custom","offer_id":39727319908427,"sku":"189956","price":1.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukrainestrike.jpg?v=1790870586"},{"product_id":"00061-send-blankets-to-the-people-of-ukraine-fundraiser-bb","title":"Send Blankets to People \u0026 Pets of Ukraine","description":"\u003ch2\u003e\n\u003cspan style=\"color: rgb(221, 8, 8);\"\u003e\u003cstrong\u003eCrisis in Ukraine: \u003c\/strong\u003e\u003c\/span\u003e\u003cspan style=\"color: rgb(0, 0, 0);\"\u003e\u003cstrong\u003eAttacks cut off power to five regions across Ukraine leaving hundreds of thousands in the dark and cold. \u003c\/strong\u003e\u003c\/span\u003e\n\u003c\/h2\u003e\n\u003cp\u003eThis is happening during one of the coldest winters in years with temperatures remaining below zero. \u003cstrong\u003ePeople and pets need your support now more than ever.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003e\u003cmeta charset=\"utf-8\"\u003eRussia has not eased its attacks against the people of Ukraine. The United Nations says 20 of 24 Ukrainian-held regions have experienced attacks on their power infrastructure over the past year. During the winter months, temperatures can drop to as low as -5 degrees Fahrenheit, making it \u003cstrong\u003edangerously cold \u003c\/strong\u003efor those without electricity or gas in the wake of these attacks.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003ePets who belong to families fleeing war-torn Ukraine, are facing dehydration, hypothermia, injury, disease and illness as they travel to \u003cstrong\u003eescape the frontlines.\u003c\/strong\u003e Many who are fleeing refuse to leave behind their four-legged family members, and they need supplies to make sure their pet stays warm. Unfortunately, many families are forced to leave loved pets behind due to circumstances beyond their control. These pets end up in shelters or are found on the streets and then are taken to a shelter. \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSince the war began, GreaterGood has delivered almost 50,000 blankets to the people and pets of Ukraine. But so many more are needed.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cspan\u003e\u003ciframe title=\"Send Warm Blankets to People \u0026amp; Pets of Ukraine\" src=\"https:\/\/www.youtube.com\/embed\/0d4MmgaMbdI\" height=\"622\" width=\"350\"\u003e\u003c\/iframe\u003e\u003c\/span\u003e\u003cstrong\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"display: grid; grid-gap: 10px 10px; grid-template-columns: repeat(2, minmax(1px, 200px)); align-content: space-evenly; justify-content: center;\"\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/112022_LittleBoyFeedingStrayDogs3__GGC_UkraineNovember2022_600x600.jpg?v=1669141709\" alt=\"[alt text here]\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/112022_BlanketandBoxDistribution__GGC_UkraineNovember2022_600x600.jpg?v=1669141728\" alt=\"[alt text here]\" style=\"margin-bottom: 16px; float: none;\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eHow to Help:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eHelp provide warmth and comfort to those in need. Wool blankets are being purchased from Ukraine to support suppliers and staff, and are being sent to Ukrainians who need them most.\u003c\/p\u003e\n\u003cdiv style=\"float: right; margin: 10px; width: 35%; max-width: 200px;\"\u003e\n\u003cimg style=\"width: 100%;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/IMG_4237_d4b367e4-191f-4523-a072-a83c2de91ae3_480x480.jpg?v=1668619428\" alt=\"GreaterGoods\"\u003e\u003cem\u003eBlankets being handed out in Ukraine.\u003c\/em\u003e\n\u003c\/div\u003e\n\u003cp\u003eThese 4.5 ft. x 6.5 ft. wool blankets are perfect for retaining body heat when it is needed most. Each blanket can also double as an emergency coat or single size bedroll. The blankets will also be given to pets in need of extra warmth and protection from the cold. Wool can soak up a good deal of its weight in moisture without feeling damp and because of that, they can be used in outdoor shelters - even when wet the wool blankets will hold their warmth and keep pets warm!\u003c\/p\u003e\n\u003cp\u003eThere is also the option to provide a baby blanket to keep the young ones warm and comforted. \u003cspan lang=\"en\" class=\"ILfuVd\"\u003e\u003cspan class=\"hgKElc\"\u003eBy giving something as simple as a blanket, you can make an impact. Your gift keeps children, the elderly, pets and families warm as they defend their country, their homes, and their loved ones during the coldest winter months. \u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003ePet blankets are also vital to keep pets warm and provide comfort in unfamiliar places with unfamiliar people and sounds. Families with pets appreciate that their fur babies have not been forgotten about. GreaterGood is also working with veterinarians without borders who use blankets to keep sick or injured pets warm and provide comfort... animals that have had surgery- including spaying and neutering will also receive blankets.  Every blanket makes a difference in the life of a pet. \u003c\/p\u003e\n\u003cdiv style=\"display: grid; grid-gap: 10px 10px; grid-template-columns: repeat(2, minmax(1px, 200px)); align-content: space-evenly; justify-content: center;\"\u003e\n\u003cdiv style=\"grid-column: span 1; grid-row: span 1; flex-wrap: wrap;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Crop_IMG_5878.jpg?v=1705948713\" alt=\"[alt text here]\" width=\"100%\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"grid-column: span 1; grid-row: span 1; flex-wrap: wrap;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/IMG_4249_a7c61d89-f9b9-4987-8f7e-dc0914231d2f_480x480.jpg?v=1668619489\" alt=\"[alt text here]\" width=\"100%\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003cmeta charset=\"utf-8\"\u003e\n\u003cspan style=\"font-weight: 400;\"\u003eWhere needed, like-value clothing items, including coats, sweaters, footwear, scarves, and gloves, may be substituted for blankets, if requested by our partner aid organizations. \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003ch2 style=\"text-align: center;\"\u003e\u003cspan style=\"text-decoration: underline;\"\u003e\u003cstrong\u003eStories From Ukraine\u003c\/strong\u003e\u003c\/span\u003e\u003c\/h2\u003e\n\u003cp\u003e\u003cstrong\u003e2026-\u003c\/strong\u003e Relentless attacks on Ukraine knock out power to hundreds of thousands. Some areas have been without power for over a week as scheduled power outages continue across Ukraine. This is one of the coldest winters in years and people and pets are without heat. Krystina at Under the Sun is also struggling to keep her heat on at the shelter. \u003c\/p\u003e\n\u003cp\u003ePeople and pets of Ukraine need your support to stay warm this winter. \u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukraine-power-outage_1200_480x480.jpg?v=1768842145\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003eGreater Good Charities continues to work with implementing partners to distribute blankets - along with relief kits - to Ukrainians, many of whom are in dangerous areas not always reached by aid workers. One partner said, \"Some have received nothing because of their proximity to the conflict zones. These items are greatly appreciated!\"\u003c\/p\u003e\n\u003cp\u003eOn December 10, more than 2,000 blankets were delivered to the partner's local warehouse. Three days prior, they'd delivered all the remaining hygiene kits they had on hand. They said, in all, more than 5,500 people were helped by the latest batch of kit and blanket distributions.\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cimg style=\"margin: 10px 10px 10px 10px; float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Blankets_GTGM_Nov_2024_240x240.jpg?v=1741051382\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Blankets_GTGM_Dec_2024_240x240.jpg?v=1741051382\" style=\"margin: 10px 10px 10px 10px; float: none;\"\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eNov 2024: \u003c\/strong\u003eWe have purchased another 10,000 blankets to be distributed in the coming months, either individually or within a hygiene kit. The blankets have already been making their way to those in need at recent distribution events, with our founder and CEO Tim Kunin among those handing out these essentials.\u003c\/p\u003e\n\u003cdiv style=\"text-align: start;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/GTGM-Image-Ukraine-Blankets-Tim-1_240x240.jpg?v=1733177684\" style=\"margin: 10px 10px 10px 10px; float: none;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/GTGM-Image-Ukraine-Blankets-Tim-2_240x240.jpg?v=1733177728\" style=\"margin: 10px 10px 10px 10px; float: none;\"\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eFeb 2024: \u003c\/strong\u003eWarm wool blankets were brought to Inna, the owner of a shelter, where there are more than 100 dogs and cats that were taken from the front-line territories. The dogs and cats quickly curled up on their new blankets donated thanks to your support. \u003c\/p\u003e\n\u003cdiv style=\"text-align: right;\"\u003e\n\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukraine-blanket-gtgm-2_240x240.png?v=1709221218\" alt=\"\" style=\"float: none;\"\u003e                  \u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukraine-blanket-gtgm-5_240x240.png?v=1709221261\" style=\"margin-bottom: 16px; float: none;\"\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003cstrong\u003eJan 2024:\u003c\/strong\u003e Much-needed wool blankets were distributed to a kindhearted woman caring for 46 cats and 6 dogs. She and all the homeless animals were grateful for the warm blankets and your generosity. \u003c\/div\u003e\n\u003cdiv style=\"text-align: right;\"\u003e    \u003cimg style=\"margin: 10px auto; float: none; display: block;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/GTGM-ukraine-pet-blankets-5_240x240.png?v=1710169382\"\u003e.                \u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cstrong\u003e\u003c\/strong\u003e\u003cbr\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003e2023: \u003c\/strong\u003eThese sweet pets, and the people taking care of them, are so grateful for the supplies that have been sent to them. Some families stop by at donation pick up locations to grab blankets and other supplies for their pets to keep them warm. Some pets are staying in shelters or rescues, and this sweet dog is one of them. He received a blanket to keep him warm this chilly season until he finds a forever home.\u003c\/p\u003e\n\u003cdiv style=\"display: grid; grid-gap: 10px 10px; grid-template-columns: repeat(2, minmax(1px, 200px)); align-content: space-evenly; justify-content: center;\"\u003e\n\u003cdiv style=\"grid-column: span 1; grid-row: span 1; flex-wrap: wrap;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Crop_IMG_5837.jpg?v=1705949868\" alt=\"[alt text here]\" width=\"100%\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"grid-column: span 1; grid-row: span 1; flex-wrap: wrap;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Crop_IMG_5863.jpg?v=1705949983\" alt=\"[alt text here]\" width=\"100%\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eJuly 2023,\u003c\/strong\u003e an office in a key area of Ukraine is used as a clothing hub where new bedding, clothes, toys and blankets are given to those in need. The foundation that uses the office employs more than 10 women migrants who were left homeless to do the war. In one Saturday alone they greeted 200 people that were in need of essentials.\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv style=\"display: grid; grid-gap: 10px 10px; grid-template-columns: repeat(3, minmax(1px, 200px)); align-content: space-evenly; justify-content: center;\"\u003e\n\u003cdiv style=\"grid-column: span 1; grid-row: span 1; flex-wrap: wrap;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/BlanketDistribution_4_480x480.jpg?v=1691605935\" alt=\"[alt text here]\" width=\"100%\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"grid-column: span 1; grid-row: span 1; flex-wrap: wrap;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/BlanketDistribution_1_480x480.jpg?v=1691605908\" alt=\"[alt text here]\" width=\"100%\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"grid-column: span 1; grid-row: span 1; flex-wrap: wrap;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/BlanketDistribution_2_480x480.jpg?v=1691605919\" alt=\"[alt text here]\" width=\"100%\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\n\u003cmeta charset=\"UTF-8\"\u003e\n\u003cp class=\"fluidplugincopy\"\u003e\u003cspan class=\"contentpasted0\"\u003e\u003cspan\u003e\u003cstrong\u003eOn December 17 and 18 2022\u003c\/strong\u003e, thanks to its generous donors, Greater Good Charities distributed 4,000 blankets donated by GreaterGood.com.\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"fluidplugincopy\"\u003e\u003cspan class=\"contentpasted0\"\u003e\u003cspan\u003eRecipients of the aid were families who were directly affected by the war and remained in the villages during the Russian occupation. One village was occupied from February 24 and got liberated on September 11, 2022. This very rural village is located very close to the Russian border. People who remain here are mostly elderly, before February, the village consisted of an estimated 4,000 people but currently, only an estimated 2,080 people live there.  \u003c\/span\u003e\u003c\/span\u003e\u003cspan\u003e \u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"fluidplugincopy\"\u003e\u003cspan class=\"contentpasted0\"\u003e\u003cspan\u003eMartyna Maciejewska, Field Operations Coordinator with Greater Good Charities: “This village (village name removed for safety) is the furthest east we have been. We started driving in a convoy from Kharkiv at 7:00 a.m. and we were escorted by the police for 4 hours to get to this villages. On the way there we could see empty trenches, burnt tanks and cars, destroyed bridges and houses and we drove through many destroyed ammunition boxes laying all over the road. This village is not developed, and people there faced poverty before the war. Many people who worked for farmers lost their jobs. The equipment from the farmers was stolen by Russians and fields are full of mines, so many farmers stopped their production. It is also very dangerous to collect wood, necessary to warm up the houses, therefore people were very grateful for blankets.” \u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: grid; grid-gap: 10px 10px; grid-template-columns: repeat(2, minmax(1px, 200px)); align-content: space-evenly; justify-content: center;\"\u003e\n\u003cdiv style=\"grid-column: span 1; grid-row: span 1; flex-wrap: wrap;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/20221217_140316_480x480.jpg?v=1672855137\" alt=\"[alt text here]\" width=\"100%\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"grid-column: span 1; grid-row: span 1; flex-wrap: wrap;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/WhatsAppImage2022-12-18at17.04.32_480x480.jpg?v=1672855170\" alt=\"[alt text here]\" width=\"100%\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003chr\u003e\n\u003cdiv style=\"text-align: left;\"\u003e2,000 blankets in December 2022 were distributed to the people of the Ukraine for Internally Displaced People who moved from occupied areas or were close to the front lines for fighting.\u003c\/div\u003e\n\u003chr\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp\u003eIn 2022 blankets were sent to Ukraine (area name removed for safety concerns) where 80% of a village was destroyed, and the people went without power - blankets were a vital gift given. \u003c\/p\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Ukraine-Collage-1_480x480.jpg?v=1666722308\" width=\"193\" height=\"193\" style=\"display: block; margin-left: auto; margin-right: auto;\"\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cem\u003e*According to the United Nations.\u003c\/em\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cem\u003e\u003cspan\u003e**Some village, town and city names have been removed due to safety concerns.\u003c\/span\u003e\u003c\/em\u003e\u003c\/p\u003e","brand":"CUSA","offers":[{"title":"Pet Blanket","offer_id":40392118042699,"sku":"BB-WARMTH-UKRAINE-PET","price":8.0,"currency_code":"USD","in_stock":true},{"title":"5 Pet Blankets","offer_id":41818933297227,"sku":"349994","price":30.0,"currency_code":"USD","in_stock":true},{"title":"Baby Blanket","offer_id":39983641231435,"sku":"BB-WARMTH-UKRAINE-BABYBLANKET","price":8.0,"currency_code":"USD","in_stock":true},{"title":"Full Sized Blanket","offer_id":40392117977163,"sku":"BB-WARMTH-UKRAINE-1BLANKET","price":15.0,"currency_code":"USD","in_stock":true},{"title":"2 Full Sized Blankets","offer_id":40392118009931,"sku":"BB-WARMTH-UKRAINE-2BLANKETS","price":29.0,"currency_code":"USD","in_stock":true},{"title":"5 Full Sized Blankets","offer_id":39886707195979,"sku":"BB-WARMTH-UKRAINE-5BLANKETS","price":71.0,"currency_code":"USD","in_stock":true},{"title":"12 Full Sized Blankets","offer_id":40392117944395,"sku":"BB-WARMTH-UKRAINE-12BLANKETS","price":160.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/ukraine-blanket-gtgm-6.png?v=1768929575"},{"product_id":"relief-kits-for-families-in-ukraine-fundraiser-gtgm","title":"Crisis in Ukraine: Provide Relief to People and Pets","description":"\u003ch2 style=\"background-color: rgb(241, 241, 241); color: rgb(255, 1, 12); text-align: center; padding-top: 4px; padding-right: 4px; padding-bottom: 4px;\"\u003e\u003cstrong\u003e\u003cspan class=\"ui-provider a b c d e f g h i j k l m n o p q r s t u v w x y z ab ac ae af ag ah ai aj ak\" dir=\"ltr\"\u003e\u003ci\u003eProvide Relief for People and Pets in War-Torn Ukraine\u003c\/i\u003e\u003c\/span\u003e\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cp class=\"p1\"\u003eAs many as \u003cb\u003e50 villages in the Kherson region remain highly contested and endure continuous fighting,\u003c\/b\u003e regular artillery exchanges, airstrikes, and ground offensives that have desecrated the landscape and made survival a daily struggle. Isolated by difficult access and constant danger, families have been faced with the disruption of essential infrastructure. More than \u003cb\u003eeight million windows have been shattered since the start of the invasion\u003c\/b\u003e, leaving many exposed to the elements.\u003c\/p\u003e\n\u003cp class=\"p1\"\u003e\u003cb\u003eAbandoned and injured animals with immediate medical need are still being rescued every week\u003c\/b\u003e. Many families refuse to evacuate without their pets, while others are forced to leave animals behind in the care of local volunteers. These animals are recovered \u003cb\u003eby dedicated teams operating under extremely difficult and dangerous conditions\u003c\/b\u003e that rely on our support to continue their work.\u003cb\u003e \u003c\/b\u003e\u003c\/p\u003e\n\u003cp class=\"p1\"\u003e\u003cstrong\u003e\u003cspan data-teams=\"true\"\u003eThat’s why our partner, Greater Good Charities, is on the ground delivering relief kits with food and blankets, assisting animal evacuation teams, installing temporary windows, providing medical aid and food to pets, and supplying other essentials to help people and pets in need.\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp class=\"p1\"\u003eTo date,\u003cb\u003e \u003c\/b\u003ethey've provided more than \u003cb\u003e31.6 million meals to pets\u003c\/b\u003e and \u003cb\u003edirectly distributed over 900,000 humanitarian meals\u003c\/b\u003e to families in Ukraine as part of their relief kit distributions.\u003c\/p\u003e\n\u003cp class=\"p1\"\u003eAdditionally, they’ve installed more than \u003cb\u003e1,300 temporary windows\u003c\/b\u003e to help restore warmth and safety for \u003cb\u003emore than 250 families\u003c\/b\u003e. With your support, \u003cb\u003eour goal is to install 5,000 more windows—helping families stay safe.\u003c\/b\u003e\u003c\/p\u003e\n\u003cp class=\"p1\"\u003e\u003cb\u003eJust $100 can provide temporary windows\u003c\/b\u003e that restore comfort and safety for a household living in a damaged home and \u003cb\u003e$30 can provide a relief kit with essential supplies and shelf-stable food\u003c\/b\u003e to support one person’s nutritional needs for an entire month.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eYour donation can make a difference in the lives of Ukrainians and pets:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e$30\u003c\/strong\u003e can provide \u003cstrong\u003ean Emergency Relief Kit with essential supplies and shelf-stable food\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$50\u003c\/strong\u003e can provide \u003cstrong\u003e500 meals to pets\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e$100\u003c\/strong\u003e can provide \u003cstrong\u003etemporary windows that restore safety for a household living in a damaged home\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp class=\"p1\"\u003e\u003cb\u003eDonate today to help the people and pets of Ukraine in the midst of uncertainty. \u003c\/b\u003e\u003c\/p\u003e\n\u003chr\u003e\n\u003cp\u003e\u003cstrong\u003eUpdates from the Field\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"text-align: right;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/winter-relief-ukraine-2_240x240.png?v=1770834566\" alt=\"\" style=\"margin: 10px 10px 10px 10px; float: right;\"\u003e\u003c\/div\u003e\n\u003cdiv style=\"text-align: right;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eJanuary 2026: \u003c\/strong\u003eGreater Good Charities returned to war-torn Ukraine to distribute warm blankets, hygiene kits, replacement windows and pet food. People are struggling to stay warm this winter with the frigid temperatures and power outages. They are beyond grateful for the warm blankets and supplies to get them through this difficult time. Your donations are making a difference. \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003chr\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg style=\"margin-right: 16px; margin-bottom: 16px; float: left;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/VS-Photograph_20221113_DRI_Ukraine_004__GGC.png?v=1741375381\" width=\"224\" height=\"224\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eMarch 2025: \u003c\/strong\u003e\u003cspan data-teams=\"true\"\u003eOver three full years of war, Greater Good Charities has remained positioned and committed to fill critical gaps in aid in villages where no other support is arriving. Whether providing food and hygiene to people remaining near the front lines, replacing windows blown out by explosions near houses and hospitals, feeding and housing pets displaced as communities that are destroyed, or helping to restore pollinator hives and small businesses, the generosity of donors like you makes this work possible for those who need it most. \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan data-teams=\"true\"\u003eTo date, the impact of this work has been profound but is far from over, as Ukraine faces ongoing war and uncertainty:\u003c\/span\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eMore than\u003cstrong\u003e 850,000 people\u003c\/strong\u003e have received critical assistance.\u003c\/li\u003e\n\u003cli\u003eOver \u003cstrong\u003e4.1 million meals\u003c\/strong\u003e have been served to those facing food insecurity.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eTens of thousands of food boxes, blankets, and hygiene kits\u003c\/strong\u003e have been distributed to those in need.\u003c\/li\u003e\n\u003cli\u003eMore than\u003cstrong\u003e 860,000 pets\u003c\/strong\u003e have been supported with tens of millions of meals provided.\u003c\/li\u003e\n\u003cli\u003eBeekeepers struggling to maintain their livelihoods have received over \u003cstrong\u003e110,000 pounds of sugar, 625 queen bees, and 625 bee packages\u003c\/strong\u003e to sustain pollination efforts.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThousands of cats and dogs\u003c\/strong\u003e have been spayed, neutered, and received veterinary care.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003chr\u003e\n\u003cdiv style=\"text-align: right;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Relief_Kits_GTGM_Dec_2024_240x240.jpg?v=1741050713\" style=\"margin: 10px 10px 10px 10px; float: right;\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eDecember 2024: \u003c\/strong\u003eGreater Good Charities continues to work with implementing partners to distribute relief kits and blankets to Ukrainians, many of whom are in dangerous areas not always reached by aid workers. One partner said, \"Some have received nothing because of their proximity to the conflict zones. These items are greatly appreciated!\"\u003c\/p\u003e\n\u003cp\u003eOn December 10, more than 2,000 blankets were delivered to the partner's local warehouse. Three days prior, they'd delivered all the remaining hygiene kits they had on hand. They said, in all, more than 5,500 people were helped by the latest batch of kit and blanket distributions.\u003c\/p\u003e\n\u003chr\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg style=\"margin: 10px 10px 10px 10px; float: left;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Relief_Kits_GTGM_Nov_2024_240x240.jpg?v=1741050270\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eNovember 2024: \u003c\/strong\u003eGreater Good Charities worked with a partner to distribute more than 1,500 relief kits, along with nearly 3,300 blankets, to Ukrainian families near the frontlines and in contested areas of the Mykolaiv and Kherson regions, where residents are feeling the full weight of the war. Ongoing blackouts meant demand was especially high, leading to families getting two blankets rather than just one to help meet their needs.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003chr\u003e\n\u003cdiv style=\"text-align: right;\"\u003e\u003cimg style=\"margin: 10px 10px 10px 10px; float: right;\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Ukraine_Hygiene_Kits_GTGM_Update_from_Field_240x240.jpg?v=1725935574\"\u003e\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eSeptember 2024: \u003c\/strong\u003eGreater Good Charities has been working with the organization DTCare to distribute hygiene kits throughout areas in need across Ukraine. DTCare recently handed these necessities out to residents in Zorya, Partyzanske, and Blahodatne, as well as humanitarian hubs in Kherson, where they say they had a close call with Russian drones. One of these hubs was targeted soon after they left. \u003c\/p\u003e\n\u003cp\u003eAs of their latest update, DTCare was still working to distribute 140 kits, but 582 had already been delivered.\u003c\/p\u003e","brand":"GGO","offers":[{"title":"$10 Level","offer_id":39897602850891,"sku":"GTGM0016","price":10.0,"currency_code":"USD","in_stock":true},{"title":"$25 Level","offer_id":39897602883659,"sku":"GTGM0017","price":25.0,"currency_code":"USD","in_stock":true},{"title":"$50 Level","offer_id":39897602916427,"sku":"GTGM0018","price":50.0,"currency_code":"USD","in_stock":true},{"title":"$100 Level","offer_id":39897602949195,"sku":"GTGM0019","price":100.0,"currency_code":"USD","in_stock":true},{"title":"$250 Level","offer_id":39900057698379,"sku":"GTGM0026","price":250.0,"currency_code":"USD","in_stock":true},{"title":"$500 Level","offer_id":41012473233483,"sku":"GTGM1693","price":500.0,"currency_code":"USD","in_stock":true},{"title":"Custom","offer_id":39897602981963,"sku":"GTGM0020","price":1.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/winter-relief-ukraine-3.png?v=1770834566"},{"product_id":"349700-protect-hundreds-of-dogs-from-the-horrors-of-war-fundraiser-bb","title":"Protect Hundreds of Dogs from the Horrors of War","description":"\u003ch2\u003eHelp give these war-surviving dogs a fighting chance\u003c\/h2\u003e\n\u003cp\u003eAmid bombed-out streets and collapsing infrastructure, one young woman is defying fear and danger. Krystina Drahomaretska runs a shelter in Ukraine called Under the Sun, where she cares for \u003cstrong\u003eover 250 dogs rescued from war zones\u003c\/strong\u003e, abandoned buildings, and abusive situations.\u003c\/p\u003e\n\u003cp\u003eBut rescue is only the beginning.\u003c\/p\u003e\n\u003ch3\u003eFighting Rabies\u003cstrong\u003e\u003c\/strong\u003e\n\u003c\/h3\u003e\n\u003cdiv style=\"text-align: left;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Krystina_Dragomaretska_image_1_240x240.png?v=1759244704\" style=\"margin: 10px 15px 15px 10px;float: left;\"\u003e\u003c\/div\u003e\n\u003cp\u003eKrystina is battling another growing threat - rabies. The number of cases in animals and people have more than doubled since the war began. \u003c\/p\u003e\n\u003cp class=\"p1\"\u003e\u003cspan class=\"s1\"\u003eIn the first half of 2025 alone, Ukraine recorded \u003cstrong class=\"rQesXe MPyX\"\u003e671 total cases\u003c!--TgQPHd|||[]--\u003e\u003c\/strong\u003e of animal rabies.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s1\"\u003eRabies is almost always \u003cstrong\u003efatal \u003c\/strong\u003eonce symptoms appear, but it is preventable—and \u003cstrong\u003evaccinating animals,\u003c\/strong\u003e especially dogs, is one of the most effective ways to \u003cstrong\u003estop transmission \u003c\/strong\u003eat its source.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp class=\"p2\"\u003e\u003cspan class=\"s1\"\u003eKrystina is vaccinating as many stray and abandoned dogs as possible to prevent more suffering and deaths, but she needs your support. She was recognized for her life-saving work by being awarded the \u003cstrong\u003e2025 World Rabies Day Award in the \"Vaccination Champion\" category.\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003ch3\u003eFood and Care \u003c\/h3\u003e\n\u003cdiv style=\"text-align: right;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/photo_19_2025-10-24_14-36-39_240x240.jpg?v=1790017765\" style=\"margin: 10px 10px 10px 10px; float: right;\"\u003e\u003c\/div\u003e\n\u003cp\u003eThe dogs Krystina rescues \u003cstrong\u003eoften need extensive medical care\u003c\/strong\u003e to treat their wounds, malnutrition, and disease. They need vaccines to ensure distemper, parvovirus, and other deadly contagions don't spread at Under the Sun. Dogs who have been terrorized by war frequently \u003cstrong\u003eneed specialized behavioral training to rehabilitate them\u003c\/strong\u003e.   \u003c\/p\u003e\n\u003cp\u003eAnd that doesn't even begin to account for the basics: food, heat, shelter, employees. \u003c\/p\u003e\n\u003cp\u003eBy helping us purchase items needed to care for these pets, you allow Krystina to focus her limited resources the rest of Under the Sun's operating costs. Your gift facilitates the purchase and donation of:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eVaccines and other medication\u003c\/li\u003e\n\u003cli\u003eLeashes and collars\u003c\/li\u003e\n\u003cli\u003eConstruction supplies\u003c\/li\u003e\n\u003cli\u003eBlankets\u003c\/li\u003e\n\u003cli\u003eStraw for kennels\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003eRight now, Krystina is racing against time to save every dog she can. \u003c\/strong\u003eThese dogs have already witnessed unimaginable suffering. They deserve the security of health, the possibility of adoption, and a life free from fear.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan\u003eGive\u003c\/span\u003e\u003c\/strong\u003e\u003cstrong\u003e now to support Krystina's work and Under the Sun shelter.\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cem\u003eMedication, supplies, and other material support will be sent directly to Under the Sun. GreaterGood has full discretion and authority for how funds will be used. \u003c\/em\u003e\u003c\/p\u003e\n\u003ch2\u003eImpact:\u003c\/h2\u003e\n\u003cp\u003e\u003cmeta charset=\"utf-8\"\u003e\u003cstrong\u003eScared Dog and Cat Rescued from Bombed Ukraine Village\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cstrong\u003e\u003ciframe width=\"344\" height=\"611\" src=\"https:\/\/www.youtube.com\/embed\/1LgqD8F7MpY\" title=\"Terrified Dog and Cat Rescued from Bombed Ukraine Village\"\u003e\u003c\/iframe\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eTerrified Dogs Rescued from Frontlines\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eKrystina and Lala from 12 Guards returned to the frontlines to save more dogs. They evacuated dogs of all ages and sizes from dangerous war zones. They will finally get the care and food they need while they wait for a loving home. Your donations are making a difference.\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg style=\"margin-top: 10px; margin-bottom: 10px; float: none;\" alt=\"\" src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/Screenshot_2026-04-09_at_11.02.00_AM_480x480.png?v=1775747149\"\u003e\u003c\/div\u003e\n\u003cp\u003e\u003cstrong\u003eOver 50 Dogs Rescued from Breeding Farm\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003eKrystina and fellow rescuers just saved 80 dogs from deplorable conditions at breeding farm. 54 returned to Under the Sun for medical care and food until they can find loving homes. Donate to help feed these dogs and hundreds more at the shelter.\u003c\/p\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\u003cimg src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/WhatsApp_Image_2026-02-12_at_14.22.28_1_480x480.jpg?v=1771356898\" alt=\"\" style=\"margin-top: 10px; margin-bottom: 10px; float: none;\"\u003e\u003c\/div\u003e\n\u003cp\u003eYour donations help feed and care for shelter dogs at Under the Sun until they are adopted. Check out some of the dogs that you helped who send wet kisses for your support. \u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003ciframe title=\"Krystina's Heartfelt Message About Shelter Dogs in Ukraine\" src=\"https:\/\/www.youtube.com\/embed\/jDW-3WNuBj0\" height=\"576\" width=\"315\"\u003e\u003c\/iframe\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePuppies Struggling to Survive on Their Own\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cstrong\u003e\u003ciframe title=\"Puppies Struggling to Survive on Their Own in Ukraine- Rescued\" src=\"https:\/\/www.youtube.com\/embed\/QdSevGAInwU\" height=\"576\" width=\"315\"\u003e\u003c\/iframe\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003ePuppy Found Near Train Tracks Adopted\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003ciframe title=\"Puppy Found Near Train Tracks in Ukraine Adopted A Year Later\" src=\"https:\/\/www.youtube.com\/embed\/3M0vTgYEQWg\" height=\"576\" width=\"315\"\u003e\u003c\/iframe\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eFour Frightened Puppies Rescued\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003cstrong\u003e\u003ciframe title=\"Four Frightened Puppies Rescued By Krystina \u0026amp; Her Team\" src=\"https:\/\/www.youtube.com\/embed\/Na59ZYy369c\" height=\"576\" width=\"315\"\u003e\u003c\/iframe\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eLong-Term Shelter Dogs Find Loving Homes\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"text-align: center;\"\u003e\u003ciframe title=\"Long-Term Shelter Dogs in Ukraine Find Loving Homes in Germany\" src=\"https:\/\/www.youtube.com\/embed\/nVvoU4q44qc\" height=\"576\" width=\"315\"\u003e\u003c\/iframe\u003e\u003c\/p\u003e","brand":"CUSA","offers":[{"title":"$25 Level","offer_id":41803600330827,"sku":"349703","price":25.0,"currency_code":"USD","in_stock":true},{"title":"$50 Level","offer_id":41803600363595,"sku":"349704","price":50.0,"currency_code":"USD","in_stock":true},{"title":"$100 Level","offer_id":41803600396363,"sku":"349705","price":100.0,"currency_code":"USD","in_stock":true},{"title":"$250 Level","offer_id":41803600429131,"sku":"349706","price":250.0,"currency_code":"USD","in_stock":true},{"title":"$500 Level","offer_id":41803600461899,"sku":"349707","price":500.0,"currency_code":"USD","in_stock":true},{"title":"Custom","offer_id":41803600265291,"sku":"349701","price":1.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1185\/0798\/files\/hundreds2.jpg?v=1771867426"}],"url":"https:\/\/greatergood.com\/collections\/ukraine-in-crisis-fundraiser.oembed","provider":"GreaterGood","version":"1.0","type":"link"}