{"version":3,"file":"app.js","names":["initFancyboxLink","link","$","fancybox","open","src","closeExisting","animationEffect","touch","autoFocus","buttons","smallBtn","btnTpl","document","ready","slideClass","video","tpl","format","autoStart","scrolling","helpers","overlay","locked","beforeShow","css","afterClose","showFileError","$this","mess","find","val","text","on","e","$parent","closest","list","files","errorType","attr","errorSize","textSuccess","textError","isError","removeClass","i","length","name","size","typeFileArr","split","includes","slice","toLowerCase","addClass","parseInt","$list","hasClass","slideUp","slideDown","click","target","rebuildHeader","$slogan","detach","$contacts","$socials","$feedback","window","matchMedia","matches","append","after","prepend","disableScrollPage","action","setPosSubmenu","scrollMobileHeader","time","scrollHeader","setInterval","animate","scrollTop","clearInterval","toggleClass","initPartnersSlider","$partnersSlider","count","owlCarousel","loop","nav","dots","smartSpeed","items","slideBy","margin","navText","responsive","each","mapZoomDefault","mapZoom","initMap","$scroll","$map","$mapImg","scrollWidth","innerWidth","scrollHeight","innerHeight","ds","mapWidth","mapHeight","dm","setWidth","newWidth","newHeight","scrollLeft","show","one","complete","trigger","zoomMap","zoomMin","zoomMax","moveX","Math","abs","originalEvent","movementX","moveY","movementY","$mapScroll","stop","$info","posX","position","left","direction","showPagination","indexActive","index","countVisible","eq","wrap","$title","$productGallerySlider","children","onInitialized","onChanged","setTimeout","offset","top","initTeamSlider","$teamSlider"],"sources":["app.js"],"sourcesContent":["/* - - - - - - - - - - - - - - open fancybox link - - - - - - - - - - - - - - - */\nfunction initFancyboxLink( link ) {\n\t$.fancybox.open({\n\t\tsrc: link,\n\t\tcloseExisting: true,\n\t\tanimationEffect: 'fade',\n\t\ttouch: false,\n\t\tautoFocus: false,\n\t\tbuttons: [\n\t\t\t'slideShow',\n\t\t\t'close'\n\t\t],\n\t\tsmallBtn: true,\n\t\tbtnTpl: {\n\t\t\tsmallBtn:\n\t\t\t\t''\n\t\t}\n\t});\n}\n\n$( document ).ready( function() {\n\n\t/* - - - - - - - - - - - - - - init inputmask - - - - - - - - - - - - - - - */\n\t// $( '[type=\"tel\"]' ).inputmask( '+38 (999) 999 99 99' );\n\n\t/* - - - - - - - - - - - - - - init slick - - - - - - - - - - - - - - - */\n\t// $( '.js-slider' ).slick({\n\t// \tinfinite: false,\n\t// \tarrows: true,\n\t// \tdots: false,\n\t// \tslidesToScroll: 1,\n\t// \tslidesToShow: 2\n\t// });\n\n\t/* - - - - - - - - - - - - - - init fancybox - - - - - - - - - - - - - - - */\n\t$( '[data-fancybox]' ).fancybox({\n\t\tcloseExisting: true,\n\t\tanimationEffect: 'fade',\n\t\ttouch: false,\n\t\tautoFocus: false,\n\t\tbuttons: [\n\t\t\t'slideShow',\n\t\t\t'close'\n\t\t],\n\t\tsmallBtn: true,\n\t\tbtnTpl: {\n\t\t\tsmallBtn:\n\t\t\t\t''\n\t\t}\n\t});\n\n\t/* - - - - - - - - - - - - - - init fancybox video - - - - - - - - - - - - - - - */\n\t$( '[data-fancybox-video]' ).fancybox({\n\t\tslideClass: 'modal-video',\n\t\tvideo: {\n\t\t\ttpl:\n\t\t\t\t'',\n\t\t\tformat: '', // custom video format\n\t\t\tautoStart: true\n\t\t},\n\t\tsmallBtn: false,\n\t\tbtnTpl: {\n\t\t\tsmallBtn:\n\t\t\t\t''\n\t\t},\n\t\tscrolling: 'hidden',\n\t\thelpers: {\n\t\t\toverlay: {\n\t\t\t\tlocked: true\n\t\t\t}\n\t\t},\n\t\tbeforeShow: function() {\n\t\t\t$( 'body' ).css({ 'overflow-y': 'hidden' });\n\t\t},\n\t\tafterClose: function() {\n\t\t\t$( 'body' ).css({ 'overflow-y': 'visible' });\n\t\t}\n\t});\n\n\t/* - - - - - - - - - - - - - - input file - - - - - - - - - - - - - - - */\n\tfunction showFileError( $this, mess ) {\n\t\t$this.find( '.js-file [type=\"file\"]' ).val( '' );\n\t\t$this.find( '.file-box__status' ).text( mess );\n\t}\n\t$( document ).on( 'change', '.js-file [type=\"file\"]', function( e ) {\n\t\tconst $this = $( this );\n\t\tconst $parent = $this.closest( '.file-box' );\n\t\tconst list = $this[ 0 ].files;\n\t\tconst errorType = $this.attr( 'data-error-type' ) ? $this.attr( 'data-error-type' ) : 'Error';\n\t\tconst errorSize = $this.attr( 'data-error-size' ) ? $this.attr( 'data-error-size' ) : 'Error';\n\t\tconst textSuccess = $this.attr( 'data-success' ) ? $this.attr( 'data-success' ) : 'Success';\n\t\tconst textError = $this.attr( 'data-error' ) ? $this.attr( 'data-error' ) : 'Error';\n\t\tlet isError = false;\n\t\t$parent.removeClass( 'has-success, has-error' );\n\t\t$parent.find( '.file-box__status' ).text( '' );\n\t\t// $this.closest( '.file-box' ).find( '.file-box__list-box' ).remove();\n\t\tfor ( let i = 0; i < list.length; i++ ) {\n\t\t\tconst name = list[ i ].name;\n\t\t\tlet size = 5000; // size of kb\n\t\t\t// let fileBoxTpl = '';\n\n\t\t\t// validate type file\n\t\t\tconst typeFileArr = $this.attr( 'accept' ).split( ',' );\n\t\t\tif ( !typeFileArr.includes( '.' + name.slice( -5 ).split( '.' )[ 1 ].toLowerCase() ) ) {\n\t\t\t\tisError = true;\n\t\t\t\t$parent.addClass( 'has-error' );\n\t\t\t\tshowFileError( $parent, textError );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// validate size file\n\t\t\tif ( $this.attr( 'data-size' ) && $this.attr( 'data-size' ) !== '' ) {\n\t\t\t\tsize = parseInt( $this.attr( 'data-size' ) );\n\t\t\t}\n\t\t\tif ( size < list[ i ].size / 1000 ) {\n\t\t\t\tisError = true;\n\t\t\t\t$parent.addClass( 'has-error' );\n\t\t\t\tshowFileError( $parent, textError );\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( !isError ) {\n\t\t\t\t$parent.addClass( 'has-success' );\n\t\t\t\tshowFileError( $parent, textSuccess );\n\t\t\t}\n\n\t\t\t// fileBoxTpl =\n\t\t\t// \t'