favicon and leadreship team layout change
@@ -67,7 +67,7 @@ const SmallCaseStudyCard = ({ study, index }: { study: typeof caseStudies[0]; in
|
|||||||
<motion.div
|
<motion.div
|
||||||
initial={{ opacity: 0, y: 50 }}
|
initial={{ opacity: 0, y: 50 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group bg-card rounded-[10px] overflow-hidden hover:bg-card/80 hover:shadow-lg hover:scale-[1.02] transition-all duration-300 cursor-pointer border border-transparent hover:border-border/50"
|
className="group bg-card rounded-[10px] overflow-hidden hover:bg-card/80 hover:shadow-lg hover:scale-[1.02] transition-all duration-300 cursor-pointer border border-transparent hover:border-border/50"
|
||||||
onClick={() => navigateTo(getNavigationPath(study.title))}
|
onClick={() => navigateTo(getNavigationPath(study.title))}
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ export const FAQSection: React.FC<FAQSectionProps> = ({
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
>
|
>
|
||||||
<AccordionItem
|
<AccordionItem
|
||||||
|
|||||||
@@ -351,7 +351,7 @@ const FeaturedCaseStudies = () => {
|
|||||||
key={story.id}
|
key={story.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group h-full"
|
className="group h-full"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export default function GlobalOffices() {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group relative p-6 rounded-xl overflow-hidden min-h-[250px] flex flex-col justify-between backdrop-blur-sm border border-gray-700/30 hover:border-[#E5195E]/30 transition-all duration-300"
|
className="group relative p-6 rounded-xl overflow-hidden min-h-[250px] flex flex-col justify-between backdrop-blur-sm border border-gray-700/30 hover:border-[#E5195E]/30 transition-all duration-300"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ const HireDeveloperSection = ({
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ const IndustryCard = ({ industry, index }: {
|
|||||||
<motion.div
|
<motion.div
|
||||||
initial={{ opacity: 0, y: 30 }}
|
initial={{ opacity: 0, y: 30 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.02 }}
|
whileHover={{ y: -5, scale: 1.02 }}
|
||||||
className="group p-6 rounded-xl bg-white/5 backdrop-blur-sm border border-white/10 hover:border-[#E5195E]/50 transition-all duration-300 cursor-pointer text-center"
|
className="group p-6 rounded-xl bg-white/5 backdrop-blur-sm border border-white/10 hover:border-[#E5195E]/50 transition-all duration-300 cursor-pointer text-center"
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ const ServiceCard = ({ service, index }: { service: typeof services[0]; index: n
|
|||||||
<motion.div
|
<motion.div
|
||||||
initial={{ opacity: 0, y: 50 }}
|
initial={{ opacity: 0, y: 50 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{
|
whileHover={{
|
||||||
scale: 1.05,
|
scale: 1.05,
|
||||||
|
|||||||
17
index.html
@@ -3,7 +3,6 @@
|
|||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>WDI - Web Development & AI Solutions</title>
|
<title>WDI - Web Development & AI Solutions</title>
|
||||||
|
|
||||||
@@ -134,11 +133,19 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Favicon -->
|
<!-- Favicon -->
|
||||||
<link rel="shortcut icon" href="https://www.wdipl.com/public/img/favIcon.webp" type="image/x-icon" />
|
<link rel="icon" href="/src/images/wdi-logo.ico" type="image/png" />
|
||||||
|
|
||||||
|
<!-- Apple Touch Icon -->
|
||||||
|
<link rel="apple-touch-icon" href="/src/images/wdi-logo.ico" />
|
||||||
|
|
||||||
|
<!-- Android -->
|
||||||
|
<link rel="icon" sizes="192x192" href="/src/images/wdi-logo.ico" />
|
||||||
|
|
||||||
|
<!-- Optional: Web App Manifest -->
|
||||||
|
<link rel="manifest" href="/site.webmanifest" />
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -505,7 +505,7 @@ const AutomationBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -797,7 +797,7 @@ const AutomationServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -997,7 +997,7 @@ const AutomationTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1090,7 +1090,7 @@ const AutomationCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1329,7 +1329,7 @@ const HireAutomationEngineers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -500,7 +500,7 @@ const ChatbotsBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -797,7 +797,7 @@ const ChatbotServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -937,7 +937,7 @@ const ChatbotTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1030,7 +1030,7 @@ const ChatbotCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1269,7 +1269,7 @@ const HireChatbotDevelopers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -557,7 +557,7 @@ const AIIntegrationBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -857,7 +857,7 @@ const AIIntegrationServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -995,7 +995,7 @@ const AIIntegrationTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1088,7 +1088,7 @@ const AIIntegrationCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1328,7 +1328,7 @@ const HireAIIntegrationSpecialists = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -502,7 +502,7 @@ const MLOpsBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -809,7 +809,7 @@ const MLOpsServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -959,7 +959,7 @@ const MLOpsTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1052,7 +1052,7 @@ const MLOpsCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1292,7 +1292,7 @@ const HireMLOpsEngineers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -456,7 +456,7 @@ const AIStrategyBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -696,7 +696,7 @@ const AIStrategyOfferings = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -820,7 +820,7 @@ const AIStrategyTargetAudience = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.02 }}
|
whileHover={{ y: -5, scale: 1.02 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -897,7 +897,7 @@ const AIStrategyCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1089,7 +1089,7 @@ const HireAIConsultants = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -500,7 +500,7 @@ const APIBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -791,7 +791,7 @@ const APIServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1028,7 +1028,7 @@ const APITechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1072,7 +1072,7 @@ const APITechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1111,7 +1111,7 @@ const APITechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1155,7 +1155,7 @@ const APITechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1190,7 +1190,7 @@ const APITechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1281,7 +1281,7 @@ const APICaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1495,7 +1495,7 @@ const HireBackendDevelopers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -210,7 +210,7 @@ const WhyChooseWDISection = () => {
|
|||||||
key={strength.id}
|
key={strength.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -280,7 +280,7 @@ const ImpactNumbersSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -369,7 +369,7 @@ const LearnMoreSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -517,7 +517,7 @@ const MissionSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -487,7 +487,7 @@ const AdminBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -759,7 +759,7 @@ const AdminServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -912,7 +912,7 @@ const AdminTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -957,7 +957,7 @@ const AdminTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -990,7 +990,7 @@ const AdminTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1032,7 +1032,7 @@ const AdminTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1124,7 +1124,7 @@ const AdminCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1336,7 +1336,7 @@ const HireDesigners = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ import { Helmet } from "react-helmet-async";
|
|||||||
import ranoutofImage from "../src/images/ranoutof.webp"
|
import ranoutofImage from "../src/images/ranoutof.webp"
|
||||||
import tradersCircuitImage from "../src/images/traders-circuit.webp";
|
import tradersCircuitImage from "../src/images/traders-circuit.webp";
|
||||||
import prospertyImage from "../src/images/prosperty.webp";
|
import prospertyImage from "../src/images/prosperty.webp";
|
||||||
|
import awsLogoImage from "../src/images/aws-logo.png";
|
||||||
|
|
||||||
|
|
||||||
// Android Hero Section with Android device mockups and Android vector
|
// Android Hero Section with Android device mockups and Android vector
|
||||||
const AndroidHeroWithCTA = () => {
|
const AndroidHeroWithCTA = () => {
|
||||||
@@ -418,7 +420,7 @@ const AndroidKeyBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -666,7 +668,7 @@ const AndroidServicesGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -698,35 +700,35 @@ const AndroidTechStack = () => {
|
|||||||
const technologies = [
|
const technologies = [
|
||||||
{
|
{
|
||||||
name: "Kotlin",
|
name: "Kotlin",
|
||||||
logo: "https://images.unsplash.com/photo-1607706189992-eae578626c86?w=80&h=80&fit=crop&auto=format",
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/kotlin/kotlin-original.svg",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Java",
|
name: "Java",
|
||||||
logo: "https://images.unsplash.com/photo-1580121441575-41bcb5c6b47c?w=80&h=80&fit=crop&auto=format",
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/java/java-plain.svg",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Android Studio",
|
name: "Android Studio",
|
||||||
logo: "https://images.unsplash.com/photo-1611224923853-80b023f02d71?w=80&h=80&fit=crop&auto=format",
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/androidstudio/androidstudio-plain.svg",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Material Design",
|
name: "Material Design",
|
||||||
logo: "https://images.unsplash.com/photo-1558655146-9f40138edfeb?w=80&h=80&fit=crop&auto=format",
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/materialui/materialui-original.svg",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Firebase",
|
name: "Firebase",
|
||||||
logo: "https://images.unsplash.com/photo-1618477388954-7852f32655ec?w=80&h=80&fit=crop&auto=format",
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/firebase/firebase-plain.svg",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "AWS",
|
name: "AWS",
|
||||||
logo: "https://images.unsplash.com/photo-1606868306217-dbf5046868d2?w=80&h=80&fit=crop&auto=format",
|
logo: awsLogoImage,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Google APIs",
|
name: "Google APIs",
|
||||||
logo: "https://images.unsplash.com/photo-1573804633927-bfcbcd909acd?w=80&h=80&fit=crop&auto=format",
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/google/google-plain.svg",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Jetpack Compose",
|
name: "Jetpack Compose",
|
||||||
logo: "https://images.unsplash.com/photo-1621839673705-6617adf9e890?w=80&h=80&fit=crop&auto=format",
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/jetpackcompose/jetpackcompose-plain.svg",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -755,7 +757,7 @@ const AndroidTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ scale: 1.1, y: -5 }}
|
whileHover={{ scale: 1.1, y: -5 }}
|
||||||
className="flex flex-col items-center group"
|
className="flex flex-col items-center group"
|
||||||
@@ -844,7 +846,7 @@ const AndroidCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1052,7 +1054,7 @@ const HireAndroidDevelopers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -255,7 +255,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${tech.name}-${index}`}
|
key={`first-${tech.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -378,7 +378,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -482,7 +482,7 @@ const TabbedServiceDisplay = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -653,7 +653,7 @@ const HireDevelopersSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -724,7 +724,7 @@ const BusinessProcessAutomationIncludes = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -842,7 +842,7 @@ const BusinessProcessAutomationBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1080,7 +1080,7 @@ const BusinessProcessAutomationAudience = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1210,7 +1210,7 @@ const BusinessProcessAutomationCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ Best regards,
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
>
|
>
|
||||||
<Card className="bg-gray-900/30 backdrop-blur-md border-gray-700/30 hover:border-[#E5195E]/30 transition-all duration-300 group">
|
<Card className="bg-gray-900/30 backdrop-blur-md border-gray-700/30 hover:border-[#E5195E]/30 transition-all duration-300 group">
|
||||||
@@ -359,7 +359,7 @@ Best regards,
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -394,7 +394,7 @@ export const CaseStudies = () => {
|
|||||||
key={study.id}
|
key={study.id}
|
||||||
initial={{ opacity: 0, y: 40 }}
|
initial={{ opacity: 0, y: 40 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -448,7 +448,7 @@ const PrototypeBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -693,7 +693,7 @@ const PrototypingServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -863,7 +863,7 @@ const PrototypingTools = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -958,7 +958,7 @@ const PrototypingCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1192,7 +1192,7 @@ const HirePrototypeDesigners = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -337,7 +337,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${value.name}-${index}`}
|
key={`first-${value.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -454,7 +454,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -552,7 +552,7 @@ const TabbedServiceDisplay = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -727,7 +727,7 @@ const PressRecognitionSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -709,7 +709,7 @@ const ComplianceReadySystemsIncludes = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -832,7 +832,7 @@ const ComplianceReadySystemsBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1067,7 +1067,7 @@ const ComplianceReadySystemsAudience = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1197,7 +1197,7 @@ const ComplianceReadySystemsCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -537,7 +537,7 @@ const ComputerVisionBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -838,7 +838,7 @@ const CVApplicationsList = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -974,7 +974,7 @@ const ComputerVisionTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1067,7 +1067,7 @@ const ComputerVisionCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1305,7 +1305,7 @@ const HireComputerVisionEngineers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -171,7 +171,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${option.name}-${index}`}
|
key={`first-${option.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -286,7 +286,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -565,7 +565,7 @@ const OfficeLocationsSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -323,7 +323,7 @@ const CrossPlatformBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -796,7 +796,7 @@ const CrossPlatformServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -889,7 +889,7 @@ const CrossPlatformCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1074,7 +1074,7 @@ const HireCrossPlatformDevelopers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -510,7 +510,7 @@ const CustomMLBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -810,7 +810,7 @@ const CustomMLServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -956,7 +956,7 @@ const CustomMLTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1048,7 +1048,7 @@ const CustomMLCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1288,7 +1288,7 @@ const HireMLDevelopers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -366,7 +366,7 @@ const CustomWebAppBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -642,7 +642,7 @@ const CustomWebAppServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -788,7 +788,7 @@ const WebAppTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -828,7 +828,7 @@ const WebAppTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -919,7 +919,7 @@ const WebAppCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1134,7 +1134,7 @@ const HireWebDevelopers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -719,7 +719,7 @@ const DedicatedOffshoreODCIncludes = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -809,7 +809,7 @@ const DedicatedOffshoreODCBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1049,7 +1049,7 @@ const DedicatedOffshoreODCAudience = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1179,7 +1179,7 @@ const DedicatedOffshoreODCCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -217,7 +217,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${specialty.name}-${index}`}
|
key={`first-${specialty.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -333,7 +333,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -431,7 +431,7 @@ const TabbedServiceDisplay = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -597,7 +597,7 @@ const HireDevelopersSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -498,7 +498,7 @@ const WorkshopBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -642,7 +642,7 @@ const DesignThinkingApproach = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -778,7 +778,7 @@ const WorkshopFormats = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -885,7 +885,7 @@ const TargetAudience = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.02 }}
|
whileHover={{ y: -5, scale: 1.02 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -968,7 +968,7 @@ const WorkshopCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1206,7 +1206,7 @@ const HireFacilitators = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -640,7 +640,7 @@ const DigitalProductIncludes = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -731,7 +731,7 @@ const DigitalProductBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -964,7 +964,7 @@ const DigitalProductAudience = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1056,7 +1056,7 @@ const DigitalProductCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -309,7 +309,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -414,7 +414,7 @@ const EcommerceBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -698,7 +698,7 @@ const EcommerceServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -908,7 +908,7 @@ const EcommerceTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -949,7 +949,7 @@ const EcommerceTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -982,7 +982,7 @@ const EcommerceTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1024,7 +1024,7 @@ const EcommerceTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1114,7 +1114,7 @@ const EcommerceCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1326,7 +1326,7 @@ const HireEcommerceDevelopers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -524,7 +524,7 @@ const EnterpriseBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -812,7 +812,7 @@ const EnterpriseServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1020,7 +1020,7 @@ const EnterpriseTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1064,7 +1064,7 @@ const EnterpriseTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1105,7 +1105,7 @@ const EnterpriseTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1143,7 +1143,7 @@ const EnterpriseTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1236,7 +1236,7 @@ const EnterpriseCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1455,7 +1455,7 @@ const HireEnterpriseTalent = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -308,7 +308,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -681,7 +681,7 @@ const FinTechBankingAppsFeatures = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -798,7 +798,7 @@ const FinTechBankingAppsAdvantage = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1010,7 +1010,7 @@ const FinTechBankingAppsCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1165,7 +1165,7 @@ const FinTechBankingAppsTestimonials = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1297,7 +1297,7 @@ const FinTechBankingAppsAwards = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.02 }}
|
whileHover={{ y: -5, scale: 1.02 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1357,7 +1357,7 @@ const FinTechBankingAppsAwards = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -306,7 +306,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -517,7 +517,7 @@ const GenAIIntegrationBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -806,7 +806,7 @@ const GenAIIntegrationServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1013,7 +1013,7 @@ const GenAITechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1095,7 +1095,7 @@ const GenAICaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1336,7 +1336,7 @@ const HireGenAISpecialists = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ export const GoodTimesProject = () => {
|
|||||||
key={metric.label}
|
key={metric.label}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -253,7 +253,7 @@ export const GoodTimesProject = () => {
|
|||||||
key={feature.title}
|
key={feature.title}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
||||||
>
|
>
|
||||||
@@ -296,7 +296,7 @@ export const GoodTimesProject = () => {
|
|||||||
key={phase.phase}
|
key={phase.phase}
|
||||||
initial={{ opacity: 0, x: -20 }}
|
initial={{ opacity: 0, x: -20 }}
|
||||||
whileInView={{ opacity: 1, x: 0 }}
|
whileInView={{ opacity: 1, x: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="relative"
|
className="relative"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -715,7 +715,7 @@ const HealthTechFeatures = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -832,7 +832,7 @@ const HealthTechAdvantage = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1030,7 +1030,7 @@ const HealthTechCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1177,7 +1177,7 @@ const HealthTechTestimonials = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ const IndustryGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -342,7 +342,7 @@ const WhyChooseWDI = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ import { ArrowRight, Linkedin, Twitter, Mail } from "lucide-react";
|
|||||||
import { navigateTo } from "@/App";
|
import { navigateTo } from "@/App";
|
||||||
import riteshImage from "../src/images/ritesh-pandey.png";
|
import riteshImage from "../src/images/ritesh-pandey.png";
|
||||||
import manavImage from "../src/images/manav-sain.png";
|
import manavImage from "../src/images/manav-sain.png";
|
||||||
import sudhirImage from "../src/images/sudhir-malya.png";
|
import sudhirImage from "../src/images/sudhir-malya.jpg";
|
||||||
import kartikeyImage from "../src/images/kartikeya-gautam.png";
|
import kartikeyImage from "../src/images/kartikeya-gautam.png";
|
||||||
import poojaImage from "../src/images/pooja-patade.png";
|
import poojaImage from "../src/images/pooja-patade.jpg";
|
||||||
import tanveerImage from "../src/images/tanveer-ajani.png";
|
import tanveerImage from "../src/images/tanveer.jpg";
|
||||||
import { Helmet } from "react-helmet-async";
|
import { Helmet } from "react-helmet-async";
|
||||||
|
|
||||||
export const LeadershipTeam = () => {
|
export const LeadershipTeam = () => {
|
||||||
@@ -19,74 +19,114 @@ export const LeadershipTeam = () => {
|
|||||||
name: "Ritesh Pandey",
|
name: "Ritesh Pandey",
|
||||||
position: "Founder & CEO",
|
position: "Founder & CEO",
|
||||||
image: riteshImage,
|
image: riteshImage,
|
||||||
|
accent: "pink", // default
|
||||||
bio: "Founder & CEO leading innovation and AI-driven growth across industries.",
|
bio: "Founder & CEO leading innovation and AI-driven growth across industries.",
|
||||||
social: {
|
social: {
|
||||||
linkedin: "linkedin.com/in/riteshwdipl",
|
linkedin: "https://linkedin.com/in/riteshwdipl",
|
||||||
|
email: "#",
|
||||||
twitter: "#",
|
twitter: "#",
|
||||||
email: "ideas@wdipl.com"
|
},
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Manav Sain",
|
name: "Manav Sain",
|
||||||
position: "VP- Business Solutions",
|
position: "VP- Business Solutions",
|
||||||
image: manavImage,
|
image: manavImage,
|
||||||
|
accent: "green",
|
||||||
bio: "VP crafting business solutions and scaling digital strategy for enterprise clients.",
|
bio: "VP crafting business solutions and scaling digital strategy for enterprise clients.",
|
||||||
social: {
|
social: {
|
||||||
linkedin: "linkedin.com/in/manavsain",
|
linkedin: "https://linkedin.com/in/manavsain",
|
||||||
|
email: "#",
|
||||||
twitter: "#",
|
twitter: "#",
|
||||||
email: "ideas@wdipl.com"
|
},
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Sudhir Mallya",
|
name: "Sudhir Mallya",
|
||||||
position: "CTO",
|
position: "CTO",
|
||||||
image: sudhirImage,
|
image: sudhirImage,
|
||||||
|
accent: "blue",
|
||||||
bio: "CTO leading technology innovation and scalable digital architecture.",
|
bio: "CTO leading technology innovation and scalable digital architecture.",
|
||||||
experience: "Former VP at Microsoft, Stanford MBA",
|
experience: "Former VP at Microsoft, Stanford MBA",
|
||||||
social: {
|
social: {
|
||||||
linkedin: "#",
|
linkedin: "#",
|
||||||
|
email: "#",
|
||||||
twitter: "#",
|
twitter: "#",
|
||||||
email: "ideas@wdipl.com"
|
},
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Kartikey Gautam",
|
name: "Kartikey Gautam",
|
||||||
position: "Product Manager",
|
position: "Product Manager",
|
||||||
image: kartikeyImage,
|
image: kartikeyImage,
|
||||||
|
accent: "green",
|
||||||
bio: "Product Manager building scalable AI products with a user-centric approach.",
|
bio: "Product Manager building scalable AI products with a user-centric approach.",
|
||||||
experience: "Former VP at Microsoft, Stanford MBA",
|
experience: "Former VP at Microsoft, Stanford MBA",
|
||||||
social: {
|
social: {
|
||||||
linkedin: "linkedin.com/in/kartikey-gautam-product-manager",
|
linkedin: "https://linkedin.com/in/kartikey-gautam-product-manager",
|
||||||
|
email: "#",
|
||||||
twitter: "#",
|
twitter: "#",
|
||||||
email: "ideas@wdipl.com"
|
},
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Pooja Patade",
|
name: "Pooja Patade",
|
||||||
position: "Head - Accounts & HR",
|
position: "Head - Accounts & HR",
|
||||||
image: poojaImage,
|
image: poojaImage,
|
||||||
|
accent: "blue",
|
||||||
bio: "Head of HR & Accounts ensuring smooth operations and organizational alignment.",
|
bio: "Head of HR & Accounts ensuring smooth operations and organizational alignment.",
|
||||||
experience: "Former VP at Microsoft, Stanford MBA",
|
experience: "Former VP at Microsoft, Stanford MBA",
|
||||||
social: {
|
social: {
|
||||||
linkedin: "linkedin.com/in/pooja-patade-85453a13b",
|
linkedin: "https://linkedin.com/in/pooja-patade-85453a13b",
|
||||||
|
email: "#",
|
||||||
twitter: "#",
|
twitter: "#",
|
||||||
email: "ideas@wdipl.com"
|
},
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Tanveer Ajani",
|
name: "Tanveer Ajani",
|
||||||
position: "Compliance Head",
|
position: "Compliance Head",
|
||||||
image: tanveerImage,
|
image: tanveerImage,
|
||||||
|
accent: "pink",
|
||||||
bio: "Ensures regulatory excellence and drives compliance across operations.",
|
bio: "Ensures regulatory excellence and drives compliance across operations.",
|
||||||
experience: "Former VP at Microsoft, Stanford MBA",
|
experience: "Former VP at Microsoft, Stanford MBA",
|
||||||
social: {
|
social: {
|
||||||
linkedin: "#",
|
linkedin: "#",
|
||||||
|
email: "#",
|
||||||
twitter: "#",
|
twitter: "#",
|
||||||
email: "ideas@wdipl.com"
|
},
|
||||||
}
|
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
// Helper function to get accent colors
|
||||||
|
const getAccentColors = (accent: string) => {
|
||||||
|
switch (accent) {
|
||||||
|
case 'green':
|
||||||
|
return {
|
||||||
|
primary: '#10B981',
|
||||||
|
bg: 'from-green-600/20 to-emerald-500/20',
|
||||||
|
border: 'border-green-500/30',
|
||||||
|
hover: 'hover:bg-green-500/20',
|
||||||
|
shadow: 'hover:shadow-green-500/25',
|
||||||
|
text: 'text-green-400'
|
||||||
|
};
|
||||||
|
case 'blue':
|
||||||
|
return {
|
||||||
|
primary: '#3B82F6',
|
||||||
|
bg: 'from-blue-600/20 to-blue-500/20',
|
||||||
|
border: 'border-blue-500/30',
|
||||||
|
hover: 'hover:bg-blue-500/20',
|
||||||
|
shadow: 'hover:shadow-blue-500/25',
|
||||||
|
text: 'text-blue-400'
|
||||||
|
};
|
||||||
|
default: // pink
|
||||||
|
return {
|
||||||
|
primary: '#E5195E',
|
||||||
|
bg: 'from-[#E5195E]/20 to-[#FF6B9D]/20',
|
||||||
|
border: 'border-[#E5195E]/30',
|
||||||
|
hover: 'hover:bg-[#E5195E]/20',
|
||||||
|
shadow: 'hover:shadow-[#E5195E]/25',
|
||||||
|
text: 'text-[#E5195E]'
|
||||||
|
};
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="dark min-h-screen bg-background">
|
<div className="dark min-h-screen bg-background">
|
||||||
<Helmet>
|
<Helmet>
|
||||||
@@ -177,67 +217,78 @@ export const LeadershipTeam = () => {
|
|||||||
<section className="py-16 bg-background">
|
<section className="py-16 bg-background">
|
||||||
<div className="container mx-auto px-6 lg:px-8">
|
<div className="container mx-auto px-6 lg:px-8">
|
||||||
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
|
<div className="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
|
||||||
{leaders.map((leader, index) => (
|
{leaders.map((leader, index) => {
|
||||||
<div key={index} className="group">
|
const colors = getAccentColors(leader.accent);
|
||||||
<div className="bg-card/50 rounded-2xl p-8 border border-white/10 hover:border-[#E5195E]/30 transition-all duration-300 hover:transform hover:scale-105">
|
|
||||||
{/* Profile Image */}
|
|
||||||
<div className="relative mb-6">
|
|
||||||
<div className="aspect-square rounded-2xl overflow-hidden bg-gradient-to-br from-[#E5195E]/20 to-[#FF6B9D]/20">
|
|
||||||
<img
|
|
||||||
src={leader.image}
|
|
||||||
alt={leader.name}
|
|
||||||
className="w-full h-full object-cover group-hover:scale-110 transition-transform duration-300"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div className="absolute inset-0 rounded-2xl bg-gradient-to-t from-black/20 to-transparent" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Content */}
|
return (
|
||||||
<div className="space-y-4">
|
<div
|
||||||
<div>
|
key={index}
|
||||||
<h3 className="text-xl font-bold text-white mb-1">
|
className="group transition-all duration-500 ease-in-out"
|
||||||
{leader.name}
|
>
|
||||||
</h3>
|
<div className={`bg-card/50 rounded-2xl p-6 border border-white/10 hover:border-white/20 backdrop-blur-md transition-all duration-500 ease-in-out hover:bg-card/70`}>
|
||||||
<p className="text-[#E5195E] font-medium mb-3">
|
{/* Profile Image - Reduced Size */}
|
||||||
{leader.position}
|
<div className="relative mb-6 flex justify-center transition-all duration-500 ease-in-out">
|
||||||
|
<div
|
||||||
|
className={`relative w-24 h-24 rounded-2xl overflow-hidden bg-gradient-to-br ${colors.bg} transition-all duration-500 ease-in-out`}
|
||||||
|
>
|
||||||
|
<img
|
||||||
|
src={leader.image}
|
||||||
|
alt={leader.name}
|
||||||
|
className="w-full h-full object-cover group-hover:opacity-90 transition-opacity duration-500 ease-in-out"
|
||||||
|
/>
|
||||||
|
|
||||||
|
{/* Colored Glow Effect on Hover */}
|
||||||
|
<div
|
||||||
|
className={`absolute inset-0 rounded-2xl bg-gradient-to-t from-[${colors.primary}]20 to-transparent opacity-0 group-hover:opacity-100 transition-opacity duration-500 ease-in-out`}
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Colored Status Ring */}
|
||||||
|
<div
|
||||||
|
className={`absolute -bottom-1 -right-1 w-6 h-6 rounded-full border-2 border-card flex items-center justify-center`}
|
||||||
|
style={{ backgroundColor: colors.primary }}
|
||||||
|
>
|
||||||
|
<div className="w-2 h-2 bg-white rounded-full" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/* Content */}
|
||||||
|
<div className="space-y-4 text-center transition-all duration-500 ease-in-out">
|
||||||
|
<div>
|
||||||
|
<h3 className="text-xl font-bold text-white mb-1 font-manrope">
|
||||||
|
{leader.name}
|
||||||
|
</h3>
|
||||||
|
<p className={`${colors.text} font-medium mb-3 font-manrope`}>
|
||||||
|
{leader.position}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p className="text-muted-foreground text-sm leading-relaxed font-manrope">
|
||||||
|
{leader.bio}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
|
||||||
|
|
||||||
<p className="text-muted-foreground text-sm leading-relaxed">
|
<div className="pt-3 border-t border-white/10">
|
||||||
{leader.bio}
|
{/* Social Links */}
|
||||||
</p>
|
<div className="flex justify-center">
|
||||||
|
<a
|
||||||
<div className="pt-2 border-t border-white/10">
|
href={leader.social.linkedin}
|
||||||
{/* <p className="text-xs text-muted-foreground mb-3">
|
target="_blank"
|
||||||
{leader.experience}
|
rel="noopener noreferrer"
|
||||||
</p> */}
|
className={`w-9 h-9 rounded-lg bg-white/10 ${colors.hover} flex items-center justify-center transition-all duration-500 ease-in-out hover:shadow-lg ${colors.shadow} group/social`}
|
||||||
|
style={{
|
||||||
{/* Social Links */}
|
background: `linear-gradient(135deg, ${colors.primary}20, ${colors.primary}10)`,
|
||||||
<div className="flex gap-3">
|
}}
|
||||||
<a
|
>
|
||||||
href={leader.social.linkedin}
|
<Linkedin className="w-4 h-4 text-white transition-all duration-300 ease-in-out" />
|
||||||
className="w-8 h-8 rounded-lg bg-white/10 hover:bg-[#E5195E]/20 flex items-center justify-center transition-colors duration-200"
|
</a>
|
||||||
>
|
</div>
|
||||||
<Linkedin className="w-4 h-4 text-white" />
|
|
||||||
</a>
|
|
||||||
<a
|
|
||||||
href={leader.social.twitter}
|
|
||||||
className="w-8 h-8 rounded-lg bg-white/10 hover:bg-[#E5195E]/20 flex items-center justify-center transition-colors duration-200"
|
|
||||||
>
|
|
||||||
<Twitter className="w-4 h-4 text-white" />
|
|
||||||
</a>
|
|
||||||
<a
|
|
||||||
href={`mailto:${leader.social.email}`}
|
|
||||||
className="w-8 h-8 rounded-lg bg-white/10 hover:bg-[#E5195E]/20 flex items-center justify-center transition-colors duration-200"
|
|
||||||
>
|
|
||||||
<Mail className="w-4 h-4 text-white" />
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
))}
|
);
|
||||||
|
})}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -676,7 +676,7 @@ const LegacySystemIncludes = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -797,7 +797,7 @@ const LegacySystemBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1041,7 +1041,7 @@ const LegacySystemAudience = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1171,7 +1171,7 @@ const LegacySystemCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -690,7 +690,7 @@ const MVPStartupIncludes = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -812,7 +812,7 @@ const MVPStartupBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1045,7 +1045,7 @@ const MVPStartupAudience = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1137,7 +1137,7 @@ const MVPStartupCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${technique.name}-${index}`}
|
key={`first-${technique.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -339,7 +339,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -437,7 +437,7 @@ const TabbedServiceDisplay = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -603,7 +603,7 @@ const HireDevelopersSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -727,7 +727,7 @@ const MedicalComplianceFeatures = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -844,7 +844,7 @@ const MedicalComplianceAdvantage = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1042,7 +1042,7 @@ const MedicalComplianceCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1189,7 +1189,7 @@ const MedicalComplianceTestimonials = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -258,7 +258,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${industry.name}-${index}`}
|
key={`first-${industry.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -401,7 +401,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={factor.id}
|
key={factor.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -501,7 +501,7 @@ const TabbedServiceDisplay = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -667,7 +667,7 @@ const HireDevelopersSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -572,7 +572,7 @@ const NLPBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -885,7 +885,7 @@ const NLPServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1027,7 +1027,7 @@ const NLPTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1120,7 +1120,7 @@ const NLPCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1360,7 +1360,7 @@ const HireNLPEngineers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -339,7 +339,7 @@ const NativeVsCrossPlatform = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -526,7 +526,7 @@ const NativeCapabilities = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -674,7 +674,7 @@ const NativeUseCases = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -894,7 +894,7 @@ const NativeCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1096,7 +1096,7 @@ const HireNativeDevelopers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -225,7 +225,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -307,7 +307,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -356,7 +356,7 @@ const PWABenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -457,7 +457,7 @@ const HowPWAsWork = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -698,7 +698,7 @@ const PWAUseCases = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -845,7 +845,7 @@ const PWATechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{
|
whileHover={{
|
||||||
y: -5,
|
y: -5,
|
||||||
@@ -897,7 +897,7 @@ const PWATechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1045,7 +1045,7 @@ const PWASuccessStories = () => {
|
|||||||
key={study.id}
|
key={study.id}
|
||||||
initial={{ opacity: 0, y: 30 }}
|
initial={{ opacity: 0, y: 30 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -527,7 +527,7 @@ const PredictiveAnalyticsBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -835,7 +835,7 @@ const PredictiveAnalyticsServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1002,7 +1002,7 @@ const PredictiveAnalyticsTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1095,7 +1095,7 @@ const PredictiveAnalyticsCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1333,7 +1333,7 @@ const HirePredictiveAnalyticsSpecialists = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -455,7 +455,7 @@ const ModernizationBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -717,7 +717,7 @@ const ModernizationServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -923,7 +923,7 @@ const ModernizationTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, x: -20 }}
|
initial={{ opacity: 0, x: -20 }}
|
||||||
whileInView={{ opacity: 1, x: 0 }}
|
whileInView={{ opacity: 1, x: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -967,7 +967,7 @@ const ModernizationTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, x: 20 }}
|
initial={{ opacity: 0, x: 20 }}
|
||||||
whileInView={{ opacity: 1, x: 0 }}
|
whileInView={{ opacity: 1, x: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -1016,7 +1016,7 @@ const ModernizationTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1110,7 +1110,7 @@ const ModernizationCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1344,7 +1344,7 @@ const HireModernizationTalent = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ export const ProspertyProject = () => {
|
|||||||
key={metric.label}
|
key={metric.label}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -253,7 +253,7 @@ export const ProspertyProject = () => {
|
|||||||
key={feature.title}
|
key={feature.title}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
||||||
>
|
>
|
||||||
@@ -296,7 +296,7 @@ export const ProspertyProject = () => {
|
|||||||
key={phase.phase}
|
key={phase.phase}
|
||||||
initial={{ opacity: 0, x: -20 }}
|
initial={{ opacity: 0, x: -20 }}
|
||||||
whileInView={{ opacity: 1, x: 0 }}
|
whileInView={{ opacity: 1, x: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="relative"
|
className="relative"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -228,7 +228,7 @@ export const RanOutOfProject = () => {
|
|||||||
key={metric.label}
|
key={metric.label}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -286,7 +286,7 @@ export const RanOutOfProject = () => {
|
|||||||
key={feature.title}
|
key={feature.title}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
||||||
>
|
>
|
||||||
@@ -329,7 +329,7 @@ export const RanOutOfProject = () => {
|
|||||||
key={phase.phase}
|
key={phase.phase}
|
||||||
initial={{ opacity: 0, x: -20 }}
|
initial={{ opacity: 0, x: -20 }}
|
||||||
whileInView={{ opacity: 1, x: 0 }}
|
whileInView={{ opacity: 1, x: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="relative"
|
className="relative"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -720,7 +720,7 @@ const RealEstateTechFeatures = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -837,7 +837,7 @@ const RealEstateTechAdvantage = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1041,7 +1041,7 @@ const RealEstateTechCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1188,7 +1188,7 @@ const RealEstateTechTestimonials = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -486,7 +486,7 @@ const RecommendationBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -787,7 +787,7 @@ const RecommendationServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -935,7 +935,7 @@ const RecommendationTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1028,7 +1028,7 @@ const RecommendationCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1246,7 +1246,7 @@ const HireMLEngineers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ export const RegroupProject = () => {
|
|||||||
key={metric.label}
|
key={metric.label}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -258,7 +258,7 @@ export const RegroupProject = () => {
|
|||||||
key={feature.title}
|
key={feature.title}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
||||||
>
|
>
|
||||||
@@ -301,7 +301,7 @@ export const RegroupProject = () => {
|
|||||||
key={phase.phase}
|
key={phase.phase}
|
||||||
initial={{ opacity: 0, x: -20 }}
|
initial={{ opacity: 0, x: -20 }}
|
||||||
whileInView={{ opacity: 1, x: 0 }}
|
whileInView={{ opacity: 1, x: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="relative"
|
className="relative"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -213,7 +213,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${resource.name}-${index}`}
|
key={`first-${resource.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -328,7 +328,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -420,7 +420,7 @@ const TabbedServiceDisplay = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -589,7 +589,7 @@ const FeaturedContentSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -395,7 +395,7 @@ const SaaSBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -684,7 +684,7 @@ const SaaSServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -930,7 +930,7 @@ const SaaSTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -975,7 +975,7 @@ const SaaSTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1008,7 +1008,7 @@ const SaaSTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1050,7 +1050,7 @@ const SaaSTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1142,7 +1142,7 @@ const SaaSCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1356,7 +1356,7 @@ const HireSaaSDevelopers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ export const SeezunProject = () => {
|
|||||||
key={metric.label}
|
key={metric.label}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -254,7 +254,7 @@ export const SeezunProject = () => {
|
|||||||
key={feature.title}
|
key={feature.title}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
||||||
>
|
>
|
||||||
@@ -297,7 +297,7 @@ export const SeezunProject = () => {
|
|||||||
key={phase.phase}
|
key={phase.phase}
|
||||||
initial={{ opacity: 0, x: -20 }}
|
initial={{ opacity: 0, x: -20 }}
|
||||||
whileInView={{ opacity: 1, x: 0 }}
|
whileInView={{ opacity: 1, x: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="relative"
|
className="relative"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${category.name}-${index}`}
|
key={`first-${category.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -340,7 +340,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -438,7 +438,7 @@ const TabbedServiceDisplay = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -250,7 +250,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${practice.name}-${index}`}
|
key={`first-${practice.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -373,7 +373,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -477,7 +477,7 @@ const TabbedServiceDisplay = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -650,7 +650,7 @@ const HireDevelopersSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -172,7 +172,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${category.name}-${index}`}
|
key={`first-${category.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -288,7 +288,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -392,7 +392,7 @@ const TabbedSolutionDisplay = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -903,7 +903,7 @@ const ProcessStepsSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -1015,7 +1015,7 @@ const JoinWDISection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -1148,7 +1148,7 @@ const WhyPartnerSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="bg-gray-900/30 backdrop-blur-sm border border-gray-700/30 rounded-2xl p-8 text-center hover:border-[#E5195E]/30 transition-all duration-300"
|
className="bg-gray-900/30 backdrop-blur-sm border border-gray-700/30 rounded-2xl p-8 text-center hover:border-[#E5195E]/30 transition-all duration-300"
|
||||||
>
|
>
|
||||||
@@ -1239,7 +1239,7 @@ const ContactInfoSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="bg-gray-900/30 backdrop-blur-sm border border-gray-700/30 rounded-2xl p-8 text-center hover:border-[#E5195E]/30 transition-all duration-300 cursor-pointer"
|
className="bg-gray-900/30 backdrop-blur-sm border border-gray-700/30 rounded-2xl p-8 text-center hover:border-[#E5195E]/30 transition-all duration-300 cursor-pointer"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -525,7 +525,7 @@ const DevOpsBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -827,7 +827,7 @@ const DevOpsServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1027,7 +1027,7 @@ const DevOpsTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1069,7 +1069,7 @@ const DevOpsTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1113,7 +1113,7 @@ const DevOpsTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1156,7 +1156,7 @@ const DevOpsTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1191,7 +1191,7 @@ const DevOpsTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1284,7 +1284,7 @@ const DevOpsCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1518,7 +1518,7 @@ const HireDevOpsTalent = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ export const TanamiProject = () => {
|
|||||||
key={metric.label}
|
key={metric.label}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -254,7 +254,7 @@ export const TanamiProject = () => {
|
|||||||
key={feature.title}
|
key={feature.title}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
||||||
>
|
>
|
||||||
@@ -297,7 +297,7 @@ export const TanamiProject = () => {
|
|||||||
key={phase.phase}
|
key={phase.phase}
|
||||||
initial={{ opacity: 0, x: -20 }}
|
initial={{ opacity: 0, x: -20 }}
|
||||||
whileInView={{ opacity: 1, x: 0 }}
|
whileInView={{ opacity: 1, x: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="relative"
|
className="relative"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -497,7 +497,7 @@ const IntegrationBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -797,7 +797,7 @@ const IntegrationServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -978,7 +978,7 @@ const IntegrationTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1019,7 +1019,7 @@ const IntegrationTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1062,7 +1062,7 @@ const IntegrationTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1095,7 +1095,7 @@ const IntegrationTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1190,7 +1190,7 @@ const IntegrationCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1424,7 +1424,7 @@ const HireIntegrationTalent = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -196,7 +196,7 @@ export const TradersCircuitProject = () => {
|
|||||||
key={metric.label}
|
key={metric.label}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -254,7 +254,7 @@ export const TradersCircuitProject = () => {
|
|||||||
key={feature.title}
|
key={feature.title}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
||||||
>
|
>
|
||||||
@@ -297,7 +297,7 @@ export const TradersCircuitProject = () => {
|
|||||||
key={phase.phase}
|
key={phase.phase}
|
||||||
initial={{ opacity: 0, x: -20 }}
|
initial={{ opacity: 0, x: -20 }}
|
||||||
whileInView={{ opacity: 1, x: 0 }}
|
whileInView={{ opacity: 1, x: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="relative"
|
className="relative"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -308,7 +308,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -503,7 +503,7 @@ const UIUXBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -755,7 +755,7 @@ const UIUXDesignServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -926,7 +926,7 @@ const DesignToolsMethodologies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -971,7 +971,7 @@ const DesignToolsMethodologies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1145,7 +1145,7 @@ const HireUIUXDesigners = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -418,7 +418,7 @@ const ResearchBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -631,7 +631,7 @@ const ResearchServices = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -729,7 +729,7 @@ const ResearchTools = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5, scale: 1.05 }}
|
whileHover={{ y: -5, scale: 1.05 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -812,7 +812,7 @@ const ResearchCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1008,7 +1008,7 @@ const HireResearchers = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -194,7 +194,7 @@ const IconWithDescriptionGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group"
|
className="group"
|
||||||
>
|
>
|
||||||
@@ -271,7 +271,7 @@ const ThreeColumnFeatureBlock = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -724,7 +724,7 @@ const WealthTechPlatformsFeatures = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -845,7 +845,7 @@ const WealthTechPlatformsAdvantage = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1057,7 +1057,7 @@ const WealthTechPlatformsCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -1208,7 +1208,7 @@ const WealthTechPlatformsTestimonials = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ import { ShimmerButton } from "../components/ui/shimmer-button";
|
|||||||
import { navigateTo } from "@/App";
|
import { navigateTo } from "@/App";
|
||||||
import { Helmet } from "react-helmet-async";
|
import { Helmet } from "react-helmet-async";
|
||||||
import HireDeveloperSection from "@/components/HireDeveloperSection";
|
import HireDeveloperSection from "@/components/HireDeveloperSection";
|
||||||
|
import iotImage from "../src/images/iot.png";
|
||||||
|
|
||||||
// Wearable & Device App Development Hero Section
|
// Wearable & Device App Development Hero Section
|
||||||
const WearableHeroWithCTA = () => {
|
const WearableHeroWithCTA = () => {
|
||||||
@@ -430,7 +431,7 @@ const WearableBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -608,7 +609,7 @@ const WearableCapabilities = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -840,7 +841,7 @@ const WearableUseCases = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -967,7 +968,7 @@ const WearableTechStack = () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "AWS IoT",
|
name: "AWS IoT",
|
||||||
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/amazonwebservices/amazonwebservices-original.svg",
|
logo: iotImage,
|
||||||
category: "IoT Platform",
|
category: "IoT Platform",
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
@@ -1024,7 +1025,7 @@ const WearableTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{
|
whileHover={{
|
||||||
y: -5,
|
y: -5,
|
||||||
@@ -1073,7 +1074,7 @@ const WearableTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -1164,7 +1165,7 @@ const WearableCaseStudies = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ const HorizontalTagScroller = () => {
|
|||||||
key={`first-${tech.name}-${index}`}
|
key={`first-${tech.name}-${index}`}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="group flex-shrink-0 mx-3"
|
className="group flex-shrink-0 mx-3"
|
||||||
>
|
>
|
||||||
@@ -404,7 +404,7 @@ const SideBySideContentWithIcons = () => {
|
|||||||
key={advantage.id}
|
key={advantage.id}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -506,7 +506,7 @@ const TabbedServiceDisplay = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
@@ -679,7 +679,7 @@ const HireDevelopersSection = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -8, scale: 1.02 }}
|
whileHover={{ y: -8, scale: 1.02 }}
|
||||||
className="group cursor-pointer"
|
className="group cursor-pointer"
|
||||||
|
|||||||
@@ -197,7 +197,7 @@ export const WokaProject = () => {
|
|||||||
key={metric.label}
|
key={metric.label}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="text-center"
|
className="text-center"
|
||||||
>
|
>
|
||||||
@@ -255,7 +255,7 @@ export const WokaProject = () => {
|
|||||||
key={feature.title}
|
key={feature.title}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
className="bg-card/50 rounded-[10px] p-6 border border-border/50"
|
||||||
>
|
>
|
||||||
@@ -298,7 +298,7 @@ export const WokaProject = () => {
|
|||||||
key={phase.phase}
|
key={phase.phase}
|
||||||
initial={{ opacity: 0, x: -20 }}
|
initial={{ opacity: 0, x: -20 }}
|
||||||
whileInView={{ opacity: 1, x: 0 }}
|
whileInView={{ opacity: 1, x: 0 }}
|
||||||
transition={{ duration: 0.6, delay: index * 0.1 }}
|
transition={{ duration: 0.6, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
className="relative"
|
className="relative"
|
||||||
>
|
>
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ import ranoutofImage from "../src/images/ranoutof.webp";
|
|||||||
import seezunImage from "../src/images/seezun.webp";
|
import seezunImage from "../src/images/seezun.webp";
|
||||||
import wokaImage from "../src/images/woka.webp";
|
import wokaImage from "../src/images/woka.webp";
|
||||||
import swiftImage from "../src/images/swift-programming.webp";
|
import swiftImage from "../src/images/swift-programming.webp";
|
||||||
|
import apllePayImage from "../src/images/apple-pay.png";
|
||||||
|
import awsLogo from "../src/images/aws-logo.png";
|
||||||
|
|
||||||
// High-quality iOS development images
|
// High-quality iOS development images
|
||||||
|
|
||||||
@@ -642,7 +644,7 @@ const IOSServicesGrid = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
@@ -676,10 +678,12 @@ const IOSTechStack = () => {
|
|||||||
name: "Swift",
|
name: "Swift",
|
||||||
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/swift/swift-original.svg",
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/swift/swift-original.svg",
|
||||||
},
|
},
|
||||||
{ name: "SwiftUI", logo: swiftuiImage },
|
{ name: "SwiftUI",
|
||||||
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/swift/swift-plain.svg",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "Xcode",
|
name: "Xcode",
|
||||||
logo: "https://images.unsplash.com/photo-1607706189992-eae578626c86?w=80&h=80&fit=crop&auto=format",
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/xcode/xcode-original.svg",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "UIKit",
|
name: "UIKit",
|
||||||
@@ -691,15 +695,16 @@ const IOSTechStack = () => {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Firebase",
|
name: "Firebase",
|
||||||
logo: "https://images.unsplash.com/photo-1618477388954-7852f32655ec?w=80&h=80&fit=crop&auto=format",
|
logo: "https://cdn.jsdelivr.net/gh/devicons/devicon/icons/firebase/firebase-plain.svg",
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "AWS",
|
name: "AWS",
|
||||||
logo: "https://images.unsplash.com/photo-1606868306217-dbf5046868d2?w=80&h=80&fit=crop&auto=format",
|
logo: awsLogo,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: "Apple Pay",
|
name: "Apple Pay",
|
||||||
logo: "https://images.unsplash.com/photo-1556742049-0cfed4f6a45d?w=80&h=80&fit=crop&auto=format",
|
logo: apllePayImage,
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
@@ -728,7 +733,7 @@ const IOSTechStack = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, scale: 0.8 }}
|
initial={{ opacity: 0, scale: 0.8 }}
|
||||||
whileInView={{ opacity: 1, scale: 1 }}
|
whileInView={{ opacity: 1, scale: 1 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ scale: 1.1, y: -5 }}
|
whileHover={{ scale: 1.1, y: -5 }}
|
||||||
className="flex flex-col items-center group"
|
className="flex flex-col items-center group"
|
||||||
@@ -819,7 +824,7 @@ const IOSKeyBenefits = () => {
|
|||||||
key={index}
|
key={index}
|
||||||
initial={{ opacity: 0, y: 20 }}
|
initial={{ opacity: 0, y: 20 }}
|
||||||
whileInView={{ opacity: 1, y: 0 }}
|
whileInView={{ opacity: 1, y: 0 }}
|
||||||
transition={{ duration: 0.5, delay: index * 0.1 }}
|
transition={{ duration: 0.5, delay: index * 0.01 }}
|
||||||
viewport={{ once: true }}
|
viewport={{ once: true }}
|
||||||
whileHover={{ y: -5 }}
|
whileHover={{ y: -5 }}
|
||||||
className="group"
|
className="group"
|
||||||
|
|||||||
BIN
src/images/apple-pay.png
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
src/images/iot.png
Normal file
|
After Width: | Height: | Size: 21 KiB |
BIN
src/images/pooja-patade.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
src/images/sudhir-malya.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 110 KiB |
BIN
src/images/tanveer.jpg
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
src/images/wdi-logo.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |