// source --> https://www.davison.com/wp/wp-content/plugins/davison/assets/js/cookieconsent-config.js?ver=1782418844 
(function () {
    const cookieConsentStyle = document.createElement('style');

    cookieConsentStyle.textContent = `
        #cc-main .cm__btn[data-role="all"],
        #cc-main .pm__btn[data-role="all"] {
            background-color: #38b !important;
            border-color: #38b !important;
        }
        #cc-main .cm__btn[data-role="necessary"],
        #cc-main .pm__btn[data-role="necessary"] {
            background-color: #818F99 !important;
            border-color: #818F99 !important;
        }
        @media (max-width: 640px) {
            #cc-main .cm__btn+.cm__btn {
                margin-top: 0 !important;
            }
            #cc-main .cm--inline .cm__btn+.cm__btn {
                margin-left: .375rem !important;
            }
            #cc-main .cm__btns .cm__btn-group {
                flex-direction: row !important;
            }
        }
    `;
    document.head.appendChild(cookieConsentStyle);

    document.addEventListener('DOMContentLoaded', () => {
        document.querySelectorAll('iframe[src*="player.vimeo.com"]').forEach(iframe => {
            const url = new URL(iframe.src);
            url.searchParams.set('dnt', '1');
            iframe.src = url.toString();
        });
    });

    function updateConsent() {
        const analyticsGranted = CookieConsent.acceptedCategory('analytics');
        const marketingGranted = CookieConsent.acceptedCategory('marketing');

        gtag('consent', 'update', {
            analytics_storage:  analyticsGranted ? 'granted' : 'denied',
            ad_storage:         marketingGranted ? 'granted' : 'denied',
            ad_user_data:       marketingGranted ? 'granted' : 'denied',
            ad_personalization: marketingGranted ? 'granted' : 'denied',
        });

        window.dataLayer = window.dataLayer || [];

        if (analyticsGranted) {
            window.dataLayer.push({ event: 'consent_analytics_granted' });
        }
        if (marketingGranted) {
            window.dataLayer.push({ event: 'consent_marketing_granted' });
        }
    }

    CookieConsent.run({
        guiOptions: {
            consentModal: {
                layout: 'box inline',
                position: 'bottom center',
            }
        },
        categories: {
            necessary: {
                enabled: true,
                readOnly: true,
            },
            analytics: {
                autoClear: {
                    cookies: [
                        { name: /^_ga/ },
                        { name: '_gid' },
                        { name: /^_gat/ },
                    ]
                }
            },
            marketing: {
                autoClear: {
                    cookies: [
                        { name: /^_gcl/ },  // Google Ads / conversion linker
                    ]
                }
            }
        },
        language: {
            default: 'en',
            translations: {
                en: {
                    consentModal: {
                        title: 'Your Privacy',
                        description: 'We use cookies and similar technologies to operate our site and analyze traffic via Google Tag Manager. Strictly necessary cookies are always active. All other cookies require your prior consent.',
                        acceptAllBtn: 'Accept all',
                        rejectAllBtn: 'Reject all',
                        acceptNecessaryBtn: 'Reject All',
                        showPreferencesBtn: 'Manage preferences'
                    },
                    preferencesModal: {
                        title: 'Cookie preferences',
                        acceptNecessaryBtn: 'Reject All',
                        savePreferencesBtn: 'Save preferences',
                        acceptAllBtn: 'Accept all',
                        rejectAllBtn: 'Reject all',
                        sections: [
                            {
                                title: 'Strictly Necessary',
                                description: 'Required for the site and lead form to function, including security (reCAPTCHA), CDN delivery (Cloudflare), and our cookie consent record. Cannot be disabled.',
                                linkedCategory: 'necessary'
                            },
                            {
                                title: 'Analytics',
                                description: 'Helps us understand how visitors use our site via Google Analytics (through Google Tag Manager). Includes cookies like _ga and _gid.',
                                linkedCategory: 'analytics'
                            },
                            {
                                title: 'Marketing',
                                description: 'Used to measure ad campaign effectiveness via Google Ads. Tracks conversions from paid campaigns.',
                                linkedCategory: 'marketing'
                            }
                        ]
                    }
                }
            }
        },

        onConsent: updateConsent,
        onChange: updateConsent
    });
})();
// source --> https://www.davison.com/wp/wp-content/plugins/wp-socializer/public/js/wp-socializer.min.js?ver=7.9 
function socializer_addbookmark(t){var e=navigator.userAgent.toLowerCase(),s=-1!=e.indexOf("mac"),r="";t.preventDefault(),r=(s?"Command/Cmd":"CTRL")+" + D",alert("Press "+r+" to bookmark this page")}function socializer_shortlink(t,e,s){"function"==typeof t.preventDefault&&t.preventDefault();var r=e?e.getAttribute("href"):s;wpsr_helpers.open_popup("wpsr-short-link"),document.getElementById("wpsr-short-link-url").value=r}function socializer_native_share(t){t.preventDefault(),navigator.share?navigator.share({url:t.target.closest("a").href}):wpsr_helpers.open_popup("wpsr-share-menu")}window.wpsr_helpers={addClass:function(t,e){t.classList?t.classList.add(e):t.className+=" "+e},removeClass:function(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(new RegExp("(^|\\b)"+e.split(" ").join("|")+"(\\b|$)","gi")," ")},popup_window:function(t,e,s,r){var a=screen.width/2-s/2,n=screen.height/2-r/2;return window.open(t,e,"toolbar=no,location=no,menubar=no,scrollbars=yes,width="+s+",height="+r+",top="+n+",left="+a)},offset:function(t){var e=t.getBoundingClientRect();return{top:e.top+document.body.scrollTop,left:e.left+document.body.scrollLeft}},ajax:function(t,e,s,r,a){var n=new XMLHttpRequest;n.props=a,n.open(e,t,!0),"POST"==e&&n.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8"),n.onreadystatechange=function(){if(4==n.readyState&&200==n.status)return r(n)},n.send(s)},format_num:function(t){if(t<1e3)return t;for(var e=["k","m","b","t"],s=t,r=0;r<e.length;r++)if(!((t/=1e3)>1e3)){s=Math.round(100*t)/100+e[r];break}return s},is_mobile:function(){return/Mobi|Android/i.test(navigator.userAgent)},open_popup:function(t){var e=document.getElementById(t);if(e){var s=this;this.removeClass(e,"wpsr-pp-closed"),this.addClass(e,"wpsr-pp-opened"),this.removeClass(e,"wpsr-pp-slide-up"),setTimeout(function(){s.addClass(e,"wpsr-pp-slide-down")},10)}},close_popup:function(t){var e=document.getElementById(t);if(e){var s=this;this.removeClass(e,"wpsr-pp-slide-down"),this.addClass(e,"wpsr-pp-slide-up"),setTimeout(function(){s.removeClass(e,"wpsr-pp-opened"),s.addClass(e,"wpsr-pp-closed")},250)}},copy:function(t){var e=document.createElement("textarea");e.value=t,e.setAttribute("readonly",""),e.style.position="absolute",e.style.left="-9999px",document.body.appendChild(e),e.select(),document.execCommand("copy"),document.body.removeChild(e)},set_cookie:function(t,e,s){var r="";if(0!=s){var a=new Date;a.setTime(a.getTime()+24*s*60*60*1e3),r="; expires="+a.toUTCString()}document.cookie=t+"="+(e||"")+r+"; path=/"},get_cookie:function(t){for(var e=t+"=",s=document.cookie.split(";"),r=0;r<s.length;r++){for(var a=s[r];" "==a.charAt(0);)a=a.substring(1,a.length);if(0==a.indexOf(e))return a.substring(e.length,a.length)}return null},set_ft_state_cookie:function(t,e){var s="";"yes"==t.getAttribute("data-save-state")&&(t.classList.contains("wpsr-sharebar")&&(s="wpsr_sb_state"),t.classList.contains("wpsr-follow-icons")&&(s="wpsr_fi_state"),this.set_cookie(s,e,0))}},document.addEventListener("DOMContentLoaded",function(){var t=document.querySelectorAll(".socializer.sr-popup a");for(f=0;f<t.length;f++){var e=t[f];e.addEventListener("click",function(t){var e=this.getAttribute("href");if("comments"==this.getAttribute("data-id"))return void this.setAttribute("target","_self");"#"==e||this.hasAttribute("onclick")||null==e||wpsr_helpers.popup_window(e,"_blank",1024,576),t.preventDefault()})}if(wpsr_helpers.is_mobile()){var s=document.querySelectorAll(".socializer a[data-mobile]");for(f=0;f<s.length;f++){var e=s[f],r=e.getAttribute("data-mobile");e.setAttribute("href",r)}}var a=document.querySelector(".wpsr-sharebar");if(a){var n=a.querySelector(".socializer");a.sm_action_call=function(t){wpsr_helpers.removeClass(this,"wpsr-sb-vl"),wpsr_helpers.addClass(this,"wpsr-sb-hl"),wpsr_helpers.removeClass(n,"sr-vertical"),wpsr_helpers.addClass(n,"sr-horizontal"),wpsr_helpers.addClass(n,"sr-fluid")},a.lg_action_call=function(){wpsr_helpers.addClass(this,"wpsr-sb-vl"),wpsr_helpers.removeClass(this,"wpsr-sb-hl"),wpsr_helpers.addClass(n,"sr-vertical"),wpsr_helpers.removeClass(n,"sr-horizontal"),wpsr_helpers.removeClass(n,"sr-fluid")};var o=function(){stick_sb=document.querySelector(".wpsr-sb-vl-scontent"),stick_sb&&(stick=stick_sb.getAttribute("data-stick-to"),stick_ele=document.querySelector(stick),stick_ele&&(stick_offset=wpsr_helpers.offset(stick_ele),stick_sb.style.left=stick_offset.left+"px"))};o(),window.addEventListener("resize",o),a.style.display="none";"closed"==wpsr_helpers.get_cookie("wpsr_sb_state")&&"yes"==a.getAttribute("data-save-state")&&(wpsr_helpers.addClass(a,"wpsr-cookie-closed"),wpsr_helpers.addClass(a,"wpsr-closed")),a.style.display="block"}if(tsb=document.querySelector(".wpsr-text-sb"),tsb){window.wpsr_tsb={stext:"",startx:0,starty:0};var i={ptitle:tsb.getAttribute("data-title"),purl:tsb.getAttribute("data-url"),psurl:tsb.getAttribute("data-surl"),ptuname:tsb.getAttribute("data-tuname"),cnt_sel:tsb.getAttribute("data-content"),word_count:tsb.getAttribute("data-tcount"),comments_section:tsb.getAttribute("data-comments-section"),raw_url:tsb.getAttribute("data-url")},l=function(){var t="";return window.getSelection?t=window.getSelection().toString():document.selection&&"Control"!=document.selection.type&&(t=document.selection.createRange().text),t},p=function(t,e){tsb.style.left=t+"px",tsb.style.top=e+"px",wpsr_helpers.addClass(tsb,"wpsr-tsb-active")},c=function(){wpsr_helpers.removeClass(tsb,"wpsr-tsb-active")},d=function(){var t=wpsr_tsb.stext,e=parseInt(i.word_count);return t=t.replace(/[^\x00-\x7F]/g,""),0==e?t:t.split(" ").slice(0,e).join(" ")},u=function(t){var e={"{title}":escape(i.ptitle),"{url}":i.purl,"{s-url}":i.psurl,"{twitter-username}":i.ptuname,"{excerpt}":escape(d()),"{comments-section}":i.comments_section,"{raw-url}":i.raw_url};for(var s in e)e.hasOwnProperty(s)&&(t=t.replace(RegExp(s,"g"),e[s]));return t};if(""!=i.cnt_sel)for(var h=i.cnt_sel.replace(/[\[\]<>"'\/\\=&%]/g,""),w=document.querySelectorAll(h),f=0;f<w.length;f++){var _=w[f];_.addEventListener("mousedown",function(t){wpsr_tsb.startx=t.pageX,wpsr_tsb.starty=t.pageY}),_.addEventListener("mouseup",function(t){var e=l();""!=e?(tsb_x=(t.pageX+parseInt(wpsr_tsb.startx))/2,tsb_y=Math.min(wpsr_tsb.starty,t.pageY),e!=wpsr_tsb.stext?(p(tsb_x,tsb_y),wpsr_tsb.stext=e):c()):c()})}document.body.addEventListener("mousedown",function(t){c()}),tsb.addEventListener("mousedown",function(t){t.stopPropagation()});for(var v=tsb.querySelectorAll("a"),f=0;f<v.length;f++){v[f].addEventListener("click",function(t){var e=this.getAttribute("data-link");if("comments"==this.getAttribute("data-id"))return this.setAttribute("target","_self"),void this.setAttribute("href",u(e));"#"!=e&&(rep_link=u(e),wpsr_helpers.popup_window(rep_link,"_blank",1024,576)),t.preventDefault()})}}var m=document.querySelectorAll(".wp-socializer");m.length>0&&["resize","load"].forEach(function(t){window.addEventListener(t,function(){for(var t=0;t<m.length;t++){var e=m[t],s=e.getAttribute("data-lg-action"),r=e.getAttribute("data-sm-action"),a=e.getAttribute("data-sm-width"),n=window.innerWidth<=a?r:s;"close"==n?wpsr_helpers.addClass(e,"wpsr-closed"):e.classList.contains("wpsr-cookie-closed")||wpsr_helpers.removeClass(e,"wpsr-closed"),"hide"==n?wpsr_helpers.addClass(e,"wpsr-hide"):wpsr_helpers.removeClass(e,"wpsr-hide"),"function"==typeof e.sm_action_call&&n==r&&e.sm_action_call(),"function"==typeof e.lg_action_call&&n==s&&e.lg_action_call()}})});var b=document.querySelectorAll(".wpsr-close-btn");if(b.length>0)for(f=0;f<b.length;f++){var g=b[f];g.addEventListener("click",function(){var t=this.parentNode;t.classList.contains("wpsr-closed")?(wpsr_helpers.removeClass(t,"wpsr-closed"),wpsr_helpers.set_ft_state_cookie(t,"opened")):(wpsr_helpers.addClass(t,"wpsr-closed"),wpsr_helpers.set_ft_state_cookie(t,"closed"))})}if("undefined"!=typeof wp_socializer){var y=document.querySelectorAll("[data-wpsrs]");if(y.length>0){var k={},A=wp_socializer.ajax_url+"?action=wpsr_share_count";for(f=0;f<y.length;f++){var C=y[f],x=C.getAttribute("data-wpsrs"),L=C.getAttribute("data-wpsrs-svcs").split(",");x in k||(k[x]=[]);for(j=0;j<L.length;j++)-1===k[x].indexOf(L[j])&&k[x].push(L[j])}var S=function(t){var e=JSON.parse(t.responseText),s=document.querySelectorAll('[data-wpsrs="'+t.props.forURL+'"]');for(f=0;f<s.length;f++){var r=s[f],a=r.getAttribute("data-wpsrs-svcs").split(","),n=0;for(j=0;j<a.length;j++){var o=a[j];o in e&&(n+=parseInt(e[o])||0)}n>0&&(r.innerHTML=wpsr_helpers.format_num(n))}};for(var x in k)k.hasOwnProperty(x)&&(send_data={url:x,services:k[x]},to_send="data="+JSON.stringify(send_data),wpsr_helpers.ajax(A,"POST",to_send,S,{forURL:x}))}}var E=document.querySelectorAll(".wpsr-pp-close");if(E.length>0)for(f=0;f<E.length;f++){var q=E[f];q.addEventListener("click",function(t){t.preventDefault();var e=this.getAttribute("data-id");wpsr_helpers.close_popup(e)})}window.wpsr_share_menu={set_data:function(t){try{this.data=JSON.parse(t)}catch(t){this.data={},console.log(t)}},get_param:function(t){var e={url:document.location.href,title:document.title,"short-url":document.location.href};return this.data=void 0===this.data?e:this.data,t in this.data?this.data[t]:t in e?e[t]:""},process_link:function(t){for(var e,s=/\{(.+?)\}/g;e=s.exec(t);){var r=this.get_param(e[1]);t=t.replaceAll("{"+e[1]+"}",encodeURI(r))}return t}};var T=document.querySelectorAll(".sr-share-menu a");if(T.length>0)for(f=0;f<T.length;f++){var z=T[f];z.addEventListener("click",function(){var t=this.getAttribute("data-metadata");wpsr_share_menu.set_data(t),wpsr_helpers.open_popup("wpsr-share-menu")})}var D=document.querySelectorAll(".wpsr-sm-link");if(D.length>0)for(f=0;f<D.length;f++){var O=D[f];O.addEventListener("click",function(t){t.preventDefault();var e=wpsr_helpers.is_mobile()&&this.getAttribute("data-m")?this.getAttribute("data-m"):this.getAttribute("data-d"),s=wpsr_share_menu.process_link(atob(e));if(this.classList.contains("wpsr-sml-shortlink"))return void socializer_shortlink(t,!1,s);0==s.indexOf("http")?wpsr_helpers.popup_window(s,"_blank",1024,576):window.location.href=s})}var R=document.getElementById("wpsr-sl-copy-btn");R&&R.addEventListener("click",function(t){t.preventDefault(),wpsr_helpers.copy(document.getElementById("wpsr-short-link-url").value),this.innerText=this.getAttribute("data-d");var e=this;setTimeout(function(){e.innerText=e.getAttribute("data-c")},3e3)})});