{"id":1244,"date":"2026-03-30T20:11:45","date_gmt":"2026-03-30T18:11:45","guid":{"rendered":"https:\/\/iepirus.gr\/?page_id=1244"},"modified":"2026-04-02T19:37:37","modified_gmt":"2026-04-02T17:37:37","slug":"iepirus-home","status":"publish","type":"page","link":"https:\/\/iepirus.gr\/","title":{"rendered":"HOME"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1244\" class=\"elementor elementor-1244\">\n\t\t\t\t<div class=\"elementor-element elementor-element-546d70a e-con-full e-flex e-con e-parent\" data-id=\"546d70a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-610bfc3 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"610bfc3\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"iepirus-elementor-container\">\n\n    <!-- \u03a3\u03b5 \u03c0\u03b5\u03c1\u03af\u03c0\u03c4\u03c9\u03c3\u03b7 \u03c0\u03bf\u03c5 \u03c4\u03bf WordPress Header \u03c3\u03bf\u03c5 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03b9\u03ac\u03c6\u03b1\u03bd\u03bf, \u03ba\u03c1\u03ac\u03c4\u03b1 \u03c4\u03bf nav. \u0391\u03bb\u03bb\u03b9\u03ce\u03c2 \u03bc\u03c0\u03bf\u03c1\u03b5\u03af\u03c2 \u03bd\u03b1 \u03c4\u03bf \u03c3\u03b2\u03ae\u03c3\u03b5\u03b9\u03c2 \u03b1\u03bd \u03ad\u03c7\u03b5\u03b9\u03c2 \u03ae\u03b4\u03b7 Elementor Header -->\n    <nav id=\"main-nav\">\n        <div class=\"nav-container\">\n            <div class=\"logo\">\n                <a href=\"https:\/\/iepirus.gr\">\n\t\t\t<img decoding=\"async\" src=\"https:\/\/iepirus.gr\/wp-content\/uploads\/iepirus-robot\/logo.jpg\" alt=\"iEpirus Logo\" class=\"logo-img\">\n\t\t\t\t<\/a>\n            <\/div>\n            \n            <div class=\"menu-toggle\" id=\"mobile-menu-btn\">\n                <span class=\"bar\"><\/span>\n                <span class=\"bar\"><\/span>\n                <span class=\"bar\"><\/span>\n            <\/div>\n\n            <div class=\"nav-links\">\n                <ul class=\"nav-menu\">\n                    <li><a href=\"#step-1\">Services<\/a><\/li>\n                    <li><a href=\"#step-2\">Network<\/a><\/li>\n                    <li><a href=\"#step-3\">Starlink<\/a><\/li>\n                    <li><a href=\"#step-4\">Web<\/a><\/li>\n                    <li><a href=\"#step-5\">ERP<\/a><\/li>\n                    <li><a href=\"#step-6\">Smart Home<\/a><\/li>\n                    <li><a href=\"#contact\">Contact<\/a><\/li>\n                <\/ul>\n            <\/div>\n        <\/div>\n    <\/nav>\n\n    <!-- Preloader -->\n    <div id=\"preloader\">\n        <div class=\"loader-content\">\n            <h1 class=\"loader-logo\">iEpirus<\/h1>\n            <div class=\"progress-bar\"><div id=\"progress-fill\"><\/div><\/div>\n            <p id=\"progress-text\">\u03a6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7 \u03b5\u03bc\u03c0\u03b5\u03b9\u03c1\u03af\u03b1\u03c2 (0%)<\/p>\n        <\/div>\n    <\/div>\n\n    <!-- Main Scrollytelling Wrapper -->\n    <div id=\"scrolly-wrapper\">\n        \n        <!-- Sticky Canvas that stays in place while user scrolls -->\n        <div class=\"sticky-container\">\n            <canvas id=\"hero-canvas\"><\/canvas>\n            \n            <!-- Mobile Fallback Content (if necessary, though we aim for responsive canvas) -->\n            <div class=\"canvas-overlay\"><\/div>\n        <\/div>\n\n        <!-- Scroll Content Sections -->\n        <div class=\"scroll-track\">\n            \n            <!-- Section 1 -->\n            <section class=\"step\" id=\"step-1\">\n                <div class=\"text-content\">\n                    <h1 class=\"headline\">\u00ab\u0397 \u03a4\u03b5\u03c7\u03bd\u03bf\u03bb\u03bf\u03b3\u03af\u03b1 \u03bc\u03b1\u03c2, \u03bf \u03a3\u03c4\u03cc\u03c7\u03bf\u03c2 \u03c3\u03b1\u03c2\u00bb<\/h1>\n                    <h2 class=\"subheadline\">\u00abWe Are Your Solution\u00bb<\/h2>\n                    <h3 class=\"body-title\">\u00ab\u039f\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03bc\u03ad\u03bd\u03b5\u03c2 \u03bb\u03cd\u03c3\u03b5\u03b9\u03c2 \u2014 \u0391\u03be\u03b9\u03cc\u03c0\u03b9\u03c3\u03c4\u03bf Service\u00bb<\/h3>\n                    <p class=\"description\">\u00ab\u0386\u03bc\u03b5\u03c3\u03bf \u03ba\u03b1\u03b9 \u03b1\u03be\u03b9\u03cc\u03c0\u03b9\u03c3\u03c4\u03bf service \u03b3\u03b9\u03b1 \u03c4\u03bf\u03bd \u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ae \u03ae \u03c4\u03bf \u03ba\u03b9\u03bd\u03b7\u03c4\u03cc \u03c3\u03b1\u03c2. \u0395\u03c0\u03b9\u03c3\u03ba\u03b5\u03c5\u03ad\u03c2, \u03b1\u03bd\u03b1\u03b2\u03b1\u03b8\u03bc\u03af\u03c3\u03b5\u03b9\u03c2 \u03ba\u03b1\u03b9 \u03bb\u03cd\u03c3\u03b5\u03b9\u03c2 \u03c3\u03b5 \u03ba\u03ac\u03b8\u03b5 \u03c4\u03b5\u03c7\u03bd\u03b9\u03ba\u03cc \u03c0\u03c1\u03cc\u03b2\u03bb\u03b7\u03bc\u03b1, \u03bc\u03b5 \u03b5\u03b3\u03b3\u03cd\u03b7\u03c3\u03b7 \u03c0\u03bf\u03b9\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2.\u00bb<\/p>\n                <\/div>\n            <\/section>\n\n            <!-- Section 2 -->\n            <section class=\"step\" id=\"step-2\">\n                <div class=\"text-content\">\n                    <h1 class=\"headline\">\u00ab\u03a4\u0395\u03a7\u039d\u039f\u039b\u039f\u0393\u0399\u039a\u0397 \u03a5\u03a0\u039f\u0394\u039f\u039c\u0397\u00bb<\/h1>\n                    <h2 class=\"subheadline\">\u00ab\u0394\u03b9\u03ba\u03c4\u03c5\u03b1\u03ba\u03ad\u03c2 \u03a5\u03c0\u03bf\u03b4\u03bf\u03bc\u03ad\u03c2\u00bb<\/h2>\n                    <p class=\"description\">\u00ab\u0386\u03bc\u03b5\u03c3\u03b5\u03c2 \u03ba\u03b1\u03b9 \u03b1\u03be\u03b9\u03cc\u03c0\u03b9\u03c3\u03c4\u03b5\u03c2 \u03bb\u03cd\u03c3\u03b5\u03b9\u03c2 \u03b3\u03b9\u03b1 \u0394\u03bf\u03bc\u03b7\u03bc\u03ad\u03bd\u03b7 \u039a\u03b1\u03bb\u03c9\u03b4\u03af\u03c9\u03c3\u03b7, \u03b5\u03b3\u03ba\u03b1\u03c4\u03b1\u03c3\u03c4\u03ac\u03c3\u03b5\u03b9\u03c2 \u0394\u03b9\u03ba\u03c4\u03cd\u03c9\u03bd \u0394\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd & \u03a6\u03c9\u03bd\u03ae\u03c2 (VoIP) \u03ba\u03b1\u03b9 \u03b4\u03b9\u03b1\u03c7\u03b5\u03af\u03c1\u03b9\u03c3\u03b7 Server Rooms. \u03a3\u03c7\u03b5\u03b4\u03b9\u03b1\u03c3\u03bc\u03cc\u03c2, \u03c5\u03bb\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03ba\u03b1\u03b9 \u03c3\u03c5\u03bd\u03c4\u03ae\u03c1\u03b7\u03c3\u03b7 \u03b3\u03b9\u03b1 \u03ad\u03bd\u03b1 \u03c3\u03c4\u03b1\u03b8\u03b5\u03c1\u03cc, \u03b3\u03c1\u03ae\u03b3\u03bf\u03c1\u03bf \u03ba\u03b1\u03b9 \u03b1\u03c3\u03c6\u03b1\u03bb\u03ad\u03c2 \u03b4\u03af\u03ba\u03c4\u03c5\u03bf.\u00bb<\/p>\n                <\/div>\n            <\/section>\n\n            <!-- Section 3 -->\n            <section class=\"step\" id=\"step-3\">\n                <div class=\"text-content\">\n                    <h1 class=\"headline\">\u00ab\u0395\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 Starlink\u00bb<\/h1>\n                    <p class=\"description\">\u00ab\u039e\u03b5\u03c7\u03ac\u03c3\u03c4\u03b5 \u03c4\u03b9\u03c2 \u03c7\u03b1\u03bc\u03b7\u03bb\u03ad\u03c2 \u03c4\u03b1\u03c7\u03cd\u03c4\u03b7\u03c4\u03b5\u03c2. \u0391\u03bd\u03b1\u03bb\u03b1\u03bc\u03b2\u03ac\u03bd\u03bf\u03c5\u03bc\u03b5 \u03c4\u03b7\u03bd \u03c0\u03bb\u03ae\u03c1\u03b7 \u03b5\u03b3\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03ba\u03b1\u03b9 \u03c0\u03b1\u03c1\u03b1\u03bc\u03b5\u03c4\u03c1\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7 \u03c4\u03bf\u03c5 Starlink \u03b3\u03b9\u03b1 \u03b5\u03b3\u03b3\u03c5\u03b7\u03bc\u03ad\u03bd\u03bf \u03b4\u03bf\u03c1\u03c5\u03c6\u03bf\u03c1\u03b9\u03ba\u03cc internet \u03c5\u03c8\u03b7\u03bb\u03ce\u03bd \u03c4\u03b1\u03c7\u03c5\u03c4\u03ae\u03c4\u03c9\u03bd \u03c3\u03b5 \u03ba\u03ac\u03b8\u03b5 \u03b3\u03c9\u03bd\u03b9\u03ac \u03c4\u03b7\u03c2 \u0397\u03c0\u03b5\u03af\u03c1\u03bf\u03c5.\u00bb<\/p>\n                <\/div>\n            <\/section>\n\n            <!-- Section 4 -->\n            <section class=\"step\" id=\"step-4\">\n                <div class=\"text-content\">\n                    <h1 class=\"headline\">\u00ab\u039a\u03b1\u03c4\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae \u0399\u03c3\u03c4\u03bf\u03c3\u03b5\u03bb\u03af\u03b4\u03c9\u03bd\u00bb<\/h1>\n                    <p class=\"description\">\u00ab\u0394\u03b7\u03bc\u03b9\u03bf\u03c5\u03c1\u03b3\u03bf\u03cd\u03bc\u03b5 \u03c3\u03cd\u03b3\u03c7\u03c1\u03bf\u03bd\u03b5\u03c2, \u03b3\u03c1\u03ae\u03b3\u03bf\u03c1\u03b5\u03c2 \u03ba\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03bc\u03b9\u03ba\u03ad\u03c2 \u03b9\u03c3\u03c4\u03bf\u03c3\u03b5\u03bb\u03af\u03b4\u03b5\u03c2 \u03c0\u03bf\u03c5 \u03b1\u03bd\u03b1\u03b4\u03b5\u03b9\u03ba\u03bd\u03cd\u03bf\u03c5\u03bd \u03c4\u03b7\u03bd \u03b5\u03c0\u03b9\u03c7\u03b5\u03af\u03c1\u03b7\u03c3\u03ae \u03c3\u03b1\u03c2. \u0391\u03c0\u03cc \u03b1\u03c0\u03bb\u03ac landing pages \u03bc\u03ad\u03c7\u03c1\u03b9 \u03c3\u03cd\u03bd\u03b8\u03b5\u03c4\u03b1 e-shops.\u00bb<\/p>\n                <\/div>\n            <\/section>\n\n            <!-- Section 5 -->\n            <section class=\"step\" id=\"step-5\">\n                <div class=\"text-content\">\n                    <h1 class=\"headline\">\u00ab\u039c\u03b7\u03c7\u03b1\u03bd\u03bf\u03b3\u03c1\u03ac\u03c6\u03b7\u03c3\u03b7 & ERP\u00bb<\/h1>\n                    <p class=\"description\">\u00ab\u039f\u03c1\u03b3\u03b1\u03bd\u03ce\u03c3\u03c4\u03b5 \u03c4\u03b7\u03bd \u03b5\u03c0\u03b9\u03c7\u03b5\u03af\u03c1\u03b7\u03c3\u03ae \u03c3\u03b1\u03c2 \u03bc\u03b5 \u03c3\u03cd\u03b3\u03c7\u03c1\u03bf\u03bd\u03b1 \u03c3\u03c5\u03c3\u03c4\u03ae\u03bc\u03b1\u03c4\u03b1 ERP. \u0394\u03b9\u03b1\u03c7\u03b5\u03af\u03c1\u03b9\u03c3\u03b7 \u03b1\u03c0\u03bf\u03b8\u03ae\u03ba\u03b7\u03c2, \u03c0\u03c9\u03bb\u03ae\u03c3\u03b5\u03c9\u03bd \u03ba\u03b1\u03b9 \u03c0\u03b5\u03bb\u03b1\u03c4\u03ce\u03bd (CRM) \u03c3\u03b5 \u03bc\u03af\u03b1 \u03b5\u03bd\u03b9\u03b1\u03af\u03b1 \u03c0\u03bb\u03b1\u03c4\u03c6\u03cc\u03c1\u03bc\u03b1 \u03b3\u03b9\u03b1 \u03c0\u03bb\u03ae\u03c1\u03b7 \u03ad\u03bb\u03b5\u03b3\u03c7\u03bf \u03ba\u03b1\u03b9 \u03bc\u03b5\u03af\u03c9\u03c3\u03b7 \u03c4\u03bf\u03c5 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03b9\u03ba\u03bf\u03cd \u03ba\u03cc\u03c3\u03c4\u03bf\u03c5\u03c2.\u00bb<\/p>\n                <\/div>\n            <\/section>\n\n            <!-- Section 6 -->\n            <section class=\"step\" id=\"step-6\">\n                <div class=\"text-content\">\n                    <h1 class=\"headline\">\u00abSmart Home & Automation\u00bb<\/h1>\n                    <p class=\"description\">\u00ab\u039c\u03b5\u03c4\u03b1\u03c4\u03c1\u03ad\u03c8\u03c4\u03b5 \u03c4\u03bf \u03c7\u03ce\u03c1\u03bf \u03c3\u03b1\u03c2 \u03c3\u03b5 \u03ad\u03bd\u03b1 \u03ad\u03be\u03c5\u03c0\u03bd\u03bf \u03c0\u03b5\u03c1\u03b9\u03b2\u03ac\u03bb\u03bb\u03bf\u03bd. \u0391\u03c0\u03cc \u03b1\u03c0\u03bf\u03bc\u03b1\u03ba\u03c1\u03c5\u03c3\u03bc\u03ad\u03bd\u03bf \u03ad\u03bb\u03b5\u03b3\u03c7\u03bf \u03c6\u03c9\u03c4\u03b9\u03c3\u03bc\u03bf\u03cd \u03ba\u03b1\u03b9 \u03b8\u03ad\u03c1\u03bc\u03b1\u03bd\u03c3\u03b7\u03c2 \u03bc\u03ad\u03c7\u03c1\u03b9 \u03ad\u03be\u03c5\u03c0\u03bd\u03bf\u03c5\u03c2 \u03b1\u03c5\u03c4\u03bf\u03bc\u03b1\u03c4\u03b9\u03c3\u03bc\u03bf\u03cd\u03c2 \u03c0\u03bf\u03c5 \u03b4\u03b9\u03b5\u03c5\u03ba\u03bf\u03bb\u03cd\u03bd\u03bf\u03c5\u03bd \u03c4\u03b7\u03bd \u03ba\u03b1\u03b8\u03b7\u03bc\u03b5\u03c1\u03b9\u03bd\u03cc\u03c4\u03b7\u03c4\u03ac \u03c3\u03b1\u03c2 \u03ba\u03b1\u03b9 \u03b5\u03be\u03bf\u03b9\u03ba\u03bf\u03bd\u03bf\u03bc\u03bf\u03cd\u03bd \u03b5\u03bd\u03ad\u03c1\u03b3\u03b5\u03b9\u03b1.\u00bb<\/p>\n                <\/div>\n            <\/section>\n        <\/div>\n    <\/div>\n\n    <!-- Footer -->\n    <footer id=\"contact\">\n        <div class=\"footer-container\">\n            <div class=\"footer-left\">\n                <h2 class=\"footer-title\">Contact<\/h2>\n                <h3 class=\"footer-subtitle\">\u0395\u03af\u03bc\u03b1\u03c3\u03c4\u03b5 \u03c3\u03c4\u03b7 \u03b4\u03b9\u03ac\u03b8\u03b5\u03c3\u03ae \u03c3\u03b1\u03c2!<\/h3>\n                <p class=\"footer-desc\">\u0388\u03c7\u03b5\u03c4\u03b5 \u03bf\u03c0\u03bf\u03b9\u03b1\u03b4\u03ae\u03c0\u03bf\u03c4\u03b5 \u03b1\u03c0\u03bf\u03c1\u03af\u03b1 \u03ae \u03c7\u03c1\u03b5\u03b9\u03ac\u03b6\u03b5\u03c3\u03c4\u03b5 \u03c4\u03b5\u03c7\u03bd\u03b9\u03ba\u03ae \u03c5\u03c0\u03bf\u03c3\u03c4\u03ae\u03c1\u03b9\u03be\u03b7; \u03a3\u03c5\u03bc\u03c0\u03bb\u03b7\u03c1\u03ce\u03c3\u03c4\u03b5 \u03c4\u03b7 \u03c6\u03cc\u03c1\u03bc\u03b1 \u03ae \u03ba\u03b1\u03bb\u03ad\u03c3\u03c4\u03b5 \u03bc\u03b1\u03c2 \u03ac\u03bc\u03b5\u03c3\u03b1. \u0397 \u03bf\u03bc\u03ac\u03b4\u03b1 \u03c4\u03b7\u03c2 iEpirus \u03b5\u03af\u03bd\u03b1\u03b9 \u03b5\u03b4\u03ce \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03b4\u03ce\u03c3\u03b5\u03b9 \u03c4\u03b7\u03bd \u03b9\u03b4\u03b1\u03bd\u03b9\u03ba\u03ae \u03bb\u03cd\u03c3\u03b7 \u03c3\u03b5 \u03ba\u03ac\u03b8\u03b5 \u03c3\u03b1\u03c2 \u03c4\u03b5\u03c7\u03bd\u03bf\u03bb\u03bf\u03b3\u03b9\u03ba\u03ae \u03b1\u03bd\u03ac\u03b3\u03ba\u03b7.<\/p>\n                \n                <div class=\"footer-info\">\n                    <p><a href=\"#\" class=\"social-link\">Instagram<\/a><\/p>\n                    <p>\u03a3\u03c4\u03b1\u03b4\u03af\u03bf\u03c5 15, \u039a\u03b1\u03bd\u03b1\u03bb\u03bb\u03ac\u03ba\u03b9 480 62<\/p>\n                    <p><a href=\"tel:+306949462272\">+30 694 9462 272<\/a><\/p>\n                    <p><a href=\"mailto:info@iepirus.gr\">info@iepirus.gr<\/a><\/p>\n                <\/div>\n\n                <a href=\"#\" class=\"contact-btn\">\u0395\u03c0\u03b9\u03ba\u03bf\u03b9\u03bd\u03c9\u03bd\u03ae\u03c3\u03c4\u03b5 \u03bc\u03b1\u03b6\u03af \u03bc\u03b1\u03c2<\/a>\n            <\/div>\n            \n            <div class=\"footer-right\">\n                <div class=\"map-container\">\n                    <!-- Google Map embed -->\n                    <iframe \n                        src=\"https:\/\/maps.google.com\/maps?q=39.234716,20.601346&hl=el&z=15&output=embed\" \n                        width=\"100%\" \n                        height=\"100%\" \n                        style=\"border:0;\" \n                        allowfullscreen=\"\" \n                        loading=\"lazy\" \n                        referrerpolicy=\"no-referrer-when-downgrade\">\n                    <\/iframe>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/footer>\n    \n<\/div>\n\n<script>\n   \/\/ \u03a3\u0397\u039c\u0391\u039d\u03a4\u0399\u039a\u039f \u0393\u0399\u0391 WORDPRESS: \u03a3\u03c4\u03bf Elementor \u03ae \u03c3\u03c4\u03bf functions.php \u03c0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03b4\u03b7\u03bb\u03ce\u03c3\u03b5\u03b9\u03c2 \u03b1\u03c5\u03c4\u03cc \u03c4\u03bf URL.\n\/\/ \u03a7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03bf\u03cd\u03bc\u03b5 var \u03ae window \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03b1\u03c0\u03bf\u03c6\u03cd\u03b3\u03bf\u03c5\u03bc\u03b5 \u03c4\u03bf \u03c3\u03c6\u03ac\u03bb\u03bc\u03b1 \"already declared\" \u03b1\u03bd \u03c4\u03bf widget \u03c6\u03bf\u03c1\u03c4\u03ce\u03c3\u03b5\u03b9 2 \u03c6\u03bf\u03c1\u03ad\u03c2.\nwindow.assetBaseUrl = 'https:\/\/iepirus.gr\/wp-content\/uploads\/iepirus-robot\/';\n\n\n\/\/ \u0388\u03bb\u03b5\u03b3\u03c7\u03bf\u03c2 \u03b1\u03bd \u03b7 GSAP \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03b7\nfunction checkGSAP() {\n    if (typeof gsap !== 'undefined') {\n        gsap.registerPlugin(ScrollTrigger);\n        startPreloading();\n    } else {\n        console.warn(\"GSAP not found, retrying in 100ms...\");\n        setTimeout(checkGSAP, 100);\n    }\n}\n\n\/\/ Constant variables for animation\nconst FRAMES_PER_SECTION = 80;\nconst TOTAL_SECTIONS = 6;\nconst TOTAL_FRAMES = FRAMES_PER_SECTION * TOTAL_SECTIONS; \/\/ 480 frames\n\n\/\/ Sequences folder and prefix names based on actual files\nconst sequences = [\n    { folder: '01start_service', prefix: 'Robot_typing_on_202603292022_' }, \n    { folder: '02service_lan', prefix: 'Robot_lan2_' },                      \n    { folder: '03lan_starlink', prefix: 'Robot_starlink_' },                \n    { folder: '04starlink_web', prefix: 'Robot_web_' },                     \n    { folder: '05web_erp', prefix: 'Robot_pressing_POS__' },                \n    { folder: '06erp_smart', prefix: 'Robot_controlling_smart__' }          \n];\n\n\/\/ Helper to format frame number\nfunction padNumber(num) {\n    return num.toString().padStart(3, '0');\n}\n\n\/\/ Global Image Arrays\nconst images = [];\nlet loadedImagesCount = 0;\n\n\/\/ Canvas Setup\nconst canvas = document.getElementById(\"hero-canvas\");\nconst context = canvas ? canvas.getContext(\"2d\") : null;\nconst animState = { frame: 0 }; \n\n\/\/ Canvas sizing\nfunction resizeCanvas() {\n    if(!canvas) return;\n    \n    if (window.innerWidth <= 768 && images.length > 0 && images[0].complete) {\n        \/\/ Mobile: set canvas resolution to perfectly match the natural image proportion\n        canvas.width = images[0].width;\n        canvas.height = images[0].height;\n    } else {\n        \/\/ Desktop: fill the entire viewport logic\n        canvas.width = window.innerWidth;\n        canvas.height = window.innerHeight;\n    }\n    \n    const currentFrame = window.animState ? Math.floor(window.animState.frame) : 0;\n    renderFrame(currentFrame);\n}\nwindow.addEventListener(\"resize\", resizeCanvas);\n\n\/\/ Render the specific frame on the canvas\nfunction renderFrame(index) {\n    if (!context || !images[index]) return;\n    \n    if (images[index].complete) {\n        context.clearRect(0, 0, canvas.width, canvas.height);\n        const img = images[index];\n        \n        if (window.innerWidth <= 768) {\n            context.drawImage(img, 0, 0, canvas.width, canvas.height);\n        } else {\n            const ratio = Math.max(canvas.width \/ img.width, canvas.height \/ img.height);\n            const newWidth = img.width * ratio;\n            const newHeight = img.height * ratio;\n            \n            const x = (canvas.width - newWidth) \/ 2;\n            const y = (canvas.height - newHeight) \/ 2;\n            \n            context.drawImage(img, x, y, newWidth, newHeight);\n        }\n    }\n}\n\n\/\/ Preload Images\nfunction startPreloading() {\n    if(!canvas) return; \/\/ Fail safely if canvas is missing in WP\n\n    const imageSources = [];\n    sequences.forEach((seq) => {\n        for (let i = 0; i < FRAMES_PER_SECTION; i++) {\n            \/\/ \u03a7\u03c1\u03ae\u03c3\u03b7 \u03c4\u03bf\u03c5 window.assetBaseUrl \u03b3\u03b9\u03b1 \u03b1\u03c0\u03bf\u03c6\u03c5\u03b3\u03ae \u03c3\u03c6\u03b1\u03bb\u03bc\u03ac\u03c4\u03c9\u03bd\n            const path = `${window.assetBaseUrl}${seq.folder}\/${seq.prefix}${padNumber(i)}.jpg`;\n            imageSources.push(path);\n        }\n    });\n\n    const progressBar = document.getElementById('progress-fill');\n    const progressText = document.getElementById('progress-text');\n\n    for (let i = 0; i < TOTAL_FRAMES; i++) {\n        const img = new Image();\n        img.onload = () => {\n            loadedImagesCount++;\n            \n            const percent = Math.floor((loadedImagesCount \/ TOTAL_FRAMES) * 100);\n            if (progressBar && progressText) {\n                progressBar.style.width = percent + '%';\n                progressText.innerText = `\u03a6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7 \u03b5\u03bc\u03c0\u03b5\u03b9\u03c1\u03af\u03b1\u03c2 (${percent}%)`;\n            }\n\n            if (i === 0) {\n                renderFrame(0);\n            }\n\n            if (loadedImagesCount === TOTAL_FRAMES) {\n                initScrollAnimations();\n                document.body.classList.add('loaded');\n            }\n        };\n        img.onerror = () => {\n            console.error(`Error loading image: ${imageSources[i]}`);\n            loadedImagesCount++;\n            if (loadedImagesCount === TOTAL_FRAMES) {\n                initScrollAnimations();\n                document.body.classList.add('loaded');\n            }\n        };\n        img.src = imageSources[i];\n        images.push(img);\n    }\n}\n\nfunction initScrollAnimations() {\n    resizeCanvas();\n    renderFrame(0);\n\n    gsap.to(animState, {\n        frame: TOTAL_FRAMES - 1, \n        snap: \"frame\",\n        ease: \"none\",\n        scrollTrigger: {\n            trigger: \"#scrolly-wrapper\",\n            start: \"top top\",\n            end: \"bottom bottom\", \n            scrub: 0.5,\n            onUpdate: () => renderFrame(Math.floor(animState.frame))\n        }\n    });\n\n    const steps = document.querySelectorAll('.step');\n    steps.forEach((step, index) => {\n        const textContent = step.querySelector('.text-content');\n        if(!textContent) return;\n        \n        const tl = gsap.timeline({\n            scrollTrigger: {\n                trigger: step,\n                start: \"top 60%\",     \n                end: \"bottom 30%\",    \n                toggleActions: \"play reverse play reverse\", \n                scrub: false \n            }\n        });\n\n        tl.to(textContent, {\n            opacity: 1,\n            y: 0,\n            duration: 0.8,\n            ease: \"power2.out\"\n        });\n    });\n}\n\n\/\/ Ensure init respects WordPress architecture (DOMContentLoaded or load)\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n    \/\/ 1. \u039e\u03b5\u03ba\u03b9\u03bd\u03ac\u03bc\u03b5 \u03b1\u03bc\u03ad\u03c3\u03c9\u03c2 \u03c4\u03b7 \u03bb\u03bf\u03b3\u03b9\u03ba\u03ae \u03c4\u03b7\u03c2 Navbar (\u03b4\u03b5\u03bd \u03c7\u03c1\u03b5\u03b9\u03ac\u03b6\u03b5\u03c4\u03b1\u03b9 GSAP)\n    const nav = document.getElementById('main-nav');\n    const menuBtn = document.getElementById('mobile-menu-btn');\n    const navLinks = document.querySelector('.nav-links');\n\n    if (nav) {\n        window.addEventListener('scroll', () => {\n            if (window.scrollY > 60) {\n                nav.classList.add('nav-scrolled');\n            } else {\n                nav.classList.remove('nav-scrolled');\n            }\n        });\n    }\n\n    if (menuBtn && navLinks) {\n        menuBtn.addEventListener('click', () => {\n            menuBtn.classList.toggle('active');\n            navLinks.classList.toggle('active');\n            document.body.style.overflow = navLinks.classList.contains('active') ? 'hidden' : '';\n        });\n\n        const links = navLinks.querySelectorAll('a');\n        links.forEach(link => {\n            link.addEventListener('click', () => {\n                menuBtn.classList.remove('active');\n                navLinks.classList.remove('active');\n                document.body.style.overflow = '';\n            });\n        });\n    }\n\n    \/\/ 2. \u0395\u03bb\u03ad\u03b3\u03c7\u03bf\u03c5\u03bc\u03b5 \u03b1\u03bd \u03ad\u03c7\u03b5\u03b9 \u03c6\u03bf\u03c1\u03c4\u03c9\u03b8\u03b5\u03af \u03b7 GSAP \u03b3\u03b9\u03b1 \u03bd\u03b1 \u03be\u03b5\u03ba\u03b9\u03bd\u03ae\u03c3\u03b5\u03b9 \u03c4\u03bf scrollytelling\n    checkGSAP();\n});\n\n\/\/ Fix scroll restoration on mobile and WP caching\nwindow.addEventListener('beforeunload', () => window.scrollTo(0, 0));\nwindow.addEventListener('load', () => window.scrollTo(0, 0));\n<\/script>\n\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9cd44d4 elementor-widget elementor-widget-html\" data-id=\"9cd44d4\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.2\/gsap.min.js\"><\/script>\r\n\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/gsap\/3.12.2\/ScrollTrigger.min.js\"><\/script>\r\n\r\n\r\n\r\n<!-- 2. \u03a1\u03cd\u03b8\u03bc\u03b9\u03c3\u03b7 WordPress Path \u0395\u03b9\u03ba\u03cc\u03bd\u03c9\u03bd -->\r\n\r\n<script>\r\n\r\n    \/\/ \u03a3\u0397\u039c\u0391\u039d\u03a4\u0399\u039a\u039f! \u0392\u03ac\u03bb\u03b5 \u03b5\u03b4\u03ce \u03c4\u03bf URL \u03c4\u03bf\u03c5 server \u03c0\u03bf\u03c5 \u03b1\u03bd\u03ad\u03b2\u03b1\u03c3\u03b5\u03c2 \u03c4\u03bf\u03c5\u03c2 \u03c6\u03b1\u03ba\u03ad\u03bb\u03bf\u03c5\u03c2 (\u03c0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03c4\u03b5\u03bb\u03b5\u03b9\u03ce\u03bd\u03b5\u03b9 \u03c3\u03b5 \/ )\r\n\r\n    window.IEPIRUS_ASSETS_URL = 'https:\/\/iepirus.gr\/wp-content\/uploads\/iepirus-robot\/';\r\n\r\n<\/script>\r\n\r\n\r\n\r\n<!-- 3. \u03a4\u03bf \u03ba\u03b5\u03bd\u03c4\u03c1\u03b9\u03ba\u03cc Script (\u0395\u03af\u03c4\u03b5 \u03ba\u03ac\u03bd\u03b5 \u03c4\u03bf paste \u03b1\u03bd\u03ac\u03bc\u03b5\u03c3\u03b1 \u03c3\u03b5 <script><\/script> \u03b5\u03af\u03c4\u03b5 \u03ba\u03ac\u03bb\u03b5\u03c3\u03ad \u03c4\u03bf \u03c3\u03b1\u03bd \u03b1\u03c1\u03c7\u03b5\u03af\u03bf) -->\r\n\r\n<script src=\"https:\/\/iepirus.gr\/wp-content\/uploads\/iepirus-robot\/wp-script.js\"><\/script>\r\n\r\n\r\n\r\n\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>Services Network Starlink Web ERP Smart Home Contact iEpirus \u03a6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7 \u03b5\u03bc\u03c0\u03b5\u03b9\u03c1\u03af\u03b1\u03c2 (0%) \u00ab\u0397 \u03a4\u03b5\u03c7\u03bd\u03bf\u03bb\u03bf\u03b3\u03af\u03b1 \u03bc\u03b1\u03c2, \u03bf \u03a3\u03c4\u03cc\u03c7\u03bf\u03c2 \u03c3\u03b1\u03c2\u00bb \u00abWe Are Your Solution\u00bb \u00ab\u039f\u03bb\u03bf\u03ba\u03bb\u03b7\u03c1\u03c9\u03bc\u03ad\u03bd\u03b5\u03c2 \u03bb\u03cd\u03c3\u03b5\u03b9\u03c2 \u2014 \u0391\u03be\u03b9\u03cc\u03c0\u03b9\u03c3\u03c4\u03bf Service\u00bb \u00ab\u0386\u03bc\u03b5\u03c3\u03bf \u03ba\u03b1\u03b9 \u03b1\u03be\u03b9\u03cc\u03c0\u03b9\u03c3\u03c4\u03bf service \u03b3\u03b9\u03b1 \u03c4\u03bf\u03bd \u03c5\u03c0\u03bf\u03bb\u03bf\u03b3\u03b9\u03c3\u03c4\u03ae \u03ae \u03c4\u03bf \u03ba\u03b9\u03bd\u03b7\u03c4\u03cc \u03c3\u03b1\u03c2. \u0395\u03c0\u03b9\u03c3\u03ba\u03b5\u03c5\u03ad\u03c2, \u03b1\u03bd\u03b1\u03b2\u03b1\u03b8\u03bc\u03af\u03c3\u03b5\u03b9\u03c2 \u03ba\u03b1\u03b9 \u03bb\u03cd\u03c3\u03b5\u03b9\u03c2 \u03c3\u03b5 \u03ba\u03ac\u03b8\u03b5 \u03c4\u03b5\u03c7\u03bd\u03b9\u03ba\u03cc \u03c0\u03c1\u03cc\u03b2\u03bb\u03b7\u03bc\u03b1, \u03bc\u03b5 \u03b5\u03b3\u03b3\u03cd\u03b7\u03c3\u03b7 \u03c0\u03bf\u03b9\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2.\u00bb \u00ab\u03a4\u0395\u03a7\u039d\u039f\u039b\u039f\u0393\u0399\u039a\u0397 \u03a5\u03a0\u039f\u0394\u039f\u039c\u0397\u00bb \u00ab\u0394\u03b9\u03ba\u03c4\u03c5\u03b1\u03ba\u03ad\u03c2 \u03a5\u03c0\u03bf\u03b4\u03bf\u03bc\u03ad\u03c2\u00bb \u00ab\u0386\u03bc\u03b5\u03c3\u03b5\u03c2 \u03ba\u03b1\u03b9 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"class_list":["post-1244","page","type-page","status-publish","hentry"],"_hostinger_reach_plugin_has_subscription_block":false,"_hostinger_reach_plugin_is_elementor":false,"_links":{"self":[{"href":"https:\/\/iepirus.gr\/index.php?rest_route=\/wp\/v2\/pages\/1244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iepirus.gr\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/iepirus.gr\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/iepirus.gr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/iepirus.gr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1244"}],"version-history":[{"count":146,"href":"https:\/\/iepirus.gr\/index.php?rest_route=\/wp\/v2\/pages\/1244\/revisions"}],"predecessor-version":[{"id":1462,"href":"https:\/\/iepirus.gr\/index.php?rest_route=\/wp\/v2\/pages\/1244\/revisions\/1462"}],"wp:attachment":[{"href":"https:\/\/iepirus.gr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}