\r\n \r\n \r\n Baltimore Healthy Start\r\n \r\n {' '}\r\n and partners enhanced the State of Maryland’s Maternal Mortality Review process with Severe Maternal Morbidity reviews, elevated patient experiences to improve quality care, and encouraged postpartum care services to be provided alongside pediatric visits. They also hosted events and workshops that aim to strengthen advocacy skills for families, recognized the contributions of Black maternal health leaders, and increased awareness and support to help reduce maternal and infant mortality and morbidity.\r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Brooklyn, NY
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Black Women’s Blueprint\r\n \r\n {' '}\r\n and collaborators used a community-driven approach to define, design, and pilot a new model of primary maternity service delivery designed to promote equity and improve outcomes for Black, Indigenous and other women of color. \r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Camden, NJ
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Camden Coalition of Healthcare Providers\r\n \r\n {' '}\r\n Camden Coalition of Healthcare Providers and its partners strengthened citywide data infrastructures to improve connection to services and care coordination for pregnant and postpartum women. Through the \r\n pregnancy care initiation pilot, they connected pregnant people with prenatal and other clinical and social care earlier in their pregnancy and addressed the barriers to care for pregnant community members. \r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Newark, NJ
\r\n \r\n \r\n
\r\n
\r\n Greater Newark Healthcare Coalition and its partners educated health care providers on the best practices for maternity care, developed a public education campaign to increase women’s awareness of serious complications associated with pregnancy and the postnatal period, and disseminated recommendations to local stakeholders. In collaboration with the Rutgers School of Public Health, they also \r\n conducted community-based participatory research\r\n , to understand the challenges that mothers face when seeking health care and identify key areas where health care providers could serve as better advocates for the wellbeing of Black mothers across the state.\r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Philadelphia, PA
\r\n \r\n \r\n
\r\n
Health Federation of Philadelphia \r\n in partnership with \r\n \r\n \r\n The Philadelphia Department of Public Health\r\n \r\n {' '}\r\n strengthened surveillance and reporting, improved clinical care, integrated community voices in developing solutions, addressed racial disparities in maternal health outcomes, and increased community-based support for childbearing women through development of a maternal mortality community action team, \r\n \r\n \"The OVA\"\r\n \r\n .\r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Pittsburgh, PA
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Jewish Healthcare Foundation\r\n \r\n {' '}\r\n and its partners improved coordination and quality of care among local service providers, educated perinatal health workers, and built a local maternal health movement. \r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Trenton, NJ
\r\n \r\n \r\n
\r\n
\r\n \r\n Trenton Health Team\r\n {' '}\r\n and collaborators created a robust system of data analytics to expand knowledge of maternal health challenges and enhanced doula services to support women experiencing high-risk pregnancies within Black, Latinx and immigrant communities. They also provided a system of support to improve patient access to community resources. \r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Washington, DC
\r\n \r\n \r\n
\r\n
\r\n \r\n Mamatoto Village\r\n {' '}\r\n and collaborators are strengthening maternal health care for Black women and birthing people by advocating for system and policy changes that expand comprehensive, accessible and high-quality perinatal support services and provide sustainable solutions to address homelessness and inequitable housing.\r\n
\r\n \r\n AllianceChicago\r\n \r\n ,{' '}\r\n \r\n Ever Thrive Illinois\r\n {' '}\r\n and their partners improved the quality and coordination of care to serve women at highest risk and empower families and social service providers through its community outreach platform, \r\n “The Gathering”\r\n .\r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Columbus, OH
\r\n \r\n \r\n
\r\n
\r\n \r\n ROOTT\r\n {' '}\r\n and its partners created a model of community-based full-spectrum perinatal support doula care, with focus for Black women who have limited or no access to insurance, to ensure that they receive relevant, consistent, safe and equitable care. \r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Detroit, MI
\r\n \r\n \r\n
\r\n
\r\n The Southeast Michigan Perinatal Quality Improvement Coalition (SEMPQIC), the lead for \r\n Project Detroit: Voices for Life\r\n {' '} and local collaborators like the Michigan Public Health Institute built on existing community assets to foster conditions where Black mothers thrive by empowering Black women to advocate for their health needs and supporting care providers to reach their full potential in providing respectful and equitable care. \r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
St. Louis, MO
\r\n \r\n \r\n
\r\n
\r\n \r\n Jamaa Birth Village\r\n {' '}\r\n is increasing Black women’s access to culturally congruent holistic maternal health services by building a sustainable doula workforce and integrating doula care into existing health and hospital systems. \r\n
\r\n \r\n \r\n Black Mamas Matter Alliance\r\n \r\n {' '}\r\n and its partners created a social safety-net model to link women, particularly Black women, to care and critical services that could be scaled to other communities where access to health care is limited.\r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Austin, TX
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n The Maternal Health Equity Collaborative\r\n \r\n {' '}\r\n is offering culturally-sensitive and comprehensive perinatal childcare services to complement the wraparound community doula support of the collaborative and ensure that Black mothers and their families are able to access the holistic, whole-person care needed to alleviate maternal health complications and reduce inequities.\r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Jackson, MS
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Mississippi Public Health Institute\r\n \r\n {' '}\r\n and its partners provided community-based support to pregnant and post-partum women, reducing unnecessary caesarean sections, and decreasing adverse maternal health outcomes through specially trained doulas through the \r\n \r\n \r\n \"Jackson Safer Childbirth Experience\"\r\n \r\n .\r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
New Orleans, LA
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n Institute of Women and Ethnic Studies\r\n \r\n {' '}\r\n and its partners identified and linked birthing people who have unmet health needs and were disconnected from support to quality care and policy solutions. \r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Norfolk, VA
\r\n \r\n \r\n
\r\n
\r\n \r\n Urban Baby Beginnings\r\n {' '}\r\n and collaborators worked to reduce disparities for childbearing women of color by building data infrastructures for state and city officials, strengthening community-based support systems, connecting women to services provided by practitioners of color and raising women’s awareness of the importance of perinatal care through \r\n \r\n \"Project ReByrth\"\r\n .\r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Tampa, FL
\r\n \r\n \r\n
\r\n
\r\n \r\n REACHUP, Inc.\r\n {' '}\r\n and collaborators are improving perinatal mental\r\n wellness and reducing racial and ethnic disparities in\r\n perinatal health outcomes by facilitating access to a\r\n holistic, inclusive and responsive continuum of care\r\n for women and their families.\r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Linkedin\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
Tulsa, OK
\r\n \r\n \r\n
\r\n
\r\n The{' '}\r\n \r\n \r\n Tulsa Birth Equity Initiative (TBEI)\r\n \r\n {' '}\r\n equips families in Tulsa to have healthy births with\r\n dignity and reduce maternal health disparities. TBEI\r\n and collaborators will leverage the influence, skills\r\n and experiences of local organizations to improve\r\n maternal health policies, data systems and service\r\n delivery systems for Black, American Indian and\r\n justice-involved women and teens.\r\n
\r\n \r\n SisterWeb\r\n {' '}\r\n and collaborators increased Black and Latinx women’s access to culturally-, racially- and ethnically-aligned doula care by providing health advocacy, wellness interventions and mental health services before, during and after birth. \r\n
\r\n
\r\n Follow along:\r\n
\r\n
\r\n
\r\n \r\n Twitter\r\n \r\n
\r\n
\r\n \r\n Facebook\r\n \r\n
\r\n
\r\n \r\n Instagram\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n >\r\n )}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport default Cities;\r\n","module.exports = __webpack_public_path__ + \"static/map_usa_NE_mobile-5c268f2d82cdddfc3173df38e2a8ac05.png\";","module.exports = __webpack_public_path__ + \"static/chicago-d84841b02eb06fea86633aa3cd1de74f.png\";","module.exports = __webpack_public_path__ + \"static/tampa-c7b2642f0aaabaa2a1971065b93a2c1f.png\";","module.exports = __webpack_public_path__ + \"static/map_usa_WE-59eac00d3e0fd25dab07205803f993f2.png\";","module.exports = __webpack_public_path__ + \"static/newark-b16a7aec22695150ade73a72845fa41c.png\";","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Helpers = exports.ScrollElement = exports.ScrollLink = exports.animateScroll = exports.scrollSpy = exports.Events = exports.scroller = exports.Element = exports.Button = exports.Link = undefined;\nvar _Link = require('./components/Link.js');\nvar _Link2 = _interopRequireDefault(_Link);\nvar _Button = require('./components/Button.js');\nvar _Button2 = _interopRequireDefault(_Button);\nvar _Element = require('./components/Element.js');\nvar _Element2 = _interopRequireDefault(_Element);\nvar _scroller = require('./mixins/scroller.js');\nvar _scroller2 = _interopRequireDefault(_scroller);\nvar _scrollEvents = require('./mixins/scroll-events.js');\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\nvar _scrollSpy = require('./mixins/scroll-spy.js');\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\nvar _animateScroll = require('./mixins/animate-scroll.js');\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\nvar _scrollLink = require('./mixins/scroll-link.js');\nvar _scrollLink2 = _interopRequireDefault(_scrollLink);\nvar _scrollElement = require('./mixins/scroll-element.js');\nvar _scrollElement2 = _interopRequireDefault(_scrollElement);\nvar _Helpers = require('./mixins/Helpers.js');\nvar _Helpers2 = _interopRequireDefault(_Helpers);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nexports.Link = _Link2.default;\nexports.Button = _Button2.default;\nexports.Element = _Element2.default;\nexports.scroller = _scroller2.default;\nexports.Events = _scrollEvents2.default;\nexports.scrollSpy = _scrollSpy2.default;\nexports.animateScroll = _animateScroll2.default;\nexports.ScrollLink = _scrollLink2.default;\nexports.ScrollElement = _scrollElement2.default;\nexports.Helpers = _Helpers2.default;\nexports.default = {\n Link: _Link2.default,\n Button: _Button2.default,\n Element: _Element2.default,\n scroller: _scroller2.default,\n Events: _scrollEvents2.default,\n scrollSpy: _scrollSpy2.default,\n animateScroll: _animateScroll2.default,\n ScrollLink: _scrollLink2.default,\n ScrollElement: _scrollElement2.default,\n Helpers: _Helpers2.default\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nvar _scrollSpy = require('./scroll-spy');\nvar _scrollSpy2 = _interopRequireDefault(_scrollSpy);\nvar _scroller = require('./scroller');\nvar _scroller2 = _interopRequireDefault(_scroller);\nvar _propTypes = require('prop-types');\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nvar _scrollHash = require('./scroll-hash');\nvar _scrollHash2 = _interopRequireDefault(_scrollHash);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\nvar protoTypes = {\n to: _propTypes2.default.string.isRequired,\n containerId: _propTypes2.default.string,\n container: _propTypes2.default.object,\n activeClass: _propTypes2.default.string,\n activeStyle: _propTypes2.default.object,\n spy: _propTypes2.default.bool,\n horizontal: _propTypes2.default.bool,\n smooth: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.string]),\n offset: _propTypes2.default.number,\n delay: _propTypes2.default.number,\n isDynamic: _propTypes2.default.bool,\n onClick: _propTypes2.default.func,\n duration: _propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.func]),\n absolute: _propTypes2.default.bool,\n onSetActive: _propTypes2.default.func,\n onSetInactive: _propTypes2.default.func,\n ignoreCancelEvents: _propTypes2.default.bool,\n hashSpy: _propTypes2.default.bool,\n saveHashHistory: _propTypes2.default.bool,\n spyThrottle: _propTypes2.default.number\n};\nexports.default = function (Component, customScroller) {\n var scroller = customScroller || _scroller2.default;\n var Link = function (_React$PureComponent) {\n _inherits(Link, _React$PureComponent);\n function Link(props) {\n _classCallCheck(this, Link);\n var _this = _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).call(this, props));\n _initialiseProps.call(_this);\n _this.state = {\n active: false\n };\n return _this;\n }\n _createClass(Link, [{\n key: 'getScrollSpyContainer',\n value: function getScrollSpyContainer() {\n var containerId = this.props.containerId;\n var container = this.props.container;\n if (containerId && !container) {\n return document.getElementById(containerId);\n }\n if (container && container.nodeType) {\n return container;\n }\n return document;\n }\n }, {\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (this.props.spy || this.props.hashSpy) {\n var scrollSpyContainer = this.getScrollSpyContainer();\n if (!_scrollSpy2.default.isMounted(scrollSpyContainer)) {\n _scrollSpy2.default.mount(scrollSpyContainer, this.props.spyThrottle);\n }\n if (this.props.hashSpy) {\n if (!_scrollHash2.default.isMounted()) {\n _scrollHash2.default.mount(scroller);\n }\n _scrollHash2.default.mapContainer(this.props.to, scrollSpyContainer);\n }\n _scrollSpy2.default.addSpyHandler(this.spyHandler, scrollSpyContainer);\n this.setState({\n container: scrollSpyContainer\n });\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n _scrollSpy2.default.unmount(this.stateHandler, this.spyHandler);\n }\n }, {\n key: 'render',\n value: function render() {\n var className = \"\";\n if (this.state && this.state.active) {\n className = ((this.props.className || \"\") + \" \" + (this.props.activeClass || \"active\")).trim();\n } else {\n className = this.props.className;\n }\n var style = {};\n if (this.state && this.state.active) {\n style = _extends({}, this.props.style, this.props.activeStyle);\n } else {\n style = _extends({}, this.props.style);\n }\n var props = _extends({}, this.props);\n for (var prop in protoTypes) {\n if (props.hasOwnProperty(prop)) {\n delete props[prop];\n }\n }\n props.className = className;\n props.style = style;\n props.onClick = this.handleClick;\n return _react2.default.createElement(Component, props);\n }\n }]);\n return Link;\n }(_react2.default.PureComponent);\n var _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n this.scrollTo = function (to, props) {\n scroller.scrollTo(to, _extends({}, _this2.state, props));\n };\n this.handleClick = function (event) {\n /*\r\n * give the posibility to override onClick\r\n */\n\n if (_this2.props.onClick) {\n _this2.props.onClick(event);\n }\n\n /*\r\n * dont bubble the navigation\r\n */\n\n if (event.stopPropagation) event.stopPropagation();\n if (event.preventDefault) event.preventDefault();\n\n /*\r\n * do the magic!\r\n */\n _this2.scrollTo(_this2.props.to, _this2.props);\n };\n this.spyHandler = function (x, y) {\n var scrollSpyContainer = _this2.getScrollSpyContainer();\n if (_scrollHash2.default.isMounted() && !_scrollHash2.default.isInitialized()) {\n return;\n }\n var horizontal = _this2.props.horizontal;\n var to = _this2.props.to;\n var element = null;\n var isInside = void 0;\n var isOutside = void 0;\n if (horizontal) {\n var elemLeftBound = 0;\n var elemRightBound = 0;\n var containerLeft = 0;\n if (scrollSpyContainer.getBoundingClientRect) {\n var containerCords = scrollSpyContainer.getBoundingClientRect();\n containerLeft = containerCords.left;\n }\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n if (!element) {\n return;\n }\n var cords = element.getBoundingClientRect();\n elemLeftBound = cords.left - containerLeft + x;\n elemRightBound = elemLeftBound + cords.width;\n }\n var offsetX = x - _this2.props.offset;\n isInside = offsetX >= Math.floor(elemLeftBound) && offsetX < Math.floor(elemRightBound);\n isOutside = offsetX < Math.floor(elemLeftBound) || offsetX >= Math.floor(elemRightBound);\n } else {\n var elemTopBound = 0;\n var elemBottomBound = 0;\n var containerTop = 0;\n if (scrollSpyContainer.getBoundingClientRect) {\n var _containerCords = scrollSpyContainer.getBoundingClientRect();\n containerTop = _containerCords.top;\n }\n if (!element || _this2.props.isDynamic) {\n element = scroller.get(to);\n if (!element) {\n return;\n }\n var _cords = element.getBoundingClientRect();\n elemTopBound = _cords.top - containerTop + y;\n elemBottomBound = elemTopBound + _cords.height;\n }\n var offsetY = y - _this2.props.offset;\n isInside = offsetY >= Math.floor(elemTopBound) && offsetY < Math.floor(elemBottomBound);\n isOutside = offsetY < Math.floor(elemTopBound) || offsetY >= Math.floor(elemBottomBound);\n }\n var activeLink = scroller.getActiveLink();\n if (isOutside) {\n if (to === activeLink) {\n scroller.setActiveLink(void 0);\n }\n if (_this2.props.hashSpy && _scrollHash2.default.getHash() === to) {\n var _props$saveHashHistor = _this2.props.saveHashHistory,\n saveHashHistory = _props$saveHashHistor === undefined ? false : _props$saveHashHistor;\n _scrollHash2.default.changeHash(\"\", saveHashHistory);\n }\n if (_this2.props.spy && _this2.state.active) {\n _this2.setState({\n active: false\n });\n _this2.props.onSetInactive && _this2.props.onSetInactive(to, element);\n }\n }\n if (isInside && (activeLink !== to || _this2.state.active === false)) {\n scroller.setActiveLink(to);\n var _props$saveHashHistor2 = _this2.props.saveHashHistory,\n _saveHashHistory = _props$saveHashHistor2 === undefined ? false : _props$saveHashHistor2;\n _this2.props.hashSpy && _scrollHash2.default.changeHash(to, _saveHashHistory);\n if (_this2.props.spy) {\n _this2.setState({\n active: true\n });\n _this2.props.onSetActive && _this2.props.onSetActive(to, element);\n }\n }\n };\n };\n ;\n Link.propTypes = protoTypes;\n Link.defaultProps = {\n offset: 0\n };\n return Link;\n};","module.exports = __webpack_public_path__ + \"static/banner-homepage-861ffec84d1398c2e68a03df67616804.jpg\";","module.exports = __webpack_public_path__ + \"static/jackson-9abce81283377eb7048537db2befb17d.png\";","module.exports = __webpack_public_path__ + \"static/austin-b0e78c9c20c93fc65c7ee33b45155c4c.png\";","module.exports = __webpack_public_path__ + \"static/washington-630489e850f0715d869ad2fcf6485d85.png\";","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar _createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nvar _react = require('react');\nvar _react2 = _interopRequireDefault(_react);\nvar _reactDom = require('react-dom');\nvar _reactDom2 = _interopRequireDefault(_reactDom);\nvar _scroller = require('./scroller');\nvar _scroller2 = _interopRequireDefault(_scroller);\nvar _propTypes = require('prop-types');\nvar _propTypes2 = _interopRequireDefault(_propTypes);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _possibleConstructorReturn(self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n}\nexports.default = function (Component) {\n var Element = function (_React$Component) {\n _inherits(Element, _React$Component);\n function Element(props) {\n _classCallCheck(this, Element);\n var _this = _possibleConstructorReturn(this, (Element.__proto__ || Object.getPrototypeOf(Element)).call(this, props));\n _this.childBindings = {\n domNode: null\n };\n return _this;\n }\n _createClass(Element, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n if (typeof window === 'undefined') {\n return false;\n }\n this.registerElems(this.props.name);\n }\n }, {\n key: 'componentDidUpdate',\n value: function componentDidUpdate(prevProps) {\n if (this.props.name !== prevProps.name) {\n this.registerElems(this.props.name);\n }\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n if (typeof window === 'undefined') {\n return false;\n }\n _scroller2.default.unregister(this.props.name);\n }\n }, {\n key: 'registerElems',\n value: function registerElems(name) {\n _scroller2.default.register(name, this.childBindings.domNode);\n }\n }, {\n key: 'render',\n value: function render() {\n return _react2.default.createElement(Component, _extends({}, this.props, {\n parentBindings: this.childBindings\n }));\n }\n }]);\n return Element;\n }(_react2.default.Component);\n ;\n Element.propTypes = {\n name: _propTypes2.default.string,\n id: _propTypes2.default.string\n };\n return Element;\n};","import React, { useEffect, useState } from 'react';\r\nimport LinkDisclaimer from './LinkDisclaimer';\r\n\r\nconst ExternalLink = (props) => {\r\n const [showDisclaimer, setShowDisclaimer] = useState(false);\r\n useEffect(() => {\r\n if (props.showDisclaimer === true) {\r\n document.body.style.overflow = 'hidden';\r\n } else {\r\n document.body.style.overflow = 'unset';\r\n }\r\n }, [props.showDisclaimer]);\r\n\r\n return (\r\n <>\r\n {\r\n setShowDisclaimer(true);\r\n }}\r\n onKeyDown={() => setShowDisclaimer(true)}\r\n >\r\n {props.children}\r\n \r\n \r\n >\r\n );\r\n};\r\n\r\nexport default ExternalLink;\r\n","import React from 'react';\r\nimport { Container, Col, Row } from 'react-bootstrap';\r\n\r\n// import sccIcon from '../assets/images/scc-icon.png';\r\n\r\nclass HeadingBlock extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.children = this.props.children;\r\n\r\n this.title = this.props.title;\r\n this.height = this.props.height;\r\n this.image = this.props.image;\r\n this.reverse = this.props.reverse;\r\n this.light = this.props.light;\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.children}\r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n}\r\n\r\nexport default HeadingBlock;\r\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _lodash = require('lodash.throttle');\nvar _lodash2 = _interopRequireDefault(_lodash);\nvar _passiveEventListeners = require('./passive-event-listeners');\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n\n// The eventHandler will execute at a rate of 15fps by default\nvar eventThrottler = function eventThrottler(eventHandler) {\n var throttleAmount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 66;\n return (0, _lodash2.default)(eventHandler, throttleAmount);\n};\nvar scrollSpy = {\n spyCallbacks: [],\n spySetState: [],\n scrollSpyContainers: [],\n mount: function mount(scrollSpyContainer, throttle) {\n if (scrollSpyContainer) {\n var eventHandler = eventThrottler(function (event) {\n scrollSpy.scrollHandler(scrollSpyContainer);\n }, throttle);\n scrollSpy.scrollSpyContainers.push(scrollSpyContainer);\n (0, _passiveEventListeners.addPassiveEventListener)(scrollSpyContainer, 'scroll', eventHandler);\n }\n },\n isMounted: function isMounted(scrollSpyContainer) {\n return scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer) !== -1;\n },\n currentPositionX: function currentPositionX(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageYOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageXOffset : isCSS1Compat ? document.documentElement.scrollLeft : document.body.scrollLeft;\n } else {\n return scrollSpyContainer.scrollLeft;\n }\n },\n currentPositionY: function currentPositionY(scrollSpyContainer) {\n if (scrollSpyContainer === document) {\n var supportPageOffset = window.pageXOffset !== undefined;\n var isCSS1Compat = (document.compatMode || \"\") === \"CSS1Compat\";\n return supportPageOffset ? window.pageYOffset : isCSS1Compat ? document.documentElement.scrollTop : document.body.scrollTop;\n } else {\n return scrollSpyContainer.scrollTop;\n }\n },\n scrollHandler: function scrollHandler(scrollSpyContainer) {\n var callbacks = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)].spyCallbacks || [];\n callbacks.forEach(function (c) {\n return c(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n });\n },\n addStateHandler: function addStateHandler(handler) {\n scrollSpy.spySetState.push(handler);\n },\n addSpyHandler: function addSpyHandler(handler, scrollSpyContainer) {\n var container = scrollSpy.scrollSpyContainers[scrollSpy.scrollSpyContainers.indexOf(scrollSpyContainer)];\n if (!container.spyCallbacks) {\n container.spyCallbacks = [];\n }\n container.spyCallbacks.push(handler);\n handler(scrollSpy.currentPositionX(scrollSpyContainer), scrollSpy.currentPositionY(scrollSpyContainer));\n },\n updateStates: function updateStates() {\n scrollSpy.spySetState.forEach(function (s) {\n return s();\n });\n },\n unmount: function unmount(stateHandler, spyHandler) {\n scrollSpy.scrollSpyContainers.forEach(function (c) {\n return c.spyCallbacks && c.spyCallbacks.length && c.spyCallbacks.indexOf(spyHandler) > -1 && c.spyCallbacks.splice(c.spyCallbacks.indexOf(spyHandler), 1);\n });\n if (scrollSpy.spySetState && scrollSpy.spySetState.length && scrollSpy.spySetState.indexOf(stateHandler) > -1) {\n scrollSpy.spySetState.splice(scrollSpy.spySetState.indexOf(stateHandler), 1);\n }\n document.removeEventListener('scroll', scrollSpy.scrollHandler);\n },\n update: function update() {\n return scrollSpy.scrollSpyContainers.forEach(function (c) {\n return scrollSpy.scrollHandler(c);\n });\n }\n};\nexports.default = scrollSpy;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar updateHash = function updateHash(hash, historyUpdate) {\n var hashVal = hash.indexOf(\"#\") === 0 ? hash.substring(1) : hash;\n var hashToUpdate = hashVal ? \"#\" + hashVal : \"\";\n var curLoc = window && window.location;\n var urlToPush = hashToUpdate ? curLoc.pathname + curLoc.search + hashToUpdate : curLoc.pathname + curLoc.search;\n historyUpdate ? history.pushState(history.state, \"\", urlToPush) : history.replaceState(history.state, \"\", urlToPush);\n};\nvar getHash = function getHash() {\n return window.location.hash.replace(/^#/, \"\");\n};\nvar filterElementInContainer = function filterElementInContainer(container) {\n return function (element) {\n return container.contains ? container != element && container.contains(element) : !!(container.compareDocumentPosition(element) & 16);\n };\n};\nvar isPositioned = function isPositioned(element) {\n return getComputedStyle(element).position !== \"static\";\n};\nvar getElementOffsetInfoUntil = function getElementOffsetInfoUntil(element, predicate) {\n var offsetTop = element.offsetTop;\n var currentOffsetParent = element.offsetParent;\n while (currentOffsetParent && !predicate(currentOffsetParent)) {\n offsetTop += currentOffsetParent.offsetTop;\n currentOffsetParent = currentOffsetParent.offsetParent;\n }\n return {\n offsetTop: offsetTop,\n offsetParent: currentOffsetParent\n };\n};\nvar scrollOffset = function scrollOffset(c, t, horizontal) {\n if (horizontal) {\n return c === document ? t.getBoundingClientRect().left + (window.scrollX || window.pageXOffset) : getComputedStyle(c).position !== \"static\" ? t.offsetLeft : t.offsetLeft - c.offsetLeft;\n } else {\n if (c === document) {\n return t.getBoundingClientRect().top + (window.scrollY || window.pageYOffset);\n }\n\n // The offsetParent of an element, according to MDN, is its nearest positioned\n // (an element whose position is anything other than static) ancestor. The offsetTop\n // of an element is taken with respect to its offsetParent which may not neccessarily\n // be its parentElement except the parent itself is positioned.\n\n // So if containerElement is positioned, then it must be an offsetParent somewhere\n // If it happens that targetElement is a descendant of the containerElement, and there\n // is not intermediate positioned element between the two of them, i.e.\n // targetElement\"s offsetParent is the same as the containerElement, then the\n // distance between the two will be the offsetTop of the targetElement.\n // If, on the other hand, there are intermediate positioned elements between the\n // two entities, the distance between the targetElement and the containerElement\n // will be the accumulation of the offsetTop of the element and that of its\n // subsequent offsetParent until the containerElement is reached, since it\n // will also be an offsetParent at some point due to the fact that it is positioned.\n\n // If the containerElement is not positioned, then it can\"t be an offsetParent,\n // which means that the offsetTop of the targetElement would not be with respect to it.\n // However, if the two of them happen to have the same offsetParent, then\n // the distance between them will be the difference between their offsetTop\n // since they are both taken with respect to the same entity.\n // The last resort would be to accumulate their offsetTop until a common\n // offsetParent is reached (usually the document) and taking the difference\n // between the accumulated offsetTops\n\n if (isPositioned(c)) {\n if (t.offsetParent !== c) {\n var isContainerElementOrDocument = function isContainerElementOrDocument(e) {\n return e === c || e === document;\n };\n var _getElementOffsetInfo = getElementOffsetInfoUntil(t, isContainerElementOrDocument),\n offsetTop = _getElementOffsetInfo.offsetTop,\n offsetParent = _getElementOffsetInfo.offsetParent;\n if (offsetParent !== c) {\n throw new Error(\"Seems containerElement is not an ancestor of the Element\");\n }\n return offsetTop;\n }\n return t.offsetTop;\n }\n if (t.offsetParent === c.offsetParent) {\n return t.offsetTop - c.offsetTop;\n }\n var isDocument = function isDocument(e) {\n return e === document;\n };\n return getElementOffsetInfoUntil(t, isDocument).offsetTop - getElementOffsetInfoUntil(c, isDocument).offsetTop;\n }\n};\nexports.default = {\n updateHash: updateHash,\n getHash: getHash,\n filterElementInContainer: filterElementInContainer,\n scrollOffset: scrollOffset\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n};\nvar _utils = require('./utils');\nvar _utils2 = _interopRequireDefault(_utils);\nvar _animateScroll = require('./animate-scroll');\nvar _animateScroll2 = _interopRequireDefault(_animateScroll);\nvar _scrollEvents = require('./scroll-events');\nvar _scrollEvents2 = _interopRequireDefault(_scrollEvents);\nfunction _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nvar __mapped = {};\nvar __activeLink = void 0;\nexports.default = {\n unmount: function unmount() {\n __mapped = {};\n },\n register: function register(name, element) {\n __mapped[name] = element;\n },\n unregister: function unregister(name) {\n delete __mapped[name];\n },\n get: function get(name) {\n return __mapped[name] || document.getElementById(name) || document.getElementsByName(name)[0] || document.getElementsByClassName(name)[0];\n },\n setActiveLink: function setActiveLink(link) {\n return __activeLink = link;\n },\n getActiveLink: function getActiveLink() {\n return __activeLink;\n },\n scrollTo: function scrollTo(to, props) {\n var target = this.get(to);\n if (!target) {\n console.warn(\"target Element not found\");\n return;\n }\n props = _extends({}, props, {\n absolute: false\n });\n var containerId = props.containerId;\n var container = props.container;\n var containerElement = void 0;\n if (containerId) {\n containerElement = document.getElementById(containerId);\n } else if (container && container.nodeType) {\n containerElement = container;\n } else {\n containerElement = document;\n }\n props.absolute = true;\n var horizontal = props.horizontal;\n var scrollOffset = _utils2.default.scrollOffset(containerElement, target, horizontal) + (props.offset || 0);\n\n /*\r\n * if animate is not provided just scroll into the view\r\n */\n if (!props.smooth) {\n if (_scrollEvents2.default.registered['begin']) {\n _scrollEvents2.default.registered['begin'](to, target);\n }\n if (containerElement === document) {\n if (props.horizontal) {\n window.scrollTo(scrollOffset, 0);\n } else {\n window.scrollTo(0, scrollOffset);\n }\n } else {\n containerElement.scrollTop = scrollOffset;\n }\n if (_scrollEvents2.default.registered['end']) {\n _scrollEvents2.default.registered['end'](to, target);\n }\n return;\n }\n\n /*\r\n * Animate scrolling\r\n */\n\n _animateScroll2.default.animateTopScroll(scrollOffset, props, to, target);\n }\n};"],"sourceRoot":""}