var ctPublicFunctions = {"_ajax_nonce":"261e2cc277","_rest_nonce":"8060c8fdbb","_ajax_url":"\/wp-admin\/admin-ajax.php","_rest_url":"https:\/\/happyliving.com\/wp-json\/","data__cookies_type":"none","data__ajax_type":"rest","data__bot_detector_enabled":"0","data__frontend_data_log_enabled":1,"cookiePrefix":"","wprocket_detected":false,"host_url":"happyliving.com","text__ee_click_to_select":"Click to select the whole data","text__ee_original_email":"The complete one is","text__ee_got_it":"Got it","text__ee_blocked":"Blocked","text__ee_cannot_connect":"Cannot connect","text__ee_cannot_decode":"Can not decode email. Unknown reason","text__ee_email_decoder":"CleanTalk email decoder","text__ee_wait_for_decoding":"The magic is on the way!","text__ee_decoding_process":"Please wait a few seconds while we decode the contact data."}
var ctPublic = {"_ajax_nonce":"261e2cc277","settings__forms__check_internal":"0","settings__forms__check_external":"0","settings__forms__force_protection":"0","settings__forms__search_test":"1","settings__forms__wc_add_to_cart":"0","settings__data__bot_detector_enabled":"0","settings__sfw__anti_crawler":"1","blog_home":"https:\/\/happyliving.com\/","pixel__setting":"0","pixel__enabled":false,"pixel__url":null,"data__email_check_before_post":"1","data__email_check_exist_post":"0","data__cookies_type":"none","data__key_is_ok":true,"data__visible_fields_required":true,"wl_brandname":"Anti-Spam by CleanTalk","wl_brandname_short":"CleanTalk","ct_checkjs_key":"67ad70d088cde6453ea68ed2c3dc7a6d3553e2b62af6fbd31ed0e04bc10c1fb4","emailEncoderPassKey":"0cf6a1eb8262630ccc75d3c17f3c56ba","bot_detector_forms_excluded":"W10=","advancedCacheExists":true,"varnishCacheExists":true,"wc_ajax_add_to_cart":true}
let jqueryParams=[],jQuery=function(r){return jqueryParams=[...jqueryParams,r],jQuery},$=function(r){return jqueryParams=[...jqueryParams,r],$};window.jQuery=jQuery,window.$=jQuery;let customHeadScripts=!1;jQuery.fn=jQuery.prototype={},$.fn=jQuery.prototype={},jQuery.noConflict=function(r){if(window.jQuery)return jQuery=window.jQuery,$=window.jQuery,customHeadScripts=!0,jQuery.noConflict},jQuery.ready=function(r){jqueryParams=[...jqueryParams,r]},$.ready=function(r){jqueryParams=[...jqueryParams,r]},jQuery.load=function(r){jqueryParams=[...jqueryParams,r]},$.load=function(r){jqueryParams=[...jqueryParams,r]},jQuery.fn.ready=function(r){jqueryParams=[...jqueryParams,r]},$.fn.ready=function(r){jqueryParams=[...jqueryParams,r]};
var de_formai_ajax_data = {"action":"de_fb_ai_form","de_fb_ai__reset_stats":"de_fb_ai__reset_stats","de_fb_ai_api_test":"de_fb_ai_api_test","nonce":"eee5fe5125"};
var de_formpayment_ajax_data = {"ajax_url":"https://happyliving.com/wp-admin/admin-ajax.php","nonce":"7ee92323eb"};
//# sourceURL=jquery-core-js-extra
fbq('init', '742091069823313', {}, {
"agent": "woocommerce_6-10.4.4-3.5.15"
});document.addEventListener( 'DOMContentLoaded', function() {
// Insert placeholder for events injected when a product is added to the cart through AJAX.
document.body.insertAdjacentHTML( 'beforeend', '<div class=\"wc-facebook-pixel-event-placeholder\"></div>' );
}, false );
Turn your exhibits into dynamic, guest-guided experiences that generate scalable, near-zero-marginal-cost revenue — without hardware, without extra staff, and without complexity.
In the next 5 minutes, you’ll see how MATs empowers museums to generate new revenue streams — while turning every visit into an inspiring, immersive guest experience.
The MATs System™ Simplifies Everything:
Step 1: You Curate 🏛 Upload your images, transcripts, and audio.
Step 2: We Build 🎧 We produce your full MATs Tour System™.
Step 3: Guests Experience 📱 Visitors enjoy fully guided tours on their own smartphones.
📱 Guests use their smartphones. 💰 No staff to hire. 📈 Revenue that grows with every visitor.
💎 The MATs Brand Standard Excellence. Ease. Elegance. Built to remove barriers and unlock potential — MATs minimizes tech friction, maximizes guest delight, and delivers exponential ROI² for your museum.
❤️🎧 Push play — and hear the heart of MATs… Bringing artwork to life — one guest at a time.
💡 The Problems We Solve:
Traditional museum tours are limited: ❌ Inconsistent guest experiences ❌ Overwhelmed or unavailable docents ❌ No revenue beyond the admission ticket
The MATs System™ unlocks untapped revenue that’s already waiting inside your museum — with zero operational overhead.
🎯 MATs ROI² Calculator
Every dollar you invest creates stories that guests never forget. And ROI you will always remember.
Your investment creates a system that pays you back — financially. But more importantly, it pays every guest back — emotionally. That’s ROI² — Return on Investment… and Return on Inspiration.
The MATs Dynamic ROI² Forecasting System™ delivers an instant, crystal-clear assessment of both financial upside and guest experience impact — empowering museums to fully understand the magnitude of revenue and the magic of guest delight that the MATs System™ can unlock.
📊 See What MATs Could Generate for Your Museum — Right Now.
Enter your museum’s starting numbers below to instantly calculate your personalized 10-year revenue forecast.
Your forecast is just the beginning — now step inside a live MATs tour.
Your revenue potential is clear.
✨ But this moment is more than just numbers… It’s the beginning of a powerful transformation.
The MATs Experience™ is immersive, intuitive, and unforgettable. It blends narration, imagery, and artist voices into a personal journey — room by room, guest by guest.
MATs is built to move your visitors — and your mission — forward.
Imagine the impact your museum can have:
✅ Every visitor engaged and inspired
✅ Revenue flowing — effortlessly
✅ The story of your art spoken into every ear, year after year
Take the next step — and see how MATs brings it all to life.
🔒 What Happens Next? Once you click Submit, you’ll be automatically redirected to your Private Demo Tour of The Bayne Fine Arts and Automotive Museum.
There, you’ll get a firsthand experience of how MATs brings museums to life — through immersive audio, inspiring stories, and unforgettable guest engagement.
🏆 The MATs Advantage
Museums across the country are discovering how MATs transforms their collections into unforgettable guest experiences — while unlocking sustainable, scalable revenue streams with zero operational burden.
✅ Museum-Curated, Fully Controlled ✅ Delights Every Guest, Every Visit ✅ Recurring Revenue That Grows Over Time ✅ No Hardware. No Inventory. No Extra Staff ✅ Scales Seamlessly Across Collections, Languages & Locations
🔮 Imagine Your Museum One Year From Now…
✅ Every visitor enjoys a fully guided, deeply personal experience. ✅ Recurring revenue flows automatically with each new guest. ✅ Your team controls and updates content effortlessly. ✅ Zero hardware. Zero inventory. Zero staff headaches. ✅ Your museum’s reputation grows as guest experiences multiply.
🎯 This is what MATs delivers — quickly, affordably, and fully aligned with your mission.
let storedYear1Revenue = 0;function calculateROI() {
const get = id => parseFloat(document.getElementById(id).value);let visitors = get('visitors');
let mailingList = get('mailingList');
let growthRate = get('growthRate') / 100;
let audioRate = get('audioRate') / 100;
let videoRate = get('videoRate') / 100;
let bookRate = get('bookRate') / 100;
let audioPrice = get('audioPrice');
let videoPrice = get('videoPrice');
let bookPrice = get('bookPrice');let output = "";
let totalCumulativeRevenue = 0;
let year1Revenue = 0;
let cumulativeRevenueYears2to10 = 0;output += "<div style='overflow-x:auto; margin-top:30px;'><table style='width:100%; border-collapse:collapse;'><thead style='background:#333; color:#fff;'><tr><th style='padding:12px;'>Year</th><th>Visitors</th><th>Mailing List</th><th>Audio Revenue</th><th>Video Revenue</th><th>Book Revenue</th><th>Total Revenue</th></tr></thead><tbody>";for (let year = 1; year <= 10; year++) {
let roundedVisitors = Math.round(visitors);
let roundedMailingList = Math.round(mailingList);let audioRevenue = Math.round(roundedVisitors * audioRate * audioPrice);
let videoRevenue = Math.round(roundedMailingList * videoRate * videoPrice);
let bookRevenue = Math.round(roundedVisitors * bookRate * bookPrice);
let totalRevenue = audioRevenue + videoRevenue + bookRevenue;totalCumulativeRevenue += totalRevenue;
if (year === 1) {
year1Revenue = totalRevenue;
} else {
cumulativeRevenueYears2to10 += totalRevenue;
}output += `<tr style="text-align:center; border-bottom:1px solid #ddd;"><td style="padding:10px;">${year}</td><td>${roundedVisitors.toLocaleString()}</td><td>${roundedMailingList.toLocaleString()}</td><td>$${audioRevenue.toLocaleString()}</td><td>$${videoRevenue.toLocaleString()}</td><td>$${bookRevenue.toLocaleString()}</td><td><strong>$${totalRevenue.toLocaleString()}</strong></td></tr>`;visitors = visitors * (1 + growthRate);
mailingList = mailingList * (1 + growthRate);
}
output += "</tbody></table></div>";let creativeCost = Math.max(Math.round(year1Revenue * 0.20), 5000);
let hostingYear1 = Math.max(Math.round(year1Revenue * 0.075), 1750);
let totalYear1Costs = creativeCost + hostingYear1;
let year1ROI = ((year1Revenue - totalYear1Costs) / totalYear1Costs) * 100;let hostingCumulative = Math.round(cumulativeRevenueYears2to10 * 0.075);
let totalCumulativeCosts = totalYear1Costs + hostingCumulative;
let cumulativeROI = ((totalCumulativeRevenue - totalCumulativeCosts) / totalCumulativeCosts) * 100;storedYear1Revenue = year1Revenue;output = `
<div style="margin:40px 0; padding:20px; background:#fef9f4; border:2px solid #ff9900; border-radius:12px;">
<h2 style="margin-top:0; color:#333;">📊 1st Year Summary</h2>
<p><strong>Total Revenues:</strong> $${year1Revenue.toLocaleString()}</p>
<p><strong>Total Costs:</strong> $${totalYear1Costs.toLocaleString()}</p>
<p><strong>ROI:</strong> ${year1ROI.toFixed(1)}%</p>
</div>
<div style="margin:40px 0; padding:20px; background:#f3f3f3; border:2px solid #999; border-radius:12px;">
<h2 style="margin-top:0; color:#333;">📊 10-Year Cumulative Summary</h2>
<p><strong>Cumulative Revenues:</strong> $${totalCumulativeRevenue.toLocaleString()}</p>
<p><strong>Cumulative Costs:</strong> $${totalCumulativeCosts.toLocaleString()}</p>
<p><strong>Cumulative ROI:</strong> ${cumulativeROI.toFixed(1)}%</p>
</div>
`;// Create and update hidden cost span so script can fetch it
let costField = document.getElementById('roi_cost');
if (!costField) {
costField = document.createElement("span");
costField.id = "roi_cost";
costField.style.display = "none";
document.body.appendChild(costField);
}
costField.textContent = totalYear1Costs;// Inject values into hidden fields
const set = (id, val) => {
const el = document.getElementById(id);
if (el) el.value = val;
};set("roi_annual_visitors", Math.round(get('visitors')));
set("roi_mailing_list", Math.round(get('mailingList')));
set("roi_growth_rate", get('growthRate'));
set("roi_audio_rate", get('audioRate'));
set("roi_video_rate", get('videoRate'));
set("roi_book_rate", get('bookRate'));
set("roi_audio_price", get('audioPrice'));
set("roi_video_price", get('videoPrice'));
set("roi_book_price", get('bookPrice'));
set("roi_year1_revenue", year1Revenue);
set("roi_year1_roi", year1ROI.toFixed(1));
set("cost_year1", totalYear1Costs);document.getElementById("results").innerHTML = output;
}
jQuery(document).ready(function($){
jQuery("#fb_form_18800-0").submit(function(e){
$(this).find('.divi-form-submit').prop('disabled', true);
var required_check = true;
var form = jQuery(this);
let required_fields = $('.required',form);
let paymentField = $(this).find('input[name="de_fb_payment_amount"]');
let paymentInput = $(this).find('input[name="custom_price"]');
let paymentErrors = $(this).find('.payment-errors').length > 0;
var stripeEnabled = $(this).hasClass('de_fb_gateway_stripe_form');
var paymentEnabled = $(this).find('input[name="enable_payment"]').val();
var showTc = $(this).find('input[name="show_tc"]').val();
var recaptchaResponse = grecaptcha.getResponse();
let recaptchaField = $(this).find('.g-recaptcha');
let stripeErrorMessages = {};recaptchaField.next('.error').remove();// set acf date field format as per ACF standards
$(this).find('.datepicker-field').each(function() {
var $field = $(this);
var isAcfField = $field.attr("acf-date");
var selectedDate = $field.datepicker('getDate');
if (selectedDate && isAcfField == true) {
var formatted = $.datepicker.formatDate('yymmdd', selectedDate);
$field.val(formatted);
}
});
if ( required_fields.length > 0 ) {
$.each(required_fields, function (index, element) {
// If this is bloom subscribe checkbox
$(this).closest('.et_pb_contact_field').parent().find('.error').remove();
if ( !$(this).closest('.de_fb_form_field').hasClass('condition-hide') ) {
var field_type = $(this).closest('.et_pb_contact_field').data('type');if ( field_type == 'checkbox' || field_type == 'radio' ) {
if ( jQuery(this).find('input:checked').length == 0 ) {
required_check = false;
}
} else if ( field_type == 'file' || field_type == 'image' ) {
var value_field_id = jQuery(this).find('input.upload_field').attr('id') + '_value';
if ( jQuery(this).find('.files .template-upload').length == 0 && jQuery(this).find('#' + value_field_id).val() == "") {
required_check = false;
}
} else {
if ( jQuery(this).val() == '' ) {
required_check = false;
}
}
if ( !required_check ) {
var required_message = $(this).attr('data-required_message');
var required_message_pos = $(this).attr('data-required_position');if ( required_message_pos == 'top' ) {
$(this).closest('.et_pb_contact_field').before('<p class="error">' + required_message + '</p>');
} else {
$(this).closest('.et_pb_contact_field').after('<p class="error">' + required_message + '</p>');
}
}
}
});
}if ( form.find('.bloom_subscribe').find('input[required]').length > 0 ) {
form.find('.bloom_subscribe').find('.error').remove();
if ( !form.find('.bloom_subscribe').find('input[required]').is(":checked") ) {
required_check = false;
var required_message = "This field is required.";
var required_message_pos = "bottom";if ( required_message_pos == 'top' ) {
form.find('.bloom_subscribe').prepend('<p class="error">' + required_message + '</p>');
} else {
form.find('.bloom_subscribe').append('<p class="error">' + required_message + '</p>');
}
}
}if ( !required_check ) {
$('html, body').animate({
scrollTop: form.offset().top - 10
}, 300);form.find('.divi-form-submit').removeProp('disabled');
form.find('.divi-form-submit').removeAttr('disabled');
}var validation_result = form.valid();if ( !validation_result ) {
e.preventDefault();
//Here we check for an icon related to this input and we retrieve it to move it to correct place
//since validate function places the label before the icon -
let inputs_error= $('.input-field.error',form);
inputs_error.each(function (){
let input=$(this);
let parent=input.parent();
let label = $('label.error',parent).first();
let icon = $('.dfb_input_icon',parent).first();
if(icon.length){
if(input.next().is(label)){
label.detach().appendTo(parent.parent());
}
}
});
$(this).find('.divi-form-submit').removeProp('disabled');
$(this).find('.divi-form-submit').removeAttr('disabled');
return false;
}if(parseFloat(paymentField.val()) <= 0){
form.find('.plan-price').find('.payment-error', '.error').remove();
if(form.find('.plan-price .payment-error').length === 0){
form.find('.plan-price').append('<div class="payment-error et_pb_contact_error_text">Please add a valid value for payment</div>');
}
required_check = false;
paymentField.addClass('input-error');
form.find('.divi-form-submit').removeProp('disabled');
form.find('.divi-form-submit').removeAttr('disabled');
}if ( $(this).find('.signature-field').length > 0 ) {
$.each( $(this).find('.signature-field'), function(i) {
var field_id = $(this).find('input').attr('id');
$("#" + field_id).val( fb_signature.signature_objs['signaturePad_' + field_id].toDataURL() );
});
}
if(showTc){
let activeTab = form.find(".gateway-form:visible"); // Finds the visible payment gateway tab
let tcCheck = activeTab.find("input[type='checkbox']");form.find('.tcerror').remove();
if (!tcCheck.is(":checked")) {
tcCheck.closest(".tc_wrap").after('<p class="tcerror">You must accept the Terms & Conditions.</p>');
form.find('.divi-form-submit').prop('disabled', false);
return false;
}
}
if ( required_check ) {
e.preventDefault();
var recaptchaResponse = grecaptcha.getResponse();
let recaptchaField = $('.g-recaptcha');
recaptchaField.next('.error').remove();if (recaptchaResponse.length !== 0) {
if ( form.find('.file_preview_container .template-upload').length > 0 ) {
e.preventDefault();
$(this).addClass('submitting');
de_fb_ajax_files_upload( form );
} else {
if ( form.find('.calculate_field').length > 0 ) {
$('.calculation').hide();
$.each(form.find('.calculate_field'), function() {
var calc_field_wrapper = $(this);
var field_id = calc_field_wrapper.attr('id');
// replace de_fb_ and _wrapper with empty string
field_id = field_id.replace('de_fb_', '').replace('_wrapper', '');
var field_type = calc_field_wrapper.find('.et_pb_contact_field').attr('data-type');
var check_values = 0;
if ( field_type == 'checkbox' || field_type == 'radio' ) {
$.each( calc_field_wrapper.find('input:checked'), function() {
check_values = check_values + parseFloat( $(this).attr('data-calc_value') );
});
calc_field_wrapper.append('<input type="hidden" name="' + field_id + '_calc_value" value="' + check_values + '">');
} else if ( field_type == 'select' ) {
if ( calc_field_wrapper.find('select option:selected').length > 0 ) {
check_values = parseFloat(calc_field_wrapper.find('select option:selected').attr('data-calc_value'));
}
calc_field_wrapper.append('<input type="hidden" name="' + field_id + '_calc_value" value="' + check_values + '">');
} else {
if ( calc_field_wrapper.find('input:not([type="hidden"])').val() == '' ) {
var calc_default_value = calc_field_wrapper.find('input:not([type="hidden"])').attr('data-calc_default');
calc_field_wrapper.append('<input type="hidden" name="' + field_id + '_calc_value" value="' + calc_default_value + '">');
}
}
});
}if ( form.find('.divi-form-submit').hasClass('de_fb_ajax_submit') && paymentEnabled !== 'on') {
$(this).addClass('submitting');
de_fb_ajax_form_submit( form[0] );
e.preventDefault();
} else {
if(paymentEnabled !== 'on' || ( paymentEnabled == 'on' && !stripeEnabled )){
$(this).addClass('submitting');
jQuery("#fb_form_18800-0").find('.fb_nonce').remove();
jQuery("#fb_form_18800-0").append('<input type="hidden" name="fb_nonce" class="fb_nonce" value="f35bc7a4ee">');
if (( !paymentInput.length || !paymentInput.hasClass('input-error') ) && ( !stripeEnabled || (stripeEnabled && !paymentErrors) )) {
jQuery("#fb_form_18800-0").unbind('submit').submit();
} else {
form.find('.divi-form-submit').prop('disabled', false);
}
}
}
}
} else {
$(".g-recaptcha").after('<p class="error" style="color:red">Please check the reCAPTCHA.</p>');
form.find('.divi-form-submit').prop('disabled', false);
}
} else {
e.preventDefault();
}
if (recaptchaResponse.length === 0) {
$(".g-recaptcha").after('<p class="error" style="color:red">Please check the reCAPTCHA.</p>');
form.find('.divi-form-submit').prop('disabled', false);
}
//$(this).find('.divi-form-submit').removeProp('disabled');
//$(this).find('.divi-form-submit').removeAttr('disabled');
if (stripeEnabled) {
// form.find('.divi-form-submit').prop('disabled', true);let stripeKey = $(this).find('#card-element').data('consumer-key');
if (stripeKey) {
Stripe.setPublishableKey(stripeKey);
}let cvcField = $(this).find('.card-cvc');
cvcField.on('input', function () {
form.find('.cvcerror').remove();
});
let cvcValid = cvcField.val().trim() !== "";
form.find('.cvcerror').remove();
if (!cvcValid) {
cvcField.after('<p class="cvcerror">CVC is required.</p>');
form.find('.divi-form-submit').prop('disabled', false);
return false;
}$.ajax({
url: 'https://happyliving.com/wp-admin/admin-ajax.php', // WordPress AJAX URL
type: "POST",
data: { action: "get_stripe_error_messages" },
success: function (response) {
stripeErrorMessages = response; // Store messages globally
},
error: function () {
console.error("Failed to load Stripe error messages.");
}
});Stripe.createToken({
number: $(this).find('.card-number').val(),
cvc: $(this).find('.card-cvc').val(),
exp_month: $(this).find('.card-expiry-month').val(),
exp_year: $(this).find('.card-expiry-year').val(),
}, function (status, response) {
if (response.error) {
let errorType = response.error.code;
let errorMessage = stripeErrorMessages[errorType] || response.error.message;
form.find(".payment-errors").html(errorMessage);
form.find('.divi-form-submit').prop('disabled', false);
return false;
} else {
form.append("<input type='hidden' name='stripeToken' value='" + response['id'] + "'/>");
if ( ( ! paymentInput.length || ! paymentInput.hasClass('input-error') ) ) {
// Final Submission After Stripe Token is Generated
if (form.find('.divi-form-submit').hasClass('de_fb_ajax_submit')) {
// Ensure the token is in the serialized form data
e.preventDefault();
let formElement = form[0];
if (formElement instanceof HTMLFormElement) {
de_fb_ajax_form_submit(formElement); // Pass the actual form element
} else {
console.error("Form is not a valid HTMLFormElement");
}
} else {
if(paymentEnabled == 'on' && recaptchaResponse.length !== 0){
jQuery("#fb_form_18800-0").find('.fb_nonce').remove();
jQuery("#fb_form_18800-0").append('<input type="hidden" name="fb_nonce" class="fb_nonce" value="f35bc7a4ee">');
form.unbind('submit').submit();
}
}
} else {
form.find('.divi-form-submit').prop('disabled', false);
}
}
});return false; // Prevent default submission while Stripe processes}
});
});
jQuery(document).ready(function($) {
// Store the original URL validation method
let old_url = jQuery.validator.methods.url;
// Overwrite the 'url' method of the validator
jQuery.validator.addMethod('url', function(value, element) {
// Try the original validator
if (old_url.call(this, value, element)) {
return true;
}
// Try with 'http://' prepended, if the original value does not pass
if (value && !value.startsWith('http://') && !value.startsWith('https://')) {
return old_url.call(this, 'http://' + value, element);
}
// Fallback to false if neither check passes
return false;
}, 'Please enter a valid URL.');// Make email validation stricter (require at least one dot in the domain)
(function($){
var trim = function(s){ return (s || '').trim(); };
$.validator.methods.email = function (value, element) {
if (this.optional(element)) return true;
var v = trim(value);
// Require: [email protected] (at least one dot after the @ and at least two chars after the last dot)
return /^[^\s@]+@([^\s@]+\.)+[^\s@]{2,}$/.test(v);
};
})(jQuery);// add class to the parent .et_pb_contact_field if field has validate error
$.validator.setDefaults({
highlight: function(element) {
$(element).addClass('input-error');
$(element).closest('.et_pb_contact_field').addClass('input-field-error');
},
unhighlight: function(element) {
$(element).removeClass('input-error');
$(element).closest('.et_pb_contact_field').removeClass('input-field-error');
$(element).closest('.et_pb_contact_field').find('label.error').remove();
}
});$('#fb_form_18800-0').validate({
normalizer: function(value) {
// Trim the value of every element
return $.trim(value);
},
errorPlacement: function(error, element) {
var message_position = element.attr('data-required_position');
if ( message_position == 'top' ) {
element.before(error);
} else {
element.after(error);
}
// element.parent().append(error); // default error placement
}
});if ($('.de_fb_autocomplete').length > 0 && typeof init_autocomplete_fields == 'function') {
init_autocomplete_fields();
}
});
if ( window.history.replaceState ) {
window.history.replaceState( null, null, window.location.href );
}if ( typeof form_grid_columns === 'function' ) {
form_grid_columns();
}
document.addEventListener('DOMContentLoaded', function () {
const form = document.querySelector('form');
if (form) {
form.addEventListener('submit', function () {
setTimeout(function () {
window.location.href = '/matsprivatedemo/';
}, 2500); // 2.5 seconds delay to allow form to process
});
}
});
(function() {
var file = ["https:\/\/happyliving.com\/wp-content\/et-cache\/18800\/et-divi-dynamic-tb-7743-tb-7734-18800-late.css"];
var handle = document.getElementById('divi-style-inline-inline-css');
var location = handle.parentNode;if (0===document.querySelectorAll('link[href="' + file + '"]').length) {
var link = document.createElement('link');
link.rel = 'stylesheet';
link.id = 'et-dynamic-late-css';
link.href = file;location.insertBefore(link, handle.nextSibling);
}
})();
(function () {
var c = document.body.className;
c = c.replace(/woocommerce-no-js/, 'woocommerce-js');
document.body.className = c;
})();
window.llms = window.llms || {};window.llms.ajaxurl = "https://happyliving.com/wp-admin/admin-ajax.php";window.llms.ajax_nonce = "a450450a0f";window.llms.tracking = '{"nonce":"a7a77ae061","events":[],"saving_frequency":"minimum"}';window.LLMS = window.LLMS || {};window.LLMS.l10n = window.LLMS.l10n || {}; window.LLMS.l10n.strings = {"This is a %2$s %1$s String":"This is a %2$s %1$s String","You do not have permission to access this content":"You do not have permission to access this content","There is an issue with your chosen password.":"There is an issue with your chosen password.","Too Short":"Too Short","Very Weak":"Very Weak","Weak":"Weak","Medium":"Medium","Strong":"Strong","Mismatch":"Mismatch","Members Only Pricing":"Members Only Pricing","Are you sure you want to cancel your subscription?":"Are you sure you want to cancel your subscription?","New Lesson":"New Lesson","lessons":"lessons","lesson":"lesson","Section %1$d: %2$s":"Section %1$d: %2$s","Lesson %1$d: %2$s":"Lesson %1$d: %2$s","%1$s Quiz":"%1$s Quiz","questions":"questions","question":"question","New Quiz":"New Quiz","quizzes":"quizzes","quiz":"quiz","New Section":"New Section","sections":"sections","section":"section","General Settings":"General Settings","Video Embed URL":"Video Embed URL","Audio Embed URL":"Audio Embed URL","Free Lesson":"Free Lesson","Free lessons can be accessed without enrollment.":"Free lessons can be accessed without enrollment.","Require Passing Grade on Quiz":"Require Passing Grade on Quiz","When enabled, students must pass this quiz before the lesson can be completed.":"When enabled, students must pass this quiz before the lesson can be completed.","Require Passing Grade on Assignment":"Require Passing Grade on Assignment","When enabled, students must pass this assignment before the lesson can be completed.":"When enabled, students must pass this assignment before the lesson can be completed.","Lesson Weight":"Lesson Weight","POINTS":"POINTS","Determines the weight of the lesson when calculating the overall grade of the course.":"Determines the weight of the lesson when calculating the overall grade of the course.","Prerequisite":"Prerequisite","Course Drip Method":"Course Drip Method","Drip settings are currently set at the course level, under the Restrictions settings tab. Disable to allow lesson level drip settings.":"Drip settings are currently set at the course level, under the Restrictions settings tab. Disable to allow lesson level drip settings.","Edit Course":"Edit Course","Drip settings can be set at the course level to release course content at a specified interval, in the Restrictions settings tab.":"Drip settings can be set at the course level to release course content at a specified interval, in the Restrictions settings tab.","Drip Method":"Drip Method","None":"None","On a specific date":"On a specific date","# of days after course enrollment":"# of days after course enrollment","# of days after course start date":"# of days after course start date","# of days after prerequisite lesson completion":"# of days after prerequisite lesson completion","# of days":"# of days","Date":"Date","Time":"Time","Description":"Description","Passing Percentage":"Passing Percentage","Minimum percentage of total points required to pass the quiz":"Minimum percentage of total points required to pass the quiz","Limit Attempts":"Limit Attempts","Limit the maximum number of times a student can take this quiz":"Limit the maximum number of times a student can take this quiz","Time Limit":"Time Limit","Enforce a maximum number of minutes a student can spend on each attempt":"Enforce a maximum number of minutes a student can spend on each attempt","Can be resumed":"Can be resumed","Allow a new attempt on this quiz to be resumed":"Allow a new attempt on this quiz to be resumed","Show Correct Answers":"Show Correct Answers","When enabled, students will be shown the correct answer to any question they answered incorrectly.":"When enabled, students will be shown the correct answer to any question they answered incorrectly.","Randomize Question Order":"Randomize Question Order","Display questions in a random order for each attempt. Content questions are locked into their defined positions.":"Display questions in a random order for each attempt. Content questions are locked into their defined positions.","Disable Retake":"Disable Retake","Prevent quiz retake after student passed the quiz.":"Prevent quiz retake after student passed the quiz.","Question Bank":"Question Bank","A question bank helps prevent cheating and reinforces learning by allowing instructors to create assessments with randomized questions pulled from a bank of questions. (Available in Advanced Quizzes addon)":"A question bank helps prevent cheating and reinforces learning by allowing instructors to create assessments with randomized questions pulled from a bank of questions. (Available in Advanced Quizzes addon)","Get LifterLMS Advanced Quizzes":"Get LifterLMS Advanced Quizzes","Are you sure you want to detach this %s?":"Are you sure you want to detach this %s?","Select an image":"Select an image","Use this image":"Use this image","Are you sure you want to move this %s to the trash?":"Are you sure you want to move this %s to the trash?","%1$s Assignment":"%1$s Assignment","Add Existing Assignment":"Add Existing Assignment","Search for existing assignments...":"Search for existing assignments...","Get Your Students Taking Action":"Get Your Students Taking Action","Get Assignments Now!":"Get Assignments Now!","Unlock LifterLMS Assignments":"Unlock LifterLMS Assignments","Close":"Close","Add Existing Lesson":"Add Existing Lesson","Search for existing lessons...":"Search for existing lessons...","Searching...":"Searching...","Attach":"Attach","Clone":"Clone","ID":"ID","Are you sure you want to delete this question?":"Are you sure you want to delete this question?","Add Existing Question":"Add Existing Question","Search for existing questions...":"Search for existing questions...","An error occurred while trying to load the questions. Please refresh the page and try again.":"An error occurred while trying to load the questions. Please refresh the page and try again.","Add Existing Quiz":"Add Existing Quiz","Search for existing quizzes...":"Search for existing quizzes...","Add a Question":"Add a Question","Use SoundCloud or Spotify audio URLS.":"Use SoundCloud or Spotify audio URLS.","Permalink":"Permalink","Use YouTube, Vimeo, or Wistia video URLS.":"Use YouTube, Vimeo, or Wistia video URLS.","Select an Image":"Select an Image","Select Image":"Select Image","An error was encountered generating the export":"An error was encountered generating the export","Select a Course\/Membership":"Select a Course\/Membership","Select a student":"Select a student","Error: %s":"Error: %s","Filter by Student(s)":"Filter by Student(s)","Error":"Error","Request timed out":"Request timed out","Retry":"Retry","Unknown response":"Unknown response","Launch Course Builder":"Launch Course Builder","There was an error loading the necessary resources. Please try again.":"There was an error loading the necessary resources. Please try again.","Restrictions":"Restrictions","Free":"Free","Monthly":"Monthly","Annual":"Annual","One Time":"One Time","Lifetime":"Lifetime","Paid Trial":"Paid Trial","Free Trial":"Free Trial","Hidden Access":"Hidden Access","Sale":"Sale","Pre-sale":"Pre-sale","After deleting this access plan, any students subscribed to this plan will still have access and will continue to make recurring payments according to the access plan's settings. If you wish to terminate their plans you must do so manually. This action cannot be reversed.":"After deleting this access plan, any students subscribed to this plan will still have access and will continue to make recurring payments according to the access plan's settings. If you wish to terminate their plans you must do so manually. This action cannot be reversed.","An error was encountered during the save attempt. Please try again.":"An error was encountered during the save attempt. Please try again.","Please select a student to enroll":"Please select a student to enroll","Are you sure you want to delete this row? This cannot be undone.":"Are you sure you want to delete this row? This cannot be undone.","Click okay to enroll all active members into the selected course. Enrollment will take place in the background and you may leave your site after confirmation. This action cannot be undone!":"Click okay to enroll all active members into the selected course. Enrollment will take place in the background and you may leave your site after confirmation. This action cannot be undone!","\"%s\" is already in the course list.":""%s" is already in the course list.","Remove course":"Remove course","Enroll All Members":"Enroll All Members","Cancel":"Cancel","Refund":"Refund","Record a Manual Payment":"Record a Manual Payment","Copy this code and paste it into the desired area":"Copy this code and paste it into the desired area","Edit":"Edit","View":"View","Remarks to Student":"Remarks to Student","points":"points","Are you sure you wish to quit this quiz attempt?":"Are you sure you wish to quit this quiz attempt?","Grading Quiz...":"Grading Quiz...","Loading Question...":"Loading Question...","An unknown error occurred. Please try again.":"An unknown error occurred. Please try again.","Loading Quiz...":"Loading Quiz...","Save & Exit Quiz":"Save & Exit Quiz","Time Remaining":"Time Remaining","Next Question":"Next Question","Complete Quiz":"Complete Quiz","Previous Question":"Previous Question","Loading...":"Loading...","%1$s hours, %2$s minutes remaining":"%1$s hours, %2$s minutes remaining","1 hour, %2$s minutes remaining":"1 hour, %2$s minutes remaining","%1$s minutes remaining":"%1$s minutes remaining","%1$s minute remaining":"%1$s minute remaining","%1$s seconds remaining":"%1$s seconds remaining","You must select an answer to continue.":"You must select an answer to continue."};
var DIVI = {"item_count":"%d Item","items_count":"%d Items"};
var et_builder_utils_params = {"condition":{"diviTheme":true,"extraTheme":false},"scrollLocations":["app","top"],"builderScrollLocations":{"desktop":"app","tablet":"app","phone":"app"},"onloadScrollLocation":"app","builderType":"fe"};
var et_frontend_scripts = {"builderCssContainerPrefix":"#et-boc","builderCssLayoutPrefix":"#et-boc .et-l"};
var et_pb_custom = {"ajaxurl":"https://happyliving.com/wp-admin/admin-ajax.php","images_uri":"https://happyliving.com/wp-content/themes/Divi/images","builder_images_uri":"https://happyliving.com/wp-content/themes/Divi/includes/builder/images","et_frontend_nonce":"20ef6cb831","subscription_failed":"Please, check the fields below to make sure you entered the correct information.","et_ab_log_nonce":"f3073c51d0","fill_message":"Please, fill in the following fields:","contact_error_message":"Please, fix the following errors:","invalid":"Invalid email","captcha":"Captcha","prev":"Prev","previous":"Previous","next":"Next","wrong_captcha":"You entered the wrong number in captcha.","wrong_checkbox":"Checkbox","ignore_waypoints":"no","is_divi_theme_used":"1","widget_search_selector":".widget_search","ab_tests":[],"is_ab_testing_active":"","page_id":"18800","unique_test_id":"","ab_bounce_rate":"5","is_cache_plugin_active":"yes","is_shortcode_tracking":"","tinymce_uri":"https://happyliving.com/wp-content/themes/Divi/includes/builder/frontend-builder/assets/vendors","accent_color":"#2ea3f2","waypoints_options":[]};
var et_pb_box_shadow_elements = [];
//# sourceURL=divi-custom-script-js-extra
var mejsL10n = {"language":"en","strings":{"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left/Right Arrow keys to advance one second, Up/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}};
//# sourceURL=mediaelement-core-js-before