{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack:///./src/components/atomic-design/molecules/work/styles.js","webpack:///./src/components/atomic-design/molecules/work/index.js","webpack:///./node_modules/@styled-icons/boxicons-regular/node_modules/@styled-icons/styled-icon/index.esm.js","webpack:///./node_modules/@styled-icons/boxicons-regular/RightArrowAlt/RightArrowAlt.esm.js","webpack:///./src/components/atomic-design/atoms/link-text-bar/styles.js","webpack:///./src/components/atomic-design/atoms/link-text-bar/index.js","webpack:///./src/components/atomic-design/organisms/work-link/styles.js","webpack:///./src/components/atomic-design/organisms/work-link/index.js","webpack:///./src/styles/pages/not-found-styles.js","webpack:///./src/pages/404.js"],"names":["objectWithoutPropertiesLoose","module","exports","source","excluded","key","i","target","Object","getOwnPropertySymbols","sourceSymbolKeys","length","indexOf","prototype","propertyIsEnumerable","call","Container","styled","div","theme","newTheme","spacing","border","radius","medium","shadow","main","props","height","color","white","transition","breakpoints","tablet","mobile","WorkType","h6","font","weight","regular","text2","size","lineHeight","primary","Title","h5","grey","Subtitle","p","text3","InformationContainer","maxWidthText","CallToAction","light","IconContainer","Work","slug","contentful_id","title","type","subtitle","to","rel","alt","fromContentful","mobileHeight","smallMobileHeight","padding","flex","defaultProps","ownKeys","object","enumerableOnly","keys","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","filterSVGProps","reduce","k","StyledIconBaseBase","ref","children","iconAttrs","iconViewBox","iconVerticalAlign","otherProps","iconProps","arguments","forEach","getOwnPropertyDescriptors","defineProperties","defineProperty","_objectSpread","viewBox","undefined","width","focusable","role","svgProps","StyledIconBase","withConfig","displayName","componentId","RightArrowAlt","d","colors","Text","ColorText","span","Arrow","LinkTextBar","text","colorText","split","map","t","h2","smallMobile","WorkBarContainer","WorkContainer","LinkTextBarContainer","WorkLink","work","validatedWork","validateCaseStudyEntry","node","error","obj","reqFields","thumbnail","LimitedAbstract","boxShadow","margin","h1","TextContainer","ButtonContainer","ImagesContainer","Image404Container","PlugContainer","data","NotFoundPage","location","allContentfulCaseStudy","edges","metatagTitle","allContentfulPage","metatagDescription","bodyType","path","pathname","description","charSet","viewport","aria-label"],"mappings":"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","file":"component---src-pages-404-js-2a57d00430b65152f911.js","sourcesContent":["var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n margin: ${({ theme }) => theme.newTheme.spacing(5)} 0;\n border-radius: ${({ theme }) => theme.newTheme.border.radius.medium};\n overflow: hidden;\n box-shadow: ${({ theme }) => theme.newTheme.shadow.main};\n height: ${props => props.height};\n background-color: ${({ theme }) => theme.newTheme.color.white};\n\n &:hover {\n h5 {\n text-decoration: underline;\n }\n\n @keyframes zoom {\n from {\n transform: scale(1);\n }\n to {\n transform: scale(1.05);\n }\n }\n\n img {\n animation: zoom 0.3s ease-in-out 0s 1;\n transform: scale(1.05);\n }\n\n svg {\n transition: ${({ theme }) => theme.newTheme.transition.main};\n transform: translateY(10px);\n }\n }\n\n @media only screen and (${({ theme }) => theme.newTheme.breakpoints.tablet}) {\n height: inherit;\n }\n\n @media only screen and (${({ theme }) => theme.newTheme.breakpoints.mobile}) {\n flex-direction: column;\n height: inherit;\n }\n`;\n\nexport const WorkType = styled.h6`\n font-weight: ${({ theme }) => theme.newTheme.font.weight.regular};\n font-size: ${({ theme }) => theme.newTheme.font.text2.size};\n line-height: ${({ theme }) => theme.newTheme.font.text2.lineHeight};\n color: ${({ theme }) => theme.newTheme.color.primary.main};\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 1;\n line-clamp: 1;\n -webkit-box-orient: vertical;\n`;\nexport const Title = styled.h5`\n color: ${({ theme }) => theme.newTheme.color.grey.main};\n font-weight: ${({ theme }) => theme.newTheme.font.weight.medium};\n font-size: ${({ theme }) => theme.newTheme.font.text2.size};\n line-height: ${({ theme }) => theme.newTheme.font.text2.lineHeight};\n margin: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 3;\n line-clamp: 3;\n -webkit-box-orient: vertical;\n\n @media only screen and (${({ theme }) => theme.newTheme.breakpoints.tablet}) {\n margin: ${({ theme }) => theme.newTheme.spacing(5)} 0;\n }\n`;\nexport const Subtitle = styled.p`\n margin: 0;\n color: ${({ theme }) => theme.newTheme.color.grey.main};\n font-weight: ${({ theme }) => theme.newTheme.font.weight.regular};\n font-size: ${({ theme }) => theme.newTheme.font.text3.size};\n line-height: ${({ theme }) => theme.newTheme.font.text3.lineHeight};\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n line-clamp: 2;\n -webkit-box-orient: vertical;\n`;\n\nexport const InformationContainer = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: ${({ theme }) => theme.newTheme.spacing(6)};\n max-width: ${props => props.maxWidthText};\n height: 100%;\n\n @media only screen and (${({ theme }) => theme.newTheme.breakpoints.mobile}) {\n max-width: 100%;\n flex-grow: 1;\n ${Subtitle} {\n display: none;\n }\n }\n`;\n\nexport const CallToAction = styled.div`\n width: 100%;\n height: 10%;\n display: flex;\n align-items: center;\n gap: ${({ theme }) => theme.newTheme.spacing(4)};\n p {\n font-weight: ${({ theme }) => theme.newTheme.font.weight.regular};\n font-size: ${({ theme }) => theme.newTheme.font.text3.size};\n line-height: ${({ theme }) => theme.newTheme.font.text3.lineHeight};\n color: ${({ theme }) => theme.newTheme.color.grey.light};\n\n @media only screen and (${({ theme }) => theme.newTheme.breakpoints.mobile}) {\n margin: 0;\n }\n }\n\n @media only screen and (${({ theme }) => theme.newTheme.breakpoints.mobile}) {\n gap: ${({ theme }) => theme.newTheme.spacing(2)};\n }\n`;\n\nexport const IconContainer = styled.div`\n transform: rotate(-90deg);\n\n svg {\n transition: ${({ theme }) => theme.newTheme.transition.main};\n height: ${({ theme }) => theme.newTheme.spacing(5)};\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport theme from 'styles/theme';\nimport { ChevronArrow } from 'ui/svg';\nimport Link from 'atomic-design/atoms/link';\nimport Image from 'core/image';\nimport {\n Container,\n InformationContainer,\n WorkType,\n Title,\n Subtitle,\n CallToAction,\n IconContainer,\n} from './styles';\n\nconst Work = ({ slug, contentful_id, title, subtitle, type, height, maxWidthText }) => (\n \n \n \n \n {type}\n {title}\n \n Read the case study\n \n \n \n \n \n \n \n);\n\nWork.propTypes = {\n slug: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n subtitle: PropTypes.string.isRequired,\n contentful_id: PropTypes.string.isRequired,\n height: PropTypes.string,\n maxWidthText: PropTypes.string,\n};\n\nWork.defaultProps = {\n height: '',\n maxWidthText: '100%',\n};\n\nexport default Work;\n","import \"core-js/modules/es6.array.reduce\";\nimport \"core-js/modules/es6.object.define-property\";\nimport \"core-js/modules/es6.object.define-properties\";\nimport \"core-js/modules/es7.object.get-own-property-descriptors\";\nimport \"core-js/modules/es6.array.for-each\";\nimport \"core-js/modules/es6.array.filter\";\nimport \"core-js/modules/es6.symbol\";\nimport \"core-js/modules/web.dom.iterable\";\nimport \"core-js/modules/es6.array.iterator\";\nimport \"core-js/modules/es6.object.to-string\";\nimport \"core-js/modules/es6.object.keys\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nimport * as React from 'react';\nimport styled from 'styled-components';\nimport validProp from '@emotion/is-prop-valid';\n\nfunction isValidProp(key) {\n return validProp(key);\n}\n\nfunction filterSVGProps(props) {\n return Object.keys(props).reduce(function (p, k) {\n if (isValidProp(k)) {\n // hack to satisfy TypeScript complexity\n ;\n p[k] = props[k];\n }\n\n return p;\n }, {});\n}\n\nvar StyledIconBaseBase = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var children = props.children,\n iconAttrs = props.iconAttrs,\n iconVerticalAlign = props.iconVerticalAlign,\n iconViewBox = props.iconViewBox,\n size = props.size,\n title = props.title,\n otherProps = _objectWithoutProperties(props, [\"children\", \"iconAttrs\", \"iconVerticalAlign\", \"iconViewBox\", \"size\", \"title\"]);\n\n var iconProps = _objectSpread({\n viewBox: iconViewBox,\n height: props.height !== undefined ? props.height : size,\n width: props.width !== undefined ? props.width : size,\n 'aria-hidden': title == null ? 'true' : undefined,\n focusable: 'false',\n role: title != null ? 'img' : undefined\n }, iconAttrs);\n\n var svgProps = filterSVGProps(otherProps);\n return /*#__PURE__*/React.createElement(\"svg\", _extends({}, iconProps, svgProps, {\n ref: ref\n }), title && /*#__PURE__*/React.createElement(\"title\", {\n key: \"icon-title\"\n }, title), children);\n});\nexport var StyledIconBase = /*#__PURE__*/styled(StyledIconBaseBase).withConfig({\n displayName: \"StyledIconBase\",\n componentId: \"ea9ulj-0\"\n})([\"display:inline-block;vertical-align:\", \";overflow:hidden;\"], function (props) {\n return props.iconVerticalAlign;\n});","import _extends from \"@babel/runtime/helpers/extends\";\nimport * as React from 'react';\nimport { StyledIconBase } from '@styled-icons/styled-icon';\nexport var RightArrowAlt = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var attrs = {\n \"fill\": \"currentColor\",\n \"xmlns\": \"http://www.w3.org/2000/svg\"\n };\n return /*#__PURE__*/React.createElement(StyledIconBase, _extends({\n iconAttrs: attrs,\n iconVerticalAlign: \"middle\",\n iconViewBox: \"0 0 24 24\"\n }, props, {\n ref: ref\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.293 17.293l1.414 1.414L19.414 12l-6.707-6.707-1.414 1.414L15.586 11H6v2h9.586z\"\n }));\n});\nRightArrowAlt.displayName = 'RightArrowAlt';\nexport var RightArrowAltDimensions = {\n height: 24,\n width: 24\n};","import styled from 'styled-components';\nimport { RightArrowAlt } from '@styled-icons/boxicons-regular/RightArrowAlt';\n\nexport const Container = styled.div`\n display: flex;\n align-items: center;\n width: 100%;\n height: 85px;\n max-height: 85px;\n background: ${({ theme }) => theme.colors.white};\n box-shadow: 0px -4px 30px rgba(93, 115, 245, 0.2);\n border-radius: 4px;\n padding: 0 10px 0 20px;\n\n @media only screen and (${({ theme }) => theme.breakpoints.mobile}) {\n padding-top: 26px;\n padding-bottom: 26px;\n height: fit-content;\n max-height: fit-content;\n }\n`;\n\nexport const Text = styled.p`\n margin: 0;\n padding: 0;\n font-style: normal;\n font-weight: 600;\n font-size: 26px;\n line-height: 40px;\n letter-spacing: -0.01em;\n color: #4f4f4f;\n`;\n\nexport const ColorText = styled.span`\n font-style: normal;\n font-weight: 600;\n font-size: 26px;\n line-height: 40px;\n letter-spacing: -0.01em;\n background: linear-gradient(242.59deg, #5d73f5 10%, #f46974 100.58%, #f5726a 100.59%);\n -webkit-background-clip: text;\n -webkit-text-fill-color: transparent;\n`;\n\nexport const Arrow = styled.span`\n ${RightArrowAlt} * {\n color: ${({ theme }) => theme.colors.primary};\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Link from 'atomic-design/atoms/link';\nimport { RightArrowAlt } from '@styled-icons/boxicons-regular/RightArrowAlt';\nimport { Container, Text, ColorText, Arrow } from './styles';\n\nconst LinkTextBar = ({ text, colorText, to }) => {\n return (\n \n \n \n {text}\n {colorText.split(' ').map(t => (\n {`${t} `}\n ))}\n \n \n \n \n \n \n );\n};\n\nLinkTextBar.propTypes = {\n text: PropTypes.string.isRequired,\n colorText: PropTypes.string.isRequired,\n to: PropTypes.string.isRequired,\n};\n\nexport default LinkTextBar;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n width: 100%;\n`;\n\nexport const Title = styled.h2`\n margin: 0 0 26px 0;\n padding: 0;\n font-style: normal;\n font-weight: 500;\n font-size: 40px;\n line-height: 60px;\n letter-spacing: -0.01em;\n color: #5d73f5;\n\n @media only screen and (${({ theme }) => theme.breakpoints.smallMobile}) {\n font-size: 30px;\n line-height: 45px;\n }\n`;\n\nexport const WorkBarContainer = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n`;\n\nexport const WorkContainer = styled.div`\n flex-basis: 0;\n flex-grow: 2;\n`;\nexport const LinkTextBarContainer = styled.div`\n flex-basis: 0;\n flex-grow: 1;\n`;\n","import React from 'react';\r\nimport PropTypes from 'prop-types';\r\n\r\nimport Work from 'atomic-design/molecules/work';\r\nimport LinkTextBar from 'atomic-design/atoms/link-text-bar';\r\nimport { Container, Title, WorkContainer, LinkTextBarContainer, WorkBarContainer } from './styles';\r\nimport { validateCaseStudyEntry } from '../../../../common/validations';\r\nimport MissingDataCard from 'atomic-design/atoms/missing-data-card'\r\n\r\nconst WorkLink = ({ title, work, height, maxWidthText }) => {\r\n const requiredFields = ['title', 'slug', 'LimitedAbstract', 'thumbnail'];\r\n const validatedWork = validateCaseStudyEntry(work.node);\r\n return (\r\n \r\n {title && {title}}\r\n \r\n \r\n {!validatedWork || validatedWork.error ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nWorkLink.propTypes = {\r\n height: PropTypes.string,\r\n title: PropTypes.string,\r\n work: PropTypes.shape({\r\n title: PropTypes.string.isRequired,\r\n subtitle: PropTypes.string.isRequired,\r\n description: PropTypes.string.isRequired,\r\n thumbnail: PropTypes.shape({\r\n file: PropTypes.shape({\r\n url: PropTypes.string.isRequired,\r\n }),\r\n }),\r\n hero: PropTypes.shape({\r\n title: PropTypes.string.isRequired,\r\n contentful_id: PropTypes.string.isRequired,\r\n }),\r\n body: PropTypes.shape({\r\n json: PropTypes.instanceOf(Object).isRequired,\r\n }),\r\n }),\r\n};\r\n\r\nWorkLink.defaultProps = {\r\n title: '',\r\n maxWidthText: '',\r\n height: '',\r\n};\r\n\r\nexport default WorkLink;\r\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n padding-top: 104px;\n`;\n\nexport const Title = styled.h1`\n margin: 0;\n padding: 0;\n padding-bottom: 26px;\n font-style: normal;\n font-weight: 500;\n font-size: 64px;\n line-height: 80px;\n letter-spacing: -0.01em;\n text-transform: capitalize;\n color: ${({ theme }) => theme.colors.primary};\n\n @media only screen and (${({ theme }) => theme.breakpoints.mobile}) {\n font-size: 50px;\n line-height: 65px;\n }\n\n @media only screen and (${({ theme }) => theme.breakpoints.smallMobile}) {\n font-size: 40px;\n line-height: 55px;\n }\n`;\nexport const Subtitle = styled.p`\n margin: 0;\n padding: 0;\n padding-bottom: 52px;\n font-style: normal;\n font-weight: normal;\n font-size: 20px;\n line-height: 30px;\n letter-spacing: -0.02em;\n color: #1f1d1c;\n`;\n\nexport const TextContainer = styled.div`\n width: 100%;\n`;\n\nexport const ButtonContainer = styled.div`\n padding-bottom: 104px;\n max-width: 980px;\n width: 100%;\n align-self: center;\n`;\n\nexport const ImagesContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n`;\n\nexport const Image404Container = styled.div`\n width: 100%;\n max-width: 488px;\n padding-bottom: 52px;\n text-align: center;\n\n @media only screen and (${({ theme }) => theme.breakpoints.mobile}) {\n svg {\n width: 346px;\n }\n }\n`;\n\nexport const PlugContainer = styled.div`\n padding-top: 52px;\n position: absolute;\n left: 0;\n\n @media only screen and (${({ theme }) => theme.breakpoints.tablet}) {\n left: -200px;\n }\n\n @media only screen and (${({ theme }) => theme.breakpoints.mobile}) {\n left: -100px;\n }\n`;\n\nexport const WorkContainer = styled.div`\n padding: 202px 0 52px 0;\n max-width: 980px;\n width: 100%;\n align-self: center;\n\n @media only screen and (${({ theme }) => theme.breakpoints.smallMobile}) {\n padding: 104px 0 52px 0;\n }\n`;\n","import React from 'react';\r\n\r\nimport { graphql, Link } from 'gatsby';\r\nimport MetaTags from 'core/meta-tags/index';\r\n\r\nimport Layout from 'core/layout';\r\nimport WorkLink from 'atomic-design/organisms/work-link';\r\nimport Button from 'atomic-design/atoms/button';\r\nimport { Plug, ImageNotFound } from 'ui/svg';\r\nimport MainContainer from 'atomic-design/atoms/main-container';\r\nimport PageSection from 'atomic-design/atoms/page-section';\r\n\r\nimport {\r\n Title,\r\n Subtitle,\r\n Container,\r\n TextContainer,\r\n Image404Container,\r\n PlugContainer,\r\n WorkContainer,\r\n ButtonContainer,\r\n ImagesContainer,\r\n} from '../styles/pages/not-found-styles';\r\n\r\nexport const data = graphql`\r\n query {\r\n allContentfulCaseStudy(sort: { fields: [publishedDate], order: DESC }, limit: 1) {\r\n edges {\r\n node {\r\n featured\r\n title\r\n slug\r\n subtitle\r\n LimitedAbstract\r\n thumbnail {\r\n contentful_id\r\n title\r\n file {\r\n url\r\n }\r\n }\r\n }\r\n }\r\n }\r\n allContentfulPage(filter: { url: { eq: \"404\" } }) {\r\n edges {\r\n node {\r\n headerTitle {\r\n json\r\n }\r\n headerSubtitle\r\n headerDescription {\r\n headerDescription\r\n }\r\n metatagTitle\r\n metatagDescription\r\n }\r\n }\r\n }\r\n }\r\n`;\r\n\r\nconst NotFoundPage = ({ data, location }) => {\r\n const work = data.allContentfulCaseStudy.edges[0];\r\n const metatagTitle = data.allContentfulPage.edges[0].node.metatagTitle;\r\n const metatagDescription = data.allContentfulPage.edges[0].node.metatagDescription;\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n We are sorry\r\n We can’t find the page you are looking for.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Take me home\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotFoundPage;\r\n"],"sourceRoot":""}
Read the case study