<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">define(['jquery', 'blazy'], function($, Blazy) {

	Figures = {

		initialize: function() {
			Figures.lazyload();
			Figures.snapToEdge();
		},

		lazyload : function() {
			Figures.bLazy = new Blazy({
				offset: $(window).height() * 1.5,
				success: function(element){
					var $e = $(element);
					$e.addClass('visible');
					$e.parent().addClass('img-loaded');				
				}
			});
		},

		reloadBlazy : function() {
			Figures.bLazy.revalidate();
		},

		snapToEdge : function() {

			var setSize = function() {
				$('[data-snap-top-edge]').each(function() {
					var $el      = $(this),
						$parent  = $("body"),
						maxWidth = $el.data("snap-max-width") ? $el.data("snap-max-width") : false,
						ww       = $(window).width();

					// set parent if defined
					if( $el.data('snap-to') ) {
						$parent = $( $el.data('snap-to') );
					}

					if (ww &gt; maxWidth) {

						// get width from parent container
						offset = $el.parent().offset(); 
						
						// append additional padding of margin from parent element
						margins = parseInt( $el.parent().css('marginLeft') ) + parseInt( $el.parent().css('paddingLeft') );
							
						// // calculate left position
						left = (offset.left) * -1;
						
						// set position and width
						$el
							.width( $parent.outerWidth() )
							.css('margin-left', left)
							.css('margin-right', left)
							.css('position', 'relative');

					} else {
						// reset to initial values
						$el
							.css('width', 'auto' )
							.css('margin-left', 'inherit')
							.css('margin-right', 'inherit');
					}

				});
			};

			$(window).on("load resize scroll", function() {
				setSize();								
			});

		}

	}

	// return object method
	return Figures;

});</pre></body></html>