Starchik1 commited on
Commit
91e65e9
·
verified ·
1 Parent(s): 50d7faf

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +0 -753
index.html CHANGED
@@ -1,753 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="ru">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <meta name="description" content="Профессиональные кровельные работы любой сложности">
7
- <title>RoofMaster - Кровельные работы</title>
8
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
9
- <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css"/>
10
- <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
11
- <style>
12
- :root {
13
- --primary: #2563eb;
14
- --secondary: #3b82f6;
15
- --accent: #f59e0b;
16
- --dark: #1e3a8a;
17
- --light: #f8fafc;
18
- --text: #1e293b;
19
- --gray: #64748b;
20
- --pattern-color: rgba(37, 99, 235, 0.08);
21
- --section-padding: 4rem 5%;
22
- --section-gap: 2rem;
23
- }
24
- * {
25
- margin: 0;
26
- padding: 0;
27
- box-sizing: border-box;
28
- font-family: 'Inter', sans-serif;
29
- }
30
- body {
31
- background-color: var(--light);
32
- color: var(--text);
33
- line-height: 1.6;
34
- font-size: 16px;
35
- background-image:
36
- linear-gradient(to right, var(--pattern-color) 1px, transparent 1px),
37
- linear-gradient(to bottom, var(--pattern-color) 1px, transparent 1px),
38
- linear-gradient(to right, rgba(0,0,0,0.03) 1px, transparent 1px),
39
- linear-gradient(to bottom, rgba(0,0,0,0.03) 1px, transparent 1px);
40
- background-size:
41
- 20px 20px,
42
- 20px 20px,
43
- 100px 100px,
44
- 100px 100px;
45
- background-position:
46
- -1px -1px,
47
- -1px -1px,
48
- -1px -1px,
49
- -1px -1px;
50
- }
51
- .header {
52
- background: rgba(255,255,255,0.95);
53
- padding: 1rem 5%;
54
- position: fixed;
55
- width: 100%;
56
- z-index: 1000;
57
- box-shadow: 0 2px 10px rgba(0,0,0,0.05);
58
- backdrop-filter: blur(8px);
59
- }
60
- .nav {
61
- display: flex;
62
- justify-content: space-between;
63
- align-items: center;
64
- max-width: 1200px;
65
- margin: 0 auto;
66
- }
67
- .logo {
68
- font-size: 1.5rem;
69
- font-weight: 700;
70
- color: var(--primary);
71
- text-decoration: none;
72
- transition: opacity 0.2s;
73
- }
74
- .logo:hover {
75
- opacity: 0.8;
76
- }
77
- .nav-links {
78
- display: flex;
79
- gap: 1.5rem;
80
- align-items: center;
81
- }
82
- .nav-links a {
83
- color: var(--text);
84
- text-decoration: none;
85
- font-weight: 500;
86
- padding: 0.5rem 1rem;
87
- border-radius: 8px;
88
- transition: all 0.2s;
89
- }
90
- .nav-links a:hover {
91
- background: var(--light);
92
- color: var(--primary);
93
- }
94
- .menu-toggle {
95
- display: none;
96
- background: none;
97
- border: none;
98
- font-size: 1.5rem;
99
- color: var(--text);
100
- cursor: pointer;
101
- padding: 0.5rem;
102
- }
103
- .hero {
104
- padding: 120px 5% 60px;
105
- text-align: center;
106
- position: relative;
107
- }
108
- .hero::before {
109
- content: '';
110
- position: absolute;
111
- top: 0;
112
- left: 0;
113
- width: 100%;
114
- height: 100%;
115
- background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M50 0L100 50L50 100L0 50L50 0Z' fill='%232563eb' opacity='0.05'/%3E%3C/svg%3E");
116
- opacity: 0.1;
117
- z-index: -1;
118
- }
119
- .hero-content {
120
- max-width: 800px;
121
- margin: 0 auto;
122
- }
123
- .hero h1 {
124
- font-size: 2.5rem;
125
- margin-bottom: 1rem;
126
- color: var(--dark);
127
- line-height: 1.2;
128
- }
129
- .hero p {
130
- font-size: 1.1rem;
131
- margin-bottom: 2rem;
132
- color: var(--gray);
133
- max-width: 600px;
134
- margin: 0 auto 2rem;
135
- }
136
- .cta-button {
137
- background: var(--primary);
138
- color: white;
139
- padding: 1rem 2rem;
140
- border: none;
141
- border-radius: 8px;
142
- font-size: 1rem;
143
- cursor: pointer;
144
- transition: all 0.2s;
145
- display: inline-flex;
146
- align-items: center;
147
- gap: 0.5rem;
148
- position: relative;
149
- overflow: hidden;
150
- text-decoration: none;
151
- margin-bottom: 10px;
152
- }
153
- .cta-button::before {
154
- content: '';
155
- position: absolute;
156
- top: -50%;
157
- left: -50%;
158
- width: 200%;
159
- height: 200%;
160
- background: linear-gradient(45deg, transparent, rgba(255,255,255,0.3), transparent);
161
- transform: rotate(45deg);
162
- transition: all 0.5s;
163
- }
164
- .cta-button:hover {
165
- background: var(--secondary);
166
- transform: translateY(-2px);
167
- box-shadow: 0 4px 12px rgba(37,99,235,0.2);
168
- }
169
- .cta-button:hover::before {
170
- left: 50%;
171
- top: 50%;
172
- }
173
- .cta-button .button-text {
174
- transition: all 0.3s ease;
175
- display: inline-block;
176
- position: relative;
177
- }
178
- .cta-button:hover .button-text {
179
- animation: fadeIn 0.3s ease;
180
- }
181
- @keyframes fadeIn {
182
- from { opacity: 0; transform: translateY(3px); }
183
- to { opacity: 1; transform: translateY(0); }
184
- }
185
- .services {
186
- padding: var(--section-padding);
187
- background: linear-gradient(175deg, #fff 60%, var(--light) 100%);
188
- }
189
- .section-title {
190
- text-align: center;
191
- font-size: 2rem;
192
- margin-bottom: 2rem;
193
- color: var(--dark);
194
- }
195
- .services-grid {
196
- display: grid;
197
- grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
198
- gap: var(--section-gap);
199
- max-width: 1200px;
200
- margin: 0 auto;
201
- }
202
- .service-card {
203
- padding: 1.5rem;
204
- border-radius: 12px;
205
- background: rgba(255,255,255,0.9);
206
- transition: all 0.3s;
207
- border: 1px solid #e2e8f0;
208
- text-align: center;
209
- backdrop-filter: blur(4px);
210
- }
211
- .service-card:hover {
212
- transform: translateY(-5px);
213
- box-shadow: 0 8px 20px rgba(0,0,0,0.08);
214
- }
215
- .service-icon {
216
- width: 64px;
217
- height: 64px;
218
- background: var(--primary);
219
- border-radius: 12px;
220
- display: flex;
221
- align-items: center;
222
- justify-content: center;
223
- margin: 0 auto 1rem;
224
- transition: all 0.3s;
225
- }
226
- .service-card:hover .service-icon {
227
- transform: rotate(15deg);
228
- }
229
- .gallery-section {
230
- padding: var(--section-padding);
231
- background: var(--light);
232
- }
233
- .swiper {
234
- width: 100%;
235
- max-width: 1200px;
236
- margin: 0 auto;
237
- border-radius: 12px;
238
- overflow: hidden;
239
- box-shadow: 0 10px 30px rgba(0,0,0,0.1);
240
- height: 400px;
241
- }
242
- .swiper-slide img {
243
- width: 100%;
244
- height: 100%;
245
- object-fit: cover;
246
- filter: brightness(0.9);
247
- transition: filter 0.3s;
248
- }
249
- .swiper-slide:hover img {
250
- filter: brightness(1);
251
- }
252
- .slide-caption {
253
- position: absolute;
254
- bottom: 20px;
255
- left: 20px;
256
- right: 20px;
257
- background: rgba(255,255,255,0.95);
258
- padding: 1rem;
259
- border-radius: 8px;
260
- box-shadow: 0 2px 8px rgba(0,0,0,0.1);
261
- }
262
- .materials-section {
263
- padding: var(--section-padding);
264
- background: linear-gradient(175deg, var(--light) 60%, #fff 100%);
265
- }
266
- .materials-grid {
267
- display: grid;
268
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
269
- gap: var(--section-gap);
270
- max-width: 1200px;
271
- margin: 0 auto;
272
- }
273
- .material-card {
274
- background: rgba(255,255,255,0.95);
275
- border-radius: 12px;
276
- overflow: hidden;
277
- box-shadow: 0 4px 12px rgba(0,0,0,0.08);
278
- transition: transform 0.3s;
279
- }
280
- .material-card:hover {
281
- transform: translateY(-5px);
282
- }
283
- .material-image img {
284
- width: 100%;
285
- height: 200px;
286
- object-fit: cover;
287
- border-bottom: 3px solid var(--primary);
288
- }
289
- .material-content {
290
- padding: 1.5rem;
291
- }
292
- .material-props {
293
- list-style: none;
294
- margin-top: 1rem;
295
- }
296
- .material-props li {
297
- display: flex;
298
- align-items: center;
299
- gap: 0.5rem;
300
- margin-bottom: 0.5rem;
301
- color: var(--gray);
302
- font-size: 0.9rem;
303
- }
304
- .material-props i {
305
- color: var(--primary);
306
- width: 20px;
307
- text-align: center;
308
- }
309
- .material-props i.fa-wave-square { color: var(--accent); }
310
- .material-props i.fa-temperature-low { color: #2dd4bf; }
311
- .material-props i.fa-snowflake { color: #38bdf8; }
312
- .material-props i.fa-boxes { color: #f59e0b; }
313
- .steps-section {
314
- padding: var(--section-padding);
315
- background: var(--light);
316
- }
317
- .step-list {
318
- counter-reset: step;
319
- max-width: 800px;
320
- margin: 0 auto;
321
- }
322
- .step-item {
323
- display: flex;
324
- align-items: center;
325
- padding: 1.5rem;
326
- margin-bottom: 1rem;
327
- background: white;
328
- border-radius: 12px;
329
- transition: all 0.3s;
330
- box-shadow: 0 4px 6px rgba(0,0,0,0.05);
331
- }
332
- .step-item:hover {
333
- transform: translateX(10px);
334
- }
335
- .step-item::before {
336
- counter-increment: step;
337
- content: counter(step);
338
- background: var(--primary);
339
- color: white;
340
- width: 40px;
341
- height: 40px;
342
- border-radius: 50%;
343
- display: flex;
344
- align-items: center;
345
- justify-content: center;
346
- font-weight: 700;
347
- margin-right: 1rem;
348
- flex-shrink: 0;
349
- }
350
- .social-section {
351
- padding: var(--section-padding);
352
- background: white;
353
- text-align: center;
354
- }
355
- .social-buttons {
356
- display: flex;
357
- gap: 1.5rem;
358
- justify-content: center;
359
- flex-wrap: wrap;
360
- max-width: 800px;
361
- margin: 0 auto;
362
- }
363
- .cta-button.tiktok-btn {
364
- background: #000000;
365
- }
366
- .cta-button.tiktok-btn:hover {
367
- background: #ff0050;
368
- }
369
- .cta-button.instagram-btn {
370
- background: #E1306C;
371
- }
372
- .cta-button.instagram-btn:hover {
373
- background: #833AB4;
374
- }
375
- footer {
376
- background: var(--dark);
377
- color: white;
378
- padding: 3rem 5%;
379
- margin-top: 2rem;
380
- }
381
- .footer-content {
382
- max-width: 1200px;
383
- margin: 0 auto;
384
- display: grid;
385
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
386
- gap: 2rem;
387
- }
388
- .footer-section h3 {
389
- margin-bottom: 1rem;
390
- color: white;
391
- }
392
- .footer-links a {
393
- color: #e2e8f0;
394
- text-decoration: none;
395
- display: block;
396
- margin-bottom: 0.5rem;
397
- transition: color 0.2s;
398
- }
399
- .footer-links a:hover {
400
- color: var(--accent);
401
- }
402
- @media (max-width: 768px) {
403
- :root {
404
- --section-padding: 3rem 5%;
405
- --section-gap: 1.5rem;
406
- }
407
- .menu-toggle {
408
- display: block;
409
- }
410
- .nav-links {
411
- display: none;
412
- position: absolute;
413
- top: 100%;
414
- left: 0;
415
- right: 0;
416
- background: white;
417
- padding: 1rem;
418
- box-shadow: 0 2px 10px rgba(0,0,0,0.05);
419
- flex-direction: column;
420
- gap: 0.5rem;
421
- }
422
- .nav-links.active {
423
- display: flex;
424
- }
425
- .hero {
426
- padding: 100px 5% 40px;
427
- }
428
- .hero h1 {
429
- font-size: 2rem;
430
- }
431
- .swiper {
432
- height: 300px;
433
- }
434
- .cta-button {
435
- width: 100%;
436
- justify-content: center;
437
- }
438
- .social-buttons {
439
- flex-direction: column;
440
- }
441
- .material-card {
442
- margin: 0 1rem;
443
- }
444
- }
445
- @keyframes fadeIn {
446
- from { opacity: 0; transform: translateY(20px); }
447
- to { opacity: 1; transform: translateY(0); }
448
- }
449
- .section-title,
450
- .services-grid,
451
- .swiper,
452
- .step-list,
453
- .social-buttons {
454
- animation: fadeIn 0.6s ease-out;
455
- }
456
- </style>
457
- </head>
458
- <body>
459
- <header class="header">
460
- <nav class="nav">
461
- <a href="#" class="logo">RoofMaster</a>
462
- <button class="menu-toggle" aria-label="Открыть меню">☰</button>
463
- <div class="nav-links">
464
- <a href="#services">Услуги</a>
465
- <a href="#gallery">Работы</a>
466
- <a href="#materials">Материалы</a>
467
- <a href="#steps">Этапы</a>
468
- <a href="#social">Соцсети</a>
469
- </div>
470
- </nav>
471
- </header>
472
-
473
- <section class="hero">
474
- <div class="hero-content">
475
- <h1>Профессиональные кровельные работы</h1>
476
- <p>Качественный монтаж и ремонт кровли с гарантией 5 лет</p>
477
- <a href="tel:+380979752177" class="cta-button" data-operator="Киевстар" data-phone="+380 97 975 2177">
478
- <i class="fas fa-phone-alt"></i>
479
- <span class="button-text">Киевстар</span>
480
- </a>
481
- <a href="tel:+380959009448" class="cta-button" data-operator="Водафон" data-phone="+380 95 900 9448">
482
- <i class="fas fa-phone-alt"></i>
483
- <span class="button-text">Водафон</span>
484
- </a>
485
- </div>
486
- </section>
487
-
488
- <section class="services" id="services">
489
- <h2 class="section-title">Наши услуги</h2>
490
- <div class="services-grid">
491
- <div class="service-card">
492
- <div class="service-icon">
493
- <i class="fas fa-hammer"></i>
494
- </div>
495
- <h3>Монтаж кровли</h3>
496
- <p>Установка всех видов кровельных покрытий любой сложности</p>
497
- </div>
498
- <div class="service-card">
499
- <div class="service-icon">
500
- <i class="fas fa-tools"></i>
501
- </div>
502
- <h3>Ремонт кровли</h3>
503
- <p>Качественное восстановление и усиление конструкций</p>
504
- </div>
505
- <div class="service-card">
506
- <div class="service-icon">
507
- <i class="fas fa-building"></i>
508
- </div>
509
- <h3>Обслуживание кровли</h3>
510
- <p>Регулярный осмотр, чистка и профилактические работы для поддержания кровли в идеальном состоянии</p>
511
- </div>
512
- </div>
513
- </section>
514
-
515
- <section class="gallery-section" id="gallery">
516
- <h2 class="section-title">Примеры работ</h2>
517
- <div class="swiper">
518
- <div class="swiper-wrapper">
519
- <div class="swiper-slide">
520
- <img src="https://eliteroof.dp.ua/_files/usr/catalog/Suntile/metalicheskaya_suntile_dnepropetrovsk.jpg" alt="Пример работы 1">
521
- <div class="slide-caption">
522
- <h3>Жилая крыша</h3>
523
- <p>Монтаж металлочерепицы</p>
524
- </div>
525
- </div>
526
- <div class="swiper-slide">
527
- <img src="https://kingdom.com.ua/images/ploskaiakrisha.jpg" alt="Пример работы 2">
528
- <div class="slide-caption">
529
- <h3>Коммерческий объект</h3>
530
- <p>Ремонт плоской кровли</p>
531
- </div>
532
- </div>
533
- </div>
534
- <div class="swiper-pagination"></div>
535
- <div class="swiper-button-next"></div>
536
- <div class="swiper-button-prev"></div>
537
- </div>
538
- </section>
539
-
540
- <section class="materials-section" id="materials">
541
- <h2 class="section-title">Используемые материалы</h2>
542
- <div class="materials-grid">
543
- <div class="material-card">
544
- <div class="material-image">
545
- <img src="https://akm.kiev.ua/image/cache/catalog/glavna/2022/1-3-360-263-falc-370x270.jpg" alt="Фальцевая кровля">
546
- </div>
547
- <div class="material-content">
548
- <h3>Фальцевая кровля</h3>
549
- <ul class="material-props">
550
- <li><i class="fas fa-layer-group"></i> Материал: оцинкованная сталь/медь</li>
551
- <li><i class="fas fa-lock"></i> Шов: двойной замок</li>
552
- <li><i class="fas fa-calendar"></i> Срок службы: 50 лет</li>
553
- <li><i class="fas fa-tools"></i> Монтаж: бесщелевой</li>
554
- </ul>
555
- </div>
556
- </div>
557
- <div class="material-card">
558
- <div class="material-image">
559
- <img src="https://akm.kiev.ua/image/cache/catalog/glavna/2022/1-4-360-263-profnastil-001-370x270.jpg" alt="Профнастил">
560
- </div>
561
- <div class="material-content">
562
- <h3>Профнастил</h3>
563
- <ul class="material-props">
564
- <li><i class="fas fa-ruler"></i> Толщина: 0.4-0.7 мм</li>
565
- <li><i class="fas fa-paint-brush"></i> Покрытие: полимерное</li>
566
- <li><i class="fas fa-wave-square"></i> Высота волны: 20-40 мм</li>
567
- <li><i class="fas fa-palette"></i> Цвета: 20 вариантов</li>
568
- </ul>
569
- </div>
570
- </div>
571
- <div class="material-card">
572
- <div class="material-image">
573
- <img src="https://akm.kiev.ua/image/cache/catalog/glavna/2022/3-4-360-263-soffit-370x270.jpg" alt="Подшивка софит">
574
- </div>
575
- <div class="material-content">
576
- <h3>Подшивка (софит)</h3>
577
- <ul class="material-props">
578
- <li><i class="fas fa-box"></i> Материал: ПВХ/металл</li>
579
- <li><i class="fas fa-wind"></i> Вентиляция: перфорированный</li>
580
- <li><i class="fas fa-ruler-horizontal"></i> Ширина: 30-50 см</li>
581
- <li><i class="fas fa-sun"></i> УФ-защита</li>
582
- </ul>
583
- </div>
584
- </div>
585
- <div class="material-card">
586
- <div class="material-image">
587
- <img src="https://akm.kiev.ua/image/cache/catalog/glavna/2022/2-2-823-289-m.okna-750x263.jpg" alt="Мансардные окна">
588
- </div>
589
- <div class="material-content">
590
- <h3>Мансардные окна</h3>
591
- <ul class="material-props">
592
- <li><i class="fas fa-window-maximize"></i> Остекление: 2-3 камеры</li>
593
- <li><i class="fas fa-cube"></i> Материал: дерево/ПВХ</li>
594
- <li><i class="fas fa-temperature-low"></i> Теплоизоляция</li>
595
- <li><i class="fas fa-cog"></i> Механизм открывания</li>
596
- </ul>
597
- </div>
598
- </div>
599
- <div class="material-card">
600
- <div class="material-image">
601
- <img src="https://akm.kiev.ua/image/cache/catalog/glavna/2022/2-1-397-611-vodostok-002-370x570.jpg" alt="Водосточные системы">
602
- </div>
603
- <div class="material-content">
604
- <h3>Водосточные системы</h3>
605
- <ul class="material-props">
606
- <li><i class="fas fa-tint"></i> Материал: ПВХ/металл</li>
607
- <li><i class="fas fa-ruler-vertical"></i> Диаметр: 100-150 мм</li>
608
- <li><i class="fas fa-snowflake"></i> Морозостойкость</li>
609
- <li><i class="fas fa-boxes"></i> Комплектующие в наборе</li>
610
- </ul>
611
- </div>
612
- </div>
613
- <div class="material-card">
614
- <div class="material-image">
615
- <img src="https://akm.kiev.ua/image/cache/catalog/glavna/2022/1-1-397-611-metall-005-370x570.jpg" alt="Металлочерепица">
616
- </div>
617
- <div class="material-content">
618
- <h3>Металлочерепица</h3>
619
- <ul class="material-props">
620
- <li><i class="fas fa-ruler-combined"></i> Толщина: 0.5 мм</li>
621
- <li><i class="fas fa-shield-alt"></i> Гарантия: 25 лет</li>
622
- <li><i class="fas fa-palette"></i> Цвета: 15 вариантов</li>
623
- </ul>
624
- </div>
625
- </div>
626
- <div class="material-card">
627
- <div class="material-image">
628
- <img src="https://www.1d.ua/image/cache/webp/catalog/fotosNew/bitumna-cherepytsia/brava-bitumna-cherepytsia/76331-700x700.webp" alt="Гибкая черепица">
629
- </div>
630
- <div class="material-content">
631
- <h3>Гибкая черепица</h3>
632
- <ul class="material-props">
633
- <li><i class="fas fa-layer-group"></i> Слои: 3</li>
634
- <li><i class="fas fa-thermometer-three-quarters"></i> Морозостойкость: -60°C</li>
635
- <li><i class="fas fa-tint"></i> Водонепроницаемость: 100%</li>
636
- </ul>
637
- </div>
638
- </div>
639
- <div class="material-card">
640
- <div class="material-image">
641
- <img src="https://www.sddu.com.ua/images/1-_enl.jpg" alt="Медная кровля">
642
- </div>
643
- <div class="material-content">
644
- <h3>Медная кровля</h3>
645
- <ul class="material-props">
646
- <li><i class="fas fa-weight-hanging"></i> Вес: 5-7 кг/м²</li>
647
- <li><i class="fas fa-history"></i> Срок службы: 100+ лет</li>
648
- <li><i class="fas fa-atom"></i> Патина: естественное покрытие</li>
649
- </ul>
650
- </div>
651
- </div>
652
- </div>
653
- </section>
654
-
655
- <section class="steps-section" id="steps">
656
- <h2 class="section-title">Как мы работаем</h2>
657
- <div class="step-list">
658
- <div class="step-item">
659
- <div>
660
- <h3>Консультация</h3>
661
- <p>Бесплатный выезд специалиста</p>
662
- </div>
663
- </div>
664
- <div class="step-item">
665
- <div>
666
- <h3>Договор</h3>
667
- <p>Фиксированная стоимость работ</p>
668
- </div>
669
- </div>
670
- <div class="step-item">
671
- <div>
672
- <h3>Реализация</h3>
673
- <p>Качественное выполнение работ</p>
674
- </div>
675
- </div>
676
- </div>
677
- </section>
678
-
679
- <section class="social-section" id="social">
680
- <h2 class="section-title">Мы в соцсетях</h2>
681
- <div class="social-buttons">
682
- <a href="https://tiktok.com/@ваш_аккаунт" target="_blank" class="cta-button tiktok-btn">
683
- <i class="fab fa-tiktok"></i>
684
- TikTok
685
- </a>
686
- <a href="https://instagram.com/ваш_аккаунт" target="_blank" class="cta-button instagram-btn">
687
- <i class="fab fa-instagram"></i>
688
- Instagram
689
- </a>
690
- </div>
691
- </section>
692
-
693
- <footer>
694
- <div class="footer-content">
695
- <div class="footer-section">
696
- <h3>RoofMaster</h3>
697
- <p>Качественные кровельные решения</p>
698
- </div>
699
- <div class="footer-section">
700
- <h3>Контакты</h3>
701
- <p>+380 97 975 2177</p>
702
- <p>+380 95 900 9448</p>
703
704
- </div>
705
- <div class="footer-section">
706
- <h3>Навигация</h3>
707
- <div class="footer-links">
708
- <a href="#services">Услуги</a>
709
- <a href="#gallery">Работы</a>
710
- <a href="#materials">Материалы</a>
711
- <a href="#social">Соцсети</a>
712
- </div>
713
- </div>
714
- </div>
715
- </footer>
716
-
717
- <script src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
718
- <script>
719
- const swiper = new Swiper('.swiper', {
720
- loop: true,
721
- autoplay: { delay: 5000 },
722
- pagination: { el: '.swiper-pagination', clickable: true },
723
- navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev' },
724
- grabCursor: true,
725
- });
726
- const menuToggle = document.querySelector('.menu-toggle');
727
- const navLinks = document.querySelector('.nav-links');
728
- menuToggle.addEventListener('click', () => {
729
- navLinks.classList.toggle('active');
730
- });
731
- document.addEventListener('click', (e) => {
732
- if (!e.target.closest('.nav')) {
733
- navLinks.classList.remove('active');
734
- }
735
- });
736
- document.querySelectorAll('a[href^="#"]').forEach(anchor => {
737
- anchor.addEventListener('click', function(e) {
738
- e.preventDefault();
739
- const target = document.querySelector(this.getAttribute('href'));
740
- target.scrollIntoView({ behavior: 'smooth', block: 'start' });
741
- });
742
- });
743
- document.querySelectorAll('.cta-button[data-phone]').forEach(button => {
744
- const operator = button.dataset.operator;
745
- const phone = button.dataset.phone;
746
- const textSpan = button.querySelector('.button-text');
747
-
748
- button.addEventListener('mouseenter', () => textSpan.textContent = phone);
749
- button.addEventListener('mouseleave', () => textSpan.textContent = operator);
750
- });
751
- </script>
752
- </body>
753
- </html>