awacke1 commited on
Commit
bf93483
·
verified ·
1 Parent(s): 253bb2c

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +121 -7
index.html CHANGED
@@ -10,7 +10,36 @@
10
  overflow: hidden;
11
  }
12
 
13
- /* Simple but effective waterfall */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  .waterfall-container {
15
  position: absolute;
16
  left: 400px;
@@ -34,7 +63,28 @@
34
  filter: blur(2px);
35
  }
36
 
37
- /* Basic river with animation */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  .river {
39
  position: absolute;
40
  width: 200%;
@@ -53,7 +103,6 @@
53
  transform-origin: bottom;
54
  }
55
 
56
- /* Simple mist effect */
57
  .mist {
58
  position: absolute;
59
  width: 120px;
@@ -87,7 +136,7 @@
87
  </head>
88
  <body>
89
  <div class="scene-container">
90
- <!-- Basic background -->
91
  <svg width="100%" height="100%" viewBox="0 0 1200 800">
92
  <defs>
93
  <linearGradient id="rockGradient" x1="0%" y1="0%" x2="0%" y2="100%">
@@ -97,17 +146,82 @@
97
  </linearGradient>
98
  </defs>
99
 
100
- <!-- Simple cliff face -->
101
- <path d="M0,200 Q300,100 600,250 T1200,200 V800 H0 Z"
102
  fill="url(#rockGradient)"/>
103
  </svg>
104
 
105
- <!-- Working water effects -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  <div class="waterfall-container">
107
  <div class="waterfall-stream"></div>
108
  </div>
109
  <div class="mist"></div>
110
  <div class="river"></div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
  </div>
112
  </body>
113
  </html>
 
10
  overflow: hidden;
11
  }
12
 
13
+ /* Climber animations */
14
+ .climber {
15
+ position: absolute;
16
+ width: 40px;
17
+ height: 60px;
18
+ filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.3));
19
+ }
20
+
21
+ @keyframes bounce {
22
+ 0%, 100% { transform: translateY(0) scaleY(1); }
23
+ 50% { transform: translateY(-20px) scaleY(0.9); }
24
+ }
25
+
26
+ .climber1 {
27
+ left: 300px;
28
+ top: 200px;
29
+ animation: bounce 1.2s infinite ease-in-out;
30
+ }
31
+ .climber2 {
32
+ left: 500px;
33
+ top: 180px;
34
+ animation: bounce 1.5s infinite ease-in-out;
35
+ }
36
+ .climber3 {
37
+ left: 700px;
38
+ top: 220px;
39
+ animation: bounce 0.9s infinite ease-in-out;
40
+ }
41
+
42
+ /* Enhanced waterfall */
43
  .waterfall-container {
44
  position: absolute;
45
  left: 400px;
 
63
  filter: blur(2px);
64
  }
65
 
66
+ /* Whitewater spheres */
67
+ .whitewater-sphere {
68
+ position: absolute;
69
+ border-radius: 50%;
70
+ animation: float var(--float-duration, 4s) linear infinite;
71
+ opacity: 0.6;
72
+ }
73
+
74
+ @keyframes float {
75
+ 0% {
76
+ transform: translate(-100%, var(--start-y, 0)) scale(1);
77
+ opacity: 0;
78
+ }
79
+ 10% { opacity: var(--max-opacity, 0.6); }
80
+ 90% { opacity: var(--max-opacity, 0.6); }
81
+ 100% {
82
+ transform: translate(300%, var(--end-y, 0)) scale(var(--end-scale, 1.2));
83
+ opacity: 0;
84
+ }
85
+ }
86
+
87
+ /* River with perspective */
88
  .river {
89
  position: absolute;
90
  width: 200%;
 
103
  transform-origin: bottom;
104
  }
105
 
 
106
  .mist {
107
  position: absolute;
108
  width: 120px;
 
136
  </head>
137
  <body>
138
  <div class="scene-container">
139
+ <!-- Background with peaks -->
140
  <svg width="100%" height="100%" viewBox="0 0 1200 800">
141
  <defs>
142
  <linearGradient id="rockGradient" x1="0%" y1="0%" x2="0%" y2="100%">
 
146
  </linearGradient>
147
  </defs>
148
 
149
+ <!-- Mountains with peaks -->
150
+ <path d="M0,300 L200,100 L300,250 L400,80 L500,220 L600,100 L700,240 L800,120 L1000,280 L1200,150 L1200,800 L0,800 Z"
151
  fill="url(#rockGradient)"/>
152
  </svg>
153
 
154
+ <!-- Animated climbers -->
155
+ <svg class="climber climber1" viewBox="0 0 40 60">
156
+ <path d="M20,10 L20,35 M15,20 L25,20 M20,35 L15,50 M20,35 L25,50"
157
+ stroke="#333" stroke-width="3" stroke-linecap="round"/>
158
+ <circle cx="20" cy="8" r="6" fill="#ff4444"/>
159
+ <path d="M18,32 Q20,30 22,32" stroke="#888" stroke-width="2" fill="none"/>
160
+ </svg>
161
+
162
+ <svg class="climber climber2" viewBox="0 0 40 60">
163
+ <path d="M20,10 L20,35 M15,20 L25,20 M20,35 L15,50 M20,35 L25,50"
164
+ stroke="#333" stroke-width="3" stroke-linecap="round"/>
165
+ <circle cx="20" cy="8" r="6" fill="#4444ff"/>
166
+ <path d="M18,32 Q20,30 22,32" stroke="#888" stroke-width="2" fill="none"/>
167
+ </svg>
168
+
169
+ <svg class="climber climber3" viewBox="0 0 40 60">
170
+ <path d="M20,10 L20,35 M15,20 L25,20 M20,35 L15,50 M20,35 L25,50"
171
+ stroke="#333" stroke-width="3" stroke-linecap="round"/>
172
+ <circle cx="20" cy="8" r="6" fill="#44ff44"/>
173
+ <path d="M18,32 Q20,30 22,32" stroke="#888" stroke-width="2" fill="none"/>
174
+ </svg>
175
+
176
+ <!-- Water effects -->
177
  <div class="waterfall-container">
178
  <div class="waterfall-stream"></div>
179
  </div>
180
  <div class="mist"></div>
181
  <div class="river"></div>
182
+
183
+ <!-- Dynamic whitewater spheres -->
184
+ <script>
185
+ function createWhitewaterSpheres() {
186
+ const container = document.querySelector('.river');
187
+ const colors = [
188
+ 'rgba(255, 255, 255, 0.6)',
189
+ 'rgba(173, 216, 230, 0.5)',
190
+ 'rgba(135, 206, 235, 0.4)',
191
+ 'rgba(240, 248, 255, 0.7)'
192
+ ];
193
+
194
+ function createSphere() {
195
+ const sphere = document.createElement('div');
196
+ sphere.className = 'whitewater-sphere';
197
+ const size = 5 + Math.random() * 15;
198
+ sphere.style.cssText = `
199
+ width: ${size}px;
200
+ height: ${size}px;
201
+ background: ${colors[Math.floor(Math.random() * colors.length)]};
202
+ --float-duration: ${3 + Math.random() * 4}s;
203
+ --start-y: ${-20 + Math.random() * 40}px;
204
+ --end-y: ${-10 + Math.random() * 20}px;
205
+ --end-scale: ${0.8 + Math.random() * 0.8};
206
+ --max-opacity: ${0.4 + Math.random() * 0.3};
207
+ `;
208
+ container.appendChild(sphere);
209
+
210
+ sphere.addEventListener('animationend', () => {
211
+ sphere.remove();
212
+ createSphere();
213
+ });
214
+ }
215
+
216
+ // Create initial spheres
217
+ for (let i = 0; i < 30; i++) {
218
+ setTimeout(() => createSphere(), Math.random() * 3000);
219
+ }
220
+ }
221
+
222
+ // Initialize whitewater
223
+ createWhitewaterSpheres();
224
+ </script>
225
  </div>
226
  </body>
227
  </html>