+
+ بسم الله
+
Find Balance, Strength & Inner Peace
-
+
+
+
Transform your body and mind through the art of Pilates. Join our serene studio for personalized sessions that promote harmony, flexibility, and strength.
+
-
-
+
+
+
+
+
+
+
+
+
+
+
);
}
diff --git a/client/src/components/ui/islamic-patterns.tsx b/client/src/components/ui/islamic-patterns.tsx
new file mode 100644
index 0000000..aaa2374
--- /dev/null
+++ b/client/src/components/ui/islamic-patterns.tsx
@@ -0,0 +1,104 @@
+import React from "react";
+
+interface PatternProps {
+ className?: string;
+ fillColor?: string;
+}
+
+export function GeometricPattern({ className = "", fillColor = "#0c8991" }: PatternProps) {
+ return (
+
+ );
+}
+
+export function ArabicArch({ className = "", fillColor = "#0c8991" }: PatternProps) {
+ return (
+
+ );
+}
+
+export function CrescentMoon({ className = "", fillColor = "#0c8991" }: PatternProps) {
+ return (
+
+ );
+}
+
+export function DividerPattern({ className = "", fillColor = "#0c8991" }: PatternProps) {
+ return (
+
+ );
+}
+
+export function ArabicPattern({ className = "", fillColor = "#0c8991" }: PatternProps) {
+ return (
+
+ );
+}
\ No newline at end of file
diff --git a/client/src/components/ui/section-divider.tsx b/client/src/components/ui/section-divider.tsx
new file mode 100644
index 0000000..724f0dd
--- /dev/null
+++ b/client/src/components/ui/section-divider.tsx
@@ -0,0 +1,166 @@
+import React from "react";
+
+interface SectionDividerProps {
+ color?: "teal" | "purple" | "rose";
+ className?: string;
+ withPattern?: boolean;
+}
+
+export function SectionDivider({
+ color = "teal",
+ className = "",
+ withPattern = false
+}: SectionDividerProps) {
+
+ const colors = {
+ teal: "#0c8991",
+ purple: "#9D5E9B",
+ rose: "#B55076"
+ };
+
+ const fillColor = colors[color];
+ const patternClass = withPattern ? `islamic-pattern-${color}` : "";
+
+ return (
+
+
+
+ {withPattern &&
}
+
+ );
+}
+
+export function SectionDividerBottom({
+ color = "teal",
+ className = "",
+ withPattern = false
+}: SectionDividerProps) {
+
+ const colors = {
+ teal: "#0c8991",
+ purple: "#9D5E9B",
+ rose: "#B55076"
+ };
+
+ const fillColor = colors[color];
+ const patternClass = withPattern ? `islamic-pattern-${color}` : "";
+
+ return (
+
+
+
+ {withPattern &&
}
+
+ );
+}
+
+export function IslamicPattern({
+ color = "teal",
+ className = "",
+ opacity = 10
+}: {
+ color?: "teal" | "purple" | "rose";
+ className?: string;
+ opacity?: number;
+}) {
+ const patternClass = color === "teal"
+ ? "islamic-pattern-teal"
+ : color === "purple"
+ ? "islamic-pattern"
+ : "islamic-pattern-rose";
+
+ return
;
+}
+
+export function ArabesquePattern({
+ color = "teal",
+ className = "",
+ opacity = 10
+}: {
+ color?: "teal" | "purple" | "rose";
+ className?: string;
+ opacity?: number;
+}) {
+ const patternClass = color === "teal"
+ ? "arabesque-pattern"
+ : color === "purple"
+ ? "arabesque-pattern-purple"
+ : "arabesque-pattern-rose";
+
+ return
;
+}
+
+export function CrescentDivider({
+ color = "teal",
+ className = ""
+}: {
+ color?: "teal" | "purple" | "rose";
+ className?: string;
+}) {
+ const colors = {
+ teal: "#0c8991",
+ purple: "#9D5E9B",
+ rose: "#B55076"
+ };
+
+ const fillColor = colors[color];
+
+ return (
+
+ );
+}
+
+export function StarDivider({
+ color = "teal",
+ className = ""
+}: {
+ color?: "teal" | "purple" | "rose";
+ className?: string;
+}) {
+ const colors = {
+ teal: "#0c8991",
+ purple: "#9D5E9B",
+ rose: "#B55076"
+ };
+
+ const fillColor = colors[color];
+
+ return (
+
+ );
+}
\ No newline at end of file
diff --git a/client/src/index.css b/client/src/index.css
index 1b6e13a..427d9db 100644
--- a/client/src/index.css
+++ b/client/src/index.css
@@ -72,6 +72,55 @@
background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%239d5e9b' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
}
+.islamic-pattern-teal {
+ background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%230c8991' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
+}
+
+.islamic-pattern-rose {
+ background-image: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z' fill='%23b55076' fill-opacity='0.05' fill-rule='evenodd'/%3E%3C/svg%3E");
+}
+
+.arabesque-pattern {
+ background-image: url("data:image/svg+xml,%3Csvg width='52' height='26' viewBox='0 0 52 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%230c8991' fill-opacity='0.05'%3E%3Cpath d='M10 10c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6h2c0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6h-2c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6 0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6zm25.464-1.95l8.486 8.486-1.414 1.414-8.486-8.486 1.414-1.414z' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+
+.arabesque-pattern-purple {
+ background-image: url("data:image/svg+xml,%3Csvg width='52' height='26' viewBox='0 0 52 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%239d5e9b' fill-opacity='0.05'%3E%3Cpath d='M10 10c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6h2c0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6h-2c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6 0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6zm25.464-1.95l8.486 8.486-1.414 1.414-8.486-8.486 1.414-1.414z' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+
+.arabesque-pattern-rose {
+ background-image: url("data:image/svg+xml,%3Csvg width='52' height='26' viewBox='0 0 52 26' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23b55076' fill-opacity='0.05'%3E%3Cpath d='M10 10c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6h2c0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6h-2c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6 0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6zm25.464-1.95l8.486 8.486-1.414 1.414-8.486-8.486 1.414-1.414z' /%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
+}
+
+.islamic-arch-divider {
+ position: relative;
+ height: 60px;
+ margin: -30px 0;
+ overflow: hidden;
+ z-index: 10;
+}
+
+.islamic-arch-top {
+ position: relative;
+ overflow: hidden;
+}
+
+.islamic-arch-top svg {
+ display: block;
+ width: 100%;
+}
+
+.islamic-arch-bottom {
+ position: relative;
+ overflow: hidden;
+}
+
+.islamic-arch-bottom svg {
+ display: block;
+ width: 100%;
+ transform: rotate(180deg);
+}
+
.teal-bg {
background-color: #0c8991;
}