{"version":3,"file":"static/chunks/4442.b22946139268e9ef.js","mappings":"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","sources":["webpack://_N_E/./components/Button/Button.js","webpack://_N_E/./components/Button/index.js","webpack://_N_E/./constants/breakpoints.js","webpack://_N_E/./constants/index.js","webpack://_N_E/./containers/BasePage/BaseContext.js","webpack://_N_E/./components/NavigationFavorite/NavigationFavorite.js","webpack://_N_E/./components/NavigationFavorite/index.js","webpack://_N_E/./components/NavigationSearch/NavigationSearch.js","webpack://_N_E/./components/NavigationSearch/index.js","webpack://_N_E/./components/Navigation/Navigation.js","webpack://_N_E/./components/Navigation/index.js","webpack://_N_E/./components/ButtonToggle/ButtonToggle.js","webpack://_N_E/./components/ButtonToggle/index.js","webpack://_N_E/./components/NavigationMobile/NavigationMobile.js","webpack://_N_E/./components/NavigationMobile/index.js","webpack://_N_E/./components/Footer/Footer.js","webpack://_N_E/./components/Footer/index.js","webpack://_N_E/./components/BasicLogo/BasicLogo.js","webpack://_N_E/./components/BasicLogo/index.js","webpack://_N_E/./components/NewsletterSignup/NewsletterSignup.js","webpack://_N_E/./components/NewsletterSignup/index.js","webpack://_N_E/./transitions/SlideInFromTop/SlideInFromTop.js","webpack://_N_E/./transitions/SlideInFromTop/index.js","webpack://_N_E/./components/CrisisInformationBar/CrisisInformationBar.js","webpack://_N_E/./components/CrisisInformationBar/index.js","webpack://_N_E/./components/GlobalSiteSwitcher/GlobalSiteSwitcher.js","webpack://_N_E/./components/GlobalSiteSwitcher/index.js","webpack://_N_E/./components/WagtailUserbar/WagtailUserbar.js","webpack://_N_E/./components/WagtailUserbar/index.js","webpack://_N_E/./containers/BasePage/BasePage.js","webpack://_N_E/./containers/BasePage/index.js","webpack://_N_E/./containers/BasePage/state.js","webpack://_N_E/./transitions/FadeIn/FadeIn.js","webpack://_N_E/./transitions/FadeIn/index.js","webpack://_N_E/./utils/api.js","webpack://_N_E/./utils/bookmarks.js","webpack://_N_E/./utils/cookies.js","webpack://_N_E/./utils/isEmpty.js","webpack://_N_E/./utils/localStorage.js","webpack://_N_E/./utils/url.js","webpack://_N_E/./utils/useMediaQuery.js","webpack://_N_E/./components/BasicLogo/BasicLogo.module.scss","webpack://_N_E/./components/Button/Button.module.scss","webpack://_N_E/./components/ButtonToggle/ButtonToggle.module.scss","webpack://_N_E/./components/CrisisInformationBar/CrisisInformationBar.module.scss","webpack://_N_E/./components/Footer/Footer.module.scss","webpack://_N_E/./components/GlobalSiteSwitcher/GlobalSiteSwitcher.module.scss","webpack://_N_E/./components/Navigation/Navigation.module.scss","webpack://_N_E/./components/NavigationFavorite/NavigationFavorite.module.scss","webpack://_N_E/./components/NavigationMobile/NavigationMobile.module.scss","webpack://_N_E/./components/NavigationSearch/NavigationSearch.module.scss","webpack://_N_E/./components/NewsletterSignup/NewsletterSignup.module.scss","webpack://_N_E/./containers/BasePage/BasePage.module.scss","webpack://_N_E/./transitions/FadeIn/FadeIn.module.scss","webpack://_N_E/./transitions/SlideInFromTop/SlideInFromTop.module.scss"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './Button.module.scss';\nimport classNames from 'classnames';\n\nconst Button = ({\n    children = '',\n    link,\n    href,\n    label = '',\n    text = '',\n    title = '',\n    onClick = () => {},\n    icon = '',\n    type = '',\n    className = '',\n    minWidth = null,\n    isDownload = false,\n    untranslatedModifiers = [],\n    attrs = {},\n}) => {\n    const linkHref = href || link || undefined;\n    const Tag = linkHref ? 'a' : 'button';\n\n    let props = {\n        href: linkHref,\n    };\n    let iconClasses;\n\n    if (onClick) {\n        props.onClick = onClick;\n    }\n\n    if (label) {\n        props['aria-label'] = label;\n    }\n\n    if (isDownload) {\n        props.download = true;\n        props.target = '_self';\n    }\n\n    const classes = classNames(\n        styles['Button'],\n        {\n            [styles['Button--Link']]: linkHref,\n            [styles[`Button--${type}`]]: type,\n            [styles['Button--HasIcon']]: icon,\n        },\n        untranslatedModifiers.map((x) => styles[x]),\n        className\n    );\n\n    iconClasses = classNames(\n        styles['Button__Icon'],\n        styles[`Button__Icon--${icon}`]\n    );\n\n    const minWidthStyle = minWidth ? { minWidth } : {};\n\n    return (\n        <Tag {...props} {...attrs} style={minWidthStyle} className={classes}>\n            {text || title || children}\n            {icon && <span className={iconClasses} aria-hidden={true} />}\n        </Tag>\n    );\n};\n\nButton.propTypes = {\n    children: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n    link: PropTypes.string,\n    href: PropTypes.string,\n    text: PropTypes.string,\n    title: PropTypes.string,\n    label: PropTypes.string,\n    onClick: PropTypes.func,\n    icon: PropTypes.string,\n    type: PropTypes.string,\n    className: PropTypes.string,\n    minWidth: PropTypes.string,\n    isDownload: PropTypes.bool,\n    untranslatedModifiers: PropTypes.arrayOf(PropTypes.string),\n    attrs: PropTypes.object,\n};\n\nexport default Button;\n","import Button from './Button';\n\nexport default Button;\n","const breakpoints = {\n    s: 375,\n    sm: 414,\n    m: 768,\n    l: 1280,\n    xl: 1440,\n    xxl: 1680,\n};\n\nexport default breakpoints;\n","import breakpoints from './breakpoints';\n\nexport { breakpoints };\n","import { createContext } from 'react';\n\n// Default values must be empty, default values are instead added to BaseWrap default props\nconst BaseContext = createContext({\n    googleMapsApiKey: '',\n    isStorybook: false,\n});\n\nexport default BaseContext;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { useTranslation } from 'next-i18next';\n\nimport * as bookmarks from '../../utils/bookmarks';\n\nimport styles from './NavigationFavorite.module.scss';\n\nconst NavigationFavorite = ({\n    favoritesPageUrl,\n    onHover,\n    onHoverLeave,\n    hasMouseOverThisItem,\n    mouseOverItem,\n}) => {\n    const { t } = useTranslation('common');\n    const [isActive, setIsActive] = useState(false);\n    const [favoritesCount, setFavoritesCount] = useState(0);\n\n    const handleBookmarksUpdated = (updatedBookmarks) =>\n        setFavoritesCount(updatedBookmarks.length);\n\n    useEffect(() => {\n        setFavoritesCount(bookmarks.getBookmarks().length);\n\n        setIsActive(\n            typeof window !== 'undefined' &&\n                window.location.href === favoritesPageUrl\n        );\n\n        bookmarks.onBookmarksUpdated(handleBookmarksUpdated);\n        return () => {\n            bookmarks.removeOnBookmarksUpdated(handleBookmarksUpdated);\n        };\n    }, [favoritesPageUrl]);\n\n    const favoriteClasses = classNames(styles['NavigationFavorite'], {\n        [styles['NavigationFavorite--Filled']]: favoritesCount > 0,\n        [styles['NavigationFavorite--Active']]: isActive,\n        [styles['NavigationFavorite--Fade']]:\n            !hasMouseOverThisItem && mouseOverItem !== undefined,\n    });\n\n    return (\n        <a\n            className={favoriteClasses}\n            onMouseOver={onHover}\n            onFocus={onHover}\n            onMouseLeave={onHoverLeave}\n            href={favoritesPageUrl}\n            data-number={favoritesCount < 100 ? favoritesCount : 99}>\n            <span className=\"sr-only\">{t('navigationfavorite.link')}</span>\n            {favoritesCount > 0 && (\n                <span className={styles['NavigationFavorite__NumberContainer']}>\n                    <span className=\"NavigaationFavorite__Number\">\n                        {favoritesCount < 100 ? favoritesCount : 99}\n                    </span>\n                </span>\n            )}\n        </a>\n    );\n};\n\nNavigationFavorite.propTypes = {\n    favoritesPageUrl: PropTypes.string,\n    onHover: PropTypes.func,\n    onHoverLeave: PropTypes.func,\n    hasMouseOverThisItem: PropTypes.bool,\n    mouseOverItem: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n};\n\nNavigationFavorite.defaultProps = {\n    favoritesPageUrl: '',\n};\n\nexport default NavigationFavorite;\n","import NavigationFavorite from './NavigationFavorite';\n\nexport default NavigationFavorite;\n","import React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport styles from './NavigationSearch.module.scss';\nimport { useTranslation } from 'next-i18next';\nimport { getSearchSuggestions } from '../../utils/api';\nimport classNames from 'classnames';\nimport FadeIn from '../../transitions/FadeIn';\n\nconst useDebounce = (value, delay = 250) => {\n    const [debouncedValue, setDebouncedValue] = useState(value);\n\n    useEffect(() => {\n        const timeout = setTimeout(() => {\n            setDebouncedValue(value);\n        }, delay);\n\n        return () => clearTimeout(timeout);\n    }, [delay, value]);\n\n    return debouncedValue;\n};\n\n/*\n * Suggestions should be shown only when:\n * - NavigationSearch is focussed and there are suggestions\n * - A search suggestion is focused\n */\n\nconst NavigationSearch = ({ searchPageUrl, onClose }) => {\n    const { t } = useTranslation('common');\n    const [searchInput, setSearchInput] = useState('');\n    const [suggestions, setSuggestions] = useState([]);\n    const [showSuggestions, setShowSuggestions] = useState(false);\n    const [focussed, setFocussed] = useState('');\n    const debouncedInput = useDebounce(searchInput);\n\n    useEffect(() => {\n        const getItems = async () => {\n            const items = await getSearchSuggestions(debouncedInput, '');\n            setSuggestions(items);\n        };\n        if (debouncedInput) {\n            getItems();\n        }\n    }, [debouncedInput]);\n\n    /* Key handling */\n    useEffect(() => {\n        const handleBlockScroll = (e) => {\n            if (e.keyCode === 40 || e.keyCode === 38) {\n                e.preventDefault();\n            }\n            // const UP = 38;\n            // const DOWN = 40;\n        };\n        const handleKeyPress = (e) => {\n            const UP = 38;\n            const DOWN = 40;\n            const ESC = 27;\n            const ENTER = 13;\n            const currentElement = document.activeElement;\n            const keyCode = e.keyCode;\n            const isLink = currentElement\n                ? currentElement.classList.value.indexOf(\n                      styles['NavigationSearch__Link']\n                  ) > -1\n                : '';\n            const isSearch = currentElement.id === 'search';\n\n            if (isSearch && keyCode === DOWN) {\n                document\n                    .querySelector(\n                        '#suggestions .NavigationSearch__Link:first-of-type'\n                    )\n                    .focus();\n            }\n\n            if (isSearch && keyCode === ENTER && searchInput) {\n                window.location.href = `${searchPageUrl}?query=${encodeURIComponent(\n                    searchInput\n                )}`;\n            }\n\n            // We are at the first suggestion and press up\n            if (\n                !isSearch &&\n                isLink &&\n                keyCode === UP &&\n                !currentElement.parentElement.previousSibling\n            ) {\n                // Takes the links parent (li) and finds its next sibling (li)\n                // and finds its link and focusses\n                document.querySelector('.NavigationSearch__Input').focus();\n                currentElement.parentElement.previousSibling\n                    .querySelector('a')\n                    .focus();\n            }\n\n            // We are not at the first suggestion and press up\n            if (\n                !isSearch &&\n                isLink &&\n                keyCode === UP &&\n                currentElement.parentElement.previousSibling\n            ) {\n                // Takes the links parent (li) and finds its previous sibling (li)\n                // and finds its link and focusses\n                currentElement.parentElement.previousSibling\n                    .querySelector('a')\n                    .focus();\n            }\n\n            // We are not at a link and press down\n            if (\n                !isSearch &&\n                isLink &&\n                keyCode === DOWN &&\n                currentElement.parentElement.nextSibling\n            ) {\n                // Takes the links parent (li) and finds its next sibling (li)\n                // and finds its link and focusses\n                currentElement.parentElement.nextSibling\n                    .querySelector('a')\n                    .focus();\n            }\n\n            if (keyCode === ESC) {\n                onClose();\n                setShowSuggestions(false);\n                document.body.classList.remove('Dimmed');\n                document.body.classList.remove('NavSearching');\n            }\n        };\n\n        document.addEventListener('keyup', handleKeyPress);\n        document.addEventListener('keydown', handleBlockScroll);\n\n        return () => {\n            document.removeEventListener('keyup', handleKeyPress);\n            document.removeEventListener('keydown', handleBlockScroll);\n        };\n    }, [searchInput, searchPageUrl, onClose]);\n\n    useEffect(() => {\n        const handleFocus = (e) => {\n            setFocussed(e.target);\n        };\n        const handleClick = (e) => {\n            if (e.target && e.target.classList.contains('Dimmed')) {\n                onClose();\n                setShowSuggestions(false);\n                document.body.classList.remove('Dimmed');\n                document.body.classList.remove('NavSearching');\n            }\n        };\n\n        document.addEventListener('focusin', handleFocus, true);\n        document.addEventListener('click', handleClick, true);\n        document.querySelector('.NavigationSearch__Input').focus();\n\n        return () => {\n            document.removeEventListener('focusin', handleFocus, true);\n            document.removeEventListener('click', handleClick, true);\n        };\n    }, [onClose]);\n\n    useEffect(() => {\n        // if (suggestions.length < 1) {\n        //     setShowSuggestions(false);\n        //     document.body.classList.remove('Dimmed');\n        //     return;\n        // }\n        const focusShouldShow =\n            (focussed && focussed.id == 'search') ||\n            focussed.localName == 'li' ||\n            (focussed &&\n                focussed.classList.contains(\n                    styles['NavigationSearch__Link']\n                )) ||\n            (focussed &&\n                focussed.classList.contains(\n                    styles['NavigationSearch__Button']\n                )) ||\n            (focussed &&\n                focussed.classList.contains(\n                    styles['NavigationSearch__Cancel']\n                )) ||\n            (focussed &&\n                focussed.classList.contains(styles['NavigationSearch__Reset']));\n\n        if (focusShouldShow) {\n            setShowSuggestions(true);\n            document.body.classList.add('Dimmed');\n            document.body.classList.add('NavSearching');\n        } else {\n            setShowSuggestions(false);\n            document.body.classList.remove('Dimmed');\n            document.body.classList.remove('NavSearching');\n        }\n    }, [suggestions, focussed]);\n\n    const suggestionsClasses = classNames(\n        styles['NavigationSearch__Suggestions'],\n        {\n            [styles['NavigationSearch__Suggestions--HasSuggestions']]: true,\n        }\n    );\n    const wrapperClasses = classNames(styles['NavigationSearch__Wrap'], {\n        [styles['NavigationSearch__Wrap--ShowsSuggestions']]: showSuggestions,\n    });\n\n    return (\n        <div className={styles['NavigationSearch']}>\n            <div className={wrapperClasses}>\n                <input\n                    className={\n                        styles['NavigationSearch__Input'] +\n                        ' NavigationSearch__Input'\n                    }\n                    value={searchInput}\n                    placeholder={t('search.placeholder')}\n                    id=\"search\"\n                    onChange={(e) => setSearchInput(e.target.value)}\n                />\n                {searchInput !== '' && (\n                    <button\n                        onClick={() => setSearchInput('')}\n                        className={styles['NavigationSearch__Reset']}\n                        aria-label={t('search.resetSearchAriaLabel')}></button>\n                )}\n                <button\n                    className={styles['NavigationSearch__Button']}\n                    aria-label={t('search.searchAriaLabel')}\n                    onClick={() => {\n                        window.location.href = `${searchPageUrl}?query=${encodeURIComponent(\n                            searchInput\n                        )}`;\n                    }}></button>\n\n                <button\n                    className={styles['NavigationSearch__Cancel']}\n                    aria-label={t('search.searchAriaClose')}\n                    onClick={() => {\n                        onClose();\n                        setShowSuggestions(false);\n                        document.body.classList.remove('Dimmed');\n                        document.body.classList.remove('NavSearching');\n                    }}></button>\n\n                <FadeIn visible={showSuggestions}>\n                    <div\n                        role=\"region\"\n                        aria-live=\"polite\"\n                        id=\"suggestions\"\n                        className={suggestionsClasses}>\n                        <ol>\n                            {suggestions.map((item) => {\n                                return (\n                                    <li key={item.href}>\n                                        <a\n                                            className={\n                                                styles['NavigationSearch__Link']\n                                            }\n                                            href={item.href}>\n                                            {item.title}\n                                        </a>\n                                    </li>\n                                );\n                            })}\n                            {searchInput && (\n                                <li\n                                    className={\n                                        styles['NavigationSearch__SearchLink']\n                                    }>\n                                    <a\n                                        className={\n                                            styles['NavigationSearch__Link']\n                                        }\n                                        href={`${searchPageUrl}?query=${encodeURIComponent(\n                                            searchInput\n                                        )}`}>\n                                        {`Search: \"${searchInput}\"`}\n                                    </a>\n                                </li>\n                            )}\n                        </ol>\n                    </div>\n                </FadeIn>\n            </div>\n        </div>\n    );\n};\n\nNavigationSearch.propTypes = {\n    searchPageUrl: PropTypes.string,\n    onClose: PropTypes.func,\n};\n\nNavigationSearch.defaultProps = { searchPageUrl: '', onClose: () => {} };\n\nexport default NavigationSearch;\n","import NavigationSearch from './NavigationSearch';\n\nexport default NavigationSearch;\n","import React, { useState, useCallback, useEffect, useContext } from 'react';\nimport PropTypes from 'prop-types';\n\nimport NavigationFavorite from '../NavigationFavorite';\nimport NavigationSearch from '../NavigationSearch';\nimport FadeIn from '../../transitions/FadeIn';\nimport { CookieStateContext } from '../../containers/BasePage/state';\nimport { useTranslation } from 'next-i18next';\nimport classNames from 'classnames';\n\nimport styles from './Navigation.module.scss';\n\nconst Navigation = ({\n    menu = [],\n    searchPageUrl,\n    favoritesPageUrl,\n    languages = [],\n    isSearchActive,\n    pageType,\n}) => {\n    const { t } = useTranslation('common');\n    const [activeMenuItem, setActiveMenuItem] = useState(undefined);\n    const [langSwitchIsOpen, setLangSwitchIsOpen] = useState(false);\n    const [showSearch, setShowSearch] = useState(false);\n\n    const { state } = useContext(CookieStateContext) || {};\n    const cookieConsent = state?.categories?.includes('functionality');\n\n    const logotypeClasses = classNames(styles['Navigation__Logotype'], {\n        [styles['Navigation__Logotype--Fade']]: activeMenuItem !== undefined,\n    });\n\n    const bylineClasses = classNames(styles['Navigation__Byline'], {\n        [styles['Navigation__Byline--Fade']]: activeMenuItem !== undefined,\n    });\n\n    const searchClasses = classNames(styles['Navigation__Search'], {\n        [styles['Navigation__Search--Active']]: isSearchActive,\n    });\n\n    const serviceMenuClasses = classNames(styles['Navigation__ServiceMenu'], {\n        [styles['Navigation__ServiceMenu--Fade']]:\n            activeMenuItem !== undefined && activeMenuItem !== 'languages',\n        [styles['Navigation__ServiceMenu--Active']]:\n            activeMenuItem !== undefined && activeMenuItem === 'languages',\n    });\n\n    const navClasses = classNames(styles['Navigation'], {\n        [styles['Navigation--HomePage']]: pageType == 'HomePage',\n    });\n\n    const navigationContainerClasses = classNames(\n        styles['Navigation__Container'],\n        'Navigation__Container',\n        {\n            [styles['Navigation__Container--IsSearching']]: showSearch,\n        }\n    );\n\n    useEffect(() => {\n        const handleScroll = () => {\n            if (window.scrollY > 75) {\n                setActiveMenuItem(undefined);\n            }\n        };\n\n        window.addEventListener('scroll', handleScroll);\n\n        return () => {\n            window.removeEventListener('scroll', handleScroll);\n        };\n    }, []);\n\n    useEffect(() => {\n        const handleBlockScroll = (e) => {\n            if (e.keyCode === 40 || e.keyCode === 38) {\n                e.preventDefault();\n            }\n            // const UP = 38;\n            // const DOWN = 40;\n        };\n        const handleKeyPress = (e) => {\n            const ESC = 27;\n            const UP = 38;\n            const DOWN = 40;\n            const currentElement = document.activeElement;\n            const isButton = currentElement\n                ? currentElement.classList.value.indexOf(\n                      styles['Navigation__ActiveLanguage']\n                  ) > -1\n                : '';\n            const isLink = currentElement\n                ? currentElement.classList.value.indexOf(\n                      styles['Navigation__LanguageLink']\n                  ) > -1\n                : '';\n            const keyCode = e.keyCode;\n\n            if (keyCode === ESC) {\n                setActiveMenuItem(undefined);\n                setLangSwitchIsOpen(false);\n            }\n\n            // We are at the first suggestion and press up\n            if (isLink && keyCode === UP && !currentElement.previousSibling) {\n                currentElement.parentElement.previousSibling.focus();\n            }\n\n            // We are not at the first suggestion and press up\n            if (isLink && keyCode === UP && currentElement.previousSibling) {\n                currentElement.previousSibling.focus();\n            }\n\n            // We are on the language dropdown button\n            if (isButton && keyCode === DOWN) {\n                currentElement.nextSibling.querySelector('a').focus();\n            }\n\n            // We press down inside dropdown\n            if (isLink && keyCode === DOWN && currentElement.nextSibling) {\n                currentElement.nextSibling.focus();\n            }\n\n            // We are on last item\n            if (isLink && keyCode === DOWN && !currentElement.nextSibling) {\n                currentElement.focus();\n            }\n        };\n\n        document.addEventListener('keyup', handleKeyPress);\n        if (langSwitchIsOpen) {\n            document.removeEventListener('keydown', handleBlockScroll);\n        }\n\n        return () => {\n            document.removeEventListener('keyup', handleKeyPress);\n            if (langSwitchIsOpen) {\n                document.removeEventListener('keydown', handleBlockScroll);\n            }\n        };\n    }, [langSwitchIsOpen]);\n\n    const activateSearch = () => {\n        if (\n            typeof window !== 'undefined' &&\n            window.location.pathname !== '/' &&\n            searchPageUrl.indexOf(window.location.pathname) > -1\n        ) {\n            document\n                .querySelector('.SearchFilter__HeadingLabel')\n                .scrollIntoView({\n                    behavior: 'smooth',\n                });\n        } else {\n            setShowSearch(true);\n        }\n    };\n\n    const handleClickItem = (item) => {\n        setLangSwitchIsOpen(false);\n\n        if (item === activeMenuItem) {\n            setActiveMenuItem(undefined);\n            return;\n        }\n\n        setActiveMenuItem(item);\n    };\n\n    const handleLangSwitch = () => {\n        setActiveMenuItem(undefined);\n        setLangSwitchIsOpen(!langSwitchIsOpen);\n    };\n\n    return (\n        <nav role=\"navigation\" className={navClasses}>\n            <div className={navigationContainerClasses}>\n                <FadeIn visible={showSearch}>\n                    <NavigationSearch\n                        searchPageUrl={searchPageUrl}\n                        onClose={useCallback(() => setShowSearch(false), [])}\n                    />\n                </FadeIn>\n                {!showSearch && (\n                    <>\n                        <div className={logotypeClasses}>\n                            {typeof window !== 'undefined' &&\n                                window.location.pathname !== '/' && (\n                                    <a href=\"/\">\n                                        <span className=\"sr-only\">\n                                            {t('navigation.logo')}\n                                        </span>\n                                    </a>\n                                )}\n                        </div>\n\n                        <div className={styles['Navigation__MenuWrap']}>\n                            <div className={bylineClasses}>\n                                {t('navigation.byline')}\n                            </div>\n                            <div className={styles['Navigation__Menu']}>\n                                {menu.map((item, idx) => (\n                                    <NavItem\n                                        key={idx}\n                                        navId={`nav-id-${idx}`}\n                                        idx={idx}\n                                        onClickItem={() => {\n                                            handleClickItem(item);\n                                        }}\n                                        isActive={item === activeMenuItem}\n                                        activeMenuItem={activeMenuItem}\n                                        {...item}\n                                    />\n                                ))}\n\n                                {searchPageUrl && (\n                                    <button\n                                        className={searchClasses}\n                                        onKeyUp={(e) => {\n                                            const DOWN = 40;\n                                            const ENTER = 13;\n                                            const SPACE = 32;\n                                            if (\n                                                [DOWN, ENTER, SPACE].indexOf(\n                                                    e.keyCode\n                                                ) > -1\n                                            ) {\n                                                activateSearch();\n                                            }\n                                        }}\n                                        onClick={() => activateSearch()}>\n                                        <span className=\"sr-only\">\n                                            {t('navigation.search')}\n                                        </span>\n                                    </button>\n                                )}\n\n                                {favoritesPageUrl && cookieConsent && (\n                                    <NavigationFavorite\n                                        favoritesPageUrl={favoritesPageUrl}\n                                    />\n                                )}\n\n                                <div className={serviceMenuClasses}>\n                                    <LanguageSwitch\n                                        languages={languages}\n                                        handleLangSwitch={handleLangSwitch}\n                                        langSwitchIsOpen={langSwitchIsOpen}\n                                    />\n                                </div>\n                            </div>\n                        </div>\n                    </>\n                )}\n            </div>\n        </nav>\n    );\n};\n\nconst LanguageSwitch = ({ languages, handleLangSwitch, langSwitchIsOpen }) => {\n    const { t } = useTranslation('common');\n    const activeLanguage = languages.filter((l) => l.isActive)[0];\n\n    const switchMenuClass = classNames(styles['Navigation__LanguageMenu'], {\n        [styles['Navigation__LanguageMenu--Open']]: langSwitchIsOpen,\n    });\n\n    const languageSwitcherClasses = classNames(\n        styles['Navigation__LanguageSwitcher'],\n        {\n            [styles['Navigation__LanguageSwitcher--Open']]: langSwitchIsOpen,\n        }\n    );\n\n    if (!activeLanguage) {\n        return null;\n    }\n\n    return (\n        <div className={languageSwitcherClasses}>\n            <button\n                onClick={handleLangSwitch}\n                aria-expanded={langSwitchIsOpen}\n                aria-controls=\"language-switch\"\n                className={styles['Navigation__ActiveLanguage']}>\n                {t(`navigation.languages.${activeLanguage.langCode}`)}\n            </button>\n            <div\n                id=\"language-switch\"\n                aria-hidden={!langSwitchIsOpen}\n                className={switchMenuClass}>\n                {languages.map((item, idx) => {\n                    const checkBoxClass = classNames(\n                        styles['Navigation__Checkbox'],\n                        {\n                            [styles['Navigation__Checkbox--Active']]:\n                                item.isActive,\n                        }\n                    );\n\n                    return (\n                        <a\n                            className={styles['Navigation__LanguageLink']}\n                            key={idx}\n                            lang={item.langCode}\n                            href={item.href}>\n                            <span\n                                className={checkBoxClass}\n                                aria-hidden={true}\n                            />\n                            {t(`navigation.languages.${item.langCode}`)}\n                        </a>\n                    );\n                })}\n            </div>\n        </div>\n    );\n};\n\nconst NavItem = ({\n    title,\n    href,\n    pageType,\n    items,\n    onClickItem,\n    isActive,\n    activeMenuItem,\n    navId,\n}) => {\n    const linkClass = classNames(styles['Navigation__NavLink'], {\n        [styles[`Navigation__NavLink--${pageType}`]]: pageType,\n        [styles['Navigation__NavLink--ActivePage']]: isActive,\n    });\n\n    if (pageType === 'Explore') {\n        onClickItem = undefined;\n    }\n\n    return (\n        <>\n            {items && items.length > 0 ? (\n                <>\n                    <button\n                        className={styles['Navigation__NavItem']}\n                        aria-expanded={isActive}\n                        onClick={onClickItem}>\n                        <span className={linkClass}>{title}</span>\n                    </button>\n                    <Dropdown\n                        navId={navId}\n                        visible={isActive}\n                        items={items}\n                        title={title}\n                        href={href}\n                        activeMenuItem={activeMenuItem}\n                    />\n                </>\n            ) : (\n                <a className={linkClass} href={href}>\n                    {title}\n                </a>\n            )}\n        </>\n    );\n};\n\nconst Dropdown = ({ items, visible, navId, title, href, activeMenuItem }) => {\n    const dropdownClasses = classNames(styles['Navigation__Dropdown'], {\n        [styles['Navigation__Dropdown--Visible']]: visible,\n        [styles['Navigation__Dropdown--FadeOut']]:\n            activeMenuItem !== undefined && activeMenuItem === false,\n    });\n\n    let newItems = items.filter((item) => item.items.length > 0);\n\n    return (\n        <div id={navId} className={dropdownClasses}>\n            <div className={styles['Navigation__DropdownWrap']}>\n                <div className={styles['Navigation__DropdownContainer']}>\n                    <div className={styles['Navigation__DropdownHeader']}>\n                        <a\n                            href={href}\n                            className={\n                                styles['Navigation__DropdownHeaderLink']\n                            }>\n                            <span>{title}</span>\n                        </a>\n                    </div>\n                    {newItems.map((lists, index) => (\n                        <div\n                            className={styles['Navigation__DropdownOuterList']}\n                            key={index}>\n                            {lists.items &&\n                                lists.items.map((list, listIndex) => (\n                                    <DropdownList {...list} key={listIndex} />\n                                ))}\n                        </div>\n                    ))}\n                </div>\n            </div>\n        </div>\n    );\n};\n\nconst DropdownList = ({ label, links, showArrowIcon }) => (\n    <div className={styles['Navigation__DropdownInnerWrap']}>\n        <h2 className={styles['Navigation__DropdownListTitle']}>{label}</h2>\n\n        <ul>\n            {links &&\n                links.map((item, index) => {\n                    const linkClasses = classNames(\n                        styles['Navigation__DropdownLink'],\n                        {\n                            [styles['Navigation__DropdownLink--Arrow']]:\n                                showArrowIcon,\n                            [styles['Navigation__DropdownLink--City']]:\n                                !showArrowIcon && item.type === 'city',\n                            [styles['Navigation__DropdownLink--Region']]:\n                                !showArrowIcon && item.type === 'region',\n                        }\n                    );\n\n                    return (\n                        <li key={index}>\n                            <a className={linkClasses} href={item.href}>\n                                {item.title}\n                            </a>\n                        </li>\n                    );\n                })}\n        </ul>\n    </div>\n);\n\nDropdownList.propTypes = {\n    label: PropTypes.string,\n    links: PropTypes.array,\n    showArrowIcon: PropTypes.bool,\n};\n\nNavItem.propTypes = {\n    idx: PropTypes.number,\n    title: PropTypes.string,\n    href: PropTypes.string,\n    pageType: PropTypes.string,\n    items: PropTypes.array,\n    active: PropTypes.bool,\n    isActive: PropTypes.bool,\n    onClickItem: PropTypes.func,\n    navId: PropTypes.string,\n};\n\nDropdown.propTypes = {\n    items: PropTypes.array,\n    visible: PropTypes.bool,\n    navId: PropTypes.string,\n};\n\nLanguageSwitch.propTypes = {\n    languages: PropTypes.array,\n    setLangSwitchIsOpen: PropTypes.func,\n    langSwitchIsOpen: PropTypes.bool,\n};\n\nNavigation.propTypes = {\n    menu: PropTypes.array,\n    searchPageUrl: PropTypes.string,\n    favoritesPageUrl: PropTypes.string,\n    languages: PropTypes.array,\n    pageType: PropTypes.string,\n    isSearchActive: PropTypes.bool,\n};\n\nexport default Navigation;\n","import Navigation from './Navigation';\n\nexport default Navigation;\n","import React from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport styles from './ButtonToggle.module.scss';\n\nconst ButtonToggle = ({ onClick, className, untranslatedClassNames = [] }) => {\n    const translatedClassNames = untranslatedClassNames.map((x) => styles[x]);\n    return (\n        <button\n            className={classNames(className, translatedClassNames)}\n            onClick={onClick}\n        />\n    );\n};\n\nButtonToggle.propTypes = {\n    props: PropTypes.shape({\n        className: PropTypes.string,\n        onClick: PropTypes.func,\n    }),\n    rawModifiers: PropTypes.arrayOf(PropTypes.string),\n};\n\nButtonToggle.defaultProps = {\n    className: styles['ButtonToggle'],\n    rawModifiers: [],\n};\n\nexport default ButtonToggle;\n","import ButtonToggle from './ButtonToggle';\n\nexport default ButtonToggle;\n","import React, { useState, useCallback, useContext } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport styles from './NavigationMobile.module.scss';\n\nimport NavigationFavorite from '../NavigationFavorite';\nimport NavigationSearch from '../NavigationSearch';\nimport FadeIn from '../../transitions/FadeIn';\nimport { CookieStateContext } from '../../containers/BasePage/state';\nimport ButtonToggle from '../ButtonToggle';\nimport { useTranslation } from 'next-i18next';\n\nconst NavigationMobile = ({\n    menu,\n    searchPageUrl,\n    favoritesPageUrl,\n    languages,\n    handleDisable,\n}) => {\n    const { t } = useTranslation('common');\n    const [menuIsOpen, setMenuIsOpen] = useState(false);\n    const [showSearch, setShowSearch] = useState(false);\n    const handleMenuToggle = useCallback(() => {\n        handleDisable();\n        setMenuIsOpen((menuIsOpen) => !menuIsOpen);\n    }, [handleDisable]);\n\n    const { state } = useContext(CookieStateContext) || {};\n    const cookieConsent = state?.categories?.includes('functionality');\n\n    const menuClasses = classNames(styles['NavigationMobile'], {\n        [styles['NavigationMobile--Open']]: menuIsOpen,\n        ['NavigationMobile--Open']: menuIsOpen, // for headroom styling\n    });\n\n    return (\n        <nav className={menuClasses}>\n            <div className={styles['NavigationMobile__Container']}>\n                <FadeIn visible={showSearch}>\n                    <NavigationSearch\n                        searchPageUrl={searchPageUrl}\n                        onClose={() => setShowSearch(false)}\n                    />\n                </FadeIn>\n                {!showSearch && (\n                    <>\n                        <a\n                            href=\"/\"\n                            className={styles['NavigationMobile__Logotype']}>\n                            <span className=\"sr-only\">\n                                Visit Sweden Logotype\n                            </span>\n                        </a>\n                        <div className={styles['NavigationMobile__Actions']}>\n                            <button\n                                className={styles['NavigationMobile__Search']}\n                                onClick={() => {\n                                    if (\n                                        typeof window !== 'undefined' &&\n                                        window.location.pathname !== '/' &&\n                                        searchPageUrl.indexOf(\n                                            window.location.pathname\n                                        ) > -1\n                                    ) {\n                                        document\n                                            .querySelector(\n                                                '.SearchFilter__HeadingLabel'\n                                            )\n                                            .scrollIntoView({\n                                                behavior: 'smooth',\n                                            });\n                                    } else {\n                                        setShowSearch(true);\n                                    }\n                                }}>\n                                <span className=\"sr-only\">\n                                    {t('navigation.search')}\n                                </span>\n                            </button>\n\n                            {favoritesPageUrl && cookieConsent && (\n                                <NavigationFavorite\n                                    favoritesPageUrl={favoritesPageUrl}\n                                />\n                            )}\n\n                            <button\n                                className={styles['NavigationMobile__Toggle']}\n                                onClick={handleMenuToggle}>\n                                {menuIsOpen ? (\n                                    <span className=\"sr-only\">\n                                        {t('navigation.close')}\n                                    </span>\n                                ) : (\n                                    <span className=\"sr-only\">\n                                        {t('navigation.open')}\n                                    </span>\n                                )}\n                            </button>\n                        </div>\n                    </>\n                )}\n            </div>\n            <div className={styles['NavigationMobile__ItemsContainer']}>\n                <div className={styles['NavigationMobile__Items']}>\n                    {menu.map((item, index) => (\n                        <SubNavigation key={index} {...item} />\n                    ))}\n\n                    <MobileLanguageSwitcher languages={languages} />\n                </div>\n            </div>\n        </nav>\n    );\n};\n\nNavigationMobile.propTypes = {\n    menu: PropTypes.array,\n    searchPageUrl: PropTypes.string,\n    favoritesPageUrl: PropTypes.string,\n    languages: PropTypes.array,\n    handleDisable: PropTypes.func,\n};\n\nNavigationMobile.defaultProps = {\n    menu: [],\n    languages: [],\n    searchPageUrl: '',\n    favoritesPageUrl: '',\n    handleDisable: () => false,\n};\n\nconst MobileLanguageSwitcher = ({ languages }) => {\n    const { t } = useTranslation('common');\n    const [subMenuIsOpen, setSubMenuIsOpen] = useState(false);\n    const handleSubMenuToggle = useCallback((e) => {\n        e.preventDefault();\n        setSubMenuIsOpen((subMenuIsOpen) => !subMenuIsOpen);\n    }, []);\n    const activeLanguage = languages.filter((l) => l.isActive)[0] || {};\n\n    let buttonToggleModifiers = ['ButtonToggle', 'ButtonToggle--Grey300'];\n\n    if (!subMenuIsOpen) {\n        buttonToggleModifiers = [\n            ...buttonToggleModifiers,\n            'ButtonToggle--Language',\n        ];\n    }\n\n    if (subMenuIsOpen) {\n        buttonToggleModifiers = [\n            ...buttonToggleModifiers,\n            'ButtonToggle--LanguageClose',\n        ];\n    }\n\n    return (\n        <>\n            <div className={styles['NavigationMobile__ItemContainer']}>\n                <div\n                    className={\n                        styles['NavigationMobile__Item'] +\n                        ' ' +\n                        styles['NavigationMobile__Item--TopLevel']\n                    }>\n                    <span className={styles['NavigationMobile__Language']}>\n                        {t('navigation.language')}\n                    </span>\n                    <span\n                        className={styles['NavigationMobile__ActiveLanguage']}>\n                        {activeLanguage.title}\n                    </span>\n                    <div className={styles['NavigationMobile__ButtonToggle']}>\n                        <ButtonToggle\n                            untranslatedClassNames={buttonToggleModifiers}\n                            onClick={handleSubMenuToggle}\n                        />\n                    </div>\n                </div>\n            </div>\n            {subMenuIsOpen &&\n                languages &&\n                languages.map((language, index) => (\n                    <div\n                        key={index}\n                        className={classNames(\n                            styles['NavigationMobile__ItemContainer'],\n                            styles['NavigationMobile__ItemContainer--SubLevel'],\n                            styles['NavigationMobile__Item--Language']\n                        )}>\n                        <span\n                            className={classNames(\n                                styles['NavigationMobile__Checkbox'],\n                                {\n                                    [styles[\n                                        'NavigationMobile__Checkbox--Active'\n                                    ]]: language.isActive,\n                                }\n                            )}\n                        />\n                        {language.title}\n                        <a\n                            className={styles['NavigationMobile__ItemLink']}\n                            href={language.href}></a>\n                    </div>\n                ))}\n        </>\n    );\n};\n\nMobileLanguageSwitcher.propTypes = {\n    languages: PropTypes.array,\n};\n\nconst SubNavigation = ({ title, pageType, items, href }) => {\n    const [subMenuIsOpen, setSubMenuIsOpen] = useState(false);\n    const handleSubMenuToggle = useCallback((e) => {\n        e.preventDefault();\n        setSubMenuIsOpen((subMenuIsOpen) => !subMenuIsOpen);\n    }, []);\n    let buttonToggleClasses = ['ButtonToggle', 'ButtonToggle--Grey300'];\n\n    if (!subMenuIsOpen) {\n        buttonToggleClasses = [...buttonToggleClasses, 'ButtonToggle--Plus'];\n    }\n\n    if (subMenuIsOpen) {\n        buttonToggleClasses = [...buttonToggleClasses, 'ButtonToggle--Minus'];\n    }\n\n    const topNavigationClasses = classNames(\n        styles['NavigationMobile__Item'],\n        styles['NavigationMobile__Item--TopLevel'],\n        { [styles[`NavigationMobile__Item--${pageType}`]]: pageType }\n    );\n\n    const hasSubMenuLinkItems =\n        items &&\n        !!items.length &&\n        items.some((firstLevelLists) => {\n            return (\n                firstLevelLists.items &&\n                firstLevelLists.items.some((secondLevelLists) => {\n                    return (\n                        secondLevelLists.links &&\n                        !!secondLevelLists.links.length &&\n                        !!secondLevelLists.links.length\n                    );\n                })\n            );\n        });\n\n    return (\n        <>\n            <div className={styles['NavigationMobile__ItemContainer']}>\n                <a className={topNavigationClasses} href={href}>\n                    {title}\n                </a>\n                {hasSubMenuLinkItems && (\n                    <div className={styles['NavigationMobile__ButtonToggle']}>\n                        <ButtonToggle\n                            untranslatedClassNames={buttonToggleClasses}\n                            onClick={handleSubMenuToggle}\n                        />\n                    </div>\n                )}\n            </div>\n            {subMenuIsOpen &&\n                items &&\n                items.map((lists, listsIndex) => (\n                    <React.Fragment key={listsIndex}>\n                        {lists.items &&\n                            lists.items.map(\n                                ({ links, showArrowIcon }, listIndex) => (\n                                    <React.Fragment key={listIndex}>\n                                        {links &&\n                                            links.map((link, linkIndex) => (\n                                                <SubNavigationItem\n                                                    key={linkIndex}\n                                                    {...link}\n                                                    showArrowIcon={\n                                                        showArrowIcon\n                                                    }\n                                                />\n                                            ))}\n                                    </React.Fragment>\n                                )\n                            )}\n                    </React.Fragment>\n                ))}\n        </>\n    );\n};\n\nSubNavigation.propTypes = {\n    title: PropTypes.string,\n    href: PropTypes.string,\n    pageType: PropTypes.string,\n    items: PropTypes.array,\n};\n\nconst SubNavigationItem = ({\n    title,\n    href,\n    pageType,\n    isEditorial,\n    type,\n    showArrowIcon,\n}) => {\n    const subNavigationClasses = classNames(\n        styles['NavigationMobile__ItemContainer'],\n        styles['NavigationMobile__ItemContainer--SubLevel'],\n        {\n            [styles[`NavigationMobile__Item--${pageType}`]]:\n                pageType && !isEditorial,\n        },\n        { [styles['NavigationMobile__Item--Editorial']]: isEditorial },\n        { [styles['Navigation__DropdownLink--Arrow']]: showArrowIcon },\n        {\n            [styles['NavigationMobile__Item--City']]:\n                !showArrowIcon && type === 'city',\n        },\n        {\n            [styles['NavigationMobile__Item--Region']]:\n                !showArrowIcon && type === 'region',\n        }\n    );\n\n    const subNavigationLinkClasses = classNames(\n        styles['NavigationMobile__Item'],\n        styles['NavigationMobile__Item--SubLevel']\n    );\n\n    return (\n        <div className={subNavigationClasses}>\n            <span className={subNavigationLinkClasses}>{title}</span>\n            <a href={href} className={styles['NavigationMobile__ItemLink']}>\n                <span className=\"sr-only\">{title}</span>\n            </a>\n        </div>\n    );\n};\n\nSubNavigationItem.propTypes = {\n    title: PropTypes.string,\n    href: PropTypes.string,\n    pageType: PropTypes.string,\n    isEditorial: PropTypes.bool,\n    type: PropTypes.string,\n    showArrowIcon: PropTypes.bool,\n};\n\nexport default NavigationMobile;\n","import NavigationMobile from './NavigationMobile';\n\nexport default NavigationMobile;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'next-i18next';\n\nimport styles from './Footer.module.scss';\n\nconst Footer = ({\n    footerMainMenu = [],\n    footerPrivacyMenu = {\n        items: [],\n        copyrightYear: 2020,\n    },\n    socialMediaProfiles = [],\n}) => {\n    return (\n        <footer className={styles['Footer']}>\n            <div className={styles['Footer__Container']}>\n                <MainNav items={footerMainMenu} />\n                <SocialNav profiles={socialMediaProfiles} />\n                <PrivacyNav {...footerPrivacyMenu} />\n                <SwedenLogotypes />\n            </div>\n        </footer>\n    );\n};\n\nFooter.propTypes = {\n    footerMainMenu: PropTypes.arrayOf(\n        PropTypes.shape({\n            title: PropTypes.string.isRequired,\n            href: PropTypes.string.isRequired,\n        })\n    ),\n    footerPrivacyMenu: PropTypes.object,\n    socialMediaProfiles: PropTypes.array,\n};\n\nconst SocialNav = ({ profiles = [] }) => {\n    const { t } = useTranslation('common');\n    return (\n        <nav\n            role=\"navigation\"\n            aria-labelledby=\"socialFooterNav\"\n            className={styles['Footer__SocialNav']}>\n            <h2\n                id=\"socialFooterNav\"\n                className={styles['Footer__SocialNav__Heading']}>\n                {t('footer.followus')}\n            </h2>\n            <div className={styles['Footer__SocialNav__Container']}>\n                {profiles?.map((profile, i) => (\n                    <a\n                        key={i}\n                        href={profile.url}\n                        className={`${styles['Footer__SocialNav__Link']} ${\n                            styles[`Footer__SocialNav__Link--${profile.icon}`]\n                        }`}>\n                        <span className=\"sr-only\">\n                            {t(`footer.${profile.icon}`)}\n                        </span>\n                    </a>\n                ))}\n            </div>\n        </nav>\n    );\n};\n\nSocialNav.propTypes = {\n    profiles: PropTypes.arrayOf(\n        PropTypes.shape({\n            icon: PropTypes.string.isRequired,\n            url: PropTypes.string.isRequired,\n        })\n    ).isRequired,\n};\n\nconst MainNav = ({ items }) => {\n    const { t } = useTranslation('common');\n    return (\n        <nav\n            role=\"navigation\"\n            aria-labelledby=\"mainFooterNav\"\n            className={styles['Footer__MainNav']}>\n            <h2 className=\"sr-only\" id=\"mainFooterNav\">\n                {t('footer.mainNavHeader')}\n            </h2>\n            <ul className={styles['Footer__MainNav__Container']}>\n                {items.map((item, i) => (\n                    <li key={i} className={styles['Footer__MainNav__Item']}>\n                        <a\n                            className={styles['Footer__MainNav__Link']}\n                            href={item.href}>\n                            {item.title}\n                        </a>\n                    </li>\n                ))}\n            </ul>\n        </nav>\n    );\n};\n\nMainNav.propTypes = {\n    items: PropTypes.array.isRequired,\n};\n\nconst SwedenLogotypes = () => {\n    return (\n        <div className={styles['Footer__SwedenLogotypes']}>\n            <a\n                className={styles['Footer__SwedenLogotypes__Link']}\n                href=\"https://sweden.se\">\n                <div\n                    className={\n                        styles['Footer__SwedenLogotypes__Logo'] +\n                        ' ' +\n                        styles['Footer__SwedenLogotypes__Logo--Sweden']\n                    }>\n                    <span className=\"sr-only\">Sweden.se</span>\n                </div>\n            </a>\n            <div\n                className={\n                    styles['Footer__SwedenLogotypes__Link'] +\n                    ' ' +\n                    styles['Footer__SwedenLogotypes__Link--Second']\n                }>\n                <div\n                    className={\n                        styles['Footer__SwedenLogotypes__Logo'] +\n                        ' ' +\n                        styles['Footer__SwedenLogotypes__Logo--VisitSweden']\n                    }>\n                    <span className=\"sr-only\">VisitSweden.com</span>\n                </div>\n            </div>\n        </div>\n    );\n};\n\nconst PrivacyNav = ({ items = [], copyrightYear }) => {\n    const { t } = useTranslation('common');\n    return (\n        <nav\n            role=\"navigation\"\n            aria-labelledby=\"privacyFooterNav\"\n            className={styles['Footer__PrivacyNav']}>\n            <h2 id=\"privacyFooterNav\" className=\"sr-only\">\n                {t('footer.privacyNavHeader')}\n            </h2>\n            <ul className={styles['Footer__PrivacyNav__Container']}>\n                {items.map((item, i) => (\n                    <li key={i} className={styles['Footer__PrivacyNav__Item']}>\n                        <a\n                            className={styles['Footer__PrivacyNav__Link']}\n                            href={item.href}>\n                            {item.title}\n                        </a>\n                    </li>\n                ))}\n            </ul>\n            <div className={styles['Footer__PrivacyNav__CopyrightNotice']}>\n                {t('footer.copyright', { copyrightYear })}\n            </div>\n        </nav>\n    );\n};\n\nPrivacyNav.propTypes = {\n    items: PropTypes.array.isRequired,\n    copyrightYear: PropTypes.number.isRequired,\n};\n\nexport default Footer;\n","import Footer from './Footer';\n\nexport default Footer;\n","import React from 'react';\nimport { useTranslation } from 'next-i18next';\n\nimport styles from './BasicLogo.module.scss';\n\nconst BasicLogo = () => {\n    const { t } = useTranslation('common');\n    return (\n        <div className={styles['BasicLogo']}>\n            <div className={styles['BasicLogo__Wrapper']}>\n                <div className={styles['BasicLogo__Logotype']}>\n                    <a href=\"/\">\n                        <span className=\"sr-only\">{t('navigation.logo')}</span>\n                    </a>\n                </div>\n            </div>\n        </div>\n    );\n};\n\nexport default BasicLogo;\n","import BasicLogo from './BasicLogo';\n\nexport default BasicLogo;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { useTranslation } from 'next-i18next';\nimport styles from './NewsletterSignup.module.scss';\n\nconst NewsletterSignup = ({ newsletterUrl, hiddenInputName }) => {\n    const { t } = useTranslation('common');\n    const text = t('newsletterSignup.text');\n    const placeholder = t('newsletterSignup.placeholder');\n    const submitText = t('newsletterSignup.submitText');\n    const label = t('newsletterSignup.label');\n\n    return (\n        <div className={styles['NewsletterSignup']}>\n            <div className={styles['NewsletterSignup__Wrapper']}>\n                <div className={styles['NewsletterSignup__Text']}>{text}</div>\n                <div className={styles['NewsletterSignup__Input']}>\n                    <form\n                        action={newsletterUrl}\n                        method=\"post\"\n                        target=\"_blank\"\n                        noValidate={true}>\n                        <label className=\"sr-only\" htmlFor=\"signupEmail\">\n                            {label}\n                        </label>\n                        <input\n                            id=\"signupEmail\"\n                            type=\"email\"\n                            defaultValue=\"\"\n                            name=\"EMAIL\"\n                            placeholder={placeholder}\n                        />\n                        <div\n                            style={{ position: 'absolute', left: '-5000px' }}\n                            aria-hidden=\"true\">\n                            <input\n                                type=\"text\"\n                                name={hiddenInputName}\n                                tabIndex=\"-1\"\n                                value=\"\"\n                                readOnly={true}\n                            />\n                        </div>\n                        <input\n                            type=\"submit\"\n                            value={submitText}\n                            name=\"subscribe\"\n                        />\n                    </form>\n                </div>\n            </div>\n        </div>\n    );\n};\n\nNewsletterSignup.propTypes = {\n    newsletterUrl: PropTypes.string,\n    hiddenInputName: PropTypes.string,\n};\n\nNewsletterSignup.defaultProps = {\n    text: '',\n    newsletterUrl: '',\n    placeholder: '',\n    hiddenInputName: '',\n    submitText: '',\n};\n\nexport default NewsletterSignup;\n","import NewsletterSignup from './NewsletterSignup';\n\nexport default NewsletterSignup;\n","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport PropTypes from 'prop-types';\n\nimport styles from './SlideInFromTop.module.scss';\n\nconst SlideInFromTop = ({ children, visible, timeout, ...props }) => {\n    return (\n        <CSSTransition\n            classNames={styles['SlideInFromTop']}\n            in={visible}\n            timeout={timeout}\n            unmountOnExit\n            {...props}>\n            {children}\n        </CSSTransition>\n    );\n};\n\nSlideInFromTop.propTypes = {\n    children: PropTypes.node,\n    visible: PropTypes.bool,\n    timeout: PropTypes.number,\n};\n\nSlideInFromTop.defaultProps = {\n    children: '',\n    visible: undefined,\n    timeout: 300,\n};\n\nexport default SlideInFromTop;\n","import SlideInFromTop from './SlideInFromTop.js';\n\nexport default SlideInFromTop;\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../Button';\nimport SlideInFromTop from '../../transitions/SlideInFromTop';\n\nimport { useTranslation } from 'next-i18next';\nimport { setCookie, getCookie } from '../../utils/cookies';\n\nimport styles from './CrisisInformationBar.module.scss';\n\nconst CrisisInformationBar = ({\n    title = '',\n    content = '',\n    identifier = '',\n}) => {\n    const { t } = useTranslation('common');\n    const [hidden, setHidden] = useState(true);\n\n    const dismissCrisisInformation = () => {\n        setHidden(true);\n        setCookie(identifier, true);\n    };\n\n    useEffect(() => {\n        if (!getCookie(identifier)) {\n            setHidden(false);\n        }\n    }, [identifier]);\n\n    if (!title || !content) {\n        return null;\n    }\n\n    return (\n        <SlideInFromTop visible={!hidden}>\n            <div className={styles['CrisisInformationBar']}>\n                <div className={styles['CrisisInformationBar__Container']}>\n                    <div className={styles['CrisisInformationBar__Icon']} />\n                    <div className={styles['CrisisInformationBar__Content']}>\n                        <h3\n                            className={\n                                styles['CrisisInformationBar__Content__Title']\n                            }>\n                            {title}\n                        </h3>\n                        <div\n                            className={\n                                styles['CrisisInformationBar__Content__Text']\n                            }\n                            dangerouslySetInnerHTML={{ __html: content }}\n                        />\n                    </div>\n                    <div className={styles['CrisisInformationBar__Close']}>\n                        <Button\n                            icon=\"Arrow\"\n                            text={t('crisisinformationbar.close')}\n                            type={'Plain'}\n                            onClick={dismissCrisisInformation}></Button>\n                    </div>\n                </div>\n            </div>\n        </SlideInFromTop>\n    );\n};\n\nCrisisInformationBar.propTypes = {\n    title: PropTypes.string,\n    content: PropTypes.string,\n    identifier: PropTypes.string,\n};\n\nexport default CrisisInformationBar;\n","import CrisisInformationBar from './CrisisInformationBar';\n\nexport default CrisisInformationBar;\n","import React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport styles from './GlobalSiteSwitcher.module.scss';\n\nconst GlobalSiteSwitcher = ({ label = '', links = [] }) => {\n    const [open, setOpen] = useState(false);\n\n    if (!links.length) {\n        return null;\n    }\n\n    const handleKeyDown = (e) => {\n        const tabKey = 9;\n        if (e.keyCode == tabKey) {\n            return;\n        }\n        setOpen(!open);\n    };\n\n    return (\n        <div className={styles['GlobalSiteSwitcher']}>\n            <div className={styles['GlobalSiteSwitcher__Content']}>\n                <button\n                    className={styles['GlobalSiteSwitcher__Button']}\n                    onClick={() => setOpen(!open)}>\n                    <span className={styles['GlobalSiteSwitcher__Label']}>\n                        {label}\n                    </span>\n                    <div\n                        className={classNames(\n                            styles['GlobalSiteSwitcher__Arrow'],\n                            {\n                                [styles['GlobalSiteSwitcher__Arrow--Open']]:\n                                    open,\n                            }\n                        )}\n                    />\n                </button>\n                <ul\n                    className={classNames(styles['GlobalSiteSwitcher__Items'], {\n                        [styles['GlobalSiteSwitcher__Items--Open']]: open,\n                    })}>\n                    {links.map(({ value }, i) => (\n                        <li key={i}>\n                            <a\n                                className={styles['GlobalSiteSwitcher__Link']}\n                                href={value.href}>\n                                {value.title}\n                            </a>\n                        </li>\n                    ))}\n                </ul>\n            </div>\n        </div>\n    );\n};\n\nGlobalSiteSwitcher.propTypes = {\n    label: PropTypes.string,\n    links: PropTypes.array,\n};\n\nexport default GlobalSiteSwitcher;\n","import GlobalSiteSwitcher from './GlobalSiteSwitcher';\n\nexport default GlobalSiteSwitcher;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst WagtailUserbar = ({ html }) => {\n    return (\n        <div suppressHydrationWarning={true} dangerouslySetInnerHTML={{ __html: html }}/>\n    );\n};\n\nWagtailUserbar.propTypes = {\n    html: PropTypes.string.isRequired,\n};\n\nexport default WagtailUserbar;\n","import WagtailUserbar from './WagtailUserbar';\n\nexport default WagtailUserbar;\n","/* global CookieScript */\n\nimport React, { useState, useCallback, useEffect, useContext } from 'react';\nimport Head from 'next/head';\nimport useMediaQuery from '../../utils/useMediaQuery';\nimport PropTypes from 'prop-types';\nimport Headroom from 'react-headroom';\nimport classNames from 'classnames';\n\nimport Navigation from '../../components/Navigation';\nimport NavigationMobile from '../../components/NavigationMobile';\nimport Footer from '../../components/Footer';\n\nimport BasicLogo from '../../components/BasicLogo';\nimport NewsletterSignup from '../../components/NewsletterSignup';\nimport CrisisInformationBar from '../../components/CrisisInformationBar';\nimport GlobalSiteSwitcher from '../../components/GlobalSiteSwitcher';\nimport WagtailUserbar from '../../components/WagtailUserbar';\nimport smoothscroll from 'smoothscroll-polyfill';\nimport { useTranslation } from 'next-i18next';\n\nimport isEmpty from '../../utils/isEmpty';\nimport { isExternalUrl } from '../../utils/url';\n\nimport { breakpoints } from '../../constants';\nimport { useCookieStateContext, CookieStateContext } from './state';\nimport BaseContext from './BaseContext';\nimport styles from './BasePage.module.scss';\n\nexport default function BasePage({\n    navigation,\n    footerNavigation,\n    children,\n    crisisInformation,\n    newsletterSignup,\n    breadcrumbs,\n    meta,\n    siteSetting,\n    hideNavigation = false,\n    wagtailUserbar = null,\n    seo,\n    map = {},\n}) {\n    // For handling base context in storybook it is added to all stories, check if\n    // storybook settings exists, otherwise it is regular site and context can be created\n    const {\n        googleMapsApiKey: storybookGoogleMapsApiKey,\n        isStorybook,\n        ...restContext\n    } = useContext(BaseContext);\n\n    const { googleMapsApiKey } = map;\n    const globalGoogleMapsApiKey =\n        isStorybook && storybookGoogleMapsApiKey !== ''\n            ? storybookGoogleMapsApiKey\n            : googleMapsApiKey;\n    const baseContext = {\n        googleMapsApiKey: globalGoogleMapsApiKey,\n    };\n\n    const { t } = useTranslation('common');\n    const { siteSwitcher } = siteSetting || {};\n\n    const context = useCookieStateContext();\n    const {\n        handleCookieAcceptAll,\n        handleCookieAcceptCategories,\n        handleCookieRejectAll,\n    } = context;\n\n    useEffect(() => {\n        if (meta && typeof window !== 'undefined') {\n            window.dataLayer = window.dataLayer || [];\n            window.dataLayer.push({\n                contentgrouping: {\n                    area: meta.metaDataArea || '',\n                    region: meta.metaDataRegions || '',\n                    program: meta.metaDataInternalProgram || '',\n                    funding: meta.metaDataFunding || '',\n                },\n            });\n        }\n    }, [\n        meta?.metaDataArea,\n        meta?.metaDataFunding,\n        meta?.metaDataInternalProgram,\n        meta?.metaDataRegions,\n    ]);\n\n    useEffect(() => {\n        smoothscroll.polyfill();\n    }, []);\n\n    useEffect(() => {\n        /*\n         * Open external links in new windows\n         * this is against accessibility and best practice rules\n         * but a requirement for this project\n         */\n        const links = document.querySelectorAll('a[href]');\n        for (let i = 0; i < links.length; i++) {\n            const isExternal = isExternalUrl(links[i].getAttribute('href'));\n\n            if (isExternal) {\n                links[i].setAttribute('target', '_blank');\n                links[i].setAttribute('rel', 'noopener');\n            }\n        }\n    }, []);\n\n    useEffect(() => {\n        const handleCookieScriptLoaded = () => {\n            handleCookieAcceptCategories(\n                CookieScript.instance.currentState().categories\n            );\n        };\n\n        if (window.CookieScript && window.CookieScript.instance) {\n            handleCookieScriptLoaded();\n        }\n\n        window.addEventListener('CookieScriptLoaded', handleCookieScriptLoaded);\n\n        window.addEventListener('CookieScriptAccept', (e) => {\n            const categories = e.detail?.categories;\n            handleCookieAcceptCategories(categories);\n\n            if (\n                typeof gtag === 'function' &&\n                categories.includes('targeting')\n            ) {\n                window.dataLayer.push({ event: 'consentGranted' });\n            }\n        });\n\n        window.addEventListener('CookieScriptAcceptAll', () => {\n            handleCookieAcceptAll();\n            typeof gtag === 'function' &&\n                window.dataLayer.push({ event: 'consentGranted' });\n        });\n\n        window.addEventListener('CookieScriptReject', () => {\n            handleCookieRejectAll();\n        });\n\n        window.addEventListener('CookieScriptLoaded', function (e) {\n            console.log('Global: CookieScriptLoaded event detected', e);\n        });\n\n        return () => {\n            window.removeEventListener(\n                'CookieScriptLoaded',\n                handleCookieScriptLoaded\n            );\n            window.removeEventListener(\n                'CookieScriptAccept',\n                handleCookieAcceptCategories\n            );\n            window.removeEventListener(\n                'CookieScriptAcceptAll',\n                handleCookieAcceptAll\n            );\n            window.removeEventListener(\n                'CookieScriptReject',\n                handleCookieRejectAll\n            );\n        };\n    }, []);\n\n    const showBreadcrumbs =\n        breadcrumbs && breadcrumbs.items && breadcrumbs.items.length > 1;\n\n    const classes = classNames(styles['BasePage'], {\n        [styles['BasePage--Breadcrumbs']]: showBreadcrumbs,\n    });\n\n    return (\n        <>\n            <Meta {...seo} />\n\n            <BaseContext.Provider value={baseContext}>\n                <CookieStateContext.Provider value={context}>\n                    <main className={classes}>\n                        <a\n                            className={styles['BasePage__SkipMain']}\n                            href=\"#main-content\">\n                            {t('base.skip')}\n                        </a>\n                        {!isEmpty(siteSwitcher) && !hideNavigation && (\n                            <GlobalSiteSwitcher {...siteSwitcher} />\n                        )}\n                        {hideNavigation ? (\n                            <BasicLogo />\n                        ) : (\n                            <Header\n                                navigation={navigation}\n                                crisisInformation={crisisInformation}\n                            />\n                        )}\n                        {children}\n                        {!isEmpty(newsletterSignup) && (\n                            <NewsletterSignup {...newsletterSignup} />\n                        )}\n                        <Footer {...footerNavigation} />\n                        {wagtailUserbar && (\n                            <WagtailUserbar {...wagtailUserbar} />\n                        )}\n                    </main>\n                </CookieStateContext.Provider>\n            </BaseContext.Provider>\n        </>\n    );\n}\n\nBasePage.propTypes = {\n    children: PropTypes.node,\n    navigation: PropTypes.object,\n    newsletterSignup: PropTypes.object,\n    footerNavigation: PropTypes.object,\n    crisisInformation: PropTypes.object,\n    breadcrumbs: PropTypes.object,\n    meta: PropTypes.object,\n    siteSetting: PropTypes.object,\n    hideNavigation: PropTypes.bool,\n    wagtailUserbar: PropTypes.object,\n};\n\nconst Header = ({ navigation, crisisInformation }) => {\n    const [isHydrated, setIsHydrated] = useState(false);\n    const [isDesktop, setIsDesktop] = useState(false);\n    const [isDisabled, setIsDisabled] = useState(false);\n    const handleDisable = useCallback(\n        () => setIsDisabled((isDisabled) => !isDisabled),\n        []\n    );\n    const headroomClasses = classNames({ 'Headroom--Sticky': isDisabled });\n\n    useEffect(() => {\n        const checkIfDesktop = () => {\n            setIsDesktop(window.innerWidth >= breakpoints.l);\n        };\n\n        checkIfDesktop();\n        window.addEventListener('resize', checkIfDesktop);\n\n        setIsHydrated(true);\n\n        return () => {\n            window.removeEventListener('resize', checkIfDesktop);\n        };\n    }, []);\n\n    if (!isHydrated) {\n        return null;\n    }\n\n    return (\n        <>\n            <Headroom className={headroomClasses} disableInlineStyles={true}>\n                {isDesktop ? (\n                    <Navigation {...navigation} />\n                ) : (\n                    <NavigationMobile\n                        {...navigation}\n                        handleDisable={handleDisable}\n                    />\n                )}\n                <CrisisInformationBar {...crisisInformation} />\n            </Headroom>\n        </>\n    );\n};\n\nHeader.propTypes = {\n    navigation: PropTypes.object,\n    crisisInformation: PropTypes.object,\n};\n\nconst Meta = ({\n    seoHtmlTitle = '',\n    seoMetaDescription = '',\n    seoOgUrl = '',\n    seoOgDescription = '',\n    seoOgTitle = '',\n    seoOgImage = null,\n    seoOgType = '',\n    seoTwitterTitle = '',\n    seoTwitterDescription = '',\n    seoTwitterUrl = '',\n    seoTwitterImage = null,\n    seoMetaRobots = '',\n    seoCanonicalLink = '',\n    ldJson = [],\n}) => {\n    return (\n        <Head>\n            <title>{seoHtmlTitle}</title>\n\n            {!!seoMetaDescription && (\n                <meta name=\"description\" content={seoMetaDescription} />\n            )}\n\n            {!!seoOgUrl && <meta property=\"og:url\" content={seoOgUrl} />}\n\n            {!!seoOgDescription && (\n                <meta property=\"og:description\" content={seoOgDescription} />\n            )}\n\n            {!!seoOgTitle && <meta property=\"og:title\" content={seoOgTitle} />}\n\n            {!!seoOgImage && <meta property=\"og:image\" content={seoOgImage} />}\n\n            {!!seoOgType && <meta property=\"og:type\" content={seoOgType} />}\n\n            {!!seoTwitterTitle && (\n                <meta property=\"twitter:title\" content={seoTwitterTitle} />\n            )}\n\n            {!!seoTwitterDescription && (\n                <meta\n                    property=\"twitter:description\"\n                    content={seoTwitterDescription}\n                />\n            )}\n\n            {!!seoTwitterUrl && (\n                <meta property=\"twitter:url\" content={seoTwitterUrl} />\n            )}\n\n            {!!seoTwitterImage && (\n                <meta property=\"twitter:image\" content={seoTwitterImage} />\n            )}\n\n            {!!seoMetaRobots && <meta name=\"robots\" content={seoMetaRobots} />}\n\n            <link rel=\"canonical\" href={seoCanonicalLink} />\n\n            {ldJson &&\n                ldJson.map((content, index) => (\n                    <script\n                        key={index}\n                        type=\"application/ld+json\"\n                        dangerouslySetInnerHTML={{ __html: content }}\n                    />\n                ))}\n        </Head>\n    );\n};\n\nMeta.propTypes = {\n    seoHtmlTitle: PropTypes.string,\n    seoMetaDescription: PropTypes.string,\n    seoOgUrl: PropTypes.string,\n    seoOgDescription: PropTypes.string,\n    seoOgTitle: PropTypes.string,\n    seoOgImage: PropTypes.string,\n    seoOgType: PropTypes.string,\n    seoTwitterTitle: PropTypes.string,\n    seoTwitterDescription: PropTypes.string,\n    seoTwitterUrl: PropTypes.string,\n    seoTwitterImage: PropTypes.string,\n    seoMetaRobots: PropTypes.string,\n    seoCanonicalLink: PropTypes.string,\n    ldJson: PropTypes.array,\n};\n","import BasePage from './BasePage';\nimport React from 'react';\n\nexport const basePageWrap = (Component) => (props) => {\n    return (\n        <BasePage {...props} _class={Component.name}>\n            <Component {...props} />\n        </BasePage>\n    );\n};\n\nexport default BasePage;\n","import { createContext, useReducer } from 'react';\n\nconst CookieStateContext = createContext(null);\n\nconst useCookieStateContext = (categories) => {\n    const [state, dispatch] = useReducer(cookieReducer, {\n        categories: categories,\n    });\n\n    const handleCookieAcceptAll = () => {\n        dispatch({\n            type: 'ACCEPT_ALL_COOKIES',\n        });\n    };\n\n    const handleCookieAcceptCategories = (categories) => {\n        dispatch({\n            type: 'ACCEPT_CATEGORIES',\n            payload: {\n                categories,\n            },\n        });\n    };\n\n    const handleCookieRejectAll = () => {\n        dispatch({\n            type: 'REJECT_ALL_COOKIES',\n        });\n    };\n\n    const context = {\n        state,\n        handleCookieAcceptAll,\n        handleCookieAcceptCategories,\n        handleCookieRejectAll,\n    };\n\n    return context;\n};\n\nconst cookieReducer = (state, action) => {\n    switch (action.type) {\n        case 'ACCEPT_ALL_COOKIES': {\n            return {\n                ...state,\n                categories: [\n                    'strict',\n                    'performance',\n                    'targeting',\n                    'functionality',\n                ],\n            };\n        }\n\n        case 'ACCEPT_CATEGORIES': {\n            return {\n                ...state,\n                categories: action.payload.categories,\n            };\n        }\n\n        case 'REJECT_ALL_COOKIES': {\n            return {\n                ...state,\n                categories: [],\n            };\n        }\n\n        default:\n            throw new Error(`Unknown action: ${action.type}`);\n    }\n};\n\nexport { useCookieStateContext, CookieStateContext };\n","import React from 'react';\nimport { CSSTransition } from 'react-transition-group';\n\nimport PropTypes from 'prop-types';\n\nimport styles from './FadeIn.module.scss';\n\nconst FadeIn = ({\n    children = '',\n    visible = undefined,\n    timeout = 300,\n    ...props\n}) => {\n    return (\n        <CSSTransition\n            classNames={styles['FadeIn']}\n            in={visible}\n            timeout={timeout}\n            unmountOnExit\n            {...props}>\n            {children}\n        </CSSTransition>\n    );\n};\n\nFadeIn.propTypes = {\n    children: PropTypes.node,\n    visible: PropTypes.bool,\n    timeout: PropTypes.number,\n};\n\nexport default FadeIn;\n","import FadeIn from './FadeIn.js';\n\nexport default FadeIn;\n","const basePath = '/wt/api/v1';\nconst endpoints = {\n    getPageDataByIds: (ids, baseUrl = basePath) =>\n        `${baseUrl}/bookmarks/?ids=${ids.join(',')}`,\n    getSearchResults: (searchString, baseUrl = basePath) =>\n        `${baseUrl}/search-filter/?${searchString}`,\n    getSearchSuggestions: (searchString, parent, baseUrl = basePath) =>\n        `${baseUrl}/search-filter-suggestions/?query=${searchString}&parent=${parent}`,\n    sendSearchDupes: (baseUrl = basePath) => `${baseUrl}/dupes/`,\n    sendArticleFeedback: (baseUrl = basePath) =>\n        `${baseUrl}/articlefeedbackentry/`,\n    sendArticleFeedbackComment: (feedbackId, baseUrl = basePath) =>\n        `${baseUrl}/articlefeedbackentry/${feedbackId}/`,\n};\n\nconst getPageDataByIds = async (ids) => {\n    const response = await fetch(endpoints.getPageDataByIds(ids));\n    return await response.json();\n};\n\nconst getSearchResults = async (\n    page,\n    searchInput,\n    activeChips,\n    activeRegions,\n    parent,\n    pinnedCategory,\n    sorting,\n    abortController\n) => {\n    let signal;\n\n    if (abortController) {\n        signal = abortController.signal;\n    }\n\n    let regions = '';\n    if (activeRegions && activeRegions.length > 0) {\n        regions = activeRegions.join(',');\n    }\n\n    let categories = '';\n    if (activeChips && activeChips.length > 0) {\n        categories = activeChips.join(',');\n    }\n\n    const searchString = `query=${searchInput}&categories=${categories}&parent=${parent}&page=${page}&regions=${regions}&pinned_category=${\n        pinnedCategory || ''\n    }&sorting=${sorting}`;\n    return fetch(endpoints.getSearchResults(searchString), { signal });\n};\n\nconst getSearchSuggestions = async (searchString, parent) => {\n    const response = await fetch(\n        endpoints.getSearchSuggestions(searchString, parent)\n    );\n    return await response.json();\n};\n\nconst sendSearchDupes = async (\n    searchString,\n    honeypotValue,\n    nonce,\n    baseUrl = basePath\n) => {\n    if (honeypotValue !== '') {\n        return;\n    }\n\n    const csrf = getCookie('csrftoken');\n    const response = await fetch(endpoints.sendSearchDupes(baseUrl), {\n        method: 'POST',\n        body: JSON.stringify({ query: searchString, honeypot: honeypotValue }),\n        headers: {\n            'Content-Type': 'application/json',\n            'X-Nonce': nonce,\n            ...(csrf && { 'X-Csrftoken': csrf }),\n        },\n    });\n    return await response.json();\n};\n\nconst sendArticleFeedback = async (articleId, rating) => {\n    const response = await fetch(endpoints.sendArticleFeedback(), {\n        method: 'POST',\n        body: JSON.stringify({ article: articleId, rating }),\n        headers: {\n            'Content-Type': 'application/json',\n        },\n    });\n\n    return await response.json();\n};\n\nconst sendArticleFeedbackComment = async (feedbackId, comment) => {\n    const response = await fetch(\n        endpoints.sendArticleFeedbackComment(feedbackId),\n        {\n            method: 'PATCH',\n            body: JSON.stringify({ comment }),\n            headers: {\n                'Content-Type': 'application/json',\n            },\n        }\n    );\n\n    return await response.json();\n};\n\nconst getCookie = (name) => {\n    let cookieValue = null;\n    if (document.cookie && document.cookie !== '') {\n        const cookies = document.cookie.split(';');\n        for (let i = 0; i < cookies.length; i++) {\n            const cookie = cookies[i].trim();\n            // Does this cookie string begin with the name we want?\n            if (cookie.substring(0, name.length + 1) === name + '=') {\n                cookieValue = decodeURIComponent(\n                    cookie.substring(name.length + 1)\n                );\n                break;\n            }\n        }\n    }\n    return cookieValue;\n};\n\nexport {\n    getPageDataByIds,\n    getSearchResults,\n    getSearchSuggestions,\n    sendSearchDupes,\n    sendArticleFeedback,\n    sendArticleFeedbackComment,\n};\n","import storage from './localStorage';\nimport base64url from 'base64url';\n\n// init\n\nif (storage.getItem('bookmarks') === null) {\n    storage.setItem('bookmarks', JSON.stringify([]));\n}\n\n// private\n\nconst getBookmarkBy = (propName, value) => {\n    const foundBookmarks = getBookmarks().filter(\n        (bookmark) => bookmark[propName] === value\n    );\n\n    return foundBookmarks.length ? foundBookmarks[0] : null;\n};\n\nconst removeBookmarkBy = (propName, value) => {\n    const bookmarks = getBookmarks().filter(\n        (bookmark) => bookmark[propName] !== value\n    );\n\n    storage.setItem('bookmarks', JSON.stringify(bookmarks));\n    executeUpdateCallbacks();\n};\n\nlet cbs = [];\nconst executeUpdateCallbacks = () => {\n    const updatedBookmarks = getBookmarks();\n    cbs.forEach((cb) => cb(updatedBookmarks));\n};\n\n// public\n\nconst isBookmarked = (id) => getBookmark(id) !== null;\n\nconst getBookmarks = () => JSON.parse(storage.getItem('bookmarks'));\n\nconst getBookmarkIds = () =>\n    getBookmarks().reduce(\n        (ids, bookmark) => (bookmark.id ? [...ids, bookmark.id] : ids),\n        []\n    );\n\nconst hasBookmarks = () => getBookmarks().length > 0;\n\nconst getBookmark = (id) => getBookmarkBy('id', id);\n\nconst getBookmarkByUrl = (url) => getBookmarkBy('url', url);\n\nconst addBookmark = ({ id, url }) => {\n    if (isBookmarked(id)) {\n        return false;\n    }\n\n    let bookmarks = getBookmarks();\n\n    storage.setItem(\n        'bookmarks',\n        JSON.stringify([\n            ...bookmarks,\n            {\n                id,\n                url,\n            },\n        ])\n    );\n\n    executeUpdateCallbacks();\n\n    return true;\n};\n\nconst removeBookmark = (id) => removeBookmarkBy('id', id);\n\nconst removeBookmarkByUrl = (url) => removeBookmarkBy('url', url);\n\nconst onBookmarksUpdated = (cb) => (cbs = [...cbs, cb]);\n\nconst removeOnBookmarksUpdated = (cb) => (cbs = cbs.filter((fn) => fn !== cb));\n\n// encode ids with a naive checksum to catch incorrectly/partially copied share urls\nconst encodeBookmarkIds = (bookmarkIds) => {\n    const checksum = bookmarkIds.reduce((sum, id) => sum + id, 0);\n    return base64url([...bookmarkIds, checksum].join(','));\n};\n\nconst decodeBookmarkIds = (data) => {\n    let ids = base64url\n        .decode(data)\n        .split(',')\n        .map((id) => Number(id));\n\n    const checksum = ids.pop();\n    const calcedChecksum = ids.reduce((sum, id) => sum + id, 0);\n\n    if (checksum !== calcedChecksum) {\n        return null;\n    }\n\n    return ids;\n};\n\nexport {\n    isBookmarked,\n    hasBookmarks,\n    addBookmark,\n    removeBookmark,\n    removeBookmarkByUrl,\n    getBookmark,\n    getBookmarkByUrl,\n    getBookmarks,\n    getBookmarkIds,\n    encodeBookmarkIds,\n    decodeBookmarkIds,\n    onBookmarksUpdated,\n    removeOnBookmarksUpdated,\n};\n","const setCookie = (cname, cvalue) => {\n    let d = new Date();\n    d.setTime(d.getTime() + 365 * 24 * 60 * 60 * 1000);\n    let expires = 'expires=' + d.toUTCString();\n    document.cookie = cname + '=' + cvalue + ';' + expires + ';path=/';\n};\n\nconst getCookie = (name) => {\n    if (typeof window === 'undefined') {\n        return '';\n    }\n\n    name = name + '=';\n    const cookie = document.cookie.split(';');\n    for (let i = 0; i < cookie.length; i++) {\n        let part = cookie[i];\n        while (part.charAt(0) === ' ') {\n            part = part.substring(1);\n        }\n        if (part.indexOf(name) === 0) {\n            return part.substring(name.length, part.length);\n        }\n    }\n    return '';\n};\n\nexport { setCookie, getCookie };\n","function isEmpty(variable) {\n    const isArray = Array.isArray(variable);\n    const isObject = typeof variable === 'object';\n    const isString = typeof variable === 'string';\n    const isBoolean = typeof variable === 'boolean';\n\n    if (isBoolean) {\n        return variable;\n    }\n\n    if (isArray && variable.length === 0) {\n        return true;\n    }\n\n    if (!isArray && isObject && Object.keys(variable).length === 0) {\n        return true;\n    }\n\n    if (isString && variable === '') {\n        return true;\n    }\n\n    // this is probably a bool\n    return false;\n}\n\nexport default isEmpty;\n","import {\n    isSupported,\n    CookieStorage,\n    MemoryStorage,\n} from 'local-storage-fallback';\n\nlet storageInstance;\n\nif (isSupported('localStorage')) {\n    storageInstance = window.localStorage;\n} else if (isSupported('cookieStorage')) {\n    storageInstance = new CookieStorage();\n} else if (isSupported('sessionStorage')) {\n    storageInstance = window.sessionStorage;\n} else {\n    storageInstance = new MemoryStorage();\n}\n\nexport default storageInstance;\n","const isExternalUrl = (url) => {\n    if (typeof window === 'undefined') {\n        return false;\n    }\n\n    const isExternal = url.indexOf('://' + window.location.hostname) === -1;\n    const isNotInternal = url[0] !== '/';\n    const hasProtocol = url.indexOf('://') > 1;\n\n    return url && isExternal && isNotInternal && hasProtocol;\n};\n\nconst objToQueryString = (obj) =>\n    Object.keys(obj)\n        .map((k) => `${encodeURIComponent(k)}=${encodeURIComponent(obj[k])}`)\n        .join('&');\n\nconst searchToObj = (search) => {\n    if (!search) {\n        return {};\n    }\n\n    let obj = JSON.parse(\n        '{\"' +\n            decodeURI(search)\n                .replace(/\\?/g, '')\n                .replace(/\"/g, '\\\\\"')\n                .replace(/&/g, '\",\"')\n                .replace(/=/g, '\":\"') +\n            '\"}'\n    );\n\n    return obj;\n};\n\nconst searchToMapObj = (search) => {\n    // Used for Components/MapPage.js\n    if (!search) {\n        return {\n            activeCategories: [],\n            activeRegions: [],\n            view: 'grid',\n        };\n    }\n\n    search = search.substring(1);\n    let obj = JSON.parse(\n        '{\"' +\n            decodeURI(search)\n                .replace(/\\?/g, '')\n                .replace(/\"/g, '\\\\\"')\n                .replace(/&/g, '\",\"')\n                .replace(/=/g, '\":\"') +\n            '\"}'\n    );\n    let newObj = {};\n\n    if (obj.categories) {\n        newObj['activeCategories'] = decodeURIComponent(obj.categories).split(\n            ','\n        );\n    }\n    if (obj.regions) {\n        newObj['activeRegions'] = decodeURIComponent(obj.regions).split(',');\n    }\n    if (obj.view) {\n        newObj['view'] = obj.view;\n    }\n\n    return newObj;\n};\n\nconst searchToSearchObj = (search) => {\n    // Used for Components/Search.js\n    if (!search) {\n        return {};\n    }\n\n    search = search.substring(1);\n    let obj = JSON.parse(\n        '{\"' +\n            decodeURI(search)\n                .replace(/\"/g, '\\\\\"')\n                .replace(/&/g, '\",\"')\n                .replace(/=/g, '\":\"') +\n            '\"}'\n    );\n    let newObj = {};\n\n    if (obj.query) {\n        newObj['searchInput'] = obj.query;\n    }\n    if (obj.categories) {\n        newObj['activeChips'] = decodeURIComponent(obj.categories).split(',');\n    }\n    if (obj.regions) {\n        newObj['activeRegions'] = decodeURIComponent(obj.regions).split(',');\n    }\n    if (obj.view) {\n        newObj['view'] = obj.view;\n    }\n\n    return newObj;\n};\n\nexport {\n    objToQueryString,\n    searchToMapObj,\n    searchToSearchObj,\n    searchToObj,\n    isExternalUrl,\n};\n","import React from 'react';\n\n// This variable will be true once the server-side hydration is completed.\nlet hydrationCompleted = false;\n\nfunction useMediaQuery({ query, options = [] }) {\n    // This defensive check is here for simplicity.\n    // Most of the time, the match media logic isn't central to people tests.\n    const supportMatchMedia =\n        typeof window !== 'undefined' &&\n        typeof window.matchMedia !== 'undefined';\n\n    const {\n        defaultMatches = false,\n        noSsr = false,\n        ssrMatchMedia = null,\n    } = {\n        ...options,\n    };\n\n    const [match, setMatch] = React.useState(() => {\n        if ((hydrationCompleted || noSsr) && supportMatchMedia) {\n            return window.matchMedia(query).matches;\n        }\n        if (ssrMatchMedia) {\n            return ssrMatchMedia(query).matches;\n        }\n\n        // Once the component is mounted, we rely on the\n        // event listeners to return the correct matches value.\n        return defaultMatches;\n    });\n\n    React.useEffect(() => {\n        hydrationCompleted = true;\n\n        if (!supportMatchMedia) {\n            return undefined;\n        }\n\n        const queryList = window.matchMedia(query);\n        setMatch(queryList.matches);\n\n        function handleMatchesChange() {\n            setMatch(queryList.matches);\n        }\n\n        queryList.addListener(handleMatchesChange);\n        return () => {\n            queryList.removeListener(handleMatchesChange);\n        };\n    }, [query, supportMatchMedia]);\n\n    return match;\n}\n\nexport default useMediaQuery;\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BasicLogo__Wrapper\":\"BasicLogo_BasicLogo__Wrapper__03bzg\",\"BasicLogo\":\"BasicLogo_BasicLogo__xKnLT\",\"BasicLogo__Logotype\":\"BasicLogo_BasicLogo__Logotype__WIPZl\",\"BasicLogo__Logotype--Fade\":\"BasicLogo_BasicLogo__Logotype--Fade__AGz43\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Button--Link\":\"Button_Button--Link__bQt_z\",\"Button\":\"Button_Button__rEY9D\",\"Button__Icon\":\"Button_Button__Icon__pc4w8\",\"Button--Plain\":\"Button_Button--Plain__9RTtr\",\"Button--Article\":\"Button_Button--Article__CBQ4n\",\"Button--HasIcon\":\"Button_Button--HasIcon__eV_L0\",\"Button--Primary\":\"Button_Button--Primary__8_dfX\",\"Button--SecondaryBlue\":\"Button_Button--SecondaryBlue__S3ouM\",\"Button__Icon--Share\":\"Button_Button__Icon--Share__ccH5n\",\"Button--Transparent\":\"Button_Button--Transparent__Hr0NL\",\"Button--PrimarySmall\":\"Button_Button--PrimarySmall__bNZn_\",\"Button--Secondary\":\"Button_Button--Secondary__rvAU1\",\"Button--SecondarySmall\":\"Button_Button--SecondarySmall__4Ieb_\",\"Button--WithMapExpanderHeight\":\"Button_Button--WithMapExpanderHeight__khoFX\",\"Button--IsShareButton\":\"Button_Button--IsShareButton___o0wU\",\"Button--InsideShareFeedbackSegment\":\"Button_Button--InsideShareFeedbackSegment__apnwk\",\"Button--CampaignCTA\":\"Button_Button--CampaignCTA__bJio8\",\"Button--WhiteOnBlue\":\"Button_Button--WhiteOnBlue__t057y\",\"Button--YellowOnWhite\":\"Button_Button--YellowOnWhite__xavpK\",\"Button--YellowOnBlue\":\"Button_Button--YellowOnBlue__da1hE\",\"Button__Icon--ArrowDownload\":\"Button_Button__Icon--ArrowDownload__kuMXR\",\"Button--BlueOnYellow\":\"Button_Button--BlueOnYellow__RMb_r\",\"Button--BlackOnYellow\":\"Button_Button--BlackOnYellow__jFxm1\",\"Button--BlackOnWhite\":\"Button_Button--BlackOnWhite__QUhVK\",\"Button__Icon--Arrow\":\"Button_Button__Icon--Arrow__5Pdxh\",\"Button__Icon--ArrowWhite\":\"Button_Button__Icon--ArrowWhite__Pbs3l\",\"Button__Icon--DiagonalArrow\":\"Button_Button__Icon--DiagonalArrow__UC061\",\"Button__Icon--ShareWhite\":\"Button_Button__Icon--ShareWhite__q159T\",\"Button__Icon--ShareBlue\":\"Button_Button__Icon--ShareBlue__D22s_\",\"Button__Icon--Plus\":\"Button_Button__Icon--Plus__Do71P\",\"Button__Icon--Play\":\"Button_Button__Icon--Play__kF1Sh\",\"Button__Icon--Bookmark\":\"Button_Button__Icon--Bookmark__bNilR\",\"Button__Icon--Bookmarked\":\"Button_Button__Icon--Bookmarked__DN0Rw\",\"Button__Icon--RoundClose\":\"Button_Button__Icon--RoundClose__6IUtG\",\"Button__Icon--Link\":\"Button_Button__Icon--Link__BZeDL\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"ButtonToggle\":\"ButtonToggle_ButtonToggle__sj7QY\",\"ButtonToggle--Grey300\":\"ButtonToggle_ButtonToggle--Grey300__6U_pU\",\"ButtonToggle--Plus\":\"ButtonToggle_ButtonToggle--Plus__FkUS_\",\"ButtonToggle--Minus\":\"ButtonToggle_ButtonToggle--Minus__WKzcw\",\"ButtonToggle--Language\":\"ButtonToggle_ButtonToggle--Language__1gqw6\",\"ButtonToggle--LanguageClose\":\"ButtonToggle_ButtonToggle--LanguageClose__49z4j\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"CrisisInformationBar__Container\":\"CrisisInformationBar_CrisisInformationBar__Container__H4Wzm\",\"CrisisInformationBar__Content__Title\":\"CrisisInformationBar_CrisisInformationBar__Content__Title__xN_rd\",\"CrisisInformationBar\":\"CrisisInformationBar_CrisisInformationBar__02bAo\",\"CrisisInformationBar__Icon\":\"CrisisInformationBar_CrisisInformationBar__Icon__2z893\",\"CrisisInformationBar__Content\":\"CrisisInformationBar_CrisisInformationBar__Content__QorMq\",\"CrisisInformationBar__Content__Text\":\"CrisisInformationBar_CrisisInformationBar__Content__Text__iMx4A\",\"CrisisInformationBar__Close\":\"CrisisInformationBar_CrisisInformationBar__Close__DORHi\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Footer__Container\":\"Footer_Footer__Container__38f4K\",\"Footer__SocialNav__Heading\":\"Footer_Footer__SocialNav__Heading__DnXXe\",\"Footer__MainNav__Link\":\"Footer_Footer__MainNav__Link___qQ_2\",\"Footer__PrivacyNav__CopyrightNotice\":\"Footer_Footer__PrivacyNav__CopyrightNotice__OB_ht\",\"Footer__PrivacyNav__Link\":\"Footer_Footer__PrivacyNav__Link___ytVM\",\"Footer\":\"Footer_Footer__MDr8W\",\"Footer__SocialNav\":\"Footer_Footer__SocialNav__iYQsL\",\"Footer__SocialNav__Container\":\"Footer_Footer__SocialNav__Container__W8KJx\",\"Footer__SocialNav__Link\":\"Footer_Footer__SocialNav__Link__HVNt2\",\"Footer__SocialNav__Link--Instagram\":\"Footer_Footer__SocialNav__Link--Instagram__AKbLn\",\"Footer__SocialNav__Link--Youtube\":\"Footer_Footer__SocialNav__Link--Youtube__gNFNw\",\"Footer__SocialNav__Link--Facebook\":\"Footer_Footer__SocialNav__Link--Facebook__2A20p\",\"Footer__SocialNav__Link--Weibo\":\"Footer_Footer__SocialNav__Link--Weibo__bhmwE\",\"Footer__SocialNav__Link--Wechat\":\"Footer_Footer__SocialNav__Link--Wechat__H4QtD\",\"Footer__SocialNav__Link--Pinterest\":\"Footer_Footer__SocialNav__Link--Pinterest__LJHRT\",\"Footer__SocialNav__Link--Tiktok\":\"Footer_Footer__SocialNav__Link--Tiktok__mjUgL\",\"Footer__SocialNav__Link--Threads\":\"Footer_Footer__SocialNav__Link--Threads__LDlrH\",\"Footer__MainNav\":\"Footer_Footer__MainNav__JLcR3\",\"Footer__MainNav__Container\":\"Footer_Footer__MainNav__Container__nsHdd\",\"Footer__MainNav__Item\":\"Footer_Footer__MainNav__Item__ahQya\",\"Footer__SwedenLogotypes\":\"Footer_Footer__SwedenLogotypes__x5SUq\",\"Footer__SwedenLogotypes__Logo\":\"Footer_Footer__SwedenLogotypes__Logo__ClSay\",\"Footer__SwedenLogotypes__Logo--Sweden\":\"Footer_Footer__SwedenLogotypes__Logo--Sweden__U_rLq\",\"Footer__SwedenLogotypes__Logo--VisitSweden\":\"Footer_Footer__SwedenLogotypes__Logo--VisitSweden__az35q\",\"Footer__SwedenLogotypes__Link\":\"Footer_Footer__SwedenLogotypes__Link__l96Dh\",\"Footer__SwedenLogotypes__Link--Second\":\"Footer_Footer__SwedenLogotypes__Link--Second__J86U4\",\"Footer__PrivacyNav\":\"Footer_Footer__PrivacyNav__oW5qT\",\"Footer__PrivacyNav__Container\":\"Footer_Footer__PrivacyNav__Container__VqyCW\",\"Footer__PrivacyNav__Item\":\"Footer_Footer__PrivacyNav__Item__0RLvy\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"GlobalSiteSwitcher\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__PLiIx\",\"GlobalSiteSwitcher__Content\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Content__jo0f_\",\"GlobalSiteSwitcher__Button\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Button__43_ir\",\"GlobalSiteSwitcher__Label\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Label__Rtfdb\",\"GlobalSiteSwitcher__Arrow\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Arrow__e3qQe\",\"GlobalSiteSwitcher__Arrow--Open\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Arrow--Open__xjqc3\",\"GlobalSiteSwitcher__Items\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Items__F9d1V\",\"GlobalSiteSwitcher__Items--Open\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Items--Open__q6sa_\",\"GlobalSiteSwitcher__Link\":\"GlobalSiteSwitcher_GlobalSiteSwitcher__Link__m1Gqr\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"Navigation__Container\":\"Navigation_Navigation__Container__YurPz\",\"Navigation__NavLink\":\"Navigation_Navigation__NavLink__Tmm7c\",\"Navigation__DropdownLink\":\"Navigation_Navigation__DropdownLink___6rTF\",\"Navigation__DropdownHeaderLink\":\"Navigation_Navigation__DropdownHeaderLink__7Vk78\",\"Navigation__DropdownListTitle\":\"Navigation_Navigation__DropdownListTitle__sZ_ph\",\"Navigation__Byline\":\"Navigation_Navigation__Byline__IBhVP\",\"Navigation__LanguageLink\":\"Navigation_Navigation__LanguageLink__0DFaz\",\"Navigation__ActiveLanguage\":\"Navigation_Navigation__ActiveLanguage__6FLbP\",\"Navigation\":\"Navigation_Navigation__59ap5\",\"headroom--scrolled\":\"Navigation_headroom--scrolled__z8R9k\",\"Navigation--HomePage\":\"Navigation_Navigation--HomePage__xeK4J\",\"Navigation__Container--IsSearching\":\"Navigation_Navigation__Container--IsSearching__Z48oU\",\"Navigation__NavItem\":\"Navigation_Navigation__NavItem__MplOY\",\"Navigation__Logotype\":\"Navigation_Navigation__Logotype__Q30u8\",\"Navigation__Logotype--Fade\":\"Navigation_Navigation__Logotype--Fade__hUiCY\",\"Navigation__Byline--Fade\":\"Navigation_Navigation__Byline--Fade__i0YrF\",\"Navigation__Menu\":\"Navigation_Navigation__Menu__NdYYA\",\"Navigation__Search\":\"Navigation_Navigation__Search__szgQ0\",\"Navigation__Search--Active\":\"Navigation_Navigation__Search--Active__H_Zzg\",\"Navigation__Search--Fade\":\"Navigation_Navigation__Search--Fade__gXGXE\",\"Navigation__MenuWrap\":\"Navigation_Navigation__MenuWrap__pb3Ih\",\"Navigation__ServiceMenu\":\"Navigation_Navigation__ServiceMenu__iruK5\",\"Navigation__ServiceMenu--Fade\":\"Navigation_Navigation__ServiceMenu--Fade__8EqEh\",\"Navigation__LanguageSwitcher\":\"Navigation_Navigation__LanguageSwitcher__4OG9u\",\"Navigation__LanguageMenu\":\"Navigation_Navigation__LanguageMenu___J8jb\",\"Navigation__LanguageMenu--Open\":\"Navigation_Navigation__LanguageMenu--Open__8wPB7\",\"Navigation__Checkbox\":\"Navigation_Navigation__Checkbox__AinDx\",\"Navigation__Checkbox--Active\":\"Navigation_Navigation__Checkbox--Active__ojPXz\",\"Navigation__NavLink--ActivePage\":\"Navigation_Navigation__NavLink--ActivePage__4XFly\",\"Navigation__NavLink--Explore\":\"Navigation_Navigation__NavLink--Explore__MMPn2\",\"Navigation__NavLink--Fade\":\"Navigation_Navigation__NavLink--Fade__inANw\",\"Navigation__Dropdown\":\"Navigation_Navigation__Dropdown__aNPEg\",\"Navigation__Dropdown--Visible\":\"Navigation_Navigation__Dropdown--Visible__wdzTC\",\"Navigation__DropdownWrap\":\"Navigation_Navigation__DropdownWrap__lVbcL\",\"Navigation__DropdownContainer\":\"Navigation_Navigation__DropdownContainer__KPT7R\",\"Navigation__DropdownOuterList\":\"Navigation_Navigation__DropdownOuterList__Rbbtb\",\"fadeInMenu\":\"Navigation_fadeInMenu__RY3F3\",\"Navigation__DropdownHeader\":\"Navigation_Navigation__DropdownHeader__qjpSN\",\"Navigation__DropdownInnerWrap\":\"Navigation_Navigation__DropdownInnerWrap__KVc2E\",\"Navigation__DropdownLink--Arrow\":\"Navigation_Navigation__DropdownLink--Arrow__a5XQZ\",\"Navigation__DropdownLink--Region\":\"Navigation_Navigation__DropdownLink--Region__Q_Pli\",\"Navigation__DropdownLink--City\":\"Navigation_Navigation__DropdownLink--City__1g_Dt\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NavigationFavorite\":\"NavigationFavorite_NavigationFavorite__bEUnq\",\"NavigationFavorite--Fade\":\"NavigationFavorite_NavigationFavorite--Fade__xQD_n\",\"NavigationFavorite--Filled\":\"NavigationFavorite_NavigationFavorite--Filled__GxCeQ\",\"NavigationFavorite__NumberContainer\":\"NavigationFavorite_NavigationFavorite__NumberContainer__S_Mff\",\"NavigationFavorite__Number\":\"NavigationFavorite_NavigationFavorite__Number__zUDY3\",\"NavigationFavorite--Active\":\"NavigationFavorite_NavigationFavorite--Active__d4xWz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NavigationMobile__Item--TopLevel\":\"NavigationMobile_NavigationMobile__Item--TopLevel__9YxRh\",\"NavigationMobile__Item--SubLevel\":\"NavigationMobile_NavigationMobile__Item--SubLevel__AuAff\",\"NavigationMobile\":\"NavigationMobile_NavigationMobile__y1_04\",\"NavigationMobile--Open\":\"NavigationMobile_NavigationMobile--Open__k3ngl\",\"NavigationMobile__Container\":\"NavigationMobile_NavigationMobile__Container__4wKi7\",\"NavigationMobile__Logotype\":\"NavigationMobile_NavigationMobile__Logotype__qjQ_Y\",\"NavigationMobile__Actions\":\"NavigationMobile_NavigationMobile__Actions__JNwbr\",\"NavigationMobile__Search\":\"NavigationMobile_NavigationMobile__Search__XxvCY\",\"NavigationMobile__Favorite\":\"NavigationMobile_NavigationMobile__Favorite__FWJ8z\",\"NavigationMobile__Favorite--Filled\":\"NavigationMobile_NavigationMobile__Favorite--Filled__SRRkk\",\"NavigationMobile__Favorite--Active\":\"NavigationMobile_NavigationMobile__Favorite--Active__cHPok\",\"NavigationMobile__Toggle\":\"NavigationMobile_NavigationMobile__Toggle__GSX6Q\",\"NavigationMobile__ItemsContainer\":\"NavigationMobile_NavigationMobile__ItemsContainer__HZ0QD\",\"NavigationMobile__Items\":\"NavigationMobile_NavigationMobile__Items__0rvqm\",\"NavigationMobile__ItemContainer\":\"NavigationMobile_NavigationMobile__ItemContainer__sgL6P\",\"NavigationMobile__ItemContainer--SubLevel\":\"NavigationMobile_NavigationMobile__ItemContainer--SubLevel__VHX14\",\"NavigationMobile__ItemLink\":\"NavigationMobile_NavigationMobile__ItemLink__bnrr3\",\"NavigationMobile__ButtonToggle\":\"NavigationMobile_NavigationMobile__ButtonToggle__3CPWK\",\"NavigationMobile__ActiveLanguage\":\"NavigationMobile_NavigationMobile__ActiveLanguage__CC5wt\",\"NavigationMobile__Item\":\"NavigationMobile_NavigationMobile__Item__d1A_W\",\"NavigationMobile__Item--Language\":\"NavigationMobile_NavigationMobile__Item--Language__sH7cr\",\"NavigationMobile__Item--Explore\":\"NavigationMobile_NavigationMobile__Item--Explore__MI28Z\",\"NavigationMobile__Item--Destination\":\"NavigationMobile_NavigationMobile__Item--Destination__BRiGy\",\"NavigationMobile__Item--City\":\"NavigationMobile_NavigationMobile__Item--City__sjBRo\",\"NavigationMobile__Item--Editorial\":\"NavigationMobile_NavigationMobile__Item--Editorial__V5vaP\",\"NavigationMobile__Item--Region\":\"NavigationMobile_NavigationMobile__Item--Region__gpYjx\",\"NavigationMobile__Checkbox\":\"NavigationMobile_NavigationMobile__Checkbox__PdWl2\",\"NavigationMobile__Checkbox--Active\":\"NavigationMobile_NavigationMobile__Checkbox--Active__3RA_e\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NavigationSearch__Link\":\"NavigationSearch_NavigationSearch__Link__S_KtB\",\"NavigationSearch\":\"NavigationSearch_NavigationSearch__ehJjD\",\"NavigationSearch__Wrap\":\"NavigationSearch_NavigationSearch__Wrap__QDzQI\",\"NavigationSearch__Wrap--ShowsSuggestions\":\"NavigationSearch_NavigationSearch__Wrap--ShowsSuggestions__u9qZ5\",\"NavigationSearch__Button\":\"NavigationSearch_NavigationSearch__Button__RVIsZ\",\"NavigationSearch__Cancel\":\"NavigationSearch_NavigationSearch__Cancel__D3p8S\",\"NavigationSearch__Input\":\"NavigationSearch_NavigationSearch__Input__vj7Nq\",\"NavigationSearch__Reset\":\"NavigationSearch_NavigationSearch__Reset__5k8Em\",\"NavigationSearch__Suggestions\":\"NavigationSearch_NavigationSearch__Suggestions__hhKIL\",\"NavigationSearch__Suggestions--HasSuggestions\":\"NavigationSearch_NavigationSearch__Suggestions--HasSuggestions__x56sb\",\"NavigationSearch__SearchLink\":\"NavigationSearch_NavigationSearch__SearchLink__qZcBV\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"NewsletterSignup__Wrapper\":\"NewsletterSignup_NewsletterSignup__Wrapper__fQULp\",\"NewsletterSignup__Input\":\"NewsletterSignup_NewsletterSignup__Input__y33jz\",\"NewsletterSignup__Text\":\"NewsletterSignup_NewsletterSignup__Text__6qPCD\",\"NewsletterSignup\":\"NewsletterSignup_NewsletterSignup__MpAvm\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"BasePage__SkipMain\":\"BasePage_BasePage__SkipMain__ZyR_U\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"FadeIn-enter\":\"FadeIn_FadeIn-enter__TrlPo\",\"FadeIn-enter-active\":\"FadeIn_FadeIn-enter-active__y1MJV\",\"FadeIn-exit\":\"FadeIn_FadeIn-exit__9POsF\",\"FadeIn-exit-active\":\"FadeIn_FadeIn-exit-active__cgrMo\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"SlideInFromTop-enter\":\"SlideInFromTop_SlideInFromTop-enter__h7Hom\",\"SlideInFromTop-enter-active\":\"SlideInFromTop_SlideInFromTop-enter-active__ZQ3P7\",\"SlideInFromTop-exit\":\"SlideInFromTop_SlideInFromTop-exit__74hyf\",\"SlideInFromTop-exit-active\":\"SlideInFromTop_SlideInFromTop-exit-active__teHJf\"};"],"names":["Button","iconClasses","children","link","href","label","text","title","onClick","icon","type","className","minWidth","isDownload","untranslatedModifiers","attrs","param","linkHref","undefined","Tag","props","download","target","classes","classNames","styles","concat","map","x","jsx_runtime","jsxs","style","jsx","span","aria-hidden","propTypes","PropTypes","components_Button","constants_breakpoints","s","sm","m","l","xl","xxl","BaseContext","createContext","googleMapsApiKey","isStorybook","__webpack_exports__","Z","NavigationFavorite","favoritesPageUrl","onHover","onHoverLeave","hasMouseOverThisItem","mouseOverItem","t","useTranslation","isActive","setIsActive","useState","favoritesCount","setFavoritesCount","handleBookmarksUpdated","updatedBookmarks","length","useEffect","bookmarks","window","location","favoriteClasses","a","onMouseOver","onFocus","onMouseLeave","data-number","defaultProps","useDebounce","value","delay","debouncedValue","setDebouncedValue","timeout","setTimeout","clearTimeout","NavigationSearch","searchPageUrl","onClose","searchInput","setSearchInput","suggestions","setSuggestions","showSuggestions","setShowSuggestions","focussed","setFocussed","debouncedInput","getItems","getSearchSuggestions","handleBlockScroll","e","keyCode","preventDefault","handleKeyPress","currentElement","document","activeElement","isLink","classList","indexOf","isSearch","id","querySelector","focus","encodeURIComponent","parentElement","previousSibling","nextSibling","body","remove","addEventListener","removeEventListener","handleFocus","handleClick","contains","localName","add","suggestionsClasses","wrapperClasses","div","input","placeholder","onChange","button","aria-label","FadeIn","visible","role","aria-live","ol","li","item","Navigation","state","menu","languages","isSearchActive","pageType","activeMenuItem","setActiveMenuItem","langSwitchIsOpen","setLangSwitchIsOpen","showSearch","setShowSearch","useContext","CookieStateContext","cookieConsent","categories","includes","logotypeClasses","bylineClasses","searchClasses","serviceMenuClasses","navClasses","navigationContainerClasses","handleScroll","scrollY","isButton","activateSearch","pathname","scrollIntoView","behavior","handleClickItem","nav","useCallback","Fragment","idx","NavItem","navId","onClickItem","onKeyUp","LanguageSwitch","handleLangSwitch","activeLanguage","filter","switchMenuClass","languageSwitcherClasses","aria-expanded","aria-controls","langCode","checkBoxClass","lang","items","linkClass","Dropdown","dropdownClasses","newItems","lists","index","list","listIndex","react","createElement","DropdownList","key","links","showArrowIcon","h2","ul","linkClasses","active","ButtonToggle","untranslatedClassNames","translatedClassNames","rawModifiers","NavigationMobile","handleDisable","menuIsOpen","setMenuIsOpen","handleMenuToggle","menuClasses","SubNavigation","MobileLanguageSwitcher","subMenuIsOpen","setSubMenuIsOpen","handleSubMenuToggle","buttonToggleModifiers","language","buttonToggleClasses","topNavigationClasses","hasSubMenuLinkItems","some","firstLevelLists","secondLevelLists","listsIndex","React","linkIndex","SubNavigationItem","isEditorial","subNavigationClasses","subNavigationLinkClasses","Footer","footerMainMenu","footerPrivacyMenu","copyrightYear","socialMediaProfiles","footer","MainNav","SocialNav","profiles","PrivacyNav","SwedenLogotypes","isRequired","aria-labelledby","profile","i","url","components_BasicLogo","NewsletterSignup","newsletterUrl","hiddenInputName","submitText","form","action","method","noValidate","htmlFor","defaultValue","name","position","left","tabIndex","readOnly","SlideInFromTop","_param","CSSTransition","in","unmountOnExit","CrisisInformationBar","content","identifier","hidden","setHidden","getCookie","h3","dangerouslySetInnerHTML","__html","setCookie","GlobalSiteSwitcher","open","setOpen","WagtailUserbar","html","suppressHydrationWarning","BasePage","navigation","footerNavigation","crisisInformation","newsletterSignup","breadcrumbs","meta","siteSetting","hideNavigation","wagtailUserbar","seo","storybookGoogleMapsApiKey","restContext","siteSwitcher","context","useCookieStateContext","handleCookieAcceptAll","handleCookieAcceptCategories","handleCookieRejectAll","dataLayer","push","contentgrouping","area","metaDataArea","region","metaDataRegions","program","metaDataInternalProgram","funding","metaDataFunding","smoothscroll","querySelectorAll","isExternalUrl","getAttribute","setAttribute","handleCookieScriptLoaded","CookieScript","instance","currentState","detail","gtag","event","console","log","showBreadcrumbs","Meta","Provider","main","isEmpty","BasicLogo","Header","isHydrated","setIsHydrated","isDesktop","setIsDesktop","isDisabled","setIsDisabled","headroomClasses","checkIfDesktop","innerWidth","breakpoints","Headroom","disableInlineStyles","seoHtmlTitle","seoMetaDescription","seoOgUrl","seoOgDescription","seoOgTitle","seoOgImage","seoOgType","seoTwitterTitle","seoTwitterDescription","seoTwitterUrl","seoTwitterImage","seoMetaRobots","seoCanonicalLink","ldJson","Head","property","rel","script","basePageWrap","_class","Component","containers_BasePage","dispatch","useReducer","cookieReducer","payload","_swc_helpers_object_spread_props__WEBPACK_IMPORTED_MODULE_1__","_","_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_2__","transitions_FadeIn","basePath","ids","baseUrl","join","searchString","parent","feedbackId","getPageDataByIds","response","fetch","endpoints","json","getSearchResults","page","activeChips","activeRegions","pinnedCategory","sorting","abortController","signal","regions","sendSearchDupes","honeypotValue","nonce","csrf","JSON","stringify","query","honeypot","headers","_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_0__","sendArticleFeedback","articleId","rating","article","sendArticleFeedbackComment","comment","cookieValue","cookie","cookies","split","trim","substring","decodeURIComponent","storage","getItem","setItem","getBookmarkBy","propName","foundBookmarks","getBookmarks","bookmark","removeBookmarkBy","executeUpdateCallbacks","cbs","forEach","cb","isBookmarked","getBookmark","parse","getBookmarkIds","reduce","hasBookmarks","addBookmark","removeBookmark","onBookmarksUpdated","removeOnBookmarksUpdated","fn","encodeBookmarkIds","checksum","bookmarkIds","sum","base64url","decodeBookmarkIds","data","Number","pop","cname","cvalue","d","Date","setTime","getTime","expires","toUTCString","part","charAt","variable","isArray","Array","isObject","isString","Object","keys","storageInstance","isSupported","localStorage","CookieStorage","sessionStorage","MemoryStorage","isExternal","hostname","isNotInternal","hasProtocol","objToQueryString","obj","k","searchToObj","decodeURI","search","replace","searchToMapObj","activeCategories","view","newObj","searchToSearchObj","hydrationCompleted","options","supportMatchMedia","matchMedia","defaultMatches","noSsr","ssrMatchMedia","_swc_helpers_object_spread__WEBPACK_IMPORTED_MODULE_1__","match","setMatch","matches","queryList","handleMatchesChange","addListener","removeListener","module","exports"],"sourceRoot":""}