Select Git revision
index3.html
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
index3.html 11.27 KiB
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Formula Student World Elo</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css">
<style>
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600;700;900&display=swap');
:root {
--primary: #e10600;
--secondary: #15151e;
--accent: #f0f0f0;
--dark: #0a0a12;
--light: #ffffff;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: 'Montserrat', sans-serif;
}
body {
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
background: var(--secondary);
background: linear-gradient(135deg, var(--secondary) 0%, var(--dark) 100%);
padding: 2rem;
color: var(--light);
overflow-x: hidden;
position: relative;
}
body::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('/api/placeholder/1920/1080');
background-size: cover;
background-position: center;
opacity: 0.1;
pointer-events: none;
}
.container {
width: 100%;
max-width: 1000px;
text-align: center;
padding: 3rem;
background: rgba(21, 21, 30, 0.7);
border-radius: 16px;
backdrop-filter: blur(10px);
box-shadow: 0 15px 35px rgba(0, 0, 0, 0.4);
border: 1px solid rgba(255, 255, 255, 0.1);
z-index: 2;
position: relative;
overflow: hidden;
}
.container::before {
content: "";
position: absolute;
top: -50%;
left: -50%;
width: 200%;
height: 200%;
background: conic-gradient(transparent, rgba(225, 6, 0, 0.1), transparent 30%);
animation: rotate 10s linear infinite;
z-index: -1;
}
@keyframes rotate {
100% {
transform: rotate(360deg);
}
}
.checkered-flag {
position: absolute;
bottom: -50px;
right: -50px;
width: 200px;
height: 200px;
background-image:
linear-gradient(45deg, #000 25%, transparent 25%),
linear-gradient(-45deg, #000 25%, transparent 25%),
linear-gradient(45deg, transparent 75%, #000 75%),
linear-gradient(-45deg, transparent 75%, #000 75%);
background-size: 20px 20px;
background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
transform: rotate(-15deg);
opacity: 0.1;
z-index: -1;
}
h2 {
color: var(--accent);
font-weight: 400;
margin-bottom: 0.5rem;
font-size: 1.5rem;
text-transform: uppercase;
letter-spacing: 3px;
opacity: 0.8;
}
h1 {
font-size: 4rem;
text-transform: uppercase;
letter-spacing: 4px;
color: var(--light);
margin-bottom: 2rem;
font-weight: 900;
position: relative;
display: inline-block;
text-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
}
h1::after {
content: "";
position: absolute;
bottom: -10px;
left: 50%;
width: 100px;
height: 4px;
background: var(--primary);
transform: translateX(-50%);
border-radius: 2px;
}
.by {
display: flex;
align-items: center;
justify-content: center;
gap: 1rem;
margin-bottom: 4rem;
position: relative;
}
.by h3 {
font-weight: 300;
font-size: 1.3rem;
color: var(--accent);
letter-spacing: 1px;
}
.by img {
filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.2));
transition: transform 0.3s ease;
}
.by:hover img {
transform: scale(1.05);
}
.buttons {
display: flex;
justify-content: center;
gap: 3rem;
margin-top: 2rem;
position: relative;
}
.btn-container {
position: relative;
perspective: 1000px;
}
button {
padding: 1.2rem 2rem;
font-size: 1.1rem;
text-transform: uppercase;
letter-spacing: 2px;
font-weight: 600;
color: var(--light);
background-color: var(--primary);
border: none;
border-radius: 50px;
cursor: pointer;
transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
width: 15rem;
box-shadow: 0 10px 20px rgba(225, 6, 0, 0.3);
position: relative;
overflow: hidden;
z-index: 1;
backface-visibility: hidden;
}
button::before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: left 0.7s ease;
}
button:hover {
transform: translateY(-5px) scale(1.03);
box-shadow: 0 15px 30px rgba(225, 6, 0, 0.4);
}
button:hover::before {
left: 100%;
}
button:active {
transform: translateY(-2px);
box-shadow: 0 8px 15px rgba(225, 6, 0, 0.3);
}
button i {
margin-right: 10px;
font-size: 1.2rem;
transition: transform 0.3s ease;
}
button:hover i {
transform: translateX(3px);
}
.electric button {
background: linear-gradient(135deg, #1e90ff, #00bfff);
box-shadow: 0 10px 20px rgba(30, 144, 255, 0.3);
}
.electric button:hover {
box-shadow: 0 15px 30px rgba(30, 144, 255, 0.4);
}
.combustion button {
background: linear-gradient(135deg, #ff8c00, #ff4500);
box-shadow: 0 10px 20px rgba(255, 69, 0, 0.3);
}
.combustion button:hover {
box-shadow: 0 15px 30px rgba(255, 69, 0, 0.4);
}
.decorative-line {
position: absolute;
width: 100%;
height: 1px;
background: linear-gradient(to right, transparent, rgba(255, 255, 255, 0.3), transparent);
top: 0;
left: 0;
}
.particle {
position: absolute;
width: 6px;
height: 6px;
background: var(--primary);
border-radius: 50%;
animation: particles 4s linear infinite;
opacity: 0;
}
@keyframes particles {
0% {
transform: translate(0, 0);
opacity: 0;
}
50% {
opacity: 0.5;
}
100% {
transform: translate(var(--x), var(--y));
opacity: 0;
}
}
.pulse {
position: absolute;
width: 100px;
height: 100px;
border-radius: 50%;
background: var(--primary);
opacity: 0;
animation: pulse 4s ease-out infinite;
}
@keyframes pulse {
0% {
transform: scale(0);
opacity: 0.5;
}
100% {
transform: scale(3);
opacity: 0;
}
}
@media (max-width: 768px) {
h1 {
font-size: 2.5rem;
}
.buttons {
flex-direction: column;
gap: 1.5rem;
}
.container {
padding: 2rem;
}
}
</style>
</head>
<body>
<div class="container">
<div class="checkered-flag"></div>
<div class="decorative-line"></div>
<h2>Welcome to</h2>
<h1>Formula Student World Elo</h1>
<div class="by">
<h3>by</h3>
<img src="GET racing schwarz.svg" width="200">
</div>
<div class="buttons">
<div class="btn-container electric">
<button><i class="fas fa-bolt"></i>Electric</button>
<div class="pulse" style="--delay: 0s"></div>
</div>
<div class="btn-container combustion">
<button><i class="fas fa-fire"></i>Combustion</button>
<div class="pulse" style="--delay: 2s"></div>
</div>
</div>
</div>
<!-- <script>
// Create particles
document.addEventListener('DOMContentLoaded', function() {
const container = document.querySelector('.container');
// Create 15 particles
for (let i = 0; i < 15; i++) {
const particle = document.createElement('div');
particle.classList.add('particle');
// Random positions and animations
const x = Math.random() * 200 - 100;
const y = Math.random() * 200 - 100;
const delay = Math.random() * 4;
const size = Math.random() * 4 + 2;
particle.style.setProperty('--x', `${x}px`);
particle.style.setProperty('--y', `${y}px`);
particle.style.animationDelay = `${delay}s`;
particle.style.width = `${size}px`;
particle.style.height = `${size}px`;
// Random position within container
particle.style.left = `${Math.random() * 100}%`;
particle.style.top = `${Math.random() * 100}%`;
container.appendChild(particle);
}
// Button hover effects
const buttons = document.querySelectorAll('button');
buttons.forEach(button => {
button.addEventListener('mouseover', function() {
const pulse = this.parentNode.querySelector('.pulse');
pulse.style.animation = 'none';
setTimeout(() => {
pulse.style.animation = 'pulse 2s ease-out';
}, 10);
});
});
});
</script> -->
</body>
</html>