{"version":3,"sources":["webpack:///./node_modules/jotai/vanilla/utils.js","webpack:///../src/atomWithLocation.ts","webpack:///./src/modules/IntroWithNavigation/IntroWithNavigation.js","webpack:///./src/modules/Intro/Intro.js","webpack:///./src/modules/VideoList/VideoList.js","webpack:///./src/components/Image/ImgElement.js","webpack:///./src/components/Image/Image.js","webpack:///./src/components/Markdown/renderers/HeaderRenderer/HeaderRenderer.js","webpack:///./src/components/Markdown/renderers/LinkRenderer/LinkRenderer.js","webpack:///./src/components/Markdown/renderers/ParagraphRenderer/ParagraphRenderer.js","webpack:///./src/components/Markdown/renderers/ImageRenderer/ImageRenderer.js","webpack:///./src/components/List/List.js","webpack:///./src/components/Markdown/renderers/ListRenderer/ListRenderer.js","webpack:///./src/components/Markdown/markdown-styles.js","webpack:///./src/components/Markdown/renderers/TextRenderer/TextRenderer.js","webpack:///./src/components/Markdown/Markdown.js","webpack:///./src/components/CtaLink/CtaLink.js","webpack:///./src/components/Image/imgix-support.js","webpack:///./src/components/Image/helpers.js","webpack:///./src/utils/hyphenation.js","webpack:///./src/components/HyphenatedText/HyphenatedText.js","webpack:///./node_modules/jotai/index.js","webpack:///./node_modules/jotai/vanilla.js","webpack:///./src/App/Atoms.js","webpack:///./src/icons/PlayIcon.js","webpack:///./node_modules/jotai/react.js","webpack:///./src/components/VideoCardOpened/VideoCardOpened.js","webpack:///./src/components/VideoCardClosed/VideoCardClosed.js","webpack:///./src/components/VideoCard/VideoCard.js"],"names":["_typeof","o","Symbol","iterator","constructor","prototype","vanilla","require","RESET","_arrayLikeToArray","arr","len","length","i","arr2","Array","_createForOfIteratorHelperLoose","allowArrayLike","it","call","next","bind","isArray","minLen","n","Object","toString","slice","name","from","test","_unsupportedIterableToArray","done","value","TypeError","getCached$2","c","m","k","has","set","get","cache1$4","WeakMap","cache1$3","deepFreeze","obj","freeze","_step","_iterator","getOwnPropertyNames","getCached$1","cache1$2","cacheKeyForEmptyKeyExtractor","isWritable","atom","write","createJSONStorage","getStringStorage","lastStr","lastValue","storage","getItem","key","initialValue","_getStringStorage$get","_getStringStorage","x","parse","str","JSON","_unused","then","setItem","newValue","_getStringStorage2","stringify","removeItem","_getStringStorage3","window","addEventListener","Storage","subscribe","callback","storageEventCallback","e","storageArea","_newValue","_unused2","removeEventListener","defaultStorage","localStorage","undefined","cache1$1","LOADING","state","getCached","cache1","defaultFallback","exports","atomFamily","initializeAtom","areEqual","shouldRemove","atoms","Map","createAtom","param","item","_step$value","remove","newAtom","Date","now","delete","_step2","_iterator2","setShouldRemove","fn","_step3","_iterator3","_step3$value","atomWithDefault","getDefault","EMPTY","overwrittenAtom","anAtom","options","overwritten","update","prevValue","atomWithObservable","getObservable","returnResultData","result","d","observableResultAtom","_observable$Symbol$ob","_observable","resolve","observable","itself","setResult","lastResult","subscription","timer","makePending","Promise","r","initialResult","listener","isNotMounted","start","clearTimeout","unsubscribe","error","complete","unstable_timeout","setTimeout","resultAtom","onMount","_get","data","_get2","Error","atomWithReducer","reducer","action","atomWithReset","nextValue","atomWithStorage","getOnInit","baseAtom","setAtom","unsub","resolvedValue","freezeAtom","create","arg","dep1","freezeAtomCreator","apply","arguments","origRead","read","this","loadable","loadableCache","refreshAtom","derivedAtom","_ref","setSelf","promise","cached","finally","selectAtom","selector","equalityFn","is","selectValue","prevSlice","prev","all","init","dep2","dep3","cache2","cache3","splitAtom","arrAtom","keyExtractor","mappingCache","mappingAtom","getMapping","mapping","prevMapping","atomList","keyList","forEach","index","cachedAtom","indexOf","currArr","prevItem","nextItem","concat","every","splittedAtom","type","_index","before","_arr","index1","index2","_arr2","unwrap","fallback","promiseErrorCache","promiseResultCache","promiseAndValueAtom","v","p","f","_len","args","_key","location","pathname","searchParams","URLSearchParams","search","t","URL","href","replace","history","replaceState","pushState","a","l","s","InnerWrapper","styled","div","withConfig","displayName","componentId","area","rem","mediaQuery","md","_templateObject","_taggedTemplateLiteral","_ref2","getLineHeight","StyledHeading","Heading","_templateObject2","StyledParagraph","Paragraph","attrs","weight","size","_ref3","theme","text","getFontSize","_templateObject3","StyledVideoNav","nav","StyledInnerWrapper","StyledButton","Button","_ref4","chosen","locationAtom","getLocation","applyLocation","preloaded","IntroWithNavigation","_ref5","_filter$searchParams","title","subtitle","videoItems","_useAtom2","_slicedToArray","useAtom","loc","setLoc","pathName","_useAtom4","videoFilterAtom","filter","setFilter","_useState2","useState","number","setNumber","useEffect","handleResize","matchMedia","matches","subjectAreas","_toConsumableArray","Set","map","video","subjectArea","React","Ribbon","marginBottom","tag","level","responsiveSize","HyphenatedText","minWordLength","roundedBottom","paddingTop","noGrid","aria-label","label","onClick","_objectSpread","subject","Intro","_React$Component","_inherits","_super","_createSuper","_classCallCheck","_this$props","props","defaultProps","StyledList","ul","StyledListWrapper","StyledLi","li","VideoList","createElement","Fragment","VideoCard","assign","isSingle","BannerCard","getObjectPosition","alignX","alignY","Img","img","blurred","show","hide","zoomOnHover","ImgElement","src","alt","contain","cover","onLoad","_objectWithoutProperties","_excluded","renderAsDiv","setRenderAsDiv","objectFitSupport","as","style","backgroundImage","backgroundSize","backgroundPosition","objectPosition","objectFit","role","Container","fillContainer","aspect","Image","_PureComponent","_this","ready","animatedIn","elementWidth","elementHeight","timeout","handleLoad","fadeIn","setState","handleTransitionEnd","handleError","handleMeasure","contentRect","Math","ceil","bounds","width","height","onResize","maxAspectRatio","aspectRatio","min","fit","crop","focalPoint","auto","y","imgixParams","imgixProps","processImage","imageDimensionMap","w","h","dpr","q","blur","_this2","disableBlur","className","_this$state","generateImgixProps","currentSrc","generateSource","generateAspectRatio","Measure","measureRef","ref","generateBlurredSource","aria-hidden","onError","onTransitionEnd","PureComponent","withImgix","SectionHeader","mediaOnly","xs","HeaderRenderer","children","AreaConsumer","CtaLinkWrapper","MarkdownCtaLink","CtaLink","MarkdownNormalLink","Link","underline","LinkRenderer","isCtaLink","rest","meta","target","isExternalLink","hrefSplit","split","_target","splice","join","getMetaInfoFromHref","linkProps","isImageRendere","isLinkRendere","ParagraphRenderer","childs","toArray","reduce","acc","val","push","child","link","maxWidth","noBreaks","Wrapper","span","imageSizes","default","main","ImageRenderer","_React$PureComponent","_src$split2","imgSrc","attr","qs","parseInt","noSizes","ratio","sizes","Base","bodyFontSize","bodyFontWeight","UnorderedList","color","yellow","OrderedList","withComponent","List","ordered","Comp","ArticleList","ListRenderer","supportsStringRender","document","documentMode","navigator","userAgent","TextRenderer","RENDERERS","ReactMarkdown","renderers","heading","paragraph","image","list","normalStyle","css","fullWidthStyle","StyledMarkdown","noMargin","clearMargin","fullWidth","invert","textInvert","Markdown","source","id","ThemeContext","disallowedTypes","BaseButton","secondaryFontFamily","primary","accent","Label","durations","fast","align","renderInner","hovering","_this$props2","normalizedWidth","imageQuality","constructUrl","params","preparedParams","keys","encodeURIComponent","Component","InjectedComponent","ConfigContext","Consumer","config","imgixDomain","includes","global","devicePixelRatio","supports","body","hyphenate","createHyphenation","patterns","async","html","useMemo","react","hasOwnProperty","defineProperty","enumerable","keyCount","defaultStore","hasInitialValue","isActuallyWritableAtom","cancelPromiseMap","cancelPromise","cancel","resolvePromise","status","rejectPromise","reason","isEqualAtomValue","b","isEqualAtomError","hasPromiseAtomValue","returnAtomValue","atomState","createStore","atomStateMap","mountedMap","pendingMap","getAtomState","setAtomState","prevAtomState","_next","reject","updateDependencies","nextAtomState","nextDependencies","dependencies","changed","aState","setAtomValue","orig","setAtomValueOrPromise","valueOrPromise","abortPromise","continuePromise","updatePromiseDependencies","mountDependencies","settled","catch","registerCancelPromise","readAtomState","force","controller","isSync","AbortController","signal","writeAtom","_aState","_controller","abort","setAtomError","canUnmountAtom","mounted","recomputeDependents","dependencyMap","dirtyMap","getDependents","_mountedMap$get","dependents","_","pendingAtom","_getAtomState","add","loop1","dependent","loop2","dirtyCount","_dependencyMap$get","isChanged","writeAtomState","getter","setter","_len3","_key3","flushPending","process","_len2","_key2","_len4","_key4","mountAtom","initialDependent","onMountQueue","_getAtomState2","queue","aMounted","onUnmount","_len5","_key5","u","unmountAtom","_mountedMap$get2","prevDependencies","depSet","pending","clear","sub","addAtom","listeners","delAtom","getDefaultStore","formSessionIdAtom","formSessionIsReceiptStepAtom","validFormVersionAtom","showCookieDisclaimerAtom","Svg","svg","white","PlayIcon","viewBox","cursor","cx","cy","ReactExports","StoreContext","createContext","useStore","store","useContext","use","useAtomValue","_useReducer","useReducer","_useReducer$","valueFromReducer","storeFromReducer","atomFromReducer","rerender","delay","useDebugValue","useSetAtom","useCallback","Provider","storeRef","useRef","current","VideoCardOpened","description","Vimeo","lazy","keyGen","consecutive","hyphenatedTitle","CardModal","transparent","effects","borderPositive","negative","cardNegativeBackground","cardPositiveBackground","StyledWrapper","_ref6","_ref7","StyledSubtitleWrapper","StyledSubtitle","_ref8","fieldHover","StyledHeadingLink","StyledLink","_ref9","_ref10","Suspense","controls","VideoCardClosed","onHandleOpen","Card","button","linkHoverTransition","StyledVideoCardImage","StyledImage","StyledPlayButton","poster","fontSize","fontWeight","lineHeight","dangerouslySetInnerHTML","__html","StyledCardElementContainer","StyledCloseButton","StyledDialog","Dialog","StyledDialogOverlay","Overlay","player","isOpen","handleOpen","handleClose","cardElement","display","onClose","open","fill","fill-rule","clip-rule"],"mappings":"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","file":"static/scripts/intro-06d4a809908c9210f1f9.js","sourcesContent":["'use strict';\n\nvar vanilla = require('jotai/vanilla');\n\nvar RESET = Symbol();\n\nfunction atomWithReset(initialValue) {\n var anAtom = vanilla.atom(initialValue, function (get, set, update) {\n var nextValue = typeof update === 'function' ? update(get(anAtom)) : update;\n set(anAtom, nextValue === RESET ? initialValue : nextValue);\n });\n return anAtom;\n}\n\nfunction atomWithReducer(initialValue, reducer) {\n var anAtom = vanilla.atom(initialValue, function (get, set, action) {\n return set(anAtom, reducer(get(anAtom), action));\n });\n return anAtom;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nfunction atomFamily(initializeAtom, areEqual) {\n var shouldRemove = null;\n var atoms = new Map();\n var createAtom = function createAtom(param) {\n var item;\n if (areEqual === undefined) {\n item = atoms.get(param);\n } else {\n for (var _iterator = _createForOfIteratorHelperLoose(atoms), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n value = _step$value[1];\n if (areEqual(key, param)) {\n item = value;\n break;\n }\n }\n }\n if (item !== undefined) {\n if (shouldRemove != null && shouldRemove(item[1], param)) {\n createAtom.remove(param);\n } else {\n return item[0];\n }\n }\n var newAtom = initializeAtom(param);\n atoms.set(param, [newAtom, Date.now()]);\n return newAtom;\n };\n createAtom.remove = function (param) {\n if (areEqual === undefined) {\n atoms.delete(param);\n } else {\n for (var _iterator2 = _createForOfIteratorHelperLoose(atoms), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n key = _step2$value[0];\n if (areEqual(key, param)) {\n atoms.delete(key);\n break;\n }\n }\n }\n };\n createAtom.setShouldRemove = function (fn) {\n shouldRemove = fn;\n if (!shouldRemove) return;\n for (var _iterator3 = _createForOfIteratorHelperLoose(atoms), _step3; !(_step3 = _iterator3()).done;) {\n var _step3$value = _step3.value,\n key = _step3$value[0],\n value = _step3$value[1];\n if (shouldRemove(value[1], key)) {\n atoms.delete(key);\n }\n }\n };\n return createAtom;\n}\n\nvar getCached$2 = function getCached(c, m, k) {\n return (m.has(k) ? m : m.set(k, c())).get(k);\n};\nvar cache1$4 = new WeakMap();\nvar memo3 = function memo3(create, dep1, dep2, dep3) {\n var cache2 = getCached$2(function () {\n return new WeakMap();\n }, cache1$4, dep1);\n var cache3 = getCached$2(function () {\n return new WeakMap();\n }, cache2, dep2);\n return getCached$2(create, cache3, dep3);\n};\nfunction selectAtom(anAtom, selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = Object.is;\n }\n return memo3(function () {\n var EMPTY = Symbol();\n var selectValue = function selectValue(_ref) {\n var value = _ref[0],\n prevSlice = _ref[1];\n if (prevSlice === EMPTY) {\n return selector(value);\n }\n var slice = selector(value, prevSlice);\n return equalityFn(prevSlice, slice) ? prevSlice : slice;\n };\n var derivedAtom = vanilla.atom(function (get) {\n var prev = get(derivedAtom);\n var value = get(anAtom);\n if (value instanceof Promise || prev instanceof Promise) {\n return Promise.all([value, prev]).then(selectValue);\n }\n return selectValue([value, prev]);\n });\n derivedAtom.init = EMPTY;\n return derivedAtom;\n }, anAtom, selector, equalityFn);\n}\n\nvar cache1$3 = new WeakMap();\nvar memo1$1 = function memo1(create, dep1) {\n return (cache1$3.has(dep1) ? cache1$3 : cache1$3.set(dep1, create())).get(dep1);\n};\nvar deepFreeze = function deepFreeze(obj) {\n if (typeof obj !== 'object' || obj === null) return;\n Object.freeze(obj);\n var propNames = Object.getOwnPropertyNames(obj);\n for (var _iterator = _createForOfIteratorHelperLoose(propNames), _step; !(_step = _iterator()).done;) {\n var name = _step.value;\n var value = obj[name];\n deepFreeze(value);\n }\n return obj;\n};\nfunction freezeAtom(anAtom) {\n return memo1$1(function () {\n var frozenAtom = vanilla.atom(function (get) {\n return deepFreeze(get(anAtom));\n }, function (_get, set, arg) {\n return set(anAtom, arg);\n });\n return frozenAtom;\n }, anAtom);\n}\nfunction freezeAtomCreator(createAtom) {\n return function () {\n var anAtom = createAtom.apply(void 0, arguments);\n var origRead = anAtom.read;\n anAtom.read = function (get, options) {\n return deepFreeze(origRead.call(this, get, options));\n };\n return anAtom;\n };\n}\n\nvar getCached$1 = function getCached(c, m, k) {\n return (m.has(k) ? m : m.set(k, c())).get(k);\n};\nvar cache1$2 = new WeakMap();\nvar memo2$1 = function memo2(create, dep1, dep2) {\n var cache2 = getCached$1(function () {\n return new WeakMap();\n }, cache1$2, dep1);\n return getCached$1(create, cache2, dep2);\n};\nvar cacheKeyForEmptyKeyExtractor = {};\nvar isWritable = function isWritable(atom) {\n return !!atom.write;\n};\nvar isFunction = function isFunction(x) {\n return typeof x === 'function';\n};\nfunction splitAtom(arrAtom, keyExtractor) {\n return memo2$1(function () {\n var mappingCache = new WeakMap();\n var getMapping = function getMapping(arr, prev) {\n var mapping = mappingCache.get(arr);\n if (mapping) {\n return mapping;\n }\n var prevMapping = prev && mappingCache.get(prev);\n var atomList = [];\n var keyList = [];\n arr.forEach(function (item, index) {\n var key = keyExtractor ? keyExtractor(item) : index;\n keyList[index] = key;\n var cachedAtom = prevMapping && prevMapping.atomList[prevMapping.keyList.indexOf(key)];\n if (cachedAtom) {\n atomList[index] = cachedAtom;\n return;\n }\n var read = function read(get) {\n var prev = get(mappingAtom);\n var currArr = get(arrAtom);\n var mapping = getMapping(currArr, prev == null ? void 0 : prev.arr);\n var index = mapping.keyList.indexOf(key);\n if (index < 0 || index >= currArr.length) {\n var prevItem = arr[getMapping(arr).keyList.indexOf(key)];\n if (prevItem) {\n return prevItem;\n }\n throw new Error('splitAtom: index out of bounds for read');\n }\n return currArr[index];\n };\n var write = function write(get, set, update) {\n var prev = get(mappingAtom);\n var arr = get(arrAtom);\n var mapping = getMapping(arr, prev == null ? void 0 : prev.arr);\n var index = mapping.keyList.indexOf(key);\n if (index < 0 || index >= arr.length) {\n throw new Error('splitAtom: index out of bounds for write');\n }\n var nextItem = isFunction(update) ? update(arr[index]) : update;\n if (!Object.is(arr[index], nextItem)) {\n set(arrAtom, [].concat(arr.slice(0, index), [nextItem], arr.slice(index + 1)));\n }\n };\n atomList[index] = isWritable(arrAtom) ? vanilla.atom(read, write) : vanilla.atom(read);\n });\n if (prevMapping && prevMapping.keyList.length === keyList.length && prevMapping.keyList.every(function (x, i) {\n return x === keyList[i];\n })) {\n mapping = prevMapping;\n } else {\n mapping = {\n arr: arr,\n atomList: atomList,\n keyList: keyList\n };\n }\n mappingCache.set(arr, mapping);\n return mapping;\n };\n var mappingAtom = vanilla.atom(function (get) {\n var prev = get(mappingAtom);\n var arr = get(arrAtom);\n var mapping = getMapping(arr, prev == null ? void 0 : prev.arr);\n return mapping;\n });\n if (process.env.NODE_ENV !== 'production') {\n mappingAtom.debugPrivate = true;\n }\n mappingAtom.init = undefined;\n var splittedAtom = isWritable(arrAtom) ? vanilla.atom(function (get) {\n return get(mappingAtom).atomList;\n }, function (get, set, action) {\n switch (action.type) {\n case 'remove':\n {\n var index = get(splittedAtom).indexOf(action.atom);\n if (index >= 0) {\n var arr = get(arrAtom);\n set(arrAtom, [].concat(arr.slice(0, index), arr.slice(index + 1)));\n }\n break;\n }\n case 'insert':\n {\n var _index = action.before ? get(splittedAtom).indexOf(action.before) : get(splittedAtom).length;\n if (_index >= 0) {\n var _arr = get(arrAtom);\n set(arrAtom, [].concat(_arr.slice(0, _index), [action.value], _arr.slice(_index)));\n }\n break;\n }\n case 'move':\n {\n var index1 = get(splittedAtom).indexOf(action.atom);\n var index2 = action.before ? get(splittedAtom).indexOf(action.before) : get(splittedAtom).length;\n if (index1 >= 0 && index2 >= 0) {\n var _arr2 = get(arrAtom);\n if (index1 < index2) {\n set(arrAtom, [].concat(_arr2.slice(0, index1), _arr2.slice(index1 + 1, index2), [_arr2[index1]], _arr2.slice(index2)));\n } else {\n set(arrAtom, [].concat(_arr2.slice(0, index2), [_arr2[index1]], _arr2.slice(index2, index1), _arr2.slice(index1 + 1)));\n }\n }\n break;\n }\n }\n }) : vanilla.atom(function (get) {\n return get(mappingAtom).atomList;\n });\n return splittedAtom;\n }, arrAtom, keyExtractor || cacheKeyForEmptyKeyExtractor);\n}\n\nfunction atomWithDefault(getDefault) {\n var EMPTY = Symbol();\n var overwrittenAtom = vanilla.atom(EMPTY);\n if (process.env.NODE_ENV !== 'production') {\n overwrittenAtom.debugPrivate = true;\n }\n var anAtom = vanilla.atom(function (get, options) {\n var overwritten = get(overwrittenAtom);\n if (overwritten !== EMPTY) {\n return overwritten;\n }\n return getDefault(get, options);\n }, function (get, set, update) {\n if (update === RESET) {\n set(overwrittenAtom, EMPTY);\n } else if (typeof update === 'function') {\n var prevValue = get(anAtom);\n set(overwrittenAtom, update(prevValue));\n } else {\n set(overwrittenAtom, update);\n }\n });\n return anAtom;\n}\n\nvar isPromiseLike = function isPromiseLike(x) {\n return typeof (x == null ? void 0 : x.then) === 'function';\n};\nfunction createJSONStorage(getStringStorage) {\n var lastStr;\n var lastValue;\n var storage = {\n getItem: function getItem(key, initialValue) {\n var _getStringStorage$get, _getStringStorage;\n var parse = function parse(str) {\n str = str || '';\n if (lastStr !== str) {\n try {\n lastValue = JSON.parse(str);\n } catch (_unused) {\n return initialValue;\n }\n lastStr = str;\n }\n return lastValue;\n };\n var str = (_getStringStorage$get = (_getStringStorage = getStringStorage()) == null ? void 0 : _getStringStorage.getItem(key)) != null ? _getStringStorage$get : null;\n if (isPromiseLike(str)) {\n return str.then(parse);\n }\n return parse(str);\n },\n setItem: function setItem(key, newValue) {\n var _getStringStorage2;\n return (_getStringStorage2 = getStringStorage()) == null ? void 0 : _getStringStorage2.setItem(key, JSON.stringify(newValue));\n },\n removeItem: function removeItem(key) {\n var _getStringStorage3;\n return (_getStringStorage3 = getStringStorage()) == null ? void 0 : _getStringStorage3.removeItem(key);\n }\n };\n if (typeof window !== 'undefined' && typeof window.addEventListener === 'function' && window.Storage) {\n storage.subscribe = function (key, callback, initialValue) {\n if (!(getStringStorage() instanceof window.Storage)) {\n return function () {};\n }\n var storageEventCallback = function storageEventCallback(e) {\n if (e.storageArea === getStringStorage() && e.key === key) {\n var _newValue;\n try {\n _newValue = JSON.parse(e.newValue || '');\n } catch (_unused2) {\n _newValue = initialValue;\n }\n callback(_newValue);\n }\n };\n window.addEventListener('storage', storageEventCallback);\n return function () {\n window.removeEventListener('storage', storageEventCallback);\n };\n };\n }\n return storage;\n}\nvar defaultStorage = createJSONStorage(function () {\n return typeof window !== 'undefined' ? window.localStorage : undefined;\n});\nfunction atomWithStorage(key, initialValue, storage, options) {\n if (storage === void 0) {\n storage = defaultStorage;\n }\n var getOnInit = options == null ? void 0 : options.getOnInit;\n var baseAtom = vanilla.atom(getOnInit ? storage.getItem(key, initialValue) : initialValue);\n if (process.env.NODE_ENV !== 'production') {\n baseAtom.debugPrivate = true;\n }\n baseAtom.onMount = function (setAtom) {\n if (!getOnInit) {\n setAtom(storage.getItem(key, initialValue));\n }\n var unsub;\n if (storage.subscribe) {\n unsub = storage.subscribe(key, setAtom, initialValue);\n }\n return unsub;\n };\n var anAtom = vanilla.atom(function (get) {\n return get(baseAtom);\n }, function (get, set, update) {\n var nextValue = typeof update === 'function' ? update(get(baseAtom)) : update;\n if (nextValue === RESET) {\n set(baseAtom, initialValue);\n return storage.removeItem(key);\n }\n if (nextValue instanceof Promise) {\n return nextValue.then(function (resolvedValue) {\n set(baseAtom, resolvedValue);\n return storage.setItem(key, resolvedValue);\n });\n }\n set(baseAtom, nextValue);\n return storage.setItem(key, nextValue);\n });\n return anAtom;\n}\n\nfunction atomWithObservable(getObservable, options) {\n var returnResultData = function returnResultData(result) {\n if ('e' in result) {\n throw result.e;\n }\n return result.d;\n };\n var observableResultAtom = vanilla.atom(function (get) {\n var _observable$Symbol$ob, _observable;\n var observable = getObservable(get);\n var itself = (_observable$Symbol$ob = (_observable = observable)[Symbol.observable]) == null ? void 0 : _observable$Symbol$ob.call(_observable);\n if (itself) {\n observable = itself;\n }\n var resolve;\n var makePending = function makePending() {\n return new Promise(function (r) {\n resolve = r;\n });\n };\n var initialResult = options && 'initialValue' in options ? {\n d: typeof options.initialValue === 'function' ? options.initialValue() : options.initialValue\n } : makePending();\n var setResult;\n var lastResult;\n var listener = function listener(result) {\n lastResult = result;\n resolve == null || resolve(result);\n setResult == null || setResult(result);\n };\n var subscription;\n var timer;\n var isNotMounted = function isNotMounted() {\n return !setResult;\n };\n var start = function start() {\n if (subscription) {\n clearTimeout(timer);\n subscription.unsubscribe();\n }\n subscription = observable.subscribe({\n next: function next(d) {\n return listener({\n d: d\n });\n },\n error: function error(e) {\n return listener({\n e: e\n });\n },\n complete: function complete() {}\n });\n if (isNotMounted() && options != null && options.unstable_timeout) {\n timer = setTimeout(function () {\n if (subscription) {\n subscription.unsubscribe();\n subscription = undefined;\n }\n }, options.unstable_timeout);\n }\n };\n start();\n var resultAtom = vanilla.atom(lastResult || initialResult);\n if (process.env.NODE_ENV !== 'production') {\n resultAtom.debugPrivate = true;\n }\n resultAtom.onMount = function (update) {\n setResult = update;\n if (lastResult) {\n update(lastResult);\n }\n if (subscription) {\n clearTimeout(timer);\n } else {\n start();\n }\n return function () {\n setResult = undefined;\n if (subscription) {\n subscription.unsubscribe();\n subscription = undefined;\n }\n };\n };\n return [resultAtom, observable, makePending, start, isNotMounted];\n });\n if (process.env.NODE_ENV !== 'production') {\n observableResultAtom.debugPrivate = true;\n }\n var observableAtom = vanilla.atom(function (get) {\n var _get = get(observableResultAtom),\n resultAtom = _get[0];\n var result = get(resultAtom);\n if (result instanceof Promise) {\n return result.then(returnResultData);\n }\n return returnResultData(result);\n }, function (get, set, data) {\n var _get2 = get(observableResultAtom),\n resultAtom = _get2[0],\n observable = _get2[1],\n makePending = _get2[2],\n start = _get2[3],\n isNotMounted = _get2[4];\n if ('next' in observable) {\n if (isNotMounted()) {\n set(resultAtom, makePending());\n start();\n }\n observable.next(data);\n } else {\n throw new Error('observable is not subject');\n }\n });\n return observableAtom;\n}\n\nvar cache1$1 = new WeakMap();\nvar memo1 = function memo1(create, dep1) {\n return (cache1$1.has(dep1) ? cache1$1 : cache1$1.set(dep1, create())).get(dep1);\n};\nvar LOADING = {\n state: 'loading'\n};\nfunction loadable(anAtom) {\n return memo1(function () {\n var loadableCache = new WeakMap();\n var refreshAtom = vanilla.atom(0);\n if (process.env.NODE_ENV !== 'production') {\n refreshAtom.debugPrivate = true;\n }\n var derivedAtom = vanilla.atom(function (get, _ref) {\n var setSelf = _ref.setSelf;\n get(refreshAtom);\n var value;\n try {\n value = get(anAtom);\n } catch (error) {\n return {\n state: 'hasError',\n error: error\n };\n }\n if (!(value instanceof Promise)) {\n return {\n state: 'hasData',\n data: value\n };\n }\n var promise = value;\n var cached = loadableCache.get(promise);\n if (cached) {\n return cached;\n }\n loadableCache.set(promise, LOADING);\n promise.then(function (data) {\n loadableCache.set(promise, {\n state: 'hasData',\n data: data\n });\n }, function (error) {\n loadableCache.set(promise, {\n state: 'hasError',\n error: error\n });\n }).finally(setSelf);\n return LOADING;\n }, function (_get, set) {\n set(refreshAtom, function (c) {\n return c + 1;\n });\n });\n if (process.env.NODE_ENV !== 'production') {\n derivedAtom.debugPrivate = true;\n }\n return vanilla.atom(function (get) {\n return get(derivedAtom);\n });\n }, anAtom);\n}\n\nvar getCached = function getCached(c, m, k) {\n return (m.has(k) ? m : m.set(k, c())).get(k);\n};\nvar cache1 = new WeakMap();\nvar memo2 = function memo2(create, dep1, dep2) {\n var cache2 = getCached(function () {\n return new WeakMap();\n }, cache1, dep1);\n return getCached(create, cache2, dep2);\n};\nvar defaultFallback = function defaultFallback() {\n return undefined;\n};\nfunction unwrap(anAtom, fallback) {\n if (fallback === void 0) {\n fallback = defaultFallback;\n }\n return memo2(function () {\n var promiseErrorCache = new WeakMap();\n var promiseResultCache = new WeakMap();\n var refreshAtom = vanilla.atom(0);\n if (process.env.NODE_ENV !== 'production') {\n refreshAtom.debugPrivate = true;\n }\n var promiseAndValueAtom = vanilla.atom(function (get, _ref) {\n var setSelf = _ref.setSelf;\n get(refreshAtom);\n var prev = get(promiseAndValueAtom);\n var promise = get(anAtom);\n if (!(promise instanceof Promise)) {\n return {\n v: promise\n };\n }\n if (promise === (prev == null ? void 0 : prev.p)) {\n if (promiseErrorCache.has(promise)) {\n throw promiseErrorCache.get(promise);\n }\n if (promiseResultCache.has(promise)) {\n return {\n p: promise,\n v: promiseResultCache.get(promise)\n };\n }\n }\n if (promise !== (prev == null ? void 0 : prev.p)) {\n promise.then(function (v) {\n return promiseResultCache.set(promise, v);\n }, function (e) {\n return promiseErrorCache.set(promise, e);\n }).finally(setSelf);\n }\n if (prev && 'v' in prev) {\n return {\n p: promise,\n f: fallback(prev.v),\n v: prev.v\n };\n }\n return {\n p: promise,\n f: fallback()\n };\n }, function (_get, set) {\n set(refreshAtom, function (c) {\n return c + 1;\n });\n });\n promiseAndValueAtom.init = undefined;\n if (process.env.NODE_ENV !== 'production') {\n promiseAndValueAtom.debugPrivate = true;\n }\n return vanilla.atom(function (get) {\n var state = get(promiseAndValueAtom);\n if ('f' in state) {\n return state.f;\n }\n return state.v;\n }, function (_get, set) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return set.apply(void 0, [anAtom].concat(args));\n });\n }, anAtom, fallback);\n}\n\nexports.RESET = RESET;\nexports.atomFamily = atomFamily;\nexports.atomWithDefault = atomWithDefault;\nexports.atomWithObservable = atomWithObservable;\nexports.atomWithReducer = atomWithReducer;\nexports.atomWithReset = atomWithReset;\nexports.atomWithStorage = atomWithStorage;\nexports.createJSONStorage = createJSONStorage;\nexports.freezeAtom = freezeAtom;\nexports.freezeAtomCreator = freezeAtomCreator;\nexports.loadable = loadable;\nexports.selectAtom = selectAtom;\nexports.splitAtom = splitAtom;\nexports.unwrap = unwrap;\n","import { atom } from 'jotai/vanilla';\nimport type { PrimitiveAtom, SetStateAction } from 'jotai/vanilla';\n\ntype Location = {\n pathname?: string;\n searchParams?: URLSearchParams;\n};\n\nconst getLocation = (): Location => {\n if (typeof window === 'undefined' || !window.location) {\n return {};\n }\n return {\n pathname: window.location.pathname,\n searchParams: new URLSearchParams(window.location.search),\n };\n};\n\nconst applyLocation = (\n location: Location,\n options?: { replace?: boolean },\n): void => {\n const url = new URL(window.location.href);\n if (location.pathname) {\n url.pathname = location.pathname;\n }\n if (location.searchParams) {\n url.search = location.searchParams.toString();\n }\n if (options?.replace) {\n window.history.replaceState(null, '', url);\n } else {\n window.history.pushState(null, '', url);\n }\n};\n\nconst subscribe = (callback: () => void) => {\n window.addEventListener('popstate', callback);\n return () => window.removeEventListener('popstate', callback);\n};\n\ntype Options = {\n preloaded?: T;\n replace?: boolean;\n getLocation?: () => T;\n applyLocation?: (location: T, options?: { replace?: boolean }) => void;\n subscribe?: (callback: () => void) => () => void;\n};\n\ntype RequiredOptions = Omit, 'getLocation' | 'applyLocation'> &\n Required, 'getLocation' | 'applyLocation'>>;\n\nexport function atomWithLocation(\n options?: Options,\n): PrimitiveAtom;\n\nexport function atomWithLocation(\n options: RequiredOptions,\n): PrimitiveAtom;\n\nexport function atomWithLocation(options?: Options) {\n const getL =\n options?.getLocation ||\n (getLocation as unknown as NonNullable['getLocation']>);\n const appL =\n options?.applyLocation ||\n (applyLocation as unknown as NonNullable['applyLocation']>);\n const sub = options?.subscribe || subscribe;\n const baseAtom = atom(options?.preloaded ?? getL());\n\n if (process.env.NODE_ENV !== 'production') {\n baseAtom.debugPrivate = true;\n }\n\n baseAtom.onMount = (set) => {\n const callback = () => set(getL());\n const unsub = sub(callback);\n callback();\n return unsub;\n };\n const derivedAtom = atom(\n (get) => get(baseAtom),\n (get, set, arg: SetStateAction) => {\n set(baseAtom, arg);\n appL(get(baseAtom), options);\n },\n );\n return derivedAtom;\n}\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\nimport type { VideoCardViewModel } from '../../types/VideoCardViewModel'\nimport type { AreaTypes } from '../../types/enums/AreaTypes'\nimport { atomWithLocation } from 'jotai-location'\nimport { useAtom } from 'jotai'\nimport { videoFilterAtom } from '../../App/Atoms'\nimport { getLineHeight, getFontSize } from '../../styles/style-helpers'\nimport { mediaQuery } from '../../styles/media'\nimport Button from '../../components/Button/Button'\nimport Ribbon from '../../components/Ribbon/Ribbon'\nimport Heading from '../../components/Heading/Heading'\nimport Paragraph from '../../components/Paragraph/Paragraph'\nimport { HyphenatedText } from '../../components/HyphenatedText/HyphenatedText'\nimport { useEffect, useState } from 'react'\n\ntype Props = {\n title?: string,\n subtitle?: string,\n area?: AreaTypes,\n videoItems?: Array,\n}\n\nconst InnerWrapper = styled.div`\n ${({ area }) =>\n area === 'wide' &&\n `\n padding-top: ${rem(48)};\n margin-bottom: ${rem(48)};\n margin-right: ${rem(64)};\n `}\n\n ${mediaQuery.md`\n ${({ area }) =>\n area === 'wide' &&\n `\n padding-top: ${rem(64)};\n margin-bottom: ${rem(64)};\n margin-right: ${rem(96)};\n max-width: 75%;\n `}\n line-height: ${getLineHeight('normal')};\n `};\n`\n\nconst StyledHeading = styled(Heading)`\n ${mediaQuery.md`\n font-size: ${rem(44)};\n `}\n`\n\nconst StyledParagraph = styled(Paragraph).attrs({\n weight: 500,\n size: 'large',\n})`\n && {\n color: ${({ theme }) => theme.text};\n line-height: ${getLineHeight('normal')};\n font-size: ${getFontSize('large')};\n\n ${mediaQuery.md`\n max-width: 80%;\n `};\n }\n`\n\nconst StyledVideoNav = styled.nav`\n border-top: 1px solid #edf1f2;\n @media (min-width: 768px) {\n padding: ${rem(40)} 0 0;\n }\n`\nconst StyledInnerWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 1rem;\n padding: 24px ${rem(32)} 44px;\n @media (min-width: 768px) {\n padding: 0 ${rem(54)} 0;\n }\n`\n\nconst StyledButton = styled(Button)`\n font-size: 16px !important;\n\n background-color: ${({ chosen }) =>\n chosen ? '#c4e1e4' : '#c4e1e433 '} !important;\n\n &:hover,\n &:active {\n color: #003851 !important;\n\n background-color: #c4e1e4 !important;\n }\n`\n\nconst locationAtom = atomWithLocation()\n\nconst IntroWithNavigation = ({ title, subtitle, area, videoItems }: Props) => {\n const [loc, setLoc] = useAtom(locationAtom)\n const pathName = loc?.pathname\n const [filter, setFilter] = useAtom(videoFilterAtom)\n const [number, setNumber] = useState(42)\n\n useEffect(() => {\n setFilter(loc)\n }, [loc])\n\n useEffect(() => {\n function handleResize() {\n if (window.matchMedia('(max-width: 768px)').matches) {\n setNumber(43)\n } else {\n setNumber(96)\n }\n }\n\n // Call the handleResize function to set the initial value\n handleResize()\n\n // Attach the event listener\n window.addEventListener('resize', handleResize)\n\n // Clean up the event listener when the component unmounts\n return () => {\n window.removeEventListener('resize', handleResize)\n }\n }, [])\n\n const subjectAreas = videoItems\n ? [\n ...new Set(\n videoItems.map(video => {\n return video.subjectArea\n }),\n ),\n ]\n : null\n return (\n <>\n \n
\n \n {title && (\n \n \n \n )}\n {subtitle && {subtitle}}\n \n
\n
\n \n \n \n {\n setLoc(prev => ({\n ...prev,\n pathname: pathName,\n searchParams: new URLSearchParams(undefined),\n }))\n }}\n />\n {subjectAreas\n ? subjectAreas.map(subject => {\n return subject ? (\n {\n setLoc(prev => ({\n ...prev,\n pathname: pathName,\n searchParams: new URLSearchParams([\n ['filter', `${subject}`],\n ]),\n }))\n }}\n label={subject}\n key={subject}\n />\n ) : null\n })\n : null}\n \n \n \n \n )\n}\n\nexport default IntroWithNavigation\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\n\nimport type { AreaTypes } from '../../types/enums/AreaTypes'\n\nimport { getLineHeight, getFontSize } from '../../styles/style-helpers'\nimport { mediaQuery } from '../../styles/media'\n\nimport Ribbon from '../../components/Ribbon/Ribbon'\nimport Heading from '../../components/Heading/Heading'\nimport Paragraph from '../../components/Paragraph/Paragraph'\nimport { HyphenatedText } from '../../components/HyphenatedText/HyphenatedText'\n\nexport type Props = {\n title?: string,\n subtitle?: string,\n area?: AreaTypes,\n}\n\nconst InnerWrapper = styled.div`\n margin: 0;\n\n ${({ area }) =>\n area === 'wide' &&\n `\n padding-top: ${rem(48)};\n margin-bottom: ${rem(48)};\n margin-right: ${rem(64)};\n `}\n\n ${mediaQuery.md`\n ${({ area }) =>\n area === 'wide' &&\n `\n padding-top: ${rem(64)};\n margin-bottom: ${rem(64)};\n margin-right: ${rem(96)};\n max-width: 75%;\n `}\n\n line-height: ${getLineHeight('normal')};\n `};\n`\n\nconst StyledHeading = styled(Heading)`\n ${mediaQuery.md`\n font-size: ${rem(44)};\n `}\n`\n\nconst StyledParagraph = styled(Paragraph).attrs({\n weight: 500,\n size: 'large',\n})`\n && {\n color: ${({ theme }) => theme.text};\n line-height: ${getLineHeight('normal')};\n font-size: ${getFontSize('large')};\n\n ${mediaQuery.md`\n max-width: 80%;\n `};\n }\n`\n\ntype State = {}\n\nclass Intro extends React.Component {\n static displayName = 'Intro'\n static defaultProps = {}\n\n render() {\n const { title, subtitle, area } = this.props\n\n return (\n \n
\n \n {title && (\n \n \n \n )}\n {subtitle && {subtitle}}\n \n
\n
\n )\n }\n}\n\nexport default Intro\n","// @flow\nimport React from 'react'\nimport styled from 'styled-components'\nimport type { AreaTypes } from '../../types/enums/AreaTypes'\nimport type { VideoCardViewModel } from '../../types/VideoCardViewModel'\nimport VideoCard from '../../components/VideoCard/VideoCard'\nimport { useAtom } from 'jotai'\nimport { videoFilterAtom } from '../../App/Atoms'\n\ntype Props = {\n title?: string,\n subtitle?: string,\n area?: AreaTypes,\n videoItems?: Array,\n}\n\nconst StyledList = styled.ul`\n display: grid;\n gap: 40px;\n\n padding: 40px 0 0;\n\n @media (min-width: 768px) {\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n }\n`\nconst StyledListWrapper = styled.div`\n padding: 0 30px;\n\n @media (min-width: 768px) {\n padding: 0;\n }\n`\n\nconst StyledLi = styled.li`\n list-style: none;\n`\nconst VideoList = ({ title, subtitle, area, videoItems }: Props) => {\n const [filter] = useAtom(videoFilterAtom)\n return (\n <>\n \n \n {videoItems\n ? filter?.searchParams && filter.searchParams.get('filter')\n ? videoItems\n .filter(\n video =>\n video.subjectArea === filter.searchParams.get('filter'),\n )\n .map((video, index) => {\n return (\n \n \n video.subjectArea ===\n filter.searchParams.get('filter'),\n ).length === 1\n }\n key={\n video.title ? `${video.title}-${index}` : `${index}`\n }\n />\n \n )\n })\n : videoItems.map((video, index) => {\n return (\n \n \n \n )\n })\n : null}\n \n \n \n )\n}\n\nexport default VideoList\n","// @flow\nimport React, { useEffect, useState } from 'react'\nimport styled from 'styled-components'\nimport { objectFitSupport } from './helpers'\n\nfunction getObjectPosition(alignX, alignY) {\n return alignX || alignY\n ? `${alignX || 'center'} ${alignY || 'center'}`\n : undefined\n}\n\nconst Img = styled.img`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n width: 100%;\n height: 100%;\n max-width: none;\n object-fit: cover;\n object-position: center;\n ${({ blurred }) =>\n blurred &&\n `\n opacity: 0.4;\n `}\n\n ${({ show }) =>\n show &&\n `\n transition: opacity 0.4s linear;\n will-change: opacity;\n opacity: 1;\n `}\n\n ${({ hide }) =>\n hide &&\n `\n opacity: 0;\n will-change: opacity;\n `}\n\n ${({ zoomOnHover }) =>\n zoomOnHover &&\n `\n transition: transform 2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s;\n &:hover {\n transform: scale(1.1);\n }\n `} \n`\n\ntype Props = {\n src: string,\n alignX?: 'left' | 'center' | 'right',\n alignY?: 'top' | 'center' | 'bottom',\n alt?: string,\n contain?: boolean,\n cover?: boolean,\n onLoad?: Function,\n blurred?: boolean,\n show?: boolean,\n hide?: boolean,\n zoomOnHover?: boolean,\n}\n\n/**\n * Img Element with ObjectFit fallback in unsupported browsers (IE)\n */\nfunction ImgElement({\n src,\n alt,\n contain,\n cover,\n alignX,\n alignY,\n onLoad,\n blurred,\n ...props\n}: Props) {\n /**\n * If this Image requires unsupported ObjectFit, fallback to a
with backgroundImage\n **/\n const [renderAsDiv, setRenderAsDiv] = useState(false)\n useEffect(() => {\n setRenderAsDiv(\n (alignX || alignY || contain || cover) && !objectFitSupport(),\n )\n }, [])\n\n if (renderAsDiv) {\n if (onLoad) {\n // Trigger the onLoad - could create a dummy image instead that triggers it after the image is actually loaded.\n onLoad()\n }\n return (\n \n )\n }\n\n return (\n \n )\n}\n\nImgElement.defaultProps = {\n contain: false,\n}\n\nexport default ImgElement\n","// @flow\nimport React, { PureComponent } from 'react'\nimport Measure from 'react-measure'\nimport styled from 'styled-components'\n\nimport type { ImageViewModel } from '../../types/ImageViewModel'\nimport type { Bounds, Rect } from './types'\n\nimport processImage, { imageDimensionMap, withImgix } from './imgix-support'\nimport ImgElement from './ImgElement'\n\nconst Container = styled.div`\n position: relative;\n width: 100%;\n ${({ fillContainer }) =>\n fillContainer &&\n `\n position: absolute;\n height: 100%;\n top: 0;\n left: 0;\n `} ${({ aspect }) =>\n aspect &&\n `\n padding-bottom: ${aspect * 100}%;\n `};\n ${({ zoomOnHover }) =>\n zoomOnHover &&\n `\n overflow: hidden\n `}\n`\n\ntype Props = ImageViewModel & {\n onResize?: (bounds: Bounds) => void,\n className?: string,\n zoomOnHover?: boolean,\n}\n\ntype State = {\n animatedIn: boolean,\n ready: boolean,\n elementWidth: number,\n elementHeight: number,\n}\n\n/**\n * Image handles fetching the correct Imgix image, and rendering it onto the page.\n * By default it will load an image that fillContainers the width of it's container, while keeping the original image aspect ratio\n */\nclass Image extends PureComponent {\n static displayName = 'Image'\n static defaultProps = {\n maxAspectRatio: 2,\n width: 1,\n height: 1,\n }\n\n static generateAspectRatio(\n width: number = 1,\n height: number = 1,\n maxAspectRatio: number = 1,\n aspectRatio?: number,\n ) {\n if (aspectRatio) {\n return aspectRatio\n }\n return Math.min(maxAspectRatio, height / width)\n }\n\n static generateImgixProps(props: Props) {\n return {\n fit: props.contain ? 'clip' : 'crop',\n crop: !props.contain\n ? props.focalPoint\n ? 'focalpoint'\n : props.crop\n : undefined,\n auto: ['compress', 'format'],\n 'fp-x': props.focalPoint ? props.focalPoint.x : undefined,\n 'fp-y': props.focalPoint ? props.focalPoint.y : undefined,\n ...props.imgixParams,\n }\n }\n\n static generateSource(\n src: string,\n width: number,\n height: number,\n imgixProps?: Object,\n ) {\n if (width > 0 && height > 0) {\n return processImage(src, {\n ...imgixProps,\n ...imageDimensionMap(width, height),\n })\n }\n\n return null\n }\n\n static generateBlurredSource(\n src: string,\n width: number = 1,\n height: number = 1,\n imgixProps: Object = {},\n ) {\n return processImage(src, {\n ...imgixProps,\n w: Math.ceil(64),\n h: Math.ceil((height / width) * 64),\n dpr: 1,\n q: 50,\n blur: 64,\n })\n }\n\n state = {\n ready: false,\n animatedIn: false,\n elementWidth: 0,\n elementHeight: 0,\n }\n\n timeout = null\n\n componentWillUnmount() {\n if (this.timeout) clearTimeout(this.timeout)\n }\n\n handleLoad = () => {\n if (this.props.fadeIn) {\n this.setState({ ready: true })\n this.timeout = setTimeout(() => {\n this.timeout = null\n this.setState({ animatedIn: true })\n }, 1000)\n } else {\n this.setState({ ready: true, animatedIn: true })\n }\n }\n\n handleTransitionEnd = () => {\n if (this.state.ready) {\n this.setState({ animatedIn: true })\n }\n }\n\n handleError = () => {\n this.setState({ ready: true, animatedIn: true })\n }\n\n handleMeasure = (contentRect: Rect) => {\n this.setState({\n elementWidth: Math.ceil(contentRect.bounds.width),\n elementHeight: Math.ceil(contentRect.bounds.height),\n })\n\n if (this.props.onResize) this.props.onResize(contentRect.bounds)\n }\n\n render() {\n const {\n src,\n fadeIn,\n disableBlur,\n maxAspectRatio,\n fillContainer,\n contain,\n cover,\n alignX,\n alignY,\n width,\n height,\n alt,\n className,\n zoomOnHover,\n aspectRatio,\n } = this.props\n\n const { ready, animatedIn, elementWidth, elementHeight } = this.state\n const imgixProps = Image.generateImgixProps(this.props)\n const currentSrc = Image.generateSource(\n src,\n elementWidth,\n elementHeight,\n imgixProps,\n )\n\n const aspect = !fillContainer\n ? Image.generateAspectRatio(width, height, maxAspectRatio, aspectRatio)\n : null\n\n return (\n \n {({ measureRef }) => {\n return (\n \n {!disableBlur && fadeIn && !animatedIn ? (\n \n ) : null}\n {currentSrc || (!fadeIn && !disableBlur) ? (\n \n ) : null}\n \n )\n }}\n \n )\n }\n}\n\nexport default withImgix(Image)\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport Heading from '../../../Heading/Heading'\nimport { mediaOnly } from '../../../../styles/media'\nimport { AreaConsumer } from '../../../AreaContext/AreaContext'\n\ntype Props = {\n children?: React.Node,\n level: 1 | 2 | 3 | 4 | 5,\n}\n\nconst SectionHeader = styled(Heading)`\n margin-top: ${p => (p.area === 'accordion' ? 40 : 80)}px;\n\n ${mediaOnly.xs`\n margin-top: ${p => (p.area === 'accordion' ? 20 : 40)}px;\n `};\n`\n\nfunction HeaderRenderer({ children, level }: Props) {\n /* Abuse the fact that we have 5 levels of headers, to render special blocks. */\n if (level === 1) {\n return (\n \n {area => (\n \n {children}\n \n )}\n \n )\n }\n if (level === 2) {\n return (\n \n {area => (\n \n {children}\n \n )}\n \n )\n }\n\n return (\n \n {area => (\n \n {children}\n \n )}\n \n )\n}\n\nHeaderRenderer.displayName = 'HeaderRenderer'\nHeaderRenderer.defaultProps = {}\n\nexport default HeaderRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\n\nimport type { LinkViewModel } from '../../../../types/LinkViewModel'\nimport type { LinkTargetTypes } from '../../../../types/enums/LinkTargetTypes'\n\nimport CtaLink from '../../../CtaLink/CtaLink'\nimport { Link, isExternalLink } from '../../../Link/Link'\n\ntype LinkProps = LinkViewModel & {\n children?: React.Node,\n}\n\ntype Props = LinkViewModel & {\n children?: React.Node,\n isCtaLink?: boolean,\n}\n\nconst CtaLinkWrapper = styled.div`\n margin-bottom: 1rem;\n`\n\nconst MarkdownCtaLink = (props: LinkProps) => (\n \n \n \n)\n\nconst MarkdownNormalLink = (props: LinkProps) => {\n return (\n \n {props.children}\n \n )\n}\n\ntype LinkMetaInfo = { href?: string, target?: LinkTargetTypes }\n\nconst getMetaInfoFromHref = (value: string = ''): LinkMetaInfo => {\n let href = value\n let target: LinkTargetTypes = isExternalLink(href) ? '_blank' : '_self'\n\n const hrefSplit = href.split('|')\n\n if (hrefSplit.length > 1) {\n const _target = hrefSplit.splice(1, hrefSplit.length - 1).join('')\n\n switch (_target) {\n case 'blank':\n target = '_blank'\n break\n case 'self':\n target = '_self'\n break\n case 'parent':\n target = '_parent'\n break\n case 'top':\n target = '_top'\n break\n default:\n break\n }\n\n href = hrefSplit.join('|')\n }\n\n return {\n target,\n href,\n }\n}\n\nconst LinkRenderer = (props: Props) => {\n const { isCtaLink, ...rest } = props\n const meta = getMetaInfoFromHref(props.href)\n const linkProps = { ...rest, ...meta }\n\n return isCtaLink ? (\n \n ) : (\n \n )\n}\n\nLinkRenderer.displayName = 'LinkRenderer'\nLinkRenderer.defaultProps = {}\n\nexport default LinkRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport Paragraph from '../../../Paragraph/Paragraph'\nimport { getLineHeight } from '../../../../styles/style-helpers'\nimport LinkRenderer from '../LinkRenderer/LinkRenderer'\nimport { color } from '../../../../styles/theme'\n\ntype Props = {\n children?: React.Node,\n}\n\nconst StyledParagraph = styled(Paragraph)`\n line-height: ${getLineHeight('normal')};\n & > a {\n color: inherit;\n }\n`\n\nconst isImageRendere = item =>\n item.type && item.type.displayName === 'ImageRenderer'\nconst isLinkRendere = item =>\n item.type && item.type.displayName === 'LinkRenderer'\n\nfunction ParagraphRenderer({ children }: Props) {\n const childs = React.Children.toArray(children).reduce((acc, val, index) => {\n if (isImageRendere(val)) {\n // Images are always rendered in their own \"paragraph\"\n acc.push(val)\n } else {\n // All other children are added to the list\n if (!acc.length || !Array.isArray(acc[acc.length - 1])) {\n acc.push([])\n }\n acc[acc.length - 1].push(val)\n }\n return acc\n }, [])\n\n return (\n \n {childs.map((child, index) => {\n if (!Array.isArray(child) && isImageRendere(child)) {\n return child\n }\n\n if (child.every(isLinkRendere)) {\n return child.map((link, key) => (\n \n ))\n }\n return (\n \n {child}\n \n )\n })}\n \n )\n}\n\nParagraphRenderer.displayName = 'ParagraphRenderer'\nParagraphRenderer.defaultProps = {}\n\nexport default ParagraphRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport qs from 'qs'\nimport Image from '../../../Image/Image'\nimport { mediaOnly } from '../../../../styles/media'\n\ntype Props = {\n src: string,\n title?: string,\n alt?: string,\n}\n\ntype State = {}\n\nconst Wrapper = styled.span`\n display: block;\n margin: 80px 0;\n max-width: ${p => p.maxWidth};\n\n ${mediaOnly.xs`\n margin: 40px 0;\n `};\n`\n\nconst imageSizes = {\n default: {\n maxWidth: '1440px',\n },\n main: {\n maxWidth: '880px',\n },\n}\n\nclass ImageRenderer extends React.PureComponent {\n static displayName = 'ImageRenderer'\n static defaultProps = {}\n\n render() {\n const { src, alt } = this.props\n\n if (!src) return null\n const [imgSrc, attr] = src.split('?', 2)\n const attrs = qs.parse(attr)\n const width = parseInt(attrs.width, 10)\n const height = parseInt(attrs.height, 10)\n const noSizes = !width || !height\n\n return (\n 0 && !noSizes ? `${width}px` : '100%'}>\n \n \n )\n }\n}\n\nexport default ImageRenderer\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\n\nimport { color } from '../../styles/theme'\n\ntype Props = {\n children?: React.Node,\n ordered?: boolean,\n}\n\nconst Base = styled.ul`\n color: inherit;\n //color: ${({ theme }) => theme.text};\n font-size: ${({ theme }) => rem(theme.bodyFontSize)};\n font-weight: ${({ theme }) => theme.bodyFontWeight};\n line-height: 1.5;\n padding: 0 0 0 1.5rem;\n margin-bottom: 2.5rem;\n list-style: none;\n\n > li {\n margin-bottom: 0.5rem;\n list-style-type: none;\n position: relative;\n }\n\n li > ul,\n li > ol {\n margin: 0.5rem 0 0;\n }\n`\n//TODO\nconst UnorderedList = styled(Base)`\n ${({ theme }) =>\n theme.name === 'kids' || theme.name === 'lgbt'\n ? `\n li::before {\n content: ''; /* The unicode for • character */\n position: absolute;\n border: 3px solid ${color.yellow};\n border-radius: 50%;\n width: ${rem(12)};\n height: ${rem(12)};\n left: ${rem(-20)};\n top: ${rem(6)};\n }`\n : `li::before {\n content: '\\\\2022'; /* The unicode for • character */\n position: absolute;\n left: -1em;\n font-size: 1em;\n }`}\n`\n\nconst OrderedList = styled(Base.withComponent('ol'))`\n counter-reset: section;\n li::before {\n counter-increment: section;\n content: counter(section) '.';\n font-weight: 500;\n position: absolute;\n left: -1em;\n font-size: 1rem;\n }\n`\n\nfunction List({ children, ordered, ...props }: Props) {\n const Comp = ordered ? OrderedList : UnorderedList\n return {children}\n}\n\nList.displayName = 'List'\nList.defaultProps = {}\n\nexport default List\n","// @flow\nimport * as React from 'react'\nimport List from '../../../List/List'\nimport { MaxWidth } from '../../markdown-styles'\n\ntype Props = {\n children?: React.Node,\n ordered: boolean,\n}\n\nconst ArticleList = MaxWidth.withComponent(List)\n\nfunction ListRenderer({ children, ordered }: Props) {\n return {children}\n}\n\nListRenderer.displayName = 'ListRenderer'\nListRenderer.defaultProps = {\n ordered: false,\n}\n\nexport default ListRenderer\n","// @flow\nimport styled from 'styled-components'\n\nexport const MaxWidth = styled.div`\n max-width: 550px;\n`\n","// @flow\nimport * as React from 'react'\n\ntype Props = {\n children?: React.Node,\n}\n\n// this renderer resolved a bug in Internet Explorer 11.\n// if supportsStringRender === true, it forces the returned string to be\n// wrapper in a React Fragment to prevent the IE bug from happening\n\n// detect IE8 and above, and Edge\n// source: https://stackoverflow.com/questions/31757852/how-can-i-detect-internet-explorer-ie-and-microsoft-edge-using-javascript\nconst isIE = () =>\n typeof window !== 'undefined' &&\n (document.documentMode || /Edge/.test(navigator.userAgent))\n\nvar supportsStringRender =\n !isIE() && parseInt((React.version || '16').slice(0, 2), 10) >= 16\n\nfunction TextRenderer(props: Props) {\n return supportsStringRender\n ? props.children\n : React.createElement('span', null, props.children)\n}\n\nTextRenderer.displayName = 'TextRenderer'\nTextRenderer.defaultProps = {}\n\nexport default TextRenderer\n","// @flow\nimport * as React from 'react'\nimport ReactMarkdown from 'react-markdown'\n\nimport type { MarkdownViewModel } from '../../types/MarkdownViewModel'\n\nimport HeaderRenderer from './renderers/HeaderRenderer/HeaderRenderer'\nimport ParagraphRenderer from './renderers/ParagraphRenderer/ParagraphRenderer'\nimport LinkRenderer from './renderers/LinkRenderer/LinkRenderer'\nimport ImageRenderer from './renderers/ImageRenderer/ImageRenderer'\nimport ListRenderer from './renderers/ListRenderer/ListRenderer'\nimport TextRenderer from './renderers/TextRenderer/TextRenderer'\n\nimport styled, { css, ThemeContext } from 'styled-components'\nimport { mediaOnly } from '../../styles/media'\nimport { clearMargin } from '../../styles/style-helpers'\n\ntype Props = MarkdownViewModel & { invert?: boolean }\n\nconst RENDERERS = {\n ...ReactMarkdown.renderers,\n heading: HeaderRenderer,\n paragraph: ParagraphRenderer,\n link: LinkRenderer,\n image: ImageRenderer,\n list: ListRenderer,\n text: TextRenderer,\n}\n\nconst normalStyle = css`\n margin: 80px 0;\n ${mediaOnly.xs`\n margin: 40px 0;\n `};\n`\n\nconst fullWidthStyle = css`\n & p {\n max-width: 100%;\n }\n`\n\nconst StyledMarkdown = styled(ReactMarkdown)`\n word-break: break-word;\n ${p => (p.noMargin ? clearMargin() : normalStyle)};\n ${p => (p.fullWidth ? fullWidthStyle : null)};\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.text)};\n`\n\nfunction Markdown({\n source,\n noMargin,\n fullWidth,\n className,\n id,\n invert,\n}: Props) {\n const theme = React.useContext(ThemeContext)\n\n return (\n \n )\n}\n\nMarkdown.displayName = 'Markdown'\nMarkdown.defaultProps = {}\n\nexport default Markdown\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport BaseButton from '../Button/BaseButton'\nimport type { LinkViewModel } from '../../types/LinkViewModel'\nimport { secondaryFontFamily } from '../../styles/theme'\nimport type { ButtonState } from '../Button/BaseButton'\nimport { getFontSize } from '../../styles/style-helpers'\nimport { durations } from '../../styles/animations'\n\ntype Props = LinkViewModel & {\n children?: React.Node,\n /** Always render as anchor tag, don't fall back to button */\n isAnchor?: boolean,\n disabled?: boolean,\n size: 'small' | 'normal',\n invert?: boolean,\n}\n\ntype AlignProps = {\n align: 'left' | 'right',\n}\n\ntype State = {}\n\nconst Base = styled(BaseButton)`\n && {\n display: inline-block;\n font-size: ${(props: Props) => getFontSize(props.size)};\n font-family: ${secondaryFontFamily};\n text-decoration: underline;\n line-height: 1.25;\n text-align: left;\n max-width: 100%;\n transform: translateX(-0.5rem);\n }\n`\n\nconst Container = styled.div`\n position: relative;\n padding: 0.5rem;\n color: ${({ theme, invert }) => (invert ? theme.textInvert : theme.primary)};\n :hover {\n color: ${({ theme }) => theme.accent};\n }\n`\n\nconst Label = styled.span`\n transition: color ${durations.fast} ease-out;\n margin-left: ${(p: AlignProps) => (p.align === 'left' ? '22px' : null)};\n margin-right: ${(p: AlignProps) => (p.align === 'right' ? '22px' : null)};\n`\n\nclass CtaLink extends React.Component {\n static displayName = 'CtaLink'\n static defaultProps = {\n size: 'normal',\n }\n\n renderInner = ({ hovering }: ButtonState) => {\n const { children, label, invert } = this.props\n return (\n \n \n \n )\n }\n\n render() {\n const { children, ...rest } = this.props\n return {this.renderInner}\n }\n}\n\nexport default CtaLink\n","// @flow\nimport * as React from 'react'\nimport { ConfigContext } from '../../App/AppShell'\n\n/* eslint-disable no-param-reassign */\nexport const imageDimensionMap = (\n width: number,\n height: number,\n): { w: number, h: number } => {\n const aspect = height / width\n const normalizedWidth = Math.ceil(width)\n const normalizedHeight = Math.ceil(aspect * normalizedWidth)\n\n return {\n w: normalizedWidth,\n h: normalizedHeight,\n }\n}\n\nfunction imageQuality(dpr: number = 1) {\n return dpr >= 3 ? 30 : dpr === 2 ? 40 : undefined\n}\n\nfunction constructUrl(src, params) {\n const preparedParams = Object.keys(params)\n .filter(k => typeof params[k] !== 'undefined')\n .map(k => `${k}=${encodeURIComponent(params[k])}`)\n .join('&')\n\n return `${src}?${preparedParams}`\n}\n\n/**\n * Construct a URL for an image with an Imgix proxy, expanding image options\n * per the [API reference docs](https://www.imgix.com/docs/reference).\n * @param {String} src src of raw image\n * @param {Object} options map of image API options, in long or short form per expansion rules\n * @return {String} URL of image src transformed by Imgix\n */\nfunction processImage(src: string, options: Object = {}): string {\n if (!src) {\n return ''\n }\n if (!src.includes('imgix.net')) return src\n\n return constructUrl(src, {\n auto: 'format',\n dpr: global.devicePixelRatio || 1,\n q: imageQuality(global.devicePixelRatio),\n ...options,\n })\n}\n\nexport default processImage\n\nexport function withImgix(Component: React.ComponentType) {\n class InjectedComponent extends React.Component {\n render() {\n // todo: maybe check if already has protocol and domain\n if (process.env.NODE_ENV === 'development') {\n return \n }\n\n return (\n \n {config => (\n \n )}\n \n )\n }\n }\n\n return InjectedComponent\n}\n","// @flow\nimport type { ImageRatio } from './types'\n\nconst supports = {}\n\n/**\n * Detect if objectFit is supported on the client\n * @type {boolean}\n */\nexport function objectFitSupport(): boolean {\n if (!supports.objectFit) {\n supports.objectFit = global.document\n ? global.document.body.style.objectFit !== undefined\n : true\n }\n\n return supports.objectFit\n}\n\nexport default {\n objectFitSupport,\n}\n\nexport function generateSrc(\n url: string,\n width: number,\n ratio?: ImageRatio = 'original',\n) {\n if (url && !url.includes('/static/')) {\n const pos = url.lastIndexOf('/')\n return `${url.substr(0, pos)}/${ratio}/${width}/${url.substr(pos + 1)}`\n }\n\n return `${url}?w=${width}&ratio=${ratio || ''}`\n}\n","// @flow\nimport createHyphenation from 'hyphen'\nimport patterns from 'hyphen/patterns/da'\n\nexport const defaultMinWordLength = 15\n\n/**\n * Use the hyphenate function, to split long words with break characters.\n */\nexport const hyphenate = createHyphenation(patterns, {\n async: false,\n minWordLength: defaultMinWordLength,\n})\n\n/**\n * Use the hyphenateHTML function, to split long words within HTML text.\n */\nexport const hyphenateHTML = createHyphenation(patterns, {\n async: false,\n minWordLength: defaultMinWordLength,\n html: true,\n})\n","// @flow\nimport React from 'react'\nimport { hyphenate } from '../../utils/hyphenation'\n\ntype HyphenatedTextProps = {\n text?: string,\n minWordLength?: number,\n}\n\nexport function HyphenatedText({ text, minWordLength }: HyphenatedTextProps) {\n return React.useMemo(\n () => (\n <>\n {text\n ? hyphenate(text, minWordLength ? { minWordLength } : undefined)\n : null}\n \n ),\n [text, minWordLength],\n )\n}\n","'use strict';\n\nvar vanilla = require('jotai/vanilla');\nvar react = require('jotai/react');\n\n\n\nObject.keys(vanilla).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return vanilla[k]; }\n\t});\n});\nObject.keys(react).forEach(function (k) {\n\tif (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {\n\t\tenumerable: true,\n\t\tget: function () { return react[k]; }\n\t});\n});\n","'use strict';\n\nvar keyCount = 0;\nfunction atom(read, write) {\n var key = \"atom\" + ++keyCount;\n var config = {\n toString: function toString() {\n return key;\n }\n };\n if (typeof read === 'function') {\n config.read = read;\n } else {\n config.init = read;\n config.read = function (get) {\n return get(this);\n };\n config.write = function (get, set, arg) {\n return set(this, typeof arg === 'function' ? arg(get(this)) : arg);\n };\n }\n if (write) {\n config.write = write;\n }\n return config;\n}\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it) return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n return function () {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nvar hasInitialValue = function hasInitialValue(atom) {\n return 'init' in atom;\n};\nvar isActuallyWritableAtom = function isActuallyWritableAtom(atom) {\n return !!atom.write;\n};\nvar cancelPromiseMap = new WeakMap();\nvar registerCancelPromise = function registerCancelPromise(promise, cancel) {\n cancelPromiseMap.set(promise, cancel);\n promise.catch(function () {}).finally(function () {\n return cancelPromiseMap.delete(promise);\n });\n};\nvar cancelPromise = function cancelPromise(promise, next) {\n var cancel = cancelPromiseMap.get(promise);\n if (cancel) {\n cancelPromiseMap.delete(promise);\n cancel(next);\n }\n};\nvar resolvePromise = function resolvePromise(promise, value) {\n promise.status = 'fulfilled';\n promise.value = value;\n};\nvar rejectPromise = function rejectPromise(promise, e) {\n promise.status = 'rejected';\n promise.reason = e;\n};\nvar isPromiseLike = function isPromiseLike(x) {\n return typeof (x == null ? void 0 : x.then) === 'function';\n};\nvar isEqualAtomValue = function isEqualAtomValue(a, b) {\n return !!a && 'v' in a && 'v' in b && Object.is(a.v, b.v);\n};\nvar isEqualAtomError = function isEqualAtomError(a, b) {\n return !!a && 'e' in a && 'e' in b && Object.is(a.e, b.e);\n};\nvar hasPromiseAtomValue = function hasPromiseAtomValue(a) {\n return !!a && 'v' in a && a.v instanceof Promise;\n};\nvar isEqualPromiseAtomValue = function isEqualPromiseAtomValue(a, b) {\n return 'v' in a && 'v' in b && a.v.orig && a.v.orig === b.v.orig;\n};\nvar returnAtomValue = function returnAtomValue(atomState) {\n if ('e' in atomState) {\n throw atomState.e;\n }\n return atomState.v;\n};\nvar createStore = function createStore() {\n var atomStateMap = new WeakMap();\n var mountedMap = new WeakMap();\n var pendingMap = new Map();\n var storeListenersRev2;\n var mountedAtoms;\n if (process.env.NODE_ENV !== 'production') {\n storeListenersRev2 = new Set();\n mountedAtoms = new Set();\n }\n var getAtomState = function getAtomState(atom) {\n return atomStateMap.get(atom);\n };\n var setAtomState = function setAtomState(atom, atomState) {\n if (process.env.NODE_ENV !== 'production') {\n Object.freeze(atomState);\n }\n var prevAtomState = atomStateMap.get(atom);\n atomStateMap.set(atom, atomState);\n if (!pendingMap.has(atom)) {\n pendingMap.set(atom, prevAtomState);\n }\n if (hasPromiseAtomValue(prevAtomState)) {\n var _next = 'v' in atomState ? atomState.v instanceof Promise ? atomState.v : Promise.resolve(atomState.v) : Promise.reject(atomState.e);\n if (prevAtomState.v !== _next) {\n cancelPromise(prevAtomState.v, _next);\n }\n }\n };\n var updateDependencies = function updateDependencies(atom, nextAtomState, nextDependencies) {\n var dependencies = new Map();\n var changed = false;\n nextDependencies.forEach(function (aState, a) {\n if (!aState && a === atom) {\n aState = nextAtomState;\n }\n if (aState) {\n dependencies.set(a, aState);\n if (nextAtomState.d.get(a) !== aState) {\n changed = true;\n }\n } else if (process.env.NODE_ENV !== 'production') {\n console.warn('[Bug] atom state not found');\n }\n });\n if (changed || nextAtomState.d.size !== dependencies.size) {\n nextAtomState.d = dependencies;\n }\n };\n var setAtomValue = function setAtomValue(atom, value, nextDependencies) {\n var prevAtomState = getAtomState(atom);\n var nextAtomState = {\n d: (prevAtomState == null ? void 0 : prevAtomState.d) || new Map(),\n v: value\n };\n if (nextDependencies) {\n updateDependencies(atom, nextAtomState, nextDependencies);\n }\n if (isEqualAtomValue(prevAtomState, nextAtomState) && prevAtomState.d === nextAtomState.d) {\n return prevAtomState;\n }\n if (hasPromiseAtomValue(prevAtomState) && hasPromiseAtomValue(nextAtomState) && isEqualPromiseAtomValue(prevAtomState, nextAtomState)) {\n if (prevAtomState.d === nextAtomState.d) {\n return prevAtomState;\n } else {\n nextAtomState.v = prevAtomState.v;\n }\n }\n setAtomState(atom, nextAtomState);\n return nextAtomState;\n };\n var setAtomValueOrPromise = function setAtomValueOrPromise(atom, valueOrPromise, nextDependencies, abortPromise) {\n if (isPromiseLike(valueOrPromise)) {\n var continuePromise;\n var updatePromiseDependencies = function updatePromiseDependencies() {\n var prevAtomState = getAtomState(atom);\n if (!hasPromiseAtomValue(prevAtomState) || prevAtomState.v !== promise) {\n return;\n }\n var nextAtomState = setAtomValue(atom, promise, nextDependencies);\n if (mountedMap.has(atom) && prevAtomState.d !== nextAtomState.d) {\n mountDependencies(atom, nextAtomState, prevAtomState.d);\n }\n };\n var promise = new Promise(function (resolve, reject) {\n var settled = false;\n valueOrPromise.then(function (v) {\n if (!settled) {\n settled = true;\n resolvePromise(promise, v);\n resolve(v);\n updatePromiseDependencies();\n }\n }, function (e) {\n if (!settled) {\n settled = true;\n rejectPromise(promise, e);\n reject(e);\n updatePromiseDependencies();\n }\n });\n continuePromise = function continuePromise(next) {\n if (!settled) {\n settled = true;\n next.then(function (v) {\n return resolvePromise(promise, v);\n }, function (e) {\n return rejectPromise(promise, e);\n });\n resolve(next);\n }\n };\n });\n promise.orig = valueOrPromise;\n promise.status = 'pending';\n registerCancelPromise(promise, function (next) {\n if (next) {\n continuePromise(next);\n }\n abortPromise == null || abortPromise();\n });\n return setAtomValue(atom, promise, nextDependencies);\n }\n return setAtomValue(atom, valueOrPromise, nextDependencies);\n };\n var setAtomError = function setAtomError(atom, error, nextDependencies) {\n var prevAtomState = getAtomState(atom);\n var nextAtomState = {\n d: (prevAtomState == null ? void 0 : prevAtomState.d) || new Map(),\n e: error\n };\n if (nextDependencies) {\n updateDependencies(atom, nextAtomState, nextDependencies);\n }\n if (isEqualAtomError(prevAtomState, nextAtomState) && prevAtomState.d === nextAtomState.d) {\n return prevAtomState;\n }\n setAtomState(atom, nextAtomState);\n return nextAtomState;\n };\n var readAtomState = function readAtomState(atom, force) {\n var atomState = getAtomState(atom);\n if (!force && atomState) {\n if (mountedMap.has(atom)) {\n return atomState;\n }\n if (Array.from(atomState.d).every(function (_ref) {\n var a = _ref[0],\n s = _ref[1];\n if (a === atom) {\n return true;\n }\n var aState = readAtomState(a);\n return aState === s || isEqualAtomValue(aState, s);\n })) {\n return atomState;\n }\n }\n var nextDependencies = new Map();\n var isSync = true;\n var getter = function getter(a) {\n if (a === atom) {\n var _aState = getAtomState(a);\n if (_aState) {\n nextDependencies.set(a, _aState);\n return returnAtomValue(_aState);\n }\n if (hasInitialValue(a)) {\n nextDependencies.set(a, undefined);\n return a.init;\n }\n throw new Error('no atom init');\n }\n var aState = readAtomState(a);\n nextDependencies.set(a, aState);\n return returnAtomValue(aState);\n };\n var controller;\n var setSelf;\n var options = {\n get signal() {\n if (!controller) {\n controller = new AbortController();\n }\n return controller.signal;\n },\n get setSelf() {\n if (process.env.NODE_ENV !== 'production' && !isActuallyWritableAtom(atom)) {\n console.warn('setSelf function cannot be used with read-only atom');\n }\n if (!setSelf && isActuallyWritableAtom(atom)) {\n setSelf = function setSelf() {\n if (process.env.NODE_ENV !== 'production' && isSync) {\n console.warn('setSelf function cannot be called in sync');\n }\n if (!isSync) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return writeAtom.apply(void 0, [atom].concat(args));\n }\n };\n }\n return setSelf;\n }\n };\n try {\n var valueOrPromise = atom.read(getter, options);\n return setAtomValueOrPromise(atom, valueOrPromise, nextDependencies, function () {\n var _controller;\n return (_controller = controller) == null ? void 0 : _controller.abort();\n });\n } catch (error) {\n return setAtomError(atom, error, nextDependencies);\n } finally {\n isSync = false;\n }\n };\n var readAtom = function readAtom(atom) {\n return returnAtomValue(readAtomState(atom));\n };\n var addAtom = function addAtom(atom) {\n var mounted = mountedMap.get(atom);\n if (!mounted) {\n mounted = mountAtom(atom);\n }\n return mounted;\n };\n var canUnmountAtom = function canUnmountAtom(atom, mounted) {\n return !mounted.l.size && (!mounted.t.size || mounted.t.size === 1 && mounted.t.has(atom));\n };\n var delAtom = function delAtom(atom) {\n var mounted = mountedMap.get(atom);\n if (mounted && canUnmountAtom(atom, mounted)) {\n unmountAtom(atom);\n }\n };\n var recomputeDependents = function recomputeDependents(atom) {\n var dependencyMap = new Map();\n var dirtyMap = new WeakMap();\n var getDependents = function getDependents(a) {\n var _mountedMap$get;\n var dependents = new Set((_mountedMap$get = mountedMap.get(a)) == null ? void 0 : _mountedMap$get.t);\n pendingMap.forEach(function (_, pendingAtom) {\n var _getAtomState;\n if ((_getAtomState = getAtomState(pendingAtom)) != null && _getAtomState.d.has(a)) {\n dependents.add(pendingAtom);\n }\n });\n return dependents;\n };\n var loop1 = function loop1(a) {\n getDependents(a).forEach(function (dependent) {\n if (dependent !== a) {\n dependencyMap.set(dependent, (dependencyMap.get(dependent) || new Set()).add(a));\n dirtyMap.set(dependent, (dirtyMap.get(dependent) || 0) + 1);\n loop1(dependent);\n }\n });\n };\n loop1(atom);\n var loop2 = function loop2(a) {\n getDependents(a).forEach(function (dependent) {\n if (dependent !== a) {\n var dirtyCount = dirtyMap.get(dependent);\n if (dirtyCount) {\n dirtyMap.set(dependent, --dirtyCount);\n }\n if (!dirtyCount) {\n var _dependencyMap$get;\n var isChanged = !!((_dependencyMap$get = dependencyMap.get(dependent)) != null && _dependencyMap$get.size);\n if (isChanged) {\n var prevAtomState = getAtomState(dependent);\n var nextAtomState = readAtomState(dependent, true);\n isChanged = !isEqualAtomValue(prevAtomState, nextAtomState);\n }\n if (!isChanged) {\n dependencyMap.forEach(function (s) {\n return s.delete(dependent);\n });\n }\n }\n loop2(dependent);\n }\n });\n };\n loop2(atom);\n };\n var writeAtomState = function writeAtomState(atom) {\n var isSync = true;\n var getter = function getter(a) {\n return returnAtomValue(readAtomState(a));\n };\n var setter = function setter(a) {\n var r;\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n if (a === atom) {\n if (!hasInitialValue(a)) {\n throw new Error('atom not writable');\n }\n var prevAtomState = getAtomState(a);\n var nextAtomState = setAtomValueOrPromise(a, args[0]);\n if (!isEqualAtomValue(prevAtomState, nextAtomState)) {\n recomputeDependents(a);\n }\n } else {\n r = writeAtomState.apply(void 0, [a].concat(args));\n }\n if (!isSync) {\n var flushed = flushPending();\n if (process.env.NODE_ENV !== 'production') {\n storeListenersRev2.forEach(function (l) {\n return l({\n type: 'async-write',\n flushed: flushed\n });\n });\n }\n }\n return r;\n };\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n var result = atom.write.apply(atom, [getter, setter].concat(args));\n isSync = false;\n return result;\n };\n var writeAtom = function writeAtom(atom) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n var result = writeAtomState.apply(void 0, [atom].concat(args));\n var flushed = flushPending();\n if (process.env.NODE_ENV !== 'production') {\n storeListenersRev2.forEach(function (l) {\n return l({\n type: 'write',\n flushed: flushed\n });\n });\n }\n return result;\n };\n var mountAtom = function mountAtom(atom, initialDependent, onMountQueue) {\n var _getAtomState2;\n var queue = onMountQueue || [];\n (_getAtomState2 = getAtomState(atom)) == null || _getAtomState2.d.forEach(function (_, a) {\n var aMounted = mountedMap.get(a);\n if (aMounted) {\n aMounted.t.add(atom);\n } else {\n if (a !== atom) {\n mountAtom(a, atom, queue);\n }\n }\n });\n readAtomState(atom);\n var mounted = {\n t: new Set(initialDependent && [initialDependent]),\n l: new Set()\n };\n mountedMap.set(atom, mounted);\n if (process.env.NODE_ENV !== 'production') {\n mountedAtoms.add(atom);\n }\n if (isActuallyWritableAtom(atom) && atom.onMount) {\n var onMount = atom.onMount;\n queue.push(function () {\n var onUnmount = onMount(function () {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n return writeAtom.apply(void 0, [atom].concat(args));\n });\n if (onUnmount) {\n mounted.u = onUnmount;\n }\n });\n }\n if (!onMountQueue) {\n queue.forEach(function (f) {\n return f();\n });\n }\n return mounted;\n };\n var unmountAtom = function unmountAtom(atom) {\n var _mountedMap$get2;\n var onUnmount = (_mountedMap$get2 = mountedMap.get(atom)) == null ? void 0 : _mountedMap$get2.u;\n if (onUnmount) {\n onUnmount();\n }\n mountedMap.delete(atom);\n if (process.env.NODE_ENV !== 'production') {\n mountedAtoms.delete(atom);\n }\n var atomState = getAtomState(atom);\n if (atomState) {\n if (hasPromiseAtomValue(atomState)) {\n cancelPromise(atomState.v);\n }\n atomState.d.forEach(function (_, a) {\n if (a !== atom) {\n var mounted = mountedMap.get(a);\n if (mounted) {\n mounted.t.delete(atom);\n if (canUnmountAtom(a, mounted)) {\n unmountAtom(a);\n }\n }\n }\n });\n } else if (process.env.NODE_ENV !== 'production') {\n console.warn('[Bug] could not find atom state to unmount', atom);\n }\n };\n var mountDependencies = function mountDependencies(atom, atomState, prevDependencies) {\n var depSet = new Set(atomState.d.keys());\n prevDependencies == null || prevDependencies.forEach(function (_, a) {\n if (depSet.has(a)) {\n depSet.delete(a);\n return;\n }\n var mounted = mountedMap.get(a);\n if (mounted) {\n mounted.t.delete(atom);\n if (canUnmountAtom(a, mounted)) {\n unmountAtom(a);\n }\n }\n });\n depSet.forEach(function (a) {\n var mounted = mountedMap.get(a);\n if (mounted) {\n mounted.t.add(atom);\n } else if (mountedMap.has(atom)) {\n mountAtom(a, atom);\n }\n });\n };\n var flushPending = function flushPending() {\n var flushed;\n if (process.env.NODE_ENV !== 'production') {\n flushed = new Set();\n }\n while (pendingMap.size) {\n var pending = Array.from(pendingMap);\n pendingMap.clear();\n pending.forEach(function (_ref2) {\n var atom = _ref2[0],\n prevAtomState = _ref2[1];\n var atomState = getAtomState(atom);\n if (atomState) {\n var mounted = mountedMap.get(atom);\n if (mounted && atomState.d !== (prevAtomState == null ? void 0 : prevAtomState.d)) {\n mountDependencies(atom, atomState, prevAtomState == null ? void 0 : prevAtomState.d);\n }\n if (mounted && !(!hasPromiseAtomValue(prevAtomState) && (isEqualAtomValue(prevAtomState, atomState) || isEqualAtomError(prevAtomState, atomState)))) {\n mounted.l.forEach(function (listener) {\n return listener();\n });\n if (process.env.NODE_ENV !== 'production') {\n flushed.add(atom);\n }\n }\n } else if (process.env.NODE_ENV !== 'production') {\n console.warn('[Bug] no atom state to flush');\n }\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n return flushed;\n }\n };\n var subscribeAtom = function subscribeAtom(atom, listener) {\n var mounted = addAtom(atom);\n var flushed = flushPending();\n var listeners = mounted.l;\n listeners.add(listener);\n if (process.env.NODE_ENV !== 'production') {\n storeListenersRev2.forEach(function (l) {\n return l({\n type: 'sub',\n flushed: flushed\n });\n });\n }\n return function () {\n listeners.delete(listener);\n delAtom(atom);\n if (process.env.NODE_ENV !== 'production') {\n storeListenersRev2.forEach(function (l) {\n return l({\n type: 'unsub'\n });\n });\n }\n };\n };\n if (process.env.NODE_ENV !== 'production') {\n return {\n get: readAtom,\n set: writeAtom,\n sub: subscribeAtom,\n dev_subscribe_store: function dev_subscribe_store(l, rev) {\n if (rev !== 2) {\n throw new Error('The current StoreListener revision is 2.');\n }\n storeListenersRev2.add(l);\n return function () {\n storeListenersRev2.delete(l);\n };\n },\n dev_get_mounted_atoms: function dev_get_mounted_atoms() {\n return mountedAtoms.values();\n },\n dev_get_atom_state: function dev_get_atom_state(a) {\n return atomStateMap.get(a);\n },\n dev_get_mounted: function dev_get_mounted(a) {\n return mountedMap.get(a);\n },\n dev_restore_atoms: function dev_restore_atoms(values) {\n for (var _iterator = _createForOfIteratorHelperLoose(values), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n atom = _step$value[0],\n valueOrPromise = _step$value[1];\n if (hasInitialValue(atom)) {\n setAtomValueOrPromise(atom, valueOrPromise);\n recomputeDependents(atom);\n }\n }\n var flushed = flushPending();\n storeListenersRev2.forEach(function (l) {\n return l({\n type: 'restore',\n flushed: flushed\n });\n });\n }\n };\n }\n return {\n get: readAtom,\n set: writeAtom,\n sub: subscribeAtom\n };\n};\nvar defaultStore;\nif (process.env.NODE_ENV !== 'production') {\n if (typeof globalThis.__NUMBER_OF_JOTAI_INSTANCES__ === 'number') {\n ++globalThis.__NUMBER_OF_JOTAI_INSTANCES__;\n } else {\n globalThis.__NUMBER_OF_JOTAI_INSTANCES__ = 1;\n }\n}\nvar getDefaultStore = function getDefaultStore() {\n if (!defaultStore) {\n if (process.env.NODE_ENV !== 'production' && globalThis.__NUMBER_OF_JOTAI_INSTANCES__ !== 1) {\n console.warn('Detected multiple Jotai instances. It may cause unexpected behavior with the default store. https://github.com/pmndrs/jotai/discussions/2044');\n }\n defaultStore = createStore();\n }\n return defaultStore;\n};\n\nexports.atom = atom;\nexports.createStore = createStore;\nexports.getDefaultStore = getDefaultStore;\n","//@flow\nimport { atom } from 'jotai'\n\n// create atoms\nexport const formSessionIdAtom = atom('')\nexport const formSessionIsReceiptStepAtom = atom(false)\nexport const validFormVersionAtom = atom(true)\nexport const showCookieDisclaimerAtom = atom(false)\nexport const videoFilterAtom = atom('')\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\n\nimport { color } from '../styles/theme'\n\n//TODO\nconst Svg = styled.svg`\n path {\n fill: ${({ theme }) =>\n theme.name === 'kids' || theme.name === 'lgbt'\n ? color.white\n : theme.body};\n }\n\n circle {\n fill: ${({ theme }) =>\n theme.name === 'kids' || theme.name === 'lgbt'\n ? color.yellow\n : color.white};\n }\n`\n\nconst PlayIcon = ({ style, ...rest }: Object) => (\n \n \n \n \n \n \n)\n\nexport default PlayIcon\n","'use client';\n'use strict';\n\nvar ReactExports = require('react');\nvar vanilla = require('jotai/vanilla');\n\nvar StoreContext = ReactExports.createContext(undefined);\nvar useStore = function useStore(options) {\n var store = ReactExports.useContext(StoreContext);\n return (options == null ? void 0 : options.store) || store || vanilla.getDefaultStore();\n};\nvar Provider = function Provider(_ref) {\n var children = _ref.children,\n store = _ref.store;\n var storeRef = ReactExports.useRef();\n if (!store && !storeRef.current) {\n storeRef.current = vanilla.createStore();\n }\n return ReactExports.createElement(StoreContext.Provider, {\n value: store || storeRef.current\n }, children);\n};\n\nvar isPromiseLike = function isPromiseLike(x) {\n return typeof (x == null ? void 0 : x.then) === 'function';\n};\nvar use = ReactExports.use || function (promise) {\n if (promise.status === 'pending') {\n throw promise;\n } else if (promise.status === 'fulfilled') {\n return promise.value;\n } else if (promise.status === 'rejected') {\n throw promise.reason;\n } else {\n promise.status = 'pending';\n promise.then(function (v) {\n promise.status = 'fulfilled';\n promise.value = v;\n }, function (e) {\n promise.status = 'rejected';\n promise.reason = e;\n });\n throw promise;\n }\n};\nfunction useAtomValue(atom, options) {\n var store = useStore(options);\n var _useReducer = ReactExports.useReducer(function (prev) {\n var nextValue = store.get(atom);\n if (Object.is(prev[0], nextValue) && prev[1] === store && prev[2] === atom) {\n return prev;\n }\n return [nextValue, store, atom];\n }, undefined, function () {\n return [store.get(atom), store, atom];\n }),\n _useReducer$ = _useReducer[0],\n valueFromReducer = _useReducer$[0],\n storeFromReducer = _useReducer$[1],\n atomFromReducer = _useReducer$[2],\n rerender = _useReducer[1];\n var value = valueFromReducer;\n if (storeFromReducer !== store || atomFromReducer !== atom) {\n rerender();\n value = store.get(atom);\n }\n var delay = options == null ? void 0 : options.delay;\n ReactExports.useEffect(function () {\n var unsub = store.sub(atom, function () {\n if (typeof delay === 'number') {\n setTimeout(rerender, delay);\n return;\n }\n rerender();\n });\n rerender();\n return unsub;\n }, [store, atom, delay]);\n ReactExports.useDebugValue(value);\n return isPromiseLike(value) ? use(value) : value;\n}\n\nfunction useSetAtom(atom, options) {\n var store = useStore(options);\n var setAtom = ReactExports.useCallback(function () {\n if (process.env.NODE_ENV !== 'production' && !('write' in atom)) {\n throw new Error('not writable atom');\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return store.set.apply(store, [atom].concat(args));\n }, [store, atom]);\n return setAtom;\n}\n\nfunction useAtom(atom, options) {\n return [useAtomValue(atom, options), useSetAtom(atom, options)];\n}\n\nexports.Provider = Provider;\nexports.useAtom = useAtom;\nexports.useAtomValue = useAtomValue;\nexports.useSetAtom = useSetAtom;\nexports.useStore = useStore;\n","// @flow\nimport React, { lazy, Suspense } from 'react'\nimport type { VideoCardViewModel } from '../../types/VideoCardViewModel'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\nimport { effects } from '../../styles/theme'\nimport { getLineHeight, getFontSize } from '../../styles/style-helpers'\nimport consecutive from 'consecutive'\nimport Heading from '../../components/Heading/Heading'\nimport { HyphenatedText } from '../HyphenatedText/HyphenatedText'\nimport { Link } from '../Link/Link'\nimport Markdown from '../Markdown/Markdown'\ntype Props = VideoCardViewModel\n\ntype State = {}\n\nclass VideoCardOpened extends React.Component {\n static displayName = 'VideoCardOpened'\n static defaultProps = {}\n\n render() {\n const { video, subjectArea, description, title, link } = this.props\n const Vimeo = lazy(() => import('../Vimeo/Vimeo'))\n const keyGen = consecutive()\n const hyphenatedTitle = \n\n const CardModal = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n height: calc(100% - ${rem(20)});\n cursor: pointer;\n border-radius: 8px;\n border-bottom: ${({ transparent, theme }) =>\n transparent ? effects(theme).borderPositive : '0 none'};\n background: ${({ negative, theme }) =>\n negative ? theme.cardNegativeBackground : theme.cardPositiveBackground};\n ${({ transparent }) => (transparent ? `background: transparent` : null)};\n max-height: 70svh;\n overflow-y: auto;\n margin-inline: 32px;\n z-index: 10;\n margin-bottom: 0;\n\n @media (min-width: 768px) {\n margin-bottom: 40px;\n }\n `\n\n const StyledWrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n\n padding: ${({ transparent }) =>\n transparent ? `0 0 ${rem(38)}` : `${rem(64)} ${rem(40)} ${rem(40)}`};\n ${({ image }) => (image ? 'border-top: 0;' : '')};\n\n ${({ image }) =>\n !!image &&\n `\n padding-top: ${rem(48)};\n`}\n\n ${({ theme }) =>\n (theme.name === 'kids' || theme.name === 'lgbt') &&\n `\n padding: ${rem(24)};\n`}\n\n> :last-child {\n margin-bottom: 0;\n }\n\n @media (min-width: 768px) {\n padding: 48px;\n }\n `\n\n const StyledSubtitleWrapper = styled.div`\n margin-bottom: ${rem(16)};\n\n /* these 3 lines enforce ellipsis effect when text is too wide */\n display: table;\n table-layout: fixed;\n width: 100%;\n `\n\n const StyledSubtitle = styled.span`\n font-size: ${getFontSize('tiny')};\n font-weight: 600;\n letter-spacing: 0cap.6;\n text-transform: uppercase;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: #003851;\n line-height: 16.8px;\n `\n\n const StyledMarkdown = styled(Markdown)`\n margin-bottom: ${rem(32)};\n margin-top: 0;\n color: ${props => props.theme.text};\n\n && {\n line-height: ${getLineHeight('normal')};\n }\n `\n\n const StyledHeading = styled(Heading)`\n color: ${({ theme }) => theme.fieldHover};\n font-size: ${rem(20)};\n font-weight: 700;\n line-height: ${rem(28)};\n margin-bottom: ${rem(8)};\n `\n\n const StyledHeadingLink = styled(Link)`\n text-decoration: none;\n `\n\n const StyledLink = styled(Link)`\n text-decoration: underline ${({ theme }) => theme.primary};\n color: ${({ theme }) => theme.primary};\n `\n\n return (\n \n {video && (\n Loading…}>\n \n \n )}\n\n \n {subjectArea && (\n \n \n {subjectArea}\n \n \n )}\n\n {title &&\n (link ? (\n \n \n {hyphenatedTitle}\n \n \n ) : (\n \n {hyphenatedTitle}\n \n ))}\n\n {description && (\n \n )}\n {link && {link.label}}\n \n \n )\n }\n}\n\nexport default VideoCardOpened\n","// @flow\nimport * as React from 'react'\nimport styled from 'styled-components'\nimport { rem } from 'polished'\nimport { durations } from '../../styles/animations'\nimport { color, effects } from '../../styles/theme'\nimport PlayIcon from '../../icons/PlayIcon' // Import the 'PlayIcon' component\nimport { getFontSize, getLineHeight } from '../../styles/style-helpers' // Import the necessary function\nimport consecutive from 'consecutive'\nimport Heading from '../../components/Heading/Heading'\nimport { HyphenatedText } from '../HyphenatedText/HyphenatedText' // Import the 'HyphenatedText' component\nimport type { VideoCardViewModel } from '../../types/VideoCardViewModel'\nimport Image from '../../components/Image/Image'\n\ntype Props = VideoCardViewModel & { onHandleOpen?: () => void }\n\ntype State = {}\n\nconst keyGen = consecutive()\nclass VideoCardClosed extends React.Component {\n static displayName = 'VideoCardClosed'\n static defaultProps = {}\n\n render() {\n const {\n video,\n isSingle,\n onHandleOpen,\n subjectArea,\n title,\n description,\n BannerCard,\n } = this.props\n\n const hyphenatedTitle = \n\n const Card = styled.button`\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: flex-start;\n height: calc(100% - ${rem(20)});\n margin-bottom: ${rem(28)};\n overflow: hidden;\n cursor: pointer;\n border-radius: 8px;\n transition: transform ${durations.fast} ease-in-out;\n border:none;\n text-align:start;\n padding-inline:0;\n &:hover {\n transform: translateY(-3px);\n }\n\n &:hover img {\n transform: scale(1.1);\n }\n\n &:hover svg {\n transition: ${effects().linkHoverTransition};\n color: ${color.accent};\n }\n\n @media (min-width: 768px) {\n display ${({ isSingle }) => (isSingle ? 'grid' : 'flex')};\n grid-template-columns: 1fr 1fr;\n margin-bottom: 40px;\n }\n`\n\n const StyledVideoCardImage = styled.div`\n display: grid;\n align-items: center;\n grid-template-columns: 1fr;\n justify-items: center;\n cursor: pointer;\n width: 100%;\n height: 100%;\n `\n const StyledImage = styled(Image)`\n position: relative;\n\n padding-top: 75%;\n object-fit: contain;\n height: 100%;\n grid-column-start: 1;\n grid-row-start: 1;\n `\n\n const StyledPlayButton = styled.div`\n opacity: 1;\n z-index: 20;\n grid-column-start: 1;\n grid-row-start: 1;\n\n /* sets svg size */\n font-size: 64px;\n `\n\n const StyledWrapper = styled.div`\n display: flex;\n flex-direction: column;\n height: 100%;\n\n background-color: ${({ BannerCard }) =>\n BannerCard ? `#EDF1F2` : `white`};\n\n padding: ${({ transparent }) =>\n transparent ? `0 0 ${rem(38)}` : `${rem(64)} ${rem(40)} ${rem(40)}`};\n ${({ image }) => (image ? 'border-top: 0;' : '')};\n\n ${({ image }) =>\n !!image &&\n `\n padding-top: ${rem(48)};\n `}\n\n ${({ theme }) =>\n (theme.name === 'kids' || theme.name === 'lgbt') &&\n `\n padding: ${rem(24)};\n `}\n\n> :last-child {\n margin-bottom: 0;\n }\n\n @media (min-width: 768px) {\n padding: 48px;\n }\n `\n const StyledSubtitleWrapper = styled.div`\n margin-bottom: ${rem(16)};\n\n /* these 3 lines enforce ellipsis effect when text is too wide */\n display: table;\n table-layout: fixed;\n width: 100%;\n `\n\n const StyledSubtitle = styled.span`\n font-size: ${getFontSize('tiny')};\n font-weight: 600;\n letter-spacing: 0cap.6;\n text-transform: uppercase;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: #003851;\n line-height: 16.8px;\n `\n\n const StyledParagraph = styled.div`\n margin-bottom: ${rem(32)};\n color: ${props => props.theme.text};\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 4; /* Number of lines you want to display */\n overflow: hidden;\n\n && {\n line-height: ${getLineHeight('normal')};\n }\n `\n\n return (\n \n {video && (\n \n \n\n \n \n \n \n )}\n\n \n {subjectArea && (\n \n \n {subjectArea}\n \n \n )}\n\n {title && (\n \n {hyphenatedTitle}\n \n )}\n\n {description && (\n \n )}\n \n \n )\n }\n}\n\nexport default VideoCardClosed\n","// @flow\nimport React, { Fragment } from 'react'\nimport styled from 'styled-components'\nimport type { VideoCardViewModel } from '../../types/VideoCardViewModel'\nimport { Dialog } from '@headlessui/react'\nimport VideoCardClosed from '../VideoCardClosed/VideoCardClosed'\nimport VideoCardOpened from '../VideoCardOpened/VideoCardOpened'\n\ntype Props = VideoCardViewModel & { theme?: string }\n\ntype State = {\n isOpen: boolean,\n}\n\nexport const StyledCardElementContainer = styled.div`\n top: 0;\n\n position: fixed;\n z-index: 80;\n overflow-y: auto;\n max-width: 845px;\n overflow-x: visible !important;\n & > div {\n margin-block-start: 6rem;\n position: relative;\n @media (min-width: 768px) {\n margin-inline: 32px;\n margin-block-start: 9rem;\n }\n }\n`\n\nexport const StyledCloseButton = styled.button`\n display: flex;\n justify-content: end;\n margin-block-end: 20px;\n margin-inline: 32px;\n\n padding: 0;\n width: 100%;\n border: none;\n position: absolute;\n z-index: 10;\n right: 0px;\n top: -52px;\n\n &:focus-visible {\n outline: none;\n }\n &:hover {\n cursor: pointer;\n }\n\n @media (min-width: 768px) {\n height: 32px;\n top: 0;\n right: -52px;\n }\n`\n\nexport const StyledDialog = styled(Dialog)`\n display: flex;\n justify-content: none;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n justify-content: center;\n`\n\nexport const StyledDialogOverlay = styled(Dialog.Overlay)`\n position: fixed;\n inset: 0px;\n background-color: black;\n opacity: 0.5;\n z-index: 70;\n`\n\nclass VideoCard extends React.Component {\n static displayName = 'VideoCard'\n static defaultProps = {}\n\n player = null\n\n state = {\n isOpen: false,\n }\n\n handleOpen = () => {\n this.setState({ isOpen: true })\n }\n\n handleClose = () => {\n this.setState({ isOpen: false })\n }\n\n render() {\n const { isSingle, BannerCard } = this.props\n\n const cardElement = (display: 'embeded' | 'modal') =>\n display === 'embeded' ? (\n \n ) : (\n \n )\n\n return (\n <>\n {cardElement('embeded')}\n\n \n \n\n \n
\n \n \n \n \n \n {cardElement('modal')}\n
\n
\n
\n \n )\n }\n}\n\nexport default VideoCard\n"],"sourceRoot":""}