File: /var/www/html/wp-content/plugins/themesky/js/themesky.js
jQuery(function($){
"use strict";
ts_register_carousel( null, $ );
/* Elementor Lazy Load */
if( $('.ts-elementor-lazy-load').length ){
var ts_elementor_lazy_load_loaded_widget = []; /* prevent double load same widget */
$(window).on('scroll ts_elementor_lazy_load', function(){
var scroll_top = $(this).scrollTop();
var window_height = $(this).height();
var number_request = 0;
$('.ts-elementor-lazy-load:not(.loaded)').each(function(i, e){
if( $(e).offset().top > scroll_top + window_height + 600 ){
return false;
}
var timeout = number_request * 200 + 10; /* dont show many requests same time */
number_request++;
var el = $(e);
var widget_id = el.closest('.elementor-element[data-id]').attr('data-id');
var widget = $('.elementor-element[data-id="' + widget_id + '"]'); /* may added many */
widget.find('.ts-elementor-lazy-load').addClass('loaded');
var post_id = el.parents('[data-elementor-id]').attr('data-elementor-id');
setTimeout(function(){
if( ts_elementor_lazy_load_loaded_widget.includes( widget_id ) ){
return;
}
ts_elementor_lazy_load_loaded_widget.push( widget_id );
$.ajax({
type : "POST",
timeout : 30000,
url : themesky_params.ajax_uri,
data : {action: 'ts_elementor_lazy_load', widget_id: widget_id, post_id: post_id},
error: function(xhr,err){
},
success: function( response ){
if( response ){
widget.replaceWith( response.data );
/* Generate slider */
_ts_generate_slider_timeout = false;
ts_register_carousel( null, $ );
widget = $('.elementor-element[data-id="' + widget_id + '"]'); /* new widget */
/* Countdown */
if( widget.find('.counter-wrapper').length ){
ts_counter( widget.find('.counter-wrapper') );
}
/* Blog Masonry */
if( widget.find('.ts-blogs-wrapper.ts-masonry').length ){
ts_register_masonry( null, $ );
}
/* Tabs shop more button */
var el_tabs = widget.find('.ts-product-in-category-tab-wrapper');
if( el_tabs.length ){
ts_product_in_category_tab_shop_more_handle( el_tabs, el_tabs.data('atts') );
}
/* Product name min height */
$(window).trigger('ts_product_name_min_height');
$(window).trigger('ts_elementor_lazy_load_loaded', [widget_id]);
}
}
});
}, timeout);
});
});
if( $('#main .ts-elementor-lazy-load').length && $('#main .ts-elementor-lazy-load:first').offset().top < $(window).scrollTop() + $(window).height() ){
$(window).trigger('ts_elementor_lazy_load');
}
if( $('.menu-item.ts-megamenu .ts-elementor-lazy-load').length ){
$('.menu-item.ts-megamenu').on('mouseenter', function(){
$(window).trigger('ts_elementor_lazy_load');
});
}
}
/*** Load Products In Category Tab ***/
var ts_product_in_category_tab_data = [];
/* Change tab */
$(document).on('click', '.ts-product-in-category-tab-wrapper .column-tabs .tab-item, .ts-product-in-product-type-tab-wrapper .column-tabs .tab-item', function(){
var element = $(this).parents('.ts-product-in-category-tab-wrapper');
var is_product_type_tab = false;
if( element.length == 0 ){
element = $(this).parents('.ts-product-in-product-type-tab-wrapper');
is_product_type_tab = true;
}
var element_top = element.offset().top;
if( element_top > $(window).scrollTop() ){
var admin_bar_height = $('#wpadminbar').length > 0?$('#wpadminbar').outerHeight():0;
var sticky_height = $('.is-sticky .header-sticky').length > 0?$('.is-sticky .header-sticky').outerHeight():0;
$('body, html').animate({
scrollTop: element_top - sticky_height - admin_bar_height - 20
}, 500);
}
if( $(this).hasClass('current') || element.find('.column-products').hasClass('loading') ){
return;
}
element.removeClass('generated-slider');
var element_id = element.attr('id');
var atts = element.data('atts');
if( !is_product_type_tab ){
var product_cat = $(this).data('product_cat');
var shop_more_link = $(this).data('link');
var is_general_tab = $(this).hasClass('general-tab')?1:0;
}
else{
if( element.find('.list-categories .cat-item.current').length ){
var product_cat = element.find('.list-categories .cat-item.current').data('product_cat');
}
else{
var product_cat = atts.product_cats;
}
var is_general_tab = 0;
atts.product_type = $(this).data('product_type');
element.find('.column-products').removeClass('recent sale featured best_selling top_rated mixed_order').addClass(atts.product_type);
}
if( !is_product_type_tab && element.find('a.shop-more-button').length > 0 ){
element.find('a.shop-more-button').attr('href', shop_more_link);
}
element.find('.column-tabs .tab-item').removeClass('current');
$(this).addClass('current');
/* Check cache */
var tab_data_index = element_id + '-' + product_cat.toString().split(',').join('-');
if( is_product_type_tab ){
tab_data_index += '-' + atts.product_type;
}
if( ts_product_in_category_tab_data[tab_data_index] != undefined ){
element.find('.column-products .products').remove();
element.find('.column-products').append( ts_product_in_category_tab_data[tab_data_index] ).hide().fadeIn(600);
/* Shop more button handle */
if( !is_product_type_tab ){
ts_product_in_category_tab_shop_more_handle( element, atts );
}
/* Generate slider */
_ts_generate_slider_timeout = false;
ts_register_carousel( element.parent(), $ );
$(window).trigger('ts_product_name_min_height');
return;
}
element.find('.column-products').addClass('loading');
$.ajax({
type : "POST",
timeout : 30000,
url : themesky_params.ajax_uri,
data : {action: 'ts_get_product_content_in_category_tab', atts: atts, product_cat: product_cat, is_general_tab: is_general_tab},
error: function(xhr,err){
},
success: function(response) {
if( response ){
element.find('.column-products .products').remove();
element.find('.column-products').append( response ).hide().fadeIn(600);
/* save cache */
if( element.find('.counter-wrapper').length == 0 ){
ts_product_in_category_tab_data[tab_data_index] = response;
}
else{
ts_counter( element.find('.counter-wrapper') );
}
/* Shop more button handle */
if( !is_product_type_tab ){
ts_product_in_category_tab_shop_more_handle( element, atts );
}
/* Generate slider */
_ts_generate_slider_timeout = false;
ts_register_carousel( element.parent(), $ );
$(window).trigger('ts_product_name_min_height');
}
element.find('.column-products').removeClass('loading');
}
});
});
$(document).on('click', '.ts-product-in-product-type-tab-wrapper .list-categories .cat-item', function(){
if( $(this).hasClass('current') ){
return;
}
$(this).siblings().removeClass('current');
$(this).addClass('current');
var wrapper = $(this).parents('.ts-product-in-product-type-tab-wrapper');
wrapper.find('.column-tabs .tab-item.current').removeClass('current').trigger('click');
});
function ts_product_in_category_tab_shop_more_handle(element, atts){
var hide_shop_more = element.find('.hide-shop-more').length;
element.find('.hide-shop-more').remove();
if( element.find('.tab-item.current').hasClass('general-tab') && atts.show_shop_more_general_tab == 0 ){
hide_shop_more = true;
}
if( element.find('.products .product').length == 0 ){
hide_shop_more = true;
}
if( atts.show_shop_more_button == 1 ){
if( hide_shop_more ){
element.find('.shop-more').addClass('hidden');
element.removeClass('has-shop-more-button');
}
else{
element.find('.shop-more').removeClass('hidden');
element.addClass('has-shop-more-button');
}
}
}
$('.ts-product-in-category-tab-wrapper').each(function(){
var element = $(this);
var atts = element.data('atts');
ts_product_in_category_tab_shop_more_handle( element, atts );
});
/*** List of Product Categories ***/
$('.ts-list-of-product-categories-wrapper .nav-button').on('click', function(){
var scroll_wrap = $(this).parents('.list-categories');
var action = $(this).data('action');
var scroll_left = scroll_wrap.get(0).scrollLeft;
scroll_left += action == 'prev' ? -150 : 150;
scroll_wrap.animate({
scrollLeft: scroll_left
}, 200);
});
$('.ts-list-of-product-categories-wrapper.style-horizontal').each(function(){
var scroll_wrap = $(this).find('.list-categories');
if( scroll_wrap.get(0).scrollWidth > scroll_wrap.width() ){
scroll_wrap.find('.nav-button').show();
}
});
/*** Blog Shortcode ***/
$(document).on('click', '.ts-blogs-wrapper a.load-more', function(){
var element = $(this).parents('.ts-blogs-wrapper');
var atts = element.data('atts');
var is_masonry = typeof $.fn.isotope == 'function' && element.hasClass('ts-masonry') ? true : false;
var button = $(this);
if( button.hasClass('loading') ){
return false;
}
button.addClass('loading');
var paged = button.attr('data-paged');
var total_pages = button.attr('data-total_pages');
$.ajax({
type : "POST",
timeout : 30000,
url : themesky_params.ajax_uri,
data : {action: 'ts_blogs_load_items', paged: paged, atts : atts},
error: function(xhr,err){
},
success: function(response) {
if( paged == total_pages ){
button.parent().remove();
}
else{
button.removeClass('loading');
button.attr('data-paged', ++paged);
}
if( response != 0 && response != '' ){
if( is_masonry ){
element.find('.blogs').isotope('insert', $(response));
setTimeout(function(){
element.find('.blogs').isotope('layout');
}, 500);
}
else{
element.find('.blogs').append(response);
}
ts_register_carousel( element.parent(), $ );
}
else{ /* No results */
button.parent().remove();
}
}
});
return false;
});
/*** Reload SoundCloud ***/
setTimeout(function(){
$('.owl-item .ts-soundcloud iframe').each(function(){
var iframe = $(this);
var src = iframe.attr('src');
iframe.attr('src', src);
});
}, 200);
/*** Counter ***/
ts_counter( $('.product .counter-wrapper, .ts-countdown .counter-wrapper') );
/*** Portfolio ***/
$('.ts-portfolio-wrapper .load-more').on('click', function(){
var element = $(this).parents('.ts-portfolio-wrapper');
var atts = element.data('atts');
var button = $(this);
if( button.hasClass('loading') ){
return false;
}
button.addClass('loading');
var paged = button.attr('data-paged');
var total_pages = button.attr('data-total_pages');
$.ajax({
type : "POST",
timeout : 30000,
url : themesky_params.ajax_uri,
data : {action: 'ts_portfolio_load_items', paged: paged, atts : atts},
error: function(xhr,err){
},
success: function(response) {
if( paged == total_pages ){
button.parent().remove();
}
else{
button.removeClass('loading');
button.attr('data-paged', ++paged);
}
if( response != 0 && response != '' ){
if( typeof $.fn.isotope == 'function' ){
element.find('.portfolio-inner').isotope('insert', $(response));
element.find('.filter-bar li.current').trigger('click');
setTimeout(function(){
element.find('.portfolio-inner').isotope('layout');
}, 500);
}
}
else{ /* No results */
button.parent().remove();
}
}
});
return false;
});
$('.ts-portfolio-wrapper .filter-bar li').on('click', function(){
$(this).siblings('li').removeClass('current');
$(this).addClass('current');
var container = $(this).parents('.ts-portfolio-wrapper').find('.portfolio-inner');
var data_filter = $(this).data('filter');
container.isotope({filter: data_filter});
});
/* Update like */
$(document).on('click', '.ts-portfolio-wrapper .portfolio-meta .like, .single-portfolio .portfolio-like .ic-like', function(e){
var _this = $(this);
if( _this.hasClass('loading') ){
return false;
}
_this.addClass('loading');
var already_like = _this.hasClass('already-like');
var is_single = _this.hasClass('ic-like');
var post_id = _this.data('post_id');
$.ajax({
type : "POST",
timeout : 30000,
url : themesky_params.ajax_uri,
data : {action: 'ts_portfolio_update_like', post_id: post_id},
error: function(xhr,err){
_this.removeClass('loading');
},
success: function(response) {
if( response != '' ){
if( already_like ){
_this.removeClass('already-like');
if( !is_single ){
_this.attr('title', _this.data('like-title'));
}
}
else{
_this.addClass('already-like');
if( !is_single ){
_this.attr('title', _this.data('liked-title'));
}
}
if( is_single ){
var single_plural = '1' == response ? 'single' : 'plural';
response += ' ' + _this.siblings('.like-num').data(single_plural);
_this.siblings('.like-num').text(response);
}
}
_this.removeClass('loading');
}
});
return false;
});
/*** Widgets ***/
/* Custom WP Widget Categories Dropdown */
$('.widget_categories > ul').each(function(index, ele){
var _this = $(ele);
var icon_toggle_html = '<span class="icon-toggle"></span>';
var ul_child = _this.find('ul.children');
ul_child.hide();
ul_child.closest('li').addClass('cat-parent');
ul_child.before( icon_toggle_html );
});
$('.widget_categories span.icon-toggle').on('click', function(){
var parent_li = $(this).parent('li.cat-parent');
if( !parent_li.hasClass('active') ){
parent_li.find('ul.children:first').slideDown();
parent_li.addClass('active');
}
else{
parent_li.find('ul.children').slideUp();
parent_li.removeClass('active');
parent_li.find('li.cat-parent').removeClass('active');
}
});
$('.widget_categories li.current-cat').parents('ul.children').siblings('.icon-toggle').trigger('click');
$('.widget_categories li.current-cat.cat-parent > .icon-toggle').trigger('click');
/* Product Categories widget */
$('.ts-product-categories-widget .icon-toggle').on('click', function(){
var parent_li = $(this).parent('li.cat-parent');
if( !parent_li.hasClass('active') ){
parent_li.addClass('active');
parent_li.find('ul.children:first').slideDown();
}
else{
parent_li.find('ul.children').slideUp();
parent_li.removeClass('active');
parent_li.find('li.cat-parent').removeClass('active');
}
});
$('.ts-product-categories-widget').each(function(){
var element = $(this);
element.find('ul.children').parent('li').addClass('cat-parent');
element.find('li.current.cat-parent > .icon-toggle').trigger('click');
element.find('li.current').parents('ul.children').siblings('.icon-toggle').trigger('click');
});
$('.ts-product-categories-widget .all-categories > span').on('click', function(){
$(this).toggleClass('active');
$(this).siblings().slideToggle();
});
/* Product Filter By Availability */
$('.product-filter-by-availability-wrapper > ul input[type="checkbox"]').on('change', function(){
$(this).parent('li').siblings('li').find('input[type="checkbox"]').attr('checked', false);
var val = '';
if( $(this).is(':checked') ){
val = $(this).val();
}
var form = $(this).closest('ul').siblings('form');
if( val != '' ){
form.find('input[name="stock"]').val(val);
}
else{
form.find('input[name="stock"]').remove();
}
form.submit();
});
/* Product Filter By Brand */
$('.product-filter-by-brand-wrapper ul input[type="checkbox"]').on('change', function(){
var wrapper = $(this).parents('.product-filter-by-brand-wrapper');
var query_type = wrapper.find('> .query-type').val();
var checked = $(this).is(':checked');
var val = new Array();
if( query_type == 'or' ){
wrapper.find('ul input[type="checkbox"]').attr('checked', false);
if( checked ){
$(this).off('change');
$(this).attr('checked', true);
val.push( $(this).val() );
}
}
else{
wrapper.find('ul input[type="checkbox"]:checked').each(function(index, ele){
val.push( $(ele).val() );
});
}
val = val.join(',');
var form = wrapper.find('form');
if( val != '' ){
form.find('input[name="product_brand"]').val( val );
}
else{
form.find('input[name="product_brand"]').remove();
}
form.submit();
});
});
function zeroise( str, max ){
str = str.toString();
return str.length < max ? zeroise('0' + str, max) : str;
}
function ts_counter( elements ){
if( elements.length ){
var interval = setInterval(function(){
elements.each(function(index, element){
var wrapper = jQuery(element);
var second = parseInt( wrapper.find('.seconds .number').text() );
if( second > 0 ){
second--;
second = ( second < 10 )? zeroise(second, 2) : second.toString();
wrapper.find('.seconds .number').text(second);
return;
}
var delta = 0;
var time_day = 60 * 60 * 24;
var time_hour = 60 * 60;
var time_minute = 60;
var day = parseInt( wrapper.find('.days .number').text() );
var hour = parseInt( wrapper.find('.hours .number').text() );
var minute = parseInt( wrapper.find('.minutes .number').text() );
if( day != 0 || hour != 0 || minute != 0 || second != 0 ){
delta = (day * time_day) + (hour * time_hour) + (minute * time_minute) + second;
delta--;
day = Math.floor(delta / time_day);
delta -= day * time_day;
hour = Math.floor(delta / time_hour);
delta -= hour * time_hour;
minute = Math.floor(delta / time_minute);
delta -= minute * time_minute;
second = delta > 0?delta:0;
day = ( day < 10 )? zeroise(day, 2) : day.toString();
hour = ( hour < 10 )? zeroise(hour, 2) : hour.toString();
minute = ( minute < 10 )? zeroise(minute, 2) : minute.toString();
second = ( second < 10 )? zeroise(second, 2) : second.toString();
wrapper.find('.days .number').text(day);
wrapper.find('.hours .number').text(hour);
wrapper.find('.minutes .number').text(minute);
wrapper.find('.seconds .number').text(second);
}
});
}, 1000);
}
}
class TS_Carousel{
register( $scope, $ ){
var carousel = this;
/* [wrapper selector, slider selector, slider options (remove dynamic columns at last)] */
var data = [
['.ts-product-wrapper', '.products', { responsive:{0:{items:1},320:{items:2},510:{items:3},690:{items:4}} }]
,['.ts-product-deals-wrapper', '.products', { responsive:{0:{items:1},320:{items:2},610:{items:3},810:{items:4}} }]
,['.ts-product-category-wrapper', '.products', { responsive:{0:{items:1},440:{items:2},510:{items:3},690:{items:4}} }]
,['.ts-product-brand-wrapper', '.content-wrapper', { responsive:{0:{items:1},300:{items:2},690:{items:3}} }]
,['.ts-products-widget-wrapper', null, { margin: 10, responsive:{0:{items:1}} }]
,['.ts-blogs-wrapper', '.content-wrapper > .blogs', { responsive:{0:{items:1},570:{items:2},690:{items:3}} }]
,['.ts-logo-slider-wrapper', '.items', { responsive:{0:{items:1},300:{items:2},400:{items:3},640:{items:4},810:{items:5}} }]
,['.ts-team-members', '.items', { responsive:{0:{items:1},350:{items:2},690:{items:3}} }]
,['.ts-instagram-wrapper', '.items', { margin: 10, responsive: {0:{items:1},320:{items:2},500:{items:3},690:{items:4}} }]
,['.ts-portfolio-wrapper', '.portfolio-inner', { responsive: {0:{items:1},500:{items:2},810:{items:3}} }]
,['.ts-blogs-widget-wrapper', null, { margin: 10, responsive: {0:{items:1}} }]
,['.ts-recent-comments-widget-wrapper', null, { margin: 10, responsive: {0:{items:1}} }]
,['.ts-product-in-category-tab-wrapper, .ts-product-in-product-type-tab-wrapper', '.products', { responsive:{0:{items:1},320:{items:2},510:{items:3},690:{items:4}} }]
,['.ts-blogs-wrapper .thumbnail.gallery', 'figure', { nav: true, animateIn: 'fadeIn', animateOut: 'fadeOut', margin: 10, mouseDrag: false, touchDrag: false, responsive:{0:{items:1}} }]
];
$.each(data, function(index, value){
carousel.run( value, $ );
});
}
run( data, $ ){
$(data[0]).each(function(){
if( ! $(this).hasClass('ts-slider') || $(this).hasClass('generated-slider') ){
return;
}
$(this).addClass('generated-slider');
var element = $(this);
var show_nav = typeof element.attr('data-nav') != 'undefined' && element.attr('data-nav') == 1?true:false;
var show_dots = typeof element.attr('data-dots') != 'undefined' && element.attr('data-dots') == 1?true:false;
var auto_play = typeof element.attr('data-autoplay') != 'undefined' && element.attr('data-autoplay') == 1?true:false;
var columns = typeof element.attr('data-columns') != 'undefined'?parseInt(element.attr('data-columns')):5;
var disable_responsive = typeof element.attr('data-disable_responsive') != 'undefined' && element.attr('data-disable_responsive') == 1?true:false;
var prev_nav_text = typeof element.attr('data-prev_nav_text') != 'undefined'?element.attr('data-prev_nav_text'):'';
var next_nav_text = typeof element.attr('data-next_nav_text') != 'undefined'?element.attr('data-next_nav_text'):'';
var responsive_base = typeof data[1] != 'undefined' && data[1] != null ? element.find(data[1]) : element;
var slider_options = {
loop: true
,nav: show_nav
,navText: [prev_nav_text, next_nav_text]
,dots: show_dots
,navSpeed: 1000
,rtl: $('body').hasClass('rtl')
,margin: 0
,navRewind: false
,autoplay: auto_play
,autoplayHoverPause: true
,autoplaySpeed: 1000
,responsiveBaseElement: responsive_base
,responsiveRefreshRate: 400
,responsive:{0:{items:1},320:{items:2},580:{items:3},810:{items:columns}}
,onInitialized: function(){
element.removeClass('loading');
element.find('.loading').removeClass('loading');
}
};
if( typeof data[2] != 'undefined' && data[2] != null ){
$.extend( slider_options, data[2] );
if( typeof data[2].responsive != 'undefined' ){ /* change responsive => add dynamic columns at last */
switch( data[0] ){
case '.ts-product-deals-wrapper':
case '.ts-blogs-wrapper':
case '.ts-product-wrapper':
if( element.hasClass('show-counter') ){
slider_options.responsive = {0:{items:1},500:{items:2},690:{items:3}};
}
slider_options.responsive[810] = {items:columns};
if( element.hasClass('item-layout-list') ){
slider_options.responsive = {0:{items:1},320:{items:2},1200:{items:columns}};
}
break;
case '.ts-product-category-wrapper':
case '.ts-product-brand-wrapper':
slider_options.responsive[810] = {items:columns};
break;
case '.ts-team-members':
slider_options.responsive[810] = {items:columns};
break;
case '.ts-instagram-wrapper':
case '.ts-portfolio-wrapper':
slider_options.responsive[1170] = {items:columns};
break;
case '.ts-product-in-category-tab-wrapper, .ts-product-in-product-type-tab-wrapper':
slider_options.responsive[810] = {items:columns};
break;
default:
}
}
}
if( element.hasClass('use-logo-setting') ){ /* Product Brands - Logos */
var break_point = element.data('break_point');
var item = element.data('item');
if( break_point.length > 0 ){
slider_options.responsive = {};
for( var i = 0; i < break_point.length; i++ ){
slider_options.responsive[break_point[i]] = {items: item[i]};
}
}
}
if( disable_responsive ){
slider_options.responsive = {0:{items:columns}};
}
if( columns == 1 ){
slider_options.responsive = {0:{items:1},320:{items:2},700:{items:3}};
}
if( typeof data[1] != 'undefined' && data[1] != null ){
element.find(data[1]).owlCarousel( slider_options );
}
else{
element.owlCarousel( slider_options );
}
});
}
}
var _ts_generate_slider_timeout = true;
function ts_register_carousel( $scope, $ ){
var carousel = new TS_Carousel();
if( _ts_generate_slider_timeout ){
setTimeout(function(){
carousel.register( $scope, $ );
}, 100);
}
else{
carousel.register( $scope, $ );
}
}
function ts_register_masonry( $scope, $ ){
if( typeof $.fn.isotope == 'function' ){
/* Blog */
$('.ts-blogs-wrapper.ts-masonry .blogs').isotope();
$('.ts-blogs-wrapper.ts-masonry').removeClass('loading');
/* Portfolio */
$('.ts-portfolio-wrapper.ts-masonry .portfolio-inner').isotope({filter: '*'});
$('.ts-portfolio-wrapper.ts-masonry').removeClass('loading');
}
}
jQuery(window).on('elementor/frontend/init', function(){
var elements = ['ts-products', 'ts-product-deals', 'ts-product-categories', 'ts-product-brands', 'ts-blogs'
,'ts-logos', 'ts-team-members', 'ts-testimonial', 'ts-portfolios'
,'ts-products-in-category-tabs', 'ts-products-in-product-type-tabs'
,'wp-widget-ts_products', 'wp-widget-ts_blogs', 'wp-widget-ts_recent_comments', 'wp-widget-ts_instagram'];
jQuery.each(elements, function(index, name){
elementorFrontend.hooks.addAction( 'frontend/element_ready/' + name + '.default', ts_register_carousel );
});
elements = ['ts-blogs', 'ts-portfolios'];
jQuery.each(elements, function(index, name){
elementorFrontend.hooks.addAction( 'frontend/element_ready/' + name + '.default', ts_register_masonry );
});
});