{
    "id": 904,
    "date": "2026-05-21T18:37:10",
    "date_gmt": "2026-05-21T16:37:10",
    "guid": {
        "rendered": "https:\/\/humanosh.org\/?page_id=904"
    },
    "modified": "2026-06-19T22:45:59",
    "modified_gmt": "2026-06-19T20:45:59",
    "slug": "newsletter",
    "status": "publish",
    "type": "page",
    "link": "http:\/\/humanosh.org\/en\/newsletter\/",
    "title": {
        "rendered": "Newsletter"
    },
    "content": {
        "rendered": "<h3 class=\"wp-block-heading\">We\u017a udzia\u0142 w konkursie na has\u0142o zach\u0119caj\u0105ce do pomagania!<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Masz pomys\u0142 na kr\u00f3tkie, mocne has\u0142o, kt\u00f3re zach\u0119ca do pomagania? We\u017a udzia\u0142 w naszym konkursie i podziel si\u0119 swoim pomys\u0142em.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wystarczy, \u017ce wype\u0142nisz formularz i wpiszesz autorskie has\u0142o promuj\u0105ce ide\u0119 pomagania innym. Spo\u015br\u00f3d nades\u0142anych propozycji wybierzemy najciekawsze has\u0142o, kt\u00f3rego autor\/autorka otrzyma voucher o warto\u015bci 300 z\u0142 do jednej z warszawskich restauracji.<\/p>\n\n\n\n<div style=\"height:var(--wp--preset--spacing--medium)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<!--\n  MailerLite custom signup form \u2014 self-contained snippet.\n  Paste this whole block into a WordPress \"Custom HTML\" block (Gutenberg)\n  or a Custom HTML widget. Everything (markup + CSS + JS) is included.\n\n  \u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510\n  \u2502 EDIT THESE BY HAND  (see the CONFIG block in the <script> below)     \u2502\n  \u2502   1. ML_ACTION  \u2014 your MailerLite hosted-form endpoint URL           \u2502\n  \u2502   2. Field keys \u2014 make sure the input name=\"fields[...]\" values      \u2502\n  \u2502      match the field KEYS in your MailerLite account.                \u2502\n  \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518\n-->\n\n<div class=\"mlcf-wrap\">\n  <form class=\"mlcf-form\" novalidate>\n    <!-- Honeypot: hidden from humans, bots tend to fill it. NOT a fields[...] name. -->\n    <div class=\"mlcf-hp\" aria-hidden=\"true\">\n      <label>Leave this field empty\n        <input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\">\n      <\/label>\n    <\/div>\n\n    <div class=\"mlcf-row\">\n      <label class=\"mlcf-label\" for=\"mlcf-name\">Imi\u0119 i nazwisko <span class=\"mlcf-req\">*<\/span><\/label>\n      <input class=\"mlcf-input\" id=\"mlcf-name\" type=\"text\" name=\"fields[name]\"\n             autocomplete=\"name\" required>\n      <p class=\"mlcf-error\" data-for=\"mlcf-name\"><\/p>\n    <\/div>\n\n    <div class=\"mlcf-row\">\n      <label class=\"mlcf-label\" for=\"mlcf-email\">Adres e-mail <span class=\"mlcf-req\">*<\/span><\/label>\n      <input class=\"mlcf-input\" id=\"mlcf-email\" type=\"email\" name=\"fields[email]\"\n             autocomplete=\"email\" required>\n      <p class=\"mlcf-error\" data-for=\"mlcf-email\"><\/p>\n    <\/div>\n\n    <div class=\"mlcf-row\">\n      <label class=\"mlcf-label\" for=\"mlcf-phone\">Numer telefonu <span class=\"mlcf-req\">*<\/span><\/label>\n      <input class=\"mlcf-input\" id=\"mlcf-phone\" type=\"tel\" name=\"fields[phone]\"\n             autocomplete=\"tel\" required>\n      <p class=\"mlcf-error\" data-for=\"mlcf-phone\"><\/p>\n    <\/div>\n\n    <div class=\"mlcf-row\">\n      <label class=\"mlcf-label\" for=\"mlcf-q1\">Twoje has\u0142o konkursowe <span class=\"mlcf-req\">*<\/span><\/label>\n      <input class=\"mlcf-input\" id=\"mlcf-q1\" type=\"text\" name=\"fields[konkurs_haslo]\" required>\n      <p class=\"mlcf-error\" data-for=\"mlcf-q1\"><\/p>\n    <\/div>\n\n    <div class=\"mlcf-row\">\n      <label class=\"mlcf-label\" for=\"mlcf-q2\">Kr\u00f3tki opis pomys\u0142u \/ uzasadnienie has\u0142a\n        <span class=\"mlcf-optional\">(opcjonalnie)<\/span><\/label>\n      <textarea class=\"mlcf-input mlcf-textarea\" id=\"mlcf-q2\"\n                name=\"fields[konkurs_opis]\" rows=\"4\"><\/textarea>\n      <p class=\"mlcf-error\" data-for=\"mlcf-q2\"><\/p>\n    <\/div>\n\n    <h3 class=\"mlcf-subtitle\">Zgody<\/h3>\n\n    <!-- Consent checkboxes: all required to submit, none are sent to MailerLite\n         (they have no name attribute, so FormData ignores them). -->\n    <div class=\"mlcf-row mlcf-consent\">\n      <label class=\"mlcf-checkbox-label\">\n        <input class=\"mlcf-checkbox\" id=\"mlcf-c1\" type=\"checkbox\" required>\n        <span>O\u015bwiadczam, \u017ce zg\u0142oszone przeze mnie has\u0142o jest mojego autorstwa i nie\n          narusza praw os\u00f3b trzecich. <span class=\"mlcf-req\">*<\/span><\/span>\n      <\/label>\n      <p class=\"mlcf-error\" data-for=\"mlcf-c1\"><\/p>\n    <\/div>\n\n    <div class=\"mlcf-row mlcf-consent\">\n      <label class=\"mlcf-checkbox-label\">\n        <input class=\"mlcf-checkbox\" id=\"mlcf-c2\" type=\"checkbox\" required>\n        <span>Akceptuj\u0119 regulamin konkursu. <span class=\"mlcf-req\">*<\/span><\/span>\n      <\/label>\n      <p class=\"mlcf-error\" data-for=\"mlcf-c2\"><\/p>\n    <\/div>\n\n    <div class=\"mlcf-row mlcf-consent\">\n      <label class=\"mlcf-checkbox-label\">\n        <input class=\"mlcf-checkbox\" id=\"mlcf-c3\" type=\"checkbox\" required>\n        <span>Wyra\u017cam zgod\u0119 na przetwarzanie moich danych osobowych w celu udzia\u0142u\n          w konkursie i kontaktu w sprawie jego rozstrzygni\u0119cia.\n          <span class=\"mlcf-req\">*<\/span><\/span>\n      <\/label>\n      <p class=\"mlcf-error\" data-for=\"mlcf-c3\"><\/p>\n    <\/div>\n\n    <div class=\"mlcf-row mlcf-consent\">\n      <label class=\"mlcf-checkbox-label\">\n        <input class=\"mlcf-checkbox\" id=\"mlcf-c4\" type=\"checkbox\" required>\n        <span>Wyra\u017cam zgod\u0119 na publikacj\u0119 mojego imienia oraz zg\u0142oszonego has\u0142a\n          w przypadku wygranej. <span class=\"mlcf-req\">*<\/span><\/span>\n      <\/label>\n      <p class=\"mlcf-error\" data-for=\"mlcf-c4\"><\/p>\n    <\/div>\n\n    <button class=\"mlcf-submit\" type=\"submit\">Wy\u015blij zg\u0142oszenie<\/button>\n\n    <p class=\"mlcf-formerror\" role=\"alert\"><\/p>\n  <\/form>\n\n  <div class=\"mlcf-thanks\" role=\"status\" hidden>\n    <h3>Dzi\u0119kujemy za zg\u0142oszenie!<\/h3>\n    <p>Sprawd\u017a swoj\u0105 skrzynk\u0119 e-mail, aby potwierdzi\u0107 udzia\u0142 w konkursie. Je\u015bli by\u0142e\u015b wcze\u015bniej zapisany na nasz newsletter, twoja odpowied\u017a zosta\u0142a automatycznie dodana do twojej subskrypcji &#8211; nie musisz nic robi\u0107.<\/p>\n  <\/div>\n<\/div>\n\n<style>\n\n  .mlcf-wrap{\n    \/* Pulled from humanosh.org's theme palette *\/\n    --mlcf-primary:#5c2d94;   \/* brand purple (buttons)      *\/\n    --mlcf-primary-dark:#3d007a; \/* darker purple (hover)    *\/\n    --mlcf-accent:#c89b5b;    \/* brand gold (focus\/accents)  *\/\n    --mlcf-base:#fafafa;      \/* light text on purple        *\/\n    --mlcf-border:#d1d5db;\n    --mlcf-error:#cf2e2e;     \/* theme \"vivid-red\"           *\/\n    --mlcf-text:#0e0e0e;      \/* theme \"contrast\"            *\/\n    --mlcf-body:'Open Sans',sans-serif;\n    --mlcf-head:'Oswald',sans-serif;\n    max-width:480px;\n    margin:0 auto;\n    font-family:var(--mlcf-body);\n    color:var(--mlcf-text);\n    box-sizing:border-box;\n  }\n  .mlcf-wrap *,.mlcf-wrap *::before,.mlcf-wrap *::after{box-sizing:border-box;}\n  .mlcf-title{\n    font-family:var(--mlcf-head);\n    font-weight:600;\n    font-size:1.6rem;\n    line-height:1.1;\n    color:var(--mlcf-primary);\n    margin:0 0 1.25rem;\n  }\n  .mlcf-subtitle{\n    font-family:var(--mlcf-head);\n    font-weight:600;\n    font-size:1.15rem;\n    margin:1.5rem 0 .75rem;\n    padding-top:1rem;\n    border-top:1px solid var(--mlcf-border);\n  }\n  .mlcf-optional{font-weight:400;color:#6b7280;font-size:.85rem;}\n  .mlcf-row{margin-bottom:1rem;}\n  .mlcf-label{\n    display:block;\n    margin-bottom:.35rem;\n    font-family:var(--mlcf-body);\n    font-weight:600;\n    font-size:.95rem;\n  }\n  .mlcf-req{color:var(--mlcf-error);}\n  .mlcf-input{\n    width:100%;\n    padding:.7rem .8rem;\n    font-size:16px;\n    font-family:var(--mlcf-body);\n    line-height:1.5;\n    border:1px solid var(--mlcf-border);\n    border-radius:5px;\n    background:#fff;\n    color:var(--mlcf-text);\n  }\n  .mlcf-input:focus{\n    outline:none;\n    border-color:var(--mlcf-primary);\n    box-shadow:0 0 0 3px rgba(92,45,148,.18);\n  }\n  .mlcf-textarea{resize:vertical;min-height:90px;}\n  .mlcf-input.mlcf-invalid{border-color:var(--mlcf-error);}\n  .mlcf-error{\n    margin:.3rem 0 0;\n    font-size:.8rem;\n    color:var(--mlcf-error);\n    min-height:0;\n  }\n  .mlcf-consent .mlcf-checkbox-label{\n    display:flex;\n    align-items:flex-start;\n    gap:.5rem;\n    font-size:.9rem;\n    line-height:1.5;\n    cursor:pointer;\n  }\n  .mlcf-checkbox{\n    margin-top:.2rem;\n    flex:0 0 auto;\n    width:1rem;\n    height:1rem;\n    accent-color:var(--mlcf-primary);\n  }\n  .mlcf-submit{\n    \/* Matches humanosh.org's .wp-element-button *\/\n    width:100%;\n    padding:15px 30px;\n    font-size:16px;\n    font-weight:600;\n    font-family:var(--mlcf-body);\n    line-height:1.5;\n    color:var(--mlcf-base);\n    background:var(--mlcf-primary);\n    border:none;\n    border-radius:5px;\n    cursor:pointer;\n    transition:background-color .15s ease,opacity .15s ease;\n  }\n  .mlcf-submit:hover{background:var(--mlcf-primary-dark);}\n  .mlcf-submit:disabled{opacity:.6;cursor:default;}\n  .mlcf-submit:disabled:hover{background:var(--mlcf-primary);}\n  .mlcf-formerror{\n    margin:.75rem 0 0;\n    font-size:.85rem;\n    color:var(--mlcf-error);\n  }\n  .mlcf-formerror:empty{display:none;}\n  .mlcf-thanks{\n    padding:1.5rem;\n    border:1px solid var(--mlcf-border);\n    border-top:4px solid var(--mlcf-primary);\n    border-radius:8px;\n    text-align:center;\n    background:var(--mlcf-base);\n  }\n  .mlcf-thanks h3{\n    margin:0 0 .5rem;\n    font-family:var(--mlcf-head);\n    font-weight:600;\n    color:var(--mlcf-primary);\n  }\n  .mlcf-thanks p{margin:0;}\n  \/* Honeypot: keep it in the DOM and \"fillable\" by bots, invisible to humans. *\/\n  .mlcf-hp{\n    position:absolute;\n    left:-9999px;\n    width:1px;\n    height:1px;\n    overflow:hidden;\n  }\n<\/style>\n\n<script>\n(function () {\n  \"use strict\";\n\n  \/* ======================= CONFIG \u2014 EDIT THESE ========================= *\n   * 1) Replace <ACCOUNT_ID> and <FORM_ID> with the values from your\n   *    MailerLite embedded form's \"action\" URL. In the MailerLite\n   *    dashboard: Forms \u2192 Embedded forms \u2192 (your form) \u2192 \"Code\" \/ HTML\n   *    version. The action looks exactly like the URL below.\n   *\n   * 2) The form input name=\"fields[KEY]\" values must match the field\n   *    KEYS in MailerLite (Subscribers \u2192 Fields). Defaults assumed here:\n   *       name, email, phone, question1, question2\n   *    If your keys differ, update BOTH the name=\"fields[...]\" in the\n   *    markup above AND nothing else here (the script reads names from\n   *    the form automatically).\n   * ==================================================================== *\/\n  var ML_ACTION =\n    \"https:\/\/assets.mailerlite.com\/jsonp\/2364520\/forms\/190727528098301440\/subscribe\";\n\n  \/* ============================ end config ============================ *\/\n\n  \/\/ The <script> is a sibling of .mlcf-wrap (not a child), so closest() on the\n  \/\/ script would return null. For this single-instance form, just grab the wrap\n  \/\/ from the document. Scope to the script's container if there is one.\n  var scope = (document.currentScript && document.currentScript.parentElement) || document;\n  var wrap = scope.querySelector(\".mlcf-wrap\") || document.querySelector(\".mlcf-wrap\");\n  if (!wrap) return;\n\n  var form    = wrap.querySelector(\".mlcf-form\");\n  var thanks  = wrap.querySelector(\".mlcf-thanks\");\n  var button  = wrap.querySelector(\".mlcf-submit\");\n  var formErr = wrap.querySelector(\".mlcf-formerror\");\n  var honey   = form.querySelector('input[name=\"website\"]');\n  var EMAIL_RE = \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/;\n\n  function setError(input, msg) {\n    var el = form.querySelector('.mlcf-error[data-for=\"' + input.id + '\"]');\n    if (el) el.textContent = msg || \"\";\n    input.classList.toggle(\"mlcf-invalid\", !!msg);\n  }\n\n  function validate() {\n    var ok = true;\n    var name  = form.querySelector(\"#mlcf-name\");\n    var email = form.querySelector(\"#mlcf-email\");\n    var phone = form.querySelector(\"#mlcf-phone\");\n    var slogan = form.querySelector(\"#mlcf-q1\");\n\n    \/\/ Required text fields (everything except the optional description).\n    [name, email, phone, slogan].forEach(function (el) { setError(el, \"\"); });\n\n    if (!name.value.trim()) {\n      setError(name, \"To pole jest wymagane\"); ok = false;\n    }\n    if (!email.value.trim()) {\n      setError(email, \"Adres e-mail jest wymagany\"); ok = false;\n    } else if (!EMAIL_RE.test(email.value.trim())) {\n      setError(email, \"Wpisz poprawny adres e-mail\"); ok = false;\n    }\n    if (!phone.value.trim()) {\n      setError(phone, \"To pole jest wymagane\"); ok = false;\n    }\n    if (!slogan.value.trim()) {\n      setError(slogan, \"To pole jest wymagane\"); ok = false;\n    }\n\n    \/\/ All consent checkboxes must be ticked.\n    form.querySelectorAll(\".mlcf-consent .mlcf-checkbox\").forEach(function (cb) {\n      setError(cb, \"\");\n      if (!cb.checked) {\n        setError(cb, \"Ta zgoda jest wymagana\"); ok = false;\n      }\n    });\n\n    return ok;\n  }\n\n  function showThanks() {\n    form.hidden = true;\n    form.style.display = \"none\";\n    thanks.hidden = false;\n  }\n\n  form.addEventListener(\"submit\", function (e) {\n    e.preventDefault();\n    formErr.textContent = \"\";\n\n    \/\/ Honeypot tripped \u2192 silently pretend success, send nothing.\n    if (honey && honey.value) { showThanks(); return; }\n\n    if (!validate()) return;\n\n    var data = new FormData(form);\n    data.delete(\"website\");        \/\/ never send the honeypot\n    data.append(\"ml-submit\", \"1\"); \/\/ MailerLite hosted-form markers\n    data.append(\"anticsrf\", \"true\");\n\n    button.disabled = true;\n    var originalLabel = button.textContent;\n    button.textContent = \"Wysy\u0142anie\u2026\";\n\n    fetch(ML_ACTION, {\n      method: \"POST\",\n      body: data,\n      headers: { \"Accept\": \"application\/json\" }\n    })\n      .then(function (res) {\n        return res.json().catch(function () { return { success: res.ok }; });\n      })\n      .then(function (json) {\n        if (json && (json.success || json.ok)) {\n          showThanks();\n        } else {\n          throw new Error(\"MailerLite rejected the submission.\");\n        }\n      })\n      .catch(function () {\n        button.disabled = false;\n        button.textContent = originalLabel;\n        formErr.textContent =\n          \"Co\u015b posz\u0142o nie tak. Spr\u00f3buj ponownie za chwil\u0119.\";\n      });\n  });\n})();\n<\/script>\n\n\n\n\n<div style=\"height:var(--wp--preset--spacing--medium)\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Je\u015bli wolisz zostawi\u0107 nam jedynie sw\u00f3j e-mail, u\u017cyj formularza poni\u017cej.<\/p>\n\n\n\n<script data-wp-block-html=\"js\">\n(function(w,d,e,u,f,l,n){w[f]=w[f]||function(){(w[f].q=w[f].q||[])\n    .push(arguments);},l=d.createElement(e),l.async=1,l.src=u,\n    n=d.getElementsByTagName(e)[0],n.parentNode.insertBefore(l,n);})\n    (window,document,'script','https:\/\/assets.mailerlite.com\/js\/universal.js','ml');\n    ml('account', '2364520');\n<\/script>\n\n<div class=\"ml-embedded\" data-form=\"47azhq\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>",
        "protected": false
    },
    "excerpt": {
        "rendered": "<p>We\u017a udzia\u0142 w konkursie na has\u0142o zach\u0119caj\u0105ce do pomagania! Masz pomys\u0142 na kr\u00f3tkie, mocne has\u0142o, kt\u00f3re zach\u0119ca do pomagania? We\u017a udzia\u0142 w naszym konkursie i podziel si\u0119 swoim pomys\u0142em. Wystarczy, \u017ce wype\u0142nisz formularz i wpiszesz autorskie has\u0142o promuj\u0105ce ide\u0119 pomagania innym. Spo\u015br\u00f3d nades\u0142anych propozycji wybierzemy najciekawsze has\u0142o, kt\u00f3rego autor\/autorka otrzyma voucher o warto\u015bci 300 z\u0142 [&hellip;]<\/p>",
        "protected": false
    },
    "author": 2,
    "featured_media": 0,
    "parent": 0,
    "menu_order": 0,
    "comment_status": "closed",
    "ping_status": "closed",
    "template": "",
    "meta": {
        "footnotes": ""
    },
    "class_list": [
        "post-904",
        "page",
        "type-page",
        "status-publish",
        "hentry"
    ],
    "_links": {
        "self": [
            {
                "href": "https:\/\/humanosh.org\/en\/wp-json\/wp\/v2\/pages\/904",
                "targetHints": {
                    "allow": [
                        "GET"
                    ]
                }
            }
        ],
        "collection": [
            {
                "href": "https:\/\/humanosh.org\/en\/wp-json\/wp\/v2\/pages"
            }
        ],
        "about": [
            {
                "href": "https:\/\/humanosh.org\/en\/wp-json\/wp\/v2\/types\/page"
            }
        ],
        "author": [
            {
                "embeddable": true,
                "href": "https:\/\/humanosh.org\/en\/wp-json\/wp\/v2\/users\/2"
            }
        ],
        "replies": [
            {
                "embeddable": true,
                "href": "https:\/\/humanosh.org\/en\/wp-json\/wp\/v2\/comments?post=904"
            }
        ],
        "version-history": [
            {
                "count": 5,
                "href": "https:\/\/humanosh.org\/en\/wp-json\/wp\/v2\/pages\/904\/revisions"
            }
        ],
        "predecessor-version": [
            {
                "id": 919,
                "href": "https:\/\/humanosh.org\/en\/wp-json\/wp\/v2\/pages\/904\/revisions\/919"
            }
        ],
        "wp:attachment": [
            {
                "href": "https:\/\/humanosh.org\/en\/wp-json\/wp\/v2\/media?parent=904"
            }
        ],
        "curies": [
            {
                "name": "wp",
                "href": "https:\/\/api.w.org\/{rel}",
                "templated": true
            }
        ]
    }
}