diff --git a/src/components/Advantages/index.tsx b/src/components/Advantages/index.tsx index 32a81e66..57d2ed13 100644 --- a/src/components/Advantages/index.tsx +++ b/src/components/Advantages/index.tsx @@ -13,7 +13,7 @@ import { } from './styles.module.less'; type AdvantagesProps = { - icon: ReactNode; + icon?: ReactNode; image?: ReactNode; title: ReactNode; subtitle?: string; @@ -44,7 +44,9 @@ const Advantages = ({ isReverseColumnOnMobile={isReverseColumnOnMobile} >
-
{icon}
+ {icon && !isDarkTheme ? ( +
{icon}
+ ) : null}

{title}

{subtitle ?

{subtitle}

: null} {advantages ? ( diff --git a/src/components/DeploymentOptions/DeploymentOptionDiagram/index.tsx b/src/components/DeploymentOptions/DeploymentOptionDiagram/index.tsx index d81aa434..d7858ab0 100644 --- a/src/components/DeploymentOptions/DeploymentOptionDiagram/index.tsx +++ b/src/components/DeploymentOptions/DeploymentOptionDiagram/index.tsx @@ -25,7 +25,7 @@ import { privateDeploymentTag, metadataOnlyDarkerBlueTag, relativePosition, - privateDeploymentVpcBox, + ownedByEstuaryBox, } from './styles.module.less'; const iconSize = 30; @@ -86,22 +86,28 @@ const DeploymentOptionDiagram = ({ : 'Customer Cloud & Region'}
- {deploymentOption === 'private' ? ( + {['private', 'byoc'].includes(deploymentOption) ? (
- - - Private Deployment VPC - + + Owned by
{' '} + {deploymentOption === 'private' + ? 'Estuary' + : 'Customer'} +
+
+ + Private Deployment VPC
Private Data Plane @@ -117,7 +123,9 @@ const DeploymentOptionDiagram = ({
- {deploymentOption === 'byoc' ? ( -
- - Private Data Plane -
- ) : null}
- {['public', 'byoc'].includes(deploymentOption) ? ( + {deploymentOption === 'public' ? (
- - {deploymentOption === 'public' - ? 'Internet' - : 'metadata only'} - + Internet
) : null} - {deploymentOption === 'private' ? ( + {['private', 'byoc'].includes(deploymentOption) ? ( <>
:nth-child(1) { + max-width: 60%; + } + } + @media (max-width: 1024px) { h2 { font-size: 2.25rem; @@ -40,4 +46,4 @@ max-width: 220px; margin-top: 16px; } -} +} \ No newline at end of file diff --git a/src/components/DeploymentOptionsPage/ByocDeployment/index.tsx b/src/components/DeploymentOptionsPage/ByocDeployment/index.tsx index ac73f119..b3c7235c 100644 --- a/src/components/DeploymentOptionsPage/ByocDeployment/index.tsx +++ b/src/components/DeploymentOptionsPage/ByocDeployment/index.tsx @@ -1,14 +1,15 @@ +import clsx from 'clsx'; import { defaultWrapperGrey } from '../../../globalStyles/wrappers.module.less'; import DeploymentOptionDetails from '../../DeploymentOptions/DeploymentOptionDetails'; import { features } from '../shared'; -import { container } from '../styles.module.less'; +import { container, adaptedContainer } from '../styles.module.less'; import DeploymentOptionDiagram from '../../DeploymentOptions/DeploymentOptionDiagram'; import Container from '../../Container'; const ByocDeployment = () => { return (
- + { return (
- + { return (
- + :nth-child(1) { + max-width: 60%; + } + } +} + +.reverseAdaptedContainer { + @media (max-width: 1280px) and (min-width: 1025px) { + > :nth-child(2) { + max-width: 60%; + } + } +} \ No newline at end of file diff --git a/src/components/HeaderNavbar/Resources/index.tsx b/src/components/HeaderNavbar/Resources/index.tsx index 20517bd5..a39ccedd 100644 --- a/src/components/HeaderNavbar/Resources/index.tsx +++ b/src/components/HeaderNavbar/Resources/index.tsx @@ -107,17 +107,13 @@ const HeaderNavbarResources = ({ active, setActive }) => {
- - -
+ + +
{ href="/demo/" fullWidth > - Watch Product Tour (2 min) + Watch Interactive Demo
-
+
{ active={activeMenu === 'resources'} setActive={setActiveMenu} /> - - Docs -
); }; diff --git a/src/components/HeroSectionActions/RegisterCta.tsx b/src/components/HeroSectionActions/RegisterCta.tsx index ca33f7e6..0366f98c 100644 --- a/src/components/HeroSectionActions/RegisterCta.tsx +++ b/src/components/HeroSectionActions/RegisterCta.tsx @@ -4,7 +4,7 @@ import OutboundLinkFilled from '../LinksAndButtons/OutboundLinkFilled'; function RegisterCta() { return ( - Build a Pipeline + Start Building For Free ); } diff --git a/src/components/HeroSectionActions/index.tsx b/src/components/HeroSectionActions/index.tsx index 36e6097b..257a4031 100644 --- a/src/components/HeroSectionActions/index.tsx +++ b/src/components/HeroSectionActions/index.tsx @@ -1,17 +1,11 @@ import RegisterCta from './RegisterCta'; import ContactUsCta from './ContactUsCta'; -import WatchDemoCta from './WatchDemo'; -interface HeroSectionActionsProps { - showDemoCta?: boolean; -} - -function HeroSectionActions({ showDemoCta }: HeroSectionActionsProps) { +function HeroSectionActions() { return ( <> - {showDemoCta ? : null} ); } diff --git a/src/components/Homepage/AutomateDataops/index.tsx b/src/components/Homepage/AutomateDataops/index.tsx index e021bc1d..fc44ed96 100644 --- a/src/components/Homepage/AutomateDataops/index.tsx +++ b/src/components/Homepage/AutomateDataops/index.tsx @@ -1,5 +1,4 @@ import { StaticImage } from 'gatsby-plugin-image'; -import SingleDataflowIcon from '../../../svgs/metric-single-dataflow.svg'; import { docsPageUrl } from '../../../../shared'; import Advantages from '../../Advantages'; import { defaultWrapperGrey } from '../../../globalStyles/wrappers.module.less'; @@ -9,16 +8,7 @@ const AutomateDataops = () => { return (
} - title={ - <> - AUTOMATE DATAOPS - - } - subtitle="Use schema inference, evolution, and automation along - with a complete CLI and API to implement true agile - DataOps that can handle constant change without breaking - pipelines." + title={<>AUTOMATE DATAOPS} image={ { } ctaButtons={ - See the Docs + Register Now for Free } + advantages={[ + { + title: 'Automated Schema Inference and Evolution', + }, + { + title: 'Fully-featured CLI', + }, + { + title: 'Declarative pipelines with YAML', + }, + { + title: 'Detailed logging and monitoring', + }, + ]} isImageOnTheLeft />
diff --git a/src/components/Homepage/BuildInMinutes/index.tsx b/src/components/Homepage/BuildInMinutes/index.tsx index ef76ab8d..5d35b50a 100644 --- a/src/components/Homepage/BuildInMinutes/index.tsx +++ b/src/components/Homepage/BuildInMinutes/index.tsx @@ -9,12 +9,13 @@ const BuildInMinutes = () => {

- Build + Deliver + Value in minutes

- Use the UI to quickly build end-to-end pipelines using - no-code connectors. Estuary Flow does the rest. + Eliminate data silos, streamline workflows, and + accelerate operations

diff --git a/src/components/Homepage/DeploymentModes/index.tsx b/src/components/Homepage/DeploymentModes/index.tsx index 6bda74cb..05ee097e 100644 --- a/src/components/Homepage/DeploymentModes/index.tsx +++ b/src/components/Homepage/DeploymentModes/index.tsx @@ -2,17 +2,16 @@ import { defaultWrapperGrey } from '../../../globalStyles/wrappers.module.less'; import DeploymentOptions from '../../DeploymentOptions'; const optionsDescription = { - public: "Estuary Flow's standard SaaS option, fully managed for quick, hassle-free setup.", - private: - 'Offers enhanced security by hosting Estuary Flow within a private network, combining SaaS ease with more control.', - byoc: 'Deploy Estuary Flow on your cloud infrastructure for complete control.', + public: 'Our standard option, fully managed for quick, hassle-free setup', + private: 'Enhanced security by hosting Estuary within a private network', + byoc: 'Deploy Estuary on your cloud infrastructure for complete control', }; const keyFeatures = { public: [ 'Managed by Estuary', - 'Easy setup and minimal configuration', - 'Multiple data processing regions', + 'Easy setup and zero configuration', + 'EU or US data processing regions', ], private: [ 'Private network data control', diff --git a/src/components/Homepage/Do4xMoreWith25xLess/index.tsx b/src/components/Homepage/Do4xMoreWith25xLess/index.tsx index 213c2a78..5f3f64e0 100644 --- a/src/components/Homepage/Do4xMoreWith25xLess/index.tsx +++ b/src/components/Homepage/Do4xMoreWith25xLess/index.tsx @@ -11,13 +11,10 @@ const Do4xMoreWith25xLess = () => { icon={} title={ <> - DO 4X MORE WITH 2-5X LESS + DO MORE WITH LESS } - subtitle="Estuary customers aren't just benefitting from - being more real-time. They are 4x more productive. They - deliver new projects in days, not months. And they spend - 2-5x less on Estuary than on batch ELT." + subtitle="We combine agentless CDC, zero-code pipelines, and enterprise-grade governance to simplify data integration, and drive business agility at a fraction of the cost" image={} ctaButtons={ See Pricing diff --git a/src/components/Homepage/Hero/index.tsx b/src/components/Homepage/Hero/index.tsx index 12692570..f7d07ff8 100644 --- a/src/components/Homepage/Hero/index.tsx +++ b/src/components/Homepage/Hero/index.tsx @@ -1,7 +1,4 @@ import { Suspense } from 'react'; -import ActiveUsersIcon from '../../../svgs/metric-active-users.svg'; -import LatencyIcon from '../../../svgs/metric-latency.svg'; -import SingleDataflowIcon from '../../../svgs/metric-single-dataflow.svg'; import MetricCard from '../../MetricCard'; import VanityLogosMarquee from '../../VanityLogosMarquee'; import HeroSectionDetails from '../../HeroSectionDetails'; @@ -16,8 +13,6 @@ import { metricCardsList, } from './styles.module.less'; -const metricIconColor = 'var(--white)'; - const Hero = () => { return (
@@ -25,16 +20,14 @@ const Hero = () => { - MEET{' '} - THE FASTEST - , MOST RELIABLE{' '} - ETL + + YOUR DATA.
ANYTIME, +
{' '} + ANYWHERE. } - description="Estuary is the only platform built from the ground up - for truly real-time ETL and ELT data integration, set up - in minutes." - ctaButtons={} + description="Secure data integration with Estuary Flow, the enterprise data movement platform for real-time streaming and batch processing." + ctaButtons={} hasSubscriptionBenefits />
@@ -44,21 +37,10 @@ const Hero = () => {
    - } - value={activeUsersAmount} - label="Active users" - /> - } - value="<100ms" - label="Latency" - /> - } - value="7+gb/sec" - label="Single dataflow" - /> + + + +
diff --git a/src/components/Homepage/Hero/styles.module.less b/src/components/Homepage/Hero/styles.module.less index 4d694952..cf14d8e7 100644 --- a/src/components/Homepage/Hero/styles.module.less +++ b/src/components/Homepage/Hero/styles.module.less @@ -25,7 +25,7 @@ .container { .sectionTopBottomPadding; - padding-top: 100px; + padding-top: 60px; display: flex; flex-direction: column; background-color: var(--dark-blue); @@ -90,11 +90,18 @@ margin-top: 0; margin-bottom: 0; + padding-top: 60px; + padding-bottom: 60px; width: 100%; - display: flex; + display: grid; + grid-template-columns: repeat(4, 1fr); gap: 24px; @media (max-width: 1116px) { - flex-direction: column; + grid-template-columns: repeat(2, 1fr); + } + + @media (max-width: 600px) { + grid-template-columns: repeat(1, 1fr); } } diff --git a/src/components/Homepage/InnovateFaster/index.tsx b/src/components/Homepage/InnovateFaster/index.tsx deleted file mode 100644 index b66e1337..00000000 --- a/src/components/Homepage/InnovateFaster/index.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import DarkSwoopingLinesLeftDirectionBackground from '../../BackgroundImages/DarkSwoopingLinesLeftDirectionBackground'; -import MainConnectors from '../../MainConnectors'; -import { textWrapper } from '../styles.module.less'; -import Container from '../../Container'; -import { wrapper } from './styles.module.less'; - -const InnovateFaster = () => { - return ( - - -
-

INNOVATE FASTER

-

- Innovate faster with a single data pipeline that - decouples sources and destinations so you can share data - across analytics, apps, and AI, and add or change - systems, all without impacting others. -

-
- -
-
- ); -}; - -export default InnovateFaster; diff --git a/src/components/Homepage/InnovateFaster/styles.module.less b/src/components/Homepage/InnovateFaster/styles.module.less deleted file mode 100644 index 794e22c9..00000000 --- a/src/components/Homepage/InnovateFaster/styles.module.less +++ /dev/null @@ -1,32 +0,0 @@ -@import '../../../globalStyles/sections.module.less'; - -.wrapper { - padding-right: 0; - - h2 { - .globalMaxWidth; - padding-left: 0; - } - - p { - .globalMaxWidth; - - padding-left: 0; - width: 100%; - margin: 0; - text-align: center; - } - - @media (max-width: 425px) { - h2 { - padding-left: 0; - padding-right: 20px; - font-size: 1.75rem; - } - - p { - padding-left: 0; - padding-right: 20px; - } - } -} \ No newline at end of file diff --git a/src/components/Homepage/MoveAndTransform/index.tsx b/src/components/Homepage/MoveAndTransform/index.tsx index a847c874..d98538f9 100644 --- a/src/components/Homepage/MoveAndTransform/index.tsx +++ b/src/components/Homepage/MoveAndTransform/index.tsx @@ -1,20 +1,29 @@ import { StaticImage } from 'gatsby-plugin-image'; -import DiagramSourceConnectors from '../../DiagramConnectors/DiagramSourceConnectors'; -import DiagramDestinationConnectors from '../../DiagramConnectors/DiagramDestinationConnectors'; -import FlowCycle from '../../../svgs/flow-cycle.svg'; -import CaptureIcon from '../../../svgs/capture.svg'; -import RealTimeDelivery from '../../../svgs/real-time-delivery.svg'; -import StoreAndTransformIcon from '../../../svgs/store-and-transform.svg'; +import clsx from 'clsx'; +import RealTimeIcon from '../../../svgs/homepage/real-time.svg'; +import BatchIcon from '../../../svgs/homepage/batch.svg'; +import SaasIcon from '../../../svgs/homepage/saas.svg'; +import AnalyticsIcon from '../../../svgs/homepage/analytics.svg'; +import OpsIcon from '../../../svgs/homepage/ops.svg'; +import AiIcon from '../../../svgs/homepage/ai.svg'; +import StoreIcon from '../../../svgs/homepage/store.svg'; +import TransformIcon from '../../../svgs/homepage/transform.svg'; import { container, - desktopDiagramWrapper, header, - step, - StepIconWrapper, - steps, + desktopImage, mobileImage, - connectorsGroups, - flowCycleMiddleImage, + diagram, + card, + analytics, + operations, + ai, + realTimeStreams, + filesAndDatabases, + appsAndCloudServices, + storeAndTransform, + firstColumnHeading, + secondColumnHeading, } from './styles.module.less'; const MoveAndTransform = () => { @@ -22,90 +31,67 @@ const MoveAndTransform = () => {

- Move - and - transform - - data in real-time with the only platform built for{' '} - - ops - , - analytics - , and - AI + Move and transform data across 200+ systems

- Capture, transform, and materialize with millisecond latency - using ETL and ELT data integration, for an exact view of - your data that powers analytics and operations. + Integrate with millisecond latency for an exact view of your + data to power analytics, operations and AI.

-
-
-
- -
-
-

- 01Capture -

-

- Use 100s of no-code connectors for streaming CDC, - real-time, or batch. -

-
+
+

+ Connect to Any Data Source +

+

Put Your Data to Work

+
+ + Real-time Streams
- -
-
- -
-
-

- 02Stream-store-replay -

-

- Stream and store in your own storage, then replay - any time. -

-
+
+ + Files & Databases
- -
-
- -
+
+ + Apps & Cloud Services +
+
+ + Analytics +
+
+ + Operations +
+
+ + AI +
+
-

- 03Materialize -

-

- Load data at different speeds into many destinations - for analytics, ops, and AI. -

+ +
+

+ Combine and
Transform +

-
-
- - -
-
); }; diff --git a/src/components/Homepage/MoveAndTransform/styles.module.less b/src/components/Homepage/MoveAndTransform/styles.module.less index b129e84d..30b8860b 100644 --- a/src/components/Homepage/MoveAndTransform/styles.module.less +++ b/src/components/Homepage/MoveAndTransform/styles.module.less @@ -44,7 +44,6 @@ font-weight: 400; line-height: 30px; text-align: center; - max-width: 75%; margin: 24px 0 0 0; color: var(--dark-blue); @@ -54,100 +53,251 @@ } } -.steps { +.desktopDiagramWrapper { + display: grid; + grid-template-columns: 1fr 1.5fr 1fr; + padding: 24px; + align-items: center; + justify-content: center; + + @media (max-width: 768px) { + display: none !important; + } +} + +.flowCycleMiddleImage { + margin-top: 32px; +} + +.connectorsGroups { display: flex; - gap: 32px; + flex-direction: column; + z-index: 2; + + @media (max-width: 1280px) { + max-width: 320px; + } +} - @media (max-width: 1115px) { - flex-direction: column; +.mobileImage { + @media (min-width: 769px) { + display: none !important; + } +} + +.desktopImage { + @media (max-width: 768px) { + display: none !important; } } -.step { +.card { display: flex; - gap: 16px; - width: 33%; - border: 4px dotted var(--border-color); - border-radius: 16px; - padding: 16px; - position: relative; + flex-direction: column; + align-items: center; + gap: 0.5vw; + position: absolute; + z-index: 1; - @media (max-width: 1115px) { - width: 100%; + @media (min-width: 1601px) { + gap: 12px; } - h3 { - font-size: 1.25rem; - font-weight: 700; - line-height: 24px; - color: var(--grey); - text-transform: uppercase; - margin: 0; + span { + font-size: 1.125vw; + font-weight: 500; + + @media (min-width: 1601px) { + font-size: 1rem; + } + + @media (max-width: 768px) { + font-size: 3.5vw; + } + } - span { - color: var(--violet); - margin-right: 16px; + svg { + width: 2vw; + height: 2vw; - @media (max-width: 810px) { - margin-right: 12px; - } + @media (min-width: 1601px) { + width: 32px; + height: 32px; } - @media (max-width: 810px) { + @media (max-width: 768px) { + width: 6vw; + height: 6vw; + } + } +} + +.diagram { + position: relative; + + h4 { + font-weight: 800; + color: var(--grey); + position: absolute; + z-index: 1; + text-align: center; + top: 2.8vw; + font-size: 1.085vw; + line-height: 1.275vw; + + @media (min-width: 1601px) { font-size: 1rem; line-height: 19.2px; + top: 36px; } } - p { - font-size: 1rem; - font-weight: 400; - line-height: 30px; - color: var(--grey); - margin: 12px 0 0 0; + .firstColumnHeading { + left: 1.8vw; + + @media (min-width: 1601px) { + top: 45px; + left: 38px; + } + + @media (max-width: 768px) { + top: 2%; + left: 24%; + font-size: 3vw; + line-height: 3.5vw; + } + } + + .secondColumnHeading { + top: 2vw; + right: 3.5vw; + + @media (min-width: 1601px) { + top: 36px; + right: 64px; + } + + @media (max-width: 768px) { + top: 75.3%; + left: 6%; + font-size: 3vw; + line-height: 3.5vw; + } } } -.StepIconWrapper { - border: 1px solid var(--border-color); - border-radius: 8px; - padding: 12px; - height: fit-content; +.realTimeStreams { + top: 8.5vw; + left: 4.2vw; - svg { - display: block; - color: var(--grey); + @media (min-width: 1601px) { + top: 130px; + left: 75px; + } + + @media (max-width: 768px) { + top: 5.5%; + left: 30%; } } -.desktopDiagramWrapper { - display: grid; - grid-template-columns: 1fr 1.5fr 1fr; - padding: 24px; - align-items: center; - justify-content: center; +.filesAndDatabases { + top: 20vw; + left: 4.2vw; + + @media (min-width: 1601px) { + top: 320px; + left: 75px; + } @media (max-width: 768px) { - display: none !important; + top: 13%; + left: 30%; } } -.flowCycleMiddleImage { - margin-top: 32px; +.appsAndCloudServices { + top: 30.5vw; + left: 2.8vw; + + @media (min-width: 1601px) { + top: 495px; + left: 56px; + } + + @media (max-width: 768px) { + top: 19.8%; + left: 25%; + } } -.connectorsGroups { - display: flex; - flex-direction: column; - z-index: 2; +.analytics { + top: 7.5vw; + right: 6.5vw; - @media (max-width: 1280px) { - max-width: 320px; + @media (min-width: 1601px) { + top: 122px; + right: 110px; + } + + @media (max-width: 768px) { + top: 78.7%; + left: 10%; } } -.mobileImage { - @media (min-width: 769px) { - display: none !important; +.operations { + top: 19vw; + right: 6vw; + + @media (min-width: 1601px) { + top: 310px; + right: 100px; + } + + @media (max-width: 768px) { + top: 86%; + left: 10%; + } +} + +.ai { + top: 31vw; + right: 8vw; + + @media (min-width: 1601px) { + top: 500px; + right: 130px; + } + + @media (max-width: 768px) { + top: 93.5%; + left: 10%; + } +} + +.storeAndTransform { + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + + div { + display: flex; + align-items: center; + gap: 8px; + } + + h4 { + position: static; + + @media (max-width: 768px) { + font-size: 3vw; + line-height: 3.5vw; + } + } + + @media (max-width: 768px) { + top: 50.5%; + gap: 8px; } } \ No newline at end of file diff --git a/src/components/Homepage/TheBestRealTimeCdc/index.tsx b/src/components/Homepage/TheBestRealTimeCdc/index.tsx deleted file mode 100644 index 28a34043..00000000 --- a/src/components/Homepage/TheBestRealTimeCdc/index.tsx +++ /dev/null @@ -1,64 +0,0 @@ -import { StaticImage } from 'gatsby-plugin-image'; -import RealTimeCdc from '../../../svgs/real-time-cdc.svg'; -import Advantages from '../../Advantages'; -import { defaultWrapperGrey } from '../../../globalStyles/wrappers.module.less'; -import LinkFilled from '../../LinksAndButtons/LinkFilled'; - -const TheBestRealTimeCdc = () => { - return ( -
- } - title={ - <> - USE THE BEST REAL-TIME CDC - - } - subtitle="Estuary Flow is the most real-time, most reliable change - data capture (CDC) available today. It is the only CDC - with the:" - image={ - - } - advantages={[ - { - id: 18, - title: 'Fastest captures, with sub-100ms end-to-end latency', - }, - { - id: 19, - title: 'Most reliable delivery via stream-store-replay', - }, - { - id: 20, - title: 'Most flexible materializations that run at your speed of choice', - }, - { - id: 21, - title: 'Most automated pipelines with schema evolution', - }, - { - id: 22, - title: 'Most versatile writes that maintain a current view or all change history', - }, - { - id: 23, - title: 'Most scalable pipelines, with true elastic scaling', - }, - ]} - ctaButtons={ - - View Connectors - - } - /> -
- ); -}; - -export default TheBestRealTimeCdc; diff --git a/src/components/MetricCard/index.tsx b/src/components/MetricCard/index.tsx index 1193299f..ae758546 100644 --- a/src/components/MetricCard/index.tsx +++ b/src/components/MetricCard/index.tsx @@ -1,14 +1,16 @@ import { ReactNode } from 'react'; +import clsx from 'clsx'; import { container, metricIconWrapper, metricLabel, metricsWrapper, + centeredMetricsWrapper, metricValue, } from './styles.module.less'; interface MetricCardProps { - icon: ReactNode; + icon?: ReactNode; value: string; label: string; } @@ -16,8 +18,13 @@ interface MetricCardProps { const MetricCard = ({ icon, value, label }: MetricCardProps) => { return (
  • -
    {icon}
    -
    + {icon ?
    {icon}
    : null} +
    {value} {label}
    diff --git a/src/components/MetricCard/styles.module.less b/src/components/MetricCard/styles.module.less index b41f9b32..33ff7a2d 100644 --- a/src/components/MetricCard/styles.module.less +++ b/src/components/MetricCard/styles.module.less @@ -10,14 +10,8 @@ background-color: #0e2443; margin-bottom: 0; - @media (max-width: 1116px) { - flex-direction: row; - justify-content: left; - } - @media (max-width: 345px) { - flex-direction: column; - justify-content: center; + padding: 12px; } } @@ -37,15 +31,10 @@ display: flex; flex-direction: column; gap: 4px; - align-items: flex-start; - - @media (max-width: 1116px) { - align-items: flex-start; - } +} - @media (max-width: 345px) { - align-items: center; - } +.centeredMetricsWrapper { + text-align: center; } .metricValue { @@ -55,6 +44,7 @@ line-height: 43.2px; @media (max-width: 345px) { + font-size: 1.5rem; text-align: center; } } @@ -66,6 +56,7 @@ line-height: 30px; @media (max-width: 345px) { + font-size: 1rem; text-align: center; } } \ No newline at end of file diff --git a/src/components/SecurityCertificates/index.tsx b/src/components/SecurityCertificates/index.tsx index 70142ae3..bb6689dc 100644 --- a/src/components/SecurityCertificates/index.tsx +++ b/src/components/SecurityCertificates/index.tsx @@ -29,7 +29,7 @@ const SecurityCertificates = ({ } subtitle={ subtitle ?? - 'Estuary Flow is designed and tested to make sure your data and your systems stay secure.' + 'We’ve designed Estuary with air-tight compliance standards to make sure your data and systems are secure - no matter what' } image={ {

    - SEE HOW - ESTUARY CAN WORK FOR YOU AND YOUR DATA + Unlock the full potential of your data

    {buttons}
    diff --git a/src/images/flow-mobile.png b/src/images/flow-mobile.png deleted file mode 100644 index 552b39e0..00000000 Binary files a/src/images/flow-mobile.png and /dev/null differ diff --git a/src/images/homepage/move-and-transform-data-mobile.png b/src/images/homepage/move-and-transform-data-mobile.png new file mode 100644 index 00000000..3482ee7e Binary files /dev/null and b/src/images/homepage/move-and-transform-data-mobile.png differ diff --git a/src/images/homepage/move-and-transform-data.png b/src/images/homepage/move-and-transform-data.png new file mode 100644 index 00000000..7540411a Binary files /dev/null and b/src/images/homepage/move-and-transform-data.png differ diff --git a/src/pages/index.tsx b/src/pages/index.tsx index a70772b3..789bb54d 100644 --- a/src/pages/index.tsx +++ b/src/pages/index.tsx @@ -5,31 +5,26 @@ import Hero from '../components/Homepage/Hero'; import MoveAndTransform from '../components/Homepage/MoveAndTransform'; import SuccessStories from '../components/Homepage/SuccessStories'; import SecureYourData from '../components/Homepage/SecureYourData'; -import TheBestRealTimeCdc from '../components/Homepage/TheBestRealTimeCdc'; import BuildInMinutes from '../components/Homepage/BuildInMinutes'; import AutomateDataops from '../components/Homepage/AutomateDataops'; -import InnovateFaster from '../components/Homepage/InnovateFaster'; import Do4xMoreWith25xLess from '../components/Homepage/Do4xMoreWith25xLess'; import WhatPeopleAreSaying from '../components/Homepage/WhatPeopleAreSaying'; import DeploymentModes from '../components/Homepage/DeploymentModes'; import SeeHowSection from '../components/SeeHowSection'; import OutboundLinkFilled from '../components/LinksAndButtons/OutboundLinkFilled'; -import OutboundLinkOutlined from '../components/LinksAndButtons/OutboundLinkOutlined'; import LinkOutlined from '../components/LinksAndButtons/LinkOutlined'; -import { dashboardRegisterUrl, webinarsUrl } from '../../shared'; +import { dashboardRegisterUrl } from '../../shared'; const IndexPage = () => { return ( - + - - - + { href={dashboardRegisterUrl} target="_blank" > - Try Now + Try Now For Free - - Watch Demo - - - diff --git a/src/svgs/homepage/ai.svg b/src/svgs/homepage/ai.svg new file mode 100644 index 00000000..800b5de1 --- /dev/null +++ b/src/svgs/homepage/ai.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/svgs/homepage/analytics.svg b/src/svgs/homepage/analytics.svg new file mode 100644 index 00000000..4e4ba396 --- /dev/null +++ b/src/svgs/homepage/analytics.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/svgs/homepage/batch.svg b/src/svgs/homepage/batch.svg new file mode 100644 index 00000000..40dac504 --- /dev/null +++ b/src/svgs/homepage/batch.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/svgs/homepage/ops.svg b/src/svgs/homepage/ops.svg new file mode 100644 index 00000000..aca30fa5 --- /dev/null +++ b/src/svgs/homepage/ops.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/svgs/homepage/real-time.svg b/src/svgs/homepage/real-time.svg new file mode 100644 index 00000000..cf929758 --- /dev/null +++ b/src/svgs/homepage/real-time.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/svgs/homepage/saas.svg b/src/svgs/homepage/saas.svg new file mode 100644 index 00000000..a2904467 --- /dev/null +++ b/src/svgs/homepage/saas.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/svgs/homepage/store.svg b/src/svgs/homepage/store.svg new file mode 100644 index 00000000..39ef0301 --- /dev/null +++ b/src/svgs/homepage/store.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/svgs/homepage/transform.svg b/src/svgs/homepage/transform.svg new file mode 100644 index 00000000..6b965e37 --- /dev/null +++ b/src/svgs/homepage/transform.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/svgs/real-time-delivery.svg b/src/svgs/real-time-delivery.svg deleted file mode 100644 index 0df607f9..00000000 --- a/src/svgs/real-time-delivery.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/svgs/store-and-transform.svg b/src/svgs/store-and-transform.svg deleted file mode 100644 index 867b75a6..00000000 --- a/src/svgs/store-and-transform.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - -