1<!DOCTYPE html> 2<html lang="ru"> 3<head> 4 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 5<meta name="SKYPE_TOOLBAR" content="SKYPE_TOOLBAR_PARSER_COMPATIBLE" /> 6<link rel="icon" href="/img/favicon/favicon.ico"> 7<link rel="apple-touch-icon" sizes="180x180" href="/img/favicon/apple-touch-icon.png"> 8<link rel="icon" type="image/png" sizes="32x32" href="/img/favicon/favicon-32x32.png"> 9<link rel="icon" type="image/png" sizes="16x16" href="/img/favicon/favicon-16x16.png"> 10 11<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 12<meta name="description" content="ÐÑедлагаем в аÑÐµÐ½Ð´Ñ ÑÑÑболÑнÑе Ð¿Ð¾Ð»Ñ Ð² ÐоÑкве. Ðа вÑÐ±Ð¾Ñ 8 полей и 3 ÑÑÑболÑнÑÑ Ð¼Ð°Ð½ÐµÐ¶Ð°. ÐÑÑавлÑйÑе заÑвки Ð´Ð»Ñ Ð±Ñони." /> 13<link rel="canonical" href="https://rzdarena.ru/renta/" />
14<script data-skip-moving="true">(function(w, d, n) {var cl = "bx-core";var ht = d.documentElement;var htc = ht ? ht.className : undefined;if (htc === undefined || htc.indexOf(cl) !== -1){return;}var ua = n.userAgent;if (/(iPad;)|(iPhone;)/i.test(ua)){cl += " bx-ios";}else if (/Windows/i.test(ua)){cl += ' bx-win';}else if (/Macintosh/i.test(ua)){cl += " bx-mac";}else if (/Linux/i.test(ua) && !/Android/i.test(ua)){cl += " bx-linux";}else if (/Android/i.test(ua)){cl += " bx-android";}cl += (/(ipad|iphone|android|mobile|touch)/i.test(ua) ? " bx-touch" : " bx-no-touch");cl += w.devicePixelRatio && w.devicePixelRatio >= 2? " bx-retina": " bx-no-retina";if (/Safari/i.test(ua) && !/Chrome/i.test(ua)){cl += " bx-safari";}else if (/AppleWebKit/.test(ua)){cl += " bx-chrome";}else if (/Opera/.test(ua)){cl += " bx-opera";}else if (/Firefox/.test(ua)){cl += " bx-firefox";}ht.className = htc ? htc + " " + cl : cl;})(window, document, navigator);</script>
14 15 16 17<link href="/bitrix/cache/css/s1/main/template_25d3fa311d5049a2f2f7b3f2ce29c550/template_25d3fa311d5049a2f2f7b3f2ce29c550_v1.css?178711392160107" type="text/css" rel="stylesheet" data-template-style="true"/> 18 19 20 21 22 23 24 25<meta property="og:title" content="ÐÑенда ÑÑÑболÑнÑÑ Ð¿Ð¾Ð»ÐµÐ¹ в ÐоÑкве | ÐÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð ÐÐ ÐÑена" /> 26<meta property="twitter:title" content="ÐÑенда ÑÑÑболÑнÑÑ Ð¿Ð¾Ð»ÐµÐ¹ в ÐоÑкве | ÐÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð ÐÐ ÐÑена" /> 27<meta property="og:type" content="website" /> 28<meta property="og:image" content="https://rzdarena.ru/img/logo.svg" /> 29<meta property="og:url" content="https://rzdarena.ru/renta/" /> 30<meta property="og:description" content="ÐÑедлагаем в аÑÐµÐ½Ð´Ñ ÑÑÑболÑнÑе Ð¿Ð¾Ð»Ñ Ð² ÐоÑкве. Ðа вÑÐ±Ð¾Ñ 8 полей и 3 ÑÑÑболÑнÑÑ Ð¼Ð°Ð½ÐµÐ¶Ð°. ÐÑÑавлÑйÑе заÑвки Ð´Ð»Ñ Ð±Ñони." /> 31<meta property="twitter:description" content="ÐÑедлагаем в аÑÐµÐ½Ð´Ñ ÑÑÑболÑнÑе Ð¿Ð¾Ð»Ñ Ð² ÐоÑкве. Ðа вÑÐ±Ð¾Ñ 8 полей и 3 ÑÑÑболÑнÑÑ Ð¼Ð°Ð½ÐµÐ¶Ð°. ÐÑÑавлÑйÑе заÑвки Ð´Ð»Ñ Ð±Ñони." /> 32<meta property="twitter:image" content="https://rzdarena.ru/img/logo.svg" /> 33<meta property="twitter:card" content="summary_large_image" /> 34<meta property="twitter:site" content="@rzdarena_ru_443" /> 35<meta property="twitter:creator" content="@rzdarena_ru_443" /> 36 37 38 39<title>ÐÑенда ÑÑÑболÑнÑÑ Ð¿Ð¾Ð»ÐµÐ¹ в ÐоÑкве | ÐÑиÑиалÑнÑй ÑÐ°Ð¹Ñ Ð ÐÐ ÐÑена</title> 40</head> 41 42 43<body class="min-h-screen flex flex-col"> 44 <div id="panel"></div> 45 <header class="bg-loko-green py-3 header"> 46 <div class="container"> 47 <div class="flex lg:pb-3 lg:border-b lg:border-b-loko-white-32 lg:-mb-px"> 48 <div class="flex lg:grid gap-2 mr-auto my-auto"> 49 <button class="relative flex lg:hidden items-center gap-2 white-link menu-init" onclick="window?.headerMenu?.toggle(event)"> 50 <div class="flex justify-center items-center w-12 lg:w-auto h-12 lg:h-auto rounded-full border lg:border-0 border-loko-white-32 shrink-0"> 51 <svg class="menu-init__burger" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 52 <path d="M1 3H15" stroke="white" stroke-linecap="round" /> 53 <path d="M1 8H15" stroke="white" stroke-linecap="round" /> 54 <path d="M1 13H15" stroke="white" stroke-linecap="round" /> 55 </svg> 56 <svg class="menu-init__cross" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"> 57 <path d="M2 2L14 14" stroke="white" stroke-linecap="round" /> 58 <path d="M14 2L2 14" stroke="white" stroke-linecap="round" /> 59 </svg> 60 </div> 61 </button> 62 <a href="https://yandex.ru/profile/1013976871" class="flex items-center gap-2 mr-auto white-link" target="_blank"> 63 <div class="flex justify-center items-center w-12 h-12 rounded-full border border-loko-white-32 shrink-0"> 64 <img class="xxl:h-4" src="/img/icons/pin.svg"> 65 </div> 66 <span class="hidden lg:block text-small">Ðа каÑÑе</span> 67 </a> 68 </div> 69 70 <a href="/" class="block mx-auto opacity-100 hover:opacity-[0.32] transition-opacity"> 71 <img class="h-12 lg:h-auto xxl:h-[3.215rem]" src="/img/logo.svg" alt="Ð ÐÐ ÐÑена"> 72 </a> 73 <div class="flex lg:grid gap-2 ml-auto my-auto"> 74 <a href="mailto:[email protected]" class="flex items-center gap-2 white-link"> 75 <div 76 class="flex justify-center items-center w-12 lg:w-auto h-12 lg:h-auto rounded-full border lg:border-0 border-loko-white-32 shrink-0"> 77 <img class="shrink-0 xxl:h-4" src="/img/icons/email.svg" alt="email"> 78 </div>
79 <span class="hidden lg:block">[email protected]</span> 80 </a> 81 <a href="tel:+74955003020" class="flex items-center gap-2 white-link"> 82 <div 83 class="flex justify-center items-center w-12 lg:w-auto h-12 lg:h-auto rounded-full border lg:border-0 border-loko-white-32 shrink-0"> 84 <img class="shrink-0 xxl:h-4" src="/img/icons/phone.svg" alt="phone"> 85 </div> 86 <span class="hidden lg:block">+7 495 500-30-20</span> 87 </a> 88 </div> </div> 89 <nav class="pt-3 hidden lg:block"> 90 <ul class="flex flex-wrap justify-center gap-x-6 gap-y-3"> 91 <li class="relative group"> 92 <a href="/" class="nav-link " >ÐлавнаÑ</a> </li> 93 <li class="relative group"> 94 <a href="/renta/" class="nav-link nav-link--active " >ÐÑенда</a> 95 <div class="drop-menu"> 96 <ul class="block py-2"> 97 <li> 98 <a href="/rental-field/" class="drop-menu__item " >ÐÑенда полей</a> 99 </li> 100 <li> 101 <a href="/event/concert/" class="drop-menu__item " >ÐонÑеÑÑÑ Ð¸ ÑеÑÑивали</a> 102 </li> 103 <li> 104 <a href="/partners/" class="drop-menu__item " >РекламодаÑелÑм</a> 105 </li> 106 107 </ul> 108 </div> 109 </li> 110 <li class="relative group"> 111 <a href="/castle/" class="nav-link " >ÐедовÑй двоÑеÑ</a> </li> 112 <li class="relative group"> 113 <a href="/sport/" class="nav-link " >ÐанÑÑÐ¸Ñ ÑпоÑÑом</a> </li> 114 <li class="relative group"> 115 <a href="/event/" class="nav-link " >ÐÑганизаÑÐ¸Ñ Ð¼ÐµÑопÑиÑÑий</a> </li> 116 <li class="relative group"> 117 <a href="/news/" class="nav-link " >ÐовоÑÑи</a> </li> 118 <li class="relative group"> 119 <a href="/company/" class="nav-link " >Ðб «РÐÐ ÐÑене»</a> </li> 120 <li class="relative group"> 121 <a href="/contacts/" class="nav-link " >ÐонÑакÑÑ</a> </li> 122 </ul></nav> </div> 123 <div class="mobile-menu"> 124 <nav class="container"> 125 <ul> 126 <li> 127 <a href="/" class="mobile-nav-link " >ÐлавнаÑ</a> </li> 128 <li> 129 <span class="mobile-nav-link mobile-nav-link--active">ÐÑенда</span> </li> 130 <li> 131 <a href="/rental-field/" class="mobile-nav-link " >ÐÑенда полей</a> </li> 132 <li> 133 <a href="/event/concert/" class="mobile-nav-link " >ÐонÑеÑÑÑ Ð¸ ÑеÑÑивали</a> </li> 134 <li> 135 <a href="/partners/" class="mobile-nav-link " >РекламодаÑелÑм</a> </li> 136 <li> 137 <a href="/castle/" class="mobile-nav-link " >ÐедовÑй двоÑеÑ</a> </li> 138 <li> 139 <a href="/sport/" class="mobile-nav-link " >ÐанÑÑÐ¸Ñ ÑпоÑÑом</a> </li> 140 <li> 141 <a href="/event/" class="mobile-nav-link " >ÐÑганизаÑÐ¸Ñ Ð¼ÐµÑопÑиÑÑий</a> </li> 142 <li> 143 <a href="/news/" class="mobile-nav-link " >ÐовоÑÑи</a> </li> 144 <li> 145 <a href="/company/" class="mobile-nav-link " >Ðб «РÐÐ ÐÑене»</a> </li> 146 <li> 147 <a href="/contacts/" class="mobile-nav-link " >ÐонÑакÑÑ</a> </li> 148 </ul></nav> </div> 149</header> <main class=""> 150 <section class="section bg-loko-bg-gray"> 151 <div class="container"> 152 <div class="title-1 mb-4 text-center sm:text-left">ÐÑенда</div> 153 <div class="grid grid-cols-1 sm:grid-cols-6 lg:grid-cols-12 gap-3 lg:gap-6 mt-8"> 154 <a href="/event/" class="card-img-item group col-span-3 lg:col-span-12" id="bx_3218110189_205"> 155 <div class="relative title-3 z-[2]">ÐÑганизаÑÐ¸Ñ Ð¼ÐµÑопÑиÑÑий</div> 156 <div class="absolute inset-0 bg-green-shadow z-[1]"></div> 157 <img class="absolute top-0 left-0 w-full h-full object-cover object-center group-hover:scale-105 duration-500 transition-transform" src="/upload/iblock/c81/qrimyjkf6l1vz8w1bm1wvozw0dmg9d9j.jpg" alt="ÐÑганизаÑÐ¸Ñ Ð¼ÐµÑопÑиÑÑий"> 158 </a> 159 <a href="/rental-field/" class="card-img-item group col-span-3 lg:col-span-6" id="bx_3218110189_206"> 160 <div class="relative title-3 z-[2]">СпоÑÑÐ¸Ð²Ð½Ð°Ñ Ð°Ñенда</div> 161 <div class="absolute inset-0 bg-green-shadow z-[1]"></div> 162 <img class="absolute top-0 left-0 w-full h-full object-cover object-center group-hover:scale-105 duration-500 transition-transform" src="/upload/iblock/81c/8r2v85unw61dw0j2nji4r5b3k88053ia.jpg" alt="СпоÑÑÐ¸Ð²Ð½Ð°Ñ Ð°Ñенда"> 163 </a> 164 <a href="/partners/" class="card-img-item group col-span-3 lg:col-span-6" id="bx_3218110189_207"> 165 <div class="relative title-3 z-[2]">РекламодаÑелÑм</div> 166 <div class="absolute inset-0 bg-green-shadow z-[1]"></div> 167 <img class="absolute top-0 left-0 w-full h-full object-cover object-center group-hover:scale-105 duration-500 transition-transform" src="/upload/iblock/0dc/sug8d6qz89ut2v2gg0dwl5hut7dpm265.jpg" alt="РекламодаÑелÑм"> 168 </a> 169 <a href="https://rzdarena.ru/event/concert/" class="card-img-item group col-span-3 lg:col-span-12" id="bx_3218110189_356"> 170 <div class="relative title-3 z-[2]">ÐонÑеÑÑÑ Ð¸ ÑеÑÑивали</div> 171 <div class="absolute inset-0 bg-green-shadow z-[1]"></div> 172 <img class="absolute top-0 left-0 w-full h-full object-cover object-center group-hover:scale-105 duration-500 transition-transform" src="/upload/iblock/902/zgj3wyccsvhk2pptg305j3eo8v9yaz94.jpg" alt="ÐонÑеÑÑÑ Ð¸ ÑеÑÑивали"> 173 </a> 174 </div> 175</div></section> 176<section class="section bg-loko-green text-white"> 177 <div class="container"> 178 <div class="bg-white p-6 rounded-2xl text-loko-black ajax-form"> 179 <div class="title-2 mb-4">ÐÑÑалиÑÑ Ð²Ð¾Ð¿ÑоÑÑ?</div> 180 <div class="text-main">ÐÑÑавÑÑе Ñвои конÑакÑнÑе даннÑе и Ð¼Ñ Ñ Ðами ÑвÑжемÑÑ</div> 181 <form class="grid lg:grid-cols-3 gap-6 lg:gap-y-0 mt-6" method="post" action="/bitr
181ix/services/main/ajax.php?c=mobecan:ajax&mode=class&action=addquestionform"> 182 <input type="hidden" name="sessid" id="sessid" value="2bfdbc11bda1861ebab7b86f1ae632fe" /> <input type="hidden" name="event" value="53"> 183 <label class="input__container"> 184 <div class="input__block"> 185 <input class="input-text req" type="text" placeholder="ÐмÑ" name="name"> 186 </div> 187 </label> 188 <label class="input__container"> 189 <div class="input__block"> 190 <input class="input-text phone-mask req" type="text" placeholder="ТелеÑон" name="phone"> 191 </div> 192 </label> 193 <input type="hidden" name="g_recaptcha_response" data-recaptcha-token> 194 <button class="btn" type="submit">ÐÑпÑавиÑÑ</button> 195 <div class="status ajax-form-response lg:col-span-3 title-4"></div> 196 </form> 197 <div class="text-small mt-6"> 198 Я пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class="green-link underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a> 199<!--ÐÑÑавлÑÑ Ð·Ð°ÑвкÑ, вÑ пÑинимаеÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class="--><!-- underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a>--> 200 </div> 201</div> </div> 202</section> </main> 203 <footer class="py-8 bg-loko-green text-white"> 204 <div class="container"> 205 <div class="grid gap-8"> 206 <div class="grid md:grid-cols-3 gap-4 md:gap-6"> 207 <div class="flex flex-col gap-4 md:gap-2"> 208 <a href="/company/" class="text-second white-link " >Ðб «РÐÐ ÐÑене»</a> 209 <a href="/rental-field/" class="text-second white-link " >ÐÑенда полей</a> 210 <a href="/renta-space/" class="text-second white-link " >ÐÑенда плоÑадей</a> 211 <a href="/event/" class="text-second white-link " >ÐÑганизаÑÐ¸Ñ Ð¼ÐµÑопÑиÑÑий</a> 212 </div> <div class="flex flex-col gap-4 md:gap-2"> 213 <a href="/castle/" class="text-second white-link " >ÐедовÑй двоÑеÑ</a> 214 <a href="/sport/" class="text-second white-link " >ÐанÑÑÐ¸Ñ ÑпоÑÑом</a> 215 <a href="https://www.fclm.ru/" class="text-second white-link " target="_blank">ÐаÑÑи ФР«ÐокомоÑив»</a> 216 <a href="/partners/" class="text-second white-link " >РекламодаÑелÑм</a> 217 <a href="/mgn.pdf" class="text-second white-link " target="_blank">ÐнÑоÑмаÑÐ¸Ñ Ð´Ð»Ñ ÐÐÐ</a> 218 </div> <div class="flex flex-col gap-4 md:gap-2"> 219 <a href="https://shop.fclm.ru/" class="text-second white-link " target="_blank">Ðагазин аÑÑибÑÑики</a> 220 <a href="/contacts/" class="text-second white-link " >ÐонÑакÑÑ</a> 221 <a href="/oferta.pdf" class="text-second white-link " >ÐолиÑика обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a> 222 <a href="/rules.pdf" class="text-second white-link " target="_blank">ÐÑавила</a> 223 </div> </div> 224 <div class="flex flex-wrap items-center justify-center gap-y-3 gap-x-6 py-3 border-y border-loko-white-32"> 225 <a href="https://yandex.ru/profile/1013976871" class="flex items-center gap-2 white-link" target="_blank"> 226 <div class="flex justify-center items-center w-12 lg:w-auto h-12 lg:h-auto rounded-full border lg:border-0 border-loko-white-32 shrink-0"> 227 <img class="shrink-0 xxl:h-4" src="/img/icons/pin.svg" alt="Ð ÐÐ ÐÑена"> 228 </div> 229 <span class="hidden lg:block">Ðа каÑÑе</span> 230</a> 231 <a class="flex items-center gap-2 white-link" href="tel:+74955003020"> 232 <div class="flex justify-center items-center w-12 lg:w-auto h-12 lg:h-auto rounded-full border lg:border-0 border-loko-white-32 shrink-0"> 233 <img class="shrink-0 xxl:h-4" src="/img/icons/phone.svg"> 234 </div>
235 <span class="hidden lg:block">+7 495 500-30-20</span> 236 </a> 237 <a class="flex items-center gap-2 white-link" href="mailto:[email protected]"> 238 <div class="flex justify-center items-center w-12 lg:w-auto h-12 lg:h-auto rounded-full border lg:border-0 border-loko-white-32 shrink-0"> 239 <img class="shrink-0 xxl:h-4" src="/img/icons/email.svg"> 240 </div> 241 <span class="hidden lg:block">[email protected]</span> 242 </a> 243 <a href="https://t.me/rzdarena" calss="flex items-center gap-2 white-link" target="_blank"> 244 <div class="flex justify-center items-center w-12 lg:w-auto h-12 lg:h-auto rounded-full border lg:border-0 border-loko-white-32 shrink-0"> 245 <img class="shrink-0 xxl:h-4" src="/img/icons/tg-outline.svg" alt="telega"> 246 </div> 247</a> 248<a href="https://vk.com/rzd_arena" calss="flex items-center gap-2 white-link" target="_blank"> 249 <div class="flex justify-center items-center w-12 lg:w-auto h-12 lg:h-auto rounded-full border lg:border-0 border-loko-white-32 shrink-0"> 250 <img class="shrink-0 xxl:h-4" src="/img/icons/vk-outline.svg" alt="vk"> 251 </div> 252</a> </div> 253 <div class="flex gap-x-6 items-center"> 254 255 <a href="/" class="block mx-auto shrink-0 opacity-[0.32] hover:opacity-100 transition-opacity"> 256 <img class="h-12 lg:h-auto xxl:h-[3.215rem]" src="/img/logo.svg" alt="Ð ÐÐ ÐÑена"> 257 </a> 258 </div> 259 <div class="text-second text-loko-white-32" style="margin: auto;">© 2026 Ð ÐÐ ÐÑена</div> 260 </div> 261 </div> 262</footer> 263<div class="popup-holder"> 264 <div class="popup-scroller"> 265 <div class="popup-wrapper w-[58.5rem]" data-popup-name="events"> 266 <div class="popup-close group"> 267 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 268 xmlns="http://www.w3.org/2000/svg"> 269 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 270 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 271 </svg> 272 </div> 273 <div class="popup__container"> 274 <input type="hidden" class="popup__price"> 275 <input type="hidden" class="popup__info"> 276 <input type="hidden" class="popup__id"> 277 278 <div class="popup__gallery popup-events-slider light-gallery"> 279 <div class="swiper w-full h-full"> 280 <div class="swiper-wrapper w-full"> 281 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 282 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 283 </div> 284 <div class="swiper-pagination"></div> 285 <div class="swiper-button-prev"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" 286 xmlns="http://www.w3.org/2000/svg"> 287 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" 288 stroke-linejoin="round" /> 289 </svg></div> 290 <div class="swiper-button-next"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" 291 xmlns="http://www.w3.org/2000/svg"> 292 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" 293 stroke-linejoin="round" /> 294 </svg> 295 </div> 296 </div> 297 </div> 298 <div class="popup__content"> 299 <div> 300 <div class="popup__name h2"></div> 301 <div class="popup__description text-main text-loko-black mt-4"></div> 302 </div> 303 <div class="popup__options-container"> 304 <div class="h4 mb-6">ÐозможнÑе опÑии</div> 305 <div class="popup__options grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 306 </div> 307 <div class="popup__events-container"> 308 <div class="h4 mb-6">ÐозможнÑе меÑопÑиÑÑиÑ</div> 309 <div class="popup__events grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 310 </div> 311 <div class="popup__footer"> 312 <button type="button" class="btn w-full" data-popup-init data-popup="eventForm">СвÑзаÑÑÑÑ</button> 313 </div> 314 </div> 315 </div> 316 </div> 317 <div class="popup-wrapper w-[58.5rem]" data-popup-name="sport"> 318 <div class="popup-close group"> 319 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 320 xmlns="http://www.w3.org/2000/svg"> 321 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 322 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 323 </svg> 324 </div> 325 <div class="popup__container"> 326 <input type="hidden" class="popup__price"> 327 <input type="hidden" class="popup__info"> 328 <input type="hidden" class="popup__id"> 329 330 <div class="popup__gallery popup-sport-slider light-gallery"> 331 <div class="swiper w-full h-full"> 332 <div class="swiper-wrapper w-full"> 333 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 334 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 335 </div> 336 <div class="swiper-pagination"></div> 337 <div class="swiper-button-prev"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" 338 xmlns="http://www.w3.org/2000/svg"> 339 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" 340 stroke-linejoin="round" /> 341 </svg></div> 342 <div class="swiper-button-next"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" 343 xmlns="http://www.w3.org/2000/svg"> 344 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" 345 stroke-linejoin="round" /> 346 </svg> 347 </div> 348 </div> 349 </div> 350 <div class="popup__content"> 351 <div> 352 <div class="popup__name h2"></div> 353 <div class="popup__description text-main text-loko-black mt-4"></div> 354 </div> 355 <div class="popup__options-container"> 356 <div class="h4 mb-6">ÐозможнÑе опÑии</div> 357 <div class="popup__options grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 358 </div> 359 <div class="popup__events-container"> 360 <div class="h4 mb-6">ÐозможнÑе меÑопÑиÑÑиÑ</div> 361 <div class="popup__events grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 362 </div> 363 <div class="popup__footer"> 364 <button type="button" class="btn w-full" data-popup-init data-popup="sportForm">ÐÑендоваÑÑ</button> 365 </div> 366 </div> 367 </div> 368 </div> 369 <div class="popup-wrapper w-[58.5rem]" data-popup-name="rent"> 370 <div class="popup-close group"> 371 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 372 xmlns="http://www.w3.org/2000/svg"> 373 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 374 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 375 </svg> 376 </div> 377 <div class="popup__container"> 378 <input type="hidden" class="popup__price"> 379 <input type="hidden" class="popup__info"> 380 <input type="hidden" class="popup__id"> 381 382 <div class="popup__gallery popup-rent-slider light-gallery"> 383 <div class="swiper w-full h-full"> 384 <div class="swiper-wrapper w-full"> 385 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 386 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 387 </div> 388 <div class="swiper-pagination"></div> 389 <div class="swiper-button-prev"> 390 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 391 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" 392 stroke-linejoin="round" /> 393 </svg> 394 </div> 395 <div class="swiper-button-next"> 396 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 397 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" 398 stroke-linejoin="round" /> 399 </svg> 400 </div> 401 </div> 402 </div> 403 <div class="popup__content"> 404 <div> 405 <div class="popup__name h2"></div> 406 <div class="popup__description text-main text-loko-black mt-4"></div> 407 </div> 408 <div class="popup__options-container"> 409 <div class="h4 mb-6">ÐозможнÑе опÑии</div> 410 <div class="popup__options grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 411 </div> 412 <div class="popup__events-container"> 413 <div class="h4 mb-6">ÐозможнÑе меÑопÑиÑÑиÑ</div> 414 <div class="popup__events grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 415 </div> 416 <div class="popup__footer"> 417 <button type="button" class="btn w-full" data-popup-init data-popup="rentForm">ÐÑендоваÑÑ</button> 418 </div> 419 </div> 420 </div> 421 </div> 422 <div class="popup-wrapper w-[58.5rem]" data-popup-name="service"> 423 <div class="popup-close group"> 424 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 425 xmlns="http://www.w3.org/2000/svg"> 426 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 427 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 428 </svg> 429 </div> 430 <div class="popup__container"> 431 <input type="hidden" class="popup__price"> 432 <input type="hidden" class="popup__info"> 433 <input type="hidden" class="popup__id"> 434 435 <div class="popup__gallery popup-service-slider light-gallery"> 436 <div class="swiper w-full h-full"> 437 <div class="swiper-wrapper w-full"> 438 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 439 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 440 </div> 441 <div class="swiper-pagination"></div> 442 <div class="swiper-button-prev"> 443 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 444 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" 445 stroke-linejoin="round" /> 446 </svg> 447 </div> 448 <div class="swiper-button-next"> 449 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 450 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" 451 stroke-linejoin="round" /> 452 </svg> 453 </div> 454 </div> 455 </div> 456 <div class="popup__content"> 457 <div> 458 <div class="popup__name h2"></div> 459 <div class="popup__description text-main text-loko-black mt-4"></div> 460 </div> 461 <div class="popup__options-container"> 462 <div class="h4 mb-6">ÐозможнÑе опÑии</div> 463 <div class="popup__options grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 464 </div> 465 <div class="popup__events-container"> 466 <div class="h4 mb-6">ÐозможнÑе меÑопÑиÑÑиÑ</div> 467 <div class="popup__events grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 468 </div> 469 <div class="popup__footer"> 470 <button type="button" class="btn w-full" data-popup-init data-popup="serviceForm">ÐÑендоваÑÑ</button> 471 </div> 472 </div> 473 </div> 474 </div> 475 <div class="popup-wrapper w-[58.5rem]" data-popup-name="areas"> 476 <div class="popup-close group"> 477 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 478 xmlns="http://www.w3.org/2000/svg"> 479 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 480 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 481 </svg> 482 </div> 483 <div class="popup__container"> 484 <input type="hidden" class="popup__price"> 485 <input type="hidden" class="popup__info"> 486 <input type="hidden" class="popup__id"> 487 488 <div class="popup__gallery popup-areas-slider light-gallery"> 489 <div class="swiper w-full h-full"> 490 <div class="swiper-wrapper w-full"> 491 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 492 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 493 </div> 494 <div class="swiper-pagination"></div> 495 <div class="swiper-button-prev"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" 496 xmlns="http://www.w3.org/2000/svg"> 497 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" 498 stroke-linejoin="round" /> 499 </svg></div> 500 <div class="swiper-button-next"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" 501 xmlns="http://www.w3.org/2000/svg"> 502 <path d="M9 4L17 12L9 20" stroke="white" s
502troke-width="2" stroke-linecap="round" 503 stroke-linejoin="round" /> 504 </svg> 505 </div> 506 </div> 507 </div> 508 <div class="popup__content"> 509 <div> 510 <div class="popup__name h2"></div> 511 <div class="popup__description text-main text-loko-black mt-4"></div> 512 </div> 513 <div class="popup__options-container"> 514 <div class="h4 mb-6">ÐозможнÑе опÑии</div> 515 <div class="popup__options grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 516 </div> 517 <div class="popup__events-container"> 518 <div class="h4 mb-6">ÐозможнÑе меÑопÑиÑÑиÑ</div> 519 <div class="popup__events grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 520 </div> 521 <div class="popup__footer"> 522 <button type="button" class="btn w-full" data-popup-init data-popup="areasForm">ÐÑендоваÑÑ</button> 523 </div> 524 </div> 525 </div> 526 </div> 527 <div class="popup-wrapper w-[58.5rem]" data-popup-name="integration"> 528 <div class="popup-close group"> 529 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 530 xmlns="http://www.w3.org/2000/svg"> 531 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 532 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 533 </svg> 534 </div> 535 <div class="popup__container"> 536 <input type="hidden" class="popup__price"> 537 <input type="hidden" class="popup__info"> 538 <input type="hidden" class="popup__id"> 539 540 <div class="popup__gallery popup-integration-slider light-gallery"> 541 <div class="swiper w-full h-full"> 542 <div class="swiper-wrapper w-full"> 543 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 544 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 545 </div> 546 <div class="swiper-pagination"></div> 547 <div class="swiper-button-prev"> 548 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 549 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" 550 stroke-linejoin="round" /> 551 </svg> 552 </div> 553 <div class="swiper-button-next"> 554 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 555 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" 556 stroke-linejoin="round" /> 557 </svg> 558 </div> 559 </div> 560 </div> 561 <div class="popup__content"> 562 <div> 563 <div class="popup__name h2"></div> 564 <div class="popup__description text-main text-loko-black mt-4"></div> 565 </div> 566 <div class="popup__options-container"> 567 <div class="h4 mb-6">ÐозможнÑе опÑии</div> 568 <div class="popup__options grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 569 </div> 570 <div class="popup__events-container"> 571 <div class="h4 mb-6">ÐозможнÑе меÑопÑиÑÑиÑ</div> 572 <div class="popup__events grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 573 </div> 574 <div class="popup__footer"> 575 <button type="button" class="btn w-full" data-popup-init data-popup="integrationForm">ÐÑендоваÑÑ</button> 576 </div> 577 </div> 578 </div> 579 </div> 580 <div class="popup-wrapper w-[58.5rem]" data-popup-name="castleEvents"> 581 <div class="popup-close group"> 582 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 583 xmlns="http://www.w3.org/2000/svg"> 584 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 585 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 586 </svg> 587 </div> 588 <div class="popup__container"> 589 <input type="hidden" class="popup__price"> 590 <input type="hidden" class="popup__info"> 591 <input type="hidden" class="popup__id"> 592 593 <div class="popup__gallery popup-castle-events-slider light-gallery"> 594 <div class="swiper w-full h-full"> 595 <div class="swiper-wrapper w-full"> 596 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 597 <div class="swiper-slide" style="background-image: url('/img-content/field.jpg');"></div> 598 </div> 599 <div class="swiper-pagination"></div> 600 <div class="swiper-button-prev"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" 601 xmlns="http://www.w3.org/2000/svg"> 602 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" 603 stroke-linejoin="round" /> 604 </svg></div> 605 <div class="swiper-button-next"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" 606 xmlns="http://www.w3.org/2000/svg"> 607 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" 608 stroke-linejoin="round" /> 609 </svg> 610 </div> 611 </div> 612 </div> 613 <div class="popup__content"> 614 <div> 615 <div class="popup__name h2"></div> 616 <div class="popup__description text-main text-loko-black mt-4"></div> 617 </div> 618 <div class="popup__options-container"> 619 <div class="h4 mb-6">ÐозможнÑе опÑии</div> 620 <div class="popup__options grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 621 </div> 622 <div class="popup__events-container"> 623 <div class="h4 mb-6">ÐозможнÑе меÑопÑиÑÑиÑ</div> 624 <div class="popup__events grid grid-cols-1 sm:grid-cols-2 gap-3"></div> 625 </div> 626 <div class="popup__footer"> 627 <button type="button" class="btn w-full" data-popup-init data-popup="eventCastleForm">СвÑзаÑÑÑÑ</button> 628 </div> 629 </div> 630 </div> 631 </div> 632 633 <div class="popup-wrapper w-[38.5rem]" data-popup-name="rentForm"> 634 <div class="popup-close group"> 635 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 636 xmlns="http://www.w3.org/2000/svg"> 637 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 638 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 639 </svg> 640 </div> 641 <div class="popup__container"> 642 <div class="popup__content ajax-form"> 643 <div class="h2">ÐÑенда</div> 644 <div class="grid grid-cols-1 gap-2 bg-white rounded-2xl p-4"> 645 <div class="card-item__name h5 popup__name"></div> 646 <div class="card-item__info text-small popup__info"></div> 647 <div class="title-6 text-loko-blue-green-2 popup__price"></div> 648 </div> 649 <div class="status ajax-form-response title-4"></div> 650 <form class="grid lg:grid-cols-2 gap-4" method="post" action="/bitr
650ix/services/main/ajax.php?c=mobecan:ajax&mode=class&action=addrentaform"> 651 <input type="hidden" name="sessid" id="sessid_1" value="2bfdbc11bda1861ebab7b86f1ae632fe" /> <input type="hidden" class="popup__id" name="id"> 652 <label class="input__container"> 653 <div class="input__block"> 654 <input class="input-text req" type="text" placeholder="ÐмÑ" name="name"> 655 </div> 656 </label> 657 <label class="input__container"> 658 <div class="input__block"> 659 <input class="input-text phone-mask req" type="text" placeholder="ТелеÑон" name="phone"> 660 </div> 661 </label> 662 <label class="input__container lg:col-span-2"> 663 <div class="input__block"> 664 <textarea class="input-text" type="text" placeholder="ÐомменÑаÑий (не обÑзаÑелÑно)" name="message"></textarea> 665 </div> 666 </label> 667 <input type="hidden" name="g_recaptcha_response" data-recaptcha-token> 668 <button class="btn w-full mt-4 lg:col-span-2" type="submit">ÐÑпÑавиÑÑ</button> 669 </form> 670 <div class="text-small"> 671 Я пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class=" underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a> 672<!--ÐÑÑавлÑÑ Ð·Ð°ÑвкÑ, вÑ пÑинимаеÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class="--><!-- underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a>--> 673 </div> 674 </div> 675 </div> 676 </div> 677 <div class="popup-wrapper w-[38.5rem]" data-popup-name="eventForm"> 678 <div class="popup-close group"> 679 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 680 xmlns="http://www.w3.org/2000/svg"> 681 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 682 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 683 </svg> 684 </div> 685 <div class="popup__container"> 686 <div class="popup__content ajax-form"> 687 <div class="h2">СвÑзаÑÑÑÑ</div> 688 <div class="grid grid-cols-1 gap-2 bg-white rounded-2xl p-4"> 689 <div class="card-item__name h5 popup__name"></div> 690 <div class="card-item__info text-small popup__info"></div> 691 <div class="title-6 text-loko-blue-green-2 popup__price"></div> 692 </div> 693 <div class="status ajax-form-response title-4"></div> 694 <form class="grid lg:grid-cols-2 gap-4" method="post" action="/bitr
694ix/services/main/ajax.php?c=mobecan:ajax&mode=class&action=addeventform"> 695 <input type="hidden" name="sessid" id="sessid_2" value="2bfdbc11bda1861ebab7b86f1ae632fe" /> <input type="hidden" class="popup__id" name="id"> 696 <label class="input__container"> 697 <div class="input__block"> 698 <input class="input-text req" type="text" placeholder="ÐмÑ" name="name"> 699 </div> 700 </label> 701 <label class="input__container"> 702 <div class="input__block"> 703 <input class="input-text phone-mask req" type="text" placeholder="ТелеÑон" name="phone"> 704 </div> 705 </label> 706 <label class="input__container lg:col-span-2"> 707 <div class="input__block"> 708 <textarea class="input-text" type="text" placeholder="ÐомменÑаÑий (не обÑзаÑелÑно)" name="message"></textarea> 709 </div> 710 </label> 711 <input type="hidden" name="g_recaptcha_response" data-recaptcha-token> 712 <button class="btn w-full mt-4 lg:col-span-2" type="submit">ÐÑпÑавиÑÑ</button> 713 </form> 714 <div class="text-small"> 715 Я пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class=" underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a> 716<!--ÐÑÑавлÑÑ Ð·Ð°ÑвкÑ, вÑ пÑинимаеÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class="--><!-- underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a>--> 717 </div> 718 </div> 719 </div> 720 </div> 721 <div class="popup-wrapper w-[38.5rem]" data-popup-name="eventYourForm"> 722 <div class="popup-close group"> 723 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 724 xmlns="http://www.w3.org/2000/svg"> 725 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 726 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 727 </svg> 728 </div> 729 <div class="popup__container"> 730 <div class="popup__content ajax-form"> 731 <div class="h2">ÐÑÑавиÑÑ Ð·Ð°ÑвкÑ</div> 732 <div class="grid grid-cols-1 gap-2 bg-white rounded-2xl p-4"> 733 <div class="card-item__name h5 popup__name"></div> 734 <div class="card-item__info text-small popup__info"></div> 735 <div class="title-6 text-loko-blue-green-2 popup__price"></div> 736 </div> 737 <div class="status ajax-form-response title-4"></div> 738 <form class="grid lg:grid-cols-2 gap-4" method="post" action="/bitr
738ix/services/main/ajax.php?c=mobecan:ajax&mode=class&action=addeventyourform"> 739 <input type="hidden" name="sessid" id="sessid_3" value="2bfdbc11bda1861ebab7b86f1ae632fe" /> <input type="hidden" class="popup__id" name="id"> 740 <label class="input__container"> 741 <div class="input__block"> 742 <input class="input-text req" type="text" placeholder="ÐмÑ" name="name"> 743 </div> 744 </label> 745 <label class="input__container"> 746 <div class="input__block"> 747 <input class="input-text phone-mask req" type="text" placeholder="ТелеÑон" name="phone"> 748 </div> 749 </label> 750 <label class="input__container lg:col-span-2"> 751 <div class="input__block"> 752 <textarea class="input-text" type="text" placeholder="ÐомменÑаÑий (не обÑзаÑелÑно)" name="message"></textarea> 753 </div> 754 </label> 755 <input type="hidden" name="g_recaptcha_response" data-recaptcha-token> 756 <button class="btn w-full mt-4 lg:col-span-2" type="submit">ÐÑпÑавиÑÑ</button> 757 </form> 758 <div class="text-small"> 759 Я пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class=" underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a> 760<!--ÐÑÑавлÑÑ Ð·Ð°ÑвкÑ, вÑ пÑинимаеÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class="--><!-- underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a>--> 761 </div> 762 </div> 763 </div> 764 </div> 765 <div class="popup-wrapper w-[38.5rem]" data-popup-name="sportForm"> 766 <div class="popup-close group"> 767 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 768 xmlns="http://www.w3.org/2000/svg"> 769 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 770 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 771 </svg> 772 </div> 773 <div class="popup__container"> 774 <div class="popup__content ajax-form"> 775 <div class="h2">ÐÑендоваÑÑ</div> 776 <div class="grid grid-cols-1 gap-2 bg-white rounded-2xl p-4"> 777 <div class="card-item__name h5 popup__name"></div> 778 <div class="card-item__info text-small popup__info"></div> 779 <div class="title-6 text-loko-blue-green-2 popup__price"></div> 780 </div> 781 <div class="status ajax-form-response title-4"></div> 782 <form class="grid lg:grid-cols-2 gap-4" method="post" action="/bitr
782ix/services/main/ajax.php?c=mobecan:ajax&mode=class&action=addsportform"> 783 <input type="hidden" name="sessid" id="sessid_4" value="2bfdbc11bda1861ebab7b86f1ae632fe" /> <input type="hidden" class="popup__id" name="id"> 784 <label class="input__container"> 785 <div class="input__block"> 786 <input class="input-text req" type="text" placeholder="ÐмÑ" name="name"> 787 </div> 788 </label> 789 <label class="input__container"> 790 <div class="input__block"> 791 <input class="input-text phone-mask req" type="text" placeholder="ТелеÑон" name="phone"> 792 </div> 793 </label> 794 <label class="input__container lg:col-span-2"> 795 <div class="input__block"> 796 <textarea class="input-text" type="text" placeholder="ÐомменÑаÑий (не обÑзаÑелÑно)" name="message"></textarea> 797 </div> 798 </label> 799 <input type="hidden" name="g_recaptcha_response" data-recaptcha-token> 800 <button class="btn w-full mt-4 lg:col-span-2" type="submit">ÐÑпÑавиÑÑ</button> 801 </form> 802 <div class="text-small"> 803 Я пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class=" underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a> 804<!--ÐÑÑавлÑÑ Ð·Ð°ÑвкÑ, вÑ пÑинимаеÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class="--><!-- underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a>--> 805 </div> 806 </div> 807 </div> 808 </div> 809 <div class="popup-wrapper w-[38.5rem]" data-popup-name="serviceForm"> 810 <div class="popup-close group"> 811 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 812 xmlns="http://www.w3.org/2000/svg"> 813 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 814 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 815 </svg> 816 </div> 817 <div class="popup__container"> 818 <div class="popup__content ajax-form"> 819 <div class="h2">ÐÑенда</div> 820 <div class="grid grid-cols-1 gap-2 bg-white rounded-2xl p-4"> 821 <div class="card-item__name h5 popup__name"></div> 822 <div class="card-item__info text-small popup__info"></div> 823 <div class="title-6 text-loko-blue-green-2 popup__price"></div> 824 </div> 825 <div class="status ajax-form-response title-4"></div> 826 <form class="grid lg:grid-cols-2 gap-4" method="post" action="/bitr
826ix/services/main/ajax.php?c=mobecan:ajax&mode=class&action=addserviceform"> 827 <input type="hidden" name="sessid" id="sessid_5" value="2bfdbc11bda1861ebab7b86f1ae632fe" /> <input type="hidden" class="popup__id" name="id"> 828 <label class="input__container"> 829 <div class="input__block"> 830 <input class="input-text req" type="text" placeholder="ÐмÑ" name="name"> 831 </div> 832 </label> 833 <label class="input__container"> 834 <div class="input__block"> 835 <input class="input-text phone-mask req" type="text" placeholder="ТелеÑон" name="phone"> 836 </div> 837 </label> 838 <label class="input__container lg:col-span-2"> 839 <div class="input__block"> 840 <textarea class="input-text" type="text" placeholder="ÐомменÑаÑий (не обÑзаÑелÑно)" name="message"></textarea> 841 </div> 842 </label> 843 <input type="hidden" name="g_recaptcha_response" data-recaptcha-token> 844 <button class="btn w-full mt-4 lg:col-span-2" type="submit">ÐÑендоваÑÑ</button> 845 </form> 846 <div class="text-small"> 847 Я пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class=" underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a> 848<!--ÐÑÑавлÑÑ Ð·Ð°ÑвкÑ, вÑ пÑинимаеÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class="--><!-- underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a>--> 849 </div> 850 </div> 851 </div> 852 </div> 853 <div class="popup-wrapper w-[38.5rem]" data-popup-name="areasForm"> 854 <div class="popup-close group"> 855 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 856 xmlns="http://www.w3.org/2000/svg"> 857 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 858 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 859 </svg> 860 </div> 861 <div class="popup__container"> 862 <div class="popup__content ajax-form"> 863 <div class="h2">ÐÑендоваÑÑ</div> 864 <div class="grid grid-cols-1 gap-2 bg-white rounded-2xl p-4"> 865 <div class="card-item__name h5 popup__name"></div> 866 <div class="card-item__info text-small popup__info"></div> 867 <div class="title-6 text-loko-blue-green-2 popup__price"></div> 868 </div> 869 <div class="status ajax-form-response title-4"></div> 870 <form class="grid lg:grid-cols-2 gap-4" method="post" action="/bitr
870ix/services/main/ajax.php?c=mobecan:ajax&mode=class&action=addareasform"> 871 <input type="hidden" name="sessid" id="sessid_6" value="2bfdbc11bda1861ebab7b86f1ae632fe" /> <input type="hidden" class="popup__id" name="id"> 872 <label class="input__container"> 873 <div class="input__block"> 874 <input class="input-text req" type="text" placeholder="ÐмÑ" name="name"> 875 </div> 876 </label> 877 <label class="input__container"> 878 <div class="input__block"> 879 <input class="input-text phone-mask req" type="text" placeholder="ТелеÑон" name="phone"> 880 </div> 881 </label> 882 <label class="input__container lg:col-span-2"> 883 <div class="input__block"> 884 <textarea class="input-text" type="text" placeholder="ÐомменÑаÑий (не обÑзаÑелÑно)" name="message"></textarea> 885 </div> 886 </label> 887 <input type="hidden" name="g_recaptcha_response" data-recaptcha-token> 888 <button class="btn w-full mt-4 lg:col-span-2" type="submit">ÐÑпÑавиÑÑ</button> 889 </form> 890 <div class="text-small"> 891 Я пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class=" underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a> 892<!--ÐÑÑавлÑÑ Ð·Ð°ÑвкÑ, вÑ пÑинимаеÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class="--><!-- underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a>--> 893 </div> 894 </div> 895 </div> 896 </div> 897 <div class="popup-wrapper w-[38.5rem]" data-popup-name="integrationForm"> 898 <div class="popup-close group"> 899 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 900 xmlns="http://www.w3.org/2000/svg"> 901 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 902 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 903 </svg> 904 </div> 905 <div class="popup__container"> 906 <div class="popup__content ajax-form"> 907 <div class="h2">ÐÑенда</div> 908 <div class="grid grid-cols-1 gap-2 bg-white rounded-2xl p-4"> 909 <div class="card-item__name h5 popup__name"></div> 910 <div class="card-item__info text-small popup__info"></div> 911 <div class="title-6 text-loko-blue-green-2 popup__price"></div> 912 </div> 913 <div class="status ajax-form-response title-4"></div> 914 <form class="grid lg:grid-cols-2 gap-4" method="post" action="/bitr
914ix/services/main/ajax.php?c=mobecan:ajax&mode=class&action=addintegrationform"> 915 <input type="hidden" name="sessid" id="sessid_7" value="2bfdbc11bda1861ebab7b86f1ae632fe" /> <input type="hidden" class="popup__id" name="id"> 916 <label class="input__container"> 917 <div class="input__block"> 918 <input class="input-text req" type="text" placeholder="ÐмÑ" name="name"> 919 </div> 920 </label> 921 <label class="input__container"> 922 <div class="input__block"> 923 <input class="input-text phone-mask req" type="text" placeholder="ТелеÑон" name="phone"> 924 </div> 925 </label> 926 <label class="input__container lg:col-span-2"> 927 <div class="input__block"> 928 <textarea class="input-text" type="text" placeholder="ÐомменÑаÑий (не обÑзаÑелÑно)" name="message"></textarea> 929 </div> 930 </label> 931 <input type="hidden" name="g_recaptcha_response" data-recaptcha-token> 932 <button class="btn w-full mt-4 lg:col-span-2" type="submit">ÐÑендоваÑÑ</button> 933 </form> 934 <div class="text-small"> 935 Я пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class=" underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a> 936<!--ÐÑÑавлÑÑ Ð·Ð°ÑвкÑ, вÑ пÑинимаеÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class="--><!-- underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a>--> 937 </div> 938 </div> 939 </div> 940 </div> 941 <div class="popup-wrapper w-[38.5rem]" data-popup-name="eventCastleForm"> 942 <div class="popup-close group"> 943 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 944 xmlns="http://www.w3.org/2000/svg"> 945 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 946 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 947 </svg> 948 </div> 949 <div class="popup__container"> 950 <div class="popup__content ajax-form"> 951 <div class="h2">СвÑзаÑÑÑÑ</div> 952 <div class="grid grid-cols-1 gap-2 bg-white rounded-2xl p-4"> 953 <div class="card-item__name h5 popup__name"></div> 954 <div class="card-item__info text-small popup__info"></div> 955 <div class="title-6 text-loko-blue-green-2 popup__price"></div> 956 </div> 957 <div class="status ajax-form-response title-4"></div> 958 <form class="grid lg:grid-cols-2 gap-4" method="post" action="/bitr
958ix/services/main/ajax.php?c=mobecan:ajax&mode=class&action=addeventcastleform"> 959 <input type="hidden" name="sessid" id="sessid_8" value="2bfdbc11bda1861ebab7b86f1ae632fe" /> <input type="hidden" class="popup__id" name="id"> 960 <label class="input__container"> 961 <div class="input__block"> 962 <input class="input-text req" type="text" placeholder="ÐмÑ" name="name"> 963 </div> 964 </label> 965 <label class="input__container"> 966 <div class="input__block"> 967 <input class="input-text phone-mask req" type="text" placeholder="ТелеÑон" name="phone"> 968 </div> 969 </label> 970 <label class="input__container lg:col-span-2"> 971 <div class="input__block"> 972 <textarea class="input-text" type="text" placeholder="ÐомменÑаÑий (не обÑзаÑелÑно)" name="message"></textarea> 973 </div> 974 </label> 975 <input type="hidden" name="g_recaptcha_response" data-recaptcha-token> 976 <button class="btn w-full mt-4 lg:col-span-2" type="submit">ÐÑпÑавиÑÑ</button> 977 </form> 978 <div class="text-small"> 979 Я пÑÐ¸Ð½Ð¸Ð¼Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class=" underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a> 980<!--ÐÑÑавлÑÑ Ð·Ð°ÑвкÑ, вÑ пÑинимаеÑе ÑÑÐ»Ð¾Ð²Ð¸Ñ <a href="/oferta.pdf" class="--><!-- underline hover:no-underline" target="_blank">ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ </a>--> 981 </div> 982 </div> 983 </div> 984 </div> 985 <div class="popup-wrapper w-[38.5rem]" data-popup-name="services"> 986 <div class="popup-close group"> 987 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" 988 xmlns="http://www.w3.org/2000/svg"> 989 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 990 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 991 </svg> 992 </div> 993 <div class="popup__container"> 994 <div class="popup__content"> 995 <input type="hidden" class="popup__price"> 996 <input type="hidden" class="popup__info"> 997 <input type="hidden" class="popup__id"> 998 <div class="h2 popup__name">ÐÑенда</div> 999 <div class="grid grid-cols-1 sm:grid-cols-2 gap-2 popup__items"></div> 1000 </div> 1001 </div> 1002 </div> 1003 <div class="popup-wrapper w-[58.5rem]" data-popup-name="detail"> 1004 <div class="popup-close group"> 1005 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24"
1006 viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1007 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1008 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1009 </svg> 1010 </div> 1011 <div class="popup__container"> 1012 <input type="hidden" class="popup__price"> 1013 <input type="hidden" class="popup__info"> 1014 <input type="hidden" class="popup__id"> 1015 1016 <div class="popup__top"> 1017 <div> 1018 <div class="popup__name h2"></div> 1019 <div class="popup__description text-main text-loko-black mt-4"></div> 1020 </div> 1021 <div class="popup__gallery popup-detail-slider light-gallery"> 1022 <div class="swiper w-full h-full"> 1023 <div class="swiper-wrapper w-full"></div> 1024 <div class="swiper-pagination"></div> 1025 <button class="swiper-button-prev"><svg width="24" height="24" viewBox="0 0 24 24" 1026 fill="none" xmlns="http://www.w3.org/2000/svg"> 1027 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" 1028 stroke-linecap="round" stroke-linejoin="round" /> 1029 </svg> 1030 </button> 1031 <button class="swiper-button-next"><svg width="24" height="24" viewBox="0 0 24 24" 1032 fill="none" xmlns="http://www.w3.org/2000/svg"> 1033 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" 1034 stroke-linejoin="round" /> 1035 </svg> 1036 </button> 1037 </div> 1038 </div> 1039 </div> 1040 <div class="popup__content"> 1041 <div class="popup__options-container"> 1042 <div class="h4 mb-6">ÐозможнÑе опÑии</div> 1043 <div class="popup__options flex flex-wrap gap-2"></div> 1044 </div> 1045 <div class="popup__events-container"> 1046 <div class="h4 mb-6">ÐозможнÑе меÑопÑиÑÑиÑ</div> 1047 <div class="popup__events flex flex-wrap gap-2"></div> 1048 </div> 1049 <div class="popup__footer"> 1050 <button type="button" class="btn w-full" data-popup-init data-popup="eventForm">ÐÑендоваÑÑ</button> 1051 </div> 1052 </div> 1053 </div> 1054 </div> 1055 <div class="popup-wrapper w-[58.5rem]" data-popup-name="detailRentaFields"> 1056 <div class="popup-close group"> 1057 <svg class="w-6 h-6 group-hover:rotate-90 transition-transform" width="24" height="24"
1058 viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1059 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1060 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1061 </svg> 1062 </div> 1063 <div class="popup__container"> 1064 <input type="hidden" class="popup__price"> 1065 <input type="hidden" class="popup__info"> 1066 <input type="hidden" class="popup__id"> 1067 1068 <div class="popup__top"> 1069 <div> 1070 <div class="popup__name h2"></div> 1071 <div class="popup__description text-main text-loko-black mt-4"></div> 1072 </div> 1073 <div class="popup__gallery popup-detail-renta-fields-slider light-gallery"> 1074 <div class="swiper w-full h-full"> 1075 <div class="swiper-wrapper w-full"></div> 1076 <div class="swiper-pagination"></div> 1077 <button class="swiper-button-prev"><svg width="24" height="24" viewBox="0 0 24 24" 1078 fill="none" xmlns="http://www.w3.org/2000/svg"> 1079 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" 1080 stroke-linecap="round" stroke-linejoin="round" /> 1081 </svg> 1082 </button> 1083 <button class="swiper-button-next"><svg width="24" height="24" viewBox="0 0 24 24" 1084 fill="none" xmlns="http://www.w3.org/2000/svg"> 1085 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" 1086 stroke-linejoin="round" /> 1087 </svg> 1088 </button> 1089 </div> 1090 </div> 1091 </div> 1092 <div class="popup__content"> 1093 <div class="popup__options-container"> 1094 <div class="h4 mb-6">ÐозможнÑе опÑии</div> 1095 <div class="popup__options flex flex-wrap gap-2"></div> 1096 </div> 1097 <div class="popup__events-container"> 1098 <div class="h4 mb-6">ÐозможнÑе меÑопÑиÑÑиÑ</div> 1099 <div class="popup__events flex flex-wrap gap-2"></div> 1100 </div> 1101 <div class="popup__footer"> 1102 <button type="button" class="btn w-full" data-popup-init data-popup="rentForm">ÐÑендоваÑÑ</button> 1103 </div> 1104 </div> 1105 </div> 1106 </div> 1107 <div class="popup-wrapper w-[58.5rem]" data-popup-name="cafe"> 1108 <div class="popup-close group"> 1109 <svg class="group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1110 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1111 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1112 </svg> 1113 </div> 1114 <div class="popup__container"> 1115 <div class="popup__content"> 1116 <div class="title-1 mr-12">ÐаÑе и ÑеÑÑоÑанÑ</div> 1117 <div class="grid grid-cols-1 sm:grid-cols-2 gap-3 lg:gap-6 "> 1118 <div class="card-item cafe-slider"> 1119 <div class="swiper w-full"> 1120 <div class="swiper-wrapper w-full light-gallery"> 1121 <div class="swiper-slide "><a href="/upload/iblock/f52/95aqszth4c8hwsq05hre4qqtljplv2lf.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/f52/95aqszth4c8hwsq05hre4qqtljplv2lf.jpg');"></a></div> 1122 <div class="swiper-slide "><a href="/upload/iblock/861/xbud0kd627k9zqhudwo5mrcwekq7mn9s.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/861/xbud0kd627k9zqhudwo5mrcwekq7mn9s.jpg');"></a></div> 1123 <div class="swiper-slide "><a href="/upload/iblock/c86/xbjrkc2pi7vz9268i154zxp9ut9d1enm.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/c86/xbjrkc2pi7vz9268i154zxp9ut9d1enm.jpg');"></a></div> 1124 <div class="swiper-slide "><a href="/upload/iblock/ac6/blsnun0oybohlm4y03m4fr5w5onc7mlf.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/ac6/blsnun0oybohlm4y03m4fr5w5onc7mlf.jpg');"></a></div> 1125 </div> 1126 <div class="swiper-pagination"></div> 1127 <div class="swiper-button-prev"> 1128 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1129 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1130 </svg> 1131 </div> 1132 <div class="swiper-button-next"> 1133 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1134 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1135 </svg> 1136 </div> 1137 </div> 1138 <div class="card-item__content"> 1139 <div class="card-item__name h5">РеÑÑоÑан «СевеÑнÑй ÑкÑпÑеÑÑ»</div> 1140 <div class="text-small text-loko-dark-gray mb-2">ÐÑганизаÑÐ¸Ñ Ð¿ÑаздниÑнÑÑ Ð¼ÐµÑопÑиÑÑий и банкеÑов лÑбой ÑложноÑÑи. ÐдеалÑнÑй вид на поле «РÐÐ ÐÑенÑ»</div> 1141 <div class="text-small mt-2">+7 495 774-96-41</div> 1142 <div class="text-small mt-2">РабоÑÐ°ÐµÑ Ð¿Ð¾Ð´ меÑопÑиÑÑиÑ</div> 1143 </div> 1144 </div>
1145 <div class="card-item cafe-slider"> 1146 <div class="swiper w-full"> 1147 <div class="swiper-wrapper w-full light-gallery"> 1148 <div class="swiper-slide "><a href="/upload/iblock/315/agflbgv9d9v10ajm9hu4zvl7y7b1cqz2.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/315/agflbgv9d9v10ajm9hu4zvl7y7b1cqz2.jpg');"></a></div> 1149 <div class="swiper-slide "><a href="/upload/iblock/7a2/yx0plf6ig9283v36i3ubp1uxm8xc7uqq.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/7a2/yx0plf6ig9283v36i3ubp1uxm8xc7uqq.jpg');"></a></div> 1150 <div class="swiper-slide "><a href="/upload/iblock/41b/ferqv94fsapaqnaezmso760f5tfade3h.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/41b/ferqv94fsapaqnaezmso760f5tfade3h.jpg');"></a></div> 1151 </div> 1152 <div class="swiper-pagination"></div> 1153 <div class="swiper-button-prev"> 1154 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1155 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1156 </svg> 1157 </div> 1158 <div class="swiper-button-next"> 1159 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1160 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1161 </svg> 1162 </div> 1163 </div> 1164 <div class="card-item__content"> 1165 <div class="card-item__name h5">Garden coffee (ÐедовÑй двоÑеÑ)</div> 1166 <div class="text-small text-loko-dark-gray mb-2">УÑÑное каÑе, ÑаÑположенное на ÑеÑÑиÑоÑии Ðедового двоÑÑа «ÐÐÐÐ ÐÐл Ñ Ð²Ð¸Ð´Ð¾Ð¼ на ледовÑÑ Ð°ÑенÑ</div> 1167 <div class="text-small mt-2">+7 (906) 234-01-34</div> 1168 <div class="text-small mt-2">ÐнâÐÑ 09:00â21:00<br />CбâÐÑ 09:00â21:00</div> 1169 </div> 1170 </div> 1171 <div class="card-item cafe-slider"> 1172 <div class="swiper w-full"> 1173 <div class="swiper-wrapper w-full light-gallery"> 1174 <div class="swiper-slide "><a href="/upload/iblock/7dd/3zcyxkix2dob8g7umtatvkicahnptesb.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/7dd/3zcyxkix2dob8g7umtatvkicahnptesb.jpg');"></a></div> 1175 <div class="swiper-slide "><a href="/upload/iblock/cad/k9zz073slcz2pnzp7hk7fh7jmtajgvpl.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/cad/k9zz073slcz2pnzp7hk7fh7jmtajgvpl.jpg');"></a></div> 1176 </div> 1177 <div class="swiper-pagination"></div> 1178 <div class="swiper-button-prev"> 1179 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1180 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1181 </svg> 1182 </div> 1183 <div class="swiper-button-next"> 1184 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1185 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1186 </svg> 1187 </div> 1188 </div> 1189 <div class="card-item__content"> 1190 <div class="card-item__name h5">Garden coffee ÐоÑÑок</div> 1191 <div class="text-small text-loko-dark-gray mb-2">ÐлÑбное каÑе, ÑаÑположенное под ÐоÑÑоÑной ÑÑибÑной и ÑабоÑаÑÑее Ð´Ð»Ñ Ð½Ð°ÑÐ¸Ñ Ð³Ð¾ÑÑей в дни маÑÑей</div> 1192 <div class="text-small mt-2">ÐнâÐÑ 08:45â19:00<br />
1192CбâÐÑ ÐÑÑ Ð¾Ð´Ð½Ð¾Ð¹</div> 1193 </div> 1194 </div> 1195 <div class="card-item cafe-slider"> 1196 <div class="swiper w-full"> 1197 <div class="swiper-wrapper w-full light-gallery"> 1198 <div class="swiper-slide "><a href="/upload/iblock/c04/2hzqa0d30gdrgs52bmnv9rggl69ivg9o.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/c04/2hzqa0d30gdrgs52bmnv9rggl69ivg9o.jpg');"></a></div> 1199 <div class="swiper-slide "><a href="/upload/iblock/a6e/xucrxz7u62xhj3q5183lsysqvfldvpi6.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/a6e/xucrxz7u62xhj3q5183lsysqvfldvpi6.jpg');"></a></div> 1200 </div> 1201 <div class="swiper-pagination"></div> 1202 <div class="swiper-button-prev"> 1203 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1204 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1205 </svg> 1206 </div> 1207 <div class="swiper-button-next"> 1208 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1209 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1210 </svg> 1211 </div> 1212 </div> 1213 <div class="card-item__content"> 1214 <div class="card-item__name h5">Garden coffee ÐалÑй манеж</div> 1215 <div class="text-small text-loko-dark-gray mb-2">ÐеболÑÑое каÑе, ÑаÑположенное на ÑеÑÑиÑоÑии Ðалого манежа</div> 1216 <div class="text-small mt-2">ÐнâÐÑ 08:45â20:00<br />CбâÐÑ 08:45â20:00</div> 1217 </div> 1218 </div> 1219 <div class="card-item cafe-slider"> 1220 <div class="swiper w-full"> 1221 <div class="swiper-wrapper w-full light-gallery"> 1222 <div class="swiper-slide "><a href="/upload/iblock/1d0/193n5n5z7za1pg19r0jxrp0mcadg11z5.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/1d0/193n5n5z7za1pg19r0jxrp0mcadg11z5.jpg');"></a></div> 1223 <div class="swiper-slide "><a href="/upload/iblock/789/yx8z4kcv8fkx6aokzcok30e6s3owaa1s.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/789/yx8z4kcv8fkx6aokzcok30e6s3owaa1s.jpg');"></a></div> 1224 </div> 1225 <div class="swiper-pagination"></div> 1226 <div class="swiper-button-prev"> 1227 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1228 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1229 </svg> 1230 </div> 1231 <div class="swiper-button-next"> 1232 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1233 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1234 </svg> 1235 </div> 1236 </div> 1237 <div class="card-item__content"> 1238 <div class="card-item__name h5">Garden Coffee "Ðоко-СпоÑÑ"</div> 1239 <div class="text-small text-loko-dark-gray mb-2">УÑÑное каÑе Ñ Ð²ÐµÑандой и ÑиÑменной ÑимÑкой пиÑÑей возле комплекÑа Ðоко-СпоÑÑ.</div> 1240 <div class="text-small mt-2">Ðжедневно 09:00â22:00 </div> 1241 </div> 1242 </div> 1243 </div> 1244 <section class="section bg-loko-green text-white"> 1245 <div class="container"> 1246 <div class="relative aspect-[936/943] mt-8 rounded-3xl bg-loko-blue-green-2 overflow-clip svg-map__container"> 1247 <img class="block absolute svg-map min-w-full object-cover transition-all origin-top-left" src="/upload/iblock/27b/9edz7eu2aaoeayt90pk981nzo769en31.svg"> 1248 <div class="grid gap-4 absolute z-10 right-6 top-1/2 -translate-y-1/2"> 1249 <button class="flex w-16 h-16 bg-white rounded-full transition-opacity svg-map-plus"> 1250 <svg class="w-6 h-6 m-auto" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1251 <path d="M12 2V22" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1252 <path d="M22 12L2 12" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1253 </svg> 1254 </button> 1255 <button class="flex w-16 h-16 bg-white rounded-full transition-opacity svg-map-minus"> 1256 <svg class="w-6 h-6 m-auto" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1257 <path d="M22 12L2 12" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1258 </svg> 1259 </button> 1260 </div> 1261 </div> 1262 </div> 1263</section> </div> 1264 </div> 1265 </div> 1266 1267 <div class="popup-wrapper w-[58.5rem]" data-popup-name="photo"> 1268<!-- <div class="popup-wrapper w-[58.5rem]" data-popup-name="cafe">--> 1269 <div class="popup-close group"> 1270 <svg class="group-hover:rotate-90 transition-transform" width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1271 <path d="M4 4L20 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1272 <path d="M20 4L4 20" stroke="#1D625F" stroke-width="2" stroke-linecap="round" /> 1273 </svg> 1274 </div> 1275 <div class="popup__container"> 1276 <div class="popup__content"> 1277 <div class="title-1 mr-12">ФоÑоÑеÑÑии на "Ð ÐÐ ÐÑене"</div> 1278 <div class="grid grid-cols-1 sm:grid-cols-2 gap-3 lg:gap-6 ">
1279 <div class="card-item cafe-slider"> 1280 <div class="swiper w-full"> 1281 <div class="swiper-wrapper w-full light-gallery"> 1282 <div class="swiper-slide "><a href="/upload/iblock/255/d18126r4tri127vz4nox56uzt8xai4r1.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/255/d18126r4tri127vz4nox56uzt8xai4r1.jpg');"></a></div> 1283 <div class="swiper-slide "><a href="/upload/iblock/155/xtplun49pu05q0pxwtwjozdmzbe2s2c5.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/155/xtplun49pu05q0pxwtwjozdmzbe2s2c5.jpg');"></a></div> 1284 </div> 1285 <div class="swiper-pagination"></div> 1286 <div class="swiper-button-prev"> 1287 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1288 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1289 </svg> 1290 </div> 1291 <div class="swiper-button-next"> 1292 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1293 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1294 </svg> 1295 </div> 1296 </div> 1297 <div class="card-item__content"> 1298 <div class="card-item__name h5">ФоÑоÑеÑÑÐ¸Ñ Ð½Ð° "Ð ÐÐ ÐÑене"</div> 1299 <div class="text-small text-loko-dark-gray mb-2">УÑÑÑойÑе ÑникалÑнÑÑ ÑоÑоÑеÑÑÐ¸Ñ Ð½Ð° главном ÑÑадионе кÑаÑно-зеленÑÑ . РваÑем ÑаÑпоÑÑжении бÑдÑÑ Ð»ÑÑÑие локаÑии ÑÑадиона: ÑакÑÑÑÑ Ñ ÑÑибÑн, кÑомки полÑ, Ñкамеек игÑоков и галеÑей ÑекÑоÑов. ÐапеÑаÑлиÑе лÑÑÑие моменÑÑ Ð²Ð°Ñей жизни на "Ð ÐÐ ÐÑене"!<br> 1300 <br> 1301 <b>ÐолиÑеÑÑво Ñеловек:</b> до 15<br> 1302 <b>ÐÑемÑ:</b> до 3-Ñ ÑаÑов<br> 1303 <b>СÑоимоÑÑÑ</b>: 50 000 ÑÑблей</div> 1304 <div class="text-small mt-2">+7 495 500 30 20</div> 1305 </div> 1306 </div> 1307 <div class="card-item cafe-slider"> 1308 <div class="swiper w-full"> 1309 <div class="swiper-wrapper w-full light-gallery"> 1310 <div class="swiper-slide "><a href="/upload/iblock/85d/39y9y25en3t3zvz8aq2qcicofoook2v8.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/85d/39y9y25en3t3zvz8aq2qcicofoook2v8.jpg');"></a></div> 1311 </div> 1312 <div class="swiper-pagination"></div> 1313 <div class="swiper-button-prev"> 1314 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1315 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1316 </svg> 1317 </div> 1318 <div class="swiper-button-next"> 1319 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1320 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1321 </svg> 1322 </div> 1323 </div> 1324 <div class="card-item__content"> 1325 <div class="card-item__name h5">ФоÑоÑеÑÑÐ¸Ñ Ð½Ð° кÑÑÑе паÑкинга</div> 1326 <div class="text-small text-loko-dark-gray mb-2">ÐаноÑамнÑй вид на лÑбимÑй ÑÑадион, индÑÑÑÑиалÑнÑй гоÑодÑкой пейзаж и ÑамÑе кÑаÑивÑе закаÑÑ - ÑоÑоÑеÑÑиÑ
1326 на кÑÑÑе паÑкинга ÑÑÐ°Ð½ÐµÑ Ð¾Ñобенной в ваÑей коллекÑии.<br> 1327 <br> 1328 <br> 1329 <b>ÐолиÑеÑÑво Ñеловек:</b> до 15<br> 1330 <b>ÐÑемÑ:</b> до 2-Ñ ÑаÑов<br> 1331 <b>СÑоимоÑÑÑ:</b> 10 000 ÑÑблей<br></div> 1332 <div class="text-small mt-2">+7 495 500 30 20</div> 1333 </div> 1334 </div> 1335 <div class="card-item cafe-slider"> 1336 <div class="swiper w-full"> 1337 <div class="swiper-wrapper w-full light-gallery"> 1338 <div class="swiper-slide "><a href="/upload/iblock/e62/65tcrzuj83mrjrbaiuki6i43kvsmg9qw.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/e62/65tcrzuj83mrjrbaiuki6i43kvsmg9qw.jpg');"></a></div> 1339 </div> 1340 <div class="swiper-pagination"></div> 1341 <div class="swiper-button-prev"> 1342 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1343 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1344 </svg> 1345 </div> 1346 <div class="swiper-button-next"> 1347 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1348 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1349 </svg> 1350 </div> 1351 </div> 1352 <div class="card-item__content"> 1353 <div class="card-item__name h5">ФоÑоÑеÑÑÐ¸Ñ Ð½Ð° "СапÑан ÐÑене"</div> 1354 <div class="text-small text-loko-dark-gray mb-2">ХоÑиÑе ÑделаÑÑ Ð¿Ð¾-наÑÑоÑÑÐµÐ¼Ñ ÑÑÑболÑнÑе команднÑе ÑоÑо или ÑÑÑÑоиÑÑ ÑоманÑиÑеÑкÑÑ ÑоÑоÑеÑÑÐ¸Ñ Ð¿ÑÑм на поле? Тогда вам на "СапÑан ÐÑенÑ"! ÐоÑÑвÑÑвÑйÑе ÑÐµÐ±Ñ Ð² ÑенÑÑе Ð²Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð½Ð° поле, ÑÑибÑÐ½Ð°Ñ Ð¸Ð»Ð¸ в Ñаздевалке ÑÑÑболиÑÑов.<br> 1355 <br> 1356 <b>ÐолиÑеÑÑво Ñеловек:</b> до 15<br> 1357 <b>ÐÑемÑ:</b> до 2-Ñ ÑаÑов<br> 1358 <b>СÑоимоÑÑÑ:</b> 30 000 ÑÑблей</div> 1359 <div class="text-small mt-2">+7 495 500 30 20</div> 1360 </div> 1361 </div> 1362 <div class="card-item cafe-slider"> 1363 <div class="swiper w-full"> 1364 <div class="swiper-wrapper w-full light-gallery"> 1365 <div class="swiper-slide "><a href="/upload/iblock/187/1x2z7rbr3tw5bdoa7xj3qs74ingxkod0.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/187/1x2z7rbr3tw5bdoa7xj3qs74ingxkod0.jpg');"></a></div> 1366 <div class="swiper-slide "><a href="/upload/iblock/3b7/nr5fbjuc5chruk20agpwa9g7l7wz5ymv.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/3b7/nr5fbjuc5chruk20agpwa9g7l7wz5ymv.jpg');"></a></div> 1367 <div class="swiper-slide "><a href="/upload/iblock/bdd/pkmmsm8vhbh6j4ugy4y6gujyrgiax27v.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/bdd/pkmmsm8vhbh6j4ugy4y6gujyrgiax27v.jpg');"></a></div> 1368 <div class="swiper-slide "><a href="/upload/iblock/870/gb0oeoiyobgqiba8p5dbwb84q4l02bqo.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/870/gb0oeoiyobgqiba8p5dbwb84q4l02bqo.jpg');"></a></div> 1369 <div class="swiper-slide "><a href="/upload/iblock/692/vhzr6r8ixyrngshqad3jvb46f3f6tu17.jpg" class="block card-item__img" style="background-image: url('/upload/iblock/692/vhzr6r8ixyrngshqad3jvb46f3f6tu17.jpg');"></a></div> 1370 </div> 1371 <div class="swiper-pagination"></div> 1372 <div class="swiper-button-prev"> 1373 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1374 <path d="M15 4L7 12L15 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1375 </svg> 1376 </div> 1377 <div class="swiper-button-next"> 1378 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> 1379 <path d="M9 4L17 12L9 20" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" /> 1380 </svg> 1381 </div> 1382 </div> 1383 <div class="card-item__content"> 1384 <div class="card-item__name h5">
1384ФоÑоÑеÑÑÐ¸Ñ Ð½Ð° полÑÑ </div> 1385 <div class="text-small text-loko-dark-gray mb-2">Ðа ÑеÑÑиÑоÑии "Ð ÐÐ ÐÑенÑ" ÑаÑполагаеÑÑÑ 6 кÑÑÑÑÑ Ð¼Ð°Ð½ÐµÐ¶ÐµÐ¹ и ÑÑÑболÑнÑÑ Ð¿Ð¾Ð»ÐµÐ¹, коÑоÑÑе ÑÑанÑÑ Ð¾ÑлиÑной локаÑией Ð´Ð»Ñ ÑемаÑиÑеÑÐºÐ¸Ñ ÑоÑоÑеÑÑий в лÑбое вÑÐµÐ¼Ñ Ð³Ð¾Ð´Ð° и Ð¿Ð¾Ð³Ð¾Ð´Ñ - вÑбиÑайÑе Ð¿Ð¾Ð´Ñ Ð¾Ð´ÑÑий по дÑÑе ваÑÐ¸Ð°Ð½Ñ Ð¸ воплоÑайÑе Ñвои ÑвоÑÑеÑкие задÑмки вмеÑÑе Ñ Ð½Ð°Ð¼Ð¸!<br /> 1386<br /> 1387<br /> 1388ÐолиÑеÑÑво Ñеловек: до 15<br /> 1389ÐÑемÑ: до 2-Ñ ÑаÑов<br /> 1390СÑоимоÑÑÑ: 15 000 ÑÑблей</div> 1391 <div class="text-small mt-2">+7 495 500 30 20</div> 1392 </div> 1393 </div> 1394 </div> 1395 </div> 1396 </div> 1397 </div> 1398 </div> 1399</div> <!-- Yandex.Metrika counter --> 1400<noscript><div><img src="https://mc.yandex.ru/watch/96074689" style="position:absolute; left:-9999px;" alt="" /></div></noscript> 1401<!-- /Yandex.Metrika counter --> 1402<!-- Top.Mail.Ru counter --> 1403<noscript><div><img src="https://top-fwz1.mail.ru/counter?id=3508107;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div></noscript> 1404<!-- /Top.Mail.Ru counter -->
vendor: 83 bytes, line 1404
1404<script type="text/javascript" src="https://www.google.com/recaptcha/api.js?render=
14046LfcEzwpAAAAAB4qhfzAONQXTrlKqQkiYQrfwVOE
vendor: 11 bytes, line 1404
1404"></script>
1404<script>if(!window.BX)window.BX={};if(!window.BX.message)window.BX.message=function(mess){if(typeof mess==='object'){for(let i in mess) {BX.message[i]=mess[i];} return true;}};</script>
vendor: 1 bytes, line 1404
1404
1405<script>(window.BX||top.BX).message({"JS_CORE_LOADING":"ÐагÑÑзка...","JS_CORE_NO_DATA":"- ÐÐµÑ Ð´Ð°Ð½Ð½ÑÑ
-","JS_CORE_WINDOW_CLOSE":"ÐакÑÑÑÑ","JS_CORE_WINDOW_EXPAND":"РазвеÑнÑÑÑ","JS_CORE_WINDOW_NARROW":"СвеÑнÑÑÑ Ð² окно","JS_CORE_WINDOW_SAVE":"СоÑ
ÑаниÑÑ","JS_CORE_WINDOW_CANCEL":"ÐÑмениÑÑ","JS_CORE_WINDOW_CONTINUE":"ÐÑодолжиÑÑ","JS_CORE_H":"Ñ","JS_CORE_M":"м","JS_CORE_S":"Ñ","JSADM_AI_HIDE_EXTRA":"СкÑÑÑÑ Ð»Ð¸Ñние","JSADM_AI_ALL_NOTIF":"ÐоказаÑÑ Ð²Ñе","JSADM_AUTH_REQ":"ТÑебÑеÑÑÑ Ð°Ð²ÑоÑизаÑиÑ!","JS_CORE_WINDOW_AUTH":"ÐойÑи","JS_CORE_IMAGE_FULL":"ÐолнÑй ÑазмеÑ"});</script>
1405<script src="/bitrix/js/main/core/core.min.js?1787113907245644"></script>
1405<script>BX.Runtime.registerExtension({"name":"main.core","namespace":"BX","loaded":true});</script>
vendor: 1 bytes, line 1405
1405
1406<script>BX.setJSList(["\/bitrix\/js\/main\/core\/core_ajax.js","\/bitrix\/js\/main\/core\/core_promise.js","\/bitrix\/js\/main\/polyfill\/promise\/js\/promise.js","\/bitrix\/js\/main\/loadext\/loadext.js","\/bitrix\/js\/main\/loadext\/extension.js","\/bitrix\/js\/main\/polyfill\/promise\/js\/promise.js","\/bitrix\/js\/main\/polyfill\/find\/js\/find.js","\/bitrix\/js\/main\/polyfill\/includes\/js\/includes.js","\/bitrix\/js\/main\/polyfill\/matches\/js\/matches.js","\/bitrix\/js\/ui\/polyfill\/closest\/js\/closest.js","\/bitrix\/js\/main\/polyfill\/fill\/main.polyfill.fill.js","\/bitrix\/js\/main\/polyfill\/find\/js\/find.js","\/bitrix\/js\/main\/polyfill\/matches\/js\/matches.js","\/bitrix\/js\/main\/polyfill\/core\/dist\/polyfill.bundle.js","\/bitrix\/js\/main\/core\/core.js","\/bitrix\/js\/main\/polyfill\/intersectionobserver\/js\/intersectionobserver.js","\/bitrix\/js\/main\/lazyload\/dist\/lazyload.bundle.js","\/bitrix\/js\/main\/polyfill\/core\/dist\/polyfill.bundle.js","\/bitrix\/js\/main\/parambag\/dist\/parambag.bundle.js"]); 1407</script>
vendor: 1 bytes, line 1407
1407
1408<script>BX.Runtime.registerExtension({"name":"jquery3","namespace":"window","loaded":true});</script>
vendor: 1 bytes, line 1408
1408
1409<script>(window.BX||top.BX).message({"LANGUAGE_ID":"ru","FORMAT_DATE":"DD.MM.YYYY","FORMAT_DATETIME":"DD.MM.YYYY HH:MI:SS","COOKIE_PREFIX":"BITRIX_SM","SERVER_TZ_OFFSET":"10800","UTF_MODE":"Y","SITE_ID":"s1","SITE_DIR":"\/","USER_ID":"","SERVER_TIME":1790960060,"USER_TZ_OFFSET":0,"USER_TZ_AUTO":"Y","bitrix_sessid":"2bfdbc11bda1861ebab7b86f1ae632fe"});</script>
1409<script src="/bitrix/js/main/jquery/jquery-3.6.0.min.js?170137092589501"></script>
vendor: 1 bytes, line 1409
1409
1410<script>BX.setJSList(["\/assets\/plugins\/swiper-bundle.min.js","\/assets\/main-a20e68ca.js","\/assets\/plugins\/simple-lightbox.min.js","\/assets\/plugins\/imask.js","\/assets\/plugins\/purify.min.js","\/assets\/custom.js"]);</script>
vendor: 1 bytes, line 1410
1410
1411<script>BX.setCSSList(["\/assets\/main-dfa1deef.css","\/assets\/custom.css","\/bitrix\/components\/bitrix\/system.show_message\/templates\/.default\/style.css","\/assets\/plugins\/simple-lightbox.min.css"]);</script>
vendor: 1 bytes, line 1411
1411
1412<script>BX.arMobecanOptions = {'SHOW_LICENCE':'Y','YA_GOALS':'Y','YA_COUNTER_ID':'96074689','G_TAG_MANAGER_ID':'','G_SITE_KEY':'6LfcEzwpAAAAAB4qhfzAONQXTrlKqQkiYQrfwVOE'}</script>
vendor: 1 bytes, line 1412
1412
1413<script src="/bitrix/cache/js/s1/main/template_aedd1c03be6b4f8f2aff30645d20bcdc/template_aedd1c03be6b4f8f2aff30645d20bcdc_v1.js?1787113921354288"></script>
1413 1414
1415<script> 1416 (() => { 1417 const containerSelector = '.ajax-form'; 1418 const policyBlockSelector = '.text-small'; 1419 const policyLinkSelector = 'a[href*="/oferta.pdf"]'; 1420 1421 const formConsentMap = new WeakMap(); 1422 1423 let formIdCounter = 0; 1424 1425 const style = document.createElement('style'); 1426 1427 style.textContent = ` 1428 .gdpr-consent-row { 1429 display: flex; 1430 align-items: flex-start; 1431 gap: 8px; 1432 } 1433 1434 .gdpr-consent-checkbox { 1435 width: 16px; 1436 height: 16px; 1437 min-width: 16px; 1438 margin: 2px 0 0; 1439 cursor: pointer; 1440 } 1441 1442 .gdpr-consent-error { 1443 display: none; 1444 margin-top: 6px; 1445 color: #dc2626; 1446 } 1447 1448 .gdpr-consent-error.is-visible { 1449 display: block; 1450 } 1451 `; 1452 1453 document.head.appendChild(style); 1454 1455 function getPolicyBlock(form) { 1456 const container = form.closest(containerSelector); 1457 1458 if (!container) { 1459 return null; 1460 } 1461 1462 const blocks = container.querySelectorAll(policyBlockSelector); 1463 1464 for (const block of blocks) { 1465 if (block.querySelector(policyLinkSelector)) { 1466 return block; 1467 } 1468 } 1469 1470 return null; 1471 } 1472 1473 function createFormId(form) { 1474 if (form.id) { 1475 return form.id; 1476 } 1477 1478 formIdCounter += 1; 1479 form.id = `gdpr-form-${formIdCounter}`; 1480 1481 return form.id; 1482 } 1483 1484 function hideError(form) { 1485 const consent = formConsentMap.get(form); 1486 1487 if (!consent) { 1488 return; 1489 } 1490 1491 consent.error.classList.remove('is-visible'); 1492 consent.checkbox.removeAttribute('aria-invalid'); 1493 } 1494 1495 function showError(form) { 1496 const consent = formConsentMap.get(form); 1497 1498 if (!consent) { 1499 return; 1500 } 1501 1502 consent.error.classList.add('is-visible'); 1503 consent.checkbox.setAttribute('aria-invalid', 'true'); 1504 } 1505 1506 function initializeForm(form) { 1507 if (!(form instanceof HTMLFormElement)) { 1508 return; 1509 } 1510 1511 const existingConsent = formConsentMap.get(form); 1512 1513 if ( 1514 existingConsent && 1515 existingConsent.checkbox.isConnected && 1516 existingConsent.block.isConnected 1517 ) { 1518 return; 1519 } 1520 1521 if (existingConsent) { 1522 formConsentMap.delete(form); 1523 } 1524 1525 const block = getPolicyBlock(form); 1526 1527 if (!block) { 1528 return; 1529 } 1530 1531 const existingCheckbox = block.querySelector('.gdpr-consent-checkbox'); 1532 1533 if (existingCheckbox) { 1534 const existingError = block.querySelector('.gdpr-consent-error'); 1535 1536 formConsentMap.set(form, { 1537 block, 1538 checkbox: existingCheckbox, 1539 error: existingError 1540 }); 1541 1542 return; 1543 } 1544 1545 const formId = createFormId(form); 1546 1547 formIdCounter += 1; 1548 1549 const checkboxId = `gdpr-consent-${formIdCounter}`; 1550 1551 const checkbox = document.createElement('input'); 1552 checkbox.type = 'checkbox'; 1553 checkbox.name = 'privacy_policy_accepted'; 1554 checkbox.value = '1'; 1555 checkbox.id = checkboxId; 1556 checkbox.className = 'gdpr-consent-checkbox'; 1557 checkbox.required = true; 1558 checkbox.setAttribute('form', formId); 1559 1560 const text = document.createElement('span'); 1561 text.id = `${checkboxId}-text`; 1562 1563 while (block.firstChild) { 1564 text.appendChild(block.firstChild); 1565 } 1566 1567 checkbox.setAttribute('aria-labelledby', text.id); 1568 1569 const row = document.createElement('div'); 1570 row.className = 'gdpr-consent-row'; 1571 1572 row.appendChild(checkbox); 1573 row.appendChild(text); 1574 1575 const error = document.createElement('div'); 1576 error.className = 'gdpr-consent-error'; 1577 error.id = `${checkboxId}-error`; 1578 error.textContent = 'ÐеÑед оÑпÑавкой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑинÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ .'; 1579 1580 checkbox.setAttribute('aria-describedby', error.id); 1581 1582 block.appendChild(row); 1583 block.appendChild(error); 1584 1585 formConsentMap.set(form, { 1586 block, 1587 checkbox, 1588 error 1589 }); 1590 1591 checkbox.addEventListener('change', () => { 1592 if (checkbox.checked) { 1593 hideError(form); 1594 } 1595 }); 1596 1597 checkbox.addEventListener('invalid', event => { 1598 event.preventDefault(); 1599 showError(form); 1600 }); 1601 } 1602 1603 function validateConsent(form) { 1604 initializeForm(form); 1605 1606 const consent = formConsentMap.get(form); 1607 1608 if (!consent) { 1609 return true; 1610 } 1611 1612 if (consent.checkbox.checked) { 1613 hideError(form); 1614 return true; 1615 } 1616 1617 showError(form); 1618 1619 return false;
1620 } 1621 1622 function initializeForms(root = document) { 1623 if (root instanceof HTMLFormElement) { 1624 initializeForm(root); 1625 } 1626 1627 if (root.querySelectorAll) { 1628 root.querySelectorAll('form').forEach(form => { 1629 initializeForm(form); 1630 }); 1631 } 1632 1633 if (root instanceof Element) { 1634 const container = root.closest(containerSelector); 1635 1636 if (container) { 1637 container.querySelectorAll('form').forEach(form => { 1638 initializeForm(form); 1639 }); 1640 } 1641 } 1642 } 1643 1644 document.addEventListener( 1645 'submit', 1646 event => { 1647 const form = event.target; 1648 1649 if (!(form instanceof HTMLFormElement)) { 1650 return; 1651 } 1652 1653 if (!validateConsent(form)) { 1654 event.preventDefault(); 1655 event.stopImmediatePropagation(); 1656 } 1657 }, 1658 true 1659 ); 1660 1661 const nativeSubmit = HTMLFormElement.prototype.submit; 1662 1663 HTMLFormElement.prototype.submit = function (...args) { 1664 if (!validateConsent(this)) { 1665 return; 1666 } 1667 1668 return nativeSubmit.apply(this, args); 1669 }; 1670 1671 const observer = new MutationObserver(mutations => { 1672 for (const mutation of mutations) { 1673 for (const node of mutation.addedNodes) { 1674 if (!(node instanceof Element)) { 1675 continue; 1676 } 1677 1678 initializeForms(node); 1679 } 1680 } 1681 }); 1682 1683 initializeForms(); 1684 1685 observer.observe(document.documentElement, { 1686 childList: true, 1687 subtree: true 1688 }); 1689 })(); 1690</script>
1690<script> 1691 const popupEventsSwiper = new Swiper('.popup-events-slider .swiper', { 1692 loop: true, 1693 slidesPerView: 1, 1694 pagination: { 1695 el: ".popup-events-slider .swiper-pagination", 1696 }, 1697 navigation: { 1698 nextEl: '.popup-events-slider .swiper-button-next', 1699 prevEl: '.popup-events-slider .swiper-button-prev', 1700 } 1701 }); 1702 </script>
vendor: 1 bytes, line 1702
1702
1703<script> 1704 const popupSportSwiper = new Swiper('.popup-sport-slider .swiper', { 1705 loop: true, 1706 slidesPerView: 1, 1707 pagination: { 1708 el: ".popup-sport-slider .swiper-pagination", 1709 }, 1710 navigation: { 1711 nextEl: '.popup-sport-slider .swiper-button-next', 1712 prevEl: '.popup-sport-slider .swiper-button-prev', 1713 } 1714 }); 1715 </script>
vendor: 1 bytes, line 1715
1715
1716<script> 1717 const popupRentSwiper = new Swiper('.popup-rent-slider .swiper', { 1718 loop: true, 1719 slidesPerView: 1, 1720 pagination: { 1721 el: ".popup-rent-slider .swiper-pagination", 1722 }, 1723 navigation: { 1724 nextEl: '.popup-rent-slider .swiper-button-next', 1725 prevEl: '.popup-rent-slider .swiper-button-prev', 1726 } 1727 }); 1728 </script>
vendor: 1 bytes, line 1728
1728
1729<script> 1730 const popupServiceSwiper = new Swiper('.popup-service-slider .swiper', { 1731 loop: true, 1732 slidesPerView: 1, 1733 pagination: { 1734 el: ".popup-service-slider .swiper-pagination", 1735 }, 1736 navigation: { 1737 nextEl: '.popup-service-slider .swiper-button-next', 1738 prevEl: '.popup-service-slider .swiper-button-prev', 1739 } 1740 }); 1741 </script>
vendor: 1 bytes, line 1741
1741
1742<script> 1743 const popupAreasSwiper = new Swiper('.popup-areas-slider .swiper', { 1744 loop: true, 1745 slidesPerView: 1, 1746 pagination: { 1747 el: ".popup-areas-slider .swiper-pagination", 1748 }, 1749 navigation: { 1750 nextEl: '.popup-areas-slider .swiper-button-next', 1751 prevEl: '.popup-areas-slider .swiper-button-prev', 1752 } 1753 }); 1754 </script>
vendor: 1 bytes, line 1754
1754
1755<script> 1756 const popupintegrationSwiper = new Swiper('.popup-integration-slider .swiper', { 1757 loop: true, 1758 slidesPerView: 1, 1759 pagination: { 1760 el: ".popup-integration-slider .swiper-pagination", 1761 }, 1762 navigation: { 1763 nextEl: '.popup-integration-slider .swiper-button-next', 1764 prevEl: '.popup-integration-slider .swiper-button-prev', 1765 } 1766 }); 1767 </script>
vendor: 1 bytes, line 1767
1767
1768<script> 1769 const popupCastleEventsSwiper = new Swiper('.popup-castle-events-slider .swiper', { 1770 loop: true, 1771 slidesPerView: 1, 1772 pagination: { 1773 el: ".popup-castle-events-slider .swiper-pagination", 1774 }, 1775 navigation: { 1776 nextEl: '.popup-castle-events-slider .swiper-button-next', 1777 prevEl: '.popup-castle-events-slider .swiper-button-prev', 1778 } 1779 }); 1780 </script>
vendor: 1 bytes, line 1780
1780
1781<script> 1782 (() => { 1783 const containerSelector = '.ajax-form'; 1784 const policyBlockSelector = '.text-small'; 1785 const policyLinkSelector = 'a[href*="/oferta.pdf"]'; 1786 1787 const formConsentMap = new WeakMap(); 1788 1789 let formIdCounter = 0; 1790 1791 const style = document.createElement('style'); 1792 1793 style.textContent = ` 1794 .gdpr-consent-row { 1795 display: flex; 1796 align-items: flex-start; 1797 gap: 8px; 1798 } 1799 1800 .gdpr-consent-checkbox { 1801 width: 16px; 1802 height: 16px; 1803 min-width: 16px; 1804 margin: 2px 0 0; 1805 cursor: pointer; 1806 } 1807 1808 .gdpr-consent-error { 1809 display: none; 1810 margin-top: 6px; 1811 color: #dc2626; 1812 } 1813 1814 .gdpr-consent-error.is-visible { 1815 display: block; 1816 } 1817 `; 1818 1819 document.head.appendChild(style); 1820 1821 function getPolicyBlock(form) { 1822 const container = form.closest(containerSelector); 1823 1824 if (!container) { 1825 return null; 1826 } 1827 1828 const blocks = container.querySelectorAll(policyBlockSelector); 1829 1830 for (const block of blocks) { 1831 if (block.querySelector(policyLinkSelector)) { 1832 return block; 1833 } 1834 } 1835 1836 return null; 1837 } 1838 1839 function createFormId(form) { 1840 if (form.id) { 1841 return form.id; 1842 } 1843 1844 formIdCounter += 1; 1845 form.id = `gdpr-form-${formIdCounter}`; 1846 1847 return form.id; 1848 } 1849 1850 function hideError(form) { 1851 const consent = formConsentMap.get(form); 1852 1853 if (!consent) { 1854 return; 1855 } 1856 1857 consent.error.classList.remove('is-visible'); 1858 consent.checkbox.removeAttribute('aria-invalid'); 1859 } 1860 1861 function showError(form) { 1862 const consent = formConsentMap.get(form); 1863 1864 if (!consent) { 1865 return; 1866 } 1867 1868 consent.error.classList.add('is-visible'); 1869 consent.checkbox.setAttribute('aria-invalid', 'true'); 1870 } 1871 1872 function initializeForm(form) { 1873 if (!(form instanceof HTMLFormElement)) { 1874 return; 1875 } 1876 1877 const existingConsent = formConsentMap.get(form); 1878 1879 if ( 1880 existingConsent && 1881 existingConsent.checkbox.isConnected && 1882 existingConsent.block.isConnected 1883 ) { 1884 return; 1885 } 1886 1887 if (existingConsent) { 1888 formConsentMap.delete(form); 1889 } 1890 1891 const block = getPolicyBlock(form); 1892 1893 if (!block) { 1894 return; 1895 } 1896 1897 const existingCheckbox = block.querySelector('.gdpr-consent-checkbox'); 1898 1899 if (existingCheckbox) { 1900 const existingError = block.querySelector('.gdpr-consent-error'); 1901 1902 formConsentMap.set(form, { 1903 block, 1904 checkbox: existingCheckbox, 1905 error: existingError 1906 }); 1907 1908 return; 1909 } 1910 1911 const formId = createFormId(form); 1912 1913 formIdCounter += 1; 1914 1915 const checkboxId = `gdpr-consent-${formIdCounter}`; 1916 1917 const checkbox = document.createElement('input'); 1918 checkbox.type = 'checkbox'; 1919 checkbox.name = 'privacy_policy_accepted'; 1920 checkbox.value = '1'; 1921 checkbox.id = checkboxId; 1922 checkbox.className = 'gdpr-consent-checkbox'; 1923 checkbox.required = true; 1924 checkbox.setAttribute('form', formId); 1925 1926 const text = document.createElement('span'); 1927 text.id = `${checkboxId}-text`; 1928 1929 while (block.firstChild) { 1930 text.appendChild(block.firstChild); 1931 } 1932 1933 checkbox.setAttribute('aria-labelledby', text.id); 1934 1935 const row = document.createElement('div'); 1936 row.className = 'gdpr-consent-row'; 1937 1938 row.appendChild(checkbox); 1939 row.appendChild(text); 1940 1941 const error = document.createElement('div'); 1942 error.className = 'gdpr-consent-error'; 1943 error.id = `${checkboxId}-error`; 1944 error.textContent = 'ÐеÑед оÑпÑавкой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑинÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ .'; 1945 1946 checkbox.setAttribute('aria-describedby', error.id); 1947 1948 block.appendChild(row); 1949 block.appendChild(error); 1950 1951 formConsentMap.set(form, { 1952 block, 1953 checkbox, 1954 error 1955 }); 1956 1957 checkbox.addEventListener('change', () => { 1958 if (checkbox.checked) { 1959 hideError(form); 1960 } 1961 }); 1962 1963 checkbox.addEventListener('invalid', event => { 1964 event.preventDefault(); 1965 showError(form); 1966 }); 1967 } 1968 1969 function validateConsent(form) { 1970 initializeForm(form); 1971 1972 const consent = formConsentMap.get(form); 1973 1974 if (!consent) { 1975 return true; 1976 } 1977 1978 if (consent.checkbox.checked) { 1979 hideError(form); 1980 return true; 1981 } 1982 1983 showError(form); 1984 1985 return false;
1986 } 1987 1988 function initializeForms(root = document) { 1989 if (root instanceof HTMLFormElement) { 1990 initializeForm(root); 1991 } 1992 1993 if (root.querySelectorAll) { 1994 root.querySelectorAll('form').forEach(form => { 1995 initializeForm(form); 1996 }); 1997 } 1998 1999 if (root instanceof Element) { 2000 const container = root.closest(containerSelector); 2001 2002 if (container) { 2003 container.querySelectorAll('form').forEach(form => { 2004 initializeForm(form); 2005 }); 2006 } 2007 } 2008 } 2009 2010 document.addEventListener( 2011 'submit', 2012 event => { 2013 const form = event.target; 2014 2015 if (!(form instanceof HTMLFormElement)) { 2016 return; 2017 } 2018 2019 if (!validateConsent(form)) { 2020 event.preventDefault(); 2021 event.stopImmediatePropagation(); 2022 } 2023 }, 2024 true 2025 ); 2026 2027 const nativeSubmit = HTMLFormElement.prototype.submit; 2028 2029 HTMLFormElement.prototype.submit = function (...args) { 2030 if (!validateConsent(this)) { 2031 return; 2032 } 2033 2034 return nativeSubmit.apply(this, args); 2035 }; 2036 2037 const observer = new MutationObserver(mutations => { 2038 for (const mutation of mutations) { 2039 for (const node of mutation.addedNodes) { 2040 if (!(node instanceof Element)) { 2041 continue; 2042 } 2043 2044 initializeForms(node); 2045 } 2046 } 2047 }); 2048 2049 initializeForms(); 2050 2051 observer.observe(document.documentElement, { 2052 childList: true, 2053 subtree: true 2054 }); 2055 })(); 2056</script>
2056<script> 2057 (() => { 2058 const containerSelector = '.ajax-form'; 2059 const policyBlockSelector = '.text-small'; 2060 const policyLinkSelector = 'a[href*="/oferta.pdf"]'; 2061 2062 const formConsentMap = new WeakMap(); 2063 2064 let formIdCounter = 0; 2065 2066 const style = document.createElement('style'); 2067 2068 style.textContent = ` 2069 .gdpr-consent-row { 2070 display: flex; 2071 align-items: flex-start; 2072 gap: 8px; 2073 } 2074 2075 .gdpr-consent-checkbox { 2076 width: 16px; 2077 height: 16px; 2078 min-width: 16px; 2079 margin: 2px 0 0; 2080 cursor: pointer; 2081 } 2082 2083 .gdpr-consent-error { 2084 display: none; 2085 margin-top: 6px; 2086 color: #dc2626; 2087 } 2088 2089 .gdpr-consent-error.is-visible { 2090 display: block; 2091 } 2092 `; 2093 2094 document.head.appendChild(style); 2095 2096 function getPolicyBlock(form) { 2097 const container = form.closest(containerSelector); 2098 2099 if (!container) { 2100 return null; 2101 } 2102 2103 const blocks = container.querySelectorAll(policyBlockSelector); 2104 2105 for (const block of blocks) { 2106 if (block.querySelector(policyLinkSelector)) { 2107 return block; 2108 } 2109 } 2110 2111 return null; 2112 } 2113 2114 function createFormId(form) { 2115 if (form.id) { 2116 return form.id; 2117 } 2118 2119 formIdCounter += 1; 2120 form.id = `gdpr-form-${formIdCounter}`; 2121 2122 return form.id; 2123 } 2124 2125 function hideError(form) { 2126 const consent = formConsentMap.get(form); 2127 2128 if (!consent) { 2129 return; 2130 } 2131 2132 consent.error.classList.remove('is-visible'); 2133 consent.checkbox.removeAttribute('aria-invalid'); 2134 } 2135 2136 function showError(form) { 2137 const consent = formConsentMap.get(form); 2138 2139 if (!consent) { 2140 return; 2141 } 2142 2143 consent.error.classList.add('is-visible'); 2144 consent.checkbox.setAttribute('aria-invalid', 'true'); 2145 } 2146 2147 function initializeForm(form) { 2148 if (!(form instanceof HTMLFormElement)) { 2149 return; 2150 } 2151 2152 const existingConsent = formConsentMap.get(form); 2153 2154 if ( 2155 existingConsent && 2156 existingConsent.checkbox.isConnected && 2157 existingConsent.block.isConnected 2158 ) { 2159 return; 2160 } 2161 2162 if (existingConsent) { 2163 formConsentMap.delete(form); 2164 } 2165 2166 const block = getPolicyBlock(form); 2167 2168 if (!block) { 2169 return; 2170 } 2171 2172 const existingCheckbox = block.querySelector('.gdpr-consent-checkbox'); 2173 2174 if (existingCheckbox) { 2175 const existingError = block.querySelector('.gdpr-consent-error'); 2176 2177 formConsentMap.set(form, { 2178 block, 2179 checkbox: existingCheckbox, 2180 error: existingError 2181 }); 2182 2183 return; 2184 } 2185 2186 const formId = createFormId(form); 2187 2188 formIdCounter += 1; 2189 2190 const checkboxId = `gdpr-consent-${formIdCounter}`; 2191 2192 const checkbox = document.createElement('input'); 2193 checkbox.type = 'checkbox'; 2194 checkbox.name = 'privacy_policy_accepted'; 2195 checkbox.value = '1'; 2196 checkbox.id = checkboxId; 2197 checkbox.className = 'gdpr-consent-checkbox'; 2198 checkbox.required = true; 2199 checkbox.setAttribute('form', formId); 2200 2201 const text = document.createElement('span'); 2202 text.id = `${checkboxId}-text`; 2203 2204 while (block.firstChild) { 2205 text.appendChild(block.firstChild); 2206 } 2207 2208 checkbox.setAttribute('aria-labelledby', text.id); 2209 2210 const row = document.createElement('div'); 2211 row.className = 'gdpr-consent-row'; 2212 2213 row.appendChild(checkbox); 2214 row.appendChild(text); 2215 2216 const error = document.createElement('div'); 2217 error.className = 'gdpr-consent-error'; 2218 error.id = `${checkboxId}-error`; 2219 error.textContent = 'ÐеÑед оÑпÑавкой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑинÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ .'; 2220 2221 checkbox.setAttribute('aria-describedby', error.id); 2222 2223 block.appendChild(row); 2224 block.appendChild(error); 2225 2226 formConsentMap.set(form, { 2227 block, 2228 checkbox, 2229 error 2230 }); 2231 2232 checkbox.addEventListener('change', () => { 2233 if (checkbox.checked) { 2234 hideError(form); 2235 } 2236 }); 2237 2238 checkbox.addEventListener('invalid', event => { 2239 event.preventDefault(); 2240 showError(form); 2241 }); 2242 } 2243 2244 function validateConsent(form) { 2245 initializeForm(form); 2246 2247 const consent = formConsentMap.get(form); 2248 2249 if (!consent) { 2250 return true; 2251 } 2252 2253 if (consent.checkbox.checked) { 2254 hideError(form); 2255 return true; 2256 } 2257 2258 showError(form); 2259 2260 return false;
2261 } 2262 2263 function initializeForms(root = document) { 2264 if (root instanceof HTMLFormElement) { 2265 initializeForm(root); 2266 } 2267 2268 if (root.querySelectorAll) { 2269 root.querySelectorAll('form').forEach(form => { 2270 initializeForm(form); 2271 }); 2272 } 2273 2274 if (root instanceof Element) { 2275 const container = root.closest(containerSelector); 2276 2277 if (container) { 2278 container.querySelectorAll('form').forEach(form => { 2279 initializeForm(form); 2280 }); 2281 } 2282 } 2283 } 2284 2285 document.addEventListener( 2286 'submit', 2287 event => { 2288 const form = event.target; 2289 2290 if (!(form instanceof HTMLFormElement)) { 2291 return; 2292 } 2293 2294 if (!validateConsent(form)) { 2295 event.preventDefault(); 2296 event.stopImmediatePropagation(); 2297 } 2298 }, 2299 true 2300 ); 2301 2302 const nativeSubmit = HTMLFormElement.prototype.submit; 2303 2304 HTMLFormElement.prototype.submit = function (...args) { 2305 if (!validateConsent(this)) { 2306 return; 2307 } 2308 2309 return nativeSubmit.apply(this, args); 2310 }; 2311 2312 const observer = new MutationObserver(mutations => { 2313 for (const mutation of mutations) { 2314 for (const node of mutation.addedNodes) { 2315 if (!(node instanceof Element)) { 2316 continue; 2317 } 2318 2319 initializeForms(node); 2320 } 2321 } 2322 }); 2323 2324 initializeForms(); 2325 2326 observer.observe(document.documentElement, { 2327 childList: true, 2328 subtree: true 2329 }); 2330 })(); 2331</script>
2331<script> 2332 (() => { 2333 const containerSelector = '.ajax-form'; 2334 const policyBlockSelector = '.text-small'; 2335 const policyLinkSelector = 'a[href*="/oferta.pdf"]'; 2336 2337 const formConsentMap = new WeakMap(); 2338 2339 let formIdCounter = 0; 2340 2341 const style = document.createElement('style'); 2342 2343 style.textContent = ` 2344 .gdpr-consent-row { 2345 display: flex; 2346 align-items: flex-start; 2347 gap: 8px; 2348 } 2349 2350 .gdpr-consent-checkbox { 2351 width: 16px; 2352 height: 16px; 2353 min-width: 16px; 2354 margin: 2px 0 0; 2355 cursor: pointer; 2356 } 2357 2358 .gdpr-consent-error { 2359 display: none; 2360 margin-top: 6px; 2361 color: #dc2626; 2362 } 2363 2364 .gdpr-consent-error.is-visible { 2365 display: block; 2366 } 2367 `; 2368 2369 document.head.appendChild(style); 2370 2371 function getPolicyBlock(form) { 2372 const container = form.closest(containerSelector); 2373 2374 if (!container) { 2375 return null; 2376 } 2377 2378 const blocks = container.querySelectorAll(policyBlockSelector); 2379 2380 for (const block of blocks) { 2381 if (block.querySelector(policyLinkSelector)) { 2382 return block; 2383 } 2384 } 2385 2386 return null; 2387 } 2388 2389 function createFormId(form) { 2390 if (form.id) { 2391 return form.id; 2392 } 2393 2394 formIdCounter += 1; 2395 form.id = `gdpr-form-${formIdCounter}`; 2396 2397 return form.id; 2398 } 2399 2400 function hideError(form) { 2401 const consent = formConsentMap.get(form); 2402 2403 if (!consent) { 2404 return; 2405 } 2406 2407 consent.error.classList.remove('is-visible'); 2408 consent.checkbox.removeAttribute('aria-invalid'); 2409 } 2410 2411 function showError(form) { 2412 const consent = formConsentMap.get(form); 2413 2414 if (!consent) { 2415 return; 2416 } 2417 2418 consent.error.classList.add('is-visible'); 2419 consent.checkbox.setAttribute('aria-invalid', 'true'); 2420 } 2421 2422 function initializeForm(form) { 2423 if (!(form instanceof HTMLFormElement)) { 2424 return; 2425 } 2426 2427 const existingConsent = formConsentMap.get(form); 2428 2429 if ( 2430 existingConsent && 2431 existingConsent.checkbox.isConnected && 2432 existingConsent.block.isConnected 2433 ) { 2434 return; 2435 } 2436 2437 if (existingConsent) { 2438 formConsentMap.delete(form); 2439 } 2440 2441 const block = getPolicyBlock(form); 2442 2443 if (!block) { 2444 return; 2445 } 2446 2447 const existingCheckbox = block.querySelector('.gdpr-consent-checkbox'); 2448 2449 if (existingCheckbox) { 2450 const existingError = block.querySelector('.gdpr-consent-error'); 2451 2452 formConsentMap.set(form, { 2453 block, 2454 checkbox: existingCheckbox, 2455 error: existingError 2456 }); 2457 2458 return; 2459 } 2460 2461 const formId = createFormId(form); 2462 2463 formIdCounter += 1; 2464 2465 const checkboxId = `gdpr-consent-${formIdCounter}`; 2466 2467 const checkbox = document.createElement('input'); 2468 checkbox.type = 'checkbox'; 2469 checkbox.name = 'privacy_policy_accepted'; 2470 checkbox.value = '1'; 2471 checkbox.id = checkboxId; 2472 checkbox.className = 'gdpr-consent-checkbox'; 2473 checkbox.required = true; 2474 checkbox.setAttribute('form', formId); 2475 2476 const text = document.createElement('span'); 2477 text.id = `${checkboxId}-text`; 2478 2479 while (block.firstChild) { 2480 text.appendChild(block.firstChild); 2481 } 2482 2483 checkbox.setAttribute('aria-labelledby', text.id); 2484 2485 const row = document.createElement('div'); 2486 row.className = 'gdpr-consent-row'; 2487 2488 row.appendChild(checkbox); 2489 row.appendChild(text); 2490 2491 const error = document.createElement('div'); 2492 error.className = 'gdpr-consent-error'; 2493 error.id = `${checkboxId}-error`; 2494 error.textContent = 'ÐеÑед оÑпÑавкой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑинÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ .'; 2495 2496 checkbox.setAttribute('aria-describedby', error.id); 2497 2498 block.appendChild(row); 2499 block.appendChild(error); 2500 2501 formConsentMap.set(form, { 2502 block, 2503 checkbox, 2504 error 2505 }); 2506 2507 checkbox.addEventListener('change', () => { 2508 if (checkbox.checked) { 2509 hideError(form); 2510 } 2511 }); 2512 2513 checkbox.addEventListener('invalid', event => { 2514 event.preventDefault(); 2515 showError(form); 2516 }); 2517 } 2518 2519 function validateConsent(form) { 2520 initializeForm(form); 2521 2522 const consent = formConsentMap.get(form); 2523 2524 if (!consent) { 2525 return true; 2526 } 2527 2528 if (consent.checkbox.checked) { 2529 hideError(form); 2530 return true; 2531 } 2532 2533 showError(form); 2534 2535 return false;
2536 } 2537 2538 function initializeForms(root = document) { 2539 if (root instanceof HTMLFormElement) { 2540 initializeForm(root); 2541 } 2542 2543 if (root.querySelectorAll) { 2544 root.querySelectorAll('form').forEach(form => { 2545 initializeForm(form); 2546 }); 2547 } 2548 2549 if (root instanceof Element) { 2550 const container = root.closest(containerSelector); 2551 2552 if (container) { 2553 container.querySelectorAll('form').forEach(form => { 2554 initializeForm(form); 2555 }); 2556 } 2557 } 2558 } 2559 2560 document.addEventListener( 2561 'submit', 2562 event => { 2563 const form = event.target; 2564 2565 if (!(form instanceof HTMLFormElement)) { 2566 return; 2567 } 2568 2569 if (!validateConsent(form)) { 2570 event.preventDefault(); 2571 event.stopImmediatePropagation(); 2572 } 2573 }, 2574 true 2575 ); 2576 2577 const nativeSubmit = HTMLFormElement.prototype.submit; 2578 2579 HTMLFormElement.prototype.submit = function (...args) { 2580 if (!validateConsent(this)) { 2581 return; 2582 } 2583 2584 return nativeSubmit.apply(this, args); 2585 }; 2586 2587 const observer = new MutationObserver(mutations => { 2588 for (const mutation of mutations) { 2589 for (const node of mutation.addedNodes) { 2590 if (!(node instanceof Element)) { 2591 continue; 2592 } 2593 2594 initializeForms(node); 2595 } 2596 } 2597 }); 2598 2599 initializeForms(); 2600 2601 observer.observe(document.documentElement, { 2602 childList: true, 2603 subtree: true 2604 }); 2605 })(); 2606</script>
2606<script> 2607 (() => { 2608 const containerSelector = '.ajax-form'; 2609 const policyBlockSelector = '.text-small'; 2610 const policyLinkSelector = 'a[href*="/oferta.pdf"]'; 2611 2612 const formConsentMap = new WeakMap(); 2613 2614 let formIdCounter = 0; 2615 2616 const style = document.createElement('style'); 2617 2618 style.textContent = ` 2619 .gdpr-consent-row { 2620 display: flex; 2621 align-items: flex-start; 2622 gap: 8px; 2623 } 2624 2625 .gdpr-consent-checkbox { 2626 width: 16px; 2627 height: 16px; 2628 min-width: 16px; 2629 margin: 2px 0 0; 2630 cursor: pointer; 2631 } 2632 2633 .gdpr-consent-error { 2634 display: none; 2635 margin-top: 6px; 2636 color: #dc2626; 2637 } 2638 2639 .gdpr-consent-error.is-visible { 2640 display: block; 2641 } 2642 `; 2643 2644 document.head.appendChild(style); 2645 2646 function getPolicyBlock(form) { 2647 const container = form.closest(containerSelector); 2648 2649 if (!container) { 2650 return null; 2651 } 2652 2653 const blocks = container.querySelectorAll(policyBlockSelector); 2654 2655 for (const block of blocks) { 2656 if (block.querySelector(policyLinkSelector)) { 2657 return block; 2658 } 2659 } 2660 2661 return null; 2662 } 2663 2664 function createFormId(form) { 2665 if (form.id) { 2666 return form.id; 2667 } 2668 2669 formIdCounter += 1; 2670 form.id = `gdpr-form-${formIdCounter}`; 2671 2672 return form.id; 2673 } 2674 2675 function hideError(form) { 2676 const consent = formConsentMap.get(form); 2677 2678 if (!consent) { 2679 return; 2680 } 2681 2682 consent.error.classList.remove('is-visible'); 2683 consent.checkbox.removeAttribute('aria-invalid'); 2684 } 2685 2686 function showError(form) { 2687 const consent = formConsentMap.get(form); 2688 2689 if (!consent) { 2690 return; 2691 } 2692 2693 consent.error.classList.add('is-visible'); 2694 consent.checkbox.setAttribute('aria-invalid', 'true'); 2695 } 2696 2697 function initializeForm(form) { 2698 if (!(form instanceof HTMLFormElement)) { 2699 return; 2700 } 2701 2702 const existingConsent = formConsentMap.get(form); 2703 2704 if ( 2705 existingConsent && 2706 existingConsent.checkbox.isConnected && 2707 existingConsent.block.isConnected 2708 ) { 2709 return; 2710 } 2711 2712 if (existingConsent) { 2713 formConsentMap.delete(form); 2714 } 2715 2716 const block = getPolicyBlock(form); 2717 2718 if (!block) { 2719 return; 2720 } 2721 2722 const existingCheckbox = block.querySelector('.gdpr-consent-checkbox'); 2723 2724 if (existingCheckbox) { 2725 const existingError = block.querySelector('.gdpr-consent-error'); 2726 2727 formConsentMap.set(form, { 2728 block, 2729 checkbox: existingCheckbox, 2730 error: existingError 2731 }); 2732 2733 return; 2734 } 2735 2736 const formId = createFormId(form); 2737 2738 formIdCounter += 1; 2739 2740 const checkboxId = `gdpr-consent-${formIdCounter}`; 2741 2742 const checkbox = document.createElement('input'); 2743 checkbox.type = 'checkbox'; 2744 checkbox.name = 'privacy_policy_accepted'; 2745 checkbox.value = '1'; 2746 checkbox.id = checkboxId; 2747 checkbox.className = 'gdpr-consent-checkbox'; 2748 checkbox.required = true; 2749 checkbox.setAttribute('form', formId); 2750 2751 const text = document.createElement('span'); 2752 text.id = `${checkboxId}-text`; 2753 2754 while (block.firstChild) { 2755 text.appendChild(block.firstChild); 2756 } 2757 2758 checkbox.setAttribute('aria-labelledby', text.id); 2759 2760 const row = document.createElement('div'); 2761 row.className = 'gdpr-consent-row'; 2762 2763 row.appendChild(checkbox); 2764 row.appendChild(text); 2765 2766 const error = document.createElement('div'); 2767 error.className = 'gdpr-consent-error'; 2768 error.id = `${checkboxId}-error`; 2769 error.textContent = 'ÐеÑед оÑпÑавкой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑинÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ .'; 2770 2771 checkbox.setAttribute('aria-describedby', error.id); 2772 2773 block.appendChild(row); 2774 block.appendChild(error); 2775 2776 formConsentMap.set(form, { 2777 block, 2778 checkbox, 2779 error 2780 }); 2781 2782 checkbox.addEventListener('change', () => { 2783 if (checkbox.checked) { 2784 hideError(form); 2785 } 2786 }); 2787 2788 checkbox.addEventListener('invalid', event => { 2789 event.preventDefault(); 2790 showError(form); 2791 }); 2792 } 2793 2794 function validateConsent(form) { 2795 initializeForm(form); 2796 2797 const consent = formConsentMap.get(form); 2798 2799 if (!consent) { 2800 return true; 2801 } 2802 2803 if (consent.checkbox.checked) { 2804 hideError(form); 2805 return true; 2806 } 2807 2808 showError(form); 2809 2810 return false;
2811 } 2812 2813 function initializeForms(root = document) { 2814 if (root instanceof HTMLFormElement) { 2815 initializeForm(root); 2816 } 2817 2818 if (root.querySelectorAll) { 2819 root.querySelectorAll('form').forEach(form => { 2820 initializeForm(form); 2821 }); 2822 } 2823 2824 if (root instanceof Element) { 2825 const container = root.closest(containerSelector); 2826 2827 if (container) { 2828 container.querySelectorAll('form').forEach(form => { 2829 initializeForm(form); 2830 }); 2831 } 2832 } 2833 } 2834 2835 document.addEventListener( 2836 'submit', 2837 event => { 2838 const form = event.target; 2839 2840 if (!(form instanceof HTMLFormElement)) { 2841 return; 2842 } 2843 2844 if (!validateConsent(form)) { 2845 event.preventDefault(); 2846 event.stopImmediatePropagation(); 2847 } 2848 }, 2849 true 2850 ); 2851 2852 const nativeSubmit = HTMLFormElement.prototype.submit; 2853 2854 HTMLFormElement.prototype.submit = function (...args) { 2855 if (!validateConsent(this)) { 2856 return; 2857 } 2858 2859 return nativeSubmit.apply(this, args); 2860 }; 2861 2862 const observer = new MutationObserver(mutations => { 2863 for (const mutation of mutations) { 2864 for (const node of mutation.addedNodes) { 2865 if (!(node instanceof Element)) { 2866 continue; 2867 } 2868 2869 initializeForms(node); 2870 } 2871 } 2872 }); 2873 2874 initializeForms(); 2875 2876 observer.observe(document.documentElement, { 2877 childList: true, 2878 subtree: true 2879 }); 2880 })(); 2881</script>
2881<script> 2882 (() => { 2883 const containerSelector = '.ajax-form'; 2884 const policyBlockSelector = '.text-small'; 2885 const policyLinkSelector = 'a[href*="/oferta.pdf"]'; 2886 2887 const formConsentMap = new WeakMap(); 2888 2889 let formIdCounter = 0; 2890 2891 const style = document.createElement('style'); 2892 2893 style.textContent = ` 2894 .gdpr-consent-row { 2895 display: flex; 2896 align-items: flex-start; 2897 gap: 8px; 2898 } 2899 2900 .gdpr-consent-checkbox { 2901 width: 16px; 2902 height: 16px; 2903 min-width: 16px; 2904 margin: 2px 0 0; 2905 cursor: pointer; 2906 } 2907 2908 .gdpr-consent-error { 2909 display: none; 2910 margin-top: 6px; 2911 color: #dc2626; 2912 } 2913 2914 .gdpr-consent-error.is-visible { 2915 display: block; 2916 } 2917 `; 2918 2919 document.head.appendChild(style); 2920 2921 function getPolicyBlock(form) { 2922 const container = form.closest(containerSelector); 2923 2924 if (!container) { 2925 return null; 2926 } 2927 2928 const blocks = container.querySelectorAll(policyBlockSelector); 2929 2930 for (const block of blocks) { 2931 if (block.querySelector(policyLinkSelector)) { 2932 return block; 2933 } 2934 } 2935 2936 return null; 2937 } 2938 2939 function createFormId(form) { 2940 if (form.id) { 2941 return form.id; 2942 } 2943 2944 formIdCounter += 1; 2945 form.id = `gdpr-form-${formIdCounter}`; 2946 2947 return form.id; 2948 } 2949 2950 function hideError(form) { 2951 const consent = formConsentMap.get(form); 2952 2953 if (!consent) { 2954 return; 2955 } 2956 2957 consent.error.classList.remove('is-visible'); 2958 consent.checkbox.removeAttribute('aria-invalid'); 2959 } 2960 2961 function showError(form) { 2962 const consent = formConsentMap.get(form); 2963 2964 if (!consent) { 2965 return; 2966 } 2967 2968 consent.error.classList.add('is-visible'); 2969 consent.checkbox.setAttribute('aria-invalid', 'true'); 2970 } 2971 2972 function initializeForm(form) { 2973 if (!(form instanceof HTMLFormElement)) { 2974 return; 2975 } 2976 2977 const existingConsent = formConsentMap.get(form); 2978 2979 if ( 2980 existingConsent && 2981 existingConsent.checkbox.isConnected && 2982 existingConsent.block.isConnected 2983 ) { 2984 return; 2985 } 2986 2987 if (existingConsent) { 2988 formConsentMap.delete(form); 2989 } 2990 2991 const block = getPolicyBlock(form); 2992 2993 if (!block) { 2994 return; 2995 } 2996 2997 const existingCheckbox = block.querySelector('.gdpr-consent-checkbox'); 2998 2999 if (existingCheckbox) { 3000 const existingError = block.querySelector('.gdpr-consent-error'); 3001 3002 formConsentMap.set(form, { 3003 block, 3004 checkbox: existingCheckbox, 3005 error: existingError 3006 }); 3007 3008 return; 3009 } 3010 3011 const formId = createFormId(form); 3012 3013 formIdCounter += 1; 3014 3015 const checkboxId = `gdpr-consent-${formIdCounter}`; 3016 3017 const checkbox = document.createElement('input'); 3018 checkbox.type = 'checkbox'; 3019 checkbox.name = 'privacy_policy_accepted'; 3020 checkbox.value = '1'; 3021 checkbox.id = checkboxId; 3022 checkbox.className = 'gdpr-consent-checkbox'; 3023 checkbox.required = true; 3024 checkbox.setAttribute('form', formId); 3025 3026 const text = document.createElement('span'); 3027 text.id = `${checkboxId}-text`; 3028 3029 while (block.firstChild) { 3030 text.appendChild(block.firstChild); 3031 } 3032 3033 checkbox.setAttribute('aria-labelledby', text.id); 3034 3035 const row = document.createElement('div'); 3036 row.className = 'gdpr-consent-row'; 3037 3038 row.appendChild(checkbox); 3039 row.appendChild(text); 3040 3041 const error = document.createElement('div'); 3042 error.className = 'gdpr-consent-error'; 3043 error.id = `${checkboxId}-error`; 3044 error.textContent = 'ÐеÑед оÑпÑавкой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑинÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ .'; 3045 3046 checkbox.setAttribute('aria-describedby', error.id); 3047 3048 block.appendChild(row); 3049 block.appendChild(error); 3050 3051 formConsentMap.set(form, { 3052 block, 3053 checkbox, 3054 error 3055 }); 3056 3057 checkbox.addEventListener('change', () => { 3058 if (checkbox.checked) { 3059 hideError(form); 3060 } 3061 }); 3062 3063 checkbox.addEventListener('invalid', event => { 3064 event.preventDefault(); 3065 showError(form); 3066 }); 3067 } 3068 3069 function validateConsent(form) { 3070 initializeForm(form); 3071 3072 const consent = formConsentMap.get(form); 3073 3074 if (!consent) { 3075 return true; 3076 } 3077 3078 if (consent.checkbox.checked) { 3079 hideError(form); 3080 return true; 3081 } 3082 3083 showError(form); 3084 3085 return false;
3086 } 3087 3088 function initializeForms(root = document) { 3089 if (root instanceof HTMLFormElement) { 3090 initializeForm(root); 3091 } 3092 3093 if (root.querySelectorAll) { 3094 root.querySelectorAll('form').forEach(form => { 3095 initializeForm(form); 3096 }); 3097 } 3098 3099 if (root instanceof Element) { 3100 const container = root.closest(containerSelector); 3101 3102 if (container) { 3103 container.querySelectorAll('form').forEach(form => { 3104 initializeForm(form); 3105 }); 3106 } 3107 } 3108 } 3109 3110 document.addEventListener( 3111 'submit', 3112 event => { 3113 const form = event.target; 3114 3115 if (!(form instanceof HTMLFormElement)) { 3116 return; 3117 } 3118 3119 if (!validateConsent(form)) { 3120 event.preventDefault(); 3121 event.stopImmediatePropagation(); 3122 } 3123 }, 3124 true 3125 ); 3126 3127 const nativeSubmit = HTMLFormElement.prototype.submit; 3128 3129 HTMLFormElement.prototype.submit = function (...args) { 3130 if (!validateConsent(this)) { 3131 return; 3132 } 3133 3134 return nativeSubmit.apply(this, args); 3135 }; 3136 3137 const observer = new MutationObserver(mutations => { 3138 for (const mutation of mutations) { 3139 for (const node of mutation.addedNodes) { 3140 if (!(node instanceof Element)) { 3141 continue; 3142 } 3143 3144 initializeForms(node); 3145 } 3146 } 3147 }); 3148 3149 initializeForms(); 3150 3151 observer.observe(document.documentElement, { 3152 childList: true, 3153 subtree: true 3154 }); 3155 })(); 3156</script>
3156<script> 3157 (() => { 3158 const containerSelector = '.ajax-form'; 3159 const policyBlockSelector = '.text-small'; 3160 const policyLinkSelector = 'a[href*="/oferta.pdf"]'; 3161 3162 const formConsentMap = new WeakMap(); 3163 3164 let formIdCounter = 0; 3165 3166 const style = document.createElement('style'); 3167 3168 style.textContent = ` 3169 .gdpr-consent-row { 3170 display: flex; 3171 align-items: flex-start; 3172 gap: 8px; 3173 } 3174 3175 .gdpr-consent-checkbox { 3176 width: 16px; 3177 height: 16px; 3178 min-width: 16px; 3179 margin: 2px 0 0; 3180 cursor: pointer; 3181 } 3182 3183 .gdpr-consent-error { 3184 display: none; 3185 margin-top: 6px; 3186 color: #dc2626; 3187 } 3188 3189 .gdpr-consent-error.is-visible { 3190 display: block; 3191 } 3192 `; 3193 3194 document.head.appendChild(style); 3195 3196 function getPolicyBlock(form) { 3197 const container = form.closest(containerSelector); 3198 3199 if (!container) { 3200 return null; 3201 } 3202 3203 const blocks = container.querySelectorAll(policyBlockSelector); 3204 3205 for (const block of blocks) { 3206 if (block.querySelector(policyLinkSelector)) { 3207 return block; 3208 } 3209 } 3210 3211 return null; 3212 } 3213 3214 function createFormId(form) { 3215 if (form.id) { 3216 return form.id; 3217 } 3218 3219 formIdCounter += 1; 3220 form.id = `gdpr-form-${formIdCounter}`; 3221 3222 return form.id; 3223 } 3224 3225 function hideError(form) { 3226 const consent = formConsentMap.get(form); 3227 3228 if (!consent) { 3229 return; 3230 } 3231 3232 consent.error.classList.remove('is-visible'); 3233 consent.checkbox.removeAttribute('aria-invalid'); 3234 } 3235 3236 function showError(form) { 3237 const consent = formConsentMap.get(form); 3238 3239 if (!consent) { 3240 return; 3241 } 3242 3243 consent.error.classList.add('is-visible'); 3244 consent.checkbox.setAttribute('aria-invalid', 'true'); 3245 } 3246 3247 function initializeForm(form) { 3248 if (!(form instanceof HTMLFormElement)) { 3249 return; 3250 } 3251 3252 const existingConsent = formConsentMap.get(form); 3253 3254 if ( 3255 existingConsent && 3256 existingConsent.checkbox.isConnected && 3257 existingConsent.block.isConnected 3258 ) { 3259 return; 3260 } 3261 3262 if (existingConsent) { 3263 formConsentMap.delete(form); 3264 } 3265 3266 const block = getPolicyBlock(form); 3267 3268 if (!block) { 3269 return; 3270 } 3271 3272 const existingCheckbox = block.querySelector('.gdpr-consent-checkbox'); 3273 3274 if (existingCheckbox) { 3275 const existingError = block.querySelector('.gdpr-consent-error'); 3276 3277 formConsentMap.set(form, { 3278 block, 3279 checkbox: existingCheckbox, 3280 error: existingError 3281 }); 3282 3283 return; 3284 } 3285 3286 const formId = createFormId(form); 3287 3288 formIdCounter += 1; 3289 3290 const checkboxId = `gdpr-consent-${formIdCounter}`; 3291 3292 const checkbox = document.createElement('input'); 3293 checkbox.type = 'checkbox'; 3294 checkbox.name = 'privacy_policy_accepted'; 3295 checkbox.value = '1'; 3296 checkbox.id = checkboxId; 3297 checkbox.className = 'gdpr-consent-checkbox'; 3298 checkbox.required = true; 3299 checkbox.setAttribute('form', formId); 3300 3301 const text = document.createElement('span'); 3302 text.id = `${checkboxId}-text`; 3303 3304 while (block.firstChild) { 3305 text.appendChild(block.firstChild); 3306 } 3307 3308 checkbox.setAttribute('aria-labelledby', text.id); 3309 3310 const row = document.createElement('div'); 3311 row.className = 'gdpr-consent-row'; 3312 3313 row.appendChild(checkbox); 3314 row.appendChild(text); 3315 3316 const error = document.createElement('div'); 3317 error.className = 'gdpr-consent-error'; 3318 error.id = `${checkboxId}-error`; 3319 error.textContent = 'ÐеÑед оÑпÑавкой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑинÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ .'; 3320 3321 checkbox.setAttribute('aria-describedby', error.id); 3322 3323 block.appendChild(row); 3324 block.appendChild(error); 3325 3326 formConsentMap.set(form, { 3327 block, 3328 checkbox, 3329 error 3330 }); 3331 3332 checkbox.addEventListener('change', () => { 3333 if (checkbox.checked) { 3334 hideError(form); 3335 } 3336 }); 3337 3338 checkbox.addEventListener('invalid', event => { 3339 event.preventDefault(); 3340 showError(form); 3341 }); 3342 } 3343 3344 function validateConsent(form) { 3345 initializeForm(form); 3346 3347 const consent = formConsentMap.get(form); 3348 3349 if (!consent) { 3350 return true; 3351 } 3352 3353 if (consent.checkbox.checked) { 3354 hideError(form); 3355 return true; 3356 } 3357 3358 showError(form); 3359 3360 return false;
3361 } 3362 3363 function initializeForms(root = document) { 3364 if (root instanceof HTMLFormElement) { 3365 initializeForm(root); 3366 } 3367 3368 if (root.querySelectorAll) { 3369 root.querySelectorAll('form').forEach(form => { 3370 initializeForm(form); 3371 }); 3372 } 3373 3374 if (root instanceof Element) { 3375 const container = root.closest(containerSelector); 3376 3377 if (container) { 3378 container.querySelectorAll('form').forEach(form => { 3379 initializeForm(form); 3380 }); 3381 } 3382 } 3383 } 3384 3385 document.addEventListener( 3386 'submit', 3387 event => { 3388 const form = event.target; 3389 3390 if (!(form instanceof HTMLFormElement)) { 3391 return; 3392 } 3393 3394 if (!validateConsent(form)) { 3395 event.preventDefault(); 3396 event.stopImmediatePropagation(); 3397 } 3398 }, 3399 true 3400 ); 3401 3402 const nativeSubmit = HTMLFormElement.prototype.submit; 3403 3404 HTMLFormElement.prototype.submit = function (...args) { 3405 if (!validateConsent(this)) { 3406 return; 3407 } 3408 3409 return nativeSubmit.apply(this, args); 3410 }; 3411 3412 const observer = new MutationObserver(mutations => { 3413 for (const mutation of mutations) { 3414 for (const node of mutation.addedNodes) { 3415 if (!(node instanceof Element)) { 3416 continue; 3417 } 3418 3419 initializeForms(node); 3420 } 3421 } 3422 }); 3423 3424 initializeForms(); 3425 3426 observer.observe(document.documentElement, { 3427 childList: true, 3428 subtree: true 3429 }); 3430 })(); 3431</script>
3431<script> 3432 (() => { 3433 const containerSelector = '.ajax-form'; 3434 const policyBlockSelector = '.text-small'; 3435 const policyLinkSelector = 'a[href*="/oferta.pdf"]'; 3436 3437 const formConsentMap = new WeakMap(); 3438 3439 let formIdCounter = 0; 3440 3441 const style = document.createElement('style'); 3442 3443 style.textContent = ` 3444 .gdpr-consent-row { 3445 display: flex; 3446 align-items: flex-start; 3447 gap: 8px; 3448 } 3449 3450 .gdpr-consent-checkbox { 3451 width: 16px; 3452 height: 16px; 3453 min-width: 16px; 3454 margin: 2px 0 0; 3455 cursor: pointer; 3456 } 3457 3458 .gdpr-consent-error { 3459 display: none; 3460 margin-top: 6px; 3461 color: #dc2626; 3462 } 3463 3464 .gdpr-consent-error.is-visible { 3465 display: block; 3466 } 3467 `; 3468 3469 document.head.appendChild(style); 3470 3471 function getPolicyBlock(form) { 3472 const container = form.closest(containerSelector); 3473 3474 if (!container) { 3475 return null; 3476 } 3477 3478 const blocks = container.querySelectorAll(policyBlockSelector); 3479 3480 for (const block of blocks) { 3481 if (block.querySelector(policyLinkSelector)) { 3482 return block; 3483 } 3484 } 3485 3486 return null; 3487 } 3488 3489 function createFormId(form) { 3490 if (form.id) { 3491 return form.id; 3492 } 3493 3494 formIdCounter += 1; 3495 form.id = `gdpr-form-${formIdCounter}`; 3496 3497 return form.id; 3498 } 3499 3500 function hideError(form) { 3501 const consent = formConsentMap.get(form); 3502 3503 if (!consent) { 3504 return; 3505 } 3506 3507 consent.error.classList.remove('is-visible'); 3508 consent.checkbox.removeAttribute('aria-invalid'); 3509 } 3510 3511 function showError(form) { 3512 const consent = formConsentMap.get(form); 3513 3514 if (!consent) { 3515 return; 3516 } 3517 3518 consent.error.classList.add('is-visible'); 3519 consent.checkbox.setAttribute('aria-invalid', 'true'); 3520 } 3521 3522 function initializeForm(form) { 3523 if (!(form instanceof HTMLFormElement)) { 3524 return; 3525 } 3526 3527 const existingConsent = formConsentMap.get(form); 3528 3529 if ( 3530 existingConsent && 3531 existingConsent.checkbox.isConnected && 3532 existingConsent.block.isConnected 3533 ) { 3534 return; 3535 } 3536 3537 if (existingConsent) { 3538 formConsentMap.delete(form); 3539 } 3540 3541 const block = getPolicyBlock(form); 3542 3543 if (!block) { 3544 return; 3545 } 3546 3547 const existingCheckbox = block.querySelector('.gdpr-consent-checkbox'); 3548 3549 if (existingCheckbox) { 3550 const existingError = block.querySelector('.gdpr-consent-error'); 3551 3552 formConsentMap.set(form, { 3553 block, 3554 checkbox: existingCheckbox, 3555 error: existingError 3556 }); 3557 3558 return; 3559 } 3560 3561 const formId = createFormId(form); 3562 3563 formIdCounter += 1; 3564 3565 const checkboxId = `gdpr-consent-${formIdCounter}`; 3566 3567 const checkbox = document.createElement('input'); 3568 checkbox.type = 'checkbox'; 3569 checkbox.name = 'privacy_policy_accepted'; 3570 checkbox.value = '1'; 3571 checkbox.id = checkboxId; 3572 checkbox.className = 'gdpr-consent-checkbox'; 3573 checkbox.required = true; 3574 checkbox.setAttribute('form', formId); 3575 3576 const text = document.createElement('span'); 3577 text.id = `${checkboxId}-text`; 3578 3579 while (block.firstChild) { 3580 text.appendChild(block.firstChild); 3581 } 3582 3583 checkbox.setAttribute('aria-labelledby', text.id); 3584 3585 const row = document.createElement('div'); 3586 row.className = 'gdpr-consent-row'; 3587 3588 row.appendChild(checkbox); 3589 row.appendChild(text); 3590 3591 const error = document.createElement('div'); 3592 error.className = 'gdpr-consent-error'; 3593 error.id = `${checkboxId}-error`; 3594 error.textContent = 'ÐеÑед оÑпÑавкой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑинÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ .'; 3595 3596 checkbox.setAttribute('aria-describedby', error.id); 3597 3598 block.appendChild(row); 3599 block.appendChild(error); 3600 3601 formConsentMap.set(form, { 3602 block, 3603 checkbox, 3604 error 3605 }); 3606 3607 checkbox.addEventListener('change', () => { 3608 if (checkbox.checked) { 3609 hideError(form); 3610 } 3611 }); 3612 3613 checkbox.addEventListener('invalid', event => { 3614 event.preventDefault(); 3615 showError(form); 3616 }); 3617 } 3618 3619 function validateConsent(form) { 3620 initializeForm(form); 3621 3622 const consent = formConsentMap.get(form); 3623 3624 if (!consent) { 3625 return true; 3626 } 3627 3628 if (consent.checkbox.checked) { 3629 hideError(form); 3630 return true; 3631 } 3632 3633 showError(form); 3634 3635 return false;
3636 } 3637 3638 function initializeForms(root = document) { 3639 if (root instanceof HTMLFormElement) { 3640 initializeForm(root); 3641 } 3642 3643 if (root.querySelectorAll) { 3644 root.querySelectorAll('form').forEach(form => { 3645 initializeForm(form); 3646 }); 3647 } 3648 3649 if (root instanceof Element) { 3650 const container = root.closest(containerSelector); 3651 3652 if (container) { 3653 container.querySelectorAll('form').forEach(form => { 3654 initializeForm(form); 3655 }); 3656 } 3657 } 3658 } 3659 3660 document.addEventListener( 3661 'submit', 3662 event => { 3663 const form = event.target; 3664 3665 if (!(form instanceof HTMLFormElement)) { 3666 return; 3667 } 3668 3669 if (!validateConsent(form)) { 3670 event.preventDefault(); 3671 event.stopImmediatePropagation(); 3672 } 3673 }, 3674 true 3675 ); 3676 3677 const nativeSubmit = HTMLFormElement.prototype.submit; 3678 3679 HTMLFormElement.prototype.submit = function (...args) { 3680 if (!validateConsent(this)) { 3681 return; 3682 } 3683 3684 return nativeSubmit.apply(this, args); 3685 }; 3686 3687 const observer = new MutationObserver(mutations => { 3688 for (const mutation of mutations) { 3689 for (const node of mutation.addedNodes) { 3690 if (!(node instanceof Element)) { 3691 continue; 3692 } 3693 3694 initializeForms(node); 3695 } 3696 } 3697 }); 3698 3699 initializeForms(); 3700 3701 observer.observe(document.documentElement, { 3702 childList: true, 3703 subtree: true 3704 }); 3705 })(); 3706</script>
3706<script> 3707 (() => { 3708 const containerSelector = '.ajax-form'; 3709 const policyBlockSelector = '.text-small'; 3710 const policyLinkSelector = 'a[href*="/oferta.pdf"]'; 3711 3712 const formConsentMap = new WeakMap(); 3713 3714 let formIdCounter = 0; 3715 3716 const style = document.createElement('style'); 3717 3718 style.textContent = ` 3719 .gdpr-consent-row { 3720 display: flex; 3721 align-items: flex-start; 3722 gap: 8px; 3723 } 3724 3725 .gdpr-consent-checkbox { 3726 width: 16px; 3727 height: 16px; 3728 min-width: 16px; 3729 margin: 2px 0 0; 3730 cursor: pointer; 3731 } 3732 3733 .gdpr-consent-error { 3734 display: none; 3735 margin-top: 6px; 3736 color: #dc2626; 3737 } 3738 3739 .gdpr-consent-error.is-visible { 3740 display: block; 3741 } 3742 `; 3743 3744 document.head.appendChild(style); 3745 3746 function getPolicyBlock(form) { 3747 const container = form.closest(containerSelector); 3748 3749 if (!container) { 3750 return null; 3751 } 3752 3753 const blocks = container.querySelectorAll(policyBlockSelector); 3754 3755 for (const block of blocks) { 3756 if (block.querySelector(policyLinkSelector)) { 3757 return block; 3758 } 3759 } 3760 3761 return null; 3762 } 3763 3764 function createFormId(form) { 3765 if (form.id) { 3766 return form.id; 3767 } 3768 3769 formIdCounter += 1; 3770 form.id = `gdpr-form-${formIdCounter}`; 3771 3772 return form.id; 3773 } 3774 3775 function hideError(form) { 3776 const consent = formConsentMap.get(form); 3777 3778 if (!consent) { 3779 return; 3780 } 3781 3782 consent.error.classList.remove('is-visible'); 3783 consent.checkbox.removeAttribute('aria-invalid'); 3784 } 3785 3786 function showError(form) { 3787 const consent = formConsentMap.get(form); 3788 3789 if (!consent) { 3790 return; 3791 } 3792 3793 consent.error.classList.add('is-visible'); 3794 consent.checkbox.setAttribute('aria-invalid', 'true'); 3795 } 3796 3797 function initializeForm(form) { 3798 if (!(form instanceof HTMLFormElement)) { 3799 return; 3800 } 3801 3802 const existingConsent = formConsentMap.get(form); 3803 3804 if ( 3805 existingConsent && 3806 existingConsent.checkbox.isConnected && 3807 existingConsent.block.isConnected 3808 ) { 3809 return; 3810 } 3811 3812 if (existingConsent) { 3813 formConsentMap.delete(form); 3814 } 3815 3816 const block = getPolicyBlock(form); 3817 3818 if (!block) { 3819 return; 3820 } 3821 3822 const existingCheckbox = block.querySelector('.gdpr-consent-checkbox'); 3823 3824 if (existingCheckbox) { 3825 const existingError = block.querySelector('.gdpr-consent-error'); 3826 3827 formConsentMap.set(form, { 3828 block, 3829 checkbox: existingCheckbox, 3830 error: existingError 3831 }); 3832 3833 return; 3834 } 3835 3836 const formId = createFormId(form); 3837 3838 formIdCounter += 1; 3839 3840 const checkboxId = `gdpr-consent-${formIdCounter}`; 3841 3842 const checkbox = document.createElement('input'); 3843 checkbox.type = 'checkbox'; 3844 checkbox.name = 'privacy_policy_accepted'; 3845 checkbox.value = '1'; 3846 checkbox.id = checkboxId; 3847 checkbox.className = 'gdpr-consent-checkbox'; 3848 checkbox.required = true; 3849 checkbox.setAttribute('form', formId); 3850 3851 const text = document.createElement('span'); 3852 text.id = `${checkboxId}-text`; 3853 3854 while (block.firstChild) { 3855 text.appendChild(block.firstChild); 3856 } 3857 3858 checkbox.setAttribute('aria-labelledby', text.id); 3859 3860 const row = document.createElement('div'); 3861 row.className = 'gdpr-consent-row'; 3862 3863 row.appendChild(checkbox); 3864 row.appendChild(text); 3865 3866 const error = document.createElement('div'); 3867 error.className = 'gdpr-consent-error'; 3868 error.id = `${checkboxId}-error`; 3869 error.textContent = 'ÐеÑед оÑпÑавкой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ пÑинÑÑÑ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÐолиÑики обÑабоÑки пеÑÑоналÑнÑÑ Ð´Ð°Ð½Ð½ÑÑ .'; 3870 3871 checkbox.setAttribute('aria-describedby', error.id); 3872 3873 block.appendChild(row); 3874 block.appendChild(error); 3875 3876 formConsentMap.set(form, { 3877 block, 3878 checkbox, 3879 error 3880 }); 3881 3882 checkbox.addEventListener('change', () => { 3883 if (checkbox.checked) { 3884 hideError(form); 3885 } 3886 }); 3887 3888 checkbox.addEventListener('invalid', event => { 3889 event.preventDefault(); 3890 showError(form); 3891 }); 3892 } 3893 3894 function validateConsent(form) { 3895 initializeForm(form); 3896 3897 const consent = formConsentMap.get(form); 3898 3899 if (!consent) { 3900 return true; 3901 } 3902 3903 if (consent.checkbox.checked) { 3904 hideError(form); 3905 return true; 3906 } 3907 3908 showError(form); 3909 3910 return false;
3911 } 3912 3913 function initializeForms(root = document) { 3914 if (root instanceof HTMLFormElement) { 3915 initializeForm(root); 3916 } 3917 3918 if (root.querySelectorAll) { 3919 root.querySelectorAll('form').forEach(form => { 3920 initializeForm(form); 3921 }); 3922 } 3923 3924 if (root instanceof Element) { 3925 const container = root.closest(containerSelector); 3926 3927 if (container) { 3928 container.querySelectorAll('form').forEach(form => { 3929 initializeForm(form); 3930 }); 3931 } 3932 } 3933 } 3934 3935 document.addEventListener( 3936 'submit', 3937 event => { 3938 const form = event.target; 3939 3940 if (!(form instanceof HTMLFormElement)) { 3941 return; 3942 } 3943 3944 if (!validateConsent(form)) { 3945 event.preventDefault(); 3946 event.stopImmediatePropagation(); 3947 } 3948 }, 3949 true 3950 ); 3951 3952 const nativeSubmit = HTMLFormElement.prototype.submit; 3953 3954 HTMLFormElement.prototype.submit = function (...args) { 3955 if (!validateConsent(this)) { 3956 return; 3957 } 3958 3959 return nativeSubmit.apply(this, args); 3960 }; 3961 3962 const observer = new MutationObserver(mutations => { 3963 for (const mutation of mutations) { 3964 for (const node of mutation.addedNodes) { 3965 if (!(node instanceof Element)) { 3966 continue; 3967 } 3968 3969 initializeForms(node); 3970 } 3971 } 3972 }); 3973 3974 initializeForms(); 3975 3976 observer.observe(document.documentElement, { 3977 childList: true, 3978 subtree: true 3979 }); 3980 })(); 3981</script>
3981<script> 3982 const popupdetailsSwiper = new Swiper('.popup-detail-slider .swiper', { 3983 loop: true, 3984 slidesPerView: 1, 3985 pagination: { 3986 el: ".popup-detail-slider .swiper-pagination", 3987 }, 3988 navigation: { 3989 nextEl: '.popup-detail-slider .swiper-button-next', 3990 prevEl: '.popup-detail-slider .swiper-button-prev', 3991 } 3992 }); 3993 </script>
vendor: 1 bytes, line 3993
3993
3994<script> 3995 const popupdetailRentaFieldsSwiper = new Swiper('.popup-detail-renta-fields-slider .swiper', { 3996 loop: true, 3997 slidesPerView: 1, 3998 pagination: { 3999 el: ".popup-detail-renta-fields-slider .swiper-pagination", 4000 }, 4001 navigation: { 4002 nextEl: '.popup-detail-renta-fields-slider .swiper-button-next', 4003 prevEl: '.popup-detail-renta-fields-slider .swiper-button-prev', 4004 } 4005 }); 4006 </script>
vendor: 1 bytes, line 4006
4006
4007<script> 4008 new Swiper('.cafe-slider .swiper', { 4009 loop: true, 4010 slidesPerView: 1, 4011 pagination: { 4012 el: ".cafe-slider .swiper-pagination", 4013 }, 4014 navigation: { 4015 nextEl: '.cafe-slider .swiper-button-next', 4016 prevEl: '.cafe-slider .swiper-button-prev', 4017 } 4018 }); 4019</script>
4019<script> 4020 new Swiper('.cafe-slider .swiper', { 4021 loop: true, 4022 slidesPerView: 1, 4023 pagination: { 4024 el: ".cafe-slider .swiper-pagination", 4025 }, 4026 navigation: { 4027 nextEl: '.cafe-slider .swiper-button-next', 4028 prevEl: '.cafe-slider .swiper-button-prev', 4029 } 4030 }); 4031</script>
4031<script type="text/javascript" >
vendor: 406 bytes, lines 4031-4038
4031 4032 (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; 4033 m[i].l=1*new Date(); 4034 for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} 4035 k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) 4036 (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); 4037 4038 ym(
403896074689
vendor: 154 bytes, lines 4038-4044
4038, "init", { 4039 clickmap:true, 4040 trackLinks:true, 4041 accurateTrackBounce:true, 4042 webvisor:true, 4043 ecommerce:"dataLayer" 4044 });
4045</script>
vendor: 1 bytes, line 4045
4045
4046<script type="text/javascript"> 4047var _tmr = window._tmr || (window._tmr = []); 4048_tmr.push({id: "3508107", type: "pageView", start: (new Date()).getTime()}); 4049(function (d, w, id) { 4050 if (d.getElementById(id)) return; 4051 var ts = d.createElement("script"); ts.type = "text/javascript"; ts.async = true; ts.id = id; 4052 ts.src = "https://top-fwz1.mail.ru/js/code.js"; 4053 var f = function () {var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ts, s);}; 4054 if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); } 4055})(document, window, "tmr-code"); 4056</script>
4056 4057</body> 4058</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.