{"version":3,"sources":["webpack:///./src/containers/Wrapper/styled.js","webpack:///./src/containers/Wrapper/index.jsx","webpack:///./src/components/Chapter/index.jsx","webpack:///./src/components/Sound/index.jsx","webpack:///./src/components/InfoBox/StepBox.jsx","webpack:///./src/components/InfoBox/InfoBox.jsx","webpack:///./src/components/InfoBox/index.jsx","webpack:///./src/containers/Responsive/withResponsive.js","webpack:///./src/utils/matchColor.js","webpack:///./src/components/Image/Loader.jsx","webpack:///./src/components/Figure/index.jsx","webpack:///./src/components/Sound/withSound.jsx","webpack:///./src/components/Menu/variables.js","webpack:///./src/components/Menu/effects.js","webpack:///./src/components/Menu/LanguageMenu/styled.js","webpack:///./src/components/Menu/LanguageMenu/index.jsx","webpack:///./src/components/Menu/Footer/styled.js","webpack:///./src/components/Menu/Footer/index.jsx","webpack:///./src/components/Menu/ShareMenu/styled.js","webpack:///./src/components/Menu/ShareMenu/index.jsx","webpack:///./src/components/Menu/Heading/styled.js","webpack:///./src/components/Menu/Heading/index.jsx","webpack:///./src/components/Menu/styled.js","webpack:///./src/components/Menu/Nav/styled.js","webpack:///./src/components/Menu/Chapters/styled.js","webpack:///./src/components/Menu/utils.js","webpack:///./src/components/Menu/Chapters/index.jsx","webpack:///./src/components/Menu/Nav/index.jsx","webpack:///./src/components/Menu/Bullets/styled.js","webpack:///./src/components/Menu/Bullets/index.jsx","webpack:///./src/components/Menu/Desktop/styled.js","webpack:///./src/components/Menu/Desktop/index.jsx","webpack:///./src/utils/isiOS.js","webpack:///./src/components/Menu/Mobile/styled.js","webpack:///./src/components/Menu/Mobile/index.jsx","webpack:///./src/components/Menu/index.jsx","webpack:///./src/components/Modal/index.jsx","webpack:///./src/containers/Responsive/index.jsx","webpack:///./src/components/Sound/Rings/styled.js","webpack:///./src/components/Sound/Rings/index.jsx","webpack:///./src/components/Quote/styled.js","webpack:///./src/components/Quote/index.jsx","webpack:///./src/components/InfoBox/styled.js","webpack:///./src/components/Sound/Soundbyte/index.jsx","webpack:///./src/components/Sound/Icon/styled.js","webpack:///./src/components/Sound/Icon/index.jsx","webpack:///./src/components/Figure/styled.js","webpack:///./src/utils/getContentBySubstring.js","webpack:///./src/components/Details/styled.js","webpack:///./src/components/Details/index.jsx","webpack:///./src/components/ScrollBar/index.js","webpack:///./src/assets/images/magnifying-glass.svg","webpack:///./src/components/index.js","webpack:///./src/components/Modal/styled.js","webpack:///./src/assets/images/timeline/arrow-in-circle.svg","webpack:///./src/assets/images/modal-close.svg","webpack:///./src/components/Controls/styled.js","webpack:///./src/components/Controls/index.jsx","webpack:///./src/assets/images/icon_share_black.svg"],"names":["lg","breakpoints","Outer","styled","div","withConfig","displayName","componentId","padding","right","left","media","md","_templateObject","sm","_templateObject2","xs","_templateObject3","Inner","_templateObject4","_templateObject5","_templateObject6","__webpack_require__","d","__webpack_exports__","ThemeContext","React","createContext","chapter","color","Chapter","render","_this$props","this","props","children","theme","react__WEBPACK_IMPORTED_MODULE_1___default","a","createElement","Provider","value","PureComponent","propTypes","PropTypes","node","isRequired","shape","SoundContext","playStatus","actions","togglePlayStatus","CloudinarySound","state","status","_this","setState","activateSound","window","removeEventListener","react__WEBPACK_IMPORTED_MODULE_1__","Component","getUrlfromId","id","getBaseUrl","StepBox","currentMessage","handleNextMessage","messages","length","handlePreviousMessage","renderStepNumber","locale","intl","size","react_default","style","boxShadow","paddingTop","index_es","className","Controls","onClick","src","arrow","alt","arrayOf","string","defaultProps","Infobox","renderScrollBox","infoBoxStyles","ScrollBar","height","direction","renderInfoBox","_this$props2","isMobile","type","scroll","StepBox_StepBox","bool","compose","withResponsive","injectIntl","Info","showModal","handleOpenModal","handleCloseModal","renderModal","detailFigure","detailMessages","Modal","onRequestClose","Details","figureProps","componentDidMount","linkedText","document","getElementById","addEventListener","componentWillUnmount","react","InfoBox","oneOfType","WrappedComponent","_Component","_class2","_len","arguments","args","Array","_key","call","apply","concat","windowHeight","windowWidth","setWindowDimensions","innerHeight","innerWidth","toggleMobile","handleWindowSizeChange","debounceHandleWindowSizeChange","debounce","_babel_runtime_helpers_inheritsLoose__WEBPACK_IMPORTED_MODULE_1___default","_proto","prototype","react__WEBPACK_IMPORTED_MODULE_2___default","Object","assign","styles_variables__WEBPACK_IMPORTED_MODULE_0__","matchColor","vars","test","ImageLoader","loaded","handleImageLoaded","delay","onLoadCallback","setTimeout","image","complete","_this2","restProps","objectWithoutPropertiesLoose_default","ref","el","onLoad","key","opacity","number","func","object","Image","Figure","handleLoad","context","parallaxController","update","caption","width","captionColor","captionPadding","Loader","FigImage","contextTypes","withSound","_class","components_Sound_index__WEBPACK_IMPORTED_MODULE_3__","Consumer","sound","row","small","medium","inter","large","margin","topBarHeight","top","navWidth","animation","appear","keyframes","slideIn","fadeIn","css","open","LanguageMenu","menu","styled_templateObject","black","Option","li","sans","selected","SelectorWrapper","Select","select","white","LanguagesMenu","_ref","mobile","Language","_ref2","languages","setLanguage","onChange","event","target","map","lang","text","toUpperCase","Footer","footer","Footer_styled_templateObject","styled_templateObject2","peat","FooterItem","P","MenuFooter","copyright","disclaimer","href","ShareMenu","ShareMenu_styled_templateObject","ShareMenu_styled_templateObject2","SharerMenu","post","Share","HeadingWrapper","Heading_styled_templateObject","Heading_styled_templateObject2","Heading","H2","styled_templateObject3","styled_templateObject4","MenuHeading","title","i18n","to","Row","border","pavement","bgcolor","flex","Menu_styled_templateObject","Menu_styled_templateObject2","Menu_styled_templateObject3","Col","EverythingWrapper","BodyWrapper","menuOpen","Menu","Menu_styled_templateObject4","Main","section","grey","Nav","nav","Nav_styled_templateObject","Nav_styled_templateObject2","AboutWrapper","Nav_styled_templateObject3","HR","hr","Nav_styled_templateObject4","styled_templateObject5","AboutLinks","styled_templateObject6","_templateObject7","isSelected","InlineDivider","span","About","_templateObject8","ChapterWrapper","Chapters_styled_templateObject","ChapterNumber","Chapters_styled_templateObject2","Chapters_styled_templateObject3","ChapterName","Chapters_styled_templateObject4","Chapters_styled_templateObject5","Chapters_styled_templateObject6","name","location","pathname","indexOf","Chapters","chapters","index","chapterIsSelected","Navbar","Menu_Chapters","BulletsWrapper","Bullets","ul","Bullets_styled_templateObject","BulletWrapper","Bullet","silverChalice","AboutBullets","SquareBullet","ChapterBullets","styled_HR","Overlay","Sidebar","Desktop_styled_templateObject","SoundButtonWrapper","ShareLabel","label","ShareIcon","img","Label","LogoWrapper","Desktop_styled_templateObject2","DesktopMenu","iOS","handleSoundButtonClick","e","stopPropagation","checkios","windowGlobal","documentGlobal","navigator","userAgent","MSStream","isiOS","handleClick","_this$props$intl","formatMessage","hideSoundButton","Menu_LanguageMenu","Menu_ShareMenu","Menu_Heading","Menu_Nav","Logo","Menu_Footer","onMouseEnter","Icon","hidden","language","aria-label","interface_share","defaultMessage","shareIcon","Menu_Bullets","contextType","TopBar","shown","MobileMenu","scrollPosition","scrollTop","restoreScroll","handleScroll","pageYOffset","componentDidUpdate","prevProps","topBarOpen","components_Chapter","Header","Hamburger","colors","unselect","NavMenu","toggle","toggleTopBar","handleSwipe","_this$state","react_responsive_default","query","Swipeable_default","onSwipedUp","onSwipedDown","Mobile","Desktop","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","prop_types__WEBPACK_IMPORTED_MODULE_1__","prop_types__WEBPACK_IMPORTED_MODULE_1___default","react_modal__WEBPACK_IMPORTED_MODULE_2__","react_modal__WEBPACK_IMPORTED_MODULE_2___default","assets_images_modal_close_svg__WEBPACK_IMPORTED_MODULE_3__","assets_images_modal_close_svg__WEBPACK_IMPORTED_MODULE_3___default","styles_variables__WEBPACK_IMPORTED_MODULE_4__","_styled__WEBPACK_IMPORTED_MODULE_5__","overlayStyle","backgroundColor","zIndex","contentStyle","bottom","display","alignItems","justifyContent","closeIcon","isOpen","ariaHideApp","shouldCloseOnEsc","overlay","content","modalCloseIcon","react_responsive__WEBPACK_IMPORTED_MODULE_2__","react_responsive__WEBPACK_IMPORTED_MODULE_2___default","styles_breakpoints__WEBPACK_IMPORTED_MODULE_3__","Responsive","only","center","Ring","shade","Wrapper","Rings","Person","imageWidth","PersonPicture","QuoteWrapper","IconWrapper","Quote","serif","QuoteCaption","QuoteWithSound","visible","played","onVisible","isVisible","getIconPlayStatus","contextStatus","stateStatus","handleFinishedPlaying","handleOnPlaying","handleIconClick","imageID","soundID","quoteID","captionID","Soundbyte","playing","onFinishedPlaying","onPlaying","visibility_sensor_default","partialVisibility","delayedCall","resizeCheck","styled_Wrapper","Sound_Rings","ScrollWrapper","OuterWrapper","h3Mixin","paragraphMixin","_templateObject9","green","_templateObject10","yellow","_templateObject11","StepOuterWrapper","portrait","_templateObject12","landscape","_templateObject13","_templateObject14","grime","_templateObject15","InfoBoxHead","_templateObject16","InfoBoxContent","InfoBoxTitle","H3","_templateObject17","Line","alto","volume","getDerivedPlayStatus","fadeOut","setVolume","fadeout","setInterval","clearInterval","soundManager","setup","debugMode","_babel_runtime_helpers_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_1___default","react__WEBPACK_IMPORTED_MODULE_3___default","containers_Responsive__WEBPACK_IMPORTED_MODULE_6__","react_sound__WEBPACK_IMPORTED_MODULE_5___default","autoLoad","url","Sound","sounds","Button","button","Bars","Bar","SoundIcon","icon","Fig","figure","captionAlign","rest","_babel_runtime_helpers_objectWithoutPropertiesLoose__WEBPACK_IMPORTED_MODULE_0___default","components_Image__WEBPACK_IMPORTED_MODULE_7__","FigCaption","figcaption","captionMixin","queries","getContentBySubstring","substring","keys","filter","message","InnerWrapper","FigureWrapper","getMessages","getContent","styled_flexboxgrid_es","smOffset","mdOffset","lgOffset","SelectScrollBar","renderThumbVertical","renderTrackVertical","renderView","react_custom_scrollbars__WEBPACK_IMPORTED_MODULE_3__","universal","autoHeight","autoHide","autoHeightMax","thumbMinSize","renderTrackVerticalDefault","renderThumbVerticalDefault","renderViewDefault","module","exports","_Head__WEBPACK_IMPORTED_MODULE_2__","_Logo__WEBPACK_IMPORTED_MODULE_4__","_Image__WEBPACK_IMPORTED_MODULE_7__","_Menu__WEBPACK_IMPORTED_MODULE_8__","Control","down","up","transformControl","ControlBox"],"mappings":"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","file":"5-8799c0138668e51cb725.js","sourcesContent":["import styled from 'styled-components';\nimport media from 'styles/media';\nimport breakpoints from 'styles/breakpoints';\nimport { padding } from 'styles/variables';\n\nconst { lg } = breakpoints;\n\n// Outer padding from left edge of screen and to the edge of the right menu\nexport const Outer = styled.div`\n display: block;\n width: 100%;\n margin: 0;\n padding: 0 ${padding.right.lg}rem 0 ${padding.left.lg}rem;\n\n ${media.md`\n padding: 0 ${padding.right.md}rem 0 ${padding.left.md}rem;\n `}\n\n ${media.sm`\n padding: 0 ${padding.right.sm}rem 0 ${padding.left.sm}rem;\n `}\n\n ${media.xs`\n padding: 0 ${padding.right.xs}rem 0 ${padding.left.xs}rem;\n };\n `}\n`;\n\n// Max-width for content plus right padding from menu\nexport const Inner = styled.div`\n width: 100%;\n height: 100%;\n max-width: ${lg}em;\n margin: 0 auto;\n padding: 0;\n\n ${media.md`\n padding: 0 ${padding.left.md}rem 0 0;\n `};\n\n ${media.sm`\n padding: 0 ${padding.left.sm}rem 0 0;\n `};\n\n ${media.xs`\n padding: 0;\n `};\n`;\n","import { Inner, Outer } from './styled';\n\nexport { Inner, Outer };\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\n\nconst defaultContext = {\n chapter: 'tripartism',\n color: 'offblue'\n};\n\nexport const ThemeContext = React.createContext(defaultContext);\n\nclass Chapter extends PureComponent {\n render() {\n const { children, theme } = this.props;\n return (\n {children}\n );\n }\n}\n\nChapter.propTypes = {\n children: PropTypes.node.isRequired,\n theme: PropTypes.shape({}).isRequired\n};\n\n\nexport default Chapter;\n","/* eslint-disable no-nested-ternary */\n\nimport React, { Component, Fragment, createContext } from 'react';\nimport PropTypes from 'prop-types';\n\nexport const SoundContext = createContext({\n playStatus: '',\n actions: {\n togglePlayStatus: () => {}\n }\n});\n\nclass CloudinarySound extends Component {\n static getUrlfromId = id => {\n const cloudinaryname = process.env.GATSBY_CLOUDINARY_CLOUD_NAME;\n const cloudinaryFolder =\n process.env.GATSBY_CLOUDINARY_FOLDER === '/'\n ? 'ilo-staging'\n : process.env.GATSBY_CLOUDINARY_FOLDER;\n const getBaseUrl = () =>\n `https://res.cloudinary.com/${cloudinaryname}/video/upload`;\n\n return `${getBaseUrl()}/v1/${cloudinaryFolder}/${id}`;\n };\n\n static propTypes = {\n children: PropTypes.node.isRequired\n };\n\n state = {\n playStatus: 'STOPPED',\n actions: {\n // String: null, PLAYING, STOPPED, PAUSED\n togglePlayStatus: status => {\n const { playStatus } = this.state;\n if (!status) {\n return playStatus === 'PLAYING'\n ? this.setState({ playStatus: 'PAUSED' })\n : playStatus === 'PAUSED'\n ? this.setState({ playStatus: 'PLAYING' })\n : null;\n }\n return this.setState({\n playStatus: status\n });\n }\n }\n };\n\n activateSound = () => {\n this.state.actions.togglePlayStatus('PLAYING');\n window.removeEventListener('click', this.activateSound);\n window.removeEventListener('keydown', this.activateSound);\n };\n\n render() {\n const { children } = this.props;\n return (\n \n \n {children}\n \n \n );\n }\n}\n\nexport default CloudinarySound;\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedHTMLMessage } from 'react-intl';\nimport Controls, { Control, ControlBox } from 'components/Controls';\nimport arrow from 'assets/images/timeline/arrow-in-circle.svg';\nimport {\n StepOuterWrapper,\n InfoBoxHead,\n InfoBoxContent,\n Line,\n Icon\n} from './styled';\n\nexport default class StepBox extends Component {\n static propTypes = {\n messages: PropTypes.arrayOf(PropTypes.string),\n intl: PropTypes.shape({}).isRequired,\n size: PropTypes.shape({}).isRequired\n };\n\n static defaultProps = {\n messages: ['']\n };\n\n state = {\n currentMessage: 0\n };\n\n handleNextMessage = () => {\n const { currentMessage } = this.state;\n const { messages } = this.props;\n if (currentMessage + 1 < messages.length) {\n this.setState({\n currentMessage: this.state.currentMessage + 1\n });\n }\n };\n\n handlePreviousMessage = () => {\n const { currentMessage } = this.state;\n if (currentMessage > 0) {\n this.setState({\n currentMessage: this.state.currentMessage - 1\n });\n }\n };\n\n renderStepNumber = () =>\n `${this.state.currentMessage + 1}/${this.props.messages.length}`;\n\n render() {\n const {\n messages,\n intl: { locale },\n size\n } = this.props;\n const { currentMessage } = this.state;\n return (\n \n \n \n \n \n {this.renderStepNumber()}\n \n \n \n {currentMessage > 0 ? (\n \n \n \n ) : (\n \n )}\n \n \n {currentMessage + 1 < messages.length ? (\n \n \n \n ) : (\n \n )}\n \n \n \n \n );\n }\n}\n","/* eslint-disable react/no-array-index-key, react/no-did-update-set-state */\n\nimport React, { PureComponent } from 'react';\nimport withResponsive from 'containers/Responsive/withResponsive';\nimport { compose } from 'redux';\nimport { injectIntl } from 'react-intl';\nimport PropTypes from 'prop-types';\nimport ScrollBar from 'components/ScrollBar';\nimport StepBox from './StepBox';\nimport { OuterWrapper, ScrollWrapper } from './styled';\n\nclass Infobox extends PureComponent {\n static propTypes = {\n children: PropTypes.node,\n size: PropTypes.shape({}),\n scroll: PropTypes.bool,\n intl: PropTypes.shape({\n locale: PropTypes.string.isRequired\n }).isRequired,\n type: PropTypes.string,\n messages: PropTypes.arrayOf(PropTypes.string)\n };\n\n static defaultProps = {\n children: null,\n size: {\n lg: null,\n md: null,\n sm: null,\n xs: null\n },\n scroll: false,\n type: 'normal',\n messages: ['']\n };\n\n renderScrollBox = () => {\n const {\n size,\n className,\n infoBoxStyles,\n intl: { locale }\n } = this.props;\n return (\n \n \n \n \n {this.props.children}\n \n \n \n \n );\n };\n\n renderInfoBox = () => {\n const {\n isMobile,\n type,\n scroll,\n children,\n size,\n intl: { locale }\n } = this.props;\n if (!isMobile && (scroll || type === 'scroll')) {\n return this.renderScrollBox();\n }\n if (type === 'step') {\n return ;\n }\n return (\n \n {children}\n \n );\n };\n\n render() {\n return this.renderInfoBox();\n }\n}\n\nexport default compose(\n withResponsive,\n injectIntl\n)(Infobox);\n","import React, { Component, Fragment } from 'react';\nimport PropTypes from 'prop-types';\nimport InfoBox from 'components/InfoBox/InfoBox';\nimport Details from 'components/Details';\nimport Modal from 'components/Modal';\n\nexport default class Info extends Component {\n static propTypes = {\n detailMessages: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n detailFigure: PropTypes.shape({})\n };\n\n static defaultProps = {\n detailMessages: null,\n detailFigure: null\n };\n\n state = {\n showModal: false\n };\n\n componentDidMount() {\n if (this.props.detailMessages && this.props.id) {\n const { id } = this.props;\n this.linkedText = document.getElementById(id);\n if (this.linkedText) {\n this.linkedText.addEventListener('click', this.handleOpenModal);\n }\n }\n }\n\n componentWillUnmount() {\n if (this.props.detailMessages && this.linkedText) {\n this.linkedText.removeEventListener('click', this.handleOpenModal);\n }\n }\n\n handleOpenModal = () => {\n this.setState({\n showModal: true\n });\n };\n\n handleCloseModal = () => {\n this.setState({\n showModal: false\n });\n };\n\n renderModal = () => {\n const { showModal } = this.state;\n const { detailFigure, detailMessages } = this.props;\n return (\n \n \n \n );\n };\n\n render() {\n const { detailMessages } = this.props;\n const { showModal } = this.state;\n return (\n \n \n {showModal && detailMessages ? this.renderModal() : null}\n \n );\n }\n}\n","import React, { Component } from 'react';\nimport debounce from 'lodash.debounce';\nimport breakpoints from 'styles/breakpoints';\n\nconst withResponsive = WrappedComponent =>\n class extends Component {\n state = {\n isMobile: false,\n windowHeight: 0,\n windowWidth: 0\n };\n\n componentDidMount() {\n this.handleWindowSizeChange();\n window.addEventListener('resize', this.debounceHandleWindowSizeChange);\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.debounceHandleWindowSizeChange);\n }\n\n setWindowDimensions = () => {\n this.setState({\n windowHeight: window.innerHeight,\n windowWidth: window.innerWidth\n });\n };\n\n toggleMobile = () => {\n this.setState({ isMobile: !this.state.isMobile });\n };\n\n handleWindowSizeChange = () => {\n if (typeof window && window !== 'undefined') {\n const isMobile = window.innerWidth <= breakpoints.sm * 16;\n this.setWindowDimensions();\n if (isMobile && !this.state.isMobile) {\n return this.toggleMobile();\n }\n if (!isMobile && this.state.isMobile) {\n return this.toggleMobile();\n }\n }\n return null;\n };\n\n debounceHandleWindowSizeChange = debounce(this.handleWindowSizeChange, 500);\n\n render() {\n return ;\n }\n };\n\nexport default withResponsive;\n","import * as vars from 'styles/variables';\n\nconst matchColor = color => {\n if (!vars[color]) {\n return color;\n }\n if (!/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(vars[color])) {\n return 'pink';\n }\n return vars[color];\n};\n\nexport default matchColor;\n","/* eslint-disable no-return-assign */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Image from 'components/Image';\n\nclass ImageLoader extends React.Component {\n state = {\n loaded: false\n };\n\n componentDidMount() {\n if (this.image && this.image.complete) {\n this.handleImageLoaded();\n }\n }\n\n handleImageLoaded = () => {\n const { delay, onLoadCallback } = this.props;\n window.setTimeout(() => {\n if (!this.state.loaded) {\n this.setState({ loaded: true });\n onLoadCallback();\n }\n }, delay);\n };\n\n render() {\n const {\n src,\n alt,\n Component,\n delay,\n onLoadCallback,\n ...restProps\n } = this.props;\n\n if (!src) {\n return (\n (this.image = el)}\n style={this.state.loaded ? { opacity: 1 } : { opacity: 0 }}\n onLoad={this.handleImageLoaded}\n key={src}\n alt={alt}\n {...restProps}\n />\n );\n }\n\n return (\n (this.image = el)}\n onLoad={this.handleImageLoaded}\n src={src}\n key={src}\n alt={alt}\n {...restProps}\n />\n );\n }\n}\n\nImageLoader.propTypes = {\n delay: PropTypes.number,\n src: PropTypes.string,\n alt: PropTypes.string,\n Component: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n onLoadCallback: PropTypes.func\n};\n\nImageLoader.defaultProps = {\n delay: 0,\n alt: 'image',\n src: '',\n Component: Image,\n onLoadCallback: () => {}\n};\n\nexport default ImageLoader;\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport ImageLoader from 'components/Image/Loader';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport { Fig, FigImage, FigCaption } from './styled';\n\nclass Figure extends PureComponent {\n static propTypes = {\n image: PropTypes.string.isRequired,\n caption: PropTypes.string.isRequired,\n width: PropTypes.string,\n intl: PropTypes.shape({\n locale: PropTypes.string.isRequired\n }).isRequired,\n captionColor: PropTypes.string,\n captionPadding: PropTypes.shape({}),\n onLoad: PropTypes.func\n };\n\n static contextTypes = {\n parallaxController: PropTypes.object\n };\n\n static defaultProps = {\n width: '100%',\n captionColor: 'grime',\n captionPadding: {\n lg: '0',\n md: '0',\n sm: '0',\n xs: '0'\n },\n onLoad: () => {}\n };\n\n state = {\n loaded: false\n };\n\n handleLoad = () => {\n this.setState(\n {\n loaded: true\n },\n () => {\n if (this.context.parallaxController) {\n this.context.parallaxController.update();\n }\n this.props.onLoad();\n }\n );\n };\n\n render() {\n const {\n image,\n caption,\n width,\n captionColor,\n intl: { locale }\n } = this.props;\n const { loaded } = this.state;\n\n const captionPadding = Object.assign(\n {},\n Figure.defaultProps.captionPadding,\n this.props.captionPadding\n );\n\n return (\n \n \n {loaded ? (\n \n \n \n ) : null}\n \n );\n }\n}\n\nexport default injectIntl(Figure);\n","/* eslint-disable react/prefer-stateless-function */\n\nimport React, { Component } from 'react';\nimport { SoundContext } from 'components/Sound/index';\n\nconst withSound = WrappedComponent =>\n class extends Component {\n render() {\n return (\n \n {value => }\n \n );\n }\n };\n\nexport default withSound;\n","import { padding } from 'styles/variables';\n\nexport const row = {\n small: {\n lg: 2.75,\n md: 2.75,\n sm: 2.75,\n xs: 2.75\n },\n medium: {\n lg: 6,\n md: 5.5,\n sm: 5.5,\n xs: 10\n },\n inter: {\n lg: 5,\n md: 5,\n sm: 5,\n xs: 4\n },\n large: {\n lg: 30,\n md: 28,\n sm: 28,\n xs: 28\n }\n};\n\nexport const margin = {\n right: {\n lg: 4.6,\n md: 3.2,\n sm: 1\n },\n inner: {\n lg: 1,\n md: 1,\n sm: 2\n },\n left: {\n lg: 2,\n md: 2,\n sm: 1\n }\n};\n\nexport const topBarHeight = padding.top.xs;\n\nexport const navWidth = {\n lg: {\n width: '34.625rem'\n },\n md: {\n width: '29.0625rem'\n }\n};\n\nexport const navMaxHeight = 40;\n\nexport const animation = {\n slow: 500,\n medium: 250,\n fast: 150\n};\n","import { keyframes, css } from 'styled-components';\nimport media from 'styles/media';\nimport { animation } from './variables';\n\nexport const appear = keyframes`\n from { opacity: 0; }\n to { opacity: 1; }\n`;\n\nexport const slideIn = keyframes`\n from { transform: translateX(100%); }\n to { transform: translateX(0); }\n`;\n\nexport const appearAndSlideIn = keyframes`\n from { opacity: 0; transform: scale(0.9);}\n to { opacity: 1; transform: scale(1);}\n`;\n\nexport const fadeIn = css`\n opacity: 0;\n animation: ${props =>\n props.open ? css`${appear} ease ${animation.slow}ms` : 'none'};\n animation-fill-mode: forwards;\n animation-delay: ${animation.medium}ms;\n\n ${media.xs`\n animation: none;\n opacity: 1;\n `};\n`;\n","import styled from 'styled-components';\nimport media from 'styles/media';\nimport { sans, black, white } from 'styles/variables';\nimport arrow from 'assets/images/arrow.png';\nimport { margin, animation } from '../variables';\nimport { fadeIn } from '../effects';\n\nexport const LanguageMenu = styled.menu`\n flex: 1 0 auto;\n display: flex;\n position: relative;\n flex-flow: row wrap;\n justify-content: flex-start;\n align-items: center;\n align-content: space-evenly;\n margin: 0;\n width: 100%;\n height: inherit;\n padding: 0 ${margin.right.md * 2}rem 0 0;\n list-style: none;\n\n ${fadeIn};\n\n ${media.md`\n padding: 0 ${margin.right.md}rem 0 0;\n `};\n\n ${media.xs`\n opacity: 1;\n flex: 1 1 auto;\n justify-content: flex-end;\n background-color: ${black};\n padding: 0 ${margin.right.sm}rem 0 0;\n `};\n`;\n\nexport const Option = styled.li`\n font-family: ${sans};\n font-size: 0.75rem;\n font-weight: ${props => (props.selected ? 500 : 400)};\n opacity: ${props => (props.selected ? 1 : 0.5)};\n text-transform: uppercase;\n flex: 0 33%;\n text-align: center;\n cursor: pointer;\n transition: opacity ${animation.medium}ms ease;\n\n &:hover {\n opacity: 1;\n }\n`;\n\nexport const SelectorWrapper = styled.div`\n position: relative;\n width: 6.2rem;\n text-align: right;\n &:after {\n position: absolute;\n top: 25%;\n right: 0;\n content: '';\n background-image: url(${arrow});\n background-repeat: no-repeat;\n display: inline-block;\n width: 17px;\n height: 10px;\n pointer-events: none;\n }\n`;\n\nexport const Select = styled.select`\n -webkit-appearance: none;\n -moz-appearance: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n -webkit-tap-highlight-color: transparent;\n outline: none !important;\n background: 0 0;\n border: none;\n border-radius: 0;\n color: ${white};\n cursor: pointer;\n display: inline-block;\n font-family: ${sans};\n font-size: 1rem;\n font-weight: 600;\n text-transform: uppercase;\n margin: 0;\n overflow: visible;\n position: relative;\n text-align-last: right;\n width: 100%;\n right: 1.5rem;\n\n option {\n -webkit-appearance: none;\n font-family: ${sans};\n font-size: 1rem;\n padding: 0;\n margin: 0;\n text-transform: capitalize;\n }\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Language from '../../Language';\nimport { LanguageMenu, Option, Select, SelectorWrapper } from './styled';\n\nconst LanguagesMenu = ({ mobile, open }) => (\n \n \n mobile ? (\n \n setLanguage(event.target.value)}\n >\n {languages.map(lang => (\n \n {lang.text.toUpperCase()}\n \n ))}\n \n \n ) : (\n languages.map(lang => (\n setLanguage(lang.value)}\n >\n {lang.text}\n \n ))\n )\n }\n />\n \n);\n\nconst { bool } = PropTypes;\n\nLanguagesMenu.propTypes = {\n mobile: bool,\n open: bool\n};\n\nLanguagesMenu.defaultProps = {\n mobile: false,\n open: false\n};\n\nexport default LanguagesMenu;\n","import styled from 'styled-components';\nimport media from 'styles/media';\nimport { peat, black, sans, white } from 'styles/variables';\nimport { P } from 'styles/typography';\nimport { margin } from '../variables';\n\nexport const Footer = styled.footer`\n display: flex;\n flex-flow: row nowrap;\n justify-content: ${props =>\n props.locale === 'ar' ? 'flex-end' : 'flex-start'};\n align-items: center;\n border: none;\n background-color: ${black};\n padding: ${props =>\n props.locale === 'ar'\n ? `0 ${margin.right.lg * 2}rem 0 0`\n : `0 0 0 ${margin.left.lg + margin.inner.lg}rem`};\n flex: 1 0 auto;\n\n p {\n margin: 0;\n }\n\n a {\n display: inline-block;\n }\n\n & > a p {\n &:after {\n content: '|';\n margin: 0 3px;\n }\n }\n\n & a:last-child p {\n &:after {\n content: '';\n }\n }\n\n ${media.md`\n padding: ${props =>\n props.locale === 'ar'\n ? `0 ${margin.right.lg + margin.inner.lg}rem 0 0`\n : `0 0 0 ${margin.left.md + margin.inner.md}rem`};};\n `};\n\n ${media.xs`\n justify-content: flex-end;\n background-color: ${peat};\n height: 5rem;\n flex: 1 0 2.5rem;\n padding: 0 ${margin.right.sm}rem 0 0;\n `};\n`;\n\nexport const FooterItem = styled(P)`\n font-family: ${sans};\n color: ${white};\n font-size: 0.7rem;\n text-decoration: none;\n\n ${media.md`\n font-size: 0.7rem;\n `}\n\n ${media.sm`\n font-size: 0.7rem;\n `}\n\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport { Footer, FooterItem } from './styled';\n\nconst MenuFooter = ({ intl: { locale } }) => {\n const copyright = `https://www.ilo.org/global/copyright/lang--${locale}/index.htm`;\n const disclaimer = `https://www.ilo.org/global/disclaimer/lang--${locale}/index.htm`;\n return (\n \n );\n};\n\nconst { shape, string } = PropTypes;\nMenuFooter.propTypes = {\n intl: shape({\n locale: string.isRequired\n }).isRequired\n};\n\nexport default injectIntl(MenuFooter);\n","import styled from 'styled-components';\nimport { black } from 'styles/variables';\nimport media from 'styles/media';\nimport { margin } from '../variables';\nimport { fadeIn } from '../effects';\n\nexport const ShareMenu = styled.menu`\n display: flex;\n flex-flow: row;\n justify-content: center;\n align-items: center;\n flex: 1 0 auto;\n margin: 0;\n padding: ${props =>\n props.locale === 'ar'\n ? `0 ${margin.right.lg * 2}rem 0 ${margin.left.lg +\n margin.inner.lg +\n 11}rem`\n : `0 ${margin.right.lg * 4.3}rem 0 ${margin.left.lg +\n margin.inner.lg +\n 0.5}rem`};\n\n ${fadeIn};\n\n ${media.md`\n padding: ${props =>\n props.locale === 'ar'\n ? `0 ${margin.right.md * 2}rem 0 ${margin.left.md * 6}rem`\n : `0 ${margin.right.md * 5}rem 0 ${margin.left.md +\n margin.inner.md}rem`};\n `};\n\n ${media.xs`\n opacity: 1;\n align-items: center;\n background-color: ${black};\n padding: 0 0 0 ${margin.left.sm}rem;\n `};\n`;\n\nexport default ShareMenu;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Share from 'components/Share';\nimport { ShareMenu } from './styled';\n\nconst SharerMenu = ({ color, size, open, locale, post }) => (\n \n \n \n);\n\nconst { string, bool } = PropTypes;\nSharerMenu.propTypes = {\n color: string,\n size: string,\n open: bool,\n locale: string,\n post: string\n};\n\nSharerMenu.defaultProps = {\n color: 'black',\n size: 'small',\n open: false,\n locale: 'en',\n post: 'intro_post'\n};\n\nexport default SharerMenu;\n","import styled from 'styled-components';\nimport media from 'styles/media';\nimport { H2 } from 'styles/typography';\nimport { margin } from '../variables';\nimport { fadeIn } from '../effects';\n\nexport const HeadingWrapper = styled.div`\n display: flex;\n flex-flow: row nowrap;\n direction: ${props => (props.locale === 'ar' ? 'rtl' : 'ltr')};\n justify-content: flex-start;\n align-items: center;\n flex: 1 0 auto;\n padding: ${props =>\n props.locale === 'ar'\n ? `0 ${margin.right.lg * 2}rem 0 ${margin.left.lg}rem`\n : `0 ${margin.right.lg}rem 0 ${margin.left.lg}rem`};\n\n ${fadeIn};\n\n ${media.md`\n padding: ${props =>\n props.locale === 'ar'\n ? `0 ${margin.right.md * 2}rem 0 ${margin.left.md}rem`\n : `0 ${margin.right.md} 0 ${margin.left.md}`};\n `};\n\n ${media.xs`\n animation: none;\n opacity: 1;\n padding: ${props =>\n props.locale === 'ar'\n ? `0 ${margin.right.sm + margin.inner.sm}rem 0 ${margin.left.sm}rem`\n : `0 ${margin.right.sm}rem 0 ${margin.left.sm +\n margin.inner.sm +\n 0.5}rem`}};\n `};\n`;\n\nexport const Heading = styled(H2)`\n font-weight: 400;\n font-size: 2.18rem;\n line-height: 2.25rem;\n margin: 0;\n\n ${media.md`\n font-size: 1.7rem;\n `} ${media.xs`\n font-size: 2.5rem;\n line-height: 2.8rem;\n `};\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedHTMLMessage } from 'react-intl';\nimport { Link } from 'i18n';\nimport { HeadingWrapper, Heading } from './styled';\n\nconst MenuHeading = ({ open, title, locale }) => (\n \n \n \n \n \n \n \n);\n\nMenuHeading.propTypes = {\n open: PropTypes.bool,\n title: PropTypes.string,\n locale: PropTypes.string\n};\n\nMenuHeading.defaultProps = {\n open: false,\n title: 'title',\n locale: 'en'\n};\n\nexport default MenuHeading;\n","import styled from 'styled-components';\nimport media from 'styles/media';\nimport { pavement, grey } from 'styles/variables';\n\nimport { navWidth, topBarHeight, animation } from './variables';\n\nexport const Row = styled.div`\n display: flex;\n flex-flow: ${props => (props.row ? 'row' : 'column')};\n border-bottom: ${props => (props.border ? `1px solid ${pavement}` : null)};\n position: relative;\n width: 100%;\n background-color: ${props => (props.bgcolor ? props.bgcolor : 'none')};\n overflow: hidden;\n flex: ${props =>\n props.flex ? `1 1 ${props.size.lg}rem` : `0 1 ${props.size.lg}rem`};\n\n ${media.md`\n flex: ${props =>\n props.flex ? `1 1 ${props.size.md}rem` : `0 1 ${props.size.md}rem`};\n `};\n\n ${media.sm`\n flex: ${props =>\n props.flex ? `1 1 ${props.size.sm}rem` : `0 1 ${props.size.sm}rem`};\n `};\n\n ${media.xs`\n flex: ${props => (props.flex ? `1 1 auto` : `0 1 ${props.size.xs}rem`)};\n `};\n`;\n\nexport const Col = styled.div`\n display: inline-flex;\n flex-flow: column;\n flex: 0 1 ${props => (!props.size ? 'auto' : props.size)};\n`;\n\nexport const EverythingWrapper = styled.div`\n height: 100%;\n width: 100%;\n position: relative;\n display: block;\n`;\n\nexport const BodyWrapper = styled.div`\n width: ${props => (props.menuOpen ? '100vw' : '100%')};\n height: ${props => (props.menuOpen ? '70rem' : 'auto')};\n overflow: ${props => (props.menuOpen ? 'hidden' : 'visible')};\n display: ${props => (props.menuOpen ? 'none' : 'block')};\n`;\n\nexport const Menu = styled.menu`\n display: flex;\n flex-direction: row;\n position: fixed;\n top: 0;\n right: 0;\n z-index: 50;\n min-height: 600px;\n height: 100vh;\n margin: 0;\n padding: 0;\n pointer-events: none;\n\n ${media.xs`\n display: flex;\n position: absolute;\n flex-flow: column;\n justify-content: space-between;\n width: 100%;\n height: 100vh;\n min-height: initial;\n `};\n`;\n\nexport const Main = styled.section`\n position: relative;\n display: flex;\n flex-flow: column;\n justify-content: flex-start;\n flex: 1 0 auto;\n background-color: ${grey};\n width: ${navWidth.lg.width};\n min-height: inherit;\n height: inherit;\n top: 0;\n transform: ${props => (props.open ? 'translate(0)' : 'translate(100%)')};\n transition: transform ${animation.slow}ms ease,\n visibility ${animation.medium}ms ease, opacity ${animation.medium}ms ease;\n pointer-events: auto;\n\n ${media.md`\n width: ${navWidth.md.width};\n `};\n\n ${media.xs`\n position: absolute;\n width: 100%;\n min-height: ${props => (props.open ? '68rem' : 'initial')};\n min-width: initial;\n max-width: initial;\n right: 0;\n transform: none;\n height: ${props => (props.open ? 'auto' : 0)};\n padding: ${topBarHeight}rem 0 0;\n opacity: ${props => (props.open ? 1 : 0)};\n visibility: ${props => (props.open ? 'visible' : 'hidden')};\n `};\n`;\n","/* eslint-disable no-nested-ternary */\n\nimport styled from 'styled-components';\nimport media from 'styles/media';\nimport { black, sans, white } from 'styles/variables';\nimport { P } from 'styles/typography';\nimport { margin, animation, navMaxHeight } from '../variables';\nimport { fadeIn } from '../effects';\n\nexport const Nav = styled.nav`\n display: flex;\n flex: 1 1 auto;\n flex-flow: column;\n justify-content: flex-start;\n padding: 0 ${margin.right.lg}rem 0 ${margin.left.lg + margin.inner.lg}rem;\n direction: ${props => (props.locale === 'ar' ? 'rtl' : 'ltr')};\n max-height: ${navMaxHeight}rem;\n\n ${fadeIn};\n\n ${media.md`\n padding: 0 ${margin.right.md}rem 0 ${margin.left.md + margin.inner.md}rem;\n `};\n\n ${media.xs`\n max-height: initial;\n animation: none;\n opacity: 1;\n justify-content: space-between;\n padding: 0 ${margin.right.sm}rem 0 ${margin.left.sm}rem;\n flex: 1 1 auto;\n `};\n`;\n\nexport const AboutWrapper = styled.div`\n display: flex;\n flex-flow: column;\n justify-content: flex-start;\n flex: 1 1 auto;\n\n &:before,\n &:after {\n content: '';\n display: block;\n }\n\n ${media.md`\n flex: 1 1 auto;\n `};\n`;\n\nexport const HR = styled.hr`\n border: none;\n border-top: 1px solid ${white};\n margin: 0.625rem ${margin.right.lg}rem 0 0;\n\n ${media.md`\n margin: 0.625rem ${margin.right.md}rem 0 0;\n `};\n\n ${media.xs`\n margin: 0 ${margin.right.sm + margin.inner.sm}rem 0 ${margin.inner.sm +\n 0.8}rem;\n `};\n`;\n\nexport const AboutLinks = styled.div`\n margin: ${props =>\n props.locale === 'ar' ? `0 ${margin.right.lg}rem 0 0` : 0};\n\n ${media.md`\n margin: ${props =>\n props.locale === 'ar' ? `0 ${margin.right.md}rem 0 0` : 0};\n `};\n\n ${media.xs`\n margin: 0;\n &:before {\n font-size: 0.866rem;\n content: '${props => (props.isSelected ? '\\\\25A0' : '\\\\25A2')}';\n margin: ${props =>\n props.locale === 'ar'\n ? `0 0 0 ${margin.inner.sm}rem`\n : `0 ${margin.inner.sm}rem 0 0`} ;\n }\n `};\n`;\n\nexport const InlineDivider = styled.span`\n display: inline-block;\n margin: 0;\n padding: 0;\n color: ${black};\n opacity: 0.5;\n`;\n\nexport const About = styled(P)`\n display: inline-block;\n font-family: ${sans};\n opacity: 0.5;\n color: ${props => (props.color === 'white' ? white : black)};\n font-size: 0.866rem;\n line-height: 0.9375rem;\n text-decoration: none;\n padding: 0;\n margin: 1rem 0 0;\n transition: opacity ${animation.medium}ms ease;\n\n &:hover {\n opacity: 1;\n }\n\n ${media.xs`\n font-size: 0.8rem;\n margin: 1.5rem 0 0;\n `};\n`;\n","import styled from 'styled-components';\nimport media from 'styles/media';\nimport { P } from 'styles/typography';\nimport { margin, animation } from '../variables';\n\nexport const ChapterWrapper = styled.div`\n display: flex;\n flex-flow: row;\n justify-content: flex-start;\n direction: inherit;\n align-items: center;\n flex: 1 1 auto;\n\n ${media.xs`\n margin: 0;\n flex-flow: row;\n align-items: flex-start;\n\n &:before {\n font-size: 1.5rem;\n content: '${props => (props.isSelected ? '●' : '○')}';\n margin: ${props =>\n props.locale === 'ar'\n ? `0 0 0 ${margin.inner.sm}rem`\n : `0 ${margin.inner.sm}rem 0 0`};\n }\n `};\n`;\n\nexport const ChapterNumber = styled(P)`\n text-transform: capitalize;\n font-weight: inherit;\n font-size: inherit;\n transition: inherit;\n white-space: nowrap;\n\n ${media.md`\n margin: 0 1rem 0 0;\n `};\n\n ${media.xs`\n margin: 0;\n `};\n`;\n\nexport const ChapterName = styled(P)`\n margin: 0;\n font-weight: inherit;\n font-size: inherit;\n transition: inherit;\n white-space: nowrap;\n`;\n\nexport const Chapter = styled.div`\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n justify-content: flex-start;\n direction: inherit;\n margin: ${props =>\n props.locale === 'ar' ? `0 ${margin.right.md * 1.5}rem 0 0` : 0};\n font-size: 0.9375rem;\n font-weight: ${props => (props.isSelected ? 500 : 400)};\n opacity: ${props => (props.isSelected ? 1 : 0.5)};\n transition: opacity ${animation.medium}ms ease;\n\n &:hover {\n opacity: 1;\n }\n\n ${ChapterName} {\n margin: ${props => (props.locale === 'ar' ? '0 2rem 0 0' : 0)};\n ${media.xs`\n margin: 0;\n `};\n }\n\n ${ChapterNumber} {\n margin: ${props => (props.locale === 'ar' ? 0 : '0 2rem 0 0')};\n }\n\n ${media.md`\n margin: ${props =>\n props.locale === 'ar' ? `0 ${margin.right.md}rem 0 0` : 0};\n `};\n\n ${media.xs`\n flex-flow: column;\n font-size: 1.1rem;\n line-height: 1.6rem;\n animation: none;\n margin: 0;\n `};\n`;\n","export const isSelected = name => {\n if (typeof window !== 'undefined' && window) {\n return window.location.pathname.indexOf(name) > 0;\n }\n return false;\n};\n\nexport default isSelected;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport { Link } from 'i18n';\nimport { chapters } from 'config/chapters.json';\nimport { Chapter, ChapterNumber, ChapterName, ChapterWrapper } from './styled';\nimport { isSelected } from '../utils';\n\nconst Chapters = ({ locale }) =>\n chapters.map((chapter, index) => {\n const chapterIsSelected = isSelected(chapter.name);\n return (\n \n \n \n \n {' '}\n \n \n \n \n \n \n \n );\n });\n\nChapters.propTypes = {\n locale: PropTypes.string\n};\n\nChapters.defaultProps = {\n locale: 'en'\n};\n\nexport default Chapters;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport { Link } from 'i18n';\nimport { Row } from '../styled';\nimport {\n Nav,\n AboutWrapper,\n AboutLinks,\n About,\n InlineDivider,\n HR\n} from './styled';\nimport Chapters from '../Chapters';\nimport { row } from '../variables';\n\nconst Navbar = ({ open, locale }) => (\n \n \n \n \n \n \n \n \n \n \n {' '}\n | {' '}\n \n \n \n \n \n \n \n \n \n);\n\nconst { bool, string } = PropTypes;\nNavbar.propTypes = {\n open: bool,\n locale: string\n};\n\nNavbar.defaultProps = {\n open: false,\n locale: 'en'\n};\n\nexport default Navbar;\n","import styled from 'styled-components';\nimport { silverChalice, black } from 'styles/variables';\nimport media from 'styles/media';\nimport { navMaxHeight } from '../variables';\n\nexport const BulletsWrapper = styled.div`\n display: flex;\n flex: 1 1 auto;\n flex-flow: column;\n justify-content: flex-start;\n max-height: ${navMaxHeight}rem;\n`;\n\nexport const Bullets = styled.ul`\n display: flex;\n flex-flow: column;\n justify-content: flex-start;\n padding: 0;\n margin: 0;\n list-style: none;\n flex: 1 1 auto;\n font-size: 1rem;\n\n ${media.sm`\n pointer-events: none;\n `}\n`;\n\nexport const BulletWrapper = styled.li`\n font-size: 1rem;\n display: flex;\n flex-flow: column;\n justify-content: center;\n align-items: center;\n flex: 1 1 auto;\n`;\n\nexport const Bullet = styled.div`\n &:before {\n color: ${props => (props.isSelected ? black : silverChalice)};\n content: '${props => (props.isSelected ? '\\\\25CF' : '\\\\25CB')}';\n }\n`;\n\nexport const AboutBullets = styled(Bullets)`\n display: flex;\n flex-flow: column;\n justify-content: flex-start;\n align-items: center;\n flex: 1 1 auto;\n padding: 0;\n margin: 1px 0 0 0;\n\n &:before,\n &:after {\n content: '';\n }\n`;\n\nexport const HR = styled.hr`\n border: none;\n border-top: 1px solid white;\n margin: 0.625rem 0 0 0;\n`;\n\nexport const SquareBullet = styled.li`\n font-size: 0.866rem;\n padding: 0;\n margin: 1rem 0 0;\n line-height: 0.9375rem;\n &:before {\n display: block;\n color: ${props => (props.isSelected ? black : silverChalice)};\n content: '${props => (props.isSelected ? '\\\\25A0' : '\\\\25A2')}';\n }\n`;\n","import React from 'react';\nimport { chapters } from 'config/chapters.json';\nimport { Link } from 'i18n';\nimport { Row } from '../styled';\nimport {\n BulletsWrapper,\n Bullets,\n BulletWrapper,\n Bullet,\n AboutBullets,\n SquareBullet,\n HR\n} from './styled';\nimport { isSelected } from '../utils';\nimport { row } from '../variables';\n\nconst ChapterBullets = () => (\n \n \n {chapters.map(chapter => (\n \n \n \n \n \n ))}\n \n \n \n \n \n \n \n \n \n \n);\n\nexport default ChapterBullets;\n","/* eslint-disable no-nested-ternary */\n\nimport styled from 'styled-components';\nimport { white, black, sans } from 'styles/variables';\nimport media from 'styles/media';\nimport { animation, margin } from '../variables';\nimport { slideIn, fadeIn } from '../effects';\n\nexport const Overlay = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n background-color: ${black};\n opacity: ${props => (props.open ? 0.6 : 0)};\n min-height: 100vh;\n height: 100%;\n width: 100vw;\n z-index: 40;\n transition: opacity ${animation.slow}ms ease;\n cursor: ${props => (props.open ? 'pointer' : 'unset')};\n pointer-events: ${props => (props.open ? 'auto' : 'none')};\n backspace-visibility: hidden;\n`;\n\nexport const Sidebar = styled.div`\n display: flex;\n flex-flow: column;\n justify-content: flex-start;\n align-items: center;\n font-family: ${sans};\n font-size: 0.75rem;\n font-weight: 500;\n text-transform: uppercase;\n width: ${margin.right.lg}rem;\n background-color: ${white};\n min-height: inherit;\n height: inherit;\n position: absolute;\n top: 0;\n right: 0;\n cursor: pointer;\n pointer-events: auto;\n animation: ${slideIn} ease ${animation.slow}ms;\n animation-fill-mode: forwards;\n animation-delay: 800ms;\n transform: translateX(100%);\n\n ${media.md`\n width: ${margin.right.md}rem;\n `};\n`;\n\nexport const SoundButtonWrapper = styled.div`\n flex: 1 1 auto;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: inherit;\n height: inherit;\n`;\n\nexport const ShareLabel = styled.label`\n flex: 1 0 auto;\n display: flex;\n flex-flow: column;\n background-color: none;\n justify-content: center;\n align-items: center;\n`;\n\nexport const ShareIcon = styled.img`\n width: 24px;\n height: 22px;\n`;\n\nexport const Label = styled.label`\n padding: 0;\n position: relative;\n top: ${props =>\n props.locale === 'zh' || props.locale === 'ar' ? '0' : '50%'};\n left: ${props =>\n props.locale === 'zh' || props.locale === 'ar' ? '0' : '50%'};\n display: flex;\n flex: 1 0 auto;\n flex-flow: column;\n align-items: center;\n justify-content: center;\n letter-spacing: ${props => (props.locale === 'zh' ? '0.1rem' : 'initial')};\n transform: ${props =>\n props.locale === 'zh' || props.locale === 'ar'\n ? 'initial'\n : 'translateX(-50%) translateY(-50%) rotate(-90deg)'};\n writing-mode: ${props =>\n props.locale === 'zh'\n ? 'vertical-lr'\n : props.locale === 'ar'\n ? 'vertical-rl'\n : 'initial'};\n`;\n\nexport const LogoWrapper = styled.div`\n flex: 1 0 auto;\n display: flex;\n flex-flow: row nowrap;\n justify-content: ${props =>\n props.locale === 'ar' ? 'flex-end' : 'flex-start'};\n align-items: flex-end;\n padding: ${props =>\n props.locale === 'ar'\n ? `0 ${margin.right.lg * 2}rem 2rem`\n : `0 0 2rem ${margin.left.lg + margin.inner.lg}rem`};\n ${fadeIn};\n\n ${media.md`\n padding: ${props =>\n props.locale === 'ar'\n ? `0 ${margin.right.lg + margin.inner.lg}rem 2rem`\n : `0 0 2rem ${margin.left.lg + margin.inner.lg}rem`};\n `};\n`;\n","/* eslint-disable react/no-did-mount-set-state */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport SoundButton from 'components/Sound/Icon';\nimport shareIcon from 'assets/images/icon_share_black.svg';\nimport isiOS from 'utils/isiOS';\nimport { SoundContext } from 'components/Sound';\nimport Logo from '../../Logo';\nimport LanguageMenu from '../LanguageMenu';\nimport Footer from '../Footer';\nimport Language from '../../Language';\nimport ShareMenu from '../ShareMenu';\nimport Heading from '../Heading';\nimport Nav from '../Nav';\nimport Bullets from '../Bullets';\nimport {\n Sidebar,\n SoundButtonWrapper,\n Label,\n LogoWrapper,\n ShareLabel,\n ShareIcon\n} from './styled';\nimport { Menu, Main, Row } from '../styled';\nimport { row } from '../variables';\n\nclass DesktopMenu extends Component {\n static contextType = SoundContext;\n\n state = {\n iOS: false\n };\n\n componentDidMount() {\n const checkios = isiOS();\n this.setState({\n iOS: checkios\n });\n }\n\n handleSoundButtonClick = e => {\n e.stopPropagation();\n this.context.actions.togglePlayStatus();\n };\n\n render() {\n const { playStatus } = this.context;\n const { iOS } = this.state;\n const {\n open,\n handleClick,\n locale,\n intl: { formatMessage, messages },\n hideSoundButton\n } = this.props;\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n language} />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nconst { bool, func, string, shape } = PropTypes;\nDesktopMenu.propTypes = {\n open: bool.isRequired,\n handleClick: func.isRequired,\n locale: string,\n intl: shape({\n formatMessage: func.isRequired,\n messages: shape({}).isRequired\n }).isRequired,\n hideSoundButton: bool\n};\n\nDesktopMenu.defaultProps = {\n locale: 'en',\n hideSoundButton: false\n};\n\nexport default DesktopMenu;\n","/* eslint-disable consistent-return */\n\nexport default function isiOS() {\n const windowGlobal = typeof window !== 'undefined' && window;\n const documentGlobal = typeof document !== 'undefined' && document;\n if (!windowGlobal || !documentGlobal) return;\n\n return (\n /iPad|iPhone|iPod|iPad Simulator|iPhone Simulator/.test(\n navigator.userAgent\n ) && !window.MSStream\n );\n}\n","import styled from 'styled-components';\nimport { padding, black } from 'styles/variables';\nimport matchColor from 'utils/matchColor';\nimport { topBarHeight, animation } from '../variables';\n\n/* -- Mobile -- */\nexport const TopBar = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n background-color: ${props => (props.open ? black : matchColor(props.color))};\n right: 0;\n width: 100vw;\n height: ${topBarHeight}rem;\n top: ${props => (props.shown ? 0 : `-${topBarHeight}rem`)};\n transition: top ease ${animation.medium}ms;\n padding: 1rem ${padding.right.xs}rem 1rem ${padding.left.xs}rem;\n animation: none;\n backface-visibility: hidden;\n -webkit-backface-visibility: hidden;\n`;\n\nexport default TopBar;\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { black } from 'styles/variables';\nimport { ThemeContext } from 'components/Chapter';\nimport Header from '../../Header';\nimport Heading from '../Heading';\nimport Hamburger from '../../Hamburger';\nimport Nav from '../Nav';\nimport ShareMenu from '../ShareMenu';\nimport LanguageMenu from '../LanguageMenu';\nimport Footer from '../Footer';\nimport { TopBar } from './styled';\nimport { Menu, Main, Row, Col } from '../styled';\nimport { row } from '../variables';\n\nclass MobileMenu extends PureComponent {\n static propTypes = {\n topBarOpen: PropTypes.bool.isRequired,\n open: PropTypes.bool.isRequired,\n handleClick: PropTypes.func,\n locale: PropTypes.string\n };\n\n static defaultProps = {\n handleClick: () => {},\n locale: 'en'\n };\n\n state = {\n scrollPosition: 0\n };\n\n componentDidMount() {\n window.addEventListener('scroll', this.handleScroll);\n }\n\n componentDidUpdate(prevProps) {\n const { open } = this.props;\n if (!prevProps.open && open) {\n this.scrollTop();\n }\n if (prevProps.open && !open) {\n this.restoreScroll();\n }\n }\n\n componentWillUnmount() {\n window.removeEventListener('scroll', this.handleScroll);\n }\n\n scrollTop = () => {\n window.scroll(0, 0);\n };\n\n restoreScroll = () => {\n const { scrollPosition } = this.state;\n window.scroll(0, scrollPosition);\n };\n\n handleScroll = () => {\n const { open } = this.props;\n if (!open) {\n this.setState({\n scrollPosition: window.pageYOffset\n });\n }\n };\n\n render() {\n const { topBarOpen, open, handleClick, locale } = this.props;\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {({ color }) => (\n \n \n \n \n \n )}\n \n \n );\n }\n}\n\nexport default MobileMenu;\n","import React, { Component } from 'react';\nimport Swipeable from 'react-swipeable';\nimport PropTypes from 'prop-types';\nimport MediaQuery from 'react-responsive';\nimport { injectIntl } from 'react-intl';\nimport breakpoints from 'styles/breakpoints';\nimport Desktop from './Desktop';\nimport Mobile from './Mobile';\nimport { Overlay } from './Desktop/styled';\nimport { EverythingWrapper, BodyWrapper } from './styled';\n\nclass NavMenu extends Component {\n static propTypes = {\n children: PropTypes.node.isRequired,\n intl: PropTypes.shape({\n locale: PropTypes.string\n })\n };\n\n static defaultProps = {\n intl: { locale: 'en' }\n };\n\n state = {\n open: false,\n topBarOpen: true\n };\n\n toggle = () => {\n this.setState({\n open: !this.state.open\n });\n };\n\n toggleTopBar = () => {\n this.setState({\n topBarOpen: !this.state.topBarOpen\n });\n };\n\n handleClick = () => {\n this.toggle();\n };\n\n handleSwipe = direction => {\n const { topBarOpen, open } = this.state;\n if (direction === 'up' && topBarOpen && !open) {\n this.toggleTopBar();\n }\n if (direction === 'down' && !topBarOpen && !open) {\n this.toggleTopBar();\n }\n };\n\n render() {\n const {\n children,\n intl: { locale }\n } = this.props;\n const { open } = this.state;\n return (\n \n {/* -- Mobile -- */}\n\n \n this.handleSwipe('up')}\n onSwipedDown={() => this.handleSwipe('down')}\n >\n \n {children}\n \n \n\n {/* -- Desktop -- */}\n \n \n \n {children}\n \n \n );\n }\n}\n\nexport default injectIntl(NavMenu);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactModal from 'react-modal';\n\nimport modalCloseIcon from 'assets/images/modal-close.svg';\nimport { black } from 'styles/variables';\nimport { Icon, Button } from './styled';\n\nconst overlayStyle = {\n backgroundColor: black,\n zIndex: 100,\n};\n\nconst contentStyle = {\n backgroundColor: black,\n border: 0,\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n padding: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n};\n\nconst Modal = ({\n showModal,\n onRequestClose,\n children,\n closeIcon,\n}) => (\n \n {children}\n \n \n \n \n);\n\nModal.propTypes = {\n showModal: PropTypes.bool.isRequired,\n onRequestClose: PropTypes.func.isRequired,\n children: PropTypes.node,\n closeIcon: PropTypes.string,\n};\n\nModal.defaultProps = {\n children: '',\n closeIcon: modalCloseIcon,\n};\n\nexport default Modal;\n","/* eslint-disable no-nested-ternary */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport MediaQuery from 'react-responsive';\nimport breakpoints from 'styles/breakpoints';\n\nconst Responsive = ({ only, children }) =>\n only === 'desktop' ? (\n \n {children}\n \n ) : only === 'mobile' ? (\n \n {children}{' '}\n \n ) : (\n children\n );\n\nResponsive.propTypes = {\n children: PropTypes.node.isRequired,\n only: PropTypes.string\n};\n\nResponsive.defaultProps = {\n only: null\n};\n\nexport default Responsive;\n","import styled, { css } from 'styled-components';\nimport matchColor from 'utils/matchColor';\nimport media from 'styles/media';\n\nconst borderRadius = '1.4';\nconst ringSize = '78';\n\nconst center = css`\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const Ring = styled.div`\n width: ${props => ringSize * props.size}px;\n height: ${props => ringSize * props.size}px;\n border: ${props => css`${borderRadius}px solid ${matchColor(props.shade)}`};\n border-radius: 50%;\n position: relative;\n ${center};\n`;\n\nexport const Wrapper = styled.div`\n position: relative;\n ${center};\n\n ${media.xs`\n display: none;\n `};\n`;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Wrapper, Ring } from './styled.js';\n\nconst Rings = ({ children }) => (\n \n \n \n \n {children}\n \n \n \n \n);\n\nRings.propTypes = {\n children: PropTypes.node.isRequired\n};\n\nexport default Rings;\n","import styled from 'styled-components';\nimport Image from 'components/Image';\nimport media from 'styles/media';\nimport { P } from 'styles/typography';\nimport { serif } from 'styles/variables';\n\nexport const Wrapper = styled.div`\n position: relative;\n display: flex;\n flex-flow: row nowrap;\n width: 100%;\n justify-content: flex-start;\n align-items: center;\n padding: 90px 0 0 0;\n direction: ${props => (props.locale === 'ar' ? 'rtl' : 'ltr')};\n\n ${media.xs`\n flex-flow: row wrap;\n padding: 0;\n `};\n`;\n\nexport const Person = styled.div`\n margin: 0 1rem 0 0;\n flex: ${props => (props.imageWidth ? `1 0 ${props.imageWidth}` : '1 0 auto')};\n\n ${media.xs`\n display: flex;\n width: 100%;\n flex: 1 0 auto;\n margin: 0 0 0 0;\n justify-content: center;\n `};\n`;\n\nexport const PersonPicture = styled(Image)`\n width: 75%;\n height: 75%;\n`;\n\nexport const QuoteWrapper = styled.div`\n display: flex;\n flex-flow: column;\n align-items: flex-start;\n width: 100%;\n\n ${media.xs`\n margin: 1rem 0 0;\n `};\n`;\n\nexport const IconWrapper = styled.div`\n position: absolute;\n top: 0;\n`;\n\nexport const Quote = styled.div`\n font-family: ${serif};\n font-size: 1.625rem;\n line-height: 2.25rem;\n margin: 0;\n width: 100%;\n\n ${media.md`\n font-size: 1.375rem;\n line-height: 2rem;\n `};\n\n ${media.xs`\n margin: 0;\n `};\n`;\n\nexport const QuoteCaption = styled(P)`\n width: 100%;\n margin: 1rem 0 0;\n\n ${media.xs`\n margin: 1rem 0 0;\n `};\n`;\n","/* eslint-disable react/prefer-stateless-function */\n\nimport React, { Fragment, PureComponent } from 'react';\nimport { compose } from 'redux';\nimport { FormattedHTMLMessage, injectIntl } from 'react-intl';\nimport PropTypes from 'prop-types';\nimport VisibilitySensor from 'react-visibility-sensor';\nimport Soundbyte from 'components/Sound/Soundbyte';\nimport Icon from 'components/Sound/Icon';\nimport Rings from 'components/Sound/Rings';\nimport withSound from 'components/Sound/withSound';\nimport {\n Wrapper,\n Person,\n PersonPicture,\n QuoteWrapper,\n Quote,\n QuoteCaption,\n IconWrapper\n} from './styled';\n\nclass QuoteWithSound extends PureComponent {\n static propTypes = {\n imageID: PropTypes.string,\n imageWidth: PropTypes.string,\n soundID: PropTypes.string.isRequired,\n quoteID: PropTypes.string.isRequired,\n captionID: PropTypes.string.isRequired,\n sound: PropTypes.shape({}).isRequired\n };\n\n static defaultProps = {\n imageWidth: null,\n imageID: null\n };\n\n state = {\n visible: false,\n status: 'STOPPED',\n played: false\n };\n\n onVisible = isVisible => {\n this.setState({\n visible: isVisible\n });\n };\n\n getIconPlayStatus = (contextStatus, stateStatus) => {\n if (contextStatus === 'PLAYING' && stateStatus === 'PLAYING') {\n return 'PLAYING';\n }\n return 'STOPPED';\n };\n\n handleFinishedPlaying = () => {\n this.setState({\n played: true,\n status: 'STOPPED'\n });\n };\n\n handleOnPlaying = () => {\n this.setState({\n status: 'PLAYING'\n });\n };\n\n handleIconClick = () => {\n const { status } = this.state;\n if (status === 'PLAYING') {\n return this.setState({ played: true, status: 'STOPPED' });\n }\n return this.setState({ played: false, status: 'PLAYING' });\n };\n\n render() {\n const { visible, played, status } = this.state;\n const {\n imageID,\n soundID,\n imageWidth,\n quoteID,\n captionID,\n sound,\n intl: { locale }\n } = this.props;\n return (\n \n {!played ? (\n \n ) : null}\n \n \n {imageID ? (\n \n \n \n ) : null}\n \n \n {soundID && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default compose(\n withSound,\n injectIntl\n)(QuoteWithSound);\n","import styled, { css } from 'styled-components';\nimport { H3, paragraphMixin, h3Mixin, P } from 'styles/typography';\nimport {\n sans,\n serif,\n white,\n black,\n alto,\n grime,\n yellow,\n green\n} from 'styles/variables';\nimport media from 'styles/media';\nimport zoom from 'assets/images/magnifying-glass.svg';\n\nconst padding = {\n lg: '6.25rem',\n md: '3.1265rem'\n};\n\nexport const ScrollWrapper = styled.div`\n position: relative;\n overflow: hidden;\n height: 100%;\n width: 100%;\n -ms-overflow-style: none;\n\n &:after {\n background-image: linear-gradient(\n rgba(255, 255, 255, 0.5) 0%,\n rgba(255, 255, 255, 1) 100%\n );\n bottom: 0;\n content: '';\n height: 2rem;\n pointer-events: none;\n position: absolute;\n width: 100%;\n z-index: 3;\n\n ${media.md`\n bottom: 0;\n `};\n\n ${media.xs`\n display: none;\n `};\n }\n`;\n\nexport const OuterWrapper = styled.div`\n position: relative;\n background-color: ${white};\n border: 1px solid ${black};\n box-shadow: 2rem 2rem ${white};\n padding: ${padding.lg};\n position: relative;\n z-index: 1;\n width: 100%;\n min-width: inherit;\n direction: ${props => (props.locale === 'ar' ? 'rtl' : 'ltr')};\n height: ${props => props.size.lg || 'auto'};\n\n ${media.md`\n height: ${props => props.size.md || props.size.lg || 'auto'};\n padding: ${padding.md};\n `};\n\n ${media.sm`\n height: ${props =>\n props.size.sm || props.size.md || props.size.lg || 'auto'};\n `};\n\n ${media.xs`\n height: auto;\n position: relative;\n top: initial;\n max-width: 100%;\n order: 2;\n padding: 20px 20px 20px 20px;\n box-shadow: 0.5rem 0.5rem ${white};\n `};\n\n ${ScrollWrapper} {\n &:after {\n right: 10px;\n }\n\n .scrollbar-view {\n padding: 0 20px;\n margin-right: 0 !important;\n margin-left: ${props => (props.locale === 'ar' ? '-17px' : 0)};\n overflow-x: visible;\n }\n\n .scrollbar-view::-webkit-scrollbar {\n display: none;\n }\n\n .scrollbar-view {\n padding: 0 15px;\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n mark {\n &:before {\n right: 0;\n }\n }\n }\n\n h3 {\n ${h3Mixin};\n display: block;\n font-size: 2.5rem;\n line-height: 3.25rem;\n font-weight: 400;\n color: ${black};\n word-break: break-word;\n font-family: ${serif};\n\n margin: 0 0 2.8rem 0;\n text-align: initial;\n\n ${media.md`\n font-size: 2rem;\n line-height: 2.5rem;\n `};\n\n ${media.sm`\n font-size: 1.875rem;\n `};\n\n ${media.xs`\n line-height: 1;\n `};\n }\n\n p {\n ${paragraphMixin};\n font-size: 0.95rem;\n font-weight: 400;\n width: 100%;\n display: inline-block;\n\n &:last-child {\n margin: 0;\n }\n }\n\n ul {\n ${props => css`\n direction: ${props.locale === 'ar' ? 'rtl' : 'ltr'};\n padding: ${props.locale === 'ar' ? '0 15px 0 0' : '0 0 0 15px'};\n `};\n columns: 1;\n margin: 0 0 1.5rem;\n list-style: none;\n width: 100%;\n\n ${media.xs`\n justify-content: space-between;\n `};\n }\n\n p ~ ul {\n margin-top: -1.9rem;\n }\n\n li {\n ${paragraphMixin};\n font-size: 0.95rem;\n padding: 0 0 0 5px;\n margin: 0;\n vertical-align: center;\n transform: translateY(7px);\n\n &:before {\n content: '•';\n color: ${green};\n display: inline-block;\n width: 1.3rem;\n font-size: 2rem;\n transform: translateY(5px);\n\n ${props =>\n props.locale === 'ar'\n ? css`\n margin-right: -1.3rem;\n `\n : css`\n margin-left: -1.3rem;\n `};\n }\n }\n\n .infobox-text-wrapper span {\n &:after {\n position: relative;\n content: '\\00a0';\n height: 3rem;\n display: inline-block;\n\n ${media.xs`\n display: none;\n `};\n }\n }\n\n mark {\n background-color: ${yellow};\n cursor: pointer;\n padding: 0 2px;\n display: inline;\n\n ${media.xs`\n background-color: ${white};\n `};\n }\n`;\n\nOuterWrapper.defaultProps = {\n size: {\n lg: null,\n md: null,\n sm: null,\n xs: null\n }\n};\n\nexport const StepOuterWrapper = styled(OuterWrapper)`\n padding-bottom: 3rem;\n box-shadow: none;\n border: none;\n min-height: 500px;\n display: flex;\n flex-flow: column;\n\n ${media.portrait`\n min-height: 300px;\n `};\n\n ${media.landscape`\n min-height: 250px;\n `};\n\n ${media.xs`\n min-height: initial;\n height: auto;\n `};\n\n h3 {\n font-size: 1.8rem;\n line-height: 2.4rem;\n }\n\n .counter {\n color: ${grime};\n }\n\n ${media.xs`\n flex-flow: column-reverse;\n justify-content: flex-start;\n `};\n`;\n\nexport const InfoBoxHead = styled.div`\n font-family: ${sans};\n font-size: 1rem;\n font-weight: 600;\n display: flex;\n align-items: center;\n\n ${media.xs`\n margin: 0 0 1rem;\n `};\n`;\n\nexport const InfoBoxContent = styled.div`\n margin: 0 0 2rem;\n flex: 1 0 auto;\n`;\n\nexport const InfoBoxTitle = styled(H3)`\n display: block;\n font-size: 2.5rem;\n font-weight: 400;\n color: ${black};\n word-break: break-word;\n font-family: ${serif};\n line-height: 3.25rem;\n margin: 0 0 2.8rem 0;\n text-align: left;\n\n ${media.xs`\n line-height: 1;\n `};\n`;\n\nexport const InfoBoxDescription = styled(P)`\n font-size: 0.95rem;\n font-weight: 400;\n width: 100%;\n display: inline-block;\n`;\n\nexport const Icon = styled.img`\n display: block;\n align-self: center;\n`;\n\nexport const Line = styled.div`\n flex: 1;\n height: 1px;\n background-color: ${alto};\n margin: 0 20px;\n`;\n","/* global soundManager:false */\n\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport Sound from 'react-sound';\nimport Responsive from 'containers/Responsive';\nimport CloudinarySound from 'components/Sound';\nimport withSound from 'components/Sound/withSound';\nimport { sound as sounds } from 'styles/variables';\n\nclass Soundbyte extends PureComponent {\n static propTypes = {\n volume: PropTypes.number,\n playing: PropTypes.bool,\n onPlaying: PropTypes.func,\n onFinishedPlaying: PropTypes.func,\n sound: PropTypes.shape({}).isRequired\n };\n\n static defaultProps = {\n playing: false,\n volume: sounds.volume.medium,\n onPlaying: () => {},\n onFinishedPlaying: () => {}\n };\n\n state = {\n volume: this.props.volume,\n playStatus: this.props.playing ? 'PLAYING' : 'STOPPED'\n };\n\n componentDidMount() {\n soundManager.setup({ debugMode: false });\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.playing !== this.props.playing) {\n this.getDerivedPlayStatus(prevProps);\n }\n }\n\n getDerivedPlayStatus = prevProps => {\n if (prevProps.playing && !this.props.playing) {\n return this.fadeOut();\n }\n if (!prevProps.playing && this.props.playing) {\n return this.fadeIn();\n }\n return null;\n };\n\n setVolume = volume => {\n if (volume <= 100 && volume >= 0) {\n this.setState({\n volume\n });\n }\n };\n\n fadeIn = () => {\n this.setState({ playStatus: 'PLAYING', volume: this.props.volume });\n };\n\n fadeOut = () => {\n const fadeout = setInterval(() => {\n if (this.state.volume === 0) {\n this.setState({ playStatus: 'STOPPED' });\n return clearInterval(fadeout);\n }\n if (this.state.volume > 0) {\n return this.setVolume(this.state.volume - 1);\n }\n return null;\n }, 75);\n };\n\n render() {\n const { id, volume, sound, ...restProps } = this.props;\n const { playStatus } = this.state;\n return sound.playStatus === 'PLAYING' ? (\n \n \n \n ) : null;\n }\n}\n\nexport default withSound(Soundbyte);\n","import styled, { keyframes } from 'styled-components';\nimport media from 'styles/media';\n\nexport const Button = styled.button`\n cursor: pointer;\n background: none;\n color: inherit;\n border: none;\n padding: 0;\n font: inherit;\n width: 20px;\n height: 16px;\n position: relative;\n outline: none;\n\n ${media.xs`\n display: none;\n `};\n`;\n\nexport const Bars = styled.div`\n border: 0;\n padding: 0;\n`;\n\nconst sound = keyframes`\n {\n 0% {\n transform: scaleY(1);\n }\n 100% {\n transform: scaleY(2);\n }\n }\n`;\n\nexport const Bar = styled.span`\n background: #666;\n opacity: ${props => (props.status === 'PLAYING' ? 1 : 0.5)};\n bottom: 1px;\n height: 9px;\n position: absolute;\n width: 1px;\n animation: ${sound} 0ms -800ms linear infinite alternate;\n animation-play-state: ${props =>\n props.status === 'PLAYING' ? 'running' : 'paused'};\n transition: opacity 150ms ease;\n transform-origin: bottom;\n\n &:nth-child(1) {\n left: 1px;\n animation-duration: 474ms;\n }\n\n &:nth-child(2) {\n left: 5px;\n animation-duration: 433ms;\n }\n\n &:nth-child(3) {\n left: 9px;\n animation-duration: 407ms;\n }\n\n &:nth-child(4) {\n left: 13px;\n animation-duration: 458ms;\n }\n\n &:nth-child(5) {\n left: 17px;\n animation-duration: 400ms;\n }\n`;\n\nexport default Button;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Bars, Bar } from './styled';\n\nconst SoundIcon = ({ onClick, status, hidden }) => (\n \n \n {[0, 1, 2, 3, 4].map(icon => (\n \n ))}\n \n \n);\n\nSoundIcon.propTypes = {\n status: PropTypes.string,\n onClick: PropTypes.func,\n hidden: PropTypes.bool\n};\n\nSoundIcon.defaultProps = {\n status: 'STOPPED',\n onClick: () => {},\n hidden: false\n};\n\nexport default SoundIcon;\n","/* eslint-disable no-nested-ternary */\n\nimport React from 'react';\nimport styled from 'styled-components';\nimport media from 'styles/media';\nimport { captionMixin } from 'styles/typography';\nimport matchColor from 'utils/matchColor';\nimport Image from 'components/Image';\nimport { padding } from 'styles/variables';\n\nexport const Fig = styled.figure`\n width: ${props => props.width || '100%'};\n height: auto;\n display: table;\n margin: 2rem 0;\n padding: 0;\n direction: ${props =>\n props.captionAlign\n ? props.captionAlign\n : props.locale === 'ar'\n ? 'rtl'\n : 'ltr'};\n\n ${media.xs`\n position: relative;\n width: 100vw;\n margin: 2rem 0 2rem -16px;\n `};\n`;\n\nexport const FigImage = styled(({ width, ...rest }) => )`\n width: ${props => props.width};\n height: auto;\n min-height: 100%;\n transition: opacity 500ms ease;\n\n ${media.xs`\n width: 100%;\n position: relative;\n `};\n`;\n\nexport const FigCaption = styled.figcaption`\n ${captionMixin};\n display: table-caption;\n caption-side: bottom;\n color: ${props => matchColor(props.captionColor)};\n margin: 1.375rem 0 0;\n width: 100%;\n\n ${props => media.queries('padding', props.captionPadding)};\n\n ${media.xs`\n padding: 0 ${padding.right.xs}rem 0 ${padding.left.xs}rem;\n box-sizing: border-box;\n font-size: 0.75rem;\n line-height: 1.125rem;\n `};\n`;\n","/**\n * @param Object of react-intl messages\n * @param String that you want to search for\n * @returns Array of keys with the values you wanted to search for\n */\n\nconst getContentBySubstring = (messages, substring) =>\n Object.keys(messages).filter(message => message.indexOf(substring) > -1);\n\nexport default getContentBySubstring;\n","import styled from 'styled-components';\nimport media from 'styles/media';\nimport { padding } from 'styles/variables';\n\nexport const Wrapper = styled.section`\n background-color: #000;\n position: relative;\n display: flex;\n flex-flow: column;\n justify-content: center;\n height: 100vh;\n min-height: 900px;\n width: 100vw;\n margin: auto;\n\n ${media.md`\n min-height: 800px;\n `}\n\n ${media.xs`\n height: 100%;\n min-height: 100vh;\n justify-content: flex-start;\n padding: 1rem;\n `};\n`;\n\nexport const InnerWrapper = styled.div`\n position: relative;\n height: 75%;\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n\n ${media.md`\n height: 85vh;\n `}\n\n ${media.sm`\n height: 90vh;\n `};\n\n ${media.xs`\n height: 100%;\n justify-content: flex-start;\n margin: ${padding.top.xs + 1}rem 0 0 0;\n `};\n\n ul {\n columns: 1;\n }\n`;\n\nexport const FigureWrapper = styled.div`\n position: absolute;\n display: inline-block;\n width: 100%;\n top: 0;\n\n ${media.xs`\n display: none;\n `};\n`;\n\nexport default Wrapper;\n","import React, { Component } from 'react';\nimport { injectIntl } from 'react-intl';\nimport PropTypes from 'prop-types';\nimport Figure from 'components/Figure';\nimport { Row, Col } from 'react-styled-flexboxgrid';\nimport InfoBox from 'components/InfoBox';\nimport getContent from 'utils/getContentBySubstring';\nimport { Wrapper, FigureWrapper, InnerWrapper } from './styled';\n\nclass Details extends Component {\n static propTypes = {\n messages: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.arrayOf(PropTypes.string)\n ]),\n figureProps: PropTypes.shape({\n image: PropTypes.string,\n caption: PropTypes.string\n })\n };\n\n static defaultProps = {\n messages: [''],\n figureProps: {\n image: '',\n caption: ''\n }\n };\n\n getMessages = () => {\n const { messages, intl } = this.props;\n if (typeof messages === 'string') {\n return getContent(intl.messages, messages);\n }\n return messages;\n };\n\n render() {\n const { figureProps } = this.props;\n\n const messages = this.getMessages();\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n\nexport default injectIntl(Details);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Scrollbars } from 'react-custom-scrollbars';\nimport {\n renderTrackVerticalDefault,\n renderThumbVerticalDefault,\n renderViewDefault\n} from 'react-custom-scrollbars/lib/Scrollbars/defaultRenderElements';\n\nconst SelectScrollBar = ({\n children,\n height,\n renderThumbVertical,\n renderTrackVertical,\n renderView\n}) => (\n \n {children}\n \n);\n\nSelectScrollBar.defaultProps = {\n renderTrackVertical: props =>\n renderTrackVerticalDefault({ ...props, className: 'track-vertical' }),\n renderThumbVertical: props =>\n renderThumbVerticalDefault({ ...props, className: 'thumb-vertical' }),\n renderView: props =>\n renderViewDefault({ ...props, className: 'scrollbar-view' }),\n height: 200\n};\n\nSelectScrollBar.propTypes = {\n children: PropTypes.node.isRequired,\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n renderThumbVertical: PropTypes.func,\n renderTrackVertical: PropTypes.func,\n renderView: PropTypes.func\n};\n\nexport default SelectScrollBar;\n","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzVweCIgaGVpZ2h0PSIzNXB4IiB2aWV3Qm94PSIwIDAgMzUgMzUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjIgKDY3MTQ1KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT56b29tL3BvczwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxnIGlkPSJ6b29tL3BvcyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZD0iTTYuNDA5NzEzLDAuNSBDNC40NTMxNTM3OSwwLjUgMy42MzczNTcyOSwwLjY1NzUzNzU3MiAyLjc5MzY4NTE3LDEuMTA4NzM4MzYgQzIuMDY2MDA0NTksMS40OTc5MDYxOSAxLjQ5NzkwNjE5LDIuMDY2MDA0NTkgMS4xMDg3MzgzNiwyLjc5MzY4NTE3IEMwLjY1NzUzNzU3MiwzLjYzNzM1NzI5IDAuNSw0LjQ1MzE1Mzc5IDAuNSw2LjQwOTcxMyBMMC41LDI4LjU5MDI4NyBDMC41LDMwLjU0Njg0NjIgMC42NTc1Mzc1NzIsMzEuMzYyNjQyNyAxLjEwODczODM2LDMyLjIwNjMxNDggQzEuNDk3OTA2MTksMzIuOTMzOTk1NCAyLjA2NjAwNDU5LDMzLjUwMjA5MzggMi43OTM2ODUxNywzMy44OTEyNjE2IEMzLjYzNzM1NzI5LDM0LjM0MjQ2MjQgNC40NTMxNTM3OSwzNC41IDYuNDA5NzEzLDM0LjUgTDI4LjU5MDI4NywzNC41IEMzMC41NDY4NDYyLDM0LjUgMzEuMzYyNjQyNywzNC4zNDI0NjI0IDMyLjIwNjMxNDgsMzMuODkxMjYxNiBDMzIuOTMzOTk1NCwzMy41MDIwOTM4IDMzLjUwMjA5MzgsMzIuOTMzOTk1NCAzMy44OTEyNjE2LDMyLjIwNjMxNDggQzM0LjM0MjQ2MjQsMzEuMzYyNjQyNyAzNC41LDMwLjU0Njg0NjIgMzQuNSwyOC41OTAyODcgTDM0LjUsNi40MDk3MTMgQzM0LjUsNC40NTMxNTM3OSAzNC4zNDI0NjI0LDMuNjM3MzU3MjkgMzMuODkxMjYxNiwyLjc5MzY4NTE3IEMzMy41MDIwOTM4LDIuMDY2MDA0NTkgMzIuOTMzOTk1NCwxLjQ5NzkwNjE5IDMyLjIwNjMxNDgsMS4xMDg3MzgzNiBDMzEuMzYyNjQyNywwLjY1NzUzNzU3MiAzMC41NDY4NDYyLDAuNSAyOC41OTAyODcsMC41IEw2LjQwOTcxMywwLjUgWiIgaWQ9IlJlY3RhbmdsZS00LUNvcHktNSIgc3Ryb2tlPSIjRjZDRTQ5Ij48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTE4Ljc2OTIzMDgsMTQuNjQxNTA5NCBMMTYuNDYxNTM4NSwxNC42NDE1MDk0IEwxNi40NjE1Mzg1LDEyLjM3NzM1ODUgQzE2LjQ2MTUzODUsMTIuMTY5MDU2NiAxNi4yODkyMzA4LDEyIDE2LjA3NjkyMzEsMTIgQzE1Ljg2NDYxNTQsMTIgMTUuNjkyMzA3NywxMi4xNjkwNTY2IDE1LjY5MjMwNzcsMTIuMzc3MzU4NSBMMTUuNjkyMzA3NywxNC42NDE1MDk0IEwxMy4zODQ2MTU0LDE0LjY0MTUwOTQgQzEzLjE3MjMwNzcsMTQuNjQxNTA5NCAxMywxNC44MTA1NjYgMTMsMTUuMDE4ODY3OSBDMTMsMTUuMjI3MTY5OCAxMy4xNzIzMDc3LDE1LjM5NjIyNjQgMTMuMzg0NjE1NCwxNS4zOTYyMjY0IEwxNS42OTIzMDc3LDE1LjM5NjIyNjQgTDE1LjY5MjMwNzcsMTcuNjYwMzc3NCBDMTUuNjkyMzA3NywxNy44Njg2NzkyIDE1Ljg2NDYxNTQsMTguMDM3NzM1OCAxNi4wNzY5MjMxLDE4LjAzNzczNTggQzE2LjI4OTIzMDgsMTguMDM3NzM1OCAxNi40NjE1Mzg1LDE3Ljg2ODY3OTIgMTYuNDYxNTM4NSwxNy42NjAzNzc0IEwxNi40NjE1Mzg1LDE1LjM5NjIyNjQgTDE4Ljc2OTIzMDgsMTUuMzk2MjI2NCBDMTguOTgxNTM4NSwxNS4zOTYyMjY0IDE5LjE1Mzg0NjIsMTUuMjI3MTY5OCAxOS4xNTM4NDYyLDE1LjAxODg2NzkgQzE5LjE1Mzg0NjIsMTQuODEwNTY2IDE4Ljk4MTUzODUsMTQuNjQxNTA5NCAxOC43NjkyMzA4LDE0LjY0MTUwOTQgWiIgaWQ9IlNoYXBlIiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICA8ZyBpZD0iR3JvdXAiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMDAwMDAwLCA4LjAwMDAwMCkiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSIjMDAwMDAwIj4KICAgICAgICAgICAgPHJlY3QgaWQ9IlJlY3RhbmdsZS00IiBmaWxsPSIjMDAwMDAwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNC43NDI2NDEsIDE0Ljk5MjY0MSkgcm90YXRlKDQ1LjAwMDAwMCkgdHJhbnNsYXRlKC0xNC43NDI2NDEsIC0xNC45OTI2NDEpICIgeD0iMTAuNzQyNjQwNyIgeT0iMTQuNzQyNjQwNyIgd2lkdGg9IjgiIGhlaWdodD0iMSIgcng9IjAuNSI+PC9yZWN0PgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsIiBjeD0iNyIgY3k9IjciIHI9IjciPjwvY2lyY2xlPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\"","import Language from './Language';\nimport Share from './Share';\nimport Head from './Head';\nimport Header from './Header';\nimport Logo from './Logo';\nimport Footer from './Footer';\nimport Hamburger from './Hamburger';\nimport Image from './Image';\nimport Menu from './Menu';\nimport InfoBox from './InfoBox';\nimport Chapter from './Chapter';\nimport Figure from './Figure';\nimport Quote from './Quote';\nimport Sound from './Sound';\n\nexport {};\nexport {};\nexport {\n Language,\n Head,\n Header,\n Logo,\n Share,\n Footer,\n Hamburger,\n Image,\n Menu,\n InfoBox,\n Chapter,\n Figure,\n Quote,\n Sound\n};\n","import styled from 'styled-components';\nimport media from 'styles/media';\n\nexport const Icon = styled.img`\n display: block;\n width: 100%;\n margin: 0;\n`;\n\nexport const Button = styled.button`\n background-color: transparent;\n border: none;\n top: 55px;\n right: 50px;\n position: absolute;\n cursor: pointer;\n padding: 0;\n margin: 0;\n width: 70px;\n z-index: 2;\n\n ${media.xs`\n top: 20px;\n right: 15px;\n `};\n`;\n","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzFweCIgaGVpZ2h0PSIzMXB4IiB2aWV3Qm94PSIwIDAgMzEgMzEiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8ZyBpZD0ic3ZnIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0iIzAwMDAwMCIgZmlsbC1ydWxlPSJub256ZXJvIj4KICAgICAgICA8cGF0aCBkPSJNMTUuNSwzMSBDNi45Mzk1ODYzOCwzMSAwLDI0LjA2MDQxMzYgMCwxNS41IEMwLDYuOTM5NTg2MzggNi45Mzk1ODYzOCwwIDE1LjUsMCBDMjQuMDYwNDEzNiwwIDMxLDYuOTM5NTg2MzggMzEsMTUuNSBDMzEsMjQuMDYwNDEzNiAyNC4wNjA0MTM2LDMxIDE1LjUsMzEgWiBNMTUuNSwzMC4xMzg4ODg5IEMyMy41ODQ4MzUsMzAuMTM4ODg4OSAzMC4xMzg4ODg5LDIzLjU4NDgzNSAzMC4xMzg4ODg5LDE1LjUgQzMwLjEzODg4ODksNy40MTUxNjQ5MSAyMy41ODQ4MzUsMC44NjExMTExMTEgMTUuNSwwLjg2MTExMTExMSBDNy40MTUxNjQ5MSwwLjg2MTExMTExMSAwLjg2MTExMTExMSw3LjQxNTE2NDkxIDAuODYxMTExMTExLDE1LjUgQzAuODYxMTExMTExLDIzLjU4NDgzNSA3LjQxNTE2NDkxLDMwLjEzODg4ODkgMTUuNSwzMC4xMzg4ODg5IFoiIGlkPSJPdmFsLTUiPjwvcGF0aD4KICAgICAgICA8cG9seWdvbiBpZD0iUmVjdGFuZ2xlLTEwIiBwb2ludHM9IjE4LjA4MzMzMzMgOS43NTkyNTkyMyAxOC4wODMzMzMzIDguNjExMTExMTEgMTEuMTk0NDQ0NCAxNS41IDE4LjA4MzMzMzMgMjIuMzg4ODg4OSAxOC4wODMzMzMzIDIxLjI0MDc0MDggMTIuMzQyNTkyNiAxNS41Ij48L3BvbHlnb24+CiAgICA8L2c+Cjwvc3ZnPg==\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNzBweCIgaGVpZ2h0PSI3MHB4IiB2aWV3Qm94PSIwIDAgNzAgNzAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8ZyBpZD0iY2xvc2VfYmxhY2siIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJhX2J0bl9uZXh0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzNC42NjAwMDEsIDM0LjY2MDAwMSkgc2NhbGUoLTEsIDEpIHRyYW5zbGF0ZSgtMzQuNjYwMDAxLCAtMzQuNjYwMDAxKSB0cmFuc2xhdGUoMS4wMDAwMDAsIDEuMDAwMDAwKSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuOTgwMDAwMDUiPgogICAgICAgICAgICA8Y2lyY2xlIGlkPSJPdmFsLTUiIGN4PSIzMy42NjAwMDA5IiBjeT0iMzMuNjYwMDAwOSIgcj0iMzMuNjYwMDAwOSI+PC9jaXJjbGU+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGQ9Ik0yMC43OTAwMDA1LDIyLjc3MDAwMDYgTDQ3LjUzODMyODMsNDkuNTE4MzI4MyIgaWQ9IkxpbmUiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIxLjk4MDAwMDA1IiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIj48L3BhdGg+CiAgICAgICAgPHBhdGggZD0iTTQ4LjUxMDAwMTIsMjIuNzcwMDAwNiBMMjEuNzYxNjczNSw0OS41MTgzMjgzIiBpZD0iTGluZSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjEuOTgwMDAwMDUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+\"","import styled from 'styled-components';\n\nconst transformControl = props => {\n if (props.right) {\n return `\n transform: rotate(180deg);\n `;\n }\n if (props.down) {\n return `\n transform: rotate(270deg);\n `;\n }\n if (props.up) {\n return `\n transform: rotate(90deg);\n `;\n }\n\n return '';\n};\n\nexport default styled.div`\n display: flex;\n justify-content: space-between;\n width: 77px;\n`;\n\nexport const Control = styled.div`\n cursor: pointer;\n text-align: center;\n ${props => transformControl(props)};\n`;\n\nexport const ControlBox = styled.div`\n display: block;\n min-width: 31px;\n`;\n","import Controls, { Control, ControlBox } from './styled';\n\nexport default Controls;\n\nexport { Control, ControlBox };\n","module.exports = \"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjJweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjIgMjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDUyLjEgKDY3MDQ4KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5pY29uX3NoYXJlX2JsYWNrPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IlN5bWJvbHMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJtZW51L2Rlc2t0b3AiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC01MDYuMDAwMDAwLCAtMTgwLjAwMDAwMCkiIHN0cm9rZT0iIzI1MjUyNSI+CiAgICAgICAgICAgIDxnIGlkPSJzaWRlYmFyLW9wZW4iIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCAtMS4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJpY29uX3NoYXJlX2JsYWNrIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1MDcuMDAwMDAwLCAxODIuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Imljb25fc2hhcmUiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZyBpZD0iYV9pY29uX3NoYXJlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtNiIgY3g9IjMuNDYxNTM4NDYiIGN5PSIxMS45MjMwNzY5IiByPSIzLjQ2MTUzODQ2Ij48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Ik92YWwtNi1Db3B5IiBjeD0iMTYuNTM4NDYxNSIgY3k9IjMuNDYxNTM4NDYiIHI9IjMuNDYxNTM4NDYiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBpZD0iT3ZhbC02LUNvcHktMiIgY3g9IjE2LjUzODQ2MTUiIGN5PSIxOC44NDYxNTM4IiByPSIzLjQ2MTUzODQ2Ij48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02LjUzODQ2MTU0LDkuNjE1Mzg0NjIgTDEzLjQ2MTUzODUsNS43NjkyMzA3NyIgaWQ9IkxpbmUtMyIgc3Ryb2tlLWxpbmVjYXA9InNxdWFyZSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTYuNTM4NDYxNTQsMTcuMzA3NjkyMyBMMTMuNDYxNTM4NSwxMy40NjE1Mzg1IiBpZD0iTGluZS0zIiBzdHJva2UtbGluZWNhcD0ic3F1YXJlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMC4wMDAwMDAsIDE1LjM4NDYxNSkgc2NhbGUoLTEsIDEpIHRyYW5zbGF0ZSgtMTAuMDAwMDAwLCAtMTUuMzg0NjE1KSAiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+\""],"sourceRoot":""}
\n \n