Web Pages Medium
Event / Conference Landing
A high-energy conference landing page with a live countdown timer, speaker grid, schedule timeline, sponsor logos marquee, and ticket CTA.
Open in Lab
MCP
gsap scrolltrigger lenis css vanilla-js
Targets: JS HTML
Code
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: "Inter", system-ui, sans-serif;
background: #050910;
color: #f2f6ff;
}
/* NAV */
.nav {
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 100;
display: flex;
align-items: center;
justify-content: space-between;
padding: 1rem 2.5rem;
background: rgba(5, 9, 16, 0.85);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.nav-logo {
font-size: 1rem;
font-weight: 900;
letter-spacing: 0.08em;
}
.nav-year {
color: #f97316;
}
.nav-links {
list-style: none;
display: flex;
gap: 2rem;
}
.nav-links a {
font-size: 0.875rem;
color: #64748b;
text-decoration: none;
font-weight: 500;
transition: color 0.15s;
}
.nav-links a:hover {
color: #f2f6ff;
}
.btn-tickets {
font-size: 0.875rem;
font-weight: 700;
padding: 0.55rem 1.25rem;
background: #f97316;
color: #fff;
border-radius: 0.5rem;
text-decoration: none;
transition: opacity 0.15s;
}
.btn-tickets:hover {
opacity: 0.85;
}
/* HERO */
.hero {
position: relative;
min-height: 100vh;
display: flex;
align-items: center;
justify-content: center;
padding: 6rem 2rem 4rem;
overflow: hidden;
}
.hero-bg {
position: absolute;
inset: 0;
background: radial-gradient(
ellipse 80% 60% at 50% 30%,
rgba(249, 115, 22, 0.12) 0%,
transparent 70%
), radial-gradient(ellipse 50% 40% at 70% 60%, rgba(99, 102, 241, 0.1) 0%, transparent 70%),
#050910;
}
.hero-content {
position: relative;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 2rem;
max-width: 700px;
}
.event-meta {
display: flex;
gap: 0.75rem;
align-items: center;
font-size: 0.8rem;
font-weight: 600;
letter-spacing: 0.06em;
color: #f97316;
text-transform: uppercase;
}
.meta-sep {
color: rgba(249, 115, 22, 0.4);
}
.hero-title {
font-size: clamp(3rem, 8vw, 6rem);
font-weight: 900;
letter-spacing: -0.04em;
line-height: 0.95;
}
.hero-title em {
font-style: italic;
color: #f97316;
}
.hero-sub {
font-size: 1rem;
color: #64748b;
line-height: 1.65;
max-width: 500px;
}
/* COUNTDOWN */
.countdown {
display: flex;
align-items: center;
gap: 0.5rem;
}
.cd-unit {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.25rem;
min-width: 4.5rem;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 0.75rem;
padding: 0.875rem 0.5rem;
}
.cd-num {
font-size: 2rem;
font-weight: 900;
font-variant-numeric: tabular-nums;
color: #f97316;
}
.cd-label {
font-size: 0.6rem;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #334155;
}
.cd-sep {
font-size: 1.5rem;
color: #1e293b;
padding-bottom: 1.5rem;
}
.btn-primary {
display: inline-flex;
align-items: center;
padding: 1rem 2rem;
background: #f97316;
color: #fff;
font-weight: 700;
font-size: 1rem;
border-radius: 0.625rem;
text-decoration: none;
transition: opacity 0.15s;
}
.btn-primary:hover {
opacity: 0.85;
}
/* SECTIONS */
.section {
padding: 5rem 2rem;
}
.section--dark {
background: #0d1117;
}
.container {
max-width: 1000px;
margin: 0 auto;
}
.section-eyebrow {
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: #f97316;
margin-bottom: 0.5rem;
}
.section-title {
font-size: clamp(1.75rem, 4vw, 2.75rem);
font-weight: 900;
letter-spacing: -0.03em;
margin-bottom: 2.5rem;
line-height: 1.1;
}
.section-title--light {
color: #f2f6ff;
}
/* SPEAKERS */
.speakers-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
gap: 1.25rem;
}
.speaker-card {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: 0.875rem;
padding: 1.5rem 1rem;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
transition: border-color 0.2s;
}
.speaker-card:hover {
border-color: rgba(249, 115, 22, 0.3);
}
.sp-photo {
width: 3.5rem;
height: 3.5rem;
border-radius: 50%;
display: grid;
place-items: center;
font-weight: 800;
font-size: 0.85rem;
color: #fff;
margin-bottom: 0.25rem;
}
.sp-photo--1 {
background: linear-gradient(135deg, #f97316, #fb923c);
}
.sp-photo--2 {
background: linear-gradient(135deg, #6366f1, #818cf8);
}
.sp-photo--3 {
background: linear-gradient(135deg, #22c55e, #4ade80);
}
.sp-photo--4 {
background: linear-gradient(135deg, #ec4899, #f472b6);
}
.sp-photo--5 {
background: linear-gradient(135deg, #38bdf8, #67e8f9);
}
.sp-photo--6 {
background: linear-gradient(135deg, #f59e0b, #fbbf24);
}
.speaker-card h3 {
font-size: 0.875rem;
font-weight: 700;
}
.speaker-card p {
font-size: 0.75rem;
color: #64748b;
}
.speakers-more {
margin-top: 1.5rem;
font-size: 0.85rem;
color: #334155;
text-align: center;
}
/* SCHEDULE */
.day-tabs {
display: flex;
gap: 0.5rem;
margin-bottom: 2rem;
}
.day-tab {
padding: 0.6rem 1.25rem;
border: 1px solid rgba(255, 255, 255, 0.08);
border-radius: 999px;
background: transparent;
color: #64748b;
font-size: 0.8rem;
font-weight: 600;
cursor: pointer;
transition: all 0.15s;
font-family: inherit;
}
.day-tab.active {
background: #f97316;
border-color: #f97316;
color: #fff;
}
.schedule-list {
display: flex;
flex-direction: column;
gap: 0;
}
.schedule-item {
display: flex;
gap: 2rem;
padding: 1.25rem 0;
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.sched-time {
font-size: 0.8rem;
font-weight: 700;
color: #f97316;
min-width: 3.5rem;
margin-top: 0.1rem;
font-variant-numeric: tabular-nums;
}
.sched-content h4 {
font-size: 0.9rem;
font-weight: 600;
color: #e2e8f0;
margin-bottom: 0.2rem;
}
.sched-content p {
font-size: 0.8rem;
color: #475569;
}
/* SPONSORS */
.sponsors-title {
text-align: center;
margin-bottom: 2rem;
}
.sponsors-tier-label {
font-size: 0.7rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #334155;
text-align: center;
margin: 1.5rem 0 1rem;
}
.marquee {
overflow: hidden;
}
.marquee-track {
display: flex;
gap: 3rem;
animation: marquee 20s linear infinite;
width: max-content;
}
.marquee--reverse .marquee-track {
animation-direction: reverse;
}
.marquee:hover .marquee-track {
animation-play-state: paused;
}
@keyframes marquee {
to {
transform: translateX(-50%);
}
}
.sp-logo {
font-size: 1.25rem;
font-weight: 900;
color: rgba(255, 255, 255, 0.08);
letter-spacing: -0.02em;
white-space: nowrap;
}
.sp-logo--sm {
font-size: 0.9rem;
}
/* TICKETS */
.tickets-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1.25rem;
margin-top: 2rem;
}
.ticket-card {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.07);
border-radius: 1rem;
padding: 2rem;
display: flex;
flex-direction: column;
gap: 1rem;
position: relative;
}
.ticket-card--featured {
border-color: rgba(249, 115, 22, 0.3);
background: rgba(249, 115, 22, 0.04);
}
.t-badge {
position: absolute;
top: -0.75rem;
left: 50%;
transform: translateX(-50%);
background: #f97316;
color: #fff;
font-size: 0.7rem;
font-weight: 700;
padding: 0.2rem 0.75rem;
border-radius: 999px;
white-space: nowrap;
}
.ticket-card h3 {
font-size: 0.9rem;
font-weight: 700;
color: #94a3b8;
text-transform: uppercase;
letter-spacing: 0.08em;
}
.t-price {
font-size: 2rem;
font-weight: 900;
letter-spacing: -0.03em;
}
.t-early {
font-size: 0.7rem;
font-weight: 600;
background: rgba(249, 115, 22, 0.15);
color: #f97316;
padding: 0.15rem 0.5rem;
border-radius: 0.25rem;
vertical-align: middle;
}
.t-features {
list-style: none;
display: flex;
flex-direction: column;
gap: 0.5rem;
font-size: 0.85rem;
color: #64748b;
flex: 1;
}
.btn-primary-ticket,
.btn-outline-ticket {
display: block;
text-align: center;
padding: 0.75rem;
border-radius: 0.625rem;
font-weight: 700;
font-size: 0.875rem;
text-decoration: none;
transition: opacity 0.15s;
}
.btn-primary-ticket {
background: #f97316;
color: #fff;
}
.btn-outline-ticket {
border: 1px solid rgba(255, 255, 255, 0.1);
color: #94a3b8;
}
.btn-outline-ticket:hover {
background: rgba(255, 255, 255, 0.05);
}
/* FOOTER */
.footer {
background: #040810;
padding: 1.5rem 2.5rem;
}
.footer-inner {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 0.8rem;
color: #334155;
}
.footer-inner a {
color: #475569;
text-decoration: none;
}(function () {
"use strict";
// ── Countdown to Summit June 12 2026 ─────────────────────────────
const TARGET = new Date("2026-06-12T09:00:00-07:00");
function pad(n) {
return String(n).padStart(2, "0");
}
function updateCountdown() {
const diff = Math.max(0, TARGET - Date.now());
document.getElementById("cd-days").textContent = pad(Math.floor(diff / 86400000));
document.getElementById("cd-hours").textContent = pad(Math.floor((diff % 86400000) / 3600000));
document.getElementById("cd-mins").textContent = pad(Math.floor((diff % 3600000) / 60000));
document.getElementById("cd-secs").textContent = pad(Math.floor((diff % 60000) / 1000));
}
updateCountdown();
setInterval(updateCountdown, 1000);
// ── Schedule day-tabs ─────────────────────────────────────────────
const schedules = {
1: [
{
time: "09:00",
title: "Keynote: The Next Wave of Human-Computer Interaction",
sub: "Ava Kim · Figma",
},
{
time: "10:30",
title: "Workshop: Motion Design Systems at Scale",
sub: "James Osei · Netflix",
},
{ time: "12:00", title: "Lunch & Networking", sub: "Main Hall" },
{
time: "13:30",
title: "Panel: The Future of Design Tools",
sub: "Marcus Reid · Lena Novak · Sofia Reyes",
},
{ time: "15:00", title: "Talk: AI-Augmented Creativity", sub: "Tom Walsh · Vercel" },
{ time: "17:00", title: "Evening Reception — Rooftop", sub: "Sponsored by Figma" },
],
2: [
{
time: "09:30",
title: "Opening: Building Products People Love",
sub: "Lena Novak · Linear",
},
{
time: "11:00",
title: "Deep Dive: Design Tokens at Enterprise Scale",
sub: "Sofia Reyes · Stripe",
},
{ time: "12:30", title: "Lunch & Portfolio Roundtables", sub: "Main Hall" },
{ time: "14:00", title: "Workshop: Rapid Prototyping with AI", sub: "Marcus Reid · Apple" },
{ time: "16:00", title: "Fireside: Shipping Culture at Vercel", sub: "Tom Walsh · Vercel" },
{ time: "19:00", title: "VIP Dinner — The Terrace", sub: "Invite only" },
],
3: [
{ time: "10:00", title: "Closing Keynote: What's Next", sub: "Ava Kim · Figma" },
{
time: "11:30",
title: "Lightning Talks: 10 Ideas in 10 Minutes",
sub: "Community speakers",
},
{ time: "13:00", title: "Lunch", sub: "Main Hall" },
{ time: "14:00", title: "Open Workshops & Demos", sub: "Sponsor booths" },
{ time: "16:00", title: "Closing Party & Awards", sub: "Rooftop Terrace" },
],
};
function renderSchedule(day) {
const list = document.getElementById("schedule-list");
if (!list) return;
list.innerHTML = schedules[day]
.map(
({ time, title, sub }) =>
`<div class="schedule-item"><span class="sched-time">${time}</span><div class="sched-content"><h4>${title}</h4><p>${sub}</p></div></div>`
)
.join("");
}
document.querySelectorAll(".day-tab").forEach((btn) => {
btn.addEventListener("click", () => {
document.querySelectorAll(".day-tab").forEach((b) => b.classList.remove("active"));
btn.classList.add("active");
renderSchedule(Number(btn.dataset.day));
});
});
})();<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Summit 2026 — The Future of Design</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;900&display=swap" rel="stylesheet">
<link rel="stylesheet" href="style.css">
<script type="importmap">{"imports":{"gsap":"https://esm.sh/gsap@3.13.0","gsap/ScrollTrigger":"https://esm.sh/gsap@3.13.0/ScrollTrigger","lenis":"https://esm.sh/lenis@1.1.13/dist/lenis.mjs"}}</script>
</head>
<body>
<!-- NAV -->
<nav class="nav">
<span class="nav-logo">SUMMIT <span class="nav-year">'26</span></span>
<ul class="nav-links">
<li><a href="#speakers">Speakers</a></li>
<li><a href="#schedule">Schedule</a></li>
<li><a href="#sponsors">Sponsors</a></li>
</ul>
<a href="#tickets" class="btn-tickets">Get Tickets →</a>
</nav>
<!-- HERO -->
<section class="hero" id="hero">
<div class="hero-bg" aria-hidden="true"></div>
<div class="hero-content">
<div class="event-meta">
<span class="event-date">June 12–14, 2026</span>
<span class="meta-sep">·</span>
<span class="event-location">San Francisco, CA</span>
</div>
<h1 class="hero-title">The Future<br>of <em>Design.</em></h1>
<p class="hero-sub">3 days · 60 speakers · 2,000 attendees · The creative conference that sets the agenda for the year ahead.</p>
<!-- Live countdown -->
<div class="countdown" id="countdown" aria-label="Time until Summit 2026">
<div class="cd-unit"><span class="cd-num" id="cd-days">--</span><span class="cd-label">Days</span></div>
<span class="cd-sep" aria-hidden="true">:</span>
<div class="cd-unit"><span class="cd-num" id="cd-hours">--</span><span class="cd-label">Hours</span></div>
<span class="cd-sep" aria-hidden="true">:</span>
<div class="cd-unit"><span class="cd-num" id="cd-mins">--</span><span class="cd-label">Mins</span></div>
<span class="cd-sep" aria-hidden="true">:</span>
<div class="cd-unit"><span class="cd-num" id="cd-secs">--</span><span class="cd-label">Secs</span></div>
</div>
<a href="#tickets" class="btn-primary">Get Early Bird Tickets — $299</a>
</div>
</section>
<!-- SPEAKERS -->
<section class="section" id="speakers">
<div class="container">
<p class="section-eyebrow">World-class lineup</p>
<h2 class="section-title">60 speakers.<br>Zero filler.</h2>
<div class="speakers-grid">
<div class="speaker-card"><div class="sp-photo sp-photo--1">AK</div><h3>Ava Kim</h3><p>VP Design · Figma</p></div>
<div class="speaker-card"><div class="sp-photo sp-photo--2">MR</div><h3>Marcus Reid</h3><p>Creative Director · Apple</p></div>
<div class="speaker-card"><div class="sp-photo sp-photo--3">LN</div><h3>Lena Novak</h3><p>Founder · Linear</p></div>
<div class="speaker-card"><div class="sp-photo sp-photo--4">JO</div><h3>James Osei</h3><p>Motion Lead · Netflix</p></div>
<div class="speaker-card"><div class="sp-photo sp-photo--5">SR</div><h3>Sofia Reyes</h3><p>Head of UX · Stripe</p></div>
<div class="speaker-card"><div class="sp-photo sp-photo--6">TW</div><h3>Tom Walsh</h3><p>CTO · Vercel</p></div>
</div>
<p class="speakers-more">+ 54 more speakers to be announced</p>
</div>
</section>
<!-- SCHEDULE -->
<section class="section section--dark" id="schedule">
<div class="container">
<h2 class="section-title section-title--light">Schedule</h2>
<div class="day-tabs" role="tablist">
<button class="day-tab active" data-day="1" role="tab">Day 1 — Jun 12</button>
<button class="day-tab" data-day="2" role="tab">Day 2 — Jun 13</button>
<button class="day-tab" data-day="3" role="tab">Day 3 — Jun 14</button>
</div>
<div class="schedule-list" id="schedule-list">
<div class="schedule-item"><span class="sched-time">09:00</span><div class="sched-content"><h4>Keynote: The Next Wave of Human-Computer Interaction</h4><p>Ava Kim · Figma</p></div></div>
<div class="schedule-item"><span class="sched-time">10:30</span><div class="sched-content"><h4>Workshop: Motion Design Systems at Scale</h4><p>James Osei · Netflix</p></div></div>
<div class="schedule-item"><span class="sched-time">12:00</span><div class="sched-content"><h4>Lunch & Networking</h4><p>Main Hall</p></div></div>
<div class="schedule-item"><span class="sched-time">13:30</span><div class="sched-content"><h4>Panel: The Future of Design Tools</h4><p>Marcus Reid · Lena Novak · Sofia Reyes</p></div></div>
<div class="schedule-item"><span class="sched-time">15:00</span><div class="sched-content"><h4>Talk: AI-Augmented Creativity</h4><p>Tom Walsh · Vercel</p></div></div>
<div class="schedule-item"><span class="sched-time">17:00</span><div class="sched-content"><h4>Evening Reception — Rooftop</h4><p>Sponsored by Figma</p></div></div>
</div>
</div>
</section>
<!-- SPONSORS -->
<section class="section" id="sponsors">
<div class="container">
<h2 class="section-title sponsors-title">Sponsors</h2>
<p class="sponsors-tier-label">Gold</p>
<div class="marquee"><div class="marquee-track"><span class="sp-logo">Figma</span><span class="sp-logo">Vercel</span><span class="sp-logo">Stripe</span><span class="sp-logo">Linear</span><span class="sp-logo">Figma</span><span class="sp-logo">Vercel</span><span class="sp-logo">Stripe</span><span class="sp-logo">Linear</span></div></div>
<p class="sponsors-tier-label">Silver</p>
<div class="marquee marquee--reverse"><div class="marquee-track"><span class="sp-logo sp-logo--sm">Notion</span><span class="sp-logo sp-logo--sm">Tailwind</span><span class="sp-logo sp-logo--sm">Supabase</span><span class="sp-logo sp-logo--sm">Railway</span><span class="sp-logo sp-logo--sm">Clerk</span><span class="sp-logo sp-logo--sm">Notion</span><span class="sp-logo sp-logo--sm">Tailwind</span><span class="sp-logo sp-logo--sm">Supabase</span><span class="sp-logo sp-logo--sm">Railway</span><span class="sp-logo sp-logo--sm">Clerk</span></div></div>
</div>
</section>
<!-- TICKETS -->
<section class="section section--dark" id="tickets">
<div class="container">
<h2 class="section-title section-title--light">Get Your Ticket</h2>
<div class="tickets-grid">
<div class="ticket-card"><h3>Community</h3><p class="t-price">Free</p><ul class="t-features"><li>Livestream access</li><li>Digital swag bag</li><li>Discord community</li></ul><a href="#" class="btn-outline-ticket">Register Free</a></div>
<div class="ticket-card ticket-card--featured"><div class="t-badge">Most popular</div><h3>In-Person</h3><p class="t-price">$299 <span class="t-early">Early bird</span></p><ul class="t-features"><li>All 3 days · all talks</li><li>Workshops access</li><li>Evening receptions</li><li>Speaker meet & greet</li></ul><a href="#" class="btn-primary-ticket">Get Ticket →</a></div>
<div class="ticket-card"><h3>VIP</h3><p class="t-price">$799</p><ul class="t-features"><li>Everything in In-Person</li><li>VIP dinner · Day 2</li><li>Private speaker Q&As</li><li>Priority front seating</li></ul><a href="#" class="btn-outline-ticket">Get VIP →</a></div>
</div>
</div>
</section>
<footer class="footer">
<div class="container footer-inner">
<span>SUMMIT '26</span>
<p>Questions? <a href="mailto:hello@summit26.design">hello@summit26.design</a></p>
</div>
</footer>
<script type="module" src="script.js"></script>
</body>
</html>Event / Conference Landing
A complete conference landing page with all the sections a real event needs: countdown, speakers, schedule, sponsors, and ticket purchase CTA.
Sections
- Hero — Event name, date/location, live countdown timer
- Speakers — Card grid with photo, name, title, company
- Schedule — Day-by-day timeline with talk titles and times
- Sponsors — Three-tier logo marquee (Gold / Silver / Community)
- Tickets — Pricing table with tier comparison
- Footer — Newsletter signup + social links
Key interactions
- Countdown timer — real-time
setIntervalupdating days/hours/minutes/seconds - Speaker cards — hover reveals LinkedIn + talk topic
- Schedule tabs — animated day switcher
- Sponsor marquee — CSS infinite scroll, pauses on hover
- Lenis smooth scroll throughout