A fast, responsive, and accessible landing page for the ACUCyS Christmas CTF 2025 event. Built with vanilla HTML, CSS, and JavaScript for optimal performance and accessibility. 90% a rushed AI build.
- Fast & Responsive: Lighthouse 95+ scores on Performance, Accessibility, Best Practices, and SEO
- Accessible: WCAG AA compliant with keyboard navigation and screen reader support
- Theme Support: Light and dark themes with system preference detection
- Content Management: JSON-based content configuration for easy updates
- Interactive Elements: Countdown timer, teaser challenge, and form validation
ACUCyS-Website/
├── index.html # Main landing page
├── assets/
│ ├── css/
│ │ └── styles.css # Main stylesheet with theme support
│ ├── js/
│ │ ├── main.js # Core application logic
│ │ ├── countdown.js # Countdown timer functionality
│ │ ├── forms.js # Form handling and validation
│ │ ├── teaser.js # Teaser challenge interaction
│ │ ├── analytics.js # Privacy-friendly analytics
│ │ └── theme.js # Theme management
│ ├── content.json # Content configuration
│ ├── logo.svg # ACUCyS logo
│ ├── hero-bg.jpg # Hero background image
│ ├── og-image.jpg # Open Graph image
│ └── favicon files # Various favicon sizes
└── README.md # This file
Edit assets/content.json to update:
- Event dates and times
- Registration and Discord URLs
- Club and sponsor information
- FAQ content
- Meta information
Update assets/content.json to modify:
{
"eventName": "ACUCyS Christmas CTF 2025",
"start": "2025-12-14T12:00:00+11:00",
"end": "2025-12-15T12:00:00+11:00",
"registerUrl": "https://forms.gle/your-form",
"discordUrl": "https://discord.gg/your-invite",
"clubs": [...],
"sponsors": [...],
"faqs": [...]
}- All scripts are deferred for optimal loading
- No external dependencies
- Minimal bundle size (~15KB total)
- Single stylesheet with theme support
- CSS custom properties for easy customisation
- Mobile-first responsive design
- Semantic HTML5 landmarks and structure
- Keyboard navigation support throughout
- Screen reader compatibility
- High contrast mode support
- Reduced motion preference respect
- Focus indicators for all interactive elements
- Modern browsers: Chrome 90+, Firefox 88+, Safari 14+, Edge 90+
- Mobile: iOS Safari 14+, Chrome Mobile 90+
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
For technical support or questions:
- Email: TBD
- Discord: ACUCyS Discord
Built with ❤️ by the ACUCyS team