{"version":3,"file":"static/js/Header.07cf27a8.js","mappings":"sXAgBO,MAAMA,EAAUC,EAAAA,OAAOC,IAAIC,OAG/B,MAAS,KAAEC,WAAA,CAAAC,YAAA,gBAHSJ,CAGT,4OAGEK,GAAWA,EAAMC,MAAQ,OAAS,QAO5CC,EAAAA,GAAGC,OAIHD,EAAAA,GAAGE,SACWJ,GACRA,EAAMC,QAAUD,EAAMK,WAAa,OAAS,SAO3CC,GAAYX,EAAAA,EAAAA,QAAOY,EAAAA,IAAcT,WAAA,CAAAC,YAAA,gBAArBJ,CAAqB,yfACxCa,EAAAA,GAWAN,EAAAA,GAAGC,OAQHD,EAAAA,GAAGE,SAUIK,EAASd,EAAAA,OAAOe,GAAGb,OAE7B,MAAS,KAAEC,WAAA,CAAAC,YAAA,gBAFQJ,CAER,4PACRgB,EAAAA,IAEKX,GAAWA,EAAMK,WAAa,gBAAkB,sBAQpDL,IACEA,EAAMK,aACPO,EAAAA,EAAAA,KAAG,oBAQLV,EAAAA,GAAGC,OAMHD,EAAAA,GAAGW,OAIHX,EAAAA,GAAGE,SAKIU,EAAYnB,EAAAA,OAAOe,GAAGb,OAEhC,MAAS,KAAEC,WAAA,CAAAC,YAAA,gBAFWJ,CAEX,yTACRoB,EAAAA,IASCf,IACEA,EAAMgB,QACPJ,EAAAA,EAAAA,KAAG,oBAYLV,EAAAA,GAAGC,OAKHD,EAAAA,GAAGW,OAIHX,EAAAA,GAAGE,SAKIa,GAAWtB,EAAAA,EAAAA,QAAOuB,EAAAA,GAAQpB,WAAA,CAAAC,YAAA,gBAAfJ,CAAe,oMAc1BwB,GAAcxB,EAAAA,EAAAA,QAAOyB,EAAAA,GAAQvB,OAEvC,MAAS,KAAEC,WAAA,CAAAC,YAAA,gBAFaJ,CAEb,iIAEMK,GAAWA,EAAMgB,MAAQ,QAAU,QAM7Cd,EAAAA,GAAGC,QAMAkB,EAAgB1B,EAAAA,OAAOC,IAAIC,OAErC,MAAS,KAAEC,WAAA,CAAAC,YAAA,gBAFeJ,CAEf,sVACRa,EAAAA,IACUR,GAAWA,EAAMC,MAAQ,OAAS,QAO5CC,EAAAA,GAAGC,OAMHD,EAAAA,GAAGW,OAMHX,EAAAA,GAAGE,SAMIkB,EAAc3B,EAAAA,OAAOC,IAAGE,WAAA,CAAAC,YAAA,gBAAVJ,CAAU,gHAG/BO,EAAAA,GAAGC,OAIHD,EAAAA,GAAGW,OAIHX,EAAAA,GAAGE,SAKImB,GAAQ5B,EAAAA,EAAAA,QAAOuB,EAAAA,GAAQpB,WAAA,CAAAC,YAAA,gBAAfJ,CAAe,wOAC9B6B,EAAAA,GAmBAtB,EAAAA,GAAGC,OACCsB,EAAAA,IAKGC,GAAe/B,EAAAA,EAAAA,QAAOgC,EAAAA,IAAM7B,WAAA,CAAAC,YAAA,gBAAbJ,CAAa,+FACnCoB,EAAAA,GAIAb,EAAAA,GAAGC,OAIHD,EAAAA,GAAGE,SAKIwB,EAAkBjC,EAAAA,OAAOC,IAAGE,WAAA,CAAAC,YAAA,iBAAVJ,CAAU,+KAInCO,EAAAA,GAAGC,OAKHD,EAAAA,GAAGW,OAMHX,EAAAA,GAAGE,SAKIyB,GAAYjB,EAAAA,EAAAA,KAAG,+YAiCfkB,GAAOnC,EAAAA,EAAAA,QAAOuB,EAAAA,GAAQpB,WAAA,CAAAC,YAAA,iBAAfJ,CAAe,QAC7BkC,GAGOE,EAAapC,EAAAA,OAAOqC,OAAMlC,WAAA,CAAAC,YAAA,iBAAbJ,CAAa,yHAEjCkC,GAWOI,GAAatC,EAAAA,EAAAA,QAAOyB,EAAAA,GAAOtB,WAAA,CAAAC,YAAA,iBAAdJ,CAAc,4GAM9BO,EAAAA,GAAGC,Q,eCvTb,MAAM+B,EAAaC,EAAAA,MACf,EACIC,QACAC,OACAC,OACAC,WACAC,UACAC,YACAC,sBAEA,MAAMC,GAAiBC,EAAAA,EAAAA,cAClBC,IACOH,GACAA,EACI,EACAL,EAAKS,YAEb,GAEJ,CAACT,EAAKS,YAAaJ,IAGvB,OACIK,EAAAA,EAAAA,KAAA,MAAAC,SACKX,EAAKY,OAASZ,EAAKY,MAAMC,OAAS,GAC/BC,EAAAA,EAAAA,MAACpB,EAAU,CACPqB,MAAOf,EAAKS,YACZN,QAAUa,GAAUb,EAAQa,EAAOjB,GACnCK,UAAYY,GAAUZ,EAAUY,EAAOjB,GACvC,gBAAgB,GAAEG,QAClBe,UAAWhB,EAAO,SAAW,GAAGU,SAAA,EAEhCD,EAAAA,EAAAA,KAAA,QAAAC,SAAOX,EAAKS,eACZC,EAAAA,EAAAA,KAACQ,EAAAA,EAAI,CAACC,KAAK,wBAGfT,EAAAA,EAAAA,KAACjB,EAAI,CACD2B,GAAIpB,EAAKqB,IACTC,OAAK,EACLC,gBAAgB,SAChBR,MAAOf,EAAKS,YACZN,QAASG,EAAeK,UAExBD,EAAAA,EAAAA,KAAA,QAAAC,SAAOX,EAAKS,iBApBfV,EAuBJ,IAIjBF,EAAWY,YAAc,aAEzB,MAAMe,EAAS1B,EAAAA,MACX,EACII,WACAH,QACAE,OACAwB,QACAzB,OACA0B,OACArB,kBACAF,UACAC,gBAEA,MAAME,GAAiBC,EAAAA,EAAAA,cAAY,KAC3BF,GACAA,EAAgB,EAAGL,EAAKS,YAC5B,GACD,CAACT,EAAKS,YAAaJ,IAEtB,OACIS,EAAAA,EAAAA,MAAC9B,EAAa,CACV2C,GAAK,GAAEzB,QAEP,kBAAkB,GAAEA,WACpBtC,MAAOqC,EAAKU,SAAA,EAEZD,EAAAA,EAAAA,KAACd,EAAU,CACPgC,YAAY,QACZb,MAAOf,EAAKS,YACZ,gBAAgB,GAAEP,QAClBiB,KAAK,iBACLU,UAAU,EACVC,MAAM,EACN3B,QAAUa,GAAUb,EAAQa,EAAQ,MAAKS,KACzCrB,UAAYY,GAAUZ,EAAUY,EAAQ,MAAKS,KAASd,SACzD,UAGDG,EAAAA,EAAAA,MAAC7B,EAAW,CAAC0C,GAAK,GAAEzB,WAAkBS,SAAA,CACjCX,EAAKS,cACFC,EAAAA,EAAAA,KAACxB,EAAK,CACFkC,GAAIpB,EAAKqB,IACTlB,QAASG,EACTqB,GAAK,GAAEzB,YAAmBS,UAEzBoB,EAAAA,EAAAA,GACG/B,EAAKS,aACLC,EAAAA,EAAAA,KAACQ,EAAAA,EAAI,CACDC,KAAK,mBACL,cAAY,YAK3BnB,EAAKgC,eACFtB,EAAAA,EAAAA,KAACrB,EAAY,CAAAsB,SAAEX,EAAKgC,mBAG5BtB,EAAAA,EAAAA,KAACnB,EAAe,CAAAoB,UACZD,EAAAA,EAAAA,KAACuB,EAAAA,EAAmB,CAChBrB,MAAOZ,EAAKY,MACZe,GAAIzB,EACJG,gBAAiBA,EACjBJ,KAAMA,EACNiC,sBAAuBlC,EAAKkC,sBAC5BR,KAAMA,QA3CT3B,EA8CO,GAGxBoC,KAEJX,EAAOf,YAAc,SAErB,MAAM2B,EAAetC,EAAAA,MACjB,EAAGE,OAAMK,sBACL,MAAMC,GAAiBC,EAAAA,EAAAA,cAAY,KAC3BF,GACAA,EAAgB,EAAGL,EAAKS,YAC5B,GACD,CAACT,EAAKS,YAAaJ,IAEtB,OACIK,EAAAA,EAAAA,KAAA,MAAAC,UACID,EAAAA,EAAAA,KAAC9B,EAAQ,CACLwC,GAAIpB,EAAKqB,IACTC,OAAK,EACLe,WAAW,EACXC,cAAc,EACdf,gBAAgB,SAChBR,MAAOf,EAAKS,YACZN,QAASG,EAAeK,UAExBD,EAAAA,EAAAA,KAAA,QAAAC,SAAOX,EAAKS,iBAEf,IAIjB2B,EAAa3B,YAAc,eAE3B,MAAM8B,EAAiBA,EACnBC,eACAC,YACAC,aACAC,YACAC,eACAC,gBACAC,QACA7C,OACAyB,OACArB,sBACsC,IAAD0C,EAAAC,EAAAC,EACrC,MAAMC,GAAgB3C,EAAAA,EAAAA,cAClB,CAACS,EAA+CmC,KACzB,WAAV,OAALnC,QAAK,IAALA,OAAK,EAALA,EAAOoC,OACPpC,EAAMqC,iBACNb,EAAaW,GACjB,GAEJ,CAACX,IAGCc,GAAc/C,EAAAA,EAAAA,cAChB,CAACS,EAA4CmC,KACzCnC,EAAMqC,iBACNb,EAAaW,EAAI,GAErB,CAACX,IAGL,OACI9B,EAAAA,EAAAA,KAAC6C,EAAAA,cAAa,CAACC,MAAO,CAAEA,MAAO,aAAc7C,UACzCD,EAAAA,EAAAA,KAACrD,EAAO,CAACO,MAAOqC,EAAMjC,YAAayE,EAAU9B,UACzCG,EAAAA,EAAAA,MAAC7C,EAAS,CAACwF,GAAG,MAAM,aAAYX,EAAMnC,SAAA,EAElCD,EAAAA,EAAAA,KAACtC,EAAM,CAACJ,YAAayE,EAAU9B,SAChB,OAAV+B,QAAU,IAAVA,GAAiB,QAAPK,EAAVL,EAAY9B,aAAK,IAAAmC,OAAP,EAAVA,EAAmBW,KAAI,CAAC1D,EAAMyB,KAC3B,MAAM1B,EAAS,MAAK0B,IACdxB,EAAOwC,GAAc,MAAKhB,IAC1BvB,GAAWyD,EAAAA,EAAAA,GACb3D,EAAKS,aAAeV,GAGxB,OACIW,EAAAA,EAAAA,KAACb,EAAU,CAEPG,KAAMA,EACNC,KAAMA,EACNF,MAAOA,EACPG,SAAUA,EACVG,gBAAiBA,EACjBF,QAASmD,EACTlD,UAAW8C,GAPL,cAAazB,IAQrB,OAIdf,EAAAA,EAAAA,KAACjC,EAAS,CAACE,OAAQ8D,EAAU9B,SACf,OAATgC,QAAS,IAATA,GAAgB,QAAPK,EAATL,EAAW/B,aAAK,IAAAoC,OAAP,EAATA,EAAkBU,KAAI,CAAC1D,EAAMyB,KAC1Bf,EAAAA,EAAAA,KAAC0B,EAAY,CAETpC,KAAMA,GADA,gBAAeyB,SAKhCoB,GAAiBD,IACdlC,EAAAA,EAAAA,KAAC5B,EAAW,CACRqC,KAAK,UACLE,IAAKuB,EACLhB,YAAY,QACZgC,KAAK,SACLjF,OAAQ8D,EAAU9B,SAEjBkC,IAIE,OAAVH,QAAU,IAAVA,GAAiB,QAAPO,EAAVP,EAAY9B,aAAK,IAAAqC,OAAP,EAAVA,EAAmBS,KAAI,CAAC1D,EAAMyB,KAC3B,GAAIzB,EAAKY,OAASZ,EAAKY,MAAMC,OAAS,EAAG,CACrC,MAAMd,EAAS,SAAQ0B,IACjBxB,EAAOwC,GAAc,MAAKhB,IAC1BvB,GAAWyD,EAAAA,EAAAA,GACZ,GAAE3D,EAAKS,eAGZ,OACIC,EAAAA,EAAAA,KAACc,EAAM,CAEHxB,KAAMA,EACND,MAAOA,EACPE,KAAMA,EACNwB,MAAOA,EACPvB,SAAUA,EACVG,gBAAiBA,EACjBF,QAASmD,EACTlD,UAAW8C,EACXxB,KAAMA,GATA,cAAaD,IAY/B,WAIA,EAIxB,MAAe3B,EAAAA,KAAWyC,G,kEClP1B,MA5B2BsB,KACvB,MAAOC,EAAiBC,IAAsBC,EAAAA,EAAAA,UAAiB,MAwB/D,OAtBAC,EAAAA,EAAAA,YAAU,KACN,IAAIC,EAAcC,OAAOC,YAEzB,MAAMC,EAAwBA,KAC1B,MAAMC,EAAUH,OAAOC,YACjBG,EAAYD,EAAUJ,EAAc,OAAS,KAE/CK,IAAcT,IACbQ,EAAUJ,GAAeI,EAAUJ,IAEpCH,EAAmBQ,GAEvBL,EAAcI,EAAU,EAAIA,EAAU,CAAC,EAK3C,OAFAH,OAAOK,iBAAiB,SAAUH,GAE3B,KACHF,OAAOM,oBAAoB,SAAUJ,EAAsB,CAC9D,GACF,CAACP,IAEGA,CAAe,E,+BCjC1B,MAAMY,EAAkBlB,IAAM,QAAS,CACnCmB,MAAO,sBACPC,UAAW,uBACXC,KAAM,uBACNC,KAAM,yBAGJC,GAAYvB,IAAM,eAAgB,CACpCmB,MAAO,0BACPK,MAAO,4BACPF,KAAM,yBACND,KAAM,2BAGJI,GAAYzB,IAAM,QAAS,CAC7BmB,MAAO,0BACPC,UAAW,4BACXC,KAAM,8BACNC,KAAM,2BAGGI,IAAgB3G,EAAAA,EAAAA,KAAG,sFAKnBlB,GAAUC,EAAAA,OAAOC,IAAIC,OAK/B,MAAS,KAAEC,WAAA,CAAAC,YAAA,eALSJ,CAKT,qTAEcoH,GACb/G,GAAWA,EAAMwH,UAAY,IAAM,QACjCJ,IAGEpH,GAAWA,EAAMyH,UAAY,QAAU,MAC1CzH,GAAWA,EAAMyH,UAAY,QAAU,MACtCzH,GAAWA,EAAMyH,UAAY,UAAY,WASnDzH,GAAUA,EAAM0H,eAAiBH,IAElCrH,EAAAA,GAAGE,SAKIE,IAAYX,EAAAA,EAAAA,QAAOY,EAAAA,IAAcT,WAAA,CAAAC,YAAA,eAArBJ,CAAqB,gXACxCa,EAAAA,GAUAN,EAAAA,GAAGC,OAMHD,EAAAA,GAAGE,SAMIuH,GAAQhI,EAAAA,OAAOC,IAAGE,WAAA,CAAAC,YAAA,eAAVJ,CAAU,yOAQzBO,EAAAA,GAAGC,QAqBIyH,IAXQjI,EAAAA,OAAOe,GAAEZ,WAAA,CAAAC,YAAA,eAATJ,CAAS,gDAMHA,EAAAA,EAAAA,QAAOgC,EAAAA,IAAM7B,WAAA,CAAAC,YAAA,eAAbJ,CAAa,wCAKZA,EAAAA,EAAAA,QAAOyB,EAAAA,GAAOtB,WAAA,CAAAC,YAAA,eAAdJ,CAAc,uBAI7BkI,IAAalI,EAAAA,EAAAA,QAAOyB,EAAAA,GAAOtB,WAAA,CAAAC,YAAA,eAAdJ,CAAc,kDAE9BO,EAAAA,GAAGC,OAIHD,EAAAA,GAAGE,SAMA0H,IAAWnI,EAAAA,EAAAA,QAAOuB,EAAAA,GAAQpB,WAAA,CAAAC,YAAA,eAAfJ,CAAe,sHAEtB2H,GAMPpH,EAAAA,GAAGC,OAIHD,EAAAA,GAAGE,SAMA2H,GAAkBpI,EAAAA,OAAOC,IAAGE,WAAA,CAAAC,YAAA,eAAVJ,CAAU,4VAYnCO,EAAAA,GAAGC,OAQHD,EAAAA,GAAGE,SASI4H,IAAWrI,EAAAA,EAAAA,QAAOsI,EAAAA,IAASnI,WAAA,CAAAC,YAAA,eAAhBJ,CAAgB,uOAQlCO,EAAAA,GAAGC,QCjJH+H,GAAO/F,EAAAA,MACT,EAAGgG,eAAcC,YAAWC,eACxBtF,EAAAA,EAAAA,KAAC+E,GAAQ,CACLrE,GAAI0E,EACJ/E,MAAOgF,EACPE,UAAWF,EACXG,aAAa,OACb,WAASC,EAAAA,EAAAA,GAAU,QAAQxF,UAE3BD,EAAAA,EAAAA,KAACQ,EAAAA,EAAI,CAA0BC,KAAM6E,GAAzB,QAAOA,SAI/BH,GAAKpF,YAAc,OAEnB,MAAM2F,GAASA,EACX1D,aACAC,YACAoD,YACAD,eACAO,gBACAxD,gBACAyD,iBACA1D,eACAlB,OACA6E,QACAC,WAAU,EACVC,2BAEA,MAAMC,GAAMC,EAAAA,EAAAA,QAAuB,MAC7BC,GAAWC,EAAAA,EAAAA,OAEX,MAAErD,EAAK,aAAEsD,IAAiBC,EAAAA,EAAAA,KAC1BC,GAAWC,EAAAA,EAAAA,MACXnD,EAAkBD,IAClBqD,EF/EuBC,MAC7B,MAAOD,EAAgBE,IAAqBpD,EAAAA,EAAAA,UAAiB,GAc7D,OAZAC,EAAAA,EAAAA,YAAU,KACN,MAAMoD,EAAuBA,KACzBD,EAAkB9C,QAAU,EAAIA,QAAU,EAAE,EAKhD,OAFAH,OAAOK,iBAAiB,SAAU6C,GAE3B,KACHlD,OAAOM,oBAAoB,SAAU4C,EAAqB,CAC7D,GACF,CAACH,IAEGA,CAAc,EEgEEC,IAChB1E,EAAWD,IAAgBwB,EAAAA,EAAAA,aAC3BsD,EAAcC,IAAmBvD,EAAAA,EAAAA,WAAkB,IACnDwD,EAAUC,IAAezD,EAAAA,EAAAA,WAAkB,IAC3C0D,EAAeC,IAAoB3D,EAAAA,EAAAA,WAAkB,IACrD4D,EAAcC,IAAmB7D,EAAAA,EAAAA,WAAkB,IACnD8D,EAAWC,IAAgB/D,EAAAA,EAAAA,WAAkB,GAC9CgE,GAAgBC,EAAAA,EAAAA,MAChBC,GAAaC,EAAAA,EAAAA,MACbC,EAAoB,YACpBC,EAAehC,IAAkBW,EAASsB,SAE1CC,GAAchI,EAAAA,EAAAA,cACfiI,IACGf,GAAY,GACZE,GAAiB,GACjBE,GAAgB,GAChBG,EAAc,CACVhH,MAAO,YACPyH,WAAYD,GACd,GAEN,CAACR,IAGCU,GAAenI,EAAAA,EAAAA,cAAY,KAC7BiC,OAAamG,GACblB,GAAY,EAAM,GACnB,IAEGmB,IAAarI,EAAAA,EAAAA,cACdiI,IACOhB,EACAkB,IAEAH,EAAYC,EAChB,GAEJ,CAACE,EAAclB,EAAUe,IAGvBM,IAAmBtI,EAAAA,EAAAA,cACpB4C,IAEOX,EADAC,IAAcU,EACDA,OAEAwF,EACjB,GAEJ,CAAClG,IAGCqG,IAAsBvI,EAAAA,EAAAA,cACxB,CAAC4C,EAAaqF,KACN/F,IAAcU,GACdX,EAAaW,GACboF,EAAYC,IAEZE,GACJ,GAEJ,CAACjG,EAAWiG,EAAcH,IAQxBQ,GAAeA,KACjBhB,GAAa,GACRP,GAAaE,GAAeG,GAAgB,EAAM,EAGrDmB,IAAuBzI,EAAAA,EAAAA,cACzB,CACIS,EACAwH,KAEmB,WAAV,OAALxH,QAAK,IAALA,OAAK,EAALA,EAAOoC,OACPpC,EAAMqC,iBACNuF,GAAWJ,GACf,GAEJ,CAACI,KAGCvI,IAAkBE,EAAAA,EAAAA,cACpB,CAAC0I,EAAeC,KACZlB,EAAc,CACVhH,MAAO,aACPmI,WAAYF,EACZR,WAAYS,GACd,GAEN,CAAClB,IAGCoB,IAAqB7I,EAAAA,EAAAA,cAAY,KAC/BiH,GACAkB,GACJ,GACD,CAACA,EAAclB,IAEZ6B,IAAe9I,EAAAA,EAAAA,cAAY,KAC7B,GAAI8H,EAAc,CACd,MAAMiB,EAAOC,SAASC,eAAe,eACjCF,GACAA,EAAKG,eAAe,CAAEC,MAAO,SAAUC,OAAQ,WACvD,MAAWjC,GACPC,GAAiB,GACjBE,GAAgB,KAEhBF,GAAiB,GACjBE,GAAgB,GACpB,GACD,CAACQ,EAAcX,IAmDlB,IAAIkC,GACAC,GAEJ,QApDA5F,EAAAA,EAAAA,YAAU,KACNyE,GAAc,GACf,CAAC1B,EAASsB,YAEbrE,EAAAA,EAAAA,YAAU,KACN0D,EAAiBlB,EAAqB,GACvC,CAACA,KAEJxC,EAAAA,EAAAA,YAAU,KAGD2C,EAFAU,GAAiBQ,GAAcN,EAEtB,CAAEsC,KAAMC,EAAAA,IADT,CAAED,KAAME,EAAAA,IACe,GACrC,CAAC1C,EAAcQ,EAAWN,EAAUZ,KAEvC3C,EAAAA,EAAAA,YAAU,KAGD2C,EAFAU,GAAiBQ,GAAcN,GAAaE,EAEnC,CAAEoC,KAAMC,EAAAA,IADT,CAAED,KAAME,EAAAA,IACe,GACrC,CAAClC,EAAWN,EAAUE,EAAed,EAAUU,KAElDrD,EAAAA,EAAAA,YAAU,KAEAsD,IADNL,EAAiB,GAAyB,SAApBpD,IAIhB+D,KADNX,EAAiB,IAAMY,GAAaN,GAAYE,GAEpB,GAC7B,CAACR,EAAgBpD,EAAiBgE,EAAWN,EAAUE,KAE1DuC,EAAAA,EAAAA,IAAiB,WAAYjJ,IAErBwG,GAA0B,WAAdxG,EAAMoC,MAClBuE,GAAiB,GACjBE,GAAgB,GAChBa,IACJ,KAGJzE,EAAAA,EAAAA,YAAU,KACa2C,EAAfc,EAAwB,CAAEoC,KAAMI,EAAAA,IACtB,CAAEJ,KAAMK,EAAAA,IAAc,GACrC,CAACzC,EAAed,KAEnB3C,EAAAA,EAAAA,YAAU,KACFyD,GAAegB,GAAc,GAClC,CAAChB,EAAegB,KAEnB0B,EAAAA,EAAAA,GAAkB1D,GAAK,IAAM0C,QAKrBiB,EAAAA,EAAAA,OACJ,IAAK,aACD,OAAQnC,GACJ,IAAK,KACD0B,GAAiB,kBACjBC,GAAmB,oBACnB,MACJ,IAAK,IACL,IAAK,IACDD,GAAiB,kBACjBC,GAAmB,oBACnB,MACJ,QACID,GAAiB,mBACjBC,GAAmB,qBAE3B,MACJ,IAAK,yBACD,GACS,OADD3B,EAEA0B,GAAiB,iBACjBC,GAAmB,wBAGnBD,GAAiB,iBACjBC,GAAmB,mBAE3B,MACJ,IAAK,QACD,GACS,OADD3B,EAEA0B,GAAiB,eACjBC,GAAmB,sBAGnBD,GAAiB,eACjBC,GAAmB,iBAE3B,MACJ,IAAK,OACD,OAAQ3B,GACJ,IAAK,KACD0B,GAAiB,cACjBC,GAAmB,gBACnB,MACJ,IAAK,IACL,IAAK,IACDD,GAAiB,cACjBC,GAAmB,gBACnB,MACJ,QACID,GAAiB,mBACjBC,GAAmB,qBAE3B,MACJ,IAAK,aACD,OAAQ3B,GACJ,IAAK,KACD0B,GAAiB,oBACjBC,GAAmB,sBACnB,MACJ,IAAK,IACL,IAAK,IACDD,GAAiB,oBACjBC,GAAmB,sBACnB,MACJ,QACID,GAAiB,yBACjBC,GAAmB,2BAE3B,MACJ,QACI,OAAQ3B,GACJ,IAAK,KACD0B,GAAiB,cACjBC,GAAmB,gBACnB,MACJ,IAAK,IACL,IAAK,IACDD,GAAiB,cACjBC,GAAmB,gBACnB,MACJ,QACID,GAAiB,mBACjBC,GAAmB,sBAInC,MAAM7D,GACF4B,GAA0B,cAAVpE,EAAwBqG,GAAkBD,GAExDU,IAAoB/J,EAAAA,EAAAA,cAAY,IAAM8I,MAAgB,CAACA,KAEvDkB,IAAsBhK,EAAAA,EAAAA,cACvBS,IACsB,WAAV,OAALA,QAAK,IAALA,OAAK,EAALA,EAAOoC,OACPpC,EAAMqC,iBACNgG,KACJ,GAEJ,CAACA,KAGL,OACIvI,EAAAA,EAAAA,MAACyC,EAAAA,cAAa,CACVC,MAAO,CACHA,MAAOoE,EAAe,YAAcpE,EACpCsD,aAAcA,GAChBnG,SAAA,EAEFG,EAAAA,EAAAA,MAACzD,GAAO,CACJmN,KAAK,SACLC,aAAcA,KAzNtB1C,GAAa,QACbF,GAAgB,IAyNR6C,aAAcA,IAAM3B,KACpB4B,WAAYA,IAAM5B,KAClBrC,IAAKA,EACLtB,UAAWoB,EACXrB,UAAWqC,EACXnC,cAAeuC,EACfgD,eAAgBlD,EAAc/G,SAAA,EAE9BD,EAAAA,EAAAA,KAACzC,GAAS,CAAA0C,UACNG,EAAAA,EAAAA,MAACwE,GAAK,CAAA3E,SAAA,EACFD,EAAAA,EAAAA,KAACgF,GAAe,CAAA/E,UACZD,EAAAA,EAAAA,KAACiF,GAAQ,CAACvE,GAAG,eAAcT,UAClB,OAAJe,QAAI,IAAJA,OAAI,EAAJA,EAAMmJ,gBAAiB,4BAGhCnK,EAAAA,EAAAA,KAACmF,GAAI,CACDC,aAAcA,EACdC,UAAWA,EACXC,SAAUA,MAEZ0B,IACEhH,EAAAA,EAAAA,KAACoK,EAAAA,EAAU,CACPhI,MAAM,iBACNJ,WAAYA,EACZD,UAAWA,EACXD,aAAcsG,GACdzI,gBAAiBA,GACjB,WAAS8F,EAAAA,EAAAA,GAAU,qBACnB3C,MACIoE,EACM,YACCd,IAWlBT,IACG3F,EAAAA,EAAAA,KAAC6E,GAAY,CACTpE,KAAMuG,EAAgB,UAAY,WAClC9F,YACIgG,EAAe,QAAUd,EAE7BlD,KAAK,SACL/B,UAAU,EACVC,MAAM,EACN3B,QAASmK,GACTlK,UAAWmK,GACX,WAASpE,EAAAA,EAAAA,GAAU,iBAAiBxF,SAE/B,OAAJe,QAAI,IAAJA,OAAI,EAAJA,EAAMqJ,cAGdxE,GAASA,EAAM1F,OAAS,IACrBH,EAAAA,EAAAA,KAACsK,EAAAA,EAAc,CAACzE,MAAOA,EAAO0E,UAAQ,IAEzCpI,GAAiBD,IACdlC,EAAAA,EAAAA,KAAC3B,EAAAA,EAAM,CACHoC,KAAK,UACLE,IAAKuB,EACLf,SAAyB,MAAfqG,EACVpG,KAAqB,MAAfoG,EACNtG,YACIgG,EAAe,QAAUd,EAE7BlD,KAAK,SACL7C,MAAOuF,EACP,WAASH,EAAAA,EAAAA,GAAU,gBAAgBxF,SAElCkC,KAGTnC,EAAAA,EAAAA,KAAC8E,GAAU,CACPrE,KAAMqG,EAAW,UAAY,SAC7B5F,YAAagG,EAAe,QAAUd,EACtClD,KAAK,SACL/B,UAAU,EACVC,MAAM,EACN3B,SAASI,EAAAA,EAAAA,cACL,IAAMqI,GAAWR,IACjB,CAACQ,KAELxI,WAAWG,EAAAA,EAAAA,cAEHS,GAEAgI,GACIhI,EACAoH,IAER,CAACY,KAEL,WAAS7C,EAAAA,EAAAA,GAAU,eAAexF,SAE7B,OAAJe,QAAI,IAAJA,OAAI,EAAJA,EAAMwJ,aAInBxK,EAAAA,EAAAA,KAAC6B,EAAc,CACXO,MAAM,kBACNJ,WAAYA,EACZC,UAAWA,EACX1C,KAAMuH,EACNkB,aAAcA,EACdrI,gBAAiBA,GACjBmC,aAAcqG,GACdpG,UAAWA,EACXI,cAAeA,EACfD,aAAcA,EACd,WAASuD,EAAAA,EAAAA,GAAU,mBACnBzE,KAAM,CACFyJ,OAAY,OAAJzJ,QAAI,IAAJA,OAAI,EAAJA,EAAMyJ,aAIzB9E,IACG3F,EAAAA,EAAAA,KAAC0K,EAAAA,EAAa,CACV/E,cAAeA,EACf3E,KAAM,CACF2J,kBAAuB,OAAJ3J,QAAI,IAAJA,OAAI,EAAJA,EAAM2J,kBACzBN,YAAiB,OAAJrJ,QAAI,IAAJA,OAAI,EAAJA,EAAMqJ,iBAInB,EAIxB,OAAejL,EAAAA,KAAWsG,GAAQjE,I,6DC5elC,MAAM6I,GAAiBM,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,wBAAAC,OAAAA,CAAA9N,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,gBAAA4N,SAAAnI,MAAAuI,EAAAA,EAAAvI,EAAA,EAAAwI,YAC3BA,IACI,yDAAmEC,YAAAA,CAAAlO,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,YAAA4N,SAAAnI,IAAA,OAAAwI,YAAAjO,GAAAmO,MAAAP,IAAA,KAAAA,SAAAnI,IAAA,EAAAmI,IAAA,EAAAQ,WAAAA,CAAApO,GAAA,MAAAgE,EAAA,KAAA+J,QAAA/N,GAAA,OAAAqO,EAAArK,EAAA,EAAA+J,OAAAA,GAAA,gBAErEO,EAAwBtO,IAC1B+C,EAAAA,EAAAA,KAACsK,EAAc,IAAKrN,IAExB,K,oICPA,MAAMmN,GAAaQ,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,oBAAAC,OAAAA,CAAA9N,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,gBAAA4N,SAAAnI,MAAAuI,EAAAA,EAAAvI,EAAA,EAAAwI,YACvBA,IACI,gCAA2DC,YAAAA,CAAAlO,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,YAAA4N,SAAAnI,IAAA,OAAAwI,YAAAjO,GAAAmO,MAAAP,IAAA,KAAAA,SAAAnI,IAAA,EAAAmI,IAAA,EAAAQ,WAAAA,CAAApO,GAAA,MAAAgE,EAAA,KAAA+J,QAAA/N,GAAA,OAAAqO,EAAArK,EAAA,EAAA+J,OAAAA,GAAA,gBAE7DQ,EAAoBvO,IACtB+C,EAAAA,EAAAA,KAACoK,EAAU,IAAKnN,IAEpB,K,6DCPA,MAAMsE,GAAsBqJ,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,6BAAAC,OAAAA,CAAA9N,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,gBAAA4N,SAAAnI,MAAAuI,EAAAA,EAAAvI,EAAA,EAAAwI,YAChCA,IACI,gCAECC,YAAAA,CAAAlO,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,YAAA4N,SAAAnI,IAAA,OAAAwI,YAAAjO,GAAAmO,MAAAP,IAAA,KAAAA,SAAAnI,IAAA,EAAAmI,IAAA,EAAAQ,WAAAA,CAAApO,GAAA,MAAAgE,EAAA,KAAA+J,QAAA/N,GAAA,OAAAqO,EAAArK,EAAA,EAAA+J,OAAAA,GAAA,gBAEHS,EACFxO,IACe+C,EAAAA,EAAAA,KAACuB,EAAmB,IAAKtE,IAC5C,K,6DCTA,MAAMyN,GAAgBE,EAAAA,EAAAA,SAAS,CAADC,SAAA,GAAAC,SAAAA,GAAA,uBAAAC,OAAAA,CAAA9N,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,gBAAA4N,SAAAnI,MAAAuI,EAAAA,EAAAvI,EAAA,EAAAwI,YAC1BA,IACI,+BAAiEC,YAAAA,CAAAlO,GAAA,MAAAyF,EAAA,KAAAsI,QAAA/N,GAAA,YAAA4N,SAAAnI,IAAA,OAAAwI,YAAAjO,GAAAmO,MAAAP,IAAA,KAAAA,SAAAnI,IAAA,EAAAmI,IAAA,EAAAQ,WAAAA,CAAApO,GAAA,MAAAgE,EAAA,KAAA+J,QAAA/N,GAAA,OAAAqO,EAAArK,EAAA,EAAA+J,OAAAA,GAAA,eAEnEU,EAAuBzO,IACzB+C,EAAAA,EAAAA,KAAC0K,EAAa,IAAKzN,IAEvB,K,wDCZO,MAAMgG,EAAoBuF,GACtBA,EAAKmD,cAAcC,QAAQ,uBAAwB,G,sBCG9D,IAJmB3K,IAGA,C","sources":["components/NavigationMega/NavigationMega.styled.ts","components/NavigationMega/NavigationMega.tsx","utils/useScrollDIrection.ts","components/Header/Header.styled.ts","components/Header/Header.tsx","components/LanguagePicker/LanguagePickerLoader.tsx","components/Navigation/NavigationLoader.tsx","components/NavigationMegaItems/NavigationMegaItemsLoader.tsx","components/SearchOverlay/SearchOverlayLoader.tsx","utils/convertToValidID.ts","utils/getTestId.ts"],"sourcesContent":["/* stylelint-disable no-descending-specificity */\nimport { styled, css } from \"styled-components\";\n\nimport Button from \"components/Button\";\nimport { default as NavLink } from \"components/Link\";\nimport { Container as GridContainer } from \"style/components/Page\";\nimport {\n    BodyM,\n    styleBodyM,\n    styleHeadingL,\n    styleHeadingM,\n    styleHeadingXL,\n} from \"style/components/Typography\";\nimport { columnGap } from \"style/grid\";\nimport { MQ } from \"style/mediaQueries\";\n\nexport const Wrapper = styled.div.attrs<{\n    $open?: boolean;\n    $allClosed?: boolean;\n}>(() => ({}))`\n    align-items: center;\n    border-top: 1px solid var(--color-black-o15);\n    display: ${(props) => (props.$open ? \"flex\" : \"none\")};\n    flex-direction: column;\n    height: 100%;\n    max-height: 100%;\n    overflow: auto;\n    width: 100%;\n\n    ${MQ.FROM_M} {\n        overflow: hidden;\n    }\n\n    ${MQ.FROM_XL} {\n        display: ${(props) =>\n            props.$open && !props.$allClosed ? \"flex\" : \"none\"};\n        height: auto;\n        max-height: none;\n        overflow: auto;\n    }\n`;\n\nexport const Container = styled(GridContainer)`\n    ${columnGap};\n    display: grid;\n    grid-template:\n        \"topNav subNav\" 1fr\n        \"mainLinks subNav\" auto\n        \"loginButton subNav\" auto;\n    grid-template-columns: repeat(4, [col-start] 1fr);\n    height: 100%;\n    padding-bottom: 2.25rem;\n    padding-top: 1.3125rem;\n\n    ${MQ.FROM_M} {\n        grid-template:\n            \"topNav subNav\" 1fr\n            \"mainLinks subNav\" auto;\n        grid-template-columns: repeat(12, [col-start] 1fr);\n        padding-top: 2.625rem;\n    }\n\n    ${MQ.FROM_XL} {\n        grid-template: \"topNav subNav\" auto;\n        grid-template-columns: repeat(12, [col-start] 1fr);\n        height: auto;\n        overflow: visible;\n        padding-bottom: 4.375rem;\n        padding-top: 3.5rem;\n    }\n`;\n\nexport const TopNav = styled.ul.attrs<{\n    $allClosed?: boolean;\n}>(() => ({}))`\n    ${styleHeadingM}\n    color: var(\n        ${(props) => (props.$allClosed ? \"--color-black\" : \"--color-black-o60\")}\n    );\n    grid-area: topNav;\n    grid-column: 1 / span 4;\n    list-style: none;\n    margin: 0;\n    margin-top: 3.5rem;\n    padding: 0;\n    ${(props) =>\n        !props.$allClosed &&\n        css`\n            display: none;\n        `}\n\n    li {\n        margin-bottom: 1.3125rem;\n    }\n\n    ${MQ.FROM_M} {\n        margin-top: 0;\n        display: block;\n        grid-column: 1 / span 6;\n    }\n\n    ${MQ.FROM_L} {\n        grid-column: 1 / span 4;\n    }\n\n    ${MQ.FROM_XL} {\n        display: none;\n    }\n`;\n\nexport const MainLinks = styled.ul.attrs<{\n    $show?: boolean;\n}>(() => ({}))`\n    ${styleBodyM}\n    align-self: flex-end;\n    color: var(--text-on-neutral-primary);\n    grid-area: mainLinks;\n    grid-column: 1 / span 4;\n    list-style: none;\n    margin: 0;\n    margin-top: 1.75rem;\n    padding: 0;\n    ${(props) =>\n        !props.$show &&\n        css`\n            display: none;\n        `}\n\n    li {\n        margin-bottom: 0.4375rem;\n\n        &:last-child {\n            margin-bottom: 0;\n        }\n    }\n\n    ${MQ.FROM_M} {\n        display: block;\n        grid-column: 1 / span 6;\n    }\n\n    ${MQ.FROM_L} {\n        grid-column: 1 / span 4;\n    }\n\n    ${MQ.FROM_XL} {\n        display: none;\n    }\n`;\n\nexport const MainLink = styled(NavLink)`\n    span {\n        border-bottom: 1px solid var(--color-black-o00);\n        color: var(--text-on-neutral-primary);\n        transition: border-color 0.2s ease-in-out;\n    }\n\n    &:hover {\n        span {\n            border-color: var(--text-on-neutral-primary);\n        }\n    }\n`;\n\nexport const LoginButton = styled(Button).attrs<{\n    $show?: boolean;\n}>(() => ({}))`\n    && {\n        display: ${(props) => (props.$show ? \"block\" : \"none\")};\n        grid-area: loginButton;\n        grid-column: 1 / span 4;\n        justify-self: flex-start;\n        margin-top: 2.625rem;\n\n        ${MQ.FROM_M} {\n            display: none;\n        }\n    }\n`;\n\nexport const SubNavWrapper = styled.div.attrs<{\n    $open?: boolean;\n}>(() => ({}))`\n    ${columnGap};\n    display: ${(props) => (props.$open ? \"grid\" : \"none\")};\n    grid-area: subNav;\n    grid-column: 1 / span 4;\n    grid-template-columns: repeat(4, [col-start] 1fr);\n    grid-template-rows: auto auto 1fr;\n    max-height: 100%;\n\n    ${MQ.FROM_M} {\n        grid-column: 7 / span 6;\n        overflow: auto;\n        grid-template-rows: auto 1fr;\n    }\n\n    ${MQ.FROM_L} {\n        grid-column: 5 / span 8;\n        overflow: hidden;\n        grid-template-rows: auto;\n    }\n\n    ${MQ.FROM_XL} {\n        grid-column: 1 / span 12;\n        overflow: visible;\n    }\n`;\n\nexport const Description = styled.div`\n    grid-column: 1 / span 4;\n\n    ${MQ.FROM_M} {\n        grid-column: 1 / span 4;\n    }\n\n    ${MQ.FROM_L} {\n        grid-column: 1 / span 2;\n    }\n\n    ${MQ.FROM_XL} {\n        grid-column: 1 / span 1;\n    }\n`;\n\nexport const Title = styled(NavLink)`\n    ${styleHeadingXL}\n    border-bottom: none;\n    color: inherit;\n\n    svg {\n        margin-left: 0.875rem;\n        transition:\n            margin-left 0.2s ease-in-out,\n            margin-right 0.2s ease-in-out;\n        margin-right: 0.875rem;\n    }\n\n    &:hover {\n        svg {\n            margin-left: 1.75rem;\n            margin-right: 0;\n        }\n    }\n\n    ${MQ.FROM_M} {\n        ${styleHeadingL}\n        color: inherit;\n    }\n`;\n\nexport const Introduction = styled(BodyM)`\n    ${styleBodyM};\n    color: inherit;\n    margin-top: 0.4375rem;\n\n    ${MQ.FROM_M} {\n        margin-top: 0.875rem;\n    }\n\n    ${MQ.FROM_XL} {\n        margin-top: 1.3125rem;\n    }\n`;\n\nexport const SubNavContainer = styled.div`\n    grid-column: 1 / span 4;\n    margin-top: 1.75rem;\n\n    ${MQ.FROM_M} {\n        grid-column: 1 / span 4;\n        padding-bottom: 0;\n    }\n\n    ${MQ.FROM_L} {\n        grid-column: 3 / span 2;\n        margin-top: 0;\n        overflow: auto;\n    }\n\n    ${MQ.FROM_XL} {\n        grid-column: 2 / span 3;\n    }\n`;\n\nexport const linkStyle = css`\n    all: unset;\n    border-bottom: none;\n    color: inherit;\n    cursor: pointer;\n    display: block;\n\n    svg {\n        vertical-align: top;\n    }\n\n    &:focus-visible {\n        outline: 7px solid var(--button-focus);\n        outline-offset: 0;\n    }\n\n    span {\n        border-bottom: 1px solid var(--color-black-o00);\n        color: var(--color-black);\n        transition: border-color 0.2s ease-in-out;\n    }\n\n    &:hover {\n        span {\n            border-color: var(--text-on-neutral-primary);\n        }\n    }\n\n    &.active {\n        color: var(--text-on-neutral-primary);\n    }\n`;\n\nexport const Link = styled(NavLink)`\n    ${linkStyle}\n`;\n\nexport const LinkButton = styled.button`\n    align-items: flex-start;\n    ${linkStyle}\n    display: flex;\n    gap: 0.875rem;\n    justify-content: space-between;\n    width: 100%;\n\n    svg {\n        flex: 0 0 1.75rem;\n    }\n`;\n\nexport const BackButton = styled(Button)`\n    && {\n        grid-column: 1 / span 4;\n        margin-bottom: 1.75rem;\n        margin-right: auto;\n\n        ${MQ.FROM_M} {\n            display: none;\n            margin-right: auto;\n        }\n    }\n`;\n","import React, { ReactElement, useCallback } from \"react\";\nimport isEqual from \"react-fast-compare\";\nimport { ThemeProvider } from \"styled-components\";\n\nimport Icon from \"components/Icon\";\nimport NavigationMegaItems from \"components/NavigationMegaItems\";\nimport { appendComponentWithNoBr } from \"utils/appendComponentWithNoBr\";\nimport { convertToValidID } from \"utils/convertToValidID\";\n\nimport {\n    Wrapper,\n    Container,\n    TopNav,\n    MainLinks,\n    MainLink,\n    LoginButton,\n    SubNavContainer,\n    SubNavWrapper,\n    Description,\n    Title,\n    Introduction,\n    Link,\n    LinkButton,\n    BackButton,\n} from \"./NavigationMega.styled\";\nimport NavigationMegaProps, {\n    NavigationMegaMainLinkProps,\n    NavigationMegaSubProps,\n} from \"./NavigationMegaProps\";\n\nconst TopNavItem = React.memo(\n    ({\n        navId,\n        item,\n        open,\n        subNavId,\n        onClick,\n        onKeyDown,\n        navigateHandler,\n    }: NavigationMegaSubProps): ReactElement => {\n        const handleNavigate = useCallback(\n            (_) => {\n                if (navigateHandler) {\n                    navigateHandler(\n                        1, //level\n                        item.displayName,\n                    );\n                }\n            },\n            [item.displayName, navigateHandler],\n        );\n\n        return (\n            <li key={navId}>\n                {item.items && item.items.length > 0 ? (\n                    <LinkButton\n                        title={item.displayName}\n                        onClick={(event) => onClick(event, navId)}\n                        onKeyDown={(event) => onKeyDown(event, navId)}\n                        aria-controls={`${subNavId}-nav`}\n                        className={open ? \"active\" : \"\"}\n                    >\n                        <span>{item.displayName}</span>\n                        <Icon icon=\"bigArrowRight28\" />\n                    </LinkButton>\n                ) : (\n                    <Link\n                        to={item.url}\n                        exact\n                        activeClassName=\"active\"\n                        title={item.displayName}\n                        onClick={handleNavigate}\n                    >\n                        <span>{item.displayName}</span>\n                    </Link>\n                )}\n            </li>\n        );\n    },\n);\nTopNavItem.displayName = \"TopNavItem\";\n\nconst SubNav = React.memo(\n    ({\n        subNavId,\n        navId,\n        open,\n        index,\n        item,\n        l18n,\n        navigateHandler,\n        onClick,\n        onKeyDown,\n    }: NavigationMegaSubProps): ReactElement => {\n        const handleNavigate = useCallback(() => {\n            if (navigateHandler) {\n                navigateHandler(1, item.displayName);\n            }\n        }, [item.displayName, navigateHandler]);\n\n        return (\n            <SubNavWrapper\n                id={`${subNavId}-nav`}\n                key={navId}\n                aria-labelledby={`${subNavId}-header`}\n                $open={open}\n            >\n                <BackButton\n                    actionTheme=\"black\"\n                    title={item.displayName}\n                    aria-controls={`${subNavId}-nav`}\n                    icon=\"bigArrowLeft28\"\n                    iconOnly={true}\n                    a11y={true}\n                    onClick={(event) => onClick(event, `nav${index}`)}\n                    onKeyDown={(event) => onKeyDown(event, `nav${index}`)}\n                >\n                    Back\n                </BackButton>\n                <Description id={`${subNavId}-header`}>\n                    {item.displayName && (\n                        <Title\n                            to={item.url}\n                            onClick={handleNavigate}\n                            id={`${subNavId}-heading`}\n                        >\n                            {appendComponentWithNoBr(\n                                item.displayName,\n                                <Icon\n                                    icon=\"longArrowRight35\"\n                                    aria-hidden=\"true\"\n                                />,\n                            )}\n                        </Title>\n                    )}\n                    {item.introduction && (\n                        <Introduction>{item.introduction}</Introduction>\n                    )}\n                </Description>\n                <SubNavContainer>\n                    <NavigationMegaItems\n                        items={item.items}\n                        id={subNavId}\n                        navigateHandler={navigateHandler}\n                        open={open}\n                        highlightedNavigation={item.highlightedNavigation}\n                        l18n={l18n}\n                    />\n                </SubNavContainer>\n            </SubNavWrapper>\n        );\n    },\n    isEqual,\n);\nSubNav.displayName = \"SubNav\";\n\nconst MainLinkItem = React.memo(\n    ({ item, navigateHandler }: NavigationMegaMainLinkProps): ReactElement => {\n        const handleNavigate = useCallback(() => {\n            if (navigateHandler) {\n                navigateHandler(2, item.displayName);\n            }\n        }, [item.displayName, navigateHandler]);\n\n        return (\n            <li>\n                <MainLink\n                    to={item.url}\n                    exact\n                    hoverSpan={true}\n                    isNavigation={true}\n                    activeClassName=\"active\"\n                    title={item.displayName}\n                    onClick={handleNavigate}\n                >\n                    <span>{item.displayName}</span>\n                </MainLink>\n            </li>\n        );\n    },\n);\nMainLinkItem.displayName = \"MainLinkItem\";\n\nconst NavigationMega = ({\n    setActiveNav,\n    activeNav,\n    navigation,\n    mainLinks,\n    loginPageUrl,\n    loginPageText,\n    label,\n    open,\n    l18n,\n    navigateHandler,\n}: NavigationMegaProps): ReactElement => {\n    const handleKeyDown = useCallback(\n        (event: React.KeyboardEvent<HTMLButtonElement>, nav: string): void => {\n            if (event?.key === \"Enter\") {\n                event.preventDefault();\n                setActiveNav(nav);\n            }\n        },\n        [setActiveNav],\n    );\n\n    const handleClick = useCallback(\n        (event: React.MouseEvent<HTMLButtonElement>, nav: string): void => {\n            event.preventDefault();\n            setActiveNav(nav);\n        },\n        [setActiveNav],\n    );\n\n    return (\n        <ThemeProvider theme={{ theme: \"lightgray\" }}>\n            <Wrapper $open={open} $allClosed={!activeNav}>\n                <Container as=\"nav\" aria-label={label}>\n                    {/* Mobile/tablet */}\n                    <TopNav $allClosed={!activeNav}>\n                        {navigation?.items?.map((item, index) => {\n                            const navId = `nav${index}`;\n                            const open = activeNav == `nav${index}`;\n                            const subNavId = convertToValidID(\n                                item.displayName || navId,\n                            );\n\n                            return (\n                                <TopNavItem\n                                    key={`TopNavItem-${index}`}\n                                    item={item}\n                                    open={open}\n                                    navId={navId}\n                                    subNavId={subNavId}\n                                    navigateHandler={navigateHandler}\n                                    onClick={handleClick}\n                                    onKeyDown={handleKeyDown}\n                                />\n                            );\n                        })}\n                    </TopNav>\n                    <MainLinks $show={!activeNav}>\n                        {mainLinks?.items?.map((item, index) => (\n                            <MainLinkItem\n                                key={`MainLinkItem-${index}`}\n                                item={item}\n                            />\n                        ))}\n                    </MainLinks>\n                    {loginPageText && loginPageUrl && (\n                        <LoginButton\n                            icon=\"login28\"\n                            url={loginPageUrl}\n                            actionTheme=\"black\"\n                            size=\"medium\"\n                            $show={!activeNav}\n                        >\n                            {loginPageText}\n                        </LoginButton>\n                    )}\n                    {/* All devices */}\n                    {navigation?.items?.map((item, index) => {\n                        if (item.items && item.items.length > 0) {\n                            const navId = `subnav${index}`;\n                            const open = activeNav == `nav${index}`;\n                            const subNavId = convertToValidID(\n                                `${item.displayName}`,\n                            );\n\n                            return (\n                                <SubNav\n                                    key={`SubNavItem-${index}`}\n                                    item={item}\n                                    navId={navId}\n                                    open={open}\n                                    index={index}\n                                    subNavId={subNavId}\n                                    navigateHandler={navigateHandler}\n                                    onClick={handleClick}\n                                    onKeyDown={handleKeyDown}\n                                    l18n={l18n}\n                                />\n                            );\n                        }\n                    })}\n                </Container>\n            </Wrapper>\n        </ThemeProvider>\n    );\n};\n\nexport default React.memo(NavigationMega);\n","import { useEffect, useState } from \"react\";\n\nexport const useScrollPosition = () => {\n    const [scrollPosition, setScrollPosition] = useState<number>(0);\n\n    useEffect(() => {\n        const updateScrollPosition = () => {\n            setScrollPosition(scrollY > 0 ? scrollY : 0);\n        };\n\n        window.addEventListener(\"scroll\", updateScrollPosition);\n\n        return () => {\n            window.removeEventListener(\"scroll\", updateScrollPosition);\n        };\n    }, [scrollPosition]);\n\n    return scrollPosition;\n};\n\nconst useScrollDirection = () => {\n    const [scrollDirection, setScrollDirection] = useState<string>(\"up\");\n\n    useEffect(() => {\n        let lastScrollY = window.pageYOffset;\n\n        const updateScrollDirection = () => {\n            const scrollY = window.pageYOffset;\n            const direction = scrollY > lastScrollY ? \"down\" : \"up\";\n            if (\n                direction !== scrollDirection &&\n                (scrollY > lastScrollY || scrollY < lastScrollY)\n            ) {\n                setScrollDirection(direction);\n            }\n            lastScrollY = scrollY > 0 ? scrollY : 0;\n        };\n\n        window.addEventListener(\"scroll\", updateScrollDirection);\n\n        return () => {\n            window.removeEventListener(\"scroll\", updateScrollDirection);\n        };\n    }, [scrollDirection]);\n\n    return scrollDirection;\n};\n\nexport default useScrollDirection;\n","/* stylelint-disable no-descending-specificity  */\nimport { HashLink } from \"react-router-hash-link\";\nimport { styled, css } from \"styled-components\";\nimport theme from \"styled-theming\";\n\nimport Button from \"components/Button\";\nimport { default as NavLink } from \"components/Link\";\nimport { Container as GridContainer } from \"style/components/Page\";\nimport { BodyM } from \"style/components/Typography\";\nimport { columnGap } from \"style/grid\";\nimport { MQ } from \"style/mediaQueries\";\n\nconst backgroundColor = theme(\"theme\", {\n    white: \"--color-transparent\",\n    lightgray: \"--background-default\",\n    blue: \"--block-blue-default\",\n    cyan: \"--block-cyan-default\",\n});\n\nconst textColor = theme(\"contentTheme\", {\n    white: \"--text-on-image-primary\",\n    black: \"--text-on-neutral-primary\",\n    cyan: \"--text-on-blue-primary\",\n    blue: \"--text-on-cyan-primary\",\n});\n\nconst logoColor = theme(\"theme\", {\n    white: \"--icon-on-image-primary\",\n    lightgray: \"--icon-on-neutral-primary\",\n    blue: \"--icon-on-blue-primary-alt3\",\n    cyan: \"--icon-on-cyan-primary\",\n});\n\nexport const activeWrapper = css`\n    background-color: var(--background-default);\n    color: var(--text-on-neutral-primary);\n`;\n\nexport const Wrapper = styled.div.attrs<{\n    $headerActive: boolean;\n    $showMenu: boolean;\n    $menuOpen: boolean;\n    $searchVisible: boolean;\n}>(() => ({}))`\n    align-items: center;\n    background-color: var(${backgroundColor});\n    bottom: ${(props) => (props.$menuOpen ? \"0\" : \"auto\")};\n    color: var(${textColor});\n    display: flex;\n    flex-direction: column;\n    max-height: ${(props) => (props.$showMenu ? \"100vh\" : \"0\")};\n    opacity: ${(props) => (props.$showMenu ? \".9999\" : \"0\")};\n    overflow: ${(props) => (props.$showMenu ? \"visible\" : \"hidden\")};\n    position: fixed;\n    top: 0;\n    transition:\n        color 0.2s ease-in-out,\n        background-color 0.2s ease-in-out,\n        opacity 0.2s ease-in-out;\n    width: 100%;\n    z-index: 999;\n    ${(props) => props.$headerActive && activeWrapper};\n\n    ${MQ.FROM_XL} {\n        bottom: auto;\n    }\n`;\n\nexport const Container = styled(GridContainer)`\n    ${columnGap};\n    align-items: center;\n    display: grid;\n    grid-template-columns: repeat(4, [col-start] 1fr) [col-end];\n    grid-template-rows: auto 1fr auto;\n    padding-bottom: 0.875rem;\n    padding-top: 0.875rem;\n    position: relative;\n    width: 100%;\n\n    ${MQ.FROM_M} {\n        grid-template-columns: repeat(12, [col-start] 1fr) [col-end];\n        padding-bottom: 1.3125rem;\n        padding-top: 1.3125rem;\n    }\n\n    ${MQ.FROM_XL} {\n        padding-bottom: 2.1875rem;\n        padding-top: 2.125rem;\n    }\n`;\n\nexport const Inner = styled.div`\n    align-items: center;\n    column-gap: 1.3125rem;\n    display: flex;\n    grid-column: col-start / col-end;\n    justify-content: flex-end;\n    width: 100%;\n\n    ${MQ.FROM_M} {\n        grid-template-columns: repeat(12, [col-start] 1fr) [col-end];\n        column-gap: 2.1875rem;\n    }\n\n    nav {\n        margin-left: auto;\n    }\n`;\n\nexport const Links = styled.ul`\n    display: flex;\n    flex-direction: row;\n    margin: 0;\n`;\n\nexport const LinkWrapper = styled(BodyM)`\n    list-style: none;\n    padding: 0.875rem;\n`;\n\nexport const SearchButton = styled(Button)`\n    transition: none;\n`;\n\nexport const MenuButton = styled(Button)`\n    & {\n        ${MQ.FROM_M} {\n            padding: 0.875rem 0;\n        }\n\n        ${MQ.FROM_XL} {\n            display: none;\n        }\n    }\n`;\n\nexport const LogoLink = styled(NavLink)`\n    border-bottom: none;\n    color: var(${logoColor});\n    margin-right: auto;\n\n    svg {\n        height: 2.625rem;\n\n        ${MQ.FROM_M} {\n            height: 2.625rem;\n        }\n\n        ${MQ.FROM_XL} {\n            height: 3.5rem;\n        }\n    }\n`;\n\nexport const SkipLinkWrapper = styled.div`\n    background: var(--background-default);\n    border-radius: 0.25rem;\n    box-shadow: var(--modal-shadow);\n    display: flex;\n    justify-content: center;\n    left: 1.75rem;\n    position: absolute;\n    right: 1.75rem;\n    top: 1.75rem;\n    z-index: 9999;\n\n    ${MQ.FROM_M} {\n        left: 50%;\n        right: auto;\n        top: 2.625rem;\n        transform: translate(-50%, 0);\n        width: 31.125rem;\n    }\n\n    ${MQ.FROM_XL} {\n        top: 3.9375rem;\n        width: 34rem;\n    }\n\n    &:not(:focus-within) {\n        top: -9999px;\n    }\n`;\nexport const SkipLink = styled(HashLink)`\n    border-radius: 0.25rem;\n    color: var(--text-on-neutral-link);\n    display: block;\n    margin-block: 1.75rem;\n    outline-offset: 0;\n    padding: 0.4375rem;\n\n    ${MQ.FROM_M} {\n        margin-block: 2.1875rem;\n    }\n\n    &:focus-visible {\n        outline: 7px solid var(--button-focus);\n        outline-offset: 0;\n    }\n`;\n","/* eslint-disable jsx-a11y/no-autofocus */\nimport { useGTMDispatch } from \"@elgorditosalsero/react-gtm-hook\";\nimport React, {\n    ReactElement,\n    useCallback,\n    useEffect,\n    useRef,\n    useState,\n} from \"react\";\nimport isEqual from \"react-fast-compare\";\nimport { useDispatch } from \"react-redux\";\nimport { useLocation } from \"react-router\";\nimport { ThemeProvider } from \"styled-components\";\n\nimport Button from \"components/Button\";\nimport Icon from \"components/Icon\";\nimport LanguagePicker from \"components/LanguagePicker\";\nimport Navigation from \"components/Navigation\";\nimport NavigationMega from \"components/NavigationMega/NavigationMega\";\nimport SearchOverlay from \"components/SearchOverlay\";\nimport { useBrand, useBreakpoint, useEventListener } from \"hooks\";\nimport useOnClickOutside from \"hooks/useOnClickOutside\";\nimport usePageContent from \"hooks/usePageContent\";\nimport {\n    SHOW_HEADER,\n    HIDE_HEADER,\n    SHOW_SEARCH,\n    HIDE_SEARCH,\n} from \"store/actionTypes\";\nimport getTestId from \"utils/getTestId\";\nimport useScrollDirection, {\n    useScrollPosition,\n} from \"utils/useScrollDIrection\";\n\nimport {\n    Wrapper,\n    Container,\n    Inner,\n    LogoLink,\n    SearchButton,\n    MenuButton,\n    SkipLink,\n    SkipLinkWrapper,\n} from \"./Header.styled\";\nimport HeaderProps, { HeaderLogoProps } from \"./HeaderProps\";\n\nconst Logo = React.memo(\n    ({ startPageUrl, logoTitle, logoIcon }: HeaderLogoProps): ReactElement => (\n        <LogoLink\n            to={startPageUrl}\n            title={logoTitle}\n            ariaLabel={logoTitle}\n            gtmClickType=\"home\"\n            data-cy={getTestId(\"Logo\")}\n        >\n            <Icon key={`Logo-${logoIcon}`} icon={logoIcon} />\n        </LogoLink>\n    ),\n);\nLogo.displayName = \"Logo\";\n\nconst Header = ({\n    navigation,\n    mainLinks,\n    logoTitle,\n    startPageUrl,\n    searchPageUrl,\n    loginPageText,\n    loginPageTitle,\n    loginPageUrl,\n    l18n,\n    sites,\n    visible = true,\n    searchOverlayVisible,\n}: HeaderProps): ReactElement => {\n    const ref = useRef<HTMLDivElement>(null);\n    const dispatch = useDispatch();\n\n    const { theme, contentTheme } = usePageContent();\n    const location = useLocation();\n    const scrollDirection = useScrollDirection();\n    const scrollPosition = useScrollPosition();\n    const [activeNav, setActiveNav] = useState<string | undefined>();\n    const [headerPinned, setHeaderPinned] = useState<boolean>(true);\n    const [menuOpen, setMenuOpen] = useState<boolean>(false);\n    const [searchVisible, setSearchVisible] = useState<boolean>(false);\n    const [headerActive, setHeaderActive] = useState<boolean>(false);\n    const [mouseOver, setMouseOver] = useState<boolean>(false);\n    const sendDataToGTM = useGTMDispatch();\n    const breakpoint = useBreakpoint();\n    const mobileMenuNavName = \"hamburger\"; // 🍔🤷\n    const isSearchPage = searchPageUrl === location.pathname;\n\n    const openHandler = useCallback(\n        (navText?: string): void => {\n            setMenuOpen(true);\n            setSearchVisible(false);\n            setHeaderActive(true);\n            sendDataToGTM({\n                event: \"open_menu\",\n                click_text: navText,\n            });\n        },\n        [sendDataToGTM],\n    );\n\n    const closeHandler = useCallback((): void => {\n        setActiveNav(undefined);\n        setMenuOpen(false);\n    }, []);\n\n    const toggleMenu = useCallback(\n        (navText?: string): void => {\n            if (menuOpen) {\n                closeHandler();\n            } else {\n                openHandler(navText);\n            }\n        },\n        [closeHandler, menuOpen, openHandler],\n    );\n\n    const toggleNavHandler = useCallback(\n        (nav: string): void => {\n            if (activeNav !== nav) {\n                setActiveNav(nav);\n            } else {\n                setActiveNav(undefined);\n            }\n        },\n        [activeNav],\n    );\n\n    const setActiveNavHandler = useCallback(\n        (nav: string, navText?: string): void => {\n            if (activeNav !== nav) {\n                setActiveNav(nav);\n                openHandler(navText);\n            } else {\n                closeHandler();\n            }\n        },\n        [activeNav, closeHandler, openHandler],\n    );\n\n    const enterHandler = (): void => {\n        setMouseOver(true);\n        setHeaderActive(true);\n    };\n\n    const leaveHandler = (): void => {\n        setMouseOver(false);\n        if (!menuOpen && !searchVisible) setHeaderActive(false);\n    };\n\n    const handleMenuBtnKeyDown = useCallback(\n        (\n            event: React.KeyboardEvent<HTMLButtonElement>,\n            navText?: string,\n        ): void => {\n            if (event?.key === \"Enter\") {\n                event.preventDefault();\n                toggleMenu(navText);\n            }\n        },\n        [toggleMenu],\n    );\n\n    const navigateHandler = useCallback(\n        (level: number, text?: string): void => {\n            sendDataToGTM({\n                event: \"menu_click\",\n                menu_level: level,\n                click_text: text,\n            });\n        },\n        [sendDataToGTM],\n    );\n\n    const handleClickOutside = useCallback((): void => {\n        if (menuOpen) {\n            closeHandler();\n        }\n    }, [closeHandler, menuOpen]);\n\n    const toggleSearch = useCallback((): void => {\n        if (isSearchPage) {\n            const elem = document.getElementById(\"searchfield\");\n            if (elem)\n                elem.scrollIntoView({ block: \"center\", inline: \"nearest\" });\n        } else if (searchVisible) {\n            setSearchVisible(false);\n            setHeaderActive(false);\n        } else {\n            setSearchVisible(true);\n            setHeaderActive(true);\n        }\n    }, [isSearchPage, searchVisible]);\n\n    useEffect(() => {\n        closeHandler();\n    }, [location.pathname]); // eslint-disable-line react-hooks/exhaustive-deps\n\n    useEffect(() => {\n        setSearchVisible(searchOverlayVisible);\n    }, [searchOverlayVisible]);\n\n    useEffect((): void => {\n        if (!headerPinned && !mouseOver && !menuOpen)\n            dispatch({ type: HIDE_HEADER });\n        else dispatch({ type: SHOW_HEADER });\n    }, [headerPinned, mouseOver, menuOpen, dispatch]);\n\n    useEffect((): void => {\n        if (!headerPinned && !mouseOver && !menuOpen && !searchVisible)\n            dispatch({ type: HIDE_HEADER });\n        else dispatch({ type: SHOW_HEADER });\n    }, [mouseOver, menuOpen, searchVisible, dispatch, headerPinned]);\n\n    useEffect((): void => {\n        scrollPosition > 5 && scrollDirection === \"down\"\n            ? setHeaderPinned(false)\n            : setHeaderPinned(true);\n        scrollPosition > 50 || mouseOver || menuOpen || searchVisible\n            ? setHeaderActive(true)\n            : setHeaderActive(false);\n    }, [scrollPosition, scrollDirection, mouseOver, menuOpen, searchVisible]);\n\n    useEventListener(\"keydown\", (event: KeyboardEvent) => {\n        // Close nav and search on ESC\n        if (menuOpen && event.key === \"Escape\") {\n            setSearchVisible(false);\n            setHeaderActive(false);\n            closeHandler();\n        }\n    });\n\n    useEffect((): void => {\n        if (searchVisible) dispatch({ type: SHOW_SEARCH });\n        else dispatch({ type: HIDE_SEARCH });\n    }, [searchVisible, dispatch]);\n\n    useEffect((): void => {\n        if (searchVisible) closeHandler();\n    }, [searchVisible, closeHandler]);\n\n    useOnClickOutside(ref, () => handleClickOutside());\n\n    let logoSolidIcon: string;\n    let logoDefaultIcon: string;\n\n    switch (useBrand()) {\n        case \"spmortgage\":\n            switch (breakpoint) {\n                case \"XL\":\n                    logoSolidIcon = `mortgageSolid56`;\n                    logoDefaultIcon = `mortgageDefault56`;\n                    break;\n                case \"L\":\n                case \"M\":\n                    logoSolidIcon = `mortgageSolid42`;\n                    logoDefaultIcon = `mortgageDefault42`;\n                    break;\n                default:\n                    logoSolidIcon = `logoSmallSolid42`;\n                    logoDefaultIcon = `logoSmallDefault42`;\n            }\n            break;\n        case \"soderbergpartnersgroup\":\n            switch (breakpoint) {\n                case \"XL\":\n                    logoSolidIcon = `spgroupSolid56`;\n                    logoDefaultIcon = `spgroupDefault56`;\n                    break;\n                default:\n                    logoSolidIcon = `spgroupSolid42`;\n                    logoDefaultIcon = `spgroupDefault42`;\n            }\n            break;\n        case \"sphab\":\n            switch (breakpoint) {\n                case \"XL\":\n                    logoSolidIcon = `sphabSolid56`;\n                    logoDefaultIcon = `sphabDefault56`;\n                    break;\n                default:\n                    logoSolidIcon = `sphabSolid42`;\n                    logoDefaultIcon = `sphabDefault42`;\n            }\n            break;\n        case \"spuk\":\n            switch (breakpoint) {\n                case \"XL\":\n                    logoSolidIcon = `spukSolid56`;\n                    logoDefaultIcon = `spukDefault56`;\n                    break;\n                case \"L\":\n                case \"M\":\n                    logoSolidIcon = `spukSolid42`;\n                    logoDefaultIcon = `spukDefault42`;\n                    break;\n                default:\n                    logoSolidIcon = `logoSmallSolid42`;\n                    logoDefaultIcon = `logoSmallDefault42`;\n            }\n            break;\n        case \"claimslink\":\n            switch (breakpoint) {\n                case \"XL\":\n                    logoSolidIcon = `claimslinkSolid42`;\n                    logoDefaultIcon = `claimslinkDefault42`;\n                    break;\n                case \"L\":\n                case \"M\":\n                    logoSolidIcon = `claimslinkSolid28`;\n                    logoDefaultIcon = `claimslinkDefault28`;\n                    break;\n                default:\n                    logoSolidIcon = `claimslinkSmallSolid28`;\n                    logoDefaultIcon = `claimslinkSmallDefault28`;\n            }\n            break;\n        default:\n            switch (breakpoint) {\n                case \"XL\":\n                    logoSolidIcon = `logoSolid56`;\n                    logoDefaultIcon = `logoDefault56`;\n                    break;\n                case \"L\":\n                case \"M\":\n                    logoSolidIcon = `logoSolid42`;\n                    logoDefaultIcon = `logoDefault42`;\n                    break;\n                default:\n                    logoSolidIcon = `logoSmallSolid42`;\n                    logoDefaultIcon = `logoSmallDefault42`;\n            }\n    }\n\n    const logoIcon =\n        headerActive || theme === \"lightgray\" ? logoDefaultIcon : logoSolidIcon;\n\n    const handleSearchClick = useCallback(() => toggleSearch(), [toggleSearch]);\n\n    const handleSearchKeyDown = useCallback(\n        (event: React.KeyboardEvent<HTMLButtonElement>): void => {\n            if (event?.key === \"Enter\") {\n                event.preventDefault();\n                toggleSearch();\n            }\n        },\n        [toggleSearch],\n    );\n\n    return (\n        <ThemeProvider\n            theme={{\n                theme: headerActive ? \"lightgray\" : theme,\n                contentTheme: contentTheme,\n            }}\n        >\n            <Wrapper\n                role=\"banner\"\n                onMouseEnter={() => enterHandler()}\n                onMouseLeave={() => leaveHandler()}\n                onTouchEnd={() => leaveHandler()}\n                ref={ref}\n                $showMenu={visible}\n                $menuOpen={menuOpen}\n                $headerActive={headerActive}\n                $searchVisible={searchVisible}\n            >\n                <Container>\n                    <Inner>\n                        <SkipLinkWrapper>\n                            <SkipLink to=\"#maincontent\">\n                                {l18n?.skipToContent || \"Skip to main content\"}\n                            </SkipLink>\n                        </SkipLinkWrapper>\n                        <Logo\n                            startPageUrl={startPageUrl}\n                            logoTitle={logoTitle}\n                            logoIcon={logoIcon}\n                        />\n                        {!searchVisible && (\n                            <Navigation\n                                label=\"Top Navigation\"\n                                navigation={navigation}\n                                activeNav={activeNav}\n                                setActiveNav={setActiveNavHandler}\n                                navigateHandler={navigateHandler}\n                                data-cy={getTestId(\"header-navigation\")}\n                                theme={\n                                    headerActive\n                                        ? \"lightgray\"\n                                        : (contentTheme as\n                                              | \"lightgray\"\n                                              | \"blue\"\n                                              | \"cyan\"\n                                              | \"coral\"\n                                              | \"black\"\n                                              | \"white\"\n                                              | undefined)\n                                }\n                            />\n                        )}\n                        {searchPageUrl && (\n                            <SearchButton\n                                icon={searchVisible ? \"close28\" : \"search28\"}\n                                actionTheme={\n                                    headerActive ? \"black\" : contentTheme\n                                }\n                                size=\"medium\"\n                                iconOnly={true}\n                                a11y={true}\n                                onClick={handleSearchClick}\n                                onKeyDown={handleSearchKeyDown}\n                                data-cy={getTestId(\"search-button\")}\n                            >\n                                {l18n?.searchLabel}\n                            </SearchButton>\n                        )}\n                        {sites && sites.length > 0 && (\n                            <LanguagePicker sites={sites} inHeader />\n                        )}\n                        {loginPageText && loginPageUrl && (\n                            <Button\n                                icon=\"login28\"\n                                url={loginPageUrl}\n                                iconOnly={breakpoint === \"S\" ? true : false}\n                                a11y={breakpoint === \"S\" ? true : false}\n                                actionTheme={\n                                    headerActive ? \"black\" : contentTheme\n                                }\n                                size=\"medium\"\n                                title={loginPageTitle}\n                                data-cy={getTestId(\"login-button\")}\n                            >\n                                {loginPageText}\n                            </Button>\n                        )}\n                        <MenuButton\n                            icon={menuOpen ? \"close28\" : \"menu28\"}\n                            actionTheme={headerActive ? \"black\" : contentTheme}\n                            size=\"medium\"\n                            iconOnly={true}\n                            a11y={true}\n                            onClick={useCallback(\n                                () => toggleMenu(mobileMenuNavName),\n                                [toggleMenu],\n                            )}\n                            onKeyDown={useCallback(\n                                (\n                                    event: React.KeyboardEvent<HTMLButtonElement>,\n                                ) =>\n                                    handleMenuBtnKeyDown(\n                                        event,\n                                        mobileMenuNavName,\n                                    ),\n                                [handleMenuBtnKeyDown],\n                            )}\n                            data-cy={getTestId(\"menu-buttom\")}\n                        >\n                            {l18n?.menu}\n                        </MenuButton>\n                    </Inner>\n                </Container>\n                <NavigationMega\n                    label=\"Mega Navigation\"\n                    navigation={navigation}\n                    mainLinks={mainLinks}\n                    open={menuOpen}\n                    closeHandler={closeHandler}\n                    navigateHandler={navigateHandler}\n                    setActiveNav={toggleNavHandler}\n                    activeNav={activeNav}\n                    loginPageText={loginPageText}\n                    loginPageUrl={loginPageUrl}\n                    data-cy={getTestId(\"mega-navigation\")}\n                    l18n={{\n                        expand: l18n?.expand,\n                    }}\n                />\n            </Wrapper>\n            {searchPageUrl && (\n                <SearchOverlay\n                    searchPageUrl={searchPageUrl}\n                    l18n={{\n                        searchPlaceholder: l18n?.searchPlaceholder,\n                        searchLabel: l18n?.searchLabel,\n                    }}\n                />\n            )}\n        </ThemeProvider>\n    );\n};\n\nexport default React.memo(Header, isEqual);\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport LanguagePickerProps from \"./LanguagePickerProps\";\n\nconst LanguagePicker = loadable(\n    (): Promise<DefaultComponent<LanguagePickerProps>> =>\n        import(/* webpackChunkName: \"LanguagePicker\" */ \"./LanguagePicker\"),\n);\nconst LanguagePickerLoader = (props: LanguagePickerProps): ReactElement => (\n    <LanguagePicker {...props} />\n);\nexport default LanguagePickerLoader;\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport NavigationProps from \"./NavigationProps\";\n\nconst Navigation = loadable(\n    (): Promise<DefaultComponent<NavigationProps>> =>\n        import(/* webpackChunkName: \"Navigation\" */ \"./Navigation\"),\n);\nconst NavigationLoader = (props: NavigationProps): ReactElement => (\n    <Navigation {...props} />\n);\nexport default NavigationLoader;\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport NavigationMegaItemsProps from \"./NavigationMegaItemsProps\";\n\nconst NavigationMegaItems = loadable(\n    (): Promise<DefaultComponent<NavigationMegaItemsProps>> =>\n        import(\n            /* webpackChunkName: \"NavigationMegaItems\" */ \"./NavigationMegaItems\"\n        ),\n);\nconst NavigationMegaItemsLoader = (\n    props: NavigationMegaItemsProps,\n): ReactElement => <NavigationMegaItems {...props} />;\nexport default NavigationMegaItemsLoader;\n","import loadable, { DefaultComponent } from \"@loadable/component\";\nimport React, { ReactElement } from \"react\";\n\nimport SearchOverlayProps from \"./SearchOverlayProps\";\n\nconst SearchOverlay = loadable(\n    (): Promise<DefaultComponent<SearchOverlayProps>> =>\n        import(/* webpackChunkName: \"SearchOverlay\" */ \"./SearchOverlay\"),\n);\nconst SearchOverlayLoader = (props: SearchOverlayProps): ReactElement => (\n    <SearchOverlay {...props} />\n);\nexport default SearchOverlayLoader;\n","export const convertToValidID = (text: string): string => {\n    return text.toLowerCase().replace(/^[^a-z]+|[^\\w:.-]+/gi, \"\");\n};\n","const getTestId = (id: string): string | undefined =>\n    process.env.NODE_ENV === \"test\" || process.env.NODE_ENV === \"development\"\n        ? id\n        : undefined;\nexport default getTestId;\n"],"names":["Wrapper","styled","div","attrs","withConfig","componentId","props","$open","MQ","FROM_M","FROM_XL","$allClosed","Container","GridContainer","columnGap","TopNav","ul","styleHeadingM","css","FROM_L","MainLinks","styleBodyM","$show","MainLink","NavLink","LoginButton","Button","SubNavWrapper","Description","Title","styleHeadingXL","styleHeadingL","Introduction","BodyM","SubNavContainer","linkStyle","Link","LinkButton","button","BackButton","TopNavItem","React","navId","item","open","subNavId","onClick","onKeyDown","navigateHandler","handleNavigate","useCallback","_","displayName","_jsx","children","items","length","_jsxs","title","event","className","Icon","icon","to","url","exact","activeClassName","SubNav","index","l18n","id","actionTheme","iconOnly","a11y","appendComponentWithNoBr","introduction","NavigationMegaItems","highlightedNavigation","isEqual","MainLinkItem","hoverSpan","isNavigation","NavigationMega","setActiveNav","activeNav","navigation","mainLinks","loginPageUrl","loginPageText","label","_navigation$items","_mainLinks$items","_navigation$items2","handleKeyDown","nav","key","preventDefault","handleClick","ThemeProvider","theme","as","map","convertToValidID","size","useScrollDirection","scrollDirection","setScrollDirection","useState","useEffect","lastScrollY","window","pageYOffset","updateScrollDirection","scrollY","direction","addEventListener","removeEventListener","backgroundColor","white","lightgray","blue","cyan","textColor","black","logoColor","activeWrapper","$menuOpen","$showMenu","$headerActive","Inner","SearchButton","MenuButton","LogoLink","SkipLinkWrapper","SkipLink","HashLink","Logo","startPageUrl","logoTitle","logoIcon","ariaLabel","gtmClickType","getTestId","Header","searchPageUrl","loginPageTitle","sites","visible","searchOverlayVisible","ref","useRef","dispatch","useDispatch","contentTheme","usePageContent","location","useLocation","scrollPosition","useScrollPosition","setScrollPosition","updateScrollPosition","headerPinned","setHeaderPinned","menuOpen","setMenuOpen","searchVisible","setSearchVisible","headerActive","setHeaderActive","mouseOver","setMouseOver","sendDataToGTM","useGTMDispatch","breakpoint","useBreakpoint","mobileMenuNavName","isSearchPage","pathname","openHandler","navText","click_text","closeHandler","undefined","toggleMenu","toggleNavHandler","setActiveNavHandler","leaveHandler","handleMenuBtnKeyDown","level","text","menu_level","handleClickOutside","toggleSearch","elem","document","getElementById","scrollIntoView","block","inline","logoSolidIcon","logoDefaultIcon","type","SHOW_HEADER","HIDE_HEADER","useEventListener","SHOW_SEARCH","HIDE_SEARCH","useOnClickOutside","useBrand","handleSearchClick","handleSearchKeyDown","role","onMouseEnter","onMouseLeave","onTouchEnd","$searchVisible","skipToContent","Navigation","searchLabel","LanguagePicker","inHeader","menu","expand","SearchOverlay","searchPlaceholder","loadable","resolved","chunkName","isReady","resolve","__webpack_modules__","importAsync","requireAsync","then","requireSync","__webpack_require__","LanguagePickerLoader","NavigationLoader","NavigationMegaItemsLoader","SearchOverlayLoader","toLowerCase","replace"],"sourceRoot":""}