working on element theme

- note: gradient color doesn't take effects on texts
This commit is contained in:
Mohammed Al-yaseen
2025-04-08 18:22:08 +03:00
parent 2cec30d560
commit 264eb84407
8 changed files with 208 additions and 193 deletions

View File

@@ -1,187 +1,190 @@
/* File: src/components/home/ContactSection.module.css */ /* File: src/components/home/ContactSection.module.css */
.contactSection { .contactSection {
padding: 100px 0; padding: 100px 0;
background-color: #f8f9fa; background-color: #f8f9fa;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
} }
.container { .container {
max-width: 1200px; max-width: 1200px;
margin: 0 auto; margin: 0 auto;
padding: 0 16px; padding: 0 16px;
position: relative; position: relative;
z-index: 2; z-index: 2;
} }
.backgroundElements { .backgroundElements {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0; left: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
z-index: 1; z-index: 1;
} }
.glowOrbTop { .glowOrbTop {
position: absolute; position: absolute;
width: 400px; width: 400px;
height: 400px; height: 400px;
border-radius: 50%; border-radius: 50%;
background: radial-gradient(circle, rgba(24, 144, 255, 0.15) 0%, rgba(24, 144, 255, 0.05) 50%, rgba(0, 0, 0, 0) 70%); background: var(--primary-glow);
top: -200px; top: -200px;
left: -150px; left: -150px;
filter: blur(50px); filter: blur(50px);
} }
.glowOrbBottom { .glowOrbBottom {
position: absolute; position: absolute;
width: 500px; width: 500px;
height: 500px; height: 500px;
border-radius: 50%; border-radius: 50%;
background: radial-gradient(circle, rgba(64, 169, 255, 0.15) 0%, rgba(64, 169, 255, 0.05) 50%, rgba(0, 0, 0, 0) 70%); background: radial-gradient(
bottom: -250px; circle,
right: -200px; rgba(64, 169, 255, 0.15) 0%,
filter: blur(60px); rgba(64, 169, 255, 0.05) 50%,
} rgba(0, 0, 0, 0) 70%
);
.sectionHeader { bottom: -250px;
text-align: center; right: -200px;
margin-bottom: 60px; filter: blur(60px);
} }
.sectionTitle { .sectionHeader {
font-size: 2.5rem !important; text-align: center;
font-weight: 700 !important; margin-bottom: 60px;
margin-bottom: 16px !important; }
background: linear-gradient(90deg, #1890ff, #096dd9);
-webkit-background-clip: text; .sectionTitle {
-webkit-text-fill-color: transparent; font-size: 2.5rem !important;
} font-weight: 700 !important;
margin-bottom: 16px !important;
.sectionSubtitle {
font-size: 1.1rem; -webkit-background-clip: text;
color: #666; -webkit-text-fill-color: transparent;
max-width: 600px; }
margin: 0 auto;
} .sectionSubtitle {
font-size: 1.1rem;
color: #666;
max-width: 600px;
margin: 0 auto;
}
.contactContent {
background: rgba(255, 255, 255, 0.8);
border-radius: 16px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);
backdrop-filter: blur(8px);
padding: 40px;
}
.contactInfo {
display: flex;
flex-direction: column;
gap: 24px;
}
.contactInfoItem {
display: flex;
align-items: center;
gap: 16px;
}
.iconWrapper {
width: 48px;
height: 48px;
border-radius: 50%;
background: var(--primary);
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 4px 8px rgba(152, 71, 232, 0.2);
}
.contactIcon {
font-size: 20px;
color: #fff;
}
.contactLabel {
display: block;
margin-bottom: 4px;
font-size: 16px;
}
.contactValue {
color: #666;
font-size: 15px;
}
.mapContainer {
margin-top: 16px;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.mapImage {
width: 100%;
height: auto;
display: block;
}
.contactForm {
background: white;
border-radius: 12px;
padding: 32px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
}
.formTitle {
margin-bottom: 24px !important;
color: #1890ff;
}
.messageInput {
resize: none;
}
.submitButton {
height: 48px;
padding: 0 32px;
border-radius: 24px;
font-weight: 500;
border: none;
box-shadow: 0 4px 12px rgba(24, 144, 255, 0.15);
transition: all 0.3s ease;
}
.submitButton:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(24, 144, 255, 0.2);
}
@media (max-width: 992px) {
.contactContent { .contactContent {
background: rgba(255, 255, 255, 0.8); padding: 24px;
border-radius: 16px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);
backdrop-filter: blur(8px);
padding: 40px;
} }
.contactInfo {
display: flex;
flex-direction: column;
gap: 24px;
}
.contactInfoItem {
display: flex;
align-items: center;
gap: 16px;
}
.iconWrapper {
width: 48px;
height: 48px;
border-radius: 50%;
background: linear-gradient(135deg, #1890ff, #096dd9);
display: flex;
justify-content: center;
align-items: center;
box-shadow: 0 4px 8px rgba(24, 144, 255, 0.25);
}
.contactIcon {
font-size: 20px;
color: #fff;
}
.contactLabel {
display: block;
margin-bottom: 4px;
font-size: 16px;
}
.contactValue {
color: #666;
font-size: 15px;
}
.mapContainer {
margin-top: 16px;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.mapImage {
width: 100%;
height: auto;
display: block;
}
.contactForm { .contactForm {
background: white; padding: 24px;
border-radius: 12px; margin-top: 24px;
padding: 32px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05);
} }
}
.formTitle {
margin-bottom: 24px !important; @media (max-width: 768px) {
color: #1890ff; .contactSection {
padding: 60px 0;
} }
.messageInput { .sectionTitle {
resize: none; font-size: 2rem !important;
} }
.submitButton { .mapContainer {
height: 48px; margin-bottom: 0;
padding: 0 32px;
border-radius: 24px;
font-weight: 500;
background: linear-gradient(90deg, #1890ff, #096dd9);
border: none;
box-shadow: 0 4px 12px rgba(24, 144, 255, 0.15);
transition: all 0.3s ease;
} }
}
.submitButton:hover {
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(24, 144, 255, 0.2);
background: linear-gradient(90deg, #40a9ff, #1890ff);
}
@media (max-width: 992px) {
.contactContent {
padding: 24px;
}
.contactForm {
padding: 24px;
margin-top: 24px;
}
}
@media (max-width: 768px) {
.contactSection {
padding: 60px 0;
}
.sectionTitle {
font-size: 2rem !important;
}
.mapContainer {
margin-bottom: 0;
}
}

View File

@@ -21,11 +21,13 @@
} }
.logoContainer { .logoContainer {
/* background: var(--primary) !important; */
display: flex; display: flex;
align-items: center; align-items: center;
} }
.logoText { .logoText {
color: #6e48aa !important;
margin: 0 !important; margin: 0 !important;
font-weight: 700 !important; font-weight: 700 !important;
font-size: 1.5rem !important; font-size: 1.5rem !important;

View File

@@ -46,7 +46,6 @@
.continueButton { .continueButton {
min-width: 200px; min-width: 200px;
height: 48px; height: 48px;
background: linear-gradient(90deg, #1890ff, #096dd9);
border: none; border: none;
border-radius: 24px; border-radius: 24px;
font-weight: 500; font-weight: 500;
@@ -54,7 +53,6 @@
} }
.continueButton:hover { .continueButton:hover {
background: linear-gradient(90deg, #40a9ff, #1890ff);
transform: translateY(-2px); transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(24, 144, 255, 0.2); box-shadow: 0 6px 16px rgba(24, 144, 255, 0.2);
} }

View File

@@ -23,7 +23,7 @@
font-size: 2.5rem !important; font-size: 2.5rem !important;
font-weight: 700 !important; font-weight: 700 !important;
margin-bottom: 16px !important; margin-bottom: 16px !important;
background: linear-gradient(90deg, #1890ff, #096dd9);
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
} }
@@ -91,13 +91,13 @@
.viewButton { .viewButton {
background: #fff; background: #fff;
color: #1890ff; color: #6e48aa;
border: none; border: none;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
} }
.viewButton:hover { .viewButton:hover {
background: #1890ff; background: #6e48aa;
color: #fff; color: #fff;
} }
@@ -114,6 +114,7 @@
.techTag { .techTag {
margin: 0; margin: 0;
color: #6e48aa;
} }
.featuredBadge { .featuredBadge {
@@ -151,7 +152,7 @@
padding: 0 32px; padding: 0 32px;
border-radius: 24px; border-radius: 24px;
font-weight: 500; font-weight: 500;
background: linear-gradient(90deg, #1890ff, #096dd9);
border: none; border: none;
box-shadow: 0 4px 12px rgba(24, 144, 255, 0.15); box-shadow: 0 4px 12px rgba(24, 144, 255, 0.15);
transition: all 0.3s ease; transition: all 0.3s ease;
@@ -160,7 +161,7 @@
.viewAllButton:hover { .viewAllButton:hover {
transform: translateY(-2px); transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(24, 144, 255, 0.2); box-shadow: 0 6px 16px rgba(24, 144, 255, 0.2);
background: linear-gradient(90deg, #40a9ff, #1890ff);
} }
@media (max-width: 768px) { @media (max-width: 768px) {

View File

@@ -30,7 +30,7 @@
width: 500px; width: 500px;
height: 500px; height: 500px;
border-radius: 50%; border-radius: 50%;
background: radial-gradient(circle, rgba(64, 169, 255, 0.2) 0%, rgba(24, 144, 255, 0.1) 50%, rgba(0, 0, 0, 0) 70%); background: var(--primary-glow);
top: -150px; top: -150px;
right: -100px; right: -100px;
filter: blur(50px); filter: blur(50px);
@@ -45,7 +45,7 @@
font-size: 2.5rem !important; font-size: 2.5rem !important;
font-weight: 700 !important; font-weight: 700 !important;
margin-bottom: 16px !important; margin-bottom: 16px !important;
background: linear-gradient(90deg, #1890ff, #096dd9);
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
} }
@@ -81,7 +81,7 @@
.serviceIcon { .serviceIcon {
font-size: 3rem; font-size: 3rem;
color: #1890ff; color: #6e48aa;
} }
.learnMoreBtn { .learnMoreBtn {
@@ -95,8 +95,8 @@
.servicesSection { .servicesSection {
padding: 60px 0; padding: 60px 0;
} }
.sectionTitle { .sectionTitle {
font-size: 2rem !important; font-size: 2rem !important;
} }
} }

View File

@@ -22,7 +22,7 @@
font-size: 2.5rem !important; font-size: 2.5rem !important;
font-weight: 700 !important; font-weight: 700 !important;
margin-bottom: 16px !important; margin-bottom: 16px !important;
background: linear-gradient(90deg, #1890ff, #096dd9);
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
} }
@@ -134,7 +134,7 @@
padding: 0 32px; padding: 0 32px;
border-radius: 24px; border-radius: 24px;
font-weight: 500; font-weight: 500;
background: linear-gradient(90deg, #1890ff, #096dd9);
color: white; color: white;
border: none; border: none;
box-shadow: 0 4px 12px rgba(24, 144, 255, 0.15); box-shadow: 0 4px 12px rgba(24, 144, 255, 0.15);
@@ -146,7 +146,7 @@
.viewAllButton:hover { .viewAllButton:hover {
transform: translateY(-2px); transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(24, 144, 255, 0.2); box-shadow: 0 6px 16px rgba(24, 144, 255, 0.2);
background: linear-gradient(90deg, #40a9ff, #1890ff);
} }
@media (max-width: 768px) { @media (max-width: 768px) {

View File

@@ -2,6 +2,13 @@
--background: #ffffff; --background: #ffffff;
--foreground: #171717; --foreground: #171717;
--primary: linear-gradient(135deg, #6e48aa 0%, #9d50bb 100%); --primary: linear-gradient(135deg, #6e48aa 0%, #9d50bb 100%);
--secondary: linear-gradient(135deg, #00c1d4 0%, #ff5f6d 100%);
--primary-glow: radial-gradient(
circle,
rgba(152, 71, 232, 0.2) 0%,
rgba(71, 1, 90, 0.1) 50%,
rgba(0, 0, 0, 0) 70%
);
} }
@media (prefers-color-scheme: dark) { @media (prefers-color-scheme: dark) {

View File

@@ -3,7 +3,8 @@ import type { ThemeConfig } from "antd";
// Cosmic Gradient Palette (Bright/Futuristic) // Cosmic Gradient Palette (Bright/Futuristic)
export const gradientColors = { export const gradientColors = {
primary: "linear-gradient(135deg, #6e48aa 0%, #9d50bb 100%)", // note: gradient color doesn't take effects on texts
primary: "#6e48aa", // "linear-gradient(135deg, #6e48aa 0%, #9d50bb 100%)",
secondary: "linear-gradient(135deg, #00C1D4 0%, #FF5F6D 100%)", secondary: "linear-gradient(135deg, #00C1D4 0%, #FF5F6D 100%)",
darkSpace: "linear-gradient(to right, #0F0525, #2A0B45)", darkSpace: "linear-gradient(to right, #0F0525, #2A0B45)",
}; };
@@ -35,6 +36,9 @@ export const themeConfig: ThemeConfig = {
colorTextHeading: gradientColors.primary, colorTextHeading: gradientColors.primary,
colorLink: gradientColors.primary, // Nebula pink colorLink: gradientColors.primary, // Nebula pink
}, },
Tag:{
colorPrimary: gradientColors.primary,
}
}, },
}; };