<!DOCTYPE html>
<!--[if lt IE 7]><html class="ie ie6" lang="en"> <![endif]-->
<!--[if IE 7]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if IE 9]><html class="ie ie9" lang="en"> <![endif]-->
<!--[if (gte IE 10)|!(IE)]><!-->
<html lang="ru">
<!--<![endif]-->

<head><script>
(function () {
  var PLACEHOLDER = '/no-image.webp';

  // Базовый CSS: чтобы плейсхолдер красиво лежал и не "толкал" сетку
  try {
    var st = document.createElement('style');
    st.textContent = [
      'img.__ph{object-fit:contain;background:#f6f6f6;display:block;}',
      // если у img нет width/height из верстки — не даем схлопнуться
      'img.__ph[style*="width:"]:not([style*="width: auto"]){}'
    ].join('');
    document.head.appendChild(st);
  } catch(e){}

  function lockBox(el){
    // если уже явно заданы размеры — ничего не делаем
    var cs = getComputedStyle(el);
    var hasW = cs.width && cs.width !== 'auto';
    var hasH = cs.height && cs.height !== 'auto';

    // Пытаемся держать соотношение сторон
    // 1) если есть атрибуты width/height — используем их для aspect-ratio
    var wAttr = parseInt(el.getAttribute('width'), 10);
    var hAttr = parseInt(el.getAttribute('height'), 10);
    if (!isNaN(wAttr) && !isNaN(hAttr) && wAttr > 0 && hAttr > 0) {
      el.style.aspectRatio = wAttr + ' / ' + hAttr;
    }

    // 2) фиксируем фактические px, если авто
    var r = el.getBoundingClientRect();
    if (!hasW && r.width)  el.style.width  = Math.round(r.width)  + 'px';
    if (!hasH && r.height) el.style.height = Math.round(r.height) + 'px';

    // 3) если нет атрибутов и высота/ширина известны — задаём aspect-ratio
    if (!el.style.aspectRatio && r.width && r.height) {
      el.style.aspectRatio = Math.round(r.width) + ' / ' + Math.round(r.height);
    }
  }

  function applyPlaceholder(el){
    if (!el || el.dataset.fallbackApplied) return;

    lockBox(el);

    // Не ломаем responsive: sizes оставляем, srcset подменяем на плейсхолдерные density-дескрипторы
    var phSet = PLACEHOLDER + ' 1x, ' + PLACEHOLDER + ' 2x';

    // Помечаем и ставим плейсхолдер
    el.classList.add('__ph');

    // ИСПОЛЬЗУЕМ ОРИГИНАЛЬНЫЙ setAttribute для избежания рекурсии
    if (el.getAttribute('src') !== PLACEHOLDER) {
      origSetAttribute.call(el, 'src', PLACEHOLDER);
    }
    if (el.getAttribute('srcset') !== phSet) {
      origSetAttribute.call(el, 'srcset', phSet);
    }

    // Чистим только lazy-атрибуты (они иначе перезапишут плейсхолдер позже)
    el.removeAttribute('data-src');
    el.removeAttribute('data-srcset');
    el.removeAttribute('data-lazy');
    el.removeAttribute('data-original');
    el.dataset.fallbackApplied = '1';
  }

  function applyPlaceholderToPicture(pic){
    // sizes не трогаем
    pic.querySelectorAll('source').forEach(function(s){
      origSetAttribute.call(s, 'srcset', PLACEHOLDER + ' 1x, ' + PLACEHOLDER + ' 2x');
      s.removeAttribute('data-srcset');
    });
    var img = pic.querySelector('img');
    if (img) applyPlaceholder(img);
  }

  // --- Обработка background-image (объявляем ДО перехвата setAttribute!) ---
  function applyBgPlaceholder(el){
    if (!el) return;
    
    var cs = getComputedStyle(el);
    var bgImg = cs.backgroundImage;
    
    // Проверяем, есть ли фоновое изображение (url(...)) или lazy-атрибуты
    var hasLazyBg = el.hasAttribute('data-lazy-bg') || el.hasAttribute('data-bg') || 
                    el.hasAttribute('data-background') || el.hasAttribute('data-background-image');
    var hasBgImage = bgImg && bgImg !== 'none' && bgImg.includes('url(');
    
    if (!hasLazyBg && !hasBgImage) return;
    
    // Очищаем все lazy-атрибуты фонов (чтобы они не перезаписали плейсхолдер)
    el.removeAttribute('data-lazy-bg');
    el.removeAttribute('data-bg');
    el.removeAttribute('data-background');
    el.removeAttribute('data-background-image');
    el.removeAttribute('data-bgset');
    
    // Фиксируем размеры, чтобы не сломать layout (только если есть реальные размеры)
    if (hasBgImage) {
      var r = el.getBoundingClientRect();
      if (r.width && !cs.width.includes('%') && cs.width === 'auto') {
        el.style.width = Math.round(r.width) + 'px';
      }
      if (r.height && !cs.height.includes('%') && cs.height === 'auto') {
        el.style.height = Math.round(r.height) + 'px';
      }
    }
    
    // Сохраняем оригинальные background-* свойства
    var bgSize = cs.backgroundSize;
    var bgPosition = cs.backgroundPosition;
    var bgRepeat = cs.backgroundRepeat;
    
    // Заменяем фон на плейсхолдер
    el.style.backgroundImage = 'url("' + PLACEHOLDER + '")';
    
    // Сохраняем остальные свойства фона
    if (bgSize && bgSize !== 'auto') el.style.backgroundSize = bgSize;
    if (bgPosition && bgPosition !== '0% 0%') el.style.backgroundPosition = bgPosition;
    if (bgRepeat && bgRepeat !== 'repeat') el.style.backgroundRepeat = bgRepeat;
    
    el.dataset.bgFallbackApplied = '1';
  }

  // --- Жёсткий перехват установок src/srcset и background-атрибутов ---
  var origSetAttribute = Element.prototype.setAttribute;
  Element.prototype.setAttribute = function(name, value){
    var n = String(name).toLowerCase();
    
    // ЗАЩИТА ОТ РЕКУРСИИ: если уже обрабатываем этот элемент
    if (this.__fallbackProcessing) {
      return origSetAttribute.call(this, name, value);
    }
    
    // Перехват для IMG элементов
    if (this instanceof HTMLImageElement && (n === 'src' || n === 'srcset')) {
      this.__fallbackProcessing = true;
      applyPlaceholder(this);
      this.__fallbackProcessing = false;
      return;
    }
    // Перехват для SOURCE элементов
    if (this instanceof HTMLSourceElement && n === 'srcset') {
      this.__fallbackProcessing = true;
      origSetAttribute.call(this, 'srcset', PLACEHOLDER + ' 1x, ' + PLACEHOLDER + ' 2x');
      var img = this.parentNode && this.parentNode.querySelector && this.parentNode.querySelector('img');
      if (img) applyPlaceholder(img);
      this.__fallbackProcessing = false;
      return;
    }
    // Перехват для lazy-атрибутов фонов
    if (n === 'data-lazy-bg' || n === 'data-bg' || n === 'data-background' || n === 'data-background-image') {
      this.__fallbackProcessing = true;
      applyBgPlaceholder(this);
      this.__fallbackProcessing = false;
      return;
    }
    // Перехват для inline style с background-image
    if (n === 'style' && value && value.includes('background-image') && value.includes('url(')) {
      this.__fallbackProcessing = true;
      applyBgPlaceholder(this);
      this.__fallbackProcessing = false;
      return;
    }
    return origSetAttribute.call(this, name, value);
  };

  if (window.HTMLImageElement) {
    var ip = HTMLImageElement.prototype;
    var dSrc = Object.getOwnPropertyDescriptor(ip, 'src');
    var dSet = Object.getOwnPropertyDescriptor(ip, 'srcset');
    if (dSrc) Object.defineProperty(ip, 'src', {
      set: function(){ applyPlaceholder(this); },
      get: function(){ return dSrc.get.call(this); }
    });
    if (dSet) Object.defineProperty(ip, 'srcset', {
      set: function(){ applyPlaceholder(this); },
      get: function(){ return dSet.get.call(this); }
    });
  }
  if (window.HTMLSourceElement) {
    var sp = HTMLSourceElement.prototype;
    var dS = Object.getOwnPropertyDescriptor(sp, 'srcset');
    if (dS) Object.defineProperty(sp, 'srcset', {
      set: function(){
        this.setAttribute('srcset', PLACEHOLDER + ' 1x, ' + PLACEHOLDER + ' 2x');
        var img = this.parentNode && this.parentNode.querySelector && this.parentNode.querySelector('img');
        if (img) applyPlaceholder(img);
      },
      get: function(){ return dS.get.call(this); }
    });
  }

  function sweep(root){
    root.querySelectorAll('picture').forEach(applyPlaceholderToPicture);
    root.querySelectorAll('img').forEach(applyPlaceholder);
  }

  if (document.readyState !== 'loading') sweep(document);
  else document.addEventListener('DOMContentLoaded', function(){ sweep(document); });

  var mo = new MutationObserver(function(muts){
    muts.forEach(function(m){
      if (m.type === 'childList') {
        m.addedNodes.forEach(function(n){
          if (n.nodeType !== 1) return;
          if (n.tagName === 'IMG') applyPlaceholder(n);
          else if (n.tagName === 'PICTURE') applyPlaceholderToPicture(n);
          else if (n.querySelectorAll) sweep(n);
        });
      } else if (m.type === 'attributes') {
        var t = m.target;
        if (t.tagName === 'IMG') applyPlaceholder(t);
        if (t.tagName === 'SOURCE') {
          t.setAttribute('srcset', PLACEHOLDER + ' 1x, ' + PLACEHOLDER + ' 2x');
          var img = t.parentNode && t.parentNode.querySelector && t.parentNode.querySelector('img');
          if (img) applyPlaceholder(img);
        }
      }
    });
  });
  mo.observe(document.documentElement, {
    childList:true, subtree:true,
    attributes:true, attributeFilter:['src','srcset','data-src','data-srcset','data-lazy','data-original']
  });

  addEventListener('error', function(e){
    var t = e.target;
    if (t && t.tagName === 'IMG') applyPlaceholder(t);
  }, true);

  // --- Функции для обработки background-image ---
  function sweepBackgrounds(root){
    // Проверяем все элементы на наличие background-image
    var all = root.querySelectorAll('*');
    for (var i = 0; i < all.length; i++) {
      applyBgPlaceholder(all[i]);
    }
  }

  // Запускаем обработку фонов после загрузки DOM
  if (document.readyState !== 'loading') sweepBackgrounds(document);
  else document.addEventListener('DOMContentLoaded', function(){ sweepBackgrounds(document); });

  // Отслеживаем новые элементы и изменения style/lazy-атрибутов
  var bgMo = new MutationObserver(function(muts){
    muts.forEach(function(m){
      if (m.type === 'childList') {
        m.addedNodes.forEach(function(n){
          if (n.nodeType !== 1) return;
          applyBgPlaceholder(n);
          if (n.querySelectorAll) sweepBackgrounds(n);
        });
      } else if (m.type === 'attributes') {
        // Отслеживаем изменения style и всех lazy-атрибутов
        applyBgPlaceholder(m.target);
      }
    });
  });
  bgMo.observe(document.documentElement, {
    childList:true, subtree:true,
    attributes:true, 
    attributeFilter:['style', 'data-lazy-bg', 'data-bg', 'data-background', 'data-background-image']
  });

  // Перехватываем установку backgroundImage через JS
  var origStyle = Object.getOwnPropertyDescriptor(CSSStyleDeclaration.prototype, 'backgroundImage');
  if (origStyle && origStyle.set) {
    Object.defineProperty(CSSStyleDeclaration.prototype, 'backgroundImage', {
      set: function(value){
        if (value && value !== 'none' && value.includes('url(') && !value.includes(PLACEHOLDER)) {
          origStyle.set.call(this, 'url("' + PLACEHOLDER + '")');
        } else {
          origStyle.set.call(this, value);
        }
      },
      get: function(){ return origStyle.get.call(this); }
    });
  }
})();
</script>
    <!--[if lt IE 9]>
      <link
        rel="stylesheet"
        href="js/libs/reject/reject/reject.css"
        media="all"
      />
      <script
        type="text/javascript"
        src="js/libs/reject/reject/reject.min.js"
      ></script>
    <![endif]-->

    <meta charset="utf-8" />

    <title>sitemap</title>
    <base href="https://giperstimulyatsiya-pri-eko.ru/" />
    
    <meta name="keywords" content="sitemap" />
	<meta name="description" content="sitemap" />

    <link href="favicon.ico" rel="icon" type="image/x-icon" />

    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
    
    
</head>
<body>
    <div class="page-wrapper home">
        <div class="preloader">
    <style>
        .preloader {
            position: fixed;
            z-index: 10000;
            width: 100%;
            height: 100%;
            background: #fff;
            top: 0;
            left: 0;
            opacity: 1;
            visibility: visible;
            transition: visibility ease 0.8s, opacity ease 0.8s;
        }
    </style>
</div>
<header>
    <div class="container">
        <div class="row-flex">
            <div class="logo-wp">
                <div class="logo">
                    
                        <a href="https://giperstimulyatsiya-pri-eko.ru/">
                            <img class="lazyload" data-src="assets/template/images/logo.png" src="" alt="logo" />
                        </a>
                    
                </div>
            </div>
            <div class="h-menu-wp">
                
            </div>
            <div class="search-wp">
                <div class="search-btn">
                    <i class="fa fa-search" aria-hidden="true"></i>
                </div>
                <a href="#mob-menu-list" class="nav-icon">
                    <div>
                        <span></span>
                        <span></span>
                        <span></span>
                    </div>
                </a>
            </div>
            
        </div>
    </div>
</header>
        <main class="main home">
            
            <div class="main-struct">
                <div class="container">
                    
                    <div class="row">
                        <div class="col-md-8">
                            
                            
                            <div class="page-content">
                                <div class="text_edit">
                                    
                                </div>
                            </div>
                        </div>
                        <div class="col-md-4">
                            
                        </div>
                    </div>
                    
                    
                </div>
            </div>
            
            
        </main>
        
        
    </div>
</body>