Add a compact "Like what we do?" CTA box directly below the table of contents
in the left sidebar. The ToC already scrolls internally when long, so the box
stays pinned in the same visual field. The full-width bottom CTA is hidden on
desktop where a sidebar CTA exists (via :has()) and remains the mobile fallback.
Applied to the 4 project pages that have a ToC sidebar; the others (all MK/SI +
3 EN) have no sidebar and keep the bottom CTA.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Publish Vasil Handziski's personal essay in MK (original) with EN/SI AI-drafted
translations. Adds a prose article variant (no scrollspy sidebar, centred column,
custom byline) via .article-page--prose, plus blog index cards in all languages.
Converter now omits the "last checked" line when empty.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- #9.1 Reorder "Who We Are" nav to Our team, Timeline, MSOS Hub (all 225 pages)
- #4 Fix MK "Ask MSOS" label to "Прашај го МСОС"
- #11 Landing hero overlay -> radial blue vignette (lighter centre)
- #3 Gallery cards show the event date under the title (DD.MM.YYYY)
- #1 Membership/support CTA at the end of project pages (memorials excluded)
- #8 "Illustrative image" tag on blog/news photo captions
- #9.3 Mission & Vision: full-width gradient band + more space above title
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
On mobile, body already has padding-top:60px to clear the fixed header, but
every page ALSO added its own clearance — doubling it and leaving a ~60px
white gap under the menu (content sat too low). Trimmed each page's mobile
top offset so it relies on the body padding (matching .article-page, which
was already correct): page-content, support/hub/legal pages, and the
news-hub / news-article / blog / member heroes. Content now sits ~32-42px
under the header.
Also add a 32px top gap to .newsletter-cta on mobile so it no longer
touches the CTA/content above it.
CSS only.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Navigation
- Replace "Donate" with a "Support MSOS ❤️" CTA site-wide
- Remove dead nav links (Gallery, Press releases)
- Turn the one-item News dropdown into a direct link
Homepage
- Replace the non-functional "Become part" contact form with a
"Find your people in Slovenia" join CTA (blue/white gradient band,
orange button, photo collage), in all three languages
- Fix the placeholder Activities subtitle
- Redesign Activities into card-style tabs with icons; move per-tab
content into HTML panels and switch by index so the tabs work in
every language (MK/SI tabs were previously dead)
Newsletter (MailerLite)
- Add the subscribe block to the News hub, news articles, and every
events/projects page and hub, in all three languages
- Resize/rebalance the block, shrink the privacy line, add top spacing
- Standardise on honest copy (drop the "2,000+ subscribers" claim)
- Load main.js on the News hub pages (they shipped without it, so the
form and header dropdowns didn't work there)
- Fix a dead privacy-policy link on the makedonska-vecer page
- Document the signup convention in docs/newsletter-signup.md
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Mobile fixes (article, guide, get-to-know, projects pages):
- Remove duplicate main.js include site-wide. footer.js emitted a
<script src=main.js> inside the footer block while pages also load one
before </body>, so DOMContentLoaded ran twice and every tap toggled the
mobile menu / article TOC twice (net no-op). Menu and TOC only worked on
the homepage. Now exactly one main.js per page, before </body>.
- Kill horizontal overflow: add overflow-x: clip to html/body (clips the
off-canvas mobile nav panel without breaking position: sticky, unlike
overflow-x: hidden).
- Reset align-items to stretch in the mobile .article-layout-container
rule; the desktop flex-start made .article-container size to max-content
width in a column flexbox and overflow the viewport.
Membership form hardening (Become a Member):
- Honeypot field + localStorage cooldown (30s gap, max 3/24h) + stronger
email regex; trilingual cooldown alert message.
- Apps Script (setup doc): per-email auto-reply dedupe + daily send cap;
applicant reply is a plain thank-you that never echoes submitted answers.
- Draft HTML welcome email (email-welcome-preview.html) for later use.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Launch the two country sections as a cultural bridge, following the
approved Phase A spec and reusing the Events & Projects structure.
Hubs (6 pages, EN/SI/MK each):
- get-to-know-slovenia and get-to-know-macedonia
- Section header + newsletter form, 6-category filter (Places & Nature,
Culture & Traditions, Food & Flavours, History & Heritage,
People & Identity), 6 launch cards, empty state, client-side pagination.
- Five cards per hub link to articles that arrive in later batches.
Articles (6 pages, EN/SI/MK each):
- Welcome to Slovenia and Welcome to Macedonia, full text with the
auto-generated table of contents and sticky mobile header.
- Real, sourced images with attribution captions (place, photographer,
source link). Wikimedia photos also link the CC BY-SA licence and note
that the image was cropped. Images center-cropped to a uniform 3:2 and
downscaled. Each article's hero image is reused on its hub card.
Site-wide:
- Wire the For Students menu links (desktop and mobile) to the new hubs on
every page and in the header templates; rename the menu label from
North Macedonia to Macedonia (formal name kept in body content).
- Placeholder styles for images and cards still awaiting a sourced photo.
- Add caption styling for the hero image and give the article table of
contents clear separation from the footer.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Pin the site header on scroll (position: absolute -> fixed) so it no
longer disappears when reading.
- Redesign the desktop table-of-contents sidebar: compact spacing and fix
the first-item clipping at 100% zoom (drop fixed-height flex centering in
the scroll container for a flex column with max-height).
- Add the article title above the desktop TOC so readers always know which
article they are in.
- Make the article TOC a site-wide standard: main.js now auto-builds the
sidebar + sticky mobile header from each page's own h1/h2 headings, so all
languages (EN/SI/MK) get it with no per-page HTML. Existing hand-written
EN labels are preserved.
- Update the URL hash to the active section while scrolling (replaceState,
no history spam, no jump).
- Add transliteration for readable anchors in every language: Slovenian
diacritics and Macedonian Cyrillic map to ASCII slugs.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>