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>
Why become a member
- Rebuild the benefits grid as a 3x3 bento: 7 icon cards + 2 real event photos
(with captions), fixes the orphan card, adds hover motion. Swap the blank
fa-house-heart (Pro) for fa-house-user (Free) on "Feel at home".
Join form
- Merge the duplicate "There is a place for you here" section into the form's
path step (student / supporter cards now carry the descriptions); drop the
separate section. New heading "There is a place for you here"; centred layout.
- Redesign the choice cards: colour-coded (student orange / supporter teal)
icon circles, descriptions, hover lift + "Choose this" reveal.
- Fix the stray "Support MSOS" submit button showing on the path step.
Conversion + polish
- Floating "Become a member" CTA that appears after the hero and hides near the
form/final CTA, so the ask stays reachable without scrolling to the bottom.
- More space between section titles and their cards (numbers, reals, tests,
showcase, benefits).
- Testimonials: Elena -> Katerina (Koper); un-swap Ana (Maribor) and Marko
(Ljubljana); remove the "sample quotes" placeholder note.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Hero gradient now spans edge to edge (full-viewport ::before band behind the
centred content) and is more colourful/on-brand (warm peach to soft teal).
- Both hero CTAs (Become a member / See what we do) share one size so they align.
- Add hover (lift + shadow + colour shift) and active (press) states to the
reusable .btn classes, so all buttons site-wide get consistent feedback; plus
a focus-visible outline for keyboard users.
- Remove the confusing Community/Events/Support/... tag pills (they duplicated
the hero lead sentence). member.js updated + now emits main.js on the member
pages so regeneration keeps the nav working.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Remove the "Get Involved" dropdown (Become a member / Support MSOS): dead
href="#" links that duplicated the top-right buttons. Swept site-wide
(desktop + mobile, en/si/mk) - 390 blocks across 195 pages, including the
privacy-policy header the generators slice from, so regeneration stays clean.
Nav is now Who We Are / What We Do / For Students / News + the two buttons.
- Header now spans the full page width: logo + text menus flush left, buttons +
language switcher flush right (was constrained to a centred 1280px container,
which left the logo floating inward on wide screens). CSS-only in _header.css,
scoped so the mobile hamburger layout is unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The "Get Involved" dropdown (Become a member / Support MSOS) had dead href="#"
links and only duplicated the two top-right buttons (Become a member, Donate).
Removed it site-wide (desktop + mobile, en/si/mk) - 390 blocks across 195 pages,
including the privacy-policy header the generators slice from, so regeneration
stays clean. Nav is now Who We Are / What We Do / For Students / News + the two
pill buttons.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Update the residence-permit "sufficient means" figure to 507,43 EUR/month
(Slovenian basic minimum income from 1 April 2026, source gov.si) across the
guide, FAQ, budget note, sample parent statement and my-route tip; replaces
the old 484,88 everywhere.
- New standalone news announcement page /<lang>/news/proof-of-means-updated-2026/
(trilingual), published 1 August 2026, with a clickable gov.si source box and a
hero image (Pixabay, credited). news.js now supports announcement items
(slug + body) and shows them newest-first on the homepage and News hub; the
image doubles as the card thumbnail. Optimised 6.98MB to 255KB.
- Switch English EUR amounts to European format (comma decimal, dot thousands):
507,43 / 9.600 / 1.000 etc. Only euro-prefixed amounts are touched, so SI/MK
(which use a euro suffix) are unaffected. New generator eurofmt.js.
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>
Map path/name/email/phone/city/university/membership/consent columns plus a full Summary field; city and membership are derived from the student or supporter answers.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New trilingual /<lang>/become-a-member/ conversion page: hero with real-photo collage, why-join benefits, animated MSOS-in-numbers, ways to participate, membership-in-real-life and projects showcase (real project photos), testimonials, who-can-join, an adaptive multi-step form (student + supporter flows, conditional fields, progress, personalised messages, validation, success screen), FAQ and final CTA. Site-wide 'Become a member' buttons now link here. Form posts to a Google Form once wired; metrics/testimonials are placeholders to confirm.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Client-side paginator (9 per page) reusing the site's pagination styling; page numbers with dots for long lists, Previous/Next with disabled states, resets to page 1 on filter change and hides when a single page.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New /<lang>/news/ hub aggregates real projects (title+image read from their pages), placeholder news announcements, and blog items, newest-first with type badges and a type filter. Homepage Latest news now shows the newest dated items as badged cards with a working See all to the hub; the News menu link points there too. Dates in news.js are placeholders to replace with real publish dates.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Remove 'Mentorship Programme' and 'Open calls' from the menus, rename 'Announcements' to 'News and Announcements', and wire the Blog link. Add a trilingual /<lang>/blog/ page with a distinct look: featured strip, client-side topic filters, and a masonry card wall with colour-coded tags (placeholder posts for now).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Match the FAQ fix: increase .guide-landing-hero top padding so the eyebrow and title clear the fixed 80px header.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace em/en dashes with commas (or 'to' for number ranges, keeping the euro sign) across the FAQ, home, timeline and project pages; hyphens in compound words are left intact. Increase .faq-hero top padding so the eyebrow/title clear the fixed 80px header.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replace the ad-hoc FAQ questions with the curated P1 + strong-P2 set from research/faq-questions-and-rating.md: 33 questions across 9 sections, priority-ordered, including the MSOS third-country questions and concrete facts (free bachelor+master, B2 only for specific programmes, no entrance exam except art/architecture/sport/dental-prosthetics, 30 Sept renewal, 8-day address registration, non-EU quotas).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
New /<lang>/faq/ page (en/si/mk) with categorised accordion Q&A that link into the Student Welcome Guide, plus a contact/Viber block. Nav 'FAQs' links and 'See all FAQs' buttons across the site now point to it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add the auto-scrolling partners marquee to all three home pages (en/si/mk) with the six official partner logos (Embassy of Slovenia in Skopje, NLB, CTK, DSMP, Kampus, Povezani), trimmed to their artwork so they size consistently.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Flags: replace flag-icons CDN with local SVGs (images/flags/{gb,si,mk}.svg) referenced as CSS backgrounds, so no external dependency and no per-page path issues. Partners: replace the static home-page logo row with a seamless auto-scrolling, hover-pausing marquee (CSS-only, reduced-motion aware, edge fade).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Desktop dropdown and mobile modal now show circular country flags (flag-icons) with clean language names and an active-language highlight, driven by the page lang via main.js.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add legal name, real social links (FB/IG/LinkedIn/YouTube), clickable email, guide and section navigation, and 2026 copyright. All links depth-correct per page and translated per language.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The site header/footer were hidden with visibility:hidden, which keeps their layout height and pushed a blank second page. Now they are display:none in print and the report flows normally, so the printed height matches the content and it prints as a single page.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Reverts the over-compacted tiny/top-heavy print. Uses readable sizes (12px base, 22px title), centered header, and keeps the Key pages block so the report fills one A4 page nicely while still fitting on a single page; blocks keep page-break-inside:avoid.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds top spacing so the report clears the sticky nav; centers the logo/title/date into a clean report header. Print: @page margin 0 removes the browser URL/date/page-number chrome, compacts fonts/spacing, drops the non-clickable Key pages block, and adds page-break-inside:avoid so the disclaimer and other blocks no longer split across pages.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds role, faculty (typed), and budget fields; the configurator now navigates to a new per-language results page (my-route/) carrying the answers in the URL. The results page renders a branded, printable report: profile chips, tailored ordered steps, city/budget/role/level focus tips, key page links, a disclaimer, and a Save-as-PDF/print button (print CSS shows only the report). my-route.js also has a Google Form hook to collect the profile for demographics once configured.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds a 5-card featured row (journey, deadlines, eVS apply, residence permit, accommodation) above the stages, and converts the six stage cards into native details/summary accordions (first open by default, chevron rotates). Links inside open into a compact grid. Cuts the empty white space and visual noise.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Replaces the flat crowded quicklink wall with six numbered stage cards (Start here, Apply to study, Residence and healthcare, Move and settle in, Everyday student life, After your first year), each with an icon, a one-line description, and its topic links. New guide-cats/guide-cat styles; section retitled to Find your way through the guide.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds a reusable {video} block (responsive 16:9 youtube-nocookie embed) rendered as a prominent orange callout with title and caption, placed right after the warning box on evs-application-guide so students see it first. Trilingual title/caption.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Comment area is now a flex row that bottom-aligns the Send button with a 16px gap. The No vote is held until the comment is sent so both land on one Google Form row; a No left without a comment is still recorded once via sendBeacon on page-leave.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Voting now locks the widget for the page view (buttons disabled, chosen one highlighted, thank-you shown); reload to vote again. Fixes the CSS bug where display:flex overrode the hidden attribute so buttons stayed clickable. On No, an optional comment box posts to a separate Comment field. Adds a guarded [hidden] rule and selected/disabled/comment styles.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
sendVote now POSTs the page (slug + language) and Yes/No answer to a Google Form when the GOOGLE_FORM config is filled in; stays a no-op until then. Includes step-by-step setup notes in the file.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Every guide page and the landing now end with a help section: an Email us contact, a prominent Viber community join button, and a Was this page helpful Yes/No widget. guide-feedback.js records the vote in localStorage and on No invites emailing MSOS or asking in Viber; it exposes a sendVote hook for later central collection.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
student-budget gains an illustrative monthly budget table (per-category ranges, ~EUR455-850
total) tied to the EUR484.88 means minimum. academic-life gains a section on what student
status grants and how long the rights last (one programme per level, n+1+1 extensions).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
choose-a-programme gains concrete info-day timing (mid-Feb Fri/Sat, visit 2-3), a
question checklist, and the aptitude-test faculty list + timing. admission-and-enrolment
gains the national three-round system, omejitev vpisa (end-April), basic/additional
criteria, and July-October enrolment timing.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds the hard fact that self-funded foreign degree students cannot get a subsidised
Studentski dom place, the faculty-brokered non-subsidised route (Dijaski dom Vic), and
the free m2 room-brokerage contact (Studentska hisa SRCe, 080 98 67, svetovalnica.com/sobe).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds student e-bike pricing (EUR30 / EUR25 ISIC, 30-min free, NAZAJVSOLO coupon),
BicikeLJ/MBajk parity, LPP 2025/26 renewal and pre-sale dates, Potniski center address,
the Slovenija intercity option, and the Urbana+IJPP unlock note.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Splits the health-insurance pathway into the Macedonia side (getting the bilingual
RM/SI 3 from the FZOM branch) and the Slovenia side (converting it into the Potrdilo
MedZZ certificate at ZZZS), and names the actual certificate issued.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
where-to-apply now includes the full portal appointment walkthrough (steps, Slovenian
labels, 120-minute confirmation) and an appointment-day warning. means/address gains a
sample parent support statement and the concrete EUR484.88 monthly figure.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrites the residence permit page from vague signposting into a full walkthrough:
per-document explanations, exact fees, EUR484.88 means rule, 8-day address
registration, 30 September renewal deadline, sub-90-day rule, and the confirmation
that permits border crossing. Corrects photo size to 33x45mm.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Rewrites the ten application/admission pages to the deeper v3 English
master, trilingual: complete-student-journey (9-stage timeline),
choose-a-programme, bachelor-application, master-application,
application-deadlines (2026/2027 tables), evs-application-guide,
recognition-of-education, document-preparation, admission-and-enrolment,
tuition-and-scholarships. Adds hero placeholders, Sources sections, and
warning/macedonia/msos boxes. Tuition notes bilateral tuition-free
treatment; deadlines shown per university with verify-latest guidance.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>