1<!DOCTYPE html> 2<html lang='en'> 3<head> 4<!-- This site was created in Taptop. https://taptop.pro/ --> 5<meta content="Taptop" name="generator"> 6<meta charset="utf-8"> 7<meta name="robots" content="all"> 8<title>Wellproducts - ÑазÑабоÑка дизайна пÑомо ÑÑÑаниÑÑ</title> 9<!-- assets.top --> 10<meta name="yandex-verification" content="d62cafccd7db0ed2" /> 11 12<link rel="icon" href="/favicon.svg" type="image/svg+xml"> 13 14 15<meta property="og:type" content="website"> 16<meta property="og:url" content="https://salakhov-design.ru/projects/wellproducts"> 17<meta name="twitter:card" content="summary"> 18<!-- /assets.top --> 19 20<meta name="description" content="РазÑабоÑка дизайна пÑомо ÑÑÑаниÑÑ Ð´Ð»Ñ Ð¿ÑоизводиÑÐµÐ»Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½ÑÑ Ð½Ð°Ð¿Ð¸Ñков и баÑонÑиков Wellproducts"> 21<meta name="keywords" content=""> 22<meta name="viewport" content="width=device-width, initial-scale=1"> 23<meta name="format-detection" content="telephone=no"> 24 25
26<script> 27 var mapKeys = { 28 google: "", 29 yandex: "" 30 }; 31 var mosaicDesignId = 30711309; 32 var mosaicDesignPrefix = 'i18df541t-1748959952'; 33 var mosaicTimeZone = 'Europe/Moscow'; 34</script>
34 35 36 37<link rel="stylesheet" href="/g/s3/mosaic/css/ms_site_default.css">
38<script src="/g/libs/jquery/1.10.2/jquery.min.js"></script>
38 39 40 <link rel="stylesheet" href="/g/s3/mosaic/css/constructor/redesign/tt_default_styles.css"> 41
41<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script>
41 42
42<script> 43WebFont.load({ 44 google: { 45 families: [ 46 "&display=swap" 47 ]} 48 }); 49</script>
49 50<link rel="stylesheet" href="/t/v4089/images/mosaic/designs/shared-design-styles.css"> 51<style>@font-face {font-family: 'GT Eesti Pro Display'; font-weight: 400;font-style: normal;src: url('/t/images/mosaic/fonts/GT Eesti Pro Display-400-normal-0.otf') format('opentype');} 52@font-face {font-family: 'GT Eesti Pro Display'; font-weight: 500;font-style: normal;src: url('/t/images/mosaic/fonts/GT Eesti Pro Display-500-normal-0.otf') format('opentype');} 53</style> 54
54<script src="/g/s3/mosaic/js/do/redesign/do.js?rnd=1791292643"></script>
54 55 56 57 <!-- 46b9544ffa2e5e73c3c971fe2ede35a5 --> 58
58<script src='/assets/site/s3/js/lang/en.js'></script>
58 59
59<script src='/assets/site/s3/js/common.min.js'></script>
59 60 61<!--s3_require--> 62 63<!--/s3_require--> 64 65 66 67 <style> 68.about-content-image { 69 filter: grayscale(100%); 70 animation: toColor 1.2s ease-out forwards; 71 animation-timeline: view(); 72 animation-range: entry 0% cover 85%; 73} 74 75@keyframes toColor { 76 to { 77 filter: grayscale(0%); 78 } 79} 80</style> 81 82 83<style> 84.preloader { 85 position: fixed; 86 inset: 0; 87 width: 100%; 88 height: 100vh; 89 height: 100dvh; 90 overflow: hidden; 91 background: #000; 92 z-index: 9999; 93 touch-action: none; 94} 95</style> 96 97 98<style> 99.split { 100 overflow: visible; 101} 102</style> 103 104<style> 105body > span:last-of-type { 106 display: none !important; 107} 108</style> 109 110 111<style> 112 .animate span { 113 color: #F0196D; 114 transition: color 0.3s ease; 115 } 116 .animate span.fixed { 117 color: #999999; 118 } 119</style> 120 121<style> 122 .split p { 123 text-indent: 1.5em; /* ÐÑаÑÐ½Ð°Ñ ÑÑÑока */ 124 } 125</style> 126 127 128 129<style> 130.allproject_card_item { 131 position: relative; 132 overflow: hidden; 133 background-color: transparent; 134 z-index: 1; 135} 136 137/* ÐÑÑÐµÐºÑ ÑолÑко Ð´Ð»Ñ ÑкÑанов болÑÑе 768px */ 138@media (min-width: 768px) { 139 .allproject_card_item::before { 140 content: ''; 141 position: absolute; 142 bottom: 0; 143 left: 0; 144 width: 100%; 145 height: 0; 146 background-color: #D2FA84; 147 transition: height 0.5s ease; 148 z-index: -1; 149 } 150 151 .allproject_card_item:hover::before { 152 height: 100%; 153 } 154} 155</style> 156 157<div id="awwwards" style="position: fixed; z-index: 999; transform: translateY(-50%); top: 50%; right: 0"><a href="https://www.awwwards.com/sites/roman-salakhov-2" target="_blank"><svg width="53.08" height="171.358"><path class="js-color-bg" fill="white" d="M0 0h53.08v171.358H0z"></path><g class="js-color-text" fill="black"><path d="M20.048 153.585v-2.002l6.752-3.757h-6.752v-1.9h10.23v2.002l-6.752 3.757h6.752v1.9zM29.899 142.382a3.317 3.317 0 0 1-1.359 1.293c-.575.297-1.223.446-1.944.446-.721 0-1.369-.149-1.944-.446a3.317 3.317 0 0 1-1.359-1.293c-.331-.564-.497-1.232-.497-2.003 0-.769.166-1.437.497-2.002a3.332 3.332 0 0 1 1.359-1.294c.575-.297 1.224-.445 1.944-.445.722 0 1.369.148 1.944.445a3.326 3.326 0 0 1 1.359 1.294c.33.565.496 1.233.496 2.002.001.77-.166 1.438-.496 2.003m-1.703-3.348c-.435-.331-.967-.497-1.601-.497s-1.167.166-1.601.497c-.434.332-.65.78-.65 1.345s.217 1.014.65 1.346c.434.33.967.496 1.601.496s1.166-.166 1.601-.496c.434-.332.649-.78.649-1.346.001-.565-.215-1.013-.649-1.345M22.912 134.996v-1.812h1.185c-.43-.283-.752-.593-.973-.929-.219-.336-.329-.732-.329-1.19 0-.479.127-.902.38-1.272.254-.37.635-.633 1.141-.79-.478-.262-.851-.591-1.118-.985a2.221 2.221 0 0 1-.402-1.265c0-.682.2-1.218.599-1.607.4-.391.957-.585 1.668-.585h5.218v1.812H25.37c-.682 0-1.023.303-1.023.907 0 .467.264.85.789 1.146.527.299 1.286.446 2.28.446h2.865v1.813H25.37c-.682 0-1.023.303-1.023.906 0 .468.275.851.826 1.147.551.298 1.352.446 2.404.446h2.704v1.812h-7.369zM21.626 122.457c-.225.224-.502.336-.833.336s-.608-.112-.833-.336a1.128 1.128 0 0 1-.336-.833c0-.331.111-.609.336-.833.225-.225.502-.336.833-.336s.608.111.833.336c.225.224.337.502.337.833 0 .332-.112.608-.337.833m1.286-1.739h7.366v1.813h-7.366v-1.813zM22.912 118.668v-1.812h1.185a3.348 3.348 0 0 1-.951-1.009 2.434 2.434 0 0 1-.351-1.272c0-.681.19-1.229.57-1.644.38-.414.931-.621 1.651-.621h5.263v1.812h-4.722c-.418 0-.727.096-.92.285-.195.19-.293.447-.293.769 0 .302.116.58.351.833.233.254.577.458 1.03.613.453.156.992.234 1.615.234h2.938v1.812h-7.366zM29.833 109.129a3.33 3.33 0 0 1-1.432 1.169 4.535 4.535 0 0 1-1.805.373 4.537 4.537 0 0 1-1.807-.373c-.579-.248-1.057-.638-1.432-1.169s-.563-1.196-.563-1.995c0-.771.183-1.413.549-1.93a3.28 3.28 0 0 1 1.382-1.141 4.221 4.221 0 0 1 1.709-.364h.746v5.071c.447-.02.838-.183 1.168-.49.332-.307.498-.724.498-1.248 0-.41-.093-.754-.277-1.031-.186-.278-.473-.529-.863-.753l.542-1.462c.69.303 1.224.724 1.592 1.265.371.541.556 1.235.556 2.083 0 .799-.188 1.464-.563 1.995m-4.085-3.574c-.41.088-.746.261-1.009.52-.262.258-.395.61-.395 1.06 0 .428.137.784.409 1.067.272.282.604.458.994.525v-3.172zM29.833 100.878c-.375.531-.852.921-1.432 1.169a4.552 4.552 0 0 1-3.612 0c-.579-.248-1.057-.638-1.432-1.169s-.563-1.196-.563-1.995c0-.77.183-1.412.549-1.93a3.278 3.278 0 0 1 1.382-1.14 4.222 4.222 0 0 1 1.709-.365h.746v5.072a1.794 1.794 0 0 0 1.168-.49c.332-.307.498-.724.498-1.249 0-.41-.093-.753-.277-1.031-.186-.277-.473-.528-.863-.753l.542-1.462c.69.302 1.224.724 1.592 1.265.371.541.556 1.234.556 2.083 0 .799-.188 1.464-.563 1.995m-4.085-3.573c-.41.088-.746.261-1.009.519-.262.258-.395.611-.395 1.06 0 .429.137.784.409 1.067.272.282.604.458.994.526v-3.172zM35.481 16.926l-4.782 14.969h-3.266l-2.584-9.682-2.584 9.682h-3.268l-4.781-14.969h3.713l2.673 10.276 2.524-10.276h3.445l2.524 10.276 2.674-10.276zM37.979 27.083c1.426 0 2.495 1.068 2.495 2.495 0 1.425-1.069 2.495-2.495 2.495-1.425 0-2.495-1.07-2.495-2.495-.001-1.427 1.07-2.495 2.495-2.495"></path></g></svg></a></div> 158 159 160 161 162 163<!-- Yandex.Metrika counter -->
164<script type="text/javascript" >
vendor: 406 bytes, lines 164-171
164 165 (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; 166 m[i].l=1*new Date(); 167 for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} 168 k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) 169 (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); 170 171 ym(
171101771828
vendor: 123 bytes, lines 171-176
171, "init", { 172 clickmap:true, 173 trackLinks:true, 174 accurateTrackBounce:true, 175 webvisor:true 176 });
177</script>
177 178<noscript><div><img src="https://mc.yandex.ru/watch/101771828" style="position:absolute; left:-9999px;" alt="" /></div></noscript> 179<!-- /Yandex.Metrika counter --> 180 181 182 183</head> 184<body> 185<div class='mosaic-wrap'> 186<div class='root root--u-i18df541t' id='i18df541t_0'> 187<div class='pop-up pop-up--u-ibk6cj3z3' id='ibk6cj3z3_0'> 188<div class='pop-up__overlay' id='i80k0x72b_0'></div> 189<div class='pop-up__outside-close-button' id='i4ws59hcl_0'> 190 191 192</div> 193<div class='pop-up__content pop-up__content--u-iwwja25if popup_container' id='iwwja25if_0'> 194<div class='pop-up__inside-close-button pop-up__inside-close-button--u-ip41xdiue popup_close_icon' id='ip41xdiue_0'> 195 196 197</div> 198<div class='form form--u-i28wkxdqk form_content' id='i28wkxdqk_0'> 199<form action='#' class='form__state-default' id='i55m48kdk_0' data-s3-anketa-id='201649913'> 200<div class='text-title text-title--u-isyvq6d9b form_title' id='isyvq6d9b_0'> 201<span class='text-block-wrap-div'>ÐаÑаÑÑ Ð¿ÑоекÑ</span> 202</div> 203<div data-type-field='checkbox_group' data-field-position class='form__field form__field--u-iko6dkzg5 form__field--s2-iko6dkzg5' id='iko6dkzg5_0'> 204<div class='text-subtitle text-subtitle--u-imaobcxu0 label_input' id='imaobcxu0_0'> 205<span class='text-block-wrap-div'>Чем Ð¼Ð¾Ð³Ñ Ð¿Ð¾Ð¼Ð¾ÑÑ?</span> 206</div> 207<div class='form__widget-group form__widget-group--u-i70rxuhu2' id='i70rxuhu2_0'> 208<label class='form__widget-item form__widget-item--u-i26yff0qp checkbox_item' id='i26yff0qp_0'> 209<input value='Ð¡Ð°Ð¹Ñ Ð¿Ð¾Ð´ клÑÑ' type='checkbox' name='checkbox-ilhu29san' readOnly class='form__checkbox form__checkbox--u-ilhu29san' id='ilhu29san_0' > 210<span class='form__checkbox-styled form__checkbox-styled--u-ir06qcamb check' id='ir06qcamb_0'></span> 211<span class='form__label-text form__label-text--u-i0vswk77b checkbox_text' id='i0vswk77b_0'> 212<span class='text-block-wrap-div'>Ð¡Ð°Ð¹Ñ Ð¿Ð¾Ð´ клÑÑ</span> 213</span> 214</label> 215<label class='form__widget-item form__widget-item--u-i26yff0qp checkbox_item' id='i26yff0qp_1'> 216<input value='Ðизайн без веÑÑÑки' type='checkbox' name='checkbox-ilhu29san' readOnly class='form__checkbox form__checkbox--u-ilhu29san' id='ilhu29san_1' > 217<span class='form__checkbox-styled form__checkbox-styled--u-ir06qcamb check' id='ir06qcamb_1'></span> 218<span class='form__label-text form__label-text--u-i0vswk77b checkbox_text' id='i0vswk77b_1'> 219<span class='text-block-wrap-div'>Ðизайн без веÑÑÑки</span> 220</span> 221</label> 222<label class='form__widget-item form__widget-item--u-i26yff0qp checkbox_item' id='i26yff0qp_2'> 223<input value='3d иллÑÑÑÑаÑии' type='checkbox' name='checkbox-ilhu29san' readOnly class='form__checkbox form__checkbox--u-ilhu29san' id='ilhu29san_2' > 224<span class='form__checkbox-styled form__checkbox-styled--u-ir06qcamb check' id='ir06qcamb_2'></span> 225<span class='form__label-text form__label-text--u-i0vswk77b checkbox_text' id='i0vswk77b_2'> 226<span class='text-block-wrap-div'>
2263d иллÑÑÑÑаÑии</span> 227</span> 228</label> 229</div> 230<div class='form__field-error' id='i8e7a1xqd_0'> 231<span class='text-block-wrap-div'>This field required</span> 232</div> 233</div> 234<div data-type-field='text' data-field-position='1' class='form__field form__field--u-izynmrhor input_group' id='izynmrhor_0'> 235<div class='text-subtitle text-subtitle--u-iyejl1yxu label_input' id='iyejl1yxu_0'> 236<span class='text-block-wrap-div'>ÐÐ¼Ñ Ð¸Ð»Ð¸ название компании*</span> 237</div> 238<input placeholder='' type='text' class='form__input form__input--u-ieo6p6oex input_field' id='ieo6p6oex_0' > 239<div class='form__field-error form__field-error--u-imsistvfj' id='imsistvfj_0'> 240<span class='text-block-wrap-div'>This field required</span> 241</div> 242</div> 243<div data-type-field='email' data-field-position='2' class='form__field input_group form__field--u-iitu8ll77' id='iitu8ll77_0'> 244<div class='text-subtitle text-subtitle--u-ifg6qix0e label_input' id='ifg6qix0e_0'> 245<span class='text-block-wrap-div'>E-mail*</span> 246</div> 247<input placeholder='' type='email' class='form__input form__input--u-ick9dll68 input_field' id='ick9dll68_0' > 248<div class='form__field-error form__field-error--u-ijotx9gq1' id='ijotx9gq1_0'> 249<span class='text-block-wrap-div'>This field required</span> 250</div> 251</div> 252<div data-type-field='textarea' data-field-position='3' class='form__field input_group form__field--u-io9p32pjf' id='io9p32pjf_0'> 253<div class='text-subtitle text-subtitle--u-inltk3hss label_input' id='inltk3hss_0'> 254<span class='text-block-wrap-div'>СообÑение*</span> 255</div> 256<textarea placeholder='' class='form__textarea form__textarea--u-i6szhbnzl input_field text_area' id='i6szhbnzl_0'></textarea> 257<div class='form__field-error form__field-error--u-iwmo3chww' id='iwmo3chww_0'> 258<span class='text-block-wrap-div'>This field required</span> 259</div> 260</div> 261<button type='submit' class='submit_button submit_button--u-ieefr2ref form_button' id='ieefr2ref_0'> 262<span class='text-button text-button--u-i2rn2luts body_14-regular green_text' id='i2rn2luts_0'> 263<span class='text-block-wrap-div'>ÐÑпÑавиÑÑ</span> 264</span> 265</button> 266<smart-captcha data-captcha="smart_captcha" 267 data-name="captcha" 268 data-sitekey="ysc1_cXzPM6RBdqTOJ6ay3nfp7e4Tgfpf19fHdtgoa1YGb29cf34e" 269 data-lang="en" 270 data-hide-shield="0" 271 data-invisible="1"></smart-captcha></form> 272<div class='form__state-success' id='iq1505ngs_0'> 273<div class='text text--u-i2378wyqr' id='i2378wyqr_0'> 274<span class='text-block-wrap-div'>Thank you!</span> 275</div> 276</div> 277<div class='form__state-error form__state-error--u-impngmqs8' id='impngmqs8_0'> 278<div class='form__text-error form__text-error--u-iqn2rfndc' id='iqn2rfndc_0'> 279<span class='text-block-wrap-div'>Something wrong.<br>Try again later</span> 280</div> 281</div> 282</div> 283</div> 284</div><nav class='div navbar div--u-i6jutdxee' id='i6jutdxee_0'> 285<div class='div div--u-iopmhwx7q navbar-container' id='iopmhwx7q_0'> 286<a href='/' data-action-element='' class='link-block logo' id='i3sdeglfp_0'> 287<div class='image header_logo image--u-isyt54jah' id='isyt54jah_0'> 288<img src='/thumb/2/KF-dkV_-swe1b8MkIMDkrw/640r480/d/belyi_logo.svg' alt='ÐелÑÐ¸Ì Ð»Ð¾Ð³Ð¾' title='' data-size='0x0' data-origin-src='/thumb/2/KF-dkV_-swe1b8MkIMDkrw/640r480/d/belyi_logo.svg' class='image__img' id='ieh1xbig2_0' > 289</div> 290</a> 291<a href='https://t.me/+jBtkxCurjUYyMmM6' data-action-element='' target='_blank' class='link-block link-block--u-ibov5thq2' id='ibov5thq2_0'> 292<h1 class='text link_text-small' id='ij0cjfn7v_0'> 293<span class='text-block-wrap-div'>ÐÐ¾ÐºÐ°Ð¿Ñ </span> 294</h1> 295<div class='div tag' id='ifqh9frdn_0'> 296<div class='text tag_text' id='i9s6cg02q_0'> 297<span class='text-block-wrap-div'>Free</span> 298</div> 299</div> 300</a> 301<div class='div nav_right_content div--u-issldihgz' id='issldihgz_0'> 302<div class='menu menu--u-icuooib0t menu--s2-icuooib0t' id='icuooib0t_0'> 303<div class='menu__fixed-wrapper menu__fixed-wrapper--s2-ipp2sq07z' id='ipp2sq07z_0'> 304<div class='menu__scroll-wrapper menu__scroll-wrapper--u-i2nli5c0o menu__scroll-wrapper--s2-i2nli5c0o' id='i2nli5c0o_0'> 305<div class='menu__wrapper-lvl1 menu__wrapper-lvl1--u-i2a7s8fkm menu__wrapper-lvl1--s2-i2a7s8fkm' id='i2a7s8fkm_0'> 306<div class='menu__list-lvl1 menu__list-lvl1--u-i2ipxgtfm menu__list-lvl1--s2-i2ipxgtfm' id='i2ipxgtfm_0'> 307<div class='menu__item-lvl1 menu__item-lvl1--u-i3kzndju3 menu-item menu__item-lvl1--s2-i3kzndju3 ' id='i3kzndju3_0'> 308<a href='/main' target='' rel='' class='menu__link-lvl1 menu_link menu__link-lvl1--u-ihjdkk9ar' id='ihjdkk9ar_0'> 309<div class='menu__link-text link_text-m menu__link-text--u-iblq1q1es' id='iblq1q1es_0'> 310<span class='text-block-wrap-div'>ÐлавнаÑ</span> 311</div> 312</a> 313</div> 314<div class='menu__item-lvl1 menu__item-lvl1--u-i3kzndju3 menu-item menu__item-lvl1--s2-i3kzndju3 ' id='i3kzndju3_1'> 315<a href='/all-projects' target='' rel='' class='menu__link-lvl1 menu_link menu__link-lvl1--u-ihjdkk9ar' id='ihjdkk9ar_1'> 316<div class='menu__link-text link_text-m menu__link-text--u-iblq1q1es' id='iblq1q1es_1'> 317<span class='text-block-wrap-div'>Ðои ÑабоÑÑ</span> 318</div> 319</a> 320</div> 321<div class='menu__item-lvl1 menu__item-lvl1--u-i3kzndju3 menu-item menu__item-lvl1--s2-i3kzndju3 ' id='i3kzndju3_2'> 322<a href='https://salakhov-design.ru/#i2emq9ecu_0' target='' rel='' class='menu__link-lvl1 menu_link menu__link-lvl1--u-ihjdkk9ar' id='ihjdkk9ar_2'> 323<div class='menu__link-text link_text-m menu__link-text--u-iblq1q1es' id='iblq1q1es_2'> 324<span class='text-block-wrap-div'>УÑлÑги и ÑенÑ</span> 325</div> 326</a> 327</div> 328<div class='menu__item-lvl1 menu__item-lvl1--u-i3kzndju3 menu-item menu__item-lvl1--s2-i3kzndju3 ' id='i3kzndju3_3'> 329<a href='https://salakhov-design.ru/#i3r68emkg_0' target='' rel='' class='menu__link-lvl1 menu_link menu__link-lvl1--u-ihjdkk9ar' id='ihjdkk9ar_3'> 330<div class='menu__link-text link_text-m menu__link-text--u-iblq1q1es' id='iblq1q1es_3'> 331<span class='text-block-wrap-div'>ÐÑÐ°Ð¿Ñ ÑазÑабоÑки</span> 332</div> 333</a> 334</div> 335<div class='menu__item-lvl1 menu__item-lvl1--u-i3kzndju3 menu-item menu__item-lvl1--s2-i3kzndju3 ' id='i3kzndju3_4'> 336<a href='#io2r5gwnm_0' target='' rel='' class='menu__link-lvl1 menu_link menu__link-lvl1--u-ihjdkk9ar' id='ihjdkk9ar_4'> 337<div class='menu__link-text link_text-m menu__link-text--u-iblq1q1es' id='iblq1q1es_4'> 338<span class='text-block-wrap-div'>ÐонÑакÑÑ</span> 339</div> 340</a> 341</div> 342</div> 343<div class='text body_12-medium text--u-i664o4jp2' id='i664o4jp2_0'> 344<span class='text-block-wrap-div'>© 2025 SalakhovDesign</span> 345</div> 346<div class='div social_buttons_wrapper div--u-ivlv9mlf1 div--u-i8k1s5u9a mobile' id='i8k1s5u9a_0'> 347<a href='https://www.behance.net/romansalakhov' data-action-element='' target='_blank' class='link-block social_button link-block--u-imkgeujnk' id='idczpk1ij_0'> 348<div class='text social_button_text text--u-ixn6awos3 text--u-ioo1rqbff' id='ioo1rqbff_0'> 349<span class='text-block-wrap-div'>Be</span> 350</div> 351</a> 352<a href='https://t.me/Roman_Salakhov' data-action-element='' target='_blank' class='link-block social_button link-block--u-ivg2jqcdv' id='ipwkxyb5e_0'> 353<div class='text social_button_text text--u-i8wb6djn0' id='ijggvawwj_0'> 354<span class='text-block-wrap-div'>Tg</span> 355</div> 356</a> 357<a href='https://dprofile.ru/romansalakhov' data-action-element='' target='_blank' class='link-block social_button link-block--u-iljj6srgz' id='i6p33k4n9_0'> 358<div class='text social_button_text text--u-isktshk32' id='iajk33iz6_0'> 359<span class='text-block-wrap-div'>Dp</span> 360</div> 361</a> 362</div> 363</div> 364</div> 365<div role='button' class='menu__close-button menu__close-button--u-iaj3agg85 menu__close-button--s2-iaj3agg85' id='iaj3agg85_0'></div> 366</div> 367<div role='button' class='menu__burger-button menu__burger-button--u-ivx8y78n6 menu_button-mobile menu__burger-button--s2-ivx8y78n6' id='ivx8y78n6_0'></div> 368<div class='menu__overlay' id='izgx5ueb2_0'></div> 369</div> 370<div class='div social_buttons_wrapper div--u-ivlv9mlf1' id='ivlv9mlf1_0'> 371<a href='https://www.behance.net/romansalakhov' data-action-element='' target='_blank' class='link-block social_button link-block--u-imkgeujnk' id='imkgeujnk_0'> 372<div class='text social_button_text text--u-ixn6awos3' id='ixn6awos3_0'> 373<span class='text-block-wrap-div'>Be</span> 374</div> 375</a> 376<a href='https://t.me/Roman_Salakhov' data-action-element='' target='_blank' class='link-block social_button link-block--u-ivg2jqcdv' id='ivg2jqcdv_0'> 377<div class='text social_button_text text--u-i8wb6djn0' id='i8wb6djn0_0'> 378<span class='text-block-wrap-div'>Tg</span> 379</div> 380</a> 381<a href='https://www.instagram.com/salakhov.webdesign' data-action-element='' target='_blank' class='link-block social_button link-block--u-iljj6srgz' id='iljj6srgz_0'> 382<div class='text social_button_text text--u-isktshk32' id='isktshk32_0'> 383<span class='text-block-wrap-div'>Inst</span> 384</div> 385</a> 386</div> 387<div href='https://t.me/Roman_Salakhov' data-action-element='ibk6cj3z3_0' role='button' class='link-block button_size-s link-block--u-iur25hvjb' id='iur25hvjb_0'> 388<div class='image image--u-ip9ip9366 btn-arrow' id='ip9ip9366_0'> 389<img src='/thumb/2/oLmtTm7eF-35IykN39-o9g/640r480/d/clarity_child-arrow-line.svg' alt='clarity_child-arrow-line' title='' data-size='0x0' data-origin-src='/thumb/2/oLmtTm7eF-35IykN39-o9g/640r480/d/clarity_child-arrow-line.svg' class='image__img' id='id65flo3x_0' > 390</div> 391<h1 class='text button_text-m text--u-ig2cmgeha' id='ig2cmgeha_0'> 392<span class='text-block-wrap-div'>ÐапиÑаÑÑ</span> 393</h1> 394</div> 395<div class='div new-button' id='inw976t1z_0'> 396<h1 class='text button_text-m text--u-i2luikkjl' id='i2luikkjl_0'> 397<span class='text-block-wrap-div'>ÐапиÑаÑÑ</span> 398</h1> 399<div class='div button-dot div--u-iolhbztfq' id='iolhbztfq_0'></div> 400<div class='div button-dot div--u-izn75timl' id='izn75timl_0'></div> 401<div class='div button-dot div--u-i9b1srn0r' id='i9b1srn0r_0'></div> 402<div class='div button-dot div--u-in2oh713v' id='in2oh713v_0'></div> 403</div> 404</div> 405</div> 406</nav><div class='div page_wrapper' id='iux7mcsty_0'> 407<div class='div div--u-i0dshpqmi section_project_page' id='i0dshpqmi_0'> 408<div class='div big_image_container' id='iwb5s7nkj_0'> 409<div class='image big_project_image image--u-ivgu0ajpz' id='ivgu0ajpz_0'> 410<img src='/d/8.webp' alt='' title='' class='image__img' id='iho43yf48_0' /> 411</div> 412<div class='image marquee image--u-iespvs05y' id='iespvs05y_0'> 413<img src='/thumb/2/CmJ6CRPTKEMMJ0wd3WiWWA/640r480/d/scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scrol.svg' alt='SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL _ SCROLL' title='' data-size='0x0' data-origin-src='/thumb/2/CmJ6CRPTKEMMJ0wd3WiWWA/640r480/d/scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scroll_scrol.svg' class='image__img' id='i881dok4m_0' /> 414</div> 415</div> 416<div class='div project_content' id='it5w8ejwo_0'> 417<div class='div left_project_content' id='i18i7d950_0'> 418<div class='div div--u-ig1pq6kk2 about_project_description' id='ig1pq6kk2_0'> 419<div class='div tags_container ' id='ifqr5qbqg_0'> 420<div class='div tag' id='ijptyp73z_0'> 421<div class='text tag_text' id='id8qjiat7_0'> 422<span class='text-block-wrap-div'>UI/UX</span> 423</div> 424</div> 425<div class='div tag' id='ixnamlod5_0'> 426<div class='text tag_text' id='ic03hl48f_0'> 427<span class='text-block-wrap-div'>WEB</span> 428</div> 429</div> 430</div> 431<div class='div about_project_text div--u-iosy5sm8m' id='iosy5sm8m_0'> 432<h2 class='text text--u-igmf0y3zv heading-2 large' id='igmf0y3zv_0'> 433<span class='text-block-wrap-div'>Wellproducts</span> 434</h2> 435<h1 class='text text--u-ih82z5p9s body_16-regular gray' id='ih82z5p9s_0'> 436<span class='text-block-wrap-div'>РазÑабоÑка дизайна пÑомо ÑÑÑаниÑÑ Ð´Ð»Ñ Ð¿ÑоизводиÑÐµÐ»Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½ÑÑ Ð½Ð°Ð¿Ð¸Ñков и баÑонÑиков Wellproducts</span> 437</h1> 438</div> 439<div class='div about_project_bottom_content' id='iuebbfrsp_0'> 440<a href='https://www.behance.net/gallery/229328719/WellProducts-promo-page-for-drinks-and-bars' data-action-element='' target='_blank' class='link-block button_size-s link-block--u-il22bsz6k' id='il22bsz6k_0'> 441<div class='image image--u-ig948t01r' id='ig948t01r_0'> 442<img src='/thumb/2/oLmtTm7eF-35IykN39-o9g/640r480/d/clarity_child-arrow-line.svg' alt='clarity_child-arrow-line' title='' data-size='0x0' data-origin-src='/thumb/2/oLmtTm7eF-35IykN39-o9g/640r480/d/clarity_child-arrow-line.svg' class='image__img' id='irrq2d7st_0' /> 443</div> 444<h1 class='text button_text-m text--u-iifgr32d7' id='iifgr32d7_0'> 445<span class='text-block-wrap-div'>Web</span> 446</h1> 447</a> 448<a href='https://www.behance.net/gallery/229328719/WellProducts-promo-page-for-drinks-and-bars' data-action-element='' target='_blank' class='link-block button_size-s link-block--u-i139ljshk' id='i139ljshk_0'> 449<div class='image image--u-inbgrm86n' id='inbgrm86n_0'> 450<img src='/thumb/2/oLmtTm7eF-35IykN39-o9g/640r480/d/clarity_child-arrow-line.svg' alt='clarity_child-arrow-line' title='' data-size='0x0' data-origin-src='/thumb/2/oLmtTm7eF-35IykN39-o9g/640r480/d/clarity_child-arrow-line.svg' class='image__img' id='irjt2xc75_0' /> 451</div> 452<h1 class='text button_text-m text--u-iq8eha1ar' id='iq8eha1ar_0'> 453<span class='text-block-wrap-div'>СмоÑÑеÑÑ Ð½Ð° Behance</span> 454</h1> 455</a> 456</div> 457</div> 458</div> 459<div class='div div--u-ib5jhjo1c right_project_content' id='ib5jhjo1c_0'> 460<div class='div div--u-iy5ov1yz3 about_project_images' id='iy5ov1yz3_0'> 461<div class='image image--u-iu16l0mbx about_project_image' id='iu16l0mbx_0'> 462<img src='/d/wellproducts_1.webp' alt='' title='' class='image__img' id='i241m6sep_0' /> 463</div> 464</div> 465<div class='div div--u-i1ixa7d29 about_project_images' id='i1ixa7d29_0'> 466<div class='image image--u-i4l88x2gr about_project_image' id='i4l88x2gr_0'> 467<img src='/d/wellproducts_2.webp' alt='' title='' class='image__img image__img--s2-ibti119jg' id='ibti119jg_0' /> 468</div> 469<div class='image image--u-i4xlo0pcg about_project_image' id='i4xlo0pcg_0'> 470<img src='/d/wellproducts_3.webp' alt='' title='' class='image__img' id='iqb3cco4b_0' /> 471</div> 472</div> 473<div class='div div--u-ivprqo6rx about_project_images' id='ivprqo6rx_0'> 474<div class='image image--u-isseducov about_project_image' id='isseducov_0'> 475<img src='/d/wellproducts_4.webp' alt='' title='' class='image__img' id='i2javvpra_0' /> 476</div> 477</div> 478<div class='div div--u-i1b4rtjz5 about_project_images' id='i1b4rtjz5_0'> 479<div class='image image--u-ignbp1soi about_project_image' id='ignbp1soi_0'> 480<img src='/d/wellproducts_5.webp' alt='' title='' class='image__img' id='ibh9ab272_0' /> 481</div> 482</div> 483<div class='div div--u-ix77w669x about_project_images' id='ix77w669x_0'> 484<div class='image image--u-iu05b3s5b about_project_image' id='iu05b3s5b_0'> 485<img src='/d/wellproducts_6.webp' alt='' title='' class='image__img' id='iojuh9g28_0' /> 486</div> 487</div> 488</div> 489</div> 490</div> 491</div> 492<footer class='div section_footer div--u-io2r5gwnm' id='io2r5gwnm_0'> 493<div class='image footer_logo image--u-iabzx6xhv' id='iabzx6xhv_0'> 494<img src='/thumb/2/LEC3aWI5St3v8k7WOFOktw/3000r3000/d/2026_retouch2.png' alt='2026 retouch2' title='' data-size='3000x3000' data-origin-src='/thumb/2/LEC3aWI5St3v8k7WOFOktw/3000r3000/d/2026_retouch2.png' class='image__img image__img--s2-ip02cinbg' id='ip02cinbg_0' > 495</div> 496<div class='div footer_container div--u-i8bj0jawn' id='i8bj0jawn_0'> 497<div class='div footer_top_content div--u-icw7eauot' id='icw7eauot_0'> 498<div class='div left_footer_content div--u-itq2iaw03' id='itq2iaw03_0'> 499<div class='text heading-3 text--u-im6fkdhn6 text-pink split' id='im6fkdhn6_0'> 500<span class='text-block-wrap-div'><span style="font-family:"GT Eesti Pro Display""><span style="font-style:normal"><span style="font-weight:500"><span style="white-space:normal">ÐÑÑÑ Ð²Ð¾Ð¿ÑоÑÑ </span><span style="white-space:pre">
500или Ð¸Ð´ÐµÑ Ð´Ð»Ñ ÑайÑа?</span><span style="white-space:normal"> ÐапиÑиÑе мне - </span><span style="white-space:pre">Ñ Ð¿Ð¾Ð¼Ð¾Ð³Ñ</span><span style="white-space:normal"> ÑеализоваÑÑ Ð²Ð°Ñ Ð¿ÑоекÑ</span></span></span></span></span> 501</div> 502<div href='https://t.me/Roman_Salakhov' data-action-element='ibk6cj3z3_0' role='button' class='link-block button_size-s link-block--u-igxff8rna' id='igxff8rna_0'> 503<div class='image image--u-ipitcrw4p btn-arrow' id='ipitcrw4p_0'> 504<img src='/thumb/2/oLmtTm7eF-35IykN39-o9g/640r480/d/clarity_child-arrow-line.svg' alt='clarity_child-arrow-line' title='' data-size='0x0' data-origin-src='/thumb/2/oLmtTm7eF-35IykN39-o9g/640r480/d/clarity_child-arrow-line.svg' class='image__img' id='ierhdnwb2_0' > 505</div> 506<h1 class='text button_text-m text--u-i8ci5nc03' id='i8ci5nc03_0'> 507<span class='text-block-wrap-div'>ÐбÑÑдиÑÑ Ð¿ÑоекÑ</span> 508</h1> 509</div> 510</div> 511<div class='div right_footer_content div--u-i52y4d9jl' id='i52y4d9jl_0'> 512<div class='div footer_links_container div--u-ii0i9mmuy' id='ii0i9mmuy_0'> 513<a href='https://t.me/Roman_Salakhov' data-action-element='' target='_blank' class='link-block link_button-s link-block--u-i2j4i83i0' id='i2j4i83i0_0'> 514<h1 class='text link_text-small text--u-i0e54rszt' id='i0e54rszt_0'> 515<span class='text-block-wrap-div'>Telegram</span> 516</h1> 517<div class='image link_icon image--u-ijazvgp5x' id='ijazvgp5x_0'> 518<img src='/thumb/2/1HzsXyRBoA2XI8ztNJpYAA/640r480/d/icons8_up-arrow.svg' alt='icons8_up-arrow' title='' data-size='0x0' data-origin-src='/thumb/2/1HzsXyRBoA2XI8ztNJpYAA/640r480/d/icons8_up-arrow.svg' class='image__img' id='ifdtkiltk_0' > 519</div> 520</a> 521<a href='https://wa.clck.bar/79189400017' data-action-element='' target='_blank' class='link-block link_button-s link-block--u-i4bd4lna0' id='i4bd4lna0_0'> 522<h1 class='text link_text-small text--u-i0gzd6wgl' id='i0gzd6wgl_0'> 523<span class='text-block-wrap-div'>WhatsApp</span> 524</h1> 525<div class='image link_icon image--u-i4jfo9bp3' id='i4jfo9bp3_0'> 526<img src='/thumb/2/1HzsXyRBoA2XI8ztNJpYAA/640r480/d/icons8_up-arrow.svg' alt='icons8_up-arrow' title='' data-size='0x0' data-origin-src='/thumb/2/1HzsXyRBoA2XI8ztNJpYAA/640r480/d/icons8_up-arrow.svg' class='image__img' id='id3veuj4i_0' > 527</div> 528</a> 529<a href='https://www.instagram.com/salakhov.webdesign' data-action-element='' target='_blank' class='link-block link_button-s' id='ieoqkpzyj_0'> 530<h1 class='text link_text-small' id='ie5mb34mh_0'> 531<span class='text-block-wrap-div'>Instagr*m</span> 532</h1> 533<div class='image link_icon' id='iyijguog4_0'> 534<img src='/thumb/2/1HzsXyRBoA2XI8ztNJpYAA/640r480/d/icons8_up-arrow.svg' alt='icons8_up-arrow' title='' data-size='0x0' data-origin-src='/thumb/2/1HzsXyRBoA2XI8ztNJpYAA/640r480/d/icons8_up-arrow.svg' class='image__img' id='i4qu5zo24_0' > 535</div> 536</a> 537<a href='https://www.behance.net/romansalakhov' data-action-element='' target='_blank' class='link-block link_button-s link-block--u-i2ow6e3og' id='i2ow6e3og_0'> 538<h1 class='text link_text-small text--u-iziy8f6kf' id='iziy8f6kf_0'> 539<span class='text-block-wrap-div'>Behance</span> 540</h1> 541<div class='image link_icon image--u-i89b1ccsr' id='i89b1ccsr_0'> 542<img src='/thumb/2/1HzsXyRBoA2XI8ztNJpYAA/640r480/d/icons8_up-arrow.svg' alt='icons8_up-arrow' title='' data-size='0x0' data-origin-src='/thumb/2/1HzsXyRBoA2XI8ztNJpYAA/640r480/d/icons8_up-arrow.svg' class='image__img' id='ixlv04c2x_0' > 543</div> 544</a> 545<a href='https://dprofile.ru/romansalakhov' data-action-element='' target='_blank' class='link-block link_button-s link-block--u-ijydfws9t' id='ijydfws9t_0'> 546<h1 class='text link_text-small text--u-i0j7mp0en' id='i0j7mp0en_0'> 547<span class='text-block-wrap-div'>Dprofile</span> 548</h1> 549<div class='image link_icon image--u-i9hak54xi' id='i9hak54xi_0'> 550<img src='/thumb/2/1HzsXyRBoA2XI8ztNJpYAA/640r480/d/icons8_up-arrow.svg' alt='icons8_up-arrow' title='' data-size='0x0' data-origin-src='/thumb/2/1HzsXyRBoA2XI8ztNJpYAA/640r480/d/icons8_up-arrow.svg' class='image__img' id='i1a3rnej8_0' > 551</div> 552</a> 553</div> 554</div> 555</div> 556<div class='div div--u-i3uil0y80 footer_botom_content' id='i3uil0y80_0'> 557<div class='div left_footer_content div--u-ip864yxym bottom-footer-content' id='ip864yxym_0'> 558<div class='text body_12-medium text--u-i74wvodbj' id='i74wvodbj_0'> 559<span class='text-block-wrap-div'>© 2026 SalakhovDesign</span> 560</div> 561<div class='div div--u-iancqbeun language_button_wrapper' id='iancqbeun_0'> 562<a href='https://salakhov-design.ru/en' data-action-element='' class='link-block link-block--u-i3g1qsujh language-button' id='i3g1qsujh_0'> 563<div class='div language_button-dot div--u-igwfcl5rg absolute' id='igwfcl5rg_0'></div> 564<div class='div social-button-text-wrapper active' id='i2fgmxnm3_0'> 565<div class='text text--u-i0d272xyr language-button-text' id='i0d272xyr_0'> 566<span class='text-block-wrap-div'>ru</span> 567</div> 568</div> 569<div class='div social-button-text-wrapper' id='ivknz05xo_0'> 570<div class='text text--u-i3hirvh4o language-button-text' id='i3hirvh4o_0'> 571<span class='text-block-wrap-div'>en</span> 572</div> 573</div> 574</a> 575</div> 576</div>
577<div class='div right_footer_content div--u-igt2ys45w bottom-footer-content right' id='igt2ys45w_0'> 578<a href='https://taptop.pro/' data-action-element='' target='_blank' class='link body_12-medium link--u-ibgy4hdql footer-link' id='ibgy4hdql_0'> 579<span class='text-block-wrap-div'>Сделано в Taptop</span> 580</a> 581<a href='/f/brif_na_razrabotku_saita_roman_salahov.docx?dl=1' data-action-element='' target='_blank' class='link body_12-medium link--u-iyagiad88 footer-link' id='iyagiad88_0'> 582<span class='text-block-wrap-div'>СкаÑаÑÑ Ð±ÑиÑ</span> 583</a> 584<a href='/policy' data-action-element='' target='_blank' class='link body_12-medium link--u-i73c9yzs5 footer-link' id='i73c9yzs5_0'> 585<span class='text-block-wrap-div'>ÐонÑиденÑиалÑноÑÑÑ</span> 586</a> 587</div> 588</div> 589</div> 590</footer></div> 591</div> 592
592<script src="https://unpkg.com/@studio-freight/lenis@latest"></script>
592 593
593<script> 594 const lenis = new Lenis({ 595 smooth: true 596 }); 597 598 function raf(time) { 599 lenis.raf(time); 600 requestAnimationFrame(raf); 601 } 602 603 requestAnimationFrame(raf); 604 </script>
604 605 606 607 608 609
609<script src="https://unpkg.com/@barba/core"></script>
609 610
610<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/gsap.min.js"></script>
610 611
611<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrambleTextPlugin.min.js"></script>
611 612
612<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/SplitText.min.js"></script>
612 613
613<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollSmoother.min.js"></script>
613 614
614<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/ScrollTrigger.min.js"></script>
614 615 616 <!-- Splitting.js -->
617<script src="https://unpkg.com/splitting/dist/splitting.min.js"></script>
617 618 619<!-- ÐниÑиализаÑÐ¸Ñ Splitting -->
620<script>Splitting();</script>
620 621 622 623 624 625
626<script> 627 gsap.registerPlugin(SplitText); 628 629 document.addEventListener('DOMContentLoaded', () => { 630 const targets = document.querySelectorAll(".hex-animate"); 631 632 const hexChars = "0123456789ABCDEF"; 633 634 function randomHex() { 635 return hexChars[Math.floor(Math.random() * hexChars.length)]; 636 } 637 638 function animateHexDecode(chars) { 639 chars.forEach((char, i) => { 640 let original = char.textContent; 641 let iterations = Math.floor(gsap.utils.random(10, 20)); 642 let current = 0; 643 644 const scramble = setInterval(() => { 645 char.textContent = randomHex(); 646 current++; 647 648 if (current >= iterations) { 649 clearInterval(scramble); 650 char.textContent = original; 651 } 652 }, gsap.utils.random(20, 50)); 653 }); 654 } 655 656 const observer = new IntersectionObserver((entries, obs) => { 657 entries.forEach(entry => { 658 if (entry.isIntersecting) { 659 const el = entry.target; 660 const split = new SplitText(el, { type: "chars" }); 661 animateHexDecode(split.chars); 662 obs.unobserve(el); 663 } 664 }); 665 }, { 666 threshold: 0.4 667 }); 668 669 targets.forEach(el => observer.observe(el)); 670 }); 671</script>
671 672 673
674<script> 675 // ÐÑовеÑÑем, ÑвлÑеÑÑÑ Ð»Ð¸ ÑÑÑÑойÑÑво мобилÑнÑм (ÑиÑина менÑÑе 480px) 676 const isMobileDevice = window.matchMedia("(max-width: 479px)").matches; 677 678 // ÐÑли ÑÑо не мобилÑное ÑÑÑÑойÑÑво, вÑполнÑем анимаÑÐ¸Ñ ÑкÑолла 679 if (!isMobileDevice) { 680 const menuItems = document.querySelectorAll('.menu-item'); 681 let lastScroll = 0; 682 let isScrollingDown = false; 683 684 // ÐниÑиализаÑиÑ: задаÑм наÑалÑнÑе ÑвойÑÑва 685 gsap.set(menuItems, { opacity: 1, y: 0 }); 686 687 window.addEventListener('scroll', () => { 688 const currentScroll = window.scrollY || window.pageYOffset; 689 690 if (currentScroll > lastScroll && !isScrollingDown) { 691 // СкÑолл вниз â ÑкÑÑваем Ð¼ÐµÐ½Ñ 692 isScrollingDown = true; 693 hideMenuItems(); 694 } else if (currentScroll < lastScroll && isScrollingDown) { 695 // СкÑолл ввеÑÑ â показÑваем Ð¼ÐµÐ½Ñ 696 isScrollingDown = false; 697 showMenuItems(); 698 } 699 700 lastScroll = currentScroll; 701 }); 702 703 function hideMenuItems() { 704 gsap.to(menuItems, { 705 opacity: 0, 706 y: -20, 707 duration: 0.5, 708 stagger: 0.1, // задеÑжка Ð¼ÐµÐ¶Ð´Ñ ÑлеменÑами 709 ease: "power2.out" 710 }); 711 } 712 713 function showMenuItems() { 714 gsap.to(menuItems, { 715 opacity: 1, 716 y: 0, 717 duration: 0.5, 718 stagger: 0.1, 719 ease: "power2.out" 720 }); 721 } 722 } 723</script>
723 724 725 726 727<canvas id="networkCanvas"></canvas> 728
729<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
vendor: 1 bytes, line 729
729
730<script> 731 const canvas = document.getElementById('networkCanvas'); 732 const ctx = canvas.getContext('2d'); 733 734 let width = window.innerWidth; 735 let height = window.innerHeight; 736 canvas.width = width; 737 canvas.height = height; 738 739 const nodeDistance = 120; 740 const nodes = []; 741 742 for (let x = 0; x < width; x += nodeDistance) { 743 for (let y = 0; y < height; y += nodeDistance) { 744 nodes.push({ x, y, alpha: 0, pulse: 0 }); 745 } 746 } 747 748 function dist(a, b) { 749 return Math.sqrt((a.x - b.x)**2 + (a.y - b.y)**2); 750 } 751 752 const maxLineDist = nodeDistance * 1.5; 753 754 const mouse = { x: -9999, y: -9999 }; 755 756 function updateMousePos(e) { 757 mouse.x = e.pageX; 758 mouse.y = e.pageY; 759 } 760 761 window.addEventListener('mousemove', updateMousePos); 762 763 let pulseTime = 0; 764 765 function animate() { 766 ctx.clearRect(0, 0, width, height); 767 768 pulseTime += 0.025; 769 770 nodes.forEach(node => { 771 const dx = node.x - (mouse.x - window.pageXOffset); 772 const dy = node.y - (mouse.y - window.pageYOffset); 773 const distanceToMouse = Math.sqrt(dx * dx + dy * dy); 774 775 if (distanceToMouse < nodeDistance) { 776 node.alpha = Math.min(1, node.alpha + 0.05); 777 node.pulse = 0.75 + 0.25 * Math.sin(pulseTime * 2.5); 778 } else { 779 node.alpha = Math.max(0, node.alpha - 0.02); 780 node.pulse = 0; 781 } 782 }); 783 784 for (let i = 0; i < nodes.length; i++) { 785 for (let j = i + 1; j < nodes.length; j++) { 786 const a = nodes[i]; 787 const b = nodes[j]; 788 const d = dist(a, b); 789 if (d < maxLineDist && a.alpha > 0 && b.alpha > 0) { 790 const lineAlpha = Math.min(a.alpha, b.alpha) * (1 - d / maxLineDist); 791 ctx.strokeStyle = `rgba(240, 25, 109, ${lineAlpha.toFixed(2)})`; 792 ctx.lineWidth = 1; 793 ctx.beginPath(); 794 ctx.moveTo(a.x, a.y); 795 ctx.lineTo(b.x, b.y); 796 ctx.stroke(); 797 } 798 } 799 } 800 801 nodes.forEach(node => { 802 if (node.alpha > 0) { 803 const intensity = node.alpha * node.pulse; 804 ctx.fillStyle = `rgba(240, 25, 109, ${intensity.toFixed(2)})`; 805 ctx.beginPath(); 806 ctx.arc(node.x, node.y, 3, 0, Math.PI * 2); 807 ctx.fill(); 808 } 809 }); 810 811 requestAnimationFrame(animate); 812 } 813 814 animate(); 815 816 window.addEventListener('resize', () => { 817 width = window.innerWidth; 818 height = window.innerHeight; 819 canvas.width = width; 820 canvas.height = height; 821 }); 822</script>
822 823 824<style> 825 #networkCanvas { 826 position: fixed; 827 top: 0; 828 left: 0; 829 width: 100vw; 830 height: 100vh; 831 pointer-events: none; 832 z-index: 0; 833 background: transparent; 834 } 835</style> 836 837
838<script> 839 document.querySelectorAll('.product-card').forEach(card => { 840 let currentX = 50; 841 let currentY = 50; 842 let targetX = 50; 843 let targetY = 50; 844 845 const update = () => { 846 currentX += (targetX - currentX) * 0.1; 847 currentY += (targetY - currentY) * 0.1; 848 849 const rotateX = (currentY - 50) / -6; // менÑÑе â мÑгÑе 850 const rotateY = (currentX - 50) / -6; 851 card.style.setProperty('--x', `${currentX}%`); 852 card.style.setProperty('--y', `${currentY}%`); 853 card.style.transform = `perspective(1200px) rotateX(${rotateX}deg) rotateY(${rotateY}deg) scale(1.02)`; 854 855 requestAnimationFrame(update); 856 }; 857 update(); 858 859 card.addEventListener('mousemove', e => { 860 const rect = card.getBoundingClientRect(); 861 targetX = ((e.clientX - rect.left) / rect.width) * 100; 862 targetY = ((e.clientY - rect.top) / rect.height) * 100; 863 }); 864 865 card.addEventListener('mouseleave', () => { 866 targetX = 50; 867 targetY = 50; 868 card.style.transform = 'perspective(800px) rotateX(0deg) rotateY(0deg) scale(1.4)'; 869 }); 870 }); 871</script>
871 872 873
874<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
vendor: 1 bytes, line 874
874
875<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/ScrollTrigger.min.js"></script>
875 876
877<script> 878gsap.registerPlugin(ScrollTrigger); 879 880if (window.innerWidth >= 480) { 881 document.querySelectorAll('.services_cards_container').forEach((container) => { 882 const cards = container.querySelectorAll('.product-card'); 883 884 // СÑаÑÑовое ÑоÑÑоÑние 885 gsap.set(cards, { 886 x: '-120vw', 887 opacity: 0, 888 scale: 0.9 889 }); 890 891 // ÐнимаÑÐ¸Ñ Ð¿Ð¾ÑÐ²Ð»ÐµÐ½Ð¸Ñ (пÑи Ð²Ñ Ð¾Ð´Ðµ в Ð·Ð¾Ð½Ñ 10%) 892 ScrollTrigger.create({ 893 trigger: container, 894 start: 'top 10%', 895 toggleActions: 'play none none none', 896 onEnter: () => { 897 gsap.to(cards, { 898 x: 0, 899 opacity: 1, 900 scale: 1, 901 duration: 1.2, 902 stagger: 0.1, 903 ease: 'power4.out' 904 }); 905 } 906 }); 907 908 // ÐнимаÑÐ¸Ñ Ð¸ÑÑÐµÐ·Ð½Ð¾Ð²ÐµÐ½Ð¸Ñ (пÑи обÑаÑной пÑокÑÑÑке ввеÑÑ â на 30% ÑанÑÑе) 909 ScrollTrigger.create({ 910 trigger: container, 911 start: 'top 10', 912 toggleActions: 'none none play none', 913 onLeaveBack: () => { 914 gsap.to(cards, { 915 x: '-120vw', 916 opacity: 0, 917 scale: 0.9, 918 duration: 1.2, 919 stagger: 0.1, 920 ease: 'power4.inOut' 921 }); 922 } 923 }); 924 }); 925} 926</script>
926 927 928 929
930<script> 931 document.addEventListener("DOMContentLoaded", () => { 932 const el = document.querySelector(".animate"); 933 if (!el) return; 934 935 const allSpans = []; 936 937 function wrapTextNodeWords(node) { 938 if (node.nodeType === Node.TEXT_NODE) { 939 const text = node.textContent; 940 const parts = text.split(/(\s+)/); 941 942 const fragment = document.createDocumentFragment(); 943 944 parts.forEach(part => { 945 if (part.trim() === "") { 946 fragment.appendChild(document.createTextNode(part)); 947 } else { 948 const span = document.createElement("span"); 949 span.textContent = part; 950 fragment.appendChild(span); 951 allSpans.push(span); 952 } 953 }); 954 955 node.parentNode.replaceChild(fragment, node); 956 957 } else if (node.nodeType === Node.ELEMENT_NODE) { 958 [...node.childNodes].forEach(child => wrapTextNodeWords(child)); 959 } 960 } 961 962 // ЧÑÐ¾Ð±Ñ Ð½Ðµ повÑоÑÑÑÑ Ð°Ð½Ð¸Ð¼Ð°ÑÐ¸Ñ Ð¿Ñи повÑоÑном поÑвлении 963 let animated = false; 964 965 function animateWords() { 966 if (animated) return; 967 animated = true; 968 969 const shuffled = allSpans.slice().sort(() => Math.random() - 0.5); 970 971 const totalDuration = 1500; // 1.5 ÑекÑÐ½Ð´Ñ 972 const perWordMaxDelay = 500; 973 974 shuffled.forEach((span, i) => { 975 const baseDelay = (i / shuffled.length) * (totalDuration - perWordMaxDelay); 976 const randomDelay = Math.random() * perWordMaxDelay; 977 const delay = baseDelay + randomDelay; 978 979 setTimeout(() => { 980 span.classList.add("fixed"); 981 }, delay); 982 }); 983 } 984 985 wrapTextNodeWords(el); 986 987 // Создаем IntersectionObserver, ÑÑÐ¾Ð±Ñ Ð·Ð°Ð¿ÑÑÑиÑÑ Ð°Ð½Ð¸Ð¼Ð°ÑÐ¸Ñ Ð¿Ñи поÑвлении в viewport 988 const observer = new IntersectionObserver(entries => { 989 entries.forEach(entry => { 990 if (entry.isIntersecting) { 991 animateWords(); 992 observer.disconnect(); // болÑÑе не нÑжно наблÑдаÑÑ 993 } 994 }); 995 }, { threshold: 0.1 }); // ÐапÑÑкаеÑÑÑ, когда 10% ÑлеменÑа Ð²Ð¸Ð´Ð¸Ð¼Ñ 996 997 observer.observe(el); 998 }); 999</script>
999 1000 1001 1002 1003 1004 1005
1006<script> 1007 gsap.registerPlugin(ScrollTrigger); 1008 1009 gsap.utils.toArray(".project-card").forEach((card) => { 1010 const image = card.querySelector(".project_card_image"); 1011 1012 // ÐклÑÑиÑÑ GPU-ÑÑкоÑение и задаÑÑ Ð½Ð°ÑалÑнÑе ÑÑили 1013 gsap.set(image, { scale: 1, willChange: "transform" }); 1014 gsap.set(card, { willChange: "transform, opacity" }); 1015 1016 1017 1018 // ÐнимаÑÐ¸Ñ ÐºÐ°ÑÑоÑки поÑле Ð·Ð°Ð»Ð¸Ð¿Ð°Ð½Ð¸Ñ 1019 gsap.to(card, { 1020 scale: 0.7, 1021 opacity: 0.4, 1022 1023 ease: "power1.out", 1024 scrollTrigger: { 1025 trigger: card, 1026 start: "top top", 1027 end: "bottom top", 1028 scrub: 1, 1029 } 1030 }); 1031 }); 1032</script>
1032 1033 1034
1035<script> 1036document.addEventListener('DOMContentLoaded', function() { 1037 document.querySelectorAll('.split').forEach(element => { 1038 SplitText.create(element, { 1039 type: "lines, words", 1040 mask: "lines", // можно оÑÑавиÑÑ, еÑли нÑжен ÑÑÑÐµÐºÑ 1041 autoSplit: true, 1042 onSplit(self) { 1043 return gsap.from(self.words, { 1044 duration: 1.2, 1045 y: 50, // ÑменÑÑили 1046 x: () => gsap.utils.random(-10, 10), 1047 rotation: () => gsap.utils.random(-3, 3), 1048 scale: 0.95, 1049 autoAlpha: 0, 1050 stagger: 0.02, 1051 ease: "back.out(1.5)", 1052 scrollTrigger: { 1053 trigger: element, 1054 start: "top 80%", 1055 toggleActions: "play none none none" 1056 } 1057 }); 1058 } 1059 }); 1060 }); 1061}); 1062</script>
1062 1063 1064 1065
1066<script type="module"> 1067import { gsap } from "https://cdn.skypack.dev/gsap"; 1068 1069window.addEventListener('DOMContentLoaded', () => { 1070 const preloader = document.querySelector('.preloader'); 1071 const mainContent = document.querySelector('#main-content'); 1072 1073 // === ÐаÑÑÑойки пикÑелей === 1074 const pixels = []; 1075 const total = 40; 1076 const pixelSpacing = 4; 1077 const pixelWidth = (window.innerWidth / total) - pixelSpacing; 1078 const initialHeight = 4; 1079 const initialFilled = 8; 1080 1081 const fragment = document.createDocumentFragment(); 1082 for (let i = 0; i < total; i++) { 1083 const p = document.createElement('div'); 1084 Object.assign(p.style, { 1085 position: 'absolute', 1086 bottom: '0px', 1087 left: `${i * (pixelWidth + pixelSpacing)}px`, 1088 width: `${pixelWidth}px`, 1089 height: `${initialHeight}px`, 1090 background: '#D9FF9D', 1091 opacity: i < initialFilled ? 1 : 0, 1092 transform: 'scaleY(1)', 1093 transformOrigin: 'bottom' 1094 }); 1095 fragment.appendChild(p); 1096 pixels.push(p); 1097 } 1098 preloader.appendChild(fragment); 1099 1100 // === ÐÑогÑеÑÑ Ð±Ð°Ñ === 1101 function animateProgressBar(onComplete) { 1102 let index = initialFilled; 1103 const step = () => { 1104 if (index >= pixels.length) { 1105 onComplete && onComplete(); 1106 return; 1107 } 1108 gsap.to(pixels[index], { 1109 opacity: 1, 1110 duration: 0.05, 1111 ease: "power1.inOut", 1112 onComplete: () => { 1113 index++; 1114 requestAnimationFrame(step); 1115 } 1116 }); 1117 }; 1118 requestAnimationFrame(step); 1119 } 1120 1121 // === ÐоÑле полной загÑÑзки === 1122 window.addEventListener('load', () => { 1123 animateProgressBar(() => { 1124 gsap.to(pixels, { 1125 duration: 0.4, 1126 scaleY: window.innerHeight / initialHeight, 1127 stagger: { each: 0.01, from: "start" }, 1128 ease: "sine.inOut", 1129 onComplete: () => { 1130 gsap.to(preloader, { 1131 duration: 0.9, 1132 y: '100%', 1133 ease: "power3.inOut", 1134 delay: 0.2, 1135 onComplete: () => { 1136 preloader.style.display = 'none'; 1137 mainContent.style.display = 'block'; 1138 } 1139 }); 1140 } 1141 }); 1142 }); 1143 }); 1144}); 1145</script>
1145 1146
1147<script type="module"> 1148import { gsap } from "https://cdn.skypack.dev/gsap"; 1149 1150window.addEventListener('DOMContentLoaded', () => { 1151 const loadingText = document.querySelector('.preloader-text'); 1152 if (!loadingText) return; 1153 1154 // Разбиваем ÑекÑÑ Ð¿Ð¾ бÑквам 1155 const text = loadingText.textContent.trim(); 1156 loadingText.innerHTML = ""; 1157 const letters = text.split("").map(char => { 1158 const span = document.createElement("span"); 1159 span.textContent = char; 1160 span.style.display = "inline-block"; 1161 span.style.color = "#D9FF9D"; 1162 loadingText.appendChild(span); 1163 return span; 1164 }); 1165 1166 // ÐÐ¾Ð»Ð½Ð¾Ð²Ð°Ñ Ð°Ð½Ð¸Ð¼Ð°ÑÐ¸Ñ (запÑÑкаеÑÑÑ ÑÑазÑ) 1167 gsap.to(letters, { 1168 color: "#F0196D", 1169 y: -4, 1170 duration: 0.5, 1171 ease: "sine.inOut", 1172 stagger: { 1173 each: 0.07, 1174 yoyo: true, 1175 repeat: -1, 1176 from: "start" 1177 }, 1178 yoyo: true, 1179 repeat: -1 1180 }); 1181}); 1182</script>
1182 1183 1184 1185
1186<script> 1187document.addEventListener('DOMContentLoaded', () => { 1188 const buttons = document.querySelectorAll('[class*="button_size-"]'); 1189 1190 buttons.forEach((btn) => { 1191 const btnText = btn.querySelector('[class*="button_text-"]'); 1192 const btnArrow = btn.querySelector('.btn-arrow'); 1193 if (!btnText || !btnArrow) return; 1194 1195 const splitText = new SplitText(btnText, { type: 'chars' }); 1196 const chars = splitText.chars; 1197 chars.forEach(c => c.style.display = 'inline-block'); 1198 1199 gsap.set(chars, { color: '#fff' }); 1200 gsap.set(btnArrow, { x: 0 }); 1201 1202 btn.addEventListener('mouseenter', () => { 1203 const tl = gsap.timeline(); 1204 1205 // Резкий ÑолÑок ÑÑÑелки впÑаво и плавнÑй возвÑÐ°Ñ 1206 tl.to(btnArrow, { 1207 x: 4, // ÑмеÑение впÑаво на 4px 1208 duration: 0.12, // бÑÑÑÑÑй Ñезкий ÑолÑок 1209 ease: 'power1.out' 1210 }) 1211 .to(btnArrow, { 1212 x: 0, // плавное возвÑаÑение 1213 duration: 0.4, 1214 ease: 'power3.out' 1215 }, '+=0'); // ÑÑÐ°Ð·Ñ Ð¿Ð¾Ñле ÑолÑка 1216 1217 // ÐнимаÑÐ¸Ñ Ð±Ð»Ð¸ÐºÐ° по бÑквам 1218 chars.forEach((char, i) => { 1219 const duration = 0.15 + i * 0.003; 1220 gsap.to(char, { 1221 color: '#F0196D', 1222 duration: duration, 1223 ease: 'sine.out', 1224 delay: i * 0.03 1225 }); 1226 gsap.to(char, { 1227 color: '#fff', 1228 duration: duration, 1229 ease: 'sine.in', 1230 delay: i * 0.03 + 0.1 1231 }); 1232 }); 1233 }); 1234 1235 btn.addEventListener('mouseleave', () => { 1236 gsap.to(btnArrow, { 1237 x: 0, 1238 duration: 0.25, 1239 ease: 'power2.inOut' 1240 }); 1241 }); 1242 }); 1243}); 1244</script>
1244 1245 1246 1247 1248 1249
1250<script> 1251 gsap.registerPlugin(ScrollTrigger, SplitText); 1252 1253 const split = new SplitText(".services-word", { type: "chars" }); 1254 const chars = split.chars; 1255 1256 gsap.set(chars, { y: 30, opacity: 0 }); 1257 1258 gsap.to(chars, { 1259 y: 0, 1260 opacity: 1, 1261 duration: 0.6, 1262 ease: "power3.out", 1263 stagger: 0.1, 1264 scrollTrigger: { 1265 trigger: ".services-word", 1266 start: "top 60%", // анимаÑÐ¸Ñ Ð½Ð°ÑнÑÑÑÑ ÐºÐ¾Ð³Ð´Ð° веÑÑ Ð±Ð»Ð¾ÐºÐ° на 60% ÑкÑана 1267 end: "top 0%", // законÑиÑÑÑ ÐºÐ¾Ð³Ð´Ð° веÑÑ Ð±Ð»Ð¾ÐºÐ° дойдÑÑ Ð´Ð¾ веÑÑ Ð° ÑкÑана 1268 scrub: 1.5, // плавное пÑивÑзка к ÑкÑоллÑ, можно ÑвелиÑиÑÑ 1269 } 1270 }); 1271</script>
1271 1272 1273 1274 1275<!-- assets.bottom --> 1276<!-- </noscript></script>
1276</style> -->
1277<script src="/assets/site/main.min.js?1791276656" ></script>
vendor: 1 bytes, line 1277
1277
1278<script >/*<![CDATA[*/ 1279var megacounter_key="c2830a912de55aa467b70f88487ad0ad"; 1280(function(d){ 1281 var s = d.createElement("script"); 1282 s.src = "//counter.megagroup.ru/loader.js?"+new Date().getTime(); 1283 s.async = true; 1284 d.getElementsByTagName("head")[0].appendChild(s); 1285})(document); 1286/*]]>*/</script>
vendor: 1 bytes, line 1286
1286
1287<script >/*<![CDATA[*/ 1288$ite.start({"sid":6746786,"vid":6822589,"aid":5024752,"stid":27,"cp":21,"active":true,"domain":"salakhov-design.ru","lang":"en","trusted":false,"debug":false,"captcha":4,"onetap":[{"provider":"vkontakte","provider_id":"53543634","code_verifier":"smmKKMDxGeXGTKgnhFk8YsgPKMiOtG6skQjZbrpaH49PyshYJurJrM8JLQbQzOQlr7Kya7SQr7RMacwKH3ZclTO_KMJWJOQRMgUqYcKW5lTyAKeENe"}]}); 1289/*]]>*/</script>
1289 1290<!-- /assets.bottom --> 1291</body>
1292<script type='application/json' id='data_do_json'> 1293{"data":{"tt_link_universal":{"il22bsz6k":"2262851596","i139ljshk":"2262851596","i3sdeglfp":"2318580973","ibov5thq2":"2262851596","idczpk1ij":"2262851596","ipwkxyb5e":"2262851596","i6p33k4n9":"2262851596","imkgeujnk":"2262851596","ivg2jqcdv":"2262851596","iljj6srgz":"2262851596","iur25hvjb":"540367937","igxff8rna":"540367937","i2j4i83i0":"2262851596","i4bd4lna0":"2262851596","ieoqkpzyj":"2262851596","i2ow6e3og":"2262851596","ijydfws9t":"2262851596","i3g1qsujh":"2318580973","ibgy4hdql":"2262851596","iyagiad88":"2262851596","i73c9yzs5":"93719356"},"tt_image":{"ig948t01r":"4226276507","isseducov":"2153201508","i4l88x2gr":"637842386","i4xlo0pcg":"2136264675","iu16l0mbx":"2153201508","inbgrm86n":"4226276507","ivgu0ajpz":"3906203336","ignbp1soi":"2153201508","iu05b3s5b":"2153201508","iespvs05y":"4226276507","isyt54jah":"4226276507","ip9ip9366":"4226276507","iabzx6xhv":"3451433236","ipitcrw4p":"4226276507","ijazvgp5x":"4226276507","i4jfo9bp3":"4226276507","iyijguog4":"4226276507","i89b1ccsr":"4226276507","i9hak54xi":"4226276507"},"tt_animation":{"iespvs05y":"2639807811","ij0cjfn7v":"730602724","issldihgz":"1845662127","iblq1q1es":"2038236754","iabzx6xhv":"956016656","igwfcl5rg":"3047831952"},"tt_menu":{"icuooib0t":"1677249857"},"tt_modal":{"ibk6cj3z3":"953365152"},"tt_form":{"i28wkxdqk":"3670885118"},"tt_form_checkbox_group":{"iko6dkzg5":"2723265586"},"tt_form_input":{"izynmrhor":"4039395888","iitu8ll77":"1905957598"},"tt_form_textarea":{"io9p32pjf":"1831041182"},"tt_badge":{"iulo2bdrq":"3971710226"}},"params":{"2262851596":"{\"screen\":{\"type\":\"link\",\"eventName\":\"click\",\"eventElement\":\"self\",\"eventAction\":\"\",\"displayType\":\"\",\"selectedTag\":\"\",\"linkType\":\"link\",\"blank\":true}}","4226276507":"{\"screen\":{\"objectFit\":\"cover\",\"lockRatio\":true}}","2153201508":"{\"screen\":{\"objectFit\":\"cover\",\"lockRatio\":true,\"maxWidth\":\"1184\",\"maxHeight\":\"896\"}}","637842386":"{\"screen\":{\"objectFit\":\"contain\",\"lockRatio\":true,\"maxWidth\":\"1024\",\"maxHeight\":\"1536\"}}","2136264675":"{\"screen\":{\"objectFit\":\"cover\",\"lockRatio\":true,\"maxWidth\":\"1536\",\"maxHeight\":\"1024\"}}","3906203336":"{\"screen\":{\"objectFit\":\"cover\",\"lockRatio\":true,\"maxWidth\":\"4000\",\"maxHeight\":\"2506\"}}","2639807811":"{\"animations\":{\"animation-isrjsveoc\":{\"id\":\"animation-isrjsveoc\",\"triggerName\":\"APPEAR_ON_SCREEN\",\"mediaParams\":{\"screen\":{\"disabled\":false,\"effectIds\":[\"effect-ikswfxu74\"],\"preset\":\"FADE_IN\",\"iterations\":\"Infinity\",\"stageOfAppear\":\"top\",\"loop\":\"yoyo\"}}}},\"effects\":{\"effect-ikswfxu74\":{\"screen\":{\"id\":\"effect-ikswfxu74\",\"name\":\"MOVE\",\"disabled\":false,\"keyframes\":[{\"x\":\"0px\",\"y\":\"0px\",\"z\":\"0px\"},{\"x\":\"-20em\",\"y\":\"0px\",\"z\":\"0px\"}],\"options\":{\"ease\":\"none\",\"delay\":0,\"duration\":20}}}}}","2318580973":"{\"screen\":{\"type\":\"link\",\"eventName\":\"click\",\"eventElement\":\"self\",\"eventAction\":\"\",\"displayType\":\"\",\"selectedTag\":\"\",\"linkType\":\"link\",\"blank\":false}}","730602724":"{\"animations\":{\"animation-i2sxcdo0x\":{\"id\":\"animation-i2sxcdo0x\",\"triggerName\":\"HOVER\",\"mediaParams\":{\"screen\":{\"disabled\":false,\"effectIds\":[\"effect-iwqm94moz\"],\"preset\":\"FADE_IN\",\"loop\":\"none\",\"triggerElement\":\"#ibov5thq2_0\"}}}},\"effects\":{\"effect-iwqm94moz\":{\"screen\":{\"id\":\"effect-iwqm94moz\",\"name\":\"COLOR\",\"disabled\":false,\"keyframes\":[{\"color\":\"rgba(255, 255, 255, 1)\"},{\"color\":\"rgba(240, 25, 109, 1)\"}],\"options\":{\"ease\":\"0.645, 0.045, 0.355, 1\",\"delay\":0,\"duration\":0.3}}}}}","1845662127":"{\"animations\":{\"animation-is4212xj1\":{\"id\":\"animation-is4212xj1\",\"triggerName\":\"SCROLL_TRANSFORM\",\"mediaParams\":{\"screen\":{\"disabled\":true,\"effectIds\":[\"effect-ignhtqonz\"],\"preset\":\"FADE_IN\",\"triggerElement\":\"#i8z5xo3zc_0\",\"startPosition\":\"top\",\"endPosition\":\"center\",\"startOffset\":\"0%\",\"endOffset\":\"0%\",\"scrollerStartOffset\":\"100%\",\"scrollerEndOffset\":\"0%\",\"smoothing\":0,\"markers\":true}}}},\"effects\":{\"effect-ignhtqonz\":{\"screen\":{\"id\":\"effect-ignhtqonz\",\"name\":\"MOVE\",\"disabled\":false,\"keyframes\":[{\"x\":\"0px\",\"y\":\"0px\",\"z\":\"0px\"},{\"x\":\"0px\",\"y\":\"-100%\",\"z\":\"0px\"}],\"options\":{\"ease\":\"power1.inOut\",\"startKeyframe\":0,\"endKeyframe\":100}}}}}","1677249857":"{\"levels\":[{\"desktop\":{\"layout\":\"vertical\",\"appearance\":\"default\",\"triggerEvent\":\"hover\",\"effect\":\"fade\",\"open\":{\"easing\":\"linear\",\"duration\":200},\"close\":{\"easing\":\"linear\",\"duration\":200},\"hideEmptyMenu\":false,\"showNextMenu\":false,\"columns\":3},\"mobile\":{\"layout\":\"vertical\",\"appearance\":\"slide\",\"triggerEvent\":\"click\",\"effect\":\"left\",\"open\":{\"easing\":\"cubic-bezier(0.445, 0.05, 0.55, 0.95)\",\"duration\":1000},\"close\":{\"easing\":\"cubic-bezier(0.645, 0.045, 0.355, 1)\",\"duration\":1000},\"hideEmptyMenu\":false,\"showNextMenu\":true}}],\"anchorDuration\":\"1000\",\"mobileBreakPoint\":\"(max-width: 479px)\",\"mobileMenuPosition\":\"left\",\"scrollLock\":false}","2038236754":"{\"animations\":{\"animation-i62ywkyr8\":{\"id\":\"animation-i62ywkyr8\",\"triggerName\":\"HOVER\",\"mediaParams\":{\"screen\":{\"disabled\":false,\"effectIds\":[\"effect-i7b47zh2z\"],\"preset\":\"FADE_IN\",\"loop\":\"none\",\"triggerElement\":\"#ihjdkk9ar_0\"}}}},\"effects\":{\"effect-i7b47zh2z\":{\"screen\":{\"id\":\"effect-i7b47zh2z\",\"name\":\"COLOR\",\"disabled\":false,\"keyframes\":[{\"color\":\"rgba(255, 255, 255, 1)\"},{\"color\":\"rgba(240, 25, 109, 1)\"}],\"options\":{\"ease\":\"0.645, 0.045, 0.355, 1\",\"delay\":0,\"duration\":0.3}}}}}","540367937":"{\"screen\":{\"type\":\"button\",\"eventName\":\"click\",\"eventElement\":\"select\",\"eventAction\":\"show\",\"displayType\":\"\",\"selectedTag\":\"\",\"linkType\":\"link\",\"blank\":true}}","953365152":"{\"screen\":{\"closeOnOverlay\":true,\"scrollLock\":false,\"effect\":\"fade\",\"open\":{\"easing\":\"ease-in-out\",\"duration\":200},\"close\":{\"easing\":\"ease-in-out\",\"duration\":200}}}","3670885118":"{\"screen\":{\"mode\":\"main\",\"anketa_id\":\"201649913\",\"name\":\"Email Form\",\"
1293initial_state\":\"{\\\"anketa_id\\\":\\\"201649913\\\",\\\"name\\\":\\\"Email Form\\\",\\\"submit_name\\\":\\\"ÐÑпÑавиÑÑ\\\",\\\"success_note\\\":\\\"Thank you!\\\",\\\"tag_id\\\":\\\"i28wkxdqk\\\",\\\"symbol_id\\\":\\\"symbol-ibk6cj3z3\\\",\\\"change\\\":false,\\\"dictionaries\\\":{\\\"iko6dkzg5\\\":{\\\"dictionary_id\\\":1242257313,\\\"name\\\":\\\"Checkbox group\\\",\\\"type_id\\\":5,\\\"required\\\":false,\\\"alias\\\":\\\"field_1242257313\\\",\\\"note\\\":\\\"\\\",\\\"variants\\\":[\\\"Ð¡Ð°Ð¹Ñ Ð¿Ð¾Ð´ клÑÑ\\\",\\\"Ðизайн без веÑÑÑки\\\",\\\"3d иллÑÑÑÑаÑии\\\"],\\\"params_value\\\":\\\"\\\",\\\"validator\\\":\\\"\\\",\\\"change\\\":false},\\\"izynmrhor\\\":{\\\"dictionary_id\\\":1242257513,\\\"name\\\":\\\"Website or Company Name*\\\",\\\"type_id\\\":1,\\\"required\\\":true,\\\"alias\\\":\\\"field_1242257513\\\",\\\"note\\\":\\\"\\\",\\\"variants\\\":[],\\\"params_value\\\":\\\"\\\",\\\"validator\\\":\\\"\\\",\\\"change\\\":false},\\\"iitu8ll77\\\":{\\\"dictionary_id\\\":1242257713,\\\"name\\\":\\\"Email address\\\",\\\"type_id\\\":13,\\\"required\\\":true,\\\"alias\\\":\\\"email\\\",\\\"note\\\":\\\"\\\",\\\"variants\\\":[],\\\"params_value\\\":\\\"\\\",\\\"validator\\\":\\\"\\\",\\\"change\\\":false},\\\"io9p32pjf\\\":{\\\"dictionary_id\\\":1242257913,\\\"name\\\":\\\"Textarea\\\",\\\"type_id\\\":2,\\\"required\\\":true,\\\"alias\\\":\\\"field_1242257913\\\",\\\"note\\\":\\\"\\\",\\\"variants\\\":[],\\\"params_value\\\":\\\"\\\",\\\"validator\\\":\\\"\\\",\\\"change\\\":false}},\\\"redirect_url\\\":\\\"/success-submition\\\"}\",\"nativeStyle\":false,\"disabledNativeStyleSelect\":true,\"redirectAction\":\"page\",\"redirectPage\":\"/success-submition\"}}","2723265586":"{\"screen\":{\"name\":\"Checkbox group\",\"type_id\":5,\"required\":false,\"dictionary_id\":1242257313,\"alias\":\"field_1242257313\"}}","4039395888":"{\"screen\":{\"type_id\":1,\"type_code\":\"text\",\"name\":\"Website or Company Name*\",\"required\":true,\"maxlength\":256,\"dictionary_id\":1242257513,\"alias\":\"field_1242257513\"}}","1905957598":"{\"screen\":{\"type_id\":13,\"type_code\":\"email\",\"name\":\"Email address\",\"required\":true,\"maxlength\":256,\"dictionary_id\":1242257713,\"alias\":\"email\"}}","1831041182":"{\"screen\":{\"name\":\"Textarea\",\"type_id\":2,\"type_field\":\"textarea\",\"required\":true,\"dictionary_id\":1242257913,\"alias\":\"field_1242257913\"}}","3451433236":"{\"screen\":{\"objectFit\":\"cover\",\"lockRatio\":true,\"maxWidth\":\"4000\",\"maxHeight\":\"2500\"}}","956016656":"{\"animations\":{\"animation-i14yre8pc\":{\"id\":\"animation-i14yre8pc\",\"triggerName\":\"APPEAR_ON_SCREEN\",\"mediaParams\":{\"screen\":{\"effectIds\":[\"effect-iewgynmx7\"],\"preset\":\"SLIDE_IN_LEFT\",\"iterations\":1,\"stageOfAppear\":\"top\",\"loop\":\"none\"},\"(min-width: 1440px)\":{}}}},\"effects\":{\"effect-iewgynmx7\":{\"screen\":{\"id\":\"effect-iewgynmx7\",\"name\":\"MOVE\",\"disabled\":false,\"keyframes\":[{\"x\":\"0px\",\"y\":\"20em\",\"z\":\"0px\"},{\"x\":\"0px\",\"y\":\"0px\",\"z\":\"0px\"}],\"options\":{\"ease\":\"0.785, 0.135, 0.15, 0.86\",\"delay\":0,\"duration\":1.2}}}}}","3047831952":"{\"animations\":{\"animation-ikwgk0qxk\":{\"id\":\"animation-ikwgk0qxk\",\"triggerName\":\"CLICK\",\"mediaParams\":{\"screen\":{\"disabled\":true,\"effectIds\":[\"effect-icfs6lkee\"],\"preset\":\"FADE_IN\",\"secondClick\":\"reverse\",\"loop\":\"none\",\"triggerElement\":\"#i3g1qsujh_0\"}}}},\"effects\":{\"effect-icfs6lkee\":{\"screen\":{\"id\":\"effect-icfs6lkee\",\"name\":\"MOVE\",\"disabled\":false,\"keyframes\":[{\"x\":\"0px\",\"y\":\"0px\",\"z\":\"0px\"},{\"x\":\"11px\",\"y\":\"0px\",\"z\":\"0px\"}],\"options\":{\"ease\":\"0.455, 0.03, 0.515, 0.955\",\"delay\":0,\"duration\":0.3}}}}}","93719356":"{\"screen\":{\"type\":\"link\",\"eventName\":\"click\",\"eventElement\":\"self\",\"eventAction\":\"\",\"displayType\":\"\",\"selectedTag\":\"\",\"linkType\":\"page\",\"blank\":true}}","3971710226":"{\"screen\":{\"speed\":600}}"}} 1294</script>
1294 1295<span style='font-size:14px;' class='copyright'><style> 1296 .tt_copyright { 1297 display: inline-block; 1298 } 1299 1300 .tt_badge__small { 1301 display: inline-flex; 1302 align-items: center; 1303 min-height: 35px; 1304 padding: 8px 8px 8px 32px; 1305 background-image: url('/g/s3/mosaic/images/widgets/badge-small-light.svg'), linear-gradient(#0c0c0c, #0c0c0c); 1306 background-position: 8px center, center; 1307 background-repeat: no-repeat; 1308 text-decoration: none; 1309 font-weight: 500; 1310 font-size: 14px; 1311 border-radius: 5px; 1312 color: #ffffff; 1313 } 1314 1315 @media (max-width: 767px) { 1316 .tt_badge__small { 1317 font-size: 10px; 1318 min-height: 28px; 1319 } 1320 } 1321</style> 1322<div class="tt_copyright tt_badge"> 1323 <a target="_blank" href="https://taptop.pro/?utm_source=taptop_pro&utm_medium=embed&utm_campaign=badge&utm_content=icon" class="tt_badge__small">Made in Taptop</a> 1324</div></span></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.