// source --> https://www.sunshoreboston.com/wp-content/plugins/trx_addons/js/__scripts.js 
/* ATTENTION! This file was generated automatically! Don't change it!!!
----------------------------------------------------------------------- */
 (function() { "use strict"; var $window = jQuery( window ), $document = jQuery( document ), $html_dom = document.querySelector('html'), $adminbar = jQuery( '#wpadminbar' ), $body = jQuery( 'body' ); window.dcl === undefined && ( window.dcl = function(s) { console.log(s); } ); window.dcs === undefined && ( window.dcs = function() { console.trace(); } ); window.dcts === undefined && ( window.dcts = function( name ) { console.time( name ? name : 'timer' ); } ); window.dctl === undefined && ( window.dctl = function( name ) { console.timeLog( name ? name : 'timer' ); } ); window.dcte === undefined && ( window.dcte = function( name ) { console.timeEnd( name ? name : 'timer' ); } ); window.trx_addons_get_cookie = function(name) { var defa = arguments[1] !== undefined ? arguments[1] : null; var start = document.cookie.indexOf(name + '='); var len = start + name.length + 1; if ((!start) && (name != document.cookie.substring(0, name.length))) { return defa; } if (start == -1) { return defa; } var end = document.cookie.indexOf(';', len); if (end == -1) { end = document.cookie.length; } return decodeURIComponent(document.cookie.substring(len, end)); }; window.trx_addons_set_cookie = function(name, value) { var expires = arguments[2] !== undefined ? arguments[2] : 0; var path = arguments[3] !== undefined ? arguments[3] : '/'; var domain = arguments[4] !== undefined ? arguments[4] : ''; var secure = arguments[5] !== undefined ? arguments[5] : ''; var samesite = arguments[6] !== undefined ? arguments[6] : 'strict'; var today = new Date(); today.setTime(today.getTime()); var expires_date = new Date(today.getTime() + (expires * 1)); document.cookie = encodeURIComponent(name) + '=' + encodeURIComponent(value) + (expires ? ';expires=' + expires_date.toGMTString() : '') + (path ? ';path=' + path : '') + (domain ? ';domain=' + domain : '') + (secure ? ';secure' : '') + (samesite ? ';samesite=' + samesite : ''); }; window.trx_addons_del_cookie = function(name) { var path = arguments[1] !== undefined ? arguments[1] : '/'; var domain = arguments[2] !== undefined ? arguments[2] : ''; var secure = arguments[3] !== undefined ? arguments[3] : ''; var samesite = arguments[4] !== undefined ? arguments[4] : 'strict'; if ( trx_addons_get_cookie(name) ) { document.cookie = encodeURIComponent(name) + '=' + ';expires=Thu, 01-Jan-1970 00:00:01 GMT' + (path ? ';path=' + path : '') + (domain ? ';domain=' + domain : '') + (secure ? ';secure' : '') + (samesite ? ';samesite=' + samesite : ''); } }; window.trx_addons_is_local_storage_exists = function() { try { return 'localStorage' in window && window['localStorage'] !== null; } catch (e) { return false; } }; window.trx_addons_get_storage = function(name) { var defa = arguments[1] !== undefined ? arguments[1] : null; var val = null; if (trx_addons_is_local_storage_exists()) { val = window['localStorage'].getItem(name); if (val === null) val = defa; } else { val = trx_addons_get_cookie(name, defa); } return val; }; window.trx_addons_set_storage = function(name, value) { if (trx_addons_is_local_storage_exists()) window['localStorage'].setItem(name, value); else trx_addons_set_cookie(name, value, 365 * 24 * 60 * 60 * 1000); }; window.trx_addons_del_storage = function(name) { if (trx_addons_is_local_storage_exists()) window['localStorage'].removeItem(name); else trx_addons_del_cookie(name); }; window.trx_addons_clear_storage = function() { if (trx_addons_is_local_storage_exists()) window['localStorage'].clear(); }; window.trx_addons_copy_to_clipboard = function(str, strip_tags) { var selected = document.getSelection().rangeCount > 0 ? document.getSelection().getRangeAt(0) : false; if ( typeof str == 'object' && str.length ) { str = str.is( 'textarea' ) ? str.val() : str.html(); } if ( strip_tags ) { str = str.replace(/<[^>]+>/g, ''); } var el = document.createElement('textarea'); el.value = str; el.setAttribute('readonly', ''); el.style.position = 'absolute'; el.style.left = '-9999px'; document.body.appendChild(el); el.select(); document.execCommand('copy'); document.body.removeChild(el); if (selected) { document.getSelection().removeAllRanges(); document.getSelection().addRange(selected); } }; window.trx_addons_clear_listbox = function(box) { for (var i=box.options.length-1; i >= 0; i--) box.options[i] = null; }; window.trx_addons_add_listbox_item = function(box, val, text) { var item = new Option(); item.value = val; item.text = text; box.options.add(item); }; window.trx_addons_del_listbox_item_by_value = function(box, val) { for (var i=0; i < box.options.length; i++) { if (box.options[i].value == val) { box.options[i] = null; break; } } }; window.trx_addons_del_listbox_item_by_text = function(box, txt) { for (var i=0; i < box.options.length; i++) { if (box.options[i].text == txt) { box.options[i] = null; break; } } }; window.trx_addons_find_listbox_item_by_value = function(box, val) { var idx = -1; for (var i=0; i < box.options.length; i++) { if (box.options[i].value == val) { idx = i; break; } } return idx; }; window.trx_addons_find_listbox_item_by_text = function(box, txt) { var idx = -1; for (var i=0; i < box.options.length; i++) { if (box.options[i].text == txt) { idx = i; break; } } return idx; }; window.trx_addons_select_listbox_item_by_value = function(box, val) { for (var i = 0; i < box.options.length; i++) { box.options[i].selected = (val == box.options[i].value); } }; window.trx_addons_select_listbox_item_by_text = function(box, txt) { for (var i = 0; i < box.options.length; i++) { box.options[i].selected = (txt == box.options[i].text); } }; window.trx_addons_get_listbox_values = function(box) { var delim = arguments[1] ? arguments[1] : ','; var str = ''; for (var i=0; i < box.options.length; i++) { str += (str ? delim : '') + box.options[i].value; } return str; }; window.trx_addons_get_listbox_texts = function(box) { var delim = arguments[1] ? arguments[1] : ','; var str = ''; for (var i=0; i < box.options.length; i++) { str += (str ? delim : '') + box.options[i].text; } return str; }; window.trx_addons_sort_listbox = function(box) { var temp_opts = new Array(); var temp = new Option(); for(var i=0; i<box.options.length; i++) { temp_opts[i] = box.options[i].clone(); } for(var x=0; x<temp_opts.length-1; x++) { for(var y=(x+1); y<temp_opts.length; y++) { if (temp_opts[x].text > temp_opts[y].text) { temp = temp_opts[x]; temp_opts[x] = temp_opts[y]; temp_opts[y] = temp; } } } for(i=0; i<box.options.length; i++) { box.options[i] = temp_opts[i].clone(); } }; window.trx_addons_get_listbox_selected_index = function(box) { for (var i = 0; i < box.options.length; i++) { if (box.options[i].selected) { return i; } } return -1; }; window.trx_addons_get_listbox_selected_value = function(box) { for (var i = 0; i < box.options.length; i++) { if (box.options[i].selected) { return box.options[i].value; } } return null; }; window.trx_addons_get_listbox_selected_text = function(box) { for (var i = 0; i < box.options.length; i++) { if (box.options[i].selected) { return box.options[i].text; } } return null; }; window.trx_addons_get_listbox_selected_option = function(box) { for (var i = 0; i < box.options.length; i++) { if (box.options[i].selected) { return box.options[i]; } } return null; }; window.trx_addons_get_radio_value = function(radioGroupObj) { for (var i=0; i < radioGroupObj.length; i++) { if (radioGroupObj[i].checked) { return radioGroupObj[i].value; } } return null; }; window.trx_addons_set_radio_checked_by_num = function(radioGroupObj, num) { for (var i=0; i < radioGroupObj.length; i++) { if (radioGroupObj[i].checked && i!=num) { radioGroupObj[i].checked=false; } else if (i==num) { radioGroupObj[i].checked=true; } } }; window.trx_addons_set_radio_checked_by_value = function(radioGroupObj, val) { for (var i=0; i < radioGroupObj.length; i++) { if (radioGroupObj[i].checked && radioGroupObj[i].value!=val) { radioGroupObj[i].checked=false; } else if (radioGroupObj[i].value==val) { radioGroupObj[i].checked=true; } } }; window.trx_addons_form_validate = function(form, opt) { if (typeof(opt.error_message_show)=='undefined') opt.error_message_show = true; if (typeof(opt.error_message_time)=='undefined') opt.error_message_time = 5000; if (typeof(opt.error_message_class)=='undefined') opt.error_message_class = 'trx_addons_message_box_error'; if (typeof(opt.success_message_class)=='undefined') opt.success_message_class = 'trx_addons_message_box_success'; if (typeof(opt.error_message_text)=='undefined') opt.error_message_text = 'Incorrect data in the fields!'; if (typeof(opt.error_fields_class)=='undefined') opt.error_fields_class = 'trx_addons_field_error'; if (typeof(opt.exit_after_first_error)=='undefined') opt.exit_after_first_error = false; var error_msg = ''; form.find(":input").each(function() { if (error_msg !== '' && opt.exit_after_first_error) return; for (var i = 0; i < opt.rules.length; i++) { if (jQuery(this).attr("name") == opt.rules[i].field) { var val = jQuery(this).val(); var error = false; if (typeof(opt.rules[i].min_length) == 'object') { if (opt.rules[i].min_length.value > 0 && val.length < opt.rules[i].min_length.value) { if (error_msg === '') jQuery(this).get(0).focus(); error_msg += '<p class="trx_addons_error_item">' + (typeof(opt.rules[i].min_length.message)!='undefined' ? opt.rules[i].min_length.message : opt.error_message_text ) + '</p>'; error = true; } } if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].max_length) == 'object') { if (opt.rules[i].max_length.value > 0 && val.length > opt.rules[i].max_length.value) { if (error_msg === '') jQuery(this).get(0).focus(); error_msg += '<p class="trx_addons_error_item">' + (typeof(opt.rules[i].max_length.message)!='undefined' ? opt.rules[i].max_length.message : opt.error_message_text ) + '</p>'; error = true; } } if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].mask) == 'object') { if (opt.rules[i].mask.value !== '') { var regexp = new RegExp(opt.rules[i].mask.value); if (!regexp.test(val)) { if (error_msg === '') jQuery(this).get(0).focus(); error_msg += '<p class="trx_addons_error_item">' + (typeof(opt.rules[i].mask.message)!='undefined' ? opt.rules[i].mask.message : opt.error_message_text ) + '</p>'; error = true; } } } if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].state) == 'object') { if (opt.rules[i].state.value=='checked' && !jQuery(this).get(0).checked) { if (error_msg === '') jQuery(this).get(0).focus(); error_msg += '<p class="trx_addons_error_item">' + (typeof(opt.rules[i].state.message)!='undefined' ? opt.rules[i].state.message : opt.error_message_text ) + '</p>'; error = true; } } if ((!error || !opt.exit_after_first_error) && typeof(opt.rules[i].equal_to) == 'object') { if (opt.rules[i].equal_to.value !== '' && val!=jQuery(jQuery(this).get(0).form[opt.rules[i].equal_to.value]).val()) { if (error_msg === '') jQuery(this).get(0).focus(); error_msg += '<p class="trx_addons_error_item">' + (typeof(opt.rules[i].equal_to.message)!='undefined' ? opt.rules[i].equal_to.message : opt.error_message_text ) + '</p>'; error = true; } } if (opt.error_fields_class !== '') jQuery(this).toggleClass(opt.error_fields_class, error); } } }); if (error_msg !== '' && opt.error_message_show) { var error_message_box = form.find(".trx_addons_message_box"); if (error_message_box.length === 0) error_message_box = form.parent().find(".trx_addons_message_box"); if (error_message_box.length === 0) { form.append('<div class="trx_addons_message_box"></div>'); error_message_box = form.find(".trx_addons_message_box"); } else error_message_box.removeClass(opt.success_message_class); if (opt.error_message_class) error_message_box.addClass(opt.error_message_class); error_message_box.html(error_msg).fadeIn(); setTimeout(function() { error_message_box.fadeOut(); }, opt.error_message_time); } return error_msg !== ''; }; function trx_addons_compare_lists( list1, list2 ) { var result = list1.length == list2.length; if ( result ) { for ( var i in list1 ) { if ( ! list2.hasOwnProperty(i) || list1[i] != list2[i] ) { result = false; break; } } } return result; } var _trx_addons_refresh_list_cache = {}; window.trx_addons_refresh_list = function( parent_type, parent_val, list_fld, list_lbl, list_not_selected, elementor_obj ) { if ( list_not_selected === undefined ) { list_not_selected = list_fld.data('not-selected') === true || list_fld.parents('.vc_edit-form-tab').length > 0 || list_fld.parents('#elementor-controls').length > 0 || list_fld.parents('[class*="widget_field_type_"]').length > 0 || list_fld.parents('.widget-liquid-right').length > 0 || list_fld.parents('.widgets-holder-wrap').length > 0 || list_fld.parents('.customize-control-widget_form').length > 0; } var list_val = elementor_obj && list_fld.data( 'setting' ) ? elementor_obj.model.getSetting( list_fld.data( 'setting' ) ) : list_fld.val(); list_val = ',' + list_val + ','; if ( list_lbl.find('.trx_addons_refresh').length === 0 ) { list_lbl.append('<span class="trx_addons_refresh trx_addons_icon-spin3 animate-spin"></span>'); } if ( parent_val ) { var cache_key = ( typeof parent_val == 'object' ? JSON.stringify( parent_val ) : parent_val ) + '_' + parent_type; if ( _trx_addons_refresh_list_cache[cache_key] !== undefined ) { trx_addons_refresh_field_items( _trx_addons_refresh_list_cache[cache_key] ); } else { var data = { action: 'trx_addons_refresh_list', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], parent_type: parent_type, parent_value: parent_val, list_not_selected: list_not_selected }; jQuery.post( TRX_ADDONS_STORAGE['ajax_url'], data, function(response) { var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } if ( rez.error === '' ) { _trx_addons_refresh_list_cache[cache_key] = rez.data; trx_addons_refresh_field_items( rez.data ); } } ); } } else { var args = []; if ( list_not_selected ) { var list_type = list_fld.prop('tagName').toLowerCase(); if ( list_type == 'select' ) { var opt = list_fld.find( 'option' ).eq(0); if ( opt.length > 0 ) { args[0] = { key: opt.val(), value: opt.text() }; } } } trx_addons_refresh_field_items( args ); } function trx_addons_refresh_field_items( data ) { var list = {}; var opt_list = ''; var list_type = list_fld.prop('tagName').toLowerCase(); var list_name = list_type == 'select' ? ( list_fld.attr('name') ? list_fld.attr('name') : list_fld.data('setting') ) : list_fld.data('field_name'); if ( data.length === 0 ) { data = [ { key: 0, value: '' } ]; } for ( var i in data ) { if ( list_type != 'select' && data[i]['key'] == 0 ) { continue; } list[ data[i]['key'] ] = data[i]['value']; opt_list += list_type == 'select' ? '<option class="'+data[i]['key']+'"' + ' value="'+data[i]['key']+'"' + ( list_val.indexOf( ',' + ( '' + data[i]['key'] ).trim() + ',' ) >= 0 || list_val.indexOf( ',' + ( '' + data[i]['key'] ).trim() + ' ,' ) >= 0 ? ' selected="selected"' : '' ) + '>' + data[i]['value'] + '</option>' : '<label><input type="checkbox"' + ' value="' + data[i]['key'] + '"' + ' name="' + list_name + '"' + '>' + data[i]['value'] + '</label>'; } list_fld.html( opt_list ); if ( list_type == 'select' && list_fld.find('option:selected').length === 0 && list_fld.find('option').length > 0 ) { list_fld.find('option').get(0).selected = true; } var need_refresh = true; if ( elementor_obj ) { need_refresh = ! trx_addons_compare_lists( elementor_obj.view.container.controls[ list_name ].options, list ); if ( need_refresh ) { elementor_obj.view.container.controls[ list_name ].options = list; } } list_lbl.find('span.trx_addons_refresh').remove(); if ( list_fld.data( 'select2' ) ) { setTimeout( function() { list_fld.parent().find('input.select2-search__field[placeholder]').removeAttr( 'placeholder' ); }, 1 ); } if ( need_refresh ) { list_fld.trigger('change'); } else { list_fld.trigger('change.trx_addons_refresh_list'); } } return false; }; var _window_width = $window.width(), _window_height = $window.height(), _window_scroll_top = $window.scrollTop(), _window_scroll_left = $window.scrollLeft(); $window.on( 'resize', function() { _window_width = $window.width(); _window_height = $window.height(); _window_scroll_top = $window.scrollTop(); _window_scroll_left = $window.scrollLeft(); } ); $window.on( 'scroll', function() { _window_scroll_top = $window.scrollTop(); _window_scroll_left = $window.scrollLeft(); } ); window.trx_addons_window_width = function( val ) { if ( val ) _window_width = val; return _window_width; }; window.trx_addons_window_height = function( val ) { if ( val ) _window_height = val; return _window_height; }; window.trx_addons_window_scroll_top = function() { return _window_scroll_top; }; window.trx_addons_window_scroll_left = function() { return _window_scroll_left; }; var _document_height; var _document_height_first_run = true; var _update_document_height = function( e ) { if ( _document_height_first_run && e && e.namespace == 'init_hidden_elements' ) { _document_height_first_run = false; return; } _document_height = $document.height(); }; $document.ready( _update_document_height ); $document.on( 'action.init_hidden_elements action.got_ajax_response', _update_document_height ); $window.on( 'resize', _update_document_height ); window.trx_addons_document_height = function() { return _document_height; }; var _adminbar_height = 0; var _update_adminbar_height = function() { _adminbar_height = trx_addons_adminbar_height_calc(); }; $document.ready( _update_adminbar_height ); $window.on( 'resize', _update_adminbar_height ); window.trx_addons_adminbar_height_calc = function() { return trx_addons_apply_filters( 'trx_addons_filter_adminbar_height', $adminbar.length === 0 || $adminbar.css( 'display' ) == 'none' || $adminbar.css( 'position' ) == 'absolute' ? 0 : $adminbar.height() ); }; window.trx_addons_adminbar_height = function() { return _adminbar_height; }; var $fixed_rows = false, _fixed_rows_height = 0; var _update_fixed_rows = function() { if ( $fixed_rows === false ) { $fixed_rows = jQuery( '.sc_layouts_row_fixed'); } _fixed_rows_height = trx_addons_fixed_rows_height_calc(); $html_dom.style.setProperty( '--fixed-rows-height', ( _fixed_rows_height + trx_addons_adminbar_height() ) + 'px' ); }; $document.ready( _update_fixed_rows ); $document.on('action.ready_trx_addons action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', _update_fixed_rows ); $window.on( 'resize', _update_fixed_rows ); window.trx_addons_fixed_rows_height_calc = function() { var oft = 0; if ( $fixed_rows.length > 0 ) { var $fixed_on = $fixed_rows.filter( '.sc_layouts_row_fixed_on' ); if ( $fixed_on.length > 0 && ! $body.hasClass( 'hide_fixed_rows' ) ) { $fixed_on.each( function() { var $row = jQuery( this ); if ( $row.css( 'position' ) == 'fixed' ) { oft += $row.outerHeight(); } } ); } } return trx_addons_apply_filters( 'trx_addons_filter_fixed_rows_height', oft ); }; window.trx_addons_fixed_rows_height = function() { var with_admin_bar = arguments.length > 0 ? arguments[0] : true, with_fixed_rows = arguments.length > 1 ? arguments[1] : true; return ( with_admin_bar ? trx_addons_adminbar_height() : 0 ) + ( with_fixed_rows ? _fixed_rows_height : 0 ); }; window.trx_addons_document_animate_to_busy = false; window.trx_addons_document_animate_to = function(id, callback) { var split_animation = true; var oft = !isNaN(id) ? Number(id) : 0, oft2 = -1; var obj = null; if ( isNaN(id) ) { if ( typeof id == 'object' ) { if ( id.length > 0 ) { obj = id; } else { return; } } else { if ( id.substring(0, 1) != '#' && id.substring(0, 1) != '.' ) { id = '#' + id; } obj = jQuery(id).eq(0); if ( obj.length === 0 ) { return; } } oft = split_animation ? obj.offset().top : Math.max( 0, obj.offset().top - trx_addons_fixed_rows_height() ); if ( split_animation ) { oft2 = Math.max( 0, oft - trx_addons_fixed_rows_height() ); } } var speed = Math.min(1000, Math.max(300, Math.round(Math.abs( (oft2 < 0 ? oft : oft2) - jQuery(window).scrollTop()) / jQuery(window).height() * 300))); window.trx_addons_document_animate_to_busy = true; if ( oft2 >= 0 ) { setTimeout( function() { if (isNaN(id)) oft = obj.offset().top; oft2 = Math.max( 0, oft - trx_addons_fixed_rows_height() ); jQuery('body,html').stop(true).animate( {scrollTop: oft2}, Math.floor(speed/2), 'linear', function() { _window_scroll_top = $window.scrollTop(); window.trx_addons_document_animate_to_busy = false; if ( callback ) callback( id, speed ); } ); }, Math.floor(speed/2) ); } else { oft2 = oft; } if ( speed > 0 ) { jQuery('body,html').stop(true).animate( {scrollTop: oft2}, speed, 'linear', function() { _window_scroll_top = $window.scrollTop(); window.trx_addons_document_animate_to_busy = false; if ( callback ) callback( id, speed ); } ); } else { jQuery( 'body,html' ).stop( true ).scrollTop( oft2 ); _window_scroll_top = $window.scrollTop(); window.trx_addons_document_animate_to_busy = false; if ( callback ) callback( id, speed ); } }; window.trx_addons_request_animation_frame = function() { return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || null; }; window.trx_addons_document_set_location = function( curLoc, state ) { if ( history.pushState === undefined || navigator.userAgent.match(/MSIE\s[6-9]/i) !== null ) { return; } try { history.pushState( state ? state : { url: curLoc }, null, curLoc ); return; } catch( e ) {} location.href = curLoc; }; window.trx_addons_add_to_url = function(loc, prm) { var ignore_empty = arguments[2] !== undefined ? arguments[2] : true, q = loc.split('?'), attr = q.length > 1 ? trx_addons_parse_query_string(q[1]) : {}, i = 0; for (var p in prm) { attr[p] = prm[p]; } loc = q[0] + '?'; i = 0; for (p in attr) { if (ignore_empty && attr[p] === '') continue; loc += (i++ > 0 ? '&' : '') + encodeURIComponent(p) + '=' + encodeURIComponent(attr[p]); } return loc; }; window.trx_addons_add_extra_args_to_links = function( args, cont ) { if ( ! cont ) cont = $body; cont.find( 'a' ).each( function() { var link = jQuery( this ), href = link.attr( 'href' ); if ( href && href != '#' && ! trx_addons_is_local_link( href ) ) { var loc = window.location.href, page_valid = true; for ( var i = 0; i < args.length; i++ ) { page_valid = true; if ( args[i].page ) { page_valid = false; if ( typeof args[i].page == 'object' ) { for ( var pg in args[i].page ) { page_valid = loc.indexOf( args[i].page[pg] ) >= 0; if ( page_valid ) break; } } else { page_valid = loc.indexOf( args[i].page ) >= 0; } } if ( page_valid && ( ! args[i].mask || href.indexOf( args[i].mask ) >= 0 ) ) { href = typeof args[i].link != 'undefined' ? args[i].link : trx_addons_add_to_url( href, args[i].args ); } } link.attr( 'href', href ); } } ); }; window.trx_addons_get_value_gp = function(prm) { var urlParams = new URLSearchParams(window.location.search), value = urlParams.get(prm); return decodeURIComponent( value ? value : ''); }; window.trx_addons_parse_query_string = function(qs) { var query = {}, pairs = ( qs.indexOf('?') >= 0 ? qs.substring( qs.indexOf('?') + 1 ) : qs).split('&'), pair = []; for (var i = 0; i < pairs.length; i++) { pair = pairs[i].split('='); query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || ''); } return query; }; window.trx_addons_is_local_link = function(url) { var rez = url!==undefined; if (rez) { var url_pos = url.indexOf('#'); if (url_pos === 0 && url.length == 1) { rez = false; } else { if (url_pos < 0) url_pos = url.length; var loc = window.location.href; var loc_pos = loc.indexOf('#'); if (loc_pos > 0) loc = loc.substring(0, loc_pos); rez = url_pos === 0; if (!rez) rez = loc == url.substring(0, url_pos); } } return rez; }; window.trx_addons_is_url = function( url ) { return url.indexOf( '//' ) === 0 || url.indexOf( '://' ) > 0; }; window.trx_addons_get_embed_from_url = function(url, autoplay, mute, loop ) { if (autoplay === undefined) { autoplay = true; } if (mute === undefined) { mute = true; } if (loop === undefined) { loop = true; } var embed = ''; if ( url.indexOf( '.mp4' ) > 0 || trx_addons_is_local_link( url ) ) { embed = '<video class="trx_addons_video_video" playsinline disablepictureinpicture' + ( autoplay ? ' autoplay="autoplay"' : '' ) + ( loop ? ' loop="loop"' : '' ) + ( mute ? ' muted="muted"' : '' ) + '>' + '<source src="' + url + '" type="video/mp4" />' + '</video>'; } else { url = url.replace('/watch?v=', '/embed/') .replace('/youtu.be/', '/www.youtube.com/embed/') .replace('/vimeo.com/', '/player.vimeo.com/video/') .replace('/dai.ly/', '/dailymotion.com/embed/video/') .replace('/dailymotion.com/video/', '/dailymotion.com/embed/video/'); if (autoplay) { url += (url.indexOf('?') > 0 ? '&' : '?') + 'autoplay=1'; } if (mute) { url += (url.indexOf('?') > 0 ? '&' : '?') + 'muted=1'; } embed = '<iframe src="'+url+'" border="0" width="1280" height="720"' + (autoplay ? ' allow="autoplay"' : '') + '></iframe>'; } return embed; }; window.trx_addons_set_autoplay = function(container, value) { if (value === undefined) { value = 1; } container.find('.video_frame > iframe, iframe').each(function () { if (value) { jQuery(this).attr('allow', 'autoplay'); } var src = jQuery(this).data('src'); if (src) { jQuery(this).attr('src', src); } else { src = jQuery(this).attr('src'); if (src === undefined) { src = ''; } if (src.indexOf('youtube')>=0 || src.indexOf('vimeo')>=0) { jQuery(this).attr('src', trx_addons_add_to_url(src, {'autoplay': value})); } } }); }; window.trx_addons_insert_video_iframe = function( $cont, iframe_html ) { if ( $cont.length === 0 ) { return; } if ( trx_addons_browser_is_ios() && iframe_html.indexOf( 'youtu' ) > 0 && iframe_html.indexOf( 'autoplay=1' ) > 0 && typeof YT != 'undefined' ) { var id = 'trx_addons_yt_player_' + Math.floor( Math.random() * 100000 ); $cont.html( iframe_html.replace( /<iframe[\s]+[\s\S]+<\/iframe>/, '<div class="trx_addons_yt_player" id="' + id + '"></div>' ) ); var src = iframe_html.split('?'); var video_id = src[0].substring( src[0].indexOf('/embed/') + 7 ); var player = new YT.Player( id, { videoId: video_id, suggestedQuality: 'hd720', playerVars: { autoplay: 1, autohide: 0, modestbranding: 1, rel: 0, showinfo: 0, controls: 1, disablekb: 1, enablejsapi: 1, iv_load_policy: 3, playsinline: 1, loop: 0 }, events: { 'onReady': function onReady(e) { player.playVideo(); } } } ); } else { $cont.html( iframe_html ); } }; window.trx_addons_browser_is_support = function( prop, value ) { var prefixes = ' -webkit- -moz- -o- -ms- '.split(' '); var el = document.createElement('a'); var style = el.style; if ( prop.slice( -1 ) != ':' ) { prop += ':'; } style.cssText = prop + prefixes.join( value + ';' + prop ).slice( 0, - prop.length ); return style.position.indexOf( value ) !== -1; }; window.trx_addons_browser_is_support_css_sticky = function() { return trx_addons_browser_is_support( 'position', 'sticky' ); }; window.trx_addons_browser_is_touch = function() { return 'ontouchstart' in document.documentElement; }; window.trx_addons_browser_is_pointer_events = function() { return !!window.PointerEvent && ('maxTouchPoints' in window.navigator) && window.navigator.maxTouchPoints >= 0; }; window.trx_addons_browser_is_mobile = function() { var check = false; ( function(a) { if ( /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test( a.substr(0,4) ) ) { check = true; } } )( navigator.userAgent || navigator.vendor || window.opera ); return check; }; window.trx_addons_browser_is_ios = function() { return navigator.userAgent.match(/iPad|iPhone|iPod/i) !== null ? true : false; }; window.trx_addons_browser_is_iphone = function() { return navigator.userAgent.match(/iPhone/i) !== null ? true : false; }; window.trx_addons_browser_is_ipad = function() { return navigator.userAgent.match(/iPad/i) !== null ? true : false; }; window.trx_addons_browser_is_ipod = function() { return navigator.userAgent.match(/iPod/i) !== null ? true : false; }; window.trx_addons_is_retina = function() { var mediaQuery = '(-webkit-min-device-pixel-ratio: 1.5), (min--moz-device-pixel-ratio: 1.5), (-o-min-device-pixel-ratio: 3/2), (min-resolution: 1.5dppx)'; return (window.devicePixelRatio > 1) || (window.matchMedia && window.matchMedia(mediaQuery).matches); }; window.trx_addons_browser_classes = function() { var userAgent = navigator.userAgent, matchUserAgent = function( ua ) { return userAgent.indexOf( ua ) >= 0; }, classes = { 'mobile': trx_addons_browser_is_mobile(), 'mac': matchUserAgent('Macintosh'), 'ios': trx_addons_browser_is_ios(), 'iphone': trx_addons_browser_is_iphone() || trx_addons_browser_is_ipad() || trx_addons_browser_is_ipod(), 'touch': trx_addons_browser_is_touch(), 'retina': trx_addons_is_retina(), 'firefox': matchUserAgent( 'Firefox' ), 'opera': !!window.opr && !!opr.addons || !!window.opera || matchUserAgent(' OPR/'), 'safari': /^((?!chrome|android).)*safari/i.test(userAgent) || /constructor/i.test(window.HTMLElement) || (p => { return '[object SafariRemoteNotification]' === p.toString(); })(!window.safari || typeof safari !== 'undefined' && safari.pushNotification), 'ie': /Trident|MSIE/.test(userAgent) && ( false || !!document.documentMode ), 'blink': matchUserAgent('Chrome') && !!window.CSS, 'webkit': matchUserAgent('AppleWebKit') }; classes['edge'] = ! classes['ie'] && !!window.StyleMedia || matchUserAgent('Edg'); classes['chrome'] = !!window.chrome && matchUserAgent('Chrome') && ! classes['edge'] && ! classes['opera']; classes['applewebkit'] = matchUserAgent('AppleWebKit') && ! classes['blink']; classes['gecko'] = matchUserAgent('Gecko') && classes['firefox']; return classes; }; window.trx_addons_get_file_name = function(path) { path = path.replace(/\\/g, '/'); if ( path.indexOf('?') > 0 ) { path = path.substr( 0, path.indexOf('?') ); } var pos = path.lastIndexOf('/'); if (pos >= 0) path = path.substr(pos+1); return path; }; window.trx_addons_get_file_ext = function(path) { if ( path.indexOf('?') > 0 ) { path = path.substr( 0, path.indexOf('?') ); } var pos = path.lastIndexOf('.'); path = pos >= 0 ? path.substr(pos+1) : ''; return path; }; window.trx_addons_get_basename = function(path) { return trx_addons_get_file_name(path).replace('.'+trx_addons_get_file_ext(path), ''); }; window.trx_addons_is_images_loaded = function(cont) { var complete = true; cont.find('img').each(function() { if ( ! complete ) { return; } var img = jQuery(this).get(0); if (typeof img.complete == 'boolean') { complete = img.complete; } else if (typeof img.naturalWidth == 'number' && typeof img.naturalHeight == 'number') { complete = !(img.naturalWidth == 0 && img.naturalHeight == 0); } }); return complete; }; window.trx_addons_when_images_loaded = function(cont, callback, max_delay) { if (max_delay === undefined) { max_delay = 3000; } if (max_delay <= 0 || trx_addons_is_images_loaded(cont)) { callback( cont ); } else { setTimeout(function(){ trx_addons_when_images_loaded(cont, callback, max_delay - 200); }, 200); } }; window.trx_addons_fetch_url = function( url, callback ) { if ( typeof window.fetch == 'function' ) { fetch( url ) .then( function( response ) { return response.ok ? response.text() : ''; } ) .then( function( data ) { if ( callback ) { callback( data ); } } ); } else { jQuery.get( url ) .done( function( response ) { if ( typeof response == 'object' && typeof response.childElementCount != 'undefined' && response.childElementCount > 0 && typeof response.children != 'undefined' && typeof response.children[0] != 'undefined' ) { response = response.children[0].outerHTML; } if ( callback ) { callback( response ); } } ) .fail( function() { if ( callback ) { callback( '' ); } } ); } }; var inline_svg = []; window.trx_addons_get_inline_svg = function( svg_url, view ) { var html = ''; for( var i = 0; i < inline_svg.length; i++ ) { if ( inline_svg[i].url == svg_url ) { html = inline_svg[i].html; break; } } if ( html === '' ) { trx_addons_fetch_url( svg_url, function( html ) { if ( html ) { inline_svg.push( { url: svg_url, html: html } ); } if ( view ) { view.render( html ); } } ); } else if ( view ) { view.render( html ); } return html; }; if ( ! window.get_inline_svg ) { window.get_inline_svg = window.trx_addons_get_inline_svg; } window.trx_addons_round_number = function(num) { var precision = arguments[1]!==undefined ? arguments[1] : 0; var p = Math.pow(10, precision); return Math.round(num*p)/p; }; Number.prototype.formatMoney = function(c, d, t) { var n = this, c = c == undefined ? 2 : (isNaN(c = Math.abs(c)) ? 2 : c), d = d == undefined ? "." : d, t = t == undefined ? "," : t, s = n < 0 ? "-" : "", i = String(parseInt(n = Math.abs(Number(n) || 0).toFixed(c))), j = (j = i.length) > 3 ? j % 3 : 0; return s + (j ? i.substring(0, j) + t : "") + i.substring(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); }; window.trx_addons_random = function(a, b) { return Math.floor( Math.random() * ( b - a ) ) + a; }; window.trx_addons_proper = function(str) { return str.replace(/(\b\w)/gi, function(m) { return m.toUpperCase(); }); }; window.trx_addons_replicate = function(str, num) { var rez = ''; for (var i=0; i < num; i++) { rez += str; } return rez; }; window.trx_addons_split = function(str, delimiter) { var rez = [], quotes = false, pos = 0; for ( var i = 0; i < str.length; i++ ) { if ( str[i] == delimiter && ! quotes ) { rez.push( str.substring( pos, i ) ); pos = i + 1; } else if ( str[ i ] == '"' ) { quotes = ! quotes; } } rez.push( str.substring( pos, i ) ); return rez; }; window.trx_addons_parse_atts = function(str, delimiter) { var obj = {}; if ( ! delimiter ) { delimiter = ' '; } if ( str !== undefined ) { if ( delimiter == '&' ) { str = str.replace(/&amp;/g, '&'); } var pairs = trx_addons_split( str, delimiter ); for ( var i in pairs ) { if ( pairs[i].indexOf('=') != -1 ) { var pair = pairs[i].split('='); obj[ pair[0] ] = ('' + pair[1]).slice(0, 1) == '"' && ('' + pair[1]).slice(-1) == '"' || ( '' + pair[1]).slice(0, 1) == "'" && ('' + pair[1]).slice(-1) == "'" ? pair[1].slice( 1, -1 ) : pair[1]; } } } return obj; }; window.trx_addons_prepare_macros = function(str) { if ( ! str || typeof str != 'string' ) { return str; } if ( str.indexOf('[') >= 0 && str.indexOf(']') >= 0 ) { str = str.replace( /([\[])([\[\]\S]+?)[\s]+([^\[\]]+)?([\]])/g, function( match, p1, p2, p3, p4 ) { var allowed_css = trx_addons_apply_filters( 'trx_addons_filter_prepare_macros_allowed_css', { 'valign': 'vertical-align', 'color': 'color', 'bgcolor': 'background-color', 'bdcolor': 'border-color', 'border': 'border-width', 'radius': 'border-radius', 'padding': 'padding', 'margin': 'margin' }, 'common' ), image_css = trx_addons_apply_filters( 'trx_addons_filter_prepare_macros_allowed_css', { 'size': { 'rule': 'max-height', 'default': '1em' }, }, 'image' ), icon_css = trx_addons_apply_filters( 'trx_addons_filter_prepare_macros_allowed_css', { 'size': { 'rule': 'font-size', 'default': '1em' }, }, 'icon' ), atts = false; if ( p2 == 'image' ) { atts = p3 ? trx_addons_parse_atts( p3 ) : {}; if ( ! atts['url'] ) { atts['url'] = TRX_ADDONS_STORAGE['no_image']; var get_url_by_size = function( data, thumb_size ) { var url = ''; for ( var i in data['media_details']['sizes'] ) { if ( ('' + i).indexOf( thumb_size ) >= 0 ) { url = data['media_details']['sizes'][i]['source_url']; break; } } return url; }; if ( atts['id'] ) { if ( TRX_ADDONS_STORAGE['fetch_images' ] === undefined ) { TRX_ADDONS_STORAGE['fetch_images'] = {}; } if ( ! TRX_ADDONS_STORAGE['fetch_images'][ atts['id'] ] ) { jQuery.get( TRX_ADDONS_STORAGE['rest_url'] + 'wp/v2/media/' + atts['id'] + '/', function(response) { if ( response && response['media_details'] && response['media_details']['sizes'] ) { TRX_ADDONS_STORAGE['fetch_images'][ atts['id'] ] = response; } } ); } else { atts['url'] = get_url_by_size( TRX_ADDONS_STORAGE['fetch_images'][ atts['id'] ], atts['thumb'] ? '-' + atts['thumb'] : 'full' ); } } } return atts['url'] ? '<img src="' + atts['url'] + '"' + ( atts['id'] ? ' id="trx_addons_image_' + atts['id'] + '"' : '' ) + ( atts['alt'] ? ' alt="' + atts['alt'] + '"' : '' ) + ' style="' + trx_addons_get_css_from_atts( atts, trx_addons_object_merge( allowed_css, image_css ) ) + ( atts['css'] ? atts['css'] : '' ) + '"' + '>' : ''; } else if ( p2 == 'icon' ) { atts = p3 ? trx_addons_parse_atts( p3 ) : {}; if ( atts['name'] && atts['name'].slice( 0, 5 ) != 'icon-' ) { atts['name'] = 'icon-' + atts['name']; } return atts['name'] ? '<span class="' + atts['name'] + '"' + ' style="' + trx_addons_get_css_from_atts( atts, trx_addons_object_merge( allowed_css, icon_css ) ) + ( atts['css'] ? atts['css'] : '' ) + '"' + '></span>' : ''; } else if ( p2.slice( 0, 1 ) != '&' ) { return p1 + p2 + p4; } else { return match; } } ); } return str .replace(/\{\{/g, "<i>") .replace(/\}\}/g, "</i>") .replace(/\(\(/g, "<b>") .replace(/\)\)/g, "</b>") .replace(/\|\|/g, "<br>") .replace(/(\^(\d+))/g, "<sup>$2</sup>"); }; window.trx_addons_remove_macros = function(str) { return str .replace(/[^\[]([\[][^\[\]]+[\]])[^\]]/g, "") .replace(/\{\{/g, "") .replace(/\}\}/g, "") .replace(/\(\(/g, "") .replace(/\)\)/g, "") .replace(/\|\|/g, ""); }; window.trx_addons_parse_codes = function(text, tag_start, tag_end) { if (tag_start === undefined) tag_start = '{{'; if (tag_end === undefined) tag_end = '}}'; var r1 = new RegExp(tag_start, 'g'); var r2 = new RegExp(tag_end, 'g'); return text.replace(r1, '<').replace(r2, '>'); }; window.trx_addons_is_on = function(prm) { return prm>0 || ['true', 'on', 'yes', 'show'].indexOf((''+prm).toLowerCase()) >= 0; }; window.trx_addons_is_off = function(prm) { return prm === undefined || prm === '' || prm === 0 || ['false', 'off', 'no', 'none', 'hide'].indexOf((''+prm).toLowerCase()) >= 0; }; window.trx_addons_is_inherit = function(prm) { return ['inherit'].indexOf((''+prm).toLowerCase()) >= 0; }; window.trx_addons_is_empty = function(prm) { return prm === undefined || prm === '' || prm === 0 || prm === false || ( typeof prm == 'object' && Object.keys( prm ).length === 0 ); }; window.trx_addons_get_class_by_prefix = function(classes, prefix) { var rez = ''; if ( classes ) { classes = classes.split(' '); for (var i=0; i < classes.length; i++) { if (classes[i].indexOf(prefix) >= 0) { rez = classes[i].replace(/[\s]+/g, ''); break; } } } return rez; }; window.trx_addons_chg_class_by_prefix = function(classes, prefix, new_value) { var chg = false; if ( ! classes ) classes = ''; classes = classes.replace(/[\s]+/g, ' ').split(' '); new_value = new_value.replace(/[\s]+/g, ''); if ( typeof prefix == 'string' ) { prefix = [prefix]; } for (var i=0; i < classes.length; i++) { for (var j = 0; j < prefix.length; j++ ) { if (classes[i].indexOf( prefix[j] ) >= 0) { classes[i] = new_value; chg = true; break; } } if ( chg ) break; } if ( ! chg && new_value ) { if (classes.length == 1 && classes[0] === '') classes[0] = new_value; else classes.push( new_value ); } return classes.join(' ').replace(/[\s]{2,}/g, ' '); }; window.trx_addons_get_icon_class = function(classes) { if ( ! classes ) classes = ''; return trx_addons_get_class_by_prefix(classes, 'icon-'); }; window.trx_addons_chg_icon_class = function(classes, icon, prefix) { var chg = false, icon_parts = icon.split( '-' ); if ( prefix === undefined ) { prefix = ['none', 'icon-', 'image-']; } prefix.push( icon_parts[0] + '-' ); if ( ! classes ) classes = ''; classes = classes.split(' '); for (var i=0; i < classes.length; i++) { for (var j = 0; j < prefix.length; j++ ) { if (classes[i].indexOf( prefix[j] ) >= 0) { classes[i] = [ 'none', 'image-none' ].indexOf( icon ) != -1 ? '' : icon; chg = true; break; } } if ( chg ) break; } if ( ! chg && [ 'none', 'image-none' ].indexOf( icon ) == -1 ) { if ( classes.length == 1 && classes[0] === '' ) { classes[0] = icon; } else { classes.push( icon ); } } return classes.join(' '); }; window.trx_addons_get_column_class = function( num, all, all_tablet, all_mobile ) { var column_class_tpl = TRX_ADDONS_STORAGE['column_class_template']; var column_class = column_class_tpl.replace( '$1', num ).replace( '$2', all ); if ( all_tablet ) { column_class += ' ' + column_class_tpl.replace( '$1', num ).replace( '$2', all_tablet ) + '-tablet'; } if ( all_mobile ) { column_class += ' ' + column_class_tpl.replace( '$1', num ).replace( '$2', all_mobile ) + '-mobile'; } return column_class; }; window.trx_addons_get_responsive_classes = function( prefix, atts, param, default_value ) { var list = []; if ( atts[ param ] ) { list.push( prefix + atts[ param ] ); } else if ( default_value ) { list.push( prefix + default_value ); } if ( TRX_ADDONS_STORAGE['elementor_breakpoints'] ) { for ( var bp_name in TRX_ADDONS_STORAGE['elementor_breakpoints'] ) { if ( atts[ param + '_' + bp_name ] ) { list.push( prefix + atts[ param + '_' + bp_name ] + '_' + bp_name ); } } } list = trx_addons_apply_filters( 'trx_addons_filter_responsive_classes', list, prefix, atts, param ); return list.length ? list.join( ' ' ) : ''; }; window.trx_addons_get_responsive_breakpoint = function() { var rez = 'desktop', ww = trx_addons_window_width(); if ( TRX_ADDONS_STORAGE['elementor_breakpoints'] ) { for ( var bp_name in TRX_ADDONS_STORAGE['elementor_breakpoints'] ) { if ( TRX_ADDONS_STORAGE['elementor_breakpoints'][bp_name] < ww ) { break; } rez = bp_name; } } return rez; }; window.trx_addons_wrap_words = function( txt, before, after ) { var rez = '', ch = '', in_tag = false, in_word = false; for ( var i = 0; i < txt.length; i++ ) { ch = txt.substring( i, i + 1 ); if ( ch == '<' ) { in_tag = true; if ( in_word ) { rez += after; in_word = false; } } if ( ! in_tag ) { if ( ch == ' ' ) { if ( in_word ) { rez += after; in_word = false; } } else { if ( ! in_word ) { rez += before; in_word = true; } } } rez += ch; if ( ! in_tag && in_word && i == txt.length - 1 ) { rez += after; } if ( in_tag && ch == '>' ) { in_tag = false; } } return rez; }; window.trx_addons_wrap_chars = function( txt, before, after, before_word, after_word ) { var rez = '', ch = '', in_tag = false, in_word = false; if ( before_word === undefined ) before_word = ''; if ( after_word === undefined ) after_word = ''; for ( var i = 0; i < txt.length; i++ ) { ch = txt.substring( i, i + 1 ); if ( ch == '<' ) { in_tag = true; if ( in_word ) { rez += after_word; in_word = false; } } if ( before_word && after_word && ! in_tag ) { if ( ch == ' ' ) { if ( in_word ) { rez += after_word; in_word = false; } } else { if ( ! in_word ) { rez += before_word; in_word = true; } } } rez += in_tag ? ch : before + ( ch == ' ' ? '&nbsp;' : ch ) + after; if ( ! in_tag && in_word && i == txt.length - 1 ) { rez += after_word; } if ( in_tag && ch == '>' ) { in_tag = false; } } return rez; }; window.trx_addons_clear_tags = function( str ) { return str.replace( /<\/?[^>]+>/g, '' ); }; window.trx_addons_esc_html = function( str ) { return str .replace( /&/g, '&amp;' ) .replace( /</g, '&lt;' ) .replace( />/g, '&gt;' ) .replace( /"/g, '&quot;' ) .replace( /'/g, '&#039;' ); }; window.trx_addons_hex2rgb = function(hex) { hex = hex.indexOf('#') > -1 ? hex.substring(1) : hex; if ( hex.length == 3 ) { hex = hex.slice(0,1).repeat(2) + hex.slice(1,2).repeat(2) + hex.slice(2,3).repeat(2); } var num = parseInt( hex, 16 ); if ( hex.length > 6 ) { return {r: ( num >> 24 ) + 256, g: (num & 0x00FF0000) >> 16, b: (num & 0x0000FF00) >> 8, a: (num & 0x000000FF)}; } else { return {r: num >> 16, g: (num & 0x00FF00) >> 8, b: (num & 0x0000FF)}; } }; window.trx_addons_hex2rgba = function(hex, alpha) { var rgb = trx_addons_hex2rgb(hex); return 'rgba('+rgb.r+','+rgb.g+','+rgb.b+','+alpha+')'; }; window.trx_addons_rgb2hex = function(color) { var aRGB; color = color.replace(/\s/g,"").toLowerCase(); if (color=='rgba(0,0,0,0)' || color=='rgba(0%,0%,0%,0%)') { color = 'transparent'; } if (color.indexOf('rgba(')==0) aRGB = color.match(/^rgba\((\d{1,3}[%]?),(\d{1,3}[%]?),(\d{1,3}[%]?),(\d{1,3}[%]?)\)$/i); else aRGB = color.match(/^rgb\((\d{1,3}[%]?),(\d{1,3}[%]?),(\d{1,3}[%]?)\)$/i); if(aRGB) { color = ''; for (var i=1; i <= 3; i++) color += Math.round((aRGB[i][aRGB[i].length-1]=="%"?2.55:1)*parseInt(aRGB[i])).toString(16).replace(/^(.)$/,'0$1'); } else { color = color.replace(/^#?([\da-f])([\da-f])([\da-f])$/i, '$1$1$2$2$3$3'); } return (color.substr(0,1)!='#' ? '#' : '') + color; }; window.trx_addons_components2hex = function(r,g,b,a) { return '#'+ Number(r).toString(16).toUpperCase().replace(/^(.)$/,'0$1') + Number(g).toString(16).toUpperCase().replace(/^(.)$/,'0$1') + Number(b).toString(16).toUpperCase().replace(/^(.)$/,'0$1') + ( a || a === 0 ? Number(a).toString(16).toUpperCase().replace(/^(.)$/,'0$1') : '' ); }; window.trx_addons_rgb2components = function(color) { color = trx_addons_rgb2hex(color); var matches = color.match(/^#?([\dabcdef]{2})([\dabcdef]{2})([\dabcdef]{2})$/i); if (!matches) return false; for (var i=1, rgb = new Array(3); i <= 3; i++) { rgb[i-1] = parseInt(matches[i],16); } return rgb; }; window.trx_addons_hex2hsb = function(hex) { var h = arguments[1]!==undefined ? arguments[1] : 0; var s = arguments[2]!==undefined ? arguments[2] : 0; var b = arguments[3]!==undefined ? arguments[3] : 0; var hsb = trx_addons_rgb2hsb(trx_addons_hex2rgb(hex)); hsb.h = Math.min(359, Math.max( 0, hsb.h + h)); hsb.s = Math.min(100, Math.max( 0, hsb.s + s)); hsb.b = Math.min(100, Math.max( 0, hsb.b + b)); return hsb; }; window.trx_addons_hsb2hex = function(hsb) { var rgb = trx_addons_hsb2rgb(hsb); return trx_addons_components2hex(rgb.r, rgb.g, rgb.b); }; window.trx_addons_rgb2hsb = function(rgb) { var hsb = {}; hsb.b = Math.max(Math.max(rgb.r,rgb.g),rgb.b); hsb.s = (hsb.b <= 0) ? 0 : Math.round(100*(hsb.b - Math.min(Math.min(rgb.r,rgb.g),rgb.b))/hsb.b); hsb.b = Math.round((hsb.b /255)*100); if ((rgb.r==rgb.g) && (rgb.g==rgb.b)) hsb.h = 0; else if (rgb.r>=rgb.g && rgb.g>=rgb.b) hsb.h = 60*(rgb.g-rgb.b)/(rgb.r-rgb.b); else if (rgb.g>=rgb.r && rgb.r>=rgb.b) hsb.h = 60 + 60*(rgb.g-rgb.r)/(rgb.g-rgb.b); else if (rgb.g>=rgb.b && rgb.b>=rgb.r) hsb.h = 120 + 60*(rgb.b-rgb.r)/(rgb.g-rgb.r); else if (rgb.b>=rgb.g && rgb.g>=rgb.r) hsb.h = 180 + 60*(rgb.b-rgb.g)/(rgb.b-rgb.r); else if (rgb.b>=rgb.r && rgb.r>=rgb.g) hsb.h = 240 + 60*(rgb.r-rgb.g)/(rgb.b-rgb.g); else if (rgb.r>=rgb.b && rgb.b>=rgb.g) hsb.h = 300 + 60*(rgb.r-rgb.b)/(rgb.r-rgb.g); else hsb.h = 0; hsb.h = Math.round(hsb.h); return hsb; }; window.trx_addons_hsb2rgb = function(hsb) { var rgb = {}; var h = Math.round(hsb.h); var s = Math.round(hsb.s*255/100); var v = Math.round(hsb.b*255/100); if (s == 0) { rgb.r = rgb.g = rgb.b = v; } else { var t1 = v; var t2 = (255-s)*v/255; var t3 = (t1-t2)*(h%60)/60; if (h==360) h = 0; if (h<60) { rgb.r=t1; rgb.b=t2; rgb.g=t2+t3; } else if (h<120) { rgb.g=t1; rgb.b=t2; rgb.r=t1-t3; } else if (h<180) { rgb.g=t1; rgb.r=t2; rgb.b=t2+t3; } else if (h<240) { rgb.b=t1; rgb.r=t2; rgb.g=t1-t3; } else if (h<300) { rgb.b=t1; rgb.g=t2; rgb.r=t2+t3; } else if (h<360) { rgb.r=t1; rgb.g=t2; rgb.b=t1-t3; } else { rgb.r=0; rgb.g=0; rgb.b=0; } } return { r:Math.round(rgb.r), g:Math.round(rgb.g), b:Math.round(rgb.b) }; }; window.trx_addons_color_picker = function(){ var id = arguments[0]!==undefined ? arguments[0] : "iColorPicker"+Math.round(Math.random()*1000); var colors = arguments[1]!==undefined ? arguments[1] : '#f00,#ff0,#0f0,#0ff,#00f,#f0f,#fff,#ebebeb,#e1e1e1,#d7d7d7,#cccccc,#c2c2c2,#b7b7b7,#acacac,#a0a0a0,#959595,' +'#ee1d24,#fff100,#00a650,#00aeef,#2f3192,#ed008c,#898989,#7d7d7d,#707070,#626262,#555,#464646,#363636,#262626,#111,#000,' +'#f7977a,#fbad82,#fdc68c,#fff799,#c6df9c,#a4d49d,#81ca9d,#7bcdc9,#6ccff7,#7ca6d8,#8293ca,#8881be,#a286bd,#bc8cbf,#f49bc1,#f5999d,' +'#f16c4d,#f68e54,#fbaf5a,#fff467,#acd372,#7dc473,#39b778,#16bcb4,#00bff3,#438ccb,#5573b7,#5e5ca7,#855fa8,#a763a9,#ef6ea8,#f16d7e,' +'#ee1d24,#f16522,#f7941d,#fff100,#8fc63d,#37b44a,#00a650,#00a99e,#00aeef,#0072bc,#0054a5,#2f3192,#652c91,#91278f,#ed008c,#ee105a,' +'#9d0a0f,#a1410d,#a36209,#aba000,#588528,#197b30,#007236,#00736a,#0076a4,#004a80,#003370,#1d1363,#450e61,#62055f,#9e005c,#9d0039,' +'#790000,#7b3000,#7c4900,#827a00,#3e6617,#045f20,#005824,#005951,#005b7e,#003562,#002056,#0c004b,#30004a,#4b0048,#7a0045,#7a0026'; var colorsList = colors.split(','); var tbl = '<table class="colorPickerTable"><thead>'; for (var i=0; i < colorsList.length; i++) { if (i%16==0) tbl += (i>0 ? '</tr>' : '') + '<tr>'; tbl += '<td style="background-color:'+colorsList[i]+'">&nbsp;</td>'; } tbl += '</tr></thead><tbody>' + '<tr style="height:60px;">' + '<td colspan="8" id="'+id+'_colorPreview" style="vertical-align:middle;text-align:center;border:1px solid #000;background:#fff;">' + '<input style="width:55px;color:#000;border:1px solid rgb(0, 0, 0);padding:5px;background-color:#fff;font:11px Arial, Helvetica, sans-serif;" maxlength="7" />' + '<a href="#" id="'+id+'_moreColors" class="iColorPicker_moreColors"></a>' + '</td>' + '<td colspan="8" id="'+id+'_colorOriginal" style="vertical-align:middle;text-align:center;border:1px solid #000;background:#fff;">' + '<input style="width:55px;color:#000;border:1px solid rgb(0, 0, 0);padding:5px;background-color:#fff;font:11px Arial, Helvetica, sans-serif;" readonly="readonly" />' + '</td>' + '</tr></tbody></table>'; jQuery(document.createElement("div")) .attr("id", id) .css('display','none') .html(tbl) .appendTo("body") .addClass("iColorPickerTable") .on('mouseover', 'thead td', function(){ var aaa = trx_addons_rgb2hex(jQuery(this).css('background-color')); jQuery('#'+id+'_colorPreview').css('background',aaa); jQuery('#'+id+'_colorPreview input').val(aaa); }) .on('keypress', '#'+id+'_colorPreview input', function(key){ var aaa = jQuery(this).val(); if (key.which===13 && (aaa.length===4 || aaa.length===7)) { var fld = jQuery('#'+id).data('field'); var func = jQuery('#'+id).data('func'); if (func!=null && func!='undefined') { func(fld, aaa); } else { fld.val(aaa).css('backgroundColor', aaa).trigger('change'); } jQuery('#'+id+'_Bg').fadeOut(500); jQuery('#'+id).fadeOut(500); key.preventDefault(); return false; } }) .on('change', '#'+id+'_colorPreview input', function(key){ var aaa = jQuery(this).val(); if (aaa.substr(0,1)==='#' && (aaa.length===4 || aaa.length===7)) { jQuery('#'+id+'_colorPreview').css('background',aaa); } }) .on('click', 'thead td', function(e){ var fld = jQuery('#'+id).data('field'); var func = jQuery('#'+id).data('func'); var aaa = trx_addons_rgb2hex(jQuery(this).css('background-color')); if (func!=null && func!='undefined') { func(fld, aaa); } else { fld.val(aaa).css('backgroundColor', aaa).trigger('change'); } jQuery('#'+id+'_Bg').fadeOut(500); jQuery('#'+id).fadeOut(500); e.preventDefault(); return false; }) .on('click', 'tbody .iColorPicker_moreColors', function(e){ var thead = jQuery(this).parents('table').find('thead'); var out = ''; if (thead.hasClass('more_colors')) { for (var i=0; i < colorsList.length; i++) { if (i%16==0) out += (i>0 ? '</tr>' : '') + '<tr>'; out += '<td style="background-color:'+colorsList[i]+'">&nbsp;</td>'; } thead.removeClass('more_colors').empty().html(out+'</tr>'); jQuery('#'+id+'_colorPreview').attr('colspan', 8); jQuery('#'+id+'_colorOriginal').attr('colspan', 8); } else { var rgb=[0,0,0], i=0, j=-1; while (rgb[0]<0xF || rgb[1]<0xF || rgb[2]<0xF) { if (i%18==0) out += (i>0 ? '</tr>' : '') + '<tr>'; i++; out += '<td style="background-color:'+trx_addons_components2hex(rgb[0]*16+rgb[0],rgb[1]*16+rgb[1],rgb[2]*16+rgb[2])+'">&nbsp;</td>'; rgb[2]+=3; if (rgb[2]>0xF) { rgb[1]+=3; if (rgb[1]>(j===0 ? 6 : 0xF)) { rgb[0]+=3; if (rgb[0]>0xF) { if (j===0) { j=1; rgb[0]=0; rgb[1]=9; rgb[2]=0; } else { break; } } else { rgb[1]=(j < 1 ? 0 : 9); rgb[2]=0; } } else { rgb[2]=0; } } } thead.addClass('more_colors').empty().html(out+'<td style="background-color:#ffffff" colspan="8">&nbsp;</td></tr>'); jQuery('#'+id+'_colorPreview').attr('colspan', 9); jQuery('#'+id+'_colorOriginal').attr('colspan', 9); } jQuery('#'+id+' table.colorPickerTable thead td') .css({ 'width':'12px', 'height':'14px', 'border':'1px solid #000', 'cursor':'pointer' }); e.preventDefault(); return false; }); jQuery(document.createElement("div")) .attr("id", id+"_Bg") .on('click', function(e) { jQuery("#"+id+"_Bg").fadeOut(500); jQuery("#"+id).fadeOut(500); e.preventDefault(); return false; }) .appendTo("body"); jQuery('#'+id+' table.colorPickerTable thead td') .css({ 'width':'12px', 'height':'14px', 'border':'1px solid #000', 'cursor':'pointer' }); jQuery('#'+id+' table.colorPickerTable') .css({'border-collapse':'collapse'}); jQuery('#'+id) .css({ 'border':'1px solid #ccc', 'background':'#333', 'padding':'5px', 'color':'#fff' }); jQuery('#'+id+'_colorPreview') .css({'height':'50px'}); return id; }; window.trx_addons_color_picker_show = function(id, fld, func) { if (id === null || id === '') { id = jQuery('.iColorPickerTable').attr('id'); } var eICP = fld.offset(); var w = jQuery('#'+id).width(); var h = jQuery('#'+id).height(); var l = eICP.left + w < jQuery(window).width()-10 ? eICP.left : jQuery(window).width()-10 - w; var t = eICP.top + fld.outerHeight() + h < jQuery(document).scrollTop() + jQuery(window).height()-10 ? eICP.top + fld.outerHeight() : eICP.top - h - 13; jQuery("#"+id) .data({field: fld, func: func}) .css({ 'top':t+"px", 'left':l+"px", 'position':'absolute', 'z-index':999999 }) .fadeIn(500); jQuery("#"+id+"_Bg") .css({ 'position':'fixed', 'z-index':999998, 'top':0, 'left':0, 'width':'100%', 'height':'100%' }) .fadeIn(500); var def = fld.val().substr(0, 1)=='#' ? fld.val() : trx_addons_rgb2hex(fld.css('backgroundColor')); jQuery('#'+id+'_colorPreview input,#'+id+'_colorOriginal input').val(def); jQuery('#'+id+'_colorPreview,#'+id+'_colorOriginal').css('background',def); }; window.trx_addons_googlemap_loaded = function() {}; window.trx_addons_prepare_css_value = function(val) { if (val !== '' && val != 'inherit') { var parts = ('' + val).split( ' ' ); for ( var i = 0; i < parts.length; i++ ) { if ( parts[i] === '' ) { continue; } var ed = ('' + parts[i]).slice( -1 ); if ('0' <= ed && ed <= '9') { parts[i] += 'px'; } } val = parts.join( ' ' ); } return val; }; window.trx_addons_units2px = function(val, block, dir) { var value = parseFloat( val ); var unit = ('' + val).replace( ('' + value), '' ).toLowerCase(); if ( unit ) { if ( unit == 'vw' ) { value = Math.round( value * trx_addons_window_width() / 100 ); } else if ( unit == 'vh' ) { value = Math.round( value * trx_addons_window_height() / 100 ); } else if ( unit == '%' && block && block.length ) { value = Math.round( value * ( dir == 'x' ? block.eq(0).outerWidth() : block.eq(0).outerHeight() ) / 100 ); } else if ( unit == 'em' && block && block.length ) { value = parseFloat( getComputedStyle( block.get(0) )['fontSize'] ) * value; } else if ( unit == 'rem' ) { value = parseFloat( getComputedStyle( $body.get(0) )['fontSize'] ) * value; } } return value; }; window.trx_addons_get_css_from_atts = function( atts, allowed ) { var css = '', rule = '', atts_with_units = trx_addons_apply_filters( 'trx_addons_filter_atts_with_units', [ 'margin', 'padding', 'border-radius', 'border-width', 'font-size', 'line-height', 'letter-spacing', 'width', 'height', 'top', 'right', 'bottom', 'left' ] ); for ( var k in allowed ) { if ( allowed[ k ] && ( atts.hasOwnProperty( k ) || typeof allowed[ k ] == 'object' && allowed[ k ].hasOwnProperty( 'default' ) ) ) { rule = typeof allowed[ k ] == 'object' ? allowed[ k ]['rule'] : allowed[ k ]; if ( typeof allowed[ k ] == 'object' ) { css += rule + ':' + ( atts[ k ] ? ( atts_with_units.indexOf( rule ) >= 0 ? trx_addons_prepare_css_value( atts[ k ] ) : atts[ k ] ) : ( atts_with_units.indexOf( rule ) >= 0 ? trx_addons_prepare_css_value( allowed[ k ]['default'] ) : allowed[ k ]['default'] ) ) + ';'; } else { css += rule + ':' + ( atts_with_units.indexOf( rule ) >= 0 ? trx_addons_prepare_css_value( atts[ k ] ) : atts[ k ] ) + ';'; } } } return css; }; window.trx_addons_get_object_property = function(obj, property, defa) { var rez = defa === undefined ? false : defa, props = property.split('.'), cur = obj; if ( typeof cur == 'object' ) { for (var i = 0; i < props.length; i++) { if ( cur.hasOwnProperty( props[i] ) ) { cur = cur[ props[i] ]; if ( i == props.length - 1 ) { rez = cur; } } else { break; } } } return rez; }; window.trx_addons_object_clone = function(obj) { var copy; if (null === obj || "object" != typeof obj) { return obj; } if (obj instanceof Date) { copy = new Date(); copy.setTime(obj.getTime()); return copy; } if (obj instanceof Array) { copy = []; for (var i = 0, len = obj.length; i < len; i++) { copy[i] = trx_addons_object_clone(obj[i]); } return copy; } if (obj instanceof Object) { copy = {}; for (var attr in obj) { if (obj.hasOwnProperty(attr)) { copy[attr] = trx_addons_object_clone(obj[attr]); } } return copy; } return obj; }; window.trx_addons_object_merge = function(o1, o2) { for (var i=1; i<arguments.length; i++) { if ( arguments[i] ) { for (var prop in arguments[i]) { if ( arguments[i].hasOwnProperty(prop) ) { o1[prop] = arguments[i][prop]; } } } } return o1; }; window.trx_addons_is_object = function( o ) { return typeof o === 'object' && o !== null && o.constructor && o.constructor === Object; }; window.trx_addons_object_extend = function() { var args = [], total = arguments.length; while ( total-- ) { args[ total ] = arguments[ total ]; } var to = Object( args[0] ); for ( var i = 1; i < args.length; i++ ) { var nextSource = args[i]; if ( nextSource !== undefined && nextSource !== null ) { var keysArray = Object.keys( Object( nextSource ) ); for ( var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++ ) { var nextKey = keysArray[ nextIndex ]; var desc = Object.getOwnPropertyDescriptor( nextSource, nextKey ); if ( desc !== undefined && desc.enumerable ) { if ( trx_addons_is_object( to[ nextKey ] ) && trx_addons_is_object( nextSource[ nextKey ] ) ) { trx_addons_object_extend( to[ nextKey ], nextSource[ nextKey ] ); } else if ( ! trx_addons_is_object( to[ nextKey ] ) && trx_addons_is_object( nextSource[ nextKey ] ) ) { to[ nextKey ] = {}; trx_addons_object_extend( to[ nextKey ], nextSource[ nextKey ] ); } else { to[ nextKey ] = nextSource[ nextKey ]; } } } } } return to; }; window.trx_addons_array_merge = function(a1, a2) { if ( a2 ) { for ( var i in a2 ) { a1[i] = a2[i]; } } return a1; }; window.trx_addons_array_first_key = function(arr) { var rez = null; for (var i in arr) { rez = i; break; } return rez; }; window.trx_addons_array_first_value = function(arr) { var rez = null; for (var i in arr) { rez = arr[i]; break; } return rez; }; window.trx_addons_get_class = function(obj) { if (obj instanceof Object && !(obj instanceof Array) && !(obj instanceof Function) && obj.constructor) { var arr = obj.constructor.toString().match(/function\s*(\w+)/); if (arr && arr.length == 2) return arr[1]; } return false; }; window.trx_addons_serialize = function(mixed_val) { var obj_to_array = arguments.length==1 || argument[1]===true; switch ( typeof(mixed_val) ) { case "number": if ( isNaN(mixed_val) || !isFinite(mixed_val) ) return false; else return (Math.floor(mixed_val) == mixed_val ? "i" : "d") + ":" + mixed_val + ";"; case "string": return "s:" + mixed_val.length + ":\"" + mixed_val + "\";"; case "boolean": return "b:" + (mixed_val ? "1" : "0") + ";"; case "object": if (mixed_val == null) return "N;"; else if (mixed_val instanceof Array) { var idxobj = { idx: -1 }; var map = []; for (var i=0; i < mixed_val.length; i++) { idxobj.idx++; var ser = trx_addons_serialize(mixed_val[i]); if (ser) map.push(trx_addons_serialize(idxobj.idx) + ser); } return "a:" + mixed_val.length + ":{" + map.join("") + "}"; } else { var class_name = trx_addons_get_class(mixed_val); if (class_name == undefined) return false; var props = new Array(); for (var prop in mixed_val) { var ser = trx_addons_serialize(mixed_val[prop]); if (ser) props.push(trx_addons_serialize(prop) + ser); } if (obj_to_array) return "a:" + props.length + ":{" + props.join("") + "}"; else return "O:" + class_name.length + ":\"" + class_name + "\":" + props.length + ":{" + props.join("") + "}"; } case "undefined": return "N;"; } return false; }; ( function( $ ) { var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", a256 = '', r64 = [256], r256 = [256], i = 0; var UTF8 = { encode: function(strUni) { var strUtf = strUni .replace( /[\u0080-\u07ff]/g, function(c) { var cc = c.charCodeAt(0); return String.fromCharCode(0xc0 | cc >> 6, 0x80 | cc & 0x3f); } ) .replace( /[\u0800-\uffff]/g, function(c) { var cc = c.charCodeAt(0); return String.fromCharCode(0xe0 | cc >> 12, 0x80 | cc >> 6 & 0x3F, 0x80 | cc & 0x3f); } ); return strUtf; }, decode: function(strUtf) { var strUni = strUtf .replace( /[\u00e0-\u00ef][\u0080-\u00bf][\u0080-\u00bf]/g, function(c) { var cc = ((c.charCodeAt(0) & 0x0f) << 12) | ((c.charCodeAt(1) & 0x3f) << 6) | (c.charCodeAt(2) & 0x3f); return String.fromCharCode(cc); } ) .replace( /[\u00c0-\u00df][\u0080-\u00bf]/g, function(c) { var cc = (c.charCodeAt(0) & 0x1f) << 6 | c.charCodeAt(1) & 0x3f; return String.fromCharCode(cc); } ); return strUni; } }; while( i < 256 ) { var c = String.fromCharCode(i); a256 += c; r256[i] = i; r64[i] = b64.indexOf(c); ++i; } function code(s, discard, alpha, beta, w1, w2) { s = String(s); var buffer = 0, i = 0, length = s.length, result = '', bitsInBuffer = 0; while (i < length) { var c = s.charCodeAt(i); c = c < 256 ? alpha[c] : -1; buffer = (buffer << w1) + c; bitsInBuffer += w1; while (bitsInBuffer >= w2) { bitsInBuffer -= w2; var tmp = buffer >> bitsInBuffer; result += beta.charAt(tmp); buffer ^= tmp << bitsInBuffer; } ++i; } if ( ! discard && bitsInBuffer > 0) { result += beta.charAt(buffer << (w2 - bitsInBuffer)); } return result; } var Plugin = $.trx_addons_encoder = function(dir, input, encode) { return input ? Plugin[dir](input, encode) : dir ? null : this; }; Plugin.btoa = Plugin.encode = function(plain, utf8encode) { plain = Plugin.raw === false || Plugin.utf8encode || utf8encode ? UTF8.encode(plain) : plain; plain = code(plain, false, r256, b64, 8, 6); return plain + '===='.slice((plain.length % 4) || 4); }; Plugin.atob = Plugin.decode = function(coded, utf8decode) { coded = String(coded).split('='); var i = coded.length; do { --i; coded[i] = code(coded[i], true, r64, a256, 6, 8); } while (i > 0); coded = coded.join(''); return Plugin.raw === false || Plugin.utf8decode || utf8decode ? UTF8.decode(coded) : coded; }; }(jQuery) ); window.trx_addons_debounce = function(func, wait, first_call) { var timeout; if ( first_call === undefined ) { first_call = true; } return function () { var context = this, args = arguments; var later = function later() { timeout = null; func.apply(context, args); }; var callNow = !timeout && first_call; clearTimeout(timeout); timeout = setTimeout(later, wait); if (callNow) { func.apply(context, args); } }; }; window.trx_addons_throttle = function(func, wait, debounce) { var timeout; return function () { var context = this, args = arguments; var throttler = function () { timeout = null; func.apply(context, args); }; if (debounce) clearTimeout(timeout); if (debounce || !timeout) timeout = setTimeout(throttler, wait); }; }; window.trx_addons_lerp = function(start, end, amt){ return (1 - amt) * start + amt * end; }; window.trx_addons_tween_value = function( args ) { if ( args.start == args.end ) { return null; } if ( ! args.time ) { args.time = 1; } var t = { value: args.start }; if ( typeof TweenMax != 'undefined' ) { return TweenMax.to( t, args.time, { overwrite: true, value: args.end, ease: args.ease ? args.ease : Power2.easeOut, onUpdate: function() { args.callbacks.onUpdate( t.value ); }, onComplete: function() { if ( args.callbacks.onComplete ) { args.callbacks.onComplete(); } } } ); } else { var amount = 0.1; var interval = Math.min( args.time * 1000 / 20, Math.max( 1, Math.round( args.time * 1000 / ( Math.abs( args.end - args.start ) / amount ) ) ) ); return setInterval( function() { t.value = trx_addons_lerp( t.value, args.end, amount ); args.callbacks.onUpdate( t.value ); if ( Math.abs(t.value - args.end) < 0.0001 ) { t.value = args.end; args.callbacks.onUpdate( t.value ); if ( args.callbacks.onComplete ) { args.callbacks.onComplete(); } } }, interval ); } }; window.trx_addons_tween_stop = function( handler ) { if ( typeof TweenMax != 'undefined' ) { if ( handler ) handler.kill(); } else { if ( handler ) clearTimeout( handler ); } }; ( function( $ ) { if ( typeof $.easing['easeInSine'] != 'undefined' ) return; var baseEasings = {}; $.each( [ "Quad", "Cubic", "Quart", "Quint", "Expo" ], function( i, name ) { baseEasings[ name ] = function( p ) { return Math.pow( p, i + 2 ); }; } ); $.extend( baseEasings, { Sine: function( p ) { return 1 - Math.cos( p * Math.PI / 2 ); }, Circ: function( p ) { return 1 - Math.sqrt( 1 - p * p ); }, Elastic: function( p ) { return p === 0 || p === 1 ? p : -Math.pow( 2, 8 * ( p - 1 ) ) * Math.sin( ( ( p - 1 ) * 80 - 7.5 ) * Math.PI / 15 ); }, Back: function( p ) { return p * p * ( 3 * p - 2 ); }, Bounce: function( p ) { var pow2, bounce = 4; while ( p < ( ( pow2 = Math.pow( 2, --bounce ) ) - 1 ) / 11 ) {} return 1 / Math.pow( 4, 3 - bounce ) - 7.5625 * Math.pow( ( pow2 * 3 - 2 ) / 22 - p, 2 ); } } ); $.each( baseEasings, function( name, easeIn ) { $.easing[ "easeIn" + name ] = easeIn; $.easing[ "easeOut" + name ] = function( p ) { return 1 - easeIn( 1 - p ); }; $.easing[ "easeInOut" + name ] = function( p ) { return p < 0.5 ? easeIn( p * 2 ) / 2 : 1 - easeIn( p * -2 + 2 ) / 2; }; } ); } )( jQuery ); window.trx_addons_transition_end = function() { var e = document.createElement("transitionDetector"), t = { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", transition: "transitionend" }, r = "transitionend"; for ( var n in t ) { if ( undefined !== e.style[n] ) { r = t[n]; break; } } return r; }; window.trx_addons_animation_end = function() { var e = document.createElement("animationDetector"), t = { animation: "animationend", OAnimation: "oAnimationEnd", MozAnimation: "animationend", WebkitAnimation: "webkitAnimationEnd" }, r = "animationend"; for ( var n in t ) { if ( undefined !== e.style[n] ) { r = t[n]; break; } } return r; }; var support = { transitions: window.Modernizr ? Modernizr.csstransitions : false, animations: window.Modernizr ? Modernizr.cssanimations : false }, trans_end_event_names = { 'WebkitTransition': 'webkitTransitionEnd', 'MozTransition': 'transitionend', 'OTransition': 'oTransitionEnd', 'msTransition': 'MSTransitionEnd', 'transition': 'transitionend' }, trans_end_event_name = window.Modernizr ? trans_end_event_names[ Modernizr.prefixed( 'transition' ) ] : trx_addons_transition_end(), anima_end_event_names = { 'WebkitAnimation': 'webkitAnimationEnd', 'MozAnimation': 'animationend', 'OAnimation': 'oAnimationEnd', 'msAnimation': 'MSAnimationEnd', 'animation': 'animationend' }, anima_end_event_name = window.Modernizr ? anima_end_event_names[ Modernizr.prefixed( 'animation' ) ] : trx_addons_animation_end(); window.trx_addons_on_end_transition = function( el, callback, timeout ) { var on_end_callback = function( e ) { if ( support.transitions ) { if ( e.target != this ) { return; } this.removeEventListener( trans_end_event_name, on_end_callback ); } if ( callback && typeof callback === 'function' ) { callback.call( this ); } }; if ( support.transitions ) { el.addEventListener( trans_end_event_name, on_end_callback, false ); } else { setTimeout( function() { if ( callback && typeof callback === 'function' ) { callback.call( this ); } }, timeout || 0 ); } }; window.trx_addons_on_end_animation = function( el, callback, timeout ) { var on_end_callback = function( e ) { if ( support.animations ) { if ( e.target != this ) { return; } this.removeEventListener( anima_end_event_name, on_end_callback ); } if ( callback && typeof callback === 'function' ) { callback.call( this ); } }; if ( support.animations ) { el.addEventListener( anima_end_event_name, on_end_callback, false ); } else { setTimeout( function() { if ( callback && typeof callback === 'function' ) { callback.call( this ); } }, timeout || 0 ); } }; var trx_addons_observers = {}; window.trx_addons_create_observer = function( id, obj, callback, args ) { if ( typeof window.MutationObserver !== 'undefined' && obj && obj.length ) { if ( typeof trx_addons_observers[ id ] == 'undefined' ) { var defa = { attributes: false, childList: true, subtree: true }; if ( args ) { defa = trx_addons_object_merge( defa, args ); } trx_addons_observers[ id ] = { observer: new MutationObserver( callback ), obj: obj.get(0) }; trx_addons_observers[ id ].observer.observe( trx_addons_observers[ id ].obj, defa ); } return true; } return false; }; window.trx_addons_remove_observer = function( id ) { if ( typeof window.MutationObserver !== 'undefined' ) { if ( typeof trx_addons_observers[ id ] !== 'undefined' ) { trx_addons_observers[ id ].observer.disconnect( ); delete trx_addons_observers[ id ]; } return true; } return false; }; window.trx_addons_check_mutations = function( mutations, selector, action ) { var rez = false; if ( typeof mutations != 'object' || ! mutations.hasOwnProperty( 'length' ) || ! mutations.length ) { return rez; } var nodes = false; for ( var i = 0; i < mutations.length; i++ ) { nodes = action == 'add' ? mutations[i].addedNodes : mutations[i].removedNodes; for ( var n = 0; n < nodes.length; n++ ) { var $node = jQuery( nodes[n] ); if ( selector.charAt(0) == '.' && $node.hasClass( selector.slice( 1 ) ) || selector.charAt(0) == '#' && $node.attr( 'id' ) == selector.slice( 1 ) ) { rez = true; break; } } if ( rez ) break; } return rez; }; var trx_addons_sticky_observers = {}; window.trx_addons_sticky_observer_create = function( id, obj, callback, args ) { if ( typeof window.IntersectionObserver !== 'undefined' && obj && obj.length ) { if ( typeof trx_addons_sticky_observers[ id ] == 'undefined' ) { var defa = { root: null, rootMargin: ( 1 + trx_addons_fixed_rows_height() ) + 'px 0px 0px 0px', threshold: 1 }; if ( args ) { defa = trx_addons_object_merge( defa, args ); } trx_addons_sticky_observers[ id ] = { observer: new IntersectionObserver( function( entries ) { entries.forEach( function( entry ) { var is_sticky = entry.isIntersecting && entry.intersectionRatio >= 1; jQuery( entry.target ).toggleClass( 'trx_addons_is_sticky', is_sticky ); if ( callback && typeof callback === 'function' ) { callback( entry, is_sticky ); } } ); }, defa ), obj: obj.get(0) }; trx_addons_sticky_observers[ id ].observer.observe( trx_addons_sticky_observers[ id ].obj ); } return true; } return false; }; window.trx_addons_sticky_observer_remove = function( id ) { if ( typeof window.IntersectionObserver !== 'undefined' ) { if ( typeof trx_addons_sticky_observers[ id ] !== 'undefined' ) { trx_addons_sticky_observers[ id ].observer.disconnect(); delete trx_addons_sticky_observers[ id ]; } return true; } return false; }; var filters = {}; var allow_wp_filters = true; window.trx_addons_add_filter = function( filter, callback, priority ) { if ( priority === undefined ) priority = 10; if ( allow_wp_filters && typeof wp != 'undefined' && typeof wp.hooks != 'undefined' && typeof wp.hooks.addFilter != 'undefined' ) { wp.hooks.addFilter( filter, 'trx_addons', callback, priority ); } else { if ( ! filters[filter] ) filters[filter] = {}; if ( ! filters[filter][priority] ) filters[filter][priority] = []; filters[filter][priority].push( callback ); } }; window.trx_addons_apply_filters = function( filter, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 ) { if ( allow_wp_filters && typeof wp != 'undefined' && typeof wp.hooks != 'undefined' && typeof wp.hooks.applyFilters != 'undefined' ) { arg1 = wp.hooks.applyFilters( filter, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 ); } else if ( typeof filters[filter] == 'object' ) { var keys = Object.keys(filters[filter]).sort(); for (var i=0; i < keys.length; i++ ) { for (var j=0; j < filters[filter][keys[i]].length; j++ ) { if ( typeof filters[filter][keys[i]][j] == 'function' ) { arg1 = filters[filter][keys[i]][j](arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); } } } } return arg1; }; window.trx_addons_add_action = function( action, callback, priority ) { if ( allow_wp_filters && typeof wp != 'undefined' && typeof wp.hooks != 'undefined' && typeof wp.hooks.addAction != 'undefined' ) { wp.hooks.addAction( action, 'trx_addons', callback, priority == undefined ? 10 : priority ); } else { trx_addons_add_filter( action, callback, priority ); } }; window.trx_addons_do_action = function( action, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 ) { if ( allow_wp_filters && typeof wp != 'undefined' && typeof wp.hooks != 'undefined' && typeof wp.hooks.doAction != 'undefined' ) { wp.hooks.doAction( action, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 ); } else { trx_addons_apply_filters( action, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 ); } }; })(); (function() { "use strict"; jQuery( document ).ready( function() { var ready_busy = true; var vc_init_counter = 0; var parallax_controller = null; var requestAnimationFrame = trx_addons_request_animation_frame(); var $window = jQuery( window ), $document = jQuery( document ), $html = jQuery( 'html' ), $body = jQuery( 'body' ); var $page_preloader = jQuery('#page_preloader'), $scroll_to_top = jQuery('.trx_addons_scroll_to_top'), $scroll_progress = $scroll_to_top.find('.trx_addons_scroll_progress'); var _video_sticky_fade = true; var $show_on_scroll, $banner_placeholder, $animated_elements, $animated_hover, $video_sticky, $fixed_columns, $stack_sections, $parallax_wrap, $video_tags, $iframe_tags, $video_autoplay, $video_autoplay_yt, $video_hovers_yt = false; var classes = trx_addons_browser_classes(); for ( var ua in classes ) { if ( $body.hasClass( 'ua_' + ua ) ) { if ( ! classes[ua] ) { $body.removeClass( 'ua_' + ua ); } } else if ( classes[ua] ) { $body.addClass( 'ua_' + ua ); } } $document.on( 'action.got_ajax_response', update_jquery_links ); $document.on( 'action.init_hidden_elements', update_jquery_links ); var first_run = true; function update_jquery_links(e) { if ( first_run && e && e.namespace == 'init_hidden_elements' ) { first_run = false; return; } $show_on_scroll = jQuery('.trx_addons_show_on_scroll'); $banner_placeholder = jQuery('.trx_addons_banner_placeholder'); $animated_elements = jQuery('[data-post-animation^="animated"]:not(.animated)'); $animated_hover = jQuery('[data-hover-animation^="animated"]:not(.animated)'); $video_sticky = jQuery('.trx_addons_video_sticky'); $fixed_columns = jQuery('.sc_column_fixed'); $stack_sections = jQuery('.sc_stack_section_on:not(.elementor-element-edit-mode)'); if ( $stack_sections.length > 0 ) { $body.addClass( 'sc_stack_section_present ' + ( window.trx_addons_browser_is_ios() ? 'ua_ios' : 'ua_not_ios' ) ); } $parallax_wrap = jQuery('.sc_parallax_wrap' ); $video_tags = jQuery('video'); $iframe_tags = jQuery('iframe'); if ( trx_addons_browser_is_ios() ) { $video_hovers_yt = jQuery('.video_hover[data-video*="youtu"],.post_video_hover[data-video*="youtu"],.trx_addons_video_list_controller_item[data-video*="youtu"]'); if ( $video_hovers_yt.length > 0 ) { embedYoutubeAPI(); } } trx_addons_find_video_autoplay(); } update_jquery_links(); function trx_addons_find_video_autoplay() { $video_autoplay = jQuery('.with_video_autoplay'); $video_autoplay_yt = $video_autoplay.find('iframe[src*="youtu"]'); } window.trx_addons_show_preloader = function() { if ( $page_preloader.length > 0 && ( ! jQuery.browser || ! jQuery.browser.safari ) && ! $body.hasClass( 'ua_safari' ) ) { $page_preloader.data('done', false); $document.trigger( 'action.page_preloader', [$page_preloader] ); if ( ! $page_preloader.data('done') ) { $page_preloader .css( { display: 'block', opacity: 0 } ) .animate( { opacity: $page_preloader.data('opacity') }, 300); setTimeout( trx_addons_hide_preloader, 5000 ); } } }; window.trx_addons_hide_preloader = function() { if ( $page_preloader.length > 0 ) { $page_preloader.data('done', false); $document.trigger( 'action.page_preloader_hide', [$page_preloader] ); if ( ! $page_preloader.data('done') && $page_preloader.css('opacity') > 0 ) { $page_preloader.animate( { opacity: 0 }, 800, function() { jQuery(this).css( { display: 'none' } ); } ); } } }; if ( $page_preloader.length > 0 ) { $page_preloader.data('opacity', $page_preloader.css('opacity')); $window.on( 'beforeunload', function(e) { if ( typeof e.srcElement == 'undefined' || typeof e.srcElement.activeElement == 'undefined' || typeof e.srcElement.activeElement.href == 'undefined' || e.srcElement.activeElement.href.indexOf('//') === 0 || e.srcElement.activeElement.href.indexOf('http:') === 0 || e.srcElement.activeElement.href.indexOf('https:') === 0 ) { trx_addons_show_preloader(); } } ); $document.on( 'action.before_new_page_content', function( e, $link, show ) { if ( show || show === undefined ) { trx_addons_show_preloader(); } } ); $document.on( 'action.after_new_page_content', function( e, $link ) { trx_addons_hide_preloader(); } ); $document.on( 'click', 'a', function() { var href = jQuery(this).attr('href'); if ( href !== undefined && href.indexOf('//') !== 0 && href.indexOf('http:') !== 0 && href.indexOf('https:') !== 0 ) { setTimeout( function() { if ( $page_preloader.css( 'display' ) == 'block' ) { $page_preloader.css( { display: 'none', opacity: 0 } ); } }, 1 ); } } ); } $document.on('action.init_trx_addons', function() { $document.on('keyup', function(e) { if (e.keyCode === 27) { jQuery( '.sc_layouts_panel_opened' ).each( function() { trx_addons_close_panel( jQuery(this) ); } ); } }); } ); trx_addons_intersection_observer_init(); trx_addons_init_actions(); function trx_addons_init_actions() { if (typeof TRX_ADDONS_STORAGE == 'undefined') { window.TRX_ADDONS_STORAGE = { 'vc_edit_mode': false, 'popup_engine': 'magnific' }; } if (TRX_ADDONS_STORAGE['vc_edit_mode'] && jQuery('.vc_empty-placeholder').length === 0 && vc_init_counter++ < 30) { setTimeout(trx_addons_init_actions, 200); return; } $document.trigger('action.before_init_trx_addons'); trx_addons_hide_preloader(); var msg = jQuery('.trx_addons_message_box_system'), msg_delay = 5000; if (msg.length > 0) { setTimeout(function() { msg.fadeIn().delay(msg_delay).fadeOut(); }, 1000); var login = jQuery('.trx_addons_login_link'); if (msg.hasClass('trx_addons_message_box_error') && login.length > 0) { setTimeout(function() { login.trigger('click'); }, 2000+msg_delay); } } if (typeof TRX_ADDONS_STORAGE['animate_to_hash']=='undefined' && !$body.hasClass('single-product')) { TRX_ADDONS_STORAGE['animate_to_hash'] = true; setTimeout(function() { var $mc4form = false; if (window.mc4wp_forms_config && window.mc4wp_forms_config.submitted_form && window.mc4wp_forms_config.submitted_form.element_id) { trx_addons_document_animate_to(window.mc4wp_forms_config.submitted_form.element_id); } else if ( TRX_ADDONS_STORAGE['animate_to_mc4wp_form_submitted'] && ( $mc4form = jQuery( '.mc4wp-form-submitted' ) ).length ) { trx_addons_document_animate_to( $mc4form ); } else if ( location.hash !== '' && location.hash != '#' && location.hash.indexOf('/') == -1 ) { var obj = jQuery(location.hash); if (obj.length > 0) { var off = obj.offset().top; if ( ! isNaN( off ) && ( ( trx_addons_fixed_rows_height() > 0 && off - trx_addons_window_scroll_top() < trx_addons_fixed_rows_height() + 60 ) || trx_addons_window_scroll_top() === 0 ) ) { trx_addons_document_animate_to(off - trx_addons_fixed_rows_height() - 60); } } } }, 600); } trx_addons_set_cookie('trx_addons_is_retina', trx_addons_is_retina() ? 1 : 0); $document.on( 'action.switch_to_mobile_layout', function() { jQuery('[data-hover-animation^="animated"]').each(function() { var $self = jQuery(this); var animation = $self.data('hover-animation'); var animation_out = $self.data('animation-out'); if (animation_out === undefined) animation_out = "none"; $self.removeClass(animation + ' ' + animation_out); }); }); trx_addons_ready_actions(); $document.trigger('action.before_ready_trx_addons'); $document.trigger('action.ready_trx_addons'); $document.trigger('action.after_ready_trx_addons'); $document.on( 'action.init_hidden_elements', function( e, cont ) { trx_addons_ready_actions(e, cont); $window.trigger('scroll'); } ); var vc_js = false; $document.on('vc_js', function() { if ( ! vc_js ) { vc_js = true; trx_addons_add_handlers(); } }); setTimeout(function() { if ( ! vc_js ) { trx_addons_add_handlers(); } }, 1); function trx_addons_add_handlers() { trx_addons_resize_actions(); $window.on( 'resize', function() { trx_addons_resize_actions(); } ); function trx_addons_scroll_start( force ) { if ( requestAnimationFrame && ! force ) { if ( ! TRX_ADDONS_STORAGE['scroll_busy'] ) { TRX_ADDONS_STORAGE['scroll_busy'] = true; requestAnimationFrame( trx_addons_scroll_actions ); } } else { TRX_ADDONS_STORAGE['scroll_busy'] = true; trx_addons_scroll_actions(); } } trx_addons_scroll_start(); $window.on( 'scroll', function() { trx_addons_scroll_start(); } ); if ( TRX_ADDONS_STORAGE['smooth_scroll'] > 0 && typeof TweenMax != 'undefined' ) { var $scroll_target = $window; var scroll_time = trx_addons_apply_filters( 'trx_addons_filter_smooth_scroll_time', 0.8 ); var scroll_distance = trx_addons_apply_filters( 'trx_addons_filter_smooth_scroll_distance', 400 ); var ie_mobile = -1 !== navigator.userAgent.indexOf("IEMobile"), is_mobile = trx_addons_browser_is_mobile() || $body.hasClass('ua_mobile'); var scroll_busy = false; var scroll_coef = trx_addons_apply_filters( 'trx_addons_filter_smooth_scroll_coef', { start: 0.2, multi: 1.5, max: 1.5, value: 0.2 } ); var scroll_delta = 0; var scroll_tween = null; var clear_scroll_busy = trx_addons_throttle( function() { scroll_busy = false; if ( scroll_tween ) { scroll_tween.kill(); scroll_tween = false; } }, scroll_time * 1000 + 10, true ); window.smooth_scroll_listener = function( event ) { if ( trx_addons_window_width() < 768 ) { return; } if ( ! scroll_busy ) { var depth = 8; var $target = jQuery( event.target ); $scroll_target = $window; while( depth-- >= 0 ) { if ( [ 'scroll', 'auto' ].indexOf( $target.css('overflow-y') ) >= 0 ) { $scroll_target = $target; break; } $target = $target.parents( 'div,section,nav,ul' ).eq(0); } } if ( $scroll_target != $window ) { scroll_busy = true; setTimeout( function() { scroll_busy = false; }, scroll_time + 10 ); return; } event.preventDefault(); var delta = event.wheelDelta / 120 || -event.detail / 3; if ( trx_addons_browser_is_ios() ) delta = Math.max( -1, Math.min( 1, delta ) ); scroll_coef.value = scroll_busy && scroll_delta * delta > 0 ? Math.min( scroll_coef.max, scroll_coef.value * scroll_coef.multi ) : scroll_coef.start; scroll_delta = delta; var scroll_top = $scroll_target.scrollTop(); var scroll_to = scroll_top - parseInt( delta * scroll_coef.value * scroll_distance, 10 ); scroll_busy = true; if ( scroll_tween ) { scroll_tween.kill(); } scroll_tween = TweenMax.to( $scroll_target, scroll_time, { onStart: function() { scroll_busy = true; clear_scroll_busy(); trx_addons_do_action( 'trx_addons_action_smooth_scroll_start', this, $scroll_target, scroll_to, scroll_time ); }, onInterrupt: function() { scroll_busy = false; scroll_tween = null; trx_addons_do_action( 'trx_addons_action_smooth_scroll_interrupt', this, $scroll_target, scroll_to, scroll_time ); }, onComplete: function() { scroll_busy = false; scroll_tween = null; trx_addons_do_action( 'trx_addons_action_smooth_scroll_complete', this, $scroll_target, scroll_to, scroll_time ); }, onUpdate: function() { trx_addons_do_action( 'trx_addons_action_smooth_scroll_update', this, $scroll_target, scroll_to, scroll_time ); }, scrollTo: { y: scroll_to, autoKill: true }, ease: trx_addons_apply_filters( 'trx_addons_filter_smooth_scroll_ease', Power1.easeOut ), overwrite: true, tween_value: 100 } ); }; window.smooth_scroll_disable = function() { if (typeof smooth_scroll_listener !== 'undefined') { window.removeEventListener( 'mousewheel', smooth_scroll_listener, { passive: false } ); window.removeEventListener( 'DOMMouseScroll', smooth_scroll_listener, { passive: false } ); } }; window.smooth_scroll_enable = function() { if (typeof smooth_scroll_listener !== 'undefined') { window.addEventListener( 'mousewheel', smooth_scroll_listener, { passive: false } ); window.addEventListener( 'DOMMouseScroll', smooth_scroll_listener, { passive: false } ); } }; if ( ! ie_mobile && ! $html.hasClass( 'touch' ) ) { smooth_scroll_enable(); } } typeof window.wpb_prepare_tab_content == "function" && typeof window.wpb_prepare_tab_content_old == "undefined" && (window.wpb_prepare_tab_content_old = window.wpb_prepare_tab_content) && (window.wpb_prepare_tab_content = function(e, ui) { if (typeof ui.newPanel !== 'undefined' && ui.newPanel.length > 0) { $document.trigger( 'action.init_hidden_elements', [ui.newPanel] ); } else if (typeof ui.panel !== 'undefined' && ui.panel.length > 0) { $document.trigger( 'action.init_hidden_elements', [ui.panel] ); } window.wpb_prepare_tab_content_old(e, ui); } ); typeof window.vc_accordionActivate == "function" && typeof window.vc_accordionActivate_old == "undefined" && (window.vc_accordionActivate_old = window.vc_accordionActivate) && (window.vc_accordionActivate = function(e, ui) { if (typeof ui.newPanel !== 'undefined' && ui.newPanel.length > 0) { $document.trigger( 'action.init_hidden_elements', [ui.newPanel] ); } else if (typeof ui.panel !== 'undefined' && ui.panel.length > 0) { $document.trigger( 'action.init_hidden_elements', [ui.panel] ); } window.vc_accordionActivate_old(e, ui); } ); } $document.trigger('action.init_trx_addons'); $document.trigger('action.after_init_trx_addons'); } function trx_addons_ready_actions(e, container) { if (container === undefined) container = $body; if (TRX_ADDONS_STORAGE['animate_inner_links'] > 0 && !container.hasClass('animate_to_inited')) { container .addClass('animate_to_inited') .on('click', 'a', function(e) { var link_obj = jQuery(this); var link_parent = link_obj.parent(); if (link_parent.parent().hasClass('trx_addons_tabs_titles') || link_obj.hasClass('trx_addons_panel_link') || link_obj.hasClass('trx_addons_popup_link') || link_parent.hasClass('vc_tta-tab') || link_obj.hasClass('vc_pagination-trigger') || link_obj.hasClass('ui-tabs-anchor') || link_parent.hasClass('vc_tta-panel-title') || link_parent.hasClass('wpb_accordion_header') || link_parent.parents('.wc-tabs').length > 0 || link_parent.hasClass('elementor-tab-title') || link_parent.parents('ul[class*="tabs"]').length > 0 ) { return true; } var href = link_obj.attr('href'); if ( ! href || href == '#' ) return true; if ( trx_addons_is_local_link(href) ) { var pos = href.indexOf('#'), offset = 0; if ( pos >= 0 ) { href = href.substr( pos ); if ( jQuery(href).length > 0 ) { if ( $body.hasClass( 'menu_mobile_opened' ) ) { $body.removeClass( 'menu_mobile_opened' ); } $document.trigger( 'action.trx_addons_inner_links_click', [ link_obj, e ] ); trx_addons_document_animate_to( href ); e.preventDefault(); return false; } } } }); } if (TRX_ADDONS_STORAGE['add_target_blank'] > 0) { jQuery('a').filter(function() { return this.hostname && this.hostname !== location.hostname && this.pathname && ['.png', '.jpg', '.gif'].indexOf( this.pathname.slice( -4 ) ) < 0; }).each( function() { var link = jQuery(this), rel = link.attr('rel'); if ( link.attr('target') != '_blank' ) { link.attr('target', '_blank'); } if ( ! rel || rel.indexOf('nofollow') == -1 ) { link.attr('rel', ( rel ? rel + ' ' : '' ) + 'nofollow'); } }); } jQuery('figcaption').each( function() { var $self = jQuery(this); if ( $self.text() === '' ) { $self.hide(); } }); if (jQuery.ui && jQuery.ui.tabs) { var $tabs = container.find('.trx_addons_tabs:not(.inited)'); if ( $tabs.length > 0) { $tabs.each( function() { var $self = jQuery(this); var init = $self.data('active'); if (isNaN(init)) { init = 0; var active = $self.find('> ul > li[data-active="true"]').eq(0); if (active.length > 0) { init = active.index(); if (isNaN(init) || init < 0) init = 0; } } else { init = Math.max(0, init); } var disabled = []; $self.find('> ul > li[data-disabled="true"]').each( function() { disabled.push(jQuery(this).index()); }); $self.addClass('inited').tabs({ active: init, disabled: disabled, show: { effect: 'fadeIn', duration: 300 }, hide: { effect: 'fadeOut', duration: 300 }, create: function( event, ui ) { if ( ui.panel.length > 0 && ! ready_busy ) { $document.trigger( 'action.create_tab', [ui.panel] ); $document.trigger( 'action.init_hidden_elements', [ui.panel] ); } }, activate: function( event, ui ) { if ( ui.oldPanel.length > 0 && ! ready_busy ) { $document.trigger( 'action.deactivate_tab', [ui.oldPanel] ); } if ( ui.newPanel.length > 0 && ! ready_busy ) { $document.trigger( 'action.activate_tab', [ui.newPanel] ); $document.trigger( 'action.init_hidden_elements', [ui.newPanel] ); $window.trigger( 'resize' ); } } }); }); } } if (jQuery.ui && jQuery.ui.accordion) { var $accordion = container.find('.trx_addons_accordion:not(.inited)'); if ( $accordion.length > 0) { $accordion.each(function () { var accordion = jQuery(this); var headers = accordion.data('headers') || 'h5'; var height_style = accordion.data('height-style') || 'content'; var collapsible = accordion.data('collapsible') || false; var init = accordion.data('active'); var active = false; if ( isNaN( init ) ) { init = 0; active = accordion.find( headers + '[data-active="true"]' ).eq(0); if ( active.length > 0 ) { while ( ! active.parent().hasClass( 'trx_addons_accordion' ) ) { active = active.parent(); } init = active.index(); if ( isNaN( init ) || init < 0 ) init = 0; } } else { init = Math.max( 0, init ); } accordion.addClass('inited').accordion({ active: init, collapsible: collapsible, header: headers, heightStyle: height_style, create: function( event, ui ) { if ( ui.panel.length > 0 && ! ready_busy ) { $document.trigger( 'action.create_accordion', [ui.panel] ); $document.trigger( 'action.init_hidden_elements', [ui.panel] ); } else if ( active !== false && active.length > 0 ) { active.find('>'+headers).trigger('click'); } }, activate: function( event, ui ) { if (ui.oldPanel.length > 0 && ! ready_busy) { $document.trigger( 'action.deactivate_accordion', [ui.oldPanel] ); } if (ui.newPanel.length > 0 && ! ready_busy) { $document.trigger( 'action.activate_accordion', [ui.newPanel] ); $document.trigger( 'action.init_hidden_elements', [ui.newPanel] ); $window.trigger( 'resize' ); } } }); }); } } var cp = container.find('.trx_addons_color_selector:not(.inited)'), cp_created = false; if (cp.length > 0) { cp.addClass('inited').each( function() { var $self = jQuery(this); if ( $self.hasClass('iColorPicker') ) { if (!cp_created) { trx_addons_color_picker(); cp_created = true; } trx_addons_change_field_colors($self); $self .on('focus', function (e) { trx_addons_color_picker_show(null, jQuery(this), function(fld, clr) { fld.val(clr).trigger('change'); trx_addons_change_field_colors(fld); }); }) .on('change', function(e) { trx_addons_change_field_colors(jQuery(this)); }); } else if (typeof jQuery.fn.wpColorPicker != 'undefined') { $self.wpColorPicker({ change: function(e, ui){ jQuery(e.target).val(ui.color).trigger('change'); }, clear: function(e) { jQuery(e.target).prev().trigger('change'); } }); } }); } function trx_addons_change_field_colors(fld) { var clr = fld.val(), hsb = trx_addons_hex2hsb(clr); fld.css({ 'backgroundColor': clr, 'color': hsb['b'] < 70 ? '#fff' : '#000' }); } if (jQuery.ui && jQuery.ui.slider) { var $range_slider = container.find('.trx_addons_range_slider:not(.inited)'); if ($range_slider.length > 0) { $range_slider.each( function () { var range_slider = jQuery(this); var linked_field = range_slider.data('linked_field'); if (linked_field===undefined) linked_field = range_slider.prev('input[type="hidden"]'); else linked_field = jQuery('#'+linked_field); if (linked_field.length == 0) return; var range_slider_cur = range_slider.find('> .trx_addons_range_slider_label_cur'); var range_slider_min = range_slider.find('> .trx_addons_range_slider_label_min'); var range_slider_max = range_slider.find('> .trx_addons_range_slider_label_max'); var range_slider_type = range_slider.data('range'); if (range_slider_type===undefined) range_slider_type = 'min'; var values = linked_field.val().split(','); var minimum = range_slider.data('min'); if (minimum===undefined) minimum = 0; var maximum = range_slider.data('max'); if (maximum===undefined) maximum = 0; var step = range_slider.data('step'); if (step===undefined) step = 1; var init_obj = { range: range_slider_type, min: minimum, max: maximum, step: step, slide: function(event, ui) { trx_addons_range_slider_update_current_values_position(ui, range_slider_type === 'min' ? [ui.value] : ui.values); }, change: function(event, ui) { trx_addons_range_slider_update_current_values_position(ui, range_slider_type === 'min' ? [ui.value] : ui.values); }, create: function(event, ui) { trx_addons_range_slider_update_current_values_position(ui, values); } }; if (range_slider_type === true) { init_obj.values = values; } else { init_obj.value = values[0]; } range_slider.addClass('inited').slider(init_obj); function trx_addons_range_slider_update_current_values_position(ui, cur_values) { linked_field.val( cur_values.join(',') ).trigger('change'); for (var i=0; i < cur_values.length; i++) { range_slider_cur.eq(i) .html(cur_values[i]) .css('left', Math.max(0, Math.min(100, (cur_values[i]-minimum)*100/(maximum-minimum)))+'%'); if ( range_slider_type !== 'min' && range_slider_cur.eq(i).css( 'display' ) == 'none' ) { if ( i == 0 ) { range_slider_min.html( cur_values[i] ); } else { range_slider_max.html( cur_values[i] ); } } } } }); } } if (jQuery.fn && jQuery.fn.select2) { container.find('.trx_addons_select2:not(.inited)').addClass('inited').select2(); } var $play_on_hover = container.find( '.trx_addons_video_hover:not(.inited)' ); var touchstart_just_fired = false; if ( $play_on_hover.length > 0 ) { $play_on_hover .addClass( 'inited' ) .on( 'mouseenter touchstart', function(e) { var $self = jQuery( this ); if ( ! $self.hasClass( 'trx_addons_video_hover_play' ) && ( e.type != 'touchstart' || ! touchstart_just_fired ) ) { $self .data( 'trx-addons-user-actions', 1 ) .removeClass( 'trx_addons_video_hover_pause' ) .addClass( 'trx_addons_video_hover_play' ) .find( 'video' ).get(0).play(); touchstart_just_fired = true; setTimeout( function() { touchstart_just_fired = false; }, 300 ); } } ) .on( 'mouseleave touchstart', function(e) { var $self = jQuery( this ); if ( $self.hasClass( 'trx_addons_video_hover_play' ) && ( e.type != 'touchstart' || ! touchstart_just_fired ) ) { $self .data( 'trx-addons-user-actions', 1 ) .removeClass( 'trx_addons_video_hover_play' ) .addClass( 'trx_addons_video_hover_pause' ) .find( 'video' ).get(0).pause(); $self .find( '.trx_addons_video_subtitle_text' ) .one( typeof window.trx_addons_transition_end != 'undefined' ? trx_addons_transition_end() : 'transitionend', function() { $self.removeClass( 'trx_addons_video_hover_pause' ); } ); touchstart_just_fired = true; setTimeout( function() { touchstart_just_fired = false; }, 300 ); } } ); var $play_on_hover_autoplay = $play_on_hover.find( 'video[data-autoplay="1"]' ); if ( $play_on_hover_autoplay.length > 0 ) { trx_addons_intersection_observer_add( $play_on_hover_autoplay, function( item, enter ) { if ( item.data( 'trx-addons-user-actions' ) ) { trx_addons_intersection_observer_remove( item ); } else if ( enter ) { item .addClass( 'trx_addons_video_hover_play' ) .get(0).play(); } else { item .removeClass( 'trx_addons_video_hover_play' ) .get(0).pause(); } } ); } } var $video_hover = container.find('.trx_addons_video_player.with_cover .video_hover:not(.inited)'); if ( $video_hover.length > 0 ) { $video_hover .addClass( 'inited' ) .on( 'click', function(e) { var $self = jQuery( this ); if ( $self.hasClass( 'trx_addons_popup_link' ) ) { return true; } trx_addons_insert_video_iframe( $self.parents('.trx_addons_video_player').eq(0).addClass('video_play').find('.video_embed'), $self.data('video') ); var slider = $self.parents('.slider_swiper').eq(0); if ( slider.length > 0 ) { var id = slider.attr('id'); if ( typeof TRX_ADDONS_STORAGE['swipers'][id].autoplay != 'undefined' ) { TRX_ADDONS_STORAGE['swipers'][id].autoplay.stop(); id = slider.data('controller'); if ( id && TRX_ADDONS_STORAGE['swipers'][id+'_swiper'] ) { TRX_ADDONS_STORAGE['swipers'][id+'_swiper'].autoplay.stop(); } } } else { $self.fadeOut(); } e.preventDefault(); $document.trigger( 'action.init_hidden_elements', [$self.parents('.trx_addons_video_player').eq(0)] ); $window.trigger('resize'); return false; }) .parents('.trx_addons_video_player') .on( 'click', function(e) { var $self = jQuery(this); if ( ! $self.hasClass('video_play') ) { jQuery(this).find('.video_hover').trigger('click'); e.preventDefault(); return false; } } ); } var $video_controller = container.find('.trx_addons_video_list_controller_wrap:not(.inited)'); if ($video_controller.length > 0) { $video_controller .addClass('inited') .on('click', '.trx_addons_video_list_controller_item > a[href="#"]', function(e) { e.preventDefault(); var item = jQuery(this).parent(), video = item.data('video'), title = item.data('title'), video_wrap = item.parents('.trx_addons_video_list').find('.trx_addons_video_list_video_wrap .trx_addons_video_player').parent(); if ( ! item.hasClass('trx_addons_video_list_controller_item_active') && video && video_wrap.length == 1 ) { item.parent().find('.trx_addons_video_list_controller_item_active').removeClass('trx_addons_video_list_controller_item_active'); item.addClass('trx_addons_video_list_controller_item_active'); var autoplay = video_wrap.find('.with_video_autoplay'); if ( autoplay.length ) { autoplay .removeClass( 'with_video_autoplay video_autoplay_inited video_autoplay_started' ) .find('video_frame_controls').remove(); trx_addons_intersection_observer_remove( autoplay ); trx_addons_find_video_autoplay(); } video_wrap .fadeTo( 300, 0, function() { video_wrap.height( video_wrap.height() ); trx_addons_insert_video_iframe( video_wrap, video ); if ( title ) { video_wrap.append( title ); } video_wrap.find('video').removeAttr('width').removeAttr('height'); $document.trigger( 'action.init_hidden_elements', [video_wrap] ); $window.trigger( 'resize' ); video_wrap.height('auto'); } ) .fadeTo( 300, 1, function() { if ( item.data( 'autoplay' ) > 0 && video_wrap.find( '.trx_addons_video_player .video_hover').length > 0 ) { video_wrap.find( '.trx_addons_video_player .video_hover').eq(0).trigger( 'click' ); } } ); } return false; }); setTimeout( function() { $video_controller.find('[data-video]').each( function() { var video = jQuery(this).data('video'); if ( video ) { var img = jQuery('img', video); if ( img.length ) { var obj = new Image(); obj.src = img.attr('src'); } } } ); }, trx_addons_apply_filters('trx_addons_filter_video_controller_preload_images_timeout', 0) ); } $video_sticky.each( function() { var video = jQuery(this); video .find( '.trx_addons_video_sticky_close:not(.inited)' ) .addClass( 'inited' ) .on( 'click', function( e ) { e.preventDefault(); jQuery(this).hide(); trx_addons_intersection_observer_remove( video ); if ( _video_sticky_fade ) { video.addClass('trx_addons_video_sticky_on_fade').stop().animate({opacity:0}, 300, function() { video.parents('.post_featured').removeClass( 'with_video_sticky_on' ); video.height('auto').removeClass( 'trx_addons_video_sticky trx_addons_video_sticky_on trx_addons_video_sticky_on_fade' ).stop().animate({'opacity': 1}, 500); $video_sticky = jQuery('.trx_addons_video_sticky'); $window.trigger('resize'); }); } else { video.parents('.post_featured').removeClass( 'with_video_sticky_on' ); video.height('auto').removeClass('trx_addons_video_sticky trx_addons_video_sticky_on'); $video_sticky = jQuery('.trx_addons_video_sticky'); $window.trigger('resize'); } return false; } ); trx_addons_intersection_observer_add( video, function( item, enter, entry ) { var video = item, video_top = video.offset().top, video_height = video.height(); if ( ! enter ) { if ( ( typeof entry != 'object' || entry.boundingClientRect.top < 0 ) && ! video.hasClass('trx_addons_video_sticky_on') ) { if ( video.find( '.video_frame' ).html().trim().length > 30 ) { video.parents('.post_featured').addClass( 'with_video_sticky_on' ); if ( _video_sticky_fade ) { video.height( video_height ).css('opacity', 0).addClass( 'trx_addons_video_sticky_on' ).stop().animate({opacity:1}, 500); } else { video.height( video_height ).addClass( 'trx_addons_video_sticky_on' ); } } } } else { if ( video.hasClass('trx_addons_video_sticky_on') && ! video.hasClass('trx_addons_video_sticky_on_fade') ) { if ( _video_sticky_fade ) { video.addClass('trx_addons_video_sticky_on_fade').stop().animate({opacity:0}, 300, function() { video.parents('.post_featured').removeClass( 'with_video_sticky_on' ); video.height('auto').removeClass( 'trx_addons_video_sticky_on trx_addons_video_sticky_on_fade' ).stop().animate({'opacity': 1}, 500); $window.trigger('resize'); }); } else { video.parents('.post_featured').removeClass( 'with_video_sticky_on' ); video.height('auto').removeClass( 'trx_addons_video_sticky_on' ); $window.trigger('resize'); } } } } ); } ); $video_autoplay.each( function() { var $self = jQuery(this); if ( $self.find('iframe[src*="youtu"]').length === 0 ) { $self.find('.video_frame').addClass('video_frame_visible'); } } ); if (TRX_ADDONS_STORAGE['popup_engine'] == 'pretty') { container .find( trx_addons_apply_filters( 'pretty-init-images', 'a[href$="jpg"]:not(.inited):not([target="_blank"]):not([download])' +',a[href$="jpeg"]:not(.inited):not([target="_blank"]):not([download])' +',a[href$="png"]:not(.inited):not([target="_blank"]):not([download])' +',a[href$="gif"]:not(.inited):not([target="_blank"]):not([download])' ) ) .each( function() { var $self = jQuery(this); if ( ! $self.parent().hasClass('woocommerce-product-gallery__image')) { $self.attr('rel', 'prettyPhoto[slideshow]'); } }); var images = container.find( trx_addons_apply_filters( 'pretty-init-images-selector', 'a[rel*="prettyPhoto"]' + ':not(.inited)' + ':not(.esgbox)' + ':not(.fancybox)' + ':not([target="_blank"])' + ':not([data-rel*="pretty"])' + ':not([rel*="magnific"])' + ':not([data-rel*="magnific"])' + ':not([data-elementor-lightbox-slideshow])' + ':not([data-elementor-open-lightbox="yes"])' + ':not([data-elementor-open-lightbox="default"])' ) ).addClass('inited'); if ( images.length > 0 ) { try { images.prettyPhoto( trx_addons_apply_filters( 'pretty-init-images-params', { social_tools: '', theme: 'facebook', deeplinking: false } ) ); } catch (e) {} } } else if (TRX_ADDONS_STORAGE['popup_engine']=='magnific' && typeof jQuery.fn.magnificPopup != 'undefined') { container .find( trx_addons_apply_filters( 'mfp-init-images', 'a[href$="jpg"]:not(.inited):not([target="_blank"]):not([download])' +',a[href$="jpeg"]:not(.inited):not([target="_blank"]):not([download])' +',a[href$="png"]:not(.inited):not([target="_blank"]):not([download])' +',a[href$="gif"]:not(.inited):not([target="_blank"]):not([download])' ) ) .each( function() { var $self = jQuery(this); if ( trx_addons_apply_filters( 'mfp-init-images-allow', $self.closest('.cq-dagallery').length === 0 && $self.closest('.woocommerce-product-gallery__image').length === 0 && ! $self.hasClass('prettyphoto') && ! $self.hasClass('esgbox'), $self ) ) { $self.attr('rel', 'magnific'); } }); var images = container.find( trx_addons_apply_filters( 'mfp-init-images-selector', 'a[rel*="magnific"]' + ':not(.inited)' + ':not(.esgbox)' + ':not(.fancybox)' + ':not([target="_blank"])' + ':not([download])' + ':not(.prettyphoto)' + ':not([rel*="pretty"])' + ':not([data-rel*="pretty"])' + ':not([data-elementor-lightbox-slideshow])' + ':not([data-elementor-open-lightbox="yes"])' + ':not([data-elementor-open-lightbox="default"])' ) ).addClass('inited'); if ( images.length > 0 ) { setTimeout(function() { images.off('click.prettyphoto'); }, 100); try { images.magnificPopup( trx_addons_apply_filters( 'mfp-init-images-params', { type: 'image', mainClass: 'mfp-img-mobile', closeOnContentClick: true, closeBtnInside: true, fixedContentPos: true, midClick: true, preloader: true, tLoading: TRX_ADDONS_STORAGE['msg_magnific_loading'], tClose: TRX_ADDONS_STORAGE['msg_magnific_close'], closeMarkup: '<button title="%title%" aria-label="%title%" type="button" class="mfp-close"><span class="mfp-close-icon">&#215;</span></button>', gallery:{ enabled: true }, image: { tError: TRX_ADDONS_STORAGE['msg_magnific_error'], verticalFit: true, titleSrc: function(item) { var title = '', $el = typeof item.el != 'undefined' ? jQuery( item.el ) : null; if ( $el && $el.length > 0 ) { var $next = $el.next(); if ( $next.length > 0 && $next.get(0).tagName == 'FIGCAPTION' ) { title = $next.text(); } else if ( $el.attr( 'title' ) ) { title = $el.attr( 'title' ); } else { var $img = $el.find( 'img' ); if ( $img.length > 0 ) { title = $img.attr( 'alt' ); if ( ! title ) { title = $img.data('caption'); } } } } return title; } }, zoom: { enabled: true, duration: 300, easing: 'ease-in-out', opener: function(openerElement) { if (!openerElement.is('img')) { if (openerElement.parents('.trx_addons_hover').find('img').length > 0) openerElement = openerElement.parents('.trx_addons_hover').find('img'); else if (openerElement.find('img').length > 0) openerElement = openerElement.find('img'); else if (openerElement.siblings('img').length > 0) openerElement = openerElement.siblings('img'); else if (openerElement.parent().parent().find('img').length > 0) openerElement = openerElement.parent().parent().find('img'); } return openerElement; } }, callbacks: { beforeClose: function(){ jQuery('.mfp-figure figcaption').hide(); jQuery('.mfp-figure .mfp-arrow').hide(); } } } ) ); } catch (e) {} } var on_leaving_site = [], in_page_edit_mode = $body.hasClass('elementor-editor-active') || $body.hasClass('wp-admin') || $body.hasClass('block-editor-page'); container.find('.sc_layouts_popup:not(.inited),.sc_layouts_panel:not(.inited)').each( function() { var $self = jQuery(this), id = $self.attr('id'), show = false; if (!id) return; var is_panel = $self.hasClass('sc_layouts_panel'), link = jQuery('a[href="#'+id+'"],' + ( is_panel ? '.trx_addons_panel_link[data-panel-id="'+id+'"]' : '.trx_addons_popup_link[data-popup-id="'+id+'"]' ) ); if (link.length === 0) { $body.append('<a href="#'+id+'" class="trx_addons_hidden"></a>'); link = jQuery('a[href="#'+id+'"]'); } if ($self.hasClass('sc_layouts_show_on_page_load')) { show = true; } else if ($self.hasClass('sc_layouts_show_on_page_load_once') && trx_addons_get_cookie('trx_addons_show_on_page_load_once_'+id) != '1') { trx_addons_set_cookie('trx_addons_show_on_page_load_once_'+id, '1'); show = true; } else if ($self.hasClass('sc_layouts_show_on_page_close') && trx_addons_get_cookie('trx_addons_show_on_page_close_'+id) != '1') { on_leaving_site.push({ link: link, id: id }); } if (show) { if ( ! in_page_edit_mode ) { setTimeout( function() { link.trigger('click'); }, $self.data('delay') > 0 ? $self.data('delay') * 1000 : 0 ); } } link .addClass(is_panel ? 'trx_addons_panel_link' : 'trx_addons_popup_link') .data('panel', $self); $self .addClass('inited') .on('click', '.sc_layouts_panel_close', function(e) { trx_addons_close_panel($self); e.preventDefault(); return false; }); }); if ( on_leaving_site.length > 0 && ! in_page_edit_mode ) { var showed = false; $window.on( 'mousemove', function(e) { if ( showed ) return; var y = typeof e.clientY != 'undefined' ? e.clientY : 999; if ( y < trx_addons_adminbar_height() + 15 ) { showed = true; on_leaving_site.forEach( function(item) { item.link.trigger('click'); trx_addons_set_cookie('trx_addons_show_on_page_close_'+item.id, '1'); }); } } ); } container.find( trx_addons_apply_filters( 'mfp-init-popup-selector', ".trx_addons_popup_link:not(.popup_inited)" ) ) .addClass('popup_inited') .magnificPopup( trx_addons_apply_filters( 'mfp-init-popup-params', { type: 'inline', focus: 'input', removalDelay: trx_addons_apply_filters('trx_addons_filter_close_popup_timeout', 0), tLoading: TRX_ADDONS_STORAGE['msg_magnific_loading'], tClose: TRX_ADDONS_STORAGE['msg_magnific_close'], closeBtnInside: true, closeMarkup: '<button title="%title%" aria-label="%title%" type="button" class="mfp-close"><span class="mfp-close-icon">&#215;</span></button>', callbacks: { beforeAppend: function () { var $mfp = this; $document.trigger('action.prepare_popup_elements', [$mfp.content, $mfp]); }, beforeOpen: function() { var $mfp = this; $document.trigger('action.open_popup_elements', [$mfp.content]); var wrap_animation_in = mfp_get_animation( $mfp, 'wrap', 'open' ), bg_animation_in = mfp_get_animation( $mfp, 'bg', 'open' ); if ( bg_animation_in ) { $mfp.bgOverlay.addClass(bg_animation_in); } if ( wrap_animation_in ) { $mfp.wrap.addClass(wrap_animation_in); } }, open: function () { trx_addons_prepare_popup_content(this.content, true); }, beforeClose: function() { var $mfp = this; $document.trigger('action.close_popup_elements', [$mfp.content]); var wrap_animation_in = mfp_get_animation( $mfp, 'wrap', 'open' ), bg_animation_in = mfp_get_animation( $mfp, 'bg', 'open' ), wrap_animation_out = mfp_get_animation( $mfp, 'wrap', 'close' ), bg_animation_out = mfp_get_animation( $mfp, 'bg', 'close' ), delay = wrap_animation_out ? trx_addons_apply_filters( 'mfp-init-popup-animations-duration', wrap_animation_out.indexOf('faster') != -1 ? 300 : ( wrap_animation_out.indexOf('fast') != -1 ? 500 : ( wrap_animation_out.indexOf('normal') != -1 ? 800 : ( wrap_animation_out.indexOf('slow') != -1 ? 2000 : ( wrap_animation_out.indexOf('slower') != -1 ? 3000 : 1000 ) ) ) ), wrap_animation_out ) : 0; $mfp.st.removalDelay += delay; if ( bg_animation_out ) { setTimeout( function() { $mfp.bgOverlay.removeClass(bg_animation_in).addClass(bg_animation_out); }, $mfp.st.removalDelay - delay ); } if ( wrap_animation_out ) { setTimeout( function() { $mfp.wrap.removeClass(wrap_animation_in).addClass(wrap_animation_out); }, $mfp.st.removalDelay - delay ); } }, close: function () { var $mfp = this; trx_addons_close_panel($mfp.content); }, resize: function () { var $mfp = this; trx_addons_resize_actions(jQuery($mfp.content)); } } } ) ); var mfp_get_animation = function( mfp, item, event, defa ) { var defaults = trx_addons_apply_filters( 'mfp-init-popup-animations', { 'wrap_open': 'fadeIn animated fast', 'wrap_close': 'fadeOut animated fast', 'bg_open': 'fadeIn animated fast', 'bg_close': 'fadeOut animated fast' } ); return mfp.st.el.attr('data-popup-'+item+'-'+event+'-animation') ? mfp.st.el.attr('data-popup-'+item+'-'+event+'-animation') : trx_addons_apply_filters( 'mfp-init-popup-'+item+'-'+event+'-animation', defa ? defa : defaults[item+'_'+event] ); }; container.find( trx_addons_apply_filters( 'init-panel-selector', ".trx_addons_panel_link:not(.panel_inited)" ) ) .addClass('panel_inited') .on('click', function(e) { var panel = jQuery(this).data('panel'); if ( ! panel.hasClass( 'sc_layouts_panel_opened' ) ) { $document.trigger('action.prepare_popup_elements', [panel]); trx_addons_prepare_popup_content(panel, true); panel.addClass('sc_layouts_panel_opened'); $document.trigger('action.opened_popup_elements', [panel]); if (panel.prev().hasClass('sc_layouts_panel_hide_content')) panel.prev().addClass('sc_layouts_panel_opened'); $body.addClass('sc_layouts_panel_opened sc_layouts_panel_opened_' + panel.data('panel-position')); var panel_class = panel.data('panel-class'); if ( panel_class ) { $body.addClass( panel_class + '_opened' ); } } else { trx_addons_close_panel(panel); } e.preventDefault(); return false; }); container.find('.sc_layouts_panel_hide_content:not(.inited)') .addClass('inited') .on('click', function(e) { trx_addons_close_panel(jQuery(this).next()); e.preventDefault(); return false; }); window.trx_addons_close_panel = function(panel) { if ( panel.hasClass('sc_layouts_panel') ) { $document.trigger('action.close_popup_elements', [panel]); } setTimeout( function() { panel.removeClass('sc_layouts_panel_opened'); if (panel.prev().hasClass('sc_layouts_panel_hide_content')) { panel.prev().removeClass('sc_layouts_panel_opened'); } $body.removeClass('sc_layouts_panel_opened sc_layouts_panel_opened_left sc_layouts_panel_opened_right sc_layouts_panel_opened_top sc_layouts_panel_opened_bottom'); var panel_class = panel.data('panel-class'); if ( panel_class ) { $body.removeClass( panel_class + '_opened' ); } if ( panel.data('popup-content') !== undefined ) { setTimeout( function() { panel.empty(); }, 500 ); } }, trx_addons_apply_filters('trx_addons_filter_close_panel_timeout', panel.hasClass('sc_layouts_panel') && panel.data('animation-delay') !== undefined ? panel.data('animation-delay') : 0, panel) ); }; window.trx_addons_prepare_popup_content = function(container, autoplay) { var wrapper = jQuery(container); if (wrapper.data('popup-content') === undefined) { var iframe = wrapper.find('iframe'); if ( wrapper.find('audio').length || wrapper.find('video').length || ( iframe.length && ( ( iframe.data('src') && iframe.data('src').search(/(youtu|vimeo|daily|facebook)/i) > 0 ) || ( iframe.attr('src') && iframe.attr('src').search(/(youtu|vimeo|daily|facebook)/i) > 0 ) ) ) ) { wrapper.data( 'popup-content', wrapper.html() ); } } else { wrapper.html( wrapper.data('popup-content') ); wrapper.find('.inited').removeClass('inited'); } wrapper.find('[data-src]').each(function() { jQuery(this).attr( 'src', jQuery(this).data('src') ); }); $document.trigger( 'action.init_hidden_elements', [wrapper] ); $document.trigger( 'action.init_popup_elements', [wrapper] ); if (autoplay) trx_addons_set_autoplay(wrapper); var frame = wrapper.find('.esg-grid'); if ( frame.length > 0 ) { var wrappers = [".esg-tc.eec", ".esg-lc.eec", ".esg-rc.eec", ".esg-cc.eec", ".esg-bc.eec"]; for (var i = 0; i < wrappers.length; i++) { frame.find(wrappers[i]+'>'+wrappers[i]).unwrap(); } } $window.trigger('resize'); }; } if ( TRX_ADDONS_STORAGE['ajax_views'] && ! TRX_ADDONS_STORAGE['post_views_counter_inited'] ) { TRX_ADDONS_STORAGE['post_views_counter_inited'] = true; $document.on( 'action.ready_trx_addons', function() { setTimeout( function() { jQuery.post( TRX_ADDONS_STORAGE['ajax_url'], { action: 'post_counter', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], post_id: TRX_ADDONS_STORAGE['post_id'], views: 1 } ).done( function( response ) { var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['ajax_error'] }; console.log(response); } if ( rez.error === '' ) { jQuery('.post_meta_single .post_meta_views .post_meta_number,.sc_layouts_title_meta .post_meta_views .post_meta_number').html(rez.counter); } $document.trigger( 'action.got_ajax_response', { action: 'post_counter', result: rez } ); } ); }, 10 ); } ); } var $likes = container.find('a.post_meta_likes:not(.inited),a.comment_counters_likes:not(.inited)'); if ($likes.length > 0) { var likes_busy = false; $likes .addClass('inited') .on('click', function(e) { if ( ! likes_busy) { likes_busy = true; var button = jQuery(this); var inc = button.hasClass('enabled') ? 1 : -1; var post_id = button.hasClass('post_meta_likes') ? button.data('postid') : button.data('commentid'); var cookie_likes = trx_addons_get_cookie(button.hasClass('post_meta_likes') ? 'trx_addons_likes' : 'trx_addons_comment_likes'); if (cookie_likes === undefined || cookie_likes===null) cookie_likes = ''; jQuery.post( TRX_ADDONS_STORAGE['ajax_url'], { action: button.hasClass('post_meta_likes') ? 'post_counter' : 'comment_counter', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], post_id: post_id, likes: inc }).done(function(response) { var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } if (rez.error === '') { var counter = rez.counter; if (inc == 1) { var title = button.data('title-dislike'); button.removeClass('enabled trx_addons_icon-heart-empty').addClass('disabled trx_addons_icon-heart'); cookie_likes += (cookie_likes.substr(-1)!=',' ? ',' : '') + post_id + ','; } else { var title = button.data('title-like'); button.removeClass('disabled trx_addons_icon-heart').addClass('enabled trx_addons_icon-heart-empty'); cookie_likes = cookie_likes.replace(','+post_id+',', ','); } button.data('likes', counter).attr('title', title).find(button.hasClass('post_meta_likes') ? '.post_meta_number' : '.comment_counters_number').html(counter); trx_addons_set_cookie( button.hasClass('post_meta_likes') ? 'trx_addons_likes' : 'trx_addons_comment_likes', cookie_likes, 365 * 24 * 60 * 60 * 1000); } else { alert(TRX_ADDONS_STORAGE['msg_error_like']); } likes_busy = false; $document.trigger( 'action.got_ajax_response', { action: button.hasClass('post_meta_likes') ? 'post_counter' : 'comment_counter', result: rez }); }); } e.preventDefault(); return false; }); } var $emotions = container.find('.trx_addons_emotions:not(.inited)'); if ($emotions.length > 0) { var emotions_busy = false; $emotions .addClass('inited') .on('click', '.trx_addons_emotions_item', function(e) { if (!emotions_busy) { emotions_busy = true; var button = jQuery(this); var button_active = button.parent().find('.trx_addons_emotions_active'); var post_id = button.data('postid'); jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'post_counter', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], post_id: post_id, emotion_inc: button.data('slug'), emotion_dec: button_active.length > 0 ? button_active.data('slug') : '', }).done(function(response) { var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } if (rez.error === '') { var cookie_likes = trx_addons_get_cookie('trx_addons_emotions'), cookie_likes_new = ','; if (cookie_likes) { cookie_likes = cookie_likes.split(','); for (var i=0; i<cookie_likes.length; i++) { if (cookie_likes[i] === '') continue; var tmp = cookie_likes[i].split('='); if (tmp[0] != post_id) cookie_likes_new += cookie_likes[i] + ','; } } cookie_likes = cookie_likes_new; if (button_active.length > 0) { button_active.removeClass('trx_addons_emotions_active'); } if (button_active.length == 0 || button.data('slug') != button_active.data('slug')) { button.addClass('trx_addons_emotions_active'); cookie_likes += (cookie_likes.substr(-1)!=',' ? ',' : '') + post_id + '=' + button.data('slug') + ','; } for (var i in rez.counter) { button.parent().find('[data-slug="'+i+'"] .trx_addons_emotions_item_number').html(rez.counter[i]); } trx_addons_set_cookie('trx_addons_emotions', cookie_likes, 365 * 24 * 60 * 60 * 1000); } else { alert(TRX_ADDONS_STORAGE['msg_error_like']); } emotions_busy = false; $document.trigger( 'action.got_ajax_response', { action: 'post_counter', result: rez }); }); } e.preventDefault(); return false; }); } var $share_caption = container.find('.socials_share .socials_caption:not(.inited)'); if ($share_caption.length > 0) { $share_caption.each(function() { jQuery(this).addClass('inited').on('click', function(e) { jQuery(this).siblings('.social_items').slideToggle(); e.preventDefault(); return false; }); }); } var $share_items = container.find('.socials_share .social_items:not(.inited)'); if ($share_items.length > 0) { $share_items.each(function() { jQuery(this) .addClass('inited') .on('click', '.social_item_popup', function(e) { var url = jQuery(this).data('link'); window.open(url, '_blank', 'scrollbars=0, resizable=1, menubar=0, left=100, top=100, width=480, height=400, toolbar=0, status=0'); e.preventDefault(); return false; }) .on('click', '.social_item[data-copy-link-url]', function(e) { var $self = jQuery(this), url = $self.data('copy-link-url'); if ( url != '' ) { trx_addons_copy_to_clipboard( url ); var msg = $self.data('message') ? $self.data('message') : TRX_ADDONS_STORAGE['msg_copied']; if ( msg ) { $self.attr('data-tooltip-text', msg); setTimeout( function() { $self.removeAttr('data-tooltip-text'); }, 3000 ); } } e.preventDefault(); return false; }); }); } $banner_placeholder.each( function() { var item = jQuery(this); if ( item.data('banner-show') == 'permanent' ) { if ( ! item.hasClass( 'inited' ) ) { item.addClass( 'inited' ); setTimeout( function() { item.after( item.data( 'banner' ) ); var banner = item.next(); item.remove(); if ( banner.hasClass( 'banner_hidden' ) ) { trx_addons_when_images_loaded( banner, function() { banner.slideDown(); } ); } }, item.data('banner-delay') ? item.data('banner-delay') : 0 ); } } else if ( item.data('banner-show') == 'scroll' ) { trx_addons_intersection_observer_add( item, function( item, enter ) { if ( ! item.hasClass('inited') && enter ) { item.addClass('inited'); trx_addons_intersection_observer_remove( item ); setTimeout( function() { item.after( item.data( 'banner' ) ); var banner = item.next(); item.remove(); if ( banner.hasClass( 'banner_hidden' ) ) { trx_addons_when_images_loaded( banner, function() { banner.slideDown(); } ); } }, item.data('banner-delay') ? item.data('banner-delay') : 0 ); } } ); } } ); container.find('.widget ul > li').each(function() { var $self = jQuery(this); if ($self.find('ul').length > 0) { $self.addClass('has_children'); } }); container.find('.widget_archive a:not(.inited)').each(function() { var $self = jQuery(this).addClass('inited'); var val = $self.html().split(' '); if (val.length > 1) { val[val.length-1] = '<span>' + val[val.length-1] + '</span>'; $self.html(val.join(' ')); } }); jQuery('.sc_layouts_menu_nav:not(.inited_cache)').each(function() { var $self = jQuery(this).addClass('inited_cache'); if ($self.find('.current-menu-item').length == 0 || $body.hasClass('blog_template')) { if (TRX_ADDONS_STORAGE['menu_cache'] === undefined) TRX_ADDONS_STORAGE['menu_cache'] = []; var id = $self.attr('id'); if (id === undefined) { id = ('sc_layouts_menu_nav_' + Math.random()).replace('.', ''); $self.attr('id', id); } TRX_ADDONS_STORAGE['menu_cache'].push('#'+id); } }); if (TRX_ADDONS_STORAGE['menu_cache'] && TRX_ADDONS_STORAGE['menu_cache'].length > 0) { var href = window.location.href; if ( href.slice(-1) == '/' ) { href = href.slice( 0, -1 ); } var href2 = href.indexOf( '#' ) == -1 && href.indexOf( '?' ) == -1 ? href + '/' : ''; for (var i = 0; i < TRX_ADDONS_STORAGE['menu_cache'].length; i++) { var menu = jQuery( TRX_ADDONS_STORAGE['menu_cache'][i]+':not(.prepared)' ); if ( menu.length === 0 ) { continue; } menu.addClass( 'prepared' ); menu.find( 'li' ).removeClass( 'current-menu-ancestor current-menu-parent current-menu-item current_page_item' ); menu.find( 'a[href="'+href+'"]' + ( href2 ? ',a[href="'+href2+'"]' : '' ) ).each( function( idx ) { var li = jQuery(this).parent(); li.addClass( 'current-menu-item' ); if ( li.hasClass( 'menu-item-object-page' ) ) { li.addClass('current_page_item'); } li = li.parents( 'li' ); for ( var j = 0; j < li.length; j++ ) { li.addClass( 'current-menu-ancestor' + ( j == 0 ? ' current-menu-parent' : '' ) ); } } ); } } jQuery("form:not([data-inited-validation])") .attr('data-inited-validation', 1) .on('change', 'input,select,textarea', function() { var $self = jQuery(this), $wrap = $self.parents('.error_field'); if ( $self.val() !== '' ) { if ( $self.hasClass( 'error_field' ) ) { $self.removeClass('error_field'); } else if ( $wrap.length > 0 ) { $wrap.removeClass('error_field'); } } }); jQuery("form#commentform:not(.inited_validation)") .addClass( 'inited_validation' ) .on( 'submit', function(e) { var rez = trx_addons_comments_validate( jQuery(this) ); if (!rez) { e.preventDefault(); } return rez; } ); function trx_addons_comments_validate(form) { form.find('input').removeClass('error_field'); var comments_args = { error_message_text: TRX_ADDONS_STORAGE['msg_validation_error'], error_message_show: true, error_message_time: 4000, error_message_class: 'trx_addons_message_box trx_addons_message_box_error', error_fields_class: 'error_field', exit_after_first_error: false, rules: [ { field: 'comment', min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_text_empty'] } } ] }; if (form.find('.comments_author input[aria-required="true"]').length > 0) { comments_args.rules.push( { field: 'author', min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_name_empty']}, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_name_long']} } ); } if (form.find('.comments_email input[aria-required="true"]').length > 0) { comments_args.rules.push( { field: 'email', min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_email_empty']}, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_email_long']}, mask: { value: TRX_ADDONS_STORAGE['email_mask'], message: TRX_ADDONS_STORAGE['msg_email_not_valid']} } ); } var error = trx_addons_form_validate(form, comments_args); return !error; } if ( $show_on_scroll.length > 0 ) { trx_addons_intersection_observer_add( $show_on_scroll ); } if ( TRX_ADDONS_STORAGE['disable_animation_on_mobile'] && $body.hasClass('ua_mobile') ) { jQuery('[data-post-animation^="animated"]').removeAttr('data-post-animation'); jQuery('[data-hover-animation^="animated"]').removeAttr('data-hover-animation'); $animated_elements = jQuery('[data-post-animation^="animated"]:not(.animated)'); $animated_hover = jQuery('[data-hover-animation^="animated"]:not(.animated)'); } if ( $animated_elements.length > 0 ) { trx_addons_intersection_observer_add( $animated_elements, function( item, enter ) { if ( ! item.hasClass('inited_animation') && enter ) { item.addClass('inited_animation'); trx_addons_intersection_observer_remove( item ); var animation = item.data('post-animation'); if ( ! animation ) animation = item.data('animation'); setTimeout( function() { item.addClass( animation ); item.removeAttr('data-post-animation'); $animated_elements = jQuery('[data-post-animation^="animated"]:not(.animated)'); $document.trigger('action.start_item_animation', [item]); }, 100 * trx_addons_random(0, 10) ); } } ); } container .find('[data-hover-animation^="animated"]') .closest('.elementor-column,.post_layout_custom') .each(function() { var $self = jQuery(this); if ($self.hasClass('hover-animation-inited')) return; $self.addClass('hover-animation-inited').hover( function(e) { jQuery(this).find('[data-hover-animation^="animated"]').each(function() { var obj = jQuery(this); var animation = obj.data('hover-animation'); var animation_in = obj.data('animation-in'); if (animation_in == undefined) animation_in = "none"; var animation_in_delay = obj.data('animation-in-delay'); if (animation_in_delay == undefined) animation_in_delay = 0; var animation_out = obj.data('animation-out'); if (animation_out == undefined) animation_out = "none"; if (animation_in != 'none') { setTimeout(function() { obj.removeClass(animation + ' ' + animation_out); obj.addClass(animation + ' ' + animation_in); }, animation_in_delay); } }); }, function(e) { jQuery(this).find('[data-hover-animation^="animated"]').each(function() { var obj = jQuery(this); var animation = obj.data('hover-animation'); var animation_in = obj.data('animation-in'); if (animation_in == undefined) animation_in = "none"; var animation_out = obj.data('animation-out'); if (animation_out == undefined) animation_out = "none"; var animation_out_delay = obj.data('animation-out-delay'); if (animation_out_delay == undefined) animation_out_delay = 0; if (animation_out != 'none') { setTimeout(function() { obj.removeClass(animation + ' ' + animation_in); obj.addClass(animation + ' ' + animation_out); }, animation_out_delay); } }); } ); }); if ( typeof ScrollMagic != 'undefined' ) { if ( parallax_controller === null ) { parallax_controller = new ScrollMagic.Controller( { globalSceneOptions: { triggerHook: "onEnter", duration: "200%" } } ); } $parallax_wrap.each( function() { var $self = jQuery( this ), id = $self.attr( 'id' ), speed = $self.data( 'parallax' ) ? Number( $self.data( 'parallax' ) ) : 0; if ( speed !== 0 && ! $self.hasClass( 'parallax_inited' ) ) { $self.addClass( 'parallax_inited' ); if ( ! id ) { id = 'sc_parallax_wrap_' + ( '' + Math.random() ).replace( '.', '' ); $self.attr( 'id', id ); } var selector = '#' + id + ( $self.find( '> .wp-caption' ).length > 0 ? '>.wp-caption' : '' ) + '>img'; new ScrollMagic .Scene( { triggerElement: '#' + id } ) .setTween( selector, { y: speed + "%", ease: Linear.easeNone } ) .addTo( parallax_controller ); } }); } if ( ! $scroll_to_top.hasClass('inited') ) { $scroll_to_top .addClass('inited') .on( 'click', function(e) { jQuery('html,body').animate( { scrollTop: 0 }, 'slow' ); e.preventDefault(); return false; } ); if ( $scroll_progress.length ) { $document.on( 'action.scroll_trx_addons', function() { var prc = trx_addons_document_height() > trx_addons_window_height() ? Math.min(100, Math.max(0, trx_addons_window_scroll_top() / ( trx_addons_document_height() - trx_addons_window_height() ) * 100)) : 100; if ( $scroll_progress.hasClass('trx_addons_scroll_progress_type_vertical') ) { $scroll_progress.height(prc+'%'); } else if ( $scroll_progress.hasClass('trx_addons_scroll_progress_type_horizontal') ) { $scroll_progress.width(prc+'%'); } else if ( $scroll_progress.hasClass('trx_addons_scroll_progress_type_box') || $scroll_progress.hasClass('trx_addons_scroll_progress_type_round') ) { var $bar = $scroll_progress.find('.trx_addons_scroll_progress_bar'); if ( $bar.length === 0 ) { $scroll_progress.append( '<svg viewBox="0 0 50 50">' + ( $scroll_progress.hasClass('trx_addons_scroll_progress_type_round') ? '<circle class="trx_addons_scroll_progress_bar" cx="25" cy="25" r="22"></circle>' : '<rect class="trx_addons_scroll_progress_bar" x="3" y="3" width="44" height="44"></rect>' ) + '</svg>' ); $bar = $scroll_progress.find('.trx_addons_scroll_progress_bar'); } var bar_max = parseFloat( $bar.css('stroke-dasharray') ); $bar.css( 'stroke-dashoffset', '' + Math.min( 1, 1 - prc / 100 ) * bar_max ); } } ); } } } function trx_addons_intersection_observer_init() { if ( typeof TRX_ADDONS_STORAGE == 'undefined' ) return; if ( typeof IntersectionObserver != 'undefined' ) { if ( typeof TRX_ADDONS_STORAGE['intersection_observer'] == 'undefined' ) { TRX_ADDONS_STORAGE['intersection_observer'] = new IntersectionObserver( function(entries) { entries.forEach( function( entry ) { trx_addons_intersection_observer_in_out( jQuery(entry.target), entry.isIntersecting || entry.intersectionRatio > 0 ? 'in' : 'out', entry ); }); }, { root: null, rootMargin: '0px', threshold: 0 } ); } } else { $window.on( 'scroll', function() { if ( typeof TRX_ADDONS_STORAGE['intersection_observer_items'] != 'undefined' ) { for ( var i in TRX_ADDONS_STORAGE['intersection_observer_items'] ) { if ( ! TRX_ADDONS_STORAGE['intersection_observer_items'][i] || TRX_ADDONS_STORAGE['intersection_observer_items'][i].length === 0 ) { continue; } var item = TRX_ADDONS_STORAGE['intersection_observer_items'][i], item_top = item.offset().top, item_height = item.height(); trx_addons_intersection_observer_in_out( item, item_top + item_height > trx_addons_window_scroll_top() && item_top < trx_addons_window_scroll_top() + trx_addons_window_height() ? 'in' : 'out' ); } } } ); } window.trx_addons_intersection_observer_in_out = function( item, state, entry ) { var callback = ''; if ( state == 'in' ) { if ( ! item.hasClass( 'trx_addons_in_viewport' ) ) { item.addClass( 'trx_addons_in_viewport' ); callback = item.data('trx-addons-intersection-callback'); if ( callback ) { callback( item, true, entry ); } } } else { if ( item.hasClass( 'trx_addons_in_viewport' ) ) { item.removeClass( 'trx_addons_in_viewport' ); callback = item.data('trx-addons-intersection-callback'); if ( callback ) { callback( item, false, entry ); } } } }; window.trx_addons_intersection_observer_add = function( items, callback ) { items.each( function() { var $self = jQuery( this ), id = $self.attr( 'id' ); if ( ! $self.hasClass( 'trx_addons_intersection_inited' ) ) { if ( ! id ) { id = 'io-' + ( '' + Math.random() ).replace('.', ''); $self.attr( 'id', id ); } $self.addClass( 'trx_addons_intersection_inited' ); if ( callback ) { $self.data( 'trx-addons-intersection-callback', callback ); } if ( typeof TRX_ADDONS_STORAGE['intersection_observer_items'] == 'undefined' ) { TRX_ADDONS_STORAGE['intersection_observer_items'] = {}; } TRX_ADDONS_STORAGE['intersection_observer_items'][id] = $self; if ( typeof TRX_ADDONS_STORAGE['intersection_observer'] !== 'undefined' ) { TRX_ADDONS_STORAGE['intersection_observer'].observe( $self.get(0) ); } } } ); }; window.trx_addons_intersection_observer_remove = function( items ) { items.each( function() { var $self = jQuery( this ), id = $self.attr( 'id' ); if ( $self.hasClass( 'trx_addons_intersection_inited' ) ) { $self.removeClass( 'trx_addons_intersection_inited' ); delete TRX_ADDONS_STORAGE['intersection_observer_items'][id]; if ( typeof TRX_ADDONS_STORAGE['intersection_observer'] !== 'undefined' ) { TRX_ADDONS_STORAGE['intersection_observer'].unobserve( $self.get(0) ); } } } ); }; } window.trx_addons_scroll_actions = function() { if ( trx_addons_window_scroll_top() > 0 ) { if ( ! $body.hasClass( 'trx_addons_page_scrolled' ) ) { $body.addClass( 'trx_addons_page_scrolled' ); } } else if ( $body.hasClass( 'trx_addons_page_scrolled' ) ) { $body.removeClass( 'trx_addons_page_scrolled' ); } if ( $scroll_to_top.length > 0 ) { if ( trx_addons_window_scroll_top() > 100 ) { if ( ! $scroll_to_top.hasClass( 'show' ) ) { $scroll_to_top.addClass('show'); $body.addClass( 'trx_addons_scroll_to_top_show' ); } } else { if ( $scroll_to_top.hasClass( 'show' ) ) { $scroll_to_top.removeClass('show'); $body.removeClass( 'trx_addons_scroll_to_top_show' ); } } } if ( ['top', 'bottom', 'fixed'].indexOf( TRX_ADDONS_STORAGE['scroll_progress'] ) >= 0 ) { trx_addons_show_scroll_progress(); } $show_on_scroll.each( function() { var item = jQuery(this); if ( item.hasClass( 'trx_addons_in_viewport' ) ){ if ( item.offset().top < trx_addons_window_scroll_top() + trx_addons_window_height() * 0.75 ) { item.removeClass( 'trx_addons_show_on_scroll' ).addClass( 'trx_addons_showed_on_scroll' ); trx_addons_intersection_observer_remove( item ); $show_on_scroll = jQuery('.trx_addons_show_on_scroll'); } } } ); $document.trigger('action.before_scroll_trx_addons'); $document.trigger('action.scroll_trx_addons'); $document.trigger('action.after_scroll_trx_addons'); TRX_ADDONS_STORAGE['scroll_busy'] = false; }; function trx_addons_show_scroll_progress() { if ( TRX_ADDONS_STORAGE['scroll_progress_status'] == undefined ) { $body.append('<div class="scroll_progress_wrap scroll_progress_'+TRX_ADDONS_STORAGE['scroll_progress']+'"><span class="scroll_progress_status"></span></div>'); TRX_ADDONS_STORAGE['scroll_progress_status'] = jQuery( '.scroll_progress_wrap .scroll_progress_status' ); trx_addons_get_scroll_posts(); TRX_ADDONS_STORAGE['scroll_progress_status'].on('click', function(e) { var prc = e.pageX / jQuery(this).parent().width(); if ( TRX_ADDONS_STORAGE['scroll_posts'] != undefined && TRX_ADDONS_STORAGE['scroll_posts'].length > 0 ) { var cur_post = trx_addons_detect_current_scroll_post(), pt = cur_post.data('post-top'), ph = cur_post.data('post-height'); trx_addons_document_animate_to( Math.round( ph * prc + pt - wh / 2 ) ); } else { trx_addons_document_animate_to( Math.round( ( trx_addons_document_height() - trx_addons_window_height() ) * prc ) ); } e.preventDefault(); return false; }); } var st = trx_addons_window_scroll_top(), wh = trx_addons_window_height(), new_width = '0%'; if ( TRX_ADDONS_STORAGE['scroll_posts'] !== undefined && TRX_ADDONS_STORAGE['scroll_posts'].length > 0 ) { var cur_post = trx_addons_detect_current_scroll_post(), pt = cur_post.data('post-top'), ph = cur_post.data('post-height'); new_width = ( st < 10 ? 0 : Math.min( 100, Math.round( ( st + wh / 2 - pt ) * 100 / ph ) ) ) + '%'; TRX_ADDONS_STORAGE['scroll_progress_status'].width( new_width ); } else { new_width = Math.min( 100, Math.round( st * 100 / ( trx_addons_document_height() - wh ) ) ) + '%'; TRX_ADDONS_STORAGE['scroll_progress_status'].width( new_width ); } } function trx_addons_detect_current_scroll_post() { var cur_post = false; TRX_ADDONS_STORAGE['scroll_posts'].each( function() { var post = jQuery(this), st = trx_addons_window_scroll_top(), wh = trx_addons_window_height(), pt = post.data('post-top'), ph = post.data('post-height'); if ( pt < st + wh / 2 ) { cur_post = post; } }); if ( ! cur_post ) { cur_post = TRX_ADDONS_STORAGE['scroll_posts'].eq( TRX_ADDONS_STORAGE['scroll_posts'].length - 1 ); } return cur_post; } $document.on('action.new_post_added', trx_addons_get_scroll_posts); function trx_addons_get_scroll_posts() { TRX_ADDONS_STORAGE['scroll_posts'] = ( TRX_ADDONS_STORAGE['scroll_posts'] !== undefined && TRX_ADDONS_STORAGE['scroll_posts'].length > 0 ) || jQuery('.nav-links-single-scroll').length > 0 ? jQuery('.post_item_single') : false; trx_addons_get_scroll_posts_dimensions(); } $document.on('action.resize_trx_addons', trx_addons_get_scroll_posts_dimensions); function trx_addons_get_scroll_posts_dimensions() { if ( TRX_ADDONS_STORAGE['scroll_posts'] !== undefined && TRX_ADDONS_STORAGE['scroll_posts'].length > 0 ) { TRX_ADDONS_STORAGE['scroll_posts'].each( function() { var post = jQuery(this); post.data('post-height', post.height()) .data('post-top', post.offset().top); } ); } } if ( ! $body.hasClass( 'fixed_blocks_sticky' ) ) { $document.on('action.resize_trx_addons', trx_addons_fix_column); $document.on('action.scroll_trx_addons', trx_addons_fix_column); var trx_addons_fix_column = function (e, cont) { if ( $fixed_columns.length === 0 ) { return; } var force = e.namespace == 'resize_trx_addons'; $fixed_columns.each(function() { var col = jQuery(this), row = col.parent(); if ( col.attr('class').indexOf('vc_col-lg-') != -1 || col.attr('class').indexOf('vc_col-md-') != -1 ) { return; } else if ( trx_addons_window_width() < TRX_ADDONS_STORAGE['mobile_breakpoint_fixedcolumns_off'] ) { var old_style = col.data('old_style'); if (old_style !== undefined) { col.attr('style', old_style).removeAttr('data-old_style'); } } else { var col_height = col.outerHeight(); var row_height = row.outerHeight(); var row_top = row.offset().top; if (col_height < row_height && trx_addons_window_scroll_top() + trx_addons_fixed_rows_height() > row_top) { var col_init = { 'position': 'undefined', 'top': 'auto', 'bottom' : 'auto' }; if (typeof TRX_ADDONS_STORAGE['scroll_offset_last'] == 'undefined') { TRX_ADDONS_STORAGE['col_top_last'] = row_top; TRX_ADDONS_STORAGE['scroll_offset_last'] = trx_addons_window_scroll_top(); TRX_ADDONS_STORAGE['scroll_dir_last'] = 1; } var scroll_dir = trx_addons_window_scroll_top() - TRX_ADDONS_STORAGE['scroll_offset_last']; scroll_dir = scroll_dir == 0 ? TRX_ADDONS_STORAGE['scroll_dir_last'] : ( scroll_dir > 0 ? 1 : -1 ); var col_big = col_height + 30 >= trx_addons_window_height() - trx_addons_fixed_rows_height(), col_top = col.offset().top; if (col_top < 0) { col_top = TRX_ADDONS_STORAGE['col_top_last']; } if (col_big) { if (scroll_dir != TRX_ADDONS_STORAGE['scroll_dir_last'] && col.css('position') == 'fixed') { col_init.top = col_top - row_top; col_init.position = 'absolute'; } else if (scroll_dir > 0) { if (trx_addons_window_scroll_top() + trx_addons_window_height() >= row_top + row_height + 30) { col_init.bottom = 0; col_init.position = 'absolute'; } else if (trx_addons_window_scroll_top() + trx_addons_window_height() >= (col.css('position') == 'absolute' ? col_top : row_top) + col_height + 30) { col_init.bottom = 30; col_init.position = 'fixed'; } } else { if (trx_addons_window_scroll_top() + trx_addons_fixed_rows_height() <= col_top) { col_init.top = trx_addons_fixed_rows_height(); col_init.position = 'fixed'; } } } else { if (trx_addons_window_scroll_top() + trx_addons_fixed_rows_height() >= row_top + row_height - col_height) { col_init.bottom = 0; col_init.position = 'absolute'; } else { col_init.top = trx_addons_fixed_rows_height(); col_init.position = 'fixed'; } } if (force && col_init.position == 'undefined' && col.css('position') == 'absolute') { col_init.position = 'absolute'; if (col.css('top') != 'auto') { col_init.top = col.css('top'); } else { col_init.bottom = col.css('bottom'); } } if (col_init.position != 'undefined') { var style = col.attr('style'); if ( ! style ) style = ''; if ( ! col.prev().hasClass('sc_column_fixed_placeholder') ) { col.css(col_init); TRX_ADDONS_STORAGE['scroll_dir_last'] = 0; col.before('<div class="sc_column_fixed_placeholder '+col.attr('class').replace('sc_column_fixed', '')+'"' + (col.data('col') ? ' data-col="' + col.data('col') + '"' : '') + '></div>'); } col_init.left = col_init.position == 'fixed' ? col.prev().offset().left : col.prev().position().left; col_init.width = col.prev().width() + parseFloat(col.prev().css('paddingLeft')) + parseFloat(col.prev().css('paddingRight')); if ( force || col.css('position') != col_init.position || TRX_ADDONS_STORAGE['scroll_dir_last'] != scroll_dir || col.width() != col_init.width ) { if (col.data('old_style') === undefined) { col.attr('data-old_style', style); } col.css(col_init); } } TRX_ADDONS_STORAGE['col_top_last'] = col_top; TRX_ADDONS_STORAGE['scroll_offset_last'] = trx_addons_window_scroll_top(); TRX_ADDONS_STORAGE['scroll_dir_last'] = scroll_dir; } else { var old_style = col.data('old_style'); if (old_style !== undefined) { col.attr('style', old_style).removeAttr('data-old_style'); if ( col.prev().hasClass('sc_column_fixed_placeholder') ) { col.prev().remove(); } } } } }); }; } $document.on('action.resize_trx_addons', trx_addons_stack_section); $document.on('action.scroll_trx_addons', trx_addons_stack_section); function trx_addons_stack_section(e, cont) { if ( $stack_sections.length === 0 ) return; var force = e.namespace == 'resize_trx_addons', wso = trx_addons_window_scroll_top() + trx_addons_fixed_rows_height(); $stack_sections.each( function( idx ) { var row = jQuery(this), row_holder = false, row_height = 0, row_top = 0, use_sticky = $body.hasClass( 'fixed_blocks_sticky' ) && row.hasClass('sc_stack_section_effect_slide'); if ( trx_addons_window_width() < TRX_ADDONS_STORAGE['mobile_breakpoint_stacksections_off'] ) { if ( row.hasClass('sc_stack_section_fixed') ) { row.removeClass('sc_stack_section_fixed').prev().remove(); if ( ! use_sticky ) row.css( { top: row.data('old-top') } ); } } else { if ( row.hasClass('sc_stack_section_fixed') ) { row_holder = row.prev(); row_height = use_sticky ? row.outerHeight() : row_holder.outerHeight(); row_top = row_holder.offset().top; if ( row_top > wso ) { row.removeClass('sc_stack_section_fixed'); if ( ! use_sticky ) { row.css( { top: row.data('old-top') } ); } if ( row.hasClass( 'sc_stack_section_effect_fade' ) ) { row.css( { 'opacity': 0 } ); } row_holder.remove(); } else { if ( force ) { row_height = row.outerHeight(); if ( ! use_sticky ) { row_holder.height(row_height); row.css( { top: trx_addons_fixed_rows_height() + 'px !important' } ); } } if ( row.hasClass( 'sc_stack_section_effect_fade' ) ) { if ( wso - row_top <= row_height ) { row.css( { 'opacity': Math.max(0, Math.min( 1, ( wso - row_top ) / row_height ) ) } ); } else { row.css( { 'opacity': 1 } ); } } } } else { row_top = row.offset().top; if ( row_top <= wso ) { if ( ! use_sticky ) { row_height = row.outerHeight(); row .data( 'old-top', row.css('top') ) .css( { top: trx_addons_fixed_rows_height() + 'px'} ); } row .before('<div class="sc_stack_section_placeholder"' + ( ! use_sticky ? ' style="height:'+row_height+'px;"' : '' ) + '></div>') .addClass('sc_stack_section_fixed'); } } } } ); } function trx_addons_stack_section_zoom() { $stack_sections.each( function() { var targetElement = jQuery(this), zoom = targetElement.hasClass( 'sc_stack_section_zoom_on' ), transparency = targetElement.hasClass( 'sc_stack_section_transparency_on' ); if ( ! zoom && ! transparency ) { return; } var triggerElement = targetElement.next(); if ( ! triggerElement.length || ( triggerElement.hasClass( 'sc_stack_section_on' ) && ! triggerElement.hasClass( 'sc_stack_section_effect_slide' ) ) ) { return; } if ( ! TRX_ADDONS_STORAGE['GSAP_Plugin_ScrollTrigger'] ) { TRX_ADDONS_STORAGE['GSAP_Plugin_ScrollTrigger'] = true; gsap.registerPlugin( ScrollTrigger ); } var timeline = triggerElement.data( 'stack-section-timeline' ) ? triggerElement.data( 'stack-section-timeline' ) : null; if ( timeline ) { timeline.kill(); } timeline = gsap.timeline( { scrollTrigger: { trigger: triggerElement, start: "top 75%", end: "top top", scrub: 1 } } ); var duration = 1, from = { duration: duration }, to = { duration: duration }; if ( zoom ) { from.scale = "1"; to.scale = "0.8"; } if ( transparency ) { from.opacity = "1"; to.opacity = "0"; } timeline.fromTo( targetElement, from, to ); triggerElement.data( 'stack-section-timeline', timeline ); } ); } if ( $stack_sections.length && window.gsap ) { trx_addons_stack_section_zoom(); $document.on( 'action.resize_trx_addons', trx_addons_stack_section_zoom ); } window.trx_addons_resize_actions = function(cont) { if ( trx_addons_browser_is_touch() ) { if ( ! $body.hasClass( 'ua_touch' ) ) { $body.addClass( 'ua_touch' ); } } else { if ( $body.hasClass( 'ua_touch' ) ) { $body.removeClass( 'ua_touch' ); } } if (cont===undefined) cont = $body; $document.trigger('action.before_resize_trx_addons', [cont] ); $document.trigger('action.resize_trx_addons', [cont] ); $document.trigger('action.after_resize_trx_addons', [cont] ); }; $document.on('action.resize_trx_addons', trx_addons_resize_video); function trx_addons_resize_video(e, cont) { if ( $video_tags.length > 0 ) { $video_tags.each(function() { var $self = jQuery(this), classes = $self.attr( 'class' ); if ( ( ! TRX_ADDONS_STORAGE['resize_tag_video'] && $self.parents('.mejs-mediaelement').length === 0 ) || $self.hasClass('trx_addons_noresize') || classes.indexOf('_resize') > 0 || classes.indexOf('_noresize') > 0 || $self.parents('div:hidden,section:hidden,article:hidden').length > 0 ) { return; } var video = $self.addClass('trx_addons_resize').eq(0); var ratio = (video.data('ratio') !== undefined ? video.data('ratio').split(':') : [16,9]); ratio = ratio.length!=2 || ratio[0]==0 || ratio[1]==0 ? 16/9 : ratio[0]/ratio[1]; var mejs_cont = video.parents('.mejs-video').eq(0); var mfp_cont = video.parents( '.mfp-content' ).eq(0); var w_attr = video.data('width'); var h_attr = video.data('height'); if (!w_attr || !h_attr) { w_attr = video.attr('width'); h_attr = video.attr('height'); if ((!w_attr || !h_attr) && mejs_cont.length > 0) { w_attr = Math.ceil( mejs_cont.width() ); h_attr = Math.ceil( mejs_cont.height() ); } if (!w_attr || !h_attr) return; video.data({'width': w_attr, 'height': h_attr}); } var percent = (''+w_attr).substr(-1) == '%'; w_attr = parseInt( w_attr, 10 ); h_attr = parseInt( h_attr, 10 ); var w_real = Math.ceil( mejs_cont.length > 0 ? Math.min( percent ? 10000 : w_attr, mejs_cont.parents('div,article').eq(0).width() ) : Math.min( percent ? 10000 : w_attr, video.parents('div,article').eq(0).width() ) ); if ( mfp_cont.length > 0 ) { w_real = Math.max( Math.ceil( mfp_cont.width() ), w_real ); } var h_real = Math.ceil( percent ? w_real/ratio : w_real/w_attr*h_attr ); if ( parseInt( video.attr('data-last-width'), 10) == w_real ) { return; } if ( percent ) { video.height( h_real ); } else if ( video.parents('.wp-video-playlist').length > 0 ) { if ( mejs_cont.length === 0 ) { video.attr({'width': w_real, 'height': h_real}); } } else { video.attr({'width': w_real, 'height': h_real}).css({'width': w_real+'px', 'height': h_real+'px'}); if (mejs_cont.length > 0) { trx_addons_set_mejs_player_dimensions(video, w_real, h_real); } } video.attr('data-last-width', w_real); }); } if ( TRX_ADDONS_STORAGE['resize_tag_iframe'] && $iframe_tags.length > 0 ) { $iframe_tags.each(function() { var $self = jQuery(this); if ( $self.addClass('trx_addons_resize').parents('div:hidden,section:hidden,article:hidden').length > 0 || $self.hasClass('trx_addons_noresize') || $self.parent().is( 'rs-bgvideo' ) || $self.parents( 'rs-slide' ).length > 0 ) { return; } var iframe = $self.eq(0), iframe_src = iframe.attr('src') ? iframe.attr('src') : iframe.data('src'); if (iframe_src === undefined || iframe_src.indexOf('soundcloud') > 0) return; var w_attr = iframe.attr('width'); var h_attr = iframe.attr('height'); if ( ! w_attr || ! h_attr || w_attr <= trx_addons_apply_filters( 'trx_addons_filter_noresize_iframe_width', 325 ) ) { return; } var ratio = iframe.data('ratio') !== undefined ? iframe.data('ratio').split(':') : ( iframe.parent().data('ratio') !== undefined ? iframe.parent().data('ratio').split(':') : ( iframe.find('[data-ratio]').length>0 ? iframe.find('[data-ratio]').data('ratio').split(':') : [w_attr, h_attr] ) ); ratio = ratio.length != 2 || ratio[0] === 0 || ratio[1] === 0 ? 16 / 9 : ratio[0] / ratio[1]; var percent = ( '' + w_attr ).slice(-1) == '%'; w_attr = parseInt( w_attr, 10 ); h_attr = parseInt( h_attr, 10 ); var par = iframe.parents('div,section').eq(0), contains = iframe.data('contains-in-parent')=='1' || iframe.hasClass('contains-in-parent'), nostretch = iframe.data('no-stretch-to-parent')=='1' || iframe.hasClass('no-stretch-to-parent'), pw = Math.ceil( par.width() ), ph = Math.ceil( par.height() ), w_real = nostretch ? Math.min( w_attr, pw ) : pw, h_real = Math.ceil( percent ? w_real/ratio : w_real/w_attr*h_attr ); if ( contains && par.css('position') == 'absolute' && h_real > ph ) { h_real = ph; w_real = Math.ceil( percent ? h_real*ratio : h_real*w_attr/h_attr ); } if ( parseInt(iframe.attr('data-last-width'), 10) == w_real ) return; iframe.css({'width': w_real+'px', 'height': h_real+'px'}); iframe.attr('data-last-width', w_real); }); } } function trx_addons_set_mejs_player_dimensions(video, w, h) { if (mejs) { for (var pl in mejs.players) { if (mejs.players[pl].media.src == video.attr('src')) { if (mejs.players[pl].media.setVideoSize) { mejs.players[pl].media.setVideoSize(w, h); } else if (mejs.players[pl].media.setSize) { mejs.players[pl].media.setSize(w, h); } mejs.players[pl].setPlayerSize(w, h); mejs.players[pl].setControlsSize(); } } } } var initAPI = false; var initEvents = false; var process = false; var players = []; var attrs = []; var oldAPI = window.onYouTubeIframeAPIReady; var YTdeferred = jQuery.Deferred(); jQuery.fn.isInViewport = function() { var $self = jQuery(this); var $panel = $self.data( 'sc-panel-thumb' ); if ( ! $panel ) { $panel = $self.parents('.sc_panel_thumb'); $self.data( 'sc-panel-thumb', $panel ); } var rez = trx_addons_apply_filters( 'trx_addons_filter_element_in_viewport', $panel.length === 0 || $panel.hasClass('sc_panel_thumb_active'), $self ); if ( rez ) { var elementTop = $self.offset().top; var elementBottom = elementTop + $self.outerHeight(); var viewportTop = trx_addons_window_scroll_top(); var viewportBottom = viewportTop + trx_addons_window_height(); rez = elementTop >= viewportTop && elementTop <= viewportBottom || elementBottom >= viewportTop && elementBottom <= viewportBottom; } return rez; }; function embedYoutubeAPI() { if ( ! initAPI ) { var tag = document.createElement('script'); tag.src = 'https://www.youtube.com/iframe_api'; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); initAPI = true; } } window.onYouTubePlayerAPIReady = function() { if ( oldAPI && typeof oldAPI == 'function' ) oldAPI(); YTdeferred.resolve(window.YT); }; function initYoutubePlayer() { if (process) return; process = true; if ( $video_autoplay_yt.length ) { embedYoutubeAPI(); } if ( ! initAPI ) { process = false; return; } if ( typeof YTdeferred != 'undefined' ) { YTdeferred.done( function(YT) { $video_autoplay_yt.each( function() { var $self = jQuery(this); if ( $self.parents('.sc_layouts_submenu:not(.layouts_inited):not(:visible)').length ) return; var $frame = $self.parents('.video_frame').eq(0), $wrap = $self.parents('.with_video_autoplay').eq(0), $sticky = $self.parents('.trx_addons_video_sticky_inner').eq(0), isInit = $wrap.hasClass('video_autoplay_inited'), isInView = $wrap.isInViewport(), id = ! isInit ? Math.random().toString(36).substr(2, 9) : $wrap.attr('data-uid'); if ( ! isInit ) { $self.attr( 'id', id ); $wrap .addClass('video_autoplay_inited') .attr('data-uid', id); var videoID = $wrap.data('video-id'); if ( ! videoID ) { var src = ( $self.data('src') ? $self.data('src') : $self.attr('src') ).split('?'); videoID = src[0].substring( src[0].indexOf('/embed/') + 7 ); $wrap.data('video-id', videoID); } if ( ! videoID ) return; $frame.append( '<span class="video_frame_overlay"></span>' + '<span class="video_frame_controls">' + '<a class="video_frame_control_stop video_frame_link" href="https://youtube.com/watch?v='+videoID+'" target="_blank"></a>' + '<span class="video_frame_control_volume video_frame_control_volume_mute"></span>' + '<span class="video_frame_control_state video_frame_control_state_' + ( $self.attr( 'allow' ) && $self.attr( 'allow' ).indexOf( 'autoplay' ) >= 0 ? 'pause' : 'play' ) + '"></span>' + '</span>' ); trx_addons_intersection_observer_add( $wrap, function( item, enter ) { initYoutubePlayer(); } ); $frame.find('.video_frame_control_state').on('click', function() { var $self = jQuery(this); $self.toggleClass('video_frame_control_state_play video_frame_control_state_pause'); if ( $self.hasClass('video_frame_control_state_play') ) { $self.removeClass('video_frame_control_state_upause'); if ( typeof players[id].playVideo == 'function' ) players[id].playVideo(); } else { $self.addClass('video_frame_control_state_upause'); if ( typeof players[id].pauseVideo == 'function' ) players[id].pauseVideo(); } } ); $frame.find('.video_frame_control_stop').on('click', function() { var $self = jQuery(this); $self.siblings('.video_frame_control_state').removeClass('video_frame_control_state_play').addClass('video_frame_control_state_pause'); $self.addClass('video_frame_control_state_upause'); if ( typeof players[id].pauseVideo == 'function' ) players[id].pauseVideo(); } ); $frame.find('.video_frame_control_volume').on('click', function() { var $self = jQuery(this); $self.toggleClass('video_frame_control_volume_mute video_frame_control_volume_unmute'); if ( $self.hasClass('video_frame_control_volume_unmute') ) { if ( typeof players[id].unMute == 'function' ) players[id].unMute(); } else { if ( typeof players[id].mute == 'function' ) players[id].mute(); } } ); attrs[id] = { 'videoId': videoID, 'startSeconds': $self.data('video-start') || trx_addons_apply_filters( 'trx_addons_filter_youtube_autoplay_start_seconds', -1 ), 'suggestedQuality': 'hd720' }; if ( $self.data('video-end') ) { attrs[id]['endSeconds'] = $self.data('video-end'); } players[id] = new YT.Player( this, { playerVars: { autoplay: 0, autohide: 1, modestbranding: 1, rel: 0, showinfo: 0, controls: 0, disablekb: 1, enablejsapi: 1, iv_load_policy: 3, playsinline: 1, loop: 1 }, events: { 'onReady': function onReady(e) { players[id].mute(); }, 'onStateChange': function onStateChange(e) { if (e.data === 1) { $wrap.addClass('video_autoplay_started'); } else if (e.data === 0) { if ( attrs[id].startSeconds >= 0 ) { players[id].seekTo(attrs[id].startSeconds); } } } } } ); $frame.data('video-player', players[id]); } if ( isInit && isInView && ! $frame.hasClass('.video_frame_visible') ) { setTimeout( function() { $frame.fadeTo( 500, 1.0, function() { $frame.addClass('video_frame_visible'); }); }, trx_addons_apply_filters( 'trx_addons_filter_video_frame_timeout', 0 ) ); } var control = $wrap.find('.video_frame_control_state'); if ( isInit && typeof players[id].playVideo == 'function' && ! control.hasClass('video_frame_control_state_upause') && $sticky.length === 0 ) { if ( isInView && control.hasClass('video_frame_control_state_pause') ) { control.removeClass('video_frame_control_state_pause').addClass('video_frame_control_state_play'); players[id].playVideo(); } if ( ! isInView && control.hasClass('video_frame_control_state_play') ) { control.removeClass('video_frame_control_state_play').addClass('video_frame_control_state_pause'); players[id].pauseVideo(); } } } ); } ); } process = false; } initYoutubePlayer(); if ( ! initEvents ) { initEvents = true; $document.on( 'action.init_hidden_elements action.got_ajax_response action.after_show_submenu action.after_hide_submenu', trx_addons_debounce( function( e ) { initYoutubePlayer(); }, 50 ) ); $document.on( 'action.start_item_animation', function() { setTimeout( function() { initYoutubePlayer(); }, 10 ); } ); } ready_busy = false; } ); window.trx_addons_draw_arc_on_canvas = function(item, value) { var canvas = item.find('canvas'); if (canvas.length === 0) return; var digits = canvas.next(); var brd = parseInt(digits.css('border-top-width'), 10); var w = Math.ceil(digits.width()+2*brd); var needRepaint = false; if (canvas.attr('width') != w) { needRepaint = true; canvas.attr({ 'width': w, 'height': w }); } if (item.data('old-value') == value && !needRepaint) return; item.data('old-value', value); var percent = value * 100 / canvas.data('max-value'); var angle = 360 * percent / 100; var Ar = angle * Math.PI / 180; var canvas_dom = canvas.get(0); var context = canvas_dom.getContext('2d'); var r = (w - brd) / 2; var cx = w / 2; var cy = w / 2; context.beginPath(); context.clearRect(0, 0, w, w); context.arc(cx, cy, r, 0, Ar, false); context.imageSmoothingEnabled= true; context.lineWidth = brd; context.strokeStyle = canvas.data('color'); context.stroke(); }; })(); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; jQuery( 'form.trx_addons_popup_form_login:not(.inited)') .addClass('inited') .on( 'submit', function(e) { var rez = trx_addons_login_validate(jQuery(this)); if ( !rez ) { e.preventDefault(); } return rez; } ); jQuery( 'form.trx_addons_popup_form_register:not(.inited)') .addClass('inited') .on( 'submit', function(e) { var rez = trx_addons_registration_validate(jQuery(this)); if ( !rez ) { e.preventDefault(); } return rez; } ); function trx_addons_login_validate(form) { form.find('input').removeClass('trx_addons_field_error'); var error = trx_addons_form_validate(form, { error_message_time: 4000, exit_after_first_error: true, rules: [ { field: "log", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_login_empty'] }, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_login_long'] } }, { field: "pwd", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_password_empty'] }, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_password_long'] } } ] }); if (TRX_ADDONS_STORAGE['login_via_ajax'] && !error) { trx_addons_login_ajax_loading( form, true ); jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'trx_addons_login_user', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], redirect_to: form.find('input[name="redirect_to"]').length == 1 ? form.find('input[name="redirect_to"]').val() : '', remember: form.find('input[name="rememberme"]').val(), user_log: form.find('input[name="log"]').val(), user_pwd: form.find('input[name="pwd"]').val() }).done(function(response) { trx_addons_login_ajax_loading( form, false ); var rez = {}; try { rez = JSON.parse(response); } catch(e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } var result = form.find(".trx_addons_message_box") .removeClass("trx_addons_message_box_error") .removeClass("trx_addons_message_box_success"), result_timeout = 3000; if ( rez.error === '' ) { result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_login_success']); setTimeout( function() { if ( rez.redirect_to !== '' ) { location.href = trx_addons_add_to_url( rez.redirect_to.indexOf( 'action=confirm_email' ) != -1 ? rez.redirect_to.substr( 0, rez.redirect_to.indexOf('?') ) : rez.redirect_to, { rnd: ( '' + Math.random() ).replace( '.', '' ) } ); } else { location.href = trx_addons_add_to_url( location.href.indexOf( 'action=confirm_email' ) != -1 ? TRX_ADDONS_STORAGE['site_url'] : location.href, { rnd: ( '' + Math.random() ).replace( '.', '' ) } ); } }, result_timeout ); } else { result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_login_error'] + (rez.error!==undefined ? '<br>' + rez.error : '')); } result.fadeIn().delay(result_timeout).fadeOut(); jQuery(document).trigger(' action.got_ajax_response', { action: 'trx_addons_login_user', result: rez }); }); } return !TRX_ADDONS_STORAGE['login_via_ajax'] && !error; } function trx_addons_registration_validate(form) { form.find('input').removeClass('trx_addons_field_error'); var error = trx_addons_form_validate(form, { error_message_time: 4000, exit_after_first_error: true, rules: [ { field: "agree", state: { value: 'checked', message: TRX_ADDONS_STORAGE['msg_not_agree'] }, }, { field: "log", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_login_empty'] }, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_login_long'] } }, { field: "email", min_length: { value: 7, message: TRX_ADDONS_STORAGE['msg_email_not_valid'] }, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_email_long'] }, mask: { value: TRX_ADDONS_STORAGE['email_mask'], message: TRX_ADDONS_STORAGE['msg_email_not_valid'] } }, { field: "pwd", min_length: { value: 4, message: TRX_ADDONS_STORAGE['msg_password_empty'] }, max_length: { value: 60, message: TRX_ADDONS_STORAGE['msg_password_long'] } }, { field: "pwd2", equal_to: { value: 'pwd', message: TRX_ADDONS_STORAGE['msg_password_not_equal'] } } ] }); if (!error) { trx_addons_login_ajax_loading( form, true ); jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'trx_addons_registration_user', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], redirect_to: form.find('input[name="redirect_to"]').length == 1 ? form.find('input[name="redirect_to"]').val() : '', user_name: form.find('input[name="log"]').val(), user_email: form.find('input[name="email"]').val(), user_pwd: form.find('input[name="pwd"]').val() }).done(function(response) { trx_addons_login_ajax_loading( form, false ); var rez = {}; try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } var result = form.find(".trx_addons_message_box") .removeClass("trx_addons_message_box_error") .removeClass("trx_addons_message_box_success"), result_timeout = 3000; if (rez.error === '') { result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_registration_success']); if ( ! TRX_ADDONS_STORAGE['double_opt_in_registration'] ) { setTimeout( function() { if ( rez.redirect_to !== '' && trx_addons_apply_filters( 'trx_addons_filter_redirect_after_user_registration', false, rez.redirect_to ) ) { location.href = rez.redirect_to; } else { jQuery('#trx_addons_login_popup .trx_addons_tabs_title_login > a').trigger('click'); } }, result_timeout ); } else { result_timeout = 5000; setTimeout( function() { jQuery( '#trx_addons_login_popup .mfp-close').trigger( 'click' ); }, result_timeout ); } } else { result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_registration_error'] + (rez.error!==undefined ? '<br>' + rez.error : '')); } result.fadeIn().delay(result_timeout).fadeOut(); jQuery( document ).trigger( 'action.got_ajax_response', { action: 'trx_addons_registration_user', result: rez }); }); } return false; } function trx_addons_login_ajax_loading( form, on ) { var $popup = form.parents( ".trx_addons_popup" ); var $loading = $popup.find( ".trx_addons_loading" ); if ( $loading.length == 0 ) { $popup.append( '<div class="trx_addons_loading"></div>' ); $loading = $popup.find( " > .trx_addons_loading" ); } if ( on ) { $loading.fadeIn(); } else { $loading.fadeOut(); } } }); jQuery( document ).ready(function() { "use strict"; var $window = jQuery( window ), $document = jQuery( document ), $body = jQuery( 'body' ); var $equal_height, $pagination_infinite, $infinite_posts, $typed_entry; $document.on( 'action.init_hidden_elements', update_jquery_links ); $document.on( 'action.got_ajax_response', update_jquery_links ); var first_run = true; function update_jquery_links(e) { if ( first_run && e && e.namespace == 'init_hidden_elements' ) { first_run = false; return; } $equal_height = jQuery( '[data-equal-height],.trx_addons_equal_height' ); $pagination_infinite = jQuery( '.sc_item_pagination_infinite' ); $infinite_posts = $pagination_infinite.siblings('.sc_item_posts_container'); $typed_entry = jQuery('.sc_typed_entry'); } update_jquery_links(); if ( typeof TRX_ADDONS_STORAGE != 'undefined' ) { TRX_ADDONS_STORAGE['pagination_busy'] = false; } $document.on( 'action.init_hidden_elements', function() { var last_link = false, last_link_timer = null; jQuery('.sc_item_filters_tabs_open_on_hover:not(.inited)') .addClass('inited') .on('mouseenter', 'a', function(e) { last_link = jQuery(this); if ( last_link_timer !== null ) { clearTimeout( last_link_timer ); } last_link_timer = setTimeout( function() { last_link.trigger( 'click' ); last_link_timer = null; }, 300 ); } ); var popup_html = {}; function trx_addons_save_popup_html( $obj, restore ) { $obj.each( function( idx ) { var id = $obj.eq( idx ).attr( 'id' ); if ( ! id ) { $id = 'sc_popup_' + ('' + Math.random()).replace('.', ''); $obj.eq( idx ).attr( 'id', id ); } if ( ! popup_html.hasOwnProperty( id ) ) { popup_html[ id ] = $obj.eq( idx ).html(); } else if ( restore ) { $obj.eq( idx ).html( popup_html[ id ] ); } } ); } jQuery('.sc_item_filters:not(.inited),.sc_item_pagination:not(.inited)') .addClass('inited') .each( function() { var $self = jQuery( this ); if ( $self.hasClass( 'sc_item_filters' ) ) { trx_addons_save_popup_html( $self.parent().find('.sc_layouts_popup') ); } } ) .on('click', 'a', function(e) { var link = jQuery(this); if ( ! link.hasClass( 'active' ) && ! TRX_ADDONS_STORAGE['pagination_busy'] ) { var link_wrap = link.parents('.sc_item_filters,.sc_item_pagination'), load_more = link_wrap.hasClass('sc_item_pagination_load_more'), sc = link_wrap.parent(), set_min_height = trx_addons_apply_filters( 'trx_addons_filter_set_min_height_on_switch_tabs', true, sc ), posts = sc.find('.sc_item_posts_container,.sc_item_slider'), pagination_wrap = sc.find('.sc_item_pagination'); if ( link_wrap.hasClass('sc_item_filters') ) { var link_active = link_wrap.find('a.active'); if ( ! link_active.data( 'posts' ) ) { link_active.data( 'posts', posts.html() ); } link_active.data( 'pagination', pagination_wrap.length > 0 ? pagination_wrap.clone() : false ); } if ( link_wrap.hasClass('sc_item_filters') && link.data('posts') !== undefined ) { if ( set_min_height ) { sc.data( 'min-height', sc.css( 'min-height' ) ) .css( 'min-height', sc.height() ); } link_active.removeClass( 'active' ).parent().removeClass( 'sc_item_filters_tabs_active' ); link.addClass('active').parent().addClass( 'sc_item_filters_tabs_active' ); if ( pagination_wrap.length > 0 ) { pagination_wrap.fadeOut(); } posts.animate( { opacity: 0 }, 200, function() { $document.trigger( 'action.before_remove_content', [sc] ); trx_addons_replace_posts( posts, link.data('posts') ); trx_addons_replace_pagination( pagination_wrap, link.data('pagination'), posts ); $document.trigger( 'action.after_add_content', [sc] ); posts.find('.inited').removeClass('inited'); posts.find('.popup_inited').removeClass('popup_inited'); posts.find('.swiper-container-initialized').removeClass('swiper-container-initialized'); pagination_wrap.find('.inited').removeClass('inited'); $document.trigger( 'action.init_hidden_elements', [sc] ); $window.trigger( 'resize' ); setTimeout( function() { posts.animate( { opacity: 1 }, 200, function() { if ( sc.data('min-height') && set_min_height ) { sc.css( 'min-height', sc.data('min-height') ); } } ); }, 400 ); } ); } else { if ( load_more ) { var page = Number( link.data( 'page' ) ); var max_page = Number( link.data( 'max-page' ) ); if (page > max_page) { pagination_wrap.addClass( 'all_items_loaded' ).hide(); return false; } link_wrap.addClass('loading'); } else { posts.append('<div class="trx_addons_loading"></div>'); } TRX_ADDONS_STORAGE['pagination_busy'] = true; jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'trx_addons_item_pagination', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], params: pagination_wrap.length > 0 ? pagination_wrap.data('params') : link_wrap.data('params'), page: link.parents('.sc_item_filters').length > 0 ? 1 : link.data('page'), filters_active: link.parents('.sc_item_filters').length > 0 ? link.data('tab') : (link_wrap.siblings('.sc_item_filters').find('a.active').length > 0 ? link_wrap.siblings('.sc_item_filters').find('a.active').data('tab') : 'all' ) }).done(function(response) { var rez = {}; if (response==='' || response===0) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; } else { try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } } if (rez.error === '') { if (rez.css !== '') { var selector = 'trx_addons-inline-styles-inline-css', inline_css = jQuery('#'+selector); if (inline_css.length === 0) jQuery('body').append('<style id="'+selector+'" type="text/css">' + rez.css + '</style>'); else inline_css.append(rez.css); } if (load_more) { posts.removeClass( 'columns_in_single_row' ); if (posts.find('[class*="_tabs_list_item"]').length > 0) { posts.find('[class*="_tabs_list_item"]').parent().append(jQuery(rez.data).find('.sc_item_posts_container [class*="_tabs_list_item"]').parent().html()); posts.find('[class$="_tabs_content"]').append(jQuery(rez.data).find('.sc_item_posts_container [class$="_tabs_content"]').html()); posts.find('[class*="_tabs_list_item_active"]').each(function(idx) { if (idx > 0) { var classes = jQuery(this).attr('class').split(' '), found = false; for (var i=0; i<classes.length; i++) { if (classes[i].indexOf('_tabs_list_item_active') > 0) { classes[i] = ''; found = true; break; } } if (found) jQuery(this).attr('class', classes.join(' ')); } }); posts.find('[class$="_tabs_content"] [class*="_item_active"]').each(function(idx) { if (idx > 0) { var classes = jQuery(this).attr('class').split(' '), found = false; for (var i=0; i<classes.length; i++) { if (classes[i].indexOf('_item_active') > 0) { classes[i] = ''; found = true; break; } } if (found) jQuery(this).attr('class', classes.join(' ')); } }); } else { if (posts.hasClass('masonry_wrap')) { var items = jQuery(rez.data).find('.sc_item_posts_container .masonry_item'); if (items.length > 0) { items.addClass( 'just_loaded_items hidden' ); posts.append( items ); var just_loaded_items = posts.find( '.just_loaded_items' ); trx_addons_when_images_loaded( just_loaded_items, function() { just_loaded_items.removeClass( 'hidden' ); posts.masonry( 'appended', items ).masonry(); } ); setTimeout(function() { just_loaded_items.removeClass( 'just_loaded_items hidden' ); }, 1000); } } else { posts.append(jQuery(rez.data).find('.sc_item_posts_container').html()); } } trx_addons_save_popup_html( posts.find('.sc_layouts_popup') ); $document.trigger( 'action.after_add_content', [posts] ); $document.trigger( 'action.init_hidden_elements', [posts] ); $window.trigger( 'resize' ); link.data('page', Number(link.data('page')) + 1); if (link.data('page') > link.data('max-page')) { pagination_wrap.addClass( 'all_items_loaded' ).fadeOut(); } if ( pagination_wrap.length > 0 ) { var new_params = jQuery(rez.data).find('.sc_item_pagination').data('params'); if ( new_params ) { pagination_wrap.data( 'params', new_params ); } } } else { if ( set_min_height ) { sc.data( 'min-height', sc.css( 'min-height' ) ) .css( 'min-height', sc.height() ); } if ( link_wrap.hasClass('sc_item_filters') ) { link_active.removeClass( 'active' ).parent().removeClass( 'sc_item_filters_tabs_active' ); link.addClass('active').parent().addClass( 'sc_item_filters_tabs_active' ); } else { if ( pagination_wrap.length > 0 ) { pagination_wrap.fadeOut(); } } posts.animate( { opacity: 0 }, 200, function() { var items = jQuery(rez.data).find('.sc_item_posts_container,.sc_item_slider'); if ( items.find('[class*="trx_addons_column-"]').length > 0 ) { if ( ! posts.hasClass( 'trx_addons_columns_wrap' ) ) { posts.addClass( 'trx_addons_columns_wrap' ); } } else { posts.removeClass( 'trx_addons_columns_wrap' ); } if ( items.find('[class*="column-"]').length > 0 ) { if ( ! posts.hasClass( 'columns_wrap' ) ) { posts.addClass( 'columns_wrap' ); } } else { posts.removeClass( 'columns_wrap' ); } $document.trigger('action.before_remove_content', [sc]); trx_addons_replace_posts( posts, items.html() ); trx_addons_replace_pagination( pagination_wrap, jQuery(rez.data).find('.sc_item_pagination'), posts ); $document.trigger( 'action.after_add_content', [sc] ); $document.trigger( 'action.init_hidden_elements', [sc] ); $window.trigger('resize'); setTimeout( function() { posts.animate( { opacity: 1 }, 200, function() { if ( sc.data('min-height') && set_min_height ) { sc.css( 'min-height', sc.data('min-height') ); $window.trigger( 'resize' ); $window.trigger( 'scroll' ); } } ); }, 400 ); } ); } posts.find('.trx_addons_loading').fadeOut( function() { jQuery( this ).remove(); } ); } else { alert(rez.error); posts.find('.trx_addons_loading').remove(); } if (load_more) pagination_wrap.removeClass('loading'); TRX_ADDONS_STORAGE['pagination_busy'] = false; $document.trigger( 'action.got_ajax_response', { action: 'trx_addons_item_pagination', result: rez }); }); } } e.preventDefault(); return false; }); function trx_addons_replace_posts( posts, posts_new ) { if ( posts.hasClass('masonry_wrap') ) { var items = posts.find('.masonry_item'); posts.masonry( 'remove', items ); posts.html( posts_new ); posts.find( '.inited' ).removeClass( 'inited' ); posts.find( '.popup_inited' ).removeClass( 'popup_inited' ); posts.find( '.swiper-container-initialized').removeClass('swiper-container-initialized' ); items = posts.find('.masonry_item'); if (items.length > 0) { posts.masonry( 'appended', items ).masonry(); } } else { posts.html( posts_new ); if ( posts.find('>.slider_container').length > 0 ) { posts.removeClass( 'trx_addons_columns_wrap columns_wrap' ); } else if ( posts.find('>[class*="trx_addons_column-"]').length > 0 ) { posts.toggleClass( 'trx_addons_columns_wrap', true ); } else if ( posts.find('>[class*="column-"]').length > 0 ) { posts.toggleClass( 'columns_wrap', true ); } } trx_addons_save_popup_html( posts.find('.sc_layouts_popup'), true ); } function trx_addons_replace_pagination( pagination_wrap, pagination_new, posts ) { if ( pagination_new.length > 0 ) { pagination_new.addClass( 'trx_addons_invisible' ); if ( pagination_wrap.length > 0 ) { pagination_wrap .after( pagination_new ) .next().removeClass('inited') .end().remove(); } else { posts .after( pagination_new ) .next().removeClass('inited'); } setTimeout( function() { pagination_new.fadeIn().removeClass('trx_addons_invisible'); }, 400 ); } else { if ( pagination_wrap.length > 0 ) { pagination_wrap.remove(); } } } jQuery('.sc_post_details_popup:not(.inited)') .addClass('inited') .on('click', 'a', function(e) { trx_addons_show_post_details(jQuery(this).parents('[data-post_id]'), true); e.preventDefault(); return false; }); if (jQuery('.sc_post_details_popup.inited').length > 0) { jQuery('body:not(.sc_post_details_popup_inited)') .addClass('sc_post_details_popup_inited') .on('click', '#trx_addons_post_details_popup_overlay, .trx_addons_post_details_popup_close', function(e) { jQuery('#trx_addons_post_details_popup').fadeOut(); jQuery('#trx_addons_post_details_popup_overlay').fadeOut(); }) .on('click', '.trx_addons_post_details_popup_prev,.trx_addons_post_details_popup_next', function(e) { var popup = jQuery('#trx_addons_post_details_popup'); var post_item = popup.data('post_item'); if (!post_item || post_item.length === 0) return; var posts_items = post_item.parents('.sc_item_columns,.sc_item_slider').find('[data-post_id]'); var cur_idx = -1; posts_items.each(function(idx) { if (jQuery(this).data('post_id') == post_item.data('post_id')) cur_idx = idx; }); if (cur_idx == -1) return; post_item = jQuery(this).hasClass('trx_addons_post_details_popup_prev') ? (cur_idx > 0 ? posts_items.eq(cur_idx-1) : false) : (cur_idx < posts_items.length-1 ? posts_items.eq(cur_idx+1) : false); if (!post_item || post_item.length === 0) return; popup.fadeOut(); trx_addons_show_post_details(post_item, false); }); } function trx_addons_show_post_details(post_item, show_overlay) { jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'trx_addons_post_details_in_popup', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], post_id: post_item.data('post_id'), post_type: post_item.data('post_type') }).done(function(response) { var rez = {}; if (response === '' || response === 0) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; } else { try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } } var msg = rez.error === '' ? rez.data : rez.error; var popup = jQuery('#trx_addons_post_details_popup'); var overlay = jQuery('#trx_addons_post_details_popup_overlay'); if ( popup.length === 0 ) { jQuery('body').append( '<div id="trx_addons_post_details_popup_overlay"></div>' + '<div id="trx_addons_post_details_popup">' + '<div class="trx_addons_post_details_content"></div>' + '<span class="trx_addons_post_details_popup_close trx_addons_icon-cancel"></span>' + '<span class="trx_addons_post_details_popup_prev trx_addons_icon-left"></span>' + '<span class="trx_addons_post_details_popup_next trx_addons_icon-right"></span>' + '</div>'); popup = jQuery('#trx_addons_post_details_popup'); overlay = jQuery('#trx_addons_post_details_popup_overlay'); } popup.data('post_item', post_item).find('.trx_addons_post_details_content').html(msg); var handle, $head = jQuery( 'head' ); if ( rez.error === '' ) { if ( rez['css'] ) { for ( handle in rez['css'] ) { if ( jQuery( '#' + handle + '-css' ).length === 0 ) { if ( rez['css'][handle].hasOwnProperty( 'url' ) ) { $head.append( '<link id="' + handle + '-css"' + ' type="text/css"' + ' property="stylesheet"' + ' rel="stylesheet"' + ' href="' + rez['css'][handle]['url'] + '"' + ' media="all">' ); } else if ( rez['css'][handle].hasOwnProperty( 'code' ) ) { $head.append( '<style id="' + handle + '-css" media="all">' + rez['css'][handle]['code'] + '</style>' ); } } } } if ( rez['js'] ) { for ( handle in rez['js'] ) { if ( jQuery( '#' + handle + '-js' ).length === 0 ) { if ( rez['js'][handle].hasOwnProperty( 'url' ) ) { $body.append( '<script id="' + handle + '-js"' + ' type="text/javascript"' + ' src="' + rez['js'][handle]['url'] + '"' + '></script>' ); } else if ( rez['js'][handle].hasOwnProperty( 'code' ) ) { $body.append( '<script id="' + handle + '-js" type="text/javascript">' + rez['js'][handle]['code'] + '</script>' ); } } } } } if (show_overlay) overlay.fadeIn(); popup.fadeIn( function() { if ( Event ) { document.dispatchEvent( new Event( 'DOMContentLoaded' ) ); } $document.trigger( 'action.init_hidden_elements', [popup] ); } ); $document.trigger( 'action.got_ajax_response', { action: 'trx_addons_post_details_in_popup', result: rez }); }); } jQuery('.sc_blogger_panel .sc_blogger_item:not(.switch_panel_inited),.sc_services_panel .sc_services_item:not(.switch_panel_inited)') .addClass('switch_panel_inited') .on('mouseenter', function() { var $self = jQuery(this), num = $self.data('item-number'), $posts = $self.parents('.sc_item_posts_container'), $old_panel = $posts.find('.sc_panel_thumb_active').removeClass('sc_panel_thumb_active'), $new_panel = $posts.find('.sc_panel_thumb[data-thumb-number="' + num + '"]').addClass('sc_panel_thumb_active'); $document.trigger( 'action.init_hidden_elements', [$new_panel] ); }); jQuery('.sc_cover:not(.inited)').each( function() { var $self = jQuery(this).addClass('inited'); if ( $self.parents('.elementor-editor-active').length ) { return; } var $wrap = $self.parent().hasClass('elementor-widget-container') ? $self.parents('.elementor-widget').eq(0) : $self, wrap_z = $wrap.hasClass('elementor-widget') && $wrap.css('z-index') >0 ? $wrap.css('z-index') : '', place = $self.data('place'), $placeholder = false; if ( wrap_z > 0 ) { $self.css( 'z-index', wrap_z ); } if ( place == 'p1' ) { if ( ! $wrap.hasClass('sc_cover') ) { $placeholder = $wrap.parent(); } } else if ( place == 'p2' ) { $placeholder = $wrap.parent().parent(); } else if ( place == 'p3' ) { $placeholder = $wrap.parent().parent().parent(); } else if ( place == 'row' ) { $placeholder = $wrap.parents( trx_addons_apply_filters( 'trx_addons_filter_section_selectors', '.wp-block-columns,.elementor-section' ) ).eq(0); } else if ( place == 'column' ) { $placeholder = $wrap.parents( trx_addons_apply_filters( 'trx_addons_filter_column_selectors', '.wp-block-column,.elementor-column' ) ).eq(0); } if ( $placeholder && $placeholder.length ) { if ( $placeholder.css('position') == 'static' ) { $placeholder.addClass('sc_cover_link_wrap'); } $self.prependTo( $placeholder.addClass('sc_cover_link_present') ); } else { $placeholder = $wrap.parent().addClass('sc_cover_link_present'); if ( $placeholder.css('position') == 'static' ) { $placeholder.addClass('sc_cover_link_wrap'); } } } ); }); $document.on( 'action.resize_trx_addons', function() { if ( $infinite_posts.length > 0 ) { $infinite_posts.each( function(idx) { var $self = $infinite_posts.eq(idx); $self.data( { 'offset-top': $self.offset().top, 'height': $self.height() } ); }); } } ); $document.on( 'action.scroll_trx_addons', function(e) { if ( TRX_ADDONS_STORAGE['pagebuilder_preview_mode'] || $pagination_infinite.length === 0 ) { return; } var done = false; $pagination_infinite.each( function(idx) { if ( done ) return; var $self = $pagination_infinite.eq(idx); if ( $self.hasClass('all_items_loaded') ) return; var posts = $infinite_posts.eq(idx); if ( posts.data('offset-top') + posts.data('height') < trx_addons_window_scroll_top() + trx_addons_window_height() * 1.5) { $self.find( 'a' ).trigger( 'click' ); done = true; } } ); }); $document.on('action.scroll_trx_addons', function() { if ( $typed_entry.length === 0 ) { return; } var wt = trx_addons_window_scroll_top(), wh = trx_addons_window_height(); $typed_entry.each(function(idx) { var obj = $typed_entry.eq(idx); if ( obj.hasClass('sc_typed_inited') ) return; var ot = obj.offset().top, oh = obj.height(); if ( wt <= ot + oh && wt + wh >= ot + oh ) { obj.addClass('sc_typed_inited').typed({ contentType: "html", strings: obj.data('strings'), loop: obj.data('loop') == 1, showCursor: obj.data('cursor') == 1, cursorChar: obj.data('cursor-char') != undefined ? obj.data('cursor-char') : '|', typeSpeed: obj.data('speed') > 0 ? (11 - Math.max(1, Math.min(10, obj.data('speed')))) * 10 : 50, backDelay: obj.data('delay') > 0 ? Math.max(0, Math.min(10, obj.data('delay'))) * 1000 : 1000 }); } }); }); $document.on('action.resize_trx_addons', function (e, container) { if ( $equal_height.length === 0 ) { return; } $equal_height.each( function () { var eh_wrap = jQuery(this); var eh_items_selector = eh_wrap.data('equal-height'); if (eh_items_selector === undefined) { eh_items_selector = '>*'; } var max_h = 0; var items = []; var row_y = 0; var i = 0; eh_wrap.find(eh_items_selector).each(function() { var el = jQuery(this); el.css('visibility', 'hidden').height('auto'); var el_height = el.height(); var el_offset = el.offset().top; if (row_y === 0) row_y = el_offset; if (row_y < el_offset) { if (items.length > 0) { if (max_h > 0) { for (i = 0; i < items.length; i++) items[i].css('visibility', 'visible').height(max_h); } items = []; max_h = 0; } row_y = el_offset; } if (el_height > max_h) max_h = el_height; items.push(el); }); if (items.length > 0) { for (i = 0; i < items.length; i++) { items[i].css('visibility', 'visible'); if (max_h > 0) items[i].height(max_h); } } } ); } ); } ); (function() { "use strict"; var trx_addons_once_resize = false; var $window = jQuery( window ), $document = jQuery( document ), $body = jQuery( 'body' ), $scheme_watchers = jQuery('.watch_scheme'); var $animated_items, $scheme_sections, $stack_sections; var is_edit_mode = $body.hasClass( 'elementor-editor-active' ); $document.on( 'action.got_ajax_response', update_jquery_links ); $document.on( 'action.init_hidden_elements', update_jquery_links ); var first_run = true; function update_jquery_links(e) { if ( first_run && e && e.namespace == 'init_hidden_elements' ) { first_run = false; return; } $animated_items = jQuery('.animated-item'); $scheme_sections = jQuery('[class*="scheme_"]:visible'); $stack_sections = jQuery('.sc_stack_section_effect_slide:not(.elementor-element-edit-mode)'); } update_jquery_links(); if ( typeof TRX_ADDONS_STORAGE != 'undefined' && TRX_ADDONS_STORAGE['popup_engine'] != 'none' ) { $document.on( 'action.init_hidden_elements', function(e, cont) { cont.find('a.esgbox').attr('data-elementor-open-lightbox', 'no'); if ( trx_addons_apply_filters( 'trx_addons_filter_disable_elementor_lightbox', true ) ) { cont.find( trx_addons_apply_filters( 'trx_addons_filter_disable_elementor_lightbox_selector', 'a[href$=".jpg"]:not([data-elementor-open-lightbox="yes"]):not([data-elementor-lightbox-slideshow]),' + 'a[href$=".jpeg"]:not([data-elementor-open-lightbox="yes"]):not([data-elementor-lightbox-slideshow]),' + 'a[href$=".png"]:not([data-elementor-open-lightbox="yes"]):not([data-elementor-lightbox-slideshow]),' + 'a[href$=".gif"]:not([data-elementor-open-lightbox="yes"]):not([data-elementor-lightbox-slideshow])' ) ) .attr('data-elementor-open-lightbox', 'no'); } } ); } $window.on( 'elementor/frontend/init', function() { if ( typeof window.elementorFrontend !== 'undefined' && typeof window.elementorFrontend.hooks !== 'undefined' ) { is_edit_mode = elementorFrontend.isEditMode(); if ( is_edit_mode ) { var init_hidden_elements_immediately = false, init_hidden_elements_immediately_start = trx_addons_throttle( function() { init_hidden_elements_immediately = true; init_hidden_elements( $body ); }, 2500, true ), init_hidden_elements = function($cont) { if ( $body.hasClass('cpt_layouts-template') || $body.hasClass('cpt_layouts-template-default') || $body.hasClass('single-cpt_layouts') || $body.hasClass('single-elementor_library') ) { $body.find('.elementor-element.elementor-widget').addClass('sc_layouts_item'); } jQuery('#toc_menu').remove(); $document.trigger( 'action.init_hidden_elements', [$cont] ); if ( $cont.parents('.elementor-section-stretched').length > 0 && ! trx_addons_once_resize ) { trx_addons_once_resize = true; $document.trigger( 'action.resize_trx_addons', [$cont.parents('.elementor-section-stretched')] ); } else { $document.trigger( 'action.resize_trx_addons', [$cont] ); } trx_addons_elementor_prepare_animate_items(); }; elementorFrontend.hooks.addAction( 'frontend/element_ready/global', function( $cont ) { if ( init_hidden_elements_immediately ) { init_hidden_elements( $cont ); } else { init_hidden_elements_immediately_start(); } } ); if ( $body.hasClass('cpt_layouts-template') || $body.hasClass('cpt_layouts-template-default') || $body.hasClass('single-cpt_layouts') ) { jQuery('.elementor-element.elementor-widget').addClass('sc_layouts_item'); } jQuery('.trx_addons_layout_editor_mask').each( function() { var $cont = jQuery( this ).parent(); if ( $cont.css( 'position' ) == 'static' ) { $cont.css( 'position', 'relative' ); } } ); elementorFrontend.hooks.addFilter( 'frontend/handlers/menu_anchor/scroll_top_distance', function( scrollTop ) { return scrollTop - trx_addons_fixed_rows_height(); } ); jQuery( '.trx_addons_layout_editor_link:not(.inited)' ) .addClass('inited') .on( 'click', function(e) { e.stopImmediatePropagation(); return true; } ); jQuery( '.trx_addons_layout_editor_selector_trigger:not(.inited)' ) .addClass('inited') .on( 'click', function(e) { jQuery(this).next().slideToggle(); jQuery(this).parent().toggleClass('trx_addons_layout_editor_selector_opened'); e.preventDefault(); return false; } ); jQuery( '.trx_addons_layout_editor_selector_list_item:not(.inited)' ) .addClass('inited') .on( 'click', function(e) { var $self = jQuery(this), layout_id = $self.data('layout-id'), layout_type = $self.data('layout-type'), layout_url = $self.data('layout-url'), layout_title = $self.text(), post_id = $self.data('post-id'); $self.parent().prevAll('.trx_addons_layout_editor_selector_trigger').eq(0).trigger('click'); var link = $self.parent().prevAll('.trx_addons_layout_editor_link').eq(0), text = link.text(); link .attr('href', layout_url) .text( text.replace( /"[^"]*"/, '"' + layout_title + '"' ) ); if ( layout_id && layout_type && post_id && elementor ) { var settings = elementor.settings, model = settings.page.model, theme_slug = TRX_ADDONS_STORAGE['theme_slug'], override_name = theme_slug + '_options_override_' + layout_type + '_type', field_name = theme_slug + '_options_field_' + layout_type + '_type'; if ( model.attributes.hasOwnProperty(override_name) ) { model.set(override_name, '1'); } if ( model.attributes.hasOwnProperty(field_name) ) { model.set(field_name, 'custom'); } override_name = theme_slug + '_options_override_' + layout_type + '_style'; field_name = theme_slug + '_options_field_' + layout_type + '_style'; if ( model.attributes.hasOwnProperty(override_name) ) { model.set(override_name, '1'); } if ( model.attributes.hasOwnProperty(field_name) ) { model.set(field_name, layout_type + '-custom-' + layout_id); } if ( elementor.panel.$el.find('input[data-setting="'+override_name+'"]').length === 0 ) { elementor.panel.$el.find('#elementor-panel-footer-settings').trigger('click'); setTimeout( function() { elementor.panel.$el.find('.elementor-tab-control-advanced a').trigger('click'); setTimeout( function() { var sec_number = layout_type == 'sidebar' ? 1 : ( layout_type == 'header' ? 3 : 4 ); if ( sec_number > 1 ) { elementor.panel.$el.find('.elementor-control-section_theme_options_' + sec_number ).trigger('click'); } setTimeout( function() { elementor.panel.$el.find('input[data-setting="'+override_name+'"]').trigger('change'); }, 10 ); }, 10 ); }, 10 ); } else { var field = elementor.panel.$el.find('select[data-setting="'+field_name+'"]'), layout_value = layout_type + '-custom-' + layout_id; if ( field.length > 0 ) { field.val(layout_value); field.trigger('change'); } } } e.preventDefault(); return false; } ); } else { if ( typeof elementorFrontend.config !== 'undefined' && typeof elementorFrontend.config.settings !== 'undefined' && typeof elementorFrontend.config.settings.general === 'undefined' ) { elementorFrontend.config.settings.general = { 'elementor_stretched_section_container': TRX_ADDONS_STORAGE['elementor_stretched_section_container'] }; } setTimeout( function() { trx_addons_once_resize = true; $document.trigger('action.resize_trx_addons'); }, 2 ); trx_addons_elementor_prepare_animate_items(); } } }); if ( $scheme_watchers.length > 0 ) { $document.on('action.scroll_trx_addons', function() { $scheme_watchers.each( function(idx) { var item = $scheme_watchers.eq(idx), item_dom = item.get(0), scheme_present = false, item_offset, item_cx, item_cy; if ( typeof item_dom.getBoundingClientRect == 'function' ) { item_offset = item_dom.getBoundingClientRect(); item_cx = $window.scrollLeft() + item_offset.left + item_offset.width / 2; item_cy = $window.scrollTop() + item_offset.top + item_offset.height / 2; } else { item_offset = item.offset(); item_cx = item_offset.left + item.width() / 2; item_cy = item_offset.top + item.height() / 2; } $scheme_sections.each( function(idx2) { var section = $scheme_sections.eq(idx2), section_offset = section.offset(), section_left = section_offset.left, section_top = section_offset.top; if ( section_left < item_cx && section_left + section.outerWidth() > item_cx && section_top < item_cy && section_top + section.outerHeight() > item_cy ) { var scheme = trx_addons_get_class_by_prefix( section.attr('class'), 'scheme_' ); if ( ! item.hasClass(scheme) ) { item.attr( 'class', trx_addons_chg_class_by_prefix( item.attr( 'class'), 'scheme_', scheme ) ); } scheme_present = true; } } ); if ( ! scheme_present ) { item.attr( 'class', trx_addons_chg_class_by_prefix( item.attr( 'class'), 'scheme_', '' ) ); } } ); } ); } if ( $body.hasClass( 'fixed_blocks_sticky' ) ) { var $sections_wrap = false; $document.on('action.resize_trx_addons', function() { if ( $stack_sections.length === 0 ) return; if ( $sections_wrap === false ) { $sections_wrap = $stack_sections.eq(0).parents('.elementor-section-wrap').eq(0); if ( $sections_wrap.length === 0 ) { $sections_wrap = $stack_sections.eq(0).parents('.elementor').eq(0); } } if ( $sections_wrap.length ) { var left = $sections_wrap.offset().left; if ( typeof TRX_ADDONS_STORAGE['elementor_stretched_section_container'] != 'undefined' ) { var $page_wrap = jQuery( TRX_ADDONS_STORAGE['elementor_stretched_section_container'] ).eq(0); if ( $page_wrap.length > 0 ) { left -= $page_wrap.offset().left; } } $stack_sections.each(function() { var $self = jQuery(this); if ( $self.hasClass( 'elementor-section-stretched' ) ) { var options = { 'left': 'unset', }; if ( $self.hasClass( 'sc_stack_section_zoom_on' ) ) { options['marginLeft'] = (-1) * left + 'px'; } else { options['transform'] = 'translateX(' + (-1) * left + 'px)'; } $self.css( options ); } } ); } } ); } $document.on( 'action.init_hidden_elements', function(e, cont) { var tabs = cont.hasClass( 'elementor-widget-tabs' ) ? cont : jQuery( '.elementor-widget-tabs' ); if ( tabs.hasClass('sc_tabs_open_on_hover_on') && ! tabs.hasClass('sc_tabs_open_on_hover_inited') ) { tabs .addClass( 'sc_tabs_open_on_hover_inited' ) .on( 'mouseenter', '.elementor-tab-title:not(.elementor-active)', function(e) { jQuery(this).trigger('click'); } ); } } ); $document.on( 'action.init_hidden_elements', function(e, cont) { var tabs = cont.hasClass( 'elementor-widget-tabs' ) ? cont : jQuery( '.elementor-widget-tabs' ); if ( ! tabs.hasClass('sc_tabs_hidden_inited') ) { tabs .addClass( 'sc_tabs_hidden_inited' ) .on( 'touchstart mousedown', '.elementor-tab-title:not(.elementor-active)', function(e) { var $active = jQuery(this).siblings('.elementor-active'); if ( $active.length ) { var $tab_content = tabs.find( '.elementor-tab-content[data-tab="' + $active.data('tab') + '"]' ); if ( $tab_content.length ) { $document.trigger( 'action.deactivate_tab', [$tab_content] ); } } } ) .on( 'click', '.elementor-tab-title', function(e) { var $self = jQuery(this); var $tab_content = tabs.find( '.elementor-tab-content[data-tab="' + $self.data('tab') + '"]' ); setTimeout( function() { $document.trigger( 'action.activate_tab', [$tab_content] ); $document.trigger( 'action.init_hidden_elements', [$tab_content] ); $document.trigger( 'action.resize_trx_addons' ); }, $tab_content.height() > 50 ? 0 : 600 ); } ); } } ); $document.on( 'action.activate_tab', function(e, cont) { cont.find('.elementor-widget-image-carousel .swiper-container, .elementor-background-slideshow.swiper-container').each( function() { var swiper = jQuery(this).data('swiper'); if ( swiper ) { swiper.update(); } } ); } ); $document.on( 'action.prepare_popup_elements', function(e, cont, mfp) { var max_delay = 0, items = cont.find('.animated-item,' + '.animated[class*="animation_type_"],' + '[data-settings*="animation"][class*="animation_type_"]' ); items.each( function(idx) { var $self = jQuery(this), block = $self.hasClass('animation_type_block') || $self.hasClass( 'animated-separate' ), sc = block ? $self : $self.parents( '.animated-separate' ), params = sc.data( 'animation-settings' ) || sc.data( 'settings' ), delay = trx_addons_elementor_animate_items_delay(params, sc, $self, idx, items.length), animation = trx_addons_elementor_animate_items_animation(params); if ( delay > max_delay ) { max_delay = delay; } $self .addClass( 'elementor-invisible trx_addons_invisible' ) .removeClass( 'animated ' + animation + ' ' + trx_addons_elementor_animate_items_animation_revert_name( animation ) ); if ( block || ! mfp ) { trx_addons_elementor_animate_item($self, idx, items.length, false); } } ); cont.data( { 'animation-delay': max_delay } ); if ( mfp && mfp.st ) { mfp.st.removalDelay = max_delay + 300; } } ); $document.on( 'action.close_popup_elements', function(e, cont) { var max_delay = cont.data('animation-delay') || 0, items = cont.find('.animated-item,.animated[class*="animation_type_"]'); items.each( function(idx) { var $self = jQuery(this), block = $self.hasClass('animation_type_block'), sc = block ? $self : $self.parents( '.animated-separate' ), params = sc.data( block ? 'settings' : 'animation-settings' ); if ( ! params ) { return; } var reverted = sc.data( 'animation-reverted' ), animation = reverted ? reverted : trx_addons_elementor_animate_items_animation(params); $self.removeClass('animated ' + animation); if ( ! reverted ) { var revert_params = trx_addons_elementor_animate_items_animation_revert_params( sc, params, max_delay ); sc .data( block ? 'settings' : 'animation-settings', revert_params ) .data( 'animation-reverted', animation ); setTimeout( function() { sc .data( block ? 'settings' : 'animation-settings', params ) .data( 'animation-reverted', '' ); }, max_delay ); } trx_addons_elementor_animate_item($self, idx, items.length, false); } ); } ); $document.on( 'action.init_hidden_elements', function(e, cont) { trx_addons_elementor_prepare_animate_items(); } ); window.trx_addons_elementor_prepare_animate_items = function( force ) { jQuery( '.sc_section_toggle_on:not(.sc_section_toggle_inited)' ).each( function() { var sc = jQuery(this).addClass('sc_section_toggle_inited'), sc_cont = sc.find( '>.elementor-container,>.e-con-inner' ), cid = sc.data('model-cid'), params = cid ? trx_addons_elementor_get_settings_by_cid( cid, ['_animation','animation'] ) : sc.data('settings'), type = sc.hasClass( 'animation_type_block' ) ? 'block' : ( sc.hasClass( 'animation_type_sequental' ) ? 'sequental' : 'random' ), item_params = {}, item_speed = '', item_duration = 500; var save_height = function() { if ( sc.hasClass( 'sc_section_toggle_state_show' ) ) { sc_cont.data( 'height', sc_cont.outerHeight() ); } }; $document.on( 'action.resize_trx_addons', save_height ); if ( sc.hasClass( 'animated-slow' ) ) { item_speed = 'animated-slow'; item_duration = 1000; } else if ( sc.hasClass( 'animated-fast' ) ) { item_speed = 'animated-fast'; item_duration = 300; } if ( params ) { for (var i in params) { if (i.substr(0, 10) == '_animation' || i.substr(0, 9) == 'animation') { item_params[i] = params[i]; delete params[i]; } } sc.removeClass('animated animation_type_' + type + ' ' + trx_addons_elementor_animate_items_animation( item_params ) + ( item_speed ? ' ' + item_speed : '' ) + ( ! sc.hasClass( 'elementor-element-edit-mode' ) ? ' elementor-invisible trx_addons_invisible' : '' ) ); if ( ! cid ) { sc .attr('data-settings', JSON.stringify(params)) .data('settings', params); } sc_cont .addClass( 'animation_type_' + type + ' ' + item_speed + ( ! sc.hasClass( 'elementor-element-edit-mode' ) ? ' elementor-invisible trx_addons_invisible' : '' ) ) .attr( 'data-settings', JSON.stringify( item_params ) ); } else { item_speed = ''; item_duration = 0; } var id = sc.attr( 'id' ); if ( id ) { var $link = jQuery( 'a[href="#' + id + '"]' ); if ( $link.length ) { $link .addClass( 'sc_section_toggle_state_' + ( sc.hasClass( 'sc_section_toggle_state_show' ) ? 'show' : 'hide' ) ) .on( 'click', function(e) { e.preventDefault(); e.stopImmediatePropagation(); var state = sc.hasClass( 'sc_section_toggle_state_show' ) ? 'show' : 'hide', action = state == 'show' ? 'hide' : 'show', max_delay = 0, easing = typeof jQuery.easing['easeOutSine'] != 'undefined' ? 'easeOutSine' : 'linear'; jQuery( this ) .removeClass( 'sc_section_toggle_state_' + state ) .addClass( 'sc_section_toggle_state_' + action ); if ( action == 'show' ) { var h = sc_cont.data( 'height' ) || trx_addons_window_height() * 0.4; sc .addClass( 'sc_section_toggle_animated_show' ) .animate( { height: h + 'px' }, 500, easing , function() { sc .css( { 'overflow': 'hidden' } ) .removeClass( 'sc_section_toggle_animated_show sc_section_toggle_state_' + state ) .addClass( 'sc_section_toggle_state_' + action ); $document.trigger( 'action.prepare_popup_elements', [sc] ); $document.trigger( 'action.init_hidden_elements', [sc] ); trx_addons_elementor_animate_items_scroll(); max_delay = ( sc.data('animation-delay') || 0 ) + item_duration; setTimeout( function() { sc.css( { 'height': 'auto', 'overflow': 'unset' } ); }, max_delay ); } ); } else { max_delay = ( sc.data('animation-delay') || 0 ) + item_duration; sc .addClass( 'sc_section_toggle_animated_hide' ) .css( { 'overflow': 'hidden' } ); $document.trigger( 'action.close_popup_elements', [sc] ); setTimeout( function() { sc .animate( {'height': 0 }, 500, easing, function() { sc .removeClass( 'sc_section_toggle_animated_hide sc_section_toggle_state_' + state ) .addClass( 'sc_section_toggle_state_' + action ); } ); }, max_delay ); } return false; } ); if ( sc.hasClass( 'sc_section_toggle_close_on' ) ) { sc.append( '<div class="sc_section_toggle_close_button trx_addons_button_close"><span class="trx_addons_button_close_icon"></span></div>' ); sc.find( '>.sc_section_toggle_close_button').on( 'click', function() { $link.trigger( 'click' ); } ); } } } } ); jQuery('[class*="animation_type_"]:not(.animation_type_block)' + ( ! force ? ':not(.animated-separate)' : '' )).each( function() { var sc = jQuery(this), is_section = sc.hasClass( 'elementor-section' ) || sc.hasClass( 'elementor-container' ) || sc.hasClass( 'elementor-row' ), section = sc.hasClass( 'elementor-section' ) ? sc : ( sc.hasClass( 'elementor-container' ) || sc.hasClass( 'elementor-row' ) ? sc.parents('.elementor-section') : false ), is_container = sc.hasClass( 'e-con' ) || sc.hasClass( 'e-con-inner' ), container = sc.hasClass( 'e-con' ) ? sc : ( sc.hasClass( 'e-con-inner' ) ? sc.parent() : false ), sc_name = sc.data('widget_type'); if ( sc_name ) { sc_name = sc_name.split('.'); sc_name = '.' + sc_name[0].replace('trx_', '') + '_item'; if ( sc.find( sc_name ).length === 0 ) { sc_name = '.post_item'; if ( sc.find( sc_name ).length === 0 ) { sc_name = '[class*="_column-"]'; } } } else { sc_name = is_container && sc.find('>.e-con-inner>.e-con,>.e-con').length > 1 ? '>.e-con-inner>.e-con,>.e-con' : ( is_section && sc.find('>.elementor-container>.elementor-row>.elementor-column,>.elementor-container>.elementor-column,>.elementor-row>.elementor-column,>.elementor-column').length > 1 ? '>.elementor-container>.elementor-row>.elementor-column,>.elementor-container>.elementor-column,>.elementor-row>.elementor-column,>.elementor-column' : '[class*="_column-"]' ); } if ( ( ! is_section || sc_name.indexOf( '.elementor-column' ) < 0 ) && ( ! is_container || sc_name.indexOf( '.e-con' ) < 0) ) { sc_name += sc_name && TRX_ADDONS_STORAGE['elementor_animate_items'] ? ',' + TRX_ADDONS_STORAGE['elementor_animate_items'] : ''; } var items = sc.find( sc_name ); if ( items.length === 0 ) { sc.addClass( 'animation_type_block' ); return; } var cid = sc.data('model-cid'), params = cid ? trx_addons_elementor_get_settings_by_cid( cid, ['_animation','animation'] ) : sc.data('settings'), item_params = {}, item_speed = sc.hasClass( 'animated-slow' ) ? 'animated-slow' : ( sc.hasClass( 'animated-fast' ) ? 'animated-fast' : '' ); if ( ! params ) { return; } for (var i in params) { if (i.substr(0, 10) == '_animation' || i.substr(0, 9) == 'animation') { item_params[(i.substr(0, 9) == 'animation' ? '_' : '') + i] = params[i]; delete params[i]; } } sc.removeClass('elementor-invisible trx_addons_invisible animated ' + trx_addons_elementor_animate_items_animation( item_params ) + ( sc.data('last-animation') ? ' ' + sc.data('last-animation') : '' ) + ( item_speed ? ' ' + item_speed : '' ) ) .addClass('animated-separate') .data( 'last-animation', trx_addons_elementor_animate_items_animation( item_params ) ); if ( ! cid ) { sc .attr( 'data-settings', JSON.stringify( params ) ) .data( 'settings', params ); } sc .attr( 'data-animation-settings', JSON.stringify( item_params ) ) .data( 'animation-settings', item_params ); items.each( function(idx) { var item = jQuery(this); if ( item.hasClass( 'sc_item_title' ) || item.hasClass( 'elementor-heading-title' ) ) { item.html( trx_addons_wrap_words( item.html(), '<span class="sc_item_animated_block elementor-invisible trx_addons_invisible animated-item' + ( item_speed ? ' ' + item_speed : '' ) + '">', '</span>' ) ); } else { if ( item_speed ) { item.addClass( item_speed ); } item.addClass( 'animated-item' + ( ( ! section || ! section.hasClass( 'elementor-element-edit-mode' ) ) && ( ! container || ! container.hasClass( 'elementor-element-edit-mode' ) ) ? ' elementor-invisible trx_addons_invisible' : '' ) ); } if ( item.data( 'animation' ) !== undefined ) { item.removeAttr( 'data-animation' ); } } ); } ); $animated_items = jQuery('.animated-item'); if ( force ) { trx_addons_elementor_animate_items_scroll( force ); } }; window.trx_addons_elementor_get_settings_by_cid = function( cid, keys ) { if ( typeof elementorFrontend != 'undefined' ) { var settings = elementorFrontend.config.elements.data[cid].attributes; if ( keys ) { var params = {}; for ( var s in settings ) { for ( var i = 0; i < keys.length; i++ ) { if ( s.indexOf( keys[i] ) === 0 ) { if ( typeof settings[s] == 'object' && settings[s].hasOwnProperty('models') ) { var tmp = []; for ( var m = 0; m < settings[s]['models'].length; m++ ) { tmp.push( settings[s]['models'][m]['attributes'] ); } params[s] = tmp; } else { params[s] = settings[s]; } break; } } } return params; } return settings; } return false; }; window.trx_addons_elementor_get_settings = function( $element, keys ) { var elementSettings = {}, modelCID = $element.data('model-cid'); if ( is_edit_mode && modelCID ) { var settings = elementorFrontend.config.elements.data[modelCID], settingsKeys = elementorFrontend.config.elements.keys[settings.attributes.widgetType || settings.attributes.elType]; jQuery.each( settings.getActiveControls(), function( controlKey ) { var allowed = settingsKeys.indexOf( controlKey ) !== -1; if ( allowed && keys ) { allowed = false; for ( var i = 0; i < keys.length; i++ ) { if ( controlKey.indexOf( keys[i] ) === 0 ) { allowed = true; break; } } } if ( allowed ) { elementSettings[ controlKey ] = settings.attributes[ controlKey ]; } } ); } else { elementSettings = $element.data('settings') || {}; } return elementSettings; }; $document.on('action.scroll_trx_addons', function() { trx_addons_elementor_animate_items_scroll(); } ); function trx_addons_elementor_animate_items_scroll( force ) { var cnt = 0; $animated_items.each(function(idx) { var item = jQuery(this); if ( ! force && ( item.hasClass('animated') || item.hasClass('wait-for-animation') ) ) return; var item_top = item.offset().top, window_top = $window.scrollTop(), window_height = $window.height(); if ( item_top + 50 < window_top + window_height ) { var item_height = item.outerHeight(), need_animation = item_top + item_height > window_top; trx_addons_elementor_animate_item( item, cnt, $animated_items.length - idx + cnt, force || ! need_animation ); if ( need_animation ) { cnt++; } } }); } function trx_addons_elementor_animate_item( item, idx, total, force ) { var block = item.hasClass('animation_type_block'), sc = block ? item : item.parents( '.animated-separate' ); if ( ( sc.hasClass('elementor-container') || sc.hasClass('e-con-inner') ) && sc.parent().hasClass( 'sc_section_toggle_state_hide' ) ) { return; } var item_params = sc.data(block ? 'settings' : 'animation-settings'), item_delay = trx_addons_elementor_animate_items_delay(item_params, sc, item, idx, total), item_animation = trx_addons_elementor_animate_items_animation(item_params); if ( force ) { if ( item.data('last-animation') && item.data('last-animation') != item_animation ) { item.removeClass( item.data('last-animation') ); item.data('last-animation', ''); } if ( item.hasClass('elementor-invisible') ) { item.removeClass('elementor-invisible'); } if ( item.hasClass('trx_addons_invisible') ) { item.removeClass('trx_addons_invisible'); } if ( ! item.hasClass('animated') ) { item.addClass('animated'); } if ( false && ! item.hasClass(item_animation) ) { item.addClass(item_animation); item.data('last-animation', item_animation); } } else { item.addClass('wait-for-animation'); setTimeout( function() { item.removeClass('wait-for-animation').addClass('animated').addClass(item_animation).removeClass('elementor-invisible trx_addons_invisible'); }, item_delay ); } } function trx_addons_elementor_animate_items_delay( params, sc, item, idx, total ) { var delay = sc.hasClass( 'animation_type_block' ) ? ( params && params._animation_delay ? params._animation_delay : 0 ) : ( sc.hasClass( 'animation_type_sequental' ) ? ( params && params._animation_delay ? params._animation_delay : 150 ) * ( sc.data( 'animation-reverted' ) ? ( item.hasClass('menu-item') ? item.siblings('.menu-item').length + 1 - item.index() : Math.min( 8, total - idx ) ) : ( item.hasClass('menu-item') ? item.index() : Math.min( 8, idx ) ) ) : trx_addons_random( 0, params && params._animation_delay ? params._animation_delay : 1500 ) ); return delay; } function trx_addons_elementor_animate_items_animation( params ) { var device = $body.data( 'elementor-device-mode' ); if ( ! device || device == 'desktop' ) { device = ''; } else { device = '_' + device; } var animation = ''; if ( typeof params != 'undefined' ) { if ( typeof params["_animation" + device] != 'undefined' ) { animation = params["_animation" + device]; } else if ( typeof params["_animation"] != 'undefined' ) { animation = params["_animation"]; } else if ( typeof params["animation" + device] != 'undefined' ) { animation = params["animation" + device]; } else if ( typeof params["animation"] != 'undefined' ) { animation = params["animation"]; } } return animation; } function trx_addons_elementor_animate_items_animation_revert_name( animation ) { animation = animation.replace('In', 'Out'); if ( animation.indexOf( 'Up' ) >= 0 ) { animation = animation.replace('Up', 'Down'); } else if ( animation.indexOf( 'Down' ) >= 0 ) { animation = animation.replace('Down', 'Up'); } return animation; } function trx_addons_elementor_animate_items_animation_revert_params( sc, params, max_delay ) { var device = $body.data( 'elementor-device-mode' ); if ( ! device || device == 'desktop' ) { device = ''; } else { device = '_' + device; } if ( params ) { var revert_params = trx_addons_object_clone( params ); if ( typeof revert_params["_animation" + device] != 'undefined' ) { revert_params["_animation" + device] = trx_addons_elementor_animate_items_animation_revert_name( revert_params["_animation" + device] ); } else if ( typeof revert_params["_animation"] != 'undefined' ) { revert_params["_animation"] = trx_addons_elementor_animate_items_animation_revert_name( revert_params["_animation"] ); } else if ( typeof revert_params["animation" + device] != 'undefined' ) { revert_params["animation" + device] = trx_addons_elementor_animate_items_animation_revert_name( revert_params["animation" + device] ); } else if ( typeof revert_params["animation"] != 'undefined' ) { revert_params["animation"] = trx_addons_elementor_animate_items_animation_revert_name( revert_params["animation"] ); } if ( sc.hasClass( 'animation_type_block' ) ) { revert_params._animation_delay = revert_params._animation_delay ? Math.max(0, max_delay - revert_params._animation_delay) : max_delay; } return revert_params; } return params; } $document.on( 'action.init_hidden_elements', function(e, cont) { trx_addons_elementor_add_bg_text( cont ); } ); function trx_addons_elementor_add_bg_text( cont ) { if ( cont.hasClass('elementor-section') || cont.hasClass('e-con') ) { cont.find('.trx_addons_bg_text').remove(); trx_addons_elementor_add_bg_text_in_row( cont ); } else { jQuery( ( is_edit_mode ? '.elementor-section.elementor-element-edit-mode,.e-con.e-parent.elementor-element-edit-mode' : '.trx_addons_has_bg_text' ) + ':not(.trx_addons_has_bg_text_inited)' ).each( function() { trx_addons_elementor_add_bg_text_in_row( jQuery( this ) ); } ); } } function trx_addons_elementor_add_bg_text_in_row( row ) { var data = row.data('bg-text'), cid = '', rtl = $body.hasClass( 'rtl' ); if ( ! data ) { cid = row.data('model-cid'); if ( cid ) { data = trx_addons_elementor_get_settings_by_cid( cid, ['bg_text'] ); } } if ( ! data ) { return; } if ( data['bg_text'] ) { if ( ! row.hasClass( 'trx_addons_has_bg_text' ) ) { row.addClass( 'trx_addons_has_bg_text' ); } data['bg_text'] = data['bg_text'].replace( /\r/g, ' ' ).replace( /\n/g, ' ' ); var row_cont = row.addClass('trx_addons_has_bg_text_inited'); var chars = '', in_tag = false, in_amp = false, amp = '', ch; var delimiter_image = typeof data['bg_text_delimiter_image'] == 'object' ? data['bg_text_delimiter_image']['url'] : data['bg_text_delimiter_image']; var delimiter_svg = data['bg_text_delimiter_svg'] || ''; var delimiter_icon = ! trx_addons_is_off( data['bg_text_delimiter_icon'] ) ? data['bg_text_delimiter_icon'] : ''; if ( data['bg_text_effect'] != 'none' ) { for ( var i = 0; i < data['bg_text'].length; i++ ) { ch = data['bg_text'].substr(i,1); if ( ! in_tag ) { if ( ch == '<' ) { in_tag = true; } else { if ( ch == '&' ) { in_amp = true; amp += ch; } else if ( in_amp ) { amp += ch; if ( ch == ';' ) { chars += '<span class="trx_addons_bg_text_item trx_addons_bg_text_char">' + amp + '</span>'; in_amp = false; amp = ''; } } else { chars += '<span class="trx_addons_bg_text_item trx_addons_bg_text_char">' + ( ch == ' ' ? '&nbsp;' : ch ) + '</span>'; } } } if ( in_tag ) { chars += ch; if ( ch == '>' ) { in_tag = false; } } } } else { chars = '<span class="trx_addons_bg_text_item trx_addons_bg_text_char">' + data['bg_text'] + '</span>'; } var marquee_speed = typeof data['bg_text_marquee'] == 'object' ? ( data['bg_text_marquee']['size'] ? data['bg_text_marquee']['size'] : 0 ) : data['bg_text_marquee'], marquee_dir = typeof data['bg_text_reverse'] != 'undefined' ? ( data['bg_text_reverse'] > 0 ? ( rtl ? -1 : 1 ) : ( rtl ? 1 : -1 ) ) : ( rtl ? 1 : -1 ), overlay = typeof data['bg_text_overlay'] == 'object' ? data['bg_text_overlay']['url'] : data['bg_text_overlay']; if ( marquee_speed > 0 && ( delimiter_icon || delimiter_image ) ) { chars += '<span class="trx_addons_bg_text_item trx_addons_bg_text_char' + ' trx_addons_bg_text_delimiter' + ( ! delimiter_image && delimiter_icon ? ' trx_addons_bg_text_delimiter_icon ' + delimiter_icon : ' trx_addons_bg_text_delimiter_image' ) + ( data[ 'bg_text_delimiter_rotation' ] > 0 ? ' trx_addons_bg_text_delimiter_rotation' : '' ) + '">' + ( delimiter_image ? ( delimiter_svg ? delimiter_svg : '<img src="' + delimiter_image + '" />' ) : '' ) + '</span>'; } row_cont.prepend( '<div class="trx_addons_bg_text' + ( marquee_speed > 0 ? ' trx_addons_marquee_wrap' : '') + ( ( ! rtl && marquee_dir > 0 ) || ( rtl && marquee_dir < 0 ) ? ' trx_addons_marquee_reverse' : '' ) + '">' + '<div class="trx_addons_bg_text_inner' + ' trx_addons_bg_text_effect_' + data['bg_text_effect'] + ( marquee_speed > 0 ? ' trx_addons_marquee_element' + ( data['bg_text_left']['size'] != 0 ? ' trx_addons_marquee_element_with_offset' : '' ) : '' ) + ( cid == '' ? ' trx_addons_show_on_scroll' : ' trx_addons_showed_on_scroll trx_addons_in_preview_mode' ) + '"' + '>' + chars + '</div>' + ( overlay ? '<div class="trx_addons_bg_text_overlay trx_addons_show_on_scroll"></div>' : '' ) + '</div>' ); $document.trigger( 'action.got_ajax_response', [''] ); if ( marquee_speed > 0 && cid === '' ) { var marquee_wrap = row_cont.find('.trx_addons_marquee_wrap').eq(0), marquee_chars = Math.min( 100, data['bg_text_effect'] == 'none' ? trx_addons_clear_tags( data['bg_text'] ).length + ( delimiter_icon || delimiter_image ? 1 : 0 ) : marquee_wrap.find( '.trx_addons_bg_text_item' ).length ); setTimeout( function() { trx_addons_elementor_marquee_bg_text( marquee_wrap, marquee_dir, marquee_speed, true, data['bg_text_effect'], data['bg_text_marquee_hover'], data['bg_text_accelerate'] ); }, data['bg_text_effect'] != 'none' ? marquee_chars * 100 + 800 : 0 ); } } } function trx_addons_elementor_marquee_bg_text( marquee_wrap, marquee_dir, marquee_speed, start, effect, pause_on_hover, accelerate ) { var elements = marquee_wrap.find('.trx_addons_marquee_element'), mw = elements.eq(0).outerWidth(), mpw = marquee_wrap.width(), mpw_min = 320, mpw_max = 1920, divider_min = 1680 - marquee_speed * marquee_speed * 2, divider_max = 1920, divider = divider_min + ( mpw - mpw_min ) / ( mpw_max - mpw_min ) * ( divider_max - divider_min ), time_per_pixel = ( 50 - Math.min( 15, marquee_speed ) * 3 ) / divider, with_offset = elements.eq(0).hasClass( 'trx_addons_marquee_element_with_offset' ), coeff_max = trx_addons_apply_filters( 'trx_addons_filter_bg_text_marquee_coeff_max', Math.max( 2, Math.ceil( mpw / mw ) ) ), coeff = with_offset && marquee_wrap.data('marquee-loop') ? Math.min( marquee_wrap.data('marquee-loop') + 1, coeff_max ) : 1; if ( effect == 'none' && elements.eq(0).hasClass( 'trx_addons_show_on_scroll' ) && ! elements.eq(0).hasClass( 'trx_addons_showed_on_scroll' ) ) { elements.eq(0).removeClass( 'trx_addons_show_on_scroll' ).addClass( 'trx_addons_showed_on_scroll' ); } if ( elements.eq(0).hasClass( 'trx_addons_showed_on_scroll' ) ) { if ( start ) { for (var i = 1; i < Math.ceil( ( mpw + mw * ( with_offset ? coeff_max + 1 : 2 ) ) / mw ); i++ ) { var element_clone = elements.eq(0).clone(); elements.eq(0).after( element_clone ); } elements = marquee_wrap.find('.trx_addons_marquee_element'); } var delimiters = marquee_wrap.find('.trx_addons_bg_text_delimiter_rotation').css( { 'transform-origin': 'center center', 'transition': 'none', 'transition-delay': 'unset', 'transition-duration': 'unset', 'perspective': 'unset' } ), delimiters_loop = delimiters.length > 0 ? Math.max( 1, Math.ceil( mpw / ( delimiters.eq(0).outerHeight() * Math.PI ) / 2 ) ) : 0; elements.each( function(idx) { var $self = jQuery( this ); var restartTween = trx_addons_throttle( function() { var tween_obj = elements.eq( idx ).data( 'tweenmax-object' ); if ( tween_obj && tween_obj.timeScale() > 1 && tween_obj.progress() > 0.98 ) { completeTween(); } }, 50 ); var completeTween = function() { if ( idx == elements.length - 1 ) { var tween_obj = elements.eq( idx ).data( 'tweenmax-object' ); var diff = ( 1 - tween_obj.progress() ) * mw; marquee_wrap.data( 'marquee-loop', ( marquee_wrap.data( 'marquee-loop' ) || 0 ) + 1 ); elements.each( function(idx2) { TweenMax.to( elements.eq(idx2), 0, { overwrite: true, x: ( with_offset ? mw * Math.min( coeff, coeff_max - 1 ) * marquee_dir : 0 ) - diff * marquee_dir, y: 0, ease: Power0.easeNone } ); if ( delimiters_loop > 0 ) { TweenMax.to( delimiters.eq(idx2), 0, { overwrite: true, rotation: 0, ease: Power0.easeNone } ); } }); setTimeout( function() { trx_addons_elementor_marquee_bg_text( marquee_wrap, marquee_dir, marquee_speed, false, effect, pause_on_hover, accelerate ); }, 1); } }; $self .data( 'tweenmax-object', TweenMax.to( elements.eq(idx), mw * time_per_pixel, { overwrite: true, x: mw * coeff * marquee_dir, y: 0, ease: Power0.easeNone, onUpdate: function() { var tween_obj = elements.eq( idx ).data( 'tweenmax-object' ); if ( tween_obj && tween_obj.timeScale() > 1 && tween_obj.progress() > 0.9 ) { restartTween(); } }, onComplete: completeTween } ) ) .data( 'tweenmax-delimiter', delimiters_loop === 0 ? null : TweenMax.to( delimiters.eq(idx), mw * time_per_pixel, { overwrite: true, rotation: delimiters_loop * 360 * marquee_dir, ease: Power0.easeNone } ) ); if ( pause_on_hover ) { $self .on( 'mouseenter', function() { elements.each( function( idx ) { var tween_obj = elements.eq( idx ).data( 'tweenmax-object' ); if ( tween_obj ) { tween_obj.pause(); if ( delimiters_loop > 0 ) { var tween_delimiter = elements.eq( idx ).data( 'tweenmax-delimiter' ); if ( tween_delimiter ) { tween_delimiter.pause(); } } } } ); } ) .on( 'mouseleave', function() { elements.each( function( idx ) { var tween_obj = elements.eq( idx ).data( 'tweenmax-object' ); if ( tween_obj ) { tween_obj.resume(); if ( delimiters_loop > 0 ) { var tween_delimiter = elements.eq( idx ).data( 'tweenmax-delimiter' ); if ( tween_delimiter ) { tween_delimiter.resume(); } } } } ); } ); } } ); } else { setTimeout( function() { trx_addons_elementor_marquee_bg_text( marquee_wrap, marquee_dir, marquee_speed, start, effect, pause_on_hover, accelerate ); }, effect != 'none' ? elements.eq(0).find( '.trx_addons_bg_text_char' ).length * 100 + 800 : 0 ); } if ( accelerate ) { var wheel_time = 0, wheel_stop = false, wheel_accelerate = { value: 1 }, wheel_handler = function(e) { if ( wheel_stop ) { return true; } if ( wheel_time == e.timeStamp ) { e.preventDefault(); return false; } wheel_time = e.timeStamp; var wheel_tween = elements.eq(0).data( 'tweenmax-accelerate' ) || null; if ( wheel_tween ) { wheel_tween.kill(); wheel_accelerate.value = 1; } elements.eq(0).data( 'tweenmax-accelerate', TweenMax.to( wheel_accelerate, 2.0, { overwrite: true, value: 15, ease: Power4.easeOut, onUpdate: function() { var coeff = wheel_accelerate.value == 1 ? 1 : ( wheel_accelerate.value <= 8 ? wheel_accelerate.value : 16 - wheel_accelerate.value ); elements.each( function( idx ) { var tween_obj = elements.eq( idx ).data( 'tweenmax-object' ); if ( tween_obj ) { tween_obj.timeScale( coeff ); if ( delimiters_loop > 0 ) { var tween_delimiter = elements.eq( idx ).data( 'tweenmax-delimiter' ); if ( tween_delimiter ) { tween_delimiter.timeScale( coeff ); } } } } ); }, onComplete: function() { wheel_accelerate.value = 1; elements.each( function( idx ) { var tween_obj = elements.eq( idx ).data( 'tweenmax-object' ); if ( tween_obj ) { tween_obj.timeScale( 1 ); if ( delimiters_loop > 0 ) { var tween_delimiter = elements.eq( idx ).data( 'tweenmax-delimiter' ); if ( tween_delimiter ) { tween_delimiter.timeScale( 1 ); } } } } ); } } ) ); }; TRX_ADDONS_STORAGE['bg_text_mousewheel_inited'] = true; $document.on('action.stop_wheel_handlers', function(e) { wheel_stop = true; }); $document.on('action.start_wheel_handlers', function(e) { wheel_stop = false; }); window.addEventListener('mousewheel', wheel_handler, { passive: false } ); $window.on('DOMMouseScroll', wheel_handler); } } })();( function() { 'use strict'; var GET_SIZES_ON_SCROLL = false; var $window = jQuery( window ), $document = jQuery( document ), $body = jQuery( 'body' ); var edit_mode = false, animation_allowed = true, motion_step = 0, motion_period = 250; var parallax_items = []; var bp_params = { range_start: { default: 0 }, range_end: { default: 40 }, sticky_offset: { default: 0 }, lag: { default: 0 }, x_start: { default: 0, unit: 'px' }, x_end: { default: 0, unit: 'px' }, y_start: { default: 0, unit: 'px' }, y_end: { default: 0, unit: 'px' }, scale_start: { default: 100 }, scale_end: { default: 100 }, rotate_start: { default: 0 }, rotate_end: { default: 0 }, opacity_start: { default: 1 }, opacity_end: { default: 1 }, crop_start: { default: 0 }, crop_end: { default: 100 } }; $document.on( 'action.after_add_content', function( e, $cont ) { if ( $cont && $cont.length ) { $cont .find( '.trx_addons_parallax_layers_inited,.trx_addons_parallax_blocks_inited' ) .removeClass( 'trx_addons_parallax_layers_inited trx_addons_parallax_blocks_inited' ); } } ); $document.on( 'action.got_ajax_response action.init_hidden_elements', function( e ) { setTimeout( function() { var items = jQuery('.trx_addons_parallax_layers:not(.trx_addons_parallax_layers_inited)'); if ( items.length > 0 ) { items.each( function() { var layers = new trx_addons_parallax( jQuery(this).addClass('trx_addons_parallax_layers_inited'), 'layers' ); if ( layers.init() ) { parallax_items.push( layers ); } } ); } items = jQuery('.trx_addons_parallax_blocks:not(.trx_addons_parallax_blocks_inited)'); if ( items.length > 0 ) { items.each( function() { var $self = jQuery(this); if ( $self.hasClass( 'sc_parallax_text_separate_on' ) ) { var $inner_obj = parallax_text_prepare( $self ); if ( $inner_obj && $inner_obj.length ) { items.add( $inner_obj ); $self.removeClass( 'trx_addons_parallax_blocks' ); } } else { var blocks = new trx_addons_parallax( $self.addClass('trx_addons_parallax_blocks_inited'), 'blocks' ); if ( blocks.init() ) { parallax_items.push( blocks ); } } } ); } }, 0 ); } ); $window.on( 'elementor/frontend/init', function() { edit_mode = Boolean( window.elementorFrontend.isEditMode() ); window.elementorFrontend.hooks.addAction( 'frontend/element_ready/container', parallax_init ); window.elementorFrontend.hooks.addAction( 'frontend/element_ready/section', parallax_init ); window.elementorFrontend.hooks.addAction( 'frontend/element_ready/column', parallax_init ); window.elementorFrontend.hooks.addAction( 'frontend/element_ready/element', parallax_init ); window.elementorFrontend.hooks.addAction( 'frontend/element_ready/widget', parallax_init ); } ); function parallax_init( $init_obj ) { if ( edit_mode ) { parallax_remove_handlers( $init_obj ); } var layers = new trx_addons_parallax( $init_obj, 'layers' ); if ( layers.init() ) { parallax_items.push( layers ); } $init_obj.addClass('trx_addons_parallax_layers_inited'); if ( $init_obj.hasClass( 'sc_parallax_text_separate_on' ) ) { var $inner_obj = parallax_text_prepare( $init_obj ); if ( $inner_obj && $inner_obj.length ) { $inner_obj.each( function() { var $self = jQuery( this ); var blocks = new trx_addons_parallax( $self, 'blocks' ); if ( blocks.init() ) { parallax_items.push( blocks ); } $self.addClass('trx_addons_parallax_blocks_inited'); } ); } } else { var blocks = new trx_addons_parallax( $init_obj, 'blocks' ); if ( blocks.init() ) { parallax_items.push( blocks ); } } $init_obj.addClass('trx_addons_parallax_blocks_inited'); } function parallax_remove_handlers( $init_obj ) { if ( animation_allowed && parallax_items.length ) { if ( $init_obj.hasClass( 'sc_parallax_text_separate_on' ) ) { $init_obj.find( '.sc_parallax_text_block' ).each( function() { var $self = jQuery( this ); parallax_items = parallax_items.filter( function( item ) { return ! item.remove_handlers( $self ); } ); } ); } else { parallax_items = parallax_items.filter( function( item ) { return ! item.remove_handlers( $init_obj ); } ); } } } function parallax_text_prepare( $init_obj, settings ) { if ( ! settings ) { if ( ! edit_mode ) { var params = $init_obj.data( 'parallax-params' ) || false; if ( params ) { settings = []; settings.push(params); } } else { settings = get_editor_settings( $init_obj, 'blocks' ); } } if ( ! settings || settings.length === 0 || ['chars', 'words'].indexOf( settings[0].text ) == -1 || ! $init_obj.data('element_type') ) { return false; } var sc = ( $init_obj.data('element_type') == 'widget' ? $init_obj.data('widget_type') : $init_obj.data('element_type') ).split('.')[0], $inner_obj = $init_obj.find('.sc_parallax_text_block'); if ( $inner_obj.length === 0 ) { $inner_obj = $init_obj.find( sc == 'trx_sc_title' ? '.sc_item_title_text,.sc_item_subtitle' : ( sc == 'trx_sc_supertitle' ? '.sc_supertitle_text' : ( sc == 'heading' ? '.elementor-heading-title' : 'p' ) ) ); if ( $inner_obj.length > 0 ) { $inner_obj.each( function( idx ) { $inner_obj.eq( idx ) .html( settings[0].text == 'chars' ? parallax_text_wrap_chars( $inner_obj.eq( idx ).html(), true ) : parallax_text_wrap_words( $inner_obj.eq( idx ).html() ) ); } ); $inner_obj = $inner_obj.find('.sc_parallax_text_block'); if ( settings[0].text_separate ) { $inner_obj.each( function( idx ) { var params = trx_addons_object_clone( settings[0] ); if ( params.lag > 0 ) { params.lag = trx_addons_window_width() < TRX_ADDONS_STORAGE['mobile_breakpoint_scroll_lag_off'] ? 0 : params.lag * ( idx + 1 ); } $inner_obj.eq( idx ).attr( 'data-parallax-params', JSON.stringify( params ) ); } ); } } } return $inner_obj; } function parallax_text_wrap_chars( txt, wrap_words ) { return trx_addons_wrap_chars( txt, '<span class="sc_parallax_text_block">', '</span>', wrap_words ? '<span class="sc_parallax_word_wrap">' : '', wrap_words ? '</span>' : '' ); } function parallax_text_wrap_words( txt ) { return trx_addons_wrap_words( txt, '<span class="sc_parallax_text_block">', '</span>' ); } function get_editor_settings( $target, init_type ) { if ( ! window.elementor || ! window.elementor.hasOwnProperty( 'elements' ) ) { return false; } var elements = window.elementor.elements; if ( ! elements.models ) { return false; } var section_id = $target.data('id'), section_cid = $target.data('model-cid'), section_data = {}; function get_section_data( idx, obj ) { if ( 0 < Object.keys( section_data ).length ) { return; } else if ( section_id == obj.id ) { section_data = obj.attributes.settings.attributes; } else if ( obj.attributes && obj.attributes.elements && obj.attributes.elements.models ) { jQuery.each( obj.attributes.elements.models, get_section_data ); } } jQuery.each( elements.models, get_section_data ); if ( 0 === Object.keys( section_data ).length ) { return false; } var settings = []; if ( init_type == 'layers' && section_data.hasOwnProperty( 'parallax_blocks' ) ) { jQuery.each( section_data[ 'parallax_blocks' ].models, function( index, obj ) { settings.push( obj.attributes ); } ); } else if ( init_type == 'blocks' && ( section_data.hasOwnProperty( 'parallax' ) && section_data.parallax == 'parallax' || section_data.hasOwnProperty( 'parallax_mouse' ) && section_data.parallax_mouse == 'mouse' ) ) { var parallax_on = section_data.hasOwnProperty( 'parallax' ) && section_data.parallax == 'parallax', mouse_on = section_data.hasOwnProperty( 'parallax_mouse' ) && section_data.parallax_mouse == 'mouse'; var data = { parallax: parallax_on ? 1 : 0, type: parallax_on && section_data.hasOwnProperty( 'parallax_type' ) ? section_data.parallax_type : 'object', flow: parallax_on && section_data.hasOwnProperty( 'parallax_flow' ) ? section_data.parallax_flow : 'default', crop: parallax_on && section_data.hasOwnProperty( 'parallax_crop' ) ? section_data.parallax_crop : 'none', duration: parallax_on && section_data.hasOwnProperty( 'parallax_duration' ) ? section_data.parallax_duration.size : 1, delay: parallax_on && section_data.hasOwnProperty( 'parallax_delay' ) ? section_data.parallax_delay.size : 0, squeeze: parallax_on && section_data.hasOwnProperty( 'parallax_squeeze' ) ? section_data.parallax_squeeze.size : 1, ease: parallax_on && section_data.hasOwnProperty( 'parallax_ease' ) ? section_data.parallax_ease : 'power2', text: parallax_on && section_data.hasOwnProperty( 'parallax_text' ) ? section_data.parallax_text : 'block', text_separate: parallax_on && section_data.hasOwnProperty( 'parallax_text_separate' ) ? section_data.parallax_text_separate : 0, text_wrap: parallax_on && section_data.hasOwnProperty( 'parallax_text_wrap' ) ? 1 : 0, mouse: mouse_on ? 1 : 0, mouse_type: mouse_on && section_data.hasOwnProperty( 'parallax_mouse_type' ) ? section_data.parallax_mouse_type : 'transform3d', mouse_tilt_amount: mouse_on && section_data.hasOwnProperty( 'parallax_mouse_tilt_amount' ) ? section_data.parallax_mouse_tilt_amount.size : 70, mouse_speed: mouse_on && section_data.hasOwnProperty( 'parallax_mouse_speed' ) ? section_data.parallax_mouse_speed.size : 10, mouse_z: mouse_on && section_data.hasOwnProperty( 'parallax_mouse_z' ) ? section_data.parallax_mouse_z.size : '', mouse_handler: mouse_on && section_data.hasOwnProperty( 'parallax_mouse_handler' ) ? section_data.parallax_mouse_handler : 'row' }; var suffix_prev = '', suffix = '', param_name = '', param_prev = '', defa = {}; for ( var resp in TRX_ADDONS_STORAGE['elementor_breakpoints'] ) { suffix = resp == 'desktop' ? '' : '_' + resp; for ( var param in bp_params ) { defa = bp_params[ param ]; param_name = param + suffix; param_prev = param + suffix_prev; if ( suffix && ! section_data.hasOwnProperty( 'parallax_' + param_name ) ) continue; data[ param_name ] = section_data.hasOwnProperty( 'parallax_' + param_name ) && section_data[ 'parallax_' + param_name ]['size'] !== '' ? section_data[ 'parallax_' + param_name ]['size'] : ( ! suffix ? defa['default'] : data[ param_prev ] ); if ( defa['unit'] ) { data[ param_name + '_unit' ] = section_data.hasOwnProperty( 'parallax_' + param_name ) && section_data[ 'parallax_' + param_name ].hasOwnProperty( 'unit' ) && section_data[ 'parallax_' + param_name ]['size'] !== '' ? section_data[ 'parallax_' + param_name ]['unit'] : ( ! suffix ? defa['unit'] : data[ param_prev + '_unit' ] ); } if ( ! suffix ) { data[ param_name + '_desktop' ] = data[ param_name ]; if ( defa['unit'] ) { data[ param_name + '_unit_desktop' ] = data[ param_name + '_unit' ]; } } } if ( typeof data['x_start' + suffix] != 'undefined' && typeof data['x_end' + suffix] != 'undefined' ) { if ( data['x_end' + suffix] == 0 ) data['x_end' + suffix + '_unit'] = data['x_start' + suffix + '_unit']; else if ( data['x_start' + suffix] == 0 ) data['x_start' + suffix + '_unit'] = data['x_end' + suffix + '_unit']; } if ( typeof data['y_start' + suffix] != 'undefined' && typeof data['y_end' + suffix] != 'undefined' ) { if ( data['y_end' + suffix] == 0 ) data['y_end' + suffix + '_unit'] = data['y_start' + suffix + '_unit']; else if ( data['y_start' + suffix] == 0 ) data['y_start' + suffix + '_unit'] = data['y_end' + suffix + '_unit']; } suffix_prev = suffix; } settings.push( parallax_bp_settings( data ) ); } return 0 !== settings.length ? settings : false; } function parallax_bp_settings( settings ) { if ( ! settings.hasOwnProperty( 'last_bp' ) ) { settings['last_bp'] = 'desktop'; for ( var param in bp_params ) { var param_name = param + '_desktop'; if ( ! settings.hasOwnProperty( param_name ) ) { settings[ param_name ] = settings[ param ]; if ( bp_params[ param ]['unit'] ) { settings[ param_name + '_unit' ] = settings[ param + '_unit' ]; } } } } var bp = trx_addons_get_responsive_breakpoint(); if ( bp != settings['last_bp'] ) { for ( var param in bp_params ) { var param_name = param + '_' + bp; if ( settings.hasOwnProperty( param_name ) ) { settings[ param ] = settings[ param_name ]; if ( bp_params[ param ]['unit'] ) { settings[ param + '_unit' ] = settings[ param_name + '_unit' ]; } } } settings['last_bp'] = bp; } return settings; } window.trx_addons_parallax = function( $target, init_type ) { var self = this, settings = false, parallax_type = 'none', $targetLayers = $target, $targetBlocks = $target, target_id = $target.data( 'id' ); if ( ! target_id ) { target_id = 'parallax' + ( '' + Math.random() ).replace( '.', '' ); $target.data( 'id', target_id ); } var scroll_list = [], mouse_list = [], motion_list = []; var on_start_inited = false; var wst = trx_addons_window_scroll_top() + trx_addons_fixed_rows_height(), ww = trx_addons_window_width(), wh = trx_addons_window_height() - trx_addons_fixed_rows_height(), is_safari = !!navigator.userAgent.match(/Version\/[\d\.]+.*Safari/), platform = navigator.platform; var tl = 0, tt = 0, tw = 0, th = 0, tx = 0, ty = 0, cx = 0, cy = 0, dx = 0, dy = 0; self.init = function() { if ( ! edit_mode ) { if ( init_type == 'layers' ) { settings = $target.data( 'parallax-blocks' ) || false; if ( settings ) { parallax_type = 'layers'; } } else { var params = $target.data( 'parallax-params' ) || false; if ( params ) { settings = []; settings.push(params); parallax_type = 'blocks'; } } } else { settings = get_editor_settings( $target, init_type ); if ( settings ) { parallax_type = init_type; } } if ( ! settings ) { return false; } if ( settings[0].mouse == 1 ) { parallax_type += '|layers'; var layout_data = { selector: $target, image: false, size: 'auto', prop: settings[0].mouse_type || 'transform3d', type: 'mouse', x: 0, y: 0, z: settings[0].mouse_z || 0, speed: 2 * ( ( settings[0].mouse_speed ? settings[0].mouse_speed : 10 ) / 100 ), tilt_amount: settings[0].mouse_tilt_amount || 70, motion_dir: 'round', motion_time: 5 }; mouse_list.push( layout_data ); } if ( init_type == 'layers' || settings[0].mouse == 1 ) { if ( settings[0].mouse_handler == 'window' ) { $targetLayers = $body; } else if ( settings[0].mouse_handler == 'content' ) { $targetLayers = jQuery( trx_addons_apply_filters( 'trx_addons_filter_page_wrap_class', TRX_ADDONS_STORAGE['page_wrap_class'] ? TRX_ADDONS_STORAGE['page_wrap_class'] : '.page_wrap', 'elementor-parallax' ) ).eq(0); } else if ( settings[0].mouse_handler == 'row' ) { if ( init_type != 'layers' ) { $targetLayers = $target.hasClass( 'trx_addons_parallax_blocks' ) ? $target.parent() : $target.parents( '.elementor-section,.e-con.e-parent' ).eq(0); } } else if ( settings[0].mouse_handler == 'column' ) { $targetLayers = $target.hasClass( 'trx_addons_parallax_blocks' ) ? $target.parent() : $target.parents( '.elementor-column,.e-con.e-child' ).eq(0); } else if ( settings[0].mouse_handler == 'parent' ) { $targetLayers = $target.parent(); } else if ( settings[0].mouse_handler && '.#'.indexOf( settings[0].mouse_handler.substring(0, 1) ) != -1 ) { $targetLayers = $target.parents( settings[0].mouse_handler ); } else if ( settings[0].mouse_type == 'tilt' ) { var $tilt_trigger = $target.parents( '.trx_addons_tilt_trigger' ); if ( $tilt_trigger.length > 0 ) { $targetLayers = $tilt_trigger.eq(0); } } $targetLayers.data('mouse-handler', settings[0].mouse_handler); } if ( parallax_type.indexOf('layers') >= 0 ) { if ( init_type == 'layers' ) { self.create_layers(); } if ( animation_allowed ) { if ( ! $targetLayers.attr( 'data-mousemove-' + target_id ) ) { $targetLayers.attr( 'data-mousemove-' + target_id, target_id ); $targetLayers.on( 'mousemove.trx_addons_parallax', self.mouse_move_handler ); $targetLayers.on( 'mouseleave.trx_addons_parallax', self.mouse_leave_handler ); } if ( motion_list.length > 0 ) { $targetLayers.attr( 'data-motionmove-' + target_id, setInterval( self.motion_move_handler, motion_period ) ); } } } if ( parallax_type.indexOf('blocks') >= 0 ) { settings[0].selector = $targetBlocks; settings[0].hsection = $targetBlocks.parents( '.sc_hscroll_section' ); settings[0].hscroller = settings[0].hsection.length ? settings[0].hsection.parents( '.sc_hscroll_scroller' ) : false; if ( settings[0].flow == 'sticky' ) { $targetBlocks.css( 'top', ( 100 - settings[0].range_start ) + '%' ); } scroll_list.push(settings[0]); settings[0].selector.addClass( 'trx_addons_parallax_blocks_need_start' ); } if ( ! GET_SIZES_ON_SCROLL ) { self.get_blocks_sizes(); $document.on( 'action.init_hidden_elements action.hscroll_inited', self.get_blocks_sizes ); $document.on( 'action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', self.get_blocks_sizes ); $document.on( 'action.resize_trx_addons', self.get_blocks_sizes ); } if ( animation_allowed ) { on_start_inited = false; var on_start_init = trx_addons_throttle( function() { if ( ! on_start_inited ) { on_start_inited = true; self.scroll_update( true ); setTimeout( function() { self.scroll_handler(); }, 10 ); } }, 100 ); $document.on( 'action.resize_trx_addons action.scroll_trx_addons action.hscroll_inited', self.scroll_handler ); $document.on( 'action.resize_trx_addons action.scroll_trx_addons action.hscroll_inited action.init_hidden_elements action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', on_start_init ); } return true; }; self.remove_handlers = function( $init_obj, force ) { var found = $target.is( $init_obj ) || force; if ( found ) { var id = $init_obj.data( 'id' ); $init_obj.attr( 'style', '' ); if ( $init_obj.attr( 'data-mousemove-' + id ) ) { $init_obj.removeAttr( 'data-mousemove-' + id ); $init_obj.off( 'mousemove.trx_addons_parallax', self.mouse_move_handler ); $init_obj.off( 'mouseleave.trx_addons_parallax', self.mouse_leave_handler ); } if ( $init_obj.attr( 'data-motionmove-' + id ) ) { clearInterval( $init_obj.attr( 'data-motionmove-' + id ) ); $init_obj.removeAttr( 'data-motionmove-' + id ); } } return found; }; self.get_blocks_sizes = function() { jQuery.each( scroll_list, function( index, block ) { var hscroller_offset = block.hsection.length ? block.hscroller.data( 'hscroll-offset' ) || 0 : 0; var hsection_offset = block.hsection.length ? block.hsection.data( 'hscroll-section-offset' ) || 0 : 0; hscroller_offset += hsection_offset; block.sizes = { width: block.selector.outerWidth(), height: block.selector.outerHeight(), top: block.selector.offset().top + hscroller_offset }; if ( block.flow == 'sticky' ) { var $parent = block.selector.parent(); block.sizes.parent_selector = $parent; block.sizes.parent_height = $parent.length ? $parent.outerHeight() : 0; block.sizes.parent_top = $parent.length ? $parent.offset().top + hscroller_offset : 0; } } ); }; self.create_layers = function() { $target.find( '> .sc_parallax_block' ).remove(); var bg_parallax_present = false; jQuery.each( settings, function( index, block ) { var image = block['image'].url, speed = block['speed'].size, z_index = block['z_index'].size, bg_size = block['bg_size'] ? block['bg_size'] : 'auto', type = block['type'] ? block['type'] : 'none', anim_prop = block['animation_prop'] ? ( ['scroll', 'motion'].indexOf(type) != -1 && block['animation_prop'] != 'background' ? 'transform' : block['animation_prop'] ) : 'background', left = block['left'].size, top = block['top'].size, motion_dir = block['motion_dir'] ? block['motion_dir'] : 'round', motion_time = block['motion_time'] ? block['motion_time'].size : 5, tilt_amount = block['mouse_tilt_amount'] ? block['mouse_tilt_amount'].size : 70, mouse_handler = block['mouse_handler'] ? block['mouse_handler'] : 'row', bg_parallax = block['bg_parallax'] && type =='scroll' && anim_prop == 'background' ? block['bg_parallax'] : false, $layout = null; if ( bg_parallax ) { bg_parallax_present = true; } if ( '' !== image || 'none' !== type ) { var layout_init = { 'z-index': z_index }; if ( 'none' === type ) { layout_init['left'] = left + '%'; layout_init['top'] = top + '%'; } $layout = jQuery( '<div class="sc_parallax_block' + ' sc_parallax_block_type_' + type + ' sc_parallax_block_animation_' + ( bg_parallax ? 'bg_parallax' : anim_prop ) + (is_safari ? ' is-safari' : '') + ('MacIntel' == platform ? ' is-mac' : '') + (typeof block['class'] !== 'undefined' && block['class'] != '' ? ' ' + block['class'] : '') + '">' + '<div class="sc_parallax_block_image"' + ( bg_parallax ? ' parallax="' + ( speed / 100 ) + '"' : '' ) + '></div>' + '</div>' ) .prependTo( $target ) .css( layout_init ); layout_init = { 'background-image': 'url(' + image + ')', 'background-size': bg_size, 'background-position-x': left + '%', 'background-position-y': top + '%' }; $layout.find( '> .sc_parallax_block_image' ).css(layout_init); var layout_data = { selector: $layout, image: image, size: bg_size, bg_parallax: bg_parallax, prop: anim_prop, type: type, x: left, y: top, z: z_index, speed: 2 * ( speed / 100 ), tilt_amount: tilt_amount, mouse_handler: mouse_handler, motion_dir: motion_dir, motion_time: motion_time }; if ( 'scroll' === type ) { layout_data.hsection = layout_data.selector.parents( '.sc_hscroll_section' ); layout_data.hscroller = layout_data.hsection.length ? layout_data.hsection.parents( '.sc_hscroll_scroller' ) : false; scroll_list.push( layout_data ); } else if ( 'mouse' === type ) { mouse_list.push( layout_data ); } else if ( 'motion' === type ) { motion_list.push( layout_data ); } } }); if ( bg_parallax_present ) { trx_addons_bg_parallax( $target.get(0) ); } }; var in_out_last_state = ''; self.get_block_params = function( block ) { var params = trx_addons_object_merge( {}, parallax_bp_settings( block ) ); if ( typeof params.type == 'undefined' ) params.type = 'object'; if ( typeof params.flow == 'undefined' ) params.flow = 'default'; if ( typeof params.crop == 'undefined' ) params.crop = 'none'; if ( typeof params.range_start == 'undefined' ) params.range_start = 0; if ( typeof params.range_end == 'undefined' ) params.range_end = 40; if ( params.range_end <= params.range_start ) { params.range_end = Math.min( 100, params.range_start + params.range_end ); } if ( typeof params.sticky_offset == 'undefined' ) params.sticky_offset = 0; if ( params.flow == 'entrance' ) { params.range_end = 100; } else if ( params.flow == 'sticky' ) { params.range_end = params.range_start; } if ( typeof params.duration == 'undefined' ) params.duration = 1; if ( typeof params.delay == 'undefined' ) params.delay = 0; if ( typeof params.squeeze == 'undefined' ) params.squeeze = 1; if ( typeof params.ease == 'undefined' ) params.ease = "power2"; if ( typeof params.lag == 'undefined' ) params.lag = 0; if ( typeof params.x_start == 'undefined' ) params.x_start = 0; if ( typeof params.x_start_unit == 'undefined' ) params.x_start_unit = 'px'; if ( typeof params.x_end == 'undefined' ) params.x_end = 0; if ( typeof params.x_end_unit == 'undefined' ) params.x_end_unit = 'px'; if ( typeof params.y_start == 'undefined' ) params.y_start = 0; if ( typeof params.y_start_unit == 'undefined' ) params.y_start_unit = 'px'; if ( typeof params.y_end == 'undefined' ) params.y_end = 0; if ( typeof params.y_end_unit == 'undefined' ) params.y_end_unit = 'px'; if ( typeof params.scale_start == 'undefined' ) params.scale_start = 100; if ( typeof params.scale_end == 'undefined' ) params.scale_end = 100; if ( typeof params.rotate_start == 'undefined' ) params.rotate_start = 0; if ( typeof params.rotate_end == 'undefined' ) params.rotate_end = 0; if ( typeof params.opacity_start == 'undefined' ) params.opacity_start = 1; if ( typeof params.opacity_end == 'undefined' ) params.opacity_end = 1; if ( typeof params.crop_start == 'undefined' ) params.crop_start = 100; if ( typeof params.crop_end == 'undefined' ) params.crop_end = 100; if ( typeof params.text == 'undefined' ) params.text = 'block'; if ( typeof params.text_separate == 'undefined' ) params.text_separate = 0; if ( params.flow == 'in_out' ) { var w_top = wst + wh * ( 1 - params.range_end / 100 ), w_bottom = wst + wh * ( 1 - params.range_start / 100 ), obj_height = params.sizes.height, obj_top = params.sizes.top + ( ww < TRX_ADDONS_STORAGE['mobile_breakpoint_scroll_lag_off'] ? 0 : params.lag ), obj_bottom = obj_top + obj_height; if ( w_top >= obj_bottom || in_out_last_state == 'out' ) { in_out_last_state = w_top >= obj_bottom ? 'out' : ''; params.in_out_state = 'out'; params.force = w_top < obj_bottom; params.range_start = params.range_end; params.range_end = 100; params.x_start = 0; params.y_start = 0; params.scale_start = 100; params.rotate_start = 0; params.opacity_start = 1; params.crop_start = 100; params.crop = self.crop_reverse( params, 'out' ); } else if ( w_bottom <= obj_top || in_out_last_state == 'in' ) { in_out_last_state = w_bottom <= obj_top ? 'in' : ''; params.in_out_state = 'in'; params.force = w_bottom > obj_top; params.range_end = params.range_start; params.range_start = 0; params.x_end = 0; params.y_end = 0; params.scale_end = 100; params.rotate_end = 0; params.opacity_end = 1; params.crop_end = 100; params.crop = self.crop_reverse( params, 'in' ); } else { params.in_out_state = ''; params.x_start = params.x_end = 0; params.y_start = params.y_end = 0; params.scale_start = params.scale_end = 100; params.rotate_start = params.rotate_end = 0; params.opacity_start = params.opacity_end = 1; params.crop_start = params.crop_end = 100; } } return params; }; self.scroll_handler = function( e ) { if ( ! animation_allowed ) { return; } wst = trx_addons_window_scroll_top() + trx_addons_fixed_rows_height(); ww = trx_addons_window_width(); wh = trx_addons_window_height() - trx_addons_fixed_rows_height(); if ( on_start_inited ) { self.scroll_update(); } }; self.scroll_update = function( force ) { if ( GET_SIZES_ON_SCROLL ) { self.get_blocks_sizes(); } jQuery.each( scroll_list, function( index, block ) { if ( parallax_type.indexOf('layers') >= 0 ) { if ( ( ! block.bg_parallax || block.prop != 'background' ) && block.speed !== undefined ) { var $image = block.selector.find( '.sc_parallax_block_image' ).eq(0), speed = block.speed, offset_top = block.sizes.top, h = block.sizes.height, y = ( wst + wh - offset_top ) / h * 100; if ( wst < offset_top - wh) y = 0; if ( wst > offset_top + h) y = 200; y = parseFloat( speed * y ).toFixed(1); if ( 'background' === block.prop ) { $image.css( { 'background-position': block.x + '% calc(' + block.y + '% + ' + y + 'px)' } ); } else { $image.css( { 'transform': 'translateY(' + y + 'px)' } ); } } } if ( parallax_type.indexOf('blocks') >= 0 ) { var params = self.get_block_params( block ); var w_top = wst + wh * ( 1 - params.range_end / 100 ), w_bottom = wst + wh * ( 1 - params.range_start / 100 ), w_delta = params.flow == 'entrance' ? 0 : 100, obj = params.selector, obj_width = params.sizes.width, obj_height = params.sizes.height, obj_top = params.sizes.top + ( ww < TRX_ADDONS_STORAGE['mobile_breakpoint_scroll_lag_off'] ? 0 : params.lag ), obj_bottom = obj_top + obj_height, parent_top = params.flow == 'sticky' ? params.sizes.parent_top : 0, parent_bottom = params.flow == 'sticky' ? parent_top + params.sizes.parent_height * ( 1 - params.sticky_offset / 100 ) : 0; var entrance_complete = obj.hasClass('sc_parallax_entrance_complete'), bottom_delta = params.flow == 'entrance' && params.range_start == 0 ? wh * ( 1 - params.range_start / 100 ) / 10 : 0; var obj_visible = true; if ( obj.data('inited') === undefined && params.flow != 'sticky' ) { if ( obj_top > w_bottom ) { obj_top = w_bottom + w_delta - bottom_delta; obj_visible = false; } else if ( obj_bottom < w_top ) { obj_bottom = w_top - w_delta; obj_visible = false; } obj.data( 'inited', 1 ); } if ( ( force || params.force ) || ( ! entrance_complete && w_top - w_delta <= ( params.flow == 'sticky' ? parent_bottom : ( params.flow == 'in_out' && params.in_out_state == 'in' ? obj_top : obj_bottom ) ) && ( params.flow == 'sticky' ? parent_top : ( params.flow == 'in_out' && params.in_out_state == 'out' ? obj_bottom : obj_top ) ) <= w_bottom + w_delta - bottom_delta ) ) { if ( params.flow == 'entrance' ) { var entrance_start = false; if ( ! obj.data( 'entrance-inited' ) ) { if ( obj_bottom <= w_top - w_delta ) { obj.addClass('sc_parallax_entrance_complete'); } else { entrance_start = true; } obj.data( 'entrance-inited', 1 ); } else if ( ! obj.hasClass('sc_parallax_entrance_complete') ) { obj.addClass('sc_parallax_entrance_complete'); } } var delta, shift; if ( params.flow == 'entrance' ) { delta = 1; shift = entrance_start ? 0 : 1; } else if ( params.flow == 'sticky' ) { var obj_anchor = obj_top + Math.round( obj_height * ( 100 - params.range_start ) / 100 ); delta = Math.max( 1, parent_bottom - obj_bottom ); shift = Math.max( 0, w_bottom - obj_anchor ); if ( force ) { block.selector.css( 'top', 'calc( ' + ( 100 - params.range_start ) + '% - ' + ( obj_anchor - obj_top ) + 'px )' ); } } else if ( params.flow == 'in_out' ) { delta = Math.max( 1, wh * ( params.range_end - params.range_start ) / 100 ); shift = w_bottom - ( params.in_out_state == 'in' ? obj_top : obj_bottom ); } else { delta = Math.max( 1, wh * ( params.range_end - params.range_start ) / 100 + obj_height ); shift = w_bottom - obj_top; } var x_start_in_px = params.x_start_unit == 'px' || params.x_start_unit == params.x_end_unit ? params.x_start : trx_addons_units2px( params.x_start + params.x_start_unit, obj, 'x' ), x_end_in_px = params.x_end_unit == 'px' || params.x_start_unit == params.x_end_unit ? params.x_end : trx_addons_units2px( params.x_end + params.x_end_unit, obj, 'x' ), y_start_in_px = params.y_start_unit == 'px' || params.y_start_unit == params.y_end_unit ? params.y_start : trx_addons_units2px( params.y_start + params.y_start_unit, obj, 'y' ), y_end_in_px = params.y_end_unit == 'px' || params.y_start_unit == params.y_end_unit ? params.y_end : trx_addons_units2px( params.y_end + params.y_end_unit, obj, 'y' ), step_x = x_start_in_px != x_end_in_px ? ( x_end_in_px - x_start_in_px ) / delta : 0, step_y = y_start_in_px != y_end_in_px ? ( y_end_in_px - y_start_in_px ) / delta : 0, step_scale = params.scale_start != params.scale_end ? ( params.scale_end - params.scale_start ) / 100 / delta : 0, step_rotate = params.rotate_start != params.rotate_end ? ( params.rotate_end - params.rotate_start ) / delta : 0, step_opacity = params.opacity_start != params.opacity_end ? ( params.opacity_end - params.opacity_start ) / delta : 0, step_crop = ! trx_addons_is_off( params.crop ) && params.crop_start != params.crop_end ? ( params.crop_end - params.crop_start ) / delta : 0; var scroller_init = { overwrite: true, ease: self.get_ease( params.ease ) }, val = false; if ( step_x !== 0 ) { val = Math.round( x_start_in_px + shift * step_x ); if ( x_start_in_px < x_end_in_px && val < x_start_in_px || x_start_in_px > x_end_in_px && val > x_start_in_px ) { val = x_start_in_px; } if ( x_start_in_px < x_end_in_px && val > x_end_in_px || x_start_in_px > x_end_in_px && val < x_end_in_px ) { val = x_end_in_px; } scroller_init.x = val + ( params.x_start_unit == params.x_end_unit ? params.x_start_unit : 'px' ); } if ( step_y !== 0 ) { val = Math.round( y_start_in_px + shift * step_y ); if ( y_start_in_px < y_end_in_px && val < y_start_in_px || y_start_in_px > y_end_in_px && val > y_start_in_px ) { val = y_start_in_px; } if ( y_start_in_px < y_end_in_px && val > y_end_in_px || y_start_in_px > y_end_in_px && val < y_end_in_px ) { val = y_end_in_px; } scroller_init.y = val + ( params.y_start_unit == params.y_end_unit ? params.y_start_unit : 'px' ); } if ( step_rotate !== 0 ) { val = trx_addons_round_number( params.rotate_start + shift * step_rotate, 2); if ( params.rotate_start < params.rotate_end && val < params.rotate_start || params.rotate_start > params.rotate_end && val > params.rotate_start ) { val = params.rotate_start; } if ( params.rotate_start < params.rotate_end && val > params.rotate_end || params.rotate_start > params.rotate_end && val < params.rotate_end ) { val = params.rotate_end; } scroller_init.rotation = val; } if ( step_scale !== 0 ) { val = trx_addons_round_number( params.scale_start / 100 + shift * step_scale, 2 ); if ( params.scale_start < params.scale_end && val < params.scale_start / 100 || params.scale_start > params.scale_end && val > params.scale_start / 100 ) { val = params.scale_start / 100; } if ( params.scale_start < params.scale_end && val > params.scale_end / 100 || params.scale_start > params.scale_end && val < params.scale_end / 100 ) { val = params.scale_end / 100; } scroller_init.scale = val; } if ( step_opacity !== 0 ) { val = trx_addons_round_number( params.opacity_start + shift * step_opacity, 2 ); if ( params.opacity_start < params.opacity_end && val < params.opacity_start || params.opacity_start > params.opacity_end && val > params.opacity_start ) { val = params.opacity_start; } if ( params.opacity_start < params.opacity_end && val > params.opacity_end || params.opacity_start > params.opacity_end && val < params.opacity_end ) { val = params.opacity_end; } scroller_init.opacity = Math.max( 0, Math.min( 1, val ) ); } if ( step_crop !== 0 ) { val = trx_addons_round_number( params.crop_start + shift * step_crop, 2 ); if ( params.crop_start < params.crop_end && val < params.crop_start || params.crop_start > params.crop_end && val > params.crop_start ) { val = params.crop_start; } if ( params.crop_start < params.crop_end && val > params.crop_end || params.crop_start > params.crop_end && val < params.crop_end ) { val = params.crop_end; } scroller_init.crop = Math.max( 0, Math.min( 100, val ) ); scroller_init.onUpdate = function( t ) { obj.css( 'clip-path', self.clip_path( obj.prop( 'crop' ), params.crop, obj ) ); }; } obj.data( 'trx-parallax-scroller-init', scroller_init ); if ( [ 'chars', 'words'].indexOf( params.text ) != -1 && obj.data('element_type') !== undefined ) { var $inner_obj = parallax_text_prepare( obj, [params] ); if ( $inner_obj && $inner_obj.length > 0 ) { $inner_obj.addClass( 'trx_addons_parallax_blocks_need_start' ); obj.removeClass( 'trx_addons_parallax_blocks_need_start' ); obj = $inner_obj; } } if ( step_crop !== 0 ) { obj.each( function() { if ( jQuery( this ).prop( 'crop' ) === undefined ) { jQuery( this ).prop( 'crop', scroller_init.crop ); } } ); } var set_start_position = force; if ( val !== false ) { var animate = function() { obj.each( function(idx) { if ( idx === 0 || set_start_position ) { TweenMax.to( obj.eq( idx ), set_start_position ? 0 : params.duration, scroller_init ); if ( set_start_position ) { obj.eq( idx ).addClass( 'trx_addons_parallax_blocks_on_start' ); } } else { setTimeout( function() { TweenMax.to( obj.eq( idx ), params.duration, scroller_init ); }, ( params.text == 'chars' ? 75 : 250 ) * idx * params.squeeze ); } } ); }; if ( params.flow == 'entrance' && params.delay > 0 && ! entrance_start ) { setTimeout( animate, params.delay * 1000 ); } else { animate(); } } else if ( set_start_position ) { obj.addClass( 'trx_addons_parallax_blocks_on_start' ); } } } } ); }; self.crop_reverse = function( params, state ) { var crop_in = params.crop_orig ? params.crop_orig : params.crop, crop_out = crop_in; if ( state == 'out' ) { if ( ! params.crop_orig ) params.crop_orig = crop_in; if ( crop_in == 'wipe_left_right') crop_out = 'wipe_right_left'; else if ( crop_in == 'wipe_right_left') crop_out = 'wipe_left_right'; else if ( crop_in == 'wipe_top_bottom') crop_out = 'wipe_bottom_top'; else if ( crop_in == 'wipe_bottom_top') crop_out = 'wipe_top_bottom'; else if ( crop_in == 'corner_top_left') crop_out = 'corner_bottom_right'; else if ( crop_in == 'corner_top_right') crop_out = 'corner_bottom_left'; else if ( crop_in == 'corner_bottom_left') crop_out = 'corner_top_right'; else if ( crop_in == 'corner_bottom_right') crop_out = 'corner_top_left'; else if ( crop_in == 'box_left') crop_out = 'box_right'; else if ( crop_in == 'box_right') crop_out = 'box_left'; else if ( crop_in == 'box_top') crop_out = 'box_bottom'; else if ( crop_in == 'box_bottom') crop_out = 'box_top'; } return state == 'in' ? crop_in : crop_out; }; self.clip_path = function( val, type, obj ) { var clip = ''; if ( type == 'circle' ) { clip = 'circle(' + val + '% at center)'; } else if ( type == 'ellipse_hor' ) { clip = 'ellipse( ' + Math.min( 100, val * 1.2 ) + '% ' + val + '% at center)'; } else if ( type == 'ellipse_ver' ) { clip = 'ellipse(' + val + '% ' + Math.min( 100, val * 2.5 ) + '% at center)'; } else { var border_radius = obj.data( 'trx-addons-clip-border-radius' ) === undefined ? obj.find('>.elementor-widget-container').css( 'border-radius' ) : obj.data( 'trx-addons-clip-border-radius' ); if ( obj.data( 'trx-addons-clip-border-radius' ) === undefined ) { obj.data( 'trx-addons-clip-border-radius', border_radius ); } var x_divider = ['wipe_out_vertical', 'box_center', 'box_top', 'box_bottom'].indexOf( type ) != -1 ? 2 : 1; var y_divider = ['wipe_out_horizontal', 'box_center', 'box_left', 'box_right'].indexOf( type ) != -1 ? 2 : 1; var shift_top = ['wipe_bottom_top', 'wipe_out_horizontal', 'corner_bottom_left', 'corner_bottom_right', 'box_center', 'box_left', 'box_right', 'box_bottom'].indexOf( type ) != -1 ? 1 : 0; var shift_bottom = ['wipe_top_bottom', 'wipe_out_horizontal', 'corner_top_left', 'corner_top_right', 'box_center', 'box_left', 'box_right', 'box_top'].indexOf( type ) != -1 ? 1 : 0; var shift_left = ['wipe_right_left', 'wipe_out_vertical', 'corner_top_right', 'corner_bottom_right', 'box_center', 'box_top', 'box_right', 'box_bottom'].indexOf( type ) != -1 ? 1 : 0; var shift_right = ['wipe_left_right', 'wipe_out_vertical', 'corner_top_left', 'corner_bottom_left', 'box_center', 'box_top', 'box_left', 'box_bottom'].indexOf( type ) != -1 ? 1 : 0; clip = 'inset(' + ( shift_top ? ( 100 - val ) / y_divider : 0 ) + '% ' + ( shift_right ? ( 100 - val ) / x_divider : 0 ) + '% ' + ( shift_bottom ? ( 100 - val ) / y_divider : 0 ) + '% ' + ( shift_left ? ( 100 - val ) / x_divider : 0 ) + '%' + ( parseFloat( border_radius ) > 0 ? ' round ' + border_radius : '' ) + ')'; } return clip; }; self.mouse_move_handler = function( e ) { if ( tw === 0 ) { tl = $targetLayers.offset().left; tt = $targetLayers.offset().top; tw = $targetLayers.width(); th = ['window', 'content'].indexOf($targetLayers.data('mouse-handler'))!=-1 ? Math.min(trx_addons_window_height(), $targetLayers.height()) : $targetLayers.height(); cx = Math.ceil( tw / 2 ); cy = Math.ceil( th / 2 ); } wst = trx_addons_window_scroll_top() + trx_addons_fixed_rows_height(); ww = trx_addons_window_width(); wh = trx_addons_window_height() - trx_addons_fixed_rows_height(); dx = e.clientX - tl - cx; dy = ['window', 'content'].indexOf($targetLayers.data('mouse-handler'))!=-1 ? e.clientY - cy : e.clientY + wst - tt - cy; tx = -1 * ( dx / cx ); ty = -1 * ( dy / cy ); jQuery.each( mouse_list, self.mouse_move_update ); }; self.mouse_leave_handler = function( e ) { jQuery.each( mouse_list, function( index, block ) { var $image = block.selector.find( '.sc_parallax_block_image' ).eq(0); if ( $image.length === 0 ) { $image = block.selector; } var x = 0, y = 0, z = 0; var scroller_init = block.selector.data( 'trx-parallax-scroller-init' ); if ( scroller_init ) { x = x * 1 + trx_addons_units2px( ( scroller_init.css ? scroller_init.css.x : scroller_init.x ) || 0, block, 'x' ); y = y * 1 + trx_addons_units2px( ( scroller_init.css ? scroller_init.css.y : scroller_init.y ) || 0, block, 'y' ); } if ( block.prop == 'background' ) { TweenMax.to( $image, 1.5, { overwrite: true, backgroundPositionX: block.x + '%', backgroundPositionY: block.y + '%', ease: Power2.easeOut } ); } else if ( block.prop == 'transform' ) { TweenMax.to( $image, 1.5, { overwrite: true, x: x, y: y, ease:Power2.easeOut } ); } else if ( block.prop == 'transform3d' ) { TweenMax.to( $image, 1.5, { overwrite: true, x: x, y: y, z: z, rotationX: 0, rotationY: 0, ease:Power2.easeOut } ); } else if ( block.prop == 'tilt' ) { TweenMax.to( $image, 0.2, { overwrite: true, x: x, y: y, z: z, rotationX: 0, rotationY: 0, scale: 1, transformPerspective: 1500, ease:Power2.easeOut } ); } } ); }; self.mouse_move_update = function( index, block, time, ease ) { var $image = block.selector.find( '.sc_parallax_block_image' ).eq(0), speed = block.speed, x = parseFloat( tx * 125 * speed ).toFixed(1), y = parseFloat( ty * 125 * speed ).toFixed(1), z = block.z * 50, rotate_x = parseFloat( tx * 25 * speed ).toFixed(1), rotate_y = parseFloat( ty * 25 * speed ).toFixed(1); var scroller_init = block.selector.data( 'trx-parallax-scroller-init' ); if ( scroller_init ) { x = x * 1 + trx_addons_units2px( ( scroller_init.css ? scroller_init.css.x : scroller_init.x ) || 0, block, 'x' ); y = y * 1 + trx_addons_units2px( ( scroller_init.css ? scroller_init.css.y : scroller_init.y ) || 0, block, 'y' ); } if ( $image.length === 0 ) { $image = block.selector; } if ( block.prop == 'background' ) { var bx = block.x * 1 + x / ww * 100, by = block.y * 1 + y / wh * 100; TweenMax.to( $image, time === undefined ? 1 : time, { overwrite: true, backgroundPositionX: bx + '%', backgroundPositionY: by + '%', ease: ease === undefined ? Power2.easeOut : ease } ); } else if ( block.prop == 'transform' ) { TweenMax.to( $image, time === undefined ? 1 : time, { overwrite: true, x: x, y: y, ease: ease === undefined ? Power2.easeOut : ease } ); } else if ( block.prop == 'transform3d' ) { TweenMax.to( $image, time === undefined ? 2 : time, { overwrite: true, x: x, y: y, z: z, rotationX: rotate_y, rotationY: -rotate_x, ease: ease === undefined ? Power2.easeOut : ease } ); } else if ( block.prop == 'tilt' ) { var m = block.tilt_amount > 0 ? block.tilt_amount : 70, k = ['window', 'content'].indexOf($targetLayers.data('mouse-handler')) != -1 ? 2 : 4; z = Math.max(0, block.z); if ( isNaN(z) ) z = 0; TweenMax.set( $image, { transformOrigin: ((dx + cx) * 25 / tw + 40) + "% " + ((dy + cy) * 25 / th + 40) + "%", transformPerspective: 1000 + 500 * z } ); TweenMax.to( $image, time === undefined ? 0.5 : time, { overwrite: true, rotationX: dy / ( m - k * z ), rotationY: -dx / ( m - k * z ), y: ty * 2 * z, x: tx * 2 * z, z: 2 * z, scale: 1 + z / 100, ease: ease === undefined ? Power2.easeOut : ease } ); } }; self.motion_move_handler = function() { if ( tw === 0 ) { tl = $targetLayers.offset().left; tt = $targetLayers.offset().top; tw = $targetLayers.width(); th = $targetLayers.height(); cx = Math.ceil( tw / 2 ); cy = Math.ceil( th / 2 ); } jQuery.each( motion_list, function( index, block ) { var fi, delta = ( ( motion_period * motion_step ) % ( block['motion_time'] * 1000 ) ) / ( block['motion_time'] * 1000 ), angle = 2 * Math.PI * delta; if ( block['motion_dir'] == 'round' ) { fi = Math.atan2(tw / 2 * Math.sin(angle), th / 2 * Math.cos(angle)); dx = tw / 2 * Math.cos(fi); dy = th / 2 * Math.sin(fi); } else if ( block['motion_dir'] == 'random' ) { dx = -tw + tw * 2 * Math.random(); dy = -th + th * 2 * Math.random(); } else { dx = block['motion_dir'] == 'vertical' ? 0 : tw / 2 * Math.cos(angle); dy = block['motion_dir'] == 'horizontal' ? 0 : th / 2 * Math.sin(angle); } tx = -1 * ( dx / cx ); ty = -1 * ( dy / cy ); if ( block['motion_dir'] == 'random' ) { if ( delta === 0 ) { self.mouse_move_update(index, block, block['motion_time'], Power0.easeNone); } } else { self.mouse_move_update(index, block, block['motion_time'], block['motion_dir'] == 'round' ? Power0.easeNone : Power2.easeOut ); } } ); motion_step++; }; self.get_ease = function(name) { name = name.toLowerCase(); if ( name == 'none' || name == 'line' || name == 'linear' || name == 'power0' ) return Power0.easeNone; else if ( name == 'power1') return Power1.easeOut; else if ( name == 'power2') return Power2.easeOut; else if ( name == 'power3') return Power3.easeOut; else if ( name == 'power4') return Power4.easeOut; else if ( name == 'back') return Back.easeOut; else if ( name == 'elastic') return Elastic.easeOut; else if ( name == 'bounce') return Bounce.easeOut; else if ( name == 'rough') return Rough.easeOut; else if ( name == 'slowmo') return SlowMo.easeOut; else if ( name == 'stepped') return Stepped.easeOut; else if ( name == 'circ') return Circ.easeOut; else if ( name == 'expo') return Expo.easeOut; else if ( name == 'sine') return Sine.easeOut; }; }; window.trx_addons_bg_parallax = function(clip) { var parallax = clip.querySelectorAll('.sc_parallax_block_image[parallax]'), parallaxDetails = [], sticky = false; var fixedPos = document.createElement('div'); fixedPos.style.position = 'fixed'; fixedPos.style.top = '0'; fixedPos.style.width = '1px'; fixedPos.style.height = '1px'; fixedPos.style.zIndex = 1; document.body.insertBefore(fixedPos, document.body.firstChild); for ( var i = 0; i < parallax.length; i++ ) { var elem = parallax[i]; var container = elem.parentNode; if ( getComputedStyle(container).overflow != 'visible' ) { console.error('Need non-scrollable container to apply perspective for', elem); continue; } if ( clip && container.parentNode != clip ) { console.warn('Currently we only track a single overflow clip, but elements from multiple clips found.', elem); } clip = container.parentNode; if (getComputedStyle(clip).overflow == 'visible') { console.error('Parent of sticky container should be scrollable element', elem); } var perspectiveElement; if (sticky || getComputedStyle(clip).webkitOverflowScrolling) { sticky = true; perspectiveElement = container; } else { perspectiveElement = clip; container.style.transformStyle = 'preserve-3d'; } perspectiveElement.style.perspectiveOrigin = 'bottom right'; perspectiveElement.style.perspective = '1px'; if (sticky) { elem.style.position = '-webkit-sticky'; elem.style.top = '0'; } elem.style.transformOrigin = 'bottom right'; var previousCover = parallax[i].previousElementSibling; while (previousCover && previousCover.hasAttribute('parallax')) { previousCover = previousCover.previousElementSibling; } var nextCover = parallax[i].nextElementSibling; while (nextCover && !nextCover.hasAttribute('parallax-cover')) { nextCover = nextCover.nextElementSibling; } parallaxDetails.push( { 'node': parallax[i], 'top': parallax[i].offsetTop, 'sticky': !!sticky, 'nextCover': nextCover, 'previousCover': previousCover } ); } for ( i = 0; i < parallax.length; i++ ) { parallax[i].parentNode.insertBefore(parallax[i], parallax[i].parentNode.firstChild); } clip.addEventListener( 'scroll', function() { for (var i = 0; i < parallaxDetails.length; i++) { var container = parallaxDetails[i].node.parentNode; var previousCover = parallaxDetails[i].previousCover; var nextCover = parallaxDetails[i].nextCover; var parallaxStart = previousCover ? (previousCover.offsetTop + previousCover.offsetHeight) : 0; var parallaxEnd = nextCover ? nextCover.offsetTop : container.offsetHeight; var threshold = 200; var visible = parallaxStart - threshold - clip.clientHeight < clip.scrollTop && parallaxEnd + threshold > clip.scrollTop; var display = 'block'; if (parallaxDetails[i].node.style.display != display) { parallaxDetails[i].node.style.display = display; } } } ); var bg_parallax_resize = function(details) { for (var i = 0; i < details.length; i++) { var container = details[i].node.parentNode; var clip = container.parentNode; var previousCover = details[i].previousCover; var nextCover = details[i].nextCover; var rate = details[i].node.getAttribute('parallax'); var parallaxStart = previousCover ? (previousCover.offsetTop + previousCover.offsetHeight) : 0; var scrollbarWidth = details[i].sticky ? 0 : clip.offsetWidth - clip.clientWidth; var parallaxElem = details[i].sticky ? container : clip; var height = details[i].node.offsetHeight; var depth = 0; if ( rate ) { depth = 1 - (1 / rate); } else { var parallaxEnd = nextCover ? nextCover.offsetTop : container.offsetHeight; depth = (height - parallaxEnd + parallaxStart) / (height - clip.clientHeight); } if ( details[i].sticky ) { depth = 1.0 / depth; } var scale = 1.0 / (1.0 - depth); var dx = scrollbarWidth * (scale - 1); var dy = details[i].sticky ? -(clip.scrollHeight - parallaxStart - height) * (1 - scale) : (parallaxStart - depth * (height - clip.clientHeight)) * scale; details[i].node.style.transform = 'scale(' + (1 - depth) + ') translate3d(' + dx + 'px, ' + dy + 'px, ' + depth + 'px)'; } }; window.addEventListener('resize', bg_parallax_resize.bind(null, parallaxDetails)); bg_parallax_resize(parallaxDetails); }; }() ); jQuery( document ).ready(function() { "use strict"; var $window = jQuery( window ), $document = jQuery( document ), $body = jQuery( 'body' ); $document.on( 'action.init_hidden_elements', function(e, cont) { jQuery('.sc_services_qw-panel .sc_services_item:not(.switch_qw_panel_inited)').addClass('switch_qw_panel_inited').each(function() { var $self = jQuery(this); var $text = $self.find('.sc_services_item_text'); $self.on('mouseenter', function() { var num = $self.data('item-number'), $posts = $self.parents('.sc_item_posts_container'), $old_panel = $posts.find('.sc_qw_panel_thumb_active').removeClass('sc_qw_panel_thumb_active'), $new_panel = $posts.find('.sc_qw_panel_thumb[data-thumb-number="' + num + '"]').addClass('sc_qw_panel_thumb_active'); $document.trigger( 'action.init_hidden_elements', [$new_panel] ); }); function assign_hover($self, $text) { $self .off('.qw-panel') .on('mouseenter.qw-panel', function() { if ($text.css('display') == 'none') { $text.stop().slideDown(300); } }) .on('mouseleave.qw-panel', function() { $text.stop().slideUp(300); }); } var reassign_hover = trx_addons_throttle(function() { assign_hover($self, $text); }, 1100); assign_hover($self, $text); $document.on( 'action.resize_trx_addons', function() { reassign_hover($self, $text); }); }); cont.find( '.sc_testimonials_masonry_wrap').each( function() { var testimonials = jQuery(this); if ( testimonials.parents( 'div:hidden,article:hidden' ).length > 0 ) return; if ( ! testimonials.hasClass( 'inited' ) ) { testimonials.addClass( 'inited' ); trx_addons_when_images_loaded( testimonials, function() { setTimeout( function() { testimonials.masonry( { itemSelector: '.sc_testimonials_masonry_item', columnWidth: '.sc_testimonials_masonry_item', percentPosition: true } ); setTimeout( function() { jQuery( window ).trigger( 'resize' ); jQuery( window ).trigger( 'scroll' ); }, 100 ); }, 0 ); }); } else { } }); }); trx_addons_add_filter( 'trx_addons_filter_slider_init_args', function( $param, $init ) { if( $init.parents('.slider_width_auto').length > 0 ) { $param.slidesPerView = 'auto'; } return $param; }); jQuery('.sc_portfolio_qw-case:not(.qw_case_inited)').addClass('qw_case_inited').each(function() { var items = jQuery(this).find('.sc_portfolio_item'); items.first().addClass('is-active'); items.each( function() { var $item = jQuery(this); $item.off('.qw-case') .on('mouseenter.qw-case', function() { items.removeClass('is-active'); $item.addClass('is-active'); }); }); }); }); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; var USE_OBSERVERS = trx_addons_apply_filters( 'trx_addons_filter_use_observers_to_fix_rows', true ) && typeof IntersectionObserver != 'undefined'; var $window = jQuery( window ), $document = jQuery( document ), $body = jQuery( 'body' ); function get_id( row ) { return row.attr('id') ? row.attr('id') : row.attr('data-id'); } if ( ! TRX_ADDONS_STORAGE['pagebuilder_preview_mode'] && ! $body.hasClass( 'sc_layouts_row_fixed_inited' ) ) { var rows = jQuery('.sc_layouts_row_fixed'), rows_always = rows.filter('.sc_layouts_row_fixed_always'), rows_delayed = rows.filter('.sc_layouts_row_delay_fixed'), last_scroll_offset = -1; if ( rows.length > 0 ) { rows.each( function( idx ) { var row = rows.eq( idx ); if ( row.hasClass('sc_layouts_row_hide_unfixed' ) ) { if ( ! row.prev().hasClass('sc_layouts_row_unfixed_placeholder') ) { row.before( '<div class="sc_layouts_row_unfixed_placeholder">' + ( USE_OBSERVERS ? '<div class="sc_layouts_row_fixed_marker_on"></div>' : '' ) + '</div>'); } } if ( ! row.next().hasClass('sc_layouts_row_fixed_placeholder') ) { row.after('<div class="sc_layouts_row_fixed_placeholder" style="background-color:'+row.css('background-color')+';"><div class="sc_layouts_row_fixed_marker_off"></div></div>'); if ( USE_OBSERVERS && ! row.hasClass('sc_layouts_row_hide_unfixed' ) ) { row.append('<div class="sc_layouts_row_fixed_marker_on"></div>'); } } if ( row.find( trx_addons_apply_filters( 'trx_addons_filter_fullscreen_elements', '.search_style_fullscreen,.search_modern' ) ).length > 0 ) { row.addClass( 'sc_layouts_row_fixed_with_fullscreen' ); } } ); var timedFix = trx_addons_throttle( function() { trx_addons_cpt_layouts_fix_rows( { rows: rows, rows_always: rows_always } ); }, 150 ); $document .on('action.scroll_trx_addons', function() { trx_addons_cpt_layouts_hide_fixed_rows(); if ( ! USE_OBSERVERS ) { trx_addons_cpt_layouts_fix_rows( { rows: rows, rows_always: rows_always } ); } else { timedFix(); } }) .on('action.resize_trx_addons', function() { trx_addons_cpt_layouts_check_mobile_breakpoint(); trx_addons_cpt_layouts_hide_fixed_rows(); trx_addons_cpt_layouts_fix_rows( { rows: rows, rows_always: rows_always, resize: true } ); }); if ( USE_OBSERVERS ) { var fixed_rows_observe = function() { rows.each( function( idx ) { var row = rows.eq( idx ); var last_fixed_time = row.data('trx-addons-last-fixed-time') || 0; var delay = trx_addons_cpt_layouts_fix_rows_delay( row ); var marker_off = row.next().find( '>.sc_layouts_row_fixed_marker_off' ); var marker_on = row.hasClass( 'sc_layouts_row_hide_unfixed' ) ? row.prev().find( '>.sc_layouts_row_fixed_marker_on' ) : row.find( '>.sc_layouts_row_fixed_marker_on' ); var observer = row.data( 'trx-addons-fixed-observer' ); if ( observer ) { if ( marker_off.length ) observer.unobserve( marker_off.get(0) ); if ( marker_on.length ) observer.unobserve( marker_on.get(0) ); observer.disconnect(); observer = null; } if ( row.css('display') == 'none' && ! row.hasClass('sc_layouts_row_hide_unfixed' ) ) { return; } if ( trx_addons_window_width() < TRX_ADDONS_STORAGE['mobile_breakpoint_fixedrows_off'] && ! row.hasClass( 'sc_layouts_row_fixed_always' ) ) { return; } var row_height = row.hasClass( 'sc_layouts_row_hide_unfixed' ) ? 0 : row.outerHeight(); observer = new IntersectionObserver( function( entries ) { var time = new Date().getTime(); entries.forEach( function( entry ) { var marker = jQuery( entry.target ), marker_offset = marker.offset().top, parent = marker.parent(), row = parent; if ( parent.hasClass( 'sc_layouts_row_unfixed_placeholder' ) ) { row = row.next(); } else if ( parent.hasClass( 'sc_layouts_row_fixed_placeholder' ) ) { row = row.prev(); } var animation_off_timeout = trx_addons_cpt_layouts_fix_rows_off_timeout( delay ); if ( row.hasClass( 'sc_layouts_row_fixed_on' ) && entry.isIntersecting ) { if ( time - last_fixed_time > animation_off_timeout && entry.boundingClientRect.top >= entry.rootBounds.top ) { if ( ! row.hasClass( 'sc_layouts_row_fixed_animation_off' ) ) { trx_addons_cpt_layouts_fix_rows( { rows: rows, rows_always: rows_always, force_row: row, force_state: 'off' } ); last_fixed_time = time; } } } else if ( ! row.hasClass( 'sc_layouts_row_fixed_on' ) && ! entry.isIntersecting ) { if ( time - last_fixed_time > animation_off_timeout && entry.boundingClientRect.bottom < entry.rootBounds.top ) { trx_addons_cpt_layouts_fix_rows( { rows: rows, rows_always: rows_always, force_row: row, force_state: 'on' } ); last_fixed_time = time; } } } ); }, { root: null, rootMargin: ( delay - trx_addons_fixed_rows_height() + ( ! $body.hasClass('hide_fixed_rows') && row.hasClass( 'sc_layouts_row_fixed_on' ) ? row_height : 0 ) ) + 'px 0px 0px 0px', threshold: 0 } ); var marker = row.hasClass( 'sc_layouts_row_fixed_on' ) ? marker_off : marker_on; observer.observe( marker.get(0) ); row.data( { 'trx-addons-fixed-observer': observer, 'trx-addons-last-fixed-time': last_fixed_time } ); } ); }; $document.on('action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', fixed_rows_observe ); fixed_rows_observe(); } $body.addClass( 'sc_layouts_row_fixed_inited' ); } } function trx_addons_cpt_layouts_fix_rows_delay( row ) { return trx_addons_apply_filters( 'trx_addons_filter_fixed_rows_delay', row.hasClass( 'sc_layouts_row_delay_fixed' ) ? Math.max( 300, trx_addons_window_height() / 4 * 3 ) : 0 ); } function trx_addons_cpt_layouts_fix_rows_off_timeout( delay ) { return trx_addons_apply_filters( 'trx_addons_filter_sc_layouts_row_fixed_off_timeout', delay > 0 ? 400 : 0, delay ); } function trx_addons_cpt_layouts_hide_fixed_rows() { if ( TRX_ADDONS_STORAGE['hide_fixed_rows'] > 0 && ! window.trx_addons_document_animate_to_busy ) { var scroll_delta = 50; var scroll_offset = trx_addons_window_scroll_top(); if ( last_scroll_offset >= 0 ) { var event = ''; if ( scroll_offset > last_scroll_offset + scroll_delta ) { if ( scroll_offset > trx_addons_window_height() * ( rows_delayed.length > 0 ? 1.5 : 0.6667 ) && ! $body.hasClass( 'hide_fixed_rows' ) ) { $body.addClass( 'hide_fixed_rows' ); event = 'off'; } last_scroll_offset = scroll_offset; } else if ( scroll_offset < last_scroll_offset - scroll_delta ) { if ( $body.hasClass( 'hide_fixed_rows' ) ) { $body.removeClass( 'hide_fixed_rows' ); event = 'on'; } last_scroll_offset = scroll_offset; } if ( event ) { $document.trigger( 'action.sc_layouts_row_fixed_' + event, [ rows.filter('.sc_layouts_row_fixed_on') ] ); } } else { last_scroll_offset = scroll_offset; } } } function trx_addons_cpt_layouts_check_mobile_breakpoint() { if ( trx_addons_window_width() < TRX_ADDONS_STORAGE['mobile_breakpoint_fixedrows_off'] ) { rows.each( function( idx ) { var row = rows.eq( idx ); if ( ! row.hasClass( 'sc_layouts_row_fixed_always' ) ) { row.removeClass( 'sc_layouts_row_fixed_on' ).css( { 'top': 'auto' } ); } }); } } function trx_addons_cpt_layouts_fix_rows( args ) { var rows = args.rows, rows_always = args.rows_always, resize = args.resize || false, force_row = args.force_row || null, force_state = args.force_state || ''; if ( trx_addons_window_width() < TRX_ADDONS_STORAGE['mobile_breakpoint_fixedrows_off'] ) { if ( rows_always.length === 0 ) { return; } else { rows = rows_always; } } var scroll_offset = $window.scrollTop(); var rows_offset = trx_addons_adminbar_height(); rows.each( function( idx ) { var row = rows.eq( idx ); var placeholder = row.next(); var h = row.outerHeight(); if ( ( row.css('display') == 'none' || h === 0 ) && ! row.hasClass('sc_layouts_row_hide_unfixed' ) ) { placeholder.height(0); return; } var ph = row.hasClass( 'sc_layouts_row_fixed_on' ) ? placeholder.outerHeight() : 0; var row_unfixed_placeholder = row.hasClass('sc_layouts_row_hide_unfixed' ) ? row.prev() : false; var delay = trx_addons_cpt_layouts_fix_rows_delay( row ); var animation_off_timeout = trx_addons_cpt_layouts_fix_rows_off_timeout( delay ); var offset = parseInt( row.hasClass( 'sc_layouts_row_fixed_on' ) ? placeholder.offset().top : ( row.hasClass('sc_layouts_row_hide_unfixed' ) ? row_unfixed_placeholder.offset().top : row.offset().top ), 10 ); if ( isNaN( offset ) ) { offset = 0; } if ( ( force_state == 'off' && row.is( force_row ) ) || ( ! force_state && ( scroll_offset + rows_offset < offset + delay || h < ph ) ) ) { if ( row.hasClass( 'sc_layouts_row_fixed_on' ) ) { if ( animation_off_timeout > 0 ) { row.addClass( 'sc_layouts_row_fixed_animation_off' ); } setTimeout( function() { row .removeClass( 'sc_layouts_row_fixed_on' + ( animation_off_timeout > 0 ? ' sc_layouts_row_fixed_animation_off' : '' ) ) .css( { 'top': 'auto' } ); $document.trigger( 'action.sc_layouts_row_fixed_off', [ row ] ); }, animation_off_timeout ); } } else { if ( ! row.hasClass( 'sc_layouts_row_fixed_on' ) ) { if ( ( force_state == 'on' && row.is( force_row ) ) || ( rows_offset + h < trx_addons_window_height() * 0.33 ) ) { if ( ! row.hasClass( 'sc_layouts_row_hide_unfixed' ) ) { ph = h; placeholder.height( ph ); } row.addClass( 'sc_layouts_row_fixed_on' ).css( { 'top': rows_offset + 'px' } ); h = row.outerHeight(); if ( ph != h && ! row.hasClass( 'sc_layouts_row_hide_unfixed' ) ) { ph = h; placeholder.height( h ); } $document.trigger( 'action.sc_layouts_row_fixed_on', [ row ] ); } } else if ( resize && row.hasClass( 'sc_layouts_row_fixed_on' ) && row.offset().top != rows_offset ) { row.css( { 'top': rows_offset + 'px' } ); } rows_offset += h; } if ( force_state && row.is( force_row ) ) { force_state = ''; force_row = null; } }); } } ); jQuery(document).on( 'action.init_hidden_elements', function(e, container) { "use strict"; if (container.find('.sc_form_form:not(.sc_form_custom):not(.inited)').length > 0) { container.find('.sc_form_form:not(.sc_form_custom):not(.inited)') .addClass('inited') .on( 'submit', function( e ) { sc_form_validate( jQuery( this ) ); e.preventDefault(); return false; } ); } jQuery( 'input[type="text"]:not(.fill_inited),' +'input[type="number"]:not(.fill_inited),' +'input[type="search"]:not(.fill_inited),' +'input[type="password"]:not(.fill_inited),' +'input[type="email"]:not(.fill_inited),' +'input[type="tel"]:not(.fill_inited),' +'input[type="url"]:not(.fill_inited),' +'textarea:not(.fill_inited),' +'select:not(.fill_inited)' ) .each(function() { var $fld = jQuery( this ); sc_form_mark_filled( $fld ); $fld.addClass( 'fill_inited' ) .on( 'blur change', function() { var $self = jQuery( this ); sc_form_mark_filled( $self ); if ( $self.hasClass( 'filled' ) ) { $self.removeClass( 'trx_addons_field_error wpcf7-not-valid' ); } } ); } ); function sc_form_mark_filled(field) { if (field.val() !== '') field.addClass('filled'); else field.removeClass('filled'); } function sc_form_validate(form){ var url = form.attr('action'); if (url == '') return false; form.find('input').removeClass('trx_addons_error_field'); var error = trx_addons_form_validate(form, { rules: [ { field: "name", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_field_name_empty'] }, }, { field: "email", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_field_email_empty'] }, mask: { value: TRX_ADDONS_STORAGE['email_mask'], message: TRX_ADDONS_STORAGE['msg_field_email_not_valid'] } }, { field: "message", min_length: { value: 1, message: TRX_ADDONS_STORAGE['msg_field_text_empty'] }, } ] }); if (!error && url!='#') { jQuery.post(url, { action: "send_sc_form", nonce: TRX_ADDONS_STORAGE['ajax_nonce'], data: form.serialize() }).done(function(response) { var rez = {}; try { rez = JSON.parse(response); } catch(e) { rez = { error: TRX_ADDONS_STORAGE['msg_ajax_error'] }; console.log(response); } var result = form.find(".trx_addons_message_box").removeClass("trx_addons_message_box_error").removeClass("trx_addons_message_box_success"); if (rez.error === '') { form.get(0).reset(); result.addClass("trx_addons_message_box_success").html(TRX_ADDONS_STORAGE['msg_send_complete']); } else { result.addClass("trx_addons_message_box_error").html(TRX_ADDONS_STORAGE['msg_send_error'] + ' ' + rez.error); } result.fadeIn().delay(3000).fadeOut(); jQuery( document ).trigger( 'action.got_ajax_response', { action: 'send_sc_form', result: rez }); }); } return !error; } }); (function() { "use strict"; var $window = jQuery(window), $document = jQuery(document); var init_attempts = 0; var init_hidden_elements_after_all_sliders_inited = trx_addons_throttle( function() { $document.trigger( 'action.init_hidden_elements', [jQuery('body')] ); }, 300, true ); $document.on( 'action.init_hidden_elements', function(e, container) { trx_addons_init_sliders(e, container); } ); function trx_addons_get_slides_per_view( $slider ) { var per_view = $slider.data( 'slides-per-view' ) || 1; var bp = $slider.data( 'slides-per-view-breakpoints' ); if ( bp ) { var ww = trx_addons_window_width(); for ( var max in bp ) { if ( ww <= max ) { per_view = bp[ max ]; break; } } } return per_view; } var attempts = 50; function trx_addons_init_sliders(e, container) { if ( ! window.Swiper && attempts-- > 0 ) { setTimeout( function() { trx_addons_init_sliders(e, container); }, 100 ); } if ( window.Swiper ) { container.find( '.sc_slider_controller:not(.inited)' ).each( function () { var controller = jQuery(this).addClass('inited'); if ( controller.find('.slider_style_controller').length > 0 ) return; var slider_id = controller.data('slider-id'); if ( ! slider_id ) return; var controller_id = controller.attr('id'); if (controller_id == undefined) { controller_id = 'sc_slider_controller_'+Math.random(); controller_id = controller_id.replace('.', ''); controller.attr('id', controller_id); } var slider_cont = jQuery('#'+slider_id+' .slider_container:not(.slider_controller_container)').eq(0); if ( ! slider_cont.attr('data-controller') ) { slider_cont.attr('data-controller', controller_id); } var controller_style = controller.data('style'); var controller_effect = controller.data('effect'); var controller_direction = controller.data('direction'); var controller_interval = controller.data('interval'); var controller_per_view = trx_addons_get_slides_per_view( controller ); var controller_space = controller.data('slides-space'); var controller_controls = controller.data('controls'); var controller_html = ''; slider_cont.find( '> .slider-wrapper > .swiper-slide' ).each( function ( idx ) { var slide = jQuery(this); var image = ''; if ( controller_style.indexOf('thumbs') != -1 ) { if ( slide.data('image') ) { image = slide.data('image'); } else if ( slide.find('.post_thumb_bg').length > 0 ) { image = slide.find('.post_thumb_bg').css('background-image').replace('url(', '').replace(')', '').replace(';', '').replace('"', ''); } else if ( slide.css('background-image') && slide.css('background-image') != 'none' ) { image = slide.css('background-image').replace('url(', '').replace(')', '').replace(';', '').replace('"', ''); } else if ( slide.find('img').length > 0 ) { image = slide.find('img').eq(0).attr('src'); } } var title = controller_style.indexOf('titles') == -1 ? '' : ( slide.data('title') ? slide.data('title') : slide.find('[class*="_item_title"]').text() ); var cats = slide.data('cats'); var date = slide.data('date'); controller_html += trx_addons_apply_filters( 'trx_addons_filter_slider_controller_slide_html', '<div class="slider-slide swiper-slide"' + ' style="' + (image !== undefined && image!=='' ? 'background-image: url('+image+');' : '') + '"' + '>' + '<div class="sc_slider_controller_info">' + '<span class="sc_slider_controller_info_number">'+(idx < 9 ? '0' : '')+(idx+1)+'</span>' + '<span class="sc_slider_controller_info_title">'+(title ? title : 'Slide '+(idx+1))+'</span>' + '</div>' + '</div>', slide, controller ); } ); controller.html( trx_addons_apply_filters( 'trx_addons_filter_slider_controller_html', '<div id="'+controller_id+'_outer"' + ' class="slider_outer slider_swiper_outer slider_style_controller' + ' slider_outer_' + (controller_controls == 1 ? 'controls slider_outer_controls_side' : 'nocontrols') + ' slider_outer_nopagination' + ' slider_outer_' + (controller_per_view==1 ? 'one' : 'multi') + ' slider_outer_direction_' + (controller_direction=='vertical' ? 'vertical' : 'horizontal') + '"' + '>' + '<div id="'+controller_id+'_swiper"' +' class="slider_container slider_controller_container slider_swiper swiper-slider-container' + ' slider_' + (controller_controls == 1 ? 'controls slider_controls_side' : 'nocontrols') + ' slider_nopagination' + ' slider_notitles' + ' slider_noresize' + ' slider_' + (controller_per_view==1 ? 'one' : 'multi') + ' slider_direction_' + (controller_direction=='vertical' ? 'vertical' : 'horizontal') + '"' + ' data-slides-min-width="' + trx_addons_apply_filters( 'trx_addons_filter_slider_controller_slide_width', 150 ) + '"' + ' data-controlled-slider="'+slider_id+'"' + ' data-direction="' + (controller_direction=='vertical' ? 'vertical' : 'horizontal') + '"' + ' data-loop="1"' + ' data-autoplay="' + ( controller_interval > 0 ? '1' : '0' ) + '"' + (controller_effect !== undefined ? ' data-effect="' + controller_effect + '"' : '') + (controller_interval !== undefined ? ' data-interval="' + controller_interval + '"' : '') + (controller_per_view !== undefined ? ' data-slides-per-view="' + controller_per_view + '"' : '') + (controller_space !== undefined ? ' data-slides-space="' + controller_space + '"' : '') + '>' + '<div class="slider-wrapper swiper-wrapper">' + controller_html + '</div>' + '</div>' + (controller_controls == 1 ? '<div class="slider_controls_wrap"><a class="slider_prev swiper-button-prev" href="#"></a><a class="slider_next swiper-button-next" href="#"></a></div>' : '' ) + '</div>', controller ) ); } ); container.find( '.sc_slider_controls:not(.inited)' ).each( function () { var controls = jQuery(this).addClass('inited'), slider_id = controls.data('slider-id'), pagination_style = controls.data('pagination-style'); if ( ! slider_id ) return; slider_id = jQuery('#'+slider_id+' .slider_swiper').attr('id'); if ( ! slider_id ) return; controls.on('click', 'a', function(e) { var s = TRX_ADDONS_STORAGE['swipers'][slider_id]; if (jQuery(this).hasClass('slider_next')) s.slideNext(); else s.slidePrev(); e.preventDefault(); return false; }); var s = typeof TRX_ADDONS_STORAGE['swipers'] != 'undefined' && typeof TRX_ADDONS_STORAGE['swipers'][slider_id] != 'undefined' ? TRX_ADDONS_STORAGE['swipers'][slider_id] : false, slides = jQuery('#'+slider_id+' .swiper-slide'), spv = s ? ( s.params.loop ? s.loopedSlides : 0 ) : 0; var total = s ? ( s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length ) : slides.length; var html = ''; if ( pagination_style == 'thumbs' ) { slides.each(function(idx){ if ( idx < spv || idx >= slides.length - spv ) return; var slide = jQuery(this); var image = slide.data('image'); html += trx_addons_apply_filters( 'trx_addons_filter_slider_controls_html_thumb', '<span class="slider_pagination_button_wrap swiper-pagination-button-wrap" style="width: ' + Math.round(100/total, 2) + '%;">' + '<span class="slider_pagination_button swiper-pagination-button"' + (image !== undefined ? ' style="background-image: url('+image+');"' : '') + '></span>' + '</span>', slide, controls ); }); controls.find('.slider_pagination_wrap').html( trx_addons_apply_filters( 'trx_addons_filter_slider_controls_html_thumbs', html, controls ) ); } else if ( pagination_style == 'fraction' ) { controls.find('.slider_pagination_wrap').html( trx_addons_apply_filters( 'trx_addons_filter_slider_controls_html_fraction', '<span class="slider_pagination_current swiper-pagination-current">1</span>' + '/' + '<span class="slider_pagination_total swiper-pagination-total">'+total+'</span>', controls ) ); } else if ( pagination_style == 'bullets' ) { slides.each(function(idx){ if ( idx < spv || idx >= slides.length - spv ) return; html += trx_addons_apply_filters( 'trx_addons_filter_slider_controls_html_bullet', '<span class="slider_pagination_bullet swiper-pagination-bullet" data-slide-number="'+(s ? jQuery(this).data('slide-number') : idx)+'"></span>', idx, controls ); }); controls.find('.slider_pagination_wrap').html( trx_addons_apply_filters( 'trx_addons_filter_slider_controls_html_bullets', html, controls ) ); } if ( pagination_style != 'none' ) { if (controls.find('.slider_progress_bar').length > 0) { var bar = controls.find('.slider_progress_bar'); bar.parent().on('click', function(e) { var s = TRX_ADDONS_STORAGE['swipers'][slider_id]; var total = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length; var slide_number = Math.max(0, Math.min(total-1, Math.floor(total * e.offsetX / jQuery(this).width()))); var slide_idx = jQuery('#'+slider_id).find('[data-slide-number="'+slide_number+'"]:not(.swiper-slide-duplicate)').index(); s.slideTo(slide_idx); e.preventDefault(); return false; }); } else { controls.find('.slider_pagination_button_wrap,.slider_pagination_bullet').on('click', function(e) { var s = TRX_ADDONS_STORAGE['swipers'][slider_id]; var slide_idx = jQuery('#'+slider_id).find('[data-slide-number="'+jQuery(this).index()+'"]:not(.swiper-slide-duplicate)').index(); s.slideTo(slide_idx); e.preventDefault(); return false; }); } jQuery('#'+slider_id).on('slider_init slide_change_start', function(e) { if (TRX_ADDONS_STORAGE['swipers'][slider_id]) { var s = TRX_ADDONS_STORAGE['swipers'][slider_id]; var current = jQuery(s.slides[s.activeIndex]).data('slide-number') + 1, total = s.params.loop ? Math.ceil((s.slides.length - s.loopedSlides * 2) / s.params.slidesPerGroup) : s.snapGrid.length; if (total > 0) { if (pagination_style == 'progressbar') { bar.width(Math.ceil(current/total*100)+'%'); } else if (pagination_style == 'thumbs') { controls.find('.slider_pagination_button') .removeClass('slider_pagination_button_active') .eq(current-1) .addClass('slider_pagination_button_active'); } else if (pagination_style == 'bullets') { controls.find('.slider_pagination_bullet') .removeClass('slider_pagination_bullet_active swiper-pagination-bullet-active') .eq(current-1) .addClass('slider_pagination_bullet_active swiper-pagination-bullet-active'); } else if (pagination_style == 'fraction') { controls.find('.slider_pagination_current').text(current); } } } }); } } ); container.find( '.slider_swiper:not(.inited)' ).each( function () { var slider = jQuery(this); if ( slider.parents('div:hidden,article:hidden').length > 0 ) { return; } var loaded = true; slider.find('img').each( function() { var $self = jQuery(this); if ( ! $self.get(0).complete && $self.attr('loading') != 'lazy' ) loaded = false; } ); if ( ! loaded && init_attempts++ < 20 ) { setTimeout( function() { trx_addons_init_sliders(e, container); }, 100 ); return; } var id = slider.attr('id'); if (id == undefined) { id = 'swiper_'+Math.random(); id = id.replace('.', ''); slider.attr('id', id); } var cont = slider.parent().hasClass('slider_swiper_outer') ? slider.parent().attr('id', id+'_outer') : slider; var cont_id = cont.attr('id'); var slave_id = slider.data('slave-id') || ''; if (slave_id != '') { var slave_slider = jQuery('#'+slave_id+' .slider_container:not(.slider_controller_container)').eq(0); if ( slave_slider.length ) { slider.attr( 'data-controlled-slider', slave_id ); if ( ! slave_slider.attr('data-controller') ) { slave_slider.attr('data-controller', id); } } else { slave_id = ''; } } var is_controller = slider.parents('.sc_slider_controller').length > 0 || slave_id; var controller_id = slider.data('controller'); slider.find('> .slider-wrapper > .swiper-slide').each( function(idx) { jQuery(this).attr('data-slide-number', idx); } ); slider .css( { 'display': 'block', 'opacity': 0 } ) .addClass(id) .addClass('inited') .data('settings', {mode: 'horizontal'}); var effect = slider.data('effect') ? slider.data('effect') : 'slide'; var loop = slider.data('loop'); if ( loop === undefined || isNaN( loop ) ) loop = 1; var speed = slider.data('speed'); if ( speed === undefined || isNaN( speed ) ) speed = 600; var free_mode = slider.data('free-mode'); var direction = slider.data('direction'); if (direction != 'vertical') direction = 'horizontal'; var smw = slider.data('slides-min-width'); if ( smw === undefined ) { smw = 150; slider.attr('data-slides-min-width', smw); } var spv = trx_addons_get_slides_per_view( slider ); if ( spv == undefined || slider.parents('.widget_nav_menu').length > 0 ) { spv = 1; slider.attr('data-slides-per-view', spv); } var width = slider.width(); if ( width === 0 ) { width = slider.parent().width(); } if ( direction == 'horizontal' ) { if ( width / spv < smw ) { spv = Math.max( 1, Math.floor( width / smw ) ); } } var space = slider.data('slides-space'); if ( space == undefined ) space = 0; var slides_parallax = slider.data('slides-parallax'); slides_parallax = effect == 'slide' && spv == 1 ? Math.max( 0, Math.min( 1, slides_parallax || 0 ) ) : 0; if ( direction == 'vertical' && slider.hasClass('slider_height_auto') && slider.hasClass('slider_noresize') ) { var height = 0; slider.find('.swiper-slide').each( function(idx) { if ( idx >= spv ) return; height += jQuery(this).height() + ( idx > 0 ? space : 0 ); } ); if ( height > 0 ) slider.height( height ); } var interval = slider.data('interval'); if ( interval === undefined ) { interval = Math.round( 5000 * ( 1 + Math.random() ) ); } else if ( isNaN( interval ) ) { interval = 0; } else { interval = parseInt( interval, 10 ); } var noswipe = slider.hasClass('slider_noswipe') || slider.parents('.slider_noswipe,.elementor-edit-mode').length > 0 || jQuery('body').hasClass('block-editor-page'); if (slider.parents('[class*="_grid_wrap"]').length > 0) { slider.css( { 'max-width': width+'px' } ); } if (TRX_ADDONS_STORAGE['swipers'] === undefined) { TRX_ADDONS_STORAGE['swipers'] = {}; } TRX_ADDONS_STORAGE['swipers'][id] = new Swiper('.'+id, trx_addons_apply_filters( 'trx_addons_filter_slider_init_args', { freeMode: free_mode > 0, direction: direction, initialSlide: 0, speed: speed, loop: loop > 0 && slider.data('slides-overflow') != 1, loopedSlides: spv, slidesPerView: spv, spaceBetween: space, centeredSlides: slider.data('slides-centered') == 1, mousewheel: slider.data('mouse-wheel') == 1 ? { releaseOnEdges: true } : false, grabCursor: ! is_controller && ! noswipe, slideToClickedSlide: is_controller, touchRatio: is_controller ? 0.2 : 1, autoHeight: false, lazy: false, preloadImages: true, updateOnImagesReady: true, roundLengths: TRX_ADDONS_STORAGE['slider_round_lengths'] && ! is_controller && spv == 1, effect: effect, parallax: { enabled: slides_parallax > 0 }, swipeHandler: noswipe ? '.slider_controls_wrap,.slider_pagination_wrap' : null, pagination: { el: slider.hasClass('slider_pagination') ? '#'+cont_id+'>.slider_pagination_wrap,#'+cont_id+' > .slider_swiper > .slider_pagination_wrap' : null, clickable: slider.hasClass('slider_pagination') ? '#'+cont_id+' .slider_pagination_wrap' : false, type: slider.hasClass('slider_pagination') && slider.data('pagination') ? slider.data('pagination') : 'bullets', progressbarOpposite: slider.data('pagination') == 'progressbar' && ( ( slider.data('direction')=='vertical' && ( slider.hasClass('slider_pagination_pos_bottom') || slider.hasClass('slider_pagination_pos_bottom_outside') ) ) || ( slider.data('direction')=='horizontal' && ( slider.hasClass('slider_pagination_pos_left') || slider.hasClass('slider_pagination_pos_right') ) ) ) }, navigation: { nextEl: slider.hasClass('slider_controls') ? '#'+id+'>.slider_controls_wrap>.slider_next,#'+id+'~.slider_controls_wrap>.slider_next' : null, prevEl: slider.hasClass('slider_controls') ? '#'+id+'>.slider_controls_wrap>.slider_prev,#'+id+'~.slider_controls_wrap>.slider_prev' : null }, autoplay: slider.hasClass('slider_noautoplay') || (typeof slider.data('autoplay')!=='undefined' && slider.data('autoplay') == 0) ? false : { delay: interval, disableOnInteraction: true }, on: { slideChangeTransitionStart: function () { var swiper = this, slide = jQuery(swiper.slides[swiper.activeIndex]), slide_number = slide.data('slide-number'); cont.find('.swiper-pagination-custom > span') .removeClass('swiper-pagination-button-active') .eq(slide_number) .addClass('swiper-pagination-button-active'); cont.find('.slider_titles_outside_wrap .active').removeClass('active').fadeOut(); var slaves = is_controller ? jQuery('#'+slider.data('controlled-slider')) : jQuery('[data-slider-id="'+id.replace('_sc_', '_')+'"]'); if ( slaves.length === 0 && ! is_controller ) { slaves = jQuery('[data-slider-id="'+id.replace('_sc_', '_').replace('_swiper', '')+'"]'); if ( slaves.length === 0 ) { slaves = jQuery('[data-slider-id="'+id.replace('_sc_slider_swiper', '')+'"]'); } } if ( slaves.length > 0 ) { slaves.each( function() { var controlled_slider = jQuery(this).hasClass('slider_swiper') ? jQuery(this) : jQuery(this).find( '.slider_swiper' ).eq(0); var controlled_id = controlled_slider.attr('id'); if ( controlled_id && TRX_ADDONS_STORAGE['swipers'][controlled_id] && jQuery('#'+controlled_id).attr('data-busy') != 1 ) { slider.attr('data-busy', 1); setTimeout( function() { slider.attr('data-busy', 0); }, 300 ); var slide_number = jQuery(swiper.slides[swiper.activeIndex]).data('slide-number'); var slide_idx = controlled_slider.find('[data-slide-number="'+slide_number+'"]:not(.swiper-slide-duplicate)').index(); TRX_ADDONS_STORAGE['swipers'][controlled_id].slideTo(slide_idx); } }); } slider.trigger('slide_change_start', [slider]); }, slideChangeTransitionEnd: function () { var swiper = this, slide = jQuery(swiper.slides[swiper.activeIndex]), slide_prev = jQuery(swiper.slides[swiper.lastOpenedIndex !== undefined ? swiper.lastOpenedIndex : swiper.previousIndex]), slide_number = slide.data('slide-number'); swiper.lastOpenedIndex = swiper.activeIndex; var titles = cont.find('.slider_titles_outside_wrap .slide_info'); if (titles.length > 0) { titles.eq(slide_number).addClass('active').fadeIn(300); } var video = slide_prev.find('.trx_addons_video_player:not(.with_video_autoplay)'); if ( video.length > 0 ) { if ( video.hasClass('with_cover') ) { if ( video.hasClass('video_play') ) { video.removeClass('video_play').find('.video_embed').empty(); } } else { var embed = video.find('.video_embed'), html = embed.html(); embed.empty().html( html ); } } slider.attr('data-busy', 0); slider.trigger('slide_change_end', [slider]); }, touchStart: function() { slider.trigger( 'swiper_touch_start' ); }, touchEnd: function() { slider.trigger( 'swiper_touch_end' ); }, } }, slider ) ); if ( slider.data('mouse-wheel') == 1 ) { var slider_sticky_wrapper = slider.parents( '.elementor-sticky' ); if ( slider_sticky_wrapper.length ) { TRX_ADDONS_STORAGE['swipers'][id].mousewheel.disable(); var init_sticky_observer = function() { var slider_sticky_wrapper_top = slider_sticky_wrapper.css( 'top' ) || '0px', custom_top = Math.abs( parseFloat( slider_sticky_wrapper_top ) - trx_addons_fixed_rows_height() ) > 1; trx_addons_sticky_observer_remove( id ); trx_addons_sticky_observer_create( id, slider_sticky_wrapper, function( entry, is_sticky ) { if ( is_sticky ) { TRX_ADDONS_STORAGE['swipers'][id].mousewheel.enable(); } else { TRX_ADDONS_STORAGE['swipers'][id].mousewheel.disable(); } }, { rootMargin: ( - ( custom_top ? parseFloat( slider_sticky_wrapper_top ) : trx_addons_fixed_rows_height() ) ) + 'px 0px 0px 0px' } ); }; init_sticky_observer(); $document.on( 'action.resize_trx_addons action.sc_layouts_row_fixed_on action.sc_layouts_row_fixed_off', trx_addons_debounce( init_sticky_observer, 500 ) ); } } slider.trigger('slider_init', [slider]); cont.find('.swiper-pagination-custom').on('click', '>span', function(e) { jQuery(this).siblings().removeClass('swiper-pagination-button-active'); var t = jQuery(this).addClass('swiper-pagination-button-active').index() * TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerGroup; TRX_ADDONS_STORAGE['swipers'][id].params.loop && (t += TRX_ADDONS_STORAGE['swipers'][id].loopedSlides); TRX_ADDONS_STORAGE['swipers'][id].slideTo(t); e.preventDefault(); return false; }); cont.find('.slider_titles_outside_wrap .slide_info').eq(0).addClass('active').fadeIn(300); slider.attr('data-busy', 1).animate({'opacity':1}, 'fast', function() { slider.attr('data-busy', 0); trx_addons_set_controller_height( is_controller ? slider.parents('[data-slider-id]').eq(0).attr('id') : controller_id, is_controller ? jQuery('#'+slider.parents('[data-slider-id]').eq(0).data('slider-id')) : slider ); slider.trigger('slider_inited', [slider]); $document.trigger('action.slider_inited', [slider, id]); }); init_hidden_elements_after_all_sliders_inited(); $document.trigger('action.resize_trx_addons'); $window.trigger('scroll'); } ); } if ( window.ElastiStack ) { container.find('.slider_elastistack:not(.inited)').each(function () { if (jQuery(this).parents('div:hidden,article:hidden').length > 0 || typeof window.ElastiStack == 'undefined') return; var slider = jQuery(this); var id = slider.attr('id'); if (id == undefined) { id = 'elastistack_'+Math.random(); id = id.replace('.', ''); slider.attr('id', id); } var cont = slider.parent().hasClass('slider_outer') ? slider.parent().attr('id', id+'_outer') : slider; var cont_id = cont.attr('id'); var images = slider.find('ul.stack__images').attr('id', id+'_images'); var images_id = images.attr('id'); slider.css({ 'display': 'block', 'opacity': 0 }) .addClass(id) .addClass('inited') .data('settings', {mode: 'horizontal'}); trx_addons_resize_sliders(e, cont); var stack = new ElastiStack( images.get(0), { onUpdateStack : function(idx) { var titles = cont.find('.slider_titles_outside_wrap'); if (titles.length > 0) { titles.find('.active').removeClass('active').hide(); titles.find('.slide_info').eq(idx).addClass('active').fadeIn(300); } cont.find('.trx_addons_video_player.with_cover.video_play').removeClass('video_play').find('.video_embed').empty(); slider.trigger('slide_change_end', [slider]); } }); cont.find('.slider_next').on('click', function(e) { stack.nextItem( { transform : 'translate3d(0, -60px, 400px)' } ); e.preventDefault(); return false; } ); cont.find('.slider_titles_outside_wrap .slide_info').eq(0).addClass('active').fadeIn(300); slider.animate({'opacity':1}, 'fast', function() { stack._setStackStyle(); } ); } ); } } $document.on('action.resize_trx_addons', trx_addons_resize_sliders); function trx_addons_resize_sliders(e, container) { if (container === undefined) { container = jQuery('body'); } container.find('.slider_container.inited').each(function() { var slider = jQuery(this); if (slider.parents('div:hidden,article:hidden').length > 0) return; var id = slider.attr('id'); var direction = slider.data('direction'); if (direction != 'vertical') direction = 'horizontal'; var on_resize = false; var max_width = slider.closest( '.post_featured' + ',' + '.swiper-slide' + ',' + '.elementor-widget' + ',' + '.vc_column-inner' + ',' + trx_addons_apply_filters( 'trx_addons_filter_content_class', '.content', 'slider-resize' ) + ',' + trx_addons_apply_filters( 'trx_addons_filter_page_wrap_class', TRX_ADDONS_STORAGE['page_wrap_class'] ? TRX_ADDONS_STORAGE['page_wrap_class'] : '.page_wrap', 'slider-resize' ) + ',' + 'body' ).width(); var slider_width = slider.width(); if (slider_width > max_width) { slider_width = Math.min( slider_width, max_width ); slider.width( slider_width ); on_resize = true; } var last_width = slider.data('last-width'); if (isNaN(last_width)) { last_width = 0; } if (last_width === 0 || last_width != slider_width) { if (direction != 'vertical') slider.data('last-width', slider_width); var space = slider.data('slides-space'); if (space == undefined) { space = 0; } if ( slider.hasClass('slider_swiper') && typeof TRX_ADDONS_STORAGE['swipers'] != 'undefined' && typeof TRX_ADDONS_STORAGE['swipers'][id] == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][id].params == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][id].params.spaceBetween != 'undefined' ) { var gap = space; if ( trx_addons_window_width() < 1440 ) { var grid_element = jQuery( '.elementor-column-gap-extended > .elementor-row > .elementor-column > .elementor-element-populated,' + '.elementor-column-gap-extended > .elementor-column > .elementor-element-populated' ).eq(0), grid_gap = grid_element.length ? parseInt( grid_element.css( 'padding-left' ), 10 ) : 0; if ( grid_gap >= 10 ) { gap = grid_gap * 2; } } if ( gap > 0 && TRX_ADDONS_STORAGE['swipers'][id].params.spaceBetween > gap ) { TRX_ADDONS_STORAGE['swipers'][id].params.spaceBetween = gap; space = gap; } } var spv = trx_addons_get_slides_per_view( slider ); if (spv == undefined || slider.parents('.widget_nav_menu').length > 0) { spv = 1; } if ( slider.hasClass('slider_swiper') && typeof TRX_ADDONS_STORAGE['swipers'] != 'undefined' && typeof TRX_ADDONS_STORAGE['swipers'][id] == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][id].params == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView != 'undefined' ) { if (TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView != 'auto') { if (direction=='horizontal') { var smw = slider.data('slides-min-width'); if (slider_width / spv < smw) { spv = Math.max(1, Math.floor(slider_width / smw)); } if (TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView != spv) { TRX_ADDONS_STORAGE['swipers'][id].params.slidesPerView = spv; TRX_ADDONS_STORAGE['swipers'][id].params.loopedSlides = spv; } } on_resize = true; } } if ( ! slider.hasClass('slider_noresize') || slider.height()===0 ) { var slider_height = slider.height(); var slide = slider.find('.slider-slide').eq(0); var slide_width = direction == 'horizontal' ? (slider_width - (spv-1) * space ) / spv : slider_width; var slide_height = direction == 'vertical' ? (slider_height - (spv-1) * space ) / spv : slider_height; var ratio = slider.data('ratio'); if ( ratio === undefined || (''+ratio).indexOf(':') < 1 ) { ratio = slide_height > 0 ? slide_width+':'+slide_height : "16:9"; slider.attr('data-ratio', ratio); } ratio = ratio.split(':'); var ratio_x = !isNaN(ratio[0]) ? Number(ratio[0]) : 16; var ratio_y = !isNaN(ratio[1]) ? Number(ratio[1]) : 9; var height = Math.floor( ( spv == 1 ? slider_width : slide_width ) / ratio_x * ratio_y); slider.height( direction == 'vertical' ? height * spv + (spv-1) * space : height); on_resize = true; if (slider.hasClass('slider_elastistack')) { slider.find('.slider-wrapper,.stack__images,.slider-slide').height(height); } trx_addons_set_controller_height(slider.data('controller'), slider, e); } if (on_resize && (slider.hasClass('slider_swiper') || slider.hasClass('slider_swiper_outer'))) { if ( typeof TRX_ADDONS_STORAGE['swipers'] != 'undefined' && typeof TRX_ADDONS_STORAGE['swipers'][id] == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][id].resize == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][id].resize.resizeHandler == 'function' ) { TRX_ADDONS_STORAGE['swipers'][id].resize.resizeHandler(e); } } } }); } function trx_addons_set_controller_height(controller_id, slider, e) { if ( !controller_id && typeof TRX_ADDONS_STORAGE['pagebuilder_preview_mode'] != 'undefined' && TRX_ADDONS_STORAGE['pagebuilder_preview_mode'] ) { var slider_id = slider.attr('id').replace('_sc_slider', ''); if (slider_id) { controller_id = jQuery('[data-slider-id="' + slider_id + '"]').eq(0).attr('id'); } } if ( !controller_id ) return; var controller = jQuery('#'+controller_id); if (controller.length > 0 && controller.hasClass('sc_slider_controller_vertical') && controller.hasClass('sc_slider_controller_height_auto') ) { var controller_slider = controller.hasClass('slider_container') ? controller : controller.find('.slider_container'), controller_slider_id = controller_slider.attr('id'); var paddings = parseFloat(controller.css('paddingTop')); if (isNaN(paddings)) paddings = 0; var controller_spv = trx_addons_get_slides_per_view( controller ); if (isNaN(controller_spv)) controller_spv = 1; controller_slider.height( Math.max( ( slider.parent().hasClass('slider_outer') ? slider.parent().outerHeight() : slider.height() ) - 2 * paddings, controller_spv * trx_addons_apply_filters( 'trx_addons_filter_slider_controller_min_height', 80 ) ) ); if ((controller_slider.hasClass('slider_swiper') || controller_slider.hasClass('slider_swiper_outer'))) { if (typeof TRX_ADDONS_STORAGE['swipers'][controller_slider_id] == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][controller_slider_id].resize == 'object' && typeof TRX_ADDONS_STORAGE['swipers'][controller_slider_id].resize.resizeHandler == 'function') { TRX_ADDONS_STORAGE['swipers'][controller_slider_id].resize.resizeHandler(e); } } } } $document.on( 'action.ready_trx_addons', function(e) { if ( ! window.Swiper || typeof Swiper.use != 'function' ) { return; } const $ = Swiper.$; function createShadow( params, $slideEl, side ) { const shadowClass = `swiper-slide-shadow${side ? `-${side}` : ''}`; const $shadowContainer = params.transformEl ? $slideEl.find( params.transformEl ) : $slideEl; let $shadowEl = $shadowContainer.children(`.${shadowClass}`); if ( ! $shadowEl.length ) { $shadowEl = $(`<div class="swiper-slide-shadow${side ? `-${side}` : ''}"></div>`); $shadowContainer.append($shadowEl); } return $shadowEl; } function effectInit( params ) { const { effect, swiper, on, setTranslate, setTransition, overwriteParams, perspective, recreateShadows, getEffectParams } = params; on( 'beforeInit', () => { if ( swiper.params.effect !== effect ) { return; } swiper.classNames.push( `${swiper.params.containerModifierClass}${effect}` ); if ( perspective && perspective() ) { swiper.classNames.push( `${swiper.params.containerModifierClass}3d` ); } const overwriteParamsResult = overwriteParams ? overwriteParams() : {}; Object.assign( swiper.params, overwriteParamsResult ); Object.assign( swiper.originalParams, overwriteParamsResult ); } ); on( 'setTranslate', () => { if ( swiper.params.effect !== effect ) { return; } setTranslate(); } ); on( 'setTransition', ( _s, duration ) => { if ( swiper.params.effect !== effect ) { return; } setTransition( duration ); } ); on( 'transitionEnd', () => { if ( swiper.params.effect !== effect ) { return; } if ( recreateShadows ) { if ( ! getEffectParams || ! getEffectParams().slideShadows ) { return; } swiper.slides.each( slideEl => { const $slideEl = swiper.$( slideEl ); $slideEl.find( '.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left' ).remove(); } ); recreateShadows(); } } ); let requireUpdateOnVirtual, requestAnimationFrame = trx_addons_request_animation_frame(); on( 'virtualUpdate', () => { if ( swiper.params.effect !== effect ) { return; } if ( ! swiper.slides.length ) { requireUpdateOnVirtual = true; } requestAnimationFrame( () => { if ( requireUpdateOnVirtual && swiper.slides && swiper.slides.length ) { setTranslate(); requireUpdateOnVirtual = false; } } ); } ); } if ( trx_addons_apply_filters( 'trx_addons_filter_add_effect_to_swiper', true, 'swap' ) ) { const effectSwapModules = { setTranslate: function setTranslate( swiper ) { var swiperWidth = swiper.width; var swiperHeight = swiper.height; var $wrapperEl = swiper.$wrapperEl; var slides = swiper.slides; var slidesSizesGrid = swiper.slidesSizesGrid; var params = swiper.params.swapEffect; var isHorizontal = swiper.isHorizontal(); var transform = swiper.translate; var center = isHorizontal ? -transform + ( swiperWidth / 2 ) : -transform + ( swiperHeight / 2 ); var rotate = isHorizontal ? params.rotate : -params.rotate; var spaceBetween = swiper.params.spaceBetween; var perView = swiper.params.slidesPerView; var levelCenter = ( perView - 1 ) / 2; for (var i = 0, length = slides.length; i < length; i += 1) { var $slideEl = slides.eq(i); var slideSize = slidesSizesGrid[i]; var slideOffsetOrig = $slideEl[0].swiperSlideOffset; var slideOffset = slideOffsetOrig + slideSize / 2; var distance = center - slideOffset; var slideOffsetNum = Math.abs( distance ) < 2 ? 0 : Math.ceil( Math.abs( distance ) / ( slideSize + spaceBetween ) ); if ( perView % 2 === 0 ) { slideOffsetNum = Math.max( 0, slideOffsetNum - 0.5 ); } var place = distance < -1 * Math.max( 1, spaceBetween ) ? 1 : ( distance > Math.max( 1, spaceBetween ) ? -1 : 0 ); distance = distance + place * slideOffsetNum * spaceBetween; var offsetMultiplier = distance / slideSize; var delta = Math.max( 0, Math.abs( offsetMultiplier ) - levelCenter ); var allow = delta > 0; var rotateX = isHorizontal ? 0 : ( allow ? -place * Math.min( rotate, rotate * delta ) : 0 ); var rotateY = isHorizontal ? ( allow ? -place * Math.min( rotate, rotate * delta ) : 0 ) : 0; var offset = allow ? distance + place * levelCenter * slideSize : 0; var translateX = isHorizontal ? ( allow ? offset : 0 ) : 0; var translateY = isHorizontal ? 0 : ( allow ? offset : 0 ); var translateZ = -slideSize * ( allow ? delta : 0 ); var scale = 1 - ( 1 - params.scale ) * Math.abs( offsetMultiplier ); if ( Math.abs(translateX) < 0.001 ) translateX = 0; if ( Math.abs(translateY) < 0.001 ) translateY = 0; if ( Math.abs(translateZ) < 0.001 ) translateZ = 0; if ( Math.abs(rotateY) < 0.001 ) rotateY = 0; if ( Math.abs(rotateX) < 0.001 ) rotateX = 0; if ( Math.abs(scale) < 0.001 ) scale = 0; var slideTransform = "translate3d(" + translateX + "px," + translateY + "px," + translateZ + "px)" + " rotateX(" + rotateX + "deg)" + " rotateY(" + rotateY + "deg)" + " scale(" + scale + ")"; $slideEl.transform( slideTransform ); $slideEl[0].style.zIndex = -Math.abs( Math.round( offsetMultiplier ) ) + 1; $slideEl[0].style.opacity = perView > 1 ? Math.max( 0, 1 - delta ) : 1; if ( params.slideShadows ) { let $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top'); let $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom'); if ( $shadowBeforeEl.length === 0 ) { $shadowBeforeEl = createShadow( params, $slideEl, isHorizontal ? 'left' : 'top' ); } if ( $shadowAfterEl.length === 0 ) { $shadowAfterEl = createShadow( params, $slideEl, isHorizontal ? 'right' : 'bottom' ); } if ( $shadowBeforeEl.length ) { $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0; } if ( $shadowAfterEl.length ) { $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0; } } } if ( trx_addons_browser_is_pointer_events() ) { var ws = $wrapperEl[0].style; ws.perspectiveOrigin = center + "px 50%"; } }, setTransition: function setTransition( swiper, duration, changeCssTransition ) { const { transformEl } = swiper.params.swapEffect; const $transitionElements = transformEl ? swiper.slides.find( transformEl ) : swiper.slides; $transitionElements.transition( duration ); if ( changeCssTransition ) { $transitionElements.css( { 'webkitTransitionProperty': 'transform, opacity, z-index', 'transitionProperty': 'transform, opacity, z-index', 'webkitTransitionDuration': duration + 'ms', 'transitionDuration': duration + 'ms' } ); } if ( swiper.params.slideShadows ) { const $shadow = $transitionElements.find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left'); if ( $shadow && $shadow.length ) { $shadow.transition( duration ); if ( changeCssTransition ) { $shadow.css( { 'webkitTransitionProperty': 'transform, opacity, z-index', 'transitionProperty': 'transform, opacity, z-index', 'webkitTransitionDuration': duration + 'ms', 'transitionDuration': duration + 'ms' } ); } } } } }; if ( typeof Swiper.prototype.modules != 'undefined' && typeof Swiper.prototype.modules["effect-fade"] != 'undefined' ) { Swiper.__proto__.Swap = { setTranslate: function setTranslate() { effectSwapModules.setTranslate( this ); }, setTransition: function setTransition( duration ) { effectSwapModules.setTransition( this, duration, false ); } }; Swiper.__proto__.EffectSwap = { name: 'effect-swap', params: { swapEffect: { rotate: 50, scale: 1 } }, create: function create() { var swiper = this; trx_addons_object_extend( swiper, { swapEffect: { setTranslate: Swiper.Swap.setTranslate.bind( swiper ), setTransition: Swiper.Swap.setTransition.bind( swiper ) } } ); }, on: { beforeInit: function beforeInit() { var swiper = this; if ( swiper.params.effect !== 'swap' ) { return; } swiper.classNames.push( swiper.params.containerModifierClass + "swap" ); swiper.classNames.push( swiper.params.containerModifierClass + "3d" ); swiper.params.watchSlidesProgress = true; swiper.originalParams.watchSlidesProgress = true; }, setTranslate: function setTranslate() { var swiper = this; if ( swiper.params.effect !== 'swap' ) { return; } swiper.swapEffect.setTranslate(); }, setTransition: function setTransition( duration ) { var swiper = this; if ( swiper.params.effect !== 'swap' ) { return; } swiper.swapEffect.setTransition(duration); } } }; Swiper.use( [Swiper.EffectSwap] ); } else { const EffectSwap = function( _ref ) { let { swiper, extendParams, on } = _ref; extendParams( { swapEffect: { rotate: 50, scale: 1, transformEl: null } } ); const setTranslate = () => { effectSwapModules.setTranslate( swiper ); }; const setTransition = duration => { effectSwapModules.setTransition( swiper, duration, true ); }; effectInit( { effect: 'swap', swiper, on, setTranslate, setTransition, perspective: () => true, overwriteParams: () => ( { watchSlidesProgress: true } ) } ); }; Swiper.use( [EffectSwap] ); } } } ); })(); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; var $document = jQuery( document ), $body = jQuery( 'body' ); if ( ! $body.hasClass( 'added_to_cart_inited' ) ) { $body.addClass( 'added_to_cart_inited' ); var $sc_cart = jQuery( '.sc_layouts_cart' ), $cart_button = jQuery( '.sc_layouts_cart_button_wrap' ); if ( $sc_cart.length > 0 ) { $sc_cart.filter(':not(.inited)').each( function(idx) { var cart = jQuery(this); cart.addClass('inited') .on('click', '.sc_layouts_cart_icon,.sc_layouts_cart_details', function(e) { var link = jQuery( this ); if ( ! link.data( 'panel-id' ) ) { var widget = link.siblings('.sc_layouts_cart_widget').eq(0), row = link.parents('.sc_layouts_row').eq(0), cart = link.parents('.sc_layouts_cart').eq(0); if ( widget.length > 0 && widget.text().replace(/\s*/g, '') !== '' ) { cart.toggleClass( 'sc_layouts_cart_opened' ); row.toggleClass( 'sc_layouts_row_on_top' ); widget.fadeToggle(); $document.trigger( 'action.opened_dropdown_elements', [$sc_cart] ); } } }) .on('click', '.sc_layouts_cart_widget_close', function(e) { var link = jQuery( this ), row = link.parents('.sc_layouts_row').eq(0), cart = link.parents('.sc_layouts_cart').eq(0); row.removeClass( 'sc_layouts_row_on_top' ); cart.removeClass( 'sc_layouts_cart_opened' ); link.parent().fadeOut(); } ); } ); $document.on( 'action.prepare_popup_elements', function( e, panel ) { if ( panel.hasClass( 'sc_layouts_cart_panel') ) { $sc_cart.find( '[data-panel-id="' + panel.attr('id') + '"]' ).each( function() { var $cart = jQuery( this ).parents( '.sc_layouts_cart' ); if ( $cart.is( ':visible' ) ) { $cart.toggleClass( 'sc_layouts_cart_opened', true ); } } ); } } ); $document.on( 'action.close_popup_elements', function( e, panel ) { if ( panel.hasClass( 'sc_layouts_cart_panel' ) ) { $sc_cart.find( '[data-panel-id="' + panel.attr('id') + '"]' ).each( function() { var $cart = jQuery( this ).parents( '.sc_layouts_cart' ); if ( $cart.is( ':visible' ) ) { $cart.removeClass( 'sc_layouts_cart_opened' ); } } ); } } ); if ( trx_addons_apply_filters( 'trx_addons_filter_sc_layouts_cart_button_hide_on_scroll', true ) ) { $document.on( 'action.scroll_trx_addons', function() { $cart_button.each( function() { var $self = jQuery( this ); if ( $self.hasClass( 'sc_layouts_cart_button_showed' ) ) { $self.removeClass( 'sc_layouts_cart_button_showed' ); } } ); } ); } jQuery( document.body ).on( 'wc_fragments_refreshed wc_fragments_loaded update_cart added_to_cart removed_from_cart', function(e) { jQuery( '.widget_shopping_cart' ).each( function() { var $widget = jQuery( this ); var total = 0; var $total = $widget.find( '.total .amount' ); if ( ! $total.length ) { $total = $widget.find( '.elementor-menu-cart__subtotal .amount' ); } if ( $total.length ) { total = $total.text(); } $sc_cart.find( '.sc_layouts_cart_summa' ).text( total ); var cnt = 0, cart_list = false; $widget.find( '.cart_list li' ).each( function() { var q = jQuery( this ).find( '.quantity' ).html().split( ' ', 2 ); if ( ! isNaN( q[0] ) ) { cnt += Number( q[0] ); } cart_list = true; } ); if ( ! cart_list ) { $widget.find( '.elementor-menu-cart__product' ).each( function() { var q = jQuery( this ).find( '.product-quantity' ).text().split( ' ' ); if ( ! isNaN( q[0] ) ) { cnt += Number( q[0] ); } } ); } var $items = $sc_cart.find( '.sc_layouts_cart_items' ).eq(0), items = $items.text().split( ' ', 2 ); items[0] = cnt; $items.text( items[0] + ( items.length > 1 ? ' ' + ( cnt == 1 ? $items.data( 'item' ) : $items.data( 'items' ) ) : '' ) ); jQuery( '.sc_layouts_cart_items_short' ).text( items[0] ); $sc_cart.data( { 'items': cnt ? cnt : 0, 'summa': total ? total : 0 } ); if ( e.type == 'added_to_cart' ) { sc_layouts_cart_panel_open( $sc_cart ); } } ); } ); jQuery( document.body ).on( 'edd_cart_item_added edd_cart_item_removed edd_quantity_updated', function ( e, data ) { var items = $sc_cart.find( '.sc_layouts_cart_items' ).eq(0).text().split( ' ', 2 ); items[0] = data.cart_quantity ? data.cart_quantity : data.quantity; jQuery( '.sc_layouts_cart_items' ).text( items[0] + ( items.length > 1 ? ' ' + items[1] : '' ) ); jQuery( '.sc_layouts_cart_items_short' ).text( items[0] ); jQuery( '.sc_layouts_cart_summa' ).text( data.total ); $sc_cart.data( { 'items': data.cart_quantity ? data.cart_quantity : 0, 'summa': data.total ? data.total : 0 } ); sc_layouts_cart_panel_open( $sc_cart ); } ); } } function sc_layouts_cart_panel_open( $sc_cart ) { if ( ! $sc_cart.hasClass( 'sc_layouts_cart_opened' ) ) { var link = $sc_cart.filter( ':visible' ).find( '.sc_layouts_cart_icon,.sc_layouts_cart_details' ).eq(0); if ( link.length ) { if ( link.data( 'panel-id' ) ) { link.trigger( 'click' ); } else if ( link.data( 'button-id' ) ) { setTimeout( function() { jQuery( '#' + link.data( 'button-id' ) ).toggleClass( 'sc_layouts_cart_button_showed' ); }, 10 ); } } } } } ); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; jQuery( document ).on( 'action.init_hidden_elements', function( e, $container ) { if ( $container === undefined ) { $container = jQuery( 'body' ); } $container.find( '.sc_layouts_dark_light:not(.sc_layouts_dark_light_inited)' ).each( function() { jQuery( this ) .addClass( 'sc_layouts_dark_light_inited' ) .on( 'click', function(e) { var $self = jQuery( this ), $active = $self.find( '.sc_layouts_dark_light_active' ), active_mode = $active.hasClass( 'sc_layouts_dark_light_dark' ) ? 'dark' : 'light', $next = $active.siblings( '.sc_layouts_dark_light_item' ), next_mode = $next.hasClass( 'sc_layouts_dark_light_dark' ) ? 'dark' : 'light', schemes = $self.data( 'schemes' ), permanent = $self.data( 'permanent' ), i, data, option_name; jQuery( '.sc_layouts_dark_light' ).each( function() { var $current = jQuery( this ); $current .removeClass( 'sc_layouts_dark_light_active_' + active_mode ) .addClass( 'sc_layouts_dark_light_active_' + next_mode ) .find( '.sc_layouts_dark_light_item' ) .toggleClass( 'sc_layouts_dark_light_active' ); } ); if ( schemes ) { for ( i = 0; i < schemes[active_mode].length; i++ ) { data = schemes[active_mode][i]; jQuery( data.selector ).removeClass( 'scheme_' + data.scheme ); } for ( i = 0; i < schemes[next_mode].length; i++ ) { data = schemes[next_mode][i]; jQuery( data.selector ).addClass( 'scheme_' + data.scheme ); } } for ( i = 0; i < schemes[next_mode].length; i++ ) { data = schemes[next_mode][i]; option_name = trx_addons_apply_filters( 'trx_addons_filter_dark_light_option_name', ( data.area == 'content' ? 'color' : ( data.area == 'other' ? 'menu' : data.area ) ) + '_scheme', data ); if ( permanent ) { trx_addons_set_cookie( option_name, data.scheme ); } else { trx_addons_del_cookie( option_name ); } } e.preventDefault(); return false; } ); } ); } ); } ); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; jQuery('.sc_layouts_logo,.custom-logo-link').on('click', function(e){ if (jQuery(this).attr('href') == '#' || location.href == jQuery(this).attr('href')) { trx_addons_document_animate_to(0); e.preventDefault(); return false; } }); }); ( function() { "use strict"; var $document = jQuery(document); $document.on( 'action.before_ready_trx_addons', function() { window.trx_addons_init_sfmenu = function( selector ) { jQuery( selector ).show().each( function() { var $self = jQuery( this ); var is_touch_device = ( 'ontouchstart' in document.documentElement ); var animation_in = $self.parent().data( 'animation-in' ); if ( animation_in == undefined || is_touch_device ) { animation_in = "none"; } var animation_out = $self.parent().data( 'animation-out' ); if ( animation_out == undefined || is_touch_device ) { animation_out = "none"; } var sf_init = { delay: 300, speed: animation_in != 'none' ? 500 : 200, speedOut: animation_out != 'none' ? 300 : 200, autoArrows: false, dropShadows:false, onBeforeShow: function() { jQuery( this ).each( function() { var menu_item = jQuery( this ).data( 'menu-state', 'before-show' ); if ( menu_item.hasClass('sc_layouts_submenu') && ! menu_item.hasClass('layouts_inited') && menu_item.find('.slider_container').length > 0 ) { menu_item.addClass('sc_layouts_submenu_prepare'); } else { trx_addons_do_action( 'trx_addons_action_menu_on_before_show', menu_item ); trx_addons_before_show_menu(menu_item); } } ); }, onShow: function() { jQuery( this ).each( function() { var menu_item = jQuery( this ); if ( menu_item.data( 'menu-state' ) != 'before-show' ) { trx_addons_do_action( 'trx_addons_action_menu_on_show', menu_item ); trx_addons_before_show_menu(menu_item); } menu_item.data('menu-state', 'show'); trx_addons_do_action( 'trx_addons_action_menu_after_show', menu_item ); trx_addons_after_show_menu(menu_item); } ); }, onBeforeHide: function() { jQuery( this ).each( function() { var menu_item = jQuery( this ); if ( menu_item.data( 'menu-state' ) == 'show' ) { menu_item.data('menu-state', 'before-hide'); trx_addons_do_action( 'trx_addons_action_menu_on_before_hide', menu_item ); trx_addons_before_hide_menu(menu_item); } } ); }, onHide: function() { jQuery(this).each( function() { var menu_item = jQuery( this ).data('menu-state', 'hide'); trx_addons_do_action( 'trx_addons_action_menu_on_hide', menu_item ); trx_addons_after_hide_menu(menu_item); } ); }, onHandleTouch: function() { var $ul = jQuery( this ).parents('ul'); if ( trx_addons_browser_is_ios() && $ul.length > 1 ) { $ul.addClass('sc_layouts_submenu_freeze'); setTimeout( function() { $ul.removeClass('sc_layouts_submenu_freeze'); }, 1000 ); } } }; if ( animation_in == 'none' ) { sf_init.animation = { opacity: 'show' }; } if ( animation_out == 'none' ) { sf_init.animationOut = { opacity: 'hide' }; } $self.find( '.sc_layouts_submenu_wrap' ).on( 'focusout', function( e ) { if ( e.currentTarget && jQuery( e.currentTarget ).hasClass( 'sc_layouts_submenu_wrap' ) ) { e.stopPropagation(); return false; } } ); $self.addClass('inited').superfish( trx_addons_apply_filters( 'trx_addons_filter_menu_init_args', sf_init ) ); function trx_addons_before_show_menu(menu_item) { var in_columns = menu_item.parents('li[class*="columns-"]').length > 0 && ( ! menu_item.parent().attr('class') || menu_item.parent().attr('class').indexOf('columns-') == -1 ); if ( ! in_columns ) { var window_width = jQuery(window).width(), page_wrap = jQuery(trx_addons_apply_filters( 'trx_addons_filter_page_wrap_class', TRX_ADDONS_STORAGE['page_wrap_class'] ? TRX_ADDONS_STORAGE['page_wrap_class'] : '.page_wrap', 'menu-before-show' )).eq(0), page_wrap_width = page_wrap.length > 0 ? page_wrap.width() : window_width, page_wrap_offset = page_wrap.length > 0 ? page_wrap.offset().left : 0, par = menu_item.parents("ul").eq(0), par_offset = par.length > 0 ? par.offset().left : 0, par_width = par.length > 0 ? par.outerWidth() : 0, ul_width = menu_item.outerWidth(), rtl = jQuery( 'body' ).hasClass( 'rtl' ); if ( menu_item.parents("ul").length > 1 ) { if ( ( ! rtl && ( ( par_offset + par_width + ul_width > page_wrap_offset + page_wrap_width - 10 && par_offset - ul_width > page_wrap_offset ) || ( par_offset + par_width + ul_width > window_width && par_offset - ul_width > 0 ) ) ) || ( rtl && ( ( par_offset - ul_width < page_wrap_offset + 10 && par_offset + par_width + ul_width < page_wrap_offset + page_wrap_width ) || ( par_offset - ul_width < 0 && par_offset + par_width + ul_width < window_width ) ) ) ) { menu_item.addClass('submenu_left'); } else { menu_item.removeClass('submenu_left'); } } if (menu_item.parents('.top_panel').length > 0) { var wide = trx_addons_stretch_submenu(menu_item); if ( ! wide ) { var ul_pos = menu_item.data('ul_pos'), submenu_left = ( menu_item.hasClass('submenu_left') && ! rtl ) || ( ! menu_item.hasClass('submenu_left') && rtl ); if (ul_pos === undefined) { ul_pos = parseFloat( menu_item.css( submenu_left ? 'right' : 'left' ) ); } if ( isNaN(ul_pos) ) { ul_pos = 0; } var ul_offset = menu_item.parents("ul").length > 1 ? par_offset + ul_pos : menu_item.parent().offset().left; if ( submenu_left ) { if (ul_offset < 0) { if (menu_item.data('ul_pos') == undefined) { menu_item.data('ul_pos', ul_pos); } menu_item.css( { 'right': ul_pos + ul_offset + 'px' } ); } } else { if (ul_offset + ul_width >= window_width) { if (menu_item.data('ul_pos') == undefined) { menu_item.data('ul_pos', ul_pos); } menu_item.css( { 'left': ( ul_pos - ( ul_offset + ul_width - window_width ) ) + 'px' } ); } } var ul_height = menu_item.outerHeight(), w_height = jQuery(window).height(), menu = menu_item.parents('.sc_layouts_menu').eq(0), row_offset = menu.length ? menu.offset().top - jQuery(window).scrollTop() : 0, row_height = 0, par_top = 0; par = menu_item.parent(); par_offset = 0; while ( par.length > 0 ) { par_top = par.position().top; par_offset += par_top + par.parent().position().top; row_height = par.outerHeight(); if (par_top === 0) break; par = par.parents('li').eq(0); } if (row_offset + par_offset + ul_height > w_height) { if (par_offset > ul_height) { menu_item.css( { 'top': 'auto', 'bottom': '-' + ( menu_item.css('padding-bottom') || 0 ) } ); } else { menu_item.css( { 'top': '-' + ( par_offset - row_height - 2 ) + 'px', 'bottom': 'auto' } ); } } } } var animated = false; trx_addons_do_action( 'trx_addons_action_menu_before_animation_in', menu_item, animation_in, animation_out ); if ( animation_in != 'none' ) { animated = trx_addons_apply_filters( 'trx_addons_filter_menu_animation_in', false, menu_item, animation_in, animation_out ); if ( ! animated ) { if ( menu_item.hasClass('animated') && menu_item.hasClass(animation_out) ) { menu_item.removeClass('animated faster '+animation_out); } menu_item.addClass('animated fast '+animation_in); animated = true; } } $document.trigger('action.before_show_submenu', [menu_item] ); } return animated; } function trx_addons_after_show_menu(menu_item) { if ( menu_item.hasClass('sc_layouts_submenu') ) { if ( ! menu_item.hasClass('layouts_inited') ) { trx_addons_stretch_submenu(menu_item); $document.trigger( 'action.init_hidden_elements', [menu_item] ); if (menu_item.find('.slider_container').length > 0) { $document.on('action.slider_inited', function(e, slider, id) { trx_addons_before_show_menu(menu_item); menu_item .removeClass('sc_layouts_submenu_prepare') .addClass('layouts_inited'); }); } else { menu_item.addClass('layouts_inited'); } } $document.trigger('action.resize_trx_addons', [menu_item]); } $document.trigger('action.after_show_submenu', [menu_item] ); } function trx_addons_before_hide_menu(menu_item) { menu_item.find('.trx_addons_video_player.with_cover.video_play').removeClass('video_play').find('.video_embed').empty(); var animated = false; trx_addons_do_action( 'trx_addons_action_menu_before_animation_out', menu_item, animation_in, animation_out ); if ( animation_out!='none' ) { animated = trx_addons_apply_filters( 'trx_addons_filter_menu_animation_out', false, menu_item, animation_in, animation_out ); if ( ! animated ) { if (menu_item.parents('[class*="columns-"]').length === 0 ) { if ( menu_item.hasClass('animated') && menu_item.hasClass(animation_in) ) { menu_item.removeClass('animated fast '+animation_in); } if ( menu_item.data('menu-state') == 'show' || menu_item.data('menu-state') == 'before-hide' ) { menu_item.addClass('animated faster '+animation_out); animated = true; } } } } $document.trigger('action.before_hide_submenu', [menu_item] ); return animated; } function trx_addons_after_hide_menu(menu_item) { setTimeout( function() { if ( menu_item.data('menu-state') == 'hide' ) { menu_item.removeAttr( 'style' ); var bg = menu_item.find('> .sc_layouts_menu_stretch_bg'); if ( bg.length ) { bg.removeAttr( 'style' ) .css( { 'background-color': menu_item.css('background-color') } ); } var container = menu_item.data( 'reset-style' ); if ( container ) { menu_item.find( container ).removeAttr( 'style' ); } $document.trigger('action.after_hide_submenu', [menu_item] ); } }, 500 ); } window.trx_addons_stretch_submenu = function(menu_item) { var done = false; if ( ! menu_item.length ) { return done; } var parent_class = menu_item.parent().attr('class'); if ( TRX_ADDONS_STORAGE['menu_stretch'] == 1 && ! menu_item.hasClass('trx_addons_no_stretch') && ! menu_item.parents('.sc_layouts_menu').hasClass('sc_layouts_menu_dir_vertical') && trx_addons_apply_filters( 'trx_addons_filter_stretch_menu', menu_item.hasClass('sc_layouts_submenu') || parent_class.indexOf('columns-') != -1 || parent_class.indexOf('trx_addons_stretch_') != -1, menu_item ) ) { var menu = menu_item.parents("ul"); if ( menu.length == 1 ) { var $body = jQuery('body'), li = menu_item.parents("li").eq(0), stretch_to = trx_addons_apply_filters( 'trx_addons_filter_stretch_menu_to', li.hasClass( 'trx_addons_stretch_window' ) ? 'window' : ( li.hasClass( 'trx_addons_stretch_window_boxed' ) ? 'window_boxed' : 'content' ), menu_item ), content_wrap_selector = trx_addons_apply_filters( 'trx_addons_filter_stretch_menu_content_wrap_selector', '.content_wrap', menu_item ), content_wrap = jQuery( content_wrap_selector ).eq(0); if ( ! content_wrap.length ) { $body.append( trx_addons_apply_filters( 'trx_addons_filter_stretch_menu_content_wrap_html', '<div class="content_wrap" style="height:0;visibility:hidden;"></div>', menu_item ) ); content_wrap = jQuery( content_wrap_selector ).eq(0); if ( ! content_wrap.length ) { content_wrap = trx_addons_apply_filters( 'trx_addons_filter_stretch_menu_content_wrap', content_wrap, menu_item ); } } if ( content_wrap.length == 1 ) { var bw = $body.innerWidth(), cw = trx_addons_apply_filters( 'trx_addons_filter_stretch_menu_content_wrap_width', content_wrap.innerWidth(), menu_item, content_wrap ), cw_offset = content_wrap.offset().left, li_offset = li.offset().left; menu_item .css( { 'width': ( stretch_to == 'window' ? bw : cw ) + 'px', 'max-width': 'none', 'left': -li_offset + ( stretch_to == 'window' ? 0 : cw_offset ) + 'px', 'right': 'auto' } ); if ( stretch_to == 'window' ) { menu_item .data( 'reset-style', '.elementor-section-boxed > .elementor-container,.e-con-boxed > .e-con-inner' ) .find( '.elementor-section-boxed > .elementor-container,.e-con-boxed > .e-con-inner' ).css( {'max-width': 'none' } ); } else if ( stretch_to == 'window_boxed' ) { var bg = menu_item.find('> .sc_layouts_menu_stretch_bg'); if ( bg.length === 0 ) { menu_item.append( '<span class="sc_layouts_menu_stretch_bg"></span>' ); bg = menu_item.find('> .sc_layouts_menu_stretch_bg'); bg.css( { 'background-color': menu_item.css('background-color') } ); } bg.css( { 'left': -(cw_offset + 1) + 'px', 'right': -(bw - cw_offset - cw + 1) + 'px' } ); } done = true; $document.trigger('action.resize_trx_addons', [menu_item] ); } } } return done; }; } ); }; trx_addons_init_sfmenu('.sc_layouts_menu:not(.inited):not(.sc_layouts_submenu_dropdown) > ul:not(.inited)'); trx_addons_menu_collapse(); jQuery('.sc_layouts_menu:not(.inited)').each(function() { if (jQuery(this).find('>ul.inited').length == 1) jQuery(this).addClass('inited'); }); jQuery('.menu_hover_slide_line:not(.slide_inited),.menu_hover_slide_box:not(.slide_inited)').each(function() { var menu = jQuery(this).addClass('slide_inited'); var style = menu.hasClass('menu_hover_slide_line') ? 'line' : 'box'; setTimeout(function() { if (jQuery.fn.spasticNav !== undefined) { menu.find('>ul').spasticNav({ style: style, colorOverride: false }); } }, 500); }); jQuery('.sc_layouts_menu_mobile_button_burger:not(.inited)').each(function() { var burger = jQuery(this); var popup = burger.find('.sc_layouts_menu_popup'); if (popup.length == 1) { burger.addClass('inited').on('click', '>a', function(e) { popup.toggleClass('opened').slideToggle(); e.preventDefault(); return false; }); popup.on('click', 'a', function(e) { var $item = jQuery(this); if ( $item.next().hasClass('sub-menu') ) { $item.parent().siblings().find( '>.sub-menu' ).fadeOut(); $item.next().fadeToggle(); e.preventDefault(); return false; } }); $document.on('click', function(e) { jQuery('.sc_layouts_menu_popup.opened').removeClass('opened').slideUp(); }); } }); }); $document.on('action.resize_trx_addons', function() { trx_addons_menu_collapse(); }); function trx_addons_menu_collapse() { if ( TRX_ADDONS_STORAGE['menu_collapse'] == 0 ) { return; } jQuery('.sc_layouts_menu:not(.sc_layouts_menu_no_collapse):not(.sc_layouts_menu_dir_vertical)').each( function() { var nav = jQuery( this ); if ( nav.parents('div:hidden,section:hidden,article:hidden').length > 0 ) { return; } var ul = nav.find( '>ul:not(.sc_layouts_menu_no_collapse).inited' ); if ( ul.length === 0 ) { return; } function check_menu_wrapper( item ) { var allow_any_wrapper = trx_addons_apply_filters( 'trx_addons_filter_menu_collapse_allow_any_wrapper', true ); var rez = allow_any_wrapper; if ( ! allow_any_wrapper ) { var wrappers_list = trx_addons_apply_filters( 'trx_addons_filter_menu_collapse_wrapper_classes', [ 'sc_layouts_column', 'wpb_wrapper', 'elementor-widget-wrap', 'e-con', 'e-con-inner', 'wp-block-column', 'kt-inside-inner-col' ] ); for (var i = 0; i < wrappers_list.length; i++ ){ if ( item.hasClass( wrappers_list[i] ) ) { rez = true; break; } } } return rez; } function check_item_delimiter( item ) { var delimiters_list = trx_addons_apply_filters( 'trx_addons_filter_menu_collapse_delimiter_classes', [ 'vc_empty_space', 'vc_separator', 'elementor-widget-spacer', 'elementor-widget-divider', 'wp-block-spacer', 'wp-block-separator', 'wp-block-kadence-spacer', 'wp-block-coblocks-shape-divider' ] ); var rez = false; for (var i = 0; i < delimiters_list.length; i++ ){ if ( item.hasClass( delimiters_list[i] ) ) { rez = true; break; } } return rez; } var sc_layouts_item_wrapper = nav.parents('.sc_layouts_item').eq(0), sc_layouts_item = sc_layouts_item_wrapper.length > 0 ? sc_layouts_item_wrapper : nav, sc_layouts_item_parent = sc_layouts_item.parent(); if ( ! check_menu_wrapper( sc_layouts_item_parent ) ) { return; } var w_max = sc_layouts_item_parent.width() - ( Math.ceil( parseFloat( sc_layouts_item.css('marginLeft') ) ) + Math.ceil( parseFloat( sc_layouts_item.css('marginRight') ) ) ) - 2; var w_siblings = 0, in_group = 0, ul_id = ul.attr('id'); sc_layouts_item_parent.find( '>div' + ( sc_layouts_item_parent.attr( 'class' ).indexOf( 'elementor-' ) >= 0 ? '.elementor-element' : '' ) ).each( function() { if ( in_group > 1 ) { return; } var $self = jQuery(this); if ( check_item_delimiter( $self ) ) { if ( in_group == 1 ) { in_group = 2; } else { w_siblings = 0; } } else { if ( $self.find( '#' + ul_id ).length > 0 ) { in_group = 1; } else { w_siblings += ( $self.outerWidth() + Math.ceil(parseFloat( $self.css('marginLeft') ) ) + Math.ceil( parseFloat( $self.css('marginRight') ) ) ); } } }); w_max -= w_siblings; var w_all = 0; var move = false; var li_collapse = ul.find('li.menu-item.menu-collapse'); if ( li_collapse.length === 0 ) { ul.append('<li class="menu-item menu-collapse"><a href="#" class="sf-with-ul '+TRX_ADDONS_STORAGE['menu_collapse_icon']+'"></a><ul class="submenu"></ul></li>'); li_collapse = ul.find('li.menu-item.menu-collapse'); } var li_collapse_ul = li_collapse.find('> ul'); ul.find('> li').each( function( idx ) { var cur_item = jQuery( this ); cur_item.data( 'index', idx ); if ( move || cur_item.attr('id') == 'blob' ) { return; } w_all += ! cur_item.hasClass('menu-collapse') || cur_item.css('display') != 'none' ? cur_item.outerWidth() + Math.ceil( parseFloat( cur_item.css( 'marginLeft' ) ) ) + Math.ceil( parseFloat( cur_item.css( 'marginRight' ) ) ) : 0; if ( w_all > w_max ) { move = true; } } ); if ( move ) { w_all = li_collapse.outerWidth() + Math.ceil( parseFloat( li_collapse.css( 'marginLeft' ) ) ) + Math.ceil( parseFloat( li_collapse.css( 'marginRight' ) ) ); ul.find( "> li:not('.menu-collapse')" ).each( function( idx ) { var cur_item = jQuery( this ); var cur_width = cur_item.outerWidth() + Math.ceil( parseFloat( cur_item.css( 'marginLeft' ) ) ) + Math.ceil( parseFloat( cur_item.css( 'marginRight' ) ) ); if ( w_all <= w_max ) { w_all += cur_width; } if ( w_all > w_max ) { var moved = false; li_collapse_ul.find( '>li' ).each( function() { if ( ! moved && Number( jQuery( this ).data( 'index' ) ) > idx ) { cur_item.attr( 'data-width', cur_width ).insertBefore( jQuery( this ) ); moved = true; } } ); if ( ! moved ) { cur_item.attr( 'data-width', cur_width ).appendTo( li_collapse_ul ); } } } ); li_collapse.show(); } else { var items = li_collapse_ul.find( '>li' ); var cnt = 0; move = true; items.each( function() { if ( ! move ) { return; } if ( items.length - cnt == 1 ) { w_all -= ( li_collapse.outerWidth() + Math.ceil( parseFloat( li_collapse.css( 'marginLeft' ) ) ) + Math.ceil( parseFloat( li_collapse.css( 'marginRight' ) ) ) ); } w_all += parseFloat( jQuery( this ).data( 'width' ) ); if ( w_all < w_max ) { jQuery( this ).insertBefore( li_collapse ); cnt++; } else { move = false; } } ); if ( items.length - cnt === 0 ) { li_collapse.hide(); } } } ); } } )();(function($) { "use strict"; $.fn.spasticNav = function(options) { options = $.extend({ overlap : 0, style: 'box', reset : 50, color : '#00c6ff', colorOverride: true, }, options); return this.each( function() { var nav = $(this), currentPageItem = nav.find('>.current-menu-item,>.current-menu-parent,>.current-menu-ancestor'), hidden = false, blob, reset; if (currentPageItem.length === 0) { currentPageItem = nav.find('li').eq(0); hidden = true; } var a = currentPageItem.find('>a'); var pl = parseInt(a.css('paddingLeft'), 10); if (isNaN(pl)) pl = 0; $('<li id="blob"></li>').css({ width : options.style=='box' ? a.outerWidth() : a.width(), left : currentPageItem.position().left + (options.style=='box' ? 0 : pl), top : currentPageItem.position().top - options.overlap / 2, opacity: hidden ? 0 : 1 }).appendTo(this); blob = $('#blob', nav); if (options.style == 'box') { blob.css({height: currentPageItem.outerHeight() + options.overlap}); } if (options.colorOverride) { var bg = a.css('backgroundColor'); blob.css({backgroundColor : hidden || bg=='transparent' ? options.color : bg}); } nav.find('>li:not(#blob)') .on( 'mouseenter', function() { clearTimeout(reset); var a = $(this).find('>a'); var pl = parseInt(a.css('paddingLeft'), 10); if (isNaN(pl)) pl = 0; if (options.colorOverride) { var bg = a.css('backgroundColor'); if (bg!='transparent') blob.css({backgroundColor: bg}); } $(this).addClass('blob_over'); blob.css({ left: $(this).position().left + (options.style=='box' ? 0 : pl), top: $(this).position().top - options.overlap / 2, width: options.style=='box' ? a.outerWidth() : a.width(), opacity: $(this).hasClass('menu-collapse') ? 0 : 1 }); } ) .on( 'mouseleave', function() { reset = setTimeout(function() { var a = currentPageItem.find('>a'); var pl = parseInt(a.css('paddingLeft'), 10); if (isNaN(pl)) pl = 0; if (options.colorOverride) { var bg = a.css('backgroundColor'); if (bg!='transparent') blob.css({backgroundColor: bg}); } blob.css({ width: options.style=='box' ? a.outerWidth() : a.width(), left: currentPageItem.position().left + (options.style=='box' ? 0 : pl), opacity: hidden ? 0 : 1, }); }, options.reset); $(this).removeClass('blob_over'); } ); }); }; })(jQuery); jQuery(document).on('action.ready_trx_addons', function() { "use strict"; if (jQuery('.search_wrap:not(.inited)').length > 0) { jQuery('.search_wrap:not(.inited)').each(function() { var search_wrap = jQuery(this).addClass('inited'), search_field = search_wrap.find('.search_field'), search_button = search_wrap.find('.search_submit'); var ajax_timer = null; search_field.on('keyup', function(e) { if (e.keyCode == 27) { search_field.val(''); trx_addons_search_close(search_wrap); e.preventDefault(); return; } if (search_wrap.hasClass('search_ajax')) { var s = search_field.val(); if (ajax_timer) { clearTimeout(ajax_timer); ajax_timer = null; } if (s.length >= 4) { ajax_timer = setTimeout(function() { search_wrap.addClass('search_progress'); jQuery.post(TRX_ADDONS_STORAGE['ajax_url'], { action: 'ajax_search', nonce: TRX_ADDONS_STORAGE['ajax_nonce'], text: s, post_types: search_wrap.find('input[name="post_types"]').val() }).done(function(response) { clearTimeout(ajax_timer); ajax_timer = null; var rez = {}; if (response=='' || response==0) { rez = { error: TRX_ADDONS_STORAGE['msg_search_error'] }; } else { try { rez = JSON.parse(response); } catch (e) { rez = { error: TRX_ADDONS_STORAGE['msg_search_error'] }; console.log(response); } } var msg = rez.error === '' ? rez.data : rez.error; search_wrap.removeClass('search_progress'); search_field.parents('.search_ajax').find('.search_results_content').empty().append(msg); search_field.parents('.search_ajax').find('.search_results').fadeIn(); jQuery( document ).trigger( 'action.got_ajax_response', { action: 'ajax_search', result: rez }); }); }, 500); } } }); search_wrap.find('.search_submit').on('click', function(e) { e.preventDefault(); if ( (search_wrap.hasClass('search_style_expand') || search_wrap.hasClass('search_style_fullscreen')) && !search_wrap.hasClass('search_opened') ) { var duration = trx_addons_apply_filters( 'trx_addons_filter_search_fullscreen_fade_duration', 0 ); if ( search_wrap.hasClass('search_style_fullscreen') ) { jQuery('body').addClass('sc_layouts_search_opened'); search_wrap.hide().addClass('search_opened').fadeIn( duration ); } else { search_wrap.addClass('search_opened'); } setTimeout( function() { search_field.get(0).focus(); }, duration + 200 ); } else if ( search_field.val() === '' ) { if ( search_wrap.hasClass('search_opened') && search_wrap.hasClass('search_style_expand') ) { trx_addons_search_close(search_wrap); } else { search_field.get(0).focus(); } } else { search_wrap.find('form').get(0).submit(); } return false; }); search_wrap.find('.search_close').on('click', function(e) { e.preventDefault(); trx_addons_search_close(search_wrap); return false; }); search_wrap.find('.search_results_close').on('click', function(e) { e.preventDefault(); jQuery(this).parent().fadeOut(); return false; }); search_wrap.on('click', '.search_more', function(e) { e.preventDefault(); if (search_field.val() !== '') { search_wrap.find('form').get(0).submit(); } return false; }); }); } function trx_addons_search_close(search_wrap) { var duration = trx_addons_apply_filters( 'trx_addons_filter_search_fullscreen_fade_duration', 0 ); search_wrap.find('.search_field').get(0).blur(); if ( search_wrap.hasClass('search_style_fullscreen') ) { jQuery('body').removeClass('sc_layouts_search_opened'); search_wrap.find('.search_results').fadeOut( duration ); search_wrap.fadeTo( duration / 3 * 2, 0.33, function() { search_wrap .removeClass( 'search_opened' ) .removeAttr( 'style' ) .show(); } ); } else { search_wrap .removeClass('search_opened') .find('.search_results') .fadeOut(); } } }); jQuery(document).ready(function() { "use strict"; var $window = jQuery( window ), $document = jQuery( document ); var $reviews; $document.on( 'action.init_hidden_elements', update_jquery_links ); $document.on( 'action.got_ajax_response', update_jquery_links ); var first_run = true; function update_jquery_links(e) { if ( first_run && e && e.namespace == 'init_hidden_elements' ) { first_run = false; return; } $reviews = jQuery( '.trx_addons_reviews_block_mark:not(.inited)' +',.trx_addons_reviews_stars:not([data-mark-max]):not(.inited)' +',.trx_addons_reviews_block_detailed .trx_addons_reviews_block_criterias[data-mark-max="10"] .trx_addons_reviews_block_list_mark_line_hover:not(.inited)' +',.trx_addons_reviews_block_detailed .trx_addons_reviews_block_criterias[data-mark-max="100"] .trx_addons_reviews_block_list_mark_line_hover:not(.inited)' ); } update_jquery_links(); var votes_wrap = jQuery(".trx_addons_reviews_stars[data-mark-max]"); if (votes_wrap.length > 0) { votes_wrap .on('mousemove', function(e) { var mark_wrap = jQuery(this), mark_max = mark_wrap.data('mark-max'), mark_decimals = mark_wrap.data('mark-decimals'), w = mark_wrap.width(), x = Math.min( w, Math.max( 0, Math.round( e.pageX - mark_wrap.offset().left ) ) ) + 1; if (x <= w) { var pos = Math.round(x / w * 100), mark_show = trx_addons_reviews_mark2show(pos, mark_max, mark_decimals); pos = trx_addons_reviews_mark2save(mark_show, mark_max, mark_decimals); mark_wrap .data("mark", pos) .find(".trx_addons_reviews_bubble") .fadeIn() .css({"left": pos + "%"}) .find('.trx_addons_reviews_bubble_value') .text(mark_show); mark_wrap .find(".trx_addons_reviews_stars_hover") .css({"width": pos+"%"}); } }) .on('mouseleave', function(e) { var mark_wrap = jQuery(this), pos = Math.max(0, Number(mark_wrap.find('input[name="trx_addons_reviews_vote"]').val())); mark_wrap.find(".trx_addons_reviews_bubble").fadeOut(); mark_wrap.find(".trx_addons_reviews_stars_hover").css({"width": pos+"%"}); }) .on('click', function(e) { var mark_wrap = jQuery(this); mark_wrap .find('input[name="trx_addons_reviews_vote"]') .val( mark_wrap.data("mark") ); mark_wrap .next('.trx_addons_reviews_text') .find('.trx_addons_reviews_text_mark') .text(mark_wrap.find('.trx_addons_reviews_bubble_value').text()); }); } function trx_addons_reviews_mark2show(mark, mark_max, mark_decimals) { if (mark_max < 100) { mark = mark_decimals > 0 ? Math.round(mark / 100 * mark_max * 10) / 10 : Math.ceil(mark / 100 * mark_max); if (mark_decimals > 0 && String(mark).indexOf(".") < 0) { mark += ".0"; } } else { mark = Math.round(mark); } return mark; } function trx_addons_reviews_mark2save(mark, mark_max) { if (mark_max < 100) { mark = Math.round(mark * 100 / mark_max); } else { mark = Math.round(mark); } return mark; } $document .on( 'action.init_hidden_elements', trx_addons_reviews_block_mark_init ) .on( 'action.scroll_trx_addons', trx_addons_reviews_block_mark_init ) .on( 'action.resize_trx_addons', trx_addons_reviews_block_mark_resize ); function trx_addons_reviews_block_mark_init(e, container) { if ( $reviews.length === 0 ) return; var scrollPosition = $window.scrollTop() + $window.height(); $reviews.each(function(idx) { var item = $reviews.eq(idx); if ( item.hasClass('inited') || item.parents('div:hidden,article:hidden').length > 0 ) { return; } var scrollMark = item.offset().top; if (scrollPosition - 50 > scrollMark) { item.addClass('inited'); if (item.hasClass('trx_addons_reviews_block_mark')) { var canvas = item.find('canvas').eq(0), mark = parseFloat(canvas.data('value')), max = parseInt(canvas.data('max-value'), 10), decimals = parseInt(canvas.data('decimals'), 10), digits = item.find('.trx_addons_reviews_block_mark_value'); item .find('.trx_addons_reviews_block_mark_progress') .animate( { 'width': trx_addons_reviews_mark2save( mark, max, decimals )+'%' }, { duration: 2000, easing: 'linear', step: function(now, fx) { var m = trx_addons_reviews_mark2show( now, max, decimals ); digits.text(m); trx_addons_draw_arc_on_canvas(item, m); } } ); } } }); } function trx_addons_reviews_block_mark_resize( e ) { jQuery('.trx_addons_reviews_block_mark.inited canvas').each(function () { var canvas = jQuery(this); if (canvas.parents('div:hidden,article:hidden').length > 0) { return; } var item = canvas.parent(); if (item.width() != canvas.width()) { trx_addons_draw_arc_on_canvas(item, parseFloat(canvas.data('value'))); } }); } });
// source --> https://www.sunshoreboston.com/wp-content/plugins/trx_addons/addons/mouse-helper/mouse-helper.js 
/* global jQuery */

(function() {

	"use strict";

	var requestAnimationFrame = trx_addons_request_animation_frame();

	var mouseX = null, mouseY = null,
		realX  = null, realY  = null,
		destX  = [0,0,0,0,0,0,0,0,0,0],		// Allow up to 10 helper parts to move
		destY  = [0,0,0,0,0,0,0,0,0,0];

	var mouse_helper_timeout  = 0,
		mouse_helper_target   = null,
		mouse_helper_last_target = null,
		mouse_helper_action      = '',
		mouse_helper_last_action = '',
		mouse_helper_callback = '',
		mouse_helper_axis     = 'xy',
		mouse_helper_delay    = 1,
		mouse_helper_smooth   = true;

	var mouse_helper_original_styles = [ {}, {}, {}, {}, {}, {}, {}, {}, {}, {} ];

	var $window               = jQuery( window ),
		$document             = jQuery( document ),
		$body                 = jQuery( 'body' ),
		$mouse_helper         = jQuery('.trx_addons_mouse_helper');

	if ( $mouse_helper.eq(0).hasClass( 'trx_addons_mouse_helper_smooth' ) ) {
		mouse_helper_smooth = true;
	}

	var $mouse_helper_targets,
		$mouse_helper_magnets;

	// Update links and values after the new post added
	$document.on( 'action.got_ajax_response', update_jquery_links );
	$document.on( 'action.init_hidden_elements', update_jquery_links );
	var first_run = true;
	function update_jquery_links(e) {
		if ( first_run && e && e.namespace == 'init_hidden_elements' ) {
			first_run = false;
			return; 
		}
		$mouse_helper_targets = jQuery('[data-mouse-helper]');
		$mouse_helper_magnets = jQuery('[data-mouse-helper-magnet]:not([data-mouse-helper-magnet="0"])');
	}
	update_jquery_links();


	// Init Mouse helper
	$document.on('action.init_trx_addons', function() {

		if ( TRX_ADDONS_STORAGE['mouse_helper'] > 0 && $mouse_helper.length > 0 && requestAnimationFrame ) {

			$mouse_helper.each( function( idx ) {
				mouse_helper_original_styles[ idx ] = {
					blend_mode:	$mouse_helper.eq(idx).css( 'mix-blend-mode' ),
					color:		$mouse_helper.eq(idx).css( 'color' ),
					bg_color:	$mouse_helper.eq(idx).css( 'background-color' ),
					bd_color:	$mouse_helper.eq(idx).css( 'border-color' ),
					bd_width:	$mouse_helper.eq(idx).css( 'border-width' ),
					bd_style:	$mouse_helper.eq(idx).css( 'border-style' )
				};
			} );

			mouse_helper_delay = TRX_ADDONS_STORAGE['mouse_helper_delay'];

			var pointermove_allowed = false;

			$document
				.on( 'mousemove pointermove', function(e) {
					if ( e.originalEvent.type == 'pointermove' ) {
						pointermove_allowed = true;
					}
					if ( e.originalEvent.type == 'mousemove' && pointermove_allowed ) {
						return;
					}
					trx_addons_mouse_helper_get_state(e);
					if ( mouse_helper_callback && typeof window[mouse_helper_callback] == 'function' ) {
						window[mouse_helper_callback]( 'mousemove', $mouse_helper, mouse_helper_target, e );
					} else if ( typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_action] == 'function' ) {
						window['trx_addons_mouse_helper_callback_' + mouse_helper_action]( 'mousemove', $mouse_helper, mouse_helper_target, e );
					}
					if ( mouse_helper_action == 'highlight' && mouse_helper_target ) {
						var targetOffset = mouse_helper_target.offset(),
							targetX = targetOffset.left - trx_addons_window_scroll_left(),
							targetY = targetOffset.top - trx_addons_window_scroll_top(),
							size = parseFloat( mouse_helper_target.css('background-size').split(' ')[0] ) / 2;
						mouse_helper_target.css( 'background-position', ( mouseX - targetX - size) + 'px ' + ( mouseY - targetY - size ) + 'px' );
					}
					if ( trx_addons_window_width() >= TRX_ADDONS_STORAGE['mobile_breakpoint_mousehelper_off'] ) {
						if ( mouse_helper_delay < 2 ) {
							destX.fill( mouseX );
							destY.fill( mouseY );
							$mouse_helper.css("transform", "translate(" + destX[0] + "px," + destY[0] + "px)");
						}
						if ( mouseX > trx_addons_window_width() - 100 ) {
							if ( ! $mouse_helper.hasClass( 'trx_addons_mouse_helper_left' ) ) {
								$mouse_helper.addClass( 'trx_addons_mouse_helper_left' );
							}
						} else {
							if ( $mouse_helper.hasClass( 'trx_addons_mouse_helper_left' ) ) {
								$mouse_helper.removeClass( 'trx_addons_mouse_helper_left' );
							}
						}
						if ( mouseY > trx_addons_window_height() - 100 ) {
							if ( ! $mouse_helper.hasClass( 'trx_addons_mouse_helper_top' ) ) {
								$mouse_helper.addClass( 'trx_addons_mouse_helper_top' );
							}
						} else {
							if ( $mouse_helper.hasClass( 'trx_addons_mouse_helper_top' ) ) {
								$mouse_helper.removeClass( 'trx_addons_mouse_helper_top' );
							}
						}
						// Check magnets
						trx_addons_mouse_helper_check_magnets();
					}
				} )

				.on( "mouseenter", '[data-mouse-helper]', function(e) {
					e.stopPropagation();
					var $self = jQuery(this).addClass('trx_addons_mouse_helper_over');
					// Set new target
					mouse_helper_target = mouse_helper_last_target = $self;
					mouse_helper_action = mouse_helper_last_action = $self.data( 'mouse-helper' );
					if ( trx_addons_window_width() >= TRX_ADDONS_STORAGE['mobile_breakpoint_mousehelper_off'] ) {
						mouse_helper_reset();
						if ( mouse_helper_timeout ) {
							clearTimeout( mouse_helper_timeout );
							mouse_helper_timeout = 0;
						}
					}
					mouse_helper_callback = $self.data( 'mouse-helper-callback' );
					if ( mouse_helper_callback === undefined ) {
						mouse_helper_callback = '';
					}
					if ( mouse_helper_callback && typeof window[mouse_helper_callback] == 'function' ) {
						window[mouse_helper_callback]( 'mouseenter', $mouse_helper, $self, e );
					} else if ( typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_action] == 'function' ) {
						window['trx_addons_mouse_helper_callback_' + mouse_helper_action]( 'mouseenter', $mouse_helper, $self, e );
					}
					mouse_helper_axis = $self.data( 'mouse-helper-axis' );
					if ( mouse_helper_axis === undefined ) {
						mouse_helper_axis = 'xy';
					}
					mouse_helper_delay = $self.data( 'mouse-helper-delay' );
					if ( mouse_helper_delay === undefined ) {
						mouse_helper_delay = TRX_ADDONS_STORAGE['mouse_helper_delay'];
					}
					
					trx_addons_mouse_helper_get_state(e);

					if ( trx_addons_window_width() >= TRX_ADDONS_STORAGE['mobile_breakpoint_mousehelper_off'] ) {
						// Add a custom class to the helper
						var classes = $self.data("mouse-helper-class") || '';
						if ( classes ) {
							$mouse_helper.addClass( classes );
						}
						// Hide helper
						var hide = $self.data("mouse-helper-hide-helper") || '';
						if ( hide ) {
							$mouse_helper.addClass( 'trx_addons_mouse_helper_hide' );
						}
						// Centered
						var pos = ( TRX_ADDONS_STORAGE['mouse_helper_centered'] > 0 && ( $self.data("mouse-helper-centered") === undefined || $self.data("mouse-helper-centered") === '' ) )
									|| $self.data("mouse-helper-centered") > 0
									|| '';
						$mouse_helper.toggleClass( 'trx_addons_mouse_helper_centered', pos > 0 );
						// Overlay mode
						var mode = $self.data("mouse-helper-mode") || '';
						if ( mode ) {
							$mouse_helper.css( 'mix-blend-mode', mode );
						}
						// Text color
						var color = $self.data("mouse-helper-color") || '';
						if ( color ) {
							$mouse_helper.css( 'color', color );
						}
						// Background color
						var bg_color = $self.data("mouse-helper-bg-color") || '';
						if ( bg_color ) {
							$mouse_helper.css( 'background-color', bg_color );
						}
						// Border color
						var bd_color = $self.data("mouse-helper-bd-color") || '';
						if ( bd_color ) {
							$mouse_helper.css( 'border-color', bd_color );
						}
						// Border width
						var bd_width = $self.data("mouse-helper-bd-width");
						if ( bd_width === undefined ) {
							bd_width = '';
						}
						if ( bd_width !== '' && bd_width >= 0 ) {
							$mouse_helper.css( {
								'border-width': bd_width + 'px',
								'border-style': bd_width > 0 ? 'solid' : 'none'
							} );
						}
						// Add image
						var img = $self.data("mouse-helper-image") || '';
						if ( img ) {
							$mouse_helper.eq(0)
								.find('.trx_addons_mouse_helper_image').remove();
							$mouse_helper.eq(0)
								.append( '<span class="trx_addons_mouse_helper_image" style="background-image:url(' + img + ');"></span>' )
								.addClass( "trx_addons_mouse_helper_with_image");
						}
						// Add icon
						var icon = $self.data("mouse-helper-icon") || '';
						if ( icon && icon != 'none' ) {
							var icon_color = $self.data("mouse-helper-icon-color") || '',
								icon_size = $self.data("mouse-helper-icon-size") || '';
							$mouse_helper.eq(0)
								.find('.trx_addons_mouse_helper_icon').remove().end()
								.append( '<span class="trx_addons_mouse_helper_icon ' + icon + '"'
												+ ' style="'
													+ ( icon_color ? 'color: ' + icon_color + ';' : '' )
													+ ( icon_size ? 'font-size: ' + icon_size + 'em;' : '' )
												+ '"'
											+'></span>' )
								.addClass( 'trx_addons_mouse_helper_with_icon' );
						}
						// Add text
						var text = $self.data("mouse-helper-text") || '',
							text_round = $self.data("mouse-helper-text-round") > 0 || false,
							text_size = $self.data("mouse-helper-text-size") || '';
						if ( text ) {
							$mouse_helper.eq(0)
								.find('.trx_addons_mouse_helper_text').remove().end()
								.append( '<span class="trx_addons_mouse_helper_text' + ( text_round ? ' trx_addons_mouse_helper_text_round' : '' ) + '"'
											+ ( text_size ? ' style="font-size:' + text_size + 'em;"' : '' )
											+ '>'
												+ ( text_round ? trx_addons_wrap_chars( text, '<span class="trx_addons_mouse_helper_text_round_item">', '</span>' ) : text )
											+ '</span>' )
								.addClass( 'trx_addons_mouse_helper_with_text' + ( text_round ? ' trx_addons_mouse_helper_with_text_round' : '' ) );
							if ( text_round ) {
								var rtl = $body.hasClass( 'rtl' );
								setTimeout( function() {
									var text_wrap = $mouse_helper.eq(0).find( '.trx_addons_mouse_helper_text' ),
										items = text_wrap.find( '.trx_addons_mouse_helper_text_round_item' );
									if ( items.length > 0) {
										var r = Math.ceil( text_wrap.width() / 2 ),
											a = 0,
											hide = false;
										items.each( function( idx ) {
											if ( hide ) {
												items.eq( idx ).hide();
											} else {
												if ( a >= ( rtl ? 310 : 330 ) ) {	// If fill whole round - hide rest chars and replace its with '...'
													items.eq( idx ).html('&hellip;');
													hide = true;
												}
												var x = r + r * Math.sin( a / 180 * Math.PI ),
													y = r - r * Math.cos( a / 180 * Math.PI ),
													css = {
														'transform': 'rotate(' + ( rtl ? -a : a ) + 'deg)',
														'top':  y + 'px'
													};
												if ( rtl ) {
													css.right = x + 'px';
												} else {
													css.left = x + 'px';
												}
												items.eq( idx ).css( css );
												a += 2 * Math.asin( ( items.eq( idx ).width() + ( rtl ? 3 : 3 ) ) / ( 2 * r ) ) * 180 / Math.PI;
											}
										} );
									}
								}, 350);
							}
						}
						// Add custom HTML code
						var layout = $self.data("mouse-helper-layout") || '';
						if ( layout ) {
							$mouse_helper.eq(0)
								.find('.trx_addons_mouse_helper_layout').remove().end()
								.append( '<span class="trx_addons_mouse_helper_layout">' + layout + '</span>' )
								.addClass( 'trx_addons_mouse_helper_with_layout' );
						}
						// Add class to the mouse helper with type of the target
						var obj_type = $self.data( 'element_type' ) || '';
						if ( obj_type === 'widget' ) {
							obj_type = $self.data( 'widget_type' ) || '';
						}
						if ( obj_type === '' ) {
							if ( $self.hasClass( 'slider_container' ) ) {
								obj_type = 'slider';
							}
						} else {
							obj_type = obj_type.split('.')[0];
						}
						if ( obj_type !== '' ) {
							$mouse_helper.eq(0).addClass( 'trx_addons_mouse_helper_over_element_' + obj_type );
						}
						// Set 'active' and 'action' classes
						$mouse_helper.addClass( "trx_addons_mouse_helper_active trx_addons_mouse_helper_action_" + mouse_helper_action);
					}
				} )

				.on( "mouseleave", '[data-mouse-helper]', function(e) {
					e.stopPropagation();
					if ( mouse_helper_callback && typeof window[mouse_helper_callback] == 'function' ) {
						window[mouse_helper_callback]( 'mouseleave', $mouse_helper, mouse_helper_target, e );
						mouse_helper_callback = '';
					} else if ( typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_action] == 'function' ) {
						window['trx_addons_mouse_helper_callback_' + mouse_helper_action]( 'mouseleave', $mouse_helper, mouse_helper_target, e );
					}
					$mouse_helper.removeClass( 'trx_addons_mouse_helper_click'
												+ ' trx_addons_mouse_helper_action_' + mouse_helper_action
												);
					if ( mouse_helper_target ) {
						mouse_helper_target.removeClass('trx_addons_mouse_helper_over');
						// Remove a custom class from the helper
						var classes = mouse_helper_target.data("mouse-helper-class") || '';
						if ( classes ) {
							$mouse_helper.removeClass( classes );
						}
					}
					mouse_helper_target = null;
					mouse_helper_action = '';
					mouse_helper_axis = 'xy';
					mouse_helper_delay = TRX_ADDONS_STORAGE['mouse_helper_delay'];
					if ( trx_addons_window_width() >= TRX_ADDONS_STORAGE['mobile_breakpoint_mousehelper_off'] ) {
						mouse_helper_timeout = setTimeout( function() {
							mouse_helper_reset();
							}, mouse_helper_smooth ? 10 : 0 );	//300
					}
					if ( e.relatedTarget ) {
						var newTarget = jQuery(e.relatedTarget);
						if ( ! newTarget.data('mouse-helper') ) {
							newTarget = newTarget.parents('[data-mouse-helper]').eq(0);
						}
						if ( newTarget.length > 0 && newTarget.data('mouse-helper') ) {
							setTimeout( function() {
								newTarget.trigger('mouseenter');
							}, 0 );
						}
					}
				} )

				.on( "mousedown swiper_touch_start", '[data-mouse-helper]', function(e) {
					var $self = jQuery(this);
					$mouse_helper.addClass('trx_addons_mouse_helper_click');
					mouse_helper_callback = $self.data( 'mouse-helper-callback' );
					if ( mouse_helper_callback === undefined ) {
						mouse_helper_callback = '';
					}
					if ( mouse_helper_callback && typeof window[mouse_helper_callback] == 'function' ) {
						window[mouse_helper_callback]( 'mousedown', $mouse_helper, $self, e );
					} else if ( typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_action] == 'function' ) {
						window['trx_addons_mouse_helper_callback_' + mouse_helper_action]( 'mousedown', $mouse_helper, $self, e );
					}
				} )

				.on( "mouseup swiper_touch_end", '[data-mouse-helper]', function(e) {
					var $self = jQuery(this);
					$mouse_helper.removeClass('trx_addons_mouse_helper_click');
					mouse_helper_callback = $self.data( 'mouse-helper-callback' );
					if ( mouse_helper_callback === undefined ) {
						mouse_helper_callback = '';
					}
					if ( mouse_helper_callback && typeof window[mouse_helper_callback] == 'function' ) {
						window[mouse_helper_callback]( 'mouseup', $mouse_helper, $self, e );
					} else if ( typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_action] == 'function' ) {
						window['trx_addons_mouse_helper_callback_' + mouse_helper_action]( 'mouseup', $mouse_helper, $self, e );
					}
				} );

			var mouse_helper_links = trx_addons_apply_filters(
										'trx_addons_filter_mouse_helper_links',
										'a,button,input[type="button"],input[type="submit"],input[type="reset"]'
									);
			$document
				.on( "mouseenter", mouse_helper_links, function(e) {
					$mouse_helper.addClass( "trx_addons_mouse_helper_over_link" );

				} )
				.on( "mouseleave", mouse_helper_links, function(e) {
					$mouse_helper.removeClass( "trx_addons_mouse_helper_over_link" );
				} );

			var mouse_helper_reset = function() {
				$mouse_helper.eq(0).addClass('trx_addons_mouse_helper_reset');
				setTimeout( function() {
						$mouse_helper.eq(0).removeClass('trx_addons_mouse_helper_reset');
					},     $mouse_helper.eq(0).hasClass( 'trx_addons_mouse_helper_with_icon' )
						|| $mouse_helper.eq(0).hasClass( 'trx_addons_mouse_helper_with_text' )
						|| $mouse_helper.eq(0).hasClass( 'trx_addons_mouse_helper_with_image' )
						|| $mouse_helper.eq(0).hasClass( 'trx_addons_mouse_helper_with_layout' )
						|| ( mouse_helper_target && (
							mouse_helper_target.data( 'mouse-helper-icon' )
							|| mouse_helper_target.data( 'mouse-helper-text' )
							|| mouse_helper_target.data( 'mouse-helper-image' )
							|| mouse_helper_target.data( 'mouse-helper-layout' )
							) )
							? ( mouse_helper_smooth ? 500 : 0 )
							: ( mouse_helper_smooth ? 50 : 0 )
				);
				$mouse_helper.eq(0)
					.attr( 'class', trx_addons_chg_class_by_prefix( $mouse_helper.attr( 'class' ), 'trx_addons_mouse_helper_over_element_', '' ) );
				var $inner_elements = $mouse_helper.eq(0).find('.trx_addons_mouse_helper_image,.trx_addons_mouse_helper_text,.trx_addons_mouse_helper_icon,.trx_addons_mouse_helper_layout');
				if ( $inner_elements.length > 0 ) {
					if ( true ) {
						// Abrupt remove of inner elements
						$inner_elements.remove();
					} else {
						// Smooth remove of inner elements
						$inner_elements
							.addClass('trx_addons_mouse_helper_reset_item')
							.animate( {
									opacity: 0,
									height: 0,
									width: 0
								},
								mouse_helper_smooth ? 500 : 0,
								function() {
									var $self = jQuery(this);
									if ( $self.hasClass('trx_addons_mouse_helper_reset_item') ) {
										$self.remove();
									}
								} );
					}
				}
				$mouse_helper
					.removeClass(
						'trx_addons_mouse_helper_active'
						+ ' trx_addons_mouse_helper_hide'
						+ ' trx_addons_mouse_helper_with_icon'
						+ ' trx_addons_mouse_helper_with_text'
						+ ' trx_addons_mouse_helper_with_text_round'
						+ ' trx_addons_mouse_helper_with_image'
						+ ' trx_addons_mouse_helper_with_layout'
					)
					.toggleClass( 'trx_addons_mouse_helper_centered', TRX_ADDONS_STORAGE['mouse_helper_centered'] > 0 );
				$mouse_helper.each( function( idx ) {
					$mouse_helper.eq(idx).css( {
						'mix-blend-mode': mouse_helper_original_styles[idx].blend_mode,
						'color': mouse_helper_original_styles[idx].color,
						'background-color': mouse_helper_original_styles[idx].bg_color,
						'border-color': mouse_helper_original_styles[idx].bd_color,
						'border-width': mouse_helper_original_styles[idx].bd_width,
						'border-style': mouse_helper_original_styles[idx].bd_style
					} );
				} );
				if ( mouse_helper_callback && typeof window[mouse_helper_callback] == 'function' ) {
					window[mouse_helper_callback]( 'reset', $mouse_helper, mouse_helper_last_target, null );
					mouse_helper_callback = '';
				} else if ( typeof window['trx_addons_mouse_helper_callback_' + mouse_helper_last_action] == 'function' ) {
					window['trx_addons_mouse_helper_callback_' + mouse_helper_last_action]( 'reset', $mouse_helper, mouse_helper_last_target, e );
				}
			};

			var mouse_helper_move = function() {
				cancelAnimationFrame(mouse_helper_move);
				if ( trx_addons_window_width() >= TRX_ADDONS_STORAGE['mobile_breakpoint_mousehelper_off'] && null !== mouseX && mouse_helper_delay > 1 ) {
					$mouse_helper.each( function( idx ) {
						if ( destX[idx] != mouseX || destY[idx] != mouseY ) {
							if ( $mouse_helper.eq( idx ).hasClass( 'trx_addons_mouse_helper_permanent' ) || $mouse_helper.eq( idx ).hasClass( 'trx_addons_mouse_helper_active' ) ) {
								var delay = ( $mouse_helper.eq( idx ).data( 'delay' ) || 0 ) * 1 + mouse_helper_delay * 1;
								destX[idx] += ( mouseX - destX[idx] ) / delay;
								destY[idx] += ( mouseY - destY[idx] ) / delay;
							} else {
								destX[idx] = mouseX;
								destY[idx] = mouseY;
							}
							$mouse_helper.eq( idx ).css("transform", "translate(" + destX[idx] + "px," + destY[idx] + "px)");
						}
					} );
				}
				requestAnimationFrame(mouse_helper_move);
			};
			requestAnimationFrame(mouse_helper_move);


			// Get current state
			function trx_addons_mouse_helper_get_state(e) {
				if ( e.clientX === undefined ) return;
				realX = e.clientX + trx_addons_window_scroll_left();
				realY = e.clientY + trx_addons_window_scroll_top();
				if ( mouse_helper_axis.indexOf('x') != -1 ) mouseX = e.clientX;
				if ( mouse_helper_axis.indexOf('y') != -1 ) mouseY = e.clientY;
			}


			// Check magnets
			function trx_addons_mouse_helper_check_magnets() {

				$mouse_helper_magnets.each( function() {

					var item  = jQuery(this),
						inner = item.children(),
						koef = item.data('mouse-helper-magnet-velocity') ? item.data('mouse-helper-magnet-velocity') : 1,
						delta = item.data('mouse-helper-magnet') * koef;

					var data, cx, cy, iw, ih, ix, iy, near; //position variables

					requestAnimationFrame(control_item);

					function control_item() {
						var off = item.offset();
						cx = realX;
						cy = realY;
						iw = item.width();
						ih = item.height();
						ix = off.left + iw / 2;
						iy = off.top + ih / 2;
						near = Math.abs(ix - cx) < iw * koef && Math.abs(iy - cy) < ih * koef;

						if (near) {
							! item.hasClass('trx_addons_mouse_helper_near') && move_item();
							requestAnimationFrame(control_item);
						} else {
							item.hasClass('trx_addons_mouse_helper_near') && reset_item();
						}
					}

					function move_item() {

						item.addClass('trx_addons_mouse_helper_near');

						var d  = get_closest_position(),
							dx = d.x,
							dy = d.y,
							nx = 0,
							ny = 0;

						transform_item();

						function transform_item() {
							var d = get_closest_position();
							nx += (d.x - dx) / 5;
							ny += (d.y - dy) / 5;

							nx.toFixed(2) !== dx.toFixed(2) &&
								inner.css({
									'transition': 'none',
									'transform':  'translate3d(' + nx + 'px, ' + ny + 'px, 0)'
								});

							dx = nx;
							dy = ny;

							requestAnimationFrame(function () {
								near && transform_item();
							});
						}

						function get_closest_position() {
							return {
								x: Math.abs(cx - ix) < delta ? cx - ix : delta * (cx - ix) / Math.abs(cx - ix),
								y: Math.abs(cy - iy) < delta ? cy - iy : delta * (cy - iy) / Math.abs(cy - iy)
							};
						}
					}

					function reset_item() {

						item.removeClass('trx_addons_mouse_helper_near');

						inner
							.css({
								'transition': 'transform 0.5s',
								'transform':  'translate3d(0px, 0px, 0px)'
							})
							.one( typeof window.trx_addons_transition_end != 'undefined' ? trx_addons_transition_end() : 'transitionend', function () {
								inner.css({
									'transition': 'none'
								});
							});
					}
				} );
			}
		}
	} );


	// Add Mouse helper to the TOC menu
	$document.on( 'action.build_page_toc', function() {
		jQuery( '#toc_menu .toc_menu_item' ).each( function() {
			if ( trx_addons_apply_filters( 'trx_addons_filter_mouse_helper_on_toc', TRX_ADDONS_STORAGE['mouse_helper'] > 0 ) ) {
				var $self = jQuery(this),
					title = $self.attr( 'title' ) || $self.find('.toc_menu_description_title').text();
				$self.attr( {
					'data-mouse-helper': 'hover',
					'data-mouse-helper-axis': 'y',
					'data-mouse-helper-text': TRX_ADDONS_STORAGE['msg_mouse_helper_anchor'] + ( title ? ' ' + title : '' )
				} );
			}
		} );
	} );

})();
// source --> https://www.sunshoreboston.com/wp-content/plugins/trx_addons/components/cpt/layouts/shortcodes/menu/superfish.min.js 
/*
 * jQuery Superfish Menu Plugin - v1.7.10
 * Copyright (c) 2018 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 *	http://www.opensource.org/licenses/mit-license.php
 *	http://www.gnu.org/licenses/gpl.html
 */

;!function(a,b){"use strict";var c=function(){var c={bcClass:"sf-breadcrumb",menuClass:"sf-js-enabled",anchorClass:"sf-with-ul",menuArrowClass:"sf-arrows"},d=function(){var b=/^(?![\w\W]*Windows Phone)[\w\W]*(iPhone|iPad|iPod)/i.test(navigator.userAgent);return b&&a("html").css("cursor","pointer").on("click",a.noop),b}(),e=function(){var a=document.documentElement.style;return"behavior"in a&&"fill"in a&&/iemobile/i.test(navigator.userAgent)}(),f=function(){return!!b.PointerEvent}(),g=function(a,b,d){var e,f=c.menuClass;b.cssArrows&&(f+=" "+c.menuArrowClass),e=d?"addClass":"removeClass",a[e](f)},h=function(b,d){return b.find("li."+d.pathClass).slice(0,d.pathLevels).addClass(d.hoverClass+" "+c.bcClass).filter(function(){return a(this).children(d.popUpSelector).hide().show().length}).removeClass(d.pathClass)},i=function(a,b){var d=b?"addClass":"removeClass";a.children("a")[d](c.anchorClass)},j=function(a){var b=a.css("ms-touch-action"),c=a.css("touch-action");c=c||b,c="pan-y"===c?"auto":"pan-y",a.css({"ms-touch-action":c,"touch-action":c})},k=function(a){return a.closest("."+c.menuClass)},l=function(a){return k(a).data("sfOptions")},m=function(){var b=a(this),c=l(b);clearTimeout(c.sfTimer),b.siblings().superfish("hide").end().superfish("show")},n=function(b){b.retainPath=a.inArray(this[0],b.$path)>-1,this.superfish("hide"),this.parents("."+b.hoverClass).length||(b.onIdle.call(k(this)),b.$path.length&&a.proxy(m,b.$path)())},o=function(){var b=a(this),c=l(b);d?a.proxy(n,b,c)():(clearTimeout(c.sfTimer),c.sfTimer=setTimeout(a.proxy(n,b,c),c.delay))},p=function(b){var c=a(this),d=l(c),e=c.siblings(b.data.popUpSelector);return d.onHandleTouch.call(e)===!1?this:void(e.length>0&&e.is(":hidden")&&(c.one("click.superfish",!1),"MSPointerDown"===b.type||"pointerdown"===b.type?c.trigger("focus"):a.proxy(m,c.parent("li"))()))},q=function(b,c){var g="li:has("+c.popUpSelector+")";a.fn.hoverIntent&&!c.disableHI?b.hoverIntent(m,o,g):b.on("mouseenter.superfish",g,m).on("mouseleave.superfish",g,o);var h="MSPointerDown.superfish";f&&(h="pointerdown.superfish"),d||(h+=" touchend.superfish"),e&&(h+=" mousedown.superfish"),b.on("focusin.superfish","li",m).on("focusout.superfish","li",o).on(h,"a",c,p)};return{hide:function(b){if(this.length){var c=this,d=l(c);if(!d)return this;var e=d.retainPath===!0?d.$path:"",f=c.find("li."+d.hoverClass).add(this).not(e).removeClass(d.hoverClass).children(d.popUpSelector),g=d.speedOut;if(b&&(f.show(),g=0),d.retainPath=!1,d.onBeforeHide.call(f)===!1)return this;f.stop(!0,!0).animate(d.animationOut,g,function(){var b=a(this);d.onHide.call(b)})}return this},show:function(){var a=l(this);if(!a)return this;var b=this.addClass(a.hoverClass),c=b.children(a.popUpSelector);return a.onBeforeShow.call(c)===!1?this:(c.stop(!0,!0).animate(a.animation,a.speed,function(){a.onShow.call(c)}),this)},destroy:function(){return this.each(function(){var b,d=a(this),e=d.data("sfOptions");return!!e&&(b=d.find(e.popUpSelector).parent("li"),clearTimeout(e.sfTimer),g(d,e),i(b),j(d),d.off(".superfish").off(".hoverIntent"),b.children(e.popUpSelector).attr("style",function(a,b){if("undefined"!=typeof b)return b.replace(/display[^;]+;?/g,"")}),e.$path.removeClass(e.hoverClass+" "+c.bcClass).addClass(e.pathClass),d.find("."+e.hoverClass).removeClass(e.hoverClass),e.onDestroy.call(d),void d.removeData("sfOptions"))})},init:function(b){return this.each(function(){var d=a(this);if(d.data("sfOptions"))return!1;var e=a.extend({},a.fn.superfish.defaults,b),f=d.find(e.popUpSelector).parent("li");e.$path=h(d,e),d.data("sfOptions",e),g(d,e,!0),i(f,!0),j(d),q(d,e),f.not("."+c.bcClass).superfish("hide",!0),e.onInit.call(this)})}}}();a.fn.superfish=function(b,d){return c[b]?c[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?a.error("Method "+b+" does not exist on jQuery.fn.superfish"):c.init.apply(this,arguments)},a.fn.superfish.defaults={popUpSelector:"ul,.sf-mega",hoverClass:"sfHover",pathClass:"overrideThisToUse",pathLevels:1,delay:800,animation:{opacity:"show"},animationOut:{opacity:"hide"},speed:"normal",speedOut:"fast",cssArrows:!0,disableHI:!1,onInit:a.noop,onBeforeShow:a.noop,onShow:a.noop,onBeforeHide:a.noop,onHide:a.noop,onIdle:a.noop,onDestroy:a.noop,onHandleTouch:a.noop}}(jQuery,window);
// source --> https://www.sunshoreboston.com/wp-content/plugins/trx_addons/js/swiper/swiper.min.js 
/**
 * Swiper 5.4.5
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2020 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 16, 2020
 */

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(i,s){void 0===i&&(i={}),void 0===s&&(s={}),Object.keys(s).forEach((function(a){void 0===i[a]?i[a]=s[a]:e(s[a])&&e(i[a])&&Object.keys(s[a]).length>0&&t(i[a],s[a])}))}var i="undefined"!=typeof document?document:{},s={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};t(i,s);var a="undefined"!=typeof window?window:{};t(a,{document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}}});var r=function(e){for(var t=0;t<e.length;t+=1)this[t]=e[t];return this.length=e.length,this};function n(e,t){var s=[],n=0;if(e&&!t&&e instanceof r)return e;if(e)if("string"==typeof e){var o,l,d=e.trim();if(d.indexOf("<")>=0&&d.indexOf(">")>=0){var h="div";for(0===d.indexOf("<li")&&(h="ul"),0===d.indexOf("<tr")&&(h="tbody"),0!==d.indexOf("<td")&&0!==d.indexOf("<th")||(h="tr"),0===d.indexOf("<tbody")&&(h="table"),0===d.indexOf("<option")&&(h="select"),(l=i.createElement(h)).innerHTML=d,n=0;n<l.childNodes.length;n+=1)s.push(l.childNodes[n])}else for(o=t||"#"!==e[0]||e.match(/[ .<>:~]/)?(t||i).querySelectorAll(e.trim()):[i.getElementById(e.trim().split("#")[1])],n=0;n<o.length;n+=1)o[n]&&s.push(o[n])}else if(e.nodeType||e===a||e===i)s.push(e);else if(e.length>0&&e[0].nodeType)for(n=0;n<e.length;n+=1)s.push(e[n]);return new r(s)}function o(e){for(var t=[],i=0;i<e.length;i+=1)-1===t.indexOf(e[i])&&t.push(e[i]);return t}n.fn=r.prototype,n.Class=r,n.Dom7=r;var l={addClass:function(e){if(void 0===e)return this;for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.add(t[i]);return this},removeClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.remove(t[i]);return this},hasClass:function(e){return!!this[0]&&this[0].classList.contains(e)},toggleClass:function(e){for(var t=e.split(" "),i=0;i<t.length;i+=1)for(var s=0;s<this.length;s+=1)void 0!==this[s]&&void 0!==this[s].classList&&this[s].classList.toggle(t[i]);return this},attr:function(e,t){var i=arguments;if(1===arguments.length&&"string"==typeof e)return this[0]?this[0].getAttribute(e):void 0;for(var s=0;s<this.length;s+=1)if(2===i.length)this[s].setAttribute(e,t);else for(var a in e)this[s][a]=e[a],this[s].setAttribute(a,e[a]);return this},removeAttr:function(e){for(var t=0;t<this.length;t+=1)this[t].removeAttribute(e);return this},data:function(e,t){var i;if(void 0!==t){for(var s=0;s<this.length;s+=1)(i=this[s]).dom7ElementDataStorage||(i.dom7ElementDataStorage={}),i.dom7ElementDataStorage[e]=t;return this}if(i=this[0]){if(i.dom7ElementDataStorage&&e in i.dom7ElementDataStorage)return i.dom7ElementDataStorage[e];var a=i.getAttribute("data-"+e);return a||void 0}},transform:function(e){for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransform=e,i.transform=e}return this},transition:function(e){"string"!=typeof e&&(e+="ms");for(var t=0;t<this.length;t+=1){var i=this[t].style;i.webkitTransitionDuration=e,i.transitionDuration=e}return this},on:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],o=t[3];function l(e){var t=e.target;if(t){var i=e.target.dom7EventData||[];if(i.indexOf(e)<0&&i.unshift(e),n(t).is(a))r.apply(t,i);else for(var s=n(t).parents(),o=0;o<s.length;o+=1)n(s[o]).is(a)&&r.apply(s[o],i)}}function d(e){var t=e&&e.target&&e.target.dom7EventData||[];t.indexOf(e)<0&&t.unshift(e),r.apply(this,t)}"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],o=e[2],a=void 0),o||(o=!1);for(var h,p=s.split(" "),c=0;c<this.length;c+=1){var u=this[c];if(a)for(h=0;h<p.length;h+=1){var v=p[h];u.dom7LiveListeners||(u.dom7LiveListeners={}),u.dom7LiveListeners[v]||(u.dom7LiveListeners[v]=[]),u.dom7LiveListeners[v].push({listener:r,proxyListener:l}),u.addEventListener(v,l,o)}else for(h=0;h<p.length;h+=1){var f=p[h];u.dom7Listeners||(u.dom7Listeners={}),u.dom7Listeners[f]||(u.dom7Listeners[f]=[]),u.dom7Listeners[f].push({listener:r,proxyListener:d}),u.addEventListener(f,d,o)}}return this},off:function(){for(var e,t=[],i=arguments.length;i--;)t[i]=arguments[i];var s=t[0],a=t[1],r=t[2],n=t[3];"function"==typeof t[1]&&(s=(e=t)[0],r=e[1],n=e[2],a=void 0),n||(n=!1);for(var o=s.split(" "),l=0;l<o.length;l+=1)for(var d=o[l],h=0;h<this.length;h+=1){var p=this[h],c=void 0;if(!a&&p.dom7Listeners?c=p.dom7Listeners[d]:a&&p.dom7LiveListeners&&(c=p.dom7LiveListeners[d]),c&&c.length)for(var u=c.length-1;u>=0;u-=1){var v=c[u];r&&v.listener===r||r&&v.listener&&v.listener.dom7proxy&&v.listener.dom7proxy===r?(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1)):r||(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1))}}return this},trigger:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var s=e[0].split(" "),r=e[1],n=0;n<s.length;n+=1)for(var o=s[n],l=0;l<this.length;l+=1){var d=this[l],h=void 0;try{h=new a.CustomEvent(o,{detail:r,bubbles:!0,cancelable:!0})}catch(e){(h=i.createEvent("Event")).initEvent(o,!0,!0),h.detail=r}d.dom7EventData=e.filter((function(e,t){return t>0})),d.dispatchEvent(h),d.dom7EventData=[],delete d.dom7EventData}return this},transitionEnd:function(e){var t,i=["webkitTransitionEnd","transitionend"],s=this;function a(r){if(r.target===this)for(e.call(this,r),t=0;t<i.length;t+=1)s.off(i[t],a)}if(e)for(t=0;t<i.length;t+=1)s.on(i[t],a);return this},outerWidth:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},offset:function(){if(this.length>0){var e=this[0],t=e.getBoundingClientRect(),s=i.body,r=e.clientTop||s.clientTop||0,n=e.clientLeft||s.clientLeft||0,o=e===a?a.scrollY:e.scrollTop,l=e===a?a.scrollX:e.scrollLeft;return{top:t.top+o-r,left:t.left+l-n}}return null},css:function(e,t){var i;if(1===arguments.length){if("string"!=typeof e){for(i=0;i<this.length;i+=1)for(var s in e)this[i].style[s]=e[s];return this}if(this[0])return a.getComputedStyle(this[0],null).getPropertyValue(e)}if(2===arguments.length&&"string"==typeof e){for(i=0;i<this.length;i+=1)this[i].style[e]=t;return this}return this},each:function(e){if(!e)return this;for(var t=0;t<this.length;t+=1)if(!1===e.call(this[t],t,this[t]))return this;return this},html:function(e){if(void 0===e)return this[0]?this[0].innerHTML:void 0;for(var t=0;t<this.length;t+=1)this[t].innerHTML=e;return this},text:function(e){if(void 0===e)return this[0]?this[0].textContent.trim():null;for(var t=0;t<this.length;t+=1)this[t].textContent=e;return this},is:function(e){var t,s,o=this[0];if(!o||void 0===e)return!1;if("string"==typeof e){if(o.matches)return o.matches(e);if(o.webkitMatchesSelector)return o.webkitMatchesSelector(e);if(o.msMatchesSelector)return o.msMatchesSelector(e);for(t=n(e),s=0;s<t.length;s+=1)if(t[s]===o)return!0;return!1}if(e===i)return o===i;if(e===a)return o===a;if(e.nodeType||e instanceof r){for(t=e.nodeType?[e]:e,s=0;s<t.length;s+=1)if(t[s]===o)return!0;return!1}return!1},index:function(){var e,t=this[0];if(t){for(e=0;null!==(t=t.previousSibling);)1===t.nodeType&&(e+=1);return e}},eq:function(e){if(void 0===e)return this;var t,i=this.length;return new r(e>i-1?[]:e<0?(t=i+e)<0?[]:[this[t]]:[this[e]])},append:function(){for(var e,t=[],s=arguments.length;s--;)t[s]=arguments[s];for(var a=0;a<t.length;a+=1){e=t[a];for(var n=0;n<this.length;n+=1)if("string"==typeof e){var o=i.createElement("div");for(o.innerHTML=e;o.firstChild;)this[n].appendChild(o.firstChild)}else if(e instanceof r)for(var l=0;l<e.length;l+=1)this[n].appendChild(e[l]);else this[n].appendChild(e)}return this},prepend:function(e){var t,s;for(t=0;t<this.length;t+=1)if("string"==typeof e){var a=i.createElement("div");for(a.innerHTML=e,s=a.childNodes.length-1;s>=0;s-=1)this[t].insertBefore(a.childNodes[s],this[t].childNodes[0])}else if(e instanceof r)for(s=0;s<e.length;s+=1)this[t].insertBefore(e[s],this[t].childNodes[0]);else this[t].insertBefore(e,this[t].childNodes[0]);return this},next:function(e){return this.length>0?e?this[0].nextElementSibling&&n(this[0].nextElementSibling).is(e)?new r([this[0].nextElementSibling]):new r([]):this[0].nextElementSibling?new r([this[0].nextElementSibling]):new r([]):new r([])},nextAll:function(e){var t=[],i=this[0];if(!i)return new r([]);for(;i.nextElementSibling;){var s=i.nextElementSibling;e?n(s).is(e)&&t.push(s):t.push(s),i=s}return new r(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&n(t.previousElementSibling).is(e)?new r([t.previousElementSibling]):new r([]):t.previousElementSibling?new r([t.previousElementSibling]):new r([])}return new r([])},prevAll:function(e){var t=[],i=this[0];if(!i)return new r([]);for(;i.previousElementSibling;){var s=i.previousElementSibling;e?n(s).is(e)&&t.push(s):t.push(s),i=s}return new r(t)},parent:function(e){for(var t=[],i=0;i<this.length;i+=1)null!==this[i].parentNode&&(e?n(this[i].parentNode).is(e)&&t.push(this[i].parentNode):t.push(this[i].parentNode));return n(o(t))},parents:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].parentNode;s;)e?n(s).is(e)&&t.push(s):t.push(s),s=s.parentNode;return n(o(t))},closest:function(e){var t=this;return void 0===e?new r([]):(t.is(e)||(t=t.parents(e).eq(0)),t)},find:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].querySelectorAll(e),a=0;a<s.length;a+=1)t.push(s[a]);return new r(t)},children:function(e){for(var t=[],i=0;i<this.length;i+=1)for(var s=this[i].childNodes,a=0;a<s.length;a+=1)e?1===s[a].nodeType&&n(s[a]).is(e)&&t.push(s[a]):1===s[a].nodeType&&t.push(s[a]);return new r(o(t))},filter:function(e){for(var t=[],i=0;i<this.length;i+=1)e.call(this[i],i,this[i])&&t.push(this[i]);return new r(t)},remove:function(){for(var e=0;e<this.length;e+=1)this[e].parentNode&&this[e].parentNode.removeChild(this[e]);return this},add:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a=this;for(i=0;i<e.length;i+=1){var r=n(e[i]);for(s=0;s<r.length;s+=1)a[a.length]=r[s],a.length+=1}return a},styles:function(){return this[0]?a.getComputedStyle(this[0],null):{}}};Object.keys(l).forEach((function(e){n.fn[e]=n.fn[e]||l[e]}));var d={deleteProps:function(e){var t=e;Object.keys(t).forEach((function(e){try{t[e]=null}catch(e){}try{delete t[e]}catch(e){}}))},nextTick:function(e,t){return void 0===t&&(t=0),setTimeout(e,t)},now:function(){return Date.now()},getTranslate:function(e,t){var i,s,r;void 0===t&&(t="x");var n=a.getComputedStyle(e,null);return a.WebKitCSSMatrix?((s=n.transform||n.webkitTransform).split(",").length>6&&(s=s.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),r=new a.WebKitCSSMatrix("none"===s?"":s)):i=(r=n.MozTransform||n.OTransform||n.MsTransform||n.msTransform||n.transform||n.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(s=a.WebKitCSSMatrix?r.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(s=a.WebKitCSSMatrix?r.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),s||0},parseUrlQuery:function(e){var t,i,s,r,n={},o=e||a.location.href;if("string"==typeof o&&o.length)for(r=(i=(o=o.indexOf("?")>-1?o.replace(/\S*\?/,""):"").split("&").filter((function(e){return""!==e}))).length,t=0;t<r;t+=1)s=i[t].replace(/#\S+/g,"").split("="),n[decodeURIComponent(s[0])]=void 0===s[1]?void 0:decodeURIComponent(s[1])||"";return n},isObject:function(e){return"object"==typeof e&&null!==e&&e.constructor&&e.constructor===Object},extend:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var i=Object(e[0]),s=1;s<e.length;s+=1){var a=e[s];if(null!=a)for(var r=Object.keys(Object(a)),n=0,o=r.length;n<o;n+=1){var l=r[n],h=Object.getOwnPropertyDescriptor(a,l);void 0!==h&&h.enumerable&&(d.isObject(i[l])&&d.isObject(a[l])?d.extend(i[l],a[l]):!d.isObject(i[l])&&d.isObject(a[l])?(i[l]={},d.extend(i[l],a[l])):i[l]=a[l])}}return i}},h={touch:!!("ontouchstart"in a||a.DocumentTouch&&i instanceof a.DocumentTouch),pointerEvents:!!a.PointerEvent&&"maxTouchPoints"in a.navigator&&a.navigator.maxTouchPoints>=0,observer:"MutationObserver"in a||"WebkitMutationObserver"in a,passiveListener:function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});a.addEventListener("testPassiveListener",null,t)}catch(e){}return e}(),gestures:"ongesturestart"in a},p=function(e){void 0===e&&(e={});var t=this;t.params=e,t.eventsListeners={},t.params&&t.params.on&&Object.keys(t.params.on).forEach((function(e){t.on(e,t.params.on[e])}))},c={components:{configurable:!0}};p.prototype.on=function(e,t,i){var s=this;if("function"!=typeof t)return s;var a=i?"unshift":"push";return e.split(" ").forEach((function(e){s.eventsListeners[e]||(s.eventsListeners[e]=[]),s.eventsListeners[e][a](t)})),s},p.prototype.once=function(e,t,i){var s=this;if("function"!=typeof t)return s;function a(){for(var i=[],r=arguments.length;r--;)i[r]=arguments[r];s.off(e,a),a.f7proxy&&delete a.f7proxy,t.apply(s,i)}return a.f7proxy=t,s.on(e,a,i)},p.prototype.off=function(e,t){var i=this;return i.eventsListeners?(e.split(" ").forEach((function(e){void 0===t?i.eventsListeners[e]=[]:i.eventsListeners[e]&&i.eventsListeners[e].length&&i.eventsListeners[e].forEach((function(s,a){(s===t||s.f7proxy&&s.f7proxy===t)&&i.eventsListeners[e].splice(a,1)}))})),i):i},p.prototype.emit=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a,r=this;if(!r.eventsListeners)return r;"string"==typeof e[0]||Array.isArray(e[0])?(i=e[0],s=e.slice(1,e.length),a=r):(i=e[0].events,s=e[0].data,a=e[0].context||r);var n=Array.isArray(i)?i:i.split(" ");return n.forEach((function(e){if(r.eventsListeners&&r.eventsListeners[e]){var t=[];r.eventsListeners[e].forEach((function(e){t.push(e)})),t.forEach((function(e){e.apply(a,s)}))}})),r},p.prototype.useModulesParams=function(e){var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i];s.params&&d.extend(e,s.params)}))},p.prototype.useModules=function(e){void 0===e&&(e={});var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i],a=e[i]||{};s.instance&&Object.keys(s.instance).forEach((function(e){var i=s.instance[e];t[e]="function"==typeof i?i.bind(t):i})),s.on&&t.on&&Object.keys(s.on).forEach((function(e){t.on(e,s.on[e])})),s.create&&s.create.bind(t)(a)}))},c.components.set=function(e){this.use&&this.use(e)},p.installModule=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;s.prototype.modules||(s.prototype.modules={});var a=e.name||Object.keys(s.prototype.modules).length+"_"+d.now();return s.prototype.modules[a]=e,e.proto&&Object.keys(e.proto).forEach((function(t){s.prototype[t]=e.proto[t]})),e.static&&Object.keys(e.static).forEach((function(t){s[t]=e.static[t]})),e.install&&e.install.apply(s,t),s},p.use=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;return Array.isArray(e)?(e.forEach((function(e){return s.installModule(e)})),s):s.installModule.apply(s,[e].concat(t))},Object.defineProperties(p,c);var u={updateSize:function(){var e,t,i=this.$el;e=void 0!==this.params.width?this.params.width:i[0].clientWidth,t=void 0!==this.params.height?this.params.height:i[0].clientHeight,0===e&&this.isHorizontal()||0===t&&this.isVertical()||(e=e-parseInt(i.css("padding-left"),10)-parseInt(i.css("padding-right"),10),t=t-parseInt(i.css("padding-top"),10)-parseInt(i.css("padding-bottom"),10),d.extend(this,{width:e,height:t,size:this.isHorizontal()?e:t}))},updateSlides:function(){var e=this.params,t=this.$wrapperEl,i=this.size,s=this.rtlTranslate,r=this.wrongRTL,n=this.virtual&&e.virtual.enabled,o=n?this.virtual.slides.length:this.slides.length,l=t.children("."+this.params.slideClass),h=n?this.virtual.slides.length:l.length,p=[],c=[],u=[];function v(t){return!e.cssMode||t!==l.length-1}var f=e.slidesOffsetBefore;"function"==typeof f&&(f=e.slidesOffsetBefore.call(this));var m=e.slidesOffsetAfter;"function"==typeof m&&(m=e.slidesOffsetAfter.call(this));var g=this.snapGrid.length,b=this.snapGrid.length,w=e.spaceBetween,y=-f,x=0,E=0;if(void 0!==i){var T,S;"string"==typeof w&&w.indexOf("%")>=0&&(w=parseFloat(w.replace("%",""))/100*i),this.virtualSize=-w,s?l.css({marginLeft:"",marginTop:""}):l.css({marginRight:"",marginBottom:""}),e.slidesPerColumn>1&&(T=Math.floor(h/e.slidesPerColumn)===h/this.params.slidesPerColumn?h:Math.ceil(h/e.slidesPerColumn)*e.slidesPerColumn,"auto"!==e.slidesPerView&&"row"===e.slidesPerColumnFill&&(T=Math.max(T,e.slidesPerView*e.slidesPerColumn)));for(var C,M=e.slidesPerColumn,P=T/M,z=Math.floor(h/e.slidesPerColumn),k=0;k<h;k+=1){S=0;var $=l.eq(k);if(e.slidesPerColumn>1){var L=void 0,I=void 0,D=void 0;if("row"===e.slidesPerColumnFill&&e.slidesPerGroup>1){var O=Math.floor(k/(e.slidesPerGroup*e.slidesPerColumn)),A=k-e.slidesPerColumn*e.slidesPerGroup*O,G=0===O?e.slidesPerGroup:Math.min(Math.ceil((h-O*M*e.slidesPerGroup)/M),e.slidesPerGroup);L=(I=A-(D=Math.floor(A/G))*G+O*e.slidesPerGroup)+D*T/M,$.css({"-webkit-box-ordinal-group":L,"-moz-box-ordinal-group":L,"-ms-flex-order":L,"-webkit-order":L,order:L})}else"column"===e.slidesPerColumnFill?(D=k-(I=Math.floor(k/M))*M,(I>z||I===z&&D===M-1)&&(D+=1)>=M&&(D=0,I+=1)):I=k-(D=Math.floor(k/P))*P;$.css("margin-"+(this.isHorizontal()?"top":"left"),0!==D&&e.spaceBetween&&e.spaceBetween+"px")}if("none"!==$.css("display")){if("auto"===e.slidesPerView){var H=a.getComputedStyle($[0],null),B=$[0].style.transform,N=$[0].style.webkitTransform;if(B&&($[0].style.transform="none"),N&&($[0].style.webkitTransform="none"),e.roundLengths)S=this.isHorizontal()?$.outerWidth(!0):$.outerHeight(!0);else if(this.isHorizontal()){var X=parseFloat(H.getPropertyValue("width")),V=parseFloat(H.getPropertyValue("padding-left")),Y=parseFloat(H.getPropertyValue("padding-right")),F=parseFloat(H.getPropertyValue("margin-left")),W=parseFloat(H.getPropertyValue("margin-right")),R=H.getPropertyValue("box-sizing");S=R&&"border-box"===R?X+F+W:X+V+Y+F+W}else{var q=parseFloat(H.getPropertyValue("height")),j=parseFloat(H.getPropertyValue("padding-top")),K=parseFloat(H.getPropertyValue("padding-bottom")),U=parseFloat(H.getPropertyValue("margin-top")),_=parseFloat(H.getPropertyValue("margin-bottom")),Z=H.getPropertyValue("box-sizing");S=Z&&"border-box"===Z?q+U+_:q+j+K+U+_}B&&($[0].style.transform=B),N&&($[0].style.webkitTransform=N),e.roundLengths&&(S=Math.floor(S))}else S=(i-(e.slidesPerView-1)*w)/e.slidesPerView,e.roundLengths&&(S=Math.floor(S)),l[k]&&(this.isHorizontal()?l[k].style.width=S+"px":l[k].style.height=S+"px");l[k]&&(l[k].swiperSlideSize=S),u.push(S),e.centeredSlides?(y=y+S/2+x/2+w,0===x&&0!==k&&(y=y-i/2-w),0===k&&(y=y-i/2-w),Math.abs(y)<.001&&(y=0),e.roundLengths&&(y=Math.floor(y)),E%e.slidesPerGroup==0&&p.push(y),c.push(y)):(e.roundLengths&&(y=Math.floor(y)),(E-Math.min(this.params.slidesPerGroupSkip,E))%this.params.slidesPerGroup==0&&p.push(y),c.push(y),y=y+S+w),this.virtualSize+=S+w,x=S,E+=1}}if(this.virtualSize=Math.max(this.virtualSize,i)+m,s&&r&&("slide"===e.effect||"coverflow"===e.effect)&&t.css({width:this.virtualSize+e.spaceBetween+"px"}),e.setWrapperSize&&(this.isHorizontal()?t.css({width:this.virtualSize+e.spaceBetween+"px"}):t.css({height:this.virtualSize+e.spaceBetween+"px"})),e.slidesPerColumn>1&&(this.virtualSize=(S+e.spaceBetween)*T,this.virtualSize=Math.ceil(this.virtualSize/e.slidesPerColumn)-e.spaceBetween,this.isHorizontal()?t.css({width:this.virtualSize+e.spaceBetween+"px"}):t.css({height:this.virtualSize+e.spaceBetween+"px"}),e.centeredSlides)){C=[];for(var Q=0;Q<p.length;Q+=1){var J=p[Q];e.roundLengths&&(J=Math.floor(J)),p[Q]<this.virtualSize+p[0]&&C.push(J)}p=C}if(!e.centeredSlides){C=[];for(var ee=0;ee<p.length;ee+=1){var te=p[ee];e.roundLengths&&(te=Math.floor(te)),p[ee]<=this.virtualSize-i&&C.push(te)}p=C,Math.floor(this.virtualSize-i)-Math.floor(p[p.length-1])>1&&p.push(this.virtualSize-i)}if(0===p.length&&(p=[0]),0!==e.spaceBetween&&(this.isHorizontal()?s?l.filter(v).css({marginLeft:w+"px"}):l.filter(v).css({marginRight:w+"px"}):l.filter(v).css({marginBottom:w+"px"})),e.centeredSlides&&e.centeredSlidesBounds){var ie=0;u.forEach((function(t){ie+=t+(e.spaceBetween?e.spaceBetween:0)}));var se=(ie-=e.spaceBetween)-i;p=p.map((function(e){return e<0?-f:e>se?se+m:e}))}if(e.centerInsufficientSlides){var ae=0;if(u.forEach((function(t){ae+=t+(e.spaceBetween?e.spaceBetween:0)})),(ae-=e.spaceBetween)<i){var re=(i-ae)/2;p.forEach((function(e,t){p[t]=e-re})),c.forEach((function(e,t){c[t]=e+re}))}}d.extend(this,{slides:l,snapGrid:p,slidesGrid:c,slidesSizesGrid:u}),h!==o&&this.emit("slidesLengthChange"),p.length!==g&&(this.params.watchOverflow&&this.checkOverflow(),this.emit("snapGridLengthChange")),c.length!==b&&this.emit("slidesGridLengthChange"),(e.watchSlidesProgress||e.watchSlidesVisibility)&&this.updateSlidesOffset()}},updateAutoHeight:function(e){var t,i=[],s=0;if("number"==typeof e?this.setTransition(e):!0===e&&this.setTransition(this.params.speed),"auto"!==this.params.slidesPerView&&this.params.slidesPerView>1)if(this.params.centeredSlides)this.visibleSlides.each((function(e,t){i.push(t)}));else for(t=0;t<Math.ceil(this.params.slidesPerView);t+=1){var a=this.activeIndex+t;if(a>this.slides.length)break;i.push(this.slides.eq(a)[0])}else i.push(this.slides.eq(this.activeIndex)[0]);for(t=0;t<i.length;t+=1)if(void 0!==i[t]){var r=i[t].offsetHeight;s=r>s?r:s}s&&this.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t<e.length;t+=1)e[t].swiperSlideOffset=this.isHorizontal()?e[t].offsetLeft:e[t].offsetTop},updateSlidesProgress:function(e){void 0===e&&(e=this&&this.translate||0);var t=this.params,i=this.slides,s=this.rtlTranslate;if(0!==i.length){void 0===i[0].swiperSlideOffset&&this.updateSlidesOffset();var a=-e;s&&(a=e),i.removeClass(t.slideVisibleClass),this.visibleSlidesIndexes=[],this.visibleSlides=[];for(var r=0;r<i.length;r+=1){var o=i[r],l=(a+(t.centeredSlides?this.minTranslate():0)-o.swiperSlideOffset)/(o.swiperSlideSize+t.spaceBetween);if(t.watchSlidesVisibility||t.centeredSlides&&t.autoHeight){var d=-(a-o.swiperSlideOffset),h=d+this.slidesSizesGrid[r];(d>=0&&d<this.size-1||h>1&&h<=this.size||d<=0&&h>=this.size)&&(this.visibleSlides.push(o),this.visibleSlidesIndexes.push(r),i.eq(r).addClass(t.slideVisibleClass))}o.progress=s?-l:l}this.visibleSlides=n(this.visibleSlides)}},updateProgress:function(e){if(void 0===e){var t=this.rtlTranslate?-1:1;e=this&&this.translate&&this.translate*t||0}var i=this.params,s=this.maxTranslate()-this.minTranslate(),a=this.progress,r=this.isBeginning,n=this.isEnd,o=r,l=n;0===s?(a=0,r=!0,n=!0):(r=(a=(e-this.minTranslate())/s)<=0,n=a>=1),d.extend(this,{progress:a,isBeginning:r,isEnd:n}),(i.watchSlidesProgress||i.watchSlidesVisibility||i.centeredSlides&&i.autoHeight)&&this.updateSlidesProgress(e),r&&!o&&this.emit("reachBeginning toEdge"),n&&!l&&this.emit("reachEnd toEdge"),(o&&!r||l&&!n)&&this.emit("fromEdge"),this.emit("progress",a)},updateSlidesClasses:function(){var e,t=this.slides,i=this.params,s=this.$wrapperEl,a=this.activeIndex,r=this.realIndex,n=this.virtual&&i.virtual.enabled;t.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=n?this.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+a+'"]'):t.eq(a)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass));var o=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===o.length&&(o=t.eq(0)).addClass(i.slideNextClass);var l=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===l.length&&(l=t.eq(-1)).addClass(i.slidePrevClass),i.loop&&(o.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),l.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass))},updateActiveIndex:function(e){var t,i=this.rtlTranslate?this.translate:-this.translate,s=this.slidesGrid,a=this.snapGrid,r=this.params,n=this.activeIndex,o=this.realIndex,l=this.snapIndex,h=e;if(void 0===h){for(var p=0;p<s.length;p+=1)void 0!==s[p+1]?i>=s[p]&&i<s[p+1]-(s[p+1]-s[p])/2?h=p:i>=s[p]&&i<s[p+1]&&(h=p+1):i>=s[p]&&(h=p);r.normalizeSlideIndex&&(h<0||void 0===h)&&(h=0)}if(a.indexOf(i)>=0)t=a.indexOf(i);else{var c=Math.min(r.slidesPerGroupSkip,h);t=c+Math.floor((h-c)/r.slidesPerGroup)}if(t>=a.length&&(t=a.length-1),h!==n){var u=parseInt(this.slides.eq(h).attr("data-swiper-slide-index")||h,10);d.extend(this,{snapIndex:t,realIndex:u,previousIndex:n,activeIndex:h}),this.emit("activeIndexChange"),this.emit("snapIndexChange"),o!==u&&this.emit("realIndexChange"),(this.initialized||this.params.runCallbacksOnInit)&&this.emit("slideChange")}else t!==l&&(this.snapIndex=t,this.emit("snapIndexChange"))},updateClickedSlide:function(e){var t=this.params,i=n(e.target).closest("."+t.slideClass)[0],s=!1;if(i)for(var a=0;a<this.slides.length;a+=1)this.slides[a]===i&&(s=!0);if(!i||!s)return this.clickedSlide=void 0,void(this.clickedIndex=void 0);this.clickedSlide=i,this.virtual&&this.params.virtual.enabled?this.clickedIndex=parseInt(n(i).attr("data-swiper-slide-index"),10):this.clickedIndex=n(i).index(),t.slideToClickedSlide&&void 0!==this.clickedIndex&&this.clickedIndex!==this.activeIndex&&this.slideToClickedSlide()}};var v={getTranslate:function(e){void 0===e&&(e=this.isHorizontal()?"x":"y");var t=this.params,i=this.rtlTranslate,s=this.translate,a=this.$wrapperEl;if(t.virtualTranslate)return i?-s:s;if(t.cssMode)return s;var r=d.getTranslate(a[0],e);return i&&(r=-r),r||0},setTranslate:function(e,t){var i=this.rtlTranslate,s=this.params,a=this.$wrapperEl,r=this.wrapperEl,n=this.progress,o=0,l=0;this.isHorizontal()?o=i?-e:e:l=e,s.roundLengths&&(o=Math.floor(o),l=Math.floor(l)),s.cssMode?r[this.isHorizontal()?"scrollLeft":"scrollTop"]=this.isHorizontal()?-o:-l:s.virtualTranslate||a.transform("translate3d("+o+"px, "+l+"px, 0px)"),this.previousTranslate=this.translate,this.translate=this.isHorizontal()?o:l;var d=this.maxTranslate()-this.minTranslate();(0===d?0:(e-this.minTranslate())/d)!==n&&this.updateProgress(e),this.emit("setTranslate",this.translate,t)},minTranslate:function(){return-this.snapGrid[0]},maxTranslate:function(){return-this.snapGrid[this.snapGrid.length-1]},translateTo:function(e,t,i,s,a){var r;void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0),void 0===s&&(s=!0);var n=this,o=n.params,l=n.wrapperEl;if(n.animating&&o.preventInteractionOnTransition)return!1;var d,h=n.minTranslate(),p=n.maxTranslate();if(d=s&&e>h?h:s&&e<p?p:e,n.updateProgress(d),o.cssMode){var c=n.isHorizontal();return 0===t?l[c?"scrollLeft":"scrollTop"]=-d:l.scrollTo?l.scrollTo(((r={})[c?"left":"top"]=-d,r.behavior="smooth",r)):l[c?"scrollLeft":"scrollTop"]=-d,!0}return 0===t?(n.setTransition(0),n.setTranslate(d),i&&(n.emit("beforeTransitionStart",t,a),n.emit("transitionEnd"))):(n.setTransition(t),n.setTranslate(d),i&&(n.emit("beforeTransitionStart",t,a),n.emit("transitionStart")),n.animating||(n.animating=!0,n.onTranslateToWrapperTransitionEnd||(n.onTranslateToWrapperTransitionEnd=function(e){n&&!n.destroyed&&e.target===this&&(n.$wrapperEl[0].removeEventListener("transitionend",n.onTranslateToWrapperTransitionEnd),n.$wrapperEl[0].removeEventListener("webkitTransitionEnd",n.onTranslateToWrapperTransitionEnd),n.onTranslateToWrapperTransitionEnd=null,delete n.onTranslateToWrapperTransitionEnd,i&&n.emit("transitionEnd"))}),n.$wrapperEl[0].addEventListener("transitionend",n.onTranslateToWrapperTransitionEnd),n.$wrapperEl[0].addEventListener("webkitTransitionEnd",n.onTranslateToWrapperTransitionEnd))),!0}};var f={setTransition:function(e,t){this.params.cssMode||this.$wrapperEl.transition(e),this.emit("setTransition",e,t)},transitionStart:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.params,a=this.previousIndex;if(!s.cssMode){s.autoHeight&&this.updateAutoHeight();var r=t;if(r||(r=i>a?"next":i<a?"prev":"reset"),this.emit("transitionStart"),e&&i!==a){if("reset"===r)return void this.emit("slideResetTransitionStart");this.emit("slideChangeTransitionStart"),"next"===r?this.emit("slideNextTransitionStart"):this.emit("slidePrevTransitionStart")}}},transitionEnd:function(e,t){void 0===e&&(e=!0);var i=this.activeIndex,s=this.previousIndex,a=this.params;if(this.animating=!1,!a.cssMode){this.setTransition(0);var r=t;if(r||(r=i>s?"next":i<s?"prev":"reset"),this.emit("transitionEnd"),e&&i!==s){if("reset"===r)return void this.emit("slideResetTransitionEnd");this.emit("slideChangeTransitionEnd"),"next"===r?this.emit("slideNextTransitionEnd"):this.emit("slidePrevTransitionEnd")}}}};var m={slideTo:function(e,t,i,s){var a;void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var r=this,n=e;n<0&&(n=0);var o=r.params,l=r.snapGrid,d=r.slidesGrid,h=r.previousIndex,p=r.activeIndex,c=r.rtlTranslate,u=r.wrapperEl;if(r.animating&&o.preventInteractionOnTransition)return!1;var v=Math.min(r.params.slidesPerGroupSkip,n),f=v+Math.floor((n-v)/r.params.slidesPerGroup);f>=l.length&&(f=l.length-1),(p||o.initialSlide||0)===(h||0)&&i&&r.emit("beforeSlideChangeStart");var m,g=-l[f];if(r.updateProgress(g),o.normalizeSlideIndex)for(var b=0;b<d.length;b+=1)-Math.floor(100*g)>=Math.floor(100*d[b])&&(n=b);if(r.initialized&&n!==p){if(!r.allowSlideNext&&g<r.translate&&g<r.minTranslate())return!1;if(!r.allowSlidePrev&&g>r.translate&&g>r.maxTranslate()&&(p||0)!==n)return!1}if(m=n>p?"next":n<p?"prev":"reset",c&&-g===r.translate||!c&&g===r.translate)return r.updateActiveIndex(n),o.autoHeight&&r.updateAutoHeight(),r.updateSlidesClasses(),"slide"!==o.effect&&r.setTranslate(g),"reset"!==m&&(r.transitionStart(i,m),r.transitionEnd(i,m)),!1;if(o.cssMode){var w=r.isHorizontal(),y=-g;return c&&(y=u.scrollWidth-u.offsetWidth-y),0===t?u[w?"scrollLeft":"scrollTop"]=y:u.scrollTo?u.scrollTo(((a={})[w?"left":"top"]=y,a.behavior="smooth",a)):u[w?"scrollLeft":"scrollTop"]=y,!0}return 0===t?(r.setTransition(0),r.setTranslate(g),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,m),r.transitionEnd(i,m)):(r.setTransition(t),r.setTranslate(g),r.updateActiveIndex(n),r.updateSlidesClasses(),r.emit("beforeTransitionStart",t,s),r.transitionStart(i,m),r.animating||(r.animating=!0,r.onSlideToWrapperTransitionEnd||(r.onSlideToWrapperTransitionEnd=function(e){r&&!r.destroyed&&e.target===this&&(r.$wrapperEl[0].removeEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].removeEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd),r.onSlideToWrapperTransitionEnd=null,delete r.onSlideToWrapperTransitionEnd,r.transitionEnd(i,m))}),r.$wrapperEl[0].addEventListener("transitionend",r.onSlideToWrapperTransitionEnd),r.$wrapperEl[0].addEventListener("webkitTransitionEnd",r.onSlideToWrapperTransitionEnd))),!0},slideToLoop:function(e,t,i,s){void 0===e&&(e=0),void 0===t&&(t=this.params.speed),void 0===i&&(i=!0);var a=e;return this.params.loop&&(a+=this.loopedSlides),this.slideTo(a,t,i,s)},slideNext:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating,r=this.activeIndex<s.slidesPerGroupSkip?1:s.slidesPerGroup;if(s.loop){if(a)return!1;this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft}return this.slideTo(this.activeIndex+r,e,t,i)},slidePrev:function(e,t,i){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0);var s=this.params,a=this.animating,r=this.snapGrid,n=this.slidesGrid,o=this.rtlTranslate;if(s.loop){if(a)return!1;this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft}function l(e){return e<0?-Math.floor(Math.abs(e)):Math.floor(e)}var d,h=l(o?this.translate:-this.translate),p=r.map((function(e){return l(e)})),c=(n.map((function(e){return l(e)})),r[p.indexOf(h)],r[p.indexOf(h)-1]);return void 0===c&&s.cssMode&&r.forEach((function(e){!c&&h>=e&&(c=e)})),void 0!==c&&(d=n.indexOf(c))<0&&(d=this.activeIndex-1),this.slideTo(d,e,t,i)},slideReset:function(e,t,i){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,i)},slideToClosest:function(e,t,i,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===s&&(s=.5);var a=this.activeIndex,r=Math.min(this.params.slidesPerGroupSkip,a),n=r+Math.floor((a-r)/this.params.slidesPerGroup),o=this.rtlTranslate?this.translate:-this.translate;if(o>=this.snapGrid[n]){var l=this.snapGrid[n];o-l>(this.snapGrid[n+1]-l)*s&&(a+=this.params.slidesPerGroup)}else{var d=this.snapGrid[n-1];o-d<=(this.snapGrid[n]-d)*s&&(a-=this.params.slidesPerGroup)}return a=Math.max(a,0),a=Math.min(a,this.slidesGrid.length-1),this.slideTo(a,e,t,i)},slideToClickedSlide:function(){var e,t=this,i=t.params,s=t.$wrapperEl,a="auto"===i.slidesPerView?t.slidesPerViewDynamic():i.slidesPerView,r=t.clickedIndex;if(i.loop){if(t.animating)return;e=parseInt(n(t.clickedSlide).attr("data-swiper-slide-index"),10),i.centeredSlides?r<t.loopedSlides-a/2||r>t.slides.length-t.loopedSlides+a/2?(t.loopFix(),r=s.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),d.nextTick((function(){t.slideTo(r)}))):t.slideTo(r):r>t.slides.length-a?(t.loopFix(),r=s.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),d.nextTick((function(){t.slideTo(r)}))):t.slideTo(r)}else t.slideTo(r)}};var g={loopCreate:function(){var e=this,t=e.params,s=e.$wrapperEl;s.children("."+t.slideClass+"."+t.slideDuplicateClass).remove();var a=s.children("."+t.slideClass);if(t.loopFillGroupWithBlank){var r=t.slidesPerGroup-a.length%t.slidesPerGroup;if(r!==t.slidesPerGroup){for(var o=0;o<r;o+=1){var l=n(i.createElement("div")).addClass(t.slideClass+" "+t.slideBlankClass);s.append(l)}a=s.children("."+t.slideClass)}}"auto"!==t.slidesPerView||t.loopedSlides||(t.loopedSlides=a.length),e.loopedSlides=Math.ceil(parseFloat(t.loopedSlides||t.slidesPerView,10)),e.loopedSlides+=t.loopAdditionalSlides,e.loopedSlides>a.length&&(e.loopedSlides=a.length);var d=[],h=[];a.each((function(t,i){var s=n(i);t<e.loopedSlides&&h.push(i),t<a.length&&t>=a.length-e.loopedSlides&&d.push(i),s.attr("data-swiper-slide-index",t)}));for(var p=0;p<h.length;p+=1)s.append(n(h[p].cloneNode(!0)).addClass(t.slideDuplicateClass));for(var c=d.length-1;c>=0;c-=1)s.prepend(n(d[c].cloneNode(!0)).addClass(t.slideDuplicateClass))},loopFix:function(){this.emit("beforeLoopFix");var e,t=this.activeIndex,i=this.slides,s=this.loopedSlides,a=this.allowSlidePrev,r=this.allowSlideNext,n=this.snapGrid,o=this.rtlTranslate;this.allowSlidePrev=!0,this.allowSlideNext=!0;var l=-n[t]-this.getTranslate();if(t<s)e=i.length-3*s+t,e+=s,this.slideTo(e,0,!1,!0)&&0!==l&&this.setTranslate((o?-this.translate:this.translate)-l);else if(t>=i.length-s){e=-i.length+t+s,e+=s,this.slideTo(e,0,!1,!0)&&0!==l&&this.setTranslate((o?-this.translate:this.translate)-l)}this.allowSlidePrev=a,this.allowSlideNext=r,this.emit("loopFix")},loopDestroy:function(){var e=this.$wrapperEl,t=this.params,i=this.slides;e.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),i.removeAttr("data-swiper-slide-index")}};var b={setGrabCursor:function(e){if(!(h.touch||!this.params.simulateTouch||this.params.watchOverflow&&this.isLocked||this.params.cssMode)){var t=this.el;t.style.cursor="move",t.style.cursor=e?"-webkit-grabbing":"-webkit-grab",t.style.cursor=e?"-moz-grabbin":"-moz-grab",t.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){h.touch||this.params.watchOverflow&&this.isLocked||this.params.cssMode||(this.el.style.cursor="")}};var w,y,x,E,T,S,C,M,P,z,k,$,L,I,D,O={appendSlide:function(e){var t=this.$wrapperEl,i=this.params;if(i.loop&&this.loopDestroy(),"object"==typeof e&&"length"in e)for(var s=0;s<e.length;s+=1)e[s]&&t.append(e[s]);else t.append(e);i.loop&&this.loopCreate(),i.observer&&h.observer||this.update()},prependSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&this.loopDestroy();var a=s+1;if("object"==typeof e&&"length"in e){for(var r=0;r<e.length;r+=1)e[r]&&i.prepend(e[r]);a=s+e.length}else i.prepend(e);t.loop&&this.loopCreate(),t.observer&&h.observer||this.update(),this.slideTo(a,0,!1)},addSlide:function(e,t){var i=this.$wrapperEl,s=this.params,a=this.activeIndex;s.loop&&(a-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+s.slideClass));var r=this.slides.length;if(e<=0)this.prependSlide(t);else if(e>=r)this.appendSlide(t);else{for(var n=a>e?a+1:a,o=[],l=r-1;l>=e;l-=1){var d=this.slides.eq(l);d.remove(),o.unshift(d)}if("object"==typeof t&&"length"in t){for(var p=0;p<t.length;p+=1)t[p]&&i.append(t[p]);n=a>e?a+t.length:a}else i.append(t);for(var c=0;c<o.length;c+=1)i.append(o[c]);s.loop&&this.loopCreate(),s.observer&&h.observer||this.update(),s.loop?this.slideTo(n+this.loopedSlides,0,!1):this.slideTo(n,0,!1)}},removeSlide:function(e){var t=this.params,i=this.$wrapperEl,s=this.activeIndex;t.loop&&(s-=this.loopedSlides,this.loopDestroy(),this.slides=i.children("."+t.slideClass));var a,r=s;if("object"==typeof e&&"length"in e){for(var n=0;n<e.length;n+=1)a=e[n],this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1);r=Math.max(r,0)}else a=e,this.slides[a]&&this.slides.eq(a).remove(),a<r&&(r-=1),r=Math.max(r,0);t.loop&&this.loopCreate(),t.observer&&h.observer||this.update(),t.loop?this.slideTo(r+this.loopedSlides,0,!1):this.slideTo(r,0,!1)},removeAllSlides:function(){for(var e=[],t=0;t<this.slides.length;t+=1)e.push(t);this.removeSlide(e)}},A=(w=a.navigator.platform,y=a.navigator.userAgent,x={ios:!1,android:!1,androidChrome:!1,desktop:!1,iphone:!1,ipod:!1,ipad:!1,edge:!1,ie:!1,firefox:!1,macos:!1,windows:!1,cordova:!(!a.cordova&&!a.phonegap),phonegap:!(!a.cordova&&!a.phonegap),electron:!1},E=a.screen.width,T=a.screen.height,S=y.match(/(Android);?[\s\/]+([\d.]+)?/),C=y.match(/(iPad).*OS\s([\d_]+)/),M=y.match(/(iPod)(.*OS\s([\d_]+))?/),P=!C&&y.match(/(iPhone\sOS|iOS)\s([\d_]+)/),z=y.indexOf("MSIE ")>=0||y.indexOf("Trident/")>=0,k=y.indexOf("Edge/")>=0,$=y.indexOf("Gecko/")>=0&&y.indexOf("Firefox/")>=0,L="Win32"===w,I=y.toLowerCase().indexOf("electron")>=0,D="MacIntel"===w,!C&&D&&h.touch&&(1024===E&&1366===T||834===E&&1194===T||834===E&&1112===T||768===E&&1024===T)&&(C=y.match(/(Version)\/([\d.]+)/),D=!1),x.ie=z,x.edge=k,x.firefox=$,S&&!L&&(x.os="android",x.osVersion=S[2],x.android=!0,x.androidChrome=y.toLowerCase().indexOf("chrome")>=0),(C||P||M)&&(x.os="ios",x.ios=!0),P&&!M&&(x.osVersion=P[2].replace(/_/g,"."),x.iphone=!0),C&&(x.osVersion=C[2].replace(/_/g,"."),x.ipad=!0),M&&(x.osVersion=M[3]?M[3].replace(/_/g,"."):null,x.ipod=!0),x.ios&&x.osVersion&&y.indexOf("Version/")>=0&&"10"===x.osVersion.split(".")[0]&&(x.osVersion=y.toLowerCase().split("version/")[1].split(" ")[0]),x.webView=!(!(P||C||M)||!y.match(/.*AppleWebKit(?!.*Safari)/i)&&!a.navigator.standalone)||a.matchMedia&&a.matchMedia("(display-mode: standalone)").matches,x.webview=x.webView,x.standalone=x.webView,x.desktop=!(x.ios||x.android)||I,x.desktop&&(x.electron=I,x.macos=D,x.windows=L,x.macos&&(x.os="macos"),x.windows&&(x.os="windows")),x.pixelRatio=a.devicePixelRatio||1,x);function G(e){var t=this.touchEventsData,s=this.params,r=this.touches;if(!this.animating||!s.preventInteractionOnTransition){var o=e;o.originalEvent&&(o=o.originalEvent);var l=n(o.target);if(("wrapper"!==s.touchEventsTarget||l.closest(this.wrapperEl).length)&&(t.isTouchEvent="touchstart"===o.type,(t.isTouchEvent||!("which"in o)||3!==o.which)&&!(!t.isTouchEvent&&"button"in o&&o.button>0||t.isTouched&&t.isMoved)))if(s.noSwiping&&l.closest(s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass)[0])this.allowClick=!0;else if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){r.currentX="touchstart"===o.type?o.targetTouches[0].pageX:o.pageX,r.currentY="touchstart"===o.type?o.targetTouches[0].pageY:o.pageY;var h=r.currentX,p=r.currentY,c=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,u=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(!c||!(h<=u||h>=a.screen.width-u)){if(d.extend(t,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),r.startX=h,r.startY=p,t.touchStartTime=d.now(),this.allowClick=!0,this.updateSize(),this.swipeDirection=void 0,s.threshold>0&&(t.allowThresholdMove=!1),"touchstart"!==o.type){var v=!0;l.is(t.formElements)&&(v=!1),i.activeElement&&n(i.activeElement).is(t.formElements)&&i.activeElement!==l[0]&&i.activeElement.blur();var f=v&&this.allowTouchMove&&s.touchStartPreventDefault;(s.touchStartForcePreventDefault||f)&&o.preventDefault()}this.emit("touchStart",o)}}}}function H(e){var t=this.touchEventsData,s=this.params,a=this.touches,r=this.rtlTranslate,o=e;if(o.originalEvent&&(o=o.originalEvent),t.isTouched){if(!t.isTouchEvent||"touchmove"===o.type){var l="touchmove"===o.type&&o.targetTouches&&(o.targetTouches[0]||o.changedTouches[0]),h="touchmove"===o.type?l.pageX:o.pageX,p="touchmove"===o.type?l.pageY:o.pageY;if(o.preventedByNestedSwiper)return a.startX=h,void(a.startY=p);if(!this.allowTouchMove)return this.allowClick=!1,void(t.isTouched&&(d.extend(a,{startX:h,startY:p,currentX:h,currentY:p}),t.touchStartTime=d.now()));if(t.isTouchEvent&&s.touchReleaseOnEdges&&!s.loop)if(this.isVertical()){if(p<a.startY&&this.translate<=this.maxTranslate()||p>a.startY&&this.translate>=this.minTranslate())return t.isTouched=!1,void(t.isMoved=!1)}else if(h<a.startX&&this.translate<=this.maxTranslate()||h>a.startX&&this.translate>=this.minTranslate())return;if(t.isTouchEvent&&i.activeElement&&o.target===i.activeElement&&n(o.target).is(t.formElements))return t.isMoved=!0,void(this.allowClick=!1);if(t.allowTouchCallbacks&&this.emit("touchMove",o),!(o.targetTouches&&o.targetTouches.length>1)){a.currentX=h,a.currentY=p;var c=a.currentX-a.startX,u=a.currentY-a.startY;if(!(this.params.threshold&&Math.sqrt(Math.pow(c,2)+Math.pow(u,2))<this.params.threshold)){var v;if(void 0===t.isScrolling)this.isHorizontal()&&a.currentY===a.startY||this.isVertical()&&a.currentX===a.startX?t.isScrolling=!1:c*c+u*u>=25&&(v=180*Math.atan2(Math.abs(u),Math.abs(c))/Math.PI,t.isScrolling=this.isHorizontal()?v>s.touchAngle:90-v>s.touchAngle);if(t.isScrolling&&this.emit("touchMoveOpposite",o),void 0===t.startMoving&&(a.currentX===a.startX&&a.currentY===a.startY||(t.startMoving=!0)),t.isScrolling)t.isTouched=!1;else if(t.startMoving){this.allowClick=!1,!s.cssMode&&o.cancelable&&o.preventDefault(),s.touchMoveStopPropagation&&!s.nested&&o.stopPropagation(),t.isMoved||(s.loop&&this.loopFix(),t.startTranslate=this.getTranslate(),this.setTransition(0),this.animating&&this.$wrapperEl.trigger("webkitTransitionEnd transitionend"),t.allowMomentumBounce=!1,!s.grabCursor||!0!==this.allowSlideNext&&!0!==this.allowSlidePrev||this.setGrabCursor(!0),this.emit("sliderFirstMove",o)),this.emit("sliderMove",o),t.isMoved=!0;var f=this.isHorizontal()?c:u;a.diff=f,f*=s.touchRatio,r&&(f=-f),this.swipeDirection=f>0?"prev":"next",t.currentTranslate=f+t.startTranslate;var m=!0,g=s.resistanceRatio;if(s.touchReleaseOnEdges&&(g=0),f>0&&t.currentTranslate>this.minTranslate()?(m=!1,s.resistance&&(t.currentTranslate=this.minTranslate()-1+Math.pow(-this.minTranslate()+t.startTranslate+f,g))):f<0&&t.currentTranslate<this.maxTranslate()&&(m=!1,s.resistance&&(t.currentTranslate=this.maxTranslate()+1-Math.pow(this.maxTranslate()-t.startTranslate-f,g))),m&&(o.preventedByNestedSwiper=!0),!this.allowSlideNext&&"next"===this.swipeDirection&&t.currentTranslate<t.startTranslate&&(t.currentTranslate=t.startTranslate),!this.allowSlidePrev&&"prev"===this.swipeDirection&&t.currentTranslate>t.startTranslate&&(t.currentTranslate=t.startTranslate),s.threshold>0){if(!(Math.abs(f)>s.threshold||t.allowThresholdMove))return void(t.currentTranslate=t.startTranslate);if(!t.allowThresholdMove)return t.allowThresholdMove=!0,a.startX=a.currentX,a.startY=a.currentY,t.currentTranslate=t.startTranslate,void(a.diff=this.isHorizontal()?a.currentX-a.startX:a.currentY-a.startY)}s.followFinger&&!s.cssMode&&((s.freeMode||s.watchSlidesProgress||s.watchSlidesVisibility)&&(this.updateActiveIndex(),this.updateSlidesClasses()),s.freeMode&&(0===t.velocities.length&&t.velocities.push({position:a[this.isHorizontal()?"startX":"startY"],time:t.touchStartTime}),t.velocities.push({position:a[this.isHorizontal()?"currentX":"currentY"],time:d.now()})),this.updateProgress(t.currentTranslate),this.setTranslate(t.currentTranslate))}}}}}else t.startMoving&&t.isScrolling&&this.emit("touchMoveOpposite",o)}function B(e){var t=this,i=t.touchEventsData,s=t.params,a=t.touches,r=t.rtlTranslate,n=t.$wrapperEl,o=t.slidesGrid,l=t.snapGrid,h=e;if(h.originalEvent&&(h=h.originalEvent),i.allowTouchCallbacks&&t.emit("touchEnd",h),i.allowTouchCallbacks=!1,!i.isTouched)return i.isMoved&&s.grabCursor&&t.setGrabCursor(!1),i.isMoved=!1,void(i.startMoving=!1);s.grabCursor&&i.isMoved&&i.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var p,c=d.now(),u=c-i.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(h),t.emit("tap click",h),u<300&&c-i.lastClickTime<300&&t.emit("doubleTap doubleClick",h)),i.lastClickTime=d.now(),d.nextTick((function(){t.destroyed||(t.allowClick=!0)})),!i.isTouched||!i.isMoved||!t.swipeDirection||0===a.diff||i.currentTranslate===i.startTranslate)return i.isTouched=!1,i.isMoved=!1,void(i.startMoving=!1);if(i.isTouched=!1,i.isMoved=!1,i.startMoving=!1,p=s.followFinger?r?t.translate:-t.translate:-i.currentTranslate,!s.cssMode)if(s.freeMode){if(p<-t.minTranslate())return void t.slideTo(t.activeIndex);if(p>-t.maxTranslate())return void(t.slides.length<l.length?t.slideTo(l.length-1):t.slideTo(t.slides.length-1));if(s.freeModeMomentum){if(i.velocities.length>1){var v=i.velocities.pop(),f=i.velocities.pop(),m=v.position-f.position,g=v.time-f.time;t.velocity=m/g,t.velocity/=2,Math.abs(t.velocity)<s.freeModeMinimumVelocity&&(t.velocity=0),(g>150||d.now()-v.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=s.freeModeMomentumVelocityRatio,i.velocities.length=0;var b=1e3*s.freeModeMomentumRatio,w=t.velocity*b,y=t.translate+w;r&&(y=-y);var x,E,T=!1,S=20*Math.abs(t.velocity)*s.freeModeMomentumBounceRatio;if(y<t.maxTranslate())s.freeModeMomentumBounce?(y+t.maxTranslate()<-S&&(y=t.maxTranslate()-S),x=t.maxTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.maxTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(y>t.minTranslate())s.freeModeMomentumBounce?(y-t.minTranslate()>S&&(y=t.minTranslate()+S),x=t.minTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.minTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(s.freeModeSticky){for(var C,M=0;M<l.length;M+=1)if(l[M]>-y){C=M;break}y=-(y=Math.abs(l[C]-y)<Math.abs(l[C-1]-y)||"next"===t.swipeDirection?l[C]:l[C-1])}if(E&&t.once("transitionEnd",(function(){t.loopFix()})),0!==t.velocity){if(b=r?Math.abs((-y-t.translate)/t.velocity):Math.abs((y-t.translate)/t.velocity),s.freeModeSticky){var P=Math.abs((r?-y:y)-t.translate),z=t.slidesSizesGrid[t.activeIndex];b=P<z?s.speed:P<2*z?1.5*s.speed:2.5*s.speed}}else if(s.freeModeSticky)return void t.slideToClosest();s.freeModeMomentumBounce&&T?(t.updateProgress(x),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating=!0,n.transitionEnd((function(){t&&!t.destroyed&&i.allowMomentumBounce&&(t.emit("momentumBounce"),t.setTransition(s.speed),setTimeout((function(){t.setTranslate(x),n.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()}))}),0))}))):t.velocity?(t.updateProgress(y),t.setTransition(b),t.setTranslate(y),t.transitionStart(!0,t.swipeDirection),t.animating||(t.animating=!0,n.transitionEnd((function(){t&&!t.destroyed&&t.transitionEnd()})))):t.updateProgress(y),t.updateActiveIndex(),t.updateSlidesClasses()}else if(s.freeModeSticky)return void t.slideToClosest();(!s.freeModeMomentum||u>=s.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}else{for(var k=0,$=t.slidesSizesGrid[0],L=0;L<o.length;L+=L<s.slidesPerGroupSkip?1:s.slidesPerGroup){var I=L<s.slidesPerGroupSkip-1?1:s.slidesPerGroup;void 0!==o[L+I]?p>=o[L]&&p<o[L+I]&&(k=L,$=o[L+I]-o[L]):p>=o[L]&&(k=L,$=o[o.length-1]-o[o.length-2])}var D=(p-o[k])/$,O=k<s.slidesPerGroupSkip-1?1:s.slidesPerGroup;if(u>s.longSwipesMs){if(!s.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(D>=s.longSwipesRatio?t.slideTo(k+O):t.slideTo(k)),"prev"===t.swipeDirection&&(D>1-s.longSwipesRatio?t.slideTo(k+O):t.slideTo(k))}else{if(!s.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(h.target===t.navigation.nextEl||h.target===t.navigation.prevEl)?h.target===t.navigation.nextEl?t.slideTo(k+O):t.slideTo(k):("next"===t.swipeDirection&&t.slideTo(k+O),"prev"===t.swipeDirection&&t.slideTo(k))}}}function N(){var e=this.params,t=this.el;if(!t||0!==t.offsetWidth){e.breakpoints&&this.setBreakpoint();var i=this.allowSlideNext,s=this.allowSlidePrev,a=this.snapGrid;this.allowSlideNext=!0,this.allowSlidePrev=!0,this.updateSize(),this.updateSlides(),this.updateSlidesClasses(),("auto"===e.slidesPerView||e.slidesPerView>1)&&this.isEnd&&!this.isBeginning&&!this.params.centeredSlides?this.slideTo(this.slides.length-1,0,!1,!0):this.slideTo(this.activeIndex,0,!1,!0),this.autoplay&&this.autoplay.running&&this.autoplay.paused&&this.autoplay.run(),this.allowSlidePrev=s,this.allowSlideNext=i,this.params.watchOverflow&&a!==this.snapGrid&&this.checkOverflow()}}function X(e){this.allowClick||(this.params.preventClicks&&e.preventDefault(),this.params.preventClicksPropagation&&this.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function V(){var e=this.wrapperEl,t=this.rtlTranslate;this.previousTranslate=this.translate,this.isHorizontal()?this.translate=t?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:this.translate=-e.scrollTop,-0===this.translate&&(this.translate=0),this.updateActiveIndex(),this.updateSlidesClasses();var i=this.maxTranslate()-this.minTranslate();(0===i?0:(this.translate-this.minTranslate())/i)!==this.progress&&this.updateProgress(t?-this.translate:this.translate),this.emit("setTranslate",this.translate,!1)}var Y=!1;function F(){}var W={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,preventInteractionOnTransition:!1,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0},R={update:u,translate:v,transition:f,slide:m,loop:g,grabCursor:b,manipulation:O,events:{attachEvents:function(){var e=this.params,t=this.touchEvents,s=this.el,a=this.wrapperEl;this.onTouchStart=G.bind(this),this.onTouchMove=H.bind(this),this.onTouchEnd=B.bind(this),e.cssMode&&(this.onScroll=V.bind(this)),this.onClick=X.bind(this);var r=!!e.nested;if(!h.touch&&h.pointerEvents)s.addEventListener(t.start,this.onTouchStart,!1),i.addEventListener(t.move,this.onTouchMove,r),i.addEventListener(t.end,this.onTouchEnd,!1);else{if(h.touch){var n=!("touchstart"!==t.start||!h.passiveListener||!e.passiveListeners)&&{passive:!0,capture:!1};s.addEventListener(t.start,this.onTouchStart,n),s.addEventListener(t.move,this.onTouchMove,h.passiveListener?{passive:!1,capture:r}:r),s.addEventListener(t.end,this.onTouchEnd,n),t.cancel&&s.addEventListener(t.cancel,this.onTouchEnd,n),Y||(i.addEventListener("touchstart",F),Y=!0)}(e.simulateTouch&&!A.ios&&!A.android||e.simulateTouch&&!h.touch&&A.ios)&&(s.addEventListener("mousedown",this.onTouchStart,!1),i.addEventListener("mousemove",this.onTouchMove,r),i.addEventListener("mouseup",this.onTouchEnd,!1))}(e.preventClicks||e.preventClicksPropagation)&&s.addEventListener("click",this.onClick,!0),e.cssMode&&a.addEventListener("scroll",this.onScroll),e.updateOnWindowResize?this.on(A.ios||A.android?"resize orientationchange observerUpdate":"resize observerUpdate",N,!0):this.on("observerUpdate",N,!0)},detachEvents:function(){var e=this.params,t=this.touchEvents,s=this.el,a=this.wrapperEl,r=!!e.nested;if(!h.touch&&h.pointerEvents)s.removeEventListener(t.start,this.onTouchStart,!1),i.removeEventListener(t.move,this.onTouchMove,r),i.removeEventListener(t.end,this.onTouchEnd,!1);else{if(h.touch){var n=!("onTouchStart"!==t.start||!h.passiveListener||!e.passiveListeners)&&{passive:!0,capture:!1};s.removeEventListener(t.start,this.onTouchStart,n),s.removeEventListener(t.move,this.onTouchMove,r),s.removeEventListener(t.end,this.onTouchEnd,n),t.cancel&&s.removeEventListener(t.cancel,this.onTouchEnd,n)}(e.simulateTouch&&!A.ios&&!A.android||e.simulateTouch&&!h.touch&&A.ios)&&(s.removeEventListener("mousedown",this.onTouchStart,!1),i.removeEventListener("mousemove",this.onTouchMove,r),i.removeEventListener("mouseup",this.onTouchEnd,!1))}(e.preventClicks||e.preventClicksPropagation)&&s.removeEventListener("click",this.onClick,!0),e.cssMode&&a.removeEventListener("scroll",this.onScroll),this.off(A.ios||A.android?"resize orientationchange observerUpdate":"resize observerUpdate",N)}},breakpoints:{setBreakpoint:function(){var e=this.activeIndex,t=this.initialized,i=this.loopedSlides;void 0===i&&(i=0);var s=this.params,a=this.$el,r=s.breakpoints;if(r&&(!r||0!==Object.keys(r).length)){var n=this.getBreakpoint(r);if(n&&this.currentBreakpoint!==n){var o=n in r?r[n]:void 0;o&&["slidesPerView","spaceBetween","slidesPerGroup","slidesPerGroupSkip","slidesPerColumn"].forEach((function(e){var t=o[e];void 0!==t&&(o[e]="slidesPerView"!==e||"AUTO"!==t&&"auto"!==t?"slidesPerView"===e?parseFloat(t):parseInt(t,10):"auto")}));var l=o||this.originalParams,h=s.slidesPerColumn>1,p=l.slidesPerColumn>1;h&&!p?a.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"):!h&&p&&(a.addClass(s.containerModifierClass+"multirow"),"column"===l.slidesPerColumnFill&&a.addClass(s.containerModifierClass+"multirow-column"));var c=l.direction&&l.direction!==s.direction,u=s.loop&&(l.slidesPerView!==s.slidesPerView||c);c&&t&&this.changeDirection(),d.extend(this.params,l),d.extend(this,{allowTouchMove:this.params.allowTouchMove,allowSlideNext:this.params.allowSlideNext,allowSlidePrev:this.params.allowSlidePrev}),this.currentBreakpoint=n,u&&t&&(this.loopDestroy(),this.loopCreate(),this.updateSlides(),this.slideTo(e-i+this.loopedSlides,0,!1)),this.emit("breakpoint",l)}}},getBreakpoint:function(e){if(e){var t=!1,i=Object.keys(e).map((function(e){if("string"==typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:a.innerHeight*t,point:e}}return{value:e,point:e}}));i.sort((function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)}));for(var s=0;s<i.length;s+=1){var r=i[s],n=r.point;r.value<=a.innerWidth&&(t=n)}return t||"max"}}},checkOverflow:{checkOverflow:function(){var e=this.params,t=this.isLocked,i=this.slides.length>0&&e.slidesOffsetBefore+e.spaceBetween*(this.slides.length-1)+this.slides[0].offsetWidth*this.slides.length;e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?this.isLocked=i<=this.size:this.isLocked=1===this.snapGrid.length,this.allowSlideNext=!this.isLocked,this.allowSlidePrev=!this.isLocked,t!==this.isLocked&&this.emit(this.isLocked?"lock":"unlock"),t&&t!==this.isLocked&&(this.isEnd=!1,this.navigation&&this.navigation.update())}},classes:{addClasses:function(){var e=this.classNames,t=this.params,i=this.rtl,s=this.$el,a=[];a.push("initialized"),a.push(t.direction),t.freeMode&&a.push("free-mode"),t.autoHeight&&a.push("autoheight"),i&&a.push("rtl"),t.slidesPerColumn>1&&(a.push("multirow"),"column"===t.slidesPerColumnFill&&a.push("multirow-column")),A.android&&a.push("android"),A.ios&&a.push("ios"),t.cssMode&&a.push("css-mode"),a.forEach((function(i){e.push(t.containerModifierClass+i)})),s.addClass(e.join(" "))},removeClasses:function(){var e=this.$el,t=this.classNames;e.removeClass(t.join(" "))}},images:{loadImage:function(e,t,i,s,r,o){var l;function d(){o&&o()}n(e).parent("picture")[0]||e.complete&&r?d():t?((l=new a.Image).onload=d,l.onerror=d,s&&(l.sizes=s),i&&(l.srcset=i),t&&(l.src=t)):d()},preloadImages:function(){var e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var i=0;i<e.imagesToLoad.length;i+=1){var s=e.imagesToLoad[i];e.loadImage(s,s.currentSrc||s.getAttribute("src"),s.srcset||s.getAttribute("srcset"),s.sizes||s.getAttribute("sizes"),!0,t)}}}},q={},j=function(e){function t(){for(var i,s,a,r=[],o=arguments.length;o--;)r[o]=arguments[o];1===r.length&&r[0].constructor&&r[0].constructor===Object?a=r[0]:(s=(i=r)[0],a=i[1]),a||(a={}),a=d.extend({},a),s&&!a.el&&(a.el=s),e.call(this,a),Object.keys(R).forEach((function(e){Object.keys(R[e]).forEach((function(i){t.prototype[i]||(t.prototype[i]=R[e][i])}))}));var l=this;void 0===l.modules&&(l.modules={}),Object.keys(l.modules).forEach((function(e){var t=l.modules[e];if(t.params){var i=Object.keys(t.params)[0],s=t.params[i];if("object"!=typeof s||null===s)return;if(!(i in a)||!("enabled"in s))return;!0===a[i]&&(a[i]={enabled:!0}),"object"!=typeof a[i]||"enabled"in a[i]||(a[i].enabled=!0),a[i]||(a[i]={enabled:!1})}}));var p=d.extend({},W);l.useModulesParams(p),l.params=d.extend({},p,q,a),l.originalParams=d.extend({},l.params),l.passedParams=d.extend({},a),l.$=n;var c=n(l.params.el);if(s=c[0]){if(c.length>1){var u=[];return c.each((function(e,i){var s=d.extend({},a,{el:i});u.push(new t(s))})),u}var v,f,m;return s.swiper=l,c.data("swiper",l),s&&s.shadowRoot&&s.shadowRoot.querySelector?(v=n(s.shadowRoot.querySelector("."+l.params.wrapperClass))).children=function(e){return c.children(e)}:v=c.children("."+l.params.wrapperClass),d.extend(l,{$el:c,el:s,$wrapperEl:v,wrapperEl:v[0],classNames:[],slides:n(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===l.params.direction},isVertical:function(){return"vertical"===l.params.direction},rtl:"rtl"===s.dir.toLowerCase()||"rtl"===c.css("direction"),rtlTranslate:"horizontal"===l.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===c.css("direction")),wrongRTL:"-webkit-box"===v.css("display"),activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEvents:(f=["touchstart","touchmove","touchend","touchcancel"],m=["mousedown","mousemove","mouseup"],h.pointerEvents&&(m=["pointerdown","pointermove","pointerup"]),l.touchEventsTouch={start:f[0],move:f[1],end:f[2],cancel:f[3]},l.touchEventsDesktop={start:m[0],move:m[1],end:m[2]},h.touch||!l.params.simulateTouch?l.touchEventsTouch:l.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,formElements:"input, select, option, textarea, button, video, label",lastClickTime:d.now(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.useModules(),l.params.init&&l.init(),l}}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var i={extendedDefaults:{configurable:!0},defaults:{configurable:!0},Class:{configurable:!0},$:{configurable:!0}};return t.prototype.slidesPerViewDynamic=function(){var e=this.params,t=this.slides,i=this.slidesGrid,s=this.size,a=this.activeIndex,r=1;if(e.centeredSlides){for(var n,o=t[a].swiperSlideSize,l=a+1;l<t.length;l+=1)t[l]&&!n&&(r+=1,(o+=t[l].swiperSlideSize)>s&&(n=!0));for(var d=a-1;d>=0;d-=1)t[d]&&!n&&(r+=1,(o+=t[d].swiperSlideSize)>s&&(n=!0))}else for(var h=a+1;h<t.length;h+=1)i[h]-i[a]<s&&(r+=1);return r},t.prototype.update=function(){var e=this;if(e&&!e.destroyed){var t=e.snapGrid,i=e.params;i.breakpoints&&e.setBreakpoint(),e.updateSize(),e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.params.freeMode?(s(),e.params.autoHeight&&e.updateAutoHeight()):(("auto"===e.params.slidesPerView||e.params.slidesPerView>1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0))||s(),i.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function s(){var t=e.rtlTranslate?-1*e.translate:e.translate,i=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(i),e.updateActiveIndex(),e.updateSlidesClasses()}},t.prototype.changeDirection=function(e,t){void 0===t&&(t=!0);var i=this.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(this.$el.removeClass(""+this.params.containerModifierClass+i).addClass(""+this.params.containerModifierClass+e),this.params.direction=e,this.slides.each((function(t,i){"vertical"===e?i.style.width="":i.style.height=""})),this.emit("changeDirection"),t&&this.update()),this},t.prototype.init=function(){this.initialized||(this.emit("beforeInit"),this.params.breakpoints&&this.setBreakpoint(),this.addClasses(),this.params.loop&&this.loopCreate(),this.updateSize(),this.updateSlides(),this.params.watchOverflow&&this.checkOverflow(),this.params.grabCursor&&this.setGrabCursor(),this.params.preloadImages&&this.preloadImages(),this.params.loop?this.slideTo(this.params.initialSlide+this.loopedSlides,0,this.params.runCallbacksOnInit):this.slideTo(this.params.initialSlide,0,this.params.runCallbacksOnInit),this.attachEvents(),this.initialized=!0,this.emit("init"))},t.prototype.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var i=this,s=i.params,a=i.$el,r=i.$wrapperEl,n=i.slides;return void 0===i.params||i.destroyed||(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),s.loop&&i.loopDestroy(),t&&(i.removeClasses(),a.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([s.slideVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),i.emit("destroy"),Object.keys(i.eventsListeners).forEach((function(e){i.off(e)})),!1!==e&&(i.$el[0].swiper=null,i.$el.data("swiper",null),d.deleteProps(i)),i.destroyed=!0),null},t.extendDefaults=function(e){d.extend(q,e)},i.extendedDefaults.get=function(){return q},i.defaults.get=function(){return W},i.Class.get=function(){return e},i.$.get=function(){return n},Object.defineProperties(t,i),t}(p),K={name:"device",proto:{device:A},static:{device:A}},U={name:"support",proto:{support:h},static:{support:h}},_={isEdge:!!a.navigator.userAgent.match(/Edge/g),isSafari:function(){var e=a.navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(a.navigator.userAgent)},Z={name:"browser",proto:{browser:_},static:{browser:_}},Q={name:"resize",create:function(){var e=this;d.extend(e,{resize:{resizeHandler:function(){e&&!e.destroyed&&e.initialized&&(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){e&&!e.destroyed&&e.initialized&&e.emit("orientationchange")}}})},on:{init:function(){a.addEventListener("resize",this.resize.resizeHandler),a.addEventListener("orientationchange",this.resize.orientationChangeHandler)},destroy:function(){a.removeEventListener("resize",this.resize.resizeHandler),a.removeEventListener("orientationchange",this.resize.orientationChangeHandler)}}},J={func:a.MutationObserver||a.WebkitMutationObserver,attach:function(e,t){void 0===t&&(t={});var i=this,s=new(0,J.func)((function(e){if(1!==e.length){var t=function(){i.emit("observerUpdate",e[0])};a.requestAnimationFrame?a.requestAnimationFrame(t):a.setTimeout(t,0)}else i.emit("observerUpdate",e[0])}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),i.observer.observers.push(s)},init:function(){if(h.observer&&this.params.observer){if(this.params.observeParents)for(var e=this.$el.parents(),t=0;t<e.length;t+=1)this.observer.attach(e[t]);this.observer.attach(this.$el[0],{childList:this.params.observeSlideChildren}),this.observer.attach(this.$wrapperEl[0],{attributes:!1})}},destroy:function(){this.observer.observers.forEach((function(e){e.disconnect()})),this.observer.observers=[]}},ee={name:"observer",params:{observer:!1,observeParents:!1,observeSlideChildren:!1},create:function(){d.extend(this,{observer:{init:J.init.bind(this),attach:J.attach.bind(this),destroy:J.destroy.bind(this),observers:[]}})},on:{init:function(){this.observer.init()},destroy:function(){this.observer.destroy()}}},te={update:function(e){var t=this,i=t.params,s=i.slidesPerView,a=i.slidesPerGroup,r=i.centeredSlides,n=t.params.virtual,o=n.addSlidesBefore,l=n.addSlidesAfter,h=t.virtual,p=h.from,c=h.to,u=h.slides,v=h.slidesGrid,f=h.renderSlide,m=h.offset;t.updateActiveIndex();var g,b,w,y=t.activeIndex||0;g=t.rtlTranslate?"right":t.isHorizontal()?"left":"top",r?(b=Math.floor(s/2)+a+o,w=Math.floor(s/2)+a+l):(b=s+(a-1)+o,w=a+l);var x=Math.max((y||0)-w,0),E=Math.min((y||0)+b,u.length-1),T=(t.slidesGrid[x]||0)-(t.slidesGrid[0]||0);function S(){t.updateSlides(),t.updateProgress(),t.updateSlidesClasses(),t.lazy&&t.params.lazy.enabled&&t.lazy.load()}if(d.extend(t.virtual,{from:x,to:E,offset:T,slidesGrid:t.slidesGrid}),p===x&&c===E&&!e)return t.slidesGrid!==v&&T!==m&&t.slides.css(g,T+"px"),void t.updateProgress();if(t.params.virtual.renderExternal)return t.params.virtual.renderExternal.call(t,{offset:T,from:x,to:E,slides:function(){for(var e=[],t=x;t<=E;t+=1)e.push(u[t]);return e}()}),void S();var C=[],M=[];if(e)t.$wrapperEl.find("."+t.params.slideClass).remove();else for(var P=p;P<=c;P+=1)(P<x||P>E)&&t.$wrapperEl.find("."+t.params.slideClass+'[data-swiper-slide-index="'+P+'"]').remove();for(var z=0;z<u.length;z+=1)z>=x&&z<=E&&(void 0===c||e?M.push(z):(z>c&&M.push(z),z<p&&C.push(z)));M.forEach((function(e){t.$wrapperEl.append(f(u[e],e))})),C.sort((function(e,t){return t-e})).forEach((function(e){t.$wrapperEl.prepend(f(u[e],e))})),t.$wrapperEl.children(".swiper-slide").css(g,T+"px"),S()},renderSlide:function(e,t){var i=this.params.virtual;if(i.cache&&this.virtual.cache[t])return this.virtual.cache[t];var s=i.renderSlide?n(i.renderSlide.call(this,e,t)):n('<div class="'+this.params.slideClass+'" data-swiper-slide-index="'+t+'">'+e+"</div>");return s.attr("data-swiper-slide-index")||s.attr("data-swiper-slide-index",t),i.cache&&(this.virtual.cache[t]=s),s},appendSlide:function(e){if("object"==typeof e&&"length"in e)for(var t=0;t<e.length;t+=1)e[t]&&this.virtual.slides.push(e[t]);else this.virtual.slides.push(e);this.virtual.update(!0)},prependSlide:function(e){var t=this.activeIndex,i=t+1,s=1;if(Array.isArray(e)){for(var a=0;a<e.length;a+=1)e[a]&&this.virtual.slides.unshift(e[a]);i=t+e.length,s=e.length}else this.virtual.slides.unshift(e);if(this.params.virtual.cache){var r=this.virtual.cache,n={};Object.keys(r).forEach((function(e){var t=r[e],i=t.attr("data-swiper-slide-index");i&&t.attr("data-swiper-slide-index",parseInt(i,10)+1),n[parseInt(e,10)+s]=t})),this.virtual.cache=n}this.virtual.update(!0),this.slideTo(i,0)},removeSlide:function(e){if(null!=e){var t=this.activeIndex;if(Array.isArray(e))for(var i=e.length-1;i>=0;i-=1)this.virtual.slides.splice(e[i],1),this.params.virtual.cache&&delete this.virtual.cache[e[i]],e[i]<t&&(t-=1),t=Math.max(t,0);else this.virtual.slides.splice(e,1),this.params.virtual.cache&&delete this.virtual.cache[e],e<t&&(t-=1),t=Math.max(t,0);this.virtual.update(!0),this.slideTo(t,0)}},removeAllSlides:function(){this.virtual.slides=[],this.params.virtual.cache&&(this.virtual.cache={}),this.virtual.update(!0),this.slideTo(0,0)}},ie={name:"virtual",params:{virtual:{enabled:!1,slides:[],cache:!0,renderSlide:null,renderExternal:null,addSlidesBefore:0,addSlidesAfter:0}},create:function(){d.extend(this,{virtual:{update:te.update.bind(this),appendSlide:te.appendSlide.bind(this),prependSlide:te.prependSlide.bind(this),removeSlide:te.removeSlide.bind(this),removeAllSlides:te.removeAllSlides.bind(this),renderSlide:te.renderSlide.bind(this),slides:this.params.virtual.slides,cache:{}}})},on:{beforeInit:function(){if(this.params.virtual.enabled){this.classNames.push(this.params.containerModifierClass+"virtual");var e={watchSlidesProgress:!0};d.extend(this.params,e),d.extend(this.originalParams,e),this.params.initialSlide||this.virtual.update()}},setTranslate:function(){this.params.virtual.enabled&&this.virtual.update()}}},se={handle:function(e){var t=this.rtlTranslate,s=e;s.originalEvent&&(s=s.originalEvent);var r=s.keyCode||s.charCode,n=this.params.keyboard.pageUpDown,o=n&&33===r,l=n&&34===r,d=37===r,h=39===r,p=38===r,c=40===r;if(!this.allowSlideNext&&(this.isHorizontal()&&h||this.isVertical()&&c||l))return!1;if(!this.allowSlidePrev&&(this.isHorizontal()&&d||this.isVertical()&&p||o))return!1;if(!(s.shiftKey||s.altKey||s.ctrlKey||s.metaKey||i.activeElement&&i.activeElement.nodeName&&("input"===i.activeElement.nodeName.toLowerCase()||"textarea"===i.activeElement.nodeName.toLowerCase()))){if(this.params.keyboard.onlyInViewport&&(o||l||d||h||p||c)){var u=!1;if(this.$el.parents("."+this.params.slideClass).length>0&&0===this.$el.parents("."+this.params.slideActiveClass).length)return;var v=a.innerWidth,f=a.innerHeight,m=this.$el.offset();t&&(m.left-=this.$el[0].scrollLeft);for(var g=[[m.left,m.top],[m.left+this.width,m.top],[m.left,m.top+this.height],[m.left+this.width,m.top+this.height]],b=0;b<g.length;b+=1){var w=g[b];w[0]>=0&&w[0]<=v&&w[1]>=0&&w[1]<=f&&(u=!0)}if(!u)return}this.isHorizontal()?((o||l||d||h)&&(s.preventDefault?s.preventDefault():s.returnValue=!1),((l||h)&&!t||(o||d)&&t)&&this.slideNext(),((o||d)&&!t||(l||h)&&t)&&this.slidePrev()):((o||l||p||c)&&(s.preventDefault?s.preventDefault():s.returnValue=!1),(l||c)&&this.slideNext(),(o||p)&&this.slidePrev()),this.emit("keyPress",r)}},enable:function(){this.keyboard.enabled||(n(i).on("keydown",this.keyboard.handle),this.keyboard.enabled=!0)},disable:function(){this.keyboard.enabled&&(n(i).off("keydown",this.keyboard.handle),this.keyboard.enabled=!1)}},ae={name:"keyboard",params:{keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}},create:function(){d.extend(this,{keyboard:{enabled:!1,enable:se.enable.bind(this),disable:se.disable.bind(this),handle:se.handle.bind(this)}})},on:{init:function(){this.params.keyboard.enabled&&this.keyboard.enable()},destroy:function(){this.keyboard.enabled&&this.keyboard.disable()}}};var re={lastScrollTime:d.now(),lastEventBeforeSnap:void 0,recentWheelEvents:[],event:function(){return a.navigator.userAgent.indexOf("firefox")>-1?"DOMMouseScroll":function(){var e="onwheel"in i;if(!e){var t=i.createElement("div");t.setAttribute("onwheel","return;"),e="function"==typeof t.onwheel}return!e&&i.implementation&&i.implementation.hasFeature&&!0!==i.implementation.hasFeature("","")&&(e=i.implementation.hasFeature("Events.wheel","3.0")),e}()?"wheel":"mousewheel"},normalize:function(e){var t=0,i=0,s=0,a=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),s=10*t,a=10*i,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(s=e.deltaX),e.shiftKey&&!s&&(s=a,a=0),(s||a)&&e.deltaMode&&(1===e.deltaMode?(s*=40,a*=40):(s*=800,a*=800)),s&&!t&&(t=s<1?-1:1),a&&!i&&(i=a<1?-1:1),{spinX:t,spinY:i,pixelX:s,pixelY:a}},handleMouseEnter:function(){this.mouseEntered=!0},handleMouseLeave:function(){this.mouseEntered=!1},handle:function(e){var t=e,i=this,s=i.params.mousewheel;i.params.cssMode&&t.preventDefault();var a=i.$el;if("container"!==i.params.mousewheel.eventsTarged&&(a=n(i.params.mousewheel.eventsTarged)),!i.mouseEntered&&!a[0].contains(t.target)&&!s.releaseOnEdges)return!0;t.originalEvent&&(t=t.originalEvent);var r=0,o=i.rtlTranslate?-1:1,l=re.normalize(t);if(s.forceToAxis)if(i.isHorizontal()){if(!(Math.abs(l.pixelX)>Math.abs(l.pixelY)))return!0;r=-l.pixelX*o}else{if(!(Math.abs(l.pixelY)>Math.abs(l.pixelX)))return!0;r=-l.pixelY}else r=Math.abs(l.pixelX)>Math.abs(l.pixelY)?-l.pixelX*o:-l.pixelY;if(0===r)return!0;if(s.invert&&(r=-r),i.params.freeMode){var h={time:d.now(),delta:Math.abs(r),direction:Math.sign(r)},p=i.mousewheel.lastEventBeforeSnap,c=p&&h.time<p.time+500&&h.delta<=p.delta&&h.direction===p.direction;if(!c){i.mousewheel.lastEventBeforeSnap=void 0,i.params.loop&&i.loopFix();var u=i.getTranslate()+r*s.sensitivity,v=i.isBeginning,f=i.isEnd;if(u>=i.minTranslate()&&(u=i.minTranslate()),u<=i.maxTranslate()&&(u=i.maxTranslate()),i.setTransition(0),i.setTranslate(u),i.updateProgress(),i.updateActiveIndex(),i.updateSlidesClasses(),(!v&&i.isBeginning||!f&&i.isEnd)&&i.updateSlidesClasses(),i.params.freeModeSticky){clearTimeout(i.mousewheel.timeout),i.mousewheel.timeout=void 0;var m=i.mousewheel.recentWheelEvents;m.length>=15&&m.shift();var g=m.length?m[m.length-1]:void 0,b=m[0];if(m.push(h),g&&(h.delta>g.delta||h.direction!==g.direction))m.splice(0);else if(m.length>=15&&h.time-b.time<500&&b.delta-h.delta>=1&&h.delta<=6){var w=r>0?.8:.2;i.mousewheel.lastEventBeforeSnap=h,m.splice(0),i.mousewheel.timeout=d.nextTick((function(){i.slideToClosest(i.params.speed,!0,void 0,w)}),0)}i.mousewheel.timeout||(i.mousewheel.timeout=d.nextTick((function(){i.mousewheel.lastEventBeforeSnap=h,m.splice(0),i.slideToClosest(i.params.speed,!0,void 0,.5)}),500))}if(c||i.emit("scroll",t),i.params.autoplay&&i.params.autoplayDisableOnInteraction&&i.autoplay.stop(),u===i.minTranslate()||u===i.maxTranslate())return!0}}else{var y={time:d.now(),delta:Math.abs(r),direction:Math.sign(r),raw:e},x=i.mousewheel.recentWheelEvents;x.length>=2&&x.shift();var E=x.length?x[x.length-1]:void 0;if(x.push(y),E?(y.direction!==E.direction||y.delta>E.delta||y.time>E.time+150)&&i.mousewheel.animateSlider(y):i.mousewheel.animateSlider(y),i.mousewheel.releaseScroll(y))return!0}return t.preventDefault?t.preventDefault():t.returnValue=!1,!1},animateSlider:function(e){return e.delta>=6&&d.now()-this.mousewheel.lastScrollTime<60||(e.direction<0?this.isEnd&&!this.params.loop||this.animating||(this.slideNext(),this.emit("scroll",e.raw)):this.isBeginning&&!this.params.loop||this.animating||(this.slidePrev(),this.emit("scroll",e.raw)),this.mousewheel.lastScrollTime=(new a.Date).getTime(),!1)},releaseScroll:function(e){var t=this.params.mousewheel;if(e.direction<0){if(this.isEnd&&!this.params.loop&&t.releaseOnEdges)return!0}else if(this.isBeginning&&!this.params.loop&&t.releaseOnEdges)return!0;return!1},enable:function(){var e=re.event();if(this.params.cssMode)return this.wrapperEl.removeEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=n(this.params.mousewheel.eventsTarged)),t.on("mouseenter",this.mousewheel.handleMouseEnter),t.on("mouseleave",this.mousewheel.handleMouseLeave),t.on(e,this.mousewheel.handle),this.mousewheel.enabled=!0,!0},disable:function(){var e=re.event();if(this.params.cssMode)return this.wrapperEl.addEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(!this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=n(this.params.mousewheel.eventsTarged)),t.off(e,this.mousewheel.handle),this.mousewheel.enabled=!1,!0}},ne={update:function(){var e=this.params.navigation;if(!this.params.loop){var t=this.navigation,i=t.$nextEl,s=t.$prevEl;s&&s.length>0&&(this.isBeginning?s.addClass(e.disabledClass):s.removeClass(e.disabledClass),s[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass)),i&&i.length>0&&(this.isEnd?i.addClass(e.disabledClass):i.removeClass(e.disabledClass),i[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(e){e.preventDefault(),this.isBeginning&&!this.params.loop||this.slidePrev()},onNextClick:function(e){e.preventDefault(),this.isEnd&&!this.params.loop||this.slideNext()},init:function(){var e,t,i=this.params.navigation;(i.nextEl||i.prevEl)&&(i.nextEl&&(e=n(i.nextEl),this.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===this.$el.find(i.nextEl).length&&(e=this.$el.find(i.nextEl))),i.prevEl&&(t=n(i.prevEl),this.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===this.$el.find(i.prevEl).length&&(t=this.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",this.navigation.onNextClick),t&&t.length>0&&t.on("click",this.navigation.onPrevClick),d.extend(this.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}))},destroy:function(){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;t&&t.length&&(t.off("click",this.navigation.onNextClick),t.removeClass(this.params.navigation.disabledClass)),i&&i.length&&(i.off("click",this.navigation.onPrevClick),i.removeClass(this.params.navigation.disabledClass))}},oe={update:function(){var e=this.rtl,t=this.params.pagination;if(t.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var i,s=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,a=this.pagination.$el,r=this.params.loop?Math.ceil((s-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length;if(this.params.loop?((i=Math.ceil((this.activeIndex-this.loopedSlides)/this.params.slidesPerGroup))>s-1-2*this.loopedSlides&&(i-=s-2*this.loopedSlides),i>r-1&&(i-=r),i<0&&"bullets"!==this.params.paginationType&&(i=r+i)):i=void 0!==this.snapIndex?this.snapIndex:this.activeIndex||0,"bullets"===t.type&&this.pagination.bullets&&this.pagination.bullets.length>0){var o,l,d,h=this.pagination.bullets;if(t.dynamicBullets&&(this.pagination.bulletSize=h.eq(0)[this.isHorizontal()?"outerWidth":"outerHeight"](!0),a.css(this.isHorizontal()?"width":"height",this.pagination.bulletSize*(t.dynamicMainBullets+4)+"px"),t.dynamicMainBullets>1&&void 0!==this.previousIndex&&(this.pagination.dynamicBulletIndex+=i-this.previousIndex,this.pagination.dynamicBulletIndex>t.dynamicMainBullets-1?this.pagination.dynamicBulletIndex=t.dynamicMainBullets-1:this.pagination.dynamicBulletIndex<0&&(this.pagination.dynamicBulletIndex=0)),o=i-this.pagination.dynamicBulletIndex,d=((l=o+(Math.min(h.length,t.dynamicMainBullets)-1))+o)/2),h.removeClass(t.bulletActiveClass+" "+t.bulletActiveClass+"-next "+t.bulletActiveClass+"-next-next "+t.bulletActiveClass+"-prev "+t.bulletActiveClass+"-prev-prev "+t.bulletActiveClass+"-main"),a.length>1)h.each((function(e,s){var a=n(s),r=a.index();r===i&&a.addClass(t.bulletActiveClass),t.dynamicBullets&&(r>=o&&r<=l&&a.addClass(t.bulletActiveClass+"-main"),r===o&&a.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),r===l&&a.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next"))}));else{var p=h.eq(i),c=p.index();if(p.addClass(t.bulletActiveClass),t.dynamicBullets){for(var u=h.eq(o),v=h.eq(l),f=o;f<=l;f+=1)h.eq(f).addClass(t.bulletActiveClass+"-main");if(this.params.loop)if(c>=h.length-t.dynamicMainBullets){for(var m=t.dynamicMainBullets;m>=0;m-=1)h.eq(h.length-m).addClass(t.bulletActiveClass+"-main");h.eq(h.length-t.dynamicMainBullets-1).addClass(t.bulletActiveClass+"-prev")}else u.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),v.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next");else u.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),v.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next")}}if(t.dynamicBullets){var g=Math.min(h.length,t.dynamicMainBullets+4),b=(this.pagination.bulletSize*g-this.pagination.bulletSize)/2-d*this.pagination.bulletSize,w=e?"right":"left";h.css(this.isHorizontal()?w:"top",b+"px")}}if("fraction"===t.type&&(a.find("."+t.currentClass).text(t.formatFractionCurrent(i+1)),a.find("."+t.totalClass).text(t.formatFractionTotal(r))),"progressbar"===t.type){var y;y=t.progressbarOpposite?this.isHorizontal()?"vertical":"horizontal":this.isHorizontal()?"horizontal":"vertical";var x=(i+1)/r,E=1,T=1;"horizontal"===y?E=x:T=x,a.find("."+t.progressbarFillClass).transform("translate3d(0,0,0) scaleX("+E+") scaleY("+T+")").transition(this.params.speed)}"custom"===t.type&&t.renderCustom?(a.html(t.renderCustom(this,i+1,r)),this.emit("paginationRender",this,a[0])):this.emit("paginationUpdate",this,a[0]),a[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](t.lockClass)}},render:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,i=this.pagination.$el,s="";if("bullets"===e.type){for(var a=this.params.loop?Math.ceil((t-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length,r=0;r<a;r+=1)e.renderBullet?s+=e.renderBullet.call(this,r,e.bulletClass):s+="<"+e.bulletElement+' class="'+e.bulletClass+'"></'+e.bulletElement+">";i.html(s),this.pagination.bullets=i.find("."+e.bulletClass)}"fraction"===e.type&&(s=e.renderFraction?e.renderFraction.call(this,e.currentClass,e.totalClass):'<span class="'+e.currentClass+'"></span> / <span class="'+e.totalClass+'"></span>',i.html(s)),"progressbar"===e.type&&(s=e.renderProgressbar?e.renderProgressbar.call(this,e.progressbarFillClass):'<span class="'+e.progressbarFillClass+'"></span>',i.html(s)),"custom"!==e.type&&this.emit("paginationRender",this.pagination.$el[0])}},init:function(){var e=this,t=e.params.pagination;if(t.el){var i=n(t.el);0!==i.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&i.length>1&&(i=e.$el.find(t.el)),"bullets"===t.type&&t.clickable&&i.addClass(t.clickableClass),i.addClass(t.modifierClass+t.type),"bullets"===t.type&&t.dynamicBullets&&(i.addClass(""+t.modifierClass+t.type+"-dynamic"),e.pagination.dynamicBulletIndex=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&i.addClass(t.progressbarOppositeClass),t.clickable&&i.on("click","."+t.bulletClass,(function(t){t.preventDefault();var i=n(this).index()*e.params.slidesPerGroup;e.params.loop&&(i+=e.loopedSlides),e.slideTo(i)})),d.extend(e.pagination,{$el:i,el:i[0]}))}},destroy:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.pagination.$el;t.removeClass(e.hiddenClass),t.removeClass(e.modifierClass+e.type),this.pagination.bullets&&this.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&t.off("click","."+e.bulletClass)}}},le={setTranslate:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=this.rtlTranslate,i=this.progress,s=e.dragSize,a=e.trackSize,r=e.$dragEl,n=e.$el,o=this.params.scrollbar,l=s,d=(a-s)*i;t?(d=-d)>0?(l=s-d,d=0):-d+s>a&&(l=a+d):d<0?(l=s+d,d=0):d+s>a&&(l=a-d),this.isHorizontal()?(r.transform("translate3d("+d+"px, 0, 0)"),r[0].style.width=l+"px"):(r.transform("translate3d(0px, "+d+"px, 0)"),r[0].style.height=l+"px"),o.hide&&(clearTimeout(this.scrollbar.timeout),n[0].style.opacity=1,this.scrollbar.timeout=setTimeout((function(){n[0].style.opacity=0,n.transition(400)}),1e3))}},setTransition:function(e){this.params.scrollbar.el&&this.scrollbar.el&&this.scrollbar.$dragEl.transition(e)},updateSize:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=e.$dragEl,i=e.$el;t[0].style.width="",t[0].style.height="";var s,a=this.isHorizontal()?i[0].offsetWidth:i[0].offsetHeight,r=this.size/this.virtualSize,n=r*(a/this.size);s="auto"===this.params.scrollbar.dragSize?a*r:parseInt(this.params.scrollbar.dragSize,10),this.isHorizontal()?t[0].style.width=s+"px":t[0].style.height=s+"px",i[0].style.display=r>=1?"none":"",this.params.scrollbar.hide&&(i[0].style.opacity=0),d.extend(e,{trackSize:a,divider:r,moveDivider:n,dragSize:s}),e.$el[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](this.params.scrollbar.lockClass)}},getPointerPosition:function(e){return this.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY},setDragPosition:function(e){var t,i=this.scrollbar,s=this.rtlTranslate,a=i.$el,r=i.dragSize,n=i.trackSize,o=i.dragStartPos;t=(i.getPointerPosition(e)-a.offset()[this.isHorizontal()?"left":"top"]-(null!==o?o:r/2))/(n-r),t=Math.max(Math.min(t,1),0),s&&(t=1-t);var l=this.minTranslate()+(this.maxTranslate()-this.minTranslate())*t;this.updateProgress(l),this.setTranslate(l),this.updateActiveIndex(),this.updateSlidesClasses()},onDragStart:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el,r=i.$dragEl;this.scrollbar.isTouched=!0,this.scrollbar.dragStartPos=e.target===r[0]||e.target===r?i.getPointerPosition(e)-e.target.getBoundingClientRect()[this.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),s.transition(100),r.transition(100),i.setDragPosition(e),clearTimeout(this.scrollbar.dragTimeout),a.transition(0),t.hide&&a.css("opacity",1),this.params.cssMode&&this.$wrapperEl.css("scroll-snap-type","none"),this.emit("scrollbarDragStart",e)},onDragMove:function(e){var t=this.scrollbar,i=this.$wrapperEl,s=t.$el,a=t.$dragEl;this.scrollbar.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,t.setDragPosition(e),i.transition(0),s.transition(0),a.transition(0),this.emit("scrollbarDragMove",e))},onDragEnd:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el;this.scrollbar.isTouched&&(this.scrollbar.isTouched=!1,this.params.cssMode&&(this.$wrapperEl.css("scroll-snap-type",""),s.transition("")),t.hide&&(clearTimeout(this.scrollbar.dragTimeout),this.scrollbar.dragTimeout=d.nextTick((function(){a.css("opacity",0),a.transition(400)}),1e3)),this.emit("scrollbarDragEnd",e),t.snapOnRelease&&this.slideToClosest())},enableDraggable:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=e.$el[0],n=!(!h.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},o=!(!h.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};h.touch?(r.addEventListener(t.start,this.scrollbar.onDragStart,n),r.addEventListener(t.move,this.scrollbar.onDragMove,n),r.addEventListener(t.end,this.scrollbar.onDragEnd,o)):(r.addEventListener(s.start,this.scrollbar.onDragStart,n),i.addEventListener(s.move,this.scrollbar.onDragMove,n),i.addEventListener(s.end,this.scrollbar.onDragEnd,o))}},disableDraggable:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=e.$el[0],n=!(!h.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},o=!(!h.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};h.touch?(r.removeEventListener(t.start,this.scrollbar.onDragStart,n),r.removeEventListener(t.move,this.scrollbar.onDragMove,n),r.removeEventListener(t.end,this.scrollbar.onDragEnd,o)):(r.removeEventListener(s.start,this.scrollbar.onDragStart,n),i.removeEventListener(s.move,this.scrollbar.onDragMove,n),i.removeEventListener(s.end,this.scrollbar.onDragEnd,o))}},init:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.$el,i=this.params.scrollbar,s=n(i.el);this.params.uniqueNavElements&&"string"==typeof i.el&&s.length>1&&1===t.find(i.el).length&&(s=t.find(i.el));var a=s.find("."+this.params.scrollbar.dragClass);0===a.length&&(a=n('<div class="'+this.params.scrollbar.dragClass+'"></div>'),s.append(a)),d.extend(e,{$el:s,el:s[0],$dragEl:a,dragEl:a[0]}),i.draggable&&e.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},de={setTransform:function(e,t){var i=this.rtl,s=n(e),a=i?-1:1,r=s.attr("data-swiper-parallax")||"0",o=s.attr("data-swiper-parallax-x"),l=s.attr("data-swiper-parallax-y"),d=s.attr("data-swiper-parallax-scale"),h=s.attr("data-swiper-parallax-opacity");if(o||l?(o=o||"0",l=l||"0"):this.isHorizontal()?(o=r,l="0"):(l=r,o="0"),o=o.indexOf("%")>=0?parseInt(o,10)*t*a+"%":o*t*a+"px",l=l.indexOf("%")>=0?parseInt(l,10)*t+"%":l*t+"px",null!=h){var p=h-(h-1)*(1-Math.abs(t));s[0].style.opacity=p}if(null==d)s.transform("translate3d("+o+", "+l+", 0px)");else{var c=d-(d-1)*(1-Math.abs(t));s.transform("translate3d("+o+", "+l+", 0px) scale("+c+")")}},setTranslate:function(){var e=this,t=e.$el,i=e.slides,s=e.progress,a=e.snapGrid;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,s)})),i.each((function(t,i){var r=i.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(r+=Math.ceil(t/2)-s*(a.length-1)),r=Math.min(Math.max(r,-1),1),n(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,r)}))}))},setTransition:function(e){void 0===e&&(e=this.params.speed);this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){var s=n(i),a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}},he={getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var t=e.targetTouches[0].pageX,i=e.targetTouches[0].pageY,s=e.targetTouches[1].pageX,a=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(s-t,2)+Math.pow(a-i,2))},onGestureStart:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(i.fakeGestureTouched=!1,i.fakeGestureMoved=!1,!h.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;i.fakeGestureTouched=!0,s.scaleStart=he.getDistanceBetweenTouches(e)}s.$slideEl&&s.$slideEl.length||(s.$slideEl=n(e.target).closest("."+this.params.slideClass),0===s.$slideEl.length&&(s.$slideEl=this.slides.eq(this.activeIndex)),s.$imageEl=s.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),s.$imageWrapEl=s.$imageEl.parent("."+t.containerClass),s.maxRatio=s.$imageWrapEl.attr("data-swiper-zoom")||t.maxRatio,0!==s.$imageWrapEl.length)?(s.$imageEl&&s.$imageEl.transition(0),this.zoom.isScaling=!0):s.$imageEl=void 0},onGestureChange:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!h.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;i.fakeGestureMoved=!0,s.scaleMove=he.getDistanceBetweenTouches(e)}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=h.gestures?e.scale*i.currentScale:s.scaleMove/s.scaleStart*i.currentScale,i.scale>s.maxRatio&&(i.scale=s.maxRatio-1+Math.pow(i.scale-s.maxRatio+1,.5)),i.scale<t.minRatio&&(i.scale=t.minRatio+1-Math.pow(t.minRatio-i.scale+1,.5)),s.$imageEl.transform("translate3d(0,0,0) scale("+i.scale+")"))},onGestureEnd:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!h.gestures){if(!i.fakeGestureTouched||!i.fakeGestureMoved)return;if("touchend"!==e.type||"touchend"===e.type&&e.changedTouches.length<2&&!A.android)return;i.fakeGestureTouched=!1,i.fakeGestureMoved=!1}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=Math.max(Math.min(i.scale,s.maxRatio),t.minRatio),s.$imageEl.transition(this.params.speed).transform("translate3d(0,0,0) scale("+i.scale+")"),i.currentScale=i.scale,i.isScaling=!1,1===i.scale&&(s.$slideEl=void 0))},onTouchStart:function(e){var t=this.zoom,i=t.gesture,s=t.image;i.$imageEl&&0!==i.$imageEl.length&&(s.isTouched||(A.android&&e.cancelable&&e.preventDefault(),s.isTouched=!0,s.touchesStart.x="touchstart"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesStart.y="touchstart"===e.type?e.targetTouches[0].pageY:e.pageY))},onTouchMove:function(e){var t=this.zoom,i=t.gesture,s=t.image,a=t.velocity;if(i.$imageEl&&0!==i.$imageEl.length&&(this.allowClick=!1,s.isTouched&&i.$slideEl)){s.isMoved||(s.width=i.$imageEl[0].offsetWidth,s.height=i.$imageEl[0].offsetHeight,s.startX=d.getTranslate(i.$imageWrapEl[0],"x")||0,s.startY=d.getTranslate(i.$imageWrapEl[0],"y")||0,i.slideWidth=i.$slideEl[0].offsetWidth,i.slideHeight=i.$slideEl[0].offsetHeight,i.$imageWrapEl.transition(0),this.rtl&&(s.startX=-s.startX,s.startY=-s.startY));var r=s.width*t.scale,n=s.height*t.scale;if(!(r<i.slideWidth&&n<i.slideHeight)){if(s.minX=Math.min(i.slideWidth/2-r/2,0),s.maxX=-s.minX,s.minY=Math.min(i.slideHeight/2-n/2,0),s.maxY=-s.minY,s.touchesCurrent.x="touchmove"===e.type?e.targetTouches[0].pageX:e.pageX,s.touchesCurrent.y="touchmove"===e.type?e.targetTouches[0].pageY:e.pageY,!s.isMoved&&!t.isScaling){if(this.isHorizontal()&&(Math.floor(s.minX)===Math.floor(s.startX)&&s.touchesCurrent.x<s.touchesStart.x||Math.floor(s.maxX)===Math.floor(s.startX)&&s.touchesCurrent.x>s.touchesStart.x))return void(s.isTouched=!1);if(!this.isHorizontal()&&(Math.floor(s.minY)===Math.floor(s.startY)&&s.touchesCurrent.y<s.touchesStart.y||Math.floor(s.maxY)===Math.floor(s.startY)&&s.touchesCurrent.y>s.touchesStart.y))return void(s.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),s.isMoved=!0,s.currentX=s.touchesCurrent.x-s.touchesStart.x+s.startX,s.currentY=s.touchesCurrent.y-s.touchesStart.y+s.startY,s.currentX<s.minX&&(s.currentX=s.minX+1-Math.pow(s.minX-s.currentX+1,.8)),s.currentX>s.maxX&&(s.currentX=s.maxX-1+Math.pow(s.currentX-s.maxX+1,.8)),s.currentY<s.minY&&(s.currentY=s.minY+1-Math.pow(s.minY-s.currentY+1,.8)),s.currentY>s.maxY&&(s.currentY=s.maxY-1+Math.pow(s.currentY-s.maxY+1,.8)),a.prevPositionX||(a.prevPositionX=s.touchesCurrent.x),a.prevPositionY||(a.prevPositionY=s.touchesCurrent.y),a.prevTime||(a.prevTime=Date.now()),a.x=(s.touchesCurrent.x-a.prevPositionX)/(Date.now()-a.prevTime)/2,a.y=(s.touchesCurrent.y-a.prevPositionY)/(Date.now()-a.prevTime)/2,Math.abs(s.touchesCurrent.x-a.prevPositionX)<2&&(a.x=0),Math.abs(s.touchesCurrent.y-a.prevPositionY)<2&&(a.y=0),a.prevPositionX=s.touchesCurrent.x,a.prevPositionY=s.touchesCurrent.y,a.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+s.currentX+"px, "+s.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,i=e.image,s=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!i.isTouched||!i.isMoved)return i.isTouched=!1,void(i.isMoved=!1);i.isTouched=!1,i.isMoved=!1;var a=300,r=300,n=s.x*a,o=i.currentX+n,l=s.y*r,d=i.currentY+l;0!==s.x&&(a=Math.abs((o-i.currentX)/s.x)),0!==s.y&&(r=Math.abs((d-i.currentY)/s.y));var h=Math.max(a,r);i.currentX=o,i.currentY=d;var p=i.width*e.scale,c=i.height*e.scale;i.minX=Math.min(t.slideWidth/2-p/2,0),i.maxX=-i.minX,i.minY=Math.min(t.slideHeight/2-c/2,0),i.maxY=-i.minY,i.currentX=Math.max(Math.min(i.currentX,i.maxX),i.minX),i.currentY=Math.max(Math.min(i.currentY,i.maxY),i.minY),t.$imageWrapEl.transition(h).transform("translate3d("+i.currentX+"px, "+i.currentY+"px,0)")}},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl&&t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl&&t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,i,s,a,r,n,o,l,d,h,p,c,u,v,f,m,g=this.zoom,b=this.params.zoom,w=g.gesture,y=g.image;(w.$slideEl||(this.params.virtual&&this.params.virtual.enabled&&this.virtual?w.$slideEl=this.$wrapperEl.children("."+this.params.slideActiveClass):w.$slideEl=this.slides.eq(this.activeIndex),w.$imageEl=w.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),w.$imageWrapEl=w.$imageEl.parent("."+b.containerClass)),w.$imageEl&&0!==w.$imageEl.length)&&(w.$slideEl.addClass(""+b.zoomedSlideClass),void 0===y.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,i="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=y.touchesStart.x,i=y.touchesStart.y),g.scale=w.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,g.currentScale=w.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,e?(f=w.$slideEl[0].offsetWidth,m=w.$slideEl[0].offsetHeight,s=w.$slideEl.offset().left+f/2-t,a=w.$slideEl.offset().top+m/2-i,o=w.$imageEl[0].offsetWidth,l=w.$imageEl[0].offsetHeight,d=o*g.scale,h=l*g.scale,u=-(p=Math.min(f/2-d/2,0)),v=-(c=Math.min(m/2-h/2,0)),(r=s*g.scale)<p&&(r=p),r>u&&(r=u),(n=a*g.scale)<c&&(n=c),n>v&&(n=v)):(r=0,n=0),w.$imageWrapEl.transition(300).transform("translate3d("+r+"px, "+n+"px,0)"),w.$imageEl.transition(300).transform("translate3d(0,0,0) scale("+g.scale+")"))},out:function(){var e=this.zoom,t=this.params.zoom,i=e.gesture;i.$slideEl||(this.params.virtual&&this.params.virtual.enabled&&this.virtual?i.$slideEl=this.$wrapperEl.children("."+this.params.slideActiveClass):i.$slideEl=this.slides.eq(this.activeIndex),i.$imageEl=i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),i.$imageWrapEl=i.$imageEl.parent("."+t.containerClass)),i.$imageEl&&0!==i.$imageEl.length&&(e.scale=1,e.currentScale=1,i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),i.$slideEl.removeClass(""+t.zoomedSlideClass),i.$slideEl=void 0)},enable:function(){var e=this.zoom;if(!e.enabled){e.enabled=!0;var t=!("touchstart"!==this.touchEvents.start||!h.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!h.passiveListener||{passive:!1,capture:!0},s="."+this.params.slideClass;h.gestures?(this.$wrapperEl.on("gesturestart",s,e.onGestureStart,t),this.$wrapperEl.on("gesturechange",s,e.onGestureChange,t),this.$wrapperEl.on("gestureend",s,e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.on(this.touchEvents.start,s,e.onGestureStart,t),this.$wrapperEl.on(this.touchEvents.move,s,e.onGestureChange,i),this.$wrapperEl.on(this.touchEvents.end,s,e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.on(this.touchEvents.cancel,s,e.onGestureEnd,t)),this.$wrapperEl.on(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}},disable:function(){var e=this.zoom;if(e.enabled){this.zoom.enabled=!1;var t=!("touchstart"!==this.touchEvents.start||!h.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!h.passiveListener||{passive:!1,capture:!0},s="."+this.params.slideClass;h.gestures?(this.$wrapperEl.off("gesturestart",s,e.onGestureStart,t),this.$wrapperEl.off("gesturechange",s,e.onGestureChange,t),this.$wrapperEl.off("gestureend",s,e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.off(this.touchEvents.start,s,e.onGestureStart,t),this.$wrapperEl.off(this.touchEvents.move,s,e.onGestureChange,i),this.$wrapperEl.off(this.touchEvents.end,s,e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.off(this.touchEvents.cancel,s,e.onGestureEnd,t)),this.$wrapperEl.off(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}}},pe={loadInSlide:function(e,t){void 0===t&&(t=!0);var i=this,s=i.params.lazy;if(void 0!==e&&0!==i.slides.length){var a=i.virtual&&i.params.virtual.enabled?i.$wrapperEl.children("."+i.params.slideClass+'[data-swiper-slide-index="'+e+'"]'):i.slides.eq(e),r=a.find("."+s.elementClass+":not(."+s.loadedClass+"):not(."+s.loadingClass+")");!a.hasClass(s.elementClass)||a.hasClass(s.loadedClass)||a.hasClass(s.loadingClass)||(r=r.add(a[0])),0!==r.length&&r.each((function(e,r){var o=n(r);o.addClass(s.loadingClass);var l=o.attr("data-background"),d=o.attr("data-src"),h=o.attr("data-srcset"),p=o.attr("data-sizes"),c=o.parent("picture");i.loadImage(o[0],d||l,h,p,!1,(function(){if(null!=i&&i&&(!i||i.params)&&!i.destroyed){if(l?(o.css("background-image",'url("'+l+'")'),o.removeAttr("data-background")):(h&&(o.attr("srcset",h),o.removeAttr("data-srcset")),p&&(o.attr("sizes",p),o.removeAttr("data-sizes")),c.length&&c.children("source").each((function(e,t){var i=n(t);i.attr("data-srcset")&&(i.attr("srcset",i.attr("data-srcset")),i.removeAttr("data-srcset"))})),d&&(o.attr("src",d),o.removeAttr("data-src"))),o.addClass(s.loadedClass).removeClass(s.loadingClass),a.find("."+s.preloaderClass).remove(),i.params.loop&&t){var e=a.attr("data-swiper-slide-index");if(a.hasClass(i.params.slideDuplicateClass)){var r=i.$wrapperEl.children('[data-swiper-slide-index="'+e+'"]:not(.'+i.params.slideDuplicateClass+")");i.lazy.loadInSlide(r.index(),!1)}else{var u=i.$wrapperEl.children("."+i.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');i.lazy.loadInSlide(u.index(),!1)}}i.emit("lazyImageReady",a[0],o[0]),i.params.autoHeight&&i.updateAutoHeight()}})),i.emit("lazyImageLoad",a[0],o[0])}))}},load:function(){var e=this,t=e.$wrapperEl,i=e.params,s=e.slides,a=e.activeIndex,r=e.virtual&&i.virtual.enabled,o=i.lazy,l=i.slidesPerView;function d(e){if(r){if(t.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]').length)return!0}else if(s[e])return!0;return!1}function h(e){return r?n(e).attr("data-swiper-slide-index"):n(e).index()}if("auto"===l&&(l=0),e.lazy.initialImageLoaded||(e.lazy.initialImageLoaded=!0),e.params.watchSlidesVisibility)t.children("."+i.slideVisibleClass).each((function(t,i){var s=r?n(i).attr("data-swiper-slide-index"):n(i).index();e.lazy.loadInSlide(s)}));else if(l>1)for(var p=a;p<a+l;p+=1)d(p)&&e.lazy.loadInSlide(p);else e.lazy.loadInSlide(a);if(o.loadPrevNext)if(l>1||o.loadPrevNextAmount&&o.loadPrevNextAmount>1){for(var c=o.loadPrevNextAmount,u=l,v=Math.min(a+u+Math.max(c,u),s.length),f=Math.max(a-Math.max(u,c),0),m=a+l;m<v;m+=1)d(m)&&e.lazy.loadInSlide(m);for(var g=f;g<a;g+=1)d(g)&&e.lazy.loadInSlide(g)}else{var b=t.children("."+i.slideNextClass);b.length>0&&e.lazy.loadInSlide(h(b));var w=t.children("."+i.slidePrevClass);w.length>0&&e.lazy.loadInSlide(h(w))}}},ce={LinearSpline:function(e,t){var i,s,a,r,n,o=function(e,t){for(s=-1,i=e.length;i-s>1;)e[a=i+s>>1]<=t?s=a:i=a;return i};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(n=o(this.x,e),r=n-1,(e-this.x[r])*(this.y[n]-this.y[r])/(this.x[n]-this.x[r])+this.y[r]):0},this},getInterpolateFunction:function(e){this.controller.spline||(this.controller.spline=this.params.loop?new ce.LinearSpline(this.slidesGrid,e.slidesGrid):new ce.LinearSpline(this.snapGrid,e.snapGrid))},setTranslate:function(e,t){var i,s,a=this,r=a.controller.control;function n(e){var t=a.rtlTranslate?-a.translate:a.translate;"slide"===a.params.controller.by&&(a.controller.getInterpolateFunction(e),s=-a.controller.spline.interpolate(-t)),s&&"container"!==a.params.controller.by||(i=(e.maxTranslate()-e.minTranslate())/(a.maxTranslate()-a.minTranslate()),s=(t-a.minTranslate())*i+e.minTranslate()),a.params.controller.inverse&&(s=e.maxTranslate()-s),e.updateProgress(s),e.setTranslate(s,a),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(r))for(var o=0;o<r.length;o+=1)r[o]!==t&&r[o]instanceof j&&n(r[o]);else r instanceof j&&t!==r&&n(r)},setTransition:function(e,t){var i,s=this,a=s.controller.control;function r(t){t.setTransition(e,s),0!==e&&(t.transitionStart(),t.params.autoHeight&&d.nextTick((function(){t.updateAutoHeight()})),t.$wrapperEl.transitionEnd((function(){a&&(t.params.loop&&"slide"===s.params.controller.by&&t.loopFix(),t.transitionEnd())})))}if(Array.isArray(a))for(i=0;i<a.length;i+=1)a[i]!==t&&a[i]instanceof j&&r(a[i]);else a instanceof j&&t!==a&&r(a)}},ue={makeElFocusable:function(e){return e.attr("tabIndex","0"),e},makeElNotFocusable:function(e){return e.attr("tabIndex","-1"),e},addElRole:function(e,t){return e.attr("role",t),e},addElLabel:function(e,t){return e.attr("aria-label",t),e},disableEl:function(e){return e.attr("aria-disabled",!0),e},enableEl:function(e){return e.attr("aria-disabled",!1),e},onEnterKey:function(e){var t=this.params.a11y;if(13===e.keyCode){var i=n(e.target);this.navigation&&this.navigation.$nextEl&&i.is(this.navigation.$nextEl)&&(this.isEnd&&!this.params.loop||this.slideNext(),this.isEnd?this.a11y.notify(t.lastSlideMessage):this.a11y.notify(t.nextSlideMessage)),this.navigation&&this.navigation.$prevEl&&i.is(this.navigation.$prevEl)&&(this.isBeginning&&!this.params.loop||this.slidePrev(),this.isBeginning?this.a11y.notify(t.firstSlideMessage):this.a11y.notify(t.prevSlideMessage)),this.pagination&&i.is("."+this.params.pagination.bulletClass)&&i[0].click()}},notify:function(e){var t=this.a11y.liveRegion;0!==t.length&&(t.html(""),t.html(e))},updateNavigation:function(){if(!this.params.loop&&this.navigation){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;i&&i.length>0&&(this.isBeginning?(this.a11y.disableEl(i),this.a11y.makeElNotFocusable(i)):(this.a11y.enableEl(i),this.a11y.makeElFocusable(i))),t&&t.length>0&&(this.isEnd?(this.a11y.disableEl(t),this.a11y.makeElNotFocusable(t)):(this.a11y.enableEl(t),this.a11y.makeElFocusable(t)))}},updatePagination:function(){var e=this,t=e.params.a11y;e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.bullets.each((function(i,s){var a=n(s);e.a11y.makeElFocusable(a),e.a11y.addElRole(a,"button"),e.a11y.addElLabel(a,t.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1))}))},init:function(){this.$el.append(this.a11y.liveRegion);var e,t,i=this.params.a11y;this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&(this.a11y.makeElFocusable(e),this.a11y.addElRole(e,"button"),this.a11y.addElLabel(e,i.nextSlideMessage),e.on("keydown",this.a11y.onEnterKey)),t&&(this.a11y.makeElFocusable(t),this.a11y.addElRole(t,"button"),this.a11y.addElLabel(t,i.prevSlideMessage),t.on("keydown",this.a11y.onEnterKey)),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.on("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)},destroy:function(){var e,t;this.a11y.liveRegion&&this.a11y.liveRegion.length>0&&this.a11y.liveRegion.remove(),this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&e.off("keydown",this.a11y.onEnterKey),t&&t.off("keydown",this.a11y.onEnterKey),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.off("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)}},ve={init:function(){if(this.params.history){if(!a.history||!a.history.pushState)return this.params.history.enabled=!1,void(this.params.hashNavigation.enabled=!0);var e=this.history;e.initialized=!0,e.paths=ve.getPathValues(),(e.paths.key||e.paths.value)&&(e.scrollToSlide(0,e.paths.value,this.params.runCallbacksOnInit),this.params.history.replaceState||a.addEventListener("popstate",this.history.setHistoryPopState))}},destroy:function(){this.params.history.replaceState||a.removeEventListener("popstate",this.history.setHistoryPopState)},setHistoryPopState:function(){this.history.paths=ve.getPathValues(),this.history.scrollToSlide(this.params.speed,this.history.paths.value,!1)},getPathValues:function(){var e=a.location.pathname.slice(1).split("/").filter((function(e){return""!==e})),t=e.length;return{key:e[t-2],value:e[t-1]}},setHistory:function(e,t){if(this.history.initialized&&this.params.history.enabled){var i=this.slides.eq(t),s=ve.slugify(i.attr("data-history"));a.location.pathname.includes(e)||(s=e+"/"+s);var r=a.history.state;r&&r.value===s||(this.params.history.replaceState?a.history.replaceState({value:s},null,s):a.history.pushState({value:s},null,s))}},slugify:function(e){return e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},scrollToSlide:function(e,t,i){if(t)for(var s=0,a=this.slides.length;s<a;s+=1){var r=this.slides.eq(s);if(ve.slugify(r.attr("data-history"))===t&&!r.hasClass(this.params.slideDuplicateClass)){var n=r.index();this.slideTo(n,e,i)}}else this.slideTo(0,e,i)}},fe={onHashCange:function(){this.emit("hashChange");var e=i.location.hash.replace("#","");if(e!==this.slides.eq(this.activeIndex).attr("data-hash")){var t=this.$wrapperEl.children("."+this.params.slideClass+'[data-hash="'+e+'"]').index();if(void 0===t)return;this.slideTo(t)}},setHash:function(){if(this.hashNavigation.initialized&&this.params.hashNavigation.enabled)if(this.params.hashNavigation.replaceState&&a.history&&a.history.replaceState)a.history.replaceState(null,null,"#"+this.slides.eq(this.activeIndex).attr("data-hash")||""),this.emit("hashSet");else{var e=this.slides.eq(this.activeIndex),t=e.attr("data-hash")||e.attr("data-history");i.location.hash=t||"",this.emit("hashSet")}},init:function(){if(!(!this.params.hashNavigation.enabled||this.params.history&&this.params.history.enabled)){this.hashNavigation.initialized=!0;var e=i.location.hash.replace("#","");if(e)for(var t=0,s=this.slides.length;t<s;t+=1){var r=this.slides.eq(t);if((r.attr("data-hash")||r.attr("data-history"))===e&&!r.hasClass(this.params.slideDuplicateClass)){var o=r.index();this.slideTo(o,0,this.params.runCallbacksOnInit,!0)}}this.params.hashNavigation.watchState&&n(a).on("hashchange",this.hashNavigation.onHashCange)}},destroy:function(){this.params.hashNavigation.watchState&&n(a).off("hashchange",this.hashNavigation.onHashCange)}},me={run:function(){var e=this,t=e.slides.eq(e.activeIndex),i=e.params.autoplay.delay;t.attr("data-swiper-autoplay")&&(i=t.attr("data-swiper-autoplay")||e.params.autoplay.delay),clearTimeout(e.autoplay.timeout),e.autoplay.timeout=d.nextTick((function(){e.params.autoplay.reverseDirection?e.params.loop?(e.loopFix(),e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.isBeginning?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(e.slides.length-1,e.params.speed,!0,!0),e.emit("autoplay")):(e.slidePrev(e.params.speed,!0,!0),e.emit("autoplay")):e.params.loop?(e.loopFix(),e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")):e.isEnd?e.params.autoplay.stopOnLastSlide?e.autoplay.stop():(e.slideTo(0,e.params.speed,!0,!0),e.emit("autoplay")):(e.slideNext(e.params.speed,!0,!0),e.emit("autoplay")),e.params.cssMode&&e.autoplay.running&&e.autoplay.run()}),i)},start:function(){return void 0===this.autoplay.timeout&&(!this.autoplay.running&&(this.autoplay.running=!0,this.emit("autoplayStart"),this.autoplay.run(),!0))},stop:function(){return!!this.autoplay.running&&(void 0!==this.autoplay.timeout&&(this.autoplay.timeout&&(clearTimeout(this.autoplay.timeout),this.autoplay.timeout=void 0),this.autoplay.running=!1,this.emit("autoplayStop"),!0))},pause:function(e){this.autoplay.running&&(this.autoplay.paused||(this.autoplay.timeout&&clearTimeout(this.autoplay.timeout),this.autoplay.paused=!0,0!==e&&this.params.autoplay.waitForTransition?(this.$wrapperEl[0].addEventListener("transitionend",this.autoplay.onTransitionEnd),this.$wrapperEl[0].addEventListener("webkitTransitionEnd",this.autoplay.onTransitionEnd)):(this.autoplay.paused=!1,this.autoplay.run())))}},ge={setTranslate:function(){for(var e=this.slides,t=0;t<e.length;t+=1){var i=this.slides.eq(t),s=-i[0].swiperSlideOffset;this.params.virtualTranslate||(s-=this.translate);var a=0;this.isHorizontal()||(a=s,s=0);var r=this.params.fadeEffect.crossFade?Math.max(1-Math.abs(i[0].progress),0):1+Math.min(Math.max(i[0].progress,-1),0);i.css({opacity:r}).transform("translate3d("+s+"px, "+a+"px, 0px)")}},setTransition:function(e){var t=this,i=t.slides,s=t.$wrapperEl;if(i.transition(e),t.params.virtualTranslate&&0!==e){var a=!1;i.transitionEnd((function(){if(!a&&t&&!t.destroyed){a=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)s.trigger(e[i])}}))}}},be={setTranslate:function(){var e,t=this.$el,i=this.$wrapperEl,s=this.slides,a=this.width,r=this.height,o=this.rtlTranslate,l=this.size,d=this.params.cubeEffect,h=this.isHorizontal(),p=this.virtual&&this.params.virtual.enabled,c=0;d.shadow&&(h?(0===(e=i.find(".swiper-cube-shadow")).length&&(e=n('<div class="swiper-cube-shadow"></div>'),i.append(e)),e.css({height:a+"px"})):0===(e=t.find(".swiper-cube-shadow")).length&&(e=n('<div class="swiper-cube-shadow"></div>'),t.append(e)));for(var u=0;u<s.length;u+=1){var v=s.eq(u),f=u;p&&(f=parseInt(v.attr("data-swiper-slide-index"),10));var m=90*f,g=Math.floor(m/360);o&&(m=-m,g=Math.floor(-m/360));var b=Math.max(Math.min(v[0].progress,1),-1),w=0,y=0,x=0;f%4==0?(w=4*-g*l,x=0):(f-1)%4==0?(w=0,x=4*-g*l):(f-2)%4==0?(w=l+4*g*l,x=l):(f-3)%4==0&&(w=-l,x=3*l+4*l*g),o&&(w=-w),h||(y=w,w=0);var E="rotateX("+(h?0:-m)+"deg) rotateY("+(h?m:0)+"deg) translate3d("+w+"px, "+y+"px, "+x+"px)";if(b<=1&&b>-1&&(c=90*f+90*b,o&&(c=90*-f-90*b)),v.transform(E),d.slideShadows){var T=h?v.find(".swiper-slide-shadow-left"):v.find(".swiper-slide-shadow-top"),S=h?v.find(".swiper-slide-shadow-right"):v.find(".swiper-slide-shadow-bottom");0===T.length&&(T=n('<div class="swiper-slide-shadow-'+(h?"left":"top")+'"></div>'),v.append(T)),0===S.length&&(S=n('<div class="swiper-slide-shadow-'+(h?"right":"bottom")+'"></div>'),v.append(S)),T.length&&(T[0].style.opacity=Math.max(-b,0)),S.length&&(S[0].style.opacity=Math.max(b,0))}}if(i.css({"-webkit-transform-origin":"50% 50% -"+l/2+"px","-moz-transform-origin":"50% 50% -"+l/2+"px","-ms-transform-origin":"50% 50% -"+l/2+"px","transform-origin":"50% 50% -"+l/2+"px"}),d.shadow)if(h)e.transform("translate3d(0px, "+(a/2+d.shadowOffset)+"px, "+-a/2+"px) rotateX(90deg) rotateZ(0deg) scale("+d.shadowScale+")");else{var C=Math.abs(c)-90*Math.floor(Math.abs(c)/90),M=1.5-(Math.sin(2*C*Math.PI/360)/2+Math.cos(2*C*Math.PI/360)/2),P=d.shadowScale,z=d.shadowScale/M,k=d.shadowOffset;e.transform("scale3d("+P+", 1, "+z+") translate3d(0px, "+(r/2+k)+"px, "+-r/2/z+"px) rotateX(-90deg)")}var $=_.isSafari||_.isWebView?-l/2:0;i.transform("translate3d(0px,0,"+$+"px) rotateX("+(this.isHorizontal()?0:c)+"deg) rotateY("+(this.isHorizontal()?-c:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},we={setTranslate:function(){for(var e=this.slides,t=this.rtlTranslate,i=0;i<e.length;i+=1){var s=e.eq(i),a=s[0].progress;this.params.flipEffect.limitRotation&&(a=Math.max(Math.min(s[0].progress,1),-1));var r=-180*a,o=0,l=-s[0].swiperSlideOffset,d=0;if(this.isHorizontal()?t&&(r=-r):(d=l,l=0,o=-r,r=0),s[0].style.zIndex=-Math.abs(Math.round(a))+e.length,this.params.flipEffect.slideShadows){var h=this.isHorizontal()?s.find(".swiper-slide-shadow-left"):s.find(".swiper-slide-shadow-top"),p=this.isHorizontal()?s.find(".swiper-slide-shadow-right"):s.find(".swiper-slide-shadow-bottom");0===h.length&&(h=n('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"left":"top")+'"></div>'),s.append(h)),0===p.length&&(p=n('<div class="swiper-slide-shadow-'+(this.isHorizontal()?"right":"bottom")+'"></div>'),s.append(p)),h.length&&(h[0].style.opacity=Math.max(-a,0)),p.length&&(p[0].style.opacity=Math.max(a,0))}s.transform("translate3d("+l+"px, "+d+"px, 0px) rotateX("+o+"deg) rotateY("+r+"deg)")}},setTransition:function(e){var t=this,i=t.slides,s=t.activeIndex,a=t.$wrapperEl;if(i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.virtualTranslate&&0!==e){var r=!1;i.eq(s).transitionEnd((function(){if(!r&&t&&!t.destroyed){r=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i<e.length;i+=1)a.trigger(e[i])}}))}}},ye={setTranslate:function(){for(var e=this.width,t=this.height,i=this.slides,s=this.$wrapperEl,a=this.slidesSizesGrid,r=this.params.coverflowEffect,o=this.isHorizontal(),l=this.translate,d=o?e/2-l:t/2-l,p=o?r.rotate:-r.rotate,c=r.depth,u=0,v=i.length;u<v;u+=1){var f=i.eq(u),m=a[u],g=(d-f[0].swiperSlideOffset-m/2)/m*r.modifier,b=o?p*g:0,w=o?0:p*g,y=-c*Math.abs(g),x=r.stretch;"string"==typeof x&&-1!==x.indexOf("%")&&(x=parseFloat(r.stretch)/100*m);var E=o?0:x*g,T=o?x*g:0,S=1-(1-r.scale)*Math.abs(g);Math.abs(T)<.001&&(T=0),Math.abs(E)<.001&&(E=0),Math.abs(y)<.001&&(y=0),Math.abs(b)<.001&&(b=0),Math.abs(w)<.001&&(w=0),Math.abs(S)<.001&&(S=0);var C="translate3d("+T+"px,"+E+"px,"+y+"px)  rotateX("+w+"deg) rotateY("+b+"deg) scale("+S+")";if(f.transform(C),f[0].style.zIndex=1-Math.abs(Math.round(g)),r.slideShadows){var M=o?f.find(".swiper-slide-shadow-left"):f.find(".swiper-slide-shadow-top"),P=o?f.find(".swiper-slide-shadow-right"):f.find(".swiper-slide-shadow-bottom");0===M.length&&(M=n('<div class="swiper-slide-shadow-'+(o?"left":"top")+'"></div>'),f.append(M)),0===P.length&&(P=n('<div class="swiper-slide-shadow-'+(o?"right":"bottom")+'"></div>'),f.append(P)),M.length&&(M[0].style.opacity=g>0?g:0),P.length&&(P[0].style.opacity=-g>0?-g:0)}}(h.pointerEvents||h.prefixedPointerEvents)&&(s[0].style.perspectiveOrigin=d+"px 50%")},setTransition:function(e){this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}},xe={init:function(){var e=this.params.thumbs,t=this.constructor;e.swiper instanceof t?(this.thumbs.swiper=e.swiper,d.extend(this.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),d.extend(this.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1})):d.isObject(e.swiper)&&(this.thumbs.swiper=new t(d.extend({},e.swiper,{watchSlidesVisibility:!0,watchSlidesProgress:!0,slideToClickedSlide:!1})),this.thumbs.swiperCreated=!0),this.thumbs.swiper.$el.addClass(this.params.thumbs.thumbsContainerClass),this.thumbs.swiper.on("tap",this.thumbs.onThumbClick)},onThumbClick:function(){var e=this.thumbs.swiper;if(e){var t=e.clickedIndex,i=e.clickedSlide;if(!(i&&n(i).hasClass(this.params.thumbs.slideThumbActiveClass)||null==t)){var s;if(s=e.params.loop?parseInt(n(e.clickedSlide).attr("data-swiper-slide-index"),10):t,this.params.loop){var a=this.activeIndex;this.slides.eq(a).hasClass(this.params.slideDuplicateClass)&&(this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft,a=this.activeIndex);var r=this.slides.eq(a).prevAll('[data-swiper-slide-index="'+s+'"]').eq(0).index(),o=this.slides.eq(a).nextAll('[data-swiper-slide-index="'+s+'"]').eq(0).index();s=void 0===r?o:void 0===o?r:o-a<a-r?o:r}this.slideTo(s)}}},update:function(e){var t=this.thumbs.swiper;if(t){var i="auto"===t.params.slidesPerView?t.slidesPerViewDynamic():t.params.slidesPerView,s=this.params.thumbs.autoScrollOffset,a=s&&!t.params.loop;if(this.realIndex!==t.realIndex||a){var r,n,o=t.activeIndex;if(t.params.loop){t.slides.eq(o).hasClass(t.params.slideDuplicateClass)&&(t.loopFix(),t._clientLeft=t.$wrapperEl[0].clientLeft,o=t.activeIndex);var l=t.slides.eq(o).prevAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index(),d=t.slides.eq(o).nextAll('[data-swiper-slide-index="'+this.realIndex+'"]').eq(0).index();r=void 0===l?d:void 0===d?l:d-o==o-l?o:d-o<o-l?d:l,n=this.activeIndex>this.previousIndex?"next":"prev"}else n=(r=this.realIndex)>this.previousIndex?"next":"prev";a&&(r+="next"===n?s:-1*s),t.visibleSlidesIndexes&&t.visibleSlidesIndexes.indexOf(r)<0&&(t.params.centeredSlides?r=r>o?r-Math.floor(i/2)+1:r+Math.floor(i/2)-1:r>o&&(r=r-i+1),t.slideTo(r,e?0:void 0))}var h=1,p=this.params.thumbs.slideThumbActiveClass;if(this.params.slidesPerView>1&&!this.params.centeredSlides&&(h=this.params.slidesPerView),this.params.thumbs.multipleActiveThumbs||(h=1),h=Math.floor(h),t.slides.removeClass(p),t.params.loop||t.params.virtual&&t.params.virtual.enabled)for(var c=0;c<h;c+=1)t.$wrapperEl.children('[data-swiper-slide-index="'+(this.realIndex+c)+'"]').addClass(p);else for(var u=0;u<h;u+=1)t.slides.eq(this.realIndex+u).addClass(p)}}},Ee=[K,U,Z,Q,ee,ie,ae,{name:"mousewheel",params:{mousewheel:{enabled:!1,releaseOnEdges:!1,invert:!1,forceToAxis:!1,sensitivity:1,eventsTarged:"container"}},create:function(){d.extend(this,{mousewheel:{enabled:!1,enable:re.enable.bind(this),disable:re.disable.bind(this),handle:re.handle.bind(this),handleMouseEnter:re.handleMouseEnter.bind(this),handleMouseLeave:re.handleMouseLeave.bind(this),animateSlider:re.animateSlider.bind(this),releaseScroll:re.releaseScroll.bind(this),lastScrollTime:d.now(),lastEventBeforeSnap:void 0,recentWheelEvents:[]}})},on:{init:function(){!this.params.mousewheel.enabled&&this.params.cssMode&&this.mousewheel.disable(),this.params.mousewheel.enabled&&this.mousewheel.enable()},destroy:function(){this.params.cssMode&&this.mousewheel.enable(),this.mousewheel.enabled&&this.mousewheel.disable()}}},{name:"navigation",params:{navigation:{nextEl:null,prevEl:null,hideOnClick:!1,disabledClass:"swiper-button-disabled",hiddenClass:"swiper-button-hidden",lockClass:"swiper-button-lock"}},create:function(){d.extend(this,{navigation:{init:ne.init.bind(this),update:ne.update.bind(this),destroy:ne.destroy.bind(this),onNextClick:ne.onNextClick.bind(this),onPrevClick:ne.onPrevClick.bind(this)}})},on:{init:function(){this.navigation.init(),this.navigation.update()},toEdge:function(){this.navigation.update()},fromEdge:function(){this.navigation.update()},destroy:function(){this.navigation.destroy()},click:function(e){var t,i=this.navigation,s=i.$nextEl,a=i.$prevEl;!this.params.navigation.hideOnClick||n(e.target).is(a)||n(e.target).is(s)||(s?t=s.hasClass(this.params.navigation.hiddenClass):a&&(t=a.hasClass(this.params.navigation.hiddenClass)),!0===t?this.emit("navigationShow",this):this.emit("navigationHide",this),s&&s.toggleClass(this.params.navigation.hiddenClass),a&&a.toggleClass(this.params.navigation.hiddenClass))}}},{name:"pagination",params:{pagination:{el:null,bulletElement:"span",clickable:!1,hideOnClick:!1,renderBullet:null,renderProgressbar:null,renderFraction:null,renderCustom:null,progressbarOpposite:!1,type:"bullets",dynamicBullets:!1,dynamicMainBullets:1,formatFractionCurrent:function(e){return e},formatFractionTotal:function(e){return e},bulletClass:"swiper-pagination-bullet",bulletActiveClass:"swiper-pagination-bullet-active",modifierClass:"swiper-pagination-",currentClass:"swiper-pagination-current",totalClass:"swiper-pagination-total",hiddenClass:"swiper-pagination-hidden",progressbarFillClass:"swiper-pagination-progressbar-fill",progressbarOppositeClass:"swiper-pagination-progressbar-opposite",clickableClass:"swiper-pagination-clickable",lockClass:"swiper-pagination-lock"}},create:function(){d.extend(this,{pagination:{init:oe.init.bind(this),render:oe.render.bind(this),update:oe.update.bind(this),destroy:oe.destroy.bind(this),dynamicBulletIndex:0}})},on:{init:function(){this.pagination.init(),this.pagination.render(),this.pagination.update()},activeIndexChange:function(){(this.params.loop||void 0===this.snapIndex)&&this.pagination.update()},snapIndexChange:function(){this.params.loop||this.pagination.update()},slidesLengthChange:function(){this.params.loop&&(this.pagination.render(),this.pagination.update())},snapGridLengthChange:function(){this.params.loop||(this.pagination.render(),this.pagination.update())},destroy:function(){this.pagination.destroy()},click:function(e){this.params.pagination.el&&this.params.pagination.hideOnClick&&this.pagination.$el.length>0&&!n(e.target).hasClass(this.params.pagination.bulletClass)&&(!0===this.pagination.$el.hasClass(this.params.pagination.hiddenClass)?this.emit("paginationShow",this):this.emit("paginationHide",this),this.pagination.$el.toggleClass(this.params.pagination.hiddenClass))}}},{name:"scrollbar",params:{scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}},create:function(){d.extend(this,{scrollbar:{init:le.init.bind(this),destroy:le.destroy.bind(this),updateSize:le.updateSize.bind(this),setTranslate:le.setTranslate.bind(this),setTransition:le.setTransition.bind(this),enableDraggable:le.enableDraggable.bind(this),disableDraggable:le.disableDraggable.bind(this),setDragPosition:le.setDragPosition.bind(this),getPointerPosition:le.getPointerPosition.bind(this),onDragStart:le.onDragStart.bind(this),onDragMove:le.onDragMove.bind(this),onDragEnd:le.onDragEnd.bind(this),isTouched:!1,timeout:null,dragTimeout:null}})},on:{init:function(){this.scrollbar.init(),this.scrollbar.updateSize(),this.scrollbar.setTranslate()},update:function(){this.scrollbar.updateSize()},resize:function(){this.scrollbar.updateSize()},observerUpdate:function(){this.scrollbar.updateSize()},setTranslate:function(){this.scrollbar.setTranslate()},setTransition:function(e){this.scrollbar.setTransition(e)},destroy:function(){this.scrollbar.destroy()}}},{name:"parallax",params:{parallax:{enabled:!1}},create:function(){d.extend(this,{parallax:{setTransform:de.setTransform.bind(this),setTranslate:de.setTranslate.bind(this),setTransition:de.setTransition.bind(this)}})},on:{beforeInit:function(){this.params.parallax.enabled&&(this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},init:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTranslate:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTransition:function(e){this.params.parallax.enabled&&this.parallax.setTransition(e)}}},{name:"zoom",params:{zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}},create:function(){var e=this,t={enabled:!1,scale:1,currentScale:1,isScaling:!1,gesture:{$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0}};"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function(i){t[i]=he[i].bind(e)})),d.extend(e,{zoom:t});var i=1;Object.defineProperty(e.zoom,"scale",{get:function(){return i},set:function(t){if(i!==t){var s=e.zoom.gesture.$imageEl?e.zoom.gesture.$imageEl[0]:void 0,a=e.zoom.gesture.$slideEl?e.zoom.gesture.$slideEl[0]:void 0;e.emit("zoomChange",t,s,a)}i=t}})},on:{init:function(){this.params.zoom.enabled&&this.zoom.enable()},destroy:function(){this.zoom.disable()},touchStart:function(e){this.zoom.enabled&&this.zoom.onTouchStart(e)},touchEnd:function(e){this.zoom.enabled&&this.zoom.onTouchEnd(e)},doubleTap:function(e){this.params.zoom.enabled&&this.zoom.enabled&&this.params.zoom.toggle&&this.zoom.toggle(e)},transitionEnd:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.zoom.onTransitionEnd()},slideChange:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.params.cssMode&&this.zoom.onTransitionEnd()}}},{name:"lazy",params:{lazy:{enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}},create:function(){d.extend(this,{lazy:{initialImageLoaded:!1,load:pe.load.bind(this),loadInSlide:pe.loadInSlide.bind(this)}})},on:{beforeInit:function(){this.params.lazy.enabled&&this.params.preloadImages&&(this.params.preloadImages=!1)},init:function(){this.params.lazy.enabled&&!this.params.loop&&0===this.params.initialSlide&&this.lazy.load()},scroll:function(){this.params.freeMode&&!this.params.freeModeSticky&&this.lazy.load()},resize:function(){this.params.lazy.enabled&&this.lazy.load()},scrollbarDragMove:function(){this.params.lazy.enabled&&this.lazy.load()},transitionStart:function(){this.params.lazy.enabled&&(this.params.lazy.loadOnTransitionStart||!this.params.lazy.loadOnTransitionStart&&!this.lazy.initialImageLoaded)&&this.lazy.load()},transitionEnd:function(){this.params.lazy.enabled&&!this.params.lazy.loadOnTransitionStart&&this.lazy.load()},slideChange:function(){this.params.lazy.enabled&&this.params.cssMode&&this.lazy.load()}}},{name:"controller",params:{controller:{control:void 0,inverse:!1,by:"slide"}},create:function(){d.extend(this,{controller:{control:this.params.controller.control,getInterpolateFunction:ce.getInterpolateFunction.bind(this),setTranslate:ce.setTranslate.bind(this),setTransition:ce.setTransition.bind(this)}})},on:{update:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},resize:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},observerUpdate:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},setTranslate:function(e,t){this.controller.control&&this.controller.setTranslate(e,t)},setTransition:function(e,t){this.controller.control&&this.controller.setTransition(e,t)}}},{name:"a11y",params:{a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}"}},create:function(){var e=this;d.extend(e,{a11y:{liveRegion:n('<span class="'+e.params.a11y.notificationClass+'" aria-live="assertive" aria-atomic="true"></span>')}}),Object.keys(ue).forEach((function(t){e.a11y[t]=ue[t].bind(e)}))},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){d.extend(this,{history:{init:ve.init.bind(this),setHistory:ve.setHistory.bind(this),setHistoryPopState:ve.setHistoryPopState.bind(this),scrollToSlide:ve.scrollToSlide.bind(this),destroy:ve.destroy.bind(this)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)},slideChange:function(){this.history.initialized&&this.params.cssMode&&this.history.setHistory(this.params.history.key,this.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){d.extend(this,{hashNavigation:{initialized:!1,init:fe.init.bind(this),destroy:fe.destroy.bind(this),setHash:fe.setHash.bind(this),onHashCange:fe.onHashCange.bind(this)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()},slideChange:function(){this.hashNavigation.initialized&&this.params.cssMode&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var e=this;d.extend(e,{autoplay:{running:!1,paused:!1,run:me.run.bind(e),start:me.start.bind(e),stop:me.stop.bind(e),pause:me.pause.bind(e),onVisibilityChange:function(){"hidden"===document.visibilityState&&e.autoplay.running&&e.autoplay.pause(),"visible"===document.visibilityState&&e.autoplay.paused&&(e.autoplay.run(),e.autoplay.paused=!1)},onTransitionEnd:function(t){e&&!e.destroyed&&e.$wrapperEl&&t.target===this&&(e.$wrapperEl[0].removeEventListener("transitionend",e.autoplay.onTransitionEnd),e.$wrapperEl[0].removeEventListener("webkitTransitionEnd",e.autoplay.onTransitionEnd),e.autoplay.paused=!1,e.autoplay.running?e.autoplay.run():e.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&(this.autoplay.start(),document.addEventListener("visibilitychange",this.autoplay.onVisibilityChange))},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},touchEnd:function(){this.params.cssMode&&this.autoplay.paused&&!this.params.autoplay.disableOnInteraction&&this.autoplay.run()},destroy:function(){this.autoplay.running&&this.autoplay.stop(),document.removeEventListener("visibilitychange",this.autoplay.onVisibilityChange)}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){d.extend(this,{fadeEffect:{setTranslate:ge.setTranslate.bind(this),setTransition:ge.setTransition.bind(this)}})},on:{beforeInit:function(){if("fade"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"fade");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){d.extend(this,{cubeEffect:{setTranslate:be.setTranslate.bind(this),setTransition:be.setTransition.bind(this)}})},on:{beforeInit:function(){if("cube"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"cube"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){d.extend(this,{flipEffect:{setTranslate:we.setTranslate.bind(this),setTransition:we.setTransition.bind(this)}})},on:{beforeInit:function(){if("flip"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"flip"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}},create:function(){d.extend(this,{coverflowEffect:{setTranslate:ye.setTranslate.bind(this),setTransition:ye.setTransition.bind(this)}})},on:{beforeInit:function(){"coverflow"===this.params.effect&&(this.classNames.push(this.params.containerModifierClass+"coverflow"),this.classNames.push(this.params.containerModifierClass+"3d"),this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){d.extend(this,{thumbs:{swiper:null,init:xe.init.bind(this),update:xe.update.bind(this),onThumbClick:xe.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===j.use&&(j.use=j.Class.use,j.installModule=j.Class.installModule),j.use(Ee),j}));
//# sourceMappingURL=swiper.min.js.map;
// source --> https://www.sunshoreboston.com/wp-content/plugins/trx_addons/js/tweenmax/GSAP/3.12.2/gsap.min.js 
/*!
 * GSAP 3.12.2
 * https://greensock.com
 * 
 * @license Copyright 2023, GreenSock. All rights reserved.
 * Subject to the terms at https://greensock.com/standard-license or for Club GreenSock members, the agreement issued with that membership.
 * @author: Jack Doyle, jack@greensock.com
 */

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).window=t.window||{})}(this,function(e){"use strict";function _inheritsLoose(t,e){t.prototype=Object.create(e.prototype),(t.prototype.constructor=t).__proto__=e}function _assertThisInitialized(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function r(t){return"string"==typeof t}function s(t){return"function"==typeof t}function t(t){return"number"==typeof t}function u(t){return void 0===t}function v(t){return"object"==typeof t}function w(t){return!1!==t}function x(){return"undefined"!=typeof window}function y(t){return s(t)||r(t)}function P(t){return(i=yt(t,ot))&&Ee}function Q(t,e){return console.warn("Invalid property",t,"set to",e,"Missing plugin? gsap.registerPlugin()")}function R(t,e){return!e&&console.warn(t)}function S(t,e){return t&&(ot[t]=e)&&i&&(i[t]=e)||ot}function T(){return 0}function ea(t){var e,r,i=t[0];if(v(i)||s(i)||(t=[t]),!(e=(i._gsap||{}).harness)){for(r=gt.length;r--&&!gt[r].targetTest(i););e=gt[r]}for(r=t.length;r--;)t[r]&&(t[r]._gsap||(t[r]._gsap=new Vt(t[r],e)))||t.splice(r,1);return t}function fa(t){return t._gsap||ea(Ot(t))[0]._gsap}function ga(t,e,r){return(r=t[e])&&s(r)?t[e]():u(r)&&t.getAttribute&&t.getAttribute(e)||r}function ha(t,e){return(t=t.split(",")).forEach(e)||t}function ia(t){return Math.round(1e5*t)/1e5||0}function ja(t){return Math.round(1e7*t)/1e7||0}function ka(t,e){var r=e.charAt(0),i=parseFloat(e.substr(2));return t=parseFloat(t),"+"===r?t+i:"-"===r?t-i:"*"===r?t*i:t/i}function la(t,e){for(var r=e.length,i=0;t.indexOf(e[i])<0&&++i<r;);return i<r}function ma(){var t,e,r=ct.length,i=ct.slice(0);for(dt={},t=ct.length=0;t<r;t++)(e=i[t])&&e._lazy&&(e.render(e._lazy[0],e._lazy[1],!0)._lazy=0)}function na(t,e,r,i){ct.length&&!L&&ma(),t.render(e,r,i||L&&e<0&&(t._initted||t._startAt)),ct.length&&!L&&ma()}function oa(t){var e=parseFloat(t);return(e||0===e)&&(t+"").match(at).length<2?e:r(t)?t.trim():t}function pa(t){return t}function qa(t,e){for(var r in e)r in t||(t[r]=e[r]);return t}function ta(t,e){for(var r in e)"__proto__"!==r&&"constructor"!==r&&"prototype"!==r&&(t[r]=v(e[r])?ta(t[r]||(t[r]={}),e[r]):e[r]);return t}function ua(t,e){var r,i={};for(r in t)r in e||(i[r]=t[r]);return i}function va(t){var e=t.parent||I,r=t.keyframes?function _setKeyframeDefaults(i){return function(t,e){for(var r in e)r in t||"duration"===r&&i||"ease"===r||(t[r]=e[r])}}($(t.keyframes)):qa;if(w(t.inherit))for(;e;)r(t,e.vars.defaults),e=e.parent||e._dp;return t}function xa(t,e,r,i,n){void 0===r&&(r="_first"),void 0===i&&(i="_last");var a,s=t[i];if(n)for(a=e[n];s&&s[n]>a;)s=s._prev;return s?(e._next=s._next,s._next=e):(e._next=t[r],t[r]=e),e._next?e._next._prev=e:t[i]=e,e._prev=s,e.parent=e._dp=t,e}function ya(t,e,r,i){void 0===r&&(r="_first"),void 0===i&&(i="_last");var n=e._prev,a=e._next;n?n._next=a:t[r]===e&&(t[r]=a),a?a._prev=n:t[i]===e&&(t[i]=n),e._next=e._prev=e.parent=null}function za(t,e){t.parent&&(!e||t.parent.autoRemoveChildren)&&t.parent.remove&&t.parent.remove(t),t._act=0}function Aa(t,e){if(t&&(!e||e._end>t._dur||e._start<0))for(var r=t;r;)r._dirty=1,r=r.parent;return t}function Ca(t,e,r,i){return t._startAt&&(L?t._startAt.revert(ht):t.vars.immediateRender&&!t.vars.autoRevert||t._startAt.render(e,!0,i))}function Ea(t){return t._repeat?Tt(t._tTime,t=t.duration()+t._rDelay)*t:0}function Ga(t,e){return(t-e._start)*e._ts+(0<=e._ts?0:e._dirty?e.totalDuration():e._tDur)}function Ha(t){return t._end=ja(t._start+(t._tDur/Math.abs(t._ts||t._rts||X)||0))}function Ia(t,e){var r=t._dp;return r&&r.smoothChildTiming&&t._ts&&(t._start=ja(r._time-(0<t._ts?e/t._ts:((t._dirty?t.totalDuration():t._tDur)-e)/-t._ts)),Ha(t),r._dirty||Aa(r,t)),t}function Ja(t,e){var r;if((e._time||!e._dur&&e._initted||e._start<t._time&&(e._dur||!e.add))&&(r=Ga(t.rawTime(),e),(!e._dur||kt(0,e.totalDuration(),r)-e._tTime>X)&&e.render(r,!0)),Aa(t,e)._dp&&t._initted&&t._time>=t._dur&&t._ts){if(t._dur<t.duration())for(r=t;r._dp;)0<=r.rawTime()&&r.totalTime(r._tTime),r=r._dp;t._zTime=-X}}function Ka(e,r,i,n){return r.parent&&za(r),r._start=ja((t(i)?i:i||e!==I?xt(e,i,r):e._time)+r._delay),r._end=ja(r._start+(r.totalDuration()/Math.abs(r.timeScale())||0)),xa(e,r,"_first","_last",e._sort?"_start":0),bt(r)||(e._recent=r),n||Ja(e,r),e._ts<0&&Ia(e,e._tTime),e}function La(t,e){return(ot.ScrollTrigger||Q("scrollTrigger",e))&&ot.ScrollTrigger.create(e,t)}function Ma(t,e,r,i,n){return Gt(t,e,n),t._initted?!r&&t._pt&&!L&&(t._dur&&!1!==t.vars.lazy||!t._dur&&t.vars.lazy)&&f!==Rt.frame?(ct.push(t),t._lazy=[n,i],1):void 0:1}function Ra(t,e,r,i){var n=t._repeat,a=ja(e)||0,s=t._tTime/t._tDur;return s&&!i&&(t._time*=a/t._dur),t._dur=a,t._tDur=n?n<0?1e10:ja(a*(n+1)+t._rDelay*n):a,0<s&&!i&&Ia(t,t._tTime=t._tDur*s),t.parent&&Ha(t),r||Aa(t.parent,t),t}function Sa(t){return t instanceof Xt?Aa(t):Ra(t,t._dur)}function Va(e,r,i){var n,a,s=t(r[1]),o=(s?2:1)+(e<2?0:1),u=r[o];if(s&&(u.duration=r[1]),u.parent=i,e){for(n=u,a=i;a&&!("immediateRender"in n);)n=a.vars.defaults||{},a=w(a.vars.inherit)&&a.parent;u.immediateRender=w(n.immediateRender),e<2?u.runBackwards=1:u.startAt=r[o-1]}return new Zt(r[0],u,r[1+o])}function Wa(t,e){return t||0===t?e(t):e}function Ya(t,e){return r(t)&&(e=st.exec(t))?e[1]:""}function _a(t,e){return t&&v(t)&&"length"in t&&(!e&&!t.length||t.length-1 in t&&v(t[0]))&&!t.nodeType&&t!==h}function cb(r){return r=Ot(r)[0]||R("Invalid scope")||{},function(t){var e=r.current||r.nativeElement||r;return Ot(t,e.querySelectorAll?e:e===r?R("Invalid scope")||a.createElement("div"):r)}}function db(t){return t.sort(function(){return.5-Math.random()})}function eb(t){if(s(t))return t;var p=v(t)?t:{each:t},_=jt(p.ease),m=p.from||0,g=parseFloat(p.base)||0,y={},e=0<m&&m<1,T=isNaN(m)||e,b=p.axis,w=m,x=m;return r(m)?w=x={center:.5,edges:.5,end:1}[m]||0:!e&&T&&(w=m[0],x=m[1]),function(t,e,r){var i,n,a,s,o,u,h,l,f,c=(r||p).length,d=y[c];if(!d){if(!(f="auto"===p.grid?0:(p.grid||[1,U])[1])){for(h=-U;h<(h=r[f++].getBoundingClientRect().left)&&f<c;);f--}for(d=y[c]=[],i=T?Math.min(f,c)*w-.5:m%f,n=f===U?0:T?c*x/f-.5:m/f|0,l=U,u=h=0;u<c;u++)a=u%f-i,s=n-(u/f|0),d[u]=o=b?Math.abs("y"===b?s:a):K(a*a+s*s),h<o&&(h=o),o<l&&(l=o);"random"===m&&db(d),d.max=h-l,d.min=l,d.v=c=(parseFloat(p.amount)||parseFloat(p.each)*(c<f?c-1:b?"y"===b?c/f:f:Math.max(f,c/f))||0)*("edges"===m?-1:1),d.b=c<0?g-c:g,d.u=Ya(p.amount||p.each)||0,_=_&&c<0?Yt(_):_}return c=(d[t]-d.min)/d.max||0,ja(d.b+(_?_(c):c)*d.v)+d.u}}function fb(i){var n=Math.pow(10,((i+"").split(".")[1]||"").length);return function(e){var r=ja(Math.round(parseFloat(e)/i)*i*n);return(r-r%1)/n+(t(e)?0:Ya(e))}}function gb(h,e){var l,f,r=$(h);return!r&&v(h)&&(l=r=h.radius||U,h.values?(h=Ot(h.values),(f=!t(h[0]))&&(l*=l)):h=fb(h.increment)),Wa(e,r?s(h)?function(t){return f=h(t),Math.abs(f-t)<=l?f:t}:function(e){for(var r,i,n=parseFloat(f?e.x:e),a=parseFloat(f?e.y:0),s=U,o=0,u=h.length;u--;)(r=f?(r=h[u].x-n)*r+(i=h[u].y-a)*i:Math.abs(h[u]-n))<s&&(s=r,o=u);return o=!l||s<=l?h[o]:e,f||o===e||t(e)?o:o+Ya(e)}:fb(h))}function hb(t,e,r,i){return Wa($(t)?!e:!0===r?!!(r=0):!i,function(){return $(t)?t[~~(Math.random()*t.length)]:(r=r||1e-5)&&(i=r<1?Math.pow(10,(r+"").length-2):1)&&Math.floor(Math.round((t-r/2+Math.random()*(e-t+.99*r))/r)*r*i)/i})}function lb(e,r,t){return Wa(t,function(t){return e[~~r(t)]})}function ob(t){for(var e,r,i,n,a=0,s="";~(e=t.indexOf("random(",a));)i=t.indexOf(")",e),n="["===t.charAt(e+7),r=t.substr(e+7,i-e-7).match(n?at:tt),s+=t.substr(a,e-a)+hb(n?r:+r[0],n?0:+r[1],+r[2]||1e-5),a=i+1;return s+t.substr(a,t.length-a)}function rb(t,e,r){var i,n,a,s=t.labels,o=U;for(i in s)(n=s[i]-e)<0==!!r&&n&&o>(n=Math.abs(n))&&(a=i,o=n);return a}function tb(t){return za(t),t.scrollTrigger&&t.scrollTrigger.kill(!!L),t.progress()<1&&At(t,"onInterrupt"),t}function wb(t){if(x()&&t){var e=(t=!t.name&&t.default||t).name,r=s(t),i=e&&!r&&t.init?function(){this._props=[]}:t,n={init:T,render:he,add:Qt,kill:ce,modifier:fe,rawVars:0},a={targetTest:0,get:0,getSetter:ne,aliases:{},register:0};if(Ft(),t!==i){if(pt[e])return;qa(i,qa(ua(t,n),a)),yt(i.prototype,yt(n,ua(t,a))),pt[i.prop=e]=i,t.targetTest&&(gt.push(i),ft[e]=1),e=("css"===e?"CSS":e.charAt(0).toUpperCase()+e.substr(1))+"Plugin"}S(e,i),t.register&&t.register(Ee,i,_e)}else t&&Ct.push(t)}function zb(t,e,r){return(6*(t+=t<0?1:1<t?-1:0)<1?e+(r-e)*t*6:t<.5?r:3*t<2?e+(r-e)*(2/3-t)*6:e)*St+.5|0}function Ab(e,r,i){var n,a,s,o,u,h,l,f,c,d,p=e?t(e)?[e>>16,e>>8&St,e&St]:0:Et.black;if(!p){if(","===e.substr(-1)&&(e=e.substr(0,e.length-1)),Et[e])p=Et[e];else if("#"===e.charAt(0)){if(e.length<6&&(e="#"+(n=e.charAt(1))+n+(a=e.charAt(2))+a+(s=e.charAt(3))+s+(5===e.length?e.charAt(4)+e.charAt(4):"")),9===e.length)return[(p=parseInt(e.substr(1,6),16))>>16,p>>8&St,p&St,parseInt(e.substr(7),16)/255];p=[(e=parseInt(e.substr(1),16))>>16,e>>8&St,e&St]}else if("hsl"===e.substr(0,3))if(p=d=e.match(tt),r){if(~e.indexOf("="))return p=e.match(et),i&&p.length<4&&(p[3]=1),p}else o=+p[0]%360/360,u=p[1]/100,n=2*(h=p[2]/100)-(a=h<=.5?h*(u+1):h+u-h*u),3<p.length&&(p[3]*=1),p[0]=zb(o+1/3,n,a),p[1]=zb(o,n,a),p[2]=zb(o-1/3,n,a);else p=e.match(tt)||Et.transparent;p=p.map(Number)}return r&&!d&&(n=p[0]/St,a=p[1]/St,s=p[2]/St,h=((l=Math.max(n,a,s))+(f=Math.min(n,a,s)))/2,l===f?o=u=0:(c=l-f,u=.5<h?c/(2-l-f):c/(l+f),o=l===n?(a-s)/c+(a<s?6:0):l===a?(s-n)/c+2:(n-a)/c+4,o*=60),p[0]=~~(o+.5),p[1]=~~(100*u+.5),p[2]=~~(100*h+.5)),i&&p.length<4&&(p[3]=1),p}function Bb(t){var r=[],i=[],n=-1;return t.split(Dt).forEach(function(t){var e=t.match(rt)||[];r.push.apply(r,e),i.push(n+=e.length+1)}),r.c=i,r}function Cb(t,e,r){var i,n,a,s,o="",u=(t+o).match(Dt),h=e?"hsla(":"rgba(",l=0;if(!u)return t;if(u=u.map(function(t){return(t=Ab(t,e,1))&&h+(e?t[0]+","+t[1]+"%,"+t[2]+"%,"+t[3]:t.join(","))+")"}),r&&(a=Bb(t),(i=r.c).join(o)!==a.c.join(o)))for(s=(n=t.replace(Dt,"1").split(rt)).length-1;l<s;l++)o+=n[l]+(~i.indexOf(l)?u.shift()||h+"0,0,0,0)":(a.length?a:u.length?u:r).shift());if(!n)for(s=(n=t.split(Dt)).length-1;l<s;l++)o+=n[l]+u[l];return o+n[s]}function Fb(t){var e,r=t.join(" ");if(Dt.lastIndex=0,Dt.test(r))return e=zt.test(r),t[1]=Cb(t[1],e),t[0]=Cb(t[0],e,Bb(t[1])),!0}function Ob(t){var e=(t+"").split("("),r=Bt[e[0]];return r&&1<e.length&&r.config?r.config.apply(null,~t.indexOf("{")?[function _parseObjectInString(t){for(var e,r,i,n={},a=t.substr(1,t.length-3).split(":"),s=a[0],o=1,u=a.length;o<u;o++)r=a[o],e=o!==u-1?r.lastIndexOf(","):r.length,i=r.substr(0,e),n[s]=isNaN(i)?i.replace(It,"").trim():+i,s=r.substr(e+1).trim();return n}(e[1])]:function _valueInParentheses(t){var e=t.indexOf("(")+1,r=t.indexOf(")"),i=t.indexOf("(",e);return t.substring(e,~i&&i<r?t.indexOf(")",r+1):r)}(t).split(",").map(oa)):Bt._CE&&Lt.test(t)?Bt._CE("",t):r}function Qb(t,e){for(var r,i=t._first;i;)i instanceof Xt?Qb(i,e):!i.vars.yoyoEase||i._yoyo&&i._repeat||i._yoyo===e||(i.timeline?Qb(i.timeline,e):(r=i._ease,i._ease=i._yEase,i._yEase=r,i._yoyo=e)),i=i._next}function Sb(t,e,r,i){void 0===r&&(r=function easeOut(t){return 1-e(1-t)}),void 0===i&&(i=function easeInOut(t){return t<.5?e(2*t)/2:1-e(2*(1-t))/2});var n,a={easeIn:e,easeOut:r,easeInOut:i};return ha(t,function(t){for(var e in Bt[t]=ot[t]=a,Bt[n=t.toLowerCase()]=r,a)Bt[n+("easeIn"===e?".in":"easeOut"===e?".out":".inOut")]=Bt[t+"."+e]=a[e]}),a}function Tb(e){return function(t){return t<.5?(1-e(1-2*t))/2:.5+e(2*(t-.5))/2}}function Ub(r,t,e){function Jm(t){return 1===t?1:i*Math.pow(2,-10*t)*H((t-a)*n)+1}var i=1<=t?t:1,n=(e||(r?.3:.45))/(t<1?t:1),a=n/N*(Math.asin(1/i)||0),s="out"===r?Jm:"in"===r?function(t){return 1-Jm(1-t)}:Tb(Jm);return n=N/n,s.config=function(t,e){return Ub(r,t,e)},s}function Vb(e,r){function Rm(t){return t?--t*t*((r+1)*t+r)+1:0}void 0===r&&(r=1.70158);var t="out"===e?Rm:"in"===e?function(t){return 1-Rm(1-t)}:Tb(Rm);return t.config=function(t){return Vb(e,t)},t}var B,L,l,I,h,n,a,i,o,f,c,d,p,_,m,g,b,k,M,O,A,C,E,D,z,F,Y,j,q={autoSleep:120,force3D:"auto",nullTargetWarn:1,units:{lineHeight:""}},V={duration:.5,overwrite:!1,delay:0},U=1e8,X=1/U,N=2*Math.PI,W=N/4,G=0,K=Math.sqrt,J=Math.cos,H=Math.sin,Z="function"==typeof ArrayBuffer&&ArrayBuffer.isView||function(){},$=Array.isArray,tt=/(?:-?\.?\d|\.)+/gi,et=/[-+=.]*\d+[.e\-+]*\d*[e\-+]*\d*/g,rt=/[-+=.]*\d+[.e-]*\d*[a-z%]*/g,it=/[-+=.]*\d+\.?\d*(?:e-|e\+)?\d*/gi,nt=/[+-]=-?[.\d]+/,at=/[^,'"\[\]\s]+/gi,st=/^[+\-=e\s\d]*\d+[.\d]*([a-z]*|%)\s*$/i,ot={},ut={suppressEvents:!0,isStart:!0,kill:!1},ht={suppressEvents:!0,kill:!1},lt={suppressEvents:!0},ft={},ct=[],dt={},pt={},_t={},mt=30,gt=[],vt="",yt=function _merge(t,e){for(var r in e)t[r]=e[r];return t},Tt=function _animationCycle(t,e){var r=Math.floor(t/=e);return t&&r===t?r-1:r},bt=function _isFromOrFromStart(t){var e=t.data;return"isFromStart"===e||"isStart"===e},wt={_start:0,endTime:T,totalDuration:T},xt=function _parsePosition(t,e,i){var n,a,s,o=t.labels,u=t._recent||wt,h=t.duration()>=U?u.endTime(!1):t._dur;return r(e)&&(isNaN(e)||e in o)?(a=e.charAt(0),s="%"===e.substr(-1),n=e.indexOf("="),"<"===a||">"===a?(0<=n&&(e=e.replace(/=/,"")),("<"===a?u._start:u.endTime(0<=u._repeat))+(parseFloat(e.substr(1))||0)*(s?(n<0?u:i).totalDuration()/100:1)):n<0?(e in o||(o[e]=h),o[e]):(a=parseFloat(e.charAt(n-1)+e.substr(n+1)),s&&i&&(a=a/100*($(i)?i[0]:i).totalDuration()),1<n?_parsePosition(t,e.substr(0,n-1),i)+a:h+a)):null==e?h:+e},kt=function _clamp(t,e,r){return r<t?t:e<r?e:r},Mt=[].slice,Ot=function toArray(t,e,i){return l&&!e&&l.selector?l.selector(t):!r(t)||i||!n&&Ft()?$(t)?function _flatten(t,e,i){return void 0===i&&(i=[]),t.forEach(function(t){return r(t)&&!e||_a(t,1)?i.push.apply(i,Ot(t)):i.push(t)})||i}(t,i):_a(t)?Mt.call(t,0):t?[t]:[]:Mt.call((e||a).querySelectorAll(t),0)},Pt=function mapRange(e,t,r,i,n){var a=t-e,s=i-r;return Wa(n,function(t){return r+((t-e)/a*s||0)})},At=function _callback(t,e,r){var i,n,a,s=t.vars,o=s[e],u=l,h=t._ctx;if(o)return i=s[e+"Params"],n=s.callbackScope||t,r&&ct.length&&ma(),h&&(l=h),a=i?o.apply(n,i):o.call(n),l=u,a},Ct=[],St=255,Et={aqua:[0,St,St],lime:[0,St,0],silver:[192,192,192],black:[0,0,0],maroon:[128,0,0],teal:[0,128,128],blue:[0,0,St],navy:[0,0,128],white:[St,St,St],olive:[128,128,0],yellow:[St,St,0],orange:[St,165,0],gray:[128,128,128],purple:[128,0,128],green:[0,128,0],red:[St,0,0],pink:[St,192,203],cyan:[0,St,St],transparent:[St,St,St,0]},Dt=function(){var t,e="(?:\\b(?:(?:rgb|rgba|hsl|hsla)\\(.+?\\))|\\B#(?:[0-9a-f]{3,4}){1,2}\\b";for(t in Et)e+="|"+t+"\\b";return new RegExp(e+")","gi")}(),zt=/hsl[a]?\(/,Rt=(M=Date.now,O=500,A=33,C=M(),E=C,z=D=1e3/240,g={time:0,frame:0,tick:function tick(){yl(!0)},deltaRatio:function deltaRatio(t){return b/(1e3/(t||60))},wake:function wake(){o&&(!n&&x()&&(h=n=window,a=h.document||{},ot.gsap=Ee,(h.gsapVersions||(h.gsapVersions=[])).push(Ee.version),P(i||h.GreenSockGlobals||!h.gsap&&h||{}),m=h.requestAnimationFrame,Ct.forEach(wb)),p&&g.sleep(),_=m||function(t){return setTimeout(t,z-1e3*g.time+1|0)},d=1,yl(2))},sleep:function sleep(){(m?h.cancelAnimationFrame:clearTimeout)(p),d=0,_=T},lagSmoothing:function lagSmoothing(t,e){O=t||1/0,A=Math.min(e||33,O)},fps:function fps(t){D=1e3/(t||240),z=1e3*g.time+D},add:function add(n,t,e){var a=t?function(t,e,r,i){n(t,e,r,i),g.remove(a)}:n;return g.remove(n),F[e?"unshift":"push"](a),Ft(),a},remove:function remove(t,e){~(e=F.indexOf(t))&&F.splice(e,1)&&e<=k&&k--},_listeners:F=[]}),Ft=function _wake(){return!d&&Rt.wake()},Bt={},Lt=/^[\d.\-M][\d.\-,\s]/,It=/["']/g,Yt=function _invertEase(e){return function(t){return 1-e(1-t)}},jt=function _parseEase(t,e){return t&&(s(t)?t:Bt[t]||Ob(t))||e};function yl(t){var e,r,i,n,a=M()-E,s=!0===t;if(O<a&&(C+=a-A),(0<(e=(i=(E+=a)-C)-z)||s)&&(n=++g.frame,b=i-1e3*g.time,g.time=i/=1e3,z+=e+(D<=e?4:D-e),r=1),s||(p=_(yl)),r)for(k=0;k<F.length;k++)F[k](i,b,n,t)}function gn(t){return t<j?Y*t*t:t<.7272727272727273?Y*Math.pow(t-1.5/2.75,2)+.75:t<.9090909090909092?Y*(t-=2.25/2.75)*t+.9375:Y*Math.pow(t-2.625/2.75,2)+.984375}ha("Linear,Quad,Cubic,Quart,Quint,Strong",function(t,e){var r=e<5?e+1:e;Sb(t+",Power"+(r-1),e?function(t){return Math.pow(t,r)}:function(t){return t},function(t){return 1-Math.pow(1-t,r)},function(t){return t<.5?Math.pow(2*t,r)/2:1-Math.pow(2*(1-t),r)/2})}),Bt.Linear.easeNone=Bt.none=Bt.Linear.easeIn,Sb("Elastic",Ub("in"),Ub("out"),Ub()),Y=7.5625,j=1/2.75,Sb("Bounce",function(t){return 1-gn(1-t)},gn),Sb("Expo",function(t){return t?Math.pow(2,10*(t-1)):0}),Sb("Circ",function(t){return-(K(1-t*t)-1)}),Sb("Sine",function(t){return 1===t?1:1-J(t*W)}),Sb("Back",Vb("in"),Vb("out"),Vb()),Bt.SteppedEase=Bt.steps=ot.SteppedEase={config:function config(t,e){void 0===t&&(t=1);var r=1/t,i=t+(e?0:1),n=e?1:0;return function(t){return((i*kt(0,.99999999,t)|0)+n)*r}}},V.ease=Bt["quad.out"],ha("onComplete,onUpdate,onStart,onRepeat,onReverseComplete,onInterrupt",function(t){return vt+=t+","+t+"Params,"});var qt,Vt=function GSCache(t,e){this.id=G++,(t._gsap=this).target=t,this.harness=e,this.get=e?e.get:ga,this.set=e?e.getSetter:ne},Ut=((qt=Animation.prototype).delay=function delay(t){return t||0===t?(this.parent&&this.parent.smoothChildTiming&&this.startTime(this._start+t-this._delay),this._delay=t,this):this._delay},qt.duration=function duration(t){return arguments.length?this.totalDuration(0<this._repeat?t+(t+this._rDelay)*this._repeat:t):this.totalDuration()&&this._dur},qt.totalDuration=function totalDuration(t){return arguments.length?(this._dirty=0,Ra(this,this._repeat<0?t:(t-this._repeat*this._rDelay)/(this._repeat+1))):this._tDur},qt.totalTime=function totalTime(t,e){if(Ft(),!arguments.length)return this._tTime;var r=this._dp;if(r&&r.smoothChildTiming&&this._ts){for(Ia(this,t),!r._dp||r.parent||Ja(r,this);r&&r.parent;)r.parent._time!==r._start+(0<=r._ts?r._tTime/r._ts:(r.totalDuration()-r._tTime)/-r._ts)&&r.totalTime(r._tTime,!0),r=r.parent;!this.parent&&this._dp.autoRemoveChildren&&(0<this._ts&&t<this._tDur||this._ts<0&&0<t||!this._tDur&&!t)&&Ka(this._dp,this,this._start-this._delay)}return(this._tTime!==t||!this._dur&&!e||this._initted&&Math.abs(this._zTime)===X||!t&&!this._initted&&(this.add||this._ptLookup))&&(this._ts||(this._pTime=t),na(this,t,e)),this},qt.time=function time(t,e){return arguments.length?this.totalTime(Math.min(this.totalDuration(),t+Ea(this))%(this._dur+this._rDelay)||(t?this._dur:0),e):this._time},qt.totalProgress=function totalProgress(t,e){return arguments.length?this.totalTime(this.totalDuration()*t,e):this.totalDuration()?Math.min(1,this._tTime/this._tDur):this.ratio},qt.progress=function progress(t,e){return arguments.length?this.totalTime(this.duration()*(!this._yoyo||1&this.iteration()?t:1-t)+Ea(this),e):this.duration()?Math.min(1,this._time/this._dur):this.ratio},qt.iteration=function iteration(t,e){var r=this.duration()+this._rDelay;return arguments.length?this.totalTime(this._time+(t-1)*r,e):this._repeat?Tt(this._tTime,r)+1:1},qt.timeScale=function timeScale(t){if(!arguments.length)return this._rts===-X?0:this._rts;if(this._rts===t)return this;var e=this.parent&&this._ts?Ga(this.parent._time,this):this._tTime;return this._rts=+t||0,this._ts=this._ps||t===-X?0:this._rts,this.totalTime(kt(-Math.abs(this._delay),this._tDur,e),!0),Ha(this),function _recacheAncestors(t){for(var e=t.parent;e&&e.parent;)e._dirty=1,e.totalDuration(),e=e.parent;return t}(this)},qt.paused=function paused(t){return arguments.length?(this._ps!==t&&((this._ps=t)?(this._pTime=this._tTime||Math.max(-this._delay,this.rawTime()),this._ts=this._act=0):(Ft(),this._ts=this._rts,this.totalTime(this.parent&&!this.parent.smoothChildTiming?this.rawTime():this._tTime||this._pTime,1===this.progress()&&Math.abs(this._zTime)!==X&&(this._tTime-=X)))),this):this._ps},qt.startTime=function startTime(t){if(arguments.length){this._start=t;var e=this.parent||this._dp;return!e||!e._sort&&this.parent||Ka(e,this,t-this._delay),this}return this._start},qt.endTime=function endTime(t){return this._start+(w(t)?this.totalDuration():this.duration())/Math.abs(this._ts||1)},qt.rawTime=function rawTime(t){var e=this.parent||this._dp;return e?t&&(!this._ts||this._repeat&&this._time&&this.totalProgress()<1)?this._tTime%(this._dur+this._rDelay):this._ts?Ga(e.rawTime(t),this):this._tTime:this._tTime},qt.revert=function revert(t){void 0===t&&(t=lt);var e=L;return L=t,(this._initted||this._startAt)&&(this.timeline&&this.timeline.revert(t),this.totalTime(-.01,t.suppressEvents)),"nested"!==this.data&&!1!==t.kill&&this.kill(),L=e,this},qt.globalTime=function globalTime(t){for(var e=this,r=arguments.length?t:e.rawTime();e;)r=e._start+r/(e._ts||1),e=e._dp;return!this.parent&&this._sat?this._sat.vars.immediateRender?-1/0:this._sat.globalTime(t):r},qt.repeat=function repeat(t){return arguments.length?(this._repeat=t===1/0?-2:t,Sa(this)):-2===this._repeat?1/0:this._repeat},qt.repeatDelay=function repeatDelay(t){if(arguments.length){var e=this._time;return this._rDelay=t,Sa(this),e?this.time(e):this}return this._rDelay},qt.yoyo=function yoyo(t){return arguments.length?(this._yoyo=t,this):this._yoyo},qt.seek=function seek(t,e){return this.totalTime(xt(this,t),w(e))},qt.restart=function restart(t,e){return this.play().totalTime(t?-this._delay:0,w(e))},qt.play=function play(t,e){return null!=t&&this.seek(t,e),this.reversed(!1).paused(!1)},qt.reverse=function reverse(t,e){return null!=t&&this.seek(t||this.totalDuration(),e),this.reversed(!0).paused(!1)},qt.pause=function pause(t,e){return null!=t&&this.seek(t,e),this.paused(!0)},qt.resume=function resume(){return this.paused(!1)},qt.reversed=function reversed(t){return arguments.length?(!!t!==this.reversed()&&this.timeScale(-this._rts||(t?-X:0)),this):this._rts<0},qt.invalidate=function invalidate(){return this._initted=this._act=0,this._zTime=-X,this},qt.isActive=function isActive(){var t,e=this.parent||this._dp,r=this._start;return!(e&&!(this._ts&&this._initted&&e.isActive()&&(t=e.rawTime(!0))>=r&&t<this.endTime(!0)-X))},qt.eventCallback=function eventCallback(t,e,r){var i=this.vars;return 1<arguments.length?(e?(i[t]=e,r&&(i[t+"Params"]=r),"onUpdate"===t&&(this._onUpdate=e)):delete i[t],this):i[t]},qt.then=function then(t){var i=this;return new Promise(function(e){function Bo(){var t=i.then;i.then=null,s(r)&&(r=r(i))&&(r.then||r===i)&&(i.then=t),e(r),i.then=t}var r=s(t)?t:pa;i._initted&&1===i.totalProgress()&&0<=i._ts||!i._tTime&&i._ts<0?Bo():i._prom=Bo})},qt.kill=function kill(){tb(this)},Animation);function Animation(t){this.vars=t,this._delay=+t.delay||0,(this._repeat=t.repeat===1/0?-2:t.repeat||0)&&(this._rDelay=t.repeatDelay||0,this._yoyo=!!t.yoyo||!!t.yoyoEase),this._ts=1,Ra(this,+t.duration,1,1),this.data=t.data,l&&(this._ctx=l).data.push(this),d||Rt.wake()}qa(Ut.prototype,{_time:0,_start:0,_end:0,_tTime:0,_tDur:0,_dirty:0,_repeat:0,_yoyo:!1,parent:null,_initted:!1,_rDelay:0,_ts:1,_dp:0,ratio:0,_zTime:-X,_prom:0,_ps:!1,_rts:1});var Xt=function(i){function Timeline(t,e){var r;return void 0===t&&(t={}),(r=i.call(this,t)||this).labels={},r.smoothChildTiming=!!t.smoothChildTiming,r.autoRemoveChildren=!!t.autoRemoveChildren,r._sort=w(t.sortChildren),I&&Ka(t.parent||I,_assertThisInitialized(r),e),t.reversed&&r.reverse(),t.paused&&r.paused(!0),t.scrollTrigger&&La(_assertThisInitialized(r),t.scrollTrigger),r}_inheritsLoose(Timeline,i);var e=Timeline.prototype;return e.to=function to(t,e,r){return Va(0,arguments,this),this},e.from=function from(t,e,r){return Va(1,arguments,this),this},e.fromTo=function fromTo(t,e,r,i){return Va(2,arguments,this),this},e.set=function set(t,e,r){return e.duration=0,e.parent=this,va(e).repeatDelay||(e.repeat=0),e.immediateRender=!!e.immediateRender,new Zt(t,e,xt(this,r),1),this},e.call=function call(t,e,r){return Ka(this,Zt.delayedCall(0,t,e),r)},e.staggerTo=function staggerTo(t,e,r,i,n,a,s){return r.duration=e,r.stagger=r.stagger||i,r.onComplete=a,r.onCompleteParams=s,r.parent=this,new Zt(t,r,xt(this,n)),this},e.staggerFrom=function staggerFrom(t,e,r,i,n,a,s){return r.runBackwards=1,va(r).immediateRender=w(r.immediateRender),this.staggerTo(t,e,r,i,n,a,s)},e.staggerFromTo=function staggerFromTo(t,e,r,i,n,a,s,o){return i.startAt=r,va(i).immediateRender=w(i.immediateRender),this.staggerTo(t,e,i,n,a,s,o)},e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_=this._time,m=this._dirty?this.totalDuration():this._tDur,g=this._dur,v=t<=0?0:ja(t),y=this._zTime<0!=t<0&&(this._initted||!g);if(this!==I&&m<v&&0<=t&&(v=m),v!==this._tTime||r||y){if(_!==this._time&&g&&(v+=this._time-_,t+=this._time-_),i=v,f=this._start,u=!(l=this._ts),y&&(g||(_=this._zTime),!t&&e||(this._zTime=t)),this._repeat){if(d=this._yoyo,o=g+this._rDelay,this._repeat<-1&&t<0)return this.totalTime(100*o+t,e,r);if(i=ja(v%o),v===m?(s=this._repeat,i=g):((s=~~(v/o))&&s===v/o&&(i=g,s--),g<i&&(i=g)),c=Tt(this._tTime,o),!_&&this._tTime&&c!==s&&this._tTime-c*o-this._dur<=0&&(c=s),d&&1&s&&(i=g-i,p=1),s!==c&&!this._lock){var T=d&&1&c,b=T===(d&&1&s);if(s<c&&(T=!T),_=T?0:v%g?g:v,this._lock=1,this.render(_||(p?0:ja(s*o)),e,!g)._lock=0,this._tTime=v,!e&&this.parent&&At(this,"onRepeat"),this.vars.repeatRefresh&&!p&&(this.invalidate()._lock=1),_&&_!==this._time||u!=!this._ts||this.vars.onRepeat&&!this.parent&&!this._act)return this;if(g=this._dur,m=this._tDur,b&&(this._lock=2,_=T?g:-1e-4,this.render(_,!0),this.vars.repeatRefresh&&!p&&this.invalidate()),this._lock=0,!this._ts&&!u)return this;Qb(this,p)}}if(this._hasPause&&!this._forcing&&this._lock<2&&(h=function _findNextPauseTween(t,e,r){var i;if(e<r)for(i=t._first;i&&i._start<=r;){if("isPause"===i.data&&i._start>e)return i;i=i._next}else for(i=t._last;i&&i._start>=r;){if("isPause"===i.data&&i._start<e)return i;i=i._prev}}(this,ja(_),ja(i)))&&(v-=i-(i=h._start)),this._tTime=v,this._time=i,this._act=!l,this._initted||(this._onUpdate=this.vars.onUpdate,this._initted=1,this._zTime=t,_=0),!_&&i&&!e&&!s&&(At(this,"onStart"),this._tTime!==v))return this;if(_<=i&&0<=t)for(n=this._first;n;){if(a=n._next,(n._act||i>=n._start)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(i-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(i-n._start)*n._ts,e,r),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=-X);break}}n=a}else{n=this._last;for(var w=t<0?t:i;n;){if(a=n._prev,(n._act||w<=n._end)&&n._ts&&h!==n){if(n.parent!==this)return this.render(t,e,r);if(n.render(0<n._ts?(w-n._start)*n._ts:(n._dirty?n.totalDuration():n._tDur)+(w-n._start)*n._ts,e,r||L&&(n._initted||n._startAt)),i!==this._time||!this._ts&&!u){h=0,a&&(v+=this._zTime=w?-X:X);break}}n=a}}if(h&&!e&&(this.pause(),h.render(_<=i?0:-X)._zTime=_<=i?1:-1,this._ts))return this._start=f,Ha(this),this.render(t,e,r);this._onUpdate&&!e&&At(this,"onUpdate",!0),(v===m&&this._tTime>=this.totalDuration()||!v&&_)&&(f!==this._start&&Math.abs(l)===Math.abs(this._ts)||this._lock||(!t&&g||!(v===m&&0<this._ts||!v&&this._ts<0)||za(this,1),e||t<0&&!_||!v&&!_&&m||(At(this,v===m&&0<=t?"onComplete":"onReverseComplete",!0),!this._prom||v<m&&0<this.timeScale()||this._prom())))}return this},e.add=function add(e,i){var n=this;if(t(i)||(i=xt(this,i,e)),!(e instanceof Ut)){if($(e))return e.forEach(function(t){return n.add(t,i)}),this;if(r(e))return this.addLabel(e,i);if(!s(e))return this;e=Zt.delayedCall(0,e)}return this!==e?Ka(this,e,i):this},e.getChildren=function getChildren(t,e,r,i){void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===r&&(r=!0),void 0===i&&(i=-U);for(var n=[],a=this._first;a;)a._start>=i&&(a instanceof Zt?e&&n.push(a):(r&&n.push(a),t&&n.push.apply(n,a.getChildren(!0,e,r)))),a=a._next;return n},e.getById=function getById(t){for(var e=this.getChildren(1,1,1),r=e.length;r--;)if(e[r].vars.id===t)return e[r]},e.remove=function remove(t){return r(t)?this.removeLabel(t):s(t)?this.killTweensOf(t):(ya(this,t),t===this._recent&&(this._recent=this._last),Aa(this))},e.totalTime=function totalTime(t,e){return arguments.length?(this._forcing=1,!this._dp&&this._ts&&(this._start=ja(Rt.time-(0<this._ts?t/this._ts:(this.totalDuration()-t)/-this._ts))),i.prototype.totalTime.call(this,t,e),this._forcing=0,this):this._tTime},e.addLabel=function addLabel(t,e){return this.labels[t]=xt(this,e),this},e.removeLabel=function removeLabel(t){return delete this.labels[t],this},e.addPause=function addPause(t,e,r){var i=Zt.delayedCall(0,e||T,r);return i.data="isPause",this._hasPause=1,Ka(this,i,xt(this,t))},e.removePause=function removePause(t){var e=this._first;for(t=xt(this,t);e;)e._start===t&&"isPause"===e.data&&za(e),e=e._next},e.killTweensOf=function killTweensOf(t,e,r){for(var i=this.getTweensOf(t,r),n=i.length;n--;)Nt!==i[n]&&i[n].kill(t,e);return this},e.getTweensOf=function getTweensOf(e,r){for(var i,n=[],a=Ot(e),s=this._first,o=t(r);s;)s instanceof Zt?la(s._targets,a)&&(o?(!Nt||s._initted&&s._ts)&&s.globalTime(0)<=r&&s.globalTime(s.totalDuration())>r:!r||s.isActive())&&n.push(s):(i=s.getTweensOf(a,r)).length&&n.push.apply(n,i),s=s._next;return n},e.tweenTo=function tweenTo(t,e){e=e||{};var r,i=this,n=xt(i,t),a=e.startAt,s=e.onStart,o=e.onStartParams,u=e.immediateRender,h=Zt.to(i,qa({ease:e.ease||"none",lazy:!1,immediateRender:!1,time:n,overwrite:"auto",duration:e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale())||X,onStart:function onStart(){if(i.pause(),!r){var t=e.duration||Math.abs((n-(a&&"time"in a?a.time:i._time))/i.timeScale());h._dur!==t&&Ra(h,t,0,1).render(h._time,!0,!0),r=1}s&&s.apply(h,o||[])}},e));return u?h.render(0):h},e.tweenFromTo=function tweenFromTo(t,e,r){return this.tweenTo(e,qa({startAt:{time:xt(this,t)}},r))},e.recent=function recent(){return this._recent},e.nextLabel=function nextLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t))},e.previousLabel=function previousLabel(t){return void 0===t&&(t=this._time),rb(this,xt(this,t),1)},e.currentLabel=function currentLabel(t){return arguments.length?this.seek(t,!0):this.previousLabel(this._time+X)},e.shiftChildren=function shiftChildren(t,e,r){void 0===r&&(r=0);for(var i,n=this._first,a=this.labels;n;)n._start>=r&&(n._start+=t,n._end+=t),n=n._next;if(e)for(i in a)a[i]>=r&&(a[i]+=t);return Aa(this)},e.invalidate=function invalidate(t){var e=this._first;for(this._lock=0;e;)e.invalidate(t),e=e._next;return i.prototype.invalidate.call(this,t)},e.clear=function clear(t){void 0===t&&(t=!0);for(var e,r=this._first;r;)e=r._next,this.remove(r),r=e;return this._dp&&(this._time=this._tTime=this._pTime=0),t&&(this.labels={}),Aa(this)},e.totalDuration=function totalDuration(t){var e,r,i,n=0,a=this,s=a._last,o=U;if(arguments.length)return a.timeScale((a._repeat<0?a.duration():a.totalDuration())/(a.reversed()?-t:t));if(a._dirty){for(i=a.parent;s;)e=s._prev,s._dirty&&s.totalDuration(),o<(r=s._start)&&a._sort&&s._ts&&!a._lock?(a._lock=1,Ka(a,s,r-s._delay,1)._lock=0):o=r,r<0&&s._ts&&(n-=r,(!i&&!a._dp||i&&i.smoothChildTiming)&&(a._start+=r/a._ts,a._time-=r,a._tTime-=r),a.shiftChildren(-r,!1,-Infinity),o=0),s._end>n&&s._ts&&(n=s._end),s=e;Ra(a,a===I&&a._time>n?a._time:n,1,1),a._dirty=0}return a._tDur},Timeline.updateRoot=function updateRoot(t){if(I._ts&&(na(I,Ga(t,I)),f=Rt.frame),Rt.frame>=mt){mt+=q.autoSleep||120;var e=I._first;if((!e||!e._ts)&&q.autoSleep&&Rt._listeners.length<2){for(;e&&!e._ts;)e=e._next;e||Rt.sleep()}}},Timeline}(Ut);qa(Xt.prototype,{_lock:0,_hasPause:0,_forcing:0});function ac(t,e,i,n,a,o){var u,h,l,f;if(pt[t]&&!1!==(u=new pt[t]).init(a,u.rawVars?e[t]:function _processVars(t,e,i,n,a){if(s(t)&&(t=Kt(t,a,e,i,n)),!v(t)||t.style&&t.nodeType||$(t)||Z(t))return r(t)?Kt(t,a,e,i,n):t;var o,u={};for(o in t)u[o]=Kt(t[o],a,e,i,n);return u}(e[t],n,a,o,i),i,n,o)&&(i._pt=h=new _e(i._pt,a,t,0,1,u.render,u,0,u.priority),i!==c))for(l=i._ptLookup[i._targets.indexOf(a)],f=u._props.length;f--;)l[u._props[f]]=h;return u}function gc(t,r,e,i){var n,a,s=r.ease||i||"power1.inOut";if($(r))a=e[t]||(e[t]=[]),r.forEach(function(t,e){return a.push({t:e/(r.length-1)*100,v:t,e:s})});else for(n in r)a=e[n]||(e[n]=[]),"ease"===n||a.push({t:parseFloat(t),v:r[n],e:s})}var Nt,Wt,Qt=function _addPropTween(t,e,i,n,a,o,u,h,l,f){s(n)&&(n=n(a||0,t,o));var c,d=t[e],p="get"!==i?i:s(d)?l?t[e.indexOf("set")||!s(t["get"+e.substr(3)])?e:"get"+e.substr(3)](l):t[e]():d,_=s(d)?l?re:te:$t;if(r(n)&&(~n.indexOf("random(")&&(n=ob(n)),"="===n.charAt(1)&&(!(c=ka(p,n)+(Ya(p)||0))&&0!==c||(n=c))),!f||p!==n||Wt)return isNaN(p*n)||""===n?(d||e in t||Q(e,n),function _addComplexStringPropTween(t,e,r,i,n,a,s){var o,u,h,l,f,c,d,p,_=new _e(this._pt,t,e,0,1,ue,null,n),m=0,g=0;for(_.b=r,_.e=i,r+="",(d=~(i+="").indexOf("random("))&&(i=ob(i)),a&&(a(p=[r,i],t,e),r=p[0],i=p[1]),u=r.match(it)||[];o=it.exec(i);)l=o[0],f=i.substring(m,o.index),h?h=(h+1)%5:"rgba("===f.substr(-5)&&(h=1),l!==u[g++]&&(c=parseFloat(u[g-1])||0,_._pt={_next:_._pt,p:f||1===g?f:",",s:c,c:"="===l.charAt(1)?ka(c,l)-c:parseFloat(l)-c,m:h&&h<4?Math.round:0},m=it.lastIndex);return _.c=m<i.length?i.substring(m,i.length):"",_.fp=s,(nt.test(i)||d)&&(_.e=0),this._pt=_}.call(this,t,e,p,n,_,h||q.stringFilter,l)):(c=new _e(this._pt,t,e,+p||0,n-(p||0),"boolean"==typeof d?se:ae,0,_),l&&(c.fp=l),u&&c.modifier(u,this,t),this._pt=c)},Gt=function _initTween(t,e,r){var i,n,a,s,o,u,h,l,f,c,d,p,_,m=t.vars,g=m.ease,v=m.startAt,y=m.immediateRender,T=m.lazy,b=m.onUpdate,x=m.onUpdateParams,k=m.callbackScope,M=m.runBackwards,O=m.yoyoEase,P=m.keyframes,A=m.autoRevert,C=t._dur,S=t._startAt,E=t._targets,D=t.parent,z=D&&"nested"===D.data?D.vars.targets:E,R="auto"===t._overwrite&&!B,F=t.timeline;if(!F||P&&g||(g="none"),t._ease=jt(g,V.ease),t._yEase=O?Yt(jt(!0===O?g:O,V.ease)):0,O&&t._yoyo&&!t._repeat&&(O=t._yEase,t._yEase=t._ease,t._ease=O),t._from=!F&&!!m.runBackwards,!F||P&&!m.stagger){if(p=(l=E[0]?fa(E[0]).harness:0)&&m[l.prop],i=ua(m,ft),S&&(S._zTime<0&&S.progress(1),e<0&&M&&y&&!A?S.render(-1,!0):S.revert(M&&C?ht:ut),S._lazy=0),v){if(za(t._startAt=Zt.set(E,qa({data:"isStart",overwrite:!1,parent:D,immediateRender:!0,lazy:!S&&w(T),startAt:null,delay:0,onUpdate:b,onUpdateParams:x,callbackScope:k,stagger:0},v))),t._startAt._dp=0,t._startAt._sat=t,e<0&&(L||!y&&!A)&&t._startAt.revert(ht),y&&C&&e<=0&&r<=0)return void(e&&(t._zTime=e))}else if(M&&C&&!S)if(e&&(y=!1),a=qa({overwrite:!1,data:"isFromStart",lazy:y&&!S&&w(T),immediateRender:y,stagger:0,parent:D},i),p&&(a[l.prop]=p),za(t._startAt=Zt.set(E,a)),t._startAt._dp=0,t._startAt._sat=t,e<0&&(L?t._startAt.revert(ht):t._startAt.render(-1,!0)),t._zTime=e,y){if(!e)return}else _initTween(t._startAt,X,X);for(t._pt=t._ptCache=0,T=C&&w(T)||T&&!C,n=0;n<E.length;n++){if(h=(o=E[n])._gsap||ea(E)[n]._gsap,t._ptLookup[n]=c={},dt[h.id]&&ct.length&&ma(),d=z===E?n:z.indexOf(o),l&&!1!==(f=new l).init(o,p||i,t,d,z)&&(t._pt=s=new _e(t._pt,o,f.name,0,1,f.render,f,0,f.priority),f._props.forEach(function(t){c[t]=s}),f.priority&&(u=1)),!l||p)for(a in i)pt[a]&&(f=ac(a,i,t,d,o,z))?f.priority&&(u=1):c[a]=s=Qt.call(t,o,a,"get",i[a],d,z,0,m.stringFilter);t._op&&t._op[n]&&t.kill(o,t._op[n]),R&&t._pt&&(Nt=t,I.killTweensOf(o,c,t.globalTime(e)),_=!t.parent,Nt=0),t._pt&&T&&(dt[h.id]=1)}u&&pe(t),t._onInit&&t._onInit(t)}t._onUpdate=b,t._initted=(!t._op||t._pt)&&!_,P&&e<=0&&F.render(U,!0,!0)},Kt=function _parseFuncOrString(t,e,i,n,a){return s(t)?t.call(e,i,n,a):r(t)&&~t.indexOf("random(")?ob(t):t},Jt=vt+"repeat,repeatDelay,yoyo,repeatRefresh,yoyoEase,autoRevert",Ht={};ha(Jt+",id,stagger,delay,duration,paused,scrollTrigger",function(t){return Ht[t]=1});var Zt=function(z){function Tween(e,r,i,n){var a;"number"==typeof r&&(i.duration=r,r=i,i=null);var s,o,u,h,l,f,c,d,p=(a=z.call(this,n?r:va(r))||this).vars,_=p.duration,m=p.delay,g=p.immediateRender,T=p.stagger,b=p.overwrite,x=p.keyframes,k=p.defaults,M=p.scrollTrigger,O=p.yoyoEase,P=r.parent||I,A=($(e)||Z(e)?t(e[0]):"length"in r)?[e]:Ot(e);if(a._targets=A.length?ea(A):R("GSAP target "+e+" not found. https://greensock.com",!q.nullTargetWarn)||[],a._ptLookup=[],a._overwrite=b,x||T||y(_)||y(m)){if(r=a.vars,(s=a.timeline=new Xt({data:"nested",defaults:k||{},targets:P&&"nested"===P.data?P.vars.targets:A})).kill(),s.parent=s._dp=_assertThisInitialized(a),s._start=0,T||y(_)||y(m)){if(h=A.length,c=T&&eb(T),v(T))for(l in T)~Jt.indexOf(l)&&((d=d||{})[l]=T[l]);for(o=0;o<h;o++)(u=ua(r,Ht)).stagger=0,O&&(u.yoyoEase=O),d&&yt(u,d),f=A[o],u.duration=+Kt(_,_assertThisInitialized(a),o,f,A),u.delay=(+Kt(m,_assertThisInitialized(a),o,f,A)||0)-a._delay,!T&&1===h&&u.delay&&(a._delay=m=u.delay,a._start+=m,u.delay=0),s.to(f,u,c?c(o,f,A):0),s._ease=Bt.none;s.duration()?_=m=0:a.timeline=0}else if(x){va(qa(s.vars.defaults,{ease:"none"})),s._ease=jt(x.ease||r.ease||"none");var C,S,E,D=0;if($(x))x.forEach(function(t){return s.to(A,t,">")}),s.duration();else{for(l in u={},x)"ease"===l||"easeEach"===l||gc(l,x[l],u,x.easeEach);for(l in u)for(C=u[l].sort(function(t,e){return t.t-e.t}),o=D=0;o<C.length;o++)(E={ease:(S=C[o]).e,duration:(S.t-(o?C[o-1].t:0))/100*_})[l]=S.v,s.to(A,E,D),D+=E.duration;s.duration()<_&&s.to({},{duration:_-s.duration()})}}_||a.duration(_=s.duration())}else a.timeline=0;return!0!==b||B||(Nt=_assertThisInitialized(a),I.killTweensOf(A),Nt=0),Ka(P,_assertThisInitialized(a),i),r.reversed&&a.reverse(),r.paused&&a.paused(!0),(g||!_&&!x&&a._start===ja(P._time)&&w(g)&&function _hasNoPausedAncestors(t){return!t||t._ts&&_hasNoPausedAncestors(t.parent)}(_assertThisInitialized(a))&&"nested"!==P.data)&&(a._tTime=-X,a.render(Math.max(0,-m)||0)),M&&La(_assertThisInitialized(a),M),a}_inheritsLoose(Tween,z);var e=Tween.prototype;return e.render=function render(t,e,r){var i,n,a,s,o,u,h,l,f,c=this._time,d=this._tDur,p=this._dur,_=t<0,m=d-X<t&&!_?d:t<X?0:t;if(p){if(m!==this._tTime||!t||r||!this._initted&&this._tTime||this._startAt&&this._zTime<0!=_){if(i=m,l=this.timeline,this._repeat){if(s=p+this._rDelay,this._repeat<-1&&_)return this.totalTime(100*s+t,e,r);if(i=ja(m%s),m===d?(a=this._repeat,i=p):((a=~~(m/s))&&a===m/s&&(i=p,a--),p<i&&(i=p)),(u=this._yoyo&&1&a)&&(f=this._yEase,i=p-i),o=Tt(this._tTime,s),i===c&&!r&&this._initted)return this._tTime=m,this;a!==o&&(l&&this._yEase&&Qb(l,u),!this.vars.repeatRefresh||u||this._lock||(this._lock=r=1,this.render(ja(s*a),!0).invalidate()._lock=0))}if(!this._initted){if(Ma(this,_?t:i,r,e,m))return this._tTime=0,this;if(c!==this._time)return this;if(p!==this._dur)return this.render(t,e,r)}if(this._tTime=m,this._time=i,!this._act&&this._ts&&(this._act=1,this._lazy=0),this.ratio=h=(f||this._ease)(i/p),this._from&&(this.ratio=h=1-h),i&&!c&&!e&&!a&&(At(this,"onStart"),this._tTime!==m))return this;for(n=this._pt;n;)n.r(h,n.d),n=n._next;l&&l.render(t<0?t:!i&&u?-X:l._dur*l._ease(i/this._dur),e,r)||this._startAt&&(this._zTime=t),this._onUpdate&&!e&&(_&&Ca(this,t,0,r),At(this,"onUpdate")),this._repeat&&a!==o&&this.vars.onRepeat&&!e&&this.parent&&At(this,"onRepeat"),m!==this._tDur&&m||this._tTime!==m||(_&&!this._onUpdate&&Ca(this,t,0,!0),!t&&p||!(m===this._tDur&&0<this._ts||!m&&this._ts<0)||za(this,1),e||_&&!c||!(m||c||u)||(At(this,m===d?"onComplete":"onReverseComplete",!0),!this._prom||m<d&&0<this.timeScale()||this._prom()))}}else!function _renderZeroDurationTween(t,e,r,i){var n,a,s,o=t.ratio,u=e<0||!e&&(!t._start&&function _parentPlayheadIsBeforeStart(t){var e=t.parent;return e&&e._ts&&e._initted&&!e._lock&&(e.rawTime()<0||_parentPlayheadIsBeforeStart(e))}(t)&&(t._initted||!bt(t))||(t._ts<0||t._dp._ts<0)&&!bt(t))?0:1,h=t._rDelay,l=0;if(h&&t._repeat&&(l=kt(0,t._tDur,e),a=Tt(l,h),t._yoyo&&1&a&&(u=1-u),a!==Tt(t._tTime,h)&&(o=1-u,t.vars.repeatRefresh&&t._initted&&t.invalidate())),u!==o||L||i||t._zTime===X||!e&&t._zTime){if(!t._initted&&Ma(t,e,i,r,l))return;for(s=t._zTime,t._zTime=e||(r?X:0),r=r||e&&!s,t.ratio=u,t._from&&(u=1-u),t._time=0,t._tTime=l,n=t._pt;n;)n.r(u,n.d),n=n._next;e<0&&Ca(t,e,0,!0),t._onUpdate&&!r&&At(t,"onUpdate"),l&&t._repeat&&!r&&t.parent&&At(t,"onRepeat"),(e>=t._tDur||e<0)&&t.ratio===u&&(u&&za(t,1),r||L||(At(t,u?"onComplete":"onReverseComplete",!0),t._prom&&t._prom()))}else t._zTime||(t._zTime=e)}(this,t,e,r);return this},e.targets=function targets(){return this._targets},e.invalidate=function invalidate(t){return t&&this.vars.runBackwards||(this._startAt=0),this._pt=this._op=this._onUpdate=this._lazy=this.ratio=0,this._ptLookup=[],this.timeline&&this.timeline.invalidate(t),z.prototype.invalidate.call(this,t)},e.resetTo=function resetTo(t,e,r,i){d||Rt.wake(),this._ts||this.play();var n,a=Math.min(this._dur,(this._dp._time-this._start)*this._ts);return this._initted||Gt(this,a),n=this._ease(a/this._dur),function _updatePropTweens(t,e,r,i,n,a,s){var o,u,h,l,f=(t._pt&&t._ptCache||(t._ptCache={}))[e];if(!f)for(f=t._ptCache[e]=[],h=t._ptLookup,l=t._targets.length;l--;){if((o=h[l][e])&&o.d&&o.d._pt)for(o=o.d._pt;o&&o.p!==e&&o.fp!==e;)o=o._next;if(!o)return Wt=1,t.vars[e]="+=0",Gt(t,s),Wt=0,1;f.push(o)}for(l=f.length;l--;)(o=(u=f[l])._pt||u).s=!i&&0!==i||n?o.s+(i||0)+a*o.c:i,o.c=r-o.s,u.e&&(u.e=ia(r)+Ya(u.e)),u.b&&(u.b=o.s+Ya(u.b))}(this,t,e,r,i,n,a)?this.resetTo(t,e,r,i):(Ia(this,0),this.parent||xa(this._dp,this,"_first","_last",this._dp._sort?"_start":0),this.render(0))},e.kill=function kill(t,e){if(void 0===e&&(e="all"),!(t||e&&"all"!==e))return this._lazy=this._pt=0,this.parent?tb(this):this;if(this.timeline){var i=this.timeline.totalDuration();return this.timeline.killTweensOf(t,e,Nt&&!0!==Nt.vars.overwrite)._first||tb(this),this.parent&&i!==this.timeline.totalDuration()&&Ra(this,this._dur*this.timeline._tDur/i,0,1),this}var n,a,s,o,u,h,l,f=this._targets,c=t?Ot(t):f,d=this._ptLookup,p=this._pt;if((!e||"all"===e)&&function _arraysMatch(t,e){for(var r=t.length,i=r===e.length;i&&r--&&t[r]===e[r];);return r<0}(f,c))return"all"===e&&(this._pt=0),tb(this);for(n=this._op=this._op||[],"all"!==e&&(r(e)&&(u={},ha(e,function(t){return u[t]=1}),e=u),e=function _addAliasesToVars(t,e){var r,i,n,a,s=t[0]?fa(t[0]).harness:0,o=s&&s.aliases;if(!o)return e;for(i in r=yt({},e),o)if(i in r)for(n=(a=o[i].split(",")).length;n--;)r[a[n]]=r[i];return r}(f,e)),l=f.length;l--;)if(~c.indexOf(f[l]))for(u in a=d[l],"all"===e?(n[l]=e,o=a,s={}):(s=n[l]=n[l]||{},o=e),o)(h=a&&a[u])&&("kill"in h.d&&!0!==h.d.kill(u)||ya(this,h,"_pt"),delete a[u]),"all"!==s&&(s[u]=1);return this._initted&&!this._pt&&p&&tb(this),this},Tween.to=function to(t,e,r){return new Tween(t,e,r)},Tween.from=function from(t,e){return Va(1,arguments)},Tween.delayedCall=function delayedCall(t,e,r,i){return new Tween(e,0,{immediateRender:!1,lazy:!1,overwrite:!1,delay:t,onComplete:e,onReverseComplete:e,onCompleteParams:r,onReverseCompleteParams:r,callbackScope:i})},Tween.fromTo=function fromTo(t,e,r){return Va(2,arguments)},Tween.set=function set(t,e){return e.duration=0,e.repeatDelay||(e.repeat=0),new Tween(t,e)},Tween.killTweensOf=function killTweensOf(t,e,r){return I.killTweensOf(t,e,r)},Tween}(Ut);qa(Zt.prototype,{_targets:[],_lazy:0,_startAt:0,_op:0,_onInit:0}),ha("staggerTo,staggerFrom,staggerFromTo",function(r){Zt[r]=function(){var t=new Xt,e=Mt.call(arguments,0);return e.splice("staggerFromTo"===r?5:4,0,0),t[r].apply(t,e)}});function oc(t,e,r){return t.setAttribute(e,r)}function wc(t,e,r,i){i.mSet(t,e,i.m.call(i.tween,r,i.mt),i)}var $t=function _setterPlain(t,e,r){return t[e]=r},te=function _setterFunc(t,e,r){return t[e](r)},re=function _setterFuncWithParam(t,e,r,i){return t[e](i.fp,r)},ne=function _getSetter(t,e){return s(t[e])?te:u(t[e])&&t.setAttribute?oc:$t},ae=function _renderPlain(t,e){return e.set(e.t,e.p,Math.round(1e6*(e.s+e.c*t))/1e6,e)},se=function _renderBoolean(t,e){return e.set(e.t,e.p,!!(e.s+e.c*t),e)},ue=function _renderComplexString(t,e){var r=e._pt,i="";if(!t&&e.b)i=e.b;else if(1===t&&e.e)i=e.e;else{for(;r;)i=r.p+(r.m?r.m(r.s+r.c*t):Math.round(1e4*(r.s+r.c*t))/1e4)+i,r=r._next;i+=e.c}e.set(e.t,e.p,i,e)},he=function _renderPropTweens(t,e){for(var r=e._pt;r;)r.r(t,r.d),r=r._next},fe=function _addPluginModifier(t,e,r,i){for(var n,a=this._pt;a;)n=a._next,a.p===i&&a.modifier(t,e,r),a=n},ce=function _killPropTweensOf(t){for(var e,r,i=this._pt;i;)r=i._next,i.p===t&&!i.op||i.op===t?ya(this,i,"_pt"):i.dep||(e=1),i=r;return!e},pe=function _sortPropTweensByPriority(t){for(var e,r,i,n,a=t._pt;a;){for(e=a._next,r=i;r&&r.pr>a.pr;)r=r._next;(a._prev=r?r._prev:n)?a._prev._next=a:i=a,(a._next=r)?r._prev=a:n=a,a=e}t._pt=i},_e=(PropTween.prototype.modifier=function modifier(t,e,r){this.mSet=this.mSet||this.set,this.set=wc,this.m=t,this.mt=r,this.tween=e},PropTween);function PropTween(t,e,r,i,n,a,s,o,u){this.t=e,this.s=i,this.c=n,this.p=r,this.r=a||ae,this.d=s||this,this.set=o||$t,this.pr=u||0,(this._next=t)&&(t._prev=this)}ha(vt+"parent,duration,ease,delay,overwrite,runBackwards,startAt,yoyo,immediateRender,repeat,repeatDelay,data,paused,reversed,lazy,callbackScope,stringFilter,id,yoyoEase,stagger,inherit,repeatRefresh,keyframes,autoRevert,scrollTrigger",function(t){return ft[t]=1}),ot.TweenMax=ot.TweenLite=Zt,ot.TimelineLite=ot.TimelineMax=Xt,I=new Xt({sortChildren:!1,defaults:V,autoRemoveChildren:!0,id:"root",smoothChildTiming:!0}),q.stringFilter=Fb;function Ec(t){return(ye[t]||Te).map(function(t){return t()})}function Fc(){var t=Date.now(),o=[];2<t-Me&&(Ec("matchMediaInit"),ge.forEach(function(t){var e,r,i,n,a=t.queries,s=t.conditions;for(r in a)(e=h.matchMedia(a[r]).matches)&&(i=1),e!==s[r]&&(s[r]=e,n=1);n&&(t.revert(),i&&o.push(t))}),Ec("matchMediaRevert"),o.forEach(function(t){return t.onMatch(t)}),Me=t,Ec("matchMedia"))}var me,ge=[],ye={},Te=[],Me=0,Oe=0,Pe=((me=Context.prototype).add=function add(t,i,n){function Ew(){var t,e=l,r=a.selector;return e&&e!==a&&e.data.push(a),n&&(a.selector=cb(n)),l=a,t=i.apply(a,arguments),s(t)&&a._r.push(t),l=e,a.selector=r,a.isReverted=!1,t}s(t)&&(n=i,i=t,t=s);var a=this;return a.last=Ew,t===s?Ew(a):t?a[t]=Ew:Ew},me.ignore=function ignore(t){var e=l;l=null,t(this),l=e},me.getTweens=function getTweens(){var e=[];return this.data.forEach(function(t){return t instanceof Context?e.push.apply(e,t.getTweens()):t instanceof Zt&&!(t.parent&&"nested"===t.parent.data)&&e.push(t)}),e},me.clear=function clear(){this._r.length=this.data.length=0},me.kill=function kill(e,t){var r=this;if(e){var i=this.getTweens();this.data.forEach(function(t){"isFlip"===t.data&&(t.revert(),t.getChildren(!0,!0,!1).forEach(function(t){return i.splice(i.indexOf(t),1)}))}),i.map(function(t){return{g:t.globalTime(0),t:t}}).sort(function(t,e){return e.g-t.g||-1/0}).forEach(function(t){return t.t.revert(e)}),this.data.forEach(function(t){return!(t instanceof Zt)&&t.revert&&t.revert(e)}),this._r.forEach(function(t){return t(e,r)}),this.isReverted=!0}else this.data.forEach(function(t){return t.kill&&t.kill()});if(this.clear(),t)for(var n=ge.length;n--;)ge[n].id===this.id&&ge.splice(n,1)},me.revert=function revert(t){this.kill(t||{})},Context);function Context(t,e){this.selector=e&&cb(e),this.data=[],this._r=[],this.isReverted=!1,this.id=Oe++,t&&this.add(t)}var Ae,Ce=((Ae=MatchMedia.prototype).add=function add(t,e,r){v(t)||(t={matches:t});var i,n,a,s=new Pe(0,r||this.scope),o=s.conditions={};for(n in l&&!s.selector&&(s.selector=l.selector),this.contexts.push(s),e=s.add("onMatch",e),s.queries=t)"all"===n?a=1:(i=h.matchMedia(t[n]))&&(ge.indexOf(s)<0&&ge.push(s),(o[n]=i.matches)&&(a=1),i.addListener?i.addListener(Fc):i.addEventListener("change",Fc));return a&&e(s),this},Ae.revert=function revert(t){this.kill(t||{})},Ae.kill=function kill(e){this.contexts.forEach(function(t){return t.kill(e,!0)})},MatchMedia);function MatchMedia(t){this.contexts=[],this.scope=t}var Se={registerPlugin:function registerPlugin(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];e.forEach(function(t){return wb(t)})},timeline:function timeline(t){return new Xt(t)},getTweensOf:function getTweensOf(t,e){return I.getTweensOf(t,e)},getProperty:function getProperty(i,t,e,n){r(i)&&(i=Ot(i)[0]);var a=fa(i||{}).get,s=e?pa:oa;return"native"===e&&(e=""),i?t?s((pt[t]&&pt[t].get||a)(i,t,e,n)):function(t,e,r){return s((pt[t]&&pt[t].get||a)(i,t,e,r))}:i},quickSetter:function quickSetter(r,e,i){if(1<(r=Ot(r)).length){var n=r.map(function(t){return Ee.quickSetter(t,e,i)}),a=n.length;return function(t){for(var e=a;e--;)n[e](t)}}r=r[0]||{};var s=pt[e],o=fa(r),u=o.harness&&(o.harness.aliases||{})[e]||e,h=s?function(t){var e=new s;c._pt=0,e.init(r,i?t+i:t,c,0,[r]),e.render(1,e),c._pt&&he(1,c)}:o.set(r,u);return s?h:function(t){return h(r,u,i?t+i:t,o,1)}},quickTo:function quickTo(t,i,e){function Wx(t,e,r){return n.resetTo(i,t,e,r)}var r,n=Ee.to(t,yt(((r={})[i]="+=0.1",r.paused=!0,r),e||{}));return Wx.tween=n,Wx},isTweening:function isTweening(t){return 0<I.getTweensOf(t,!0).length},defaults:function defaults(t){return t&&t.ease&&(t.ease=jt(t.ease,V.ease)),ta(V,t||{})},config:function config(t){return ta(q,t||{})},registerEffect:function registerEffect(t){var i=t.name,n=t.effect,e=t.plugins,a=t.defaults,r=t.extendTimeline;(e||"").split(",").forEach(function(t){return t&&!pt[t]&&!ot[t]&&R(i+" effect requires "+t+" plugin.")}),_t[i]=function(t,e,r){return n(Ot(t),qa(e||{},a),r)},r&&(Xt.prototype[i]=function(t,e,r){return this.add(_t[i](t,v(e)?e:(r=e)&&{},this),r)})},registerEase:function registerEase(t,e){Bt[t]=jt(e)},parseEase:function parseEase(t,e){return arguments.length?jt(t,e):Bt},getById:function getById(t){return I.getById(t)},exportRoot:function exportRoot(t,e){void 0===t&&(t={});var r,i,n=new Xt(t);for(n.smoothChildTiming=w(t.smoothChildTiming),I.remove(n),n._dp=0,n._time=n._tTime=I._time,r=I._first;r;)i=r._next,!e&&!r._dur&&r instanceof Zt&&r.vars.onComplete===r._targets[0]||Ka(n,r,r._start-r._delay),r=i;return Ka(I,n,0),n},context:function context(t,e){return t?new Pe(t,e):l},matchMedia:function matchMedia(t){return new Ce(t)},matchMediaRefresh:function matchMediaRefresh(){return ge.forEach(function(t){var e,r,i=t.conditions;for(r in i)i[r]&&(i[r]=!1,e=1);e&&t.revert()})||Fc()},addEventListener:function addEventListener(t,e){var r=ye[t]||(ye[t]=[]);~r.indexOf(e)||r.push(e)},removeEventListener:function removeEventListener(t,e){var r=ye[t],i=r&&r.indexOf(e);0<=i&&r.splice(i,1)},utils:{wrap:function wrap(e,t,r){var i=t-e;return $(e)?lb(e,wrap(0,e.length),t):Wa(r,function(t){return(i+(t-e)%i)%i+e})},wrapYoyo:function wrapYoyo(e,t,r){var i=t-e,n=2*i;return $(e)?lb(e,wrapYoyo(0,e.length-1),t):Wa(r,function(t){return e+(i<(t=(n+(t-e)%n)%n||0)?n-t:t)})},distribute:eb,random:hb,snap:gb,normalize:function normalize(t,e,r){return Pt(t,e,0,1,r)},getUnit:Ya,clamp:function clamp(e,r,t){return Wa(t,function(t){return kt(e,r,t)})},splitColor:Ab,toArray:Ot,selector:cb,mapRange:Pt,pipe:function pipe(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];return function(t){return e.reduce(function(t,e){return e(t)},t)}},unitize:function unitize(e,r){return function(t){return e(parseFloat(t))+(r||Ya(t))}},interpolate:function interpolate(e,i,t,n){var a=isNaN(e+i)?0:function(t){return(1-t)*e+t*i};if(!a){var s,o,u,h,l,f=r(e),c={};if(!0===t&&(n=1)&&(t=null),f)e={p:e},i={p:i};else if($(e)&&!$(i)){for(u=[],h=e.length,l=h-2,o=1;o<h;o++)u.push(interpolate(e[o-1],e[o]));h--,a=function func(t){t*=h;var e=Math.min(l,~~t);return u[e](t-e)},t=i}else n||(e=yt($(e)?[]:{},e));if(!u){for(s in i)Qt.call(c,e,s,"get",i[s]);a=function func(t){return he(t,c)||(f?e.p:e)}}}return Wa(t,a)},shuffle:db},install:P,effects:_t,ticker:Rt,updateRoot:Xt.updateRoot,plugins:pt,globalTimeline:I,core:{PropTween:_e,globals:S,Tween:Zt,Timeline:Xt,Animation:Ut,getCache:fa,_removeLinkedListItem:ya,reverting:function reverting(){return L},context:function context(t){return t&&l&&(l.data.push(t),t._ctx=l),l},suppressOverwrites:function suppressOverwrites(t){return B=t}}};ha("to,from,fromTo,delayedCall,set,killTweensOf",function(t){return Se[t]=Zt[t]}),Rt.add(Xt.updateRoot),c=Se.to({},{duration:0});function Jc(t,e){for(var r=t._pt;r&&r.p!==e&&r.op!==e&&r.fp!==e;)r=r._next;return r}function Lc(t,a){return{name:t,rawVars:1,init:function init(t,n,e){e._onInit=function(t){var e,i;if(r(n)&&(e={},ha(n,function(t){return e[t]=1}),n=e),a){for(i in e={},n)e[i]=a(n[i]);n=e}!function _addModifiers(t,e){var r,i,n,a=t._targets;for(r in e)for(i=a.length;i--;)(n=(n=t._ptLookup[i][r])&&n.d)&&(n._pt&&(n=Jc(n,r)),n&&n.modifier&&n.modifier(e[r],t,a[i],r))}(t,n)}}}}var Ee=Se.registerPlugin({name:"attr",init:function init(t,e,r,i,n){var a,s,o;for(a in this.tween=r,e)o=t.getAttribute(a)||"",(s=this.add(t,"setAttribute",(o||0)+"",e[a],i,n,0,0,a)).op=a,s.b=o,this._props.push(a)},render:function render(t,e){for(var r=e._pt;r;)L?r.set(r.t,r.p,r.b,r):r.r(t,r.d),r=r._next}},{name:"endArray",init:function init(t,e){for(var r=e.length;r--;)this.add(t,r,t[r]||0,e[r],0,0,0,0,0,1)}},Lc("roundProps",fb),Lc("modifiers"),Lc("snap",gb))||Se;Zt.version=Xt.version=Ee.version="3.12.2",o=1,x()&&Ft();function vd(t,e){return e.set(e.t,e.p,Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function wd(t,e){return e.set(e.t,e.p,1===t?e.e:Math.round(1e4*(e.s+e.c*t))/1e4+e.u,e)}function xd(t,e){return e.set(e.t,e.p,t?Math.round(1e4*(e.s+e.c*t))/1e4+e.u:e.b,e)}function yd(t,e){var r=e.s+e.c*t;e.set(e.t,e.p,~~(r+(r<0?-.5:.5))+e.u,e)}function zd(t,e){return e.set(e.t,e.p,t?e.e:e.b,e)}function Ad(t,e){return e.set(e.t,e.p,1!==t?e.b:e.e,e)}function Bd(t,e,r){return t.style[e]=r}function Cd(t,e,r){return t.style.setProperty(e,r)}function Dd(t,e,r){return t._gsap[e]=r}function Ed(t,e,r){return t._gsap.scaleX=t._gsap.scaleY=r}function Fd(t,e,r,i,n){var a=t._gsap;a.scaleX=a.scaleY=r,a.renderTransform(n,a)}function Gd(t,e,r,i,n){var a=t._gsap;a[e]=r,a.renderTransform(n,a)}function Jd(t,e){var r=this,i=this.target,n=i.style;if(t in ar&&n){if(this.tfm=this.tfm||{},"transform"===t)return cr.transform.split(",").forEach(function(t){return Jd.call(r,t,e)});if(~(t=cr[t]||t).indexOf(",")?t.split(",").forEach(function(t){return r.tfm[t]=yr(i,t)}):this.tfm[t]=i._gsap.x?i._gsap[t]:yr(i,t),0<=this.props.indexOf(dr))return;i._gsap.svg&&(this.svgo=i.getAttribute("data-svg-origin"),this.props.push(pr,e,"")),t=dr}(n||e)&&this.props.push(t,e,n[t])}function Kd(t){t.translate&&(t.removeProperty("translate"),t.removeProperty("scale"),t.removeProperty("rotate"))}function Ld(){var t,e,r=this.props,i=this.target,n=i.style,a=i._gsap;for(t=0;t<r.length;t+=3)r[t+1]?i[r[t]]=r[t+2]:r[t+2]?n[r[t]]=r[t+2]:n.removeProperty("--"===r[t].substr(0,2)?r[t]:r[t].replace(hr,"-$1").toLowerCase());if(this.tfm){for(e in this.tfm)a[e]=this.tfm[e];a.svg&&(a.renderTransform(),i.setAttribute("data-svg-origin",this.svgo||"")),(t=Ie())&&t.isStart||n[dr]||(Kd(n),a.uncache=1)}}function Md(t,e){var r={target:t,props:[],revert:Ld,save:Jd};return t._gsap||Ee.core.getCache(t),e&&e.split(",").forEach(function(t){return r.save(t)}),r}function Od(t,e){var r=ze.createElementNS?ze.createElementNS((e||"http://www.w3.org/1999/xhtml").replace(/^https/,"http"),t):ze.createElement(t);return r.style?r:ze.createElement(t)}function Pd(t,e,r){var i=getComputedStyle(t);return i[e]||i.getPropertyValue(e.replace(hr,"-$1").toLowerCase())||i.getPropertyValue(e)||!r&&Pd(t,mr(e)||e,1)||""}function Sd(){(function _windowExists(){return"undefined"!=typeof window})()&&window.document&&(De=window,ze=De.document,Re=ze.documentElement,Be=Od("div")||{style:{}},Od("div"),dr=mr(dr),pr=dr+"Origin",Be.style.cssText="border-width:0;line-height:0;position:absolute;padding:0",Ye=!!mr("perspective"),Ie=Ee.core.reverting,Fe=1)}function Td(t){var e,r=Od("svg",this.ownerSVGElement&&this.ownerSVGElement.getAttribute("xmlns")||"http://www.w3.org/2000/svg"),i=this.parentNode,n=this.nextSibling,a=this.style.cssText;if(Re.appendChild(r),r.appendChild(this),this.style.display="block",t)try{e=this.getBBox(),this._gsapBBox=this.getBBox,this.getBBox=Td}catch(t){}else this._gsapBBox&&(e=this._gsapBBox());return i&&(n?i.insertBefore(this,n):i.appendChild(this)),Re.removeChild(r),this.style.cssText=a,e}function Ud(t,e){for(var r=e.length;r--;)if(t.hasAttribute(e[r]))return t.getAttribute(e[r])}function Vd(e){var r;try{r=e.getBBox()}catch(t){r=Td.call(e,!0)}return r&&(r.width||r.height)||e.getBBox===Td||(r=Td.call(e,!0)),!r||r.width||r.x||r.y?r:{x:+Ud(e,["x","cx","x1"])||0,y:+Ud(e,["y","cy","y1"])||0,width:0,height:0}}function Wd(t){return!(!t.getCTM||t.parentNode&&!t.ownerSVGElement||!Vd(t))}function Xd(t,e){if(e){var r=t.style;e in ar&&e!==pr&&(e=dr),r.removeProperty?("ms"!==e.substr(0,2)&&"webkit"!==e.substr(0,6)||(e="-"+e),r.removeProperty(e.replace(hr,"-$1").toLowerCase())):r.removeAttribute(e)}}function Yd(t,e,r,i,n,a){var s=new _e(t._pt,e,r,0,1,a?Ad:zd);return(t._pt=s).b=i,s.e=n,t._props.push(r),s}function _d(t,e,r,i){var n,a,s,o,u=parseFloat(r)||0,h=(r+"").trim().substr((u+"").length)||"px",l=Be.style,f=lr.test(e),c="svg"===t.tagName.toLowerCase(),d=(c?"client":"offset")+(f?"Width":"Height"),p="px"===i,_="%"===i;return i===h||!u||gr[i]||gr[h]?u:("px"===h||p||(u=_d(t,e,r,"px")),o=t.getCTM&&Wd(t),!_&&"%"!==h||!ar[e]&&!~e.indexOf("adius")?(l[f?"width":"height"]=100+(p?h:i),a=~e.indexOf("adius")||"em"===i&&t.appendChild&&!c?t:t.parentNode,o&&(a=(t.ownerSVGElement||{}).parentNode),a&&a!==ze&&a.appendChild||(a=ze.body),(s=a._gsap)&&_&&s.width&&f&&s.time===Rt.time&&!s.uncache?ia(u/s.width*100):(!_&&"%"!==h||vr[Pd(a,"display")]||(l.position=Pd(t,"position")),a===t&&(l.position="static"),a.appendChild(Be),n=Be[d],a.removeChild(Be),l.position="absolute",f&&_&&((s=fa(a)).time=Rt.time,s.width=a[d]),ia(p?n*u/100:n&&u?100/n*u:0))):(n=o?t.getBBox()[f?"width":"height"]:t[d],ia(_?u/n*100:u/100*n)))}function be(t,e,r,i){if(!r||"none"===r){var n=mr(e,t,1),a=n&&Pd(t,n,1);a&&a!==r?(e=n,r=a):"borderColor"===e&&(r=Pd(t,"borderTopColor"))}var s,o,u,h,l,f,c,d,p,_,m,g=new _e(this._pt,t.style,e,0,1,ue),v=0,y=0;if(g.b=r,g.e=i,r+="","auto"===(i+="")&&(t.style[e]=i,i=Pd(t,e)||i,t.style[e]=r),Fb(s=[r,i]),i=s[1],u=(r=s[0]).match(rt)||[],(i.match(rt)||[]).length){for(;o=rt.exec(i);)c=o[0],p=i.substring(v,o.index),l?l=(l+1)%5:"rgba("!==p.substr(-5)&&"hsla("!==p.substr(-5)||(l=1),c!==(f=u[y++]||"")&&(h=parseFloat(f)||0,m=f.substr((h+"").length),"="===c.charAt(1)&&(c=ka(h,c)+m),d=parseFloat(c),_=c.substr((d+"").length),v=rt.lastIndex-_.length,_||(_=_||q.units[e]||m,v===i.length&&(i+=_,g.e+=_)),m!==_&&(h=_d(t,e,f,_)||0),g._pt={_next:g._pt,p:p||1===y?p:",",s:h,c:d-h,m:l&&l<4||"zIndex"===e?Math.round:0});g.c=v<i.length?i.substring(v,i.length):""}else g.r="display"===e&&"none"===i?Ad:zd;return nt.test(i)&&(g.e=0),this._pt=g}function de(t){var e=t.split(" "),r=e[0],i=e[1]||"50%";return"top"!==r&&"bottom"!==r&&"left"!==i&&"right"!==i||(t=r,r=i,i=t),e[0]=Tr[r]||r,e[1]=Tr[i]||i,e.join(" ")}function ee(t,e){if(e.tween&&e.tween._time===e.tween._dur){var r,i,n,a=e.t,s=a.style,o=e.u,u=a._gsap;if("all"===o||!0===o)s.cssText="",i=1;else for(n=(o=o.split(",")).length;-1<--n;)r=o[n],ar[r]&&(i=1,r="transformOrigin"===r?pr:dr),Xd(a,r);i&&(Xd(a,dr),u&&(u.svg&&a.removeAttribute("transform"),kr(a,1),u.uncache=1,Kd(s)))}}function ie(t){return"matrix(1, 0, 0, 1, 0, 0)"===t||"none"===t||!t}function je(t){var e=Pd(t,dr);return ie(e)?wr:e.substr(7).match(et).map(ia)}function ke(t,e){var r,i,n,a,s=t._gsap||fa(t),o=t.style,u=je(t);return s.svg&&t.getAttribute("transform")?"1,0,0,1,0,0"===(u=[(n=t.transform.baseVal.consolidate().matrix).a,n.b,n.c,n.d,n.e,n.f]).join(",")?wr:u:(u!==wr||t.offsetParent||t===Re||s.svg||(n=o.display,o.display="block",(r=t.parentNode)&&t.offsetParent||(a=1,i=t.nextElementSibling,Re.appendChild(t)),u=je(t),n?o.display=n:Xd(t,"display"),a&&(i?r.insertBefore(t,i):r?r.appendChild(t):Re.removeChild(t))),e&&6<u.length?[u[0],u[1],u[4],u[5],u[12],u[13]]:u)}function le(t,e,r,i,n,a){var s,o,u,h=t._gsap,l=n||ke(t,!0),f=h.xOrigin||0,c=h.yOrigin||0,d=h.xOffset||0,p=h.yOffset||0,_=l[0],m=l[1],g=l[2],v=l[3],y=l[4],T=l[5],b=e.split(" "),w=parseFloat(b[0])||0,x=parseFloat(b[1])||0;r?l!==wr&&(o=_*v-m*g)&&(u=w*(-m/o)+x*(_/o)-(_*T-m*y)/o,w=w*(v/o)+x*(-g/o)+(g*T-v*y)/o,x=u):(w=(s=Vd(t)).x+(~b[0].indexOf("%")?w/100*s.width:w),x=s.y+(~(b[1]||b[0]).indexOf("%")?x/100*s.height:x)),i||!1!==i&&h.smooth?(y=w-f,T=x-c,h.xOffset=d+(y*_+T*g)-y,h.yOffset=p+(y*m+T*v)-T):h.xOffset=h.yOffset=0,h.xOrigin=w,h.yOrigin=x,h.smooth=!!i,h.origin=e,h.originIsAbsolute=!!r,t.style[pr]="0px 0px",a&&(Yd(a,h,"xOrigin",f,w),Yd(a,h,"yOrigin",c,x),Yd(a,h,"xOffset",d,h.xOffset),Yd(a,h,"yOffset",p,h.yOffset)),t.setAttribute("data-svg-origin",w+" "+x)}function oe(t,e,r){var i=Ya(e);return ia(parseFloat(e)+parseFloat(_d(t,"x",r+"px",i)))+i}function ve(t,e,i,n,a){var s,o,u=360,h=r(a),l=parseFloat(a)*(h&&~a.indexOf("rad")?sr:1)-n,f=n+l+"deg";return h&&("short"===(s=a.split("_")[1])&&(l%=u)!==l%180&&(l+=l<0?u:-u),"cw"===s&&l<0?l=(l+36e9)%u-~~(l/u)*u:"ccw"===s&&0<l&&(l=(l-36e9)%u-~~(l/u)*u)),t._pt=o=new _e(t._pt,e,i,n,l,wd),o.e=f,o.u="deg",t._props.push(i),o}function we(t,e){for(var r in e)t[r]=e[r];return t}function xe(t,e,r){var i,n,a,s,o,u,h,l=we({},r._gsap),f=r.style;for(n in l.svg?(a=r.getAttribute("transform"),r.setAttribute("transform",""),f[dr]=e,i=kr(r,1),Xd(r,dr),r.setAttribute("transform",a)):(a=getComputedStyle(r)[dr],f[dr]=e,i=kr(r,1),f[dr]=a),ar)(a=l[n])!==(s=i[n])&&"perspective,force3D,transformOrigin,svgOrigin".indexOf(n)<0&&(o=Ya(a)!==(h=Ya(s))?_d(r,n,a,h):parseFloat(a),u=parseFloat(s),t._pt=new _e(t._pt,i,n,o,u-o,vd),t._pt.u=h||0,t._props.push(n));we(i,l)}var De,ze,Re,Fe,Be,Le,Ie,Ye,qe=Bt.Power0,Ve=Bt.Power1,Ue=Bt.Power2,Xe=Bt.Power3,Ne=Bt.Power4,We=Bt.Linear,Qe=Bt.Quad,Ge=Bt.Cubic,Ke=Bt.Quart,Je=Bt.Quint,He=Bt.Strong,Ze=Bt.Elastic,$e=Bt.Back,tr=Bt.SteppedEase,er=Bt.Bounce,rr=Bt.Sine,ir=Bt.Expo,nr=Bt.Circ,ar={},sr=180/Math.PI,or=Math.PI/180,ur=Math.atan2,hr=/([A-Z])/g,lr=/(left|right|width|margin|padding|x)/i,fr=/[\s,\(]\S/,cr={autoAlpha:"opacity,visibility",scale:"scaleX,scaleY",alpha:"opacity"},dr="transform",pr=dr+"Origin",_r="O,Moz,ms,Ms,Webkit".split(","),mr=function _checkPropPrefix(t,e,r){var i=(e||Be).style,n=5;if(t in i&&!r)return t;for(t=t.charAt(0).toUpperCase()+t.substr(1);n--&&!(_r[n]+t in i););return n<0?null:(3===n?"ms":0<=n?_r[n]:"")+t},gr={deg:1,rad:1,turn:1},vr={grid:1,flex:1},yr=function _get(t,e,r,i){var n;return Fe||Sd(),e in cr&&"transform"!==e&&~(e=cr[e]).indexOf(",")&&(e=e.split(",")[0]),ar[e]&&"transform"!==e?(n=kr(t,i),n="transformOrigin"!==e?n[e]:n.svg?n.origin:Mr(Pd(t,pr))+" "+n.zOrigin+"px"):(n=t.style[e])&&"auto"!==n&&!i&&!~(n+"").indexOf("calc(")||(n=br[e]&&br[e](t,e,r)||Pd(t,e)||ga(t,e)||("opacity"===e?1:0)),r&&!~(n+"").trim().indexOf(" ")?_d(t,e,n,r)+r:n},Tr={top:"0%",bottom:"100%",left:"0%",right:"100%",center:"50%"},br={clearProps:function clearProps(t,e,r,i,n){if("isFromStart"!==n.data){var a=t._pt=new _e(t._pt,e,r,0,0,ee);return a.u=i,a.pr=-10,a.tween=n,t._props.push(r),1}}},wr=[1,0,0,1,0,0],xr={},kr=function _parseTransform(t,e){var r=t._gsap||new Vt(t);if("x"in r&&!e&&!r.uncache)return r;var i,n,a,s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w,x,k,M,O,P,A,C,S,E,D,z,R,F=t.style,B=r.scaleX<0,L="deg",I=getComputedStyle(t),Y=Pd(t,pr)||"0";return i=n=a=u=h=l=f=c=d=0,s=o=1,r.svg=!(!t.getCTM||!Wd(t)),I.translate&&("none"===I.translate&&"none"===I.scale&&"none"===I.rotate||(F[dr]=("none"!==I.translate?"translate3d("+(I.translate+" 0 0").split(" ").slice(0,3).join(", ")+") ":"")+("none"!==I.rotate?"rotate("+I.rotate+") ":"")+("none"!==I.scale?"scale("+I.scale.split(" ").join(",")+") ":"")+("none"!==I[dr]?I[dr]:"")),F.scale=F.rotate=F.translate="none"),m=ke(t,r.svg),r.svg&&(O=r.uncache?(P=t.getBBox(),Y=r.xOrigin-P.x+"px "+(r.yOrigin-P.y)+"px",""):!e&&t.getAttribute("data-svg-origin"),le(t,O||Y,!!O||r.originIsAbsolute,!1!==r.smooth,m)),p=r.xOrigin||0,_=r.yOrigin||0,m!==wr&&(T=m[0],b=m[1],w=m[2],x=m[3],i=k=m[4],n=M=m[5],6===m.length?(s=Math.sqrt(T*T+b*b),o=Math.sqrt(x*x+w*w),u=T||b?ur(b,T)*sr:0,(f=w||x?ur(w,x)*sr+u:0)&&(o*=Math.abs(Math.cos(f*or))),r.svg&&(i-=p-(p*T+_*w),n-=_-(p*b+_*x))):(R=m[6],D=m[7],C=m[8],S=m[9],E=m[10],z=m[11],i=m[12],n=m[13],a=m[14],h=(g=ur(R,E))*sr,g&&(O=k*(v=Math.cos(-g))+C*(y=Math.sin(-g)),P=M*v+S*y,A=R*v+E*y,C=k*-y+C*v,S=M*-y+S*v,E=R*-y+E*v,z=D*-y+z*v,k=O,M=P,R=A),l=(g=ur(-w,E))*sr,g&&(v=Math.cos(-g),z=x*(y=Math.sin(-g))+z*v,T=O=T*v-C*y,b=P=b*v-S*y,w=A=w*v-E*y),u=(g=ur(b,T))*sr,g&&(O=T*(v=Math.cos(g))+b*(y=Math.sin(g)),P=k*v+M*y,b=b*v-T*y,M=M*v-k*y,T=O,k=P),h&&359.9<Math.abs(h)+Math.abs(u)&&(h=u=0,l=180-l),s=ia(Math.sqrt(T*T+b*b+w*w)),o=ia(Math.sqrt(M*M+R*R)),g=ur(k,M),f=2e-4<Math.abs(g)?g*sr:0,d=z?1/(z<0?-z:z):0),r.svg&&(O=t.getAttribute("transform"),r.forceCSS=t.setAttribute("transform","")||!ie(Pd(t,dr)),O&&t.setAttribute("transform",O))),90<Math.abs(f)&&Math.abs(f)<270&&(B?(s*=-1,f+=u<=0?180:-180,u+=u<=0?180:-180):(o*=-1,f+=f<=0?180:-180)),e=e||r.uncache,r.x=i-((r.xPercent=i&&(!e&&r.xPercent||(Math.round(t.offsetWidth/2)===Math.round(-i)?-50:0)))?t.offsetWidth*r.xPercent/100:0)+"px",r.y=n-((r.yPercent=n&&(!e&&r.yPercent||(Math.round(t.offsetHeight/2)===Math.round(-n)?-50:0)))?t.offsetHeight*r.yPercent/100:0)+"px",r.z=a+"px",r.scaleX=ia(s),r.scaleY=ia(o),r.rotation=ia(u)+L,r.rotationX=ia(h)+L,r.rotationY=ia(l)+L,r.skewX=f+L,r.skewY=c+L,r.transformPerspective=d+"px",(r.zOrigin=parseFloat(Y.split(" ")[2])||0)&&(F[pr]=Mr(Y)),r.xOffset=r.yOffset=0,r.force3D=q.force3D,r.renderTransform=r.svg?Er:Ye?Sr:Or,r.uncache=0,r},Mr=function _firstTwoOnly(t){return(t=t.split(" "))[0]+" "+t[1]},Or=function _renderNon3DTransforms(t,e){e.z="0px",e.rotationY=e.rotationX="0deg",e.force3D=0,Sr(t,e)},Pr="0deg",Ar="0px",Cr=") ",Sr=function _renderCSSTransforms(t,e){var r=e||this,i=r.xPercent,n=r.yPercent,a=r.x,s=r.y,o=r.z,u=r.rotation,h=r.rotationY,l=r.rotationX,f=r.skewX,c=r.skewY,d=r.scaleX,p=r.scaleY,_=r.transformPerspective,m=r.force3D,g=r.target,v=r.zOrigin,y="",T="auto"===m&&t&&1!==t||!0===m;if(v&&(l!==Pr||h!==Pr)){var b,w=parseFloat(h)*or,x=Math.sin(w),k=Math.cos(w);w=parseFloat(l)*or,b=Math.cos(w),a=oe(g,a,x*b*-v),s=oe(g,s,-Math.sin(w)*-v),o=oe(g,o,k*b*-v+v)}_!==Ar&&(y+="perspective("+_+Cr),(i||n)&&(y+="translate("+i+"%, "+n+"%) "),!T&&a===Ar&&s===Ar&&o===Ar||(y+=o!==Ar||T?"translate3d("+a+", "+s+", "+o+") ":"translate("+a+", "+s+Cr),u!==Pr&&(y+="rotate("+u+Cr),h!==Pr&&(y+="rotateY("+h+Cr),l!==Pr&&(y+="rotateX("+l+Cr),f===Pr&&c===Pr||(y+="skew("+f+", "+c+Cr),1===d&&1===p||(y+="scale("+d+", "+p+Cr),g.style[dr]=y||"translate(0, 0)"},Er=function _renderSVGTransforms(t,e){var r,i,n,a,s,o=e||this,u=o.xPercent,h=o.yPercent,l=o.x,f=o.y,c=o.rotation,d=o.skewX,p=o.skewY,_=o.scaleX,m=o.scaleY,g=o.target,v=o.xOrigin,y=o.yOrigin,T=o.xOffset,b=o.yOffset,w=o.forceCSS,x=parseFloat(l),k=parseFloat(f);c=parseFloat(c),d=parseFloat(d),(p=parseFloat(p))&&(d+=p=parseFloat(p),c+=p),c||d?(c*=or,d*=or,r=Math.cos(c)*_,i=Math.sin(c)*_,n=Math.sin(c-d)*-m,a=Math.cos(c-d)*m,d&&(p*=or,s=Math.tan(d-p),n*=s=Math.sqrt(1+s*s),a*=s,p&&(s=Math.tan(p),r*=s=Math.sqrt(1+s*s),i*=s)),r=ia(r),i=ia(i),n=ia(n),a=ia(a)):(r=_,a=m,i=n=0),(x&&!~(l+"").indexOf("px")||k&&!~(f+"").indexOf("px"))&&(x=_d(g,"x",l,"px"),k=_d(g,"y",f,"px")),(v||y||T||b)&&(x=ia(x+v-(v*r+y*n)+T),k=ia(k+y-(v*i+y*a)+b)),(u||h)&&(s=g.getBBox(),x=ia(x+u/100*s.width),k=ia(k+h/100*s.height)),s="matrix("+r+","+i+","+n+","+a+","+x+","+k+")",g.setAttribute("transform",s),w&&(g.style[dr]=s)};ha("padding,margin,Width,Radius",function(e,r){var t="Right",i="Bottom",n="Left",o=(r<3?["Top",t,i,n]:["Top"+n,"Top"+t,i+t,i+n]).map(function(t){return r<2?e+t:"border"+t+e});br[1<r?"border"+e:e]=function(e,t,r,i,n){var a,s;if(arguments.length<4)return a=o.map(function(t){return yr(e,t,r)}),5===(s=a.join(" ")).split(a[0]).length?a[0]:s;a=(i+"").split(" "),s={},o.forEach(function(t,e){return s[t]=a[e]=a[e]||a[(e-1)/2|0]}),e.init(t,s,n)}});var Dr,zr,Rr,Fr={name:"css",register:Sd,targetTest:function targetTest(t){return t.style&&t.nodeType},init:function init(t,e,i,n,a){var s,o,u,h,l,f,c,d,p,_,m,g,v,y,T,b,w=this._props,x=t.style,k=i.vars.startAt;for(c in Fe||Sd(),this.styles=this.styles||Md(t),b=this.styles.props,this.tween=i,e)if("autoRound"!==c&&(o=e[c],!pt[c]||!ac(c,e,i,n,t,a)))if(l=typeof o,f=br[c],"function"===l&&(l=typeof(o=o.call(i,n,t,a))),"string"===l&&~o.indexOf("random(")&&(o=ob(o)),f)f(this,t,c,o,i)&&(T=1);else if("--"===c.substr(0,2))s=(getComputedStyle(t).getPropertyValue(c)+"").trim(),o+="",Dt.lastIndex=0,Dt.test(s)||(d=Ya(s),p=Ya(o)),p?d!==p&&(s=_d(t,c,s,p)+p):d&&(o+=d),this.add(x,"setProperty",s,o,n,a,0,0,c),w.push(c),b.push(c,0,x[c]);else if("undefined"!==l){if(k&&c in k?(s="function"==typeof k[c]?k[c].call(i,n,t,a):k[c],r(s)&&~s.indexOf("random(")&&(s=ob(s)),Ya(s+"")||(s+=q.units[c]||Ya(yr(t,c))||""),"="===(s+"").charAt(1)&&(s=yr(t,c))):s=yr(t,c),h=parseFloat(s),(_="string"===l&&"="===o.charAt(1)&&o.substr(0,2))&&(o=o.substr(2)),u=parseFloat(o),c in cr&&("autoAlpha"===c&&(1===h&&"hidden"===yr(t,"visibility")&&u&&(h=0),b.push("visibility",0,x.visibility),Yd(this,x,"visibility",h?"inherit":"hidden",u?"inherit":"hidden",!u)),"scale"!==c&&"transform"!==c&&~(c=cr[c]).indexOf(",")&&(c=c.split(",")[0])),m=c in ar)if(this.styles.save(c),g||((v=t._gsap).renderTransform&&!e.parseTransform||kr(t,e.parseTransform),y=!1!==e.smoothOrigin&&v.smooth,(g=this._pt=new _e(this._pt,x,dr,0,1,v.renderTransform,v,0,-1)).dep=1),"scale"===c)this._pt=new _e(this._pt,v,"scaleY",v.scaleY,(_?ka(v.scaleY,_+u):u)-v.scaleY||0,vd),this._pt.u=0,w.push("scaleY",c),c+="X";else{if("transformOrigin"===c){b.push(pr,0,x[pr]),o=de(o),v.svg?le(t,o,0,y,0,this):((p=parseFloat(o.split(" ")[2])||0)!==v.zOrigin&&Yd(this,v,"zOrigin",v.zOrigin,p),Yd(this,x,c,Mr(s),Mr(o)));continue}if("svgOrigin"===c){le(t,o,1,y,0,this);continue}if(c in xr){ve(this,v,c,h,_?ka(h,_+o):o);continue}if("smoothOrigin"===c){Yd(this,v,"smooth",v.smooth,o);continue}if("force3D"===c){v[c]=o;continue}if("transform"===c){xe(this,o,t);continue}}else c in x||(c=mr(c)||c);if(m||(u||0===u)&&(h||0===h)&&!fr.test(o)&&c in x)u=u||0,(d=(s+"").substr((h+"").length))!==(p=Ya(o)||(c in q.units?q.units[c]:d))&&(h=_d(t,c,s,p)),this._pt=new _e(this._pt,m?v:x,c,h,(_?ka(h,_+u):u)-h,m||"px"!==p&&"zIndex"!==c||!1===e.autoRound?vd:yd),this._pt.u=p||0,d!==p&&"%"!==p&&(this._pt.b=s,this._pt.r=xd);else if(c in x)be.call(this,t,c,s,_?_+o:o);else if(c in t)this.add(t,c,s||t[c],_?_+o:o,n,a);else if("parseTransform"!==c){Q(c,o);continue}m||(c in x?b.push(c,0,x[c]):b.push(c,1,s||t[c])),w.push(c)}T&&pe(this)},render:function render(t,e){if(e.tween._time||!Ie())for(var r=e._pt;r;)r.r(t,r.d),r=r._next;else e.styles.revert()},get:yr,aliases:cr,getSetter:function getSetter(t,e,r){var i=cr[e];return i&&i.indexOf(",")<0&&(e=i),e in ar&&e!==pr&&(t._gsap.x||yr(t,"x"))?r&&Le===r?"scale"===e?Ed:Dd:(Le=r||{})&&("scale"===e?Fd:Gd):t.style&&!u(t.style[e])?Bd:~e.indexOf("-")?Cd:ne(t,e)},core:{_removeProperty:Xd,_getMatrix:ke}};Ee.utils.checkPrefix=mr,Ee.core.getStyleSaver=Md,Rr=ha((Dr="x,y,z,scale,scaleX,scaleY,xPercent,yPercent")+","+(zr="rotation,rotationX,rotationY,skewX,skewY")+",transform,transformOrigin,svgOrigin,force3D,smoothOrigin,transformPerspective",function(t){ar[t]=1}),ha(zr,function(t){q.units[t]="deg",xr[t]=1}),cr[Rr[13]]=Dr+","+zr,ha("0:translateX,1:translateY,2:translateZ,8:rotate,8:rotationZ,8:rotateZ,9:rotateX,10:rotateY",function(t){var e=t.split(":");cr[e[1]]=Rr[e[0]]}),ha("x,y,z,top,right,bottom,left,width,height,fontSize,padding,margin,perspective",function(t){q.units[t]="px"}),Ee.registerPlugin(Fr);var Br=Ee.registerPlugin(Fr)||Ee,Lr=Br.core.Tween;e.Back=$e,e.Bounce=er,e.CSSPlugin=Fr,e.Circ=nr,e.Cubic=Ge,e.Elastic=Ze,e.Expo=ir,e.Linear=We,e.Power0=qe,e.Power1=Ve,e.Power2=Ue,e.Power3=Xe,e.Power4=Ne,e.Quad=Qe,e.Quart=Ke,e.Quint=Je,e.Sine=rr,e.SteppedEase=tr,e.Strong=He,e.TimelineLite=Xt,e.TimelineMax=Xt,e.TweenLite=Zt,e.TweenMax=Lr,e.default=Br,e.gsap=Br;if (typeof(window)==="undefined"||window!==e){Object.defineProperty(e,"__esModule",{value:!0})} else {delete e.default}});
// source --> https://www.sunshoreboston.com/wp-content/plugins/trx_addons/components/api/woocommerce/woocommerce.js 
/* global jQuery */

(function() {
	"use strict";

	var $window   = jQuery( window ),
		$document = jQuery( document ),
		$body     = jQuery( 'body' );

	$document.on('action.before_init_trx_addons', function() {
		// Remove theme-animations inside sliders with WooCommerce products
		jQuery( '.slides.products .slider-slide' ).each( function() {
			var $self = jQuery( this );
			$self.find( '>[data-animation]' ).removeAttr( 'data-animation' );
			$self.find( '>[data-post-animation]' ).removeAttr( 'data-post-animation' );
		} );
	} );

	$document.on('action.ready_trx_addons', function() {

		// WooCommerce categories on homepages
		//----------------------------------------------------------

		// Add arrows to the WooCommerce categories on homepages
		if ( ! $body.hasClass( 'woocommerce' ) ) {
			$body.find( '.widget_area:not(.footer_wrap) .widget_product_categories:not(.inited)' ).each( function() {
				var widget = jQuery(this).addClass('inited');
				widget.find('ul.product-categories .has_children > a').append('<span class="open_child_menu"></span>');
				widget.on('click', 'ul.product-categories.plain li a .open_child_menu', function(e) {
					var $a = jQuery(this).parent();
					if ($a.siblings('ul:visible').length > 0)
						$a.siblings('ul').slideUp().parent().removeClass('opened');
					else {
						jQuery(this).parents('li').siblings('li').find('ul:visible').slideUp().parent().removeClass('opened');
						$a.siblings('ul').slideDown().parent().addClass('opened');
					}
					e.preventDefault();
					return false;
				} );

				// Resize handlers
				jQuery(document).on('action.resize_trx_addons', function() {
					trx_addons_woocommerce_resize_actions();
				});
				trx_addons_woocommerce_resize_actions();
			
				// Switch popup menu / hierarchical list on product categories list placed in sidebar
				function trx_addons_woocommerce_resize_actions() {
					var cat_menu = widget.find('ul.product-categories');
					var sb = cat_menu.parents('.widget_area');
					if ( sb.length > 0 && cat_menu.length > 0 ) {
						if ( sb.width() == sb.parents('.content_wrap').width() ) {
							if ( cat_menu.hasClass('inited') ) {
								cat_menu.removeClass('inited').addClass('plain').superfish('destroy');
								cat_menu.find('ul.animated').removeClass('animated').addClass('no_animated');
							}
						} else {
							if ( ! cat_menu.hasClass('inited') ) {
								cat_menu.removeClass('plain').addClass('inited');
								cat_menu.find('ul.no_animated').removeClass('no_animated').addClass('animated');
								trx_addons_init_sfmenu('body:not(.woocommerce) .widget_area:not(.footer_wrap) .widget_product_categories ul.product-categories');
							}
						}
					}
				}
			});
		}

		
		// Extended attributes in single product
		//----------------------------------------------------------

		// Change a behaviour to AJAX for the button 'Add to Cart' placed inside the popup 'Quick View'
		function trx_addons_woocommerce_add_to_cart_ajax( type ) {
			var $popup = $body.find( ( type == 'popup_yith' ? '>#yith-quick-view-modal' : '>.mfp-wrap' ) );
			if ( $popup.length ) {
				var $bt = $popup.find( '.single_add_to_cart_button' );
				if ( $bt.length ) {
					$bt.addClass( 'add_to_cart_button ajax_add_to_cart' )
						.attr( 'data-product_id', $bt.attr( 'value' ) );
					$popup.find( '.input-text.qty' )
						.on( 'change', function() {
							$bt.attr( 'data-quantity', jQuery( this ).val() );
						} );
				}
			}
		}
		if ( trx_addons_apply_filters( 'trx_addons_filter_ajax_add_to_cart_in_quick_view', true ) ) {
			jQuery( document.body ).on( 'woosq_loaded', function() {
				trx_addons_woocommerce_add_to_cart_ajax( 'popup_wpc' );
			} );
			$document.on( 'qv_loader_stop', function() {
				trx_addons_woocommerce_add_to_cart_ajax( 'popup_yith' );
			} );
		}

		// Init product attributes with variations
		jQuery( document.body ).on( 'woosq_loaded', function( e ) {
			trx_addons_woocommerce_init_variations( 'popup_wpc', $body );
		} );
		$body.on( 'wcpt_product_modal_ready', function( e ) {
			$document.trigger( 'action.init_hidden_elements', [$body] );
		} );

		$document.on( 'action.init_hidden_elements qv_loader_stop', function( e, cont ) {
			if ( ! cont ) cont = $body;
			trx_addons_woocommerce_init_variations( e.type == 'qv_loader_stop' ? 'popup_yith' : 'init_hidden', cont );
		} );

		// Check available product variations
		function trx_addons_woocommerce_init_variations( type, cont ) {
			cont.find( '.variations_form.cart:not(.inited)' ).each( function() {
				var form = jQuery(this).addClass('inited');
				var trx_addons_attribs = form.find('.trx_addons_attrib_item');
				if ( trx_addons_attribs.length === 0 ) return;
				
				// First check after variation form inited
				form.on( 'wc_variation_form', function( variation_form ) {
					form.on( 'check_variations', function() {
						trx_addons_woocommerce_check_variations( form );
					} );
					trx_addons_woocommerce_check_variations( form );
				} );

				// Click on our variations attribs
				trx_addons_attribs.on( 'click', function(e) {
					var $attrib = jQuery(this);
					e.preventDefault();
					if ( ! $attrib.hasClass('trx_addons_attrib_disabled') ) {
						$attrib.toggleClass('trx_addons_attrib_selected').siblings().removeClass('trx_addons_attrib_selected');
						var term = $attrib.hasClass('trx_addons_attrib_selected') ? $attrib.data('value') : '';
						if ( term === '' ) {
							$attrib.siblings('.trx_addons_attrib_item[data-value=""]').addClass('trx_addons_attrib_selected');
						}
						var attrib_name = $attrib.parents('.trx_addons_attrib_extended').data('attrib');
						$attrib.parents('.trx_addons_attrib_extended').parent().find('#'+attrib_name).val(term).trigger('change');
					}
					return false;
				} );
			} );
		}
		
		function trx_addons_woocommerce_check_variations( form ) {
			// Refresh attributes on selects are changed
			form.find( '.variations select' ).each( function() {
				var select_box = jQuery(this),
					select_val = select_box.val(),
					attrib_box = select_box.siblings('.trx_addons_attrib_extended').length == 1 
									? select_box.siblings('.trx_addons_attrib_extended')
									: select_box.parent().siblings('.trx_addons_attrib_extended');
				attrib_box.find('.trx_addons_attrib_item').removeClass('trx_addons_attrib_selected').addClass('trx_addons_attrib_disabled');
				select_box.find('option').each( function() {
					var opt = jQuery( this );
					attrib_box.find( '.trx_addons_attrib_item[data-value="' + opt.val() + '"]' )
								.removeClass( 'trx_addons_attrib_disabled' )
								.toggleClass( 'trx_addons_attrib_selected', opt.val() == select_val );//opt.get(0).selected
				} );
			} );
		}

		
		// Extended attributes in the products list (shop page or category/tag list)
		//----------------------------------------------------------
		if ( true || $body.hasClass( 'woocommerce' ) && $body.hasClass( 'archive' ) ) {
			$document.on( 'action.init_hidden_elements', function( e, cont ) {
				// If products with attributes are not present on this page - exit
				if ( ! jQuery( '.trx_addons_product_attributes' ).length ) return;
				// Click on the attribute - add filter
				cont
					.find( '.trx_addons_product_attribute_item_action_filter:not(.attribute_action_filter_inited)' )
					.addClass( 'attribute_action_filter_inited' )
					.on( 'click', function( e ) {
						var flt    = jQuery( this ),
							item   = flt.parent(),
							type   = item.data( 'type' ),
							attr   = item.data( 'attribute' ),
							value  = item.data( 'value' ),
							widget = jQuery( '.trx_addons_woocommerce_search_type_filter' ).eq(0);
						if ( widget.length ) {
							var widget_fld = widget.find( '.sc_form_field_' + attr );
							if ( widget_fld.length ) {
								var widget_item = widget_fld.find( '.sc_form_field_item[data-value="' + value + '"]' ).eq( 0 );
								if ( widget_item.length && ! widget_item.hasClass( 'sc_form_field_item_checked' ) ) {
									widget_item.trigger( 'click' );
									var apply = widget_fld.find( '.trx_addons_search_apply' );
									if ( apply.length ) {
										apply.trigger( 'click' );
									}
								}
							}
						}
						e.preventDefault();
						return false;
					} );
				// Click on the attribute - swap image
				var $swap_atts = cont
									.find( '.trx_addons_product_attribute_item_action_swap:not(.attribute_action_swap_inited)' )
									.addClass( 'attribute_action_swap_inited' );
				if ( $swap_atts.length ) {
					$swap_atts.on( 'click', function( e ) {
						var $link = jQuery( this ),
							$item = $link.parent(),
							active = $item.hasClass( 'trx_addons_product_attribute_item_active' ),
							disabled = $item.hasClass( 'trx_addons_product_attribute_item_disabled' );
						if ( ! disabled ) {
							$item.parents( '.trx_addons_product_attribute' )
								.find( '.trx_addons_product_attribute_item_active' )
								.removeClass( 'trx_addons_product_attribute_item_active' );
							swap_product_image( $item.toggleClass( 'trx_addons_product_attribute_item_active', ! active ) );
							check_available_variations( $item.parents( '.trx_addons_product_attributes' ) );
						}
						e.preventDefault();
						return false;
					} );
					// Swap image and display corresponding price on first run or after new products are loaded
					swap_product_image( $swap_atts.eq(0) );
					// Check variations on first run or after new products are loaded
					$swap_atts.parents( '.trx_addons_product_attributes' ).each( function() {
						check_available_variations( jQuery( this ) );
					} );
				}
				// Hover on the attribute - change the product image
				cont
					.find( '.trx_addons_product_attributes[data-product-variations] .trx_addons_product_attribute_item:not(.attribute_action_swap_inited)' )
					.addClass( 'attribute_action_swap_inited' )
					.on( 'focus mouseover', function( e ) {
						var $self = jQuery( this );
						if ( ! $self.find( '>.trx_addons_product_attribute_item_action_swap' ).length ) {
							swap_product_image( $self );
						}
					} );

				// Check available variations for product in the archive
				function check_available_variations( $wrap ) {
					var variations = $wrap.data( 'product-variations' ),
						variation_sel = {},
						$active_items = $wrap.find( '.trx_addons_product_attribute_item_active' );
					// Collect active items to the current variation
					$active_items.each( function( idx ) {
						variation_sel[ $active_items.eq( idx ).data( 'attribute' ) ] = $active_items.eq( idx ).data( 'value' );
					} );
					$wrap.find( '.trx_addons_product_attribute_item' ).each( function() {
						var $attr = jQuery( this ),
							attr_name = $attr.data( 'attribute' ),
							attr_value = $attr.data( 'value' ),
							attr_variation = trx_addons_object_clone( variation_sel );
						attr_variation[ attr_name ] = attr_value;
						$attr.toggleClass( 'trx_addons_product_attribute_item_disabled', get_closest_variation( variations, attr_variation ) === false );
					} );
				}

				// Get a closest variation
				function get_closest_variation( variations, variation_sel ) {
					var variation = false,
						variation_max = 0,
						variation_cur = 0;
					for ( var i = 0; i < variations.length; i++ ) {
						if ( ! variations[i].variation_is_active || ! variations[i].variation_is_visible ) {
							continue;
						}
						variation_cur = 0;
						for ( var attr in variation_sel ) {
							if ( ! variations[i].attributes['attribute_'+attr] ) {
								variation_cur += 1;
							} else if ( variations[i].attributes['attribute_' + attr] == variation_sel[attr] ) {
								variation_cur += 10;
							} else {
								variation_cur = 0;
								break;
							}
						}
						if ( variation_max < variation_cur ) {
							variation_max = variation_cur;
							variation = variations[i];
						}
					}
					return variation;
				}

				// Return true if all attributes from variation are selected
				function is_full_variation_present( variations, variation_sel_count ) {
					var variation_total = 0;
					for ( var i = 0; i < variations.length; i++ ) {
						if ( ! variations[i].variation_is_active || ! variations[i].variation_is_visible ) {
							continue;
						}
						for ( var p in variations[i].attributes ) {
							if ( variations[i].attributes.hasOwnProperty( p ) ) {
								variation_total++;
							}
						}
						break;
					}
					return variation_total == variation_sel_count;
				}

				// Swap a product image on an attribute hover or click
				function swap_product_image( $flt ) {
					var $wrap = $flt.parents( '.trx_addons_product_attributes' ),
						$product = $flt.parents( '.product' ),
						variations = $wrap.data( 'product-variations' ),
						variation = false,
						variation_sel = {},
						variation_sel_count = 0;
					if ( variations ) {
						// Collect active items to the current variation
						var $active_items = $wrap.find( '.trx_addons_product_attribute_item_action_swap' ).length
												? $wrap.find( '.trx_addons_product_attribute_item_active' )
												: $flt;
						$active_items.each( function( idx ) {
							variation_sel[ $active_items.eq( idx ).data( 'attribute' ) ] = $active_items.eq( idx ).data( 'value' );
							variation_sel_count++;
						} );
						// Get a closest variation
						if ( variation_sel_count ) {
							variation = get_closest_variation( variations, variation_sel );
						}
						// Swap image if a variation found
						// or change back the original image if a variation with selected atributes is not found
						var $img = $product.find( 'img[class*="attachment-woocommerce"],img[class*="woocommerce-placeholder"]' );
						if ( $img.length ) {
							if ( ! $img.data( 'src-old' ) ) {
								$img.data( {
									'src-old': $img.attr( 'src' ),
									'srcset-old': $img.attr( 'srcset' ),
									'sizes-old': $img.attr( 'sizes' )
								} );
							}
							if ( variation ) {
								$img.attr( {
									'src': variation.image.src,
									'srcset': variation.image.srcset ? variation.image.srcset : '',
									'sizes': variation.image.sizes ? variation.image.sizes : ''
								} );
							} else {
								$img.attr( {
									'src': $img.data( 'src-old' ),
									'srcset': $img.data( 'srcset-old' ),
									'sizes': $img.data( 'sizes-old' )
								} );
							}
						}
						// Swap price if a full variation found (all attributes present in the item and selected)
						// or change back the original price if a variation with selected atributes is not found
						if ( trx_addons_apply_filters( 'trx_addons_filter_swap_price_for_variable_products', is_full_variation_present( variations, variation_sel_count ) ) ) {
							var $price = $product.find( '.price_wrap' );
							if ( ! $price.length ) {
								$price = $product.find( '.price' );
							}
							if ( $price.length ) {
								if ( ! $price.data( 'price-old' ) ) {
									$price.data( {
										'price-old': $price.html()
									} );
								}
								if ( variation ) {
									// A 'price_html' can be empty if all variations have an equal price.
									// In this case leave a price unchanged.
									if ( variation.price_html != '' ) {
										$price.html( $price.hasClass( 'price_wrap' ) ? variation.price_html : jQuery( variation.price_html ).html() );
									}
								} else {
									$price.html( $price.data( 'price-old' ) );
								}
							}
						}
					}
				}
			} );
		}


		// WooCommerce Search Widget
		//----------------------------------------------------------
		
		var reopen_after_reload = trx_addons_apply_filters( 'trx_addons_filter_reopen_filter_after_reload_products', false ),
			reopened = false,
			reload_is_busy = false,
			reload_is_allowed = true,
			last_clicked_item = '',
			last_opened_filter = '',
			inline_css_selector = trx_addons_apply_filters( 'trx_addons_filter_reload_inline_css_selector', '#trx_addons-inline-styles-inline-css' ),
			inline_css_wrap = jQuery( inline_css_selector ),
			inline_css_start = trx_addons_apply_filters( 'trx_addons_filter_reload_inline_css_start', '#woocommerce_output_start{}' ),
			inline_css_end = trx_addons_apply_filters( 'trx_addons_filter_reload_inline_css_end', '#woocommerce_output_end{}' ),
			list_products_selector = trx_addons_apply_filters( 'trx_addons_filter_reload_products_selector', '.list_products' ),
			list_products_wrap = jQuery( list_products_selector ),
			list_products_loading = 0,
			list_products_loading_class = '.trx_addons_loading',
			list_products_loading_selector  = trx_addons_apply_filters( 'trx_addons_filter_reload_products_loading_wrap_selector',
																		'.list_products .products,.list_products .woocommerce-info,.woocommerce-no-products-found'
																		),
			list_products_loading_html  = trx_addons_apply_filters( 'trx_addons_filter_reload_products_loading_html',
																	'<div class="trx_addons_loading"></div>'
																	),
			single_product_selector = trx_addons_apply_filters( 'trx_addons_filter_single_product_selector', '.post_item_single.post_type_product' ),
			mask_fields_wrap_on_loading = true;

		$document.on( 'action.init_hidden_elements', function() {

			// Reinit search form after page reloaded
			var search_forms = jQuery('.trx_addons_woocommerce_search_form:not(.inited)');
			if ( search_forms.length ) {
				search_forms.each( function() {
					var form   = jQuery(this).addClass('inited'),
						widget = form.parents('.trx_addons_woocommerce_search'),
						type   = widget.hasClass( 'trx_addons_woocommerce_search_type_filter')
									? 'filter'
									: ( widget.hasClass( 'trx_addons_woocommerce_search_type_form')
										? 'form'
										: 'inline'
										),
						apply  = widget.hasClass( 'trx_addons_woocommerce_search_apply' ),
						ajax   = widget.hasClass( 'trx_addons_woocommerce_search_ajax' ),
						number = widget.data('number') || 1,
						expanded = widget.data('expanded') || 0;

					form
						// Submit form ('inline' or 'form' styles)
						.on('submit', function(e) {
							var shop_url = form.attr('action');
							var params = trx_addons_woocommerce_search_form_get_params(form);
							if (params !== false) {
								window.location.href = trx_addons_add_to_url(shop_url, params);
							} else {
								e.preventDefault();
							}
							return false;
						})
						// Enable/Disable submit button ('inline' or 'form' styles)
						.on('change', 'select,input', function(e) {
							var button = form.find('.trx_addons_woocommerce_search_button');
							if ( button.length ) {
								var params = trx_addons_woocommerce_search_form_get_params(form);
								if (params === false) {
									button.attr('disable', 'disable');
								} else {
									button.removeAttr('disable');
								}
							}
						})
						// Open/Close dropdown with items ('inline' style)
						.on('click', '.trx_addons_woocommerce_search_form_field_label', function(e) {
							jQuery(this)
								.parent('.trx_addons_woocommerce_search_form_field')
								.siblings('.trx_addons_woocommerce_search_form_field')
								.find('.trx_addons_woocommerce_search_form_field_list').slideUp();
							jQuery(this).siblings('.trx_addons_woocommerce_search_form_field_list').slideToggle();
							e.preventDefault();
							return false;
						})
						// Select item in the 'inline' form
						.on('click', '.trx_addons_woocommerce_search_form_field_list li', function(e) {
							var list = jQuery(this).parent();
							list.siblings('.trx_addons_woocommerce_search_form_field_label').html(jQuery(this).html());
							list.siblings('input[type="hidden"]').val(jQuery(this).data('value'));
							list.slideUp();
							e.preventDefault();
							return false;
						})
						// Keypress on the field's title
						.on('keyup', '.sc_form_field_title', function(e) {
							if ( type == 'filter' ) {
								if ( e.keyCode == 13 ) {
									jQuery(this).trigger('click');
								}
							}
						})
						// Open/Close dropdown with items ('filter' style)
						.on('click', '.sc_form_field_title', function(e) {
							if ( type == 'filter' ) {
								var $self  = jQuery(this),
									field  = $self.parent(),
									opened = field.hasClass('sc_form_field_opened');
								// Close all opened fields
								if ( $self.parents('.trx_addons_woocommerce_tools').length !== 0
									&& $self.parents('.trx_addons_woocommerce_search_form_fields_wrap_opened').length === 0
								) {
									$self
										.parents('.trx_addons_woocommerce_search_form_fields_wrap')
										.find('.sc_form_field_opened').each( function() {
											var cur_field = jQuery( this ),
												cur_param = cur_field.find( '.sc_form_field_param' ),
												cur_apply = cur_field.find( '.trx_addons_search_apply' ),
												need_apply = apply && cur_apply.length && ! cur_apply.attr('disabled') && cur_param.data('changed');
											if ( need_apply ) {
												cur_apply.trigger( 'click' );
											} else {
												trx_addons_woocommerce_search_form_close_field( cur_field );	// , apply
											}
										} );
								} else if ( opened ) {
									var cur_apply = field.find( '.trx_addons_search_apply' ),
										cur_param = field.find( '.sc_form_field_param' ),
										need_apply = apply && cur_apply.length && ! cur_apply.attr('disabled') && cur_param.data('changed');
									if ( false && need_apply ) {	// Don't apply on click a title in sidebar or mobile
										cur_apply.trigger( 'click' );
									} else {
										trx_addons_woocommerce_search_form_close_field( field );	// , apply
									}
								}
								// Open clicked field
								if ( ! opened ) {
									trx_addons_woocommerce_search_form_open_field( field );
								}
								e.preventDefault();
								return false;
							}
						})
						// Keypress on the field's title
						.on('keyup', '.sc_form_field_item', function(e) {
							if ( type == 'filter' ) {
								if ( e.keyCode == 13 ) {
									jQuery(this).trigger('click');
								} else if ( e.keyCode == 27 ) {
									jQuery(this).parents('.sc_form_field').find('.sc_form_field_title').focus().trigger('click');
								}
							}
						})
						// Check item in the select ('filter' style)
						.on('click', '.sc_form_field .sc_form_field_item', function(e) {
							if ( type == 'filter' ) {
								var $self = jQuery(this),
									wrap  = $self.parents('.sc_form_field_wrap'),
									multi = $self.parents('.sc_form_field').data('multiple') == '1';
								last_clicked_item = $self.data('value');
								if ( ! multi ) {
									wrap.find('.sc_form_field_item_checked').removeClass('sc_form_field_item_checked');
								}
								$self.toggleClass('sc_form_field_item_checked');
								var value = trx_addons_woocommerce_search_form_get_multiple_field_value( wrap );
								wrap.find( '.sc_form_field_param' ).val( value ).trigger( 'change' );
								e.preventDefault();
								return false;
							}
						})
						// All fields: Keypress on the 'Clear all' button
						.on('keyup', '.trx_addons_woocommerce_search_clear_all', function(e) {
							if ( type == 'filter' ) {
								if ( e.keyCode == 27 ) {
									jQuery(this).siblings('.trx_addons_woocommerce_search_close').trigger('click');
								}
							}
						})
						// All fields: Clear all selected items in the multiselect fields
						.on('click', '.trx_addons_woocommerce_search_clear_all', function(e) {
							e.preventDefault();
							if ( type == 'filter' ) {
								var need_reload = false;
								reload_is_allowed = false;
								form.find('.sc_form_field').each( function() {
									var $self = jQuery(this),
										param = $self.find( '.sc_form_field_param' );
									if ( param.attr('name') != 'product_cat' && param.val() !== '' ) {
										var field = param.parents('.sc_form_field'),
											value = '';
										if ( field.hasClass( 'sc_form_field_slider' ) ) {
											value = param.next().data('min');
										} else if ( field.hasClass( 'sc_form_field_range' ) ) {
											value = param.next().data('min') + ',' + param.next().data('max');
										}
										need_reload = true;
										param.val( value ).trigger( 'change' );
										trx_addons_woocommerce_search_form_restore_field_view( $self );
									}
								} );
								reload_is_allowed = true;
								if ( need_reload ) {
									trx_addons_woocommerce_search_form_reload_products( form );
								}
							}
							return false;
						})
						// Keypress on the 'Clear all' button
						.on('keyup', '.sc_form_field_items_selected_clear', function(e) {
							if ( type == 'filter' ) {
								if ( e.keyCode == 27 ) {
									jQuery(this).parents('.sc_form_field').find('.sc_form_field_title').focus().trigger('click');
								}
							}
						})
						// Clear all selected items in the multiselect fields
						.on('click', '.sc_form_field_items_selected_clear', function(e) {
							e.preventDefault();
							if ( type == 'filter' ) {
								var $self = jQuery(this),
									wrap  = $self.parents('.sc_form_field_wrap');
								wrap.find( '.sc_form_field_param' ).val( '' ).trigger( 'change' );
								trx_addons_woocommerce_search_form_restore_field_view( wrap.parents( '.sc_form_field' ) );
							}
							return false;
						})
						// Keypress on the 'Select all' button
						.on('keyup', '.sc_form_field_items_selected_select_all', function(e) {
							if ( type == 'filter' ) {
								if ( e.keyCode == 27 ) {
									jQuery(this).parents('.sc_form_field').find('.sc_form_field_title').focus().trigger('click');
								}
							}
						})
						// Select all items in the multiselect fields
						.on('click', '.sc_form_field_items_selected_select_all', function(e) {
							e.preventDefault();
							if ( type == 'filter' ) {
								var $self = jQuery(this),
									wrap  = $self.parents('.sc_form_field_wrap');
								wrap.find('.sc_form_field_item').toggleClass('sc_form_field_item_checked', true);
								var value = trx_addons_woocommerce_search_form_get_multiple_field_value( wrap );
								wrap.find( '.sc_form_field_param' ).val( value ).trigger( 'change' );
							}
							return false;
						})
						// Update 'param' field on change text ('filter' style)
						.on('change', '.sc_form_field_text .sc_form_field_input', function(e) {
							if ( type == 'filter' ) {
								var $self = jQuery(this),
									wrap  = $self.parents('.sc_form_field_wrap');
								wrap.find( '.sc_form_field_param' ).val( $self.val() ).trigger( 'change' );
							}
						})
						// Prevent submit form on Enter in the text field
						.on('keydown', '.sc_form_field_text .sc_form_field_input', function(e) {
							if ( type == 'filter' ) {
								var $buttons = jQuery(this).parents('.sc_form_field_wrap').find('.sc_form_field_buttons');
								if ( $buttons.length ) {
									if ( e.keyCode == 13 ) {
										var $apply = $buttons.find('.trx_addons_search_apply');
										if ( $apply.length ) {
											e.preventDefault();
											jQuery(this).trigger('change');
											$apply.trigger('click');
										}
									} else if ( e.keyCode == 27 ) {
										var $cancel = $buttons.find('.trx_addons_search_cancel');
										if ( $cancel.length ) {
											e.preventDefault();
											$cancel.trigger('click');
										}
									}
								}
							}
						})
						// Update result in the price range ('filter' style)
						.on('change', '.sc_form_field_price .sc_form_field_param', function(e) {
							if ( type == 'filter' ) {
								var $self  = jQuery(this),
									value  = $self.val().split(','),
									slider = $self.next('.trx_addons_range_slider '),
									result = slider.next('.trx_addons_range_result');
								if ( result.length ) {
									result.find('.trx_addons_range_result_value').html( value[0] + ( value.length > 1 ? ' - ' + value[1] : '' ) );
								}
							}
						})
						// Mark title as filled and update selected total value on param changed ('filter' style)
						.on('change', '.sc_form_field_param', function(e) {
							if ( type == 'filter' ) {
								var $self = jQuery(this).data('changed', 1);
								$self.parents('.trx_addons_woocommerce_search_form_fields_wrap').toggleClass('trx_addons_woocommerce_search_form_fields_changed', true);
								trx_addons_woocommerce_search_form_param_changed( $self );
							}
						} )
						// Remove attr 'disabled' from buttons 'Apply' and 'Cancel' on param changed ('filter' style)
						.on('change', '.sc_form_field_param', function(e) {
							if ( type == 'filter' ) {
								var field_wrap = jQuery(this).parents('.sc_form_field_wrap');
								field_wrap.find('.trx_addons_search_apply').removeAttr('disabled');
								field_wrap.find('.trx_addons_search_cancel').removeAttr('disabled');
							}
						} )
						// Update available (filtered) products counter on param changed ('filter' style)
						.on('change', '.sc_form_field_param', function(e) {
							var $self = jQuery(this),
								fields_wrap = $self.parents('.trx_addons_woocommerce_search_form_fields_wrap').data('param-changed', 1);
							if ( type == 'filter'
									&& $self.attr('name') != 'product_cat'
									&& ( fields_wrap.hasClass('trx_addons_woocommerce_search_form_fields_wrap_opened')
										||
										( fields_wrap.parents('.sidebar').length && ( apply || ajax ) )
										)
							) {
								trx_addons_woocommerce_search_form_update_available_products_counter( form );
							}
						} )
						// Reload page on any param are changed, except 's' and 'price' ('filter' style)
						.on('change', '.sc_form_field_param', function(e) {
							var $self = jQuery(this);
							if ( type == 'filter' && reload_is_allowed ) {
								if ( $self.attr('name') == 'product_cat' ) {
									var $fld = $self.parents('.sc_form_field_opened'),
										fld_idx = $fld.index();
									if ( fld_idx > expanded ) {
										trx_addons_woocommerce_search_form_close_field( $fld );
									}
									trx_addons_woocommerce_search_form_reload_products( form, $self, '.sc_form_field_param[name="product_cat"]', true );
								} else if ( ! apply
											&& ! $self.parents('.trx_addons_woocommerce_search_form_fields_wrap').hasClass('trx_addons_woocommerce_search_form_fields_wrap_opened')
											&& ( ['price', 's'].indexOf($self.attr('name')) == -1 || $self.parents('.sidebar').length )
								) {
									trx_addons_woocommerce_search_form_reload_products_after_timeout( form, $self );
								}
							}
						})
						// Reload page on click button 'Apply' ('filter' style)
						.on('click', '.trx_addons_search_apply', function(e) {
							if ( type == 'filter' ) {
								var $self = jQuery(this);
								if ( ! $self.attr('disabled') ) {
									if ( ! $self.parents('.trx_addons_woocommerce_search_form_fields_wrap').hasClass('trx_addons_woocommerce_search_form_fields_wrap_opened')
										&& $self.parents('.sidebar').length === 0
									) {
										trx_addons_woocommerce_search_form_close_field( $self.parents('.sc_form_field_opened') );
									}
									trx_addons_woocommerce_search_form_reload_products( form, $self.parents('.sc_form_field').find('.sc_form_field_param') );
								}
								e.preventDefault();
								return false;
							}
						})
						// Restore values on click button 'Cancel' ('filter' style)
						.on('click', '.trx_addons_search_cancel', function(e) {
							if ( type == 'filter' ) {
								var $self = jQuery(this);
								if ( ! $self.attr('disabled') ) {
									trx_addons_woocommerce_search_form_close_field( $self.parents('.sc_form_field_opened'), true );
								}
								e.preventDefault();
								return false;
							}
						})
						// Open/Close panel with filters
						.on('click', '.trx_addons_woocommerce_search_button_filters,'
									+'.trx_addons_woocommerce_search_button_show,'
									+'.trx_addons_woocommerce_search_close',
							function(e) {
								var $self = jQuery(this),
									applied = false,
									wrap = form.find('.trx_addons_woocommerce_search_form_fields_wrap');
								if ( $self.hasClass('trx_addons_woocommerce_search_button_filters') && ! wrap.hasClass('trx_addons_woocommerce_search_form_fields_wrap_opened') ) {
									wrap.addClass('trx_addons_woocommerce_search_form_fields_wrap_opened');
								} else {
									if ( wrap.hasClass('trx_addons_woocommerce_search_form_fields_wrap_opened')
										||
										( $self.parents('.sidebar').length
											&&
											$self.parents('.trx_addons_woocommerce_search').hasClass('trx_addons_woocommerce_search_apply')
											)
									) {
										if ( wrap.data('param-changed') > 0 ) {
											var last_apply = last_opened_filter
																? form.find('input[name="'+last_opened_filter+'"]')
																	.parents('.sc_form_field')
																	.find('.trx_addons_search_apply:not([disabled])')
																: false;
											if ( ! last_apply || ! last_apply.length || last_apply.attr('disabled') == 'disabled' ) {
												last_apply = form.find('.trx_addons_search_apply:not([disabled])').eq(0);
											}
											applied = true;
											if ( last_apply && last_apply.length && last_apply.attr('disabled') != 'disabled' ) {
												last_apply.trigger( 'click' );
											} else {
												trx_addons_woocommerce_search_form_reload_products( form );
											}
										}
									}
									if ( true || ! applied ) {	// Always hide fields wrap on mobile
										wrap.removeClass('trx_addons_woocommerce_search_form_fields_wrap_opened');
									}
								}
								e.preventDefault();
								return false;
							}
						);
				
					// Open initially toggled fields
					if ( form.parents('.sidebar').length > 0 ) {
						form.find('.sc_form_field_expanded').each( function() {
							trx_addons_woocommerce_search_form_open_field( jQuery(this).removeClass('sc_form_field_expanded'), 'show', false );
						} );
					}

					// Show/hide 'Clear all' on fields changed (exclude the field "Product category")
					form.find('.trx_addons_woocommerce_search_form_fields_wrap')
						.toggleClass( 'trx_addons_woocommerce_search_form_fields_filled', 
										form.find('.sc_form_field:not(.sc_form_field_product_cat) .sc_form_field_title_filled').length > 0
									);

					// Reopen filter after reload products page ('filter' style)
					if ( type == 'filter' && ! reopened ) {
						reopened = true;
						last_opened_filter = trx_addons_get_value_gp( 'last_filter' );
						if ( last_opened_filter ) {
							var last_stop = trx_addons_get_value_gp( 'last_stop' );
							if ( last_stop > 0 ) {
								trx_addons_document_animate_to( last_stop );
							}
							if ( reopen_after_reload && ! apply ) {
								// Reopen fields wrap on mobile
								/*
								var fields_wrap = form.find('.trx_addons_woocommerce_search_form_fields_wrap');
								if ( fields_wrap.length && ! fields_wrap.hasClass('trx_addons_woocommerce_search_form_fields_wrap_opened') && fields_wrap.css('position') == 'fixed' ) {
									fields_wrap.addClass('trx_addons_woocommerce_search_form_fields_wrap_opened trx_addons_woocommerce_search_form_fields_wrap_show');
									setTimeout( function() {
										fields_wrap.removeClass('trx_addons_woocommerce_search_form_fields_wrap_show');
									}, 500 );
								}
								*/
								// Reopen last active field
								var field = form.find('input[name="'+last_opened_filter+'"]').parents('.sc_form_field');
								trx_addons_woocommerce_search_form_open_field( field );
								last_clicked_item = trx_addons_get_value_gp( 'last_item' );
								if ( last_clicked_item ) {
									field.find('.sc_form_field_item[data-value="'+last_clicked_item+'"]').focus();
								}
							}
						}
					}

					// Reload products ('filter' style)
					function trx_addons_woocommerce_search_form_reload_products( form, filter, selector, force_reload_page ) {
						// Get all filters to the params array
						if ( selector === undefined ) {
							selector = '.sc_form_field_param';
						}
						var params = trx_addons_woocommerce_search_form_get_params( form, selector );
						// If any filter selected
						if ( params !== false ) {
							// Close last filter field
							if ( filter
								&& ( ! ajax || apply || force_reload_page )
								&& filter.parents('.trx_addons_woocommerce_tools').length !== 0
								&& filter.parents('.trx_addons_woocommerce_search_form_fields_wrap_opened').length === 0
							) {
								trx_addons_woocommerce_search_form_close_field( filter.parents('.sc_form_field_opened') );
							}
							// Add filter's name and window scroll position to the parameters
							if ( last_opened_filter ) {
								params['last_filter'] = last_opened_filter;
							}
							if ( last_clicked_item ) {
								params['last_item'] = last_clicked_item;
							}
							// Add scroll top position to the query
							params['last_stop'] = jQuery(window).scrollTop();
							// Make query url
							var shop_url = trx_addons_add_to_url(form.attr('action'), params),
								fields_wrap = form.find('.trx_addons_woocommerce_search_form_fields_wrap').data('param-changed', 0);
							// Reload products by AJAX
							if ( ajax && ! force_reload_page ) {
								trx_addons_woocommerce_search_form_get_products_from_url( shop_url, fields_wrap );
							// Redirect page
							} else {
								jQuery( list_products_loading_selector )
									.addClass( 'trx_addons_woocommerce_search_loading' )
									.append( list_products_loading_html );
								window.location.href = shop_url;
							}
						}
					}

					// Reload products after timeout ('filter' style)
					var trx_addons_woocommerce_search_form_reload_products_after_timeout = trx_addons_throttle(
							trx_addons_woocommerce_search_form_reload_products,
							trx_addons_apply_filters( 'trx_addons_filter_reload_products_timeout', ajax ? 500 : 0 ),
							true
						);

					// Update available products counter ('filter' style)
					var trx_addons_woocommerce_search_form_update_available_products_counter = trx_addons_throttle(
						function( form ) {
							// Get all filters to the params array
							var params = trx_addons_woocommerce_search_form_get_params( form, '.sc_form_field_param' );
							// If any filter selected
							if ( params !== false ) {
								var shop_url = trx_addons_add_to_url(form.attr('action'), params),
									counter  = form.find('.trx_addons_woocommerce_search_button_show_total');
								if ( counter.length ) {
									jQuery.get( shop_url ).done( function( response ) {
										var value = jQuery( response ).find('.trx_addons_woocommerce_search_button_show_total').html();
										if ( value !== '') {
											counter.html( value );
										}
									} );
								}
							}
						},
						trx_addons_apply_filters( 'trx_addons_filter_update_products_counter_timeout', 500 ),
						true
					);

				});
			}

			// WooCommerce NavFilters: AJAX reload products on filter removed (if woocommerce_search_filter is present near this widget)
			jQuery( '.widget_layered_nav_filters:not(.trx_addons_woocommerce_search_compatibility_inited)' ).each( function() {
				var $self = jQuery(this).addClass('trx_addons_woocommerce_search_compatibility_inited'),
					widget_search = $self.siblings('.widget_woocommerce_search');
				// Allow AJAX reload on filter removed only if widget 'Product Filter' is present on same sidebar
				// and ajax search is turned on for the widget
				// and field 'rating' is not present in the fields set (because WooCommerce don't mark this field in the widget Active filters)
				if ( widget_search.length
					&& widget_search.find('.trx_addons_woocommerce_search_ajax').length
					&& widget_search.find('.sc_form_field_rating').length === 0 
				) {
					$self.find('a').on('click', function(e) {
						var $link = jQuery(this),
							list = $link.parents('ul').eq(0),
							url = location.href;	//$link.attr('href');
						e.preventDefault();
						// Remove current filter from active filters
						$link.parents('li').eq(0).fadeOut( 200, function() {
							jQuery(this).remove();
							// Prepare url - remove not exists filters
							var parts = url.split('?'),
								query = trx_addons_parse_query_string(url),
								query_new = {},
								query_val = [],
								query_val_new = [];
							for (var i in query) {
								if ( i == 'min_price' || i == 'max_price' ) {
									list.find('.chosen .amount').each( function() {
										if ( jQuery(this).text().replace(/[\$\.\,]/g, '') == query[i].replace(/[\$\.\,]/g, '') ) {
											query_new[i] = query[i];
										}
									} );
								} else if ( i.substring(0, 7) == 'filter_' ) {
									query_val = query[i].split(',');
									query_val_new = [];
									for (var j = 0; j < query_val.length; j++ ) {
										if ( list.find('.chosen-' + i.substring(7) + '-' +query_val[j] ).length ) {
											query_val_new.push( query_val[j] );
										}
									}
									if ( query_val_new.length > 0 ) {
										query_new[i] = query_val_new.join(',');
									}
								} else {
									query_new[i] = query[i];
								}
							}
							trx_addons_woocommerce_search_form_get_products_from_url( trx_addons_add_to_url( parts[0], trx_addons_woocommerce_search_form_add_orderby_to_query_params( query_new ) ) );
						} );
						return false;
					} );
				}
			} );

			// WooCommerce Ordering: Reload products on 'orderby' is changed
			jQuery('.woocommerce-ordering:not(.trx_addons_woocommerce_search_compatibility_inited)').each( function() {
				var form = jQuery( this ).addClass( 'trx_addons_woocommerce_search_compatibility_inited' ),
					select = form.find( '.orderby' ),
					widget_search = list_products_wrap.find( '.widget_woocommerce_search' ),
					url = location.href.split( '?' );
				if ( widget_search.length === 0 ) {
					widget_search = jQuery( '.trx_addons_woocommerce_search_type_filter' ).eq(0).parents( '.widget_woocommerce_search' );
				}
				if ( widget_search.length ) {
					select.on( 'change', function(e) {
						var params = trx_addons_woocommerce_search_form_get_params( widget_search, '.sc_form_field_param' );
						/*
						var page = form.find('input[name="paged"]').val() || 1;
						if ( page > 1 ) {
							params['page'] = page;
						}
						*/
						// Prevent to execute other scripts
						e.preventDefault();
						e.stopImmediatePropagation();
						// If a widget with filters present and its mode is AJAX - get products via AJAX
						if ( widget_search.find('.trx_addons_woocommerce_search_ajax').length ) {
							trx_addons_woocommerce_search_form_get_products_from_url( trx_addons_add_to_url( url[0], params ) );
						// Else - reload a current page with new params
						} else {
							jQuery( list_products_loading_selector )
								.addClass( 'trx_addons_woocommerce_search_loading' )
								.append( list_products_loading_html );
							window.location.href = trx_addons_add_to_url( url[0], params );
						}
						return false;
					} );
				}
			} );

			// Open field ('filter' style)
			function trx_addons_woocommerce_search_form_open_field( field, open_style, need_focus ) {
				if ( open_style === undefined ) {
					open_style = 'slideDown';
				}
				if ( need_focus === undefined ) {
					need_focus = true;
				}
				var open_time = open_style == 'show'
									? 0
									: trx_addons_apply_filters( 'trx_addons_filter_woocommerce_filter_show_time', field.parents('.trx_addons_woocommerce_tools').length === 0 || field.parents('.trx_addons_woocommerce_search_form_fields_wrap_opened').length > 0 ? 300 : 0 );
				// Save current value
				var param = field.find( '.sc_form_field_param' );
				param.data( 'old-value', param.val() );
				// Mark field unchanged
				param.data( 'changed', 0 );
				// Save last opened filter
				last_opened_filter = param.attr('name');
				// Set buttons 'Apply' and 'Cancel' to disabled
				if ( false && field.parents('.trx_addons_woocommerce_search').hasClass('trx_addons_woocommerce_search_apply') ) {
					field.find('.trx_addons_search_apply').attr('disabled', 'disabled');
					field.find('.trx_addons_search_cancel').attr('disabled', 'disabled');
				}
				// Open field wrap
				var wrap = field.addClass('sc_form_field_opened').find('.sc_form_field_wrap');
				if ( open_style == 'slideDown' && open_time > 0 ) {
					wrap.slideDown( open_time, function() {
						if ( need_focus && field.hasClass('sc_form_field_text') ) {
							field.find( 'input[type="text"]').focus();
						}
					} );
				} else {
					wrap.show();
					if ( need_focus && field.hasClass('sc_form_field_text') ) {
						field.find( 'input[type="text"]').focus();
					}
				}
			}

			// Close field ('filter' style)
			function trx_addons_woocommerce_search_form_close_field( field, restore_value, close_style ) {
				// Restore last value
				if ( restore_value ) {
					trx_addons_woocommerce_search_form_restore_field_value( field );
				}
				last_opened_filter = '';
				// Close field wrap
				field.removeClass('sc_form_field_opened');
				if ( close_style === undefined ) {
					close_style = 'slideUp';
				}
				var close_time = close_style == 'hide'
									? 0
									: trx_addons_apply_filters( 'trx_addons_filter_woocommerce_filter_show_time', field.parents('.trx_addons_woocommerce_tools').length === 0 || field.parents('.trx_addons_woocommerce_search_form_fields_wrap_opened').length > 0 ? 300 : 0 );
				if ( close_style == 'slideUp' && close_time > 0 ) {
					field.find('.sc_form_field_wrap').slideUp( close_time );
				} else {
					field.find('.sc_form_field_wrap').hide();
				}
			}

			// Restore field's value ('filter' style)
			function trx_addons_woocommerce_search_form_restore_field_value( field ) {
				var param = field.find('.sc_form_field_param'),
					value = param.data('old-value');
				// Restore old value in the param
				param.val( value );
				// Mark title as filled and update selected items and restore field's view (mark items as checked, restore search string, etc.)
				trx_addons_woocommerce_search_form_restore_field_view( field );
			}

			// Restore field's view ('filter' style)
			function trx_addons_woocommerce_search_form_restore_field_view( field ) {
				var param = field.find('.sc_form_field_param'),
					value = param.val();
				// Mark title as filled and update selected items
				trx_addons_woocommerce_search_form_param_changed( param );
				// Restore field's view (mark items as checked, restore search string, etc.)
				if ( field.hasClass('sc_form_field_select')
					|| field.hasClass('sc_form_field_image')
					|| field.hasClass('sc_form_field_color')
					|| field.hasClass('sc_form_field_button')
				) {
					field.find('.sc_form_field_item_checked').removeClass('sc_form_field_item_checked');
					var parts = ( '' + value ).split( ',' );
					for (var i = 0; i < parts.length; i++ ) {
						field.find('[data-value="'+parts[i]+'"]').addClass('sc_form_field_item_checked');
					}
				} else if ( field.hasClass('sc_form_field_text') ) {
					field.find('.sc_form_field_input').val( value );
				} else if ( field.hasClass('sc_form_field_slider') ) {
					field.find('.ui-slider').slider( "value", value );
				} else if ( field.hasClass('sc_form_field_range') ) {
					field.find('.ui-slider').slider( "values", ( '' + value ).split( ',' ) );
				}
			}

			// Mark title as filled and update selected total value on param changed ('filter' style)
			function trx_addons_woocommerce_search_form_param_changed(param) {
				var value    = param.val(),
					empty    = value === '',
					title_filled = !empty,
					wrap     = param.parents('.sc_form_field_wrap'),
					title    = wrap.siblings('.sc_form_field_title'),
					selected = title.find('.sc_form_field_selected_items'), //wrap.siblings('.sc_form_field_selected_items'),
					slider   = param.next('.trx_addons_range_slider '),
					fields_wrap = param.parents('.trx_addons_woocommerce_search_form_fields_wrap');
				// Mark title as 'filled'
				if ( slider.length == 1 ) {
					var min = slider.data('min'),
						max = slider.data('max'),
						val = value.split(',');
					title_filled = Number( val[0] ) !== Number( min ) || ( val.length > 1 && Number( val[1] ) !== Number( max ) );
					title.toggleClass( 'sc_form_field_title_filled', title_filled );
				} else {
					title.toggleClass( 'sc_form_field_title_filled', !empty );
				}
				// Update selected items counter
				wrap.find('.sc_form_field_items_selected_value').html( value ? value.split(',').length : 0 );
				// Update info with selected items
				if ( selected.length
					&& ( 
						wrap.parents('.trx_addons_woocommerce_tools').length === 0
						||
						fields_wrap.hasClass( 'trx_addons_woocommerce_search_form_fields_wrap_opened' )
						)
				) {
					// Get value to display below title
					//var value_to_show = decodeURIComponent(''+value).split(',').map(trx_addons_proper).join(', ');
					var value_to_show = '',
						parts = (''+value).split(','),
						$item = null;
					for ( var i=0; i<parts.length; i++ ) {
						// Try find a text label (name) of the selected item
						$item = wrap.find('.sc_form_field_item[data-value="'+parts[i]+'"] .sc_form_field_item_text');
						value_to_show += ( value_to_show ? ', ' : '' )
										+ ( $item.length && $item.text() == $item.html()
											? $item.text()											// Use text label (name)
											: trx_addons_proper( decodeURIComponent( parts[i] ) )	// Use selected slug (value)
											);
					}
					// Display selected items below title
					if ( selected.html() === '' && title_filled ) {
						selected.hide().html( value_to_show ).slideDown();
					} else if ( selected.html() !== '' && ! title_filled ) {
						selected.slideUp( function() {
							selected.html( '' ).show();
						} );
					} else {
						selected.html( title_filled ? value_to_show : '' );
					}
				}
				// Update filters total counters
				var filters_total = 0;
				fields_wrap.find('.sc_form_field_title_filled + .sc_form_field_wrap .sc_form_field_param').each( function() {
					var $self = jQuery( this ),
						field = $self.parents('.sc_form_field');
					// Exclude the field "Category" from totals and prevent 'Clear all' to be displayed on category selected
					if ( ! field.hasClass('sc_form_field_product_cat') ) {
						filters_total += field.hasClass('sc_form_field_text') || field.hasClass('sc_form_field_range') ? 1 : $self.val().split(',').length;
					}
				});
				fields_wrap.parents('form').find( '.trx_addons_woocommerce_search_button_filters_total' )
					.html( filters_total )
					.toggleClass( 'trx_addons_woocommerce_search_button_filters_total_empty', filters_total === 0 );
				// Show/hide 'Clear all'
				fields_wrap.toggleClass( 'trx_addons_woocommerce_search_form_fields_filled', filters_total > 0 );
			}

			// Return comma-separated values from the field with multiple select allowed ('filter' style)
			function trx_addons_woocommerce_search_form_get_multiple_field_value( $wrap ) {
				var value = '';
				$wrap.find('.sc_form_field_item_checked').each( function() {
					value += ( value !== '' ? ',' : '' ) + jQuery(this).data('value');
				} );
				return value;
			}

			// Get products page from specified url and replace products on the page
			function trx_addons_woocommerce_search_form_get_products_from_url( shop_url, fields_wrap ) {
				reload_is_busy = true;
				var need_open_fields_wrap = false,
					widget_number = 0;
				if ( fields_wrap && fields_wrap.length ) {
					if ( mask_fields_wrap_on_loading ) {
						if ( ! list_products_loading ) {
							fields_wrap.append( list_products_loading_html );
						}
						need_open_fields_wrap = false;	//fields_wrap.hasClass('trx_addons_woocommerce_search_form_fields_wrap_opened')
														//	&& ! fields_wrap.parents('.trx_addons_woocommerce_search').hasClass('trx_addons_woocommerce_search_apply');
						widget_number = fields_wrap.parents('.trx_addons_woocommerce_search_type_filter').data('number') || 1;
					}
					fields_wrap.removeClass('trx_addons_woocommerce_search_form_fields_changed');
				}
				// Reset a current page number
				jQuery( 'input[name="paged"]' ).val( 1 );
				jQuery( '.woocommerce-load-more' ).data( 'page', 1 ).parent().show();
				// Mark products wrapper with 'loading'
				if ( ! list_products_loading ) {
					jQuery( list_products_loading_selector )
						.addClass( 'trx_addons_woocommerce_search_loading' )
						.append( list_products_loading_html )
						.find('>' + list_products_loading_class)
							.addClass('trx_addons_hidden')
							.fadeIn(200);
				}
				list_products_loading++;
				// Make GET query to the shop
				jQuery.get( shop_url ).done( function( response ) {
					list_products_loading--;
					if ( list_products_loading ) {
						list_products_replace();
					} else {
						jQuery( list_products_loading_selector )
							.find('>' + list_products_loading_class)
							.fadeOut( 200, function() {
								list_products_replace( true );
							} );
					}
					function list_products_replace( remove_loading ) {
						var $response = jQuery( response ),
							new_products = $response.find( list_products_selector ).html(),
							new_inline_css = $response.find( inline_css_selector ).html(),
							new_total = $response.find('.trx_addons_woocommerce_search_button_show_total').eq(0).text() || 0;
						// If products found
						if ( new_products ) {
							// Replace document url in the browser's address bar
							trx_addons_document_set_location( shop_url );
							// Replace products with new items
							list_products_wrap.html( new_products );
							// Replace inline css with new styles
							if ( inline_css_wrap.length ) {
								// If inline css is not found via jQuery - try search with regular expression
								if ( ! new_inline_css ) {
									var mask = '<style[^>]*id="' + inline_css_selector.substr(1).replace( /\-/g, '\\-' ) + '"[^>]*>([^<]+)</style>';
									var re = new RegExp( mask );
									var matches = response.match( re );
									if ( matches && matches[1] ) {
										new_inline_css = matches[1];
									}
								}
								// If found inline css for list products - replace it
								if ( new_inline_css ) {
									var new_inline_block_start = new_inline_css.indexOf( inline_css_start ),
										new_inline_block_end = new_inline_css.indexOf( inline_css_end ),
										new_inline_block = new_inline_block_start >= 0
																? new_inline_css.substring( new_inline_block_start, new_inline_block_end + inline_css_end.length )
																: '';
									if ( new_inline_block ) {
										var old_inline_css = inline_css_wrap.html(),	
											old_inline_block_start = old_inline_css.indexOf( inline_css_start ),
											old_inline_block_end = old_inline_css.indexOf( inline_css_end );
										if ( old_inline_block_start >= 0 ) {
											old_inline_css = old_inline_css.substring( 0, old_inline_block_start )
															+ new_inline_block
															+ old_inline_css.substring( old_inline_block_end + inline_css_end.length );
											inline_css_wrap.html( old_inline_css );
										}
									}
								}
							}
							// Place back a 'loading' icon
							if ( ! remove_loading ) {
								jQuery( list_products_loading_selector )
									.toggleClass('trx_addons_woocommerce_search_loading', true)
									.append( list_products_loading_html );
							}
							// Replace total products counters
							jQuery('.trx_addons_woocommerce_search_button_show_total').text(new_total);
							// Got new elements
							jQuery( document ).trigger( 'action.got_ajax_response', {
								action: 'woocommerce_ajax_get_posts',
								result: response,
								products: list_products_wrap.hasClass('products')
												? list_products_wrap
												: list_products_wrap.find('ul.products')
							});
							// Init new elements
							$document.trigger( 'action.init_hidden_elements', [list_products_wrap] );
						} else {
							// If a result is a redirect to the single product - commit it
							if ( $response.find( single_product_selector ).length ) {
								var url = $response.filter( 'link[rel="canonical"]' ).attr( 'href' );
								if ( url ) {
									window.location = url;
									return;
								}
							}
							alert( TRX_ADDONS_STORAGE['msg_no_products_found'] );
						}
						// Remove 'loading' from products container
						if ( remove_loading ) {
							jQuery( list_products_loading_selector )
								.removeClass('trx_addons_woocommerce_search_loading')
								.find('>' + list_products_loading_class).remove();
						}
						// If fields_wrap not empty
						if ( widget_number ) {
							// Get new object for fields_wrap after products replaced (old fields wrap may be removed)
							var widget = jQuery('.trx_addons_woocommerce_search_type_filter[data-number="' + widget_number + '"]').eq(0),
								fields_wrap = widget.find('.trx_addons_woocommerce_search_form_fields_wrap').eq(0);
							if ( fields_wrap.length ) {
								// Remove 'loading'
								if ( remove_loading && mask_fields_wrap_on_loading ) {
									fields_wrap.find('>' + list_products_loading_class).remove();
								}
								// Reopen fields wrap
								if ( need_open_fields_wrap ) {
									widget.find('.trx_addons_woocommerce_search_form_fields_wrap').addClass('trx_addons_woocommerce_search_form_fields_wrap_opened trx_addons_woocommerce_search_form_fields_wrap_show');
									setTimeout( function() {
										widget.find('.trx_addons_woocommerce_search_form_fields_wrap_show').removeClass('trx_addons_woocommerce_search_form_fields_wrap_show');
									}, 500 );
								}
								// Reopen last active field
								if ( last_opened_filter ) {// && ! fields_wrap.parents('.trx_addons_woocommerce_search ').hasClass('trx_addons_woocommerce_search_apply') ) {
									var field = widget.find('input[name="'+last_opened_filter+'"]').parents('.sc_form_field');
									trx_addons_woocommerce_search_form_open_field( field, 'show' );
									if ( last_clicked_item ) {
										field.find('.sc_form_field_item[data-value="'+last_clicked_item+'"]').focus();
									}
								}
								// Clear 'param-changed' data parameter
								fields_wrap.data('param-changed', 0);
							}
						}
						reload_is_busy = false;
					}
				} );
			}

		} );

		// Close opened field on click outside the field wrap
		var trx_addons_woocommerce_search_form_click_outside = trx_addons_throttle(
								function() {
									var opened = jQuery('.trx_addons_woocommerce_search_form .sc_form_field_opened').eq(0);
									if ( opened.length ) {
										var fields_wrap = opened.parents('.trx_addons_woocommerce_search_form_fields_wrap');
										if ( fields_wrap.parents('.trx_addons_woocommerce_tools').length
											&& ! fields_wrap.hasClass('trx_addons_woocommerce_search_form_fields_wrap_opened')
										) {
											opened.find('.sc_form_field_title').trigger('click');
										} else {
											fields_wrap.find('.trx_addons_woocommerce_search_button_show').trigger('click');
										}
									}
								},
								trx_addons_apply_filters( 'trx_addons_filter_woocommerce_search_click_outside_timeout', 10 ),
								true
							);

		$document.on( 'click', function(e) {
			var $self = jQuery( e.target );
			if ( ! $self.hasClass('sc_form_field_wrap')
					&& $self.parents('.sc_form_field_wrap').length === 0
					&& $self.parents('.trx_addons_woocommerce_search_form_fields_wrap').length === 0
					&& ! $self.hasClass(list_products_loading_class)
			) {
				trx_addons_woocommerce_search_form_click_outside();
			}
			// Close opened fields wrap
			/*
			if ( ! $self.hasClass('trx_addons_woocommerce_search_form_fields_wrap_opened')
					&& $self.parents('.trx_addons_woocommerce_search_form_fields_wrap_opened').length === 0
			) {
				jQuery('.trx_addons_woocommerce_search_form_fields_wrap_opened').removeClass('trx_addons_woocommerce_search_form_fields_wrap_opened');
			}
			*/
		} );
		
		// Collect all form params to array (any style)
		function trx_addons_woocommerce_search_form_get_params( form, selector ) {
			var params = {}, not_empty = false;
			// Collect all filters
			form.find( selector ? selector : 'select,input' ).each( function() {
				var $self = jQuery(this),
					val   = $self.val(),
					name  = $self.attr('name'),
					type  = '';
				if ( name && ( ( val !== '' && ( '' + val ) !== '0' ) || name == 'product_cat' ) ) {
					if ( name == 'price' ) {
						var values  = val.split(','),
							$slider = $self.next('.trx_addons_range_slider '),
							min     = $slider.data('min'),
							max     = $slider.data('max');
						if ( values.length == 2 && $slider.length == 1 ) {
							if ( Number( values[0] ) > min ) {
								params['min_price'] = values[0];
							}
							if ( Number( values[1] ) < max ) {
								params['max_price'] = values[1];
							}
						}
						name = '';
					} else if ( name.substring(0, 3) == 'pa_' ) {
						type = 'query_type_' + name.substring(3);
						name = 'filter_' + name.substring(3);
					} else if ( name == 'rating' ) {
						name = name + '_filter';
					}
					if ( name !== '' ) {
						params[name] = val;
					}
					if ( type !== '' && val.indexOf(',') > 0 ) {
						params[type] = 'or';
					}
					not_empty = true;
				}
			} );
			// Add sort order
			if ( not_empty || selector ) {
				params = trx_addons_woocommerce_search_form_add_orderby_to_query_params( params );
			}
			return not_empty || typeof params['orderby'] != 'undefined' ? params : false;
		}

		// Add sort order to the query params
		function trx_addons_woocommerce_search_form_add_orderby_to_query_params( params ) {
			var orderby = jQuery('.woocommerce-ordering .orderby').val();
			if ( orderby && orderby != 'menu_order' ) {
				params['orderby'] = orderby;
			}
			return params;
		}

	});

})();