Vijayam Foundation – Helping Seniors Navigate the Digital World
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
/* Palette updated for higher contrast */
:root {
–teal: #0d6b6b; /* primary — buttons, links, accents */
–teal-dark: #084747; /* hover/active teal variant */
–teal-light: #e0f4f4; /* light backgrounds */
–teal-mid: #1a8a80; /* secondary accent */
–navy: #0a1b33; /* headings, dark backgrounds for contrast */
–navy-light: #e8ecf5; /* light navy tint bg */
–cream: #f4fbfb; /* page background */
–white: #ffffff;
–ink: #0a1b33; /* body text improved contrast */
–muted: #2b3a4a; /* secondary text with good contrast */
–border: #b5cbdc; /* subtle borders with better visibility */
–bg-contrast: #f7fbfb; /* alternative high-contrast background if needed */
}
html { scroll-behavior: smooth; }
body {
font-family: ‘DM Sans’, sans-serif;
background-color: var(–cream);
color: var(–ink);
line-height: 1.7;
}
/* ── NAV ── */
nav {
padding: 1.5rem 2rem;
display: flex;
justify-content: space-between;
align-items: center;
background: var(–white);
border-bottom: 1px solid var(–border);
position: sticky;
top: 0;
z-index: 100;
}
.nav-logo {
font-family: ‘Lora’, serif;
font-size: 1.2rem;
color: var(–teal);
text-decoration: none;
letter-spacing: 0.02em;
}
.nav-links a {
font-size: 0.85rem;
color: var(–muted);
text-decoration: none;
margin-left: 2rem;
letter-spacing: 0.05em;
text-transform: uppercase;
font-weight: 500;
transition: color 0.2s;
}
.nav-links a:hover { color: var(–teal); }
.nav-links a.donate-link {
background: var(–teal);
color: var(–white);
padding: 0.45rem 1.1rem;
border-radius: 100px;
}
.nav-links a.donate-link:hover { background: var(–teal-dark); color: var(–white); }
/* BURGER */
.burger {
display: none;
flex-direction: column;
justify-content: space-between;
width: 24px;
height: 18px;
background: none;
border: none;
cursor: pointer;
padding: 0;
z-index: 200;
}
.burger span {
display: block;
width: 100%;
height: 2px;
background: var(–teal);
border-radius: 2px;
transition: all 0.3s ease;
transform-origin: center;
}
.burger.open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.burger.open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
/* MOBILE MENU */
.mobile-menu {
display: none;
position: absolute;
top: 100%;
left: 0; right: 0;
background: var(–white);
border-bottom: 1px solid var(–border);
padding: 1rem 2rem 1.5rem;
flex-direction: column;
z-index: 99;
box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}
.mobile-menu.open { display: flex; }
.mobile-menu a {
font-size: 0.95rem;
color: var(–muted);
text-decoration: none;
letter-spacing: 0.04em;
text-transform: uppercase;
font-weight: 500;
padding: 0.85rem 0;
border-bottom: 1px solid #ddeaea;
transition: color 0.2s;
}
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu a:hover { color: var(–teal); }
.mobile-menu a.donate-link { color: var(–teal); font-weight: 600; }
/* ── HERO ── */
.hero {
background: var(–white);
padding: 6rem 2rem 5rem;
text-align: center;
position: relative;
overflow: hidden;
}
.hero::before {
content: ”;
position: absolute;
top: -80px; right: -80px;
width: 400px; height: 400px;
background: radial-gradient(circle, #a8d8d8 0%, transparent 65%);
pointer-events: none;
}
.hero::after {
content: ”;
position: absolute;
bottom: -60px; left: -60px;
width: 300px; height: 300px;
background: radial-gradient(circle, #c0d4f0 0%, transparent 65%);
pointer-events: none;
}
.hero-tag {
display: inline-block;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.15em;
color: var(–teal);
font-weight: 600;
margin-bottom: 1.5rem;
padding: 0.4rem 1.1rem;
border: 1.5px solid var(–teal);
border-radius: 100px;
}
.hero h1 {
font-family: ‘Lora’, serif;
font-size: clamp(2.2rem, 6vw, 3.8rem);
font-weight: 600;
line-height: 1.2;
color: var(–navy);
max-width: 760px;
margin: 0 auto 1.5rem;
}
.hero h1 em {
color: var(–teal);
font-style: italic;
}
.hero-sub {
font-size: 1.1rem;
color: var(–muted);
max-width: 560px;
margin: 0 auto 2.5rem;
font-weight: 400;
}
.hero-actions {
display: flex;
gap: 1rem;
justify-content: center;
flex-wrap: wrap;
}
.btn {
display: inline-block;
padding: 0.85rem 2rem;
border-radius: 100px;
font-size: 0.9rem;
font-weight: 600;
text-decoration: none;
letter-spacing: 0.04em;
transition: all 0.2s;
}
.btn-primary {
background: var(–teal);
color: var(–white);
border: 2px solid var(–teal);
}
.btn-primary:hover { background: var(–teal-dark); border-color: var(–teal-dark); }
.btn-outline {
background: transparent;
color: var(–teal);
border: 2px solid var(–teal);
}
.btn-outline:hover { background: var(–teal-light); }
/* TRUST BAR */
.trust-bar {
background: var(–navy);
padding: 1rem 2rem;
text-align: center;
font-size: 0.82rem;
color: rgba(255,255,255,0.9);
letter-spacing: 0.06em;
font-weight: 400;
}
.trust-bar span { margin: 0 1.2rem; display: inline-block; }
.trust-bar span::before { content: ‘✦’; margin-right: 0.5rem; opacity: 0.5; }
/* ── MISSION ── */
.mission {
max-width: 780px;
margin: 0 auto;
padding: 5rem 2rem;
text-align: center;
}
.section-label {
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.15em;
color: var(–teal);
font-weight: 600;
margin-bottom: 1rem;
}
.mission h2 {
font-family: ‘Lora’, serif;
font-size: clamp(1.6rem, 3.5vw, 2.3rem);
line-height: 1.3;
margin-bottom: 1.5rem;
color: var(–navy);
}
.mission p {
font-size: 1.05rem;
color: var(–muted);
font-weight: 400;
max-width: 640px;
margin: 0 auto;
}
/* DIVIDER */
.divider {
width: 48px; height: 2px;
background: var(–teal);
margin: 0 auto;
border-radius: 2px;
}
/* ── STATS ── */
.stats {
background: var(–navy);
padding: 4rem 2rem;
}
.stats-inner {
max-width: 860px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 2rem;
text-align: center;
}
.stat-item h3 {
font-family: ‘Lora’, serif;
font-size: clamp(2rem, 4vw, 2.8rem);
color: #5dd8c8;
font-weight: 600;
margin-bottom: 0.4rem;
}
.stat-item p {
font-size: 0.9rem;
color: rgba(255,255,255,0.85);
font-weight: 400;
line-height: 1.4;
}
/* ── STORY STRIP ── */
.story-strip {
padding: 5rem 2rem;
background: var(–white);
}
.story-strip-inner {
max-width: 860px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: center;
}
.story-text .section-label { margin-bottom: 1rem; }
.story-text h2 {
font-family: ‘Lora’, serif;
font-size: clamp(1.5rem, 3vw, 2rem);
line-height: 1.3;
margin-bottom: 1.2rem;
color: var(–navy);
}
.story-text p {
font-size: 1rem;
color: var(–muted);
font-weight: 400;
margin-bottom: 1rem;
}
.story-text a {
color: var(–teal);
font-weight: 600;
text-decoration: none;
font-size: 0.9rem;
letter-spacing: 0.04em;
border-bottom: 1.5px solid var(–teal);
padding-bottom: 1px;
transition: opacity 0.2s;
}
.story-text a:hover { opacity: 0.75; }
.story-visual {
background: var(–teal-light);
border-radius: 16px;
padding: 3rem 2rem;
text-align: center;
border: 2px solid #80c4c4;
}
.story-visual .big-emoji { font-size: 4rem; margin-bottom: 1rem; }
.story-visual blockquote {
font-family: ‘Lora’, serif;
font-style: italic;
font-size: 1.05rem;
color: var(–navy);
line-height: 1.6;
}
.story-visual cite {
display: block;
margin-top: 1rem;
font-size: 0.82rem;
color: var(–teal);
font-style: normal;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
}
/* ── PROGRAMS ── */
.programs {
padding: 5rem 2rem;
background: var(–cream);
}
.programs-inner { max-width: 860px; margin: 0 auto; }
.programs-header { text-align: center; margin-bottom: 3rem; }
.programs-header h2 {
font-family: ‘Lora’, serif;
font-size: clamp(1.5rem, 3vw, 2rem);
margin-top: 0.5rem;
color: var(–navy);
}
.program-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1.5rem;
}
.program-card {
background: var(–white);
border-radius: 14px;
padding: 2rem 1.8rem;
border: 1.5px solid var(–border);
transition: transform 0.2s, box-shadow 0.2s;
}
.program-card:hover {
transform: translateY(-4px);
box-shadow: 0 12px 32px rgba(13,107,107,0.12);
}
.program-icon { font-size: 2rem; margin-bottom: 1rem; }
.program-card h3 {
font-family: ‘Lora’, serif;
font-size: 1.05rem;
font-weight: 600;
margin-bottom: 0.6rem;
color: var(–navy);
}
.program-card p {
font-size: 0.9rem;
color: var(–muted);
line-height: 1.6;
font-weight: 400;
}
/* ── WHO WE HELP ── */
.who {
background: var(–white);
padding: 5rem 2rem;
}
.who-inner {
max-width: 860px;
margin: 0 auto;
display: grid;
grid-template-columns: 1fr 1fr;
gap: 4rem;
align-items: start;
}
.who-text h2 {
font-family: ‘Lora’, serif;
font-size: clamp(1.5rem, 3vw, 2rem);
margin: 0.5rem 0 1.2rem;
line-height: 1.3;
color: var(–navy);
}
.who-text p {
font-size: 1rem;
color: var(–muted);
font-weight: 400;
margin-bottom: 1rem;
}
.who-list {
list-style: none;
display: flex;
flex-direction: column;
gap: 1rem;
}
.who-list li {
display: flex;
align-items: flex-start;
gap: 0.8rem;
font-size: 0.95rem;
color: var(–muted);
font-weight: 400;
}
.who-list li .check {
width: 22px; height: 22px;
background: var(–teal);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.7rem;
color: var(–white);
flex-shrink: 0;
margin-top: 2px;
}
/* ── GET INVOLVED ── */
.involve {
background: var(–teal);
padding: 5rem 2rem;
text-align: center;
color: var(–white);
}
.involve-inner { max-width: 640px; margin: 0 auto; }
.involve .section-label { color: rgba(255,255,255,0.8); margin-bottom: 0.5rem; }
.involve h2 {
font-family: ‘Lora’, serif;
font-size: clamp(1.6rem, 3.5vw, 2.3rem);
margin: 0.5rem 0 1.2rem;
line-height: 1.3;
color: var(–white);
}
.involve p {
font-size: 1rem;
color: rgba(255,255,255,0.9);
font-weight: 400;
margin-bottom: 2rem;
}
.btn-white {
background: var(–white);
color: var(–teal);
border-radius: 999px;
padding: 0.75rem 1.25rem;
font-weight: 600;
border: 0;
}
.btn-white:hover {
background: #f0f3f5;
color: var(–teal);
}
Trusted Charity
Empowering seniors to navigate the digital world
Vijayam Foundation: Honoring independence, one click at a time
Building digital confidence for older adults through patient guidance, practical tools, and a compassionate community.
Helping seniors navigate the digital world with confidence
We provide practical guidance, friendly support, and accessible resources to empower older adults to stay connected, secure, and independent online.
10,000+
families helped online
200+
volunteer mentors
5,000
hours of training
Real stories from real people
Meet families who have learned to use email, video calls, and online banking with confidence—thanks to patient guidance and practical tips.
“I never thought I could master the internet, but with Vijayam’s help, I can video chat with my grandchildren and pay my bills online.”
– A grateful member
Programs designed for ease of use and confidence
Digital Literacy
Hands-on workshops that cover basics like email, safety, and online basics.
Caregiver Support
Guidance for families helping loved ones stay connected online.
Cyber Safety
Practical tips to recognize scams and protect personal information.
Our community is here for you
From independent seniors to caregivers, we tailor resources to fit different needs and levels of experience.
- Access to simple guides
- Friendly support
- Safe online practices
Volunteer, donate, or lend a hand
Your support helps us reach more seniors with practical, compassionate guidance.
const burger = document.querySelector(‘.burger’);
const mobileMenu = document.querySelector(‘.mobile-menu’);
if (burger && mobileMenu) {
function toggle() {
const open = burger.classList.toggle(‘open’);
mobileMenu.style.display = open ? ‘flex’ : ‘none’;
burger.setAttribute(‘aria-expanded’, open);
}
burger.addEventListener(‘click’, toggle);
burger.addEventListener(‘keypress’, (e) => {
if (e.key === ‘Enter’ || e.key === ‘ ‘) toggle();
});
}
