{"version":3,"file":"cc9e30324f0809c7a779113d5120c8bdc7c285cf-77308b57a572da2b4264.js","mappings":"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","sources":["webpack://ocius-website/./node_modules/gatsby-plugin-gtag/index.js","webpack://ocius-website/./src/common/detectExternalURL.js","webpack://ocius-website/./src/components/Button.js","webpack://ocius-website/./src/components/DynamicLink.js","webpack://ocius-website/./src/components/Icons/Facebook.js","webpack://ocius-website/./src/components/Icons/Reddit.js","webpack://ocius-website/./src/components/Icons/Twitter.js","webpack://ocius-website/./src/components/Icons/Email.js","webpack://ocius-website/./src/components/Icons/FacebookMessenger.js","webpack://ocius-website/./src/components/Icons/Pinterest.js","webpack://ocius-website/./src/components/Icons/Instagram.js","webpack://ocius-website/./src/components/Icons/Whatsapp.js","webpack://ocius-website/./src/components/Icons/WeChat.js","webpack://ocius-website/./src/components/Icons/LinkedIn.js","webpack://ocius-website/./src/components/SocialIconButton.js","webpack://ocius-website/./src/components/Navbar/Navbar.js","webpack://ocius-website/./src/components/SideNav/SideNavItems.js","webpack://ocius-website/./src/components/Navbar/NavbarItems.js","webpack://ocius-website/./src/components/Navbar/NavbarItem.js","webpack://ocius-website/./src/common/keyboard/match.js","webpack://ocius-website/./src/common/keyboard/keys.js","webpack://ocius-website/./src/components/SideNav/SideNavIcon.js","webpack://ocius-website/./src/components/SideNav/SideNavMenu.js","webpack://ocius-website/./src/components/SideNav/SideNavLinkText.js","webpack://ocius-website/./src/components/Navbar/Link.js","webpack://ocius-website/./src/components/SideNav/SideNavMenuItem.js","webpack://ocius-website/./src/components/SideNav/SideNavItem.js","webpack://ocius-website/./src/components/SideNav/SideNavLink.js","webpack://ocius-website/./src/components/Navbar/LeftNavItem.js","webpack://ocius-website/./src/components/Icons/Menu.js","webpack://ocius-website/./src/common/hooks/useNavItems.js","webpack://ocius-website/./src/components/Navbar/index.js","webpack://ocius-website/./src/components/Icons/OciusGlobe.js","webpack://ocius-website/./src/components/SocialLink.js","webpack://ocius-website/./src/components/Footer.js","webpack://ocius-website/./src/layouts/Layout.js"],"sourcesContent":["'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.OutboundLink = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**\n * Code from OutboundLink module in gatsby-plugin-google-analytics\n * modified for gtag\n */\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction OutboundLink(props) {\n return _react2.default.createElement('a', _extends({}, props, {\n onClick: function onClick(e) {\n if (typeof props.onClick === 'function') {\n props.onClick();\n }\n var redirect = true;\n if (e.button !== 0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || e.defaultPrevented) {\n redirect = false;\n }\n if (props.target && props.target.toLowerCase() !== '_self') {\n redirect = false;\n }\n\n if (window.gtag) {\n window.gtag('event', 'click', {\n event_category: 'outbound',\n event_label: props.href,\n transport_type: 'beacon',\n event_callback: function event_callback() {\n if (redirect) {\n document.location = props.href;\n }\n }\n });\n } else {\n if (redirect) {\n document.location = props.href;\n }\n }\n\n return false;\n }\n }));\n}\n\nOutboundLink.propTypes = {\n href: _propTypes2.default.string,\n target: _propTypes2.default.string,\n onClick: _propTypes2.default.func\n};\n\nexports.OutboundLink = OutboundLink;","/**\n * Helper function for detection of external links.\n *\n * This function assumes that any internal link (intended for Gatsby)\n * will start with exactly one slash, and that anything else is external.\n *\n * Tailor the following test to your environment.\n *\n * @param {String} url URL to be checked\n */\nconst isExternalURL = (url) => !/^\\/(?!\\/)/.test(url);\n\nexport default isExternalURL;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\nimport { switchProp } from 'styled-tools';\nimport { OutboundLink as GtagLink } from 'gatsby-plugin-gtag';\nimport DynamicLink from './DynamicLink';\n\nconst borderStyle = css`\n box-shadow: none;\n`;\n\nconst roundedStyle = css`\n border-radius: 100px;\n padding-left: ${21 / 9}em;\n padding-right: ${21 / 9}em;\n padding-top: ${12 / 9}em;\n\n ${switchProp('$size', {\n tiny: css`\n padding-bottom: ${9 / 9}em;\n `,\n\n small: css`\n padding-bottom: ${10 / 9}em;\n `,\n\n medium: css`\n padding-bottom: ${9 / 9}em;\n `,\n\n large: css`\n padding-bottom: ${10 / 9}em;\n `,\n\n huge: css`\n padding-bottom: ${9 / 9}em;\n `,\n })}\n`;\n\nconst fullStyle = css`\n display: block;\n width: 100%;\n`;\n\nconst ButtonStyles = css`\n appearance: none;\n backface-visibility: hidden;\n border: 0;\n border-radius: 5px;\n cursor: pointer;\n display: inline-flex;\n flex-shrink: 0;\n -moz-box-align: center;\n align-items: center;\n font-weight: 700;\n font-family: ${(props) => props.theme.fonts.bold};\n line-height: 1;\n overflow: hidden;\n padding-left: ${30 / 13}em;\n padding-right: ${30 / 13}em;\n text-align: center;\n text-decoration: none;\n text-overflow: ellipsis;\n transition: all 250ms cubic-bezier(0.4, 0, 0.2, 1) 0s;\n vertical-align: middle;\n white-space: nowrap;\n\n & + & {\n margin-left: 2em;\n }\n\n :active,\n :hover,\n :focus {\n text-decoration: none;\n }\n\n ${switchProp('$color', {\n gray: css`\n background-color: ${(props) => props.theme.colors.neutralLight};\n color: ${(props) => props.theme.colors.neutralPrimary};\n box-shadow: 0 0 0 2px ${(props) => props.theme.colors.neutralPrimary} inset;\n\n :focus,\n :hover,\n :active {\n background-color: ${(props) => props.theme.colors.neutralPrimary};\n color: ${(props) => props.theme.colors.neutralLight};\n }\n `,\n\n blue: css`\n background-color: ${(props) => props.theme.colors.themePrimary};\n color: ${(props) => props.theme.colors.bgPrimary};\n box-shadow: 0 0 0 2px ${(props) => props.theme.colors.themePrimary} inset;\n\n :focus,\n :hover,\n :active {\n background-color: ${(props) => props.theme.colors.themeDark};\n color: ${(props) => props.theme.colors.neutralLight};\n }\n `,\n\n white: css`\n background-color: ${(props) => props.theme.colors.bgPrimary};\n background-size: 4rem 4rem;\n color: ${(props) => props.theme.colors.themeDark};\n box-shadow: 0 0 0 2px ${(props) => props.theme.colors.themePrimary} inset;\n\n :focus,\n :hover,\n :active {\n color: ${(props) => props.theme.colors.bgPrimary};\n background-color: ${(props) => props.theme.colors.themePrimary};\n }\n `,\n\n transparent: css`\n background-color: transparent;\n color: ${(props) => props.theme.colors.bgPrimary};\n box-shadow: 0 0 0 2px ${(props) => props.theme.colors.themePrimary} inset;\n\n :focus,\n :hover,\n :active {\n background-color: transparent;\n color: ${(props) => props.theme.colors.themePrimary};\n }\n `,\n })}\n\n ${switchProp('$size', {\n tiny: css`\n font-size: 13px;\n padding-bottom: ${9 / 9}em;\n padding-left: ${19 / 9}em;\n padding-right: ${19 / 9}em;\n padding-top: ${12 / 9}em;\n `,\n\n small: css`\n font-size: 16px;\n padding-bottom: ${15 / 15}em;\n padding-top: ${18 / 15}em;\n `,\n\n medium: css`\n font-size: 17px;\n padding-bottom: ${21 / 13}em;\n padding-top: ${26 / 13}em;\n `,\n\n large: css`\n font-size: 15px;\n padding-bottom: ${23 / 15}em;\n padding-top: ${28 / 15}em;\n `,\n\n huge: css`\n font-size: 17px;\n padding-bottom: ${25 / 17}em;\n padding-top: ${30 / 17}em;\n `,\n })}\n\n ${(props) => props.$rounded && roundedStyle}\n ${(props) => props.$full && fullStyle}\n ${(props) => !props.$border && borderStyle}\n`;\n\nconst ButtonLink = styled(DynamicLink)`\n ${ButtonStyles}\n`;\n\nconst OutboundLink = styled(GtagLink)`\n ${ButtonStyles}\n`;\n\n/**\n * Button-specific styles\n */\nconst FormButton = styled.button`\n ${ButtonStyles}\n\n &:disabled,\n &[disabled] {\n border: 1px solid #999999;\n background-color: #cccccc;\n color: #666666;\n }\n`;\n\n/**\n * Button component\n * @usage\n * \n */\nfunction Button({\n href,\n children,\n onClick,\n color,\n size,\n rounded,\n full,\n border,\n customStyles,\n className,\n type,\n ...rest\n}) {\n if (!type)\n return (\n \n {children}\n \n );\n if (type === 'outbound')\n return (\n \n {children}\n \n );\n return (\n \n {children}\n \n );\n}\n\nButton.propTypes = {\n /**\n * Pass an to prop to make the button an `a` element instead of a `button`\n */\n href: PropTypes.string,\n\n /**\n * Content for the button\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Function to run when the button is clicked\n */\n onClick: PropTypes.func,\n\n /**\n * Color of the button\n */\n color: PropTypes.oneOf(['white', 'gray', 'blue', 'transparent']),\n\n /**\n * Size of the button\n * tiny: 30 px tall\n * small: 44 px tall\n * medium: 60 px tall\n * large: 66 px tall\n * huge: 72 px tall\n */\n size: PropTypes.oneOf(['tiny', 'small', 'medium', 'large', 'huge']),\n\n /**\n * Use a rounded button\n */\n rounded: PropTypes.bool,\n\n /**\n * Allow button to span available width\n */\n full: PropTypes.bool,\n\n /**\n * Special styles passed in props\n */\n customStyles: PropTypes.objectOf(\n PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object])\n ),\n\n /**\n * Use a border\n */\n border: PropTypes.bool,\n\n /**\n * Add classname to button\n */\n className: PropTypes.string,\n\n /**\n * Add type of the button\n */\n type: PropTypes.string,\n};\n\nButton.defaultProps = {\n href: null,\n onClick: null,\n color: 'transparent',\n size: 'medium',\n rounded: false,\n full: false,\n border: false,\n customStyles: null,\n className: null,\n type: null,\n};\n\nexport default Button;\n","import React from 'react';\nimport { Link as GatsbyLink } from 'gatsby';\nimport isExternalURL from '../common/detectExternalURL';\n\n/**\n * Since DOM elements cannot receive activeClassName\n * and partiallyActive, destructure the prop here and\n * pass it only to GatsbyLink\n */\nfunction DynamicLink({ children, to, activeClassName, partiallyActive, getProps, ...other }) {\n // Use Gatsby Link for internal links, and for others\n if (!isExternalURL(to)) {\n return (\n \n {children}\n \n );\n }\n return (\n \n {children}\n \n );\n}\n\nexport default DynamicLink;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction Facebook(props) {\n return (\n \n \n \n );\n}\n\nexport default Facebook;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction Reddit(props) {\n return (\n \n \n \n );\n}\n\nexport default Reddit;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction Twitter(props) {\n return (\n \n \n \n );\n}\n\nexport default Twitter;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction Email(props) {\n return (\n \n \n \n );\n}\n\nexport default Email;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction FacebookMessenger(props) {\n return (\n \n \n \n );\n}\n\nexport default FacebookMessenger;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction Pinterest(props) {\n return (\n \n \n \n );\n}\n\nexport default Pinterest;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction Instagram(props) {\n return (\n \n \n \n );\n}\n\nexport default Instagram;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction Whatsapp(props) {\n return (\n \n \n \n \n );\n}\n\nexport default Whatsapp;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction WeChat(props) {\n return (\n \n \n \n \n );\n}\n\nexport default WeChat;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction LinkedIn(props) {\n return (\n \n \n \n );\n}\n\nexport default LinkedIn;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { prop, withProp } from 'styled-tools';\nimport Email from './Icons/Email';\nimport Facebook from './Icons/Facebook';\nimport FacebookMessenger from './Icons/FacebookMessenger';\nimport Pinterest from './Icons/Pinterest';\nimport Instagram from './Icons/Instagram';\nimport Reddit from './Icons/Reddit';\nimport Twitter from './Icons/Twitter';\nimport Whatsapp from './Icons/Whatsapp';\nimport WeChat from './Icons/WeChat';\nimport LinkedIn from './Icons/LinkedIn';\n\nconst backgroundColors = {\n email: '#2c3643',\n facebook: '#4ab4e6',\n facebookMessenger: '#1472fb',\n pinterest: '#cb2027',\n instagram: '#4ab4e6',\n reddit: '#fc4220',\n twitter: '#1da1f2',\n whatsapp: '#28eb76',\n weChat: '#7bb32e',\n linkedIn: '#4ab4e6',\n};\n\nconst sizeMultiplier = 2.5;\nconst IconButton = styled.a`\n background-color: ${prop('$backgroundColor')};\n color: #fff;\n cursor: pointer;\n display: inline-block;\n font-size: ${prop('$iconSize', 16)}px;\n width: ${withProp('$iconSize', (size) => `${size * sizeMultiplier}`)}px;\n height: ${withProp('$iconSize', (size) => `${size * sizeMultiplier}`)}px;\n line-height: ${withProp('$iconSize', (size) => `${size * sizeMultiplier}`)}px;\n text-align: center;\n text-decoration: none;\n border-radius: 100%;\n transition: opacity 200ms ease-in-out;\n\n & + & {\n margin-left: 12px;\n }\n\n :hover,\n :active {\n opacity: 0.7;\n }\n`;\n\nfunction SocialIconButton({ network, href, onClick, iconSize, id, className }) {\n return (\n \n {\n {\n email: ,\n facebook: ,\n facebookMessenger: ,\n pinterest: ,\n instagram: ,\n reddit: ,\n twitter: ,\n whatsapp: ,\n wechat: ,\n linkedIn: ,\n }[network]\n }\n \n );\n}\n\nSocialIconButton.propTypes = {\n network: PropTypes.oneOf([\n 'email',\n 'facebook',\n 'facebookMessenger',\n 'pinterest',\n 'instagram',\n 'reddit',\n 'twitter',\n 'whatsapp',\n 'weChat',\n 'linkedIn',\n ]).isRequired,\n href: PropTypes.string,\n onClick: PropTypes.func,\n iconSize: PropTypes.number,\n id: PropTypes.string,\n className: PropTypes.string,\n};\n\nSocialIconButton.defaultProps = {\n href: null,\n onClick: null,\n iconSize: 16,\n id: '',\n className: '',\n};\n\nexport default SocialIconButton;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { Grid } from '@r007/react-styled-flexboxgrid';\nimport mq from '../../common/mq';\n\nconst StyledNavbar = styled.header`\n position: fixed;\n background-color: #ffffff;\n margin: 0px;\n width: 100%;\n z-index: 6000;\n top: 0px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n`;\n\nconst FlexContainer = styled(Grid)`\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 25px 0 15px;\n\n @media (max-width: ${mq.max[768]}) {\n flex-direction: row;\n padding: 0 5px;\n }\n`;\n\nfunction Navbar({ children }) {\n return (\n \n {children}\n \n );\n}\n\nNavbar.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default Navbar;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nconst NavItems = styled.ul`\n flex: 1 1;\n padding: 0;\n overflow: hidden;\n overflow-y: auto;\n margin: 0;\n`;\n\nfunction SideNavItems({ className, children }) {\n return {children};\n}\n\nSideNavItems.propTypes = {\n /**\n * Provide an optional class to be applied to the containing node\n */\n className: PropTypes.string,\n\n /**\n * Provide a single icon as the child to `SideNavIcon` to render in the\n * container\n */\n children: PropTypes.node.isRequired,\n};\n\nSideNavItems.defaultProps = {\n className: '',\n};\n\nexport default SideNavItems;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport mq from '../../common/mq';\n\nconst NavItems = styled.ul`\n margin: 0;\n padding: 0 10%;\n display: flex;\n justify-content: space-between;\n width: 100%;\n list-style: outside none none;\n\n @media (min-width: ${mq.min[768]}) and (max-width: ${mq.max[1200]}) {\n padding: 0 2%;\n }\n\n @media (max-width: ${mq.max[768]}) {\n display: none;\n }\n`;\n\nfunction NavbarItems({ children }) {\n return {children};\n}\n\nNavbarItems.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default NavbarItems;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\nimport { Link as GatsbyLink } from 'gatsby';\nimport { OutboundLink } from 'gatsby-plugin-gtag';\nimport detectActive from '../../common/detectActive';\nimport isExternalURL from '../../common/detectExternalURL';\nimport DynamicLink from '../DynamicLink';\n\nconst Item = styled.li`\n position: relative;\n display: inline-block;\n list-style: none;\n font-size: 1em;\n font-weight: 300;\n line-height: 1.4;\n\n :hover,\n :focus-within {\n ul {\n display: block;\n }\n }\n`;\n\nconst NavbarLink = styled(DynamicLink)`\n display: inline-block;\n padding: 1em 0.8em;\n font-size: 1.7rem;\n font-weight: 500;\n line-height: 100%;\n text-decoration: none;\n color: ${(props) => props.theme.colors.themeDarker};\n\n :hover {\n text-decoration: none;\n }\n\n ${Item}:hover & {\n color: ${(props) => props.theme.colors.themePrimaryLight};\n background-color: #ffffff;\n }\n\n :focus {\n background: ${(props) => props.theme.colors.neutralLight};\n color: ${(props) => props.theme.colors.themeDarker};\n }\n\n &[data-active] {\n background-color: ${(props) => props.theme.colors.neutralLight};\n }\n`;\n\nconst Caret = styled.b`\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 7px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n`;\n\nconst MenuItemStyle = css`\n display: block;\n min-width: 10em;\n padding: 0.6em 1em;\n clear: both;\n font-size: 17px;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n text-decoration: none;\n box-sizing: border-box;\n\n :focus,\n :hover {\n background: ${(props) => props.theme.colors.neutralLightAlt};\n color: ${(props) => props.theme.colors.themePrimaryLight};\n text-decoration: none;\n }\n\n &[data-active] {\n background: ${(props) => props.theme.colors.neutralLightAlt};\n }\n`;\n\nconst DropdownLink = styled(GatsbyLink)`\n ${MenuItemStyle}\n`;\n\nconst DropdownOutboundLink = styled(OutboundLink)`\n ${MenuItemStyle}\n`;\n\nconst Menu = styled.ul`\n display: none;\n margin: 0px;\n padding: 8px;\n min-width: 14em;\n position: absolute;\n left: 0;\n border: 1px solid #ddd;\n box-shadow: 0px 3px 2px 0px rgba(0, 0, 0, 0.1);\n background-color: rgba(255, 255, 255, 0.75);\n z-index: 1000;\n text-align: left;\n list-style: none;\n\n :after {\n content: '';\n border: solid #cfc6c0;\n border-width: 0 1px 1px 0;\n display: inline-block;\n padding: 6px;\n transform: rotate(-135deg);\n position: absolute;\n top: -7px;\n background: #fff;\n left: 33px;\n z-index: -1;\n }\n\n li {\n border-bottom: 1px solid rgba(51, 51, 51, 0.1);\n :last-child {\n border-bottom: none;\n }\n }\n`;\n\nfunction NavbarItem({ path, title, menuItems }) {\n return (\n \n \n {title}\n {menuItems && }\n \n\n {menuItems && (\n \n {menuItems.map((item) => {\n if (isExternalURL(item.path)) {\n return (\n
  • \n \n {item.title}\n \n
  • \n );\n }\n\n return (\n
  • \n \n {item.title}\n \n
  • \n );\n })}\n
    \n )}\n
    \n );\n}\n\nNavbarItem.propTypes = {\n path: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n menuItems: PropTypes.arrayOf(\n PropTypes.shape({\n path: PropTypes.string.isRequired,\n title: PropTypes.string.isRequired,\n })\n ),\n};\n\nNavbarItem.defaultProps = {\n menuItems: null,\n};\n\nexport default NavbarItem;\n","/**\n * @typedef Key\n * @property key {Array|string}\n * @property which {number}\n * @property keyCode {number}\n */\n\n/**\n * Check to see if the given key matches the corresponding keyboard event. Also\n * supports passing in the value directly if you can't used the given event.\n *\n * @example\n * import * as keys from '../keys';\n * import { matches } from '../match';\n *\n * function handleOnKeyDown(event) {\n * if (match(event, keys.Enter) {\n * // ...\n * }\n * }\n *\n * @param {Event|number|string} eventOrCode\n * @param {Key} key\n * @returns {boolean}\n */\nfunction match(eventOrCode, { key, which, keyCode } = {}) {\n if (typeof eventOrCode === 'string') {\n return eventOrCode === key;\n }\n\n if (typeof eventOrCode === 'number') {\n return eventOrCode === which || eventOrCode === keyCode;\n }\n\n if (eventOrCode.key && Array.isArray(key)) {\n return key.indexOf(eventOrCode.key) !== -1;\n }\n\n return eventOrCode.key === key || eventOrCode.which === which || eventOrCode.keyCode === keyCode;\n}\n\nexport default match;\n","const Escape = {\n key: [\n 'Escape',\n // IE11 Escape\n 'Esc',\n ],\n which: 27,\n keyCode: 27,\n};\n\nexport default {\n Escape,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nconst NavIcon = styled.div`\n display: flex;\n flex: 1 1;\n align-items: center;\n justify-content: flex-end;\n\n > svg {\n width: 1rem;\n height: 1rem;\n fill: ${(props) => props.theme.colors.neutralPrimary};\n transition: transform 0.11s;\n\n [aria-expanded='true'] & {\n transform: rotate(180deg);\n }\n }\n`;\n\nfunction SideNavIcon({ children, className }) {\n return {children};\n}\n\nSideNavIcon.propTypes = {\n /**\n * Provide a single icon as the child to `SideNavIcon` to render in the\n * container\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Provide an optional class to be applied to the containing node\n */\n className: PropTypes.string,\n};\n\nSideNavIcon.defaultProps = {\n className: null,\n};\n\nexport default SideNavIcon;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\nimport match from '../../common/keyboard/match';\nimport keys from '../../common/keyboard/keys';\nimport SideNavIcon from './SideNavIcon';\nimport ChevronDownGlyph from '../Icons/ChevronDownGlyph';\n\nconst SubmenuButton = styled.button`\n box-sizing: border-box;\n margin: 0;\n font-size: 100%;\n font-family: inherit;\n vertical-align: baseline;\n display: inline-block;\n background: none;\n border: 0;\n cursor: pointer;\n appearance: none;\n width: 100%;\n font-size: 1.4rem;\n font-weight: 600;\n line-height: 1.29;\n letter-spacing: 0.16px;\n outline: 2px solid transparent;\n outline-offset: -2px;\n display: flex;\n align-items: center;\n height: 3.2rem;\n padding: 0 1.6rem;\n color: ${(props) => props.theme.colors.neutralPrimary};\n transition: color 0.11s, background-color 0.11s, outline 0.11s;\n user-select: none;\n\n :hover {\n color: ${(props) => props.theme.colors.themeDark};\n background-color: ${(props) => props.theme.colors.neutralLight};\n }\n\n :focus {\n outline: 2px solid ${(props) => props.theme.colors.themePrimary};\n outline-offset: -2px;\n }\n\n ${(props) =>\n props.$active &&\n css`\n &[aria-expanded='false'] {\n position: relative;\n color: ${props.theme.colors.themeDark};\n background-color: ${props.theme.colors.neutralLight};\n\n :before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 4px;\n background-color: ${props.theme.colors.themePrimary};\n content: '';\n }\n }\n `}\n`;\n\nconst SubmenuTitle = styled.span`\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n text-align: left;\n`;\n\nconst NavMenu = styled.ul`\n display: block;\n max-height: 0;\n visibility: hidden;\n list-style: none;\n margin: 0;\n padding: 0;\n\n ${SubmenuButton}[aria-expanded='true'] + & {\n max-height: 150rem;\n visibility: inherit;\n }\n`;\n\nclass SideNavMenu extends React.Component {\n static getDerivedStateFromProps(props, state) {\n let derivedState = null;\n\n if (props.isSideNavExpanded === false && state.isExpanded === true) {\n derivedState = {\n isExpanded: props.isSideNavExpanded,\n wasPreviouslyExpanded: true,\n };\n } else if (props.isSideNavExpanded === true && state.wasPreviouslyExpanded === true) {\n derivedState = {\n isExpanded: props.isSideNavExpanded,\n wasPreviouslyExpanded: false,\n };\n }\n\n return derivedState;\n }\n\n constructor(props) {\n super(props);\n this.state = {\n isExpanded: props.defaultExpanded || false,\n // eslint-disable-next-line react/no-unused-state\n wasPreviouslyExpanded: props.defaultExpanded || false,\n };\n }\n\n handleToggleExpand = () => {\n this.setState((state) => ({ isExpanded: !state.isExpanded }));\n };\n\n handleKeyDown = (event) => {\n if (match(event, keys.Escape)) {\n this.setState(() => ({ isExpanded: false }));\n }\n };\n\n render() {\n const { buttonRef, className, children, renderIcon: IconElement, isActive, title } = this.props;\n const { isExpanded } = this.state;\n\n let hasActiveChild;\n if (children) {\n // if we have children, either a single or multiple, find if it is active\n hasActiveChild = Array.isArray(children)\n ? children.some((child) => {\n if (child.props && (child.props.isActive === true || child.props['aria-current'])) {\n return true;\n }\n return false;\n })\n : children.props && (children.props.isActive === true || children.props['aria-current']);\n }\n\n return (\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions\n
  • \n \n {IconElement && (\n \n \n \n )}\n {title}\n \n \n \n \n {children}\n
  • \n );\n }\n}\n\nSideNavMenu.propTypes = {\n /**\n * Provide 's inside of the `SideNavMenu`\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Provide an optional class to be applied to the containing node\n */\n className: PropTypes.string,\n\n /**\n * Specify whether the menu should default to expanded. By default, it will\n * be closed.\n */\n defaultExpanded: PropTypes.bool,\n\n /**\n * Specify whether the `SideNavMenu` is \"active\". `SideNavMenu` should be\n * considered active if one of its menu items are a link for the current\n * page.\n */\n isActive: PropTypes.bool,\n\n /**\n * Property to indicate if the side nav container is open (or not). Use to\n * keep local state and styling in step with the SideNav expansion state.\n */\n isSideNavExpanded: PropTypes.bool,\n\n /**\n * Pass in a custom icon to render next to the `SideNavMenu` title\n */\n renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\n /**\n * Provide the text for the overall menu name\n */\n title: PropTypes.string.isRequired,\n};\n\nSideNavMenu.defaultProps = {\n defaultExpanded: false,\n isActive: false,\n className: null,\n renderIcon: null,\n isSideNavExpanded: null,\n};\n\nexport default SideNavMenu;\n","import React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\n\nconst LinkText = styled.span`\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: ${(props) => props.theme.colors.neutralPrimary};\n font-size: 1.4rem;\n line-height: 2rem;\n letter-spacing: 0.1px;\n user-select: none;\n`;\n\nfunction SideNavLinkText({ children, ...rest }) {\n return {children};\n}\n\nSideNavLinkText.propTypes = {\n /**\n * Provide the content for the link text\n */\n children: PropTypes.node.isRequired,\n};\n\nexport default SideNavLinkText;\n","import styled from 'styled-components';\nimport DynamicLink from '../DynamicLink';\n\nconst NavLink = styled(DynamicLink)`\n outline: 2px solid transparent;\n outline-offset: -2px;\n font-size: 1.4rem;\n font-weight: 600;\n line-height: 1.29;\n letter-spacing: 0.16px;\n position: relative;\n display: flex;\n align-items: center;\n height: 3.2rem;\n min-height: 3.2rem;\n padding: 0 1.6rem;\n text-decoration: none !important;\n transition: color 0.11s, background-color 0.11s, outline 0.11s;\n font-weight: 400;\n\n &[data-active],\n :hover {\n color: ${(props) => props.theme.colors.themeDark};\n background-color: ${(props) => props.theme.colors.neutralLight};\n }\n\n &[data-active] :before {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 4px;\n background-color: ${(props) => props.theme.colors.themePrimary};\n content: '';\n }\n`;\n\nexport default NavLink;\n","import React from 'react';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport SideNavLinkText from './SideNavLinkText';\nimport Link from '../Navbar/Link';\nimport detectActive from '../../common/detectActive';\n\nconst NavLink = styled(Link)`\n padding: 0 1.6rem 0 3.2rem;\n`;\n\nfunction SideNavMenuItem({ children, className, ...rest }) {\n return (\n
  • \n \n {children}\n \n
  • \n );\n}\n\nSideNavMenuItem.propTypes = {\n /**\n * Specify the childrento be rendered inside of the `SideNavMenuItem`\n */\n children: PropTypes.node,\n\n /**\n * Provide an optional class to be applied to the containing node\n */\n className: PropTypes.string,\n};\n\nSideNavMenuItem.defaultProps = {\n children: '',\n className: null,\n};\n\nexport default SideNavMenuItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nconst NavItem = styled.li`\n width: auto;\n height: auto;\n overflow: hidden;\n`;\n\nfunction SideNavItem({ className, children }) {\n return {children};\n}\n\nSideNavItem.propTypes = {\n /**\n * Provide a single icon as the child to `SideNavIcon` to render in the\n * container\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Provide an optional class to be applied to the containing node\n */\n className: PropTypes.string,\n};\n\nSideNavItem.defaultProps = {\n className: null,\n};\n\nexport default SideNavItem;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Link from '../Navbar/Link';\nimport SideNavIcon from './SideNavIcon';\nimport SideNavItem from './SideNavItem';\nimport SideNavLinkText from './SideNavLinkText';\nimport detectActive from '../../common/detectActive';\n\nconst SideNavLink = React.forwardRef(\n (\n {\n className,\n children,\n renderIcon: IconElement,\n // eslint-disable-next-line no-unused-vars\n isSideNavExpanded,\n ...rest\n },\n ref\n ) => (\n \n \n {IconElement && (\n \n \n \n )}\n {children}\n \n \n )\n);\n\nSideNavLink.propTypes = {\n /**\n * Specify the text content for the link\n */\n children: PropTypes.node.isRequired,\n\n /**\n * Provide an optional class to be applied to the containing node\n */\n className: PropTypes.string,\n\n /**\n * Property to indicate if the side nav container is open (or not). Use to\n * keep local state and styling in step with the SideNav expansion state.\n */\n isSideNavExpanded: PropTypes.bool,\n\n /**\n * Provide an icon to render in the side navigation link. Should be a React class.\n */\n renderIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n};\n\nSideNavLink.defaultProps = {\n className: null,\n isSideNavExpanded: false,\n renderIcon: null,\n};\n\nexport default SideNavLink;\n","import React, { useContext } from 'react';\nimport { Location } from '@gatsbyjs/reach-router';\n\nimport SideNavMenu from '../SideNav/SideNavMenu';\nimport SideNavMenuItem from '../SideNav/SideNavMenuItem';\nimport SideNavLink from '../SideNav/SideNavLink';\n\nimport { MenuContext } from '../../common/context/MainNavContext';\n\nfunction LeftNavItem({ menuItems, title, path }) {\n const { toggleMenuMode } = useContext(MenuContext);\n\n const handleClick = () => {\n toggleMenuMode();\n };\n\n return (\n \n {({ location }) => {\n const { pathname } = location;\n\n // If there is single item\n if (!menuItems) {\n return (\n \n {title}\n \n );\n }\n\n const isActive = menuItems.some(\n (item) => item.path.split('/')[1] === pathname.split('/')[1]\n );\n\n return (\n \n \n \n );\n }}\n \n );\n}\n\nconst SubNavItems = ({ items, onClick }) =>\n items.map((item) => {\n const to = item.path;\n return (\n \n {item.title}\n \n );\n });\n\nexport default LeftNavItem;\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction Menu(props) {\n return (\n \n \n \n );\n}\n\nexport default Menu;\n","import { useStaticQuery, graphql } from 'gatsby';\n\nconst useNavItems = () => {\n const {\n allNavItemsYaml: { edges },\n } = useStaticQuery(graphql`\n query MenuItemsQuery {\n allNavItemsYaml {\n edges {\n node {\n title\n path\n pages {\n title\n path\n }\n }\n }\n }\n }\n `);\n\n const navItems = edges.map(({ node }) => node);\n return navItems;\n};\n\nexport default useNavItems;\n","import React, { useContext, useRef, useEffect } from 'react';\nimport styled from 'styled-components';\nimport Navbar from './Navbar';\nimport SiteLogo from './SiteLogo';\nimport SideNav from '../SideNav';\nimport SideNavItems from '../SideNav/SideNavItems';\nimport SideNavWrapper from '../SideNav/SideNavWrapper';\nimport HeaderMenuButton from './HeaderMenuButton';\nimport NavbarItems from './NavbarItems';\nimport NavbarItem from './NavbarItem';\nimport LeftNavItem from './LeftNavItem';\nimport SocialIconButton from '../SocialIconButton';\nimport Button from '../Button';\nimport Menu from '../Icons/Menu';\nimport mq from '../../common/mq';\nimport useWindowSize from '../../common/hooks/useWindowSize';\nimport useNavItems from '../../common/hooks/useNavItems';\nimport useOnClickOutside from '../../common/hooks/useOnClickOutside';\nimport { MenuContext } from '../../common/context/MainNavContext';\n\n/* Add padding to body to compensate navbar height */\nconst Wrapper = styled.div`\n padding-top: 145px;\n\n @media (min-width: ${mq.min[768]}) and (max-width: ${mq.max[1200]}) {\n padding-top: 130px;\n }\n\n @media (max-width: ${mq.max[768]}) {\n padding-top: 50px;\n }\n`;\n\nconst NavbarContainer = styled.section`\n display: flex;\n flex-direction: row;\n width: 100%;\n margin: 30px 0 0;\n\n @media (min-width: ${mq.min[768]}) and (max-width: ${mq.max[1200]}) {\n margin: 15px 0 0;\n }\n\n @media (max-width: ${mq.max[768]}) {\n align-items: center;\n width: auto;\n margin: 0 5px 0px 0;\n }\n`;\n\nconst SocialLinks = styled.div`\n display: flex;\n flex-wrap: nowrap;\n\n @media (max-width: ${mq.max[1024]}) {\n display: none;\n }\n`;\n\nexport default function NavbarWrapper() {\n // Load navbar items from YAML file\n const navItems = useNavItems();\n // Save ref of navbar + sidenav for future reference\n const node = useRef();\n const windowSize = useWindowSize();\n const { isMenuOpen, toggleMenuMode } = useContext(MenuContext);\n\n const hamburgerClickHandler = () => {\n toggleMenuMode();\n };\n\n // Hide main nav when user clicks outside of container\n useOnClickOutside(node, () => {\n // Only if menu if open\n if (isMenuOpen) {\n toggleMenuMode();\n }\n });\n\n // Keep mobile navigation closed on big screens\n useEffect(() => {\n if (windowSize.innerWidth > 768 && isMenuOpen) {\n toggleMenuMode();\n }\n }, [windowSize, isMenuOpen]);\n\n return (\n \n \n \n \n \n\n \n \n \n \n \n {navItems.map((item) => (\n \n ))}\n \n\n }\n />\n \n \n \n \n \n {navItems.map((item) => (\n \n ))}\n \n \n \n \n );\n}\n","import React from 'react';\nimport Icon from '../Icon';\n\nfunction OciusGlobe(props) {\n return (\n \n \n \n \n \n );\n}\n\nexport default OciusGlobe;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport { OutboundLink } from 'gatsby-plugin-gtag';\nimport Facebook from './Icons/Facebook';\nimport Reddit from './Icons/Reddit';\nimport Twitter from './Icons/Twitter';\n\nconst Link = styled(OutboundLink)`\n padding: 0.5em 0.625em;\n margin: 0 0 0.625em;\n font-family: inherit;\n font-size: 1em;\n border: none;\n outline: none;\n background: #001826;\n color: #fff;\n font-weight: 700;\n text-transform: uppercase;\n line-height: 100%;\n cursor: pointer;\n text-decoration: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n display: inline-block;\n zoom: 1;\n *display: inline;\n\n & + & {\n margin-left: 5px;\n }\n`;\n\nconst iconNames = {\n facebook: 'Facebook',\n reddit: 'Reddit',\n twitter: 'Twitter',\n};\n\nfunction SocialLink({ network, href, ...rest }) {\n const label = `\"Follow us on ${iconNames[network]}`;\n\n return (\n \n {\n {\n facebook: ,\n reddit: ,\n twitter: ,\n }[network]\n }\n \n );\n}\n\nSocialLink.propTypes = {\n network: PropTypes.oneOf(['facebook', 'reddit', 'twitter']).isRequired,\n href: PropTypes.string.isRequired,\n};\n\nexport default SocialLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled, { css } from 'styled-components';\nimport { Grid, Col, Row } from '@r007/react-styled-flexboxgrid';\nimport { Link } from 'gatsby';\nimport mq from '../common/mq';\nimport OciusGlobe from './Icons/OciusGlobe';\nimport SocialLink from './SocialLink';\nimport MaskOverlay from './MaskOverlay';\n\nconst StyledFooter = styled.footer`\n position: relative;\n background-color: #1f3643;\n width: 100%;\n clear: both;\n padding: 10em 0 4.5em;\n\n @media (max-width: ${mq.max[768]}) {\n padding: 2em 0;\n\n // Three columns in footer, separated by delimiter\n .separated-section {\n padding-bottom: 0.8em;\n\n & + .separated-section {\n border-left: 1px solid rgba(255, 255, 255, 0.3);\n }\n }\n\n // Full-size section in footer\n .full-section {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n border-top: 1px solid rgba(255, 255, 255, 0.3);\n border-bottom: 1px solid rgba(255, 255, 255, 0.3);\n\n a {\n margin-right: 15px;\n &:last-child {\n margin-right: 0;\n }\n }\n }\n }\n\n .footer-info {\n text-align: right;\n\n @media (max-width: ${mq.max[768]}) {\n padding: 1.6em 1em 0;\n display: flex;\n flex-direction: row-reverse;\n\n .info {\n text-align: left;\n p {\n margin-top: 0;\n }\n }\n }\n }\n`;\n\nconst LinkStyles = css`\n display: block;\n padding: 8px 0;\n\n @media (min-width: ${mq.min[768]}) {\n font-size: 17px;\n }\n`;\n\nconst FooterLink = styled(Link)`\n ${LinkStyles}\n`;\n\nfunction Footer({ children, footerStyle }) {\n return (\n \n \n {children}\n \n );\n}\n\nFooter.propTypes = {\n footerStyle: PropTypes.objectOf(PropTypes.object),\n children: PropTypes.node,\n};\n\nFooter.defaultProps = {\n footerStyle: {},\n children: (\n \n \n \n About\n
      \n
    • \n People\n
    • \n
    • \n Partners\n
    • \n
    • \n Our Story\n
    • \n
    • \n Awards\n
    • \n
    \n \n \n Solutions\n
      \n
    • \n Defence\n
    • \n
    • \n Oil & Gas\n
    • \n
    • \n Science\n
    • \n
    \n \n \n Drones\n
      \n
    • \n USV\n
    • \n
    • \n Bluebottle\n
    • \n
    • \n Tech Specs\n
    • \n
    \n \n \n News\n Media Coverage\n Live\n Contact\n Careers\n \n \n \n
    \n

    \n Building 6\n
    \n Sydney Corporate Park\n
    \n 190 Bourke Road\n
    \n Alexandria NSW 2015\n
    \n Mail PO Box 6127 Alexandria NSW 2015 Australia\n

    \n \n \n
    \n \n
    \n
    \n ),\n};\n\nexport default Footer;\n","import React from 'react';\nimport { ThemeProvider } from 'styled-components';\nimport Navbar from '../components/Navbar';\nimport Footer from '../components/Footer';\nimport theme from '../common/theme';\nimport '../fonts/fonts.css';\nimport '../css/styles.css';\n\nexport default function Layout({ children }) {\n return (\n \n \n {children}\n