diff --git a/src/scenes/home/getInvolved/getInvolved.css b/src/scenes/home/getInvolved/getInvolved.css
new file mode 100644
index 000000000..c2386514c
--- /dev/null
+++ b/src/scenes/home/getInvolved/getInvolved.css
@@ -0,0 +1,66 @@
+/* Shared styles for Get Involved sections: Why Give, Volunteer, etc. */
+
+.wrapper {
+ display: flex;
+}
+
+.half {
+ box-sizing: border-box;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ width: 50%;
+}
+
+.halfPhotoWrapper {
+ composes: half;
+}
+
+.photo {
+ width: 100%;
+ max-width: 500px;
+ height: auto;
+}
+
+.list {
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+
+.listItem {
+ display: flex;
+ align-items: center;
+}
+
+.itemText {
+ margin-left: 20px;
+}
+
+.button {
+ margin-top: 1rem;
+}
+
+@media only screen and (min-width: 1112px) {
+ .half {
+ padding: 2rem;
+ }
+}
+
+@media only screen and (min-width: 320px) and (max-width: 1111px) {
+ .wrapper {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ }
+
+ .half {
+ padding: 1rem 0;
+ width: 100%;
+ }
+
+ .halfPhotoWrapper {
+ order: -1;
+ }
+}
\ No newline at end of file
diff --git a/src/scenes/home/getInvolved/getInvolved.js b/src/scenes/home/getInvolved/getInvolved.js
new file mode 100644
index 000000000..44c8c17f0
--- /dev/null
+++ b/src/scenes/home/getInvolved/getInvolved.js
@@ -0,0 +1,19 @@
+import React from 'react';
+import HeroBanner from 'shared/components/heroBanner/heroBanner';
+import WhyGive from './whyGive/whyGive';
+import Volunteer from './volunteer/volunteer';
+
+const getInvolved = () => (
+
+
+
+
+
+
+);
+
+export default getInvolved;
diff --git a/src/scenes/home/getInvolved/volunteer/volunteer.js b/src/scenes/home/getInvolved/volunteer/volunteer.js
new file mode 100644
index 000000000..feff14417
--- /dev/null
+++ b/src/scenes/home/getInvolved/volunteer/volunteer.js
@@ -0,0 +1,54 @@
+import React from 'react';
+import FontAwesomeIcon from '@fortawesome/react-fontawesome';
+import faCheck from '@fortawesome/fontawesome-free-solid/faCheck';
+import LinkButton from 'shared/components/linkButton/linkButton';
+import Section from 'shared/components/section/section';
+import styles from '../getInvolved.css';
+
+const Volunteer = () => (
+
+
+
+
+ -
+
+
+ Join our community on Slack, and work with new software developers
+ to help grow and mentor them in learning to code and enter the
+ tech industry. Answer questions, participate in mock interviews,
+ and review resumes.
+
+
+
+ -
+
+
+ Lead a squad of new developers in learning new skills in Linux,
+ Python, cloud infrastructure, web development, and more.
+
+
+
+ -
+
+
+ Meet up with a local chapter (or start your own!) and network with
+ other new developers eager to build cool apps and code the future!
+
+
+
+
+
+

+
+
+
+
+
+
+);
+
+export default Volunteer;
diff --git a/src/scenes/home/getInvolved/whyGive/whyGive.js b/src/scenes/home/getInvolved/whyGive/whyGive.js
new file mode 100644
index 000000000..f55f13c32
--- /dev/null
+++ b/src/scenes/home/getInvolved/whyGive/whyGive.js
@@ -0,0 +1,78 @@
+import React from 'react';
+import FontAwesomeIcon from '@fortawesome/react-fontawesome';
+import faCheck from '@fortawesome/fontawesome-free-solid/faCheck';
+import LinkButton from 'shared/components/linkButton/linkButton';
+import Section from 'shared/components/section/section';
+import styles from '../getInvolved.css';
+
+const WhyGive = () => (
+
+
+
+

+
+
+
+ -
+
+
+ To provide veterans, transitioning servicemembers, and military
+ spouses with transformative educational experiences
+
+
+
+ -
+
+
+ To advocate for more diversity and opportunity in the tech
+ industry
+
+
+
+ -
+
+
+ To enable our mission to reach more members of the military
+ community
+
+
+
+ -
+
+
+ Scholarship funding for comp sci education, industry certification
+
+
+
+ -
+
+
+ Sending veterans to conferences and major tech industry events
+
+
+
+ -
+
+
+ Building more tech communities near military installations
+
+
+
+
+
+
+
+
+
+);
+
+export default WhyGive;
diff --git a/src/scenes/home/home.js b/src/scenes/home/home.js
index b7c03ea1d..63dedfdca 100644
--- a/src/scenes/home/home.js
+++ b/src/scenes/home/home.js
@@ -38,6 +38,7 @@ import Gala from './gala/gala';
import Terms from './termsOfService/termsOfService';
import OurPrograms from './ourPrograms/ourPrograms';
import ChapterLeader from './chapterLeader/chapterLeader';
+import GetInvolved from './getInvolved/getInvolved';
import Policy from './policy/policy';
import OpCodeCon from './opCodeCon/opCodeCon';
import styles from './home.css';
@@ -205,6 +206,7 @@ class Home extends Component {
+
{
+ const bannerStyles = {
+ backgroundImage: `url(${imageSrc})`
+ };
+
+ return (
+
+
+
{title}
+ { subtitle &&
+ {subtitle}
+ }
+
+
+ );
+};
+
+HeroBanner.propTypes = {
+ imageSrc: PropTypes.node.isRequired,
+ title: PropTypes.string.isRequired,
+ subtitle: PropTypes.string
+};
+
+HeroBanner.defaultProps = {
+ subtitle: ''
+};
+
+export default HeroBanner;
diff --git a/stories/components/heroBanner/index.js b/stories/components/heroBanner/index.js
new file mode 100644
index 000000000..19afff5de
--- /dev/null
+++ b/stories/components/heroBanner/index.js
@@ -0,0 +1,9 @@
+import react from 'react';
+import { storiesOf } from '@storybook/react';
+import HeroBanner from 'shared/components/heroBanner/heroBanner';
+
+import jamesBondJpg from '../../asset/james-bond.jpg';
+
+storiesOf('HeroBanner', module).add('Default', () => (
+
+));