1import{r as t,a as g,j as e,c as D}from"./vendor-react-JvOfuU1F.js";import{_ as s}from"./vendor-three-C3MHZ_HT.js";import{u as j,L as i,R as T,a,B as L}from"./vendor-router-CKwTJxUt.js";import{H as I,M as b,C as x,A as _,S,B as k,F as P,a as R,U as A,L as C,T as O,b as V,c as B,d as M,e as y,P as H,f as W,g as F,I as K}from"./vendor-icons-uVp5GEZC.js";import{LazyMotion as q}from"./vendor-framer-BXUQ65wF.js";const Y=[{category:"General & Preventive Dentistry",id:"general-preventive",items:[{label:"Dental check-ups and examinations",path:"/services/general-preventive/checkups-examinations"},{label:"Scale and clean (professional cleaning)",path:"/services/general-preventive/scale-clean"},{label:"Dental X-rays",path:"/services/general-preventive/dental-xrays"},{label:"Fluoride treatments",path:"/services/general-preventive/fluoride-treatments"},{label:"Tooth fillings",path:"/services/general-preventive/tooth-fillings"},{label:"Tooth extractions",path:"/services/general-preventive/tooth-extractions"},{label:"Gum treatment / periodontal care",path:"/services/general-preventive/gum-treatment"},{label:"Oral hygiene advice",path:"/services/general-preventive/oral-hygiene"},{label:"Mouthguards and splints",path:"/services/general-preventive/mouthguards-splints"}]},{category:"Childrenâs Dentistry",id:"childrens-dentistry",items:[{label:"Kidsâ dental check-ups",path:"/services/childrens-dentistry/kids-checkups"},{label:"Preventive dental care and education",path:"/services/childrens-dentistry/preventive-care"},{label:"Fluoride treatments for children",path:"/services/childrens-dentistry/fluoride-kids"},{label:"Fissure sealants",path:"/services/childrens-dentistry/fissure-sealants"},{label:"Treatment of tooth decay in children",path:"/services/childrens-dentistry/tooth-decay"},{label:"Child-friendly, pain-free dentistry",path:"/services/childrens-dentistry/child-friendly-care"},{label:"Child Dental Benefits Schedule (CDBS)",path:"/services/childrens-dentistry/cdbs"}]},{category:"Restorative Dentistry",id:"restorative-dentistry",items:[{label:"Tooth-coloured (composite) fillings",path:"/services/restorative-dentistry/composite-fillings"},{label:"Dental crowns",path:"/services/restorative-dentistry/dental-crowns"},{label:"Dental bridges",path:"/services/restorative-dentistry/dental-bridges"},{label:"Inlays and onlays",path:"/services/restorative-dentistry/inlays-onlays"}]},{category:"Root Canal Treatment",id:"root-canal",items:[{label:"Root canal therapy (endodontic treatment)",path:"/services/root-canal/root-canal-therapy"},{label:"Treatment to save infected or damaged teeth",path:"/services/root-canal/save-infected-tooth"}]},{category:"Cosmetic Dentistry",id:"cosmetic-dentistry",items:[{label:"Teeth whitening",path:"/services/cosmetic-dentistry/teeth-whitening"},{label:"Veneers / laminates",path:"/services/cosmetic-dentistry/veneers"},{label:"Smile makeovers",path:"/services/cosmetic-dentistry/smile-makeovers"}]},{category:"Dental Implants & Tooth Replacement",id:"implants-replacement",items:[{label:"Dental implants",path:"/services/implants-replacement/dental-implants"},{label:"Implant consultations and treatment planning",path:"/services/implants-replacement/implant-consultations"},{label:"Tooth replacement solutions",path:"/services/implants-replacement/tooth-replacement"}]},{category:"Dentures",id:"dentures",items:[{label:"Full dentures",path:"/services/dentures/full-dentures"},{label:"Partial dentures",path:"/services/dentures/partial-dentures"},{label:"Denture adjustments and repairs",path:"/services/dentures/denture-repairs"},{label:"Denture consultations",path:"/services/dentures/denture-consultation"}]},{category:"Clear Aligners",id:"clear-aligners",items:[{label:"Clear aligner orthodontic treatment",path:"/services/clear-aligners/clear-aligner-treatment"}]},{category:"Wisdom Teeth",id:"wisdom-teeth",items:[{label:"Wisdom teeth assessment",path:"/services/wisdom-teeth/wisdom-teeth-assessment"},{label:"Wisdom teeth removal",path:"/services/wisdom-teeth/wisdom-teeth-removal"},{label:"Management of wisdom tooth pain",path:"/services/wisdom-teeth/wisdom-tooth-pain"}]},{category:"Emergency Dentistry",id:"emergency-dentistry",items:[{label:"Toothache relief",path:"/services/emergency-dentistry/toothache-relief"},{label:"Chipped or broken teeth",path:"/services/emergency-dentistry/chipped-broken"},{label:"Knocked-out teeth",path:"/services/emergency-dentistry/knocked-out"},{label:"Dental abscess treatment",path:"/services/emergency-dentistry/dental-abscess"},{label:"Lost fillings, crowns, or bridges",path:"/services/emergency-dentistry/lost-fillings"},{label:"Soft tissue dental injuries",path:"/services/emergency-dentistry/soft-tissue"},{label:"Same-day urgent dental care",path:"/services/emergency-dentistry/urgent-care"}]}],G=[{label:"Box Hill",path:"/location/box-hill"},{label:"Beaumont Hills",path:"/location/beaumont-hills"},{label:"The Ponds",path:"/location/the-ponds"},{label:"Kellyville Ridge",path:"/location/kellyville-ridge"},{label:"Schofields",path:"/location/schofields"},{label:"North Kellyville",path:"/location/north-kellyville"},{label:"Kellyville",path:"/location/kellyville"},{label:"Quakers Hill",path:"/location/quakers-hill"},{label:"Castle Hill",path:"/location/castle-hill"},{label:"Baulkham Hills",path:"/location/baulkham-hills"},{label:"Marsden Park",path:"/location/marsden-park"},{label:"Tallawong",path:"/location/tallawong"}],U=Y;function $(){const[n,r]=t.useState(!1),[o,c]=t.useState(!1),[l,d]=t.useState(null),E=j();t.useEffect(()=>{d(null),r(!1)},[E]);const u=g.useRef(null),h=p=>{window.innerWidth>1024&&(u.current&&clearTimeout(u.current),d(p))},m=()=>{window.innerWidth>1024&&(u.current=setTimeout(()=>{d(null)},300))};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"nav-trigger",onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1)}),e.jsxs("nav",{className:`navbar-container ${o||l?"nav-expanded":""}`,onMouseEnter:()=>c(!0),onMouseLeave:()=>{c(!1),n||m()},children:[e.jsxs("div",{className:"navbar",children:[e.jsx(i,{to:"/",className:"nav-brand",children:e.jsx("img",{src:"/logo-navbar.webp",alt:"DentalCube Logo",className:"brand-logo",width:"200",height:"48",fetchpriority:"high"})}),e.jsxs("div",{className:`nav-links ${n?"active":""}`,children:[e.jsxs(i,{to:"/",className:"nav-link-item",onClick:()=>{r(!1),window.scrollTo(0,0)},children:[e.jsx(I,{size:18,strokeWidth:1.5})," ",e.jsx("span",{children:"Home"})]}),e.jsxs("div",{className:"nav-item-wrapper location-item-wrapper",onMouseEnter:()=>h("location"),onMouseLeave:m,children:[e.jsxs(i,{to:"/location",className:`nav-link-item ${l==="location"?"active":""}`,onClick:()=>window.innerWidth<=1024&&d(l==="location"?null:"location"),children:[e.jsx(b,{size:18,strokeWidth:1.5})," ",e.jsx("span",{children:"Location"})," ",e.jsx(x,{size:14,className:"chevron"})]}),l==="location"&&e.jsx("div",{className:"mega-menu location-menu fade-in",children:e.jsxs("div",{className:"mega-menu-inner",children:[e.jsx("div",{className:"suburb-dropdown-grid",children:G.map((p,f)=>e.jsx(i,{to:p.path,className:"suburb-item",children:p.label},f))}),e.jsx("div",{className:"mega-footer-lite",children:e.jsxs(i,{to:"/location",children:["View All Locations ",e.jsx(_,{size:14})]})})]})})]}),e.jsxs("div",{className:"nav-item-wrapper services-item-wrapper",onMouseEnter:()=>h("services"),onMouseLeave:m,children:[e.jsxs(i,{to:"/services",className:`nav-link-item ${l==="services"?"active":""}`,children:[e.jsx(S,{size:18,strokeWidth:1.5})," ",e.jsx("span",{children:"Services"})," ",e.jsx(x,{size:14,className:"chevron"})]}),l==="services"&&e.jsx("div",{className:"mega-menu services-menu fade-in",children:e.jsxs("div",{className:"mega-menu-inner",children:[e.jsx("div",{className:"services-grid-modern",children:U.map((p,f)=>e.jsxs("div",{className:"service-col",children:[e.jsx("h4",{children:p.category}),e.jsx("div",{className:"service-links",children:p.items.map((w,z)=>e.jsx(i,{to:w.path,children:w.label},z))})]},f))}),e.jsx("div",{className:"mega-footer-lite",children:e.jsxs(i,{to:"/services",children:["Browse all treatments ",e.jsx(_,{size:14})]})})]})})]}),e.jsxs("div",{className:"nav-item-wrapper",onMouseEnter:()=>h("about"),onMouseLeave:m,children:[e.jsxs("button",{className:`nav-link-item ${l==="about"?"active":""}`,onClick:()=>window.innerWidth<=1024&&d(l==="about"?null:"about"),children:[e.jsx(k,{size:18,strokeWidth:1.5})," ",e.jsx("span",{children:"About"})," ",e.jsx(x,{size:14,className:"chevron"})]}),l==="about"&&e.jsx("div",{className:"mega-menu about-menu fade-in",children:e.jsx("div",{className:"mega-menu-inner",children:e.jsxs("div",{className:"mega-column",children:[e.jsx("h3",{children:"Practice"}),e.jsxs(i,{to:"/about",className:"mega-item",children:[e.jsx("div",{className:"mega-item-icon",children:e.jsx(k,{size:20,strokeWidth:1.5})}),e.jsxs("div",{children:[e.jsx("strong",{children:"About Us"}),e.jsx("p",{children:"Our legacy and commitment"})]})]}),e.jsxs(i,{to:"/contact",className:"mega-item",children:[e.jsx("div",{className:"mega-item-icon",children:e.jsx(b,{size:20,strokeWidth:1.5})}),e.jsxs("div",{children:[e.jsx("strong",{children:"Contact & Location"}),e.jsx("p",{children:"Find your way to us"})]})]}),e.jsxs(i,{to:"/blog",className:"mega-item",children:[e.jsx("div",{className:"mega-item-icon",children:e.jsx(P,{size:20,strokeWidth:1.5})}),e.jsxs("div",{children:[e.jsx("strong",{children:"Our Blog"}),e.jsx("p",{children:"Latest dental insights"})]})]}),e.jsxs(i,{to:"/gallery",className:"mega-item",children:[e.jsx("div",{className:"mega-item-icon",children:e.jsx(R,{size:20,strokeWidth:1.5})}),e.jsxs("div",{children:[e.jsx("strong",{children:"Smile Gallery"}),e.jsx("p",{children:"View our transformations"})]})]})]})})})]}),e.jsxs(i,{to:"/team",className:"nav-link-item",onClick:()=>{r(!1),window.scrollTo(0,0)},children:[e.jsx(A,{size:18,strokeWidth:1.5})," ",e.jsx("span",{children:"Our Team"})]}),e.jsxs("div",{className:"nav-item-wrapper",onMouseEnter:()=>h("explore"),onMouseLeave:m,children:[e.jsxs("button",{className:`nav-link-item ${l==="explore"?"active":""}`,onClick:()=>window.innerWidth<=1024&&d(l==="explore"?null:"explore"),children:[e.jsx(C,{size:18,strokeWidth:1.5})," ",e.jsx("span",{children:"Explore"})," ",e.jsx(x,{size:14,className:"chevron"})]}),l==="explore"&&e.jsx("div",{className:"mega-menu explore-menu fade-in",children:e.jsxs("div",{className:"mega-menu-inner",children:[e.jsxs(i,{to:"/offers",className:"mega-item high-accent",children:[e.jsx("div",{className:"mega-item-icon",children:e.jsx(O,{size:20,strokeWidth:1.5})}),e.jsxs("div",{children:[e.jsx("strong",{children:"Special Offers"}
1),e.jsx("p",{children:"Exclusive patient benefits"})]})]}),e.jsxs(i,{to:"/payments",className:"mega-item",children:[e.jsx("div",{className:"mega-item-icon",children:e.jsx(V,{size:20,strokeWidth:1.5})}),e.jsxs("div",{children:[e.jsx("strong",{children:"Payments & Plans"}),e.jsx("p",{children:"Funds, Afterpay & NDP"})]})]}),e.jsxs(i,{to:"/faq",className:"mega-item",children:[e.jsx("div",{className:"mega-item-icon",children:e.jsx(B,{size:20,strokeWidth:1.5})}),e.jsxs("div",{children:[e.jsx("strong",{children:"FAQ"}),e.jsx("p",{children:"Your questions answered"})]})]}),e.jsxs(i,{to:"/cdbs",className:"mega-item",children:[e.jsx("div",{className:"mega-item-icon",children:e.jsx(M,{size:20,strokeWidth:1.5})}),e.jsxs("div",{children:[e.jsx("strong",{children:"CDBS"}),e.jsx("p",{children:"Child Dental Benefits"})]})]})]})})]}),e.jsx("a",{href:"https://www.centaurportal.com/d4w/org-2332/extended_search?sourceID=null",target:"_blank",rel:"noopener noreferrer",className:"mobile-only-btn",onClick:()=>r(!1),children:"Book Your Appointment"})]}),e.jsxs("div",{className:"nav-actions",children:[e.jsxs("a",{href:"https://www.centaurportal.com/d4w/org-2332/extended_search?sourceID=null",target:"_blank",rel:"noopener noreferrer",className:"contact-sparkle-btn",children:[e.jsx(y,{size:18,strokeWidth:2}),e.jsx("span",{children:"Book Now"})]}),e.jsxs("button",{className:`menu-toggle ${n?"open":""}`,onClick:()=>r(!n),"aria-label":"Toggle navigation menu",children:[e.jsx("span",{className:"bar"}),e.jsx("span",{className:"bar"}),e.jsx("span",{className:"bar"})]})]})]}),e.jsx("style",{children:` 2 .nav-trigger { 3 position: fixed; 4 top: 0; 5 left: 0; 6 width: 100%; 7 height: 30px; 8 z-index: 999; 9 } 10 11 .navbar-container { 12 position: fixed; 13 top: 24px; 14 left: 50%; 15 transform: translateX(-50%); 16 width: 95%; 17 max-width: 1200px; 18 z-index: 1000; 19 transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1); 20 } 21 22 .navbar { 23 display: flex; 24 align-items: center; 25 justify-content: space-between; 26 padding: 8px 12px 8px 24px; 27 background: rgba(255, 255, 255, 0.7); 28 backdrop-filter: blur(24px); 29 -webkit-backdrop-filter: blur(24px); 30 border: 1px solid rgba(255, 255, 255, 0.4); 31 border-radius: 100px; 32 box-shadow: 0 10px 40px -10px rgba(0, 0, 0, 0.1); 33 transition: all 0.4s ease; 34 } 35 36 .nav-expanded .navbar { 37 background: rgba(255, 255, 255, 0.95); 38 box-shadow: 0 20px 60px -10px rgba(0, 0, 0, 0.15); 39 border-color: rgba(255, 255, 255, 0.8); 40 } 41 42 .nav-brand { 43 display: flex; 44 align-items: center; 45 text-decoration: none; 46 } 47 48 .brand-logo { 49 height: 32px; 50 width: auto; 51 } 52 53 .nav-links { 54 display: flex; 55 gap: 4px; 56 align-items: center; 57 } 58 59 .nav-item-wrapper { 60 position: relative; 61 } 62 63 .nav-link-item { 64 background: none; 65 border: none; 66 padding: 10px 18px; 67 border-radius: 100px; 68 font-size: 0.9rem; 69 color: #1e293b; 70 font-weight: 500; 71 display: flex; 72 align-items: center; 73 gap: 8px; 74 cursor: pointer; 75 transition: all 0.2s; 76 opacity: 0.8; 77 text-decoration: none; 78 } 79 80 .nav-link-item:hover, .nav-link-item.active { 81 opacity: 1; 82 color: var(--primary-blue); 83 background: rgba(11, 69, 184, 0.04); 84 } 85 86 .chevron { 87 transition: transform 0.3s ease; 88 opacity: 0.5; 89 } 90 91 .nav-link-item.active .chevron { 92 transform: rotate(180deg); 93 opacity: 1; 94 } 95 96 /* NEW MEGA MENU STYLES */ 97 .mega-menu { 98 position: absolute; 99 top: calc(100% + 12px); 100 left: 50%; 101 transform: translateX(-50%); 102 z-index: 1001; 103 width: max-content; 104 min-width: 320px; 105 pointer-events: auto; 106 } 107 108 .services-item-wrapper { 109 position: static; 110 } 111 112 .services-menu { 113 left: 50%; 114 transform: translateX(-50%); 115 top: 100%; 116 margin-top: 10px; 117 } 118 119 .mega-menu-inner { 120 background: white; 121 border-radius: 24px; 122 padding: 16px; 123 border: 1px solid rgba(0,0,0,0.05); 124 box-shadow: 0 30px 60px -12px rgba(0,0,0,0.15); 125 display: flex; 126 gap: 8px; 127 flex-direction: column; 128 } 129 130 .about-menu .mega-menu-inner { 131 flex-direction: row; 132 padding: 24px; 133 gap: 40px; 134 } 135 136 .explore-menu .mega-menu-inner { 137 width: 350px; 138 } 139 140 .location-menu .mega-menu-inner { 141 width: 400px; 142 padding: 20px; 143 } 144 145 .suburb-dropdown-grid { 146 display: grid; 147 grid-template-columns: 1fr 1fr; 148 gap: 8px; 149 } 150 151 .suburb-item { 152 padding: 8px 12px; 153 border-radius: 8px; 154 text-decoration: none; 155 color: #475569; 156 font-size: 0.9rem; 157 transition: all 0.2s; 158 } 159 160 .suburb-item:hover { 161 color: var(--primary-blue); 162 background: rgba(11, 69, 184, 0.04); 163 } 164 165 166 .mega-column h3 { 167 font-size: 0.75rem; 168 text-transform: uppercase; 169 letter-spacing: 0.1em; 170 color: #94a3b8; 171 margin-bottom: 12px; 172 padding-left: 12px; 173 } 174 175 .mega-item { 176 display: flex; 177 align-items: center; 178 gap: 16px; 179 padding: 12px; 180 border-radius: 16px; 181 text-decoration: none; 182 transition: all 0.2s; 183 min-width: 240px; 184 } 185 186 .mega-item:hover { 187 background: rgba(11, 69, 184, 0.04); 188 } 189 190 .mega-item-icon { 191 width: 40px; 192 height: 40px; 193 background: #f1f5f9; 194 border-radius: 12px; 195 display: flex; 196 align-items: center; 197 justify-content: center; 198 color: var(--primary-blue); 199 transition: all 0.2s; 200 } 201 202 .mega-item:hover .mega-item-icon { 203 background: var(--primary-blue); 204 color: white; 205 transform: scale(1.05); 206 } 207 208 .mega-item strong { 209 display: block; 210 font-size: 0.95rem; 211 color: #1e293b; 212 margin-bottom: 2px; 213 } 214 215 .mega-item p { 216 font-size: 0.8rem; 217 color: #64748b; 218 margin: 0; 219 } 220 221 /* Services Grid Modern */ 222 .services-menu .mega-menu-inner { 223 width: 1000px; 224 padding: 30px 40px; 225 max-height: calc(100vh - 140px); 226 overflow-y: auto; 227 scrollbar-width: thin; 228 scrollbar-color: rgba(0,0,0,0.1) transparent; 229 } 230 231 .services-menu .mega-menu-inner::-webkit-scrollbar {
232 width: 6px; 233 } 234 235 .services-menu .mega-menu-inner::-webkit-scrollbar-thumb { 236 background-color: rgba(0,0,0,0.1); 237 border-radius: 10px; 238 } 239 240 .services-grid-modern { 241 column-count: 4; 242 column-gap: 40px; 243 display: block; 244 min-height: min-content; 245 } 246 247 .service-col { 248 break-inside: avoid; 249 margin-bottom: 24px; 250 display: inline-block; 251 width: 100%; 252 } 253 254 .service-col h4 { 255 font-size: 0.85rem; 256 font-weight: 700; 257 color: var(--primary-blue); 258 margin-bottom: 12px; 259 padding-bottom: 8px; 260 border-bottom: 2px solid rgba(11, 69, 184, 0.08); 261 letter-spacing: 0.02em; 262 } 263 264 .service-links { 265 display: flex; 266 flex-direction: column; 267 gap: 8px; 268 } 269 270 .service-links a { 271 text-decoration: none; 272 font-size: 0.88rem; 273 color: #475569; 274 transition: all 0.2s ease; 275 display: block; 276 padding: 2px 0; 277 line-height: 1.4; 278 } 279 280 .service-links a:hover { 281 color: var(--primary-blue); 282 transform: translateX(4px); 283 } 284 285 .mega-footer-lite { 286 margin-top: 24px; 287 padding-top: 20px; 288 border-top: 1px solid rgba(0,0,0,0.05); 289 text-align: right; 290 } 291 292 .mega-footer-lite a { 293 color: var(--primary-blue); 294 text-decoration: none; 295 font-weight: 700; 296 font-size: 0.9rem; 297 display: inline-flex; 298 align-items: center; 299 gap: 8px; 300 } 301 302 /* ACTIONS */ 303 .contact-sparkle-btn { 304 background: #D61F34; 305 color: white; 306 padding: 10px 24px; 307 border-radius: 100px; 308 font-weight: 700; 309 font-size: 0.9rem; 310 display: flex; 311 align-items: center; 312 gap: 8px; 313 text-decoration: none; 314 transition: all 0.3s; 315 box-shadow: 0 4px 15px rgba(214, 31, 52, 0.3); 316 } 317 318 .contact-sparkle-btn:hover { 319 transform: translateY(-2px); 320 background: #b91c2d; 321 box-shadow: 0 8px 25px rgba(214, 31, 52, 0.5); 322 } 323 324 .nav-phone-link { 325 display: flex; 326 align-items: center; 327 gap: 8px; 328 text-decoration: none; 329 color: #1e293b; 330 font-weight: 600; 331 font-size: 0.95rem; 332 margin-right: 12px; 333 transition: color 0.2s; 334 } 335 336 .nav-phone-link:hover { 337 color: var(--primary-blue); 338 } 339 340 .menu-toggle { 341 display: none; 342 flex-direction: column; 343 gap: 5px; 344 background: none; 345 border: none; 346 cursor: pointer; 347 padding: 8px; 348 margin-left: 8px; 349 } 350 351 .menu-toggle .bar { 352 width: 22px; 353 height: 2px; 354 background: #1e293b; 355 border-radius: 100px; 356 transition: 0.3s; 357 } 358 359 .menu-toggle.open .bar:nth-child(1) { transform: translateY(7px) rotate(45deg); } 360 .menu-toggle.open .bar:nth-child(2) { opacity: 0; } 361 .menu-toggle.open .bar:nth-child(3) { transform: translateY(-7px) rotate(-45deg); } 362 363 .mobile-only-btn { display: none; } 364 365 /* MOBILE */ 366 @media (max-width: 1024px) { 367 .navbar-container { 368 position: fixed; 369 width: 100%; 370 top: 0; 371 } 372 .navbar { 373 padding: 6px 10px 6px 18px; 374 background: rgba(255, 255, 255, 0.98); 375 backdrop-filter: none !important; 376 -webkit-backdrop-filter: none !important; 377 } 378 .nav-links { 379 position: fixed; 380 top: 0; 381 right: -100%; 382 width: 100%; 383 max-width: 320px; 384 height: 100vh; 385 overflow-y: auto; 386 overflow-x: hidden; 387 background: white; 388 flex-direction: column; 389 align-items: flex-start; 390 padding: 100px 20px; 391 box-shadow: -10px 0 50px rgba(0,0,0,0.1); 392 transition: 0.4s cubic-bezier(0.19, 1, 0.22, 1); 393 } 394 395 .nav-links.active { right: 0; } 396 397 .nav-link-item { 398 width: 100%; 399 justify-content: flex-start; 400 gap: 16px; 401 padding: 16px; 402 border-bottom: 1px solid #f1f5f9; 403 border-radius: 0; 404 } 405 406 .nav-link-item .chevron { 407 margin-left: auto; 408 } 409 410 .mega-menu { 411 position: static; 412 transform: none; 413 width: 100%; 414 opacity: 1; 415 visibility: visible; 416 display: none; 417 } 418 419 .fade-in { 420 animation: none !important; 421 transform: none !important; 422 opacity: 1 !important; 423 } 424 425 .nav-link-item.active + .mega-menu { 426 display: block; 427 } 428 429 .mega-menu-inner { 430 box-shadow: none; 431 border: none; 432 background: #f8fafc; 433 margin: 10px 0; 434 padding: 10px; 435 } 436 437 .services-item-wrapper { 438 position: relative; 439 } 440 441 .services-menu .mega-menu-inner, .about-menu .mega-menu-inner, .explore-menu .mega-menu-inner, .location-menu .mega-menu-inner { 442 width: 100%; 443 flex-direction: column; 444 gap: 5px; 445 } 446 447 .suburb-dropdown-grid { 448 grid-template-columns: 1fr; 449 gap: 5px; 450 } 451 452 .suburb-item { 453 padding: 12px 16px; 454 font-size: 1rem; 455 display: block; 456 } 457 458 459 .services-grid-modern { 460 display: grid; 461 grid-template-columns: 1fr; 462 gap: 24px; 463 column-count: auto; 464 } 465 466 .service-col { 467 display: block; 468 margin-bottom: 0; 469 } 470 471 .service-col h4 { 472 font-size: 1.1rem; 473 margin-bottom: 16px; 474 padding-bottom: 12px; 475 } 476 477 .service-links { 478 gap: 16px; 479 } 480 481 .service-links a { 482 font-size: 1rem; 483 padding: 12px 0; 484 display: block; 485 } 486 .mega-item { 487 min-width: 0; 488 padding: 10px; 489 } 490 .mega-item strong { 491 font-size: 0.8rem; 492 } 493 .mega-item p { 494 font-size: 0.7rem; 495 } 496 497 .menu-toggle { display: flex; } 498 .contact-sparkle-btn { display: none; } 499 .mobile-only-btn { 500 display: block; 501 width: 100%; 502 background: var(--primary-red); 503 color: white; 504 text-align: center; 505 padding: 16px; 506 border-radius: 16px; 507 text-decoration: none; 508 font-weight: 700; 509 margin-top: 20px; 510 } 511 .nav-phone-link { display: none; } 512 } 513 514 .fade-in { 515 animation: fadeInMenu 0.2s ease-out forwards; 516 opacity: 0; 517 transform: translateY(10px) translateX(-50%); 518 } 519 520 @keyframes fadeInMenu { 521 to { opacity: 1; transform: translateY(0) translateX(-50%); } 522 } 523 524 /* Fix for small screens (320px-360px) to prevent right-side spacing issues */ 525 @media (max-width: 360px) { 526 .navbar-container { 527 width: 100%; 528 max-width: 100%; 529 top: 0; 530 left: 0; 531 transform: none; 532 border-radius: 0; 533 } 534 535 .navbar { 536 border-radius: 0; 537 border: none; 538 border-bottom: 1px solid rgba(0,0,0,0.05); 539 padding: 10px 16px; 540 box-shadow: 0 4px 20px -5px rgba(0,0,0,0.1); 541 } 542 543 544 } 545 `})]})]})}function Q(){return e.jsxs("footer",{className:"footer-wrapper",children:[e.jsx("div",{className:"footer-main",children:e.jsxs("div",{className:"container footer-grid",children:[e.jsxs("div",{className:"footer-left",children:[e.jsx("div",{className:"footer-logo",children:e.jsx("img",{src:"/logo-footer.webp",alt:"DentalCube",className:"logo-white-filter",width:"225",height:"60",loading:"lazy"})}),e.jsxs("div",{className:"contact-list",children:[e.jsxs("div",{className:"contact-item",children:[e.jsx(b,{size:18,className:"icon-blue"}),e.jsxs("div",{className:"contact-text",children:[e.jsx("p",{children:"4/8 Merriville Road"}),e.jsx("p",{children:"Kellyville Ridge, NSW 2155, Sydney"})]})]}),e.jsxs("div",{className:"contact-item",children:[e.jsx(H,{size:18,className:"icon-blue"}),e.jsx("a",{href:"tel:0290600209",className:"contact-link",children:"(02) 9060 0209"})]}),e.jsxs("div",{className:"contact-item",children:[e.jsx(W,{size:18,className:"icon-blue"}),e.jsx("a",{href:"mailto:[email protected]",className:"contact-link",children:"[email protected]"})]}),e.jsxs("div",{className:"social-row",children:[e.jsx("a",{href:"https://www.facebook.com/DentalCubeKellyvilleRidge",target:"_blank",rel:"noopener noreferrer",className:"social-icon-box","aria-label":"Follow us on Facebook",children:e.jsx(F,{size:18})}),e.jsx("a",{href:"https://www.instagram.com/dentalcube",target:"_blank",rel:"noopener noreferrer",className:"social-icon-box","aria-label":"Follow us on Instagram",children:e.jsx(K,{size:18})})]})]})]}),e.jsx("div",{className:"footer-right",children:e.jsxs("div",{className:"footer-info-grid",children:[e.jsxs("div",{className:"footer-info-col",children:[e.jsx("h4",{className:"footer-col-title",children:"QUICK LINKS"}),e.jsxs("ul",{className:"footer-nav-list",children:[e.jsx("li",{children:e.jsx(i,{to:"/about",children:"About Us"})}),e.jsx("li",{children:e.jsx(i,{to:"/services",children:"Our Services"})}),e.jsx("li",{children:e.jsx(i,{to:"/offers",children:"Special Offers"})}),e.jsx("li",{children:e.jsx(i,{to:"/blog",children:"Blog"})}),e.jsx("li",{children:e.jsx(i,{to:"/gallery",children:"Smile Gallery"})}),e.jsx("li",{children:e.jsx(i,{to:"/payments",children:"Health Funds & Payments"})}),e.jsx("li",{children:e.jsx(i,{to:"/cdbs",children:"CDBS (Child Dental Benefits)"})}),e.jsx("li",{children:e.jsx(i,{to:"/technology",children:"Technology"})}),e.jsx("li",{children:e.jsx(i,{to:"/faq",children:"FAQ"})}),e.jsx("li",{children:e.jsx(i,{to:"/contact",children:"Contact Us"})})]})]}),e.jsxs("div",{className:"footer-info-col",children:[e.jsx("h4",{className:"footer-col-title",children:"MAJOR SERVICES"}),e.jsxs("ul",{className:"footer-nav-list",children:[e.jsx("li",{children:e.jsx(i,{to:"/services/general-preventive",children:"General Dentistry"})}),e.jsx("li",{children:e.jsx(i,{to:"/services/childrens-dentistry",children:"Children's Dentistry"})}),e.jsx("li",{children:e.jsx(i,{to:"/services/cosmetic-dentistry",children:"Cosmetic Dentistry"})}),e.jsx("li",{children:e.jsx(i,{to:"/services/implants-replacement",children:"Dental Implants"})}),e.jsx("li",{children:e.jsx(i,{to:"/services/wisdom-teeth",children:"Wisdom Teeth"})}),e.jsx("li",{children:e.jsx(i,{to:"/services/clear-aligners",children:"Clear Aligners"})}),e.jsx("li",{children:e.jsx(i,{to:"/services/dentures",children:"Dentures"})}),e.jsx("li",{children:e.jsx(i,{to:"/services/root-canal",children:"Root Canal Treatment"})}),e.jsx("li",{children:e.jsx(i,{to:"/services/restorative-dentistry",children:"Restorative Dentistry"})}),e.jsx("li",{children:e.jsx(i,{to:"/services/emergency-dentistry",children:"Emergency Care"})})]})]}),e.jsxs("div",{className:"footer-info-col",children:[e.jsx("h4",{className:"footer-col-title",children:"CLINIC HOURS"}),e.jsxs("div",{className:"footer-hours-grid",children:[e.jsxs("div",{className:"hours-group",children:[e.jsxs("div",{className:"hours-row",children:[e.jsx("span",{className:"day",children:"Mon"}),e.jsxs("span",{className:"time-range",children:[e.jsx("span",{className:"t-start",children:"10:00 am"}),e.jsx("span",{className:"t-sep",children:"-"}),e.jsx("span",{className:"t-end",children:"02:00 pm"})]})]}),e.jsxs("div",{className:"hours-row",children:[e.jsx("span",{className:"day",children:"Tue"}),e.jsxs("span",{className:"time-range",children:[e.jsx("span",{className:"t-start",children:"09:00 am"}),e.jsx("span",{className:"t-sep",children:"-"}),e.jsx("span",{className:"t-end",children:"06:00 pm"})]})]}),e.jsxs("div",{className:"hours-row",children:[e.jsx("span",{className:"day",children:"Wed"}),e.jsxs("span",{className:"time-range",children:[e.jsx("span",{className:"t-start",children:"09:30 am"}),e.jsx("span",{className:"t-sep",children:"-"}),e.jsx("span",{className:"t-end",children:"04:00 pm"})]})]}),e.jsxs("div",{className:"hours-row",children:[e.jsx("span",{className:"day",children:"Thu"}),e.jsxs("span",{className:"time-range",children:[e.jsx("span",{className:"t-start",children:"09:30 am"}),e.jsx("span",{className:"t-sep",children:"-"}),e.jsx("span",{className:"t-end",children:"06:00 pm"})]})]})]}),e.jsxs("div",{className:"hours-group",children:[e.jsxs("div",{className:"hours-row",children:[e.jsx("span",{className:"day",children:"Fri"}),e.jsxs("span",{className:"time-range",children:[e.jsx("span",{className:"t-start",children:"10:00 am"}),e.jsx("span",{className:"t-sep",children:"-"}),e.jsx("span",{className:"t-end",children:"02:00 pm"})]})]}),e.jsxs("div",{className:"hours-row",children:[e.jsx("span",{className:"day",children:"Sat"}),e.jsxs("span",{className:"time-range",children:[e.jsx("span",{className:"t-start",children:"01:00 pm"}),e.jsx("span",{className:"t-sep",children:"-"}),e.jsx("span",{className:"t-end",children:"06:00 pm"})]})]}),e.jsxs("div",{className:"hours-row",children:[e.jsx("span",{className:"day",children:"Sun"}),e.jsxs("span",{className:"time-range",children:[e.jsx("span",{className:"t-start",children:"09:00 am"}),e.jsx("span",{className:"t-sep",children:"-"}),e.jsx("span",{className:"t-end",children:"06:00 pm"})]})]})]})]})]})]})})]})}),e.jsx("div",{className:"suburbs-strip",children:e.jsxs("div",{className:"container suburbs-content",children:[e.jsx("p",{className:"suburbs-heading",children:"Suburbs Served"}),e.jsxs("div",{className:"suburbs-list",children:[e.jsx("span",{children:"Box Hill"}),e.jsx("span",{children:"Beaumont Hill"}),e.jsx("span",{children:"The Ponds"}),e.jsx("span",{children:"Kellyville Ridge"}),e.jsx("span",{children:"Schofields"}),e.jsx("span",{children:"North Kellyville"}),e.jsx("span",{children:"Kellyville"}),e.jsx("span",{children:"Quakers Hill"}),e.jsx("span",{children:"Castle Hill"}),e.jsx("span",{children:"Baulkham Hills"}),e.jsx("span",{children:"Marsden Park"}),e.jsx("span",{children:"Tallawong"})]})]})}),e.jsx("div",{className:"copyright-bar",children:e.jsxs("div",{className:"container copyright-content",children:[e.jsx("p",{children:"© 2026 DentalCube Kellyville Ridge"}),e.jsxs("div",{className:"legal-links",children:[e.jsx(i,{to:"/privacy-policy",children:"Privacy Policy"}),e.jsx("span",{children:"|"}),e.jsx(i,{to:"/terms-conditions",children:"T&C"}),e.jsx("span",{children:"|"}),e.jsx("a",{href:"#",children:"Special Offers T&C's"})]})]})}),e.jsx("style",{children:` 546 .footer-wrapper { 547 width: 100%; 548 font-family: 'Inter', sans-serif; 549 background-color: #051630; 550 color: #e2e8f0; 551 } 552 553 .logo-white-filter { 554 filter: brightness(0) invert(1); 555 } 556 557 /* 1. Main Section */ 558 .footer-main { 559 backgroun
559d-color: #051630; 560 padding: 80px 0 60px; 561 border-bottom: 1px solid rgba(255, 255, 255, 0.05); 562 } 563 564 .footer-grid { 565 display: grid; 566 grid-template-columns: 320px 1fr; 567 gap: 60px; 568 } 569 570 /* Left Column */ 571 .footer-logo img { 572 width: 150px; 573 height: auto; 574 margin-bottom: 24px; 575 } 576 577 .contact-list { 578 display: flex; 579 flex-direction: column; 580 gap: 16px; 581 } 582 583 .contact-item { 584 display: flex; 585 gap: 12px; 586 align-items: flex-start; 587 font-size: 0.95rem; 588 line-height: 1.5; 589 } 590 591 .icon-blue { 592 color: white; 593 min-width: 18px; 594 margin-top: 3px; 595 flex-shrink: 0; 596 } 597 598 .contact-link { 599 color: #cbd5e1; 600 text-decoration: none; 601 transition: color 0.2s; 602 } 603 .contact-link:hover { 604 color: white; 605 text-decoration: none; 606 } 607 608 .contact-text p { 609 color: #cbd5e1; 610 margin: 0; 611 } 612 613 /* Hours Specific Styles */ 614 .hours-item { 615 align-items: flex-start; 616 } 617 618 .hours-list { 619 width: 100%; 620 } 621 622 .hours-heading { 623 font-weight: 600; 624 color: white; 625 margin-bottom: 8px; 626 font-size: 0.95rem; 627 } 628 629 .hours-grid { 630 display: grid; 631 grid-template-columns: 40px 1fr; 632 gap: 4px 12px; 633 font-size: 0.9rem; 634 color: #cbd5e1; 635 } 636 637 .social-row { 638 display: flex; 639 gap: 10px; 640 margin-top: 20px; 641 } 642 643 .social-icon-box { 644 background: rgba(255, 255, 255, 0.1); 645 color: white; 646 width: 32px; 647 height: 32px; 648 display: flex; 649 align-items: center; 650 justify-content: center; 651 border-radius: 50%; 652 transition: all 0.2s; 653 } 654 655 .social-icon-box:hover { 656 background: var(--primary-blue); 657 transform: translateY(-2px); 658 } 659 660 /* Right Column Info Grid */ 661 .footer-info-grid { 662 display: grid; 663 grid-template-columns: 1fr 1fr 1.2fr; 664 gap: 30px; 665 } 666 667 .footer-col-title { 668 font-size: 0.85rem; 669 font-weight: 700; 670 color: white; 671 margin-bottom: 16px; 672 text-transform: uppercase; 673 letter-spacing: 1px; 674 opacity: 0.9; 675 } 676 677 .footer-nav-list { 678 list-style: none; 679 padding: 0; 680 margin: 0; 681 display: flex; 682 flex-direction: column; 683 gap: 12px; 684 } 685 686 .footer-nav-list li { 687 margin-bottom: 0; 688 } 689 690 .footer-nav-list a { 691 color: #94a3b8; 692 text-decoration: none; 693 font-size: 0.9rem; 694 transition: all 0.2s; 695 line-height: 1.4; 696 } 697 698 .footer-nav-list a:hover { 699 color: white; 700 } 701 702 .footer-info-col { 703 margin-bottom: 32px; 704 } 705 706 .footer-info-col:last-child { 707 margin-bottom: 0; 708 } 709 710 .footer-hours-grid { 711 display: flex; 712 flex-direction: column; 713 gap: 10px; 714 } 715 716 .hours-group { 717 display: flex; 718 flex-direction: column; 719 gap: 8px; 720 } 721 722 .hours-row { 723 display: flex; 724 align-items: center; 725 gap: 12px; 726 font-size: 0.9rem; 727 } 728 729 .hours-row .day { 730 color: #cbd5e1; 731 font-weight: 600; 732 width: 35px; 733 flex-shrink: 0; 734 } 735 736 .time-range { 737 display: flex; 738 align-items: center; 739 color: #94a3b8; 740 font-variant-numeric: tabular-nums; 741 } 742 743 .t-start { 744 width: 65px; 745 text-align: right; 746 } 747 748 .t-sep {
749 width: 20px; 750 text-align: center; 751 opacity: 0.5; 752 } 753 754 .t-end { 755 width: 65px; 756 text-align: left; 757 } 758 759 @media (max-width: 500px) { 760 .footer-hours-grid { 761 gap: 12px; 762 } 763 } 764 765 766 767 /* Suburbs Strip */ 768 .suburbs-strip { 769 background-color: #081b39; 770 border-top: 1px solid rgba(255, 255, 255, 0.05); 771 padding: 30px 0; 772 text-align: center; 773 } 774 775 .suburbs-heading { 776 color: #fff; 777 font-weight: 600; 778 font-size: 0.95rem; 779 text-transform: uppercase; 780 letter-spacing: 1px; 781 margin-bottom: 15px; 782 opacity: 0.9; 783 } 784 785 .suburbs-list { 786 display: flex; 787 justify-content: center; 788 flex-wrap: wrap; 789 gap: 15px 24px; 790 } 791 792 .suburbs-list span { 793 color: #94a3b8; 794 font-size: 0.9rem; 795 transition: color 0.2s; 796 } 797 798 .suburbs-list span:hover { 799 color: white; 800 } 801 802 803 /* 4. Copyright Bar */ 804 .copyright-bar { 805 background-color: #020b1a; 806 padding: 24px 0; 807 color: #94a3b8; 808 font-size: 0.85rem; 809 border-top: 1px solid rgba(255, 255, 255, 0.05); 810 } 811 812 .copyright-content { 813 display: flex; 814 justify-content: space-between; 815 align-items: center; 816 } 817 818 .legal-links { 819 display: flex; 820 gap: 15px; 821 } 822 823 .legal-links a { 824 color: #94a3b8; 825 text-decoration: none; 826 transition: color 0.2s; 827 } 828 .legal-links a:hover { 829 color: white; 830 } 831 832 /* Responsive */ 833 @media (max-width: 1024px) { 834 .footer-grid { 835 grid-template-columns: 1fr; 836 gap: 50px; 837 } 838 .footer-left { 839 display: flex; 840 flex-direction: column; 841 align-items: flex-start; 842 text-align: left; 843 } 844 .contact-list { 845 display: flex; 846 flex-direction: column; 847 align-items: flex-start; 848 text-align: left; 849 width: 100%; 850 } 851 .contact-item { 852 justify-content: flex-start; 853 text-align: left; 854 } 855 .social-row { 856 justify-content: flex-start; 857 } 858 .footer-info-grid { 859 grid-template-columns: repeat(2, 1fr); 860 gap: 40px; 861 } 862 .footer-nav-list { 863 justify-content: flex-start; 864 } 865 .footer-col-title { 866 text-align: left; 867 margin-bottom: 20px; 868 } 869 .footer-nav-list a:hover { 870 padding-left: 0; 871 } 872 .footer-hours-grid { 873 justify-content: flex-start; 874 } 875 } 876 877 @media (max-width: 768px) { 878 .footer-info-grid { 879 grid-template-columns: repeat(2, 1fr); 880 gap: 40px; 881 } 882 883 .footer-info-col:last-child { 884 grid-column: span 2; 885 margin-top: 20px; 886 } 887 .footer-main { 888 padding: 60px 0 40px; 889 } 890 .copyright-content { 891 flex-direction: column; 892 gap: 20px; 893 text-align: center; 894 } 895 .legal-links { 896 flex-wrap: wrap; 897 justify-content: center; 898 gap: 10px 15px; 899 } 900 .legal-links span { 901 display: none; 902 } 903 .legal-links a { 904 padding: 6px 12px; 905 background: rgba(255, 255, 255, 0.05); 906 border-radius: 4px; 907 } 908 } 909 910 @media (max-width: 600px) { 911 .footer-logo img { 912 height: 40px; 913 } 914 .footer-hours-grid { 915 grid-template-columns: 1fr 1fr; 916 gap: 15px 30px; 917 max-width: 100%; 918 } 919 .footer-info-col { 920 margin-bottom: 24px; 921 } 922 .suburbs-list { 923 gap: 10px 15px; 924 } 925 .suburbs-strip { 926 padding: 25px 15px; 927 } 928 } 929 930 @media (max-width: 500px) { 931 .footer-info-grid { 932 grid-template-columns: 1fr 1fr; 933 gap: 40px 20px; 934 } 935 .footer-info-col:last-child { 936 grid-column: span 2; 937 } 938 .footer-nav-list { 939 gap: 10px; 940 } 941 } 942 943 @media (max-width: 380px) { 944 .footer-info-grid { 945 gap: 30px 15px; 946 } 947 .footer-col-title { 948 font-size: 0.75rem; 949 } 950 .footer-nav-list a { 951 font-size: 0.85rem; 952 } 953 } 954 955 @media (max-width: 350px) { 956 .footer-info-grid { 957 grid-template-columns: 1fr; 958 } 959 .footer-info-col:last-child { 960 grid-column: span 1; 961 } 962 } 963 964 @media (max-width: 600px) { 965 .footer-nav-list { 966 flex-direction: column; 967 gap: 10px; 968 } 969 } 970 `})]})}function X(){const{pathname:n}=j();return t.useEffect(()=>{requestAnimationFrame(()=>{setTimeout(()=>{window.scrollTo(0,0)},0)})},[n]),null}const J=()=>e.jsxs("div",{className:"loading-spinner-container",children:[e.jsx("div",{className:"spinner"}),e.jsx("style",{children:` 971 .loading-spinner-container { 972 display: flex; 973 justify-content: center; 974 align-items: center; 975 height: 100vh; 976 width: 100%; 977 background: #ffffff; 978 position: fixed; 979 top: 0; 980 left: 0; 981 z-index: 9999; 982 } 983 .spinner { 984 width: 50px; 985 height: 50px; 986 border: 4px solid rgba(47, 107, 241, 0.2);
987 border-top: 4px solid #2f6bf1; 988 border-radius: 50%; 989 animation: spin 1s linear infinite; 990 } 991 @keyframes spin { 992 0% { transform: rotate(0deg); } 993 100% { transform: rotate(360deg); } 994 } 995 `})]}),Z=()=>{const[n,r]=t.useState(!1);return t.useEffect(()=>{const o=()=>{window.scrollY>300?r(!0):r(!1)};return window.addEventListener("scroll",o),()=>window.removeEventListener("scroll",o)},[]),e.jsx("div",{className:"mobile-sticky-btn-container",style:{opacity:n?1:0,transform:n?"translateY(0)":"translateY(20px)",transition:"all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275)"},children:e.jsxs("a",{href:"https://www.centaurportal.com/d4w/org-2332/extended_search?sourceID=null",target:"_blank",rel:"noopener noreferrer",className:"mobile-sticky-btn",children:[e.jsx(y,{className:"mobile-sticky-icon"}),"Book Appointment"]})})},ee=t.lazy(()=>s(()=>import("./Hero3D-BlJ0EdZU.js"),[]));function te(){const[n,r]=t.useState(!1);return t.useEffect(()=>{"requestIdleCallback"in window?requestIdleCallback(()=>{r(!0)},{timeout:2e3}):setTimeout(()=>r(!0),2e3)},[]),e.jsxs("main",{className:"hero-section",children:[e.jsx("div",{className:"hero-background-fallback"}),n&&e.jsx(t.Suspense,{fallback:null,children:e.jsx(ee,{})}),e.jsx("div",{className:"hero-content container",children:e.jsx("div",{className:"hero-grid",children:e.jsxs("div",{className:"hero-main-content",children:[e.jsxs("h1",{children:["Kellyville Dentist â ",e.jsx("span",{children:"Where Your Smile Comes First"})]}),e.jsxs("p",{className:"hero-subtitle",children:["Your trusted ",e.jsx("strong",{children:"dental practise"})," serving Kellyville Ridge, Quakers Hill, Castle Hill, Baulkham Hills, Marsden Park, and Tallawong. Providing comprehensive care at an ",e.jsx("strong",{children:"affordable price"})," for the whole family with a gentle, modern approach."]}),e.jsx("div",{className:"hero-actions",children:e.jsxs("a",{href:"https://www.centaurportal.com/d4w/org-2332/extended_search?sourceID=null",target:"_blank",rel:"noopener noreferrer",className:"btn-hero-cta",children:[e.jsx(y,{size:20}),"Book Appointment"]})})]})})}),e.jsx("style",{children:` 996 /* Hero Section Styles */ 997 .hero-section { position: relative; height: 100vh; min-height: 800px; width: 100%; display: flex; align-items: center; justify-content: center; padding-top: 80px; z-index: 10; background: radial-gradient(circle at 15% 25%, rgba(47, 107, 241, 0.08) 0%, transparent 45%), radial-gradient(circle at 85% 75%, rgba(45, 212, 191, 0.08) 0%, transparent 45%), #fff; overflow: hidden; } 998 .btn-hero-cta { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; background: linear-gradient(135deg, #ff1a1a, #c90000); color: #fff; padding: 16px 36px; border-radius: 50px; font-weight: 700; font-size: 1.15rem; border: none; box-shadow: 0 0 20px rgba(255, 26, 26, 0.5); letter-spacing: 0.5px; position: relative; overflow: hidden; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); z-index: 1; animation: pulse-red 2s infinite; } 999 .btn-hero-cta:hover { transform: translateY(-5px) scale(1.03); background: linear-gradient(135deg, #ff4d4d, #e60000); box-shadow: 0 0 30px rgba(255, 77, 77, 0.6), 0 0 60px rgba(255, 0, 0, 0.4), inset 0 0 10px rgba(255, 255, 255, 0.2); filter: brightness(1.1); } 1000 @keyframes pulse-red { 0% { box-shadow: 0 0 0 0 rgba(255, 26, 26, 0.7); } 70% { box-shadow: 0 0 0 15px rgba(255, 26, 26, 0); } 100% { box-shadow: 0 0 0 0 rgba(255, 26, 26, 0); } } 1001 .hero-content { position: relative; z-index: 50; width: 100%; pointer-events: auto; overflow: visible !important; } 1002 .hero-grid { display: flex; justify-content: center; align-items: center; width: 100%; padding: 0 20px; overflow: visible !important; } 1003 .hero-main-content { pointer-events: auto; z-index: 60; text-align: center; max-width: 800px; display: flex; flex-direction: column; align-items: center; overflow: visible !important; } 1004 .hero-main-content h1 { font-size: clamp(3rem, 6vw, 4.5rem); line-height: 1.05; margin-bottom: 24px; font-weight: 800; color: var(--text-main); letter-spacing: -0.04em; } 1005 .hero-main-content h1 span { color: var(--primary-blue); display: block; } 1006 .hero-subtitle { font-size: 1.25rem; color: var(--text-muted); line-height: 1.6; max-width: 650px; } 1007 .hero-canvas-container { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 5; opacity: 1; } 1008 @media (max-width: 1000px) { 1009 .hero-section { height: auto; min-height: 100vh; padding: 120px 20px 100px; align-items: flex-start; } 1010 .hero-main-content h1 { font-size: clamp(2.2rem, 8vw, 3rem); margin-bottom: 16px; } 1011 .hero-subtitle { font-size: 1.1rem; margin-bottom: 32px; } 1012 .btn-hero-cta { width: 100%; max-width: 320px; justify-content: center; padding: 16px 24px; font-size: 1.05rem; margin-top: 24px; box-shadow: 0 10px 30px -10px rgba(214, 31, 52, 0.5); animation: none !important; } 1013 } 1014 `})]})}const se=t.lazy(()=>s(()=>import("./HomeAbout-ZTyVjCj9.js"),[])),ie=t.lazy(()=>s(()=>import("./HomeServices-BcxULHpV.js"),[])),ae=t.lazy(()=>s(()=>import("./WhyChooseUs-DkjjQM1R.js"),[])),ne=t.lazy(()=>s(()=>import("./NewPatient-Bi5p7Cbc.js"),[])),re=t.lazy(()=>s(()=>import("./TeamPreview-BUcT0Im3.js"),[])),oe=t.lazy(()=>s(()=>
1014import("./PaymentBanner-5vEDLask.js"),[])),le=t.lazy(()=>s(()=>import("./EmergencySection-D11Frgq0.js"),[])),ce=t.lazy(()=>s(()=>import("./Testimonials-CWedK2o7.js"),[])),de=t.lazy(()=>s(()=>import("./SmileGallery-BNT9l3OD.js"),[])),pe=t.lazy(()=>s(()=>import("./BlogPreview-DH5eZWwL.js"),[])),N=()=>e.jsx("div",{style:{height:"300px",background:"#f8fafc",margin:"20px 0",borderRadius:"20px",animation:"pulse 1.5s infinite"}});function me(){const[n,r]=g.useState(!1);return g.useEffect(()=>{let o=!1;const c=()=>{o||(o=!0,["scroll","mousemove","touchstart","keydown"].forEach(d=>{window.removeEventListener(d,c,{passive:!0})}),"requestIdleCallback"in window?requestIdleCallback(()=>r(!0),{timeout:1e3}):r(!0))};["scroll","mousemove","touchstart","keydown"].forEach(d=>{window.addEventListener(d,c,{passive:!0})});const l=setTimeout(c,6e3);return()=>{clearTimeout(l),["scroll","mousemove","touchstart","keydown"].forEach(d=>{window.removeEventListener(d,c,{passive:!0})})}},[]),t.useEffect(()=>{document.title="DentalCube | Dentist in Kellyville Ridge NSW";const o=document.querySelector('meta[name="description"]');o&&o.setAttribute("content","Experience premium dental care at DentalCube, a modern clinic providing general, cosmetic, preventive and emergency dentistry in Kellyville Ridge.")},[]),e.jsxs("div",{className:"home-page",children:[e.jsx(te,{}),!n&&e.jsx("div",{style:{minHeight:"150vh"}}),n&&e.jsxs(e.Fragment,{children:[e.jsxs(t.Suspense,{fallback:e.jsx(N,{}),children:[e.jsx(se,{}),e.jsx(ie,{}),e.jsx(re,{}),e.jsx(oe,{}),e.jsx(ae,{}),e.jsx(ne,{}),e.jsx(le,{})]}),e.jsxs(t.Suspense,{fallback:e.jsx(N,{}),children:[e.jsx(ce,{}),e.jsx(pe,{}),e.jsx(de,{})]})]})]})}const he=()=>s(()=>import("./vendor-framer-BXUQ65wF.js"),[]).then(n=>n.domAnimation),xe=t.lazy(()=>s(()=>import("./About-Du2U-JT_.js"),[])),ge=t.lazy(()=>s(()=>import("./Services-DHcDzv0E.js"),[])),ue=t.lazy(()=>s(()=>import("./Contact-C91bPcqG.js"),[])),fe=t.lazy(()=>s(()=>import("./Team-ePOMeKJl.js"),[])),ve=t.lazy(()=>s(()=>import("./Locations-Cb-uZSjU.js"),[])),be=t.lazy(()=>s(()=>import("./BoxHill-DG1-dBy4.js"),[])),je=t.lazy(()=>s(()=>import("./BeaumontHills-DTNOeiXD.js"),[])),ye=t.lazy(()=>s(()=>import("./ThePonds-Cg3Lq552.js"),[])),we=t.lazy(()=>s(()=>import("./KellyvilleRidge-CLRAE8wr.js"),[])),_e=t.lazy(()=>s(()=>import("./Schofields-DoXSCp-0.js"),[])),ke=t.lazy(()=>s(()=>import("./NorthKellyville-JOKD7uUC.js"),[])),Ne=t.lazy(()=>s(()=>import("./Kellyville-Bxyc-0TW.js"),[])),Ee=t.lazy(()=>s(()=>import("./QuakersHill-C3XMO0U7.js"),[])),ze=t.lazy(()=>s(()=>import("./CastleHill-DZ36hI2H.js"),[])),De=t.lazy(()=>s(()=>import("./BaulkhamHills-DzDZFypI.js"),[])),Te=t.lazy(()=>s(()=>import("./MarsdenPark-CRTDY1ER.js"),[])),Le=t.lazy(()=>s(()=>import("./Tallawong-CPBi3q-W.js"),[])),v=t.lazy(()=>s(()=>import("./ServiceDetail-nlt6ci4Z.js"),[])),Ie=t.lazy(()=>s(()=>import("./Blog-BLx_eK9H.js"),[])),Se=t.lazy(()=>s(()=>import("./BlogPost-CR8MAfAW.js"),[])),Pe=t.lazy(()=>s(()=>import("./SpecialOffers-BGOgaOiS.js"),[])),Re=t.lazy(()=>s(()=>import("./Technology-_k2ofjGU.js"),[])),Ae=t.lazy(()=>s(()=>import("./SmileGallery-BvBSp1Fu.js"),[])),Ce=t.lazy(()=>s(()=>import("./FAQ-CyTLQuTA.js"),[])),Oe=t.lazy(()=>s(()=>import("./Payments-CIz4-2Ox.js"),[])),Ve=t.lazy(()=>s(()=>import("./PrivacyPolicy-Dnhnf77n.js"),[])),Be=t.lazy(()=>s(()=>import("./TermsConditions-Xv8bsEL3.js"),[])),Me=t.lazy(()=>s(()=>import("./SpecialOffersTC-CqHkPTZl.js"),[])),He=t.lazy(()=>s(()=>import("./CDBS-BHamcvZ7.js"),[]));function We(){const n=j();return t.useEffect(()=>{const r=o=>{const c=o.target.closest("a");c&&c.href&&c.href.includes("centaurportal.com")&&typeof window<"u"&&window.fbq&&window.fbq("track","Lead")};return document.addEventListener("click",r),()=>document.removeEventListener("click",r)},[]),t.useEffect(()=>{const r=`https://dentalcube.com.au${n.pathname==="/"?"":n.pathname}`;let o=document.querySelector("link[rel='canonical']");o?o.setAttribute("href",r):(o=document.createElement("link"),o.setAttribute("rel","canonical"),o.setAttribute("href",r),document.head.appendChild(o))},[n.pathname]),e.jsx("div",{className:"app",children:e.jsxs(q,{features:he,children:[e.jsx(X,{}),e.jsx($,{}),e.jsx(t.Suspense,{fallback:e.jsx(J,{}),children:e.jsxs(T,{children:[e.jsx(a,{path:"/",element:e.jsx(me,{})}),e.jsx(a,{path:"/services",element:e.jsx(ge,{})}),e.jsx(a,{path:"/services/:serviceId",element:e.jsx(v,{})}),e.jsx(a,{path:"/services/:serviceId/:subServiceId",element:e.jsx(v,{})}),e.jsx(a,{path:"/services/:serviceId/:subServiceId/:subSubServiceId",element:e.jsx(v,{})}),e.jsx(a,{path:"/about",element:e.jsx(xe,{})}),e.jsx(a,{path:"/team",element:e.jsx(fe,{})}),e.jsx(a,{path:"/blog",element:e.jsx(Ie,{})}),e.jsx(a,{path:"/blog/:slug",element:e.jsx(Se,{})}),e.jsx(a,{path:"/offers",element:e.jsx(Pe,{})}),e.jsx(a,{path:"/technology",element:e.jsx(Re,{})}),e.jsx(a,{path:"/payments",element:e.jsx(Oe,{})}),e.jsx(a,{path:"/gallery",element:e.jsx(Ae,{})}),e.jsx(a,{path:"/faq",element:e.jsx(Ce,{})}),e.jsx(a,{path:"/contact",element:e.jsx(ue,{})}),e.jsx(a,{path:"/location",element:e.jsx(ve,{})}),e.jsx(a,{path:"/location/box-hill",element:e.jsx(be,{})}),e.jsx(a,{path:"/location/beaumont-hills",element:e.jsx(je,{})}),e.jsx(a,{path:"/location/the-ponds",element:e.jsx(ye,{})}),e.jsx(a,{path:"/location/kellyville-ridge",element:e.jsx(we,{})}),e.jsx(a,{path:"/location/schofields",element:e.jsx(_e,{})}),e.jsx(a,{path:"/location/north-kellyville",element:e.jsx(ke,{})}),e.jsx(a,{path:"/location/kellyville",element:e.jsx(Ne,{})}),e.jsx(a,{path:"/location/quakers-hill",element:e.jsx(Ee,{})}),e.jsx(a,{path:"/location/castle-hill",element:e.jsx(ze,{})}),e.jsx(a,{path:"/location/baulkham-hills",element:e.jsx(De,{})}),e.jsx(a,{path:"/location/marsden-park",element:e.jsx(Te,{})}),e.jsx(a,{path:"/location/tallawong",element:e.jsx(Le,{})}),e.jsx(a,{path:"/privacy-policy",element:e.jsx(Ve,{})}),e.jsx(a,{path:"/terms-conditions",element:e.jsx(Be,{})}),e.jsx(a,{path:"/special-offers-tc",element:e.jsx(Me,{})}),e.jsx(a,{path:"/cdbs",element:e.jsx(He,{})})]})}),e.jsx(Z,{}),e.jsx(Q,{})]})})}D.createRoot(document.getElementById("root")).render(e.jsx(g.StrictMode,{children:e.jsx(L,{future:{v7_startTransition:!0,v7_relativeSplatPath:!0},children:e.jsx(We,{})})}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.