PageSourceSearch

https://goloskaspia.ru/team.html

html goloskaspia.ru collected 2026-10-08 13:57:11 UTC 42,049 bytes, 885 lines download raw bytes

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    <!-- SEO Meta Tags -->
7    <title>Команда Голоса Каспия | Организаторы и представители музыкального конкурса</title>
8    <meta
9      name="description"
10      content="Команда музыкального конкурса «Голос Каспия» — организаторы, эксперты и региональные представители. Познакомьтесь с людьми, которые создают этот уникальный проект."
11    />
12    <meta
13      name="keywords"
14      content="команда голос каспия, организаторы конкурса, региональные представители, музыкальный конкурс команда, газизов денис, поляков михаил, боярская татьяна"
15    />
16    <meta name="author" content="ММК Голос Каспия" />
17    <meta
18      name="robots"
19      content="index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"
20    />
21    <meta name="googlebot" content="index, follow" />
22    <meta name="language" content="Russian" />
23    <meta name="geo.region" content="RU-AST" />
24    <meta name="geo.placename" content="Астрахань" />
25    <meta name="geo.position" content="46.3497;48.0408" />
26    <meta name="ICBM" content="46.3497, 48.0408" />
27    <!-- Canonical URL -->
28    <link rel="canonical" href="https://goloskaspia.ru/team.html" />
29    <!-- Open Graph / Facebook -->
30    <meta property="og:type" content="website" />
31    <meta property="og:url" content="https://goloskaspia.ru/team.html" />
32    <meta
33      property="og:title"
34      content="Команда Голоса Каспия | Организаторы и представители музыкального конкурса"
35    />
36    <meta
37      property="og:description"
38      content="Команда музыкального конкурса «Голос Каспия» — организаторы, эксперты и региональные представители."
39    />
40    <meta
41      property="og:image"
42      content="https://goloskaspia.ru/img/og-image.jpg"
43    />
44    <meta property="og:image:width" content="1200" />
45    <meta property="og:image:height" content="630" />
46    <meta
47      property="og:image:alt"
48      content="Команда Голоса Каспия - Организаторы музыкального конкурса"
49    />
50    <meta property="og:site_name" content="Голос Каспия" />
51    <meta property="og:locale" content="ru_RU" />
52    <!-- Twitter -->
53    <meta property="twitter:card" content="summary_large_image" />
54    <meta property="twitter:url" content="https://goloskaspia.ru/team.html" />
55    <meta
56      property="twitter:title"
57      content="Команда Голоса Каспия | Организаторы и представители музыкального конкурса"
58    />
59    <meta
60      property="twitter:description"
61      content="Команда музыкального конкурса «Голос Каспия» — организаторы, эксперты и региональные представители."
62    />
63    <meta
64      property="twitter:image"
65      content="https://goloskaspia.ru/img/og-image.jpg"
66    />
67    <meta
68      property="twitter:image:alt"
69      content="Команда Голоса Каспия - Организаторы музыкального конкурса"
70    />
71    <meta property="twitter:creator" content="@goloskaspia" />
72    <meta property="twitter:site" content="@goloskaspia" />
73    <!-- Additional SEO -->
74    <meta name="theme-color" content="#10b981" />
75    <meta name="msapplication-TileColor" content="#10b981" />
76    <meta name="apple-mobile-web-app-title" content="Голос Каспия" />
77    <meta name="application-name" content="Голос Каспия" />
78    <!-- Yandex.Metrika counter -->
79    
79<script type="text/javascript">
80      (function (m, e, t, r, i, k, a) {
81        m[i] =
82          m[i] ||
83          function () {
84            (m[i].a = m[i].a || []).push(arguments);
85          };
86        m[i].l = 1 * new Date();
87        for (var j = 0; j < document.scripts.length; j++) {
88          if (document.scripts[j].src === r) {
89            return;
90          }
91        }
92        (k = e.createElement(t)),
93          (a = e.getElementsByTagName(t)[0]),
94          (k.async = 1),
95          (k.src = r),
96          a.parentNode.insertBefore(k, a);
97      })(
98        window,
99        document,
100        "script",
101        "https://mc.yandex.ru/metrika/tag.js",
102        "ym"
103      );
104      ym(97520000, "init", {
105        clickmap: true,
106        trackLinks: true,
107        accurateTrackBounce: true,
108        webvisor: true,
109      });
110    </script>
110
111    <noscript
112      ><div>
113        <img
114          src="https://mc.yandex.ru/watch/97520000"
115          style="position: absolute; left: -9999px"
116          alt=""
117        /></div
118    ></noscript>
119    <!-- /Yandex.Metrika counter -->
120    <!-- Google Analytics -->
vendor: 83 bytes, lines 120-123
120
121    <script
122      async
123      src="https://www.googletagmanager.com/gtag/js?id=
123G-XXXXXXXXXX
vendor: 23 bytes, lines 123-125
123"
124    ></script>
125    
125<script>
126      
vendor: 167 bytes, lines 126-131
126window.dataLayer = window.dataLayer || [];
127      function gtag() {
128        dataLayer.push(arguments);
129      }
130      gtag("js", new Date());
131      gtag("config", "
131G-XXXXXXXXXX
vendor: 9 bytes, lines 131-132
131");
132    
132</script>
132
133    <!-- Favicon -->
134   <!-- Preload critical resources -->
135   <link rel="preload" href="css/style.min.css" as="style" />
136   <link
137     rel="preload"
138     href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap"
139     as="style"
140   />
141   <!-- Stylesheets -->
142   <link rel="stylesheet" href="css/style.min.css?v=1.2" />
143   <link
144     rel="stylesheet"
145     href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"
146   />
147   <link rel="preconnect" href="https://fonts.googleapis.com" />
148   <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
149   <link
150     href="https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600;700&display=swap"
151     rel="stylesheet"
152   />
153   <!-- Icons -->
154   <link rel="icon" href="img/logo.png" type="image/png" />
155   <link rel="apple-touch-icon" href="img/logo.png" />
156   <link rel="shortcut icon" href="img/logo.png" />
157   <!-- Alternate languages -->
158   <link rel="alternate" hreflang="ru" href="https://goloskaspia.ru/" />
159   <link
160     rel="alternate"
161     hreflang="en"
162     href="https://goloskaspia.ru/index_en.html"
163   />
164   <link
165     rel="alternate"
166     hreflang="zh"
167     href="https://goloskaspia.ru/index_zh.html"
168   />
169   <link rel="alternate" hreflang="x-default" href="https://goloskaspia.ru/" />
170    <link rel="stylesheet" href="css/style.css" />
171
172    <!-- Structured Data -->
173    
173<script type="application/ld+json">
174      {
175        "@context": "https://schema.org",
176        "@type": "Organization",
177        "name": "Голос Каспия",
178        "url": "https://goloskaspia.ru",
179        "logo": "https://goloskaspia.ru/img/logo.png",
180        "description": "Международный музыкальный конкурс для музыкантов и исполнителей всех возрастов и профессий",
181        "address": {
182          "@type": "PostalAddress",
183          "addressLocality": "Астрахань",
184          "addressRegion": "Астраханская область",
185          "addressCountry": "RU"
186        },
187        "contactPoint": {
188          "@type": "ContactPoint",
189          "telephone": "+7-XXX-XXX-XX-XX",
190          "contactType": "customer service"
191        }
192      }
193    </script>
193
194  </head>
195
196  <body>
197    <!-- Шапка сайта -->
198       <!-- Шапка сайта -->
199       <header class="header">
200        <div class="container">
201          <nav class="navbar">
202            <div class="logo">
203              <img src="img/logo.png" alt="Голос Каспия" class="logo-img" />
204            </div>
205            <ul class="nav-menu">
206              <li><a href="index.html#festival">О конкурсе</a></li>
207              <li><a href="/music-competition.html">Музыкальный конкурс</a></li>
208              <li><a href="index.html#gallery">Галерея</a></li>
209              <li><a href="index.html#jury">Жюри</a></li>
210              <li><a href="team.html">Команда</a></li>
211              <li><a href="index.html#success">Истории успеха</a></li>
212              <li><a href="index.html#faq">FAQ</a></li>
213              <li>
214                <a
215                  href="https://t.me/goloskaspia"
216                  target="_blank"
217                  class="nav-telegram"
218                  ><i class="fab fa-telegram"></i> Telegram</a
219                >
220              </li>
221            </ul>
222            <!-- Language Switcher -->
223            <div class="lang-switcher">
224              <a href="index.html" class="lang-btn active">RU</a>
225              <a href="index_en.html" class="lang-btn">EN</a>
226              <a href="index_zh.html" class="lang-btn">中文</a>
227            </div>
228            <div class="hamburger">
229              <span></span>
230              <span></span>
231              <span></span>
232            </div>
233          </nav>
234          <div class="hero">
235            <h1 class="glowing-text" data-lang="hero.title">Голос Каспия — Международный Музыкальный Конкурс</h1>
236            <p class="subtitle" data-lang="hero.subtitle">
237              Конкурс музыкантов и исполнителей всех возрастов и профессий с призовым фондом 250,000₽
238            </p>
239            <!-- Баннер с датой начала приема заявок -->
240            <div class="application-banner">
241              <div class="banner-content">
242                <i class="fas fa-calendar-alt"></i>
243                <span>Начало приема заявок с 1 сентября</span>
244              </div>
245            </div>
246            <!-- Счетчик призового фонда -->
247            <div class="prize-fund-counter">
248              <div class="prize-fund-label" data-lang="hero.prizeFund">
249                Призовой фонд
250              </div>
251              <div class="prize-fund-amount">
252                <span class="currency">₽</span>
253                <span class="amount" id="prizeFundAmount">250000</span>
254              </div>
255              <div class="prize-fund-note" data-lang="hero.prizeFundNote">
256                Формируется из организационных взносов участников
257              </div>
258            </div>
259            <div class="hero-audio">
260              <button class="play-button">
261                <i class="fas fa-play"></i>
262                <span data-lang="hero.listenHymn">Слушать гимн проекта</span>
263              </button>
264              <audio id="hymn-audio">
265                <source src="audio/hymn.mp3" type="audio/mpeg" />
266              </audio>
267              <div class="audio-wave">
268                <span></span>
269                <span></span>
270                <span></span>
271                <span></span>
272                <span></span>
273              </div>
274            </div>
275            <div class="hero-cta">
276              <!--#join вместо обычного #-->
277                      <a href="#join" class="btn btn-primary" data-lang="hero.participate"
278            >Заполнить заявку и принять участие</a>
279              <!--docs/Положение ММК ГК 2025F.pdf вместо обычного #-->
280              <a
281                href="docs/Положение ММОК ГКК.pdf"
282                class="btn btn-secondary"
283                download
284                data-lang="hero.download"
285                >Скачать Положение</a
286              >
287            </div>
288          </div>
289        </div>
290        <div class="wave-divider"></div>
291      </header>
292
293    <!-- Основной контент -->
294    <main>
295
296      <!-- Основная команда -->
297      <section class="main-team">
298        <div class="container">
299          <div class="section-header">
300            <h2>Основная команда</h2>
301            <div class="accent-line"></div>
302          </div>
303           <div class="team-grid">
304             <div class="team-member">
305               <div class="member-photo">
306                 <img src="img/team/Руслан Курмуков.jpg" alt="Курмуков Руслан" loading="lazy" />
307               </div>
308               <div class="member-info">
309                 <h3 class="member-name">Курмуков Руслан</h3>
310                 <p class="member-role">Фотограф модельного агентства , Видеограф</p>
311               </div>
312             </div>
313             <div class="team-member">
314               <div class="member-photo">
315                 <img src="img/team/Поляков Михаил.jpg" alt="Михаил Поляков" loading="lazy" />
316               </div>
317               <div class="member-info">
318                 <h3 class="member-name">Поляков Михаил</h3>
319                 <p class="member-role">Полиграфический дизайнер, журналист, блогер, писатель</p>
320               </div>
321             </div>
322             <div class="team-member">
323               <div class="member-photo">
324                 <img src="img/team/Татьяна Боярская.jpg" alt="Татьяна Боярская" loading="lazy" />
325               </div>
326               <div class="member-info">
327                 <h3 class="member-name">Боярская Татьяна</h3>
328                 <p class="member-role">Народная артистка республики Ингушетия, президент ТО Голос Каспия, концертный директор ГК</p>
329               </div>
330             </div>
331             <div class="team-member">
332               <div class="member-photo">
333                 <img src="img/team/Илья Матыченко.jpg" alt="Илья Матыченко" loading="lazy" />
334               </div>
335               <div class="member-info">
336                 <h3 class="member-name">Матыченко Илья</h3>
337                 <p class="member-role">Разработчик с многолетним опытом в создании сайтов и программ. Разработал сайт компании «Голос Каспия». Выпускник политехнического колледжа, г. Астрахань</p>
338               </div>
339             </div>
340           </div>
341        </div>
342      </section>
343
344      <!-- Региональные представители -->
345      <section class="regional-representatives section-gradient">
346        <div class="container">
347          <div class="section-header light">
348            <h2>Региональные представители</h2>
349            <div class="accent-line light"></div>
350          </div>
351           <div class="representatives-grid">
352             <div class="representative-card">
353               <div class="representative-photo">
354                 <img src="img/team/Валентина Чернякова.jpg" alt="Чернякова Валентина Владимировна" loading="lazy" />
355               </div>
356               <div class="representative-info">
357                 <h3 class="representative-name">Чернякова Валентина Владимировна</h3>
358                 <p class="representative-description">
359                   Директор ГАУК АО "Астраханская государственная филармония", генеральный директор фонда "Встреча". 
360                   Член политического совета Астраханского регионального отделения Всероссийской политической ПАРТИИ" ЕДИНАЯ РОССИЯ ". 
361                   Депутат думы МО "Городской ок
361руг город Астрахань " седьмого созыва.
362                 </p>
363                 <span class="representative-region">Региональный представитель ГК</span>
364               </div>
365             </div>
366             <div class="representative-card">
367               <div class="representative-photo">
368                 <img src="img/team/Четырешникова Евгения.jpg" alt="Четырешникова Евгения Сергеевна" loading="lazy" />
369               </div>
370               <div class="representative-info">
371                 <h3 class="representative-name">Четырешникова Евгения Сергеевна</h3>
372                 <p class="representative-description">
373                   Действующий вокалист г.Барнаула, жюри многочисленных вокальных конкурсов.
374                 </p>
375               </div>
376             </div>
377             <div class="representative-card">
378               <div class="representative-photo">
379                 <img src="img/team/Старостина Ульяна.jpg" alt="Старостина Ульяна" loading="lazy" />
380               </div>
381               <div class="representative-info">
382                 <h3 class="representative-name">Старостина Ульяна</h3>
383                 <p class="representative-description">
384                   Занимаю активную жизненную позицию. Ценю в людях честность и открытость 😊 
385                   Имею большой опыт в организации благотворительных концертов и мероприятий
386                 </p>
387               </div>
388             </div>
389           </div>
390        </div>
391      </section>
392
393      <!-- Другие представители -->
394      <section class="other-representatives">
395        <div class="container">
396          <div class="section-header">
397            <h2>Представители команды</h2>
398            <div class="accent-line"></div>
399          </div>
400          <div class="representatives-list">
401            <div class="representative-item">
402              <h4>Лапаева Дарья Сергеевна</h4>
403            </div>
404            <div class="representative-item">
405              <h4>Насырова Гульназ</h4>
406            </div>
407            <div class="representative-item">
408              <h4>Дидора О.Н</h4>
409            </div>
410            <div class="representative-item">
411              <h4>Зюзина Анна Алексеевна</h4>
412            </div>
413            <div class="representative-item">
414              <h4>Вдовина Мария Сергеевна</h4>
415            </div>
416            <div class="representative-item">
417              <h4>Ладыка Татьяна Николаевна</h4>
418            </div>
419            <div class="representative-item">
420              <h4>Бочков Евгений Владимирович</h4>
421            </div>
422            <div class="representative-item">
423              <h4>Бузынин Максим Сергеевич</h4>
424            </div>
425            <div class="representative-item">
426              <h4>Михеева Мария Хафизовна</h4>
427            </div>
428            <div class="representative-item">
429              <h4>Полоненко Светлана Витальевна</h4>
430            </div>
431            <div class="representative-item">
432              <h4>Удовенко Антон Сергеевич</h4>
433            </div>
434            <div class="representative-item">
435              <h4>Балыков Дмитрий Викторович</h4>
436            </div>
437            <div class="representative-item">
438              <h4>Михиденко Елена Викторовна</h4>
439            </div>
440            <div class="representative-item">
441              <h4>Калымова Гульсара Серекбаевна</h4>
442            </div>
443            <div class="representative-item">
444              <h4>Чернышкова Алёна Сергеевна</h4>
445            </div>
446            <div class="representative-item">
447              <h4>Нуркасиев Ринат Маратович</h4>
448            </div>
449            <div class="representative-item">
450              <h4>Рудаков Олег Владимирович</h4>
451            </div>
452            <div class="representative-item">
453              <h4>Гуменникова Мария Геннадьевна</h4>
454            </div>
455            <div class="representative-item">
456              <h4>Коломиец Роман Сергеевич</h4>
457            </div>
458            <div class="representative-item">
459              <h4>Курникова Наталья Николаевна</h4>
460            </div>
461            <div class="representative-item">
462              <h4>Бикмухаметова Гульнара Нуриахметовна</h4>
463            </div>
464            <div class="representative-item">
465              <h4>Цветкова Алиса Сергеевна</h4>
466            </div>
467            <div class="representative-item">
468              <h4>Жилинская Марина Викторовна</h4>
469            </div>
470          </div>
471        </div>
472      </section>
473    </main>
474
475    <!-- Футер -->
476    <footer class="footer">
477        <div class="container">
478          <div class="footer-content">
479            <div class="footer-logo">
480              <div class="logo">
481                <img src="img/logo.png" alt="Голос Каспия" class="logo-img" />
482              </div>
483              <p data-lang="footer.description">
484                Масштабный социально-культурный проект
485              </p>
486            </div>
487            <div class="footer-links">
488              <div class="link-group">
489                <h4 data-lang="footer.nav">Навигация</h4>
490                <ul>
491                  <li><a href="#about">О проекте</a></li>
492                  <li><a href="#gallery">Галерея</a></li>
493                  <li><a href="#jury">Жюри</a></li>
494                  <li><a href="team.html">Команда</a></li>
495                  <li><a href="#success">Истории успеха</a></li>
496                  <li><a href="/music-competition.html">Музыкальный конкурс</a></li>
497                  <li>
498                    <a
499                      href="https://t.me/goloskaspia"
500                      target="_blank"
501                      class="nav-telegram"
502                      ><i class="fab fa-telegram"></i> Telegram</a
503                    >
504                  </li>
505                </ul>
506              </div>
507              <div class="link-group">
508                <h4 data-lang="footer.contacts">Контакты</h4>
509                <ul>
510                  <li><i class="fas fa-envelope"></i>[email protected]</li>
511                  <li><i class="fas fa-phone"></i> +7 (926) 757 77 87</li>
512                </ul>
513              </div>
514              <div class="link-group">
515                <h4 data-lang="footer.social">Социальные сети</h4>
516                <div class="social-icons">
517                  <a href="#"><i class="fab fa-vk"></i></a>
518                  <a href="https://t.me/goloskaspia" target="_blank"
519                    ><i class="fab fa-telegram-plane"></i
520                  ></a>
521                </div>
522              </div>
523            </div>
524          </div>
525          <div class="footer-bottom">
526            <p data-lang="footer.copyright">
527              &copy; 2010-2025 Голос Каспия. Все права защищены.
528            </p>
529          </div>
530        </div>
531      </footer>
532    <!-- Скрипты -->
533    
533<script src="js/main.js"></script>
533
534    
534<script src="js/agent.js?v=1.2"></script>
534
535    
535<script src="js/script.js?v=1.2"></script>
535
536    
536<script src="js/forms.js?v=1.2"></script>
536
537    
537<script src="js/payment.js?v=1.2"></script>
537
538    
538<script src="js/main.js?v=1.2"></script>
538
539    
539<script>
540      document.addEventListener("DOMContentLoaded", function () {
541        // Функции для временной модальной заглушки
542        function showStubModal() {
543          document.getElementById("stubModal").style.display = "block";
544          document.body.style.overflow = "hidden";
545        }
546        function closeStubModal() {
547          document.getElementById("stubModal").style.display = "none";
548          document.body.style.overflow = "";
549        }
550        var stubApplyBtn = document.getElementById("stub-apply-btn");
551        if (stubApplyBtn) {
552          stubApplyBtn.addEventListener("click", function (e) {
553            e.preventDefault();
554            showStubModal();
555          });
556        }
557        var stubDownloadBtn = document.getElementById("stub-download-btn");
558        if (stubDownloadBtn) {
559          stubDownloadBtn.addEventListener("click", function (e) {
560            e.preventDefault();
561            showStubModal();
562          });
563        }
564        var stubModalClose = document.getElementById("stubModalClose");
565        if (stubModalClose) {
566          stubModalClose.addEventListener("click", closeStubModal);
567        }
568        var stubModal = document.getElementById("stubModal");
569        if (stubModal) {
570          stubModal.addEventListener("click", function (e) {
571            if (e.target === this) closeStubModal();
572          });
573        }
574        // Счетчик приема заявок (29 августа — 1 сентября)
575        (function initApplicationCountdown() {
576          var bannerSpan = document.querySelector('.application-banner .banner-content span');
577          if (!bannerSpan) return;
578          var now = new Date();
579          var year = now.getFullYear();
580          // целевая дата: 1 сентября текущего года, 00:00 местного времени
581          var target = new Date(year, 8, 1, 0, 0, 0, 0); // месяцы с 0, сентябрь = 8
582          var preStart = new Date(target.getTime() - 3 * 24 * 60 * 60 * 1000); // за 3 дня до
583          function pluralDays(n) {
584            n = Math.abs(n) % 100;
585            var n1 = n % 10;
586            if (n > 10 && n < 20) return 'дней';
587            if (n1 === 1) return 'день';
588            if (n1 >= 2 && n1 <= 4) return 'дня';
589            return 'дней';
590          }
591          if (now >= preStart && now < target) {
592            var diffMs = target - now;
593            var daysLeft = Math.ceil(diffMs / (24 * 60 * 60 * 1000));
594            if (daysLeft < 1) daysLeft = 1; // на всякий случай округление
595            bannerSpan.textContent = 'До подачи заявок осталось ' + daysLeft + ' ' + pluralDays(daysLeft);
596          } else if (now >= target) {
597            bannerSpan.textContent = 'Прием заявок открыт';
598          } else {
599            // До периода - показываем исходный текст
600            // Ничего не меняем
601          }
602        })();
603        // Функции для модального окна эксперта
604        function showExpertModal() {
605          document.getElementById("expertApplicationModal").classList.add("show");
606          document.body.style.overflow = "hidden";
607        }
608        function closeExpertModal() {
609          document.getElementById("expertApplicationModal").classList.remove("show");
610          document.body.style.overflow = "";
611        }
612        // Обработчик кнопки "Стать экспертом"
613        var expertApplicationBtn = document.getElementById("expertApplicationBtn");
614        if (expertApplicationBtn) {
615          expertApplicationBtn.addEventListener("click", function (e) {
616            e.preventDefault();
617            showExpertModal();
618          });
619        }
620        // Обработчик закрытия модального окна эксперта
621        var expertModalClose = document.getElementById("expertModalClose");
622        if (expertModalClose) {
623          expertModalClose.addEventListener("click", closeExpertModal);
624        }
625        var expertApplicationModal = document.getElementById("expertApplicationModal");
626        if (expertApplicationModal) {
627          expertApplicationModal.addEventListener("click", function (e) {
628            if (e.target === this) closeExpertModal();
629          });
630        }
631        // Обработчик формы эксперта
632        var expertApplicationForm = document.getElementById("expertApplicationForm");
633        if (expertApplicationForm) {
634          expertApplicationForm.addEventListener("submit", function (e) {
635            e.preventDefault();
636            // Проверка согласий
637            var dataConsent = this.querySelector('input[name="data_consent"]');
638            var projectAgreement = this.querySelector('input[name="project_agreement"]');
639            if (!dataConsent || !dataConsent.checked) {
640              alert("Пожалуйста, подтвердите согласие на обработку и хранение личных данных.");
641              return;
642            }
643            if (!projectAgreement || !projectAgreement.checked) {
644              alert("Пожалуйста, подтвердите согласие с условиями участия в проекте.");
645              return;
646            }
647            // Показываем индикатор загрузки
648            var submitBtn = this.querySelector('button[type="submit"]');
649            var originalText = submitBtn.innerHTML;
650            submitBtn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Отправка...';
651            submitBtn.disabled = true;
652            // Собираем данные формы
653            var formData = new FormData(this);
654            formData.append("form_type", "expert");
655            // Отправляем данные на сервер
656            fetch("send.php", {
657              method: "POST",
658              body: formData,
659            })
660              .then((response) => response.json())
661              .then((data) => {
662                if (data.success) {
663                  alert("Спасибо! Ваша анкета эксперта отправлена. Мы свяжемся с вами в ближайшее время.");
664                  closeExpertModal();
665                  expertApplicationForm.reset();
666                } else {
667                  alert("Ошибка при отправке формы: " + (d
667ata.message || "Неизвестная ошибка"));
668                }
669              })
670              .catch((error) => {
671                // Игнорируем ошибки JSON и показываем успешное сообщение
672                console.log("Form submitted successfully");
673                alert("Спасибо! Ваша анкета эксперта отправлена. Мы свяжемся с вами в ближайшее время.");
674                closeExpertModal();
675                expertApplicationForm.reset();
676              })
677              .finally(() => {
678                // Восстанавливаем кнопку
679                submitBtn.innerHTML = originalText;
680                submitBtn.disabled = false;
681              });
682          });
683        }
684        // Функции для модального окна представителя
685        function showRepresentativeModal() {
686          document.getElementById("representativeModal").classList.add("show");
687          document.body.style.overflow = "hidden";
688        }
689        function closeRepresentativeModal() {
690          document
691            .getElementById("representativeModal")
692            .classList.remove("show");
693          document.body.style.overflow = "";
694        }
695        // Обработчик кнопки "Стать представителем"
696        var representativeBtn = document.getElementById("representative-btn");
697        if (representativeBtn) {
698          representativeBtn.addEventListener("click", function (e) {
699            e.preventDefault();
700            showRepresentativeModal();
701          });
702        }
703        // Обработчик закрытия модального окна представителя
704        var representativeModalClose = document.getElementById(
705          "representativeModalClose"
706        );
707        if (representativeModalClose) {
708          representativeModalClose.addEventListener(
709            "click",
710            closeRepresentativeModal
711          );
712        }
713        var representativeModal = document.getElementById(
714          "representativeModal"
715        );
716        if (representativeModal) {
717          representativeModal.addEventListener("click", function (e) {
718            if (e.target === this) closeRepresentativeModal();
719          });
720        }
721        // Обработчик формы представителя
722        var representativeForm = document.getElementById("representativeForm");
723        if (representativeForm) {
724          representativeForm.addEventListener("submit", function (e) {
725            e.preventDefault();
726            // Проверка согласия с положением
727            var dataConsent = this.querySelector('input[name="data_consent"]');
728            if (!dataConsent || !dataConsent.checked) {
729              alert(
730                "Пожалуйста, подтвердите согласие на обработку и хранение личных данных."
731              );
732              return;
733            }
734            // Показываем индикатор загрузки
735            var submitBtn = this.querySelector('button[type="submit"]');
736            var originalText = submitBtn.innerHTML;
737            submitBtn.innerHTML =
738              '<i class="fas fa-spinner fa-spin"></i> Отправка...';
739            submitBtn.disabled = true;
740            // Собираем данные формы
741            var formData = new FormData(this);
742            formData.append("form_type", "representative");
743            // Отправляем данные на сервер
744            fetch("send.php", {
745              method: "POST",
746              body: formData,
747            })
748              .then((response) => response.json())
749              .then((data) => {
750                if (data.success) {
751                  alert(
752                    "Спасибо! Ваша анкета представителя отправлена. Мы свяжемся с вами в ближайшее время."
753                  );
754                  closeRepresentativeModal();
755                  representativeForm.reset();
756                  // Сбрасываем счетчик символов
757                  var charCount = document.getElementById("char-count");
758                  if (charCount) charCount.textContent = "0";
759                } else {
760                  alert(
761                    "Ошибка при отправке формы: " +
762                      (data.message || "Неизвестная ошибка")
763                  );
764                }
765              })
766              .catch((error) => {
767                // Игнорируем ошибки JSON и просто показываем успешное сообщение
768                console.log("Form submitted successfully");
769                alert(
770                  "Спасибо! Ваша анкета представителя отправлена. Мы свяжемся с вами в ближайшее время."
771                );
772                closeRepresentativeModal();
773                representativeForm.reset();
774                // Сбрасываем счетчик символов
775                var charCount = document.getElementById("char-count");
776                if (charCount) charCount.textContent = "0";
777              })
778              .finally(() => {
779                // Восстанавливаем кнопку
780                submitBtn.innerHTML = originalText;
781                submitBtn.disabled = false;
782              });
783          });
784        }
785        // Показ/скрытие поля источника в зависимости от ответа
786        var heardAboutRadios = document.querySelectorAll(
787          'input[name="heard_about"]'
788        );
789        var sourceGroup = document.getElementById("source-group");
790        var sourceSelect = document.getElementById("representative-source");
791        var sourceOther = document.getElementById(
792          "representative-source-other"
793        );
794        heardAboutRadios.forEach(function (radio) {
795          radio.addEventListener("change", function () {
796            if (this.value === "yes") {
797              sourceGroup.style.display = "block";
798              sourceSelect.required = true;
799            } else {
800              sourceGroup.style.display = "none";
801              sourceSelect.required = false;
802              sourceSelect.value = "";
803              sourceOther.style.display = "none";
804            }
805          });
806        });
807        // Показ поля для "Иное" при выборе соответствующего варианта
808        if (sourceSelect) {
809          sourceSelect.addEventListener("change", function () {
810            if (this.value === "other") {
811              sourceOther.style.display = "block";
812              sourceOther.required = true;
813            } else {
814              sourceOther.style.display = "none";
815              sourceOther.required = false;
816              sourceOther.value = "";
817            }
818          });
819        }
820        // Подсчет символов в поле дополнительной информации
821        var additionalInfo = document.getElementById(
822          "representative-additional"
823        );
824        var charCount = document.getElementById("char-count");
825        if (additionalInfo && charCount) {
826          additionalInfo.addEventListener("input", function () {
827            var length = this.value.length;
828            charCount.textContent = length;
829            if (length > 280) {
830              charCount.style.color = "#dc3545";
831            } else if (length > 250) {
832              charCount.style.color = "#ffc107";
833            } else {
834              charCount.style.color = "#6c757d";
835            }
836          });
837        }
838        // Обработка range полей для отображения значений
839        var rangeInputs = document.querySelectorAll(
840          '.range-group input[type="range"]'
841        );
842        rangeInputs.forEach(function (rangeInput) {
843          var label = rangeInput.closest("label");
844          // Устанавливаем начальное значение
845          label.setAttribute("data-value", rangeInput.value + "/10");
846          // Обновляем значение при изменении
847          rangeInput.addEventListener("input", function () {
848            label.setAttribute("data-value", this.value + "/10");
849          });
850        });
851      });
852    </script>
852
853    
853<script type="application/ld+json">
854      {
855        "@context":"https://schema.org",
856        "@type":"WebSite",
857        "name":"Голос Каспия — музыкальный конкурс",
858        "url":"https://goloskaspia.ru/",
859        "potentialAction":{
860          "@type":"SearchAction",
861          "target":"https://goloskaspia.ru/?q={search_term_string}",
862          "query-input":"required name=search_term_string"
863        }
864      }
865      </script>
865
866      
866<script type="application/ld+json">
867      {
868        "@context":"https://schema.org",
869        "@type":"FAQPage",
870        "mainEntity":[
871          {
872            "@type":"Question",
873            "name":"Кто может участвовать в музыкальном конкурсе «Голос Каспия»?",
874            "acceptedAnswer":{"@type":"Answer","text":"Участвовать могут вокалисты и инструменталисты всех возрастов и уровней подготовки."}
875          },
876          {
877            "@type":"Question",
878            "name":"Как подать заявку на музыкальный конкурс?",
879            "acceptedAnswer":{"@type":"Answer","text":"Заполните анкету на сайте и оплатите оргвзнос — заявка отправится автоматически."}
880          }
881        ]
882      }
883      </script>
883
884  </body>
885</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.