(function($){"use strict";$.fn.serializeJSON=function(options){var serializedObject,formAsArray,keys,type,value,_ref,f,opts;f=$.serializeJSON;opts=f.setupOpts(options);formAsArray=this.serializeArray();f.readCheckboxUncheckedValues(formAsArray,this,opts);serializedObject={};$.each(formAsArray,function(i,input){keys=f.splitInputNameIntoKeysArray(input.name,opts);type=keys.pop();if(type!=="skip"){value=f.parseValue(input.value,type,opts);if(opts.parseWithFunction&&type==="_")value=opts.parseWithFunction(value,input.name);f.deepSet(serializedObject,keys,value,opts)}});return serializedObject};$.serializeJSON={defaultOptions:{checkboxUncheckedValue:undefined,parseNumbers:false,parseBooleans:false,parseNulls:false,parseAll:false,parseWithFunction:null,customTypes:{},defaultTypes:{string:function(str){return String(str)},number:function(str){return Number(str)},"boolean":function(str){return["false","null","undefined","","0"].indexOf(str)===-1},"null":function(str){return["false","null","undefined","","0"].indexOf(str)!==-1?null:str},array:function(str){return JSON.parse(str)},object:function(str){return JSON.parse(str)},auto:function(str){return $.serializeJSON.parseValue(str,null,{parseNumbers:true,parseBooleans:true,parseNulls:true})}},useIntKeysAsArrayIndex:false},setupOpts:function(options){var opt,validOpts,defaultOptions,optWithDefault,parseAll,f;f=$.serializeJSON;if(options===null||options===undefined)options={};defaultOptions=f.defaultOptions||{};validOpts=["checkboxUncheckedValue","parseNumbers","parseBooleans","parseNulls","parseAll","parseWithFunction","customTypes","defaultTypes","useIntKeysAsArrayIndex"];for(opt in options){if(validOpts.indexOf(opt)===-1){throw new Error("serializeJSON ERROR: invalid option '"+opt+"'. Please use one of "+validOpts.join(", "))}}optWithDefault=function(key){return options[key]!==false&&options[key]!==""&&(options[key]||defaultOptions[key])};parseAll=optWithDefault("parseAll");return{checkboxUncheckedValue:optWithDefault("checkboxUncheckedValue"),parseNumbers:parseAll||optWithDefault("parseNumbers"),parseBooleans:parseAll||optWithDefault("parseBooleans"),parseNulls:parseAll||optWithDefault("parseNulls"),parseWithFunction:optWithDefault("parseWithFunction"),typeFunctions:$.extend({},optWithDefault("defaultTypes"),optWithDefault("customTypes")),useIntKeysAsArrayIndex:optWithDefault("useIntKeysAsArrayIndex")}},parseValue:function(str,type,opts){var typeFunction,f;f=$.serializeJSON;typeFunction=opts.typeFunctions&&opts.typeFunctions[type];if(typeFunction)return typeFunction(str);if(opts.parseNumbers&&f.isNumeric(str))return Number(str);if(opts.parseBooleans&&(str==="true"||str==="false"))return str==="true";if(opts.parseNulls&&str=="null")return null;return str},isObject:function(obj){return obj===Object(obj)},isUndefined:function(obj){return obj===void 0},isValidArrayIndex:function(val){return/^[0-9]+$/.test(String(val))},isNumeric:function(obj){return obj-parseFloat(obj)>=0},optionKeys:function(obj){if(Object.keys){return Object.keys(obj)}else{var keys=[];for(var key in obj){keys.push(key)}return keys}},splitInputNameIntoKeysArray:function(name,opts){var keys,nameWithoutType,type,_ref,f;f=$.serializeJSON;_ref=f.extractTypeFromInputName(name,opts),nameWithoutType=_ref[0],type=_ref[1];keys=nameWithoutType.split("[");keys=$.map(keys,function(key){return key.replace(/]/g,"")});if(keys[0]===""){keys.shift()}keys.push(type);return keys},extractTypeFromInputName:function(name,opts){var match,validTypes,f;if(match=name.match(/(.*):([^:]+)$/)){f=$.serializeJSON;validTypes=f.optionKeys(opts?opts.typeFunctions:f.defaultOptions.defaultTypes);validTypes.push("skip");if(validTypes.indexOf(match[2])!==-1){return[match[1],match[2]]}else{throw new Error("serializeJSON ERROR: Invalid type "+match[2]+" found in input name '"+name+"', please use one of "+validTypes.join(", "))}}else{return[name,"_"]}},deepSet:function(o,keys,value,opts){var key,nextKey,tail,lastIdx,lastVal,f;if(opts==null)opts={};f=$.serializeJSON;if(f.isUndefined(o)){throw new Error("ArgumentError: param 'o' expected to be an object or array, found undefined")}if(!keys||keys.length===0){throw new Error("ArgumentError: param 'keys' expected to be an array with least one element")}key=keys[0];if(keys.length===1){if(key===""){o.push(value)}else{o[key]=value}}else{nextKey=keys[1];if(key===""){lastIdx=o.length-1;lastVal=o[lastIdx];if(f.isObject(lastVal)&&(f.isUndefined(lastVal[nextKey])||keys.length>2)){key=lastIdx}else{key=lastIdx+1}}if(nextKey===""){if(f.isUndefined(o[key])||!$.isArray(o[key])){o[key]=[]}}else{if(opts.useIntKeysAsArrayIndex&&f.isValidArrayIndex(nextKey)){if(f.isUndefined(o[key])||!$.isArray(o[key])){o[key]=[]}}else{if(f.isUndefined(o[key])||!f.isObject(o[key])){o[key]={}}}}tail=keys.slice(1);f.deepSet(o[key],tail,value,opts)}},readCheckboxUncheckedValues:function(formAsArray,$form,opts){var selector,$uncheckedCheckboxes,$el,dataUncheckedValue,f;if(opts==null)opts={};f=$.serializeJSON;selector="input[type=checkbox][name]:not(:checked):not([disabled])";$uncheckedCheckboxes=$form.find(selector).add($form.filter(selector));$uncheckedCheckboxes.each(function(i,el){$el=$(el);dataUncheckedValue=$el.attr("data-unchecked-value");if(dataUncheckedValue){formAsArray.push({name:el.name,value:dataUncheckedValue})}else{if(!f.isUndefined(opts.checkboxUncheckedValue)){formAsArray.push({name:el.name,value:opts.checkboxUncheckedValue})}}})}}})(window.jQuery||window.$);(function($){"use strict";redux.customizer=redux.customizer||{};$(document).ready(function(){redux.customizer.init()});redux.customizer.init=function(){$("body").addClass(redux_customizer.body_class);$(".accordion-section.redux-section, .accordion-section.redux-panel, .accordion-section-title").click(function(){$.redux.initFields()});redux.args.disable_save_warn=true;var reduxChange=redux_change;redux_change=function(variable){variable=$(variable);reduxChange.apply(this,arguments);redux.customizer.save(variable)};var redux_initFields=$.redux.initFields;$.redux.initFiles=function(){redux_initFields()}};redux.customizer.save=function($obj){var $parent=$obj.hasClass("redux-field")?$obj:$obj.parents(".redux-field-container:first");redux.customizer.inputSave($parent)};redux.customizer.inputSave=function($parent){if(!$parent.hasClass("redux-field-container")){$parent=$parent.parents('[class^="redux-field-container"]')}var $id=$parent.parent().find(".redux-customizer-input").data("id");if(!$id){$parent=$parent.parents(".redux-container-repeater:first");var $id=$parent.parent().find(".redux-customizer-input").data("id")}var $nData=$parent.find(":input").serializeJSON();$.each($nData,function($k,$v){$nData=$v});var $key=$parent.parent().find(".redux-customizer-input").data("key");if($nData[$key]){$nData=$nData[$key]}var $control=wp.customize.control($id);if(JSON.stringify($control.setting._value)!==JSON.stringify($nData)){$control.setting._value=null}$control.setting.set($nData)}})(jQuery);