{"id":269,"date":"2018-08-29T02:15:06","date_gmt":"2018-08-29T02:15:06","guid":{"rendered":"http:\/\/www.miimo.hk\/?page_id=269"},"modified":"2018-12-05T07:34:10","modified_gmt":"2018-12-05T07:34:10","slug":"portfolio","status":"publish","type":"page","link":"http:\/\/www.miimo.hk\/zh-hant\/portfolio\/","title":{"rendered":"\u4f5c\u54c1\u96c6"},"content":{"rendered":"\n<style>\n\t#bf_gallery_1 .portfolio_thumbnail {\n\t\tborder-radius: 0;\n\t\tdisplay: block;\n\t\theight: auto;\n\t\tline-height: 1.42857;\n\t\twidth: 100%;\n\t\tfloat: left;\n\t}\n\n\t\/* thumb spacing *\/\n\n\t#bf_gallery_1 .col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n\t\tpadding-right: 5px !important;\n\t\tpadding-left: 5px !important;\n\t\tpadding-bottom: 5px !important;\n\t\tpadding-top: 5px !important;\n\t}\n\n\t\/* title box css*\/\n\n\t.bf_thumb_box_1 {\n\t\tpadding: inherit;\n\t\tbackground-color: #EDEEF0;\n\t\tborder: 1px solid;\n\t\tborder-color: rgba( 213, 216, 221 );\n\t\t\/* border-color: #d5d8dd; *\/\n\t}\n\t\t.bf_title_box_1 {\n\t\tpadding-top: 5px;\n\t\tpadding-bottom: 10px;\n\t\tpadding-left: 8px;\n\t\tpadding-right: 8px;\n\t}\n\t\t.bf_title_box_2 {\n\t\tpadding-top: 10px;\n\t\tpadding-bottom: 10px;\n\t\tpadding-left: 8px;\n\t\tpadding-right: 8px;\n\t}\n\t.bf_title_1 {\n\t\tmargin-top: 15px;\n\t\tmargin-bottom: 15px;\n\t\tfont-size: 25px;\n\t\tcolor : #000;\n\t\tfont-weight: bold;\n\t}\n\t.bf_desc_1 {\n\t\tfont-size: 14px;\n\t\tcolor: #a4a6ac;\n\t\tmargin:10px 1px;\n\t}\n\n\t.bf_read_more_div_1 {\n\t\ttext-align: right;\n\t\tmargin:20px 0px 5px 0px;\n\t}\n\t.bf_read_more_1 {\n\t\ttext-decoration:none;\n\t\t\n\t} \n\t.bf_read_more_1:hover {\n\t\ttext-decoration:none;\n\t\t\n\t}\n\n\t.snip0047 {\n\t\tbackground-color: #58BBEE !important;\n\t}\n\n\t.snip0047:focus {\n\t\tbackground-color: #58BBEE !important;\n\t}\n\t.snip0047:active {\n\t\tbackground-color: #58BBEE !important;\n\t}\n\n\t.simplefilter {\n\t  font-family: 'Raleway', Arial, sans-serif;\n\t  text-align: center;\n\t  text-transform: uppercase;\n\t  font-weight: 500;\n\t  letter-spacing: 1px;\n\t  padding: 0;\n\t  margin:20px 0px 20px 0px;\n\t}\n\n\t.blog_metaInfo {\n\t\tmargin-top: 10px;\n\t\tmargin-bottom: 10px;\n\t\tpadding: 0;\n\t\tfont-size: 14px;\n\t\tfont-weight: 600;\n\t\tdisplay:inline-block;\n\t}\n\n\t.blog_metaInfo > span {\n\t\tdisplay: inline-block;\n\t\tmargin-right: 6px;\n\t\tcolor: #777;\n\t}\n\t.blog_metaInfo > span > i > .blog_cat_icon {\n\t\theight: 16px !important;\n\t\twidth: 20px !important;\n\t\topacity: 0.7;\n\t\tmargin-bottom: 2px\n\t}\n\t.blog_metaInfo > span > i > .blog_tag_icon {\n\t\theight: 22px !important;\n\t\twidth: 22px !important;\n\t\tmargin-bottom: 2px\n\t\t\n\t} \n\n\t.blog_pagination {\n\t\tdisplay: inline-block;\n\t\tpadding-left: 0;\n\t\tmargin: 20px 0;\n\t\tborder-radius: 4px;\n\t\tz-index:9;\n\t}\n\n\t.blog_pagination span { \n\t\tbackground : #58BBEE;\n\t\tborder: 1px solid #eaeaea;\n\t\tdisplay: inline-block;\n\t\ttext-align: center;\n\t\tcolor: #FFFFFF;\n\t\tpadding: 4px 12px;\n\t\tborder-radius:5px;\n\t}\n\t.blog_pagination span:hover { \n\t\tbackground : #58BBEE; \n\t\tcolor : #ffffff; \n\t}\n\n\t.blog_pagination a {\n\t\tborder: 1px solid #58BBEE;\n\t\tdisplay: inline-block;\n\t\ttext-align: center;\n\t\tcolor: #58BBEE;\n\t\tpadding: 4px 12px;\n\t\tborder-radius:5px;\n\t}\n\n\t.blog_pagination a:hover, a:focus {\n\t\tbackground: #58BBEE;\n\t\tcolor: #FFFFFF;\n\t\ttext-decoration:none;\n\t}\n\t\n\t.comments-area{\n\t\tz-index:99;\n\t}\n\t\n\t.blog_search {\n\t\tmargin-bottom:20px;\n\t\tdisplay: inline-block !important;\n\t}\n\t\n\t <\/style>\n\n<div class=\"blog_filter_main\" >\n\t\t\t\t<!-- filters -->\n\t\t\t<div class=\"text-center\">\n\t\t\t\t<ul class=\"simplefilter\">\n\t\t\t\t\t\t\t\t\t<li class=\"snip0047\" value=\"19\" data-filter=\"19\"><span>\u2027\u5168\u90e8<\/span><i class=\"fa fa-check\"><\/i><\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"snip0047\" value=\"23\" data-filter=\"23\"><span>3D\u5efa\u6a21<\/span><i class=\"fa fa-check\"><\/i><\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"snip0047\" value=\"20\" data-filter=\"20\"><span>UI \u8a2d\u8a08<\/span><i class=\"fa fa-check\"><\/i><\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"snip0047\" value=\"22\" data-filter=\"22\"><span>\u4e3b\u8996\u89ba<\/span><i class=\"fa fa-check\"><\/i><\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"snip0047\" value=\"13\" data-filter=\"13\"><span>\u5361\u7247<\/span><i class=\"fa fa-check\"><\/i><\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"snip0047\" value=\"18\" data-filter=\"18\"><span>\u54c1\u724c\u8a2d\u8a08<\/span><i class=\"fa fa-check\"><\/i><\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"snip0047\" value=\"15\" data-filter=\"15\"><span>\u5c0f\u518a\u5b50<\/span><i class=\"fa fa-check\"><\/i><\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"snip0047\" value=\"21\" data-filter=\"21\"><span>\u66f8\u520a<\/span><i class=\"fa fa-check\"><\/i><\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"snip0047\" value=\"14\" data-filter=\"14\"><span>\u6d77\u5831<\/span><i class=\"fa fa-check\"><\/i><\/li>\n\t\t\t\t\t\t\t\t\t<li class=\"snip0047\" value=\"24\" data-filter=\"24\"><span>\u77ed\u7247<\/span><i class=\"fa fa-check\"><\/i><\/li>\n\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t\t\t\t<div class=\"text-center\">\n\t\t\t\t<input type=\"text\" class=\"blog_search \" name=\"blog_search\" placeholder=\"Search\" data-search>\n\t\t\t<\/div> \t<!-- posts -->\n\t<div id=\"bf_gallery_1\" class=\"filtr-container filters-div \" style=\"opacity:0;\">\n\t\t\t\t\t<div id=\"bf_1389\" data-category=\"19, 23, 22\" data-sort=\"\u4e3b\u8996\u89ba\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/happy-holidays-2018\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2019\/03\/christmas_video_sq_v01_1-1.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">Happy Holidays 2018<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2019\/03\/christmas_video_sq_v01_1-1.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 23 22\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/happy-holidays-2018\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 23 22' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_1060\" data-category=\"19, 23, 22\" data-sort=\"\u4e3b\u8996\u89ba\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/accord-n3-%e4%b8%bb%e8%a6%96%e8%a6%ba%e5%9c%96\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/12\/testingv3_3-1.png\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">ACCORD N\u00b03 \u4e3b\u8996\u89ba\u5716<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/12\/testingv3_3-1.png\" title=\"\" class=\"lightbox_keys woodwork 19 23 22\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/accord-n3-%e4%b8%bb%e8%a6%96%e8%a6%ba%e5%9c%96\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 23 22' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_579\" data-category=\"19, 13\" data-sort=\"\u5361\u7247\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bs_bizcard\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/Beauty_sense_mockup_10.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">Beauty Sense \u540d\u7247\u8a2d\u8a08<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/Beauty_sense_mockup_10.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 13\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bs_bizcard\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 13' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_573\" data-category=\"19, 23, 22, 14\" data-sort=\"\u6d77\u5831\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bm_makeup_kv\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/natureglace_poster_mockup_02.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">Bare makeup \u4e3b\u8996\u89ba\u53ca\u6d77\u5831<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/natureglace_poster_mockup_02.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 23 22 14\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bm_makeup_kv\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 23 22 14' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_339\" data-category=\"19, 20\" data-sort=\"UI \u8a2d\u8a08\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bs_ui\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/08\/Beauty_sense_mockup_09.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">Beauty Sense UI \u8a2d\u8a08<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/08\/Beauty_sense_mockup_09.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 20\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bs_ui\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 20' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_618\" data-category=\"19, 22\" data-sort=\"\u4e3b\u8996\u89ba\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/skincare_fb_feed2\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/eb_feb22_v02.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">Skin care facebook wall \u4e3b\u8996\u89ba\u5716 2<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/eb_feb22_v02.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 22\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/skincare_fb_feed2\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 22' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_515\" data-category=\"19, 15, 21\" data-sort=\"\u66f8\u520a\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bnf_booknleaflet\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/bf_Mockup_12.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">B &#038; F Wine Cellar \u66f8\u520a\u53ca\u5c0f\u518a\u5b50<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/bf_Mockup_12.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 15 21\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bnf_booknleaflet\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 15 21' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_468\" data-category=\"19, 18\" data-sort=\"\u54c1\u724c\u8a2d\u8a08\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bs_branding\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/Beauty_sense_mockup_07.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">Beauty Sense \u54c1\u724c\u8a2d\u8a08<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/Beauty_sense_mockup_07.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 18\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bs_branding\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 18' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_601\" data-category=\"19, 24\" data-sort=\"\u77ed\u7247\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/sogo_led_ad\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/SOGO_p2_LED_mockup_v3.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">Sogo \u6236\u5916\u5ee3\u544a\u770b\u677f\u77ed\u7247<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/SOGO_p2_LED_mockup_v3.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 24\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/sogo_led_ad\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 24' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_565\" data-category=\"19, 13\" data-sort=\"\u5361\u7247\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bnf_bizcard\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/bf_Mockup_15.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">B &#038; F Wine Cellar \u540d\u7247\u8a2d\u8a08<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/bf_Mockup_15.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 13\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bnf_bizcard\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 13' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_337\" data-category=\"19, 13\" data-sort=\"\u5361\u7247\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/miimo_bizcard\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/08\/miimo_biz_card3.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">MiiMo \u540d\u7247\u8a2d\u8a08<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/08\/miimo_biz_card3.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 13\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/miimo_bizcard\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 13' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_553\" data-category=\"19, 18\" data-sort=\"\u54c1\u724c\u8a2d\u8a08\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bnf_brading\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/08\/bf_Mockup_logo_02.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">B &#038; F Wine Cellar \u54c1\u724c\u8a2d\u8a08<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/08\/bf_Mockup_logo_02.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 18\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/bnf_brading\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 18' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_613\" data-category=\"19, 22\" data-sort=\"\u4e3b\u8996\u89ba\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/skincare_fb_feed\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/SP_oct6_v03b.jpg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">Skin care facebook wall \u4e3b\u8996\u89ba\u5716<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/SP_oct6_v03b.jpg\" title=\"\" class=\"lightbox_keys woodwork 19 22\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/skincare_fb_feed\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 22' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t\t\t<div id=\"bf_633\" data-category=\"19, 24\" data-sort=\"\u77ed\u7247\" class=\" pfg_theme_1 filtr-item filtr_item_1 single_one col-lg-4 col-md-4 col-sm-6 col-xs-12\">\n\t\t\t\t<div class=\"bf_thumb_box_1 hvr-shadow-radial\">\n\t\t\t\t\t<div class=\"bf_title_box_1\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<figure class=\"snip1118 blue \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/skincare_history_video\/\" target=\"\" ><img decoding=\"async\" title=\"\" class=\"portfolio_thumbnail\" src=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/SWL_History_02.jpeg\" alt=\"\"><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<h3 class=\"\">Skin care \u767c\u5c55\u6b77\u53f2\u77ed\u7247<\/h3>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/wp-content\/uploads\/2018\/10\/SWL_History_02.jpeg\" title=\"\" class=\"lightbox_keys woodwork 19 24\" id=\"filter_main\"><i class=\"fa fa-picture-o\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/www.miimo.hk\/zh-hant\/skincare_history_video\/\" target=\"\" ><i class=\"fa fa-link right\"><\/i><\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/figure>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"bf_title_box_2\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t\t<script>\n\t\t\tjQuery( window ).load(function() {\n\t\t\t\tjQuery('*[data-filter]').click(function() {\n\t\t\t\t\tvar targetFilter = jQuery(this).data('filter');\n\t\t\t\t\t\/\/alert(targetFilter);\n\t\t\t\t\t\/\/Exit case\n\t\t\t\t\tif (targetFilter == 'all') {\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t} \n\t\t\t\t   \n\t\t\t\t\tif (targetFilter != 'all')  {\n\t\t\t\t\t\tjQuery(\".lightbox_keys\").removeClass(\"woodwork\");\n\t\t\t\t\t   ;( function( jQuery ) {\n\t\t\t\t\t\t\tjQuery( '.19 24' ).swipebox( {\n\t\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\/\/swipebox js\n\t\t\t}); \n\t\t<\/script>\n\t\t\t<\/div>\n\t\n\t<div class=\"blog_loader\"><\/div>\n\t\n\t<div style=\"text-align: center;  display:none; \" class=\"blog_pagination font-alt col-lg-12 col-md-12 col-sm-12\">\n\t\t\t<\/div>\n<\/div>\n\n<script>\njQuery( window ).load(function() {\n\t\tvar first_active_filter = jQuery( \".simplefilter li:first-child\" ).val();\n\t\n\t\/\/ Animate loader off screen\n\tjQuery(\".blog_loader\").hide();\n\tjQuery(\"#bf_gallery_1\").css(\"opacity\", 1);\n\t\/\/Filterizd Default options\n\toptions = {\n\t\tanimationDuration: 0.5,\n\t\tcallbacks: {\n\t\t\tonFilteringStart: function() { },\n\t\t\tonFilteringEnd: function() { },\n\t\t\tonShufflingStart: function() { },\n\t\t\tonShufflingEnd: function() { },\n\t\t\tonSortingStart: function() { },\n\t\t\tonSortingEnd: function() { }\n\t\t},\n\t\tfilter: \"all\" ,\n\t\tlayout: 'sameWidth',\n\t\tselector: '#bf_gallery_1',\n\t\tsetupControls: true\n\t}\n\tvar filterizd = jQuery('#bf_gallery_1').filterizr('setOptions', options);\n\t\n});\n\n\/\/blog_pagination class add and active class add\njQuery(document).ready(function(){\n\tjQuery( \"ul.page-numbers\" ).addClass( \"blog_pagination mrgt-0\" );\n});\n<\/script>\n<script>\n\/**\n* Filterizr is a jQuery plugin that sorts, shuffles and applies stunning filters over\n* responsive galleries using CSS3 transitions and custom CSS effects.\n*\n* @author Yiotis Kaltsikis\n* @see {@link http:\/\/yiotis.net\/filterizr}\n* @version 1.2.3\n* @license MIT License\n*\/\n\n(function(global, $) {\nvar first_active_filter = jQuery( \".simplefilter li:first-child\" ).val();\n    \n\t'use strict';\n\n    \/\/Make sure jQuery exists\n    if (!$) throw new Error('Filterizr requires jQuery to work.');\n\n    \/**\n    * Modified version of Jake Gordon's Bin Packing algorithm used for Filterizr's 'packed' layout\n    * @see {@link https:\/\/github.com\/jakesgordon\/bin-packing}\n    *\/\n    var Packer = function(w) {\n        this.init(w);\n    };\n\n    Packer.prototype = {\n        init: function(w) {\n            this.root = { x: 0, y: 0, w: w };\n        },\n        fit: function(blocks) {\n            var n, node, block, len = blocks.length;\n            var h = len > 0 ? blocks[0].h : 0;\n            this.root.h = h;\n            for (n = 0; n < len ; n++) {\n                block = blocks[n];\n                if ((node = this.findNode(this.root, block.w, block.h)))\n                block.fit = this.splitNode(node, block.w, block.h);\n                else\n                block.fit = this.growDown(block.w, block.h);\n            }\n        },\n        findNode: function(root, w, h) {\n            if (root.used)\n            return this.findNode(root.right, w, h) || this.findNode(root.down, w, h);\n            else if ((w <= root.w) && (h <= root.h))\n            return root;\n            else\n            return null;\n        },\n        splitNode: function(node, w, h) {\n            node.used = true;\n            node.down  = { x: node.x,     y: node.y + h, w: node.w,     h: node.h - h };\n            node.right = { x: node.x + w, y: node.y,     w: node.w - w, h: h          };\n            return node;\n        },\n        growDown: function(w, h) {\n            var node;\n            this.root = {\n                used: true,\n                x: 0,\n                y: 0,\n                w: this.root.w,\n                h: this.root.h + h,\n                down:  { x: 0, y: this.root.h, w: this.root.w, h: h },\n                right: this.root\n            };\n            if ((node = this.findNode(this.root, w, h)))\n            return this.splitNode(node, w, h);\n            else\n            return null;\n        }\n    };\n\n    \/**\n    * Only Filterizr method extracted on jQuery.fn.\n    * Instantiates a new Filterizr or calls any of the public Filterizr methods.\n    * @return {jQuery} this - to facilitate jQuery method chaining.\n    *\/\n    $.fn.filterizr = function() {\n        var self = this, args = arguments;\n        \/\/Create the Filterizr obj as an internal private property on the current object\n        \/\/to serve as a private namespace\n        if (!self._fltr) {\n            self._fltr = $.fn.filterizr.prototype.init(self.selector, (typeof args[0] === 'object' ? args[0] : undefined));\n        }\n        \/\/Call all public Filterizr methods through the private Filterizr object\n        if (typeof args[0] === 'string') {\n            if (args[0].lastIndexOf('_') > -1) throw new Error('Filterizr error: You cannot call private methods');\n            if (typeof self._fltr[args[0]] === 'function') {\n                self._fltr[args[0]](args[1], args[2]);\n            }\n            else throw new Error('Filterizr error: There is no such function');\n        }\n        return self;\n    };\n\n    \/**\n    * Filterizr prototype\n    *\/\n    $.fn.filterizr.prototype = {\n\n        \/**\n        * Filterizr constructor.\n        * @param {string} [selector] - the selector of your container.\n        * @param {Object} [options] - user options to override defaults.\n        * @constructor\n        *\/\n        init: function(selector, options) {\n            var self = $(selector).extend($.fn.filterizr.prototype);\n            \/\/Default options\n            self.options = {\n                animationDuration: 0.5,\n                callbacks: {\n                    onFilteringStart: function() { \n\t\t\t\t\t;( function( jQuery ) {\n\t\t\t\t\t\tjQuery( '.woodwork' ).swipebox( {\n\t\t\t\t\t\t\tuseCSS : true, \/\/ false will force the use of jQuery for animations\n\t\t\t\t\t\t\tuseSVG : true, \/\/ false to force the use of png for buttons\n\t\t\t\t\t\t\tinitialIndexOnArray : 0, \/\/ which image index to init when a array is passed\n\t\t\t\t\t\t\thideCloseButtonOnMobile : false, \/\/ true will hide the close button on mobile devices\n\t\t\t\t\t\t\tremoveBarsOnMobile : true, \/\/ false will show top bar on mobile devices\n\t\t\t\t\t\t\thideBarsDelay : false, \/\/ delay before hiding bars on desktop\n\t\t\t\t\t\t\tvideoMaxWidth : 1140, \/\/ videos max width\n\t\t\t\t\t\t\tbeforeOpen: function() {}, \/\/ called before opening\n\t\t\t\t\t\t\tafterOpen: null, \/\/ called after opening\n\t\t\t\t\t\t\tafterClose: function() {}, \/\/ called after closing\n\t\t\t\t\t\t\tloopAtEnd: true \/\/ true will return to the first image after the last image is reached\n\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t} )( jQuery );\n\t\t\t\t\t},\n                    onFilteringEnd: function() { },\n                    onShufflingStart: function() { },\n                    onShufflingEnd: function() { },\n                    onSortingStart: function() { },\n                    onSortingEnd: function() { }\n                },\n               \/\/ delay: 0,\n                \/\/delayMode: 'progressive',\n               \/\/ easing: 'ease-out',\n                filter:  \"all\" ,\n                filterOutCss: {\n                    'opacity': 0,\n                    'transform': 'scale(1)',\n                    'visibility': 'hidden'\n                },\n                filterInCss: {\n                    'opacity': 1,\n                    'transform': 'scale(1)',\n\t\t\t\t\t'visibility': 'visible'\n                },\n                layout: 'sameWidth',\n                selector: (typeof selector === 'string') ? selector : '.filtr-container',\n                setupControls: true\n            };\n            \/\/No arguments constructor\n            if (arguments.length === 0) {\n                selector = self.options.selector;\n                options  = self.options;\n            }\n            \/\/One argument constructor (only options)\n            if (arguments.length === 1 && typeof arguments[0] === 'object') options = arguments[0];\n            \/\/If options argument provided, override defaults\n            if (options) {\n                self.setOptions(options);\n            }\n            \/\/Private properties\n            self.css({ \/\/Cache reference to container as jQuery obj and init its CSS\n                'padding' : 0,\n                'position': 'relative'\n            });\n            self._lastCategory = 0; \/\/Highest value in data-category of .filtr-items\n            self._isAnimating  = false;\n            self._isShuffling  = false;\n            self._isSorting    = false;\n            \/\/.filtr-item collections\n            self._mainArray   = self._getFiltrItems();\n            self._subArrays   = self._makeSubarrays();\n            self._activeArray = self._getCollectionByFilter(self.options.filter);\n            \/\/Used for multiple category filtering\n            self._toggledCategories = { };\n            \/\/Used for search feature\n            self._typedText = $('input[data-search]').val() || '';\n            \/\/Generate unique ID for resize events\n            self._uID = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(\/[xy]\/g, function(c) {\n                var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);\n                return v.toString(16);\n            });\n            \/\/Set up Filterizr events\n            self._setupEvents();\n            \/\/Set up standard Filterizr controls (for multiple Filterizrs in your scene, set to false)\n            if (self.options.setupControls) self._setupControls();\n            \/\/Start Filterizr!\n            self.filter(self.options.filter);\n            return self;\n        },\n\n        \/***********************************\n        * Public methods\n        ***********************************\/\n        \/**\n        * Filters the items\n        * @param {number} targetFilter - the applied filter towards which items transition\n        *\/\n        filter: function(targetFilter) {\n            var self   = this,\n                target = self._getCollectionByFilter(targetFilter);\n\n            self.options.filter = targetFilter;\n            self.trigger('filteringStart');\n            \/\/Filter items\n            self._handleFiltering(target);\n            \/\/Apply search filter on top if activated\n            if (self._isSearchActivated()) self.search(self._typedText);\n        },\n\n        \/**\n        * Toggles filters on\/off and renders the new collection\n        * @param {number} toggledFilter - the filter to toggle\n        *\/\n        toggleFilter: function(toggledFilter) {\n            var self   = this,\n                target = [], i = 0;\n\n            self.trigger('filteringStart');\n            \/\/Toggle the toggledFilter in the active categories\n            \/\/If undefined (in case of window resize) ignore\n            if (toggledFilter) {\n                if (!self._toggledCategories[toggledFilter])\n                    self._toggledCategories[toggledFilter] = true;\n                else\n                    delete self._toggledCategories[toggledFilter];\n            }\n\n            \/\/If a filter is toggled on then display only items belonging to that category\n            if (self._multifilterModeOn()) {\n                target = self._makeMultifilterArray();\n                \/\/Filter items\n                self._handleFiltering(target);\n                \/\/Apply search filter on top if activated\n                if (self._isSearchActivated()) self.search(self._typedText);\n            }\n            \/\/If all filters toggled off then display unfiltered gallery\n            else {\n                \/\/Filter items\n                self.filter('all');\n                \/\/Apply search filter on top if activated\n                if (self._isSearchActivated()) self.search(self._typedText);\n            }\n        },\n\n        \/**\n        * Searches the contents of .filtr-item elements, filters them and renders the results\n        * @param {string} text to search in contents of .filtr-item elements\n        *\/\n        search: function(text) {\n            var self   = this,\n                \/\/get active category\n                array  = self._multifilterModeOn() ?\n                            self._makeMultifilterArray() :\n                            self._getCollectionByFilter(self.options.filter),\n                target = [], i = 0;\n\n            if (self._isSearchActivated()) {\n                for (i = 0; i < array.length; i++) {\n                    \/\/Check if the text typed in the textbox is contained in the .filtr-item element\n                    \/\/and add it to the target array\n                    var containsText = array[i].text().toLowerCase().indexOf(text.toLowerCase()) > -1;\n                    if (containsText) {\n                        target.push(array[i]);\n                    }\n                }\n            }\n            \/\/Show the results\n            if (target.length > 0) {\n                self._handleFiltering(target);\n            }\n            \/\/If there are no results\n            else {\n                \/\/and search is activated, show blank\n                if (self._isSearchActivated()) {\n                    for (i = 0; i < self._activeArray.length; i++) {\n                        self._activeArray[i]._filterOut();\n                    }\n                }\n                \/\/if search is not activated display gallery with last applied filter\n                else {\n                    self._handleFiltering(array);\n                }\n            }\n        },\n\n        \/**\n        * Shuffles the active collection and rearranges it on screen\n        *\/\n        shuffle: function() {\n            var self = this;\n\n            \/\/ShufflingStart callback\n            self._isAnimating = true;\n            self._isShuffling = true;\n            self.trigger('shufflingStart');\n\n            self._mainArray = self._fisherYatesShuffle(self._mainArray);\n            self._subArrays = self._makeSubarrays();\n\n            var target = self._multifilterModeOn() ?\n                            self._makeMultifilterArray() :\n                            self._getCollectionByFilter(self.options.filter);\n\n            if (self._isSearchActivated())\n                self.search(self._typedText);\n            else\n                self._placeItems(target);\n        },\n\n        \/**\n        * Sorts the active collection and rearranges it on screen.\n        * @param {string} [attr] - attr based on which to sort (default: 'domIndex' \/ possible: 'domIndex', 'sortData', 'w', 'h').\n        * @param {string} [sortOrder] - asc\/desc (default: 'asc').\n        *\/\n        sort: function(attr, sortOrder) {\n            var self  = this;\n            \/\/Set defaults\n            attr \t  = attr      || 'domIndex';\n            sortOrder = sortOrder || 'asc';\n\n            \/\/SortingStart callback\n            self._isAnimating = true;\n            self._isSorting   = true;\n            self.trigger('sortingStart');\n\n            \/\/Register sort attr on all elements if it is a user-defined data-attribute\n            var isUserAttr = attr !== 'domIndex' && attr !== 'sortData' && attr !== 'w' && attr!== 'h';\n            if (isUserAttr) {\n                for (var i = 0; i < self._mainArray.length; i++) {\n                    self._mainArray[i][attr] = self._mainArray[i].data(attr);\n                }\n            }\n            \/\/Sort items\n            self._mainArray.sort(self._comparator(attr, sortOrder));\n            self._subArrays = self._makeSubarrays();\n            \/\/Place sorted collection to new positions\n            var target = self._multifilterModeOn() ?\n                            self._makeMultifilterArray() :\n                            self._getCollectionByFilter(self.options.filter);\n\n            if (self._isSearchActivated())\n                self.search(self._typedText);\n            else\n                self._placeItems(target);\n        },\n\n        \/**\n        * Overrides the default options with the user-provided ones.\n        * @param {object} options - the user-provided options to override defaults.\n        *\/\n        setOptions: function(options) {\n            var self = this, i = 0;\n            \/\/Override options\n            for (var prop in options) {\n                self.options[prop] = options[prop];\n            }\n            \/\/If the user tries to override animationDuration, easing, delay or delayMode\n            if (self._mainArray && (options.animationDuration || options.delay || options.easing || options.delayMode)) {\n                for (i = 0; i < self._mainArray.length; i++) {\n                    self._mainArray[i].css('transition', 'all ' + self.options.animationDuration + 's ' +  self.options.easing + ' ' + self._mainArray[i]._calcDelay() + 'ms');\n                }\n            }\n            \/\/If the user tries to override a callback, make sure undefined callbacks are set to empty functions\n            if (options.callbacks) {\n                if (!options.callbacks.onFilteringStart)\n                    self.options.callbacks.onFilteringStart = function() { };\n                if (!options.callbacks.onFilteringEnd)\n                    self.options.callbacks.onFilteringEnd = function() { };\n                if (!options.callbacks.onShufflingStart)\n                    self.options.callbacks.onShufflingStart = function() { };\n                if (!options.callbacks.onShufflingEnd)\n                    self.options.callbacks.onShufflingEnd = function() { };\n                if (!options.callbacks.onSortingStart)\n                    self.options.callbacks.onSortingStart = function() { };\n                if (!options.callbacks.onSortingEnd)\n                    self.options.callbacks.onSortingEnd = function() { };\n            }\n            \/\/If the user has not defined a transform property in their CSS, add it\n            \/\/while overriding, including translates for movement\n            if (!self.options.filterInCss.transform)  self.options.filterInCss.transform  = 'translate3d(0,0,0)';\n            if (!self.options.filterOutCss.transform) self.options.filterOutCss.transform = 'translate3d(0,0,0)';\n        },\n\n        \/***********************************\n        * Private & helper methods\n        ***********************************\/\n        \/**\n        * Finds all .filtr-item elements in the .filtr-container and sets them up before returning them in an array.\n        * @return {Object[]}  all .filtr-item elements contained in Filterizr's container.\n        * @private\n        *\/\n        _getFiltrItems: function() {\n            var self       = this,\n            filtrItems = $(self.find('.filtr-item')),\n            itemsArray = [];\n\n            $.each(filtrItems, function(i, e) {\n                \/\/Set item up as Filtr object & push to array\n                var item = $(e).extend(FiltrItemProto)._init(i, self);\n                itemsArray.push(item);\n            });\n            return itemsArray;\n        },\n\n        \/**\n        * Divide .filtr-item elements into sub-arrays based on data-category attribute.\n        * @return {Object[Object[self._lastCategory]]} Array of arrays including items grouped by data-category.\n        * @private\n        *\/\n        _makeSubarrays: function() {\n            var self = this,\n            subArrays = [];\n\n            for (var i = 0; i < self._lastCategory; i++) subArrays.push([]);\n\n            \/\/Populate the sub-arrays\n            for (i = 0; i < self._mainArray.length; i++) {\n                \/\/Multiple categories scenario\n                if (typeof self._mainArray[i]._category === 'object') {\n                    var length = self._mainArray[i]._category.length;\n                    for (var x = 0; x < length; x++) {\n                        subArrays[self._mainArray[i]._category[x] - 1].push(self._mainArray[i]);\n                    }\n                }\n                \/\/Single category\n                else subArrays[self._mainArray[i]._category - 1].push(self._mainArray[i]);\n            }\n            return subArrays;\n        },\n\n        \/**\n        * Make a .filtr-item array based on the activated filters\n        * @return {Object[]} array consisting of the .filtr-item elements belonging to active filters\n        * @private\n        *\/\n        _makeMultifilterArray: function() {\n            var self   = this,\n                target = [], addedMap = {};\n\n            for (var i = 0; i < self._mainArray.length; i++) {\n                \/\/If the item belongs to multiple categories\n                var item = self._mainArray[i],\n                    belongsToCategory = false,\n                    isUnique = item.domIndex in addedMap === false;\n                \/\/Check if item belongs to categories whose filters are toggled on\n                if (Array.isArray(item._category)) {\n                    for (var x = 0; x < item._category.length; x++) {\n                        if (item._category[x] in self._toggledCategories) {\n                            belongsToCategory = true;\n                            break;\n                        }\n                    }\n                }\n                else {\n                    if (item._category in self._toggledCategories) belongsToCategory = true;\n                }\n                \/\/If the item is not already visible and belongs to a category\n                \/\/of the toggled on filters push it to target collection\n                if (isUnique && belongsToCategory) {\n                    addedMap[item.domIndex] = true;\n                    target.push(item);\n                }\n            }\n            return target;\n        },\n\n        \/**\n        * Detect and set up preset controls.\n        * @private\n        *\/\n        _setupControls: function() {\n            var self = this;\n            \/\/Filter controls\n            $('*[data-filter]').click(function() {\n\t\t\t\t$('.simplefilter').addClass('sfilter');\n                var targetFilter = $(this).data('filter');\n                \/\/Exit case\n                if (self.options.filter === targetFilter) return;\n                self.filter(targetFilter);\n            });\n            \/\/Multiple filter controls\n            $('*[data-multifilter]').click(function() {\n                var targetFilter = $(this).data('multifilter');\n                if (targetFilter === 'all') {\n\t\t\t\t\tjQuery('.simplefilter li').removeClass('filter-active');\n                    self._toggledCategories = { };\n                    self.filter('all');\n                }\n                else {\n                    self.toggleFilter(targetFilter);\n\t\t\t\t\t\n                }\n            });\n            \/\/Shuffle control\n            $('*[data-shuffle]').click(function() {\n\t\t\t\t$('.sortandshuffle').addClass('sfilter');\n                self.shuffle();\n            });\n            \/\/Sort controls\n            $('*[data-sortAsc]').click(function() {\n\t\t\t\t$('.sortandshuffle').addClass('sfilter');\n                var sortAttr = $('*[data-sortOrder]').val();\n                self.sort(sortAttr, 'asc');\n            });\n            $('*[data-sortDesc]').click(function() {\n\t\t\t\t$('.sortandshuffle').addClass('sfilter');\n                var sortAttr = $('*[data-sortOrder]').val();\n                self.sort(sortAttr, 'desc');\n            });\n            \/\/Search control\n            $('input[data-search]').keyup(function() {\n                self._typedText = $(this).val();\n                self._delayEvent(function() {\n                    self.search(self._typedText);\n                }, 250, self._uID);\n            });\n        },\n\n        \/**\n        * Set up window and Filterizr events.\n        * @private\n        *\/\n        _setupEvents: function() {\n            var self = this;\n            \/\/Window resize event\n            $(global).resize(function() {\n                self._delayEvent(function() {\n                    self.trigger('resizeFiltrContainer');\n                }, 250, self._uID);\n            });\n            \/\/Filterizr events\n            self\n            \/\/Container resize event\n            .on('resizeFiltrContainer', function() {\n                if (self._multifilterModeOn())\n                    self.toggleFilter();\n                else\n                    self.filter(self.options.filter);\n            })\n            \/\/onFilteringStart event\n            .on('filteringStart', function() {\n                self.options.callbacks.onFilteringStart();\n            })\n            \/\/onFilteringEnd event\n            .on('filteringEnd', function() {\n                self.options.callbacks.onFilteringEnd();\n            })\n            \/\/onShufflingStart event\n            .on('shufflingStart', function() {\n                self._isShuffling = true;\n                self.options.callbacks.onShufflingStart();\n            })\n            \/\/onFilteringEnd event\n            .on('shufflingEnd', function() {\n                self.options.callbacks.onShufflingEnd();\n                self._isShuffling = false;\n            })\n            \/\/onSortingStart event\n            .on('sortingStart', function() {\n                self._isSorting = true;\n                self.options.callbacks.onSortingStart();\n            })\n            \/\/onSortingEnd event\n            .on('sortingEnd', function() {\n                self.options.callbacks.onSortingEnd();\n                self._isSorting = false;\n            });\n        },\n\n        \/**\n        * Calculates the final positions of items being filtered in, updates the height of .filtr-container.\n        * @return {Object[]} array of future item positions.\n        * @private\n        *\/\n        _calcItemPositions: function() {\n            var self  = this,\n                array = self._activeArray,\n            \/\/Container data\n            containerHeight = 0,\n            cols = Math.round(self.width() \/ self.find('.filtr-item').outerWidth()),\n            rows = 0,\n            \/\/Item data\n            itemWidth  = array[0].outerWidth(),\n            itemHeight = 0,\n            \/\/Position calculation vars\n            left = 0, top = 0,\n            \/\/Loop vars\n            i = 0, x = 0,\n            \/\/Array of positions to return\n            posArray = [];\n\n            \/\/Layout for items of varying sizes\n            if (self.options.layout === 'packed') {\n                \/\/Cache current item width\/height\n                $.each(self._activeArray, function(i, e) {\n                    e._updateDimensions();\n                });\n                \/\/Instantiate new Packer, set up grid\n                var packer = new Packer(self.outerWidth());\n                packer.fit(self._activeArray);\n                for (i = 0; i < array.length; i++) {\n                    posArray.push({\n                        left: array[i].fit.x,\n                        top: array[i].fit.y\n                    });\n                }\n                containerHeight = packer.root.h;\n            }\n            \/\/Horizontal layout\n            if (self.options.layout === 'horizontal') {\n                rows = 1;\n                for (i = 1; i <= array.length; i++) {\n                    itemWidth = array[i - 1].outerWidth();\n                    itemHeight = array[i - 1].outerHeight();\n                    posArray.push({\n                        left: left,\n                        top: top\n                    });\n                    left += itemWidth;\n                    if (containerHeight < itemHeight) containerHeight = itemHeight;\n                }\n            }\n            \/\/Vertical layout\n            else if (self.options.layout === 'vertical') {\n                for (i = 1; i <= array.length; i++) {\n                    itemHeight = array[i - 1].outerHeight();\n                    posArray.push({\n                        left: left,\n                        top: top\n                    });\n                    top += itemHeight;\n                }\n                containerHeight = top;\n            }\n            \/\/Layout of items for same height and varying width\n            else if (self.options.layout === 'sameHeight') {\n                rows = 1;\n                var rowWidth = self.outerWidth();\n                for (i = 1; i <= array.length; i++) {\n                    itemWidth = array[i - 1].width();\n                    var itemOuterWidth = array[i - 1].outerWidth(),\n                    nextItemWidth = 0;\n                    if (array[i]) nextItemWidth = array[i].width();\n                    posArray.push({\n                        left: left,\n                        top: top\n                    });\n                    x = left + itemWidth + nextItemWidth;\n                    if (x > rowWidth) {\n                        x \t = 0;\n                        left = 0;\n                        top  += array[0].outerHeight();\n                        rows++;\n                    }\n                    else left += itemOuterWidth;\n                }\n                containerHeight = rows * array[0].outerHeight();\n            }\n            \/\/Layout for items of same width and varying height\n            else if (self.options.layout === 'sameWidth') {\n                \/\/Get positions\n                for (i = 1; i <= array.length; i++) {\n                    posArray.push({\n                        left: left,\n                        top: top\n                    });\n                    if (i % cols === 0) rows++;\n                    left += itemWidth;\n                    top = 0;\n                    if (rows > 0) {\n                        x = rows;\n                        while (x > 0) {\n                            top += array[i - (cols * x)].outerHeight();\n                            x--;\n                        }\n                    }\n                    if (i % cols === 0) left = 0;\n                }\n                \/\/Calculate containerHeight\n                for (i = 0; i < cols; i++) {\n                    var columnHeight = 0, index = i;\n                    while(array[index]) {\n                        columnHeight += array[index].outerHeight();\n                        index += cols;\n                    }\n                    if (columnHeight > containerHeight) {\n                        containerHeight = columnHeight;\n                        columnHeight = 0;\n                    }\n                    else\n                    columnHeight = 0;\n                }\n            }\n            \/\/Layout for items of exactly same size\n            else if (self.options.layout === 'sameSize') {\n                for (i = 1; i <= array.length; i++) {\n                    \/\/Push first point at (left: 0, top: 0)\n                    posArray.push({\n                        left: left,\n                        top: top\n                    });\n                    \/\/Set left and top properties for next point before next iteration\n                    left += itemWidth;\n                    \/\/On row change calc new top and reset left\n                    if (i % cols === 0) {\n                        top += array[0].outerHeight();\n                        left = 0;\n                    }\n                }\n                rows = Math.ceil(array.length \/ cols);\n                containerHeight = rows * array[0].outerHeight();\n            }\n            \/\/Update the height of .filtr-container based on new positions\n            self.css('height', containerHeight);\n            return posArray;\n        },\n\n        \/**\n        * Handles filtering in\/out and reposition items when transition between categories\n        * @param {Object[]} the target array towards which to filter\n        * @private\n        *\/\n        _handleFiltering: function(target) {\n            var self = this,\n                toFilterOut = self._getArrayOfUniqueItems(self._activeArray, target);\n            \/\/Minimize all .filtr-item elements that are not the same between categories\n            for (var i = 0; i < toFilterOut.length; i++) {\n                toFilterOut[i]._filterOut();\n            }\n            self._activeArray = target;\n            \/\/Reposition same items and filter in new\n            self._placeItems(target);\n        },\n\n        \/**\n        * Determines if the user is using data-multifilter controls or simple data-filter controls\n        * @return {boolean} indicating whether multiple filter mode is on\n        * @private\n        *\/\n        _multifilterModeOn: function() {\n            var self = this;\n            return Object.keys(self._toggledCategories).length > 0;\n        },\n\n        \/**\n        * Determines if the user has something typed in the search box\n        * @return {boolean} indicating whether the user has searched\n        * @private\n        *\/\n        _isSearchActivated: function() {\n            var self = this;\n            return self._typedText.length > 0;\n        },\n\n        \/**\n        * Places .filtr-item elements on the grid positions\n        * @param {Object[]} arr - an array consisting of .filtr-item elements\n        * @private\n        *\/\n        _placeItems: function(arr) {\n            var self = this;\n            \/\/Tag gallery state as animating\n            self._isAnimating = true;\n            \/\/Recalculate positions and filter in items\n            self._itemPositions = self._calcItemPositions();\n            for (var i = 0; i < arr.length; i++) {\n                arr[i]._filterIn(self._itemPositions[i]);\n            }\n        },\n\n        \/**\n        * Returns item collection based on a certain filter\n        * @param {string|number} filter of category to return\n        * @return {Object[]} one of the item collections based on filter\n        * @private\n        *\/\n        _getCollectionByFilter: function(filter) {\n            var self = this;\n            return filter === 'all' ? self._mainArray : self._subArrays[filter - 1];\n        },\n\n        \/**\n        * Used to make deep copies of the predefined filters\n        * in the options for the filterIn\/Out methods of items.\n        * @see _filterIn and _filterOut methods in FiltrItemProto.\n        * @param {Object} obj - is the source object to make a deep copy from.\n        * @return {Object} Deep copy of the obj param.\n        * @private\n        *\/\n        _makeDeepCopy: function(obj) {\n            var r = {};\n            for (var p in obj) r[p] = obj[p];\n            return r;\n        },\n\n        \/**\n        * Comparator factory used to produce camparers for sorting.\n        * @see Filterizr.prototype.sort.\n        * @param {string} prop - property based on which to sort ('domIndex', 'sortData', 'w', 'h')\n        * @param {string} sortOrder - 'asc'\/'desc'\n        * @return {function} comparer which takes arguments\n        * @private\n        *\/\n        _comparator: function(prop, sortOrder) {\n            return function(a, b) {\n                if (sortOrder === 'asc') {\n                    if (a[prop] < b[prop])\n                    return -1;\n                    else if (a[prop] > b[prop])\n                    return 1;\n                    else\n                    return 0;\n                }\n                else if (sortOrder === 'desc') {\n                    if (b[prop] < a[prop])\n                    return -1;\n                    else if (b[prop] > a[prop])\n                    return 1;\n                    else\n                    return 0;\n                }\n            };\n        },\n\n        \/**\n        * Modified version of Jeffery To's array intersection method\n        * @see {@link http:\/\/www.falsepositives.com\/index.php\/2009\/12\/01\/javascript-function-to-get-the-intersect-of-2-arrays\/}\n        * @return {Object[]} a disjoint array containing the elements of the first array not found in the second\n        * @private\n        *\/\n        _getArrayOfUniqueItems: function(arr1, arr2) {\n            var r = [], o = {}, l = arr2.length, i, v;\n            for (i = 0; i < l; i++) {\n                o[arr2[i].domIndex] = true;\n            }\n            l = arr1.length;\n            for (i = 0; i < l; i++) {\n                v = arr1[i];\n                if (!(v.domIndex in o)) {\n                    r.push(v);\n                }\n            }\n            return r;\n        },\n\n        \/**\n        * Brahn's take on CMS's solution to calling the window.resize event at set\n        * intervals in multiple places in the code using a Java-like UUID with a regexp\n        * @see {@link http:\/\/stackoverflow.com\/questions\/2854407\/javascript-jquery-window-resize-how-to-fire-after-the-resize-is-completed}\n        * @return {function} which calls the callback or just clears the timer\n        * @private\n        *\/\n        _delayEvent: (function () {\n            var self = this, timers = {};\n            return function (callback, ms, uniqueId) {\n                if (uniqueId === null) {\n                    throw Error(\"UniqueID needed\");\n                }\n                if (timers[uniqueId]) {\n                    clearTimeout (timers[uniqueId]);\n                }\n                timers[uniqueId] = setTimeout(callback, ms);\n            };\n        })(),\n\n        \/**\n        * Fisher-Yates array shuffling algorithm implemented for JavaScript.\n        * @return {Object[]} shuffled array.\n        * @private\n        *\/\n        _fisherYatesShuffle: function shuffle(array) {\n            var m = array.length, t, i;\n            \/\/ While there remain elements to shuffle\u2026\n            while (m) {\n                \/\/ Pick a remaining element\u2026\n                i = Math.floor(Math.random() * m--);\n                \/\/ And swap it with the current element.\n                t = array[m];\n                array[m] = array[i];\n                array[i] = t;\n            }\n            return array;\n        }\n    };\n\n    \/**\n    * FiltrItem Prototype\n    *\/\n    var FiltrItemProto = {\n\n        \/**\n        * Transforms a jQuery item with .filtr-item class into a FiltrItem.\n        * @param {number} index - initial item order based on position in DOM.\n        * @param {Filterizr} parent - reference to Filterizr container containing this Filtr Item.\n        * @return {jQuery} this - to facilitate method chaining.\n        * @constructor\n        *\/\n        _init: function(index, parent) {\n            var self = this, delay = 0;\n            \/\/Private item properties\n            self._parent   = parent;\t\t\t  \/\/Ref to parent Filterizr object\n            self._category = self._getCategory(); \/\/data-category values\n            self._lastPos  = {};\t\t\t\t  \/\/Used for animations\n            \/\/Public properties - used for sorting\n            self.domIndex = index;\n            self.sortData = self.data('sort');\n            \/\/Item Dimensions used for Bin Packing algorithm (packed layout) and sorting.\n            self.w = 0;\n            self.h = 0;\n            \/\/self states\n            self._isFilteredOut = true;\n            self._filteringOut  = false;\n            self._filteringIn   = false;\n            \/\/Determine delay & set initial item styles\n            self.css(parent.options.filterOutCss)\n            .css({\n                '-webkit-backface-visibility': 'hidden',\n                'perspective': '1000px',\n                '-webkit-perspective': '1000px',\n                '-webkit-transform-style': 'preserve-3d',\n                'position': 'absolute',\n                'transition': 'all ' + parent.options.animationDuration + 's ' + parent.options.easing + ' ' + self._calcDelay() + 'ms'\n            });\n            \/\/Events\n            self.on(\"transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd\", function(){\n                self._onTransitionEnd();\n            });\n            return self;\n        },\n\n        \/**\n        * Updates the dimensions (width\/height) of the item.\n        * @private\n        *\/\n        _updateDimensions: function() {\n            var self = this;\n            self.w = self.outerWidth();\n            self.h = self.outerHeight();\n        },\n\n        \/**\n        * Calculates and returns the value of delay to apply to transition-delay in ms, depending on delayMode\n        * @return {number} value to apply to transition-delay in ms.\n        * @private\n        *\/\n        _calcDelay: function() {\n            var self = this, r = 0;\n            if (self._parent.options.delayMode === 'progressive')\n            r = self._parent.options.delay * self.domIndex;\n            else\n            if (self.domIndex % 2 === 0) r = self._parent.options.delay;\n            return r;\n        },\n\n        \/**\n        * Determines which categories this items belongs to and updates the _lastCategory prop of Filterizr.\n        * @throws {InvalidArgumentException} data-category of .filtr-item elements must be integer or string of integers delimited by ', '\n        * @return {Object[]|number} the categories this item belongs to.\n        * @private\n        *\/\n        _getCategory: function() {\n            var self = this,\n                ret  = self.data('category');\n            \/\/If more than one category provided\n            if (typeof ret === 'string') {\n                ret = ret.split(', ');\n                for (var i = 0; i < ret.length; i++) {\n                    \/\/Error checking: make sure data-category has an integer as its value\n                    if (isNaN(parseInt(ret[i]))) {\n                        throw new Error('Filterizr: the value of data-category must be a number, starting from value 1 and increasing.');\n                    }\n                    if (parseInt(ret[i]) > self._parent._lastCategory) {\n                        self._parent._lastCategory = parseInt(ret[i]);\n                    }\n                }\n            }\n            else {\n                if (ret > self._parent._lastCategory)\n                    self._parent._lastCategory = ret;\n            }\n            return ret;\n        },\n\n        \/**\n        * Handles the transitionEnd event.\n        * @private\n        *\/\n        _onTransitionEnd: function() {\n            var self = this;\n            \/\/finished filtering out\n            if (self._filteringOut) {\n                $(self).addClass('filteredOut');\n                self._isFilteredOut = true;\n                self._filteringOut  = false;\n            }\n            \/\/finished filtering in\n            else if (self._filteringIn) {\n                self._isFilteredOut = false;\n                self._filteringIn \t= false;\n            }\n            \/\/if animating trigger filteringEnd event once on parent\n            if (self._parent._isAnimating) {\n                if (self._parent._isShuffling)\n                    self._parent.trigger('shufflingEnd');\n                else if (self._parent._isSorting)\n                    self._parent.trigger('sortingEnd');\n                else\n                    self._parent.trigger('filteringEnd');\n                self._parent._isAnimating = false;\n            }\n        },\n\n        \/**\n        * Filters out the item.\n        * @private\n        *\/\n        _filterOut: function() {\n            var self         = this,\n                filterOutCss = self._parent._makeDeepCopy(self._parent.options.filterOutCss);\n            \/\/Auto add translate to transform over user-defined filterOut styles\n            filterOutCss.transform += ' translate3d(' + self._lastPos.left + 'px,' + self._lastPos.top + 'px, 0)';\n            \/\/Play animation\n            self.css(filterOutCss);\n            \/\/Make unclickable\n            self.css('pointer-events', 'none');\n            \/\/Tag as filteringOut for transitionend event\n            self._filteringOut = true;\n        },\n\n        \/**\n        * Filters in the item.\n        * @param {Object} targetPos - is the position to move to with transform-translate\n        * @private\n        *\/\n        _filterIn: function(targetPos) {\n            var self        = this,\n                filterInCss = self._parent._makeDeepCopy(self._parent.options.filterInCss);\n            \/\/Remove the filteredOut class\n            $(self).removeClass('filteredOut');\n            \/\/Tag as filtering in for transitionend event\n            self._filteringIn = true;\n            self._lastPos     = targetPos;\n            \/\/Make clickable\n            self.css('pointer-events', 'auto');\n            \/\/Auto add translate to transform over user-defined filterIn styles\n            filterInCss.transform += ' translate3d(' + targetPos.left + 'px,' + targetPos.top + 'px, 0)';\n            \/\/Play animation\n            self.css(filterInCss);\n        }\n    };\n\n})(this, jQuery);\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"[vc_row css_animation=\"\" row_type=\"row\" use_r...","protected":false},"author":1,"featured_media":286,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-269","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"http:\/\/www.miimo.hk\/zh-hant\/wp-json\/wp\/v2\/pages\/269\/"}],"collection":[{"href":"http:\/\/www.miimo.hk\/zh-hant\/wp-json\/wp\/v2\/pages\/"}],"about":[{"href":"http:\/\/www.miimo.hk\/zh-hant\/wp-json\/wp\/v2\/types\/page\/"}],"author":[{"embeddable":true,"href":"http:\/\/www.miimo.hk\/zh-hant\/wp-json\/wp\/v2\/users\/1\/"}],"replies":[{"embeddable":true,"href":"http:\/\/www.miimo.hk\/zh-hant\/wp-json\/wp\/v2\/comments\/?post=269"}],"version-history":[{"count":24,"href":"http:\/\/www.miimo.hk\/zh-hant\/wp-json\/wp\/v2\/pages\/269\/revisions\/"}],"predecessor-version":[{"id":1292,"href":"http:\/\/www.miimo.hk\/zh-hant\/wp-json\/wp\/v2\/pages\/269\/revisions\/1292\/"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.miimo.hk\/zh-hant\/wp-json\/wp\/v2\/media\/286\/"}],"wp:attachment":[{"href":"http:\/\/www.miimo.hk\/zh-hant\/wp-json\/wp\/v2\/media\/?parent=269"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}