summaryrefslogtreecommitdiffstats
path: root/styles.css
diff options
context:
space:
mode:
authorsalmonik <raisersoft@proton.me>2026-02-07 00:45:28 +0100
committersalmonik <raisersoft@proton.me>2026-02-07 00:45:28 +0100
commit4ab571290f64527bc321df8f1267376ad9b9043d (patch)
tree523538f46d4b435c4e3d69a76724183467ced7ba /styles.css
parentsmooth scrolling when going to divs (diff)
downloadsite-4ab571290f64527bc321df8f1267376ad9b9043d.tar.gz
site-4ab571290f64527bc321df8f1267376ad9b9043d.zip
demake the site, and remove external components
Diffstat (limited to 'styles.css')
-rw-r--r--styles.css374
1 files changed, 66 insertions, 308 deletions
diff --git a/styles.css b/styles.css
index 8a9dccd..7bdf11b 100644
--- a/styles.css
+++ b/styles.css
@@ -1,64 +1,42 @@
1/*
2 This File is part of SalmonPage
3 Copyright (C) 2025 Salmon
4 https://codeberg.org/salmonik/site
5 License: GPL-3.0
6*/
7
1/* Base Styles */ 8/* Base Styles */
2:root { 9:root {
3 --cursor-x: 50%; 10 --text-primary: #e0e0e0;
4 --cursor-y: 50%; 11 --text-secondary: #999999;
5 --bg: #111827; 12 --border: #333333;
6 --bg-secondary: #1f2937; 13 --accent: #3366ff;
7 --bg-tertiary: #374151; 14 --bg-primary: #0a0a0a;
8 --text: #f9fafb; 15 --bg-secondary: #000066;
9 --text-secondary: #d1d5db; 16 --bg-footer: #2e2e2e;
10 --primary: #3b82f6;
11 --primary-hover: #2563eb;
12 --border: #374151;
13 --shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
14 --white: #ffffff;
15 --black: #111827;
16} 17}
17 18
18/* Base background and cursor light effect */
19html { 19html {
20 scroll-behavior: smooth; 20 scroll-padding-top: 80px;
21 scroll-padding-top: 80px; /* Adjust this value based on your header height */
22} 21}
23 22
24html, body { 23html, body {
25 min-height: 100%;
26 margin: 0; 24 margin: 0;
27 padding: 0; 25 padding: 0;
28 background: #111827; /* Base dark background */ 26 background-color: var(--bg-primary);
29 overflow-x: hidden; 27 font-family: Arial, sans-serif;
30 /* Default cursor is now visible */ 28 line-height: 1.4;
31} 29 color: var(--text-primary);
32 30 min-height: 100vh;
33/* Cursor light effect */ 31 display: flex;
34body::before { 32 flex-direction: column;
35 content: '';
36 position: fixed;
37 top: 0;
38 left: 0;
39 width: 100%;
40 height: 100%;
41 background: radial-gradient(
42 circle at var(--cursor-x, 50%) var(--cursor-y, 50%),
43 rgba(31, 41, 55, 0.8) 0%,
44 rgba(17, 24, 39, 0.95) 70%,
45 #111827 100%
46 );
47 pointer-events: none;
48 z-index: 0;
49}
50
51/* Ensure content is above the cursor effect */
52body > * {
53 position: relative;
54 z-index: 1;
55} 33}
56 34
57body { 35main {
58 font-family: 'Inter', sans-serif; 36 flex: 1;
59 line-height: 1.6; 37 display: flex;
60 color: var(--text); 38 align-items: center;
61 background-color: var(--bg); 39 justify-content: center;
62} 40}
63 41
64.container { 42.container {
@@ -69,14 +47,12 @@ body {
69 47
70/* Header */ 48/* Header */
71header { 49header {
72 background: rgba(17, 24, 39, 0.8); 50 background: var(--bg-secondary);
73 backdrop-filter: blur(8px);
74 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
75 position: fixed; 51 position: fixed;
76 width: 100%; 52 width: 100%;
77 top: 0; 53 top: 0;
78 z-index: 100; 54 z-index: 1000;
79 padding: 1.5rem 0; 55 padding: 1rem 0;
80 border-bottom: 1px solid var(--border); 56 border-bottom: 1px solid var(--border);
81} 57}
82 58
@@ -89,25 +65,23 @@ nav {
89.logo { 65.logo {
90 font-size: 1.5rem; 66 font-size: 1.5rem;
91 font-weight: 700; 67 font-weight: 700;
92 color: var(--primary); 68 color: var(--text-primary);
93 text-decoration: none; 69 text-decoration: none;
94} 70}
95 71
96.nav-links a { 72.nav-links a {
97 color: var(--text); 73 color: var(--text-primary);
98 text-decoration: none; 74 text-decoration: none;
99 margin-left: 2rem; 75 margin-left: 2rem;
100 font-weight: 500; 76 font-weight: 500;
101 transition: color 0.3s ease;
102} 77}
103 78
104.nav-links a:hover { 79.nav-links a:hover {
105 color: var(--primary); 80 color: var(--accent);
106} 81}
107 82
108/* Hero Section */ 83/* Hero Section */
109.hero { 84.hero {
110 min-height: 100vh;
111 display: flex; 85 display: flex;
112 align-items: center; 86 align-items: center;
113 padding: 8rem 0 4rem; 87 padding: 8rem 0 4rem;
@@ -119,7 +93,7 @@ nav {
119.hero-content { 93.hero-content {
120 display: grid; 94 display: grid;
121 grid-template-columns: 1fr 1fr; 95 grid-template-columns: 1fr 1fr;
122 gap: 4rem; 96 gap: 2rem;
123 align-items: center; 97 align-items: center;
124 width: 100%; 98 width: 100%;
125} 99}
@@ -128,292 +102,76 @@ nav {
128 max-width: 600px; 102 max-width: 600px;
129} 103}
130 104
131.hero-image { 105.hero-img {
132 display: flex; 106 max-width: 100%;
133 justify-content: center;
134 align-items: center;
135}
136
137.hero-image .hero-img {
138 width: 100%;
139 max-width: 300px;
140 height: auto; 107 height: auto;
141 border-radius: 1rem; 108 border-radius: 0.5rem;
142 border: none;
143 box-shadow: none;
144} 109}
145 110
146.greeting { 111.greeting {
147 font-size: 1.25rem; 112 font-size: 1.25rem;
148 color: var(--primary); 113 color: var(--accent);
149 margin-bottom: 1rem; 114 margin-bottom: 1rem;
150} 115}
151 116
152h1 { 117main h1 {
153 font-size: 3rem; 118 font-size: 3rem;
154 font-weight: 800; 119 font-weight: 800;
155 line-height: 1.2; 120 line-height: 1.2;
156 margin-bottom: 1.5rem; 121 margin: 0 0 1.5rem 0;
157 background: linear-gradient(90deg, #60a5fa, #3b82f6); 122 color: var(--text-primary);
158 -webkit-background-clip: text;
159 -webkit-text-fill-color: transparent;
160 background-clip: text;
161 color: transparent;
162}
163
164.tagline {
165 font-size: 1.25rem;
166 color: var(--text-secondary);
167 margin-bottom: 2rem;
168 max-width: 600px;
169}
170
171/* Buttons */
172.btn {
173 display: inline-block;
174 padding: 0.75rem 1.5rem;
175 border-radius: 0.375rem;
176 font-weight: 500;
177 text-decoration: none;
178 transition: all 0.3s ease;
179 margin-right: 1rem;
180}
181
182.btn-primary {
183 background-color: var(--primary);
184 color: white;
185 border: 2px solid var(--primary);
186}
187
188.btn-primary:hover {
189 background-color: var(--primary-hover);
190 border-color: var(--primary-hover);
191}
192
193.btn-outline {
194 background-color: transparent;
195 color: var(--primary);
196 border: 2px solid var(--primary);
197}
198
199.btn-outline:hover {
200 background-color: rgba(59, 130, 246, 0.1);
201 color: var(--primary-hover);
202 border-color: var(--primary-hover);
203}
204
205/* Sections */
206section {
207 padding: 6rem 0;
208 background-color: var(--bg);
209}
210
211.section-title {
212 text-align: center; 123 text-align: center;
213 font-size: 2.25rem;
214 margin-bottom: 3rem;
215} 124}
216 125
217/* About Section */ 126@media (max-width: 768px) {
218.about { 127 main h1 {
219 padding: 6rem 0; 128 font-size: 2.25rem;
220 background: transparent; 129 }
221 position: relative;
222 z-index: 1;
223}
224
225.about-content {
226 display: grid;
227 grid-template-columns: 1fr 1fr;
228 gap: 4rem;
229 align-items: center;
230}
231
232.about-image {
233 display: flex;
234 justify-content: center;
235 align-items: center;
236}
237
238.about-img {
239 max-width: 100%;
240 height: auto;
241 border-radius: 0.5rem;
242 box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
243}
244
245.skills {
246 display: flex;
247 flex-wrap: wrap;
248 gap: 0.75rem;
249 margin-top: 1.5rem;
250}
251
252.skill-tag {
253 background-color: rgba(59, 130, 246, 0.1);
254 color: #60a5fa;
255 padding: 0.375rem 0.75rem;
256 border-radius: 9999px;
257 font-size: 0.875rem;
258 border: 1px solid rgba(59, 130, 246, 0.2);
259}
260
261/* Projects Section */
262.projects {
263 background: transparent;
264 padding: 6rem 0;
265}
266
267.projects-grid {
268 display: grid;
269 grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
270 gap: 2rem;
271 margin-top: 2rem;
272}
273
274.project-card {
275 background: var(--bg-secondary);
276 border-radius: 0.5rem;
277 padding: 1.5rem;
278 transition: transform 0.3s ease, box-shadow 0.3s ease;
279 border: 1px solid var(--border);
280}
281
282.project-card:hover {
283 transform: translateY(-5px);
284 box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2);
285} 130}
286 131
287.project-title { 132.tagline {
288 font-size: 1.25rem; 133 font-size: 1.25rem;
289 font-weight: 600;
290 color: var(--text);
291 margin-bottom: 0.75rem;
292}
293
294.project-description {
295 color: var(--text-secondary); 134 color: var(--text-secondary);
296 margin-bottom: 1.25rem; 135 margin-bottom: 2rem;
297 line-height: 1.6; 136 max-width: 600px;
298}
299
300.project-links {
301 margin-bottom: 1rem;
302}
303
304.project-tags {
305 display: flex;
306 flex-wrap: wrap;
307 gap: 0.5rem;
308 margin-top: 1rem;
309}
310
311.project-tag {
312 background: rgba(96, 165, 250, 0.1);
313 color: #60a5fa;
314 padding: 0.25rem 0.75rem;
315 border-radius: 9999px;
316 font-size: 0.75rem;
317 font-weight: 500;
318}
319
320/* Contact Section */
321.contact {
322 background-color: var(--bg-secondary);
323 text-align: center;
324 border-radius: 1rem;
325 margin: 2rem auto;
326 max-width: 1400px;
327 box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
328}
329
330.contact-content {
331 max-width: 1400px;
332 margin: 0 auto;
333 text-align: center;
334} 137}
335 138
336.contact-methods {
337 display: flex;
338 flex-wrap: wrap;
339 gap: 15px;
340 justify-content: center;
341 margin: 20px 0;
342 padding: 0 20px;
343}
344 139
345.contact-methods .btn {
346 margin: 5px;
347 flex: 0 0 auto;
348}
349 140
350/* Footer */ 141/* Footer */
351footer { 142footer {
352 text-align: center; 143 text-align: center;
353 padding: 2rem 0; 144 padding: 0.1rem 0;
354 color: var(--text-secondary); 145 color: var(--text-secondary);
355 font-size: 0.875rem; 146 font-size: 0.875rem;
356 background-color: var(--bg-secondary); 147 background-color: var(--bg-footer);
357 border-top: 1px solid var(--border); 148 border-top: 1px solid var(--border);
358} 149}
359 150
360/* Responsive */
361@media (max-width: 1024px) {
362 .hero-content {
363 grid-template-columns: 1fr;
364 gap: 3rem;
365 text-align: center;
366 }
367 151
368 .hero-text {
369 margin: 0 auto;
370 }
371 152
372 .cta-buttons { 153
373 justify-content: center; 154main p {
374 } 155 margin-bottom: 1rem;
156 line-height: 1.6;
375} 157}
376 158
377@media (max-width: 768px) { 159main ul {
378 .nav-links { 160 margin-bottom: 2rem;
379 display: none; 161 padding-left: 2rem;
380 }
381
382 h1 {
383 font-size: 2.25rem;
384 }
385
386 .about-content {
387 grid-template-columns: 1fr;
388 gap: 2rem;
389 text-align: center;
390 }
391
392 .skills {
393 justify-content: center;
394 }
395
396 .about-img {
397 max-width: 80%;
398 margin: 0 auto;
399 }
400} 162}
401 163
402/* Hover Effects */ 164main li {
403.btn-primary:hover { 165 margin-bottom: 0.5rem;
404 transform: translateY(-2px); 166 line-height: 1.6;
405 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2);
406} 167}
407 168
408.btn-outline:hover { 169main a {
409 transform: translateY(-2px); 170 color: #718096;
410 box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.2); 171 text-decoration: underline;
411} 172}
412 173
413/* Image Placeholder */ 174main a:hover {
414.image-placeholder { 175 color: #a0aec0;
415 background-color: var(--bg-tertiary);
416 height: 300px;
417 border-radius: 0.5rem;
418 border: 1px solid var(--border);
419} 176}
177