// source --> https://sincwork.de/wp-content/plugins/easy-cookie-consent/assets/dist/easy_cookie_consent.min.js?ver=1 
window.dataLayer=window.dataLayer||[];function gtag(){window.dataLayer.push(arguments)}gtag("consent","default",{analytics_storage:"denied",ad_storage:"denied",personalization_storage:"denied",wait_for_update:500});if(getCookie("cc_cookie")){let consentLevel=JSON.parse(getCookie("cc_cookie")).level;gtag("consent","update",{analytics_storage:consentLevel.indexOf(cookieCategoryAnalytics)>-1?"granted":"denied",ad_storage:consentLevel.indexOf(cookieCategoryMarketing)>-1?"granted":"denied"});window.addEventListener("load",function(){if(consentLevel.indexOf(cookieCategoryAnalytics)>-1){allowIframe(cookieCategoryAnalytics)}if(consentLevel.indexOf(cookieCategoryMarketing)>-1){allowIframe(cookieCategoryMarketing)}})}if(gtmId){(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var f=d.getElementsByTagName(s)[0],j=d.createElement(s),dl=l!="dataLayer"?"&l="+l:"";j.async=true;j.src="https://www.googletagmanager.com/gtm.js?id="+i+dl;f.parentNode.insertBefore(j,f)})(window,document,"script","dataLayer","GTM-"+gtmId)}function setGTM(level){let storedLevels=JSON.parse(getCookie("cc_cookie")).level;if(level.indexOf(cookieCategoryAnalytics)>-1){if(!storedLevels.includes(cookieCategoryAnalytics)){gtag("consent","update",{analytics_storage:"denied"})}else{gtag("consent","update",{analytics_storage:"granted"});allowIframe(cookieCategoryAnalytics)}window.dataLayer.push({event:"consent-update"})}if(level.indexOf(cookieCategoryMarketing)>-1){if(!storedLevels.includes(cookieCategoryMarketing)){gtag("consent","update",{ad_storage:"denied"})}else{gtag("consent","update",{ad_storage:"granted"});allowIframe(cookieCategoryMarketing)}window.dataLayer.push({event:"consent-update"})}}function generateID(length){let result="";const characters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";const charactersLength=characters.length;for(let i=0;i<length;i++){result+=characters.charAt(Math.floor(Math.random()*charactersLength))}return result}function setCookie(cname,cvalue,exdays){const d=new Date;d.setTime(d.getTime()+exdays*24*60*60*1e3);let expires="expires="+d.toUTCString();document.cookie=cname+"="+cvalue+";"+expires+";path=/"}function getCookie(cname){let name=cname+"=";let decodedCookie=decodeURIComponent(document.cookie);let ca=decodedCookie.split(";");for(let i=0;i<ca.length;i++){let c=ca[i];while(c.charAt(0)===" "){c=c.substring(1)}if(c.indexOf(name)===0){return c.substring(name.length,c.length)}}return null}function saveConsent(cookieData,forceSave){if(!getCookie(cookieName)||forceSave){const cookieId=generateID(12);cookieData.cookie_id=cookieId;cookieData.cookie_expires_in_days=cookieConsentOptions.cookie_expiration;let data={action:"cookies-accepted","ajax-cookies-accepted-nonce":cookiesAcceptedNonce,"cookie-data":JSON.stringify(cookieData)};let xhttp=new XMLHttpRequest;xhttp.onreadystatechange=function(){if(this.readyState===4&&this.status===200){}};xhttp.open("POST",adminUrl,true);xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;");xhttp.send(new URLSearchParams(data));setCookie(cookieName,cookieId,cookieConsentOptions.cookie_expiration)}}let orestbidaCookieConsent;window.addEventListener("load",function(){orestbidaCookieConsent=initCookieConsent();cookieConsentOptions["onFirstAction"]=function(userPreferences,cookie){saveConsent(cookie,false);setGTM(cookie.level)};cookieConsentOptions["onChange"]=function(cookie,changedPreferences){saveConsent(cookie,true);setGTM(changedPreferences)};orestbidaCookieConsent.run(cookieConsentOptions);window.dispatchEvent(new CustomEvent("orestbida-consent-loaded",{}));document.querySelectorAll("[data-iframe-cookie-needed]").forEach(div=>{div.innerHTML='<div class="iframe-placeholder" style="background-image: url('+div.getAttribute("data-iframe-placeholder-url")+')"><div class="iframe-placeholder__overlay"><a href="javascript:void(0);" aria-label="View cookie settings" data-cc="c-settings" class="btn btn-primary iframe-placeholder__btn">'+placeholderButtonText+"</a></div></div>"})});function allowIframe(cookieCategory){document.querySelectorAll('[data-iframe-cookie-needed="'+cookieCategory+'"]').forEach(div=>{let iframe=document.createElement("iframe");for(let i=0,atts=div.attributes,n=atts.length;i<n;i++){if("data-iframe-cookie-needed"!==atts[i].nodeName&&"data-iframe-placeholder-url"!==atts[i].nodeName){iframe.setAttribute(atts[i].nodeName.replace("data-",""),atts[i].nodeValue)}div.innerHTML=""}div.after(iframe);div.remove()})};
// source --> https://sincwork.de/wp-content/plugins/keydesign-framework/assets/js/back-to-top.js?ver=3.3 
(function ($) {
	$(function () {
	  'use strict';
  
	  if (window.__kdBackToTopInit) return;
	  window.__kdBackToTopInit = true;
  
	  $.easing.easeOutCubic = function (p) { return 1 - Math.pow(1 - p, 3); };
  
	  const doc = document;
	  const $win = $(window);
	  const $btn = $('.back-to-top');
	  const $circle = $('.back-to-top.scroll-position-style circle');
  
	  const THRESHOLD = 150;
	  let viewport = 1;
	  let ticking = false;
	  let lastActive = false;
  
	  const se = () => doc.scrollingElement || doc.documentElement;
	  const getScrollTop = () => se().scrollTop || 0;
  
	  function recomputeViewport() {
		viewport = Math.max(1, se().scrollHeight - window.innerHeight);
		updateOnScroll();
	  }
  
	  function updateOnScroll() {
		ticking = false;
		const scrollPos = getScrollTop();
		const active = scrollPos > THRESHOLD;
		if (active !== lastActive) {
		  $btn.toggleClass('active', active);
		  lastActive = active;
		}
		if ($circle.length) {
		  const dash = 262 - (scrollPos / viewport) * 150;
		  $circle.css('stroke-dashoffset', dash + 'px');
		}
	  }
  
	  function onScroll() {
		if (!ticking) {
		  ticking = true;
		  requestAnimationFrame(updateOnScroll);
		}
	  }
  
	  window.addEventListener('scroll', onScroll, { passive: true });
	  $win.on('resize orientationchange', recomputeViewport);
  
	  if ('ResizeObserver' in window) {
		const ro = new ResizeObserver(recomputeViewport);
		ro.observe(doc.documentElement);
		ro.observe(doc.body);
	  } else {
		setInterval(recomputeViewport, 500);
	  }
  
	  recomputeViewport();
  
	  $btn.on('click', function (event) {
		event.preventDefault();
		if ('scrollBehavior' in doc.documentElement.style) {
		  window.scrollTo({ top: 0, behavior: 'smooth' });
		} else {
		  $('html, body').stop().animate({ scrollTop: 0 }, 200, 'easeOutCubic');
		}
	  });
	});
  })(jQuery);