Spaces:
Running
Running
| /* Importing fonts */ | |
| @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500;600;700&family=Roboto:wght@300;400;500&display=swap'); | |
| /* Base Styles */ | |
| body { | |
| font-family: 'Roboto', sans-serif; | |
| overflow-x: hidden; | |
| } | |
| .font-orbitron { | |
| font-family: 'Orbitron', sans-serif; | |
| } | |
| /* Loading Animation */ | |
| #loading { | |
| background: #000; | |
| transition: opacity 0.5s, visibility 0.5s; | |
| } | |
| #loading.hidden { | |
| opacity: 0; | |
| visibility: hidden; | |
| } | |
| .pit-stop-loader { | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| width: 100px; | |
| height: 100px; | |
| } | |
| .tire { | |
| width: 20px; | |
| height: 20px; | |
| margin: 0 5px; | |
| border-radius: 50%; | |
| background: #ef4444; | |
| animation: pitStopBounce 1.2s infinite ease-in-out both; | |
| } | |
| .tire:nth-child(1) { animation-delay: -0.45s; } | |
| .tire:nth-child(2) { animation-delay: -0.3s; } | |
| .tire:nth-child(3) { animation-delay: -0.15s; } | |
| @keyframes pitStopBounce { | |
| 0%, 80%, 100% { | |
| transform: scale(0); | |
| } | |
| 40% { | |
| transform: scale(1); | |
| } | |
| } | |
| /* Parallax Effect */ | |
| .parallax-container { | |
| perspective: 1px; | |
| height: 100vh; | |
| overflow-x: hidden; | |
| overflow-y: auto; | |
| } | |
| .parallax-layer { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| right: 0; | |
| bottom: 0; | |
| } | |
| .parallax-layer[data-depth] { | |
| transform: translateZ(-1px) scale(2); | |
| } | |
| .speed-lines::before { | |
| content: ""; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: repeating-linear-gradient( | |
| 90deg, | |
| transparent, | |
| transparent 2px, | |
| rgba(239, 68, 68, 0.1) 2px, | |
| rgba(239, 68, 68, 0.1) 4px | |
| ); | |
| animation: speedLines 0.5s linear infinite; | |
| } | |
| @keyframes speedLines { | |
| 0% { transform: translateX(0); } | |
| 100% { transform: translateX(100px); } | |
| } | |
| /* Team Cards */ | |
| .team-card { | |
| transform: translateY(0); | |
| transition: transform 0.3s ease; | |
| } | |
| .team-card:hover { | |
| transform: translateY(-10px); | |
| } | |
| .team-card img { | |
| transition: transform 0.5s ease; | |
| } | |
| /* Driver Slider */ | |
| .driver-track { | |
| transition: transform 0.5s ease; | |
| } | |
| /* Race Timeline */ | |
| .race-item { | |
| opacity: 0; | |
| transform: translateY(20px); | |
| transition: opacity 0.6s ease, transform 0.6s ease; | |
| } | |
| .race-item.visible { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| /* Standings Table */ | |
| .standings-table tr { | |
| opacity: 0; | |
| transform: translateY(15px); | |
| transition: opacity 0.5s ease, transform 0.5s ease; | |
| } | |
| .standings-table tr:nth-child(1) { transition-delay: 0.1s; } | |
| .standings-table tr:nth-child(2) { transition-delay: 0.2s; } | |
| .standings-table tr:nth-child(3) { transition-delay: 0.3s; } | |
| .standings-table tr:nth-child(4) { transition-delay: 0.4s; } | |
| .standings-table tr:nth-child(5) { transition-delay: 0.5s; } | |
| .standings-table.visible tr { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| /* Responsive Adjustments */ | |
| @media (max-width: 768px) { | |
| .driver-slide { | |
| width: 100% ; | |
| } | |
| .race-item { | |
| padding-left: 2rem; | |
| } | |
| .race-item::before { | |
| left: 0.5rem; | |
| } | |
| } |