{"id":9,"date":"2025-04-10T08:17:37","date_gmt":"2025-04-10T08:17:37","guid":{"rendered":"https:\/\/dezwebsolutions.com\/panengineers\/?page_id=9"},"modified":"2025-05-26T04:16:14","modified_gmt":"2025-05-26T04:16:14","slug":"home","status":"publish","type":"page","link":"https:\/\/dezwebsolutions.com\/panengineers\/","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"9\" class=\"elementor elementor-9\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f0bc769 e-con-full e-flex e-con e-parent\" data-id=\"f0bc769\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4dc596e elementor--h-position-center elementor--v-position-middle elementor-arrows-position-inside elementor-pagination-position-inside elementor-widget elementor-widget-slides\" data-id=\"4dc596e\" data-element_type=\"widget\" data-settings=\"{&quot;autoplay_speed&quot;:8000,&quot;navigation&quot;:&quot;both&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;infinite&quot;:&quot;yes&quot;,&quot;transition&quot;:&quot;slide&quot;,&quot;transition_speed&quot;:500}\" data-widget_type=\"slides.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper\">\n\t\t\t\t\t<div class=\"elementor-slides-wrapper elementor-main-swiper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Slides\" dir=\"ltr\" data-animation=\"\">\n\t\t\t\t<div class=\"swiper-wrapper elementor-slides\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-repeater-item-afbaacd swiper-slide\" role=\"group\" aria-roledescription=\"slide\"><div class=\"swiper-slide-bg\" role=\"img\"><\/div><div class=\"elementor-background-overlay\"><\/div><div class=\"swiper-slide-inner\" ><div class=\"swiper-slide-contents\"><div class=\"elementor-slide-heading\">Earthmoving Machinery Components<\/div><div class=\"elementor-slide-description\">Premium aftermarket spare parts, precisely engineered for JCB, Komatsu, Volvo, and Caterpillar machines, ensuring superior performance and durability.\n<\/div><div  class=\"elementor-button elementor-slide-button elementor-size-sm\">Contact Us For More Information<\/div><\/div><\/div><\/div><div class=\"elementor-repeater-item-a55daa8 swiper-slide\" role=\"group\" aria-roledescription=\"slide\"><div class=\"swiper-slide-bg\" role=\"img\"><\/div><div class=\"elementor-background-overlay\"><\/div><div class=\"swiper-slide-inner\" ><div class=\"swiper-slide-contents\"><div class=\"elementor-slide-heading\">TRACTOR & AGRICULTURAL COMPONENTS<\/div><div class=\"elementor-slide-description\">High-performance aftermarket spares for front axle assemblies, including pivot pins, precision-engineered bushes, axles, wheel hubs, hydraulic, and linkage components\u2014meticulously manufactured to OEM specifications with superior metallurgical accuracy for unmatched durability and reliability.\n<\/div><div  class=\"elementor-button elementor-slide-button elementor-size-sm\">Contact Us For More Information<\/div><\/div><\/div><\/div><div class=\"elementor-repeater-item-965e5a7 swiper-slide\" role=\"group\" aria-roledescription=\"slide\"><div class=\"swiper-slide-bg\" role=\"img\"><\/div><div class=\"elementor-background-overlay\"><\/div><div class=\"swiper-slide-inner\" ><div class=\"swiper-slide-contents\"><div class=\"elementor-slide-heading\">OIL & GAS EQUIPMENT COMPONENTS<\/div><div class=\"elementor-slide-description\">As a global provider of high-precision components for the oil & gas industry, we specialize in the development of mud pump parts, flow line components, gate valve & choke parts, and a comprehensive range of drilling-related products\u2014engineered for superior performance, durability, and industry compliance.<\/div><div  class=\"elementor-button elementor-slide-button elementor-size-sm\">Contact Us For More Information<\/div><\/div><\/div><\/div><div class=\"elementor-repeater-item-d9bcf78 swiper-slide\" role=\"group\" aria-roledescription=\"slide\"><div class=\"swiper-slide-bg\" role=\"img\"><\/div><div class=\"elementor-background-overlay\"><\/div><div class=\"swiper-slide-inner\" ><div class=\"swiper-slide-contents\"><div class=\"elementor-slide-heading\">STEEL FABRICATIONS<\/div><div class=\"elementor-slide-description\">With a legacy of 40 years in the industry, we specialize in precision-engineered steel fabrications, including metal fences, gates & railings, stainless steel trolleys, cattle panels, and bespoke structural solutions, meticulously crafted to meet industry standards and client specifications.\n<\/div><div  class=\"elementor-button elementor-slide-button elementor-size-sm\">Contact Us For More Information<\/div><\/div><\/div><\/div><div class=\"elementor-repeater-item-85d4027 swiper-slide\" role=\"group\" aria-roledescription=\"slide\"><div class=\"swiper-slide-bg\" role=\"img\"><\/div><div class=\"elementor-background-overlay\"><\/div><div class=\"swiper-slide-inner\" ><div class=\"swiper-slide-contents\"><div class=\"elementor-slide-heading\">CUSTOMIZED ENGINEERING COMPONENTS<\/div><div class=\"elementor-slide-description\">We serve a wide spectrum of engineering industries, offering a diverse portfolio of precision-engineered components ranging from 50 grams to 100 kilograms, with flexible production volumes tailored to specific requirements. <\/div><div  class=\"elementor-button elementor-slide-button elementor-size-sm\">Contact Us For More Information<\/div><\/div><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-prev\" role=\"button\" tabindex=\"0\" aria-label=\"Previous slide\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-left\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M646 125C629 125 613 133 604 142L308 442C296 454 292 471 292 487 292 504 296 521 308 533L604 854C617 867 629 875 646 875 663 875 679 871 692 858 704 846 713 829 713 812 713 796 708 779 692 767L438 487 692 225C700 217 708 204 708 187 708 171 704 154 692 142 675 129 663 125 646 125Z\"><\/path><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-next\" role=\"button\" tabindex=\"0\" aria-label=\"Next slide\">\n\t\t\t\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-eicon-chevron-right\" viewBox=\"0 0 1000 1000\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M696 533C708 521 713 504 713 487 713 471 708 454 696 446L400 146C388 133 375 125 354 125 338 125 325 129 313 142 300 154 292 171 292 187 292 204 296 221 308 233L563 492 304 771C292 783 288 800 288 817 288 833 296 850 308 863 321 871 338 875 354 875 371 875 388 867 400 854L696 533Z\"><\/path><\/svg>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-pagination\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b0ada0c e-flex e-con-boxed e-con e-parent\" data-id=\"b0ada0c\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-49fc5dd elementor-widget elementor-widget-heading\" data-id=\"49fc5dd\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Our <b>Products<b\/><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0c17b13 elementor-widget elementor-widget-shortcode\" data-id=\"0c17b13\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/OwlCarousel2\/2.3.4\/assets\/owl.carousel.min.css\" integrity=\"sha512-tS3S5qG0BlhnQROyJXvNjeEM4UpMXHrQfTGmbQ1gKmelCxlSEBUaxhRBj\/EFTzpbP4RVSrpEikbmdJobCvhE3g==\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\" \/>\r\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/OwlCarousel2\/2.3.4\/assets\/owl.theme.default.min.css\" integrity=\"sha512-sMXtMNL1zRzolHYKEujM2AqCLUR9F2C4\/05cdbxjjLSRvMQIciEPCQZo++nk7go3BtSuK9kfa\/s+a4f4i5pLkw==\" crossorigin=\"anonymous\" referrerpolicy=\"no-referrer\" \/>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/OwlCarousel2\/2.3.4\/owl.carousel.min.js\"  referrerpolicy=\"no-referrer\"><\/script>\r\n\r\n    <div class=\"owl-carousel marquee-inner\">\r\n                \r\n            <div class=\"prod_img\">\r\n                <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/lift-arm-shaft\/\">\r\n                    <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/05\/Screen-Shot-2025-05-25-at-12.42.49-PM-221x300.png\" alt=\"LIFT ARM SHAFT\">\r\n                <\/a>\r\n            <\/div>\r\n            \r\n                        \r\n            <div class=\"prod_img\">\r\n                <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/clevis-mf\/\">\r\n                    <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/05\/ROD-CLEVIS-e1748156462553-232x300.png\" alt=\"CLEVIS MF\">\r\n                <\/a>\r\n            <\/div>\r\n            \r\n                        \r\n            <div class=\"prod_img\">\r\n                <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/brake-rod-long\/\">\r\n                    <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/05\/B-ROD-LONG-copy-225x300.png\" alt=\"Brake Rod Long\">\r\n                <\/a>\r\n            <\/div>\r\n            \r\n                        \r\n            <div class=\"prod_img\">\r\n                <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/brake-rod-adjustable\/\">\r\n                    <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/05\/B-ROD-ADJ-BLACK-225x300.png\" alt=\"Brake Rod Adjustable\">\r\n                <\/a>\r\n            <\/div>\r\n            \r\n                        \r\n            <div class=\"prod_img\">\r\n                <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/aftermarket-pin-for-caterpillar\/\">\r\n                    <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/05\/Screen-Shot-2025-02-12-at-19.40-Photoroom-9-296x300.png\" alt=\"Stabilizer Assembly MF\">\r\n                <\/a>\r\n            <\/div>\r\n            \r\n                        \r\n            <div class=\"prod_img\">\r\n                <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/pins-for-earth-moving-machines-3\/\">\r\n                    <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/PINS-FOR-EARTH-MOVING-MACHINES-1024x576-1-300x169.jpg\" alt=\"PINS FOR EARTH MOVING MACHINES\">\r\n                <\/a>\r\n            <\/div>\r\n            \r\n                        \r\n            <div class=\"prod_img\">\r\n                <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/pins-for-earth-moving-machines-2\/\">\r\n                    <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/PINS-FOR-EARTH-MOVING-MACHINES-2-1024x576-1-300x169.jpg\" alt=\"PINS FOR EARTH MOVING MACHINES\">\r\n                <\/a>\r\n            <\/div>\r\n            \r\n                        \r\n            <div class=\"prod_img\">\r\n                <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/pins-for-earth-moving-machines\/\">\r\n                    <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/PINS-FOR-EARTH-MOVING-MACHINES-1-300x169.jpg\" alt=\"PINS FOR EARTH MOVING MACHINES\">\r\n                <\/a>\r\n            <\/div>\r\n            \r\n                <\/div>\r\n\r\n\r\n\r\n<style>\r\n\tb{\r\n\t\twidth: 100%;\r\n\t}\r\n.prod_img{\r\n   \/* background: #f2f2f2;\r\n    padding: 20px;\r\n    border: 1px solid #ccc; *\/\r\n}\r\n.prod_img img{\r\n    border-radius: 6px;\r\n    width: 100%;\r\n    aspect-ratio: 4\/3;\r\n    object-fit: cover;\r\n\tmax-width: 100%;\r\n}\r\n\r\n<\/style>\r\n\r\n<script>\r\n     jQuery(document).ready(function () {\r\n        var owl = jQuery('.marquee-inner');\r\n        owl.owlCarousel({\r\n\t\t\tdots: false,\r\n            items: 3,\r\n            loop: true,\r\n            margin: 20,\r\n            autoplay: true,\r\n            slideTransition: 'linear',\r\n            autoplayTimeout: 0,\r\n            autoplaySpeed: 3000,\r\n            autoplayHoverPause: false,\r\n            responsiveClass:true,\r\n            responsive:{\r\n                0:{\r\n                    items:1,\r\n                },\r\n                480:{\r\n                    items:2,\r\n                },\r\n                992:{\r\n                    items:3,\r\n                }\r\n            }\r\n        });\r\n\r\n    });\r\n\r\n    \/\/*******************************************\r\n    \/\/***CODE BELOW===> This is a custom owl carousel js, you can add it by pasting the code below into a js file and use it in your website.\r\n\r\n    \/**\r\n     * Owl carousel\r\n     * @version 2.0.0\r\n     * @author Bartosz Wojciechowski\r\n     * @license The MIT License (MIT)\r\n     * @todo Lazy Load Icon\r\n     * @todo prevent animationend bubling\r\n     * @todo itemsScaleUp\r\n     * @todo Test Zepto\r\n     * @todo stagePadding calculate wrong active classes\r\n     *\/\r\n    ;(function($, window, document, undefined) {\r\n\r\n        var drag, state, e;\r\n\r\n        \/**\r\n         * Template for status information about drag and touch events.\r\n         * @private\r\n         *\/\r\n        drag = {\r\n            start: 0,\r\n            startX: 0,\r\n            startY: 0,\r\n            current: 0,\r\n            currentX: 0,\r\n            currentY: 0,\r\n            offsetX: 0,\r\n            offsetY: 0,\r\n            distance: null,\r\n            startTime: 0,\r\n            endTime: 0,\r\n            updatedX: 0,\r\n            targetEl: null\r\n        };\r\n\r\n        \/**\r\n         * Template for some status informations.\r\n         * @private\r\n         *\/\r\n        state = {\r\n            isTouch: false,\r\n            isScrolling: false,\r\n            isSwiping: false,\r\n            direction: false,\r\n            inMotion: false\r\n        };\r\n\r\n        \/**\r\n         * Event functions references.\r\n         * @private\r\n         *\/\r\n        e = {\r\n            _onDragStart: null,\r\n            _onDragMove: null,\r\n            _onDragEnd: null,\r\n            _transitionEnd: null,\r\n            _resizer: null,\r\n            _responsiveCall: null,\r\n            _goToLoop: null,\r\n            _checkVisibile: null\r\n        };\r\n\r\n        \/**\r\n         * Creates a carousel.\r\n         * @class The Owl Carousel.\r\n         * @public\r\n         * @param {HTMLElement|jQuery} element - The element to create the carousel for.\r\n         * @param {Object} [options] - The options\r\n         *\/\r\n        function Owl(element, options) {\r\n\r\n            \/**\r\n             * Current settings for the carousel.\r\n             * @public\r\n             *\/\r\n            this.settings = null;\r\n\r\n            \/**\r\n             * Current options set by the caller including defaults.\r\n             * @public\r\n             *\/\r\n            this.options = $.extend({}, Owl.Defaults, options);\r\n\r\n            \/**\r\n             * Plugin element.\r\n             * @public\r\n             *\/\r\n            this.$element = $(element);\r\n\r\n            \/**\r\n             * Caches informations about drag and touch events.\r\n             *\/\r\n            this.drag = $.extend({}, drag);\r\n\r\n            \/**\r\n             * Caches some status informations.\r\n             * @protected\r\n             *\/\r\n            this.state = $.extend({}, state);\r\n\r\n            \/**\r\n             * @protected\r\n             * @todo Must be documented\r\n             *\/\r\n            this.e = $.extend({}, e);\r\n\r\n            \/**\r\n             * References to the running plugins of this carousel.\r\n             * @protected\r\n             *\/\r\n            this._plugins = {};\r\n\r\n            \/**\r\n             * Currently suppressed events to prevent them from beeing retriggered.\r\n             * @protected\r\n             *\/\r\n            this._supress = {};\r\n\r\n            \/**\r\n             * Absolute current position.\r\n             * @protected\r\n             *\/\r\n            this._current = null;\r\n\r\n            \/**\r\n             * Animation speed in milliseconds.\r\n             * @protected\r\n             *\/\r\n            this._speed = null;\r\n\r\n            \/**\r\n             * Coordinates of all items in pixel.\r\n             * @todo The name of this member is missleading.\r\n             * @protected\r\n             *\/\r\n            this._coordinates = [];\r\n\r\n            \/**\r\n             * Current breakpoint.\r\n             * @todo Real media queries would be nice.\r\n             * @protected\r\n             *\/\r\n            this._breakpoint = null;\r\n\r\n            \/**\r\n             * Current width of the plugin element.\r\n             *\/\r\n            this._width = null;\r\n\r\n            \/**\r\n             * All real items.\r\n             * @protected\r\n             *\/\r\n            this._items = [];\r\n\r\n            \/**\r\n             * All cloned items.\r\n             * @protected\r\n             *\/\r\n            this._clones = [];\r\n\r\n            \/**\r\n             * Merge values of all items.\r\n             * @todo Maybe this could be part of a plugin.\r\n             * @protected\r\n             *\/\r\n            this._mergers = [];\r\n\r\n            \/**\r\n             * Invalidated parts within the update process.\r\n             * @protected\r\n             *\/\r\n            this._invalidated = {};\r\n\r\n            \/**\r\n             * Ordered list of workers for the update process.\r\n             * @protected\r\n             *\/\r\n            this._pipe = [];\r\n\r\n            $.each(Owl.Plugins, $.proxy(function(key, plugin) {\r\n                this._plugins[key[0].toLowerCase() + key.slice(1)]\r\n                    = new plugin(this);\r\n            }, this));\r\n\r\n            $.each(Owl.Pipe, $.proxy(function(priority, worker) {\r\n                this._pipe.push({\r\n                    'filter': worker.filter,\r\n                    'run': $.proxy(worker.run, this)\r\n                });\r\n            }, this));\r\n\r\n            this.setup();\r\n            this.initialize();\r\n        }\r\n\r\n        \/**\r\n         * Default options for the carousel.\r\n         * @public\r\n         *\/\r\n        Owl.Defaults = {\r\n            items: 3,\r\n            loop: false,\r\n            center: false,\r\n            slideTransition: '',\r\n\r\n            mouseDrag: true,\r\n            touchDrag: true,\r\n            pullDrag: true,\r\n            freeDrag: false,\r\n\r\n            margin: 0,\r\n            stagePadding: 0,\r\n\r\n            merge: false,\r\n            mergeFit: true,\r\n            autoWidth: false,\r\n\r\n            startPosition: 0,\r\n            rtl: false,\r\n\r\n            smartSpeed: 250,\r\n            fluidSpeed: false,\r\n            dragEndSpeed: false,\r\n\r\n            responsive: {},\r\n            responsiveRefreshRate: 200,\r\n            responsiveBaseElement: window,\r\n            responsiveClass: false,\r\n\r\n            fallbackEasing: 'swing',\r\n\r\n            info: false,\r\n\r\n            nestedItemSelector: false,\r\n            itemElement: 'div',\r\n            stageElement: 'div',\r\n\r\n            \/\/ Classes and Names\r\n            themeClass: 'owl-theme',\r\n            baseClass: 'owl-carousel',\r\n            itemClass: 'owl-item',\r\n            centerClass: 'center',\r\n            activeClass: 'active'\r\n            \r\n        };\r\n\r\n        \/**\r\n         * Enumeration for width.\r\n         * @public\r\n         * @readonly\r\n         * @enum {String}\r\n         *\/\r\n        Owl.Width = {\r\n            Default: 'default',\r\n            Inner: 'inner',\r\n            Outer: 'outer'\r\n        };\r\n\r\n        \/**\r\n         * Contains all registered plugins.\r\n         * @public\r\n         *\/\r\n        Owl.Plugins = {};\r\n\r\n        \/**\r\n         * Update pipe.\r\n         *\/\r\n        Owl.Pipe = [ {\r\n            filter: [ 'width', 'items', 'settings' ],\r\n            run: function(cache) {\r\n                cache.current = this._items && this._items[this.relative(this._current)];\r\n            }\r\n        }, {\r\n            filter: [ 'items', 'settings' ],\r\n            run: function() {\r\n                var cached = this._clones,\r\n                    clones = this.$stage.children('.cloned');\r\n\r\n                if (clones.length !== cached.length || (!this.settings.loop && cached.length > 0)) {\r\n                    this.$stage.children('.cloned').remove();\r\n                    this._clones = [];\r\n                }\r\n            }\r\n        }, {\r\n            filter: [ 'items', 'settings' ],\r\n            run: function() {\r\n                var i, n,\r\n                    clones = this._clones,\r\n                    items = this._items,\r\n                    delta = this.settings.loop ? clones.length - Math.max(this.settings.items * 2, 4) : 0;\r\n\r\n                for (i = 0, n = Math.abs(delta \/ 2); i < n; i++) {\r\n                    if (delta > 0) {\r\n                        this.$stage.children().eq(items.length + clones.length - 1).remove();\r\n                        clones.pop();\r\n                        this.$stage.children().eq(0).remove();\r\n                        clones.pop();\r\n                    } else {\r\n                        clones.push(clones.length \/ 2);\r\n                        this.$stage.append(items[clones[clones.length - 1]].clone().addClass('cloned'));\r\n                        clones.push(items.length - 1 - (clones.length - 1) \/ 2);\r\n                        this.$stage.prepend(items[clones[clones.length - 1]].clone().addClass('cloned'));\r\n                    }\r\n                }\r\n            }\r\n        }, {\r\n            filter: [ 'width', 'items', 'settings' ],\r\n            run: function() {\r\n                var rtl = (this.settings.rtl ? 1 : -1),\r\n                    width = (this.width() \/ this.settings.items).toFixed(3),\r\n                    coordinate = 0, merge, i, n;\r\n\r\n                this._coordinates = [];\r\n                for (i = 0, n = this._clones.length + this._items.length; i < n; i++) {\r\n                    merge = this._mergers[this.relative(i)];\r\n                    merge = (this.settings.mergeFit && Math.min(merge, this.settings.items)) || merge;\r\n                    coordinate += (this.settings.autoWidth ? this._items[this.relative(i)].width() + this.settings.margin : width * merge) * rtl;\r\n\r\n                    this._coordinates.push(coordinate);\r\n                }\r\n            }\r\n        }, {\r\n            filter: [ 'width', 'items', 'settings' ],\r\n            run: function() {\r\n                var i, n, width = (this.width() \/ this.settings.items).toFixed(3), css = {\r\n                    'width': Math.abs(this._coordinates[this._coordinates.length - 1]) + this.settings.stagePadding * 2,\r\n                    'padding-left': this.settings.stagePadding || '',\r\n                    'padding-right': this.settings.stagePadding || ''\r\n                };\r\n\r\n                this.$stage.css(css);\r\n\r\n                css = { 'width': this.settings.autoWidth ? 'auto' : width - this.settings.margin };\r\n                css[this.settings.rtl ? 'margin-left' : 'margin-right'] = this.settings.margin;\r\n\r\n                if (!this.settings.autoWidth && $.grep(this._mergers, function(v) { return v > 1 }).length > 0) {\r\n                    for (i = 0, n = this._coordinates.length; i < n; i++) {\r\n                        css.width = Math.abs(this._coordinates[i]) - Math.abs(this._coordinates[i - 1] || 0) - this.settings.margin;\r\n                        this.$stage.children().eq(i).css(css);\r\n                    }\r\n                } else {\r\n                    this.$stage.children().css(css);\r\n                }\r\n            }\r\n        }, {\r\n            filter: [ 'width', 'items', 'settings' ],\r\n            run: function(cache) {\r\n                cache.current && this.reset(this.$stage.children().index(cache.current));\r\n            }\r\n        }, {\r\n            filter: [ 'position' ],\r\n            run: function() {\r\n                this.animate(this.coordinates(this._current));\r\n            }\r\n        }, {\r\n            filter: [ 'width', 'position', 'items', 'settings' ],\r\n            run: function() {\r\n                var rtl = this.settings.rtl ? 1 : -1,\r\n                    padding = this.settings.stagePadding * 2,\r\n                    begin = this.coordinates(this.current()) + padding,\r\n                    end = begin + this.width() * rtl,\r\n                    inner, outer, matches = [], i, n;\r\n\r\n                for (i = 0, n = this._coordinates.length; i < n; i++) {\r\n                    inner = this._coordinates[i - 1] || 0;\r\n                    outer = Math.abs(this._coordinates[i]) + padding * rtl;\r\n\r\n                    if ((this.op(inner, '<=', begin) && (this.op(inner, '>', end)))\r\n                        || (this.op(outer, '<', begin) && this.op(outer, '>', end))) {\r\n                        matches.push(i);\r\n                    }\r\n                }\r\n\r\n                this.$stage.children('.' + this.settings.activeClass).removeClass(this.settings.activeClass);\r\n                this.$stage.children(':eq(' + matches.join('), :eq(') + ')').addClass(this.settings.activeClass);\r\n\r\n                if (this.settings.center) {\r\n                    this.$stage.children('.' + this.settings.centerClass).removeClass(this.settings.centerClass);\r\n                    this.$stage.children().eq(this.current()).addClass(this.settings.centerClass);\r\n                }\r\n            }\r\n        } ];\r\n\r\n        \/**\r\n         * Initializes the carousel.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.initialize = function() {\r\n            this.trigger('initialize');\r\n\r\n            this.$element\r\n                .addClass(this.settings.baseClass)\r\n                .addClass(this.settings.themeClass)\r\n                .toggleClass('owl-rtl', this.settings.rtl);\r\n\r\n            \/\/ check support\r\n            this.browserSupport();\r\n\r\n            if (this.settings.autoWidth && this.state.imagesLoaded !== true) {\r\n                var imgs, nestedSelector, width;\r\n                imgs = this.$element.find('img');\r\n                nestedSelector = this.settings.nestedItemSelector ? '.' + this.settings.nestedItemSelector : undefined;\r\n                width = this.$element.children(nestedSelector).width();\r\n\r\n                if (imgs.length && width <= 0) {\r\n                    this.preloadAutoWidthImages(imgs);\r\n                    return false;\r\n                }\r\n            }\r\n\r\n            this.$element.addClass('owl-loading');\r\n\r\n            \/\/ create stage\r\n            this.$stage = $('<' + this.settings.stageElement + ' class=\"owl-stage\"\/>')\r\n                .wrap('<div class=\"owl-stage-outer\">');\r\n\r\n            \/\/ append stage\r\n            this.$element.append(this.$stage.parent());\r\n\r\n            \/\/ append content\r\n            this.replace(this.$element.children().not(this.$stage.parent()));\r\n\r\n            \/\/ set view width\r\n            this._width = this.$element.width();\r\n\r\n            \/\/ update view\r\n            this.refresh();\r\n\r\n            this.$element.removeClass('owl-loading').addClass('owl-loaded');\r\n\r\n            \/\/ attach generic events\r\n            this.eventsCall();\r\n\r\n            \/\/ attach generic events\r\n            this.internalEvents();\r\n\r\n            \/\/ attach custom control events\r\n            this.addTriggerableEvents();\r\n\r\n            this.trigger('initialized');\r\n        };\r\n\r\n        \/**\r\n         * Setups the current settings.\r\n         * @todo Remove responsive classes. Why should adaptive designs be brought into IE8?\r\n         * @todo Support for media queries by using `matchMedia` would be nice.\r\n         * @public\r\n         *\/\r\n        Owl.prototype.setup = function() {\r\n            var viewport = this.viewport(),\r\n                overwrites = this.options.responsive,\r\n                match = -1,\r\n                settings = null;\r\n\r\n            if (!overwrites) {\r\n                settings = $.extend({}, this.options);\r\n            } else {\r\n                $.each(overwrites, function(breakpoint) {\r\n                    if (breakpoint <= viewport && breakpoint > match) {\r\n                        match = Number(breakpoint);\r\n                    }\r\n                });\r\n\r\n                settings = $.extend({}, this.options, overwrites[match]);\r\n                delete settings.responsive;\r\n\r\n                \/\/ responsive class\r\n                if (settings.responsiveClass) {\r\n                    this.$element.attr('class', function(i, c) {\r\n                        return c.replace(\/\\b owl-responsive-\\S+\/g, '');\r\n                    }).addClass('owl-responsive-' + match);\r\n                }\r\n            }\r\n\r\n            if (this.settings === null || this._breakpoint !== match) {\r\n                this.trigger('change', { property: { name: 'settings', value: settings } });\r\n                this._breakpoint = match;\r\n                this.settings = settings;\r\n                this.invalidate('settings');\r\n                this.trigger('changed', { property: { name: 'settings', value: this.settings } });\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Updates option logic if necessery.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.optionsLogic = function() {\r\n            \/\/ Toggle Center class\r\n            this.$element.toggleClass('owl-center', this.settings.center);\r\n\r\n            \/\/ if items number is less than in body\r\n            if (this.settings.loop && this._items.length < this.settings.items) {\r\n                this.settings.loop = false;\r\n            }\r\n\r\n            if (this.settings.autoWidth) {\r\n                this.settings.stagePadding = false;\r\n                this.settings.merge = false;\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Prepares an item before add.\r\n         * @todo Rename event parameter `content` to `item`.\r\n         * @protected\r\n         * @returns {jQuery|HTMLElement} - The item container.\r\n         *\/\r\n        Owl.prototype.prepare = function(item) {\r\n            var event = this.trigger('prepare', { content: item });\r\n\r\n            if (!event.data) {\r\n                event.data = $('<' + this.settings.itemElement + '\/>')\r\n                    .addClass(this.settings.itemClass).append(item)\r\n            }\r\n\r\n            this.trigger('prepared', { content: event.data });\r\n\r\n            return event.data;\r\n        };\r\n\r\n        \/**\r\n         * Updates the view.\r\n         * @public\r\n         *\/\r\n        Owl.prototype.update = function() {\r\n            var i = 0,\r\n                n = this._pipe.length,\r\n                filter = $.proxy(function(p) { return this[p] }, this._invalidated),\r\n                cache = {};\r\n\r\n            while (i < n) {\r\n                if (this._invalidated.all || $.grep(this._pipe[i].filter, filter).length > 0) {\r\n                    this._pipe[i].run(cache);\r\n                }\r\n                i++;\r\n            }\r\n\r\n            this._invalidated = {};\r\n        };\r\n\r\n        \/**\r\n         * Gets the width of the view.\r\n         * @public\r\n         * @param {Owl.Width} [dimension=Owl.Width.Default] - The dimension to return.\r\n         * @returns {Number} - The width of the view in pixel.\r\n         *\/\r\n        Owl.prototype.width = function(dimension) {\r\n            dimension = dimension || Owl.Width.Default;\r\n            switch (dimension) {\r\n                case Owl.Width.Inner:\r\n                case Owl.Width.Outer:\r\n                    return this._width;\r\n                default:\r\n                    return this._width - this.settings.stagePadding * 2 + this.settings.margin;\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Refreshes the carousel primarily for adaptive purposes.\r\n         * @public\r\n         *\/\r\n        Owl.prototype.refresh = function() {\r\n            if (this._items.length === 0) {\r\n                return false;\r\n            }\r\n\r\n            var start = new Date().getTime();\r\n\r\n            this.trigger('refresh');\r\n\r\n            this.setup();\r\n\r\n            this.optionsLogic();\r\n\r\n            \/\/ hide and show methods helps here to set a proper widths,\r\n            \/\/ this prevents scrollbar to be calculated in stage width\r\n            this.$stage.addClass('owl-refresh');\r\n\r\n            this.update();\r\n\r\n            this.$stage.removeClass('owl-refresh');\r\n\r\n            this.state.orientation = window.orientation;\r\n\r\n            this.watchVisibility();\r\n\r\n            this.trigger('refreshed');\r\n        };\r\n\r\n        \/**\r\n         * Save internal event references and add event based functions.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.eventsCall = function() {\r\n            \/\/ Save events references\r\n            this.e._onDragStart = $.proxy(function(e) {\r\n                this.onDragStart(e);\r\n            }, this);\r\n            this.e._onDragMove = $.proxy(function(e) {\r\n                this.onDragMove(e);\r\n            }, this);\r\n            this.e._onDragEnd = $.proxy(function(e) {\r\n                this.onDragEnd(e);\r\n            }, this);\r\n            this.e._onResize = $.proxy(function(e) {\r\n                this.onResize(e);\r\n            }, this);\r\n            this.e._transitionEnd = $.proxy(function(e) {\r\n                this.transitionEnd(e);\r\n            }, this);\r\n            this.e._preventClick = $.proxy(function(e) {\r\n                this.preventClick(e);\r\n            }, this);\r\n        };\r\n\r\n        \/**\r\n         * Checks window `resize` event.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.onThrottledResize = function() {\r\n            window.clearTimeout(this.resizeTimer);\r\n            this.resizeTimer = window.setTimeout(this.e._onResize, this.settings.responsiveRefreshRate);\r\n        };\r\n\r\n        \/**\r\n         * Checks window `resize` event.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.onResize = function() {\r\n            if (!this._items.length) {\r\n                return false;\r\n            }\r\n\r\n            if (this._width === this.$element.width()) {\r\n                return false;\r\n            }\r\n\r\n            if (this.trigger('resize').isDefaultPrevented()) {\r\n                return false;\r\n            }\r\n\r\n            this._width = this.$element.width();\r\n\r\n            this.invalidate('width');\r\n\r\n            this.refresh();\r\n\r\n            this.trigger('resized');\r\n        };\r\n\r\n        \/**\r\n         * Checks for touch\/mouse drag event type and add run event handlers.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.eventsRouter = function(event) {\r\n            var type = event.type;\r\n\r\n            if (type === \"mousedown\" || type === \"touchstart\") {\r\n                this.onDragStart(event);\r\n            } else if (type === \"mousemove\" || type === \"touchmove\") {\r\n                this.onDragMove(event);\r\n            } else if (type === \"mouseup\" || type === \"touchend\") {\r\n                this.onDragEnd(event);\r\n            } else if (type === \"touchcancel\") {\r\n                this.onDragEnd(event);\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Checks for touch\/mouse drag options and add necessery event handlers.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.internalEvents = function() {\r\n            var isTouch = isTouchSupport(),\r\n                isTouchIE = isTouchSupportIE();\r\n\r\n            if (this.settings.mouseDrag){\r\n                this.$stage.on('mousedown', $.proxy(function(event) { this.eventsRouter(event) }, this));\r\n                this.$stage.on('dragstart', function() { return false });\r\n                this.$stage.get(0).onselectstart = function() { return false };\r\n            } else {\r\n                this.$element.addClass('owl-text-select-on');\r\n            }\r\n\r\n            if (this.settings.touchDrag && !isTouchIE){\r\n                this.$stage.on('touchstart touchcancel', $.proxy(function(event) { this.eventsRouter(event) }, this));\r\n            }\r\n\r\n            \/\/ catch transitionEnd event\r\n            if (this.transitionEndVendor) {\r\n                this.on(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd, false);\r\n            }\r\n\r\n            \/\/ responsive\r\n            if (this.settings.responsive !== false) {\r\n                this.on(window, 'resize', $.proxy(this.onThrottledResize, this));\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Handles touchstart\/mousedown event.\r\n         * @protected\r\n         * @param {Event} event - The event arguments.\r\n         *\/\r\n        Owl.prototype.onDragStart = function(event) {\r\n            var ev, isTouchEvent, pageX, pageY, animatedPos;\r\n\r\n            ev = event.originalEvent || event || window.event;\r\n\r\n            \/\/ prevent right click\r\n            if (ev.which === 3 || this.state.isTouch) {\r\n                return false;\r\n            }\r\n\r\n            if (ev.type === 'mousedown') {\r\n                this.$stage.addClass('owl-grab');\r\n            }\r\n\r\n            this.trigger('drag');\r\n            this.drag.startTime = new Date().getTime();\r\n            this.speed(0);\r\n            this.state.isTouch = true;\r\n            this.state.isScrolling = false;\r\n            this.state.isSwiping = false;\r\n            this.drag.distance = 0;\r\n\r\n            pageX = getTouches(ev).x;\r\n            pageY = getTouches(ev).y;\r\n\r\n            \/\/ get stage position left\r\n            this.drag.offsetX = this.$stage.position().left;\r\n            this.drag.offsetY = this.$stage.position().top;\r\n\r\n            if (this.settings.rtl) {\r\n                this.drag.offsetX = this.$stage.position().left + this.$stage.width() - this.width()\r\n                    + this.settings.margin;\r\n            }\r\n\r\n            \/\/ catch position \/\/ ie to fix\r\n            if (this.state.inMotion && this.support3d) {\r\n                animatedPos = this.getTransformProperty();\r\n                this.drag.offsetX = animatedPos;\r\n                this.animate(animatedPos);\r\n                this.state.inMotion = true;\r\n            } else if (this.state.inMotion && !this.support3d) {\r\n                this.state.inMotion = false;\r\n                return false;\r\n            }\r\n\r\n            this.drag.startX = pageX - this.drag.offsetX;\r\n            this.drag.startY = pageY - this.drag.offsetY;\r\n\r\n            this.drag.start = pageX - this.drag.startX;\r\n            this.drag.targetEl = ev.target || ev.srcElement;\r\n            this.drag.updatedX = this.drag.start;\r\n\r\n            \/\/ to do\/check\r\n            \/\/ prevent links and images dragging;\r\n            if (this.drag.targetEl.tagName === \"IMG\" || this.drag.targetEl.tagName === \"A\") {\r\n                this.drag.targetEl.draggable = false;\r\n            }\r\n\r\n            $(document).on('mousemove.owl.dragEvents mouseup.owl.dragEvents touchmove.owl.dragEvents touchend.owl.dragEvents', $.proxy(function(event) {this.eventsRouter(event)},this));\r\n        };\r\n\r\n        \/**\r\n         * Handles the touchmove\/mousemove events.\r\n         * @todo Simplify\r\n         * @protected\r\n         * @param {Event} event - The event arguments.\r\n         *\/\r\n        Owl.prototype.onDragMove = function(event) {\r\n            var ev, isTouchEvent, pageX, pageY, minValue, maxValue, pull;\r\n\r\n            if (!this.state.isTouch) {\r\n                return;\r\n            }\r\n\r\n            if (this.state.isScrolling) {\r\n                return;\r\n            }\r\n\r\n            ev = event.originalEvent || event || window.event;\r\n\r\n            pageX = getTouches(ev).x;\r\n            pageY = getTouches(ev).y;\r\n\r\n            \/\/ Drag Direction\r\n            this.drag.currentX = pageX - this.drag.startX;\r\n            this.drag.currentY = pageY - this.drag.startY;\r\n            this.drag.distance = this.drag.currentX - this.drag.offsetX;\r\n\r\n            \/\/ Check move direction\r\n            if (this.drag.distance < 0) {\r\n                this.state.direction = this.settings.rtl ? 'right' : 'left';\r\n            } else if (this.drag.distance > 0) {\r\n                this.state.direction = this.settings.rtl ? 'left' : 'right';\r\n            }\r\n            \/\/ Loop\r\n            if (this.settings.loop) {\r\n                if (this.op(this.drag.currentX, '>', this.coordinates(this.minimum())) && this.state.direction === 'right') {\r\n                    this.drag.currentX -= (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length);\r\n                } else if (this.op(this.drag.currentX, '<', this.coordinates(this.maximum())) && this.state.direction === 'left') {\r\n                    this.drag.currentX += (this.settings.center && this.coordinates(0)) - this.coordinates(this._items.length);\r\n                }\r\n            } else {\r\n                \/\/ pull\r\n                minValue = this.settings.rtl ? this.coordinates(this.maximum()) : this.coordinates(this.minimum());\r\n                maxValue = this.settings.rtl ? this.coordinates(this.minimum()) : this.coordinates(this.maximum());\r\n                pull = this.settings.pullDrag ? this.drag.distance \/ 5 : 0;\r\n                this.drag.currentX = Math.max(Math.min(this.drag.currentX, minValue + pull), maxValue + pull);\r\n            }\r\n\r\n            \/\/ Lock browser if swiping horizontal\r\n\r\n            if ((this.drag.distance > 8 || this.drag.distance < -8)) {\r\n                if (ev.preventDefault !== undefined) {\r\n                    ev.preventDefault();\r\n                } else {\r\n                    ev.returnValue = false;\r\n                }\r\n                this.state.isSwiping = true;\r\n            }\r\n\r\n            this.drag.updatedX = this.drag.currentX;\r\n\r\n            \/\/ Lock Owl if scrolling\r\n            if ((this.drag.currentY > 16 || this.drag.currentY < -16) && this.state.isSwiping === false) {\r\n                this.state.isScrolling = true;\r\n                this.drag.updatedX = this.drag.start;\r\n            }\r\n\r\n            this.animate(this.drag.updatedX);\r\n        };\r\n\r\n        \/**\r\n         * Handles the touchend\/mouseup events.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.onDragEnd = function(event) {\r\n            var compareTimes, distanceAbs, closest;\r\n\r\n            if (!this.state.isTouch) {\r\n                return;\r\n            }\r\n\r\n            if (event.type === 'mouseup') {\r\n                this.$stage.removeClass('owl-grab');\r\n            }\r\n\r\n            this.trigger('dragged');\r\n\r\n            \/\/ prevent links and images dragging;\r\n            this.drag.targetEl.removeAttribute(\"draggable\");\r\n\r\n            \/\/ remove drag event listeners\r\n\r\n            this.state.isTouch = false;\r\n            this.state.isScrolling = false;\r\n            this.state.isSwiping = false;\r\n\r\n            \/\/ to check\r\n            if (this.drag.distance === 0 && this.state.inMotion !== true) {\r\n                this.state.inMotion = false;\r\n                return false;\r\n            }\r\n\r\n            \/\/ prevent clicks while scrolling\r\n\r\n            this.drag.endTime = new Date().getTime();\r\n            compareTimes = this.drag.endTime - this.drag.startTime;\r\n            distanceAbs = Math.abs(this.drag.distance);\r\n\r\n            \/\/ to test\r\n            if (distanceAbs > 3 || compareTimes > 300) {\r\n                this.removeClick(this.drag.targetEl);\r\n            }\r\n\r\n            closest = this.closest(this.drag.updatedX);\r\n\r\n            this.speed(this.settings.dragEndSpeed || this.settings.smartSpeed);\r\n            this.current(closest);\r\n            this.invalidate('position');\r\n            this.update();\r\n\r\n            \/\/ if pullDrag is off then fire transitionEnd event manually when stick\r\n            \/\/ to border\r\n            if (!this.settings.pullDrag && this.drag.updatedX === this.coordinates(closest)) {\r\n                this.transitionEnd();\r\n            }\r\n\r\n            this.drag.distance = 0;\r\n\r\n            $(document).off('.owl.dragEvents');\r\n        };\r\n\r\n        \/**\r\n         * Attaches `preventClick` to disable link while swipping.\r\n         * @protected\r\n         * @param {HTMLElement} [target] - The target of the `click` event.\r\n         *\/\r\n        Owl.prototype.removeClick = function(target) {\r\n            this.drag.targetEl = target;\r\n            $(target).on('click.preventClick', this.e._preventClick);\r\n            \/\/ to make sure click is removed:\r\n            window.setTimeout(function() {\r\n                $(target).off('click.preventClick');\r\n            }, 300);\r\n        };\r\n\r\n        \/**\r\n         * Suppresses click event.\r\n         * @protected\r\n         * @param {Event} ev - The event arguments.\r\n         *\/\r\n        Owl.prototype.preventClick = function(ev) {\r\n            if (ev.preventDefault) {\r\n                ev.preventDefault();\r\n            } else {\r\n                ev.returnValue = false;\r\n            }\r\n            if (ev.stopPropagation) {\r\n                ev.stopPropagation();\r\n            }\r\n            $(ev.target).off('click.preventClick');\r\n        };\r\n\r\n        \/**\r\n         * Catches stage position while animate (only CSS3).\r\n         * @protected\r\n         * @returns\r\n         *\/\r\n        Owl.prototype.getTransformProperty = function() {\r\n            var transform, matrix3d;\r\n\r\n            transform = window.getComputedStyle(this.$stage.get(0), null).getPropertyValue(this.vendorName + 'transform');\r\n            \/\/ var transform = this.$stage.css(this.vendorName + 'transform')\r\n            transform = transform.replace(\/matrix(3d)?\\(|\\)\/g, '').split(',');\r\n            matrix3d = transform.length === 16;\r\n\r\n            return matrix3d !== true ? transform[4] : transform[12];\r\n        };\r\n\r\n        \/**\r\n         * Gets absolute position of the closest item for a coordinate.\r\n         * @todo Setting `freeDrag` makes `closest` not reusable. See #165.\r\n         * @protected\r\n         * @param {Number} coordinate - The coordinate in pixel.\r\n         * @return {Number} - The absolute position of the closest item.\r\n         *\/\r\n        Owl.prototype.closest = function(coordinate) {\r\n            var position = -1, pull = 30, width = this.width(), coordinates = this.coordinates();\r\n\r\n            if (!this.settings.freeDrag) {\r\n                \/\/ check closest item\r\n                $.each(coordinates, $.proxy(function(index, value) {\r\n                    if (coordinate > value - pull && coordinate < value + pull) {\r\n                        position = index;\r\n                    } else if (this.op(coordinate, '<', value)\r\n                        && this.op(coordinate, '>', coordinates[index + 1] || value - width)) {\r\n                        position = this.state.direction === 'left' ? index + 1 : index;\r\n                    }\r\n                    return position === -1;\r\n                }, this));\r\n            }\r\n\r\n            if (!this.settings.loop) {\r\n                \/\/ non loop boundries\r\n                if (this.op(coordinate, '>', coordinates[this.minimum()])) {\r\n                    position = coordinate = this.minimum();\r\n                } else if (this.op(coordinate, '<', coordinates[this.maximum()])) {\r\n                    position = coordinate = this.maximum();\r\n                }\r\n            }\r\n\r\n            return position;\r\n        };\r\n\r\n        \/**\r\n         * Animates the stage.\r\n         * @public\r\n         * @param {Number} coordinate - The coordinate in pixels.\r\n         *\/\r\n        Owl.prototype.animate = function(coordinate) {\r\n            this.trigger('translate');\r\n            this.state.inMotion = this.speed() > 0;\r\n\r\n            if (this.support3d) {\r\n                this.$stage.css({\r\n                    transform: 'translate3d(' + coordinate + 'px' + ',0px, 0px)',\r\n                    transition: (this.speed() \/ 1000) + 's ' + this.settings.slideTransition\r\n                });\r\n            } else if (this.state.isTouch) {\r\n                this.$stage.css({\r\n                    left: coordinate + 'px'\r\n                });\r\n            } else {\r\n                this.$stage.animate({\r\n                    left: coordinate\r\n                }, this.speed() \/ 1000, this.settings.fallbackEasing, $.proxy(function() {\r\n                    if (this.state.inMotion) {\r\n                        this.transitionEnd();\r\n                    }\r\n                }, this));\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Sets the absolute position of the current item.\r\n         * @public\r\n         * @param {Number} [position] - The new absolute position or nothing to leave it unchanged.\r\n         * @returns {Number} - The absolute position of the current item.\r\n         *\/\r\n        Owl.prototype.current = function(position) {\r\n            if (position === undefined) {\r\n                return this._current;\r\n            }\r\n\r\n            if (this._items.length === 0) {\r\n                return undefined;\r\n            }\r\n\r\n            position = this.normalize(position);\r\n\r\n            if (this._current !== position) {\r\n                var event = this.trigger('change', { property: { name: 'position', value: position } });\r\n\r\n                if (event.data !== undefined) {\r\n                    position = this.normalize(event.data);\r\n                }\r\n\r\n                this._current = position;\r\n\r\n                this.invalidate('position');\r\n\r\n                this.trigger('changed', { property: { name: 'position', value: this._current } });\r\n            }\r\n\r\n            return this._current;\r\n        };\r\n\r\n        \/**\r\n         * Invalidates the given part of the update routine.\r\n         * @param {String} part - The part to invalidate.\r\n         *\/\r\n        Owl.prototype.invalidate = function(part) {\r\n            this._invalidated[part] = true;\r\n        }\r\n\r\n        \/**\r\n         * Resets the absolute position of the current item.\r\n         * @public\r\n         * @param {Number} position - The absolute position of the new item.\r\n         *\/\r\n        Owl.prototype.reset = function(position) {\r\n            position = this.normalize(position);\r\n\r\n            if (position === undefined) {\r\n                return;\r\n            }\r\n\r\n            this._speed = 0;\r\n            this._current = position;\r\n\r\n            this.suppress([ 'translate', 'translated' ]);\r\n\r\n            this.animate(this.coordinates(position));\r\n\r\n            this.release([ 'translate', 'translated' ]);\r\n        };\r\n\r\n        \/**\r\n         * Normalizes an absolute or a relative position for an item.\r\n         * @public\r\n         * @param {Number} position - The absolute or relative position to normalize.\r\n         * @param {Boolean} [relative=false] - Whether the given position is relative or not.\r\n         * @returns {Number} - The normalized position.\r\n         *\/\r\n        Owl.prototype.normalize = function(position, relative) {\r\n            var n = (relative ? this._items.length : this._items.length + this._clones.length);\r\n\r\n            if (!$.isNumeric(position) || n < 1) {\r\n                return undefined;\r\n            }\r\n\r\n            if (this._clones.length) {\r\n                position = ((position % n) + n) % n;\r\n            } else {\r\n                position = Math.max(this.minimum(relative), Math.min(this.maximum(relative), position));\r\n            }\r\n\r\n            return position;\r\n        };\r\n\r\n        \/**\r\n         * Converts an absolute position for an item into a relative position.\r\n         * @public\r\n         * @param {Number} position - The absolute position to convert.\r\n         * @returns {Number} - The converted position.\r\n         *\/\r\n        Owl.prototype.relative = function(position) {\r\n            position = this.normalize(position);\r\n            position = position - this._clones.length \/ 2;\r\n            return this.normalize(position, true);\r\n        };\r\n\r\n        \/**\r\n         * Gets the maximum position for an item.\r\n         * @public\r\n         * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\r\n         * @returns {Number}\r\n         *\/\r\n        Owl.prototype.maximum = function(relative) {\r\n            var maximum, width, i = 0, coordinate,\r\n                settings = this.settings;\r\n\r\n            if (relative) {\r\n                return this._items.length - 1;\r\n            }\r\n\r\n            if (!settings.loop && settings.center) {\r\n                maximum = this._items.length - 1;\r\n            } else if (!settings.loop && !settings.center) {\r\n                maximum = this._items.length - settings.items;\r\n            } else if (settings.loop || settings.center) {\r\n                maximum = this._items.length + settings.items;\r\n            } else if (settings.autoWidth || settings.merge) {\r\n                revert = settings.rtl ? 1 : -1;\r\n                width = this.$stage.width() - this.$element.width();\r\n                while (coordinate = this.coordinates(i)) {\r\n                    if (coordinate * revert >= width) {\r\n                        break;\r\n                    }\r\n                    maximum = ++i;\r\n                }\r\n            } else {\r\n                throw 'Can not detect maximum absolute position.'\r\n            }\r\n\r\n            return maximum;\r\n        };\r\n\r\n        \/**\r\n         * Gets the minimum position for an item.\r\n         * @public\r\n         * @param {Boolean} [relative=false] - Whether to return an absolute position or a relative position.\r\n         * @returns {Number}\r\n         *\/\r\n        Owl.prototype.minimum = function(relative) {\r\n            if (relative) {\r\n                return 0;\r\n            }\r\n\r\n            return this._clones.length \/ 2;\r\n        };\r\n\r\n        \/**\r\n         * Gets an item at the specified relative position.\r\n         * @public\r\n         * @param {Number} [position] - The relative position of the item.\r\n         * @return {jQuery|Array.<jQuery>} - The item at the given position or all items if no position was given.\r\n         *\/\r\n        Owl.prototype.items = function(position) {\r\n            if (position === undefined) {\r\n                return this._items.slice();\r\n            }\r\n\r\n            position = this.normalize(position, true);\r\n            return this._items[position];\r\n        };\r\n\r\n        \/**\r\n         * Gets an item at the specified relative position.\r\n         * @public\r\n         * @param {Number} [position] - The relative position of the item.\r\n         * @return {jQuery|Array.<jQuery>} - The item at the given position or all items if no position was given.\r\n         *\/\r\n        Owl.prototype.mergers = function(position) {\r\n            if (position === undefined) {\r\n                return this._mergers.slice();\r\n            }\r\n\r\n            position = this.normalize(position, true);\r\n            return this._mergers[position];\r\n        };\r\n\r\n        \/**\r\n         * Gets the absolute positions of clones for an item.\r\n         * @public\r\n         * @param {Number} [position] - The relative position of the item.\r\n         * @returns {Array.<Number>} - The absolute positions of clones for the item or all if no position was given.\r\n         *\/\r\n        Owl.prototype.clones = function(position) {\r\n            var odd = this._clones.length \/ 2,\r\n                even = odd + this._items.length,\r\n                map = function(index) { return index % 2 === 0 ? even + index \/ 2 : odd - (index + 1) \/ 2 };\r\n\r\n            if (position === undefined) {\r\n                return $.map(this._clones, function(v, i) { return map(i) });\r\n            }\r\n\r\n            return $.map(this._clones, function(v, i) { return v === position ? map(i) : null });\r\n        };\r\n\r\n        \/**\r\n         * Sets the current animation speed.\r\n         * @public\r\n         * @param {Number} [speed] - The animation speed in milliseconds or nothing to leave it unchanged.\r\n         * @returns {Number} - The current animation speed in milliseconds.\r\n         *\/\r\n        Owl.prototype.speed = function(speed) {\r\n            if (speed !== undefined) {\r\n                this._speed = speed;\r\n            }\r\n\r\n            return this._speed;\r\n        };\r\n\r\n        \/**\r\n         * Gets the coordinate of an item.\r\n         * @todo The name of this method is missleanding.\r\n         * @public\r\n         * @param {Number} position - The absolute position of the item within `minimum()` and `maximum()`.\r\n         * @returns {Number|Array.<Number>} - The coordinate of the item in pixel or all coordinates.\r\n         *\/\r\n        Owl.prototype.coordinates = function(position) {\r\n            var coordinate = null;\r\n\r\n            if (position === undefined) {\r\n                return $.map(this._coordinates, $.proxy(function(coordinate, index) {\r\n                    return this.coordinates(index);\r\n                }, this));\r\n            }\r\n\r\n            if (this.settings.center) {\r\n                coordinate = this._coordinates[position];\r\n                coordinate += (this.width() - coordinate + (this._coordinates[position - 1] || 0)) \/ 2 * (this.settings.rtl ? -1 : 1);\r\n            } else {\r\n                coordinate = this._coordinates[position - 1] || 0;\r\n            }\r\n\r\n            return coordinate;\r\n        };\r\n\r\n        \/**\r\n         * Calculates the speed for a translation.\r\n         * @protected\r\n         * @param {Number} from - The absolute position of the start item.\r\n         * @param {Number} to - The absolute position of the target item.\r\n         * @param {Number} [factor=undefined] - The time factor in milliseconds.\r\n         * @returns {Number} - The time in milliseconds for the translation.\r\n         *\/\r\n        Owl.prototype.duration = function(from, to, factor) {\r\n            return Math.min(Math.max(Math.abs(to - from), 1), 6) * Math.abs((factor || this.settings.smartSpeed));\r\n        };\r\n\r\n        \/**\r\n         * Slides to the specified item.\r\n         * @public\r\n         * @param {Number} position - The position of the item.\r\n         * @param {Number} [speed] - The time in milliseconds for the transition.\r\n         *\/\r\n        Owl.prototype.to = function(position, speed) {\r\n            if (this.settings.loop) {\r\n                var distance = position - this.relative(this.current()),\r\n                    revert = this.current(),\r\n                    before = this.current(),\r\n                    after = this.current() + distance,\r\n                    direction = before - after < 0 ? true : false,\r\n                    items = this._clones.length + this._items.length;\r\n\r\n                if (after < this.settings.items && direction === false) {\r\n                    revert = before + this._items.length;\r\n                    this.reset(revert);\r\n                } else if (after >= items - this.settings.items && direction === true) {\r\n                    revert = before - this._items.length;\r\n                    this.reset(revert);\r\n                }\r\n                window.clearTimeout(this.e._goToLoop);\r\n                this.e._goToLoop = window.setTimeout($.proxy(function() {\r\n                    this.speed(this.duration(this.current(), revert + distance, speed));\r\n                    this.current(revert + distance);\r\n                    this.update();\r\n                }, this), 30);\r\n            } else {\r\n                this.speed(this.duration(this.current(), position, speed));\r\n                this.current(position);\r\n                this.update();\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Slides to the next item.\r\n         * @public\r\n         * @param {Number} [speed] - The time in milliseconds for the transition.\r\n         *\/\r\n        Owl.prototype.next = function(speed) {\r\n            speed = speed || false;\r\n            this.to(this.relative(this.current()) + 1, speed);\r\n        };\r\n\r\n        \/**\r\n         * Slides to the previous item.\r\n         * @public\r\n         * @param {Number} [speed] - The time in milliseconds for the transition.\r\n         *\/\r\n        Owl.prototype.prev = function(speed) {\r\n            speed = speed || false;\r\n            this.to(this.relative(this.current()) - 1, speed);\r\n        };\r\n\r\n        \/**\r\n         * Handles the end of an animation.\r\n         * @protected\r\n         * @param {Event} event - The event arguments.\r\n         *\/\r\n        Owl.prototype.transitionEnd = function(event) {\r\n\r\n            \/\/ if css2 animation then event object is undefined\r\n            if (event !== undefined) {\r\n                event.stopPropagation();\r\n\r\n                \/\/ Catch only owl-stage transitionEnd event\r\n                if ((event.target || event.srcElement || event.originalTarget) !== this.$stage.get(0)) {\r\n                    return false;\r\n                }\r\n            }\r\n\r\n            this.state.inMotion = false;\r\n            this.trigger('translated');\r\n        };\r\n\r\n        \/**\r\n         * Gets viewport width.\r\n         * @protected\r\n         * @return {Number} - The width in pixel.\r\n         *\/\r\n        Owl.prototype.viewport = function() {\r\n            var width;\r\n            if (this.options.responsiveBaseElement !== window) {\r\n                width = $(this.options.responsiveBaseElement).width();\r\n            } else if (window.innerWidth) {\r\n                width = window.innerWidth;\r\n            } else if (document.documentElement && document.documentElement.clientWidth) {\r\n                width = document.documentElement.clientWidth;\r\n            } else {\r\n                throw 'Can not detect viewport width.';\r\n            }\r\n            return width;\r\n        };\r\n\r\n        \/**\r\n         * Replaces the current content.\r\n         * @public\r\n         * @param {HTMLElement|jQuery|String} content - The new content.\r\n         *\/\r\n        Owl.prototype.replace = function(content) {\r\n            this.$stage.empty();\r\n            this._items = [];\r\n\r\n            if (content) {\r\n                content = (content instanceof jQuery) ? content : $(content);\r\n            }\r\n\r\n            if (this.settings.nestedItemSelector) {\r\n                content = content.find('.' + this.settings.nestedItemSelector);\r\n            }\r\n\r\n            content.filter(function() {\r\n                return this.nodeType === 1;\r\n            }).each($.proxy(function(index, item) {\r\n                item = this.prepare(item);\r\n                this.$stage.append(item);\r\n                this._items.push(item);\r\n                this._mergers.push(item.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') * 1 || 1);\r\n            }, this));\r\n\r\n            this.reset($.isNumeric(this.settings.startPosition) ? this.settings.startPosition : 0);\r\n\r\n            this.invalidate('items');\r\n        };\r\n\r\n        \/**\r\n         * Adds an item.\r\n         * @todo Use `item` instead of `content` for the event arguments.\r\n         * @public\r\n         * @param {HTMLElement|jQuery|String} content - The item content to add.\r\n         * @param {Number} [position] - The relative position at which to insert the item otherwise the item will be added to the end.\r\n         *\/\r\n        Owl.prototype.add = function(content, position) {\r\n            position = position === undefined ? this._items.length : this.normalize(position, true);\r\n\r\n            this.trigger('add', { content: content, position: position });\r\n\r\n            if (this._items.length === 0 || position === this._items.length) {\r\n                this.$stage.append(content);\r\n                this._items.push(content);\r\n                this._mergers.push(content.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') * 1 || 1);\r\n            } else {\r\n                this._items[position].before(content);\r\n                this._items.splice(position, 0, content);\r\n                this._mergers.splice(position, 0, content.find('[data-merge]').andSelf('[data-merge]').attr('data-merge') * 1 || 1);\r\n            }\r\n\r\n            this.invalidate('items');\r\n\r\n            this.trigger('added', { content: content, position: position });\r\n        };\r\n\r\n        \/**\r\n         * Removes an item by its position.\r\n         * @todo Use `item` instead of `content` for the event arguments.\r\n         * @public\r\n         * @param {Number} position - The relative position of the item to remove.\r\n         *\/\r\n        Owl.prototype.remove = function(position) {\r\n            position = this.normalize(position, true);\r\n\r\n            if (position === undefined) {\r\n                return;\r\n            }\r\n\r\n            this.trigger('remove', { content: this._items[position], position: position });\r\n\r\n            this._items[position].remove();\r\n            this._items.splice(position, 1);\r\n            this._mergers.splice(position, 1);\r\n\r\n            this.invalidate('items');\r\n\r\n            this.trigger('removed', { content: null, position: position });\r\n        };\r\n\r\n        \/**\r\n         * Adds triggerable events.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.addTriggerableEvents = function() {\r\n            var handler = $.proxy(function(callback, event) {\r\n                return $.proxy(function(e) {\r\n                    if (e.relatedTarget !== this) {\r\n                        this.suppress([ event ]);\r\n                        callback.apply(this, [].slice.call(arguments, 1));\r\n                        this.release([ event ]);\r\n                    }\r\n                }, this);\r\n            }, this);\r\n\r\n            $.each({\r\n                'next': this.next,\r\n                'prev': this.prev,\r\n                'to': this.to,\r\n                'destroy': this.destroy,\r\n                'refresh': this.refresh,\r\n                'replace': this.replace,\r\n                'add': this.add,\r\n                'remove': this.remove\r\n            }, $.proxy(function(event, callback) {\r\n                this.$element.on(event + '.owl.carousel', handler(callback, event + '.owl.carousel'));\r\n            }, this));\r\n\r\n        };\r\n\r\n        \/**\r\n         * Watches the visibility of the carousel element.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.watchVisibility = function() {\r\n\r\n            \/\/ test on zepto\r\n            if (!isElVisible(this.$element.get(0))) {\r\n                this.$element.addClass('owl-hidden');\r\n                window.clearInterval(this.e._checkVisibile);\r\n                this.e._checkVisibile = window.setInterval($.proxy(checkVisible, this), 500);\r\n            }\r\n\r\n            function isElVisible(el) {\r\n                return el.offsetWidth > 0 && el.offsetHeight > 0;\r\n            }\r\n\r\n            function checkVisible() {\r\n                if (isElVisible(this.$element.get(0))) {\r\n                    this.$element.removeClass('owl-hidden');\r\n                    this.refresh();\r\n                    window.clearInterval(this.e._checkVisibile);\r\n                }\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Preloads images with auto width.\r\n         * @protected\r\n         * @todo Still to test\r\n         *\/\r\n        Owl.prototype.preloadAutoWidthImages = function(imgs) {\r\n            var loaded, that, $el, img;\r\n\r\n            loaded = 0;\r\n            that = this;\r\n            imgs.each(function(i, el) {\r\n                $el = $(el);\r\n                img = new Image();\r\n\r\n                img.onload = function() {\r\n                    loaded++;\r\n                    $el.attr('src', img.src);\r\n                    $el.css('opacity', 1);\r\n                    if (loaded >= imgs.length) {\r\n                        that.state.imagesLoaded = true;\r\n                        that.initialize();\r\n                    }\r\n                };\r\n\r\n                img.src = $el.attr('src') || $el.attr('data-src') || $el.attr('data-src-retina');\r\n            });\r\n        };\r\n\r\n        \/**\r\n         * Destroys the carousel.\r\n         * @public\r\n         *\/\r\n        Owl.prototype.destroy = function() {\r\n\r\n            if (this.$element.hasClass(this.settings.themeClass)) {\r\n                this.$element.removeClass(this.settings.themeClass);\r\n            }\r\n\r\n            if (this.settings.responsive !== false) {\r\n                $(window).off('resize.owl.carousel');\r\n            }\r\n\r\n            if (this.transitionEndVendor) {\r\n                this.off(this.$stage.get(0), this.transitionEndVendor, this.e._transitionEnd);\r\n            }\r\n\r\n            for ( var i in this._plugins) {\r\n                this._plugins[i].destroy();\r\n            }\r\n\r\n            if (this.settings.mouseDrag || this.settings.touchDrag) {\r\n                this.$stage.off('mousedown touchstart touchcancel');\r\n                $(document).off('.owl.dragEvents');\r\n                this.$stage.get(0).onselectstart = function() {};\r\n                this.$stage.off('dragstart', function() { return false });\r\n            }\r\n\r\n            \/\/ remove event handlers in the \".owl.carousel\" namespace\r\n            this.$element.off('.owl');\r\n\r\n            this.$stage.children('.cloned').remove();\r\n            this.e = null;\r\n            this.$element.removeData('owlCarousel');\r\n\r\n            this.$stage.children().contents().unwrap();\r\n            this.$stage.children().unwrap();\r\n            this.$stage.unwrap();\r\n        };\r\n\r\n        \/**\r\n         * Operators to calculate right-to-left and left-to-right.\r\n         * @protected\r\n         * @param {Number} [a] - The left side operand.\r\n         * @param {String} [o] - The operator.\r\n         * @param {Number} [b] - The right side operand.\r\n         *\/\r\n        Owl.prototype.op = function(a, o, b) {\r\n            var rtl = this.settings.rtl;\r\n            switch (o) {\r\n                case '<':\r\n                    return rtl ? a > b : a < b;\r\n                case '>':\r\n                    return rtl ? a < b : a > b;\r\n                case '>=':\r\n                    return rtl ? a <= b : a >= b;\r\n                case '<=':\r\n                    return rtl ? a >= b : a <= b;\r\n                default:\r\n                    break;\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Attaches to an internal event.\r\n         * @protected\r\n         * @param {HTMLElement} element - The event source.\r\n         * @param {String} event - The event name.\r\n         * @param {Function} listener - The event handler to attach.\r\n         * @param {Boolean} capture - Wether the event should be handled at the capturing phase or not.\r\n         *\/\r\n        Owl.prototype.on = function(element, event, listener, capture) {\r\n            if (element.addEventListener) {\r\n                element.addEventListener(event, listener, capture);\r\n            } else if (element.attachEvent) {\r\n                element.attachEvent('on' + event, listener);\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Detaches from an internal event.\r\n         * @protected\r\n         * @param {HTMLElement} element - The event source.\r\n         * @param {String} event - The event name.\r\n         * @param {Function} listener - The attached event handler to detach.\r\n         * @param {Boolean} capture - Wether the attached event handler was registered as a capturing listener or not.\r\n         *\/\r\n        Owl.prototype.off = function(element, event, listener, capture) {\r\n            if (element.removeEventListener) {\r\n                element.removeEventListener(event, listener, capture);\r\n            } else if (element.detachEvent) {\r\n                element.detachEvent('on' + event, listener);\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Triggers an public event.\r\n         * @protected\r\n         * @param {String} name - The event name.\r\n         * @param {*} [data=null] - The event data.\r\n         * @param {String} [namespace=.owl.carousel] - The event namespace.\r\n         * @returns {Event} - The event arguments.\r\n         *\/\r\n        Owl.prototype.trigger = function(name, data, namespace) {\r\n            var status = {\r\n                item: { count: this._items.length, index: this.current() }\r\n            }, handler = $.camelCase(\r\n                $.grep([ 'on', name, namespace ], function(v) { return v })\r\n                    .join('-').toLowerCase()\r\n            ), event = $.Event(\r\n                [ name, 'owl', namespace || 'carousel' ].join('.').toLowerCase(),\r\n                $.extend({ relatedTarget: this }, status, data)\r\n            );\r\n\r\n            if (!this._supress[name]) {\r\n                $.each(this._plugins, function(name, plugin) {\r\n                    if (plugin.onTrigger) {\r\n                        plugin.onTrigger(event);\r\n                    }\r\n                });\r\n\r\n                this.$element.trigger(event);\r\n\r\n                if (this.settings && typeof this.settings[handler] === 'function') {\r\n                    this.settings[handler].apply(this, event);\r\n                }\r\n            }\r\n\r\n            return event;\r\n        };\r\n\r\n        \/**\r\n         * Suppresses events.\r\n         * @protected\r\n         * @param {Array.<String>} events - The events to suppress.\r\n         *\/\r\n        Owl.prototype.suppress = function(events) {\r\n            $.each(events, $.proxy(function(index, event) {\r\n                this._supress[event] = true;\r\n            }, this));\r\n        }\r\n\r\n        \/**\r\n         * Releases suppressed events.\r\n         * @protected\r\n         * @param {Array.<String>} events - The events to release.\r\n         *\/\r\n        Owl.prototype.release = function(events) {\r\n            $.each(events, $.proxy(function(index, event) {\r\n                delete this._supress[event];\r\n            }, this));\r\n        }\r\n\r\n        \/**\r\n         * Checks the availability of some browser features.\r\n         * @protected\r\n         *\/\r\n        Owl.prototype.browserSupport = function() {\r\n            this.support3d = isPerspective();\r\n\r\n            if (this.support3d) {\r\n                this.transformVendor = isTransform();\r\n\r\n                \/\/ take transitionend event name by detecting transition\r\n                var endVendors = [ 'transitionend', 'webkitTransitionEnd', 'transitionend', 'oTransitionEnd' ];\r\n                this.transitionEndVendor = endVendors[isTransition()];\r\n\r\n                \/\/ take vendor name from transform name\r\n                this.vendorName = this.transformVendor.replace(\/Transform\/i, '');\r\n                this.vendorName = this.vendorName !== '' ? '-' + this.vendorName.toLowerCase() + '-' : '';\r\n            }\r\n\r\n            this.state.orientation = window.orientation;\r\n        };\r\n\r\n        \/**\r\n         * Get touch\/drag coordinats.\r\n         * @private\r\n         * @param {event} - mousedown\/touchstart event\r\n         * @returns {object} - Contains X and Y of current mouse\/touch position\r\n         *\/\r\n\r\n        function getTouches(event) {\r\n            if (event.touches !== undefined) {\r\n                return {\r\n                    x: event.touches[0].pageX,\r\n                    y: event.touches[0].pageY\r\n                };\r\n            }\r\n\r\n            if (event.touches === undefined) {\r\n                if (event.pageX !== undefined) {\r\n                    return {\r\n                        x: event.pageX,\r\n                        y: event.pageY\r\n                    };\r\n                }\r\n\r\n            if (event.pageX === undefined) {\r\n                return {\r\n                        x: event.clientX,\r\n                        y: event.clientY\r\n                    };\r\n                }\r\n            }\r\n        }\r\n\r\n        \/**\r\n         * Checks for CSS support.\r\n         * @private\r\n         * @param {Array} array - The CSS properties to check for.\r\n         * @returns {Array} - Contains the supported CSS property name and its index or `false`.\r\n         *\/\r\n        function isStyleSupported(array) {\r\n            var p, s, fake = document.createElement('div'), list = array;\r\n            for (p in list) {\r\n                s = list[p];\r\n                if (typeof fake.style[s] !== 'undefined') {\r\n                    fake = null;\r\n                    return [ s, p ];\r\n                }\r\n            }\r\n            return [ false ];\r\n        }\r\n\r\n        \/**\r\n         * Checks for CSS transition support.\r\n         * @private\r\n         * @todo Realy bad design\r\n         * @returns {Number}\r\n         *\/\r\n        function isTransition() {\r\n            return isStyleSupported([ 'transition', 'WebkitTransition', 'MozTransition', 'OTransition' ])[1];\r\n        }\r\n\r\n        \/**\r\n         * Checks for CSS transform support.\r\n         * @private\r\n         * @returns {String} The supported property name or false.\r\n         *\/\r\n        function isTransform() {\r\n            return isStyleSupported([ 'transform', 'WebkitTransform', 'MozTransform', 'OTransform', 'msTransform' ])[0];\r\n        }\r\n\r\n        \/**\r\n         * Checks for CSS perspective support.\r\n         * @private\r\n         * @returns {String} The supported property name or false.\r\n         *\/\r\n        function isPerspective() {\r\n            return isStyleSupported([ 'perspective', 'webkitPerspective', 'MozPerspective', 'OPerspective', 'MsPerspective' ])[0];\r\n        }\r\n\r\n        \/**\r\n         * Checks wether touch is supported or not.\r\n         * @private\r\n         * @returns {Boolean}\r\n         *\/\r\n        function isTouchSupport() {\r\n            return 'ontouchstart' in window || !!(navigator.msMaxTouchPoints);\r\n        }\r\n\r\n        \/**\r\n         * Checks wether touch is supported or not for IE.\r\n         * @private\r\n         * @returns {Boolean}\r\n         *\/\r\n        function isTouchSupportIE() {\r\n            return window.navigator.msPointerEnabled;\r\n        }\r\n\r\n        \/**\r\n         * The jQuery Plugin for the Owl Carousel\r\n         * @public\r\n         *\/\r\n        $.fn.owlCarousel = function(options) {\r\n            return this.each(function() {\r\n                if (!$(this).data('owlCarousel')) {\r\n                    $(this).data('owlCarousel', new Owl(this, options));\r\n                }\r\n            });\r\n        };\r\n\r\n        \/**\r\n         * The constructor for the jQuery Plugin\r\n         * @public\r\n         *\/\r\n        $.fn.owlCarousel.Constructor = Owl;\r\n\r\n    })(window.Zepto || window.jQuery, window, document);\r\n\r\n    \/**\r\n     * Lazy Plugin\r\n     * @version 2.0.0\r\n     * @author Bartosz Wojciechowski\r\n     * @license The MIT License (MIT)\r\n     *\/\r\n    ;(function($, window, document, undefined) {\r\n\r\n        \/**\r\n         * Creates the lazy plugin.\r\n         * @class The Lazy Plugin\r\n         * @param {Owl} carousel - The Owl Carousel\r\n         *\/\r\n        var Lazy = function(carousel) {\r\n\r\n            \/**\r\n             * Reference to the core.\r\n             * @protected\r\n             * @type {Owl}\r\n             *\/\r\n            this._core = carousel;\r\n\r\n            \/**\r\n             * Already loaded items.\r\n             * @protected\r\n             * @type {Array.<jQuery>}\r\n             *\/\r\n            this._loaded = [];\r\n\r\n            \/**\r\n             * Event handlers.\r\n             * @protected\r\n             * @type {Object}\r\n             *\/\r\n            this._handlers = {\r\n                'initialized.owl.carousel change.owl.carousel': $.proxy(function(e) {\r\n                    if (!e.namespace) {\r\n                        return;\r\n                    }\r\n\r\n                    if (!this._core.settings || !this._core.settings.lazyLoad) {\r\n                        return;\r\n                    }\r\n\r\n                    if ((e.property && e.property.name == 'position') || e.type == 'initialized') {\r\n                        var settings = this._core.settings,\r\n                            n = (settings.center && Math.ceil(settings.items \/ 2) || settings.items),\r\n                            i = ((settings.center && n * -1) || 0),\r\n                            position = ((e.property && e.property.value) || this._core.current()) + i,\r\n                            clones = this._core.clones().length,\r\n                            load = $.proxy(function(i, v) { this.load(v) }, this);\r\n\r\n                        while (i++ < n) {\r\n                            this.load(clones \/ 2 + this._core.relative(position));\r\n                            clones && $.each(this._core.clones(this._core.relative(position++)), load);\r\n                        }\r\n                    }\r\n                }, this)\r\n            };\r\n\r\n            \/\/ set the default options\r\n            this._core.options = $.extend({}, Lazy.Defaults, this._core.options);\r\n\r\n            \/\/ register event handler\r\n            this._core.$element.on(this._handlers);\r\n        }\r\n\r\n        \/**\r\n         * Default options.\r\n         * @public\r\n         *\/\r\n        Lazy.Defaults = {\r\n            lazyLoad: false\r\n        }\r\n\r\n        \/**\r\n         * Loads all resources of an item at the specified position.\r\n         * @param {Number} position - The absolute position of the item.\r\n         * @protected\r\n         *\/\r\n        Lazy.prototype.load = function(position) {\r\n            var $item = this._core.$stage.children().eq(position),\r\n                $elements = $item && $item.find('.owl-lazy');\r\n\r\n            if (!$elements || $.inArray($item.get(0), this._loaded) > -1) {\r\n                return;\r\n            }\r\n\r\n            $elements.each($.proxy(function(index, element) {\r\n                var $element = $(element), image,\r\n                    url = (window.devicePixelRatio > 1 && $element.attr('data-src-retina')) || $element.attr('data-src');\r\n\r\n                this._core.trigger('load', { element: $element, url: url }, 'lazy');\r\n\r\n                if ($element.is('img')) {\r\n                    $element.one('load.owl.lazy', $.proxy(function() {\r\n                        $element.css('opacity', 1);\r\n                        this._core.trigger('loaded', { element: $element, url: url }, 'lazy');\r\n                    }, this)).attr('src', url);\r\n                } else {\r\n                    image = new Image();\r\n                    image.onload = $.proxy(function() {\r\n                        $element.css({\r\n                            'background-image': 'url(' + url + ')',\r\n                            'opacity': '1'\r\n                        });\r\n                        this._core.trigger('loaded', { element: $element, url: url }, 'lazy');\r\n                    }, this);\r\n                    image.src = url;\r\n                }\r\n            }, this));\r\n\r\n            this._loaded.push($item.get(0));\r\n        }\r\n\r\n        \/**\r\n         * Destroys the plugin.\r\n         * @public\r\n         *\/\r\n        Lazy.prototype.destroy = function() {\r\n            var handler, property;\r\n\r\n            for (handler in this.handlers) {\r\n                this._core.$element.off(handler, this.handlers[handler]);\r\n            }\r\n            for (property in Object.getOwnPropertyNames(this)) {\r\n                typeof this[property] != 'function' && (this[property] = null);\r\n            }\r\n        }\r\n\r\n        $.fn.owlCarousel.Constructor.Plugins.Lazy = Lazy;\r\n\r\n    })(window.Zepto || window.jQuery, window, document);\r\n\r\n    \/**\r\n     * AutoHeight Plugin\r\n     * @version 2.0.0\r\n     * @author Bartosz Wojciechowski\r\n     * @license The MIT License (MIT)\r\n     *\/\r\n    ;(function($, window, document, undefined) {\r\n\r\n        \/**\r\n         * Creates the auto height plugin.\r\n         * @class The Auto Height Plugin\r\n         * @param {Owl} carousel - The Owl Carousel\r\n         *\/\r\n        var AutoHeight = function(carousel) {\r\n            \/**\r\n             * Reference to the core.\r\n             * @protected\r\n             * @type {Owl}\r\n             *\/\r\n            this._core = carousel;\r\n\r\n            \/**\r\n             * All event handlers.\r\n             * @protected\r\n             * @type {Object}\r\n             *\/\r\n            this._handlers = {\r\n                'initialized.owl.carousel': $.proxy(function() {\r\n                    if (this._core.settings.autoHeight) {\r\n                        this.update();\r\n                    }\r\n                }, this),\r\n                'changed.owl.carousel': $.proxy(function(e) {\r\n                    if (this._core.settings.autoHeight && e.property.name == 'position'){\r\n                        this.update();\r\n                    }\r\n                }, this),\r\n                'loaded.owl.lazy': $.proxy(function(e) {\r\n                    if (this._core.settings.autoHeight && e.element.closest('.' + this._core.settings.itemClass)\r\n                        === this._core.$stage.children().eq(this._core.current())) {\r\n                        this.update();\r\n                    }\r\n                }, this)\r\n            };\r\n\r\n            \/\/ set default options\r\n            this._core.options = $.extend({}, AutoHeight.Defaults, this._core.options);\r\n\r\n            \/\/ register event handlers\r\n            this._core.$element.on(this._handlers);\r\n        };\r\n\r\n        \/**\r\n         * Default options.\r\n         * @public\r\n         *\/\r\n        AutoHeight.Defaults = {\r\n            autoHeight: false,\r\n            autoHeightClass: 'owl-height'\r\n        };\r\n\r\n        \/**\r\n         * Updates the view.\r\n         *\/\r\n        AutoHeight.prototype.update = function() {\r\n            this._core.$stage.parent()\r\n                .height(this._core.$stage.children().eq(this._core.current()).height())\r\n                .addClass(this._core.settings.autoHeightClass);\r\n        };\r\n\r\n        AutoHeight.prototype.destroy = function() {\r\n            var handler, property;\r\n\r\n            for (handler in this._handlers) {\r\n                this._core.$element.off(handler, this._handlers[handler]);\r\n            }\r\n            for (property in Object.getOwnPropertyNames(this)) {\r\n                typeof this[property] != 'function' && (this[property] = null);\r\n            }\r\n        };\r\n\r\n        $.fn.owlCarousel.Constructor.Plugins.AutoHeight = AutoHeight;\r\n\r\n    })(window.Zepto || window.jQuery, window, document);\r\n\r\n    \/**\r\n     * Video Plugin\r\n     * @version 2.0.0\r\n     * @author Bartosz Wojciechowski\r\n     * @license The MIT License (MIT)\r\n     *\/\r\n    ;(function($, window, document, undefined) {\r\n\r\n        \/**\r\n         * Creates the video plugin.\r\n         * @class The Video Plugin\r\n         * @param {Owl} carousel - The Owl Carousel\r\n         *\/\r\n        var Video = function(carousel) {\r\n            \/**\r\n             * Reference to the core.\r\n             * @protected\r\n             * @type {Owl}\r\n             *\/\r\n            this._core = carousel;\r\n\r\n            \/**\r\n             * Cache all video URLs.\r\n             * @protected\r\n             * @type {Object}\r\n             *\/\r\n            this._videos = {};\r\n\r\n            \/**\r\n             * Current playing item.\r\n             * @protected\r\n             * @type {jQuery}\r\n             *\/\r\n            this._playing = null;\r\n\r\n            \/**\r\n             * Whether this is in fullscreen or not.\r\n             * @protected\r\n             * @type {Boolean}\r\n             *\/\r\n            this._fullscreen = false;\r\n\r\n            \/**\r\n             * All event handlers.\r\n             * @protected\r\n             * @type {Object}\r\n             *\/\r\n            this._handlers = {\r\n                'resize.owl.carousel': $.proxy(function(e) {\r\n                    if (this._core.settings.video && !this.isInFullScreen()) {\r\n                        e.preventDefault();\r\n                    }\r\n                }, this),\r\n                'refresh.owl.carousel changed.owl.carousel': $.proxy(function(e) {\r\n                    if (this._playing) {\r\n                        this.stop();\r\n                    }\r\n                }, this),\r\n                'prepared.owl.carousel': $.proxy(function(e) {\r\n                    var $element = $(e.content).find('.owl-video');\r\n                    if ($element.length) {\r\n                        \/\/ $element.css('display', 'none');\r\n                        this.fetch($element, $(e.content));\r\n                    }\r\n                }, this)\r\n            };\r\n\r\n            \/\/ set default options\r\n            this._core.options = $.extend({}, Video.Defaults, this._core.options);\r\n\r\n            \/\/ register event handlers\r\n            this._core.$element.on(this._handlers);\r\n\r\n            this._core.$element.on('click.owl.video', '.owl-video-play-icon', $.proxy(function(e) {\r\n                console.log('clicked');\r\n                \r\n                this.play(e);\r\n            }, this));\r\n        };\r\n\r\n        \/**\r\n         * Default options.\r\n         * @public\r\n         *\/\r\n        Video.Defaults = {\r\n            video: false,\r\n            videoHeight: false,\r\n            videoWidth: false\r\n        };\r\n\r\n        \/**\r\n         * Gets the video ID and the type (YouTube\/Vimeo only).\r\n         * @protected\r\n         * @param {jQuery} target - The target containing the video data.\r\n         * @param {jQuery} item - The item containing the video.\r\n         *\/\r\n        Video.prototype.fetch = function(target, item) {\r\n\r\n            var type = target.attr('data-vimeo-id') ? 'vimeo' : 'youtube',\r\n                id = target.attr('data-vimeo-id') || target.attr('data-youtube-id'),\r\n                width = target.attr('data-width') || this._core.settings.videoWidth,\r\n                height = target.attr('data-height') || this._core.settings.videoHeight,\r\n                url = target.attr('href');\r\n\r\n            if (url) {\r\n                id = url.match(\/(http:|https:|)\\\/\\\/(player.|www.)?(vimeo\\.com|youtu(be\\.com|\\.be|be\\.googleapis\\.com))\\\/(video\\\/|embed\\\/|watch\\?v=|v\\\/)?([A-Za-z0-9._%-]*)(\\&\\S+)?\/);\r\n\r\n                if (id[3].indexOf('youtu') > -1) {\r\n                    type = 'youtube';\r\n                } else if (id[3].indexOf('vimeo') > -1) {\r\n                    type = 'vimeo';\r\n                } else {\r\n                    throw new Error('Video URL not supported.');\r\n                }\r\n                id = id[6];\r\n            } else {\r\n                throw new Error('Missing video URL.');\r\n            }\r\n\r\n            this._videos[url] = {\r\n                type: type,\r\n                id: id,\r\n                width: width,\r\n                height: height\r\n            };\r\n\r\n            item.attr('data-video', url);\r\n\r\n            this.thumbnail(target, this._videos[url]);\r\n        };\r\n\r\n        \/**\r\n         * Creates video thumbnail.\r\n         * @protected\r\n         * @param {jQuery} target - The target containing the video data.\r\n         * @param {Object} info - The video info object.\r\n         * @see `fetch`\r\n         *\/\r\n        Video.prototype.thumbnail = function(target, video) {\r\n\r\n            var tnLink,\r\n                icon,\r\n                path,\r\n                dimensions = video.width && video.height ? 'style=\"width:' + video.width + 'px;height:' + video.height + 'px;\"' : '',\r\n                customTn = target.find('img'),\r\n                srcType = 'src',\r\n                lazyClass = '',\r\n                settings = this._core.settings,\r\n                create = function(path) {\r\n                    icon = '<div class=\"owl-video-play-icon\"><\/div>';\r\n\r\n                    if (settings.lazyLoad) {\r\n                        tnLink = '<div class=\"owl-video-tn ' + lazyClass + '\" ' + srcType + '=\"' + path + '\"><\/div>';\r\n                    } else {\r\n                        tnLink = '<div class=\"owl-video-tn\" style=\"opacity:1;background-image:url(' + path + ')\"><\/div>';\r\n                    }\r\n                    target.after(tnLink);\r\n                    target.after(icon);\r\n                };\r\n\r\n            \/\/ wrap video content into owl-video-wrapper div\r\n            target.wrap('<div class=\"owl-video-wrapper\"' + dimensions + '><\/div>');\r\n\r\n            if (this._core.settings.lazyLoad) {\r\n                srcType = 'data-src';\r\n                lazyClass = 'owl-lazy';\r\n            }\r\n\r\n            \/\/ custom thumbnail\r\n            if (customTn.length) {\r\n                create(customTn.attr(srcType));\r\n                \/\/ customTn.remove();\r\n                return false;\r\n            }\r\n\r\n            if (video.type === 'youtube') {\r\n                path = \"http:\/\/img.youtube.com\/vi\/\" + video.id + \"\/hqdefault.jpg\";\r\n                create(path);\r\n            } else if (video.type === 'vimeo') {\r\n                $.ajax({\r\n                    type: 'GET',\r\n                    url: 'http:\/\/vimeo.com\/api\/v2\/video\/' + video.id + '.json',\r\n                    jsonp: 'callback',\r\n                    dataType: 'jsonp',\r\n                    success: function(data) {\r\n                        path = data[0].thumbnail_large;\r\n                        create(path);\r\n                    }\r\n                });\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Stops the current video.\r\n         * @public\r\n         *\/\r\n        Video.prototype.stop = function() {\r\n            this._core.trigger('stop', null, 'video');\r\n            this._playing.find('.owl-video-frame').remove();\r\n            this._playing.find('img').css('display','block');\r\n            this._playing.removeClass('owl-video-playing');\r\n            this._playing = null;\r\n        };\r\n\r\n        \/**\r\n         * Starts the current video.\r\n         * @public\r\n         * @param {Event} ev - The event arguments.\r\n         *\/\r\n        Video.prototype.play = function(ev) {\r\n            var target = $(ev.target || ev.srcElement),\r\n                item = target.closest('.' + this._core.settings.itemClass),\r\n                video = this._videos[item.attr('data-video')],\r\n                width = video.width || '100%',\r\n                height = video.height || this._core.$stage.height(),\r\n                html, wrap;\r\n                \r\n            target.prev().find('img').css('display','none');\r\n\r\n            this._core.trigger('play', null, 'video');\r\n            \r\n            \r\n            if (this._playing) {\r\n                this.stop();\r\n            }\r\n            \r\n\r\n            if (video.type === 'youtube') {\r\n                html = '<iframe width=\"' + width + '\" height=\"' + height + '\" src=\"http:\/\/www.youtube.com\/embed\/'\r\n                    + video.id + '?autoplay=1&v=' + video.id + '\" frameborder=\"0\" allowfullscreen><\/iframe>';\r\n            } else if (video.type === 'vimeo') {\r\n                html = '<iframe src=\"http:\/\/player.vimeo.com\/video\/' + video.id + '?autoplay=1\" width=\"' + width\r\n                    + '\" height=\"' + height\r\n                    + '\" frameborder=\"0\" webkitallowfullscreen mozallowfullscreen allowfullscreen><\/iframe>';\r\n            }\r\n\r\n            item.addClass('owl-video-playing');\r\n            this._playing = item;\r\n\r\n            wrap = $('<div style=\"height:' + height + 'px; width:' + width + 'px\" class=\"owl-video-frame\">'\r\n                + html + '<\/div>');\r\n            target.after(wrap);\r\n        };\r\n\r\n        \/**\r\n         * Checks whether an video is currently in full screen mode or not.\r\n         * @todo Bad style because looks like a readonly method but changes members.\r\n         * @protected\r\n         * @returns {Boolean}\r\n         *\/\r\n        Video.prototype.isInFullScreen = function() {\r\n\r\n            \/\/ if Vimeo Fullscreen mode\r\n            var element = document.fullscreenElement || document.mozFullScreenElement\r\n                || document.webkitFullscreenElement;\r\n\r\n            if (element && $(element).parent().hasClass('owl-video-frame')) {\r\n                this._core.speed(0);\r\n                this._fullscreen = true;\r\n            }\r\n\r\n            if (element && this._fullscreen && this._playing) {\r\n                return false;\r\n            }\r\n\r\n            \/\/ comming back from fullscreen\r\n            if (this._fullscreen) {\r\n                this._fullscreen = false;\r\n                return false;\r\n            }\r\n\r\n            \/\/ check full screen mode and window orientation\r\n            if (this._playing) {\r\n                if (this._core.state.orientation !== window.orientation) {\r\n                    this._core.state.orientation = window.orientation;\r\n                    return false;\r\n                }\r\n            }\r\n\r\n            return true;\r\n        };\r\n\r\n        \/**\r\n         * Destroys the plugin.\r\n         *\/\r\n        Video.prototype.destroy = function() {\r\n            var handler, property;\r\n\r\n            this._core.$element.off('click.owl.video');\r\n\r\n            for (handler in this._handlers) {\r\n                this._core.$element.off(handler, this._handlers[handler]);\r\n            }\r\n            for (property in Object.getOwnPropertyNames(this)) {\r\n                typeof this[property] != 'function' && (this[property] = null);\r\n            }\r\n        };\r\n\r\n        $.fn.owlCarousel.Constructor.Plugins.Video = Video;\r\n\r\n    })(window.Zepto || window.jQuery, window, document);\r\n\r\n    \/**\r\n     * Animate Plugin\r\n     * @version 2.0.0\r\n     * @author Bartosz Wojciechowski\r\n     * @license The MIT License (MIT)\r\n     *\/\r\n    ;(function($, window, document, undefined) {\r\n\r\n        \/**\r\n         * Creates the animate plugin.\r\n         * @class The Navigation Plugin\r\n         * @param {Owl} scope - The Owl Carousel\r\n         *\/\r\n        var Animate = function(scope) {\r\n            this.core = scope;\r\n            this.core.options = $.extend({}, Animate.Defaults, this.core.options);\r\n            this.swapping = true;\r\n            this.previous = undefined;\r\n            this.next = undefined;\r\n\r\n            this.handlers = {\r\n                'change.owl.carousel': $.proxy(function(e) {\r\n                    if (e.property.name == 'position') {\r\n                        this.previous = this.core.current();\r\n                        this.next = e.property.value;\r\n                    }\r\n                }, this),\r\n                'drag.owl.carousel dragged.owl.carousel translated.owl.carousel': $.proxy(function(e) {\r\n                    this.swapping = e.type == 'translated';\r\n                }, this),\r\n                'translate.owl.carousel': $.proxy(function(e) {\r\n                    if (this.swapping && (this.core.options.animateOut || this.core.options.animateIn)) {\r\n                        this.swap();\r\n                    }\r\n                }, this)\r\n            };\r\n\r\n            this.core.$element.on(this.handlers);\r\n        };\r\n\r\n        \/**\r\n         * Default options.\r\n         * @public\r\n         *\/\r\n        Animate.Defaults = {\r\n            animateOut: false,\r\n            animateIn: false\r\n        };\r\n\r\n        \/**\r\n         * Toggles the animation classes whenever an translations starts.\r\n         * @protected\r\n         * @returns {Boolean|undefined}\r\n         *\/\r\n        Animate.prototype.swap = function() {\r\n\r\n            if (this.core.settings.items !== 1 || !this.core.support3d) {\r\n                return;\r\n            }\r\n\r\n            this.core.speed(0);\r\n\r\n            var left,\r\n                clear = $.proxy(this.clear, this),\r\n                previous = this.core.$stage.children().eq(this.previous),\r\n                next = this.core.$stage.children().eq(this.next),\r\n                incoming = this.core.settings.animateIn,\r\n                outgoing = this.core.settings.animateOut;\r\n\r\n            if (this.core.current() === this.previous) {\r\n                return;\r\n            }\r\n\r\n            if (outgoing) {\r\n                left = this.core.coordinates(this.previous) - this.core.coordinates(this.next);\r\n                previous.css( { 'left': left + 'px' } )\r\n                    .addClass('animated owl-animated-out')\r\n                    .addClass(outgoing)\r\n                    .one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', clear);\r\n            }\r\n\r\n            if (incoming) {\r\n                next.addClass('animated owl-animated-in')\r\n                    .addClass(incoming)\r\n                    .one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', clear);\r\n            }\r\n        };\r\n\r\n        Animate.prototype.clear = function(e) {\r\n            $(e.target).css( { 'left': '' } )\r\n                .removeClass('animated owl-animated-out owl-animated-in')\r\n                .removeClass(this.core.settings.animateIn)\r\n                .removeClass(this.core.settings.animateOut);\r\n            this.core.transitionEnd();\r\n        }\r\n\r\n        \/**\r\n         * Destroys the plugin.\r\n         * @public\r\n         *\/\r\n        Animate.prototype.destroy = function() {\r\n            var handler, property;\r\n\r\n            for (handler in this.handlers) {\r\n                this.core.$element.off(handler, this.handlers[handler]);\r\n            }\r\n            for (property in Object.getOwnPropertyNames(this)) {\r\n                typeof this[property] != 'function' && (this[property] = null);\r\n            }\r\n        };\r\n\r\n        $.fn.owlCarousel.Constructor.Plugins.Animate = Animate;\r\n\r\n    })(window.Zepto || window.jQuery, window, document);\r\n\r\n    \/**\r\n     * Autoplay Plugin\r\n     * @version 2.0.0\r\n     * @author Bartosz Wojciechowski\r\n     * @license The MIT License (MIT)\r\n     *\/\r\n    ;(function($, window, document, undefined) {\r\n\r\n        \/**\r\n         * Creates the autoplay plugin.\r\n         * @class The Autoplay Plugin\r\n         * @param {Owl} scope - The Owl Carousel\r\n         *\/\r\n        var Autoplay = function(scope) {\r\n            this.core = scope;\r\n            this.core.options = $.extend({}, Autoplay.Defaults, this.core.options);\r\n\r\n            this.handlers = {\r\n                'translated.owl.carousel refreshed.owl.carousel': $.proxy(function() {\r\n                    this.autoplay();\r\n                }, this),\r\n                'play.owl.autoplay': $.proxy(function(e, t, s) {\r\n                    this.play(t, s);\r\n                }, this),\r\n                'stop.owl.autoplay': $.proxy(function() {\r\n                    this.stop();\r\n                }, this),\r\n                'mouseover.owl.autoplay': $.proxy(function() {\r\n                    if (this.core.settings.autoplayHoverPause) {\r\n                        this.pause();\r\n                    }\r\n                }, this),\r\n                'mouseleave.owl.autoplay': $.proxy(function() {\r\n                    \r\n                    if ( this.core.settings.autoplayHoverPause && this.core.$element.find('.owl-video-playing').length == 0 ) {\r\n                        this.autoplay();\r\n                    }\r\n                }, this)\r\n            };\r\n\r\n            this.core.$element.on(this.handlers);\r\n        };\r\n\r\n        \/**\r\n         * Default options.\r\n         * @public\r\n         *\/\r\n        Autoplay.Defaults = {\r\n            autoplay: false,\r\n            autoplayTimeout: 5000,\r\n            autoplayHoverPause: false,\r\n            autoplaySpeed: false\r\n        };\r\n\r\n        \/**\r\n         * @protected\r\n         * @todo Must be documented.\r\n         *\/\r\n        Autoplay.prototype.autoplay = function() {\r\n            if (this.core.settings.autoplay && !this.core.state.videoPlay) {\r\n                window.clearTimeout(this.interval);\r\n\r\n                this.interval = window.setTimeout($.proxy(function() {\r\n                    this.play();\r\n                }, this), this.core.settings.autoplayTimeout);\r\n            } else {\r\n                window.clearTimeout(this.interval);\r\n            }\r\n        };\r\n\r\n        \/**\r\n         * Starts the autoplay.\r\n         * @public\r\n         * @param {Number} [timeout] - ...\r\n         * @param {Number} [speed] - ...\r\n         * @returns {Boolean|undefined} - ...\r\n         * @todo Must be documented.\r\n         *\/\r\n        Autoplay.prototype.play = function(timeout, speed) {\r\n            \/\/ if tab is inactive - doesnt work in <IE10\r\n            if (document.hidden === true) {\r\n                return;\r\n            }\r\n\r\n            if (this.core.state.isTouch || this.core.state.isScrolling\r\n                || this.core.state.isSwiping || this.core.state.inMotion) {\r\n                return;\r\n            }\r\n\r\n            if (this.core.settings.autoplay === false) {\r\n                window.clearInterval(this.interval);\r\n                return;\r\n            }\r\n\r\n            this.core.next(this.core.settings.autoplaySpeed);\r\n        };\r\n\r\n        \/**\r\n         * Stops the autoplay.\r\n         * @public\r\n         *\/\r\n        Autoplay.prototype.stop = function() {\r\n            window.clearInterval(this.interval);\r\n        };\r\n\r\n        \/**\r\n         * Pauses the autoplay.\r\n         * @public\r\n         *\/\r\n        Autoplay.prototype.pause = function() {\r\n            window.clearInterval(this.interval);\r\n        };\r\n\r\n        \/**\r\n         * Destroys the plugin.\r\n         *\/\r\n        Autoplay.prototype.destroy = function() {\r\n            var handler, property;\r\n\r\n            window.clearInterval(this.interval);\r\n\r\n            for (handler in this.handlers) {\r\n                this.core.$element.off(handler, this.handlers[handler]);\r\n            }\r\n            for (property in Object.getOwnPropertyNames(this)) {\r\n                typeof this[property] != 'function' && (this[property] = null);\r\n            }\r\n        };\r\n\r\n        $.fn.owlCarousel.Constructor.Plugins.autoplay = Autoplay;\r\n\r\n    })(window.Zepto || window.jQuery, window, document);\r\n\r\n    \/**\r\n     * Navigation Plugin\r\n     * @version 2.0.0\r\n     * @author Artus Kolanowski\r\n     * @license The MIT License (MIT)\r\n     *\/\r\n    ;(function($, window, document, undefined) {\r\n        'use strict';\r\n\r\n        \/**\r\n         * Creates the navigation plugin.\r\n         * @class The Navigation Plugin\r\n         * @param {Owl} carousel - The Owl Carousel.\r\n         *\/\r\n        var Navigation = function(carousel) {\r\n            \/**\r\n             * Reference to the core.\r\n             * @protected\r\n             * @type {Owl}\r\n             *\/\r\n            this._core = carousel;\r\n\r\n            \/**\r\n             * Indicates whether the plugin is initialized or not.\r\n             * @protected\r\n             * @type {Boolean}\r\n             *\/\r\n            this._initialized = false;\r\n\r\n            \/**\r\n             * The current paging indexes.\r\n             * @protected\r\n             * @type {Array}\r\n             *\/\r\n            this._pages = [];\r\n\r\n            \/**\r\n             * All DOM elements of the user interface.\r\n             * @protected\r\n             * @type {Object}\r\n             *\/\r\n            this._controls = {};\r\n\r\n            \/**\r\n             * Markup for an indicator.\r\n             * @protected\r\n             * @type {Array.<String>}\r\n             *\/\r\n            this._templates = [];\r\n\r\n            \/**\r\n             * The carousel element.\r\n             * @type {jQuery}\r\n             *\/\r\n            this.$element = this._core.$element;\r\n\r\n            \/**\r\n             * Overridden methods of the carousel.\r\n             * @protected\r\n             * @type {Object}\r\n             *\/\r\n            this._overrides = {\r\n                next: this._core.next,\r\n                prev: this._core.prev,\r\n                to: this._core.to\r\n            };\r\n\r\n            \/**\r\n             * All event handlers.\r\n             * @protected\r\n             * @type {Object}\r\n             *\/\r\n            this._handlers = {\r\n                'prepared.owl.carousel': $.proxy(function(e) {\r\n                    if (this._core.settings.dotsData) {\r\n                        this._templates.push($(e.content).find('[data-dot]').andSelf('[data-dot]').attr('data-dot'));\r\n                    }\r\n                }, this),\r\n                'add.owl.carousel': $.proxy(function(e) {\r\n                    if (this._core.settings.dotsData) {\r\n                        this._templates.splice(e.position, 0, $(e.content).find('[data-dot]').andSelf('[data-dot]').attr('data-dot'));\r\n                    }\r\n                }, this),\r\n                'remove.owl.carousel prepared.owl.carousel': $.proxy(function(e) {\r\n                    if (this._core.settings.dotsData) {\r\n                        this._templates.splice(e.position, 1);\r\n                    }\r\n                }, this),\r\n                'change.owl.carousel': $.proxy(function(e) {\r\n                    if (e.property.name == 'position') {\r\n                        if (!this._core.state.revert && !this._core.settings.loop && this._core.settings.navRewind) {\r\n                            var current = this._core.current(),\r\n                                maximum = this._core.maximum(),\r\n                                minimum = this._core.minimum();\r\n                            e.data = e.property.value > maximum\r\n                                ? current >= maximum ? minimum : maximum\r\n                                : e.property.value < minimum ? maximum : e.property.value;\r\n                        }\r\n                    }\r\n                }, this),\r\n                'changed.owl.carousel': $.proxy(function(e) {\r\n                    if (e.property.name == 'position') {\r\n                        this.draw();\r\n                    }\r\n                }, this),\r\n                'refreshed.owl.carousel': $.proxy(function() {\r\n                    if (!this._initialized) {\r\n                        this.initialize();\r\n                        this._initialized = true;\r\n                    }\r\n                    this._core.trigger('refresh', null, 'navigation');\r\n                    this.update();\r\n                    this.draw();\r\n                    this._core.trigger('refreshed', null, 'navigation');\r\n                }, this)\r\n            };\r\n\r\n            \/\/ set default options\r\n            this._core.options = $.extend({}, Navigation.Defaults, this._core.options);\r\n\r\n            \/\/ register event handlers\r\n            this.$element.on(this._handlers);\r\n        }\r\n\r\n        \/**\r\n         * Default options.\r\n         * @public\r\n         * @todo Rename `slideBy` to `navBy`\r\n         *\/\r\n        Navigation.Defaults = {\r\n            nav: false,\r\n            navRewind: true,\r\n            navText: [ 'prev', 'next' ],\r\n            navSpeed: false,\r\n            navElement: 'div',\r\n            navContainer: false,\r\n            navContainerClass: 'owl-nav',\r\n            navClass: [ 'owl-prev', 'owl-next' ],\r\n            slideBy: 1,\r\n            dotClass: 'owl-dot',\r\n            dotsClass: 'owl-dots',\r\n            dots: true,\r\n            dotsEach: false,\r\n            dotData: false,\r\n            dotsSpeed: false,\r\n            dotsContainer: false,\r\n            controlsClass: 'owl-controls'\r\n        }\r\n\r\n        \/**\r\n         * Initializes the layout of the plugin and extends the carousel.\r\n         * @protected\r\n         *\/\r\n        Navigation.prototype.initialize = function() {\r\n            var $container, override,\r\n                options = this._core.settings;\r\n\r\n            \/\/ create the indicator template\r\n            if (!options.dotsData) {\r\n                this._templates = [ $('<div>')\r\n                    .addClass(options.dotClass)\r\n                    .append($('<span>'))\r\n                    .prop('outerHTML') ];\r\n            }\r\n\r\n            \/\/ create controls container if needed\r\n            if (!options.navContainer || !options.dotsContainer) {\r\n                this._controls.$container = $('<div>')\r\n                    .addClass(options.controlsClass)\r\n                    .appendTo(this.$element);\r\n            }\r\n\r\n            \/\/ create DOM structure for absolute navigation\r\n            this._controls.$indicators = options.dotsContainer ? $(options.dotsContainer)\r\n                : $('<div>').hide().addClass(options.dotsClass).appendTo(this.$element);\r\n\r\n            this._controls.$indicators.on('click', 'div', $.proxy(function(e) {\r\n                var index = $(e.target).parent().is(this._controls.$indicators)\r\n                    ? $(e.target).index() : $(e.target).parent().index();\r\n\r\n                e.preventDefault();\r\n\r\n                this.to(index, options.dotsSpeed);\r\n            }, this));\r\n\r\n            \/\/ create DOM structure for relative navigation\r\n            $container = options.navContainer ? $(options.navContainer)\r\n                : $('<div>').addClass(options.navContainerClass).prependTo(this._controls.$container);\r\n\r\n            this._controls.$next = $('<' + options.navElement + '>');\r\n            this._controls.$previous = this._controls.$next.clone();\r\n\r\n            this._controls.$previous\r\n                .addClass(options.navClass[0])\r\n                .html(options.navText[0])\r\n                .hide()\r\n                .prependTo($container)\r\n                .on('click', $.proxy(function(e) {\r\n                    this.prev(options.navSpeed);\r\n                }, this));\r\n            this._controls.$next\r\n                .addClass(options.navClass[1])\r\n                .html(options.navText[1])\r\n                .hide()\r\n                .appendTo($container)\r\n                .on('click', $.proxy(function(e) {\r\n                    this.next(options.navSpeed);\r\n                }, this));\r\n\r\n            \/\/ override public methods of the carousel\r\n            for (override in this._overrides) {\r\n                this._core[override] = $.proxy(this[override], this);\r\n            }\r\n        }\r\n\r\n        \/**\r\n         * Destroys the plugin.\r\n         * @protected\r\n         *\/\r\n        Navigation.prototype.destroy = function() {\r\n            var handler, control, property, override;\r\n\r\n            for (handler in this._handlers) {\r\n                this.$element.off(handler, this._handlers[handler]);\r\n            }\r\n            for (control in this._controls) {\r\n                this._controls[control].remove();\r\n            }\r\n            for (override in this.overides) {\r\n                this._core[override] = this._overrides[override];\r\n            }\r\n            for (property in Object.getOwnPropertyNames(this)) {\r\n                typeof this[property] != 'function' && (this[property] = null);\r\n            }\r\n        }\r\n\r\n        \/**\r\n         * Updates the internal state.\r\n         * @protected\r\n         *\/\r\n        Navigation.prototype.update = function() {\r\n            var i, j, k,\r\n                options = this._core.settings,\r\n                lower = this._core.clones().length \/ 2,\r\n                upper = lower + this._core.items().length,\r\n                size = options.center || options.autoWidth || options.dotData\r\n                    ? 1 : options.dotsEach || options.items;\r\n\r\n            if (options.slideBy !== 'page') {\r\n                options.slideBy = Math.min(options.slideBy, options.items);\r\n            }\r\n\r\n            if (options.dots || options.slideBy == 'page') {\r\n                this._pages = [];\r\n\r\n                for (i = lower, j = 0, k = 0; i < upper; i++) {\r\n                    if (j >= size || j === 0) {\r\n                        this._pages.push({\r\n                            start: i - lower,\r\n                            end: i - lower + size - 1\r\n                        });\r\n                        j = 0, ++k;\r\n                    }\r\n                    j += this._core.mergers(this._core.relative(i));\r\n                }\r\n            }\r\n        }\r\n\r\n        \/**\r\n         * Draws the user interface.\r\n         * @todo The option `dotData` wont work.\r\n         * @protected\r\n         *\/\r\n        Navigation.prototype.draw = function() {\r\n            var difference, i, html = '',\r\n                options = this._core.settings,\r\n                $items = this._core.$stage.children(),\r\n                index = this._core.relative(this._core.current());\r\n\r\n            if (options.nav && !options.loop && !options.navRewind) {\r\n                this._controls.$previous.toggleClass('disabled', index <= 0);\r\n                this._controls.$next.toggleClass('disabled', index >= this._core.maximum());\r\n            }\r\n\r\n            this._controls.$previous.toggle(options.nav);\r\n            this._controls.$next.toggle(options.nav);\r\n\r\n            if (options.dots) {\r\n                difference = this._pages.length - this._controls.$indicators.children().length;\r\n\r\n                if (options.dotData && difference !== 0) {\r\n                    for (i = 0; i < this._controls.$indicators.children().length; i++) {\r\n                        html += this._templates[this._core.relative(i)];\r\n                    }\r\n                    this._controls.$indicators.html(html);\r\n                } else if (difference > 0) {\r\n                    html = new Array(difference + 1).join(this._templates[0]);\r\n                    this._controls.$indicators.append(html);\r\n                } else if (difference < 0) {\r\n                    this._controls.$indicators.children().slice(difference).remove();\r\n                }\r\n\r\n                this._controls.$indicators.find('.active').removeClass('active');\r\n                this._controls.$indicators.children().eq($.inArray(this.current(), this._pages)).addClass('active');\r\n            }\r\n\r\n            this._controls.$indicators.toggle(options.dots);\r\n        }\r\n\r\n        \/**\r\n         * Extends event data.\r\n         * @protected\r\n         * @param {Event} event - The event object which gets thrown.\r\n         *\/\r\n        Navigation.prototype.onTrigger = function(event) {\r\n            var settings = this._core.settings;\r\n\r\n            event.page = {\r\n                index: $.inArray(this.current(), this._pages),\r\n                count: this._pages.length,\r\n                size: settings && (settings.center || settings.autoWidth || settings.dotData\r\n                    ? 1 : settings.dotsEach || settings.items)\r\n            };\r\n        }\r\n\r\n        \/**\r\n         * Gets the current page position of the carousel.\r\n         * @protected\r\n         * @returns {Number}\r\n         *\/\r\n        Navigation.prototype.current = function() {\r\n            var index = this._core.relative(this._core.current());\r\n            return $.grep(this._pages, function(o) {\r\n                return o.start <= index && o.end >= index;\r\n            }).pop();\r\n        }\r\n\r\n        \/**\r\n         * Gets the current succesor\/predecessor position.\r\n         * @protected\r\n         * @returns {Number}\r\n         *\/\r\n        Navigation.prototype.getPosition = function(successor) {\r\n            var position, length,\r\n                options = this._core.settings;\r\n\r\n            if (options.slideBy == 'page') {\r\n                position = $.inArray(this.current(), this._pages);\r\n                length = this._pages.length;\r\n                successor ? ++position : --position;\r\n                position = this._pages[((position % length) + length) % length].start;\r\n            } else {\r\n                position = this._core.relative(this._core.current());\r\n                length = this._core.items().length;\r\n                successor ? position += options.slideBy : position -= options.slideBy;\r\n            }\r\n            return position;\r\n        }\r\n\r\n        \/**\r\n         * Slides to the next item or page.\r\n         * @public\r\n         * @param {Number} [speed=false] - The time in milliseconds for the transition.\r\n         *\/\r\n        Navigation.prototype.next = function(speed) {\r\n            $.proxy(this._overrides.to, this._core)(this.getPosition(true), speed);\r\n        }\r\n\r\n        \/**\r\n         * Slides to the previous item or page.\r\n         * @public\r\n         * @param {Number} [speed=false] - The time in milliseconds for the transition.\r\n         *\/\r\n        Navigation.prototype.prev = function(speed) {\r\n            $.proxy(this._overrides.to, this._core)(this.getPosition(false), speed);\r\n        }\r\n\r\n        \/**\r\n         * Slides to the specified item or page.\r\n         * @public\r\n         * @param {Number} position - The position of the item or page.\r\n         * @param {Number} [speed] - The time in milliseconds for the transition.\r\n         * @param {Boolean} [standard=false] - Whether to use the standard behaviour or not.\r\n         *\/\r\n        Navigation.prototype.to = function(position, speed, standard) {\r\n            var length;\r\n\r\n            if (!standard) {\r\n                length = this._pages.length;\r\n                $.proxy(this._overrides.to, this._core)(this._pages[((position % length) + length) % length].start, speed);\r\n            } else {\r\n                $.proxy(this._overrides.to, this._core)(position, speed);\r\n            }\r\n        }\r\n\r\n        $.fn.owlCarousel.Constructor.Plugins.Navigation = Navigation;\r\n\r\n    })(window.Zepto || window.jQuery, window, document);\r\n\r\n    \/**\r\n     * Hash Plugin\r\n     * @version 2.0.0\r\n     * @author Artus Kolanowski\r\n     * @license The MIT License (MIT)\r\n     *\/\r\n    ;(function($, window, document, undefined) {\r\n        'use strict';\r\n\r\n        \/**\r\n         * Creates the hash plugin.\r\n         * @class The Hash Plugin\r\n         * @param {Owl} carousel - The Owl Carousel\r\n         *\/\r\n        var Hash = function(carousel) {\r\n            \/**\r\n             * Reference to the core.\r\n             * @protected\r\n             * @type {Owl}\r\n             *\/\r\n            this._core = carousel;\r\n\r\n            \/**\r\n             * Hash table for the hashes.\r\n             * @protected\r\n             * @type {Object}\r\n             *\/\r\n            this._hashes = {};\r\n\r\n            \/**\r\n             * The carousel element.\r\n             * @type {jQuery}\r\n             *\/\r\n            this.$element = this._core.$element;\r\n\r\n            \/**\r\n             * All event handlers.\r\n             * @protected\r\n             * @type {Object}\r\n             *\/\r\n            this._handlers = {\r\n                'initialized.owl.carousel': $.proxy(function() {\r\n                    if (this._core.settings.startPosition == 'URLHash') {\r\n                        $(window).trigger('hashchange.owl.navigation');\r\n                    }\r\n                }, this),\r\n                'prepared.owl.carousel': $.proxy(function(e) {\r\n                    var hash = $(e.content).find('[data-hash]').andSelf('[data-hash]').attr('data-hash');\r\n                    this._hashes[hash] = e.content;\r\n                }, this)\r\n            };\r\n\r\n            \/\/ set default options\r\n            this._core.options = $.extend({}, Hash.Defaults, this._core.options);\r\n\r\n            \/\/ register the event handlers\r\n            this.$element.on(this._handlers);\r\n\r\n            \/\/ register event listener for hash navigation\r\n            $(window).on('hashchange.owl.navigation', $.proxy(function() {\r\n                var hash = window.location.hash.substring(1),\r\n                    items = this._core.$stage.children(),\r\n                    position = this._hashes[hash] && items.index(this._hashes[hash]) || 0;\r\n\r\n                if (!hash) {\r\n                    return false;\r\n                }\r\n\r\n                this._core.to(position, false, true);\r\n            }, this));\r\n        }\r\n\r\n        \/**\r\n         * Default options.\r\n         * @public\r\n         *\/\r\n        Hash.Defaults = {\r\n            URLhashListener: false\r\n        }\r\n\r\n        \/**\r\n         * Destroys the plugin.\r\n         * @public\r\n         *\/\r\n        Hash.prototype.destroy = function() {\r\n            var handler, property;\r\n\r\n            $(window).off('hashchange.owl.navigation');\r\n\r\n            for (handler in this._handlers) {\r\n                this._core.$element.off(handler, this._handlers[handler]);\r\n            }\r\n            for (property in Object.getOwnPropertyNames(this)) {\r\n                typeof this[property] != 'function' && (this[property] = null);\r\n            }\r\n        }\r\n\r\n        $.fn.owlCarousel.Constructor.Plugins.Hash = Hash;\r\n\r\n    })(window.Zepto || window.jQuery, window, document);\r\n\r\n\r\n\r\n<\/script>\r\n<\/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-aa6c653 swiper-container1 elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-woocommerce_ultimate\" data-id=\"aa6c653\" data-element_type=\"widget\" data-widget_type=\"woocommerce_ultimate.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n\t\t\n\t\t<div\n\t\tclass=\"wpcu-products wpcu-theme_3 wpcu-lazy-load \"\n\t\tstyle=\"\n\t\t\t--wpcu-productTitleSize: 16px;\n\t\t\t--wpcu-productTitleColor: #363940;\n\t\t\t--wpcu-productTitleColorHover: #ff5500;\n\t\t\t--wpcu-productPriceSize: 14px;\n\t\t\t--wpcu-productPriceColor: #ff5500;\n\t\t\t--wpcu-productRatingSize: 16px;\n\t\t\t--wpcu-productRatingColor: #FEB507;\n\t\t\t--wpcu-buttonColor: #ffffff;\n\t\t\t--wpcu-buttonColorHover: #ffffff;\n\t\t\t--wpcu-buttonBgColor: #ff5500;\n\t\t\t--wpcu-buttonBgColorHover: #9A9A9A;\n\t\t\t--wpcu-ribbonBgColor: #A4C741;\n\t\t\t--wpcu-qvIconColor: #ffffff;\n\t\t\t--wpcu-qvBgColor: #ff5500;\n\t\t\"\n\t\t\t\t>\n\t\t\t\t<div class=\"wpcu-row wpcu-column-3 wpcu-column-md-2 wpcu-column-sm-1\">\n\t\t<div class=\"wpcu-product \">\n    <div class=\"wpcu-product__content\">\n        <div class=\"wpcu-product__img wpcu-pos-relative\">\n            <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/lift-arm-shaft\/\">\n                <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/05\/Screen-Shot-2025-05-25-at-12.42.49-PM-350x250.png\" alt=\"LIFT ARM SHAFT\">\n            <\/a>\n\n            \n            \n            \n            \n                    <\/div>\n        <div class=\"wpcu-product__details\">\n                                             <\/div>\n    <\/div>\n<\/div><!-- ends: .wpcu-product -->\n<div class=\"wpcu-product \">\n    <div class=\"wpcu-product__content\">\n        <div class=\"wpcu-product__img wpcu-pos-relative\">\n            <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/clevis-mf\/\">\n                <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/05\/ROD-CLEVIS-e1748156462553-350x250.png\" alt=\"CLEVIS MF\">\n            <\/a>\n\n            \n            \n            \n            \n                    <\/div>\n        <div class=\"wpcu-product__details\">\n                                             <\/div>\n    <\/div>\n<\/div><!-- ends: .wpcu-product -->\n<div class=\"wpcu-product \">\n    <div class=\"wpcu-product__content\">\n        <div class=\"wpcu-product__img wpcu-pos-relative\">\n            <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/brake-rod-long\/\">\n                <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/05\/B-ROD-LONG-copy-350x250.png\" alt=\"Brake Rod Long\">\n            <\/a>\n\n            \n            \n            \n            \n                    <\/div>\n        <div class=\"wpcu-product__details\">\n                                             <\/div>\n    <\/div>\n<\/div><!-- ends: .wpcu-product -->\n<div class=\"wpcu-product \">\n    <div class=\"wpcu-product__content\">\n        <div class=\"wpcu-product__img wpcu-pos-relative\">\n            <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/brake-rod-adjustable\/\">\n                <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/05\/B-ROD-ADJ-BLACK-350x250.png\" alt=\"Brake Rod Adjustable\">\n            <\/a>\n\n            \n            \n            \n            \n                    <\/div>\n        <div class=\"wpcu-product__details\">\n                                             <\/div>\n    <\/div>\n<\/div><!-- ends: .wpcu-product -->\n<div class=\"wpcu-product \">\n    <div class=\"wpcu-product__content\">\n        <div class=\"wpcu-product__img wpcu-pos-relative\">\n            <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/aftermarket-pin-for-caterpillar\/\">\n                <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/05\/Screen-Shot-2025-02-12-at-19.40-Photoroom-9-350x250.png\" alt=\"Stabilizer Assembly MF\">\n            <\/a>\n\n            \n            \n            \n            \n                    <\/div>\n        <div class=\"wpcu-product__details\">\n                                             <\/div>\n    <\/div>\n<\/div><!-- ends: .wpcu-product -->\n<div class=\"wpcu-product \">\n    <div class=\"wpcu-product__content\">\n        <div class=\"wpcu-product__img wpcu-pos-relative\">\n            <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/pins-for-earth-moving-machines-3\/\">\n                <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/PINS-FOR-EARTH-MOVING-MACHINES-1024x576-1-350x250.jpg\" alt=\"PINS FOR EARTH MOVING MACHINES\">\n            <\/a>\n\n            \n            \n            \n            \n                    <\/div>\n        <div class=\"wpcu-product__details\">\n                                             <\/div>\n    <\/div>\n<\/div><!-- ends: .wpcu-product -->\n<div class=\"wpcu-product \">\n    <div class=\"wpcu-product__content\">\n        <div class=\"wpcu-product__img wpcu-pos-relative\">\n            <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/pins-for-earth-moving-machines-2\/\">\n                <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/PINS-FOR-EARTH-MOVING-MACHINES-2-1024x576-1-350x250.jpg\" alt=\"PINS FOR EARTH MOVING MACHINES\">\n            <\/a>\n\n            \n            \n            \n            \n                    <\/div>\n        <div class=\"wpcu-product__details\">\n                                             <\/div>\n    <\/div>\n<\/div><!-- ends: .wpcu-product -->\n<div class=\"wpcu-product \">\n    <div class=\"wpcu-product__content\">\n        <div class=\"wpcu-product__img wpcu-pos-relative\">\n            <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/pins-for-earth-moving-machines\/\">\n                <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/PINS-FOR-EARTH-MOVING-MACHINES-1-350x250.jpg\" alt=\"PINS FOR EARTH MOVING MACHINES\">\n            <\/a>\n\n            \n            \n            \n            \n                    <\/div>\n        <div class=\"wpcu-product__details\">\n                                             <\/div>\n    <\/div>\n<\/div><!-- ends: .wpcu-product -->\n<div class=\"wpcu-product \">\n    <div class=\"wpcu-product__content\">\n        <div class=\"wpcu-product__img wpcu-pos-relative\">\n            <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/pins-bushings-for-earth-moving-machines\/\">\n                <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/PINS-BUSHING-FOR-EARTH-MOVING-MACHINES-350x250.jpg\" alt=\"PINS &#038; BUSHINGS FOR EARTH MOVING MACHINES\">\n            <\/a>\n\n            \n            \n            \n            \n                    <\/div>\n        <div class=\"wpcu-product__details\">\n                                             <\/div>\n    <\/div>\n<\/div><!-- ends: .wpcu-product -->\n<div class=\"wpcu-product \">\n    <div class=\"wpcu-product__content\">\n        <div class=\"wpcu-product__img wpcu-pos-relative\">\n            <a href=\"https:\/\/dezwebsolutions.com\/panengineers\/product\/sleeves-bushes-for-earth-moving-machines\/\">\n                <img decoding=\"async\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/BUSHES-1024x576-1-350x250.jpg\" alt=\"SLEEVES \/ BUSHES FOR EARTH MOVING MACHINES\">\n            <\/a>\n\n            \n            \n            \n            \n                    <\/div>\n        <div class=\"wpcu-product__details\">\n                                             <\/div>\n    <\/div>\n<\/div><!-- ends: .wpcu-product -->\n\n\t\t\t<\/div>\n\t\t\t\t\t\t \t\t<\/div><!-- ends: .wpcu-products -->\n\t\t\t\t\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-dc1c8d1 e-flex e-con-boxed e-con e-parent\" data-id=\"dc1c8d1\" data-element_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-f7ed224 e-con-full e-flex e-con e-child\" data-id=\"f7ed224\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6bf6bf6 elementor-widget elementor-widget-heading\" data-id=\"6bf6bf6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Leading<b> Brands<\/b><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-73e77ac elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"73e77ac\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We take immense pride in our collaboration with the most prestigious brands in the industry, including JCB, Komatsu, Volvo, Caterpillar, and Massey Ferguson. Our commitment to excellence is reflected in our collaboration with these world-class manufacturers, ensuring the highest standards in every product we deliver<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-75ad373 e-flex e-con-boxed e-con e-child\" data-id=\"75ad373\" data-element_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-4ab1530 e-con-full e-flex e-con e-child\" data-id=\"4ab1530\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ab3ea52 elementor-widget elementor-widget-image\" data-id=\"ab3ea52\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"155\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/kom-logo-1.png\" class=\"elementor-animation-grow-rotate attachment-large size-large wp-image-85\" alt=\"\" srcset=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/kom-logo-1.png 872w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/kom-logo-1-300x58.png 300w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/kom-logo-1-768x149.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-408f1fb e-con-full e-flex e-con e-child\" data-id=\"408f1fb\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-70930fd elementor-widget elementor-widget-image\" data-id=\"70930fd\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"390\" height=\"77\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/cp-logo-1.png\" class=\"elementor-animation-grow-rotate attachment-large size-large wp-image-86\" alt=\"\" srcset=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/cp-logo-1.png 390w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/cp-logo-1-300x59.png 300w\" sizes=\"(max-width: 390px) 100vw, 390px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8b2fed5 e-con-full e-flex e-con e-child\" data-id=\"8b2fed5\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-42c1a9c elementor-widget elementor-widget-image\" data-id=\"42c1a9c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"60\" height=\"39\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/mf-logo.png\" class=\"elementor-animation-grow-rotate attachment-large size-large wp-image-83\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-206207d e-con-full e-flex e-con e-child\" data-id=\"206207d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f1a483 elementor-widget elementor-widget-image\" data-id=\"7f1a483\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"226\" height=\"56\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/volvo-logo.png\" class=\"elementor-animation-grow-rotate attachment-full size-full wp-image-84\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-53ee84b e-con-full e-flex e-con e-child\" data-id=\"53ee84b\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dff0f61 elementor-widget elementor-widget-image\" data-id=\"dff0f61\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"104\" height=\"39\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/jcb-logo.png\" class=\"elementor-animation-grow-rotate attachment-large size-large wp-image-81\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\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\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-08dccd2 wraptwo e-flex e-con-boxed e-con e-parent\" data-id=\"08dccd2\" data-element_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-c6fd139 e-con-full e-flex e-con e-child\" data-id=\"c6fd139\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-5a92906 e-con-full colleft e-flex e-con e-child\" data-id=\"5a92906\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bc93bd0 elementor-widget elementor-widget-image\" data-id=\"bc93bd0\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"800\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/quality-testing.png\" class=\"attachment-full size-full wp-image-640\" alt=\"\" srcset=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/quality-testing.png 1200w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/quality-testing-300x200.png 300w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/quality-testing-1024x683.png 1024w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/quality-testing-768x512.png 768w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/quality-testing-600x400.png 600w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-23f249d e-con-full colright e-flex e-con e-child\" data-id=\"23f249d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5fb2bd3 elementor-position-left elementor-vertical-align-middle elementor-widget elementor-widget-image-box\" data-id=\"5fb2bd3\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img loading=\"lazy\" decoding=\"async\" width=\"113\" height=\"113\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/gear.png\" class=\"attachment-full size-full wp-image-132\" alt=\"\" \/><\/figure><div class=\"elementor-image-box-content\"><h3 class=\"elementor-image-box-title\">Who we are<\/h3><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0d9b11d elementor-widget elementor-widget-heading\" data-id=\"0d9b11d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Building quality<b> \nindustrial innovation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-92e0460 elementor-widget elementor-widget-text-editor\" data-id=\"92e0460\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><b>PAN ENGINEERS<\/b>, headquartered in Ludhiana, India, is a distinguished organization specializing in a diverse range of high-quality products, including earthmoving machinery parts, oil &amp; gas equipment components, automotive and agricultural parts, truck &amp; trailer components, and customized engineering solutions tailored to customer specifications.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b7ef71d elementor-widget elementor-widget-text-editor\" data-id=\"b7ef71d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Led by technopreneurs with advanced professional qualifications and extensive industry experience, the company is supported by a highly skilled team of employees. The knowledge and expertise gained over the years are clearly evident in the exceptional quality of the products we manufacture and the optimized procedures we follow.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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-969f359 e-flex e-con-boxed e-con e-parent\" data-id=\"969f359\" data-element_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-943f5c2 e-con-full e-flex e-con e-child\" data-id=\"943f5c2\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-49167ee e-con-full e-flex e-con e-child\" data-id=\"49167ee\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d27d8b9 elementor-widget elementor-widget-counter\" data-id=\"d27d8b9\" data-element_type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Years of Experience<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"16\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\">+<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6435156 e-con-full e-flex e-con e-child\" data-id=\"6435156\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8ee890a elementor-widget elementor-widget-counter\" data-id=\"8ee890a\" data-element_type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Associates &amp; Growing<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"100\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-496d46d e-con-full e-flex e-con e-child\" data-id=\"496d46d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-81ce709 elementor-widget elementor-widget-counter\" data-id=\"81ce709\" data-element_type=\"widget\" data-widget_type=\"counter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-counter\">\n\t\t\t<div class=\"elementor-counter-title\">Range of Products<\/div>\t\t\t<div class=\"elementor-counter-number-wrapper\">\n\t\t\t\t<span class=\"elementor-counter-number-prefix\"><\/span>\n\t\t\t\t<span class=\"elementor-counter-number\" data-duration=\"2000\" data-to-value=\"11000\" data-from-value=\"0\" data-delimiter=\",\">0<\/span>\n\t\t\t\t<span class=\"elementor-counter-number-suffix\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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-e76ee8a e-flex e-con-boxed e-con e-parent\" data-id=\"e76ee8a\" data-element_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-1c22cae e-con-full e-flex e-con e-child\" data-id=\"1c22cae\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d3d21ff elementor-position-left elementor-vertical-align-middle elementor-widget elementor-widget-image-box\" data-id=\"d3d21ff\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img loading=\"lazy\" decoding=\"async\" width=\"113\" height=\"113\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/gear.png\" class=\"attachment-full size-full wp-image-132\" alt=\"\" \/><\/figure><div class=\"elementor-image-box-content\"><h3 class=\"elementor-image-box-title\">OUR WORK<\/h3><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a861aef elementor-widget elementor-widget-heading\" data-id=\"a861aef\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">high<b>lights<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f814122 elementor-widget elementor-widget-text-editor\" data-id=\"f814122\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>At PAN ENGINEERS, we stand at the forefront of innovation and quality. Our key highlights include:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\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-0b660c5 e-flex e-con-boxed e-con e-parent\" data-id=\"0b660c5\" data-element_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-0543b49 e-con-full e-flex e-con e-child\" data-id=\"0543b49\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-20c3bd5 e-con-full e-flex e-con e-child\" data-id=\"20c3bd5\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b95ce33 elementor-widget elementor-widget-image\" data-id=\"b95ce33\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"project-1.jpg\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM1LCJ1cmwiOiJodHRwczpcL1wvZGV6d2Vic29sdXRpb25zLmNvbVwvcGFuZW5naW5lZXJzXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvcHJvamVjdC0xLmpwZy5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1757\" height=\"1230\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" class=\"attachment-full size-full wp-image-235\" alt=\"\" srcset=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg 1757w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-300x210.jpg 300w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1024x717.jpg 1024w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-768x538.jpg 768w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1536x1075.jpg 1536w\" sizes=\"(max-width: 1757px) 100vw, 1757px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40985fd elementor-widget elementor-widget-heading\" data-id=\"40985fd\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Total Quality Management Implementation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8ba870c e-con-full e-flex e-con e-child\" data-id=\"8ba870c\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c2e369a elementor-widget elementor-widget-image\" data-id=\"c2e369a\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"project-1.jpg\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM1LCJ1cmwiOiJodHRwczpcL1wvZGV6d2Vic29sdXRpb25zLmNvbVwvcGFuZW5naW5lZXJzXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvcHJvamVjdC0xLmpwZy5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1757\" height=\"1230\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" class=\"attachment-full size-full wp-image-235\" alt=\"\" srcset=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg 1757w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-300x210.jpg 300w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1024x717.jpg 1024w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-768x538.jpg 768w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1536x1075.jpg 1536w\" sizes=\"(max-width: 1757px) 100vw, 1757px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dcb9f4d elementor-widget elementor-widget-heading\" data-id=\"dcb9f4d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Total Quality Management Implementation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7c017c9 e-con-full e-flex e-con e-child\" data-id=\"7c017c9\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8125235 elementor-widget elementor-widget-image\" data-id=\"8125235\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"project-1.jpg\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM1LCJ1cmwiOiJodHRwczpcL1wvZGV6d2Vic29sdXRpb25zLmNvbVwvcGFuZW5naW5lZXJzXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvcHJvamVjdC0xLmpwZy5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1757\" height=\"1230\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" class=\"attachment-full size-full wp-image-235\" alt=\"\" srcset=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg 1757w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-300x210.jpg 300w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1024x717.jpg 1024w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-768x538.jpg 768w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1536x1075.jpg 1536w\" sizes=\"(max-width: 1757px) 100vw, 1757px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bc474ff elementor-widget elementor-widget-heading\" data-id=\"bc474ff\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Total Quality Management Implementation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4d32bd4 e-con-full e-flex e-con e-child\" data-id=\"4d32bd4\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-73ec9c4 e-con-full e-flex e-con e-child\" data-id=\"73ec9c4\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-cc6dc94 elementor-widget elementor-widget-image\" data-id=\"cc6dc94\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"project-1.jpg\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM1LCJ1cmwiOiJodHRwczpcL1wvZGV6d2Vic29sdXRpb25zLmNvbVwvcGFuZW5naW5lZXJzXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvcHJvamVjdC0xLmpwZy5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1757\" height=\"1230\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" class=\"attachment-full size-full wp-image-235\" alt=\"\" srcset=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg 1757w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-300x210.jpg 300w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1024x717.jpg 1024w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-768x538.jpg 768w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1536x1075.jpg 1536w\" sizes=\"(max-width: 1757px) 100vw, 1757px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bb28ce9 elementor-widget elementor-widget-heading\" data-id=\"bb28ce9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Total Quality Management Implementation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d3897a8 e-con-full e-flex e-con e-child\" data-id=\"d3897a8\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-50a64e0 elementor-widget elementor-widget-image\" data-id=\"50a64e0\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"project-1.jpg\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM1LCJ1cmwiOiJodHRwczpcL1wvZGV6d2Vic29sdXRpb25zLmNvbVwvcGFuZW5naW5lZXJzXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvcHJvamVjdC0xLmpwZy5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1757\" height=\"1230\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" class=\"attachment-full size-full wp-image-235\" alt=\"\" srcset=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg 1757w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-300x210.jpg 300w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1024x717.jpg 1024w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-768x538.jpg 768w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1536x1075.jpg 1536w\" sizes=\"(max-width: 1757px) 100vw, 1757px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bb225b5 elementor-widget elementor-widget-heading\" data-id=\"bb225b5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Total Quality Management Implementation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-739241f e-con-full e-flex e-con e-child\" data-id=\"739241f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d4cb35f elementor-widget elementor-widget-image\" data-id=\"d4cb35f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"project-1.jpg\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjM1LCJ1cmwiOiJodHRwczpcL1wvZGV6d2Vic29sdXRpb25zLmNvbVwvcGFuZW5naW5lZXJzXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI1XC8wNFwvcHJvamVjdC0xLmpwZy5qcGcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1757\" height=\"1230\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg\" class=\"attachment-full size-full wp-image-235\" alt=\"\" srcset=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg.jpg 1757w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-300x210.jpg 300w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1024x717.jpg 1024w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-768x538.jpg 768w, https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/project-1.jpg-1536x1075.jpg 1536w\" sizes=\"(max-width: 1757px) 100vw, 1757px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-985cad3 elementor-widget elementor-widget-heading\" data-id=\"985cad3\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Total Quality Management Implementation<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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-8649cc9 e-flex e-con-boxed e-con e-parent\" data-id=\"8649cc9\" data-element_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\t\t<div class=\"elementor-element elementor-element-70a0e57 elementor-widget elementor-widget-template\" data-id=\"70a0e57\" data-element_type=\"widget\" data-widget_type=\"template.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-template\">\n\t\t\t\t\t<div data-elementor-type=\"container\" data-elementor-id=\"261\" class=\"elementor elementor-261\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1e9a0049 e-flex e-con-boxed e-con e-parent\" data-id=\"1e9a0049\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-4ed12bde e-con-full e-flex e-con e-child\" data-id=\"4ed12bde\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-7be62ee9 e-con-full e-flex e-con e-child\" data-id=\"7be62ee9\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-31386d04 elementor-position-left elementor-vertical-align-middle elementor-widget elementor-widget-image-box\" data-id=\"31386d04\" data-element_type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><img loading=\"lazy\" decoding=\"async\" width=\"113\" height=\"113\" src=\"https:\/\/dezwebsolutions.com\/panengineers\/wp-content\/uploads\/2025\/04\/gear.png\" class=\"attachment-full size-full wp-image-132\" alt=\"\" \/><\/figure><div class=\"elementor-image-box-content\"><h3 class=\"elementor-image-box-title\">CONTACT US<\/h3><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2fffe01b elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"2fffe01b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Get in touch\n<b>with us<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-70f3559b elementor-widget elementor-widget-text-editor\" data-id=\"70f3559b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Reach out for any inquiries, support, or to discuss how we can<br \/>meet your industrial needs.<\/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-e06f18a e-con-full e-flex e-con e-child\" data-id=\"e06f18a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b437d6b elementor-view-stacked elementor-shape-rounded elementor-position-left elementor-vertical-align-bottom elementor-mobile-position-top elementor-widget elementor-widget-icon-box\" data-id=\"b437d6b\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"tel:+91%2099888%2028078\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"Contact\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-phone-alt\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"tel:+91%2099888%2028078\" >\n\t\t\t\t\t\t\tContact\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\t+91 99888 28078\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-427209c7 e-con-full e-flex e-con e-child\" data-id=\"427209c7\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-11dd915 elementor-view-stacked elementor-shape-rounded elementor-position-left elementor-vertical-align-bottom elementor-mobile-position-top elementor-widget elementor-widget-icon-box\" data-id=\"11dd915\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"mailto:panengineers@gmail.com\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"E-mail\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-envelope\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"mailto:panengineers@gmail.com\" >\n\t\t\t\t\t\t\tE-mail\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tinfo@panengineers.com\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3a6410ca e-con-full e-flex e-con e-child\" data-id=\"3a6410ca\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a4c7157 elementor-view-stacked elementor-shape-rounded elementor-position-left elementor-vertical-align-middle elementor-widget__width-initial elementor-mobile-position-top elementor-widget elementor-widget-icon-box\" data-id=\"a4c7157\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/maps.app.goo.gl\/7dwqGpt1LkE3WHLG7\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"Our Address\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-map-marker-alt\" viewBox=\"0 0 384 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/maps.app.goo.gl\/7dwqGpt1LkE3WHLG7\" >\n\t\t\t\t\t\t\tOur Address\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tSt No.7, Bhai Himmat Singh Nagar, G.N.E College Road, Dugri, Ludhiana, Punjab\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3c1f74a e-con-full e-flex e-con e-child\" data-id=\"3c1f74a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-20e31e0 elementor-view-stacked elementor-shape-rounded elementor-position-left elementor-vertical-align-middle elementor-widget__width-initial elementor-mobile-position-top elementor-widget elementor-widget-icon-box\" data-id=\"20e31e0\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/maps.app.goo.gl\/7dwqGpt1LkE3WHLG7\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"Whatsapp\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fab-whatsapp-square\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M224 122.8c-72.7 0-131.8 59.1-131.9 131.8 0 24.9 7 49.2 20.2 70.1l3.1 5-13.3 48.6 49.9-13.1 4.8 2.9c20.2 12 43.4 18.4 67.1 18.4h.1c72.6 0 133.3-59.1 133.3-131.8 0-35.2-15.2-68.3-40.1-93.2-25-25-58-38.7-93.2-38.7zm77.5 188.4c-3.3 9.3-19.1 17.7-26.7 18.8-12.6 1.9-22.4.9-47.5-9.9-39.7-17.2-65.7-57.2-67.7-59.8-2-2.6-16.2-21.5-16.2-41s10.2-29.1 13.9-33.1c3.6-4 7.9-5 10.6-5 2.6 0 5.3 0 7.6.1 2.4.1 5.7-.9 8.9 6.8 3.3 7.9 11.2 27.4 12.2 29.4s1.7 4.3.3 6.9c-7.6 15.2-15.7 14.6-11.6 21.6 15.3 26.3 30.6 35.4 53.9 47.1 4 2 6.3 1.7 8.6-1 2.3-2.6 9.9-11.6 12.5-15.5 2.6-4 5.3-3.3 8.9-2 3.6 1.3 23.1 10.9 27.1 12.9s6.6 3 7.6 4.6c.9 1.9.9 9.9-2.4 19.1zM400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zM223.9 413.2c-26.6 0-52.7-6.7-75.8-19.3L64 416l22.5-82.2c-13.9-24-21.2-51.3-21.2-79.3C65.4 167.1 136.5 96 223.9 96c42.4 0 82.2 16.5 112.2 46.5 29.9 30 47.9 69.8 47.9 112.2 0 87.4-72.7 158.5-160.1 158.5z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/maps.app.goo.gl\/7dwqGpt1LkE3WHLG7\" >\n\t\t\t\t\t\t\tWhatsapp\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-875f541 e-con-full e-flex e-con e-child\" data-id=\"875f541\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-414465e elementor-view-stacked elementor-shape-rounded elementor-position-left elementor-vertical-align-middle elementor-widget__width-initial elementor-mobile-position-top elementor-widget elementor-widget-icon-box\" data-id=\"414465e\" data-element_type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\t\t\t<div class=\"elementor-icon-box-icon\">\n\t\t\t\t<a href=\"https:\/\/maps.app.goo.gl\/7dwqGpt1LkE3WHLG7\" class=\"elementor-icon\" tabindex=\"-1\" aria-label=\"Skype\">\n\t\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fab-skype\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M424.7 299.8c2.9-14 4.7-28.9 4.7-43.8 0-113.5-91.9-205.3-205.3-205.3-14.9 0-29.7 1.7-43.8 4.7C161.3 40.7 137.7 32 112 32 50.2 32 0 82.2 0 144c0 25.7 8.7 49.3 23.3 68.2-2.9 14-4.7 28.9-4.7 43.8 0 113.5 91.9 205.3 205.3 205.3 14.9 0 29.7-1.7 43.8-4.7 19 14.6 42.6 23.3 68.2 23.3 61.8 0 112-50.2 112-112 .1-25.6-8.6-49.2-23.2-68.1zm-194.6 91.5c-65.6 0-120.5-29.2-120.5-65 0-16 9-30.6 29.5-30.6 31.2 0 34.1 44.9 88.1 44.9 25.7 0 42.3-11.4 42.3-26.3 0-18.7-16-21.6-42-28-62.5-15.4-117.8-22-117.8-87.2 0-59.2 58.6-81.1 109.1-81.1 55.1 0 110.8 21.9 110.8 55.4 0 16.9-11.4 31.8-30.3 31.8-28.3 0-29.2-33.5-75-33.5-25.7 0-42 7-42 22.5 0 19.8 20.8 21.8 69.1 33 41.4 9.3 90.7 26.8 90.7 77.6 0 59.1-57.1 86.5-112 86.5z\"><\/path><\/svg>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<a href=\"https:\/\/maps.app.goo.gl\/7dwqGpt1LkE3WHLG7\" >\n\t\t\t\t\t\t\tSkype\t\t\t\t\t\t<\/a>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-66d82e6d e-con-full e-flex e-con e-child\" data-id=\"66d82e6d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3086f702 elementor-widget elementor-widget-heading\" data-id=\"3086f702\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Contact <b> Us<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-65d972b1 elementor-button-align-start elementor-widget elementor-widget-form\" data-id=\"65d972b1\" data-element_type=\"widget\" data-settings=\"{&quot;step_next_label&quot;:&quot;Submit Message&quot;,&quot;step_previous_label&quot;:&quot;Submit Message&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" name=\"New Form\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"261\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"65d972b1\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"\" \/>\n\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-name elementor-col-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-name\" class=\"elementor-field-label elementor-screen-only\">\n\t\t\t\t\t\t\t\tEnter first name\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[name]\" id=\"form-field-name\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Enter first name\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-text elementor-field-group elementor-column elementor-field-group-field_9a3f3b0 elementor-col-50\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_9a3f3b0\" class=\"elementor-field-label elementor-screen-only\">\n\t\t\t\t\t\t\t\tEnter last name\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"text\" name=\"form_fields[field_9a3f3b0]\" id=\"form-field-field_9a3f3b0\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Enter last name\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-email\" class=\"elementor-field-label elementor-screen-only\">\n\t\t\t\t\t\t\t\tEmail\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[email]\" id=\"form-field-email\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Enter your e-mail\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-tel elementor-field-group elementor-column elementor-field-group-field_51f642e elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-field_51f642e\" class=\"elementor-field-label elementor-screen-only\">\n\t\t\t\t\t\t\t\tEmail\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t\t\t<input size=\"1\" type=\"tel\" name=\"form_fields[field_51f642e]\" id=\"form-field-field_51f642e\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Enter your phone no.\" required=\"required\" pattern=\"[0-9()#&amp;+*-=.]+\" title=\"Only numbers and phone characters (#, -, *, etc) are accepted.\">\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-textarea elementor-field-group elementor-column elementor-field-group-message elementor-col-100\">\n\t\t\t\t\t\t\t\t\t\t\t\t<label for=\"form-field-message\" class=\"elementor-field-label elementor-screen-only\">\n\t\t\t\t\t\t\t\tMessage\t\t\t\t\t\t\t<\/label>\n\t\t\t\t\t\t<textarea class=\"elementor-field-textual elementor-field  elementor-size-sm\" name=\"form_fields[message]\" id=\"form-field-message\" rows=\"4\" placeholder=\"Write Message\"><\/textarea>\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Submit Message<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\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\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\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-35a7395 e-con-full e-flex e-con e-parent\" data-id=\"35a7395\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-4022d00 e-con-full e-flex e-con e-child\" data-id=\"4022d00\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a7142dc elementor-widget elementor-widget-google_maps\" data-id=\"a7142dc\" data-element_type=\"widget\" data-widget_type=\"google_maps.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-custom-embed\">\n\t\t\t<iframe loading=\"lazy\"\n\t\t\t\t\tsrc=\"https:\/\/maps.google.com\/maps?q=pan%20engin&#038;t=m&#038;z=14&#038;output=embed&#038;iwloc=near\"\n\t\t\t\t\ttitle=\"pan engin\"\n\t\t\t\t\taria-label=\"pan engin\"\n\t\t\t><\/iframe>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\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>Earthmoving Machinery ComponentsPremium aftermarket spare parts, precisely engineered for JCB, Komatsu, Volvo, and Caterpillar machines, ensuring superior performance and durability. Contact Us For More InformationTRACTOR &#038; AGRICULTURAL COMPONENTSHigh-performance aftermarket spares for front axle assemblies, including pivot pins, precision-engineered bushes, axles, wheel hubs, hydraulic, and linkage components\u2014meticulously manufactured to OEM specifications with superior metallurgical accuracy for [&hellip;]<\/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-9","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dezwebsolutions.com\/panengineers\/wp-json\/wp\/v2\/pages\/9","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dezwebsolutions.com\/panengineers\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dezwebsolutions.com\/panengineers\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dezwebsolutions.com\/panengineers\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dezwebsolutions.com\/panengineers\/wp-json\/wp\/v2\/comments?post=9"}],"version-history":[{"count":362,"href":"https:\/\/dezwebsolutions.com\/panengineers\/wp-json\/wp\/v2\/pages\/9\/revisions"}],"predecessor-version":[{"id":982,"href":"https:\/\/dezwebsolutions.com\/panengineers\/wp-json\/wp\/v2\/pages\/9\/revisions\/982"}],"wp:attachment":[{"href":"https:\/\/dezwebsolutions.com\/panengineers\/wp-json\/wp\/v2\/media?parent=9"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}