{"version":3,"sources":["all.js","favourite.js","callout.js","filter.js","map.js","search.js","offers.js","util.js"],"names":["console","log","document","querySelector","ham","mobNav","addEventListener","classList","toggle","setAttribute","contains","body","getElementById","txtArea","txtCounter","e","target","maxLength","getAttribute","currentLength","value","length","innerHTML","window","outerWidth","tooltip","querySelectorAll","forEach","tip","toolTipText","parentElement","firstElementChild","style","visibility","venNav","links","i","firstChild","nextSibling","current","getElementsByClassName","className","replace","this","banner","bannerStyle","getComputedStyle","bannerHeight","parseInt","height","header","getElementsByTagName","headerStyle","headerHeight","offset","venNavStyle","venNavHeight","offsetHeight","venNavPadding","paddingTop","offsetFixedNav","screenWidth","innerWidth","columnParent","pageYOffset","documentElement","scrollTop","position","top","a","item","selectedAccImage","x","filter","nextElementSibling","info","display","color","$","ready","spaces_size","show","click","hide","items","navOffset","btn","lastElementChild","card","count","scrollMarginTop","remove","id","scrollIntoView","add","removeAttribute","toggleActive","accordion","parentNode","closest","preventDefault","buttons","pressed","evt","grecaptcha","getResponse","alert","removeClass","container","gtag","event_category","event_label","err","loginButtonId","loginDropdownClass","modal","mobileMq","let","isMobile","matchMedia","matches","mq","toggleClass","on","toggleFavourites","dataKey","ajax","url","type","contentType","data","JSON","stringify","key","success","response","error","error_response","getFavourites","favouriteDataKeys","split","favsArray","push","inArray","addClass","callout","cookieName","waitTime","popupSeen","expiry","attr","util","getCookie","idleInterval","setInterval","timerIncrement","mousemove","idleTime","keypress","monitorIdleTime","createCookie","setTimeout","clearInterval","Math","ceil","each","index","fadeOut","not","pageY","filterVal","toLowerCase","$current","includes","searchValue","val","find","text","indexOf","numSpaces","empty","sortValue","sort","b","appendTo","script","createElement","vMapValues","src","async","head","appendChild","initMapSingle","vTitle","vMapValuesArray","vLat","parseFloat","vLong","options","mapId","zoom","center","lat","lng","map","google","maps","Map","marker","Marker","icon","size","Size","scaledSize","draggable","information","InfoWindow","content","addListener","open","initMapListing","allVenueData","vMapPoint","vLink","vImage","vZoom","title","capacity","map-point","data-key","link","image","long","bounds","LatLngBounds","infowindow","LatLng","draggarble","optimized","extend","event","setContent","zoomChangeBoundsListener","getZoom","initialZoom","setZoom","removeListener","fitBounds","highlightListing","initMapSingleLVP","thumbnailImageSwiper","Swiper","loop","spaceBetween","slidesPerView","navigation","nextEl","freeMode","watchSlidesProgress","lazy","loadPrevNext","featureImageSwiper","prevEl","thumbs","swiper","spacesImageSwiper","formClass","listClass","eventType","regionType","selectEvent","selectRegion","offerCards","filteredByEvent","filteredByRegion","filterSelectOptions","listToUse","eventIdentifier","allItems","offerCard","uniqueEventValues","onlyUnique","element","self","setQueryString","history","pushState","URL","location","searchParams","set","delete","toString","clearSelected","applyFilters","visible","cardEvents","cardRegion","matchesRegion","matchesEventType","updateInterface","selectedIndex","getParameterByName","name","results","RegExp","exec","search","decodeURIComponent","closeBtn","button","tog","focus","classes","Array","from","join","some","cookiesAllowed","StrictlyNecessary","Functional","Other","getAllowedCookies","days","cookietype","date","undefined","expires","Date","setTime","getTime","toGMTString","cookie","nameEQ","ca","c","charAt","substring","deleteCookie","getParameterFromString","urlstring","removeUrlParameter","param","urlparts","href","prefix","encodeURIComponent","pars","lastIndexOf","splice","updateUrlParameter","regex","debounce","fn","delay","timer","context","args","arguments","clearTimeout","apply","template","templateMarkup","object","viewportWidth","max","clientWidth","viewportHeight","clientHeight","innerHeight","loadJS","cssPropertyValueSupported","prop","d","objectFit","isOldIE","navigator","userAgent","appVersion","isAnyIE","stopVideo","iframes","videos","iframeSrc","iframe","video","pause","devPrint","devToolbar","scrollTo","elem","scrollTopAmount","behavior","scrollToLink","selector","rect","getBoundingClientRect","scrollY","left","scrollX","getSiblings","prototype","call","children","sibling"],"mappings":"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","file":"all.js","sourcesContent":["console.log('Website design and developed by Pretty Pragmatic.');\n\n/**\n * ------------------------\n * CONTENTS\n * ------------------------\n * 1. Mobile Navigation\n * 2. Contact Form Textarea Count\n * 3. Contact Form Tooltip\n * 4. Cookies Banner\n * 5. Venue - Sticky Nav\n * 6. Accreditations Module\n * 7. Venue Spaces - Show More\n * 8. Venue Spaces - View Space Modal\n * 9. MEDIA HAWK / GA TRACKING\n */\n\n\n\n\n// 1. Mobile Nav Button\n//--------------------------\n\n\n\nif (document.querySelector('.lvp-nav-ham')) {\n // If hamburger menu icon exists on page.\n\n // button element\n const ham = document.querySelector('.lvp-nav-ham');\n const mobNav = document.querySelector('#mob-nav');\n\n ham.addEventListener(\"click\", function(){\n\n // Toggle class on and off to trigger CSS SVG animation.\n ham.classList.toggle('opened');\n\n // Set aria aria-pressed = true\n ham.setAttribute(\"aria-pressed\", ham.classList.contains('opened'));\n\n // Toggle active class to show/hide nav links.\n mobNav.classList.toggle('active');\n\n // Stop the page from scrolling\n document.body.classList.toggle('lvp-fixed');\n\n // make sure the nav and sidebar overlay the chatbox etc\n document.body.classList.toggle('lvp-zindex');\n\n });\n}\n\n\n\n// 2. Contact Form - Textarea Count\n// --------------------------------------\n\nif (document.getElementById('Message')) {\n const txtArea = document.getElementById('Message'); // teaxtarea\n\n const txtCounter = document.getElementById('counter'); //counter output

\n\n txtArea.addEventListener('input', function(e) {\n const target = e.target;\n\n // Get the `maxlength` attribute\n const maxLength = target.getAttribute('maxlength');\n\n // Count the current number of characters\n const currentLength = target.value.length;\n\n if (currentLength < 1) {\n // If nothing is typed.\n txtCounter.innerHTML = '';\n\n // Set aria-hidden.\n txtCounter.setAttribute('aria-hidden', 'true');\n }\n else {\n // Output values if charecters typed.\n txtCounter.innerHTML = `${currentLength}/${maxLength}`;\n\n // Set aria-hidden.\n txtCounter.setAttribute('aria-hidden', 'false');\n\n }\n\n });\n\n}\n\n;\n\n\n// 3. Form ToolTip\n// ---------------------------\n\n// If the tooltip exists and if the screen size is tablet or less\n// we make the tooltip clickable as ;hover will not be available.\n\nif (document.querySelector(\"[role=tooltip]\")\n && document.querySelector(\".lvp-required-asterisk\")\n && document.querySelector(\".lvp-required-tooltip\")\n && window.outerWidth < 1144) {\n\n // Astyrisk element array.\n const tooltip = document.querySelectorAll(\".lvp-required-asterisk\");\n\n tooltip.forEach(tip => {\n\n // The tooltip content.\n\n const parent = tip.parentElement;\n const child = parent.firstElementChild;\n const toolTipText = child.firstElementChild;\n\n // Add event listner to each asterisk.\n\n // When clicked show/hide the tooltip.\n\n // This is for mobile devices as hover doesn't work there.\n\n tip.addEventListener(\"click\", function(){\n\n // toolTipText.classList.toggle(\".lvp-js-tooltip\");\n toolTipText.style.visibility = toolTipText.style.visibility === 'hidden' ? 'visible' : 'hidden';\n\n ///TO DO: Aria-Hidden.\n\n });\n\n });\n\n}\n\n\n\n\n\n// 4. Cookies Popup\n//--------------------------------------------\n//REMOVED\n\n\n\n\n\n// 5. VENUE - NAVIGATION - STICKY\n//--------------------------------------------\n\nif(document.querySelector('#lvp-venuepage')) {\n\n const venNav = document.querySelector('.lvp-ven-nav');\n\n // list item\n const links = document.querySelectorAll('.lvp-ven-nav__item');\n\n // Loop through the buttons and add the active class to the current/clicked button\n for (var i = 0; i offsetFixedNav;\n if(shouldStick) {\n venNav.style.position = \"fixed\";\n columnParent.style.paddingTop = venNavHeight + \"px\"; // add padding-top to the column to prevent content from jumping.\n\n // Set the top position based on screen width.\n if (screenWidth > mobileNavBreakpoint) {\n venNav.style.top = \"100px\";\n } else if (screenWidth <= mobileNavBreakpoint) {\n venNav.style.top = \"80px\";\n }\n } else {\n venNav.style.position = \"relative\";\n venNav.style.top = \"0\";\n columnParent.style.paddingTop = \"0\";\n }\n });\n\n\n\n}\n\n\n\n// 6.Accreditations Module\n// This is for mobile devices as hover doesn't work there.\n\nif (document.querySelector('.lvp-images-list__img')\n && window.outerWidth < 1144) {\n\n const a = document.querySelectorAll('.lvp-images-list__img');\n\n a.forEach(item => {\n\n item.addEventListener(\"click\", function(){\n selectedAccImage(item);\n });\n\n function selectedAccImage(x) {\n\n // Remove filter on click.\n x.style.filter = x.style.filter === 'grayscale(1)' ? 'unset' : 'grayscale(1)';\n\n // The accreditation decription.\n if (item.nextElementSibling) {\n\n const info = item.nextElementSibling.firstElementChild;\n\n // When clicked show/hide the info text.\n info.style.display = info.style.display === 'none' ? 'block' : 'none';\n info.style.display = info.style.color === '#000000' ? '#510C76' : '#000000';\n }\n\n }\n\n });\n\n}\n\n\n\n\n// 7. Venue Spaces SHOW MORE cards\n$(document).ready(function() {\n var spaces_size = $(\".lvp-card-grid--spaces li.lvp-card-space\").length;\n var x = 6;\n\n $('.lvp-card-grid--spaces li.lvp-card-space:lt('+x+')').show();\n $('.lvp-js-show-more').click(function () {\n x= (x+3 <= spaces_size) ? x+3 : spaces_size;\n $('.lvp-card-grid--spaces li.lvp-card-space:lt('+x+')').show();\n\n if(x == spaces_size){\n $('.lvp-js-show-more').hide();\n }\n });\n\n});\n\n\n\n\n\n\n\n\n\n// 8. VENUE SPACES - VIEW SPACE CARD\n\nif (document.querySelector('#lvp-ven-spaces') &&\n document.querySelector('.lvp-card-space') &&\n document.querySelector('.lvp-card__inner')\n) {\n // li > article inner card.\n const items = document.querySelectorAll('.lvp-card__inner');\n\n // Navigation scroll offset - Venue Navigation.\n const navOffset = document.querySelector('.lvp-ven-nav').offsetHeight;\n\n items.forEach(item => {\n\n // Button\n const btn = item.lastElementChild;\n // li container\n const card = item.parentElement;\n\n var count = 0;\n\n // Add scroll-margin-top style offset based on height of the venue nav.\n card.style.scrollMarginTop = navOffset + 20 + \"px\";\n\n btn.addEventListener(\"click\", function(){\n\n // Increment count.\n count++;\n\n // Card\n card.classList.remove('lvp-card-space');\n card.classList.toggle('lvp-card-space--fullwidth');\n btn.setAttribute(\"aria-expanded\", true);\n\n // Apply new ID.\n card.id =\"lvp-scrolltome\";\n\n if (count < 2) {\n btn.innerHTML =\"X\";\n // Scroll to modal.\n document.getElementById('lvp-scrolltome').scrollIntoView();\n\n }\n else {\n btn.innerHTML =\"View Space\";\n card.classList.add('lvp-card-space');\n card.removeAttribute(\"id\");\n btn.setAttribute(\"aria-expanded\", false);\n count = 0;\n }\n\n });\n\n });\n\n}\n\n\n\n\n\n// Toggle Sub links MOBILE MENU\n\nif (document.querySelector('#mob-nav')) {\n // If Footer menu is on the page.\n\n //js-triggerAccordion\n document.querySelectorAll('.js-triggerAccordion').forEach(accordion => {\n accordion.addEventListener('click', function(e){\n accordion.parentNode.closest('.lvp-sidenav__li').classList.toggle('u-active');\n e.preventDefault();\n })\n });\n\n}\n\n\n// Function Accordian Show/hide\nfunction toggleActive(x) {\n // Toggle class on and off.\n x.classList.toggle('u-active');\n}\n\n\n\n// Favs Button\nif (document.querySelector('.lvp-btn-fav')) {\n const buttons = document.querySelectorAll('.lvp-btn-fav');\n buttons.forEach(btn => {\n btn.addEventListener(\"click\", function(){\n var pressed = (btn.getAttribute(\"aria-pressed\") === \"true\");\n // Change aria-pressed to the opposite state\n btn.setAttribute(\"aria-pressed\", !pressed);\n });\n });\n}\n\n\n\n//Download form recaptcha\n// Google reCaptcha basic validation\nif( document.getElementById(\"lvp-report-download\")) {\n document.getElementById(\"lvp-report-download\").addEventListener(\"submit\",function(evt)\n {\n var response = grecaptcha.getResponse();\n if(response.length == 0)\n {\n //reCaptcha not verified\n alert(\"Please verify you are human by completing the Captcha\");\n evt.preventDefault();\n return false;\n }\n //captcha verified\n //do the rest of your validations here\n });\n}\n\n\n// Check if Offers & packages exist on Venue Page\n\nif( $('section#offers').length ) {\n //Offers exist\n $(\"li.lvp-ven-nav__item\").removeClass(\"hide\");\n}\n\n\n// 9. MEDIA HAWK / GA TRACKING\n//--------------------------------------------\n\ndocument.querySelectorAll('.mediahawkNumber1361').forEach(container=>{\n container.addEventListener('click', (e)=>{\n console.log(\"GA Track: \" + e.target);\n\n try{\n gtag('event', 'mediahawk', {\n 'event_category': '',\n 'event_label': 'mediahawk',\n 'value': 1\n });\n } catch(err){\n console.log(err);\n }\n\n });\n});\n\n\n// 10. LOGIN - DROPDOWN\n//--------------------------------------------\nconst loginButtonId = \"#lvp-admin-login\";\n\n\n\nif ($(loginButtonId).length) {\n const loginDropdownClass = \".lvp-main-nav__sub\";\n const modal = document.querySelector('.lvp-login--sitewide');\n\n const mobileMq = \"(max-width: 579px)\"\n let isMobile = window.matchMedia(mobileMq).matches;\n\n // close dropdown on mobile\n const mq = window.matchMedia(mobileMq);\n mq.addEventListener(\"change\", (e) => {\n isMobile = e.matches;\n\n if (e.matches) {\n $(loginDropdownClass).removeClass(\"active\");\n } else {\n // is desktop\n modal.classList.remove('is-visible');\n document.body.classList.remove('lvp-fixed');\n }\n })\n\n $(loginButtonId).click(function () {\n if (!isMobile) {\n $(loginDropdownClass).toggleClass(\"active\");\n } else {\n modal.classList.toggle('is-visible');\n document.body.classList.toggle('lvp-fixed');\n }\n\n });\n\n\n // Close the dropdown if the user clicks outside of it\n $(document).click(function (e) {\n if (!$(e.target).closest(loginButtonId).length && !$(e.target).closest(loginDropdownClass).length) {\n $(loginDropdownClass).removeClass(\"active\");\n }\n });\n\n $('.lvp-modal-overlay--login, .lvp-login-close').on('click', function(e) {\n if (e.target !== this)\n return;\n $(\".lvp-login--sitewide\").removeClass(\"is-visible\");\n document.body.classList.remove('lvp-fixed');\n });\n}\n","// Add card to favourites\n$(document).ready(function() {\n\n\n\t// Check if User is logged in\n\tif ($(\".hello\")[0]){\n\t \n \t// Check Article Page\n\t\tif ($(\"body#lvp-articlepage\").length) {\n\t\t\tvar dataKey = $(\".fav-item\").data(\"key\");\n\t\t\tgetFavourites(dataKey, 'single');\n\t\t}\n\n\t\t// Check Venue Page\n\t\tif ($(\"body#lvp-venuepage\").length) {\n\t\t\tvar dataKey = $(\".fav-item\").data(\"key\");\n\t\t\tgetFavourites(dataKey, 'single');\n\t\t}\n\t\t\n\t\t// Check Listing Pages\n\t\t$(\".lvp-card\").each(function( index ) {\n\t\t\tvar list_dataKey = $(this).data(\"key\");\n\t\t\t//console.log( index + \": \" + list_dataKey );\n\t\t\tgetFavourites(list_dataKey, 'listing');\n\t\t});\n\n\t} else {\n\n\t}\n\n\n\n\t// Actio Bar - Add to Faves link\n\t\n\t// $(\".lvp-cta-action .lvp-btn-fav\").on( \"click\", function(e) {\n\t// \tvar dataKey = $(this).data(\"key\");\n\t\t\n\t// \t// Check if User is logged in\n\t// \tif ($(\".hello\")[0]){\n\t// \t // Do something if class exists\n\t// \t toggleFavourites(dataKey);\n\n\t// \t} else {\n\t// \t // If not logged in, fire modal\n\t// \t alert(\"Not logged in\");\n\t// \t\tvar topPos = e.pageY;\n\t// \t\t$('.lvp-modal--favs').addClass('is-visible');\n\t// \t}\n\t// });\n\n\n\n\n\t// Set all favourite icons to 'favourite' on Dashboard Page and remove when clicked\n\t$(\"#lvp-dashboardpage .lvp-btn-fav\").each(function( index ) {\n\t\tvar dataKey = $(this).closest(\".lvp-card\").data(\"key\");\n\t\t$(this).addClass('favourite');\n\n\t\t$(this).on( \"click\", function(e) {\n\t\t\te.preventDefault();\n\t\t\ttoggleFavourites(dataKey);\n\n\t\t\t$(this).removeClass('favourite');\n\t\t\t$(this).closest(\".lvp-card\").fadeOut();\n\t\t});\n\n\t});\n\n\n\t$(\".lvp-btn-fav\").not(\"#lvp-dashboardpage .lvp-btn-fav, .lvp-banner .lvp-btn-fav, .lvp-banner--ven .lvp-btn-fav\").on( \"click\", function(e) {\n\t\tvar dataKey = $(this).closest(\".lvp-card\").data(\"key\");\n\t\t$(this).toggleClass('favourite');\n\t\t\n\t\t// Check if User is logged in\n\t\tif ($(\".hello\")[0]){\n\t\t // Do something if class exists\n\t\t toggleFavourites(dataKey);\n\n\t\t} else {\n\t\t // If not logged in, fire modal\n\t\t\tvar topPos = e.pageY;\n\t\t\t$('.lvp-modal--favs').toggleClass('is-visible');\n\t\t}\n\t});\n\n\n\t$(\".lvp-banner .lvp-btn-fav\").on( \"click\", function(e) {\n\t\tvar dataKey = $(this).closest(\".lvp-banner\").data(\"key\");\n\t\t$(this).toggleClass('favourite');\n\t\t\n\t\t// Check if User is logged in\n\t\tif ($(\".hello\")[0]){\n\t\t // Do something if class exists\n\t\t toggleFavourites(dataKey);\n\n\t\t} else {\n\t\t // If not logged in, fire modal\n\t\t\tvar topPos = e.pageY;\n\t\t\t$('.lvp-modal--favs').toggleClass('is-visible');\n\t\t}\n\t});\n\n\n\t$(\".lvp-banner--ven .lvp-btn-fav\").on( \"click\", function(e) {\n\t\tvar dataKey = $(this).closest(\".lvp-banner--ven\").data(\"key\");\n\t\t$(this).toggleClass('favourite');\n\t\t\n\t\t// Check if User is logged in\n\t\tif ($(\".hello\")[0]){\n\t\t // Do something if class exists\n\t\t toggleFavourites(dataKey);\n\n\t\t} else {\n\t\t // If not logged in, fire modal\n\t\t\tvar topPos = e.pageY;\n\t\t\t$('.lvp-modal--favs').toggleClass('is-visible');\n\t\t}\n\t});\n\n\t\n\n\n\t\n\n\n\t$(\".lvp-modal-close\").on( \"click\", function(e) {\n\t\t// If not logged in, fire modal\n\t\te.preventDefault();\n\t\t$('.lvp-modal--favs').toggleClass('is-visible');\n\t});\n\n\n\n});\n\n\n\n\n\n// Save / Remove Favourites \nfunction toggleFavourites(dataKey) {\n\t$.ajax({\n\t\turl:\"/api/favourites/save/\",\n\t\ttype:\"POST\",\n \t\tcontentType: 'application/json',\n\t\tdata:JSON.stringify({\n\t\t\tkey: dataKey,\n\t\t}),\n\t\tsuccess:function(response) {\n\t\t\tconsole.log(response);\n\t\t},\n\t\terror:function(error_response){\n\t\t\tconsole.log(error_response);\n\t\t}\n\t});\n}\n\n\nfunction getFavourites(dataKey, type) {\n\n\t$.ajax({\n\t\turl: \"/api/favourites/get\",\n\t\ttype: \"GET\",\n \t\tcontentType: 'application/json',\n\t\tsuccess:function(response) {\n\t\t\tvar favouriteDataKeys = response.split(',');\n\t\t\tvar favsArray = [];\n\t\t\tfor ( var i = 0; i < favouriteDataKeys.length; i++ ) {\n\t\t\t\tfavsArray.push( favouriteDataKeys[ i ] );\n\t\t\t}\n\t\t\t//console.log(favsArray);\n\n\t\t\tif($.inArray(dataKey, favsArray) != -1) {\n\n\t\t\t\tif (type == 'single') {\n\t\t\t\t\t$(\".lvp-banner--ven__fav .lvp-btn-fav\").addClass(\"favourite\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\t$('.lvp-card[data-key = '+dataKey+'] .lvp-btn-fav').addClass('favourite');\n\t\t\t\t}\n\t\t\t \n\t\t\t} else {\n\t\t\t //alert(\"is NOT in array\");\n\t\t\t} \n\n\t\t},\n\t\terror:function(error_response){\n\t\t\tconsole.log(error_response);\n\t\t}\n\t});\n}","//lightbox callout\n$(document).ready(function () {\n\n var cookieName = 'callout_';\n var callout;\n var waitTime = 0; //in milliseconds \n var popupSeen = false;\n var expiry = 0;\n\n if ($('.js-callout').length > 0) {\n \n calloutPrompt();\n }\n\n function calloutPrompt() {\n\n callout = $('.js-callout');\n cookieName += callout.attr('data-calloutid');\n\n //cookie has been set, don't show popup\n if (util.getCookie(cookieName)) {\n return;\n }\n\n\n waitTime = callout.attr('data-appear');\n if (waitTime.length > 0) {\n waitTime = parseInt(waitTime, 10);\n monitorIdleTime();\n }\n\n expiry = callout.attr('data-expiry');\n if (expiry.length > 0) {\n expiry = parseInt(expiry, 10);\n } else {\n expiry = -1;\n }\n\n\n $('.js-calloutClose').on('click', function (e) {\n closePopup();\n e.preventDefault();\n });\n }\n\n\n\n var idleTime = 0;\n var idleInterval;\n\n function monitorIdleTime() {\n //Increment the idle time counter every half second.\n idleInterval = setInterval(timerIncrement, 500);\n\n //Zero the idle timer on mouse movement.\n $(this).mousemove(function (e) {\n idleTime = 0;\n });\n $(this).keypress(function (e) {\n idleTime = 0;\n });\n\n }\n\n function timerIncrement() {\n idleTime = idleTime + 1;\n\n if (popupSeen) {\n clearInterval(idleInterval);\n }\n\n if (idleTime > Math.ceil(waitTime / 500)) {\n clearInterval(idleInterval);\n openPopup();\n //celebritycruises.lightbox.open( lightboxID , $(document.activeElement));\n }\n }\n\n\n function openPopup() {\n $('.js-callout').attr('aria-hidden', 'false');\n }\n\n\n\n function closePopup() {\n\n setLightboxCookie();\n $('.js-callout').addClass('lvp-callout--fadeOut');\n\n setTimeout(function () {\n $('.js-callout').attr('aria-hidden', 'true');\n }, 500);\n\n }\n\n\n\n function setLightboxCookie() {\n popupSeen = true;\n console.log('set a cookie');\n if (expiry > 0) //set a session cookie\n util.createCookie(cookieName, true, expiry, \"Functional\");\n\n //else don't set a cookie\n }\n\n\n\n});","// Filter/Pills on Dashboard and Content Hub.\n$(document).ready(function() {\n\n var filterVal;\n\n // Tags Bar & Article Listing Tags\n $(\".lvp-tags-bar__list li a:not('.lvp-tag--all'), .lvp-articlelistings__list li a.lvp-tag\").on(\"click\", function() {\n filterVal = $(this).attr(\"data-filter\").toLowerCase();\n\n var $current = $('.lvp-card--article').filter(function() {\n return $(this).attr(\"data-tag\").toLowerCase().split(',').includes(filterVal);\n }).show();\n $('.lvp-card--article').not($current).hide();\n\n $(\".lvp-tags-bar__list li a\").removeClass(\"active\");\n\n $(this).addClass(\"active\");\n });\n\n // All Tag\n $(\".lvp-tags-bar__list li a.lvp-tag--all\").on( \"click\", function() {\n filterVal = $(this).attr(\"data-filter\");\n\n $('.lvp-card--article').show();\n\n $(\".lvp-tags-bar__list li a\").removeClass(\"active\");\n $(this).addClass(\"active\");\n });\n\n //Search Content Hub\n $(\"#jsSearch\").on(\"keyup\", function() {\n var searchValue = $(this).val().toLowerCase();\n\n $(\".lvp-articlelistings__list > li\").show().filter(function() { \n return $(this).find('h3').text().toLowerCase().indexOf(searchValue) === -1; \n }).hide(); \n });\n\n // Space Sort By Feature\n var numSpaces = $(\"ul.lvp-card-grid--spaces li.lvp-card-space\").length;\n $(\".space_count\").empty().text(numSpaces);\n\n $(\"input.space-sort-btn\").on( \"click\", function(e) {\n e.preventDefault();\n var sortValue = $('#capacity :selected').val();\n\n if (sortValue == \"lth\") {\n $(function() {\n $(\".lvp-card-grid--spaces li.lvp-card-space\").sort(sort_li).appendTo('.lvp-card-grid--spaces');\n function sort_li(a, b) {\n return ($(b).data('capacity')) < ($(a).data('capacity')) ? 1 : -1;\n }\n });\n }\n if (sortValue == \"htl\") {\n $(function() {\n $(\".lvp-card-grid--spaces li.lvp-card-space\").sort(sort_li).appendTo('.lvp-card-grid--spaces');\n function sort_li(a, b) {\n return ($(b).data('capacity')) > ($(a).data('capacity')) ? 1 : -1;\n }\n });\n }\n });\n});\n","// Google Map Scripts here.\nvar script = document.createElement('script');\nscript.src = 'https://maps.googleapis.com/maps/api/js?key=AIzaSyCIXsr_rLKW6ZW33pkTwuT52umTOe4-mg4';\nscript.async = true;\n\n// Append the 'script' element to 'head'\ndocument.head.appendChild(script);\n\nvar vMapValues = $(\"#google-map-single\").attr(\"data-map\");\n\t\n\t/////////////////////////////////////////////////\n\t/////////// INITIATE SINGLE VENUE MAP ///////////\n\t/////////////////////////////////////////////////\n\n\tfunction initMapSingle() {\n\t\tvar vMapValues = $(\"#google-map-single\").attr(\"data-map\");\n\n\t\t// Fields required from CMS\n\t\tvar vTitle = $(\"#google-map-single\").attr(\"data-title\");\n\t\tvar vMapValuesCleansed = vMapValues.replace(/\\s/g, '');\n\t\tvar vMapValuesArray = vMapValuesCleansed.split(',');\n\t\tvar vLat = parseFloat(vMapValuesArray[0]);\n\t\tvar vLong = parseFloat(vMapValuesArray[1]);\n\t\tvar vZoom = parseFloat(vMapValuesArray[2]);\n\n\t\tvar options = {\n\t\t\tmapId: '5578201172c0afd4',\n\t\t\tzoom: vZoom,\n\t\t\tcenter: { \n\t\t\t\tlat: vLat,\n\t\t\t\tlng: vLong\n\t\t\t} \n\t\t}\n\n\t\tvar map = new google.maps.Map(document.getElementById('google-map-single'), options);\n\n\t\t// Marker Options\n\t\tvar marker = new google.maps.Marker({\n\t\t position: {\n\t\t \t\tlat: vLat,\n\t\t\t\tlng: vLong\n\t\t \t}, \n\t\t map: map, \n\t\t icon: {\n\t\t \t\turl: '/assets/images/icons/map/marker.png',\n\t\t \t\tsize: new google.maps.Size(50, 55),\n\t\t \t\tscaledSize: new google.maps.Size(50, 55),\n\t\t },\n\t\t draggable: false\n\t\t});\n\n\t\t// Info Window Options\n\t\tvar information = new google.maps.InfoWindow({\n\t\t content: '

'+vTitle+'

'\n\t\t});\n\t\tmarker.addListener('click', function() {\n\t\t information.open(map, marker);\n\t\t});\n\t}\n\n\n\n\n\t/////////////////////////////////////////////////\n\t////////// INITIATE VENUE LISTING MAP ///////////\n\t/////////////////////////////////////////////////\n\n\tfunction initMapListing() {\n\t\tvar allVenueData = [];\n\n\t\t$('#lvp-listing-results li.lvp-card').each(function(){\n\n\t\t\tvar vMapPoint = $(this).data('map-point');\n\t\t\tvar vMapValuesCleansed = vMapPoint.replace(/\\s/g, '');\n\t\t\tvar vMapValuesArray = vMapValuesCleansed.split(',');\n\n\t\t\tvar vLink = $(this).find('p.venue-title a:first').attr('href');\n\t\t\tvar vImage = $(this).find('img:first').attr('src');\n\n\t\t\tvar vLat = parseFloat(vMapValuesArray[0]);\n\t\t\tvar vLong = parseFloat(vMapValuesArray[1]);\n\t\t\tvar vZoom = parseFloat(vMapValuesArray[2]);\n\n\t\t\tif (vMapPoint != \"\") {\n\t\t\t allVenueData.push({ \n\t\t\t \t'title': $(this).data('title'), \n\t\t\t \t'capacity': $(this).data('capacity'), \n\t\t\t \t'map-point': $(this).data('map-point'), \n\t\t\t \t'data-key': $(this).data('data-key'), \n\t\t\t \t'link': vLink, \n\t\t\t \t'image': vImage, \n\t\t\t \t'lat': vLat, \n\t\t\t \t'long': vLong, \n\t\t\t \t'zoom': vZoom, \n\t\t\t });\n\t\t\t}\n\t\t});\n\n\t\tvar options = {\n\t\t\tmapId: '5578201172c0afd4',\n\t\t\tzoom: 18,\n\t\t\tcenter: { \n\t\t\t\tlat: 51.4559935,\n\t\t\t\tlng: -2.6579567\n\t\t\t} \n\t\t}\n\n\t\tvar map = new google.maps.Map(document.getElementById('google-map-list'), options);\n\t\tvar bounds = new google.maps.LatLngBounds();\n\t\tvar infowindow = new google.maps.InfoWindow()\n\t\tvar marker, i;\n\n\t\t// Marker Options\n\t\tfor (i = 0; i < allVenueData.length; i++) { \n\n\t marker = new google.maps.Marker({\n\t position: new google.maps.LatLng(allVenueData[i]['lat'], allVenueData[i]['long']),\n\t map: map,\n\t icon: {\n\t\t \t\turl: '/assets/images/icons/map/marker.png',\n\t\t \t\tsize: new google.maps.Size(50, 55),\n\t\t \t\tscaledSize: new google.maps.Size(50, 55),\n\t\t },\n\t\t draggarble: false,\n\t\t optimized: true\n\t });\n\n\t\t bounds.extend(marker.position);\n\t\t \n\t\t google.maps.event.addListener(marker, 'click', (function(marker, i) {\n\t\t return function() {\n\n\t\t \t//highlightListing( allVenueData[i]['title'] )\n\n\t\t\t\t\tvar svgMarkup = \"\";\n\n\t\t infowindow.setContent(\"

\"+allVenueData[i]['title']+\"

\"+svgMarkup+\" Capacity: \"+allVenueData[i]['capacity']+\"

\");\n\t\t infowindow.open(map, marker);\n\t\t }\n\t\t })(marker, i));\n\t\t }\n\n\t\t\tvar minZoom = 13;\n\n\t\t\t// This is needed to set the zoom after fitbounds, \n\t\t\tgoogle.maps.event.addListener(map, 'zoom_changed', function() {\n\t\t\t\tvar zoomChangeBoundsListener = \n\t\t\t\t\tgoogle.maps.event.addListener(map, 'bounds_changed', function(event) {\n\t\t\t\t\t\tif (this.getZoom() > minZoom && this.initialZoom == true) {\n\t\t\t\t\t\t\t// Change max/min zoom here\n\t\t\t\t\t\t\tthis.setZoom(minZoom);\n\t\t\t\t\t\t\tthis.initialZoom = false;\n\t\t\t\t\t\t}\n\t\t\t\t\tgoogle.maps.event.removeListener(zoomChangeBoundsListener);\n\t\t\t\t});\n\t\t\t});\n\n\n\t\t\tmap.initialZoom = true;\n\t\t map.fitBounds(bounds);\n\t}\n\n\n\tfunction highlightListing(title) {\n\t\t$('li.lvp-card[data-title='+title+']').addClass('selected');\n\t}\n\n\n\tfunction initMapSingleLVP() {\n\n\t\tvar options = {\n\t\t\tmapId: '5578201172c0afd4',\n\t\t\tzoom: 15,\n\t\t\tcenter: { \n\t\t\t\tlat: 52.396889,\n\t\t\t\tlng: -2.01239\n\t\t\t} \n\t\t}\n\n\t\tvar map = new google.maps.Map(document.getElementById('google-map-single_lvp'), options);\n\n\t\t// Marker Options\n\t\tvar marker = new google.maps.Marker({\n\t\t position: {\n\t\t \t\tlat: 52.396889,\n\t\t\t\t\tlng: -2.01239\n\t\t \t}, \n\t\t map: map, \n\t\t icon: {\n\t\t \t\turl: '/assets/images/icons/map/marker.png',\n\t\t \t\tsize: new google.maps.Size(50, 55),\n\t\t \t\tscaledSize: new google.maps.Size(50, 55),\n\t\t },\n\t\t draggarble: false\n\t\t});\n\n\t\t// Info Window Options\n\t\tvar information = new google.maps.InfoWindow({\n\t\t content: '

Lime Venue Portfolio

'\n\t\t});\n\t\tmarker.addListener('click', function() {\n\t\t information.open(map, marker);\n\t\t});\n\t}\n\n\n\t$(window).on('load', function(){\n\n\t\t// Check is Single Google Map exisits\n\t\tif ( $('#google-map-single').length ) {\n\t\t\tif (vMapValues != \"\") {\n\t\t\t\tconsole.log(\"Single Venue Google Map Initiated\");\n\t\t\t\tinitMapSingle();\n\t\t\t} else {\n\t\t\t\tconsole.log(\"No Map Data\");\n\t\t\t}\n\t\t}\n\n\t\t// Check is Single LVP Google Map exisits\n\t\tif ( $('#google-map-single_lvp').length ) {\n\t\t\tinitMapSingleLVP();\n\t\t}\n\n\t\t// Check is Listing Google Map exisits\n\t\tif ( $('#google-map-list').length ) {\n\t\t\t//console.log(\"Venue Listing Google Map Initiated\");\n\t\t\tinitMapListing();\n\t\t}\n\t\t\n\t});\n\n\n\n\t// TEMP - NEED TO MOVE \n\t// Image Gallery on Venue Pages\n\tvar thumbnailImageSwiper = new Swiper(\".galleryThumbs\", {\n loop: true,\n spaceBetween: 20,\n slidesPerView: 3,\n navigation: {\n nextEl: \".thumbnail-button-next\",\n },\n freeMode: true,\n watchSlidesProgress: true,\n lazy: {\n\t\t loadPrevNext: true,\n\t\t },\n });\n\n var featureImageSwiper = new Swiper(\".galleryFeature\", {\n loop: true,\n spaceBetween: 20,\n navigation: {\n nextEl: \".swiper-button-next\",\n prevEl: \".swiper-button-prev\",\n },\n thumbs: {\n swiper: thumbnailImageSwiper,\n },\n lazy: {\n\t\t loadPrevNext: true,\n\t\t },\n });\n\n\n // SPACES GALLERY \n var spacesImageSwiper = new Swiper(\".gallerySpaces\", {\n //loop: true,\n spaceBetween: 20,\n navigation: {\n nextEl: \".swiper-button-next\",\n prevEl: \".swiper-button-prev\",\n },\n lazy: {\n\t\t loadPrevNext: true,\n\t\t },\n });\n\n\n\n\n\n\n\n\n\n\t","// Search Site Button in header\n//--------------------------\n\nif (document.querySelector('.lvp-search--sitewide')) {\n // If search button exists on page.\n\n // button element\n const btn = document.querySelectorAll('.lvp-js-search');\n\n // Close button\n const closeBtn = document.querySelector('.lvp-search-close');\n\n // Modal class.\n const modal = document.querySelector('.lvp-search--sitewide');\n\n\n\n\n for (var i = 0; i < btn.length; i++) {\n const button = btn[i];\n toggleClass(button, modal);\n }\n toggleClass(closeBtn, modal);\n\n\n function toggleClass(item, tog) {\n item.addEventListener(\"click\", function (event) {\n event.preventDefault();\n tog.classList.toggle('is-visible');\n document.body.classList.toggle('lvp-fixed');\n });\n }\n}\n\n\n// Added jQuery for input focus\n$(\"button.lvp-js-search\").on( \"click\", function(e) {\n setTimeout(function() { $('#header-search').focus() }, 500);\n return false;\n});\n\n\n// Close window when clicked outisde div\n$('.lvp-modal-overlay, .lvp-search-close').on('click', function(e) {\n const closeTargets = ['lvp-modal-overlay', 'lvp-search-close'];\n const classes = Array.from(e.target.classList).join(' ');\n\n // if the clicked element is the overlay or close button, close the modal and remove fixed class from body.\n if (closeTargets.some(target => classes.includes(target))) {\n $(\".lvp-search--sitewide\").removeClass(\"is-visible\");\n document.body.classList.toggle('lvp-fixed');\n }\n});\n\n\n\n\n","//Filter offers\n$(document).ready(function() {\n\n const formClass = 'js-filter-offers-form';\n const listClass = 'js-filter-offers';\n let eventType, regionType, \n selectEvent, selectRegion, \n offerCards, \n filteredByEvent, filteredByRegion;\n \n if( document.querySelector('.' + listClass)){\n init();\n }\n\n\n function init(){\n\n selectEvent = document.querySelector('.' + formClass + ' #EventType');\n selectRegion = document.querySelector('.' + formClass + ' #Region');\n\n filteredByEvent = document.querySelector('.js-filteredby-eventtype');\n filteredByRegion = document.querySelector('.js-filteredby-location');\n\n offerCards = document.querySelectorAll('.' + listClass + ' .js-filter-offers-card');\n\n\n hideNotUsed();\n getQueryString();\n bindForm();\n setSelected();\n applyFilters();\n }\n\n\n function hideNotUsed(){\n filterSelectOptions(selectEvent, \"data-eventtype\");\n filterSelectOptions(selectRegion, \"data-region\");\n }\n\n\n function filterSelectOptions(listToUse, eventIdentifier){\n let allItems = \"\"; \n\n //get a list of only the event types that are used\n offerCards.forEach(offerCard => {\n allItems += offerCard.getAttribute(eventIdentifier) + \"|\";\n });\n\n var uniqueEventValues = allItems.split(\"|\").filter(onlyUnique);\n \n //loop through event options and hide any that aren't needed\n listToUse.querySelectorAll('option').forEach(element => {\n const showOption = uniqueEventValues.includes(element.value);\n if(!showOption && element.value.length){\n element.classList.add('u-hide');\n }\n });\n }\n\n\n function onlyUnique(value, index, self) {\n //only unique values and non-empty values\n return ((self.indexOf(value) === index) && value.length);\n }\n\n function bindForm(){\n document.querySelector('.' + formClass).addEventListener('submit', (e)=>{\n setQueryString();\n applyFilters();\n e.preventDefault();\n });\n\n document.querySelector('.js-filter-clear').addEventListener('click', clearSelected);\n }\n\n function getQueryString(){\n //EventType\n //Region\n eventType = getParameterByName('EventType');\n regionType = getParameterByName('Region');\n }\n\n\n function setQueryString() {\n eventType = selectEvent.value;\n regionType = selectRegion.value;\n\n if (history.pushState) {\n const url = new URL(window.location);\n\n if(eventType.length)\n url.searchParams.set('EventType', eventType);\n else \n url.searchParams.delete('EventType');\n \n\n if(regionType.length)\n url.searchParams.set('Region', regionType);\n else\n url.searchParams.delete('Region');\n \n\n window.history.pushState(null, '', url.toString());\n } \n }\n\n\n function setSelected(){\n if(eventType){\n selectEvent.value = eventType;\n }\n\n if(regionType){\n selectRegion.value = regionType;\n }\n }\n\n\n function clearSelected(){\n selectEvent.value = \"\";\n selectRegion.value = \"\";\n\n setQueryString();\n applyFilters();\n }\n\n\n\n function applyFilters(){\n var visible = 0;\n\n for (const card of offerCards) {\n \n const cardEvents = card.getAttribute('data-eventtype').toLowerCase().split(\"|\");\n const cardRegion = card.getAttribute('data-region');\n\n const matchesRegion = !regionType.length || (cardRegion.toLowerCase() == regionType.toLowerCase());\n const matchesEventType = !eventType.length || (cardEvents.includes( (eventType.toLowerCase()) ));\n\n if( matchesRegion && matchesEventType){\n card.classList.remove('u-hide');\n visible++;\n } else{\n card.classList.add('u-hide');\n }\n }\n\n updateInterface(visible);\n\n\n }\n\n function updateInterface(visible){\n document.querySelector('.js-filterCount').innerHTML = visible;\n\n if(visible){\n document.querySelector('.js-filter-noresults').classList.add('u-hide');\n } else {\n document.querySelector('.js-filter-noresults').classList.remove('u-hide');\n }\n\n if(visible == 1){\n document.querySelector('.js-filterCount-s').classList.add('u-hide');\n } else {\n document.querySelector('.js-filterCount-s').classList.remove('u-hide');\n }\n\n if(regionType.length || eventType.length){\n document.querySelector('.js-filter-clear').classList.remove('u-hide');\n } else {\n document.querySelector('.js-filter-clear').classList.add('u-hide');\n }\n\n\n\n if(regionType.length){\n filteredByRegion.innerHTML = selectRegion.options[selectRegion.selectedIndex].text;\n } else {\n filteredByRegion.innerHTML = filteredByRegion.getAttribute('data-default');\n }\n\n\n if(eventType.length){\n filteredByEvent.innerHTML = selectEvent.options[selectEvent.selectedIndex].text;\n } else {\n filteredByEvent.innerHTML = filteredByEvent.getAttribute('data-default');\n }\n }\n\n\n\n function getParameterByName(name) {\n\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\n results = regex.exec(location.search);\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\n\n }\n\n\n\n\n\n});","/*\n* @fileOverview util - a collection of JavaScript utilities\n* @author Matt Begent\n* @version 1.0.0 \n*/\n\nvar util = (function (window, document) {\n\n 'use strict';\n\n var cookiesAllowed = {\n \"StrictlyNecessary\" : true,\n \"Functional\" : false,\n \"Other\" : false\n };\n\n return {\n\n getAllowedCookies: function(){\n\n if( document.getElementById(\"hdnCookieFunctional\") ){\n cookiesAllowed.Functional = (document.getElementById(\"hdnCookieFunctional\").value.toLowerCase() == 'true');\n }\n\n if( document.getElementById(\"hdnCookieOther\") ){\n cookiesAllowed.Other = (document.getElementById(\"hdnCookieOther\").value.toLowerCase() == 'true');\n }\n\n return cookiesAllowed;\n },\n\n createCookie: function (name, value, days, cookietype) {\n\n util.getAllowedCookies();\n if(cookietype == null || cookiesAllowed[cookietype] == undefined || cookiesAllowed[cookietype] == false){\n console.log(\"Error: not permitted to set this type of cookie\");\n return;\n }\n\n var expires = \"\";\n\n if (days) {\n var date = new Date();\n date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));\n expires = \"; expires=\" + date.toGMTString();\n }\n\n document.cookie = name + \"=\" + value + expires + \"; path=/\";\n\n },\n\n getCookie: function (name) {\n\n var nameEQ = name + \"=\";\n var ca = document.cookie.split(';');\n for (var i = 0; i < ca.length; i++) {\n var c = ca[i];\n while (c.charAt(0) == ' ') c = c.substring(1, c.length);\n if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);\n }\n return null;\n\n },\n\n deleteCookie: function (name) {\n document.cookie = name + \"= ; expires = Thu, 01 Jan 1970 00:00:00 GMT; path=/\";\n },\n\n getParameterByName: function (name) {\n\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\n results = regex.exec(location.search);\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\n\n },\n\n\n getParameterFromString: function (name, urlstring) {\n\n name = name.replace(/[\\[]/, \"\\\\[\").replace(/[\\]]/, \"\\\\]\");\n var regex = new RegExp(\"[\\\\?&]\" + name + \"=([^&#]*)\"),\n results = regex.exec(urlstring);\n return results === null ? \"\" : decodeURIComponent(results[1].replace(/\\+/g, \" \"));\n\n },\n\n removeUrlParameter: function (param, url) {\n\n if (url === undefined) {\n url = location.href;\n }\n\n var urlparts = url.split('?');\n\n if (urlparts.length >= 2) {\n\n var prefix = encodeURIComponent(param) + '=';\n var pars = urlparts[1].split(/[&;]/g);\n\n //reverse iteration as may be destructive\n for (var i = pars.length; i-- > 0;) {\n //idiom for string.startsWith\n if (pars[i].lastIndexOf(prefix, 0) !== -1) {\n pars.splice(i, 1);\n }\n }\n\n url = urlparts[0] + '?' + pars.join('&');\n return url;\n } else {\n return url;\n }\n\n\n },\n\n updateUrlParameter(param, value) {\n let url = location.search;\n let regex = new RegExp('(' + param + '=)[^\\&]+');\n return url.replace(regex, '$1' + value);\n },\n\n debounce: function (fn, delay) {\n\n var timer = null;\n\n return function () {\n var context = this;\n var args = arguments;\n clearTimeout(timer);\n timer = setTimeout(function () {\n fn.apply(context, args);\n }, delay);\n };\n\n },\n\n template: function (templateMarkup, data) {\n\n for (var object in data)\n templateMarkup = templateMarkup.replace(new RegExp(\"{{\" + object + \"}}\", \"gi\"), data[object]);\n return templateMarkup;\n\n },\n\n viewportWidth: function () {\n\n return Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n\n },\n\n viewportHeight: function () {\n return Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n },\n\n log: function (e) {\n\n if (window.console && window.console.log) {\n window.console.log(e);\n }\n\n },\n\n loadJS: function (src) {\n var script = document.createElement('script');\n script.src = src;\n document.body.appendChild(script);\n },\n\n cssPropertyValueSupported: function (prop, value) {\n var d = document.createElement('div');\n d.style[prop] = value;\n return d.style[prop] === value;\n },\n\n objectFit: function () {\n var canIUseObjectFit = util.cssPropertyValueSupported('object-fit', 'contain');\n\n\n if (!canIUseObjectFit) {\n $('.u-objectFit').each(function () {\n $(this).addClass('u-imageCentered').removeClass('u-objectFit');\n });\n }\n },\n\n isOldIE: function () {\n if (navigator.userAgent.indexOf('MSIE') !== -1\n || navigator.appVersion.indexOf('Trident/') > -1) {\n return true;\n } else {\n return false;\n }\n },\n\n isAnyIE: function () {\n if (navigator.userAgent.indexOf('MSIE') !== -1\n || navigator.appVersion.indexOf('Trident/') > -1\n || navigator.appVersion.indexOf('Edge/') > -1) {\n return true;\n } else {\n return false;\n }\n },\n\n stopVideo: function (element) {\n if (element == null || element == undefined) return;\n\n var iframes = element.querySelectorAll('iframe');\n var videos = element.querySelectorAll('video');\n\n [...iframes].forEach((iframe) => {\n let iframeSrc = iframe.src;\n iframe.src = iframeSrc;\n });\n\n [...videos].forEach((video) => {\n video.pause();\n });\n },\n devPrint: function (text) {\n var devToolbar = document.getElementById('dev-toolbar');\n if (devToolbar) {\n devToolbar.innerHTML = text + '
' + devToolbar.innerHTML;\n }\n },\n scrollTo: function (elem, offset = 20) {\n\n let scrollTopAmount = 0;\n\n if (elem !== '#') {\n scrollTopAmount = (util.offset(elem).top - parseInt(offset));\n }\n\n window.scrollTo({\n top: scrollTopAmount,\n behavior: \"smooth\"\n });\n },\n scrollToLink(selector) {\n \n if(!document.querySelectorAll(selector).length) return;\n\n document.querySelectorAll(selector).forEach(link => link.addEventListener('click', (e) => {\n const elem = e.target.getAttribute('href');\n util.scrollTo(elem);\n e.preventDefault();\n }));\n },\n offset(selector) {\n var rect = document.querySelector(selector).getBoundingClientRect();\n\n return {\n top: rect.top + window.scrollY,\n left: rect.left + window.scrollX,\n };\n },\n getSiblings(elem) {\n return Array.prototype.filter.call(elem.parentNode.children, function (sibling) {\n return sibling !== elem;\n });\n }\n };\n\n})(window, document); "]}