diff --git a/public/icons/our-products/fhirConverter.svg b/public/icons/our-products/fhirConverter.svg
new file mode 100644
index 0000000..1f77be3
--- /dev/null
+++ b/public/icons/our-products/fhirConverter.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/public/icons/our-products/flatFormatter.svg b/public/icons/our-products/flatFormatter.svg
new file mode 100644
index 0000000..46a82f4
--- /dev/null
+++ b/public/icons/our-products/flatFormatter.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/public/icons/our-products/geocoding.svg b/public/icons/our-products/geocoding.svg
new file mode 100644
index 0000000..b4f9bb1
--- /dev/null
+++ b/public/icons/our-products/geocoding.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/public/icons/our-products/orchestration.svg b/public/icons/our-products/orchestration.svg
new file mode 100644
index 0000000..e748eaa
--- /dev/null
+++ b/public/icons/our-products/orchestration.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/public/icons/our-products/phdcConverter.svg b/public/icons/our-products/phdcConverter.svg
new file mode 100644
index 0000000..bb1a58a
--- /dev/null
+++ b/public/icons/our-products/phdcConverter.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/public/icons/our-products/recordLinkage.svg b/public/icons/our-products/recordLinkage.svg
new file mode 100644
index 0000000..975a237
--- /dev/null
+++ b/public/icons/our-products/recordLinkage.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/public/icons/our-products/standardization.svg b/public/icons/our-products/standardization.svg
new file mode 100644
index 0000000..b40a21e
--- /dev/null
+++ b/public/icons/our-products/standardization.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/public/icons/our-products/validation.svg b/public/icons/our-products/validation.svg
new file mode 100644
index 0000000..1120256
--- /dev/null
+++ b/public/icons/our-products/validation.svg
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/app/components/ContentContainer/ContentContainer.tsx b/src/app/components/ContentContainer/ContentContainer.tsx
index d2e840a..59f5beb 100644
--- a/src/app/components/ContentContainer/ContentContainer.tsx
+++ b/src/app/components/ContentContainer/ContentContainer.tsx
@@ -1,23 +1,24 @@
-import { GridContainer } from '@trussworks/react-uswds';
import classNames from 'classnames';
interface ContentContainerProps {
children: React.ReactNode;
align?: boolean;
+ classes?: string;
}
export function ContentContainer({
children,
align = false,
+ classes = 'ml-auto mr-auto flex max-w-[87.5rem] flex-col px-10 py-4 sm:px-14 sm:py-20',
}: ContentContainerProps) {
return (
);
}
diff --git a/src/app/components/Hero/Hero.module.scss b/src/app/components/Hero/Hero.module.scss
index 43d7ee5..66edacf 100644
--- a/src/app/components/Hero/Hero.module.scss
+++ b/src/app/components/Hero/Hero.module.scss
@@ -1,17 +1,17 @@
.content {
display: flex;
- padding: 0px 30px;
+ padding: 0 3rem;
align-items: center;
- gap: 60px;
- max-width: 1200px;
+ gap: 3.75rem;
+ max-width: 75rem;
}
.heading {
max-width: 58.75rem;
color: #224a58;
- font-size: 40px;
+ font-size: 2.5rem;
font-style: normal;
font-weight: 700;
line-height: normal;
- margin: 0px;
+ margin: 0;
}
diff --git a/src/app/custom-styles.css b/src/app/custom-styles.css
index bbd4892..750d260 100644
--- a/src/app/custom-styles.css
+++ b/src/app/custom-styles.css
@@ -9,7 +9,7 @@
}
:root {
- --background: #ffffff;
+ --background: #e7f2f580;
--foreground: #171717;
--header-teal: #224a58;
--background-light-blue: #dcecf3;
@@ -18,7 +18,7 @@
html,
body {
- background: #e7f2f580;
+ background: var(--background);
font-family: 'Source Sans Pro', sans-serif;
}
@@ -57,9 +57,9 @@ body {
}
h1 {
- font-size: 40px;
+ font-size: 2.5rem;
font-weight: 700;
- line-height: 50.28px;
+ line-height: 3.125rem;
text-align: left;
}
@@ -72,6 +72,14 @@ h2 {
line-height: normal;
}
+h3 {
+ color: #224a58;
+ font-family: 'Source Sans Pro', sans-serif;
+ font-weight: 700;
+ font-size: 1.38rem;
+ line-height: 1.69rem;
+}
+
ul {
margin-bottom: 1em;
margin-top: 1em;
diff --git a/src/app/our-products/page.tsx b/src/app/our-products/page.tsx
index 0ac25cb..c78631d 100644
--- a/src/app/our-products/page.tsx
+++ b/src/app/our-products/page.tsx
@@ -1,23 +1,223 @@
+import Image from 'next/image';
import Link from 'next/link';
+import { basePath } from '../utils/constants';
+import Hero from '../components/Hero/Hero';
+import { ContentContainer } from '../components/ContentContainer/ContentContainer';
-export default function ProductDetail() {
+export default function OurProducts() {
return (
-
Our Products
-
-
- Home
-
-
- Our products
-
-
- Product detail
-
-
- Resources
-
-
+
+
+
);
}
+
+function StandaloneProducts() {
+ return (
+
+ Standalone Products
+
+
+ );
+}
+
+interface ProductCardProps {
+ title: string;
+ text: string;
+ imgSrc: string;
+ linkText: string;
+ linkToHref: string;
+}
+function ProductCard({
+ title,
+ text,
+ imgSrc,
+ linkText,
+ linkToHref,
+}: ProductCardProps) {
+ return (
+
+
+
+
+
+
+ {linkText}
+
+
+ );
+}
+
+interface DataPipelineCardProps {
+ title: string;
+ text: string;
+ imgSrc: string;
+}
+
+function DataPipelineCard({ title, text, imgSrc }: DataPipelineCardProps) {
+ return (
+
+ );
+}
+
+interface DataPipelineGridProps {
+ children: React.ReactNode;
+}
+function DataPipelineGrid({ children }: DataPipelineGridProps) {
+ return (
+ {children}
+ );
+}
+
+function DataPipeline() {
+ return (
+
+
+
+
+
DIBBs to support the entire data pipeline
+
+ These are the underlying services that power each of our products;
+ they can be configured in a variety of ways to support the unique
+ needs of your jurisdiction.
+
+
+
+
+ FOR DATA PROCESSING
+
+
+
+
+
+
+
+ FOR DATA ENRICHMENT
+
+
+
+
+
+
+
+ FOR DATA TRANSFORMATION
+
+
+
+
+
+
+ );
+}