// source --> https://melrentmeister.de/wp-content/plugins/modula-best-grid-gallery/assets/js/front/jquery-modula.min.js?ver=2.14.31 
function modulaInViewport(t){"function"==typeof jQuery&&t instanceof jQuery&&(t=t[0]);var e=t.getBoundingClientRect(),i=jQuery(window).height();return e.top-i<=-100&&e.top-i>=-400||e.bottom<=i||e.top<i&&e.bottom>0}"undefined"!=typeof jQuery&&window.ModulaIsotope&&void 0===jQuery.fn.modulaisotope&&jQueryBridget("modulaisotope",window.ModulaIsotope,jQuery),window.modulacheckDevice=function(t){if(void 0!==t){var e=!0;return void 0!==t.lightbox_devices&&"both"!==t.lightbox_devices&&(e="mobile"==t.lightbox_devices?1024>jQuery(window).width():1024<jQuery(window).width()),e}return!1},jQuery(document).on("vc-full-width-row-single vc-full-width-row",(function(t,e){jQuery("body").find(".modula").length>0&&jQuery(window).trigger("modula-update")})),jQuery(window).on("elementor/frontend/init",(function(){window.elementorFrontend&&window.elementorFrontend.hooks.addAction("frontend/element_ready/global",(function(t){jQuery("body").find(".modula").length}))})),function(t,e,i,o){var a="modulaGallery",n={resizer:"/",keepArea:!0,type:"creative-gallery",columns:12,height:800,desktopHeight:800,mobileHeight:800,tabletHeight:800,gutter:10,desktopGutter:10,mobileGutter:10,tabletGutter:10,enableTwitter:!1,enableFacebook:!1,enableWhatsapp:!1,enablePinterest:!1,enableLinkedin:!1,enableEmail:!1,lazyLoad:0,initLightbox:!1,lightbox:"fancybox",lightboxOpts:{Toolbar:{parentEl:function(t){return t.instance.container.querySelector(".fancybox__col")}}},inView:!1,originLeft:!0};function s(e,i){this.element=e,this.$element=t(e),this.$itemsCnt=this.$element.find(".modula-items"),this.$items=this.$itemsCnt.find(".modula-item"),this.options=t.extend({},n,i),this._defaults=n,this._name=a,this.tiles=[],this.$tilesCnt=null,this.completed=!1,this.lastWidth=0,this.resizeTO=0,this.isIsotope=!1,this.isLazyLoaded=!0,this.init()}s.prototype.init=function(){var o=this,a=i.documentElement.clientWidth;let n,s;this.options.gutter=a<768?this.options.mobileGutter:a>=768&&a<=992?this.options.tabletGutter:this.options.desktopGutter,t(i).trigger("modula_api_before_init",[o]),"custom-grid"===this.options.type?this.createCustomGallery():"creative-gallery"==this.options.type?this.createGrid():"grid"==this.options.type&&("automatic"==this.options.grid_type?this.createAutoGrid():this.createColumnsGrid()),"custom-grid"===this.options.type&&t(e).height()<t("html").height()&&o.onResize(o),t(e).resize((function(){clearTimeout(n),n=setTimeout((function(){o.onResize(o)}),150)}));new ResizeObserver((t=>{clearTimeout(s),s=setTimeout((()=>{o.onResize(o)}),150)})).observe(o.$element[0]),t(e).on("modula-update",(function(){o.onResize(o)})),t(i).on("lazyloaded lazyload",(function(i){var a,n,s,r=t(i.target);"modula"!=r.data("source")&&"a3-lazyload"!=r.data("source")||(r.data("size",{width:r.width(),height:r.height()}),(a=r.parents(".modula-item")).addClass("tg-loaded"),(s=r.closest(".pic")).length&&"PICTURE"===s.prop("tagName")&&s.addClass("tg-loaded"),n=o.$items.not(".jtg-hidden").index(a),o.placeImage(n),o.isIsotope&&void 0!==o.$itemsCnt.data("modulaisotope")&&o.$itemsCnt.modulaisotope("layout"),"grid"==o.options.type&&void 0===e.elementorFrontend&&"automatic"==o.options.grid_type&&o.$itemsCnt.justifiedGallery())})),o.options.inView&&jQuery(e).on("DOMContentLoaded load resize scroll",(function(){modulaInViewport(o.$element)&&o.$element.addClass("modula-loaded-scale")})),this.setupSocial(),jQuery(o.$element).addClass("modula-gallery-initialized"),this.options.onComplete&&this.options.onComplete(),"fancybox"!=o.options.lightbox||o.options.initLightbox||this.initLightbox(),t(i).trigger("modula_api_after_init",[o]),setTimeout((()=>{i.dispatchEvent(new Event("modula_gallery_initialized",{detail:{instance:o}}))}),100)},s.prototype.initLightbox=function(){var e=this;if(e.$element.on("click",".modula-no-follow",(function(t){t.preventDefault()})),e.$element.on("click keypress",".modula-item-link:not( .modula-simple-link )",(function(i){if(13===i.which||"click"===i.type){i.preventDefault();var o=jQuery(this),a=t.map(e.$items,(function(t){if(jQuery(t).find(".modula-item-link:not( .modula-no-follow )").length>0){var e=jQuery(t).find(".modula-item-link:not( .modula-simple-link )"),i=jQuery(t).find(".pic");return{src:i.data("full"),opts:{$thumb:i.parents(".modula-item"),caption:e.data("caption"),alt:i.attr("alt"),image_id:e.attr("data-image-id"),title:i.attr("title")},current:jQuery(t).is(o.parents(".modula-item"))}}})),n=t.map(a,(function(t,e){if(t.current)return e}))[0];modulacheckDevice(e.options)&&jQuery.modulaFancybox.open(a,e.options.lightboxOpts,n)}})),e.options.copyCaptionMobile){var o,a=!1,n=e.element.id;i.addEventListener("touchend",(function(t){var e=t.target.closest(".fancybox__caption");e&&e.closest(".modula-lightbox-"+n)&&(t.preventDefault(),t.stopPropagation(),a?(clearTimeout(o),a=!1,function(t){var e=t.querySelector(".modula-caption-description"),o=e?e.textContent:t.textContent;if(o.trim())if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(o.trim()).catch((function(t){console.error("Could not copy text: ",t)}));else{var a=i.createElement("textarea");a.value=o.trim(),i.body.appendChild(a),a.select(),i.execCommand("copy"),i.body.removeChild(a)}}(e)):(a=!0,o=setTimeout((function(){a=!1}),400)))}),!0)}},s.prototype.trunc=function(t){return Math.trunc?Math.trunc(t):(t=+t,isFinite(t)?t-t%1||(t<0?-0:0===t?t:0):t)},s.prototype.createCustomGallery=function(){var e,o=this,a=this.$element.find(".modula-items").width(),n=this,s=this.options.columns,r=i.documentElement.clientWidth;"1"==this.options.enableResponsive&&(r<=568?s=this.options.mobileColumns:r<=768&&(s=this.options.tabletColumns)),e=this.options.gutter>0?(a-this.options.gutter*(s-1))/s:Math.floor(a/s*1e3)/1e3,this.$items.not(".jtg-hidden").each((function(i,a){var r,d,l,h,m={};r=t(a).data("width"),d=t(a).data("height"),r>12&&(r=12),"1"==n.options.enableResponsive&&(l=r,h=d,1==s?d=(r=1)*h/l:((r=Math.round(s*l/12))<1&&(r=1),(d=Math.round(r*h/l))<1&&(d=1))),m.width=e*r+n.options.gutter*(r-1),m.height=Math.round(e)*d+n.options.gutter*(d-1),t(a).data("size",m).addClass("tiled").addClass(m.width>m.height?"tile-h":"tile-v").data("position"),t(a).css(t(a).data("size")),t(a).find(".figc").css({width:t(a).data("size").width,height:t(a).data("size").height}),o.loadImage(i)}));var d={itemSelector:".modula-item",layoutMode:"packery",originLeft:n.options.originLeft,packery:{gutter:parseInt(n.options.gutter)}};this.$itemsCnt.modulaisotope(d),this.isIsotope=!0},s.prototype.createGrid=function(){var e=this,o=i.documentElement.clientWidth;e.options.height=o<=568?e.options.mobileHeight:o<=768?e.options.tabletHeight:e.options.desktopHeight,this.$itemsCnt.data("area",this.$itemsCnt.width()*this.options.height),this.lastWidth=this.$itemsCnt.width();for(var a=0;a<this.$items.not(".jtg-hidden").length;a++)this.tiles.push(e.getSlot());if(this.tiles.sort((function(t,e){return t.position-e.position})),this.$items.not(".jtg-hidden").each((function(i,o){var a=e.tiles[i];t(o).data("size",a),t(o).addClass("tiled").addClass(a.width>a.height?"tile-h":"tile-v").data("position"),t(o).css({width:a.width,height:a.height}),t(o).find(".figc").css({width:a.width,height:a.height}),e.loadImage(i)})),!this.isIsotope){var n={resizesContainer:!1,itemSelector:".modula-item",layoutMode:"packery",originLeft:e.options.originLeft,packery:{gutter:parseInt(e.options.gutter)}};this.$itemsCnt.modulaisotope(n),this.isIsotope=!0}},s.prototype.createAutoGrid=function(){this.$itemsCnt.justifiedGallery({rowHeight:this.options.rowHeight,margins:this.options.gutter,lastRow:this.options.lastRow,captions:!1,border:0,imgSelector:"img.pic, picture.pic img",cssAnimation:!0,imagesAnimationDuration:700})},s.prototype.createColumnsGrid=function(){var t=this;this.$itemsCnt.modulaisotope({itemSelector:".modula-item",layoutMode:"packery",originLeft:this.options.originLeft,packery:{gutter:parseInt(this.options.gutter)}}),this.$items.each((function(e,i){t.loadImage(e)})),this.isIsotope=!0},s.prototype.getSlot=function(){if(0==this.tiles.length)return i={top:0,left:0,width:this.$itemsCnt.width(),height:this.options.height,area:this.$itemsCnt.width()*this.options.height,position:0};for(var t=0,e=0;e<this.tiles.length;e++){(i=this.tiles[e]).area>this.tiles[t].area&&(t=e)}var i={},o=this.tiles[t];if(o.width>o.height){var a=o.width/2*this.options.randomFactor;o.prevWidth=o.width,o.width=Math.floor(o.width/2+a*(Math.random()-.5)),i={top:o.top,left:o.left+o.width+this.options.gutter,width:o.prevWidth-o.width-this.options.gutter,height:o.height}}else{a=o.height/2*this.options.randomFactor;o.prevHeight=o.height,o.height=Math.floor(o.height/2+a*(Math.random()-.5)),i={left:o.left,top:o.top+o.height+this.options.gutter,width:o.width,height:o.prevHeight-o.height-this.options.gutter}}return i.area=i.width*i.height,i.position=1e3*i.top+i.left,o.position=1e3*o.top+o.left,this.tiles[t]=o,this.tiles[t].area=o.width*o.height,i},s.prototype.reset=function(){var e=this;e.tiles=[],"custom-grid"===this.options.type?this.createCustomGallery():"creative-gallery"==this.options.type?this.createGrid():"grid"==this.options.type&&("automatic"==this.options.grid_type?this.createAutoGrid():this.createColumnsGrid()),e.lastWidth=e.$itemsCnt.width(),t(i).trigger("modula_api_reset",[e])},s.prototype.onResize=function(t){if(t.lastWidth!=t.$itemsCnt.width()){var e=i.documentElement.clientWidth;e<768?this.options.gutter=this.options.mobileGutter:t.options.gutter=e>=768&&e<=992?t.options.tabletGutter:this.options.desktopGutter,clearTimeout(t.resizeTO),t.resizeTO=setTimeout((function(){if(t.options.keepArea){var e=t.$itemsCnt.data("area");t.$itemsCnt.height(e/t.$itemsCnt.width())}t.reset(),t.isIsotope&&t.$itemsCnt.modulaisotope({packery:{originLeft:t.options.originLeft,gutter:parseInt(t.options.gutter)}}).modulaisotope("layout")}),100)}},s.prototype.loadImage=function(t){var e=this,i=e.$items.not(".jtg-hidden").eq(t).find(".pic"),o=i.is("img")?i:i.find("img"),a={};if("0"==e.options.lazyLoad){var n=new Image;n.onload=function(){a={width:this.width,height:this.height},o.data("size",a),e.placeImage(t)},"undefined"!=o.attr("src")?n.src=o.attr("src"):n.src=o.data("src")}else e.placeImage(t)},s.prototype.placeImage=function(t){if("grid"!=this.options.type){var e=this.$items.not(".jtg-hidden").eq(t),i=e.find(".pic"),o=i.is("img")?i:i.find("img"),a=e.data("size"),n=o.data("size");if(void 0!==a&&void 0!==n){a.width,a.height;var s=n.width/n.height,r=o.data("valign")?o.data("valign"):"middle",d=o.data("halign")?o.data("halign"):"center",l={top:"auto",bottom:"auto",left:"auto",right:"auto",width:"auto",height:"auto",margin:"0",maxWidth:"999em"};if(a.width*n.height/n.width>a.height)switch(l.width=a.width,l.left=0,r){case"top":l.top=0;break;case"middle":l.top=0-(a.width*(1/s)-a.height)/2;break;case"bottom":l.bottom=0}else switch(l.height=a.height,l.top=0,d){case"left":l.left=0;break;case"center":l.left=0-(a.height*s-a.width)/2;break;case"right":l.right=0}e.hasClass("effect-under")&&(l.top=l.top-e.find(".modula-item-content").height()),o.css(l),this.$items.not(".jtg-hidden").eq(t).addClass("tg-loaded"),"PICTURE"===o.parent().prop("tagName")&&o.parent().addClass("tg-loaded")}}},s.prototype.setupSocial=function(){(this.options.enableTwitter||this.options.enableFacebook||this.options.enablePinterest||this.options.enableLinkedin||this.options.enableWhatsapp||this.options.enableEmail)&&u(this.$items),this.options.enableTwitter&&r(this.$items,this),this.options.enableFacebook&&d(this.$items,this),this.options.enablePinterest&&h(this.$items,this),this.options.enableLinkedin&&m(this.$items,this),this.options.enableWhatsapp&&l(this.$items,this),this.options.enableEmail&&c(this.$items,this)},s.prototype.destroy=function(){this.isPackeryActive&&(this.$itemsCnt.packery("destroy"),this.isPackeryActive=!1)};var r=function(o,a){o.find(".modula-icon-twitter").click((function(o){o.preventDefault();let a=t(this),n=t(this).parents(".modula-item").find("img.pic"),s=(a.data("modula-image-src"),e.location.href),r=a.data("modula-item-id"),d=a.data("modula-gallery-id");var l=n.data("caption"),h=n.attr("title"),m=i.title;const c=new URL(s),u=new URLSearchParams(c.search);if(void 0!==d&&u.set("modula_gallery_id",encodeURIComponent(d)),void 0!==r&&u.set("modula_image_id",encodeURIComponent(r)),"object"==typeof modulaMetaVars&&0!==Object.keys(modulaMetaVars).length)for(const[t,e]of Object.entries(modulaMetaVars)){let t=a.data(e);void 0!==t&&u.set(e,t)}i.dispatchEvent(new CustomEvent("modula_social_url_params",{detail:{url:c,params:u,meta:modulaMetaVars}}));const p=c.origin+c.pathname+"?"+decodeURIComponent(u.toString());return h.length>0&&l.length>0?m=t.trim(h)+" - "+t.trim(l):h.length>0?m=t.trim(h):l.length>0&&(m=t.trim(l)),e.open("https://twitter.com/intent/tweet?url="+encodeURIComponent(p)+"&text="+encodeURI(m),"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1}))},d=function(o,a){o.find(".modula-icon-facebook").click((function(o){o.preventDefault();let a=t(this),n=(t(this).parents(".modula-item").find("img.pic"),a.data("modula-image-src"),e.location.href),s=a.data("modula-item-id"),r=a.data("modula-gallery-id");const d=new URL(n),l=new URLSearchParams(d.search);if(void 0!==r&&l.set("modula_gallery_id",encodeURIComponent(r)),void 0!==s&&l.set("modula_image_id",encodeURIComponent(s)),"object"==typeof modulaMetaVars&&0!==Object.keys(modulaMetaVars).length)for(const[t,e]of Object.entries(modulaMetaVars)){let t=a.data(e);void 0!==t&&l.set(e,t)}i.dispatchEvent(new CustomEvent("modula_social_url_params",{detail:{url:d,params:l,meta:modulaMetaVars}}));const h=d.origin+d.pathname+"?"+decodeURIComponent(l.toString());var m="//www.facebook.com/sharer.php?u="+encodeURIComponent(h);return e.open(m,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1}))},l=function(o,a){o.find(".modula-icon-whatsapp").click((function(o){o.preventDefault();let a=t(this),n=(t(this).parents(".modula-item").find("img.pic"),a.data("modula-image-src"),e.location.href),s=a.data("modula-item-id"),r=a.data("modula-gallery-id");const d=new URL(n),l=new URLSearchParams(d.search);if(void 0!==r&&l.set("modula_gallery_id",encodeURIComponent(r)),void 0!==s&&l.set("modula_image_id",encodeURIComponent(s)),"object"==typeof modulaMetaVars&&0!==Object.keys(modulaMetaVars).length)for(const[t,e]of Object.entries(modulaMetaVars)){let t=a.data(e);void 0!==t&&l.set(e,t)}i.dispatchEvent(new CustomEvent("modula_social_url_params",{detail:{url:d,params:l,meta:modulaMetaVars}}));const h=d.origin+d.pathname+"?"+decodeURIComponent(l.toString());return e.open("https://api.whatsapp.com/send?text="+encodeURIComponent(h)+"&preview_url=true","ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1}))},h=function(o,a){o.find(".modula-icon-pinterest").click((function(o){o.preventDefault();let a=t(this),n=t(this).parents(".modula-item").find("img.pic"),s=a.data("modula-image-src"),r=e.location.href,d=a.data("modula-item-id"),l=a.data("modula-gallery-id");var h=n.data("caption"),m=n.attr("title");const c=new URL(r),u=new URLSearchParams(c.search);if(void 0!==l&&u.set("modula_gallery_id",encodeURIComponent(l)),void 0!==d&&u.set("modula_image_id",encodeURIComponent(d)),"object"==typeof modulaMetaVars&&0!==Object.keys(modulaMetaVars).length)for(const[t,e]of Object.entries(modulaMetaVars)){let t=a.data(e);void 0!==t&&u.set(e,t)}i.dispatchEvent(new CustomEvent("modula_social_url_params",{detail:{url:c,params:u,meta:modulaMetaVars}}));const p=c.origin+c.pathname+"?"+decodeURIComponent(u.toString());var g=i.title;m.length>0?g=t.trim(m):h.length>0&&(g=t.trim(h));var f="http://pinterest.com/pin/create/button/?url="+encodeURIComponent(p)+"&description="+encodeURI(g);return void 0!==s&&s.length>0&&(f+="&media="+function(t){var e=i.createElement("img");return e.src=t,t=e.src,e.src=null,t}(s)),e.open(f,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1}))},m=function(o,a){o.find(".modula-icon-linkedin").click((function(o){o.preventDefault();let a=t(this),n=(t(this).parents(".modula-item").find("img.pic"),a.data("modula-image-src"),e.location.href),s=a.data("modula-item-id"),r=a.data("modula-gallery-id");const d=new URL(n),l=new URLSearchParams(d.search);if(void 0!==r&&l.set("modula_gallery_id",encodeURIComponent(r)),void 0!==s&&l.set("modula_image_id",encodeURIComponent(s)),"object"==typeof modulaMetaVars&&0!==Object.keys(modulaMetaVars).length)for(const[t,e]of Object.entries(modulaMetaVars)){let t=a.data(e);void 0!==t&&l.set(e,t)}i.dispatchEvent(new CustomEvent("modula_social_url_params",{detail:{url:d,params:l,meta:modulaMetaVars}}));const h=d.origin+d.pathname+"?"+decodeURIComponent(l.toString());var m="//linkedin.com/shareArticle?mini=true&url="+encodeURIComponent(h);return e.open(m,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1}))},c=function(o,a){o.find(".modula-icon-email").click((function(o){var n=a.options.email_subject;let s=t(this),r=(t(this).parents(".modula-item").find("img.pic"),s.data("modula-image-src")),d=e.location.href,l=s.data("modula-item-id"),h=s.data("modula-gallery-id");const m=new URL(d),c=new URLSearchParams(m.search);if(void 0!==h&&c.set("modula_gallery_id",encodeURIComponent(h)),void 0!==l&&c.set("modula_image_id",encodeURIComponent(l)),"object"==typeof modulaMetaVars&&0!==Object.keys(modulaMetaVars).length)for(const[t,e]of Object.entries(modulaMetaVars)){let t=s.data(e);void 0!==t&&c.set(e,t)}i.dispatchEvent(new CustomEvent("modula_social_url_params",{detail:{url:m,params:c,meta:modulaMetaVars}}));const u=m.origin+m.pathname+"?"+decodeURIComponent(c.toString());var p=a.options.email_message.replace("%%image_link%%",r).replace("%%gallery_link%%",u),g="mailto:?subject="+encodeURIComponent(n)+"&body="+encodeURIComponent(p);return e.open(g,"ftgw","location=1,status=1,scrollbars=1,width=600,height=400").moveTo(screen.width/2-300,screen.height/2-200),!1}))},u=function(e){e.find(".jtg-social-expandable").on("click",(function(i){i.preventDefault(),i.stopPropagation();var o=t(this).parent().children(".jtg-social-expandable-icons");e.find(".jtg-social-expandable-icons").not(o).removeClass("modula-show-socials"),o.toggleClass("modula-show-socials"),o.hasClass("modula-show-socials")&&p(o)?o.addClass("modula-socials-right"):o.removeClass("modula-socials-right")}))},p=function(t){var o=t[0].getBoundingClientRect(),a=e.innerWidth||i.documentElement.clientWidth;return o.left<0||o.right>a};t.fn[a]=function(e){var i,n=arguments;return e===o||"object"==typeof e?this.each((function(){t.data(this,"plugin_"+a)||t.data(this,"plugin_"+a,new s(this,e))})):"string"==typeof e&&"_"!==e[0]&&"init"!==e?(this.each((function(){var o=t.data(this,"plugin_"+a);o instanceof s&&"function"==typeof o[e]&&(i=o[e].apply(o,Array.prototype.slice.call(n,1))),"destroy"===e&&t.data(this,"plugin_"+a,null)})),i!==o?i:this):void 0}}(jQuery,window,document),jQuery(document).ready((function(){var t=jQuery(".modula.modula-gallery");jQuery("body").hasClass("modula-best-grid-gallery")||jQuery("body").addClass("modula-best-grid-gallery"),jQuery.each(t,(function(){var t=jQuery(this).data("config");jQuery(this).modulaGallery(t)}))})),jQuery(document).on("elementor/popup/show",((t,e,i)=>{var o=jQuery("#elementor-popup-modal-"+e).find(".modula.modula-gallery");jQuery("body").hasClass("modula-best-grid-gallery")||jQuery("body").addClass("modula-best-grid-gallery"),jQuery.each(o,(function(){var t=jQuery(this).data("config");jQuery(this).modulaGallery(t)}))}));
// source --> https://melrentmeister.de/wp-content/plugins/modula/assets/js/misc/modula-pro.js?ver=2.10.17 
(()=>{"use strict";void 0===window.modulacheckDevice&&(window.modulacheckDevice=function(t){if(void 0!==t){var e=!0;return void 0!==t.lightbox_devices&&"both"!==t.lightbox_devices&&(e="mobile"==t.lightbox_devices?1024>jQuery(window).width():1024<jQuery(window).width()),e}return!1}),function(t){function e(t){this.instance=t,this.filter="*",this.instance.hiddenItems=t.$element.find(".hidden-items .modula-hidden-item:not(.modula-pre-hidden-item)"),this.instance.preHiddenItems=t.$element.find(".hidden-items .modula-hidden-item.modula-pre-hidden-item"),this.instance.options.haveFilters&&this.initFilters(),"fancybox"==this.instance.options.lightbox&&this.initLightbox()}e.prototype.initLightbox=function(){var e,i,o,n=this,a=n.instance,l=!1,d=!1;if(a.$element.on("click",".modula-item-link:not( .modula-simple-link )",(function(e){e.preventDefault();var l=[],s=[];a.preHiddenItems.length>0&&(s=jQuery.map(a.preHiddenItems.filter(n.filter),(function(t){var e=jQuery(t);if(void 0===(i=e.data("full")))var i=e.attr("href");const o={src:i,opts:{caption:e.data("caption"),alt:"",thumb:e.attr("data-thumb"),image_id:e.attr("data-image-id"),image_src:e.data("full")}};return void 0!==e.data("download-filename")&&""!==e.data("download-filename")&&(o.downloadFilename=e.data("download-filename")),o})));var r=a.$items.filter(n.filter).find(".modula-item-link").filter(":not( .modula-simple-link )").closest(".modula-item"),u=jQuery.map(r,(function(t){var e=jQuery(t).find(".modula-item-link"),i=jQuery(t).find(".pic");if(void 0===(o=i.data("full")))var o=i.attr("src");const n={src:o,opts:{$thumb:i.parents(".modula-item"),caption:e.data("caption"),alt:i.attr("alt"),thumb:e.attr("data-thumb"),image_id:e.attr("data-image-id"),image_src:i.data("src")}};return void 0!==i.data("download-filename")&&""!==i.data("download-filename")&&(n.downloadFilename=i.data("download-filename")),n})),m=t(this).parent().find(".pic");a.hiddenItems.length>0&&(l=jQuery.map(a.hiddenItems.filter(n.filter),(function(t){var e=jQuery(t);if(void 0===(i=e.data("full")))var i=e.attr("href");const o={src:i,opts:{caption:e.data("caption"),alt:"",thumb:e.attr("data-thumb"),image_id:e.attr("data-image-id"),image_src:e.data("full")}};return void 0!==e.data("download-filename")&&""!==e.data("download-filename")&&(o.downloadFilename=e.data("download-filename")),o}))),u=(u=s.concat(u)).concat(l);var c=r.index(jQuery(this).parents(".modula-item"))+s.length;a.options.lightboxOpts.beforeLoad=function(){jQuery(document).trigger("modula_fancybox_lightbox_before_load",[a,this])},a.options.lightboxOpts.afterLoad=function(){jQuery(document).trigger("modula_fancybox_lightbox_after_load",[a,this])},a.options.lightboxOpts.beforeShow=function(){jQuery(document).trigger("modula_fancybox_lightbox_before_show",[a,this])},a.options.lightboxOpts.afterShow=function(){jQuery(document).trigger("modula_fancybox_lightbox_after_show",[a,this])},a.options.lightboxOpts.beforeClose=function(){jQuery(document).trigger("modula_fancybox_lightbox_before_close",[a,this])},a.options.lightboxOpts.afterClose=function(){jQuery(document).trigger("modula_fancybox_lightbox_after_close",[a,this])},a.options.lightboxOpts.onInit=function(){jQuery(document).trigger("modula_fancybox_lightbox_on_init",[a,this])},a.options.lightboxOpts.onActivate=function(){jQuery(document).trigger("modula_fancybox_lightbox_on_activate",[a,this])},a.options.lightboxOpts.onDeactivate=function(){jQuery(document).trigger("modula_fancybox_lightbox_on_deactivate",[a,this])},modulacheckDevice(a.options)&&(a.options.mobileDoubleClick&&1024>t(window).width()?(d?(clearTimeout(i),d=!1,o&&o.is(m)&&jQuery.modulaFancybox.open(u,a.options.lightboxOpts,c)):(d=!0,i=setTimeout((function(){d=!1}),300)),o=m):jQuery.modulaFancybox.open(u,a.options.lightboxOpts,c))})),a.$element.on("click",".modula-simple-link",(function(e){var n=t(this).attr("href"),l=t(this).parent().find(".pic");void 0!==n&&a.options.mobileDoubleClick&&1024>t(window).width()&&(d?(clearTimeout(i),d=!1,o&&o.is(l)&&(window.location.href=n)):(e.preventDefault(),d=!0,i=setTimeout((function(){d=!1}),300)),o=l)})),a.options.copyCaptionMobile){var s=a.element.id;document.addEventListener("touchend",(function(t){var i=t.target.closest(".fancybox__caption");i&&i.closest(".modula-lightbox-"+s)&&(t.preventDefault(),t.stopPropagation(),l?(clearTimeout(e),l=!1,function(t){var e=t.querySelector(".modula-caption-description"),i=e?e.textContent:t.textContent;if(i.trim())if(navigator.clipboard&&navigator.clipboard.writeText)navigator.clipboard.writeText(i.trim()).catch((function(t){console.error("Could not copy text: ",t)}));else{var o=document.createElement("textarea");o.value=i.trim(),document.body.appendChild(o),o.select(),document.execCommand("copy"),document.body.removeChild(o)}}(i)):(l=!0,e=setTimeout((function(){l=!1}),400)))}),!0)}},e.prototype.initFilters=function(){var e=this,i=e.instance;void 0!==i.options.defaultActiveFilter&&("All"==i.options.defaultActiveFilter?e.filter="*":e.filter=".jtg-filter-"+i.options.defaultActiveFilter);var o=decodeURIComponent((new RegExp("[?|&]jtg-filter=([^&;]+?)(&|#|;|$)").exec(location.search)||[,""])[1].replace(/\+/g,"%20"))||!1;if(o&&(e.filter=".jtg-filter-"+o),"1"==i.options.dropdownFilters?i.$element.on("change",".filters",(function(t){if(!jQuery(this).hasClass("modula_menu__item--current"))if(e.filter=".jtg-filter-"+this.value,i.$element.find(".filters .modula_menu__item--current").removeClass("modula_menu__item--current"),i.$element.find(".filters option[value='"+this.value+"']").addClass("modula_menu__item--current").prop("selected","selected"),i.isIsotope){var o="custom-grid"==i.options.type,n=o?i.$itemsCnt.data("modulaisotope"):null,a=o?n.options.transitionDuration:null;if(o&&n.option({transitionDuration:0}),i.$items.removeClass("jtg-hidden"),i.$items.not(e.filter).addClass("jtg-hidden"),i.reset(),i.$itemsCnt.modulaisotope({filter:e.filter}).modulaisotope("layout"),"creative-gallery"==i.options.type&&i.$items.not(".jtg-hidden").each((function(t,e){i.placeImage(t)})),o){var l=i.$element.find(".modula-items").width(),d=i.options.columns,s=document.documentElement.clientWidth;"1"==i.options.enableResponsive&&(s<=568?d=i.options.mobileColumns:s<=768&&(d=i.options.tabletColumns)),i.options.gutter>0?i.options.gutter:Math.floor(l/d*1e3),i.$items.not(".jtg-hidden").each((function(t,e){i.placeImage(t)})),n.option({transitionDuration:a})}}else i.$itemsCnt.justifiedGallery({filter:e.filter})})):i.$element.on("click",".filters a",(function(o){if("0"!=i.options.filterClick)return!0;if(o.preventDefault(),!jQuery(this).parent().hasClass("modula_menu__item--current"))if(e.filter=".jtg-filter-"+jQuery(this).data("filter"),i.$element.find(".filters .modula_menu__item--current").removeClass("modula_menu__item--current"),i.$element.find(".filters a[data-filter='"+jQuery(this).attr("data-filter")+"']").parent().addClass("modula_menu__item--current"),i.isIsotope){var n="custom-grid"==i.options.type,a=n?i.$itemsCnt.data("modulaisotope"):null,l=n?a.options.transitionDuration:null;if(n&&a.option({transitionDuration:0}),i.$items.removeClass("jtg-hidden"),i.$items.not(e.filter).addClass("jtg-hidden"),i.reset(),i.$itemsCnt.modulaisotope({filter:e.filter}).modulaisotope("layout"),"creative-gallery"==i.options.type&&i.$items.not(".jtg-hidden").each((function(e,o){var n=i.tiles[e];t(o).data("size",n),t(o).addClass("tiled").addClass(n.width>n.height?"tile-h":"tile-v").data("position"),t(o).css({width:n.width,height:n.height}),t(o).find(".figc").css({width:n.width,height:n.height}),i.loadImage(e)})),"custom-grid"==i.options.type){var d,s=i.$element.find(".modula-items").width(),r=i.options.columns,u=document.documentElement.clientWidth;"1"==i.options.enableResponsive&&(u<=568?r=i.options.mobileColumns:u<=768&&(r=i.options.tabletColumns)),d=i.options.gutter>0?(s-i.options.gutter*(r-1))/r:Math.floor(s/r*1e3)/1e3,i.$items.not(".jtg-hidden").each((function(e,o){var n,a,l,s,u={};n=t(o).data("width"),a=t(o).data("height"),n>12&&(n=12),"1"==i.options.enableResponsive&&(l=n,s=a,1==r?a=(n=1)*s/l:((n=Math.round(r*l/12))<1&&(n=1),(a=Math.round(n*s/l))<1&&(a=1))),u.width=d*n+i.options.gutter*(n-1),u.height=Math.round(d)*a+i.options.gutter*(a-1),t(o).data("size",u).addClass("tiled").addClass(u.width>u.height?"tile-h":"tile-v").data("position"),t(o).css(t(o).data("size")),t(o).find(".figc").css({width:t(o).data("size").width,height:t(o).data("size").height}),i.loadImage(e)})),a.option({transitionDuration:l})}}else i.$itemsCnt.justifiedGallery({filter:e.filter})})),i.$element.find(".filter-by-wrapper").click((function(){var t=jQuery(this);i.$element.find(".filters").hasClass("active")?(i.$element.find(".filters").hide(600).removeClass("active"),t.removeClass("opened")):(i.$element.find(".filters").show(600).addClass("active"),t.addClass("opened"))})),"*"!=e.filter&&""!=e.filter)if(i.isIsotope){var n="custom-grid"==i.options.type,a=n?i.$itemsCnt.data("modulaisotope"):null,l=n?a.options.transitionDuration:null;n&&a.option({transitionDuration:0}),i.$items.removeClass("jtg-hidden"),i.$items.not(e.filter).addClass("jtg-hidden"),i.reset(),i.$itemsCnt.modulaisotope({filter:e.filter}),n&&a.option({transitionDuration:l})}else i.$itemsCnt.justifiedGallery({filter:e.filter})},t(document).on("modula_api_after_init",(function(t,i){new e(i)}))}(jQuery)})();
// source --> https://melrentmeister.de/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-wpforms-063cb453c64ecfd3dafe.js 
(()=>{"use strict";function e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function t(e,t,r){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function r(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function n(e,t){if(e){if("string"==typeof e)return i(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function o(e){if(Array.isArray(e))return e}const l="email",a="phone",u="name",c={[l]:["email","e-mail","mail","email address"],[a]:["phone","tel","mobile","cell","telephone","phone number"],[u]:["name","full-name","full name","full_name","fullname","first-name","first name","first_name","firstname","last-name","last name","last_name","lastname","given-name","given name","given_name","givenname","family-name","family name","family_name","familyname","fname","lname","first","last","your-name","your name"]};function f(e){return e&&"string"==typeof e?e.trim().toLowerCase():""}function s(e){const t=f(e),r=t.lastIndexOf("@");if(-1===r)return t;const n=t.slice(r+1);if(["gmail.com","googlemail.com"].includes(n)){const e=t.slice(0,r).replace(/\./g,"");return"".concat(e,"@").concat(n)}return t}function m(e){const t=f(e),r=t.replace(/\D/g,"");return t.startsWith("+")?"+".concat(r):r}function y(l){const a=l.filter(e=>e.type===u).map(e=>f(e.value)).filter(Boolean);if(!a.length)return;const c=o(y=1===a.length?a[0].split(" "):a)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(y)||n(y)||r(),s=c[0],m=i(c).slice(1);var y;return function(r){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?e(Object(i),!0).forEach(function(e){t(r,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(i)):e(Object(i)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(i,e))})}return r}({first_name:s},(null==m?void 0:m.length)>0?{last_name:m.join(" ")}:{})}function v(e){var t;return null===(t=e.find(e=>e.type===l))||void 0===t?void 0:t.value}function p(e){var t;return null===(t=e.find(e=>e.type===a))||void 0===t?void 0:t.value}function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function b(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?b(Object(r),!0).forEach(function(t){h(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function h(e,t,r){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var O;(O=globalThis.jQuery)&&O(globalThis.document.body).on("wpformsAjaxSubmitSuccess",e=>{var t,i,b,h;const O=(null===(t=globalThis._googlesitekit)||void 0===t?void 0:t.gtagUserData)?function(e){if(!(e&&e instanceof HTMLFormElement))return;const t=new FormData(e);return function(e){const t=[["address",y(e)],["email",v(e)],["phone_number",p(e)]].filter(e=>{return(t=e,i=2,o(t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(t,i)||n(t,i)||r())[1];var t,i});if(0!==t.length)return Object.fromEntries(t)}(Array.from(t.entries()).map(t=>{var r,n,i,o,y,v;let p=(j=2,function(e){if(Array.isArray(e))return e}(O=t)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,i,o,l,a=[],u=!0,c=!1;try{if(o=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(a.push(n.value),a.length!==t);u=!0);}catch(e){c=!0,i=e}finally{try{if(!u&&null!=r.return&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw i}}return a}}(O,j)||function(e,t){if(e){if("string"==typeof e)return d(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(e,t):void 0}}(O,j)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),b=p[0],g=p[1],h=e.querySelector("[name='".concat(b,"']"));var O,j;"hidden"===(null===(r=h)||void 0===r?void 0:r.type)&&"hidden"!==(null===(n=h)||void 0===n||null===(n=n.previousSibling)||void 0===n?void 0:n.type)&&(h=h.previousSibling);const w=null===(i=h)||void 0===i?void 0:i.type;return"hidden"===w||"submit"===w?null:function(e){let t=e||{},r=t.type,n=t.name,i=t.value,o=t.label;switch(r=f(r),n=f(n),i=f(i),o=function(e){return e&&"string"==typeof e?e.trim().toLowerCase().replace(/\s*\*+\s*$/,"").replace(/\s*\(required\)\s*$/i,"").replace(/\s*:\s*$/,"").trim():""}(o),r){case"email":return{type:l,value:s(i)};case"tel":return{type:a,value:m(i)}}return function(e){if(!e)return!1;const t=s(e);return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(t)}(i)||c[l].includes(n)||c[l].includes(o)?{type:l,value:s(i)}:c[a].includes(n)||c[a].includes(o)?{type:a,value:m(i)}:c[u].includes(n)||c[u].includes(o)?{type:u,value:f(i)}:function(e){if(!e)return!1;if(!function(e){const t=e.replace(/\D/g,"");return!(t.length<7||t.length<e.length/2)&&/^[\s\-()+.\d]*$/.test(e)}(e))return!1;const t=m(e);if(!/^\+?\d{7,}$/.test(t))return!1;const r=/[\s\-()+.]/.test(e),n=e.trim().startsWith("+");return!(!r&&!n)}(i)?{type:a,value:m(i)}:null}({type:w,label:null!==(o=h)&&void 0!==o&&o.id?null===(y=e.querySelector("label[for='".concat(null===(v=h)||void 0===v?void 0:v.id,"']")))||void 0===y?void 0:y.textContent:void 0,name:b,value:g})}).filter(Boolean))}(e.target):null,j=null===(i=e.target)||void 0===i||null===(i=i.dataset)||void 0===i?void 0:i.formid;null===(b=globalThis._googlesitekit)||void 0===b||null===(h=b.gtagEvent)||void 0===h||h.call(b,"submit_lead_form",g(g({googlesitekit_event_provider:"wpforms"},j?{googlesitekit_form_id:String(j)}:{}),O?{user_data:O}:{}))})})();
// source --> https://melrentmeister.de/wp-content/plugins/modula/includes/extensions/video/assets/js/fancybox-modula-video.js?ver=2.10.17 
jQuery( document ).on(
	'modula_fancybox_lightbox_after_show',
	function ( e, obj, instance, current ) {
		const video_src = instance.src;

		if (
			'undefined' !== typeof video_src &&
			video_src.indexOf( '.mov' ) > 0
		) {
			instance.type = 'html';
			instance.contentType = 'html';
			instance.$content.html(
				'<object  pluginspage="http://www.apple.com/quicktime/download" data="' +
					video_src +
					'" type="video/quicktime"><param name="autoplay" value="true"><param name="scale" value="tofit"><param name="controller" value="true"><param name="enablejavascript" value="true"><param name="src" value="' +
					video_src +
					'"><param name="loop" value="false"></object>'
			);
			instance.$slide.addClass( 'modula-mov-object' );
		}
	}
);

jQuery( document ).on(
	'modula_fancybox_lightbox_on_init',
	function ( e, fancybox ) {
		const slides = fancybox.userSlides;

		jQuery.each( slides, function ( index, slide ) {
			var img,
				ratio = false,
				autoplay = false;

			if (
				slide.opts.hasOwnProperty( '$thumb' ) &&
				typeof slide.opts.$thumb !== 'string'
			) {
				var img = slide.opts.$thumb.find( '.pic' ),
					ratio =
						'undefined' !== typeof img.data( 'ratio' )
							? img.data( 'ratio' )
							: false,
					autoplay =
						'undefined' !== typeof img.data( 'autolight' )
							? img.data( 'autolight' )
							: false;
			}

			if ( ratio ) {
				fancybox.userSlides[ index ].videoRatio = parseFloat( ratio );
			}
			if ( autoplay ) {
				fancybox.userSlides[ index ].videoAutoplay = autoplay;
			}
		} );
	}
);

// Add loop to video elements
jQuery( document ).on( 'modula_fancybox_done', function ( e, fancybox ) {
	if ( undefined === fancybox ) {
		return;
	}

	const slide = fancybox.getSlide();
	var video = jQuery( slide.el ).find( '.modula_html5_video' ),
		loop = false;

	if (
		slide.opts.hasOwnProperty( '$thumb' ) &&
		typeof slide.opts.$thumb !== 'string'
	) {
		var img = slide.opts.$thumb.find( '.pic' ),
			loop =
				'undefined' !== typeof img.data( 'loop' )
					? img.data( 'loop' )
					: false;
	}

	if ( loop ) {
		video.attr( 'loop', 'loop' );
	}
} );

( function ( $ ) {
	window.modulaVideoWatchtime = [];

	$( '.modula-slider' ).on(
		'afterChange init',
		'.modula-items.slick-slider',
		function ( event, slick ) {
			const slides = slick.$slides;

			$.each( slides, function ( index, value ) {
				const initial = slides[ index ],
					initial_player = $( initial ).find(
						'.modula_video_preview_element'
					)[ 0 ],
					icon = $( initial ).find( '.modula-video-icon' ),
					iframe = $( initial ).find(
						'.modula-video-content iframe'
					);

				if ( $( value ).hasClass( 'slick-active' ) ) {
					// Start the player(s) on swipe/next
					if ( 'undefined' !== typeof initial_player ) {
						if ( modulaVideoPreview.duration > 0 ) {
							if (
								'undefined' !==
								typeof window.modulaVideoWatchtime[ index ]
							) {
								clearInterval(
									window.modulaVideoWatchtime[ index ]
								);
							}

							// Track Watchtime
							window.modulaVideoWatchtime[ index ] = setInterval(
								async function () {
									initial_player.load();
									// Wait for Vimeo play now to prevent interruption by calls to pause
									await initial_player.play();
								},
								modulaVideoPreview.duration * 1000
							);
						}
						if (
							'undefined' !==
								typeof $( initial_player ).data(
									'autothumb'
								) &&
							'1' == $( initial_player ).data( 'autothumb' )
						) {
							icon.hide();
							initial_player.play();
						}
					}
				} else {
					// Stop the previous playing video in slider.
					if ( 'undefined' !== typeof iframe ) {
						iframe.attr( 'src', iframe.attr( 'src' ) );
					}

					// Stop the previous player
					if ( 'undefined' !== typeof initial_player ) {
						clearInterval( window.modulaVideoWatchtime[ index ] );
						// Resets video element & it's poster if any.
						initial_player.load();
						initial_player.pause();
					}
				}
			} );
		}
	);
} )( jQuery );