diff --git a/404.html b/404.html
index 640a46f..a0d8481 100644
--- a/404.html
+++ b/404.html
@@ -30,8 +30,17 @@
     </style>
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -54,18 +63,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/_src/_components/base.pug b/_src/_components/base.pug
index d8bb105..16528f7 100644
--- a/_src/_components/base.pug
+++ b/_src/_components/base.pug
@@ -12,9 +12,9 @@
         block css
         link(rel="stylesheet", href="/css/media.css?ver=" + config.version, media='only screen and (max-width:1199px)')
         link(rel="icon", type="image/png", href="/img/favicon.png")
-        
+        include ./counters.html        
     body
-        include ./counters.html
+
         block main
 
         include ./footer.pug
diff --git a/_src/_components/counters.html b/_src/_components/counters.html
index 2752c9d..05fe76e 100644
--- a/_src/_components/counters.html
+++ b/_src/_components/counters.html
@@ -1,19 +1,3 @@
-<!-- Yandex.Metrika counter -->
-<script type="text/javascript" >
-(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
-m[i].l=1*new Date();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(72949126, "init", {
-    clickmap:true,
-    trackLinks:true,
-    accurateTrackBounce:true,
-    webvisor:true
-});
-</script>
-<noscript><div><img src="https://mc.yandex.ru/watch/72949126" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
-<!-- /Yandex.Metrika counter -->
-
 <!-- Global site tag (gtag.js) - Google Analytics -->
 <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
 <script>
@@ -22,3 +6,21 @@
     gtag('js', new Date());
     gtag('config', 'UA-61232409-1');
 </script>
+
+<!-- Yandex.Metrika counter -->
+<script type="text/javascript" >
+    (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
+    m[i].l=1*new Date();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(72949126, "init", {
+        clickmap:true,
+        trackLinks:true,
+        accurateTrackBounce:true,
+        webvisor:true
+    });
+  </script>
+  <noscript><div><img src="https://mc.yandex.ru/watch/72949126" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
+
+<!-- /Yandex.Metrika counter -->
+
diff --git a/arch/clustering.html b/arch/clustering.html
index d7d4714..87a49d6 100644
--- a/arch/clustering.html
+++ b/arch/clustering.html
@@ -11,8 +11,17 @@
     <link rel="stylesheet" href="../css/deployment-opts.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -35,18 +44,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/arch/multi-tier-storage.html b/arch/multi-tier-storage.html
index d1ae2a7..e6223e1 100644
--- a/arch/multi-tier-storage.html
+++ b/arch/multi-tier-storage.html
@@ -24,8 +24,17 @@
     <link rel="stylesheet" href="../css/multi-tier.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -48,18 +57,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/arch/native-persistence.html b/arch/native-persistence.html
index 522c11a..1acd332 100644
--- a/arch/native-persistence.html
+++ b/arch/native-persistence.html
@@ -23,8 +23,17 @@
     <script src="../js/vendor/highlight/highlight.min.js"></script>
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -47,18 +56,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/community.html b/community.html
index 3d83626..35f560c 100644
--- a/community.html
+++ b/community.html
@@ -17,8 +17,17 @@
     <link rel="stylesheet" href="../css/communnity.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -41,18 +50,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/download.html b/download.html
index 08292c8..28e2d4a 100644
--- a/download.html
+++ b/download.html
@@ -22,8 +22,17 @@
     <script src="../js/vendor/highlight/xml.min.js"></script>
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -46,18 +55,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/events.html b/events.html
index 97f90bd..7e5e35b 100644
--- a/events.html
+++ b/events.html
@@ -17,8 +17,17 @@
     <link rel="stylesheet" href="../css/events.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -41,18 +50,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/faq.html b/faq.html
index f2833ec..1191854 100644
--- a/faq.html
+++ b/faq.html
@@ -18,8 +18,17 @@
     <link rel="stylesheet" href="../css/tooling.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -42,18 +51,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/features/acid-transactions.html b/features/acid-transactions.html
index 47db08b..49c23f9 100644
--- a/features/acid-transactions.html
+++ b/features/acid-transactions.html
@@ -24,8 +24,17 @@
     <link rel="stylesheet" href="../css/acid-transactions.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -48,18 +57,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/features/compute-apis.html b/features/compute-apis.html
index fea5ec8..b1de932 100644
--- a/features/compute-apis.html
+++ b/features/compute-apis.html
@@ -23,8 +23,17 @@
     <script src="../js/vendor/highlight/csharp.min.js"></script>
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -47,18 +56,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/features/index.html b/features/index.html
index 9232a1f..3add841 100644
--- a/features/index.html
+++ b/features/index.html
@@ -17,8 +17,17 @@
     <link rel="stylesheet" href="../css/features.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -41,18 +50,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/features/key-value-apis.html b/features/key-value-apis.html
index 2bf97aa..75f71c7 100644
--- a/features/key-value-apis.html
+++ b/features/key-value-apis.html
@@ -24,8 +24,17 @@
     <link rel="stylesheet" href="../css/key-value-api.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -48,18 +57,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/features/machinelearning.html b/features/machinelearning.html
index eb41983..100fd5c 100644
--- a/features/machinelearning.html
+++ b/features/machinelearning.html
@@ -25,8 +25,17 @@
     <link rel="stylesheet" href="../css/machinelearning.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -49,18 +58,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/features/multilanguage.html b/features/multilanguage.html
index 3885a17..65e28e9 100644
--- a/features/multilanguage.html
+++ b/features/multilanguage.html
@@ -12,8 +12,17 @@
     <link rel="stylesheet" href="../css/multilanguage.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -36,18 +45,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/features/service-apis.html b/features/service-apis.html
index 2fec417..4f30e2e 100644
--- a/features/service-apis.html
+++ b/features/service-apis.html
@@ -30,8 +30,17 @@
     <script src="../js/vendor/highlight/csharp.min.js"></script>
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -54,18 +63,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/features/sql.html b/features/sql.html
index 256b705..21f4b77 100644
--- a/features/sql.html
+++ b/features/sql.html
@@ -25,8 +25,17 @@
     <link rel="stylesheet" href="../css/sql.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -49,18 +58,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/features/streaming.html b/features/streaming.html
index 77c83c6..764cfd3 100644
--- a/features/streaming.html
+++ b/features/streaming.html
@@ -22,8 +22,17 @@
     <link rel="stylesheet" href="../css/streaming.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -46,18 +55,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/features/tooling.html b/features/tooling.html
index 0de238d..8f20fea 100644
--- a/features/tooling.html
+++ b/features/tooling.html
@@ -10,8 +10,17 @@
     <link rel="stylesheet" href="../css/tooling.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -34,18 +43,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/index.html b/index.html
index 5a4da7d..10e5d6e 100644
--- a/index.html
+++ b/index.html
@@ -25,8 +25,17 @@
     <script src="../js/vendor/swiper/swiper-bundle.min.js"></script>
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -49,18 +58,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <div class="fronttop">
       <!-- MOBILE MENU START -->
       <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
diff --git a/resources.html b/resources.html
index f48e8fe..df9bf95 100644
--- a/resources.html
+++ b/resources.html
@@ -18,8 +18,17 @@
     <link rel="stylesheet" href="../css/resources.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -42,18 +51,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/use-cases.html b/use-cases.html
index 5506629..5250d53 100644
--- a/use-cases.html
+++ b/use-cases.html
@@ -17,8 +17,17 @@
     <link rel="stylesheet" href="/css/usecases.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -41,18 +50,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/use-cases/digital-integration-hub.html b/use-cases/digital-integration-hub.html
index 7e7e4c6..38f70e6 100644
--- a/use-cases/digital-integration-hub.html
+++ b/use-cases/digital-integration-hub.html
@@ -25,8 +25,17 @@
     <link rel="stylesheet" href="../css/digital-hub.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -49,18 +58,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/use-cases/hadoop-acceleration.html b/use-cases/hadoop-acceleration.html
index 52dcb4e..5ed2f9c 100644
--- a/use-cases/hadoop-acceleration.html
+++ b/use-cases/hadoop-acceleration.html
@@ -26,8 +26,17 @@
     <link rel="stylesheet" href="../css/hadoop.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -50,18 +59,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/use-cases/high-performance-computing.html b/use-cases/high-performance-computing.html
index a82f8ee..495246d 100644
--- a/use-cases/high-performance-computing.html
+++ b/use-cases/high-performance-computing.html
@@ -24,8 +24,17 @@
     <link rel="stylesheet" href="../css/high-performance-computing.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -48,18 +57,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/use-cases/in-memory-cache.html b/use-cases/in-memory-cache.html
index c6011ab..0167240 100644
--- a/use-cases/in-memory-cache.html
+++ b/use-cases/in-memory-cache.html
@@ -25,8 +25,17 @@
     <link rel="stylesheet" href="../css/in-memory-cache.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -49,18 +58,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/use-cases/in-memory-data-grid.html b/use-cases/in-memory-data-grid.html
index cd36df2..368b701 100644
--- a/use-cases/in-memory-data-grid.html
+++ b/use-cases/in-memory-data-grid.html
@@ -21,8 +21,17 @@
     <link rel="stylesheet" href="../css/datagrid.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -45,18 +54,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/use-cases/in-memory-database.html b/use-cases/in-memory-database.html
index e6854da..4dbec95 100644
--- a/use-cases/in-memory-database.html
+++ b/use-cases/in-memory-database.html
@@ -26,8 +26,17 @@
     <link rel="stylesheet" href="../css/database.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -50,18 +59,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/use-cases/key-value-store.html b/use-cases/key-value-store.html
index 87bfaa9..e40f583 100644
--- a/use-cases/key-value-store.html
+++ b/use-cases/key-value-store.html
@@ -22,8 +22,17 @@
     <link rel="stylesheet" href="../css/key-value-store.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -46,18 +55,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/use-cases/provenusecases.html b/use-cases/provenusecases.html
index d0bf2db..192d940 100644
--- a/use-cases/provenusecases.html
+++ b/use-cases/provenusecases.html
@@ -18,8 +18,17 @@
     <link rel="stylesheet" href="../css/usecases.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -42,18 +51,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
diff --git a/use-cases/spark-acceleration.html b/use-cases/spark-acceleration.html
index 3dc757b..006a0ac 100644
--- a/use-cases/spark-acceleration.html
+++ b/use-cases/spark-acceleration.html
@@ -20,8 +20,17 @@
     <link rel="stylesheet" href="../css/spark.css?ver=0.9" />
     <link rel="stylesheet" href="/css/media.css?ver=0.9" media="only screen and (max-width:1199px)" />
     <link rel="icon" type="image/png" href="/img/favicon.png" />
-  </head>
-  <body>
+    <!-- Global site tag (gtag.js) - Google Analytics -->
+    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
+    <script>
+      window.dataLayer = window.dataLayer || [];
+      function gtag() {
+        dataLayer.push(arguments);
+      }
+      gtag('js', new Date());
+      gtag('config', 'UA-61232409-1');
+    </script>
+
     <!-- Yandex.Metrika counter -->
     <script type="text/javascript">
       (function (m, e, t, r, i, k, a) {
@@ -44,18 +53,10 @@
     <noscript
       ><div><img src="https://mc.yandex.ru/watch/72949126" style="position: absolute; left: -9999px" alt="" /></div
     ></noscript>
-    <!-- /Yandex.Metrika counter -->
 
-    <!-- Global site tag (gtag.js) - Google Analytics -->
-    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-61232409-1"></script>
-    <script>
-      window.dataLayer = window.dataLayer || [];
-      function gtag() {
-        dataLayer.push(arguments);
-      }
-      gtag('js', new Date());
-      gtag('config', 'UA-61232409-1');
-    </script>
+    <!-- /Yandex.Metrika counter -->
+  </head>
+  <body>
     <!-- MOBILE MENU START -->
     <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
       <div class="hystmodal__wrap">
