{"id":11539,"date":"2026-08-22T16:30:30","date_gmt":"2026-08-22T13:30:30","guid":{"rendered":"https:\/\/lingualand.gr\/new\/exercises\/b-junior-listening-01-b-junior-listening-how-old-are-they\/"},"modified":"2026-09-05T16:58:26","modified_gmt":"2026-09-05T13:58:26","slug":"b-junior-listening-01-b-junior-listening-how-old-are-they","status":"publish","type":"page","link":"https:\/\/lingualand.gr\/new\/exercises\/b-junior-listening-01-b-junior-listening-how-old-are-they\/","title":{"rendered":"B Junior Listening \u2013 How Old Are They?"},"content":{"rendered":"<!-- lingualand-listening-access:bj:lesson:start -->\r\n<div id=\"accessGate-lesson-bj\" class=\"lingualand-listening-access-gate\" style=\"position:fixed;inset:0;z-index:999999;display:grid;place-items:center;min-height:100vh;padding:24px;background:#f6f3eb;color:#24343a;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Arial,sans-serif\"><form id=\"accessForm-lesson-bj\" style=\"width:min(460px,100%);background:#fff;border:1px solid #d8cfc1;border-radius:18px;padding:28px;box-shadow:0 18px 45px rgba(50,38,24,.12);text-align:left;box-sizing:border-box\"><h4 style=\"margin:0 0 10px;color:#24343a;font-size:26px;line-height:1.15;font-weight:800\">B Junior Listening Access<\/h4><p style=\"margin:0 0 18px;color:#607078;line-height:1.45;font-size:16px\">Enter your access key to open the exercises.<\/p><input id=\"accessKey-lesson-bj\" type=\"password\" autocomplete=\"off\" style=\"width:100%;box-sizing:border-box;border:1px solid #c9c0b3;border-radius:12px;padding:13px 14px;background:#fff;color:#17212b;font:inherit\" aria-label=\"Access key\"><button type=\"submit\" style=\"margin-top:14px;width:100%;border:0;border-radius:12px;padding:13px 16px;background:#24343a;color:#fff;font-weight:800;cursor:pointer;font:inherit\">Open exercises<\/button><div id=\"accessMessage-lesson-bj\" style=\"min-height:1.4em;margin-top:12px;color:#b42318;font-weight:700\" aria-live=\"polite\"><\/div><\/form><\/div><div id=\"exerciseApp-lesson-bj\" hidden><!-- lingualand-listening-exercise:bj:1:start -->\r\n<div class=\"lingualand-bj-listening-exercise-page\" style=\"max-width:1100px;margin:20px auto;\"><iframe title=\"B Junior Listening \u2013 How Old Are They?\" srcdoc=\"&lt;!DOCTYPE html&gt;\r\n&lt;html lang=&quot;en&quot;&gt;\r\n&lt;head&gt;\r\n  &lt;meta charset=&quot;UTF-8&quot;&gt;\r\n  &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&gt;\r\n  &lt;title&gt;B Junior Listening \u2013 How Old Are They?&lt;\/title&gt;\r\n  &lt;style&gt;\r\n    :root {\r\n      --navy: #23395d;\r\n      --blue: #3e78b2;\r\n      --pale: #eef6ff;\r\n      --gold: #f5b942;\r\n      --green: #27864a;\r\n      --red: #c43d3d;\r\n      --ink: #243044;\r\n    }\r\n\r\n    * { box-sizing: border-box; }\r\n\r\n    body {\r\n      margin: 0;\r\n      min-height: 100vh;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      color: var(--ink);\r\n      background: linear-gradient(145deg, #eaf5ff, #fff8e7);\r\n      display: flex;\r\n      justify-content: center;\r\n      align-items: center;\r\n      padding: 24px;\r\n    }\r\n\r\n    .card {\r\n      width: min(760px, 100%);\r\n      background: #fff;\r\n      border-radius: 24px;\r\n      box-shadow: 0 16px 45px rgba(35, 57, 93, 0.15);\r\n      overflow: hidden;\r\n    }\r\n\r\n    header {\r\n      background: var(--navy);\r\n      color: #fff;\r\n      padding: 24px 28px;\r\n      text-align: center;\r\n    }\r\n\r\n    .brand {\r\n      margin: 0 0 6px;\r\n      color: var(--gold);\r\n      font-weight: 800;\r\n      letter-spacing: 1.5px;\r\n      text-transform: uppercase;\r\n      font-size: 0.85rem;\r\n    }\r\n\r\n    h1 { margin: 0; font-size: clamp(1.55rem, 4vw, 2.2rem); }\r\n    header p { margin: 8px 0 0; opacity: 0.9; }\r\n\r\n    main { padding: 28px; }\r\n\r\n    .instructions {\r\n      background: var(--pale);\r\n      border-left: 5px solid var(--blue);\r\n      padding: 15px 18px;\r\n      border-radius: 10px;\r\n      margin-bottom: 20px;\r\n      line-height: 1.5;\r\n    }\r\n\r\n    .player {\r\n      display: flex;\r\n      flex-wrap: wrap;\r\n      gap: 10px;\r\n      align-items: center;\r\n      margin-bottom: 24px;\r\n    }\r\n\r\n    button {\r\n      border: 0;\r\n      border-radius: 11px;\r\n      padding: 12px 18px;\r\n      font-size: 1rem;\r\n      font-weight: 700;\r\n      cursor: pointer;\r\n      transition: transform 0.15s, opacity 0.15s;\r\n    }\r\n\r\n    button:hover { transform: translateY(-1px); }\r\n    button:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }\r\n    .listen { color: #fff; background: var(--blue); }\r\n    .stop { color: var(--navy); background: #e8edf4; }\r\n    .check { color: #fff; background: var(--green); }\r\n    .reset { color: var(--navy); background: #e8edf4; }\r\n    #status { font-weight: 700; color: var(--blue); }\r\n\r\n    .questions { display: grid; gap: 12px; }\r\n\r\n    .question {\r\n      display: grid;\r\n      grid-template-columns: 42px 1fr minmax(110px, 160px) 28px;\r\n      gap: 12px;\r\n      align-items: center;\r\n      padding: 14px 16px;\r\n      border: 2px solid #e8edf4;\r\n      border-radius: 14px;\r\n      transition: border-color 0.2s, background 0.2s;\r\n    }\r\n\r\n    .number {\r\n      width: 36px;\r\n      height: 36px;\r\n      border-radius: 50%;\r\n      display: grid;\r\n      place-items: center;\r\n      background: var(--gold);\r\n      color: var(--navy);\r\n      font-weight: 800;\r\n    }\r\n\r\n    .name { font-size: 1.08rem; font-weight: 700; }\r\n\r\n    select {\r\n      width: 100%;\r\n      padding: 10px;\r\n      border: 2px solid #cfd8e6;\r\n      border-radius: 9px;\r\n      background: #fff;\r\n      color: var(--ink);\r\n      font-size: 1rem;\r\n    }\r\n\r\n    .feedback { font-size: 1.25rem; font-weight: 900; text-align: center; }\r\n    .question.correct { border-color: var(--green); background: #effbf3; }\r\n    .question.wrong { border-color: var(--red); background: #fff2f2; }\r\n    .question.correct .feedback { color: var(--green); }\r\n    .question.wrong .feedback { color: var(--red); }\r\n\r\n    .actions {\r\n      display: flex;\r\n      gap: 10px;\r\n      justify-content: center;\r\n      margin-top: 24px;\r\n    }\r\n\r\n    #result {\r\n      min-height: 34px;\r\n      margin: 18px 0 0;\r\n      text-align: center;\r\n      font-size: 1.15rem;\r\n      font-weight: 800;\r\n    }\r\n\r\n    footer {\r\n      color: #718096;\r\n      text-align: center;\r\n      font-size: 0.82rem;\r\n      padding: 0 20px 20px;\r\n    }\r\n\r\n    @media (max-width: 540px) {\r\n      main { padding: 20px; }\r\n      .question { grid-template-columns: 40px 1fr 26px; }\r\n      .question select { grid-column: 2 \/ 3; }\r\n      .feedback { grid-column: 3; grid-row: 1 \/ 3; }\r\n      .actions { flex-direction: column; }\r\n      .actions button { width: 100%; }\r\n    }\r\n  &lt;\/style&gt;\r\n&lt;style id=&quot;lingualand-unified-access-style&quot;&gt;\r\n#accessGate[hidden],#lingualandAccessGate[hidden],[id^=&quot;accessGate-lesson-&quot;][hidden],.lingualand-access-gate[hidden],.lingualand-listening-access-gate[hidden]{display:none!important}\r\n#accessGate,#lingualandAccessGate,[id^=&quot;accessGate-lesson-&quot;],.lingualand-access-gate,.lingualand-listening-access-gate{\r\n  position:fixed!important;inset:0!important;z-index:999999!important;display:grid!important;place-items:center!important;\r\n  min-height:100vh!important;padding:24px!important;background:#f6f3eb!important;color:#24343a!important;box-sizing:border-box!important;\r\n}\r\n#accessGate&gt;div,#lingualandAccessGate&gt;div,[id^=&quot;accessGate-lesson-&quot;]&gt;div,.lingualand-access-gate&gt;div,.lingualand-listening-access-gate&gt;div,\r\n#accessGate&gt;form,#lingualandAccessGate&gt;form,[id^=&quot;accessGate-lesson-&quot;]&gt;form,.lingualand-access-gate&gt;form,.lingualand-listening-access-gate&gt;form{\r\n  width:min(460px,100%)!important;background:#fff!important;border:1px solid #d8cfc1!important;border-radius:18px!important;\r\n  padding:28px!important;box-shadow:0 18px 45px rgba(50,38,24,.12)!important;text-align:left!important;\r\n  font-family:-apple-system,BlinkMacSystemFont,&quot;Segoe UI&quot;,Arial,sans-serif!important;box-sizing:border-box!important;\r\n}\r\n#accessGate h1,#lingualandAccessGate h1,[id^=&quot;accessGate-lesson-&quot;] h1,.lingualand-access-gate h1,.lingualand-listening-access-gate h1{\r\n  margin:0 0 10px!important;font-size:26px!important;line-height:1.15!important;color:#24343a!important;font-weight:800!important;\r\n}\r\n#accessGate p,#lingualandAccessGate p,[id^=&quot;accessGate-lesson-&quot;] p,.lingualand-access-gate p,.lingualand-listening-access-gate p{\r\n  margin:0 0 18px!important;color:#607078!important;line-height:1.45!important;font-size:16px!important;\r\n}\r\n#accessGate label,#lingualandAccessGate label,[id^=&quot;accessGate-lesson-&quot;] label,.lingualand-access-gate label,.lingualand-listening-access-gate label{\r\n  display:block!important;margin:0 0 8px!important;color:#24343a!important;font-weight:700!important;\r\n}\r\n#accessGate input,#lingualandAccessGate input,[id^=&quot;accessGate-lesson-&quot;] input,.lingualand-access-gate input,.lingualand-listening-access-gate input{\r\n  width:100%!important;box-sizing:border-box!important;border:1px solid #c9c0b3!important;border-radius:12px!important;\r\n  padding:13px 14px!important;background:#fff!important;color:#17212b!important;font:inherit!important;\r\n}\r\n#accessGate button,#lingualandAccessGate button,[id^=&quot;accessGate-lesson-&quot;] button,.lingualand-access-gate button,.lingualand-listening-access-gate button{\r\n  margin-top:14px!important;width:100%!important;border:0!important;border-radius:12px!important;padding:13px 16px!important;\r\n  background:#24343a!important;color:#fff!important;font-weight:800!important;cursor:pointer!important;font:inherit!important;\r\n}\r\n#accessGate button:hover,#lingualandAccessGate button:hover,[id^=&quot;accessGate-lesson-&quot;] button:hover,.lingualand-access-gate button:hover,.lingualand-listening-access-gate button:hover{\r\n  background:#34505a!important;\r\n}\r\n#accessError,#lingualandAccessError,[id^=&quot;accessMessage-&quot;],.lingualand-access-error,.ll-gate-error,.gate-error{\r\n  min-height:1.4em!important;margin-top:12px!important;color:#b42318!important;font-weight:700!important;\r\n}\r\n&lt;\/style&gt;&lt;\/head&gt;\r\n&lt;body&gt;\r\n  &lt;section class=&quot;card&quot;&gt;\r\n    &lt;header&gt;\r\n      &lt;p class=&quot;brand&quot;&gt;Lingualand \u00b7 Est. 1972&lt;\/p&gt;\r\n      &lt;h1&gt;How Old Are They?&lt;\/h1&gt;\r\n      &lt;p&gt;B Junior \u00b7 Listening Exercise 1&lt;\/p&gt;\r\n    &lt;\/header&gt;\r\n\r\n    &lt;main&gt;\r\n      &lt;div class=&quot;instructions&quot;&gt;\r\n        &lt;strong&gt;Listen carefully.&lt;\/strong&gt; Choose the correct age for each child.\r\n        You can listen more than once.\r\n      &lt;\/div&gt;\r\n\r\n      &lt;div class=&quot;player&quot;&gt;\r\n        &lt;button class=&quot;listen&quot; id=&quot;listenBtn&quot; type=&quot;button&quot;&gt;\u25b6 Listen&lt;\/button&gt;\r\n        &lt;button class=&quot;stop&quot; id=&quot;stopBtn&quot; type=&quot;button&quot; disabled&gt;\u25a0 Stop&lt;\/button&gt;\r\n        &lt;span id=&quot;status&quot; aria-live=&quot;polite&quot;&gt;Ready to listen&lt;\/span&gt;\r\n      &lt;\/div&gt;\r\n\r\n      &lt;div class=&quot;questions&quot; id=&quot;questions&quot;&gt;\r\n        &lt;div class=&quot;question&quot; data-answer=&quot;8&quot;&gt;\r\n          &lt;span class=&quot;number&quot;&gt;1&lt;\/span&gt;&lt;span class=&quot;name&quot;&gt;Lucy&lt;\/span&gt;\r\n          &lt;select aria-label=&quot;Lucy's age&quot;&gt;\r\n            &lt;option value=&quot;&quot;&gt;Choose...&lt;\/option&gt;&lt;option&gt;6&lt;\/option&gt;&lt;option&gt;7&lt;\/option&gt;&lt;option&gt;8&lt;\/option&gt;&lt;option&gt;9&lt;\/option&gt;&lt;option&gt;10&lt;\/option&gt;&lt;option&gt;11&lt;\/option&gt;\r\n          &lt;\/select&gt;&lt;span class=&quot;feedback&quot; aria-live=&quot;polite&quot;&gt;&lt;\/span&gt;\r\n        &lt;\/div&gt;\r\n        &lt;div class=&quot;question&quot; data-answer=&quot;9&quot;&gt;\r\n          &lt;span class=&quot;number&quot;&gt;2&lt;\/span&gt;&lt;span class=&quot;name&quot;&gt;Ben&lt;\/span&gt;\r\n          &lt;select aria-label=&quot;Ben's age&quot;&gt;\r\n            &lt;option value=&quot;&quot;&gt;Choose...&lt;\/option&gt;&lt;option&gt;6&lt;\/option&gt;&lt;option&gt;7&lt;\/option&gt;&lt;option&gt;8&lt;\/option&gt;&lt;option&gt;9&lt;\/option&gt;&lt;option&gt;10&lt;\/option&gt;&lt;option&gt;11&lt;\/option&gt;\r\n          &lt;\/select&gt;&lt;span class=&quot;feedback&quot; aria-live=&quot;polite&quot;&gt;&lt;\/span&gt;\r\n        &lt;\/div&gt;\r\n        &lt;div class=&quot;question&quot; data-answer=&quot;10&quot;&gt;\r\n          &lt;span class=&quot;number&quot;&gt;3&lt;\/span&gt;&lt;span class=&quot;name&quot;&gt;Sophie&lt;\/span&gt;\r\n          &lt;select aria-label=&quot;Sophie's age&quot;&gt;\r\n            &lt;option value=&quot;&quot;&gt;Choose...&lt;\/option&gt;&lt;option&gt;6&lt;\/option&gt;&lt;option&gt;7&lt;\/option&gt;&lt;option&gt;8&lt;\/option&gt;&lt;option&gt;9&lt;\/option&gt;&lt;option&gt;10&lt;\/option&gt;&lt;option&gt;11&lt;\/option&gt;\r\n          &lt;\/select&gt;&lt;span class=&quot;feedback&quot; aria-live=&quot;polite&quot;&gt;&lt;\/span&gt;\r\n        &lt;\/div&gt;\r\n        &lt;div class=&quot;question&quot; data-answer=&quot;7&quot;&gt;\r\n          &lt;span class=&quot;number&quot;&gt;4&lt;\/span&gt;&lt;span class=&quot;name&quot;&gt;Alex&lt;\/span&gt;\r\n          &lt;select aria-label=&quot;Alex's age&quot;&gt;\r\n            &lt;option value=&quot;&quot;&gt;Choose...&lt;\/option&gt;&lt;option&gt;6&lt;\/option&gt;&lt;option&gt;7&lt;\/option&gt;&lt;option&gt;8&lt;\/option&gt;&lt;option&gt;9&lt;\/option&gt;&lt;option&gt;10&lt;\/option&gt;&lt;option&gt;11&lt;\/option&gt;\r\n          &lt;\/select&gt;&lt;span class=&quot;feedback&quot; aria-live=&quot;polite&quot;&gt;&lt;\/span&gt;\r\n        &lt;\/div&gt;\r\n        &lt;div class=&quot;question&quot; data-answer=&quot;11&quot;&gt;\r\n          &lt;span class=&quot;number&quot;&gt;5&lt;\/span&gt;&lt;span class=&quot;name&quot;&gt;Emma&lt;\/span&gt;\r\n          &lt;select aria-label=&quot;Emma's age&quot;&gt;\r\n            &lt;option value=&quot;&quot;&gt;Choose...&lt;\/option&gt;&lt;option&gt;6&lt;\/option&gt;&lt;option&gt;7&lt;\/option&gt;&lt;option&gt;8&lt;\/option&gt;&lt;option&gt;9&lt;\/option&gt;&lt;option&gt;10&lt;\/option&gt;&lt;option&gt;11&lt;\/option&gt;\r\n          &lt;\/select&gt;&lt;span class=&quot;feedback&quot; aria-live=&quot;polite&quot;&gt;&lt;\/span&gt;\r\n        &lt;\/div&gt;\r\n      &lt;\/div&gt;\r\n\r\n      &lt;div class=&quot;actions&quot;&gt;\r\n        &lt;button class=&quot;check&quot; id=&quot;checkBtn&quot; type=&quot;button&quot;&gt;Check answers&lt;\/button&gt;\r\n        &lt;button class=&quot;reset&quot; id=&quot;resetBtn&quot; type=&quot;button&quot;&gt;Try again&lt;\/button&gt;\r\n      &lt;\/div&gt;\r\n      &lt;p id=&quot;result&quot; aria-live=&quot;polite&quot;&gt;&lt;\/p&gt;\r\n    &lt;\/main&gt;\r\n\r\n    &lt;footer&gt;Listening text is hidden during the activity.&lt;\/footer&gt;\r\n  &lt;\/section&gt;\r\n\r\n  &lt;script&gt;\r\n    const listeningText = [\r\n      &quot;Hi! I'm Lucy. I'm eight years old. My sister is ten, and we go to the same school.&quot;,\r\n      &quot;Hello! My name's Ben. My birthday is today, and now I'm nine! My best friend is eight.&quot;,\r\n      &quot;Hi! I'm Sophie. I'm ten years old. I have a little brother. He's only six.&quot;,\r\n      &quot;Hello! I'm Alex. I'm seven, but my cousin Tom is eleven. We often play football together.&quot;,\r\n      &quot;Hi! My name's Emma. I'm eleven years old. My sister and I have the same birthday, but she's thirteen.&quot;\r\n    ].join(&quot; ... &quot;);\r\n\r\n    const listenBtn = document.getElementById(&quot;listenBtn&quot;);\r\n    const stopBtn = document.getElementById(&quot;stopBtn&quot;);\r\n    const status = document.getElementById(&quot;status&quot;);\r\n    const result = document.getElementById(&quot;result&quot;);\r\n    const rows = [...document.querySelectorAll(&quot;.question&quot;)];\r\n\r\n    function speakListening() {\r\n      if (!(&quot;speechSynthesis&quot; in window)) {\r\n        status.textContent = &quot;Audio is not supported in this browser.&quot;;\r\n        return;\r\n      }\r\n      speechSynthesis.cancel();\r\n      const utterance = new SpeechSynthesisUtterance(listeningText);\r\n      utterance.lang = &quot;en-GB&quot;;\r\n      utterance.rate = 0.82;\r\n      utterance.pitch = 1;\r\n      const englishVoice = speechSynthesis.getVoices().find(voice =&gt; voice.lang.startsWith(&quot;en-GB&quot;))\r\n        || speechSynthesis.getVoices().find(voice =&gt; voice.lang.startsWith(&quot;en&quot;));\r\n      if (englishVoice) utterance.voice = englishVoice;\r\n      utterance.onstart = () =&gt; {\r\n        status.textContent = &quot;Listening...&quot;;\r\n        listenBtn.disabled = true;\r\n        stopBtn.disabled = false;\r\n      };\r\n      utterance.onend = utterance.onerror = () =&gt; {\r\n        status.textContent = &quot;Ready to listen again&quot;;\r\n        listenBtn.disabled = false;\r\n        stopBtn.disabled = true;\r\n      };\r\n      speechSynthesis.speak(utterance);\r\n    }\r\n\r\n    listenBtn.addEventListener(&quot;click&quot;, speakListening);\r\n    stopBtn.addEventListener(&quot;click&quot;, () =&gt; {\r\n      speechSynthesis.cancel();\r\n      status.textContent = &quot;Stopped&quot;;\r\n      listenBtn.disabled = false;\r\n      stopBtn.disabled = true;\r\n    });\r\n\r\n    document.getElementById(&quot;checkBtn&quot;).addEventListener(&quot;click&quot;, () =&gt; {\r\n      let score = 0;\r\n      let unanswered = 0;\r\n      rows.forEach(row =&gt; {\r\n        const select = row.querySelector(&quot;select&quot;);\r\n        const feedback = row.querySelector(&quot;.feedback&quot;);\r\n        row.classList.remove(&quot;correct&quot;, &quot;wrong&quot;);\r\n        if (!select.value) {\r\n          unanswered++;\r\n          feedback.textContent = &quot;?&quot;;\r\n          return;\r\n        }\r\n        const correct = select.value === row.dataset.answer;\r\n        row.classList.add(correct ? &quot;correct&quot; : &quot;wrong&quot;);\r\n        feedback.textContent = correct ? &quot;\u2713&quot; : &quot;\u2717&quot;;\r\n        if (correct) score++;\r\n      });\r\n\r\n      if (unanswered) {\r\n        result.textContent = `Please answer all the questions. (${unanswered} left)`;\r\n        result.style.color = &quot;#c27a00&quot;;\r\n      } else if (score === rows.length) {\r\n        result.textContent = &quot;Excellent! 5 \/ 5 \u2b50&quot;;\r\n        result.style.color = &quot;#27864a&quot;;\r\n      } else {\r\n        result.textContent = `Your score: ${score} \/ 5. Listen again and try once more!`;\r\n        result.style.color = &quot;#23395d&quot;;\r\n      }\r\n    });\r\n\r\n    document.getElementById(&quot;resetBtn&quot;).addEventListener(&quot;click&quot;, () =&gt; {\r\n      speechSynthesis.cancel();\r\n      rows.forEach(row =&gt; {\r\n        row.querySelector(&quot;select&quot;).value = &quot;&quot;;\r\n        row.querySelector(&quot;.feedback&quot;).textContent = &quot;&quot;;\r\n        row.classList.remove(&quot;correct&quot;, &quot;wrong&quot;);\r\n      });\r\n      result.textContent = &quot;&quot;;\r\n      status.textContent = &quot;Ready to listen&quot;;\r\n      listenBtn.disabled = false;\r\n      stopBtn.disabled = true;\r\n    });\r\n\r\n    window.addEventListener(&quot;beforeunload&quot;, () =&gt; speechSynthesis.cancel());\r\n  &lt;\/script&gt;\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n\" style=\"width:100%;min-height:1850px;border:0;border-radius:8px;background:#f8fafc;display:block;\" loading=\"eager\" allow=\"autoplay\"><\/iframe><\/div>\r\n<!-- lingualand-listening-exercise:bj:1:end --><\/div><script>(function(){const expectedHash=\"54c6e6001970489b11bc97cf0986b7b9f1684d10c293be936a975466a86f94b1\";const storageKey=\"lingualandListeningAccess:bj\";const form=document.getElementById(\"accessForm-lesson-bj\"),keyInput=document.getElementById(\"accessKey-lesson-bj\"),msg=document.getElementById(\"accessMessage-lesson-bj\"),gate=document.getElementById(\"accessGate-lesson-bj\"),app=document.getElementById(\"exerciseApp-lesson-bj\");async function sha256(text){const bytes=new TextEncoder().encode(text);const digest=await crypto.subtle.digest(\"SHA-256\",bytes);return Array.from(new Uint8Array(digest)).map(b=>b.toString(16).padStart(2,\"0\")).join(\"\");}function deny(text){msg.textContent=text;app.hidden=true;gate.style.display=\"grid\";}function allow(){try{sessionStorage.setItem(storageKey,\"1\");}catch(e){} gate.style.display=\"none\";app.hidden=false;keyInput.value=\"\";}try{if(sessionStorage.getItem(storageKey)===\"1\") allow();}catch(e){}form.addEventListener(\"submit\",async function(e){e.preventDefault();const entered=keyInput.value.trim();if(!entered){deny(\"Please enter the access key.\");return;}try{const hash=await sha256(entered);if(hash===expectedHash){allow();}else{deny(\"Incorrect access key.\");}}catch(err){deny(\"Access check is unavailable in this browser.\");}});})();<\/script>\r\n<!-- lingualand-listening-access:bj:lesson:end -->","protected":false},"excerpt":{"rendered":"<p>B Junior Listening Access Enter your access key to open the exercises. Open exercises<\/p>\n","protected":false},"author":7,"featured_media":0,"parent":9619,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"ngg_post_thumbnail":0,"footnotes":""},"class_list":["post-11539","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/11539","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/comments?post=11539"}],"version-history":[{"count":3,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/11539\/revisions"}],"predecessor-version":[{"id":11824,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/11539\/revisions\/11824"}],"up":[{"embeddable":true,"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/pages\/9619"}],"wp:attachment":[{"href":"https:\/\/lingualand.gr\/new\/wp-json\/wp\/v2\/media?parent=11539"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}