Первые 2 МБ HTML-кода — именно это видят ИИ-боты на вашей странице
<!DOCTYPE html>
<html lang="ru">
<!-- begin head-->
<head>
<meta charset="UTF-8" />
<meta name="theme-color" content="#020202">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Идея. Реализация. Продвижение - Студия Банникон</title>
<!-- The SEO Framework Создано Сибрэ Вайэр -->
<meta name="robots" content="max-snippet:-1,max-image-preview:large,max-video-preview:-1" />
<link rel="canonical" href="https://bannikon.ru/" />
<meta name="description" content="Студия Банникон: разработка, поддержка и продвижение сайтов «под ключ». Мы гарантируем высокое качество, оперативность и индивидуальный подход к каждому клиенту." />
<meta name="theme-color" content="#4be5dd" />
<meta property="og:type" content="website" />
<meta property="og:locale" content="ru_RU" />
<meta property="og:site_name" content="Студия Банникон" />
<meta property="og:title" content="Идея. Реализация. Продвижение - Студия Банникон" />
<meta property="og:description" content="Студия Банникон: разработка, поддержка и продвижение сайтов «под ключ». Мы гарантируем высокое качество, оперативность и индивидуальный подход к каждому клиенту." />
<meta property="og:url" content="https://bannikon.ru/" />
<meta property="og:image" content="https://bannikon.ru/wp-content/uploads/2025/04/cropped-image_2025-04-30_15-26-39.png" />
<meta property="og:image:width" content="2003" />
<meta property="og:image:height" content="1272" />
<meta property="og:image:alt" content="Первый экран сайта студии Банникон" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Идея. Реализация. Продвижение - Студия Банникон" />
<meta name="twitter:description" content="Студия Банникон: разработка, поддержка и продвижение сайтов «под ключ». Мы гарантируем высокое качество, оперативность и индивидуальный подход к каждому клиенту." />
<meta name="twitter:image" content="https://bannikon.ru/wp-content/uploads/2025/04/cropped-image_2025-04-30_15-26-39.png" />
<meta name="twitter:image:alt" content="Первый экран сайта студии Банникон" />
<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://bannikon.ru/#/schema/WebSite","url":"https://bannikon.ru/","name":"Студия Банникон","alternateName":"ООО «БАННИКОН»","description":"Идея. Реализация. Продвижение.","inLanguage":"ru-RU","potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://bannikon.ru/search/{search_term_string}/"},"query-input":"required name=search_term_string"},"publisher":{"@id":"https://bannikon.ru/#/schema/Organization"}},{"@type":"WebPage","@id":"https://bannikon.ru/","url":"https://bannikon.ru/","name":"Идея. Реализация. Продвижение - Студия Банникон","description":"Студия Банникон: разработка, поддержка и продвижение сайтов «под ключ». Мы гарантируем высокое качество, оперативность и индивидуальный подход к каждому клиенту.","inLanguage":"ru-RU","isPartOf":{"@id":"https://bannikon.ru/#/schema/WebSite"},"breadcrumb":{"@type":"BreadcrumbList","@id":"https://bannikon.ru/#/schema/BreadcrumbList","itemListElement":{"@type":"ListItem","position":1,"name":"Студия Банникон"}},"potentialAction":{"@type":"ReadAction","target":"https://bannikon.ru/"},"about":{"@id":"https://bannikon.ru/#/schema/Organization"}},{"@type":"Organization","@id":"https://bannikon.ru/#/schema/Organization","name":"ООО «БАННИКОН»","url":"https://bannikon.ru/"}]}</script>
<!-- / The SEO Framework Создано Сибрэ Вайэр | 2.35ms meta | 0.26ms boot -->
<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://bannikon.ru/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fbannikon.ru%2F" />
<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://bannikon.ru/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fbannikon.ru%2F&format=xml" />
<style id="wp-img-auto-sizes-contain-inline-css">
img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
</style>
<style id="wp-emoji-styles-inline-css">
img.wp-smiley, img.emoji {
display: inline !important;
border: none !important;
box-shadow: none !important;
height: 1em !important;
width: 1em !important;
margin: 0 0.07em !important;
vertical-align: -0.1em !important;
background: none !important;
padding: 0 !important;
}
/*# sourceURL=wp-emoji-styles-inline-css */
</style>
<style id="wp-block-library-inline-css">
:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style*=border-color]){border-style:solid}html :where([style*=border-top-color]){border-top-style:solid}html :where([style*=border-right-color]){border-right-style:solid}html :where([style*=border-bottom-color]){border-bottom-style:solid}html :where([style*=border-left-color]){border-left-style:solid}html :where([style*=border-width]){border-style:solid}html :where([style*=border-top-width]){border-top-style:solid}html :where([style*=border-right-width]){border-right-style:solid}html :where([style*=border-bottom-width]){border-bottom-style:solid}html :where([style*=border-left-width]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
</style>
<style id="classic-theme-styles-inline-css">
/*! This file is auto-generated */
.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
/*# sourceURL=/wp-includes/css/classic-themes.min.css */
</style>
<style id="global-styles-inline-css">
:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
/*# sourceURL=global-styles-inline-css */
</style>
<link rel='stylesheet' id='contact-form-7-css' href='https://bannikon.ru/wp-content/plugins/contact-form-7/includes/css/styles.css' media='all' />
<link rel='stylesheet' id='unisender_form_css-css' href='https://bannikon.ru/wp-content/plugins/unisender-wordpress-plugin-nov-23/assets/css/unisender.css' media='all' />
<link rel='stylesheet' id='bootstrap-css-css' href='https://bannikon.ru/wp-content/themes/bannikon/src/css/bootstrap.min.css' media='all' />
<link rel='stylesheet' id='style-css-css' href='https://bannikon.ru/wp-content/themes/bannikon/style.css?v2' media='all' />
<link rel='stylesheet' id='style-owl-css' href='https://bannikon.ru/wp-content/themes/bannikon/src/css/owl.carousel.min.css' media='all' />
<script id="cookie-law-info-js-extra">
var _ckyConfig = {"_ipData":[],"_assetsURL":"https://bannikon.ru/wp-content/plugins/cookie-law-info/lite/frontend/images/","_publicURL":"https://bannikon.ru","_expiry":"365","_categories":[{"name":"Necessary","slug":"necessary","isNecessary":true,"ccpaDoNotSell":true,"cookies":[],"active":true,"defaultConsent":{"gdpr":true,"ccpa":true}},{"name":"Functional","slug":"functional","isNecessary":false,"ccpaDoNotSell":true,"cookies":[],"active":true,"defaultConsent":{"gdpr":false,"ccpa":false}},{"name":"Analytics","slug":"analytics","isNecessary":false,"ccpaDoNotSell":true,"cookies":[],"active":true,"defaultConsent":{"gdpr":false,"ccpa":false}},{"name":"Performance","slug":"performance","isNecessary":false,"ccpaDoNotSell":true,"cookies":[],"active":true,"defaultConsent":{"gdpr":false,"ccpa":false}},{"name":"Advertisement","slug":"advertisement","isNecessary":false,"ccpaDoNotSell":true,"cookies":[],"active":true,"defaultConsent":{"gdpr":false,"ccpa":false}}],"_activeLaw":"gdpr","_rootDomain":"","_block":"1","_showBanner":"1","_bannerConfig":{"settings":{"type":"box","preferenceCenterType":"sidebar-left","position":"bottom-left","applicableLaw":"gdpr"},"behaviours":{"reloadBannerOnAccept":false,"loadAnalyticsByDefault":false,"animations":{"onLoad":"animate","onHide":"sticky"}},"config":{"revisitConsent":{"status":false,"tag":"revisit-consent","position":"bottom-left","meta":{"url":"#"},"styles":{"background-color":"#0056A7"},"elements":{"title":{"type":"text","tag":"revisit-consent-title","status":true,"styles":{"color":"#0056a7"}}}},"preferenceCenter":{"toggle":{"status":true,"tag":"detail-category-toggle","type":"toggle","states":{"active":{"styles":{"background-color":"#1863DC"}},"inactive":{"styles":{"background-color":"#D0D5D2"}}}}},"categoryPreview":{"status":false,"toggle":{"status":true,"tag":"detail-category-preview-toggle","type":"toggle","states":{"active":{"styles":{"background-color":"#1863DC"}},"inactive":{"styles":{"background-color":"#D0D5D2"}}}}},"videoPlaceholder":{"status":true,"styles":{"background-color":"#000000","border-color":"#000000","color":"#ffffff"}},"readMore":{"status":false,"tag":"readmore-button","type":"link","meta":{"noFollow":true,"newTab":true},"styles":{"color":"#1863DC","background-color":"transparent","border-color":"transparent"}},"auditTable":{"status":false},"optOption":{"status":true,"toggle":{"status":true,"tag":"optout-option-toggle","type":"toggle","states":{"active":{"styles":{"background-color":"#1863DC"}},"inactive":{"styles":{"background-color":"#d0d5d2"}}}}}}},"_version":"3.2.10","_logConsent":"1","_tags":[{"tag":"accept-button","styles":{"color":"#FFFFFF","background-color":"#0e87b8","border-color":"#0e87b8"}},{"tag":"reject-button","styles":{"color":"#d0d0d0","background-color":"transparent","border-color":"#d0d0d0"}},{"tag":"settings-button","styles":{"color":"#d0d0d0","background-color":"transparent","border-color":"#d0d0d0"}},{"tag":"readmore-button","styles":{"color":"#1863DC","background-color":"transparent","border-color":"transparent"}},{"tag":"donotsell-button","styles":{"color":"#1863DC","background-color":"transparent","border-color":"transparent"}},{"tag":"accept-button","styles":{"color":"#FFFFFF","background-color":"#0e87b8","border-color":"#0e87b8"}},{"tag":"revisit-consent","styles":{"background-color":"#0056A7"}}],"_shortCodes":[{"key":"cky_readmore","content":"\u003Ca href=\"/policy/\" class=\"cky-policy\" aria-label=\"Cookie Policy\" target=\"_blank\" rel=\"noopener\" data-cky-tag=\"readmore-button\"\u003ECookie Policy\u003C/a\u003E","tag":"readmore-button","status":false,"attributes":{"rel":"nofollow","target":"_blank"}},{"key":"cky_show_desc","content":"\u003Cbutton class=\"cky-show-desc-btn\" data-cky-tag=\"show-desc-button\" aria-label=\"Show more\"\u003EShow more\u003C/button\u003E","tag":"show-desc-button","status":true,"attributes":[]},{"key":"cky_hide_desc","content":"\u003Cbutton class=\"cky-show-desc-btn\" data-cky-tag=\"hide-desc-button\" aria-label=\"Show less\"\u003EShow less\u003C/button\u003E","tag":"hide-desc-button","status":true,"attributes":[]},{"key":"cky_category_toggle_label","content":"[cky_{{status}}_category_label] [cky_preference_{{category_slug}}_title]","tag":"","status":true,"attributes":[]},{"key":"cky_enable_category_label","content":"Enable","tag":"","status":true,"attributes":[]},{"key":"cky_disable_category_label","content":"Disable","tag":"","status":true,"attributes":[]},{"key":"cky_video_placeholder","content":"\u003Cdiv class=\"video-placeholder-normal\" data-cky-tag=\"video-placeholder\" id=\"[UNIQUEID]\"\u003E\u003Cp class=\"video-placeholder-text-normal\" data-cky-tag=\"placeholder-title\"\u003EPlease accept cookies to access this content\u003C/p\u003E\u003C/div\u003E","tag":"","status":true,"attributes":[]},{"key":"cky_enable_optout_label","content":"Enable","tag":"","status":true,"attributes":[]},{"key":"cky_disable_optout_label","content":"Disable","tag":"","status":true,"attributes":[]},{"key":"cky_optout_toggle_label","content":"[cky_{{status}}_optout_label] [cky_optout_option_title]","tag":"","status":true,"attributes":[]},{"key":"cky_optout_option_title","content":"Do Not Sell or Share My Personal Information","tag":"","status":true,"attributes":[]},{"key":"cky_optout_close_label","content":"Close","tag":"","status":true,"attributes":[]}],"_rtl":"","_language":"en","_providersToBlock":[]};
var _ckyStyles = {"css":".cky-overlay{background: #000000; opacity: 0.4; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 99999999;}.cky-hide{display: none;}.cky-btn-revisit-wrapper{display: flex; align-items: center; justify-content: center; background: #0056a7; width: 45px; height: 45px; border-radius: 50%; position: fixed; z-index: 999999; cursor: pointer;}.cky-revisit-bottom-left{bottom: 15px; left: 15px;}.cky-revisit-bottom-right{bottom: 15px; right: 15px;}.cky-btn-revisit-wrapper .cky-btn-revisit{display: flex; align-items: center; justify-content: center; background: none; border: none; cursor: pointer; position: relative; margin: 0; padding: 0;}.cky-btn-revisit-wrapper .cky-btn-revisit img{max-width: fit-content; margin: 0; height: 30px; width: 30px;}.cky-revisit-bottom-left:hover::before{content: attr(data-tooltip); position: absolute; background: #4e4b66; color: #ffffff; left: calc(100% + 7px); font-size: 12px; line-height: 16px; width: max-content; padding: 4px 8px; border-radius: 4px;}.cky-revisit-bottom-left:hover::after{position: absolute; content: \"\"; border: 5px solid transparent; left: calc(100% + 2px); border-left-width: 0; border-right-color: #4e4b66;}.cky-revisit-bottom-right:hover::before{content: attr(data-tooltip); position: absolute; background: #4e4b66; color: #ffffff; right: calc(100% + 7px); font-size: 12px; line-height: 16px; width: max-content; padding: 4px 8px; border-radius: 4px;}.cky-revisit-bottom-right:hover::after{position: absolute; content: \"\"; border: 5px solid transparent; right: calc(100% + 2px); border-right-width: 0; border-left-color: #4e4b66;}.cky-revisit-hide{display: none;}.cky-consent-container{position: fixed; width: 440px; box-sizing: border-box; z-index: 9999999; border-radius: 6px;}.cky-consent-container .cky-consent-bar{background: #ffffff; border: 1px solid; padding: 20px 26px; box-shadow: 0 -1px 10px 0 #acabab4d; border-radius: 6px;}.cky-box-bottom-left{bottom: 40px; left: 40px;}.cky-box-bottom-right{bottom: 40px; right: 40px;}.cky-box-top-left{top: 40px; left: 40px;}.cky-box-top-right{top: 40px; right: 40px;}.cky-custom-brand-logo-wrapper .cky-custom-brand-logo{width: 100px; height: auto; margin: 0 0 12px 0;}.cky-notice .cky-title{color: #212121; font-weight: 700; font-size: 18px; line-height: 24px; margin: 0 0 12px 0;}.cky-notice-des *, .cky-preference-content-wrapper *, .cky-accordion-header-des *, .cky-gpc-wrapper .cky-gpc-desc *{font-size: 14px;}.cky-notice-des{color: #212121; font-size: 14px; line-height: 24px; font-weight: 400;}.cky-notice-des img{min-height: 25px; min-width: 25px;}.cky-consent-bar .cky-notice-des p, .cky-gpc-wrapper .cky-gpc-desc p, .cky-preference-body-wrapper .cky-preference-content-wrapper p, .cky-accordion-header-wrapper .cky-accordion-header-des p, .cky-cookie-des-table li div:last-child p{color: inherit; margin-top: 0;}.cky-notice-des P:last-child, .cky-preference-content-wrapper p:last-child, .cky-cookie-des-table li div:last-child p:last-child, .cky-gpc-wrapper .cky-gpc-desc p:last-child{margin-bottom: 0;}.cky-notice-des a.cky-policy, .cky-notice-des button.cky-policy{font-size: 14px; color: #1863dc; white-space: nowrap; cursor: pointer; background: transparent; border: 1px solid; text-decoration: underline;}.cky-notice-des button.cky-policy{padding: 0;}.cky-notice-des a.cky-policy:focus-visible, .cky-notice-des button.cky-policy:focus-visible, .cky-preference-content-wrapper .cky-show-desc-btn:focus-visible, .cky-accordion-header .cky-accordion-btn:focus-visible, .cky-preference-header .cky-btn-close:focus-visible, .cky-switch input[type=\"checkbox\"]:focus-visible, .cky-footer-wrapper a:focus-visible, .cky-btn:focus-visible{outline: 2px solid #1863dc; outline-offset: 2px;}.cky-btn:focus:not(:focus-visible), .cky-accordion-header .cky-accordion-btn:focus:not(:focus-visible), .cky-preference-content-wrapper .cky-show-desc-btn:focus:not(:focus-visible), .cky-btn-revisit-wrapper .cky-btn-revisit:focus:not(:focus-visible), .cky-preference-header .cky-btn-close:focus:not(:focus-visible), .cky-consent-bar .cky-banner-btn-close:focus:not(:focus-visible){outline: 0;}button.cky-show-desc-btn:not(:hover):not(:active){color: #1863dc; background: transparent;}button.cky-accordion-btn:not(:hover):not(:active), button.cky-banner-btn-close:not(:hover):not(:active), button.cky-btn-revisit:not(:hover):not(:active), button.cky-btn-close:not(:hover):not(:active){background: transparent;}.cky-consent-bar button:hover, .cky-modal.cky-modal-open button:hover, .cky-consent-bar button:focus, .cky-modal.cky-modal-open button:focus{text-decoration: none;}.cky-notice-btn-wrapper{display: flex; justify-content: flex-start; align-items: center; flex-wrap: wrap; margin-top: 16px;}.cky-notice-btn-wrapper .cky-btn{text-shadow: none; box-shadow: none;}.cky-btn{flex: auto; max-width: 100%; font-size: 14px; font-family: inherit; line-height: 24px; padding: 8px; font-weight: 500; margin: 0 8px 0 0; border-radius: 2px; cursor: pointer; text-align: center; text-transform: none; min-height: 0;}.cky-btn:hover{opacity: 0.8;}.cky-btn-customize{color: #1863dc; background: transparent; border: 2px solid #1863dc;}.cky-btn-reject{color: #1863dc; background: transparent; border: 2px solid #1863dc;}.cky-btn-accept{background: #1863dc; color: #ffffff; border: 2px solid #1863dc;}.cky-btn:last-child{margin-right: 0;}@media (max-width: 576px){.cky-box-bottom-left{bottom: 0; left: 0;}.cky-box-bottom-right{bottom: 0; right: 0;}.cky-box-top-left{top: 0; left: 0;}.cky-box-top-right{top: 0; right: 0;}} @media (max-width: 440px){.cky-box-bottom-left, .cky-box-bottom-right, .cky-box-top-left, .cky-box-top-right{width: 100%; max-width: 100%;}.cky-consent-container .cky-consent-bar{padding: 20px 0;}.cky-custom-brand-logo-wrapper, .cky-notice .cky-title, .cky-notice-des, .cky-notice-btn-wrapper{padding: 0 24px;}.cky-notice-des{max-height: 40vh; overflow-y: scroll;}.cky-notice-btn-wrapper{flex-direction: column; margin-top: 0;}.cky-btn{width: 100%; margin: 10px 0 0 0;}.cky-notice-btn-wrapper .cky-btn-customize{order: 2;}.cky-notice-btn-wrapper .cky-btn-reject{order: 3;}.cky-notice-btn-wrapper .cky-btn-accept{order: 1; margin-top: 16px;}} @media (max-width: 352px){.cky-notice .cky-title{font-size: 16px;}.cky-notice-des *{font-size: 12px;}.cky-notice-des, .cky-btn{font-size: 12px;}} .cky-modal.cky-sidebar-left.cky-modal-open, .cky-modal.cky-sidebar-right.cky-modal-open{overflow-x: hidden; overflow-y: auto; transform: translate(0); transition-duration: 0.4s; transition-property: transform;}.cky-modal{background: #ffffff; z-index: 999999999; color: #212121; bottom: 0; box-sizing: border-box; overflow-x: visible; overflow-y: visible; position: fixed; top: 0; max-width: 100%;}.cky-modal.cky-sidebar-left{left: 0; transform: translate(-100%);}.cky-modal.cky-sidebar-right{right: 0; transform: translate(100%);}.cky-preference-center{height: 100vh; overflow: hidden; width: 480px; display: flex; flex-direction: column;}.cky-preference-header{display: flex; align-items: center; justify-content: space-between; padding: 22px 24px; border-bottom: 1px solid;}.cky-preference-header .cky-preference-title{font-size: 18px; font-weight: 700; line-height: 24px;}.cky-preference-header .cky-btn-close{margin: 0; cursor: pointer; vertical-align: middle; padding: 0; background: none; border: none; width: auto; height: auto; min-height: 0; line-height: 0; text-shadow: none; box-shadow: none;}.cky-preference-header .cky-btn-close img{margin: 0; height: 10px; width: 10px;}.cky-preference-body-wrapper{padding: 0 24px; flex: 1; overflow: auto; box-sizing: border-box;}.cky-preference-content-wrapper, .cky-gpc-wrapper .cky-gpc-desc{font-size: 14px; line-height: 24px; font-weight: 400; padding: 12px 0;}.cky-preference-content-wrapper{border-bottom: 1px solid;}.cky-preference-content-wrapper img{min-height: 25px; min-width: 25px;}.cky-preference-content-wrapper .cky-show-desc-btn{font-size: 14px; font-family: inherit; color: #1863dc; text-decoration: none; line-height: 24px; padding: 0; margin: 0; white-space: nowrap; cursor: pointer; background: transparent; border-color: transparent; text-transform: none; min-height: 0; text-shadow: none; box-shadow: none;}.cky-accordion-wrapper{margin-bottom: 10px;}.cky-accordion{border-bottom: 1px solid;}.cky-accordion:last-child{border-bottom: none;}.cky-accordion .cky-accordion-item{display: flex; margin-top: 10px;}.cky-accordion .cky-accordion-body{display: none;}.cky-accordion.cky-accordion-active .cky-accordion-body{display: block; padding: 0 22px; margin-bottom: 16px;}.cky-accordion-header-wrapper{cursor: pointer; width: 100%;}.cky-accordion-item .cky-accordion-header{display: flex; justify-content: space-between; align-items: center;}.cky-accordion-header .cky-accordion-btn{font-size: 16px; font-family: inherit; color: #212121; line-height: 24px; background: none; border: none; font-weight: 700; padding: 0; margin: 0; cursor: pointer; text-transform: none; min-height: 0; text-shadow: none; box-shadow: none;}.cky-accordion-header .cky-always-active{color: #008000; font-weight: 600; line-height: 24px; font-size: 14px;}.cky-accordion-header-des{font-size: 14px; line-height: 24px; margin: 10px 0 16px 0;}.cky-accordion-chevron{margin-right: 22px; position: relative; cursor: pointer;}.cky-accordion-chevron-hide{display: none;}.cky-accordion .cky-accordion-chevron i::before{content: \"\"; position: absolute; border-right: 1.4px solid; border-bottom: 1.4px solid; border-color: inherit; height: 6px; width: 6px; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); transition: all 0.2s ease-in-out; top: 8px;}.cky-accordion.cky-accordion-active .cky-accordion-chevron i::before{-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg);}.cky-audit-table{background: #f4f4f4; border-radius: 6px;}.cky-audit-table .cky-empty-cookies-text{color: inherit; font-size: 12px; line-height: 24px; margin: 0; padding: 10px;}.cky-audit-table .cky-cookie-des-table{font-size: 12px; line-height: 24px; font-weight: normal; padding: 15px 10px; border-bottom: 1px solid; border-bottom-color: inherit; margin: 0;}.cky-audit-table .cky-cookie-des-table:last-child{border-bottom: none;}.cky-audit-table .cky-cookie-des-table li{list-style-type: none; display: flex; padding: 3px 0;}.cky-audit-table .cky-cookie-des-table li:first-child{padding-top: 0;}.cky-cookie-des-table li div:first-child{width: 100px; font-weight: 600; word-break: break-word; word-wrap: break-word;}.cky-cookie-des-table li div:last-child{flex: 1; word-break: break-word; word-wrap: break-word; margin-left: 8px;}.cky-footer-shadow{display: block; width: 100%; height: 40px; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #ffffff 100%); position: absolute; bottom: calc(100% - 1px);}.cky-footer-wrapper{position: relative;}.cky-prefrence-btn-wrapper{padding: 22px 24px; border-top: 1px solid;}.cky-prefrence-btn-wrapper .cky-btn{width: 100%; text-shadow: none; box-shadow: none; margin: 8px 0 0 0;}.cky-prefrence-btn-wrapper .cky-btn:first-child{margin: 0;}.cky-btn-preferences{color: #1863dc; background: transparent; border: 2px solid #1863dc;}.cky-preference-header, .cky-preference-body-wrapper, .cky-preference-content-wrapper, .cky-accordion-wrapper, .cky-accordion, .cky-accordion-wrapper, .cky-footer-wrapper, .cky-prefrence-btn-wrapper{border-color: inherit;}@media (max-width: 576px){.cky-accordion.cky-accordion-active .cky-accordion-body{padding-right: 0;}} @media (max-width: 480px){.cky-preference-center{width: 100%;}} @media (max-width: 425px){.cky-accordion-chevron{margin-right: 15px;}.cky-notice-btn-wrapper{margin-top: 0;}.cky-accordion.cky-accordion-active .cky-accordion-body{padding: 0 15px;}} @media (max-width: 352px){.cky-preference-header .cky-preference-title{font-size: 16px;}.cky-preference-header{padding: 16px 24px;}.cky-preference-content-wrapper *, .cky-accordion-header-des *{font-size: 12px;}.cky-preference-content-wrapper, .cky-preference-content-wrapper .cky-show-more, .cky-accordion-header .cky-always-active, .cky-accordion-header-des, .cky-preference-content-wrapper .cky-show-desc-btn, .cky-notice-des a.cky-policy{font-size: 12px;}.cky-accordion-header .cky-accordion-btn{font-size: 14px;}} .cky-switch{display: flex;}.cky-switch input[type=\"checkbox\"]{position: relative; width: 44px; height: 24px; margin: 0; background: #d0d5d2; appearance: none; -webkit-appearance: none; border-radius: 50px; cursor: pointer; outline: 0; border: none; top: 0;}.cky-switch input[type=\"checkbox\"]:checked{background: #1863dc;}.cky-switch input[type=\"checkbox\"]:before{position: absolute; content: \"\"; height: 20px; width: 20px; left: 2px; bottom: 2px; border-radius: 50%; background-color: white; -webkit-transition: 0.4s; transition: 0.4s; margin: 0;}.cky-switch input[type=\"checkbox\"]:after{display: none;}.cky-switch input[type=\"checkbox\"]:checked:before{-webkit-transform: translateX(20px); -ms-transform: translateX(20px); transform: translateX(20px);}@media (max-width: 425px){.cky-switch input[type=\"checkbox\"]{width: 38px; height: 21px;}.cky-switch input[type=\"checkbox\"]:before{height: 17px; width: 17px;}.cky-switch input[type=\"checkbox\"]:checked:before{-webkit-transform: translateX(17px); -ms-transform: translateX(17px); transform: translateX(17px);}} .cky-consent-bar .cky-banner-btn-close{position: absolute; right: 9px; top: 5px; background: none; border: none; cursor: pointer; padding: 0; margin: 0; min-height: 0; line-height: 0; height: auto; width: auto; text-shadow: none; box-shadow: none;}.cky-consent-bar .cky-banner-btn-close img{height: 9px; width: 9px; margin: 0;}.cky-notice-group{font-size: 14px; line-height: 24px; font-weight: 400; color: #212121;}.cky-notice-btn-wrapper .cky-btn-do-not-sell{font-size: 14px; line-height: 24px; padding: 6px 0; margin: 0; font-weight: 500; background: none; border-radius: 2px; border: none; white-space: nowrap; cursor: pointer; text-align: left; color: #1863dc; background: transparent; border-color: transparent; box-shadow: none; text-shadow: none;}.cky-consent-bar .cky-banner-btn-close:focus-visible, .cky-notice-btn-wrapper .cky-btn-do-not-sell:focus-visible, .cky-opt-out-btn-wrapper .cky-btn:focus-visible, .cky-opt-out-checkbox-wrapper input[type=\"checkbox\"].cky-opt-out-checkbox:focus-visible{outline: 2px solid #1863dc; outline-offset: 2px;}@media (max-width: 440px){.cky-consent-container{width: 100%;}} @media (max-width: 352px){.cky-notice-des a.cky-policy, .cky-notice-btn-wrapper .cky-btn-do-not-sell{font-size: 12px;}} .cky-opt-out-wrapper{padding: 12px 0;}.cky-opt-out-wrapper .cky-opt-out-checkbox-wrapper{display: flex; align-items: center;}.cky-opt-out-checkbox-wrapper .cky-opt-out-checkbox-label{font-size: 16px; font-weight: 700; line-height: 24px; margin: 0 0 0 12px; cursor: pointer;}.cky-opt-out-checkbox-wrapper input[type=\"checkbox\"].cky-opt-out-checkbox{background-color: #ffffff; border: 1px solid #000000; width: 20px; height: 18.5px; margin: 0; appearance: none; -webkit-appearance: none; position: relative; display: flex; align-items: center; justify-content: center; border-radius: 2px; cursor: pointer;}.cky-opt-out-checkbox-wrapper input[type=\"checkbox\"].cky-opt-out-checkbox:checked{background-color: #1863dc; border: none;}.cky-opt-out-checkbox-wrapper input[type=\"checkbox\"].cky-opt-out-checkbox:checked::after{left: 6px; bottom: 4px; width: 7px; height: 13px; border: solid #ffffff; border-width: 0 3px 3px 0; border-radius: 2px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); content: \"\"; position: absolute; box-sizing: border-box;}.cky-opt-out-checkbox-wrapper.cky-disabled .cky-opt-out-checkbox-label, .cky-opt-out-checkbox-wrapper.cky-disabled input[type=\"checkbox\"].cky-opt-out-checkbox{cursor: no-drop;}.cky-gpc-wrapper{margin: 0 0 0 32px;}.cky-footer-wrapper .cky-opt-out-btn-wrapper{padding: 22px 24px; border-top: 1px solid; border-color: inherit;}.cky-opt-out-btn-wrapper .cky-btn{margin: 8px 0 0 0; width: 100%; text-shadow: none; box-shadow: none;}.cky-opt-out-btn-wrapper .cky-btn:first-child{margin: 0;}.cky-opt-out-btn-wrapper .cky-btn-cancel{border: 1px solid #dedfe0; background: transparent; color: #858585;}.cky-opt-out-btn-wrapper .cky-btn-confirm{background: #1863dc; color: #ffffff; border: 1px solid #1863dc;}@media (max-width: 352px){.cky-opt-out-checkbox-wrapper .cky-opt-out-checkbox-label{font-size: 14px;}.cky-gpc-wrapper .cky-gpc-desc, .cky-gpc-wrapper .cky-gpc-desc *{font-size: 12px;}.cky-opt-out-checkbox-wrapper input[type=\"checkbox\"].cky-opt-out-checkbox{width: 16px; height: 16px;}.cky-opt-out-checkbox-wrapper input[type=\"checkbox\"].cky-opt-out-checkbox:checked::after{left: 5px; bottom: 4px; width: 3px; height: 9px;}.cky-gpc-wrapper{margin: 0 0 0 28px;}} .video-placeholder-youtube{background-size: 100% 100%; background-position: center; background-repeat: no-repeat; background-color: #b2b0b059; position: relative; display: flex; align-items: center; justify-content: center; max-width: 100%;}.video-placeholder-text-youtube{text-align: center; align-items: center; padding: 10px 16px; background-color: #000000cc; color: #ffffff; border: 1px solid; border-radius: 2px; cursor: pointer;}.video-placeholder-normal{background-image: url(\"/wp-content/plugins/cookie-law-info/lite/frontend/images/placeholder.svg\"); background-size: 80px; background-position: center; background-repeat: no-repeat; background-color: #b2b0b059; position: relative; display: flex; align-items: flex-end; justify-content: center; max-width: 100%;}.video-placeholder-text-normal{align-items: center; padding: 10px 16px; text-align: center; border: 1px solid; border-radius: 2px; cursor: pointer;}.cky-rtl{direction: rtl; text-align: right;}.cky-rtl .cky-banner-btn-close{left: 9px; right: auto;}.cky-rtl .cky-notice-btn-wrapper .cky-btn:last-child{margin-right: 8px;}.cky-rtl .cky-notice-btn-wrapper .cky-btn:first-child{margin-right: 0;}.cky-rtl .cky-notice-btn-wrapper{margin-left: 0; margin-right: 15px;}.cky-rtl .cky-accordion .cky-accordion-chevron i::before{border: none; border-left: 1.4px solid; border-top: 1.4px solid; left: 12px;}.cky-rtl .cky-accordion.cky-accordion-active .cky-accordion-chevron i::before{-webkit-transform: rotate(-135deg); -moz-transform: rotate(-135deg); -ms-transform: rotate(-135deg); -o-transform: rotate(-135deg); transform: rotate(-135deg);}@media (max-width: 768px){.cky-rtl .cky-notice-btn-wrapper{margin-right: 0;}} @media (max-width: 576px){.cky-rtl .cky-notice-btn-wrapper .cky-btn:last-child{margin-right: 0;}.cky-rtl .cky-accordion.cky-accordion-active .cky-accordion-body{padding: 0 22px 0 0;}} @media (max-width: 425px){.cky-rtl .cky-accordion.cky-accordion-active .cky-accordion-body{padding: 0 15px 0 0;}}.cky-rtl .cky-opt-out-checkbox-wrapper .cky-opt-out-checkbox-label{margin: 0 12px 0 0;}"};
//# sourceURL=cookie-law-info-js-extra
</script>
<script id="cookie-law-info-js" src="https://bannikon.ru/wp-content/plugins/cookie-law-info/lite/frontend/js/script.min.js"></script>
<script id="altcha-widget-custom-options-js-after">
(() => { window.ALTCHA_WIDGET_ATTRS = {"challengeurl":"https:\/\/bannikon.ru\/wp-json\/altcha\/v1\/challenge","strings":"{\"error\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0430 \\u043d\\u0435 \\u0443\\u0434\\u0430\\u043b\\u0430\\u0441\\u044c. \\u041f\\u043e\\u043f\\u0440\\u043e\\u0431\\u0443\\u0439\\u0442\\u0435 \\u0435\\u0449\\u0435 \\u0440\\u0430\\u0437 \\u043f\\u043e\\u0437\\u0436\\u0435.\",\"footer\":\"\\u0417\\u0430\\u0449\\u0438\\u0449\\u0435\\u043d\\u043e <a href=\\\"https:\\\/\\\/altcha.org\\\/\\\" target=\\\"_blank\\\">ALTCHA<\\\/a>\",\"label\":\"\\u042f \\u043d\\u0435 \\u0440\\u043e\\u0431\\u043e\\u0442\",\"verified\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0435\\u043d\\u043e\",\"verifying\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0430...\",\"waitAlert\":\"\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0430... \\u043f\\u043e\\u0436\\u0430\\u043b\\u0443\\u0439\\u0441\\u0442\\u0430, \\u043f\\u043e\\u0434\\u043e\\u0436\\u0434\\u0438\\u0442\\u0435.\"}","auto":"onfocus","hidefooter":"1"}; })();
//# sourceURL=altcha-widget-custom-options-js-after
</script>
<link rel="https://api.w.org/" href="https://bannikon.ru/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://bannikon.ru/wp-json/wp/v2/pages/33" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://bannikon.ru/xmlrpc.php?rsd" />
<style id="cky-style-inline">[data-cky-tag]{visibility:hidden;}</style><link rel="icon" type="image/png" href="/wp-content/uploads/fbrfg/favicon-96x96.png" sizes="96x96" />
<link rel="icon" type="image/svg+xml" href="/wp-content/uploads/fbrfg/favicon.svg" />
<link rel="shortcut icon" href="/wp-content/uploads/fbrfg/favicon.ico" />
<link rel="apple-touch-icon" sizes="180x180" href="/wp-content/uploads/fbrfg/apple-touch-icon.png" />
<meta name="apple-mobile-web-app-title" content="Банникон" />
<link rel="manifest" href="/wp-content/uploads/fbrfg/site.webmanifest" /> <!-- start fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter+Tight:wght@100;200;300;400;500;600;700;800;900&family=Manrope:wght@200;300;400;500;600;700;800&display=swap" rel="stylesheet">
<link href="https://bannikon.ru/wp-content/themes/bannikon/src/fonts/stylesheet.css" rel="stylesheet">
<!-- end fonts -->
<meta name="mailru-verification" content="22572f1e92cb834c" />
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(87478658, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true,
ecommerce:"dataLayer"
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/87478658" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
<!-- Top.Mail.Ru counter -->
<script type="text/javascript">
var _tmr = window._tmr || (window._tmr = []);
_tmr.push({id: "3654010", type: "pageView", start: (new Date()).getTime(), pid: "USER_ID"});
(function (d, w, id) {
if (d.getElementById(id)) return;
var ts = d.createElement("script"); ts.type = "text/javascript"; ts.async = true; ts.id = id;
ts.src = "https://top-fwz1.mail.ru/js/code.js";
var f = function () {var s = d.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ts, s);};
if (w.opera == "[object Opera]") { d.addEventListener("DOMContentLoaded", f, false); } else { f(); }
})(document, window, "tmr-code");
</script>
<noscript><div><img src="https://top-fwz1.mail.ru/counter?id=3654010;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div></noscript>
<!-- /Top.Mail.Ru counter -->
<link rel='stylesheet' id='altcha-widget-styles-css' href='https://bannikon.ru/wp-content/plugins/altcha-spam-protection/public/altcha.css' media='all' />
</head>
<!-- end head -->
<div class="loader-wrapper">
<div class="loaders"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
</div>
<style>
/* Loader Styles start here */
.loader-wrapper {
--line-width: 5px;
--curtain-color: #020202;
--outer-line-color: #020202;
--middle-line-color: #020202;
--inner-line-color: #020202;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
z-index:1000;
}
.loader-wrapper{
z-index:100000;
overflow: hidden;
}
.loader-wrapper .loader-section {
position:fixed;
top:0;
background:var(--curtain-color);
width:50%;
height:100%;
z-index:100000;
}
.loader-wrapper .loader-section.section-left {
left:0
}
.loader-wrapper .loader-section.section-right {
right:0;
}
/* Loaded Styles */
.loaded .loader-wrapper .loader-section.section-left {
transform: translateX(-100%);
transition: all 0.3s 0.2s cubic-bezier(0.645,0.045,0.355,1.000);
}
.loaded .loader-wrapper .loader-section.section-right {
transform: translateX(100%);
transition: all 0.3s 0.2s cubic-bezier(0.645,0.045,0.355,1.000);
}
.loaded .loaders {
opacity: 0;
overflow: hidden;
transition: all 0.2s ease-out;
}
.loaded .loader-wrapper {
visibility: hidden;
overflow: hidden;
transform:translateY(-100%);
transition: all .2s .9s ease-out;
}
</style>
<script>
window.addEventListener('load',function(){
document.querySelector('body').classList.add("loaded")
});
</script>
<script>
window.addEventListener('load',function(){
setTimeout(function() {
document.querySelector('#magic_bg').classList.remove("d-none");
}, 100);
});
</script><!-- begin body -->
<canvas id="magic_bg" class=""></canvas>
<style>
.SmartCaptcha-Shield.SmartCaptcha-Shield_position_bottom {
bottom: 2%!important;
}
</style>
<div class="backdropper">
<canvas class="grain"></canvas>
</div>
<body>
<header id="main_head" class="sticky-top">
<div class="container-fluid">
<nav class="navbar navbar-expand-lg navbar-light d-flex align-content-center justify-content-between w-100 py-2 py-md-4">
<div class="d-flex justify-content-between justify-content-xl-start align-items-center cg-20">
<a class="navbar-brand zoom" href="/">
<img src="https://bannikon.ru/wp-content/uploads/2024/05/znak-belyj.svg" alt="Банникон" />
</a>
<a href="javascript:void(0);" data-bs-toggle="modal" data-bs-target="#clientModal" class="d-flex d-xl-none client_alt">
стать клиентом
</a>
<div class="d-none d-xl-block" id="navbarScroll">
<div class="d-flex align-items-center cg-30">
<a href="/">
<img src="https://bannikon.ru/wp-content/uploads/2024/05/bannikon-deskriptor-belyj.svg" class="zoom head_text_logo" alt="Банникон" />
</a>
<a href="javascript:void(0);" class="client" data-bs-toggle="modal" data-bs-target="#clientModal">
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M10.6667 0L8.78667 1.88L16.2267 9.33333L0 9.33333L0 12L16.2267 12L8.78667 19.4533L10.6667 21.3333L21.3333 10.6667L10.6667 0Z" fill="url(#paint0_linear_147_3917)"/>
<defs>
<linearGradient id="paint0_linear_147_3917" x1="39.5" y1="11" x2="-6" y2="11" gradientUnits="userSpaceOnUse">
<stop stop-color="#1A2880"/>
<stop offset="1" stop-color="#25CBCB"/>
</linearGradient>
</defs>
</svg>
стать клиентом
</a>
</div>
<div id="menu-head" class="collapse navbar-collapse"><ul id="menu-header-menu" class="nav navbar-nav"><li id="menu-item-36" class="more_down menu-item menu-item-type-post_type_archive menu-item-object-cases nav-item nav-item-36"><a title="Проекты" href="https://bannikon.ru/cases/" class="nav-link">Проекты</a></li><li id="menu-item-37" class="more_down menu-item menu-item-type-post_type_archive menu-item-object-services nav-item nav-item-37"><a title="Услуги" href="https://bannikon.ru/services/" class="nav-link">Услуги</a></li><li id="menu-item-38" class="more_down d-none menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-38"><a title="Блог" href="/blog/" class="nav-link">Блог</a></li><li id="menu-item-375" class="more_down menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-375"><a title="О нас" href="https://bannikon.ru/about/" class="nav-link">О нас</a></li><li id="menu-item-147" class="down_side_link menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-147"><a title="Контакты" href="https://bannikon.ru/contacts/" class="nav-link">Контакты</a></li></ul></div> </div>
</div>
<div class="d-flex cg-30 align-items-center">
<a href="mailto:hello@bannikon.ru" class="d-none d-xl-flex text-nowrap nav-link phone_head zoom text-white">hello@bannikon.ru</a>
<a href="https://t.me/seo_bannikon" class="zoom" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/tg.svg" style="height:36px;" alt="telegram" />
</a>
<a href="https://wa.me/+79959864454" class="zoom" target="_blank">
<img src="/wp-content/uploads/2025/06/wa.svg" style="height:36px;" alt="whatsapp" />
</a>
<a href="javascript:void(0);" data-bs-toggle="offcanvas" data-bs-target="#servicesModal" class="zoom" data-cursor="-opaque" target="_blank">
<button class="nav-trigger" type="button">
<span></span>
</button>
</a>
</div>
</nav>
</div>
</header>
<div class="offcanvas offcanvas-top" tabindex="-1" id="servicesModal" aria-labelledby="servicesModalLabel">
<div class="offcanvas-header my-xl-5 my-4">
<div></div>
<div></div>
</div>
<div class="offcanvas-body pb-5">
<div class="container-fluid h-100 pb-3">
<div class="row gx-5 h-100">
<div class="col-xl-9 h-100">
<div class="d-flex h-100 flex-column justify-content-between">
<div class="row g-2">
<div class="col-xl-4 col-md-6">
<a href="/services/" data-cursor="-opaque -lg">
<div class="menu_card">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/img/development.svg" alt="Разработка сайтов" />
<div class="title">Разработка сайтов</div>
</div>
</a>
</div>
<div class="col-xl-4 col-md-6">
<a href="/services/" data-cursor="-opaque -lg">
<div class="menu_card">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/img/support.svg" alt="Поддержка проектов" />
<div class="title">Поддержка проектов</div>
</div>
</a>
</div>
<div class="col-xl-4 col-md-6">
<a href="/services/" data-cursor="-opaque -lg">
<div class="menu_card">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/img/design.svg" alt="Дизайн и брендинг" />
<div class="title">Дизайн и брендинг</div>
</div>
</a>
</div>
<div class="col-xl-4 col-md-6">
<a href="/services/" data-cursor="-opaque -lg">
<div class="menu_card">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/img/seo.svg" alt="SEO-продвижение" />
<div class="title">SEO-продвижение</div>
</div>
</a>
</div>
<div class="col-xl-4 col-md-6">
<a href="/services/" data-cursor="-opaque -lg">
<div class="menu_card">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/img/b24.svg" alt="Лицензирование и ПО" />
<div class="title">Лицензирование и ПО</div>
</div>
</a>
</div>
<div class="col-xl-4 col-md-6">
<a href="/services/" data-cursor="-opaque -lg">
<div class="menu_card">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/img/integration.svg" alt="Веб-интеграции" />
<div class="title">Веб-интеграции</div>
</div>
</a>
</div>
<div class="col-md-6">
<div class="d-flex d-xl-none">
<div class="text-start mt-3" style="font-size: 18px;">
<div id="navbar-collapse-mobile" class="menu-header-menu-container"><ul id="menu-header-menu-1" class="d-flex flex-column rg-10 mb-2"><li class="more_down menu-item menu-item-type-post_type_archive menu-item-object-cases nav-item nav-item-36"><a title="Проекты" href="https://bannikon.ru/cases/" class="nav-link">Проекты</a></li><li class="more_down menu-item menu-item-type-post_type_archive menu-item-object-services nav-item nav-item-37"><a title="Услуги" href="https://bannikon.ru/services/" class="nav-link">Услуги</a></li><li class="more_down d-none menu-item menu-item-type-custom menu-item-object-custom nav-item nav-item-38"><a title="Блог" href="/blog/" class="nav-link">Блог</a></li><li class="more_down menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-375"><a title="О нас" href="https://bannikon.ru/about/" class="nav-link">О нас</a></li><li class="down_side_link menu-item menu-item-type-post_type menu-item-object-page nav-item nav-item-147"><a title="Контакты" href="https://bannikon.ru/contacts/" class="nav-link">Контакты</a></li></ul></div> <ul class="list-unstyled d-flex flex-column rg-10">
<li><a href="/events/" class="nav-link" data-cursor="-opaque">Мероприятия</a></li>
<li><a href="/credentials/" class="nav-link" data-cursor="-opaque">Реквизиты</a></li>
<li><a href="/policy/" class="nav-link" data-cursor="-opaque">Политика конфиденциальности</a></li>
</ul>
</div>
</div>
</div>
<div class="col-md-6">
<div class="d-block d-xl-none mt-3 mb-5">
<div class="d-flex flex-column rg-12">
<div class="text-start">
<div class="menu_title">Заказать или оценить проект</div>
<a href="mailto:hello@bannikon.ru" class="menu_link" data-cursor="-opaque">hello@bannikon.ru</a>
</div>
<div class="text-start">
<div class="menu_title">Отправить резюме</div>
<a href="mailto:hr@bannikon.ru" class="menu_link" data-cursor="-opaque">hr@bannikon.ru</a>
</div>
<div class="text-start">
<div class="menu_title">Социальные сети</div>
<div class="d-flex align-items-center justify-content-start cg-12">
<a href="https://t.me/seo_bannikon" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/tg.svg" class="icon_st zoom" alt="telegram" />
</a>
<a href="https://vk.me/bannikon" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/vk.svg" class="icon_st zoom" alt="vk" />
</a>
<a href="https://www.behance.net/bannikon" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/img/behance.svg" class="icon_st zoom" alt="behance" />
</a>
<a href="https://workspace.ru/contractors/bannikon/" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/img/workspace.svg" class="icon_st zoom" alt="workspace" />
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<div>
<!-- <div class="h5 mb-4 d-none d-xl-block">Хотите <span class="fire_b">ЗАРЯДИТЬ</span> свой сайт?</div> -->
<a href="javascript:void(0);" data-bs-toggle="modal" data-bs-target="#clientModal" class="btn btn-primary btn-open w-100m">Получить расчет КП</a>
</div>
</div>
</div>
<div class="col-xl-3 h-100 ps-xl-5">
<div class="d-none d-xl-flex flex-column justify-content-between h-100" style="border-left: 4px solid;">
<div class="d-flex flex-column rg-20">
<div class="text-end">
<div class="menu_title">Заказать или оценить проект</div>
<a href="mailto:hello@bannikon.ru" class="menu_link" data-cursor="-opaque">hello@bannikon.ru</a>
</div>
<div class="text-end">
<div class="menu_title">Отправить резюме</div>
<a href="mailto:hr@bannikon.ru" class="menu_link" data-cursor="-opaque">hr@bannikon.ru</a>
</div>
<div class="text-end">
<div class="menu_title">Социальные сети</div>
<div class="d-flex align-items-center justify-content-end cg-12">
<a href="https://t.me/seo_bannikon" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/tg.svg" class="icon_st zoom" alt="telegram" />
</a>
<a href="https://vk.me/bannikon" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/vk.svg" class="icon_st zoom" alt="vk" />
</a>
<a href="https://www.behance.net/bannikon" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/img/behance.svg" class="icon_st zoom" alt="behance" />
</a>
<a href="https://workspace.ru/contractors/bannikon/" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/img/workspace.svg" class="icon_st zoom" alt="workspace" />
</a>
</div>
</div>
</div>
<div class="text-end">
<ul class="list-unstyled d-flex flex-column rg-10">
<li><a href="/events/" class="nav-link" data-cursor="-opaque">Мероприятия</a></li>
<li><a href="/credentials/" class="nav-link" data-cursor="-opaque">Реквизиты</a></li>
<li><a href="/policy/" class="nav-link" data-cursor="-opaque">Политика конфиденциальности</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="clientModal" tabindex="-1" role="dialog" aria-labelledby="clientModalLabel" aria-hidden="true">
<div class="modal-dialog modal-full" role="document">
<div class="modal-content p-rel pb-5 pb-md-1">
<a href="javascript:void(0)" class="btn-close p-abs" data-bs-dismiss="modal" aria-label="Close"></a>
<div class="modal-body p-2 p-md-5">
<div class="d-flex justify-content-between align-items-center mb-4 pb-2">
<div class="title mb-0 text-white">стать клиентом</div>
</div>
<div class="d-flex align-items-center cg-30 mt-3 mb-5">
<a class="d-none d-xl-flex navbar-brand" href="/">
<img src="https://bannikon.ru/wp-content/uploads/2024/05/znak-belyj.svg" alt="Банникон" />
</a>
<img src="https://bannikon.ru/wp-content/uploads/2024/05/bannikon-deskriptor-belyj.svg" class="modal-logo" alt="Банникон"/>
</div>
<div class="wpcf7 no-js" id="wpcf7-f6-o1" lang="ru-RU" dir="ltr" data-wpcf7-id="6">
<div class="screen-reader-response"><p role="status" aria-live="polite" aria-atomic="true"></p> <ul></ul></div>
<form action="/#wpcf7-f6-o1" method="post" class="wpcf7-form init" aria-label="Контактная форма" novalidate="novalidate" data-status="init">
<fieldset class="hidden-fields-container"><input type="hidden" name="_wpcf7" value="6" /><input type="hidden" name="_wpcf7_version" value="6.1.5" /><input type="hidden" name="_wpcf7_locale" value="ru_RU" /><input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f6-o1" /><input type="hidden" name="_wpcf7_container_post" value="0" /><input type="hidden" name="_wpcf7_posted_data_hash" value="" />
</fieldset>
<div class="row g-2">
<div class="col-md-6">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text form-control" id="floatingName" aria-invalid="false" placeholder="Иван Иванов" value="" type="text" name="text-959" />
<label for="floatingName">Ваше имя</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-email wpcf7-text wpcf7-validates-as-email form-control" id="floatingMail" aria-invalid="false" placeholder="name@mail.ru" value="" type="email" name="email-112" />
<label for="floatingMail">Ваш email</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel form-control" id="floatingPhone" aria-required="true" aria-invalid="false" placeholder="+7(999)000-00-00" value="" type="tel" name="tel-960" />
<label for="floatingPhone">Ваш телефон</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating">
<textarea cols="40" rows="10" maxlength="2000" class="wpcf7-form-control wpcf7-textarea form-control" id="floatingMessage" aria-invalid="false" placeholder="..." name="textarea-470"></textarea>
<label for="floatingMessage">Ваше сообщение (не обязательно)</label>
</div>
</div>
<div class="col-md-12 policy_div my-3 text-white">
<span class="wpcf7-form-control wpcf7-acceptance"><span class="wpcf7-list-item"><label><input type="checkbox" name="acceptance-631" value="1" aria-invalid="false" /><span class="wpcf7-list-item-label">Нажимая отправить сообщение, Вы предоставляете <a href="policy" target="_blank">согласие на обработку ваших персональных данных</a> с помощью сервисов веб-аналитики»</span></label></span></span>
</div>
<div class="col-md-12">
<div class="altcha-widget-wrap"><altcha-widget challengeurl="https://bannikon.ru/wp-json/altcha/v1/challenge" strings="{"error":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435 \u0443\u0434\u0430\u043b\u0430\u0441\u044c. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437 \u043f\u043e\u0437\u0436\u0435.","footer":"\u0417\u0430\u0449\u0438\u0449\u0435\u043d\u043e <a href=\"https:\/\/altcha.org\/\" target=\"_blank\">ALTCHA<\/a>","label":"\u042f \u043d\u0435 \u0440\u043e\u0431\u043e\u0442","verified":"\u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e","verifying":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430...","waitAlert":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430... \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435."}" auto="onfocus" hidefooter="1"></altcha-widget><noscript><div class="altcha-no-javascript">This form requires JavaScript!</div></noscript></div><input class="wpcf7-form-control wpcf7-submit has-spinner btn btn-primary btn-open w-100" type="submit" value="Отправить сообщение" />
</div>
</div><div class="wpcf7-response-output" aria-hidden="true"></div>
</form>
</div>
</div>
</div>
</div>
</div>
<div id="viewport">
<main id="scroll-container">
<style>
#viewport{
padding-top: 0px!important;
}
.loader {
bottom: 0;
left:350px;
position: fixed;
right: 0;
top: -80px;
z-index: -3;
transition: opacity 4200ms;
}
.loading .loader {
opacity: 1;
}
.js body {
opacity: 0;
transition: opacity 0.3s;
}
.js body.render {
opacity: 1;
}
footer .px122{
display: none;
}
.home_image {
height: calc(100vh + 122px);
}
.home_image {
margin-top: -122px;
}
.marquee-infinite{
margin-top: -70px;
}
</style>
<div class="home_image">
<div class="container-fluid d-flex align-items-start flex-column justify-content-center h-100 p-rel">
<div class="pt-xl-5">
<div class="box text-white pt-xl-5">
<div class="title">
<span class="block"></span>
<div class="h1">Идея</div>
</div>
<div class="title-2">
<span class="block"></span>
<div class="h1">Реализация</div>
</div>
<div class="role">
<div class="block"></div>
<div class="h1">Продвижение</div>
</div>
</div>
<div class="h1_desc d-flex mt-5 text-white align-items-baseline maindesc_front">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/more_main.svg" alt="" class="me-3" style="height: 28px;" />
Разрабатываем, поддерживаем и продвигаем<br>сайты для развития вашего бизнеса </div>
</div>
<div class="loader"></div>
<div class="d-none">
<div>
<div class="debug">
<svg class="icon icon--debug" title="Toggle Debug Mode"><use xlink:href="#icon-debug"></use></svg>
<div class="timescale-wrap">
<label class="timescale-label">
<span class="timescale-title">Timescale:</span>
<span class="timescale-value">0.6</span>
<input class="timescale-range" type="range" min="0" max="12" step="0.1" value="1">
</label>
</div>
</div>
</div>
<div class="content-outer">
<a href="#" class="replay-animation">повтор</a>
</div>
</div>
<div class="p-abs bottom-15 end-15 pb-5 mb-5">
<a class="brief text-white pb-6 pb-brief d-flex flex-column p-rel" data-cursor="-exclusion -color-official -lg" href="javascript:void(0);" data-bs-toggle="modal" data-bs-target="#clientModal">
ЗАПОЛНИТЬ<br>БРИФ
<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 76 76" fill="none">
<path d="M75.5609 4.35534L63.1427 4.39953L63.2749 53.9396L9.49061 0.155323L0.714913 9.05684L54.4992 62.8411L5.31078 63.0606L5.35529 75.5675L75.8134 75.3168L75.5609 4.35534Z" fill="white"/>
</svg>
</a>
</div>
</div>
</div>
<div class="bg-gradient-line py-3 marquee-infinite">
<div>
<span class="text-white lenta text-nowrap">15+ проектов</span>
<span class="text-white lenta text-nowrap">70+ клиентов</span>
<span class="text-white lenta text-nowrap">10+ специалистов</span>
<span class="text-white lenta text-nowrap">100+ интеграций</span>
<span class="text-white lenta text-nowrap">15+ проектов</span>
<span class="text-white lenta text-nowrap">70+ клиентов</span>
<span class="text-white lenta text-nowrap">10+ специалистов</span>
<span class="text-white lenta text-nowrap">100+ интеграций</span>
<span class="text-white lenta text-nowrap">15+ проектов</span>
<span class="text-white lenta text-nowrap">70+ клиентов</span>
<span class="text-white lenta text-nowrap">10+ специалистов</span>
<span class="text-white lenta text-nowrap">100+ интеграций</span>
</div>
</div>
<div class="container-fluid py-xl-0 py-4">
<div class="row gx-5">
<div class="col-xl-4">
<div class="d-flex flex-column justify-content-between h-100">
<div class="sticky-fix">
<div class="d-flex flex-xl-nowrap flex-wrap align-items-center justify-content-between mb-2">
<div class="d-none d-xl-block">
<div class="big" style="display: flex;align-items: flex-start;row-gap: 15px;flex-direction: column;">
<div>
<svg width="213" height="20" viewBox="0 0 293 27" fill="none" xmlns="http://www.w3.org/2000/svg">
<title id="Банникон">Банникон</title>
<path d="M69.8636 1.25646H53.5432V26.3345H59.2455V17.5315H69.8333C72.2656 17.6948 74.6698 16.9331 76.5642 15.3988C77.3737 14.6225 78.0041 13.679 78.4117 12.6341C78.8192 11.5892 78.9939 10.468 78.9238 9.34858C79.0045 8.22818 78.8346 7.10387 78.4264 6.05733C78.0183 5.0108 77.3821 4.06833 76.5642 3.29839C74.6591 1.81432 72.2726 1.08704 69.8636 1.25646ZM72.7374 12.4644C72.2945 12.8865 71.7639 13.2056 71.1835 13.3991C70.6031 13.5925 69.9872 13.6556 69.3796 13.5837H59.2455V5.21933H69.3796C69.9846 5.14967 70.5976 5.21086 71.1769 5.39875C71.7563 5.58665 72.2884 5.89685 72.7374 6.30836C73.3978 7.17345 73.7253 8.24707 73.6601 9.33346C73.7374 10.4539 73.4101 11.565 72.7374 12.4644Z" fill="url(#paint0_linear_2_684)"/>
<path d="M144.614 1.25649H138.927L131.439 11.4208H129.851V1.25649H124.678V11.4208H123.12L115.588 1.24136H109.704L118.885 12.8123L109.129 26.3345H115.24L123.12 15.4291H124.678V26.3345H129.851V15.4291H131.439L139.32 26.3345H145.673L135.69 12.4191L144.614 1.25649Z" fill="url(#paint1_linear_2_684)"/>
<path d="M187.389 11.3905H177.3V1.25644H172.006V26.3345H177.3V15.429H187.389V26.3345H192.653V1.25644H187.389V11.3905Z" fill="url(#paint2_linear_2_684)"/>
<path d="M34.8788 1.15057L24.6086 26.3345H30.4168L31.7781 22.7951H43.8785L45.2852 26.3345H51.3354L40.8534 1.15057H34.8788ZM33.7444 17.9701L37.2082 9.2427C37.3322 8.93143 37.4383 8.61327 37.5258 8.2898C37.6165 7.91166 37.6922 7.59403 37.7376 7.32177H37.8283C37.8283 7.59403 37.9644 7.89654 38.0552 8.25955C38.1429 8.58792 38.2489 8.9111 38.3728 9.22758L41.8517 17.9701H33.7444Z" fill="url(#paint3_linear_2_684)"/>
<path d="M84.2177 3.38911C83.4146 4.11697 82.7835 5.01441 82.3701 6.01639C81.9568 7.01836 81.7716 8.09975 81.8279 9.18217C81.7644 11.0079 82.3484 12.7973 83.4766 14.2341C84.2291 15.1721 85.2302 15.8797 86.3655 16.276L80.875 26.3496H87.0916L91.9015 17.2743H101.536V26.3496H107.239V1.25642H90.9939C88.5482 1.09643 86.131 1.85719 84.2177 3.38911ZM101.536 5.18905V13.3265H91.4175C90.8039 13.3981 90.182 13.3306 89.5981 13.1289C89.0142 12.9273 88.4832 12.5968 88.0445 12.1619C87.3733 11.301 87.035 10.227 87.0916 9.13679C87.0438 8.08487 87.3828 7.05186 88.0445 6.2327C88.4945 5.8173 89.0286 5.50367 89.6107 5.31315C90.1927 5.12262 90.8089 5.05966 91.4175 5.12854L101.536 5.18905Z" fill="url(#paint4_linear_2_684)"/>
<path d="M211.12 0.757294C203.346 0.757294 197.039 6.61085 197.039 13.7955C197.039 20.9801 203.346 26.8639 211.12 26.8639C218.895 26.8639 225.202 21.0103 225.202 13.8257C225.202 6.6411 218.88 0.757294 211.12 0.757294ZM211.12 21.3884C206.356 21.3884 202.484 17.9852 202.484 13.8257C202.484 9.6662 206.356 6.26297 211.12 6.26297C215.885 6.26297 219.742 9.6662 219.742 13.8257C219.742 17.9852 215.87 21.3884 211.12 21.3884Z" fill="url(#paint5_linear_2_684)"/>
<path d="M252.262 0.757294C244.502 0.757294 238.18 6.61085 238.18 13.7955C238.18 20.9801 244.502 26.8639 252.262 26.8639C260.021 26.8639 266.344 21.0103 266.344 13.8257C266.344 6.6411 260.036 0.757294 252.262 0.757294ZM252.262 21.3884C247.512 21.3884 243.625 17.9852 243.625 13.8257C243.625 9.6662 247.512 6.26297 252.262 6.26297C257.011 6.26297 260.898 9.6662 260.898 13.8257C260.898 17.9852 257.026 21.3884 252.262 21.3884Z" fill="url(#paint6_linear_2_684)"/>
<path d="M152.827 15.4139H166.485V11.451H152.827V5.26469H168.043V1.25644H147.579V26.3345H168.225V22.3413H152.827V15.4139Z" fill="url(#paint7_linear_2_684)"/>
<path d="M18.4069 13.251C19.6301 12.913 20.7385 12.2491 21.6135 11.3301C22.5078 10.3271 22.9699 9.01159 22.8992 7.6697C22.9297 6.66562 22.6887 5.67193 22.2015 4.79342C21.7143 3.91492 20.9991 3.18419 20.1312 2.6783C17.6502 1.33353 14.8404 0.71496 12.024 0.893489C8.96891 0.682571 5.92394 1.42795 3.31172 3.02618C2.34644 3.72341 1.56621 4.64601 1.03897 5.71368C0.511726 6.78135 0.25345 7.96171 0.286626 9.152V9.48476H5.8528V9.16712C5.83915 8.57778 5.96984 7.99404 6.23348 7.46678C6.49711 6.93951 6.88569 6.48472 7.36535 6.14203C8.74619 5.36651 10.3227 5.00917 11.903 5.1135C13.3063 5.01875 14.7087 5.31178 15.9566 5.96052C16.3673 6.2099 16.7043 6.56409 16.9329 6.98673C17.1615 7.40938 17.2735 7.88524 17.2574 8.36547C17.2802 8.83144 17.1903 9.29603 16.9955 9.71991C16.8007 10.1438 16.5066 10.5145 16.1381 10.8007C15.1323 11.4341 13.9509 11.7307 12.7651 11.6477H8.19725V15.6257H12.9769C14.2884 15.5307 15.5987 15.8253 16.7431 16.4727C17.1456 16.7661 17.4693 17.1543 17.6857 17.6029C17.902 18.0514 18.0043 18.5465 17.9834 19.0441C18.0011 19.6108 17.8709 20.1725 17.6057 20.6737C17.3405 21.1749 16.9494 21.5985 16.4709 21.9028C15.1202 22.5647 13.6117 22.8371 12.1147 22.6893C10.4253 22.8008 8.73949 22.4226 7.25947 21.6003C6.72106 21.2322 6.28746 20.7307 6.00111 20.1447C5.71476 19.5587 5.58548 18.9085 5.62592 18.2575V18.0155H0.0143671V18.318C-0.0646936 19.5769 0.183519 20.8348 0.734845 21.9692C1.28617 23.1037 2.12183 24.0761 3.16047 24.7917C5.88724 26.3204 8.99361 27.0393 12.1147 26.8639C15.0983 27.0482 18.0688 26.3372 20.6455 24.822C21.597 24.215 22.3756 23.3725 22.9056 22.376C23.4356 21.3796 23.6991 20.2631 23.6706 19.1348C23.6938 18.4138 23.5718 17.6955 23.312 17.0225C23.0521 16.3496 22.6597 15.7357 22.1581 15.2173C21.1448 14.1847 19.8326 13.4968 18.4069 13.251Z" fill="url(#paint8_linear_2_684)"/>
<path d="M268.598 5.73363H277.446V26.3043H283.269V5.73363H292.118V1.24136H268.598V5.73363Z" fill="url(#paint9_linear_2_684)"/>
<defs>
<linearGradient id="paint0_linear_2_684" x1="66.245" y1="43.0693" x2="66.245" y2="-8.18472" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint1_linear_2_684" x1="127.403" y1="43.0633" x2="127.403" y2="-8.17231" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint2_linear_2_684" x1="182.331" y1="43.0532" x2="182.331" y2="-8.15156" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint3_linear_2_684" x1="37.9738" y1="43.1238" x2="37.9738" y2="-8.29714" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint4_linear_2_684" x1="94.0587" y1="43.0923" x2="94.0587" y2="-8.18605" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint5_linear_2_684" x1="211.122" y1="44.2682" x2="211.122" y2="-9.03655" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint6_linear_2_684" x1="252.264" y1="44.2682" x2="252.264" y2="-9.03655" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint7_linear_2_684" x1="157.903" y1="43.0532" x2="157.903" y2="-8.15156" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint8_linear_2_684" x1="11.8383" y1="44.2485" x2="11.8383" y2="-8.90817" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint9_linear_2_684" x1="280.359" y1="43.0129" x2="280.359" y2="-8.16096" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
</defs>
</svg>
</div>
<div>
<svg width="392" height="44" viewBox="0 0 392 44" class="" fill="none" xmlns="http://www.w3.org/2000/svg">
<title id="Банникон">Банникон</title>
<filter id="no-blur">
<feGaussianBlur stdDeviation="0.1" />
</filter>
<g class="solid">
<path d="M129.739 17.0766H111.165V0.665497H101.424V43.3345H111.165V25.6377H129.739V43.3345H139.434V0.665497H129.739V17.0766Z" fill="url(#paint0_linear_2_685)"/>
<path d="M180.818 17.0766H162.243V0.665497H152.518V43.3345H162.243V25.6377H180.818V43.3345H190.513V0.665497H180.818V17.0766Z" fill="url(#paint1_linear_2_685)"/>
<path d="M215.637 24.8511C215.213 25.562 214.82 26.3637 214.457 27.0897C214.094 27.8157 213.791 28.6022 213.549 29.1316H213.262C213.262 28.4056 213.262 27.6191 213.262 26.6662C213.262 25.7133 213.262 24.9419 213.262 24.2159V0.665497H203.536V43.3345H214.048L229.93 19.0429C230.35 18.3424 230.734 17.6204 231.08 16.88C231.397 16.1994 231.715 15.4885 232.063 14.7776H232.32C232.32 15.5036 232.32 16.2901 232.32 17.243C232.32 18.1959 232.32 18.9673 232.32 19.6782V43.3345H242.061V0.665497H231.473L215.637 24.8511Z" fill="url(#paint2_linear_2_685)"/>
<path d="M294.803 0.665497H283.035L267.819 17.364H264.854V0.665497H255.114V43.3345H264.854V25.8343H268.484L283.746 43.3345H296.073L276.077 20.8126L294.803 0.665497Z" fill="url(#paint3_linear_2_685)"/>
<path d="M381.562 0.665497V17.0766H362.988V0.665497H353.248V43.3345H362.988V25.6377H381.562V43.3345H391.258V0.665497H381.562Z" fill="url(#paint4_linear_2_685)"/>
<path d="M66.0453 0.468933L48.5149 43.3345H58.4372L60.827 37.2843H81.2767L83.6665 43.3345H94.0879L76.2701 0.468933H66.0453ZM64.0941 29.0561L70.0082 14.1726C70.2181 13.6395 70.3949 13.094 70.5376 12.5391C70.704 11.8887 70.8401 11.3441 70.9157 10.9055H71.1729L71.5661 12.4181C71.7133 12.9766 71.89 13.5269 72.0955 14.0667L78.0247 28.9804L64.0941 29.0561Z" fill="url(#paint5_linear_2_685)"/>
<path d="M27.9747 15.9725H9.99056V9.16601H31.9981C34.2421 9.15004 36.3887 8.24741 37.9698 6.65498C39.5509 5.06255 40.4382 2.90953 40.4381 0.665497H0.249756V43.3345H27.9747C33.0166 43.3345 36.8836 42.1395 39.576 39.7497C40.9445 38.475 42.0146 36.9138 42.7101 35.1777C43.4056 33.4416 43.7092 31.5734 43.5994 29.7064C43.6958 27.8409 43.3859 25.9767 42.6913 24.2426C41.9966 22.5086 40.9337 20.9461 39.576 19.6631C36.8988 17.1976 33.0267 15.9725 27.9747 15.9725ZM32.6637 33.5785C31.0522 34.715 29.0932 35.2503 27.1277 35.0911H9.99056V24.5032H27.1277C29.0792 24.3307 31.0313 24.8267 32.6637 25.9099C33.2158 26.3742 33.6572 26.9561 33.9556 27.613C34.2539 28.2698 34.4017 28.9851 34.388 29.7064C34.4131 30.4403 34.2709 31.1704 33.9722 31.8413C33.6735 32.5121 33.226 33.1062 32.6637 33.5785Z" fill="url(#paint6_linear_2_685)"/>
<path d="M322.603 0C309.505 0 298.841 9.86181 298.841 21.9924C298.841 34.1231 309.505 44 322.603 44C335.702 44 346.366 34.1231 346.366 21.9924C346.366 9.86181 335.702 0 322.603 0ZM322.603 34.7886C314.572 34.7886 308.038 29.0409 308.038 21.9773C308.038 14.9137 314.572 9.18116 322.603 9.18116C330.635 9.18116 337.169 14.9288 337.169 21.9773C337.169 29.0258 330.635 34.7886 322.603 34.7886Z" fill="url(#paint7_linear_2_685)"/>
<defs>
<linearGradient id="paint0_linear_2_685" x1="120.432" y1="71.7804" x2="120.432" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint1_linear_2_685" x1="171.518" y1="71.7804" x2="171.518" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint2_linear_2_685" x1="222.801" y1="71.7804" x2="222.801" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint3_linear_2_685" x1="275.596" y1="71.7804" x2="275.596" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint4_linear_2_685" x1="372.255" y1="71.7804" x2="372.255" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint5_linear_2_685" x1="71.3046" y1="71.9116" x2="71.3046" y2="-15.612" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint6_linear_2_685" x1="21.9385" y1="71.7804" x2="21.9385" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint7_linear_2_685" x1="322.607" y1="73.3333" x2="322.607" y2="-16.5065" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
</defs>
</g>
<g class="base">
<path d="M129.739 17.0766H111.165V0.665497H101.424V43.3345H111.165V25.6377H129.739V43.3345H139.434V0.665497H129.739V17.0766Z" fill="url(#paint0_linear_2_685)"/>
<path d="M180.818 17.0766H162.243V0.665497H152.518V43.3345H162.243V25.6377H180.818V43.3345H190.513V0.665497H180.818V17.0766Z" fill="url(#paint1_linear_2_685)"/>
<path d="M215.637 24.8511C215.213 25.562 214.82 26.3637 214.457 27.0897C214.094 27.8157 213.791 28.6022 213.549 29.1316H213.262C213.262 28.4056 213.262 27.6191 213.262 26.6662C213.262 25.7133 213.262 24.9419 213.262 24.2159V0.665497H203.536V43.3345H214.048L229.93 19.0429C230.35 18.3424 230.734 17.6204 231.08 16.88C231.397 16.1994 231.715 15.4885 232.063 14.7776H232.32C232.32 15.5036 232.32 16.2901 232.32 17.243C232.32 18.1959 232.32 18.9673 232.32 19.6782V43.3345H242.061V0.665497H231.473L215.637 24.8511Z" fill="url(#paint2_linear_2_685)"/>
<path d="M294.803 0.665497H283.035L267.819 17.364H264.854V0.665497H255.114V43.3345H264.854V25.8343H268.484L283.746 43.3345H296.073L276.077 20.8126L294.803 0.665497Z" fill="url(#paint3_linear_2_685)"/>
<path d="M381.562 0.665497V17.0766H362.988V0.665497H353.248V43.3345H362.988V25.6377H381.562V43.3345H391.258V0.665497H381.562Z" fill="url(#paint4_linear_2_685)"/>
<path d="M66.0453 0.468933L48.5149 43.3345H58.4372L60.827 37.2843H81.2767L83.6665 43.3345H94.0879L76.2701 0.468933H66.0453ZM64.0941 29.0561L70.0082 14.1726C70.2181 13.6395 70.3949 13.094 70.5376 12.5391C70.704 11.8887 70.8401 11.3441 70.9157 10.9055H71.1729L71.5661 12.4181C71.7133 12.9766 71.89 13.5269 72.0955 14.0667L78.0247 28.9804L64.0941 29.0561Z" fill="url(#paint5_linear_2_685)"/>
<path d="M27.9747 15.9725H9.99056V9.16601H31.9981C34.2421 9.15004 36.3887 8.24741 37.9698 6.65498C39.5509 5.06255 40.4382 2.90953 40.4381 0.665497H0.249756V43.3345H27.9747C33.0166 43.3345 36.8836 42.1395 39.576 39.7497C40.9445 38.475 42.0146 36.9138 42.7101 35.1777C43.4056 33.4416 43.7092 31.5734 43.5994 29.7064C43.6958 27.8409 43.3859 25.9767 42.6913 24.2426C41.9966 22.5086 40.9337 20.9461 39.576 19.6631C36.8988 17.1976 33.0267 15.9725 27.9747 15.9725ZM32.6637 33.5785C31.0522 34.715 29.0932 35.2503 27.1277 35.0911H9.99056V24.5032H27.1277C29.0792 24.3307 31.0313 24.8267 32.6637 25.9099C33.2158 26.3742 33.6572 26.9561 33.9556 27.613C34.2539 28.2698 34.4017 28.9851 34.388 29.7064C34.4131 30.4403 34.2709 31.1704 33.9722 31.8413C33.6735 32.5121 33.226 33.1062 32.6637 33.5785Z" fill="url(#paint6_linear_2_685)"/>
<path d="M322.603 0C309.505 0 298.841 9.86181 298.841 21.9924C298.841 34.1231 309.505 44 322.603 44C335.702 44 346.366 34.1231 346.366 21.9924C346.366 9.86181 335.702 0 322.603 0ZM322.603 34.7886C314.572 34.7886 308.038 29.0409 308.038 21.9773C308.038 14.9137 314.572 9.18116 322.603 9.18116C330.635 9.18116 337.169 14.9288 337.169 21.9773C337.169 29.0258 330.635 34.7886 322.603 34.7886Z" fill="url(#paint7_linear_2_685)"/>
<defs>
<linearGradient id="paint0_linear_2_685" x1="120.432" y1="71.7804" x2="120.432" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint1_linear_2_685" x1="171.518" y1="71.7804" x2="171.518" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint2_linear_2_685" x1="222.801" y1="71.7804" x2="222.801" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint3_linear_2_685" x1="275.596" y1="71.7804" x2="275.596" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint4_linear_2_685" x1="372.255" y1="71.7804" x2="372.255" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint5_linear_2_685" x1="71.3046" y1="71.9116" x2="71.3046" y2="-15.612" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint6_linear_2_685" x1="21.9385" y1="71.7804" x2="21.9385" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint7_linear_2_685" x1="322.607" y1="73.3333" x2="322.607" y2="-16.5065" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
</defs>
</g>
<g class="top">
<path d="M129.739 17.0766H111.165V0.665497H101.424V43.3345H111.165V25.6377H129.739V43.3345H139.434V0.665497H129.739V17.0766Z" fill="url(#paint0_linear_2_685)"/>
<path d="M180.818 17.0766H162.243V0.665497H152.518V43.3345H162.243V25.6377H180.818V43.3345H190.513V0.665497H180.818V17.0766Z" fill="url(#paint1_linear_2_685)"/>
<path d="M215.637 24.8511C215.213 25.562 214.82 26.3637 214.457 27.0897C214.094 27.8157 213.791 28.6022 213.549 29.1316H213.262C213.262 28.4056 213.262 27.6191 213.262 26.6662C213.262 25.7133 213.262 24.9419 213.262 24.2159V0.665497H203.536V43.3345H214.048L229.93 19.0429C230.35 18.3424 230.734 17.6204 231.08 16.88C231.397 16.1994 231.715 15.4885 232.063 14.7776H232.32C232.32 15.5036 232.32 16.2901 232.32 17.243C232.32 18.1959 232.32 18.9673 232.32 19.6782V43.3345H242.061V0.665497H231.473L215.637 24.8511Z" fill="url(#paint2_linear_2_685)"/>
<path d="M294.803 0.665497H283.035L267.819 17.364H264.854V0.665497H255.114V43.3345H264.854V25.8343H268.484L283.746 43.3345H296.073L276.077 20.8126L294.803 0.665497Z" fill="url(#paint3_linear_2_685)"/>
<path d="M381.562 0.665497V17.0766H362.988V0.665497H353.248V43.3345H362.988V25.6377H381.562V43.3345H391.258V0.665497H381.562Z" fill="url(#paint4_linear_2_685)"/>
<path d="M66.0453 0.468933L48.5149 43.3345H58.4372L60.827 37.2843H81.2767L83.6665 43.3345H94.0879L76.2701 0.468933H66.0453ZM64.0941 29.0561L70.0082 14.1726C70.2181 13.6395 70.3949 13.094 70.5376 12.5391C70.704 11.8887 70.8401 11.3441 70.9157 10.9055H71.1729L71.5661 12.4181C71.7133 12.9766 71.89 13.5269 72.0955 14.0667L78.0247 28.9804L64.0941 29.0561Z" fill="url(#paint5_linear_2_685)"/>
<path d="M27.9747 15.9725H9.99056V9.16601H31.9981C34.2421 9.15004 36.3887 8.24741 37.9698 6.65498C39.5509 5.06255 40.4382 2.90953 40.4381 0.665497H0.249756V43.3345H27.9747C33.0166 43.3345 36.8836 42.1395 39.576 39.7497C40.9445 38.475 42.0146 36.9138 42.7101 35.1777C43.4056 33.4416 43.7092 31.5734 43.5994 29.7064C43.6958 27.8409 43.3859 25.9767 42.6913 24.2426C41.9966 22.5086 40.9337 20.9461 39.576 19.6631C36.8988 17.1976 33.0267 15.9725 27.9747 15.9725ZM32.6637 33.5785C31.0522 34.715 29.0932 35.2503 27.1277 35.0911H9.99056V24.5032H27.1277C29.0792 24.3307 31.0313 24.8267 32.6637 25.9099C33.2158 26.3742 33.6572 26.9561 33.9556 27.613C34.2539 28.2698 34.4017 28.9851 34.388 29.7064C34.4131 30.4403 34.2709 31.1704 33.9722 31.8413C33.6735 32.5121 33.226 33.1062 32.6637 33.5785Z" fill="url(#paint6_linear_2_685)"/>
<path d="M322.603 0C309.505 0 298.841 9.86181 298.841 21.9924C298.841 34.1231 309.505 44 322.603 44C335.702 44 346.366 34.1231 346.366 21.9924C346.366 9.86181 335.702 0 322.603 0ZM322.603 34.7886C314.572 34.7886 308.038 29.0409 308.038 21.9773C308.038 14.9137 314.572 9.18116 322.603 9.18116C330.635 9.18116 337.169 14.9288 337.169 21.9773C337.169 29.0258 330.635 34.7886 322.603 34.7886Z" fill="url(#paint7_linear_2_685)"/>
<defs>
<linearGradient id="paint0_linear_2_685" x1="120.432" y1="71.7804" x2="120.432" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint1_linear_2_685" x1="171.518" y1="71.7804" x2="171.518" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint2_linear_2_685" x1="222.801" y1="71.7804" x2="222.801" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint3_linear_2_685" x1="275.596" y1="71.7804" x2="275.596" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint4_linear_2_685" x1="372.255" y1="71.7804" x2="372.255" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint5_linear_2_685" x1="71.3046" y1="71.9116" x2="71.3046" y2="-15.612" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint6_linear_2_685" x1="21.9385" y1="71.7804" x2="21.9385" y2="-15.3417" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
<linearGradient id="paint7_linear_2_685" x1="322.607" y1="73.3333" x2="322.607" y2="-16.5065" gradientUnits="userSpaceOnUse">
<stop stop-color="#15A8C8"/>
<stop offset="0.22" stop-color="#13A1C4"/>
<stop offset="0.56" stop-color="#0C8DBA"/>
<stop offset="0.95" stop-color="#026DA8"/>
<stop offset="1" stop-color="#0068A6"/>
</linearGradient>
</defs>
</g>
</svg>
</div>
</div>
<style>
.big .top path {
-webkit-animation: draw-short 60s linear infinite;
-moz-animation: draw-short 60s linear infinite;
animation: draw-short 60s linear infinite;
stroke-dasharray: 100;
stroke-width: 1;
stroke: #fff;
filter: url(#blur);
}
.big .base path {
-webkit-animation: draw-long 60s linear infinite;
-moz-animation: draw-long 60s linear infinite;
animation: draw-long 60s linear infinite;
stroke-dashoffset: 0;
stroke-dasharray: 300;
stroke-width: .8;
stroke: #0068A6;
filter: url(#blur);
}
.big .solid path {
opacity: .5;
stroke: #0068A6;
}
@-webkit-keyframes draw-short {
100% {
stroke-dashoffset: 2000;
}
}
@-moz-keyframes draw-short {
100% {
stroke-dashoffset: 2000;
}
}
@keyframes draw-short {
100% {
stroke-dashoffset: 2000;
}
}
@-webkit-keyframes draw-long {
100% {
stroke-dashoffset: 100;
}
}
@-moz-keyframes draw-long {
100% {
stroke-dashoffset: 100;
}
}
@keyframes draw-long {
100% {
stroke-dashoffset: 100;
}
}
</style>
</div>
<div class="d-block d-xl-none">
<img src="/wp-content/uploads/2024/06/zaryazheno-ot-bannikon-sinij.svg" style="width: 100%;margin-bottom: 12px;" />
</div>
</div>
<div class="desc mt-3 mt-xl-4 mb-3">
Среди наших клиентов компании<br>со всей России и государственные организации.<hr>Наиболее часто используемый стек технологий при разработке: </div>
<div class="d-flex flex-wrap align-items-center cg-2 rg-2">
<div class="stack-badge">Дизайн: Figma</div>
<div class="stack-badge">HTML5</div>
<div class="stack-badge">CSS3</div>
<div class="stack-badge">Bootstrap 5</div>
<div class="stack-badge">Javascript</div>
<div class="stack-badge">PHP 8.1+</div>
<div class="stack-badge">БД MySQL</div>
<div class="stack-badge">CMS 1C-Bitrix</div>
<div class="stack-badge">CMS WordPress</div>
</div>
</div>
<a href="/cases/" class="btn btn-primary btn-open w-100 p-rel mt-3 mt-xl-0 z-2">Смотреть все кейсы</a>
</div>
</div>
<div class="col-xl-8">
<div class="row g-2 pt-130">
<div class="col-md-6">
<a href="https://bannikon.ru/cases/altke-ru/" id="#cursor-stick-area_1824" class="zoom p-rel" data-cursor-text="Смотреть" data-cursor="-exclusion -color-official -lg" data-cursor-stick="#cursor-stick-area_1824">
<img src="https://bannikon.ru/wp-content/uploads/2025/08/free_stationery_mockup_1-min-scaled.jpg" class="w-100 h-100 of-cover case_preview br-20" style="filter: brightness(0.45);" /> <img src="https://bannikon.ru/wp-content/uploads/2025/08/logo-3.svg" class="p-abs logo_case" alt="Кейс - Кейс проекта — АлтайКрайЭнерго" />
<div class="about_case">Разработали современный корпоративный сайт с продуманной навигацией и умными формами для всех поколений.</div>
</a>
</div>
<div class="col-md-6">
<a href="https://bannikon.ru/cases/sculpturesmile/" id="#cursor-stick-area_848" class="zoom p-rel" data-cursor-text="Смотреть" data-cursor="-exclusion -color-official -lg" data-cursor-stick="#cursor-stick-area_848">
<img src="https://bannikon.ru/wp-content/uploads/2024/12/promo-2.jpg" class="w-100 h-100 of-cover case_preview br-20" style="filter: brightness(0.45);" /> <div class="d-none case-time d-flex flex-column justify-content-center rg-10">
60 дней <img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/clock.svg" class="case-mini-time" alt="Кейс за - 60 дней" />
</div>
<div class="about_case">Объединение эстетики и функциональности в новом сайте стоматологии</div>
</a>
</div>
<div class="col-md-6">
<a href="https://bannikon.ru/cases/mymedpharm-info/" id="#cursor-stick-area_766" class="zoom p-rel" data-cursor-text="Смотреть" data-cursor="-exclusion -color-official -lg" data-cursor-stick="#cursor-stick-area_766">
<img src="https://bannikon.ru/wp-content/uploads/2024/12/promo.jpg" class="w-100 h-100 of-cover case_preview br-20" style="filter: brightness(0.45);" /> <img src="https://bannikon.ru/wp-content/uploads/2024/12/fav.svg" class="p-abs logo_case" alt="Кейс - Кейс проекта — МедФарм.Инфо" />
<div class="d-none case-time d-flex flex-column justify-content-center rg-10">
100 дней <img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/clock.svg" class="case-mini-time" alt="Кейс за - 100 дней" />
</div>
<div class="about_case">Новый MyMedPharm — медицинский агрегатор, с которым удобно работать</div>
</a>
</div>
<div class="col-md-6">
<a href="https://bannikon.ru/cases/tosburyatia/" id="#cursor-stick-area_887" class="zoom p-rel" data-cursor-text="Смотреть" data-cursor="-exclusion -color-official -lg" data-cursor-stick="#cursor-stick-area_887">
<img src="https://bannikon.ru/wp-content/uploads/2024/12/promo-3.jpg" class="w-100 h-100 of-cover case_preview br-20" style="filter: brightness(0.45);" /> <div class="d-none case-time d-flex flex-column justify-content-center rg-10">
1 месяц <img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/clock.svg" class="case-mini-time" alt="Кейс за - 1 месяц" />
</div>
<div class="about_case">Воскресили сайт и сделали областной инфоцентр -> тосбурятия.рф</div>
</a>
</div>
</div>
</div>
</div>
</div>
<style>
.event_date{
font-family: 'SuisseIntlM';
font-size: 120px !important;
line-height: 1em;
}
.event_month{
font-size: 72px;
margin-bottom: 10px;
}
.event_time{}
.online_badge{
background: #1a9aaf;
color: #fff;
padding: 2px 10px;
border-radius: 2px;
}
</style>
<div class="d-none container-fluid py-xl-3 py-3">
<div class="row gx-5">
<div class="col-xl-4">
<div class="sticky-fix">
<div class="h3 text-uppercase mb-4">Ивенты</div>
<div class="desc mb-5">Мероприятия от студии, которые нельзя пропускать. Это бесплатно.</div>
</div>
</div>
<div class="col-xl-8 pt-xl-5">
<div class="row g-2 pt-60">
<div class="category-card p-rel" style="background: linear-gradient(166.9deg, #e2205c 44.19%, #07a0cf 112.69%);min-height:400px">
<div class="h4 category-item">
<div class="d-flex cg-20">
<div class="event_date">19</div>
<div class="pt-xl-0 pt-4">
<div class="event_month">июня</div>
<div class="event_time">в 10:00 по МСК</div>
</div>
</div>
<div class="title h4 mb-0">Техно-буст: как поднять <span class="online_badge">онлайн</span> продажи</div>
</div>
<div class="desc-small pb-2">
Узнайте, как получать заявки 24/7. Вебинар для предпринимателей, которые устали терять клиентов и хотят вывести онлайн-продажи на новый уровень.
</div>
<div class="services-list mt-3 mt-xl-0 mb-5">
<ul>
<li>
<a class="text-white cg-10 d-flex align-items-baseline cat-item" href="https://bannikon.ru/events/how-to-up-sales/">
<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.213 1.44443L15.247 1.45498L15.2785 13.2874L2.43246 0.441277L0.33643 2.56735L13.1825 15.4134L1.43413 15.4658L1.44476 18.4531L18.2733 18.3932L18.213 1.44443Z" fill="#fff"></path>
</svg>
Полная программа мероприятия
</a>
</li>
</ul>
</div>
<div class="p-abs start-pro">
<a href="javascript:void(0);" class="text-white" data-cursor="-exclusion -color-official -lg" data-bs-toggle="modal" data-bs-target="#clientRegEventModal">Получить<div>запись</div><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 76 76" fill="none"><path d="M75.5609 4.35534L63.1427 4.39953L63.2749 53.9396L9.49061 0.155323L0.714913 9.05684L54.4992 62.8411L5.31078 63.0606L5.35529 75.5675L75.8134 75.3168L75.5609 4.35534Z" fill="white"></path></svg></a>
</div>
<div class="services-list" style="position: absolute;bottom: 32px;">
<ul><li><a class="services-price text-white cg-20 d-flex align-items-baseline cat-item" href="javascript:void(0)">
БЕСПЛАТНО</a></li></ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container-fluid py-xl-3 py-3">
<div class="row gx-5">
<div class="col-xl-4">
<div class="sticky-fix">
<div class="h3 text-uppercase mb-4">Стоимость услуг</div>
<div class="desc mb-5">Конкретные цены на услуги определяются по запросу заказчика с учетом объема и сложности работы.</div>
</div>
</div>
<div class="col-xl-8 pt-xl-5">
<div class="row g-2 pt-60">
<div class="category-card p-rel" style="background: linear-gradient(166.9deg, #0046FA 53.19%, #0094FF 107.69%);">
<div class="h4 category-item">
<div class="title">Создание лендинга</div></div>
<div class="desc-small mt-3">
Лендинг (landing page) - это веб-страница, предназначенная для стимулирования пользователя к определенному действию, например, покупке товара, регистрации на мероприятие или подписке на услугу. Его задача - максимально эффективно подвести посетителя к целевому действию, используя различные элементы дизайна и убедительный контент.
</div>
<div class="p-abs start-pro">
<a href="javascript:void(0);" class="text-white" data-cursor="-exclusion -color-official -lg" data-bs-toggle="modal" data-bs-target="#clientModal">Заказать<div>разработку</div><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 76 76" fill="none"><path d="M75.5609 4.35534L63.1427 4.39953L63.2749 53.9396L9.49061 0.155323L0.714913 9.05684L54.4992 62.8411L5.31078 63.0606L5.35529 75.5675L75.8134 75.3168L75.5609 4.35534Z" fill="white"></path></svg></a>
</div>
<div class="services-list" style="position: absolute;bottom: 32px;">
<ul><li><a class="services-price text-white cg-20 d-flex align-items-baseline cat-item" href="javascript:void(0)">
от 70 000 рублей</a></li></ul>
</div>
</div>
<div class="category-card p-rel" style="background: linear-gradient(166.9deg, #0046FA 53.19%, #0094FF 107.69%);">
<div class="h4 category-item">
<div class="title">Создание многостраничного интернет-сайта</div></div>
<div class="desc-small mt-3">
Создание многостраничного сайта подразумевает разработку ресурса, состоящего из нескольких страниц, что позволяет предоставлять пользователю больше информации и возможностей взаимодействия. Это может включать в себя визитки, корпоративные сайты, интернет-магазины и информационные порталы, каждый из которых имеет свои особенности и цели.
</div>
<div class="p-abs start-pro">
<a href="javascript:void(0);" class="text-white" data-cursor="-exclusion -color-official -lg" data-bs-toggle="modal" data-bs-target="#clientModal">Заказать<div>разработку</div><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 76 76" fill="none"><path d="M75.5609 4.35534L63.1427 4.39953L63.2749 53.9396L9.49061 0.155323L0.714913 9.05684L54.4992 62.8411L5.31078 63.0606L5.35529 75.5675L75.8134 75.3168L75.5609 4.35534Z" fill="white"></path></svg></a>
</div>
<div class="services-list" style="position: absolute;bottom: 32px;">
<ul><li><a class="services-price text-white cg-20 d-flex align-items-baseline cat-item" href="javascript:void(0)">
от 400 000 рублей</a></li></ul>
</div>
</div>
<div class="category-card p-rel" style="background: linear-gradient(166.9deg, #0094FF 53.19%, #00C51F 107.69%);">
<div class="h4 category-item">
<div class="title">Доработка (модернизация) интернет-сайта</div></div>
<div class="desc-small mt-3">
Доработка (модернизация) сайта - это процесс внесения изменений и дополнений в существующий сайт с целью улучшения его функциональности, удобства использования и внешнего вида. Это может включать обновление дизайна, добавление новых функций, исправление ошибок, улучшение пользовательского опыта и адаптацию под мобильные устройства.
</div>
<div class="p-abs start-pro">
<a href="javascript:void(0);" class="text-white" data-cursor="-exclusion -color-official -lg" data-bs-toggle="modal" data-bs-target="#clientModal">Заказать<div>разработку</div><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 76 76" fill="none"><path d="M75.5609 4.35534L63.1427 4.39953L63.2749 53.9396L9.49061 0.155323L0.714913 9.05684L54.4992 62.8411L5.31078 63.0606L5.35529 75.5675L75.8134 75.3168L75.5609 4.35534Z" fill="white"></path></svg></a>
</div>
<div class="services-list" style="position: absolute;bottom: 32px;">
<ul><li><a class="services-price text-white cg-20 d-flex align-items-baseline cat-item" href="javascript:void(0)">
от 200 000 рублей</a></li></ul>
</div>
</div>
<div class="category-card p-rel" style="background: linear-gradient(166.9deg, #00C51F 53.19%, #007C14 107.69%);">
<div class="h4 category-item">
<div class="title">Продвижение сайта заказчика</div></div>
<div class="desc-small mt-3">
SEO-продвижение (поисковая оптимизация) – это комплекс мер, направленных на улучшение видимости сайта в результатах поиска поисковых систем. Это включает в себя внутреннюю и внешнюю оптимизацию, чтобы повысить позиции сайта по определенным ключевым словам, привлечь целевой трафик и увеличить продажи или посещаемость.
</div>
<div class="p-abs start-pro">
<a href="javascript:void(0);" class="text-white" data-cursor="-exclusion -color-official -lg" data-bs-toggle="modal" data-bs-target="#clientModal">Заказать<div>разработку</div><svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 76 76" fill="none"><path d="M75.5609 4.35534L63.1427 4.39953L63.2749 53.9396L9.49061 0.155323L0.714913 9.05684L54.4992 62.8411L5.31078 63.0606L5.35529 75.5675L75.8134 75.3168L75.5609 4.35534Z" fill="white"></path></svg></a>
</div>
<div class="services-list" style="position: absolute;bottom: 32px;">
<ul><li><a class="services-price text-white cg-20 d-flex align-items-baseline cat-item" href="javascript:void(0)">
от 30 000 рублей/месяц</a></li></ul>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container-fluid py-xl-5 py-3">
<div class="row gx-xl-5">
<div class="col-xl-4 mb-5 mb-md-0">
<div class="sticky-fix">
<div class="h3 text-uppercase mb-4">УСЛУГИ</div>
<div class="desc">
Основная наша специальность — сайты и всё, что с ними связано. </div>
</div>
</div>
<div class="col-xl-8 d-flex flex-column rg-10">
<!-- услуги -->
<div class="category-card loop_card p-rel" style="background: #0094ff;">
<div class="p-abs start-pro">
<a href="javascript:void(0);" class="text-white" data-bs-toggle="modal" data-bs-target="#clientModal" data-cursor="-exclusion -color-official -lg">Начать<div>проект</div>
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 76 76" fill="none">
<path d="M75.5609 4.35534L63.1427 4.39953L63.2749 53.9396L9.49061 0.155323L0.714913 9.05684L54.4992 62.8411L5.31078 63.0606L5.35529 75.5675L75.8134 75.3168L75.5609 4.35534Z" fill="white"/>
</svg>
</a>
</div>
<a class="category-item" href="https://bannikon.ru/type_s/development/">
<div class="title">Web-разработка</div>
</a>
<div class='services-list'>
<ul> <li>
<a class="text-white cg-20 d-flex align-items-baseline cat-item" href=https://bannikon.ru/services/razrabotaem-eksklyuzivnyj-sajt/>
<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.213 1.44443L15.247 1.45498L15.2785 13.2874L2.43246 0.441277L0.33643 2.56735L13.1825 15.4134L1.43413 15.4658L1.44476 18.4531L18.2733 18.3932L18.213 1.44443Z" fill="#fff"></path>
</svg>
Разработаем эксклюзивный сайт </a>
</li>
</ul> </div>
</div>
<div class="category-card loop_card p-rel" style="background: #e52b50;">
<div class="p-abs start-pro">
<a href="javascript:void(0);" class="text-white" data-bs-toggle="modal" data-bs-target="#clientModal" data-cursor="-exclusion -color-official -lg">Начать<div>проект</div>
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 76 76" fill="none">
<path d="M75.5609 4.35534L63.1427 4.39953L63.2749 53.9396L9.49061 0.155323L0.714913 9.05684L54.4992 62.8411L5.31078 63.0606L5.35529 75.5675L75.8134 75.3168L75.5609 4.35534Z" fill="white"/>
</svg>
</a>
</div>
<a class="category-item" href="https://bannikon.ru/type_s/licensing/">
<div class="title">Лицензирование и ПО</div>
</a>
<div class='services-list'>
<ul> <li>
<a class="text-white cg-20 d-flex align-items-baseline cat-item" href=https://bannikon.ru/services/retailcrm/>
<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.213 1.44443L15.247 1.45498L15.2785 13.2874L2.43246 0.441277L0.33643 2.56735L13.1825 15.4134L1.43413 15.4658L1.44476 18.4531L18.2733 18.3932L18.213 1.44443Z" fill="#fff"></path>
</svg>
RetailCRM </a>
</li>
<li>
<a class="text-white cg-20 d-flex align-items-baseline cat-item" href=https://bannikon.ru/services/produkty-1s-bitriks/>
<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.213 1.44443L15.247 1.45498L15.2785 13.2874L2.43246 0.441277L0.33643 2.56735L13.1825 15.4134L1.43413 15.4658L1.44476 18.4531L18.2733 18.3932L18.213 1.44443Z" fill="#fff"></path>
</svg>
CRM Битрикс24 — помогает бизнесу работать </a>
</li>
<li>
<a class="text-white cg-20 d-flex align-items-baseline cat-item" href=https://bannikon.ru/services/hosting-i-vydelennye-servera/>
<svg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.213 1.44443L15.247 1.45498L15.2785 13.2874L2.43246 0.441277L0.33643 2.56735L13.1825 15.4134L1.43413 15.4658L1.44476 18.4531L18.2733 18.3932L18.213 1.44443Z" fill="#fff"></path>
</svg>
Выделенные сервера </a>
</li>
</ul> </div>
</div>
</div>
</div>
</div>
<div class="container-fluid py-xl-5 py-3">
<div class="row gx-xl-5">
<div class="col-xl-4">
<div class="sticky-fix">
<div class="h3 text-uppercase mt-5 mt-md-0 mb-5">О нас</div>
</div>
</div>
<div class="col-xl-8">
<div class="desc">
Наша компания занимается разработкой, проектированием, созданием, модернизацией, технической поддержкой, мониторингом и продвижением сайтов «под ключ».<br>Мы создаём, поддерживаем и продвигаем сайты, обеспечивая успешное развитие бизнеса наших клиентов. Мы отличаемся оперативностью, высоким качеством работы и индивидуальным подходом к клиенту. Благодаря нашему опыту мы гарантируем достижение успеха на просторах интернета и готовы помочь преодолеть любые трудности и препятствия.<br>Наша организация осуществляет деятельность в области информационных технологий (пункт 1.05 Перечня, утвержденного приказом Минцифры России № 449 «Об утверждении перечня видов деятельности в области информационных технологий»).<br>
Примеры реализованных проектов приведены в разделе <a href="/cases/" class="nav-link">«Проекты»</a> </div>
</div>
</div>
</div>
<div class="container-fluid py-5">
<div class="row gx-xl-5">
<div class="col-xl-4">
<div class="sticky-fix">
<div class="h3 text-uppercase mb-3">FAQ</div>
</div>
</div>
<div class="col-xl-8">
<div class="accordion mt-2" id="accordionFaq">
<div class="accordion-item" data-cursor="-color-alt -xl">
<div class="accordion-header">
<a class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse1" aria-expanded="true" aria-controls="collapse1">
Какой стек технологий вы чаще всего используете? </a>
</div>
<div id="collapse1" class="accordion-collapse collapse" data-bs-parent="#accordionFaq">
<div class="accordion-body">
Все индивидуально. Наиболее часто используемый:<br>
1. Дизайн: Figma<br>
2. Вёрстка: HTML 5, CSS 3, Bootstrap v5, JavaScript, jQuery<br>
3. Язык программирования: PHP 8.2+<br>
4. Базы данных: MySQL<br>
5. Система управления контентом (CMS): WordPress / 1С-Битрикс<br> </div>
</div>
</div>
<div class="accordion-item" data-cursor="-color-alt -xl">
<div class="accordion-header">
<a class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse2" aria-expanded="true" aria-controls="collapse2">
Какие гарантии исполнения проекта? </a>
</div>
<div id="collapse2" class="accordion-collapse collapse" data-bs-parent="#accordionFaq">
<div class="accordion-body">
Самой лучшей гарантией студии является портфолио и счастливые клиенты.<br>
<br>
На данный момент раздел "Проекты" нами активно дорабатывается. Скоро будут доступны в кейсы по следующим проектам за 2024 год:<br>
1. МФЦ "МОИ ДОКУМЕНТЫ" https://umfc-no.ru/<br>
2. Сайт для ГУП "МОССВЕТ" https://mossvet.ru/<br>
3. Агрегатор медицинских ресурсов https://mymedpharm.info/<br>
4. Интернет-магазин обувных материалов и фурнитуры https://sbk-g.com/<br>
5. Министерство соцзащиты Сахалинской области https://msz.sakhalin.gov.ru/<br>
6. Интернет-аптека «Мособлмедсервис» https://gosapteka-mo.ru/ и другие проекты<br>
<br>
Также ООО «Банникон» (ИНН 4400019740) и ИП Банников В. М. (ИНН 440119408668) являются активными участниками государственных тендеров и исполнили свыше 50 госконтрактов на общую сумму свыше 10 млн. рублей. Эти данные можно проверить в открытом доступе. </div>
</div>
</div>
<div class="accordion-item" data-cursor="-color-alt -xl">
<div class="accordion-header">
<a class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse3" aria-expanded="true" aria-controls="collapse3">
Вы работаете официально? </a>
</div>
<div id="collapse3" class="accordion-collapse collapse" data-bs-parent="#accordionFaq">
<div class="accordion-body">
Да. Заключаем договор, оплата по безналичному расчёту. Закрывающие документы предоставляем по завершению работ. </div>
</div>
</div>
<div class="accordion-item" data-cursor="-color-alt -xl">
<div class="accordion-header">
<a class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapse4" aria-expanded="true" aria-controls="collapse4">
Возможны ли личные встречи по проекту? </a>
</div>
<div id="collapse4" class="accordion-collapse collapse" data-bs-parent="#accordionFaq">
<div class="accordion-body">
Да, мы проводим очные встречи по согласованию с клиентом. Наиболее распространенной практикой взаимодействия с клиентом является общение в Telegram, по почте и в формате видео-конференц-связи. </div>
</div>
</div>
</div>
</div>
</div>
</div>
<section class="mt-5">
<div class="container-fluid">
<div class="row gx-xl-5">
<div class="col-xl-4">
<div class="d-flex flex-column rg-12 mb-4 mb-xl-0">
<span class="o-title_line">
Хотите
</span>
<span class="o-title_line fire_b">
"ЗАРЯДИТЬ"
</span>
<span class="o-title_line">
свой сайт?
</span>
<span class="o-title_line contact-us">
Свяжитесь с нами
</span>
</div>
</div>
<div class="col-xl-8">
<div class="wpcf7 no-js" id="wpcf7-f1389-o2" lang="ru-RU" dir="ltr" data-wpcf7-id="1389">
<div class="screen-reader-response"><p role="status" aria-live="polite" aria-atomic="true"></p> <ul></ul></div>
<form action="/#wpcf7-f1389-o2" method="post" class="wpcf7-form init" aria-label="Контактная форма" novalidate="novalidate" data-status="init">
<fieldset class="hidden-fields-container"><input type="hidden" name="_wpcf7" value="1389" /><input type="hidden" name="_wpcf7_version" value="6.1.5" /><input type="hidden" name="_wpcf7_locale" value="ru_RU" /><input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f1389-o2" /><input type="hidden" name="_wpcf7_container_post" value="0" /><input type="hidden" name="_wpcf7_posted_data_hash" value="" />
</fieldset>
<div class="row g-2">
<div class="col-md-6 col-12">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text form-control" aria-invalid="false" placeholder="Иван Иванов" value="" type="text" name="text-959" />
<label for="floatingName">Ваше имя</label>
</div>
</div>
<div class="col-md-6 col-12">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-email wpcf7-text wpcf7-validates-as-email form-control" aria-invalid="false" placeholder="name@mail.ru" value="" type="email" name="email-112" />
<label for="floatingMail">Ваш email</label>
</div>
</div>
<div class="col-md-6 col-12">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel form-control" aria-required="true" aria-invalid="false" placeholder="+7(999)000-00-00" value="" type="tel" name="tel-960" />
<label for="floatingPhone">Ваш телефон</label>
</div>
</div>
<div class="col-md-6 col-12">
<div class="form-floating">
<textarea cols="40" rows="10" maxlength="2000" class="wpcf7-form-control wpcf7-textarea form-control" aria-invalid="false" placeholder="..." name="textarea-470"></textarea>
<label for="floatingMessage">Ваше сообщение (не обязательно)</label>
</div>
</div>
<div class="col-md-12 policy_div my-3 text-white">
<span class="wpcf7-form-control wpcf7-acceptance"><span class="wpcf7-list-item"><label><input type="checkbox" name="acceptance-631" value="1" aria-invalid="false" /><span class="wpcf7-list-item-label">Нажимая зарегистрироваться, Вы предоставляете <a href="policy" target="_blank">согласие на обработку ваших персональных данных</a> с помощью сервисов веб-аналитики»</span></label></span></span>
</div>
<div class="mt-2">
<div class="altcha-widget-wrap"><altcha-widget challengeurl="https://bannikon.ru/wp-json/altcha/v1/challenge" strings="{"error":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435 \u0443\u0434\u0430\u043b\u0430\u0441\u044c. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437 \u043f\u043e\u0437\u0436\u0435.","footer":"\u0417\u0430\u0449\u0438\u0449\u0435\u043d\u043e <a href=\"https:\/\/altcha.org\/\" target=\"_blank\">ALTCHA<\/a>","label":"\u042f \u043d\u0435 \u0440\u043e\u0431\u043e\u0442","verified":"\u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e","verifying":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430...","waitAlert":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430... \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435."}" auto="onfocus" hidefooter="1"></altcha-widget><noscript><div class="altcha-no-javascript">This form requires JavaScript!</div></noscript></div><input class="wpcf7-form-control wpcf7-submit has-spinner btn btn-primary btn-open w-100 text-start" type="submit" value="Отправить сообщение" /></div>
</div><div class="wpcf7-response-output" aria-hidden="true"></div>
</form>
</div>
</div>
</div>
</div>
</section>
<script src="https://bannikon.ru/wp-content/themes/bannikon/src/js/demo.js"></script>
<script src="https://bannikon.ru/wp-content/themes/bannikon/src/js/vendor/three.min.js"></script>
<script src="https://bannikon.ru/wp-content/themes/bannikon/src/js/vendor/OrbitControls.js"></script>
<script src="https://bannikon.ru/wp-content/themes/bannikon/src/js/vendor/fast-simplex-noise.js"></script>
<script src="https://bannikon.ru/wp-content/themes/bannikon/src/dist/js/demo-8/index.bundle.js"></script>
<!-- begin footer -->
<footer class="pt-5">
<div class="container-fluid">
<div class="py-2">
<div class="d-flex align-items-center flex-wrap flex-xl-nowrap justify-content-between">
<div class="d-flex flex-wrap flex-xl-nowrap cg-20 align-items-center footer_social">
<a href="mailto:hello@bannikon.ru" class="footer_mail text-white">hello@bannikon.ru</a>
<a href="https://t.me/seo_bannikon" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/tg.svg" class="zoom" alt="telegram">
</a>
<a href="https://wa.me/+79959864454" target="_blank">
<img src="/wp-content/uploads/2025/06/wa.svg" class="zoom" alt="whatsapp" />
</a>
<a href="https://vk.me/bannikon" target="_blank">
<img src="https://bannikon.ru/wp-content/themes/bannikon/src/svg/vk.svg" class="zoom" alt="telegram">
</a>
<!-- Workspace verefication code --> <script type="text/javascript"> (function(){ var WORKSPACE_VERIFICATION_CODE = '467f284066f2e22dd8d99b8fc8e0977d'; })(); </script> <a href="https://workspace.ru/contractors/bannikon/" target="_blank"> <img src="https://workspace.ru/local/tools/verification.php?code=467f284066f2e22dd8d99b8fc8e0977d&type=ver8" alt="Мы на Workspace" width="100" /> </a>
</div>
</div>
</div>
<div class="text-white desc">Общество с ограниченной ответственностью «Банникон», ИНН 4400019740, ОГРН 1244400001878<br>Разработка компьютерного программного обеспечения (62.01)</div>
<div class="sub_footer d-flex flex-wrap flex-xl-nowrap w-100 align-items-center justify-content-between py-md-3 py-0">
<div class="d-flex flex-wrap flex-xl-nowrap align-items-center cg-20">
<img src="https://bannikon.ru/wp-content/uploads/2024/05/znak-belyj.svg" class="d-none d-md-flex copyright_logo" alt="Банникон" />
<ul class="mt-3 mt-xl-0 d-flex cg-20 align-items-center">
<li><a class="text-white footer_link" href="https://bannikon.ru/policy/">Политика конфиденциальности</a></li><li><a class="text-white footer_link" href="https://bannikon.ru/credentials/">Реквизиты</a></li> </ul>
</div>
<div class="mt-3 mt-md-2 mt-xl-0 d-flex align-items-center cg-10 text-white">
© <img src="https://bannikon.ru/wp-content/uploads/2024/05/bannikon-deskriptor-belyj.svg" class="sub_foo_logo" alt="Банникон" />
</div>
</div>
</div>
<div class="px122"></div>
</footer>
</main>
</div>
<script type="speculationrules">
{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/bannikon/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
</script>
<script id="ckyBannerTemplate" type="text/template"><div class="cky-overlay cky-hide"></div><div class="cky-consent-container cky-hide" tabindex="0"><div class="cky-consent-bar" data-cky-tag="notice" style="background-color:#121212;border-color:#2a2a2a"><div class="cky-notice"><p class="cky-title" role="heading" aria-level="1" data-cky-tag="title" style="color:#d0d0d0">Политика конфиденциальности</p><div class="cky-notice-group"><div class="cky-notice-des" data-cky-tag="description" style="color:#d0d0d0"><p class="p1">Наш сайт использует cookie. Используя настоящий сайт, вы предоставляете согласие на <a href="policy" target="_blank">обработку ваших персональных данных</a> с помощью сервисов веб-аналитики»</p> </div><div class="cky-notice-btn-wrapper" data-cky-tag="notice-buttons"> <button class="cky-btn cky-btn-reject" aria-label="Отклонить все" data-cky-tag="reject-button" style="color:#d0d0d0;background-color:transparent;border-color:#d0d0d0">Отклонить все</button> <button class="cky-btn cky-btn-accept" aria-label="Принять все" data-cky-tag="accept-button" style="color:#FFFFFF;background-color:#0e87b8;border-color:#0e87b8">Принять все</button> </div></div></div></div></div><div class="cky-modal" tabindex="0"><div class="cky-preference-center" data-cky-tag="detail" style="color:#d0d0d0;background-color:#121212;border-color:#2a2a2a"><div class="cky-preference-header"><span class="cky-preference-title" role="heading" aria-level="1" data-cky-tag="detail-title" style="color:#d0d0d0">Customise Consent Preferences</span><button class="cky-btn-close" aria-label="[cky_preference_close_label]" data-cky-tag="detail-close"><img src="https://bannikon.ru/wp-content/plugins/cookie-law-info/lite/frontend/images/close.svg" alt="Close"></button></div><div class="cky-preference-body-wrapper"><div class="cky-preference-content-wrapper" data-cky-tag="detail-description" style="color:#d0d0d0"><p>We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.</p><p>The cookies that are categorised as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. </p><p>We also use third-party cookies that help us analyse how you use this website, store your preferences, and provide the content and advertisements that are relevant to you. These cookies will only be stored in your browser with your prior consent.</p><p>You can choose to enable or disable some or all of these cookies but disabling some of them may affect your browsing experience.</p></div><div class="cky-accordion-wrapper" data-cky-tag="detail-categories"><div class="cky-accordion" id="ckyDetailCategorynecessary"> <div class="cky-accordion-item"> <div class="cky-accordion-chevron"><i class="cky-chevron-right"></i></div> <div class="cky-accordion-header-wrapper"> <div class="cky-accordion-header"><button class="cky-accordion-btn" aria-label="Necessary" data-cky-tag="detail-category-title" style="color:#d0d0d0">Necessary</button><span class="cky-always-active">Always Active</span> <div class="cky-switch" data-cky-tag="detail-category-toggle"><input type="checkbox" id="ckySwitchnecessary"></div> </div> <div class="cky-accordion-header-des" data-cky-tag="detail-category-description" style="color:#d0d0d0"> <p>Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.</p></div> </div> </div> <div class="cky-accordion-body"> </div> </div><div class="cky-accordion" id="ckyDetailCategoryfunctional"> <div class="cky-accordion-item"> <div class="cky-accordion-chevron"><i class="cky-chevron-right"></i></div> <div class="cky-accordion-header-wrapper"> <div class="cky-accordion-header"><button class="cky-accordion-btn" aria-label="Functional" data-cky-tag="detail-category-title" style="color:#d0d0d0">Functional</button><span class="cky-always-active">Always Active</span> <div class="cky-switch" data-cky-tag="detail-category-toggle"><input type="checkbox" id="ckySwitchfunctional"></div> </div> <div class="cky-accordion-header-des" data-cky-tag="detail-category-description" style="color:#d0d0d0"> <p>Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.</p></div> </div> </div> <div class="cky-accordion-body"> </div> </div><div class="cky-accordion" id="ckyDetailCategoryanalytics"> <div class="cky-accordion-item"> <div class="cky-accordion-chevron"><i class="cky-chevron-right"></i></div> <div class="cky-accordion-header-wrapper"> <div class="cky-accordion-header"><button class="cky-accordion-btn" aria-label="Analytics" data-cky-tag="detail-category-title" style="color:#d0d0d0">Analytics</button><span class="cky-always-active">Always Active</span> <div class="cky-switch" data-cky-tag="detail-category-toggle"><input type="checkbox" id="ckySwitchanalytics"></div> </div> <div class="cky-accordion-header-des" data-cky-tag="detail-category-description" style="color:#d0d0d0"> <p>Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.</p></div> </div> </div> <div class="cky-accordion-body"> </div> </div><div class="cky-accordion" id="ckyDetailCategoryperformance"> <div class="cky-accordion-item"> <div class="cky-accordion-chevron"><i class="cky-chevron-right"></i></div> <div class="cky-accordion-header-wrapper"> <div class="cky-accordion-header"><button class="cky-accordion-btn" aria-label="Performance" data-cky-tag="detail-category-title" style="color:#d0d0d0">Performance</button><span class="cky-always-active">Always Active</span> <div class="cky-switch" data-cky-tag="detail-category-toggle"><input type="checkbox" id="ckySwitchperformance"></div> </div> <div class="cky-accordion-header-des" data-cky-tag="detail-category-description" style="color:#d0d0d0"> <p>Performance cookies are used to understand and analyse the key performance indexes of the website which helps in delivering a better user experience for the visitors.</p></div> </div> </div> <div class="cky-accordion-body"> </div> </div><div class="cky-accordion" id="ckyDetailCategoryadvertisement"> <div class="cky-accordion-item"> <div class="cky-accordion-chevron"><i class="cky-chevron-right"></i></div> <div class="cky-accordion-header-wrapper"> <div class="cky-accordion-header"><button class="cky-accordion-btn" aria-label="Advertisement" data-cky-tag="detail-category-title" style="color:#d0d0d0">Advertisement</button><span class="cky-always-active">Always Active</span> <div class="cky-switch" data-cky-tag="detail-category-toggle"><input type="checkbox" id="ckySwitchadvertisement"></div> </div> <div class="cky-accordion-header-des" data-cky-tag="detail-category-description" style="color:#d0d0d0"> <p>Advertisement cookies are used to provide visitors with customised advertisements based on the pages you visited previously and to analyse the effectiveness of the ad campaigns.</p></div> </div> </div> <div class="cky-accordion-body"> </div> </div></div></div><div class="cky-footer-wrapper"><span class="cky-footer-shadow"></span><div class="cky-prefrence-btn-wrapper" data-cky-tag="detail-buttons"><button class="cky-btn cky-btn-accept" aria-label="Принять все" data-cky-tag="detail-accept-button" style="color:#FFFFFF;background-color:#0e87b8;border-color:#0e87b8">Принять все</button><button class="cky-btn cky-btn-preferences" aria-label="Save My Preferences" data-cky-tag="detail-save-button" style="color:#d0d0d0;background-color:transparent;border-color:#d0d0d0">Save My Preferences</button><button class="cky-btn cky-btn-reject" aria-label="Отклонить все" data-cky-tag="detail-reject-button" style="color:#d0d0d0;background-color:transparent;border-color:#d0d0d0"> Отклонить все</button></div></div></div></div></script><script async defer type="module" id="altcha-widget-js" src="https://bannikon.ru/wp-content/plugins/altcha-spam-protection/public/altcha.min.js"></script>
<script id="altcha-widget-custom-js" src="https://bannikon.ru/wp-content/plugins/altcha-spam-protection/public/custom.js"></script>
<script id="wp-hooks-js" src="https://bannikon.ru/wp-includes/js/dist/hooks.min.js"></script>
<script id="wp-i18n-js" src="https://bannikon.ru/wp-includes/js/dist/i18n.min.js"></script>
<script id="wp-i18n-js-after">
wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } );
//# sourceURL=wp-i18n-js-after
</script>
<script id="swv-js" src="https://bannikon.ru/wp-content/plugins/contact-form-7/includes/swv/js/index.js"></script>
<script id="contact-form-7-js-translations">
( function( domain, translations ) {
var localeData = translations.locale_data[ domain ] || translations.locale_data.messages;
localeData[""].domain = domain;
wp.i18n.setLocaleData( localeData, domain );
} )( "contact-form-7", {"translation-revision-date":"2026-02-09 17:37:19+0000","generator":"GlotPress\/4.0.3","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","plural-forms":"nplurals=3; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : ((n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14)) ? 1 : 2);","lang":"ru"},"This contact form is placed in the wrong place.":["\u042d\u0442\u0430 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u0430\u044f \u0444\u043e\u0440\u043c\u0430 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0430 \u0432 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435."],"Error:":["\u041e\u0448\u0438\u0431\u043a\u0430:"]}},"comment":{"reference":"includes\/js\/index.js"}} );
//# sourceURL=contact-form-7-js-translations
</script>
<script id="contact-form-7-js-before">
var wpcf7 = {
"api": {
"root": "https:\/\/bannikon.ru\/wp-json\/",
"namespace": "contact-form-7\/v1"
}
};
//# sourceURL=contact-form-7-js-before
</script>
<script id="contact-form-7-js" src="https://bannikon.ru/wp-content/plugins/contact-form-7/includes/js/index.js"></script>
<script id="unisender_form_js-js-extra">
var UNISENDER_AJAX = {"url":"https://bannikon.ru/wp-admin/admin-ajax.php"};
//# sourceURL=unisender_form_js-js-extra
</script>
<script id="unisender_form_js-js" src="https://bannikon.ru/wp-content/plugins/unisender-wordpress-plugin-nov-23/assets/js/unisender.js"></script>
<script id="jquery-js-js" src="https://bannikon.ru/wp-content/themes/bannikon/src/js/jquery.min.js"></script>
<script id="bootstrap-js-js" src="https://bannikon.ru/wp-content/themes/bannikon/src/js/bootstrap.bundle.js"></script>
<script id="owl-js-js" src="https://bannikon.ru/wp-content/themes/bannikon/src/js/owl.carousel.min.js"></script>
<script id="altcha-widget-wp-js" src="https://bannikon.ru/wp-content/plugins/altcha-spam-protection/public/script.js"></script>
<script id="wp-emoji-settings" type="application/json">
{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://bannikon.ru/wp-includes/js/wp-emoji-release.min.js"}}
</script>
<script type="module">
/*! This file is auto-generated */
const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent),o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"),s=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,a){let r;const o=(r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),s=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"});const r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))});
//# sourceURL=https://bannikon.ru/wp-includes/js/wp-emoji-loader.min.js
</script>
<!-- end footer -->
<script type="text/javascript" src="https://bannikon.ru/wp-content/themes/bannikon/src/js/magicmouse-2.0.0.cdn.min.js"></script>
<script type="text/javascript" src="https://bannikon.ru/wp-content/themes/bannikon/src/js/gsap.min.js"></script>
<script type="text/javascript" src="https://bannikon.ru/wp-content/themes/bannikon/src/js/ScrollTrigger.min.js"></script>
<script type="text/javascript" src="https://bannikon.ru/wp-content/themes/bannikon/src/js/locomotive-scroll.min.js"></script>
<script type="text/javascript" src="https://bannikon.ru/wp-content/themes/bannikon/src/js/magic.js"></script>
<script>
'use strict';
console.clear();
class Grain {
constructor(el) {
/**
* Options
* Increase the pattern size if visible pattern
*/
this.patternSize = 150;
this.patternScaleX = 1;
this.patternScaleY = 1;
this.patternRefreshInterval = 3; // 8
this.patternAlpha = 15; // int between 0 and 255,
/**
* Create canvas
*/
this.canvas = el;
this.ctx = this.canvas.getContext('2d');
this.ctx.scale(this.patternScaleX, this.patternScaleY);
/**
* Create a canvas that will be used to generate grain and used as a
* pattern on the main canvas.
*/
this.patternCanvas = document.createElement('canvas');
this.patternCanvas.width = this.patternSize;
this.patternCanvas.height = this.patternSize;
this.patternCtx = this.patternCanvas.getContext('2d');
this.patternData = this.patternCtx.createImageData(this.patternSize, this.patternSize);
this.patternPixelDataLength = this.patternSize * this.patternSize * 4; // rgba = 4
/**
* Prebind prototype function, so later its easier to user
*/
this.resize = this.resize.bind(this);
this.loop = this.loop.bind(this);
this.frame = 0;
window.addEventListener('resize', this.resize);
this.resize();
window.requestAnimationFrame(this.loop);
}
resize() {
this.canvas.width = window.innerWidth * devicePixelRatio;
this.canvas.height = window.innerHeight * devicePixelRatio;
}
update() {
const { patternPixelDataLength, patternData, patternAlpha, patternCtx } = this;
// put a random shade of gray into every pixel of the pattern
for (let i = 0; i < patternPixelDataLength; i += 4) {
// const value = (Math.random() * 255) | 0;
const value = Math.random() * 255;
patternData.data[i] = value;
patternData.data[i + 1] = value;
patternData.data[i + 2] = value;
patternData.data[i + 3] = patternAlpha;
}
patternCtx.putImageData(patternData, 0, 0);
}
draw() {
const { ctx, patternCanvas, canvas, viewHeight } = this;
const { width, height } = canvas;
// clear canvas
ctx.clearRect(0, 0, width, height);
// fill the canvas using the pattern
ctx.fillStyle = ctx.createPattern(patternCanvas, 'repeat');
ctx.fillRect(0, 0, width, height);
}
loop() {
// only update grain every n frames
const shouldDraw = ++this.frame % this.patternRefreshInterval === 0;
if (shouldDraw) {
this.update();
this.draw();
}
window.requestAnimationFrame(this.loop);
}}
/**
* Initiate Grain
*/
const el = document.querySelector('.grain');
const grain = new Grain(el);
</script>
<script>
gsap.registerPlugin(ScrollTrigger);
const scroller = document.querySelector("#scroll-container");
const locoScroll = new LocomotiveScroll({
el: scroller,
smooth: true
});
locoScroll.on("scroll", ScrollTrigger.update);
ScrollTrigger.scrollerProxy(scroller, {
scrollTop(value) {
return arguments.length ? locoScroll.scrollTo(value, 0, 0) : locoScroll.scroll.instance.scroll.y;
},
getBoundingClientRect() {
return {top: 0, left: 0, width: window.innerWidth, height: window.innerHeight};
},
pinType: scroller.style.transform ? "transform" : "fixed"
});
ScrollTrigger.addEventListener("refresh", () => locoScroll.update());
// scrolltrigger for each box
gsap.utils.toArray('.sticky-fix').forEach(box => {
gsap.to(box, {
backgroundColor: 'transparent',
scrollTrigger: {
scroller: scroller,
trigger: box,
start: 'top top',
toggleActions: 'play none none reverse',
pin: box,
}
});
});
ScrollTrigger.refresh();
</script>
<script>
(function(window, document, undefined) {
'use strict';
var navTrigger = document.querySelector('.nav-trigger');
navTrigger.addEventListener('click', function(e) {
e.preventDefault();
this.classList.toggle('is-active');
}, false);
})(window, document);
</script>
<script>
// https://github.com/PavelDoGreat/WebGL-Fluid-Simulation
// https://github.com/PavelDoGreat/WebGL-Fluid-Simulation/blob/master/LICENSE
'use strict';
const canvas = document.getElementsByTagName('canvas')[0];
canvas.width = canvas.clientWidth;
canvas.height = canvas.clientHeight;
let config = {
TEXTURE_DOWNSAMPLE: 1,
DENSITY_DISSIPATION: 0.96,
VELOCITY_DISSIPATION: 0.99,
PRESSURE_DISSIPATION: 0.8,
PRESSURE_ITERATIONS: 50,
CURL: 30,
BLOOM: false,
BACK_COLOR: { r: 13, g: 17, b: 23 },
BLOOM_INTENSITY: 0.1,
BLOOM_THRESHOLD: 0.1,
BLOOM_SOFT_KNEE: 0.1,
SPLAT_RADIUS: 0.0015,
COLORFUL: true,
COLOR_UPDATE_SPEED: 10,
SUNRAYS: true,
SUNRAYS_RESOLUTION: 196,
SUNRAYS_WEIGHT: 0.75,
};
let pointers = [];
let splatStack = [];
const { gl, ext } = getWebGLContext(canvas);
function getWebGLContext(canvas) {
const params = { alpha: false, depth: false, stencil: false, antialias: false };
let gl = canvas.getContext('webgl2', params);
const isWebGL2 = !!gl;
if (!isWebGL2)
gl = canvas.getContext('webgl', params) || canvas.getContext('experimental-webgl', params);
let halfFloat;
let supportLinearFiltering;
if (isWebGL2) {
gl.getExtension('EXT_color_buffer_float');
supportLinearFiltering = gl.getExtension('OES_texture_float_linear');
} else {
halfFloat = gl.getExtension('OES_texture_half_float');
supportLinearFiltering = gl.getExtension('OES_texture_half_float_linear');
}
gl.clearColor(0.0, 0.0, 0.0, 0.0);
const halfFloatTexType = isWebGL2 ? gl.HALF_FLOAT : halfFloat.HALF_FLOAT_OES;
let formatRGBA;
let formatRG;
let formatR;
if (isWebGL2)
{
formatRGBA = getSupportedFormat(gl, gl.RGBA16F, gl.RGBA, halfFloatTexType);
formatRG = getSupportedFormat(gl, gl.RG16F, gl.RG, halfFloatTexType);
formatR = getSupportedFormat(gl, gl.R16F, gl.RED, halfFloatTexType);
} else
{
formatRGBA = getSupportedFormat(gl, gl.RGBA, gl.RGBA, halfFloatTexType);
formatRG = getSupportedFormat(gl, gl.RGBA, gl.RGBA, halfFloatTexType);
formatR = getSupportedFormat(gl, gl.RGBA, gl.RGBA, halfFloatTexType);
}
return {
gl,
ext: {
formatRGBA,
formatRG,
formatR,
halfFloatTexType,
supportLinearFiltering } };
}
function getSupportedFormat(gl, internalFormat, format, type)
{
if (!supportRenderTextureFormat(gl, internalFormat, format, type))
{
switch (internalFormat) {
case gl.R16F:
return getSupportedFormat(gl, gl.RG16F, gl.RG, type);
case gl.RG16F:
return getSupportedFormat(gl, gl.RGBA16F, gl.RGBA, type);
default:
return null;}
}
return {
internalFormat,
format };
}
function supportRenderTextureFormat(gl, internalFormat, format, type) {
let texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, 4, 4, 0, format, type, null);
let fbo = gl.createFramebuffer();
gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
const status = gl.checkFramebufferStatus(gl.FRAMEBUFFER);
if (status != gl.FRAMEBUFFER_COMPLETE)
return false;
return true;
}
function pointerPrototype() {
this.id = -1;
this.x = 0;
this.y = 0;
this.dx = 0;
this.dy = 0;
this.down = false;
this.moved = false;
this.color = [30, 0, 300];
}
pointers.push(new pointerPrototype());
class GLProgram {
constructor(vertexShader, fragmentShader) {
this.uniforms = {};
this.program = gl.createProgram();
gl.attachShader(this.program, vertexShader);
gl.attachShader(this.program, fragmentShader);
gl.linkProgram(this.program);
if (!gl.getProgramParameter(this.program, gl.LINK_STATUS))
throw gl.getProgramInfoLog(this.program);
const uniformCount = gl.getProgramParameter(this.program, gl.ACTIVE_UNIFORMS);
for (let i = 0; i < uniformCount; i++) {
const uniformName = gl.getActiveUniform(this.program, i).name;
this.uniforms[uniformName] = gl.getUniformLocation(this.program, uniformName);
}
}
bind() {
gl.useProgram(this.program);
}}
function compileShader(type, source) {
const shader = gl.createShader(type);
gl.shaderSource(shader, source);
gl.compileShader(shader);
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS))
throw gl.getShaderInfoLog(shader);
return shader;
};
const baseVertexShader = compileShader(gl.VERTEX_SHADER, `
precision highp float;
precision mediump sampler2D;
attribute vec2 aPosition;
varying vec2 vUv;
varying vec2 vL;
varying vec2 vR;
varying vec2 vT;
varying vec2 vB;
uniform vec2 texelSize;
void main () {
vUv = aPosition * 0.5 + 0.5;
vL = vUv - vec2(texelSize.x, 0.0);
vR = vUv + vec2(texelSize.x, 0.0);
vT = vUv + vec2(0.0, texelSize.y);
vB = vUv - vec2(0.0, texelSize.y);
gl_Position = vec4(aPosition, 0.0, 1.0);
}
`);
const clearShader = compileShader(gl.FRAGMENT_SHADER, `
precision highp float;
precision mediump sampler2D;
varying vec2 vUv;
uniform sampler2D uTexture;
uniform float value;
void main () {
gl_FragColor = value * texture2D(uTexture, vUv);
}
`);
const displayShader = compileShader(gl.FRAGMENT_SHADER, `
precision highp float;
precision mediump sampler2D;
varying vec2 vUv;
uniform sampler2D uTexture;
void main () {
gl_FragColor = texture2D(uTexture, vUv);
}
`);
const splatShader = compileShader(gl.FRAGMENT_SHADER, `
precision highp float;
precision mediump sampler2D;
varying vec2 vUv;
uniform sampler2D uTarget;
uniform float aspectRatio;
uniform vec3 color;
uniform vec2 point;
uniform float radius;
void main () {
vec2 p = vUv - point.xy;
p.x *= aspectRatio;
vec3 splat = exp(-dot(p, p) / radius) * color;
vec3 base = texture2D(uTarget, vUv).xyz;
gl_FragColor = vec4(base + splat, 1.0);
}
`);
const advectionManualFilteringShader = compileShader(gl.FRAGMENT_SHADER, `
precision highp float;
precision mediump sampler2D;
varying vec2 vUv;
uniform sampler2D uVelocity;
uniform sampler2D uSource;
uniform vec2 texelSize;
uniform float dt;
uniform float dissipation;
vec4 bilerp (in sampler2D sam, in vec2 p) {
vec4 st;
st.xy = floor(p - 0.5) + 0.5;
st.zw = st.xy + 1.0;
vec4 uv = st * texelSize.xyxy;
vec4 a = texture2D(sam, uv.xy);
vec4 b = texture2D(sam, uv.zy);
vec4 c = texture2D(sam, uv.xw);
vec4 d = texture2D(sam, uv.zw);
vec2 f = p - st.xy;
return mix(mix(a, b, f.x), mix(c, d, f.x), f.y);
}
void main () {
vec2 coord = gl_FragCoord.xy - dt * texture2D(uVelocity, vUv).xy;
gl_FragColor = dissipation * bilerp(uSource, coord);
gl_FragColor.a = 1.0;
}
`);
const advectionShader = compileShader(gl.FRAGMENT_SHADER, `
precision highp float;
precision mediump sampler2D;
varying vec2 vUv;
uniform sampler2D uVelocity;
uniform sampler2D uSource;
uniform vec2 texelSize;
uniform float dt;
uniform float dissipation;
void main () {
vec2 coord = vUv - dt * texture2D(uVelocity, vUv).xy * texelSize;
gl_FragColor = dissipation * texture2D(uSource, coord);
gl_FragColor.a = 1.0;
}
`);
const divergenceShader = compileShader(gl.FRAGMENT_SHADER, `
precision highp float;
precision mediump sampler2D;
varying vec2 vUv;
varying vec2 vL;
varying vec2 vR;
varying vec2 vT;
varying vec2 vB;
uniform sampler2D uVelocity;
vec2 sampleVelocity (in vec2 uv) {
vec2 multiplier = vec2(1.0, 1.0);
if (uv.x < 0.0) { uv.x = 0.0; multiplier.x = -1.0; }
if (uv.x > 1.0) { uv.x = 1.0; multiplier.x = -1.0; }
if (uv.y < 0.0) { uv.y = 0.0; multiplier.y = -1.0; }
if (uv.y > 1.0) { uv.y = 1.0; multiplier.y = -1.0; }
return multiplier * texture2D(uVelocity, uv).xy;
}
void main () {
float L = sampleVelocity(vL).x;
float R = sampleVelocity(vR).x;
float T = sampleVelocity(vT).y;
float B = sampleVelocity(vB).y;
float div = 0.5 * (R - L + T - B);
gl_FragColor = vec4(div, 0.0, 0.0, 1.0);
}
`);
const curlShader = compileShader(gl.FRAGMENT_SHADER, `
precision highp float;
precision mediump sampler2D;
varying vec2 vUv;
varying vec2 vL;
varying vec2 vR;
varying vec2 vT;
varying vec2 vB;
uniform sampler2D uVelocity;
void main () {
float L = texture2D(uVelocity, vL).y;
float R = texture2D(uVelocity, vR).y;
float T = texture2D(uVelocity, vT).x;
float B = texture2D(uVelocity, vB).x;
float vorticity = R - L - T + B;
gl_FragColor = vec4(vorticity, 0.0, 0.0, 1.0);
}
`);
const vorticityShader = compileShader(gl.FRAGMENT_SHADER, `
precision highp float;
precision mediump sampler2D;
varying vec2 vUv;
varying vec2 vT;
varying vec2 vB;
uniform sampler2D uVelocity;
uniform sampler2D uCurl;
uniform float curl;
uniform float dt;
void main () {
float T = texture2D(uCurl, vT).x;
float B = texture2D(uCurl, vB).x;
float C = texture2D(uCurl, vUv).x;
vec2 force = vec2(abs(T) - abs(B), 0.0);
force *= 1.0 / length(force + 0.00001) * curl * C;
vec2 vel = texture2D(uVelocity, vUv).xy;
gl_FragColor = vec4(vel + force * dt, 0.0, 1.0);
}
`);
const pressureShader = compileShader(gl.FRAGMENT_SHADER, `
precision highp float;
precision mediump sampler2D;
varying vec2 vUv;
varying vec2 vL;
varying vec2 vR;
varying vec2 vT;
varying vec2 vB;
uniform sampler2D uPressure;
uniform sampler2D uDivergence;
vec2 boundary (in vec2 uv) {
uv = min(max(uv, 0.0), 1.0);
return uv;
}
void main () {
float L = texture2D(uPressure, boundary(vL)).x;
float R = texture2D(uPressure, boundary(vR)).x;
float T = texture2D(uPressure, boundary(vT)).x;
float B = texture2D(uPressure, boundary(vB)).x;
float C = texture2D(uPressure, vUv).x;
float divergence = texture2D(uDivergence, vUv).x;
float pressure = (L + R + B + T - divergence) * 0.25;
gl_FragColor = vec4(pressure, 0.0, 0.0, 1.0);
}
`);
const gradientSubtractShader = compileShader(gl.FRAGMENT_SHADER, `
precision highp float;
precision mediump sampler2D;
varying vec2 vUv;
varying vec2 vL;
varying vec2 vR;
varying vec2 vT;
varying vec2 vB;
uniform sampler2D uPressure;
uniform sampler2D uVelocity;
vec2 boundary (in vec2 uv) {
uv = min(max(uv, 0.0), 1.0);
return uv;
}
void main () {
float L = texture2D(uPressure, boundary(vL)).x;
float R = texture2D(uPressure, boundary(vR)).x;
float T = texture2D(uPressure, boundary(vT)).x;
float B = texture2D(uPressure, boundary(vB)).x;
vec2 velocity = texture2D(uVelocity, vUv).xy;
velocity.xy -= vec2(R - L, T - B);
gl_FragColor = vec4(velocity, 0.0, 1.0);
}
`);
let textureWidth;
let textureHeight;
let density;
let velocity;
let divergence;
let curl;
let pressure;
initFramebuffers();
const clearProgram = new GLProgram(baseVertexShader, clearShader);
const displayProgram = new GLProgram(baseVertexShader, displayShader);
const splatProgram = new GLProgram(baseVertexShader, splatShader);
const advectionProgram = new GLProgram(baseVertexShader, ext.supportLinearFiltering ? advectionShader : advectionManualFilteringShader);
const divergenceProgram = new GLProgram(baseVertexShader, divergenceShader);
const curlProgram = new GLProgram(baseVertexShader, curlShader);
const vorticityProgram = new GLProgram(baseVertexShader, vorticityShader);
const pressureProgram = new GLProgram(baseVertexShader, pressureShader);
const gradienSubtractProgram = new GLProgram(baseVertexShader, gradientSubtractShader);
function initFramebuffers() {
textureWidth = gl.drawingBufferWidth >> config.TEXTURE_DOWNSAMPLE;
textureHeight = gl.drawingBufferHeight >> config.TEXTURE_DOWNSAMPLE;
const texType = ext.halfFloatTexType;
const rgba = ext.formatRGBA;
const rg = ext.formatRG;
const r = ext.formatR;
density = createDoubleFBO(2, textureWidth, textureHeight, rgba.internalFormat, rgba.format, texType, ext.supportLinearFiltering ? gl.LINEAR : gl.NEAREST);
velocity = createDoubleFBO(0, textureWidth, textureHeight, rg.internalFormat, rg.format, texType, ext.supportLinearFiltering ? gl.LINEAR : gl.NEAREST);
divergence = createFBO(4, textureWidth, textureHeight, r.internalFormat, r.format, texType, gl.NEAREST);
curl = createFBO(5, textureWidth, textureHeight, r.internalFormat, r.format, texType, gl.NEAREST);
pressure = createDoubleFBO(6, textureWidth, textureHeight, r.internalFormat, r.format, texType, gl.NEAREST);
}
function createFBO(texId, w, h, internalFormat, format, type, param) {
gl.activeTexture(gl.TEXTURE0 + texId);
let texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, param);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, param);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
gl.texImage2D(gl.TEXTURE_2D, 0, internalFormat, w, h, 0, format, type, null);
let fbo = gl.createFramebuffer();
gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
gl.viewport(0, 0, w, h);
gl.clear(gl.COLOR_BUFFER_BIT);
return [texture, fbo, texId];
}
function createDoubleFBO(texId, w, h, internalFormat, format, type, param) {
let fbo1 = createFBO(texId, w, h, internalFormat, format, type, param);
let fbo2 = createFBO(texId + 1, w, h, internalFormat, format, type, param);
return {
get read() {
return fbo1;
},
get write() {
return fbo2;
},
swap() {
let temp = fbo1;
fbo1 = fbo2;
fbo2 = temp;
} };
}
const blit = (() => {
gl.bindBuffer(gl.ARRAY_BUFFER, gl.createBuffer());
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, -1, 1, 1, 1, 1, -1]), gl.STATIC_DRAW);
gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, gl.createBuffer());
gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint16Array([0, 1, 2, 0, 2, 3]), gl.STATIC_DRAW);
gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 0, 0);
gl.enableVertexAttribArray(0);
return destination => {
gl.bindFramebuffer(gl.FRAMEBUFFER, destination);
gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_SHORT, 0);
};
})();
let lastTime = Date.now();
multipleSplats(parseInt(Math.random() * 20) + 5);
update();
function update() {
resizeCanvas();
const dt = Math.min((Date.now() - lastTime) / 1000, 0.016);
lastTime = Date.now();
gl.viewport(0, 0, textureWidth, textureHeight);
if (splatStack.length > 0)
multipleSplats(splatStack.pop());
advectionProgram.bind();
gl.uniform2f(advectionProgram.uniforms.texelSize, 1.0 / textureWidth, 1.0 / textureHeight);
gl.uniform1i(advectionProgram.uniforms.uVelocity, velocity.read[2]);
gl.uniform1i(advectionProgram.uniforms.uSource, velocity.read[2]);
gl.uniform1f(advectionProgram.uniforms.dt, dt);
gl.uniform1f(advectionProgram.uniforms.dissipation, config.VELOCITY_DISSIPATION);
blit(velocity.write[1]);
velocity.swap();
gl.uniform1i(advectionProgram.uniforms.uVelocity, velocity.read[2]);
gl.uniform1i(advectionProgram.uniforms.uSource, density.read[2]);
gl.uniform1f(advectionProgram.uniforms.dissipation, config.DENSITY_DISSIPATION);
blit(density.write[1]);
density.swap();
for (let i = 0; i < pointers.length; i++) {
const pointer = pointers[i];
if (pointer.moved) {
splat(pointer.x, pointer.y, pointer.dx, pointer.dy, pointer.color);
pointer.moved = false;
}
}
curlProgram.bind();
gl.uniform2f(curlProgram.uniforms.texelSize, 1.0 / textureWidth, 1.0 / textureHeight);
gl.uniform1i(curlProgram.uniforms.uVelocity, velocity.read[2]);
blit(curl[1]);
vorticityProgram.bind();
gl.uniform2f(vorticityProgram.uniforms.texelSize, 1.0 / textureWidth, 1.0 / textureHeight);
gl.uniform1i(vorticityProgram.uniforms.uVelocity, velocity.read[2]);
gl.uniform1i(vorticityProgram.uniforms.uCurl, curl[2]);
gl.uniform1f(vorticityProgram.uniforms.curl, config.CURL);
gl.uniform1f(vorticityProgram.uniforms.dt, dt);
blit(velocity.write[1]);
velocity.swap();
divergenceProgram.bind();
gl.uniform2f(divergenceProgram.uniforms.texelSize, 1.0 / textureWidth, 1.0 / textureHeight);
gl.uniform1i(divergenceProgram.uniforms.uVelocity, velocity.read[2]);
blit(divergence[1]);
clearProgram.bind();
let pressureTexId = pressure.read[2];
gl.activeTexture(gl.TEXTURE0 + pressureTexId);
gl.bindTexture(gl.TEXTURE_2D, pressure.read[0]);
gl.uniform1i(clearProgram.uniforms.uTexture, pressureTexId);
gl.uniform1f(clearProgram.uniforms.value, config.PRESSURE_DISSIPATION);
blit(pressure.write[1]);
pressure.swap();
pressureProgram.bind();
gl.uniform2f(pressureProgram.uniforms.texelSize, 1.0 / textureWidth, 1.0 / textureHeight);
gl.uniform1i(pressureProgram.uniforms.uDivergence, divergence[2]);
pressureTexId = pressure.read[2];
gl.uniform1i(pressureProgram.uniforms.uPressure, pressureTexId);
gl.activeTexture(gl.TEXTURE0 + pressureTexId);
for (let i = 0; i < config.PRESSURE_ITERATIONS; i++) {
gl.bindTexture(gl.TEXTURE_2D, pressure.read[0]);
blit(pressure.write[1]);
pressure.swap();
}
gradienSubtractProgram.bind();
gl.uniform2f(gradienSubtractProgram.uniforms.texelSize, 1.0 / textureWidth, 1.0 / textureHeight);
gl.uniform1i(gradienSubtractProgram.uniforms.uPressure, pressure.read[2]);
gl.uniform1i(gradienSubtractProgram.uniforms.uVelocity, velocity.read[2]);
blit(velocity.write[1]);
velocity.swap();
gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
displayProgram.bind();
gl.uniform1i(displayProgram.uniforms.uTexture, density.read[2]);
blit(null);
requestAnimationFrame(update);
}
function splat(x, y, dx, dy, color) {
splatProgram.bind();
gl.uniform1i(splatProgram.uniforms.uTarget, velocity.read[2]);
gl.uniform1f(splatProgram.uniforms.aspectRatio, canvas.width / canvas.height);
gl.uniform2f(splatProgram.uniforms.point, x / canvas.width, 1.0 - y / canvas.height);
gl.uniform3f(splatProgram.uniforms.color, dx, -dy, 1.0);
gl.uniform1f(splatProgram.uniforms.radius, config.SPLAT_RADIUS);
blit(velocity.write[1]);
velocity.swap();
gl.uniform1i(splatProgram.uniforms.uTarget, density.read[2]);
gl.uniform3f(splatProgram.uniforms.color, color[0] * 0.3, color[1] * 0.3, color[2] * 0.3);
blit(density.write[1]);
density.swap();
}
function multipleSplats(amount) {
for (let i = 0; i < amount; i++) {
const color = [Math.random() * 10, Math.random() * 10, Math.random() * 10];
const x = canvas.width * Math.random();
const y = canvas.height * Math.random();
const dx = 1000 * (Math.random() - 0.5);
const dy = 1000 * (Math.random() - 0.5);
splat(x, y, dx, dy, color);
}
}
function resizeCanvas() {
if (canvas.width != canvas.clientWidth || canvas.height != canvas.clientHeight) {
canvas.width = canvas.clientWidth;
canvas.height = canvas.clientHeight;
initFramebuffers();
}
}
let count = 0;
let colorArr = [Math.random() + 0.2, Math.random() + 0.2, Math.random() + 0.2];
pointers[0].down = true;
window.addEventListener('mousemove', function (e) {
count++;
count > 25 && (colorArr = [Math.random() + 0.2, Math.random() + 0.2, Math.random() + 0.2], count = 0);
pointers[0].color = colorArr;
pointers[0].moved = pointers[0].down;
pointers[0].dx = (e.x - pointers[0].x) * 10.0;
pointers[0].dy = (e.y - pointers[0].y) * 10.0;
pointers[0].x = e.x;
pointers[0].y = e.y;
});
</script>
<style>
canvas {
width: 100%;
height: 100%;
position: fixed;
z-index: -2;
}
.backdropper{
z-index: -1;
position: fixed;
width: 100%;
height: 100%;
}
</style></body>
<!-- end body -->
</html>
<script>
document.addEventListener('DOMContentLoaded', function() {
// Небольшая задержка для Bootstrap анимации
function updateLocomotiveScroll() {
setTimeout(() => {
if (typeof locoScroll !== 'undefined' && locoScroll && locoScroll.update) {
locoScroll.update();
}
// Альтернативный вариант, если locoScroll глобально недоступен
if (window.locoScroll && window.locoScroll.update) {
window.locoScroll.update();
}
}, 350); // Задержка чуть больше длительности анимации Bootstrap (обычно 300ms)
}
document.querySelectorAll('.accordion-collapse').forEach(el => {
el.addEventListener('shown.bs.collapse', updateLocomotiveScroll);
el.addEventListener('hidden.bs.collapse', updateLocomotiveScroll);
});
});
</script>
<div class="modal fade" id="clientRegEventModal" tabindex="-1" role="dialog" aria-labelledby="clientModalLabel" aria-hidden="true">
<div class="modal-dialog modal-full" role="document">
<div class="modal-content p-rel pb-5 pb-md-1">
<a href="javascript:void(0)" class="btn-close p-abs" data-bs-dismiss="modal" aria-label="Close"></a>
<div class="modal-body p-4 p-md-5">
<div class="d-flex justify-content-between align-items-center mb-4 pb-2">
<div class="title mb-0 text-white">Онлайн-регистрация</div>
</div>
<div class="d-flex align-items-center cg-30 mt-3 mb-3 mb-xl-5">
<a class="navbar-brand" href="javascript:void(0);">
<img src="https://bannikon.ru/wp-content/uploads/2024/05/znak-belyj.svg" alt="Банникон" />
</a>
<img src="https://bannikon.ru/wp-content/uploads/2024/05/bannikon-deskriptor-belyj.svg" class="modal-logo" alt="Банникон"/>
</div>
<div class="event_form_modal">
<div class="wpcf7 no-js" id="wpcf7-f1591-o3" lang="ru-RU" dir="ltr" data-wpcf7-id="1591">
<div class="screen-reader-response"><p role="status" aria-live="polite" aria-atomic="true"></p> <ul></ul></div>
<form action="/#wpcf7-f1591-o3" method="post" class="wpcf7-form init" aria-label="Контактная форма" novalidate="novalidate" data-status="init">
<fieldset class="hidden-fields-container"><input type="hidden" name="_wpcf7" value="1591" /><input type="hidden" name="_wpcf7_version" value="6.1.5" /><input type="hidden" name="_wpcf7_locale" value="ru_RU" /><input type="hidden" name="_wpcf7_unit_tag" value="wpcf7-f1591-o3" /><input type="hidden" name="_wpcf7_container_post" value="0" /><input type="hidden" name="_wpcf7_posted_data_hash" value="" />
</fieldset>
<div class="row g-2">
<div class="col-md-6">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text form-control" id="floatingNm" aria-invalid="false" placeholder="Иван" value="" type="text" name="text-959" />
<label for="floatingNm">Ваше имя</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text form-control" id="floatingFm" aria-invalid="false" placeholder="Иванов" value="" type="text" name="text-958" />
<label for="floatingFm">Ваша фамилия</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email form-control" id="floatingMailm" aria-required="true" aria-invalid="false" placeholder="name@mail.ru" value="" type="email" name="email-112" />
<label for="floatingMailm">Ваш email</label>
</div>
</div>
<div class="col-md-6">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required form-control" id="floatingPhonem" aria-required="true" aria-invalid="false" placeholder="+7(999)000-00-00" value="" type="text" name="text-960" />
<label for="floatingPhonem">Ваш телефон</label>
</div>
</div>
<div class="col-md-12">
<div class="form-floating">
<input size="40" maxlength="400" class="wpcf7-form-control wpcf7-text form-control" id="floatingCm" aria-invalid="false" placeholder="Компания" value="" type="text" name="text-961" />
<label for="floatingCm">Компания</label>
</div>
</div>
<div class="col-md-12 policy_div my-3 text-white">
<span class="wpcf7-form-control wpcf7-acceptance"><span class="wpcf7-list-item"><label><input type="checkbox" name="acceptance-631" value="1" aria-invalid="false" /><span class="wpcf7-list-item-label">Нажимая зарегистрироваться, Вы предоставляете <a href="policy" target="_blank">согласие на обработку ваших персональных данных</a> с помощью сервисов веб-аналитики»</span></label></span></span>
</div>
<div class="col-md-12">
<div class="altcha-widget-wrap"><altcha-widget challengeurl="https://bannikon.ru/wp-json/altcha/v1/challenge" strings="{"error":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0435 \u0443\u0434\u0430\u043b\u0430\u0441\u044c. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437 \u043f\u043e\u0437\u0436\u0435.","footer":"\u0417\u0430\u0449\u0438\u0449\u0435\u043d\u043e <a href=\"https:\/\/altcha.org\/\" target=\"_blank\">ALTCHA<\/a>","label":"\u042f \u043d\u0435 \u0440\u043e\u0431\u043e\u0442","verified":"\u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e","verifying":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430...","waitAlert":"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430... \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435."}" auto="onfocus" hidefooter="1"></altcha-widget><noscript><div class="altcha-no-javascript">This form requires JavaScript!</div></noscript></div><input class="wpcf7-form-control wpcf7-submit has-spinner btn btn-primary btn-open w-100" type="submit" value="Зарегистрироваться" />
</div>
</div><div class="wpcf7-response-output" aria-hidden="true"></div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/suggestions-jquery@latest/dist/css/suggestions.min.css">
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/suggestions-jquery@latest/dist/js/jquery.suggestions.min.js"></script>
<script src="https://unpkg.com/imask"></script>
<script>
var token = "d6857ec94d3ad5ad2d41efc5159a81da053da8a6";
$("#floatingMail").suggestions({
token: token,
type: "EMAIL",
suggest_local: false,
onSelect: function(suggestion) {
console.log(suggestion);
}
});
$("#floatingMailm").suggestions({
token: token,
type: "EMAIL",
suggest_local: false,
onSelect: function(suggestion) {
console.log(suggestion);
}
});
$("#floatingN").suggestions({
token: token,
type: "NAME",
params: {
parts: ["NAME"]
},
});
$("#floatingNm").suggestions({
token: token,
type: "NAME",
params: {
parts: ["NAME"]
},
});
$("#floatingF").suggestions({
token: token,
type: "NAME",
params: {
parts: ["SURNAME"]
},
});
$("#floatingFm").suggestions({
token: token,
type: "NAME",
params: {
parts: ["SURNAME"]
},
});
function join(arr /*, separator */) {
var separator = arguments.length > 1 ? arguments[1] : ", ";
return arr.filter(function(n){return n}).join(separator);
}
function typeDescription(type) {
var TYPES = {
'INDIVIDUAL': 'Индивидуальный предприниматель',
'LEGAL': 'Организация'
}
return TYPES[type];
}
function showSuggestion(suggestion) {
console.log(suggestion);
var data = suggestion.data;
if (!data)
return;
if (data.address) {
var address = "";
if (data.address.data.qc == "0") {
address = join([data.address.data.postal_code, data.address.value]);
} else {
address = data.address.data.source;
}
}
}
$("#floatingC").suggestions({
token: token,
type: "PARTY",
count: 5,
onSelect: showSuggestion
});
$("#floatingCm").suggestions({
token: token,
type: "PARTY",
count: 5,
onSelect: showSuggestion
});
const element = document.getElementById('floatingPhonem');
const element1 = document.getElementById('floatingPhone');
const maskOptions = {
mask: '+{7} (000) 000-00-00'
};
const mask = IMask(element, maskOptions);
const mask1 = IMask(element1, maskOptions);
</script>