{
 "slug": "twirl",
 "name": "Twirl",
 "title": "Free dance studio website template",
 "description": "Free HTML dance studio website template for adult beginner classes, with a timetable and passes. AGENTS.md for Claude Code, or no code with 8B.",
 "kind": "One-page website for a dance studio or class-based school with a timetable, teachers, passes and a free first class",
 "summary": "A one-page site for a Leeds dance studio that teaches adult beginners six styles. It runs from a ring of student portraits through the styles, a step-by-step first class, a weekly timetable, five teachers, a June showcase, student quotes, four passes, questions and a booking form. Dark and white sections with red, yellow and pale blue accents, hand-drawn loops and bold grotesque type.",
 "fits": [
  "dance studio or dance school for adults",
  "fitness, yoga or Pilates studio with a weekly timetable",
  "music, art or language school with classes and passes",
  "any local class business with styles, teachers, a free trial and a pass menu"
 ],
 "categories": [
  "Sport and fitness",
  "Education"
 ],
 "tags": [
  "dance studio",
  "dance classes",
  "dance school",
  "adult beginners",
  "timetable",
  "teachers",
  "class passes",
  "free trial",
  "fitness studio",
  "bold",
  "gsap",
  "scrolltrigger",
  "motionpath",
  "lenis",
  "single-file"
 ],
 "language": "en",
 "size_kb": 105,
 "photos": 26,
 "fonts": [
  "Host Grotesk"
 ],
 "libraries": [
  "https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/gsap.min.js",
  "https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/ScrollTrigger.min.js",
  "https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/MotionPathPlugin.min.js",
  "https://cdn.jsdelivr.net/npm/lenis@1.3.27/dist/lenis.min.js"
 ],
 "browsers": "Chrome and Edge 108+, Safari 15.4+, Firefox 101+ (it uses cascade layers, small/dynamic viewport units).",
 "sections": [
  {
   "key": "navigation",
   "id": "navigation",
   "heading": "",
   "about": "fixed top bar: wordmark, four section links, Timetable link, Free first class button, menu button; full-screen menu overlay"
  },
  {
   "key": "opening",
   "id": "opening",
   "heading": "Come alone. Leave with a crew.",
   "about": "first screen: the heading \"Come alone. Leave with a crew.\", two paragraphs, two buttons and a ring of eight student portraits with a note"
  },
  {
   "key": "styles",
   "id": "styles",
   "heading": "Six styles, one floor",
   "about": "six dance styles as a list beside a line-up of six photos; each photo steps forward as its name crosses the middle of the screen"
  },
  {
   "key": "first-class",
   "id": "first-class",
   "heading": "Your first class, step by step",
   "about": "a first class in four steps along a hand-drawn path with a red dot walking it, and a class photo"
  },
  {
   "key": "timetable",
   "id": "timetable",
   "heading": "This week on the floor",
   "about": "the week as seven day columns, each with one or two classes (time, style, level, teacher), and a closing line"
  },
  {
   "key": "teachers",
   "id": "teachers",
   "heading": "The people who count you in",
   "about": "five teachers as photo cards on coloured blocks, each with a name, a style and a short story"
  },
  {
   "key": "showcase",
   "id": "showcase",
   "heading": "On stage in June",
   "about": "the twice-a-year show: a sideways row of six stage photos and a card with date, place and tickets"
  },
  {
   "key": "voices",
   "id": "voices",
   "heading": "Heard after class",
   "about": "three student quotes with a name and how long they have danced"
  },
  {
   "key": "pricing",
   "id": "pricing",
   "heading": "Pick a pass",
   "about": "four passes as cards: First class (free), Drop-in, Ten classes, Unlimited"
  },
  {
   "key": "faq",
   "id": "faq",
   "heading": "Asked before the first class",
   "about": "six questions and answers in native <details> elements beside a heading with a hand-drawn loop"
  },
  {
   "key": "contact",
   "id": "contact",
   "heading": "See you on the floor",
   "about": "booking: heading, studio address, hours, phone and email beside a form for the free first class"
  },
  {
   "key": "footer",
   "id": "footer",
   "heading": "Studio",
   "about": "footer: four columns (Studio, Open, Explore, Say hello), a huge wordmark and the copyright line with the Design: 8B credit"
  }
 ],
 "placeholders": [
  "og-image",
  "favicon",
  "phone",
  "email",
  "form"
 ],
 "lighthouse": null,
 "license": {
  "code": "MIT",
  "photos": "Unsplash License",
  "fonts": "SIL Open Font License 1.1"
 },
 "get": {
  "degit": "npx degit 8bsite/dance-studio-website-template my-site",
  "curl": [
   "curl -LO https://raw.githubusercontent.com/8bsite/dance-studio-website-template/main/index.html",
   "curl -LO https://raw.githubusercontent.com/8bsite/dance-studio-website-template/main/AGENTS.md",
   "curl -LO https://raw.githubusercontent.com/8bsite/dance-studio-website-template/main/LICENSE",
   "curl -LO https://raw.githubusercontent.com/8bsite/dance-studio-website-template/main/CREDITS.md"
  ],
  "agent_prompt": "Read AGENTS.md, then edit index.html. Make this the site for <my studio: name, city, styles with beginner and improver times, the weekly timetable with teachers, teacher bios, passes and prices, trial offer, show date if any, address, hours, phone, email, how to book>. Replace the six styles, the timetable cards, the five teachers, the four passes and the contact details first. Keep the ids, the data-8b-section, data-8b-motion and data-8b-part attributes and the class names AGENTS.md lists. Ask me for any missing fact; never invent prices, times, bios or contacts."
 },
 "links": {
  "page": "https://8b.com/templates/twirl/",
  "md": "https://8b.com/templates/twirl.md",
  "json": "https://8b.com/templates/twirl.json",
  "demo": "https://8b.com/templates/twirl/demo.html",
  "ghDemo": "https://8bsite.github.io/dance-studio-website-template/",
  "repo": "https://github.com/8bsite/dance-studio-website-template",
  "zip": "https://8b.com/templates/twirl/dance-studio-website-template.zip",
  "use": "https://github.com/new?template_name=dance-studio-website-template&template_owner=8bsite",
  "agents": "https://github.com/8bsite/dance-studio-website-template/blob/main/AGENTS.md",
  "credits": "https://github.com/8bsite/dance-studio-website-template/blob/main/CREDITS.md",
  "raw": {
   "index": "https://raw.githubusercontent.com/8bsite/dance-studio-website-template/main/index.html",
   "agents": "https://raw.githubusercontent.com/8bsite/dance-studio-website-template/main/AGENTS.md",
   "license": "https://raw.githubusercontent.com/8bsite/dance-studio-website-template/main/LICENSE",
   "credits": "https://raw.githubusercontent.com/8bsite/dance-studio-website-template/main/CREDITS.md"
  },
  "preview": "https://8b.com/templates/twirl/desktop.webp",
  "phone": "https://8b.com/templates/twirl/phone.webp",
  "clip": "https://8b.com/templates/twirl/scroll.mp4",
  "og": "https://8b.com/templates/twirl/og.jpg",
  "design_md": "https://8b.com/templates/twirl/DESIGN.md"
 },
 "github": {
  "repo": "8bsite/dance-studio-website-template",
  "template_repository": true,
  "topics": [
   "html-template",
   "landing-page",
   "website-template",
   "website-templates",
   "dance-studio",
   "dance-school",
   "dance-classes",
   "class-timetable",
   "fitness-studio",
   "html5",
   "agents-md",
   "gsap",
   "scrolltrigger",
   "scroll-animation",
   "lenis",
   "single-file",
   "cursor-ai",
   "static-site",
   "mit-license",
   "vibe-coding"
  ]
 },
 "made_by": {
  "name": "8B",
  "url": "https://8b.com/"
 }
}
