{"id":2217,"date":"2026-09-04T09:44:06","date_gmt":"2026-09-04T09:44:06","guid":{"rendered":"https:\/\/parsmaniista.ir\/electrical-and-mechanical-installation-projects\/"},"modified":"2026-09-04T09:44:06","modified_gmt":"2026-09-04T09:44:06","slug":"electrical-and-mechanical-installation-projects","status":"publish","type":"page","link":"https:\/\/parsmaniista.ir\/en\/electrical-and-mechanical-installation-projects\/","title":{"rendered":"Electrical and Mechanical Installation Projects"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2217\" class=\"elementor elementor-2217\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9a0902c pmi-projects-page e-con-full e-flex e-con e-parent\" data-id=\"9a0902c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2a0b680 ahura-dark-mode-filter-texts-no elementor-widget elementor-widget-html\" data-id=\"2a0b680\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<header class=\"pmi-projects-head\" dir=\"rtl\">\r\n    <div class=\"pmi-projects-head__content\">\r\n        <div class=\"pmi-projects-head__eyebrow\">\r\n            <span class=\"pmi-projects-head__line\"><\/span>\r\n            <span>\u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u067e\u0627\u0631\u0633 \u0645\u0627\u0646\u06cc \u0627\u06cc\u0633\u062a\u0627<\/span>\r\n        <\/div>\r\n\r\n        <h1>\r\n            \u067e\u0631\u0648\u0698\u0647 \u0647\u0627\u06cc \u062a\u0627\u0633\u06cc\u0633\u0627\u062a \u0628\u0631\u0642\u06cc \u0648 \u0645\u06a9\u0627\u0646\u06cc\u06a9\u06cc\r\n        <\/h1>\r\n    <\/div>\r\n\r\n    <div\r\n        class=\"pmi-projects-head__counter\"\r\n        aria-label=\"\u062a\u0639\u062f\u0627\u062f \u067e\u0631\u0648\u0698\u0647\u200c\u0647\u0627\u06cc \u0627\u0628\u0646\u06cc\u0647 \u0635\u0646\u0639\u062a\u06cc \u0648 \u0633\u0627\u0632\u0647\u200c\u0647\u0627\u06cc \u0641\u0648\u0644\u0627\u062f\u06cc\"\r\n    >\r\n        <strong data-pmi-structures-count>\u06f0\u06f0<\/strong>\r\n        <span>\u067e\u0631\u0648\u0698\u0647 \u0647\u0627<\/span>\r\n    <\/div>\r\n<\/header>\r\n\r\n<script>\r\n(function () {\r\n    \"use strict\";\r\n\r\n    if (window.pmiStructuresCounterInitialized) {\r\n        return;\r\n    }\r\n\r\n    window.pmiStructuresCounterInitialized = true;\r\n\r\n    function pmiStructuresToPersianNumber(number) {\r\n        const persianDigits = \"\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\";\r\n\r\n        return String(number)\r\n            .padStart(2, \"0\")\r\n            .replace(\/\\d\/g, function (digit) {\r\n                return persianDigits[digit];\r\n            });\r\n    }\r\n\r\n    function pmiStructuresUpdateCount() {\r\n        const counter = document.querySelector(\r\n            \"[data-pmi-structures-count]\"\r\n        );\r\n\r\n        const loopContainer = document.querySelector(\r\n            \".pmi-projects-loop .elementor-loop-container\"\r\n        );\r\n\r\n        if (!counter) {\r\n            return;\r\n        }\r\n\r\n        if (!loopContainer) {\r\n            counter.textContent = \"\u06f0\u06f0\";\r\n            return;\r\n        }\r\n\r\n        const projectItems = loopContainer.querySelectorAll(\r\n            \":scope > .e-loop-item\"\r\n        );\r\n\r\n        counter.textContent = pmiStructuresToPersianNumber(\r\n            projectItems.length\r\n        );\r\n\r\n        counter.classList.remove(\"pmi-counter-is-updated\");\r\n\r\n        window.requestAnimationFrame(function () {\r\n            counter.classList.add(\"pmi-counter-is-updated\");\r\n        });\r\n    }\r\n\r\n    function pmiStructuresInitializeCounter() {\r\n        const loopContainer = document.querySelector(\r\n            \".pmi-projects-loop .elementor-loop-container\"\r\n        );\r\n\r\n        if (!loopContainer) {\r\n            window.setTimeout(\r\n                pmiStructuresInitializeCounter,\r\n                400\r\n            );\r\n            return;\r\n        }\r\n\r\n        pmiStructuresUpdateCount();\r\n\r\n        const observer = new MutationObserver(function () {\r\n            pmiStructuresUpdateCount();\r\n        });\r\n\r\n        observer.observe(loopContainer, {\r\n            childList: true,\r\n            subtree: true\r\n        });\r\n    }\r\n\r\n    if (document.readyState === \"loading\") {\r\n        document.addEventListener(\r\n            \"DOMContentLoaded\",\r\n            pmiStructuresInitializeCounter\r\n        );\r\n    } else {\r\n        pmiStructuresInitializeCounter();\r\n    }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38e5308 elementor-grid-4 pmi-projects-loop elementor-grid-tablet-2 elementor-grid-mobile-1 ahura-dark-mode-filter-texts-no elementor-widget elementor-widget-loop-grid\" data-id=\"38e5308\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;template_id&quot;:&quot;963&quot;,&quot;columns&quot;:4,&quot;_skin&quot;:&quot;post&quot;,&quot;columns_tablet&quot;:&quot;2&quot;,&quot;columns_mobile&quot;:&quot;1&quot;,&quot;edit_handle_selector&quot;:&quot;[data-elementor-type=\\&quot;loop-item\\&quot;]&quot;,&quot;row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"loop-grid.post\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-loop-nothing-found-message\">\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b4d7ba ahura-dark-mode-filter-texts-no elementor-widget elementor-widget-html\" data-id=\"0b4d7ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div\r\n    id=\"pmiProjectFocus\"\r\n    class=\"pmi-project-focus\"\r\n    role=\"dialog\"\r\n    aria-modal=\"true\"\r\n    aria-labelledby=\"pmiProjectFocusTitle\"\r\n    aria-hidden=\"true\"\r\n    hidden\r\n    dir=\"rtl\"\r\n>\r\n    <!-- \u067e\u0646\u0644 \u0627\u0635\u0644\u06cc \u067e\u0627\u067e\u200c\u0622\u067e -->\r\n    <div\r\n        class=\"pmi-project-focus__panel\"\r\n        role=\"document\"\r\n        tabindex=\"-1\"\r\n    >\r\n        <!-- \u062f\u06a9\u0645\u0647 \u0628\u0633\u062a\u0646 -->\r\n        <button\r\n            class=\"pmi-project-focus__close\"\r\n            type=\"button\"\r\n            aria-label=\"\u0628\u0633\u062a\u0646 \u067e\u0646\u062c\u0631\u0647\"\r\n            data-pmi-project-close\r\n        >\r\n            <span aria-hidden=\"true\">\u00d7<\/span>\r\n        <\/button>\r\n\r\n        <!-- \u0648\u0636\u0639\u06cc\u062a \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc -->\r\n        <div\r\n            class=\"pmi-project-focus__loading\"\r\n            data-pmi-project-loading\r\n        >\r\n            <span class=\"pmi-project-focus__spinner\"><\/span>\r\n            <span>\u062f\u0631 \u062d\u0627\u0644 \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0631\u0648\u0698\u0647...<\/span>\r\n        <\/div>\r\n\r\n        <!-- \u0645\u062d\u062a\u0648\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 -->\r\n        <div\r\n            class=\"pmi-project-focus__content\"\r\n            data-pmi-project-content\r\n            hidden\r\n        >\r\n            <!-- \u0628\u062e\u0634 \u062a\u0635\u0627\u0648\u06cc\u0631 -->\r\n            <section class=\"pmi-project-focus__visual\">\r\n                <!-- \u062a\u0635\u0648\u06cc\u0631 \u0627\u0635\u0644\u06cc -->\r\n                <div class=\"pmi-project-focus__main-media\">\r\n                    <img decoding=\"async\"\r\n                        src=\"\"\r\n                        alt=\"\"\r\n                        data-pmi-project-main-image\r\n                    >\r\n\r\n                    <div class=\"pmi-project-focus__image-number\">\r\n                        <span data-pmi-project-current-image>\u06f0\u06f1<\/span>\r\n                        <span>\/<\/span>\r\n                        <span data-pmi-project-total-images>\u06f0\u06f4<\/span>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- \u062a\u0635\u0627\u0648\u06cc\u0631 \u06a9\u0648\u0686\u06a9 \u06af\u0627\u0644\u0631\u06cc -->\r\n                <div\r\n                    class=\"pmi-project-focus__thumbs\"\r\n                    data-pmi-project-thumbnails\r\n                    aria-label=\"\u062a\u0635\u0627\u0648\u06cc\u0631 \u067e\u0631\u0648\u0698\u0647\"\r\n                ><\/div>\r\n            <\/section>\r\n\r\n            <!-- \u0628\u062e\u0634 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0631\u0648\u0698\u0647 -->\r\n            <section class=\"pmi-project-focus__details\">\r\n                <div class=\"pmi-project-focus__eyebrow\">\r\n                    <span class=\"pmi-project-focus__eyebrow-line\"><\/span>\r\n                    <span>\u062c\u0632\u0626\u06cc\u0627\u062a \u067e\u0631\u0648\u0698\u0647<\/span>\r\n                <\/div>\r\n\r\n                <h2\r\n                    id=\"pmiProjectFocusTitle\"\r\n                    class=\"pmi-project-focus__title\"\r\n                    data-pmi-project-title\r\n                ><\/h2>\r\n\r\n                <!-- \u0645\u0648\u0642\u0639\u06cc\u062a\u060c \u0628\u0647\u0631\u0647\u200c\u0628\u0631\u062f\u0627\u0631 \u0648 \u0648\u0636\u0639\u06cc\u062a \u067e\u0631\u0648\u0698\u0647 -->\r\n                <div class=\"pmi-project-focus__meta\">\r\n                    <div class=\"pmi-project-focus__meta-item\">\r\n                        <span class=\"pmi-project-focus__meta-icon\">\r\n                            <svg\r\n                                viewBox=\"0 0 24 24\"\r\n                                aria-hidden=\"true\"\r\n                            >\r\n                                <path\r\n                                    d=\"M12 21s7-6.2 7-13a7 7 0 1 0-14 0c0 6.8 7 13 7 13Z\"\r\n                                ><\/path>\r\n                                <circle cx=\"12\" cy=\"8\" r=\"2.3\"><\/circle>\r\n                            <\/svg>\r\n                        <\/span>\r\n\r\n                        <div>\r\n                            <span class=\"pmi-project-focus__meta-label\">\r\n                                \u0645\u0648\u0642\u0639\u06cc\u062a \u067e\u0631\u0648\u0698\u0647\r\n                            <\/span>\r\n\r\n                            <strong data-pmi-project-location>\r\n                                \u2014\r\n                            <\/strong>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"pmi-project-focus__meta-item\">\r\n                        <span class=\"pmi-project-focus__meta-icon\">\r\n                            <svg\r\n                                viewBox=\"0 0 24 24\"\r\n                                aria-hidden=\"true\"\r\n                            >\r\n                                <path d=\"M4 21V7l8-4 8 4v14\"><\/path>\r\n                                <path d=\"M8 21v-5h8v5\"><\/path>\r\n                                <path d=\"M8 9h.01M12 9h.01M16 9h.01\"><\/path>\r\n                                <path d=\"M8 12h.01M12 12h.01M16 12h.01\"><\/path>\r\n                            <\/svg>\r\n                        <\/span>\r\n\r\n                        <div>\r\n                            <span class=\"pmi-project-focus__meta-label\">\r\n                                \u0646\u0627\u0645 \u0628\u0647\u0631\u0647 \u0628\u0631\u062f\u0627\u0631\r\n                            <\/span>\r\n\r\n                            <strong data-pmi-project-client>\r\n                                \u2014\r\n                            <\/strong>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <div class=\"pmi-project-focus__meta-item pmi-project-focus__meta-item--status\">\r\n                        <span class=\"pmi-project-focus__meta-icon\" aria-hidden=\"true\">\r\n                            <svg viewBox=\"0 0 24 24\">\r\n                                <circle cx=\"12\" cy=\"12\" r=\"8\"><\/circle>\r\n                                <path d=\"m8.5 12 2.2 2.2 4.8-5\"><\/path>\r\n                            <\/svg>\r\n                        <\/span>\r\n\r\n                        <div>\r\n                            <span class=\"pmi-project-focus__meta-label\">\r\n                                \u0648\u0636\u0639\u06cc\u062a \u067e\u0631\u0648\u0698\u0647\r\n                            <\/span>\r\n\r\n                            <strong\r\n                                class=\"pmi-project-focus__status\"\r\n                                data-pmi-project-status\r\n                                data-status=\"unknown\"\r\n                            >\r\n                                \u0648\u0636\u0639\u06cc\u062a \u062b\u0628\u062a \u0646\u0634\u062f\u0647\r\n                            <\/strong>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <!-- \u062a\u0648\u0636\u06cc\u062d\u0627\u062a -->\r\n                <div class=\"pmi-project-focus__description\">\r\n                    <span class=\"pmi-project-focus__section-label\">\r\n                        \u062f\u0631\u0628\u0627\u0631\u0647 \u067e\u0631\u0648\u0698\u0647\r\n                    <\/span>\r\n\r\n                    <p data-pmi-project-description><\/p>\r\n                <\/div>\r\n\r\n                <!-- \u0644\u06cc\u0646\u06a9 \u0648\u06cc\u062f\u0626\u0648 -->\r\n                <a\r\n                    class=\"pmi-project-focus__video\"\r\n                    href=\"#\"\r\n                    target=\"_blank\"\r\n                    rel=\"noopener\"\r\n                    data-pmi-project-video\r\n                    hidden\r\n                >\r\n                    <span class=\"pmi-project-focus__video-icon\">\r\n                        <svg\r\n                            viewBox=\"0 0 24 24\"\r\n                            aria-hidden=\"true\"\r\n                        >\r\n                            <circle cx=\"12\" cy=\"12\" r=\"9\"><\/circle>\r\n                            <path d=\"m10 8 6 4-6 4Z\"><\/path>\r\n                        <\/svg>\r\n                    <\/span>\r\n\r\n                    <span>\r\n                        <small>\u0648\u06cc\u062f\u0626\u0648\u06cc \u0645\u0639\u0631\u0641\u06cc \u067e\u0631\u0648\u0698\u0647<\/small>\r\n                        <strong>\u0645\u0634\u0627\u0647\u062f\u0647 \u0648\u06cc\u062f\u0626\u0648<\/strong>\r\n                    <\/span>\r\n\r\n                    <span class=\"pmi-project-focus__video-arrow\">\r\n                        \u2197\r\n                    <\/span>\r\n                <\/a>\r\n\r\n            <\/section>\r\n        <\/div>\r\n\r\n        <!-- \u062e\u0637\u0627 -->\r\n        <div\r\n            class=\"pmi-project-focus__error\"\r\n            data-pmi-project-error\r\n            hidden\r\n        >\r\n            <strong>\u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0631\u0648\u0698\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u0634\u062f<\/strong>\r\n            <span>\u0644\u0637\u0641\u0627\u064b \u062f\u0648\u0628\u0627\u0631\u0647 \u062a\u0644\u0627\u0634 \u06a9\u0646\u06cc\u062f.<\/span>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<style>\r\n\/* =====================================================\r\n   PMI PROJECT POPUP \u2014 FINAL EXACT TELECOM STYLE\r\n   \u0627\u06cc\u0646 \u06a9\u062f \u0628\u0627\u06cc\u062f \u062f\u0631 \u0627\u0646\u062a\u0647\u0627\u06cc \u062a\u0645\u0627\u0645 CSS\u0647\u0627\u06cc \u0642\u0628\u0644\u06cc \u0642\u0631\u0627\u0631 \u0628\u06af\u06cc\u0631\u062f\r\n===================================================== *\/\r\n\r\n\/* \u0627\u0635\u0644\u0627\u062d \u0642\u0637\u0639\u06cc \u0645\u0634\u06a9\u0644 \u0628\u0627\u0642\u06cc\u200c\u0645\u0627\u0646\u062f\u0646 Loading *\/\r\n.pmi-project-focus__loading[hidden],\r\n.pmi-project-focus__content[hidden],\r\n.pmi-project-focus__error[hidden],\r\n.pmi-project-focus__video[hidden],\r\n.pmi-project-focus[hidden] {\r\n    display: none !important;\r\n}\r\n\r\n\/* \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0627\u0633\u06a9\u0631\u0648\u0644 \u0635\u0641\u062d\u0647 *\/\r\nhtml.pmi-project-focus-is-open,\r\nbody.pmi-project-focus-is-open {\r\n    overflow: hidden !important;\r\n}\r\n\r\n\/* \u0644\u0627\u06cc\u0647 \u06a9\u0644\u06cc\u061b \u067e\u0646\u0644 \u0639\u0645\u062f\u0627\u064b \u067e\u0627\u06cc\u06cc\u0646\u200c\u062a\u0631 \u0627\u0632 \u0647\u062f\u0631 \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f *\/\r\n.pmi-project-focus {\r\n    --pmi-popup-orange: #f26522;\r\n    --pmi-popup-white: #ffffff;\r\n    --pmi-popup-muted: #91a5b9;\r\n    --pmi-popup-border: rgba(255, 255, 255, 0.12);\r\n    --pmi-popup-header-space: 132px;\r\n\r\n    position: fixed !important;\r\n    z-index: 2147483000 !important;\r\n\r\n    inset: 0 !important;\r\n\r\n    display: grid;\r\n    place-items: start center;\r\n\r\n    width: 100vw !important;\r\n    height: 100dvh !important;\r\n\r\n    padding:\r\n        var(--pmi-popup-header-space)\r\n        24px\r\n        20px !important;\r\n\r\n    direction: rtl;\r\n    box-sizing: border-box;\r\n\r\n    opacity: 0;\r\n    visibility: hidden;\r\n    pointer-events: none;\r\n\r\n    transition:\r\n        opacity 0.4s ease,\r\n        visibility 0.4s ease;\r\n}\r\n\r\n.pmi-project-focus *,\r\n.pmi-project-focus *::before,\r\n.pmi-project-focus *::after {\r\n    box-sizing: border-box;\r\n}\r\n\r\n.pmi-project-focus.pmi-project-focus--open {\r\n    opacity: 1;\r\n    visibility: visible;\r\n    pointer-events: none;\r\n}\r\n\r\n\/* \u067e\u0633\u200c\u0632\u0645\u06cc\u0646\u0647 \u062a\u0627\u0631 \u0648 \u0645\u062d\u0648 *\/\r\n.pmi-project-focus__backdrop {\r\n    position: fixed !important;\r\n    z-index: 0;\r\n\r\n    top: var(--pmi-popup-header-space) !important;\r\n    right: 0 !important;\r\n    bottom: 0 !important;\r\n    left: 0 !important;\r\n\r\n    width: 100vw !important;\r\n    height: auto !important;\r\n\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n\r\n    border: 0 !important;\r\n    border-radius: 0 !important;\r\n\r\n    cursor: zoom-out;\r\n    pointer-events: auto !important;\r\n\r\n    background:\r\n        radial-gradient(\r\n            circle at 72% 18%,\r\n            rgba(242, 101, 34, 0.13),\r\n            transparent 30%\r\n        ),\r\n        rgba(1, 8, 15, 0.84) !important;\r\n\r\n    -webkit-backdrop-filter: blur(13px);\r\n    backdrop-filter: blur(13px);\r\n}\r\n\r\n\/* \u067e\u0646\u0644 \u067e\u0627\u067e\u200c\u0622\u067e *\/\r\n.pmi-project-focus__panel {\r\n    position: relative;\r\n    z-index: 2;\r\n    pointer-events: auto !important;\r\n\r\n    width: min(1480px, calc(100vw - 48px)) !important;\r\n    height: calc(100dvh - var(--pmi-popup-header-space) - 20px) !important;\r\n    max-height: 850px;\r\n\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n\r\n    overflow: hidden;\r\n\r\n    border: 1px solid rgba(255, 255, 255, 0.17) !important;\r\n    border-radius: 19px !important;\r\n\r\n    background:\r\n        radial-gradient(\r\n            circle at 88% 8%,\r\n            rgba(242, 101, 34, 0.1),\r\n            transparent 27%\r\n        ),\r\n        linear-gradient(\r\n            145deg,\r\n            rgba(9, 37, 63, 0.985),\r\n            rgba(2, 14, 26, 0.99)\r\n        ) !important;\r\n\r\n    box-shadow:\r\n        0 55px 150px rgba(0, 0, 0, 0.68),\r\n        inset 0 1px 0 rgba(255, 255, 255, 0.08) !important;\r\n\r\n    opacity: 0;\r\n    transform: scale(0.94) translateY(24px);\r\n\r\n    transition:\r\n        opacity 0.4s ease,\r\n        transform 0.55s cubic-bezier(0.2, 0.72, 0.24, 1);\r\n}\r\n\r\n.pmi-project-focus.pmi-project-focus--open\r\n.pmi-project-focus__panel {\r\n    opacity: 1;\r\n    transform: scale(1) translateY(0);\r\n}\r\n\r\n\/* \u062d\u0630\u0641 \u062e\u0637\u0648\u0637 \u0634\u0628\u06a9\u0647\u200c\u0627\u06cc \u0646\u0633\u062e\u0647 \u0642\u0628\u0644\u06cc *\/\r\n.pmi-project-focus__panel::before {\r\n    display: none !important;\r\n}\r\n\r\n\/* \u062e\u0637 \u0646\u0627\u0631\u0646\u062c\u06cc \u0628\u0633\u06cc\u0627\u0631 \u0638\u0631\u06cc\u0641 \u0628\u0627\u0644\u0627\u06cc \u067e\u0646\u0644 *\/\r\n.pmi-project-focus__panel::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    z-index: 8;\r\n\r\n    top: 0;\r\n    right: 8%;\r\n\r\n    width: 84%;\r\n    height: 1px;\r\n\r\n    background:\r\n        linear-gradient(\r\n            90deg,\r\n            transparent,\r\n            rgba(242, 101, 34, 0.3),\r\n            #f26522,\r\n            rgba(242, 101, 34, 0.3),\r\n            transparent\r\n        );\r\n\r\n    box-shadow: 0 0 18px rgba(242, 101, 34, 0.35);\r\n}\r\n\r\n\/* \u062f\u06a9\u0645\u0647 \u0628\u0633\u062a\u0646 *\/\r\n.pmi-project-focus__close {\r\n    position: absolute !important;\r\n    z-index: 30 !important;\r\n\r\n    top: 19px !important;\r\n    left: 19px !important;\r\n\r\n    display: grid !important;\r\n\r\n    width: 43px !important;\r\n    height: 43px !important;\r\n\r\n    place-items: center;\r\n\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n\r\n    color: #ffffff !important;\r\n    cursor: pointer;\r\n\r\n    border: 1px solid rgba(255, 255, 255, 0.22) !important;\r\n    border-radius: 50% !important;\r\n\r\n    background: rgba(3, 17, 30, 0.64) !important;\r\n\r\n    -webkit-backdrop-filter: blur(8px);\r\n    backdrop-filter: blur(8px);\r\n\r\n    transition:\r\n        color 0.3s ease,\r\n        border-color 0.3s ease,\r\n        background 0.3s ease,\r\n        transform 0.35s ease;\r\n}\r\n\r\n.pmi-project-focus__close:hover {\r\n    border-color: #f26522 !important;\r\n    background: #f26522 !important;\r\n    transform: rotate(90deg);\r\n}\r\n\r\n\/* \u0645\u062d\u062a\u0648\u0627\u06cc \u062f\u0648 \u0633\u062a\u0648\u0646\u0647 *\/\r\n.pmi-project-focus__content {\r\n    position: relative;\r\n    z-index: 3;\r\n\r\n    display: grid !important;\r\n\r\n    \/*\r\n     * \u0628\u0647 \u062f\u0644\u06cc\u0644 RTL:\r\n     * \u0628\u062e\u0634 \u0627\u0648\u0644 \u06cc\u0639\u0646\u06cc \u062a\u0635\u0627\u0648\u06cc\u0631 \u0633\u0645\u062a \u0631\u0627\u0633\u062a \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f.\r\n     * \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0633\u0645\u062a \u0686\u067e \u0642\u0631\u0627\u0631 \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f.\r\n     *\/\r\n    grid-template-columns:\r\n        minmax(0, 1.4fr)\r\n        minmax(390px, 0.82fr) !important;\r\n\r\n    width: 100% !important;\r\n    height: 100% !important;\r\n\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n}\r\n\r\n\/* =====================================================\r\n   \u06af\u0627\u0644\u0631\u06cc \u0633\u0645\u062a \u0631\u0627\u0633\u062a\r\n===================================================== *\/\r\n\r\n.pmi-project-focus__visual {\r\n    display: grid !important;\r\n\r\n    grid-template-rows:\r\n        minmax(0, 1fr)\r\n        104px !important;\r\n\r\n    min-width: 0;\r\n    min-height: 0;\r\n\r\n    gap: 0 !important;\r\n\r\n    padding: 18px !important;\r\n\r\n    border-right: 0 !important;\r\n    border-left: 1px solid rgba(255, 255, 255, 0.12) !important;\r\n\r\n    background: rgba(1, 12, 22, 0.35);\r\n}\r\n\r\n\/* \u062a\u0635\u0648\u06cc\u0631 \u0627\u0635\u0644\u06cc *\/\r\n.pmi-project-focus__main-media {\r\n    position: relative;\r\n\r\n    display: grid !important;\r\n    place-items: center;\r\n\r\n    min-width: 0;\r\n    min-height: 0;\r\n\r\n    overflow: hidden;\r\n\r\n    border: 1px solid rgba(255, 255, 255, 0.1) !important;\r\n    border-radius: 13px !important;\r\n\r\n    background: #020c15 !important;\r\n}\r\n\r\n.pmi-project-focus__main-media img {\r\n    display: block !important;\r\n\r\n    width: 100% !important;\r\n    height: 100% !important;\r\n\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n\r\n    object-fit: contain !important;\r\n    object-position: center !important;\r\n\r\n    border: 0 !important;\r\n    border-radius: 12px !important;\r\n\r\n    opacity: 1;\r\n\r\n    transform: scale(1);\r\n\r\n    transition:\r\n        opacity 0.22s ease,\r\n        transform 0.35s ease;\r\n}\r\n\r\n\/* \u0627\u0646\u06cc\u0645\u06cc\u0634\u0646 \u062a\u0639\u0648\u06cc\u0636 \u062a\u0635\u0648\u06cc\u0631 *\/\r\n.pmi-project-focus__main-media\r\nimg:not(.pmi-project-image--visible) {\r\n    opacity: 0;\r\n    transform: scale(0.985);\r\n}\r\n\r\n.pmi-project-focus__main-media\r\nimg.pmi-project-image--visible {\r\n    opacity: 1;\r\n    transform: scale(1);\r\n}\r\n\r\n\/* \u0634\u0645\u0627\u0631\u0647 \u062a\u0635\u0648\u06cc\u0631 *\/\r\n.pmi-project-focus__image-number {\r\n    position: absolute;\r\n\r\n    right: 14px;\r\n    bottom: 14px;\r\n\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 5px;\r\n\r\n    min-height: 29px;\r\n    padding: 0 11px;\r\n\r\n    color: rgba(255, 255, 255, 0.75);\r\n\r\n    border: 1px solid rgba(255, 255, 255, 0.17);\r\n    border-radius: 30px;\r\n\r\n    background: rgba(2, 14, 25, 0.67);\r\n\r\n    font-size: 9px;\r\n    font-weight: 700;\r\n\r\n    -webkit-backdrop-filter: blur(7px);\r\n    backdrop-filter: blur(7px);\r\n}\r\n\r\n\/* \u0631\u062f\u06cc\u0641 \u0686\u0647\u0627\u0631 \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0648\u0686\u06a9 *\/\r\n.pmi-project-focus__thumbs {\r\n    display: grid !important;\r\n\r\n    grid-template-columns:\r\n        repeat(4, minmax(0, 1fr)) !important;\r\n\r\n    gap: 9px !important;\r\n\r\n    min-width: 0;\r\n    height: 104px;\r\n\r\n    padding: 10px 0 0 !important;\r\n    overflow: hidden;\r\n}\r\n\r\n\/* \u062f\u06a9\u0645\u0647 \u062a\u0635\u0648\u06cc\u0631 \u06a9\u0648\u0686\u06a9 *\/\r\n.pmi-project-focus__thumb {\r\n    position: relative;\r\n\r\n    display: block;\r\n\r\n    width: 100% !important;\r\n    height: 94px !important;\r\n    min-width: 0;\r\n\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n\r\n    overflow: hidden;\r\n    cursor: pointer;\r\n\r\n    border: 1px solid rgba(255, 255, 255, 0.12) !important;\r\n    border-radius: 9px !important;\r\n\r\n    background: #06182b !important;\r\n\r\n    opacity: 0.55;\r\n\r\n    transform: translateY(0);\r\n\r\n    transition:\r\n        opacity 0.3s ease,\r\n        border-color 0.3s ease,\r\n        transform 0.3s ease;\r\n}\r\n\r\n\/* \u062e\u0637 \u0646\u0627\u0631\u0646\u062c\u06cc \u062a\u0635\u0648\u06cc\u0631 \u0641\u0639\u0627\u0644 *\/\r\n.pmi-project-focus__thumb::after {\r\n    content: \"\";\r\n\r\n    position: absolute;\r\n    z-index: 3;\r\n\r\n    right: 0;\r\n    bottom: 0;\r\n    left: 0;\r\n\r\n    height: 2px;\r\n\r\n    background: #f26522;\r\n\r\n    transform: scaleX(0);\r\n    transform-origin: right center;\r\n\r\n    transition: transform 0.35s ease;\r\n}\r\n\r\n.pmi-project-focus__thumb:hover,\r\n.pmi-project-focus__thumb.pmi-project-thumb--active {\r\n    opacity: 1;\r\n    border-color: rgba(242, 101, 34, 0.72) !important;\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.pmi-project-focus__thumb.pmi-project-thumb--active::after {\r\n    transform: scaleX(1);\r\n}\r\n\r\n.pmi-project-focus__thumb img {\r\n    display: block !important;\r\n\r\n    width: 100% !important;\r\n    height: 100% !important;\r\n\r\n    margin: 0 !important;\r\n    padding: 0 !important;\r\n\r\n    object-fit: cover !important;\r\n    object-position: center !important;\r\n\r\n    border: 0 !important;\r\n    border-radius: 8px !important;\r\n\r\n    transition:\r\n        filter 0.3s ease,\r\n        transform 0.4s ease;\r\n}\r\n\r\n.pmi-project-focus__thumb:hover img {\r\n    filter: saturate(1.08) brightness(1.04);\r\n    transform: scale(1.025);\r\n}\r\n\r\n\/* =====================================================\r\n   \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0633\u0645\u062a \u0686\u067e\r\n===================================================== *\/\r\n\r\n.pmi-project-focus__details {\r\n    display: flex !important;\r\n    flex-direction: column;\r\n\r\n    min-width: 0;\r\n    overflow-y: auto;\r\n\r\n    padding:\r\n        clamp(62px, 5vw, 86px)\r\n        clamp(30px, 4vw, 60px)\r\n        38px !important;\r\n\r\n    scrollbar-width: thin;\r\n    scrollbar-color: rgba(242, 101, 34, 0.45) transparent;\r\n}\r\n\r\n.pmi-project-focus__details::-webkit-scrollbar {\r\n    width: 5px;\r\n}\r\n\r\n.pmi-project-focus__details::-webkit-scrollbar-thumb {\r\n    border-radius: 20px;\r\n    background: rgba(242, 101, 34, 0.45);\r\n}\r\n\r\n\/* \u0639\u0628\u0627\u0631\u062a \u0628\u0627\u0644\u0627\u06cc \u0639\u0646\u0648\u0627\u0646 *\/\r\n.pmi-project-focus__eyebrow {\r\n    display: flex;\r\n    align-items: center;\r\n    gap: 11px;\r\n\r\n    margin: 0 !important;\r\n\r\n    color: #f26522 !important;\r\n\r\n    font-family: Arial, sans-serif;\r\n    font-size: 9px;\r\n    font-weight: 700;\r\n    letter-spacing: 1.7px;\r\n}\r\n\r\n.pmi-project-focus__eyebrow-line {\r\n    display: block;\r\n\r\n    width: 34px;\r\n    height: 2px;\r\n\r\n    background: #f26522;\r\n    box-shadow: none;\r\n}\r\n\r\n\/* \u0639\u0646\u0648\u0627\u0646 \u067e\u0631\u0648\u0698\u0647 *\/\r\n.pmi-project-focus__title {\r\n    margin: 18px 0 0 !important;\r\n\r\n    color: #ffffff !important;\r\n\r\n    font-size: clamp(28px, 2.65vw, 45px) !important;\r\n    font-weight: 850 !important;\r\n    line-height: 1.55 !important;\r\n    letter-spacing: -0.8px;\r\n}\r\n\r\n\/* \u0633\u0647 \u0628\u0627\u06a9\u0633 \u0645\u0648\u0642\u0639\u06cc\u062a\u060c \u0628\u0647\u0631\u0647\u200c\u0628\u0631\u062f\u0627\u0631 \u0648 \u0648\u0636\u0639\u06cc\u062a \u067e\u0631\u0648\u0698\u0647 *\/\r\n.pmi-project-focus__meta {\r\n    display: grid !important;\r\n\r\n    grid-template-columns:\r\n        repeat(3, minmax(0, 1fr)) !important;\r\n\r\n    gap: 1px !important;\r\n\r\n    margin: 28px 0 0 !important;\r\n\r\n    overflow: hidden;\r\n\r\n    border: 1px solid rgba(255, 255, 255, 0.12) !important;\r\n    border-radius: 11px !important;\r\n\r\n    background: rgba(255, 255, 255, 0.12) !important;\r\n}\r\n\r\n\/* \u062d\u0630\u0641 \u0622\u06cc\u06a9\u0648\u0646\u200c\u0647\u0627\u06cc \u0646\u0633\u062e\u0647 \u0642\u0628\u0644\u06cc \u0628\u0631\u0627\u06cc \u062a\u0637\u0627\u0628\u0642 \u0628\u0627 \u0645\u0631\u062c\u0639 *\/\r\n.pmi-project-focus__meta-icon {\r\n    display: none !important;\r\n}\r\n\r\n.pmi-project-focus__meta-item {\r\n    display: block !important;\r\n\r\n    min-width: 0;\r\n    min-height: 86px;\r\n\r\n    padding: 15px 13px !important;\r\n\r\n    text-align: center;\r\n\r\n    background: rgba(4, 22, 39, 0.88) !important;\r\n}\r\n\r\n.pmi-project-focus__meta-item > div {\r\n    width: 100%;\r\n}\r\n\r\n.pmi-project-focus__meta-label {\r\n    display: block;\r\n\r\n    margin: 0 !important;\r\n\r\n    color: #91a5b9 !important;\r\n\r\n    font-size: 8.5px !important;\r\n    font-weight: 500;\r\n}\r\n\r\n.pmi-project-focus__meta-item strong {\r\n    display: block;\r\n\r\n    margin-top: 7px !important;\r\n\r\n    color: rgba(255, 255, 255, 0.9) !important;\r\n\r\n    font-size: 11px !important;\r\n    font-weight: 800;\r\n    line-height: 1.7;\r\n\r\n    white-space: normal;\r\n}\r\n\r\n\/* \u0648\u0636\u0639\u06cc\u062a \u062f\u0627\u06cc\u0646\u0627\u0645\u06cc\u06a9 \u067e\u0631\u0648\u0698\u0647 \u0627\u0632 ACF *\/\r\n.pmi-project-focus__status {\r\n    display: inline-flex !important;\r\n    width: fit-content;\r\n    min-height: 29px;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 7px;\r\n    margin: 7px auto 0 !important;\r\n    padding: 4px 11px !important;\r\n    border: 1px solid rgba(145, 165, 185, 0.22);\r\n    border-radius: 999px;\r\n    color: rgba(222, 232, 241, 0.84) !important;\r\n    background: rgba(145, 165, 185, 0.08);\r\n    white-space: nowrap !important;\r\n}\r\n\r\n.pmi-project-focus__status::before {\r\n    content: \"\";\r\n    display: block;\r\n    flex: 0 0 auto;\r\n    width: 7px;\r\n    height: 7px;\r\n    border-radius: 50%;\r\n    background: #91a5b9;\r\n    box-shadow: 0 0 10px rgba(145, 165, 185, 0.38);\r\n}\r\n\r\n.pmi-project-focus__status[data-status=\"completed\"] {\r\n    border-color: rgba(54, 211, 153, 0.3);\r\n    color: #a7f3d0 !important;\r\n    background: rgba(16, 185, 129, 0.09);\r\n}\r\n\r\n.pmi-project-focus__status[data-status=\"completed\"]::before {\r\n    background: #34d399;\r\n    box-shadow: 0 0 12px rgba(52, 211, 153, 0.66);\r\n}\r\n\r\n.pmi-project-focus__status[data-status=\"in_progress\"] {\r\n    border-color: rgba(242, 101, 34, 0.38);\r\n    color: #ffb38d !important;\r\n    background: rgba(242, 101, 34, 0.09);\r\n}\r\n\r\n.pmi-project-focus__status[data-status=\"in_progress\"]::before {\r\n    background: #f26522;\r\n    box-shadow: 0 0 13px rgba(242, 101, 34, 0.72);\r\n    animation: pmiProjectStatusPulse 1.75s ease-in-out infinite;\r\n}\r\n\r\n@keyframes pmiProjectStatusPulse {\r\n    0%,\r\n    100% {\r\n        opacity: 0.72;\r\n        transform: scale(0.82);\r\n    }\r\n\r\n    50% {\r\n        opacity: 1;\r\n        transform: scale(1.16);\r\n    }\r\n}\r\n\r\n\/* \u062a\u0648\u0636\u06cc\u062d\u0627\u062a *\/\r\n.pmi-project-focus__description {\r\n    margin: 29px 0 0 !important;\r\n}\r\n\r\n.pmi-project-focus__section-label {\r\n    display: block;\r\n\r\n    margin: 0 !important;\r\n\r\n    color: #f26522 !important;\r\n\r\n    font-size: 10px !important;\r\n    font-weight: 800;\r\n}\r\n\r\n.pmi-project-focus__description p {\r\n    margin: 10px 0 0 !important;\r\n\r\n    color: rgba(218, 229, 239, 0.73) !important;\r\n\r\n    font-size: 12px !important;\r\n    font-weight: 500;\r\n    line-height: 2.05 !important;\r\n}\r\n\r\n\/* \u062f\u06a9\u0645\u0647 \u0648\u06cc\u062f\u0626\u0648 *\/\r\n.pmi-project-focus__video {\r\n    display: grid !important;\r\n\r\n    grid-template-columns:\r\n        auto\r\n        minmax(0, 1fr)\r\n        auto !important;\r\n\r\n    align-items: center;\r\n    gap: 13px;\r\n\r\n    width: 100%;\r\n    min-height: 67px;\r\n\r\n    margin: auto 0 0 !important;\r\n    padding: 10px 12px !important;\r\n\r\n    color: inherit !important;\r\n    text-decoration: none !important;\r\n\r\n    border: 1px solid rgba(242, 101, 34, 0.4) !important;\r\n    border-radius: 11px !important;\r\n\r\n    background: rgba(242, 101, 34, 0.075) !important;\r\n\r\n    transition:\r\n        border-color 0.3s ease,\r\n        background 0.3s ease,\r\n        transform 0.3s ease;\r\n}\r\n\r\n.pmi-project-focus__video:hover {\r\n    border-color: #f26522 !important;\r\n    background: rgba(242, 101, 34, 0.13) !important;\r\n    transform: translateY(-2px);\r\n}\r\n\r\n.pmi-project-focus__video-icon {\r\n    display: grid !important;\r\n\r\n    width: 43px !important;\r\n    height: 43px !important;\r\n\r\n    place-items: center;\r\n\r\n    color: #ffffff !important;\r\n\r\n    border: 0 !important;\r\n    border-radius: 50% !important;\r\n\r\n    background: #f26522 !important;\r\n    box-shadow: 0 0 24px rgba(242, 101, 34, 0.28);\r\n}\r\n\r\n.pmi-project-focus__video-icon svg {\r\n    width: 19px;\r\n    height: 19px;\r\n\r\n    fill: none;\r\n    stroke: currentColor;\r\n    stroke-width: 1.8;\r\n    stroke-linecap: round;\r\n    stroke-linejoin: round;\r\n}\r\n\r\n.pmi-project-focus__video small,\r\n.pmi-project-focus__video strong {\r\n    display: block;\r\n}\r\n\r\n.pmi-project-focus__video small {\r\n    margin: 0 0 5px !important;\r\n\r\n    color: #91a5b9 !important;\r\n\r\n    font-size: 8.5px;\r\n    font-weight: 500;\r\n}\r\n\r\n.pmi-project-focus__video strong {\r\n    margin: 0 !important;\r\n\r\n    color: #ffffff !important;\r\n\r\n    font-size: 11px;\r\n    font-weight: 800;\r\n}\r\n\r\n.pmi-project-focus__video-arrow {\r\n    color: #f26522 !important;\r\n    font-size: 18px;\r\n}\r\n\r\n\/* \u0634\u0646\u0627\u0633\u0647 \u067e\u0631\u0648\u0698\u0647 *\/\r\n.pmi-project-focus__index {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n\r\n    margin-top: 28px;\r\n    padding-top: 18px;\r\n\r\n    border-top: 1px solid rgba(255, 255, 255, 0.12);\r\n}\r\n\r\n.pmi-project-focus__index span {\r\n    color: rgba(145, 165, 185, 0.55);\r\n\r\n    font-size: 8px;\r\n    font-weight: 800;\r\n    letter-spacing: 2px;\r\n}\r\n\r\n.pmi-project-focus__index strong {\r\n    color: transparent;\r\n\r\n    font-size: 31px;\r\n    font-weight: 900;\r\n\r\n    -webkit-text-stroke: 1px rgba(255, 255, 255, 0.27);\r\n}\r\n\r\n\/* Loading *\/\r\n.pmi-project-focus__loading {\r\n    position: absolute;\r\n    z-index: 10;\r\n\r\n    inset: 0;\r\n\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 17px;\r\n\r\n    color: rgba(255, 255, 255, 0.75);\r\n\r\n    background: rgba(2, 14, 26, 0.82);\r\n}\r\n\r\n\/* \u062e\u0637\u0627 *\/\r\n.pmi-project-focus__error {\r\n    position: absolute;\r\n    z-index: 10;\r\n\r\n    inset: 0;\r\n\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    justify-content: center;\r\n\r\n    color: rgba(255, 255, 255, 0.8);\r\n\r\n    background: rgba(2, 14, 26, 0.9);\r\n}\r\n\r\n\/* =====================================================\r\n   \u062a\u0628\u0644\u062a\r\n===================================================== *\/\r\n\r\n@media (max-width: 1050px) {\r\n    .pmi-project-focus {\r\n        --pmi-popup-header-space: 112px;\r\n\r\n        padding-right: 14px !important;\r\n        padding-left: 14px !important;\r\n    }\r\n\r\n    .pmi-project-focus__panel {\r\n        width: calc(100vw - 28px) !important;\r\n        height:\r\n            calc(\r\n                100dvh -\r\n                var(--pmi-popup-header-space) -\r\n                14px\r\n            ) !important;\r\n\r\n        max-height: none;\r\n        overflow-y: auto;\r\n    }\r\n\r\n    .pmi-project-focus__content {\r\n        grid-template-columns: 1fr !important;\r\n        height: auto !important;\r\n    }\r\n\r\n    .pmi-project-focus__visual {\r\n        grid-template-rows:\r\n            minmax(360px, 55vh)\r\n            90px !important;\r\n\r\n        border-left: 0 !important;\r\n        border-bottom:\r\n            1px solid rgba(255, 255, 255, 0.12) !important;\r\n    }\r\n\r\n    .pmi-project-focus__thumbs {\r\n        height: 90px;\r\n    }\r\n\r\n    .pmi-project-focus__thumb {\r\n        height: 80px !important;\r\n    }\r\n\r\n    .pmi-project-focus__details {\r\n        overflow: visible;\r\n        padding: 42px 25px 28px !important;\r\n    }\r\n\r\n    .pmi-project-focus__video {\r\n        margin-top: 28px !important;\r\n    }\r\n}\r\n\r\n\/* =====================================================\r\n   \u0645\u0648\u0628\u0627\u06cc\u0644\r\n===================================================== *\/\r\n\r\n@media (max-width: 600px) {\r\n    .pmi-project-focus {\r\n        --pmi-popup-header-space: 90px;\r\n\r\n        padding:\r\n            var(--pmi-popup-header-space)\r\n            7px\r\n            7px !important;\r\n    }\r\n\r\n    .pmi-project-focus__panel {\r\n        width: calc(100vw - 14px) !important;\r\n        height:\r\n            calc(\r\n                100dvh -\r\n                var(--pmi-popup-header-space) -\r\n                7px\r\n            ) !important;\r\n\r\n        border-radius: 13px !important;\r\n    }\r\n\r\n    .pmi-project-focus__close {\r\n        top: 12px !important;\r\n        left: 12px !important;\r\n\r\n        width: 38px !important;\r\n        height: 38px !important;\r\n    }\r\n\r\n    .pmi-project-focus__visual {\r\n        grid-template-rows:\r\n            minmax(280px, 46vh)\r\n            74px !important;\r\n\r\n        padding: 9px !important;\r\n    }\r\n\r\n    .pmi-project-focus__thumbs {\r\n        height: 74px;\r\n        gap: 6px !important;\r\n        padding-top: 7px !important;\r\n    }\r\n\r\n    .pmi-project-focus__thumb {\r\n        height: 67px !important;\r\n        border-radius: 7px !important;\r\n    }\r\n\r\n    .pmi-project-focus__details {\r\n        padding: 34px 17px 22px !important;\r\n    }\r\n\r\n    .pmi-project-focus__title {\r\n        font-size: clamp(25px, 7vw, 33px) !important;\r\n    }\r\n\r\n    .pmi-project-focus__meta {\r\n        grid-template-columns: 1fr !important;\r\n    }\r\n\r\n    .pmi-project-focus__description p {\r\n        font-size: 11px !important;\r\n    }\r\n}\r\n\r\n@media (prefers-reduced-motion: reduce) {\r\n    .pmi-project-focus,\r\n    .pmi-project-focus__panel,\r\n    .pmi-project-focus__main-media img,\r\n    .pmi-project-focus__thumb,\r\n    .pmi-project-focus__video {\r\n        transition: none !important;\r\n    }\r\n}\r\n<\/style>\r\n<script>\r\n(function () {\r\n    \"use strict\";\r\n\r\n    \/* \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0627\u062c\u0631\u0627\u06cc \u0686\u0646\u062f\u0628\u0627\u0631\u0647 \u06a9\u062f *\/\r\n    if (window.pmiProjectPopupInitialized) {\r\n        return;\r\n    }\r\n\r\n    window.pmiProjectPopupInitialized = true;\r\n\r\n    function pmiInitProjectPopup() {\r\n        const popup = document.getElementById(\"pmiProjectFocus\");\r\n\r\n        if (!popup) {\r\n            console.warn(\"PMI Popup: \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0627\u067e\u200c\u0622\u067e \u067e\u06cc\u062f\u0627 \u0646\u0634\u062f.\");\r\n            return;\r\n        }\r\n\r\n        \/* \u0639\u0646\u0627\u0635\u0631 \u067e\u0627\u067e\u200c\u0622\u067e *\/\r\n        const panel = popup.querySelector(\".pmi-project-focus__panel\");\r\n        const loading = popup.querySelector(\"[data-pmi-project-loading]\");\r\n        const content = popup.querySelector(\"[data-pmi-project-content]\");\r\n        const errorBox = popup.querySelector(\"[data-pmi-project-error]\");\r\n\r\n        const titleElement = popup.querySelector(\"[data-pmi-project-title]\");\r\n        const locationElement = popup.querySelector(\"[data-pmi-project-location]\");\r\n        const clientElement = popup.querySelector(\"[data-pmi-project-client]\");\r\n        const statusElement = popup.querySelector(\"[data-pmi-project-status]\");\r\n        const descriptionElement = popup.querySelector(\r\n            \"[data-pmi-project-description]\"\r\n        );\r\n\r\n        const mainImage = popup.querySelector(\"[data-pmi-project-main-image]\");\r\n        const thumbnails = popup.querySelector(\r\n            \"[data-pmi-project-thumbnails]\"\r\n        );\r\n\r\n        const currentImageNumber = popup.querySelector(\r\n            \"[data-pmi-project-current-image]\"\r\n        );\r\n\r\n        const totalImageNumber = popup.querySelector(\r\n            \"[data-pmi-project-total-images]\"\r\n        );\r\n\r\n        const videoLink = popup.querySelector(\"[data-pmi-project-video]\");\r\n\r\n        let activeRequest = null;\r\n        let lastFocusedElement = null;\r\n        let closeTimer = null;\r\n\r\n        \/* \u062a\u0634\u062e\u06cc\u0635 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0622\u062f\u0631\u0633 REST \u0648\u0631\u062f\u067e\u0631\u0633 *\/\r\n        function pmiGetApiRoot() {\r\n            if (\r\n                window.wpApiSettings &&\r\n                window.wpApiSettings.root\r\n            ) {\r\n                return window.wpApiSettings.root;\r\n            }\r\n\r\n            const apiLink = document.querySelector(\r\n                'link[rel=\"https:\/\/api.w.org\/\"]'\r\n            );\r\n\r\n            if (apiLink && apiLink.href) {\r\n                return apiLink.href;\r\n            }\r\n\r\n            \/*\r\n             * \u062d\u0627\u0644\u062a \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0644\u0648\u06a9\u0627\u0644\u200c\u0647\u0627\u0633\u062a \u0641\u0639\u0644\u06cc\r\n             * \u062f\u0631 \u0633\u0627\u06cc\u062a \u0627\u0635\u0644\u06cc \u0645\u0639\u0645\u0648\u0644\u0627\u064b \u0631\u0648\u0634 \u0628\u0627\u0644\u0627 \u062e\u0648\u062f\u06a9\u0627\u0631 \u06a9\u0627\u0631 \u0645\u06cc\u200c\u06a9\u0646\u062f.\r\n             *\/\r\n            if (\r\n                window.location.hostname === \"localhost\" &&\r\n                window.location.pathname.indexOf(\"\/PMI\/\") !== -1\r\n            ) {\r\n                return window.location.origin + \"\/PMI\/wp-json\/\";\r\n            }\r\n\r\n            return window.location.origin + \"\/wp-json\/\";\r\n        }\r\n\r\n        const apiRoot = pmiGetApiRoot().replace(\/\\\/+$\/, \"\") + \"\/\";\r\n\r\n        \/* \u062a\u0628\u062f\u06cc\u0644 \u0627\u0639\u062f\u0627\u062f \u0627\u0646\u06af\u0644\u06cc\u0633\u06cc \u0628\u0647 \u0641\u0627\u0631\u0633\u06cc *\/\r\n        function pmiToPersianNumber(value) {\r\n            const numbers = [\r\n                \"\u06f0\", \"\u06f1\", \"\u06f2\", \"\u06f3\", \"\u06f4\",\r\n                \"\u06f5\", \"\u06f6\", \"\u06f7\", \"\u06f8\", \"\u06f9\"\r\n            ];\r\n\r\n            return String(value).replace(\/\\d\/g, function (number) {\r\n                return numbers[Number(number)];\r\n            });\r\n        }\r\n\r\n        \/* \u0627\u06cc\u062c\u0627\u062f \u0634\u0645\u0627\u0631\u0647 \u062f\u0648 \u0631\u0642\u0645\u06cc *\/\r\n        function pmiFormatImageNumber(value) {\r\n            const number = String(value).padStart(2, \"0\");\r\n            return pmiToPersianNumber(number);\r\n        }\r\n\r\n        \/* \u062d\u0630\u0641 \u062a\u06af\u200c\u0647\u0627\u06cc HTML \u0627\u0632 \u0639\u0646\u0648\u0627\u0646 *\/\r\n        function pmiStripHtml(value) {\r\n            const temporary = document.createElement(\"div\");\r\n            temporary.innerHTML = value || \"\";\r\n            return temporary.textContent || temporary.innerText || \"\";\r\n        }\r\n\r\n        \/*\r\n         * \u062e\u0648\u0627\u0646\u062f\u0646 \u0645\u0637\u0645\u0626\u0646 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc ACF\u061b \u0633\u0627\u0632\u06af\u0627\u0631 \u0628\u0627 \u062d\u0627\u0644\u062a\u200c\u0647\u0627\u06cc\r\n         * acf\u060c meta \u0648 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0633\u0637\u062d \u0627\u0635\u0644\u06cc REST.\r\n         *\/\r\n        function pmiGetFieldValue(project, fieldName) {\r\n            const acf =\r\n                project &&\r\n                project.acf &&\r\n                typeof project.acf === \"object\"\r\n                    ? project.acf\r\n                    : {};\r\n\r\n            let value = acf[fieldName];\r\n\r\n            if (\r\n                (value === undefined ||\r\n                    value === null ||\r\n                    value === \"\") &&\r\n                project.meta &&\r\n                Object.prototype.hasOwnProperty.call(\r\n                    project.meta,\r\n                    fieldName\r\n                )\r\n            ) {\r\n                value = project.meta[fieldName];\r\n            }\r\n\r\n            if (\r\n                (value === undefined ||\r\n                    value === null ||\r\n                    value === \"\") &&\r\n                Object.prototype.hasOwnProperty.call(\r\n                    project,\r\n                    fieldName\r\n                )\r\n            ) {\r\n                value = project[fieldName];\r\n            }\r\n\r\n            if (Array.isArray(value)) {\r\n                value = value.length ? value[0] : \"\";\r\n            }\r\n\r\n            if (value && typeof value === \"object\") {\r\n                value =\r\n                    value.value ??\r\n                    value.rendered ??\r\n                    value.raw ??\r\n                    value.label ??\r\n                    \"\";\r\n            }\r\n\r\n            if (\r\n                value === undefined ||\r\n                value === null ||\r\n                value === false\r\n            ) {\r\n                return \"\";\r\n            }\r\n\r\n            return pmiStripHtml(String(value)).trim();\r\n        }\r\n\r\n        function pmiGetFirstAvailableField(project, fieldNames) {\r\n            for (const fieldName of fieldNames) {\r\n                const value = pmiGetFieldValue(\r\n                    project,\r\n                    fieldName\r\n                );\r\n\r\n                if (value) {\r\n                    return value;\r\n                }\r\n            }\r\n\r\n            return \"\";\r\n        }\r\n\r\n        \/* \u06cc\u06a9\u0633\u0627\u0646\u200c\u0633\u0627\u0632\u06cc \u062e\u0631\u0648\u062c\u06cc \u0641\u06cc\u0644\u062f ACF \u0648\u0636\u0639\u06cc\u062a \u067e\u0631\u0648\u0698\u0647 *\/\r\n        function pmiNormalizeProjectStatus(statusValue) {\r\n            const rawStatus = pmiStripHtml(\r\n                String(statusValue || \"\")\r\n            )\r\n                .trim()\r\n                .toLowerCase()\r\n                .replace(\/\\u200c\/g, \" \")\r\n                .replace(\/[-\\s]+\/g, \"_\");\r\n\r\n            const completedValues = [\r\n                \"completed\",\r\n                \"complete\",\r\n                \"finished\",\r\n                \"done\",\r\n                \"1\",\r\n                \"true\",\r\n                \"yes\",\r\n                \"\u062a\u06a9\u0645\u06cc\u0644_\u0634\u062f\u0647\",\r\n                \"\u062a\u06a9\u0645\u06cc\u0644\",\r\n                \"\u067e\u0627\u06cc\u0627\u0646_\u06cc\u0627\u0641\u062a\u0647\",\r\n                \"\u0628\u0647_\u067e\u0627\u06cc\u0627\u0646_\u0631\u0633\u06cc\u062f\u0647\"\r\n            ];\r\n\r\n            const inProgressValues = [\r\n                \"in_progress\",\r\n                \"inprogress\",\r\n                \"ongoing\",\r\n                \"active\",\r\n                \"0\",\r\n                \"false\",\r\n                \"no\",\r\n                \"\u062f\u0631_\u062d\u0627\u0644_\u0627\u0646\u062c\u0627\u0645\",\r\n                \"\u062f\u0631\u062d\u0627\u0644_\u0627\u0646\u062c\u0627\u0645\",\r\n                \"\u062f\u0631_\u062f\u0633\u062a_\u0627\u062c\u0631\u0627\",\r\n                \"\u062f\u0631\u062d\u0627\u0644_\u0627\u062c\u0631\u0627\"\r\n            ];\r\n\r\n            if (completedValues.includes(rawStatus)) {\r\n                return {\r\n                    value: \"completed\",\r\n                    label: \"\u062a\u06a9\u0645\u06cc\u0644 \u0634\u062f\u0647\"\r\n                };\r\n            }\r\n\r\n            if (inProgressValues.includes(rawStatus)) {\r\n                return {\r\n                    value: \"in_progress\",\r\n                    label: \"\u062f\u0631 \u062d\u0627\u0644 \u0627\u0646\u062c\u0627\u0645\"\r\n                };\r\n            }\r\n\r\n            return {\r\n                value: \"unknown\",\r\n                label: statusValue\r\n                    ? pmiStripHtml(String(statusValue)).trim()\r\n                    : \"\u0648\u0636\u0639\u06cc\u062a \u062b\u0628\u062a \u0646\u0634\u062f\u0647\"\r\n            };\r\n        }\r\n\r\n        \/* \u0627\u0633\u062a\u062e\u0631\u0627\u062c Slug \u0627\u0632 \u0644\u06cc\u0646\u06a9 \u067e\u0631\u0648\u0698\u0647 *\/\r\n        function pmiGetSlugFromUrl(url) {\r\n            try {\r\n                const parsedUrl = new URL(url, window.location.href);\r\n\r\n                const pathParts = parsedUrl.pathname\r\n                    .split(\"\/\")\r\n                    .filter(Boolean);\r\n\r\n                if (!pathParts.length) {\r\n                    return \"\";\r\n                }\r\n\r\n                return decodeURIComponent(\r\n                    pathParts[pathParts.length - 1]\r\n                );\r\n            } catch (error) {\r\n                return \"\";\r\n            }\r\n        }\r\n\r\n        \/* \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06cc\u06a9 \u0641\u0627\u06cc\u0644 \u0631\u0633\u0627\u0646\u0647\u200c\u0627\u06cc \u0648\u0631\u062f\u067e\u0631\u0633 *\/\r\n        async function pmiGetMediaById(mediaId, signal) {\r\n            if (!mediaId) {\r\n                return null;\r\n            }\r\n\r\n            \/*\r\n             * \u0627\u06af\u0631 ACF \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u06a9\u0627\u0645\u0644 \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f\r\n             *\/\r\n            if (typeof mediaId === \"object\") {\r\n                const objectUrl =\r\n                    mediaId.url ||\r\n                    mediaId.source_url ||\r\n                    (mediaId.sizes && mediaId.sizes.large) ||\r\n                    (mediaId.sizes && mediaId.sizes.full);\r\n\r\n                if (!objectUrl) {\r\n                    return null;\r\n                }\r\n\r\n                return {\r\n                    url: objectUrl,\r\n                    alt: mediaId.alt || mediaId.alt_text || \"\"\r\n                };\r\n            }\r\n\r\n            \/*\r\n             * \u0627\u06af\u0631 ACF \u0641\u0642\u0637 \u0634\u0646\u0627\u0633\u0647 \u0639\u062f\u062f\u06cc \u062a\u0635\u0648\u06cc\u0631 \u0631\u0627 \u0628\u0631\u06af\u0631\u062f\u0627\u0646\u062f\r\n             *\/\r\n            const numericId = parseInt(mediaId, 10);\r\n\r\n            if (!numericId) {\r\n                return null;\r\n            }\r\n\r\n            const response = await fetch(\r\n                apiRoot +\r\n                    \"wp\/v2\/media\/\" +\r\n                    numericId +\r\n                    \"?_fields=id,source_url,alt_text,media_details\",\r\n                {\r\n                    signal: signal,\r\n                    credentials: \"same-origin\"\r\n                }\r\n            );\r\n\r\n            if (!response.ok) {\r\n                throw new Error(\r\n                    \"\u062f\u0631\u06cc\u0627\u0641\u062a \u062a\u0635\u0648\u06cc\u0631 \u0628\u0627 \u062e\u0637\u0627 \u0645\u0648\u0627\u062c\u0647 \u0634\u062f: \" + numericId\r\n                );\r\n            }\r\n\r\n            const media = await response.json();\r\n\r\n            let imageUrl = media.source_url || \"\";\r\n\r\n            \/*\r\n             * \u062f\u0631 \u0635\u0648\u0631\u062a \u0648\u062c\u0648\u062f \u0646\u0633\u062e\u0647 Large\u060c \u0628\u0631\u0627\u06cc \u0633\u0631\u0639\u062a \u0628\u0647\u062a\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.\r\n             *\/\r\n            if (\r\n                media.media_details &&\r\n                media.media_details.sizes &&\r\n                media.media_details.sizes.large &&\r\n                media.media_details.sizes.large.source_url\r\n            ) {\r\n                imageUrl =\r\n                    media.media_details.sizes.large.source_url;\r\n            }\r\n\r\n            if (!imageUrl) {\r\n                return null;\r\n            }\r\n\r\n            return {\r\n                url: imageUrl,\r\n                alt: media.alt_text || \"\"\r\n            };\r\n        }\r\n\r\n        \/* \u062f\u0631\u06cc\u0627\u0641\u062a \u062a\u0635\u0648\u06cc\u0631 \u0634\u0627\u062e\u0635 *\/\r\n        function pmiGetFeaturedImage(project) {\r\n            try {\r\n                const featured =\r\n                    project._embedded[\"wp:featuredmedia\"][0];\r\n\r\n                if (!featured || !featured.source_url) {\r\n                    return null;\r\n                }\r\n\r\n                let imageUrl = featured.source_url;\r\n\r\n                if (\r\n                    featured.media_details &&\r\n                    featured.media_details.sizes &&\r\n                    featured.media_details.sizes.large &&\r\n                    featured.media_details.sizes.large.source_url\r\n                ) {\r\n                    imageUrl =\r\n                        featured.media_details.sizes.large.source_url;\r\n                }\r\n\r\n                return {\r\n                    url: imageUrl,\r\n                    alt: featured.alt_text || \"\"\r\n                };\r\n            } catch (error) {\r\n                return null;\r\n            }\r\n        }\r\n\r\n        \/* \u062a\u063a\u06cc\u06cc\u0631 \u062a\u0635\u0648\u06cc\u0631 \u0627\u0635\u0644\u06cc \u06af\u0627\u0644\u0631\u06cc *\/\r\n        function pmiSetActiveImage(images, selectedIndex) {\r\n            const selectedImage = images[selectedIndex];\r\n\r\n            if (!selectedImage) {\r\n                return;\r\n            }\r\n\r\n            mainImage.classList.remove(\r\n                \"pmi-project-image--visible\"\r\n            );\r\n\r\n            window.setTimeout(function () {\r\n                mainImage.src = selectedImage.url;\r\n                mainImage.alt = selectedImage.alt || \"\";\r\n\r\n                currentImageNumber.textContent =\r\n                    pmiFormatImageNumber(selectedIndex + 1);\r\n\r\n                const thumbButtons = thumbnails.querySelectorAll(\r\n                    \".pmi-project-focus__thumb\"\r\n                );\r\n\r\n                thumbButtons.forEach(function (button, index) {\r\n                    const isActive = index === selectedIndex;\r\n\r\n                    button.classList.toggle(\r\n                        \"pmi-project-thumb--active\",\r\n                        isActive\r\n                    );\r\n\r\n                    button.setAttribute(\r\n                        \"aria-pressed\",\r\n                        isActive ? \"true\" : \"false\"\r\n                    );\r\n                });\r\n\r\n                if (mainImage.complete) {\r\n                    mainImage.classList.add(\r\n                        \"pmi-project-image--visible\"\r\n                    );\r\n                }\r\n            }, 120);\r\n        }\r\n\r\n        mainImage.addEventListener(\"load\", function () {\r\n            mainImage.classList.add(\r\n                \"pmi-project-image--visible\"\r\n            );\r\n        });\r\n\r\n        \/* \u0633\u0627\u062e\u062a \u062a\u0635\u0627\u0648\u06cc\u0631 \u06a9\u0648\u0686\u06a9 \u06af\u0627\u0644\u0631\u06cc *\/\r\n        function pmiBuildGallery(images, projectTitle) {\r\n            thumbnails.innerHTML = \"\";\r\n\r\n            totalImageNumber.textContent =\r\n                pmiFormatImageNumber(images.length);\r\n\r\n            images.forEach(function (image, index) {\r\n                const button = document.createElement(\"button\");\r\n\r\n                button.type = \"button\";\r\n                button.className =\r\n                    \"pmi-project-focus__thumb\";\r\n\r\n                button.setAttribute(\r\n                    \"aria-label\",\r\n                    \"\u0646\u0645\u0627\u06cc\u0634 \u062a\u0635\u0648\u06cc\u0631 \" +\r\n                        pmiToPersianNumber(index + 1) +\r\n                        \" \u067e\u0631\u0648\u0698\u0647\"\r\n                );\r\n\r\n                button.setAttribute(\"aria-pressed\", \"false\");\r\n\r\n                const thumbnailImage =\r\n                    document.createElement(\"img\");\r\n\r\n                thumbnailImage.src = image.url;\r\n                thumbnailImage.alt =\r\n                    image.alt ||\r\n                    projectTitle +\r\n                        \" - \u062a\u0635\u0648\u06cc\u0631 \" +\r\n                        pmiToPersianNumber(index + 1);\r\n\r\n                thumbnailImage.loading = \"eager\";\r\n                thumbnailImage.decoding = \"async\";\r\n\r\n                button.appendChild(thumbnailImage);\r\n\r\n                button.addEventListener(\"click\", function () {\r\n                    pmiSetActiveImage(images, index);\r\n                });\r\n\r\n                thumbnails.appendChild(button);\r\n            });\r\n\r\n            pmiSetActiveImage(images, 0);\r\n        }\r\n\r\n        \/* \u062d\u0627\u0644\u062a \u0628\u0627\u0631\u06af\u0630\u0627\u0631\u06cc *\/\r\n        function pmiShowLoading() {\r\n            loading.hidden = false;\r\n            content.hidden = true;\r\n            errorBox.hidden = true;\r\n        }\r\n\r\n        \/* \u062d\u0627\u0644\u062a \u0646\u0645\u0627\u06cc\u0634 \u0645\u062d\u062a\u0648\u0627 *\/\r\n        function pmiShowContent() {\r\n            loading.hidden = true;\r\n            errorBox.hidden = true;\r\n            content.hidden = false;\r\n        }\r\n\r\n        \/* \u062d\u0627\u0644\u062a \u062e\u0637\u0627 *\/\r\n        function pmiShowError() {\r\n            loading.hidden = true;\r\n            content.hidden = true;\r\n            errorBox.hidden = false;\r\n        }\r\n\r\n        \/* \u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u0633\u0627\u062e\u062a\u0627\u0631 \u067e\u0627\u067e\u200c\u0622\u067e *\/\r\n        function pmiOpenPopupShell() {\r\n            if (closeTimer) {\r\n                window.clearTimeout(closeTimer);\r\n            }\r\n\r\n            lastFocusedElement = document.activeElement;\r\n\r\n            popup.hidden = false;\r\n            popup.setAttribute(\"aria-hidden\", \"false\");\r\n\r\n            document.documentElement.classList.add(\r\n                \"pmi-project-focus-is-open\"\r\n            );\r\n\r\n            document.body.classList.add(\r\n                \"pmi-project-focus-is-open\"\r\n            );\r\n\r\n            window.requestAnimationFrame(function () {\r\n                window.requestAnimationFrame(function () {\r\n                    popup.classList.add(\r\n                        \"pmi-project-focus--open\"\r\n                    );\r\n\r\n                    panel.focus({\r\n                        preventScroll: true\r\n                    });\r\n                });\r\n            });\r\n        }\r\n\r\n        \/* \u0628\u0633\u062a\u0646 \u067e\u0627\u067e\u200c\u0622\u067e *\/\r\n        function pmiClosePopup() {\r\n            if (\r\n                !popup.classList.contains(\r\n                    \"pmi-project-focus--open\"\r\n                )\r\n            ) {\r\n                return;\r\n            }\r\n\r\n            if (activeRequest) {\r\n                activeRequest.abort();\r\n                activeRequest = null;\r\n            }\r\n\r\n            popup.classList.remove(\r\n                \"pmi-project-focus--open\"\r\n            );\r\n\r\n            popup.setAttribute(\"aria-hidden\", \"true\");\r\n\r\n            document.documentElement.classList.remove(\r\n                \"pmi-project-focus-is-open\"\r\n            );\r\n\r\n            document.body.classList.remove(\r\n                \"pmi-project-focus-is-open\"\r\n            );\r\n\r\n            closeTimer = window.setTimeout(function () {\r\n                popup.hidden = true;\r\n\r\n                mainImage.removeAttribute(\"src\");\r\n                mainImage.classList.remove(\r\n                    \"pmi-project-image--visible\"\r\n                );\r\n\r\n                thumbnails.innerHTML = \"\";\r\n\r\n                if (\r\n                    lastFocusedElement &&\r\n                    typeof lastFocusedElement.focus === \"function\"\r\n                ) {\r\n                    lastFocusedElement.focus({\r\n                        preventScroll: true\r\n                    });\r\n                }\r\n            }, 430);\r\n        }\r\n\r\n        \/* \u0642\u0631\u0627\u0631\u062f\u0627\u062f\u0646 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0631\u0648\u0698\u0647 \u062f\u0627\u062e\u0644 \u067e\u0627\u067e\u200c\u0622\u067e *\/\r\n        async function pmiFillProject(project, signal) {\r\n            const acf = project.acf || {};\r\n\r\n            const projectTitle = pmiStripHtml(\r\n                project.title && project.title.rendered\r\n                    ? project.title.rendered\r\n                    : \"\u067e\u0631\u0648\u0698\u0647 \u067e\u0627\u0631\u0633 \u0645\u0627\u0646\u06cc \u0627\u06cc\u0633\u062a\u0627\"\r\n            );\r\n\r\n            titleElement.textContent = projectTitle;\r\n\r\n            const projectLocation =\r\n                pmiGetFirstAvailableField(project, [\r\n                    \"pmi_project_location\",\r\n                    \"project_location\",\r\n                    \"location\"\r\n                ]);\r\n\r\n            const projectClient =\r\n                pmiGetFirstAvailableField(project, [\r\n                    \"pmi_project_client\",\r\n                    \"project_client\",\r\n                    \"client\"\r\n                ]);\r\n\r\n            \/*\r\n             * \u0645\u0647\u0645: \u0627\u0632 \u0641\u06cc\u0644\u062f \u0639\u0645\u0648\u0645\u06cc status \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u0634\u062f\u0647\u061b\r\n             * \u0686\u0648\u0646 status \u062e\u0648\u062f \u0648\u0631\u062f\u067e\u0631\u0633 \u0645\u0639\u0645\u0648\u0644\u0627\u064b publish \u0627\u0633\u062a.\r\n             *\/\r\n            const projectStatus =\r\n                pmiGetFirstAvailableField(project, [\r\n                    \"pmi_project_status\",\r\n                    \"project_status\"\r\n                ]);\r\n\r\n            const projectDescription =\r\n                pmiGetFirstAvailableField(project, [\r\n                    \"pmi_project_description\",\r\n                    \"project_description\",\r\n                    \"description\"\r\n                ]);\r\n\r\n            locationElement.textContent =\r\n                projectLocation || \"\u0645\u0648\u0642\u0639\u06cc\u062a \u062b\u0628\u062a \u0646\u0634\u062f\u0647\";\r\n\r\n            clientElement.textContent =\r\n                projectClient || \"\u0646\u0627\u0645 \u0628\u0647\u0631\u0647\u200c\u0628\u0631\u062f\u0627\u0631 \u062b\u0628\u062a \u0646\u0634\u062f\u0647\";\r\n\r\n            if (statusElement) {\r\n                const normalizedProjectStatus =\r\n                    pmiNormalizeProjectStatus(projectStatus);\r\n\r\n                statusElement.textContent =\r\n                    normalizedProjectStatus.label;\r\n\r\n                statusElement.dataset.status =\r\n                    normalizedProjectStatus.value;\r\n\r\n                statusElement.setAttribute(\r\n                    \"aria-label\",\r\n                    \"\u0648\u0636\u0639\u06cc\u062a \u067e\u0631\u0648\u0698\u0647: \" +\r\n                        normalizedProjectStatus.label\r\n                );\r\n            }\r\n\r\n            descriptionElement.textContent =\r\n                projectDescription ||\r\n                \"\u062a\u0648\u0636\u06cc\u062d\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u067e\u0631\u0648\u0698\u0647 \u062b\u0628\u062a \u0646\u0634\u062f\u0647 \u0627\u0633\u062a.\";\r\n\r\n            \/*\r\n             * \u0644\u06cc\u0646\u06a9 \u0648\u06cc\u062f\u0626\u0648\r\n             *\/\r\n            const videoUrl =\r\n                pmiGetFirstAvailableField(project, [\r\n                    \"pmi_project_video_url\",\r\n                    \"project_video_url\",\r\n                    \"video_url\"\r\n                ]);\r\n\r\n            if (videoUrl) {\r\n                videoLink.href = videoUrl;\r\n                videoLink.hidden = false;\r\n            } else {\r\n                videoLink.hidden = true;\r\n                videoLink.removeAttribute(\"href\");\r\n            }\r\n\r\n            \/*\r\n             * \u062f\u0631\u06cc\u0627\u0641\u062a \u0686\u0647\u0627\u0631 \u062a\u0635\u0648\u06cc\u0631 \u067e\u0631\u0648\u0698\u0647\r\n             *\/\r\n            const featuredImage =\r\n                pmiGetFeaturedImage(project);\r\n\r\n            const additionalImages =\r\n                await Promise.all([\r\n                    pmiGetMediaById(\r\n                        acf.pmi_project_image_2,\r\n                        signal\r\n                    ),\r\n                    pmiGetMediaById(\r\n                        acf.pmi_project_image_3,\r\n                        signal\r\n                    ),\r\n                    pmiGetMediaById(\r\n                        acf.pmi_project_image_4,\r\n                        signal\r\n                    )\r\n                ]);\r\n\r\n            const projectImages = [\r\n                featuredImage,\r\n                ...additionalImages\r\n            ].filter(function (image) {\r\n                return image && image.url;\r\n            });\r\n\r\n            if (!projectImages.length) {\r\n                throw new Error(\r\n                    \"\u0647\u06cc\u0686 \u062a\u0635\u0648\u06cc\u0631\u06cc \u0628\u0631\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 \u0648\u062c\u0648\u062f \u0646\u062f\u0627\u0631\u062f.\"\r\n                );\r\n            }\r\n\r\n            projectImages.forEach(function (image, index) {\r\n                if (!image.alt) {\r\n                    image.alt =\r\n                        projectTitle +\r\n                        \" - \u062a\u0635\u0648\u06cc\u0631 \" +\r\n                        pmiToPersianNumber(index + 1);\r\n                }\r\n            });\r\n\r\n            pmiBuildGallery(\r\n                projectImages,\r\n                projectTitle\r\n            );\r\n        }\r\n\r\n        \/* \u062f\u0631\u06cc\u0627\u0641\u062a \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u067e\u0631\u0648\u0698\u0647 \u0628\u0631\u0627\u0633\u0627\u0633 Slug *\/\r\n        async function pmiLoadProject(projectUrl) {\r\n            const slug = pmiGetSlugFromUrl(projectUrl);\r\n\r\n            if (!slug) {\r\n                pmiShowError();\r\n                return;\r\n            }\r\n\r\n            if (activeRequest) {\r\n                activeRequest.abort();\r\n            }\r\n\r\n            activeRequest = new AbortController();\r\n\r\n            pmiShowLoading();\r\n            pmiOpenPopupShell();\r\n\r\n            try {\r\n                const requestUrl =\r\n                    apiRoot +\r\n                    \"wp\/v2\/pmi_project\" +\r\n                    \"?slug=\" +\r\n                    encodeURIComponent(slug) +\r\n                    \"&_embed=wp:featuredmedia\";\r\n\r\n                const response = await fetch(requestUrl, {\r\n                    signal: activeRequest.signal,\r\n                    credentials: \"same-origin\",\r\n                    headers: {\r\n                        Accept: \"application\/json\"\r\n                    }\r\n                });\r\n\r\n                if (!response.ok) {\r\n                    throw new Error(\r\n                        \"\u067e\u0631\u0648\u0698\u0647 \u062f\u0631\u06cc\u0627\u0641\u062a \u0646\u0634\u062f: \" +\r\n                        response.status\r\n                    );\r\n                }\r\n\r\n                const projects = await response.json();\r\n\r\n                if (!Array.isArray(projects) || !projects.length) {\r\n                    throw new Error(\r\n                        \"\u067e\u0631\u0648\u0698\u0647 \u0645\u0648\u0631\u062f\u0646\u0638\u0631 \u067e\u06cc\u062f\u0627 \u0646\u0634\u062f.\"\r\n                    );\r\n                }\r\n\r\n                await pmiFillProject(\r\n                    projects[0],\r\n                    activeRequest.signal\r\n                );\r\n\r\n                pmiShowContent();\r\n                activeRequest = null;\r\n            } catch (error) {\r\n                if (error.name === \"AbortError\") {\r\n                    return;\r\n                }\r\n\r\n                console.error(\r\n                    \"PMI Project Popup:\",\r\n                    error\r\n                );\r\n\r\n                pmiShowError();\r\n                activeRequest = null;\r\n            }\r\n        }\r\n\r\n        \/* \u06a9\u0644\u06cc\u06a9 \u0631\u0648\u06cc \u06a9\u0627\u0631\u062a\u200c\u0647\u0627\u06cc \u067e\u0631\u0648\u0698\u0647 *\/\r\n        document.addEventListener(\"click\", function (event) {\r\n            \/*\r\n             * \u062f\u06a9\u0645\u0647\u200c\u0647\u0627\u06cc \u0628\u0633\u062a\u0646\r\n             *\/\r\n            const closeButton = event.target.closest(\r\n                \"[data-pmi-project-close]\"\r\n            );\r\n\r\n            if (closeButton) {\r\n                event.preventDefault();\r\n                pmiClosePopup();\r\n                return;\r\n            }\r\n\r\n            \/*\r\n             * \u06a9\u0644\u06cc\u06a9 \u0631\u0648\u06cc \u06a9\u0627\u0631\u062a \u067e\u0631\u0648\u0698\u0647\r\n             *\/\r\n            const projectCard = event.target.closest(\r\n                \".pmi-project-card\"\r\n            );\r\n\r\n            if (!projectCard) {\r\n                return;\r\n            }\r\n\r\n            \/*\r\n             * \u06a9\u0644\u06cc\u06a9 \u0628\u0627 Ctrl \u06cc\u0627 \u0628\u0627\u0632\u06a9\u0631\u062f\u0646 \u062f\u0631 \u062a\u0628 \u062c\u062f\u06cc\u062f \u062d\u0641\u0638 \u0634\u0648\u062f\r\n             *\/\r\n            if (\r\n                event.ctrlKey ||\r\n                event.metaKey ||\r\n                event.shiftKey ||\r\n                event.altKey ||\r\n                event.button === 1\r\n            ) {\r\n                return;\r\n            }\r\n\r\n            const projectLink =\r\n                projectCard.querySelector(\r\n                    \".pmi-project-card__media a[href], \" +\r\n                    \".pmi-project-card__title a[href], \" +\r\n                    \"a[href]\"\r\n                );\r\n\r\n            if (!projectLink || !projectLink.href) {\r\n                console.warn(\r\n                    \"PMI Popup: \u0644\u06cc\u0646\u06a9 \u067e\u0631\u0648\u0698\u0647 \u062f\u0627\u062e\u0644 \u06a9\u0627\u0631\u062a \u067e\u06cc\u062f\u0627 \u0646\u0634\u062f.\"\r\n                );\r\n                return;\r\n            }\r\n\r\n            event.preventDefault();\r\n            event.stopPropagation();\r\n\r\n            pmiLoadProject(projectLink.href);\r\n        });\r\n\r\n        \/* \u0628\u0633\u062a\u0646 \u0628\u0627 \u06a9\u0644\u06cc\u062f Escape *\/\r\n        document.addEventListener(\"keydown\", function (event) {\r\n            if (\r\n                event.key === \"Escape\" &&\r\n                popup.classList.contains(\r\n                    \"pmi-project-focus--open\"\r\n                )\r\n            ) {\r\n                pmiClosePopup();\r\n            }\r\n        });\r\n    }\r\n\r\n    \/*\r\n     * \u0627\u062c\u0631\u0627\u06cc \u06a9\u062f \u067e\u0633 \u0627\u0632 \u0622\u0645\u0627\u062f\u0647\u200c\u0634\u062f\u0646 \u0635\u0641\u062d\u0647\r\n     *\/\r\n    if (document.readyState === \"loading\") {\r\n        document.addEventListener(\r\n            \"DOMContentLoaded\",\r\n            pmiInitProjectPopup\r\n        );\r\n    } else {\r\n        pmiInitProjectPopup();\r\n    }\r\n})();\r\n<\/script>\r\n<script>\r\n\/*\r\n * \u0627\u0646\u062a\u0642\u0627\u0644 \u067e\u0627\u067e\u200c\u0622\u067e \u0628\u0647 body:\r\n * \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f \u0647\u062f\u0631 \u0648 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631\u0647\u0627\u06cc Elementor \u0631\u0648\u06cc \u067e\u0627\u067e\u200c\u0622\u067e \u0646\u06cc\u0641\u062a\u0646\u062f.\r\n *\/\r\n(function () {\r\n    function pmiMoveProjectPopupToBody() {\r\n        const popup = document.getElementById(\"pmiProjectFocus\");\r\n\r\n        if (!popup) {\r\n            return;\r\n        }\r\n\r\n        if (popup.parentElement !== document.body) {\r\n            document.body.appendChild(popup);\r\n        }\r\n    }\r\n\r\n    if (document.readyState === \"loading\") {\r\n        document.addEventListener(\r\n            \"DOMContentLoaded\",\r\n            pmiMoveProjectPopupToBody\r\n        );\r\n    } else {\r\n        pmiMoveProjectPopupToBody();\r\n    }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>PARS MANI ISTA PROJECTS Electrical &#038; Mechanical Installation Projects 00 PROJECTS \u00d7 Loading project information&#8230; 01 \/ 04 PROJECT DETAILS Project Location \u2014 Client \u2014 Project Status Status Not Specified&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-2217","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/parsmaniista.ir\/en\/wp-json\/wp\/v2\/pages\/2217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/parsmaniista.ir\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/parsmaniista.ir\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/parsmaniista.ir\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/parsmaniista.ir\/en\/wp-json\/wp\/v2\/comments?post=2217"}],"version-history":[{"count":0,"href":"https:\/\/parsmaniista.ir\/en\/wp-json\/wp\/v2\/pages\/2217\/revisions"}],"wp:attachment":[{"href":"https:\/\/parsmaniista.ir\/en\/wp-json\/wp\/v2\/media?parent=2217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}