// source --> https://ht-strafrecht.de/cms2021/wp-content/plugins/equal-height-columns/public/js/equal-height-columns-public.js?ver=1.2.1 
/**
 * Equal Height Columns Public JS
 *
 * @since  1.0.0
 */
( function( $ ) {
	'use strict';

	$( window ).on( 'load', function() {

		// Don't do anything if no equal height column elements are specified.
		if ( 'undefined' === typeof equalHeightColumnElements ) {
			return;
		}

		// Initialize equal heights using variables passed from PHP.
		$.each( equalHeightColumnElements, function() {

			// Loop through each item in the collection
			$.each( this, function() {

				// Scope the vars
				var $selector, breakpoint;

				// Confirm that the selector is valid
				try {

					// Test the selector
					$selector = $( this.selector );

				} catch ( e ) {

					// If we have an error, the selector must not be valid,
					// so skip it and continue to the next selector
					return true;
				}

				// Set the breakpoint
				breakpoint = this.breakpoint;

				// Set the selector (needed on latest jQuery versions)
				$selector.selector = this.selector;

				// Start the party
				$selector.initEqualHeights( null, null, breakpoint );

				// Restart the party if an image is lazy loaded
				$( $selector.selector).find( 'img[loading="lazy"]' ).on( 'load', function(){
					$selector.equalizeTheHeights( null, null, breakpoint );
				});
			});
		});
	});

})( jQuery );

/**
 * Equal Heights jQuery Plugin
 *
 * Equalize the heights of elements. Great for columns or any elements that need to be the same height.
 *
 * Based on Rob Glazebrook's (cssnewbie.com) script.
 *
 * Features
 *  - ability to include a break point (the minimum viewport width at which the script does anything)
 *  - binds to window resize events (resize and orientationchange)
 *  - will automatically detect new elements added to the DOM
 *  - can be called multiple times without duplicating any events
 *
 * This plugin contains two methods - initEqualHeights() and equalizeTheHeights(). The initEqualHeights()
 * method will set up all of the events to handle window resizing and manual retriggering via the global
 * 'equalheights' event on the window. The equalizeTheHeights() method will directly equalize heights but
 * not set up any events. Both methods work on a standard jQuery collection object and accept the same args.
 *
 * Usage for the full method: jQuery( selector ).initEqualHeights( [minHeight], [maxHeight], [breakPoint] );
 * Usage for the direct method: jQuery( selector ).equalizeTheHeights( [minHeight], [maxHeight], [breakPoint] );
 *
 * Example 1: jQuery( ".cols" ).initEqualHeights(); Sets all .cols to the same height.
 * Example 2: jQuery( ".cols" ).initEqualHeights( 400 ); Sets all .cols to at least 400px tall.
 * Example 3: jQuery( ".cols" ).initEqualHeights( 100, 300 ); Cols are at least 100 but no more than 300 pixels
 * tall. Elements with too much content will gain a scrollbar.
 * Example 4: jQuery( ".cols" ).initEqualHeights( null, null, 768 ); Only resize .cols above 768px viewport
 */
( function( $ ) {
	'use strict';

	// Debouncing function from John Hann.
	// http://unscriptable.com/index.php/2009/03/20/debouncing-javascript-methods/
	var debounce = function( func, threshold ) {

		// The timer
		var timeout;

		return function debounced() {

			// Store the passed in function and args.
			var obj = this;
			var args = arguments;

			// This is the callback that the timer triggers when debouncing is complete.
			function delayed() {

				// We have successfully debounced, trigger the function.
				func.apply( obj, args );

				// And clear the timer.
				timeout = null;
			}

			// If the timer is active, clear it.
			if ( timeout ) {
				clearTimeout( timeout );
			}

			// Set the timer to 50ms and have it call delayed() when it completes.
			timeout = setTimeout( delayed, threshold || 50 );
		};
	};

	let manualElementsCount = 0;

	// Main function for equalizing heights AND setting up events.
	$.fn.initEqualHeights = function( minHeight, maxHeight, breakPoint ) {

		// Scope our variables.
		var selector, minHeight, maxHeight, breakPoint, args, eventData,
			ourEvents, eventSet, thisEvent, eventName;

		/*
		The .selector property was removed on jQuery 1.9, we already addressed this for the default elements
		but manual instances (directly calling .initEqualHeights()) were not working without this.
		*/
		if ( 'undefined' == typeof this.selector ) {
			this.addClass( 'equal-height-columns-manual-' + manualElementsCount );
			this.selector = '.equal-height-columns-manual-' + manualElementsCount;
			manualElementsCount++;
		}

		// Get the selector used to call equalHeights.
		selector = this.selector;

		// Use the args that were passed in or use the defaults.
		minHeight = minHeight || null;
		maxHeight = maxHeight || null;
		breakPoint = breakPoint || 0;

		// Combine args into an object.
		args = { minHeight: minHeight, maxHeight: maxHeight, breakPoint: breakPoint };

		// Check if our global already exists.
		if ( window.equalHeightsItems ) {

			// It does, so add or overwrite the current object in it.
			window.equalHeightsItems[selector] = args;
		} else {

			// It doesn't, so create the global and store the current object in it.
			window.equalHeightsItems = {};
			window.equalHeightsItems[selector] = args;
		}

		// Grab the current event data from the window object if it exists.
		eventData = $._data( window, 'events' ) || {};

		// Store the events that will retrigger doEqualHeights().
		ourEvents = [ 'resize', 'orientationchange', 'equalheights' ];

		// Loop through each event and attach our handler if it isn't attached already.
		$( ourEvents ).each( function() {

			// Reset our flag to false.
			eventSet = false;

			// Store this event.
			thisEvent = this;

			// Add the namespace.
			eventName = this + '.equalheights';

			// Check whether this event is already on the window.
			if ( eventData[ thisEvent ] ) {

				// Be careful not to disturb any unrelated listeners.
				$( eventData[ thisEvent ] ).each( function() {

					// Confirm that the event has our namespace.
					if ( this.namespace == 'equalheights' ) {

						// It does, so set our flag to true.
						eventSet = true;
					}
				});
			}

			// If our flag is still false then we can safely attach the event.
			if ( ! eventSet ) {

				// Namespace it and debounce it to be safe.
				$( window ).on( eventName, debounce( triggerEqualHeights ) );
			}
		});

		// Trigger the first equalizing.
		triggerEqualHeights();
	};

	// Function to trigger the equalizing.
	function triggerEqualHeights() {

		// Loop through each object in our global.
		$.each( window.equalHeightsItems, function( selector, args ) {

			// Call doEqualHeights and pass in the current object.
			doEqualHeights( selector, args );
		});
	}

	// Function to do the equalizing of the heights.
	function doEqualHeights( selector, args ) {

		// Scope our variables.
		var $items, minHeight, maxHeight, breakPoint;

		// Grab the collection of items fresh from the DOM.
		$items = $( selector );

		// Store the passed in args.
		minHeight = args.minHeight;
		maxHeight = args.maxHeight;
		breakPoint = args.breakPoint;

		$items.equalizeTheHeights( minHeight, maxHeight, breakPoint );
	}

	// Function for directly equalizing heights WITHOUT setting up any events.
	$.fn.equalizeTheHeights = function( minHeight, maxHeight, breakPoint, breakPointMax ) {

		// Scope our variables.
		var minHeight, maxHeight, breakPoint, breakPointMax, tallest, e, a, width;

		// Make all variables optional.
		minHeight = minHeight || 0;
		maxHeight = maxHeight || 0;
		breakPoint = breakPoint || 0;
		breakPointMax = breakPointMax || Number.MAX_SAFE_INTEGER;

		// Calculate the tallest item.
		tallest = minHeight;
		$( this ).each( function() {
			$( this ).outerHeight( 'auto' );
			if ( $( this ).outerHeight() > tallest ) {
				tallest = $( this ).outerHeight();
			}
		});

		// Get viewport width (taking scrollbars into account).
		e = window;
		a = 'inner';
		if ( ! ( 'innerWidth' in window ) ) {
			a = 'client';
			e = document.documentElement || document.body;
		}
		width = e[ a + 'Width' ];

		// Equalize heights if viewport width is above the breakpoint and below the max-breakpoint.
		if ( width >= breakPoint && width <= breakPointMax ) {
			if ( ( maxHeight ) && tallest > maxHeight ) {
				tallest = maxHeight;
			}
			return $( this ).each( function() {
				$( this ).outerHeight( tallest );
			});
		}
	}

	$.fn.equalHeight = function( selector, columns, min, max ) {
		selector = selector || '';
		columns = columns || 0;
		min = min || 0;
		max = max || Number.MAX_SAFE_INTEGER;

		$( window ).on( 'resize orientationchange equalheights', debounce( function() {
			let width = $( window ).width();
			if ( width >= min && width <= max ) {
				let start;
				let end;
				let $elements = $( selector );

				for ( start = 0, end = columns; end <= $elements.size(); start = end, end = end + columns ) {
					$elements.slice( start, end ).equalizeTheHeights();
				}
				$elements.slice( start, end ).equalizeTheHeights();
			}
		} ) );

		$( window ).trigger( 'equalheights' );
	}
})( jQuery );
// source --> https://ht-strafrecht.de/cms2021/wp-content/plugins/popups-for-divi/scripts/ie-compat.min.js?ver=3.2.5 
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";var e,t=[],r="ResizeObserver loop completed with undelivered notifications.";!function(e){e.BORDER_BOX="border-box",e.CONTENT_BOX="content-box",e.DEVICE_PIXEL_CONTENT_BOX="device-pixel-content-box"}(e||(e={}));var n,o,i,s,a,c=function(e){return Object.freeze(e)},u=function(e,t){this.inlineSize=e,this.blockSize=t,c(this)},h=function(){function e(e,t,r,n){return this.x=e,this.y=t,this.width=r,this.height=n,this.top=this.y,this.left=this.x,this.bottom=this.top+this.height,this.right=this.left+this.width,c(this)}return e.prototype.toJSON=function(){var e=this;return{x:e.x,y:e.y,top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height}},e.fromRect=function(t){return new e(t.x,t.y,t.width,t.height)},e}(),f=function(e){return e instanceof SVGElement&&"getBBox"in e},l=function(e){if(f(e)){var t=e.getBBox(),r=t.width,n=t.height;return!r&&!n}var o=e,i=o.offsetWidth,s=o.offsetHeight;return!(i||s||e.getClientRects().length)},d=function(e){var t,r;if(e instanceof Element)return!0;var n=null===(r=null===(t=e)||void 0===t?void 0:t.ownerDocument)||void 0===r?void 0:r.defaultView;return!!(n&&e instanceof n.Element)},p="undefined"!=typeof window?window:{},v=new WeakMap,g=/auto|scroll/,b=/^tb|vertical/,m=/msie|trident/i.test(p.navigator&&p.navigator.userAgent),y=function(e){return parseFloat(e||"0")},w=function(e,t,r){return void 0===e&&(e=0),void 0===t&&(t=0),void 0===r&&(r=!1),new u((r?t:e)||0,(r?e:t)||0)},E=c({devicePixelContentBoxSize:w(),borderBoxSize:w(),contentBoxSize:w(),contentRect:new h(0,0,0,0)}),S=function(e,t){if(void 0===t&&(t=!1),v.has(e)&&!t)return v.get(e);if(l(e))return v.set(e,E),E;var r=getComputedStyle(e),n=f(e)&&e.ownerSVGElement&&e.getBBox(),o=!m&&"border-box"===r.boxSizing,i=b.test(r.writingMode||""),s=!n&&g.test(r.overflowY||""),a=!n&&g.test(r.overflowX||""),u=n?0:y(r.paddingTop),d=n?0:y(r.paddingRight),p=n?0:y(r.paddingBottom),S=n?0:y(r.paddingLeft),x=n?0:y(r.borderTopWidth),T=n?0:y(r.borderRightWidth),z=n?0:y(r.borderBottomWidth),B=S+d,O=u+p,R=(n?0:y(r.borderLeftWidth))+T,M=x+z,A=a?e.offsetHeight-M-e.clientHeight:0,k=s?e.offsetWidth-R-e.clientWidth:0,C=o?B+R:0,N=o?O+M:0,D=n?n.width:y(r.width)-C-k,F=n?n.height:y(r.height)-N-A,P=D+B+k+R,_=F+O+A+M,j=c({devicePixelContentBoxSize:w(Math.round(D*devicePixelRatio),Math.round(F*devicePixelRatio),i),borderBoxSize:w(P,_,i),contentBoxSize:w(D,F,i),contentRect:new h(S,u,D,F)});return v.set(e,j),j},x=function(t,r,n){var o=S(t,n),i=o.borderBoxSize,s=o.contentBoxSize,a=o.devicePixelContentBoxSize;switch(r){case e.DEVICE_PIXEL_CONTENT_BOX:return a;case e.BORDER_BOX:return i;default:return s}},T=function(e){var t=S(e);this.target=e,this.contentRect=t.contentRect,this.borderBoxSize=c([t.borderBoxSize]),this.contentBoxSize=c([t.contentBoxSize]),this.devicePixelContentBoxSize=c([t.devicePixelContentBoxSize])},z=function(e){if(l(e))return 1/0;for(var t=0,r=e.parentNode;r;)t+=1,r=r.parentNode;return t},B=function(){var e=1/0,r=[];t.forEach((function(t){if(0!==t.activeTargets.length){var n=[];t.activeTargets.forEach((function(t){var r=new T(t.target),o=z(t.target);n.push(r),t.lastReportedSize=x(t.target,t.observedBox),o<e&&(e=o)})),r.push((function(){t.callback.call(t.observer,n,t.observer)})),t.activeTargets.splice(0,t.activeTargets.length)}}));for(var n=0,o=r;n<o.length;n++){(0,o[n])()}return e},O=function(e){t.forEach((function(t){t.activeTargets.splice(0,t.activeTargets.length),t.skippedTargets.splice(0,t.skippedTargets.length),t.observationTargets.forEach((function(r){r.isActive()&&(z(r.target)>e?t.activeTargets.push(r):t.skippedTargets.push(r))}))}))},R=function(){var e,n=0;for(O(n);t.some((function(e){return e.activeTargets.length>0}));)n=B(),O(n);return t.some((function(e){return e.skippedTargets.length>0}))&&("function"==typeof ErrorEvent?e=new ErrorEvent("error",{message:r}):((e=document.createEvent("Event")).initEvent("error",!1,!1),e.message=r),window.dispatchEvent(e)),n>0},M=[],A=function(e){if(!n){var t=0,r=document.createTextNode("");new MutationObserver((function(){return M.splice(0).forEach((function(e){return e()}))})).observe(r,{characterData:!0}),n=function(){r.textContent=""+(t?t--:t++)}}M.push(e),n()},k=0,C={attributes:!0,characterData:!0,childList:!0,subtree:!0},N=["resize","load","transitionend","animationend","animationstart","animationiteration","keyup","keydown","mouseup","mousedown","mouseover","mouseout","blur","focus"],D=function(e){return void 0===e&&(e=0),Date.now()+e},F=!1,P=new(function(){function e(){var e=this;this.stopped=!0,this.listener=function(){return e.schedule()}}return e.prototype.run=function(e){var t=this;if(void 0===e&&(e=250),!F){F=!0;var r,n=D(e);r=function(){var r=!1;try{r=R()}finally{if(F=!1,e=n-D(),!k)return;r?t.run(1e3):e>0?t.run(e):t.start()}},A((function(){requestAnimationFrame(r)}))}},e.prototype.schedule=function(){this.stop(),this.run()},e.prototype.observe=function(){var e=this,t=function(){return e.observer&&e.observer.observe(document.body,C)};document.body?t():p.addEventListener("DOMContentLoaded",t)},e.prototype.start=function(){var e=this;this.stopped&&(this.stopped=!1,this.observer=new MutationObserver(this.listener),this.observe(),N.forEach((function(t){return p.addEventListener(t,e.listener,!0)})))},e.prototype.stop=function(){var e=this;this.stopped||(this.observer&&this.observer.disconnect(),N.forEach((function(t){return p.removeEventListener(t,e.listener,!0)})),this.stopped=!0)},e}()),_=function(e){!k&&e>0&&P.start(),!(k+=e)&&P.stop()},j=function(){function t(t,r){this.target=t,this.observedBox=r||e.CONTENT_BOX,this.lastReportedSize={inlineSize:0,blockSize:0}}return t.prototype.isActive=function(){var e,t=x(this.target,this.observedBox,!0);return e=this.target,f(e)||function(e){switch(e.tagName){case"INPUT":if("image"!==e.type)break;case"VIDEO":case"AUDIO":case"EMBED":case"OBJECT":case"CANVAS":case"IFRAME":case"IMG":return!0}return!1}(e)||"inline"!==getComputedStyle(e).display||(this.lastReportedSize=t),this.lastReportedSize.inlineSize!==t.inlineSize||this.lastReportedSize.blockSize!==t.blockSize},t}(),I=function(e,t){this.activeTargets=[],this.skippedTargets=[],this.observationTargets=[],this.observer=e,this.callback=t},L=new WeakMap,W=function(e,t){for(var r=0;r<e.length;r+=1)if(e[r].target===t)return r;return-1},X=function(){function e(){}return e.connect=function(e,t){var r=new I(e,t);L.set(e,r)},e.observe=function(e,r,n){var o=L.get(e),i=0===o.observationTargets.length;W(o.observationTargets,r)<0&&(i&&t.push(o),o.observationTargets.push(new j(r,n&&n.box)),_(1),P.schedule())},e.unobserve=function(e,r){var n=L.get(e),o=W(n.observationTargets,r),i=1===n.observationTargets.length;o>=0&&(i&&t.splice(t.indexOf(n),1),n.observationTargets.splice(o,1),_(-1))},e.disconnect=function(e){var t=this,r=L.get(e);r.observationTargets.slice().forEach((function(r){return t.unobserve(e,r.target)})),r.activeTargets.splice(0,r.activeTargets.length)},e}(),V=function(){function e(e){if(0===arguments.length)throw new TypeError("Failed to construct 'ResizeObserver': 1 argument required, but only 0 present.");if("function"!=typeof e)throw new TypeError("Failed to construct 'ResizeObserver': The callback provided as parameter 1 is not a function.");X.connect(this,e)}return e.prototype.observe=function(e,t){if(0===arguments.length)throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!d(e))throw new TypeError("Failed to execute 'observe' on 'ResizeObserver': parameter 1 is not of type 'Element");X.observe(this,e,t)},e.prototype.unobserve=function(e){if(0===arguments.length)throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': 1 argument required, but only 0 present.");if(!d(e))throw new TypeError("Failed to execute 'unobserve' on 'ResizeObserver': parameter 1 is not of type 'Element");X.unobserve(this,e)},e.prototype.disconnect=function(){X.disconnect(this)},e.toString=function(){return"function ResizeObserver () { [polyfill code] }"},e}();Element.prototype.matches||(Element.prototype.matches=Element.prototype.matchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector||Element.prototype.webkitMatchesSelector||function(e){for(var t=(this.document||this.ownerDocument).querySelectorAll(e),r=t.length;--r>=0&&t.item(r)!==this;);return r>-1}),Array.from||(Array.from=(o=Object.prototype.toString,i=function(e){return"function"==typeof e||"[object Function]"===o.call(e)},s=Math.pow(2,53)-1,a=function(e){var t=function(e){var t=Number(e);return isNaN(t)?0:0!==t&&isFinite(t)?(t>0?1:-1)*Math.floor(Math.abs(t)):t}(e);return Math.min(Math.max(t,0),s)},function(e){var t=this,r=Object(e);if(null==e)throw new TypeError("Array.from requires an array-like object - not null or undefined");var n,o=arguments.length>1?arguments[1]:void 0;if(void 0!==o){if(!i(o))throw new TypeError("Array.from: when provided, the second argument must be a function");arguments.length>2&&(n=arguments[2])}for(var s,c=a(r.length),u=i(t)?Object(new t(c)):new Array(c),h=0;h<c;)s=r[h],u[h]=o?void 0===n?o(s,h):o.call(n,s,h):s,h+=1;return u.length=c,u})),function(){var e=Array.prototype.slice;try{e.call(document.documentElement)}catch(t){Array.prototype.slice=function(t,r){if(r=void 0!==r?r:this.length,"[object Array]"===Object.prototype.toString.call(this))return e.call(this,t,r);var n,o,i=[],s=this.length,a=t||0;a=a>=0?a:Math.max(0,s+a);var c="number"==typeof r?Math.min(r,s):s;if(r<0&&(c=s+r),(o=c-a)>0)if(i=new Array(o),this.charAt)for(n=0;n<o;n++)i[n]=this.charAt(a+n);else for(n=0;n<o;n++)i[n]=this[a+n];return i}}}(),window.ResizeObserver=V,String.prototype.padStart||Object.defineProperty(String.prototype,"padStart",{configurable:!0,writable:!0,value:function(e,t){return e>>=0,t=String(void 0!==t?t:" "),this.length>e?String(this):((e-=this.length)>t.length&&(t+=t.repeat(e/t.length)),t.slice(0,e)+String(this))}})}));