window.SiteOriginPremium=window.SiteOriginPremium||{},SiteOriginPremium.ImageOverlay=function(i,t,e){var o=jQuery;this.image=i,this.options=t,this.init=function(){this.imageContainer||(this.imageContainer=o(i).parent().closest("div"),this.createChildren(),this.addEventListeners()),setTimeout(this.layoutChildren.bind(this),150)},this.createChildren=function(){if(this.overlayContainer=o('<div class="so-premium-image-overlay-container"></div>'),this.overlay=o('<div class="so-premium-image-overlay"></div>'),this.overlayBackground=o('<div class="so-premium-image-overlay-background"></div>'),this.overlayBackground.css({backgroundColor:t.overlay_color,opacity:t.overlay_opacity}),this.overlay.append(this.overlayBackground),void 0===this.options.overlay_text)var i=this.image.title;else if("object"==typeof this.options.overlay_text)i=void 0===this.options.overlay_text[e]?this.image.title:this.options.overlay_text[e];else i=this.options.overlay_text;this.overlayText=o('<div class="so-premium-image-overlay-text">'+i+"</div>"),o(this.image).css("pointerEvents","none");var s={margin:"0",padding:this.options.text_padding};t.hasOwnProperty("font")&&t.font&&(s.fontFamily=t.font.family,t.font.hasOwnProperty("weight")&&(s.fontWeight=t.font.weight),t.font.hasOwnProperty("url")&&o("head").append('<link rel="stylesheet" media="all" href="'+t.font.url+'"/>')),t.hasOwnProperty("text_size")&&(s.fontSize=t.text_size),t.hasOwnProperty("text_color")&&(s.color=t.text_color),s.textAlign=t.text_align,this.overlayText.css(s),this.overlay.append(this.overlayText),this.overlay.css("opacity",0),this.overlayContainer.append(this.overlay),t.widget_id&&this.overlayContainer.addClass("so-premium-"+t.widget_id),this.overlayContainer.css({overflow:"hidden"}),this.imageContainer.find("> a").length?this.imageContainer.find("> a").append(this.overlayContainer):this.imageContainer.append(this.overlayContainer)},this.layoutChildren=function(){var i=o(this.image),e=this.imageContainer.position();e.width=Math.min(this.imageContainer.width(),i.width()),e.height=Math.min(this.imageContainer.height(),i.height());var s={top:Math.max(0,i.position().top)+"px",left:Math.max(0,i.position().left)+"px",width:e.width+"px",height:e.height+"px",maxWidth:this.imageContainer.css("maxWidth"),maxHeight:this.imageContainer.css("maxHeight")};this.overlayContainer.css(s),"boolean"==typeof this.options.responsive_breakpoint&&(this.options.responsive_breakpoint="1024px"),this.isDesktop=window.matchMedia("(min-width: "+this.options.responsive_breakpoint+")").matches;var a={top:0,left:0,width:e.width,height:e.height,maxWidth:i.css("maxWidth"),maxHeight:i.css("maxHeight")},n=this.options.overlay_size;switch(this.options.overlay_position){case"top":a.height=e.height*n;break;case"right":a.width=e.width*n,a.left=e.width-a.width;break;case"bottom":a.height=e.height*n,a.top=e.height-a.height;break;case"left":a.width=e.width*n}a.top+="px",a.width+="px",a.height+="px",a.left+="px",this.overlay.css(a);var r=this.overlay.outerHeight(),h=this.overlayText.outerHeight(),l={};switch(this.options.text_position){case"top":l.top=0;break;case"middle":l.top=.5*(r-h)+"px";break;case"bottom":l.top=r-h+"px"}if(this.overlayText.css(l),!this.options.overlay_animation_onscreen&&(this.isDesktop&&"always"===this.options.desktop_show_trigger||!this.isDesktop&&"always"===this.options.touch_show_trigger))this.overlay.css("opacity",1),this.overlayText.css("opacity",1);else if(this.options.overlay_animation&&"none"!==this.options.overlay_animation&&(this.animationTimeline=anime.timeline({autoplay:!1}),this.animationTimeline.add(this.getAnimationOptions(this.overlay.get(0),this.options.overlay_animation,{position:this.options.overlay_position}))),this.isDesktop?this.overlayText.css("opacity",1):this.options.text_animation&&"none"!==this.options.text_animation&&(this.animationTimeline||(this.animationTimeline=anime.timeline({autoplay:!1})),this.animationTimeline.add(this.getAnimationOptions(this.overlayText.get(0),this.options.text_animation))),this.isDesktop&&"hover_hide"===this.options.desktop_show_trigger&&(this.animationTimeline.play(),this.showOverlay(),this.overlay.css("opacity",1),this.overlayText.css("opacity",1),this.showingOverlay=!0,this.animationTimeline.completed=!0),"function"==typeof OnScreen&&this.options.overlay_animation_onscreen&&(this.isDesktop&&"always"===this.options.desktop_show_trigger||!this.isDesktop&&"always"===this.options.touch_show_trigger)){const i=document.querySelector(".so-premium-"+t.widget_id);var m=new IntersectionObserver((function(t){t&&t[0].isIntersecting&&(this.toggleOverlay(),m.unobserve(i))}),{threshold:.25});m.observe(i)}this.isDesktop?"hover"===this.options.desktop_show_trigger?(this.imageContainer.on("mouseenter",function(){this.showOverlay()}.bind(this)),this.imageContainer.on("mouseleave",function(){this.hideOverlay()}.bind(this))):"hover_hide"===this.options.desktop_show_trigger&&(this.imageContainer.on("mouseenter",function(){this.hideOverlay()}.bind(this)),this.imageContainer.on("mouseleave",function(){this.showOverlay()}.bind(this))):"touch"===this.options.touch_show_trigger&&this.imageContainer.on("touchend",function(){this.toggleOverlay()}.bind(this))},this.getAnimationOptions=function(i,t,e){var s={targets:i,changeBegin:function(){this.overlayContainer.css("overflow","hidden")}.bind(this)},a=o(i);switch(t){case"fade":s.easing="linear",s.duration=250,s.opacity=[0,1];break;case"slide":switch(s.easing="easeOutExpo",s.duration=500,a.css("opacity",1),e.hasOwnProperty("position")?e.position:"top"){case"top":s.translateY=[-a.outerHeight(),0];break;case"right":s.translateX=[a.parent().outerWidth(),0];break;case"bottom":s.translateY=[a.parent().outerHeight(),0];break;case"left":s.translateX=[-a.outerWidth(),0]}break;case"slide_left":s.easing="easeOutExpo",s.duration=500,s.opacity=[0,1],s.translateX=[20,0];break;case"slide_right":s.easing="easeOutExpo",s.duration=500,s.opacity=[0,1],s.translateX=[-20,0];break;case"slide_up":s.easing="easeOutExpo",s.duration=500,s.opacity=[0,1],s.translateY=[10,0];break;case"slide_down":s.easing="easeOutExpo",s.duration=500,s.opacity=[0,1],s.translateY=[-10,0];break;case"drop":s.easing="linear",s.duration=250,s.opacity=[0,1],s.scale=[1.1,1],s.changeBegin=function(){this.overlayContainer.css("overflow","visible")}.bind(this)}return s},this.addEventListeners=function(){this.imageContainer.is(".sow-masonry-grid-item,.sow-image-grid-image")&&this.imageContainer.closest(".sow-masonry-grid,.sow-image-grid-wrapper").on("layoutComplete",this.layoutChildren.bind(this)),o(window).on("resize",this.layoutChildren.bind(this))},this.showOverlay=function(){this.showingOverlay||(this.showingOverlay=!0,this.animationTimeline?("reverse"===this.animationTimeline.direction&&this.animationTimeline.reverse(),this.animationTimeline.began&&!this.animationTimeline.completed||this.animationTimeline.play()):this.overlay.css("opacity",1))},this.hideOverlay=function(){this.showingOverlay&&(this.showingOverlay=!1,this.animationTimeline?("normal"===this.animationTimeline.direction&&this.animationTimeline.reverse(),this.animationTimeline.completed&&(this.animationTimeline.completed=!1,this.animationTimeline.play())):this.overlay.css("opacity",0))},this.toggleOverlay=function(){if(this.animationTimeline)this.animationTimeline.began&&"normal"===this.animationTimeline.direction?this.hideOverlay():this.showOverlay();else{var i=1===this.overlay.css("opacity")?0:1;this.overlay.css("opacity",i)}},i.complete?this.init():(i.addEventListener("load",function(){this.init()}.bind(this)),i.addEventListener("error",(function(){console.log("Could not setup Image Overlay. Image loading failed.")})))},SiteOriginPremium.createImageOverlays=function(i){i(".so-widget-sow-image, .so-widget-sow-image-grid, .so-widget-sow-simple-masonry").each((function(t,e){var o=i(e);if(o.data("overlay-enabled")){var s=o.data("overlay-settings");i(e).find("img").each((function(t,e){e.title&&(e.classList.contains("jetpack-lazy-image")?i(e).on("jetpack-lazy-loaded-image",(function(i){new SiteOriginPremium.ImageOverlay(i.target,s,t)})):new SiteOriginPremium.ImageOverlay(e,s,t))}))}}))},jQuery((function(i){SiteOriginPremium.createImageOverlays(i),window.sowb&&i(window.sowb).on("setup_widgets",(function(){SiteOriginPremium.createImageOverlays(i)}))}));