{"version":3,"sources":["webpack:///./node_modules/react-particles-js/lib/particles.js","webpack:///./src/components/blog/layout-two/blog.stc.js","webpack:///./src/components/blog/layout-two/index.js","webpack:///./src/components/shared/form/form.stc.js","webpack:///./src/components/shared/form/input/input.stc.js","webpack:///./src/components/shared/form/input/index.js","webpack:///./src/components/shared/form/textarea/textarea.stc.js","webpack:///./src/components/shared/form/textarea/index.js","webpack:///./src/components/shared/form/index.js","webpack:///./src/containers/contact/contact-form/contact-form.stc.js","webpack:///./src/containers/contact/contact-form/index.js","webpack:///./src/components/shared/button/button.stc.js","webpack:///./src/components/shared/button/index.js","webpack:///./src/containers/home-particle/hero/hero.style.js","webpack:///./src/containers/home-particle/hero/index.js","webpack:///./src/containers/home-particle/story/story.stc.js","webpack:///./src/containers/home-particle/story/index.js","webpack:///./src/containers/home-particle/project/project.stc.js","webpack:///./src/containers/home-particle/project/index.js","webpack:///./src/containers/home-particle/testimonial/testimonial.stc.js","webpack:///./src/containers/home-particle/testimonial/index.js","webpack:///./src/containers/home-particle/about/about.stc.js","webpack:///./src/containers/home-particle/about/index.js","webpack:///./src/containers/home-particle/video/video.stc.js","webpack:///./src/containers/home-particle/video/index.js","webpack:///./src/containers/home-particle/feature-blog/feature-blog.stc.js","webpack:///./src/containers/home-particle/feature-blog/index.js","webpack:///./src/components/blog/layout-one/blog.stc.js","webpack:///./src/components/blog/layout-one/index.js","webpack:///./src/containers/home-particle/blog/blog.stc.js","webpack:///./src/containers/home-particle/blog/index.js","webpack:///./src/pages/index.js","webpack:///./src/components/project/project.stc.js","webpack:///./src/components/project/index.js"],"names":["e","module","exports","t","i","n","r","l","call","m","c","d","o","Object","defineProperty","enumerable","get","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","s","self","a","Function","CIRCLE","EDGE","TRIANGLE","POLYGON","STAR","IMAGE","IMAGES","ShapeType","TOP","TOP_RIGHT","RIGHT","BOTTOM_RIGHT","BOTTOM","BOTTOM_LEFT","LEFT","TOP_LEFT","NONE","MoveDirection","BOUNCE","OUT","MoveOutMode","GRAB","PUSH","REMOVE","BUBBLE","REPULSE","InteractivityMode","INLINE","INSIDE","OUTSIDE","PolygonType","RANDOM_POINT","ONE_PER_POINT","RANDOM_LENGTH","EQUIDISTANT","PolygonInlineArrangementType","PATH","RADIUS","PolygonMoveType","this","__importDefault","Interactivity","Modes","Particle","ParticleManager","ParticlesLibrary","u","Vendors","iterator","constructor","indexOf","hexToRgb","replace","exec","parseInt","g","b","clamp","Math","min","max","isInArray","isEqual","Array","isArray","deepAssign","arguments","length","h","map","y","getColor","floor","random","rgb","hsl","clear","set","delete","has","__data__","configurable","writable","key","MOUSEMOVE","MOUSELEAVE","MouseInteractivityStatus","TypeError","library","mouseMovePosition","x","mouseClickPosition","mouseClickTime","onMouseMove","onMouseLeave","onMouseClick","getParameter","interactivity","detect_on","interactionElement","window","canvas","element","events","onhover","enable","onclick","addEventListener","removeEventListener","clientX","clientY","offsetX","offsetY","retina","pxratio","mouseStatus","particles","polygon","assign","type","polygonMask","isPointInsidePolygon","Date","getTime","mode","move","modes","push","particles_nb","pushParticles","removeParticles","remove","bubble_clicking","repulse_clicking","repulse_count","repulse_finish","setTimeout","repulse","duration","manager","getDistance","line_linked","distance","opacity","color_rgb_line","ctx","save","strokeStyle","concat","lineWidth","width","beginPath","shadow","shadowBlur","blur","shadowColor","color","moveTo","lineTo","stroke","closePath","restore","getDistances","distanceX","distanceY","attract","rotateX","rotateY","vx","vy","radius","toString","f","v","nodeType","Buffer","isBuffer","webpackPolyfill","deprecate","paths","children","isTypedArray","Particles","ReferenceError","Reflect","getOwnPropertyDescriptor","setPrototypeOf","getPrototypeOf","__proto__","__importStar","state","loadCanvas","destroy","setState","buildParticlesLibrary","params","start","props","refresh","height","className","canvasClassName","createElement","ref","style","Component","defaultProps","bubble_duration_end","pushing","number","array","position","particlesDraw","splice","bubble","size","radius_bubble","opacityValue","bubbleOpacity","pow","out_mode","atan2","cos","sin","_","vx_i","vy_i","grab","shape","setupSize","setupPosition","setupColor","setupOpacity","setupAnimation","setupShape","anim","size_status","vs","speed","sync","initialPosition","vendors","inline","arrangement","getRandomPointOnPolygonPath","getRandomPointOnPolygonPathByLength","getEquidistantPoingOnPolygonPathByIndex","getPoingOnPolygonPathByIndex","getRandomPointInsidePolygonPath","getRandomPointOutsidePolygonPath","bounce","checkOverlap","opacity_status","vo","direction","straight","shapeImage","imageManager","getImage","svgData","createSvgImage","then","elementData","loaded","fillStyle","arc","PI","rect","drawShape","nb_sides","drawImage","ratio","fill","particlesCreate","getVerticesNumber","forEach","opacity_min","size_min","x_left","x_right","y_top","y_bottom","grabParticle","bubbleParticle","repulseParticle","linkParticles","attractParticles","bounceParticles","sqrt","clearRect","particlesUpdate","draw","drawPolygon","cancelAnimationFrame","drawAnimFrame","particlesEmpty","canvasClear","ImageManager","onWindowResize","loadParameters","PolygonMask","getDefaultParams","offsetWidth","offsetHeight","attachEventHandlers","detachListeners","detachEventHandlers","devicePixelRatio","retina_detect","setParameters","getContext","resize","fillRect","console","warn","initialize","densityAutoParticles","SINGLE","MULTIPLE","ImageMode","singleImage","multipleImages","Error","parseSingleImage","image","images","Promise","all","resolve","buildImageObject","src","atob","loadImage","downloadImage","response","Image","reject","XMLHttpRequest","open","onreadystatechange","readyState","status","currentTarget","xhr","send","Blob","URL","createObjectURL","revokeObjectURL","initialized","performance","lastDraw","now","density","value_area","abs","translate","rotate","toDataURL","fps_limit","requestAnimationFrame","retinaInit","canvasInit","canvasSize","parseShape","init","scale","url","next","done","return","polygonPathLength","path2DSupported","Path2D","debounceTime","parseSvgPathToPolygon","debounceTimer","clearTimeout","polygonRaw","lastCanvasWidth","lastCanvasHeight","parseSvgPath","polygonData","polygonWidth","svg","getAttribute","polygonHeight","polygonOffsetX","polygonOffsetY","getTotalLength","pathSegList","numberOfItems","getItem","pathSegType","SVGPathSeg","PATHSEG_ARC_ABS","PATHSEG_CURVETO_CUBIC_ABS","PATHSEG_CURVETO_CUBIC_SMOOTH_ABS","PATHSEG_CURVETO_QUADRATIC_ABS","PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS","PATHSEG_LINETO_ABS","PATHSEG_MOVETO_ABS","PATHSEG_LINETO_HORIZONTAL_ABS","PATHSEG_LINETO_VERTICAL_ABS","PATHSEG_ARC_REL","PATHSEG_CURVETO_CUBIC_REL","PATHSEG_CURVETO_CUBIC_SMOOTH_REL","PATHSEG_CURVETO_QUADRATIC_REL","PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL","PATHSEG_LINETO_REL","PATHSEG_MOVETO_REL","PATHSEG_LINETO_HORIZONTAL_REL","PATHSEG_LINETO_VERTICAL_REL","PATHSEG_UNKNOWN","PATHSEG_CLOSEPATH","createPath2D","responseXML","getElementsByTagName","getPointAtLength","polygonPath","isPointInPath","P","w","O","M","E","pop","RegExp","test","keys","IE_PROTO","hash","string","add","valueOf","byteLength","byteOffset","buffer","name","message","Uint8Array","propertyIsEnumerable","getOwnPropertySymbols","String","process","require","types","binding","ArrayBuffer","BlogWrapper","styled","div","Thumb","Category","Content","device","small","ContentTop","ContentBottom","PostDate","span","PostTitle","h2","medium","Excerpt","PostMeta","ul","Blog","title","date","author","id","path","excerpt","to","fluid","alt","FormWrap","form","InputWrap","input","theme","colors","headingColor","halfwidth","css","xsmall","responsive","mt","mb","Input","placeholder","onChange","restProps","TextareaWrap","textarea","Textarea","Form","method","action","onSubmit","ContactSectionWrap","BannerArea","large","ContactFormWrap","ContactForm","ContactFormSection","headingStyle","textStyle","inputStyle","textareaStyle","bannerQueryData","useStaticQuery","useState","setName","phone","setPhone","setMessage","location","useLocation","pagedataJson","subtitle","imageData","banner_img","childImageSharp","handleChange","event","target","layout","onClick","preventDefault","ym","pathname","slice","fetch","href","redirect","text","navigate","modal","noScroll","catch","error","log","fontSize","lineHeight","fontweight","as","texttransform","letterspacing","display","Button","ButtonWrap","button","bodyColor","baseTransition","xlarge","HeroArea","section","HeroBg","BackgroundImage","ContentWrapper","ContetnTop","ContentBottomInner","ContentBottomLeft","ContentBottomRight","ClientItem","Hero","heroData","homeparticledataJson","bg_image","btn_link","social","facebook","vkontakte","descStyle","socialStyle","backgroundColor","Link","fonSize","textAlign","space","StorySection","StoryInner","StoryImage","backgroundPosition","Story","paragraph","paragraphTwo","storyData","content","textData","ProjectSectionWrap","ProjectSection","project","projectQueryData","projectSecData","projectsData","allProjectsJson","edges","data","isEven","node","featured_image","client","sector","TestimonialWrap","TestimonialSection","options","testimonilas","allTestimonialJson","author_name","author_role","company","country","author_image","fixed","review","slidesToShow","dots","AboutSectionWrap","ProjectTypeList","About","ProjectTypeHeading","ProjectTypeText","featured_work","aboutdataJson","delay","work","data-wow-delay","data-wow-duration","achivments","achiv","VideoSectionWrap","VideoSection","bannerImg","banner_image","BlogSectionWrap","BlogInner","BlogSection","blogQueryData","blogSecData","blogs","allMarkdownRemark","blog","fields","slug","frontmatter","shortDesc","desc","truncateString","icon","description","ProjectWrapper","ProjectBtnWrap","ProjectBtn","primary","white","ProjectType","Project","projectImg","HeadingStyle","TextStyle","restStyles"],"mappings":"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","file":"component---src-pages-index-js-6cc3e28906ff30677432.js","sourcesContent":["!function (e, t) {\n \"object\" == typeof exports && \"object\" == typeof module ? module.exports = t(require(\"react\")) : \"function\" == typeof define && define.amd ? define([\"react\"], t) : \"object\" == typeof exports ? exports.Particles = t(require(\"react\")) : e.Particles = t(e.React);\n}(this, function (e) {\n return function (e) {\n var t = {};\n\n function i(n) {\n if (t[n]) return t[n].exports;\n var r = t[n] = {\n i: n,\n l: !1,\n exports: {}\n };\n return e[n].call(r.exports, r, r.exports, i), r.l = !0, r.exports;\n }\n\n return i.m = e, i.c = t, i.d = function (e, t, n) {\n i.o(e, t) || Object.defineProperty(e, t, {\n enumerable: !0,\n get: n\n });\n }, i.r = function (e) {\n \"undefined\" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {\n value: \"Module\"\n }), Object.defineProperty(e, \"__esModule\", {\n value: !0\n });\n }, i.t = function (e, t) {\n if (1 & t && (e = i(e)), 8 & t) return e;\n if (4 & t && \"object\" == typeof e && e && e.__esModule) return e;\n var n = Object.create(null);\n if (i.r(n), Object.defineProperty(n, \"default\", {\n enumerable: !0,\n value: e\n }), 2 & t && \"string\" != typeof e) for (var r in e) {\n i.d(n, r, function (t) {\n return e[t];\n }.bind(null, r));\n }\n return n;\n }, i.n = function (e) {\n var t = e && e.__esModule ? function () {\n return e.default;\n } : function () {\n return e;\n };\n return i.d(t, \"a\", t), t;\n }, i.o = function (e, t) {\n return Object.prototype.hasOwnProperty.call(e, t);\n }, i.p = \"\", i(i.s = 27);\n }([function (e, t, i) {\n var n = i(18),\n r = \"object\" == typeof self && self && self.Object === Object && self,\n a = n || r || Function(\"return this\")();\n e.exports = a;\n }, function (e, t, i) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), function (e) {\n e.CIRCLE = \"circle\", e.EDGE = \"edge\", e.TRIANGLE = \"triangle\", e.POLYGON = \"polygon\", e.STAR = \"star\", e.IMAGE = \"image\", e.IMAGES = \"images\";\n }(t.ShapeType || (t.ShapeType = {})), function (e) {\n e.TOP = \"top\", e.TOP_RIGHT = \"top-right\", e.RIGHT = \"right\", e.BOTTOM_RIGHT = \"bottom-right\", e.BOTTOM = \"bottom\", e.BOTTOM_LEFT = \"bottom-left\", e.LEFT = \"left\", e.TOP_LEFT = \"top-left\", e.NONE = \"none\";\n }(t.MoveDirection || (t.MoveDirection = {})), function (e) {\n e.BOUNCE = \"bounce\", e.OUT = \"out\";\n }(t.MoveOutMode || (t.MoveOutMode = {})), function (e) {\n e.GRAB = \"grab\", e.PUSH = \"push\", e.REMOVE = \"remove\", e.BUBBLE = \"bubble\", e.REPULSE = \"repulse\";\n }(t.InteractivityMode || (t.InteractivityMode = {})), function (e) {\n e.INLINE = \"inline\", e.INSIDE = \"inside\", e.OUTSIDE = \"outside\";\n }(t.PolygonType || (t.PolygonType = {})), function (e) {\n e.RANDOM_POINT = \"random-point\", e.ONE_PER_POINT = \"one-per-point\", e.RANDOM_LENGTH = \"random-length\", e.EQUIDISTANT = \"equidistant\";\n }(t.PolygonInlineArrangementType || (t.PolygonInlineArrangementType = {})), function (e) {\n e.PATH = \"path\", e.RADIUS = \"radius\";\n }(t.PolygonMoveType || (t.PolygonMoveType = {}));\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e) {\n for (var i in e) {\n t.hasOwnProperty(i) || (t[i] = e[i]);\n }\n }\n\n var r = this && this.__importDefault || function (e) {\n return e && e.__esModule ? e : {\n default: e\n };\n };\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n var a = r(i(15));\n t.Interactivity = a.default;\n var o = r(i(29));\n t.Modes = o.default;\n var s = r(i(30));\n t.Particle = s.default;\n var c = r(i(31));\n t.ParticleManager = c.default;\n var l = r(i(32));\n t.ParticlesLibrary = l.default;\n var u = r(i(34));\n t.Vendors = u.default, n(i(35)), n(i(1)), n(i(36)), n(i(4));\n }, function (e, t, i) {\n var n = i(51),\n r = i(57);\n\n e.exports = function (e, t) {\n var i = r(e, t);\n return n(i) ? i : void 0;\n };\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e) {\n return (n = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n function r(e, t) {\n return t.indexOf(e) > -1;\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n }), t.hexToRgb = function (e) {\n e = e.replace(/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i, function (e, t, i, n) {\n return t + t + i + i + n + n;\n });\n var t = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(e);\n return t ? {\n r: parseInt(t[1], 16),\n g: parseInt(t[2], 16),\n b: parseInt(t[3], 16)\n } : null;\n }, t.clamp = function (e, t, i) {\n return Math.min(Math.max(e, t), i);\n }, t.isInArray = r, t.isEqual = function (e, t) {\n return Array.isArray(t) ? r(e, t) : t === e;\n }, t.deepAssign = function (e) {\n for (var i = arguments.length, r = new Array(i > 1 ? i - 1 : 0), a = 1; a < i; a++) {\n r[a - 1] = arguments[a];\n }\n\n for (var o = 0, s = r; o < s.length; o++) {\n var c = s[o];\n\n if (null != c) {\n var l = n(c);\n\n if (\"object\" === l) {\n var u = Array.isArray(c);\n u ? \"object\" === n(e) && e && Array.isArray(e) || (e = []) : \"object\" === n(e) && e && !Array.isArray(e) || (e = {});\n\n var h = function h(i) {\n if (\"__proto__\" === i) return \"continue\";\n var r = c[i],\n a = \"object\" === n(r);\n a && Array.isArray(r) ? e[i] = r.map(function (n) {\n return t.deepAssign(e[i], n);\n }) : e[i] = t.deepAssign(e[i], r);\n };\n\n for (var y in c) {\n h(y);\n }\n } else e = c;\n }\n }\n\n return e;\n };\n\n t.getColor = function (e) {\n var i = {};\n\n if (\"object\" == n(e)) {\n if (e instanceof Array) {\n var r = e[Math.floor(Math.random() * e.length)];\n i.rgb = t.hexToRgb(r);\n } else if (function (e) {\n return \"object\" === n(e) && \"r\" in e && \"g\" in e && \"b\" in e;\n }(e)) {\n var a = e.r,\n o = e.g,\n s = e.b;\n i.rgb = {\n r: a,\n g: o,\n b: s\n };\n } else if (function (e) {\n return \"object\" === n(e) && \"h\" in e && \"s\" in e && \"l\" in e;\n }(e)) {\n var c = e.h,\n l = e.s,\n u = e.l;\n i.hsl = {\n h: c,\n s: l,\n l: u\n };\n }\n } else \"random\" == e ? i.rgb = {\n r: Math.floor(255 * Math.random()) + 1,\n g: Math.floor(255 * Math.random()) + 1,\n b: Math.floor(255 * Math.random()) + 1\n } : \"string\" == typeof e && (i.rgb = t.hexToRgb(e));\n\n return i;\n };\n }, function (e, t, i) {\n var n = i(41),\n r = i(42),\n a = i(43),\n o = i(44),\n s = i(45);\n\n function c(e) {\n var t = -1,\n i = null == e ? 0 : e.length;\n\n for (this.clear(); ++t < i;) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n }\n\n c.prototype.clear = n, c.prototype.delete = r, c.prototype.get = a, c.prototype.has = o, c.prototype.set = s, e.exports = c;\n }, function (e, t, i) {\n var n = i(16);\n\n e.exports = function (e, t) {\n for (var i = e.length; i--;) {\n if (n(e[i][0], t)) return i;\n }\n\n return -1;\n };\n }, function (e, t, i) {\n var n = i(12),\n r = i(53),\n a = i(54),\n o = n ? n.toStringTag : void 0;\n\n e.exports = function (e) {\n return null == e ? void 0 === e ? \"[object Undefined]\" : \"[object Null]\" : o && o in Object(e) ? r(e) : a(e);\n };\n }, function (e, t, i) {\n var n = i(3)(Object, \"create\");\n e.exports = n;\n }, function (e, t, i) {\n var n = i(66);\n\n e.exports = function (e, t) {\n var i = e.__data__;\n return n(t) ? i[\"string\" == typeof t ? \"string\" : \"hash\"] : i.map;\n };\n }, function (e, t) {\n e.exports = function (e) {\n return null != e && \"object\" == typeof e;\n };\n }, function (e, t, i) {\n var n = i(3)(i(0), \"Map\");\n e.exports = n;\n }, function (e, t, i) {\n var n = i(0).Symbol;\n e.exports = n;\n }, function (e, t) {\n var i = Array.isArray;\n e.exports = i;\n }, function (t, i) {\n t.exports = e;\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e, t) {\n for (var i = 0; i < t.length; i++) {\n var n = t[i];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n var r,\n a = i(1);\n !function (e) {\n e.MOUSEMOVE = \"mousemove\", e.MOUSELEAVE = \"mouseleave\";\n }(r = t.MouseInteractivityStatus || (t.MouseInteractivityStatus = {}));\n\n var o = function () {\n function e(t) {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e), this.library = t, this.mouseMovePosition = {\n x: 0,\n y: 0\n }, this.mouseClickPosition = {\n x: 0,\n y: 0\n }, this.mouseClickTime = 0, this.onMouseMove = this.onMouseMove.bind(this), this.onMouseLeave = this.onMouseLeave.bind(this), this.onMouseClick = this.onMouseClick.bind(this);\n }\n\n var t, i, o;\n return t = e, (i = [{\n key: \"attachEventHandlers\",\n value: function value() {\n var e = this.library.getParameter(function (e) {\n return e.interactivity;\n });\n \"window\" === e.detect_on ? this.interactionElement = window : this.interactionElement = this.library.canvas.element, (e.events.onhover.enable || e.events.onclick.enable) && (this.interactionElement.addEventListener(\"mousemove\", this.onMouseMove), this.interactionElement.addEventListener(\"mouseleave\", this.onMouseLeave)), e.events.onclick.enable && this.interactionElement.addEventListener(\"click\", this.onMouseClick);\n }\n }, {\n key: \"detachEventHandlers\",\n value: function value() {\n var e = this.library.getParameter(function (e) {\n return e.interactivity;\n });\n this.interactionElement && ((e.events.onhover.enable || e.events.onclick.enable) && (this.interactionElement.removeEventListener(\"mousemove\", this.onMouseMove), this.interactionElement.removeEventListener(\"mouseleave\", this.onMouseLeave)), e.events.onclick.enable && this.interactionElement.removeEventListener(\"click\", this.onMouseClick));\n }\n }, {\n key: \"onMouseMove\",\n value: function value(e) {\n var t = {\n x: 0,\n y: 0\n };\n this.interactionElement === window ? (t.x = e.clientX, t.y = e.clientY) : (t.x = e.offsetX || e.clientX, t.y = e.offsetY || e.clientY), this.mouseMovePosition = t, this.library.retina && (this.mouseMovePosition.x *= this.library.canvas.pxratio, this.mouseMovePosition.y *= this.library.canvas.pxratio), this.mouseStatus = r.MOUSEMOVE;\n }\n }, {\n key: \"onMouseLeave\",\n value: function value() {\n this.mouseMovePosition.x = 0, this.mouseMovePosition.y = 0, this.mouseStatus = r.MOUSELEAVE;\n }\n }, {\n key: \"onMouseClick\",\n value: function value() {\n var e = this,\n t = this.library.getParameter(function (e) {\n return e.interactivity;\n }),\n i = this.library.getParameter(function (e) {\n return e.particles;\n }),\n n = this.library.getParameter(function (e) {\n return e.polygon;\n });\n\n if (this.mouseClickPosition = Object.assign({}, this.mouseMovePosition), n.enable && [a.PolygonType.INSIDE, a.PolygonType.OUTSIDE].indexOf(n.type) > -1) {\n var r = this.library.polygonMask.isPointInsidePolygon(this.mouseClickPosition);\n if (n.type === a.PolygonType.INSIDE && !r) return;\n if (n.type === a.PolygonType.OUTSIDE && r) return;\n }\n\n if (this.mouseClickTime = new Date().getTime(), t.events.onclick.enable) switch (t.events.onclick.mode) {\n case a.InteractivityMode.PUSH:\n i.move.enable ? this.library.modes.pushParticles(t.modes.push.particles_nb, this.mouseClickPosition) : 1 == t.modes.push.particles_nb ? this.library.modes.pushParticles(t.modes.push.particles_nb, this.mouseClickPosition) : t.modes.push.particles_nb > 1 && this.library.modes.pushParticles(t.modes.push.particles_nb);\n break;\n\n case a.InteractivityMode.REMOVE:\n this.library.modes.removeParticles(t.modes.remove.particles_nb);\n break;\n\n case a.InteractivityMode.BUBBLE:\n this.library.modes.bubble_clicking = !0;\n break;\n\n case a.InteractivityMode.REPULSE:\n this.library.modes.repulse_clicking = !0, this.library.modes.repulse_count = 0, this.library.modes.repulse_finish = !1, setTimeout(function () {\n e.library.modes.repulse_clicking = !1;\n }, 1e3 * t.modes.repulse.duration);\n }\n }\n }, {\n key: \"linkParticles\",\n value: function value(e, t) {\n var i = this.library.manager.getDistance(e, t),\n n = this.library.canvas,\n r = this.library.getParameter(function (e) {\n return e.particles.line_linked;\n });\n\n if (i <= r.distance) {\n var a = r.opacity - i / (1 / r.opacity) / r.distance;\n\n if (a > 0) {\n var o = r.color_rgb_line,\n s = o.r,\n c = o.g,\n l = o.b;\n n.ctx.save(), n.ctx.strokeStyle = \"rgba( \".concat(s, \", \").concat(c, \", \").concat(l, \", \").concat(a, \" )\"), n.ctx.lineWidth = r.width, n.ctx.beginPath(), r.shadow.enable && (n.ctx.shadowBlur = r.shadow.blur, n.ctx.shadowColor = r.shadow.color), n.ctx.moveTo(e.x, e.y), n.ctx.lineTo(t.x, t.y), n.ctx.stroke(), n.ctx.closePath(), n.ctx.restore();\n }\n }\n }\n }, {\n key: \"attractParticles\",\n value: function value(e, t) {\n var i = this.library.manager.getDistances(e, t),\n n = i.distance,\n r = i.distanceX,\n a = i.distanceY,\n o = this.library.getParameter(function (e) {\n return e.particles.line_linked;\n }),\n s = this.library.getParameter(function (e) {\n return e.particles.move.attract;\n });\n\n if (n <= o.distance) {\n var c = r / (1e3 * s.rotateX),\n l = a / (1e3 * s.rotateY);\n e.vx -= c, e.vy -= l, t.vx += c, t.vy += l;\n }\n }\n }, {\n key: \"bounceParticles\",\n value: function value(e, t) {\n this.library.manager.getDistance(e, t) <= e.radius + t.radius && (e.vx = -e.vx, e.vy = -e.vy, t.vx = -t.vx, t.vy = -t.vy);\n }\n }]) && n(t.prototype, i), o && n(t, o), e;\n }();\n\n t.default = o;\n }, function (e, t) {\n e.exports = function (e, t) {\n return e === t || e != e && t != t;\n };\n }, function (e, t, i) {\n var n = i(7),\n r = i(19);\n\n e.exports = function (e) {\n if (!r(e)) return !1;\n var t = n(e);\n return \"[object Function]\" == t || \"[object GeneratorFunction]\" == t || \"[object AsyncFunction]\" == t || \"[object Proxy]\" == t;\n };\n }, function (e, t, i) {\n (function (t) {\n var i = \"object\" == typeof t && t && t.Object === Object && t;\n e.exports = i;\n }).call(this, i(52));\n }, function (e, t) {\n e.exports = function (e) {\n var t = typeof e;\n return null != e && (\"object\" == t || \"function\" == t);\n };\n }, function (e, t) {\n var i = Function.prototype.toString;\n\n e.exports = function (e) {\n if (null != e) {\n try {\n return i.call(e);\n } catch (e) {}\n\n try {\n return e + \"\";\n } catch (e) {}\n }\n\n return \"\";\n };\n }, function (e, t, i) {\n var n = i(58),\n r = i(65),\n a = i(67),\n o = i(68),\n s = i(69);\n\n function c(e) {\n var t = -1,\n i = null == e ? 0 : e.length;\n\n for (this.clear(); ++t < i;) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n }\n\n c.prototype.clear = n, c.prototype.delete = r, c.prototype.get = a, c.prototype.has = o, c.prototype.set = s, e.exports = c;\n }, function (e, t, i) {\n var n = i(70),\n r = i(73),\n a = i(74);\n\n e.exports = function (e, t, i, o, s, c) {\n var l = 1 & i,\n u = e.length,\n h = t.length;\n if (u != h && !(l && h > u)) return !1;\n var y = c.get(e);\n if (y && c.get(t)) return y == t;\n var p = -1,\n f = !0,\n v = 2 & i ? new n() : void 0;\n\n for (c.set(e, t), c.set(t, e); ++p < u;) {\n var d = e[p],\n b = t[p];\n if (o) var g = l ? o(b, d, p, t, e, c) : o(d, b, p, e, t, c);\n\n if (void 0 !== g) {\n if (g) continue;\n f = !1;\n break;\n }\n\n if (v) {\n if (!r(t, function (e, t) {\n if (!a(v, t) && (d === e || s(d, e, i, o, c))) return v.push(t);\n })) {\n f = !1;\n break;\n }\n } else if (d !== b && !s(d, b, i, o, c)) {\n f = !1;\n break;\n }\n }\n\n return c.delete(e), c.delete(t), f;\n };\n }, function (e, t, i) {\n (function (e) {\n var n = i(0),\n r = i(91),\n a = t && !t.nodeType && t,\n o = a && \"object\" == typeof e && e && !e.nodeType && e,\n s = o && o.exports === a ? n.Buffer : void 0,\n c = (s ? s.isBuffer : void 0) || r;\n e.exports = c;\n }).call(this, i(24)(e));\n }, function (e, t) {\n e.exports = function (e) {\n return e.webpackPolyfill || (e.deprecate = function () {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, \"loaded\", {\n enumerable: !0,\n get: function get() {\n return e.l;\n }\n }), Object.defineProperty(e, \"id\", {\n enumerable: !0,\n get: function get() {\n return e.i;\n }\n }), e.webpackPolyfill = 1), e;\n };\n }, function (e, t, i) {\n var n = i(93),\n r = i(94),\n a = i(95),\n o = a && a.isTypedArray,\n s = o ? r(o) : n;\n e.exports = s;\n }, function (e, t) {\n e.exports = function (e) {\n return \"number\" == typeof e && e > -1 && e % 1 == 0 && e <= 9007199254740991;\n };\n }, function (e, t, i) {\n \"use strict\";\n\n var n = this && this.__importDefault || function (e) {\n return e && e.__esModule ? e : {\n default: e\n };\n };\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n var r = n(i(28));\n t.Particles = r.default, t.default = r.default;\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e) {\n return (n = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (e) {\n return typeof e;\n } : function (e) {\n return e && \"function\" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? \"symbol\" : typeof e;\n })(e);\n }\n\n function r(e, t) {\n for (var i = 0; i < t.length; i++) {\n var n = t[i];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n function a(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n }\n\n function o(e, t, i) {\n return (o = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get : function (e, t, i) {\n var n = function (e, t) {\n for (; !Object.prototype.hasOwnProperty.call(e, t) && null !== (e = s(e));) {\n ;\n }\n\n return e;\n }(e, t);\n\n if (n) {\n var r = Object.getOwnPropertyDescriptor(n, t);\n return r.get ? r.get.call(i) : r.value;\n }\n })(e, t, i || e);\n }\n\n function s(e) {\n return (s = Object.setPrototypeOf ? Object.getPrototypeOf : function (e) {\n return e.__proto__ || Object.getPrototypeOf(e);\n })(e);\n }\n\n function c(e, t) {\n return (c = Object.setPrototypeOf || function (e, t) {\n return e.__proto__ = t, e;\n })(e, t);\n }\n\n var l = this && this.__importStar || function (e) {\n if (e && e.__esModule) return e;\n var t = {};\n if (null != e) for (var i in e) {\n Object.hasOwnProperty.call(e, i) && (t[i] = e[i]);\n }\n return t.default = e, t;\n },\n u = this && this.__importDefault || function (e) {\n return e && e.__esModule ? e : {\n default: e\n };\n };\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n\n var h = l(i(14)),\n y = i(14),\n p = i(2),\n f = u(i(37)),\n v = function (e) {\n function t(e) {\n var i;\n return function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, t), (i = function (e, t) {\n return !t || \"object\" !== n(t) && \"function\" != typeof t ? a(e) : t;\n }(this, s(t).call(this, e))).state = {\n canvas: void 0,\n library: void 0\n }, i.loadCanvas = i.loadCanvas.bind(a(i)), i;\n }\n\n var i, l, u;\n return function (e, t) {\n if (\"function\" != typeof t && null !== t) throw new TypeError(\"Super expression must either be null or a function\");\n e.prototype = Object.create(t && t.prototype, {\n constructor: {\n value: e,\n writable: !0,\n configurable: !0\n }\n }), t && c(e, t);\n }(t, e), i = t, (l = [{\n key: \"buildParticlesLibrary\",\n value: function value(e) {\n try {\n if (void 0 === window) return null;\n } catch (e) {\n return null;\n }\n\n return new p.ParticlesLibrary(e);\n }\n }, {\n key: \"refresh\",\n value: function value(e) {\n var t = this,\n i = this.state.canvas;\n i && (this.destroy(), this.setState({\n library: this.buildParticlesLibrary(e.params)\n }, function () {\n t.loadCanvas(i);\n }));\n }\n }, {\n key: \"destroy\",\n value: function value() {\n this.state.library && this.state.library.destroy();\n }\n }, {\n key: \"loadCanvas\",\n value: function value(e) {\n var t = this;\n e && this.setState({\n canvas: e\n }, function () {\n var i = t.state.library;\n i && (i.loadCanvas(e), i.start());\n });\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function value(e) {\n return !f.default(e, this.props);\n }\n }, {\n key: \"componentDidUpdate\",\n value: function value() {\n this.refresh(this.props);\n }\n }, {\n key: \"forceUpdate\",\n value: function value() {\n this.refresh(this.props), o(s(t.prototype), \"forceUpdate\", this).call(this);\n }\n }, {\n key: \"componentDidMount\",\n value: function value() {\n this.setState({\n library: this.buildParticlesLibrary(this.props.params)\n });\n }\n }, {\n key: \"componentWillUnmount\",\n value: function value() {\n this.destroy(), this.setState({\n library: void 0\n });\n }\n }, {\n key: \"render\",\n value: function value() {\n var e = this.props,\n t = e.width,\n i = e.height,\n n = e.className,\n r = e.canvasClassName;\n return h.createElement(\"div\", {\n className: n\n }, h.createElement(\"canvas\", {\n ref: this.loadCanvas,\n className: r,\n style: Object.assign(Object.assign({}, this.props.style), {\n width: t,\n height: i\n })\n }));\n }\n }]) && r(i.prototype, l), u && r(i, u), t;\n }(y.Component);\n\n t.default = v, v.defaultProps = {\n width: \"100%\",\n height: \"100%\",\n params: {},\n style: {}\n };\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e, t) {\n for (var i = 0; i < t.length; i++) {\n var n = t[i];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n\n var r = i(2),\n a = i(1),\n o = i(15),\n s = function () {\n function e(t) {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e), this.library = t, this.bubble_clicking = !1, this.bubble_duration_end = !1, this.pushing = !1, this.repulse_clicking = !1, this.repulse_count = 0, this.repulse_finish = !1;\n }\n\n var t, i, s;\n return t = e, (i = [{\n key: \"pushParticles\",\n value: function value(e, t) {\n var i = this.library.manager,\n n = this.library.getParameter(function (e) {\n return e.particles;\n });\n this.pushing = !0;\n var a = e;\n n.number.max > 0 && (a = n.array.length + e > n.number.max ? n.number.max - n.array.length : e);\n\n for (var o = 0; o < a; o++) {\n n.array.push(new r.Particle(this.library, {\n position: t\n })), o === e - 1 && (n.move.enable || i.particlesDraw(), this.pushing = !1);\n }\n }\n }, {\n key: \"removeParticles\",\n value: function value(e) {\n var t = this.library.manager,\n i = this.library.getParameter(function (e) {\n return e.particles;\n });\n i.array.splice(0, e), i.move.enable || t.particlesDraw();\n }\n }, {\n key: \"bubbleParticle\",\n value: function value(e) {\n var t = this,\n i = this.library.getParameter(function (e) {\n return e.interactivity;\n }),\n n = this.library.getParameter(function (e) {\n return e.particles;\n });\n\n if (i.events.onhover.enable && r.isInArray(a.InteractivityMode.BUBBLE, i.events.onhover.mode)) {\n var s = this.library.manager.getDistance(e, this.library.interactivity.mouseMovePosition),\n c = i.modes.bubble.distance,\n l = 1 - s / c;\n\n if (s <= c) {\n if (l >= 0 && this.library.interactivity.mouseStatus === o.MouseInteractivityStatus.MOUSEMOVE) {\n var u = i.modes.bubble.size,\n h = n.size.value;\n if (u != h) if (u > h) {\n var y = e.radius + u * l;\n y >= 0 && (e.radius_bubble = y);\n } else {\n var p = e.radius - u,\n f = e.radius - p * l;\n e.radius_bubble = f > 0 ? f : 0;\n }\n if (i.modes.bubble.opacity !== n.opacity.value) if (i.modes.bubble.opacity > n.opacity.value) {\n var v = i.modes.bubble.opacity * l;\n v > e.opacityValue && v <= i.modes.bubble.opacity && (e.bubbleOpacity = v);\n } else {\n var d = e.opacityValue - (n.opacity.value - i.modes.bubble.opacity) * l;\n d < e.opacityValue && d >= i.modes.bubble.opacity && (e.bubbleOpacity = d);\n }\n }\n } else e.bubbleOpacity = e.opacityValue, e.radius_bubble = e.radius;\n\n this.library.interactivity.mouseStatus === o.MouseInteractivityStatus.MOUSELEAVE && (e.bubbleOpacity = e.opacityValue, e.radius_bubble = e.radius);\n } else if (i.events.onclick.enable && r.isInArray(a.InteractivityMode.BUBBLE, i.events.onclick.mode) && this.bubble_clicking) {\n var b = this.library.manager.getDistance(e, this.library.interactivity.mouseClickPosition),\n g = (new Date().getTime() - this.library.interactivity.mouseClickTime) / 1e3;\n g > i.modes.bubble.duration && (this.bubble_duration_end = !0), g > 2 * i.modes.bubble.duration && (this.bubble_clicking = !1, this.bubble_duration_end = !1);\n\n var m = function m(n, r, a, o, s) {\n if (n != r) if (t.bubble_duration_end) {\n if (null != a) {\n var c = n + (n - (o - g * (o - n) / i.modes.bubble.duration));\n \"size\" == s && (e.radius_bubble = c), \"opacity\" == s && (e.bubbleOpacity = c);\n }\n } else if (b <= i.modes.bubble.distance) {\n if ((null != a ? a : o) != n) {\n var l = o - g * (o - n) / i.modes.bubble.duration;\n \"size\" == s && (e.radius_bubble = l), \"opacity\" == s && (e.bubbleOpacity = l);\n }\n } else \"size\" == s && (e.radius_bubble = void 0), \"opacity\" == s && (e.bubbleOpacity = void 0);\n };\n\n this.bubble_clicking && (m(i.modes.bubble.size, n.size.value, e.radius_bubble, e.radius, \"size\"), m(i.modes.bubble.opacity, n.opacity.value, e.bubbleOpacity, e.opacityValue, \"opacity\"));\n }\n }\n }, {\n key: \"repulseParticle\",\n value: function value(e) {\n var t = this.library.canvas,\n i = this.library.getParameter(function (e) {\n return e.interactivity;\n }),\n n = this.library.getParameter(function (e) {\n return e.particles;\n });\n\n if (i.events.onhover.enable && r.isInArray(a.InteractivityMode.REPULSE, i.events.onhover.mode) && this.library.interactivity.mouseStatus === o.MouseInteractivityStatus.MOUSEMOVE) {\n var s = this.library.manager.getDistances(e, this.library.interactivity.mouseMovePosition),\n c = s.distance,\n l = {\n x: s.distanceX / c,\n y: s.distanceY / c\n },\n u = i.modes.repulse.distance,\n h = r.clamp(1 / u * (-1 * Math.pow(c / u, 2) + 1) * u * 100, 0, 50),\n y = {\n x: e.x + l.x * h,\n y: e.y + l.y * h\n };\n n.move.out_mode === a.MoveOutMode.BOUNCE ? (y.x - e.radius > 0 && y.x + e.radius < t.width && (e.x = y.x), y.y - e.radius > 0 && y.y + e.radius < t.height && (e.y = y.y)) : (e.x = y.x, e.y = y.y);\n } else if (i.events.onclick.enable && r.isInArray(a.InteractivityMode.REPULSE, i.events.onclick.mode)) if (this.repulse_finish || (this.repulse_count++, this.repulse_count == n.array.length && (this.repulse_finish = !0)), this.repulse_clicking) {\n var p = Math.pow(i.modes.repulse.distance / 6, 3),\n f = this.library.manager.getDistances(this.library.interactivity.mouseClickPosition, e),\n v = f.distance,\n d = f.distanceX,\n b = f.distanceY,\n g = p / Math.pow(v, 2) * -1;\n\n if (v <= p) {\n var m = Math.atan2(b, d);\n\n if (e.vx = g * Math.cos(m), e.vy = g * Math.sin(m), n.move.out_mode === a.MoveOutMode.BOUNCE) {\n var _ = {\n x: e.x + e.vx,\n y: e.y + e.vy\n };\n _.x + e.radius > t.width ? e.vx = -e.vx : _.x - e.radius < 0 && (e.vx = -e.vx), _.y + e.radius > t.height ? e.vy = -e.vy : _.y - e.radius < 0 && (e.vy = -e.vy);\n }\n }\n } else !1 === this.repulse_clicking && (e.vx = e.vx_i, e.vy = e.vy_i);\n }\n }, {\n key: \"grabParticle\",\n value: function value(e) {\n var t = this.library.canvas,\n i = this.library.getParameter(function (e) {\n return e;\n }),\n n = i.interactivity,\n r = i.particles;\n\n if (n.events.onhover.enable && this.library.interactivity.mouseStatus === o.MouseInteractivityStatus.MOUSEMOVE) {\n var a = this.library.manager.getDistance(e, this.library.interactivity.mouseMovePosition);\n\n if (a <= n.modes.grab.distance) {\n var s = n.modes.grab,\n c = s.line_linked.opacity - a / (1 / s.line_linked.opacity) / s.distance;\n\n if (c > 0) {\n var l = r.line_linked.color_rgb_line,\n u = l.r,\n h = l.g,\n y = l.b;\n t.ctx.strokeStyle = \"rgba( \".concat(u, \", \").concat(h, \", \").concat(y, \", \").concat(c, \" )\"), t.ctx.lineWidth = r.line_linked.width, t.ctx.beginPath(), t.ctx.moveTo(e.x, e.y), t.ctx.lineTo(this.library.interactivity.mouseMovePosition.x, this.library.interactivity.mouseMovePosition.y), t.ctx.stroke(), t.ctx.closePath();\n }\n }\n }\n }\n }]) && n(t.prototype, i), s && n(t, s), e;\n }();\n\n t.default = s;\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }\n\n function r(e, t) {\n for (var i = 0; i < t.length; i++) {\n var n = t[i];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n\n var a = i(2),\n o = i(1),\n s = i(4),\n c = function () {\n function e(t) {\n var i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {},\n r = i.color,\n a = i.move,\n o = i.opacity,\n s = i.polygon,\n c = i.position,\n l = i.shape,\n u = i.size;\n n(this, e), this.library = t, this.setupSize(u), this.setupPosition(a, s, c), this.setupColor(r), this.setupOpacity(o), this.setupAnimation(a), this.setupShape(l);\n }\n\n var t, i, c;\n return t = e, (i = [{\n key: \"setupSize\",\n value: function value(e) {\n var t = this.library.getParameter(function (e) {\n return e.particles.size;\n });\n e = s.deepAssign({}, t, e), this.radius = (e.random ? Math.random() : 1) * e.value, e.anim.enable && (this.size_status = !1, this.vs = e.anim.speed / 100, e.anim.sync || (this.vs = this.vs * Math.random()));\n }\n }, {\n key: \"setupPosition\",\n value: function value(e, t, i) {\n this.initialPosition = i;\n var n = this.library.getParameter(function (e) {\n return e.particles.move;\n });\n e = s.deepAssign({}, n, e);\n var r = this.library.getParameter(function (e) {\n return e.polygon;\n });\n t = s.deepAssign({}, r, t);\n var a = this.library.getParameter(function (e) {\n return e.particles.array;\n }),\n c = this.library,\n l = c.canvas,\n u = c.vendors;\n if (i) this.x = i.x, this.y = i.y;else if (t.enable) {\n var h;\n\n switch (t.type) {\n case o.PolygonType.INLINE:\n switch (t.inline.arrangement) {\n case o.PolygonInlineArrangementType.RANDOM_POINT:\n h = this.library.polygonMask.getRandomPointOnPolygonPath();\n break;\n\n case o.PolygonInlineArrangementType.RANDOM_LENGTH:\n h = this.library.polygonMask.getRandomPointOnPolygonPathByLength();\n break;\n\n case o.PolygonInlineArrangementType.EQUIDISTANT:\n h = this.library.polygonMask.getEquidistantPoingOnPolygonPathByIndex(a.length);\n break;\n\n case o.PolygonInlineArrangementType.ONE_PER_POINT:\n default:\n h = this.library.polygonMask.getPoingOnPolygonPathByIndex(a.length);\n }\n\n break;\n\n case o.PolygonType.INSIDE:\n h = this.library.polygonMask.getRandomPointInsidePolygonPath();\n break;\n\n case o.PolygonType.OUTSIDE:\n h = this.library.polygonMask.getRandomPointOutsidePolygonPath();\n }\n\n h && (this.x = h.x, this.y = h.y, this.initialPosition = {\n x: this.x,\n y: this.y\n });\n }\n void 0 !== this.x && void 0 !== this.y || (this.x = Math.random() * l.width, this.y = Math.random() * l.height), this.x > l.width - 2 * this.radius ? this.x = this.x - this.radius : this.x < 2 * this.radius && (this.x = this.x + this.radius), this.y > l.height - 2 * this.radius ? this.y = this.y - this.radius : this.y < 2 * this.radius && (this.y = this.y + this.radius), e.bounce && u.checkOverlap(this, {\n x: this.x,\n y: this.y\n });\n }\n }, {\n key: \"setupColor\",\n value: function value(e) {\n var t = this.library.getParameter(function (e) {\n return e.particles.color;\n });\n e = s.deepAssign({}, e, t), this.color = a.getColor(e.value);\n }\n }, {\n key: \"setupOpacity\",\n value: function value(e) {\n var t = this.library.getParameter(function (e) {\n return e.particles.opacity;\n });\n e = s.deepAssign({}, t, e), this.opacityValue = (e.random ? Math.random() : 1) * e.value, e.anim.enable && (this.opacity_status = !1, this.vo = e.anim.speed / 100, e.anim.sync || (this.vo = this.vo * Math.random()));\n }\n }, {\n key: \"setupAnimation\",\n value: function value(e) {\n var t,\n i = this.library.getParameter(function (e) {\n return e.particles.move;\n });\n\n switch ((e = s.deepAssign({}, i, e)).direction) {\n case o.MoveDirection.TOP:\n t = {\n x: 0,\n y: -1\n };\n break;\n\n case o.MoveDirection.TOP_RIGHT:\n t = {\n x: .5,\n y: -.5\n };\n break;\n\n case o.MoveDirection.RIGHT:\n t = {\n x: 1,\n y: 0\n };\n break;\n\n case o.MoveDirection.BOTTOM_RIGHT:\n t = {\n x: .5,\n y: .5\n };\n break;\n\n case o.MoveDirection.BOTTOM:\n t = {\n x: 0,\n y: 1\n };\n break;\n\n case o.MoveDirection.BOTTOM_LEFT:\n t = {\n x: -.5,\n y: 1\n };\n break;\n\n case o.MoveDirection.LEFT:\n t = {\n x: -1,\n y: 0\n };\n break;\n\n case o.MoveDirection.TOP_LEFT:\n t = {\n x: -.5,\n y: -.5\n };\n break;\n\n default:\n t = {\n x: 0,\n y: 0\n };\n }\n\n e.straight ? (this.vx = t.x, this.vy = t.y, e.random && (this.vx = this.vx * Math.random(), this.vy = this.vy * Math.random())) : (this.vx = t.x + Math.random() - .5, this.vy = t.y + Math.random() - .5), this.vx_i = this.vx, this.vy_i = this.vy;\n }\n }, {\n key: \"setupShape\",\n value: function value(e) {\n var t = this,\n i = this.library.getParameter(function (e) {\n return e.particles.shape;\n });\n e = s.deepAssign({}, i, e);\n var n = this.library.getParameter(function (e) {\n return e.particles.array;\n });\n\n if (Array.isArray(e.type)) {\n var r = e.type[Math.floor(Math.random() * e.type.length)];\n e = s.deepAssign({}, e, {\n type: r\n });\n }\n\n this.shape = e, e.type !== o.ShapeType.IMAGE && e.type !== o.ShapeType.IMAGES || (e.type === o.ShapeType.IMAGES ? this.shapeImage = this.library.imageManager.getImage(n.length) : this.shapeImage = this.library.imageManager.getImage(), \"svg\" === this.shapeImage.type && void 0 !== this.shapeImage.svgData && this.library.imageManager.createSvgImage(this.shapeImage.svgData, {\n color: this.color,\n opacity: this.opacityValue\n }).then(function (e) {\n t.shapeImage.elementData = e, t.shapeImage.loaded = !0;\n }));\n }\n }, {\n key: \"draw\",\n value: function value() {\n var e,\n t,\n i,\n n = this.library,\n r = n.canvas,\n a = n.vendors;\n\n if (e = void 0 !== this.radius_bubble ? this.radius_bubble : this.radius, t = void 0 !== this.bubbleOpacity ? this.bubbleOpacity : this.opacityValue, this.color.rgb) {\n var s = this.color.rgb,\n c = s.r,\n l = s.g,\n u = s.b;\n i = \"rgba( \".concat(c, \", \").concat(l, \", \").concat(u, \", \").concat(t, \" )\");\n } else {\n var h = this.color.hsl,\n y = h.h,\n p = h.s,\n f = h.l;\n i = \"hsla( \".concat(y, \", \").concat(p, \", \").concat(f, \", \").concat(t, \" )\");\n }\n\n switch (r.ctx.fillStyle = i, r.ctx.beginPath(), this.shape.type) {\n case o.ShapeType.CIRCLE:\n r.ctx.arc(this.x, this.y, e, 0, 2 * Math.PI, !1);\n break;\n\n case o.ShapeType.EDGE:\n r.ctx.rect(this.x - e, this.y - e, 2 * e, 2 * e);\n break;\n\n case o.ShapeType.TRIANGLE:\n a.drawShape(r.ctx, this.x - e, this.y + e / 1.66, 2 * e, 3, 2);\n break;\n\n case o.ShapeType.POLYGON:\n a.drawShape(r.ctx, this.x - e / (this.shape.polygon.nb_sides / 3.5), this.y - e / .76, 2.66 * e / (this.shape.polygon.nb_sides / 3), this.shape.polygon.nb_sides, 1);\n break;\n\n case o.ShapeType.STAR:\n a.drawShape(r.ctx, this.x - 2 * e / (this.shape.polygon.nb_sides / 4), this.y - e / 1.52, 2 * e * 2.66 / (this.shape.polygon.nb_sides / 3), this.shape.polygon.nb_sides, 2);\n break;\n\n case o.ShapeType.IMAGES:\n case o.ShapeType.IMAGE:\n this.shapeImage.elementData && r.ctx.drawImage(this.shapeImage.elementData, this.x - e, this.y - e, 2 * e, 2 * e / this.shapeImage.ratio);\n }\n\n r.ctx.closePath(), this.shape.stroke.width > 0 && (r.ctx.strokeStyle = this.shape.stroke.color, r.ctx.lineWidth = this.shape.stroke.width, r.ctx.stroke()), r.ctx.fill();\n }\n }]) && r(t.prototype, i), c && r(t, c), e;\n }();\n\n t.default = c;\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e, t) {\n for (var i = 0; i < t.length; i++) {\n var n = t[i];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n\n var r = i(2),\n a = i(1),\n o = function () {\n function e(t) {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e), this.library = t, this.particlesCreate = this.particlesCreate.bind(this);\n }\n\n var t, i, o;\n return t = e, (i = [{\n key: \"particlesCreate\",\n value: function value() {\n var e = this.library.getParameter(function (e) {\n return e.particles;\n }),\n t = this.library.getParameter(function (e) {\n return e.polygon;\n }),\n i = e.number.value;\n t.enable && t.type === a.PolygonType.INLINE && t.inline.arrangement === a.PolygonInlineArrangementType.ONE_PER_POINT && (i = this.library.polygonMask.getVerticesNumber());\n\n for (var n = 0; n < i; n++) {\n e.array.push(new r.Particle(this.library));\n }\n }\n }, {\n key: \"particlesUpdate\",\n value: function value() {\n var e = this,\n t = this.library,\n i = t.canvas,\n n = t.modes,\n o = this.library.getParameter(function (e) {\n return e.interactivity;\n }),\n s = this.library.getParameter(function (e) {\n return e.particles;\n }),\n c = this.library.getParameter(function (e) {\n return e.polygon;\n });\n s.array.forEach(function (t, l) {\n if (s.move.enable) {\n var u = s.move.speed / 2;\n t.x += t.vx * u, t.y += t.vy * u;\n }\n\n var h;\n\n switch (s.opacity.anim.enable && (1 == t.opacity_status ? (t.opacityValue >= s.opacity.value && (t.opacity_status = !1), t.opacityValue += t.vo) : (t.opacityValue <= s.opacity.anim.opacity_min && (t.opacity_status = !0), t.opacityValue -= t.vo), t.opacityValue < 0 && (t.opacityValue = 0)), s.size.anim.enable && (1 == t.size_status ? (t.radius >= s.size.value && (t.size_status = !1), t.radius += t.vs) : (t.radius <= s.size.anim.size_min && (t.size_status = !0), t.radius -= t.vs), t.radius < 0 && (t.radius = 0)), h = \"bounce\" == s.move.out_mode ? {\n x_left: t.radius,\n x_right: i.width,\n y_top: t.radius,\n y_bottom: i.height\n } : {\n x_left: -t.radius,\n x_right: i.width + t.radius,\n y_top: -t.radius,\n y_bottom: i.height + t.radius\n }, t.x - t.radius > i.width ? (t.x = h.x_left, t.y = Math.random() * i.height) : t.x + t.radius < 0 && (t.x = h.x_right, t.y = Math.random() * i.height), t.y - t.radius > i.height ? (t.y = h.y_top, t.x = Math.random() * i.width) : t.y + t.radius < 0 && (t.y = h.y_bottom, t.x = Math.random() * i.width), s.move.out_mode) {\n case \"bounce\":\n if (c.enable) {\n var y = c.move.radius;\n\n switch (c.type) {\n case a.PolygonType.INLINE:\n e.getDistance(t.initialPosition, t) > y && (t.vx = -t.vx + t.vy / 2, t.vy = -t.vy + t.vx / 2);\n break;\n\n case a.PolygonType.INSIDE:\n case a.PolygonType.OUTSIDE:\n var p = c.move.type;\n if (p === a.PolygonMoveType.RADIUS) e.getDistance(t.initialPosition, t) > y && (t.vx = -t.vx + t.vy / 2, t.vy = -t.vy + t.vx / 2);else if (p === a.PolygonMoveType.PATH) {\n var f = c.type === a.PolygonType.INSIDE,\n v = e.library.polygonMask.isPointInsidePolygon({\n x: t.x,\n y: t.y\n });\n (f && !v || !f && v) && (t.vx = -t.vx + t.vy / 2, t.vy = -t.vy + t.vx / 2);\n }\n }\n } else t.x + t.radius > i.width ? t.vx = -t.vx : t.x - t.radius < 0 && (t.vx = -t.vx), t.y + t.radius > i.height ? t.vy = -t.vy : t.y - t.radius < 0 && (t.vy = -t.vy);\n\n }\n\n if (r.isInArray(\"grab\", o.events.onhover.mode) && n.grabParticle(t), (r.isInArray(\"bubble\", o.events.onhover.mode) || r.isInArray(\"bubble\", o.events.onclick.mode)) && n.bubbleParticle(t), (r.isInArray(\"repulse\", o.events.onhover.mode) || r.isInArray(\"repulse\", o.events.onclick.mode)) && n.repulseParticle(t), s.line_linked.enable || s.move.attract.enable) for (var d = l + 1; d < s.array.length; d++) {\n var b = s.array[d];\n s.line_linked.enable && e.library.interactivity.linkParticles(t, b), s.move.attract.enable && e.library.interactivity.attractParticles(t, b), s.move.bounce && e.library.interactivity.bounceParticles(t, b);\n }\n });\n }\n }, {\n key: \"getDistances\",\n value: function value(e, t) {\n var i = e.x - t.x,\n n = e.y - t.y;\n return {\n distance: Math.sqrt(i * i + n * n),\n distanceX: i,\n distanceY: n\n };\n }\n }, {\n key: \"getDistance\",\n value: function value(e, t) {\n return this.getDistances(e, t).distance;\n }\n }, {\n key: \"particlesDraw\",\n value: function value() {\n var e = this.library,\n t = e.canvas,\n i = e.manager,\n n = this.library.getParameter(function (e) {\n return e.particles;\n }),\n r = this.library.getParameter(function (e) {\n return e.polygon;\n });\n t.ctx.clearRect(0, 0, t.width, t.height), i.particlesUpdate(), n.array.forEach(function (e) {\n e.draw();\n }), r.enable && r.draw.enable && this.library.polygonMask.drawPolygon();\n }\n }, {\n key: \"particlesEmpty\",\n value: function value() {\n this.library.getParameter(function (e) {\n return e.particles;\n }).array = [];\n }\n }, {\n key: \"particlesRefresh\",\n value: function value() {\n cancelAnimationFrame(this.library.drawAnimFrame), this.particlesEmpty(), this.library.canvasClear(), this.library.start();\n }\n }]) && n(t.prototype, i), o && n(t, o), e;\n }();\n\n t.default = o;\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e, t) {\n for (var i = 0; i < t.length; i++) {\n var n = t[i];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n\n var r = i(2),\n a = i(33),\n o = function () {\n function e(t) {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e), this.imageManager = new a.ImageManager(), this.retina = !1, this.onWindowResize = this.onWindowResize.bind(this), this.loadParameters(t), this.interactivity = new r.Interactivity(this), this.modes = new r.Modes(this), this.vendors = new r.Vendors(this.imageManager, this.params, this), this.manager = new r.ParticleManager(this), this.polygonMask = new r.PolygonMask(this);\n }\n\n var t, i, o;\n return t = e, (i = [{\n key: \"getParameter\",\n value: function value(e) {\n return e(this.params);\n }\n }, {\n key: \"setParameters\",\n value: function value(e) {\n this.params = r.deepAssign(Object.assign({}, this.params), e);\n }\n }, {\n key: \"loadParameters\",\n value: function value(e) {\n var t = r.deepAssign({}, r.getDefaultParams(), e);\n this.params = t;\n }\n }, {\n key: \"loadCanvas\",\n value: function value(e) {\n this.canvas = {\n element: e,\n width: e.offsetWidth,\n height: e.offsetHeight\n };\n }\n }, {\n key: \"start\",\n value: function value() {\n this.interactivity.attachEventHandlers(), this.vendors.start();\n }\n }, {\n key: \"destroy\",\n value: function value() {\n this.detachListeners(), this.interactivity.detachEventHandlers(), cancelAnimationFrame(this.drawAnimFrame), this.canvasClear();\n }\n }, {\n key: \"detachListeners\",\n value: function value() {\n window.removeEventListener(\"resize\", this.onWindowResize);\n }\n }, {\n key: \"retinaInit\",\n value: function value() {\n var e = window.devicePixelRatio;\n\n if (this.params.retina_detect && e > 1) {\n this.canvas.pxratio = e, this.canvas.width = this.canvas.element.offsetWidth * this.canvas.pxratio, this.canvas.height = this.canvas.element.offsetHeight * this.canvas.pxratio, this.retina = !0;\n var t = this.getParameter(function (e) {\n return e;\n });\n this.setParameters({\n interactivity: {\n modes: {\n bubble: {\n distance: t.interactivity.modes.bubble.distance * e,\n size: t.interactivity.modes.bubble.size * e\n },\n grab: {\n distance: t.interactivity.modes.grab.distance * e\n },\n repulse: {\n distance: t.interactivity.modes.repulse.distance * e\n }\n }\n },\n particles: {\n line_linked: {\n distance: t.particles.line_linked.distance * e,\n width: t.particles.line_linked.width * e\n },\n move: {\n speed: t.particles.move.speed * e\n },\n size: {\n value: t.particles.size.value * e,\n anim: {\n speed: t.particles.size.anim.speed * e\n }\n }\n }\n });\n } else this.canvas.pxratio = 1, this.retina = !1;\n }\n }, {\n key: \"canvasInit\",\n value: function value() {\n var e = this.canvas;\n e.ctx = e.element.getContext(\"2d\");\n }\n }, {\n key: \"canvasSize\",\n value: function value() {\n var e = this.canvas;\n e.element.width = e.width, e.element.height = e.height, this.params && this.params.interactivity.events.resize && window.addEventListener(\"resize\", this.onWindowResize);\n }\n }, {\n key: \"canvasPaint\",\n value: function value() {\n var e = this.canvas;\n if (e && e.ctx) try {\n e.ctx.fillRect(0, 0, e.width, e.height);\n } catch (e) {\n console.warn(e);\n }\n }\n }, {\n key: \"canvasClear\",\n value: function value() {\n var e = this.canvas;\n if (e && e.ctx) try {\n e.ctx.clearRect(0, 0, e.width, e.height);\n } catch (e) {\n console.warn(e);\n }\n }\n }, {\n key: \"onWindowResize\",\n value: function value() {\n var e = this.canvas,\n t = this.manager,\n i = this.vendors;\n e.width = e.element.offsetWidth, e.height = e.element.offsetHeight, this.retina && (e.width *= e.pxratio, e.height *= e.pxratio), e.element.width = e.width, e.element.height = e.height, !this.params.particles.move.enable || this.params.polygon.enable ? (t.particlesEmpty(), this.polygonMask.initialize(this.getParameter(function (e) {\n return e.polygon;\n })).then(function () {\n t.particlesCreate(), t.particlesDraw();\n })) : i.densityAutoParticles();\n }\n }]) && n(t.prototype, i), o && n(t, o), e;\n }();\n\n t.default = o;\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e, t) {\n for (var i = 0; i < t.length; i++) {\n var n = t[i];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n var r,\n a = i(1),\n o = i(4);\n !function (e) {\n e.SINGLE = \"single\", e.MULTIPLE = \"multiple\";\n }(r = t.ImageMode || (t.ImageMode = {}));\n\n var s = function () {\n function e() {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e), this.singleImage = null, this.multipleImages = [], this.mode = r.SINGLE;\n }\n\n var t, i, s;\n return t = e, (i = [{\n key: \"getImage\",\n value: function value(e) {\n if (void 0 !== e) {\n if (0 === this.multipleImages.length) throw new Error(\"No images loaded. You may need to define 'shape.type' = 'images'.\");\n return this.multipleImages[e % this.multipleImages.length];\n }\n\n return this.singleImage;\n }\n }, {\n key: \"parseShape\",\n value: function value(e) {\n var t = this;\n if (o.isEqual(a.ShapeType.IMAGE, e.type)) return this.mode = r.SINGLE, this.parseSingleImage(e.image).then(function (i) {\n return t.singleImage = i, Object.assign(Object.assign({}, e), {\n image: i\n });\n });\n\n if (o.isEqual(a.ShapeType.IMAGES, e.type)) {\n this.mode = r.MULTIPLE;\n var i = e.images.map(function (e) {\n return t.parseSingleImage(e);\n });\n return Promise.all(i).then(function (i) {\n return t.multipleImages = i, Object.assign(Object.assign({}, e), {\n images: i\n });\n });\n }\n\n return Promise.resolve(e);\n }\n }, {\n key: \"parseSingleImage\",\n value: function value(e) {\n var t,\n i = this.buildImageObject({\n height: e.height,\n width: e.width,\n src: e.src\n }),\n n = e.width / e.height;\n return n !== 1 / 0 && 0 !== n || (n = 1), i.ratio = n, (t = /^data:image\\/(\\w{3})\\+xml;(.*?)base64,(.*)$/.exec(e.src)) ? (i.type = t[1], i.svgData = atob(t[3])) : (t = /^.*(\\w{3})$/.exec(e.src)) && (i.type = t[1]), this.loadImage(i);\n }\n }, {\n key: \"loadImage\",\n value: function value(e) {\n return \"\" != (e = Object.assign({}, e)).src ? \"svg\" == e.type ? e.svgData ? Promise.resolve(e) : this.downloadImage(e.src).then(function (t) {\n return e.svgData = t.response, e;\n }) : new Promise(function (t) {\n var i = new Image();\n i.addEventListener(\"load\", function () {\n e.elementData = i, t(e);\n }), i.src = e.src;\n }) : Promise.reject(new Error(\"Error react-particles-js - no image.src\"));\n }\n }, {\n key: \"downloadImage\",\n value: function value(e) {\n return new Promise(function (t, i) {\n var n = new XMLHttpRequest();\n n.open(\"GET\", e), n.onreadystatechange = function (e) {\n 4 == n.readyState && (200 == n.status ? t({\n response: e.currentTarget.response,\n xhr: n\n }) : i(new Error(\"Error react-particles-js - Status code \".concat(n.readyState))));\n }, n.send();\n });\n }\n }, {\n key: \"createSvgImage\",\n value: function value(e, t) {\n var i = e.replace(/#([0-9A-F]{3,6})|rgb\\([0-9,]+\\)/gi, function (e, i, n, r) {\n var a;\n\n if (t.color.rgb) {\n var o = t.color.rgb,\n s = o.r,\n c = o.g,\n l = o.b;\n a = \"rgba( \".concat(s, \", \").concat(c, \", \").concat(l, \", \").concat(t.opacity, \" )\");\n } else {\n var u = t.color.hsl,\n h = u.h,\n y = u.s,\n p = u.l;\n a = \"rgba( \".concat(h, \", \").concat(y, \", \").concat(p, \", \").concat(t.opacity, \" )\");\n }\n\n return a;\n }),\n n = new Blob([i], {\n type: \"image/svg+xml;charset=utf-8\"\n }),\n r = window.URL || window,\n a = r.createObjectURL(n);\n return new Promise(function (e) {\n var t = new Image();\n t.addEventListener(\"load\", function () {\n r.revokeObjectURL(a), e(t);\n }), t.src = a;\n });\n }\n }, {\n key: \"buildImageObject\",\n value: function value() {\n var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};\n return Object.assign({\n svgData: null,\n height: 0,\n width: 0,\n ratio: 0,\n src: \"\",\n type: \"\"\n }, e);\n }\n }]) && n(t.prototype, i), s && n(t, s), e;\n }();\n\n t.ImageManager = s;\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e, t) {\n for (var i = 0; i < t.length; i++) {\n var n = t[i];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n\n var r = i(2),\n a = i(1),\n o = function () {\n function e(t, i, n) {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e), this.imageManager = t, this.initialized = !1, this.params = i, this.library = n, \"undefined\" != typeof performance && (this.lastDraw = performance.now()), this.draw = this.draw.bind(this);\n }\n\n var t, i, o;\n return t = e, (i = [{\n key: \"densityAutoParticles\",\n value: function value() {\n var e = this.library,\n t = e.canvas,\n i = e.modes,\n n = this.params.particles,\n r = n.number.density,\n a = r.value_area;\n\n if (r.enable) {\n var o = t.element.width * t.element.height / 1e3;\n this.library.retina && (o /= 2 * t.pxratio);\n var s = o * n.number.value / a,\n c = n.array.length - s;\n c < 0 ? i.pushParticles(Math.abs(c)) : i.removeParticles(c);\n }\n }\n }, {\n key: \"checkOverlap\",\n value: function value(e, t) {\n var i = this,\n n = this.library,\n r = n.canvas,\n o = n.vendors;\n r.width && r.height && this.params.particles.array.forEach(function (n) {\n var s = n,\n c = e.x - s.x,\n l = e.y - s.y;\n if (Math.sqrt(c * c + l * l) <= e.radius + s.radius) if (i.library.params.polygon.enable) switch (i.library.params.polygon.inline.arrangement) {\n case a.PolygonInlineArrangementType.RANDOM_LENGTH:\n case a.PolygonInlineArrangementType.RANDOM_POINT:\n } else e.x = t ? t.x : Math.random() * r.width, e.y = t ? t.y : Math.random() * r.height, o.checkOverlap(e);\n });\n }\n }, {\n key: \"destroy\",\n value: function value() {\n cancelAnimationFrame(this.library.drawAnimFrame), this.library.canvas.element.remove();\n }\n }, {\n key: \"drawShape\",\n value: function value(e, t, i, n, r, a) {\n var o = r * a,\n s = r / a,\n c = 180 * (s - 2) / s,\n l = Math.PI - Math.PI * c / 180;\n e.save(), e.beginPath(), e.translate(t, i), e.moveTo(0, 0);\n\n for (var u = 0; u < o; u++) {\n e.lineTo(n, 0), e.translate(n, 0), e.rotate(l);\n }\n\n e.fill(), e.restore();\n }\n }, {\n key: \"exportImg\",\n value: function value() {\n var e = this.library.canvas;\n window.open(e.element.toDataURL(\"image/png\"), \"_blank\");\n }\n }, {\n key: \"draw\",\n value: function value() {\n var e = !0,\n t = this.library,\n i = t.manager,\n n = t.vendors,\n r = this.params.particles;\n void 0 !== performance && (performance.now() - this.lastDraw < 1e3 / this.params.fps_limit ? e = !1 : this.lastDraw = performance.now()), e && i.particlesDraw(), r.move.enable ? this.library.drawAnimFrame = requestAnimationFrame(n.draw) : cancelAnimationFrame(this.library.drawAnimFrame);\n }\n }, {\n key: \"init\",\n value: function value() {\n var e = this;\n\n if (!this.initialized) {\n this.initialized = !0;\n var t = this.library,\n i = t.manager,\n n = t.vendors,\n a = this.params.particles;\n t.retinaInit(), t.canvasInit(), t.canvasSize(), t.polygonMask.initialize(this.library.getParameter(function (e) {\n return e.polygon;\n })).then(function () {\n i.particlesCreate(), n.densityAutoParticles(), e.library.setParameters({\n particles: {\n line_linked: {\n color_rgb_line: r.hexToRgb(a.line_linked.color)\n }\n }\n }), e.draw();\n });\n }\n }\n }, {\n key: \"start\",\n value: function value() {\n var e = this,\n t = this.params.particles;\n this.imageManager.parseShape(t.shape).then(function (t) {\n e.init();\n });\n }\n }]) && n(t.prototype, i), o && n(t, o), e;\n }();\n\n t.default = o;\n }, function (e, t, i) {\n \"use strict\";\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n var n = i(1),\n r = i(4),\n a = {\n particles: {\n number: {\n value: 40,\n max: -1,\n density: {\n enable: !1,\n value_area: 1200\n }\n },\n color: {\n value: \"#FFF\"\n },\n shape: {\n type: n.ShapeType.CIRCLE,\n stroke: {\n width: 0,\n color: \"#000000\"\n },\n polygon: {\n nb_sides: 5\n },\n image: {\n src: \"\",\n width: 100,\n height: 100\n },\n images: []\n },\n opacity: {\n value: .5,\n random: !1,\n anim: {\n enable: !0,\n speed: 1,\n opacity_min: .1,\n sync: !1\n }\n },\n size: {\n value: 1,\n random: !1,\n anim: {\n enable: !1,\n speed: 40,\n size_min: 0,\n sync: !1\n }\n },\n line_linked: {\n enable: !0,\n distance: 150,\n color: \"#FFF\",\n opacity: .6,\n width: 1,\n shadow: {\n enable: !1,\n blur: 5,\n color: \"lime\"\n }\n },\n move: {\n enable: !0,\n speed: 3,\n direction: n.MoveDirection.NONE,\n random: !1,\n straight: !1,\n out_mode: n.MoveOutMode.BOUNCE,\n bounce: !0,\n attract: {\n enable: !1,\n rotateX: 3e3,\n rotateY: 3e3\n }\n },\n array: []\n },\n interactivity: {\n detect_on: \"canvas\",\n events: {\n onhover: {\n enable: !1,\n mode: n.InteractivityMode.GRAB\n },\n onclick: {\n enable: !1,\n mode: n.InteractivityMode.REPULSE\n },\n resize: !0\n },\n modes: {\n grab: {\n distance: 180,\n line_linked: {\n opacity: .35\n }\n },\n bubble: {\n distance: 200,\n size: 80,\n duration: .4\n },\n repulse: {\n distance: 100,\n duration: 5\n },\n push: {\n particles_nb: 4\n },\n remove: {\n particles_nb: 2\n }\n }\n },\n retina_detect: !0,\n fps_limit: 999,\n polygon: {\n enable: !1,\n scale: 1,\n type: n.PolygonType.INLINE,\n inline: {\n arrangement: n.PolygonInlineArrangementType.ONE_PER_POINT\n },\n draw: {\n enable: !1,\n stroke: {\n width: .5,\n color: \"rgba(255, 255, 255, .1)\"\n }\n },\n move: {\n radius: 10,\n type: n.PolygonMoveType.PATH\n },\n url: \"\"\n }\n };\n\n t.getDefaultParams = function () {\n return r.deepAssign({}, a);\n };\n }, function (e, t, i) {\n \"use strict\";\n\n function n(e, t) {\n return function (e) {\n if (Array.isArray(e)) return e;\n }(e) || function (e, t) {\n if (!(Symbol.iterator in Object(e) || \"[object Arguments]\" === Object.prototype.toString.call(e))) return;\n var i = [],\n n = !0,\n r = !1,\n a = void 0;\n\n try {\n for (var o, s = e[Symbol.iterator](); !(n = (o = s.next()).done) && (i.push(o.value), !t || i.length !== t); n = !0) {\n ;\n }\n } catch (e) {\n r = !0, a = e;\n } finally {\n try {\n n || null == s.return || s.return();\n } finally {\n if (r) throw a;\n }\n }\n\n return i;\n }(e, t) || function () {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }();\n }\n\n function r(e, t) {\n for (var i = 0; i < t.length; i++) {\n var n = t[i];\n n.enumerable = n.enumerable || !1, n.configurable = !0, \"value\" in n && (n.writable = !0), Object.defineProperty(e, n.key, n);\n }\n }\n\n Object.defineProperty(t, \"__esModule\", {\n value: !0\n });\n\n var a = function () {\n function e(t) {\n !function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n }(this, e), this.library = t, this.polygonPathLength = 0, this.initialized = !1, this.path2DSupported = !!window.Path2D, this.debounceTime = 250, this.parseSvgPathToPolygon = this.parseSvgPathToPolygon.bind(this);\n }\n\n var t, i, a;\n return t = e, (i = [{\n key: \"initialize\",\n value: function value(e) {\n var t = this;\n return this.polygon = e, e.enable ? this.initialized ? new Promise(function (e) {\n t.debounceTimer && clearTimeout(t.debounceTimer), t.debounceTimer = setTimeout(function () {\n t.parseSvgPathToPolygon().then(function (t) {\n e();\n });\n }, t.debounceTime);\n }) : this.parseSvgPathToPolygon().then(function (e) {\n t.initialized = !0;\n }) : Promise.resolve();\n }\n }, {\n key: \"getVerticesNumber\",\n value: function value() {\n return this.initialized ? this.polygonRaw.length : 0;\n }\n }, {\n key: \"parseSvgPathToPolygon\",\n value: function value(e) {\n var t = this;\n e = e || this.polygon.url;\n var i = this.library.canvas.width === this.lastCanvasWidth && this.library.canvas.height === this.lastCanvasHeight;\n return this.polygonRaw && this.polygonRaw.length && i ? Promise.resolve(this.polygonRaw) : this.parseSvgPath(e).then(function (e) {\n return t.polygonData = e, t.polygonWidth = parseInt(t.polygonData.svg.getAttribute(\"width\")) * t.polygon.scale, t.polygonHeight = parseInt(t.polygonData.svg.getAttribute(\"height\")) * t.polygon.scale, t.polygonOffsetX = t.library.canvas.width / 2 - t.polygonWidth / 2, t.polygonOffsetY = t.library.canvas.height / 2 - t.polygonHeight / 2, t.polygonData.paths.length && (t.polygonPathLength = t.polygonData.paths[0].getTotalLength()), t.polygonRaw = [], t.polygonData.paths.forEach(function (e) {\n for (var i = e.pathSegList.numberOfItems, n = 0; n < i; n++) {\n var r = {\n x: 0,\n y: 0\n },\n a = e.pathSegList.getItem(n);\n\n switch (a.pathSegType) {\n case SVGPathSeg.PATHSEG_ARC_ABS:\n case SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:\n case SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:\n case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:\n case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:\n case SVGPathSeg.PATHSEG_LINETO_ABS:\n case SVGPathSeg.PATHSEG_MOVETO_ABS:\n r.x = a.x, r.y = a.y;\n\n case SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:\n r.x = a.x;\n break;\n\n case SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:\n r.y = a.y;\n break;\n\n case SVGPathSeg.PATHSEG_ARC_REL:\n case SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:\n case SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:\n case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:\n case SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:\n case SVGPathSeg.PATHSEG_LINETO_REL:\n case SVGPathSeg.PATHSEG_MOVETO_REL:\n r.x = a.x, r.y = a.y;\n\n case SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:\n r.x = a.x;\n break;\n\n case SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:\n r.y = a.y;\n break;\n\n case SVGPathSeg.PATHSEG_UNKNOWN:\n case SVGPathSeg.PATHSEG_CLOSEPATH:\n default:\n continue;\n }\n\n t.polygonRaw.push([r.x * t.polygon.scale + t.polygonOffsetX, r.y * t.polygon.scale + t.polygonOffsetY]);\n }\n }), t.lastCanvasWidth = t.library.canvas.width, t.lastCanvasHeight = t.library.canvas.height, t.createPath2D(), t.polygonRaw;\n });\n }\n }, {\n key: \"parseSvgPath\",\n value: function value(e) {\n return this.polygonData && this.polygonData.paths && this.polygonData.paths.length && this.polygonData.svg ? Promise.resolve(this.polygonData) : this.library.imageManager.downloadImage(e).then(function (e) {\n return {\n paths: [e.xhr.responseXML.getElementsByTagName(\"path\")[0]],\n svg: e.xhr.responseXML.getElementsByTagName(\"svg\")[0]\n };\n });\n }\n }, {\n key: \"getRandomPointOnPolygonPath\",\n value: function value() {\n if (!this.initialized) throw new Error(\"No polygon data loaded.\");\n var e = n(this.polygonRaw[Math.floor(Math.random() * this.polygonRaw.length)], 2);\n return {\n x: e[0],\n y: e[1]\n };\n }\n }, {\n key: \"getRandomPointOnPolygonPathByLength\",\n value: function value() {\n if (!this.initialized) throw new Error(\"No polygon data loaded.\");\n var e = this.polygonData.paths[0].getPointAtLength(Math.floor(Math.random() * this.polygonPathLength) + 1);\n return {\n x: e.x * this.polygon.scale + this.polygonOffsetX,\n y: e.y * this.polygon.scale + this.polygonOffsetY\n };\n }\n }, {\n key: \"getRandomPointInsidePolygonPath\",\n value: function value() {\n if (!this.initialized) throw new Error(\"No polygon data loaded.\");\n var e = {\n x: Math.random() * this.library.canvas.width,\n y: Math.random() * this.library.canvas.height\n };\n return this.isPointInsidePolygon(e) ? e : this.getRandomPointInsidePolygonPath();\n }\n }, {\n key: \"getRandomPointOutsidePolygonPath\",\n value: function value() {\n if (!this.initialized) throw new Error(\"No polygon data loaded.\");\n var e = {\n x: Math.random() * this.library.canvas.width,\n y: Math.random() * this.library.canvas.height\n };\n return this.isPointInsidePolygon(e) ? this.getRandomPointOutsidePolygonPath() : e;\n }\n }, {\n key: \"isPointInsidePolygon\",\n value: function value(e) {\n if (this.path2DSupported && this.polygonPath) return this.library.canvas.ctx.isPointInPath(this.polygonPath, e.x, e.y);\n\n for (var t = !1, i = 0, n = this.polygonRaw.length - 1; i < this.polygonRaw.length; n = i++) {\n var r = this.polygonRaw[i][0],\n a = this.polygonRaw[i][1],\n o = this.polygonRaw[n][0],\n s = this.polygonRaw[n][1];\n a > e.y != s > e.y && e.x < (o - r) * (e.y - a) / (s - a) + r && (t = !t);\n }\n\n return t;\n }\n }, {\n key: \"getPoingOnPolygonPathByIndex\",\n value: function value(e) {\n if (!this.initialized) throw new Error(\"No polygon data loaded.\");\n var t = n(this.polygonRaw[e % this.polygonRaw.length], 2);\n return {\n x: t[0],\n y: t[1]\n };\n }\n }, {\n key: \"getEquidistantPoingOnPolygonPathByIndex\",\n value: function value(e) {\n if (!this.initialized) throw new Error(\"No polygon data loaded.\");\n var t = this.polygonData.paths[0].getPointAtLength(this.polygonPathLength / this.library.getParameter(function (e) {\n return e.particles.number.value;\n }) * e);\n return {\n x: t.x * this.polygon.scale + this.polygonOffsetX,\n y: t.y * this.polygon.scale + this.polygonOffsetY\n };\n }\n }, {\n key: \"drawPolygon\",\n value: function value() {\n var e = this.library.canvas.ctx;\n\n if (!this.path2DSupported) {\n if (!this.initialized) return;\n e.beginPath(), e.moveTo(this.polygonRaw[0][0], this.polygonRaw[0][1]), this.polygonRaw.forEach(function (t, i) {\n var r = n(t, 2),\n a = r[0],\n o = r[1];\n i > 0 && e.lineTo(a, o);\n }), e.closePath();\n }\n\n e.strokeStyle = this.polygon.draw.stroke.color, e.lineWidth = this.polygon.draw.stroke.width, this.polygonPath ? e.stroke(this.polygonPath) : e.stroke();\n }\n }, {\n key: \"createPath2D\",\n value: function value() {\n var e = this;\n this.path2DSupported && (this.polygonPath = new Path2D(), this.polygonPath.moveTo(this.polygonRaw[0][0], this.polygonRaw[0][1]), this.polygonRaw.forEach(function (t, i) {\n var r = n(t, 2),\n a = r[0],\n o = r[1];\n i > 0 && e.polygonPath.lineTo(a, o);\n }), this.polygonPath.closePath());\n }\n }]) && r(t.prototype, i), a && r(t, a), e;\n }();\n\n t.PolygonMask = a;\n }, function (e, t, i) {\n var n = i(38);\n\n e.exports = function (e, t) {\n return n(e, t);\n };\n }, function (e, t, i) {\n var n = i(39),\n r = i(10);\n\n e.exports = function e(t, i, a, o, s) {\n return t === i || (null == t || null == i || !r(t) && !r(i) ? t != t && i != i : n(t, i, a, o, e, s));\n };\n }, function (e, t, i) {\n var n = i(40),\n r = i(22),\n a = i(75),\n o = i(79),\n s = i(101),\n c = i(13),\n l = i(23),\n u = i(25),\n h = \"[object Object]\",\n y = Object.prototype.hasOwnProperty;\n\n e.exports = function (e, t, i, p, f, v) {\n var d = c(e),\n b = c(t),\n g = d ? \"[object Array]\" : s(e),\n m = b ? \"[object Array]\" : s(t),\n _ = (g = \"[object Arguments]\" == g ? h : g) == h,\n P = (m = \"[object Arguments]\" == m ? h : m) == h,\n x = g == m;\n\n if (x && l(e)) {\n if (!l(t)) return !1;\n d = !0, _ = !1;\n }\n\n if (x && !_) return v || (v = new n()), d || u(e) ? r(e, t, i, p, f, v) : a(e, t, g, i, p, f, v);\n\n if (!(1 & i)) {\n var w = _ && y.call(e, \"__wrapped__\"),\n O = P && y.call(t, \"__wrapped__\");\n\n if (w || O) {\n var M = w ? e.value() : e,\n E = O ? t.value() : t;\n return v || (v = new n()), f(M, E, i, p, v);\n }\n }\n\n return !!x && (v || (v = new n()), o(e, t, i, p, f, v));\n };\n }, function (e, t, i) {\n var n = i(5),\n r = i(46),\n a = i(47),\n o = i(48),\n s = i(49),\n c = i(50);\n\n function l(e) {\n var t = this.__data__ = new n(e);\n this.size = t.size;\n }\n\n l.prototype.clear = r, l.prototype.delete = a, l.prototype.get = o, l.prototype.has = s, l.prototype.set = c, e.exports = l;\n }, function (e, t) {\n e.exports = function () {\n this.__data__ = [], this.size = 0;\n };\n }, function (e, t, i) {\n var n = i(6),\n r = Array.prototype.splice;\n\n e.exports = function (e) {\n var t = this.__data__,\n i = n(t, e);\n return !(i < 0) && (i == t.length - 1 ? t.pop() : r.call(t, i, 1), --this.size, !0);\n };\n }, function (e, t, i) {\n var n = i(6);\n\n e.exports = function (e) {\n var t = this.__data__,\n i = n(t, e);\n return i < 0 ? void 0 : t[i][1];\n };\n }, function (e, t, i) {\n var n = i(6);\n\n e.exports = function (e) {\n return n(this.__data__, e) > -1;\n };\n }, function (e, t, i) {\n var n = i(6);\n\n e.exports = function (e, t) {\n var i = this.__data__,\n r = n(i, e);\n return r < 0 ? (++this.size, i.push([e, t])) : i[r][1] = t, this;\n };\n }, function (e, t, i) {\n var n = i(5);\n\n e.exports = function () {\n this.__data__ = new n(), this.size = 0;\n };\n }, function (e, t) {\n e.exports = function (e) {\n var t = this.__data__,\n i = t.delete(e);\n return this.size = t.size, i;\n };\n }, function (e, t) {\n e.exports = function (e) {\n return this.__data__.get(e);\n };\n }, function (e, t) {\n e.exports = function (e) {\n return this.__data__.has(e);\n };\n }, function (e, t, i) {\n var n = i(5),\n r = i(11),\n a = i(21);\n\n e.exports = function (e, t) {\n var i = this.__data__;\n\n if (i instanceof n) {\n var o = i.__data__;\n if (!r || o.length < 199) return o.push([e, t]), this.size = ++i.size, this;\n i = this.__data__ = new a(o);\n }\n\n return i.set(e, t), this.size = i.size, this;\n };\n }, function (e, t, i) {\n var n = i(17),\n r = i(55),\n a = i(19),\n o = i(20),\n s = /^\\[object .+?Constructor\\]$/,\n c = Function.prototype,\n l = Object.prototype,\n u = c.toString,\n h = l.hasOwnProperty,\n y = RegExp(\"^\" + u.call(h).replace(/[\\\\^$.*+?()[\\]{}|]/g, \"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, \"$1.*?\") + \"$\");\n\n e.exports = function (e) {\n return !(!a(e) || r(e)) && (n(e) ? y : s).test(o(e));\n };\n }, function (e, t) {\n var i;\n\n i = function () {\n return this;\n }();\n\n try {\n i = i || new Function(\"return this\")();\n } catch (e) {\n \"object\" == typeof window && (i = window);\n }\n\n e.exports = i;\n }, function (e, t, i) {\n var n = i(12),\n r = Object.prototype,\n a = r.hasOwnProperty,\n o = r.toString,\n s = n ? n.toStringTag : void 0;\n\n e.exports = function (e) {\n var t = a.call(e, s),\n i = e[s];\n\n try {\n e[s] = void 0;\n var n = !0;\n } catch (e) {}\n\n var r = o.call(e);\n return n && (t ? e[s] = i : delete e[s]), r;\n };\n }, function (e, t) {\n var i = Object.prototype.toString;\n\n e.exports = function (e) {\n return i.call(e);\n };\n }, function (e, t, i) {\n var n,\n r = i(56),\n a = (n = /[^.]+$/.exec(r && r.keys && r.keys.IE_PROTO || \"\")) ? \"Symbol(src)_1.\" + n : \"\";\n\n e.exports = function (e) {\n return !!a && a in e;\n };\n }, function (e, t, i) {\n var n = i(0)[\"__core-js_shared__\"];\n e.exports = n;\n }, function (e, t) {\n e.exports = function (e, t) {\n return null == e ? void 0 : e[t];\n };\n }, function (e, t, i) {\n var n = i(59),\n r = i(5),\n a = i(11);\n\n e.exports = function () {\n this.size = 0, this.__data__ = {\n hash: new n(),\n map: new (a || r)(),\n string: new n()\n };\n };\n }, function (e, t, i) {\n var n = i(60),\n r = i(61),\n a = i(62),\n o = i(63),\n s = i(64);\n\n function c(e) {\n var t = -1,\n i = null == e ? 0 : e.length;\n\n for (this.clear(); ++t < i;) {\n var n = e[t];\n this.set(n[0], n[1]);\n }\n }\n\n c.prototype.clear = n, c.prototype.delete = r, c.prototype.get = a, c.prototype.has = o, c.prototype.set = s, e.exports = c;\n }, function (e, t, i) {\n var n = i(8);\n\n e.exports = function () {\n this.__data__ = n ? n(null) : {}, this.size = 0;\n };\n }, function (e, t) {\n e.exports = function (e) {\n var t = this.has(e) && delete this.__data__[e];\n return this.size -= t ? 1 : 0, t;\n };\n }, function (e, t, i) {\n var n = i(8),\n r = Object.prototype.hasOwnProperty;\n\n e.exports = function (e) {\n var t = this.__data__;\n\n if (n) {\n var i = t[e];\n return \"__lodash_hash_undefined__\" === i ? void 0 : i;\n }\n\n return r.call(t, e) ? t[e] : void 0;\n };\n }, function (e, t, i) {\n var n = i(8),\n r = Object.prototype.hasOwnProperty;\n\n e.exports = function (e) {\n var t = this.__data__;\n return n ? void 0 !== t[e] : r.call(t, e);\n };\n }, function (e, t, i) {\n var n = i(8);\n\n e.exports = function (e, t) {\n var i = this.__data__;\n return this.size += this.has(e) ? 0 : 1, i[e] = n && void 0 === t ? \"__lodash_hash_undefined__\" : t, this;\n };\n }, function (e, t, i) {\n var n = i(9);\n\n e.exports = function (e) {\n var t = n(this, e).delete(e);\n return this.size -= t ? 1 : 0, t;\n };\n }, function (e, t) {\n e.exports = function (e) {\n var t = typeof e;\n return \"string\" == t || \"number\" == t || \"symbol\" == t || \"boolean\" == t ? \"__proto__\" !== e : null === e;\n };\n }, function (e, t, i) {\n var n = i(9);\n\n e.exports = function (e) {\n return n(this, e).get(e);\n };\n }, function (e, t, i) {\n var n = i(9);\n\n e.exports = function (e) {\n return n(this, e).has(e);\n };\n }, function (e, t, i) {\n var n = i(9);\n\n e.exports = function (e, t) {\n var i = n(this, e),\n r = i.size;\n return i.set(e, t), this.size += i.size == r ? 0 : 1, this;\n };\n }, function (e, t, i) {\n var n = i(21),\n r = i(71),\n a = i(72);\n\n function o(e) {\n var t = -1,\n i = null == e ? 0 : e.length;\n\n for (this.__data__ = new n(); ++t < i;) {\n this.add(e[t]);\n }\n }\n\n o.prototype.add = o.prototype.push = r, o.prototype.has = a, e.exports = o;\n }, function (e, t) {\n e.exports = function (e) {\n return this.__data__.set(e, \"__lodash_hash_undefined__\"), this;\n };\n }, function (e, t) {\n e.exports = function (e) {\n return this.__data__.has(e);\n };\n }, function (e, t) {\n e.exports = function (e, t) {\n for (var i = -1, n = null == e ? 0 : e.length; ++i < n;) {\n if (t(e[i], i, e)) return !0;\n }\n\n return !1;\n };\n }, function (e, t) {\n e.exports = function (e, t) {\n return e.has(t);\n };\n }, function (e, t, i) {\n var n = i(12),\n r = i(76),\n a = i(16),\n o = i(22),\n s = i(77),\n c = i(78),\n l = n ? n.prototype : void 0,\n u = l ? l.valueOf : void 0;\n\n e.exports = function (e, t, i, n, l, h, y) {\n switch (i) {\n case \"[object DataView]\":\n if (e.byteLength != t.byteLength || e.byteOffset != t.byteOffset) return !1;\n e = e.buffer, t = t.buffer;\n\n case \"[object ArrayBuffer]\":\n return !(e.byteLength != t.byteLength || !h(new r(e), new r(t)));\n\n case \"[object Boolean]\":\n case \"[object Date]\":\n case \"[object Number]\":\n return a(+e, +t);\n\n case \"[object Error]\":\n return e.name == t.name && e.message == t.message;\n\n case \"[object RegExp]\":\n case \"[object String]\":\n return e == t + \"\";\n\n case \"[object Map]\":\n var p = s;\n\n case \"[object Set]\":\n var f = 1 & n;\n if (p || (p = c), e.size != t.size && !f) return !1;\n var v = y.get(e);\n if (v) return v == t;\n n |= 2, y.set(e, t);\n var d = o(p(e), p(t), n, l, h, y);\n return y.delete(e), d;\n\n case \"[object Symbol]\":\n if (u) return u.call(e) == u.call(t);\n }\n\n return !1;\n };\n }, function (e, t, i) {\n var n = i(0).Uint8Array;\n e.exports = n;\n }, function (e, t) {\n e.exports = function (e) {\n var t = -1,\n i = Array(e.size);\n return e.forEach(function (e, n) {\n i[++t] = [n, e];\n }), i;\n };\n }, function (e, t) {\n e.exports = function (e) {\n var t = -1,\n i = Array(e.size);\n return e.forEach(function (e) {\n i[++t] = e;\n }), i;\n };\n }, function (e, t, i) {\n var n = i(80),\n r = Object.prototype.hasOwnProperty;\n\n e.exports = function (e, t, i, a, o, s) {\n var c = 1 & i,\n l = n(e),\n u = l.length;\n if (u != n(t).length && !c) return !1;\n\n for (var h = u; h--;) {\n var y = l[h];\n if (!(c ? y in t : r.call(t, y))) return !1;\n }\n\n var p = s.get(e);\n if (p && s.get(t)) return p == t;\n var f = !0;\n s.set(e, t), s.set(t, e);\n\n for (var v = c; ++h < u;) {\n var d = e[y = l[h]],\n b = t[y];\n if (a) var g = c ? a(b, d, y, t, e, s) : a(d, b, y, e, t, s);\n\n if (!(void 0 === g ? d === b || o(d, b, i, a, s) : g)) {\n f = !1;\n break;\n }\n\n v || (v = \"constructor\" == y);\n }\n\n if (f && !v) {\n var m = e.constructor,\n _ = t.constructor;\n m != _ && \"constructor\" in e && \"constructor\" in t && !(\"function\" == typeof m && m instanceof m && \"function\" == typeof _ && _ instanceof _) && (f = !1);\n }\n\n return s.delete(e), s.delete(t), f;\n };\n }, function (e, t, i) {\n var n = i(81),\n r = i(83),\n a = i(86);\n\n e.exports = function (e) {\n return n(e, a, r);\n };\n }, function (e, t, i) {\n var n = i(82),\n r = i(13);\n\n e.exports = function (e, t, i) {\n var a = t(e);\n return r(e) ? a : n(a, i(e));\n };\n }, function (e, t) {\n e.exports = function (e, t) {\n for (var i = -1, n = t.length, r = e.length; ++i < n;) {\n e[r + i] = t[i];\n }\n\n return e;\n };\n }, function (e, t, i) {\n var n = i(84),\n r = i(85),\n a = Object.prototype.propertyIsEnumerable,\n o = Object.getOwnPropertySymbols,\n s = o ? function (e) {\n return null == e ? [] : (e = Object(e), n(o(e), function (t) {\n return a.call(e, t);\n }));\n } : r;\n e.exports = s;\n }, function (e, t) {\n e.exports = function (e, t) {\n for (var i = -1, n = null == e ? 0 : e.length, r = 0, a = []; ++i < n;) {\n var o = e[i];\n t(o, i, e) && (a[r++] = o);\n }\n\n return a;\n };\n }, function (e, t) {\n e.exports = function () {\n return [];\n };\n }, function (e, t, i) {\n var n = i(87),\n r = i(96),\n a = i(100);\n\n e.exports = function (e) {\n return a(e) ? n(e) : r(e);\n };\n }, function (e, t, i) {\n var n = i(88),\n r = i(89),\n a = i(13),\n o = i(23),\n s = i(92),\n c = i(25),\n l = Object.prototype.hasOwnProperty;\n\n e.exports = function (e, t) {\n var i = a(e),\n u = !i && r(e),\n h = !i && !u && o(e),\n y = !i && !u && !h && c(e),\n p = i || u || h || y,\n f = p ? n(e.length, String) : [],\n v = f.length;\n\n for (var d in e) {\n !t && !l.call(e, d) || p && (\"length\" == d || h && (\"offset\" == d || \"parent\" == d) || y && (\"buffer\" == d || \"byteLength\" == d || \"byteOffset\" == d) || s(d, v)) || f.push(d);\n }\n\n return f;\n };\n }, function (e, t) {\n e.exports = function (e, t) {\n for (var i = -1, n = Array(e); ++i < e;) {\n n[i] = t(i);\n }\n\n return n;\n };\n }, function (e, t, i) {\n var n = i(90),\n r = i(10),\n a = Object.prototype,\n o = a.hasOwnProperty,\n s = a.propertyIsEnumerable,\n c = n(function () {\n return arguments;\n }()) ? n : function (e) {\n return r(e) && o.call(e, \"callee\") && !s.call(e, \"callee\");\n };\n e.exports = c;\n }, function (e, t, i) {\n var n = i(7),\n r = i(10);\n\n e.exports = function (e) {\n return r(e) && \"[object Arguments]\" == n(e);\n };\n }, function (e, t) {\n e.exports = function () {\n return !1;\n };\n }, function (e, t) {\n var i = /^(?:0|[1-9]\\d*)$/;\n\n e.exports = function (e, t) {\n var n = typeof e;\n return !!(t = null == t ? 9007199254740991 : t) && (\"number\" == n || \"symbol\" != n && i.test(e)) && e > -1 && e % 1 == 0 && e < t;\n };\n }, function (e, t, i) {\n var n = i(7),\n r = i(26),\n a = i(10),\n o = {};\n o[\"[object Float32Array]\"] = o[\"[object Float64Array]\"] = o[\"[object Int8Array]\"] = o[\"[object Int16Array]\"] = o[\"[object Int32Array]\"] = o[\"[object Uint8Array]\"] = o[\"[object Uint8ClampedArray]\"] = o[\"[object Uint16Array]\"] = o[\"[object Uint32Array]\"] = !0, o[\"[object Arguments]\"] = o[\"[object Array]\"] = o[\"[object ArrayBuffer]\"] = o[\"[object Boolean]\"] = o[\"[object DataView]\"] = o[\"[object Date]\"] = o[\"[object Error]\"] = o[\"[object Function]\"] = o[\"[object Map]\"] = o[\"[object Number]\"] = o[\"[object Object]\"] = o[\"[object RegExp]\"] = o[\"[object Set]\"] = o[\"[object String]\"] = o[\"[object WeakMap]\"] = !1, e.exports = function (e) {\n return a(e) && r(e.length) && !!o[n(e)];\n };\n }, function (e, t) {\n e.exports = function (e) {\n return function (t) {\n return e(t);\n };\n };\n }, function (e, t, i) {\n (function (e) {\n var n = i(18),\n r = t && !t.nodeType && t,\n a = r && \"object\" == typeof e && e && !e.nodeType && e,\n o = a && a.exports === r && n.process,\n s = function () {\n try {\n var e = a && a.require && a.require(\"util\").types;\n\n return e || o && o.binding && o.binding(\"util\");\n } catch (e) {}\n }();\n\n e.exports = s;\n }).call(this, i(24)(e));\n }, function (e, t, i) {\n var n = i(97),\n r = i(98),\n a = Object.prototype.hasOwnProperty;\n\n e.exports = function (e) {\n if (!n(e)) return r(e);\n var t = [];\n\n for (var i in Object(e)) {\n a.call(e, i) && \"constructor\" != i && t.push(i);\n }\n\n return t;\n };\n }, function (e, t) {\n var i = Object.prototype;\n\n e.exports = function (e) {\n var t = e && e.constructor;\n return e === (\"function\" == typeof t && t.prototype || i);\n };\n }, function (e, t, i) {\n var n = i(99)(Object.keys, Object);\n e.exports = n;\n }, function (e, t) {\n e.exports = function (e, t) {\n return function (i) {\n return e(t(i));\n };\n };\n }, function (e, t, i) {\n var n = i(17),\n r = i(26);\n\n e.exports = function (e) {\n return null != e && r(e.length) && !n(e);\n };\n }, function (e, t, i) {\n var n = i(102),\n r = i(11),\n a = i(103),\n o = i(104),\n s = i(105),\n c = i(7),\n l = i(20),\n u = l(n),\n h = l(r),\n y = l(a),\n p = l(o),\n f = l(s),\n v = c;\n (n && \"[object DataView]\" != v(new n(new ArrayBuffer(1))) || r && \"[object Map]\" != v(new r()) || a && \"[object Promise]\" != v(a.resolve()) || o && \"[object Set]\" != v(new o()) || s && \"[object WeakMap]\" != v(new s())) && (v = function v(e) {\n var t = c(e),\n i = \"[object Object]\" == t ? e.constructor : void 0,\n n = i ? l(i) : \"\";\n if (n) switch (n) {\n case u:\n return \"[object DataView]\";\n\n case h:\n return \"[object Map]\";\n\n case y:\n return \"[object Promise]\";\n\n case p:\n return \"[object Set]\";\n\n case f:\n return \"[object WeakMap]\";\n }\n return t;\n }), e.exports = v;\n }, function (e, t, i) {\n var n = i(3)(i(0), \"DataView\");\n e.exports = n;\n }, function (e, t, i) {\n var n = i(3)(i(0), \"Promise\");\n e.exports = n;\n }, function (e, t, i) {\n var n = i(3)(i(0), \"Set\");\n e.exports = n;\n }, function (e, t, i) {\n var n = i(3)(i(0), \"WeakMap\");\n e.exports = n;\n }]);\n});","import styled from 'styled-components';\r\nimport {device} from '../../../theme'\r\n\r\nexport const BlogWrapper = styled.div `\r\n margin-bottom: 50px;\r\n position: relative;\r\n z-index: 2;\r\n`;\r\n\r\nexport const Thumb = styled.div `\r\n position: relative;\r\n a{\r\n display: block;\r\n }\r\n *{\r\n height: 100%;\r\n }\r\n .gatsby-image-wrapper,\r\n picture,\r\n img{\r\n width: 100%;\r\n max-width: 100% !important;\r\n }\r\n img{\r\n border-radius: 5px 0 0 5px;\r\n }\r\n`;\r\n\r\nexport const Category = styled.div `\r\n position: absolute !important;\r\n top: 30px;\r\n left: 30px;\r\n a{\r\n border: 2px solid #808585;\r\n display: block;\r\n height: 24px;\r\n padding: 0 15px;\r\n line-height: 20px;\r\n color: #ffffff;\r\n font-size: 12px;\r\n text-transform: uppercase;\r\n font-weight: 700;\r\n border-radius: 11px;\r\n letter-spacing: 1px;\r\n }\r\n`;\r\n\r\nexport const Content = styled.div `\r\n padding: 40px 40px;\r\n background: #fff;\r\n display: flex;\r\n flex-wrap: wrap;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n @media ${device.small}{\r\n padding: 10vw;\r\n }\r\n`;\r\n\r\nexport const ContentTop = styled.div ``;\r\nexport const ContentBottom = styled.div ``;\r\n\r\nexport const PostDate = styled.span `\r\n color: #000000;\r\n font-weight: 300;\r\n font-size: 12px;\r\n letter-spacing: 1px;\r\n display: inline-block;\r\n margin-bottom: 6px;\r\n`;\r\n\r\nexport const PostTitle = styled.h2 `\r\n font-size: 30px;\r\n font-weight: 600;\r\n margin-bottom: 12px;\r\n @media ${device.medium}{\r\n font-size: 25px;\r\n }\r\n @media ${device.small}{\r\n font-size: 16px;\r\n }\r\n a{\r\n color: #000;\r\n }\r\n`;\r\n\r\nexport const Excerpt = styled.p `\r\n color: #000000;\r\n font-size: 14px;\r\n line-height: 24px;\r\n @media ${device.small}{\r\n font-size: 12px;\r\n }\r\n`;\r\n\r\nexport const PostMeta = styled.ul `\r\n display: flex;\r\n padding: 0;\r\n list-style: none;\r\n margin-top: 34px;\r\n margin-bottom: 0;\r\n @media ${device.small}{\r\n margin-top: 20px;\r\n }\r\n li{\r\n margin: 0 15px;\r\n @media ${device.medium}{\r\n margin: 0 10px;\r\n }\r\n &:first-child {\r\n margin-left: 0;\r\n }\r\n &:last-child {\r\n margin-right: 0;\r\n }\r\n i{\r\n padding-right: 7px;\r\n }\r\n a{\r\n color: #000;\r\n }\r\n }\r\n`;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport {Link} from 'gatsby'\r\n// import { CommentCount } from 'disqus-react';\r\nimport Image from '../../image';\r\nimport {\r\n BlogWrapper, \r\n Thumb, \r\n Category, \r\n Content, \r\n ContentTop, \r\n ContentBottom, \r\n PostDate, \r\n PostTitle,\r\n Excerpt,\r\n PostMeta\r\n} from './blog.stc'\r\n \r\nconst Blog = ({title, date, id, author, path, image, excerpt}) => {\r\n // const disqusShortname = 'thern-1';\r\n // const disqusConfig = {\r\n // url: path,\r\n // identifier: id,\r\n // title: title,\r\n // }; \r\n return (\r\n \r\n {image && (\r\n \r\n \r\n \r\n \r\n \r\n Creative\r\n \r\n \r\n )}\r\n \r\n \r\n {date}\r\n {title}\r\n {excerpt}\r\n \r\n \r\n \r\n {author}\r\n {/* \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n )\r\n} \r\n\r\nexport default Blog;","import styled from 'styled-components';\r\n\r\nexport const FormWrap = styled.form `\r\n\r\n`;","import styled, {css} from 'styled-components';\r\nimport {device} from '../../../../theme'\r\n\r\nexport const InputWrap = styled.input `\r\n color: ${props => props.theme.colors.headingColor};\r\n font-size: 18px;\r\n font-weight: 300;\r\n border: 0 none;\r\n border-bottom: 1px solid #ebebec;\r\n padding: 0;\r\n height: 50px;\r\n &::-webkit-input-placeholder { /* Chrome/Opera/Safari */\r\n color: #7c7d7e;\r\n }\r\n &::-moz-placeholder { /* Firefox 19+ */\r\n color: #7c7d7e;\r\n }\r\n &:-ms-input-placeholder { /* IE 10+ */\r\n color: #7c7d7e;\r\n }\r\n &:-moz-placeholder { /* Firefox 18- */\r\n color: #7c7d7e;\r\n }\r\n ${props => props.halfwidth && css `\r\n width: 50%;\r\n float: left;\r\n @media ${device.xsmall}{\r\n width: 100%;\r\n float: none;\r\n }\r\n `}\r\n ${props => props.responsive && css `\r\n ${props => props.responsive.xsmall && css `\r\n @media ${device.xsmall}{\r\n margin-top: ${props => props.responsive.xsmall.mt};\r\n margin-bottom: ${props => props.responsive.xsmall.mb};\r\n }\r\n `}\r\n `}\r\n`;","import React from 'react';\r\nimport {InputWrap} from './input.stc'\r\n\r\nexport const Input = (props) => {\r\n const {type, value, placeholder, name, id, onChange, ...restProps} = props; \r\n return(\r\n \r\n )\r\n}\r\n","import styled, {css} from 'styled-components';\r\nimport {device} from '../../../../theme'\r\n\r\nexport const TextareaWrap = styled.textarea `\r\n color: ${props => props.theme.colors.headingColor};\r\n font-size: 18px;\r\n border: 0 none;\r\n font-weight: 300;\r\n border-bottom: 1px solid #ebebec;\r\n min-height: 100px;\r\n margin-top: ${props => props.mt};\r\n margin-bottom: ${props => props.mb};\r\n width: 100%;\r\n &::-webkit-input-placeholder { /* Chrome/Opera/Safari */\r\n color: #7c7d7e;\r\n }\r\n &::-moz-placeholder { /* Firefox 19+ */\r\n color: #7c7d7e;\r\n }\r\n &:-ms-input-placeholder { /* IE 10+ */\r\n color: #7c7d7e;\r\n }\r\n &:-moz-placeholder { /* Firefox 18- */\r\n color: #7c7d7e;\r\n }\r\n ${props => props.halfwidth && css `\r\n width: 50%;\r\n float: left;\r\n `}\r\n ${props => props.responsive && css `\r\n ${props => props.responsive.xsmall && css `\r\n @media ${device.xsmall}{\r\n margin-top: ${props => props.responsive.xsmall.mt};\r\n margin-bottom: ${props => props.responsive.xsmall.mb};\r\n }\r\n `}\r\n `}\r\n`;","import React from 'react';\r\nimport {TextareaWrap} from './textarea.stc'\r\n\r\nexport const Textarea = (props) => {\r\n const {type, value, placeholder, name, id, onChange, ...restProps} = props; \r\n return(\r\n \r\n )\r\n}\r\n","import React from 'react';\r\nimport {FormWrap} from './form.stc'\r\nimport {Input} from './input'\r\nimport {Textarea} from './textarea'\r\n\r\nconst Form = (props) => {\r\n const {method, action, children, onSubmit, ...restProps} = props;\r\n return(\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\nexport {Input, Textarea}\r\n\r\nexport default Form;","import styled from 'styled-components';\r\nimport {device} from '../../../theme'\r\n\r\nexport const ContactSectionWrap = styled.div `\r\n background: #f8f8f8;\r\n @media ${device.medium}{\r\n .col-2{\r\n flex-basis: 100vw;\r\n max-width: 100vw;\r\n }\r\n .col-2.offset-1{\r\n flex-basis: 80vw;\r\n max-width: 80vw;\r\n }\r\n }\r\n`;\r\n\r\nexport const BannerArea = styled.div `\r\n height: 100%;\r\n @media ${device.large}{\r\n max-height: 710px;\r\n }\r\n @media ${device.medium}{\r\n max-height: 100%;\r\n .gatsby-image-wrapper{\r\n max-width: 100% !important;\r\n }\r\n }\r\n img{\r\n height: 100%;\r\n width: 100%;\r\n object-fit: cover;\r\n }\r\n`;\r\n\r\nexport const ContactFormWrap = styled.div `\r\n padding: 40px;\r\n background-color: white;\r\n @media ${device.large}{\r\n padding: 90px 15px;\r\n }\r\n @media ${device.medium}{\r\n padding: 70px 15px;\r\n }\r\n @media ${device.small}{\r\n padding: 10vw 15px;\r\n }\r\n`;\r\n\r\nexport const ContactForm = styled.div `\r\n margin-top: 70px;\r\n @media ${device.medium}{\r\n margin-top: 50px;\r\n }\r\n`;","import React, { useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { useStaticQuery, graphql, Link } from \"gatsby\";\r\nimport Heading from \"../../../components/shared/heading\";\r\nimport Text from \"../../../components/shared/text\";\r\nimport Button from \"../../../components/shared/button\";\r\nimport Form, { Input, Textarea } from \"../../../components/shared/form\";\r\nimport Image from \"../../../components/image\";\r\nimport { navigate, useLocation } from \"@reach/router\";\r\nimport {\r\n ContactSectionWrap,\r\n BannerArea,\r\n ContactFormWrap,\r\n ContactForm,\r\n} from \"./contact-form.stc\";\r\n\r\nconst ContactFormSection = ({\r\n headingStyle,\r\n textStyle,\r\n inputStyle,\r\n textareaStyle,\r\n}) => {\r\n const bannerQueryData = useStaticQuery(graphql`\r\n query ContactBannerQuery {\r\n pagedataJson(id: { eq: \"contact_page_data\" }) {\r\n title\r\n subtitle\r\n banner_img {\r\n childImageSharp {\r\n fluid(maxWidth: 700, maxHeight: 1000, quality: 100) {\r\n ...GatsbyImageSharpFluid_withWebp\r\n presentationWidth\r\n presentationHeight\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `);\r\n\r\n const [name, setName] = useState(\"\");\r\n const [phone, setPhone] = useState(\"\");\r\n const [message, setMessage] = useState(\"\");\r\n const location = useLocation();\r\n\r\n const { title, subtitle } = bannerQueryData.pagedataJson;\r\n const imageData =\r\n bannerQueryData.pagedataJson.banner_img.childImageSharp.fluid;\r\n\r\n const handleChange = (event) => {\r\n switch (event.target.name) {\r\n case \"Name\":\r\n setName(event.target.value);\r\n break;\r\n case \"Phone\":\r\n setPhone(event.target.value);\r\n break;\r\n case \"Message\":\r\n setMessage(event.target.value);\r\n break;\r\n default:\r\n }\r\n };\r\n\r\n const sendEmail = (e) => {\r\n e.preventDefault();\r\n if (window.ym) {\r\n window.ym(64608949, \"reachGoal\", location.pathname === \"/\" ? \"home\" : location.pathname.slice(1));\r\n }\r\n\r\n let requestOptions = {\r\n method: \"POST\",\r\n redirect: \"follow\",\r\n };\r\n let url = \"https://functions.yandexcloud.net/d4e7pot8921d86r2he62\";\r\n fetch(\r\n `${url}?name=${name}&message=${message}&phone=${phone}&email=${location.href}`,\r\n requestOptions\r\n )\r\n .then((response) => {\r\n response.text();\r\n navigate(\"/modal/\", { state: { modal: true, noScroll: true } });\r\n setName(\"\");\r\n setPhone(\"\");\r\n setMessage(\"\");\r\n })\r\n .catch((error) => {\r\n console.log(\"error\", error);\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {title && {title}}\r\n {subtitle && {subtitle}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ЗАКАЗАТЬ ЗВОНОК\r\n \r\n \r\n Нажимая кнопку, вы даете согласие c{\" \"}\r\n \r\n политикой конфиденциальности\r\n {\" \"}\r\n на обработку ваших личных данных в соответствии с ФЗ РФ №\r\n 152-ФЗ «О персональных данных»\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nContactFormSection.propTypes = {\r\n headingStyle: PropTypes.object,\r\n textStyle: PropTypes.object,\r\n textareaStyle: PropTypes.object,\r\n};\r\n\r\nContactFormSection.defaultProps = {\r\n headingStyle: {\r\n fontSize: \"40px\",\r\n lineHeight: \"55px\",\r\n color: \"primary\",\r\n fontweight: 600,\r\n responsive: {\r\n medium: {\r\n fontSize: \"24px\",\r\n lineHeight: \"initial\",\r\n },\r\n },\r\n },\r\n textStyle: {\r\n as: \"span\",\r\n color: \"#000000\",\r\n fontweight: 500,\r\n fontSize: \"16px\",\r\n texttransform: \"uppercase\",\r\n letterspacing: \"1px\",\r\n display: \"inline-block\",\r\n mb: \"17px\",\r\n lineHeight: 1,\r\n responsive: {\r\n medium: {\r\n fontSize: \"12px\",\r\n mb: \"10px\",\r\n },\r\n },\r\n },\r\n inputStyle: {\r\n responsive: {\r\n xsmall: {\r\n mb: \"20px\",\r\n },\r\n },\r\n },\r\n textareaStyle: {\r\n mt: \"40px\",\r\n mb: \"40px\",\r\n responsive: {\r\n xsmall: {\r\n mt: \"25px\",\r\n mb: \"25px\",\r\n },\r\n },\r\n },\r\n};\r\nButton.defaultProps = {\r\n fontSize: \"16px\",\r\n};\r\nexport default ContactFormSection;\r\n","import styled, {css} from 'styled-components'\r\nimport {device, theme} from '../../../theme'\r\n\r\nconst ButtonWrap = styled.button`\r\n display: inline-block;\r\n color: ${props => props.theme.colors.bodyColor};\r\n font-size: ${props => props.fontSize};\r\n margin-top: ${props => props.mt};\r\n font-weight: 500;\r\n text-transform: uppercase;\r\n letter-spacing: 1px;\r\n padding-right: 80px;\r\n position: relative;\r\n border: none;\r\n padding-left: 0;\r\n &:before{\r\n position: absolute;\r\n content: \"\";\r\n width: 53px;\r\n height: 1px;\r\n background: #dddddd;\r\n right: 0;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n transition: 0.5s;\r\n }\r\n &:after{\r\n position: absolute;\r\n content: \"\";\r\n width: 0;\r\n height: 1px;\r\n background: rgba(0, 0, 0, 0.5);\r\n right: 0;\r\n top: 50%;\r\n transform: translateY(-50%);\r\n transition: 0.5s;\r\n }\r\n &:hover{\r\n &:before{\r\n width: 0px;\r\n }\r\n &:after{\r\n width: 53px;\r\n }\r\n }\r\n ${props => props.layout === 2 && css `\r\n background: ${theme.colors.button};\r\n color: #333;\r\n line-height: 1;\r\n font-weight: 700;\r\n padding: 27px 25px;\r\n padding-right: 45px;\r\n min-height: 66px;\r\n transition: ${props => props.theme.baseTransition};\r\n i{\r\n transition: ${props => props.theme.baseTransition};\r\n position: absolute;\r\n right: 25px;\r\n }\r\n @media ${device.xlarge}{\r\n padding: 20px 22px;\r\n padding-right: 45px;\r\n min-height: 53px;\r\n }\r\n &:hover{\r\n opacity: .8;\r\n i{\r\n right: 20px;\r\n }\r\n }\r\n &:hover,\r\n &:focus,\r\n &:visited{\r\n color: #333;\r\n }\r\n &:before,\r\n &:after{\r\n display: none;\r\n }\r\n `}\r\n ${props => props.layout === 3 && css `\r\n background: ${theme.colors.button};\r\n color: #333;\r\n font-weight: 700;\r\n line-height: 1;\r\n padding: 27px 25px;\r\n padding-right: 45px;\r\n padding-left: 45px;\r\n min-height: 66px;\r\n transition: ${props => props.theme.baseTransition};\r\n i{\r\n transition: ${props => props.theme.baseTransition};\r\n position: absolute;\r\n right: 25px;\r\n }\r\n @media ${device.xlarge}{\r\n padding: 20px 22px;\r\n padding-right: 45px;\r\n padding-left: 45px;\r\n min-height: 53px;\r\n }\r\n &:hover{\r\n opacity: .8;\r\n i{\r\n right: 20px;\r\n }\r\n }\r\n &:hover,\r\n &:focus,\r\n &:visited{\r\n color: #333;\r\n }\r\n &:before,\r\n &:after{\r\n display: none;\r\n }\r\n `}\r\n `\r\n\r\n export default ButtonWrap","import React from 'react'\r\nimport PropTypes from 'prop-types';\r\nimport ButtonWrap from './button.stc';\r\n\r\nconst Button = ({children, ...props}) => {\r\n return(\r\n {children}\r\n )\r\n}\r\n \r\nButton.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n href: PropTypes.string,\r\n type: PropTypes.oneOf(['button', 'submit', 'reset']),\r\n onClick: PropTypes.func,\r\n fontSize: PropTypes.string,\r\n fontWeight: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.number\r\n ]),\r\n color: PropTypes.string,\r\n borderwidth: PropTypes.string,\r\n hover: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.bool\r\n ]),\r\n spacer: PropTypes.object\r\n};\r\n\r\nButton.defaultProps = {\r\n fontSize: '14px'\r\n}\r\n\r\n\r\nexport default Button\r\n","import styled from 'styled-components';\r\nimport BackgroundImage from 'gatsby-background-image'\r\nimport {device} from '../../../theme'\r\n\r\n\r\nexport const HeroArea = styled.section `\r\n position: relative;\r\n height: 100vh;\r\n min-height: 625px;\r\n z-index: 3;\r\n .particle{\r\n position: absolute;\r\n left: 0;\r\n top: 0;\r\n width: 100%;\r\n height: 100%;\r\n z-index: 1;\r\n }\r\n`;\r\nexport const HeroBg = styled(BackgroundImage) `\r\n width: 100%;\r\n height: 100%;\r\n position: absolute !important;\r\n top: 0;\r\n left: 0;\r\n`;\r\n\r\nexport const ContentWrapper = styled.div `\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n`;\r\n\r\nexport const ContetnTop = styled.div `\r\n margin-top: auto;\r\n`;\r\n\r\nexport const ContentBottom = styled.div `\r\n margin-top: auto;\r\n`;\r\n\r\nexport const ContentBottomInner = styled.div `\r\n border-top: 1px solid #61656d;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n flex-wrap: wrap;\r\n padding-top: 45px;\r\n padding-bottom: 45px;\r\n @media ${device.xlarge}{\r\n padding-top: 40px;\r\n padding-bottom: 40px;\r\n }\r\n @media ${device.large}{\r\n padding-top: 25px;\r\n padding-bottom: 25px;\r\n }\r\n @media ${device.small}{\r\n padding-top: 20px;\r\n padding-bottom: 20px;\r\n }\r\n`;\r\nexport const ContentBottomLeft = styled.div `\r\n max-width: 34%;\r\n flex-basis: 34%;\r\n @media ${device.medium}{\r\n max-width: 40%;\r\n flex-basis: 40%;\r\n }\r\n @media ${device.small}{\r\n max-width: 100%;\r\n flex-basis: 100%;\r\n }\r\n`;\r\n\r\nexport const ContentBottomRight = styled.div `\r\n max-width: calc(100% - 34%);\r\n flex-basis: calc(100% - 34%);\r\n @media ${device.medium}{\r\n max-width: calc(100% - 40%);\r\n flex-basis: calc(100% - 40%);\r\n }\r\n @media ${device.small}{\r\n max-width: 100%;\r\n flex-basis: 100%;\r\n }\r\n`;\r\n\r\nexport const ClientItem = styled.div ``;\r\n\r\nexport const ClientWrap = styled.div `\r\n display: flex;\r\n justify-content: flex-end;\r\n align-items: center;\r\n flex-wrap: wrap;\r\n @media ${device.small}{\r\n justify-content: space-between;\r\n margin-top: 10px;\r\n }\r\n @media ${device.xsmall}{\r\n \r\n }\r\n ${ClientItem}{\r\n &:not(:last-child){\r\n padding-right: 80px;\r\n @media ${device.large}{\r\n padding-right: 60px;\r\n }\r\n @media ${device.medium}{\r\n padding-right: 40px;\r\n }\r\n @media ${device.small}{\r\n padding-right: 0;\r\n }\r\n @media ${device.xsmall}{\r\n margin-bottom: 10px;\r\n }\r\n }\r\n }\r\n img{\r\n filter: invert(1);\r\n max-width: 110px;\r\n @media ${device.medium}{\r\n max-width: 90px;\r\n }\r\n @media ${device.small}{\r\n max-width: 120px;\r\n }\r\n @media ${device.xsmall}{\r\n max-width: 90px;\r\n }\r\n }\r\n`;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { useStaticQuery, graphql, Link } from \"gatsby\"\r\nimport Particles from 'react-particles-js';\r\nimport Heading from '../../../components/shared/heading'\r\nimport Text from '../../../components/shared/text'\r\nimport Button from '../../../components/shared/button'\r\n// import Anchor from '../../../components/shared/link'\r\nimport Social, {SocialLink} from '../../../components/shared/social'\r\nimport { \r\n HeroArea, \r\n HeroBg, \r\n ContetnTop, \r\n ContentWrapper, \r\n ContentBottom, \r\n ContentBottomInner,\r\n ContentBottomLeft,\r\n ContentBottomRight,\r\n // ClientWrap,\r\n // ClientItem\r\n} from './hero.style';\r\n \r\nconst Hero = (props) => {\r\n const heroQueryData = useStaticQuery(graphql `\r\n query ParticleHeroDataQuery {\r\n homeparticledataJson(id: {eq: \"particle_hero_section_content\"}) {\r\n title\r\n subtitle\r\n date\r\n btn_link\r\n\r\n social {\r\n facebook\r\n vkontakte\r\n }\r\n bg_image {\r\n childImageSharp {\r\n fluid(maxWidth: 1920, maxHeight: 950, quality: 100) {\r\n ...GatsbyImageSharpFluid_withWebp\r\n presentationWidth\r\n presentationHeight\r\n }\r\n }\r\n }\r\n }\r\n } \r\n `);\r\n const heroData = heroQueryData.homeparticledataJson;\r\n const imageData = heroData.bg_image.childImageSharp.fluid;\r\n const {\r\n title,\r\n subtitle,\r\n // date,\r\n btn_link,\r\n // clients,\r\n social: { facebook, vkontakte }\r\n } = heroData;\r\n const particleOpt = {\r\n \"particles\": {\r\n \"number\": {\r\n \"value\": 50\r\n },\r\n \"size\": {\r\n \"value\": 3\r\n }\r\n },\r\n \"interactivity\": {\r\n \"events\": {\r\n \"onhover\": {\r\n \"enable\": true,\r\n \"mode\": \"repulse\"\r\n }\r\n }\r\n }\r\n }\r\n const {descStyle, headingStyle, socialStyle} = props\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {date && {date}} */}\r\n {title && {title}}\r\n {subtitle && {subtitle}}\r\n {btn_link && ЗАКАЗАТЬ ЗВОНОК }\r\n \r\n \r\n \r\n \r\n \r\n \r\n Ростов-на-Дону +7(950)868‑44‑44\r\n \r\n \r\n \r\n {facebook && Facebook} \r\n {vkontakte && ВКонтакте}\r\n \r\n {/* {clients && (\r\n \r\n {clients.map(client => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n )} */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nHero.propTypes = {\r\n descStyle: PropTypes.object,\r\n headingStyle: PropTypes.object,\r\n buttonStyle: PropTypes.object,\r\n socialStyle: PropTypes.object \r\n}\r\n\r\nHero.defaultProps = {\r\n descStyle: {\r\n color: '#fff',\r\n fontweight: 300,\r\n fonSize: '16px',\r\n texttransform: 'uppercase',\r\n letterspacing: '2px',\r\n mb: '48px'\r\n },\r\n headingStyle: {\r\n as: 'h1',\r\n color: '#fff',\r\n fontSize: '48px',\r\n mb: '24px',\r\n responsive: {\r\n xlarge: {\r\n fontSize: '33px'\r\n },\r\n large: {\r\n fontSize: '25px',\r\n mb: '40px'\r\n },\r\n medium: {\r\n fontSize: '20px'\r\n }\r\n }\r\n },\r\n socialStyle: {\r\n textAlign: \"right\",\r\n\t\topacity: .7,\r\n\t\tspace: 30,\r\n\t\tresponsive: {\r\n\t\t\tmedium: {\r\n\t\t\t\tspace: 20,\r\n\t\t\t\tfontSize: '12px'\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport default Hero\r\n ","import styled from 'styled-components';\r\nimport {device} from '../../../theme'\r\nimport BackgroundImage from 'gatsby-background-image'\r\n\r\nexport const StorySection = styled.section `\r\n background-color: ${props => props.backgroundColor};\r\n padding: 130px 0;\r\n @media ${device.medium}{\r\n padding: 70px 0;\r\n }\r\n @media ${device.small}{\r\n padding: 10vw 0;\r\n }\r\n .col-2.offset-1,\r\n .col-1.offset-1{\r\n @media ${device.medium}{\r\n flex: 0 0 80vw;\r\n max-width: 80vw;\r\n }\r\n }\r\n`;\r\n \r\nexport const StoryInner = styled.div `\r\n position: relative;\r\n z-index: 2;\r\n padding-right: 0;\r\n @media ${device.medium}{\r\n padding-top: 50px;\r\n }\r\n @media ${device.small}{\r\n padding-top: 10vw;\r\n }\r\n`;\r\n\r\nexport const Content = styled.div `\r\n margin-top: 42px;\r\n @media ${device.small}{\r\n margin-top: 10vw;\r\n }\r\n`;\r\n\r\nexport const StoryImgWrap = styled.div `\r\n height: 100%;\r\n`;\r\n\r\nexport const StoryImage = styled(BackgroundImage) `\r\n height: 100%;\r\n width: 100%;\r\n min-height: 450px;\r\n background-position: ${props => props.backgroundPosition};\r\n @media ${device.small}{\r\n min-height: 350px;\r\n }\r\n`;","import React from 'react'\r\nimport PropTypes from 'prop-types';\r\nimport { useStaticQuery, graphql, Link } from \"gatsby\"\r\nimport SectionTitle from '../../../components/shared/section-title'\r\nimport Text from '../../../components/shared/text'\r\nimport Button from '../../../components/shared/button'\r\nimport {StorySection, StoryInner, Content, StoryImage} from './story.stc'\r\n// import { Controller, Scene } from 'react-scrollmagic';\r\n\r\nconst Story = ({section, paragraph, paragraphTwo, button, image}) => {\r\n const storyQueryData = useStaticQuery(graphql `\r\n query ParticleStoryDataQuery {\r\n homeparticledataJson(id: {eq: \"particle_story_section_contnet\"}) {\r\n id\r\n title\r\n subtitle\r\n path\r\n content\r\n image {\r\n childImageSharp {\r\n fluid(maxWidth: 960, maxHeight: 950, quality: 100) {\r\n ...GatsbyImageSharpFluid_withWebp\r\n presentationWidth\r\n presentationHeight\r\n }\r\n }\r\n }\r\n }\r\n } \r\n `)\r\n const storyData = storyQueryData.homeparticledataJson;\r\n const {title, subtitle, path, content} = storyData;\r\n const imageData = storyData.image.childImageSharp.fluid;\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {content.map((textData, i) => {textData})}\r\n ПОДРОБНЕЕ\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}\r\n \r\nStory.propTypes = {\r\n paragraph: PropTypes.object,\r\n paragraphTwo: PropTypes.object,\r\n button: PropTypes.object,\r\n section: PropTypes.object,\r\n image: PropTypes.object\r\n}\r\n\r\nStory.defaultProps = {\r\n section: {\r\n backgroundColor: '#f8f8f8'\r\n },\r\n paragraph: {\r\n color: '#000000',\r\n fontSize: '14px',\r\n lineHeight: '26px'\r\n },\r\n paragraphTwo: {\r\n mt: '31px'\r\n },\r\n button: {\r\n mt: '34px'\r\n },\r\n image: {\r\n backgroundPosition: '-78px 0px'\r\n }\r\n}\r\n\r\nexport default Story\r\n","import styled from 'styled-components';\r\nimport {device} from '../../../theme'\r\n\r\nexport const ProjectSectionWrap = styled.section `\r\n background-color: ${props => props.backgroundColor};\r\n padding-bottom: 130px;\r\n @media ${device.medium}{\r\n padding-bottom: 70px;\r\n }\r\n @media ${device.small}{\r\n padding-bottom: 10vw;\r\n }\r\n .col-1.offset-1{\r\n @media ${device.medium}{\r\n max-width: 40vw;\r\n flex: 0 0 40vw;\r\n }\r\n }\r\n .col-4.offset-2, .col-3.offset-2{\r\n @media ${device.xlarge}{\r\n margin-left: 10vw;\r\n }\r\n }\r\n`; ","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { useStaticQuery, graphql } from \"gatsby\"\r\nimport SectionTitle from '../../../components/shared/section-title'\r\nimport Project from '../../../components/project'\r\nimport {ProjectSectionWrap} from './project.stc'\r\n \r\nconst ProjectSection = ({section, project}) => {\r\n const projectQueryData = useStaticQuery(graphql `\r\n query ParticleProjectDataQuery {\r\n homeparticledataJson(id: {eq: \"particle_project_section_content\"}) {\r\n id\r\n title\r\n subtitle\r\n }\r\n allProjectsJson(sort: {fields: id}, filter: {is_featured: {eq: true}}, limit: 3) {\r\n edges {\r\n node {\r\n id\r\n title\r\n sector\r\n client\r\n featured_image {\r\n childImageSharp {\r\n fluid(maxWidth: 1060, maxHeight: 600, quality: 100) {\r\n ...GatsbyImageSharpFluid_withWebp\r\n presentationWidth\r\n presentationHeight\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } \r\n `);\r\n const projectSecData = projectQueryData.homeparticledataJson;\r\n const projectsData = projectQueryData.allProjectsJson.edges;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {projectsData.map((data, i) => {\r\n let isEven = i%2 === 0;\r\n return(\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n )\r\n}\r\n \r\nProjectSection.propTypes = {\r\n section: PropTypes.object,\r\n project: PropTypes.object\r\n}\r\n\r\nProjectSection.defaultProps = {\r\n section: {\r\n backgroundColor: '#f8f8f8'\r\n },\r\n project: {\r\n mt: '100px',\r\n responsive: {\r\n medium: {\r\n mt: '50px'\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport default ProjectSection\r\n","import styled from 'styled-components';\r\nimport {device} from '../../../theme'\r\n\r\nexport const TestimonialWrap = styled.section `\r\n padding: 130px 0;\r\n background-color: ${props => props.backgroundColor};\r\n @media ${device.medium}{\r\n padding: 70px 0;\r\n }\r\n @media ${device.small}{\r\n padding: 10vw 0;\r\n }\r\n .col-6{\r\n @media ${device.small}{\r\n margin-left: 10vw;\r\n }\r\n }\r\n`;","import React from 'react'\r\nimport PropTypes from 'prop-types'\r\nimport { useStaticQuery, graphql } from \"gatsby\"\r\nimport SlickSlider from '../../../components/shared/slick'\r\nimport Testimonial from '../../../components/testimonial'\r\nimport {TestimonialWrap} from './testimonial.stc'\r\n \r\nconst TestimonialSection = ({section, options}) => {\r\n const testimonialData = useStaticQuery(graphql `\r\n query ParticleTestimonailQuery {\r\n allTestimonialJson {\r\n edges {\r\n node{\r\n id\r\n author_name\r\n author_role\r\n review\r\n company\r\n country\r\n author_image {\r\n childImageSharp {\r\n fixed(width: 88, height: 88, quality: 100) {\r\n ...GatsbyImageSharpFixed_withWebp\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `);\r\n const testimonilas = testimonialData.allTestimonialJson.edges;\r\n return (\r\n \r\n \r\n \r\n \r\n {testimonilas.map(data => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nTestimonialSection.propTypes = {\r\n section: PropTypes.object\r\n}\r\n\r\nTestimonialSection.defaultProps = {\r\n section: {\r\n backgroundColor: '#fff'\r\n },\r\n options: {\r\n slidesToShow: 1,\r\n dots: true\r\n }\r\n}\r\n\r\nexport default TestimonialSection\r\n","import styled from 'styled-components';\r\nimport {device} from '../../../theme'\r\n\r\nexport const AboutSectionWrap = styled.div `\r\n padding: 130px 0;\r\n .section-pt-md{\r\n padding-top: 70px;\r\n }\r\n @media ${device.xlarge}{\r\n .col-2.offset-1{\r\n margin-left: 20vw;\r\n }\r\n }\r\n @media ${device.medium}{\r\n padding: 70px 0;\r\n .col-1.offset-1, .col-2.offset-1 {\r\n max-width: 80vw;\r\n min-width: 80vw;\r\n flex: 0;\r\n margin-left: 10vw;\r\n }\r\n .section-pt-md{\r\n padding-top: 15px;\r\n }\r\n .project-type{\r\n flex-basis: 50%;\r\n max-width: 50%;\r\n width: 50%;\r\n margin: 30px 0;\r\n }\r\n }\r\n @media ${device.small}{\r\n padding: 10vw 0;\r\n .project-type{\r\n flex-basis: 100%;\r\n max-width: 100%;\r\n width: 100%;\r\n margin: 0;\r\n padding: 15px 0;\r\n }\r\n }\r\n`;\r\n\r\nexport const SectionTitle = styled.div `\r\n margin-top: -10px;\r\n`;\r\n\r\nexport const AboutContent = styled.div `\r\n margin-top: -7px;\r\n margin-bottom: -18px;\r\n`;\r\n\r\nexport const ProjectTypeList = styled.ul `\r\n margin: 0;\r\n padding-left: 17px;\r\n`;","import React from 'react';\r\nimport { useStaticQuery, graphql } from \"gatsby\"\r\nimport Heading from '../../../components/shared/heading'\r\nimport Text from '../../../components/shared/text'\r\nimport {\r\n AboutSectionWrap,\r\n ProjectTypeList\r\n} from './about.stc'\r\n \r\nconst About = ({\r\n ProjectTypeHeading,\r\n ProjectTypeText\r\n}) => {\r\n const aboutQueryData = useStaticQuery(graphql `\r\n query AboutDataQuery2 {\r\n aboutdataJson(id: {eq: \"about-intro-content\"}) {\r\n id\r\n title\r\n desc\r\n content\r\n featured_work {\r\n id\r\n title\r\n achivments\r\n }\r\n }\r\n } \r\n `);\r\n const {\r\n featured_work\r\n } = aboutQueryData.aboutdataJson;\r\n const delay = [200];\r\n return (\r\n \r\n {featured_work && (\r\n \r\n \r\n \r\n {featured_work.map((work,i) => {\r\n delay.push(delay[i] + 200)\r\n return(\r\n \r\n {work.title && {work.title}}\r\n {work.achivments && (\r\n \r\n {work.achivments.map((achiv, i) => (\r\n {achiv}\r\n ))}\r\n \r\n )}\r\n \r\n )\r\n })}\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n}\r\n\r\nAbout.defaultProps = {\r\n ProjectTypeHeading: {\r\n as: 'h6',\r\n color: 'primary',\r\n fontSize: '32px',\r\n fontweight: 700,\r\n letterspacing: '2px',\r\n mb: '12px'\r\n },\r\n ProjectTypeText: {\r\n m: 0,\r\n fontSize: '12px',\r\n color: '#000000',\r\n letterspacing: '1px'\r\n }\r\n}\r\n\r\nexport default About;","import styled from 'styled-components';\r\nimport {device} from '../../../theme'\r\n\r\nexport const VideoSectionWrap = styled.div `\r\n padding: 130px 0;\r\n background-color: ${props => props.backgroundColor};\r\n @media ${device.medium}{\r\n padding: 70px 0;\r\n }\r\n @media ${device.small}{\r\n padding: 10vw 0;\r\n }\r\n`;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { useStaticQuery, graphql } from \"gatsby\"\r\n// import { Controller, Scene } from 'react-scrollmagic';\r\nimport Image from '../../../components/image'\r\nimport {VideoSectionWrap} from './video.stc'\r\n\r\nconst VideoSection = () => {\r\n const videoQueryData = useStaticQuery(graphql `\r\n query ParticleVideoDataQuery {\r\n homeparticledataJson(id: {eq: \"particle_banner_section_content\"}) {\r\n banner_image {\r\n childImageSharp {\r\n fluid(maxWidth: 1280, maxHeight: 550, quality: 100) {\r\n ...GatsbyImageSharpFluid_withWebp\r\n presentationWidth\r\n presentationHeight\r\n }\r\n }\r\n }\r\n }\r\n } \r\n `);\r\n const bannerImg = videoQueryData.homeparticledataJson.banner_image.childImageSharp.fluid\r\n return (\r\n \r\n \r\n \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n \r\n \r\n \r\n )\r\n}\r\n \r\nVideoSection.propTypes = {\r\n section: PropTypes.object\r\n}\r\n\r\nVideoSection.defaultProps = {\r\n section: {\r\n backgroundColor: '#f8f8f8'\r\n },\r\n}\r\n\r\nexport default VideoSection;","import styled from 'styled-components';\r\nimport {device} from '../../../theme'\r\n\r\nexport const BlogSectionWrap = styled.section `\r\n padding-top: 130px;\r\n background-color: ${props => props.backgroundColor};\r\n @media ${device.medium}{\r\n padding-top: 70px;\r\n }\r\n @media ${device.small}{\r\n padding-top: 60px;\r\n }\r\n .col-1.offset-1{\r\n @media ${device.medium}{\r\n max-width: 100%;\r\n flex: 0 0 100%;\r\n }\r\n }\r\n`;\r\n\r\nexport const BlogInner = styled.div `\r\n margin-top: 98px;\r\n @media ${device.medium}{\r\n margin-top: 50px;\r\n }\r\n .col-2:nth-child(odd) {\r\n padding-right: 30px;\r\n @media ${device.small}{\r\n padding-right: 0;\r\n }\r\n }\r\n .col-2:nth-child(even) {\r\n padding-left: 30px;\r\n @media ${device.small}{\r\n padding-left: 0;\r\n }\r\n }\r\n`;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { useStaticQuery, graphql } from \"gatsby\"\r\nimport SectionTitle from '../../../components/shared/section-title'\r\nimport Blog from '../../../components/blog/layout-two'\r\nimport {BlogSectionWrap, BlogInner} from './feature-blog.stc'\r\n\r\nconst BlogSection = ({section}) => {\r\n const blogQueryData = useStaticQuery(graphql `\r\n query BlogHomeFeatureBlogQuery {\r\n homeparticledataJson(id: {eq: \"particle_recent_post_section_content\"}) {\r\n title\r\n subtitle\r\n }\r\n allMarkdownRemark(\r\n filter: {frontmatter: {is_featured: {eq: true}}}, \r\n limit: 2, sort: {order: DESC, fields: frontmatter___date}) {\r\n edges {\r\n node {\r\n fields {\r\n slug\r\n }\r\n frontmatter {\r\n title\r\n date(formatString: \"MMM Do, YYYY\")\r\n author\r\n id\r\n shortDesc\r\n image {\r\n childImageSharp {\r\n fluid(maxWidth: 600, maxHeight: 630, quality: 100) {\r\n ...GatsbyImageSharpFluid_withWebp\r\n presentationWidth\r\n presentationHeight\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `);\r\n const blogSecData = blogQueryData.homeparticledataJson;\r\n const blogs = blogQueryData.allMarkdownRemark.edges;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {blogs.map((blog, i) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n ) \r\n}\r\n\r\nBlogSection.propTypes = {\r\n section: PropTypes.object\r\n}\r\n\r\nBlogSection.defaultProps = {\r\n section: {\r\n backgroundColor: '#f8f8f8'\r\n },\r\n}\r\n\r\nexport default BlogSection;","import styled from 'styled-components';\r\nimport {device} from '../../../theme'\r\n\r\nexport const BlogWrapper = styled.div `\r\n display: flex;\r\n margin-bottom: 50px;\r\n position: relative;\r\n z-index: 2;\r\n @media ${device.xlarge}{\r\n flex-direction: column;\r\n }\r\n`;\r\n\r\nexport const Thumb = styled.div `\r\n flex-basis: 50%;\r\n position: relative;\r\n @media ${device.xlarge}{\r\n flex-basis: 100%;\r\n }\r\n a{\r\n display: block;\r\n }\r\n *{\r\n height: 100%;\r\n }\r\n .gatsby-image-wrapper,\r\n picture,\r\n img{\r\n width: 100%;\r\n max-width: 100% !important;\r\n }\r\n img{\r\n border-radius: 5px 5px 0 0;\r\n }\r\n`;\r\n\r\nexport const Category = styled.div `\r\n position: absolute !important;\r\n top: 30px;\r\n left: 30px;\r\n a{\r\n border: 2px solid #808585;\r\n display: block;\r\n height: 24px;\r\n padding: 0 15px;\r\n line-height: 20px;\r\n color: #ffffff;\r\n font-size: 12px;\r\n text-transform: uppercase;\r\n font-weight: 700;\r\n border-radius: 11px;\r\n letter-spacing: 1px;\r\n }\r\n`;\r\n\r\nexport const Content = styled.div `\r\n flex-basis: 65%;\r\n padding: 40px 40px;\r\n background: #fff;\r\n display: flex;\r\n flex-wrap: wrap;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n @media ${device.xlarge}{\r\n flex-basis: 100%;\r\n }\r\n @media ${device.small}{\r\n flex-basis: 100%;\r\n padding: 10vw;\r\n }\r\n`;\r\n\r\nexport const ContentTop = styled.div ``;\r\nexport const ContentBottom = styled.div ``;\r\n\r\nexport const PostDate = styled.span `\r\n color: #000000;\r\n font-weight: 300;\r\n font-size: 12px;\r\n letter-spacing: 1px;\r\n display: inline-block;\r\n margin-bottom: 6px;\r\n`;\r\n\r\nexport const PostTitle = styled.h2 `\r\n font-size: 30px;\r\n font-weight: 600;\r\n margin-bottom: 12px;\r\n @media ${device.medium}{\r\n font-size: 25px;\r\n }\r\n @media ${device.small}{\r\n font-size: 16px;\r\n }\r\n a{\r\n color: #000;\r\n }\r\n`;\r\n\r\nexport const Excerpt = styled.p `\r\n color: #000000;\r\n font-size: 14px;\r\n line-height: 24px;\r\n @media ${device.small}{\r\n font-size: 12px;\r\n }\r\n`;\r\n\r\nexport const PostMeta = styled.ul `\r\n display: flex;\r\n padding: 0;\r\n list-style: none;\r\n margin-top: 34px;\r\n margin-bottom: 0;\r\n @media ${device.small}{\r\n margin-top: 20px;\r\n }\r\n li{\r\n margin: 0 15px;\r\n @media ${device.medium}{\r\n margin: 0 10px;\r\n }\r\n &:first-child {\r\n margin-left: 0;\r\n }\r\n &:last-child {\r\n margin-right: 0;\r\n }\r\n i{\r\n padding-right: 7px;\r\n }\r\n a{\r\n color: #000;\r\n }\r\n }\r\n`;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import React from 'react';\r\nimport {Link} from 'gatsby'\r\nimport Image from '../../image';\r\n// import { CommentCount } from 'disqus-react';\r\nimport {truncateString} from '../../../utils/utilFunctions'\r\nimport {\r\n BlogWrapper, \r\n Thumb, \r\n // Category, \r\n Content, \r\n ContentTop, \r\n ContentBottom, \r\n // PostDate, \r\n PostTitle,\r\n Excerpt,\r\n PostMeta\r\n} from './blog.stc'\r\n\r\nconst Blog = ({title, desc, date, id, author, path, image, excerpt}) => {\r\n // const disqusShortname = 'thern-1';\r\n // const disqusConfig = {\r\n // url: path,\r\n // identifier: id,\r\n // title: title,\r\n // }; \r\n \r\n return (\r\n \r\n {image && (\r\n \r\n \r\n \r\n \r\n {/* \r\n Creative\r\n */}\r\n \r\n )}\r\n \r\n \r\n {/* {date} */}\r\n {truncateString(title, 30)}\r\n {excerpt}\r\n \r\n \r\n \r\n {/* {author} */}\r\n {author}\r\n {/* \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n )\r\n} \r\n\r\nexport default Blog;","import styled from 'styled-components';\r\nimport {device} from '../../../theme'\r\n\r\nexport const BlogSectionWrap = styled.section `\r\n padding-top: 130px;\r\n padding-bottom: 80px;\r\n background-color: ${props => props.backgroundColor};\r\n @media ${device.medium}{\r\n padding-top: 70px;\r\n padding-bottom: 23px;\r\n }\r\n @media ${device.small}{\r\n padding-top: 10vw;\r\n padding-bottom: 0;\r\n }\r\n .col-1.offset-1{\r\n @media ${device.medium}{\r\n max-width: 100%;\r\n flex: 0 0 100%;\r\n }\r\n }\r\n`;\r\n\r\nexport const BlogInner = styled.div `\r\n margin-top: 98px;\r\n @media ${device.medium}{\r\n margin-top: 50px;\r\n }\r\n .col-2:nth-child(odd) {\r\n padding-right: 30px;\r\n @media ${device.small}{\r\n padding-right: 0;\r\n }\r\n }\r\n .col-2:nth-child(even) {\r\n padding-left: 30px;\r\n @media ${device.small}{\r\n padding-left: 0;\r\n }\r\n }\r\n`;","import React from 'react';\r\nimport PropTypes from 'prop-types'\r\nimport { useStaticQuery, graphql } from \"gatsby\"\r\nimport SectionTitle from '../../../components/shared/section-title'\r\nimport Blog from '../../../components/blog/layout-one'\r\nimport {BlogSectionWrap, BlogInner} from './blog.stc'\r\n\r\nconst BlogSection = ({section}) => {\r\n const blogQueryData = useStaticQuery(graphql `\r\n query ParticleHomeBlogDataQuery {\r\n homeparticledataJson(id: {eq: \"particle_recent_post_section_content\"}) {\r\n title\r\n subtitle\r\n }\r\n allMarkdownRemark(filter: {frontmatter: {categories: {in: \"services\"}}}, limit: 6, sort: {order: DESC, fields: frontmatter___date}) {\r\n edges {\r\n node {\r\n fields {\r\n slug\r\n }\r\n frontmatter {\r\n title\r\n id\r\n date(formatString: \"MMM Do, YYYY\")\r\n author\r\n shortDesc\r\n icon {\r\n childImageSharp {\r\n fluid(maxWidth: 600, maxHeight: 630, quality: 100) {\r\n ...GatsbyImageSharpFluid_withWebp\r\n presentationWidth\r\n presentationHeight\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n `);\r\n const blogSecData = blogQueryData.homeparticledataJson;\r\n const blogs = blogQueryData.allMarkdownRemark.edges;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n {blogs.map((blog, i) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n ) \r\n}\r\n\r\nBlogSection.propTypes = {\r\n section: PropTypes.object\r\n}\r\n\r\nBlogSection.defaultProps = {\r\n section: {\r\n backgroundColor: '#f8f8f8'\r\n },\r\n}\r\n\r\nexport default BlogSection;","import React from \"react\"\r\nimport SEO from '../components/seo';\r\nimport Layout from '../containers/layout/layout'\r\nimport Hero from '../containers/home-particle/hero'\r\nimport Story from '../containers/home-particle/story'\r\nimport ProjectSection from '../containers/home-particle/project'\r\nimport TestimonialSection from '../containers/home-particle/testimonial'\r\nimport About from '../containers/home-particle/about'\r\nimport VideoSection from '../containers/home-particle/video'\r\nimport BlogSection from '../containers/home-particle/feature-blog'\r\nimport BlogSection1 from '../containers/home-particle/blog'\r\nimport ContactFormSection from '../containers/contact/contact-form'\r\n\r\nexport default () => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n)\r\n ","import styled, {css} from 'styled-components';\r\nimport {Link} from 'gatsby'\r\nimport {device} from '../../theme'\r\n\r\nexport const ProjectWrapper = styled.div `\r\n margin-top: ${props => props.mt};\r\n ${props => props.responsive && css `\r\n ${props => props.responsive.medium && css `\r\n @media ${device.medium}{\r\n margin-top: ${props => props.responsive.medium.mt};\r\n }\r\n `};\r\n `}\r\n`;\r\n \r\nexport const Thumb = styled.div `\r\n position: relative;\r\n z-index: 2;\r\n margin-left: -50px;\r\n display: inline-block;\r\n margin-bottom: 46px;\r\n width: 100%;\r\n max-width: 1062px;\r\n @media ${device.xlarge} {\r\n margin-left: 0;\r\n width: 100%;\r\n }\r\n @media ${device.small}{\r\n margin-bottom: 30px;\r\n }\r\n @media ${device.xsmall}{\r\n margin-bottom: 25px;\r\n }\r\n a{\r\n display: block;\r\n }\r\n img{\r\n border-radius: 5px;\r\n @media ${device.xlarge}{\r\n width: 100%;\r\n }\r\n }\r\n`;\r\n\r\nexport const ProjectBtnWrap = styled.div `\r\n position: absolute !important;\r\n right: -65px;\r\n bottom: 0;\r\n @media ${device.medium}{\r\n right: 0;\r\n }\r\n`;\r\n\r\nexport const ProjectBtn = styled(Link) `\r\n background: ${props => props.theme.colors.primary};\r\n width: 130px;\r\n display: block;\r\n height: 70px;\r\n color: ${props => props.theme.colors.white};\r\n text-align: center;\r\n line-height: 75px;\r\n font-size: 36px;\r\n position: relative;\r\n overflow: hidden;\r\n border-radius: 4px;\r\n @media ${device.small}{\r\n width: 70px;\r\n height: 45px;\r\n line-height: 55px;\r\n font-size: 12px;\r\n border-radius: 0px;\r\n }\r\n i{\r\n color: #ffffff;\r\n transition: all .4s;\r\n z-index: 5;\r\n display: inline-block;\r\n @media ${device.small}{\r\n font-size: 20px;\r\n }\r\n }\r\n &:before{\r\n top: 0;\r\n content: '';\r\n height: 100%;\r\n position: absolute;\r\n left: 0;\r\n width: 0;\r\n z-index: 1;\r\n transition: all .4s;\r\n background: rgba(255,255,255,0.5);\r\n }\r\n &:hover{\r\n &:before{\r\n animation: slide-effect .7s cubic-bezier(.70,.15,.340,.870) both;\r\n width: 100%;\r\n }\r\n i{\r\n transform: translateX(10px);\r\n }\r\n }\r\n`;\r\n\r\n\r\nexport const ProjectType = styled.div `\r\n flex-basis: 33.33%;\r\n @media ${device.small}{\r\n flex-basis: 100%;\r\n padding: 15px 0;\r\n }\r\n @media ${device.xsmall}{\r\n padding: 10px 0;\r\n }\r\n`;\r\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {Link} from 'gatsby'\r\nimport Img from 'gatsby-image'\r\nimport Image from '../image'\r\nimport {ProjectWrapper, Thumb, ProjectBtnWrap, ProjectBtn, ProjectType} from './project.stc'\r\nimport Heading from '../shared/heading'\r\nimport Text from '../shared/text'\r\n// import { Controller, Scene } from 'react-scrollmagic';\r\n \r\nconst Project = ({image, id, title, client, sector, isEven, ...restProps}) => {\r\n const {HeadingStyle, TextStyle, ...restStyles} = restProps\r\n let projectImg;\r\n if(image.fixed && typeof image.fixed !== 'function'){\r\n projectImg = ;\r\n } else if(image.fluid){\r\n projectImg = \r\n } else{\r\n projectImg = \r\n }\r\n \r\n return (\r\n \r\n \r\n \r\n \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n \r\n {projectImg}\r\n \r\n {/* */}\r\n {/* */}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {title && (\r\n \r\n ОКАЗАННЫЕ УСЛУГИ\r\n {title}\r\n \r\n )}\r\n {client && (\r\n \r\n КЛИЕНТ\r\n {client}\r\n \r\n )}\r\n {/* {sector && (\r\n \r\n SECTOR\r\n {sector}\r\n \r\n )} */}\r\n \r\n \r\n \r\n )\r\n}\r\n\r\nProject.propTypes = {\r\n HeadingStyle: PropTypes.object,\r\n TextStyle: PropTypes.object\r\n}\r\n\r\nProject.defaultProps = {\r\n HeadingStyle: {\r\n as: 'h6',\r\n color: '#001c43',\r\n fontSize: '12px',\r\n fontweight: 700,\r\n letterspacing: '2px',\r\n mb: '12px',\r\n responsive: {\r\n small: {\r\n letterspacing: '1px',\r\n mb: '5px'\r\n }\r\n }\r\n },\r\n TextStyle: {\r\n fontSize: '12px',\r\n letterspacing: '1px',\r\n mb: 0\r\n }\r\n}\r\n\r\nexport default Project;"],"sourceRoot":""}
\r\n Нажимая кнопку, вы даете согласие c{\" \"}\r\n \r\n политикой конфиденциальности\r\n {\" \"}\r\n на обработку ваших личных данных в соответствии с ФЗ РФ №\r\n 152-ФЗ «О персональных данных»\r\n