responsive and other changes
This commit is contained in:
100
package-lock.json
generated
100
package-lock.json
generated
@@ -34,6 +34,7 @@
|
|||||||
"@radix-ui/react-toggle": "^1.1.2",
|
"@radix-ui/react-toggle": "^1.1.2",
|
||||||
"@radix-ui/react-toggle-group": "^1.1.2",
|
"@radix-ui/react-toggle-group": "^1.1.2",
|
||||||
"@radix-ui/react-tooltip": "^1.1.8",
|
"@radix-ui/react-tooltip": "^1.1.8",
|
||||||
|
"@reduxjs/toolkit": "^2.9.0",
|
||||||
"@tailwindcss/postcss": "^4.1.12",
|
"@tailwindcss/postcss": "^4.1.12",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "*",
|
"clsx": "*",
|
||||||
@@ -48,6 +49,7 @@
|
|||||||
"react-day-picker": "^8.10.1",
|
"react-day-picker": "^8.10.1",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
"react-hook-form": "^7.55.0",
|
"react-hook-form": "^7.55.0",
|
||||||
|
"react-redux": "^9.2.0",
|
||||||
"react-resizable-panels": "^2.1.7",
|
"react-resizable-panels": "^2.1.7",
|
||||||
"react-router-dom": "^7.8.2",
|
"react-router-dom": "^7.8.2",
|
||||||
"recharts": "^2.15.2",
|
"recharts": "^2.15.2",
|
||||||
@@ -2239,6 +2241,32 @@
|
|||||||
"integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==",
|
"integrity": "sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@reduxjs/toolkit": {
|
||||||
|
"version": "2.9.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.9.0.tgz",
|
||||||
|
"integrity": "sha512-fSfQlSRu9Z5yBkvsNhYF2rPS8cGXn/TZVrlwN1948QyZ8xMZ0JvP50S2acZNaf+o63u6aEeMjipFyksjIcWrog==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@standard-schema/spec": "^1.0.0",
|
||||||
|
"@standard-schema/utils": "^0.3.0",
|
||||||
|
"immer": "^10.0.3",
|
||||||
|
"redux": "^5.0.1",
|
||||||
|
"redux-thunk": "^3.1.0",
|
||||||
|
"reselect": "^5.1.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"react": "^16.9.0 || ^17.0.0 || ^18 || ^19",
|
||||||
|
"react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"react": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"react-redux": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@rolldown/pluginutils": {
|
"node_modules/@rolldown/pluginutils": {
|
||||||
"version": "1.0.0-beta.27",
|
"version": "1.0.0-beta.27",
|
||||||
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
|
"resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz",
|
||||||
@@ -2526,6 +2554,18 @@
|
|||||||
"win32"
|
"win32"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"node_modules/@standard-schema/spec": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@standard-schema/utils": {
|
||||||
|
"version": "0.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@standard-schema/utils/-/utils-0.3.0.tgz",
|
||||||
|
"integrity": "sha512-e7Mew686owMaPJVNNLs55PUvgz371nKgwsc4vxE49zsODpJEnxgxRo2y/OKrqueavXgZNMDVj3DdHFlaSAeU8g==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@swc/core": {
|
"node_modules/@swc/core": {
|
||||||
"version": "1.13.5",
|
"version": "1.13.5",
|
||||||
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.5.tgz",
|
"resolved": "https://registry.npmjs.org/@swc/core/-/core-1.13.5.tgz",
|
||||||
@@ -3158,6 +3198,12 @@
|
|||||||
"@types/react": "^19.0.0"
|
"@types/react": "^19.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/use-sync-external-store": {
|
||||||
|
"version": "0.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz",
|
||||||
|
"integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@vitejs/plugin-react": {
|
"node_modules/@vitejs/plugin-react": {
|
||||||
"version": "5.0.2",
|
"version": "5.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.0.2.tgz",
|
||||||
@@ -3715,6 +3761,16 @@
|
|||||||
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
|
"node_modules/immer": {
|
||||||
|
"version": "10.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/immer/-/immer-10.1.3.tgz",
|
||||||
|
"integrity": "sha512-tmjF/k8QDKydUlm3mZU+tjM6zeq9/fFpPqH9SzWmBnVVKsPBg/V66qsMwb3/Bo90cgUN+ghdVBess+hPsxUyRw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"funding": {
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/immer"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/input-otp": {
|
"node_modules/input-otp": {
|
||||||
"version": "1.4.2",
|
"version": "1.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/input-otp/-/input-otp-1.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/input-otp/-/input-otp-1.4.2.tgz",
|
||||||
@@ -4309,6 +4365,29 @@
|
|||||||
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/react-redux": {
|
||||||
|
"version": "9.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz",
|
||||||
|
"integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/use-sync-external-store": "^0.0.6",
|
||||||
|
"use-sync-external-store": "^1.4.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"@types/react": "^18.2.25 || ^19",
|
||||||
|
"react": "^18.0 || ^19",
|
||||||
|
"redux": "^5.0.0"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"@types/react": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"redux": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/react-refresh": {
|
"node_modules/react-refresh": {
|
||||||
"version": "0.17.0",
|
"version": "0.17.0",
|
||||||
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
|
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz",
|
||||||
@@ -4499,6 +4578,27 @@
|
|||||||
"decimal.js-light": "^2.4.1"
|
"decimal.js-light": "^2.4.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/redux": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/redux-thunk": {
|
||||||
|
"version": "3.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz",
|
||||||
|
"integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"redux": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/reselect": {
|
||||||
|
"version": "5.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz",
|
||||||
|
"integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/rollup": {
|
"node_modules/rollup": {
|
||||||
"version": "4.49.0",
|
"version": "4.49.0",
|
||||||
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.49.0.tgz",
|
"resolved": "https://registry.npmjs.org/rollup/-/rollup-4.49.0.tgz",
|
||||||
|
|||||||
@@ -29,6 +29,7 @@
|
|||||||
"@radix-ui/react-toggle": "^1.1.2",
|
"@radix-ui/react-toggle": "^1.1.2",
|
||||||
"@radix-ui/react-toggle-group": "^1.1.2",
|
"@radix-ui/react-toggle-group": "^1.1.2",
|
||||||
"@radix-ui/react-tooltip": "^1.1.8",
|
"@radix-ui/react-tooltip": "^1.1.8",
|
||||||
|
"@reduxjs/toolkit": "^2.9.0",
|
||||||
"@tailwindcss/postcss": "^4.1.12",
|
"@tailwindcss/postcss": "^4.1.12",
|
||||||
"class-variance-authority": "^0.7.1",
|
"class-variance-authority": "^0.7.1",
|
||||||
"clsx": "*",
|
"clsx": "*",
|
||||||
@@ -43,6 +44,7 @@
|
|||||||
"react-day-picker": "^8.10.1",
|
"react-day-picker": "^8.10.1",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
"react-hook-form": "^7.55.0",
|
"react-hook-form": "^7.55.0",
|
||||||
|
"react-redux": "^9.2.0",
|
||||||
"react-resizable-panels": "^2.1.7",
|
"react-resizable-panels": "^2.1.7",
|
||||||
"react-router-dom": "^7.8.2",
|
"react-router-dom": "^7.8.2",
|
||||||
"recharts": "^2.15.2",
|
"recharts": "^2.15.2",
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ export function BookFacility() {
|
|||||||
return (
|
return (
|
||||||
<div className="min-h-screen" style={{ backgroundColor: '#F7F7FD' }}>
|
<div className="min-h-screen" style={{ backgroundColor: '#F7F7FD' }}>
|
||||||
<div className="pt-40 pb-16">
|
<div className="pt-40 pb-16">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="max-w-2xl mx-auto text-center">
|
<div className="max-w-2xl mx-auto text-center">
|
||||||
<div
|
<div
|
||||||
className="w-20 h-20 rounded-full flex items-center justify-center mx-auto mb-6"
|
className="w-20 h-20 rounded-full flex items-center justify-center mx-auto mb-6"
|
||||||
@@ -295,7 +295,7 @@ export function BookFacility() {
|
|||||||
return (
|
return (
|
||||||
<div className="min-h-screen" style={{ backgroundColor: '#F7F7FD' }}>
|
<div className="min-h-screen" style={{ backgroundColor: '#F7F7FD' }}>
|
||||||
<div className="pt-40 pb-16">
|
<div className="pt-40 pb-16">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="max-w-2xl mx-auto text-center">
|
<div className="max-w-2xl mx-auto text-center">
|
||||||
<div
|
<div
|
||||||
className="w-20 h-20 rounded-full flex items-center justify-center mx-auto mb-6"
|
className="w-20 h-20 rounded-full flex items-center justify-center mx-auto mb-6"
|
||||||
@@ -355,7 +355,7 @@ export function BookFacility() {
|
|||||||
return (
|
return (
|
||||||
<div className="min-h-screen" style={{ backgroundColor: '#F7F7FD' }}>
|
<div className="min-h-screen" style={{ backgroundColor: '#F7F7FD' }}>
|
||||||
<div className="pt-40 pb-16">
|
<div className="pt-40 pb-16">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="max-w-4xl mx-auto">
|
<div className="max-w-4xl mx-auto">
|
||||||
{/* Confirmation Header */}
|
{/* Confirmation Header */}
|
||||||
<div className="text-center mb-8">
|
<div className="text-center mb-8">
|
||||||
@@ -637,7 +637,7 @@ export function BookFacility() {
|
|||||||
</section>
|
</section>
|
||||||
|
|
||||||
<div id="booking-section" className="py-8 lg:py-12">
|
<div id="booking-section" className="py-8 lg:py-12">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="max-w-6xl mx-auto">
|
<div className="max-w-6xl mx-auto">
|
||||||
{/* Back Button */}
|
{/* Back Button */}
|
||||||
<Button
|
<Button
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ const trainingConfig: CarouselConfig = {
|
|||||||
export function TrainingSection() {
|
export function TrainingSection() {
|
||||||
return (
|
return (
|
||||||
<section className="py-24" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-24" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<ReusableCarousel
|
<ReusableCarousel
|
||||||
items={trainingPrograms}
|
items={trainingPrograms}
|
||||||
config={trainingConfig}
|
config={trainingConfig}
|
||||||
|
|||||||
@@ -189,7 +189,7 @@ export default function StackedOfferSection({
|
|||||||
className="sticky top-0 py-20 min-h-screen flex items-center justify-center z-10"
|
className="sticky top-0 py-20 min-h-screen flex items-center justify-center z-10"
|
||||||
style={{ backgroundColor: '#FFFFFF' }}
|
style={{ backgroundColor: '#FFFFFF' }}
|
||||||
>
|
>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
{/* Heading */}
|
{/* Heading */}
|
||||||
<div className="text-center mb-16 max-w-4xl mx-auto">
|
<div className="text-center mb-16 max-w-4xl mx-auto">
|
||||||
<h2 className="text-h2 mb-6">
|
<h2 className="text-h2 mb-6">
|
||||||
|
|||||||
@@ -417,7 +417,7 @@ export function VirtualTour() {
|
|||||||
</button>
|
</button>
|
||||||
|
|
||||||
{/* Hero Content */}
|
{/* Hero Content */}
|
||||||
<div className="relative z-10 container mx-auto section-margin-x h-full flex flex-col justify-center">
|
<div className="relative z-10 mx-auto section-margin-x h-full flex flex-col justify-center">
|
||||||
<div className="max-w-6xl mx-auto text-center space-y-12">
|
<div className="max-w-6xl mx-auto text-center space-y-12">
|
||||||
|
|
||||||
{/* Main Content */}
|
{/* Main Content */}
|
||||||
@@ -469,7 +469,7 @@ export function VirtualTour() {
|
|||||||
|
|
||||||
{/* Facility Stats Card */}
|
{/* Facility Stats Card */}
|
||||||
<div className="relative z-30 -mt-20 mb-12">
|
<div className="relative z-30 -mt-20 mb-12">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="flex justify-center">
|
<div className="flex justify-center">
|
||||||
<Card className="border border-border/30 shadow-lg rounded-xl overflow-hidden max-w-4xl w-full" style={{ backgroundColor: 'var(--color-bg-white)' }}>
|
<Card className="border border-border/30 shadow-lg rounded-xl overflow-hidden max-w-4xl w-full" style={{ backgroundColor: 'var(--color-bg-white)' }}>
|
||||||
<CardContent className="p-6">
|
<CardContent className="p-6">
|
||||||
@@ -527,7 +527,7 @@ export function VirtualTour() {
|
|||||||
|
|
||||||
{/* Virtual Tour Section */}
|
{/* Virtual Tour Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: 'rgba(0, 0, 0, 0.03)' }}>
|
<section className="py-20" style={{ backgroundColor: 'rgba(0, 0, 0, 0.03)' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
{!isVirtualTourActive ? (
|
{!isVirtualTourActive ? (
|
||||||
/* Tour Preview */
|
/* Tour Preview */
|
||||||
<div className="text-center max-w-7xl mx-auto space-y-16">
|
<div className="text-center max-w-7xl mx-auto space-y-16">
|
||||||
@@ -1215,7 +1215,7 @@ export function VirtualTour() {
|
|||||||
|
|
||||||
{/* FAQ Section */}
|
{/* FAQ Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: 'var(--color-bg-white)' }}>
|
<section className="py-20" style={{ backgroundColor: 'var(--color-bg-white)' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center max-w-3xl mx-auto space-y-6 mb-16">
|
<div className="text-center max-w-3xl mx-auto space-y-6 mb-16">
|
||||||
<Badge
|
<Badge
|
||||||
className="text-body px-4 py-2"
|
className="text-body px-4 py-2"
|
||||||
@@ -1303,7 +1303,7 @@ export function VirtualTour() {
|
|||||||
background: 'linear-gradient(to right, var(--color-primary), var(--color-primary), rgba(4, 4, 91, 0.9))'
|
background: 'linear-gradient(to right, var(--color-primary), var(--color-primary), rgba(4, 4, 91, 0.9))'
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div className="container mx-auto section-margin-x text-center">
|
<div className="mx-auto section-margin-x text-center">
|
||||||
<div className="max-w-4xl mx-auto space-y-8">
|
<div className="max-w-4xl mx-auto space-y-8">
|
||||||
<h2 className="text-h2 text-white">
|
<h2 className="text-h2 text-white">
|
||||||
Ready to Transform Your Team?
|
Ready to Transform Your Team?
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ export function OurExpertise() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 flex-1 flex items-center">
|
<div className="relative z-10 flex-1 flex items-center">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center max-w-5xl mx-auto">
|
<div className="text-center max-w-5xl mx-auto">
|
||||||
<div className="branded-tag-system-white mb-8 justify-center">
|
<div className="branded-tag-system-white mb-8 justify-center">
|
||||||
<div className="dot"></div>
|
<div className="dot"></div>
|
||||||
@@ -158,7 +158,7 @@ export function OurExpertise() {
|
|||||||
|
|
||||||
{/* Statistics Section - Embedded in Hero */}
|
{/* Statistics Section - Embedded in Hero */}
|
||||||
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
||||||
<div className="container mx-auto section-margin-x py-8">
|
<div className="mx-auto section-margin-x py-8">
|
||||||
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
||||||
<div>
|
<div>
|
||||||
<div className="text-h2-white mb-2">152+</div>
|
<div className="text-h2-white mb-2">152+</div>
|
||||||
@@ -193,7 +193,7 @@ export function OurExpertise() {
|
|||||||
|
|
||||||
{/* Expertise Overview - Clean Standard Design */}
|
{/* Expertise Overview - Clean Standard Design */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16">
|
<div className="text-center mb-16">
|
||||||
<h2 className="text-h2 mb-6">Four Pillars of Excellence</h2>
|
<h2 className="text-h2 mb-6">Four Pillars of Excellence</h2>
|
||||||
<p className="text-body-lg text-muted max-w-3xl mx-auto leading-relaxed">
|
<p className="text-body-lg text-muted max-w-3xl mx-auto leading-relaxed">
|
||||||
@@ -475,7 +475,7 @@ export function OurExpertise() {
|
|||||||
|
|
||||||
{/* Consulting & Advisory Section - Reusable Carousel Design */}
|
{/* Consulting & Advisory Section - Reusable Carousel Design */}
|
||||||
<section id="consulting" className="py-24" style={{ backgroundColor: 'rgba(247, 247, 253, 0.3)' }}>
|
<section id="consulting" className="py-24" style={{ backgroundColor: 'rgba(247, 247, 253, 0.3)' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
{/* Using the new reusable carousel component */}
|
{/* Using the new reusable carousel component */}
|
||||||
<ConsultingServicesCarousel consultingServices={consultingServices} />
|
<ConsultingServicesCarousel consultingServices={consultingServices} />
|
||||||
</div>
|
</div>
|
||||||
@@ -483,7 +483,7 @@ export function OurExpertise() {
|
|||||||
|
|
||||||
{/* Leadership Development Section - Split Layout */}
|
{/* Leadership Development Section - Split Layout */}
|
||||||
<section id="leadership-development" className="py-24" style={{ backgroundColor: '#FFFFFF' }}>
|
<section id="leadership-development" className="py-24" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
{/* Leadership Development Framework - Our Vision Style */}
|
{/* Leadership Development Framework - Our Vision Style */}
|
||||||
<div className="max-w-7xl mx-auto mb-16">
|
<div className="max-w-7xl mx-auto mb-16">
|
||||||
<div className="grid lg:grid-cols-3 gap-16 items-start">
|
<div className="grid lg:grid-cols-3 gap-16 items-start">
|
||||||
@@ -690,7 +690,7 @@ export function OurExpertise() {
|
|||||||
|
|
||||||
{/* Platform Features Section - Redesigned Layout */}
|
{/* Platform Features Section - Redesigned Layout */}
|
||||||
<section id="platform-features" className="py-24" style={{ backgroundColor: '#FFFFFF' }}>
|
<section id="platform-features" className="py-24" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
{/* Header */}
|
{/* Header */}
|
||||||
<div className="text-center mb-20">
|
<div className="text-center mb-20">
|
||||||
<Badge
|
<Badge
|
||||||
@@ -981,7 +981,7 @@ export function OurExpertise() {
|
|||||||
|
|
||||||
{/* Case Studies Section - Success Stories */}
|
{/* Case Studies Section - Success Stories */}
|
||||||
<section id="case-studies" className="py-24" style={{ backgroundColor: '#FFFFFF' }}>
|
<section id="case-studies" className="py-24" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16">
|
<div className="text-center mb-16">
|
||||||
<Badge
|
<Badge
|
||||||
className="mb-6 text-body px-4 py-2"
|
className="mb-6 text-body px-4 py-2"
|
||||||
|
|||||||
@@ -283,7 +283,7 @@ export function OurImpact() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 flex-1 flex items-center">
|
<div className="relative z-10 flex-1 flex items-center">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center max-w-5xl mx-auto">
|
<div className="text-center max-w-5xl mx-auto">
|
||||||
<div className="branded-tag-system-white mb-8 justify-center">
|
<div className="branded-tag-system-white mb-8 justify-center">
|
||||||
<div className="dot"></div>
|
<div className="dot"></div>
|
||||||
@@ -323,7 +323,7 @@ export function OurImpact() {
|
|||||||
|
|
||||||
{/* Statistics Section - Embedded in Hero */}
|
{/* Statistics Section - Embedded in Hero */}
|
||||||
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20" ref={statsRef}>
|
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20" ref={statsRef}>
|
||||||
<div className="container mx-auto section-margin-x py-12">
|
<div className="mx-auto section-margin-x py-12">
|
||||||
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
||||||
<div>
|
<div>
|
||||||
<div className="text-h2-white mb-2">
|
<div className="text-h2-white mb-2">
|
||||||
@@ -364,7 +364,7 @@ export function OurImpact() {
|
|||||||
|
|
||||||
{/* Partners Section - Redesigned According to JSON Config */}
|
{/* Partners Section - Redesigned According to JSON Config */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
|
|
||||||
|
|
||||||
{/* Statistics Section - Landing Page Style */}
|
{/* Statistics Section - Landing Page Style */}
|
||||||
@@ -577,7 +577,7 @@ export function OurImpact() {
|
|||||||
|
|
||||||
{/* Additional Metrics Section - Redesigned */}
|
{/* Additional Metrics Section - Redesigned */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16">
|
<div className="text-center mb-16">
|
||||||
<Badge
|
<Badge
|
||||||
className="mb-6 text-body px-4 py-2"
|
className="mb-6 text-body px-4 py-2"
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ export function OurVision() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 flex-1 flex items-center">
|
<div className="relative z-10 flex-1 flex items-center">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center max-w-5xl mx-auto">
|
<div className="text-center max-w-5xl mx-auto">
|
||||||
<div className="branded-tag-system-white mb-8 justify-center">
|
<div className="branded-tag-system-white mb-8 justify-center">
|
||||||
<div className="dot"></div>
|
<div className="dot"></div>
|
||||||
@@ -216,7 +216,7 @@ export function OurVision() {
|
|||||||
|
|
||||||
{/* Vision Statistics Section - Embedded in Hero */}
|
{/* Vision Statistics Section - Embedded in Hero */}
|
||||||
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
||||||
<div className="container mx-auto section-margin-x py-8">
|
<div className="mx-auto section-margin-x py-8">
|
||||||
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
||||||
<div>
|
<div>
|
||||||
<div className="text-h2-white mb-2">3</div>
|
<div className="text-h2-white mb-2">3</div>
|
||||||
@@ -241,7 +241,7 @@ export function OurVision() {
|
|||||||
|
|
||||||
{/* Vision Pillars - Redesigned */}
|
{/* Vision Pillars - Redesigned */}
|
||||||
<section id="vision-pillars" className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section id="vision-pillars" className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16">
|
<div className="text-center mb-16">
|
||||||
<Badge
|
<Badge
|
||||||
className="mb-6 text-body px-4 py-2"
|
className="mb-6 text-body px-4 py-2"
|
||||||
@@ -396,7 +396,7 @@ export function OurVision() {
|
|||||||
|
|
||||||
{/* How Our Work Aligns - Redesigned Interactive Timeline */}
|
{/* How Our Work Aligns - Redesigned Interactive Timeline */}
|
||||||
<section className="py-20" style={{ background: 'linear-gradient(135deg, rgba(247, 247, 253, 0.3) 0%, rgba(248, 195, 1, 0.05) 100%)' }}>
|
<section className="py-20" style={{ background: 'linear-gradient(135deg, rgba(247, 247, 253, 0.3) 0%, rgba(248, 195, 1, 0.05) 100%)' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16">
|
<div className="text-center mb-16">
|
||||||
<Badge
|
<Badge
|
||||||
className="mb-6 text-body px-4 py-2"
|
className="mb-6 text-body px-4 py-2"
|
||||||
@@ -587,7 +587,7 @@ export function OurVision() {
|
|||||||
|
|
||||||
{/* Leadership Framework CTA - Redesigned */}
|
{/* Leadership Framework CTA - Redesigned */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="max-w-7xl mx-auto">
|
<div className="max-w-7xl mx-auto">
|
||||||
<div className="grid lg:grid-cols-2 gap-16 items-center">
|
<div className="grid lg:grid-cols-2 gap-16 items-center">
|
||||||
{/* Content Side */}
|
{/* Content Side */}
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ export function Consulting() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 flex-1 flex items-center">
|
<div className="relative z-10 flex-1 flex items-center">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center max-w-5xl mx-auto">
|
<div className="text-center max-w-5xl mx-auto">
|
||||||
<div className="branded-tag-system-white mb-8 justify-center">
|
<div className="branded-tag-system-white mb-8 justify-center">
|
||||||
<div className="dot"></div>
|
<div className="dot"></div>
|
||||||
@@ -237,7 +237,7 @@ export function Consulting() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
||||||
<div className="container mx-auto section-margin-x py-8">
|
<div className="mx-auto section-margin-x py-8">
|
||||||
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
||||||
<div>
|
<div>
|
||||||
<div className="text-h2-white mb-2">96%</div>
|
<div className="text-h2-white mb-2">96%</div>
|
||||||
@@ -265,7 +265,7 @@ export function Consulting() {
|
|||||||
|
|
||||||
{/* Who It's For Section */}
|
{/* Who It's For Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="grid lg:grid-cols-2 gap-16 items-start max-w-7xl mx-auto">
|
<div className="grid lg:grid-cols-2 gap-16 items-start max-w-7xl mx-auto">
|
||||||
<div className="lg:pr-8">
|
<div className="lg:pr-8">
|
||||||
<h2 className="text-h2 mb-6 text-black leading-tight">
|
<h2 className="text-h2 mb-6 text-black leading-tight">
|
||||||
@@ -326,7 +326,7 @@ export function Consulting() {
|
|||||||
|
|
||||||
{/* Expected Outcomes Section */}
|
{/* Expected Outcomes Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16 max-w-4xl mx-auto">
|
<div className="text-center mb-16 max-w-4xl mx-auto">
|
||||||
<h2 className="text-h2 mb-6">
|
<h2 className="text-h2 mb-6">
|
||||||
Expected <span className="text-primary">Outcomes</span>
|
Expected <span className="text-primary">Outcomes</span>
|
||||||
@@ -532,7 +532,7 @@ export function Consulting() {
|
|||||||
|
|
||||||
{/* Our Approach Section - Carousel Design */}
|
{/* Our Approach Section - Carousel Design */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start max-w-7xl mx-auto">
|
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start max-w-7xl mx-auto">
|
||||||
|
|
||||||
{/* Left Side - Title, Description & Navigation */}
|
{/* Left Side - Title, Description & Navigation */}
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ export function CultureCompetence() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 flex-1 flex items-center">
|
<div className="relative z-10 flex-1 flex items-center">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center max-w-5xl mx-auto">
|
<div className="text-center max-w-5xl mx-auto">
|
||||||
<div className="branded-tag-system-white mb-8 justify-center">
|
<div className="branded-tag-system-white mb-8 justify-center">
|
||||||
<div className="dot"></div>
|
<div className="dot"></div>
|
||||||
@@ -241,7 +241,7 @@ export function CultureCompetence() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
||||||
<div className="container mx-auto section-margin-x py-8">
|
<div className="mx-auto section-margin-x py-8">
|
||||||
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
||||||
<div>
|
<div>
|
||||||
<div className="text-h2-white mb-2">87%</div>
|
<div className="text-h2-white mb-2">87%</div>
|
||||||
@@ -269,7 +269,7 @@ export function CultureCompetence() {
|
|||||||
|
|
||||||
{/* Who It's For Section */}
|
{/* Who It's For Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="grid lg:grid-cols-2 gap-16 items-start max-w-7xl mx-auto">
|
<div className="grid lg:grid-cols-2 gap-16 items-start max-w-7xl mx-auto">
|
||||||
<div className="lg:pr-8">
|
<div className="lg:pr-8">
|
||||||
<h2 className="text-h2 mb-6 text-black leading-tight">
|
<h2 className="text-h2 mb-6 text-black leading-tight">
|
||||||
@@ -330,7 +330,7 @@ export function CultureCompetence() {
|
|||||||
|
|
||||||
{/* Expected Outcomes Section */}
|
{/* Expected Outcomes Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: 'rgba(247, 247, 253, 0.5)' }}>
|
<section className="py-20" style={{ backgroundColor: 'rgba(247, 247, 253, 0.5)' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16 max-w-4xl mx-auto">
|
<div className="text-center mb-16 max-w-4xl mx-auto">
|
||||||
<h2 className="text-h2 mb-6">
|
<h2 className="text-h2 mb-6">
|
||||||
Expected <span className="text-primary">Outcomes</span>
|
Expected <span className="text-primary">Outcomes</span>
|
||||||
@@ -536,7 +536,7 @@ export function CultureCompetence() {
|
|||||||
|
|
||||||
{/* Our Approach Section - Carousel Design */}
|
{/* Our Approach Section - Carousel Design */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start max-w-7xl mx-auto">
|
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start max-w-7xl mx-auto">
|
||||||
|
|
||||||
{/* Left Side - Title, Description & Navigation */}
|
{/* Left Side - Title, Description & Navigation */}
|
||||||
|
|||||||
@@ -198,7 +198,7 @@ export function ExecutiveCoaching() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 flex-1 flex items-center">
|
<div className="relative z-10 flex-1 flex items-center">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center max-w-5xl mx-auto">
|
<div className="text-center max-w-5xl mx-auto">
|
||||||
<div className="branded-tag-system-white mb-8 justify-center">
|
<div className="branded-tag-system-white mb-8 justify-center">
|
||||||
<div className="dot"></div>
|
<div className="dot"></div>
|
||||||
@@ -237,7 +237,7 @@ export function ExecutiveCoaching() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
||||||
<div className="container mx-auto section-margin-x py-8">
|
<div className="mx-auto section-margin-x py-8">
|
||||||
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
||||||
<div>
|
<div>
|
||||||
<div className="text-h2-white mb-2">91%</div>
|
<div className="text-h2-white mb-2">91%</div>
|
||||||
@@ -265,7 +265,7 @@ export function ExecutiveCoaching() {
|
|||||||
|
|
||||||
{/* Who It's For Section */}
|
{/* Who It's For Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="grid lg:grid-cols-2 gap-16 items-start max-w-7xl mx-auto">
|
<div className="grid lg:grid-cols-2 gap-16 items-start max-w-7xl mx-auto">
|
||||||
<div className="lg:pr-8">
|
<div className="lg:pr-8">
|
||||||
<h2 className="text-h2 mb-6 text-black leading-tight">
|
<h2 className="text-h2 mb-6 text-black leading-tight">
|
||||||
@@ -326,7 +326,7 @@ export function ExecutiveCoaching() {
|
|||||||
|
|
||||||
{/* Expected Outcomes Section */}
|
{/* Expected Outcomes Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16 max-w-4xl mx-auto">
|
<div className="text-center mb-16 max-w-4xl mx-auto">
|
||||||
<h2 className="text-h2 mb-6">
|
<h2 className="text-h2 mb-6">
|
||||||
Expected <span className="text-primary">Outcomes</span>
|
Expected <span className="text-primary">Outcomes</span>
|
||||||
@@ -532,7 +532,7 @@ export function ExecutiveCoaching() {
|
|||||||
|
|
||||||
{/* Our Approach Section - Carousel Design */}
|
{/* Our Approach Section - Carousel Design */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start max-w-7xl mx-auto">
|
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start max-w-7xl mx-auto">
|
||||||
|
|
||||||
{/* Left Side - Title, Description & Navigation */}
|
{/* Left Side - Title, Description & Navigation */}
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ export function LeadershipDevelopment() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 flex-1 flex items-center">
|
<div className="relative z-10 flex-1 flex items-center">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center max-w-5xl mx-auto">
|
<div className="text-center max-w-5xl mx-auto">
|
||||||
<div className="branded-tag-system-white mb-8 justify-center">
|
<div className="branded-tag-system-white mb-8 justify-center">
|
||||||
<div className="dot"></div>
|
<div className="dot"></div>
|
||||||
@@ -241,7 +241,7 @@ export function LeadershipDevelopment() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
||||||
<div className="container mx-auto section-margin-x py-8">
|
<div className="mx-auto section-margin-x py-8">
|
||||||
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
<div className="grid grid-cols-2 lg:grid-cols-4 gap-8 text-center max-w-5xl mx-auto">
|
||||||
<div>
|
<div>
|
||||||
<div className="text-h2-white mb-2">94%</div>
|
<div className="text-h2-white mb-2">94%</div>
|
||||||
@@ -269,7 +269,7 @@ export function LeadershipDevelopment() {
|
|||||||
|
|
||||||
{/* Who It's For Section */}
|
{/* Who It's For Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="grid lg:grid-cols-2 gap-16 items-start max-w-7xl mx-auto">
|
<div className="grid lg:grid-cols-2 gap-16 items-start max-w-7xl mx-auto">
|
||||||
<div className="lg:pr-8">
|
<div className="lg:pr-8">
|
||||||
<h2 className="text-h2 mb-6 text-black leading-tight">
|
<h2 className="text-h2 mb-6 text-black leading-tight">
|
||||||
@@ -330,7 +330,7 @@ export function LeadershipDevelopment() {
|
|||||||
|
|
||||||
{/* Expected Outcomes Section */}
|
{/* Expected Outcomes Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16 max-w-4xl mx-auto">
|
<div className="text-center mb-16 max-w-4xl mx-auto">
|
||||||
<h2 className="text-h2 mb-6">
|
<h2 className="text-h2 mb-6">
|
||||||
Expected <span className="text-primary">Outcomes</span>
|
Expected <span className="text-primary">Outcomes</span>
|
||||||
@@ -536,7 +536,7 @@ export function LeadershipDevelopment() {
|
|||||||
|
|
||||||
{/* Our Approach Section - Carousel Design */}
|
{/* Our Approach Section - Carousel Design */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start max-w-7xl mx-auto">
|
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start max-w-7xl mx-auto">
|
||||||
|
|
||||||
{/* Left Side - Title, Description & Navigation */}
|
{/* Left Side - Title, Description & Navigation */}
|
||||||
|
|||||||
@@ -496,7 +496,7 @@ export function LearningFacility() {
|
|||||||
|
|
||||||
{/* Centered content */}
|
{/* Centered content */}
|
||||||
<div className="relative z-10 flex-1 flex items-center">
|
<div className="relative z-10 flex-1 flex items-center">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center max-w-5xl mx-auto">
|
<div className="text-center max-w-5xl mx-auto">
|
||||||
<div className="branded-tag-system-white mb-8 justify-center">
|
<div className="branded-tag-system-white mb-8 justify-center">
|
||||||
<div className="dot"></div>
|
<div className="dot"></div>
|
||||||
@@ -541,7 +541,7 @@ export function LearningFacility() {
|
|||||||
|
|
||||||
{/* Stat strip */}
|
{/* Stat strip */}
|
||||||
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
<div className="relative z-10 border-t border-white/20 backdrop-blur-sm bg-black/20">
|
||||||
<div className="container mx-auto section-margin-x py-8">
|
<div className="mx-auto section-margin-x py-8">
|
||||||
<div className="grid grid-cols-3 gap-8 text-center max-w-4xl mx-auto">
|
<div className="grid grid-cols-3 gap-8 text-center max-w-4xl mx-auto">
|
||||||
<div>
|
<div>
|
||||||
<div className="text-h2-white mb-2">2 Acres</div>
|
<div className="text-h2-white mb-2">2 Acres</div>
|
||||||
@@ -562,7 +562,7 @@ export function LearningFacility() {
|
|||||||
|
|
||||||
{/* What We Offer Section */}
|
{/* What We Offer Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: 'var(--color-bg-white)' }}>
|
<section className="py-20" style={{ backgroundColor: 'var(--color-bg-white)' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16 max-w-4xl mx-auto">
|
<div className="text-center mb-16 max-w-4xl mx-auto">
|
||||||
<h2 className="text-h2 mb-6">
|
<h2 className="text-h2 mb-6">
|
||||||
What We <span className="text-primary">Offer</span>
|
What We <span className="text-primary">Offer</span>
|
||||||
@@ -641,7 +641,7 @@ export function LearningFacility() {
|
|||||||
|
|
||||||
{/* Who It's For Section - match Services page (left intro + right accordion list) */}
|
{/* Who It's For Section - match Services page (left intro + right accordion list) */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
{/* Our Expertise "Our Services" style - horizontal carousel cards */}
|
{/* Our Expertise "Our Services" style - horizontal carousel cards */}
|
||||||
<div className="max-w-7xl mx-auto">
|
<div className="max-w-7xl mx-auto">
|
||||||
{/* Header with eyebrow and controls */}
|
{/* Header with eyebrow and controls */}
|
||||||
@@ -791,7 +791,7 @@ export function LearningFacility() {
|
|||||||
|
|
||||||
{/* Facility Features Section */}
|
{/* Facility Features Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: 'var(--color-bg-white)' }}>
|
<section className="py-20" style={{ backgroundColor: 'var(--color-bg-white)' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="mb-12 relative max-w-7xl mx-auto">
|
<div className="mb-12 relative max-w-7xl mx-auto">
|
||||||
<div className="flex-1 max-w-3xl">
|
<div className="flex-1 max-w-3xl">
|
||||||
<BrandedTag text="FACILITY FEATURES" />
|
<BrandedTag text="FACILITY FEATURES" />
|
||||||
@@ -895,7 +895,7 @@ export function LearningFacility() {
|
|||||||
|
|
||||||
{/* Amenities Section */}
|
{/* Amenities Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: 'rgba(0, 0, 0, 0.03)' }}>
|
<section className="py-20" style={{ backgroundColor: 'rgba(0, 0, 0, 0.03)' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16 max-w-4xl mx-auto">
|
<div className="text-center mb-16 max-w-4xl mx-auto">
|
||||||
<h2 className="text-h2 mb-6">
|
<h2 className="text-h2 mb-6">
|
||||||
World-Class <span className="text-primary">Amenities</span>
|
World-Class <span className="text-primary">Amenities</span>
|
||||||
@@ -967,7 +967,7 @@ export function LearningFacility() {
|
|||||||
|
|
||||||
{/* Virtual Tour Section */}
|
{/* Virtual Tour Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: 'var(--color-bg-white)' }}>
|
<section className="py-20" style={{ backgroundColor: 'var(--color-bg-white)' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
{!isVirtualTourActive ? (
|
{!isVirtualTourActive ? (
|
||||||
/* Tour Preview */
|
/* Tour Preview */
|
||||||
<div className="max-w-7xl mx-auto space-y-12">
|
<div className="max-w-7xl mx-auto space-y-12">
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ export function ManagementDevelopment() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="relative z-10 flex-1 flex items-center">
|
<div className="relative z-10 flex-1 flex items-center">
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center max-w-5xl mx-auto">
|
<div className="text-center max-w-5xl mx-auto">
|
||||||
<div className="branded-tag-system-white mb-8 justify-center">
|
<div className="branded-tag-system-white mb-8 justify-center">
|
||||||
<div className="dot"></div>
|
<div className="dot"></div>
|
||||||
@@ -266,7 +266,7 @@ export function ManagementDevelopment() {
|
|||||||
|
|
||||||
{/* Who It's For Section */}
|
{/* Who It's For Section */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="grid lg:grid-cols-2 gap-16 items-start max-w-7xl mx-auto">
|
<div className="grid lg:grid-cols-2 gap-16 items-start max-w-7xl mx-auto">
|
||||||
<div className="lg:pr-8">
|
<div className="lg:pr-8">
|
||||||
<h2 className="text-h2 mb-6 text-black leading-tight">
|
<h2 className="text-h2 mb-6 text-black leading-tight">
|
||||||
@@ -327,7 +327,7 @@ export function ManagementDevelopment() {
|
|||||||
|
|
||||||
{/* Expected Outcomes Section - Redesigned to Match Reference */}
|
{/* Expected Outcomes Section - Redesigned to Match Reference */}
|
||||||
<section className="py-20" style={{ backgroundColor: 'rgba(247, 247, 253, 0.5)' }}>
|
<section className="py-20" style={{ backgroundColor: 'rgba(247, 247, 253, 0.5)' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="text-center mb-16 max-w-4xl mx-auto">
|
<div className="text-center mb-16 max-w-4xl mx-auto">
|
||||||
<h2 className="text-h2 mb-6">
|
<h2 className="text-h2 mb-6">
|
||||||
Expected <span className="text-primary">Outcomes</span>
|
Expected <span className="text-primary">Outcomes</span>
|
||||||
@@ -533,7 +533,7 @@ export function ManagementDevelopment() {
|
|||||||
|
|
||||||
{/* Our Approach Section - Carousel Design */}
|
{/* Our Approach Section - Carousel Design */}
|
||||||
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
<section className="py-20" style={{ backgroundColor: '#FFFFFF' }}>
|
||||||
<div className="container mx-auto section-margin-x">
|
<div className="mx-auto section-margin-x">
|
||||||
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start max-w-7xl mx-auto">
|
<div className="grid grid-cols-1 lg:grid-cols-12 gap-12 items-start max-w-7xl mx-auto">
|
||||||
|
|
||||||
{/* Left Side - Title, Description & Navigation */}
|
{/* Left Side - Title, Description & Navigation */}
|
||||||
|
|||||||
15
src/services/baseQuery.ts
Normal file
15
src/services/baseQuery.ts
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
import { fetchBaseQuery } from '@reduxjs/toolkit/query/react';
|
||||||
|
|
||||||
|
const rawBaseQuery = fetchBaseQuery({
|
||||||
|
baseUrl: 'http://localhost:3000/api',
|
||||||
|
});
|
||||||
|
|
||||||
|
const baseQueryWithReauth = async (args: any, api: any, extraOptions: any) => {
|
||||||
|
const result = await rawBaseQuery(args, api, extraOptions);
|
||||||
|
|
||||||
|
// Optional: reauthentication logic if result.error?.status === 401
|
||||||
|
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default baseQueryWithReauth;
|
||||||
37
src/services/storeSwitchToDashboard.tsx
Normal file
37
src/services/storeSwitchToDashboard.tsx
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
// storeSwitchToDashboard.service.ts
|
||||||
|
import { createApi, fetchBaseQuery } from "@reduxjs/toolkit/query/react";
|
||||||
|
import baseQueryWithReauth from "./baseQuery";
|
||||||
|
|
||||||
|
export type ContactUsFormData = {
|
||||||
|
t_id: string;
|
||||||
|
name: string;
|
||||||
|
email: string;
|
||||||
|
country: string;
|
||||||
|
phone_number: string;
|
||||||
|
service: string;
|
||||||
|
budget: string;
|
||||||
|
message: string;
|
||||||
|
development_stage: string;
|
||||||
|
startTime: string;
|
||||||
|
nda_signing: string | boolean;
|
||||||
|
from_page: string;
|
||||||
|
ip?: string;
|
||||||
|
user_agent?: string;
|
||||||
|
contact_us_attachment?: File;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const storeSwitchToDashboard = createApi({
|
||||||
|
reducerPath: "storeSwitchToDashboard",
|
||||||
|
baseQuery: baseQueryWithReauth,
|
||||||
|
endpoints: (builder) => ({
|
||||||
|
storeSwitchToDashboard: builder.mutation<void, FormData>({
|
||||||
|
query: (formData) => ({
|
||||||
|
url: "/api/store-contact-us-data",
|
||||||
|
method: "POST",
|
||||||
|
body: formData,
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
export const { useStoreSwitchToDashboardMutation } = storeSwitchToDashboard;
|
||||||
16
src/store/Store.tsx
Normal file
16
src/store/Store.tsx
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
// store.ts
|
||||||
|
import { configureStore } from '@reduxjs/toolkit';
|
||||||
|
import { setupListeners } from '@reduxjs/toolkit/query';
|
||||||
|
import { storeSwitchToDashboard } from '../services/storeSwitchToDashboard';
|
||||||
|
|
||||||
|
export const store = configureStore({
|
||||||
|
reducer: {
|
||||||
|
[storeSwitchToDashboard.reducerPath]: storeSwitchToDashboard.reducer,
|
||||||
|
},
|
||||||
|
middleware: (getDefaultMiddleware) =>
|
||||||
|
getDefaultMiddleware().concat(storeSwitchToDashboard.middleware),
|
||||||
|
});
|
||||||
|
|
||||||
|
setupListeners(store.dispatch);
|
||||||
|
|
||||||
|
export default store;
|
||||||
Reference in New Issue
Block a user