{"id":72,"date":"2025-09-22T18:53:25","date_gmt":"2025-09-22T18:53:25","guid":{"rendered":"https:\/\/mscfederation.org\/?page_id=72"},"modified":"2025-09-22T18:53:25","modified_gmt":"2025-09-22T18:53:25","slug":"home_v2","status":"publish","type":"page","link":"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/","title":{"rendered":"Home_V2"},"content":{"rendered":"<p>&lt;!doctype html&gt;&lt;html lang=&#8221;en&#8221;&gt;<br \/>\n&lt;head&gt;<br \/>\n&lt;meta charset=&#8221;utf-8&#8243; \/&gt;<br \/>\n&lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width,initial-scale=1&#8243; \/&gt;<br \/>\n&lt;title&gt;Federation \u2014 Informational Site&lt;\/title&gt;<br \/>\n&lt;meta name=&#8221;description&#8221; content=&#8221;Federation \u2014 official website. Learn about our mission, events, gallery and how to contact us. Available in English and Georgian.&#8221; \/&gt;<br \/>\n&lt;!&#8211; Open Graph &amp; Twitter &#8211;&gt;<br \/>\n&lt;meta property=&#8221;og:title&#8221; content=&#8221;Federation \u2014 Informational Site&#8221; \/&gt;<br \/>\n&lt;meta property=&#8221;og:description&#8221; content=&#8221;Federation \u2014 official website. Learn about our mission, events, gallery and how to contact us.&#8221; \/&gt;<br \/>\n&lt;meta property=&#8221;og:type&#8221; content=&#8221;website&#8221; \/&gt;<br \/>\n&lt;meta name=&#8221;twitter:card&#8221; content=&#8221;summary_large_image&#8221; \/&gt;<\/p>\n<p>&lt;!&#8211; Fonts: Inter (EN) + Noto Sans Georgian (KA) &#8211;&gt;<br \/>\n&lt;link rel=&#8221;preconnect&#8221; href=&#8221;https:\/\/fonts.gstatic.com&#8221; crossorigin&gt;<br \/>\n&lt;link href=&#8221;https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@300;400;600;700&amp;family=Noto+Sans+Georgian:wght@300;400;600;700&amp;display=swap&#8221; rel=&#8221;stylesheet&#8221;&gt;<\/p>\n<p>&lt;style&gt;<br \/>\n:root{<br \/>\n&#8211;primary:#D32F2F; \/* red *\/<br \/>\n&#8211;primary-dark:#b82727; \/* hover *\/<br \/>\n&#8211;text:#222222;<br \/>\n&#8211;muted:#F5F5F5;<br \/>\n&#8211;border:#E0E0E0;<br \/>\n&#8211;radius:10px;<br \/>\n&#8211;base-font-size:16px;<br \/>\n}<br \/>\nhtml{font-family:Inter, system-ui, -apple-system, &#8216;Segoe UI&#8217;, Roboto, &#8216;Noto Sans Georgian&#8217;, sans-serif; font-size:var(&#8211;base-font-size); color:var(&#8211;text); background:white;}<br \/>\n\/* If Georgian language active, switch font *\/<br \/>\n:root[lang=&#8221;ka&#8221;] html, html[lang=&#8221;ka&#8221;]{font-family:&#8217;Noto Sans Georgian&#8217;, &#8216;Inter&#8217;, sans-serif}<br \/>\n*{box-sizing:border-box}<br \/>\nbody{margin:0;line-height:1.45;-webkit-font-smoothing:antialiased}<br \/>\na{color:var(&#8211;primary); text-decoration:none}<br \/>\na:focus{outline:3px solid rgba(211,47,47,0.2)}<\/p>\n<p>\/* Header *\/<br \/>\nheader{position:sticky;top:0;z-index:60;background:linear-gradient(0deg,rgba(255,255,255,0.96),rgba(255,255,255,0.96));backdrop-filter:blur(4px);border-bottom:1px solid var(&#8211;border)}<br \/>\n.container{max-width:1100px;margin:0 auto;padding:1rem}<br \/>\n.header-grid{display:flex;align-items:center;justify-content:space-between;gap:1rem}<br \/>\n.logo{display:flex;align-items:center;gap:.75rem}<br \/>\n.logo svg{width:42px;height:42px;background:var(&#8211;primary);border-radius:8px;padding:6px}<br \/>\nnav ul{display:flex;gap:1rem;list-style:none;padding:0;margin:0}<br \/>\n.lang-switch{display:flex;gap:.5rem;align-items:center}<br \/>\n.lang-btn{border:1px solid var(&#8211;border);background:transparent;padding:.35rem .6rem;border-radius:6px;cursor:pointer}<br \/>\n.lang-btn[aria-pressed=&#8221;true&#8221;]{background:var(&#8211;primary);color:#fff;border-color:transparent}<\/p>\n<p>\/* Hero *\/<br \/>\n.hero{padding:3rem 0;display:grid;grid-template-columns:1fr;gap:1.25rem;align-items:center}<br \/>\n.hero-inner{display:flex;flex-direction:column;gap:1rem}<br \/>\n.hero h1{font-size:2rem;margin:0}<br \/>\n.hero p{margin:0;color:#333}<br \/>\n.cta-row{display:flex;gap:.75rem;flex-wrap:wrap}<br \/>\n.btn{background:var(&#8211;primary);color:#fff;padding:.6rem 1rem;border-radius:8px;border:none;cursor:pointer}<br \/>\n.btn.secondary{background:transparent;border:1px solid var(&#8211;primary);color:var(&#8211;primary)}<br \/>\n.btn:hover{background:var(&#8211;primary-dark)}<\/p>\n<p>\/* Sections *\/<br \/>\nsection{padding:2rem 0;border-bottom:1px solid var(&#8211;border)}<br \/>\n.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}<\/p>\n<p>\/* Events *\/<br \/>\n.events-list{display:grid;gap:1rem}<br \/>\n.event-card{border:1px solid var(&#8211;border);padding:1rem;border-radius:8px;background:linear-gradient(180deg,#fff,#fff);}<\/p>\n<p>\/* Gallery *\/<br \/>\n.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px}<br \/>\n.gallery img{width:100%;height:120px;object-fit:cover;border-radius:6px;display:block}<\/p>\n<p>\/* Footer *\/<br \/>\nfooter{background:var(&#8211;muted);padding:1.25rem 0}<br \/>\n.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}<\/p>\n<p>\/* Forms *\/<br \/>\ninput,textarea,select{width:100%;padding:.6rem;border:1px solid var(&#8211;border);border-radius:8px;font-size:1rem}<br \/>\nbutton[type=&#8221;submit&#8221;]{background:var(&#8211;primary);color:white;padding:.6rem 1rem;border-radius:8px;border:none}<\/p>\n<p>\/* Focus states *\/<br \/>\n:focus{outline:3px solid rgba(211,47,47,0.18)}<\/p>\n<p>\/* Responsive tweaks *\/<br \/>\n@media(min-width:768px){<br \/>\n.hero{grid-template-columns:1fr 380px}<br \/>\n.hero h1{font-size:2.6rem}<br \/>\n}<\/p>\n<p>\/* Utility *\/<br \/>\n.muted{color:#666}<br \/>\n.chip{display:inline-block;padding:.25rem .6rem;border-radius:999px;border:1px solid var(&#8211;border)}<\/p>\n<p>\/* Simple masonry-ish *\/<br \/>\n.masonry{column-count:3;column-gap:8px}<br \/>\n.masonry-item{display:inline-block;width:100%;margin-bottom:8px}<br \/>\n@media(max-width:900px){.masonry{column-count:2}}<br \/>\n@media(max-width:520px){.masonry{column-count:1}}<br \/>\n&lt;\/style&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body&gt;<br \/>\n&lt;!&#8211; Light-weight white SVG logo (keeps logo white on red backgrounds) &#8211;&gt;<br \/>\n&lt;header role=&#8221;banner&#8221;&gt;<br \/>\n&lt;div class=&#8221;container header-grid&#8221;&gt;<br \/>\n&lt;div class=&#8221;logo&#8221;&gt;<br \/>\n&lt;svg viewBox=&#8221;0 0 100 100&#8243; aria-hidden=&#8221;true&#8221; focusable=&#8221;false&#8221;&gt;<br \/>\n&lt;rect width=&#8221;100&#8243; height=&#8221;100&#8243; rx=&#8221;18&#8243; fill=&#8221;#fff&#8221;\/&gt;<br \/>\n&lt;g transform=&#8221;translate(12,12)&#8221;&gt;<br \/>\n&lt;path d=&#8221;M10 40 L70 10 L70 70 Z&#8221; fill=&#8221;#D32F2F&#8221;&gt;&lt;\/path&gt;<br \/>\n&lt;\/g&gt;<br \/>\n&lt;\/svg&gt;<br \/>\n&lt;div&gt;<br \/>\n&lt;strong id=&#8221;site-title&#8221;&gt;Federation&lt;\/strong&gt;<br \/>\n&lt;div class=&#8221;muted&#8221; style=&#8221;font-size:.85rem&#8221;&gt;Federation \u2014 KA | EN&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<\/p>\n<p>&lt;nav aria-label=&#8221;Main navigation&#8221;&gt;<br \/>\n&lt;ul id=&#8221;main-nav&#8221;&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/en\/&#8221; data-slug=&#8221;home&#8221;&gt;Home&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/en\/about&#8221; data-slug=&#8221;about&#8221;&gt;About&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/en\/events&#8221; data-slug=&#8221;events&#8221;&gt;Events&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/en\/gallery&#8221; data-slug=&#8221;gallery&#8221;&gt;Gallery&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/en\/contact&#8221; data-slug=&#8221;contact&#8221;&gt;Contact&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;\/ul&gt;<br \/>\n&lt;\/nav&gt;<\/p>\n<p>&lt;div class=&#8221;lang-switch&#8221; aria-hidden=&#8221;false&#8221;&gt;<br \/>\n&lt;button class=&#8221;lang-btn&#8221; id=&#8221;ka-btn&#8221; data-lang=&#8221;ka&#8221; aria-pressed=&#8221;false&#8221;&gt;KA&lt;\/button&gt;<br \/>\n&lt;button class=&#8221;lang-btn&#8221; id=&#8221;en-btn&#8221; data-lang=&#8221;en&#8221; aria-pressed=&#8221;true&#8221;&gt;EN&lt;\/button&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/header&gt;<\/p>\n<p>&lt;main id=&#8221;app&#8221; role=&#8221;main&#8221;&gt;<br \/>\n&lt;!&#8211; Marketing \/ Front content is rendered dynamically by JS based on language + route &#8211;&gt;<br \/>\n&lt;\/main&gt;<\/p>\n<p>&lt;footer role=&#8221;contentinfo&#8221;&gt;<br \/>\n&lt;div class=&#8221;container footer-grid&#8221;&gt;<br \/>\n&lt;div&gt;<br \/>\n&lt;strong&gt;Federation&lt;\/strong&gt;<br \/>\n&lt;p class=&#8221;muted&#8221;&gt;Small blurb about the federation \u2014 fostering community, sport and culture.&lt;\/p&gt;<br \/>\n&lt;p&gt;&lt;span class=&#8221;chip&#8221;&gt;Address:&lt;\/span&gt; 123 Federation St, City&lt;\/p&gt;<br \/>\n&lt;p&gt;&lt;span class=&#8221;chip&#8221;&gt;Email:&lt;\/span&gt; info@federation.example&lt;\/p&gt;<br \/>\n&lt;p&gt;&lt;span class=&#8221;chip&#8221;&gt;Phone:&lt;\/span&gt; +995 32 2 345 678&lt;\/p&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;div&gt;<br \/>\n&lt;nav aria-label=&#8221;Footer navigation&#8221;&gt;<br \/>\n&lt;ul style=&#8221;list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin:0&#8243;&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/en\/&#8221;&gt;Home&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/en\/about&#8221;&gt;About&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/en\/events&#8221;&gt;Events&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/en\/gallery&#8221;&gt;Gallery&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/en\/contact&#8221;&gt;Contact&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;\/ul&gt;<br \/>\n&lt;\/nav&gt;<br \/>\n&lt;div style=&#8221;margin-top:1rem;font-size:.9rem;color:#666&#8243;&gt;\u00a9 &lt;span id=&#8221;year&#8221;&gt;&lt;\/span&gt; Federation. All rights reserved.&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/footer&gt;<\/p>\n<p>&lt;!&#8211; Lightbox (simple) &#8211;&gt;<br \/>\n&lt;div id=&#8221;lightbox&#8221; style=&#8221;display:none;position:fixed;inset:0;background:rgba(0,0,0,0.85);align-items:center;justify-content:center;padding:20px;z-index:200&#8243;&gt;<br \/>\n&lt;button id=&#8221;lb-close&#8221; style=&#8221;position:absolute;right:16px;top:16px;background:transparent;border:none;color:white;font-size:1.4rem&#8221;&gt;\u2715&lt;\/button&gt;<br \/>\n&lt;img id=&#8221;lb-img&#8221; src=&#8221;&#8221; alt=&#8221;&#8221; style=&#8221;max-width:calc(100% &#8211; 40px);max-height:calc(100% &#8211; 40px);border-radius:8px&#8221; \/&gt;<br \/>\n&lt;\/div&gt;<\/p>\n<p>&lt;script type=&#8221;application\/ld+json&#8221; id=&#8221;org-schema&#8221;&gt;<br \/>\n{<br \/>\n&#8220;@context&#8221;:&#8221;https:\/\/schema.org&#8221;,<br \/>\n&#8220;@type&#8221;:&#8221;Organization&#8221;,<br \/>\n&#8220;name&#8221;:&#8221;Federation&#8221;,<br \/>\n&#8220;url&#8221;:&#8221;https:\/\/example.org\/&#8221;,<br \/>\n&#8220;logo&#8221;:&#8221;https:\/\/example.org\/logo.png&#8221;,<br \/>\n&#8220;sameAs&#8221;:[]<br \/>\n}<br \/>\n&lt;\/script&gt;<\/p>\n<p>&lt;script&gt;<br \/>\n\/\/ &#8212; Basic client-side router + bilingual content &#8212;<br \/>\nconst DEFAULT_LANG = &#8216;en&#8217;;<br \/>\nconst supported = [&#8216;en&#8217;,&#8217;ka&#8217;];<br \/>\nconst langFromPath = () =&gt; {<br \/>\nconst p = location.pathname.split(&#8216;\/&#8217;).filter(Boolean);<br \/>\nif(p[0] &amp;&amp; supported.includes(p[0])) return p[0];<br \/>\nreturn DEFAULT_LANG;<br \/>\n}<br \/>\nlet state = {lang: langFromPath(), page: &#8216;home&#8217;};<\/p>\n<p>\/\/ Content placeholders: English + Georgian. Replace copy as you like.<br \/>\nconst CONTENT = {<br \/>\nen: {<br \/>\nsiteTitle: &#8216;Federation&#8217;,<br \/>\nnav: {home:&#8217;Home&#8217;, about:&#8217;About Us&#8217;, events:&#8217;Events&#8217;, gallery:&#8217;Gallery&#8217;, contact:&#8217;Contact&#8217;},<br \/>\nhome:{<br \/>\nh1:&#8217;Welcome to the Federation&#8217;,<br \/>\nsub:&#8217;We bring communities together through sports, culture and education. Join our events and be part of the movement.&#8217;,<br \/>\nbullets:[&#8216;National reach&#8217;,&#8217;Community programs&#8217;,&#8217;Transparent governance&#8217;],<br \/>\ncta1:&#8217;Learn More&#8217;, cta2:&#8217;Join an Event&#8217;<br \/>\n},<br \/>\nabout:{mission:&#8217;Our mission is to &#8230;&#8217;, vision:&#8217;Our vision is to &#8230;&#8217;, history:&#8217;Founded in 19XX&#8230;&#8217;},<br \/>\nevents:[<br \/>\n{id:1,title:&#8217;Spring Championship&#8217;,date:&#8217;2025-05-20&#8242;,location:&#8217;Sports Hall&#8217;,desc:&#8217;Top competitors from across the country.&#8217;},<br \/>\n{id:2,title:&#8217;Coaching Workshop&#8217;,date:&#8217;2025-06-10&#8242;,location:&#8217;Conference Center&#8217;,desc:&#8217;Improve coaching skills.&#8217;},<br \/>\n{id:3,title:&#8217;Community Day&#8217;,date:&#8217;2025-07-15&#8242;,location:&#8217;Central Park&#8217;,desc:&#8217;Family-friendly activities.&#8217;}<br \/>\n],<br \/>\ngallery:{items:[<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;600.webp?text=Event+1&#8242;,alt:&#8217;Event 1&#8242;,cat:&#8217;Competitions&#8217;},<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;1200.webp?text=Workshop&#8217;,alt:&#8217;Workshop&#8217;,cat:&#8217;Workshops&#8217;},<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;800.webp?text=Community&#8217;,alt:&#8217;Community&#8217;,cat:&#8217;Community&#8217;},<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;500.webp?text=Competition+2&#8242;,alt:&#8217;Competition 2&#8242;,cat:&#8217;Competitions&#8217;},<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;600.webp?text=Community+2&#8242;,alt:&#8217;Community 2&#8242;,cat:&#8217;Community&#8217;},<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;900.webp?text=Workshop+2&#8242;,alt:&#8217;Workshop 2&#8242;,cat:&#8217;Workshops&#8217;}<br \/>\n]},<br \/>\ncontact:{address:&#8217;123 Federation St, City&#8217;,email:&#8217;info@federation.example&#8217;,phone:&#8217;+995 32 2 345 678&#8242;}<br \/>\n},<br \/>\nka: {<br \/>\nsiteTitle: &#8216;\u10e4\u10d4\u10d3\u10d4\u10e0\u10d0\u10ea\u10d8\u10d0&#8217;,<br \/>\nnav: {home:&#8217;\u10db\u10d7\u10d0\u10d5\u10d0\u10e0\u10d8&#8217;, about:&#8217;\u10e9\u10d5\u10d4\u10dc \u10e8\u10d4\u10e1\u10d0\u10ee\u10d4\u10d1&#8217;, events:&#8217;\u10e6\u10dd\u10dc\u10d8\u10e1\u10eb\u10d8\u10d4\u10d1\u10d4\u10d1\u10d8&#8217;, gallery:&#8217;\u10d2\u10d0\u10da\u10d4\u10e0\u10d4\u10d0&#8217;, contact:&#8217;\u10d9\u10dd\u10dc\u10e2\u10d0\u10e5\u10e2\u10d8&#8217;},<br \/>\nhome:{<br \/>\nh1:&#8217;\u10d9\u10d4\u10d7\u10d8\u10da\u10d8 \u10d8\u10e7\u10dd\u10e1 \u10d7\u10e5\u10d5\u10d4\u10dc\u10d8 \u10db\u10dd\u10d1\u10e0\u10eb\u10d0\u10dc\u10d4\u10d1\u10d0 \u10e4\u10d4\u10d3\u10d4\u10e0\u10d0\u10ea\u10d8\u10d0\u10e8\u10d8&#8217;,<br \/>\nsub:&#8217;\u10d5\u10d0\u10d4\u10e0\u10d7\u10d8\u10d0\u10dc\u10d4\u10d1\u10d7 \u10e1\u10d0\u10d6\u10dd\u10d2\u10d0\u10d3\u10dd\u10d4\u10d1\u10d0\u10e1 \u10e1\u10de\u10dd\u10e0\u10e2\u10d8\u10e1, \u10d9\u10e3\u10da\u10e2\u10e3\u10e0\u10d8\u10e1\u10d0 \u10d3\u10d0 \u10d2\u10d0\u10dc\u10d0\u10d7\u10da\u10d4\u10d1\u10d8\u10e1 \u10e1\u10d0\u10e8\u10e3\u10d0\u10da\u10d4\u10d1\u10d8\u10d7. \u10e8\u10d4\u10e3\u10d4\u10e0\u10d7\u10d3\u10d8\u10d7 \u10e9\u10d5\u10d4\u10dc\u10e1 \u10e6\u10dd\u10dc\u10d8\u10e1\u10eb\u10d8\u10d4\u10d1\u10d4\u10d1\u10e1.&#8217;,<br \/>\nbullets:[&#8216;\u10d4\u10e0\u10dd\u10d5\u10dc\u10e3\u10da\u10d8 \u10d3\u10d0\u10e4\u10d0\u10e0\u10d5\u10d0&#8217;,&#8217;\u10e1\u10d0\u10d6\u10dd\u10d2\u10d0\u10d3\u10dd\u10d4\u10d1\u10e0\u10d8\u10d5\u10d8 \u10de\u10e0\u10dd\u10d2\u10e0\u10d0\u10db\u10d4\u10d1\u10d8&#8217;,&#8217;\u10e2\u10e0\u10d0\u10dc\u10e1\u10de\u10d0\u10e0\u10d0\u10dc\u10e2\u10e3\u10da\u10d8 \u10db\u10db\u10d0\u10e0\u10d7\u10d5\u10d4\u10da\u10dd\u10d1\u10d0&#8217;],<br \/>\ncta1:&#8217;\u10db\u10d8\u10d7\u10d8\u10d7\u10d4\u10d1\u10d4\u10d1\u10d8&#8217;, cta2:&#8217;\u10e8\u10d4\u10db\u10dd\u10d2\u10d5\u10d8\u10d4\u10e0\u10d7\u10d3\u10d8 \u10e6\u10dd\u10dc\u10d8\u10e1\u10eb\u10d8\u10d4\u10d1\u10d0\u10d6\u10d4&#8217;<br \/>\n},<br \/>\nabout:{mission:&#8217;\u10e9\u10d5\u10d4\u10dc\u10d8 \u10db\u10d8\u10e1\u10d8\u10d0\u10d0 &#8230;&#8217;, vision:&#8217;\u10e9\u10d5\u10d4\u10dc\u10d8 \u10ee\u10d4\u10d3\u10d5\u10d0\u10d0 &#8230;&#8217;, history:&#8217;\u10d3\u10d0\u10d0\u10e0\u10e1\u10d3\u10d0 19XX \u10ec\u10d4\u10da\u10e1&#8230;&#8217;},<br \/>\nevents:[<br \/>\n{id:1,title:&#8217;\u10d2\u10d0\u10d6\u10d0\u10e4\u10ee\u10e3\u10da\u10d8\u10e1 \u10e9\u10d4\u10db\u10de\u10d8\u10dd\u10dc\u10d0\u10e2\u10d8&#8217;,date:&#8217;2025-05-20&#8242;,location:&#8217;\u10e1\u10de\u10dd\u10e0\u10e2\u10d8\u10e1 \u10d3\u10d0\u10e0\u10d1\u10d0\u10d6\u10d8&#8217;,desc:&#8217;\u10e5\u10d5\u10d4\u10e7\u10dc\u10d8\u10e1 \u10e1\u10d0\u10e3\u10d9\u10d4\u10d7\u10d4\u10e1\u10dd \u10db\u10dd\u10dc\u10d0\u10ec\u10d8\u10da\u10d4\u10d4\u10d1\u10d8.&#8217;},<br \/>\n{id:2,title:&#8217;\u10db\u10d0\u10e1\u10ec\u10d0\u10d5\u10da\u10d4\u10d1\u10da\u10d4\u10d1\u10d8\u10e1 \u10e2\u10e0\u10d4\u10dc\u10d8\u10dc\u10d2\u10d8&#8217;,date:&#8217;2025-06-10&#8242;,location:&#8217;\u10d9\u10dd\u10dc\u10d2\u10e0\u10d4\u10e1 \u10f0\u10dd\u10da&#8217;,desc:&#8217;\u10d9\u10dd\u10db\u10de\u10d4\u10e2\u10d4\u10dc\u10ea\u10d8\u10d4\u10d1\u10d8\u10e1 \u10d2\u10d0\u10e3\u10db\u10ef\u10dd\u10d1\u10d4\u10e1\u10d4\u10d1\u10d0.&#8217;},<br \/>\n{id:3,title:&#8217;\u10e1\u10d0\u10d6\u10dd\u10d2\u10d0\u10d3\u10dd\u10d4\u10d1\u10e0\u10d8\u10d5\u10d8 \u10d3\u10e6\u10d4&#8217;,date:&#8217;2025-07-15&#8242;,location:&#8217;\u10ea\u10d4\u10dc\u10e2\u10e0\u10d0\u10da\u10e3\u10e0\u10d8 \u10de\u10d0\u10e0\u10d9\u10d8&#8217;,desc:&#8217;\u10dd\u10ef\u10d0\u10ee\u10e3\u10e0\u10d8 \u10d8\u10d5\u10d4\u10dc\u10d7\u10d8.&#8217;}<br \/>\n],<br \/>\ngallery:{items:[<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;600.webp?text=\u10e6\u10dd\u10dc\u10d8\u10e1\u10eb\u10d8\u10d4\u10d1\u10d0+1&#8242;,alt:&#8217;\u10e6\u10dd\u10dc\u10d8\u10e1\u10eb\u10d8\u10d4\u10d1\u10d0 1&#8242;,cat:&#8217;Competitions&#8217;},<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;1200.webp?text=\u10e1\u10d0\u10db\u10e3\u10e8\u10d0\u10dd\u10e8\u10dd\u10de\u10d8&#8217;,alt:&#8217;\u10e1\u10d0\u10db\u10e3\u10e8\u10d0\u10dd\u10e8\u10dd\u10de\u10d8&#8217;,cat:&#8217;Workshops&#8217;},<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;800.webp?text=\u10e1\u10d0\u10d6\u10dd\u10d2\u10d0\u10d3\u10dd\u10d4\u10d1\u10d0&#8217;,alt:&#8217;\u10e1\u10d0\u10d6\u10dd\u10d2\u10d0\u10d3\u10dd\u10d4\u10d1\u10d0&#8217;,cat:&#8217;Community&#8217;},<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;500.webp?text=\u10e9\u10d4\u10db\u10de\u10d8\u10dd\u10dc\u10d0\u10e2\u10d8+2&#8242;,alt:&#8217;\u10e9\u10d4\u10db\u10de\u10d8\u10dd\u10dc\u10d0\u10e2\u10d8 2&#8242;,cat:&#8217;Competitions&#8217;},<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;600.webp?text=\u10e1\u10d0\u10d6\u10dd\u10d2\u10d0\u10d3\u10dd\u10d4\u10d1\u10d0+2&#8242;,alt:&#8217;\u10e1\u10d0\u10d6\u10dd\u10d2\u10d0\u10d3\u10dd\u10d4\u10d1\u10d0 2&#8242;,cat:&#8217;Community&#8217;},<br \/>\n{src:&#8217;https:\/\/via.placeholder.com\/800&#215;900.webp?text=\u10e1\u10d0\u10db\u10e3\u10e8\u10d0\u10dd\u10e8\u10dd\u10de\u10d8+2&#8242;,alt:&#8217;\u10e1\u10d0\u10db\u10e3\u10e8\u10d0\u10dd\u10e8\u10dd\u10de\u10d8 2&#8242;,cat:&#8217;Workshops&#8217;}<br \/>\n]},<br \/>\ncontact:{address:&#8217;123 \u10e4\u10d4\u10d3\u10d4\u10e0\u10d0\u10ea\u10d8\u10d8\u10e1 \u10d5.&#8217;,email:&#8217;info@federation.example&#8217;,phone:&#8217;+995 32 2 345 678&#8242;}<br \/>\n}<br \/>\n};<\/p>\n<p>\/\/ &#8212; Helper: update document language attribute &amp; fonts &#8212;<br \/>\nfunction setLangAttr(lang){<br \/>\ndocument.documentElement.lang = lang === &#8216;ka&#8217; ? &#8216;ka&#8217; : &#8216;en&#8217;;<br \/>\n\/\/ Toggle header nav links to proper slugs<br \/>\ndocument.querySelectorAll(&#8216;#main-nav a&#8217;).forEach(a=&gt;{<br \/>\nconst slug = a.dataset.slug;<br \/>\na.href = `\/${lang}\/${slug === &#8216;home&#8217; ? &#8221; : slug}`;<br \/>\n});<br \/>\ndocument.getElementById(&#8216;ka-btn&#8217;).setAttribute(&#8216;aria-pressed&#8217;, lang===&#8217;ka&#8217;);<br \/>\ndocument.getElementById(&#8216;en-btn&#8217;).setAttribute(&#8216;aria-pressed&#8217;, lang===&#8217;en&#8217;);<br \/>\n}<\/p>\n<p>\/\/ &#8212; Router render functions &#8212;<br \/>\nfunction render(){<br \/>\nstate.lang = langFromPath();<br \/>\nsetLangAttr(state.lang);<br \/>\n\/\/ derive page from pathname<br \/>\nconst p = location.pathname.split(&#8216;\/&#8217;).filter(Boolean);<br \/>\nconst page = p[1] || &#8216;home&#8217;;<br \/>\nstate.page = page;<br \/>\nconst content = CONTENT[state.lang];<br \/>\ndocument.getElementById(&#8216;site-title&#8217;).textContent = content.siteTitle;<br \/>\ndocument.title = content.siteTitle + &#8216; \u2014 &#8216; + (content.nav[page] || content.nav.home);<\/p>\n<p>const main = document.getElementById(&#8216;app&#8217;);<br \/>\nmain.innerHTML = &#8221;;<br \/>\nif(page===&#8217;home&#8217;) return main.appendChild(renderHome(content));<br \/>\nif(page===&#8217;about&#8217;) return main.appendChild(renderAbout(content));<br \/>\nif(page===&#8217;events&#8217;) return main.appendChild(renderEvents(content));<br \/>\nif(page===&#8217;event&#8217;) return main.appendChild(renderSingleEvent(content, parseInt(p[2]||p[1]||&#8217;1&#8242;)));<br \/>\nif(page===&#8217;gallery&#8217;) return main.appendChild(renderGallery(content));<br \/>\nif(page===&#8217;contact&#8217;) return main.appendChild(renderContact(content));<br \/>\n\/\/ fallback<br \/>\nconst el = document.createElement(&#8216;div&#8217;); el.innerHTML=`&lt;section class=&#8221;container&#8221;&gt;&lt;h2&gt;404&lt;\/h2&gt;&lt;p&gt;Page not found.&lt;\/p&gt;&lt;\/section&gt;`; main.appendChild(el);<br \/>\n}<\/p>\n<p>function elFromHTML(html){ const tmp = document.createElement(&#8216;div&#8217;); tmp.innerHTML = html.trim(); return tmp.firstElementChild; }<\/p>\n<p>function renderHome(content){<br \/>\nconst sec = document.createElement(&#8216;div&#8217;);<br \/>\nsec.innerHTML = `<br \/>\n&lt;section class=&#8221;hero container&#8221; aria-labelledby=&#8221;hero-title&#8221;&gt;<br \/>\n&lt;div class=&#8221;hero-inner&#8221;&gt;<br \/>\n&lt;h1 id=&#8221;hero-title&#8221;&gt;${escapeHtml(content.home.h1)}&lt;\/h1&gt;<br \/>\n&lt;p&gt;${escapeHtml(content.home.sub)}&lt;\/p&gt;<br \/>\n&lt;div class=&#8221;cta-row&#8221;&gt;<br \/>\n&lt;button class=&#8221;btn&#8221; id=&#8221;learn-more&#8221;&gt;${escapeHtml(content.home.cta1)}&lt;\/button&gt;<br \/>\n&lt;button class=&#8221;btn secondary&#8221; id=&#8221;join-event&#8221;&gt;${escapeHtml(content.home.cta2)}&lt;\/button&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;div style=&#8221;margin-top:1rem&#8221;&gt;<br \/>\n&lt;h3&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10e9\u10d5\u10d4\u10dc \u10e8\u10d4\u10e1\u10d0\u10ee\u10d4\u10d1 (\u10ee\u10d8\u10da\u10d0\u10d3\u10d8)&#8217; : &#8216;About Federation (teaser)&#8217;}&lt;\/h3&gt;<br \/>\n&lt;ul&gt;<br \/>\n${content.home.bullets.map(b=&gt;`&lt;li&gt;${escapeHtml(b)}&lt;\/li&gt;`).join(&#8221;)}<br \/>\n&lt;\/ul&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;div aria-hidden=&#8221;true&#8221; style=&#8221;background:var(&#8211;primary);color:white;border-radius:12px;padding:1rem;display:flex;align-items:center;justify-content:center&#8221;&gt;<br \/>\n&lt;div style=&#8221;max-width:320px;text-align:center&#8221;&gt;<br \/>\n&lt;img src=&#8221;https:\/\/via.placeholder.com\/600&#215;360.webp?text=Federation+Hero&#8221; alt=&#8221;Federation hero image&#8221; style=&#8221;width:100%;height:auto;border-radius:8px&#8221; loading=&#8221;lazy&#8221;&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/section&gt;<\/p>\n<p>&lt;section class=&#8221;container&#8221;&gt;<br \/>\n&lt;h2&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10db\u10dd\u10e1\u10d0\u10da\u10dd\u10d3\u10dc\u10d4\u10da\u10d8 \u10e6\u10dd\u10dc\u10d8\u10e1\u10eb\u10d8\u10d4\u10d1\u10d4\u10d1\u10d8&#8217; : &#8216;Upcoming Events&#8217;}&lt;\/h2&gt;<br \/>\n&lt;div class=&#8221;events-list&#8221; id=&#8221;home-events&#8221;&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/section&gt;<\/p>\n<p>&lt;section class=&#8221;container&#8221;&gt;<br \/>\n&lt;h2&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d2\u10d0\u10da\u10d4\u10e0\u10d4\u10d0&#8217; : &#8216;Gallery&#8217;}&lt;\/h2&gt;<br \/>\n&lt;div class=&#8221;gallery&#8221; id=&#8221;home-gallery&#8221;&gt;&lt;\/div&gt;<br \/>\n&lt;\/section&gt;<\/p>\n<p>&lt;section class=&#8221;container&#8221; style=&#8221;text-align:center;padding:2rem;background:var(&#8211;muted);border-radius:8px;margin:1rem&#8221;&gt;<br \/>\n&lt;h3&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d2\u10d5\u10e1\u10e3\u10e0\u10e1 \u10d7\u10e5\u10d5\u10d4\u10dc\u10d8 \u10e9\u10d0\u10e0\u10d7\u10d5\u10d0&#8217; : &#8216;Get in touch&#8217;}&lt;\/h3&gt;<br \/>\n&lt;p class=&#8221;muted&#8221;&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d3\u10d0\u10d2\u10d5\u10d8\u10d9\u10d0\u10d5\u10e8\u10d8\u10e0\u10d3\u10d8\u10d7 \u10d3\u10d4\u10e2\u10d0\u10da\u10d4\u10d1\u10d6\u10d4&#8217; : &#8216;Contact us for more information&#8217;}&lt;\/p&gt;<br \/>\n&lt;div style=&#8221;margin-top:1rem&#8221;&gt;&lt;a class=&#8221;btn&#8221; href=&#8221;\/${state.lang}\/contact&#8221;&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d9\u10dd\u10dc\u10e2\u10d0\u10e5\u10e2\u10d8&#8217; : &#8216;Contact&#8217;}&lt;\/a&gt;&lt;\/div&gt;<br \/>\n&lt;\/section&gt;<br \/>\n`;<\/p>\n<p>\/\/ populate events and gallery with JS for structured layout<br \/>\nsetTimeout(()=&gt;{<br \/>\nconst eventsEl = sec.querySelector(&#8216;#home-events&#8217;);<br \/>\ncontent.events.slice(0,3).forEach(ev=&gt;{<br \/>\nconst d = document.createElement(&#8216;div&#8217;); d.className=&#8217;event-card&#8217;; d.innerHTML = `&lt;strong&gt;${escapeHtml(ev.title)}&lt;\/strong&gt;&lt;div class=&#8221;muted&#8221;&gt;${escapeHtml(ev.date)} \u00b7 ${escapeHtml(ev.location)}&lt;\/div&gt;&lt;p&gt;${escapeHtml(ev.desc)}&lt;\/p&gt;&lt;div&gt;&lt;a href=&#8221;\/${state.lang}\/events\/${ev.id}&#8221;&gt;Details&lt;\/a&gt;&lt;\/div&gt;`; eventsEl.appendChild(d);<br \/>\n});<br \/>\nconst gal = sec.querySelector(&#8216;#home-gallery&#8217;);<br \/>\ncontent.gallery.items.slice(0,4).forEach(it=&gt;{ const img = document.createElement(&#8216;img&#8217;); img.dataset.src=it.src; img.alt=it.alt; img.loading=&#8217;lazy&#8217;; img.tabIndex=0; img.addEventListener(&#8216;click&#8217;,()=&gt;openLightbox(it.src,it.alt)); img.addEventListener(&#8216;keypress&#8217;,(e)=&gt;{ if(e.key===&#8217;Enter&#8217;) openLightbox(it.src,it.alt); }); \/* lazy load: set src *\/ img.src = it.src; gal.appendChild(img); });<br \/>\n},10);<\/p>\n<p>\/\/ CTA buttons actions<br \/>\nsec.querySelector(&#8216;#learn-more&#8217;).addEventListener(&#8216;click&#8217;,()=&gt;navigate(`\/${state.lang}\/about`));<br \/>\nsec.querySelector(&#8216;#join-event&#8217;).addEventListener(&#8216;click&#8217;,()=&gt;navigate(`\/${state.lang}\/events`));<\/p>\n<p>return sec;<br \/>\n}<\/p>\n<p>function renderAbout(content){<br \/>\nconst sec = document.createElement(&#8216;section&#8217;); sec.className=&#8217;container&#8217;;<br \/>\nsec.innerHTML = `<br \/>\n&lt;h1&gt;${escapeHtml(content.nav.about)}&lt;\/h1&gt;<br \/>\n&lt;div class=&#8221;grid-3&#8243;&gt;<br \/>\n&lt;div&gt;&lt;h3&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10db\u10d8\u10e1\u10d8\u10d0&#8217; : &#8216;Mission&#8217;}&lt;\/h3&gt;&lt;p&gt;${escapeHtml(content.about.mission)}&lt;\/p&gt;&lt;\/div&gt;<br \/>\n&lt;div&gt;&lt;h3&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10ee\u10d4\u10d3\u10d5\u10d0&#8217; : &#8216;Vision&#8217;}&lt;\/h3&gt;&lt;p&gt;${escapeHtml(content.about.vision)}&lt;\/p&gt;&lt;\/div&gt;<br \/>\n&lt;div&gt;&lt;h3&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d8\u10e1\u10e2\u10dd\u10e0\u10d8\u10d0&#8217; : &#8216;History&#8217;}&lt;\/h3&gt;&lt;p&gt;${escapeHtml(content.about.history)}&lt;\/p&gt;&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<\/p>\n<p>&lt;h2 style=&#8221;margin-top:1rem&#8221;&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d2\u10d0\u10db\u10d2\u10d4\u10dd\u10d1\u10d0&#8217; : &#8216;Leadership&#8217;}&lt;\/h2&gt;<br \/>\n&lt;div class=&#8221;grid-3&#8243; id=&#8221;leadership&#8221;&gt;<br \/>\n&lt;!&#8211; leadership grid: photo, name, role, bio &#8211;&gt;<br \/>\n&lt;\/div&gt;<\/p>\n<p>&lt;h2 style=&#8221;margin-top:1rem&#8221;&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d3\u10dd\u10d9\u10e3\u10db\u10d4\u10dc\u10e2\u10d4\u10d1\u10d8\u10e1 \u10e9\u10d0\u10db\u10dd\u10e2\u10d5\u10d8\u10e0\u10d7\u10d5\u10d0&#8217; : &#8216;Downloadable Documents&#8217;}&lt;\/h2&gt;<br \/>\n&lt;ul&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/assets\/statute.pdf&#8221; download&gt;Statute (PDF)&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;li&gt;&lt;a href=&#8221;\/assets\/annual-report.pdf&#8221; download&gt;Annual Report (PDF)&lt;\/a&gt;&lt;\/li&gt;<br \/>\n&lt;\/ul&gt;<br \/>\n`;<br \/>\nconst leaders = sec.querySelector(&#8216;#leadership&#8217;);<br \/>\nconst sample = [<br \/>\n{name: state.lang===&#8217;ka&#8217;? &#8216;\u10dc\u10d8\u10dc\u10dd \u10ec\u10e3\u10da\u10e3\u10d9\u10d8\u10eb\u10d4&#8217; : &#8216;Nino T.&#8217;, role: state.lang===&#8217;ka&#8217;? &#8216;\u10de\u10e0\u10d4\u10d6\u10d8\u10d3\u10d4\u10dc\u10e2\u10d8&#8217; : &#8216;President&#8217;, bio: state.lang===&#8217;ka&#8217;? &#8216;\u10db\u10dd\u10d9\u10da\u10d4 \u10d1\u10d8\u10dd&#8230;&#8217; : &#8216;Short bio&#8230;&#8217;},<br \/>\n{name: state.lang===&#8217;ka&#8217;? &#8216;\u10da\u10d4\u10d5\u10d0\u10dc \u10db\u10d8\u10e5\u10d0\u10eb\u10d4&#8217; : &#8216;Levan M.&#8217;, role: state.lang===&#8217;ka&#8217;? &#8216;\u10e2\u10d4\u10e5\u10d0 \u10d3\u10d8\u10e0\u10d4\u10e5\u10e2\u10dd\u10e0\u10d8&#8217; : &#8216;Technical Director&#8217;, bio: state.lang===&#8217;ka&#8217;? &#8216;\u10db\u10dd\u10d9\u10da\u10d4 \u10d1\u10d8\u10dd&#8230;&#8217; : &#8216;Short bio&#8230;&#8217;}<br \/>\n];<br \/>\nsample.forEach(ld=&gt;{ const d = document.createElement(&#8216;div&#8217;); d.innerHTML = `&lt;img src=&#8221;https:\/\/via.placeholder.com\/320&#215;240.webp?text=${encodeURIComponent(ld.name)}&#8221; alt=&#8221;${escapeHtml(ld.name)}&#8221; style=&#8221;width:100%;border-radius:8px;margin-bottom:.5rem&#8221;&gt;&lt;strong&gt;${escapeHtml(ld.name)}&lt;\/strong&gt;&lt;div class=&#8221;muted&#8221;&gt;${escapeHtml(ld.role)}&lt;\/div&gt;&lt;p&gt;${escapeHtml(ld.bio)}&lt;\/p&gt;`; leaders.appendChild(d); });<br \/>\nreturn sec;<br \/>\n}<\/p>\n<p>function renderEvents(content){<br \/>\nconst sec = document.createElement(&#8216;section&#8217;); sec.className=&#8217;container&#8217;;<br \/>\nsec.innerHTML = `<br \/>\n&lt;h1&gt;${escapeHtml(content.nav.events)}&lt;\/h1&gt;<br \/>\n&lt;div style=&#8221;margin-bottom:1rem&#8221;&gt;&lt;button class=&#8221;chip&#8221; data-filter=&#8221;all&#8221;&gt;All&lt;\/button&gt; &lt;button class=&#8221;chip&#8221; data-filter=&#8221;upcoming&#8221;&gt;Upcoming&lt;\/button&gt; &lt;button class=&#8221;chip&#8221; data-filter=&#8221;past&#8221;&gt;Past&lt;\/button&gt;&lt;\/div&gt;<br \/>\n&lt;div id=&#8221;events-list&#8221;&gt;&lt;\/div&gt;<br \/>\n`;<br \/>\nconst list = sec.querySelector(&#8216;#events-list&#8217;);<br \/>\nfunction populate(filter){ list.innerHTML=&#8221;;<br \/>\nconst now = new Date();<br \/>\ncontent.events.forEach(ev=&gt;{<br \/>\nconst ed = new Date(ev.date);<br \/>\nconst isPast = ed &lt; now;<br \/>\nif(filter===&#8217;upcoming&#8217; &amp;&amp; isPast) return; if(filter===&#8217;past&#8217; &amp;&amp; !isPast) return;<br \/>\nconst card = document.createElement(&#8216;div&#8217;); card.className=&#8217;event-card&#8217;;<br \/>\ncard.innerHTML = `&lt;strong&gt;${escapeHtml(ev.title)}&lt;\/strong&gt;&lt;div class=&#8221;muted&#8221;&gt;${escapeHtml(ev.date)} \u00b7 ${escapeHtml(ev.location)}&lt;\/div&gt;&lt;p&gt;${escapeHtml(ev.desc)}&lt;\/p&gt;&lt;div&gt;&lt;a href=&#8221;\/${state.lang}\/events\/${ev.id}&#8221;&gt;Details&lt;\/a&gt;&lt;\/div&gt;`;<br \/>\nlist.appendChild(card);<br \/>\n});<br \/>\n}<br \/>\nsec.querySelectorAll(&#8216;.chip&#8217;).forEach(b=&gt;b.addEventListener(&#8216;click&#8217;,()=&gt;populate(b.dataset.filter)));<br \/>\npopulate(&#8216;all&#8217;);<br \/>\nreturn sec;<br \/>\n}<\/p>\n<p>function renderSingleEvent(content,eventId){<br \/>\nconst ev = content.events.find(e=&gt;e.id===eventId) || content.events[0];<br \/>\nconst sec = document.createElement(&#8216;section&#8217;); sec.className=&#8217;container&#8217;;<br \/>\nsec.innerHTML = `<br \/>\n&lt;h1&gt;${escapeHtml(ev.title)}&lt;\/h1&gt;<br \/>\n&lt;div class=&#8221;muted&#8221;&gt;${escapeHtml(ev.date)} \u00b7 ${escapeHtml(ev.location)}&lt;\/div&gt;<br \/>\n&lt;p&gt;${escapeHtml(ev.desc)}&lt;\/p&gt;<br \/>\n&lt;h3&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d2\u10e0\u10d0\u10e4\u10d8\u10d9\u10d8&#8217; : &#8216;Schedule&#8217;}&lt;\/h3&gt;<br \/>\n&lt;ul&gt;&lt;li&gt;10:00 \u2014 Opening&lt;\/li&gt;&lt;li&gt;12:00 \u2014 Session&lt;\/li&gt;&lt;li&gt;15:00 \u2014 Finals&lt;\/li&gt;&lt;\/ul&gt;<br \/>\n&lt;div style=&#8221;margin-top:1rem&#8221;&gt;&lt;button class=&#8221;btn&#8221; id=&#8221;register&#8221;&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10e0\u10d4\u10d2\u10d8\u10e1\u10e2\u10e0\u10d0\u10ea\u10d8\u10d0&#8217; : &#8216;Register&#8217;}&lt;\/button&gt;&lt;\/div&gt;<br \/>\n&lt;div style=&#8221;margin-top:1rem&#8221;&gt;Share: &lt;a href=&#8221;#&#8221; onclick=&#8221;return false;&#8221;&gt;Twitter&lt;\/a&gt; \u00b7 &lt;a href=&#8221;#&#8221; onclick=&#8221;return false;&#8221;&gt;Facebook&lt;\/a&gt;&lt;\/div&gt;<br \/>\n&lt;div id=&#8221;map&#8221; style=&#8221;height:220px;background:#eee;border-radius:8px;margin-top:1rem;display:flex;align-items:center;justify-content:center&#8221;&gt;[Map placeholder]&lt;\/div&gt;<br \/>\n`;<br \/>\n\/\/ Event structured data (simple)<br \/>\nconst schema = {<br \/>\n&#8216;@context&#8217;:&#8217;https:\/\/schema.org&#8217;,<br \/>\n&#8216;@type&#8217;:&#8217;Event&#8217;,<br \/>\n&#8216;name&#8217;: ev.title,<br \/>\n&#8216;startDate&#8217;: ev.date,<br \/>\n&#8216;location&#8217;: { &#8216;@type&#8217;:&#8217;Place&#8217;, &#8216;name&#8217;: ev.location },<br \/>\n&#8216;description&#8217;: ev.desc<br \/>\n};<br \/>\nlet script = document.getElementById(&#8216;event-schema&#8217;); if(script) script.remove();<br \/>\nscript = document.createElement(&#8216;script&#8217;); script.type=&#8217;application\/ld+json&#8217;; script.id=&#8217;event-schema&#8217;; script.textContent = JSON.stringify(schema);<br \/>\ndocument.head.appendChild(script);<\/p>\n<p>sec.querySelector(&#8216;#register&#8217;).addEventListener(&#8216;click&#8217;,()=&gt;{ alert(state.lang===&#8217;ka&#8217; ? &#8216;\u10d7\u10e5\u10d5\u10d4\u10dc \u10ec\u10d0\u10e0\u10db\u10d0\u10e2\u10d4\u10d1\u10d8\u10d7 \u10d3\u10d0\u10e0\u10d4\u10d2\u10d8\u10e1\u10e2\u10e0\u10d8\u10e0\u10d3\u10d8\u10d7 (\u10d8\u10db\u10d8\u10e2\u10d0\u10ea\u10d8\u10d0)&#8217; : &#8216;Registered (demo)&#8217;); });<br \/>\nreturn sec;<br \/>\n}<\/p>\n<p>function renderGallery(content){<br \/>\nconst sec = document.createElement(&#8216;section&#8217;); sec.className=&#8217;container&#8217;;<br \/>\nsec.innerHTML = `&lt;h1&gt;${escapeHtml(content.nav.gallery)}&lt;\/h1&gt;&lt;div class=&#8221;masonry&#8221; id=&#8221;masonry&#8221;&gt;&lt;\/div&gt;`;<br \/>\nconst m = sec.querySelector(&#8216;#masonry&#8217;);<br \/>\ncontent.gallery.items.forEach(it=&gt;{<br \/>\nconst d = document.createElement(&#8216;div&#8217;); d.className=&#8217;masonry-item&#8217;; d.innerHTML = `&lt;img src=&#8221;${it.src}&#8221; alt=&#8221;${escapeHtml(it.alt)}&#8221; loading=&#8221;lazy&#8221; tabindex=&#8221;0&#8243;&gt;`; d.querySelector(&#8216;img&#8217;).addEventListener(&#8216;click&#8217;,()=&gt;openLightbox(it.src,it.alt)); m.appendChild(d);<br \/>\n});<br \/>\nreturn sec;<br \/>\n}<\/p>\n<p>function renderContact(content){<br \/>\nconst sec = document.createElement(&#8216;section&#8217;); sec.className=&#8217;container&#8217;;<br \/>\nsec.innerHTML = `<br \/>\n&lt;h1&gt;${escapeHtml(content.nav.contact)}&lt;\/h1&gt;<br \/>\n&lt;div style=&#8221;display:grid;grid-template-columns:1fr;gap:1rem&#8221;&gt;<br \/>\n&lt;form id=&#8221;contact-form&#8221; aria-label=&#8221;Contact form&#8221;&gt;<br \/>\n&lt;label&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10e1\u10d0\u10ee\u10d4\u10da\u10d8&#8217; : &#8216;Name&#8217;}&lt;input name=&#8221;name&#8221; required&gt;&lt;\/label&gt;<br \/>\n&lt;label&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d4\u10da-\u10e4\u10dd\u10e1\u10e2\u10d0&#8217; : &#8216;Email&#8217;}&lt;input name=&#8221;email&#8221; type=&#8221;email&#8221; required&gt;&lt;\/label&gt;<br \/>\n&lt;label&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10e2\u10d4\u10da\u10d4\u10e4\u10dd\u10dc\u10d8&#8217; : &#8216;Phone&#8217;}&lt;input name=&#8221;phone&#8221;&gt;&lt;\/label&gt;<br \/>\n&lt;label&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10e8\u10d4\u10e2\u10e7\u10dd\u10d1\u10d8\u10dc\u10d4\u10d1\u10d0&#8217; : &#8216;Message&#8217;}&lt;textarea name=&#8221;message&#8221; rows=&#8221;4&#8243;&gt;&lt;\/textarea&gt;&lt;\/label&gt;<br \/>\n&lt;label style=&#8221;display:flex;gap:.5rem;align-items:center&#8221;&gt;&lt;input type=&#8221;checkbox&#8221; name=&#8221;gdpr&#8221;&gt; &lt;span class=&#8221;muted&#8221;&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d5\u10d4\u10d7\u10d0\u10dc\u10ee\u10db\u10d4\u10d1\u10d8 \u10db\u10dd\u10dc\u10d0\u10ea\u10d4\u10db\u10d7\u10d0 \u10d3\u10d0\u10db\u10e3\u10e8\u10d0\u10d5\u10d4\u10d1\u10d0\u10e1&#8217; : &#8216;I consent to data processing&#8217;}&lt;\/span&gt;&lt;\/label&gt;<br \/>\n&lt;!&#8211; reCAPTCHA integration placeholder: insert server-side\/actual reCAPTCHA widget here &#8211;&gt;<br \/>\n&lt;div style=&#8221;margin-top:.5rem&#8221;&gt;&lt;button type=&#8221;submit&#8221;&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10d2\u10d0\u10d2\u10d6\u10d0\u10d5\u10dc\u10d0&#8217; : &#8216;Send&#8217;}&lt;\/button&gt;&lt;\/div&gt;<br \/>\n&lt;\/form&gt;<br \/>\n&lt;div&gt;<br \/>\n&lt;h3&gt;${state.lang===&#8217;ka&#8217; ? &#8216;\u10db\u10d8\u10e1\u10d0\u10db\u10d0\u10e0\u10d7\u10d8&#8217; : &#8216;Address&#8217;}&lt;\/h3&gt;<br \/>\n&lt;p&gt;${escapeHtml(content.contact.address)}&lt;\/p&gt;<br \/>\n&lt;p&gt;&lt;strong&gt;${escapeHtml(content.contact.phone)}&lt;\/strong&gt;&lt;\/p&gt;<br \/>\n&lt;p&gt;&lt;a href=&#8221;mailto:${content.contact.email}&#8221;&gt;${escapeHtml(content.contact.email)}&lt;\/a&gt;&lt;\/p&gt;<br \/>\n&lt;div style=&#8221;margin-top:1rem;background:#fff;border:1px solid var(&#8211;border);padding:8px;border-radius:8px&#8221;&gt;[Map embed placeholder]&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<br \/>\n`;<br \/>\nsec.querySelector(&#8216;#contact-form&#8217;).addEventListener(&#8216;submit&#8217;,e=&gt;{<br \/>\ne.preventDefault();<br \/>\n\/\/ Normally: validate + send to server + reCAPTCHA. Here: simulate success and accessible message.<br \/>\nalert(state.lang===&#8217;ka&#8217; ? &#8216;\u10d2\u10d0\u10e3\u10d2\u10d6\u10d0\u10d5\u10dc\u10d0 \u2014 \u10ec\u10d0\u10e0\u10db\u10d0\u10e2\u10d4\u10d1\u10d8\u10d7&#8217; : &#8216;Message sent \u2014 success (demo)&#8217;);<br \/>\n});<br \/>\nreturn sec;<br \/>\n}<\/p>\n<p>\/\/ navigation helper uses history API and keeps language persist<br \/>\nfunction navigate(path){ history.pushState({},&#8221;,path); render(); }<br \/>\nwindow.addEventListener(&#8216;popstate&#8217;,render);<\/p>\n<p>\/\/ header language buttons<br \/>\ndocument.getElementById(&#8216;ka-btn&#8217;).addEventListener(&#8216;click&#8217;,()=&gt;{ const p = location.pathname.split(&#8216;\/&#8217;).filter(Boolean); p[0]=&#8217;ka&#8217;; if(!p[1]) p[1]=&#8221;; const newp = &#8216;\/&#8217;+p.join(&#8216;\/&#8217;); navigate(&#8216;\/ka\/&#8217;+(p[1]||&#8221;)); });<br \/>\ndocument.getElementById(&#8216;en-btn&#8217;).addEventListener(&#8216;click&#8217;,()=&gt;{ const p = location.pathname.split(&#8216;\/&#8217;).filter(Boolean); p[0]=&#8217;en&#8217;; navigate(&#8216;\/en\/&#8217;+(p[1]||&#8221;)); });<\/p>\n<p>\/\/ make nav links use client router<br \/>\ndocument.addEventListener(&#8216;click&#8217;,e=&gt;{<br \/>\nconst a = e.target.closest(&#8216;a&#8217;); if(!a) return; const href = a.getAttribute(&#8216;href&#8217;)||&#8221;; if(href.startsWith(&#8216;http&#8217;)||href.startsWith(&#8216;mailto:&#8217;)||href.startsWith(&#8216;\/assets&#8217;)) return; \/\/ allow external and asset links<br \/>\ne.preventDefault(); navigate(href);<br \/>\n});<\/p>\n<p>\/\/ lightbox<br \/>\nfunction openLightbox(src,alt){ const lb = document.getElementById(&#8216;lightbox&#8217;); document.getElementById(&#8216;lb-img&#8217;).src = src; document.getElementById(&#8216;lb-img&#8217;).alt = alt; lb.style.display=&#8217;flex&#8217;; lb.focus(); }<br \/>\ndocument.getElementById(&#8216;lb-close&#8217;).addEventListener(&#8216;click&#8217;,()=&gt;{ document.getElementById(&#8216;lightbox&#8217;).style.display=&#8217;none&#8217;; });<\/p>\n<p>\/\/ small helpers<br \/>\nfunction escapeHtml(s){ if(!s) return &#8221;; return String(s).replaceAll(&#8216;&amp;&#8217;,&#8217;&amp;amp;&#8217;).replaceAll(&#8216;&lt;&#8216;,&#8217;&amp;lt;&#8217;).replaceAll(&#8216;&gt;&#8217;,&#8217;&amp;gt;&#8217;); }<\/p>\n<p>\/\/ initial year<br \/>\ndocument.getElementById(&#8216;year&#8217;).textContent = new Date().getFullYear();<\/p>\n<p>\/\/ SEO: sitemap (simple representation) &#8211; provide as string for server admin to write as \/sitemap.xml<br \/>\nconst sitemap = `&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;\\n&lt;urlset xmlns=\\&#8221;http:\/\/www.sitemaps.org\/schemas\/sitemap\/0.9\\&#8221;&gt;\\n &lt;url&gt;&lt;loc&gt;https:\/\/example.org\/en\/&lt;\/loc&gt;&lt;\/url&gt;\\n &lt;url&gt;&lt;loc&gt;https:\/\/example.org\/ka\/&lt;\/loc&gt;&lt;\/url&gt;\\n &lt;url&gt;&lt;loc&gt;https:\/\/example.org\/en\/about&lt;\/loc&gt;&lt;\/url&gt;\\n &lt;url&gt;&lt;loc&gt;https:\/\/example.org\/en\/events&lt;\/loc&gt;&lt;\/url&gt;\\n &lt;url&gt;&lt;loc&gt;https:\/\/example.org\/en\/gallery&lt;\/loc&gt;&lt;\/url&gt;\\n &lt;url&gt;&lt;loc&gt;https:\/\/example.org\/en\/contact&lt;\/loc&gt;&lt;\/url&gt;\\n&lt;\/urlset&gt;`;<br \/>\n\/\/ console.log(&#8216;Sitemap (paste to \/sitemap.xml):&#8217;,sitemap);<\/p>\n<p>\/\/ initial render<br \/>\nrender();<\/p>\n<p>&lt;\/script&gt;<br \/>\n&lt;\/body&gt;<br \/>\n&lt;\/html&gt;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&lt;!doctype html&gt;&lt;html lang=&#8221;en&#8221;&gt; &lt;head&gt; &lt;meta charset=&#8221;utf-8&#8243; \/&gt; &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width,initial-scale=1&#8243; \/&gt; &lt;title&gt;Federation \u2014 Informational Site&lt;\/title&gt; &lt;meta name=&#8221;description&#8221; content=&#8221;Federation \u2014 official website. Learn about our mission, events, gallery and how to contact us. Available in English and Georgian.&#8221; \/&gt; &lt;!&#8211; Open Graph &amp; Twitter &#8211;&gt; &lt;meta property=&#8221;og:title&#8221; content=&#8221;Federation \u2014 Informational Site&#8221; \/&gt; &lt;meta property=&#8221;og:description&#8221; content=&#8221;Federation \u2014 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-72","page","type-page","status-publish","hentry"],"aioseo_notices":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Home_V2 - Georgian Sports Federation of Mental Arithmetic<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Home_V2 - Georgian Sports Federation of Mental Arithmetic\" \/>\n<meta property=\"og:description\" content=\"&lt;!doctype html&gt;&lt;html lang=&#8221;en&#8221;&gt; &lt;head&gt; &lt;meta charset=&#8221;utf-8&#8243; \/&gt; &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width,initial-scale=1&#8243; \/&gt; &lt;title&gt;Federation \u2014 Informational Site&lt;\/title&gt; &lt;meta name=&#8221;description&#8221; content=&#8221;Federation \u2014 official website. Learn about our mission, events, gallery and how to contact us. Available in English and Georgian.&#8221; \/&gt; &lt;!&#8211; Open Graph &amp; Twitter &#8211;&gt; &lt;meta property=&#8221;og:title&#8221; content=&#8221;Federation \u2014 Informational Site&#8221; \/&gt; &lt;meta property=&#8221;og:description&#8221; content=&#8221;Federation \u2014 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/\" \/>\n<meta property=\"og:site_name\" content=\"Georgian Sports Federation of Mental Arithmetic\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/\",\"url\":\"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/\",\"name\":\"Home_V2 - Georgian Sports Federation of Mental Arithmetic\",\"isPartOf\":{\"@id\":\"https:\/\/mscfederation.org\/#website\"},\"datePublished\":\"2025-09-22T18:53:25+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/mscfederation.org\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Home_V2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/mscfederation.org\/#website\",\"url\":\"https:\/\/mscfederation.org\/\",\"name\":\"Georgian Sports Federation of Mental Arithmetic\",\"description\":\"Enhancing Mental Agility through Sports\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/mscfederation.org\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Home_V2 - Georgian Sports Federation of Mental Arithmetic","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/","og_locale":"en_US","og_type":"article","og_title":"Home_V2 - Georgian Sports Federation of Mental Arithmetic","og_description":"&lt;!doctype html&gt;&lt;html lang=&#8221;en&#8221;&gt; &lt;head&gt; &lt;meta charset=&#8221;utf-8&#8243; \/&gt; &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width,initial-scale=1&#8243; \/&gt; &lt;title&gt;Federation \u2014 Informational Site&lt;\/title&gt; &lt;meta name=&#8221;description&#8221; content=&#8221;Federation \u2014 official website. Learn about our mission, events, gallery and how to contact us. Available in English and Georgian.&#8221; \/&gt; &lt;!&#8211; Open Graph &amp; Twitter &#8211;&gt; &lt;meta property=&#8221;og:title&#8221; content=&#8221;Federation \u2014 Informational Site&#8221; \/&gt; &lt;meta property=&#8221;og:description&#8221; content=&#8221;Federation \u2014 [&hellip;]","og_url":"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/","og_site_name":"Georgian Sports Federation of Mental Arithmetic","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/","url":"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/","name":"Home_V2 - Georgian Sports Federation of Mental Arithmetic","isPartOf":{"@id":"https:\/\/mscfederation.org\/#website"},"datePublished":"2025-09-22T18:53:25+00:00","breadcrumb":{"@id":"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/mscfederation.org\/index.php\/en\/home_v2\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/mscfederation.org\/index.php\/en\/home_v2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/mscfederation.org\/"},{"@type":"ListItem","position":2,"name":"Home_V2"}]},{"@type":"WebSite","@id":"https:\/\/mscfederation.org\/#website","url":"https:\/\/mscfederation.org\/","name":"Georgian Sports Federation of Mental Arithmetic","description":"Enhancing Mental Agility through Sports","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/mscfederation.org\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/mscfederation.org\/index.php\/wp-json\/wp\/v2\/pages\/72","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mscfederation.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mscfederation.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mscfederation.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mscfederation.org\/index.php\/wp-json\/wp\/v2\/comments?post=72"}],"version-history":[{"count":2,"href":"https:\/\/mscfederation.org\/index.php\/wp-json\/wp\/v2\/pages\/72\/revisions"}],"predecessor-version":[{"id":74,"href":"https:\/\/mscfederation.org\/index.php\/wp-json\/wp\/v2\/pages\/72\/revisions\/74"}],"wp:attachment":[{"href":"https:\/\/mscfederation.org\/index.php\/wp-json\/wp\/v2\/media?parent=72"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}