Compare commits
57 Commits
148e4b92d7
...
73199b0b52
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
73199b0b52 | ||
|
|
229153b9e5 | ||
|
|
68732a0000 | ||
|
|
1d005cfba6 | ||
|
|
b3037ce050 | ||
|
|
18bee619e9 | ||
|
|
d3cec426d3 | ||
|
|
1055ca32ab | ||
|
|
7d9f00a43e | ||
|
|
543c26d3e9 | ||
|
|
023402f623 | ||
|
|
c8f24b2b12 | ||
|
|
0124c57991 | ||
|
|
68f16697da | ||
|
|
a1fd0366a9 | ||
|
|
c83efb2375 | ||
|
|
8a5818e77a | ||
|
|
f260c8b47a | ||
|
|
a7f4ba246c | ||
|
|
aa12c283c2 | ||
|
|
5f8a7c7c97 | ||
|
|
c4141617d1 | ||
|
|
db8b185a41 | ||
|
|
f7026ea7d5 | ||
|
|
3f9e2d35a0 | ||
|
|
04a71f46e7 | ||
|
|
cf1dc41fba | ||
| c961317a30 | |||
| af0e50eeaa | |||
|
|
b56a3a3790 | ||
|
|
5a86a8e123 | ||
|
|
44e3fe629a | ||
|
|
465019f1a8 | ||
| f29ed1f9f7 | |||
|
|
f82e4fa1a3 | ||
|
|
d026cad5a8 | ||
|
|
b68ba7b168 | ||
|
|
80f84ca84f | ||
|
|
d1b3fa4fff | ||
|
|
8d6540a777 | ||
|
|
b4ffa1d1dd | ||
|
|
67221864db | ||
|
|
ebcd435e1c | ||
|
|
01a23ea22c | ||
|
|
c1761a3d3b | ||
|
|
e89197d89c | ||
|
|
4baf06cbdb | ||
|
|
104cfc2431 | ||
|
|
8533a673f6 | ||
|
|
2a423bd172 | ||
|
|
87ce64eeeb | ||
|
|
32d1af3d72 | ||
|
|
ab523c962a | ||
|
|
14f447f31d | ||
|
|
77555f9a2c | ||
|
|
451259c243 | ||
|
|
38ee0d866c |
@ -53,12 +53,12 @@ export default function Home() {
|
||||
{
|
||||
title: "Mission",
|
||||
img: "/assets/images/about-us/section2/mission.webp",
|
||||
text: "Physiotherapy etobicoke is committed to providing quality and innovative health care in a comfortable and professional environment. Our interdisciplinary team will work collaboratively to offer a comprehensive and patient centered approach to ensure the highest level of client experience through our evidence-based clinical practice"
|
||||
text: "Physiotherapy etobicoke is committed to providing quality and innovative health care in a comfortable and professional environment. Our interdisciplinary team will work collaboratively to offer a comprehensive and patient centered approach to ensure the highest level of client experience through our evidence-based clinical practice."
|
||||
},
|
||||
{
|
||||
title: "Vision",
|
||||
img: "/assets/images/about-us/section2/vision.webp",
|
||||
text: "To be regarded as the most reliable and effective health care therapy practice backed by the team of innovative healthcare professionals driven by passion"
|
||||
text: "To be regarded as the most reliable and effective health care therapy practice backed by the team of innovative healthcare professionals driven by passion."
|
||||
},
|
||||
{
|
||||
title: "Values",
|
||||
@ -98,7 +98,7 @@ export default function Home() {
|
||||
<h2>Comprehensive Physiotherapy & Rehabilitation Clinic in Etobicoke</h2>
|
||||
</div>
|
||||
<div className="text-box mb_40">
|
||||
<p>Welcome to Rapha Rehab Physiotherapy Massage Therapy Clinic Etobicoke – physiotherapy clinic in etobicoke managed by Registered Physiotherapists offering reliable physiotherapy treatment Services, Sports injury physiotherapy, Pelvic floor physiotherapy, Chiropractor, Massage therapy , Acupuncture treatment, Foot Reflexology, Osteopathy, custom knee braces, orthotics, spinal decompression therapy, concussion management, chronic pain management, workplace injury management, Naturopathy and home care physiotherapy Services in Etobicoke</p>
|
||||
<p>Welcome to Rapha Rehab Physiotherapy Massage Therapy Clinic Etobicoke – physiotherapy clinic in etobicoke managed by Registered Physiotherapists offering reliable physiotherapy treatment Services, Sports injury physiotherapy, Pelvic floor physiotherapy, Chiropractor, Massage therapy , Acupuncture treatment, Foot Reflexology, Osteopathy, custom knee braces, orthotics, spinal decompression therapy, concussion management, chronic pain management, workplace injury management, Naturopathy and home care physiotherapy Services in Etobicoke.</p>
|
||||
</div>
|
||||
<div className="btn-box">
|
||||
<Link href="/contact" className="theme-btn btn-one"><span>Book Appointment</span></Link>
|
||||
@ -178,7 +178,7 @@ export default function Home() {
|
||||
<h2>Your Trusted Physiotherapy Team in Etobicoke</h2>
|
||||
</div>
|
||||
<div className="text-box mb_40">
|
||||
<p className="tex-color-1">Physiotherapy etobicoke is a team of health care professionals working together to help get you better, faster. This helps us in rendering our best possible services to our clients</p>
|
||||
<p className="tex-color-1">Physiotherapy etobicoke is a team of health care professionals working together to help get you better, faster. This helps us in rendering our best possible services to our clients.</p>
|
||||
</div>
|
||||
<div className="btn-box">
|
||||
<Link href="/contact" className="theme-btn btn-one-new"><span>Book Appointment</span></Link>
|
||||
@ -258,7 +258,7 @@ export default function Home() {
|
||||
</section>
|
||||
<section className="chooseus-section">
|
||||
<div className="bg-layer" style={{ backgroundImage: 'url(/assets/images/about-us/section4/why-choose-right.webp)' }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: 'url(/assets/images/shape/shape-12.png)' }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: 'url(/assets/images/shape/shape-12.webp)' }}></div>
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-8 col-md-12 col-sm-12 content-column">
|
||||
@ -274,7 +274,7 @@ export default function Home() {
|
||||
<div className="inner-box">
|
||||
<div className="icon-box"><img src="/assets/images/home/why-choose/expert-team.webp" alt="Expert team" /></div>
|
||||
<h3>Expert Team</h3>
|
||||
<p>At Etobicoke Physiotherapy, we have expert team of professionals</p>
|
||||
<p>At Etobicoke Physiotherapy, we have expert team of professionals.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -283,7 +283,7 @@ export default function Home() {
|
||||
<div className="inner-box">
|
||||
<div className="icon-box"><img src="/assets/images/about-us/section4/understand.webp" alt="Understand your pain" /></div>
|
||||
<h3>Understand your Pain</h3>
|
||||
<p>Etobicoke physiotherapy offer Treatment for faster recovery</p>
|
||||
<p>Etobicoke physiotherapy offer Treatment for faster recovery.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -292,7 +292,7 @@ export default function Home() {
|
||||
<div className="inner-box">
|
||||
<div className="icon-box"><img src="/assets/images/home/why-choose/ready.webp" alt="Ready to go" /></div>
|
||||
<h3>Ready To Go</h3>
|
||||
<p>Flexible opening hours conveniently located in etobicoke</p>
|
||||
<p>Flexible opening hours conveniently located in etobicoke.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -3,7 +3,6 @@ import Link from "next/link";
|
||||
import { notFound } from "next/navigation";
|
||||
import Accident from "@/utils/Accident.utils";
|
||||
|
||||
// ✅ Generate static paths for export
|
||||
export async function generateStaticParams() {
|
||||
return Accident.map((item) => ({
|
||||
slug: item.slug,
|
||||
@ -22,7 +21,7 @@ export async function generateMetadata({ params }) {
|
||||
|
||||
return {
|
||||
title: service.metaTitle || service.title,
|
||||
description: service.metaDescription || service.shortDesc,
|
||||
description: service.metaDiscription || service.shortDesc,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@ import Accident from "@/utils/Accident.utils";
|
||||
|
||||
export const metadata = {
|
||||
title: "Accident Injury Rehab Services – Rapharehab Experts",
|
||||
description: "Recover confidently after an accident with Rapharehab. Our professional team provides personalized care to manage pain, restore mobility, and rebuild strength.",
|
||||
description: "Recover confidently after an accident with Rapharehab. Our professional team provides personalized care to manage pain, restore mobility and rebuild strength.",
|
||||
};
|
||||
|
||||
export default function AccidentPage() {
|
||||
@ -15,31 +15,67 @@ export default function AccidentPage() {
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
{Accident.map((service, index) => (
|
||||
<div key={service.id} className="col-lg-4 col-md-6 col-sm-12 service-block">
|
||||
<div
|
||||
className="service-block-one wow fadeInUp animated"
|
||||
data-wow-delay={`${index * 300}ms`}
|
||||
data-wow-duration="1500ms"
|
||||
>
|
||||
<div className="inner-box">
|
||||
// <div key={service.id} className="col-lg-4 col-md-6 col-sm-12 service-block">
|
||||
// <div
|
||||
// className="service-block-one wow fadeInUp animated"
|
||||
// data-wow-delay={`${index * 300}ms`}
|
||||
// data-wow-duration="1500ms"
|
||||
// >
|
||||
// <div className="inner-box">
|
||||
// <div className="image-box">
|
||||
// <figure className="image">
|
||||
// <Link href={`/accident/${service.slug}`}>
|
||||
// <img src={service.mainImage} alt={service.title} />
|
||||
// </Link>
|
||||
// </figure>
|
||||
// </div>
|
||||
// <div className="lower-content">
|
||||
// <div className="icon-box">
|
||||
// <img
|
||||
// src={service.icon}
|
||||
// alt={`${service.title}`}
|
||||
// />
|
||||
// </div>
|
||||
// <h3>
|
||||
// <Link href={`/accident/${service.slug}`}>{service.title}</Link>
|
||||
// </h3>
|
||||
// <p>{service.shortDesc}</p>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
<div className="col-lg-3 col-md-4 col-sm-12 service-block d-flex">
|
||||
<div className="service-block-one wow fadeInUp animated d-flex flex-column flex-grow-1" data-wow-delay="00ms" data-wow-duration="1500ms">
|
||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||
<div className="image-box">
|
||||
<figure className="image">
|
||||
<Link href={`/accident/${service.slug}`}>
|
||||
<img src={service.mainImage} alt={service.title} />
|
||||
</Link>
|
||||
<img src={service.mainImage} alt={service.title} />
|
||||
</Link>
|
||||
</figure>
|
||||
</div>
|
||||
<div className="lower-content">
|
||||
<div className="icon-box">
|
||||
<div className="lower-content-new">
|
||||
<div className="icon-box-new">
|
||||
<img
|
||||
src={service.icon}
|
||||
alt={`${service.title}`}
|
||||
/>
|
||||
</div>
|
||||
<h3>
|
||||
<h3 className='text-start'>
|
||||
<Link href={`/accident/${service.slug}`}>{service.title}</Link>
|
||||
</h3>
|
||||
<p>{service.shortDesc}</p>
|
||||
<p
|
||||
className='text-start'
|
||||
style={{
|
||||
overflow: 'hidden',
|
||||
textOverflow: 'ellipsis',
|
||||
display: '-webkit-box',
|
||||
WebkitLineClamp: 2,
|
||||
WebkitBoxOrient: 'vertical',
|
||||
}}
|
||||
>
|
||||
{service?.shortDesc}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -21,7 +21,7 @@ export async function generateMetadata({ params }) {
|
||||
|
||||
return {
|
||||
title: `${service.metaTitle} – Rapharehab Clinic`,
|
||||
description: service.metaDescription || "Expert physiotherapy and pain relief treatments.",
|
||||
description: service.metaDiscription || "Expert physiotherapy and pain relief treatments.",
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -22,32 +22,66 @@ export default function AreaOfInjury() {
|
||||
const altText = item.title ? item.title.toUpperCase() : "AREA OF INJURY";
|
||||
|
||||
return (
|
||||
<div className="col-lg-4 col-md-6 col-sm-12 service-block" key={item.id}>
|
||||
<div
|
||||
className="service-block-one wow fadeInUp animated"
|
||||
data-wow-delay="00ms"
|
||||
data-wow-duration="1500ms"
|
||||
>
|
||||
<div className="inner-box">
|
||||
<div className="image-box">
|
||||
<figure className="image">
|
||||
<Link href={`/area-of-injury/${item.slug}`}>
|
||||
// <div className="col-lg-4 col-md-6 col-sm-12 service-block" key={item.id}>
|
||||
// <div
|
||||
// className="service-block-one wow fadeInUp animated"
|
||||
// data-wow-delay="00ms"
|
||||
// data-wow-duration="1500ms"
|
||||
// >
|
||||
// <div className="inner-box">
|
||||
// <div className="image-box">
|
||||
// <figure className="image">
|
||||
// <Link href={`/area-of-injury/${item.slug}`}>
|
||||
// <img src={item.image} alt={altText} />
|
||||
// </Link>
|
||||
// </figure>
|
||||
// </div>
|
||||
// <div className="lower-content new-height">
|
||||
// <div className="icon-box">
|
||||
// <img src={item.icon} alt={altText} />
|
||||
// </div>
|
||||
// <h3>
|
||||
// <Link href={`/area-of-injury/${item.slug}`}>{item.title}</Link>
|
||||
// </h3>
|
||||
// <p>{item.shortDescription}</p>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
|
||||
<div className="col-lg-3 col-md-4 col-sm-12 service-block d-flex">
|
||||
<div className="service-block-one wow fadeInUp animated d-flex flex-column flex-grow-1" data-wow-delay="00ms" data-wow-duration="1500ms">
|
||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||
<div className="image-box">
|
||||
<figure className="image">
|
||||
<Link href={`/area-of-injury/${item.slug}`}>
|
||||
<img src={item.image} alt={altText} />
|
||||
</Link>
|
||||
</figure>
|
||||
</div>
|
||||
<div className="lower-content new-height">
|
||||
<div className="icon-box">
|
||||
<img src={item.icon} alt={altText} />
|
||||
</div>
|
||||
<h3>
|
||||
<Link href={`/area-of-injury/${item.slug}`}>{item.title}</Link>
|
||||
</h3>
|
||||
<p>{item.shortDescription}</p>
|
||||
</Link>
|
||||
</figure>
|
||||
</div>
|
||||
<div className="lower-content-new">
|
||||
<div className="icon-box-new">
|
||||
<img src={item.icon} alt={altText} />
|
||||
</div>
|
||||
<h3 className='text-start'>
|
||||
<Link href={`/area-of-injury/${item.slug}`}>{item.title}</Link>
|
||||
</h3>
|
||||
<p
|
||||
className='text-start'
|
||||
style={{
|
||||
overflow: 'hidden',
|
||||
textOverflow: 'ellipsis',
|
||||
display: '-webkit-box',
|
||||
WebkitLineClamp: 2,
|
||||
WebkitBoxOrient: 'vertical',
|
||||
}}
|
||||
>
|
||||
{item.shortDescription}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
})}
|
||||
</div>
|
||||
|
||||
@ -23,8 +23,8 @@ export default function Blog() {
|
||||
<div key={i} className="col-lg-4 col-md-6 col-sm-12 news-block">
|
||||
<div
|
||||
className="news-block-one wow fadeInUp animated"
|
||||
data-wow-delay={`${i * 300}ms`}
|
||||
data-wow-duration="1500ms"
|
||||
data-wow-delay={`${i * 20}ms`}
|
||||
data-wow-duration="300ms"
|
||||
>
|
||||
<div className="inner-box">
|
||||
<figure className="image-box">
|
||||
|
||||
@ -4,14 +4,14 @@ import { useState, useEffect } from "react";
|
||||
import ReCAPTCHA from "react-google-recaptcha";
|
||||
import axios from "axios";
|
||||
import Link from "next/link";
|
||||
import { servicesList } from "@/utils/Services.utils";
|
||||
|
||||
export default function ContactClient() {
|
||||
const [formData, setFormData] = useState({
|
||||
username: "",
|
||||
lname: "",
|
||||
email: "",
|
||||
phone: "",
|
||||
subject: "",
|
||||
service: "",
|
||||
message: "",
|
||||
});
|
||||
|
||||
@ -19,45 +19,47 @@ export default function ContactClient() {
|
||||
const [captchaToken, setCaptchaToken] = useState(null);
|
||||
const [alert, setAlert] = useState({ show: false, type: "", message: "" });
|
||||
|
||||
// Handle input changes
|
||||
const handleChange = (e) => {
|
||||
const { name, value } = e.target;
|
||||
// console.log("Input Changed:", name, value);
|
||||
setFormData((prev) => ({ ...prev, [name]: value }));
|
||||
};
|
||||
|
||||
// Handle captcha
|
||||
const handleCaptchaChange = (token) => {
|
||||
// console.log("Captcha Token:", token);
|
||||
setCaptchaToken(token);
|
||||
};
|
||||
|
||||
// Form submit handler
|
||||
const handleSubmit = async (e) => {
|
||||
e.preventDefault();
|
||||
// console.log("Form Submitted:", formData);
|
||||
|
||||
const errors = {};
|
||||
if (!formData.username.trim()) errors.username = "First Name is required.";
|
||||
if (!formData.lname.trim()) errors.lname = "Last Name is required.";
|
||||
if (!formData.username.trim()) errors.username = "Name is required.";
|
||||
if (!formData.email.trim()) errors.email = "Email is required.";
|
||||
if (!formData.phone.trim()) errors.phone = "Phone is required.";
|
||||
if (!formData.subject.trim()) errors.subject = "Subject is required.";
|
||||
if (!formData.service.trim()) errors.service = "Please select a service.";
|
||||
if (!formData.message.trim()) errors.message = "Message is required.";
|
||||
if (!captchaToken) errors.captcha = "Please verify the CAPTCHA.";
|
||||
|
||||
setFormErrors(errors);
|
||||
// console.log("Form Errors:", errors);
|
||||
if (Object.keys(errors).length > 0) return;
|
||||
|
||||
const emailData = {
|
||||
...formData,
|
||||
message: `Subject: ${formData.subject}<br /><br />Message: ${formData.message}`,
|
||||
message: `Service: ${formData.service}<br /><br />Message: ${formData.message}`,
|
||||
to: "bloor@rapharehab.ca",
|
||||
senderName: "Rapha Rehab Contact Page",
|
||||
recaptchaToken: captchaToken,
|
||||
};
|
||||
|
||||
try {
|
||||
const res = await axios.post("https://mailserver.metatronnest.com/send", emailData, {
|
||||
// console.log("Sending email:", emailData);
|
||||
const res = await axios.post("/api/sendMail", emailData, {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
});
|
||||
// console.log("Email Response:", res.data);
|
||||
|
||||
setAlert({
|
||||
show: true,
|
||||
@ -67,16 +69,15 @@ export default function ContactClient() {
|
||||
|
||||
setFormData({
|
||||
username: "",
|
||||
lname: "",
|
||||
email: "",
|
||||
phone: "",
|
||||
subject: "",
|
||||
service: "",
|
||||
message: "",
|
||||
});
|
||||
setCaptchaToken(null);
|
||||
setFormErrors({});
|
||||
} catch (error) {
|
||||
console.error("❌ Error sending email:", error);
|
||||
// console.error("❌ Error sending email:", error);
|
||||
setAlert({
|
||||
show: true,
|
||||
type: "danger",
|
||||
@ -85,7 +86,7 @@ export default function ContactClient() {
|
||||
}
|
||||
};
|
||||
|
||||
// Auto-hide alert
|
||||
|
||||
useEffect(() => {
|
||||
if (alert.show) {
|
||||
const timer = setTimeout(() => {
|
||||
@ -97,7 +98,6 @@ export default function ContactClient() {
|
||||
|
||||
return (
|
||||
<div>
|
||||
{/* Contact Info Section */}
|
||||
<section className="contact-info-section pt_90">
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
@ -131,7 +131,7 @@ export default function ContactClient() {
|
||||
<div className="icon-box">
|
||||
<img src="/assets/images/icons/icon-2.png" alt="" />
|
||||
</div>
|
||||
<p>6 – 4335 Bloor Street West <br />Etobicoke, M9C5S2</p>
|
||||
<p>5 – 4335 Bloor Street West <br />Etobicoke, M9C 2A5</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -139,7 +139,6 @@ export default function ContactClient() {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Contact Form Section */}
|
||||
<section className="contact-style-three pt_90 pb_90">
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
@ -163,7 +162,7 @@ export default function ContactClient() {
|
||||
<input
|
||||
type="text"
|
||||
name="username"
|
||||
placeholder="First Name"
|
||||
placeholder="Name"
|
||||
value={formData.username}
|
||||
onChange={handleChange}
|
||||
/>
|
||||
@ -173,12 +172,12 @@ export default function ContactClient() {
|
||||
<div className="col-lg-6 col-md-6 col-sm-12 form-group">
|
||||
<input
|
||||
type="text"
|
||||
name="lname"
|
||||
placeholder="Last Name"
|
||||
value={formData.lname}
|
||||
name="phone"
|
||||
placeholder="Phone"
|
||||
value={formData.phone}
|
||||
onChange={handleChange}
|
||||
/>
|
||||
{formErrors.lname && <small className="text-danger">{formErrors.lname}</small>}
|
||||
{formErrors.phone && <small className="text-danger">{formErrors.phone}</small>}
|
||||
</div>
|
||||
|
||||
<div className="col-lg-6 col-md-6 col-sm-12 form-group">
|
||||
@ -193,28 +192,23 @@ export default function ContactClient() {
|
||||
</div>
|
||||
|
||||
<div className="col-lg-6 col-md-6 col-sm-12 form-group">
|
||||
<input
|
||||
type="text"
|
||||
name="phone"
|
||||
placeholder="Phone"
|
||||
value={formData.phone}
|
||||
<select
|
||||
name="service"
|
||||
value={formData.service}
|
||||
onChange={handleChange}
|
||||
/>
|
||||
{formErrors.phone && <small className="text-danger">{formErrors.phone}</small>}
|
||||
className="form-control"
|
||||
>
|
||||
<option value="">Select Service</option>
|
||||
{servicesList.map((service) => (
|
||||
<option key={service.slug} value={service.shortTitle}>
|
||||
{service.shortTitle}
|
||||
</option>
|
||||
))}
|
||||
</select>
|
||||
{formErrors.service && <small className="text-danger">{formErrors.service}</small>}
|
||||
</div>
|
||||
|
||||
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
|
||||
<input
|
||||
type="text"
|
||||
name="subject"
|
||||
placeholder="Subject"
|
||||
value={formData.subject}
|
||||
onChange={handleChange}
|
||||
/>
|
||||
{formErrors.subject && <small className="text-danger">{formErrors.subject}</small>}
|
||||
</div>
|
||||
|
||||
<div className="col-lg-12 col-md-12 col-sm-12 form-group">
|
||||
<div className="col-lg-12 col-md-6 col-sm-12 form-group">
|
||||
<textarea
|
||||
name="message"
|
||||
placeholder="Message"
|
||||
@ -226,7 +220,7 @@ export default function ContactClient() {
|
||||
|
||||
<div className="col-lg-12 mb-3">
|
||||
<ReCAPTCHA
|
||||
sitekey="6LekfpwrAAAAAOTwuP1d2gg-Fv9UEsAjE2gjOQJl"
|
||||
sitekey="6Lckq9MrAAAAABjBD9rQYm19BMGFFWiwb9mPiw2K"
|
||||
onChange={handleCaptchaChange}
|
||||
/>
|
||||
{formErrors.captcha && <small className="text-danger">{formErrors.captcha}</small>}
|
||||
@ -251,7 +245,6 @@ export default function ContactClient() {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{/* Google Map */}
|
||||
<section className="google-map-section">
|
||||
<div className="map-inner">
|
||||
<iframe
|
||||
|
||||
@ -17,7 +17,7 @@ export default function ServiceDetailClient({ slug, service, servicesList }) {
|
||||
return (
|
||||
<div>
|
||||
{/* service-section */}
|
||||
<section className="service-details pt_90 .pb_90">
|
||||
<section className="service-details pt_90 pb_90">
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
|
||||
|
||||
@ -14,7 +14,7 @@ export async function generateMetadata({ params }) {
|
||||
|
||||
return {
|
||||
title: service.metaTitle || service.shortTitle || service.title,
|
||||
description: service.metaDescription || service.shortDesc || "Explore this service in detail",
|
||||
description: service.metaDiscription || service.shortDesc || "Explore this service in detail",
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -4,8 +4,8 @@ import Link from "next/link"
|
||||
import { servicesList } from "@/utils/Services.utils"
|
||||
|
||||
export const metadata = {
|
||||
title: "Our Professional Services – Rapharehab Physiotherapy",
|
||||
description: "Explore a full range of trusted services at Rapharehab, from physiotherapy to acupuncture, massage, osteopathy, chiropody, and more.",
|
||||
title: "Our Professional Services – Rapharehab Physiotherapy",
|
||||
description: "Explore a full range of trusted services at Rapharehab, from physiotherapy to acupuncture, massage, osteopathy, chiropody, and more.",
|
||||
};
|
||||
|
||||
export default function ServicesPage() {
|
||||
@ -16,27 +16,37 @@ export default function ServicesPage() {
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
{servicesList.map((item) => (
|
||||
<div className="col-lg-4 col-md-6 col-sm-12 service-block" key={item.id}>
|
||||
<div className="service-block-one wow fadeInUp animated" data-wow-delay="00ms" data-wow-duration="1500ms">
|
||||
<div className="inner-box">
|
||||
<div className="col-lg-3 col-md-4 col-sm-12 service-block d-flex">
|
||||
<div className="service-block-one wow fadeInUp animated d-flex flex-column flex-grow-1" data-wow-delay="00ms" data-wow-duration="1500ms">
|
||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||
<div className="image-box">
|
||||
<figure className="image">
|
||||
<Link href={`/etobicoke-treatment-service/${item.slug}`}>
|
||||
<img src={item.image} alt={item.title} />
|
||||
<img src={item?.image} alt={item.alt} />
|
||||
</Link>
|
||||
</figure>
|
||||
</div>
|
||||
<div className="lower-content">
|
||||
<div className="icon-box">
|
||||
<img
|
||||
src={item.icon}
|
||||
alt={`${item.title} Icon`}
|
||||
/>
|
||||
<div className="lower-content-new">
|
||||
<div className="icon-box-new">
|
||||
<img src={item?.icon} alt="" />
|
||||
</div>
|
||||
<h3>
|
||||
<Link href={`/etobicoke-treatment-service/${item.slug}`}>{item.shortTitle}</Link>
|
||||
<h3 className='text-start'>
|
||||
<Link href={`/etobicoke-treatment-service/${item.slug}`}>
|
||||
{item?.shortTitle}
|
||||
</Link>
|
||||
</h3>
|
||||
<p>{item.shortDescription}</p>
|
||||
<p
|
||||
className='text-start'
|
||||
style={{
|
||||
overflow: 'hidden',
|
||||
textOverflow: 'ellipsis',
|
||||
display: '-webkit-box',
|
||||
WebkitLineClamp: 2,
|
||||
WebkitBoxOrient: 'vertical',
|
||||
}}
|
||||
>
|
||||
{item?.shortDescription}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -27,7 +27,7 @@ export default function Faq() {
|
||||
<section className="faq-section pt_90 pb_90">
|
||||
<div className="auto-container">
|
||||
<div className="sec-title centred mb_50">
|
||||
<span className="sub-title">FAQ'S</span>
|
||||
<span className="sub-title">FAQ’s</span>
|
||||
<h2>Do You Have Any Physiotherapy <br />Questions?</h2>
|
||||
</div>
|
||||
|
||||
@ -97,7 +97,7 @@ export default function Faq() {
|
||||
onClick={() => handleToggle(3)}
|
||||
>
|
||||
<div className="icon-box"><i className="icon-34"></i></div>
|
||||
<h5>How Long Will Your session Take?</h5>
|
||||
<h5>How long will your session take?</h5>
|
||||
</div>
|
||||
<div className={isActive.key === 3 ? "acc-content current" : "acc-content"}>
|
||||
<div className="content">
|
||||
|
||||
@ -12,7 +12,7 @@ export default function FaqPage() {
|
||||
<Layout
|
||||
headerStyle={1}
|
||||
footerStyle={1}
|
||||
breadcrumbTitle="Faq's"
|
||||
breadcrumbTitle="FAQ’s"
|
||||
bannerImage="/assets/images/faq/faq-banner.webp"
|
||||
>
|
||||
<FaqClient />
|
||||
|
||||
@ -1,133 +1,96 @@
|
||||
|
||||
'use client'
|
||||
import Layout from "@/components/layout/Layout"
|
||||
import { useState } from 'react'
|
||||
import { useState } from "react"
|
||||
import Link from "next/link"
|
||||
export default function WhyChooseUs() {
|
||||
const [isActive, setIsActive] = useState({
|
||||
status: false,
|
||||
key: 1,
|
||||
})
|
||||
import { galleryImages } from "@/utils/constant.utils"
|
||||
|
||||
const handleToggle = (key) => {
|
||||
if (isActive.key === key) {
|
||||
setIsActive({
|
||||
status: false,
|
||||
})
|
||||
} else {
|
||||
setIsActive({
|
||||
status: true,
|
||||
key,
|
||||
})
|
||||
export default function WhyChooseUs() {
|
||||
const itemsPerPage = 6
|
||||
const [currentPage, setCurrentPage] = useState(1)
|
||||
|
||||
const indexOfLastImage = currentPage * itemsPerPage
|
||||
const indexOfFirstImage = indexOfLastImage - itemsPerPage
|
||||
const currentImages = galleryImages.slice(indexOfFirstImage, indexOfLastImage)
|
||||
|
||||
const totalPages = Math.ceil(galleryImages.length / itemsPerPage)
|
||||
|
||||
const handlePageChange = (page) => {
|
||||
if (page > 0 && page <= totalPages) {
|
||||
setCurrentPage(page)
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
{/* gallery */}
|
||||
<section className="gallery-page-section sec-pad-2">
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-4 col-md-6 col-sm-12 gallery-block">
|
||||
<section className="gallery-page-section sec-pad-2">
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
{currentImages.map((src, index) => (
|
||||
<div key={index} className="col-lg-4 col-md-6 col-sm-12 gallery-block">
|
||||
<div className="gallery-block-one">
|
||||
<div className="inner-box">
|
||||
<figure className="image-box"><img src="/assets/images/gallery/gallery-6.jpg" alt="" /></figure>
|
||||
<div className="view-btn"><Link href="/assets/images/gallery/gallery-6.jpg" className="lightbox-image" data-fancybox="gallery"><i className="icon-4"></i></Link></div>
|
||||
<figure className="image-box">
|
||||
<img src={src} alt={`gallery-${index}`} />
|
||||
</figure>
|
||||
<div className="view-btn">
|
||||
<Link href={src} className="lightbox-image" data-fancybox="gallery">
|
||||
<i className="icon-4"></i>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/* Repeat the above block for other gallery items */}
|
||||
<div className="col-lg-4 col-md-6 col-sm-12 gallery-block">
|
||||
<div className="gallery-block-one">
|
||||
<div className="inner-box">
|
||||
<figure className="image-box"><img src="/assets/images/gallery/gallery-7.jpg" alt="" /></figure>
|
||||
<div className="view-btn"><Link href="/assets/images/gallery/gallery-7.jpg" className="lightbox-image" data-fancybox="gallery"><i className="icon-4"></i></Link></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/* Repeat the above block for other gallery items */}
|
||||
<div className="col-lg-4 col-md-6 col-sm-12 gallery-block">
|
||||
<div className="gallery-block-one">
|
||||
<div className="inner-box">
|
||||
<figure className="image-box"><img src="/assets/images/gallery/gallery-8.jpg" alt="" /></figure>
|
||||
<div className="view-btn"><Link href="/assets/images/gallery/gallery-8.jpg" className="lightbox-image" data-fancybox="gallery"><i className="icon-4"></i></Link></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/* Repeat the above block for other gallery items */}
|
||||
<div className="col-lg-4 col-md-6 col-sm-12 gallery-block">
|
||||
<div className="gallery-block-one">
|
||||
<div className="inner-box">
|
||||
<figure className="image-box"><img src="/assets/images/gallery/gallery-9.jpg" alt="" /></figure>
|
||||
<div className="view-btn"><Link href="/assets/images/gallery/gallery-9.jpg" className="lightbox-image" data-fancybox="gallery"><i className="icon-4"></i></Link></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/* Repeat the above block for other gallery items */}
|
||||
<div className="col-lg-4 col-md-6 col-sm-12 gallery-block">
|
||||
<div className="gallery-block-one">
|
||||
<div className="inner-box">
|
||||
<figure className="image-box"><img src="/assets/images/gallery/gallery-10.jpg" alt="" /></figure>
|
||||
<div className="view-btn"><Link href="/assets/images/gallery/gallery-10.jpg" className="lightbox-image" data-fancybox="gallery"><i className="icon-4"></i></Link></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/* Repeat the above block for other gallery items */}
|
||||
<div className="col-lg-4 col-md-6 col-sm-12 gallery-block">
|
||||
<div className="gallery-block-one">
|
||||
<div className="inner-box">
|
||||
<figure className="image-box"><img src="/assets/images/gallery/gallery-11.jpg" alt="" /></figure>
|
||||
<div className="view-btn"><Link href="/assets/images/gallery/gallery-11.jpg" className="lightbox-image" data-fancybox="gallery"><i className="icon-4"></i></Link></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/* Repeat the above block for other gallery items */}
|
||||
</div>
|
||||
<div className="pagination-wrapper mt_20 centred">
|
||||
<ul className="pagination clearfix">
|
||||
<li><Link href="gallery" className="current">1</Link></li>
|
||||
<li><Link href="gallery">2</Link></li>
|
||||
<li><Link href="gallery">3</Link></li>
|
||||
<li><Link href="gallery"><i className="icon-36"></i></Link></li>
|
||||
</ul>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
{/* gallery end */}
|
||||
|
||||
{/* subscibe */}
|
||||
{/* <section className="subscribe-section">
|
||||
<div className="auto-container">
|
||||
<div className="inner-container">
|
||||
<div className="row align-items-center">
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 text-column">
|
||||
<div className="text-box">
|
||||
<h2><span>Subscribe</span> for the exclusive updates!</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 form-column">
|
||||
<div className="form-inner">
|
||||
<form method="post" action="contact">
|
||||
<div className="form-group">
|
||||
<input type="email" name="email" placeholder="Enter Your Email Address" required />
|
||||
<button type="submit" className="theme-btn btn-one"><span>Subscribe Now</span></button>
|
||||
</div>
|
||||
<div className="form-group">
|
||||
<div className="check-box">
|
||||
<input className="check" type="checkbox" id="checkbox1" />
|
||||
<label htmlFor="checkbox1">I agree to the <Link href="/">Privacy Policy.</Link></label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="pagination-wrapper mt_20 centred">
|
||||
<ul className="pagination clearfix">
|
||||
{currentPage > 1 && (
|
||||
<li className="prev">
|
||||
<Link
|
||||
href="#"
|
||||
onClick={(e) => {
|
||||
e.preventDefault()
|
||||
handlePageChange(currentPage - 1)
|
||||
}}
|
||||
>
|
||||
<img src="/assets/images/gallery/left.png" alt="Previous" />
|
||||
</Link>
|
||||
</li>
|
||||
)}
|
||||
|
||||
{[...Array(totalPages)].map((_, i) => (
|
||||
<li key={i}>
|
||||
<Link
|
||||
href="#"
|
||||
onClick={(e) => {
|
||||
e.preventDefault()
|
||||
handlePageChange(i + 1)
|
||||
}}
|
||||
className={currentPage === i + 1 ? "current" : ""}
|
||||
>
|
||||
{i + 1}
|
||||
</Link>
|
||||
</li>
|
||||
))}
|
||||
|
||||
{currentPage < totalPages && (
|
||||
<li className="next">
|
||||
<Link
|
||||
href="#"
|
||||
onClick={(e) => {
|
||||
e.preventDefault()
|
||||
handlePageChange(currentPage + 1)
|
||||
}}
|
||||
>
|
||||
<img src="/assets/images/gallery/right.png" alt="Previous" />
|
||||
</Link>
|
||||
</li>
|
||||
)}
|
||||
</ul>
|
||||
</div>
|
||||
</section> */}
|
||||
{/* subscibe end */}
|
||||
</div>
|
||||
</section>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,14 +1,19 @@
|
||||
import { poppins } from "@/lib/font";
|
||||
// import dynamic from "next/dynamic";
|
||||
|
||||
// // Lazy load heavy components
|
||||
// const ContactFloat = dynamic(() => import("@/components/ContactFloat"), { ssr: false });
|
||||
// const AutoPopup = dynamic(() => import("@/components/AutoPopup"), { ssr: false });
|
||||
|
||||
// Import only necessary CSS for global layout
|
||||
import "@/node_modules/react-modal-video/css/modal-video.css";
|
||||
import "../public/assets/css/bootstrap.css";
|
||||
import "../public/assets/css/color.css";
|
||||
import "../public/assets/css/style.css";
|
||||
import "swiper/css";
|
||||
// import "swiper/css/navigation"
|
||||
import "swiper/css/pagination";
|
||||
import "swiper/css/free-mode";
|
||||
import { poppins } from "@/lib/font";
|
||||
import ContactFloat from "@/components/ContactFloat"
|
||||
import AutoPopup from "@/components/AutoPopup";
|
||||
import Head from "next/head";
|
||||
|
||||
export const metadata = {
|
||||
title: "Best Pain Relief & Physiotherapy - Repharehab Clinic",
|
||||
@ -18,9 +23,46 @@ export const metadata = {
|
||||
export default function RootLayout({ children }) {
|
||||
return (
|
||||
<html lang="en" className={`${poppins.variable}`}>
|
||||
<Head>
|
||||
{/* Lazy load non-critical CSS */}
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/style.css"
|
||||
media="print"
|
||||
onLoad="this.media='all'"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/swiper.css"
|
||||
media="print"
|
||||
onLoad="this.media='all'"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="/assets/css/swiper-pagination.css"
|
||||
media="print"
|
||||
onLoad="this.media='all'"
|
||||
/>
|
||||
|
||||
{/* Microsoft Clarity Tracking */}
|
||||
<script
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: `
|
||||
(function(c,l,a,r,i,t,y){
|
||||
c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
|
||||
t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/th7p0lr1ca";
|
||||
y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
|
||||
})(window, document, "clarity", "script", "th7p0lr1ca");
|
||||
`,
|
||||
}}
|
||||
/>
|
||||
</Head>
|
||||
<body>
|
||||
{children}
|
||||
{/* <AutoPopup/> */}
|
||||
|
||||
{/* Lazy loaded components */}
|
||||
{/* <ContactFloat /> */}
|
||||
{/* <AutoPopup /> */}
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
|
||||
@ -36,13 +36,13 @@ export default function Home() {
|
||||
<Link href={`/our-team-physiotherapy-etobicoke/${member.slug}`}>{member.name}</Link>
|
||||
</h3>
|
||||
<span className="designation">{member.designation}</span>
|
||||
<ul className="social-links clearfix">
|
||||
{/* <ul className="social-links clearfix">
|
||||
{member.socials.map((social, idx) => (
|
||||
<li key={idx}>
|
||||
<Link href={social.link}><i className={social.icon}></i></Link>
|
||||
</li>
|
||||
))}
|
||||
</ul>
|
||||
</ul> */}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -43,8 +43,8 @@ export default function Home() {
|
||||
<AreaOfInjury />
|
||||
<WhyChooseUsSection />
|
||||
<CounterSection />
|
||||
<Solution />
|
||||
<Testimonial />
|
||||
<Solution />
|
||||
<Video />
|
||||
|
||||
</Layout>
|
||||
|
||||
542
app/payment-insurance/PaymentInsurence.js
Normal file
@ -0,0 +1,542 @@
|
||||
"use client";
|
||||
|
||||
import Link from "next/link";
|
||||
import Layout from "@/components/layout/Layout";
|
||||
import { useState } from 'react';
|
||||
|
||||
export default function RefugeeIFHP() {
|
||||
|
||||
const [isActive, setIsActive] = useState({
|
||||
status: false,
|
||||
key: 1,
|
||||
});
|
||||
|
||||
const handleToggle = (key) => {
|
||||
if (isActive.key === key) {
|
||||
setIsActive({
|
||||
status: false,
|
||||
});
|
||||
} else {
|
||||
setIsActive({
|
||||
status: true,
|
||||
key,
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
return (
|
||||
<>
|
||||
<Layout
|
||||
headerStyle={1}
|
||||
footerStyle={1}
|
||||
breadcrumbTitle="Refugee Physiotherapy & IFHP Claims"
|
||||
bannerImage="/assets/images/payment-insurance/payment-banner.webp"
|
||||
>
|
||||
<section className="solutions-section pb-0">
|
||||
<div className="auto-container">
|
||||
<div className="content-box full-width">
|
||||
<div className="sec-title mb_15">
|
||||
<h2>Refugee Physiotherapy & IFHP Claims (Canada)</h2>
|
||||
<h4 className="mt-3">
|
||||
<strong>Simple claims - No surprises.</strong>
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div className="mb_30">
|
||||
<p>
|
||||
At Rapha Rehab, we make it easy for refugees and refugee
|
||||
claimants to access physiotherapy using Canada’s Interim
|
||||
Federal Health Program (IFHP). We handle the paperwork, explain
|
||||
your coverage in plain language, and focus on what matters
|
||||
most - your recovery.
|
||||
</p>
|
||||
<div className="btn-box mt-4">
|
||||
<Link href="/contact" className="theme-btn btn-one"><span>Book Your IFHP-Covered Visit</span></Link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className=" mb_30">
|
||||
<h4 className="mb-3">Who’s eligible under IFHP?</h4>
|
||||
<p>
|
||||
IFHP is temporary health coverage for people in Canada who
|
||||
aren’t yet eligible for provincial/territorial health insurance
|
||||
- this includes refugee claimants, protected persons and many
|
||||
resettled refugees. It’s a payer of last resort while you wait
|
||||
for provincial coverage.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className=" mb_30">
|
||||
<h4 className="mb-3">Does IFHP cover physiotherapy?</h4>
|
||||
<p>
|
||||
Yes. IFHP’s Supplemental Coverage includes physiotherapy, along
|
||||
with other allied health services. For physiotherapy, the
|
||||
official benefit grid specifies:
|
||||
</p>
|
||||
<ul className="list-style-one clearfix mt-3">
|
||||
<li>
|
||||
Initial assessment (in-clinic): 1 per calendar year
|
||||
</li>
|
||||
<li>
|
||||
Subsequent physiotherapy visits (in-clinic): up to 12 per
|
||||
calendar year
|
||||
</li>
|
||||
<li>
|
||||
Home-based physio: available when a client can’t attend a
|
||||
clinic and shows clinical need (e.g., significant mobility
|
||||
impairment), with specific criteria noted in the grid
|
||||
</li>
|
||||
<li>
|
||||
Medical referral: services require a referral from a
|
||||
physician or nurse practitioner
|
||||
</li>
|
||||
<li>
|
||||
Fees/limits: reimbursed to the clinic per provincial fee
|
||||
schedule set out in the grid
|
||||
</li>
|
||||
</ul>
|
||||
<p className="mt-3">
|
||||
We arrange any prior approval the grid requires before
|
||||
treatment begins.
|
||||
</p>
|
||||
<p>
|
||||
<strong>
|
||||
Why this matters: you get a clear number of covered visits
|
||||
and no out-of-pocket surprises for approved services.
|
||||
</strong>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="row mt-5">
|
||||
<div className="col-lg-6 col-md-6 col-sm-12 mb_30">
|
||||
<h4 className="mb-4">How IFHP claims work at Rapha Rehab (so it’s easy for you)?</h4>
|
||||
<ul className="list-style-one clearfix mt-3">
|
||||
<li>
|
||||
IFHP eligibility document (with your UCI/Client ID and valid coverage dates)
|
||||
</li>
|
||||
<li>
|
||||
A doctor or nurse practitioner referral for physiotherapy (we can help you understand what’s needed)
|
||||
</li>
|
||||
<li>
|
||||
<strong>We verify your eligibility & benefits</strong>
|
||||
<p>
|
||||
IFHP is administered by Medavie Blue Cross. Our team confirms your coverage and handles provider billing directly with them.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<strong>We obtain any required approvals</strong>
|
||||
<p>
|
||||
Some services have visit limits and prior-approval rules. We submit what’s needed so your care is authorized before you start.
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<strong>Start your care - no upfront cost for approved services</strong>
|
||||
<p>
|
||||
You focus on recovery. We direct the IFHP bill for covered treatments. (If something isn’t covered, we’ll tell you in advance so you can decide.)
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="col-lg-6 col-md-6 col-sm-12 mb_30">
|
||||
<h4>What your treatment includes?</h4>
|
||||
<ul className="list-style-one clearfix mt-3">
|
||||
<li>
|
||||
A 45-60 minute initial visit with assessment, goal setting, and a simple home program
|
||||
</li>
|
||||
<li>
|
||||
Evidence-based hands-on care (manual therapy, mobility work) and targeted exercise
|
||||
</li>
|
||||
<li>
|
||||
Education on posture, safe activity, and self-care strategies
|
||||
</li>
|
||||
<li>
|
||||
Progress reviews and reporting that align with IFHP documentation requirements (so your visits remain covered)
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div className="content-column mb-5">
|
||||
<div className="sec-title mb_30">
|
||||
<span className="sub-title">Faq's</span>
|
||||
<h4>Frequently Asked Questions</h4>
|
||||
</div>
|
||||
<div className="content-box">
|
||||
<ul className="accordion-box">
|
||||
<li className="accordion block">
|
||||
<div
|
||||
className={isActive.key === 1 ? "acc-btn active" : "acc-btn"}
|
||||
onClick={() => handleToggle(1)}
|
||||
>
|
||||
<div className="icon-box"><i className="icon-34"></i></div>
|
||||
<h5>Do I need a referral?</h5>
|
||||
</div>
|
||||
<div className={isActive.key === 1 ? "acc-content current" : "acc-content"}>
|
||||
<div className="content">
|
||||
<div className="text">
|
||||
<p>
|
||||
Yes - IFHP requires a referral from a physician or nurse
|
||||
practitioner for physiotherapy services. Bring the referral
|
||||
to your first visit (or send it to us securely beforehand).
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li className="accordion block">
|
||||
<div
|
||||
className={isActive.key === 2 ? "acc-btn active" : "acc-btn"}
|
||||
onClick={() => handleToggle(2)}
|
||||
>
|
||||
<div className="icon-box"><i className="icon-34"></i></div>
|
||||
<h5>How many physio sessions are covered?</h5>
|
||||
</div>
|
||||
<div className={isActive.key === 2 ? "acc-content current" : "acc-content"}>
|
||||
<div className="content">
|
||||
<div className="text">
|
||||
<p>
|
||||
Typically 1 initial assessment + up to 12 in-clinic treatment
|
||||
visits per calendar year. We’ll review your case and handle
|
||||
any approvals for home visits when medically necessary.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
{/* FAQ 3 */}
|
||||
<li className="accordion block">
|
||||
<div
|
||||
className={isActive.key === 3 ? "acc-btn active" : "acc-btn"}
|
||||
onClick={() => handleToggle(3)}
|
||||
>
|
||||
<div className="icon-box"><i className="icon-34"></i></div>
|
||||
<h5>What if I can’t come to the clinic?</h5>
|
||||
</div>
|
||||
<div className={isActive.key === 3 ? "acc-content current" : "acc-content"}>
|
||||
<div className="content">
|
||||
<div className="text">
|
||||
<p>
|
||||
When a client cannot attend in person and shows clinical
|
||||
signs of deterioration or impairment, home-based
|
||||
physiotherapy may be covered under IFHP criteria. We’ll
|
||||
assess and request approval where applicable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
{/* FAQ 4 */}
|
||||
<li className="accordion block">
|
||||
<div
|
||||
className={isActive.key === 4 ? "acc-btn active" : "acc-btn"}
|
||||
onClick={() => handleToggle(4)}
|
||||
>
|
||||
<div className="icon-box"><i className="icon-34"></i></div>
|
||||
<h5>What happens when I get provincial coverage (like OHIP)?</h5>
|
||||
</div>
|
||||
<div className={isActive.key === 4 ? "acc-content current" : "acc-content"}>
|
||||
<div className="content">
|
||||
<div className="text">
|
||||
<p>
|
||||
IFHP is temporary. Once you’re eligible for a provincial
|
||||
plan, that plan becomes your primary coverage. We’ll help you
|
||||
transition smoothly.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="row">
|
||||
{/* Left Column */}
|
||||
<div className="col-lg-6 col-md-6 col-sm-12 mb_0 mt-3">
|
||||
<h4 className="mb-3">What to bring to your first appointment?</h4>
|
||||
<ul className="list-style-one clearfix mt-3">
|
||||
<li>Your IFHP eligibility document (with UCI)</li>
|
||||
<li>Photo ID (if you have it)</li>
|
||||
<li>Physiotherapy referral from an MD or NP</li>
|
||||
<li>
|
||||
Any medical reports (imaging, hospital notes) that may help
|
||||
us tailor your care.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{/* Right Column */}
|
||||
<div className="col-lg-6 col-md-6 col-sm-12 mb_30 mt-3">
|
||||
<h4>Why choose Rapha Rehab for IFHP-covered care?</h4>
|
||||
<ul className="list-style-one clearfix mt-3">
|
||||
<li>
|
||||
<strong>Welcoming & culturally sensitive:</strong>{" "}
|
||||
trauma-informed, dignity-first care
|
||||
</li>
|
||||
<li>
|
||||
<strong>Direct billing & paperwork handled:</strong> we
|
||||
manage Medavie Blue Cross claims for you
|
||||
</li>
|
||||
<li>
|
||||
<strong>Clear communication:</strong> visit limits,
|
||||
approvals, and coverage are explained upfront
|
||||
</li>
|
||||
<li>
|
||||
<strong>Results-focused rehab:</strong> practical goals,
|
||||
home programs, and steady progress tracking.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div className=" mb_30">
|
||||
<h4 className="mb-3">Blue Cross: Trusted Partner in Refugee Health Coverage</h4>
|
||||
<p>
|
||||
The Interim Federal Health Program (IFHP) is administered
|
||||
through Medavie Blue Cross, one of Canada’s leading health
|
||||
insurance providers. Their role is to process claims, reimburse
|
||||
clinics, and ensure refugee clients receive timely access to
|
||||
covered services like physiotherapy.
|
||||
</p>
|
||||
<p>
|
||||
At Rapha Rehab, we work directly with Blue Cross to verify
|
||||
eligibility, obtain approvals, and bill services on your behalf
|
||||
- so you don’t have to worry about navigating insurance
|
||||
paperwork. This partnership allows us to focus on your healing,
|
||||
while Blue Cross ensures that your care is supported and
|
||||
covered.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div className="mt-3">
|
||||
<p className="mt-3">
|
||||
Need help with a referral or paperwork? Message us - we’ll
|
||||
guide you step by step.
|
||||
</p>
|
||||
<div className="btn-box mt-3">
|
||||
<Link href="/contact" className="theme-btn btn-one"><span>Book Your IFHP-Covered Visit</span></Link>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section className="solutions-section pb-4">
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
||||
<div className="content-box">
|
||||
<div className="sec-title mb_15">
|
||||
<h2>Payment & Insurance at Rapha Rehab Physiotherapy</h2>
|
||||
</div>
|
||||
<div className="progress-inner mb_50">
|
||||
<p>At Rapha Rehab, we want your recovery journey to be smooth and worry-free. That’s why we make <b>payment and insurance</b> simple for everyone - whether you have a private health plan, coverage through work or auto insurance, or you are a refugee supported by the <b>Interim Federal Health Program (IFHP)</b>.</p>
|
||||
<ul className="list-style-one clearfix mt-4">
|
||||
<li>In case if you are injured in a motor vehicle accident (MVA), the auto insurance covers the cost of the treatment.</li>
|
||||
<li>Please get in touch with rapharehab Physiotherapy clinic etobicoke for assistance to know about your coverage.</li>
|
||||
<li>We Accept Cash/Cheque/Visa/Direct Payment.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 image-column">
|
||||
<div className="image_block_two">
|
||||
<div className="image-box">
|
||||
<figure className="image image-1-new"><img src="/assets/images/payment-insurance/back.webp" alt="Payment and Insurance" /></figure>
|
||||
<figure className="image image-2-new"><img src="/assets/images/payment-insurance/front.webp" alt="Payment and Insurance" /></figure>
|
||||
<div className="icon-box cart-icon"><img src="/assets/images/payment-insurance/icon.webp" alt="Payment and Insurance" /></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
<section className="solutions-section pt-5">
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-12 col-md-12 col-sm-12 content-column">
|
||||
<div className="content-box">
|
||||
<div className="mb_30">
|
||||
<h3>Coverage Options We Accept</h3>
|
||||
<h4 className="mt-3 mb-3">For the General Public</h4>
|
||||
<ul className="list-style-one clearfix mt-2">
|
||||
<li>
|
||||
<b>Extended Health Insurance Plans</b> - Most private insurance
|
||||
providers cover physiotherapy, massage, chiropractic,
|
||||
acupuncture, and related services.
|
||||
</li>
|
||||
<li>
|
||||
<b>Workplace Injuries (WSIB)</b> - If you’ve been hurt on the
|
||||
job, we accept WSIB claims for physiotherapy and rehab.
|
||||
</li>
|
||||
<li>
|
||||
<b>Motor Vehicle Accident (MVA) Insurance</b> - If your injury
|
||||
is from a car accident, your auto insurer may cover the cost of
|
||||
your treatments.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h4 className="mt-4 mb-3">For Refugees</h4>
|
||||
<ul className="list-style-one clearfix mt-2">
|
||||
<li>
|
||||
<b>IFHP (Interim Federal Health Program)</b> - Refugee
|
||||
claimants, protected persons, and resettled refugees may receive
|
||||
physiotherapy coverage under IFHP.
|
||||
</li>
|
||||
<li>
|
||||
IFHP is administered by Medavie Blue Cross, which means we bill
|
||||
them directly - so you don’t need to worry about out-of-pocket
|
||||
costs for approved services.
|
||||
</li>
|
||||
<li>
|
||||
Coverage usually includes an initial physiotherapy assessment
|
||||
and up to 12 treatment visits per year, with additional home
|
||||
visits available in special cases.
|
||||
</li>
|
||||
<li>
|
||||
A referral from a physician or nurse practitioner is required
|
||||
for physiotherapy services under IFHP.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="mb_30 mt-5">
|
||||
<h3 className="mb-2">How Billing & Payments Work</h3>
|
||||
<div className="table-responsive billing-table">
|
||||
<table className="table table-bordered mt-3">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Step</th>
|
||||
<th>For General Patients</th>
|
||||
<th>For Refugee Patients</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1. Check Coverage</td>
|
||||
<td>
|
||||
Bring your insurance card or policy details. We’ll confirm
|
||||
your coverage.
|
||||
</td>
|
||||
<td>
|
||||
Bring your IFHP eligibility document (with UCI number) and a
|
||||
doctor’s referral.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2. Verification</td>
|
||||
<td>
|
||||
We confirm benefits with your private insurer, WSIB, or auto
|
||||
insurance.
|
||||
</td>
|
||||
<td>
|
||||
We verify IFHP eligibility and confirm coverage with Medavie
|
||||
Blue Cross.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3. Direct Billing</td>
|
||||
<td>
|
||||
We directly bill many insurers, WSIB, and auto insurers.
|
||||
</td>
|
||||
<td>
|
||||
We bill Medavie Blue Cross directly for covered services.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4. Out-of-Pocket Costs</td>
|
||||
<td>
|
||||
If your plan doesn’t fully cover a service, we’ll explain
|
||||
the cost upfront.
|
||||
</td>
|
||||
<td>
|
||||
If a service isn’t covered, we’ll let you know in advance so
|
||||
there are no surprises.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mb_30 mt-4">
|
||||
<h3>What To Bring To Your First Appointment?</h3>
|
||||
<div className="row mt-3">
|
||||
<div className="col-lg-6 col-md-6 col-sm-12">
|
||||
<h4 className="mb-3">General Patients:</h4>
|
||||
<ul className="list-style-one clearfix mt-2">
|
||||
<li>Insurance card or plan details</li>
|
||||
<li>Doctor’s referral (if required by your insurer)</li>
|
||||
<li>
|
||||
Any medical reports, X-rays, or imaging related to your condition
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="col-lg-6 col-md-6 col-sm-12">
|
||||
<h4 className="mb-3">Refugee Patients:</h4>
|
||||
<ul className="list-style-one clearfix mt-2">
|
||||
<li>IFHP eligibility document with UCI number</li>
|
||||
<li>
|
||||
Physician or nurse practitioner referral for physiotherapy
|
||||
</li>
|
||||
<li>Photo ID (if available)</li>
|
||||
<li>
|
||||
Any hospital or medical notes that may help guide your care
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="mb_30">
|
||||
<h3 className="mb-3">Why Choose Rapha Rehab?</h3>
|
||||
<ul className="list-style-one clearfix mt-3">
|
||||
<li>
|
||||
<b>Stress-free insurance process</b> - we verify, submit, and
|
||||
track claims so you don’t have to.
|
||||
</li>
|
||||
<li>
|
||||
<b>Direct billing available</b> - for private plans, WSIB, auto
|
||||
insurance, and IFHP/Blue Cross.
|
||||
</li>
|
||||
<li>
|
||||
<b>Clear communication</b> - we explain coverage, visit limits,
|
||||
and approvals upfront.
|
||||
</li>
|
||||
<li>
|
||||
<b>Inclusive care for all</b> - whether you’re a local patient
|
||||
or a newcomer to Canada, you’ll receive the same compassionate,
|
||||
high-quality physiotherapy.
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div className="">
|
||||
<p>
|
||||
Our team will review your insurance or IFHP eligibility and guide
|
||||
you through every step of the process.
|
||||
</p>
|
||||
<div className="btn-box mt-4 mb-4">
|
||||
<Link href="/contact" className="theme-btn btn-one"><span>Contact Us to Check Your Coverage</span></Link>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
</Layout>
|
||||
</>
|
||||
);
|
||||
}
|
||||
@ -1,82 +1,17 @@
|
||||
import Link from "next/link"
|
||||
import Layout from "@/components/layout/Layout"
|
||||
import Layout from "@/components/layout/Layout";
|
||||
import RefugeeIFHP from "./PaymentInsurence";
|
||||
|
||||
export const metadata = {
|
||||
title: "Payment & Insurance at Physiotherapy Etobicoke - Rapharehab Physiotherapy clinic Etobicoke",
|
||||
description:
|
||||
"Explore flexible payment options and insurance coverage at Rapharehab Physiotherapy clinic and rehabilitation etobicoke. We accept a variety of insurance plans and offer convenient payment solutions to ensure you get the care you need without financial stress. Book your appointment today!",
|
||||
title:
|
||||
"Refugee Physiotherapy & IFHP Claims (Canada) - Rapharehab Physiotherapy Etobicoke",
|
||||
description:
|
||||
"Access refugee physiotherapy covered by Canada's Interim Federal Health Program (IFHP) at Rapha Rehab Etobicoke. We handle paperwork, explain coverage clearly, and focus on your recovery. Book your IFHP-covered physiotherapy visit today.",
|
||||
};
|
||||
|
||||
|
||||
export default function About() {
|
||||
export default function FaqPage() {
|
||||
return (
|
||||
<>
|
||||
<Layout headerStyle={1} footerStyle={1} breadcrumbTitle="Payment And Insurance" bannerImage="/assets/images/payment-insurance/payment-banner.webp">
|
||||
{/* chooseus-section */}
|
||||
<section className="solutions-section">
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
||||
<div className="content-box">
|
||||
<div className="sec-title mb_15">
|
||||
{/* <span className="sub-title">Better Solutions</span> */}
|
||||
<h2>Payment and Insurance</h2>
|
||||
</div>
|
||||
<div className="progress-inner mb_50">
|
||||
<p>At rapharehab Etobicoke Physiotherapy clinic, your treatments are partially or fully covered by health insurance plans and Workplace Safety and Insurance Board (WSIB). If you have medical health care coverage, we believe your treatment costs will be covered by health care plans. The treatments such as physiotherapy, massage therapy, chiropractic care, acupuncture, orthotics etc., all can be covered by health care insurance.</p>
|
||||
<ul className="list-style-one clearfix mt-4">
|
||||
<li>In case if you are injured in a motor vehicle accident (MVA), the auto insurance covers the cost of the treatment.</li>
|
||||
<li>Please get in touch with rapharehab Physiotherapy clinic etobicoke for assistance to know about your coverage.</li>
|
||||
<li>We Accept Cash/Cheque/Visa/Direct Payment.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 image-column">
|
||||
<div className="image_block_two">
|
||||
<div className="image-box">
|
||||
<figure className="image image-1-new"><img src="/assets/images/payment-insurance/back.webp" alt="Payment and Insurance" /></figure>
|
||||
<figure className="image image-2-new"><img src="/assets/images/payment-insurance/front.webp" alt="Payment and Insurance" /></figure>
|
||||
<div className="icon-box cart-icon"><img src="/assets/images/payment-insurance/icon.webp" alt="Payment and Insurance" /></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
{/* chooseus-section end */}
|
||||
{/* subscibe */}
|
||||
{/* <section className="subscribe-section">
|
||||
<div className="auto-container">
|
||||
<div className="inner-container">
|
||||
<div className="row align-items-center">
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 text-column">
|
||||
<div className="text-box">
|
||||
<h2><span>Subscribe</span> for the exclusive updates!</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 form-column">
|
||||
<div className="form-inner">
|
||||
<form method="post" action="contact">
|
||||
<div className="form-group">
|
||||
<input type="email" name="email" placeholder="Enter Your Email Address" required />
|
||||
<button type="submit" className="theme-btn btn-one"><span>Subscribe Now</span></button>
|
||||
</div>
|
||||
<div className="form-group">
|
||||
<div className="check-box">
|
||||
<input className="check" type="checkbox" id="checkbox1" />
|
||||
<label htmlFor="checkbox1">I agree to the <Link href="index">Privacy Policy.</Link></label>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section> */}
|
||||
{/* subscibe end */}
|
||||
</Layout>
|
||||
<RefugeeIFHP />
|
||||
</>
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
@ -3,7 +3,6 @@ import Link from "next/link";
|
||||
import { notFound } from "next/navigation";
|
||||
import Rehabilitation from "@/utils/Rehabilitation.utils";
|
||||
|
||||
// ✅ Generate static paths for export
|
||||
export async function generateStaticParams() {
|
||||
return Rehabilitation.map((item) => ({
|
||||
slug: item.slug,
|
||||
@ -17,7 +16,7 @@ export async function generateMetadata({ params }) {
|
||||
|
||||
return {
|
||||
title: service.metaTitle || service.title,
|
||||
description: service.metaDescription || service.shortDesc,
|
||||
description: service.metaDiscription || service.shortDesc,
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@ import Rehabilitation from "@/utils/Rehabilitation.utils";
|
||||
|
||||
export const metadata = {
|
||||
title: "Comprehensive Rehabilitation – Rapharehab Professionals",
|
||||
description: "Rapharehab offers expert rehabilitation services tailored to your recovery needs. Regain strength, mobility, and independence with trusted.",
|
||||
description: "Rapharehab offers expert rehabilitation services tailored to your recovery needs. Regain strength, mobility and independence with trusted.",
|
||||
};
|
||||
|
||||
export default function RehabilitationPage() {
|
||||
@ -15,13 +15,39 @@ export default function RehabilitationPage() {
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
{Rehabilitation.map((service, index) => (
|
||||
<div key={service.id} className="col-lg-4 col-md-6 col-sm-12 service-block">
|
||||
<div
|
||||
className="service-block-one wow fadeInUp animated"
|
||||
data-wow-delay={`${index * 300}ms`}
|
||||
data-wow-duration="1500ms"
|
||||
>
|
||||
<div className="inner-box">
|
||||
// <div key={service.id} className="col-lg-4 col-md-6 col-sm-12 service-block">
|
||||
// <div
|
||||
// className="service-block-one wow fadeInUp animated"
|
||||
// data-wow-delay={`${index * 300}ms`}
|
||||
// data-wow-duration="1500ms"
|
||||
// >
|
||||
// <div className="inner-box">
|
||||
// <div className="image-box">
|
||||
// <figure className="image">
|
||||
// <Link href={`/rehabilitation/${service.slug}`}>
|
||||
// <img src={service.mainImage} alt={service.title} />
|
||||
// </Link>
|
||||
// </figure>
|
||||
// </div>
|
||||
// <div className="lower-content">
|
||||
// <div className="icon-box">
|
||||
// <img
|
||||
// src={service.icon}
|
||||
// alt={`${service.title} Icon`}
|
||||
// />
|
||||
// </div>
|
||||
// <h3>
|
||||
// <Link href={`/rehabilitation/${service.slug}`}>{service.title}</Link>
|
||||
// </h3>
|
||||
// <p>{service.shortDesc}</p>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
// </div>
|
||||
|
||||
<div className="col-lg-3 col-md-4 col-sm-12 service-block d-flex">
|
||||
<div className="service-block-one wow fadeInUp animated d-flex flex-column flex-grow-1" data-wow-delay="00ms" data-wow-duration="1500ms">
|
||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||
<div className="image-box">
|
||||
<figure className="image">
|
||||
<Link href={`/rehabilitation/${service.slug}`}>
|
||||
@ -29,8 +55,8 @@ export default function RehabilitationPage() {
|
||||
</Link>
|
||||
</figure>
|
||||
</div>
|
||||
<div className="lower-content">
|
||||
<div className="icon-box">
|
||||
<div className="lower-content-new">
|
||||
<div className="icon-box-new">
|
||||
<img
|
||||
src={service.icon}
|
||||
alt={`${service.title} Icon`}
|
||||
@ -39,7 +65,18 @@ export default function RehabilitationPage() {
|
||||
<h3>
|
||||
<Link href={`/rehabilitation/${service.slug}`}>{service.title}</Link>
|
||||
</h3>
|
||||
<p>{service.shortDesc}</p>
|
||||
<p
|
||||
className='text-start'
|
||||
style={{
|
||||
overflow: 'hidden',
|
||||
textOverflow: 'ellipsis',
|
||||
display: '-webkit-box',
|
||||
WebkitLineClamp: 2,
|
||||
WebkitBoxOrient: 'vertical',
|
||||
}}
|
||||
>
|
||||
{service.shortDesc}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -4,7 +4,7 @@ import Layout from "@/components/layout/Layout"
|
||||
export const metadata = {
|
||||
title: "What to expect at Physiotherapy Etobicoke - Rapha Physiotherapy etobicoke",
|
||||
description:
|
||||
"On the first day of your visit, you will receive a thorough assessment allows our healthcare professionals to understand your injury to determine how we can help. Following the initial assessment at our physiotherapy clinic etobicoke",
|
||||
"Discover what to expect at Rapha Physiotherapy: from a comprehensive first-day assessment to your initial treatment and long-term plan for lasting recovery.",
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -32,7 +32,7 @@ export default function Team() {
|
||||
<div className="auto-container">
|
||||
<div className="sec-title mb_50">
|
||||
<span className="sub-title">Why Choose Us</span>
|
||||
<h2>We have licensed and experienced therapists with particular interests and expertise in</h2>
|
||||
<h2>We have licensed and experienced therapists with particular interests and expertise in.</h2>
|
||||
</div>
|
||||
<div className="row clearfix">
|
||||
{teamMembers.map((member, index) => (
|
||||
@ -84,11 +84,11 @@ export default function Team() {
|
||||
</div> */}
|
||||
<div className="text-box mb_40">
|
||||
<ul className="list-style-one clearfix">
|
||||
<li>Team of health care professionals – We are a team of health care professionals working together to help get you better, faster. This helps us in rendering our best possible services to our clients</li>
|
||||
<li>Team of health care professionals – We are a team of health care professionals working together to help get you better, faster. This helps us in rendering our best possible services to our clients.</li>
|
||||
<li>Our health care team consists of Physiotherapists, Massage Therapists, acupuncture specialists & other health care professionals, each bringing you their distinctive skills and abilities to assist you in improving your health & providing you with the latest evidence-based treatments.</li>
|
||||
<li>Health insurance – If you have a health insurance, we treat you without asking for an upfront payment. Instead we bill your insurance company directly without creating a hassle for you.</li>
|
||||
<li>Wide range of services and treatments – We offer wide range of unique services such as physiotherapy, sports rehabilitation, acupuncture, manual therapy, motor vehicle accident rehabilitation, work related injury treatments, chronic injury management and other services so we can assist you in recovering to the best possible condition</li>
|
||||
<li>Flexible opening hours – Our clinic is conveniently located in etobicoke and scarborough and provide you the best services even in early mornings and late evenings</li>
|
||||
<li>Wide range of services and treatments – We offer wide range of unique services such as physiotherapy, sports rehabilitation, acupuncture, manual therapy, motor vehicle accident rehabilitation, work related injury treatments, chronic injury management and other services so we can assist you in recovering to the best possible condition.</li>
|
||||
<li>Flexible opening hours – Our clinic is conveniently located in etobicoke and scarborough and provide you the best services even in early mornings and late evenings.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@ -121,7 +121,7 @@ export default function Team() {
|
||||
</div> */}
|
||||
<div className="text-box mb_40">
|
||||
<ul className="list-style-one clearfix">
|
||||
<li>Top-Notch Treatment – Under our care, you will be placed in a supportive and comfortable environment helping you receive care in comfortable and supportive environment designed to address your issues</li>
|
||||
<li>Top-Notch Treatment – Under our care, you will be placed in a supportive and comfortable environment helping you receive care in comfortable and supportive environment designed to address your issues.</li>
|
||||
<li>Personalized Treatment Plan – We offer One-on-one care with a skilled therapist allows us to develop a plan specific to your particular needs results in a faster recovery.</li>
|
||||
<li>We listen & take time – We listen & take time to get to know you properly – Right from the start with your inquiry, we are here to listen and help find the root cause of your problem.</li>
|
||||
<li>Our treatment rooms – Our treatment rooms are fully equipped and private.</li>
|
||||
@ -150,7 +150,7 @@ export default function Team() {
|
||||
</div> */}
|
||||
<p className="inner-box-new-color">Rapha rehab offers patients in etobicoke and scarborough exceptional care with a personalized treatment plan to suit your specific needs. If you are suffering from pain or have recently experienced an injury, our etobicoke and scarborough Physiotherapists will ensure you get back to the activities you enjoy and love. Call us at 647-722-3434 for an appointment today or email us at bloor@rapharehab.ca to book a consultation.</p>
|
||||
<div className="btn-box mt-4">
|
||||
<Link href="tel:647-722-3434" className="theme-btn btn-one-blue">
|
||||
<Link href="/contact" className="theme-btn btn-one-blue">
|
||||
<span>Make an Appointment</span>
|
||||
</Link>
|
||||
</div>
|
||||
|
||||
@ -6,30 +6,36 @@ import axios from "axios";
|
||||
export default function ContactFloat() {
|
||||
const [open, setOpen] = useState(false);
|
||||
const [showChat, setShowChat] = useState(false);
|
||||
const [showSocial, setShowSocial] = useState(false); // 👈 NEW: toggle social icons
|
||||
const [showSocial, setShowSocial] = useState(false);
|
||||
|
||||
/** Contact actions */
|
||||
const extraIcons = [
|
||||
{
|
||||
href: "tel:647-722-3434",
|
||||
src: "/assets/images/icons/call.png",
|
||||
src: "/assets/images/icons/call.webp",
|
||||
label: "Call",
|
||||
newTab: true, // 👈 added
|
||||
newTab: true,
|
||||
},
|
||||
{
|
||||
action: () => setShowChat(true),
|
||||
src: "/assets/images/chat.png",
|
||||
src: "/assets/images/chat.webp",
|
||||
label: "Chat",
|
||||
},
|
||||
{
|
||||
href: "https://wa.me/14379934477",
|
||||
src: "/assets/images/icons/WhatsApp.svg.webp",
|
||||
label: "WhatsApp",
|
||||
newTab: true,
|
||||
},
|
||||
{
|
||||
href: "https://www.instagram.com/elrapharehab/",
|
||||
src: "/assets/images/insta.png",
|
||||
src: "/assets/images/insta.webp",
|
||||
label: "Instagram",
|
||||
newTab: true,
|
||||
},
|
||||
{
|
||||
href: "https://www.facebook.com/ELRaphaRehabCenter/",
|
||||
src: "/assets/images/fb.png",
|
||||
src: "/assets/images/fb.webp",
|
||||
label: "Facebook",
|
||||
newTab: true,
|
||||
},
|
||||
@ -155,7 +161,7 @@ export default function ContactFloat() {
|
||||
src={
|
||||
open
|
||||
? "/assets/images/cancel.png"
|
||||
: "/assets/images/icons/call.png"
|
||||
: "/assets/images/icons/call.webp"
|
||||
}
|
||||
alt="Contact"
|
||||
style={{ width: "28px", height: "28px" }}
|
||||
@ -213,10 +219,10 @@ export default function ContactFloat() {
|
||||
function ChatForm({ onClose }) {
|
||||
const [formData, setFormData] = useState({
|
||||
username: "",
|
||||
lname: "",
|
||||
// lname: "",
|
||||
email: "",
|
||||
phone: "",
|
||||
subject: "",
|
||||
service: "",
|
||||
message: "",
|
||||
});
|
||||
const [formErrors, setFormErrors] = useState({});
|
||||
@ -229,27 +235,33 @@ function ChatForm({ onClose }) {
|
||||
};
|
||||
|
||||
const handleCaptchaChange = (token) => {
|
||||
// console.log("ReCAPTCHA token:", token);
|
||||
setCaptchaToken(token);
|
||||
};
|
||||
|
||||
const handleSubmit = async (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
// console.log("Form submitted:", formData);
|
||||
|
||||
const errors = {};
|
||||
if (!formData.username.trim()) errors.username = "First Name is required.";
|
||||
if (!formData.lname.trim()) errors.lname = "Last Name is required.";
|
||||
// if (!formData.lname.trim()) errors.lname = "Last Name is required.";
|
||||
if (!formData.email.trim()) errors.email = "Email is required.";
|
||||
if (!formData.phone.trim()) errors.phone = "Phone is required.";
|
||||
if (!formData.subject.trim()) errors.subject = "Subject is required.";
|
||||
if (!formData.service.trim()) errors.service = "Please select a service.";
|
||||
if (!formData.message.trim()) errors.message = "Message is required.";
|
||||
if (!captchaToken) errors.captcha = "Please verify the CAPTCHA.";
|
||||
|
||||
setFormErrors(errors);
|
||||
if (Object.keys(errors).length > 0) return;
|
||||
if (Object.keys(errors).length > 0) {
|
||||
// console.log("Form validation errors:", errors);
|
||||
return;
|
||||
}
|
||||
|
||||
const emailData = {
|
||||
...formData,
|
||||
message: `Subject: ${formData.subject}<br /><br />Message: ${formData.message}`,
|
||||
message: `Service: ${formData.service}<br /><br />Message: ${formData.message}`,
|
||||
to: "bloor@rapharehab.ca",
|
||||
senderName: "Rapha Rehab Chat Form",
|
||||
recaptchaToken: captchaToken,
|
||||
@ -260,6 +272,8 @@ function ChatForm({ onClose }) {
|
||||
headers: { "Content-Type": "application/json" },
|
||||
});
|
||||
|
||||
// console.log("Server response:", res.data);
|
||||
|
||||
setAlert({
|
||||
show: true,
|
||||
type: "success",
|
||||
@ -268,15 +282,16 @@ function ChatForm({ onClose }) {
|
||||
|
||||
setFormData({
|
||||
username: "",
|
||||
lname: "",
|
||||
// lname: "",
|
||||
email: "",
|
||||
phone: "",
|
||||
subject: "",
|
||||
service: "",
|
||||
message: "",
|
||||
});
|
||||
setCaptchaToken(null);
|
||||
setFormErrors({});
|
||||
} catch (error) {
|
||||
// console.error("Error sending message:", error);
|
||||
setAlert({
|
||||
show: true,
|
||||
type: "danger",
|
||||
@ -315,14 +330,14 @@ function ChatForm({ onClose }) {
|
||||
<input
|
||||
type="text"
|
||||
name="username"
|
||||
placeholder="First Name"
|
||||
placeholder="Name"
|
||||
value={formData.username}
|
||||
onChange={handleChange}
|
||||
className="form-control mb-2"
|
||||
/>
|
||||
{formErrors.username && <small className="text-danger">{formErrors.username}</small>}
|
||||
|
||||
<input
|
||||
{/* <input
|
||||
type="text"
|
||||
name="lname"
|
||||
placeholder="Last Name"
|
||||
@ -330,17 +345,7 @@ function ChatForm({ onClose }) {
|
||||
onChange={handleChange}
|
||||
className="form-control mb-2"
|
||||
/>
|
||||
{formErrors.lname && <small className="text-danger">{formErrors.lname}</small>}
|
||||
|
||||
<input
|
||||
type="email"
|
||||
name="email"
|
||||
placeholder="Your Email"
|
||||
value={formData.email}
|
||||
onChange={handleChange}
|
||||
className="form-control mb-2"
|
||||
/>
|
||||
{formErrors.email && <small className="text-danger">{formErrors.email}</small>}
|
||||
{formErrors.lname && <small className="text-danger">{formErrors.lname}</small>} */}
|
||||
|
||||
<input
|
||||
type="text"
|
||||
@ -353,14 +358,30 @@ function ChatForm({ onClose }) {
|
||||
{formErrors.phone && <small className="text-danger">{formErrors.phone}</small>}
|
||||
|
||||
<input
|
||||
type="text"
|
||||
name="subject"
|
||||
placeholder="Subject"
|
||||
value={formData.subject}
|
||||
type="email"
|
||||
name="email"
|
||||
placeholder="Your Email"
|
||||
value={formData.email}
|
||||
onChange={handleChange}
|
||||
className="form-control mb-2"
|
||||
/>
|
||||
{formErrors.subject && <small className="text-danger">{formErrors.subject}</small>}
|
||||
{formErrors.email && <small className="text-danger">{formErrors.email}</small>}
|
||||
|
||||
<select
|
||||
name="service"
|
||||
value={formData.service}
|
||||
onChange={handleChange}
|
||||
className="form-control mb-2"
|
||||
>
|
||||
<option value="">Select Service</option>
|
||||
<option value="Physio">Physio</option>
|
||||
<option value="Chiro">Chiro</option>
|
||||
<option value="Massage">Massage</option>
|
||||
<option value="Acupuncture">Acupuncture</option>
|
||||
<option value="Osteo">Osteo</option>
|
||||
<option value="Orthotics">Orthotics</option>
|
||||
</select>
|
||||
{formErrors.service && <small className="text-danger">{formErrors.service}</small>}
|
||||
|
||||
<textarea
|
||||
name="message"
|
||||
@ -373,7 +394,7 @@ function ChatForm({ onClose }) {
|
||||
|
||||
<div className="mb-2">
|
||||
<ReCAPTCHA
|
||||
sitekey="6LekfpwrAAAAAOTwuP1d2gg-Fv9UEsAjE2gjOQJl"
|
||||
sitekey="6Lckq9MrAAAAABjBD9rQYm19BMGFFWiwb9mPiw2K"
|
||||
onChange={handleCaptchaChange}
|
||||
/>
|
||||
{formErrors.captcha && <small className="text-danger">{formErrors.captcha}</small>}
|
||||
|
||||
@ -9,7 +9,6 @@ const WOW = dynamic(() => import('wowjs/dist/wow'));
|
||||
import BackToTop from '../elements/BackToTop';
|
||||
import DataBg from "../elements/DataBg";
|
||||
import Breadcrumb from './Breadcrumb';
|
||||
import SearchPopup from "./SearchPopup";
|
||||
import Sidebar from "./Sidebar";
|
||||
import Footer1 from './footer/Footer1';
|
||||
import Footer2 from './footer/Footer2';
|
||||
@ -57,7 +56,6 @@ export default function Layout({ headerStyle, footerStyle, headTitle, breadcrumb
|
||||
{headerStyle === 4 && <Header4 scroll={scroll} isMobileMenu={isMobileMenu} handleMobileMenu={handleMobileMenu} handlePopup={handlePopup} isSidebar={isSidebar} handleSidebar={handleSidebar} />}
|
||||
|
||||
<Sidebar isSidebar={isSidebar} handleSidebar={handleSidebar} />
|
||||
<SearchPopup isPopup={isPopup} handlePopup={handlePopup} />
|
||||
|
||||
{breadcrumbTitle && (
|
||||
<Breadcrumb breadcrumbTitle={breadcrumbTitle} bannerImage={bannerImage} />
|
||||
|
||||
@ -193,7 +193,7 @@ export default function MobileMenu({ isSidebar, handleMobileMenu, handleSidebar
|
||||
<div className="contact-info">
|
||||
<h4>Contact Info</h4>
|
||||
<ul>
|
||||
<li>6 – 4335 Bloor Street West Etobicoke, M9C5S2</li>
|
||||
<li>5 – 4335 Bloor Street West Etobicoke, M9C 2A5</li>
|
||||
<li>
|
||||
<Link href="tel:+647-722-3434, +416-622-2873" onClick={closeMenu}>
|
||||
+647-722-3434, +416-622-2873
|
||||
|
||||
@ -1,33 +0,0 @@
|
||||
import Link from "next/link"
|
||||
|
||||
export default function SearchPopup({ isPopup, handlePopup }) {
|
||||
return (
|
||||
<>
|
||||
<div id="search-popup" className={`search-popup ${isPopup ? "popup-visible" : ""}`}>
|
||||
<div className="popup-inner">
|
||||
<div className="upper-box clearfix">
|
||||
<div className="close-search pull-right" onClick={handlePopup}>
|
||||
<span className="far fa-times"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div className="overlay-layer"></div>
|
||||
<div className="auto-container">
|
||||
<div className="search-form">
|
||||
<form method="post" action="index.html">
|
||||
<div className="form-group">
|
||||
<fieldset>
|
||||
<input type="search" className="form-control" name="search-input" placeholder="Search Here" required />
|
||||
<button type="submit">
|
||||
<i className="far fa-search"></i>
|
||||
</button>
|
||||
</fieldset>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</>
|
||||
)
|
||||
}
|
||||
@ -26,7 +26,7 @@ export default function Sidebar({ isSidebar, handleSidebar }) {
|
||||
<h4>About Us</h4>
|
||||
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi</p>
|
||||
<p>Research oriented solutions for Data Science and Machine Learning business needs.</p>
|
||||
<Link href="about.html" className="theme-btn btn-one"><span>About Us</span></Link>
|
||||
<Link href="#" className="theme-btn btn-one"><span>About Us</span></Link>
|
||||
</div>
|
||||
<div className="contact-info">
|
||||
<h4>Contact Info</h4>
|
||||
@ -37,10 +37,10 @@ export default function Sidebar({ isSidebar, handleSidebar }) {
|
||||
</ul>
|
||||
</div>
|
||||
<ul className="social-box">
|
||||
<li><Link href="index-2.html"><i className="icon-4"></i></Link></li>
|
||||
<li><Link href="index-2.html"><i className="icon-5"></i></Link></li>
|
||||
<li><Link href="index-2.html"><i className="icon-6"></i></Link></li>
|
||||
<li><Link href="index-2.html"><i className="icon-7"></i></Link></li>
|
||||
<li><Link href="#"><i className="icon-4"></i></Link></li>
|
||||
<li><Link href="#"><i className="icon-5"></i></Link></li>
|
||||
<li><Link href="#"><i className="icon-6"></i></Link></li>
|
||||
<li><Link href="#"><i className="icon-7"></i></Link></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -9,7 +9,7 @@ export default function Footer2() {
|
||||
const servicesCols = [
|
||||
servicesList.slice(0, 13),
|
||||
servicesList.slice(13, 25),
|
||||
servicesList.slice(25, 36),
|
||||
servicesList.slice(25, 37),
|
||||
];
|
||||
|
||||
|
||||
@ -158,7 +158,7 @@ export default function Footer2() {
|
||||
<img
|
||||
src="/assets/images/icons/icon-1.png"
|
||||
alt="location"
|
||||
/>6 – 4335 Bloor Street West Etobicoke, M9C5S2
|
||||
/>5 – 4335 Bloor Street West Etobicoke, M9C 2A5
|
||||
</li>
|
||||
<li>
|
||||
<i className="icon-2"></i>
|
||||
|
||||
@ -9,7 +9,7 @@ export default function Footer2() {
|
||||
const servicesCols = [
|
||||
servicesList.slice(0, 13),
|
||||
servicesList.slice(13, 25),
|
||||
servicesList.slice(25, 36),
|
||||
servicesList.slice(25, 37),
|
||||
];
|
||||
|
||||
|
||||
@ -158,7 +158,7 @@ export default function Footer2() {
|
||||
<img
|
||||
src="/assets/images/icons/icon-1.png"
|
||||
alt="location"
|
||||
/>6 – 4335 Bloor Street West Etobicoke, M9C5S2
|
||||
/>5 – 4335 Bloor Street West Etobicoke, M9C 2A5
|
||||
</li>
|
||||
<li>
|
||||
<i className="icon-2"></i>
|
||||
|
||||
@ -14,7 +14,7 @@ export default function Header1({ scroll, isMobileMenu, handleMobileMenu, isSide
|
||||
<ul className="info-list clearfix">
|
||||
<li>
|
||||
<img
|
||||
src="/assets/images/icons/call.png"
|
||||
src="/assets/images/icons/call.webp"
|
||||
alt="Phone"
|
||||
style={{ marginRight: "8px" }}
|
||||
className="red-icon"
|
||||
@ -46,7 +46,7 @@ export default function Header1({ scroll, isMobileMenu, handleMobileMenu, isSide
|
||||
|
||||
<ul className="social-links clearfix">
|
||||
<li><Link href="/why-rapha-physiotherapy-etobicoke">Why Us</Link></li>
|
||||
<li><Link href="/faq-physiotherapy-etobicoke">Faq</Link></li>
|
||||
<li><Link href="/faq-physiotherapy-etobicoke">FAQ’s</Link></li>
|
||||
<li><Link href="/what-to-expect">What To Expect</Link></li>
|
||||
<li><Link href="/payment-insurance">Payment And Insurance</Link></li>
|
||||
{/* <li><Link href="/refugee-physiotherapy">Refugee Physiotherapy</Link></li> */}
|
||||
|
||||
@ -22,7 +22,7 @@ export default function Header2({
|
||||
<ul className="info-list clearfix">
|
||||
<li>
|
||||
<img
|
||||
src="/assets/images/icons/call.png"
|
||||
src="/assets/images/icons/call.webp"
|
||||
alt="Phone"
|
||||
className="contact-icon"
|
||||
/>
|
||||
@ -30,7 +30,7 @@ export default function Header2({
|
||||
</li>
|
||||
<li>
|
||||
<img
|
||||
src="/assets/images/icons/mail.png"
|
||||
src="/assets/images/icons/mail.webp"
|
||||
alt="Mail"
|
||||
className="contact-icon"
|
||||
/>
|
||||
@ -40,7 +40,7 @@ export default function Header2({
|
||||
|
||||
<ul className="social-links clearfix">
|
||||
<li><Link href="/why-rapha-physiotherapy-etobicoke">Why Us</Link></li>
|
||||
<li><Link href="/faq-physiotherapy-etobicoke">Faq</Link></li>
|
||||
<li><Link href="/faq-physiotherapy-etobicoke">FAQ’s</Link></li>
|
||||
<li><Link href="/what-to-expect">What To Expect</Link></li>
|
||||
<li><Link href="/payment-insurance">Payment And Insurance</Link></li>
|
||||
{/* <li><Link href="/refugee-physiotherapy">Refugee Physiotherapy</Link></li> */}
|
||||
|
||||
@ -1,65 +1,144 @@
|
||||
import Link from 'next/link';
|
||||
import React from 'react';
|
||||
import Image from "next/image";
|
||||
import Link from "next/link";
|
||||
import React from "react";
|
||||
|
||||
export default function AboutSection() {
|
||||
return (
|
||||
<section className="about-style-two pt_90 pb_90">
|
||||
<div className="pattern-layer">
|
||||
<div className="pattern-1 rotate-me" style={{ backgroundImage: 'url(/assets/images/shape/shape-8.webp)' }}></div>
|
||||
<div className="pattern-2 rotate-me" style={{ backgroundImage: 'url(/assets/images/shape/shape-9.webp)' }}></div>
|
||||
<div className="pattern-3" style={{ backgroundImage: 'url(/assets/images/shape/shape-11.webp)' }}></div>
|
||||
</div>
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 image-column">
|
||||
<div className="image_block_one">
|
||||
<div className="image-box">
|
||||
{/* <div className="shape float-bob-x" style={{ backgroundImage: 'url(/assets/images/shape/shape-7.webp)' }}></div> */}
|
||||
<div className="image-shape" style={{ backgroundImage: 'url(/assets/images/shape/shape-26.png)' }}></div>
|
||||
<figure className="image-2"><img src="/assets/images/home/welcome/home-welcome.webp" alt="Physiotherapy" /></figure>
|
||||
<div className="icon-one"><img src="/assets/images/home/welcome/top-icon.webp" alt="Physiotherapy icon" /></div>
|
||||
<div className="icon-two"><img src="/assets/images/home/welcome/bottom-icon.webp" alt="Physiotherapy icon" /></div>
|
||||
{/* <div className="text-box">
|
||||
<h3>Wade Warren</h3>
|
||||
<span>Medical Assistant</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
||||
<div className="content_block_one">
|
||||
<div className="content-box ml_30">
|
||||
<div className="sec-title mb_15">
|
||||
<span className="sub-title">Welcome to Rapha Rehab</span>
|
||||
<h2>Your Trusted Etobicoke Physiotherapy Clinic!</h2>
|
||||
</div>
|
||||
<div className="text-box mb_40">
|
||||
<p>At Rapha Rehab, we specialize in evidence-based physiotherapy tailored to your needs. Our expert care helps you recover, relieve pain, and regain strength for a better quality of life.</p>
|
||||
<ul className="list-style-one clearfix">
|
||||
<li>Chronic pain (back, neck, joints).</li>
|
||||
<li>Sports injuries (sprains, strains, post-surgery rehab).</li>
|
||||
<li>Work-related injuries (WCB claims supported).</li>
|
||||
<li>Movement disorders (stroke rehab, mobility issues).</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div className="btn-box">
|
||||
<Link href="/etobicoke-treatment-service" className="theme-btn btn-one"><span>Explore Our Service</span></Link>
|
||||
</div>
|
||||
{/* <div className="lower-box">
|
||||
<div className="experience-box">
|
||||
<div className="icon-box"><i className="icon-29"></i></div>
|
||||
<h3>32 Years</h3>
|
||||
<span className="designation">Of Medical Experience</span>
|
||||
</div>
|
||||
<figure className="author-thumb"><img src="assets/images/resource/author-1.jpg" alt="" /></figure>
|
||||
<div className="signature"><img src="assets/images/icons/signature-1.png" alt="" /></div>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
};
|
||||
return (
|
||||
<section className="about-style-two pt_90 pb_90 relative overflow-hidden">
|
||||
{/* Pattern Layers with fixed sizes */}
|
||||
<div className="pattern-layer">
|
||||
<div className="pattern-1 rotate-me absolute w-[120px] h-[120px]">
|
||||
<Image
|
||||
src="/assets/images/shape/shape-8.webp"
|
||||
alt="Decorative shape"
|
||||
fill
|
||||
sizes="120px"
|
||||
style={{ objectFit: "contain" }}
|
||||
priority={false}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="pattern-2 rotate-me absolute w-[140px] h-[140px]">
|
||||
<Image
|
||||
src="/assets/images/shape/shape-9.webp"
|
||||
alt="Decorative shape"
|
||||
fill
|
||||
sizes="140px"
|
||||
style={{ objectFit: "contain" }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div className="pattern-3 absolute w-[150px] h-[150px]">
|
||||
<Image
|
||||
src="/assets/images/shape/shape-11.webp"
|
||||
alt="Decorative shape"
|
||||
fill
|
||||
sizes="150px"
|
||||
style={{ objectFit: "contain" }}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
{/* Image Column */}
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 image-column">
|
||||
<div className="image_block_one relative">
|
||||
<div className="image-box relative">
|
||||
{/* Background Shape */}
|
||||
<div className="image-shape absolute inset-0 -z-10 w-[600px] h-[500px]">
|
||||
<Image
|
||||
src="/assets/images/shape/shape-26.webp"
|
||||
alt="Background shape"
|
||||
fill
|
||||
sizes="50vw"
|
||||
style={{ objectFit: "contain" }}
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Main Hero Image (LCP) */}
|
||||
<figure className="image-2 relative min-h-[420px]">
|
||||
<Image
|
||||
src="/assets/images/home/welcome/home-welcome.webp"
|
||||
alt="Physiotherapy"
|
||||
width={600}
|
||||
height={420}
|
||||
priority
|
||||
sizes="(max-width: 768px) 100vw, 50vw"
|
||||
placeholder="blur"
|
||||
blurDataURL="/assets/images/home/welcome/home-welcome-blur.webp"
|
||||
style={{
|
||||
borderRadius: "8px",
|
||||
width: "100%",
|
||||
height: "auto",
|
||||
}}
|
||||
/>
|
||||
</figure>
|
||||
|
||||
{/* Top Icon */}
|
||||
<div className="icon-one absolute top-0 left-0 w-[40px] h-[40px]">
|
||||
<Image
|
||||
src="/assets/images/home/welcome/top-icon.webp"
|
||||
alt="Top decorative icon"
|
||||
fill
|
||||
sizes="40px"
|
||||
style={{ objectFit: "contain" }}
|
||||
loading="lazy"
|
||||
/>
|
||||
</div>
|
||||
|
||||
{/* Bottom Icon */}
|
||||
<div className="icon-two absolute bottom-0 right-0 w-[40px] h-[40px]">
|
||||
<Image
|
||||
src="/assets/images/home/welcome/bottom-icon.webp"
|
||||
alt="Bottom decorative icon"
|
||||
fill
|
||||
sizes="40px"
|
||||
style={{ objectFit: "contain" }}
|
||||
loading="lazy"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/* Content Column */}
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
||||
<div className="content_block_one">
|
||||
<div className="content-box ml_30">
|
||||
<div className="sec-title mb_15">
|
||||
<span className="sub-title">Welcome to Rapha Rehab</span>
|
||||
<h2>Your Trusted Etobicoke Physiotherapy Clinic!</h2>
|
||||
</div>
|
||||
|
||||
<div className="text-box mb_40">
|
||||
<p>
|
||||
At Rapha Rehab, we specialize in evidence-based
|
||||
physiotherapy tailored to your needs. Our expert care helps
|
||||
you recover, relieve pain, and regain strength for a better
|
||||
quality of life.
|
||||
</p>
|
||||
<ul className="list-style-one clearfix">
|
||||
<li>Chronic pain (back, neck, joints).</li>
|
||||
<li>Sports injuries (sprains, strains, post-surgery rehab).</li>
|
||||
<li>Work-related injuries (WCB claims supported).</li>
|
||||
<li>Movement disorders (stroke rehab, mobility issues).</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div className="btn-box">
|
||||
<Link
|
||||
href="/etobicoke-treatment-service"
|
||||
className="theme-btn btn-one"
|
||||
>
|
||||
<span>Explore Our Service</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
@ -35,7 +35,9 @@ export default function AreaOfInjury() {
|
||||
<div className="row clearfix">
|
||||
{areaOfInjuryData.slice(0, 8).map((area, index) => (
|
||||
<div key={index} className="col-lg-3 col-md-6 col-6 team-block d-flex">
|
||||
<div className="team-block-one wow fadeInUp animated d-flex flex-column flex-grow-1" data-wow-delay={`${index * 200}ms`} data-wow-duration="1500ms">
|
||||
<div className="team-block-one wow fadeInUp animated d-flex flex-column flex-grow-1"
|
||||
// data-wow-delay={`${index * 50}ms`} data-wow-duration="500ms"
|
||||
>
|
||||
<div className="inner-box d-flex flex-column flex-grow-1">
|
||||
<div className="image-box">
|
||||
<figure className="image">
|
||||
|
||||
@ -3,7 +3,7 @@ import CounterUp from "@/components/elements/CounterUp"
|
||||
export default function CounterSection() {
|
||||
return (
|
||||
<>
|
||||
<section className="funfact-section centred" style={{paddingTop:"30px"}}>
|
||||
<section className="funfact-section centred" style={{paddingTop:"30px",paddingBottom:"70px"}}>
|
||||
<div className="auto-container">
|
||||
<div className="inner-container">
|
||||
<div className="row clearfix">
|
||||
|
||||
@ -6,10 +6,10 @@ export default function MobileServices() {
|
||||
return (
|
||||
<>
|
||||
<section className="team-section sec-pad centred bg-color-1">
|
||||
<div className="pattern-layer">
|
||||
<div className="pattern-1" style={{ backgroundImage: 'url(/assets/images/home/our-services/top-right.webp)' }}></div>
|
||||
<div className="pattern-2" style={{ backgroundImage: 'url(/assets/images/home/our-services/bottom-left.webp)' }}></div>
|
||||
</div>
|
||||
<div className="pattern-layer">
|
||||
<div className="pattern-1" style={{ backgroundImage: 'url(/assets/images/home/our-services/top-right.webp)' }}></div>
|
||||
<div className="pattern-2" style={{ backgroundImage: 'url(/assets/images/home/our-services/bottom-left.webp)' }}></div>
|
||||
</div>
|
||||
<div className="auto-container">
|
||||
<div className="sec-title mb_50 centred">
|
||||
<span className="sub-title-1 new-color2">We Help You Move Better & <br />Live Healthier</span>
|
||||
@ -27,7 +27,7 @@ export default function MobileServices() {
|
||||
src={service.icon2}
|
||||
alt={`${service.alt}`}
|
||||
/>
|
||||
</div> <h3><Link href="/"> {service?.title}</Link></h3>
|
||||
</div> <h3><Link href="/"> {service?.shortTitle}</Link></h3>
|
||||
<div className="btn-box">
|
||||
<Link
|
||||
href={`/etobicoke-treatment-service/${service.slug}`}
|
||||
|
||||
@ -32,7 +32,7 @@ export default function ServicesSection() {
|
||||
</div>
|
||||
<h3 className='text-start'>
|
||||
<Link href={`/etobicoke-treatment-service/${service.slug}`}>
|
||||
{service?.title}
|
||||
{service?.shortTitle}
|
||||
</Link>
|
||||
</h3>
|
||||
<p
|
||||
|
||||
@ -5,7 +5,7 @@ export default function WhyChooseUsSection() {
|
||||
return (
|
||||
<section className="chooseus-section">
|
||||
<div className="bg-layer" style={{ backgroundImage: 'url(/assets/images/home/why-choose/why-choose-right.webp)' }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: 'url(/assets/images/shape/shape-12.png)' }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: 'url(/assets/images/shape/shape-12.webp)' }}></div>
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-8 col-md-12 col-sm-12 content-column">
|
||||
@ -21,7 +21,7 @@ export default function WhyChooseUsSection() {
|
||||
<div className="inner-box">
|
||||
<div className="icon-box"><img src="/assets/images/home/why-choose/expert-team.webp" alt="Expert Team" /></div>
|
||||
<h3>Expert Team</h3>
|
||||
<p>At Etobicoke Physiotherapy, we have expert team of professionals</p>
|
||||
<p>At Etobicoke Physiotherapy, we have expert team of professionals.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -30,7 +30,7 @@ export default function WhyChooseUsSection() {
|
||||
<div className="inner-box">
|
||||
<div className="icon-box"><img src="/assets/images/home/why-choose/understand.webp" alt="Understand your Pain" /></div>
|
||||
<h3>Understand your Pain</h3>
|
||||
<p>Etobicoke physiotherapy offer Treatment for faster recovery</p>
|
||||
<p>Etobicoke physiotherapy offer Treatment for faster recovery.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -39,7 +39,7 @@ export default function WhyChooseUsSection() {
|
||||
<div className="inner-box">
|
||||
<div className="icon-box"><img src="/assets/images/home/why-choose/ready.webp" alt="Ready To Go" /></div>
|
||||
<h3>Ready To Go</h3>
|
||||
<p>Flexible opening hours conveniently located in etobicoke</p>
|
||||
<p>Flexible opening hours conveniently located in etobicoke.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,28 +1,48 @@
|
||||
import TestimonialSlider1 from '@/components/slider/TestimonialSlider1'
|
||||
import Link from "next/link";
|
||||
|
||||
export default function Testimonial() {
|
||||
return (
|
||||
<>
|
||||
|
||||
<section className="testimonial-section sec-pad bg-color-1">
|
||||
<div className="bg-layer" style={{ backgroundImage: 'url(/assets/images/home/testimonial-left.webp)' }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: 'url(/assets/images/shape/shape-21.webp)' }}></div>
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-xl-6 col-lg-12 col-md-12 offset-xl-6 content-column">
|
||||
<div className="content-box p_relative ml_45">
|
||||
<div className="sec-title-1 mb_50">
|
||||
<span className="sub-title-1">Testimonials</span>
|
||||
<h2>What Our Clients Say About Rapha Rehab</h2>
|
||||
</div>
|
||||
<div className="content-box">
|
||||
<TestimonialSlider1 />
|
||||
<div className="bg-layer" style={{ backgroundImage: 'url(/assets/images/home/testimonial-left.webp)' }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: 'url(/assets/images/shape/shape-21.webp)' }}></div>
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-xl-6 col-lg-12 col-md-12 offset-xl-6 content-column">
|
||||
<div className="content-box p_relative ml_45">
|
||||
<div className="sec-title-1 mb_50">
|
||||
<span className="sub-title-1 mb-1">Google Reviews</span>
|
||||
|
||||
{/* Exact same stars as testimonial */}
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star-half-alt"></i></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2>What Our Clients Say About Rapha Rehab</h2>
|
||||
</div>
|
||||
<div className="content-box">
|
||||
<TestimonialSlider1 />
|
||||
</div>
|
||||
<div className="btn-box mt-3 mb-5">
|
||||
<Link
|
||||
href="https://g.page/r/CYOR2OnruwHpEAE/review"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
className="theme-btn btn-one-new-raw"
|
||||
>
|
||||
<span>Review us on Google</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</>
|
||||
)
|
||||
|
||||
@ -12,14 +12,14 @@ export default function Video() {
|
||||
<div className="auto-container">
|
||||
<div className="inner-box">
|
||||
{/* <div className="shape" style={{ backgroundImage: 'url(/assets/images/shape/shape-17.png)' }}></div> */}
|
||||
<div className="video-btn">
|
||||
{/* <div className="video-btn">
|
||||
<a onClick={() => setOpen(true)}><i className="fas fa-play"></i>
|
||||
<span className="border-animation border-1"></span>
|
||||
<span className="border-animation border-2"></span>
|
||||
<span className="border-animation border-3"></span>
|
||||
</a>
|
||||
</div>
|
||||
<h2>Expert Online Consultations <br />with Certified Doctors</h2>
|
||||
</div> */}
|
||||
<h2>Expert Online Consultations <br />with our therapists.</h2>
|
||||
<div className="btn-box">
|
||||
<Link href="/contact" className="theme-btn btn-one"><span>Schedule Your Consultation</span></Link>
|
||||
</div>
|
||||
|
||||
@ -5,7 +5,7 @@ export default function chooseus() {
|
||||
return (
|
||||
<section className="chooseus-section">
|
||||
<div className="bg-layer" style={{ backgroundImage: 'url(assets/images/background/chooseus-bg.jpg)' }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: 'url(assets/images/shape/shape-12.png)' }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: 'url(assets/images/shape/shape-12.webp)' }}></div>
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-8 col-md-12 col-sm-12 content-column">
|
||||
|
||||
@ -14,7 +14,7 @@ export default function About() {
|
||||
<div className="image_block_one">
|
||||
<div className="image-box">
|
||||
<div className="shape float-bob-x" style={{ backgroundImage: 'url(assets/images/shape/shape-7.png)' }}></div>
|
||||
<div className="image-shape" style={{ backgroundImage: 'url(assets/images/shape/shape-26.png)' }}></div>
|
||||
<div className="image-shape" style={{ backgroundImage: 'url(assets/images/shape/shape-26.webp)' }}></div>
|
||||
<figure className="image-2"><img src="assets/images/resource/about-1.png" alt="" /></figure>
|
||||
<div className="icon-one"><i className="icon-13"></i></div>
|
||||
<div className="icon-two"><i className="icon-14"></i></div>
|
||||
|
||||
@ -1,216 +1,161 @@
|
||||
'use client'
|
||||
import React, { useState } from 'react';
|
||||
import Link from "next/link";
|
||||
import { Autoplay, Navigation, Pagination } from "swiper/modules";
|
||||
import { Swiper, SwiperSlide } from "swiper/react";
|
||||
import { motion, AnimatePresence } from "framer-motion";
|
||||
"use client"
|
||||
import React, { useState } from "react"
|
||||
import Link from "next/link"
|
||||
import { useKeenSlider } from "keen-slider/react"
|
||||
import "keen-slider/keen-slider.min.css"
|
||||
|
||||
import "swiper/css";
|
||||
import "swiper/css/navigation";
|
||||
import "swiper/css/pagination";
|
||||
|
||||
const swiperOptions = {
|
||||
modules: [Autoplay, Pagination, Navigation],
|
||||
slidesPerView: 1,
|
||||
spaceBetween: 0,
|
||||
autoplay: {
|
||||
delay: 5000,
|
||||
disableOnInteraction: false,
|
||||
pauseOnMouseEnter: true, // stops on hover for smooth UX
|
||||
},
|
||||
speed: 1500, // increase speed for smoother sliding
|
||||
loop: true,
|
||||
navigation: {
|
||||
nextEl: '.h1n',
|
||||
prevEl: '.h1p',
|
||||
},
|
||||
pagination: {
|
||||
el: '.swiper-pagination',
|
||||
clickable: true,
|
||||
},
|
||||
effect: "slide", // ensures smooth slide effect
|
||||
};
|
||||
|
||||
const variants = {
|
||||
topToBottom: {
|
||||
initial: { y: '-100vh', opacity: 0 },
|
||||
animate: { y: 0, opacity: 1 },
|
||||
exit: { y: '100vh', opacity: 0 }
|
||||
},
|
||||
bottomToTop: {
|
||||
initial: { y: '100vh', opacity: 0 },
|
||||
animate: { y: 0, opacity: 1 },
|
||||
exit: { y: '-100vh', opacity: 0 }
|
||||
},
|
||||
leftToRight: {
|
||||
initial: { x: '-100vw', opacity: 0 },
|
||||
animate: { x: 0, opacity: 1 },
|
||||
exit: { x: '100vw', opacity: 0 }
|
||||
},
|
||||
rightToLeft: {
|
||||
initial: { x: '100vw', opacity: 0 },
|
||||
animate: { x: 0, opacity: 1 },
|
||||
exit: { x: '-100vw', opacity: 0 }
|
||||
},
|
||||
};
|
||||
|
||||
const transition = {
|
||||
type: "tween",
|
||||
ease: [0.4, 0.0, 0.2, 1],
|
||||
duration: 1.2
|
||||
};
|
||||
// Autoplay plugin
|
||||
function AutoplaySlider(slider) {
|
||||
let timeout
|
||||
let mouseOver = false
|
||||
function clearNextTimeout() {
|
||||
clearTimeout(timeout)
|
||||
}
|
||||
function nextTimeout() {
|
||||
clearTimeout(timeout)
|
||||
if (mouseOver) return
|
||||
timeout = setTimeout(() => {
|
||||
slider.next()
|
||||
}, 4000)
|
||||
}
|
||||
slider.on("created", () => {
|
||||
slider.container.addEventListener("mouseover", () => {
|
||||
mouseOver = true
|
||||
clearNextTimeout()
|
||||
})
|
||||
slider.container.addEventListener("mouseout", () => {
|
||||
mouseOver = false
|
||||
nextTimeout()
|
||||
})
|
||||
nextTimeout()
|
||||
})
|
||||
slider.on("dragStarted", clearNextTimeout)
|
||||
slider.on("animationEnded", nextTimeout)
|
||||
slider.on("updated", nextTimeout)
|
||||
}
|
||||
|
||||
export default function Banner() {
|
||||
const [activeIndex, setActiveIndex] = useState(0);
|
||||
const [isAnimating, setIsAnimating] = useState(false);
|
||||
const [sliderLoaded, setSliderLoaded] = useState(false)
|
||||
|
||||
const handleSlideChange = (swiper) => {
|
||||
setIsAnimating(true);
|
||||
setActiveIndex(swiper.realIndex || 0);
|
||||
setTimeout(() => setIsAnimating(false), 1200);
|
||||
};
|
||||
const [sliderRef] = useKeenSlider(
|
||||
{
|
||||
loop: true,
|
||||
renderMode: "performance",
|
||||
slides: { perView: 1, spacing: 0 },
|
||||
duration: 1000, // increase for smoother transition
|
||||
easing: (t) => t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2, // smooth cubic easing
|
||||
created() {
|
||||
setSliderLoaded(true)
|
||||
},
|
||||
},
|
||||
[AutoplaySlider]
|
||||
)
|
||||
|
||||
|
||||
const slides = [
|
||||
{
|
||||
id: 0,
|
||||
bg: "/assets/images/banner/desktopBanner/banner-4.webp",
|
||||
upper: "Begin your",
|
||||
title: "Recovery",
|
||||
desc: "• Rehab • Strength Training • Personalized Care",
|
||||
btn: { text: "Visit Our Location", link: "/contact" },
|
||||
align: "start",
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
bg: "/assets/images/banner/desktopBanner/banner-1.webp",
|
||||
upper: "Build Your Strength &",
|
||||
title: "Endurance",
|
||||
desc: "• Physiotherapy • Sports Therapy • Injury Prevention",
|
||||
btn: { text: "Book Your Appointment", link: "tel:+647-722-3434" },
|
||||
align: "center",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
bg: "/assets/images/banner/desktopBanner/banner-3.webp",
|
||||
upper: "Regain Your Strength",
|
||||
title: "Heal",
|
||||
desc: "• Pain Relief • Mobility • Wellness",
|
||||
btn: { text: "Schedule a Massage", link: "/contact" },
|
||||
align: "start",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
bg: "/assets/images/banner/desktopBanner/banner-2.webp",
|
||||
upper: "Build your Core",
|
||||
title: "Performance",
|
||||
desc: "• Pain Relief • Active Care • Long-Term Result",
|
||||
btn: { text: "Explore Our Service", link: "/etobicoke-treatment-service" },
|
||||
align: "space-evenly",
|
||||
},
|
||||
]
|
||||
|
||||
return (
|
||||
<section className="banner-style-two p_relative">
|
||||
<Swiper
|
||||
{...swiperOptions}
|
||||
className="banner-carousel owl-theme owl-carousel owl-nav-none owl-dots-none"
|
||||
onSwiper={(swiper) => setActiveIndex(swiper.realIndex || 0)}
|
||||
onSlideChange={handleSlideChange}
|
||||
<div
|
||||
ref={sliderRef}
|
||||
className="keen-slider"
|
||||
style={{ opacity: sliderLoaded ? 1 : 0, transition: "opacity 0.5s ease" }}
|
||||
>
|
||||
{/* Slide 1 */}
|
||||
<SwiperSlide>
|
||||
<AnimatePresence mode="wait">
|
||||
{activeIndex === 0 && (
|
||||
<motion.div
|
||||
key="slide-0"
|
||||
className="slide-item banner-slide"
|
||||
variants={variants.topToBottom}
|
||||
initial="initial"
|
||||
animate="animate"
|
||||
exit="exit"
|
||||
transition={transition}
|
||||
{slides.map((s) => (
|
||||
<div
|
||||
key={s.id}
|
||||
className="keen-slider__slide"
|
||||
style={{
|
||||
minHeight: "600px",
|
||||
width: "100%",
|
||||
backgroundImage: `url(${s.bg})`,
|
||||
backgroundSize: "cover",
|
||||
backgroundPosition: "center",
|
||||
display: "flex",
|
||||
alignItems: "end",
|
||||
justifyContent:
|
||||
s.align === "start"
|
||||
? "flex-start"
|
||||
: s.align === "end"
|
||||
? "flex-end"
|
||||
: s.align === "center"
|
||||
? "center"
|
||||
: s.align === "space-between"
|
||||
? "space-between"
|
||||
: s.align === "space-evenly"
|
||||
? "space-evenly"
|
||||
: "center",
|
||||
padding: "0 150px 40px",
|
||||
}}
|
||||
>
|
||||
<div
|
||||
className="content-box custom-content-box"
|
||||
style={{
|
||||
color: "#bc0000",
|
||||
textAlign:
|
||||
s.align === "space-between" || s.align === "space-evenly"
|
||||
? "center"
|
||||
: s.align,
|
||||
padding: "450px 0px 220px 0px",
|
||||
}}
|
||||
>
|
||||
<span className="upper-text mb-2" style={{ fontSize: "22px" }}>{s.upper}</span>
|
||||
<h1
|
||||
style={{
|
||||
color: "#bc0000",
|
||||
fontWeight: "bold",
|
||||
fontSize: "64px",
|
||||
}}
|
||||
>
|
||||
<div className="bg-layer bg-slide-0"
|
||||
style={{ backgroundImage: 'url(/assets/images/banner/desktopBanner/banner-1.png)' }}>
|
||||
</div>
|
||||
<div className="auto-container" style={{ height: "600px", display: "flex", alignItems: "end", justifyContent: "end", textAlign: "center" }}>
|
||||
<div className="content-box custom-content-box">
|
||||
<span className="upper-text mb-2 ">Renew your</span>
|
||||
<h2 style={{ color: "#bc0000" }}>STRENGTH</h2>
|
||||
<p className=' text-white'>• Physiotherapy • Sports Therapy • Injury Prevention</p>
|
||||
<div className="btn-box mt-3">
|
||||
<Link href="tel:+647-722-3434" className="theme-btn btn-one">
|
||||
<span>Book Your Appointment</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
)}
|
||||
</AnimatePresence>
|
||||
</SwiperSlide>
|
||||
|
||||
{/* Slide 2 */}
|
||||
<SwiperSlide>
|
||||
<AnimatePresence mode="wait">
|
||||
{activeIndex === 1 && (
|
||||
<motion.div
|
||||
key="slide-1"
|
||||
className="slide-item banner-slide"
|
||||
variants={variants.bottomToTop}
|
||||
initial="initial"
|
||||
animate="animate"
|
||||
exit="exit"
|
||||
transition={transition}
|
||||
>
|
||||
<div className="bg-layer"
|
||||
style={{ backgroundImage: 'url(/assets/images/banner/desktopBanner/banner-2.png)' }}>
|
||||
</div>
|
||||
<div className="auto-container" style={{ height: "600px", display: "flex", alignItems: "end", justifyContent: "center", textAlign: "center" }}>
|
||||
<div className="content-box custom-content-box">
|
||||
<span className="upper-text mb-3">Restore your</span>
|
||||
<h2 style={{ color: "#bc0000" }}>Mobility</h2>
|
||||
<p className=' text-white'>• Pain Relief • Active Care • Long-Term Result</p>
|
||||
<div className="btn-box mt-3">
|
||||
<Link href="/contact" className="theme-btn btn-one">
|
||||
<span>Schedule a Massage</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
)}
|
||||
</AnimatePresence>
|
||||
</SwiperSlide>
|
||||
|
||||
{/* Slide 3 */}
|
||||
<SwiperSlide>
|
||||
<AnimatePresence mode="wait">
|
||||
{activeIndex === 2 && (
|
||||
<motion.div
|
||||
key="slide-2"
|
||||
className="slide-item banner-slide"
|
||||
variants={variants.leftToRight}
|
||||
initial="initial"
|
||||
animate="animate"
|
||||
exit="exit"
|
||||
transition={transition}
|
||||
>
|
||||
<div className="bg-layer"
|
||||
style={{ backgroundImage: 'url(/assets/images/banner/desktopBanner/banner-3.png)' }}>
|
||||
</div>
|
||||
<div className="auto-container" style={{ height: "600px", display: "flex", alignItems: "end", justifyContent: "start", textAlign: "start" }}>
|
||||
<div className="content-box custom-content-box">
|
||||
<span className="upper-text mb-2">Reclaim your</span>
|
||||
<h2 style={{ color: "#bc0000" }}>Wellnes</h2>
|
||||
<p className='text-white'>• Pain Relief • Strength Training • Active Care </p>
|
||||
<div className="btn-box mt-3">
|
||||
<Link href="/etobicoke-treatment-service" className="theme-btn btn-one">
|
||||
<span>Explore Our Service</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
)}
|
||||
</AnimatePresence>
|
||||
</SwiperSlide>
|
||||
|
||||
{/* Slide 4 */}
|
||||
<SwiperSlide>
|
||||
<AnimatePresence mode="wait">
|
||||
{activeIndex === 3 && (
|
||||
<motion.div
|
||||
key="slide-3"
|
||||
className="slide-item banner-slide"
|
||||
variants={variants.rightToLeft}
|
||||
initial="initial"
|
||||
animate="animate"
|
||||
exit="exit"
|
||||
transition={transition}
|
||||
>
|
||||
<div className="bg-layer"
|
||||
style={{ backgroundImage: 'url(/assets/images/banner/desktopBanner/banner-4.png)' }}>
|
||||
</div>
|
||||
<div className="auto-container" style={{ height: "600px", display: "flex", alignItems: "end",justifyContent: "start", textAlign: "start" }}>
|
||||
<div className="content-box custom-content-box">
|
||||
<span className="upper-text mb-2">Begin your</span>
|
||||
<h2 style={{ color: "#bc0000" }}>Recovery</h2>
|
||||
<p className='text-white'>• Rehab • Strength Training • Personalized Care </p>
|
||||
<div className="btn-box mt-3">
|
||||
<Link href="/contact" className="theme-btn btn-one">
|
||||
<span>Visit Our Location</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</motion.div>
|
||||
)}
|
||||
</AnimatePresence>
|
||||
</SwiperSlide>
|
||||
|
||||
</Swiper>
|
||||
{s.title}
|
||||
</h1>
|
||||
<p style={{ color: "#fff" }}>{s.desc}</p>
|
||||
<div className="btn-box mt-3">
|
||||
<Link href={s.btn.link} className="theme-btn btn-one">
|
||||
<span>{s.btn.text}</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
)
|
||||
}
|
||||
|
||||
@ -5,7 +5,7 @@ export default function Chooseus() {
|
||||
return (
|
||||
<section className="chooseus-style-two bg-color-1">
|
||||
<div className="bg-layer" style={{ backgroundImage: "url(assets/images/background/chooseus-bg-2.jpg)" }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: "url(assets/images/shape/shape-12.png)" }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: "url(assets/images/shape/shape-12.webp)" }}></div>
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-8 col-md-12 col-sm-12 content-column offset-lg-4">
|
||||
|
||||
@ -7,7 +7,7 @@ export default function Contact() {
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 map-column">
|
||||
<div className="map-inner mr_35">
|
||||
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2643.6895046810805!2d-122.52642526124438!3d38.00014098339506!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x8085976736097a2f%3A0xbe014d20e6e22654!2sSan Rafael%2C California%2C Hoa Kỳ!5e0!3m2!1svi!2s!4v1678975266976!5m2!1svi!2s" height={570} style={{ border: 0, width: "100%" }} allowFullScreen loading="lazy" referrerPolicy="no-referrer-when-downgrade" />
|
||||
<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2886.848070642326!2d-79.57826378450145!3d43.6308386791466!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x882b3811bd400001%3A0x87ffabfe7d6aeeca!2s5%20-%204335%20Bloor%20St%20W%2C%20Etobicoke%2C%20ON%20M9C%202A5!5e0!3m2!1sen!2sca!4v1693224000000!5m2!1sen!2scaF" height={570} style={{ border: 0, width: "100%" }} allowFullScreen loading="lazy" referrerPolicy="no-referrer-when-downgrade" />
|
||||
</div>
|
||||
</div>
|
||||
<div className="col-lg-6 col-md-12 col-sm-12 content-column">
|
||||
|
||||
@ -25,7 +25,7 @@ export default function faq() {
|
||||
<figure className="image-layer"><img src="assets/images/resource/faq-1.png" alt="" /></figure>
|
||||
<div className="auto-container">
|
||||
<div className="sec-title centred mb_50">
|
||||
<span className="sub-title">FAQ'S</span>
|
||||
<span className="sub-title">Faq's</span>
|
||||
<h2>Do You Have Any Medical <br />Questions?</h2>
|
||||
</div>
|
||||
<div className="row clearfix">
|
||||
|
||||
@ -1,191 +1,153 @@
|
||||
'use client'
|
||||
import React, { useState, useEffect } from 'react';
|
||||
"use client";
|
||||
import React, { useState } from "react";
|
||||
import Link from "next/link";
|
||||
import { Autoplay, Navigation, Pagination } from "swiper/modules";
|
||||
import { Swiper, SwiperSlide } from "swiper/react";
|
||||
import { motion, AnimatePresence } from "framer-motion";
|
||||
|
||||
import "swiper/css";
|
||||
import "swiper/css/navigation";
|
||||
import "swiper/css/pagination";
|
||||
|
||||
const swiperOptions = {
|
||||
modules: [Autoplay, Pagination, Navigation],
|
||||
slidesPerView: 1,
|
||||
spaceBetween: 0,
|
||||
autoplay: {
|
||||
delay: 10000,
|
||||
disableOnInteraction: false,
|
||||
},
|
||||
loop: true,
|
||||
navigation: {
|
||||
nextEl: '.h1n',
|
||||
prevEl: '.h1p',
|
||||
},
|
||||
pagination: {
|
||||
el: '.swiper-pagination',
|
||||
clickable: true,
|
||||
},
|
||||
};
|
||||
|
||||
const variants = {
|
||||
topToBottom: { initial: { y: '-100vh', opacity: 0 }, animate: { y: 0, opacity: 1 }, exit: { y: '100vh', opacity: 0 } },
|
||||
bottomToTop: { initial: { y: '100vh', opacity: 0 }, animate: { y: 0, opacity: 1 }, exit: { y: '-100vh', opacity: 0 } },
|
||||
leftToRight: { initial: { x: '-100vw', opacity: 0 }, animate: { x: 0, opacity: 1 }, exit: { x: '100vw', opacity: 0 } },
|
||||
rightToLeft: { initial: { x: '100vw', opacity: 0 }, animate: { x: 0, opacity: 1 }, exit: { x: '-100vw', opacity: 0 } },
|
||||
};
|
||||
|
||||
const transition = { type: "tween", ease: [0.4, 0.0, 0.2, 1], duration: 1.2 };
|
||||
import { useKeenSlider } from "keen-slider/react";
|
||||
import "keen-slider/keen-slider.min.css";
|
||||
|
||||
export default function MobileBanner() {
|
||||
const [activeIndex, setActiveIndex] = useState(0);
|
||||
const [isMobile, setIsMobile] = useState(false);
|
||||
const [isMobile, setIsMobile] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
const handleResize = () => setIsMobile(window.innerWidth <= 768);
|
||||
handleResize();
|
||||
window.addEventListener('resize', handleResize);
|
||||
return () => window.removeEventListener('resize', handleResize);
|
||||
}, []);
|
||||
React.useEffect(() => {
|
||||
const handleResize = () => setIsMobile(window.innerWidth <= 768);
|
||||
handleResize();
|
||||
window.addEventListener("resize", handleResize);
|
||||
return () => window.removeEventListener("resize", handleResize);
|
||||
}, []);
|
||||
|
||||
const slides = [
|
||||
{
|
||||
id: 0,
|
||||
variant: 'topToBottom',
|
||||
bgImage: '/assets/images/banner/mobile-banner/1.webp',
|
||||
upperText: 'Renew your',
|
||||
title: 'Strength',
|
||||
// titleSpan: 'health',
|
||||
// titleEnd: 'Forever',
|
||||
subtitle: 'Expert Physiotherapy in Mississauga for You.',
|
||||
description: 'Our expert physiotherapists help you restore movement, reduce pain, and live healthier with personalized care in Mississauga.',
|
||||
buttonText: 'Book Your Appointment',
|
||||
buttonLink: 'tel:+647-722-3434',
|
||||
contentStyle: 'mobile-style'
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
variant: 'bottomToTop',
|
||||
bgImage: '/assets/images/banner/mobile-banner/2.webp',
|
||||
upperText: 'Restore your ',
|
||||
title: 'Mobility',
|
||||
// titleSpan: 'Massage',
|
||||
// titleEnd: 'Therapy',
|
||||
// subtitle: 'Expert Hand Massage Techniques for Relief',
|
||||
description: 'Experience soothing massage techniques that release tension, promote circulation, and support your overall wellness.',
|
||||
buttonText: 'Schedule a Massage',
|
||||
buttonLink: '/contact',
|
||||
// contentStyle: 'with-background'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
variant: 'leftToRight',
|
||||
bgImage: '/assets/images/banner/mobile-banner/3.webp',
|
||||
upperText: 'Reclaim your',
|
||||
title: 'Wellnes',
|
||||
// titleSpan: 'Physio',
|
||||
// titleEnd: 'Experts',
|
||||
// subtitle: 'Physiotherapy Etobicoke & Rehab Care.',
|
||||
description: 'Comprehensive physiotherapy and rehab services designed to restore your strength, mobility, and long-term wellness.',
|
||||
buttonText: 'Explore Our Service',
|
||||
buttonLink: '/etobicoke-treatment-service',
|
||||
// contentStyle: 'with-background'
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
variant: 'rightToLeft',
|
||||
bgImage: '/assets/images/banner/mobile-banner/4.webp',
|
||||
upperText: 'Begin your ',
|
||||
title: ' Recovery',
|
||||
// titleSpan: 'Wellness',
|
||||
// titleEnd: 'Care',
|
||||
// subtitle: 'Waterfront Physio and Rehab Services.',
|
||||
description: 'Discover holistic physiotherapy and rehab services designed to restore balance, ease pain, and support long-term recovery.',
|
||||
buttonText: 'Visit Our Location',
|
||||
buttonLink: '/contact',
|
||||
// contentStyle: 'with-background'
|
||||
}
|
||||
];
|
||||
// ✅ Autoplay plugin added here
|
||||
const autoplay = (slider) => {
|
||||
let timeout;
|
||||
const delay = 4000;
|
||||
|
||||
if (!isMobile) return null;
|
||||
function clearNextTimeout() {
|
||||
clearTimeout(timeout);
|
||||
}
|
||||
function nextTimeout() {
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(() => {
|
||||
slider.next();
|
||||
}, delay);
|
||||
}
|
||||
|
||||
return (
|
||||
<section
|
||||
className="banner-style-two p_relative"
|
||||
style={{ minHeight: '100vh', position: 'relative' }}
|
||||
>
|
||||
<Swiper
|
||||
{...swiperOptions}
|
||||
className="banner-carousel"
|
||||
onSwiper={(swiper) => setActiveIndex(swiper.realIndex || 0)}
|
||||
onSlideChange={(swiper) => setActiveIndex(swiper.realIndex || 0)}
|
||||
slider.on("created", nextTimeout);
|
||||
slider.on("dragStarted", clearNextTimeout);
|
||||
slider.on("animationEnded", nextTimeout);
|
||||
slider.on("updated", nextTimeout);
|
||||
};
|
||||
|
||||
const [sliderRef] = useKeenSlider(
|
||||
{
|
||||
loop: true,
|
||||
slides: { perView: 1, spacing: 0 },
|
||||
},
|
||||
[autoplay] // ✅ autoplay fixed here
|
||||
);
|
||||
|
||||
const slides = [
|
||||
{
|
||||
id: 0,
|
||||
bgImage: "/assets/images/banner/mobile-banner/4.webp",
|
||||
upperText: "Begin your ",
|
||||
title: "Recovery",
|
||||
description:
|
||||
"Discover holistic physiotherapy and rehab services designed to restore balance, ease pain, and support long-term recovery.",
|
||||
buttonText: "Book Your Appointment",
|
||||
buttonLink: "/contact",
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
bgImage: "/assets/images/banner/mobile-banner/1.webp",
|
||||
upperText: "Build Your Strength & ",
|
||||
title: "Endurance",
|
||||
subtitle: "Expert Physiotherapy in Mississauga for You.",
|
||||
description:
|
||||
"Our expert physiotherapists help you restore movement, reduce pain, and live healthier with personalized care in Mississauga.",
|
||||
buttonText: "Book Your Appointment",
|
||||
buttonLink: "tel:+647-722-3434",
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
bgImage: "/assets/images/banner/mobile-banner/3.webp",
|
||||
upperText: "Regain your Flexibility & ",
|
||||
title: "Balance",
|
||||
description:
|
||||
"Comprehensive physiotherapy and rehab services designed to restore your strength, mobility and long-term wellness.",
|
||||
buttonText: "Explore Our Service",
|
||||
buttonLink: "/etobicoke-treatment-service",
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
bgImage: "/assets/images/banner/mobile-banner/2.webp",
|
||||
upperText: "Build your Core ",
|
||||
title: "Performance",
|
||||
description:
|
||||
"Experience soothing massage techniques that release tension, promote circulation, and support your overall wellness.",
|
||||
buttonText: "Schedule a Massage",
|
||||
buttonLink: "/contact",
|
||||
},
|
||||
];
|
||||
|
||||
if (!isMobile) return null;
|
||||
|
||||
return (
|
||||
<section
|
||||
className="banner-style-two"
|
||||
style={{ minHeight: "100vh", position: "relative" }}
|
||||
>
|
||||
<div ref={sliderRef} className="keen-slider">
|
||||
{slides.map((slide) => (
|
||||
<div
|
||||
key={slide.id}
|
||||
className="keen-slider__slide"
|
||||
style={{
|
||||
minHeight: "100vh",
|
||||
position: "relative",
|
||||
backgroundImage: `url(${slide.bgImage})`,
|
||||
backgroundSize: "cover",
|
||||
backgroundPosition: "center",
|
||||
}}
|
||||
>
|
||||
<div
|
||||
className="auto-container"
|
||||
style={{
|
||||
position: "relative",
|
||||
zIndex: 1,
|
||||
minHeight: "100vh",
|
||||
display: "flex",
|
||||
justifyContent: "center",
|
||||
alignItems: "center",
|
||||
paddingTop: "200px",
|
||||
color: "#fff",
|
||||
textAlign: "center",
|
||||
}}
|
||||
>
|
||||
{slides.map((slide, index) => (
|
||||
<SwiperSlide key={slide.id}>
|
||||
<AnimatePresence mode="wait">
|
||||
{activeIndex === index && (
|
||||
<motion.div
|
||||
key={`slide-${index}`}
|
||||
className="slide-item"
|
||||
style={{ minHeight: '100vh', position: 'relative' }}
|
||||
variants={variants[slide.variant]}
|
||||
initial="initial"
|
||||
animate="animate"
|
||||
exit="exit"
|
||||
transition={transition}
|
||||
>
|
||||
{/* full-height background */}
|
||||
<div
|
||||
className="bg-layer"
|
||||
style={{
|
||||
position: 'absolute',
|
||||
top: 0,
|
||||
left: 0,
|
||||
width: '100%',
|
||||
height: '100%',
|
||||
backgroundImage: `url(${slide.bgImage})`,
|
||||
backgroundSize: 'cover',
|
||||
backgroundPosition: 'center'
|
||||
}}
|
||||
/>
|
||||
|
||||
{/* centered content */}
|
||||
<div
|
||||
className="auto-container"
|
||||
style={{
|
||||
position: 'relative',
|
||||
zIndex: 1,
|
||||
minHeight: '100vh',
|
||||
display: 'flex',
|
||||
justifyContent: 'center',
|
||||
alignItems: 'end',
|
||||
paddingBottom: "20px"
|
||||
}}
|
||||
>
|
||||
{!slide.hideContent && (
|
||||
<div
|
||||
className={`content-box custom-content-box ${slide.contentStyle || ''}`}
|
||||
>
|
||||
<span className="upper-text mb-2 ">{slide.upperText}</span>
|
||||
<h2 style={{fontSize:"32px !important", lineHeight:"42px"}}>
|
||||
{slide.title} {slide.titleSpan} {slide.titleEnd}
|
||||
</h2>
|
||||
<p>{slide.subtitle}</p>
|
||||
<p>{slide.description}</p>
|
||||
<div className="btn-box mt-3">
|
||||
<Link href={slide.buttonLink} className="theme-btn btn-one-new">
|
||||
<span>{slide.buttonText}</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
</motion.div>
|
||||
)}
|
||||
</AnimatePresence>
|
||||
</SwiperSlide>
|
||||
))}
|
||||
</Swiper>
|
||||
</section>
|
||||
);
|
||||
};
|
||||
<div className="content-box custom-content-box">
|
||||
<span className="upper-text mb-2">{slide.upperText}</span>
|
||||
<h2
|
||||
style={{
|
||||
fontSize: "32px",
|
||||
lineHeight: "42px",
|
||||
color: "#bc0000",
|
||||
fontWeight: "bold",
|
||||
}}
|
||||
>
|
||||
{slide.title}
|
||||
</h2>
|
||||
{/* {slide.subtitle && <p>{slide.subtitle}</p>} */}
|
||||
{/* <p>{slide.description}</p> */}
|
||||
<div className="btn-box mt-3">
|
||||
<Link
|
||||
href={slide.buttonLink}
|
||||
className="theme-btn btn-one-new"
|
||||
>
|
||||
<span>{slide.buttonText}</span>
|
||||
</Link>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
);
|
||||
}
|
||||
|
||||
@ -25,7 +25,7 @@ export default function Faq() {
|
||||
<figure className="image-layer"><img src="assets/images/resource/faq-1.png" alt="" /></figure>
|
||||
<div className="auto-container">
|
||||
<div className="sec-title centred mb_50">
|
||||
<span className="sub-title">FAQ'S</span>
|
||||
<span className="sub-title">Faq's</span>
|
||||
<h2>Do You Have Any Medical <br />Questions?</h2>
|
||||
</div>
|
||||
<div className="row clearfix">
|
||||
|
||||
@ -4,7 +4,7 @@ export default function chooseus() {
|
||||
return (
|
||||
<section className="chooseus-section">
|
||||
<div className="bg-layer" style={{ backgroundImage: 'url(assets/images/background/chooseus-bg.jpg)' }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: 'url(assets/images/shape/shape-12.png)' }}></div>
|
||||
<div className="pattern-layer" style={{ backgroundImage: 'url(assets/images/shape/shape-12.webp)' }}></div>
|
||||
<div className="auto-container">
|
||||
<div className="row clearfix">
|
||||
<div className="col-lg-8 col-md-12 col-sm-12 content-column">
|
||||
|
||||
@ -4,140 +4,569 @@ import { Autoplay, Navigation, Pagination } from "swiper/modules"
|
||||
import { Swiper, SwiperSlide } from "swiper/react"
|
||||
|
||||
const swiperOptions = {
|
||||
modules: [Autoplay, Pagination, Navigation],
|
||||
slidesPerView: 1,
|
||||
spaceBetween: 30,
|
||||
autoplay: {
|
||||
delay:2500,
|
||||
disableOnInteraction: false,
|
||||
},
|
||||
loop: true,
|
||||
modules: [Autoplay, Pagination, Navigation],
|
||||
slidesPerView: 1,
|
||||
spaceBetween: 30,
|
||||
autoplay: {
|
||||
delay: 2500,
|
||||
disableOnInteraction: false,
|
||||
},
|
||||
loop: true,
|
||||
|
||||
// Navigation
|
||||
navigation: {
|
||||
nextEl: '.h1n',
|
||||
prevEl: '.h1p',
|
||||
},
|
||||
// Navigation
|
||||
navigation: {
|
||||
nextEl: '.h1n',
|
||||
prevEl: '.h1p',
|
||||
},
|
||||
|
||||
// Pagination
|
||||
pagination: {
|
||||
el: '.swiper-pagination',
|
||||
clickable: true,
|
||||
},
|
||||
// Pagination
|
||||
pagination: {
|
||||
el: '.swiper-pagination',
|
||||
clickable: true,
|
||||
},
|
||||
|
||||
breakpoints: {
|
||||
320: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
575: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
767: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
991: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
1199: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
1350: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
}
|
||||
breakpoints: {
|
||||
320: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
575: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
767: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
991: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
1199: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
1350: {
|
||||
slidesPerView: 1,
|
||||
// spaceBetween: 30,
|
||||
},
|
||||
}
|
||||
}
|
||||
export default function TestimonialSlider1() {
|
||||
return (
|
||||
<>
|
||||
<Swiper {...swiperOptions} className="single-item-carousel owl-carousel owl-theme owl-dots-none owl-nav-none">
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<div className="icon-box"><i className="icon-23"></i></div>
|
||||
<p>“Rapha Rehab provided exceptional care and support throughout my physiotherapy sessions. The team’s professionalism and personalized approach helped me recover faster than I expected.”</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<div className="icon-box"><i className="icon-23"></i></div>
|
||||
<p>“The hand massage therapy at Rapha Rehab was incredibly effective in relieving my pain and tension. The therapists are skilled and truly caring.”</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<div className="icon-box"><i className="icon-23"></i></div>
|
||||
<p>“I highly recommend Rapha Rehab for anyone looking for top-quality physio services in Mississauga. The modern equipment and expert staff make a real difference.”</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<div className="icon-box"><i className="icon-23"></i></div>
|
||||
<p>“Excellent waterfront physio and rehab services. The calming environment combined with expert care made my rehabilitation a comfortable and successful experience.”</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
return (
|
||||
<>
|
||||
<Swiper {...swiperOptions} className="single-item-carousel owl-carousel owl-theme owl-dots-none owl-nav-none">
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
|
||||
</Swiper>
|
||||
</>
|
||||
)
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
|
||||
<p>“Rapha Rehab provided exceptional care and support throughout my physiotherapy sessions. The team’s professionalism and personalized approach helped me recover faster than I expected.”</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“The hand massage therapy at Rapha Rehab was incredibly effective in relieving my pain and tension. The therapists are skilled and truly caring.”</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“I highly recommend Rapha Rehab for anyone looking for top-quality physio services in Mississauga. The modern equipment and expert staff make a real difference.”</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“Excellent waterfront physio and rehab services. The calming environment combined with expert care made my rehabilitation a comfortable and successful experience.”</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“This physiotherapy clinic has an excellent rate. I would give them even more than 5 stars if I could. I had neck and back injuries, and I can already see the improvement. Dhanya is patient and explains everything to me in detail. She also pays close attention to details and genuinely cares about her clients. I highly recommend them.”</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“After a severe sciatica flare up, physiotherapist Dhanya Prashant was able to get me fully recovered within a few sessions! This was the fastest recovery time I had ever experienced, and I am incredibly grateful for the diligent and thorough follow up and long term management plan she put together for me. I highly recommend this clinic, the end to end experience was incredibly positive.”</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“Excellent service by ChandraBabu. He has immense knowledge about muscles and nerves, I went for shoulder discomfort and he was able to cure it completely within few sessions.
|
||||
I recommend everyone to consult him if you have any pain in shoulders 😊</p>
|
||||
{/* <div className="author-box">
|
||||
<figure className="author-thumb"><img src="assets/images/resource/testimonial-1.png" alt="" /></figure>
|
||||
<ul className="rating clearfix">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="far fa-star"></i></li>
|
||||
</ul>
|
||||
<h3>Robert Fox</h3>
|
||||
<span className="designation">Dog Trainer</span>
|
||||
</div> */}
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“Mr. Babu is the absolute best! If you suffer from acute/chronic pain and deep tissue massages are the only thing that give you relief, you must visit him! He actually listens to your needs and delivers every single time. Probably one of the very few RMTs that actually works on areas you ask them to and even focuses on areas that need more attention. He is truly gifted, extremely thorough and professional.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“I have been coming here for years and the service is highly professional. The therapist is very knowledgeable and always seem to be able to treat my pain or discomfort with 100% success. Total confidence in what he does. Awesome, great customer service, great personality.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“This is the only physio/massage place I recommend to anyone. I have referred many people here and they’re always happy. He WILL fix your problem, he’s fantastic.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“Excellent massage therapy experience on every visit with Babu at the Morningside location. Been with him for many years.I must say he is very professional and attacks the root cause of my pain issues.His expertise and knowledge shared as towards my self care after my mva has improved tremendously. I call him " gifted hands "Very best to you Babu with your TLC you share with your patients 🙏keep it up”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“I've been going to this clinic for years. They don't care at all about the money they are receiving, they care about getting you better. The masseuse and physiotherapist are amazing there. Very grateful to have found this place. Lovely people.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“THE BEST! Excellent staff, very professional & great knowledge. The physiotherapist Dhanya was able to help me become pain free.
|
||||
I am very happy I found this clinic.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“I have had a number of massages done as well as physio to help with my backpain that I have received due to physical labor job. I felt improvements after a few sessions as well as less tension in my back. Staff is friendly, would recommend.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“Exceptional service by Mr. Babu who has vast experience in pain management. I am the Founder & CEO of TDF Cricket Club and most of the players from my club are his clients.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“Excellent service. (Massage therapy, physiotherapy and reflexology). Even though it's far for us my husband and I continue with Rapha physiotherapy due to their outstanding service.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“I had shoulder and lower back pain, few massage sessions with Babu, should pain has gone and lower back pain has become less. Nice and friendly environment.
|
||||
Highly recommend 👍🏻 …”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“I highly recommended this clinic. Physiotherapist and Massage therapist with whom I have worked have been very knowledgeable and supportive. Clinic is also immaculate and effectively run. They have helped me to reduce pain and regain my overall strength and flexibility.
|
||||
Thank you so much👍”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“I visited this place for lower back pain and the treatment was excellent. I am regular to gym now without any back pain issues. Thanks to the El Rapha team!!”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“Excellent clinic in Etobicoke. Friendly and knowledgeable staff. They actually treat you for an hour and not 10-15 minutes like another place I went to in Etobicoke, and for a lesser fee.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“I really appreciate the service provided by all practitioners - Mr.Babu, Dhanya, Deepa.
|
||||
You are all amazing, and I would not go anywhere else since I found this place. Big Thanks to all.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“The therapist was excellent in his massage and he helped a lot with managing my wrist and whole body pain.”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“This place provided on-time service for an emergency and the doctor fixed my bad shoulder within an hour! Highly recommended highly knowledgeable in his field”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“My first time to do reflexology massage and the therapist did the great job 😉😊 i recommend you guys to come here,
|
||||
And staff are very nice and helpful”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“Went to the Physiotherapist and was really pleased with both her knowledge and efforts. Going to return next week”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
|
||||
<SwiperSlide className="slide-item">
|
||||
<div className="testimonial-block-one">
|
||||
<div className="inner-box">
|
||||
<ul className="rating clearfix mb_15 d-flex gap-2">
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
<li><i className="fas fa-star"></i></li>
|
||||
</ul>
|
||||
{/* <div className="icon-box"><i className="icon-23"></i></div> */}
|
||||
<p>“Excellent service, attention and results, friendly people, highly recommended”</p>
|
||||
</div>
|
||||
</div>
|
||||
</SwiperSlide>
|
||||
</Swiper>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
@ -1,10 +1,16 @@
|
||||
/** @type {import('next').NextConfig} */
|
||||
const nextConfig = {
|
||||
output: "export",
|
||||
trailingSlash: true,
|
||||
images: {
|
||||
unoptimized: true,
|
||||
},
|
||||
output: "export", // keep: needed for next export
|
||||
trailingSlash: true,
|
||||
images: {
|
||||
unoptimized: true, // ✅ needed
|
||||
},
|
||||
swcMinify: true, // explicit SWC minify
|
||||
// experimental: {
|
||||
// forceSwcTransforms: true, // use SWC only
|
||||
// modern: true, // ✅ enable modern build (ES6+ for modern browsers)
|
||||
// polyfillsOptimization: true // ✅ remove unnecessary polyfills
|
||||
// },
|
||||
};
|
||||
|
||||
export default nextConfig;
|
||||
module.exports = nextConfig;
|
||||
|
||||
3934
package-lock.json
generated
21
package.json
@ -8,17 +8,22 @@
|
||||
"start": "next start",
|
||||
"lint": "next lint",
|
||||
"sass": "sass --watch public/assets/scss/main.scss:public/assets/css/main.css",
|
||||
"sitemap": "node scripts/generate-sitemap.cjs"
|
||||
"sitemap": "node scripts/generate-sitemap.cjs",
|
||||
"optimize-images": "node --experimental-modules scripts/optimize-images.mjs",
|
||||
"postbuild": "npm run optimize-images"
|
||||
},
|
||||
"dependencies": {
|
||||
"axios": "^1.11.0",
|
||||
"bootstrap-touchspin": "^4.7.3",
|
||||
"framer-motion": "^12.23.12",
|
||||
"imagemin": "^9.0.1",
|
||||
"imagemin-avif": "^0.1.6",
|
||||
"imagemin-mozjpeg": "^10.0.0",
|
||||
"imagemin-optipng": "^8.0.0",
|
||||
"imagemin-webp": "^8.0.0",
|
||||
"isotope-layout": "^3.0.6",
|
||||
"lightgallery": "^2.7.2",
|
||||
"keen-slider": "^6.8.6",
|
||||
"next": "^14.0.4-canary.36",
|
||||
"react": "18.2.0",
|
||||
"react-curved-text": "^2.0.2",
|
||||
"react-dom": "18.2.0",
|
||||
"react-google-recaptcha": "^3.1.0",
|
||||
"react-modal-video": "^2.0.1",
|
||||
@ -28,5 +33,11 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"sitemap": "^8.0.0"
|
||||
}
|
||||
},
|
||||
"browserslist": [
|
||||
"last 2 Chrome versions",
|
||||
"last 2 Firefox versions",
|
||||
"last 2 Safari versions",
|
||||
"last 2 Edge versions"
|
||||
]
|
||||
}
|
||||
350
public/assets/css/bootstrap.css
vendored
@ -4407,7 +4407,3 @@ Image Hover
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
115
public/assets/css/jquery-ui.css
vendored
@ -6,7 +6,7 @@
|
||||
|
||||
/* Layout helpers
|
||||
----------------------------------*/
|
||||
.ui-helper-hidden {
|
||||
/* .ui-helper-hidden {
|
||||
display: none;
|
||||
}
|
||||
.ui-helper-hidden-accessible {
|
||||
@ -45,7 +45,7 @@
|
||||
left: 0;
|
||||
position: absolute;
|
||||
opacity: 0;
|
||||
filter:Alpha(Opacity=0); /* support: IE8 */
|
||||
filter:Alpha(Opacity=0);
|
||||
}
|
||||
|
||||
.ui-front {
|
||||
@ -53,16 +53,12 @@
|
||||
}
|
||||
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-disabled {
|
||||
cursor: default !important;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
.ui-icon {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
@ -79,18 +75,14 @@
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.ui-accordion .ui-accordion-header {
|
||||
} */
|
||||
/* .ui-accordion .ui-accordion-header {
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
@ -122,7 +114,6 @@
|
||||
.ui-menu .ui-menu-item {
|
||||
margin: 0;
|
||||
cursor: pointer;
|
||||
/* support: IE10, see #8844 */
|
||||
list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
|
||||
}
|
||||
.ui-menu .ui-menu-item-wrapper {
|
||||
@ -139,27 +130,27 @@
|
||||
.ui-menu .ui-state-focus,
|
||||
.ui-menu .ui-state-active {
|
||||
margin: -1px;
|
||||
}
|
||||
} */
|
||||
|
||||
/* icon support */
|
||||
.ui-menu-icons {
|
||||
/* .ui-menu-icons {
|
||||
position: relative;
|
||||
}
|
||||
.ui-menu-icons .ui-menu-item-wrapper {
|
||||
padding-left: 2em;
|
||||
}
|
||||
} */
|
||||
|
||||
/* left-aligned */
|
||||
.ui-menu .ui-icon {
|
||||
/* .ui-menu .ui-icon {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: .2em;
|
||||
margin: auto 0;
|
||||
}
|
||||
} */
|
||||
|
||||
/* right-aligned */
|
||||
.ui-menu .ui-menu-icon {
|
||||
/* .ui-menu .ui-menu-icon {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
@ -176,34 +167,32 @@
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
|
||||
/* Support: IE <= 11 */
|
||||
overflow: visible;
|
||||
}
|
||||
} */
|
||||
|
||||
.ui-button,
|
||||
/* .ui-button,
|
||||
.ui-button:link,
|
||||
.ui-button:visited,
|
||||
.ui-button:hover,
|
||||
.ui-button:active {
|
||||
text-decoration: none;
|
||||
}
|
||||
} */
|
||||
|
||||
/* to make room for the icon, a width needs to be set here */
|
||||
.ui-button-icon-only {
|
||||
/* .ui-button-icon-only {
|
||||
width: 2em;
|
||||
box-sizing: border-box;
|
||||
text-indent: -9999px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
} */
|
||||
|
||||
/* no icon support for input elements */
|
||||
input.ui-button.ui-button-icon-only {
|
||||
/* input.ui-button.ui-button-icon-only {
|
||||
text-indent: 0;
|
||||
}
|
||||
} */
|
||||
|
||||
/* button icon element(s) */
|
||||
.ui-button-icon-only .ui-icon {
|
||||
/* .ui-button-icon-only .ui-icon {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
@ -226,11 +215,11 @@ input.ui-button.ui-icon-notext .ui-icon {
|
||||
text-indent: 0;
|
||||
white-space: normal;
|
||||
padding: .4em 1em;
|
||||
}
|
||||
} */
|
||||
|
||||
/* workarounds */
|
||||
/* Support: Firefox 5 - 40 */
|
||||
input.ui-button::-moz-focus-inner,
|
||||
/* input.ui-button::-moz-focus-inner,
|
||||
button.ui-button::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
@ -276,12 +265,10 @@ button.ui-button::-moz-focus-inner {
|
||||
}
|
||||
.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content {
|
||||
border-bottom: none;
|
||||
}
|
||||
} */
|
||||
|
||||
/* Spinner specific style fixes */
|
||||
.ui-controlgroup-vertical .ui-spinner-input {
|
||||
|
||||
/* Support: IE8 only, Android < 4.4 only */
|
||||
/* .ui-controlgroup-vertical .ui-spinner-input {
|
||||
width: 75%;
|
||||
width: calc( 100% - 2.4em );
|
||||
}
|
||||
@ -398,10 +385,10 @@ button.ui-button::-moz-focus-inner {
|
||||
}
|
||||
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
|
||||
float: left;
|
||||
}
|
||||
} */
|
||||
|
||||
/* with multiple calendars */
|
||||
.ui-datepicker.ui-datepicker-multi {
|
||||
/* .ui-datepicker.ui-datepicker-multi {
|
||||
width: auto;
|
||||
}
|
||||
.ui-datepicker-multi .ui-datepicker-group {
|
||||
@ -433,7 +420,6 @@ button.ui-button::-moz-focus-inner {
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
/* RTL support */
|
||||
.ui-datepicker-rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
@ -469,7 +455,6 @@ button.ui-button::-moz-focus-inner {
|
||||
border-left-width: 1px;
|
||||
}
|
||||
|
||||
/* Icons */
|
||||
.ui-datepicker .ui-icon {
|
||||
display: block;
|
||||
text-indent: -99999px;
|
||||
@ -642,8 +627,8 @@ button.ui-button::-moz-focus-inner {
|
||||
height: 9px;
|
||||
right: -5px;
|
||||
top: -5px;
|
||||
}
|
||||
.ui-progressbar {
|
||||
} */
|
||||
/* .ui-progressbar {
|
||||
height: 2em;
|
||||
text-align: left;
|
||||
overflow: hidden;
|
||||
@ -655,7 +640,7 @@ button.ui-button::-moz-focus-inner {
|
||||
.ui-progressbar .ui-progressbar-overlay {
|
||||
background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
|
||||
height: 100%;
|
||||
filter: alpha(opacity=25); /* support: IE8 */
|
||||
filter: alpha(opacity=25);
|
||||
opacity: 0.25;
|
||||
}
|
||||
.ui-progressbar-indeterminate .ui-progressbar-value {
|
||||
@ -732,7 +717,6 @@ button.ui-button::-moz-focus-inner {
|
||||
background-position: 0 0;
|
||||
}
|
||||
|
||||
/* support: IE8 - See #6727 */
|
||||
.ui-slider.ui-state-disabled .ui-slider-handle,
|
||||
.ui-slider.ui-state-disabled .ui-slider-range {
|
||||
filter: inherit;
|
||||
@ -809,7 +793,6 @@ button.ui-button::-moz-focus-inner {
|
||||
overflow: hidden;
|
||||
right: 0;
|
||||
}
|
||||
/* more specificity required here to override default borders */
|
||||
.ui-spinner a.ui-spinner-button {
|
||||
border-top-style: none;
|
||||
border-bottom-style: none;
|
||||
@ -822,7 +805,7 @@ button.ui-button::-moz-focus-inner {
|
||||
bottom: 0;
|
||||
}
|
||||
.ui-tabs {
|
||||
position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
|
||||
position: relative;
|
||||
padding: .2em;
|
||||
}
|
||||
.ui-tabs .ui-tabs-nav {
|
||||
@ -867,12 +850,11 @@ button.ui-button::-moz-focus-inner {
|
||||
position: absolute;
|
||||
z-index: 9999;
|
||||
max-width: 300px;
|
||||
}
|
||||
body .ui-tooltip {
|
||||
} */
|
||||
/* body .ui-tooltip {
|
||||
border-width: 2px;
|
||||
}
|
||||
/* Component containers
|
||||
----------------------------------*/
|
||||
|
||||
.ui-widget {
|
||||
font-family: Arial,Helvetica,sans-serif;
|
||||
font-size: 1em;
|
||||
@ -908,15 +890,11 @@ body .ui-tooltip {
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
/* Interaction states
|
||||
----------------------------------*/
|
||||
.ui-state-default,
|
||||
.ui-widget-content .ui-state-default,
|
||||
.ui-widget-header .ui-state-default,
|
||||
.ui-button,
|
||||
|
||||
/* We use html here because we need a greater specificity to make sure disabled
|
||||
works properly when clicked or hovered */
|
||||
html .ui-button.ui-state-disabled:hover,
|
||||
html .ui-button.ui-state-disabled:active {
|
||||
border: 1px solid #c5c5c5;
|
||||
@ -985,8 +963,6 @@ a.ui-button:active,
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
/* Interaction Cues
|
||||
----------------------------------*/
|
||||
.ui-state-highlight,
|
||||
.ui-widget-content .ui-state-highlight,
|
||||
.ui-widget-header .ui-state-highlight {
|
||||
@ -1029,24 +1005,21 @@ a.ui-button:active,
|
||||
.ui-widget-content .ui-priority-secondary,
|
||||
.ui-widget-header .ui-priority-secondary {
|
||||
opacity: .7;
|
||||
filter:Alpha(Opacity=70); /* support: IE8 */
|
||||
filter:Alpha(Opacity=70);
|
||||
font-weight: normal;
|
||||
}
|
||||
.ui-state-disabled,
|
||||
.ui-widget-content .ui-state-disabled,
|
||||
.ui-widget-header .ui-state-disabled {
|
||||
opacity: .35;
|
||||
filter:Alpha(Opacity=35); /* support: IE8 */
|
||||
filter:Alpha(Opacity=35);
|
||||
background-image: none;
|
||||
}
|
||||
.ui-state-disabled .ui-icon {
|
||||
filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */
|
||||
filter:Alpha(Opacity=35);
|
||||
}
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
@ -1056,13 +1029,10 @@ a.ui-button:active,
|
||||
.ui-state-focus .ui-icon,
|
||||
.ui-button:hover .ui-icon,
|
||||
.ui-button:focus .ui-icon {
|
||||
/*background-image: url("images/ui-icons_555555_256x240.png");*/
|
||||
}
|
||||
.ui-state-active .ui-icon,
|
||||
.ui-button:active .ui-icon {
|
||||
/*background-image: url("images/ui-icons_ffffff_256x240.png");*/
|
||||
}
|
||||
/* positioning */
|
||||
.ui-icon-blank { background-position: 16px 16px; }
|
||||
.ui-icon-caret-1-n { background-position: 0 0; }
|
||||
.ui-icon-caret-1-ne { background-position: -16px 0; }
|
||||
@ -1200,7 +1170,6 @@ a.ui-button:active,
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
@ -1238,14 +1207,14 @@ a.ui-button:active,
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; } */
|
||||
|
||||
|
||||
/* Misc visuals
|
||||
----------------------------------*/
|
||||
|
||||
/* Corner radius */
|
||||
.ui-corner-all,
|
||||
/* .ui-corner-all,
|
||||
.ui-corner-top,
|
||||
.ui-corner-left,
|
||||
.ui-corner-tl {
|
||||
@ -1270,11 +1239,10 @@ a.ui-button:active,
|
||||
border-bottom-right-radius: 3px;
|
||||
}
|
||||
|
||||
/* Overlays */
|
||||
.ui-widget-overlay {
|
||||
background: #aaaaaa;
|
||||
opacity: .3;
|
||||
filter: Alpha(Opacity=30); /* support: IE8 */
|
||||
filter: Alpha(Opacity=30);
|
||||
}
|
||||
.ui-widget-shadow {
|
||||
-webkit-box-shadow: 0px 0px 5px #666666;
|
||||
@ -1282,17 +1250,11 @@ a.ui-button:active,
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Icons
|
||||
----------------------------------*/
|
||||
|
||||
/* states and images */
|
||||
.ui-icon {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
/* positioning */
|
||||
.ui-icon-blank { background-position: 16px 16px; }
|
||||
.ui-icon-carat-1-n { background-position: 0 0; }
|
||||
.ui-icon-carat-1-ne { background-position: -16px 0; }
|
||||
@ -1430,7 +1392,6 @@ a.ui-button:active,
|
||||
.ui-icon-seek-prev { background-position: -48px -160px; }
|
||||
.ui-icon-seek-end { background-position: -64px -160px; }
|
||||
.ui-icon-seek-start { background-position: -80px -160px; }
|
||||
/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
|
||||
.ui-icon-seek-first { background-position: -80px -160px; }
|
||||
.ui-icon-stop { background-position: -96px -160px; }
|
||||
.ui-icon-eject { background-position: -112px -160px; }
|
||||
@ -1468,4 +1429,4 @@ a.ui-button:active,
|
||||
.ui-icon-grip-solid-vertical { background-position: -32px -224px; }
|
||||
.ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
|
||||
.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; }
|
||||
.ui-icon-grip-diagonal-se { background-position: -80px -224px; } */
|
||||
|
||||
875
public/assets/css/jquery.fancybox.min.css
vendored
@ -1,9 +1,9 @@
|
||||
|
||||
/** about-section **/
|
||||
|
||||
/*
|
||||
.about-section{
|
||||
position: relative;
|
||||
}
|
||||
} */
|
||||
|
||||
.image_block_one .image-box{
|
||||
position: relative;
|
||||
@ -11,7 +11,7 @@
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.image_block_one .image-box .image{
|
||||
/* .image_block_one .image-box .image{
|
||||
position: relative;
|
||||
display: block;
|
||||
filter: drop-shadow(0px 2px 70px rgba(0, 0, 0, 0.1));
|
||||
@ -22,7 +22,7 @@
|
||||
.image_block_one .image-box .image img{
|
||||
width: 100%;
|
||||
border-radius: 300px 0px 300px 300px;
|
||||
}
|
||||
} */
|
||||
|
||||
.image_block_one .image-box .icon-one{
|
||||
position: absolute;
|
||||
@ -53,7 +53,7 @@
|
||||
border-radius: 15px;
|
||||
}
|
||||
|
||||
.image_block_one .image-box .text-box{
|
||||
/* .image_block_one .image-box .text-box{
|
||||
position: absolute;
|
||||
left: -70px;
|
||||
bottom: 40px;
|
||||
@ -89,7 +89,7 @@
|
||||
width: 98px;
|
||||
height: 27px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
} */
|
||||
|
||||
.content_block_one .content-box{
|
||||
position: relative;
|
||||
@ -102,19 +102,19 @@
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.content_block_one .content-box h6{
|
||||
/* .content_block_one .content-box h6{
|
||||
display: block;
|
||||
font-size: 16px;
|
||||
line-height: 26px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
} */
|
||||
|
||||
/* .content_block_one .content-box p{
|
||||
margin-bottom: 30px;
|
||||
} */
|
||||
|
||||
.about-section .pattern-layer .pattern-1{
|
||||
/* .about-section .pattern-layer .pattern-1{
|
||||
position: absolute;
|
||||
left: 100px;
|
||||
top: 164px;
|
||||
@ -157,7 +157,7 @@
|
||||
width: 105px;
|
||||
height: 126px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
/** about-style-two **/
|
||||
@ -203,7 +203,7 @@
|
||||
background: #ffe6e6;
|
||||
}
|
||||
|
||||
.content_block_one .content-box .lower-box{
|
||||
/* .content_block_one .content-box .lower-box{
|
||||
position: relative;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@ -266,7 +266,7 @@
|
||||
.content_block_one .content-box .lower-box .author-thumb img{
|
||||
width: 100%;
|
||||
border-radius: 50%;
|
||||
}
|
||||
} */
|
||||
|
||||
.about-style-two .pattern-layer .pattern-1{
|
||||
position: absolute;
|
||||
@ -294,18 +294,18 @@
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.about-style-two .pattern-layer .pattern-4{
|
||||
/* .about-style-two .pattern-layer .pattern-4{
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
right: 0px;
|
||||
width: 699px;
|
||||
height: 341px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
/** about-style-three **/
|
||||
|
||||
/*
|
||||
.about-style-three{
|
||||
position: relative;
|
||||
}
|
||||
@ -313,7 +313,7 @@
|
||||
.about-style-three .content_block_one .content-box .list-style-one li{
|
||||
float: none;
|
||||
width: 100%;
|
||||
}
|
||||
} */
|
||||
|
||||
.image_block_three .image-box{
|
||||
position: relative;
|
||||
@ -340,10 +340,25 @@
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
@media (max-width: 768px) {
|
||||
.billing-table table {
|
||||
font-size: 12px;
|
||||
line-height: 22px; }
|
||||
}
|
||||
|
||||
@media (max-width: 426px) {
|
||||
.billing-table table {
|
||||
font-size: 9px;
|
||||
line-height: 12px; }
|
||||
}
|
||||
|
||||
|
||||
.image_block_three .image-box .image-1-ho img{
|
||||
width: 100%;
|
||||
border-radius: 20px;
|
||||
}
|
||||
} */
|
||||
|
||||
.image_block_three .image-box .image-2{
|
||||
position: absolute;
|
||||
@ -409,14 +424,14 @@
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.image_block_three .image-box .image-shape .shape-3{
|
||||
/* .image_block_three .image-box .image-shape .shape-3{
|
||||
position: absolute;
|
||||
left: -100px;
|
||||
bottom: 25px;
|
||||
width: 98px;
|
||||
height: 27px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
} */
|
||||
|
||||
.image_block_three .image-box .image-shape .shape-4{
|
||||
position: absolute;
|
||||
@ -435,7 +450,7 @@
|
||||
height: 126px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
/*
|
||||
.about-style-three .pattern-layer{
|
||||
position: absolute;
|
||||
opacity: 0.8;
|
||||
@ -444,7 +459,7 @@
|
||||
width: 699px;
|
||||
height: 341px;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
|
||||
@ -454,7 +469,7 @@
|
||||
|
||||
/** RTL-CSS **/
|
||||
|
||||
.rtl .image_block_one .image-box .text-box{
|
||||
/* .rtl .image_block_one .image-box .text-box{
|
||||
left: 0px;
|
||||
}
|
||||
|
||||
@ -475,7 +490,7 @@
|
||||
.rtl .image_block_three .image-box{
|
||||
margin-right: 0px;
|
||||
margin-left: 36px;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
|
||||
/** appointment-section **/
|
||||
|
||||
.appointment-section{
|
||||
/* .appointment-section{
|
||||
position: relative;
|
||||
}
|
||||
|
||||
@ -70,7 +70,7 @@
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
|
||||
@ -84,7 +84,7 @@
|
||||
/** RESPONSIVE-CSS **/
|
||||
|
||||
|
||||
@media only screen and (max-width: 1200px){
|
||||
/* @media only screen and (max-width: 1200px){
|
||||
|
||||
.appointment-section .bg-layer{
|
||||
width: 100%;
|
||||
@ -114,7 +114,7 @@
|
||||
@media only screen and (max-width: 499px){
|
||||
|
||||
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
.nice-select {
|
||||
/* .nice-select {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
background-color: #fff;
|
||||
border-radius: 5px;
|
||||
@ -111,4 +111,4 @@
|
||||
display: none; }
|
||||
|
||||
.no-csspointerevents .nice-select.open .list {
|
||||
display: block; }
|
||||
display: block; } */
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* Owl Carousel - Animate Plugin
|
||||
*/
|
||||
.owl-carousel .animated {
|
||||
/* .owl-carousel .animated {
|
||||
-webkit-animation-duration: 1000ms;
|
||||
animation-duration: 1000ms;
|
||||
-webkit-animation-fill-mode: both;
|
||||
@ -35,31 +35,31 @@
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
} */
|
||||
|
||||
/*
|
||||
* Owl Carousel - Auto Height Plugin
|
||||
*/
|
||||
.owl-height {
|
||||
/* .owl-height {
|
||||
-webkit-transition: height 500ms ease-in-out;
|
||||
-moz-transition: height 500ms ease-in-out;
|
||||
-ms-transition: height 500ms ease-in-out;
|
||||
-o-transition: height 500ms ease-in-out;
|
||||
transition: height 500ms ease-in-out;
|
||||
}
|
||||
} */
|
||||
|
||||
/*
|
||||
* Core Owl Carousel CSS File
|
||||
*/
|
||||
.owl-carousel {
|
||||
display: ;
|
||||
/* display: ; */
|
||||
width: 100%;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
/* position relative and z-index fix webkit rendering fonts issue */
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.owl-carousel .owl-stage {
|
||||
/* .owl-carousel .owl-stage {
|
||||
position: relative;
|
||||
-ms-touch-action: pan-Y;
|
||||
}
|
||||
@ -74,7 +74,6 @@
|
||||
.owl-carousel .owl-stage-outer {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
/* fix for flashing background */
|
||||
-webkit-transform: translate3d(0px, 0px, 0px);
|
||||
}
|
||||
.owl-carousel .owl-controls .owl-nav .owl-prev,
|
||||
@ -138,14 +137,10 @@
|
||||
float: right;
|
||||
}
|
||||
|
||||
/* No Js */
|
||||
.no-js .owl-carousel {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Owl Carousel - Lazy Load Plugin
|
||||
*/
|
||||
.owl-carousel .owl-item .owl-lazy {
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 400ms ease;
|
||||
@ -158,9 +153,7 @@
|
||||
transform-style: preserve-3d;
|
||||
}
|
||||
|
||||
/*
|
||||
* Owl Carousel - Video Plugin
|
||||
*/
|
||||
|
||||
.owl-carousel .owl-video-wrapper {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
@ -249,4 +242,4 @@
|
||||
}
|
||||
.owl-theme .owl-dots .owl-dot.active span {
|
||||
background: none repeat scroll 0 0 #cda274;
|
||||
}
|
||||
} */
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
|
||||
.rtl {
|
||||
/* .rtl {
|
||||
direction: rtl;
|
||||
}
|
||||
} */
|
||||
|
||||
.ltr {
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
.rtl .switcher{
|
||||
/* .rtl .switcher{
|
||||
right: 60px;
|
||||
left: inherit;
|
||||
}
|
||||
@ -134,7 +134,7 @@
|
||||
.rtl .progress-box .count-text{
|
||||
right: inherit;
|
||||
left: 0px;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
|
||||
|
||||
@ -492,6 +492,11 @@
|
||||
color: #bc0000 !important;
|
||||
}
|
||||
|
||||
.theme-btn.btn-one-new-raw {
|
||||
background: #fff !important;
|
||||
color: #bc0000 !important;
|
||||
}
|
||||
|
||||
.theme-btn.btn-two {
|
||||
background: var(--secondary-color);
|
||||
}
|
||||
@ -1172,6 +1177,12 @@
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.rating li i {
|
||||
color: #FFDF00;
|
||||
/* gold/yellow */
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -3688,28 +3699,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.loader-wrap {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #ffffff;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
.preloader {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.preloader-icon {
|
||||
font-size: 50px;
|
||||
animation: spin 1.5s linear infinite;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
@ -3736,11 +3725,20 @@
|
||||
}
|
||||
}
|
||||
|
||||
@media(max-width:1000px) {
|
||||
@media(max-width:1000px) {
|
||||
.main-menu .navigation>li {
|
||||
margin: 0px 10px !important;
|
||||
}
|
||||
}
|
||||
.color-white{
|
||||
color: #fff !important;
|
||||
|
||||
.color-white {
|
||||
color: #fff !important;
|
||||
}
|
||||
|
||||
.pagination-wrapper .pagination li a img {
|
||||
transition: filter 0.3s ease;
|
||||
}
|
||||
|
||||
.pagination-wrapper .pagination li a:hover img {
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
/*=============== Color-Layout =============*/
|
||||
|
||||
.switcher .switch_btn button {
|
||||
/* .switcher .switch_btn button {
|
||||
color: #fff;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
@ -75,12 +75,12 @@
|
||||
.switcher #styleOptions li a.orange-color {
|
||||
background: var(--orange-color);
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
/*=============== Boxed-Layout =============*/
|
||||
|
||||
|
||||
.body_switcher .body_switch_btn button {
|
||||
/* .body_switcher .body_switch_btn button {
|
||||
width:50px;
|
||||
height:50px;
|
||||
line-height: 50px;
|
||||
@ -167,4 +167,4 @@
|
||||
background-repeat: repeat-x;
|
||||
background-position: center;
|
||||
overflow-x:hidden;
|
||||
}
|
||||
} */
|
||||
@ -10,7 +10,7 @@
|
||||
*/
|
||||
|
||||
|
||||
#ptTimeSelectCntr {
|
||||
/* #ptTimeSelectCntr {
|
||||
display: none;
|
||||
font-size: 12px;
|
||||
margin-left: 0;
|
||||
@ -76,13 +76,13 @@
|
||||
}
|
||||
#ptTimeSelectCntr .ptTimeSelectRightPane.ui-widget-content {
|
||||
border: none;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
|
||||
|
||||
/* content style and hover style */
|
||||
#ptTimeSelectCntr .ptTimeSelectHrCntr a,
|
||||
/* #ptTimeSelectCntr .ptTimeSelectHrCntr a,
|
||||
#ptTimeSelectCntr .ptTimeSelectMinCntr a {
|
||||
display: block;
|
||||
float: left;
|
||||
@ -97,20 +97,20 @@
|
||||
#ptTimeSelectCntr .ptTimeSelectMinCntr a:hover{
|
||||
background: #43c3ea !important;
|
||||
border-color: #43c3ea !important;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
|
||||
/* Hour min text style */
|
||||
#ptTimeSelectCntr .ptTimeSelectTimeLabelsCntr {
|
||||
/* #ptTimeSelectCntr .ptTimeSelectTimeLabelsCntr {
|
||||
color: #252525;
|
||||
font-size: 13px;
|
||||
font-weight: 700;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
/* Cloase button style */
|
||||
#ptTimeSelectCntr #ptTimeSelectCloseCntr a {
|
||||
/* #ptTimeSelectCntr #ptTimeSelectCloseCntr a {
|
||||
border-radius: 30%;
|
||||
display: block;
|
||||
height: 25px !important;
|
||||
@ -123,7 +123,7 @@
|
||||
}
|
||||
|
||||
/* am pm content style, hover bg */
|
||||
#ptTimeSelectCntr .ui-state-default {
|
||||
/* #ptTimeSelectCntr .ui-state-default {
|
||||
background: #fff !important;
|
||||
border: 1px solid #eaeaea !important;
|
||||
border-radius: 0;
|
||||
@ -141,11 +141,11 @@
|
||||
#ptTimeSelectCntr .ui-state-default:hover{
|
||||
background: #43c3ea !important;
|
||||
border-color: #43c3ea !important;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
/* For time set button css */
|
||||
#ptTimeSelectCntr #ptTimeSelectSetButton {
|
||||
/* #ptTimeSelectCntr #ptTimeSelectSetButton {
|
||||
padding: 0 15px 5px 0;
|
||||
}
|
||||
#ptTimeSelectSetButton .ui-state-hover{
|
||||
@ -178,7 +178,7 @@
|
||||
}
|
||||
#ptTimeSelectCntr #ptTimeSelectSetButton a:hover{
|
||||
background: #43c3ea !important;
|
||||
}
|
||||
} */
|
||||
|
||||
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
BIN
public/assets/images/banner/desktopBanner/banner-1.webp
Normal file
|
After Width: | Height: | Size: 107 KiB |
BIN
public/assets/images/banner/desktopBanner/banner-2.webp
Normal file
|
After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 2.5 MiB After Width: | Height: | Size: 3.3 MiB |
BIN
public/assets/images/banner/desktopBanner/banner-3.webp
Normal file
|
After Width: | Height: | Size: 645 KiB |
BIN
public/assets/images/banner/desktopBanner/banner-4.webp
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
public/assets/images/cancel.webp
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
public/assets/images/chat.webp
Normal file
|
After Width: | Height: | Size: 1.6 KiB |
BIN
public/assets/images/fb.webp
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
public/assets/images/footer-logo.webp
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
public/assets/images/gallery/left.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/assets/images/gallery/right.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
public/assets/images/icons/WhatsApp.svg.webp
Normal file
|
After Width: | Height: | Size: 60 KiB |
BIN
public/assets/images/icons/call.webp
Normal file
|
After Width: | Height: | Size: 744 B |
BIN
public/assets/images/icons/mail.webp
Normal file
|
After Width: | Height: | Size: 652 B |
BIN
public/assets/images/insta.webp
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
public/assets/images/mail.webp
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 12 KiB |
BIN
public/assets/images/shape/shape-12.webp
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
public/assets/images/shape/shape-23.webp
Normal file
|
After Width: | Height: | Size: 229 KiB |
BIN
public/assets/images/shape/shape-26.webp
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
public/assets/images/share.webp
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
@ -1,151 +0,0 @@
|
||||
/*
|
||||
* jQuery.appear
|
||||
* https://github.com/bas2k/jquery.appear/
|
||||
* http://code.google.com/p/jquery-appear/
|
||||
* http://bas2k.ru/
|
||||
*
|
||||
* Copyright (c) 2009 Michael Hixson
|
||||
* Copyright (c) 2012-2014 Alexander Brovikov
|
||||
* Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
|
||||
*/
|
||||
(function($) {
|
||||
$.fn.appear = function(fn, options) {
|
||||
|
||||
var settings = $.extend({
|
||||
|
||||
//arbitrary data to pass to fn
|
||||
data: undefined,
|
||||
|
||||
//call fn only on the first appear?
|
||||
one: true,
|
||||
|
||||
// X & Y accuracy
|
||||
accX: 0,
|
||||
accY: 0
|
||||
|
||||
}, options);
|
||||
|
||||
return this.each(function() {
|
||||
|
||||
var t = $(this);
|
||||
|
||||
//whether the element is currently visible
|
||||
t.appeared = false;
|
||||
|
||||
if (!fn) {
|
||||
|
||||
//trigger the custom event
|
||||
t.trigger('appear', settings.data);
|
||||
return;
|
||||
}
|
||||
|
||||
var w = $(window);
|
||||
|
||||
//fires the appear event when appropriate
|
||||
var check = function() {
|
||||
|
||||
//is the element hidden?
|
||||
if (!t.is(':visible')) {
|
||||
|
||||
//it became hidden
|
||||
t.appeared = false;
|
||||
return;
|
||||
}
|
||||
|
||||
//is the element inside the visible window?
|
||||
var a = w.scrollLeft();
|
||||
var b = w.scrollTop();
|
||||
var o = t.offset();
|
||||
var x = o.left;
|
||||
var y = o.top;
|
||||
|
||||
var ax = settings.accX;
|
||||
var ay = settings.accY;
|
||||
var th = t.height();
|
||||
var wh = w.height();
|
||||
var tw = t.width();
|
||||
var ww = w.width();
|
||||
|
||||
if (y + th + ay >= b &&
|
||||
y <= b + wh + ay &&
|
||||
x + tw + ax >= a &&
|
||||
x <= a + ww + ax) {
|
||||
|
||||
//trigger the custom event
|
||||
if (!t.appeared) t.trigger('appear', settings.data);
|
||||
|
||||
} else {
|
||||
|
||||
//it scrolled out of view
|
||||
t.appeared = false;
|
||||
}
|
||||
};
|
||||
|
||||
//create a modified fn with some additional logic
|
||||
var modifiedFn = function() {
|
||||
|
||||
//mark the element as visible
|
||||
t.appeared = true;
|
||||
|
||||
//is this supposed to happen only once?
|
||||
if (settings.one) {
|
||||
|
||||
//remove the check
|
||||
w.unbind('scroll', check);
|
||||
var i = $.inArray(check, $.fn.appear.checks);
|
||||
if (i >= 0) $.fn.appear.checks.splice(i, 1);
|
||||
}
|
||||
|
||||
//trigger the original fn
|
||||
fn.apply(this, arguments);
|
||||
};
|
||||
|
||||
//bind the modified fn to the element
|
||||
if (settings.one) t.one('appear', settings.data, modifiedFn);
|
||||
else t.bind('appear', settings.data, modifiedFn);
|
||||
|
||||
//check whenever the window scrolls
|
||||
w.scroll(check);
|
||||
|
||||
//check whenever the dom changes
|
||||
$.fn.appear.checks.push(check);
|
||||
|
||||
//check now
|
||||
(check)();
|
||||
});
|
||||
};
|
||||
|
||||
//keep a queue of appearance checks
|
||||
$.extend($.fn.appear, {
|
||||
|
||||
checks: [],
|
||||
timeout: null,
|
||||
|
||||
//process the queue
|
||||
checkAll: function() {
|
||||
var length = $.fn.appear.checks.length;
|
||||
if (length > 0) while (length--) ($.fn.appear.checks[length])();
|
||||
},
|
||||
|
||||
//check the queue asynchronously
|
||||
run: function() {
|
||||
if ($.fn.appear.timeout) clearTimeout($.fn.appear.timeout);
|
||||
$.fn.appear.timeout = setTimeout($.fn.appear.checkAll, 20);
|
||||
}
|
||||
});
|
||||
|
||||
//run checks when these methods are called
|
||||
$.each(['append', 'prepend', 'after', 'before', 'attr',
|
||||
'removeAttr', 'addClass', 'removeClass', 'toggleClass',
|
||||
'remove', 'css', 'show', 'hide'], function(i, n) {
|
||||
var old = $.fn[n];
|
||||
if (old) {
|
||||
$.fn[n] = function() {
|
||||
var r = old.apply(this, arguments);
|
||||
$.fn.appear.run();
|
||||
return r;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
7
public/assets/js/bootstrap.min.js
vendored
@ -1 +0,0 @@
|
||||
(function(e){var t,n={hasPreview:true,defaultThemeId:"jssDefault",fullPath:"css/",cookie:{expires:30,isManagingLoad:true}},r="jss_selected",i={};i={getItem:function(e){if(!e){return null}return decodeURIComponent(document.cookie.replace(new RegExp("(?:(?:^|.*;)\\s*"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=\\s*([^;]*).*$)|^.*$"),"$1"))||null},setItem:function(e,t,n,r,i,s){if(!e||/^(?:expires|max\-age|path|domain|secure)$/i.test(e)){return false}var o="";if(n){switch(n.constructor){case Number:o=n===Infinity?"; expires=Fri, 31 Dec 9999 23:59:59 GMT":"; max-age="+n;break;case String:o="; expires="+n;break;case Date:o="; expires="+n.toUTCString();break}}document.cookie=encodeURIComponent(e)+"="+encodeURIComponent(t)+o+(i?"; domain="+i:"")+(r?"; path="+r:"")+(s?"; secure":"");return true},removeItem:function(e,t,n){if(!this.hasItem(e)){return false}document.cookie=encodeURIComponent(e)+"=; expires=Thu, 01 Jan 1970 00:00:00 GMT"+(n?"; domain="+n:"")+(t?"; path="+t:"");return true},hasItem:function(e){if(!e){return false}return(new RegExp("(?:^|;\\s*)"+encodeURIComponent(e).replace(/[\-\.\+\*]/g,"\\$&")+"\\s*\\=")).test(document.cookie)},keys:function(){var e=document.cookie.replace(/((?:^|\s*;)[^\=]+)(?=;|$)|^\s*|\s*(?:\=[^;]*)?(?:\1|$)/g,"").split(/\s*(?:\=[^;]*)?;\s*/);for(var t=e.length,n=0;n<t;n++){e[n]=decodeURIComponent(e[n])}return e}};t=function(e,t){return this.init(e,t)};t.prototype={$root:null,config:{},$themeCss:null,defaultTheme:null,init:function(e,t){this.$root=e;this.config=t?t:{};this.setDefaultTheme();if(this.defaultTheme){if(this.config.cookie){this.checkCookie()}if(this.config.hasPreview){this.addHoverEvents()}this.addClickEvents()}else{this.$root.addClass("jssError error level0")}},setDefaultTheme:function(){this.$themeCss=e("link[id="+this.config.defaultThemeId+"]");if(this.$themeCss.length){this.defaultTheme=this.$themeCss.attr("href")}},resetStyle:function(){this.updateStyle(this.defaultTheme)},updateStyle:function(e){this.$themeCss.attr("href",e)},getFullAssetPath:function(e){return this.config.fullPath+e+".css"},checkCookie:function(){var e;if(this.config.cookie&&this.config.cookie.isManagingLoad){e=i.getItem(r);if(e){newStyle=this.getFullAssetPath(e);this.updateStyle(newStyle);this.defaultTheme=newStyle}}},addHoverEvents:function(){var t=this;this.$root.find("a").hover(function(){var n=e(this).data("theme"),r=t.getFullAssetPath(n);t.updateStyle(r)},function(){t.resetStyle()})},addClickEvents:function(){var t=this;this.$root.find("a").click(function(){var n=e(this).data("theme"),s=t.getFullAssetPath(n);t.updateStyle(s);t.defaultTheme=s;if(t.config.cookie){i.setItem(r,n,t.config.cookie.expires)}})}};e.fn.styleSwitcher=function(r){return new t(this,e.extend(true,n,r))}})(jQuery)
|
||||
16159
public/assets/js/jquery-ui.js
vendored
5238
public/assets/js/jquery.fancybox.js
vendored
5
public/assets/js/jquery.js
vendored
4
public/assets/js/jquery.nice-select.min.js
vendored
@ -1,4 +0,0 @@
|
||||
/* jQuery Nice Select - v1.0
|
||||
https://github.com/hernansartorio/jquery-nice-select
|
||||
Made by Hernán Sartorio */
|
||||
!function(e){e.fn.niceSelect=function(t){function s(t){t.after(e("<div></div>").addClass("nice-select").addClass(t.attr("class")||"").addClass(t.attr("disabled")?"disabled":"").attr("tabindex",t.attr("disabled")?null:"0").html('<span class="current"></span><ul class="list"></ul>'));var s=t.next(),n=t.find("option"),i=t.find("option:selected");s.find(".current").html(i.data("display")||i.text()),n.each(function(t){var n=e(this),i=n.data("display");s.find("ul").append(e("<li></li>").attr("data-value",n.val()).attr("data-display",i||null).addClass("option"+(n.is(":selected")?" selected":"")+(n.is(":disabled")?" disabled":"")).html(n.text()))})}if("string"==typeof t)return"update"==t?this.each(function(){var t=e(this),n=e(this).next(".nice-select"),i=n.hasClass("open");n.length&&(n.remove(),s(t),i&&t.next().trigger("click"))}):"destroy"==t?(this.each(function(){var t=e(this),s=e(this).next(".nice-select");s.length&&(s.remove(),t.css("display",""))}),0==e(".nice-select").length&&e(document).off(".nice_select")):console.log('Method "'+t+'" does not exist.'),this;this.hide(),this.each(function(){var t=e(this);t.next().hasClass("nice-select")||s(t)}),e(document).off(".nice_select"),e(document).on("click.nice_select",".nice-select",function(t){var s=e(this);e(".nice-select").not(s).removeClass("open"),s.toggleClass("open"),s.hasClass("open")?(s.find(".option"),s.find(".focus").removeClass("focus"),s.find(".selected").addClass("focus")):s.focus()}),e(document).on("click.nice_select",function(t){0===e(t.target).closest(".nice-select").length&&e(".nice-select").removeClass("open").find(".option")}),e(document).on("click.nice_select",".nice-select .option:not(.disabled)",function(t){var s=e(this),n=s.closest(".nice-select");n.find(".selected").removeClass("selected"),s.addClass("selected");var i=s.data("display")||s.text();n.find(".current").text(i),n.prev("select").val(s.data("value")).trigger("change")}),e(document).on("keydown.nice_select",".nice-select",function(t){var s=e(this),n=e(s.find(".focus")||s.find(".list .option.selected"));if(32==t.keyCode||13==t.keyCode)return s.hasClass("open")?n.trigger("click"):s.trigger("click"),!1;if(40==t.keyCode){if(s.hasClass("open")){var i=n.nextAll(".option:not(.disabled)").first();i.length>0&&(s.find(".focus").removeClass("focus"),i.addClass("focus"))}else s.trigger("click");return!1}if(38==t.keyCode){if(s.hasClass("open")){var l=n.prevAll(".option:not(.disabled)").first();l.length>0&&(s.find(".focus").removeClass("focus"),l.addClass("focus"))}else s.trigger("click");return!1}if(27==t.keyCode)s.hasClass("open")&&s.trigger("click");else if(9==t.keyCode&&s.hasClass("open"))return!1});var n=document.createElement("a").style;return n.cssText="pointer-events:auto","auto"!==n.pointerEvents&&e("html").addClass("no-csspointerevents"),this}}(jQuery);
|
||||
@ -1,138 +0,0 @@
|
||||
"use strict"; // Start of use strict
|
||||
|
||||
// 7. google map
|
||||
function gMap () {
|
||||
if ($('.google-map').length) {
|
||||
$('.google-map').each(function () {
|
||||
// getting options from html
|
||||
var mapName = $(this).attr('id');
|
||||
var mapLat = $(this).data('map-lat');
|
||||
var mapLng = $(this).data('map-lng');
|
||||
var iconPath = $(this).data('icon-path');
|
||||
var mapZoom = $(this).data('map-zoom');
|
||||
var mapTitle = $(this).data('map-title');
|
||||
|
||||
// defined default style
|
||||
var styles = [
|
||||
{
|
||||
"featureType": "administrative",
|
||||
"elementType": "labels.text.fill",
|
||||
"stylers": [
|
||||
{
|
||||
"color": "#444444"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"featureType": "landscape",
|
||||
"elementType": "all",
|
||||
"stylers": [
|
||||
{
|
||||
"color": "#000"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"featureType": "poi",
|
||||
"elementType": "all",
|
||||
"stylers": [
|
||||
{
|
||||
"visibility": "off"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"featureType": "road",
|
||||
"elementType": "all",
|
||||
"stylers": [
|
||||
{
|
||||
"saturation": -100
|
||||
},
|
||||
{
|
||||
"lightness": 45
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"featureType": "road.highway",
|
||||
"elementType": "all",
|
||||
"stylers": [
|
||||
{
|
||||
"visibility": "simplified"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"featureType": "road.arterial",
|
||||
"elementType": "labels.icon",
|
||||
"stylers": [
|
||||
{
|
||||
"visibility": "off"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"featureType": "transit",
|
||||
"elementType": "all",
|
||||
"stylers": [
|
||||
{
|
||||
"visibility": "off"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"featureType": "water",
|
||||
"elementType": "all",
|
||||
"stylers": [
|
||||
{
|
||||
"color": "#f1f1f1"
|
||||
},
|
||||
{
|
||||
"visibility": "on"
|
||||
}
|
||||
]
|
||||
}
|
||||
];
|
||||
|
||||
|
||||
// if zoom not defined the zoom value will be 15;
|
||||
if (!mapZoom) {
|
||||
var mapZoom = 11;
|
||||
};
|
||||
// init map
|
||||
var map;
|
||||
map = new GMaps({
|
||||
div: '#'+mapName,
|
||||
scrollwheel: false,
|
||||
lat: mapLat,
|
||||
lng: mapLng,
|
||||
styles: styles,
|
||||
zoom: mapZoom
|
||||
});
|
||||
// if icon path setted then show marker
|
||||
if(iconPath) {
|
||||
map.addMarker({
|
||||
icon: iconPath,
|
||||
lat: mapLat,
|
||||
lng: mapLng,
|
||||
title: mapTitle
|
||||
});
|
||||
map.addMarker({
|
||||
icon: iconPath,
|
||||
lat: 40.700843, //you can
|
||||
lng: 40.700843,
|
||||
title: "New York"
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
||||
// instance of fuction while Document ready event
|
||||
jQuery(document).on('ready', function () {
|
||||
(function ($) {
|
||||
gMap();
|
||||
})(jQuery);
|
||||
});
|
||||
@ -1 +0,0 @@
|
||||
"use strict";jQuery,jQuery(document).ready(function(o){0<o(".offset-side-bar").length&&o(".offset-side-bar").on("click",function(e){e.preventDefault(),e.stopPropagation(),o(".cart-group").addClass("isActive")}),0<o(".close-side-widget").length&&o(".close-side-widget").on("click",function(e){e.preventDefault(),o(".cart-group").removeClass("isActive")}),0<o(".navSidebar-button").length&&o(".navSidebar-button").on("click",function(e){e.preventDefault(),e.stopPropagation(),o(".info-group").addClass("isActive")}),0<o(".close-side-widget").length&&o(".close-side-widget").on("click",function(e){e.preventDefault(),o(".info-group").removeClass("isActive")}),o("body").on("click",function(e){o(".info-group").removeClass("isActive"),o(".cart-group").removeClass("isActive")}),o(".xs-sidebar-widget").on("click",function(e){e.stopPropagation()}),0<o(".xs-modal-popup").length&&o(".xs-modal-popup").magnificPopup({type:"inline",fixedContentPos:!1,fixedBgPos:!0,overflowY:"auto",closeBtnInside:!1,callbacks:{beforeOpen:function(){this.st.mainClass="my-mfp-slide-bottom xs-promo-popup"}}})});
|
||||
@ -1,223 +0,0 @@
|
||||
/*
|
||||
* jQuery One Page Nav Plugin
|
||||
* http://github.com/davist11/jQuery-One-Page-Nav
|
||||
*
|
||||
* Copyright (c) 2010 Trevor Davis (http://trevordavis.net)
|
||||
* Dual licensed under the MIT and GPL licenses.
|
||||
* Uses the same license as jQuery, see:
|
||||
* http://jquery.org/license
|
||||
*
|
||||
* @version 3.0.0
|
||||
*
|
||||
* Example usage:
|
||||
* $('#nav').onePageNav({
|
||||
* currentClass: 'current',
|
||||
* changeHash: false,
|
||||
* scrollSpeed: 750
|
||||
* });
|
||||
*/
|
||||
|
||||
(function($, window, document, undefined){
|
||||
|
||||
// our plugin constructor
|
||||
var OnePageNav = function(elem, options){
|
||||
this.elem = elem;
|
||||
this.$elem = $(elem);
|
||||
this.options = options;
|
||||
this.metadata = this.$elem.data('plugin-options');
|
||||
this.$win = $(window);
|
||||
this.sections = {};
|
||||
this.didScroll = false;
|
||||
this.$doc = $(document);
|
||||
this.docHeight = this.$doc.height();
|
||||
};
|
||||
|
||||
// the plugin prototype
|
||||
OnePageNav.prototype = {
|
||||
defaults: {
|
||||
navItems: 'a',
|
||||
currentClass: 'current',
|
||||
changeHash: false,
|
||||
easing: 'swing',
|
||||
filter: '',
|
||||
scrollSpeed: 50,
|
||||
scrollThreshold: 0.5,
|
||||
begin: false,
|
||||
end: false,
|
||||
scrollChange: false
|
||||
},
|
||||
|
||||
init: function() {
|
||||
// Introduce defaults that can be extended either
|
||||
// globally or using an object literal.
|
||||
this.config = $.extend({}, this.defaults, this.options, this.metadata);
|
||||
|
||||
this.$nav = this.$elem.find(this.config.navItems);
|
||||
|
||||
//Filter any links out of the nav
|
||||
if(this.config.filter !== '') {
|
||||
this.$nav = this.$nav.filter(this.config.filter);
|
||||
}
|
||||
|
||||
//Handle clicks on the nav
|
||||
this.$nav.on('click.onePageNav', $.proxy(this.handleClick, this));
|
||||
|
||||
//Get the section positions
|
||||
this.getPositions();
|
||||
|
||||
//Handle scroll changes
|
||||
this.bindInterval();
|
||||
|
||||
//Update the positions on resize too
|
||||
this.$win.on('resize.onePageNav', $.proxy(this.getPositions, this));
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
adjustNav: function(self, $parent) {
|
||||
self.$elem.find('.' + self.config.currentClass).removeClass(self.config.currentClass);
|
||||
$parent.addClass(self.config.currentClass);
|
||||
},
|
||||
|
||||
bindInterval: function() {
|
||||
var self = this;
|
||||
var docHeight;
|
||||
|
||||
self.$win.on('scroll.onePageNav', function() {
|
||||
self.didScroll = true;
|
||||
});
|
||||
|
||||
self.t = setInterval(function() {
|
||||
docHeight = self.$doc.height();
|
||||
|
||||
//If it was scrolled
|
||||
if(self.didScroll) {
|
||||
self.didScroll = false;
|
||||
self.scrollChange();
|
||||
}
|
||||
|
||||
//If the document height changes
|
||||
if(docHeight !== self.docHeight) {
|
||||
self.docHeight = docHeight;
|
||||
self.getPositions();
|
||||
}
|
||||
}, 250);
|
||||
},
|
||||
|
||||
getHash: function($link) {
|
||||
return $link.attr('href').split('#')[1];
|
||||
},
|
||||
|
||||
getPositions: function() {
|
||||
var self = this;
|
||||
var linkHref;
|
||||
var topPos;
|
||||
var $target;
|
||||
|
||||
self.$nav.each(function() {
|
||||
linkHref = self.getHash($(this));
|
||||
$target = $('#' + linkHref);
|
||||
|
||||
if($target.length) {
|
||||
topPos = $target.offset().top;
|
||||
self.sections[linkHref] = Math.round(topPos);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
getSection: function(windowPos) {
|
||||
var returnValue = null;
|
||||
var windowHeight = Math.round(this.$win.height() * this.config.scrollThreshold);
|
||||
|
||||
for(var section in this.sections) {
|
||||
if((this.sections[section] - windowHeight) < windowPos) {
|
||||
returnValue = section;
|
||||
}
|
||||
}
|
||||
|
||||
return returnValue;
|
||||
},
|
||||
|
||||
handleClick: function(e) {
|
||||
var self = this;
|
||||
var $link = $(e.currentTarget);
|
||||
var $parent = $link.parent();
|
||||
var newLoc = '#' + self.getHash($link);
|
||||
|
||||
if(!$parent.hasClass(self.config.currentClass)) {
|
||||
//Start callback
|
||||
if(self.config.begin) {
|
||||
self.config.begin();
|
||||
}
|
||||
|
||||
//Change the highlighted nav item
|
||||
self.adjustNav(self, $parent);
|
||||
|
||||
//Removing the auto-adjust on scroll
|
||||
self.unbindInterval();
|
||||
|
||||
//Scroll to the correct position
|
||||
self.scrollTo(newLoc, function() {
|
||||
//Do we need to change the hash?
|
||||
if(self.config.changeHash) {
|
||||
window.location.hash = newLoc;
|
||||
}
|
||||
|
||||
//Add the auto-adjust on scroll back in
|
||||
self.bindInterval();
|
||||
|
||||
//End callback
|
||||
if(self.config.end) {
|
||||
self.config.end();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
},
|
||||
|
||||
scrollChange: function() {
|
||||
var windowTop = this.$win.scrollTop();
|
||||
var position = this.getSection(windowTop);
|
||||
var $parent;
|
||||
|
||||
//If the position is set
|
||||
if(position !== null) {
|
||||
$parent = this.$elem.find('a[href$="#' + position + '"]').parent();
|
||||
|
||||
//If it's not already the current section
|
||||
if(!$parent.hasClass(this.config.currentClass)) {
|
||||
//Change the highlighted nav item
|
||||
this.adjustNav(this, $parent);
|
||||
|
||||
//If there is a scrollChange callback
|
||||
if(this.config.scrollChange) {
|
||||
this.config.scrollChange($parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
scrollTo: function(target, callback) {
|
||||
var offset = $(target).offset().top-70;
|
||||
|
||||
$('html, body').animate({
|
||||
scrollTop: offset
|
||||
}, this.config.scrollSpeed, this.config.easing, callback);
|
||||
},
|
||||
|
||||
unbindInterval: function() {
|
||||
clearInterval(this.t);
|
||||
this.$win.unbind('scroll.onePageNav');
|
||||
}
|
||||
};
|
||||
|
||||
OnePageNav.defaults = OnePageNav.prototype.defaults;
|
||||
|
||||
$.fn.onePageNav = function(options) {
|
||||
return this.each(function() {
|
||||
new OnePageNav(this, options).init();
|
||||
});
|
||||
};
|
||||
|
||||
})( jQuery, window , document );
|
||||
@ -1,185 +0,0 @@
|
||||
jQuery(function() {
|
||||
ParallaxScroll.init();
|
||||
});
|
||||
|
||||
var ParallaxScroll = {
|
||||
/* PUBLIC VARIABLES */
|
||||
showLogs: false,
|
||||
round: 1000,
|
||||
|
||||
/* PUBLIC FUNCTIONS */
|
||||
init: function() {
|
||||
this._log("init");
|
||||
if (this._inited) {
|
||||
this._log("Already Inited");
|
||||
this._inited = true;
|
||||
return;
|
||||
}
|
||||
this._requestAnimationFrame = (function(){
|
||||
return window.requestAnimationFrame ||
|
||||
window.webkitRequestAnimationFrame ||
|
||||
window.mozRequestAnimationFrame ||
|
||||
window.oRequestAnimationFrame ||
|
||||
window.msRequestAnimationFrame ||
|
||||
function(/* function */ callback, /* DOMElement */ element){
|
||||
window.setTimeout(callback, 1000 / 60);
|
||||
};
|
||||
})();
|
||||
this._onScroll(true);
|
||||
},
|
||||
|
||||
/* PRIVATE VARIABLES */
|
||||
_inited: false,
|
||||
_properties: ['x', 'y', 'z', 'rotateX', 'rotateY', 'rotateZ', 'scaleX', 'scaleY', 'scaleZ', 'scale'],
|
||||
_requestAnimationFrame:null,
|
||||
|
||||
/* PRIVATE FUNCTIONS */
|
||||
_log: function(message) {
|
||||
if (this.showLogs) console.log("Parallax Scroll / " + message);
|
||||
},
|
||||
_onScroll: function(noSmooth) {
|
||||
var scroll = jQuery(document).scrollTop();
|
||||
var windowHeight = jQuery(window).height();
|
||||
this._log("onScroll " + scroll);
|
||||
jQuery("[data-parallax]").each(jQuery.proxy(function(index, el) {
|
||||
var jQueryel = jQuery(el);
|
||||
var properties = [];
|
||||
var applyProperties = false;
|
||||
var style = jQueryel.data("style");
|
||||
if (style == undefined) {
|
||||
style = jQueryel.attr("style") || "";
|
||||
jQueryel.data("style", style);
|
||||
}
|
||||
var datas = [jQueryel.data("parallax")];
|
||||
var iData;
|
||||
for(iData = 2; ; iData++) {
|
||||
if(jQueryel.data("parallax"+iData)) {
|
||||
datas.push(jQueryel.data("parallax-"+iData));
|
||||
}
|
||||
else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
var datasLength = datas.length;
|
||||
for(iData = 0; iData < datasLength; iData ++) {
|
||||
var data = datas[iData];
|
||||
var scrollFrom = data["from-scroll"];
|
||||
if (scrollFrom == undefined) scrollFrom = Math.max(0, jQuery(el).offset().top - windowHeight);
|
||||
scrollFrom = scrollFrom | 0;
|
||||
var scrollDistance = data["distance"];
|
||||
var scrollTo = data["to-scroll"];
|
||||
if (scrollDistance == undefined && scrollTo == undefined) scrollDistance = windowHeight;
|
||||
scrollDistance = Math.max(scrollDistance | 0, 1);
|
||||
var easing = data["easing"];
|
||||
var easingReturn = data["easing-return"];
|
||||
if (easing == undefined || !jQuery.easing|| !jQuery.easing[easing]) easing = null;
|
||||
if (easingReturn == undefined || !jQuery.easing|| !jQuery.easing[easingReturn]) easingReturn = easing;
|
||||
if (easing) {
|
||||
var totalTime = data["duration"];
|
||||
if (totalTime == undefined) totalTime = scrollDistance;
|
||||
totalTime = Math.max(totalTime | 0, 1);
|
||||
var totalTimeReturn = data["duration-return"];
|
||||
if (totalTimeReturn == undefined) totalTimeReturn = totalTime;
|
||||
scrollDistance = 1;
|
||||
var currentTime = jQueryel.data("current-time");
|
||||
if(currentTime == undefined) currentTime = 0;
|
||||
}
|
||||
if (scrollTo == undefined) scrollTo = scrollFrom + scrollDistance;
|
||||
scrollTo = scrollTo | 0;
|
||||
var smoothness = data["smoothness"];
|
||||
if (smoothness == undefined) smoothness = 30;
|
||||
smoothness = smoothness | 0;
|
||||
if (noSmooth || smoothness == 0) smoothness = 1;
|
||||
smoothness = smoothness | 0;
|
||||
var scrollCurrent = scroll;
|
||||
scrollCurrent = Math.max(scrollCurrent, scrollFrom);
|
||||
scrollCurrent = Math.min(scrollCurrent, scrollTo);
|
||||
if(easing) {
|
||||
if(jQueryel.data("sens") == undefined) jQueryel.data("sens", "back");
|
||||
if(scrollCurrent>scrollFrom) {
|
||||
if(jQueryel.data("sens") == "back") {
|
||||
currentTime = 1;
|
||||
jQueryel.data("sens", "go");
|
||||
}
|
||||
else {
|
||||
currentTime++;
|
||||
}
|
||||
}
|
||||
if(scrollCurrent<scrollTo) {
|
||||
if(jQueryel.data("sens") == "go") {
|
||||
currentTime = 1;
|
||||
jQueryel.data("sens", "back");
|
||||
}
|
||||
else {
|
||||
currentTime++;
|
||||
}
|
||||
}
|
||||
if(noSmooth) currentTime = totalTime;
|
||||
jQueryel.data("current-time", currentTime);
|
||||
}
|
||||
this._properties.map(jQuery.proxy(function(prop) {
|
||||
var defaultProp = 0;
|
||||
var to = data[prop];
|
||||
if (to == undefined) return;
|
||||
if(prop=="scale" || prop=="scaleX" || prop=="scaleY" || prop=="scaleZ" ) {
|
||||
defaultProp = 1;
|
||||
}
|
||||
else {
|
||||
to = to | 0;
|
||||
}
|
||||
var prev = jQueryel.data("_" + prop);
|
||||
if (prev == undefined) prev = defaultProp;
|
||||
var next = ((to-defaultProp) * ((scrollCurrent - scrollFrom) / (scrollTo - scrollFrom))) + defaultProp;
|
||||
var val = prev + (next - prev) / smoothness;
|
||||
if(easing && currentTime>0 && currentTime<=totalTime) {
|
||||
var from = defaultProp;
|
||||
if(jQueryel.data("sens") == "back") {
|
||||
from = to;
|
||||
to = -to;
|
||||
easing = easingReturn;
|
||||
totalTime = totalTimeReturn;
|
||||
}
|
||||
val = jQuery.easing[easing](null, currentTime, from, to, totalTime);
|
||||
}
|
||||
val = Math.ceil(val * this.round) / this.round;
|
||||
if(val==prev&&next==to) val = to;
|
||||
if(!properties[prop]) properties[prop] = 0;
|
||||
properties[prop] += val;
|
||||
if (prev != properties[prop]) {
|
||||
jQueryel.data("_" + prop, properties[prop]);
|
||||
applyProperties = true;
|
||||
}
|
||||
}, this));
|
||||
}
|
||||
if (applyProperties) {
|
||||
if (properties["z"] != undefined) {
|
||||
var perspective = data["perspective"];
|
||||
if (perspective == undefined) perspective = 800;
|
||||
var jQueryparent = jQueryel.parent();
|
||||
if(!jQueryparent.data("style")) jQueryparent.data("style", jQueryparent.attr("style") || "");
|
||||
jQueryparent.attr("style", "perspective:" + perspective + "px; -webkit-perspective:" + perspective + "px; "+ jQueryparent.data("style"));
|
||||
}
|
||||
if(properties["scaleX"] == undefined) properties["scaleX"] = 1;
|
||||
if(properties["scaleY"] == undefined) properties["scaleY"] = 1;
|
||||
if(properties["scaleZ"] == undefined) properties["scaleZ"] = 1;
|
||||
if (properties["scale"] != undefined) {
|
||||
properties["scaleX"] *= properties["scale"];
|
||||
properties["scaleY"] *= properties["scale"];
|
||||
properties["scaleZ"] *= properties["scale"];
|
||||
}
|
||||
var translate3d = "translate3d(" + (properties["x"] ? properties["x"] : 0) + "px, " + (properties["y"] ? properties["y"] : 0) + "px, " + (properties["z"] ? properties["z"] : 0) + "px)";
|
||||
var rotate3d = "rotateX(" + (properties["rotateX"] ? properties["rotateX"] : 0) + "deg) rotateY(" + (properties["rotateY"] ? properties["rotateY"] : 0) + "deg) rotateZ(" + (properties["rotateZ"] ? properties["rotateZ"] : 0) + "deg)";
|
||||
var scale3d = "scaleX(" + properties["scaleX"] + ") scaleY(" + properties["scaleY"] + ") scaleZ(" + properties["scaleZ"] + ")";
|
||||
var cssTransform = translate3d + " " + rotate3d + " " + scale3d + ";";
|
||||
this._log(cssTransform);
|
||||
jQueryel.attr("style", "transform:" + cssTransform + " -webkit-transform:" + cssTransform + " " + style);
|
||||
}
|
||||
}, this));
|
||||
if(window.requestAnimationFrame) {
|
||||
window.requestAnimationFrame(jQuery.proxy(this._onScroll, this, false));
|
||||
}
|
||||
else {
|
||||
this._requestAnimationFrame(jQuery.proxy(this._onScroll, this, false));
|
||||
}
|
||||
}
|
||||
};
|
||||