|
19 | 19 | --apple-button-hover: #0077ed; |
20 | 20 | --apple-feature-card: rgba(255, 255, 255, 0.8); |
21 | 21 | --apple-card-shadow: rgba(0, 0, 0, 0.04); |
22 | | - --heading-font: -apple-system-headline, ui-sans-serif, system-ui, sans-serif, "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial; |
23 | | - --body-font: -apple-system-body, ui-sans-serif, system-ui, sans-serif, "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial; |
| 22 | + --heading-font: "SF Pro Display", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; |
| 23 | + --body-font: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif; |
24 | 24 | --theme-switch-bg: #f5f5f7; |
25 | 25 | --theme-switch-border: #d2d2d7; |
26 | 26 | } |
|
56 | 56 | letter-spacing: -0.022em; |
57 | 57 | transition: background-color 0.5s ease, color 0.5s ease; |
58 | 58 | -webkit-font-smoothing: antialiased; |
59 | | - -moz-osx-font-smoothing: grayscale; |
60 | | - text-rendering: optimizeLegibility; |
61 | 59 | } |
62 | 60 |
|
63 | 61 | .container { |
|
166 | 164 |
|
167 | 165 | .hero { |
168 | 166 | text-align: center; |
169 | | - padding: 180px 0 120px; |
| 167 | + padding: 120px 0 80px; |
170 | 168 | background-color: var(--apple-bg); |
171 | 169 | transition: background-color 0.5s ease; |
172 | 170 | overflow: hidden; |
173 | | - position: relative; |
174 | 171 | } |
175 | 172 |
|
176 | 173 | h1 { |
|
179 | 176 | line-height: 1.07143; |
180 | 177 | font-weight: 600; |
181 | 178 | letter-spacing: -0.005em; |
182 | | - margin-bottom: 16px; |
| 179 | + margin-bottom: 8px; |
183 | 180 | color: var(--apple-text); |
184 | 181 | transition: color 0.5s ease; |
185 | 182 | } |
186 | 183 |
|
187 | 184 | .hero p { |
188 | | - font-size: 27px; |
| 185 | + font-size: 23px; |
189 | 186 | line-height: 1.381; |
190 | 187 | font-weight: 400; |
191 | 188 | letter-spacing: 0.004em; |
192 | | - max-width: 760px; |
| 189 | + max-width: 600px; |
193 | 190 | margin: 0 auto 40px; |
194 | 191 | color: var(--apple-secondary-text); |
195 | 192 | transition: color 0.5s ease; |
|
199 | 196 | display: inline-block; |
200 | 197 | background-color: var(--apple-button-bg); |
201 | 198 | color: white; |
202 | | - padding: 12px 28px; |
| 199 | + padding: 12px 22px; |
203 | 200 | border-radius: 980px; |
204 | 201 | text-decoration: none; |
205 | 202 | font-size: 17px; |
|
214 | 211 |
|
215 | 212 | .btn:hover { |
216 | 213 | background-color: var(--apple-button-hover); |
217 | | - transform: scale(1.02); |
218 | 214 | } |
219 | 215 |
|
220 | 216 | .btn-secondary { |
|
228 | 224 | } |
229 | 225 |
|
230 | 226 | .highlights { |
231 | | - padding: 140px 0; |
| 227 | + padding: 100px 0; |
232 | 228 | background-color: var(--apple-bg); |
233 | 229 | transition: background-color 0.5s ease; |
234 | | - position: relative; |
235 | 230 | } |
236 | 231 |
|
237 | 232 | .section-title { |
238 | 233 | text-align: center; |
239 | | - margin-bottom: 100px; |
| 234 | + margin-bottom: 80px; |
240 | 235 | font-family: var(--heading-font); |
241 | 236 | font-size: 48px; |
242 | 237 | line-height: 1.08349; |
|
248 | 243 |
|
249 | 244 | .highlights-grid { |
250 | 245 | display: grid; |
251 | | - grid-template-columns: repeat(3, 1fr); |
252 | | - gap: 60px; |
| 246 | + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); |
| 247 | + gap: 40px; |
253 | 248 | } |
254 | 249 |
|
255 | 250 | .highlight { |
256 | 251 | text-align: center; |
257 | | - padding: 50px 30px; |
258 | | - border-radius: 30px; |
| 252 | + padding: 40px 20px; |
| 253 | + border-radius: 20px; |
259 | 254 | background-color: var(--apple-secondary-bg); |
260 | 255 | transition: transform 0.5s ease, background-color 0.5s ease; |
261 | 256 | overflow: hidden; |
|
268 | 263 | } |
269 | 264 |
|
270 | 265 | .highlight:hover { |
271 | | - transform: translateY(-10px); |
| 266 | + transform: scale(1.02); |
272 | 267 | } |
273 | 268 |
|
274 | 269 | .highlight h3 { |
|
277 | 272 | line-height: 1.14286; |
278 | 273 | font-weight: 600; |
279 | 274 | letter-spacing: 0.007em; |
280 | | - margin: 20px 0 16px; |
| 275 | + margin: 20px 0 10px; |
281 | 276 | color: var(--apple-text); |
282 | 277 | transition: color 0.5s ease; |
283 | 278 | } |
|
293 | 288 |
|
294 | 289 | .highlight-icon { |
295 | 290 | font-size: 56px; |
296 | | - margin-bottom: 24px; |
| 291 | + margin-bottom: 20px; |
297 | 292 | } |
298 | 293 |
|
299 | 294 | .features { |
300 | | - padding: 140px 0; |
| 295 | + padding: 100px 0; |
301 | 296 | background-color: var(--apple-secondary-bg); |
302 | 297 | transition: background-color 0.5s ease; |
303 | | - position: relative; |
304 | 298 | } |
305 | 299 |
|
306 | 300 | [data-theme="dark"] .features { |
|
309 | 303 |
|
310 | 304 | .features-grid { |
311 | 305 | display: grid; |
312 | | - grid-template-columns: repeat(3, 1fr); |
313 | | - gap: 40px; |
| 306 | + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); |
| 307 | + gap: 30px; |
314 | 308 | } |
315 | 309 |
|
316 | 310 | .feature { |
317 | 311 | background-color: var(--apple-bg); |
318 | | - border-radius: 24px; |
| 312 | + border-radius: 20px; |
319 | 313 | overflow: hidden; |
320 | 314 | box-shadow: 0 4px 30px var(--apple-card-shadow); |
321 | 315 | transition: transform 0.5s ease, background-color 0.5s ease, box-shadow 0.5s ease; |
|
326 | 320 | } |
327 | 321 |
|
328 | 322 | .feature:hover { |
329 | | - transform: translateY(-10px); |
330 | | - box-shadow: 0 20px 50px var(--apple-card-shadow); |
| 323 | + transform: translateY(-6px); |
| 324 | + box-shadow: 0 12px 40px var(--apple-card-shadow); |
331 | 325 | } |
332 | 326 |
|
333 | 327 | .feature-content { |
334 | | - padding: 40px 30px; |
| 328 | + padding: 30px; |
335 | 329 | text-align: center; |
336 | 330 | } |
337 | 331 |
|
|
341 | 335 | line-height: 1.16667; |
342 | 336 | font-weight: 600; |
343 | 337 | letter-spacing: 0.009em; |
344 | | - margin-bottom: 16px; |
| 338 | + margin-bottom: 10px; |
345 | 339 | color: var(--apple-text); |
346 | 340 | transition: color 0.5s ease; |
347 | 341 | } |
|
356 | 350 | } |
357 | 351 |
|
358 | 352 | .feature-icon { |
359 | | - font-size: 48px; |
360 | | - margin-bottom: 24px; |
| 353 | + font-size: 40px; |
| 354 | + margin-bottom: 20px; |
361 | 355 | } |
362 | 356 |
|
363 | 357 | footer { |
364 | 358 | background-color: var(--apple-bg); |
365 | | - padding: 60px 0 30px; |
| 359 | + padding: 20px 0; |
366 | 360 | text-align: center; |
367 | 361 | color: var(--apple-secondary-text); |
368 | 362 | font-size: 12px; |
|
384 | 378 | } |
385 | 379 |
|
386 | 380 | .footer-links { |
387 | | - margin-bottom: 30px; |
| 381 | + margin-bottom: 10px; |
388 | 382 | } |
389 | 383 |
|
390 | 384 | .footer-links a { |
391 | 385 | margin: 0 15px; |
392 | | - font-size: 14px; |
393 | 386 | } |
394 | 387 |
|
395 | 388 | .footer-logo { |
396 | 389 | display: block; |
397 | | - margin: 0 auto 30px; |
398 | | - height: 50px; |
| 390 | + margin: 0 auto 20px; |
| 391 | + height: 40px; |
399 | 392 | } |
400 | 393 |
|
401 | 394 | .copyright { |
|
409 | 402 | margin: 0 auto; |
410 | 403 | } |
411 | 404 |
|
412 | | - .hero-image-container { |
413 | | - position: relative; |
414 | | - margin: 60px auto 0; |
415 | | - max-width: 600px; |
416 | | - } |
417 | | - |
418 | 405 | .hero-image { |
419 | 406 | max-width: 100%; |
420 | 407 | height: auto; |
| 408 | + margin: 40px auto 0; |
| 409 | + transition: transform 0.5s ease; |
421 | 410 | display: block; |
422 | | - margin: 0 auto; |
423 | | - transition: transform 0.8s ease; |
424 | | - animation: float 6s ease-in-out infinite; |
425 | 411 | } |
426 | 412 |
|
427 | | - @keyframes float { |
428 | | - 0% { transform: translateY(0px); } |
429 | | - 50% { transform: translateY(-15px); } |
430 | | - 100% { transform: translateY(0px); } |
| 413 | + .hero-image:hover { |
| 414 | + transform: scale(1.02); |
431 | 415 | } |
432 | 416 |
|
433 | 417 | @media only screen and (max-width: 768px) { |
|
463 | 447 | } |
464 | 448 |
|
465 | 449 | .hero { |
466 | | - padding: 100px 0 80px; |
| 450 | + padding: 60px 0 40px; |
467 | 451 | } |
468 | 452 |
|
469 | 453 | .hero p { |
470 | | - font-size: 22px; |
| 454 | + font-size: 19px; |
471 | 455 | } |
472 | 456 |
|
473 | 457 | .btn { |
474 | 458 | display: block; |
475 | | - margin: 16px auto; |
| 459 | + margin: 10px auto; |
476 | 460 | max-width: 250px; |
477 | 461 | } |
478 | 462 |
|
479 | 463 | .section-title { |
480 | 464 | font-size: 32px; |
481 | | - margin-bottom: 60px; |
| 465 | + margin-bottom: 40px; |
482 | 466 | } |
483 | 467 |
|
484 | 468 | .highlights, .features { |
485 | | - padding: 80px 0; |
486 | | - } |
487 | | - |
488 | | - .highlights-grid, .features-grid { |
489 | | - grid-template-columns: 1fr; |
| 469 | + padding: 60px 0; |
490 | 470 | } |
491 | 471 | } |
492 | 472 |
|
493 | | - /* Subtle animations */ |
494 | | - @keyframes fadeUp { |
495 | | - from { opacity: 0; transform: translateY(30px); } |
| 473 | + /* Mirroring Apple's animation style */ |
| 474 | + @keyframes fadeIn { |
| 475 | + from { opacity: 0; transform: translateY(20px); } |
496 | 476 | to { opacity: 1; transform: translateY(0); } |
497 | 477 | } |
498 | 478 |
|
499 | | - .hero h1 { |
500 | | - animation: fadeUp 0.8s ease-out forwards; |
| 479 | + .hero h1, .hero p, .btn, .hero-image, .highlight, .feature { |
| 480 | + animation: fadeIn 0.8s ease-out forwards; |
501 | 481 | } |
502 | 482 |
|
503 | 483 | .hero p { |
504 | | - animation: fadeUp 0.8s ease-out forwards; |
505 | 484 | animation-delay: 0.2s; |
506 | | - opacity: 0; |
507 | 485 | } |
508 | 486 |
|
509 | 487 | .btn { |
510 | | - animation: fadeUp 0.8s ease-out forwards; |
511 | 488 | animation-delay: 0.4s; |
512 | | - opacity: 0; |
513 | 489 | } |
514 | 490 |
|
515 | | - .hero-image-container { |
516 | | - animation: fadeUp 0.8s ease-out forwards; |
| 491 | + .hero-image { |
517 | 492 | animation-delay: 0.6s; |
518 | | - opacity: 0; |
519 | 493 | } |
520 | 494 |
|
521 | | - .highlight, .feature { |
522 | | - opacity: 0; |
| 495 | + .highlight:nth-child(1), .feature:nth-child(1) { |
| 496 | + animation-delay: 0.2s; |
523 | 497 | } |
524 | 498 |
|
525 | | - /* Intersection Observer styles */ |
526 | | - .fade-in { |
527 | | - opacity: 1; |
528 | | - transform: translateY(0); |
529 | | - transition: opacity 0.6s ease-out, transform 0.6s ease-out; |
| 499 | + .highlight:nth-child(2), .feature:nth-child(2) { |
| 500 | + animation-delay: 0.4s; |
530 | 501 | } |
531 | | - |
532 | | - /* Add system font stack with SF Pro dynamic scaling */ |
533 | | - @supports (font: -apple-system-body) { |
534 | | - body { |
535 | | - font: -apple-system-body; |
536 | | - } |
537 | | - |
538 | | - h1, h2, h3, .section-title { |
539 | | - font: -apple-system-headline; |
540 | | - } |
| 502 | + |
| 503 | + .highlight:nth-child(3), .feature:nth-child(3) { |
| 504 | + animation-delay: 0.6s; |
541 | 505 | } |
542 | 506 | </style> |
543 | 507 | </head> |
@@ -573,9 +537,7 @@ <h1>OpenAPI Integration with DocC</h1> |
573 | 537 | <p>Transform OpenAPI specifications into beautiful, interactive documentation.</p> |
574 | 538 | <a href="docs/index.html" class="btn">View Documentation</a> |
575 | 539 | <a href="https://github.com/ayushshrivastv/OpenAPI-integration-with-DocC" class="btn btn-secondary">View on GitHub</a> |
576 | | - <div class="hero-image-container"> |
577 | | - <img src="docs/favicon.svg" alt="OpenAPI DocC graphic representation" class="hero-image" width="240"> |
578 | | - </div> |
| 540 | + <img src="docs/favicon.svg" alt="OpenAPI DocC graphic representation" class="hero-image" width="240"> |
579 | 541 | </div> |
580 | 542 | </section> |
581 | 543 |
|
@@ -633,7 +595,7 @@ <h3>Auto-updating</h3> |
633 | 595 |
|
634 | 596 | <footer> |
635 | 597 | <div class="container"> |
636 | | - <img class="footer-logo" src="docs/favicon.svg" alt="OpenAPI DocC Logo" width="50"> |
| 598 | + <img class="footer-logo" src="docs/favicon.svg" alt="OpenAPI DocC Logo" width="40"> |
637 | 599 | <div class="footer-links"> |
638 | 600 | <a href="https://github.com/ayushshrivastv/OpenAPI-integration-with-DocC">GitHub</a> |
639 | 601 | <a href="docs/index.html">Documentation</a> |
@@ -708,22 +670,6 @@ <h3>Auto-updating</h3> |
708 | 670 | } |
709 | 671 | }); |
710 | 672 | } |
711 | | - |
712 | | - // Intersection Observer for animations |
713 | | - const observer = new IntersectionObserver((entries) => { |
714 | | - entries.forEach(entry => { |
715 | | - if (entry.isIntersecting) { |
716 | | - entry.target.classList.add('fade-in'); |
717 | | - } |
718 | | - }); |
719 | | - }, { |
720 | | - threshold: 0.2 |
721 | | - }); |
722 | | - |
723 | | - // Observe all highlights and features |
724 | | - document.querySelectorAll('.highlight, .feature').forEach(el => { |
725 | | - observer.observe(el); |
726 | | - }); |
727 | 673 | }); |
728 | 674 | </script> |
729 | 675 | </body> |
|
0 commit comments