Spaces:
Running
Of course. Here is a comprehensive prompt curated to generate the entire frontend of your website as a single HTML file, using only HTML, CSS, and JavaScript, just as you asked. This prompt includes the detailed "Aurora Beam Navbar" and placeholder sections for the rest of your homepage.
Browse filesThe Prompt
You are an expert frontend developer. Your task is to generate a complete, single-page HTML file for a portfolio website. The file must be self-contained, using only plain HTML, CSS, and JavaScript.
Technical Requirements:
Structure: A single index.html file.
Styling: Use the Tailwind CSS CDN for utility classes. All custom CSS must be embedded within a <style> tag in the <head>.
JavaScript: All JavaScript must be embedded within a <script> tag at the end of the <body>. Use the GSAP CDN for all animations to ensure they are smooth and high-performance.
Part 1: Overall Design & Global Elements
Theme: The overall theme is "Aurora Beam." The aesthetic should be dark, futuristic, and professional.
Background: The body should have a deep navy to midnight gradient (#0b0e18 to #101828).
Particle Effect: Implement a full-screen, subtle particle animation using an HTML <canvas> element and JavaScript. These particles should drift slowly in the background to create a sense of depth.
Part 2: The "Aurora Beam" Navigation Bar
This is the main feature. It must be created with the following specifications:
Layout:
Logo: The logo image (path: images/logo.png) is on the left. It should have a subtle glowing effect.
Center Links: The navigation links ("Home", "Projects", "Blog", "Store", "About") must be arranged along a gentle arc in the center, as if on a digital horizon.
Contact Button: A "Contact" button on the right with a neon, glowing, and gently pulsing effect.
Visual Style:
"Beam" Effect: A translucent, glass-like horizontal beam must run behind the navigation links.
Hover Effects: When a navigation link is hovered, it should emit a small, circular ripple effect (like a sonar wave). The contact button should expand slightly and glow brighter on hover.
Interaction:
The entire navbar must fade in smoothly on page load using GSAP.
It should have a subtle parallax effect on scroll, moving at a slightly different speed than the page content.
Responsiveness: On mobile, the center links and contact button must be hidden. A hamburger menu icon should appear on the right to toggle a full-screen, animated mobile navigation menu.
Part 3: Homepage Content Sections
Below the navbar, include these static placeholder sections:
Hero Section: A full-screen section with the main headline "Transcending Digital. Crafting Dimensions." and a sub-headline. Include placeholder buttons for "View Projects" and "Get in Touch." All text elements should animate into view on page load.
Featured Projects Section: A grid layout with at least three placeholder project cards. Each card should have an image container, a title, and a short description.
Footer: A simple footer at the bottom of the page with placeholder text for copyright and social media links.
- README.md +7 -4
- index.html +434 -18
|
@@ -1,10 +1,13 @@
|
|
| 1 |
---
|
| 2 |
-
title: Aurora Dimension Forge
|
| 3 |
-
emoji: 👀
|
| 4 |
colorFrom: green
|
| 5 |
-
colorTo:
|
|
|
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: Aurora Dimension Forge ✨
|
|
|
|
| 3 |
colorFrom: green
|
| 4 |
+
colorTo: green
|
| 5 |
+
emoji: 🐳
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
+
tags:
|
| 9 |
+
- deepsite-v3
|
| 10 |
---
|
| 11 |
|
| 12 |
+
# Welcome to your new DeepSite project!
|
| 13 |
+
This project was created with [DeepSite](https://deepsite.hf.co).
|
|
@@ -1,19 +1,435 @@
|
|
| 1 |
-
<!
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
</html>
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Aurora Dimension Forge</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
|
| 9 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 10 |
+
<style>
|
| 11 |
+
@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Exo+2:wght@300;400;600&display=swap');
|
| 12 |
+
|
| 13 |
+
* {
|
| 14 |
+
margin: 0;
|
| 15 |
+
padding: 0;
|
| 16 |
+
box-sizing: border-box;
|
| 17 |
+
}
|
| 18 |
+
|
| 19 |
+
body {
|
| 20 |
+
font-family: 'Exo 2', sans-serif;
|
| 21 |
+
background: linear-gradient(135deg, #0b0e18 0%, #101828 100%);
|
| 22 |
+
color: #e2e8f0;
|
| 23 |
+
overflow-x: hidden;
|
| 24 |
+
min-height: 100vh;
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
+
.orbitron {
|
| 28 |
+
font-family: 'Orbitron', sans-serif;
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
#particles-canvas {
|
| 32 |
+
position: fixed;
|
| 33 |
+
top: 0;
|
| 34 |
+
left: 0;
|
| 35 |
+
width: 100%;
|
| 36 |
+
height: 100%;
|
| 37 |
+
z-index: -1;
|
| 38 |
+
}
|
| 39 |
+
|
| 40 |
+
.aurora-beam {
|
| 41 |
+
background: rgba(16, 24, 40, 0.7);
|
| 42 |
+
backdrop-filter: blur(20px);
|
| 43 |
+
border: 1px solid rgba(56, 189, 248, 0.2);
|
| 44 |
+
box-shadow: 0 0 60px rgba(56, 189, 248, 0.1);
|
| 45 |
+
}
|
| 46 |
+
|
| 47 |
+
.nav-link {
|
| 48 |
+
position: relative;
|
| 49 |
+
transition: all 0.3s ease;
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
.nav-link::after {
|
| 53 |
+
content: '';
|
| 54 |
+
position: absolute;
|
| 55 |
+
bottom: -5px;
|
| 56 |
+
left: 50%;
|
| 57 |
+
width: 0;
|
| 58 |
+
height: 2px;
|
| 59 |
+
background: linear-gradient(90deg, transparent, #38bdf8, transparent);
|
| 60 |
+
transition: all 0.3s ease;
|
| 61 |
+
transform: translateX(-50%);
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
.nav-link:hover::after {
|
| 65 |
+
width: 100%;
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
.ripple {
|
| 69 |
+
position: absolute;
|
| 70 |
+
border-radius: 50%;
|
| 71 |
+
background: rgba(56, 189, 248, 0.3);
|
| 72 |
+
transform: scale(0);
|
| 73 |
+
animation: ripple 0.6s linear;
|
| 74 |
+
pointer-events: none;
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
@keyframes ripple {
|
| 78 |
+
to {
|
| 79 |
+
transform: scale(4);
|
| 80 |
+
opacity: 0;
|
| 81 |
+
}
|
| 82 |
+
}
|
| 83 |
+
|
| 84 |
+
.contact-btn {
|
| 85 |
+
background: linear-gradient(135deg, #0ea5e9 0%, #38bdf8 100%);
|
| 86 |
+
box-shadow: 0 0 30px rgba(56, 189, 248, 0.4);
|
| 87 |
+
animation: pulse-glow 2s infinite;
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
@keyframes pulse-glow {
|
| 91 |
+
0%, 100% { box-shadow: 0 0 30px rgba(56, 189, 248, 0.4); }
|
| 92 |
+
50% { box-shadow: 0 0 50px rgba(56, 189, 248, 0.8); }
|
| 93 |
+
}
|
| 94 |
+
|
| 95 |
+
.project-card {
|
| 96 |
+
background: rgba(16, 24, 40, 0.6);
|
| 97 |
+
border: 1px solid rgba(56, 189, 248, 0.1);
|
| 98 |
+
transition: all 0.3s ease;
|
| 99 |
+
}
|
| 100 |
+
|
| 101 |
+
.project-card:hover {
|
| 102 |
+
transform: translateY(-10px);
|
| 103 |
+
border-color: rgba(56, 189, 248, 0.3);
|
| 104 |
+
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
|
| 105 |
+
}
|
| 106 |
+
|
| 107 |
+
.mobile-menu {
|
| 108 |
+
background: rgba(11, 14, 24, 0.95);
|
| 109 |
+
backdrop-filter: blur(20px);
|
| 110 |
+
}
|
| 111 |
+
|
| 112 |
+
.hero-gradient {
|
| 113 |
+
background: radial-gradient(circle at center, rgba(56, 189, 248, 0.1) 0%, transparent 70%);
|
| 114 |
+
}
|
| 115 |
+
</style>
|
| 116 |
+
</head>
|
| 117 |
+
<body>
|
| 118 |
+
<!-- Particles Background -->
|
| 119 |
+
<canvas id="particles-canvas"></canvas>
|
| 120 |
+
|
| 121 |
+
<!-- Aurora Beam Navigation -->
|
| 122 |
+
<nav class="aurora-beam fixed top-0 left-0 w-full z-50 py-4 px-6 lg:px-12">
|
| 123 |
+
<div class="max-w-7xl mx-auto flex items-center justify-between">
|
| 124 |
+
<!-- Logo -->
|
| 125 |
+
<div class="flex items-center">
|
| 126 |
+
<div class="w-10 h-10 bg-gradient-to-br from-cyan-400 to-blue-500 rounded-lg flex items-center justify-center shadow-lg">
|
| 127 |
+
<span class="orbitron text-white font-bold text-lg">ADF</span>
|
| 128 |
+
</div>
|
| 129 |
+
</div>
|
| 130 |
+
|
| 131 |
+
<!-- Center Navigation Links (Arc Layout) -->
|
| 132 |
+
<div class="hidden lg:flex relative">
|
| 133 |
+
<div class="absolute -top-4 left-0 w-full h-1 bg-gradient-to-r from-transparent via-cyan-400/30 to-transparent rounded-full"></div>
|
| 134 |
+
<div class="flex space-x-8 relative">
|
| 135 |
+
<a href="#" class="nav-link text-cyan-100 hover:text-white font-medium transition-all duration-300">Home</a>
|
| 136 |
+
<a href="#" class="nav-link text-cyan-100 hover:text-white font-medium transition-all duration-300">Projects</a>
|
| 137 |
+
<a href="#" class="nav-link text-cyan-100 hover:text-white font-medium transition-all duration-300">Blog</a>
|
| 138 |
+
<a href="#" class="nav-link text-cyan-100 hover:text-white font-medium transition-all duration-300">Store</a>
|
| 139 |
+
<a href="#" class="nav-link text-cyan-100 hover:text-white font-medium transition-all duration-300">About</a>
|
| 140 |
+
</div>
|
| 141 |
+
</div>
|
| 142 |
+
|
| 143 |
+
<!-- Contact Button -->
|
| 144 |
+
<div class="hidden lg:block">
|
| 145 |
+
<button class="contact-btn text-white font-semibold py-2 px-6 rounded-full transition-all duration-300 hover:scale-105">
|
| 146 |
+
Contact
|
| 147 |
+
</button>
|
| 148 |
+
</div>
|
| 149 |
+
|
| 150 |
+
<!-- Mobile Menu Button -->
|
| 151 |
+
<button id="mobile-menu-btn" class="lg:hidden text-cyan-300 hover:text-white transition-colors">
|
| 152 |
+
<i data-feather="menu"></i>
|
| 153 |
+
</button>
|
| 154 |
+
</div>
|
| 155 |
+
</nav>
|
| 156 |
+
|
| 157 |
+
<!-- Mobile Menu -->
|
| 158 |
+
<div id="mobile-menu" class="mobile-menu fixed inset-0 z-40 hidden lg:hidden">
|
| 159 |
+
<div class="flex flex-col items-center justify-center h-full space-y-8">
|
| 160 |
+
<a href="#" class="text-2xl text-cyan-100 hover:text-white font-medium transition-colors">Home</a>
|
| 161 |
+
<a href="#" class="text-2xl text-cyan-100 hover:text-white font-medium transition-colors">Projects</a>
|
| 162 |
+
<a href="#" class="text-2xl text-cyan-100 hover:text-white font-medium transition-colors">Blog</a>
|
| 163 |
+
<a href="#" class="text-2xl text-cyan-100 hover:text-white font-medium transition-colors">Store</a>
|
| 164 |
+
<a href="#" class="text-2xl text-cyan-100 hover:text-white font-medium transition-colors">About</a>
|
| 165 |
+
<button class="contact-btn text-white font-semibold py-3 px-8 rounded-full text-lg mt-4">
|
| 166 |
+
Contact
|
| 167 |
+
</button>
|
| 168 |
+
<button id="close-mobile-menu" class="absolute top-6 right-6 text-cyan-300 hover:text-white">
|
| 169 |
+
<i data-feather="x"></i>
|
| 170 |
+
</button>
|
| 171 |
+
</div>
|
| 172 |
+
</div>
|
| 173 |
+
|
| 174 |
+
<!-- Hero Section -->
|
| 175 |
+
<section class="min-h-screen flex items-center justify-center relative px-6 pt-20">
|
| 176 |
+
<div class="hero-gradient absolute inset-0 pointer-events-none"></div>
|
| 177 |
+
<div class="max-w-4xl mx-auto text-center z-10">
|
| 178 |
+
<h1 class="orbitron text-4xl md:text-6xl lg:text-7xl font-bold mb-6 bg-gradient-to-r from-cyan-300 via-blue-400 to-purple-400 bg-clip-text text-transparent">
|
| 179 |
+
Transcending Digital.<br>Crafting Dimensions.
|
| 180 |
+
</h1>
|
| 181 |
+
<p class="text-xl md:text-2xl text-cyan-100 mb-12 max-w-2xl mx-auto leading-relaxed">
|
| 182 |
+
Where innovation meets imagination. We build digital experiences that transcend boundaries and create new realities.
|
| 183 |
+
</p>
|
| 184 |
+
<div class="flex flex-col sm:flex-row gap-4 justify-center">
|
| 185 |
+
<button class="bg-gradient-to-r from-cyan-500 to-blue-500 text-white font-semibold py-3 px-8 rounded-full hover:scale-105 transition-transform duration-300 shadow-lg">
|
| 186 |
+
View Projects
|
| 187 |
+
</button>
|
| 188 |
+
<button class="border border-cyan-400 text-cyan-300 font-semibold py-3 px-8 rounded-full hover:bg-cyan-400/10 transition-all duration-300">
|
| 189 |
+
Get in Touch
|
| 190 |
+
</button>
|
| 191 |
+
</div>
|
| 192 |
+
</div>
|
| 193 |
+
</section>
|
| 194 |
+
|
| 195 |
+
<!-- Featured Projects Section -->
|
| 196 |
+
<section class="py-20 px-6">
|
| 197 |
+
<div class="max-w-7xl mx-auto">
|
| 198 |
+
<h2 class="orbitron text-3xl md:text-4xl font-bold text-center mb-16 bg-gradient-to-r from-cyan-300 to-blue-400 bg-clip-text text-transparent">
|
| 199 |
+
Featured Dimensions
|
| 200 |
+
</h2>
|
| 201 |
+
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8">
|
| 202 |
+
<!-- Project Card 1 -->
|
| 203 |
+
<div class="project-card rounded-2xl p-6">
|
| 204 |
+
<div class="h-48 bg-gradient-to-br from-cyan-500/20 to-blue-600/20 rounded-xl mb-4 flex items-center justify-center">
|
| 205 |
+
</div>
|
| 206 |
+
<h3 class="orbitron text-xl font-bold text-cyan-200 mb-2">Quantum Interface</h3>
|
| 207 |
+
<p class="text-cyan-100/80">Next-gen user experience platform with neural integration capabilities.</p>
|
| 208 |
+
</div>
|
| 209 |
+
|
| 210 |
+
<!-- Project Card 2 -->
|
| 211 |
+
<div class="project-card rounded-2xl p-6">
|
| 212 |
+
<div class="h-48 bg-gradient-to-br from-purple-500/20 to-pink-600/20 rounded-xl mb-4 flex items-center justify-center">
|
| 213 |
+
</div>
|
| 214 |
+
<h3 class="orbitron text-xl font-bold text-cyan-200 mb-2">Aether Network</h3>
|
| 215 |
+
<p class="text-cyan-100/80">Decentralized communication protocol for seamless cross-dimensional data transfer.</p>
|
| 216 |
+
</div>
|
| 217 |
+
|
| 218 |
+
<!-- Project Card 3 -->
|
| 219 |
+
<div class="project-card rounded-2xl p-6">
|
| 220 |
+
<div class="h-48 bg-gradient-to-br from-blue-500/20 to-cyan-600/20 rounded-xl mb-4 flex items-center justify-center">
|
| 221 |
+
</div>
|
| 222 |
+
<h3 class="orbitron text-xl font-bold text-cyan-200 mb-2">Nova Engine</h3>
|
| 223 |
+
<p class="text-cyan-100/80">Real-time rendering system that creates photorealistic virtual environments.</p>
|
| 224 |
+
</div>
|
| 225 |
+
</div>
|
| 226 |
+
</div>
|
| 227 |
+
</section>
|
| 228 |
+
|
| 229 |
+
<!-- Footer -->
|
| 230 |
+
<footer class="border-t border-cyan-800/30 py-12 px-6">
|
| 231 |
+
<div class="max-w-7xl mx-auto">
|
| 232 |
+
<div class="flex flex-col md:flex-row justify-between items-center">
|
| 233 |
+
<div class="mb-6 md:mb-0">
|
| 234 |
+
<div class="flex items-center space-x-2">
|
| 235 |
+
<div class="w-8 h-8 bg-gradient-to-br from-cyan-400 to-blue-500 rounded-lg flex items-center justify-center">
|
| 236 |
+
<span class="orbitron text-white font-bold">ADF</span>
|
| 237 |
+
</div>
|
| 238 |
+
<span class="orbitron text-cyan-300">Aurora Dimension Forge</span>
|
| 239 |
+
</div>
|
| 240 |
+
</div>
|
| 241 |
+
<div class="flex space-x-6">
|
| 242 |
+
<a href="#" class="text-cyan-300 hover:text-white transition-colors">
|
| 243 |
+
<i data-feather="github"></i>
|
| 244 |
+
</a>
|
| 245 |
+
<a href="#" class="text-cyan-300 hover:text-white transition-colors">
|
| 246 |
+
<i data-feather="twitter"></i>
|
| 247 |
+
</a>
|
| 248 |
+
<a href="#" class="text-cyan-300 hover:text-white transition-colors">
|
| 249 |
+
<i data-feather="linkedin"></i>
|
| 250 |
+
</a>
|
| 251 |
+
<a href="#" class="text-cyan-300 hover:text-white transition-colors">
|
| 252 |
+
<i data-feather="instagram"></i>
|
| 253 |
+
</a>
|
| 254 |
+
</div>
|
| 255 |
+
</div>
|
| 256 |
+
<div class="text-center mt-8 text-cyan-500/60">
|
| 257 |
+
<p>© 2024 Aurora Dimension Forge. Crafting realities beyond imagination.</p>
|
| 258 |
+
</div>
|
| 259 |
+
</div>
|
| 260 |
+
</footer>
|
| 261 |
+
|
| 262 |
+
<script>
|
| 263 |
+
// Initialize Feather Icons
|
| 264 |
+
feather.replace();
|
| 265 |
+
|
| 266 |
+
// Particle System
|
| 267 |
+
const canvas = document.getElementById('particles-canvas');
|
| 268 |
+
const ctx = canvas.getContext('2d');
|
| 269 |
+
|
| 270 |
+
function resizeCanvas() {
|
| 271 |
+
canvas.width = window.innerWidth;
|
| 272 |
+
canvas.height = window.innerHeight;
|
| 273 |
+
}
|
| 274 |
+
|
| 275 |
+
resizeCanvas();
|
| 276 |
+
window.addEventListener('resize', resizeCanvas);
|
| 277 |
+
|
| 278 |
+
const particles = [];
|
| 279 |
+
const particleCount = 80;
|
| 280 |
+
|
| 281 |
+
class Particle {
|
| 282 |
+
constructor() {
|
| 283 |
+
this.x = Math.random() * canvas.width;
|
| 284 |
+
this.y = Math.random() * canvas.height;
|
| 285 |
+
this.size = Math.random() * 2 + 0.5;
|
| 286 |
+
this.speedX = Math.random() * 0.5 - 0.25;
|
| 287 |
+
this.speedY = Math.random() * 0.5 - 0.25;
|
| 288 |
+
this.color = `rgba(56, 189, 248, ${Math.random() * 0.5 + 0.1})`;
|
| 289 |
+
}
|
| 290 |
+
|
| 291 |
+
update() {
|
| 292 |
+
this.x += this.speedX;
|
| 293 |
+
this.y += this.speedY;
|
| 294 |
+
|
| 295 |
+
if (this.x > canvas.width) this.x = 0;
|
| 296 |
+
if (this.x < 0) this.x = canvas.width;
|
| 297 |
+
if (this.y > canvas.height) this.y = 0;
|
| 298 |
+
if (this.y < 0) this.y = canvas.height;
|
| 299 |
+
}
|
| 300 |
+
|
| 301 |
+
draw() {
|
| 302 |
+
ctx.fillStyle = this.color;
|
| 303 |
+
ctx.beginPath();
|
| 304 |
+
ctx.arc(this.x, this.y, this.size, 0, Math.PI * 2);
|
| 305 |
+
ctx.fill();
|
| 306 |
+
}
|
| 307 |
+
}
|
| 308 |
+
|
| 309 |
+
function initParticles() {
|
| 310 |
+
for (let i = 0; i < particleCount; i++) {
|
| 311 |
+
particles.push(new Particle());
|
| 312 |
+
}
|
| 313 |
+
}
|
| 314 |
+
|
| 315 |
+
function animateParticles() {
|
| 316 |
+
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
| 317 |
+
|
| 318 |
+
for (let particle of particles) {
|
| 319 |
+
particle.update();
|
| 320 |
+
particle.draw();
|
| 321 |
+
}
|
| 322 |
+
|
| 323 |
+
requestAnimationFrame(animateParticles);
|
| 324 |
+
}
|
| 325 |
+
|
| 326 |
+
initParticles();
|
| 327 |
+
animateParticles();
|
| 328 |
+
|
| 329 |
+
// Navbar Animations
|
| 330 |
+
gsap.from('nav', {
|
| 331 |
+
duration: 1,
|
| 332 |
+
y: -100,
|
| 333 |
+
opacity: 0,
|
| 334 |
+
ease: "power3.out"
|
| 335 |
+
});
|
| 336 |
+
|
| 337 |
+
// Hero Section Animations
|
| 338 |
+
gsap.from('h1', {
|
| 339 |
+
duration: 1.2,
|
| 340 |
+
y: 50,
|
| 341 |
+
opacity: 0,
|
| 342 |
+
delay: 0.5,
|
| 343 |
+
ease: "power3.out"
|
| 344 |
+
});
|
| 345 |
+
|
| 346 |
+
gsap.from('section p', {
|
| 347 |
+
duration: 1,
|
| 348 |
+
y: 30,
|
| 349 |
+
opacity: 0,
|
| 350 |
+
delay: 0.8,
|
| 351 |
+
ease: "power3.out"
|
| 352 |
+
});
|
| 353 |
+
|
| 354 |
+
gsap.from('section button', {
|
| 355 |
+
duration: 1,
|
| 356 |
+
y: 30,
|
| 357 |
+
opacity: 0,
|
| 358 |
+
delay: 1.1,
|
| 359 |
+
stagger: 0.2,
|
| 360 |
+
ease: "power3.out"
|
| 361 |
+
});
|
| 362 |
+
|
| 363 |
+
// Ripple Effect for Nav Links
|
| 364 |
+
document.querySelectorAll('.nav-link').forEach(link => {
|
| 365 |
+
link.addEventListener('click', function(e) {
|
| 366 |
+
const ripple = document.createElement('span');
|
| 367 |
+
ripple.classList.add('ripple');
|
| 368 |
+
this.appendChild(ripple);
|
| 369 |
+
|
| 370 |
+
const x = e.clientX - this.getBoundingClientRect().left;
|
| 371 |
+
const y = e.clientY - this.getBoundingClientRect().top;
|
| 372 |
+
|
| 373 |
+
ripple.style.left = `${x}px`;
|
| 374 |
+
ripple.style.top = `${y}px`;
|
| 375 |
+
|
| 376 |
+
setTimeout(() => {
|
| 377 |
+
ripple.remove();
|
| 378 |
+
}, 600);
|
| 379 |
+
});
|
| 380 |
+
});
|
| 381 |
+
|
| 382 |
+
// Mobile Menu Functionality
|
| 383 |
+
const mobileMenuBtn = document.getElementById('mobile-menu-btn');
|
| 384 |
+
const closeMobileMenu = document.getElementById('close-mobile-menu');
|
| 385 |
+
const mobileMenu = document.getElementById('mobile-menu');
|
| 386 |
+
|
| 387 |
+
mobileMenuBtn.addEventListener('click', () => {
|
| 388 |
+
mobileMenu.classList.remove('hidden');
|
| 389 |
+
gsap.fromTo(mobileMenu,
|
| 390 |
+
{ opacity: 0, scale: 0.8 },
|
| 391 |
+
{ opacity: 1, scale: 1, duration: 0.3, ease: "power2.out" }
|
| 392 |
+
);
|
| 393 |
+
});
|
| 394 |
+
|
| 395 |
+
closeMobileMenu.addEventListener('click', () => {
|
| 396 |
+
gsap.to(mobileMenu, {
|
| 397 |
+
opacity: 0,
|
| 398 |
+
scale: 0.8,
|
| 399 |
+
duration: 0.3,
|
| 400 |
+
ease: "power2.in",
|
| 401 |
+
onComplete: () => mobileMenu.classList.add('hidden')
|
| 402 |
+
});
|
| 403 |
+
});
|
| 404 |
+
|
| 405 |
+
// Parallax Effect for Navbar
|
| 406 |
+
window.addEventListener('scroll', () => {
|
| 407 |
+
const scrolled = window.pageYOffset;
|
| 408 |
+
const parallaxSpeed = 0.3;
|
| 409 |
+
const nav = document.querySelector('nav');
|
| 410 |
+
|
| 411 |
+
gsap.to(nav, {
|
| 412 |
+
y: -scrolled * parallaxSpeed,
|
| 413 |
+
ease: "none"
|
| 414 |
+
});
|
| 415 |
+
});
|
| 416 |
+
|
| 417 |
+
// Project Card Animations on Scroll
|
| 418 |
+
gsap.utils.toArray('.project-card').forEach((card, i) => {
|
| 419 |
+
gsap.from(card, {
|
| 420 |
+
scrollTrigger: {
|
| 421 |
+
trigger: card,
|
| 422 |
+
start: "top 80%",
|
| 423 |
+
end: "bottom 20%",
|
| 424 |
+
toggleActions: "play none none reverse"
|
| 425 |
+
},
|
| 426 |
+
y: 50,
|
| 427 |
+
opacity: 0,
|
| 428 |
+
duration: 0.8,
|
| 429 |
+
delay: i * 0.1,
|
| 430 |
+
ease: "power3.out"
|
| 431 |
+
});
|
| 432 |
+
});
|
| 433 |
+
</script>
|
| 434 |
+
</body>
|
| 435 |
</html>
|