-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path404.html
More file actions
161 lines (147 loc) · 6.28 KB
/
404.html
File metadata and controls
161 lines (147 loc) · 6.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Page Not Found | THREE CROWN WEAR</title>
<!-- Security Headers -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self' https: 'unsafe-inline' 'unsafe-eval'; img-src 'self' https: data:; font-src 'self' https: data:;">
<meta http-equiv="X-XSS-Protection" content="1; mode=block">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap" rel="stylesheet">
<script src="https://cdn.tailwindcss.com"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
<script src="https://unpkg.com/lucide@latest"></script>
<link rel="stylesheet" href="css/styles.css">
<style>
.glitch-text {
position: relative;
}
.glitch-text::before,
.glitch-text::after {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.glitch-text::before {
left: 2px;
text-shadow: -1px 0 rgba(255,255,255,0.3);
clip: rect(24px, 550px, 90px, 0);
animation: glitch-anim 3s infinite linear alternate-reverse;
}
.glitch-text::after {
left: -2px;
text-shadow: -1px 0 rgba(255,255,255,0.3);
clip: rect(85px, 550px, 140px, 0);
animation: glitch-anim 2s infinite linear alternate-reverse;
}
@keyframes glitch-anim {
0% { clip: rect(10px, 9999px, 50px, 0); }
20% { clip: rect(80px, 9999px, 120px, 0); }
40% { clip: rect(30px, 9999px, 70px, 0); }
60% { clip: rect(100px, 9999px, 140px, 0); }
80% { clip: rect(50px, 9999px, 90px, 0); }
100% { clip: rect(20px, 9999px, 60px, 0); }
}
</style>
</head>
<body class="bg-pure-black text-pure-white selection:bg-pure-white selection:text-pure-black min-h-screen flex flex-col">
<!-- Navigation -->
<nav class="fixed top-0 left-0 right-0 z-50 bg-pure-black/80 backdrop-blur-md border-b border-white/5 py-6 px-6 md:px-12">
<div class="max-w-[1800px] mx-auto flex items-center justify-between">
<a href="index.html" class="font-display text-xl tracking-[0.3em] font-medium">
THREE CROWN WEAR
</a>
</div>
</nav>
<!-- Main Content -->
<main class="flex-1 flex items-center justify-center relative overflow-hidden">
<!-- Background Elements -->
<div class="absolute inset-0 bg-monochrome-glow opacity-20"></div>
<div class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 opacity-[0.02] pointer-events-none">
<svg width="600" height="600" viewBox="0 0 100 100" fill="none" stroke="white" stroke-width="0.5">
<path d="M 50,75 L 12,42 L 26,90 L 50,12 L 74,90 L 88,42 Z" />
</svg>
</div>
<div class="relative z-10 text-center px-6">
<!-- 404 Number -->
<div class="mb-8">
<h1 class="glitch-text font-display text-[12rem] md:text-[20rem] leading-none tracking-tighter" data-text="404">
404
</h1>
</div>
<!-- Message -->
<div class="space-y-6 mb-12">
<h2 class="font-display text-3xl md:text-5xl uppercase tracking-[0.2em]">The Artifact is Missing</h2>
<p class="text-xs md:text-sm tracking-[0.3em] uppercase text-white/40 max-w-md mx-auto leading-relaxed">
The page you seek has been removed from the sovereign archive or never existed in our kingdom.
</p>
</div>
<!-- Error Code -->
<div class="inline-block px-6 py-3 border border-white/10 mb-12">
<span class="text-[10px] tracking-[0.5em] uppercase text-white/40">ERROR CODE: ARTIFACT_NOT_FOUND</span>
</div>
<!-- Action Buttons -->
<div class="flex flex-col sm:flex-row gap-6 justify-center items-center">
<a href="index.html" class="btn-primary">
<i data-lucide="home" class="w-4 h-4 mr-3"></i>
Return to Kingdom
</a>
<a href="shop.html" class="btn-secondary">
<i data-lucide="shopping-bag" class="w-4 h-4 mr-3"></i>
Browse Collections
</a>
</div>
<!-- Search Suggestion -->
<div class="mt-16 pt-16 border-t border-white/5 max-w-md mx-auto">
<p class="text-[10px] tracking-[0.3em] uppercase text-white/40 mb-6">Or search the archive</p>
<form action="shop.html" method="GET" class="flex">
<input type="text" name="search" placeholder="Search artifacts..."
class="flex-1 bg-transparent border border-white/20 border-r-0 px-6 py-4 text-xs tracking-[0.2em] uppercase focus:outline-none focus:border-white transition-all">
<button type="submit" class="px-6 py-4 border border-white/20 hover:border-white hover:bg-white hover:text-black transition-all">
<i data-lucide="search" class="w-4 h-4"></i>
</button>
</form>
</div>
</div>
</main>
<!-- Footer -->
<footer class="bg-pure-black border-t border-white/5 py-8 px-6">
<div class="max-w-[1800px] mx-auto flex flex-col md:flex-row justify-between items-center gap-4">
<p class="text-[10px] tracking-[0.3em] uppercase text-white/20">
© 2024 THREE CROWN WEAR
</p>
<div class="flex gap-8">
<a href="contact.html" class="text-[10px] tracking-[0.3em] uppercase text-white/20 hover:text-white transition-colors">Contact Support</a>
<a href="shop.html" class="text-[10px] tracking-[0.3em] uppercase text-white/20 hover:text-white transition-colors">Collections</a>
</div>
</div>
</footer>
<script>
document.addEventListener('DOMContentLoaded', () => {
if (window.lucide) lucide.createIcons();
// GSAP Animations
if (typeof gsap !== 'undefined') {
gsap.from('.glitch-text', {
opacity: 0,
scale: 0.8,
duration: 1.5,
ease: 'power4.out'
});
gsap.from('h2, p, .inline-block, .btn-primary, .btn-secondary, form', {
opacity: 0,
y: 30,
duration: 1,
stagger: 0.1,
delay: 0.5,
ease: 'power3.out'
});
}
});
</script>
</body>
</html>