diff --git a/src/app/about-us/page.tsx b/src/app/about-us/page.tsx index 47bf891..1d85262 100644 --- a/src/app/about-us/page.tsx +++ b/src/app/about-us/page.tsx @@ -26,6 +26,8 @@ import WhyChooseSection from "@/components/careers/WhyChooseSection"; import PageHeader from "@/components/common/PageHeader"; import HistoryTwo from "@/components/home/HistoryTwo"; import WhyChooseTwo from "@/components/home/WhyChooseTwo"; +import ContactSection from "@/components/careers/ContactSection"; +import CouterAreaThree from "@/components/home/CounterAreaThree"; export default function Home2() { useEffect(() => { @@ -46,10 +48,12 @@ export default function Home2() { {/* */} - + {/* */} + + {/* */} - - + + {/* */} {/* */} {/* */} {/* */} @@ -57,7 +61,9 @@ export default function Home2() { {/* */} {/* */} + + {/* */} diff --git a/src/app/blog/page.tsx b/src/app/blog/page.tsx index 0001436..dff548e 100644 --- a/src/app/blog/page.tsx +++ b/src/app/blog/page.tsx @@ -5,6 +5,7 @@ import Header1 from "@/components/layout/Header1"; import Footer1 from "@/components/layout/Footer1"; import BlogSection from "@/components/home/home-1/BlogSection"; import PageHeader from "@/components/common/PageHeader"; +import SectionTitle from "@/components/common/SectionTitle"; export default function BlogPage() { useEffect(() => { @@ -18,6 +19,21 @@ export default function BlogPage() {
+
+ +
+
+

+ Stay updated with our latest industry insights, success stories, and technical guides. + We share our expertise to help your business grow and stay ahead in the digital landscape. +

+
+
+
diff --git a/src/app/globals.css b/src/app/globals.css index 6bdefb3..998f144 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -6822,48 +6822,62 @@ body { .call-area-three { position: relative; background-color: var(--pelocis-black, #1a1f2b); - padding: 80px 0 283px; + padding: 140px 0 240px; overflow: hidden; - margin-bottom: 80px; + z-index: 1; } -.call-area-three__bg { +.call-area-three__bg.parallax-bg { position: absolute; top: 0; left: 0; width: 100%; - height: 100%; + height: 120%; + /* Extra height for parallax */ background-position: center center; background-size: cover; background-repeat: no-repeat; - opacity: 0.12; + background-attachment: fixed; + opacity: 0.15; z-index: 0; } .call-area-three__content { position: relative; text-align: center; - z-index: 1; + z-index: 2; } .call-area-three__title { - font-size: 35px; - font-weight: 700; - line-height: 42px; + font-size: 45px; + font-weight: 800; + line-height: normal; color: var(--pelocis-white, #fff); - margin: 0 0 10px; + margin: 0 0 15px; + text-transform: capitalize; } .call-area-three__text { - font-size: 16px; + font-size: 18px; font-weight: 400; - line-height: 26px; - color: var(--pelocis-white, #fff); - margin-bottom: 38px; + line-height: 30px; + color: rgba(255, 255, 255, 0.85); + margin-bottom: 45px; } -.call-area-three .pelocis-btn::after { - background-color: var(--pelocis-white, #fff); +.pelocis-btn--premium { + background-color: var(--pelocis-base, #3779b9); + padding: 18px 45px; + border-radius: 50px; + font-weight: 700; + box-shadow: 0 10px 30px rgba(55, 121, 185, 0.3); + transition: all 400ms ease; +} + +.pelocis-btn--premium:hover { + transform: translateY(-5px); + box-shadow: 0 15px 35px rgba(55, 121, 185, 0.5); + background-color: #2a5a8a; } .counter-area-two { @@ -6873,6 +6887,37 @@ body { margin-bottom: 80px; } +.counter-area-three { + position: relative; + /* margin-top: -163px; */ + z-index: 10; + margin-bottom: 80px; +} + +.counter-area-three__list { + background-color: var(--pelocis-white, #fff); + padding: 0; + margin: 0; + border-radius: 50px; + border: 1px solid var(--pelocis-border-color, #DDDDDD); + list-style: none; + display: flex; + overflow: hidden; + position: relative; +} + +.counter-area-three__list { + background-color: var(--pelocis-white, #fff); + padding: 0; + margin: 0; + border-radius: 50px; + border: 1px solid var(--pelocis-border-color, #DDDDDD); + list-style: none; + display: flex; + overflow: hidden; + position: relative; +} + .counter-area-two__list { background-color: var(--pelocis-white, #fff); padding: 0; @@ -6898,6 +6943,19 @@ body { overflow: hidden; } +.counter-area-three__item { + display: flex; + align-items: center; + flex-direction: column; + text-align: center; + position: relative; + transition: all 500ms ease; + margin: 0; + padding: 79px 0 75px; + flex-grow: 1; + overflow: hidden; +} + .counter-area-two__item:not(:last-of-type)::before { content: ""; width: 1px; @@ -6909,6 +6967,66 @@ body { transform: translateY(-50%); } +.counter-area-three__item:not(:last-of-type)::before { + content: ""; + width: 1px; + height: 131px; + background-color: var(--pelocis-border-color, #DDDDDD); + position: absolute; + top: 50%; + right: 0; + transform: translateY(-50%); +} + +.counter-area-three__icon { + border: 3px solid var(--pelocis-base, #3779b9); + border-bottom: none; + width: 89px; + height: 73px; + display: flex; + justify-content: center; + align-items: center; + position: relative; + font-size: 40px; + color: var(--pelocis-base, #3779b9); + transition: all 500ms ease; + margin-bottom: 25px; +} + +.counter-area-three__icon::before { + content: ""; + position: absolute; + right: -35px; + bottom: 0; + width: 32px; + height: 18px; + background-color: var(--pelocis-base, #3779b9); + clip-path: polygon(0 0%, 0% 100%, 100% 100%); + transition: all 500ms ease; +} + +.counter-area-three__icon::after { + content: ""; + position: absolute; + left: -35px; + bottom: 0; + width: 32px; + height: 18px; + background-color: var(--pelocis-base, #3779b9); + clip-path: polygon(100% 0%, 0% 100%, 100% 100%); + transition: all 500ms ease; +} + +.counter-area-three__icon img { + max-width: 45px !important; + height: auto; + transition: all 500ms ease; +} + +.counter-area-three__item:hover .counter-area-three__icon img { + transform: scale(1.1); +} + .counter-area-two__icon { border: 3px solid var(--pelocis-base, #3779b9); border-bottom: none; @@ -6948,6 +7066,16 @@ body { transition: all 500ms ease; } +.counter-area-two__icon img { + max-width: 45px !important; + height: auto; + transition: all 500ms ease; +} + +.counter-area-two__item:hover .counter-area-two__icon img { + transform: scale(1.1); +} + .counter-area-two__item::after { content: ""; position: absolute; @@ -6963,12 +7091,33 @@ body { transition: all 500ms ease; } +.counter-area-three__item::after { + content: ""; + position: absolute; + bottom: -32px; + width: 80%; + left: 50%; + transform: translateX(-50%); + background-color: var(--pelocis-base, #3779b9); + height: 32px; + border-radius: 50px; + opacity: 0; + visibility: hidden; + transition: all 500ms ease; +} + .counter-area-two__item:hover::after { opacity: 1; visibility: visible; bottom: 0; } +.counter-area-three__item:hover::after { + opacity: 1; + visibility: visible; + bottom: 0; +} + .counter-area-two__count { font-size: 35px; font-weight: 700; @@ -6977,6 +7126,14 @@ body { margin: 0 0 5px; } +.counter-area-three__count { + font-size: 35px; + font-weight: 700; + line-height: 1; + color: var(--pelocis-black, #1a1f2b); + margin: 0 0 5px; +} + .counter-area-two__text { font-size: 16px; font-weight: 400; @@ -6985,6 +7142,14 @@ body { margin: 0; } +.counter-area-three__text { + font-size: 16px; + font-weight: 400; + line-height: 26px; + color: var(--pelocis-text-dark, #636363); + margin: 0; +} + /* Medical Services Circle */ @@ -7079,7 +7244,7 @@ body { .service-circle__menu li.active a, .service-circle__menu li a:hover { - background-color: var(--pelocis-base, #3779b9); + background: linear-gradient(90deg, #3779b9 0%, #1a1f2b 50%, #3779b9 100%) !important; } .service-circle__menu li img { @@ -7109,11 +7274,12 @@ body { width: 425px; height: 425px; border-radius: 50%; - background: linear-gradient(135deg, #1a237e 0%, #0d47a1 100%); + background: linear-gradient(90deg, #3779b9 0%, #1a1f2b 50%, #3779b9 100%) !important; display: flex; align-items: center; justify-content: center; - box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); + box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); + /* border: 4px solid rgba(255, 255, 255, 0.1); */ } .service-circle__item { @@ -7305,8 +7471,8 @@ body { } .service-circle__center { - background: radial-gradient(circle, #20336a 0%, #101a35 100%); - border: 4px solid rgba(255, 255, 255, 0.1); + background: linear-gradient(90deg, #3779b9 0%, #1a1f2b 50%, #3779b9 100%) !important; + /* border: 4px solid rgba(255, 255, 255, 0.1); */ } /* Ensure icons are visible even if font is loading */ @@ -7314,4 +7480,1151 @@ body { display: inline-block; min-width: 1em; min-height: 1em; +} + + +/* ═══════════════════════════════════════════════════════════ + Contact Status Styles + ══════════════════════════════════════════════════════════ */ +.status-container { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + min-height: 400px; + padding: 20px; + animation: statusFadeIn 0.5s ease-out; +} + +.status-card { + background: #fff; + width: 100%; + max-width: 400px; + padding: 60px 40px; + border-radius: 24px; + text-align: center; + position: relative; + overflow: hidden; + box-shadow: 0 20px 50px rgba(0, 0, 0, 0.05); + animation: statusSlideUp 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275); +} + +.status-card .bubbles { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + pointer-events: none; +} + +.status-card .bubble { + position: absolute; + border-radius: 50%; + opacity: 0.6; +} + +/* Success Bubbles */ +.status-container.success .bubble { + background: #87b031; +} + +/* Error Bubbles */ +.status-container.error .bubble { + background: #f1595d; +} + +.status-card .bubble-1 { + width: 12px; + height: 12px; + top: 15%; + left: 10%; + animation: bubbleFloat 3s infinite ease-in-out; +} + +.status-card .bubble-2 { + width: 8px; + height: 8px; + top: 25%; + right: 15%; + animation: bubbleFloat 4s infinite ease-in-out; +} + +.status-card .bubble-3 { + width: 15px; + height: 15px; + bottom: 20%; + left: 15%; + animation: bubbleFloat 5s infinite ease-in-out; +} + +.status-card .bubble-4 { + width: 10px; + height: 10px; + bottom: 15%; + right: 10%; + animation: bubbleFloat 3.5s infinite ease-in-out; +} + +.status-card .bubble-5 { + width: 6px; + height: 6px; + top: 40%; + left: 5%; + animation: bubbleFloat 6s infinite ease-in-out; +} + +.status-card .bubble-6 { + width: 14px; + height: 14px; + top: 60%; + right: 5%; + animation: bubbleFloat 4.5s infinite ease-in-out; +} + +.status-card .bubble-7 { + width: 9px; + height: 9px; + top: 10%; + right: 30%; + animation: bubbleFloat 3.2s infinite ease-in-out; +} + +.status-card .bubble-8 { + width: 11px; + height: 11px; + bottom: 10%; + left: 40%; + animation: bubbleFloat 4.8s infinite ease-in-out; +} + +.status-card .bubble-9 { + width: 7px; + height: 7px; + top: 50%; + left: 20%; + animation: bubbleFloat 5.5s infinite ease-in-out; +} + +.status-card .bubble-10 { + width: 13px; + height: 13px; + bottom: 40%; + right: 25%; + animation: bubbleFloat 3.8s infinite ease-in-out; +} + +.status-card .bubble-11 { + width: 8px; + height: 8px; + top: 70%; + left: 35%; + animation: bubbleFloat 4.2s infinite ease-in-out; +} + +.status-card .bubble-12 { + width: 10px; + height: 10px; + top: 5%; + left: 50%; + animation: bubbleFloat 3.6s infinite ease-in-out; +} + +@keyframes bubbleFloat { + + 0%, + 100% { + transform: translateY(0) scale(1); + } + + 50% { + transform: translateY(-15px) scale(1.1); + } +} + +.status-card .icon-wrapper { + margin-bottom: 30px; + display: flex; + justify-content: center; + animation: iconBounce 1s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.3s both; +} + +.status-card .icon-circle { + width: 100px; + height: 100px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 40px; + position: relative; +} + +.status-container.success .icon-circle { + background: rgba(135, 176, 49, 0.15); + color: #87b031; + border: 4px solid #87b031; +} + +.status-container.error .icon-circle { + background: rgba(241, 89, 93, 0.15); + color: #f1595d; + border: 4px solid #f1595d; +} + +.status-title { + font-size: 32px; + font-weight: 800; + margin-bottom: 12px; + animation: statusFadeIn 0.5s ease-out 0.5s both; +} + +.status-container.success .status-title { + color: #87b031; +} + +.status-container.error .status-title { + color: #f1595d; +} + +.status-message { + font-size: 16px; + color: #64748b; + margin-bottom: 40px; + line-height: 1.6; + animation: statusFadeIn 0.5s ease-out 0.6s both; +} + +.status-btn { + padding: 16px 40px; + border: none; + border-radius: 14px; + font-weight: 700; + font-size: 16px; + cursor: pointer; + transition: all 0.3s ease; + width: 100%; + max-width: 200px; + animation: statusFadeIn 0.5s ease-out 0.7s both; +} + +.status-container.success .status-btn { + background: #87b031; + color: #fff; + box-shadow: 0 10px 20px rgba(135, 176, 49, 0.3); +} + +.status-container.success .status-btn:hover { + background: #769a2b; + transform: translateY(-3px); + box-shadow: 0 15px 30px rgba(135, 176, 49, 0.4); +} + +.status-container.error .status-btn { + background: #f1595d; + color: #fff; + box-shadow: 0 10px 20px rgba(241, 89, 93, 0.3); +} + +.status-container.error .status-btn:hover { + background: #e04a4e; + transform: translateY(-3px); + box-shadow: 0 15px 30px rgba(241, 89, 93, 0.4); +} + +@keyframes statusFadeIn { + from { + opacity: 0; + } + + to { + opacity: 1; + } +} + +@keyframes statusSlideUp { + from { + opacity: 0; + transform: translateY(40px) scale(0.9); + } + + to { + opacity: 1; + transform: translateY(0) scale(1); + } +} + +@keyframes iconBounce { + 0% { + transform: scale(0); + } + + 60% { + transform: scale(1.1); + } + + 80% { + transform: scale(0.95); + } + + 100% { + transform: scale(1); + } +} + +/* ═══════════════════════════════════════════════════════════ + Projects Section Styles + ══════════════════════════════════════════════════════════ */ +:root { + --pelocis-base: #e2a475; + --pelocis-black: #222222; + --pelocis-white: #fff; + --pelocis-gray: #F5F2EF; + --pelocis-border-color: #DDDDDD; +} + +.projects-one { + position: relative; + padding-top: 110px; + padding-bottom: 120px; + counter-reset: count; + background-color: var(--pelocis-gray, #F5F2EF); +} + +.projects-one__title { + position: relative; + margin-bottom: 50px; +} + +.projects-one .sec-title { + padding-bottom: 20px; +} + +.sec-title__shape { + position: relative; + display: inline-block; +} + +.sec-title__shape::before { + content: ""; + width: 13px; + height: 13px; + background-color: var(--pelocis-base, #e2a475); + display: block; +} + +.sec-title__shape::after { + content: ""; + width: 12px; + height: 12px; + background-color: var(--pelocis-black, #222222); + border: 1px solid var(--pelocis-white, #fff); + display: block; + position: absolute; + bottom: -3px; + right: -3px; +} + +.sec-title__tagline { + margin: 0; + color: var(--pelocis-base, #e2a475); + font-size: 18px; + line-height: 16px; + text-transform: uppercase; + font-weight: 500; + display: inline-block; + vertical-align: middle; + margin-left: 10px; +} + +.sec-title__title { + font-size: 42px; + font-weight: 800; + line-height: 1.2; + margin-top: 15px; + color: var(--pelocis-black); +} + +.projects-one__filter__list { + display: flex; + justify-content: center; + align-items: center; + margin-bottom: 50px; + flex-wrap: wrap; + padding-left: 0; + list-style: none; +} + +.projects-one__filter__list li { + cursor: pointer; + border: 1px solid var(--pelocis-border-color, #DDDDDD); + position: relative; + display: block; + background-color: transparent; + color: var(--pelocis-black, #222222); + transition: all 500ms ease; + text-transform: capitalize; + padding: 12.5px 25px; + font-size: 18px; + font-weight: 700; + line-height: 25px; +} + +.projects-one__filter__list li.active, +.projects-one__filter__list li:hover { + background-color: var(--pelocis-base, #e2a475); + border-color: var(--pelocis-base, #e2a475); + color: var(--pelocis-white, #fff); +} + +.projects-one__filter__list li+li { + margin-left: -1px; +} + +.projects-grid { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 30px; +} + +@media (max-width: 991px) { + .projects-grid { + grid-template-columns: repeat(2, 1fr); + } +} + +@media (max-width: 767px) { + .projects-grid { + grid-template-columns: 1fr; + } +} + +.projects-one__card { + position: relative; + overflow: hidden; + counter-increment: count; + border-radius: 20px; + background: #000; +} + +.projects-one__card img { + transform: scale(1); + max-width: 100%; + transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1); + width: 100%; + height: 350px; + object-fit: cover; + display: block; + opacity: 1; +} + +.projects-one__card:hover img { + transform: scale(1.1); + opacity: 0.7; +} + +.projects-one__card__hover { + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: flex-end; + transform: translateY(100%); + opacity: 0; + transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); + z-index: 10; + pointer-events: none; +} + +.projects-one__card:hover .projects-one__card__hover { + transform: translateY(0); + opacity: 1; +} + +.projects-one__card__hover-mask { + width: 95%; + height: 40%; + position: absolute; + left: 2.5%; + bottom: 20px; + clip-path: polygon(87% 0, 100% 50%, 87% 100%, 0 100%, 0 0); + background-color: var(--pelocis-base, #e2a475); + z-index: -1; + border-radius: 15px; +} + +.projects-one__card__hover-content-inner { + position: absolute; + bottom: 0; + left: 0; + width: 100%; + padding: 0 40px 40px; + pointer-events: auto; +} + +.projects-one__card__hover-text { + text-align: left; + max-width: 85%; +} + +.projects-one__card__hover-text h3 { + font-size: 22px; + font-weight: 800; + line-height: 1.2; + color: var(--pelocis-white, #fff); + margin-bottom: 8px; +} + +.projects-one__card__hover-text h3 a { + color: inherit; + text-decoration: none; +} + +.projects-one__card__hover-text p { + color: var(--pelocis-white, #fff); + font-size: 14px; + font-weight: 500; + line-height: 1.5; + margin-bottom: 0; +} + +.projects-one__card__hover-item { + position: absolute; + width: 50px; + height: 50px; + top: -50px; + left: 60px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 15px 15px 0px 0px; + background-color: var(--pelocis-white, #fff); + color: var(--pelocis-black, #222222); + font-size: 18px; + font-weight: 800; + border: 1px solid var(--pelocis-base, #e2a475); + border-bottom: none; +} + +.projects-one__card__hover-item::before { + content: "0" counter(count); +} + +.projects-one__card__hover-link { + position: absolute; + top: 50%; + right: 20px; + transform: translateY(-50%); + width: 45px; + height: 45px; + display: flex; + justify-content: center; + align-items: center; + background-color: var(--pelocis-white, #fff); + color: var(--pelocis-base, #e2a475); + font-size: 16px; + border-radius: 12px; + cursor: pointer; + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); + transition: all 0.3s ease; +} + +.projects-one__card__hover-link:hover { + background-color: var(--pelocis-black); + color: var(--pelocis-white); +} + +/* ============================================================ + SERVICE DETAILS & SLIDER SECTION + ============================================================ */ +.service-details { + padding: 100px 0; +} + +.service-details__thumbnail { + margin-bottom: 35px; + border-radius: 20px; + overflow: hidden; +} + +.service-details__thumbnail img { + width: 100%; +} + +.service-details__title { + font-size: 36px; + font-weight: 800; + margin-bottom: 20px; + color: #1a1f2b; +} + +.service-details__text { + font-size: 16px; + line-height: 1.8; + color: #64748b; + margin-bottom: 25px; +} + +.service-details__dynamic-content h3 { + font-size: 24px; + font-weight: 800; + margin-bottom: 20px; + color: #1a1f2b; +} + +.service-details__benefit { + margin: 40px 0; +} + +.service-details__benefit__img { + border-radius: 12px; + overflow: hidden; +} + +.service-details__benefit__img img { + width: 100%; +} + +.service-details__benefit__title { + font-size: 22px; + font-weight: 800; + margin-bottom: 15px; +} + +.service-details__benefit__list li { + display: flex; + align-items: start; + gap: 12px; + font-size: 15px; + color: #64748b; + margin-bottom: 10px; +} + +.service-details__benefit__list li i { + color: #3779b9; + margin-top: 4px; +} + +/* Sidebar Styles */ +.service-sidebar__single { + margin-bottom: 30px; + background: #f8fbff; + padding: 40px; + border-radius: 20px; +} + +.service-sidebar__title { + font-size: 24px; + font-weight: 800; + margin-bottom: 25px; + color: #1a1f2b; +} + +.service-sidebar__nav li { + margin-bottom: 12px; +} + +.service-sidebar__nav li a { + display: flex !important; + align-items: center; + justify-content: space-between; + background: #fff; + padding: 15px 25px; + border-radius: 50px; + font-weight: 700; + color: #1a1f2b; + transition: all 0.3s ease; + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); +} + +.service-sidebar__nav li.active a, +.service-sidebar__nav li a:hover { + background: #1a1f2b !important; + color: #fff !important; +} + +.service-sidebar__contact { + position: relative; + padding: 50px 40px; + background: #1a1f2b; + border-radius: 20px; + overflow: hidden; + text-align: center; + z-index: 1; +} + +.service-sidebar__contact-bg { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-size: cover; + background-position: center; + opacity: 0.1; + z-index: -1; +} + +.service-sidebar__contact-icon { + width: 70px; + height: 70px; + background: #fff; + color: #3779b9; + font-size: 30px; + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; + margin: 0 auto 25px; +} + +.service-sidebar__contact-title { + color: #fff; + font-size: 22px; + font-weight: 800; + line-height: 1.4; + margin-bottom: 15px; +} + +.service-sidebar__contact-phone a { + color: #fff; + font-size: 20px; + font-weight: 700; + text-decoration: none; +} + +.service-sidebar__contact-btn { + margin-top: 25px; +} + +.theme-btn { + display: inline-block; + background: #3779b9; + color: #fff; + padding: 12px 30px; + border-radius: 50px; + font-weight: 700; + transition: all 0.3s ease; +} + +.theme-btn:hover { + background: #fff; + color: #1a1f2b; +} + +/* Service Slider (Service Three) Styles */ +.service-three__item { + margin-top: 40px; + border-radius: 20px; + overflow: hidden; + transition: all 500ms ease; +} + +.service-three__item__content { + padding: 0 28px 30px; +} + +.service-three__item__icon { + position: relative; + top: -40px; + width: 84px; + height: 84px; + background-color: #f1f5f9; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin: 0 auto -20px; + color: #3779b9; + font-size: 36px; + transition: all 500ms ease; + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); +} + +.service-three__item:hover .service-three__item__icon { + background-color: #3779b9; + color: #fff; +} + +.service-three__item__title { + font-size: 22px; + font-weight: 700; + margin-bottom: 12px; +} + +.service-three__item__title a { + color: #fff !important; +} + +.service-three__item:hover .service-three__item__title a { + color: #3779b9 !important; +} + +.service-three__item__text { + font-size: 15px; + color: #fff; + line-height: 1.6; + margin-bottom: 0; +} + +.service-three__item__image { + position: relative; + overflow: hidden; + line-height: 0; +} + +.service-img-fixed { + width: 100%; + height: 250px !important; + object-fit: cover; + clip-path: polygon(0% 0%, 100% 0, 100% 69%, 50% 100%, 0 69%); + transition: all 500ms ease; +} + +.service-three__item:hover .service-img-fixed { + transform: scale(1.05); +} + +.slider-nav-btn { + border: 1px solid rgba(255, 255, 255, 0.2); + background: transparent; + color: #fff; + width: 50px; + height: 50px; + border-radius: 50%; + transition: all 0.3s ease; +} + +.slider-nav-btn:hover { + background: #3779b9; + border-color: #3779b9; +} + +/* ============================================================ + SEC-TITLE — Universal Section Heading Design System + ============================================================ */ +.sec-title-wrapper { + margin-bottom: 50px; +} + +.sec-title { + padding-bottom: 0; + position: relative; + display: inline-block; +} + +.sec-title__shape { + position: relative; + display: inline-block; + vertical-align: middle; +} + +.sec-title__shape::before { + content: ""; + width: 13px; + height: 13px; + background-color: var(--pelocis-base, #e2a475); + display: block; +} + +.sec-title__shape::after { + content: ""; + width: 12px; + height: 12px; + background-color: var(--pelocis-black, #1a1f2b); + border: 1px solid var(--pelocis-white, #fff); + display: block; + position: absolute; + bottom: -3px; + right: -3px; +} + +.sec-title__tagline { + margin: 0; + font-family: var(--pelocis-font, inherit); + color: var(--pelocis-base, #e2a475); + font-size: 16px; + line-height: 16px; + text-transform: uppercase; + font-weight: 600; + display: inline-block; + vertical-align: middle; + margin-left: 10px; + letter-spacing: 0.5px; +} + +.sec-title__title { + margin: 0; + font-size: 36px; + color: var(--pelocis-black, #1a1f2b); + font-weight: 800; + line-height: 1.3; + margin-top: 10px; +} + +.sec-title__title.text-white { + color: #ffffff !important; +} + +.sec-title--light .sec-title__tagline { + color: var(--pelocis-base, #e2a475); +} + +.sec-title--light .sec-title__shape::after { + background-color: #fff; + border-color: rgba(255, 255, 255, 0.3); +} + +.sec-title__text-shape { + position: absolute; + right: -30px; + top: -20px; + pointer-events: none; + z-index: 0; + opacity: 0.85; + max-width: 90px; +} + +/* Centered variant */ +.text-center .sec-title__text-shape { + right: -40px; + top: -30px; +} + +@media (max-width: 767px) { + .sec-title__title { + font-size: 26px; + } + + .sec-title__text-shape { + max-width: 60px; + right: -20px; + } +} + +/* ============================================================ + MEDICAL SERVICES ENHANCEMENTS + ============================================================ */ +.medical-services-section { + background-attachment: fixed !important; + background-position: center !important; + background-size: cover !important; + position: relative; + z-index: 1; +} + +.glass-effect { + background: rgba(255, 255, 255, 0.05) !important; + backdrop-filter: blur(12px); + -webkit-backdrop-filter: blur(12px); + border: 1px solid rgba(255, 255, 255, 0.1); + box-shadow: 0 8px 32px 0 rgba(7, 23, 43, 0.37); +} + +.decorative-element { + position: absolute; + z-index: 1; + pointer-events: none; + animation: float-around 15s infinite ease-in-out; + display: flex; + align-items: center; + justify-content: center; +} + +.decorative-element img { + max-width: 100%; + height: auto; + filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.3)); +} + +/* Position Adjustments for Element Assets - Scaling Up */ +.elem-left-1 { + top: 12%; + left: 8%; + width: 220px; + height: 220px; + animation-delay: 0.2s; +} + +.elem-left-2 { + top: 48%; + left: 12%; + width: 180px; + height: 180px; + animation-delay: -3.5s; +} + +.elem-left-3 { + bottom: 18%; + left: 5%; + width: 250px; + height: 250px; + animation-delay: -6.8s; +} + +.elem-right-1 { + top: 15%; + right: 10%; + width: 210px; + height: 210px; + animation-delay: -1.2s; +} + +.elem-right-2 { + top: 55%; + right: 15%; + width: 190px; + height: 190px; + animation-delay: -4.5s; +} + +.elem-right-3 { + bottom: 25%; + right: 7%; + width: 230px; + height: 230px; + animation-delay: -7.2s; +} + +/* Tab Highlighting Interactivity */ +.tab-highlight-transition { + transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important; + display: flex !important; + align-items: center; + justify-content: center; + position: relative; + overflow: visible; + z-index: 5; +} + +.active-tab-pointer { + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + width: 0; + height: 0; + border-left: 60px solid transparent; + border-right: 60px solid transparent; + border-bottom: 100px solid rgba(55, 121, 185, 0.4); + z-index: -1; + pointer-events: none; +} + +.service-circle__menu li.active a::before { + content: ""; + position: absolute; + top: -12px; + left: -12px; + right: -12px; + bottom: -12px; + border: 2px dashed #3779b9; + border-radius: 50%; + animation: rotate-dashed 8s linear infinite; + z-index: -1; +} + +@keyframes rotate-dashed { + from { + transform: rotate(0deg); + } + + to { + transform: rotate(360deg); + } +} + +/* ============================================================ + MEDICAL SERVICES DECORATIVE ELEMENTS + ============================================================ */ +.decorative-element { + position: absolute; + z-index: 1; + pointer-events: none; + animation: float-around 15s infinite ease-in-out; + display: flex; + align-items: center; + justify-content: center; +} + +.decorative-element img { + max-width: 100%; + height: auto; + filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.2)); +} + +/* Positions for 8 Elements */ +.elem-left-1 { + top: 10%; + left: 5%; + width: 140px; + animation-delay: 0s; +} + +.elem-left-2 { + top: 35%; + left: 12%; + width: 110px; + animation-delay: -3s; +} + +.elem-left-3 { + top: 60%; + left: 7%; + width: 130px; + animation-delay: -6s; +} + +.elem-left-4 { + bottom: 10%; + left: 15%; + width: 100px; + animation-delay: -9s; +} + +.elem-right-1 { + top: 12%; + right: 6%; + width: 150px; + animation-delay: -1.5s; +} + +.elem-right-2 { + top: 38%; + right: 14%; + width: 120px; + animation-delay: -4.5s; +} + +.elem-right-3 { + top: 62%; + right: 8%; + width: 140px; + animation-delay: -7.5s; +} + +.elem-right-4 { + bottom: 12%; + right: 16%; + width: 110px; + animation-delay: -10.5s; +} + +@keyframes float-around { + + 0%, + 100% { + transform: translateY(0) translateX(0) scale(1) rotate(0deg); + } + + 33% { + transform: translateY(-20px) translateX(15px) scale(1.05) rotate(4deg); + } + + 66% { + transform: translateY(15px) translateX(-10px) scale(0.95) rotate(-4deg); + } } \ No newline at end of file diff --git a/src/app/services/[slug]/page.tsx b/src/app/services/[slug]/page.tsx new file mode 100644 index 0000000..d8e2eaf --- /dev/null +++ b/src/app/services/[slug]/page.tsx @@ -0,0 +1,34 @@ +import React from "react"; +import Header1 from "@/components/layout/Header1"; +import Footer1 from "@/components/layout/Footer1"; +import PageHeader from "@/components/common/PageHeader"; +import ServiceDetails from "@/components/services/ServiceDetails"; +import { psychologyServices } from "@/utils/data"; +import { notFound } from "next/navigation"; + +export async function generateStaticParams() { + return psychologyServices.map((service) => ({ + slug: service.slug, + })); +} + +export default async function ServiceDetailsPage({ params }: { params: Promise<{ slug: string }> }) { + const { slug } = await params; + + const service = psychologyServices.find((s) => s.slug === slug); + + if (!service) { + notFound(); + } + + return ( + <> + +
+ + +
+ + + ); +} diff --git a/src/components/about/WhyChooseUs.tsx b/src/components/about/WhyChooseUs.tsx index b84ba8d..4855a75 100644 --- a/src/components/about/WhyChooseUs.tsx +++ b/src/components/about/WhyChooseUs.tsx @@ -19,15 +19,15 @@ const WhyChooseUs = () => {
-
- - WHY CHOOSE US - -

- Consulting Solutions For Your Business Development. -

+
+
+
+
WHY CHOOSE US
+

Consulting Solutions For Your
Business Development.

+
+

- Business tailored design, management & support services Business business agency elit, + Business tailored design, management & support services Business business agency elit, sed do eiusmod tempor majority have in some we form, by injected humour solution.

diff --git a/src/components/careers/ServiceSection.tsx b/src/components/careers/ServiceSection.tsx index a38919a..e2b504c 100644 --- a/src/components/careers/ServiceSection.tsx +++ b/src/components/careers/ServiceSection.tsx @@ -2,6 +2,7 @@ import React, { useEffect, useRef } from "react"; import Link from "next/link"; +import { psychologyServices } from "@/utils/data"; const ServiceSection2 = () => { const sectionRef = useRef(null); @@ -43,50 +44,7 @@ const ServiceSection2 = () => { return () => observer.disconnect(); }, []); - const services = [ - { - title: "Network Infrastructure", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-network-wired", - image: "https://tolaklaravel.bracketweb.com/assets/images/resources/service-3-1.jpg", - link: "/business-growth" - }, - { - title: "Data Management", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-database", - image: "https://tolaklaravel.bracketweb.com/assets/images/resources/service-3-2.jpg", - link: "/business-support" - }, - { - title: "Technology Solution", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-microchip", - image: "https://tolaklaravel.bracketweb.com/assets/images/resources/service-3-3.jpg", - link: "/technology-services" - }, - { - title: "Technology Solution", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-microchip", - image: "https://tolaklaravel.bracketweb.com/assets/images/resources/service-3-3.jpg", - link: "/technology-services" - }, - { - title: "Data Management", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-database", - image: "https://tolaklaravel.bracketweb.com/assets/images/resources/service-3-2.jpg", - link: "/business-support" - }, - { - title: "Network Infrastructure", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-network-wired", - image: "https://tolaklaravel.bracketweb.com/assets/images/resources/service-3-1.jpg", - link: "/business-growth" - }, - ]; + const services = psychologyServices; return (
@@ -99,13 +57,13 @@ const ServiceSection2 = () => { style={{ backgroundImage: "url(https://tolaklaravel.bracketweb.com/assets/images/shapes/service-shape-3.png)" }} >
-
-
- - OUR BEST SERVICE - -
-

We Are Service Your Business

+
+
+
+
OUR BEST SERVICE
+

We Are Service Your Business

+
+
@@ -122,9 +80,9 @@ const ServiceSection2 = () => {

- {service.title} + {service.title}

-

{service.text}

+

{service.description}

{service.title} diff --git a/src/components/careers/WorkProcessSection.tsx b/src/components/careers/WorkProcessSection.tsx index 8fb9d2e..ecf9a1d 100644 --- a/src/components/careers/WorkProcessSection.tsx +++ b/src/components/careers/WorkProcessSection.tsx @@ -66,18 +66,18 @@ const WorkProcessSection2 = () => {
-
-
- How we do +
+
+
+
HOW WE DO
+

Amazing Solutions
For Business

-

- Amazing Solutions
For business -

-

- We don't believe in a one-size-fit-all approach. Our services are carefully - customized to suit your specific need, ensuring you to achieve your goals. -

+
+

+ We don't believe in a one-size-fit-all approach. Our services are carefully + customized to suit your specific need, ensuring you to achieve your goals. +

diff --git a/src/components/common/ContactPopup/ContactPopup.tsx b/src/components/common/ContactPopup/ContactPopup.tsx index f69b862..235298d 100644 --- a/src/components/common/ContactPopup/ContactPopup.tsx +++ b/src/components/common/ContactPopup/ContactPopup.tsx @@ -9,7 +9,15 @@ interface ContactPopupProps { onClose: () => void; } +import ContactStatus from '../../contact/ContactStatus'; + +interface ContactPopupProps { + isOpen: boolean; + onClose: () => void; +} + const ContactPopup: React.FC = ({ isOpen, onClose }) => { + const [status, setStatus] = useState<'idle' | 'submitting' | 'success' | 'error'>('idle'); const [formData, setFormData] = useState({ name: "", phone: "", @@ -21,8 +29,6 @@ const ContactPopup: React.FC = ({ isOpen, onClose }) => { const [formErrors, setFormErrors] = useState({}); const [captchaToken, setCaptchaToken] = useState(null); - const [alert, setAlert] = useState({ show: false, type: "", message: "" }); - const [isSubmitting, setIsSubmitting] = useState(false); const [mounted, setMounted] = useState(false); useEffect(() => { @@ -57,32 +63,27 @@ const ContactPopup: React.FC = ({ isOpen, onClose }) => { if (!formData.businessName.trim()) errors.businessName = "Business name requested."; if (!formData.projectRequirement.trim()) errors.projectRequirement = "Requirement details needed."; if (!formData.budgetRange) errors.budgetRange = "Please select a budget range."; - if (!captchaToken) errors.captcha = "Please verify the CAPTCHA."; + // if (!captchaToken) errors.captcha = "Please verify the CAPTCHA."; setFormErrors(errors); if (Object.keys(errors).length > 0) return; - setIsSubmitting(true); + setStatus('submitting'); const emailData = { ...formData, message: `Business: ${formData.businessName}
Budget: ${formData.budgetRange}

Requirement: ${formData.projectRequirement}`, - to: "info@metatroncubesolutions.com", + to: "akashlucaas@gmail.com", senderName: "Metatroncube Contact Popup", recaptchaToken: captchaToken, }; try { - const res = await axios.post("https://mailserver.metatronnest.com/send", emailData, { + await axios.post("https://mailserver.metatronnest.com/send", emailData, { headers: { "Content-Type": "application/json" }, }); - setAlert({ - show: true, - type: "success", - message: res?.data?.message || "Message sent successfully!", - }); - + setStatus('success'); setFormData({ name: "", phone: "", @@ -93,28 +94,20 @@ const ContactPopup: React.FC = ({ isOpen, onClose }) => { }); setCaptchaToken(null); setFormErrors({}); - // Close after delay - setTimeout(onClose, 2000); } catch (error) { console.error("❌ Error sending email:", error); - setAlert({ - show: true, - type: "danger", - message: "Failed to send message. Please try again later.", - }); - } finally { - setIsSubmitting(false); + setStatus('error'); } }; - useEffect(() => { - if (alert.show) { - const timer = setTimeout(() => { - setAlert((prev) => ({ ...prev, show: false })); - }, 5000); - return () => clearTimeout(timer); + const handleCloseStatus = () => { + if (status === 'success') { + onClose(); + setStatus('idle'); + } else { + setStatus('idle'); } - }, [alert.show]); + }; if (!mounted || !isOpen) return null; @@ -148,7 +141,7 @@ const ContactPopup: React.FC = ({ isOpen, onClose }) => {
- + @@ -162,73 +155,81 @@ const ContactPopup: React.FC = ({ isOpen, onClose }) => { -

Start Your Project

+ {status === 'idle' || status === 'submitting' ? ( + <> +

Start Your Project

+
+
+
+ + {formErrors.name && {formErrors.name}} +
+
+ + {formErrors.email && {formErrors.email}} +
+
+ + {formErrors.phone && {formErrors.phone}} +
+
+ + {formErrors.businessName && {formErrors.businessName}} +
+
+ + {formErrors.budgetRange && {formErrors.budgetRange}} +
+
- {alert.show && ( -
- {alert.message} + + {formErrors.projectRequirement && {formErrors.projectRequirement}} + +
+
+ +
+ {formErrors.captcha && {formErrors.captcha}} +
+ + + + + ) : ( +
+
)} - -
-
-
- - {formErrors.name && {formErrors.name}} -
-
- - {formErrors.email && {formErrors.email}} -
-
- - {formErrors.phone && {formErrors.phone}} -
-
- - {formErrors.businessName && {formErrors.businessName}} -
-
- - {formErrors.budgetRange && {formErrors.budgetRange}} -
-
- - - {formErrors.projectRequirement && {formErrors.projectRequirement}} - -
-
- -
- {formErrors.captcha && {formErrors.captcha}} -
- - -
+
+ ); +}; + +export default ContactStatus; diff --git a/src/components/home/CallAreaThree.tsx b/src/components/home/CallAreaThree.tsx index 26d2374..d6659e2 100644 --- a/src/components/home/CallAreaThree.tsx +++ b/src/components/home/CallAreaThree.tsx @@ -3,25 +3,27 @@ import Link from 'next/link'; const CallAreaThree: React.FC = () => { return ( -
+
-

+

We Are Always Ready For Every Challenge
Please Trust Us

-

+

Business tailored design, management & support services Business agency, sed
tempor  majority have in some we form, by injected solution.

- - - Get A Free Quote - - +
+ + + Get A Free Quote + + +
diff --git a/src/components/home/CounterAreaThree.tsx b/src/components/home/CounterAreaThree.tsx new file mode 100644 index 0000000..07331bc --- /dev/null +++ b/src/components/home/CounterAreaThree.tsx @@ -0,0 +1,102 @@ +"use client"; + +import React, { useState, useEffect, useRef } from 'react'; + +interface CounterProps { + end: number; + duration?: number; +} + +const Counter: React.FC = ({ end, duration = 2000 }) => { + const [count, setCount] = useState(0); + const countRef = useRef(null); + const [hasStarted, setHasStarted] = useState(false); + + useEffect(() => { + const observer = new IntersectionObserver( + ([entry]) => { + if (entry.isIntersecting && !hasStarted) { + setHasStarted(true); + } + }, + { threshold: 0.1 } + ); + + if (countRef.current) { + observer.observe(countRef.current); + } + + return () => observer.disconnect(); + }, [hasStarted]); + + useEffect(() => { + if (!hasStarted) return; + + let startTimestamp: number | null = null; + const step = (timestamp: number) => { + if (!startTimestamp) startTimestamp = timestamp; + const progress = Math.min((timestamp - startTimestamp) / duration, 1); + setCount(Math.floor(progress * end)); + if (progress < 1) { + window.requestAnimationFrame(step); + } + }; + window.requestAnimationFrame(step); + }, [hasStarted, end, duration]); + + return {count}; +}; + +const counterItems = [ + { + icon: "/assets/imgs/icon/icon-1.png", + count: 950, + suffix: "k+", + text: "Projects Succefull" + }, + { + icon: "/assets/imgs/icon/icon-2.png", + count: 256, + suffix: "k+", + text: "Happy Customers" + }, + { + icon: "/assets/imgs/icon/icon-3.png", + count: 852, + suffix: "k+", + text: "Consultants Planing" + }, + { + icon: "/assets/imgs/icon/icon-4.png", + count: 965, + suffix: "+", + text: "Awards Winners" + } +]; + +const CounterAreaThree: React.FC = () => { + return ( +
+
+
    + {counterItems.map((item, index) => ( +
  • +
    + icon +
    +
    +

    + + {item.suffix} +

    +

    {item.text}

    +
    +
  • + ))} +
+
+
+ ); +}; + +export default CounterAreaThree; diff --git a/src/components/home/CounterAreaTwo.tsx b/src/components/home/CounterAreaTwo.tsx index 080441a..35661bf 100644 --- a/src/components/home/CounterAreaTwo.tsx +++ b/src/components/home/CounterAreaTwo.tsx @@ -49,25 +49,25 @@ const Counter: React.FC = ({ end, duration = 2000 }) => { const counterItems = [ { - icon: "icon-succefull", + icon: "/assets/imgs/icon/icon-1.png", count: 950, suffix: "k+", text: "Projects Succefull" }, { - icon: "icon-customers", + icon: "/assets/imgs/icon/icon-2.png", count: 256, suffix: "k+", text: "Happy Customers" }, { - icon: "icon-planing", + icon: "/assets/imgs/icon/icon-3.png", count: 852, suffix: "k+", text: "Consultants Planing" }, { - icon: "icon-awards", + icon: "/assets/imgs/icon/icon-4.png", count: 965, suffix: "+", text: "Awards Winners" @@ -82,7 +82,7 @@ const CounterAreaTwo: React.FC = () => { {counterItems.map((item, index) => (
  • - + icon

    diff --git a/src/components/home/HomeContactOne.tsx b/src/components/home/HomeContactOne.tsx index 4eefc96..3d3e1d0 100644 --- a/src/components/home/HomeContactOne.tsx +++ b/src/components/home/HomeContactOne.tsx @@ -67,9 +67,7 @@ const HomeContactOne = () => {

    @@ -121,8 +119,10 @@ const HomeContactOne = () => { }} > - - + + + +
  • diff --git a/src/components/home/MedicalServices.tsx b/src/components/home/MedicalServices.tsx index 299e311..4851ac5 100644 --- a/src/components/home/MedicalServices.tsx +++ b/src/components/home/MedicalServices.tsx @@ -7,42 +7,42 @@ const services = [ id: 0, title: "Excellent infection prevention", text: "Lorem ipsum dolor sit amet, conse ctetur adipiscing eliteiusmod tempor incididunt", - icon: "/assets/imgs/icon/icon-7.png", + icon: "/assets/imgs/icon/icon-6.png", link: "service-details.html", }, { id: 1, title: "Health patients comprehensive", text: "From its medieval origins to the digital era , learn everything there is to know", - icon: "/assets/imgs/icon/icon-7.png", + icon: "/assets/imgs/icon/icon-2.png", link: "service-details.html", }, { id: 2, title: "Pediatric Hematology Oncology", text: "Creation timelines for the standard lorem ipsum passage vary, with some citing the", - icon: "/assets/imgs/icon/icon-7.png", + icon: "/assets/imgs/icon/icon-3.png", link: "service-details.html", }, { id: 3, title: "Care Pediatric & Medicine", text: "Letraset's dry-transfer sheets, and later entered the digital world via Aldus", - icon: "/assets/imgs/icon/icon-7.png", + icon: "/assets/imgs/icon/icon-4.png", link: "service-details.html", }, { id: 4, title: "Labor & Delivery: The Birthplace", text: "Some claim lorem ipsum threatens to promote design over content, while others defend", - icon: "/assets/imgs/icon/icon-7.png", + icon: "/assets/imgs/icon/icon-5.png", link: "service-details.html", }, { id: 5, title: "Urogynecology & Pelvic Health", text: "Generally, lorem ipsum is best suited to keeping templates from looking bare or", - icon: "/assets/imgs/icon/icon-7.png", + icon: "/assets/imgs/icon/icon-6.png", link: "service-details.html", }, ]; @@ -50,13 +50,6 @@ const services = [ const MedicalServices = () => { const [activeTab, setActiveTab] = useState(0); - useEffect(() => { - const interval = setInterval(() => { - setActiveTab((prev) => (prev + 1) % services.length); - }, 5000); - - return () => clearInterval(interval); - }, []); const handleTabClick = (e: React.MouseEvent, id: number) => { e.preventDefault(); @@ -65,24 +58,54 @@ const MedicalServices = () => { return (
    -
    + {/* Background Overlay */} +
    + + {/* Decorative Elements - 4 Left, 4 Right */} +
    shape
    +
    shape
    + {/*
    shape
    */} +
    shape
    + +
    shape
    +
    shape
    + {/*
    shape
    */} +
    shape
    + +
    -

    Medical Services

    -

    Search or browse by hospital, treatment or consultant to see what can do for you

    - +
    +
    +
    MEDICAL SERVICES
    +

    Medical Services

    +
    + +

    It is a long established fact that a reader will be distracted the readable content of
    a page when looking at layout the point of using lorem the is Ipsum less normal distribution of letters.

    @@ -95,14 +118,24 @@ const MedicalServices = () => { {services.map((service, index) => (
  • + {activeTab === index &&
    } handleTabClick(e, index)} data-tab-link={index} > - icon + icon
  • ))} @@ -116,9 +149,9 @@ const MedicalServices = () => { data-tab-no={index} >

    - {service.title} + {service.title}

    -

    {service.text}

    +

    {service.text}

    ))}
    diff --git a/src/components/home/MedicalServicesCircle.tsx b/src/components/home/MedicalServicesCircle.tsx deleted file mode 100644 index ea5699b..0000000 --- a/src/components/home/MedicalServicesCircle.tsx +++ /dev/null @@ -1,131 +0,0 @@ -"use client"; - -import React, { useState, useEffect } from 'react'; -import Link from 'next/link'; - -interface ServiceItem { - id: number; - icon: string; - title: string; - text: string; -} - -const services: ServiceItem[] = [ - { - id: 0, - icon: "https://bracketweb.com/pelocishtml/assets/images/resources/service-1-1.jpg", // Using logical equivalents - title: "Excellent infection prevention", - text: "Lorem ipsum dolor sit amet, conse ctetur adipiscing eliteiusmod tempor incididunt" - }, - { - id: 1, - icon: "https://bracketweb.com/pelocishtml/assets/images/resources/service-1-2.jpg", - title: "Health patients comprehensive", - text: "From its medieval origins to the digital era , learn everything there is to know" - }, - { - id: 2, - icon: "https://bracketweb.com/pelocishtml/assets/images/resources/service-1-3.jpg", - title: "Pediatric Hematology Oncology", - text: "Creation timelines for the standard lorem ipsum passage vary, with some citing the" - }, - { - id: 3, - icon: "https://bracketweb.com/pelocishtml/assets/images/resources/service-1-4.jpg", - title: "Care Pediatric & Medicine", - text: "Letraset's dry-transfer sheets, and later entered the digital world via Aldus" - }, - { - id: 4, - icon: "https://bracketweb.com/pelocishtml/assets/images/resources/service-1-5.jpg", - title: "Labor & Delivery: The Birthplace", - text: "Some claim lorem ipsum threatens to promote design over content, while others defend" - }, - { - id: 5, - icon: "https://bracketweb.com/pelocishtml/assets/images/resources/service-1-6.jpg", - title: "Urogynecology & Pelvic Health", - text: "Generally, lorem ipsum is best suited to keeping templates from looking bare or" - } -]; - -const MedicalServicesCircle: React.FC = () => { - const [activeTab, setActiveTab] = useState(0); - - useEffect(() => { - const interval = setInterval(() => { - setActiveTab((prev) => (prev + 1) % services.length); - }, 5000); - return () => clearInterval(interval); - }, []); - - const handleTabClick = (e: React.MouseEvent, id: number) => { - e.preventDefault(); - setActiveTab(id); - }; - - return ( -
    -
    -
    -

    Medical Services

    -

    Search or browse by hospital, treatment or consultant to see what can do for you

    -
    - icon -
    -
    - -
    -
    -
    -
    -
    -
    -
    - - - -
    - {services.map((service) => ( -
    -
    -

    - {service.title} -

    -

    {service.text}

    -
    -
    - ))} -
    -
    -
    -
    - ); -}; - -export default MedicalServicesCircle; diff --git a/src/components/home/ProjectsSection.tsx b/src/components/home/ProjectsSection.tsx new file mode 100644 index 0000000..afe0783 --- /dev/null +++ b/src/components/home/ProjectsSection.tsx @@ -0,0 +1,115 @@ +"use client"; + +import React, { useState } from 'react'; +import Link from 'next/link'; + +const projectsData = [ + { + id: 1, + title: "Cognitive Psychology", + description: "Supporting individuals in overcoming and for their quality of life whether solution.", + image: "/assets/imgs/project/project-1.jpg", + category: "counseling" + }, + { + id: 2, + title: "Relationship Counseling", + description: "Helping couples build stronger connections and resolve conflicts effectively.", + image: "/assets/imgs/project/project-2.jpg", + category: "relationship" + }, + { + id: 3, + title: "Team Support", + description: "Enhancing workplace dynamics and providing support for professional teams.", + image: "/assets/imgs/project/project-3.jpg", + category: "team-support" + }, + { + id: 4, + title: "Family Therapy", + description: "Guidance for families navigating transitions and challenging situations.", + image: "/assets/imgs/project/project-4.jpg", + category: "counseling" + }, + { + id: 5, + title: "Executive Coaching", + description: "Professional development and mental wellness for corporate leaders.", + image: "/assets/imgs/project/project-5.jpg", + category: "team-support" + }, + { + id: 6, + title: "Child Psychology", + description: "Specialized support for children's emotional and behavioral development.", + image: "/assets/imgs/project/project-6.jpg", + category: "counseling" + } +]; + +const categories = [ + { label: "All", filter: "all" }, + { label: "Counseling", filter: "counseling" }, + { label: "Relationship", filter: "relationship" }, + { label: "Team Support", filter: "team-support" } +]; + +const ProjectsSection = () => { + const [activeFilter, setActiveFilter] = useState("all"); + + const filteredProjects = projectsData.filter(project => + activeFilter === "all" || project.category.includes(activeFilter) + ); + + return ( +
    +
    +
    +
    +
    +
    Our Recent Work
    +

    Our Case Studies Best Quality
    Psychology & Counseling

    +
    +
    + +
      + {categories.map((cat, idx) => ( +
    • setActiveFilter(cat.filter)} + > + {cat.label} +
    • + ))} +
    + +
    + {filteredProjects.map((project) => ( +
    +
    + {project.title} +
    +
    +
    +
    +

    {project.title}

    +

    {project.description}

    +
    +
    + + + +
    +
    +
    +
    + ))} +
    +
    +
    + ); +}; + +export default ProjectsSection; diff --git a/src/components/home/WhyChooseTwo.tsx b/src/components/home/WhyChooseTwo.tsx index a78aaa0..8f627f5 100644 --- a/src/components/home/WhyChooseTwo.tsx +++ b/src/components/home/WhyChooseTwo.tsx @@ -65,7 +65,7 @@ const WhyChooseTwo: React.FC = ({ reverse = false }) => {
    -
    +
    pelocis
    diff --git a/src/components/home/home-1/AboutSection.tsx b/src/components/home/home-1/AboutSection.tsx index 4ae11f1..7bff0de 100644 --- a/src/components/home/home-1/AboutSection.tsx +++ b/src/components/home/home-1/AboutSection.tsx @@ -39,9 +39,13 @@ const AboutSection = () => {
    -
    - About Us -

    Selecting the Finest IT Service Provider

    +
    +
    +
    +
    ABOUT US
    +

    Selecting the Finest IT
    Service Provider

    +
    +

    It is a long established fact that a reader will be distracted the readable content of a page when looking at layout the point of using lorem the is Ipsum less normal distribution of letters.

    diff --git a/src/components/home/home-1/BlogSection.tsx b/src/components/home/home-1/BlogSection.tsx index e87b420..b185c6f 100644 --- a/src/components/home/home-1/BlogSection.tsx +++ b/src/components/home/home-1/BlogSection.tsx @@ -5,9 +5,13 @@ const BlogSection = ({ hideHeader = false }: { hideHeader?: boolean }) => (
    {!hideHeader && ( -
    - LATEST blog -

    Latest Blog Insights

    +
    +
    +
    +
    LATEST BLOG
    +

    Latest Blog Insights

    +
    +
    )}
    diff --git a/src/components/home/home-1/BrandSection.tsx b/src/components/home/home-1/BrandSection.tsx index 8d8232c..e31aab0 100644 --- a/src/components/home/home-1/BrandSection.tsx +++ b/src/components/home/home-1/BrandSection.tsx @@ -1,20 +1,29 @@ -import React, { useEffect } from "react"; +import React from "react"; +import SectionTitle from "@/components/common/SectionTitle"; const BrandSection = () => { return ( -
    -
    -
    -
    - {[1, 2, 3, 4, 1].map((num, i) => ( -
    - -
    - ))} +
    +
    + +
    +
    +
    + {[1, 2, 3, 4, 1].map((num, i) => ( +
    + +
    + ))} +
    -
    +
    ); }; diff --git a/src/components/home/home-1/ChooseSection.tsx b/src/components/home/home-1/ChooseSection.tsx index 7df24ca..f77be66 100644 --- a/src/components/home/home-1/ChooseSection.tsx +++ b/src/components/home/home-1/ChooseSection.tsx @@ -7,9 +7,13 @@ const ChooseSection = () => (
    -
    - why choose us -

    What's Make Us Different

    +
    +
    +
    +
    WHY CHOOSE US
    +

    What's Make Us Different

    +
    +
    {[ { icon: "fa-solid fa-building", title: "Commercial Service", delay: ".5s" }, diff --git a/src/components/home/home-1/ServiceThreeSlider.tsx b/src/components/home/home-1/ServiceThreeSlider.tsx index 2c53f1d..0e3d8d3 100644 --- a/src/components/home/home-1/ServiceThreeSlider.tsx +++ b/src/components/home/home-1/ServiceThreeSlider.tsx @@ -2,52 +2,11 @@ import React from "react"; import Link from "next/link"; +import { psychologyServices } from "@/utils/data"; +import { ServiceType } from "@/types"; const ServiceThreeSlider = () => { - const services = [ - { - title: "Network Infrastructure", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-network-wired", - image: "/assets/img/about/about-img14.png", - link: "/services" - }, - { - title: "Data Management", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-database", - image: "/assets/img/about/about-img15.png", - link: "/services" - }, - { - title: "Technology Solution", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-microchip", - image: "/assets/img/about/about-img13.png", - link: "/services" - }, - { - title: "Cloud Computing", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-cloud", - image: "/assets/img/about/about-img14.png", - link: "/services" - }, - { - title: "Cyber Security", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-shield-halved", - image: "/assets/img/about/about-img15.png", - link: "/services" - }, - { - title: "IT Consultancy", - text: "Solution the connection, we create platforms business Solution", - icon: "fa-solid fa-user-tie", - image: "/assets/img/about/about-img13.png", - link: "/services" - } - ]; + const services: ServiceType[] = psychologyServices; return (
    @@ -58,9 +17,13 @@ const ServiceThreeSlider = () => {
    -
    - OUR BEST SERVICE -

    We Are Service Your Business

    +
    +
    +
    +
    OUR BEST SERVICE
    +

    We Are Service Your Business

    +
    +
    @@ -83,9 +46,9 @@ const ServiceThreeSlider = () => {

    - {service.title} + {service.title}

    -

    {service.text}

    +

    {service.description}

    {service.title} @@ -96,89 +59,6 @@ const ServiceThreeSlider = () => {
    -
    ); }; diff --git a/src/components/home/home-1/TestimonialsSection.tsx b/src/components/home/home-1/TestimonialsSection.tsx index f510d0e..a72a334 100644 --- a/src/components/home/home-1/TestimonialsSection.tsx +++ b/src/components/home/home-1/TestimonialsSection.tsx @@ -18,9 +18,13 @@ const TestimonialsSection = () => (
    -
    - Testimonials -

    Our Client Feedback

    +
    +
    +
    +
    TESTIMONIALS
    +

    Our Client Feedback

    +
    +
    diff --git a/src/components/home/home-2/About2Section.tsx b/src/components/home/home-2/About2Section.tsx index 8620d20..68d1a03 100644 --- a/src/components/home/home-2/About2Section.tsx +++ b/src/components/home/home-2/About2Section.tsx @@ -28,9 +28,13 @@ const About2Section = () => (
    -
    - About Us -

    We Strive To Offer Intelligent Business Solutions

    +
    +
    +
    +
    ABOUT US
    +

    We Strive To Offer Intelligent
    Business Solutions

    +
    +

    It is a long established fact that a reader will be distracted the readable content of a page when looking at layout the point of using lorem the is Ipsum less normal distribution of letters.

    diff --git a/src/components/home/home-2/WorkProcessSection.tsx b/src/components/home/home-2/WorkProcessSection.tsx index 004a189..fbec3fe 100644 --- a/src/components/home/home-2/WorkProcessSection.tsx +++ b/src/components/home/home-2/WorkProcessSection.tsx @@ -4,9 +4,13 @@ const WorkProcessSection = () => (
    -
    - Working Process -

    Our Development Process

    +
    +
    +
    +
    WORKING PROCESS
    +

    Our Development Process

    +
    +
    {[ diff --git a/src/components/home/home-3/ChooseSection.tsx b/src/components/home/home-3/ChooseSection.tsx index 9f4c414..9064a9c 100644 --- a/src/components/home/home-3/ChooseSection.tsx +++ b/src/components/home/home-3/ChooseSection.tsx @@ -1,4 +1,5 @@ import React from "react"; +import SectionTitle from "@/components/common/SectionTitle"; const ChooseSection = () => (
    @@ -26,10 +27,11 @@ const ChooseSection = () => (
    -
    - WHY Choose US -

    Elevate Your Achievements Using Premier IT Solutions

    -
    +

    It is a long established fact that a reader will be distracted the readable content of a page when looking at layout the point of using lorem the is Ipsum less normal distribution of letters.

    {[ diff --git a/src/components/layout/Header1.tsx b/src/components/layout/Header1.tsx index 4ca52f2..a161d26 100644 --- a/src/components/layout/Header1.tsx +++ b/src/components/layout/Header1.tsx @@ -1,3 +1,5 @@ +"use client"; + import React from "react"; import Link from "next/link"; import NavMenu from "./NavMenu"; diff --git a/src/components/services/AboutService.tsx b/src/components/services/AboutService.tsx index d6dddf7..3817022 100644 --- a/src/components/services/AboutService.tsx +++ b/src/components/services/AboutService.tsx @@ -32,15 +32,15 @@ const AboutService = () => {
    -
    - - OUR ABOUT US - -

    - We Provide Professional Advice About This Business. -

    +
    +
    +
    +
    OUR ABOUT US
    +

    We Provide Professional Advice
    About This Business.

    +
    +

    - Business tailored design, management & support services Business business agency elit, + Business tailored design, management & support services Business business agency elit, sed do eiusmod tempor majority have in some we form, by injected humour solution.

    diff --git a/src/components/services/ServiceDetails.tsx b/src/components/services/ServiceDetails.tsx new file mode 100644 index 0000000..290034a --- /dev/null +++ b/src/components/services/ServiceDetails.tsx @@ -0,0 +1,88 @@ +"use client"; + +import React, { useEffect } from "react"; +import Link from "next/link"; +import { ServiceType } from "@/types"; +import { psychologyServices } from "@/utils/data"; + +interface ServiceDetailsProps { + service: ServiceType; +} + +const ServiceDetails: React.FC = ({ service }) => { + useEffect(() => { + const init = () => { + if (typeof window !== "undefined" && (window as any).initMetatron && (window as any).jQuery) { + (window as any).initMetatron(); + } else { + setTimeout(init, 100); + } + }; + init(); + }, []); + + return ( +
    +
    +
    +
    +
    +
    +

    All Services

    +
      + {psychologyServices.map((item) => ( +
    • + + {item.title} + + +
    • + ))} +
    +
    + +
    +
    +
    +
    + +
    +

    Free for This
    First Contact Now

    +

    + +11234 751 328 +

    +
    + + CALL NOW + +
    +
    +
    +
    +
    +
    +
    +
    + {service.title} +
    +

    {service.title}

    +

    {service.description}

    + + {service.content && ( +
    + )} +
    +
    + + +
    +
    + +
    + ); +}; + +export default ServiceDetails; diff --git a/src/types/index.ts b/src/types/index.ts index 2a91cee..765c3f0 100644 --- a/src/types/index.ts +++ b/src/types/index.ts @@ -4,6 +4,8 @@ export interface ServiceType { image?: string; title: string; description: string; + slug?: string; + content?: string; } export interface CaseStudyType { diff --git a/src/utils/data.ts b/src/utils/data.ts index 6ef8c30..d6f6356 100644 --- a/src/utils/data.ts +++ b/src/utils/data.ts @@ -545,4 +545,205 @@ export const pricingPlans: PricingType[] = [ ], link: '#' } -]; \ No newline at end of file +]; + +export const psychologyServices = [ + { + id: 1, + title: "Cognitive Psychology", + slug: "cognitive-psychology", + icon: "fa-solid fa-brain", + image: "https://bracketweb.com/pelocishtml/assets/images/resources/service-d-2.jpg", + description: "Business tailored design, management & support services Business for free.", + content: ` +

    Essential Tips For Managing Over Whelming Situations

    +

    Lorem ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    +
    +
    +
    +
    + benefit +
    +
    +
    +
    +

    Our Benefits

    +

    There are many variations of passages of this business magical therapy.

    +
      +
    • There are many variations of passages of this business magical therapy.
    • +
    • We available but simply free text available in the market sit majority.
    • +
    +
    +
    +
    +
    +

    We ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him.

    +

    Therapy Benefits dolor business agency elit, sed do eiusmod tempor majority have this best we in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    + ` + }, + { + id: 2, + title: "Academic Psychology", + slug: "academic-psychology", + icon: "fa-solid fa-graduation-cap", + image: "https://bracketweb.com/pelocishtml/assets/images/resources/service-d-2.jpg", + description: "Business tailored design, management & support services Business for free.", + content: ` +

    Essential Tips For Managing Over Whelming Situations

    +

    Lorem ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    +
    +
    +
    +
    + benefit +
    +
    +
    +
    +

    Our Benefits

    +

    There are many variations of passages of this business magical therapy.

    +
      +
    • There are many variations of passages of this business magical therapy.
    • +
    • We available but simply free text available in the market sit majority.
    • +
    +
    +
    +
    +
    +

    We ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him.

    +

    Therapy Benefits dolor business agency elit, sed do eiusmod tempor majority have this best we in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    + ` + }, + { + id: 3, + title: "Career Counseling", + slug: "career-counseling", + icon: "fa-solid fa-user-tie", + image: "https://bracketweb.com/pelocishtml/assets/images/resources/service-d-2.jpg", + description: "Business tailored design, management & support services Business for free.", + content: ` +

    Essential Tips For Managing Over Whelming Situations

    +

    Lorem ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    +
    +
    +
    +
    + benefit +
    +
    +
    +
    +

    Our Benefits

    +

    There are many variations of passages of this business magical therapy.

    +
      +
    • There are many variations of passages of this business magical therapy.
    • +
    • We available but simply free text available in the market sit majority.
    • +
    +
    +
    +
    +
    +

    We ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him.

    +

    Therapy Benefits dolor business agency elit, sed do eiusmod tempor majority have this best we in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    + ` + }, + { + id: 4, + title: "Clinical Psychology", + slug: "clinical-psychology", + icon: "fa-solid fa-stethoscope", + image: "https://bracketweb.com/pelocishtml/assets/images/resources/service-d-2.jpg", + description: "Business tailored design, management & support services Business for free.", + content: ` +

    Essential Tips For Managing Over Whelming Situations

    +

    Lorem ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    +
    +
    +
    +
    + benefit +
    +
    +
    +
    +

    Our Benefits

    +

    There are many variations of passages of this business magical therapy.

    +
      +
    • There are many variations of passages of this business magical therapy.
    • +
    • We available but simply free text available in the market sit majority.
    • +
    +
    +
    +
    +
    +

    We ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him.

    +

    Therapy Benefits dolor business agency elit, sed do eiusmod tempor majority have this best we in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    + ` + }, + { + id: 5, + title: "Psychiatric Treatment", + slug: "psychiatric-treatment", + icon: "fa-solid fa-hospital-user", + image: "https://bracketweb.com/pelocishtml/assets/images/resources/service-d-2.jpg", + description: "Business tailored design, management & support services Business for free.", + content: ` +

    Essential Tips For Managing Over Whelming Situations

    +

    Lorem ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    +
    +
    +
    +
    + benefit +
    +
    +
    +
    +

    Our Benefits

    +

    There are many variations of passages of this business magical therapy.

    +
      +
    • There are many variations of passages of this business magical therapy.
    • +
    • We available but simply free text available in the market sit majority.
    • +
    +
    +
    +
    +
    +

    We ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him.

    +

    Therapy Benefits dolor business agency elit, sed do eiusmod tempor majority have this best we in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    + ` + }, + { + id: 6, + title: "Family Therapy", + slug: "family-therapy", + icon: "fa-solid fa-hospital-user", + image: "https://bracketweb.com/pelocishtml/assets/images/resources/service-d-2.jpg", + description: "Business tailored design, management & support services Business for free.", + content: ` +

    Essential Tips For Managing Over Whelming Situations

    +

    Lorem ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    +
    +
    +
    +
    + benefit +
    +
    +
    +
    +

    Our Benefits

    +

    There are many variations of passages of this business magical therapy.

    +
      +
    • There are many variations of passages of this business magical therapy.
    • +
    • We available but simply free text available in the market sit majority.
    • +
    +
    +
    +
    +
    +

    We ipsum dolor business agency elit, sed do eiusmod tempor majority have this best we are in some we form, by injected humour solution toil & pain can procure him.

    +

    Therapy Benefits dolor business agency elit, sed do eiusmod tempor majority have this best we in some we form, by injected humour solution toil & pain can procure him some great pleasure solution being able to do solution.

    + ` + } +];