[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-secure:{\n  \"regionTheme\": *[_type == \"theme\" && language == $locale][0] {\n    ...,\n    activeAnnouncement->{...},\n    \"mainNavigation\": \nmainNav->{\n  \"topLevelMenuItems\": navigationMenu.topLevelMenuItems[] {\n    title,\n    \"submenuLists\": submenuLists[] {\n      submenuListTitle,\n      \"submenuListItems\": submenuListItems[] {\n        \n  ...\n,\n        \n_type == 'link.internal' => {\n  ...,\n  newWindow,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n}\n}\n,\n        \n  _type == 'link.ssu' => {\n  ...\n}\n,\n      }\n    },\n    \"additionalInfo\": additionalInfo[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    }\n  },\n  \"menuActions\": headerActions[] {\n    _type,\n    _key,\n    \"internalLink\": internalLink { \n_type == 'link.internal' => {\n  ...,\n  newWindow,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n}\n}\n },\n    \"externalLink\": externalLink { \n  ...\n },\n    \"ssuLink\": ssuLink { \n  _type == 'link.ssu' => {\n  ...\n}\n },\n    appstoreLink,\n    button,\n  },\n  \"mobileHeaderActionKey\": mobileHeaderActionKey,\n}\n,\n    mainFooter->{\nfootnote,\n'pageLinks': coalesce(pageLinks[] {\n  \n  ...\n,\n  \n_type == 'link.internal' => {\n  ...,\n  newWindow,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n}\n}\n,\n  \n  _type == 'link.ssu' => {\n  ...\n}\n,\n}, []),\n'socialLinks': coalesce(socialLinks[] {\n  \n  _type == 'link.social' => {\n    _type,\n    _key,\n    title,\n    url,\n    icon,\n  }\n,\n}, []),\n'legalLinks': coalesce(legalLinks[] {\n  \n  ...\n,\n  \n_type == 'link.internal' => {\n  ...,\n  newWindow,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n}\n}\n,\n  \n  _type == 'link.ssu' => {\n  ...\n}\n,\n}, []),\n},\n  },\n  \"defaultSeo\": *[_type == \"config.seo\"][0] {\n    \"siteTitle\": siteTitle[_key == $locale][0].value,\n    \"favicon\": favicon.asset,\n    titleSeparator,\n    siteUrl,\n    withSiteTitle,\n    \"metaTitle\": seoSocial.metaTitle[_key == $locale][0].value,\n    \"metaTitleFallback\": seoSocial.metaTitle[_key == \"en-gb\"][0].value,\n    \"metaDescription\": seoSocial.metaDescription[_key == $locale][0].value,\n    \"metaDescriptionFallback\": seoSocial.metaDescription[_key == \"en-gb\"][0].value,\n    \"mobileAppDescription\": seoSocial.mobileAppDescription[_key == $locale][0].value,\n    \"mobileAppDescriptionFallback\": seoSocial.mobileAppDescription[_key == \"en-gb\"][0].value,\n    \"socialImage\": seoSocial.socialImage.asset,\n  },\n  \"appStores\": *[_type == \"config.appstores\"][0] {\n    \"modalTitleAppStoreDownload\": coalesce(\n      modalTitleAppStoreDownload[_key == $locale][0].value,\n      modalTitleAppStoreDownload[_key == \"en-gb\"][0].value,\n    ),\n    \"appleAppStore\": coalesce(\n      appleAppStore[_key == $locale][0].value,\n      appleAppStore[_key == \"en-gb\"][0].value,\n    ),\n    \"googlePlayStore\": coalesce(\n      googlePlayStore[_key == $locale][0].value,\n      googlePlayStore[_key == \"en-gb\"][0].value,\n    ),\n    \"huaweiAppGallery\": coalesce(\n      huaweiAppGallery[_key == $locale][0].value,\n      huaweiAppGallery[_key == \"en-gb\"][0].value,\n    ),\n    \"appleAppStoreBadge\": coalesce(\n      appleAppStoreBadge[_key == $locale][0].value.asset->url,\n      appleAppStoreBadge[_key == \"en-gb\"][0].value.asset->url,\n    ),\n    \"googlePlayStoreBadge\": coalesce(\n      googlePlayStoreBadge[_key == $locale][0].value.asset->url,\n      googlePlayStoreBadge[_key == \"en-gb\"][0].value.asset->url,\n    ),\n    \"huaweiAppGalleryBadge\": coalesce(\n      huaweiAppGalleryBadge[_key == $locale][0].value.asset->url,\n      huaweiAppGalleryBadge[_key == \"en-gb\"][0].value.asset->url,\n    ),\n  },\n  \"social\": *[_type == \"config.social\"][0] {\n    \"Facebook\": Facebook[_key == $locale][0].value,\n    \"FacebookAPIKey\": FacebookAPIKey[_key == $locale][0].value,\n    \"Instagram\": Instagram[_key == $locale][0].value,\n    \"LinkedIn\": LinkedIn[_key == $locale][0].value,\n    \"Twitter\": Twitter[_key == $locale][0].value,\n    \"YouTube\": YouTube[_key == $locale][0].value,\n    \"TikTok\": TikTok[_key == $locale][0].value,\n  },\n  \"slugs\": {\n    \"blog\": *[_id == $blogSingletonDocId][0].slug.current,\n    \"careers\": *[_id == $careersSingletonDocId][0].slug.current,\n    \"pressReleases\": *[_id == $pressReleaseSingletonDocId][0].slug.current,\n  },\n  \"fallbackImages\": *[_type == \"config.placeholderImages\"][0] {\n    \"press\": defaultImagePress {\n      fit,\n      alt,\n      asset,\n    },\n    \"resource\": defaultImageResources {\n      fit,\n      alt,\n      asset\n    }\n  }\n}:{\"locale\":\"en-us\",\"blogSingletonDocId\":\"singleton-pages-en-us-about-food-waste-blog-home\",\"careersSingletonDocId\":\"singleton-careerPages-en-us-careers-home\",\"pressReleaseSingletonDocId\":\"singleton-pages-en-us-press-home\"}":3,"sanity-secure:{\n  \"page\": *[_type == $type && language == $locale && slug.current == $slug && true && (!defined($parent) || parent->slug.current == $parent) && (!defined($grandParent) || parent->parent->slug.current == $grandParent) && (!defined($greatGrandParent) || parent->parent->parent->slug.current == $greatGrandParent)][0] {\n    \n  _type,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n,\n  parent,\n  language,\n  pageVisibility,\n  seoSocial,\n  hideHeader,\n  \"_translations\": *[_type == \"translation.metadata\" && references(^._id)].translations[].value->{\n    title,\n    \"slug\": slug.current,\n    language\n  },\n  _createdAt,\n  _updatedAt,\n  publishedAt,\n  updatedAt,\n  pretitle,\n  title,\n  author->{\n    name,\n    slug,\n    \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n,\n    image,\n    \"hasBio\": count(bio[_key == $locale][0].value[children[].text match \"?*\"]) > 0,\n  },\n  slug,\n  parent,\n  image,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  migrated,\n  contentChoice,\n  pageContent,\n  categories\n,\n    defined($defaultPageBlocksDocId) => {\n      \"defaultPageBlocks\": *[_id == $defaultPageBlocksDocId][0].content[] {\n        \n  ...,\n  content[] {\n    \n  ...,\n  _type == \"modularContentBlocks.inner.title\"=>{\ntitle[] {\n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n},\npreTitle[] {\n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n},\ndescription[] {\n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n}\n},_type == \"modularContentBlocks.inner.baseText\"=>{\n  text[] {\n  \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n  tableData {\n      ...,\n      rows[] {\n        ...,\n        cells[] {\n          ...,\n          text[] {\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      }\n    }\n  }\n},_type == \"modularContentBlocks.inner.buttonGroup\"=>{\n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n},_type == \"modularContentBlocks.inner.salesforceForms\"=>{\n  salesforceForm->{\n  ...,\n  fieldsTexts {\n    ...,\n    noteText[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n    },\n  },\n  platformOptions {\n    ...,\n    platformOptionsValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n    },\n  },\n  blockerInputTexts {\n    ...,\n    blockerValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n    },\n  }\n}},_type == \"modularContentBlocks.inner.faq\"=>{\n  \"items\": coalesce(\n    onetime.items[!($locale in coalesce(hiddenInLocales, []))] {\n    _key,\n    analyticsProperty,\n    question,\n    answer[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    existing->items[!($locale in coalesce(hiddenInLocales, []))] {\n      _key,\n      \n  \"analyticsProperty\": coalesce(\n    analyticsProperty[_key == $locale][0].value,\n    analyticsProperty[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  )\n},_type == \"modularContentBlocks.inner.statistics\"=>{\n   ...,\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n   \"items\": coalesce(items[] {\n      _type==\"onetime\" => {\n...,\n},\n      _type==\"existing\"=> @->{\n        icon,\n        \n  \"prefix\": coalesce(\n    prefix[_key == $locale][0].value,\n    prefix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"stat\": coalesce(\n    stat[_key == $locale][0].value,\n    stat[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"suffix\": coalesce(\n    suffix[_key == $locale][0].value,\n    suffix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"context\": coalesce(\n    context[_key == $locale][0].value,\n    context[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"content\": coalesce(\n    content[_key == $locale][0].value,\n    content[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"source\": coalesce(\n    source[_key == $locale][0].value,\n    source[_key == \"en-gb\"][0].value,\n  )\n,\n      }\n    }, [])\n },_type == \"modularContentBlocks.inner.people\"=>{\n    people[]->{\n      ...,\n      \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n\n    }\n},_type == \"modularContentBlocks.inner.ticker\"=>{\n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n    ...,\n    \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n    \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n},_type == \"modularContentBlocks.inner.callout\"=>{\n   ...,\n   \"content\": coalesce(content[] {\n      ...,\n      title[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      subtitle[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n   }, false),\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n },_type == \"modularContentBlocks.inner.forms\"=>{\n  ...,\n  form->{\n    \n  ...,\n  notifications[] {\n    _type,\n    _key,\n  },\n  fields[] {\n    ...,\n    richValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    },\n    noteText[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    }\n  },\n  confirmation {\n    \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  contentBlocks[] {\n    \n  ...,\n  _type == \"modularContentBlocks.inner.buttonGroup\" => {\n    \n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.people\" => {\n    \n    people[]->{\n      ...,\n      \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n\n    }\n\n  },\n  _type == \"modularContentBlocks.inner.title\" => {\n    \n  ...,\n  title[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.baseText\" => {\n    \n  text[] {\n  \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n  tableData {\n      ...,\n      rows[] {\n        ...,\n        cells[] {\n          ...,\n          text[] {\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      }\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.faq\" => {\n    \n  \"items\": coalesce(\n    onetime.items[!($locale in coalesce(hiddenInLocales, []))] {\n    _key,\n    analyticsProperty,\n    question,\n    answer[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    existing->items[!($locale in coalesce(hiddenInLocales, []))] {\n      _key,\n      \n  \"analyticsProperty\": coalesce(\n    analyticsProperty[_key == $locale][0].value,\n    analyticsProperty[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  )\n\n  },\n  _type == \"modularContentBlocks.inner.statistics\" => {\n    \n   ...,\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n   \"items\": coalesce(items[] {\n      _type==\"onetime\" => {\n...,\n},\n      _type==\"existing\"=> @->{\n        icon,\n        \n  \"prefix\": coalesce(\n    prefix[_key == $locale][0].value,\n    prefix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"stat\": coalesce(\n    stat[_key == $locale][0].value,\n    stat[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"suffix\": coalesce(\n    suffix[_key == $locale][0].value,\n    suffix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"context\": coalesce(\n    context[_key == $locale][0].value,\n    context[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"content\": coalesce(\n    content[_key == $locale][0].value,\n    content[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"source\": coalesce(\n    source[_key == $locale][0].value,\n    source[_key == \"en-gb\"][0].value,\n  )\n,\n      }\n    }, [])\n \n  },\n  _type == \"modularContentBlocks.inner.callout\" => {\n    \n   ...,\n   \"content\": coalesce(content[] {\n      ...,\n      title[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      subtitle[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n   }, false),\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n \n  },\n  _type == \"modularContentBlocks.inner.ticker\" => {\n    \n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n    ...,\n    \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n    \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.video\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.profilePicture\" => {\n    ...,\n    \"person\": person->\n  },\n  _type == \"modularContentBlocks.inner.partnerLogo\" => {\n    ...,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    }\n  },\n  _type == \"modularContentBlocks.inner.listing\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.tiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  link {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    },\n  },\n  \u002F\u002F Make sure that links are not included if containsLink is false\n  containsLink == false => {\n    \"link\": null,\n  }\n}\n\n  },\n  _type == \"modularContentBlocks.inner.nudge\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.solutionTiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  link {\n    ...,\n    link->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n\n    },\n  },\n}\n\n  },\n  _type == \"modularContentBlocks.inner.campaignCounter\" => {\n    \n  },\n  _type == \"modularContentBlocks.outer.privacyControls\" => {\n    \n  ...,\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.forms\" => {\n    \n  ...,\n  form->{\n    _id,\n    title,\n    submitButtonText,\n    fields[] {\n      ...,\n      richValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    confirmation {\n      \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.salesforceForms\" => {\n    \n  ...,\n  salesforceForm->{\n    _id,\n    title,\n    formUrl,\n    formOid,\n    productInterest,\n    submitButtonText,\n    fieldsTexts {\n      ...,\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    platformOptions {\n      ...,\n      platformOptionsValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    blockerInputTexts {\n      ...,\n      blockerValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  }\n\n  }\n\n  }\n\n  }\n\n  },\n},_type == \"modularContentBlocks.inner.profilePicture\"=>{\nperson->\n},_type == \"modularContentBlocks.inner.tiles\"=>{\n...,\ntiles[] {\n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  link {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    },\n  },\n  \u002F\u002F Make sure that links are not included if containsLink is false\n  containsLink == false => {\n    \"link\": null,\n  }\n}\n},_type == \"modularContentBlocks.inner.solutionTiles\"=>{\n...,\ntiles[] {\n  ...,\n  link {\n    ...,\n    link->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n\n    },\n  },\n}\n}\n\n  },\n  _type == \"modularContentBlocks.outer.carouselSection\"=>{ \n  ...,\n  preCarouselContent[] {\n    ...,\n    person->,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    },\n },\n slides[] {\n  ...,\n  content[] {\n    ...,\n    person->,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    },\n  }\n }\n },_type == \"modularContentBlocks.outer.tickerSection\"=>{ \n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n },_type == \"modularContentBlocks.outer.stepsSection\"=>{ \n  ...,\n  slides[] {\n    ...,\n    content[] {\n      ...,\n      _type == \"modularContentBlocks.inner.buttonGroup\" => {\n        buttons[] {\n          ...,\n          link {\n            ...,\n            \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n          },\n        },\n      },\n    },\n  },\n  buttons[] {\n    ...,\n    link {\n      ...,\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      }\n    }\n },_type == \"modularContentBlocks.outer.cta\"=>{ \n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n },_type == \"modularContentBlocks.outer.careers\"=>{ \n  ...,\n  \"defaultResultsLabels\": *[_id == \"singleton-careerPages-en-gb-careers-home\" && language == \"en-gb\"]{\n  content[][_type == \"modularContentBlocks.outer.careers\"] {resultsLabels}\n  }\n },_type == \"modularContentBlocks.outer.solutionFinder\"=>{ \n  vendorTypes[]->{\n    _id,\n    _type,\n    title,\n    icon,\n  }\n },_type == \"modularContentBlocks.outer.supportSection\"=>{ \n  supportPath->{\n    ...,\n    \n    itemChoices[] {\n      ...,\n      faqsToDisplay[]->{\n        items[!($locale in coalesce(hiddenInLocales, []))] {\n          _key,\n          analyticsProperty,\n          \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n          \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n            \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      },\n      formToDisplay->{\n        \n  ...,\n  notifications[] {\n    _type,\n    _key,\n  },\n  fields[] {\n    ...,\n    richValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    },\n    noteText[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    }\n  },\n  confirmation {\n    \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  contentBlocks[] {\n    \n  ...,\n  _type == \"modularContentBlocks.inner.buttonGroup\" => {\n    \n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.people\" => {\n    \n    people[]->{\n      ...,\n      \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n\n    }\n\n  },\n  _type == \"modularContentBlocks.inner.title\" => {\n    \n  ...,\n  title[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.baseText\" => {\n    \n  text[] {\n  \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n  tableData {\n      ...,\n      rows[] {\n        ...,\n        cells[] {\n          ...,\n          text[] {\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      }\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.faq\" => {\n    \n  \"items\": coalesce(\n    onetime.items[!($locale in coalesce(hiddenInLocales, []))] {\n    _key,\n    analyticsProperty,\n    question,\n    answer[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    existing->items[!($locale in coalesce(hiddenInLocales, []))] {\n      _key,\n      \n  \"analyticsProperty\": coalesce(\n    analyticsProperty[_key == $locale][0].value,\n    analyticsProperty[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  )\n\n  },\n  _type == \"modularContentBlocks.inner.statistics\" => {\n    \n   ...,\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n   \"items\": coalesce(items[] {\n      _type==\"onetime\" => {\n...,\n},\n      _type==\"existing\"=> @->{\n        icon,\n        \n  \"prefix\": coalesce(\n    prefix[_key == $locale][0].value,\n    prefix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"stat\": coalesce(\n    stat[_key == $locale][0].value,\n    stat[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"suffix\": coalesce(\n    suffix[_key == $locale][0].value,\n    suffix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"context\": coalesce(\n    context[_key == $locale][0].value,\n    context[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"content\": coalesce(\n    content[_key == $locale][0].value,\n    content[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"source\": coalesce(\n    source[_key == $locale][0].value,\n    source[_key == \"en-gb\"][0].value,\n  )\n,\n      }\n    }, [])\n \n  },\n  _type == \"modularContentBlocks.inner.callout\" => {\n    \n   ...,\n   \"content\": coalesce(content[] {\n      ...,\n      title[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      subtitle[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n   }, false),\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n \n  },\n  _type == \"modularContentBlocks.inner.ticker\" => {\n    \n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n    ...,\n    \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n    \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.video\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.profilePicture\" => {\n    ...,\n    \"person\": person->\n  },\n  _type == \"modularContentBlocks.inner.partnerLogo\" => {\n    ...,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    }\n  },\n  _type == \"modularContentBlocks.inner.listing\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.tiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  link {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    },\n  },\n  \u002F\u002F Make sure that links are not included if containsLink is false\n  containsLink == false => {\n    \"link\": null,\n  }\n}\n\n  },\n  _type == \"modularContentBlocks.inner.nudge\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.solutionTiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  link {\n    ...,\n    link->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n\n    },\n  },\n}\n\n  },\n  _type == \"modularContentBlocks.inner.campaignCounter\" => {\n    \n  },\n  _type == \"modularContentBlocks.outer.privacyControls\" => {\n    \n  ...,\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.forms\" => {\n    \n  ...,\n  form->{\n    _id,\n    title,\n    submitButtonText,\n    fields[] {\n      ...,\n      richValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    confirmation {\n      \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.salesforceForms\" => {\n    \n  ...,\n  salesforceForm->{\n    _id,\n    title,\n    formUrl,\n    formOid,\n    productInterest,\n    submitButtonText,\n    fieldsTexts {\n      ...,\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    platformOptions {\n      ...,\n      platformOptionsValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    blockerInputTexts {\n      ...,\n      blockerValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  }\n\n  }\n\n  }\n\n  }\n\n      },\n      \n    itemChoices[] {\n      ...,\n      faqsToDisplay[]->{\n        items[!($locale in coalesce(hiddenInLocales, []))] {\n          _key,\n          analyticsProperty,\n          \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n          \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n            \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      },\n      formToDisplay->{\n        \n  ...,\n  notifications[] {\n    _type,\n    _key,\n  },\n  fields[] {\n    ...,\n    richValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    },\n    noteText[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    }\n  },\n  confirmation {\n    \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  contentBlocks[] {\n    \n  ...,\n  _type == \"modularContentBlocks.inner.buttonGroup\" => {\n    \n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.people\" => {\n    \n    people[]->{\n      ...,\n      \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n\n    }\n\n  },\n  _type == \"modularContentBlocks.inner.title\" => {\n    \n  ...,\n  title[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.baseText\" => {\n    \n  text[] {\n  \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n  tableData {\n      ...,\n      rows[] {\n        ...,\n        cells[] {\n          ...,\n          text[] {\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      }\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.faq\" => {\n    \n  \"items\": coalesce(\n    onetime.items[!($locale in coalesce(hiddenInLocales, []))] {\n    _key,\n    analyticsProperty,\n    question,\n    answer[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    existing->items[!($locale in coalesce(hiddenInLocales, []))] {\n      _key,\n      \n  \"analyticsProperty\": coalesce(\n    analyticsProperty[_key == $locale][0].value,\n    analyticsProperty[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  )\n\n  },\n  _type == \"modularContentBlocks.inner.statistics\" => {\n    \n   ...,\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n   \"items\": coalesce(items[] {\n      _type==\"onetime\" => {\n...,\n},\n      _type==\"existing\"=> @->{\n        icon,\n        \n  \"prefix\": coalesce(\n    prefix[_key == $locale][0].value,\n    prefix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"stat\": coalesce(\n    stat[_key == $locale][0].value,\n    stat[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"suffix\": coalesce(\n    suffix[_key == $locale][0].value,\n    suffix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"context\": coalesce(\n    context[_key == $locale][0].value,\n    context[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"content\": coalesce(\n    content[_key == $locale][0].value,\n    content[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"source\": coalesce(\n    source[_key == $locale][0].value,\n    source[_key == \"en-gb\"][0].value,\n  )\n,\n      }\n    }, [])\n \n  },\n  _type == \"modularContentBlocks.inner.callout\" => {\n    \n   ...,\n   \"content\": coalesce(content[] {\n      ...,\n      title[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      subtitle[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n   }, false),\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n \n  },\n  _type == \"modularContentBlocks.inner.ticker\" => {\n    \n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n    ...,\n    \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n    \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.video\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.profilePicture\" => {\n    ...,\n    \"person\": person->\n  },\n  _type == \"modularContentBlocks.inner.partnerLogo\" => {\n    ...,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    }\n  },\n  _type == \"modularContentBlocks.inner.listing\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.tiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  link {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    },\n  },\n  \u002F\u002F Make sure that links are not included if containsLink is false\n  containsLink == false => {\n    \"link\": null,\n  }\n}\n\n  },\n  _type == \"modularContentBlocks.inner.nudge\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.solutionTiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  link {\n    ...,\n    link->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n\n    },\n  },\n}\n\n  },\n  _type == \"modularContentBlocks.inner.campaignCounter\" => {\n    \n  },\n  _type == \"modularContentBlocks.outer.privacyControls\" => {\n    \n  ...,\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.forms\" => {\n    \n  ...,\n  form->{\n    _id,\n    title,\n    submitButtonText,\n    fields[] {\n      ...,\n      richValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    confirmation {\n      \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.salesforceForms\" => {\n    \n  ...,\n  salesforceForm->{\n    _id,\n    title,\n    formUrl,\n    formOid,\n    productInterest,\n    submitButtonText,\n    fieldsTexts {\n      ...,\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    platformOptions {\n      ...,\n      platformOptionsValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    blockerInputTexts {\n      ...,\n      blockerValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  }\n\n  }\n\n  }\n\n  }\n\n      },\n      \n    itemChoices[] {\n      ...,\n      faqsToDisplay[]->{\n        items[!($locale in coalesce(hiddenInLocales, []))] {\n          _key,\n          analyticsProperty,\n          \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n          \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n            \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      },\n      formToDisplay->{\n        \n  ...,\n  notifications[] {\n    _type,\n    _key,\n  },\n  fields[] {\n    ...,\n    richValidationMessage[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    },\n    noteText[] {\n      \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n    }\n  },\n  confirmation {\n    \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  contentBlocks[] {\n    \n  ...,\n  _type == \"modularContentBlocks.inner.buttonGroup\" => {\n    \n  ...,\n  buttons[] {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.people\" => {\n    \n    people[]->{\n      ...,\n      \n  \"jobTitle\": coalesce(\n    jobTitle[_key == $locale][0].value,\n    jobTitle[_key == \"en-gb\"][0].value,\n  )\n\n    }\n\n  },\n  _type == \"modularContentBlocks.inner.title\" => {\n    \n  ...,\n  title[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.baseText\" => {\n    \n  text[] {\n  \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n,\n  tableData {\n      ...,\n      rows[] {\n        ...,\n        cells[] {\n          ...,\n          text[] {\n            \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n          }\n        }\n      }\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.faq\" => {\n    \n  \"items\": coalesce(\n    onetime.items[!($locale in coalesce(hiddenInLocales, []))] {\n    _key,\n    analyticsProperty,\n    question,\n    answer[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    existing->items[!($locale in coalesce(hiddenInLocales, []))] {\n      _key,\n      \n  \"analyticsProperty\": coalesce(\n    analyticsProperty[_key == $locale][0].value,\n    analyticsProperty[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"question\": coalesce(\n    question[_key == $locale][0].value,\n    question[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"answer\": coalesce(\n    answer[_key == $locale][0].value,\n    answer[_key == \"en-gb\"][0].value,\n  )\n[] {\n        \n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n,\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  )\n\n  },\n  _type == \"modularContentBlocks.inner.statistics\" => {\n    \n   ...,\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n   \"items\": coalesce(items[] {\n      _type==\"onetime\" => {\n...,\n},\n      _type==\"existing\"=> @->{\n        icon,\n        \n  \"prefix\": coalesce(\n    prefix[_key == $locale][0].value,\n    prefix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"stat\": coalesce(\n    stat[_key == $locale][0].value,\n    stat[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"suffix\": coalesce(\n    suffix[_key == $locale][0].value,\n    suffix[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"context\": coalesce(\n    context[_key == $locale][0].value,\n    context[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"content\": coalesce(\n    content[_key == $locale][0].value,\n    content[_key == \"en-gb\"][0].value,\n  )\n,\n        \n  \"source\": coalesce(\n    source[_key == $locale][0].value,\n    source[_key == \"en-gb\"][0].value,\n  )\n,\n      }\n    }, [])\n \n  },\n  _type == \"modularContentBlocks.inner.callout\" => {\n    \n   ...,\n   \"content\": coalesce(content[] {\n      ...,\n      title[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      subtitle[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n   }, false),\n   \"button\": coalesce(button[][0] {\n      ...,\n      link {\n        \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n      },\n  }, false),\n \n  },\n  _type == \"modularContentBlocks.inner.ticker\" => {\n    \n  ...,\n  items[] {\n    _type == 'onetime' => {\n      name\n    },\n    _type == 'existing' => @->{\n      name\n    }\n  },\n  logos[]->{\n    ...,\n    \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n    \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.video\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.profilePicture\" => {\n    ...,\n    \"person\": person->\n  },\n  _type == \"modularContentBlocks.inner.partnerLogo\" => {\n    ...,\n    partnerLogo->{\n      ...,\n      \n  \"partnerName\": coalesce(\n    partnerName[_key == $locale][0].value,\n    partnerName[_key == \"en-gb\"][0].value,\n  )\n,\n      \n  \"partnerLogo\": coalesce(\n    partnerLogo[_key == $locale][0].value,\n    partnerLogo[_key == \"en-gb\"][0].value,\n  )\n,\n    }\n  },\n  _type == \"modularContentBlocks.inner.listing\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.tiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  content[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  link {\n    ...,\n    link {\n      \n  ...,\n  linkType == 'internal' => {\n    'internalAnchor': internalAnchor.internal,\n    'reference': internal->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n,\n    }\n  }\n\n    },\n  },\n  \u002F\u002F Make sure that links are not included if containsLink is false\n  containsLink == false => {\n    \"link\": null,\n  }\n}\n\n  },\n  _type == \"modularContentBlocks.inner.nudge\" => {\n    \n  },\n  _type == \"modularContentBlocks.inner.solutionTiles\" => {\n    \n...,\ntiles[] {\n  ...,\n  link {\n    ...,\n    link->{\n      \n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n\n    },\n  },\n}\n\n  },\n  _type == \"modularContentBlocks.inner.campaignCounter\" => {\n    \n  },\n  _type == \"modularContentBlocks.outer.privacyControls\" => {\n    \n  ...,\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.forms\" => {\n    \n  ...,\n  form->{\n    _id,\n    title,\n    submitButtonText,\n    fields[] {\n      ...,\n      richValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      },\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    confirmation {\n      \n  \"confirmationType\": coalesce(confirmationType, type),\n  contentRedirectUrl,\n  contentMessage[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n\n    }\n  }\n\n  },\n  _type == \"modularContentBlocks.inner.salesforceForms\" => {\n    \n  ...,\n  salesforceForm->{\n    _id,\n    title,\n    formUrl,\n    formOid,\n    productInterest,\n    submitButtonText,\n    fieldsTexts {\n      ...,\n      noteText[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    platformOptions {\n      ...,\n      platformOptionsValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    },\n    blockerInputTexts {\n      ...,\n      blockerValidationMessage[] {\n        \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n      }\n    }\n  }\n\n  }\n\n  }\n\n  }\n\n      },\n      \n    }\n  \n    }\n  \n    }\n  ,\n  }\n },_type == \"modularContentBlocks.outer.signatureGenerator\"=>{ \n  signatureGeneratorFragment->{\n    ...,\n    },\n    \"defaultPronouns\": *[_type == \"fragments.signatureGenerator\" && language == \"en-gb\"]{\n      pronouns,\n    }\n },_type == \"modularContentBlocks.outer.referral\"=>{ \n  ...,\n  descriptionUnhappy[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  },\n },_type == \"modularContentBlocks.outer.cookieList\"=>{ \n  \u002F\u002F No fields needed for CookieList\n },_type == \"modularContentBlocks.outer.locationFinder\"=>{ \n  ...,\n  \"staticTranslations\": *[\n      _type == \"fragments.surpriseBag\" && language == $locale][0],\n },_type == \"modularContentBlocks.outer.privacyControls\"=>{ \n  ...,\n  description[] {\n    \n...,\nchildren[] {\n  ...,\n  \n  \"text\": select(\n    dataType == \"statistics\" => coalesce(\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == $locale][0].value,\n      *[_type == \"statistics\" && _id == coalesce(^.text._ref, ^.text)][0].stat[_key == \"en-gb\"][0].value,\n    ),\n    dataType == \"people\" => *[\n      _type == \"people\" && _id == coalesce(^.text._ref, ^.text)\n    ][0].name,\n    coalesce(^.text._ref, ^.text, text)\n  ),\n\n},\nmarkDefs[] {\n  ...,\n  reference->{\n  _type,\n  slug,\n  \"locale\": language,\n  \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n\n},\n  newWindow,\n  'internalAnchor': internalAnchor.internal\n}\n\n  }\n }\n\n      },\n    },\n  },\n}:{\"type\":\"aboutFoodWaste.blog\",\"defaultPageBlocksDocId\":\"singleton-defaultBlocks-en-us-about-food-waste-blog-single-default-blocks\",\"locale\":\"en-us\",\"greatGrandParent\":null,\"grandParent\":null,\"parent\":\"blog\",\"slug\":\"make-halloween-sustainable-less-waste-more-treats-more-fun\"}":327,"sanity-secure:\n    *[ _type == $taxonomy && language == \"en-us\"] {\n      _id,\n      title,\n      \"slug\": slug.current,\n    }\n  :{\"taxonomy\":\"\"}":1109,"sanity-secure:{\n    \"totalPosts\": count(*[_type == $type && (!defined($locale) || language == $locale) && true && (!defined($activeFilter) || references(*[_type==$taxonomy && (slug.current in $activeFilter)]._id))]),\n    \"posts\": *[_type == $type && (!defined($locale) || language == $locale) && true && (!defined($activeFilter) || references(*[_type==$taxonomy && (slug.current in $activeFilter)]._id))] | order(publishedAt desc) [$sliceStart...$sliceEnd] {\n    _id,\n    _createdAt,\n    publishedAt,\n    updatedAt,\n    language,\n    title,\n    pretitle,\n    image,\n    excerpt,\n    migrated,\n    categories[]->{\n      title,\n      \"slug\": slug.current,\n    },\n    \"content\": pt::text(content),\n    \n  \"slug\": '\u002F'+slug.current,\n  defined(parent) => {\"slug\": '\u002F'+ parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent) => {\"slug\": '\u002F'+parent->parent->slug.current+'\u002F'+parent->slug.current+'\u002F'+slug.current},\n  defined(parent->parent->parent) => {\"slug\": '\u002F'+ parent->parent->parent->slug.current +'\u002F'+parent->parent->slug.current +'\u002F'+parent->slug.current+'\u002F'+slug.current}\n,\n    \"file\": file.asset->,\n    url\n    }\n  }:{\"type\":\"aboutFoodWaste.blog\",\"locale\":\"en-us\",\"page\":1,\"sliceStart\":0,\"sliceEnd\":4,\"activeFilter\":null,\"taxonomy\":\"\",\"sanityKey\":\"listing_vwglvq\"}":1110},{"appStores":4,"defaultSeo":10,"fallbackImages":21,"regionTheme":30,"slugs":320,"social":324},{"appleAppStore":5,"appleAppStoreBadge":6,"googlePlayStore":5,"googlePlayStoreBadge":7,"huaweiAppGallery":5,"huaweiAppGalleryBadge":8,"modalTitleAppStoreDownload":9},"https:\u002F\u002Ftgtg.onelink.me\u002FOGjG\u002Fafd50hls","https:\u002F\u002Fcdn.sanity.io\u002Fimages\u002Fnqimd3nr\u002Fproduction\u002Fceed6a2b4247d22d0e6f9425cad1d5c39af762fe-480x160.png","https:\u002F\u002Fcdn.sanity.io\u002Fimages\u002Fnqimd3nr\u002Fproduction\u002F68072d9f747a9e089548846cecc588ef52bb624e-540x160.png",null,"Download the app and start saving delicious food today",{"favicon":11,"metaDescription":8,"metaDescriptionFallback":14,"metaTitle":8,"metaTitleFallback":15,"mobileAppDescription":8,"mobileAppDescriptionFallback":8,"siteTitle":8,"siteUrl":16,"socialImage":17,"titleSeparator":19,"withSiteTitle":20},{"_ref":12,"_type":13},"image-eb37301e40a80bb500e31e5a939924c582ad7744-512x512-png","reference","The app that lets customers rescue unsold food from shops and restaurants to save it from going to waste. Try it today.","Join Our Food Waste Movement","https:\u002F\u002Ftoogoodtogo.com",{"_ref":18,"_type":13},"image-e45b68b658778f2849b920af8e626567ec51d94b-1440x818-jpg","–","append",{"press":22,"resource":26},{"alt":8,"asset":23,"fit":25},{"_ref":24,"_type":13},"image-b78d00b015d990a35bc429a7b3a849a300872fe5-512x340-png","cover",{"alt":27,"asset":28,"fit":25},"a collection of brochures with one that says 2022 in numbers",{"_ref":29,"_type":13},"image-21d8db28cd1bbe29c6c986dd4798ec9ec79ace1b-1024x680-png",{"_createdAt":31,"_id":32,"_rev":33,"_type":34,"_updatedAt":35,"activeAnnouncement":8,"homepage":36,"language":38,"mainFooter":39,"mainNav":141,"mainNavigation":143},"2024-02-06T12:02:28Z","singleton-theme-en-us","S2mxzCT7dq51nqm7vwud0T","theme","2024-07-02T08:23:41Z",{"_ref":37,"_type":13},"singleton-pages-en-us-homepage","en-us",{"footnote":8,"legalLinks":40,"pageLinks":91,"socialLinks":112},[41,50,55,60,65,70,75,80,86],{"_key":42,"_type":43,"newWindow":44,"otherLocales":45,"reference":46,"title":49},"f8119a1b1bf5","link.internal",true,false,{"_type":47,"locale":38,"slug":48},"legalPages","\u002Flegal","Legal",{"_key":51,"_type":43,"newWindow":44,"otherLocales":45,"reference":52,"title":54},"6708b9b870b1",{"_type":47,"locale":38,"slug":53},"\u002Flegal\u002Fprivacy","Privacy Policy",{"_key":56,"_type":43,"newWindow":44,"otherLocales":45,"reference":57,"title":59},"27a9f2676a90",{"_type":47,"locale":38,"slug":58},"\u002Flegal\u002Fcookie-policy","Cookie Policy",{"_key":61,"_type":43,"newWindow":45,"otherLocales":45,"reference":62,"title":64},"10c9c20bc5f2",{"_type":47,"locale":38,"slug":63},"\u002Flegal\u002Fterms-and-conditions-using-the-app","Terms & Conditions",{"_key":66,"_type":43,"newWindow":44,"otherLocales":45,"reference":67,"title":69},"173270383b82",{"_type":47,"locale":38,"slug":68},"\u002Flegal\u002Fcontact-us","Contact us",{"_key":71,"_type":43,"newWindow":44,"otherLocales":45,"reference":72,"title":74},"5a9de968a793",{"_type":47,"locale":38,"slug":73},"\u002Flegal\u002Fdsa-disclosure","DSA Disclosure",{"_key":76,"_type":43,"newWindow":44,"otherLocales":45,"reference":77,"title":79},"053b1f8cd505",{"_type":47,"locale":38,"slug":78},"\u002Flegal\u002Fprivacy-settings","Do Not Sell or Share My Data",{"_key":81,"_type":43,"newWindow":44,"otherLocales":45,"reference":82,"title":85},"37636b5315eb",{"_type":83,"locale":38,"slug":84},"pages","\u002Ftgtg-claims","Food Waste Sources",{"_key":87,"_type":88,"newWindow":44,"title":89,"url":90},"4431596f1003","link.external","Status","https:\u002F\u002Fstatus.toogoodtogo.com\u002F",[92,98,103,108],{"_key":93,"_type":43,"newWindow":8,"otherLocales":45,"reference":94,"title":97},"5b7e3a106f9e",{"_type":95,"locale":38,"slug":96},"careerPages","\u002Fcareers","Careers",{"_key":99,"_type":43,"newWindow":8,"otherLocales":45,"reference":100,"title":102},"50962d914fe4",{"_type":83,"locale":38,"slug":101},"\u002Fpress","Press",{"_key":104,"_type":43,"newWindow":8,"otherLocales":45,"reference":105,"title":107},"78914bcedf91",{"_type":83,"locale":38,"slug":106},"\u002Fsupport","Support",{"_key":109,"_type":88,"newWindow":44,"title":110,"url":111},"280fc737f6b5","Mystore","https:\u002F\u002Fstore.toogoodtogo.com\u002Flogin",[113,119,123,127,132,136],{"_key":114,"_type":115,"icon":116,"title":117,"url":118},"98a17a45c700","link.social","Linkedin","LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Ftoo-good-to-go",{"_key":120,"_type":115,"icon":121,"title":121,"url":122},"fd26a3b7a123","Instagram","https:\u002F\u002Fwww.instagram.com\u002Ftoogoodtogo.usa\u002F",{"_key":124,"_type":115,"icon":125,"title":125,"url":126},"5a6f37dc5cfe","Facebook","https:\u002F\u002Fwww.facebook.com\u002FtoogoodtogoUSA\u002F",{"_key":128,"_type":115,"icon":129,"title":130,"url":131},"7abf4217cfde","Tiktok","Tik Tok","https:\u002F\u002Fwww.tiktok.com\u002F@toogoodtogo",{"_key":133,"_type":115,"icon":134,"title":134,"url":135},"c949f075e758","Youtube","https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCBonm_44z7UL0OvhHksBCAw",{"_key":137,"_type":115,"icon":138,"title":139,"url":140},"31d5e2c397ef","X_icon","X","https:\u002F\u002Fwww.twitter.com\u002Ftoogoodtogo",{"_ref":142,"_type":13},"AQVKCBGGRXIlMTy62nqL6C",{"menuActions":144,"mobileHeaderActionKey":146,"topLevelMenuItems":165},[145,153,160],{"_key":146,"_type":147,"appstoreLink":148,"button":8,"externalLink":8,"internalLink":8,"ssuLink":8},"b31127a48261","newHeaderAction.appstoreLink",{"_type":149,"buttonColor":150,"buttonText":151,"variant":152},"appstoreLink","white","Download app","automatic",{"_key":154,"_type":155,"appstoreLink":8,"button":8,"externalLink":8,"internalLink":8,"ssuLink":156},"d3080ad0695e","newHeaderAction.ssuLink",{"_type":157,"newWindow":44,"title":158,"url":159},"link.ssu","Sign up as Business","https:\u002F\u002Fstore.toogoodtogo.com\u002Fonboarding",{"_key":161,"_type":162,"appstoreLink":8,"button":8,"externalLink":163,"internalLink":8,"ssuLink":8},"ab3a15158657","newHeaderAction.externalLink",{"_type":88,"newWindow":44,"title":164,"url":111},"MyStore login",[166,249],{"additionalInfo":8,"submenuLists":167,"title":248},[168,193,229],{"submenuListItems":169,"submenuListTitle":192},[170,175,180,186],{"_key":171,"_type":43,"newWindow":45,"otherLocales":45,"reference":172,"title":174},"b7256c5acbef",{"_type":83,"locale":38,"slug":173},"\u002Fhow-to-collect-too-good-to-go","How to collect a Too Good To Go surprise bag?",{"_key":176,"_type":43,"newWindow":45,"otherLocales":45,"reference":177,"title":179},"7b7825c8941e",{"_type":83,"locale":38,"slug":178},"\u002Fhow-does-the-app-work","How does the app work?",{"_key":181,"_type":43,"newWindow":45,"otherLocales":45,"reference":182,"title":185},"d7cca2808225",{"_type":183,"locale":38,"slug":184},"aboutUs.pages","\u002Fabout-us\u002Fin-my-area","Too Good To Go in my area",{"_key":187,"_type":43,"newWindow":45,"otherLocales":45,"reference":188,"title":191},"d2321ab19b10",{"_type":189,"locale":38,"slug":190},"surpriseBagHome","\u002Ffind","Save good food near you","The app",{"submenuListItems":194,"submenuListTitle":228},[195,200,205,210,215,218,223],{"_key":196,"_type":43,"newWindow":45,"otherLocales":45,"reference":197,"title":199},"9732bb328b6a",{"_type":183,"locale":38,"slug":198},"\u002Fabout-us","About Too Good To Go",{"_key":201,"_type":43,"newWindow":45,"otherLocales":45,"reference":202,"title":204},"ac2fe81a6053",{"_type":183,"locale":38,"slug":203},"\u002Fabout-us\u002Four-history","Our history",{"_key":206,"_type":43,"newWindow":45,"otherLocales":45,"reference":207,"title":209},"901aa40c89be",{"_type":183,"locale":38,"slug":208},"\u002Fabout-us\u002Fb-corp","B Corp",{"_key":211,"_type":43,"newWindow":45,"otherLocales":45,"reference":212,"title":214},"cc89fcc93d23",{"_type":183,"locale":38,"slug":213},"\u002Fabout-us\u002Fesg","ESG",{"_key":216,"_type":43,"newWindow":45,"otherLocales":45,"reference":217,"title":97},"0c358724c797",{"_type":95,"locale":38,"slug":96},{"_key":219,"_type":43,"newWindow":45,"otherLocales":45,"reference":220,"title":222},"1037fa14f9ca",{"_type":183,"locale":38,"slug":221},"\u002Fabout-us\u002Feducation-hub","Education hub",{"_key":224,"_type":43,"newWindow":45,"otherLocales":45,"reference":225,"title":227},"9c393af11ea7",{"_type":83,"locale":38,"slug":226},"\u002Fimpact-report","Impact report","About us",{"submenuListItems":230,"submenuListTitle":247},[231,237,242],{"_key":232,"_type":43,"newWindow":45,"otherLocales":45,"reference":233,"title":236},"54eaf498f7a6",{"_type":234,"locale":38,"slug":235},"aboutFoodWaste.pages","\u002Fabout-food-waste","Food waste facts",{"_key":238,"_type":43,"newWindow":45,"otherLocales":45,"reference":239,"title":241},"cf761fbe8e3f",{"_type":83,"locale":38,"slug":240},"\u002Fresources","Resources",{"_key":243,"_type":43,"newWindow":45,"otherLocales":45,"reference":244,"title":246},"65154cd55a3f",{"_type":83,"locale":38,"slug":245},"\u002Fblog","Too Good To Go blog","About food waste","About",{"additionalInfo":250,"submenuLists":294,"title":319},[251,263,280],{"_key":252,"_type":253,"children":254,"markDefs":261,"style":262},"3fdc88e12206","block",[255],{"_key":256,"_type":257,"marks":258,"text":260},"533e0f75264b","span",[259],"strong","Current stats",[],"normal",{"_key":264,"_type":253,"children":265,"markDefs":279,"style":262},"2acb78382842",[266,270,275],{"_key":267,"_type":257,"marks":268,"text":269},"bcf236ab58a3",[],"\n",{"_key":271,"_type":272,"dataType":273,"text":274},"57cdc8edcaf4","data","statistics","120 million",{"_key":276,"_type":257,"marks":277,"text":278},"2fca042e3d55",[]," registered users on the Too Good To Go app.\n",[],{"_key":281,"_type":253,"children":282,"markDefs":293,"style":262},"5b7478b4863e",[283,286,289],{"_key":276,"_type":257,"marks":284,"text":285},[],"And ",{"_key":287,"_type":272,"dataType":273,"text":288},"bc032c2b02ec","180,000",{"_key":290,"_type":257,"marks":291,"text":292},"301cb2e013ea",[]," businesses.",[],[295],{"submenuListItems":296,"submenuListTitle":318},[297,303,308,313],{"_key":298,"_type":43,"newWindow":45,"otherLocales":45,"reference":299,"title":302},"fc776181be24",{"_type":300,"locale":38,"slug":301},"businessSolutions.solution","\u002Fsurplus-food-marketplace","Marketplace surprise bags",{"_key":304,"_type":43,"newWindow":45,"otherLocales":45,"reference":305,"title":307},"659448c75521",{"_type":300,"locale":38,"slug":306},"\u002Fplatform","Too Good To Go Platform",{"_key":309,"_type":43,"newWindow":45,"otherLocales":45,"reference":310,"title":312},"e6f8af094b56",{"_type":300,"locale":38,"slug":311},"\u002Flook-smell-taste","Date Labeling initiative",{"_key":314,"_type":43,"newWindow":45,"otherLocales":45,"reference":315,"title":317},"edc94aab8074",{"_type":83,"locale":38,"slug":316},"\u002Ffood-waste-solution","Find out more","Business solutions","Business",{"blog":321,"careers":322,"pressReleases":323},"blog","careers","press",{"Facebook":126,"FacebookAPIKey":325,"Instagram":122,"LinkedIn":118,"TikTok":8,"Twitter":326,"YouTube":8},"3506013279621180","https:\u002F\u002Ftwitter.com\u002Ftoogoodtogo",{"page":328},{"_createdAt":329,"_translations":330,"_type":331,"_updatedAt":332,"author":8,"categories":333,"content":337,"contentChoice":985,"defaultPageBlocks":986,"hideHeader":8,"image":1090,"language":38,"migrated":8,"pageContent":8,"pageVisibility":1095,"parent":1096,"pretitle":1098,"publishedAt":1099,"seoSocial":1100,"slug":1105,"title":1108,"updatedAt":8},"2025-10-27T18:05:52Z",[],"aboutFoodWaste.blog","2026-03-10T16:05:47Z",[334],{"_key":335,"_ref":336,"_type":13},"50ef40c76000","imported-cat-205",[338,347,357,365,373,382,402,431,439,447,455,463,471,479,498,506,514,522,530,538,546,553,561,569,577,585,593,600,608,616,624,632,640,647,655,662,681,700,708,716,724,732,740,748,756,764,783,791,798,806,814,821,829,837,845,853,861,869,877,885,892,899,907,915,923,931,939,946,954,962,969,977],{"_key":339,"_type":253,"children":340,"markDefs":345,"style":346},"5ad14680a0ba",[341],{"_key":342,"_type":257,"marks":343,"text":344},"8510149632a40",[],"6 Easy Swaps for a More Sustainable Halloween",[],"h2",{"_key":348,"_type":253,"children":349,"markDefs":355,"style":356},"3cb0295f222e",[350],{"_key":351,"_type":257,"marks":352,"text":354},"a45c9515a446",[353],"em","Making Halloween sustainability fun, simple, and impactful",[],"h5-tenon",{"_key":358,"_type":253,"children":359,"markDefs":364,"style":262},"54dc72d180e7",[360],{"_key":361,"_type":257,"marks":362,"text":363},"20d0849c6226",[],"Halloween is a time for imagination. We dress up, decorate our homes, and fill buckets with sweets. Behind the fake cobwebs and candy wrappers, there's something real we often overlook: the amount of waste the holiday leaves behind. From costumes worn once to uneaten pumpkins tossed in the trash, Halloween can be more wasteful than we think.",[],{"_key":366,"_type":253,"children":367,"markDefs":372,"style":262},"d08cfaa40538",[368],{"_key":369,"_type":257,"marks":370,"text":371},"85ec6d17e24d",[],"Here’s the good news: it doesn’t have to be. A few small choices can make Halloween more thoughtful without losing any of the fun. At Too Good To Go, we believe good food should be enjoyed, not wasted. That’s why we’re sharing simple, low-waste ways to celebrate. It’s not about doing everything. It’s something you can do.",[],{"_key":374,"_type":253,"children":375,"markDefs":380,"style":381},"50f57019da02",[376],{"_key":377,"_type":257,"marks":378,"text":379},"c510540bec89",[],"The Spooky Side of Halloween Waste",[],"h3",{"_key":383,"_type":253,"children":384,"markDefs":398,"style":262},"547069acaea8",[385,389,394],{"_key":386,"_type":257,"marks":387,"text":388},"16cce2edba49",[],"Every Halloween season, more than ",{"_key":390,"_type":257,"marks":391,"text":393},"f01c2f973d14",[392],"5cbe74ab001e","One billion pounds of pumpkins are grown across the united states",{"_key":395,"_type":257,"marks":396,"text":397},"fcfc62cb9990",[],". While they’re an iconic symbol of the holiday, many of these pumpkins are carved into jack-o'-lanterns for Halloween displays, but after the holiday, they often end up in landfill sites rather than being eaten or composted. In landfill sites, they decompose and release methane, a potent greenhouse gas.",[399],{"_key":392,"_type":400,"href":401,"internalAnchor":8,"newWindow":8,"reference":8},"urlLink","https:\u002F\u002Fwww.agmrc.org\u002Fcommodities-products\u002Fvegetables\u002Fpumpkins",{"_key":403,"_type":253,"children":404,"markDefs":427,"style":262},"1d7ac58324e1",[405,409,414,418,423],{"_key":406,"_type":257,"marks":407,"text":408},"fc84defd8c6c",[],"Costumes also contribute to waste in surprising ways. A study by Hubbub, a UK environmental charity, found that ",{"_key":410,"_type":257,"marks":411,"text":413},"2fba51bc6f0a",[412],"f18d82646387","83% of halloween costumes are made from oil-based plastics like polyester",{"_key":415,"_type":257,"marks":416,"text":417},"e6a3d0717e51",[],". These materials aren’t biodegradable and can take hundreds of years to break down. Making matters worse, around ",{"_key":419,"_type":257,"marks":420,"text":422},"d4ae37d8103b",[421],"98c5e1c666a7","40% of these costumes are worn just once before being discarded",{"_key":424,"_type":257,"marks":425,"text":426},"7721de9e2b5e",[],", adding to the roughly 2,000 tonnes of plastic waste generated from Halloween costumes each year in the UK alone.",[428,429],{"_key":412,"_type":400,"internalAnchor":8,"newWindow":8,"reference":8},{"_key":421,"_type":400,"href":430,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Fhubbub.org.uk\u002Fsew-spooky",{"_key":432,"_type":253,"children":433,"markDefs":438,"style":262},"9daf592b32c2",[434],{"_key":435,"_type":257,"marks":436,"text":437},"a14604c647c6",[],"Then there’s the candy. Most individually-wrapped Halloween sweets come in packaging that cannot be recycled through standard curbside programs. This plastic waste accumulates quickly and offers little value once used.",[],{"_key":440,"_type":253,"children":441,"markDefs":446,"style":262},"1c1ed9ed70f8",[442],{"_key":443,"_type":257,"marks":444,"text":445},"2659609d3c1e",[],"While this might sound a bit eerie, it’s not a horror story without a hopeful ending. Small, intentional choices can help cut back the waste without cutting out the fun. Let’s look at how we can enjoy the season’s traditions with a little less throwaway and a lot more creativity.\n",[],{"_key":448,"_type":253,"children":449,"markDefs":454,"style":381},"4a2097916fc1",[450],{"_key":451,"_type":257,"marks":452,"text":453},"2b09fa5297da",[],"Simple Swaps for a More Mindful Halloween",[],{"_key":456,"_type":253,"children":457,"markDefs":462,"style":356},"68c15fbfead4",[458],{"_key":459,"_type":257,"marks":460,"text":461},"f80d16786a24",[],"Costumes That Live On",[],{"_key":464,"_type":253,"children":465,"markDefs":470,"style":262},"0f3f36da076b",[466],{"_key":467,"_type":257,"marks":468,"text":469},"8245cff94327",[],"Instead of buying a new costume every year, consider reusing or reimagining what you already have. Hosting a costume swap with neighbors, friends, or your child’s school community can be a fun and social way to trade looks while cutting down on waste. Local thrift stores often stock Halloween costumes at a fraction of the price.",[],{"_key":472,"_type":253,"children":473,"markDefs":478,"style":262},"978d833b5617",[474],{"_key":475,"_type":257,"marks":476,"text":477},"41b621b2dde3",[],"You can also raid your own wardrobe and get creative. That old formal wear? Instant vampire outfit with some makeup. Oversized flannel? Lumberjack. Black dress or suit? The foundation for dozens of characters. Add a few handmade props or a dash of face paint to bring the idea to life.",[],{"_key":480,"_type":253,"children":481,"markDefs":495,"style":262},"22de61b03b7e",[482,486,491],{"_key":483,"_type":257,"marks":484,"text":485},"5b252c51cbba",[],"According to WRAP, ",{"_key":487,"_type":257,"marks":488,"text":490},"83003579b166",[489],"008473fda536","Extending the life of clothing by just nine months can reduce its carbon, water, and waste footprints by 20 to 30%",{"_key":492,"_type":257,"marks":493,"text":494},"9badfc501b33",[],". That makes every reused costume more than just a creative choice. It’s a meaningful one.",[496],{"_key":489,"_type":400,"href":497,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Fwww.wrap.ngo\u002Fresources\u002Freport\u002Fdesign-extending-clothing-life",{"_key":499,"_type":253,"children":500,"markDefs":505,"style":262},"91c0c16ea323",[501],{"_key":502,"_type":257,"marks":503,"text":504},"9eb7463db597",[],"And if you do decide to buy new, opt for quality. Costumes made from natural fibers and durable materials can be worn again, handed down, or donated. Avoid anything overloaded with glitter or synthetic elements that are difficult to recycle or reuse. A one-of-a-kind costume made with care often leaves a more lasting impression — and wasting less while dressing up is something anyone can do.",[],{"_key":507,"_type":253,"children":508,"markDefs":513,"style":262},"ac0e04d416e9",[509],{"_key":510,"_type":257,"marks":511,"text":512},"b9064b1b3a66",[],"",[],{"_key":515,"_type":253,"children":516,"markDefs":521,"style":356},"05e0e37de642",[517],{"_key":518,"_type":257,"marks":519,"text":520},"c9bd84b29ba2",[],"Parties With a Purpose",[],{"_key":523,"_type":253,"children":524,"markDefs":529,"style":262},"b156f5f06099",[525],{"_key":526,"_type":257,"marks":527,"text":528},"e8811a355c47",[],"Halloween parties are a chance to come together and celebrate, but they also tend to generate a lot of single-use waste. This year, consider using your gathering as an opportunity to model Halloween sustainable habits in a way that’s easy, festive, and realistic.",[],{"_key":531,"_type":253,"children":532,"markDefs":537,"style":262},"5864fbe51e4e",[533],{"_key":534,"_type":257,"marks":535,"text":536},"8dd82b219b79",[],"If you’re hosting, use real plates, cups, and utensils instead of disposables. It may require a little extra cleanup, but it significantly reduces waste. Cloth napkins are a sturdy, reusable alternative to paper ones, and you can even ask guests to bring containers to take home leftovers. It’s a small shift that can turn your party into a food-saving moment.",[],{"_key":539,"_type":253,"children":540,"markDefs":545,"style":262},"6ed3caa4cc43",[541],{"_key":542,"_type":257,"marks":543,"text":544},"79f947b786f7",[],"These tweaks don’t require perfection. They’re just small, intentional choices that help set a tone. Most people want to do better; they often just need a host to show how easy it can be.",[],{"_key":547,"_type":253,"children":548,"markDefs":552,"style":262},"b3b4e6286a66",[549],{"_key":550,"_type":257,"marks":551,"text":512},"99932b45c2d8",[],[],{"_key":554,"_type":253,"children":555,"markDefs":560,"style":356},"7d178afc6fbc",[556],{"_key":557,"_type":257,"marks":558,"text":559},"e4df48a730ae",[],"Sweet Swaps & Treat Tips",[],{"_key":562,"_type":253,"children":563,"markDefs":568,"style":262},"6f8ff4310cc6",[564],{"_key":565,"_type":257,"marks":566,"text":567},"7dfe32ad89e0",[],"Halloween and candy go hand in hand. But enjoying sweets doesn’t have to mean generating unnecessary waste. Mindful treat choices can make a difference.",[],{"_key":570,"_type":253,"children":571,"markDefs":576,"style":262},"9a290def8c61",[572],{"_key":573,"_type":257,"marks":574,"text":575},"6513cf8be9bc",[],"Look for candy brands that use recyclable or compostable packaging. Many smaller or mission-driven companies are starting to offer more sustainable options. When giving out treats, consider purchasing fewer, larger candies instead of lots of individually wrapped minis. It can reduce packaging waste and feel just as generous.",[],{"_key":578,"_type":253,"children":579,"markDefs":584,"style":262},"3e9f92b19509",[580],{"_key":581,"_type":257,"marks":582,"text":583},"665979b9f806",[],"If you’re not sure what snacks to offer or simply want to avoid the overbuying trap, let Too Good To Go help. Grabbing a Surprise Bag from a local store or bakery the day before Halloween gives you an assortment of treats that might otherwise go to waste. While you won’t know exactly what’s inside, it’s a great way to discover something new and let the mystery become part of the fun.",[],{"_key":586,"_type":253,"children":587,"markDefs":592,"style":262},"9d7ba66694dc",[588],{"_key":589,"_type":257,"marks":590,"text":591},"28f20ef695fd",[],"Got leftovers? Rather than letting them linger or tossing them, consider donating unopened sweets to a local shelter or community center. Or get creative in the kitchen; leftover candy can be turned into cookies, brownies, or snack bars. Halloween can be sweet without being wasteful.",[],{"_key":594,"_type":253,"children":595,"markDefs":599,"style":262},"36a5059efc90",[596],{"_key":597,"_type":257,"marks":598,"text":512},"da380cd16dae",[],[],{"_key":601,"_type":253,"children":602,"markDefs":607,"style":356},"01190df29e43",[603],{"_key":604,"_type":257,"marks":605,"text":606},"2d01a8700fbe",[],"Decor That Doesn’t Haunt the Planet",[],{"_key":609,"_type":253,"children":610,"markDefs":615,"style":262},"e86ed89cbd18",[611],{"_key":612,"_type":257,"marks":613,"text":614},"f2f7e37c7fe5",[],"Plastic tombstones, synthetic cobwebs, and inflatable lawn monsters are eye-catching and festive. For many, they're part of what makes Halloween feel special. While some of these decorations are made from plastics that aren't easily recyclable, they can still be enjoyed for many years if stored and cared for properly. If you already have inflatables or other seasonal favorites, great! Use and love them. The more seasons you get out of each item, the better. If you're shopping for new decor, it’s worth considering items that are durable and can be reused again and again. The goal isn’t to skip the fun, but to reduce how much ends up in the trash each year.",[],{"_key":617,"_type":253,"children":618,"markDefs":623,"style":262},"8effbf0a9a5a",[619],{"_key":620,"_type":257,"marks":621,"text":622},"92c7dda26fe6",[],"There’s also another way to set the scene for spooky fun! Nature itself is full of seasonal beauty: think colorful autumn leaves, gnarled twigs, small pumpkins and gourds, even apples or branches. These natural materials are fully compostable and bring a rustic charm to any display.",[],{"_key":625,"_type":253,"children":626,"markDefs":631,"style":262},"712a5fd2daf4",[627],{"_key":628,"_type":257,"marks":629,"text":630},"ca1c92a1c423",[],"If you’re looking for something reusable, consider investing in timeless, durable decorations you can bring out year after year. This not only saves money over time, but it reduces the demand for single-use items. Better still, turn decoration into a creative family activity. Old newspapers can become creepy cutout banners, cardboard boxes can transform into a haunted house facade, and glass jars make great ghost lanterns with a little paint.",[],{"_key":633,"_type":253,"children":634,"markDefs":639,"style":262},"e9ccbe84d2e0",[635],{"_key":636,"_type":257,"marks":637,"text":638},"3196a9a5630b",[],"The aim isn’t to strip Halloween of its flair. It’s about rethinking how we create that festive atmosphere. With a little creativity, it’s possible to keep things spooky without the specter of unnecessary waste.",[],{"_key":641,"_type":253,"children":642,"markDefs":646,"style":262},"1622e54253fc",[643],{"_key":644,"_type":257,"marks":645,"text":512},"ceaa221a8395",[],[],{"_key":648,"_type":253,"children":649,"markDefs":654,"style":356},"61cb1e06e9b8",[650],{"_key":651,"_type":257,"marks":652,"text":653},"f452230d7d70",[],"Pumpkins With Purpose",[],{"_key":656,"_type":253,"children":657,"markDefs":661,"style":262},"d016efe0a533",[658],{"_key":651,"_type":257,"marks":659,"text":660},[],"Pumpkins are a beloved part of Halloween, but they’re often treated as decor first and food second, if at all. A carved pumpkin usually lasts about five days on a porch before it starts to slump and mold. From there, it tends to be thrown out, even though most of it is still perfectly usable.",[],{"_key":663,"_type":253,"children":664,"markDefs":678,"style":262},"812b4d608d6c",[665,669,674],{"_key":666,"_type":257,"marks":667,"text":668},"7a74d9604424",[],"Instead of letting your pumpkin go to waste, consider all the ways it can still shine. The seeds inside are not only edible but nutritious. According to the USDA, ",{"_key":670,"_type":257,"marks":671,"text":673},"3a5b1bdcdc53",[672],"6a62325a9072","Pumpkin seeds are packed with protein, healthy fats, magnesium, zinc, and iron",{"_key":675,"_type":257,"marks":676,"text":677},"e67125ec37fe",[],". Roasting them with a bit of oil and seasoning makes for a delicious snack.",[679],{"_key":672,"_type":400,"href":680,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Ffdc.nal.usda.gov\u002Ffood-details\u002F170188\u002Fnutrients",{"_key":682,"_type":253,"children":683,"markDefs":697,"style":262},"9f661f0a5ba9",[684,688,693],{"_key":685,"_type":257,"marks":686,"text":687},"9907bbd4e2ad",[],"If you haven’t carved your pumpkin yet, scoop out the flesh and use it for soups, muffins, pies, or even savory dishes like curry. One cup of cooked pumpkin provides ",{"_key":689,"_type":257,"marks":690,"text":692},"9c51de63422a",[691],"79c2230648ad","245% of your daily vitamin a needs",{"_key":694,"_type":257,"marks":695,"text":696},"83baf6c6772f",[],".",[698],{"_key":691,"_type":400,"href":699,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Fwww.mayoclinichealthsystem.org\u002Fhometown-health\u002Fspeaking-of-health\u002Fpumpkin-loaded-with-scary-good-nutrients",{"_key":701,"_type":253,"children":702,"markDefs":707,"style":262},"95a594af6920",[703],{"_key":704,"_type":257,"marks":705,"text":706},"499535d40733",[],"Consider choosing pie pumpkins (also known as sugar pumpkins) when shopping. They’re smaller, sweeter, and more flavorful than the large carving varieties, which are technically edible but often tasteless.",[],{"_key":709,"_type":253,"children":710,"markDefs":715,"style":262},"9da49ec88cf4",[711],{"_key":712,"_type":257,"marks":713,"text":714},"7fc0b0f161f6",[],"To reduce food waste and get the most out of your pumpkin:",[],{"_key":717,"_type":253,"children":718,"markDefs":723,"style":262},"bc9278325142",[719],{"_key":720,"_type":257,"marks":721,"text":722},"bc1d54dec20b",[259],"Roasted Pumpkin Seeds",[],{"_key":725,"_type":253,"children":726,"markDefs":731,"style":262},"ca35f3f6b707",[727],{"_key":728,"_type":257,"marks":729,"text":730},"c7bef9f5a565",[],"After scooping them out, rinse and pat dry. Toss with a little oil and salt, then roast at 350°F for 15–20 minutes, stirring once or twice, until golden and crisp. For extra flavor, try cinnamon sugar or a dash of chili powder. It’s a simple way to turn scraps into snacks—and avoid another plastic-wrapped option.",[],{"_key":733,"_type":253,"children":734,"markDefs":739,"style":262},"15acfcd75900",[735],{"_key":736,"_type":257,"marks":737,"text":738},"17600f0b4344",[259],"Pumpkin Muffins",[],{"_key":741,"_type":253,"children":742,"markDefs":747,"style":262},"54b756bab2ba",[743],{"_key":744,"_type":257,"marks":745,"text":746},"c9006a3a206f",[],"Start with a pie pumpkin. Cut in half, scoop out the seeds (set those aside to roast), and place cut-side down on a baking sheet. Roast at 400°F for about 35–40 minutes or until the flesh is soft when pierced with a fork. Let cool slightly, then scoop out the flesh and purée in a blender or food processor until smooth.",[],{"_key":749,"_type":253,"children":750,"markDefs":755,"style":262},"6415c3789662",[751],{"_key":752,"_type":257,"marks":753,"text":754},"b41b92da8782",[],"Preheat your oven to 350°F and line a muffin tin. In one bowl, whisk together 1½ cups all-purpose flour, 1 tsp baking soda, ½ tsp salt, 1 tsp cinnamon, and ½ tsp nutmeg. In another bowl, mix 1 cup of your pumpkin purée, 2 eggs, ½ cup brown sugar, ⅓ cup vegetable oil, and 1 tsp vanilla extract. Stir the wet and dry ingredients together until just combined. Divide the batter into muffin cups and bake for 20–22 minutes. Let cool and enjoy, or store extras in the fridge or freezer to reduce food waste later in the week.",[],{"_key":757,"_type":253,"children":758,"markDefs":763,"style":262},"90038115c66a",[759],{"_key":760,"_type":257,"marks":761,"text":762},"54636fe5a5eb",[],"Once a pumpkin has been carved and displayed, it’s usually no longer suitable for eating, but it’s still not trash. Composting is your best bet. Some communities offer post-Halloween pumpkin collection events, or you can break it into pieces and add it to your home compost bin. Certain local farms and zoos even accept old pumpkins for animal feed. Alternatively, you can leave your carved pumpkin in a wooded area or garden (free of candles or decorations), where wildlife might enjoy a seasonal snack.",[],{"_key":765,"_type":253,"children":766,"markDefs":780,"style":262},"3d3079901e91",[767,771,776],{"_key":768,"_type":257,"marks":769,"text":770},"8211b71b73a3",[],"When food like pumpkins ends up in a landfill, it decomposes without oxygen and produces methane. ",{"_key":772,"_type":257,"marks":773,"text":775},"a7881b072c0e",[774],"f26b58899685","According to the epa, this greenhouse gas is about 28 to 30 times more potent than carbon dioxide over a 100-year period.",{"_key":777,"_type":257,"marks":778,"text":779},"bc9aeefd6921",[],". With just a bit of planning, your jack-o’-lantern can live on well past Halloween night, without ending up as landfill gas.\n",[781],{"_key":774,"_type":400,"href":782,"internalAnchor":8,"newWindow":8,"reference":8},"https:\u002F\u002Fwww.epa.gov\u002Fghgemissions\u002Funderstanding-global-warming-potentials",{"_key":784,"_type":253,"children":785,"markDefs":790,"style":356},"d3d1658777e3",[786],{"_key":787,"_type":257,"marks":788,"text":789},"56ac7ef9eb25",[],"Trick-or-Treat Without the Trash",[],{"_key":792,"_type":253,"children":793,"markDefs":797,"style":262},"27de632b20d2",[794],{"_key":787,"_type":257,"marks":795,"text":796},[],"Trick-or-treating is the heart of Halloween night for many families, and it often kicks off with a trusty treat container in hand. Some kids use the same pumpkin bucket or canvas tote for years, and sometimes even pass them down to siblings. That kind of longevity is something to celebrate. On the other hand, the flimsier, mass-produced bags that flood store shelves each season aren’t built to last. They tend to tear or fall apart, which makes them more likely to end up in the trash after just a few uses.",[],{"_key":799,"_type":253,"children":800,"markDefs":805,"style":262},"508dfea63cf5",[801],{"_key":802,"_type":257,"marks":803,"text":804},"5a16a402bd41",[],"Luckily, there are easy ways to swap out single-use containers for better alternatives. A pillowcase is a classic go-to: it’s durable, spacious, and already in your home. Reusable tote bags or sturdy buckets also do the job well and can double as shopping bags or storage afterward. For a fun pre-Halloween activity, invite kids to decorate their own trick-or-treat bag using fabric paint, markers, or patches. It turns a simple object into a keepsake, and it’s a lot more memorable than a plastic pumpkin bucket.",[],{"_key":807,"_type":253,"children":808,"markDefs":813,"style":262},"3612cbddf593",[809],{"_key":810,"_type":257,"marks":811,"text":812},"9c17383ac254",[],"These small changes don’t just reduce waste, they help kids (and adults) build habits that carry forward into the rest of the year.",[],{"_key":815,"_type":253,"children":816,"markDefs":820,"style":262},"bd0b1590b96f",[817],{"_key":818,"_type":257,"marks":819,"text":512},"0bc26f3e8909",[],[],{"_key":822,"_type":253,"children":823,"markDefs":828,"style":381},"11386312a178",[824],{"_key":825,"_type":257,"marks":826,"text":827},"23224d473c0b",[],"Don’t Let the Good Stuff Go to Waste",[],{"_key":830,"_type":253,"children":831,"markDefs":836,"style":262},"39910f276ecb",[832],{"_key":833,"_type":257,"marks":834,"text":835},"ae468ce29a87",[],"Halloween may only last a night, but the choices we make around it can ripple long after the decorations come down. Whether it’s buying just the candy you’ll actually give out or composting your carved pumpkins, the small, thoughtful moves matter.",[],{"_key":838,"_type":253,"children":839,"markDefs":844,"style":262},"7fbda04cd9d3",[840],{"_key":841,"_type":257,"marks":842,"text":843},"43ad8a2d1094",[],"If you want to take it one step further, Too Good To Go  is a great way to keep cutting back on food waste. The app connects you with local businesses that have extra food. It’s perfect if you’re looking for a last-minute party snack or just want to rescue something delicious from going uneaten. It’s not about choosing the perfect item (you won’t know what you’re getting), but about staying flexible and making use of what’s already there.",[],{"_key":846,"_type":253,"children":847,"markDefs":852,"style":262},"5f00db480e00",[848],{"_key":849,"_type":257,"marks":850,"text":851},"026c60dd4622",[],"You don’t need to overhaul your holiday. Just bring a little intention to it.",[],{"_key":854,"_type":253,"children":855,"markDefs":860,"style":262},"5e15f0b2df06",[856],{"_key":857,"_type":257,"marks":858,"text":859},"cf7d7bb7fc4b",[],"This Halloween, enjoy what you love about the holiday and try to waste a little less along the way. It’s simple. It’s doable. It’s something you can do.",[],{"_key":862,"_type":253,"children":863,"markDefs":868,"style":381},"e6a91846ae77",[864],{"_key":865,"_type":257,"marks":866,"text":867},"2433414c6d0d",[],"\nFrequently Asked Questions",[],{"_key":870,"_type":253,"children":871,"markDefs":876,"style":356},"d4647857a6e5",[872],{"_key":873,"_type":257,"marks":874,"text":875},"61dcc3fd8c76",[],"What is Halloween sustainability?",[],{"_key":878,"_type":253,"children":879,"markDefs":884,"style":262},"fb084c7296ba",[880],{"_key":881,"_type":257,"marks":882,"text":883},"89ab21610746",[],"Halloween sustainability refers to making eco-conscious choices during the Halloween season—like reducing waste from costumes, candy wrappers, and decorations—so the holiday is less harmful to the environment.",[],{"_key":886,"_type":253,"children":887,"markDefs":891,"style":262},"d68064de66f4",[888],{"_key":889,"_type":257,"marks":890,"text":512},"58819326b85e",[],[],{"_key":893,"_type":253,"children":894,"markDefs":898,"style":356},"066bc2edaf65",[895],{"_key":873,"_type":257,"marks":896,"text":897},[],"How can I make my Halloween costume more sustainable?",[],{"_key":900,"_type":253,"children":901,"markDefs":906,"style":262},"fc42d6a969da",[902],{"_key":903,"_type":257,"marks":904,"text":905},"7d862045b7ef",[],"Reuse costumes from previous years, host a costume swap, shop secondhand, or create DIY outfits from clothes you already own. Avoid costumes made from plastic-heavy materials like polyester when possible.",[],{"_key":908,"_type":253,"children":909,"markDefs":914,"style":356},"ef36a575ffe9",[910],{"_key":911,"_type":257,"marks":912,"text":913},"ebcae673da60",[],"\nAre there eco-friendly ways to decorate for Halloween?",[],{"_key":916,"_type":253,"children":917,"markDefs":922,"style":262},"52d20c687dae",[918],{"_key":919,"_type":257,"marks":920,"text":921},"daff901f8078",[],"Yes! Use natural items like pumpkins, autumn leaves, and branches, or repurpose materials you already have at home. If you buy new decor, choose reusable items you’ll keep for many years.",[],{"_key":924,"_type":253,"children":925,"markDefs":930,"style":356},"bbc876da4998",[926],{"_key":927,"_type":257,"marks":928,"text":929},"f0160f1dfc0c",[],"\nWhat should I do with leftover Halloween candy?",[],{"_key":932,"_type":253,"children":933,"markDefs":938,"style":262},"a23602b4b265",[934],{"_key":935,"_type":257,"marks":936,"text":937},"96a097727f96",[],"Unopened candy can be donated to shelters or food banks. You can also repurpose leftovers in baking projects like cookies or snack bars to prevent waste.",[],{"_key":940,"_type":253,"children":941,"markDefs":945,"style":262},"7f14aada4c54",[942],{"_key":943,"_type":257,"marks":944,"text":512},"e94c202fa14b",[],[],{"_key":947,"_type":253,"children":948,"markDefs":953,"style":356},"85fa15aafecd",[949],{"_key":950,"_type":257,"marks":951,"text":952},"6a56aa813de0",[],"What’s the best alternative to plastic trick-or-treat bags?",[],{"_key":955,"_type":253,"children":956,"markDefs":961,"style":262},"f689995e23b0",[957],{"_key":958,"_type":257,"marks":959,"text":960},"1f47c4aa7968",[],"Opt for reusable options like pillowcases, canvas totes, or small buckets that can be decorated and reused every year.",[],{"_key":963,"_type":253,"children":964,"markDefs":968,"style":262},"813afae13407",[965],{"_key":966,"_type":257,"marks":967,"text":512},"7a83ec185bbf",[],[],{"_key":970,"_type":253,"children":971,"markDefs":976,"style":356},"5d7a853b069f",[972],{"_key":973,"_type":257,"marks":974,"text":975},"8b348165ce56",[],"How can Too Good To Go help me reduce waste around Halloween?",[],{"_key":978,"_type":253,"children":979,"markDefs":984,"style":262},"24771bd3a473",[980],{"_key":981,"_type":257,"marks":982,"text":983},"0741523f519a",[],"Too Good To Go connects you with local shops, bakeries, and restaurants offering Surprise Bags filled with food that would otherwise go to waste. It’s a great way to grab last-minute party treats or snacks while supporting Halloween sustainability.\n",[],"default",[987,1021,1058],{"_key":988,"_type":989,"buttons":990,"content":994,"theme":1020},"1jkf7lre7g28","modularContentBlocks.outer.cta",[991],{"_key":992,"_type":149,"buttonColor":150,"buttonText":993,"link":8,"variant":152},"a282dd0ebbbc","Download the app",[995,1008],{"_key":996,"_type":997,"description":998,"size":985,"title":999,"variant":985},"6dk1pal4i10a","modularContentBlocks.inner.title",[],[1000],{"_key":1001,"_type":253,"children":1002,"markDefs":1007,"style":262},"GZyjLe6U5nxM0R9gPkHYAG",[1003],{"_key":1004,"_type":257,"marks":1005,"text":1006},"GZyjLe6U5nxM0R9gPkHYCa",[],"start saving food today",[],{"_key":1009,"_type":1010,"text":1011},"is9la02ijx8m","modularContentBlocks.inner.baseText",[1012],{"_key":1013,"_type":253,"children":1014,"markDefs":1019,"style":262},"740b5c918016",[1015],{"_key":1016,"_type":257,"marks":1017,"text":1018},"2f54f31664640",[],"Our app is the world's largest marketplace for surplus food. We help users rescue good food from going to waste, offering great value for money at local stores, cafes and restaurants.",[],"dark",{"_key":1022,"_type":1023,"alignment":1024,"content":1025,"extraSpacing":45,"theme":1020,"variant":1057},"bndt73pfqirw","modularContentBlocks.outer.section","center",[1026,1038,1042],{"_key":1027,"_type":997,"description":1028,"preTitle":8,"size":985,"title":1029,"variant":1024},"80hf92fygbfk",[],[1030],{"_key":1031,"_type":253,"children":1032,"markDefs":1037,"style":262},"GZyjLe6U5nxM0R9gPkHYEu",[1033],{"_key":1034,"_type":257,"marks":1035,"text":1036},"GZyjLe6U5nxM0R9gPkHYHE",[],"Too good to go blog",[],{"_key":1039,"_type":1040,"listingDocument":331,"listingType":1041},"0zn20h9ot6i0","modularContentBlocks.inner.listing","latest",{"_key":1043,"_type":1044,"buttons":1045,"variant":1024},"l1m71gx3wqqc","modularContentBlocks.inner.buttonGroup",[1046],{"_key":1047,"_type":1048,"link":1049,"title":1055,"variant":1056},"cb6c6aecbe6c","button",{"_type":1050,"internal":1051,"internalAnchor":8,"linkType":1053,"otherLocales":45,"reference":1054},"link",{"_ref":1052,"_type":13,"_weak":44},"singleton-pages-en-us-about-food-waste-blog-home","internal",{"_type":83,"locale":38,"slug":245},"More blog posts","text","noImage",{"_key":1059,"_type":1023,"alignment":1024,"content":1060,"extraSpacing":45,"theme":1020,"variant":1057},"fd20632i3coe",[1061,1080],{"_key":1062,"_type":997,"description":1063,"preTitle":8,"size":1064,"title":1065,"variant":1024},"jq0ms9uze8v9",[],"small",[1066],{"_key":1067,"_type":253,"children":1068,"markDefs":1079,"style":262},"GZyjLe6U5nxM0R9gPkHYJY",[1069,1073,1075],{"_key":1070,"_type":257,"marks":1071,"text":1072},"wHKr7lvBejmoAuZJ6jL8XE",[],"JOIN over ",{"_key":1074,"_type":272,"dataType":273,"text":288},"stat-1764846117414-wcj9ynzxu",{"_key":1076,"_type":257,"marks":1077,"text":1078},"wHKr7lvBejmoAuZJ6jL8bO",[]," BUSINESSES FIGHTING FOOD WASTE WITH US",[],{"_key":1081,"_type":1044,"buttons":1082,"variant":1024},"mbqmmpj8a8c2",[1083,1085],{"_key":1084,"_type":149,"buttonColor":150,"buttonText":993,"link":8,"variant":152},"4029981371e9",{"_key":1086,"_type":1048,"link":1087,"title":1089,"variant":985},"fd77cb9e97ff",{"_type":1050,"linkType":1088,"otherLocales":45,"ssu":159},"ssu","Sign up your business",{"_type":1091,"alt":1092,"asset":1093,"fit":25},"imageWithAlt","Pumpkin soup with a spiderweb design, served in a carved pumpkin, surrounded by gourds and pumpkin pieces on a blue table.",{"_ref":1094,"_type":13},"image-7654ffe7758c3daf15fc30dc29ca5239d6d90f6d-5760x3840-jpg","public",{"_ref":1097,"_type":13},"singleton-pages-en-gb-about-food-waste-blog-home","Too Good To Go Blog","2025-10-27T09:43:00.000Z",{"metaDescription":1101,"metaTitle":344,"socialImage":1102},"Discover how to enjoy costumes, candy, and parties while reducing waste. A practical guide to Halloween sustainability, from pumpkins to party snacks.",{"_type":1103,"asset":1104},"image",{"_ref":1094,"_type":13},{"_type":1106,"current":1107},"slug","make-halloween-sustainable-less-waste-more-treats-more-fun","Make Halloween Sustainable: Less Waste, More Treats, More Fun",[],{"posts":1111,"totalPosts":1158},[1112,1125,1136,1147],{"_createdAt":1113,"_id":1114,"categories":8,"content":1115,"excerpt":1116,"file":8,"image":1117,"language":38,"migrated":8,"pretitle":1098,"publishedAt":1122,"slug":1123,"title":1124,"updatedAt":8,"url":8},"2026-07-29T21:33:25Z","5e40ad59-48fe-4b27-b40e-e485a2dc8db9","Restaurant operators have had to navigate years of rising costs. Between 2020 and 2026 alone, total food costs for the average restaurant increased by 34%, putting even more pressure on already tight margins. Add in expenses like utilities, occupancy, and credit card processing fees, and there isn’t much room for error. The good news? Food is one of the few major costs operators can actively control.\n\n\n\nRaising menu prices or shrinking portions may seem like the obvious answer, but they’re far from the only solutions. Understanding your food cost percentage helps you spot opportunities to improve profitability while protecting the quality your guests expect. The first step is knowing what this metric actually measures and how to use the food cost percentage formula to make smarter decisions every day.\n\n\nWhat Is Food Cost Percentage in Restaurants?\n\nIf ingredients feel pricier than ever, you’re not imagining it. More than 80% of operators reported higher food costs in 2025. However, ingredients don’t tell the whole story. Food cost percentage measures how much of your food sales revenue is spent on ingredients. It’s one of the clearest indicators of menu profitability because it shows how efficiently your kitchen turns inventory into revenue, rather than just how much you’re spending.\n\n\n\nMost restaurants monitor both ideal and actual food cost. Ideal food cost is based on recipe costs and expected portions, assuming every ingredient is used exactly as planned. Actual food cost reflects what really happened in your kitchen, including spoilage, overportioning, prep waste, and other losses. The gap between the two often reveals where opportunities for improvement exist.\n\n\n\nSpending $8,000 on ingredients isn’t inherently good or bad. The real value comes from calculating food costs in relation to overall restaurant revenue. Spending $8,000 to generate $20,000 in food sales tells a very different story than spending the same amount to generate $35,000. Food cost percentage puts spending in the context of sales, making it much easier to compare performance over time and identify changes that deserve a closer look.\n\n\n\nHow to Calculate Your Food Cost Percentage\n\nCalculating your restaurant’s food cost percentage is straightforward once you know which version you’re using: the ideal food cost formula or the actual food cost formula. Here’s a step-by-step guide to do just that.\n\n\n\nIdeal Food Cost Percentage Formula\n\nIdeal food cost compares the expected cost of ingredients to the revenue those menu items generate:\n\n\n\nIdeal Food Cost % = Food Cost ÷ Food Sales × 100\n\n\n\nFor example, if a menu item costs $8 in ingredients and generates $30 in sales, your ideal food cost percentage would be 26.7%. Calculating your ideal food cost helps you realize whether individual menu items are priced to support healthy margins before they ever reach the kitchen’s expo line.\n\n\n\nActual Food Cost Percentage Formula\n\nActual food cost starts with your cost of goods sold (COGS), which accounts for inventory used during a specific period:\n\n\n\nStep 1. Calculate Actual COGS\n\nActual COGS = Opening Inventory + Purchases − Ending Inventory\n\n\n\nStep 2: Calculate Actual Food Cost Percentage\n\nActual Food Cost % = Actual COGS ÷ Food Sales × 100\n\n\n\nFor example, imagine you begin the week with $6,000 in inventory, purchase another $4,000 in ingredients mid-week, and finish with $2,500 in inventory. Your actual COGS is $7,500. If the restaurant generated $25,000 in weekly food sales, your actual food cost percentage would be 30%.\n\n\n\nThough these are hypothetical figures, comparing your actual percentage to your ideal percentage can reveal where costs are creeping higher than expected. Food waste is often a major contributor. Limited- and full-service restaurants generate more than $103 billion in surplus food each year, making waste reduction an overlooked tactic to improve profitability without sacrificing food quality.\n\n\n\nWhat Is a Good Food Cost Percentage?\n\nThere’s no single food cost percentage every restaurant should aim for. While food costs account for roughly 33 cents of every dollar in restaurant sales on average, that figure is just a broad industry snapshot. What’s considered healthy or sustainable depends on your restaurant’s concept, menu, and business model, making comparisons across different types of restaurants less meaningful.\n\n\n\nQuick-service restaurants, for instance, often operate with lower food costs because of standardized menus and efficient operations. On the other hand, casual dining and fine dining restaurants may accept higher food costs in exchange for premium ingredients or elevated guest experiences. Restaurants with alcohol and other specialty beverage menus may also look different than concepts focused primarily on food sales.\n\n\n\nThe food cost percentage formula becomes most useful when you compare your own performance over time or benchmark against restaurants with a similar concept. A number that’s healthy for one business may not be realistic (or even desirable) for another. Rather than chasing an industry average, focus on the operational changes that have the greatest influence on your own results.\n\n\n\nWhat Drives Food Cost Percentage?\n\nNo single factor determines your food cost percentage. Instead, it reflects dozens of daily decisions made across purchasing, pricing, and service. Understanding the biggest drivers helps you identify where small operational improvements can have the greatest impact on profitability without compromising the guest experience.\n\n\n\nMenu Pricing\n\nThe prices on your menu are just as important as the cost of the ingredients on the plate. Even if ingredient prices stay exactly the same, your food cost percentage can increase if menu prices no longer reflect rising operating expenses like labor and utility costs. Regularly reassessing menu prices helps protect margins while ensuring each dish continues to support the financial goals of your restaurant.\n\n\n\nIngredient Costs\n\nEvery ingredient that enters your kitchen becomes part of the food cost percentage formula. Supplier price increases, commodity market fluctuations, and seasonal availability can all raise your costs before a dish ever reaches the customer. Periodically reviewing vendor pricing and evaluating substitutions can help offset higher expenses without lowering food quality. Building menus around seasonal ingredients can also help reduce produce costs while keeping offerings fresh for guests.\n\n\n\nPortion Control\n\nOnce ingredients reach the kitchen, consistency becomes the next priority. A single extra ounce of protein or an oversized scoop of fries may not seem significant, but repeated across hundreds of orders, those small differences add up quickly. Maintaining consistent recipes and portions helps stabilize your food cost percentage while giving guests the reliable dining experience they expect every visit.\n\n\n\nFood Waste\n\nNot every cost comes from the meals you serve. Food waste can happen at nearly every stage of kitchen operations. Some losses happen during prep through trim waste; others happen when ingredients spoil in storage or prepared food goes unsold at the end of the day. Since the actual food cost percentage formula accounts for all inventory used, those costs still count even if the food never generates revenue.\n\n\n\nInventory Management\n\nThe final piece is making sure you know exactly what’s in your kitchen and how quickly it’s moving. Over-ordering, inaccurate inventory counts, and products that expire before they’re used all increase costs unnecessarily. Following practices like first in, first out (FIFO) and ordering based on expected demand helps keep your food cost percentage aligned with actual sales instead of avoidable losses.\n\n\n\nHow to Lower Food Cost Percentage Without Sacrificing Quality\n\nEvery restaurant has opportunities to improve profitability without cutting corners. You don’t have to overhaul your prices or slice portion sizes overnight to improve your food cost percentage. Instead, focusing on a handful of operational best practices can help lower it over time while protecting the consistency and quality your guests expect. Consider small steps, such as:\n\n\n\nOptimize your menu mix. Highlight dishes with stronger margins, and regularly review menu performance to identify items that no longer support your profitability goals.\n\nStandardize recipes and portions. Consistent preparation helps reduce unnecessary food costs while giving guests the same experience every time they order.\n\nStrengthen inventory practices. Keep inventory accurate, use FIFO on all new purchases, and prep ingredients before they expire to minimize avoidable losses.\n\nImprove demand forecasting. Prepare closer to expected demand to help reduce overproduction while making sure popular menu items remain available.\n\nRecover value from surplus food. Leverage surplus food marketplaces to sell eligible unsold food instead of treating it as a complete loss.\n\n\n\nEven the best-performing restaurants occasionally end the day with perfectly good food that never gets sold. Rather than writing those items off entirely, many restaurants use surplus food marketplaces to recover a portion of their costs while reducing the amount of food waste each shift. It’s a practical way to improve profitability without changing recipes or compromising the guest experience. Too Good To Go gives restaurants a simple way to put this strategy into action.\n\n\n\nToo Good To Go helps restaurants recover value from eligible surplus food through discounted Surprise Bags. Restaurants bundle available items, set a pickup window that fits their operations, and list the Surprise Bags in the app. Customers purchase directly through Too Good To Go, then collect their order during the designated pickup window. Less food goes to waste, more revenue comes from surplus food, and restaurants have another way to connect with local customers.\n\n\n\nFood Cost Percentage Is About More Than Spending Less\n\nImproving your food cost percentage isn’t about slashing ingredient costs; it’s about making the most of every dollar you spend. Restaurants that consistently protect their margins do so by pricing thoughtfully, serving consistent portions, and managing inventory carefully. Reducing avoidable waste is another way to strengthen profitability while continuing to deliver the quality guests expect.\n\n\n\nToo Good To Go helps restaurants turn eligible surplus food into an opportunity instead of a loss. By recovering value from food that might otherwise go unsold, restaurants can not only reduce waste but also improve profitability and introduce more local customers to what they have to offer. Sell your surplus food on Too Good to Go today.\n\n\n\nStart selling your surplus food today\n\n\n\n\n\nFAQs About Food Cost Percentage\n\nWhat is the difference between food cost and food cost percentage?\n\nFood cost is the total amount you spend on ingredients. Food cost percentage compares that spending to your food sales, giving you a clearer picture of profitability. Two restaurants may spend the same amount on ingredients, but the one generating more sales from those ingredients will have a healthier food cost percentage.\n\n\n\nHow often should restaurants calculate food cost percentage?\n\nMany restaurants calculate food cost percentage weekly so they can spot changes before they become larger problems. Others review it daily for high-volume operations or monthly for broader financial reporting. The right schedule depends on your operation, but reviewing it consistently makes it easier to identify trends and respond quickly.\n\n\n\nCan reducing food waste improve restaurant profitability?\n\nYes. Reducing food waste helps restaurants make better use of the inventory they’ve already purchased. Improvements such as accurate portioning, stronger inventory management, better demand forecasting, and recovering value from eligible surplus food can all help improve profitability without compromising food quality or the guest experience.\n\n\n\nHow does Too Good To Go work for restaurants?\n\nToo Good To Go helps restaurants recover value from eligible surplus food through discounted Surprise Bags (https:\u002F\u002Fwww.toogoodtogo.com\u002Fen-us\u002Fsurplus-food-marketplace). Restaurants bundle available items, choose a pickup window that fits their operations, and list the Surprise Bags in the app. Customers purchase them directly through Too Good To Go and collect their order during the designated pickup time.\n\n\n\nDoes using Too Good To Go create extra work for restaurant staff?\n\nToo Good To Go is designed to fit into existing restaurant workflows. Since restaurants decide when to list Surprise Bags and when customers can pick them up, staff can choose a process that works alongside normal service. Instead of preparing separate meals, restaurants package eligible surplus food that would otherwise go unsold.\n\n\n\nWhat can restaurants include in a Too Good To Go Surprise Bag?\n\nSurprise Bags can include a variety of eligible surplus food that remains fresh and safe to enjoy but is unlikely to sell before the end of a shift. Depending on the restaurant, that may include prepared meals, baked goods, sandwiches, salads, side dishes, or desserts. Because availability changes daily, the contents are always a surprise for customers.","Understand the food cost percentage formula and what it reveals about restaurant profitability. Learn practical ways to reduce costs without cutting quality.",{"_type":1091,"alt":1118,"asset":1119,"fit":1121},"A woman in an apron chopping an onion in a professional kitchen.",{"_ref":1120,"_type":13},"image-4402ca664dda2297627d47aee9cbea48ac1d73cd-4096x2160-jpg","contain","2026-07-30T22:00:00.000Z","\u002Fblog\u002Ffood-cost-percentage","How Restaurants Can Reduce Food Cost Percentage Without Cutting Quality",{"_createdAt":1126,"_id":1127,"categories":8,"content":1128,"excerpt":8,"file":8,"image":1129,"language":38,"migrated":8,"pretitle":1098,"publishedAt":1133,"slug":1134,"title":1135,"updatedAt":8,"url":8},"2026-07-23T15:11:53Z","59984dd0-7a11-4524-971d-80ac6401a4e5","There’s something satisfying about stumbling across a grocery store you never knew existed. Maybe it’s the neighborhood market with incredible produce, or the specialty shop that carries ingredients you can’t find anywhere else. Perhaps it’s the regional supermarket that everyone else seems to have known about all along. Those unexpected finds can completely change the way you shop, and they’re often closer than you think.\n\n\n\nIf you’ve ever searched “local grocery stores near me” and wondered whether there was more to discover than the same handful of familiar chains, you’re asking the right question. The truth is, local groceries come in many forms, from independently owned markets to neighborhood fruit stands that don’t always make the top of popular search results. Here’s how to discover better local grocery options, wherever you live.\n\n\n\nHave You Been Overlooking Local Groceries?\n\nMany people hear the phrase ‘local groceries’ and immediately picture the big-box retailer that’s down the block or the neighborhood supermarket that’s been a staple in the community for the past 30 years. While those retailers certainly qualify, they’re only part of the story. Some of the best neighborhood finds are the local grocery stores you may already pass by every week without a second thought. Consider options like:\n\n\n\nButcher shops\n\nProduce markets\n\nInternational markets\n\nBakeries with grocery selections\n\nRegional grocery chains\n\nIndependent grocers\n\nNatural food stores\n\nFarmer’s markets\n\n\n\nLocal groceries aren’t defined by store size or if they’re part of a larger company. What matters is that they serve your community and offer something worth discovering, whether that’s seasonal veggies, specialty ingredients, or simply a better shopping experience. Finding one of those overlooked stores has a way of making you wonder what other hidden gems are waiting for you nearby. Luckily, they’re not hard to find.\n\n\n\nHow to Find Great Local Grocery Stores Near You\n\nIt’s one thing to search for local grocery stores every time you’re on a food run, and it’s another to know what to look for once those search results appear. A little curiosity can uncover neighborhood favorites that deserve a place in your regular grocery rotation. The tips below will help you compare your options and discover the hidden gems that may have been right around the corner all along.\n\n\n\nStart with Neighborhood Search Tools\n\nA Google search is a great place to begin, but chances are, you’ve been to those retailers a dozen times in the past few months. Plus, many hidden gems build loyal followings through word of mouth rather than big marketing budgets. Some of the best neighborhood finds won’t necessarily appear at the top of search results. Instead, start with Google Maps, and spend a few minutes checking more than just the overall star rating.\n\n\n\nFirst, read what nearby shoppers actually have to say. Do they rave about the produce? Mention friendly staff? Talk about making a special trip because the selection is worth it? Those details often paint a far clearer picture of the available local groceries than a five-star review ever could.\n\n\n\nOnce you’ve done that, see what your community recommends. Neighborhood Facebook groups and local Reddit threads are full of shoppers sharing their favorite hidden gems, whether it’s the produce market they swear by or the regional grocery store they wish they’d discovered sooner.\n\n\n\nThen Look Beyond Price Tags\n\nNow that you’ve found a few promising stores, it’s time to see what makes each one worth returning to in the first place. Price matters, of course, but it shouldn’t be the only thing guiding your decision. A grocery store that saves you a few dollars isn’t always the one that offers the best overall value.\n\n\n\nStart in the produce department. Fruits and vegetables should look fresh, well-stocked, and carefully maintained. From there, wander the aisles instead of sticking to your shopping list. You might spot locally-made products or artisan-crafted specialty ingredients that aren’t available at larger chains. These types of one-of-a-kind finds are what make breaking your usual routine worth it when shopping for local groceries.\n\n\n\nIf your week is packed with work or school pickups, don’t skip the prepared foods section either. Ready-to-cook meals and grab-and-go dinners can make busy evenings much easier while introducing you to dishes you may not have tried otherwise. As you checkout, pay attention to the atmosphere. Helpful employees and clean aisles often say just as much about the shopping experience as what’s sitting on the shelves.\n\n\n\nBe Sure to Visit at Different Times\n\nAfter you’ve narrowed your list to a few promising retailers, don’t stop after a single visit. Every store has its own rhythm, and getting to know it can make the difference between a good shopping trip and a great one. Returning at different times of day helps you understand when selection is at its best, what local groceries tend to sell quickly, and when you’re most likely to come across unexpected finds.\n\n\n\nFor instance, morning visits are often the best time to browse freshly stocked produce and bakery items before they're picked over. Later in the day, you may find unbeatable markdowns on prepared foods or other perishable items approaching their sell-by dates. If a store regularly carries seasonal specialties or local-made products, ask when deliveries arrive so you can plan your next visit around fresh inventory.\n\n\n\nBefore long, you’ll start to notice each store’s strengths. One may turn into your favorite stop for fresh fruit, another for weeknight meals, and another for ingredients you can’t seem to find elsewhere. That’s how the best hidden gems are discovered: not by luck, but by becoming a regular.\n\n\n\nHidden Grocery Gems Look Different in Every City\n\nThe best grocery discoveries don’t all look the same. Every neighborhood has its own shopping culture, so the stores worth exploring in one city may be completely different from those in another. Still, the strategy stays the same. No matter if you’re searching for local grocery stores near you in a major metro or a smaller town, look beyond the biggest chains and pay attention to the retailers people return to week after week.\n\n\n\nHere are a few examples of the kinds of local grocery stores worth seeking out in different cities:\n\nYou don’t have to live in one of these cities to put these ideas into practice. Every community has its own mix of neighborhood markets, regional grocery stores, and specialty shops to discover. Learning to spot those opportunities can open the door to better shopping, one new store at a time. Once you know what to look for, you’re far more likely to stumble across new favorites closer to home on every grocery run.\n\n\n\nSave Even More on Local Groceries with Too Good To Go\n\nNo matter where you call home, the biggest challenge is often knowing which stores are worth exploring first. Fortunately, there are more ways than ever to uncover nearby grocery stores you might have otherwise missed. One of them is the Too Good To Go app, a free-to-download surplus food marketplace that connects shoppers with nearby grocery stores and other food retailers selling unsold food at a major discount.\n\n\n\nIt’s a simple way to discover local groceries while stretching your budget a little further. Here’s how it works:\n\nFirst, browse nearby grocery stores and other food retailers in the app.\n\nNext, reserve a Surprise Bag for roughly one-third of its original retail value.\n\nThen, pick it up during the store’s designated pickup window.\n\nFinally, pick up your Surprise Bag and enjoy what’s inside.\n\n\n\nThe exact contents of each Surprise Bag are a mystery, but you’ll know the general type of food you’re reserving before you buy. That element of surprise is part of the fun. One pickup could introduce you to a neighborhood grocery store you’ve never visited before, while the next might help you discover a new favorite product. Along the way, you’ll save money, support local businesses, and stop good food from going to waste.\n\n\n\nDiscover More Local Grocery Stores Near You\n\nDiscovering local groceries doesn’t mean giving up your usual supermarket. It simply means expanding your options and staying open to stores you may have overlooked before. No matter where you’re located, every neighborhood has something worth exploring. Too Good To Go makes exploration even easier by helping you find nearby grocery stores offering discounted Surprise Bags that save money and help reduce food waste.\n\n\n\n\n\nDownload the Too Good To Go app and discover hidden grocery gems near you.\n\n\n\nFAQs About How to Find Local Groceries\n\nWhat’s considered a local grocery store?\n\nLocal grocery stores include far more than neighborhood supermarkets. They can also include independently owned markets, produce markets, butcher shops, natural food stores, regional grocery chains, bakeries with grocery selections, and specialty food retailers that serve your community.\n\n\n\nHow do I find local grocery stores near me?\n\nStart with Google Maps, then read customer reviews to learn what shoppers like about each store. Community Facebook groups and local Reddit threads are also great places to discover neighborhood favorites that may not appear at the top of search results. Surplus food marketplaces like Too Good To Go are another avenue to find nearby deals.\n\n\n\nHow can I tell if a grocery store is worth revisiting?\n\nLook beyond prices alone. Fresh produce, high-quality prepared foods, unique products, helpful staff, and a clean, welcoming environment are all signs that a store may be worth adding to your regular grocery rotation.\n\n\n\nWhen is the best time to visit a local grocery store?\n\nIt depends on what you’re shopping for. Morning visits often offer the best selection of fresh produce and bakery items, while later in the day, you may find markdowns on prepared foods and other perishable products. Asking when deliveries arrive can also help you shop when inventory is at its freshest.\n\n\n\nHow does Too Good To Go work?\n\nToo Good To Go connects shoppers with nearby grocery stores and other food retailers selling surplus food through discounted Surprise Bags. Browse participating stores in the app, reserve a Surprise Bag, then pick it up during the store’s designated pickup window. The exact contents are a surprise, but you’ll know the general category of food before you reserve.\n\n\n\nCan Too Good To Go help me discover new grocery stores?\n\nYes. Too Good To Go isn’t just a way to save money; it can also introduce you to grocery stores, markets, bakeries, and other food retailers you may not have visited before. Many shoppers use the app to discover new neighborhood favorites while helping reduce food waste.",{"_type":1091,"alt":1130,"asset":1131,"fit":25},"Shopper selecting fresh local produce",{"_ref":1132,"_type":13},"image-657171f1616772767b25cac575a0b85ad34f1b5d-5600x3733-jpg","2026-07-23T15:31:43.891Z","\u002Fblog\u002Flocal-groceries-near-you","Local Grocery Shopping: How to Find Hidden Gems in Your Neighborhood",{"_createdAt":1137,"_id":1138,"categories":8,"content":1139,"excerpt":8,"file":8,"image":1140,"language":38,"migrated":8,"pretitle":1098,"publishedAt":1144,"slug":1145,"title":1146,"updatedAt":8,"url":8},"2026-07-16T15:34:08Z","ea7c7036-95f6-41b0-9bf3-06d6cca2b74b","Food freshness affects countless decisions across the supply chain. It influences what customers buy, how businesses manage inventory, and which products ultimately end up going unsold, even when they’re perfectly edible. Many people assume freshness ends the moment a package reaches its printed date, yet the reality is often far more nuanced. Unfortunately, that misunderstanding has real consequences. Date label concerns alone account for 1.82 million tons of edible surplus food, making them the single largest contributor to food waste.\n\n\n\nA carton of yogurt, a loaf of bread, and a container of prepared food do not all lose freshness in the same way or at the same time. Quality changes differently across food categories, which means assessing freshness requires more than a quick glance at a label. Understanding what food freshness actually means is the first step toward making better decisions about food that might otherwise be discarded too soon.\n\n\n\nWhy Food Freshness is Misunderstood on Both Sides of the Counter\n\nOne of the biggest misconceptions about food freshness is that a printed date on a container or carton automatically determines whether a product should be eaten or discarded. Consumers often interpret dates as expiration deadlines, while businesses may feel pressure to remove products from shelves as those dates approach. In reality, most date labels are intended to communicate quality rather than safety.\n\n\n\nThe result is a significant amount of perfectly edible food being thrown away before it ever has a chance to be enjoyed. Common food date labels that cause confusion on both sides of the register include:\n\n\n\nSell By: Helps retailers manage inventory and stock rotation.\n\nEnjoy By: Suggests when a product is likely to provide the best eating experience.\n\nBest By: Indicates when a product is expected to have its best flavor, texture, or overall quality.\n\nUse By: Often signals the last recommended date for peak quality.\n\n\n\nInfant formula is the only product in the U.S. that is federally required to use a safety-based Use By date. Everything else is considered quality or inventory guidance. This distinction is important because many foods remain safe and enjoyable when stored properly. Learning how to keep food fresh through appropriate handling and storage can often extend a product’s usable life beyond what consumers might expect.\n\n\n\nThe Business Cost of Getting Food Freshness Wrong in Retail\n\nDate label confusion isn’t just a consumer issue. It has real financial consequences for food businesses, too. Roughly three-quarters of annual retail food waste, or $26.9 billion, comes from highly perishable categories such as produce, meat and seafood, prepared foods, and dairy. Yet nearly 45% of that food remains safe to enjoy, suggesting significant opportunities to recover value before products are discarded.\n\n\n* Based on 2024 ReFED food waste statistics\n\n\nThe financial impact extends beyond the value of the inventory itself. Employees still spend time monitoring products, rotating stock, and removing items that are no longer considered sellable. Disposal and hauling costs add another layer of expense, further increasing the impact of food waste. Improving how you evaluate food freshness can help uncover opportunities to recover value before those costs begin to accumulate.\n\n\n\nFood Freshness Looks Different Across Every Category\n\nDate labels can provide useful guidance, but they only tell part of the story. Too Good To Go’s Look, Smell, Taste initiative focuses on the signs of quality and true spoilage that date labels cannot always capture. The reason is simple: freshness doesn’t look the exact same across every category. A loaf of bread ages differently than a carton of yogurt, and neither follows the same pattern as fresh produce or seafood.\n\n\n\nMonitoring the specific characteristics of each category often provides a clearer picture than the date alone.\n\n\n\nProduce: Appearance Matters, But Looks Can Be Deceiving\n\nProduce may be one of the easiest categories to misjudge because visual imperfections are often mistaken for spoilage. A bruised apple, slightly limp greens, or a banana with brown spots may not look their best, but those changes are often a normal part of the aging process rather than signs the product is rotten. Still, consumers expressly avoid unattractive produce nearly all the time, contributing to both food waste and lost sales.\n\n\n\nWhen assessing food freshness in produce, appearance should be considered alongside texture and aroma. Lettuce that has become slimy or berries that smell fermented are very different from produce that is simply less vibrant than it was a few days earlier. Distinguishing between cosmetic changes and true spoilage can help businesses identify products that still have value before they’re tossed out of the food supply chain for good.\n\n\n\nDairy Products: Date Labels Are Only One Piece of the Puzzle\n\nUnlike produce—where visual appearance often drives purchasing decisions—dairy products tend to be judged more heavily by the date printed on the package. Still, many dairy items remain usable beyond their Best By date, particularly when they have been stored consistently at the proper temperature. For these reasons, food freshness in dairy is often better evaluated through changes in smell and texture.\n\n\n\nMilk may develop a distinctly sour odor when it begins to spoil, while yogurt and sour cream can become watery or separate beyond what is considered normal (or appetizing). Cheese presents its own challenges, with some varieties naturally changing texture as they age. For example, cheddar often becomes firmer and more crumbly over time, where Brie can soften and develop a creamier interior as it matures. Looking at the product itself, rather than relying solely on the date, often provides a clearer picture of its condition.\n\n\n\nMeat and Seafood: Storage and Temperature Matter Most\n\nWhile produce and dairy can often be evaluated through visible quality changes, meat and seafood require a greater emphasis on temperature control throughout their lifespan. There’s a reason restaurant and grocery inspectors routinely check cold storage temperatures during routine inspections. Proper cold-chain management plays a critical role in preserving meat and seafood freshness and reducing safety risks.\n\n\n\nColor is often one of the least reliable indicators of freshness in this category. Beef naturally changes color over time, yet many shoppers associate any amount of browning with spoilage. A more complete assessment considers whether products have been cold-held properly throughout storage and transport. Excessive moisture, unusual stickiness, or strong off-odors may be more meaningful warning signs than color changes alone.\n\n\n\nBaked Goods: Freshness and Safety Are Not the Same Thing\n\nMoving from highly perishable proteins to baked goods highlights an important distinction: quality decline and spoilage are not always the same thing. Bread, bagels, pastries, and other baked items naturally lose moisture over time, causing them to become firmer or less enjoyable to eat. Staleness may affect the eating experience, but it doesn’t automatically indicate a safety concern. A baguette that has lost its crusty exterior or a muffin that feels slightly dry is often still safe to eat.\n\n\n\nThat distinction becomes especially important in bakery departments, where quality often declines long before safety becomes a concern. Visible mold remains one of the clearest indicators that a product should no longer be consumed. Short of that, many baked goods remain perfectly edible even after they have passed their peak quality window, making this category a useful example of why freshness and safety should not be treated as interchangeable concepts.\n\n\n\nPrepared Foods: Time Windows Help Guide Freshness\n\nPrepared foods introduce a different freshness challenge because they often combine multiple ingredients, each with its own shelf life. Restaurants, grocery stores, and foodservice operators rely heavily on production dates, holding times, and labeling procedures to help ensure products are served within established quality and safety standards. Even with those controls in place, the food itself can provide important clues.\n\n\n\nPrepared foods that have developed unusual discoloration, excessive liquid separation, or unexpected texture changes may indicate spoilage. A sandwich with wilted lettuce, a grain bowl that has lost some texture, or a prepared salad that’s no longer at peak quality presents a different situation. Freshness can decline before a product becomes unsafe, which is why timing and sensory evaluation work together when assessing prepared foods.\n\n\n\nHow to Keep Food Fresh Longer: 5 Tips to Prolong Freshness\n\nThe signs of freshness may vary from one food category to the next, but the underlying goal remains the same. Preserving quality for as long as possible, and ensuring good food reaches customers, is always the aim. Businesses that prioritize food freshness through strong storage and inventory practices are often better positioned to reduce waste while maximizing the value of their products. Here’s how to do just that:\n\n\n\nMaintain proper storage temperatures. Consistent refrigeration helps slow quality decline and preserve freshness across dairy, meat, seafood, prepared foods, and many produce items. Regular temperature monitoring can also help identify issues before they affect product quality.\n\nUse packaging that protects product quality. Appropriate packaging helps shield food from excess moisture, air exposure, and other environmental factors that can accelerate deterioration. Storage methods should also be tailored to the needs of each product category.\n\nFollow first-in, first-out (FIFO) inventory practices. Rotating older inventory to the front and newer inventory to the back helps ensure products are sold or used in the intended order, reducing the likelihood of items being overlooked until quality declines.\n\nIdentify products before they reach their quality threshold. Monitoring inventory proactively creates more opportunities to sell, donate, or otherwise recover value from food while it still meets quality expectations.\n\nTrain employees on freshness indicators, not just date labels. Teams that understand the difference between normal aging and true spoilage are better equipped to make informed decisions to reduce unnecessary waste.\n\n\n\nHow Too Good To Go Helps Retailers Recover Value from Surplus Food\n\nEven with strong inventory management practices in place, surplus food is sometimes unavoidable. Demand can shift unexpectedly, and products may sell more slowly than anticipated, but quality windows continue to narrow with each passing day. Many foods maintain their food freshness and remain enjoyable as they approach their Best By or Enjoy By dates, yet businesses often struggle to sell that inventory before it loses value.\n\n\n\nToo Good To Go helps address that challenge through Surprise Bags. Grocery stores, bakeries, restaurants, and other food retail businesses can recover value from inventory with a limited remaining shelf life, while consumers discover surplus food through the app-based Too Good To Go marketplace. Participating businesses create their own Surprise Bags using surplus inventory that still meets their quality and food safety standards.\n\n\n\nUnlock the Opportunity Hidden Inside Food Freshness Windows\n\nThe conversation around food waste often begins with what gets thrown away, but a more useful question is why it gets thrown away in the first place. In many cases, the answer comes back to how freshness is understood throughout the supply chain. A softened peach, a slightly stale loaf of bread, and a package of beef with minor discoloration all tell very different stories, but they’re also safe to eat.\n\n\n\nToo Good To Go helps businesses capture value from these types of food that still have something left to offer. By creating a simple way to sell surplus food before quality declines further, Surprise Bags help transform limited shelf life from a liability into a chance to recover value. Learn how Too Good To Go can help your business reduce food waste and make the most of every freshness window.\n\n\n\n\n\nRecover more value from surplus food\n\n\n\n\n\nFAQ About Food Freshness\n\nWhat does food freshness actually mean?\n\nFood freshness refers to a product’s overall quality and condition, including factors such as appearance, texture, smell, and flavor. While freshness naturally changes over time, a product does not automatically become unsafe the moment it reaches a printed date. Different foods age differently, which is why freshness must be evaluated within the context of each category.\n\n\n\nAre Best By dates the same as expiration dates?\n\nNo. Most date labels are intended to communicate quality rather than safety. Labels such as Best By, Enjoy By, and Sell By generally indicate when a product is expected to deliver its best flavor, texture, or eating experience. Many foods remain safe and enjoyable beyond those dates when stored properly.\n\n\n\nWhy do consumers often throw away food that is still edible?\n\nMany consumers rely heavily on date labels or visual appearance when making decisions about food. Cosmetic imperfections, slight texture changes, or approaching quality dates are often mistaken for signs of spoilage. As a result, perfectly edible food is frequently discarded before it truly needs to be.\n\n\n\nHow can food businesses reduce waste caused by freshness concerns?\n\nBusinesses can reduce unnecessary waste by monitoring inventory proactively, maintaining proper storage conditions, rotating stock using first-in, first-out practices, and training employees to recognize the difference between normal aging and true spoilage. Evaluating products based on their actual condition rather than dates alone can also help identify opportunities to recover value.\n\n\n\nWhy is food freshness assessed differently across food categories?\n\nEach category ages in its own way. Produce may develop cosmetic imperfections while remaining perfectly edible, dairy products often show changes in smell or texture, and baked goods can become stale long before they become unsafe. Understanding category-specific indicators helps businesses make more informed decisions about inventory.\n\n\n\nWhat is Too Good To Go?\n\nToo Good To Go is a surplus food marketplace that helps food businesses reduce waste by connecting consumers with leftover items that still meet quality and food safety standards. Through the app, consumers can purchase Surprise Bags containing unsold food from participating grocery stores, bakeries, restaurants, and other food retailers.\n\n\n\nHow do Surprise Bags help businesses recover value from surplus food?\n\nSurprise Bags provide businesses with an additional way to sell food that has a limited remaining shelf life but is still fresh and enjoyable to eat. Rather than allowing that inventory to go unsold, participating businesses can package eligible surplus food into discounted Surprise Bags and offer them through the Too Good To Go marketplace, helping reduce waste while generating incremental revenue.",{"_type":1091,"alt":1141,"asset":1142,"fit":25},"Fresh produce in Surprise Bag",{"_ref":1143,"_type":13},"image-dd082d7e7126a1427dfe2e3a8cf3c4c7e036d085-2500x1667-jpg","2026-07-16T16:17:34.970Z","\u002Fblog\u002Ffood-freshness-explained","Food Freshness Explained: What It Means for Different Types of Food",{"_createdAt":1148,"_id":1149,"categories":8,"content":1150,"excerpt":8,"file":8,"image":1151,"language":38,"migrated":8,"pretitle":1098,"publishedAt":1155,"slug":1156,"title":1157,"updatedAt":8,"url":8},"2026-07-14T15:11:56Z","f352f718-7c5e-4134-b77c-ad31292f58b7","A multi-unit franchise may have predictive analytics to help with restaurant demand forecasting. An independent operator, on the other hand, is often relying on last week’s sales, the local weather report, and a little bit of luck. That doesn’t mean effective forecasting is out of reach. With the right information and a simple process, even small teams can make more informed decisions about inventory levels and staffing needs.\n\n\n\nAfter all, most operators already have access to the information they need. The next step is turning that data into a repeatable routine. Luckily, a few practical adjustments can help reduce weekly food waste and protect already-thin profit margins without adding unnecessary complexity. Let’s explore how independent restaurant operators can build a reliable forecasting system without expensive software or enterprise-level tools.\n\n\n\nWhat is Restaurant Demand Forecasting?\n\nRestaurant demand forecasting is the process of estimating how much food, inventory, and labor you’ll need based on expected sales. The goal is simple: have enough ingredients and staff on hand to serve customers without overbuying or overpreparing. That may sound straightforward, but restaurants face unique forecasting challenges.\n\n\n\nIn many ways, restaurant demand forecasting and retail demand forecasting share the same objective of matching supply to demand. The difference is that restaurants are usually working with highly perishable inventory, changing menus, and tighter service windows. A retailer may have weeks or months to sell excess inventory. In contrast, a restaurant often has days or even hours before surplus goes to waste.\n\n\n\nThat’s why forecasting matters. Even small improvements can help operators make smarter decisions throughout the week, including:\n\n\n\nPreventing over-ordering. Ordering too much inventory ties up cash and increases the likelihood that ingredients will spoil before they’re used.\n\nReducing food waste. Every surplus item that spoils or loses freshness represents lost value that has already been purchased, stored, and prepared.\n\nAvoiding stockouts. Running out of staple ingredients or popular menu items can lead to missed sales and frustrated customers who may not return.\n\nProtecting margins. Better demand forecasting helps operators balance purchasing, preparation, and labor costs without sacrificing service quality.\n\n\n\nThose benefits can add up quickly in an industry known for thin margins. Full-service restaurants typically operate within a 3% to 5% profit margin range, while fast-casual concepts often fall between 6% and 9%. When profitability is measured in single digits, even modest forecasting improvements can make a meaningful difference.\n\n\n\nThe Realities of Restaurant Demand Forecasting for Independent Operators\n\nEffective restaurant demand forecasting can be more difficult when resources are limited. Large restaurant groups may rely on sophisticated forecasting platforms, but many independent operators are still making purchasing decisions with spreadsheets and experience. Smaller teams rarely have dedicated analysts or specialized software, and tighter purchasing budgets can leave less room for error when ordering inventory from week to week.\n\n\n\nNot to mention, demand can shift quickly, even with a solid routine in place.\n\n\n\nA rainy weekend, a nearby sporting event, or the start of tourist season can change customer traffic patterns with little warning. Some weeks bring packed dining rooms, while others fall short of expectations despite looking similar on paper. Those variables make forecasting challenging, but they also highlight why having a consistent approach is so valuable. The goal isn’t to predict every shift in demand perfectly; it’s to make better decisions more often.\n\n\n\nWhat Data Should Operators Use for Restaurant Demand Forecasting?\n\nIndependent restaurants often assume they lack the necessary data for demand forecasting. In reality, most operators already collect relevant demand signals through daily operations. Sales reports, inventory records, reservations, and local demand trends can provide more than enough information to make more informed purchasing and staffing decisions. Take a look at the types of data that can fuel restaurant demand forecasting.\n\n\n\nHistorical Sales Data\n\nHistorical sales reports tend to reveal patterns that aren’t obvious during day-to-day operations. Comparing last Thursday’s dinner service to a typical Thursday from the previous month, or even the same period last year, can help operators spot recurring trends and make more confident purchasing decisions. Over time, those patterns can establish a baseline for what “normal” demand looks like throughout the week.\n\n\n\nInventory Usage\n\nSales data tells part of the story, but inventory data helps fill in the gaps. Which ingredients consistently sell through before the end of service? Which ones regularly remain unused at the end of the week? For restaurant demand forecasting, these trends can be just as valuable as sales figures because they reveal where ordering decisions — and cash flow — may be overshooting or falling short of actual demand.\n\n\n\nReservations and Advance Orders\n\nUnlike historical data or inventory usage, reservations and advance orders offer a glimpse into future demand before service begins. A full reservation book, a large catering order, or a private event on the calendar can all influence how much inventory and labor may be needed on a given shift. Reviewing these commitments several days in advance can help operators make more informed decisions before guests arrive.\n\n\n\nLocal Demand Signals\n\nWhile the above data sets are useful, customer traffic doesn’t exist in a vacuum. Weather changes, school schedules, community events, holidays, and nearby sporting events can all influence how many guests walk through the door. Paying attention to these external factors adds helpful context to restaurant demand forecasting, especially when historical sales data alone doesn’t explain sudden increases or declines in demand.\n\n\n\nSimple Tools That Make Restaurant Demand Forecasting Easier\n\nRestaurant demand forecasting becomes much more manageable when you know where each piece of information lives. Rather than hunting through multiple records every week, focus your attention on a handful of sources that make patterns easier to spot. The table below can help you connect each demand signal to the everyday tools that track it.\n\nThe good news? You don’t need to gather every data point at once. Start with the information that is easiest to access — like POS reports or reservation platforms — then layer in demand signals like vendor ordering records and local event calendars. Over time, reviewing these sources together can turn scattered information into a more reliable forecasting routine.\n\n\n\nA 6-Step Restaurant Demand Forecasting Process for Independent Operators\n\nIndependent operators don’t need advanced retail demand forecasting platforms or specialized software to stay ahead. A combination of reliable records and simple spreadsheets can provide enough visibility to make more informed decisions instantly. Here’s how to launch your own restaurant demand forecasting process for accurate inventory and labor in six simple steps.\n\n\n\nStep 1: Review Historical Sales Trends\n\nEvery routine needs a starting point. For restaurant demand forecasting, historical sales trends provide the baseline that everything else builds upon. Review performance from the same day last week, the same period last year, and any recent shifts in customer ordering behavior. Pay close attention to menu items that consistently outperform expectations as well as those that move more slowly. Those patterns can help establish a realistic starting point before making any adjustments.\n\n\n\nStep 2: Account for Upcoming Demand Drivers\n\nWhile historical sales data tells you what happened in the past, restaurant demand forecasting also requires operators to account for what is already on the calendar. Once you have a baseline, look ahead for anything that could influence customer traffic in the days ahead. Consider factors such as:\n\n\n\nReservations\n\nPrivate events\n\nCatering orders\n\nCommunity events\n\nWeather forecasts\n\n\n\nEven a few additional bookings or a well-attended local event, like a county fair or family movie night, can influence purchasing and staffing needs for the week. Weather conditions can affect demand, too. Though pleasant weather may encourage more diners to visit, storms, extreme heat, or heavy snowfall can reduce customer traffic.\n\n\n\nStep 3: Factor in Seasonality\n\nSuccessful restaurant demand forecasting goes beyond weekly fluctuations. Many restaurants experience recurring shifts in customer traffic throughout the year that can influence sales patterns for weeks or months at a time. Holidays, tourist spikes, school schedules, sporting seasons, and annual community events can all affect how busy a restaurant becomes.\n\n\n\nLikewise, ingredient costs may rise or fall depending on seasonal availability. Produce, proteins, and other ingredients move in and out of peak supply throughout the year, and some products may be harder to source during certain seasons. Factoring these trends into purchasing decisions can help operators avoid surprises while maintaining more consistent inventory levels.\n\n\n\nStep 4: Identify the Inventory Most Vulnerable to Waste\n\nOne area where restaurants differ significantly from other businesses is inventory perishability. Retail demand forecasting often focuses on products that can remain on shelves for extended periods, whereas restaurants work with ingredients that have a much shorter freshness window. Identifying the items most vulnerable to waste can help operators prioritize forecasting efforts where they matter most.\n\n\n\nPay particular attention to:\n\nPrepared foods, including soups, sauces, and sides that have limited holding periods under food safety guidelines\n\nProteins, which are among the most expensive inventory items and can create significant losses when overordered\n\nBaked goods, which may lose freshness and quality within a short period even if they remain safe to serve\n\nFresh produce, which can spoil quickly when purchasing levels exceed actual customer demand\n\n\n\nKeeping an eye on these ingredients can make it easier to prevent waste before it becomes a bigger problem. If certain items regularly end up unused or expire before they’re sold, that’s usually a sign that purchasing levels need to be adjusted. Paying closer attention to your most perishable inventory can help reduce food waste, improve margins, and make day-to-day inventory management a little less stressful.\n\n\n\nStep 5: Refine Your Purchasing Decisions Weekly\n\nLike inventory management, forecasting works best as an ongoing process rather than a one-time exercise. Effective restaurant demand forecasting requires regular adjustments based on real-world results. At the end of each week, review what sold quickly, what remained untouched, what sold out before service ended. Those insights can help fine-tune future purchasing decisions and improve forecasting accuracy over time.\n\n\n\nStep 6: Schedule Staff Based on Expected Demand\n\nForecasting isn’t just about food orders. Strong restaurant demand forecasting can also help align staffing levels with expected customer traffic. Anticipating busy periods may make it easier to schedule enough team members to maintain service quality while avoiding unnecessary labor costs during slower shifts. Cross-training employees can add flexibility as well, allowing your staff to adapt when demand is higher or lower than expected.\n\n\n\nCommon Restaurant Demand Forecasting Mistakes to Avoid\n\nAbove all, remember that forecasting doesn’t need to be perfect. It just needs to be more reliable than guessing. Even the most consistent restaurant demand forecasting routine will occasionally miss the mark, especially when customer traffic shifts unexpectedly. Still, avoiding a few common mistakes can improve accuracy in the long run and help operators make more confident purchasing and staffing decisions.\n\n\n\nRelying only on gut instinct: Experience matters, but it works best when paired with real sales, inventory, and reservation data. Use historical trends to validate assumptions before placing orders.\n\nIgnoring seasonal trends: Customer purchasing habits and ingredient availability often change throughout the year. Looking only at recent performance can create blind spots during busy or slower seasons.\n\nOrdering for best-case scenarios: Planning for a packed dining room every night can leave restaurants with excess inventory when traffic falls short of expectations. Build forecasts around realistic demand, not ideal outcomes.\n\nFailing to track waste: Surplus inventory can reveal just as much as sales reports. Continuously monitoring what goes to waste can help identify where ordering quantities need adjustment.\n\nTreating forecasting as a once-a-month task: Demand forecasting is an ongoing process. Reviewing results regularly helps identify patterns, refine purchasing decisions, and adapt to changing conditions.\n\n\n\nHow Too Good To Go Helps Restaurants Manage Forecasting Gaps\n\nCustomer traffic fluctuates, plans change, and unexpected slow periods happen. Routine restaurant demand forecasting can reduce waste, but there will still be times when ingredients or prepared foods remain unsold at the end of service. That’s where a surplus food marketplace like Too Good To Go can help.\n\n\n\nRather than relying on one-off markdowns, restaurants can bundle surplus food into Surprise Bags and offer them at a discounted price through the Too Good To Go app. Operators set their own pickup windows, giving nearby customers an easy way to discover and purchase surplus food that might otherwise go unused. In the process, restaurants can recover value from inventory they’ve already purchased and prepared.\n\n\n\nSo, while forecasting helps you make smarter purchasing decisions upfront, Too Good To Go provides another outlet when demand doesn’t unfold exactly as expected. The result is a low-lift way to generate revenue from surplus food. In other words, it works for you, even when demand forecasts don’t.\n\n\n\nBetter Restaurant Demand Forecasting Starts with Better Habits\n\nRestaurant demand forecasting doesn’t require enterprise software or predictive analytics. You can build effective forecasting habits using the same POS reports, inventory tracking spreadsheets, and reservation platforms you’ve been relying on already. Still, no forecast is perfect. That’s why many operators pair stronger forecasting habits with surplus recovery tools like Too Good To Go.\n\n\n\nTogether, the duo can help restaurants reduce waste, protect margins, and make inventory management more profitable. Are you ready to recover more value from surplus food? Learn how Too Good To Go helps restaurants turn excess inventory into additional revenue.\n\n\n\n\n\nStart recovering surplus food revenue\n\n\n\n\n\nFAQs About Restaurant Demand Forecasting\n\nHow far ahead should restaurants forecast demand?\n\nMost independent restaurants benefit from forecasting at least one week ahead while reviewing upcoming reservations, events, and inventory needs. Longer-term forecasts can also be useful for planning around holidays, tourist seasons, and recurring community events that may affect customer traffic.\n\n\n\nWhat is the most important data for restaurant demand forecasting?\n\nHistorical sales data is often the best starting point because it reveals recurring patterns in customer behavior. Inventory usage, reservations, advance orders, and local demand signals can then add context and help operators make more informed purchasing decisions.\n\n\n\nHow often should restaurants update their forecasts?\n\nRestaurant demand forecasting works best as an ongoing process rather than a one-time exercise. Reviewing results weekly can help operators identify changing trends and adjust order quantities to improve forecasting accuracy over time.\n\n\n\nWhy do restaurants struggle with forecasting accuracy?\n\nCustomer traffic can change unexpectedly due to weather, local events, seasonal shifts, and other factors outside a restaurant’s control. For these reasons, forecasting isn’t about eliminating uncertainty entirely; it’s about making better decisions based on the information available.\n\n\n\nWhat inventory items should restaurants monitor most closely?\n\nRestaurants should pay particular attention to highly perishable items such as fresh produce, proteins, prepared foods, and baked goods. These products often carry the greatest risk of spoilage when purchasing levels exceed actual demand.\n\n\n\nHow does Too Good To Go help restaurants reduce food waste?\n\nToo Good To Go provides another outlet for surplus inventory when demand doesn't unfold exactly as expected. Restaurants set their own pickup times, list available Surprise Bags, and give nearby customers an opportunity to purchase excess food that might otherwise go unsold.\n\n\n\nWhat are Too Good To Go Surprise Bags?\n\nSurprise Bags allow restaurants to bundle surplus food into a single discounted offering for local customers. Rather than letting excess inventory go unused, restaurants can recover value from food that remains at the end of service while helping reduce food waste.",{"_type":1091,"alt":1152,"asset":1153,"fit":25},"restaurant manager reviewing demand data",{"_ref":1154,"_type":13},"image-36c4b68505ff22cc856fe3defc39843d7495d431-7112x4784-jpg","2026-07-14T15:33:39.966Z","\u002Fblog\u002Frestaurant-demand-forecasting","Restaurant Demand Forecasting 101: A Practical Guide for Independent Operators",130]