{"version":3,"sources":["initializeHomepage.js"],"names":["win","$","fp","home","setHeroSize","initialLoad","height","window","headerHeight","outerHeight","specialMessageHeight","fixedFooterHeight","logoMobileHeight","specialMessage","length","is","fixedFooter","logoMobile","maxHeight","css","removeClass","setTimeout","addClass","init","video","videoButton","videoButtonIcon","controlAnnouncements","document","getElementById","querySelector","addEventListener","paused","play","setAttribute","classList","replace","textContent","pause","resize","setBgImage","imgInfo","pixelDensity","devicePixelRatio","screenSize","width","innerWidth","slideshowEl","getElementsByClassName","Array","isArray","filteredImages","filter","img","assetSize","randomBackgroundImage","Math","floor","random","style","backgroundImage","imagePath","altText"],"mappings":"AAAA,CAAA,SAAAA,EAAAC,GACA,aACAC,EAAAF,EAAAE,GAAA,KAAA,IAAAF,EAAAE,GAAAF,EAAAE,GAAA,GACAA,EAAAC,KAAA,KAAA,IAAAD,EAAAC,KAAAD,EAAAC,KAAA,GA4BA,SAAAC,EAAAC,GACA,IAAAC,EAAAL,EAAAM,MAAA,EAAAD,OAAA,EACAE,EAAAP,EAAA,QAAA,EAAAQ,YAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,GAGAC,EADAZ,EAAA,iCAAA,GACAa,QAAAD,EAAAE,GAAA,UAAA,IACAL,EAAAG,EAAAJ,YAAA,IAIAO,EADAf,EAAA,eAAA,GACAa,QAAAE,EAAAD,GAAA,UAAA,IACAJ,EAAAK,EAAAP,YAAA,GAbA,IAgBAQ,EAAAhB,EAAA,cAAA,EAKAiB,EAAAZ,EAAAI,EAAAF,GAHAI,EADAK,EAAAH,QAAAG,EAAAF,GAAA,UAAA,EACAE,EAAAR,YAAA,EAGAG,GAAAD,EACAV,EAAA,YAAA,EAAAkB,IAAA,SAAAD,CAAA,EAGAb,IACAJ,EAAA,MAAA,EAAAmB,YAAA,oBAAA,EACAC,WAAA,WACApB,EAAA,MAAA,EAAAqB,SAAA,UAAA,CACA,EAAA,GAAA,EAEA,CAvCApB,EAAAC,KAyGA,CACAoB,KAAA,WA3BA,IACAC,EACAC,EACAC,EACAC,EAwBA1B,EAAA,gBAAA,EAAAqB,SAAA,UAAA,EAGAlB,EAAA,CAAA,CAAA,EA9BAoB,EAAAI,SAAAC,eAAA,UAAA,EACAJ,EAAAG,SAAAC,eAAA,kBAAA,EACAH,EAAAD,EAAAK,cAAA,MAAA,EACAH,EAAAC,SAAAC,eAAA,6BAAA,EAEAL,GAAAC,GAAAE,GAIAF,EAAAM,iBAAA,QAAA,WACAP,EAAAQ,QAMAR,EAAAS,KAAA,EACAR,EAAAS,aAAA,aAAA,aAAA,EACAR,EAAAS,UAAAC,QAAA,YAAA,YAAA,EACAT,EAAAU,YAAA,kBARAb,EAAAc,MAAA,EACAb,EAAAS,aAAA,aAAA,YAAA,EACAR,EAAAS,UAAAC,QAAA,aAAA,WAAA,EACAT,EAAAU,YAAA,eAOA,CAAA,EAcApC,EAAAM,MAAA,EAAAgC,OAAA,WACAnC,EAAA,CAAA,CAAA,CACA,CAAA,CACA,EACAoC,WA3EA,SAAAC,GA9DAC,EAAAnC,OAAAoC,kBAAA,EA+DA,IAAAC,EA5DA,OAFAC,EAAAtC,OAAAuC,WAAAJ,GAGA,SAEA,MAAAG,EACA,QAEA,KAAAA,EACA,SAEA,KAAAA,EACA,QAEA,SAiDAE,EAAAnB,SAAAoB,uBAAA,iBAAA,EAAA,GAEAD,GAAAE,MAAAC,QAAAT,CAAA,IAUA,KALAU,EAAAV,EAAAW,OAAA,SAAAC,GACA,OAAAA,EAAAC,YAAAV,CACA,CAAA,GAGA9B,SAMAyC,EAAAJ,EADAK,KAAAC,MAAAD,KAAAE,OAAA,EAAAP,EAAArC,MAAA,GAIAiC,EAAAY,MAAAC,gBAAA,QAAAL,EAAAM,UAAA,KAGAN,EAAAO,UACAf,EAAAb,aAAA,aAAAqB,EAAAO,OAAA,EACAf,EAAAb,aAAA,OAAA,KAAA,IAEA,CA8CA,CAEA,EAAA3B,OAAAN,CAAA","file":"homepage-1975c41e35.js","sourcesContent":["(function (win, $) {\n 'use strict';\n var fp = (win.fp = typeof win.fp !== 'undefined' ? win.fp : {}),\n home = (fp.home = typeof fp.home !== 'undefined' ? fp.home : {});\n\n var getScreenSize = function () {\n var pixelDensity = window.devicePixelRatio || 1;\n var width = window.innerWidth * pixelDensity;\n\n if (width >= 2400) {\n return 'xlarge';\n }\n if (width >= 1400) {\n return 'large';\n }\n if (width >= 1000) {\n return 'medium';\n }\n if (width >= 600) {\n return 'small';\n }\n return 'xsmall';\n };\n\n fp.home = (function () {\n var windowHeight;\n var initialized = false;\n\n // =========================================\n // Set Hero Size\n // =========================================\n var setHeroSize = function (initialLoad) {\n var height = $(window).height();\n var headerHeight = $('header').outerHeight(); // Fixed: added parentheses\n var specialMessageHeight = 0; // Default to 0 in case special message (banner) doesn't exist\n var fixedFooterHeight = 0; // Default to 0 in case fixed footer doesn't exist\n var logoMobileHeight = 0; // Default to 0 in case logo-mobile doesn't exist\n\n var specialMessage = $('#special-message.message-banner');\n if (specialMessage.length && specialMessage.is(':visible')) {\n specialMessageHeight = specialMessage.outerHeight();\n }\n\n var fixedFooter = $('#fixed-footer');\n if (fixedFooter.length && fixedFooter.is(':visible')) {\n fixedFooterHeight = fixedFooter.outerHeight();\n }\n\n var logoMobile = $('#logo-mobile');\n if (logoMobile.length && logoMobile.is(':visible')) {\n logoMobileHeight = logoMobile.outerHeight();\n }\n\n var maxHeight = height - specialMessageHeight - headerHeight - logoMobileHeight - fixedFooterHeight;\n $('.slideshow').css('height', maxHeight);\n //console.log(\"SLIDESHOW HEIGHT: \" + maxHeight);\n\n if (initialLoad) {\n $('body').removeClass('fade-home-contents');\n setTimeout(function () {\n $('body').addClass('hero-set');\n }, 1000);\n }\n };\n\n // =========================================\n // Set Background Image\n // =========================================\n var setBgImage = function (imgInfo) {\n var screenSize = getScreenSize();\n var slideshowEl = document.getElementsByClassName('slideshow-photo')[0];\n\n if (!slideshowEl || !Array.isArray(imgInfo)) {\n return; // Exit if slideshow element or imgInfo is invalid\n }\n\n // Filter images based on screen size\n var filteredImages = imgInfo.filter(function (img) {\n return img.assetSize === screenSize;\n });\n\n // Exit if no matching images found\n if (filteredImages.length === 0) {\n return;\n }\n\n // Pick a random image\n var randomNumber = Math.floor(Math.random() * filteredImages.length);\n var randomBackgroundImage = filteredImages[randomNumber];\n\n // Apply the background image\n slideshowEl.style.backgroundImage = \"url('\" + randomBackgroundImage.imagePath + \"')\";\n\n // Set accessibility attributes if altText is provided\n if (randomBackgroundImage.altText) {\n slideshowEl.setAttribute('aria-label', randomBackgroundImage.altText);\n slideshowEl.setAttribute('role', 'img');\n }\n };\n\n // =========================================\n // Set Video Controls\n // =========================================\n var setupVideoControls = function () {\n var video = document.getElementById('bg-video');\n var videoButton = document.getElementById('video-pause-play');\n var videoButtonIcon = videoButton.querySelector('span');\n var controlAnnouncements = document.getElementById('video-control-announcements');\n\n if (!video || !videoButton || !controlAnnouncements) {\n return;\n }\n\n videoButton.addEventListener('click', function () {\n if (!video.paused) {\n video.pause();\n videoButton.setAttribute('aria-label', 'Play video');\n videoButtonIcon.classList.replace('icon-pause', 'icon-play');\n controlAnnouncements.textContent = 'Video paused';\n } else {\n video.play();\n videoButton.setAttribute('aria-label', 'Pause video');\n videoButtonIcon.classList.replace('icon-play', 'icon-pause');\n controlAnnouncements.textContent = 'Video playing';\n }\n });\n };\n\n // Public API\n return {\n init: function () {\n $('.homepage-link').addClass('selected');\n\n // Initialize hero size\n setHeroSize(true);\n\n // Initialize video controls\n setupVideoControls();\n\n $(window).resize(function () {\n setHeroSize(false);\n });\n },\n setBgImage: setBgImage\n };\n })();\n})(window, $);"]}