Timeline.css 2.68 KB
Newer Older
1
.timeline-container {
fisherdaddy's avatar
fisherdaddy committed
2
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
3
  line-height: 1.6;
fisherdaddy's avatar
fisherdaddy committed
4
  max-width: 1000px;
5
  margin: 0 auto;
6
  padding: 4rem 2rem 2rem;
fisherdaddy's avatar
fisherdaddy committed
7 8 9 10 11
  position: relative;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.95));
  min-height: 100vh;
}

12
.timeline-container::before {
fisherdaddy's avatar
fisherdaddy committed
13 14 15 16 17 18 19 20 21 22 23 24
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: 
    linear-gradient(90deg, rgba(99, 102, 241, 0.05) 1px, transparent 1px),
    linear-gradient(rgba(99, 102, 241, 0.05) 1px, transparent 1px);
  background-size: 20px 20px;
  pointer-events: none;
  z-index: -1;
25 26
}

27
.timeline-title {
28
  text-align: center;
fisherdaddy's avatar
fisherdaddy committed
29 30 31 32 33 34 35
  font-size: 2.5rem;
  margin-bottom: 3rem;
  background: linear-gradient(135deg, #6366F1 0%, #4F46E5 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  letter-spacing: -0.02em;
36 37 38 39 40 41 42 43
}

.timeline {
  position: relative;
  padding: 0;
  list-style: none;
}

fisherdaddy's avatar
fisherdaddy committed
44
.timeline::before {
45 46 47 48 49 50
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
fisherdaddy's avatar
fisherdaddy committed
51 52
  background: linear-gradient(180deg, #6366F1 0%, #4F46E5 100%);
  transform: translateX(-50%);
53 54 55 56
}

.event {
  position: relative;
fisherdaddy's avatar
fisherdaddy committed
57
  margin-bottom: 3rem;
58 59
}

fisherdaddy's avatar
fisherdaddy committed
60
.event::before {
61 62 63 64 65
  content: "";
  position: absolute;
  left: 50%;
  width: 20px;
  height: 20px;
fisherdaddy's avatar
fisherdaddy committed
66
  background: linear-gradient(135deg, #6366F1 0%, #4F46E5 100%);
67 68
  border-radius: 50%;
  transform: translateX(-50%);
fisherdaddy's avatar
fisherdaddy committed
69 70
  box-shadow: 0 0 20px rgba(99, 102, 241, 0.3);
  z-index: 2;
71 72 73 74
}

.event-content {
  position: relative;
75
  width: 40%;
fisherdaddy's avatar
fisherdaddy committed
76 77 78 79 80 81 82 83 84 85 86 87 88
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 16px;
  box-shadow: 0 8px 32px rgba(99, 102, 241, 0.1);
  border: 1px solid rgba(99, 102, 241, 0.1);
  transition: all 0.3s ease;
}

.event-content:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 24px rgba(99, 102, 241, 0.15);
  border-color: rgba(99, 102, 241, 0.3);
89 90 91
}

.event:nth-child(odd) .event-content {
92
  left: 57%;
93 94 95
}

.event:nth-child(even) .event-content {
96
  left: 3%;
97 98 99
}

.event-date {
fisherdaddy's avatar
fisherdaddy committed
100 101 102 103
  font-weight: 600;
  color: #6366F1;
  margin-bottom: 0.5rem;
  font-size: 1.1rem;
104 105 106
}

.event-title {
fisherdaddy's avatar
fisherdaddy committed
107 108 109 110 111 112 113 114 115 116 117
  font-weight: 700;
  margin-bottom: 0.5rem;
  font-size: 1.3rem;
  color: #1a1a1a;
}

.event-feature {
  color: #4F46E5;
  margin-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 500;
118 119 120
}

.event-description {
fisherdaddy's avatar
fisherdaddy committed
121 122 123
  color: #4B5563;
  font-size: 0.95rem;
  line-height: 1.6;
124
}
fisherdaddy's avatar
fisherdaddy committed
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142

@media (max-width: 768px) {
  .timeline::before {
    left: 30px;
  }
  
  .event::before {
    left: 30px;
  }
  
  .event-content {
    width: calc(100% - 80px);
    left: 80px !important;
  }
  
  .timeline-title {
    font-size: 2rem;
  }
143
}