1import{o as e,A as v,w as g,r as u}from"./chunk-4N6VE7H7-Cg8mIVGN.js";import{B as f,L as c,d as t,U as n,R as x,P as b,a as k}from"./image-BrfMozFv.js";import{l as s,m as o}from"./fragment-RiJKGpPm.js";import{b as y,i as m,a as l,c as q}from"./index-C_26nMkx.js";const p="ArdaCraft",j=[{id:"-s2gXuYxLp4D9cwHJ1qB3"},{id:"lWLX74YeF9PzVfQnpBD2T",maxWidth:991},{id:"X9oWTUH6PuVE1V4NKe4-9",maxWidth:767},{id:"JCK9VSSjREzeOp5J88Usl",maxWidth:479}],N="favicon-48x48_X2mQHbKXndGWgL2TFrWsX.png",z=[],S=["Image-Background-ArdaCraft-27_ZF1yNKx-3brQoX-5NRt9v.webp"],A=a=>e.jsxs(f,{className:"w-element cos19h3",children:[e.jsx(s,{children:e.jsxs(o,{children:[e.jsx("div",{"darken-bg":"true",className:"w-element c1wt7jfi c1oltoh9 c15umh1c c9uqmb cz17h53"}),e.jsxs("div",{navbar:"true",className:"w-element c1oltoh9 c158s1wq c18460ip c1maocke cmre2if cl2xlqw c1l20dy0 ci5zejk c1a4d992 c1e9k3hw cypxkib chx63s8 c1e8qjia c14df0s2",children:[e.jsx("div",{"data-homepage":"footer-container",className:"w-element c1wn46uq cozcy5p c1qe7a3l cbm90qe cjulrou c1a4d992 c1e9k3hw ce1b68t c1rx8qlb c1ljsp2s c1ll7j66",children:e.jsxs("div",{"nav-menu":"true",className:"w-element c1uz7vom cbm90qe c17waf3r c1nfwxmq czpbsl2 cwlhc2g c1q7x0a9 cc9e4b0 c4rat9s c10vq3rr cz4712c cbx8lb7 cl41tk7 c1dirdz6 c14vr5tx",children:[e.jsx("div",{className:"w-element c1x86i13 cq512wt",children:e.jsx(c,{href:"/",className:"w-element c1qqnmdg",children:e.jsx(t,{src:"/assets/ardacraft-logo-round_SlBiCrCtO12Uw2o2AEJJm.png",width:1e3,height:1e3,alt:"","nav-logo":"true",className:"w-image c1t129vl ct3f834"})})}),e.jsxs("div",{className:"w-element c1uz7vom c1851rqr c17waf3r cbm90qe c1nujqit crll831 c75lct5",children:[e.jsxs("div",{"nav-container":"true",className:"w-element c1wn46uq cg6mpnv cl2xlqw c1l20dy0 cjh4jyv cx7koon c1hkiy18 c10vq3rr cz4712c cvzk9dd cjw565y csqej54 cbx8lb7",children:[e.jsxs("div",{"nav-panel":"explore",className:"w-element c1uz7vom c1etu3xr c17waf3r c12vpo0c c7ogkau cbx8lb7",children:[e.jsxs("div",{className:"w-element c1wn46uq c1uz7vom c1qe7a3l c12vpo0c c7ogkau",children:[e.jsxs("div",{className:"w-element c1uz7vom c1qe7a3l c18dk4jj c1l6ozms",children:[e.jsxs(c,{"nav-stagger":"true",href:"/location/hobbiton","nav-link":"wrapper",className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe c17waf3r c9uv4ua cwry5n3 cu29a6v ccut9dl c119z9l c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw",children:[e.jsxs("div",{className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe cjulrou",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Location-item_wv07h6oBEjLQi-AdSjufT.webp",width:100,height:100,alt:"",loading:"lazy",className:"w-image cdk8ru2 c17q5ox6 ct6po2z c7mtr3j c1rrox41 c2fzsy6 c1czrvri"}),e.jsxs("div",{className:"w-element",children:[e.jsx("p",{"nav-link":"title",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1iq6tjl c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:"Hobbiton"}),e.jsx("p",{className:"w-element ccp5xa0 c1qi35su c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"The Shire, Eriador"})]})]}),e.jsx("div",{"nav-link":"arrow",className:"w-element c1qi35su cri68x2",children:e.jsx(n,{executeScriptOnCanvas:!0,code:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-[#d9b87f] opacity-0 -translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',className:"w-html-embed"})})]}),e.jsxs(c,{"nav-stagger":"true",href:"/location/isengard","nav-link":"wrapper",className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe c17waf3r c9uv4ua cwry5n3 cu29a6v ccut9dl c119z9l c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw",children:[e.jsxs("div",{className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe cjulrou",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Location-item-2_Cd90FHqBfRWvpa5QEvlyf.webp",width:100,height:100,alt:"",loading:"lazy",className:"w-image cdk8ru2 c17q5ox6 ct6po2z c7mtr3j c1rrox41 c2fzsy6 c1czrvri"}),e.jsxs("div",{className:"w-element",children:[e.jsx("p",{"nav-link":"title",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1iq6tjl c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:"Isengard"}),e.jsx("p",{className:"w-element ccp5xa0 c1qi35su c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"Vale of Isen, Misty Mountains"})]})]}),e.jsx("div",{"nav-link":"arrow",className:"w-element c1qi35su cri68x2",children:e.jsx(n,{executeScriptOnCanvas:!0,co
1de:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-[#d9b87f] opacity-0 -translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',className:"w-html-embed"})})]}),e.jsxs(c,{"nav-stagger":"true",href:"/location/bree","nav-link":"wrapper",className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe c17waf3r c9uv4ua cwry5n3 cu29a6v ccut9dl c119z9l c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw",children:[e.jsxs("div",{className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe cjulrou",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Location-item-1_kzuaSOOTjqTTX_o240QbJ.webp",width:100,height:100,alt:"",loading:"lazy",className:"w-image cdk8ru2 c17q5ox6 ct6po2z c7mtr3j c1rrox41 c2fzsy6 c1czrvri"}),e.jsxs("div",{className:"w-element",children:[e.jsx("p",{"nav-link":"title",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1iq6tjl c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:"Bree"}),e.jsx("p",{className:"w-element ccp5xa0 c1qi35su c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"Bree-land, Eriador"})]})]}),e.jsx("div",{"nav-link":"arrow",className:"w-element c1qi35su cri68x2",children:e.jsx(n,{executeScriptOnCanvas:!0,code:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-[#d9b87f] opacity-0 -translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',className:"w-html-embed"})})]})]}),e.jsxs(c,{"nav-stagger":"true",href:"/location","nav-link":"wrapper-img",className:"w-element c1wn46uq cty523k c181wked ckmiw1q c1kg20cg ck80xjz cn655op cz6q0ow",children:[e.jsx(t,{src:"/assets/Image-Background-ArdaCraft-09_ELLsMO1Pb9RQiw6q5hFop.webp",width:2e3,height:1e3,alt:"",loading:"lazy","nav-link":"image",className:"w-image c1wn46uq c1rrox41 c1lo6eud"}),e.jsx("div",{className:"w-element cg6mpnv cil0izm c1g4z546 clhwsmj",children:e.jsx("span",{"nav-link":"title",className:"w-element cte87bx cuahv1a c1eyb87b c4iflru c1qe7a3l c17nrfvn c1scp8rj c1lez5qp c1uyrt4t",children:"Discover all Locations"})}),e.jsx("div",{className:"w-element cg6mpnv c1k3h0ob cl2xlqw c1l20dy0 c1k693yl c158s1wq"})]})]}),e.jsxs("div",{className:"w-element c1wn46uq c1uz7vom c1qe7a3l c12vpo0c c7ogkau",children:[e.jsxs("div",{className:"w-element c1uz7vom c1qe7a3l c18dk4jj c1l6ozms",children:[e.jsxs(c,{"nav-stagger":"true",href:"/location/westmarch","nav-link":"wrapper",className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe c17waf3r c9uv4ua cwry5n3 cu29a6v ccut9dl c119z9l c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw",children:[e.jsxs("div",{className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe cjulrou",children:[e.jsx(t,{src:"/assets/68d455272c3135bf659239d9_Neahburg-minecraft-middle-earth-lotr_(1)_j-rDnLqJBILnEeJqyQRAV.webp",width:256,height:256,alt:"",loading:"lazy",className:"w-image cnx8q2o c1tkm9sb c3p1tny c1frqqme c1rrox41 c2fzsy6 c1czrvri"}),e.jsxs("div",{className:"w-element",children:[e.jsx("p",{"nav-link":"title",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1iq6tjl c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:"Westmarch"}),e.jsxs("p",{className:"w-element ccp5xa0 c1qi35su c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:["Western Rohan","",e.jsx("br",{}),""]})]})]}),e.jsx("div",{"nav-link":"arrow",className:"w-element c1qi35su cri68x2",children:e.jsx(n,{executeScriptOnCanvas:!0,code:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-[#d9b87f] opacity-0 -translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',className:"w-html-embed"})})]}),e.jsxs(c,{"nav-stagger":"true",href:"/location/anorien","nav-link":"wrapper",className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe c17waf3r c9uv4ua cwry5n3 cu29a6v ccut9dl c119z9l c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw",children:[e.jsxs("div",{className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe cjulrou",children:[e.jsx(t,{src:"/assets/Pelandros-aerial-minecraft-middle-earth-lotr_(1)_Pvnl9IhK7pJVXd3GLjvEI.webp",width:256,height:256,alt:"",loading:"lazy",className:"w-image cnx8q2o c1tkm9sb c3p1tny c1frqqme c1rrox41 c2fzsy6 c1czrvri"}),e.jsxs("div",{className:"w-element",children:[e.jsx("p",{"nav-link":"title",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1iq6tjl c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:"Anórien"}),e.jsxs("p",{className:"w-element ccp5xa0 c1qi35su c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:["Northern Gondor","",e.jsx("br",{}),""]})]})]}),e.jsx("div",{"nav-link":"arrow",className:"w-element c1qi35su cri68x2",children:e.jsx(n,{executeScriptOnCanvas:!0,co
vendor: 6,316 bytes, line 1
1de:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-[#d9b87f] opacity-0 -translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',className:"w-html-embed"})})]}),e.jsxs(c,{"nav-stagger":"true",href:"/location/the-shire","nav-link":"wrapper",className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe c17waf3r c9uv4ua cwry5n3 cu29a6v ccut9dl c119z9l c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw",children:[e.jsxs("div",{className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe cjulrou",children:[e.jsx(t,{src:"/assets/67cf4a783e21f4ab9d57c888_Hardbottle-Windmill-updates-minecraft-middle-earth-lotr_(1)_totcujB8D_GZkK6DI3wdV.webp",width:256,height:256,alt:"",loading:"lazy",className:"w-image cnx8q2o c1tkm9sb c3p1tny c1frqqme c1rrox41 c2fzsy6 c1czrvri"}),e.jsxs("div",{className:"w-element",children:[e.jsx("p",{"nav-link":"title",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1iq6tjl c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:"The Shire"}),e.jsx("p",{className:"w-element ccp5xa0 c1qi35su c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"Central Eriador"})]})]}),e.jsx("div",{"nav-link":"arrow",className:"w-element c1qi35su cri68x2",children:e.jsx(n,{executeScriptOnCanvas:!0,code:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-[#d9b87f] opacity-0 -translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',className:"w-html-embed"})})]})]}),e.jsxs(c,{"nav-stagger":"true",href:"/contributors","nav-link":"wrapper-img",className:"w-element c1wn46uq cty523k c181wked ckmiw1q c1kg20cg ck80xjz cn655op cz6q0ow",children:[e.jsx(t,{src:"/assets/Image-Background-ArdaCraft-08__T10uQH4IiG-5qRd93XmZ.webp",width:2e3,height:1e3,alt:"",loading:"lazy","nav-link":"image",className:"w-image c1wn46uq c1rrox41 c1lo6eud"}),e.jsx("div",{className:"w-element cg6mpnv cil0izm c1g4z546 clhwsmj",children:e.jsx("span",{"nav-link":"title",className:"w-element cte87bx cuahv1a c1eyb87b c4iflru c1qe7a3l c17nrfvn c1scp8rj c1lez5qp c1uyrt4t",children:"Meet our Contributors"})}),e.jsx("div",{className:"w-element cg6mpnv c1k3h0ob cl2xlqw c1l20dy0 c1k693yl c158s1wq"})]})]})]}),e.jsx("div",{"nav-panel":"maps",className:"w-element c1uz7vom c1etu3xr c17waf3r c12vpo0c c7ogkau cbx8lb7",children:e.jsxs("div",{className:"w-element c1uz7vom c1etu3xr clxdfzs cyjoizj c1wn46uq",children:[e.jsxs(c,{"nav-stagger":"true",href:"/map/server-live-map","nav-link":"wrapper-img",className:"w-element c1wn46uq cty523k c181wked ckmiw1q c1kg20cg ck80xjz cn655op cz6q0ow",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Live-Map_tXy9B4Y85UrJKV1J6n6cE.webp",width:400,height:300,alt:"",loading:"lazy","nav-link":"image",className:"w-image c1wn46uq c1rrox41 c1lo6eud"}),e.jsx("div",{className:"w-element cg6mpnv cil0izm c1g4z546 clhwsmj",children:e.jsx("span",{"nav-link":"title",className:"w-element cte87bx cuahv1a c1eyb87b c4iflru c1qe7a3l c17nrfvn c1scp8rj c1lez5qp c1uyrt4t",children:"Live Server Map"})}),e.jsx("div",{className:"w-element cg6mpnv c1k3h0ob cl2xlqw c1l20dy0 c1k693yl c158s1wq"})]}),e.jsxs(c,{"nav-stagger":"true",href:"/map/middle-earth-interactive-map","nav-link":"wrapper-img",className:"w-element c1wn46uq cty523k c181wked ckmiw1q c1kg20cg ck80xjz cn655op cz6q0ow",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Live-Map-1_DeJw0QD1Dmq8Nfy6jIpmm.webp",width:400,height:300,alt:"",loading:"lazy","nav-link":"image",className:"w-image c1wn46uq c1rrox41 c1lo6eud"}),e.jsx("div",{className:"w-element cg6mpnv cil0izm c1g4z546 clhwsmj",children:e.jsx("span",{"nav-link":"title",className:"w-element cte87bx cuahv1a c1eyb87b c4iflru c1qe7a3l c17nrfvn c1scp8rj c1lez5qp c1uyrt4t",children:"Interactive Map"})}),e.jsx("div",{className:"w-element cg6mpnv c1k3h0ob cl2xlqw c1l20dy0 c1k693yl c158s1wq"})]}),e.jsxs(c,{"nav-stagger":"true",href:"/map","nav-link":"wrapper-img",className:"w-element c1wn46uq cty523k c181wked ckmiw1q c1kg20cg ck80xjz cn655op cz6q0ow",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-All-Maps_1_f23yPLOhvOnb866lpGUeG.webp",width:400,height:300,alt:"",loading:"lazy","nav-link":"image",className:"w-image c1wn46uq c1rrox41 c1lo6eud"}),e.jsx("div",{className:"w-element cg6mpnv cil0izm c1g4z546 clhwsmj",children:e.jsx("span",{"nav-link":"title",className:"w-element cte87bx cuahv1a c1eyb87b c4iflru c1qe7a3l c17nrfvn c1scp8rj c1lez5qp c1uyrt4t",children:"All Maps"})}),e.jsx("div",{className:"w-element cg6mpnv c1k3h0ob cl2xlqw c1l20dy0 c1k693yl c158s1wq"})]})]})}),e.jsx("div",{"nav-panel":"learn",className:"w-element c1uz7vom c1etu3xr c17waf3r c12vpo0c c7ogkau cbx8lb7",children:e.jsxs("div",{className:"w-element c1wn46uq c1uz7vom c1qe7a3l c12vpo0c c7ogkau",children:[e.jsx("div",{className:"w-element c1uz7vom c1qe7a3l c18dk4jj c1l6ozms",children:e.jsxs("div",{className:"w-element c1uz7vom",children:[e.jsxs("div",{className:"w-element cf5cbyn",children:[e.jsxs(c,{"nav-stagger":"true",href:"/resources/conquest-reforged-our-modpack-for-middle-earth","nav-link":"wrapper",className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe c17waf3r c9uv4ua cwry5n3 cu29a6v ccut9dl c119z9l c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw",children:[e.jsxs("div",{className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe cjulrou",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Learn-item_doplqurLYL6fbgG3VkQiL.jpg",width:100,height:100,alt:"",loading:"lazy",className:"w-image cdk8ru2 c17q5ox6 ct6po2z c7mtr3j c1rrox41 c2fzsy6 c1czrvri"}),e.jsxs("div",{className:"w-element",children:[e.jsx("p",{"nav-link":"title",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1iq6tjl c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:"Conquest Reforged"}),e.jsx("p",{className:"w-element ccp5xa0 c1qi35su c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"Our modpack for Middle-earth"})]})]}),e.jsx("div",{"nav-link":"arrow",className:"w-element c1qi35su cri68x2",children:e.jsx(n,{executeScriptOnCanvas:!0,co
1de:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-[#d9b87f] opacity-0 -translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',className:"w-html-embed"})})]}),e.jsxs(c,{"nav-stagger":"true",href:"/resources/follow-frodos-path","nav-link":"wrapper",className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe c17waf3r c9uv4ua cwry5n3 cu29a6v ccut9dl c119z9l c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw",children:[e.jsxs("div",{className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe cjulrou",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Learn-item-3_uaxwztHA8IkQFCfBB-Wug.jpg",width:100,height:100,alt:"",loading:"lazy",className:"w-image cdk8ru2 c17q5ox6 ct6po2z c7mtr3j c1rrox41 c2fzsy6 c1czrvri"}),e.jsxs("div",{className:"w-element",children:[e.jsx("p",{"nav-link":"title",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1iq6tjl c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:"Follow Frodo's Path"}),e.jsx("p",{className:"w-element ccp5xa0 c1qi35su c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"From the Shire to Mordor"})]})]}),e.jsx("div",{"nav-link":"arrow",className:"w-element c1qi35su cri68x2",children:e.jsx(n,{executeScriptOnCanvas:!0,code:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-[#d9b87f] opacity-0 -translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',className:"w-html-embed"})})]})]}),e.jsxs("div",{className:"w-element cf5cbyn",children:[e.jsxs(c,{"nav-stagger":"true",href:"/resources/how-to-apply","nav-link":"wrapper",className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe c17waf3r c9uv4ua cwry5n3 cu29a6v ccut9dl c119z9l c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw",children:[e.jsxs("div",{className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe cjulrou",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Learn-item-1_9JOn9Fzazj2hN-0Xa-oiA.jpg",width:100,height:100,alt:"",loading:"lazy",className:"w-image cdk8ru2 c17q5ox6 ct6po2z c7mtr3j c1rrox41 c2fzsy6 c1czrvri"}),e.jsxs("div",{className:"w-element",children:[e.jsx("p",{"nav-link":"title",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1iq6tjl c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:"How to Apply"}),e.jsx("p",{className:"w-element ccp5xa0 c1qi35su c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"Learn how to join our team"})]})]}),e.jsx("div",{"nav-link":"arrow",className:"w-element c1qi35su cri68x2",children:e.jsx(n,{executeScriptOnCanvas:!0,code:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-[#d9b87f] opacity-0 -translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',className:"w-html-embed"})})]}),e.jsxs(c,{"nav-stagger":"true",href:"/resources/gradient-guide","nav-link":"wrapper",className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe c17waf3r c9uv4ua cwry5n3 cu29a6v ccut9dl c119z9l c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw",children:[e.jsxs("div",{className:"w-element c1uz7vom c7ogkau c12vpo0c cbm90qe cjulrou",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Learn-item-2_jKw5oALDCty0llzjRYGYl.jpg",width:100,height:100,alt:"",loading:"lazy",className:"w-image cdk8ru2 c17q5ox6 ct6po2z c7mtr3j c1rrox41 c2fzsy6 c1czrvri"}),e.jsxs("div",{className:"w-element",children:[e.jsx("p",{"nav-link":"title",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1iq6tjl c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:"Gradient Guide"}),e.jsx("p",{className:"w-element ccp5xa0 c1qi35su c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"Learn how to make beautiful gradients"})]})]}),e.jsx("div",{"nav-link":"arrow",className:"w-element c1qi35su cri68x2",children:e.jsx(n,{executeScriptOnCanvas:!0,co
1de:'<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="text-[#d9b87f] opacity-0 -translate-x-4 group-hover:opacity-100 group-hover:translate-x-0 transition-all duration-300"><path d="M5 12h14"/><path d="m12 5 7 7-7 7"/></svg>',className:"w-html-embed"})})]})]})]})}),e.jsxs(c,{"nav-stagger":"true",href:"/resources","nav-link":"wrapper-img",className:"w-element c1wn46uq cty523k c181wked ckmiw1q c1kg20cg ck80xjz cn655op cz6q0ow",children:[e.jsx(t,{src:"/assets/Image-Background-ArdaCraft-21_isEDPdNShjVrdUWg2JmwI.webp",width:2e3,height:1e3,alt:"",loading:"lazy","nav-link":"image",className:"w-image c1wn46uq c1rrox41 c1lo6eud"}),e.jsx("div",{className:"w-element cg6mpnv cil0izm c1g4z546 clhwsmj",children:e.jsx("span",{"nav-link":"title",className:"w-element cte87bx cuahv1a c1eyb87b c4iflru c1qe7a3l c17nrfvn c1scp8rj c1lez5qp c1uyrt4t",children:"Discover all Articles"})}),e.jsx("div",{className:"w-element cg6mpnv c1k3h0ob cl2xlqw c1l20dy0 c1k693yl c158s1wq"})]})]})}),e.jsx("div",{"nav-panel":"about",className:"w-element c1uz7vom c1etu3xr c17waf3r c12vpo0c c7ogkau cbx8lb7",children:e.jsxs("div",{className:"w-element c1uz7vom c1etu3xr clxdfzs cyjoizj c1wn46uq",children:[e.jsxs(c,{"nav-stagger":"true",href:"/about","nav-link":"wrapper-img",className:"w-element c1wn46uq cty523k c181wked ckmiw1q c1kg20cg ck80xjz cn655op cz6q0ow",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-About-us_1_xf1EENLbqOG3QGpgzwsjD.webp",width:400,height:300,alt:"",loading:"lazy","nav-link":"image",className:"w-image c1wn46uq c1rrox41 c1lo6eud"}),e.jsx("div",{className:"w-element cg6mpnv cil0izm c1g4z546 clhwsmj",children:e.jsx("span",{"nav-link":"title",className:"w-element cte87bx cuahv1a c1eyb87b c4iflru c1qe7a3l c17nrfvn c1scp8rj c1lez5qp c1uyrt4t",children:"About us"})}),e.jsx("div",{className:"w-element cg6mpnv c1k3h0ob cl2xlqw c1l20dy0 c1k693yl c158s1wq"})]}),e.jsxs(c,{"nav-stagger":"true",href:"/support-us","nav-link":"wrapper-img",className:"w-element c1wn46uq cty523k c181wked ckmiw1q c1kg20cg ck80xjz cn655op cz6q0ow",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Support-us_(1)_V34AuBoqxeD-lKcmKN_6V.jpg",width:400,height:300,alt:"",loading:"lazy","nav-link":"image",className:"w-image c1wn46uq c1rrox41 c1lo6eud"}),e.jsx("div",{className:"w-element cg6mpnv cil0izm c1g4z546 clhwsmj",children:e.jsx("span",{"nav-link":"title",className:"w-element cte87bx cuahv1a c1eyb87b c4iflru c1qe7a3l c17nrfvn c1scp8rj c1lez5qp c1uyrt4t",children:"Support us"})}),e.jsx("div",{className:"w-element cg6mpnv c1k3h0ob cl2xlqw c1l20dy0 c1k693yl c158s1wq"})]}),e.jsxs(c,{"nav-stagger":"true",href:"/contact-us","nav-link":"wrapper-img",className:"w-element c1wn46uq cty523k c181wked ckmiw1q c1kg20cg ck80xjz cn655op cz6q0ow",children:[e.jsx(t,{src:"/assets/Drop-Down-Image-Contact-us_zcymhhsFiVILSMVacX9pC.webp",width:400,height:300,alt:"",loading:"lazy","nav-link":"image",className:"w-image c1wn46uq c1rrox41 c1lo6eud"}),e.jsx("div",{className:"w-element cg6mpnv cil0izm c1g4z546 clhwsmj",children:e.jsx("span",{"nav-link":"title",className:"w-element cte87bx cuahv1a c1eyb87b c4iflru c1qe7a3l c17nrfvn c1scp8rj c1lez5qp c1uyrt4t",children:"Contact us"})}),e.jsx("div",{className:"w-element cg6mpnv c1k3h0ob cl2xlqw c1l20dy0 c1k693yl c158s1wq"})]})]})})]}),e.jsxs("div",{"nav-trigger":"explore",className:"w-element c1uz7vom cbm90qe cd212o4 c1l6ozms c18dk4jj c1851rqr czalkuk cwkjnr8 c75lct5 c14df0s2",children:[e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c11ilikl",children:"Explore"}),e.jsx("div",{"nav-chevron":"true",className:"w-element c1uz7vom cbm90qe cjulrou",children:e.jsx(n,{code:`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="width: 20px; height: 20px;"> 2 <path d="m6 9 6 6 6-6"></path> 3</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed c1qi35su"})})]}),e.jsxs("div",{"nav-drop-down":"true","nav-trigger":"maps",className:"w-element c1uz7vom cbm90qe cd212o4 c1l6ozms c18dk4jj c1851rqr czalkuk cwkjnr8 c75lct5 c14df0s2",children:[e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c11ilikl",children:"Maps"}),e.jsx("div",{"nav-chevron":"true",className:"w-element c1uz7vom cbm90qe cjulrou",children:e.jsx(n,{code:`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="width: 20p
3x; height: 20px;"> 4 <path d="m6 9 6 6 6-6"></path> 5</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed c1qi35su"})})]}),e.jsxs("div",{"nav-trigger":"learn",className:"w-element c1uz7vom cbm90qe cjulrou c1l6ozms c18dk4jj c1851rqr czalkuk cwkjnr8 c75lct5 c14df0s2",children:[e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c11ilikl",children:"Learn"}),e.jsx("div",{"nav-chevron":"true",className:"w-element c1uz7vom cbm90qe cjulrou",children:e.jsx(n,{code:`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="width: 20px; height: 20px;"> 6 <path d="m6 9 6 6 6-6"></path> 7</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed c1qi35su"})})]}),e.jsxs("div",{"nav-trigger":"about",className:"w-element c1uz7vom cbm90qe cjulrou c1l6ozms c18dk4jj c1851rqr czalkuk cwkjnr8 c75lct5 c14df0s2",children:[e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c11ilikl",children:"About"}),e.jsx("div",{"nav-chevron":"true",className:"w-element c1uz7vom cbm90qe cjulrou",children:e.jsx(n,{code:`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="width: 20px; height: 20px;"> 8 <path d="m6 9 6 6 6-6"></path> 9</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed c1qi35su"})})]})]}),e.jsx("div",{className:"w-element c75lct5 c1x86i13",children:e.jsxs("div",{className:"w-element c1uz7vom cyjoizj clxdfzs c1tt79v9 cd212o4",children:[e.jsxs("div",{className:"w-element ck80xjz c1uz7vom cbm90qe c4oxwb7 c75lct5",children:[e.jsx(c,{href:"https://discord.com/invite/qcYBkCmAKZ","nav-social":"true",target:"_blank",className:"w-element c1t129vl ct3f834 cbm90qe c4oxwb7 c1uz7vom cnx8q2o c1tkm9sb c3p1tny c1frqqme c1ka351p c32xzbx c1i8ednk c1fx2c52 ciexy49 cdlctc7 c1qi35su ctvpapw",children:e.jsx(n,{code:`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" style="width: 18px; height: 18px;"> 10 <path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128c.126-.094.252-.192.372-.29a.074.074 0 0 1 .077-.01c3.927 1.793 8.18 1.793 12.061 0a.074.074 0 0 1 .077.01c.12.098.246.196.373.29a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.874.894.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.182 0-2.156-1.085-2.156-2.419 0-1.333.955-2.419 2.156-2.419 1.21 0 2.176 1.096 2.156 2.419 0 1.334-.956 2.419-2.156 2.419zm7.974 0c-1.182 0-2.156-1.085-2.156-2.419 0-1.333.955-2.419 2.156-2.419 1.21 0 2.176 1.096 2.156 2.419 0 1.334-.946 2.419-2.156 2.419z"/> 11</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed cbm90qe c4oxwb7"})}),e.jsx("div",{"nav-social-text":"true",className:"w-element cg6mpnv c1gq0yhk c1vyde7q ccut9dl cwry5n3 casrrmi cnx8q2o c1tkm9sb c3p1tny c1frqqme cjzt3gg c1kjic6h c1yhkxzc c1ka351p cjh4jyv c1uldnsa cri68x2 c1oupalw",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c1yjr2ok",children:"Join us on discord"})})]}),e.jsxs(c,{"primary-btn":"true",href:"/join",className:"w-element cnx8q2o c1tkm9sb c3p1tny c1frqqme c1tabcfs c1uz7vom cbm90qe c4oxwb7 csd63x6 c4lc5pz c1kbf57g c12dc88q c32xzbx c1i8ednk c1fx2c52 ciexy49 cdlctc7 ccpqtr9 c9uv4ua ct3f834 clqy92a c1h54omw ciphf6l cqolvuh c75lct5",children:[e.jsx("span",{className:"w-element ccp5xa0 c1e5xz0k cg2r0go c1iq6tjl c1yzlqql cvrj00w csd63x6 c4lc5pz c1fkewyi cxs4t3 coboan1 c9uv4ua cwh8dci",children:"Join our Server"}),e.jsx(n,{code:`<span aria-hidden="true" class="ws-particle-pen"> 12 <div class="ws-particle"></div> 13 <div class="ws-particle"></div> 14 <div class="ws-particle"></div> 15 <div class="ws-particle"></div> 16 <div class="ws-particle"></div> 17 <div class="ws-particle"></div> 18 <div class="ws-particle"></div> 19 <div class="ws-particle"></div> 20 <div class="ws-particle"></div> 21 <div class="ws-particle"></div> 22</span>`,executeScriptOnCanvas:!0,className:"w-html-embed"})]})]})}),e.jsx("button",{"mobile-navbar-btn":"true",className:"w-element c1qi35su cqkd5wj c173fy1e c1lez5qp c1snm4mx c1scp8rj clw6rqe c1b32rai c1no7tga cg2f5e9 c5zmy7m cq9t2pq
22canr8a3 c1dirdz6 ctgqjkd c1du94ny c1khxe1t c1a9j7wt",children:e.jsx(n,{executeScriptOnCanvas:!0,code:`<div class="two-step-burger"> 23 <span></span> 24 <span></span> 25 <span></span> 26</div>`,className:"w-html-embed cqkd5wj c17xfj3y"})})]})}),e.jsx("div",{"mobile-navbar-container":"true",className:"w-element c1bplvnv c11nmou6 c24alwg c1tdzifw ca4wox4 c5b7fr0 c17xfj3y c8r62c6 cofe6fc c1dr8jhy cqkd5wj",children:e.jsx("div",{className:"w-element c1wn46uq cozcy5p c1qe7a3l cbm90qe cjulrou c1a4d992 c1e9k3hw ce1b68t c1rx8qlb c1ljsp2s c1ll7j66",children:e.jsxs("div",{className:"w-element c1scp8rj c1cb1t0o c1ocytl9 c1ww7cbt c159h5cc c1gxhyxn",children:[e.jsxs("div",{className:"w-element c1scp8rj c1cb1t0o c14aukpa cca4bpb",children:[e.jsxs("div",{className:"w-element c1scp8rj c1cb1t0o c1thekpe c1f2x7xh",children:[e.jsx("div",{href:"/location","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"Explore"})}),e.jsx(c,{href:"/location","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1xa3wqc c984p2x cg2r0go c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c1p0q8wx c18zr17c",children:"Locations"})}),e.jsx(c,{href:"/contributors","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1xa3wqc c984p2x cg2r0go c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c1p0q8wx c18zr17c",children:"Contributors"})})]}),e.jsxs("div",{className:"w-element c1scp8rj c1cb1t0o c1thekpe c1f2x7xh",children:[e.jsx("div",{href:"/location","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"Maps"})}),e.jsx(c,{href:"/map/middle-earth-interactive-map","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1xa3wqc c984p2x cg2r0go c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c1p0q8wx c18zr17c",children:"Interactive Map"})}),e.jsx(c,{href:"/map/server-live-map","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1xa3wqc c984p2x cg2r0go c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c1p0q8wx c18zr17c",children:"Live Server Map"})})]}),e.jsxs("div",{className:"w-element c1scp8rj c1cb1t0o c1thekpe c1f2x7xh",children:[e.jsx("div",{href:"/location","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"Learn"})}),e.jsx(c,{href:"/resources","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1xa3wqc c984p2x cg2r0go c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c1p0q8wx c18zr17c",children:"Articles"})}),e.jsx(c,{href:"/about","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1xa3wqc c984p2x cg2r0go c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c1p0q8wx c18zr17c",children:"About us"})})]}),e.jsxs("div",{className:"w-element c1scp8rj c1cb1t0o c1thekpe c1f2x7xh",children:[e.jsx("div",{href:"/location","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1uf2hoa c1ofywq3 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l",children:"About"})}),e.jsx(c,{href:"/support-us","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1xa3wqc c984p2x cg2r0go c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c1p0q8wx c18zr17c",children:"Support us"})}),e.jsx(c,{href:"/contact-us","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1xa3wqc c984p2x cg2r0go c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c1p0q8wx c18zr17c",children:"Contact us"})})]})]}),e.jsxs(c,{href:"/join","mobile-nav-stagger":"true",className:"w-element c9uv4ua c1qqnmdg c1scp8rj c1lez5qp c1uyrt4t c1thekpe c1f2x7xh",children:[e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1xa3wqc c984p2x cg2r0go c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c1yjr2ok c1p0q8wx c18zr17c",children:"Join our Server"}),e.jsx("hr",{className:"w-element c14wyfnu c1rsoh7i c3dbpcg c1ccl4po c125ke3y c1wn46uq c1igm2uw c1r9z6ml c7ji9jo cx16f77 c13irkzz"})]})]})})})]})]})}),e.jsx(s,{children:e.jsxs(o,{children:[e.jsx(n,{executeScriptOnCanvas:!0,co
26de:`<style id="css-navbar"> 27 28 /* ========================================= 29 NAVIGATION SCROLL & MENU RADIUS 30 ========================================= */ 31 [navbar="true"] { 32 /* CHANGED: must sit above the mobile menu panel (z-index: 50), or the 33 collapsed clip-path circle paints over the burger icon. */ 34 z-index: 100; 35 36 transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1); 37 will-change: transform; 38 } 39 40 [navbar="true"].nav-hidden { transform: translateY(-100%); } 41 42 /* Default state (top of page) */ 43 [nav-menu="true"] { 44 border-radius: 1.75rem; 45 padding: 0 0; 46 background-color: transparent; 47 border: 1px solid transparent; 48 backdrop-filter: blur(0px); 49 -webkit-backdrop-filter: blur(0px); 50 transition: padding 0.4s ease, border-radius 0.3s ease, 51 background-color 0.4s ease, border-color 0.4s ease, 52 backdrop-filter 0.4s ease; 53 } 54 55 /* \`.is-hovered\` replaces \`:hover\` â set by block 4, mouse only. */ 56 [navbar="true"].is-scrolled [nav-menu="true"], 57 [nav-menu="true"].is-hovered, 58 body:has([nav-container="true"].is-active) [nav-menu="true"] { 59 padding: 0 var(--space-sm); 60 background-color: rgba(20, 20, 20, 0.5); 61 border-color: rgba(255, 255, 255, 0.15); 62 backdrop-filter: blur(10px); 63 -webkit-backdrop-filter: blur(10px); 64 } 65 66 /* Square off the bottom corners only for the desktop dropdown */ 67 body:has([nav-container="true"].is-active) [nav-menu="true"] { 68 border-bottom-left-radius: 0 !important; 69 border-bottom-right-radius: 0 !important; 70 } 71 72 /* Cinematic blur background */ 73 [darken-bg="true"] { 74 position: fixed; inset: 0; pointer-events: none; 75 background-color: rgba(0, 0, 0, 0.6); 76 backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); 77 opacity: 0; visibility: hidden; 78 transition: opacity 0.3s ease, visibility 0.3s; 79 } 80 body:has([nav-container="true"].is-active) [darken-bg="true"], 81 body:has([mobile-navbar-container="true"].show) [darken-bg="true"] { 82 opacity: 1; visibility: visible; 83 } 84 85 [link="true"] { transition: text-shadow 0.3s ease; } 86 [link="true"] svg { transition: filter 0.3s ease; will-change: filter; } 87 88 [nav-social="true"] { 89 transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), 90 background-color 0.3s ease, box-shadow 0.3s ease, color 0.3s ease; 91 will-change: transform, box-shadow, background-color; 92 } 93 [nav-social="true"] svg { transition: fill 0.3s ease, stroke 0.3s ease; } 94 95 [nav-social-text="true"] { 96 opacity: 0; visibility: hidden; transform: translateY(8px); 97 transition: opacity 0.3s cubic-bezier(0.25, 1, 0.5, 1), 98 transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.3s; 99 } 100 101 [nav-logo="true"] { 102 transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), filter 0.3s ease; 103 will-change: transform, filter; 104 } 105 106 /* ========================================= 107 NAV LINK & CARD BASES 108 ========================================= */ 109 [nav-link="wrapper"] { 110 transition: background-color 0.2s ease-out; 111 cursor: pointer; 112 } 113 114 [nav-link="title"] { transition: color 0.2s ease-out; } 115 116 [nav-link="arrow"] { 117 opacity: 0; 118 -webkit-backface-visibility: hidden; 119 backface-visibility: hidden; 120 transform: translateZ(0) translateX(-8px); 121 transition: opacity 0.3s ease-out, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1); 122 will-change: transform, opacity; 123 } 124 125 [nav-link="wrapper-img"] { 126 border: 1px solid transparent; 127 overflow: hidden; 128 transition: border-color 0.2s ease-out; 129 cursor: pointer; 130 } 131 132 [nav-link="image"] { 133 -webkit-backface-visibility: hidden; 134 backface-visibility: hidden; 135 transform: translateZ(0) scale(1); 136 transition: transform 0.4s ease-out; 137 will-change: transform; 138 } 139 140 /* ========================================= 141 DESKTOP DROPDOWN (992px+) 142 ========================================= */ 143 @media (min-width: 992px) { 144
145 [nav-trigger] p { transition: text-shadow 0.3s ease, color 0.3s ease; } 146 147 [nav-chevron="true"] { 148 transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), filter 0.3s ease; 149 transform-origin: center; 150 will-change: transform, filter; 151 } 152 153 [nav-trigger]:hover [nav-chevron="true"], 154 [nav-trigger].is-active [nav-chevron="true"] { 155 transform: rotate(180deg); 156 filter: drop-shadow(0 0 6px rgba(255, 255, 255, 0.6)) 157 drop-shadow(0 0 12px rgba(255, 255, 255, 0.3)); 158 } 159 160 [nav-trigger]:hover p, 161 [nav-trigger].is-active p { 162 text-shadow: 0 0 6px rgba(255, 255, 255, 0.6), 163 0 0 12px rgba(255, 255, 255, 0.3); 164 color: #ffffff; 165 } 166 167 [nav-container="true"] { 168 position: absolute; 169 z-index: 45; 170 width: calc(100% + 2px); 171 left: -1px; 172 top: 100%; 173 opacity: 0; 174 visibility: hidden; 175 overflow: hidden; 176 border-top-left-radius: 0; 177 border-top-right-radius: 0; 178 } 179 180 [nav-panel] { 181 position: absolute; 182 top: 0; left: 0; width: 100%; 183 display: none; 184 } 185 } 186 187 /* ========================================= 188 DESKTOP-ONLY HOVER STATES 189 ========================================= */ 190 @media (hover: hover) and (pointer: fine) { 191 [link="true"]:hover { 192 text-shadow: 0 0 8px rgba(255, 255, 255, 0.8), 193 0 0 16px rgba(255, 255, 255, 0.4); 194 } 195 [link="true"]:hover svg { 196 filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.8)) 197 drop-shadow(0 0 16px rgba(255, 255, 255, 0.4)); 198 } 199 [nav-social="true"]:hover { 200 transform: scale(0.95); 201 box-shadow: 0 0 15px rgba(255, 255, 255, 0.4); 202 } 203 [nav-social="true"]:hover ~ [nav-social-text="true"] { 204 opacity: 1; visibility: visible; transform: translateY(0); 205 } 206 [nav-logo="true"]:hover { 207 transform: scale(0.96); 208 filter: drop-shadow(0 0 8px var(--color-accent-2)) 209 drop-shadow(0 0 24px var(--color-accent-2)); 210 } 211 212 [nav-link="wrapper"]:hover { background-color: var(--color-dark-grey); } 213 [nav-link="wrapper"]:hover [nav-link="title"] { color: var(--color-accent-1); } 214 [nav-link="wrapper"]:hover [nav-link="arrow"] { 215 opacity: 1; transform: translateZ(0) translateX(0); 216 } 217 218 [nav-link="wrapper-img"]:hover { border-color: var(--color-accent-1); } 219 [nav-link="wrapper-img"]:hover [nav-link="image"] { 220 transform: translateZ(0) scale(1.04); 221 } 222 [nav-link="wrapper-img"]:hover [nav-link="title"] { color: var(--color-accent-1); } 223 } 224 225 /* ========================================= 226 MOBILE BURGER BUTTON 227 ========================================= 228 Mobile-only, so Webstudio's own display rule keeps it hidden on desktop. 229 230 CHANGED: \`background-color: transparent !important\` removed. Style the 231 button freely in the designer now â though you may not need to, since the 232 collapsed menu circle already sits behind it. 233 */ 234 @media (max-width: 991px) { 235 236 button[mobile-navbar-btn="true"] { 237 z-index: 60 !important; 238 239 display: inline-flex !important; 240 align-items: center; 241 justify-content: center; 242 padding: 0 !important; 243 line-height: 0; 244 } 245 246 .two-step-burger { 247 flex: 0 0 auto; 248 margin: 0 auto; 249 } 250 251 } 252 253 /* ========================================= 254 MOBILE MAIN CONTAINER 255 ========================================= 256 CHANGED: the clip-path origin is now driven by --burger-x / --burger-y / 257 --burger-r, which block 4 measures from the button's real box. The old 258 hardcoded values remain as fallbacks if the JS never runs. 259 */ 260 [mobile-navbar-container="true"] { 261 position: fixed; 262 top: 0; 263 left: 0; 264 width: 100vw; 265 height: 100dvh; 266 z-index: 50; 267 background-color: rgba(21, 21, 21, 0.9); 268 background-color: color-mix( 269 in srgb, 270 var(--color-black) 90%, 271 transparent 272 ); 273 274 clip-path: circle( 275 var(--burger-r, 20px) 276 at var(--burger-x, calc(100% - 2rem - 20px)) 277 var(--burger-y, calc(1.5rem + 20px)) 278 ); 279 280 transition: clip-path 0.5s cubic-bezier(0.16, 1, 0.3, 1); 281 pointer-events: none; 282 283 overflow-y: auto; 284 overscroll-behavior: contain; 285 padding-top: 6rem; 286 } 287 288 [mobile-navbar-container="true"].show { 289 background-color: var(--color-black); 290 291 clip-path: circle( 292 150% 293 at var(--burger-x, calc(100% - 2rem - 20px)) 294 var(--burger-y, calc(1.5rem + 20px)) 295 ); 296 pointer-events: auto; 297 } 298 299 /* Set by block 4 while it repositions, so the circle does not animate 300 across the screen every time you scroll. */ 301 [mobile-navbar-container="true"].is-repositioning { 302 transition: none !important; 303 } 304 305 /* ========================================= 306 MOBILE CONTENT VISIBILITY (GSAP) 307 ========================================= */ 308 [mobile-nav-stagger="true"] { 309 opacity: 0; 310 visibility: hidden; 311 } 312 313 /* ========================================= 314 MOBILE BURGER ANIMATION 315 ========================================= */ 316 .two-step-burger { 317 width: 24px; height: 24px; position: relative; 318 cursor: pointer; color: inherit; 319 } 320 321 .two-step-burger span { 322 display: block; position: absolute; 323 height: 2px; width: 18px; 324 background: currentColor; border-radius: 2px; 325 left: 3px; 326 will-change: top, transform, opacity; 327 pointer-events: none; 328 } 329 330 /* Tops of 3/11/19 give bar centres of 4/12/20 in a 24px box. */ 331 .two-step-burger span:nth-child(1) { 332 top: 3px; 333 transition: top 0.2s ease-in-out 0.2s, transform 0.2s ease-in-out 0s; 334 } 335 .two-step-burger span:nth-child(2) { 336 top: 11px; 337 transition: opacity 0.2s ease-in-out 0.2s; 338 } 339 .two-step-burger span:nth-child(3) { 340 top: 19px; 341 transition: top 0.2s ease-in-out 0.2s, transform 0.2s ease-in-out 0s; 342 } 343 344 [mobile-navbar-btn="true"].active span:nth-child(1), 345 .two-step-burger.active span:nth-child(1) { 346 top: 11px; transform: rotate(45deg); 347 transition: top 0.2s ease-in-out 0s, transform 0.2s ease-in-out 0.2s; 348 } 349 [mobile-navbar-btn="true"].active span:nth-child(2), 350 .two-step-burger.active span:nth-child(2) { 351 opacity: 0; 352 transition: opacity 0.2s ease-in-out 0s; 353 } 354 [mobile-navbar-btn="true"].active span:nth-child(3), 355 .two-step-burger.active span:nth-child(3) { 356 top: 11px; transform: rotate(-45deg); 357 transition: top 0.2s ease-in-out 0s, transform 0.2s ease-in-out 0.2s; 358 } 359 360 /* ========================================= 361 MOBILE SIBLING ACCORDION 362 ========================================= */ 363 @media (max-width: 991px) { 364 [mobile-navbar-container="true"] [nav-trigger] { cursor: pointer; } 365 [mobile-navbar-container="true"] [nav-panel] { 366 overflow: hidden; height: 0; opacity: 0; visibility: hidden; 367 width: 100%; display: flex; 368 } 369 [mobile-navbar-arrow="true"] { 370 display: inline-flex; 371 transition: transform 0.3s ease; 372 transform-origin: center; 373 } 374 [mobile-navbar-container="true"] [nav-trigger].is-open [mobile-navbar-arrow="true"] { 375 transform: rotate(180deg); 376 } 377 } 378 /* Keep the mobile navbar row above the expanding menu layer. */ 379 @media (max-width: 991px) {
380 [nav-menu="true"] { 381 position: relative; 382 z-index: 60; 383 } 384 385 button[mobile-navbar-btn="true"] { 386 z-index: 61 !important; 387 } 388 389 /* Do not blur the expanding black circle through the navbar glass. */ 390 body:has([mobile-navbar-container="true"].show) [nav-menu="true"] { 391 background-color: transparent !important; 392 border-color: transparent !important; 393 backdrop-filter: none !important; 394 -webkit-backdrop-filter: none !important; 395 } 396 } 397 398</style> 399`,className:"w-html-embed c18kn0sj"}),e.jsx(n,{executeScriptOnCanvas:!0,code:`<script id="js-navbar"> 400(function () { 401 "use strict"; 402 403 /* ------------------------------------------------------------------ 404 * Shared Webstudio / React hydration gate 405 * ------------------------------------------------------------------ 406 * 407 * Navbar JS is the first custom script in the production document, so it 408 * owns the shared gate. \`load\` plus a couple of frames is not sufficient: 409 * React can still be hydrating the Webstudio document at that point. 410 */ 411 window.wsAfterHydration = window.wsAfterHydration || new Promise(function (resolve) { 412 var settled = false; 413 var pollingStartedAt = 0; 414 var reactContainerKey = null; 415 var FALLBACK_DELAY = 2500; 416 417 function finish() { 418 if (settled) return; 419 settled = true; 420 421 requestAnimationFrame(function () { 422 requestAnimationFrame(resolve); 423 }); 424 } 425 426 function reactHydrationComplete() { 427 if (!reactContainerKey) { 428 reactContainerKey = Object.getOwnPropertyNames(document) 429 .find(function (name) { 430 return name.indexOf('__reactContainer$') === 0; 431 }) || null; 432 } 433 434 if (!reactContainerKey) return false; 435 436 var fiber = document[reactContainerKey]; 437 var root = fiber && 438 (fiber.stateNode || (fiber.return && fiber.return.stateNode)); 439 440 if (!root || !root.current) return false; 441 442 var state = root.current.memoizedState; 443 444 return !!state && 445 state.isDehydrated === false && 446 root.pendingLanes === 0; 447 } 448 449 function check() { 450 if (!pollingStartedAt) pollingStartedAt = performance.now(); 451 452 if (reactHydrationComplete() || 453 performance.now() - pollingStartedAt >= FALLBACK_DELAY) { 454 finish(); 455 return; 456 } 457 458 requestAnimationFrame(check); 459 } 460 461 if (document.readyState === 'complete') { 462 check(); 463 } else { 464 window.addEventListener('load', check, { once: true }); 465 } 466 }); 467 468 if (window.wsNavMasterInitialized) return; 469 window.wsNavMasterInitialized = true; 470 471 var activeIndex = -1; 472 var menuTimeout; 473 474 /* ------------------------------------------------------------------ 475 * Burger element helpers 476 * ---------------------------------------------------------------- */ 477 478 function burgerRoots() { 479 return Array.prototype.filter.call( 480 document.querySelectorAll('[mobile-navbar-btn="true"]'), 481 function (el) { 482 return !( 483 el.parentElement && 484 el.parentElement.closest('[mobile-navbar-btn="true"]') 485 ); 486 } 487 ); 488 } 489 490 function allBurgerElements() { 491 return document.querySelectorAll('[mobile-navbar-btn="true"]'); 492 } 493 494 function setBurgerActive(isActive) { 495 allBurgerElements().forEach(function (el) { 496 el.classList.toggle('active', isActive); 497 el.setAttribute('aria-expanded', isActive ? 'true' : 'false'); 498 }); 499 } 500 501 /* ------------------------------------------------------------------ 502 * NEW â keep the menu's clip-path circle centred on the burger 503 * ---------------------------------------------------------------- */ 504 505 var originFrame = null; 506 507 function syncBurgerOrigin() { 508 var container = document.querySelector('[mobile-navbar-container="true"]'); 509 var btn = document.querySelector('button[mobile-navbar-btn="true"]') || 510 document.querySelector('[mobile-navbar-btn="true"]'); 511 512 if (!container || !btn) return; 513 514 /* Never move the origin mid-animation. */ 515 if (container.classList.contains('show')) return; 516 517 var r = btn.getBoundingClientRect(); 518 519 /* Zero box means hidden (desktop) â keep the last known values. */ 520 if (!r.width || !r.height) return; 521 522 var x = Math.round(r.left + r.width / 2); 523 var y = Math.round(r.top + r.height / 2); 524 var radius = Math.round(Math.max(r.width, r.height) / 2); 525 526 if (container.dataset.originX === String(x) && 527 container.dataset.originY === String(y) && 528 container.dataset.originR === String(radius)) { 529 return; 530 } 531 532 container.dataset.originX = x; 533 container.dataset.originY = y;
534 container.dataset.originR = radius; 535 536 /* Suppress the 0.5s clip-path transition for this write only. */ 537 container.classList.add('is-repositioning'); 538 539 container.style.setProperty('--burger-x', x + 'px'); 540 container.style.setProperty('--burger-y', y + 'px'); 541 container.style.setProperty('--burger-r', radius + 'px'); 542 543 requestAnimationFrame(function () { 544 container.classList.remove('is-repositioning'); 545 }); 546 } 547 548 function scheduleOriginSync() { 549 if (originFrame !== null) return; 550 551 originFrame = requestAnimationFrame(function () { 552 originFrame = null; 553 syncBurgerOrigin(); 554 }); 555 } 556 557 var originTrackingFrame = null; 558 var originTrackingUntil = 0; 559 560 /* The scrolled navbar state moves the burger with a 0.4s CSS transition. 561 A single scroll event only captures the transition's starting position, 562 so keep measuring until the burger has reached its final position. */ 563 function trackBurgerOrigin(duration) { 564 originTrackingUntil = Math.max( 565 originTrackingUntil, 566 performance.now() + (duration || 500) 567 ); 568 569 if (originTrackingFrame !== null) return; 570 571 function track(now) { 572 syncBurgerOrigin(); 573 574 if (now < originTrackingUntil) { 575 originTrackingFrame = requestAnimationFrame(track); 576 return; 577 } 578 579 originTrackingFrame = null; 580 syncBurgerOrigin(); 581 } 582 583 originTrackingFrame = requestAnimationFrame(track); 584 } 585 586 /* Public hook used by page-specific entrance animations. */ 587 window.wsSyncBurgerOrigin = scheduleOriginSync; 588 589 /* ------------------------------------------------------------------ 590 * Scroll lock helpers (Lenis-aware) 591 * ---------------------------------------------------------------- */ 592 593 function lockPageScroll() { 594 if (window.lenis) { 595 window.lenis.stop(); 596 } else { 597 document.body.style.overflow = 'hidden'; 598 } 599 } 600 601 function unlockPageScroll() { 602 if (window.lenis) window.lenis.start(); 603 document.body.style.overflow = ''; 604 } 605 606 /* ------------------------------------------------------------------ 607 * Mouse-only hover state for the nav menu 608 * ---------------------------------------------------------------- */ 609 610 function bindNavMenuHover() { 611 document.querySelectorAll('[nav-menu="true"]').forEach(function (menu) { 612 if (menu.dataset.navHoverBound === 'true') return; 613 menu.dataset.navHoverBound = 'true'; 614 615 menu.addEventListener('pointerenter', function (e) { 616 if (e.pointerType !== 'mouse') return; 617 menu.classList.add('is-hovered'); 618 }); 619 620 menu.addEventListener('pointerleave', function (e) { 621 if (e.pointerType !== 'mouse') return; 622 menu.classList.remove('is-hovered'); 623 }); 624 625 menu.addEventListener('pointercancel', function () { 626 menu.classList.remove('is-hovered'); 627 }); 628 629 menu.addEventListener('touchstart', function () { 630 menu.classList.remove('is-hovered'); 631 }, { passive: true }); 632 }); 633 } 634 635 function clearNavMenuHover() { 636 document.querySelectorAll('[nav-menu="true"]').forEach(function (menu) { 637 menu.classList.remove('is-hovered'); 638 }); 639 } 640 641 /* ------------------------------------------------------------------ 642 * Close helpers 643 * ---------------------------------------------------------------- */ 644 645 window.wsCloseMobileMenu = function () { 646 var container = document.querySelector('[mobile-navbar-container="true"]'); 647 648 setBurgerActive(false); 649 650 if (container) { 651 container.classList.remove('show'); 652 653 var mobileStaggers = container.querySelectorAll('[mobile-nav-stagger="true"]'); 654 if (mobileStaggers.length) { 655 gsap.killTweensOf(mobileStaggers); 656 gsap.set(mobileStaggers, { autoAlpha: 0, y: 15 }); 657 } 658 } 659 660 unlockPageScroll(); 661 clearNavMenuHover(); 662 663 document.querySelectorAll('[mobile-navbar-container="true"] [nav-trigger]') 664 .forEach(function (trigger) { trigger.classList.remove('is-open'); }); 665 666 document.querySelectorAll('[mobile-navbar-container="true"] [nav-panel]') 667 .forEach(function (menu) { 668 gsap.set(menu, { height: 0, opacity: 0, visibility: 'hidden' }); 669 }); 670 }; 671 672 /* Instant, tweenless reset. State and inline styles can never drift. */ 673 function resetDesktopMenu() { 674 clearTimeout(menuTimeout); 675 activeIndex = -1; 676 677 document.querySelectorAll('[nav-trigger]').forEach(function (t) { 678 t.classList.remove('is-active'); 679 }); 680 681 document.querySelectorAll('[nav-panel]').forEach(function (p) { 682 gsap.killTweensOf(p); 683 gsap.set(p, { display: 'none', x: 0, opacity: 0 }); 684 }); 685 686 var staggers = document.querySelectorAll('[nav-stagger="true"]'); 687 if (staggers.length) { 688 gsap.killTweensOf(staggers); 689 gsap.set(staggers, { opacity: 0, y: 15 }); 690 } 691 692 var container = document.querySelector('[nav-container="true"]'); 693 if (!container) return; 694 695 gsap.killTweensOf(container); 696 container.classList.remove('is-active'); 697 gsap.set(container, { height: 0, opacity: 0, visibility: 'hidden' }); 698 } 699 700 function closeDesktopMenu() { 701 activeIndex = -1; 702 703 var container = document.querySelector('[nav-container="true"]'); 704 if (!container) return; 705 706 container.classList.remove('is-active'); 707 708 document.querySelectorAll('[nav-trigger]').forEach(function (t) { 709 t.classList.remove('is-active'); 710 }); 711 712 gsap.killTweensOf(container); 713 714 gsap.to(container, { 715 height: 0, 716 opacity: 0, 717 duration: 0.3, 718 ease: 'power2.out', 719 onComplete: function () { 720 gsap.set(container, { visibility: 'hidden' }); 721 722 document.querySelectorAll('[nav-panel]').forEach(function (p) { 723 gsap.set(p, { display: 'none' }); 724 }); 725 726 var staggers = document.querySelectorAll('[nav-stagger="true"]'); 727 if (staggers.length) gsap.set(staggers, { opacity: 0, y: 15 }); 728 } 729 }); 730 } 731 732 /* ------------------------------------------------------------------ 733 * Desktop dropdown 734 * ---------------------------------------------------------------- */ 735 736 function bindDesktop() { 737 var triggers = Array.from(document.querySelectorAll('[nav-trigger]')); 738 var container = document.querySelector('[nav-container="true"]'); 739 740 if (!container || container.dataset.bound === 'true') return; 741 container.dataset.bound = 'true'; 742 743 container.addEventListener('mouseenter', function () { 744 clearTimeout(menuTimeout); 745 }); 746 747 container.addEventListener('mouseleave', function () { 748 menuTimeout = setTimeout(closeDesktopMenu, 350); 749 }); 750
751 triggers.forEach(function (trigger, index) { 752 trigger.addEventListener('pointerenter', function (e) { 753 if (e.pointerType !== 'mouse') return; 754 if (window.innerWidth <= 991) return; 755 756 clearTimeout(menuTimeout); 757 758 var targetId = trigger.getAttribute('nav-trigger'); 759 var newPanel = document.querySelector('[nav-panel="' + targetId + '"]'); 760 if (!newPanel) return; 761 762 var isOpen = container.classList.contains('is-active'); 763 764 if (activeIndex === index && isOpen) return; 765 if (!isOpen) activeIndex = -1; 766 767 container.classList.add('is-active'); 768 769 triggers.forEach(function (t) { t.classList.remove('is-active'); }); 770 trigger.classList.add('is-active'); 771 772 gsap.killTweensOf(container); 773 gsap.killTweensOf(newPanel); 774 775 if (activeIndex === -1) { 776 document.querySelectorAll('[nav-panel]').forEach(function (p) { 777 if (p !== newPanel) gsap.set(p, { display: 'none' }); 778 }); 779 780 gsap.set(newPanel, { display: 'flex', opacity: 1, x: 0, height: 'auto' }); 781 gsap.set(container, { visibility: 'visible' }); 782 783 gsap.to(container, { 784 height: newPanel.offsetHeight, 785 opacity: 1, 786 duration: 0.3, 787 ease: 'power2.out' 788 }); 789 790 var staggers = newPanel.querySelectorAll('[nav-stagger="true"]'); 791 if (staggers.length) { 792 gsap.killTweensOf(staggers); 793 gsap.fromTo( 794 staggers, 795 { opacity: 0, y: 15 }, 796 { opacity: 1, y: 0, stagger: 0.05, duration: 0.35, ease: 'power2.out' } 797 ); 798 } 799 } else { 800 var direction = index > activeIndex ? 1 : -1; 801 var oldTrigger = triggers[activeIndex]; 802 var oldPanel = oldTrigger 803 ? document.querySelector('[nav-panel="' + oldTrigger.getAttribute('nav-trigger') + '"]') 804 : null; 805 806 gsap.set(newPanel, { 807 display: 'flex', height: 'auto', 808 x: direction * 40, opacity: 0 809 }); 810 811 var staggers2 = newPanel.querySelectorAll('[nav-stagger="true"]'); 812 if (staggers2.length) { 813 gsap.killTweensOf(staggers2); 814 gsap.set(staggers2, { opacity: 1, y: 0 }); 815 } 816 817 gsap.set(container, { visibility: 'visible' }); 818 819 gsap.to(container, { 820 height: newPanel.offsetHeight, 821 opacity: 1, 822 duration: 0.3, 823 ease: 'power2.out' 824 }); 825 826 if (oldPanel && oldPanel !== newPanel) { 827 gsap.killTweensOf(oldPanel); 828 gsap.to(oldPanel, { 829 x: -direction * 40, opacity: 0, 830 duration: 0.3, ease: 'power2.out', 831 onComplete: function () { 832 gsap.set(oldPanel, { display: 'none', x: 0 }); 833 } 834 }); 835 } 836 837 gsap.to(newPanel, { x: 0, opacity: 1, duration: 0.3, ease: 'power2.out' }); 838 } 839 840 activeIndex = index; 841 }); 842 843 trigger.addEventListener('pointerleave', function (e) { 844 if (e.pointerType !== 'mouse') return; 845 if (window.innerWidth <= 991) return; 846 menuTimeout = setTimeout(closeDesktopMenu, 350); 847 }); 848 }); 849 } 850 851 /* ------------------------------------------------------------------ 852 * Mobile burger 853 * ---------------------------------------------------------------- */ 854 855 function bindBurger() {
856 burgerRoots().forEach(function (btn) { 857 if (btn.dataset.navBound === 'true') return; 858 btn.dataset.navBound = 'true'; 859 860 btn.setAttribute('aria-expanded', 'false'); 861 862 btn.addEventListener('click', function (e) { 863 e.preventDefault(); 864 e.stopImmediatePropagation(); 865 866 clearNavMenuHover(); 867 868 if (btn.classList.contains('active')) { 869 window.wsCloseMobileMenu(); 870 return; 871 } 872 873 /* Make sure the expand starts from where the icon is NOW. */ 874 syncBurgerOrigin(); 875 876 setBurgerActive(true); 877 878 var mobileContainer = document.querySelector('[mobile-navbar-container="true"]'); 879 if (!mobileContainer) return; 880 881 mobileContainer.setAttribute('data-lenis-prevent', ''); 882 mobileContainer.classList.add('show'); 883 884 lockPageScroll(); 885 886 var mobileStaggers = mobileContainer.querySelectorAll('[mobile-nav-stagger="true"]'); 887 if (!mobileStaggers.length) return; 888 889 gsap.killTweensOf(mobileStaggers); 890 gsap.fromTo( 891 mobileStaggers, 892 { autoAlpha: 0, y: 15 }, 893 { 894 autoAlpha: 1, y: 0, 895 duration: 0.4, stagger: 0.06, 896 ease: 'power2.out', delay: 0.25 897 } 898 ); 899 }, true); 900 }); 901 } 902 903 /* Webstudio changes routes without unloading the document. Close the 904 mobile menu before its destination activates so Lenis cannot remain 905 stopped on the next page. */ 906 function bindMobileNavigationCleanup() { 907 document.querySelectorAll('[mobile-navbar-container="true"]') 908 .forEach(function (container) { 909 if (container.dataset.navCleanupBound === 'true') return; 910 container.dataset.navCleanupBound = 'true'; 911 912 container.addEventListener('click', function (e) { 913 if (window.innerWidth > 991) return; 914 915 var destination = e.target.closest('a[href], [href]'); 916 if (!destination) return; 917 918 /* Accordion triggers control panels rather than routes. */ 919 if (destination.closest('[nav-trigger]')) return; 920 921 window.wsCloseMobileMenu(); 922 }, true); 923 }); 924 } 925 926 /* ------------------------------------------------------------------ 927 * Mobile accordion 928 * ---------------------------------------------------------------- */ 929 930 function bindMobileAccordion() { 931 document.querySelectorAll('[mobile-navbar-container="true"] [nav-trigger]') 932 .forEach(function (trigger) { 933 if (trigger.dataset.navBound === 'true') return; 934 trigger.dataset.navBound = 'true'; 935 936 trigger.addEventListener('click', function (e) { 937 if (window.innerWidth > 991) return; 938 939 e.preventDefault(); 940 e.stopImmediatePropagation(); 941 942 var targetId = trigger.getAttribute('nav-trigger'); 943 var menu = document.querySelector( 944 '[mobile-navbar-container="true"] [nav-panel="' + targetId + '"]' 945 ); 946 if (!menu) return; 947 948 var isOpen = trigger.classList.contains('is-open'); 949 gsap.killTweensOf(menu); 950 951 if (isOpen) { 952 trigger.classList.remove('is-open'); 953 gsap.to(menu, { 954 height: 0, opacity: 0, 955 duration: 0.4, ease: 'power2.out', 956 onComplete: function () { 957 gsap.set(menu, { visibility: 'hidden' }); 958 } 959 }); 960 } else { 961 trigger.classList.add('is-open'); 962 gsap.set(menu, { visibility: 'visible' }); 963 gsap.fromTo( 964 menu, 965 { height: 0, opacity: 0 }, 966 { height: 'auto', opacity: 1, duration: 0.4, ease: 'power2.out' } 967 ); 968 } 969 }, true); 970 }); 971 } 972 973 function bindNavbarInteractions() { 974 bindNavMenuHover(); 975 bindDesktop(); 976 bindBurger(); 977 bindMobileNavigationCleanup(); 978 bindMobileAccordion(); 979 scheduleOriginSync(); 980 } 981 982 /* ------------------------------------------------------------------ 983 * Hydration-safe initial binding and batched mutation observer 984 * ---------------------------------------------------------------- */ 985 986 var rebindScheduled = false;
987 var navObserver = null; 988 989 function startNavbarObserver() { 990 if (navObserver) return; 991 992 navObserver = new MutationObserver(function (mutations) { 993 var hasAdded = mutations.some(function (m) { 994 return m.addedNodes.length > 0; 995 }); 996 if (!hasAdded || rebindScheduled) return; 997 998 rebindScheduled = true; 999 1000 requestAnimationFrame(function () { 1001 rebindScheduled = false; 1002 bindNavbarInteractions(); 1003 }); 1004 }); 1005 1006 navObserver.observe(document.body, { childList: true, subtree: true }); 1007 } 1008 1009 function initializeNavbar() { 1010 bindNavbarInteractions(); 1011 startNavbarObserver(); 1012 } 1013 1014 /* DOMContentLoaded can fire while React is still hydrating. Mutating 1015 classes, datasets or inline GSAP styles at that point can make the 1016 server and client trees disagree. */ 1017 if (window.wsAfterHydration && 1018 typeof window.wsAfterHydration.then === 'function') { 1019 window.wsAfterHydration.then(initializeNavbar); 1020 } else if (document.readyState === 'complete') { 1021 requestAnimationFrame(initializeNavbar); 1022 } else { 1023 window.addEventListener('load', function () { 1024 requestAnimationFrame(initializeNavbar); 1025 }, { once: true }); 1026 } 1027 1028 window.addEventListener('load', scheduleOriginSync); 1029 1030 /* ------------------------------------------------------------------ 1031 * Scroll behaviour 1032 * ---------------------------------------------------------------- */ 1033 1034 var lastScrollY = window.scrollY; 1035 var isScrolled = false; 1036 var isHidden = false; 1037 1038 window.addEventListener('scroll', function () { 1039 var navbar = document.querySelector('[navbar="true"]'); 1040 if (!navbar) return; 1041 1042 var currentScrollY = window.scrollY; 1043 1044 var shouldBeScrolled = currentScrollY > 50; 1045 if (shouldBeScrolled !== isScrolled) { 1046 isScrolled = shouldBeScrolled; 1047 navbar.classList.toggle('is-scrolled', isScrolled); 1048 trackBurgerOrigin(450); 1049 } 1050 1051 var shouldHide = currentScrollY > lastScrollY && currentScrollY > 500; 1052 if (shouldHide !== isHidden) { 1053 isHidden = shouldHide; 1054 navbar.classList.toggle('nav-hidden', isHidden); 1055 trackBurgerOrigin(450); 1056 } 1057 1058 lastScrollY = currentScrollY; 1059 1060 /* The burger moves with the navbar â keep the circle on it. */ 1061 scheduleOriginSync(); 1062 }, { passive: true }); 1063 1064 /* ------------------------------------------------------------------ 1065 * Resize 1066 * ---------------------------------------------------------------- */ 1067 1068 var lastWidth = window.innerWidth; 1069 1070 window.addEventListener('resize', function () { 1071 scheduleOriginSync(); 1072 1073 if (window.innerWidth === lastWidth) return; 1074 1075 var wasDesktop = lastWidth > 991; 1076 var isDesktop = window.innerWidth > 991; 1077 1078 lastWidth = window.innerWidth; 1079 1080 if (wasDesktop === isDesktop) return; 1081 1082 if (isDesktop) { 1083 window.wsCloseMobileMenu(); 1084 } else { 1085 resetDesktopMenu(); 1086 } 1087 1088 bindNavbarInteractions(); 1089 }, { passive: true }); 1090 1091 /* ------------------------------------------------------------------ 1092 * History navigation 1093 * ---------------------------------------------------------------- */ 1094 1095 window.addEventListener('pagehide', function () { 1096 resetDesktopMenu(); 1097 window.wsCloseMobileMenu(); 1098 }); 1099 1100 window.addEventListener('pageshow', function () { 1101 resetDesktopMenu(); 1102 window.wsCloseMobileMenu(); 1103 clearNavMenuHover(); 1104 bindNavbarInteractions(); 1105 }); 1106})(); 1107<\/script>`,className:"w-html-embed"}),e.jsxs("div",{"data-cookie-banner":"true",className:"w-element cos19h3 c1oltoh9 c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw c5awtof c1kbf57g cwoxq2k calwkgt cil0izm c33h9pg cqkd5wj cln6h01 c1tdweg cbm90qe cjulrou c119z9l cwry5n3 c10msptw c1oupalw c17pj1yx ccvlyga c19ng6f c13pzss2 c1qpchza c1f6bmqy c13g0bak che0hi9 ctp5a16 c1t6kr9u",children:[e.jsx("div",{className:"w-element",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:["We use cookies to ensure you get the best experience on our website. ",e.jsx(c,{href:"/cookie-policy",className:"w-element c1qi35su c32xzbx cz92tk c1gxmacj c1j9ejvd cdlctc7 cqqqcgl c1yxq9sv",children:"Learn more"})]})}),e.jsxs("div",{className:"w-element c1uz7vom c4yd207",children:[e.jsx("div",{"data-cookie-action":"decline",className:"w-element c1vyde7q ccut9dl cwry5n3 cminpwc cnjd1g9 c1lo5wo0 c16im13i c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw c119z9l",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c12zejl6 c11ilikl",children:"Decline"})}),e.jsx("div",{"data-cookie-action":"accept",className:"w-element c1vyde7q ccut9dl cwry5n3 cminpwc cnjd1g9 c1lo5wo0 c16im13i cdk8ru2 c17q5ox6 ct6po2z c7mtr3j cymrtsy c119z9l c32xzbx cz92tk c1gxmacj c1j9ejvd cdlctc7 c9q5ma3 c1qv1slc",children:e.jsx("p",{className:"w-element ccp5xa0 coboan1 c1ofywq3 c1gtpjdp c1hi51uv c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c1yjr2ok c11ilikl",children:"Allow Cookies"})})]})]}
1107),e.jsx(n,{executeScriptOnCanvas:!0,code:`<style id="css-global"> 1108 1109 /* ========================================= 1110 SCROLL / LAYOUT BASE 1111 ========================================= */ 1112 html { scrollbar-gutter: stable; } 1113 1114 /* Lenis recommended base styles */ 1115 html.lenis, html.lenis body { height: auto; } 1116 .lenis.lenis-smooth { scroll-behavior: auto !important; } 1117 .lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; } 1118 .lenis.lenis-stopped { overflow: hidden; } 1119 .lenis.lenis-scrolling iframe { pointer-events: none; } 1120 1121 /* ========================================= 1122 SELECTION 1123 ========================================= */ 1124 ::selection { 1125 background-color: rgb(246, 196, 128); 1126 color: rgb(21, 21, 21); 1127 } 1128 ::-moz-selection { 1129 background-color: rgb(246, 196, 128); 1130 color: rgb(21, 21, 21); 1131 } 1132 1133 /* ========================================= 1134 REVEAL ON SCROLL 1135 ========================================= */ 1136 .reveal-init { 1137 opacity: 0; 1138 transform: translateY(10px); 1139 transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), 1140 transform 0.8s cubic-bezier(0.16, 1, 0.3, 1); 1141 transition-delay: var(--delay, 0s); 1142 } 1143 .reveal-visible { 1144 opacity: 1; 1145 transform: none; /* removes the stacking context after animation */ 1146 } 1147 1148 /* ========================================= 1149 MOBILE & BASE 1150 ========================================= */ 1151 @media (max-width: 991px) { 1152 * { -webkit-tap-highlight-color: transparent; } 1153 *:focus:not(:focus-visible) { outline: none; background-color: transparent; } 1154 } 1155 1156 @supports (-webkit-touch-callout: none) { 1157 [squircle="true"] { 1158 -webkit-mask-box-image: none !important; 1159 mask-border: none !important; 1160 -webkit-mask-image: -webkit-radial-gradient(white, black) !important; 1161 } 1162 } 1163 1164 /* ========================================= 1165 CARDS 1166 CHANGED: [Card="true"] dropped everywhere â same selector as [card="true"] 1167 ========================================= */ 1168 [card="true"], [card-bg="true"] { 1169 -webkit-backface-visibility: hidden; 1170 backface-visibility: hidden; 1171 transform: translate3d(0, 0, 0); 1172 /* No CSS transition on transform here â GSAP owns it */ 1173 } 1174 1175 [card="true"] { 1176 position: relative; 1177 cursor: pointer !important; 1178 } 1179 1180 /* Spotlight glow */ 1181 [card="true"]::after { 1182 content: ""; position: absolute; inset: 0; 1183 border-radius: inherit; opacity: 0; 1184 transition: opacity 0.3s ease; pointer-events: none; z-index: 1; 1185 background: radial-gradient( 1186 800px at var(--local-x, 50%) var(--local-y, 50%), 1187 rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0) 40% 1188 ); 1189 } 1190 1191 /* Border highlight */ 1192 [card="true"]::before { 1193 content: ""; position: absolute; inset: 0; 1194 padding: 1px; border-radius: inherit; opacity: 0; 1195 transition: opacity 0.3s ease; pointer-events: none; z-index: 2; 1196 background: radial-gradient( 1197 400px at var(--local-x, 50%) var(--local-y, 50%), 1198 rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0) 40% 1199 ); 1200 -webkit-mask: linear-gradient(white, white) content-box, 1201 linear-gradient(white, white); 1202 -webkit-mask-composite: destination-out; 1203 mask: linear-gradient(white, white) content-box, 1204 linear-gradient(white, white); 1205 mask-composite: exclude; 1206 } 1207 1208 /* ========================================= 1209 PRIMARY BUTTON PARTICLES 1210 ========================================= */ 1211 [primary-btn="true"] { position: relative; } 1212 1213 .ws-particle-pen { 1214 position: absolute; width: 140%; aspect-ratio: 1; 1215 top: 50%; left: 50%; 1216 transform: translate(-50%, -50%); 1217 z-index: 1; opacity: 0; 1218 transition: opacity 0.15s ease-out; pointer-events: none; 1219 -webkit-mask: radial-gradient(white, rgba(255, 255, 255, 0) 65%); 1220 mask: radial-gradient(white, rgba(255, 255, 255, 0) 65%); 1221 } 1222 1223 .ws-particle { 1224 background-color: var(--color-accent-1, rgb(246, 196, 128)); 1225 aspect-ratio: 1; position: absolute; 1226 animation-play-state: paused; 1227 clip-path: polygon(50% 0%, 60% 40%, 100% 50%, 60% 60%, 1228 50% 100%, 40% 60%, 0% 50%, 40% 40%); 1229 } 1230 .ws-particle:nth-child(1) { width: 0.6rem; top: 30%; left: 25%; opacity: 0.8; transform-origin: 400% -600%; animation: float-out 12s -1s infinite linear; } 1231 .ws-particle:nth-child(2) { width: 0.8rem; top: 65%; left: 75%; opacity: 0.5; transform-origin: -500% 300%; animation: float-out 15s -4s infinite reverse linear; } 1232 .ws-particle:nth-child(3) { width: 0.4rem; top: 80%; left: 40%;
1232 opacity: 0.9; transform-origin: 500% 600%; animation: float-out 9s -2s infinite linear; } 1233 .ws-particle:nth-child(4) { width: 0.9rem; top: 20%; left: 80%; opacity: 0.6; transform-origin: -300% -400%; animation: float-out 18s -6s infinite reverse linear; } 1234 .ws-particle:nth-child(5) { width: 0.5rem; top: 55%; left: 20%; opacity: 0.7; transform-origin: 600% 200%; animation: float-out 11s -3s infinite linear; } 1235 .ws-particle:nth-child(6) { width: 0.7rem; top: 85%; left: 60%; opacity: 0.8; transform-origin: -600% -500%; animation: float-out 14s -7s infinite reverse linear; } 1236 .ws-particle:nth-child(7) { width: 0.8rem; top: 25%; left: 50%; opacity: 0.4; transform-origin: 300% 500%; animation: float-out 8s -1s infinite linear; } 1237 .ws-particle:nth-child(8) { width: 0.6rem; top: 75%; left: 30%; opacity: 0.9; transform-origin: -400% 600%; animation: float-out 13s -5s infinite reverse linear; } 1238 .ws-particle:nth-child(9) { width: 0.7rem; top: 40%; left: 85%; opacity: 0.5; transform-origin: 700% -300%; animation: float-out 16s -8s infinite linear; } 1239 .ws-particle:nth-child(10) { width: 0.5rem; top: 45%; left: 45%; opacity: 0.7; transform-origin: -500% -600%; animation: float-out 10s -2s infinite reverse linear; } 1240 1241 @keyframes float-out { to { transform: rotate(360deg); } } 1242 1243 /* ========================================= 1244 SQUIRCLE & FIREFOX FALLBACK 1245 ========================================= */ 1246 [squircle="true"] { 1247 border-radius: 24px !important; 1248 overflow: hidden !important; 1249 -webkit-mask-box-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMjAwJyBoZWlnaHQ9JzIwMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJz48cGF0aCBkPSdNNTAsMCBDMiwwIDAsMiAwLDUwIEwwLDE1MCBDMCwxOTggMiwyMDAgNTAsMjAwIEwxNTAsMjAwIEMxOTgsMjAwIDIwMCwxOTggMjAwLDE1MCBMMjAwLDUwIEMyMDAsMiAxOTgsMCAxNTAsMCBaJy8+PC9zdmc+") 50 stretch !important; 1250 } 1251 1252 @supports (-moz-appearance: none) { 1253 [squircle="true"] { 1254 -webkit-mask-box-image: none !important; 1255 mask-border: none !important; 1256 mask-image: none !important; 1257 -webkit-mask-image: none !important; 1258 } 1259 } 1260 1261 /* ========================================= 1262 VIEW TRANSITIONS 1263 ========================================= */ 1264 @view-transition { navigation: auto; } 1265 1266 @media (prefers-reduced-motion: no-preference) { 1267 ::view-transition-old(root) { animation: vt-fade-out 0.2s ease-out both; } 1268 ::view-transition-new(root) { animation: vt-fade-in 0.4s ease-out both; } 1269 } 1270 1271 @keyframes vt-fade-out { from { opacity: 1; } to { opacity: 0; } } 1272 @keyframes vt-fade-in { from { opacity: 0; } to { opacity: 1; } } 1273 1274 /* ========================================= 1275 DESKTOP-ONLY HOVER STATES 1276 ========================================= */ 1277 @media (hover: hover) and (pointer: fine) { 1278 [card="true"]:hover::after, 1279 [card="true"]:hover::before { opacity: 1; } 1280 1281 [primary-btn="true"]:hover .ws-particle-pen { opacity: 1; } 1282 [primary-btn="true"]:hover .ws-particle { animation-play-state: running; } 1283 } 1284 1285 /* ========================================= 1286 REDUCED MOTION 1287 ========================================= */ 1288 @media (prefers-reduced-motion: reduce) { 1289 ::view-transition-group(*), 1290 ::view-transition-old(*), 1291 ::view-transition-new(*) { animation: none !important; } 1292 1293 .reveal-init { opacity: 1; transform: none; transition: none; } 1294 1295 .ws-particle { animation: none !important; } 1296 .ws-particle-pen { display: none; } 1297 } 1298</style> 1299`,className:"w-html-embed c18kn0sj"}),e.jsx(n,{executeScriptOnCanvas:!0,code:`<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin> 1300<link rel="preconnect" href="https://unpkg.com" crossorigin> 1301 1302<script data-cfasync="false" src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/gsap.min.js"><\/script> 1303<script data-cfasync="false" src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.5/ScrollTrigger.min.js"><\/script> 1304<script data-cfasync="false" src="https://unpkg.com/[email protected]"><\/script> 1305<script data-cfasync="false" src="https://unpkg.com/@studio-freight/[email protected]/dist/lenis.min.js"><\/script> 1306 1307<script data-cfasync="false" id="js-global"> 1308(function () { 1309 "use strict"; 1310 1311 if (window.wsGlobalsInitialized) return; 1312 window.wsGlobalsInitialized = true; 1313 1314 var reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches; 1315 1316 /* Run when the browser has a spare moment, or soon regardless. */ 1317 function whenIdle(fn) { 1318 if (typeof window.requestIdleCallback === 'function') { 1319 window.requestIdleCallback(fn, { timeout: 2000 }); 1320 } else { 1321 setTimeout(fn, 300); 1322 } 1323 } 1324 1325 /* ================================================================== 1326 * 0. HYDRATION GUARD 1327 * ================================================================== 1328 * 1329 * Navbar JS normally creates this shared promise first. Keep the same 1330 * implementation here as a fallback for pages without that block. 1331 */ 1332 window.wsAfterHydration = window.wsAfterHydration || new Promise(function (resolve) { 1333 var settled = false;
1334 var pollingStartedAt = 0; 1335 var reactContainerKey = null; 1336 var FALLBACK_DELAY = 2500; 1337 1338 function finish() { 1339 if (settled) return; 1340 settled = true; 1341 1342 requestAnimationFrame(function () { 1343 requestAnimationFrame(resolve); 1344 }); 1345 } 1346 1347 function reactHydrationComplete() { 1348 if (!reactContainerKey) { 1349 reactContainerKey = Object.getOwnPropertyNames(document) 1350 .find(function (name) { 1351 return name.indexOf('__reactContainer$') === 0; 1352 }) || null; 1353 } 1354 1355 if (!reactContainerKey) return false; 1356 1357 var fiber = document[reactContainerKey]; 1358 var root = fiber && 1359 (fiber.stateNode || (fiber.return && fiber.return.stateNode)); 1360 1361 if (!root || !root.current) return false; 1362 1363 var state = root.current.memoizedState; 1364 1365 return !!state && 1366 state.isDehydrated === false && 1367 root.pendingLanes === 0; 1368 } 1369 1370 function check() { 1371 if (!pollingStartedAt) pollingStartedAt = performance.now(); 1372 1373 if (reactHydrationComplete() || 1374 performance.now() - pollingStartedAt >= FALLBACK_DELAY) { 1375 finish(); 1376 return; 1377 } 1378 1379 requestAnimationFrame(check); 1380 } 1381 1382 if (document.readyState === 'complete') { 1383 check(); 1384 } else { 1385 window.addEventListener('load', check, { once: true }); 1386 } 1387 }); 1388 1389 /* ================================================================== 1390 * 1. LENIS â desktop only, with SPA-safe cleanup 1391 * ================================================================== */ 1392 1393 var desktopLenisMedia = window.matchMedia('(min-width: 992px)'); 1394 var lenisTickerBound = false; 1395 1396 function removeLenisClasses() { 1397 document.documentElement.classList.remove( 1398 'lenis', 1399 'lenis-smooth', 1400 'lenis-scrolling', 1401 'lenis-stopped', 1402 'lenis-locked' 1403 ); 1404 } 1405 1406 function destroyLenisForNativeScroll() { 1407 if (window.lenis) { 1408 /* Clear stopped state before removing listeners and CSS classes. */ 1409 if (typeof window.lenis.start === 'function') window.lenis.start(); 1410 if (typeof window.lenis.destroy === 'function') window.lenis.destroy(); 1411 } 1412 1413 window.lenis = null; 1414 removeLenisClasses(); 1415 } 1416 1417 function bindLenisTicker() { 1418 if (lenisTickerBound || typeof window.gsap === 'undefined') return; 1419 1420 lenisTickerBound = true; 1421 1422 window.gsap.ticker.add(function (time) { 1423 /* Always use the live instance after a breakpoint change. */ 1424 if (window.lenis) window.lenis.raf(time * 1000); 1425 }); 1426 1427 window.gsap.ticker.lagSmoothing(0); 1428 } 1429 1430 function syncLenisMode() { 1431 /* Touch/mobile uses native scrolling so Chrome's address bar and SPA 1432 route changes can never inherit a stopped Lenis instance. */ 1433 if (!desktopLenisMedia.matches) { 1434 destroyLenisForNativeScroll(); 1435 return; 1436 } 1437 1438 if (!window.lenis && typeof window.Lenis !== 'undefined') { 1439 window.lenis = new window.Lenis({ 1440 duration: 0.7, 1441 easing: function (t) { return Math.min(1, 1.001 - Math.pow(2, -10 * t)); }, 1442 smoothWheel: true 1443 }); 1444 } 1445 1446 if (!window.lenis) return; 1447 1448 if (typeof window.ScrollTrigger !== 'undefined' && 1449 window.lenis.__scrollTriggerBound !== true) { 1450 window.lenis.__scrollTriggerBound = true; 1451 window.lenis.on('scroll', window.ScrollTrigger.update); 1452 } 1453 1454 bindLenisTicker(); 1455 } 1456 1457 /* Public safety hook used before Webstudio swaps SPA route content. */ 1458 window.wsRestorePageScroll = function () { 1459 document.documentElement.classList.remove('is-loading', 'hero-pending'); 1460 1461 if (desktopLenisMedia.matches) { 1462 if (window.lenis && typeof window.lenis.start === 'function') { 1463 window.lenis.start(); 1464 } 1465 } else { 1466 destroyLenisForNativeScroll(); 1467 } 1468 1469 if (document.body) document.body.style.removeProperty('overflow'); 1470 }; 1471 1472 window.wsAfterHydration.then(syncLenisMode); 1473 1474 if (typeof desktopLenisMedia.addEventListener === 'function') { 1475 desktopLenisMedia.addEventListener('change', syncLenisMode); 1476 } else { 1477 desktopLenisMedia.addListener(syncLenisMode); 1478 } 1479 1480 /* Webstudio client navigation may replace content without pagehide. */ 1481 document.addEventListener('click', function (event) { 1482 var link = event.target.closest && event.target.closest('a[href]'); 1483 if (!link || link.closest('[nav-trigger]')) return; 1484 if (link.target === '_blank' || link.hasAttribute('download')) return; 1485 1486 var href = link.getAttribute('href'); 1487 if (!href || href.charAt(0) === '#') return; 1488 1489 window.wsRestorePageScroll(); 1490 }, true); 1491 1492 window.addEventListener('popstate', window.wsRestorePageScroll); 1493 window.addEventListener('pagehide', window.wsRestorePageScroll); 1494 window.addEventListener('pageshow', function (event) { 1495 if (event.persisted) window.wsRestorePageScroll(); 1496 }); 1497 1498 /* ================================================================== 1499 * 2. COOKIE BANNER 1500 * ================================================================== */ 1501 1502 var STORAGE_KEY = 'ardacraft_consent'; 1503 1504 function runTrackingScripts() { 1505 if (window.trackingScriptsExecuted) return; 1506 window.trackingScriptsExecuted = true; 1507 1508 /* Both injections touch <head>, which React hydrates too â and both 1509 are heavy, so they wait for an idle moment as well. */ 1510 window.wsAfterHydration.then(function () { 1511 whenIdle(function () { 1512 1513 /* --- Google Analytics 4 --- */ 1514 var gaScript = document.createElement('script'); 1515 gaScript.async = true; 1516 gaScript.setAttribute('data-cfasync', 'false'); 1517 gaScript.src = 'https://www.googletagmanager.com/gtag/js?i
1517d=G-QCYHHMG0NR'; 1518 document.head.appendChild(gaScript); 1519 1520 window.dataLayer = window.dataLayer || []; 1521 window.gtag = function () { window.dataLayer.push(arguments); }; 1522 window.gtag('js', new Date()); 1523 window.gtag('config', 'G-QCYHHMG0NR'); 1524 1525 /* --- Microsoft Clarity --- */ 1526 (function (c, l, a, r, i, t, y) { 1527 c[a] = c[a] || function () { (c[a].q = c[a].q || []).push(arguments); }; 1528 t = l.createElement(r); 1529 t.async = 1; 1530 t.setAttribute('data-cfasync', 'false'); 1531 t.src = 'https://www.clarity.ms/tag/' + i; 1532 y = l.getElementsByTagName(r)[0]; 1533 y.parentNode.insertBefore(t, y); 1534 })(window, document, 'clarity', 'script', 'rcgcctk7hs'); 1535 1536 if (typeof window.clarity === 'function') { 1537 window.clarity('consentv2', { 1538 ad_Storage: 'granted', 1539 analytics_Storage: 'granted' 1540 }); 1541 } 1542 }); 1543 }); 1544 } 1545 1546 function initCookieBanner() { 1547 var banner = document.querySelector('[data-cookie-banner]'); 1548 var acceptBtn = document.querySelector('[data-cookie-action="accept"]'); 1549 var declineBtn = document.querySelector('[data-cookie-action="decline"]'); 1550 1551 var consentStatus = null; 1552 1553 try { 1554 consentStatus = localStorage.getItem(STORAGE_KEY); 1555 } catch (error) { 1556 /* Storage blocked â treat as undecided, do not crash. */ 1557 } 1558 1559 if (consentStatus === 'granted') { 1560 if (banner) banner.style.display = 'none'; 1561 runTrackingScripts(); 1562 } else if (consentStatus === 'denied') { 1563 if (banner) banner.style.display = 'none'; 1564 } else if (banner) { 1565 banner.style.display = 'flex'; 1566 } 1567 1568 function store(value) { 1569 try { 1570 localStorage.setItem(STORAGE_KEY, value); 1571 } catch (error) { 1572 /* ignore */ 1573 } 1574 } 1575 1576 if (acceptBtn) { 1577 acceptBtn.addEventListener('click', function () { 1578 store('granted'); 1579 runTrackingScripts(); 1580 if (banner) banner.style.display = 'none'; 1581 1582 if (typeof window.gtag === 'function') { 1583 window.gtag('event', 'cookie_interaction', { choice: 'allow' }); 1584 } 1585 }); 1586 } 1587 1588 if (declineBtn) { 1589 declineBtn.addEventListener('click', function () { 1590 store('denied'); 1591 if (banner) banner.style.display = 'none'; 1592 1593 window.dataLayer = window.dataLayer || []; 1594 window.dataLayer.push({ 1595 event: 'cookie_interaction', 1596 choice: 'deny' 1597 }); 1598 }); 1599 } 1600 } 1601 1602 /* ================================================================== 1603 * 3. REVEAL ON SCROLL 1604 * ================================================================== */ 1605 1606 var REVEAL_SELECTOR = '[data-appear-animation="true"]'; 1607 1608 var revealObserver = new IntersectionObserver(function (entries) { 1609 var intersecting = entries 1610 .filter(function (entry) { return entry.isIntersecting; }) 1611 .sort(function (a, b) { 1612 return a.target.getBoundingClientRect().top - 1613 b.target.getBoundingClientRect().top; 1614 }); 1615 1616 intersecting.forEach(function (entry, index) { 1617 var element = entry.target; 1618 1619 if (intersecting.length > 1) { 1620 element.style.setProperty('--delay', (index * 0.1) + 's'); 1621 } 1622 1623 element.classList.add('reveal-visible'); 1624 revealObserver.unobserve(element); 1625 }); 1626 }, { threshold: 0, rootMargin: '0px' }); 1627 1628 function observeRevealNode(node) { 1629 if (node.nodeType !== 1) return; 1630 1631 if (node.matches(REVEAL_SELECTOR) && !node.classList.contains('reveal-init')) { 1632 node.classList.add('reveal-init'); 1633 revealObserver.observe(node); 1634 } 1635
1636 node.querySelectorAll(REVEAL_SELECTOR).forEach(function (child) { 1637 if (!child.classList.contains('reveal-init')) { 1638 child.classList.add('reveal-init'); 1639 revealObserver.observe(child); 1640 } 1641 }); 1642 } 1643 1644 /* ================================================================== 1645 * 4. CARDS 1646 * ================================================================== */ 1647 1648 function bindColabCards() { 1649 document.querySelectorAll('[colab-card="true"]').forEach(function (card) { 1650 if (card.dataset.hoverBound === 'true') return; 1651 card.dataset.hoverBound = 'true'; 1652 1653 var originalBg = 'linear-gradient(rgb(43, 43, 43) 0%, rgb(21, 21, 21) 77%)'; 1654 var hoverBg = 'linear-gradient(rgb(65, 65, 65) 0%, rgb(35, 35, 35) 77%)'; 1655 1656 card.style.backgroundImage = originalBg; 1657 1658 if (reducedMotion) return; 1659 1660 card.addEventListener('mouseenter', function () { 1661 gsap.to(card, { backgroundImage: hoverBg, duration: 0.4, ease: 'power2.out' }); 1662 }); 1663 1664 card.addEventListener('mouseleave', function () { 1665 gsap.to(card, { backgroundImage: originalBg, duration: 0.4, ease: 'power2.out' }); 1666 }); 1667 }); 1668 } 1669 1670 function bindStandardCards() { 1671 /* [Card="true"] dropped â identical selector to [card="true"] */ 1672 document.querySelectorAll('[card="true"]').forEach(function (card) { 1673 if (card.dataset.hoverInitialized === 'true') return; 1674 card.dataset.hoverInitialized = 'true'; 1675 1676 /* --- Spotlight, throttled to one write per frame --- */ 1677 var pendingX = 0; 1678 var pendingY = 0; 1679 var frameQueued = false; 1680 1681 card.addEventListener('mousemove', function (e) { 1682 var rect = card.getBoundingClientRect(); 1683 pendingX = e.clientX - rect.left; 1684 pendingY = e.clientY - rect.top; 1685 1686 if (frameQueued) return; 1687 frameQueued = true; 1688 1689 requestAnimationFrame(function () { 1690 frameQueued = false; 1691 card.style.setProperty('--local-x', pendingX + 'px'); 1692 card.style.setProperty('--local-y', pendingY + 'px'); 1693 }); 1694 }); 1695 1696 /* --- Parallax on hover --- */ 1697 var bg = card.querySelector('[card-bg="true"]'); 1698 1699 if (bg && !reducedMotion) { 1700 card.addEventListener('mouseenter', function () { 1701 gsap.to(card, { scale: 0.99, duration: 0.5, ease: 'power2.out', overwrite: 'auto' }); 1702 gsap.to(bg, { scale: 1.05, duration: 0.5, ease: 'power2.out', overwrite: 'auto' }); 1703 }); 1704 1705 card.addEventListener('mouseleave', function () { 1706 gsap.to(card, { scale: 1, duration: 0.5, ease: 'power2.out', overwrite: 'auto' }); 1707 gsap.to(bg, { scale: 1, duration: 0.5, ease: 'power2.out', overwrite: 'auto' }); 1708 }); 1709 } 1710 1711 /* --- View Transitions --- */ 1712 card.addEventListener('click', function () { 1713 var slug = 1714 card.dataset.slug || 1715 (card.getAttribute('href') || '').replace(/\\//g, '') || 1716 Math.random().toString(36).substring(7); 1717 1718 document.body.style.pointerEvents = 'none'; 1719 1720 gsap.killTweensOf(card); 1721 1722 if (bg) { 1723 gsap.killTweensOf(bg); 1724 bg.style.viewTransitionName = 'hero-' + slug; 1725 } 1726 1727 function release() { 1728 document.body.style.pointerEvents = ''; 1729 if (bg) bg.style.viewTransitionName = ''; 1730 } 1731 1732 var timer = setTimeout(release, 1000); 1733 1734 window.addEventListener('pagehide', function () { 1735 clearTimeout(timer); 1736 release(); 1737 }, { once: true }); 1738 }); 1739 }); 1740 } 1741 1742 /* ================================================================== 1743 * 5. BOOT + BATCHED OBSERVER 1744 * ================================================================== */ 1745 1746 function bindGlobalInteractions() { 1747 bindColabCards(); 1748 bindStandardCards(); 1749 } 1750 1751 var revealQueue = new Set(); 1752 var flushScheduled = false;
1753 var rebindQueued = false; 1754 1755 function flush() { 1756 flushScheduled = false; 1757 1758 if (rebindQueued) { 1759 rebindQueued = false; 1760 bindGlobalInteractions(); 1761 } 1762 1763 revealQueue.forEach(function (node) { 1764 if (node.isConnected) observeRevealNode(node); 1765 }); 1766 1767 revealQueue.clear(); 1768 } 1769 1770 function scheduleFlush() { 1771 if (flushScheduled) return; 1772 flushScheduled = true; 1773 requestAnimationFrame(flush); 1774 } 1775 1776 var globalObserver = null; 1777 1778 function startGlobalObserver() { 1779 if (globalObserver) return; 1780 1781 globalObserver = new MutationObserver(function (mutations) { 1782 var hasAdded = false; 1783 1784 mutations.forEach(function (mutation) { 1785 mutation.addedNodes.forEach(function (node) { 1786 if (node.nodeType !== 1) return; 1787 hasAdded = true; 1788 revealQueue.add(node); 1789 }); 1790 }); 1791 1792 if (!hasAdded) return; 1793 1794 rebindQueued = true; 1795 scheduleFlush(); 1796 }); 1797 1798 globalObserver.observe(document.body, { 1799 childList: true, 1800 subtree: true 1801 }); 1802 } 1803 1804 window.wsAfterHydration.then(function () { 1805 startGlobalObserver(); 1806 1807 /* Cheap and user-visible â runs straight away. */ 1808 initCookieBanner(); 1809 1810 /* CHANGED: heavy DOM sweeps wait for an idle moment, so they do not 1811 compete with the loader reveal and the hero intro. */ 1812 whenIdle(function () { 1813 bindGlobalInteractions(); 1814 document.querySelectorAll(REVEAL_SELECTOR).forEach(observeRevealNode); 1815 }); 1816 }); 1817 1818 /* Never leave the page unclickable after a bfcache restore. */ 1819 window.addEventListener('pageshow', function (e) { 1820 if (e.persisted) document.body.style.pointerEvents = ''; 1821 }); 1822})(); 1823<\/script> 1824`,className:"w-html-embed"})]})}),e.jsx(n,{code:`<style> 1825/* 1. Container setup */ 1826[data-bg-grid="true"] { 1827 position: relative; 1828 overflow: hidden; 1829} 1830 1831/* 2. Static Background Grid (::before) */ 1832[data-bg-grid="true"]::before { 1833 content: ''; 1834 position: absolute; 1835 inset: 0; 1836 z-index: 0; 1837 pointer-events: none; 1838 background-size: 200px 200px, 200px 200px, 40px 40px, 40px 40px; 1839 background-image: 1840 linear-gradient(to right, rgba(82, 82, 82, 0.05) 1px, transparent 1px), 1841 linear-gradient(to bottom, rgba(82, 82, 82, 0.05) 1px, transparent 1px), 1842 linear-gradient(to right, rgba(82, 82, 82, 0.08) 1px, transparent 1px), 1843 linear-gradient(to bottom, rgba(82, 82, 82, 0.08) 1px, transparent 1px); 1844 mask-image: radial-gradient(ellipse at center, black 20%, transparent 70%); 1845 -webkit-mask-image: radial-gradient(ellipse at center, black 20%, transparent 70%); 1846} 1847 1848/* 3. Interactive Golden Grid (::after) */ 1849[data-bg-grid="true"]::after { 1850 content: ''; 1851 position: absolute; 1852 inset: 0; 1853 z-index: 0; 1854 pointer-events: none; 1855 background-size: 200px 200px, 200px 200px, 40px 40px, 40px 40px; 1856 background-image: 1857 linear-gradient(to right, rgba(246, 196, 128, 0.1) 1px, transparent 1px), 1858 linear-gradient(to bottom, rgba(246, 196, 128, 0.1) 1px, transparent 1px), 1859 linear-gradient(to right, rgba(246, 196, 128, 0.15) 1px, transparent 1px), 1860 linear-gradient(to bottom, rgba(246, 196, 128, 0.15) 1px, transparent 1px); 1861 1862 /* Fixed mask size positioned dynamically */ 1863 mask-image: radial-gradient(400px circle at center, black, transparent); 1864 -webkit-mask-image: radial-gradient(400px circle at center, black, transparent); 1865 mask-size: 800px 800px; 1866 -webkit-mask-size: 800px 800px; 1867 mask-repeat: no-repeat; 1868 -webkit-mask-repeat: no-repeat; 1869 1870 /* Defaults to center until JS overrides */ 1871 mask-position: var(--mask-x, center) var(--mask-y, center); 1872 -webkit-mask-position: var(--mask-x, center) var(--mask-y, center); 1873 opacity: 1; 1874} 1875 1876/* Smooth return transition */ 1877[data-bg-grid="true"].is-returning::after { 1878 transition: mask-position 0.6s ease-out, -webkit-mask-position 0.6s ease-out; 1879} 1880 1881/* 4. Mobile Lock - Static center */ 1882@media (max-width: 991px) { 1883 [data-bg-grid="true"]::after { 1884 mask-size: 500px 500px; 1885 -webkit-mask-size: 500px 500px; 1886 mask-position: center; 1887 -webkit-mask-position: center; 1888 } 1889} 1890</style> 1891 1892<script> 1893document.addEventListener("DOMContentLoaded", () => { 1894 const gridContainers = document.querySelectorAll('[data-bg-grid="true"]'); 1895
1896 gridContainers.forEach(container => { 1897 container.addEventListener('mousemove', (e) => { 1898 // Remove the transition class so the grid tracks the mouse instantly 1899 container.classList.remove('is-returning'); 1900 1901 const rect = container.getBoundingClientRect(); 1902 const x = e.clientX - rect.left; 1903 const y = e.clientY - rect.top; 1904 1905 // Offset by half the mask size (400px) to center it directly on the cursor 1906 container.style.setProperty('--mask-x', \`\${x - 400}px\`); 1907 container.style.setProperty('--mask-y', \`\${y - 400}px\`); 1908 }); 1909 1910 container.addEventListener('mouseleave', () => { 1911 // Add transition class for the smooth snap-back 1912 container.classList.add('is-returning'); 1913 1914 // Remove custom positions so it gracefully falls back to 'center' 1915 container.style.removeProperty('--mask-x'); 1916 container.style.removeProperty('--mask-y'); 1917 }); 1918 }); 1919}); 1920<\/script>`,executeScriptOnCanvas:!0,className:"w-html-embed"}),e.jsx(n,{executeScriptOnCanvas:!0,code:`<style> 1921 /* --- Nav Track Movement --- */ 1922 [data-timeline="nav-track"] { 1923 transition: transform 0.3s ease-out; 1924 will-change: transform; 1925 } 1926 1927 /* --- Content Milestone States --- */ 1928 [data-timeline="milestone"] { 1929 opacity: 0.4; 1930 transition: opacity 0.4s ease-out; 1931 } 1932 [data-timeline="milestone"][data-active="true"] { 1933 opacity: 1; 1934 } 1935 [data-timeline="milestone"] img { 1936 transition: transform 0.4s ease-out; 1937 } 1938 [data-timeline="milestone"][data-active="true"] img { 1939 transform: scale(1.02); 1940 } 1941 1942 /* --- Nav Item States --- */ 1943 [data-timeline="nav-item"] { 1944 transition: opacity 0.3s ease-out, transform 0.3s ease-out, color 0.3s ease-out; 1945 cursor: pointer; 1946 transform-origin: left center; 1947 } 1948 1949 /* Force inactive items AND their text children to be grey */ 1950 [data-timeline="nav-item"]:not([data-active="true"]), 1951 [data-timeline="nav-item"]:not([data-active="true"]) * { 1952 color: var(--color-grey) !important; 1953 } 1954 1955 [data-timeline="nav-item"]:hover:not([data-active="true"]), 1956 [data-timeline="nav-item"]:hover:not([data-active="true"]) * { 1957 color: var(--color-light-grey) !important; 1958 } 1959 1960 /* Active State */ 1961 [data-timeline="nav-item"][data-active="true"] { 1962 font-weight: bold !important; 1963 transform: scale(1.05); 1964 } 1965 1966 [data-timeline="nav-item"][data-active="true"], 1967 [data-timeline="nav-item"][data-active="true"] * { 1968 color: var(--color-accent-1) !important; 1969 } 1970</style> 1971 1972<script> 1973 document.addEventListener('DOMContentLoaded', () => { 1974 const navTrack = document.querySelector('[data-timeline="nav-track"]'); 1975 const navItems = document.querySelectorAll('[data-timeline="nav-item"]'); 1976 const milestones = document.querySelectorAll('[data-timeline="milestone"]'); 1977 1978 if (!navTrack || !navItems.length || !milestones.length) { 1979 console.warn("ArdaCraft Timeline: Required data-timeline attributes are missing on the page."); 1980 return; 1981 } 1982 1983 const STEP_HEIGHT = 55; 1984 let scrollTarget = false;
1985 1986 navItems.forEach((item, index) => { 1987 item.addEventListener('click', (e) => { 1988 e.preventDefault(); 1989 1990 const milestone = milestones[index]; 1991 1992 if (item.getAttribute('data-active') !== 'true' && milestone) { 1993 scrollTarget = index; 1994 1995 const rect = milestone.getBoundingClientRect(); 1996 const scrollTargetTop = rect.top + window.scrollY - (window.innerHeight / 2) + (rect.height / 2); 1997 1998 window.scrollTo({ 1999 top: scrollTargetTop, 2000 behavior: 'smooth' 2001 }); 2002 2003 updateNavVisuals(index); 2004 2005 setTimeout(() => { scrollTarget = false; }, 600); 2006 } 2007 }); 2008 }); 2009 2010 function updateNavVisuals(activeIndex) { 2011 if (navTrack) { 2012 navTrack.style.transform = \`translateY(-\${activeIndex * STEP_HEIGHT}px)\`; 2013 } 2014 2015 navItems.forEach((item, idx) => { 2016 const distance = Math.abs(idx - activeIndex); 2017 const fadeOpacity = Math.max(1 - (distance * 0.25), 0.15); 2018 item.style.opacity = fadeOpacity; 2019 2020 if (idx === activeIndex) { 2021 item.setAttribute('data-active', 'true'); 2022 milestones[idx].setAttribute('data-active', 'true'); 2023 } else { 2024 item.removeAttribute('data-active'); 2025 milestones[idx].removeAttribute('data-active'); 2026 } 2027 }); 2028 } 2029 2030 window.addEventListener('scroll', () => { 2031 if (scrollTarget !== false) return; 2032 2033 let active = 0; 2034 let minDistance = Infinity; 2035 const viewportCenter = window.innerHeight / 2; 2036 2037 milestones.forEach((milestone, index) => { 2038 const rect = milestone.getBoundingClientRect(); 2039 const milestoneCenter = rect.top + (rect.height / 2); 2040 const distance = Math.abs(viewportCenter - milestoneCenter); 2041 2042 if (distance < minDistance) { 2043 minDistance = distance; 2044 active = index; 2045 } 2046 }); 2047 2048 updateNavVisuals(active); 2049 }); 2050 2051 window.dispatchEvent(new Event('scroll')); 2052 }); 2053<\/script>`,className:"w-html-embed"}),e.jsxs("div",{"data-bg-grid":"true",className:"w-element c1uz7vom cbm90qe c4oxwb7 clizlvm c1mqv0cn c1uvbpdz c1a10i07 c1ucfq9c",children:[e.jsx("div",{className:"w-element cg6mpnv c1l20dy0 cl2xlqw c1k3h0ob c1nxwqfy c1vvh2ov cho10cn clhwsmj"}),e.jsx("div",{className:"w-element c1wn46uq cozcy5p c1qe7a3l cbm90qe cjulrou c1a4d992 c1e9k3hw ce1b68t c1rx8qlb c1ljsp2s c1ll7j66",children:e.jsx("div",{"data-appear-animation":"true",className:"w-element cycf3wv c1a4d992 c1e9k3hw c1uz7vom c1qe7a3l cif7a18 c1uu6edv c14df0s2",children:e.jsxs("h1",{className:"w-element cuahv1a c19saac5 cff5pwp c1ay1jd2 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cjfzmzy cf6n94z c1tnaazk cljhc1l",children:["Our story starts","",e.jsx("br",{}),"",e.jsx("i",{className:"w-element cvrj00w cdos9jl",children:"13 years ago..."})]})})})]}),e.jsx("div",{"data-appear-animation":"true",className:"w-element c1xalvxr ck80xjz clhwsmj",children:e.jsx("div",{className:"w-element c1wn46uq cozcy5p c1qe7a3l cbm90qe cjulrou c1a4d992 c1e9k3hw ce1b68t c1rx8qlb c1ljsp2s c1ll7j66",children:e.jsxs("div",{className:"w-element c1uz7vom cjulrou c13f9p62 c1h4xwgz ck80xjz c1tt79v9 c1gxhyxn c159h5cc c1yagboq c1p563wg",children:[e.jsx("div",{className:"w-element c1qe7a3l cjpjkdw c1mz2fl7 ccpqtr9",children:e.jsxs("div",{"data-timeline":"nav-track",className:"w-element c1uz7vom c1uu6edv cif7a18 c1qe7a3l",children:[e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2013"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2014"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2015"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2016"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2017"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2018"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2019"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2020"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2021"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2022"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2023"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2024"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"2025"})}),e.jsx(c,{"data-timeline":"nav-item",className:"w-element c1uz7vom cbm90qe cjulrou c7ogkau c12vpo0c c1e9k3hw c9uv4ua",children:e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cr9s7iz",children:"Today"})})]})}),e.jsxs("div",{className:"w-element c1uz7vom c1qe7a3l c1tdweg cln6h01",children:[e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(12)_omDZC1T4L238tXKI_LjRJ.webp",width:1920,height:1080,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["Our founder Fornad began his map of Middle-earth in WorldPainter, initially working alone.",e.jsx("br",{}),"",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(1)_2fWmP3U1PL0nNQGRzhyRt.webp",width:1920,height:1003,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["In a quiet corner of the internet, Fornad and a group of friends decided to bring Middle-earth to life, Starting in the peaceful Shire. This fellowship of skilled artists embarked on an ambitious journey to recreate Tolkien's world, one location at a time.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(2)_u4ADhv4amt5jta2fAZYR_.webp",width:1280,height:720,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["Our adventure began with the charm of the Shire and Bree-Land, recreating the lands covered over the first few chapters in The Fellowship of the Ring. We stepped into the Old Forest and delved into the Barrow-downs.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(3)_ZS5qepqCKQA5jeR97uWto.webp",width:1919,height:1017,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["Initially, our map had clear edges, but we steadily expanded its borders. We reached the Elven harbours and Dwarven mines in the Blue Mountains, pushing the boundaries of our virtual world. We meticulously added forests, mountains, and rivers, creating a more expansive and immersive Middle-earth.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(4)_jESwRdk2nXvhJH-4EC2be.webp",width:1920,height:1080,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["A pivotal moment came when we teamed up with the creators of the Conquest Reforged mod. Merging our mod with theirs, we pioneered new building techniques and set higher standards in creative Minecraft.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(5)_L9aivvNM--jJXyAB2aY-U.webp",width:1200,height:636,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["Our focus returned to Eriador, the region that includes the Shire. We explored the green mounds and ancient ruins of Arnor, the fields of Rohan, and the serene beauty of Rivendell, faithfully recreating the paths of Bilbo and Frodo.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(6)_k7pxGhgi8LIhI_otDAIED.webp",width:1999,height:1125,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["Delving into Tolkienâs lore, we brought to life the wonders described
2053in his books. Our journey took us along the Anduin River, through the golden woods of Lothlórien, past the Argonath, and down to the majestic falls of Rauros.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(7)_woGzwMubO2FArMvILFgvZ.webp",width:640,height:344,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["With growing expertise, we reimagined the terrain. We crafted taller mountains, grander trees, and mightier rivers. Enhancing older areas like the Shire was a challenging but rewarding process that brought our vision closer to perfection.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(8)_6ZQ1FE8U70UlpAsRkkHbA.webp",width:1920,height:1017,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["Our dream of a better world started to unfold as the Conquest Reforged mod received a major update. We relearned and refined our building techniques, further pushing the limits of what we could achieve.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(9)_POBPREffwvVeSKz04UMlS.webp",width:1999,height:1093,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["The first half of the year presented challenges as our team worked on a separate, private server. Despite these obstacles, new talent and fresh ideas reinvigorated our project, helping us to overcome and thrive.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/about-us-ardacraft_(10)_8Hw6Qegnk9E1OhIEEj1nP.webp",width:1280,height:720,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["This year marked significant achievements. We upgraded to a faster version of modded Minecraft, revitalised beloved locations like Bree, and celebrated our progress with the community. We participated in Tolkien Reading Day, sharing readings and adding extraordinary music to enhance our immersive world.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/Image-Background-ArdaCraft-13_h7MUpfTcYoNZZejYSBGQo.webp",width:2e3,height:1e3,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["A year of technical updates, we created our new website and updated the server to 1.20. Distant Horizons was added to the server, greatly increasing immersion and contributing to the sense of scale, and joining the server was made easier than ever.. The new website allowed us to better showcase our builds and credit those who made them possible, and made joining the server simpler and more accessible! Anorien, the West-Marches and Moria saw great progress as our standards increased.",e.jsx("br",{}),""]})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/the-estuary-of-the-isen_tMWVQrHYN8zHo16m4-DSK.webp",width:2e3,height:1e3,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsx("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:"We continued to progress in some of the most vital regions of Tolkienâs works, whilst also implementing technical changes to improve both build quality and guest experience. The updated spawn at Merton College allowed us to better initiate guests, host community meetings and celebrate those who have contributed to ArdaCraft."})})]}),e.jsxs("div",{"data-timeline":"milestone",className:"w-element c1uz7vom c1qe7a3l c1uu6edv cif7a18",children:[e.jsx(t,{src:"/assets/Image-Backgroun
2053d-ArdaCraft-23_hRV213G7CAQMuZw56bfYM.webp",width:2e3,height:1e3,alt:"",className:"w-image c1wn46uq c1tvgytw cd1pdkc c1qd2ypw cpzf3kq c1y5rlds"}),e.jsx("div",{className:"w-element ciftonq c70froh cypxkib chx63s8",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1hi51uv c14blu46",children:["ArdaCraft stands as a testament to our communityâs dedication and passion. Join us on this journey and become part of the story we are crafting together. ","",e.jsx("br",{}),"","",e.jsx("br",{}),"","Elen sÃla lúmennâ omentielvo: A star shines on the hour of our meeting. ","",e.jsx("br",{}),"","",e.jsx("br",{}),"","Welcome to ArdaCraft.",e.jsx("br",{}),""]})})]})]})]})})}),e.jsx(s,{children:e.jsx(o,{children:e.jsx("div",{className:"w-element cn9hwjs cp86zhm",children:e.jsx("div",{className:"w-element c1wn46uq cozcy5p c1qe7a3l cbm90qe cjulrou c1a4d992 c1e9k3hw ce1b68t c1rx8qlb c1ljsp2s c1ll7j66",children:e.jsxs("div",{className:"w-element c1uz7vom c1qe7a3l c1nujqit crll831",children:[e.jsx("div",{"data-appear-animation":"true",className:"w-element c1uz7vom cbm90qe c4oxwb7 c1s1x5i0",children:e.jsx("h2",{className:"w-element cuahv1a c19saac5 c1drbpws c1ay1jd2 c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l ckpe0ue",children:"More about us"})}),e.jsxs("div",{"data-appear-animation":"true",className:"w-element c1uz7vom c1nujqit crll831 c1glohgg c12dc88q cgv6e56 cidtkor cd1pdkc c1qd2ypw cpzf3kq c1y5rlds cz4e0wp c1oupalw c1cb1t0o c1ypzpvz",children:[e.jsxs("div",{className:"w-element c1uz7vom c1qe7a3l c1tt79v9 cjulrou cif7a18 c1uu6edv c1i0eu66 cj33bdm c1bt64ui c13lduu0",children:[e.jsx("div",{className:"w-element",children:e.jsx("h3",{className:"w-element c19saac5 cuahv1a c1eyb87b cxs4t3 c1fkewyi c4iflru c183wvf2 ci1pq5k c1qe7a3l",children:"Meet our Contributors"})}),e.jsx("div",{className:"w-element",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:["ArdaCraft is shaped by a dedicated community of volunteers. Whether itâs our developers, builders, media creators, or musicians, every member plays a vital role in bringing this project to life","",e.jsx("br",{}),"","",e.jsx("br",{}),"","Discover the people behind the scenes who work together to make this vision a reality."]})}),e.jsx("div",{className:"w-element c1tpsjad clpfs9x",children:e.jsx(c,{"secondary-btn":"true",href:"/contributors",className:"w-element c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw cwzqs9f cbm90qe c4oxwb7 c1ka351p ceny3lt c1kbf57g c12dc88q c1maocke c18460ip c32xzbx c1i8ednk c1fx2c52 ciexy49 cdlctc7 c12zejl6 ccpqtr9 c9uv4ua c1oupalw c1q135ka cqolvuh ccro3s0 c16b803i c1swa551 cw4rxzd",children:e.jsx("span",{className:"w-element ccp5xa0 c1e5xz0k cg2r0go c1iq6tjl c1yzlqql cvrj00w csd63x6 c4lc5pz c1fkewyi cxs4t3 cte87bx c1yjr2ok cwh8dci",children:"See all contributors"})})})]}),e.jsx(t,{src:"/assets/ardacraft-contributors_1muq0jej82cRjpsLl2R5e.webp",width:2e3,height:1e3,alt:"",loading:"lazy",className:"w-image c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw c1tvgytw c1rrox41 c3uvy6u c14df0s2"})]}),e.jsxs("div",{"data-appear-animation":"true",className:"w-element c1uz7vom c1nujqit crll831 cd1pdkc c1qd2ypw cpzf3kq c1y5rlds cpdh5q1 cz4e0wp c1oupalw c1xiad7n c1cb1t0o c1ypzpvz",children:[e.jsxs("div",{className:"w-element c1uz7vom c1qe7a3l c1tt79v9 cjulrou cif7a18 c1uu6edv c1i0eu66 cj33bdm c1bt64ui c13lduu0",children:[e.jsx("div",{className:"w-element",children:e.jsx("h3",{className:"w-element c19saac5 cuahv1a c1eyb87b cxs4t3 c1fkewyi c4iflru c183wvf2 ci1pq5k c1qe7a3l",children:"Support the Project"})}),e.jsx("div",{className:"w-element",children:e.jsxs("p",{className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c1fkewyi cxs4t3 c183wvf2 ci1pq5k c1qe7a3l c11ilikl",children:["Weâre proud of the progress weâre making, but maintaining a project of this scale requires resources. Your donations go directly toward our server hosting and the technical tools that keep us online.","",e.jsx("br",{}),"","",e.jsx("br",{}),"","Every contribution helps us stay independent and ensures we can continue building for everyone."]})}),e.jsx("div",{className:"w-element c1tpsjad clpfs9x",children:e.jsx(c,{href:"/support-us",className:"w-element c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw cwzqs9f cbm90qe c4oxwb7 c1ka351p ceny3lt c1kbf57g c12dc88q c1maocke c18460ip c32xzbx c1i8ednk c1fx2c52 ciexy49 cdlctc7 c12zejl6 ccpqtr9 c9uv4ua c1oupalw c1q135ka cqolvuh ccro3s0 c16b803i c1swa551 cw4rxzd",children:e.jsx("span",{className:"w-element ccp5xa0 c1e5xz0k cg2r0go c1iq6tjl c1yzlqql cvrj00w csd63x6 c4lc5pz c1fkewyi cxs4t3 cte87bx c1yjr2ok cwh8dci",children:"Why support us?"})})})]}
2053),e.jsx(t,{src:"/assets/Image-Background-ArdaCraft-19_A8ujpv11x3VvyLiGArh79.webp",width:2e3,height:1e3,alt:"",loading:"lazy",className:"w-image c3uvy6u c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw c1tvgytw c1rrox41 c14df0s2"})]})]})})})})}),e.jsx(s,{children:e.jsx(o,{children:e.jsxs("footer",{className:"w-element cim8ys1 cn9hwjs c18460ip",children:[e.jsx("div",{"data-homepage":"footer-container",className:"w-element c1wn46uq cozcy5p c1qe7a3l cbm90qe cjulrou c1a4d992 c1e9k3hw ce1b68t c1rx8qlb ciftonq c70froh",children:e.jsxs("div",{"data-appear-animation":"true",className:"w-element cxy893h c9nlz19 c1p20qhz c1v4k1bc c1ueillu c1uz7vom cbm90qe c4oxwb7 c1qe7a3l cz700mh cim8ys1 c12t0yr7 cgy7ixj cibdr1z c2baha0 c1365syd cy2zpkj cif7a18 c1uu6edv ccpqtr9 c5dzid1 c8vnqb1 ci70w1a c1kp7oxf c1gfn33m c1093n1r c41uqep c14aukpa cca4bpb",children:[e.jsxs("p",{className:"w-element cuahv1a cte87bx c1drbpws c1ay1jd2 c192mvih cxs4t3 c183wvf2 ci1pq5k c1qe7a3l cjfzmzy ckpe0ue c1scp8rj c1lez5qp c1uyrt4t",children:["Begin your journey ","",e.jsx("br",{}),"","through Middle-earth"]}),e.jsxs("div",{className:"w-element c1uz7vom c12vpo0c c7ogkau cl41tk7 c1totwqz c1vtqh2m c1f6bmqy c1q0erog cm7p76a c10bxvqh",children:[e.jsxs(c,{"primary-btn":"true",href:"/join",className:"w-element c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw c1tabcfs c1uz7vom cbm90qe c4oxwb7 c1maocke c18460ip c1kbf57g c12dc88q c32xzbx c1i8ednk c1fx2c52 ciexy49 cdlctc7 ccpqtr9 c9uv4ua c1h54omw ciphf6l cqolvuh c14df0s2",children:[e.jsx("span",{className:"w-element ccp5xa0 c1e5xz0k cg2r0go c1iq6tjl c1yzlqql cvrj00w csd63x6 c4lc5pz c1fkewyi cxs4t3 coboan1 c9uv4ua c1yjr2ok cwh8dci",children:"Join our Server"}),e.jsx(n,{code:`<span aria-hidden="true" class="ws-particle-pen"> 2054 <div class="ws-particle"></div> 2055 <div class="ws-particle"></div> 2056 <div class="ws-particle"></div> 2057 <div class="ws-particle"></div> 2058 <div class="ws-particle"></div> 2059 <div class="ws-particle"></div> 2060 <div class="ws-particle"></div> 2061 <div class="ws-particle"></div> 2062 <div class="ws-particle"></div> 2063 <div class="ws-particle"></div> 2064</span>`,executeScriptOnCanvas:!0,className:"w-html-embed c75lct5"})]}),e.jsx(c,{"secondary-btn":"true",target:"_blank",href:"https://discord.com/invite/qcYBkCmAKZ",className:"w-element c1n9z9db c1a4d3g5 c1d5q97y cbp5xrw cwzqs9f cbm90qe c4oxwb7 c1ka351p ceny3lt c1kbf57g c12dc88q c1maocke c18460ip c32xzbx c1i8ednk c1fx2c52 ciexy49 cdlctc7 c12zejl6 ccpqtr9 c9uv4ua c6agakc c1oupalw c1q135ka cqolvuh ccro3s0 c16b803i c1swa551 cw4rxzd c14df0s2",children:e.jsx("span",{className:"w-element ccp5xa0 c1e5xz0k cg2r0go c1iq6tjl c1yzlqql cvrj00w csd63x6 c4lc5pz c1fkewyi cxs4t3 cte87bx c1yjr2ok cwh8dci",children:"Join our Discord"})})]})]})}),e.jsx("hr",{className:"w-element c18xmvv9 c1071umj cwglj61 c1ccl4po crdmx6o c1wn46uq crpy41h cp6ye3q c1igm2uw c1r9z6ml c7ji9jo cx16f77 c13irkzz"}),e.jsxs("div",{"data-homepage":"footer-container",className:"w-element c1wn46uq cozcy5p c1qe7a3l cbm90qe cjulrou c1a4d992 c1e9k3hw ce1b68t c1rx8qlb c1ljsp2s c1ll7j66",children:[e.jsxs("div",{className:"w-element c1uz7vom c1etu3xr cfn02q6 c17waf3r c1in47ll crpy41h c1cb1t0o c1my9zsh cv07e20",children:[e.jsxs("div",{className:"w-element c1vpmbj8 c1uz7vom c1qe7a3l cfn02q6 c17waf3r c1851rqr c14df0s2 c1my9zsh cv07e20",children:[e.jsxs("div",{className:"w-element c1uz7vom c1qe7a3l c12vpo0c c7ogkau",children:[e.jsx(t,{src:"/assets/AC-Logo-Text_7UCZ9hmjoLBDBjErO2cDL.svg",width:938,height:212,alt:"",loading:"lazy",className:"w-image cs72fi1 ccpqtr9"}),e.jsx("p",{className:"w-element ccp5xa0 c1qi35su c1ofywq3 c1gtpjdp c1hi51uv c11ilikl",children:"Founded in May of 2014, ArdaCraft seeks to recreate J.R.R. Tolkien's Middle-earth in one of the largest and most detailed Minecraft maps ever created."})]}),e.jsxs("div",{className:"w-element c1uz7vom c12vpo0c c7ogkau cbm90qe cjulrou",children:[e.jsx(c,{href:"https://www.instagram.com/ardacraft",Link:"true",className:"w-element cbm90qe c4oxwb7 c1qqnmdg",children:e.jsx(n,{code:`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" style="width: 20px; height: 20px;"> 2065 <path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259
20650-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/> 2066</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed c1qi35su cbm90qe c4oxwb7"})}),e.jsx(c,{href:"https://www.youtube.com/channel/UCoqngW24Nl6yS-u99vE4E1Q",Link:"true",className:"w-element cbm90qe c4oxwb7 c1qqnmdg",children:e.jsx(n,{code:`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" style="width: 20px; height: 20px;"> 2067 <path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/> 2068</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed c1qi35su cbm90qe c4oxwb7"})}),e.jsx(c,{href:"https://www.tiktok.com/@ardacraft_",Link:"true",className:"w-element cbm90qe c4oxwb7 c1qqnmdg",children:e.jsx(n,{code:`<svg role="img" viewBox="-2 -2 28 28" xmlns="http://www.w3.org/2000/svg" fill="currentColor" style="width: 20px; height: 20px;"> 2069 <path d="M12.525.02c1.31-.02 2.61-.01 3.91-.01.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.59-1.01V14.5c.01 2.32-.6 4.67-2.12 6.44-1.43 1.72-3.66 2.84-5.9 3.01-2.03.18-4.13-.26-5.86-1.39-1.73-1.12-3-2.98-3.48-5-.55-2.22-.16-4.66 1.1-6.55 1.11-1.74 3-3 5.06-3.48.56-.12 1.14-.17 1.71-.17v4.21c-.81.01-1.66.23-2.33.7-.63.45-1.07 1.17-1.22 1.94-.21.89-.04 1.86.47 2.6.49.75 1.3 1.25 2.17 1.41.88.17 1.83.02 2.61-.43.76-.43 1.34-1.17 1.57-2.01.12-.46.16-.94.16-1.42V.02z"/> 2070</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed c1qi35su cbm90qe c4oxwb7"})}),e.jsx(c,{href:"https://www.facebook.com/ArdaCraftMC/",Link:"true",className:"w-element cbm90qe c4oxwb7 c1qqnmdg",children:e.jsx(n,{code:`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" style="width: 20px; height: 20px;"> 2071 <path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/> 2072</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed c1qi35su cbm90qe c4oxwb7"})}),e.jsx(c,{href:"https://x.com/ArdaCraft_",Link:"true",className:"w-element cbm90qe c4oxwb7 c1qqnmdg",children:e.jsx(n,{code:`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" style="width: 20px; height: 20px;"> 2073 <path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"/> 2074</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed c1qi35su cbm90qe c4oxwb7"})}),e.jsx(c,{href:"https://discord.com/invite/qcYBkCmAKZ",Link:"true",className:"w-element cbm90qe c4oxwb7 c1qqnmdg",children:e.jsx(n,{code:`<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" fill="currentColor" style="width: 20px; height: 20px;"> 2075 <path d="M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0 12.64 12.64 0 0 0-.617-1.25.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057 19.9 19.9 0 0 0 5.993 3.03.078.078 0 0 0 .084-.028c.462-.63.874-1.295 1.226-1.994a.076.076 0 0 0-.041-.106 13.107 13.107 0 0 1-1.872-.892.077.077 0 0 1-.008-.128c.126-.094.252-.192.372-.29a.074.074 0 0 1 .077-.01c3.927 1.793 8.18
20751.793 12.061 0a.074.074 0 0 1 .077.01c.12.098.246.196.373.29a.077.077 0 0 1-.006.127 12.299 12.299 0 0 1-1.874.894.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028 19.839 19.839 0 0 0 6.002-3.03.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.182 0-2.156-1.085-2.156-2.419 0-1.333.955-2.419 2.156-2.419 1.21 0 2.176 1.096 2.156 2.419 0 1.334-.956 2.419-2.156 2.419zm7.974 0c-1.182 0-2.156-1.085-2.156-2.419 0-1.333.955-2.419 2.156-2.419 1.21 0 2.176 1.096 2.156 2.419 0 1.334-.946 2.419-2.156 2.419z"/> 2076</svg>`,executeScriptOnCanvas:!0,className:"w-html-embed cbm90qe c4oxwb7 c1qi35su"})})]})]}),e.jsxs("div",{className:"w-element c1uz7vom c1etu3xr c1in47ll c17waf3r cf5cbyn c14df0s2 c1my9zsh cv07e20 c1cb1t0o",children:[e.jsxs("div",{className:"w-element c1uz7vom c1qe7a3l c12vpo0c c7ogkau",children:[e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru cqm8yvk cykimf9 cr9s7iz",children:"About"}),e.jsx(c,{href:"/join",link:"true",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c9uv4ua c1qqnmdg c11ilikl",children:"Join Our Server"}),e.jsx(c,{link:"true",href:"/support-us",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c9uv4ua c1qqnmdg c11ilikl",children:"Support Us"}),e.jsx(c,{link:"true",href:"/about",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c9uv4ua c1qqnmdg c11ilikl",children:"About Us"}),e.jsx(c,{link:"true",href:"/contact-us",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c9uv4ua c1qqnmdg c11ilikl",children:"Contact Us"}),e.jsx(c,{link:"true",href:"/media-resources",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c9uv4ua c1qqnmdg c11ilikl",children:"Media Resources"})]}),e.jsxs("div",{className:"w-element c1uz7vom c1qe7a3l c12vpo0c c7ogkau",children:[e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru cqm8yvk cykimf9 cr9s7iz",children:"Explore"}),e.jsx(c,{link:"true",href:"/map",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c9uv4ua c1qqnmdg c11ilikl",children:"Maps"}),e.jsx(c,{link:"true",href:"/location",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c9uv4ua c1qqnmdg c11ilikl",children:"Locations & Regions"}),e.jsx(c,{link:"true",href:"/contributors",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c9uv4ua c1qqnmdg c11ilikl",children:"Contributors"})]}),e.jsxs("div",{className:"w-element c1uz7vom c1qe7a3l c12vpo0c c7ogkau",children:[e.jsx("p",{className:"w-element cuahv1a c19saac5 c1iq6tjl c1nf6fk9 c4iflru cqm8yvk cykimf9 cr9s7iz",children:"Resources"}),e.jsx(c,{link:"true",href:"/resources",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c9uv4ua c1qqnmdg c11ilikl",children:"Resources & Articles"}),e.jsx(c,{link:"true",href:"/resources/rules",className:"w-element ccp5xa0 cte87bx c1ofywq3 c1gtpjdp c1hi51uv c9uv4ua c1qqnmdg c11ilikl",children:"Rules"})]})]})]}),e.jsx("hr",{className:"w-element c18xmvv9 c1071umj cwglj61 c1ccl4po crdmx6o c1wn46uq c1igm2uw c1r9z6ml c7ji9jo cx16f77 c13irkzz"}),e.jsxs("div",{className:"w-element c1uz7vom cbm90qe c17waf3r c1wn46uq cqm8yvk c1cb1t0o c1hddi9v c1uyrt4t",children:[e.jsx("p",{className:"w-element ccp5xa0 c18xmvv9 c1uf2hoa c1ofywq3",children:"© 2026 ArdaCraft. All Rights Reserved. ArdaCraft is not affiliated with or managed by Mojang AB or Microsoft."}),e.jsxs("div",{className:"w-element c1uz7vom c12vpo0c c7ogkau",children:[e.jsx(c,{href:"/sitemap",className:"w-element ccp5xa0 c18xmvv9 c1uf2hoa c1ofywq3 c9uv4ua c32xzbx cz92tk c1gxmacj c1j9ejvd cdlctc7 c1qqnmdg c18zr17c",children:"Sitemap"}),e.jsx(c,{href:"/privacy-policy",className:"w-element ccp5xa0 c18xmvv9 c1uf2hoa c1ofywq3 c9uv4ua c32xzbx cz92tk c1gxmacj c1j9ejvd cdlctc7 c1qqnmdg c18zr17c",children:"Privacy"}),e.jsx(c,{href:"/cookie-policy",className:"w-element ccp5xa0 c18xmvv9 c1uf2hoa c1ofywq3 c9uv4ua c32xzbx cz92tk c1gxmacj c1j9ejvd cdlctc7 c1qqnmdg c18zr17c",children:"Cookies"})]})]})]})]})})})]}),B=({data:a})=>{const r=[];if(a===void 0)return r;const i=`https://${a.host}`;return r.push({"script:ld+json":{"@context":"https://schema.org","@type":"WebSite",name:p,url:i}}),r},I=()=>{const a=[];a.push({rel:"stylesheet",href:y}),a.push({rel:"icon",href:m({src:`${l}${N}`,width:144,quality:100,format:"auto"}),type:void 0});for(const r of z)a.push({rel:"preload",href:`${l}${r}`,as:"font",crossOrigin:"anonymous"});for(const r of S)a.push({rel:"preload",href:`${l}${r}`,as:"image"});return a},C=u.memo(({url:a,system:r})=>e.jsx(A,{system:r},a),(a,r)=>a.url===r.url),L=()=>{const{system:a,resources:r,url:i,pageMeta:d,host:w}=g(),h=u.useMemo(()=>({...q,resources:r,breakpoints:j,onError:console.error}),[r]);return e.jsxs(x.Provider,{value:h,children:[e.jsx(C,{url:i,system:a}),e.jsx(b,{url:i,pageMeta:d,host:w,siteName:p,imageLoader:m,assetBaseUrl:l}),e.jsx(k,{children:d.title})]})},D=v(L);export{D as default,I as links,B as meta};
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.