// source --> https://avezac-monvillage.com/wp-content/plugins/responsive-lightbox/js/front.js?ver=2.4.1 
( function( $ ) {

	// parse query string
	var parseQueryString = function( name, str ) {
		var regex = new RegExp( '[?&]' + name.replace( /[\[\]]/g, '\\$&' ) + '(=([^&#]*)|&|#|$)' );
		var results = regex.exec( '&' + str );

		return ( ! results || ! results[2] ? '' : decodeURIComponent( results[2].replace( /\+/g, ' ' ) ) );
	}

	// observe DOM changes
	var observeContentChanges = function( el, onlyAdded, callback ) {
		if ( typeof MutationObserver !== 'undefined' ) {
			// define a new observer
			var observer = new MutationObserver( function( mutations, observer ) {
				if ( onlyAdded ) {
					if ( mutations[0].addedNodes.length )
						callback();
				} else {
					if ( mutations[0].addedNodes.length || mutations[0].removedNodes.length )
						callback();
				}
			} );

			// have the observer observe for changes in children
			observer.observe( el, { childList: true, subtree: true } );
		}
	};

	// ready event
	$( function() {
		initPlugin();
	} );

	// custom events trigger
	$( document ).on( rlArgs.customEvents, function() {
		initPlugin();
	} );

	function initPlugin() {
		var containers = [];

		// check for infinite galleries
		$( '.rl-gallery-container' ).each( function() {
			var container = $( this );

			// is it ifinite scroll gallery?
			if ( container.hasClass( 'rl-pagination-infinite' ) )
				containers.push( container );
			// remove loading class
			else
				container.removeClass( 'rl-loading' );
		} );

		// any infinite galleries?
		if ( containers.length > 0 ) {
			for ( var i = 0; i < containers.length; i++ ) {
				var container = containers[i];
				var gallery = container.find( '.rl-gallery' );
				var galleryId = parseInt( container.data( 'gallery_id' ) );
				var galleryScrollType = container.find( '.rl-pagination-bottom' ).data( 'button' );
				var galleryButton = typeof galleryScrollType !== 'undefined' && galleryScrollType === 'manually';

				// initialize infinite scroll
				gallery.infiniteScroll( {
					path: '.rl-gallery-container[data-gallery_id="' + galleryId + '"] .rl-pagination-bottom .next',
					append: '.rl-gallery-container[data-gallery_id="' + galleryId + '"] .rl-gallery-item',
					status: false,
					hideNav: '.rl-gallery-container[data-gallery_id="' + galleryId + '"] .rl-pagination-bottom',
					prefill: ! galleryButton,
					loadOnScroll: true,
					scrollThreshold: galleryButton ? false : 400,
					button: galleryButton ? '.rl-gallery-container[data-gallery_id="' + galleryId + '"] .rl-load-more' : false,
					debug: true,
					history: false,
					responseBody: 'text',
					onInit: function() {
						// infinite with button?
						if ( container.hasClass( 'rl-pagination-infinite' ) && galleryButton ) {
							// remove loading class
							container.removeClass( 'rl-loading' );
						}

						// store gallery ID for append event
						var _galleryId = galleryId;

						// request event
						this.on( 'request', function() {
							// add loading class
							container.addClass( 'rl-loading' );
						} );

						// append event
						this.on( 'append', function( body, path, items, response ) {
							// remove loading class
							container.removeClass( 'rl-loading' );

							$.event.trigger( {
								type: 'doResponsiveLightbox',
								script: rlArgs.script,
								selector: rlArgs.selector,
								args: rlArgs,
								pagination_type: 'infinite',
								gallery_id: _galleryId,
								masonry: gallery.hasClass( 'rl-masonry-gallery' ) || gallery.hasClass( 'rl-basicmasonry-gallery' ),
								infinite: {
									gallery: gallery,
									body: body,
									items: items,
									response: response
								}
							} );
						} );
					}
				} );
			}
		}

		// initialize event
		$.event.trigger( {
			type: 'doResponsiveLightbox',
			script: rlArgs.script,
			selector: rlArgs.selector,
			args: rlArgs
		} );
	}

	// pagination
	$( document ).on( 'click', '.rl-pagination a.page-numbers', function( e ) {
		var link = $( this );
		var container = link.closest( '.rl-gallery-container' );

		// ajax type pagination?
		if ( container.hasClass( 'rl-pagination-ajax' ) ) {
			e.preventDefault();
			e.stopPropagation();

			var galleryId = container.data( 'gallery_id' );
			var galleryNo = container.find( '.rl-gallery' ).data( 'gallery_no' );

			// add loading class
			container.addClass( 'rl-loading' );

			$.post( rlArgs.ajaxurl, {
				action: 'rl-get-gallery-page-content',
				gallery_id: galleryId,
				gallery_no: galleryNo,
				post_id: rlArgs.postId,
				page: parseQueryString( 'rl_page', link.prop( 'href' ) ),
				nonce: rlArgs.nonce,
				preview: rlArgs.preview,
				lightbox: rlArgs.script
			} ).done( function( response ) {
				// replace container with new content
				container.replaceWith( $( response ).removeClass( 'rl-loading' ) );

				// trigger main event
				$.event.trigger( {
					type: 'doResponsiveLightbox',
					script: rlArgs.script,
					selector: rlArgs.selector,
					args: rlArgs,
					pagination_type: 'ajax',
					gallery_id: galleryId,
					gallery_no: galleryNo
				} );
			} ).always( function() {
				container.removeClass( 'rl-loading' );
			} );

			return false;
		}
	} );

	// this is similar to the WP function add_action();
	$( document ).on( 'doResponsiveLightbox', function( event ) {
		if ( typeof event.masonry !== 'undefined' && event.masonry === true )
			return false;

		var script = event.script;
		var selector = event.selector;
		var args = event.args;

		if ( typeof script === 'undefined' || typeof selector === 'undefined' )
			return false;

		rl_view_image = function( script, url ) {
			$.event.trigger( {
				type: 'doLightboxViewImage',
				script: script,
				url: url
			} );
		}

		rl_hide_image = function( script, url ) {
			$.event.trigger( {
				type: 'doLightboxHideImage',
				script: script,
				url: url
			} );
		}

		// WooCommerce 3.0+ compatibility
		setTimeout( function() {
			var flex = $( '.flex-viewport' );

			if ( args.woocommerce_gallery === '1' ) {
				var gallery = $( '.woocommerce-product-gallery' );

				if ( gallery.find( '.woocommerce-product-gallery__trigger' ).length === 0 ) {
					gallery.prepend( '<a href="#" class="woocommerce-product-gallery__trigger">🔍</a>' );

					gallery.on( 'click', '.woocommerce-product-gallery__trigger', function( e ) {
						e.preventDefault();
						e.stopPropagation();

						if ( script === 'lightgallery' ) {
							if ( flex.length ) {
								var image = flex.find( '.flex-active-slide a[data-rel] img' );
								var linkId = flex.find( '.flex-active-slide a[data-rel]' ).data( 'lg-id' );

								image.trigger( 'click.lgcustom-item-' + linkId );
							} else {
								var link = gallery.find( 'a[data-rel]' ).first();
								var image = link.find( 'img' );

								image.trigger( 'click.lgcustom-item-' + link.data( 'lg-id' ) );
							}
						} else if ( script === 'fancybox_pro' ) {
							if ( flex.length ) {
								var index = flex.find( '.flex-active-slide' ).index();
								var imageId = flex.find( '.flex-active-slide a[data-rel]' ).data( 'fancybox' );

								Fancybox.fromOpener( '[data-fancybox="' + imageId + '"]', {
									startIndex: index
								} );
							} else {
								var link = gallery.find( 'a[data-rel]' ).first();

								Fancybox.fromOpener( '[data-fancybox="' + link.data( 'fancybox' ) + '"]', {
									startIndex: 0
								} );
							}
						} else {
							if ( flex.length )
								flex.find( '.flex-active-slide a[data-rel]' ).trigger( 'click' );
							else
								gallery.find( 'a[data-rel]' ).first().trigger( 'click' );
						}
					} );
				}
			}
		}, 10 );

		// initialize lightbox
		switch ( script ) {
			case 'swipebox':
				var slide = $( '#swipebox-overlay' ).find( '.slide.current' );
				var imageSource = '';
				var allowHide = false;
				var closeExecuted = false;

				$( 'a[rel*="' + selector + '"], a[data-rel*="' + selector + '"]' ).swipebox( {
					useCSS: ( args.animation === '1' ? true : false ),
					useSVG: ( args.useSVG === '1' ? true : false ),
					hideCloseButtonOnMobile: ( args.hideCloseButtonOnMobile === '1' ? true : false ),
					removeBarsOnMobile: ( args.removeBarsOnMobile === '1' ? true : false ),
					hideBarsDelay: ( args.hideBars === '1' ? parseInt( args.hideBarsDelay ) : 0 ),
					videoMaxWidth: parseInt( args.videoMaxWidth ),
					loopAtEnd: ( args.loopAtEnd === '1' ? true : false ),
					afterOpen: function() {
						closeExecuted = false;

						// update current slide container
						slide = $( '#swipebox-overlay' ).find( '.slide.current' );

						// get image source
						var image = slide.find( 'img' ).attr( 'src' );

						// valid image source?
						if ( typeof image !== 'undefined' ) {
							imageSource = image;

							// trigger image view
							rl_view_image( script, imageSource );
						} else
							imageSource = '';

						// add current slide observer
						observeContentChanges( document.getElementById( 'swipebox-slider' ), false, function() {
							if ( imageSource === '' ) {
								// get image source
								var image = slide.find( 'img' ).attr( 'src' );

								// valid image source?
								if ( typeof image !== 'undefined' ) {
									imageSource = image;

									// trigger image view
									rl_view_image( script, imageSource );
								} else
									imageSource = '';
							}
						} );
					},
					nextSlide: function() {
						// update current slide container
						slide = $( '#swipebox-overlay' ).find( '.slide.current' );

						// get image source
						var image = slide.find( 'img' ).attr( 'src' );

						// valid image source?
						if ( typeof image !== 'undefined' ) {
							imageSource = image;

							// trigger image view
							rl_view_image( script, imageSource );
						} else
							imageSource = '';
					},
					prevSlide: function() {
						// update current slide container
						slide = $( '#swipebox-overlay' ).find( '.slide.current' );

						// get image source
						var image = slide.find( 'img' ).attr( 'src' );

						// valid image source?
						if ( typeof image !== 'undefined' ) {
							imageSource = image;

							// trigger image view
							rl_view_image( script, imageSource );
						} else
							imageSource = '';
					},
					afterClose: function() {
						// afterClose event executed
						closeExecuted = true;

						// allow to hide image?
						if ( allowHide ) {
							// trigger image hide
							rl_hide_image( script, imageSource );

							allowHide = false;
						}
					}
				} );

				// additional event to prevent rl_hide_image to execure while opening modal
				$( window ).on( 'resize', function() {
					if ( ! closeExecuted ) {
						allowHide = true;
					}
				} );
				break;

			case 'prettyphoto':
				var viewDisabled = false;
				var lastImage = '';

				$( 'a[rel*="' + selector + '"], a[data-rel*="' + selector + '"]' ).each( function() {
					var el = $( this );
					var title = el.data( 'rl_title' );
					var caption = el.data( 'rl_caption' );

					if ( ! title )
						title = '';

					if ( ! caption )
						caption = '';

					// set description
					el.attr( 'title', caption );

					// set title
					el.find( 'img' ).attr( 'alt', title );
				} );

				$( 'a[rel*="' + selector + '"], a[data-rel*="' + selector + '"]' ).prettyPhoto( {
					hook: 'data-rel',
					animation_speed: args.animationSpeed,
					slideshow: ( args.slideshow === '1' ? parseInt( args.slideshowDelay ) : false ),
					autoplay_slideshow: ( args.slideshowAutoplay === '1' ? true : false ),
					opacity: args.opacity,
					show_title: ( args.showTitle === '1' ? true : false ),
					allow_resize: ( args.allowResize === '1' ? true : false ),
					allow_expand: ( args.allowExpand === '1' ? true : false ),
					default_width: parseInt( args.width ),
					default_height: parseInt( args.height ),
					counter_separator_label: args.separator,
					theme: args.theme,
					horizontal_padding: parseInt( args.horizontalPadding ),
					hideflash: ( args.hideFlash === '1' ? true : false ),
					wmode: args.wmode,
					autoplay: ( args.videoAutoplay === '1' ? true : false ),
					modal: ( args.modal === '1' ? true : false ),
					deeplinking: ( args.deeplinking === '1' ? true : false ),
					overlay_gallery: ( args.overlayGallery === '1' ? true : false ),
					keyboard_shortcuts: ( args.keyboardShortcuts === '1' ? true : false ),
					social_tools: ( args.social === '1' ? '<div class="pp_social"><div class="twitter"><a href="//twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="//platform.twitter.com/widgets.js"></script></div><div class="facebook"><iframe src="//www.facebook.com/plugins/like.php?locale=en_US&href=' + location.href + '&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div></div>' : '' ),
					ie6_fallback: true,
					changepicturecallback: function() {
						// is view disabled?
						if ( viewDisabled ) {
							// enable view
							viewDisabled = false;

							return;
						}

						lastImage = $( '#pp_full_res' ).find( 'img' ).attr( 'src' );

						// trigger image view
						rl_view_image( script, lastImage );

						// is expanding allowed?
						if ( args.allowExpand === '1' ) {
							// disable changepicturecallback event after expanding
							$( 'a.pp_expand' ).on( 'click', function() {
								viewDisabled = true;
							} );
						}
					},
					callback: function() {
						// trigger image hide
						rl_hide_image( script, lastImage );
					}
				} );
				break;

			case 'fancybox':
				var lastImage = '';

				$( 'a[rel*="' + selector + '"], a[data-rel*="' + selector + '"]' ).fancybox( {
					modal: ( args.modal === '1' ? true : false ),
					overlayShow: ( args.showOverlay === '1' ? true : false ),
					showCloseButton: ( args.showCloseButton === '1' ? true : false ),
					enableEscapeButton: ( args.enableEscapeButton === '1' ? true : false ),
					hideOnOverlayClick: ( args.hideOnOverlayClick === '1' ? true : false ),
					hideOnContentClick: ( args.hideOnContentClick === '1' ? true : false ),
					cyclic: ( args.cyclic === '1' ? true : false ),
					showNavArrows: ( args.showNavArrows === '1' ? true : false ),
					autoScale: ( args.autoScale === '1' ? true : false ),
					scrolling: args.scrolling,
					centerOnScroll: ( args.centerOnScroll === '1' ? true : false ),
					opacity: ( args.opacity === '1' ? true : false ),
					overlayOpacity: parseFloat( args.overlayOpacity / 100 ),
					overlayColor: args.overlayColor,
					titleShow: ( args.titleShow === '1' ? true : false ),
					titlePosition: args.titlePosition,
					transitionIn: args.transitions,
					transitionOut: args.transitions,
					easingIn: args.easings,
					easingOut: args.easings,
					speedIn: parseInt( args.speeds ),
					speedOut: parseInt( args.speeds ),
					changeSpeed: parseInt( args.changeSpeed ),
					changeFade: parseInt( args.changeFade ),
					padding: parseInt( args.padding ),
					margin: parseInt( args.margin ),
					width: parseInt( args.videoWidth ),
					height: parseInt( args.videoHeight ),
					onComplete: function() {
						lastImage = $( '#fancybox-content' ).find( 'img' ).attr( 'src' );

						// trigger image view
						rl_view_image( script, lastImage );
					},
					onClosed: function() {
						// trigger image hide
						rl_hide_image( script, lastImage );
					}
				} );
				break;

			case 'nivo':
				$.each( $( 'a[rel*="' + selector + '"], a[data-rel*="' + selector + '"]' ), function() {
					var attr = $( this ).attr( 'data-rel' );

					// check data-rel attribute first
					if ( typeof attr === 'undefined' || attr == false ) {
						// if not found then try to check rel attribute for backward compatibility
						attr = $( this ).attr( 'rel' );
					}

					// for some browsers, `attr` is undefined; for others, `attr` is false. Check for both.
					if ( typeof attr !== 'undefined' && attr !== false ) {
						var match = attr.match( new RegExp( selector + '\\-(gallery\\-(?:[\\da-z]{1,4}))', 'ig' ) );

						if ( match !== null )
							$( this ).attr( 'data-lightbox-gallery', match[0] );
					}
				} );

				var observerInitialized = false;
				var changeAllowed = true;
				var lastImage = '';

				$( 'a[rel*="' + selector + '"], a[data-rel*="' + selector + '"]' ).nivoLightbox( {
					effect: args.effect,
					clickOverlayToClose: ( args.clickOverlayToClose === '1' ? true : false ),
					keyboardNav: ( args.keyboardNav === '1' ? true : false ),
					errorMessage: args.errorMessage,
					afterShowLightbox: function( lightbox ) {
						var content = $( lightbox )[0].find( '.nivo-lightbox-content' );

						// is observer initialized?
						if ( ! observerInitialized ) {
							// turn it off
							observerInitialized = true;

							// add content observer
							observeContentChanges( document.getElementsByClassName( 'nivo-lightbox-content' )[0], true, function() {
								if ( changeAllowed ) {
									lastImage = content.find( '.nivo-lightbox-image img' ).attr( 'src' );

									// trigger image view
									rl_view_image( script, lastImage );

									// disallow observer changes
									changeAllowed = false;
								}
							} );
						}
					},
					afterHideLightbox: function() {
						// allow observer changes
						changeAllowed = true;

						// trigger image hide
						rl_hide_image( script, lastImage );
					},
					onPrev: function( element ) {
						// disallow observer changes
						changeAllowed = false;

						lastImage = element[0].attr( 'href' );

						// trigger image view
						rl_view_image( script, lastImage );
					},
					onNext: function( element ) {
						// disallow observer changes
						changeAllowed = false;

						lastImage = element[0].attr( 'href' );

						// trigger image view
						rl_view_image( script, lastImage );
					}
				} );
				break;

			case 'imagelightbox':
				var selectors = [];
				var lastImage = '';

				$( 'a[rel*="' + selector + '"], a[data-rel*="' + selector + '"]' ).each( function( i, item ) {
					var attr = $( item ).attr( 'data-rel' );

					// check data-rel attribute first
					if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' )
						selectors.push( attr );
					// if not found then try to check rel attribute for backward compatibility
					else {
						attr = $( item ).attr( 'rel' );

						if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' )
							selectors.push( attr );
					}
				} );

				if ( selectors.length > 0 ) {
					// make unique
					selectors = _.uniq( selectors );

					$( selectors ).each( function( i, item ) {
						if ( typeof event.pagination_type !== 'undefined' ) {
							$( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).each( function() {
								$( this ).off( 'click.imageLightbox' );
							} );
						}

						$( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).imageLightbox( {
							animationSpeed: parseInt( args.animationSpeed ),
							preloadNext: ( args.preloadNext === '1' ? true : false ),
							enableKeyboard: ( args.enableKeyboard === '1' ? true : false ),
							quitOnEnd: ( args.quitOnEnd === '1' ? true : false ),
							quitOnImgClick: ( args.quitOnImageClick === '1' ? true : false ),
							quitOnDocClick: ( args.quitOnDocumentClick === '1' ? true : false ),
							onLoadEnd: function() {
								lastImage = $( '#imagelightbox' ).attr( 'src' );

								// trigger image view
								rl_view_image( script, lastImage );
							},
							onEnd: function() {
								// trigger image hide
								rl_hide_image( script, lastImage );
							}
						} );
					} );
				}
				break;

			case 'tosrus':
				var selectors = [];
				var lastImage = '';

				$( 'a[rel*="' + selector + '"], a[data-rel*="' + selector + '"]' ).each( function( i, item ) {
					var attr = $( item ).attr( 'data-rel' );

					// check data-rel attribute first
					if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' )
						selectors.push( attr );
					// if not found then try to check rel attribute for backward compatibility
					else {
						attr = $( item ).attr( 'rel' );

						if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' )
							selectors.push( attr );
					}
				} );

				if ( selectors.length > 0 ) {
					// make unique
					selectors = _.uniq( selectors );

					$( selectors ).each( function( i, item ) {
						if ( typeof event.pagination_type !== 'undefined' ) {
							$( 'body' ).find( '.tosrus-' + item ).remove();

							$( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).each( function() {
								$( this ).off( 'click.tos' );
							} );
						}

						var tos = $( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).tosrus( {
							infinite: ( args.infinite === '1' ? true : false ),
							autoplay: {
								play: ( args.autoplay === '1' ? true : false ),
								pauseOnHover: ( args.pauseOnHover === '1' ? true : false ),
								timeout: args.timeout
							},
							effect: args.effect,
							keys: {
								prev: ( args.keys === '1' ? true : false ),
								next: ( args.keys === '1' ? true : false ),
								close: ( args.keys === '1' ? true : false )
							},
							pagination: {
								add: ( args.pagination === '1' ? true : false ),
								type: args.paginationType
							},
							// forced
							show: false,
							buttons: true,
							caption: {
								add: true,
								attributes: [ "title" ]
							},
							wrapper: {
								classes: 'tosrus-' + item,
								onClick: args.closeOnClick === '1' ? 'close' : 'toggleUI'
							}
						} );

						tos.on( 'sliding.tos', function( event, number ) {
							lastImage = $( $( event.target ).find( '.tos-slider .tos-slide' )[number] ).find( 'img' ).attr( 'src' );

							// trigger image view
							rl_view_image( script, lastImage );
						} );

						tos.on( 'closing.tos', function() {
							// trigger image hide
							rl_hide_image( script, lastImage );
						} );
					} );
				}
				break;

			case 'featherlight':
				var selectors = [];
				var lastImage = '';

				$( 'a[rel*="' + selector + '"], a[data-rel*="' + selector + '"]' ).each( function( i, item ) {
					var attr = $( item ).attr( 'data-rel' );

					// check data-rel attribute first
					if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' )
						selectors.push( attr );
					// if not found then try to check rel attribute for backward compatibility
					else {
						attr = $( item ).attr( 'rel' );

						if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' )
							selectors.push( attr );
					}
				} );

				if ( selectors.length > 0 ) {
					// make unique
					selectors = _.uniq( selectors );

					// set defaults
					$.extend( $.featherlight.defaults, {
						openSpeed: parseInt( args.openSpeed ),
						closeSpeed: parseInt( args.closeSpeed ),
						closeOnClick: args.closeOnClick,
						closeOnEsc: ( args.closeOnEsc === '1' ? true : false ),
						afterOpen: function( event ) {
							lastImage = event.currentTarget.href;

							// trigger image view
							rl_view_image( script, lastImage );
						},
						afterClose: function() {
							// trigger image hide
							rl_hide_image( script, lastImage );
						}
					} );

					$( selectors ).each( function( i, item ) {
						if ( typeof event.pagination_type !== 'undefined' ) {
							$( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).each( function() {
								$( this ).off( 'click.featherlight' );
							} );
						}

						// gallery?
						if ( /-gallery-/.test( item ) ) {
							$( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).featherlightGallery( {
								galleryFadeIn: parseInt( args.galleryFadeIn ),
								galleryFadeOut: parseInt( args.galleryFadeOut ),
								previousIcon: '&#10094;',
								nextIcon: '&#10095;'
							} );
						// video?
						} else if ( /-video-/.test( item ) ) {
							$( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).featherlight();
						// single image?
						} else {
							$( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' ).featherlight();
						}
					} );
				}
				break;

			case 'magnific':
				var selectors = [];
				var lastImage = '';

				$( 'a[rel*="' + selector + '"], a[data-rel*="' + selector + '"]' ).each( function( i, item ) {
					var attr = $( item ).attr( 'data-rel' );

					// check data-rel attribute first
					if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' )
						selectors.push( attr );
					// if not found then try to check rel attribute for backward compatibility
					else {
						attr = $( item ).attr( 'rel' );

						if ( typeof attr !== 'undefined' && attr !== false && attr !== 'norl' )
							selectors.push( attr );
					}
				} );

				if ( selectors.length > 0 ) {
					// make unique
					selectors = _.uniq( selectors );

					$( selectors ).each( function( i, item ) {
						var subselector = $( 'a[data-rel="' + item + '"], a[rel="' + item + '"]' );
						var element = $( subselector[0] );
						var media_type = element.data( 'magnific_type' );
						var content_type = element.data( 'rl_content' );

						// check content type first
						if ( typeof content_type !== 'undefined' )
							media_type = content_type;

						// then media type if needed
						if ( typeof media_type === 'undefined' )
							media_type = 'image';

						subselector.magnificPopup( {
							type: media_type === 'gallery' ? 'image' : ( media_type === 'video' ? 'iframe' : media_type ),
							disableOn: args.disableOn,
							midClick: args.midClick === '1',
							preloader: args.preloader === '1',
							closeOnContentClick: args.closeOnContentClick === '1',
							closeOnBgClick: args.closeOnBgClick === '1',
							closeBtnInside: args.closeBtnInside === '1',
							showCloseBtn: args.showCloseBtn === '1',
							enableEscapeKey: args.enableEscapeKey === '1',
							alignTop: args.alignTop === '1',
							autoFocusLast: args.autoFocusLast === '1',
							fixedContentPos: args.fixedContentPos === 'auto' ? 'auto' : ( args.fixedContentPos === '1' ),
							fixedBgPos: args.fixedBgPos === 'auto' ? 'auto' : ( args.fixedBgPos === '1' ),
							image: {
								titleSrc: function( item ) {
									var title = item.el.data( 'rl_title' );
									var caption = item.el.data( 'rl_caption' );

									if ( ! title )
										title = '';

									if ( ! caption )
										caption = '';

									return title + '<small>' + caption + '</small>';
								}
							},
							gallery: {
								enabled: subselector.length > 1 && media_type === 'gallery',
								navigateByImgClick: true,
								preload: [0,1]
							},
							callbacks: {
								close: function() {
									rl_hide_image( script, this.currItem.src );
								},
								imageLoadComplete: function() {
									// trigger image view
									rl_view_image( script, this.currItem.src );
								}
							}
						} );
					} );
				}
				break;
		}
	} );

} )( jQuery );
// source --> https://avezac-monvillage.com/wp-content/plugins/sticky-menu-or-anything-on-scroll/assets/js/jq-sticky-anything.min.js?ver=2.1.1 
/**
* @preserve Sticky Anything 2.22 | (c) WebFactory Ltd | GPL2 Licensed
*/

var stickyAnythingBreakpoint = '' // solely to use as a debugging breakpoint, if needed.

!function(e){function t(t,i){e(".sticky-element-original").clone().insertAfter(e(".sticky-element-original")).addClass("sticky-element-cloned").removeClass("element-is-not-sticky").addClass("element-is-sticky").css("position","fixed").css("top",t+"px").css("margin-left","0").css("z-index",i).removeClass("sticky-element-original").hide()}e.fn.stickThis=function(i){var n,s=e.extend({top:0,minscreenwidth:0,maxscreenwidth:99999,zindex:1,legacymode:!1,dynamicmode:!1,debugmode:!1,pushup:"",adminbar:!1},i),l=e(this).length,r=e(s.pushup).length;return r<1?(1==s.debugmode&&s.pushup&&console.error('STICKY ANYTHING DEBUG: There are no elements with the selector/class/ID you selected for the Push-up element ("'+s.pushup+'").'),s.pushup=""):r>1&&(1==s.debugmode&&console.error("STICKY ANYTHING DEBUG: There are "+r+' elements on the page with the selector/class/ID you selected for the push-up element ("'+s.pushup+'"). You can select only ONE element to push the sticky element up.'),s.pushup=""),l<1?1==s.debugmode&&console.error('STICKY ANYTHING DEBUG: There are no elements with the selector/class/ID you selected for the sticky element ("'+this.selector+'").'):l>1?1==s.debugmode&&console.error("STICKY ANYTHING DEBUG: There There are "+r+' elements with the selector/class/ID you selected for the sticky element ("'+this.selector+'"). You can only make ONE element sticky.'):1==s.legacymode?(e(this).addClass("sticky-element-original").addClass("element-is-not-sticky"),1!=s.dynamicmode&&t(s.top,s.zindex,s.adminbar),checkElement=setInterval(function(){!function(i,n,s,l,o,r,d){var a=e(".sticky-element-original").offset();if(orgElementTop=a.top,o){var c=e(o).offset();pushElementTop=c.top}var m=window,g="inner";"innerWidth"in window||(g="client",m=document.documentElement||document.body);viewport=m[g+"Width"],d&&e("body").hasClass("admin-bar")&&viewport>600?adminBarHeight=e("#wpadminbar").height():adminBarHeight=0;e(window).scrollTop()>=orgElementTop-i-adminBarHeight&&viewport>=n&&viewport<=s?(orgElement=e(".sticky-element-original"),coordsOrgElement=orgElement.offset(),leftOrgElement=coordsOrgElement.left,widthOrgElement=orgElement[0].getBoundingClientRect().width,widthOrgElement||(widthOrgElement=orgElement.css("width")),heightOrgElement=orgElement.outerHeight(),paddingOrgElement=[orgElement.css("padding-top"),orgElement.css("padding-right"),orgElement.css("padding-bottom"),orgElement.css("padding-left")],paddingCloned=paddingOrgElement[0]+" "+paddingOrgElement[1]+" "+paddingOrgElement[2]+" "+paddingOrgElement[3],1==r&&e(".sticky-element-cloned").length<1&&t(i,l),elementHeight=0,heightOrgElement<1?elementHeight=e(".sticky-element-cloned").outerHeight():elementHeight=e(".sticky-element-original").outerHeight(),o&&e(window).scrollTop()>pushElementTop-i-elementHeight-adminBarHeight?stickyTopMargin=pushElementTop-i-elementHeight-e(window).scrollTop():stickyTopMargin=adminBarHeight,e(".sticky-element-cloned").css("left",leftOrgElement+"px").css("top",i+"px").css("width",widthOrgElement).css("margin-top",stickyTopMargin).css("padding",paddingCloned).show(),e(".sticky-element-original").css("visibility","hidden")):(1==r?e(".sticky-element-cloned").remove():e(".sticky-element-cloned").hide(),e(".sticky-element-original").css("visibility","visible"))}(s.top,s.minscreenwidth,s.maxscreenwidth,s.zindex,s.pushup,s.dynamicmode,s.adminbar)},10)):(e(this).addClass("sticky-element-original").addClass("element-is-not-sticky"),orgAssignedStyles=(n=e(this),o={},o.display=n.css("display"),o.float=n.css("float"),o.flex=n.css("flex"),o["box-sizing"]=n.css("box-sizing"),o.clear=n.css("clear"),o.overflow=n.css("overflow"),o.transform=n.css("transform"),o),orgInlineStyles=e(".sticky-element-original").attr("style"),null==orgInlineStyles&&(orgInlineStyles=""),e(".sticky-element-original").addClass("sticky-element-active").before('<div class="sticky-element-placeholder" style="width:0; height:0; margin:0; padding:0; visibility:hidden;"></div>'),checkElement=setInterval(function(){!function(t,i,n,s,l,o,r,d){$listenerElement=e(".sticky-element-active");var a=$listenerElement.offset();if(orgElementTop=a.top,l){var c=e(l).offset();pushElementTop=c.top}var m=window,g="inner";"innerWidth"in window||(g="client",m=document.documentElement||document.body);viewport=m[g+"Width"],o&&e("body").hasClass("admin-bar")&&viewport>600?adminBarHeight=e("#wpadminbar").height():adminBarHeight=0;if(e(window).scrollTop()>=orgElementTop-t-adminBarHeight&&viewport>=i&&viewport<=n){for(var h in coordsOrgElement=$listenerElement.offset(),leftOrgElement=coordsOrgElement.left,widthPlaceholder=$listenerElement[0].getBoundingClientRect().width,widthPlaceholder||(widthPlaceholder=$listenerElement.css("width")),heightPlaceholder=$listenerElement[0].getBoundingClientRect().height,heightPlaceholder||(heightPlaceholder=$listenerElement.css("height")),widthSticky=e(".sticky-element-original").css("width"),"0px"==widthSticky&&(widthSticky=e(".sticky-element-original")[0].getBoundingClientRect().width),heightSticky=e(".sticky-element-original").height(),paddingOrgElement=[e(".sticky-element-original").css("padding-top"),e(".sticky-element-original").css("padding-right"),e(".sticky-element-original").css("padding-bottom"),e(".sticky-element-original").css("padding-left")],paddingSticky=paddingOrgElement[0]+" "+paddingOrgElement[1]+" "+paddingOrgElement[2]+" "+paddingOrgElement[3],marginOrgElement=[$listenerElement.css("margin-top"),$listenerElement.css("margin-right"),$listenerElement.css("margin-bottom"),$listenerElement.css("margin-left")],marginPlaceholder=marginOrgElement[0]+" "+marginOrgElement[1]+" "+marginOrgElement[2]+" "+marginOrgElement[3],assignedStyles="",r)"inline"==r[h]?assignedStyles+=h+":inline-block; ":assignedStyles+=h+":"+r[h]+"; ";elementHeight=0,heightPlaceholder<1?elementHeight=e(".sticky-element-cloned").outerHeight():elementHeight=e(".sticky-element-original").outerHeight(),l&&e(window).scrollTop()>pushElementTop-t-elementHeight-adminBarHeight?stickyTopMargin=pushElementTop-t-elementHeight-e(window).scrollTop():stickyTopMargin=adminBarHeight,assignedStyles+="width:"+widthPlaceholder+"px; height:"+heightPlaceholder+"px; margin:"+marginPlaceholder+";",e(".sticky-element-original").removeClass("sticky-element-active").removeClass("element-is-not-sticky").addClass("element-is-sticky").css("cssText","margin-top: "+stickyTopMargin+"px !important; margin-left: 0 !important").css("position","fixed").css("left",leftOrgElement+"px").css("top",t+"px").css("width",widthSticky).css("padding",paddingSticky).css("z-index",s),e(".sticky-element-original").each(function(){this.style.setProperty("margin-top",stickyTopMargin,"important")}),e(".sticky-element-placeholder").hasClass("sticky-element-active")||e(".sticky-element-placeholder").addClass("sticky-element-active").attr("style",assignedStyles)}else e(".sticky-element-original").addClass("sticky-element-active").removeClass("element-is-sticky").addClass("element-is-not-sticky").attr("style",d),e(".sticky-element-placeholder").hasClass("sticky-element-active")&&e(".sticky-element-placeholder").removeClass("sticky-element-active").removeAttr("style").css("width","0").css("height","0").css("margin","0").css("padding","0")}(s.top,s.minscreenwidth,s.maxscreenwidth,s.zindex,s.pushup,s.adminbar,orgAssignedStyles,orgInlineStyles)},10)),this}}(jQuery);