It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://akb-b.ru

  1. <!doctype html> <html lang="ru-RU"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script>
  2.    var block_classes = ["content_rb", "cnt32_rl_bg_str", "rl_cnt_bg"];
  3.  
  4.    function addAttrItem(className) {
  5.        if (document.querySelector("." + className) && !block_classes.includes(className)) {
  6.            block_classes.push(className);
  7.        }
  8.    }
  9. </script><script>
  10.                function onErrorPlacing() {
  11.                    if (typeof cachePlacing !== 'undefined' && typeof cachePlacing === 'function' && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  12.                        let errorInfo = [];
  13.                        cachePlacing('low',errorInfo);
  14.                    } else {
  15.                        setTimeout(function () {
  16.                            onErrorPlacing();
  17.                        }, 100)
  18.                    }
  19.                }
  20.                var xhr = new XMLHttpRequest();
  21.                xhr.open('GET',"//newrotatormarch23.bid/1u3hs.json",true);
  22.                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  23.                xhr.onreadystatechange = function() {
  24.                    if (xhr.status != 200) {
  25.                        if (xhr.statusText != 'abort') {
  26.                            onErrorPlacing();
  27.                        }
  28.                    }
  29.                };
  30.                xhr.send();
  31.            </script><script type="text/javascript" src="//progitary.ru/wp-content/1u3hs.js?ver=1.1.2" id="1u3hs-js" async=""></script><script>console.log('reboot ad: nun')</script><script>console.log('ad: nun')</script><script>
  32.                function onErrorPlacing() {
  33.                    if (typeof cachePlacing !== 'undefined' && typeof cachePlacing === 'function' && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  34.                        let errorInfo = [];
  35.                        cachePlacing('low',errorInfo);
  36.                    } else {
  37.                        setTimeout(function () {
  38.                            onErrorPlacing();
  39.                        }, 100)
  40.                    }
  41.                }
  42.                var xhr = new XMLHttpRequest();
  43.                xhr.open('GET',"//newrotatormarch23.bid/1u3hs.min.js",true);
  44.                xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  45.                xhr.onreadystatechange = function() {
  46.                    if (xhr.status != 200) {
  47.                        if (xhr.statusText != 'abort') {
  48.                            onErrorPlacing();
  49.                        }
  50.                    }
  51.                };
  52.                xhr.send();
  53.            </script><script type='text/javascript'> rbConfig={start:performance.now(),rbDomain:'newrotatormarch23.bid',rotator:'1u3hs'};token=localStorage.getItem('1u3hs')||(1e6+'').replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16));rsdfhse=document.createElement('script'); rsdfhse.setAttribute('src','//newrotatormarch23.bid/1u3hs.min.js?'+token);rsdfhse.setAttribute('async','async');rsdfhse.setAttribute('type','text/javascript');document.head.appendChild(rsdfhse); localStorage.setItem('1u3hs', token);</script> <!-- Yandex.RTB --> <script>window.yaContextCb=window.yaContextCb||[]</script> <script src="https://yandex.ru/ads/system/context.js" async></script> <script async src="https://yandex.ru/ads/system/header-bidding.js"></script> <script>
  54. const dcJs = document.createElement(&#039;script&#039;);
  55. dcJs.src = "https://ads.digitalcaramel.com/js/progitary.ru.js?ts="+new Date().getTime();
  56. dcJs.async = true;
  57. document.head.appendChild(dcJs);
  58. </script> <script>window.yaContextCb = window.yaContextCb || [] </script> <script async src="https://yandex.ru/ads/system/context.js"></script> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1'/> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <title>Все об игре на гитаре</title> <meta name="description" content="Все об игре на гитаре"/> <link rel="canonical" href="https://progitary.ru/"/> <meta property="og:locale" content="ru_RU"/> <meta property="og:type" content="website"/> <meta property="og:title" content="Все об игре на гитаре"/> <meta property="og:description" content="Все об игре на гитаре"/> <meta property="og:url" content="https://progitary.ru/"/> <meta property="og:site_name" content="Все об игре на гитаре"/> <meta name="twitter:card" content="summary_large_image"/> <meta name="google-site-verification" content="rmpXXrKGdGfk1KotjclVapBpR4D3QfORplxVhEeKuA4"/> <meta name="yandex-verification" content="6a9490fcc37d029f"/> <style id='wp-block-library-theme-inline-css' type='text/css'> .wp-block-audio :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-audio :where(figcaption){color:#ffffffa6}.wp-block-audio{margin:0 0 1em}.wp-block-code{border:1px solid #ccc;border-radius:4px;font-family:Menlo,Consolas,monaco,monospace;padding:.8em 1em}.wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.wp-block-embed{margin:0 0 1em}.blocks-gallery-caption{color:#555;font-size:13px;text-align:center}.is-dark-theme .blocks-gallery-caption{color:#ffffffa6}:root :where(.wp-block-image figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme :root :where(.wp-block-image figcaption){color:#ffffffa6}.wp-block-image{margin:0 0 1em}.wp-block-pullquote{border-bottom:4px solid;border-top:4px solid;color:currentColor;margin-bottom:1.75em}.wp-block-pullquote cite,.wp-block-pullquote footer,.wp-block-pullquote__citation{color:currentColor;font-size:.8125em;font-style:normal;text-transform:uppercase}.wp-block-quote{border-left:.25em solid;margin:0 0 1.75em;padding-left:1em}.wp-block-quote cite,.wp-block-quote footer{color:currentColor;font-size:.8125em;font-style:normal;position:relative}.wp-block-quote:where(.has-text-align-right){border-left:none;border-right:.25em solid;padding-left:0;padding-right:1em}.wp-block-quote:where(.has-text-align-center){border:none;padding-left:0}.wp-block-quote.is-large,.wp-block-quote.is-style-large,.wp-block-quote:where(.is-style-plain){border:none}.wp-block-search .wp-block-search__label{font-weight:700}.wp-block-search__button{border:1px solid #ccc;padding:.375em .625em}:where(.wp-block-group.has-background){padding:1.25em 2.375em}.wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px}.wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6}.wp-block-video :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-video :where(figcaption){color:#ffffffa6}.wp-block-video{margin:0 0 1em}:root :where(.wp-block-template-part.has-background){margin-bottom:0;margin-top:0;padding:1.25em 2.375em} </style> <style id='classic-theme-styles-inline-css' type='text/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} </style> <style id='global-styles-inline-css' type='text/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,rgba(6,147,227,1) 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,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 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: 19.5px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36.5px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-size--normal: 22px;--wp--preset--font-size--huge: 49.5px;--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 rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}: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;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.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;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='toc-screen-css' href='https://progitary.ru/wp-content/plugins/table-of-contents-plus/screen.min.css' media='all'/> <link rel='stylesheet' id='my-popup-style-css' href='https://progitary.ru/wp-content/plugins/my-popup/assets/public/css/styles.min.css' media='all'/> <link rel='stylesheet' id='google-fonts-css' href='https://fonts.googleapis.com/css?family=Montserrat%3A400%2C400i%2C700&#038;subset=cyrillic&#038;display=swap' media='all'/> <link rel='stylesheet' id='reboot-style-css' href='https://progitary.ru/wp-content/themes/reboot/assets/css/style.min.css' media='all'/> <link rel='stylesheet' id='fancybox-css' href='https://progitary.ru/wp-content/plugins/easy-fancybox/fancybox/1.5.4/jquery.fancybox.min.css' media='screen'/> <style id='fancybox-inline-css' type='text/css'> #fancybox-outer{background:#ffffff}#fancybox-content{background:#ffffff;border-color:#ffffff;color:#000000;}#fancybox-title,#fancybox-title-float-main{color:#fff} </style> <link rel='stylesheet' id='msl-main-css' href='https://progitary.ru/wp-content/plugins/master-slider/public/assets/css/masterslider.main.css' media='all'/> <link rel='stylesheet' id='msl-custom-css' href='https://progitary.ru/wp-content/uploads/master-slider/custom.css' media='all'/> <link rel='stylesheet' id='crb-template-css' href='https://progitary.ru/wp-content/plugins/cherrylink/css/crb-template-simple.css' media='all'/> <link rel='stylesheet' id='crb-template-override-css' href='https://progitary.ru/wp-content/plugins/cherrylink/css/crb-template-admin-options.css' media='all'/> <style id='crb-template-override-inline-css' type='text/css'> .crb-container { display: grid !important; grid-template-columns: 1fr 1fr 1fr !important; grid-column-gap: 20px !important; } @media screen and (max-width: 40em) { .crb-container { grid-template-columns: 1fr 1fr !important; grid-column-gap: 10px !important; } } </style> <script type="text/javascript" src="https://progitary.ru/wp-includes/js/jquery/jquery.min.js" id="jquery-core-js"></script> <style>.pseudo-clearfy-link { color: #008acf; cursor: pointer;}.pseudo-clearfy-link:hover { text-decoration: none;}</style><!-- Varioqub experiments --> <meta name="verify-admitad" content="b3b5fbf643"/> <script src="https://sdk.adlook.tech/inventory/core.js" async type="text/javascript"></script> <script>
  59. (function UTCoreInitialization() {
  60.  if (window.UTInventoryCore) {
  61.    new window.UTInventoryCore({
  62.      type: "sticky",
  63.      host: 548,
  64.      content: false,
  65.      width: 400,
  66.      height: 225,
  67.      playMode: "autoplay",
  68.      align: "right",
  69.      verticalAlign: "bottom",
  70.      openTo: "open-creativeView",
  71.      infinity: true,
  72.      infinityTimer: 1,
  73.      mobile: {
  74.        align: "center",
  75.        verticalAlign: "bottom",
  76.      },
  77.    });
  78.    return;
  79.  }
  80.  setTimeout(UTCoreInitialization, 100);
  81. })();
  82. </script> <script>var ms_grabbing_curosr = 'https://progitary.ru/wp-content/plugins/master-slider/public/assets/css/common/grabbing.cur', ms_grab_curosr = 'https://progitary.ru/wp-content/plugins/master-slider/public/assets/css/common/grab.cur';</script> <meta name="generator" content="MasterSlider 3.10.6 - Responsive Touch Image Slider | avt.li/msf"/> <link rel="preload" href="https://progitary.ru/wp-content/themes/reboot/assets/fonts/wpshop-core.ttf" as="font" crossorigin> <style>::selection, .card-slider__category, .card-slider-container .swiper-pagination-bullet-active, .post-card--grid .post-card__thumbnail:before, .post-card:not(.post-card--small) .post-card__thumbnail a:before, .post-card:not(.post-card--small) .post-card__category, .post-box--high .post-box__category span, .post-box--wide .post-box__category span, .page-separator, .pagination .nav-links .page-numbers:not(.dots):not(.current):before, .btn, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .comment-respond .form-submit input, .page-links__item:hover{background-color:#fc5c00}.entry-image--big .entry-image__body .post-card__category a, .home-text ul:not([class])>li:before, .home-text ul.wp-block-list>li:before, .page-content ul:not([class])>li:before, .page-content ul.wp-block-list>li:before, .taxonomy-description ul:not([class])>li:before, .taxonomy-description ul.wp-block-list>li:before, .widget-area .widget_categories ul.menu li a:before, .widget-area .widget_categories ul.menu li span:before, .widget-area .widget_categories>ul li a:before, .widget-area .widget_categories>ul li span:before, .widget-area .widget_nav_menu ul.menu li a:before, .widget-area .widget_nav_menu ul.menu li span:before, .widget-area .widget_nav_menu>ul li a:before, .widget-area .widget_nav_menu>ul li span:before, .page-links .page-numbers:not(.dots):not(.current):before, .page-links .post-page-numbers:not(.dots):not(.current):before, .pagination .nav-links .page-numbers:not(.dots):not(.current):before, .pagination .nav-links .post-page-numbers:not(.dots):not(.current):before, .entry-image--full .entry-image__body .post-card__category a, .entry-image--fullscreen .entry-image__body .post-card__category a, .entry-image--wide .entry-image__body .post-card__category a{background-color:#fc5c00}.comment-respond input:focus, select:focus, textarea:focus, .post-card--grid.post-card--thumbnail-no, .post-card--standard:after, .post-card--related.post-card--thumbnail-no:hover, .spoiler-box, .btn-primary, .btn-primary:hover, .btn-primary:not(:disabled):not(.disabled).active, .btn-primary:not(:disabled):not(.disabled):active, .show>.btn-primary.dropdown-toggle, .inp:focus, .entry-tag:focus, .entry-tag:hover, .search-screen .search-form .search-field:focus, .entry-content ul:not([class])>li:before, .entry-content ul.wp-block-list>li:before, .text-content ul:not([class])>li:before, .text-content ul.wp-block-list>li:before, .page-content ul:not([class])>li:before, .page-content ul.wp-block-list>li:before, .taxonomy-description ul:not([class])>li:before, .taxonomy-description ul.wp-block-list>li:before, .entry-content blockquote:not(.wpremark), .input:focus, input[type=color]:focus, input[type=date]:focus, input[type=datetime-local]:focus, input[type=datetime]:focus, input[type=email]:focus, input[type=month]:focus, input[type=number]:focus, input[type=password]:focus, input[type=range]:focus, input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=time]:focus, input[type=url]:focus, input[type=week]:focus, select:focus, textarea:focus{border-color:#fc5c00 !important}.post-card--small .post-card__category, .post-card__author:before, .post-card__comments:before, .post-card__date:before, .post-card__like:before, .post-card__views:before, .entry-author:before, .entry-date:before, .entry-time:before, .entry-views:before, .entry-comments:before, .entry-content ol:not([class])>li:before, .entry-content ol.wp-block-list>li:before, .text-content ol:not([class])>li:before, .text-content ol.wp-block-list>li:before, .entry-content blockquote:before, .spoiler-box__title:after, .search-icon:hover:before, .search-form .search-submit:hover:before, .star-rating-item.hover, .comment-list .bypostauthor>.comment-body .comment-author:after, .breadcrumb a, .breadcrumb span, .search-screen .search-form .search-submit:before, .star-rating--score-1:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-2:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-2:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-3:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-4:not(.hover) .star-rating-item:nth-child(4), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(1), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(2), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(3), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(4), .star-rating--score-5:not(.hover) .star-rating-item:nth-child(5){color:#fc5c00}a:hover, a:focus, a:active, .spanlink:hover, .entry-content a:not(.wp-block-button__link):hover, .entry-content a:not(.wp-block-button__link):focus, .entry-content a:not(.wp-block-button__link):active, .top-menu ul li>a:hover, .top-menu ul li>span:hover, .main-navigation ul li a:hover, .main-navigation ul li span:hover, .footer-navigation ul li a:hover, .footer-navigation ul li span:hover, .comment-reply-link:hover, .pseudo-link:hover, .child-categories ul li a:hover{color:#fc5c00}.top-menu>ul>li>a:before, .top-menu>ul>li>span:before{background:#fc5c00}.child-categories ul li a:hover, .post-box--no-thumb a:hover{border-color:#fc5c00}.post-box--card:hover{box-shadow: inset 0 0 0 1px #fc5c00}.post-box--card:hover{-webkit-box-shadow: inset 0 0 0 1px #fc5c00}.main-navigation ul li a, .main-navigation ul li span, .footer-navigation ul li a, .footer-navigation ul li span{font-size:15px;}</style> <style type="text/css" id="wp-custom-css"> .TUNER { width: 100%; margin-top: 20%; position: relative; display: block; } .swal2-header h2 { font-size: 21px; color: #000; } .notes { margin: auto; width: 400px; position: RELATIVE; top: 50%; left: 0; right: 0; text-align: center; } .note { font-size: 90px; font-weight: bold; position: relative; display: inline-block; padding-right: 30px; padding-left: 10px; } .note.active { color: #e74c3c; } .notes-list { overflow: auto; overflow: -moz-scrollbars-none; white-space: nowrap; -ms-overflow-style: none; -webkit-mask-image: -webkit-linear-gradient( left, rgba(255, 255, 255, 0), #fff, rgba(255, 255, 255, 0) ); } .notes-list::-webkit-scrollbar { display: none; } .note { -webkit-tap-highlight-color: transparent; } .note span { position: absolute; right: 0.25em; font-size: 40%; font-weight: normal; } .note-sharp { top: 0.3em; } .note-octave { bottom: 0.3em; } .frequency { font-size: 32px; } .frequency span { font-size: 50%; margin-left: 0.25em; } .meter { /* position: ABSOLUTE; left: 0; right: 0; bottom: 50%; width: 400px; height: 33%; margin: 0 auto 5vh auto;*/ position: ABSOLUTE; left: 0; right: 0; bottom: 50%; width: auto; height: 80%; margin: 0 auto 5vh auto } .meter-pointer { width: 2px; height: 100%; background: #2c3e50; transform: rotate(45deg); transform-origin: bottom; transition: transform 0.5s; position: absolute; right: 50%; } .meter-dot { width: 10px; height: 10px; background: #2c3e50; border-radius: 50%; position: absolute; bottom: -5px; right: 50%; margin-right: -4px; } .meter-scale { width: 1px; height: 100%; transform-origin: bottom; transition: transform 0.2s; box-sizing: border-box; border-top: 10px solid; position: absolute; right: 50%; } .meter-scale-strong { width: 2px; border-top-width: 20px; } .frequency-bars { position: absolute; height: auto; width: 730px; } @media (max-width: 768px) { .meter { width: 100%; } .notes { width: 100%; } } .swal-button { background: #2c3e50; } .a4 { position: relative; margin-top: 25px; /* top: 16px; left: 16px;*/ } .a4 span { color: #e74c3c; } .wp-block-embed iframe { max-width: 100%; height: auto; } </style> <style>.clearfy-cookie { position:fixed; left:0; right:0; bottom:0; padding:12px; color:#555555; background:#ffffff; box-shadow:0 3px 20px -5px rgba(41, 44, 56, 0.2); z-index:9999; font-size: 13px; border-radius: 12px; transition: .3s; }.clearfy-cookie--left { left: 20px; bottom: 20px; right: auto; max-width: 400px; margin-right: 20px; }.clearfy-cookie--right { left: auto; bottom: 20px; right: 20px; max-width: 400px; margin-left: 20px; }.clearfy-cookie.clearfy-cookie-hide { transform: translateY(150%) translateZ(0); opacity: 0; }.clearfy-cookie-container { max-width:1170px; margin:0 auto; text-align:center; }.clearfy-cookie-accept { background:#f9964f; color:#fff; border:0; padding:.2em .8em; margin: 0 0 0 .5em; font-size: 13px; border-radius: 4px; cursor: pointer; }.clearfy-cookie-accept:hover,.clearfy-cookie-accept:focus { opacity: .9; }</style> <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> <link rel="manifest" href="/site.webmanifest"> <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"> <meta name="msapplication-TileColor" content="#da532c"> <meta name="theme-color" content="#ffffff"> <link rel="stylesheet" href="/welcome-pt.css"> </head> <body class="home blog wp-embed-responsive wp-theme-reboot _masterslider _ms_version_3.10.6 sidebar-right"> <div id="page" class="site"> <a class="skip-link screen-reader-text" href="#content"><!--noindex-->Перейти к содержанию<!--/noindex--></a> <div class="search-screen-overlay js-search-screen-overlay"></div> <div class="search-screen js-search-screen"> <form role="search" method="get" class="search-form" action="https://progitary.ru/"> <label> <span class="screen-reader-text"><!--noindex-->Search for:<!--/noindex--></span> <input type="search" class="search-field" placeholder="Поиск…" value="" name="s"> </label> <button type="submit" class="search-submit"></button> </form> </div> <header id="masthead" class="site-header full" itemscope itemtype="http://schema.org/WPHeader"> <div class="site-header-inner fixed"> <div class="humburger js-humburger"><span></span><span></span><span></span></div> <div class="site-branding"> <div class="site-logotype"><img src="https://progitary.ru/wp-content/uploads/2022/01/progitary.ru-crop-3.png" width="333" height="100" alt="Все об игре на гитаре"></div></div><!-- .site-branding --> <div class="header-html-1"> <div class="flat_head_2"></div> </div> <div class="header-html-2"> <div class="flat_head_1"></div> </div> </div> </header><!-- #masthead --> <nav id="site-navigation" class="main-navigation fixed" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div class="main-navigation-inner full"> <div class="menu-pod-shapkoy-container"><ul id="header_menu" class="menu"><li id="menu-item-494" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-494"><a href="https://progitary.ru/vse-o-gitare">Уроки: теория</a> <ul class="sub-menu"> <li id="menu-item-6282" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6282"><a href="https://progitary.ru/akkordy-na-gitare">Аккорды</a></li> <li id="menu-item-6283" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6283"><a href="https://progitary.ru/noty-na-grife-gitary">Ноты на грифе</a></li> <li id="menu-item-6312" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6312"><a href="https://progitary.ru/gammy-na-gitare-dlya-nachinayuschih">Гаммы</a></li> <li id="menu-item-6304" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6304"><a href="https://progitary.ru/pentatonika-na-gitare">Пентатоника</a></li> </ul> </li> <li id="menu-item-6313" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-6313"><a href="#">Уроки: техника</a> <ul class="sub-menu"> <li id="menu-item-6286" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6286"><a href="https://progitary.ru/boy-na-gitare">Бой</a></li> <li id="menu-item-6303" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6303"><a href="https://progitary.ru/perebor-na-gitare">Перебор</a></li> <li id="menu-item-6291" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6291"><a href="https://progitary.ru/barre-na-gitare">Прием баррэ</a></li> <li id="menu-item-6317" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6317"><a href="https://progitary.ru/gitarnye-riffy">Гитарные риффы</a></li> <li id="menu-item-6284" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6284"><a href="https://progitary.ru/kak-nauchitsya-igrat-na-gitare">Как научиться играть с нуля</a></li> </ul> </li> <li id="menu-item-878" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-878"><a href="https://progitary.ru/pro-gitary">Про гитары</a> <ul class="sub-menu"> <li id="menu-item-6309" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-has-children menu-item-6309"><a href="https://progitary.ru/kak-nastroit-gitaru">Настройка</a> <ul class="sub-menu"> <li id="menu-item-6307" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6307"><a href="https://progitary.ru/kak-menyat-struny-na-akusticheskoy-gitare">Как поменять струны</a></li> <li id="menu-item-6308" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6308"><a href="https://progitary.ru/menzura-gitary">Отстройка мензуры</a></li> <li id="menu-item-6310" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6310"><a href="https://progitary.ru/vysota-strun-kak-vystavit-pravilno-i-komfortno-dlya-igry">Высота струн</a></li> <li id="menu-item-6311" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6311"><a href="https://progitary.ru/v-kakuyu-storonu-krutit-anker">Регулировка анкера</a></li> </ul> </li> <li id="menu-item-6305" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6305"><a href="https://progitary.ru/klassicheskaya-akusticheskaya-gitara-otlichiya">Чем классика отличается от акустики</a></li> <li id="menu-item-6306" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6306"><a href="https://progitary.ru/stroenie-i-ustroystvo-gitary">Строение и устройство</a></li> </ul> </li> <li id="menu-item-491" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-491"><a href="https://progitary.ru/taby-i-akkordy">Табы и аккорды</a> <ul class="sub-menu"> <li id="menu-item-1646" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1646"><a href="https://progitary.ru/legkie-pesni-dlya-gitary">Самые легкие песни</a></li> <li id="menu-item-6315" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6315"><a href="https://progitary.ru/pesni-na-odnoy-strune">Песни на одной струне</a></li> <li id="menu-item-6316" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6316"><a href="https://progitary.ru/kuznechik-na-gitare">В траве сидел кузнечик</a></li> </ul> </li> <li id="menu-item-6466" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-has-children menu-item-6466"><a href="https://progitary.ru/poleznye-stati">Полезные статьи</a> <ul class="sub-menu"> <li id="menu-item-6461" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6461"><a href="https://progitary.ru/kak-vybrat-struny-dlya-gitary">Как выбрать струны</a></li> <li id="menu-item-6464" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6464"><a href="https://progitary.ru/chto-nuzhno-dlya-elektrogitary">Что нужно для электрогитары</a></li> <li id="menu-item-6463" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6463"><a href="https://progitary.ru/kakuyu-gitaru-kupit-dlya-nachinayuschih-opredelyaemsya-s-vyborom">Что купить для начинающих</a></li> <li id="menu-item-6462" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-6462"><a href="https://progitary.ru/chto-podarit-gitaristu-25-krutyh-idey">Что подарить гитаристу: 25 крутых идей</a></li> </ul> </li> </ul></div> </div> </nav><!-- #site-navigation --> <div class="mobile-menu-placeholder js-mobile-menu-placeholder"></div> <div id="content" class="site-content fixed"> <div class="site-content-inner"> <div id="primary" class="content-area"> <main id="main" class="site-main"> <div class="section-block section-posts is-show-thumbnails-true"> <div class="post-cards post-cards--standard"> <div class="post-card post-card--standard w-animate" itemscope itemtype="http://schema.org/BlogPosting" data-animate-style="no"> <div class="post-card__thumbnail"><a href="https://progitary.ru/legkie-pesni-dlya-gitary"><img width="870" height="400" src="https://progitary.ru/wp-content/uploads/2022/03/pexels-pixabay-33597-870x400.jpg" class="attachment-reboot_standard size-reboot_standard wp-post-image" alt="Гитарист обложка" itemprop="image" decoding="async" fetchpriority="high"/><span itemprop="articleSection" class="post-card__category">Уроки гитары</span></a></div><div class="post-card__title" itemprop="name"><span itemprop="headline"><a href="https://progitary.ru/legkie-pesni-dlya-gitary">129 самых легких песен на гитаре для начинающих</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-03-24">24.03.2022</time></span><span class="post-card__comments">2</span><span class="post-card__views">638к.</span></div><div class="post-card__description" itemprop="articleBody">Гитара, особенно акустическая – очень популярный инструмент у молодежи. Основная масса берет в руки гитару как раз для того, чтобы научиться играть простые</div> <meta itemprop="author" content="Администратор Progitary.ru"/> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://progitary.ru/legkie-pesni-dlya-gitary" content="129 самых легких песен на гитаре для начинающих"> <meta itemprop="dateModified" content="2024-07-01"> <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://progitary.ru/wp-content/uploads/2022/01/progitary.ru-crop-3.png" alt="Все об игре на гитаре"></div><meta itemprop="name" content="Все об игре на гитаре"><meta itemprop="telephone" content="Все об игре на гитаре"><meta itemprop="address" content="https://progitary.ru"></div> </div> <div class="post-card post-card--standard w-animate" itemscope itemtype="http://schema.org/BlogPosting" data-animate-style="no"> <div class="post-card__thumbnail"><a href="https://progitary.ru/tokiyskiy-gul-na-gitare-prostoy-variant-fingerstayl-versiya-i-akkordy"><img width="870" height="400" src="https://progitary.ru/wp-content/uploads/2022/06/tokiyskiy-gul-870x400.jpg" class="attachment-reboot_standard size-reboot_standard wp-post-image" alt="" itemprop="image" decoding="async"/><span itemprop="articleSection" class="post-card__category">Табы и аккорды</span></a></div><div class="post-card__title" itemprop="name"><span itemprop="headline"><a href="https://progitary.ru/tokiyskiy-gul-na-gitare-prostoy-variant-fingerstayl-versiya-i-akkordy">«Токийский гуль» на гитаре &#8211; простой вариант, фингерстайл версия и аккорды</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-06-21">21.06.2022</time></span><span class="post-card__comments">1</span><span class="post-card__views">150к.</span></div><div class="post-card__description" itemprop="articleBody">Токийский гуль &#8211; информация о аниме и о разборе Токийский гуль &#8211; одно из самых популярных аниме последнего времени, нарисованное по одноименной манге.</div> <meta itemprop="author" content="Доработки"/> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://progitary.ru/tokiyskiy-gul-na-gitare-prostoy-variant-fingerstayl-versiya-i-akkordy" content="«Токийский гуль» на гитаре &#8211; простой вариант, фингерстайл версия и аккорды"> <meta itemprop="dateModified" content="2022-07-04"> <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://progitary.ru/wp-content/uploads/2022/01/progitary.ru-crop-3.png" alt="Все об игре на гитаре"></div><meta itemprop="name" content="Все об игре на гитаре"><meta itemprop="telephone" content="Все об игре на гитаре"><meta itemprop="address" content="https://progitary.ru"></div> </div> <div class="post-card post-card--standard w-animate" itemscope itemtype="http://schema.org/BlogPosting" data-animate-style="no"> <div class="post-card__thumbnail"><a href="https://progitary.ru/boy-na-gitare"><img width="800" height="400" src="https://progitary.ru/wp-content/uploads/2022/02/boy-3-800x400.jpg" class="attachment-reboot_standard size-reboot_standard wp-post-image" alt="Бой-3" itemprop="image" decoding="async"/><span itemprop="articleSection" class="post-card__category">Уроки гитары</span></a></div><div class="post-card__title" itemprop="name"><span itemprop="headline"><a href="https://progitary.ru/boy-na-gitare">Бой на гитаре для начинающих: все секреты</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-02-20">20.02.2022</time></span><span class="post-card__comments">0</span><span class="post-card__views">82.4к.</span></div><div class="post-card__description" itemprop="articleBody">Некоторые музыканты считают, бой – прием, с которым нужно овладеть в первую очередь начинающему музыканту. В действительности осваивать бой можно одновременно</div> <meta itemprop="author" content="Администратор Progitary.ru"/> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://progitary.ru/boy-na-gitare" content="Бой на гитаре для начинающих: все секреты"> <meta itemprop="dateModified" content="2023-05-29"> <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://progitary.ru/wp-content/uploads/2022/01/progitary.ru-crop-3.png" alt="Все об игре на гитаре"></div><meta itemprop="name" content="Все об игре на гитаре"><meta itemprop="telephone" content="Все об игре на гитаре"><meta itemprop="address" content="https://progitary.ru"></div> </div> <div class="post-card post-card--standard w-animate" itemscope itemtype="http://schema.org/BlogPosting" data-animate-style="no"> <div class="post-card__thumbnail"><a href="https://progitary.ru/kino-gruppa-krovi-na-gitare"><img width="870" height="400" src="https://progitary.ru/wp-content/uploads/2022/05/kino-gruppa-krovi1-870x400.jpg" class="attachment-reboot_standard size-reboot_standard wp-post-image" alt="Кино — «Группа крови»" itemprop="image" decoding="async" srcset="https://progitary.ru/wp-content/uploads/2022/05/kino-gruppa-krovi1-870x400.jpg 870w, https://progitary.ru/wp-content/uploads/2022/05/kino-gruppa-krovi1-300x139.jpg 300w" sizes="(max-width: 870px) 100vw, 870px"/><span itemprop="articleSection" class="post-card__category">Табы и аккорды</span></a></div><div class="post-card__title" itemprop="name"><span itemprop="headline"><a href="https://progitary.ru/kino-gruppa-krovi-na-gitare">Кино — «Группа крови» на гитаре: аккорды и табы с видео</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-06-01">01.06.2022</time></span><span class="post-card__comments">4</span><span class="post-card__views">81.9к.</span></div><div class="post-card__description" itemprop="articleBody">«Группа крови» &#8211; общая информация о песне Группа крови, вероятно, самый известный трек группы Кино, а еще &#8211; одна из самых популярных русских песен 20 века.</div> <meta itemprop="author" content="Доработки"/> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://progitary.ru/kino-gruppa-krovi-na-gitare" content="Кино — «Группа крови» на гитаре: аккорды и табы с видео"> <meta itemprop="dateModified" content="2023-08-18"> <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://progitary.ru/wp-content/uploads/2022/01/progitary.ru-crop-3.png" alt="Все об игре на гитаре"></div><meta itemprop="name" content="Все об игре на гитаре"><meta itemprop="telephone" content="Все об игре на гитаре"><meta itemprop="address" content="https://progitary.ru"></div> </div> <div class="post-card post-card--standard w-animate" itemscope itemtype="http://schema.org/BlogPosting" data-animate-style="no"> <div class="post-card__thumbnail"><a href="https://progitary.ru/nothing-else-matters-kak-igrat-na-gitare"><img width="870" height="400" src="https://progitary.ru/wp-content/uploads/2022/05/nothing-else-matters-870x400.jpg" class="attachment-reboot_standard size-reboot_standard wp-post-image" alt="Nothing else matters" itemprop="image" decoding="async"/><span itemprop="articleSection" class="post-card__category">Табы и аккорды</span></a></div><div class="post-card__title" itemprop="name"><span itemprop="headline"><a href="https://progitary.ru/nothing-else-matters-kak-igrat-na-gitare">Nothing else matters: как играть на гитаре хит от Metallica</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-05-03">03.05.2022</time></span><span class="post-card__comments">0</span><span class="post-card__views">80.1к.</span></div><div class="post-card__description" itemprop="articleBody">Основным направлением музыки у группы Металлика является треш – металл и хеви – металл. Импульсивная и напористая музыка определяет агрессивный характер</div> <meta itemprop="author" content="Администратор Progitary.ru"/> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://progitary.ru/nothing-else-matters-kak-igrat-na-gitare" content="Nothing else matters: как играть на гитаре хит от Metallica"> <meta itemprop="dateModified" content="2022-06-30"> <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://progitary.ru/wp-content/uploads/2022/01/progitary.ru-crop-3.png" alt="Все об игре на гитаре"></div><meta itemprop="name" content="Все об игре на гитаре"><meta itemprop="telephone" content="Все об игре на гитаре"><meta itemprop="address" content="https://progitary.ru"></div> </div> <div class="post-card post-card--standard w-animate" itemscope itemtype="http://schema.org/BlogPosting" data-animate-style="no"> <div class="post-card__thumbnail"><a href="https://progitary.ru/zhuki-batareyka-razbor-na-gitare"><img width="870" height="400" src="https://progitary.ru/wp-content/uploads/2022/05/zhuki-batareyka-870x400.jpg" class="attachment-reboot_standard size-reboot_standard wp-post-image" alt="Жуки — Батарейка" itemprop="image" decoding="async"/><span itemprop="articleSection" class="post-card__category">Табы и аккорды</span></a></div><div class="post-card__title" itemprop="name"><span itemprop="headline"><a href="https://progitary.ru/zhuki-batareyka-razbor-na-gitare">Жуки — Батарейка: разбор на гитаре с видео</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-05-25">25.05.2022</time></span><span class="post-card__comments">2</span><span class="post-card__views">69.4к.</span></div><div class="post-card__description" itemprop="articleBody">Краткая информация о треке Песне &#8220;Батарейка&#8221;, тем временем, уже больше 20 лет &#8211; и она все еще актуальна и активно изучается начинающими гитаристами.</div> <meta itemprop="author" content="Доработки"/> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://progitary.ru/zhuki-batareyka-razbor-na-gitare" content="Жуки — Батарейка: разбор на гитаре с видео"> <meta itemprop="dateModified" content="2022-12-24"> <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://progitary.ru/wp-content/uploads/2022/01/progitary.ru-crop-3.png" alt="Все об игре на гитаре"></div><meta itemprop="name" content="Все об игре на гитаре"><meta itemprop="telephone" content="Все об игре на гитаре"><meta itemprop="address" content="https://progitary.ru"></div> </div> <div class="post-card post-card--standard w-animate" itemscope itemtype="http://schema.org/BlogPosting" data-animate-style="no"> <div class="post-card__thumbnail"><a href="https://progitary.ru/noty-na-grife-gitary"><img width="870" height="400" src="https://progitary.ru/wp-content/uploads/2022/02/pexels-pixabay-164821-870x400.jpg" class="attachment-reboot_standard size-reboot_standard wp-post-image" alt="Ноты на гитаре" itemprop="image" decoding="async"/><span itemprop="articleSection" class="post-card__category">Уроки гитары</span></a></div><div class="post-card__title" itemprop="name"><span itemprop="headline"><a href="https://progitary.ru/noty-na-grife-gitary">Как выучить расположение нот на грифе гитары</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-02-13">13.02.2022</time></span><span class="post-card__comments">0</span><span class="post-card__views">69.2к.</span></div><div class="post-card__description" itemprop="articleBody">Способов научится играть на гитаре множество, для этого не всегда нужно обладать знаниями сольфеджио и знать основы музыкальной теории. Но для качественной</div> <meta itemprop="author" content="Администратор Progitary.ru"/> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://progitary.ru/noty-na-grife-gitary" content="Как выучить расположение нот на грифе гитары"> <meta itemprop="dateModified" content="2023-08-11"> <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://progitary.ru/wp-content/uploads/2022/01/progitary.ru-crop-3.png" alt="Все об игре на гитаре"></div><meta itemprop="name" content="Все об игре на гитаре"><meta itemprop="telephone" content="Все об игре на гитаре"><meta itemprop="address" content="https://progitary.ru"></div> </div> <div class="post-card post-card--standard w-animate" itemscope itemtype="http://schema.org/BlogPosting" data-animate-style="no"> <div class="post-card__thumbnail"><a href="https://progitary.ru/nirvana-smells-like-teen-spirit-razbor-na-gitare"><img width="870" height="400" src="https://progitary.ru/wp-content/uploads/2022/05/smells-like-teen-spirit-870x400.jpg" class="attachment-reboot_standard size-reboot_standard wp-post-image" alt="Smells like teen spirit" itemprop="image" decoding="async"/><span itemprop="articleSection" class="post-card__category">Табы и аккорды</span></a></div><div class="post-card__title" itemprop="name"><span itemprop="headline"><a href="https://progitary.ru/nirvana-smells-like-teen-spirit-razbor-na-gitare">Nirvana — Smells like teen spirit: разбор на гитаре с видео</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-05-25">25.05.2022</time></span><span class="post-card__comments">0</span><span class="post-card__views">67.5к.</span></div><div class="post-card__description" itemprop="articleBody">Эта песня известна всем и по всему миру. Поистине хит 90-ых годов, она стала гимном подрастающего поколения того времени. Песня-лозунг, песня-протест была</div> <meta itemprop="author" content="Доработки"/> <meta itemscope itemprop="mainEntityOfPage" itemType="https://schema.org/WebPage" itemid="https://progitary.ru/nirvana-smells-like-teen-spirit-razbor-na-gitare" content="Nirvana — Smells like teen spirit: разбор на гитаре с видео"> <meta itemprop="dateModified" content="2023-10-18"> <div itemprop="publisher" itemscope itemtype="https://schema.org/Organization" style="display: none;"><div itemprop="logo" itemscope itemtype="https://schema.org/ImageObject"><img itemprop="url image" src="https://progitary.ru/wp-content/uploads/2022/01/progitary.ru-crop-3.png" alt="Все об игре на гитаре"></div><meta itemprop="name" content="Все об игре на гитаре"><meta itemprop="telephone" content="Все об игре на гитаре"><meta itemprop="address" content="https://progitary.ru"></div> </div> </div><!--.post-cards--> </div><!--.section-posts--> </main><!-- #main --> </div><!-- #primary --> <aside id="secondary" class="widget-area" itemscope itemtype="http://schema.org/WPSideBar"> <div class="sticky-sidebar js-sticky-sidebar"> <div id="block-7" class="widget widget_block widget_search"><form role="search" method="get" action="https://progitary.ru/" class="wp-block-search__no-button wp-block-search" ><label class="wp-block-search__label" for="wp-block-search__input-1" >Поиск</label><div class="wp-block-search__inside-wrapper " ><input class="wp-block-search__input" id="wp-block-search__input-1" value="" type="search" name="s" required/></div></form></div><div id="block-11" class="widget widget_block"><div class="flat_side_1"></div></div><div id="block-8" class="widget widget_block"> <h4 class="wp-block-heading" id="последние-публикации">Последние публикации</h4> </div><div id="block-9" class="widget widget_block widget_recent_entries"><ul class="wp-block-latest-posts__list wp-block-latest-posts"><li><div class="wp-block-latest-posts__featured-image"><img decoding="async" width="150" height="150" src="https://progitary.ru/wp-content/uploads/2023/12/dayte-tank--150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Дайте танк (!)" style="max-width:150px;max-height:150px;" srcset="https://progitary.ru/wp-content/uploads/2023/12/dayte-tank--150x150.jpg 150w, https://progitary.ru/wp-content/uploads/2023/12/dayte-tank--100x100.jpg 100w" sizes="(max-width: 150px) 100vw, 150px"/></div><a class="wp-block-latest-posts__post-title" href="https://progitary.ru/dayte-tank-utro-na-gitare">Дайте танк (!) &#8211; Утро: разбор на гитаре с видео</a></li> <li><div class="wp-block-latest-posts__featured-image"><img decoding="async" width="150" height="150" src="https://progitary.ru/wp-content/uploads/2023/12/valentin-strykalo-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Валентин Стрыкало" style="max-width:150px;max-height:150px;" srcset="https://progitary.ru/wp-content/uploads/2023/12/valentin-strykalo-150x150.jpg 150w, https://progitary.ru/wp-content/uploads/2023/12/valentin-strykalo-100x100.jpg 100w" sizes="(max-width: 150px) 100vw, 150px"/></div><a class="wp-block-latest-posts__post-title" href="https://progitary.ru/valentin-strykalo-vzroslye-travmy-na-gitare">Валентин Стрыкало &#8211; Взрослые травмы: разбор на гитаре с видео</a></li> <li><div class="wp-block-latest-posts__featured-image"><img decoding="async" width="150" height="150" src="https://progitary.ru/wp-content/uploads/2023/12/nervy-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="" style="max-width:150px;max-height:150px;" srcset="https://progitary.ru/wp-content/uploads/2023/12/nervy-150x150.jpg 150w, https://progitary.ru/wp-content/uploads/2023/12/nervy-100x100.jpg 100w" sizes="(max-width: 150px) 100vw, 150px"/></div><a class="wp-block-latest-posts__post-title" href="https://progitary.ru/nervy-kofe-moy-drug-na-gitare">Нервы &#8211; Кофе мой друг: разбор на гитаре с видео</a></li> <li><div class="wp-block-latest-posts__featured-image"><img decoding="async" width="150" height="150" src="https://progitary.ru/wp-content/uploads/2023/12/tantsy-minus-150x150.jpg" class="attachment-thumbnail size-thumbnail wp-post-image" alt="Танцы Минус" style="max-width:150px;max-height:150px;" srcset="https://progitary.ru/wp-content/uploads/2023/12/tantsy-minus-150x150.jpg 150w, https://progitary.ru/wp-content/uploads/2023/12/tantsy-minus-100x100.jpg 100w" sizes="(max-width: 150px) 100vw, 150px"/></div><a class="wp-block-latest-posts__post-title" href="https://progitary.ru/tantsy-minus-tsvetut-tsvety-na-gitare">Танцы минус &#8211; Цветут цветы: разбор на гитаре с видео</a></li> </ul></div><div id="block-12" class="widget widget_block"><div class="rl_cnt_bg" data-id="338913"></div></div><div id="block-13" class="widget widget_block"><div class="rl_cnt_bg" data-id="338914"></div></div><div id="block-14" class="widget widget_block"><div class="rl_cnt_bg" data-id="338915"></div></div> </div> </aside><!-- #secondary --> </div><!--.site-content-inner--> </div><!--.site-content--> <div class="site-footer-container "> <footer id="colophon" class="site-footer site-footer--style-gray full"> <div class="site-footer-inner fixed"> <div class="footer-bottom"> <div class="footer-info"> <p><a href="https://progitary.ru/sitemap">Карта сайта</a></p> <p><a href="https://progitary.ru/kontakty">Контакты</a></p> <p><a href="https://progitary.ru/privacy-policy">Политика конфиденциальности</a></p> <p>© 2025 Все об игре на гитаре</p> </div> </div> </div> </footer><!--.site-footer--> </div> <button type="button" class="scrolltop js-scrolltop"></button> </div><!-- #page --> <script type="speculationrules">
  83. {"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\/reboot\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
  84. </script> <script>var pseudo_links = document.querySelectorAll(".pseudo-clearfy-link");for (var i=0;i<pseudo_links.length;i++ ) { pseudo_links[i].addEventListener("click", function(e){   window.open( e.target.getAttribute("data-uri") ); }); }</script><div id="ut-embed"></div> <script>
  85. (function UTCoreInitialization() {
  86.  if (window.UTInventoryCore) {
  87.    new window.UTInventoryCore({
  88.      type: "embed",
  89.      host: 1693,
  90.      content: false,
  91.      container: "ut-embed",
  92.      width: 400,
  93.      height: 225,
  94.      playMode: "autoplay-visible",
  95.      collapse: "none",
  96.      infinity: true,
  97.      infinityTimer: 1,
  98.    });
  99.    return;
  100.  }
  101.  setTimeout(UTCoreInitialization, 100);
  102. })();
  103. </script> <script>
  104. if (typeof rb_ajaxurl==='undefined') {var rb_ajaxurl = 'https://progitary.ru/wp-admin/admin-ajax.php';}
  105. if (typeof rb_csrf==='undefined') {var rb_csrf = 'ac5bf15e66';}
  106. if (typeof gather_content==='undefined') {var gather_content = true;}
  107. window.RFWP_BlockInserting = class {
  108.    _blockSettingArray;
  109.  
  110.    static endedSc = false;
  111.    static endedCc = false;
  112.  
  113.    constructor(blockSettingArray) {
  114.        this._blockSettingArray = blockSettingArray;
  115.    }
  116.  
  117.    static launch(blockSettingArray) {
  118.        var $this = this;
  119.        if (window.jsInputerLaunch !== undefined && [15, 10].includes(window.jsInputerLaunch)) {
  120.            var item = new RFWP_BlockInserting(blockSettingArray);
  121.            item.insert();
  122.            if (!this.endedSc) {
  123.                item.shortcodesInsert();
  124.            }
  125.            if (!this.endedCc) {
  126.                /* clearUnsuitableCache(0); */
  127.            }
  128.            /* blocksReposition();
  129.            cachePlacing();
  130.            symbolMarkersPlaced(); */
  131.        } else {
  132.            setTimeout(function () {
  133.                $this.launch(blockSettingArray);
  134.            }, 50);
  135.        }
  136.    }
  137.  
  138.    insert() {
  139.        let repeatInsert = false;
  140.        let index, parent_with_content, usedBlockSettingArrayIds, lordOfElements, contentLength, rejectedBlocks,
  141.            containerFor6th, containerFor7th, countHeaders, blockSetting, currentElement, currentElementArray, elPlace;
  142.  
  143.        document.querySelectorAll(".content_pointer_class").forEach((content_pointer) => {
  144.            parent_with_content = content_pointer.parentElement;
  145.            usedBlockSettingArrayIds = (content_pointer.getAttribute('data-block-ids') || "").split(',');
  146.            lordOfElements = parent_with_content;
  147.            parent_with_content = parent_with_content.parentElement;
  148.            contentLength = content_pointer.getAttribute('data-content-length');
  149.            rejectedBlocks = content_pointer.getAttribute('data-rejected-blocks');
  150.            if (rejectedBlocks&&rejectedBlocks.length > 0) {
  151.                rejectedBlocks = rejectedBlocks.split(',');
  152.            }
  153.            containerFor6th = [];
  154.            containerFor7th = [];
  155.  
  156.            countHeaders = parent_with_content.querySelectorAll('h1, h2, h3, h4, h5, h6').length;
  157.  
  158.            while((index = usedBlockSettingArrayIds.findIndex((el) => el === "")) >= 0) {
  159.                usedBlockSettingArrayIds.splice(index, 1);
  160.            }
  161.  
  162.            if (contentLength < 1) {
  163.                contentLength = parent_with_content.innerText.length
  164.            }
  165.  
  166.            for (var i = 0; i < this._blockSettingArray.length; i++) {
  167.                blockSetting = this._blockSettingArray[i];
  168.                currentElement = null;
  169.                currentElementArray = [];
  170.  
  171.                try {
  172.                    const binderName = blockSetting["rb_under"];
  173.  
  174.                    if (!blockSetting["text"] ||
  175.                        (blockSetting["text"] && blockSetting["text"].length < 1)
  176.                    ) {
  177.                        this._blockSettingArray.splice(i--, 1);
  178.                        continue;
  179.                    }
  180.  
  181.                    if (rejectedBlocks&&rejectedBlocks.includes(blockSetting["id"]) ||
  182.                        (blockSetting["maxHeaders"] > 0 && blockSetting["maxHeaders"] < parseInt(countHeaders)) ||
  183.                        (blockSetting["maxSymbols"] > 0 && blockSetting["maxSymbols"] < parseInt(contentLength)) ||
  184.                        (content_pointer.classList.contains("hard-content") && blockSetting["setting_type"] !== 3)
  185.                    ) {
  186.                        continue;
  187.                    }
  188.  
  189.                    const elementToAdd = this.createBlockElement(blockSetting),
  190.                        block_number = elementToAdd.children[0].attributes['data-id'].value;
  191.  
  192.                    if (usedBlockSettingArrayIds.length > 0 && usedBlockSettingArrayIds.includes(block_number)) {
  193.                        continue;
  194.                    }
  195.  
  196.                    if ((blockSetting["minHeaders"] > 0)&&(blockSetting["minHeaders"] > countHeaders)) {continue;}
  197.                    if (blockSetting["minSymbols"] > contentLength) {continue;}
  198.  
  199.                    if (blockSetting["setting_type"] == 1) {
  200.                        currentElementArray = this.currentElementsGather(blockSetting["element"].toLowerCase(), parent_with_content);
  201.                        if (!!currentElementArray && currentElementArray.length > 0) {
  202.                            if (blockSetting["elementPlace"] < 0) {
  203.                                elPlace = currentElementArray.length + blockSetting["elementPlace"];
  204.                                if (elPlace >= 0 && elPlace < currentElementArray.length) {
  205.                                    currentElement = this.currentElementReceiver(true, content_pointer, blockSetting, currentElementArray, elPlace);
  206.                                }
  207.                            } else {
  208.                                elPlace = blockSetting["elementPlace"] - 1;
  209.                                if (elPlace < currentElementArray.length) {
  210.                                    currentElement = this.currentElementReceiver(false, content_pointer, blockSetting, currentElementArray, elPlace);
  211.                                }
  212.                            }
  213.                        }
  214.                        if (!currentElement && blockSetting["showNoElement"]) {
  215.                            currentElement = currentElementArray[currentElementArray.length - 1];
  216.                        }
  217.                        if (!!currentElement) {
  218.                            this.addBlockAd(blockSetting, currentElement, elementToAdd);
  219.                            usedBlockSettingArrayIds.push(block_number);
  220.                        } else {
  221.                            repeatInsert = true;
  222.                        }
  223.                    }
  224.                    else if (blockSetting["setting_type"] == 2) {
  225.                        if (blockDuplicate == 'no') {
  226.                            blockSetting["elementCount"] = 1;
  227.                        }
  228.                        var curFirstPlace = blockSetting["firstPlace"],
  229.                            curElementCount = blockSetting["elementCount"],
  230.                            curElementStep = blockSetting["elementStep"],
  231.                            repeatableBlockIdentifier = 0,
  232.                            successAdd = false;
  233.  
  234.                        currentElementArray = this.currentElementsGather(blockSetting["element"].toLowerCase(), parent_with_content);
  235.                        if (currentElementArray) {
  236.                            for (let i1 = 0; i1 < blockSetting["elementCount"]; i1++) {
  237.                                elementToAdd.classList.add("repeatable-mark-" + repeatableBlockIdentifier);
  238.  
  239.                                elPlace = Math.round(parseInt(blockSetting["firstPlace"]) + (i1*parseInt(blockSetting["elementStep"])) - 1);
  240.                                if (elPlace < currentElementArray.length) {
  241.                                    currentElement = this.currentElementReceiver(false, content_pointer, blockSetting, currentElementArray, elPlace);
  242.                                }
  243.                                if (!currentElement && blockSetting["showNoElement"] && !i1) {
  244.                                    currentElement = currentElementArray[currentElementArray.length - 1];
  245.                                }
  246.  
  247.                                if (currentElement !== undefined && currentElement != null) {
  248.                                    this.addBlockAd(blockSetting, currentElement, elementToAdd);
  249.                                    curFirstPlace = elPlace + parseInt(blockSetting["elementStep"]) + 1;
  250.                                    curElementCount--;
  251.                                    successAdd = true;
  252.                                } else {
  253.                                    successAdd = false;
  254.                                    break;
  255.                                }
  256.                            }
  257.                        }
  258.                        if (successAdd === true) {
  259.                            usedBlockSettingArrayIds.push(block_number);
  260.                            repeatableBlockIdentifier++;
  261.                        } else {
  262.                            if (!blockSetting["unsuccess"]) {
  263.                                blockSetting["unsuccess"] = 1;
  264.                            } else {
  265.                                blockSetting["unsuccess"] = Math.round(blockSetting["unsuccess"] + 1);
  266.                            }
  267.                            if (blockSetting["unsuccess"] > 10) {
  268.                                usedBlockSettingArrayIds.push(block_number);
  269.                            } else {
  270.                                blockSetting["firstPlace"] = curFirstPlace;
  271.                                blockSetting["elementCount"] = curElementCount;
  272.                                blockSetting["elementStep"] = curElementStep;
  273.                                repeatInsert = true;
  274.                            }
  275.                        }
  276.                    }
  277.                    else if (blockSetting["setting_type"] == 3) {
  278.                        currentElement = this.getElementBySelection(blockSetting["directElement"].trim(), blockSetting)
  279.  
  280.                        if (!!currentElement) {
  281.                            this.addBlockAd(blockSetting, currentElement, elementToAdd);
  282.                            usedBlockSettingArrayIds.push(block_number);
  283.                            this._blockSettingArray.splice(i--, 1);
  284.                        } else {
  285.                            repeatInsert = true;
  286.                        }
  287.                    }
  288.                    else if (blockSetting["setting_type"] == 4) {
  289.                        content_pointer.parentElement.append(elementToAdd);
  290.                        usedBlockSettingArrayIds.push(block_number);
  291.                    }
  292.                    else if (blockSetting["setting_type"] == 5) {
  293.                        currentElementArray = this.currentElementsGather('p', content_pointer.parentElement, 1);
  294.                        if (currentElementArray && currentElementArray.length > 0) {
  295.                            let pCount = currentElementArray.length;
  296.                            let elementNumber = Math.round(pCount/2);
  297.                            if (pCount > 1) {
  298.                                currentElement = currentElementArray[elementNumber+1];
  299.                            }
  300.                            if (!!currentElement) {
  301.                                if (pCount > 1) {
  302.                                    this.addBlockAd(blockSetting, currentElement, elementToAdd, currentElement);
  303.                                } else {
  304.                                    this.addBlockAd(blockSetting, currentElement, elementToAdd, currentElement.nextSibling);
  305.                                }
  306.                                usedBlockSettingArrayIds.push(block_number);
  307.                            } else {
  308.                                repeatInsert = true;
  309.                            }
  310.                        } else {
  311.                            repeatInsert = true;
  312.                        }
  313.                    }
  314.                    else if (blockSetting["setting_type"] == 6) {
  315.                        if (containerFor6th.length > 0) {
  316.                            for (let j = 0; j < containerFor6th.length; j++) {
  317.                                if (containerFor6th[j]["elementPlace"]>blockSetting["elementPlace"]) {
  318.                                    /* continue; */
  319.                                    if (j === containerFor6th.length-1) {
  320.                                        containerFor6th.push(blockSetting);
  321.                                        usedBlockSettingArrayIds.push(block_number);
  322.                                        break;
  323.                                    }
  324.                                } else {
  325.                                    containerFor6th.splice(j, 0, blockSetting)
  326.                                    usedBlockSettingArrayIds.push(block_number);
  327.                                    break;
  328.                                }
  329.                            }
  330.                        } else {
  331.                            containerFor6th.push(blockSetting);
  332.                            usedBlockSettingArrayIds.push(block_number);
  333.                        }
  334.                        /* vidpravutu v vidstiinuk dlya 6ho tipa */
  335.                    }
  336.                    else if (blockSetting["setting_type"] == 7) {
  337.                        if (containerFor7th.length > 0) {
  338.                            for (let j = 0; j < containerFor7th.length; j++) {
  339.                                if (containerFor7th[j]["elementPlace"]>blockSetting["elementPlace"]) {
  340.                                    /* continue; */
  341.                                    if (j == containerFor7th.length-1) {
  342.                                        containerFor7th.push(blockSetting);
  343.                                        usedBlockSettingArrayIds.push(block_number);
  344.                                        break;
  345.                                    }
  346.                                } else {
  347.                                    containerFor7th.splice(j, 0, blockSetting)
  348.                                    usedBlockSettingArrayIds.push(block_number);
  349.                                    break;
  350.                                }
  351.                            }
  352.                        } else {
  353.                            containerFor7th.push(blockSetting);
  354.                            usedBlockSettingArrayIds.push(block_number);
  355.                        }
  356.                    }
  357.                } catch (e) {
  358.                    console.log(e.message);
  359.                }
  360.            }
  361.  
  362.            var array = this.textLengthGatherer(lordOfElements),
  363.                tlArray = array.array,
  364.                length = array.length;
  365.  
  366.            if (containerFor6th.length > 0) {
  367.                this.percentInserter(lordOfElements, containerFor6th, tlArray, length);
  368.            }
  369.            if (containerFor7th.length > 0) {
  370.                this.symbolInserter(lordOfElements, containerFor7th, tlArray);
  371.            }
  372.            this.shortcodesInsert();
  373.            content_pointer.setAttribute("data-block-ids", usedBlockSettingArrayIds.join(","))
  374.        });
  375.  
  376.        let stopper = 0,
  377.            $this = this;
  378.  
  379.        window.addEventListener('load', function () {
  380.            if (repeatInsert === true) {
  381.                setTimeout(function () {
  382.                    $this.insert();
  383.                }, 100);
  384.            }
  385.        });
  386.    }
  387.  
  388.    createBlockElement(blockSetting) {
  389.        let element = document.createElement("div");
  390.  
  391.        element.classList.add("percentPointerClass");
  392.        element.classList.add("marked");
  393.        if (blockSetting["sc"] === 1) {
  394.            element.classList.add("scMark");
  395.        }
  396.        element.innerHTML = blockSetting["text"];
  397.        element.dataset.rbinder = blockSetting["rb_under"];
  398.  
  399.        const block_number = element.children[0].attributes['data-id'].value,
  400.            elementToAddStyle = this.createStyleElement(block_number, blockSetting["elementCss"]);
  401.  
  402.        if (elementToAddStyle&&elementToAddStyle!=='default') {
  403.            element.style.textAlign = elementToAddStyle;
  404.        }
  405.  
  406.        return element
  407.    }
  408.  
  409.    addBlockAd(blockSetting, currentElement, elementToAdd, position = null) {
  410.        if (!position) {
  411.            position = this.initTargetToInsert(blockSetting["elementPosition"], 'element', currentElement);
  412.        }
  413.        currentElement.parentNode.insertBefore(elementToAdd, position);
  414.        currentElement.classList.add('rbinder-'+blockSetting["rb_under"]);
  415.        elementToAdd.classList.remove('coveredAd');
  416.    }
  417.  
  418.    getElementBySelection(directElement, blockSetting) {
  419.        if (directElement.search('#') > -1) {
  420.            return document.querySelector(directElement);
  421.        }
  422.        if ((directElement.search('#') < 0)&&(directElement.search('.') > -1)) {
  423.            return this.directClassElementDetecting(directElement, blockSetting);
  424.        }
  425.    }
  426.  
  427.    directClassElementDetecting(directElement, blockSetting) {
  428.        let findQuery = false;
  429.        let currentElementArray = document.querySelectorAll(directElement);
  430.        let currentElement = null;
  431.  
  432.        if (currentElementArray.length > 0) {
  433.            if (blockSetting['elementPlace'] > 1) {
  434.                if (currentElementArray.length >= blockSetting['elementPlace']) {
  435.                    currentElement = currentElementArray[blockSetting['elementPlace']-1];
  436.                } else if (currentElementArray.length < blockSetting['elementPlace']) {
  437.                    if (blockSetting['showNoElement'] > 0) {
  438.                        currentElement = currentElementArray[currentElementArray.length - 1];
  439.                    }
  440.                } else {
  441.                    findQuery = true;
  442.                }
  443.            } else if (blockSetting['elementPlace'] < 0) {
  444.                if ((currentElementArray.length + blockSetting['elementPlace'] + 1) > 0) {
  445.                    currentElement = currentElementArray[currentElementArray.length + blockSetting['elementPlace']];
  446.                } else {
  447.                    findQuery = true;
  448.                }
  449.            } else {
  450.                findQuery = true;
  451.            }
  452.        } else {
  453.            findQuery = true;
  454.        }
  455.  
  456.        if (findQuery) {
  457.            currentElement = document.querySelector(directElement);
  458.        }
  459.  
  460.        return currentElement;
  461.    }
  462.  
  463.    placingArrayToH1(usedElement, elementTagToFind) {
  464.        let elements = usedElement.querySelectorAll(elementTagToFind);
  465.  
  466.        if (elements.length < 1) {
  467.            if (usedElement.parentElement) {
  468.                elements = this.placingArrayToH1(usedElement.parentElement, elementTagToFind);
  469.            }
  470.        }
  471.        return elements;
  472.    }
  473.  
  474.    elementsCleaning(excArr, elList, pwcLocal, gatherString) {
  475.        let markedClass = 'rb_m_inc';
  476.        let markedClassBad = 'rb_m_exc';
  477.        let cou = 0;
  478.        let cou1 = 0;
  479.        let finalArr = [];
  480.        let finalArrClear = [];
  481.        let checkNearest;
  482.        let outOfRangeCheck;
  483.        let gatherRejected;
  484.        let allower;
  485.  
  486.        try {
  487.            while (elList[cou]) {
  488.                allower = true;
  489.                if (!elList[cou].classList.contains(markedClassBad)) {
  490.                    if (excArr&&excArr.length > 0) {
  491.                        cou1 = 0;
  492.                        while (excArr[cou1]) {
  493.                            checkNearest = elList[cou].parentElement.closest(excArr[cou1]);
  494.                            if (checkNearest) {
  495.                                checkNearest.classList.add('currClosest');
  496.                                outOfRangeCheck = pwcLocal.querySelector('.currClosest');
  497.                                if (outOfRangeCheck) {
  498.                                    allower = false;
  499.                                    checkNearest.classList.add(markedClass);
  500.                                    gatherRejected = checkNearest.querySelectorAll(gatherString);
  501.                                    if (gatherRejected.length > 0) {
  502.                                        for (let i1 = 0; i1 < gatherRejected.length; i1++) {
  503.                                            gatherRejected[i1].classList.add(markedClassBad);
  504.                                        }
  505.                                    }
  506.                                }
  507.                                checkNearest.classList.remove('currClosest');
  508.                            }
  509.                            cou1++;
  510.                        }
  511.                    }
  512.                    if (allower===true) {
  513.                        elList[cou].classList.add(markedClass);
  514.                        /* finalArr.push(elList[cou]); */
  515.                    }
  516.                }
  517.                cou++;
  518.            }
  519.            finalArr = pwcLocal.querySelectorAll('.'+markedClass+':not('+markedClassBad+')');
  520.            finalArrClear = pwcLocal.querySelectorAll('.'+markedClass+',.'+markedClassBad);
  521.            if (finalArrClear&&finalArrClear.length > 0) {
  522.                for (let i1 = 0; i1 < finalArrClear.length; i1++) {
  523.                    finalArrClear[i1].classList.remove(markedClass,markedClassBad);
  524.                }
  525.            }
  526.        } catch (er) {
  527.            console.log(er.message);
  528.        }
  529.        return finalArr;
  530.    }
  531.  
  532.    currentElementsGather(usedElement, localPwc, loopLimit = 2, ) {
  533.        let curElementSearchRepeater = true;
  534.        let curElementSearchCounter = 0;
  535.        let currentElementArray = null;
  536.        let ExcludedString = '';
  537.        let tagListString = '';
  538.        let tagListStringExc = '';
  539.        let cou = 0;
  540.        let tagList;
  541.        /* let excArr = excIdClUnpacker(); */
  542.        let tagListCou = 0;
  543.  
  544.        if (usedElement==='h1') {
  545.            currentElementArray = this.placingArrayToH1(localPwc, usedElement);
  546.        } else {
  547.            if (usedElement==='h2-4')
  548.                tagList = ['h2','h3','h3'];
  549.            else
  550.                tagList = [usedElement];
  551.  
  552.            while (tagList[tagListCou]) {
  553.                tagListString += ((cou++ > 0) ? ',' : '') + tagList[tagListCou];
  554.                tagListStringExc += ':not(' + tagList[tagListCou] + ')';
  555.                tagListCou++;
  556.            }
  557.  
  558.            ExcludedString = '';
  559.            if (excIdClass&&excIdClass.length > 0) {
  560.                for (let i2 = 0; i2 < excIdClass.length; i2++) {
  561.                    if (excIdClass[i2].length > 0) {
  562.                        ExcludedString += (i2>0?',':'')+excIdClass[i2]+tagListStringExc;
  563.                    }
  564.                }
  565.            }
  566.            let detailedQueryString = tagListString+','+ExcludedString;
  567.  
  568.            /* console.log(detailedQueryString); */
  569.            while (curElementSearchRepeater&&curElementSearchCounter < loopLimit) {
  570.                try {
  571.                    currentElementArray = localPwc.querySelectorAll(tagListString);
  572.                } catch (e1) {console.log(e1.message);}
  573.                if (!currentElementArray || !currentElementArray.length) {
  574.                    if (localPwc.parentElement) {
  575.                        localPwc = localPwc.parentElement;
  576.                    } else {
  577.                        break;
  578.                    }
  579.                } else {
  580.                    currentElementArray = this.elementsCleaning(excIdClass, currentElementArray, localPwc, detailedQueryString);
  581.                    curElementSearchRepeater = false;
  582.                }
  583.                curElementSearchCounter++;
  584.            }
  585.        }
  586.        return currentElementArray;
  587.    }
  588.  
  589.    currentElementReceiver(revert, content_pointer, blockSetting, currentElementArray, elPlace) {
  590.        let currentElement = null;
  591.        let sameElementAfterWidth = false;
  592.        let testCou = 0;
  593.        while (currentElementArray[elPlace] && sameElementAfterWidth === false && testCou < 8) {
  594.            currentElement = currentElementArray[elPlace];
  595.            try {
  596.                sameElementAfterWidth = this.checkAdsWidth(content_pointer, blockSetting["elementPosition"], currentElement);
  597.            } catch (ex) {
  598.                sameElementAfterWidth = true;
  599.                console.log(ex.message);
  600.            }
  601.            revert? elPlace--: elPlace++;
  602.            testCou++;
  603.        }
  604.  
  605.        return currentElement;
  606.    }
  607.  
  608.  
  609.    symbolInserter(lordOfElements, containerFor7th, tlArray) {
  610.        try {
  611.            var currentChildrenLength = 0;
  612.            let previousBreak = 0;
  613.            let needleLength;
  614.            let currentSumLength;
  615.            let elementToAdd;
  616.            let elementToBind;
  617.            let binderName;
  618.  
  619.            if (!lordOfElements.querySelector(".markedSpan1")) {
  620.                for (let i = 0; i < containerFor7th.length; i++) {
  621.                    previousBreak = 0;
  622.                    currentChildrenLength = 0;
  623.                    currentSumLength = 0;
  624.                    needleLength = Math.abs(containerFor7th[i]['elementPlace']);
  625.                    binderName = containerFor7th[i]["rb_under"];
  626.  
  627.                    elementToAdd = this.createBlockElement(containerFor7th[i]);
  628.                    if (!elementToAdd) {
  629.                        continue;
  630.                    }
  631.  
  632.                    if (containerFor7th[i]['elementPlace'] < 0) {
  633.                        for (let j = tlArray.length-1; j > -1; j--) {
  634.                            currentSumLength = currentSumLength + tlArray[j]['length'];
  635.                            if (needleLength < currentSumLength) {
  636.                                elementToBind = tlArray[j]['element'];
  637.                                elementToBind = this.currentElementReceiverSpec(true, j, tlArray, elementToBind);
  638.                                this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind);
  639.                                break;
  640.                            }
  641.                        }
  642.                    } else if (containerFor7th[i]['elementPlace'] == 0) {
  643.                        elementToBind = tlArray[0]['element'];
  644.                        this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind);
  645.                    } else {
  646.                        for (let j = 0; j < tlArray.length; j++) {
  647.                            currentSumLength = currentSumLength + tlArray[j]['length'];
  648.                            if (needleLength < currentSumLength) {
  649.                                elementToBind = tlArray[j]['element'];
  650.                                elementToBind = this.currentElementReceiverSpec(false, j, tlArray, elementToBind);
  651.                                this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind.nextSibling);
  652.                                break;
  653.                            }
  654.                        }
  655.                    }
  656.                }
  657.  
  658.                var spanMarker = document.createElement("span");
  659.                spanMarker.classList.add("markedSpan1");
  660.                lordOfElements.prepend(spanMarker);
  661.            }
  662.        } catch (e) {
  663.            console.log(e);
  664.        }
  665.    }
  666.  
  667.    percentInserter(lordOfElements, containerFor6th, tlArray, textLength) {
  668.        try {
  669.            var textNeedyLength = 0;
  670.            let elementToAdd;
  671.            var elementToBind;
  672.            let elementToAddStyle;
  673.            let block_number;
  674.            var binderName;
  675.            let $this = this;
  676.  
  677.            function insertByPercents(textLength) {
  678.                let localMiddleValue = 0;
  679.  
  680.                for (let j = 0; j < containerFor6th.length; j++) {
  681.                    textNeedyLength = Math.round(textLength * (containerFor6th[j]["elementPlace"]/100));
  682.                    for (let i = 0; i < tlArray.length; i++) {
  683.                        if (tlArray[i]['lengthSum'] >= textNeedyLength) {
  684.                            binderName = containerFor6th[j]["rb_under"];
  685.                            elementToAdd = $this.createBlockElement(containerFor6th[j]);
  686.                            if (!elementToAdd) {
  687.                                break;
  688.                            }
  689.  
  690.                            localMiddleValue = tlArray[i]['lengthSum'] - Math.round(tlArray[i]['length']/2);
  691.                            elementToBind = tlArray[i]['element'];
  692.                            $this.currentElementReceiverSpec(false, i, tlArray, elementToBind);
  693.                            if (textNeedyLength < localMiddleValue) {
  694.                                $this.addBlockAd(containerFor6th[j], elementToBind, elementToAdd, elementToBind);
  695.                            } else {
  696.                                $this.addBlockAd(containerFor6th[j], elementToBind, elementToAdd, elementToBind.nextSibling);
  697.                            }
  698.                            break;
  699.                        }
  700.                    }
  701.                }
  702.                return false;
  703.            }
  704.  
  705.            function clearTlMarks() {
  706.                let marksForDeleting = document.querySelectorAll('.textLengthMarker');
  707.  
  708.                if (marksForDeleting.length > 0) {
  709.                    for (let i = 0; i < marksForDeleting.length; i++) {
  710.                        marksForDeleting[i].remove();
  711.                    }
  712.                }
  713.            }
  714.  
  715.            if (!lordOfElements.querySelector(".markedSpan")) {
  716.                insertByPercents(textLength);
  717.                clearTlMarks();
  718.                var spanMarker = document.createElement("span");
  719.                spanMarker.classList.add("markedSpan");
  720.                lordOfElements.prepend(spanMarker);
  721.            }
  722.        } catch (e) {
  723.            console.log(e.message);
  724.        }
  725.    }
  726.  
  727.  
  728.    /* "sc" in variables - mark for shortcode variable */
  729.    shortcodesInsert() {
  730.        let gatheredBlocks = document.querySelectorAll('.percentPointerClass.scMark'),
  731.            scBlockId = -1,
  732.            scAdId = -1,
  733.            blockStatus = '',
  734.            dataFull = -1,
  735.            gatheredBlockChild,
  736.            okStates = ['done','refresh-wait','no-block','fetched'],
  737.            scContainer,
  738.            sci,
  739.            i1 = 0,
  740.            skyscraperStatus = false,
  741.            splitedSkyscraper = [],
  742.            gatheredBlockChildSkyParts = [],
  743.            stickyStatus = false,
  744.            stickyCheck = [],
  745.            stickyFixedStatus = false,
  746.            stickyFixedCheck = [],
  747.            repeatableIdentifier = "",
  748.            dataCidIdentifier = null,
  749.            divCidElement = '';
  750.  
  751.        if (typeof scArray !== 'undefined') {
  752.            if (scArray&&scArray.length > 0&&gatheredBlocks&&gatheredBlocks.length > 0&&typeof window.rulvW5gntb !== 'undefined') {
  753.                dataCidIdentifier = window.rulvW5gntb;
  754.                for (let i = 0; i < gatheredBlocks.length; i++) {
  755.                    gatheredBlockChild = gatheredBlocks[i].children[0];
  756.                    if (!gatheredBlockChild) {
  757.                        continue;
  758.                    }
  759.                    scAdId = -3;
  760.                    blockStatus = null;
  761.                    scContainer = null;
  762.                    dataFull = -1;
  763.                    skyscraperStatus = false;
  764.                    splitedSkyscraper = [];
  765.                    gatheredBlockChildSkyParts = [];
  766.                    stickyStatus = false;
  767.                    stickyCheck = [];
  768.                    stickyFixedStatus = false;
  769.                    stickyFixedCheck = [];
  770.                    repeatableIdentifier = "";
  771.                    divCidElement = null;
  772.  
  773.                    scAdId = gatheredBlockChild.getAttribute('data-aid');
  774.                    scBlockId = gatheredBlockChild.getAttribute('data-id');
  775.                    blockStatus = gatheredBlockChild.getAttribute('data-state');
  776.                    dataFull = gatheredBlockChild.getAttribute('data-full');
  777.  
  778.                    if (scBlockId&&scAdId > 0) {
  779.                        sci = -1;
  780.                        for (i1 = 0; i1 < scArray.length; i1++) {
  781.                            if (scBlockId == scArray[i1]['blockId']&&scAdId == scArray[i1]['adId']) {
  782.                                sci = i1;
  783.                            }
  784.                        }
  785.  
  786.                        if (sci > -1) {
  787.                            if (blockStatus&&okStates.includes(blockStatus)) {
  788.  
  789.                                if (blockStatus=='no-block') {
  790.                                    gatheredBlockChild.innerHTML = '';
  791.                                } else if ((blockStatus=='fetched'&&dataFull==1)||!['no-block','fetched'].includes(blockStatus)) {
  792.                                    for (let cl1 = 0; cl1 < gatheredBlocks[i].classList.length; cl1++) {
  793.                                        if (gatheredBlocks[i].classList[cl1].includes("repeatable-mark")) {
  794.                                            repeatableIdentifier = gatheredBlocks[i].classList[cl1];
  795.                                        }
  796.                                    }
  797.  
  798.                                    if (repeatableIdentifier) {
  799.                                        divCidElement = document.querySelectorAll(".percentPointerClass.scMark."+repeatableIdentifier+' div[data-cid="'+dataCidIdentifier+'"]');
  800.                                    } else {
  801.                                        divCidElement = gatheredBlockChild.querySelectorAll('div[data-cid="'+dataCidIdentifier+'"]');
  802.                                    }
  803.  
  804.                                    var text = scArray[sci]['text'];
  805.                                    if (divCidElement&&divCidElement.length > 0) {
  806.                                        for (let i2 = 0; i2 < divCidElement.length; i2++) {
  807.                                            jQuery(divCidElement[i2]).html(text);
  808.                                        }
  809.                                    } else {
  810.                                        jQuery(gatheredBlockChild).html(text);
  811.                                    }
  812.                                    this.launchUpdateRbDisplays();
  813.                                }
  814.                                if (blockStatus !== 'fetched' || (blockStatus === 'fetched' && dataFull === 1)) {
  815.                                    gatheredBlocks[i].classList.remove('scMark');
  816.                                }
  817.                            }
  818.                        }
  819.                    } else if (scBlockId&&scAdId < 1&&['no-block','fetched'].includes(blockStatus)) {
  820.                        gatheredBlocks[i].classList.remove('scMark');
  821.                    }
  822.                }
  823.            } else if (!scArray||(scArray&&scArray.length < 1)) {
  824.                this.endedSc = true;
  825.            }
  826.        } else {
  827.            this.endedSc = true;
  828.        }
  829.  
  830.        if (!this.endedSc) {
  831.            var $this = this;
  832.            setTimeout(function () {
  833.                $this.shortcodesInsert();
  834.            }, 200);
  835.        }
  836.    }
  837.  
  838.    currentElementReceiverSpec(revert, curSum, elList, currentElement) {
  839.        let origCurrentElement = currentElement;
  840.        let content_pointer = document.querySelector(".content_pointer_class"); /* orig */
  841.        let sameElementAfterWidth = false;
  842.        let testCou = 0;
  843.        while (elList[curSum] && !sameElementAfterWidth && testCou < 5) {
  844.            currentElement = elList[curSum]['element'];
  845.            try {
  846.                sameElementAfterWidth = this.checkAdsWidth(content_pointer, 0, currentElement);
  847.            } catch (ex) {
  848.                sameElementAfterWidth = true;
  849.                console.log(ex.message);
  850.            }
  851.            revert? curSum--: curSum++;
  852.            testCou++;
  853.        }
  854.        return currentElement?currentElement:origCurrentElement;
  855.    }
  856.  
  857.    launchUpdateRbDisplays() {
  858.        if ((typeof updateRbDisplays !== 'undefined')&&(typeof updateRbDisplays === 'function')) {
  859.            updateRbDisplays();
  860.        } else {
  861.            setTimeout(function () {
  862.                this.launchUpdateRbDisplays();
  863.            }, 200);
  864.        }
  865.    }
  866.  
  867.    checkAdsWidth(content_pointer, posCurrentElement, currentElement) {
  868.        let widthChecker = document.querySelector('#widthChecker');
  869.        let widthCheckerStyle = null;
  870.        let content_pointerStyle = getComputedStyle(content_pointer);
  871.        let content = content_pointer.parentElement;
  872.  
  873.        if (!widthChecker) {
  874.            widthChecker = document.createElement("div");
  875.            widthChecker.setAttribute('id','widthChecker');
  876.            widthChecker.style.display = 'flex';
  877.        }
  878.  
  879.        if (content) {
  880.            posCurrentElement = this.initTargetToInsert(posCurrentElement, 'term', currentElement);
  881.            currentElement.parentNode.insertBefore(widthChecker, posCurrentElement);
  882.            widthCheckerStyle = getComputedStyle(widthChecker);
  883.  
  884.            if (parseInt(widthCheckerStyle.width) >= (parseInt(content_pointerStyle.width) - 50)) {
  885.                return true;
  886.            }
  887.        }
  888.        return false;
  889.    }
  890.  
  891.  
  892.    initTargetToInsert(position, type, currentElement) {
  893.        let posCurrentElement;
  894.        let usedElement;
  895.        if (type == 'element') {
  896.            if (position == 0) {
  897.                posCurrentElement = currentElement;
  898.                if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
  899.                    currentElement.classList.add('rfwp_removedMarginTop');
  900.                }
  901.            } else {
  902.                posCurrentElement = currentElement.nextSibling;
  903.                if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
  904.                    currentElement.classList.add('rfwp_removedMarginBottom');
  905.                }
  906.            }
  907.            currentElement.style.clear = 'both';
  908.        } else {
  909.            usedElement = currentElement;
  910.            if (position == 0) {
  911.                posCurrentElement = usedElement;
  912.            } else {
  913.                posCurrentElement = usedElement.nextSibling;
  914.            }
  915.        }
  916.        return posCurrentElement;
  917.    }
  918.  
  919.    createStyleElement(blockNumber, localElementCss) {
  920.        let htmlToAdd = '';
  921.        let marginString;
  922.        let textAlignString;
  923.        let contPois = document.querySelector('.content_pointer_class');
  924.        let emptyValues = false;
  925.        let elementToAddStyleLocal;
  926.  
  927.        if (!contPois.length)
  928.            return false;
  929.  
  930.        contPois.forEach((contPoi) => {
  931.            elementToAddStyleLocal = contPoi.querySelector('.blocks_align_style');
  932.  
  933.            if (!elementToAddStyleLocal) {
  934.                elementToAddStyleLocal = document.createElement('style');
  935.                elementToAddStyleLocal.classList.add('blocks_align_style');
  936.                contPoi.parentNode.insertBefore(elementToAddStyleLocal, contPoi);
  937.            }
  938.        });
  939.  
  940.  
  941.  
  942.        switch (localElementCss) {
  943.            case 'left':
  944.                emptyValues = false;
  945.                marginString = '0 auto 0 0';
  946.                textAlignString = 'left';
  947.                break;
  948.            case 'right':
  949.                emptyValues = false;
  950.                marginString = '0 0 0 auto';
  951.                textAlignString = 'right';
  952.                break;
  953.            case 'center':
  954.                emptyValues = false;
  955.                marginString = '0 auto';
  956.                textAlignString = 'center';
  957.                break;
  958.            case 'default':
  959.                emptyValues = true;
  960.                marginString = 'default';
  961.                textAlignString = 'default';
  962.                break;
  963.        }
  964.        if (!emptyValues) {
  965.            htmlToAdd = '.percentPointerClass  > *[data-id="'+blockNumber+'"] {\n' +
  966.                '    margin: '+marginString+';\n' +
  967.                '}\n';
  968.        }
  969.  
  970.        elementToAddStyleLocal.innerHTML += htmlToAdd;
  971.        return textAlignString;
  972.    }
  973.  
  974.    clearUnsuitableCache(cuc_cou) {
  975.        let scAdId = -1;
  976.        let ccRepeat = false;
  977.  
  978.        let gatheredBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
  979.  
  980.        if (gatheredBlocks&&gatheredBlocks.length > 0) {
  981.            for (let i = 0; i < gatheredBlocks.length; i++) {
  982.                if (gatheredBlocks[i]['dataset']['aid']&&gatheredBlocks[i]['dataset']['aid'] < 0) {
  983.                    if ((gatheredBlocks[i]['dataset']["state"]=='no-block')||(['done','fetched','refresh-wait'].includes(gatheredBlocks[i]['dataset']["state"]))) {
  984.                        gatheredBlocks[i]['innerHTML'] = '';
  985.                    } else {
  986.                        ccRepeat = true;
  987.                    }
  988.                } else if (!gatheredBlocks[i]['dataset']['aid']) {
  989.                    ccRepeat = true;
  990.                }
  991.            }
  992.            if (cuc_cou < 50) {
  993.                if (ccRepeat) {
  994.                    let $this = this;
  995.                    setTimeout(function () {
  996.                        $this.clearUnsuitableCache(cuc_cou+1);
  997.                    }, 100);
  998.                }
  999.            } else {
  1000.                endedCc = true;
  1001.            }
  1002.        } else {
  1003.            endedCc = true;
  1004.        }
  1005.    }
  1006.  
  1007.  
  1008.    excIdClUnpacker() {
  1009.        let excArr = [],
  1010.            cou = 0,
  1011.            currExcStr = '',
  1012.            curExcFirst = '';
  1013.        excArr['id'] = [];
  1014.        excArr['class'] = [];
  1015.        excArr['tag'] = [];
  1016.        if (excIdClass&&excIdClass.length > 0) {
  1017.            while (excIdClass[cou]) {
  1018.                currExcStr = excIdClass[cou];
  1019.                if (currExcStr.length > 0) {
  1020.                    curExcFirst = currExcStr.substring(0,1);
  1021.                    switch (curExcFirst) {
  1022.                        case '#':
  1023.                            if (currExcStr.length > 1) {
  1024.                                currExcStr = currExcStr.substring(1);
  1025.                                excArr['id'].push(currExcStr);
  1026.                            }
  1027.                            break;
  1028.                        case '.':
  1029.                            if (currExcStr.length > 1) {
  1030.                                currExcStr = currExcStr.substring(1);
  1031.                                excArr['class'].push(currExcStr);
  1032.                            }
  1033.                            break;
  1034.                        default:
  1035.                            excArr['tag'].push(currExcStr);
  1036.                            break;
  1037.                    }
  1038.                    cou++;
  1039.                }
  1040.            }
  1041.        }
  1042.        return excArr;
  1043.    }
  1044.  
  1045.    possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck) {
  1046.        if (possibleTagsArray.includes("LI")) {
  1047.            if (possibleTagsArray.includes("UL")) {
  1048.                possibleTagsInCheck.push("UL");
  1049.            }
  1050.            if (possibleTagsArray.includes("OL")) {
  1051.                possibleTagsInCheck.push("OL");
  1052.            }
  1053.        }
  1054.  
  1055.        return false;
  1056.    }
  1057.  
  1058.    textLengthGatherer(lordOfElementsLoc) {
  1059.        var possibleTagsArray;
  1060.        if (typeof tagsListForTextLength!=="undefined") {
  1061.            possibleTagsArray = tagsListForTextLength;
  1062.        } else {
  1063.            possibleTagsArray = ["P", "H1", "H2", "H3", "H4", "H5", "H6", "DIV", "BLOCKQUOTE", "INDEX", "ARTICLE", "SECTION"];
  1064.        }
  1065.        let possibleTagsInCheck = ["DIV", "INDEX", "SECTION"];
  1066.  
  1067.        this.possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck);
  1068.        let excArr = this.excIdClUnpacker(),
  1069.            textLength = 0,
  1070.            tlArray = [];
  1071.  
  1072.        function textLengthGathererRec(lordOfElementsLoc) {
  1073.            let allowed;
  1074.            let cou1;
  1075.            let classesArray;
  1076.            let countSuccess = 0;
  1077.            try {
  1078.                for (let i = 0; i < lordOfElementsLoc.children.length; i++) {
  1079.                    if (possibleTagsArray.includes(lordOfElementsLoc.children[i].tagName)
  1080.                        &&!lordOfElementsLoc.children[i].classList.contains("percentPointerClass")
  1081.                        &&lordOfElementsLoc.children[i].id!="toc_container"
  1082.                    ) {
  1083.                        if (possibleTagsInCheck.includes(lordOfElementsLoc.children[i].tagName)
  1084.                            &&(lordOfElementsLoc.children[i].children.length > 0)
  1085.                        ) {
  1086.                            allowed = true;
  1087.                            if (lordOfElementsLoc.children[i].id&&excArr['id'].length > 0) {
  1088.                                cou1 = 0;
  1089.                                while (excArr['id'][cou1]) {
  1090.                                    if (lordOfElementsLoc.children[i].id.toLowerCase()==excArr['id'][cou1].toLowerCase()) {
  1091.                                        allowed = false;
  1092.                                        break;
  1093.                                    }
  1094.                                    cou1++;
  1095.                                }
  1096.                            }
  1097.  
  1098.                            if (lordOfElementsLoc.children[i].classList.length > 0&&excArr['class'].length > 0) {
  1099.                                cou1 = 0;
  1100.                                while (excArr['class'][cou1]) {
  1101.                                    classesArray = excArr['class'][cou1].split('.');
  1102.                                    if (classesArray.every(className => lordOfElementsLoc.children[i].classList.contains(className))) {
  1103.                                        allowed = false;
  1104.                                        break;
  1105.                                    }
  1106.                                    cou1++;
  1107.                                }
  1108.                            }
  1109.  
  1110.                            if (excArr['tag'].length > 0) {
  1111.                                cou1 = 0;
  1112.                                while (excArr['tag'][cou1]) {
  1113.                                    if (lordOfElementsLoc.children[i].tagName.toLowerCase()==excArr['tag'][cou1].toLowerCase()) {
  1114.                                        allowed = false;
  1115.                                        break;
  1116.                                    }
  1117.                                    cou1++;
  1118.                                }
  1119.                            }
  1120.  
  1121.                            if (allowed) {
  1122.                                if (textLengthGathererRec(lordOfElementsLoc.children[i], excArr, possibleTagsArray, possibleTagsInCheck)) {
  1123.                                    countSuccess++;
  1124.                                    continue;
  1125.                                }
  1126.                            }
  1127.                        }
  1128.                        textLength = textLength + lordOfElementsLoc.children[i].innerText.length;
  1129.                        tlArray.push({
  1130.                            tag: lordOfElementsLoc.children[i].tagName,
  1131.                            length: lordOfElementsLoc.children[i].innerText.length,
  1132.                            lengthSum: textLength,
  1133.                            element: lordOfElementsLoc.children[i]
  1134.                        });
  1135.                        countSuccess++;
  1136.                    }
  1137.                }
  1138.            } catch (er) {
  1139.                console.log(er.message);
  1140.            }
  1141.            return countSuccess > 0;
  1142.        }
  1143.  
  1144.        textLengthGathererRec(lordOfElementsLoc);
  1145.  
  1146.        return {array: tlArray, length: textLength};
  1147.    }
  1148. };if (typeof window.jsInputerLaunch==='undefined') {window.jsInputerLaunch = -1;}
  1149.  
  1150. function asyncInsertingsInsertingFunction(insertingsArray) {
  1151.    let currentElementForInserting = 0;
  1152.    let currentElementToMove = 0;
  1153.    let positionElement = 0;
  1154.    let position = 0;
  1155.    let insertToAdd = 0;
  1156.    let postId = 0;
  1157.    let repeatSearch = 0;
  1158.    if (insertingsArray&&insertingsArray.length > 0) {
  1159.        for (let i = 0; i < insertingsArray.length; i++) {
  1160.            if (!insertingsArray[i]['used']||(insertingsArray[i]['used']&&insertingsArray[i]['used']==0)) {
  1161.                positionElement = insertingsArray[i]['position_element'];
  1162.                position = insertingsArray[i]['position'];
  1163.                insertToAdd = insertingsArray[i]['content'];
  1164.                postId = insertingsArray[i]['postId'];
  1165.  
  1166.                currentElementForInserting = document.querySelector(positionElement);
  1167.  
  1168.                currentElementToMove = document.querySelector('.coveredInsertings[data-id="'+postId+'"]');
  1169.                if (currentElementForInserting) {
  1170.                    if (position==0) {
  1171.                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting);
  1172.                        currentElementToMove.classList.remove('coveredInsertings');
  1173.                        insertingsArray[i]['used'] = 1;
  1174.                    } else {
  1175.                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting.nextSibling);
  1176.                        currentElementToMove.classList.remove('coveredInsertings');
  1177.                        insertingsArray[i]['used'] = 1;
  1178.                    }
  1179.                } else {
  1180.                    repeatSearch = 1;
  1181.                }
  1182.            }
  1183.        }
  1184.    }
  1185.    if (repeatSearch == 1) {
  1186.        setTimeout(function () {
  1187.            asyncInsertingsInsertingFunction(insertingsArray);
  1188.        }, 100)
  1189.    }
  1190. }
  1191.  
  1192. function insertingsFunctionLaunch() {
  1193.    if (window.jsInsertingsLaunch !== undefined&&jsInsertingsLaunch == 25) {
  1194.        asyncInsertingsInsertingFunction(insertingsArray);
  1195.    } else {
  1196.        setTimeout(function () {
  1197.            insertingsFunctionLaunch();
  1198.        }, 100)
  1199.    }
  1200. }
  1201.  
  1202. function setLongCache() {
  1203.    let xhttp = new XMLHttpRequest();
  1204.    let sendData = 'action=setLongCache&type=longCatching&_csrf='+rb_csrf;
  1205.    xhttp.onreadystatechange = function(redata) {
  1206.        if (this.readyState == 4 && this.status == 200) {
  1207.            console.log('long cache deployed');
  1208.        }
  1209.    };
  1210.    xhttp.open("POST", rb_ajaxurl, true);
  1211.    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  1212.    xhttp.send(sendData);
  1213. }
  1214.  
  1215. function cachePlacing(alert_type, errorInfo=null) {
  1216.    let adBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
  1217.    let curAdBlock;
  1218.    let okStates = ['done','refresh-wait','no-block','fetched'];
  1219.    /* let adId = -1; */
  1220.    let blockAid = null;
  1221.    let blockId;
  1222.  
  1223.    if (typeof cachedBlocksArray !== 'undefined'&&cachedBlocksArray&&cachedBlocksArray.length > 0&&adBlocks&&adBlocks.length > 0) {
  1224.        for (let i = 0; i < adBlocks.length; i++) {
  1225.            blockAid = adBlocks[i]['dataset']['aid'];
  1226.  
  1227.            if (!blockAid) {
  1228.                blockId = adBlocks[i]['dataset']['id'];
  1229.                if (cachedBlocksArray[blockId]) {
  1230.                    jQuery(adBlocks[i]).html(cachedBlocksArray[blockId]);
  1231.                }
  1232.            }
  1233.        }
  1234.    }
  1235.  
  1236.    if (alert_type&&alert_type=='high') {
  1237.        setLongCache();
  1238.    }
  1239. }
  1240.  
  1241. function saveContentBlock(contentContainer) {
  1242.    try {
  1243.        if (!gather_content) {
  1244.            console.log('content gather save function entered');
  1245.            let xhttp = new XMLHttpRequest();
  1246.            let sendData = 'action=RFWP_saveContentContainer&type=gatherContentBlock&data='+contentContainer+'&_csrf='+rb_csrf;
  1247.            xhttp.onreadystatechange = function(redata) {
  1248.                if (this.readyState == 4 && this.status == 200) {
  1249.                    console.log('content gather succeed');
  1250.                } else {
  1251.                    console.log('content gather gone wrong');
  1252.                }
  1253.            };
  1254.            xhttp.open("POST", rb_ajaxurl, true);
  1255.            xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  1256.            xhttp.send(sendData);
  1257.        }
  1258.    } catch (er) {
  1259.        console.log('content gather error: '+er+';');
  1260.    }
  1261. }
  1262.  
  1263. window.gatherContentBlock = function() {
  1264.    let cPointers = null,
  1265.        cPointer = null,
  1266.        cPointerParent = null,
  1267.        cPointerParentString = null,
  1268.        cPointerParentStringItem = null,
  1269.        classWords = ['content','entry','post','wrap','description','taxonomy'],
  1270.        classChoosed = false;
  1271.  
  1272.    cPointers = document.querySelectorAll('.content_pointer_class');
  1273.    if (cPointers.length > 0) {
  1274.        for (let i = 0; i < cPointers.length; i++) {
  1275.            cPointer = cPointers[i];
  1276.  
  1277.            cPointerParentStringItem = null;
  1278.            if (window.jsInputerLaunch!==15) {
  1279.                return false;
  1280.            }
  1281.            cPointerParent = cPointer.parentElement;
  1282.            if (cPointerParent) {
  1283.                if (cPointerParent.classList.length > 0) {
  1284.                    cPointerParentStringItem = cPointerParent.tagName.toLowerCase() + '.' + cPointerParent.classList[0];
  1285.                    for (let j = 0; j < classWords.length; j++) {
  1286.                        for (let i = 0; i < cPointerParent.classList.length; i++) {
  1287.                            if (cPointerParent.classList[i].includes(classWords[j])) {
  1288.                                cPointerParentStringItem = cPointerParent.tagName.toLowerCase() + '.'+cPointerParent.classList[i];
  1289.                                classChoosed = true;
  1290.                                break;
  1291.                            }
  1292.                        }
  1293.                        if (classChoosed===true) {
  1294.                            break;
  1295.                        }
  1296.                    }
  1297.  
  1298.                    if (classChoosed===true) {
  1299.                        cPointerParentString = cPointerParentStringItem;
  1300.                        break;
  1301.                    }
  1302.                }
  1303.                if (cPointerParentStringItem && (!cPointerParentString || cPointerParentString !== cPointerParentStringItem)) {
  1304.                    cPointerParentString = cPointerParentStringItem;
  1305.                }
  1306.            }
  1307.        }
  1308.  
  1309.        if (cPointerParentString) {
  1310.            console.log('content gather content block detected');
  1311.            saveContentBlock(cPointerParentString);
  1312.        }
  1313.    } else {
  1314.        console.log('content gather delayed');
  1315.        setTimeout(function () {
  1316.            gatherContentBlock();
  1317.        }, 500);
  1318.    }
  1319. };
  1320.  
  1321. window.removeMarginClass = function(blockObject) {
  1322.    if (blockObject && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  1323.        let binderName,
  1324.            neededElement,
  1325.            currentDirection,
  1326.            seekerIterationCount,
  1327.            currentSubling;
  1328.  
  1329.        binderName = blockObject.dataset.rbinder;
  1330.        if (binderName) {
  1331.            seekerIterationCount = 0;
  1332.            currentDirection = 'before';
  1333.            do {
  1334.                seekerIterationCount++;
  1335.                currentSubling = blockObject.nextElementSibling;
  1336.                if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
  1337.                    neededElement = currentSubling;
  1338.                }
  1339.            } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
  1340.  
  1341.            if (!neededElement) {
  1342.                seekerIterationCount = 0;
  1343.                currentDirection = 'after';
  1344.                do {
  1345.                    seekerIterationCount++;
  1346.                    currentSubling = blockObject.previousElementSibling;
  1347.                    if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
  1348.                        neededElement = currentSubling;
  1349.                    }
  1350.                } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
  1351.            }
  1352.            if (neededElement) {
  1353.                if (currentDirection === 'before') {
  1354.                    neededElement.classList.remove('rfwp_removedMarginTop');
  1355.                } else {
  1356.                    neededElement.classList.remove('rfwp_removedMarginBottom');
  1357.                }
  1358.            }
  1359.        }
  1360.    }
  1361.  
  1362.    return false;
  1363. };
  1364. </script> <script type="text/javascript" id="toc-front-js-extra">
  1365. /* <![CDATA[ */
  1366. var tocplus = {"visibility_show":"show","visibility_hide":"hide","width":"Auto"};
  1367. /* ]]> */
  1368. </script> <script type="text/javascript" src="https://progitary.ru/wp-content/plugins/table-of-contents-plus/front.min.js" id="toc-front-js"></script> <script type="text/javascript" id="my-popup-scripts-js-extra">
  1369. /* <![CDATA[ */
  1370. var my_popup_ajax = {"url":"https:\/\/progitary.ru\/wp-admin\/admin-ajax.php","nonce":"5f5c0dcb1d","action":"my-popup"};
  1371. /* ]]> */
  1372. </script> <script type="text/javascript" id="my-popup-scripts-js-before">
  1373. /* <![CDATA[ */
  1374. var myPopupInitData = {params:"eyJpc19ob21lIjp0cnVlLCJpZCI6bnVsbCwidHlwZSI6bnVsbCwic3VidHlwZSI6bnVsbCwidXJsIjoiXC8iLCJfbWFjIjoiMTdmNjgzMGIxODVmMzVlYjQ3ZDFlYjM1MjMyMmNhYmEifQ=="};
  1375. /* ]]> */
  1376. </script> <script type="text/javascript" defer="defer" src="https://progitary.ru/wp-content/plugins/my-popup/assets/public/js/scripts.min.js" id="my-popup-scripts-js"></script> <script type="text/javascript" id="reboot-scripts-js-extra">
  1377. /* <![CDATA[ */
  1378. var settings_array = {"rating_text_average":"\u0441\u0440\u0435\u0434\u043d\u0435\u0435","rating_text_from":"\u0438\u0437","lightbox_display":"1","sidebar_fixed":""};
  1379. var wps_ajax = {"url":"https:\/\/progitary.ru\/wp-admin\/admin-ajax.php","nonce":"799ea0d245"};
  1380. /* ]]> */
  1381. </script> <script type="text/javascript" src="https://progitary.ru/wp-content/themes/reboot/assets/js/scripts.min.js" id="reboot-scripts-js"></script> <script type="text/javascript" src="https://progitary.ru/wp-content/plugins/easy-fancybox/vendor/purify.min.js" id="fancybox-purify-js"></script> <script type="text/javascript" src="https://progitary.ru/wp-content/plugins/easy-fancybox/fancybox/1.5.4/jquery.fancybox.min.js" id="jquery-fancybox-js"></script> <script type="text/javascript" id="jquery-fancybox-js-after">
  1382. /* <![CDATA[ */
  1383. var fb_timeout, fb_opts={'autoScale':true,'showCloseButton':true,'width':560,'height':340,'margin':20,'pixelRatio':'false','padding':10,'centerOnScroll':false,'enableEscapeButton':true,'speedIn':300,'speedOut':300,'overlayShow':true,'hideOnOverlayClick':true,'overlayColor':'#000','overlayOpacity':0.6,'minViewportWidth':320,'minVpHeight':320,'disableCoreLightbox':'true','enableBlockControls':'true','fancybox_openBlockControls':'true' };
  1384. if(typeof easy_fancybox_handler==='undefined'){
  1385. var easy_fancybox_handler=function(){
  1386. jQuery([".nolightbox","a.wp-block-file__button","a.pin-it-button","a[href*='pinterest.com\/pin\/create']","a[href*='facebook.com\/share']","a[href*='twitter.com\/share']"].join(',')).addClass('nofancybox');
  1387. jQuery('a.fancybox-close').on('click',function(e){e.preventDefault();jQuery.fancybox.close()});
  1388. /* IMG */
  1389. var unlinkedImageBlocks=jQuery(".wp-block-image > img:not(.nofancybox,figure.nofancybox>img)");
  1390. unlinkedImageBlocks.wrap(function() {
  1391. var href = jQuery( this ).attr( "src" );
  1392. return "<a href='" + href + "'></a>";
  1393. });
  1394. var fb_IMG_select=jQuery('a[href*=".jpg" i]:not(.nofancybox,li.nofancybox>a,figure.nofancybox>a),area[href*=".jpg" i]:not(.nofancybox),a[href*=".png" i]:not(.nofancybox,li.nofancybox>a,figure.nofancybox>a),area[href*=".png" i]:not(.nofancybox),a[href*=".webp" i]:not(.nofancybox,li.nofancybox>a,figure.nofancybox>a),area[href*=".webp" i]:not(.nofancybox),a[href*=".jpeg" i]:not(.nofancybox,li.nofancybox>a,figure.nofancybox>a),area[href*=".jpeg" i]:not(.nofancybox)');
  1395. fb_IMG_select.addClass('fancybox image');
  1396. var fb_IMG_sections=jQuery('.gallery,.wp-block-gallery,.tiled-gallery,.wp-block-jetpack-tiled-gallery,.ngg-galleryoverview,.ngg-imagebrowser,.nextgen_pro_blog_gallery,.nextgen_pro_film,.nextgen_pro_horizontal_filmstrip,.ngg-pro-masonry-wrapper,.ngg-pro-mosaic-container,.nextgen_pro_sidescroll,.nextgen_pro_slideshow,.nextgen_pro_thumbnail_grid,.tiled-gallery');
  1397. fb_IMG_sections.each(function(){jQuery(this).find(fb_IMG_select).attr('rel','gallery-'+fb_IMG_sections.index(this));});
  1398. jQuery('a.fancybox,area.fancybox,.fancybox>a').each(function(){jQuery(this).fancybox(jQuery.extend(true,{},fb_opts,{'transition':'elastic','transitionIn':'elastic','transitionOut':'elastic','opacity':false,'hideOnContentClick':false,'titleShow':true,'titlePosition':'over','titleFromAlt':true,'showNavArrows':true,'enableKeyboardNav':true,'cyclic':false,'mouseWheel':'true','changeSpeed':250,'changeFade':300}))});
  1399. };};
  1400. jQuery(easy_fancybox_handler);jQuery(document).on('post-load',easy_fancybox_handler);
  1401. /* ]]> */
  1402. </script> <script type="text/javascript" src="https://progitary.ru/wp-content/plugins/easy-fancybox/vendor/jquery.easing.min.js" id="jquery-easing-js"></script> <script type="text/javascript" src="https://progitary.ru/wp-content/plugins/easy-fancybox/vendor/jquery.mousewheel.min.js" id="jquery-mousewheel-js"></script> <script type="text/javascript" id="q2w3_fixed_widget-js-extra">
  1403. /* <![CDATA[ */
  1404. var q2w3_sidebar_options = [{"use_sticky_position":true,"margin_top":0,"margin_bottom":0,"stop_elements_selectors":"","screen_max_width":0,"screen_max_height":0,"widgets":[]}];
  1405. /* ]]> */
  1406. </script> <script type="text/javascript" src="https://progitary.ru/wp-content/plugins/q2w3-fixed-widget/js/frontend.min.js" id="q2w3_fixed_widget-js"></script> <div id="clearfy-cookie" class="clearfy-cookie clearfy-cookie-hide clearfy-cookie--bottom"> <div class="clearfy-cookie-container"> Этот сайт использует cookie для хранения данных. Продолжая использовать сайт, Вы даете свое согласие на работу с этими файлами. <button id="clearfy-cookie-accept" class="clearfy-cookie-accept">OK</button> </div></div><script>var cookie_clearfy_hide = document.cookie.replace(/(?:(?:^|.*;\s*)clearfy_cookie_hide\s*\=\s*([^;]*).*$)|^.*$/, "$1");if ( ! cookie_clearfy_hide.length ) {  document.getElementById("clearfy-cookie").classList.remove("clearfy-cookie-hide");} document.getElementById("clearfy-cookie-accept").onclick = function() { document.getElementById("clearfy-cookie").className += " clearfy-cookie-hide"; var clearfy_cookie_date = new Date(new Date().getTime() + 31536000 * 1000); document.cookie = "clearfy_cookie_hide=yes; path=/; expires=" + clearfy_cookie_date.toUTCString(); setTimeout(function() { document.getElementById("clearfy-cookie").parentNode.removeChild( document.getElementById("clearfy-cookie") ); }, 300);}</script><script>!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("test",null,e)}catch(t){}return t}()||function(i){var o=!0,s=!1;EventTarget.prototype.addEventListener=function(t,e,n){var r="object"==typeof n,a=r?n.capture:n;n=r?n:{},"touchstart"!=t&&"scroll"!=t&&"wheel"!=t||(n.passive=void 0!==n.passive?n.passive:o),n.capture=void 0!==a?a:s,i.call(this,t,e,n)}}(EventTarget.prototype.addEventListener);</script> <!-- '<script src="https://mc.yandex.ru/metrika/tag.js" async="true"><\/script><script>(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();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(87510478,"init",{clickmap:true,trackLinks:true,accurateTrackBounce:true,webvisor:true});<\/script><noscript><div><img src="https://mc.yandex.ru/watch/87510478" style="position:absolute;left:-9999px;" alt=""><\/div><\/noscript>', --> <div class="before-footer-scripts-place"></div> <div class="welcome-pt-modal"> <div class="welcome-pt-overlay"> <div class="site-popup-inner welcome-pt-message"> <form method="post" enctype="multipart/form-data" action=""> <div class="site-form-title">ProGitary.ru</div> <div class="site-row"> <p class="site-form-text">информационный портал для любителей гитары</p> </div> <div class="site-form-buttons"> <div class="site-form-button"> <a href="#" class="welcome-pt-close">Продолжить</a> </div> </div> </form> </div> </div> </div> <script src="/pts.lazyload.js"></script> <script>
  1407.    document.addEventListener('DOMContentLoaded', function() {
  1408.        let dataLazyLoadingJS = {
  1409.            data: {
  1410.                ya_counter: {
  1411.                    status: false,
  1412.                    html: '<script src="https://mc.yandex.ru/metrika/tag.js" async="true"><\/script><script>(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();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(87510478,"init",{clickmap:true,trackLinks:true,accurateTrackBounce:true,webvisor:true});<\/script><noscript><div><img src="https://mc.yandex.ru/watch/87510478" style="position:absolute;left:-9999px;" alt=""><\/div><\/noscript>',
  1413.                    area: '.before-footer-scripts-place'
  1414.                }
  1415.            }
  1416.        };
  1417.        let dataSettings = {
  1418.            cookie_name: 'PST_VERIFIED_COOKIE',
  1419.        };
  1420.        let LazyLoad = new ptsLazyLoad(dataLazyLoadingJS, dataSettings);
  1421.        LazyLoad.simpleCheck(1);
  1422. });
  1423. </script> </body> </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda