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.      interfaceType: 0,
  74.      withoutIframe: true,
  75.      mobile: {
  76.        align: "center",
  77.        verticalAlign: "bottom",
  78.      },
  79.    });
  80.    return;
  81.  }
  82.  setTimeout(UTCoreInitialization, 100);
  83. })();
  84. </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">642к.</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">155к.</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/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">94.5к.</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/klassicheskaya-akusticheskaya-gitara-otlichiya"><img width="870" height="400" src="https://progitary.ru/wp-content/uploads/2022/02/klassicheskaya-i-estradnaya-gitary-3-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/klassicheskaya-akusticheskaya-gitara-otlichiya">Чем классическая гитара отличается от акустической</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-02-06">06.02.2022</time></span><span class="post-card__comments">1</span><span class="post-card__views">91.9к.</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/klassicheskaya-akusticheskaya-gitara-otlichiya" content="Чем классическая гитара отличается от акустической"> <meta itemprop="dateModified" content="2023-10-16"> <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/kak-nauchitsya-igrat-na-gitare"><img width="870" height="400" src="https://progitary.ru/wp-content/uploads/2022/02/pexels-north-1407322-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/kak-nauchitsya-igrat-na-gitare">Как научиться играть на гитаре с нуля</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-02-12">12.02.2022</time></span><span class="post-card__comments">0</span><span class="post-card__views">88.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/kak-nauchitsya-igrat-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/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">85.8к.</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">82.5к.</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/stroenie-i-ustroystvo-gitary"><img width="870" height="400" src="https://progitary.ru/wp-content/uploads/2022/02/stroenie-gitary-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/stroenie-i-ustroystvo-gitary">Строение и устройство гитары</a></span></div><div class="post-card__meta"><span class="post-card__date"><time itemprop="datePublished" datetime="2022-02-19">19.02.2022</time></span><span class="post-card__comments">0</span><span class="post-card__views">81.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/stroenie-i-ustroystvo-gitary" content="Строение и устройство гитары"> <meta itemprop="dateModified" content="2023-10-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><!--.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">
  85. {"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"}]}
  86. </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>
  87. (function UTCoreInitialization() {
  88.  if (window.UTInventoryCore) {
  89.    new window.UTInventoryCore({
  90.      type: "embed",
  91.      host: 1693,
  92.      content: false,
  93.      container: "ut-embed",
  94.      width: 400,
  95.      height: 225,
  96.      playMode: "autoplay-visible",
  97.      collapse: "none",
  98.      infinity: true,
  99.      infinityTimer: 1,
  100.      interfaceType: 0,
  101.      withoutIframe: true,
  102.    });
  103.    return;
  104.  }
  105.  setTimeout(UTCoreInitialization, 100);
  106. })();
  107. </script> <script>
  108. if (typeof rb_ajaxurl==='undefined') {var rb_ajaxurl = 'https://progitary.ru/wp-admin/admin-ajax.php';}
  109. if (typeof rb_csrf==='undefined') {var rb_csrf = 'ac5bf15e66';}
  110. if (typeof gather_content==='undefined') {var gather_content = true;}
  111. window.RFWP_BlockInserting = class {
  112.    _blockSettingArray;
  113.  
  114.    static endedSc = false;
  115.    static endedCc = false;
  116.  
  117.    constructor(blockSettingArray) {
  118.        this._blockSettingArray = blockSettingArray;
  119.    }
  120.  
  121.    static launch(blockSettingArray) {
  122.        var $this = this;
  123.        if (window.jsInputerLaunch !== undefined && [15, 10].includes(window.jsInputerLaunch)) {
  124.            var item = new RFWP_BlockInserting(blockSettingArray);
  125.            item.insert();
  126.            if (!this.endedSc) {
  127.                item.shortcodesInsert();
  128.            }
  129.            if (!this.endedCc) {
  130.                /* clearUnsuitableCache(0); */
  131.            }
  132.            /* blocksReposition();
  133.            cachePlacing();
  134.            symbolMarkersPlaced(); */
  135.        } else {
  136.            setTimeout(function () {
  137.                $this.launch(blockSettingArray);
  138.            }, 50);
  139.        }
  140.    }
  141.  
  142.    insert() {
  143.        let repeatInsert = false;
  144.        let index, parent_with_content, usedBlockSettingArrayIds, lordOfElements, contentLength, rejectedBlocks,
  145.            containerFor6th, containerFor7th, countHeaders, blockSetting, currentElement, currentElementArray, elPlace;
  146.  
  147.        document.querySelectorAll(".content_pointer_class").forEach((content_pointer) => {
  148.            parent_with_content = content_pointer.parentElement;
  149.            usedBlockSettingArrayIds = (content_pointer.getAttribute('data-block-ids') || "").split(',');
  150.            lordOfElements = parent_with_content;
  151.            parent_with_content = parent_with_content.parentElement;
  152.            contentLength = content_pointer.getAttribute('data-content-length');
  153.            rejectedBlocks = content_pointer.getAttribute('data-rejected-blocks');
  154.            if (rejectedBlocks&&rejectedBlocks.length > 0) {
  155.                rejectedBlocks = rejectedBlocks.split(',');
  156.            }
  157.            containerFor6th = [];
  158.            containerFor7th = [];
  159.  
  160.            countHeaders = parent_with_content.querySelectorAll('h1, h2, h3, h4, h5, h6').length;
  161.  
  162.            while((index = usedBlockSettingArrayIds.findIndex((el) => el === "")) >= 0) {
  163.                usedBlockSettingArrayIds.splice(index, 1);
  164.            }
  165.  
  166.            if (contentLength < 1) {
  167.                contentLength = parent_with_content.innerText.length
  168.            }
  169.  
  170.            for (var i = 0; i < this._blockSettingArray.length; i++) {
  171.                blockSetting = this._blockSettingArray[i];
  172.                currentElement = null;
  173.                currentElementArray = [];
  174.  
  175.                try {
  176.                    const binderName = blockSetting["rb_under"];
  177.  
  178.                    if (!blockSetting["text"] ||
  179.                        (blockSetting["text"] && blockSetting["text"].length < 1)
  180.                    ) {
  181.                        this._blockSettingArray.splice(i--, 1);
  182.                        continue;
  183.                    }
  184.  
  185.                    if (rejectedBlocks&&rejectedBlocks.includes(blockSetting["id"]) ||
  186.                        (blockSetting["maxHeaders"] > 0 && blockSetting["maxHeaders"] < parseInt(countHeaders)) ||
  187.                        (blockSetting["maxSymbols"] > 0 && blockSetting["maxSymbols"] < parseInt(contentLength)) ||
  188.                        (content_pointer.classList.contains("hard-content") && blockSetting["setting_type"] !== 3)
  189.                    ) {
  190.                        continue;
  191.                    }
  192.  
  193.                    const elementToAdd = this.createBlockElement(blockSetting),
  194.                        block_number = elementToAdd.children[0].attributes['data-id'].value;
  195.  
  196.                    if (usedBlockSettingArrayIds.length > 0 && usedBlockSettingArrayIds.includes(block_number)) {
  197.                        continue;
  198.                    }
  199.  
  200.                    if ((blockSetting["minHeaders"] > 0)&&(blockSetting["minHeaders"] > countHeaders)) {continue;}
  201.                    if (blockSetting["minSymbols"] > contentLength) {continue;}
  202.  
  203.                    if (blockSetting["setting_type"] == 1) {
  204.                        currentElementArray = this.currentElementsGather(blockSetting["element"].toLowerCase(), parent_with_content);
  205.                        if (!!currentElementArray && currentElementArray.length > 0) {
  206.                            if (blockSetting["elementPlace"] < 0) {
  207.                                elPlace = currentElementArray.length + blockSetting["elementPlace"];
  208.                                if (elPlace >= 0 && elPlace < currentElementArray.length) {
  209.                                    currentElement = this.currentElementReceiver(true, content_pointer, blockSetting, currentElementArray, elPlace);
  210.                                }
  211.                            } else {
  212.                                elPlace = blockSetting["elementPlace"] - 1;
  213.                                if (elPlace < currentElementArray.length) {
  214.                                    currentElement = this.currentElementReceiver(false, content_pointer, blockSetting, currentElementArray, elPlace);
  215.                                }
  216.                            }
  217.                        }
  218.                        if (!currentElement && blockSetting["showNoElement"]) {
  219.                            currentElement = currentElementArray[currentElementArray.length - 1];
  220.                        }
  221.                        if (!!currentElement) {
  222.                            this.addBlockAd(blockSetting, currentElement, elementToAdd);
  223.                            usedBlockSettingArrayIds.push(block_number);
  224.                        } else {
  225.                            repeatInsert = true;
  226.                        }
  227.                    }
  228.                    else if (blockSetting["setting_type"] == 2) {
  229.                        if (blockDuplicate == 'no') {
  230.                            blockSetting["elementCount"] = 1;
  231.                        }
  232.                        var curFirstPlace = blockSetting["firstPlace"],
  233.                            curElementCount = blockSetting["elementCount"],
  234.                            curElementStep = blockSetting["elementStep"],
  235.                            repeatableBlockIdentifier = 0,
  236.                            successAdd = false;
  237.  
  238.                        currentElementArray = this.currentElementsGather(blockSetting["element"].toLowerCase(), parent_with_content);
  239.                        if (currentElementArray) {
  240.                            for (let i1 = 0; i1 < blockSetting["elementCount"]; i1++) {
  241.                                elementToAdd.classList.add("repeatable-mark-" + repeatableBlockIdentifier);
  242.  
  243.                                elPlace = Math.round(parseInt(blockSetting["firstPlace"]) + (i1*parseInt(blockSetting["elementStep"])) - 1);
  244.                                if (elPlace < currentElementArray.length) {
  245.                                    currentElement = this.currentElementReceiver(false, content_pointer, blockSetting, currentElementArray, elPlace);
  246.                                }
  247.                                if (!currentElement && blockSetting["showNoElement"] && !i1) {
  248.                                    currentElement = currentElementArray[currentElementArray.length - 1];
  249.                                }
  250.  
  251.                                if (currentElement !== undefined && currentElement != null) {
  252.                                    this.addBlockAd(blockSetting, currentElement, elementToAdd);
  253.                                    curFirstPlace = elPlace + parseInt(blockSetting["elementStep"]) + 1;
  254.                                    curElementCount--;
  255.                                    successAdd = true;
  256.                                } else {
  257.                                    successAdd = false;
  258.                                    break;
  259.                                }
  260.                            }
  261.                        }
  262.                        if (successAdd === true) {
  263.                            usedBlockSettingArrayIds.push(block_number);
  264.                            repeatableBlockIdentifier++;
  265.                        } else {
  266.                            if (!blockSetting["unsuccess"]) {
  267.                                blockSetting["unsuccess"] = 1;
  268.                            } else {
  269.                                blockSetting["unsuccess"] = Math.round(blockSetting["unsuccess"] + 1);
  270.                            }
  271.                            if (blockSetting["unsuccess"] > 10) {
  272.                                usedBlockSettingArrayIds.push(block_number);
  273.                            } else {
  274.                                blockSetting["firstPlace"] = curFirstPlace;
  275.                                blockSetting["elementCount"] = curElementCount;
  276.                                blockSetting["elementStep"] = curElementStep;
  277.                                repeatInsert = true;
  278.                            }
  279.                        }
  280.                    }
  281.                    else if (blockSetting["setting_type"] == 3) {
  282.                        currentElement = this.getElementBySelection(blockSetting["directElement"].trim(), blockSetting)
  283.  
  284.                        if (!!currentElement) {
  285.                            this.addBlockAd(blockSetting, currentElement, elementToAdd);
  286.                            usedBlockSettingArrayIds.push(block_number);
  287.                            this._blockSettingArray.splice(i--, 1);
  288.                        } else {
  289.                            repeatInsert = true;
  290.                        }
  291.                    }
  292.                    else if (blockSetting["setting_type"] == 4) {
  293.                        content_pointer.parentElement.append(elementToAdd);
  294.                        usedBlockSettingArrayIds.push(block_number);
  295.                    }
  296.                    else if (blockSetting["setting_type"] == 5) {
  297.                        currentElementArray = this.currentElementsGather('p', content_pointer.parentElement, 1);
  298.                        if (currentElementArray && currentElementArray.length > 0) {
  299.                            let pCount = currentElementArray.length;
  300.                            let elementNumber = Math.round(pCount/2);
  301.                            if (pCount > 1) {
  302.                                currentElement = currentElementArray[elementNumber+1];
  303.                            }
  304.                            if (!!currentElement) {
  305.                                if (pCount > 1) {
  306.                                    this.addBlockAd(blockSetting, currentElement, elementToAdd, currentElement);
  307.                                } else {
  308.                                    this.addBlockAd(blockSetting, currentElement, elementToAdd, currentElement.nextSibling);
  309.                                }
  310.                                usedBlockSettingArrayIds.push(block_number);
  311.                            } else {
  312.                                repeatInsert = true;
  313.                            }
  314.                        } else {
  315.                            repeatInsert = true;
  316.                        }
  317.                    }
  318.                    else if (blockSetting["setting_type"] == 6) {
  319.                        if (containerFor6th.length > 0) {
  320.                            for (let j = 0; j < containerFor6th.length; j++) {
  321.                                if (containerFor6th[j]["elementPlace"]>blockSetting["elementPlace"]) {
  322.                                    /* continue; */
  323.                                    if (j === containerFor6th.length-1) {
  324.                                        containerFor6th.push(blockSetting);
  325.                                        usedBlockSettingArrayIds.push(block_number);
  326.                                        break;
  327.                                    }
  328.                                } else {
  329.                                    containerFor6th.splice(j, 0, blockSetting)
  330.                                    usedBlockSettingArrayIds.push(block_number);
  331.                                    break;
  332.                                }
  333.                            }
  334.                        } else {
  335.                            containerFor6th.push(blockSetting);
  336.                            usedBlockSettingArrayIds.push(block_number);
  337.                        }
  338.                        /* vidpravutu v vidstiinuk dlya 6ho tipa */
  339.                    }
  340.                    else if (blockSetting["setting_type"] == 7) {
  341.                        if (containerFor7th.length > 0) {
  342.                            for (let j = 0; j < containerFor7th.length; j++) {
  343.                                if (containerFor7th[j]["elementPlace"]>blockSetting["elementPlace"]) {
  344.                                    /* continue; */
  345.                                    if (j == containerFor7th.length-1) {
  346.                                        containerFor7th.push(blockSetting);
  347.                                        usedBlockSettingArrayIds.push(block_number);
  348.                                        break;
  349.                                    }
  350.                                } else {
  351.                                    containerFor7th.splice(j, 0, blockSetting)
  352.                                    usedBlockSettingArrayIds.push(block_number);
  353.                                    break;
  354.                                }
  355.                            }
  356.                        } else {
  357.                            containerFor7th.push(blockSetting);
  358.                            usedBlockSettingArrayIds.push(block_number);
  359.                        }
  360.                    }
  361.                } catch (e) {
  362.                    console.log(e.message);
  363.                }
  364.            }
  365.  
  366.            var array = this.textLengthGatherer(lordOfElements),
  367.                tlArray = array.array,
  368.                length = array.length;
  369.  
  370.            if (containerFor6th.length > 0) {
  371.                this.percentInserter(lordOfElements, containerFor6th, tlArray, length);
  372.            }
  373.            if (containerFor7th.length > 0) {
  374.                this.symbolInserter(lordOfElements, containerFor7th, tlArray);
  375.            }
  376.            this.shortcodesInsert();
  377.            content_pointer.setAttribute("data-block-ids", usedBlockSettingArrayIds.join(","))
  378.        });
  379.  
  380.        let stopper = 0,
  381.            $this = this;
  382.  
  383.        window.addEventListener('load', function () {
  384.            if (repeatInsert === true) {
  385.                setTimeout(function () {
  386.                    $this.insert();
  387.                }, 100);
  388.            }
  389.        });
  390.    }
  391.  
  392.    createBlockElement(blockSetting) {
  393.        let element = document.createElement("div");
  394.  
  395.        element.classList.add("percentPointerClass");
  396.        element.classList.add("marked");
  397.        if (blockSetting["sc"] === 1) {
  398.            element.classList.add("scMark");
  399.        }
  400.        element.innerHTML = blockSetting["text"];
  401.        element.dataset.rbinder = blockSetting["rb_under"];
  402.  
  403.        const block_number = element.children[0].attributes['data-id'].value,
  404.            elementToAddStyle = this.createStyleElement(block_number, blockSetting["elementCss"]);
  405.  
  406.        if (elementToAddStyle&&elementToAddStyle!=='default') {
  407.            element.style.textAlign = elementToAddStyle;
  408.        }
  409.  
  410.        return element
  411.    }
  412.  
  413.    addBlockAd(blockSetting, currentElement, elementToAdd, position = null) {
  414.        if (!position) {
  415.            position = this.initTargetToInsert(blockSetting["elementPosition"], 'element', currentElement);
  416.        }
  417.        currentElement.parentNode.insertBefore(elementToAdd, position);
  418.        currentElement.classList.add('rbinder-'+blockSetting["rb_under"]);
  419.        elementToAdd.classList.remove('coveredAd');
  420.    }
  421.  
  422.    getElementBySelection(directElement, blockSetting) {
  423.        if (directElement.search('#') > -1) {
  424.            return document.querySelector(directElement);
  425.        }
  426.        if ((directElement.search('#') < 0)&&(directElement.search('.') > -1)) {
  427.            return this.directClassElementDetecting(directElement, blockSetting);
  428.        }
  429.    }
  430.  
  431.    directClassElementDetecting(directElement, blockSetting) {
  432.        let findQuery = false;
  433.        let currentElementArray = document.querySelectorAll(directElement);
  434.        let currentElement = null;
  435.  
  436.        if (currentElementArray.length > 0) {
  437.            if (blockSetting['elementPlace'] > 1) {
  438.                if (currentElementArray.length >= blockSetting['elementPlace']) {
  439.                    currentElement = currentElementArray[blockSetting['elementPlace']-1];
  440.                } else if (currentElementArray.length < blockSetting['elementPlace']) {
  441.                    if (blockSetting['showNoElement'] > 0) {
  442.                        currentElement = currentElementArray[currentElementArray.length - 1];
  443.                    }
  444.                } else {
  445.                    findQuery = true;
  446.                }
  447.            } else if (blockSetting['elementPlace'] < 0) {
  448.                if ((currentElementArray.length + blockSetting['elementPlace'] + 1) > 0) {
  449.                    currentElement = currentElementArray[currentElementArray.length + blockSetting['elementPlace']];
  450.                } else {
  451.                    findQuery = true;
  452.                }
  453.            } else {
  454.                findQuery = true;
  455.            }
  456.        } else {
  457.            findQuery = true;
  458.        }
  459.  
  460.        if (findQuery) {
  461.            currentElement = document.querySelector(directElement);
  462.        }
  463.  
  464.        return currentElement;
  465.    }
  466.  
  467.    placingArrayToH1(usedElement, elementTagToFind) {
  468.        let elements = usedElement.querySelectorAll(elementTagToFind);
  469.  
  470.        if (elements.length < 1) {
  471.            if (usedElement.parentElement) {
  472.                elements = this.placingArrayToH1(usedElement.parentElement, elementTagToFind);
  473.            }
  474.        }
  475.        return elements;
  476.    }
  477.  
  478.    elementsCleaning(excArr, elList, pwcLocal, gatherString) {
  479.        let markedClass = 'rb_m_inc';
  480.        let markedClassBad = 'rb_m_exc';
  481.        let cou = 0;
  482.        let cou1 = 0;
  483.        let finalArr = [];
  484.        let finalArrClear = [];
  485.        let checkNearest;
  486.        let outOfRangeCheck;
  487.        let gatherRejected;
  488.        let allower;
  489.  
  490.        try {
  491.            while (elList[cou]) {
  492.                allower = true;
  493.                if (!elList[cou].classList.contains(markedClassBad)) {
  494.                    if (excArr&&excArr.length > 0) {
  495.                        cou1 = 0;
  496.                        while (excArr[cou1]) {
  497.                            checkNearest = elList[cou].parentElement.closest(excArr[cou1]);
  498.                            if (checkNearest) {
  499.                                checkNearest.classList.add('currClosest');
  500.                                outOfRangeCheck = pwcLocal.querySelector('.currClosest');
  501.                                if (outOfRangeCheck) {
  502.                                    allower = false;
  503.                                    checkNearest.classList.add(markedClass);
  504.                                    gatherRejected = checkNearest.querySelectorAll(gatherString);
  505.                                    if (gatherRejected.length > 0) {
  506.                                        for (let i1 = 0; i1 < gatherRejected.length; i1++) {
  507.                                            gatherRejected[i1].classList.add(markedClassBad);
  508.                                        }
  509.                                    }
  510.                                }
  511.                                checkNearest.classList.remove('currClosest');
  512.                            }
  513.                            cou1++;
  514.                        }
  515.                    }
  516.                    if (allower===true) {
  517.                        elList[cou].classList.add(markedClass);
  518.                        /* finalArr.push(elList[cou]); */
  519.                    }
  520.                }
  521.                cou++;
  522.            }
  523.            finalArr = pwcLocal.querySelectorAll('.'+markedClass+':not('+markedClassBad+')');
  524.            finalArrClear = pwcLocal.querySelectorAll('.'+markedClass+',.'+markedClassBad);
  525.            if (finalArrClear&&finalArrClear.length > 0) {
  526.                for (let i1 = 0; i1 < finalArrClear.length; i1++) {
  527.                    finalArrClear[i1].classList.remove(markedClass,markedClassBad);
  528.                }
  529.            }
  530.        } catch (er) {
  531.            console.log(er.message);
  532.        }
  533.        return finalArr;
  534.    }
  535.  
  536.    currentElementsGather(usedElement, localPwc, loopLimit = 2, ) {
  537.        let curElementSearchRepeater = true;
  538.        let curElementSearchCounter = 0;
  539.        let currentElementArray = null;
  540.        let ExcludedString = '';
  541.        let tagListString = '';
  542.        let tagListStringExc = '';
  543.        let cou = 0;
  544.        let tagList;
  545.        /* let excArr = excIdClUnpacker(); */
  546.        let tagListCou = 0;
  547.  
  548.        if (usedElement==='h1') {
  549.            currentElementArray = this.placingArrayToH1(localPwc, usedElement);
  550.        } else {
  551.            if (usedElement==='h2-4')
  552.                tagList = ['h2','h3','h3'];
  553.            else
  554.                tagList = [usedElement];
  555.  
  556.            while (tagList[tagListCou]) {
  557.                tagListString += ((cou++ > 0) ? ',' : '') + tagList[tagListCou];
  558.                tagListStringExc += ':not(' + tagList[tagListCou] + ')';
  559.                tagListCou++;
  560.            }
  561.  
  562.            ExcludedString = '';
  563.            if (excIdClass&&excIdClass.length > 0) {
  564.                for (let i2 = 0; i2 < excIdClass.length; i2++) {
  565.                    if (excIdClass[i2].length > 0) {
  566.                        ExcludedString += (i2>0?',':'')+excIdClass[i2]+tagListStringExc;
  567.                    }
  568.                }
  569.            }
  570.            let detailedQueryString = tagListString+','+ExcludedString;
  571.  
  572.            /* console.log(detailedQueryString); */
  573.            while (curElementSearchRepeater&&curElementSearchCounter < loopLimit) {
  574.                try {
  575.                    currentElementArray = localPwc.querySelectorAll(tagListString);
  576.                } catch (e1) {console.log(e1.message);}
  577.                if (!currentElementArray || !currentElementArray.length) {
  578.                    if (localPwc.parentElement) {
  579.                        localPwc = localPwc.parentElement;
  580.                    } else {
  581.                        break;
  582.                    }
  583.                } else {
  584.                    currentElementArray = this.elementsCleaning(excIdClass, currentElementArray, localPwc, detailedQueryString);
  585.                    curElementSearchRepeater = false;
  586.                }
  587.                curElementSearchCounter++;
  588.            }
  589.        }
  590.        return currentElementArray;
  591.    }
  592.  
  593.    currentElementReceiver(revert, content_pointer, blockSetting, currentElementArray, elPlace) {
  594.        let currentElement = null;
  595.        let sameElementAfterWidth = false;
  596.        let testCou = 0;
  597.        while (currentElementArray[elPlace] && sameElementAfterWidth === false && testCou < 8) {
  598.            currentElement = currentElementArray[elPlace];
  599.            try {
  600.                sameElementAfterWidth = this.checkAdsWidth(content_pointer, blockSetting["elementPosition"], currentElement);
  601.            } catch (ex) {
  602.                sameElementAfterWidth = true;
  603.                console.log(ex.message);
  604.            }
  605.            revert? elPlace--: elPlace++;
  606.            testCou++;
  607.        }
  608.  
  609.        return currentElement;
  610.    }
  611.  
  612.  
  613.    symbolInserter(lordOfElements, containerFor7th, tlArray) {
  614.        try {
  615.            var currentChildrenLength = 0;
  616.            let previousBreak = 0;
  617.            let needleLength;
  618.            let currentSumLength;
  619.            let elementToAdd;
  620.            let elementToBind;
  621.            let binderName;
  622.  
  623.            if (!lordOfElements.querySelector(".markedSpan1")) {
  624.                for (let i = 0; i < containerFor7th.length; i++) {
  625.                    previousBreak = 0;
  626.                    currentChildrenLength = 0;
  627.                    currentSumLength = 0;
  628.                    needleLength = Math.abs(containerFor7th[i]['elementPlace']);
  629.                    binderName = containerFor7th[i]["rb_under"];
  630.  
  631.                    elementToAdd = this.createBlockElement(containerFor7th[i]);
  632.                    if (!elementToAdd) {
  633.                        continue;
  634.                    }
  635.  
  636.                    if (containerFor7th[i]['elementPlace'] < 0) {
  637.                        for (let j = tlArray.length-1; j > -1; j--) {
  638.                            currentSumLength = currentSumLength + tlArray[j]['length'];
  639.                            if (needleLength < currentSumLength) {
  640.                                elementToBind = tlArray[j]['element'];
  641.                                elementToBind = this.currentElementReceiverSpec(true, j, tlArray, elementToBind);
  642.                                this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind);
  643.                                break;
  644.                            }
  645.                        }
  646.                    } else if (containerFor7th[i]['elementPlace'] == 0) {
  647.                        elementToBind = tlArray[0]['element'];
  648.                        this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind);
  649.                    } else {
  650.                        for (let j = 0; j < tlArray.length; j++) {
  651.                            currentSumLength = currentSumLength + tlArray[j]['length'];
  652.                            if (needleLength < currentSumLength) {
  653.                                elementToBind = tlArray[j]['element'];
  654.                                elementToBind = this.currentElementReceiverSpec(false, j, tlArray, elementToBind);
  655.                                this.addBlockAd(containerFor7th[i], elementToBind, elementToAdd, elementToBind.nextSibling);
  656.                                break;
  657.                            }
  658.                        }
  659.                    }
  660.                }
  661.  
  662.                var spanMarker = document.createElement("span");
  663.                spanMarker.classList.add("markedSpan1");
  664.                lordOfElements.prepend(spanMarker);
  665.            }
  666.        } catch (e) {
  667.            console.log(e);
  668.        }
  669.    }
  670.  
  671.    percentInserter(lordOfElements, containerFor6th, tlArray, textLength) {
  672.        try {
  673.            var textNeedyLength = 0;
  674.            let elementToAdd;
  675.            var elementToBind;
  676.            let elementToAddStyle;
  677.            let block_number;
  678.            var binderName;
  679.            let $this = this;
  680.  
  681.            function insertByPercents(textLength) {
  682.                let localMiddleValue = 0;
  683.  
  684.                for (let j = 0; j < containerFor6th.length; j++) {
  685.                    textNeedyLength = Math.round(textLength * (containerFor6th[j]["elementPlace"]/100));
  686.                    for (let i = 0; i < tlArray.length; i++) {
  687.                        if (tlArray[i]['lengthSum'] >= textNeedyLength) {
  688.                            binderName = containerFor6th[j]["rb_under"];
  689.                            elementToAdd = $this.createBlockElement(containerFor6th[j]);
  690.                            if (!elementToAdd) {
  691.                                break;
  692.                            }
  693.  
  694.                            localMiddleValue = tlArray[i]['lengthSum'] - Math.round(tlArray[i]['length']/2);
  695.                            elementToBind = tlArray[i]['element'];
  696.                            $this.currentElementReceiverSpec(false, i, tlArray, elementToBind);
  697.                            if (textNeedyLength < localMiddleValue) {
  698.                                $this.addBlockAd(containerFor6th[j], elementToBind, elementToAdd, elementToBind);
  699.                            } else {
  700.                                $this.addBlockAd(containerFor6th[j], elementToBind, elementToAdd, elementToBind.nextSibling);
  701.                            }
  702.                            break;
  703.                        }
  704.                    }
  705.                }
  706.                return false;
  707.            }
  708.  
  709.            function clearTlMarks() {
  710.                let marksForDeleting = document.querySelectorAll('.textLengthMarker');
  711.  
  712.                if (marksForDeleting.length > 0) {
  713.                    for (let i = 0; i < marksForDeleting.length; i++) {
  714.                        marksForDeleting[i].remove();
  715.                    }
  716.                }
  717.            }
  718.  
  719.            if (!lordOfElements.querySelector(".markedSpan")) {
  720.                insertByPercents(textLength);
  721.                clearTlMarks();
  722.                var spanMarker = document.createElement("span");
  723.                spanMarker.classList.add("markedSpan");
  724.                lordOfElements.prepend(spanMarker);
  725.            }
  726.        } catch (e) {
  727.            console.log(e.message);
  728.        }
  729.    }
  730.  
  731.  
  732.    /* "sc" in variables - mark for shortcode variable */
  733.    shortcodesInsert() {
  734.        let gatheredBlocks = document.querySelectorAll('.percentPointerClass.scMark'),
  735.            scBlockId = -1,
  736.            scAdId = -1,
  737.            blockStatus = '',
  738.            dataFull = -1,
  739.            gatheredBlockChild,
  740.            okStates = ['done','refresh-wait','no-block','fetched'],
  741.            scContainer,
  742.            sci,
  743.            i1 = 0,
  744.            skyscraperStatus = false,
  745.            splitedSkyscraper = [],
  746.            gatheredBlockChildSkyParts = [],
  747.            stickyStatus = false,
  748.            stickyCheck = [],
  749.            stickyFixedStatus = false,
  750.            stickyFixedCheck = [],
  751.            repeatableIdentifier = "",
  752.            dataCidIdentifier = null,
  753.            divCidElement = '';
  754.  
  755.        if (typeof scArray !== 'undefined') {
  756.            if (scArray&&scArray.length > 0&&gatheredBlocks&&gatheredBlocks.length > 0&&typeof window.rulvW5gntb !== 'undefined') {
  757.                dataCidIdentifier = window.rulvW5gntb;
  758.                for (let i = 0; i < gatheredBlocks.length; i++) {
  759.                    gatheredBlockChild = gatheredBlocks[i].children[0];
  760.                    if (!gatheredBlockChild) {
  761.                        continue;
  762.                    }
  763.                    scAdId = -3;
  764.                    blockStatus = null;
  765.                    scContainer = null;
  766.                    dataFull = -1;
  767.                    skyscraperStatus = false;
  768.                    splitedSkyscraper = [];
  769.                    gatheredBlockChildSkyParts = [];
  770.                    stickyStatus = false;
  771.                    stickyCheck = [];
  772.                    stickyFixedStatus = false;
  773.                    stickyFixedCheck = [];
  774.                    repeatableIdentifier = "";
  775.                    divCidElement = null;
  776.  
  777.                    scAdId = gatheredBlockChild.getAttribute('data-aid');
  778.                    scBlockId = gatheredBlockChild.getAttribute('data-id');
  779.                    blockStatus = gatheredBlockChild.getAttribute('data-state');
  780.                    dataFull = gatheredBlockChild.getAttribute('data-full');
  781.  
  782.                    if (scBlockId&&scAdId > 0) {
  783.                        sci = -1;
  784.                        for (i1 = 0; i1 < scArray.length; i1++) {
  785.                            if (scBlockId == scArray[i1]['blockId']&&scAdId == scArray[i1]['adId']) {
  786.                                sci = i1;
  787.                            }
  788.                        }
  789.  
  790.                        if (sci > -1) {
  791.                            if (blockStatus&&okStates.includes(blockStatus)) {
  792.  
  793.                                if (blockStatus=='no-block') {
  794.                                    gatheredBlockChild.innerHTML = '';
  795.                                } else if ((blockStatus=='fetched'&&dataFull==1)||!['no-block','fetched'].includes(blockStatus)) {
  796.                                    for (let cl1 = 0; cl1 < gatheredBlocks[i].classList.length; cl1++) {
  797.                                        if (gatheredBlocks[i].classList[cl1].includes("repeatable-mark")) {
  798.                                            repeatableIdentifier = gatheredBlocks[i].classList[cl1];
  799.                                        }
  800.                                    }
  801.  
  802.                                    if (repeatableIdentifier) {
  803.                                        divCidElement = document.querySelectorAll(".percentPointerClass.scMark."+repeatableIdentifier+' div[data-cid="'+dataCidIdentifier+'"]');
  804.                                    } else {
  805.                                        divCidElement = gatheredBlockChild.querySelectorAll('div[data-cid="'+dataCidIdentifier+'"]');
  806.                                    }
  807.  
  808.                                    var text = scArray[sci]['text'];
  809.                                    if (divCidElement&&divCidElement.length > 0) {
  810.                                        for (let i2 = 0; i2 < divCidElement.length; i2++) {
  811.                                            jQuery(divCidElement[i2]).html(text);
  812.                                        }
  813.                                    } else {
  814.                                        jQuery(gatheredBlockChild).html(text);
  815.                                    }
  816.                                    this.launchUpdateRbDisplays();
  817.                                }
  818.                                if (blockStatus !== 'fetched' || (blockStatus === 'fetched' && dataFull === 1)) {
  819.                                    gatheredBlocks[i].classList.remove('scMark');
  820.                                }
  821.                            }
  822.                        }
  823.                    } else if (scBlockId&&scAdId < 1&&['no-block','fetched'].includes(blockStatus)) {
  824.                        gatheredBlocks[i].classList.remove('scMark');
  825.                    }
  826.                }
  827.            } else if (!scArray||(scArray&&scArray.length < 1)) {
  828.                this.endedSc = true;
  829.            }
  830.        } else {
  831.            this.endedSc = true;
  832.        }
  833.  
  834.        if (!this.endedSc) {
  835.            var $this = this;
  836.            setTimeout(function () {
  837.                $this.shortcodesInsert();
  838.            }, 200);
  839.        }
  840.    }
  841.  
  842.    currentElementReceiverSpec(revert, curSum, elList, currentElement) {
  843.        let origCurrentElement = currentElement;
  844.        let content_pointer = document.querySelector(".content_pointer_class"); /* orig */
  845.        let sameElementAfterWidth = false;
  846.        let testCou = 0;
  847.        while (elList[curSum] && !sameElementAfterWidth && testCou < 5) {
  848.            currentElement = elList[curSum]['element'];
  849.            try {
  850.                sameElementAfterWidth = this.checkAdsWidth(content_pointer, 0, currentElement);
  851.            } catch (ex) {
  852.                sameElementAfterWidth = true;
  853.                console.log(ex.message);
  854.            }
  855.            revert? curSum--: curSum++;
  856.            testCou++;
  857.        }
  858.        return currentElement?currentElement:origCurrentElement;
  859.    }
  860.  
  861.    launchUpdateRbDisplays() {
  862.        if ((typeof updateRbDisplays !== 'undefined')&&(typeof updateRbDisplays === 'function')) {
  863.            updateRbDisplays();
  864.        } else {
  865.            setTimeout(function () {
  866.                this.launchUpdateRbDisplays();
  867.            }, 200);
  868.        }
  869.    }
  870.  
  871.    checkAdsWidth(content_pointer, posCurrentElement, currentElement) {
  872.        let widthChecker = document.querySelector('#widthChecker');
  873.        let widthCheckerStyle = null;
  874.        let content_pointerStyle = getComputedStyle(content_pointer);
  875.        let content = content_pointer.parentElement;
  876.  
  877.        if (!widthChecker) {
  878.            widthChecker = document.createElement("div");
  879.            widthChecker.setAttribute('id','widthChecker');
  880.            widthChecker.style.display = 'flex';
  881.        }
  882.  
  883.        if (content) {
  884.            posCurrentElement = this.initTargetToInsert(posCurrentElement, 'term', currentElement);
  885.            currentElement.parentNode.insertBefore(widthChecker, posCurrentElement);
  886.            widthCheckerStyle = getComputedStyle(widthChecker);
  887.  
  888.            if (parseInt(widthCheckerStyle.width) >= (parseInt(content_pointerStyle.width) - 50)) {
  889.                return true;
  890.            }
  891.        }
  892.        return false;
  893.    }
  894.  
  895.  
  896.    initTargetToInsert(position, type, currentElement) {
  897.        let posCurrentElement;
  898.        let usedElement;
  899.        if (type == 'element') {
  900.            if (position == 0) {
  901.                posCurrentElement = currentElement;
  902.                if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
  903.                    currentElement.classList.add('rfwp_removedMarginTop');
  904.                }
  905.            } else {
  906.                posCurrentElement = currentElement.nextSibling;
  907.                if (!(typeof obligatoryMargin!=='undefined'&&obligatoryMargin===1)) {
  908.                    currentElement.classList.add('rfwp_removedMarginBottom');
  909.                }
  910.            }
  911.            currentElement.style.clear = 'both';
  912.        } else {
  913.            usedElement = currentElement;
  914.            if (position == 0) {
  915.                posCurrentElement = usedElement;
  916.            } else {
  917.                posCurrentElement = usedElement.nextSibling;
  918.            }
  919.        }
  920.        return posCurrentElement;
  921.    }
  922.  
  923.    createStyleElement(blockNumber, localElementCss) {
  924.        let htmlToAdd = '';
  925.        let marginString;
  926.        let textAlignString;
  927.        let contPois = document.querySelector('.content_pointer_class');
  928.        let emptyValues = false;
  929.        let elementToAddStyleLocal;
  930.  
  931.        if (!contPois.length)
  932.            return false;
  933.  
  934.        contPois.forEach((contPoi) => {
  935.            elementToAddStyleLocal = contPoi.querySelector('.blocks_align_style');
  936.  
  937.            if (!elementToAddStyleLocal) {
  938.                elementToAddStyleLocal = document.createElement('style');
  939.                elementToAddStyleLocal.classList.add('blocks_align_style');
  940.                contPoi.parentNode.insertBefore(elementToAddStyleLocal, contPoi);
  941.            }
  942.        });
  943.  
  944.  
  945.  
  946.        switch (localElementCss) {
  947.            case 'left':
  948.                emptyValues = false;
  949.                marginString = '0 auto 0 0';
  950.                textAlignString = 'left';
  951.                break;
  952.            case 'right':
  953.                emptyValues = false;
  954.                marginString = '0 0 0 auto';
  955.                textAlignString = 'right';
  956.                break;
  957.            case 'center':
  958.                emptyValues = false;
  959.                marginString = '0 auto';
  960.                textAlignString = 'center';
  961.                break;
  962.            case 'default':
  963.                emptyValues = true;
  964.                marginString = 'default';
  965.                textAlignString = 'default';
  966.                break;
  967.        }
  968.        if (!emptyValues) {
  969.            htmlToAdd = '.percentPointerClass  > *[data-id="'+blockNumber+'"] {\n' +
  970.                '    margin: '+marginString+';\n' +
  971.                '}\n';
  972.        }
  973.  
  974.        elementToAddStyleLocal.innerHTML += htmlToAdd;
  975.        return textAlignString;
  976.    }
  977.  
  978.    clearUnsuitableCache(cuc_cou) {
  979.        let scAdId = -1;
  980.        let ccRepeat = false;
  981.  
  982.        let gatheredBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
  983.  
  984.        if (gatheredBlocks&&gatheredBlocks.length > 0) {
  985.            for (let i = 0; i < gatheredBlocks.length; i++) {
  986.                if (gatheredBlocks[i]['dataset']['aid']&&gatheredBlocks[i]['dataset']['aid'] < 0) {
  987.                    if ((gatheredBlocks[i]['dataset']["state"]=='no-block')||(['done','fetched','refresh-wait'].includes(gatheredBlocks[i]['dataset']["state"]))) {
  988.                        gatheredBlocks[i]['innerHTML'] = '';
  989.                    } else {
  990.                        ccRepeat = true;
  991.                    }
  992.                } else if (!gatheredBlocks[i]['dataset']['aid']) {
  993.                    ccRepeat = true;
  994.                }
  995.            }
  996.            if (cuc_cou < 50) {
  997.                if (ccRepeat) {
  998.                    let $this = this;
  999.                    setTimeout(function () {
  1000.                        $this.clearUnsuitableCache(cuc_cou+1);
  1001.                    }, 100);
  1002.                }
  1003.            } else {
  1004.                endedCc = true;
  1005.            }
  1006.        } else {
  1007.            endedCc = true;
  1008.        }
  1009.    }
  1010.  
  1011.  
  1012.    excIdClUnpacker() {
  1013.        let excArr = [],
  1014.            cou = 0,
  1015.            currExcStr = '',
  1016.            curExcFirst = '';
  1017.        excArr['id'] = [];
  1018.        excArr['class'] = [];
  1019.        excArr['tag'] = [];
  1020.        if (excIdClass&&excIdClass.length > 0) {
  1021.            while (excIdClass[cou]) {
  1022.                currExcStr = excIdClass[cou];
  1023.                if (currExcStr.length > 0) {
  1024.                    curExcFirst = currExcStr.substring(0,1);
  1025.                    switch (curExcFirst) {
  1026.                        case '#':
  1027.                            if (currExcStr.length > 1) {
  1028.                                currExcStr = currExcStr.substring(1);
  1029.                                excArr['id'].push(currExcStr);
  1030.                            }
  1031.                            break;
  1032.                        case '.':
  1033.                            if (currExcStr.length > 1) {
  1034.                                currExcStr = currExcStr.substring(1);
  1035.                                excArr['class'].push(currExcStr);
  1036.                            }
  1037.                            break;
  1038.                        default:
  1039.                            excArr['tag'].push(currExcStr);
  1040.                            break;
  1041.                    }
  1042.                    cou++;
  1043.                }
  1044.            }
  1045.        }
  1046.        return excArr;
  1047.    }
  1048.  
  1049.    possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck) {
  1050.        if (possibleTagsArray.includes("LI")) {
  1051.            if (possibleTagsArray.includes("UL")) {
  1052.                possibleTagsInCheck.push("UL");
  1053.            }
  1054.            if (possibleTagsArray.includes("OL")) {
  1055.                possibleTagsInCheck.push("OL");
  1056.            }
  1057.        }
  1058.  
  1059.        return false;
  1060.    }
  1061.  
  1062.    textLengthGatherer(lordOfElementsLoc) {
  1063.        var possibleTagsArray;
  1064.        if (typeof tagsListForTextLength!=="undefined") {
  1065.            possibleTagsArray = tagsListForTextLength;
  1066.        } else {
  1067.            possibleTagsArray = ["P", "H1", "H2", "H3", "H4", "H5", "H6", "DIV", "BLOCKQUOTE", "INDEX", "ARTICLE", "SECTION"];
  1068.        }
  1069.        let possibleTagsInCheck = ["DIV", "INDEX", "SECTION"];
  1070.  
  1071.        this.possibleTagsInCheckConfirmer(possibleTagsArray, possibleTagsInCheck);
  1072.        let excArr = this.excIdClUnpacker(),
  1073.            textLength = 0,
  1074.            tlArray = [];
  1075.  
  1076.        function textLengthGathererRec(lordOfElementsLoc) {
  1077.            let allowed;
  1078.            let cou1;
  1079.            let classesArray;
  1080.            let countSuccess = 0;
  1081.            try {
  1082.                for (let i = 0; i < lordOfElementsLoc.children.length; i++) {
  1083.                    if (possibleTagsArray.includes(lordOfElementsLoc.children[i].tagName)
  1084.                        &&!lordOfElementsLoc.children[i].classList.contains("percentPointerClass")
  1085.                        &&lordOfElementsLoc.children[i].id!="toc_container"
  1086.                    ) {
  1087.                        if (possibleTagsInCheck.includes(lordOfElementsLoc.children[i].tagName)
  1088.                            &&(lordOfElementsLoc.children[i].children.length > 0)
  1089.                        ) {
  1090.                            allowed = true;
  1091.                            if (lordOfElementsLoc.children[i].id&&excArr['id'].length > 0) {
  1092.                                cou1 = 0;
  1093.                                while (excArr['id'][cou1]) {
  1094.                                    if (lordOfElementsLoc.children[i].id.toLowerCase()==excArr['id'][cou1].toLowerCase()) {
  1095.                                        allowed = false;
  1096.                                        break;
  1097.                                    }
  1098.                                    cou1++;
  1099.                                }
  1100.                            }
  1101.  
  1102.                            if (lordOfElementsLoc.children[i].classList.length > 0&&excArr['class'].length > 0) {
  1103.                                cou1 = 0;
  1104.                                while (excArr['class'][cou1]) {
  1105.                                    classesArray = excArr['class'][cou1].split('.');
  1106.                                    if (classesArray.every(className => lordOfElementsLoc.children[i].classList.contains(className))) {
  1107.                                        allowed = false;
  1108.                                        break;
  1109.                                    }
  1110.                                    cou1++;
  1111.                                }
  1112.                            }
  1113.  
  1114.                            if (excArr['tag'].length > 0) {
  1115.                                cou1 = 0;
  1116.                                while (excArr['tag'][cou1]) {
  1117.                                    if (lordOfElementsLoc.children[i].tagName.toLowerCase()==excArr['tag'][cou1].toLowerCase()) {
  1118.                                        allowed = false;
  1119.                                        break;
  1120.                                    }
  1121.                                    cou1++;
  1122.                                }
  1123.                            }
  1124.  
  1125.                            if (allowed) {
  1126.                                if (textLengthGathererRec(lordOfElementsLoc.children[i], excArr, possibleTagsArray, possibleTagsInCheck)) {
  1127.                                    countSuccess++;
  1128.                                    continue;
  1129.                                }
  1130.                            }
  1131.                        }
  1132.                        textLength = textLength + lordOfElementsLoc.children[i].innerText.length;
  1133.                        tlArray.push({
  1134.                            tag: lordOfElementsLoc.children[i].tagName,
  1135.                            length: lordOfElementsLoc.children[i].innerText.length,
  1136.                            lengthSum: textLength,
  1137.                            element: lordOfElementsLoc.children[i]
  1138.                        });
  1139.                        countSuccess++;
  1140.                    }
  1141.                }
  1142.            } catch (er) {
  1143.                console.log(er.message);
  1144.            }
  1145.            return countSuccess > 0;
  1146.        }
  1147.  
  1148.        textLengthGathererRec(lordOfElementsLoc);
  1149.  
  1150.        return {array: tlArray, length: textLength};
  1151.    }
  1152. };if (typeof window.jsInputerLaunch==='undefined') {window.jsInputerLaunch = -1;}
  1153.  
  1154. function asyncInsertingsInsertingFunction(insertingsArray) {
  1155.    let currentElementForInserting = 0;
  1156.    let currentElementToMove = 0;
  1157.    let positionElement = 0;
  1158.    let position = 0;
  1159.    let insertToAdd = 0;
  1160.    let postId = 0;
  1161.    let repeatSearch = 0;
  1162.    if (insertingsArray&&insertingsArray.length > 0) {
  1163.        for (let i = 0; i < insertingsArray.length; i++) {
  1164.            if (!insertingsArray[i]['used']||(insertingsArray[i]['used']&&insertingsArray[i]['used']==0)) {
  1165.                positionElement = insertingsArray[i]['position_element'];
  1166.                position = insertingsArray[i]['position'];
  1167.                insertToAdd = insertingsArray[i]['content'];
  1168.                postId = insertingsArray[i]['postId'];
  1169.  
  1170.                currentElementForInserting = document.querySelector(positionElement);
  1171.  
  1172.                currentElementToMove = document.querySelector('.coveredInsertings[data-id="'+postId+'"]');
  1173.                if (currentElementForInserting) {
  1174.                    if (position==0) {
  1175.                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting);
  1176.                        currentElementToMove.classList.remove('coveredInsertings');
  1177.                        insertingsArray[i]['used'] = 1;
  1178.                    } else {
  1179.                        currentElementForInserting.parentNode.insertBefore(currentElementToMove, currentElementForInserting.nextSibling);
  1180.                        currentElementToMove.classList.remove('coveredInsertings');
  1181.                        insertingsArray[i]['used'] = 1;
  1182.                    }
  1183.                } else {
  1184.                    repeatSearch = 1;
  1185.                }
  1186.            }
  1187.        }
  1188.    }
  1189.    if (repeatSearch == 1) {
  1190.        setTimeout(function () {
  1191.            asyncInsertingsInsertingFunction(insertingsArray);
  1192.        }, 100)
  1193.    }
  1194. }
  1195.  
  1196. function insertingsFunctionLaunch() {
  1197.    if (window.jsInsertingsLaunch !== undefined&&jsInsertingsLaunch == 25) {
  1198.        asyncInsertingsInsertingFunction(insertingsArray);
  1199.    } else {
  1200.        setTimeout(function () {
  1201.            insertingsFunctionLaunch();
  1202.        }, 100)
  1203.    }
  1204. }
  1205.  
  1206. function setLongCache() {
  1207.    let xhttp = new XMLHttpRequest();
  1208.    let sendData = 'action=setLongCache&type=longCatching&_csrf='+rb_csrf;
  1209.    xhttp.onreadystatechange = function(redata) {
  1210.        if (this.readyState == 4 && this.status == 200) {
  1211.            console.log('long cache deployed');
  1212.        }
  1213.    };
  1214.    xhttp.open("POST", rb_ajaxurl, true);
  1215.    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  1216.    xhttp.send(sendData);
  1217. }
  1218.  
  1219. function cachePlacing(alert_type, errorInfo=null) {
  1220.    let adBlocks = document.querySelectorAll('.percentPointerClass .' + block_classes.join(', .percentPointerClass .'));
  1221.    let curAdBlock;
  1222.    let okStates = ['done','refresh-wait','no-block','fetched'];
  1223.    /* let adId = -1; */
  1224.    let blockAid = null;
  1225.    let blockId;
  1226.  
  1227.    if (typeof cachedBlocksArray !== 'undefined'&&cachedBlocksArray&&cachedBlocksArray.length > 0&&adBlocks&&adBlocks.length > 0) {
  1228.        for (let i = 0; i < adBlocks.length; i++) {
  1229.            blockAid = adBlocks[i]['dataset']['aid'];
  1230.  
  1231.            if (!blockAid) {
  1232.                blockId = adBlocks[i]['dataset']['id'];
  1233.                if (cachedBlocksArray[blockId]) {
  1234.                    jQuery(adBlocks[i]).html(cachedBlocksArray[blockId]);
  1235.                }
  1236.            }
  1237.        }
  1238.    }
  1239.  
  1240.    if (alert_type&&alert_type=='high') {
  1241.        setLongCache();
  1242.    }
  1243. }
  1244.  
  1245. function saveContentBlock(contentContainer) {
  1246.    try {
  1247.        if (!gather_content) {
  1248.            console.log('content gather save function entered');
  1249.            let xhttp = new XMLHttpRequest();
  1250.            let sendData = 'action=RFWP_saveContentContainer&type=gatherContentBlock&data='+contentContainer+'&_csrf='+rb_csrf;
  1251.            xhttp.onreadystatechange = function(redata) {
  1252.                if (this.readyState == 4 && this.status == 200) {
  1253.                    console.log('content gather succeed');
  1254.                } else {
  1255.                    console.log('content gather gone wrong');
  1256.                }
  1257.            };
  1258.            xhttp.open("POST", rb_ajaxurl, true);
  1259.            xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  1260.            xhttp.send(sendData);
  1261.        }
  1262.    } catch (er) {
  1263.        console.log('content gather error: '+er+';');
  1264.    }
  1265. }
  1266.  
  1267. window.gatherContentBlock = function() {
  1268.    let cPointers = null,
  1269.        cPointer = null,
  1270.        cPointerParent = null,
  1271.        cPointerParentString = null,
  1272.        cPointerParentStringItem = null,
  1273.        classWords = ['content','entry','post','wrap','description','taxonomy'],
  1274.        classChoosed = false;
  1275.  
  1276.    cPointers = document.querySelectorAll('.content_pointer_class');
  1277.    if (cPointers.length > 0) {
  1278.        for (let i = 0; i < cPointers.length; i++) {
  1279.            cPointer = cPointers[i];
  1280.  
  1281.            cPointerParentStringItem = null;
  1282.            if (window.jsInputerLaunch!==15) {
  1283.                return false;
  1284.            }
  1285.            cPointerParent = cPointer.parentElement;
  1286.            if (cPointerParent) {
  1287.                if (cPointerParent.classList.length > 0) {
  1288.                    cPointerParentStringItem = cPointerParent.tagName.toLowerCase() + '.' + cPointerParent.classList[0];
  1289.                    for (let j = 0; j < classWords.length; j++) {
  1290.                        for (let i = 0; i < cPointerParent.classList.length; i++) {
  1291.                            if (cPointerParent.classList[i].includes(classWords[j])) {
  1292.                                cPointerParentStringItem = cPointerParent.tagName.toLowerCase() + '.'+cPointerParent.classList[i];
  1293.                                classChoosed = true;
  1294.                                break;
  1295.                            }
  1296.                        }
  1297.                        if (classChoosed===true) {
  1298.                            break;
  1299.                        }
  1300.                    }
  1301.  
  1302.                    if (classChoosed===true) {
  1303.                        cPointerParentString = cPointerParentStringItem;
  1304.                        break;
  1305.                    }
  1306.                }
  1307.                if (cPointerParentStringItem && (!cPointerParentString || cPointerParentString !== cPointerParentStringItem)) {
  1308.                    cPointerParentString = cPointerParentStringItem;
  1309.                }
  1310.            }
  1311.        }
  1312.  
  1313.        if (cPointerParentString) {
  1314.            console.log('content gather content block detected');
  1315.            saveContentBlock(cPointerParentString);
  1316.        }
  1317.    } else {
  1318.        console.log('content gather delayed');
  1319.        setTimeout(function () {
  1320.            gatherContentBlock();
  1321.        }, 500);
  1322.    }
  1323. };
  1324.  
  1325. window.removeMarginClass = function(blockObject) {
  1326.    if (blockObject && typeof window.jsInputerLaunch !== 'undefined' && [15, 10].includes(window.jsInputerLaunch)) {
  1327.        let binderName,
  1328.            neededElement,
  1329.            currentDirection,
  1330.            seekerIterationCount,
  1331.            currentSubling;
  1332.  
  1333.        binderName = blockObject.dataset.rbinder;
  1334.        if (binderName) {
  1335.            seekerIterationCount = 0;
  1336.            currentDirection = 'before';
  1337.            do {
  1338.                seekerIterationCount++;
  1339.                currentSubling = blockObject.nextElementSibling;
  1340.                if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
  1341.                    neededElement = currentSubling;
  1342.                }
  1343.            } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
  1344.  
  1345.            if (!neededElement) {
  1346.                seekerIterationCount = 0;
  1347.                currentDirection = 'after';
  1348.                do {
  1349.                    seekerIterationCount++;
  1350.                    currentSubling = blockObject.previousElementSibling;
  1351.                    if (currentSubling&&currentSubling.classList.contains('rbinder-'+binderName)) {
  1352.                        neededElement = currentSubling;
  1353.                    }
  1354.                } while (currentSubling&&!neededElement&&seekerIterationCount < 5);
  1355.            }
  1356.            if (neededElement) {
  1357.                if (currentDirection === 'before') {
  1358.                    neededElement.classList.remove('rfwp_removedMarginTop');
  1359.                } else {
  1360.                    neededElement.classList.remove('rfwp_removedMarginBottom');
  1361.                }
  1362.            }
  1363.        }
  1364.    }
  1365.  
  1366.    return false;
  1367. };
  1368. </script> <script type="text/javascript" id="toc-front-js-extra">
  1369. /* <![CDATA[ */
  1370. var tocplus = {"visibility_show":"show","visibility_hide":"hide","width":"Auto"};
  1371. /* ]]> */
  1372. </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">
  1373. /* <![CDATA[ */
  1374. var my_popup_ajax = {"url":"https:\/\/progitary.ru\/wp-admin\/admin-ajax.php","nonce":"5f5c0dcb1d","action":"my-popup"};
  1375. /* ]]> */
  1376. </script> <script type="text/javascript" id="my-popup-scripts-js-before">
  1377. /* <![CDATA[ */
  1378. var myPopupInitData = {params:"eyJpc19ob21lIjp0cnVlLCJpZCI6bnVsbCwidHlwZSI6bnVsbCwic3VidHlwZSI6bnVsbCwidXJsIjoiXC8iLCJfbWFjIjoiMTdmNjgzMGIxODVmMzVlYjQ3ZDFlYjM1MjMyMmNhYmEifQ=="};
  1379. /* ]]> */
  1380. </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">
  1381. /* <![CDATA[ */
  1382. var settings_array = {"rating_text_average":"\u0441\u0440\u0435\u0434\u043d\u0435\u0435","rating_text_from":"\u0438\u0437","lightbox_display":"1","sidebar_fixed":""};
  1383. var wps_ajax = {"url":"https:\/\/progitary.ru\/wp-admin\/admin-ajax.php","nonce":"799ea0d245"};
  1384. /* ]]> */
  1385. </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" id="jquery-fancybox-js-extra">
  1386. /* <![CDATA[ */
  1387. var efb_i18n = {"close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","next":"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439","prev":"\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439","startSlideshow":"\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u043b\u0430\u0439\u0434-\u0448\u043e\u0443","toggleSize":"\u0420\u0430\u0437\u043c\u0435\u0440 \u0442\u0443\u043c\u0431\u043b\u0435\u0440\u0430"};
  1388. /* ]]> */
  1389. </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">
  1390. /* <![CDATA[ */
  1391. 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' };
  1392. if(typeof easy_fancybox_handler==='undefined'){
  1393. var easy_fancybox_handler=function(){
  1394. 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');
  1395. jQuery('a.fancybox-close').on('click',function(e){e.preventDefault();jQuery.fancybox.close()});
  1396. /* IMG */
  1397. var unlinkedImageBlocks=jQuery(".wp-block-image > img:not(.nofancybox,figure.nofancybox>img)");
  1398. unlinkedImageBlocks.wrap(function() {
  1399. var href = jQuery( this ).attr( "src" );
  1400. return "<a href='" + href + "'></a>";
  1401. });
  1402. 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)');
  1403. fb_IMG_select.addClass('fancybox image');
  1404. 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');
  1405. fb_IMG_sections.each(function(){jQuery(this).find(fb_IMG_select).attr('rel','gallery-'+fb_IMG_sections.index(this));});
  1406. 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}))});
  1407. };};
  1408. jQuery(easy_fancybox_handler);jQuery(document).on('post-load',easy_fancybox_handler);
  1409. /* ]]> */
  1410. </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">
  1411. /* <![CDATA[ */
  1412. 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":[]}];
  1413. /* ]]> */
  1414. </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>
  1415.    document.addEventListener('DOMContentLoaded', function() {
  1416.        let dataLazyLoadingJS = {
  1417.            data: {
  1418.                ya_counter: {
  1419.                    status: false,
  1420.                    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>',
  1421.                    area: '.before-footer-scripts-place'
  1422.                }
  1423.            }
  1424.        };
  1425.        let dataSettings = {
  1426.            cookie_name: 'PST_VERIFIED_COOKIE',
  1427.        };
  1428.        let LazyLoad = new ptsLazyLoad(dataLazyLoadingJS, dataSettings);
  1429.        LazyLoad.simpleCheck(1);
  1430. });
  1431. </script> </body> </html>
  1432. <!-- *´¨)
  1433.     ¸.•´¸.•*´¨) ¸.•*¨)
  1434.     (¸.•´ (¸.•` ¤ Comet Cache is Fully Functional ¤ ´¨) -->
  1435.  
  1436. <!-- Cache File Version Salt:       n/a -->
  1437.  
  1438. <!-- Cache File URL:                https://progitary.ru/ -->
  1439. <!-- Cache File Path:               /cache/comet-cache/cache/https/progitary-ru/index.html -->
  1440.  
  1441. <!-- Cache File Generated Via:      HTTP request -->
  1442. <!-- Cache File Generated On:       Oct 14th, 2025 @ 5:37 pm UTC -->
  1443. <!-- Cache File Generated In:       0.45092 seconds -->
  1444.  
  1445. <!-- Cache File Expires On:         Oct 21st, 2025 @ 5:37 pm UTC -->
  1446. <!-- Cache File Auto-Rebuild On:    Oct 21st, 2025 @ 5:37 pm UTC -->
  1447.  
  1448. <!-- Loaded via Cache On:    Oct 14th, 2025 @ 5:37 pm UTC -->
  1449. <!-- Loaded via Cache In:    0.00768 seconds -->
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda