{"id":1801,"date":"2025-09-25T08:11:04","date_gmt":"2025-09-25T08:11:04","guid":{"rendered":"https:\/\/www.railstec.com\/served-sectors\/"},"modified":"2025-10-30T11:01:19","modified_gmt":"2025-10-30T11:01:19","slug":"served-sectors","status":"publish","type":"page","link":"https:\/\/www.railstec.com\/en\/served-sectors\/","title":{"rendered":"Served Sectors"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1801\" class=\"elementor elementor-1801 elementor-383\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f632bc9 e-flex e-con-boxed e-con e-parent\" data-id=\"f632bc9\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-4c428a8 e-con-full e-flex e-con e-child\" data-id=\"4c428a8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0226c0b elementor-widget elementor-widget-text-editor\" data-id=\"0226c0b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h3><span style=\"color: #99d9db;\">Served<\/span> <br \/>Sectors<\/h3>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e815bdb elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"e815bdb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><strong>Rails designs and manufactures machines that cover a wide range<\/strong> <strong>of application sectors, providing customized and innovative solutions for every production need.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3b6a8d0 e-con-full e-flex e-con e-child\" data-id=\"3b6a8d0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7709ca3 elementor-widget elementor-widget-html\" data-id=\"7709ca3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n    .chart-wrapper-en {\n        display: flex;\n        align-items: center;\n        gap: 60px;\n        opacity: 0;\n        transform: scale(0.8);\n        animation: scaleInEn 0.8s ease-out forwards;\n    }\n    .legend-en {\n        display: flex;\n        flex-direction: column;\n        gap: 20px;\n    }\n    .legend-item-en {\n        display: flex;\n        align-items: center;\n        font-size: 18px;\n        opacity: 0;\n    }\n    .legend-item-en.item-1-en {\n        animation: fadeInLegendEn 0.5s ease-out 1s forwards;\n    }\n    .legend-item-en.item-2-en {\n        animation: fadeInLegendEn 0.5s ease-out 2.5s forwards;\n    }\n    .legend-item-en.item-3-en {\n        animation: fadeInLegendEn 0.5s ease-out 3.2s forwards;\n    }\n    .legend-text-en {\n        display: flex;\n        flex-direction: column;\n        line-height: 1.4;\n    }\n    .percentage-en {\n        font-weight: bold;\n        font-size: 20px;\n        margin-bottom: 2px;\n    }\n    .percentage-en.green { color: #3EB489; }\n    .percentage-en.blue { color: #75B8FF; }\n    .percentage-en.teal { color: #99D9DB; }\n    .label-en {\n        font-size: 16px;\n        font-weight: bold;\n    }\n    .label-en.green { color: #3EB489; }\n    .label-en.blue { color: #75B8FF; }\n    .label-en.teal { color: #99D9DB; }\n    .chart-container-en {\n        position: relative;\n        width: 300px;\n        height: 300px;\n    }\n    .donut-chart-en {\n        width: 100%;\n        height: 100%;\n        transform: rotate(90deg);\n    }\n    .donut-segment-en {\n        fill: none;\n        stroke-width: 20;\n        stroke-linecap: butt;\n        opacity: 0;\n        stroke-dasharray: 0 628; \/* Circumference = 2\u03c0r = 2\u03c0\u00d7100 = 628 *\/\n        transition: stroke-dasharray 1.5s ease-out, opacity 0.3s ease-in-out;\n    }\n    .segment-1-en {\n        stroke: #3EB489;\n        animation: drawSegment1En 1.8s ease-out 0.5s forwards, fadeInEn 0.3s ease-in-out 0.5s forwards;\n    }\n    .segment-2-en {\n        stroke: #99D9DB;\n        animation: drawSegment2En 1.2s ease-out 1.3s forwards, fadeInEn 0.3s ease-in-out 1.3s forwards;\n    }\n    .segment-3-en {\n        stroke: #75B8FF;\n        animation: drawSegment3En 1s ease-out 2.1s forwards, fadeInEn 0.3s ease-in-out 2.1s forwards;\n    }\n    @keyframes fadeInEn {\n        to {\n            opacity: 1;\n        }\n    }\n    @keyframes fadeInLegendEn {\n        to {\n            opacity: 1;\n        }\n    }\n    @keyframes drawSegment1En {\n        to {\n            stroke-dasharray: 377 628; \/* 60% di 628 = 377 *\/\n        }\n    }\n    @keyframes drawSegment2En {\n        to {\n            stroke-dasharray: 94 628; \/* 15% di 628 = 94 *\/\n            stroke-dashoffset: -377; \/* Inizia dopo il primo segmento *\/\n        }\n    }\n    @keyframes drawSegment3En {\n        to {\n            stroke-dasharray: 157 628; \/* 25% di 628 = 157 *\/\n            stroke-dashoffset: -471; \/* Inizia dopo i primi due segmenti (-377 + -94) *\/\n        }\n    }\n    @keyframes scaleInEn {\n        to {\n            opacity: 1;\n            transform: scale(1);\n        }\n    }\n    @media (max-width: 768px) {\n        .chart-wrapper-en {\n            flex-direction: column;\n            gap: 40px;\n        }\n    }\n<\/style>\n<div class=\"chart-wrapper-en\">\n    <div class=\"legend-en\">\n        <div class=\"legend-item-en item-1-en\">\n            <div class=\"legend-text-en\">\n                <span class=\"percentage-en green\">60%<\/span>\n                <span class=\"label-en green\">Packaging<\/span>\n            <\/div>\n        <\/div>\n        \n        <div class=\"legend-item-en item-2-en\">\n            <div class=\"legend-text-en\">\n                <span class=\"percentage-en blue\">25%<\/span>\n                <span class=\"label-en blue\">Food<\/span>\n            <\/div>\n        <\/div>\n        \n        <div class=\"legend-item-en item-3-en\">\n            <div class=\"legend-text-en\">\n                <span class=\"percentage-en teal\">15%<\/span>\n                <span class=\"label-en teal\">Pharmaceutical<\/span>\n            <\/div>\n        <\/div>\n    <\/div>\n    <div class=\"chart-container-en\">\n        <svg class=\"donut-chart-en\" viewBox=\"0 0 240 240\">\n            <!-- Segment 1: 60% - Green (#3EB489) -->\n            <circle class=\"donut-segment-en segment-1-en\" cx=\"120\" cy=\"120\" r=\"100\"><\/circle>\n            \n            <!-- Segment 2: 15% - Teal (#99D9DB) -->\n            <circle class=\"donut-segment-en segment-2-en\" cx=\"120\" cy=\"120\" r=\"100\"><\/circle>\n            \n            <!-- Segment 3: 25% - Blue (#75B8FF) -->\n            <circle class=\"donut-segment-en segment-3-en\" cx=\"120\" cy=\"120\" r=\"100\"><\/circle>\n        <\/svg>\n    <\/div>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-da2db14 e-con-full e-flex e-con e-parent\" data-id=\"da2db14\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d0e3073 elementor-widget elementor-widget-html\" data-id=\"d0e3073\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\n    <style>\n\n        .content-marquee {\n            width: 100%;\n            overflow: hidden;\n            padding: 40px 0;\n            position: relative;\n        }\n        \n        .marquee-container {\n            display: flex;\n            width: fit-content;\n            transition: none;\n        }\n        \n        .content-card {\n            flex: 0 0 360px;\n            height: 450px;\n            border-radius: 20px;\n            margin: 0 10px;\n            transition: all 0.3s ease;\n            position: relative;\n            overflow: hidden;\n            background-size: cover;\n            background-position: center;\n            background-repeat: no-repeat;\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            text-align: center;\n            padding: 35px 30px;\n        }\n        \n        .content-card:hover {\n            transform: scale(1.02);\n            background-image: none !important;\n            background-color: #333333;\n        }\n        \n        .content-card::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            bottom: 0;\n            background: rgba(0, 0, 0, 0.5);\n            z-index: 1;\n            transition: background 0.3s ease;\n        }\n        \n        .content-card:hover::before {\n            background: transparent;\n        }\n        \n        .card-content {\n            position: relative;\n            z-index: 2;\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            height: 100%;\n            width: 100%;\n        }\n        \n        .card-content-default {\n            transition: opacity 0.3s ease;\n        }\n        \n        .content-card:hover .card-content-default {\n            opacity: 0;\n        }\n        \n        .card-content-hover {\n            position: absolute;\n            top: 50%;\n            left: 50%;\n            transform: translate(-50%, -50%);\n            width: 90%;\n            opacity: 0;\n            transition: opacity 0.3s ease;\n        }\n        \n        .content-card:hover .card-content-hover {\n            opacity: 1;\n        }\n        \n        .card-title {\n            font-size: 25px;\n            font-weight: 700;\n            color: white;\n            font-family: \"Inter\", sans-serif;\n            margin-bottom: 70px;\n            line-height: 1.3;\n        }\n        \n        .card-text {\n            font-size: 16px;\n            color: #E1F25C;\n            font-family: \"Inter\", sans-serif;\n            font-weight: bold;\n            line-height: 1.6;\n            margin-bottom: 80px;\n            max-width: 280px;\n        }\n        \n        .card-icon {\n            width: 28px;\n            height: 28px;\n            opacity: 0.8;\n            transition: all 0.3s ease;\n            filter: brightness(0) invert(1);\n        }\n        \n        .card-icon-hover {\n            width: 28px;\n            height: 28px;\n            opacity: 0.8;\n            transition: all 0.3s ease;\n            filter: brightness(0) invert(1);\n        }\n        \n        .content-card:hover .card-icon {\n            opacity: 1;\n            transform: rotate(90deg) scale(1.1);\n        }\n        \n        .content-card:hover .card-icon-hover {\n            opacity: 1;\n            transform: scale(1.1);\n        }\n        \n        .hover-text {\n            font-size: 14px;\n            color: white;\n            font-family: \"Inter\", sans-serif;\n            line-height: 1.5;\n            margin-bottom: 50px;\n            text-shadow: 1px 1px 2px rgba(0,0,0,0.5);\n            text-align: center;\n            max-width: 310px;\n        }\n        \n        .marquee-controls {\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            gap: 30px;\n            margin-top: 30px;\n        }\n        \n        .arrow-btn {\n            background: none;\n            border: none;\n            cursor: pointer;\n            padding: 8px;\n            border-radius: 50%;\n            width: 45px;\n            height: 45px;\n            display: flex;\n            align-items: center;\n            justify-content: center;\n            transition: background 0.3s ease;\n        }\n        \n        .arrow-btn:hover,\n        .arrow-btn:focus,\n        .arrow-btn:active {\n            background: #E1F25C;\n            outline: none;\n        }\n        \n        .arrow-btn img {\n            width: 20px;\n            height: 20px;\n            object-fit: contain;\n        }\n        \n        \/* Responsive *\/\n        @media (max-width: 768px) {\n            .content-card {\n                flex: 0 0 280px;\n                height: 400px;\n                margin: 0 8px;\n                padding: 25px 20px;\n            }\n            \n            .card-title {\n                font-size: 22px;\n                margin-bottom: 55px;\n            }\n            \n            .card-text {\n                font-size: 14px;\n                max-width: 240px;\n                margin-bottom: 65px;\n            }\n            \n            .card-icon, .card-icon-hover {\n                width: 25px;\n                height: 25px;\n            }\n            \n            .hover-text {\n                font-size: 13px;\n                max-width: 250px;\n                margin-bottom: 40px;\n                line-height: 1.4;\n            }\n            \n            .marquee-controls {\n                gap: 20px;\n                margin-top: 25px;\n            }\n            \n            .arrow-btn {\n                width: 40px;\n                height: 40px;\n            }\n            \n            .arrow-btn img {\n                width: 18px;\n                height: 18px;\n            }\n        }\n        \n        @media (max-width: 480px) {\n            .content-card {\n                flex: 0 0 250px;\n                height: 360px;\n                padding: 20px 15px;\n            }\n            \n            .card-title {\n                font-size: 20px;\n                margin-bottom: 50px;\n            }\n            \n            .card-text {\n                font-size: 13px;\n                max-width: 220px;\n                margin-bottom: 60px;\n            }\n            \n            .card-icon, .card-icon-hover {\n                width: 22px;\n                height: 22px;\n            }\n            \n            .hover-text {\n                font-size: 12px;\n                max-width: 210px;\n                margin-bottom: 35px;\n                line-height: 1.3;\n            }\n            \n            .marquee-controls {\n                gap: 15px;\n                margin-top: 20px;\n            }\n            \n            .arrow-btn {\n                width: 35px;\n                height: 35px;\n            }\n            \n            .arrow-btn img {\n                width: 16px;\n                height: 16px;\n            }\n        }\n    <\/style>\n\n    <div class=\"content-marquee\">\n        <div class=\"marquee-container\" id=\"marqueeContainer\">\n            <div class=\"content-card\" style=\"background-image: url('https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/10\/settore-cartone-ondulato.webp');\">\n                <div class=\"card-content\">\n                    <div class=\"card-content-default\">\n                        <div class=\"card-title\">Automation for corrugated board<\/div>\n                        <div class=\"card-text\">Tailored conveyors and systems<\/div>\n                        <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-piu.png\" alt=\"Icona Plus\" class=\"card-icon\">\n                    <\/div>\n                    <div class=\"card-content-hover\">\n                        <div class=\"hover-text\">Corrugated board lies at the heart of our specialization. We design conveyors and peripheral machines dedicated to every stage of the process, from handling lines to end-of-line systems.<br>Our solutions ensure efficiency, reliability, and waste reduction, providing tangible support to packaging companies operating in this field.  <\/div>\n                        <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-meno.png\" alt=\"Icona Meno\" class=\"card-icon-hover\">\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <div class=\"content-card\" style=\"background-image: url('https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/10\/settore-alimentare.webp');\">\n                <div class=\"card-content\">\n                    <div class=\"card-content-default\">\n                        <div class=\"card-title\">Food\u2011packaging automation systems<\/div>\n                        <div class=\"card-text\">washable and safe<\/div>\n                        <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-piu.png\" alt=\"Icona Plus\" class=\"card-icon\">\n                    <\/div>\n                    <div class=\"card-content-hover\">\n                        <div class=\"hover-text\">For the food industry, we develop robust, washable systems that comply with hygiene and safety standards. Our automation solutions are designed for intensive, continuous cycles, guaranteeing safety, precision, and production stability throughout all stages of handling and packaging. <\/div>\n                        <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-meno.png\" alt=\"Icona Meno\" class=\"card-icon-hover\">\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <div class=\"content-card\" style=\"background-image: url('https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/10\/settore-farmaceutico.webp');\">\n                <div class=\"card-content\">\n                    <div class=\"card-content-default\">\n                        <div class=\"card-title\">Pharmaceutical automation<\/div>\n                        <div class=\"card-text\">Tailored handling and traceability <\/div>\n                        <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-piu.png\" alt=\"Icona Plus\" class=\"card-icon\">\n                    <\/div>\n                    <div class=\"card-content-hover\">\n                        <div class=\"hover-text\">We provide tailor-made solutions for handling and feeding components in controlled environments. Maximum precision, traceability, and reliability are the pillars of our automation systems for the pharmaceutical sector, seamlessly integrating with automatic lines and process control. <\/div>\n                        <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-meno.png\" alt=\"Icona Meno\" class=\"card-icon-hover\">\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <div class=\"content-card\" style=\"background-image: url('https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/10\/settore-beverage-scaled.webp');\">\n                <div class=\"card-content\">\n                    <div class=\"card-content-default\">\n                        <div class=\"card-title\">Beverage Packaging Automation<\/div>\n                        <div class=\"card-text\">Speed and versatility <\/div>\n                        <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-piu.png\" alt=\"Icona Plus\" class=\"card-icon\">\n                    <\/div>\n                    <div class=\"card-content-hover\">\n                        <div class=\"hover-text\">High-speed lines and variable formats require flexible and stable automation. Our systems for the beverage industry guarantee stability even under demanding conditions, adapting to bottles, cans, and containers of different sizes while optimizing handling and packaging processes <\/div>\n                        <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-meno.png\" alt=\"Icona Meno\" class=\"card-icon-hover\">\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <div class=\"content-card\" style=\"background-image: url('https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/10\/settore-home-care.webp');\">\n                <div class=\"card-content\">\n                    <div class=\"card-content-default\">\n                        <div class=\"card-title\">Home &amp; Care Packaging<\/div>\n                        <div class=\"card-text\">Versatile systems for packaging<\/div>\n                        <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-piu.png\" alt=\"Icona Plus\" class=\"card-icon\">\n                    <\/div>\n                    <div class=\"card-content-hover\">\n                        <div class=\"hover-text\">In this sector, versatility and speed are the key \u2014 systems must handle multiple formats without stopping production. Our solutions automate packaging lines, improve efficiency, and reduce downtime, ensuring production continuity and an optimized workflow. <\/div>\n                        <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-meno.png\" alt=\"Icona Meno\" class=\"card-icon-hover\">\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <div class=\"marquee-controls\">\n            <button class=\"arrow-btn\" id=\"prevBtn\">\n                <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/freccia-sx.svg\" alt=\"Freccia Sinistra\">\n            <\/button>\n            <button class=\"arrow-btn\" id=\"nextBtn\">\n                <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/freccia-dx.svg\" alt=\"Freccia Destra\">\n            <\/button>\n        <\/div>\n    <\/div>\n\n    <script>\n        class ContentMarquee {\n            constructor() {\n                this.container = document.getElementById('marqueeContainer');\n                this.marqueeWrapper = document.querySelector('.content-marquee');\n                this.prevBtn = document.getElementById('prevBtn');\n                this.nextBtn = document.getElementById('nextBtn');\n                \n                this.currentIndex = 0;\n                this.isManualControl = false;\n                this.isPaused = false;\n                this.animationId = null;\n                \n                this.totalItems = 5;\n                this.speed = 0.3;\n                this.currentPosition = 0;\n                \n                this.init();\n            }\n            \n            init() {\n                this.createInfiniteLoop();\n                this.setupEventListeners();\n                this.startAnimation();\n            }\n            \n            createInfiniteLoop() {\n                const originalItems = Array.from(this.container.children);\n                \n                for (let i = 0; i < 4; i++) {\n                    originalItems.forEach(item => {\n                        const clone = item.cloneNode(true);\n                        this.container.appendChild(clone);\n                    });\n                }\n                \n                this.updateContainerWidth();\n            }\n            \n            getItemWidth() {\n                if (window.innerWidth <= 480) {\n                    return 266;\n                } else if (window.innerWidth <= 768) {\n                    return 296;\n                } else {\n                    return 380;\n                }\n            }\n            \n            updateContainerWidth() {\n                const itemWidth = this.getItemWidth();\n                this.container.style.width = `${itemWidth * this.totalItems * 5}px`;\n                this.loopPoint = -(itemWidth * this.totalItems);\n            }\n            \n            startAnimation() {\n                if (this.animationId) {\n                    cancelAnimationFrame(this.animationId);\n                }\n                \n                const animate = () => {\n                    if (!this.isPaused && !this.isManualControl) {\n                        this.currentPosition -= this.speed;\n                        \n                        if (this.currentPosition <= this.loopPoint) {\n                            this.currentPosition = 0;\n                        }\n                        \n                        this.container.style.transform = `translateX(${this.currentPosition}px)`;\n                    }\n                    \n                    this.animationId = requestAnimationFrame(animate);\n                };\n                \n                animate();\n            }\n            \n            pauseAnimation() {\n                this.isPaused = true;\n            }\n            \n            resumeAnimation() {\n                this.isPaused = false;\n                if (this.resumeTimeout) {\n                    clearTimeout(this.resumeTimeout);\n                }\n                this.resumeTimeout = setTimeout(() => {\n                    this.isManualControl = false;\n                }, 2000);\n            }\n            \n            goToItem(direction) {\n                this.isManualControl = true;\n                \n                const itemWidth = this.getItemWidth();\n                const moveDistance = itemWidth * direction;\n                const targetPosition = this.currentPosition - moveDistance;\n                \n                if (direction > 0) {\n                    this.currentIndex = (this.currentIndex + 1) % this.totalItems;\n                } else {\n                    this.currentIndex = (this.currentIndex - 1 + this.totalItems) % this.totalItems;\n                }\n                \n                this.animateToPosition(targetPosition, () => {\n                    this.checkAndResetPosition();\n                    this.resumeAnimation();\n                });\n            }\n            \n            checkAndResetPosition() {\n                const itemWidth = this.getItemWidth();\n                \n                if (this.currentPosition <= -(itemWidth * this.totalItems * 2)) {\n                    this.currentPosition += (itemWidth * this.totalItems);\n                    this.container.style.transform = `translateX(${this.currentPosition}px)`;\n                }\n                \n                if (this.currentPosition > -(itemWidth * this.totalItems)) {\n                    this.currentPosition -= (itemWidth * this.totalItems);\n                    this.container.style.transform = `translateX(${this.currentPosition}px)`;\n                }\n            }\n            \n            animateToPosition(targetPosition, callback) {\n                const startPosition = this.currentPosition;\n                const distance = targetPosition - startPosition;\n                const duration = 600;\n                const startTime = performance.now();\n                \n                const smoothMove = (currentTime) => {\n                    const elapsed = currentTime - startTime;\n                    const progress = Math.min(elapsed \/ duration, 1);\n                    \n                    const easeProgress = progress < 0.5 \n                        ? 2 * progress * progress \n                        : -1 + (4 - 2 * progress) * progress;\n                    \n                    this.currentPosition = startPosition + (distance * easeProgress);\n                    this.container.style.transform = `translateX(${this.currentPosition}px)`;\n                    \n                    if (progress < 1) {\n                        requestAnimationFrame(smoothMove);\n                    } else if (callback) {\n                        callback();\n                    }\n                };\n                \n                requestAnimationFrame(smoothMove);\n            }\n            \n            setupEventListeners() {\n                this.prevBtn.addEventListener('click', (e) => {\n                    e.preventDefault();\n                    this.goToItem(-1);\n                });\n                \n                this.nextBtn.addEventListener('click', (e) => {\n                    e.preventDefault();\n                    this.goToItem(1);\n                });\n                \n                document.addEventListener('keydown', (e) => {\n                    if (e.key === 'ArrowLeft') {\n                        e.preventDefault();\n                        this.goToItem(-1);\n                    } else if (e.key === 'ArrowRight') {\n                        e.preventDefault();\n                        this.goToItem(1);\n                    }\n                });\n                \n                this.marqueeWrapper.addEventListener('mouseenter', () => {\n                    this.pauseAnimation();\n                });\n                \n                this.marqueeWrapper.addEventListener('mouseleave', () => {\n                    this.resumeAnimation();\n                });\n                \n                window.addEventListener('resize', () => {\n                    this.updateContainerWidth();\n                    \n                    if (this.isManualControl) {\n                        const itemWidth = this.getItemWidth();\n                        const targetPosition = -(itemWidth * this.currentIndex);\n                        this.currentPosition = targetPosition;\n                        this.container.style.transform = `translateX(${this.currentPosition}px)`;\n                    }\n                });\n                \n                document.addEventListener('visibilitychange', () => {\n                    if (document.hidden) {\n                        this.pauseAnimation();\n                    } else {\n                        this.resumeAnimation();\n                    }\n                });\n            }\n        }\n        \n        document.addEventListener('DOMContentLoaded', () => {\n            new ContentMarquee();\n        });\n    <\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c772efd e-con-full sezione-scura e-flex e-con e-parent\" data-id=\"c772efd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a2a12ca elementor-widget elementor-widget-html\" data-id=\"a2a12ca\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n    * {\n        margin: 0;\n        padding: 0;\n        box-sizing: border-box;\n    }\n    .vb-image-slider-wrapper {\n        width: 100%;\n        overflow: hidden;\n        background-color: transparent;\n        padding: 40px 0;\n        position: relative;\n    }\n    .vb-image-slider-track {\n        display: flex;\n        animation: vb-slide-animation 25s linear infinite;\n        white-space: nowrap;\n        align-items: center;\n        will-change: transform;\n    }\n    .vb-image-slider-item {\n        flex-shrink: 0;\n        padding: 0 30px;\n    }\n    .vb-image-slider-item img {\n        min-width: 1500px !important;\n        width: 1500px !important;\n        height: auto !important;\n        display: block !important;\n    }\n    @keyframes vb-slide-animation {\n        from {\n            transform: translateX(0);\n        }\n        to {\n            transform: translateX(-50%);\n        }\n    }\n    \/* Responsive *\/\n    @media (max-width: 768px) {\n        .vb-image-slider-item {\n            padding: 0 20px;\n        }\n        .vb-image-slider-item img {\n            min-width: 900px !important;\n            width: 900px !important;\n        }\n    }\n    @media (max-width: 480px) {\n        .vb-image-slider-item {\n            padding: 0 15px;\n        }\n        .vb-image-slider-item img {\n            min-width: 600px !important;\n            width: 600px !important;\n        }\n    }\n<\/style>\n<div class=\"vb-image-slider-wrapper\">\n    <div class=\"vb-image-slider-track\">\n        <!-- Set originale -->\n        <div class=\"vb-image-slider-item\">\n            <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/scritte-marquee-scaled.png\" alt=\"Smart moves for Smart packaging\">\n        <\/div>\n        <div class=\"vb-image-slider-item\">\n            <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/scritte-marquee-scaled.png\" alt=\"Smart moves for Smart packaging\">\n        <\/div>\n        <div class=\"vb-image-slider-item\">\n            <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/scritte-marquee-scaled.png\" alt=\"Smart moves for Smart packaging\">\n        <\/div>\n        <div class=\"vb-image-slider-item\">\n            <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/scritte-marquee-scaled.png\" alt=\"Smart moves for Smart packaging\">\n        <\/div>\n        <div class=\"vb-image-slider-item\">\n            <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/scritte-marquee-scaled.png\" alt=\"Smart moves for Smart packaging\">\n        <\/div>\n        <!-- Duplicato identico per loop continuo -->\n        <div class=\"vb-image-slider-item\">\n            <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/scritte-marquee-scaled.png\" alt=\"Smart moves for Smart packaging\">\n        <\/div>\n        <div class=\"vb-image-slider-item\">\n            <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/scritte-marquee-scaled.png\" alt=\"Smart moves for Smart packaging\">\n        <\/div>\n        <div class=\"vb-image-slider-item\">\n            <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/scritte-marquee-scaled.png\" alt=\"Smart moves for Smart packaging\">\n        <\/div>\n        <div class=\"vb-image-slider-item\">\n            <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/scritte-marquee-scaled.png\" alt=\"Smart moves for Smart packaging\">\n        <\/div>\n        <div class=\"vb-image-slider-item\">\n            <img decoding=\"async\" src=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/scritte-marquee-scaled.png\" alt=\"Smart moves for Smart packaging\">\n        <\/div>\n    <\/div>\n<\/div>\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>Served Sectors Rails designs and manufactures machines that cover a wide range of application sectors, providing customized and innovative solutions for every production need. 60% Packaging 25% Food 15% Pharmaceutical Automation for corrugated board Tailored conveyors and systems Corrugated board lies at the heart of our specialization. We design conveyors and peripheral machines dedicated to &#8230; <a title=\"Served Sectors\" class=\"read-more\" href=\"https:\/\/www.railstec.com\/en\/served-sectors\/\" aria-label=\"Read more about Served Sectors\">Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-1801","page","type-page","status-publish"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Served Sectors - Rails<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railstec.com\/en\/served-sectors\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Served Sectors - Rails\" \/>\n<meta property=\"og:description\" content=\"Served Sectors Rails designs and manufactures machines that cover a wide range of application sectors, providing customized and innovative solutions for every production need. 60% Packaging 25% Food 15% Pharmaceutical Automation for corrugated board Tailored conveyors and systems Corrugated board lies at the heart of our specialization. We design conveyors and peripheral machines dedicated to ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railstec.com\/en\/served-sectors\/\" \/>\n<meta property=\"og:site_name\" content=\"Rails\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-30T11:01:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-piu.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/served-sectors\\\/\",\"url\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/served-sectors\\\/\",\"name\":\"Served Sectors - Rails\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/served-sectors\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/served-sectors\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.railstec.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/icona-piu.png\",\"datePublished\":\"2025-09-25T08:11:04+00:00\",\"dateModified\":\"2025-10-30T11:01:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/served-sectors\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.railstec.com\\\/en\\\/served-sectors\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/served-sectors\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.railstec.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/icona-piu.png\",\"contentUrl\":\"https:\\\/\\\/www.railstec.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/icona-piu.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/served-sectors\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Served Sectors\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/\",\"name\":\"Rails\",\"description\":\"Smart Moves for Smart Packaging\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.railstec.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Served Sectors - Rails","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railstec.com\/en\/served-sectors\/","og_locale":"en_US","og_type":"article","og_title":"Served Sectors - Rails","og_description":"Served Sectors Rails designs and manufactures machines that cover a wide range of application sectors, providing customized and innovative solutions for every production need. 60% Packaging 25% Food 15% Pharmaceutical Automation for corrugated board Tailored conveyors and systems Corrugated board lies at the heart of our specialization. We design conveyors and peripheral machines dedicated to ... Read more","og_url":"https:\/\/www.railstec.com\/en\/served-sectors\/","og_site_name":"Rails","article_modified_time":"2025-10-30T11:01:19+00:00","og_image":[{"url":"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-piu.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.railstec.com\/en\/served-sectors\/","url":"https:\/\/www.railstec.com\/en\/served-sectors\/","name":"Served Sectors - Rails","isPartOf":{"@id":"https:\/\/www.railstec.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railstec.com\/en\/served-sectors\/#primaryimage"},"image":{"@id":"https:\/\/www.railstec.com\/en\/served-sectors\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-piu.png","datePublished":"2025-09-25T08:11:04+00:00","dateModified":"2025-10-30T11:01:19+00:00","breadcrumb":{"@id":"https:\/\/www.railstec.com\/en\/served-sectors\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railstec.com\/en\/served-sectors\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.railstec.com\/en\/served-sectors\/#primaryimage","url":"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-piu.png","contentUrl":"https:\/\/www.railstec.com\/wp-content\/uploads\/2025\/09\/icona-piu.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.railstec.com\/en\/served-sectors\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railstec.com\/en\/"},{"@type":"ListItem","position":2,"name":"Served Sectors"}]},{"@type":"WebSite","@id":"https:\/\/www.railstec.com\/en\/#website","url":"https:\/\/www.railstec.com\/en\/","name":"Rails","description":"Smart Moves for Smart Packaging","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railstec.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/www.railstec.com\/en\/wp-json\/wp\/v2\/pages\/1801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railstec.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.railstec.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.railstec.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railstec.com\/en\/wp-json\/wp\/v2\/comments?post=1801"}],"version-history":[{"count":17,"href":"https:\/\/www.railstec.com\/en\/wp-json\/wp\/v2\/pages\/1801\/revisions"}],"predecessor-version":[{"id":2504,"href":"https:\/\/www.railstec.com\/en\/wp-json\/wp\/v2\/pages\/1801\/revisions\/2504"}],"wp:attachment":[{"href":"https:\/\/www.railstec.com\/en\/wp-json\/wp\/v2\/media?parent=1801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}