{"id":939,"date":"2025-09-17T11:29:05","date_gmt":"2025-09-17T11:29:05","guid":{"rendered":"https:\/\/23ombr.dev.komanda.dev\/pidrozdily\/artillery\/"},"modified":"2025-10-02T19:36:47","modified_gmt":"2025-10-02T19:36:47","slug":"artillery","status":"publish","type":"subdivisions","link":"https:\/\/23ombr.dev.komanda.dev\/en\/pidrozdily\/artillery\/","title":{"rendered":"Artillery"},"content":{"rendered":"\r\n<section class=\"custom_classes block-1 align wp-block-acf-pic-left\">\r\n\r\n    <div class=\"flex-pic-left-container\">\r\n                    <img decoding=\"async\" src=\"https:\/\/23ombr.dev.komanda.dev\/wp-content\/uploads\/2025\/09\/arta1.jpg\" alt=\"\u0433\u0440\u0430\u0434\" class=\"flex-image\"\/>\r\n        \r\n                    <div class=\"flex-text\">\r\n                <p>The 2S1 \u201cGvozdika\u201d self-propelled guns perform combat missions at designated firing lines. The gunners of the 1st Division of the 23rd Motorized Rifle Brigade conduct aimed fire at enemy positions and equipment, supporting the infantry on the front line. The coordination and accuracy of their work allow them to effectively perform combat missions even in difficult conditions.<\/p>\n            <\/div>\r\n            <\/div>\r\n\r\n<\/section>\n\n\r\n<section class=\"custom_classes block-1 align wp-block-acf-pic-right\" >\r\n\r\n    <div class=\"flex-pic-right-container\">\r\n                    <div class=\"flex-text\">\r\n                <p>&#8220;Gvozdika&#8221; is a Soviet self-propelled artillery mount, developed on the basis of a tracked chassis. It is equipped with a 122-mm gun, capable of firing both high-explosive and special shells. The firepower of the self-propelled gun allows you to destroy various targets at a distance of up to 15 km. Autonomous control and the ability to quickly aim ensure high mobility and effectiveness on the battlefield.<\/p>\n            <\/div>\r\n        \r\n                    <img decoding=\"async\" src=\"https:\/\/23ombr.dev.komanda.dev\/wp-content\/uploads\/2025\/09\/arta2.jpg\" alt=\"\u0433\u0440\u0430\u0434\" class=\"flex-image\"\/>\r\n            <\/div>\r\n\r\n<\/section>\r\n\n\n\r\n<section class=\"custom_classes block-1 align wp-block-acf-gallery\">\r\n\t<div class=\"slider-wrapper\">\r\n\t\t<div class=\"slider-container\" id=\"infinite-slider\">\r\n\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/23ombr.dev.komanda.dev\/wp-content\/uploads\/2025\/09\/arta1-1.jpg\" alt=\"arta1\" class=\"slider-image\"\/>\r\n\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/23ombr.dev.komanda.dev\/wp-content\/uploads\/2025\/09\/arta2-1.jpg\" alt=\"arta2\" class=\"slider-image\"\/>\r\n\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/23ombr.dev.komanda.dev\/wp-content\/uploads\/2025\/09\/arta3.jpg\" alt=\"arta3\" class=\"slider-image\"\/>\r\n\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/23ombr.dev.komanda.dev\/wp-content\/uploads\/2025\/09\/arta4.jpg\" alt=\"arta4\" class=\"slider-image\"\/>\r\n\t\t\t\t\t\t<\/div>\r\n\t<\/div>\r\n<\/section>\r\n\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function () {\r\n  const slider = document.querySelector('#infinite-slider');\r\n  if (!slider) return;\r\n\r\n  let slides = Array.from(slider.children);\r\n  let index = 0;\r\n\r\n  \/\/ \u041a\u043b\u043e\u043d\u0443\u0454\u043c\u043e \u043f\u0435\u0440\u0448\u0438\u0439 \u0456 \u043e\u0441\u0442\u0430\u043d\u043d\u0456\u0439 \u0441\u043b\u0430\u0439\u0434 \u0434\u043b\u044f \u0431\u0435\u0437\u043a\u0456\u043d\u0435\u0447\u043d\u043e\u0441\u0442\u0456\r\n  const firstClone = slides[0].cloneNode(true);\r\n  const lastClone = slides[slides.length - 1].cloneNode(true);\r\n\r\n  slider.appendChild(firstClone);\r\n  slider.insertBefore(lastClone, slides[0]);\r\n\r\n  slides = Array.from(slider.children);\r\n  let currentIndex = 1;\r\n  const slideWidth = slides[0].offsetWidth + 16; \/\/ 16 \u2014 gap\r\n\r\n  slider.style.transform = `translateX(-${slideWidth * currentIndex}px)`;\r\n\r\n  \/\/ \u0424\u0443\u043d\u043a\u0446\u0456\u044f \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0443\r\n  function moveToSlide(index) {\r\n    slider.style.transition = 'transform 0.4s ease';\r\n    slider.style.transform = `translateX(-${slideWidth * index}px)`;\r\n  }\r\n\r\n  \/\/ \u041f\u0456\u0441\u043b\u044f \u0430\u043d\u0456\u043c\u0430\u0446\u0456\u0457 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u044f\u0454\u043c\u043e \u043c\u0435\u0436\u0456\r\n  slider.addEventListener('transitionend', () => {\r\n    if (slides[currentIndex].isSameNode(firstClone)) {\r\n      slider.style.transition = 'none';\r\n      currentIndex = 1;\r\n      slider.style.transform = `translateX(-${slideWidth * currentIndex}px)`;\r\n    }\r\n    if (slides[currentIndex].isSameNode(lastClone)) {\r\n      slider.style.transition = 'none';\r\n      currentIndex = slides.length - 2;\r\n      slider.style.transform = `translateX(-${slideWidth * currentIndex}px)`;\r\n    }\r\n  });\r\n\r\n  \/\/ \u041a\u043b\u0456\u043a \u043f\u043e \u043a\u0430\u0440\u0442\u0438\u043d\u0446\u0456 \u2014 \u0434\u0430\u043b\u0456\r\n  slider.addEventListener('click', () => {\r\n    currentIndex++;\r\n    moveToSlide(currentIndex);\r\n  });\r\n\r\n  \/\/ \u041f\u0456\u0434\u0442\u0440\u0438\u043c\u043a\u0430 \u0441\u0432\u0430\u0439\u043f\u0443 \/ drag\r\n  let startX = 0;\r\n  let isDragging = false;\r\n\r\n  slider.addEventListener('mousedown', (e) => {\r\n    isDragging = true;\r\n    startX = e.pageX;\r\n  });\r\n\r\n  slider.addEventListener('mouseup', (e) => {\r\n    if (!isDragging) return;\r\n    isDragging = false;\r\n    const diff = e.pageX - startX;\r\n    if (Math.abs(diff) > 50) {\r\n      currentIndex += diff > 0 ? -1 : 1;\r\n      moveToSlide(currentIndex);\r\n    }\r\n  });\r\n\r\n  slider.addEventListener('touchstart', (e) => {\r\n    startX = e.touches[0].clientX;\r\n    isDragging = true;\r\n  });\r\n\r\n  slider.addEventListener('touchend', (e) => {\r\n    if (!isDragging) return;\r\n    isDragging = false;\r\n    const diff = e.changedTouches[0].clientX - startX;\r\n    if (Math.abs(diff) > 50) {\r\n      currentIndex += diff > 0 ? -1 : 1;\r\n      moveToSlide(currentIndex);\r\n    }\r\n  });\r\n\r\n  \/\/ \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u043d\u0435 \u043e\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f \u0448\u0438\u0440\u0438\u043d\u0438 \u043f\u0440\u0438 \u0440\u0435\u0441\u0430\u0439\u0437\u0456\r\n  window.addEventListener('resize', () => {\r\n    const newWidth = slides[0].offsetWidth + 16;\r\n    slider.style.transition = 'none';\r\n    slider.style.transform = `translateX(-${newWidth * currentIndex}px)`;\r\n  });\r\n});\r\n\r\n\r\n<\/script>","protected":false},"excerpt":{"rendered":"","protected":false},"featured_media":940,"template":"","class_list":["post-939","subdivisions","type-subdivisions","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/23ombr.dev.komanda.dev\/en\/wp-json\/wp\/v2\/subdivisions\/939","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/23ombr.dev.komanda.dev\/en\/wp-json\/wp\/v2\/subdivisions"}],"about":[{"href":"https:\/\/23ombr.dev.komanda.dev\/en\/wp-json\/wp\/v2\/types\/subdivisions"}],"version-history":[{"count":4,"href":"https:\/\/23ombr.dev.komanda.dev\/en\/wp-json\/wp\/v2\/subdivisions\/939\/revisions"}],"predecessor-version":[{"id":1468,"href":"https:\/\/23ombr.dev.komanda.dev\/en\/wp-json\/wp\/v2\/subdivisions\/939\/revisions\/1468"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/23ombr.dev.komanda.dev\/en\/wp-json\/wp\/v2\/media\/940"}],"wp:attachment":[{"href":"https:\/\/23ombr.dev.komanda.dev\/en\/wp-json\/wp\/v2\/media?parent=939"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}