{"version":3,"file":"commons-da676311887e9bede81a.js","mappings":"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","sources":["webpack://WHU-FrontEnd/./node_modules/@sanity/image-url/lib/browser/image-url.umd.js","webpack://WHU-FrontEnd/./node_modules/debug/src/browser.js","webpack://WHU-FrontEnd/./node_modules/debug/src/common.js","webpack://WHU-FrontEnd/./node_modules/gatsby-source-sanity/index.js","webpack://WHU-FrontEnd/../src/debug.ts","webpack://WHU-FrontEnd/../../src/images/getGatsbyImageProps.ts","webpack://WHU-FrontEnd/../src/index.ts","webpack://WHU-FrontEnd/../../src/util/documentIds.ts","webpack://WHU-FrontEnd/../../src/util/resolveReferences.ts","webpack://WHU-FrontEnd/./src/components/shared/Contact/styles.js","webpack://WHU-FrontEnd/./src/components/shared/Contact/index.jsx","webpack://WHU-FrontEnd/./src/modules/Conferences/utils.js","webpack://WHU-FrontEnd/./src/components/Layout/Hero.tsx","webpack://WHU-FrontEnd/./src/components/Layout/PageLayout/styles.js","webpack://WHU-FrontEnd/./src/components/Layout/PageLayout/index.tsx","webpack://WHU-FrontEnd/./src/components/shared/GatsbySeo/GatsbySeo.tsx","webpack://WHU-FrontEnd/./src/components/shared/Seo/index.tsx","webpack://WHU-FrontEnd/./src/widgets/Image.tsx","webpack://WHU-FrontEnd/./node_modules/ms/index.js"],"sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.SanityImageUrlBuilder = factory());\n})(this, (function () {\n function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n }\n\n function _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 }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _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\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\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\n var example = 'image-Tb9Ew8CXIwaY6R1kjMvI0uRR-2000x3000-jpg';\n function parseAssetId(ref) {\n var _ref$split = ref.split('-'),\n id = _ref$split[1],\n dimensionString = _ref$split[2],\n format = _ref$split[3];\n\n if (!id || !dimensionString || !format) {\n throw new Error(\"Malformed asset _ref '\" + ref + \"'. Expected an id like \\\"\" + example + \"\\\".\");\n }\n\n var _dimensionString$spli = dimensionString.split('x'),\n imgWidthStr = _dimensionString$spli[0],\n imgHeightStr = _dimensionString$spli[1];\n\n var width = +imgWidthStr;\n var height = +imgHeightStr;\n var isValidAssetId = isFinite(width) && isFinite(height);\n\n if (!isValidAssetId) {\n throw new Error(\"Malformed asset _ref '\" + ref + \"'. Expected an id like \\\"\" + example + \"\\\".\");\n }\n\n return {\n id: id,\n width: width,\n height: height,\n format: format\n };\n }\n\n var isRef = function isRef(src) {\n var source = src;\n return source ? typeof source._ref === 'string' : false;\n };\n\n var isAsset = function isAsset(src) {\n var source = src;\n return source ? typeof source._id === 'string' : false;\n };\n\n var isAssetStub = function isAssetStub(src) {\n var source = src;\n return source && source.asset ? typeof source.asset.url === 'string' : false;\n }; // Convert an asset-id, asset or image to an image record suitable for processing\n // eslint-disable-next-line complexity\n\n\n function parseSource(source) {\n if (!source) {\n return null;\n }\n\n var image;\n\n if (typeof source === 'string' && isUrl(source)) {\n // Someone passed an existing image url?\n image = {\n asset: {\n _ref: urlToId(source)\n }\n };\n } else if (typeof source === 'string') {\n // Just an asset id\n image = {\n asset: {\n _ref: source\n }\n };\n } else if (isRef(source)) {\n // We just got passed an asset directly\n image = {\n asset: source\n };\n } else if (isAsset(source)) {\n // If we were passed an image asset document\n image = {\n asset: {\n _ref: source._id || ''\n }\n };\n } else if (isAssetStub(source)) {\n // If we were passed a partial asset (`url`, but no `_id`)\n image = {\n asset: {\n _ref: urlToId(source.asset.url)\n }\n };\n } else if (typeof source.asset === 'object') {\n // Probably an actual image with materialized asset\n image = _extends({}, source);\n } else {\n // We got something that does not look like an image, or it is an image\n // that currently isn't sporting an asset.\n return null;\n }\n\n var img = source;\n\n if (img.crop) {\n image.crop = img.crop;\n }\n\n if (img.hotspot) {\n image.hotspot = img.hotspot;\n }\n\n return applyDefaults(image);\n }\n\n function isUrl(url) {\n return /^https?:\\/\\//.test(\"\" + url);\n }\n\n function urlToId(url) {\n var parts = url.split('/').slice(-1);\n return (\"image-\" + parts[0]).replace(/\\.([a-z]+)$/, '-$1');\n } // Mock crop and hotspot if image lacks it\n\n\n function applyDefaults(image) {\n if (image.crop && image.hotspot) {\n return image;\n } // We need to pad in default values for crop or hotspot\n\n\n var result = _extends({}, image);\n\n if (!result.crop) {\n result.crop = {\n left: 0,\n top: 0,\n bottom: 0,\n right: 0\n };\n }\n\n if (!result.hotspot) {\n result.hotspot = {\n x: 0.5,\n y: 0.5,\n height: 1.0,\n width: 1.0\n };\n }\n\n return result;\n }\n\n var SPEC_NAME_TO_URL_NAME_MAPPINGS = [['width', 'w'], ['height', 'h'], ['format', 'fm'], ['download', 'dl'], ['blur', 'blur'], ['sharpen', 'sharp'], ['invert', 'invert'], ['orientation', 'or'], ['minHeight', 'min-h'], ['maxHeight', 'max-h'], ['minWidth', 'min-w'], ['maxWidth', 'max-w'], ['quality', 'q'], ['fit', 'fit'], ['crop', 'crop'], ['saturation', 'sat'], ['auto', 'auto'], ['dpr', 'dpr'], ['pad', 'pad']];\n function urlForImage(options) {\n var spec = _extends({}, options || {});\n\n var source = spec.source;\n delete spec.source;\n var image = parseSource(source);\n\n if (!image) {\n throw new Error(\"Unable to resolve image URL from source (\" + JSON.stringify(source) + \")\");\n }\n\n var id = image.asset._ref || image.asset._id || '';\n var asset = parseAssetId(id); // Compute crop rect in terms of pixel coordinates in the raw source image\n\n var cropLeft = Math.round(image.crop.left * asset.width);\n var cropTop = Math.round(image.crop.top * asset.height);\n var crop = {\n left: cropLeft,\n top: cropTop,\n width: Math.round(asset.width - image.crop.right * asset.width - cropLeft),\n height: Math.round(asset.height - image.crop.bottom * asset.height - cropTop)\n }; // Compute hot spot rect in terms of pixel coordinates\n\n var hotSpotVerticalRadius = image.hotspot.height * asset.height / 2;\n var hotSpotHorizontalRadius = image.hotspot.width * asset.width / 2;\n var hotSpotCenterX = image.hotspot.x * asset.width;\n var hotSpotCenterY = image.hotspot.y * asset.height;\n var hotspot = {\n left: hotSpotCenterX - hotSpotHorizontalRadius,\n top: hotSpotCenterY - hotSpotVerticalRadius,\n right: hotSpotCenterX + hotSpotHorizontalRadius,\n bottom: hotSpotCenterY + hotSpotVerticalRadius\n }; // If irrelevant, or if we are requested to: don't perform crop/fit based on\n // the crop/hotspot.\n\n if (!(spec.rect || spec.focalPoint || spec.ignoreImageParams || spec.crop)) {\n spec = _extends({}, spec, fit({\n crop: crop,\n hotspot: hotspot\n }, spec));\n }\n\n return specToImageUrl(_extends({}, spec, {\n asset: asset\n }));\n } // eslint-disable-next-line complexity\n\n function specToImageUrl(spec) {\n var cdnUrl = (spec.baseUrl || 'https://cdn.sanity.io').replace(/\\/+$/, '');\n var filename = spec.asset.id + \"-\" + spec.asset.width + \"x\" + spec.asset.height + \".\" + spec.asset.format;\n var baseUrl = cdnUrl + \"/images/\" + spec.projectId + \"/\" + spec.dataset + \"/\" + filename;\n var params = [];\n\n if (spec.rect) {\n // Only bother url with a crop if it actually crops anything\n var _spec$rect = spec.rect,\n left = _spec$rect.left,\n top = _spec$rect.top,\n width = _spec$rect.width,\n height = _spec$rect.height;\n var isEffectiveCrop = left !== 0 || top !== 0 || height !== spec.asset.height || width !== spec.asset.width;\n\n if (isEffectiveCrop) {\n params.push(\"rect=\" + left + \",\" + top + \",\" + width + \",\" + height);\n }\n }\n\n if (spec.bg) {\n params.push(\"bg=\" + spec.bg);\n }\n\n if (spec.focalPoint) {\n params.push(\"fp-x=\" + spec.focalPoint.x);\n params.push(\"fp-y=\" + spec.focalPoint.y);\n }\n\n var flip = [spec.flipHorizontal && 'h', spec.flipVertical && 'v'].filter(Boolean).join('');\n\n if (flip) {\n params.push(\"flip=\" + flip);\n } // Map from spec name to url param name, and allow using the actual param name as an alternative\n\n\n SPEC_NAME_TO_URL_NAME_MAPPINGS.forEach(function (mapping) {\n var specName = mapping[0],\n param = mapping[1];\n\n if (typeof spec[specName] !== 'undefined') {\n params.push(param + \"=\" + encodeURIComponent(spec[specName]));\n } else if (typeof spec[param] !== 'undefined') {\n params.push(param + \"=\" + encodeURIComponent(spec[param]));\n }\n });\n\n if (params.length === 0) {\n return baseUrl;\n }\n\n return baseUrl + \"?\" + params.join('&');\n }\n\n function fit(source, spec) {\n var cropRect;\n var imgWidth = spec.width;\n var imgHeight = spec.height; // If we are not constraining the aspect ratio, we'll just use the whole crop\n\n if (!(imgWidth && imgHeight)) {\n return {\n width: imgWidth,\n height: imgHeight,\n rect: source.crop\n };\n }\n\n var crop = source.crop;\n var hotspot = source.hotspot; // If we are here, that means aspect ratio is locked and fitting will be a bit harder\n\n var desiredAspectRatio = imgWidth / imgHeight;\n var cropAspectRatio = crop.width / crop.height;\n\n if (cropAspectRatio > desiredAspectRatio) {\n // The crop is wider than the desired aspect ratio. That means we are cutting from the sides\n var height = Math.round(crop.height);\n var width = Math.round(height * desiredAspectRatio);\n var top = Math.max(0, Math.round(crop.top)); // Center output horizontally over hotspot\n\n var hotspotXCenter = Math.round((hotspot.right - hotspot.left) / 2 + hotspot.left);\n var left = Math.max(0, Math.round(hotspotXCenter - width / 2)); // Keep output within crop\n\n if (left < crop.left) {\n left = crop.left;\n } else if (left + width > crop.left + crop.width) {\n left = crop.left + crop.width - width;\n }\n\n cropRect = {\n left: left,\n top: top,\n width: width,\n height: height\n };\n } else {\n // The crop is taller than the desired ratio, we are cutting from top and bottom\n var _width = crop.width;\n\n var _height = Math.round(_width / desiredAspectRatio);\n\n var _left = Math.max(0, Math.round(crop.left)); // Center output vertically over hotspot\n\n\n var hotspotYCenter = Math.round((hotspot.bottom - hotspot.top) / 2 + hotspot.top);\n\n var _top = Math.max(0, Math.round(hotspotYCenter - _height / 2)); // Keep output rect within crop\n\n\n if (_top < crop.top) {\n _top = crop.top;\n } else if (_top + _height > crop.top + crop.height) {\n _top = crop.top + crop.height - _height;\n }\n\n cropRect = {\n left: _left,\n top: _top,\n width: _width,\n height: _height\n };\n }\n\n return {\n width: imgWidth,\n height: imgHeight,\n rect: cropRect\n };\n } // For backwards-compatibility\n\n var validFits = ['clip', 'crop', 'fill', 'fillmax', 'max', 'scale', 'min'];\n var validCrops = ['top', 'bottom', 'left', 'right', 'center', 'focalpoint', 'entropy'];\n var validAutoModes = ['format'];\n\n function isSanityModernClientLike(client) {\n return client && 'config' in client ? typeof client.config === 'function' : false;\n }\n\n function isSanityClientLike(client) {\n return client && 'clientConfig' in client ? typeof client.clientConfig === 'object' : false;\n }\n\n function rewriteSpecName(key) {\n var specs = SPEC_NAME_TO_URL_NAME_MAPPINGS;\n\n for (var _iterator = _createForOfIteratorHelperLoose(specs), _step; !(_step = _iterator()).done;) {\n var entry = _step.value;\n var specName = entry[0],\n param = entry[1];\n\n if (key === specName || key === param) {\n return specName;\n }\n }\n\n return key;\n }\n\n function urlBuilder(options) {\n // Did we get a modernish client?\n if (isSanityModernClientLike(options)) {\n // Inherit config from client\n var _options$config = options.config(),\n apiUrl = _options$config.apiHost,\n projectId = _options$config.projectId,\n dataset = _options$config.dataset;\n\n var apiHost = apiUrl || 'https://api.sanity.io';\n return new ImageUrlBuilder(null, {\n baseUrl: apiHost.replace(/^https:\\/\\/api\\./, 'https://cdn.'),\n projectId: projectId,\n dataset: dataset\n });\n } // Did we get a SanityClient?\n\n\n var client = options;\n\n if (isSanityClientLike(client)) {\n // Inherit config from client\n var _client$clientConfig = client.clientConfig,\n _apiUrl = _client$clientConfig.apiHost,\n _projectId = _client$clientConfig.projectId,\n _dataset = _client$clientConfig.dataset;\n\n var _apiHost = _apiUrl || 'https://api.sanity.io';\n\n return new ImageUrlBuilder(null, {\n baseUrl: _apiHost.replace(/^https:\\/\\/api\\./, 'https://cdn.'),\n projectId: _projectId,\n dataset: _dataset\n });\n } // Or just accept the options as given\n\n\n return new ImageUrlBuilder(null, options);\n }\n var ImageUrlBuilder = /*#__PURE__*/function () {\n function ImageUrlBuilder(parent, options) {\n this.options = void 0;\n this.options = parent ? _extends({}, parent.options || {}, options || {}) // Merge parent options\n : _extends({}, options || {}); // Copy options\n }\n\n var _proto = ImageUrlBuilder.prototype;\n\n _proto.withOptions = function withOptions(options) {\n var baseUrl = options.baseUrl || this.options.baseUrl;\n var newOptions = {\n baseUrl: baseUrl\n };\n\n for (var key in options) {\n if (options.hasOwnProperty(key)) {\n var specKey = rewriteSpecName(key);\n newOptions[specKey] = options[key];\n }\n }\n\n return new ImageUrlBuilder(this, _extends({\n baseUrl: baseUrl\n }, newOptions));\n } // The image to be represented. Accepts a Sanity 'image'-document, 'asset'-document or\n // _id of asset. To get the benefit of automatic hot-spot/crop integration with the content\n // studio, the 'image'-document must be provided.\n ;\n\n _proto.image = function image(source) {\n return this.withOptions({\n source: source\n });\n } // Specify the dataset\n ;\n\n _proto.dataset = function dataset(_dataset2) {\n return this.withOptions({\n dataset: _dataset2\n });\n } // Specify the projectId\n ;\n\n _proto.projectId = function projectId(_projectId2) {\n return this.withOptions({\n projectId: _projectId2\n });\n } // Specify background color\n ;\n\n _proto.bg = function bg(_bg) {\n return this.withOptions({\n bg: _bg\n });\n } // Set DPR scaling factor\n ;\n\n _proto.dpr = function dpr(_dpr) {\n // A DPR of 1 is the default - so only include it if we have a different value\n return this.withOptions(_dpr && _dpr !== 1 ? {\n dpr: _dpr\n } : {});\n } // Specify the width of the image in pixels\n ;\n\n _proto.width = function width(_width) {\n return this.withOptions({\n width: _width\n });\n } // Specify the height of the image in pixels\n ;\n\n _proto.height = function height(_height) {\n return this.withOptions({\n height: _height\n });\n } // Specify focal point in fraction of image dimensions. Each component 0.0-1.0\n ;\n\n _proto.focalPoint = function focalPoint(x, y) {\n return this.withOptions({\n focalPoint: {\n x: x,\n y: y\n }\n });\n };\n\n _proto.maxWidth = function maxWidth(_maxWidth) {\n return this.withOptions({\n maxWidth: _maxWidth\n });\n };\n\n _proto.minWidth = function minWidth(_minWidth) {\n return this.withOptions({\n minWidth: _minWidth\n });\n };\n\n _proto.maxHeight = function maxHeight(_maxHeight) {\n return this.withOptions({\n maxHeight: _maxHeight\n });\n };\n\n _proto.minHeight = function minHeight(_minHeight) {\n return this.withOptions({\n minHeight: _minHeight\n });\n } // Specify width and height in pixels\n ;\n\n _proto.size = function size(width, height) {\n return this.withOptions({\n width: width,\n height: height\n });\n } // Specify blur between 0 and 100\n ;\n\n _proto.blur = function blur(_blur) {\n return this.withOptions({\n blur: _blur\n });\n };\n\n _proto.sharpen = function sharpen(_sharpen) {\n return this.withOptions({\n sharpen: _sharpen\n });\n } // Specify the desired rectangle of the image\n ;\n\n _proto.rect = function rect(left, top, width, height) {\n return this.withOptions({\n rect: {\n left: left,\n top: top,\n width: width,\n height: height\n }\n });\n } // Specify the image format of the image. 'jpg', 'pjpg', 'png', 'webp'\n ;\n\n _proto.format = function format(_format) {\n return this.withOptions({\n format: _format\n });\n };\n\n _proto.invert = function invert(_invert) {\n return this.withOptions({\n invert: _invert\n });\n } // Rotation in degrees 0, 90, 180, 270\n ;\n\n _proto.orientation = function orientation(_orientation) {\n return this.withOptions({\n orientation: _orientation\n });\n } // Compression quality 0-100\n ;\n\n _proto.quality = function quality(_quality) {\n return this.withOptions({\n quality: _quality\n });\n } // Make it a download link. Parameter is default filename.\n ;\n\n _proto.forceDownload = function forceDownload(download) {\n return this.withOptions({\n download: download\n });\n } // Flip image horizontally\n ;\n\n _proto.flipHorizontal = function flipHorizontal() {\n return this.withOptions({\n flipHorizontal: true\n });\n } // Flip image vertically\n ;\n\n _proto.flipVertical = function flipVertical() {\n return this.withOptions({\n flipVertical: true\n });\n } // Ignore crop/hotspot from image record, even when present\n ;\n\n _proto.ignoreImageParams = function ignoreImageParams() {\n return this.withOptions({\n ignoreImageParams: true\n });\n };\n\n _proto.fit = function fit(value) {\n if (validFits.indexOf(value) === -1) {\n throw new Error(\"Invalid fit mode \\\"\" + value + \"\\\"\");\n }\n\n return this.withOptions({\n fit: value\n });\n };\n\n _proto.crop = function crop(value) {\n if (validCrops.indexOf(value) === -1) {\n throw new Error(\"Invalid crop mode \\\"\" + value + \"\\\"\");\n }\n\n return this.withOptions({\n crop: value\n });\n } // Saturation\n ;\n\n _proto.saturation = function saturation(_saturation) {\n return this.withOptions({\n saturation: _saturation\n });\n };\n\n _proto.auto = function auto(value) {\n if (validAutoModes.indexOf(value) === -1) {\n throw new Error(\"Invalid auto mode \\\"\" + value + \"\\\"\");\n }\n\n return this.withOptions({\n auto: value\n });\n } // Specify the number of pixels to pad the image\n ;\n\n _proto.pad = function pad(_pad) {\n return this.withOptions({\n pad: _pad\n });\n } // Gets the url based on the submitted parameters\n ;\n\n _proto.url = function url() {\n return urlForImage(this.options);\n } // Alias for url()\n ;\n\n _proto.toString = function toString() {\n return this.url();\n };\n\n return ImageUrlBuilder;\n }();\n\n return urlBuilder;\n\n}));\n//# sourceMappingURL=image-url.umd.js.map\n","/* eslint-env browser */\n\n/**\n * This is the web browser implementation of `debug()`.\n */\n\nexports.formatArgs = formatArgs;\nexports.save = save;\nexports.load = load;\nexports.useColors = useColors;\nexports.storage = localstorage();\nexports.destroy = (() => {\n\tlet warned = false;\n\n\treturn () => {\n\t\tif (!warned) {\n\t\t\twarned = true;\n\t\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t\t}\n\t};\n})();\n\n/**\n * Colors.\n */\n\nexports.colors = [\n\t'#0000CC',\n\t'#0000FF',\n\t'#0033CC',\n\t'#0033FF',\n\t'#0066CC',\n\t'#0066FF',\n\t'#0099CC',\n\t'#0099FF',\n\t'#00CC00',\n\t'#00CC33',\n\t'#00CC66',\n\t'#00CC99',\n\t'#00CCCC',\n\t'#00CCFF',\n\t'#3300CC',\n\t'#3300FF',\n\t'#3333CC',\n\t'#3333FF',\n\t'#3366CC',\n\t'#3366FF',\n\t'#3399CC',\n\t'#3399FF',\n\t'#33CC00',\n\t'#33CC33',\n\t'#33CC66',\n\t'#33CC99',\n\t'#33CCCC',\n\t'#33CCFF',\n\t'#6600CC',\n\t'#6600FF',\n\t'#6633CC',\n\t'#6633FF',\n\t'#66CC00',\n\t'#66CC33',\n\t'#9900CC',\n\t'#9900FF',\n\t'#9933CC',\n\t'#9933FF',\n\t'#99CC00',\n\t'#99CC33',\n\t'#CC0000',\n\t'#CC0033',\n\t'#CC0066',\n\t'#CC0099',\n\t'#CC00CC',\n\t'#CC00FF',\n\t'#CC3300',\n\t'#CC3333',\n\t'#CC3366',\n\t'#CC3399',\n\t'#CC33CC',\n\t'#CC33FF',\n\t'#CC6600',\n\t'#CC6633',\n\t'#CC9900',\n\t'#CC9933',\n\t'#CCCC00',\n\t'#CCCC33',\n\t'#FF0000',\n\t'#FF0033',\n\t'#FF0066',\n\t'#FF0099',\n\t'#FF00CC',\n\t'#FF00FF',\n\t'#FF3300',\n\t'#FF3333',\n\t'#FF3366',\n\t'#FF3399',\n\t'#FF33CC',\n\t'#FF33FF',\n\t'#FF6600',\n\t'#FF6633',\n\t'#FF9900',\n\t'#FF9933',\n\t'#FFCC00',\n\t'#FFCC33'\n];\n\n/**\n * Currently only WebKit-based Web Inspectors, Firefox >= v31,\n * and the Firebug extension (any Firefox version) are known\n * to support \"%c\" CSS customizations.\n *\n * TODO: add a `localStorage` variable to explicitly enable/disable colors\n */\n\n// eslint-disable-next-line complexity\nfunction useColors() {\n\t// NB: In an Electron preload script, document will be defined but not fully\n\t// initialized. Since we know we're in Chrome, we'll just detect this case\n\t// explicitly\n\tif (typeof window !== 'undefined' && window.process && (window.process.type === 'renderer' || window.process.__nwjs)) {\n\t\treturn true;\n\t}\n\n\t// Internet Explorer and Edge do not support colors.\n\tif (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\\/(\\d+)/)) {\n\t\treturn false;\n\t}\n\n\t// Is webkit? http://stackoverflow.com/a/16459606/376773\n\t// document is undefined in react-native: https://github.com/facebook/react-native/pull/1632\n\treturn (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) ||\n\t\t// Is firebug? http://stackoverflow.com/a/398120/376773\n\t\t(typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) ||\n\t\t// Is firefox >= v31?\n\t\t// https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\\/(\\d+)/) && parseInt(RegExp.$1, 10) >= 31) ||\n\t\t// Double check webkit in userAgent just in case we are in a worker\n\t\t(typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\\/(\\d+)/));\n}\n\n/**\n * Colorize log arguments if enabled.\n *\n * @api public\n */\n\nfunction formatArgs(args) {\n\targs[0] = (this.useColors ? '%c' : '') +\n\t\tthis.namespace +\n\t\t(this.useColors ? ' %c' : ' ') +\n\t\targs[0] +\n\t\t(this.useColors ? '%c ' : ' ') +\n\t\t'+' + module.exports.humanize(this.diff);\n\n\tif (!this.useColors) {\n\t\treturn;\n\t}\n\n\tconst c = 'color: ' + this.color;\n\targs.splice(1, 0, c, 'color: inherit');\n\n\t// The final \"%c\" is somewhat tricky, because there could be other\n\t// arguments passed either before or after the %c, so we need to\n\t// figure out the correct index to insert the CSS into\n\tlet index = 0;\n\tlet lastC = 0;\n\targs[0].replace(/%[a-zA-Z%]/g, match => {\n\t\tif (match === '%%') {\n\t\t\treturn;\n\t\t}\n\t\tindex++;\n\t\tif (match === '%c') {\n\t\t\t// We only are interested in the *last* %c\n\t\t\t// (the user may have provided their own)\n\t\t\tlastC = index;\n\t\t}\n\t});\n\n\targs.splice(lastC, 0, c);\n}\n\n/**\n * Invokes `console.debug()` when available.\n * No-op when `console.debug` is not a \"function\".\n * If `console.debug` is not available, falls back\n * to `console.log`.\n *\n * @api public\n */\nexports.log = console.debug || console.log || (() => {});\n\n/**\n * Save `namespaces`.\n *\n * @param {String} namespaces\n * @api private\n */\nfunction save(namespaces) {\n\ttry {\n\t\tif (namespaces) {\n\t\t\texports.storage.setItem('debug', namespaces);\n\t\t} else {\n\t\t\texports.storage.removeItem('debug');\n\t\t}\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\n/**\n * Load `namespaces`.\n *\n * @return {String} returns the previously persisted debug modes\n * @api private\n */\nfunction load() {\n\tlet r;\n\ttry {\n\t\tr = exports.storage.getItem('debug');\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n\n\t// If debug isn't set in LS, and we're in Electron, try to load $DEBUG\n\tif (!r && typeof process !== 'undefined' && 'env' in process) {\n\t\tr = process.env.DEBUG;\n\t}\n\n\treturn r;\n}\n\n/**\n * Localstorage attempts to return the localstorage.\n *\n * This is necessary because safari throws\n * when a user disables cookies/localstorage\n * and you attempt to access it.\n *\n * @return {LocalStorage}\n * @api private\n */\n\nfunction localstorage() {\n\ttry {\n\t\t// TVMLKit (Apple TV JS Runtime) does not have a window object, just localStorage in the global context\n\t\t// The Browser also has localStorage in the global context.\n\t\treturn localStorage;\n\t} catch (error) {\n\t\t// Swallow\n\t\t// XXX (@Qix-) should we be logging these?\n\t}\n}\n\nmodule.exports = require('./common')(exports);\n\nconst {formatters} = module.exports;\n\n/**\n * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default.\n */\n\nformatters.j = function (v) {\n\ttry {\n\t\treturn JSON.stringify(v);\n\t} catch (error) {\n\t\treturn '[UnexpectedJSONParseError]: ' + error.message;\n\t}\n};\n","\n/**\n * This is the common logic for both the Node.js and web browser\n * implementations of `debug()`.\n */\n\nfunction setup(env) {\n\tcreateDebug.debug = createDebug;\n\tcreateDebug.default = createDebug;\n\tcreateDebug.coerce = coerce;\n\tcreateDebug.disable = disable;\n\tcreateDebug.enable = enable;\n\tcreateDebug.enabled = enabled;\n\tcreateDebug.humanize = require('ms');\n\tcreateDebug.destroy = destroy;\n\n\tObject.keys(env).forEach(key => {\n\t\tcreateDebug[key] = env[key];\n\t});\n\n\t/**\n\t* The currently active debug mode names, and names to skip.\n\t*/\n\n\tcreateDebug.names = [];\n\tcreateDebug.skips = [];\n\n\t/**\n\t* Map of special \"%n\" handling functions, for the debug \"format\" argument.\n\t*\n\t* Valid key names are a single, lower or upper-case letter, i.e. \"n\" and \"N\".\n\t*/\n\tcreateDebug.formatters = {};\n\n\t/**\n\t* Selects a color for a debug namespace\n\t* @param {String} namespace The namespace string for the debug instance to be colored\n\t* @return {Number|String} An ANSI color code for the given namespace\n\t* @api private\n\t*/\n\tfunction selectColor(namespace) {\n\t\tlet hash = 0;\n\n\t\tfor (let i = 0; i < namespace.length; i++) {\n\t\t\thash = ((hash << 5) - hash) + namespace.charCodeAt(i);\n\t\t\thash |= 0; // Convert to 32bit integer\n\t\t}\n\n\t\treturn createDebug.colors[Math.abs(hash) % createDebug.colors.length];\n\t}\n\tcreateDebug.selectColor = selectColor;\n\n\t/**\n\t* Create a debugger with the given `namespace`.\n\t*\n\t* @param {String} namespace\n\t* @return {Function}\n\t* @api public\n\t*/\n\tfunction createDebug(namespace) {\n\t\tlet prevTime;\n\t\tlet enableOverride = null;\n\t\tlet namespacesCache;\n\t\tlet enabledCache;\n\n\t\tfunction debug(...args) {\n\t\t\t// Disabled?\n\t\t\tif (!debug.enabled) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst self = debug;\n\n\t\t\t// Set `diff` timestamp\n\t\t\tconst curr = Number(new Date());\n\t\t\tconst ms = curr - (prevTime || curr);\n\t\t\tself.diff = ms;\n\t\t\tself.prev = prevTime;\n\t\t\tself.curr = curr;\n\t\t\tprevTime = curr;\n\n\t\t\targs[0] = createDebug.coerce(args[0]);\n\n\t\t\tif (typeof args[0] !== 'string') {\n\t\t\t\t// Anything else let's inspect with %O\n\t\t\t\targs.unshift('%O');\n\t\t\t}\n\n\t\t\t// Apply any `formatters` transformations\n\t\t\tlet index = 0;\n\t\t\targs[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {\n\t\t\t\t// If we encounter an escaped % then don't increase the array index\n\t\t\t\tif (match === '%%') {\n\t\t\t\t\treturn '%';\n\t\t\t\t}\n\t\t\t\tindex++;\n\t\t\t\tconst formatter = createDebug.formatters[format];\n\t\t\t\tif (typeof formatter === 'function') {\n\t\t\t\t\tconst val = args[index];\n\t\t\t\t\tmatch = formatter.call(self, val);\n\n\t\t\t\t\t// Now we need to remove `args[index]` since it's inlined in the `format`\n\t\t\t\t\targs.splice(index, 1);\n\t\t\t\t\tindex--;\n\t\t\t\t}\n\t\t\t\treturn match;\n\t\t\t});\n\n\t\t\t// Apply env-specific formatting (colors, etc.)\n\t\t\tcreateDebug.formatArgs.call(self, args);\n\n\t\t\tconst logFn = self.log || createDebug.log;\n\t\t\tlogFn.apply(self, args);\n\t\t}\n\n\t\tdebug.namespace = namespace;\n\t\tdebug.useColors = createDebug.useColors();\n\t\tdebug.color = createDebug.selectColor(namespace);\n\t\tdebug.extend = extend;\n\t\tdebug.destroy = createDebug.destroy; // XXX Temporary. Will be removed in the next major release.\n\n\t\tObject.defineProperty(debug, 'enabled', {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: false,\n\t\t\tget: () => {\n\t\t\t\tif (enableOverride !== null) {\n\t\t\t\t\treturn enableOverride;\n\t\t\t\t}\n\t\t\t\tif (namespacesCache !== createDebug.namespaces) {\n\t\t\t\t\tnamespacesCache = createDebug.namespaces;\n\t\t\t\t\tenabledCache = createDebug.enabled(namespace);\n\t\t\t\t}\n\n\t\t\t\treturn enabledCache;\n\t\t\t},\n\t\t\tset: v => {\n\t\t\t\tenableOverride = v;\n\t\t\t}\n\t\t});\n\n\t\t// Env-specific initialization logic for debug instances\n\t\tif (typeof createDebug.init === 'function') {\n\t\t\tcreateDebug.init(debug);\n\t\t}\n\n\t\treturn debug;\n\t}\n\n\tfunction extend(namespace, delimiter) {\n\t\tconst newDebug = createDebug(this.namespace + (typeof delimiter === 'undefined' ? ':' : delimiter) + namespace);\n\t\tnewDebug.log = this.log;\n\t\treturn newDebug;\n\t}\n\n\t/**\n\t* Enables a debug mode by namespaces. This can include modes\n\t* separated by a colon and wildcards.\n\t*\n\t* @param {String} namespaces\n\t* @api public\n\t*/\n\tfunction enable(namespaces) {\n\t\tcreateDebug.save(namespaces);\n\t\tcreateDebug.namespaces = namespaces;\n\n\t\tcreateDebug.names = [];\n\t\tcreateDebug.skips = [];\n\n\t\tlet i;\n\t\tconst split = (typeof namespaces === 'string' ? namespaces : '').split(/[\\s,]+/);\n\t\tconst len = split.length;\n\n\t\tfor (i = 0; i < len; i++) {\n\t\t\tif (!split[i]) {\n\t\t\t\t// ignore empty strings\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tnamespaces = split[i].replace(/\\*/g, '.*?');\n\n\t\t\tif (namespaces[0] === '-') {\n\t\t\t\tcreateDebug.skips.push(new RegExp('^' + namespaces.slice(1) + '$'));\n\t\t\t} else {\n\t\t\t\tcreateDebug.names.push(new RegExp('^' + namespaces + '$'));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t* Disable debug output.\n\t*\n\t* @return {String} namespaces\n\t* @api public\n\t*/\n\tfunction disable() {\n\t\tconst namespaces = [\n\t\t\t...createDebug.names.map(toNamespace),\n\t\t\t...createDebug.skips.map(toNamespace).map(namespace => '-' + namespace)\n\t\t].join(',');\n\t\tcreateDebug.enable('');\n\t\treturn namespaces;\n\t}\n\n\t/**\n\t* Returns true if the given mode name is enabled, false otherwise.\n\t*\n\t* @param {String} name\n\t* @return {Boolean}\n\t* @api public\n\t*/\n\tfunction enabled(name) {\n\t\tif (name[name.length - 1] === '*') {\n\t\t\treturn true;\n\t\t}\n\n\t\tlet i;\n\t\tlet len;\n\n\t\tfor (i = 0, len = createDebug.skips.length; i < len; i++) {\n\t\t\tif (createDebug.skips[i].test(name)) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\tfor (i = 0, len = createDebug.names.length; i < len; i++) {\n\t\t\tif (createDebug.names[i].test(name)) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\t/**\n\t* Convert regexp to namespace\n\t*\n\t* @param {RegExp} regxep\n\t* @return {String} namespace\n\t* @api private\n\t*/\n\tfunction toNamespace(regexp) {\n\t\treturn regexp.toString()\n\t\t\t.substring(2, regexp.toString().length - 2)\n\t\t\t.replace(/\\.\\*\\?$/, '*');\n\t}\n\n\t/**\n\t* Coerce `val`.\n\t*\n\t* @param {Mixed} val\n\t* @return {Mixed}\n\t* @api private\n\t*/\n\tfunction coerce(val) {\n\t\tif (val instanceof Error) {\n\t\t\treturn val.stack || val.message;\n\t\t}\n\t\treturn val;\n\t}\n\n\t/**\n\t* XXX DO NOT USE. This is a temporary stub function.\n\t* XXX It WILL be removed in the next major release.\n\t*/\n\tfunction destroy() {\n\t\tconsole.warn('Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.');\n\t}\n\n\tcreateDebug.enable(createDebug.load());\n\n\treturn createDebug;\n}\n\nmodule.exports = setup;\n","// Browser/ES5 targets\nmodule.exports = require('./lib-es5')\n",null,null,null,null,null,"import styled, { css } from 'styled-components'\nimport { breakpoint } from 'ui/elements/ThemeProvider/utils'\n\nimport Image from 'widgets/Image'\n\nexport const Contact = styled.div`\n color: ${(props) => props.theme.palette.white};\n background: ${(props) => props.theme.palette.shade};\n padding: 40px 0;\n text-align: center;\n\n ul {\n list-style: none;\n margin: 20px 0 0;\n padding: 0;\n\n a {\n color: inherit;\n\n &:hover {\n color: ${(props) => props.theme.palette.primary};\n text-decoration: none;\n }\n }\n\n span {\n padding-right: 5px;\n\n &:after {\n content: ':';\n }\n }\n }\n\n ${breakpoint.sm`\n text-align: left;\n `}\n`\n\nexport const Header = styled.header`\n .h2,\n .h3,\n .h6 {\n display: block;\n }\n\n .h2 {\n color: ${(props) => props.theme.palette.tertiaryBeta};\n line-height: 1;\n font-size: 2.3rem;\n margin-bottom: 15px;\n font-weight: bold;\n }\n\n .h3 {\n font-weight: 700;\n font-size: 2rem;\n }\n\n .h6 {\n font-weight: 400;\n }\n\n > * {\n margin: 0;\n }\n`\n\nexport const Img = styled(Image)`\n margin: 0 auto 20px auto;\n\n width: 165px;\n height: 165px;\n\n ${breakpoint.sm`\n margin-bottom: 0;\n `};\n\n [data-main-image],\n [data-placeholder-image] {\n border-radius: 100%;\n }\n`\n\nexport const Row = styled.div`\n display: flex;\n flex-wrap: wrap;\n\n align-items: center;\n justify-content: center;\n\n max-width: 1140px;\n margin: auto;\n\n ${breakpoint.sm(\n () => css`\n flex-wrap: nowrap;\n `\n )}\n`\n\nexport const ImgCol = styled.div`\n width: 195px;\n flex-shrink: 0;\n\n padding: 15px;\n`\n\nexport const InfoCol = styled.div`\n display: block;\n width: 100%;\n flex-shrink: 0;\n\n ${breakpoint.sm(\n () => css`\n flex-shrink: 1;\n padding-left: 30px;\n `\n )}\n`\n","import React, { useCallback } from 'react'\nimport { useTranslation } from 'gatsby-plugin-react-i18next'\n\nimport * as S from './styles'\nimport { graphql } from 'gatsby'\nimport { lintrk } from 'utils/helpers'\nimport { sendMatomoEvent } from '../../../tracking/matomo'\nimport { gaEvent } from '../../../tracking/analytics'\n\nconst Contact = ({ contact }) => {\n const { t } = useTranslation('common')\n\n const trackMail = useCallback(() => {\n try {\n gaEvent({\n category: 'Email Adress',\n action: 'Click on Email Adress',\n })\n sendMatomoEvent('Email Adress', 'Click on Email Adress')\n lintrk('track', { conversion_id: 6036348 })\n } catch (e) {}\n }, [])\n const trackNumber = useCallback(() => {\n try {\n gaEvent({\n category: 'Phone Number',\n action: 'Click on Phone Number',\n })\n sendMatomoEvent('Phone Number', 'Click on Phone Number')\n lintrk('track', { conversion_id: 6036356 })\n } catch (e) {}\n }, [])\n\n if (!contact) return null\n\n const { firstName, lastName, title, phone, linkedin, email, image } = contact\n\n return (\n \n \n \n {image.gatsbyImageData && (\n \n )}\n \n \n \n {t('contactTitle')}\n {`${firstName} ${lastName}`}\n {title}\n \n \n \n \n \n )\n}\n\nexport default Contact\n\nexport const query = graphql`\n fragment ContactFragment on SanityContact {\n id\n firstName\n lastName\n title\n email\n linkedin\n phone\n image {\n alt {\n localized(locale: $language)\n }\n gatsbyImageData(\n width: 165\n height: 165\n aspectRatio: 1\n fit: CROP\n layout: FIXED\n )\n }\n }\n`\n","export const palette = {\n variant: 'tertiaryAlpha',\n accent: 'tertiaryBeta',\n}\n\nconst MS_DAY = 1000 * 60 * 60 * 24\n\nconst today = new Date().getTime()\n\nconst conferenceDiffDays = (date) => {\n const d = new Date(date)\n const utc = Date.UTC(d.getFullYear(), d.getMonth(), d.getDate())\n\n return Math.floor((today - utc) / MS_DAY)\n}\n\nexport const isPastConference = (conference) => {\n const days = conferenceDiffDays(conference.startDate)\n\n return days >= 0\n}\n\nexport const isUpcomingConference = (conference) => {\n const days = conferenceDiffDays(conference.startDate)\n\n return days < 0\n}\n","import React, { useMemo } from 'react'\nimport { graphql } from 'gatsby'\nimport Image from 'widgets/Image'\nimport { lazyload } from 'utils/lazyload'\nimport { withArtDirection } from 'gatsby-plugin-image'\nimport styled from 'styled-components'\n\nconst UIHeroCorner = lazyload(() => import('ui/elements/Hero/Corner'))\nconst UIHeroPolygon = lazyload(() => import('ui/elements/Hero/Polygon'))\n\nexport type LocalizedString = Partial<\n Record<'de' | 'en' | 'localized' | string, string>\n>\nexport type Hero =\n | Queries.HeroFragmentFragment\n | (Omit & {\n __typename: undefined\n image: Queries.HeroImageFragment\n })\n\nexport const HeroPolygon: React.FC<\n {\n hero: Hero\n } & React.ComponentProps\n> = ({ hero, ...props }) => {\n return \n}\n\nexport const HeroCorner: React.FC<\n {\n hero: Hero\n } & React.ComponentProps\n> = ({ hero, ...props }) => {\n return \n}\n\nconst HeroImage = styled(Image)`\n [data-gatsby-image-wrapper] {\n --img-width: 576px;\n --img-height: 300px;\n\n width: var(--img-width) !important;\n height: var(--img-height) !important;\n\n @media screen and (min-width: 576px) {\n --img-width: 768px;\n }\n @media screen and (min-width: 769px) {\n --img-width: 1280px;\n --img-height: 600px;\n }\n @media screen and (min-width: 1281px) {\n --img-width: 1920px;\n --img-height: 600px;\n }\n @media screen and (min-width: 1921px) {\n --img-width: 2560px;\n --img-height: 600px;\n }\n }\n\n [data-placeholder-image] {\n width: 100% !important;\n height: 100% !important;\n }\n`\n\ntype BaseProps = {\n heading?: string\n subheading?: string | null\n noHeading?: boolean\n slim?: boolean\n}\ntype RenderHeroProps = React.PropsWithChildren<{\n component: React.FC\n hero: Hero\n heroProps: T\n}>\n\nfunction RenderHero({\n component: Component,\n hero,\n heroProps,\n}: RenderHeroProps): React.ReactElement | null {\n const heroData = useMemo(() => {\n if (!hero) {\n return\n }\n\n const slim = hero.slim || heroProps.slim\n\n let images: Record | undefined = undefined\n if (hero.image) {\n if (slim) {\n images = {\n xxxl: hero.image.imageCompact_xxl,\n xxl: hero.image.imageCompact_xxl,\n xl: hero.image.imageCompact_xl,\n lg: hero.image.imageCompact_lg,\n md: hero.image.imageCompact_md,\n sm: hero.image.imageCompact_sm,\n xs: hero.image.imageCompact_xs,\n }\n } else {\n images = {\n xxxl: hero.image.imageFull_xxxl,\n xxl: hero.image.imageFull_xxl,\n xl: hero.image.imageFull_xl,\n lg: hero.image.imageFull_lg,\n md: hero.image.imageFull_md,\n sm: hero.image.imageFull_sm,\n xs: hero.image.imageFull_xs,\n }\n }\n }\n\n let image = undefined\n if (images) {\n image = withArtDirection(images.xs, [\n {\n media: '(min-width: 2561px)',\n image: images.xxxl,\n },\n {\n media: '(min-width: 1921px) and (max-width: 2560px)',\n image: images.xxl,\n },\n {\n media: '(min-width: 1281px) and (max-width: 1920px)',\n image: images.xl,\n },\n {\n media: '(min-width: 769px) and (max-width: 1280px)',\n image: images.lg,\n },\n {\n media: '(min-width: 577px) and (max-width: 768px)',\n image: images.md,\n },\n {\n media: '(min-width: 361px) and (max-width: 576px)',\n image: images.sm,\n },\n ])\n\n image.placeholder = {\n fallback: hero.image?.asset?.metadata?.lqip ?? undefined,\n }\n }\n\n const {\n heading: overrideHeading,\n subheading: overrideSubheading,\n slim: _ignore,\n ...overrideRest\n } = heroProps\n\n const heading = overrideHeading ?? hero?.title?.localized\n\n return {\n heading,\n subheading:\n overrideSubheading !== undefined\n ? overrideSubheading\n : hero?.subtitle?.localized,\n backgroundColor:\n hero.image?.asset?.metadata?.palette?.lightMuted?.background ??\n undefined,\n placeholder: image?.placeholder?.fallback,\n background: image ? (\n \n ) : undefined,\n slim: slim,\n ...overrideRest,\n }\n }, [hero, heroProps])\n\n if (!heroData) {\n return null\n }\n\n return \n}\n\nexport const query = graphql`\n fragment HeroFragment on SanityHero {\n __typename\n title {\n en\n de\n localized\n }\n subtitle {\n en\n de\n localized\n }\n image {\n ...HeroImage\n }\n slim\n }\n\n fragment HeroImage on SanityExtendedImageLocalized {\n __typename\n asset {\n _id\n metadata {\n lqip\n palette {\n lightMuted {\n background\n }\n }\n }\n }\n crop: _rawCrop\n hotspot: _rawHotspot\n imageFull_xxxl: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 2000\n height: 600\n outputPixelDensities: [1, 1.25, 1.5, 2]\n )\n imageFull_xxl: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 1792\n height: 600\n outputPixelDensities: [1]\n )\n imageFull_xl: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 1344\n height: 600\n outputPixelDensities: [1]\n )\n imageFull_lg: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 896\n height: 600\n outputPixelDensities: [1]\n )\n imageFull_md: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 538\n height: 600\n outputPixelDensities: [1]\n )\n imageFull_sm: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 576\n height: 300\n outputPixelDensities: [1]\n )\n imageFull_xs: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 360\n height: 300\n outputPixelDensities: [1]\n )\n imageCompact_xxl: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 2560\n height: 300\n )\n imageCompact_xl: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 1588\n height: 300\n )\n imageCompact_lg: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 1280\n height: 300\n )\n imageCompact_md: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 768\n height: 300\n )\n imageCompact_sm: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 576\n height: 300\n )\n imageCompact_xs: gatsbyImageData(\n layout: FIXED\n fit: FILL\n width: 360\n height: 300\n )\n alt {\n localized(locale: $language)\n }\n }\n`\n","import styled from 'styled-components'\n\nexport const PageLayout = styled.div``\n\nexport const MainContainer = styled.div`\n margin-top: 50px;\n margin-bottom: 50px;\n`\n","import React, { ComponentProps, useMemo } from 'react'\nimport { Col, Container, Row, Hidden } from 'ui/elements/Grid'\nimport Button from 'ui/elements/Button'\nimport { useTranslation } from 'gatsby-plugin-react-i18next'\n\nimport Contact from 'components/shared/Contact'\nimport Seo from 'components/shared/Seo'\nimport { palette as openProgramsPalette } from 'modules/OpenPrograms/utils'\nimport { palette as customizedProgramsPalette } from 'modules/CustomizedPrograms/utils'\nimport { palette as conferencesPalette } from 'modules/Conferences/utils'\n\nimport { HeroPolygon, HeroCorner, Hero } from '../Hero'\nimport * as S from './styles'\n\nimport { graphql, HeadFC } from 'gatsby'\nimport Link from 'widgets/Link'\nimport { DefaultHeadFC, useGetInternalLink } from 'utils/helpers'\nimport OpticalHeading from 'ui/elements/Heading/OpticalHeading'\n\nconst CtaAction: React.FC<{\n cta: Queries.CtaDataFragment\n}> = ({ cta }) => {\n const [t] = useTranslation('common')\n\n const internalLink = useGetInternalLink(\n cta.internalLink ?? undefined,\n undefined,\n undefined,\n cta.eventCategory\n )\n\n if (!cta.internalLink && !cta.externalLink?.localized) {\n return null\n }\n\n if (cta.externalLink?.localized) {\n return (\n \n {cta.text?.localized ?? t('findOutMore')}\n \n )\n }\n\n return (\n \n {t('findOutMore')}\n \n )\n}\n\nexport const PageLayoutSeo: React.FC<\n {\n headProps: ComponentProps<\n DefaultHeadFC<{\n title?: Queries.Maybe<{ localized?: Queries.Maybe }>\n meta?: Queries.Maybe\n palette?: string | null\n noindex?: Queries.Maybe\n }>\n >\n } & Omit<\n ComponentProps,\n 'title' | 'description' | 'noindex' | 'language'\n >\n> = ({ headProps: { data, pageContext }, ...seoProps }) => {\n const { i18n } = pageContext\n const pageTitle = useMemo(() => {\n return (\n data?.meta?.title?.[i18n.language as 'de' | 'en'] ??\n data?.title?.localized\n )\n }, [data, i18n])\n\n const metaDescription = useMemo(() => {\n const description = data?.meta?.description\n\n return description?.[i18n.language as 'de' | 'en'] ?? description?.en\n }, [data, i18n])\n\n return (\n \n )\n}\n\nconst PageLayout: React.FC<\n React.PropsWithChildren<{\n sidebar?: React.FC\n heroProps?: { type: 'polygon' | 'corner' } & (\n | Partial>\n | Partial>\n )\n data?: Omit & {\n palette?: string | null\n noindex?: Queries.Maybe\n hero: Hero\n }\n title?: string\n cta?: Queries.Maybe\n // required here as the magic layout cannot require props but the page still has to be forced to load it\n infoBarConfig: Queries.InfoBarConfigFragment | undefined | null\n headerCTASiteConfig:\n | Queries.HeaderCTAConfigFragment['headerCTASiteConfig']\n | undefined\n | null\n structuredData?: any[]\n separateSubtitle?: boolean\n }>\n> = ({\n children,\n sidebar: Sidebar,\n heroProps: _heroProps,\n cta,\n structuredData,\n separateSubtitle,\n ...layoutProps\n}) => {\n const contact = layoutProps.data?.contact\n const hasSidebar = !!Sidebar && typeof Sidebar === 'function'\n\n const pagePalette = useMemo(() => {\n const palette = layoutProps.data?.palette\n switch (palette) {\n case 'open-programs':\n return openProgramsPalette\n case 'customized-programs':\n return customizedProgramsPalette\n case 'conferences':\n return conferencesPalette\n default:\n return undefined\n }\n }, [layoutProps])\n\n const subtitle = useMemo(() => {\n return (\n _heroProps?.subheading ?? layoutProps?.data?.hero?.subtitle?.localized\n )\n }, [layoutProps, _heroProps])\n\n const heroProps = useMemo(() => {\n let hero\n if (layoutProps.data?.hero?.__typename === 'SanityHero') {\n hero = layoutProps.data.hero\n }\n\n if (_heroProps?.hero) {\n hero = _heroProps?.hero\n }\n\n if (layoutProps.data?.hero?.__typename === 'SanityExtendedImageLocalized') {\n hero = {\n ..._heroProps,\n image: layoutProps.data.hero,\n }\n }\n\n if (!hero) {\n return\n }\n\n return {\n hero,\n ..._heroProps,\n subheading: separateSubtitle ? null : subtitle,\n }\n }, [layoutProps, _heroProps, subtitle, separateSubtitle])\n\n const HeroComponent = useMemo(() => {\n if (_heroProps?.type === 'polygon') return HeroPolygon\n if (_heroProps?.type === 'corner') return HeroCorner\n }, [_heroProps?.type])\n\n const headerColor = useMemo(() => {\n return _heroProps?.type === 'polygon'\n ? pagePalette?.variant ?? 'primary'\n : undefined\n }, [_heroProps, pagePalette])\n\n return (\n \n {!!HeroComponent && heroProps && (\n : undefined}\n {...heroProps}\n />\n )}\n\n {/* @ts-ignore */}\n \n \n {Sidebar && hasSidebar && (\n \n \n \n )}\n \n {/* @ts-ignore */}\n {separateSubtitle && subtitle && (\n \n \n {subtitle}\n \n \n )}\n {children}\n \n \n \n {contact && (\n \n )}\n \n )\n}\n\nexport default PageLayout\n\nexport const query = graphql`\n fragment FacultyBasePage on SanityFacultyIndex {\n hero {\n ...HeroFragment\n }\n title {\n localized\n }\n meta {\n ...MetaFragment\n }\n }\n fragment BasePage on SanityLandingPageOrPage {\n ... on SanityPage {\n hero {\n ...HeroFragment\n }\n title {\n localized\n }\n meta {\n ...MetaFragment\n }\n contact {\n ...ContactFragment\n }\n palette\n }\n\n ... on SanityLandingPage {\n hero {\n ...HeroFragment\n }\n title {\n localized\n }\n meta {\n ...MetaFragment\n }\n contact {\n ...ContactFragment\n }\n }\n }\n\n fragment CtaData on SanityLocalizedCta {\n text {\n localized(locale: $language)\n }\n externalLink {\n localized(locale: $language)\n }\n internalLink: _rawInternalLink(resolveReferences: { maxDepth: 2 })\n eventCategory\n }\n`\n","import React, { useContext, useMemo } from 'react'\nimport { AllSeoProps, LinkProps, MetaProps } from './types'\nimport { useI18next } from 'gatsby-plugin-react-i18next'\nimport { LanguageSwitcherContext } from 'contexts/LanguageSwitcherContext'\n\nconst BASE_DEFAULTS = {\n noindex: false,\n nofollow: false,\n defaultOpenGraphImageWidth: 0,\n defaultOpenGraphImageHeight: 0,\n defaultOpenGraphVideoWidth: 0,\n defaultOpenGraphVideoHeight: 0,\n}\n\nconst defaultSettings = {\n title: 'WHU – Otto Beisheim School of Management',\n titleTemplate: '%s',\n openGraph: {\n type: 'website',\n title: 'Executive Education',\n },\n twitter: {\n cardType: 'summary',\n site: '@whu_edu',\n handle: '@whu_edu',\n },\n}\n\nconst DEFAULTS = {\n ...BASE_DEFAULTS,\n ...defaultSettings,\n}\n\nconst GatsbySeo: React.FC = (_props) => {\n const headerTags = useMemo(() => {\n const props = {\n ...DEFAULTS,\n ..._props,\n }\n const meta: MetaProps[] = []\n const link: LinkProps[] = []\n\n const { defer = false, metaTags = [], linkTags = [] } = props\n\n const noindex =\n (props.noindex ?? DEFAULTS.noindex) ||\n props.dangerouslySetAllPagesToNoIndex\n const nofollow =\n (props.nofollow ?? DEFAULTS.nofollow) ||\n props.dangerouslySetAllPagesToNoFollow\n\n const indexTags = ['robots', 'googlebot']\n if (noindex || nofollow) {\n if (props.dangerouslySetAllPagesToNoIndex) {\n DEFAULTS.noindex = true\n }\n if (props.dangerouslySetAllPagesToNoFollow) {\n DEFAULTS.nofollow = true\n }\n\n for (const name of indexTags) {\n meta.push({\n id: name,\n name,\n content: `${noindex ? 'noindex' : 'index'},${\n nofollow ? 'nofollow' : 'follow'\n }`,\n })\n }\n } else {\n for (const name of indexTags) {\n meta.push({ id: name, name, content: 'index,follow' })\n }\n }\n\n if (props.description) {\n meta.push({\n id: 'description',\n name: 'description',\n content: props.description,\n })\n }\n\n if (props.mobileAlternate) {\n link.push({\n rel: 'alternate',\n media: props.mobileAlternate.media,\n href: props.mobileAlternate.href,\n })\n }\n\n if (props.languageAlternates && props.languageAlternates.length > 0) {\n props.languageAlternates.forEach((languageAlternate) => {\n link.push({\n rel: 'alternate',\n key: `languageAlternate-${languageAlternate.hrefLang}`,\n hrefLang: languageAlternate.hrefLang,\n href: languageAlternate.href,\n })\n })\n }\n\n if (props.twitter) {\n if (props.twitter.cardType) {\n meta.push({\n id: 'twitter:card',\n name: 'twitter:card',\n content: props.twitter.cardType,\n })\n }\n\n if (props.twitter.site) {\n meta.push({\n id: 'twitter:site',\n name: 'twitter:site',\n content: props.twitter.site,\n })\n }\n\n if (props.twitter.handle) {\n meta.push({\n id: 'twitter:creator',\n name: 'twitter:creator',\n content: props.twitter.handle,\n })\n }\n }\n\n if (props.facebook) {\n if (props.facebook.appId) {\n meta.push({\n id: 'fb:app_id',\n property: 'fb:app_id',\n content: props.facebook.appId,\n })\n }\n }\n\n if (props.openGraph) {\n if (props.openGraph.url || props.canonical) {\n meta.push({\n id: 'og:url',\n property: 'og:url',\n content: props.openGraph.url ?? props.canonical,\n })\n }\n\n if (props.openGraph.type) {\n const type = props.openGraph.type.toLowerCase()\n\n meta.push({ id: 'og:type', property: 'og:type', content: type })\n\n if (type === 'profile' && props.openGraph.profile) {\n if (props.openGraph.profile.firstName) {\n meta.push({\n id: 'profile:first_name',\n property: 'profile:first_name',\n content: props.openGraph.profile.firstName,\n })\n }\n\n if (props.openGraph.profile.lastName) {\n meta.push({\n id: 'profile:last_name',\n property: 'profile:last_name',\n content: props.openGraph.profile.lastName,\n })\n }\n\n if (props.openGraph.profile.username) {\n meta.push({\n id: 'profile:username',\n property: 'profile:username',\n content: props.openGraph.profile.username,\n })\n }\n\n if (props.openGraph.profile.gender) {\n meta.push({\n id: 'profile:gender',\n property: 'profile:gender',\n content: props.openGraph.profile.gender,\n })\n }\n } else if (type === 'book' && props.openGraph.book) {\n if (props.openGraph.book.authors?.length) {\n props.openGraph.book.authors.forEach((author) => {\n meta.push({\n property: 'book:author',\n content: author,\n })\n })\n }\n\n if (props.openGraph.book.isbn) {\n meta.push({\n id: 'book:isbn',\n property: 'book:isbn',\n content: props.openGraph.book.isbn,\n })\n }\n\n if (props.openGraph.book.releaseDate) {\n meta.push({\n id: 'book:release_date',\n property: 'book:release_date',\n content: props.openGraph.book.releaseDate,\n })\n }\n\n if (props.openGraph.book.tags?.length) {\n props.openGraph.book.tags.forEach((tag) => {\n meta.push({\n property: 'book:tag',\n content: tag,\n })\n })\n }\n } else if (type === 'article' && props.openGraph.article) {\n if (props.openGraph.article.publishedTime) {\n meta.push({\n id: 'article:published_time',\n property: 'article:published_time',\n content: props.openGraph.article.publishedTime,\n })\n }\n\n if (props.openGraph.article.modifiedTime) {\n meta.push({\n id: 'article:modified_time',\n property: 'article:modified_time',\n content: props.openGraph.article.modifiedTime,\n })\n }\n\n if (props.openGraph.article.expirationTime) {\n meta.push({\n id: 'article:expiration_time',\n property: 'article:expiration_time',\n content: props.openGraph.article.expirationTime,\n })\n }\n\n if (props.openGraph.article.authors?.length) {\n props.openGraph.article.authors.forEach((author) => {\n meta.push({\n property: 'article:author',\n content: author,\n })\n })\n }\n\n if (props.openGraph.article.section) {\n meta.push({\n id: 'article:section',\n property: 'article:section',\n content: props.openGraph.article.section,\n })\n }\n\n if (props.openGraph.article.tags?.length) {\n props.openGraph.article.tags.forEach((tag) => {\n meta.push({\n property: 'article:tag',\n content: tag,\n })\n })\n }\n } else if (\n (type === 'video.movie' ||\n type === 'video.episode' ||\n type === 'video.tv_show' ||\n type === 'video.other') &&\n props.openGraph.video\n ) {\n if (props.openGraph.video.actors?.length) {\n props.openGraph.video.actors.forEach((actor) => {\n if (actor.profile) {\n meta.push({\n property: 'video:actor',\n content: actor.profile,\n })\n }\n\n if (actor.role) {\n meta.push({\n property: 'video:actor:role',\n content: actor.role,\n })\n }\n })\n }\n\n if (props.openGraph.video.directors?.length) {\n props.openGraph.video.directors.forEach((director) => {\n meta.push({\n property: 'video:director',\n content: director,\n })\n })\n }\n\n if (props.openGraph.video.writers?.length) {\n props.openGraph.video.writers.forEach((writer) => {\n meta.push({\n property: 'video:writer',\n content: writer,\n })\n })\n }\n\n if (props.openGraph.video.duration) {\n meta.push({\n id: 'video:duration',\n property: 'video:duration',\n content: props.openGraph.video.duration.toString(),\n })\n }\n\n if (props.openGraph.video.releaseDate) {\n meta.push({\n id: 'video:release_date',\n property: 'video:release_date',\n content: props.openGraph.video.releaseDate,\n })\n }\n\n if (props.openGraph.video.tags?.length) {\n props.openGraph.video.tags.forEach((tag) => {\n meta.push({\n property: 'video:tag',\n content: tag,\n })\n })\n }\n\n if (props.openGraph.video.series) {\n meta.push({\n id: 'video:series',\n property: 'video:series',\n content: props.openGraph.video.series,\n })\n }\n }\n }\n\n if (props.openGraph.title || props.title) {\n meta.push({\n id: 'og:title',\n property: 'og:title',\n content: props.openGraph.title ?? props.title,\n })\n }\n\n if (props.openGraph.description || props.description) {\n meta.push({\n id: 'og:description',\n property: 'og:description',\n content: props.openGraph.description ?? props.description,\n })\n }\n\n // images\n if (props.defaultOpenGraphImageWidth) {\n DEFAULTS.defaultOpenGraphImageWidth = props.defaultOpenGraphImageWidth\n }\n\n if (props.defaultOpenGraphImageHeight) {\n DEFAULTS.defaultOpenGraphImageHeight = props.defaultOpenGraphImageHeight\n }\n\n if (props.openGraph.images?.length) {\n props.openGraph.images.forEach((image) => {\n meta.push({\n property: 'og:image',\n content: image.url,\n })\n\n if (image.alt) {\n meta.push({\n property: 'og:image:alt',\n content: image.alt,\n })\n }\n\n if (image.width) {\n meta.push({\n property: 'og:image:width',\n content: image.width.toString(),\n })\n } else if (DEFAULTS.defaultOpenGraphImageWidth) {\n meta.push({\n property: 'og:image:width',\n content: DEFAULTS.defaultOpenGraphImageWidth.toString(),\n })\n }\n\n if (image.height) {\n meta.push({\n property: 'og:image:height',\n content: image.height.toString(),\n })\n } else if (DEFAULTS.defaultOpenGraphImageHeight) {\n meta.push({\n property: 'og:image:height',\n content: DEFAULTS.defaultOpenGraphImageHeight.toString(),\n })\n }\n })\n }\n\n // videos\n if (props.defaultOpenGraphVideoWidth) {\n DEFAULTS.defaultOpenGraphVideoWidth = props.defaultOpenGraphVideoWidth\n }\n\n if (props.defaultOpenGraphVideoHeight) {\n DEFAULTS.defaultOpenGraphVideoHeight = props.defaultOpenGraphVideoHeight\n }\n\n if (props.openGraph.videos?.length) {\n props.openGraph.videos.forEach((video) => {\n meta.push({\n property: 'og:video',\n content: video.url,\n })\n\n if (video.alt) {\n meta.push({\n property: 'og:video:alt',\n content: video.alt,\n })\n }\n\n if (video.width) {\n meta.push({\n property: 'og:video:width',\n content: video.width.toString(),\n })\n } else if (DEFAULTS.defaultOpenGraphVideoWidth) {\n meta.push({\n property: 'og:video:width',\n content: DEFAULTS.defaultOpenGraphVideoWidth.toString(),\n })\n }\n\n if (video.height) {\n meta.push({\n property: 'og:video:height',\n content: video.height.toString(),\n })\n } else if (DEFAULTS.defaultOpenGraphVideoHeight) {\n meta.push({\n property: 'og:video:height',\n content: DEFAULTS.defaultOpenGraphVideoHeight.toString(),\n })\n }\n })\n }\n\n if (props.openGraph.locale) {\n meta.push({\n id: 'og:locale',\n property: 'og:locale',\n content: props.openGraph.locale,\n })\n }\n\n if (props.openGraph.site_name) {\n meta.push({\n id: 'og:site_name',\n property: 'og:site_name',\n content: props.openGraph.site_name,\n })\n }\n }\n\n if (props.canonical) {\n link.push({ rel: 'canonical', href: props.canonical, key: 'canonical' })\n }\n\n metaTags.forEach((tag) => {\n meta.push(tag)\n })\n\n linkTags.forEach((tag) => {\n link.push(tag)\n })\n\n const htmlAttributes = props.language\n ? { lang: props.language, ...props.htmlAttributes }\n : { ...props.htmlAttributes }\n\n let title = props.title\n\n if (props.titleTemplate) {\n title = props.titleTemplate.replace('%s', title ?? '')\n }\n\n return {\n meta,\n link,\n htmlAttributes,\n title: title,\n }\n }, [_props])\n\n return (\n <>\n {headerTags.title && {headerTags.title}}\n {headerTags.htmlAttributes && }\n {headerTags.meta.map((m, index) => (\n \n ))}\n {headerTags.link.map(({ key, ...l }) => (\n \n ))}\n \n )\n}\n\nexport default GatsbySeo\n","import React, { ComponentProps, useMemo } from 'react'\nimport { useStaticQuery, graphql } from 'gatsby'\nimport GatsbySeo from 'components/shared/GatsbySeo/GatsbySeo'\nimport { MetaProps } from 'components/shared/GatsbySeo/types'\nimport { useGetLinkTranslations } from 'contexts/LanguageSwitcherContext'\nimport { ContextI18n } from 'utils/helpers'\n\nconst ReadSiteMetadata = graphql`\n query ReadSiteMetadata {\n site {\n buildTime\n siteMetadata {\n title\n description\n author\n siteUrl\n }\n }\n }\n`\n\nconst structuredPageData = {\n '@context': 'http://schema.org/',\n '@type': 'Organization',\n name: 'WHU - Otto Beisheim School of Management – Executive Education',\n alternateName: 'WHU - Otto Beisheim School of Management',\n url: 'https://ee.whu.edu/',\n logo: 'https://ee.whu.edu/logo.svg',\n vatId: 'DE148733174',\n contactPoint: {\n '@type': 'ContactPoint',\n telephone: '+4926165090',\n email: 'whu@whu.edu',\n faxNumber: '+492616509509',\n },\n location: {\n '@type': 'Place',\n hasMap:\n 'https://www.google.com/maps/place/WHU+-+Otto+Beisheim+School+of+Management/@50.4003254,7.6113179,17z/data=!3m1!4b1!4m5!3m4!1s0x47be7d3cc638671b:0x73da18b40028eefb!8m2!3d50.4003254!4d7.6135066',\n },\n address: {\n '@type': 'PostalAddress',\n addressCountry: 'DE',\n addressRegion: 'Rheinland-Pfalz',\n addressLocality: 'Vallendar',\n streetAddress: 'Burgpl. 2',\n postalCode: '56179',\n },\n}\n\ntype PageContext = {\n translations?: Record\n i18n: ContextI18n & {\n path?: string\n }\n}\n\nconst useTranslationMeta = (url: string, context: PageContext) => {}\n\nconst Seo: React.FC<\n {\n description?: string\n noindex?: boolean\n structuredData?: any[]\n pageContext: PageContext\n meta?: Queries.MetaFragmentFragment | null\n } & ComponentProps\n> = ({\n description,\n title,\n noindex,\n structuredData,\n metaTags,\n htmlAttributes,\n pageContext,\n meta,\n ...props\n}) => {\n const { site } =\n useStaticQuery(ReadSiteMetadata)\n const metaDescription =\n description ?? site?.siteMetadata?.description ?? undefined\n\n const language = pageContext.i18n.language\n\n const regexp = /(? {\n const alternatives = []\n\n for (const lang in translations) {\n if (!translations.hasOwnProperty(lang)) {\n continue\n }\n\n alternatives.push({\n hrefLang: lang,\n href: `${site?.siteMetadata?.siteUrl!}/${\n translations[lang]\n }`.replaceAll(regexp, '/'),\n })\n\n if (lang === 'en') {\n alternatives.push({\n hrefLang: 'x-default',\n href: `${site?.siteMetadata?.siteUrl!}/${\n translations[lang]\n }`.replaceAll(regexp, '/'),\n })\n }\n }\n\n return alternatives\n }, [site, language, translations])\n\n const canonical =\n meta?.canonical ??\n `${site?.siteMetadata?.siteUrl!}/${\n translations[language] ?? translations.en\n }`.replaceAll(regexp, '/')\n\n return (\n <>\n \n {structuredData?.map((data) => {\n return (\n \n )\n })}\n \n \n )\n}\n\nexport default Seo\n","import React, { CSSProperties, useCallback, useMemo, useState } from 'react'\nimport styled, { css } from 'styled-components'\nimport type { SanityAsset as _SanityAsset } from '@sanity/image-url/lib/types/types'\nimport { getGatsbyImageData } from 'gatsby-source-sanity'\nimport { config } from 'utils/sanity'\nimport { GatsbyImage, IGatsbyImageData, Layout } from 'gatsby-plugin-image'\nimport { SanityRef } from 'gatsby-source-sanity/lib/types/sanity'\nimport { useGetInternalLink } from 'utils/helpers'\nimport Link from 'widgets/Link'\n\nconst SImage = styled(GatsbyImage)`\n max-width: 100%;\n height: auto;\n display: block;\n\n &[data-lqip] {\n width: 100%;\n object-fit: cover;\n }\n\n &[data-loading='true'] {\n top: 0;\n left: 0;\n z-index: 10;\n }\n`\n\nexport const SImageWrap = styled.div<{\n $square?: boolean\n $full?: boolean\n}>`\n position: relative;\n display: block;\n max-width: 100%;\n\n ${(props) =>\n props.$square &&\n css`\n ${SImage} {\n aspect-ratio: 1/1;\n }\n `}\n\n ${(props) =>\n props.$full &&\n css`\n &,\n ${SImage} {\n height: 100%;\n }\n `}\n`\n\nconst SLink = styled(Link)`\n position: absolute;\n top: 0;\n left: 0;\n\n height: 100%;\n width: 100%;\n\n > span {\n display: none;\n }\n`\n\nexport const SLinkWrap = styled.div`\n position: relative;\n`\n\nexport const Styles = {\n Image: SImage,\n ImageWrap: SImageWrap,\n}\n\ntype SanityAsset = _SanityAsset & {\n metadata?: any\n gatsbyImageData?: IGatsbyImageData\n}\nexport type ImageAsset =\n | ((SanityAsset | Queries.SanityImageAsset) & Partial)\n | (SanityRef & Partial)\nexport type ImageFit =\n | 'clip'\n | 'crop'\n | 'fill'\n | 'fillmax'\n | 'max'\n | 'scale'\n | 'min'\n\nconst Image: React.FC<{\n alt: string\n asset?: ImageAsset\n gatsbyImageData?: IGatsbyImageData\n square?: boolean\n width?: number\n height?: number\n style?: CSSProperties\n layout?: Layout\n fit?: ImageFit\n crop?: any\n hotspot?: any\n className?: string\n stretch?: boolean\n internalLink?: any\n externalLink?: string\n linkText?: string\n eager?: boolean\n}> = ({\n alt,\n asset,\n gatsbyImageData,\n square,\n width,\n height,\n style,\n fit,\n layout = 'constrained',\n crop,\n hotspot,\n className,\n stretch,\n internalLink,\n externalLink,\n linkText,\n eager = false,\n}) => {\n const [dimensions, setDimensions] = useState<{\n width: number\n height: number\n }>()\n\n const link = useGetInternalLink(\n internalLink?.reference,\n undefined,\n externalLink,\n internalLink?.eventCategory\n )\n\n const handleRef = useCallback((wrapper: HTMLDivElement | null) => {\n if (!wrapper) {\n return\n }\n\n setDimensions({\n width: wrapper.scrollWidth,\n height: wrapper.scrollHeight,\n })\n }, [])\n\n const size = useMemo(() => {\n if (width || height) {\n return {\n width,\n height,\n }\n }\n\n if (!dimensions) {\n return undefined\n }\n\n return {\n width: dimensions?.width,\n height: dimensions.height,\n }\n }, [width, height, dimensions])\n\n const image = useMemo(() => {\n if (gatsbyImageData) {\n return gatsbyImageData\n }\n\n if (asset?.images) {\n return asset\n }\n\n if (asset?.gatsbyImageData) {\n return asset.gatsbyImageData\n }\n\n if (!size || (!asset?._id && !asset?._ref)) {\n return undefined\n }\n\n const image = getGatsbyImageData(\n {\n asset: asset as any,\n crop,\n hotspot,\n } as any,\n {\n fit,\n width: size.width,\n height: size.height,\n layout,\n placeholder: 'dominantColor',\n aspectRatio: square ? 1 : undefined,\n },\n config\n )\n\n if (image && asset.metadata?.preview) {\n image.placeholder = {\n fallback: asset.metadata.preview,\n }\n }\n\n return image\n }, [\n fit,\n layout,\n size,\n asset,\n crop,\n hotspot,\n square,\n dimensions,\n gatsbyImageData,\n ])\n\n if (!image && size) {\n return null\n }\n\n return (\n \n \n {image && (\n \n )}\n \n {!link.is404 && !!linkText && (\n \n {linkText}\n \n )}\n \n )\n}\n\nexport default Image\n","/**\n * Helpers.\n */\n\nvar s = 1000;\nvar m = s * 60;\nvar h = m * 60;\nvar d = h * 24;\nvar w = d * 7;\nvar y = d * 365.25;\n\n/**\n * Parse or format the given `val`.\n *\n * Options:\n *\n * - `long` verbose formatting [false]\n *\n * @param {String|Number} val\n * @param {Object} [options]\n * @throws {Error} throw an error if val is not a non-empty string or a number\n * @return {String|Number}\n * @api public\n */\n\nmodule.exports = function(val, options) {\n options = options || {};\n var type = typeof val;\n if (type === 'string' && val.length > 0) {\n return parse(val);\n } else if (type === 'number' && isFinite(val)) {\n return options.long ? fmtLong(val) : fmtShort(val);\n }\n throw new Error(\n 'val is not a non-empty string or a valid number. val=' +\n JSON.stringify(val)\n );\n};\n\n/**\n * Parse the given `str` and return milliseconds.\n *\n * @param {String} str\n * @return {Number}\n * @api private\n */\n\nfunction parse(str) {\n str = String(str);\n if (str.length > 100) {\n return;\n }\n var match = /^(-?(?:\\d+)?\\.?\\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(\n str\n );\n if (!match) {\n return;\n }\n var n = parseFloat(match[1]);\n var type = (match[2] || 'ms').toLowerCase();\n switch (type) {\n case 'years':\n case 'year':\n case 'yrs':\n case 'yr':\n case 'y':\n return n * y;\n case 'weeks':\n case 'week':\n case 'w':\n return n * w;\n case 'days':\n case 'day':\n case 'd':\n return n * d;\n case 'hours':\n case 'hour':\n case 'hrs':\n case 'hr':\n case 'h':\n return n * h;\n case 'minutes':\n case 'minute':\n case 'mins':\n case 'min':\n case 'm':\n return n * m;\n case 'seconds':\n case 'second':\n case 'secs':\n case 'sec':\n case 's':\n return n * s;\n case 'milliseconds':\n case 'millisecond':\n case 'msecs':\n case 'msec':\n case 'ms':\n return n;\n default:\n return undefined;\n }\n}\n\n/**\n * Short format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtShort(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return Math.round(ms / d) + 'd';\n }\n if (msAbs >= h) {\n return Math.round(ms / h) + 'h';\n }\n if (msAbs >= m) {\n return Math.round(ms / m) + 'm';\n }\n if (msAbs >= s) {\n return Math.round(ms / s) + 's';\n }\n return ms + 'ms';\n}\n\n/**\n * Long format for `ms`.\n *\n * @param {Number} ms\n * @return {String}\n * @api private\n */\n\nfunction fmtLong(ms) {\n var msAbs = Math.abs(ms);\n if (msAbs >= d) {\n return plural(ms, msAbs, d, 'day');\n }\n if (msAbs >= h) {\n return plural(ms, msAbs, h, 'hour');\n }\n if (msAbs >= m) {\n return plural(ms, msAbs, m, 'minute');\n }\n if (msAbs >= s) {\n return plural(ms, msAbs, s, 'second');\n }\n return ms + ' ms';\n}\n\n/**\n * Pluralization helper.\n */\n\nfunction plural(ms, msAbs, n, name) {\n var isPlural = msAbs >= n * 1.5;\n return Math.round(ms / n) + ' ' + name + (isPlural ? 's' : '');\n}\n"],"names":["module","exports","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_unsupportedIterableToArray","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","arr","len","arr2","_createForOfIteratorHelperLoose","allowArrayLike","it","Symbol","iterator","next","bind","isArray","done","value","TypeError","example","parseAssetId","ref","_ref$split","split","id","dimensionString","format","Error","_dimensionString$spli","width","height","isFinite","isRef","src","_ref","isAsset","_id","isAssetStub","asset","url","parseSource","image","isUrl","urlToId","img","crop","hotspot","applyDefaults","replace","result","left","top","bottom","right","x","y","SPEC_NAME_TO_URL_NAME_MAPPINGS","urlForImage","options","spec","JSON","stringify","cropLeft","Math","round","cropTop","hotSpotVerticalRadius","hotSpotHorizontalRadius","hotSpotCenterX","hotSpotCenterY","rect","focalPoint","ignoreImageParams","fit","specToImageUrl","cdnUrl","baseUrl","filename","projectId","dataset","params","_spec$rect","push","bg","flip","flipHorizontal","flipVertical","filter","Boolean","join","forEach","mapping","specName","param","encodeURIComponent","cropRect","imgWidth","imgHeight","desiredAspectRatio","max","hotspotXCenter","_width","_height","_left","hotspotYCenter","_top","validFits","validCrops","validAutoModes","isSanityModernClientLike","client","config","isSanityClientLike","clientConfig","rewriteSpecName","_step","_iterator","entry","urlBuilder","_options$config","apiUrl","apiHost","ImageUrlBuilder","_client$clientConfig","_apiUrl","_projectId","_dataset","parent","_proto","withOptions","newOptions","_dataset2","_projectId2","_bg","dpr","_dpr","maxWidth","_maxWidth","minWidth","_minWidth","maxHeight","_maxHeight","minHeight","_minHeight","size","blur","_blur","sharpen","_sharpen","_format","invert","_invert","orientation","_orientation","quality","_quality","forceDownload","download","indexOf","saturation","_saturation","auto","pad","_pad","factory","formatArgs","args","useColors","namespace","humanize","diff","c","color","splice","index","lastC","match","save","namespaces","storage","setItem","removeItem","error","load","r","getItem","process","DEBUG","window","type","__nwjs","navigator","userAgent","toLowerCase","document","documentElement","style","WebkitAppearance","console","firebug","exception","table","parseInt","RegExp","$1","localStorage","localstorage","destroy","warned","warn","colors","log","debug","formatters","j","v","message","env","createDebug","prevTime","namespacesCache","enabledCache","enableOverride","enabled","self","curr","Number","Date","ms","prev","coerce","unshift","formatter","val","selectColor","extend","defineProperty","enumerable","configurable","get","set","init","delimiter","newDebug","toNamespace","regexp","substring","default","stack","disable","names","map","skips","enable","keys","hash","charCodeAt","abs","debug_1","__importDefault","require","ImageFormat","gatsby_plugin_image_1","image_url_1","idPattern","fitMap","Map","generateImageSource","toFormat","builder","_a","loc","__rest","imageStub","node","obj","__read","assetId","dimensions","extension","_b","num","aspectRatio","metadata","stub","concat","buildImageUrl","getBasicImageProps","_d","imageProps","generateImageData","__assign","pluginName","sourceMetadata","undefined","formats","breakpoints","EVERY_BREAKPOINT","placeholder","backgroundColor","_c","palette","dominant","background","lqip","fallback","getGatsbyImageProps_1","getGatsbyImageData","resolveReferences_1","startsWith","makeSafe","documentIds_1","defaultResolveOptions","maxDepth","overlayDrafts","resolveReferences","context","currentDepth","createNodeId","getNode","resolveOptions","item","targetId","safeId","unprefixId","_weak","initial","reduce","acc","targetKey","remapRawFields","isRawDataField","Contact","styled","div","withConfig","displayName","componentId","props","theme","white","shade","primary","breakpoint","sm","Header","header","tertiaryBeta","Img","Image","Row","css","ImgCol","InfoCol","_image$alt$localized","_image$alt","contact","t","useTranslation","trackMail","useCallback","gaEvent","category","action","sendMatomoEvent","lintrk","conversion_id","e","trackNumber","firstName","lastName","title","phone","linkedin","email","React","S","gatsbyImageData","square","objectFit","alt","localized","className","href","onClick","rel","variant","accent","getTime","UIHeroCorner","lazyload","UIHeroPolygon","HeroPolygon","hero","RenderHero","component","heroProps","HeroCorner","_ref2","HeroImage","_ref3","Component","heroData","useMemo","_hero$title","_hero$subtitle","_hero$image$asset$met3","_hero$image2","_hero$image2$asset","_hero$image2$asset$me","_hero$image2$asset$me2","_hero$image2$asset$me3","_image","_image$placeholder","_ref4","_hero$alt$localized","_hero$alt","slim","images","_hero$image$asset$met","_hero$image","_hero$image$asset","_hero$image$asset$met2","xxxl","imageCompact_xxl","xxl","xl","imageCompact_xl","lg","imageCompact_lg","md","imageCompact_md","imageCompact_sm","xs","imageCompact_xs","imageFull_xxxl","imageFull_xxl","imageFull_xl","imageFull_lg","imageFull_md","imageFull_sm","imageFull_xs","withArtDirection","media","heading","overrideHeading","subheading","overrideSubheading","_ignore","overrideRest","subtitle","lightMuted","layout","objectPosition","eager","PageLayout","MainContainer","CtaAction","_cta$internalLink","_cta$externalLink","_cta$externalLink2","cta","internalLink","useGetInternalLink","eventCategory","externalLink","Button","as","iconName","_cta$text$localized","_cta$text","text","Link","to","PageLayoutSeo","_data$noindex","headProps","data","pageContext","seoProps","i18n","pageTitle","_data$meta$title","_data$meta","_data$meta$title2","_data$title","meta","language","metaDescription","_data$meta2","_description","description","en","Seo","noindex","_layoutProps$data","children","sidebar","Sidebar","_heroProps","structuredData","separateSubtitle","layoutProps","hasSidebar","pagePalette","_layoutProps$data2","openProgramsPalette","customizedProgramsPalette","conferencesPalette","_heroProps$subheading","_layoutProps$data3","_layoutProps$data3$he","_layoutProps$data3$he2","_layoutProps$data4","_layoutProps$data4$he","_layoutProps$data5","_layoutProps$data5$he","__typename","HeroComponent","headerColor","_pagePalette$variant","Container","fluid","Col","$xs","$md","$xl","Hidden","$sm","OpticalHeading","level","renderAs","DEFAULTS","nofollow","defaultOpenGraphImageWidth","defaultOpenGraphImageHeight","defaultOpenGraphVideoWidth","defaultOpenGraphVideoHeight","titleTemplate","openGraph","twitter","cardType","site","handle","_props","headerTags","_props$noindex","_props$nofollow","link","defer","metaTags","linkTags","dangerouslySetAllPagesToNoIndex","dangerouslySetAllPagesToNoFollow","indexTags","content","mobileAlternate","languageAlternates","languageAlternate","hrefLang","facebook","appId","property","_props$openGraph$imag","_props$openGraph$vide5","_props$openGraph$url","_props$openGraph$titl","_props$openGraph$desc","canonical","profile","username","gender","book","_props$openGraph$book","_props$openGraph$book2","authors","author","isbn","releaseDate","tags","tag","article","_props$openGraph$arti","_props$openGraph$arti2","publishedTime","modifiedTime","expirationTime","section","video","_props$openGraph$vide","_props$openGraph$vide2","_props$openGraph$vide3","_props$openGraph$vide4","actors","actor","role","directors","director","writers","writer","duration","series","videos","locale","site_name","htmlAttributes","lang","_title","m","l","structuredPageData","alternateName","logo","vatId","contactPoint","telephone","faxNumber","location","hasMap","address","addressCountry","addressRegion","addressLocality","streetAddress","postalCode","_site$siteMetadata","_meta$canonical","_site$siteMetadata4","_translations$languag","_site$siteMetadata$au","_site$siteMetadata5","useStaticQuery","siteMetadata","translations","useGetLinkTranslations","languages","path","defaultLanguage","alternatives","_site$siteMetadata2","_site$siteMetadata3","siteUrl","replaceAll","GatsbySeo","trim","_toConsumableArray","SImage","GatsbyImage","SImageWrap","$square","$full","SLink","SLinkWrap","Styles","ImageWrap","stretch","linkText","setDimensions","useState","reference","handleRef","wrapper","scrollWidth","scrollHeight","_asset$metadata","preview","loading","decoding","is404","s","h","d","w","plural","msAbs","isPlural","str","String","exec","parseFloat","parse","long","fmtLong","fmtShort"],"sourceRoot":""}