{"version":3,"sources":["i18n.js","assets/athena-logo.svg","styles/mixins/color.js","styles/mixins/font.js","styles/mixins/size.js","styles/media.js","components/LinkButton/styled.jsx","components/LinkButton/index.jsx","components/Nav/Burger/styled.jsx","components/Nav/Burger/index.jsx","components/Nav/styled.jsx","components/Nav/index.jsx","components/Email/index.jsx","assets/logo-footer.svg","styles/image.js","components/Footer/styled.jsx","components/Footer/index.jsx","components/CoverImg/styled.jsx","components/CoverImg/index.jsx","components/Divider/styled.jsx","components/Divider/index.jsx","components/ProductPreview/styled.jsx","components/ProductPreview/index.jsx","components/IconCard/styled.jsx","components/IconCard/index.jsx","components/ProcessCard/styled.jsx","components/ProcessCard/index.jsx","components/Topic/styled.jsx","components/Topic/index.jsx","components/VideoCard/styled.jsx","components/VideoCard/index.jsx","components/Swipe/styled.jsx","components/Swipe/index.jsx","data/productPreview.js","data/skinFeel.js","assets/feather.svg","assets/24-hours.svg","assets/water-drop.svg","assets/beauty-treatment.svg","assets/uv-protection.svg","assets/formula.svg","assets/circles.svg","data/stability.js","data/process.js","assets/waterproof.svg","assets/dropper.svg","assets/shield.svg","assets/handle-with-care.svg","data/videos.js","assets/office/office_1.jpg","assets/office/office_2.jpg","assets/office/office_3.jpg","assets/office/office_4.jpg","assets/office/office_5.jpg","assets/office/office_6.jpg","assets/office/office_7.jpg","assets/office/office_8.jpg","assets/office/office_9.jpg","assets/office/office_10.jpg","assets/office/office_11.jpg","assets/office/office_12.jpg","assets/office/office_13.jpg","assets/office/office_14.jpg","data/office.js","pages/HomePage/styled.jsx","pages/HomePage/index.jsx","components/TechCard/styled.jsx","components/TechCard/index.jsx","assets/technology.gif","data/techInfo.js","pages/TechnoPage/styled.jsx","pages/TechnoPage/index.jsx","data/history.js","components/Timeline/styled.jsx","components/Timeline/index.jsx","components/Distributor/DistributorCard/styled.jsx","components/Distributor/DistributorCard/index.jsx","components/Distributor/styled.jsx","components/Distributor/index.jsx","data/about.js","assets/team-leader.svg","assets/customer.svg","data/certificates.js","data/distributors.js","pages/AboutPage/styled.jsx","pages/AboutPage/index.jsx","components/CommonMenu/styled.jsx","data/products.js","components/CommonMenu/index.jsx","components/ProductDetail/styled.jsx","components/ProductDetail/index.jsx","pages/ProductPage/styled.jsx","pages/ProductPage/index.jsx","styles/GlobalSheet.jsx","App.js","reportWebVitals.js","index.js"],"names":["i18n","use","Backend","initReactI18next","init","lng","backend","loadPath","fallbackLng","debug","process","ns","defaultNS","keySeparator","interpolation","escapeValue","formatSeparator","react","wait","otherColor","black","white","fontSizes","fontWeight","iconSizes","spaces","borders","mediaPhone","content","css","mediaTabPort","mediaTabLand","buttonStyled","LButton","styled","Link","Button","button","LinkButton","children","toElement","isLink","otherProps","to","smooth","duration","StyledBurger","div","open","Options","ul","Navigator","LanguageContainer","Lang","span","Burger","useState","setOpen","isTabPort","useMediaQuery","query","useTranslation","t","handleChangeLanguage","lang","changeLanguage","onClick","Container","Logo","img","Nav","src","Athena","alt","EmailHTML","name","email","phone","title","style","centerCrop","Img","ContentContainer","Body","Topic","Element","Info","Divider","Credit","formStyled","InputForm","input","TextArea","textarea","CreditWrapper","Footer","message","mailMe","setMailMe","isPhone","handleChange","event","target","value","handleSubmit","a","preventDefault","messageHtml","renderEmail","Email","axios","method","url","data","then","response","msg","alert","document","location","reload","width","height","border","onSubmit","type","placeholder","onChange","href","CoverImg","medium","small","srcSet","Line","$thickness","ImageWrapper","Image","Content","Title","h2","List","ListItem","li","Checked","HiBadgeCheck","ProductPreview","properties","id","map","item","index","$width","$height","$size","Describe","IconCard","describe","imgSize","ProcessCard","$color","color","VideoContainer","VideoCard","controls","wrapper","DotContainer","Dots","$isActive","Swipe","activeSlide","setActiveSlide","settings","dots","infinite","speed","slidesToShow","slidesToScroll","initialSlide","responsive","breakpoint","nextArrow","prevArrow","appendDots","customPaging","i","afterChange","current","previews","list","skinAdvantages","stabilities","background","backgroundSmall","processAdvantages","collections","officeImages","original","Of1","thumbnail","Of2","Of3","Of4","Of5","Of6","Of7","Of8","Of9","Of10","Of11","Of12","Of13","Of14","QuoteContainer","PrimaryTitle","h1","SecondaryTitle","Preposition","ProductSection","MyElement","ProductPreviewContainer","AdvantageSection","AdvantageBanner","AdvantageTitle","SkinFeelContainer","SubTopic","h3","SkinFeelList","IconCardWrapper","StabilityContainer","StabilityContent","StabilityList","p","props","order","ProcessContainer","ProcessContent","VideoSection","VideoContent","GallerySection","homeImage","HomePage","isBigDesktop","isTabLand","language","window","localStorage","i18nextLng","position","display","justifyContent","alignItems","minHeight","overflow","frameborder","allow","allowFullScreen","borderRadius","boxShadow","bgImageSrcSet","strength","bgImage","bgImageAlt","renderLayer","percentage","filter","light","items","arr","forEach","originalHeight","getImages","lazyLoad","autoPlay","showPlayButton","showNav","showFullscreenButton","Header","TechCard","info","Description","Explain","DetailSection","Gif","TechDetailSection","TechnoImage","TechnoPage","textAlign","TechnologyGif","timeline","date","TimelineContainer","Right","Event","Timeline","CardContainer","Card","AddressWrapper","DetailWrapper","IconWrapper","Name","DistributorCard","companies","company","teams","person","n","address","e","tel","fax","mobile","Region","CountriesContainer","CountryWrapper","CountryTitle","Distributor","region","information","country","countryArr","length","contact","missions","awards","distributorList","Word","MissionSection","MissionContainer","HistorySection","HistoryContent","CoreValueSection","CoreValueWrapper","CoreValueContent","DistributorTitle","DistributorSection","RegionContainer","CertificateSection","ImageContainer","aboutImage","AboutPage","alignSelf","MyMenu","Menu","MyMenuItem","MenuItem","MySubMenuItem","SubMenu","inci","product","skinFeel","waterRepel","performance","recommend","dose","video","oilRepel","special","subSeries","CommonMenu","menuMode","history","useHistory","handleClick","path","push","mode","ele","SubContent","DetailContainer","Detail","EachTopicContainer","RecommedListItem","ProductListContainer","ProductItem","ListContainer","CircleList","VscCircleOutline","CheckList","FcCheckmark","recommendFor","EM","LQ","P","PM","LS","ProductDetail","productId","useParams","setAutoPlay","find","obj","subObj","products","undefined","onReady","playing","SideMenu","ProductPage","GlobalStyle","createGlobalStyle","App","pathname","useLocation","useEffect","scrollTo","fallback","exact","component","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","ReactDOM","render","getElementById"],"mappings":"2LAIAA,IACGC,IAAIC,KACJD,IAAIE,KACJC,KAAK,CACJC,IAAK,KACLC,QAAS,CAEPC,SAAU,oCAEZC,YAAa,KACbC,OAAOC,EAEPC,GAAI,CAAC,gBACLC,UAAW,eACXC,cAAc,EACdC,cAAe,CACbC,aAAa,EACbC,gBAAiB,KAEnBC,MAAO,CACLC,MAAM,KAIGlB,EAAf,EAAeA,I,eC5BA,MAA0B,wC,+DCA5BmB,EACF,UADEA,EAEA,UAFAA,EAGL,UAGKC,EAAQ,UACRC,EAAQ,UCPRC,EACF,SADEA,EAGH,SAHGA,EAKH,SALGA,EAMH,SANGA,EAOH,SAPGA,EAQH,SARGA,EASH,SATGA,EAUH,SAVGA,EAWH,SAXGA,EAYH,SAZGA,EAaH,SAbGA,EAcH,SAIGC,EACL,MADKA,EAEJ,MAFIA,EAGF,MAHEA,EAIH,MAJGA,EAKD,MALCA,EAML,MCRKC,EAKH,OALGA,EAOH,OAGGC,EAKH,OALGA,EAOH,OAPGA,EASH,OATGA,EAUH,OAVGA,EAWH,OAXGA,EAYH,OAZGA,EAaH,MAMGC,EACF,MADEA,GAGH,M,oWC7CH,IAAMC,GAAa,SAACC,GAAD,OAAaC,YAAZ,KAErBD,IAKOE,GAAe,SAACF,GAAD,OAAaC,YAAZ,KAEvBD,IAKOG,GAAe,SAACH,GAAD,OAAaC,YAAZ,KAEvBD,I,qtBCdN,IAAMI,GAAeH,YAAH,KACHJ,EAEJJ,EAIWF,EACTM,EAITE,GAAWE,YAAA,KACEP,EACAG,EACFA,IAKSN,EACXA,GAIAc,GAAUC,YAAOC,OAAPD,CAAH,KAChBF,IAGSI,GAASF,IAAOG,OAAV,KACfL,ICjBWM,GAfI,SAAC,GAAyD,IAAvDC,EAAsD,EAAtDA,SAAUC,EAA4C,EAA5CA,UAA4C,IAAjCC,cAAiC,SAAjBC,EAAiB,iDAC1E,OACE,cAAC,WAAD,UACGD,EACC,cAACR,GAAD,CAASU,GAAIH,EAAWI,QAAM,EAACC,SAAU,IAAzC,SACGN,IAGH,cAACH,GAAD,2BAAYM,GAAZ,aACGH,Q,6yECDJ,IAAMO,GAAeZ,IAAOa,IAAV,KACdvB,EACCA,EAEHC,EACEA,EAKPK,GAAaD,YAAA,OAMbF,GAAWE,YAAA,KACFL,EACCA,IAIDA,EAEWJ,GAKL,qBAAG4B,KAAmB,gBAAkB,eAGxC,qBAAGA,KAAmB,mBAAqB,mBAC7C,qBAAGA,KAAmB,EAAI,KAGxB,qBAAGA,KAAmB,iBAAmB,cAEtDrB,GAAWE,YAAA,KACFL,KAKFyB,GAAUf,IAAOgB,GAAV,KAOhBpB,GAAaD,YAAA,KAIOV,EACLM,GAEF,qBAAGuB,KAAmB,gBAAkB,qBASzCvB,EAAqBA,EAC7BE,GAAWE,YAAA,KACDJ,EAAqBA,OAM1B0B,GAAYjB,YAAOC,IAAPD,CAAH,KACPZ,EACJF,EACPO,GAAWE,YAAA,KACEP,KAIJ8B,GAAoBlB,IAAOa,IAAV,MAIjBM,GAAOnB,IAAOoB,KAAV,KAEFhC,EAEKG,EAGCA,EAGjBK,GAAaD,YAAA,KACAP,KClDFiC,GA/CA,WAAO,IAAD,EACKC,oBAAS,GADd,mBACZR,EADY,KACNS,EADM,KAEbC,EAAYC,wBAAc,CAAEC,MAAO,uBAFtB,EAGCC,cAAZC,EAHW,EAGXA,EAAG9D,EAHQ,EAGRA,KACL+D,EAAuB,SAACC,GAC5BhE,EAAKiE,eAAeD,IAGtB,OACE,eAAC,WAAD,WACE,eAAClB,GAAD,CAAcE,KAAMA,EAAMkB,QAAS,kBAAMT,GAAST,IAAlD,UACE,wBACA,wBACA,2BAEF,eAACC,GAAD,CAASD,KAAMA,EAAf,UACE,6BACE,cAACG,GAAD,CAAWR,GAAG,IAAd,SAAmBmB,EAAE,gBAEvB,6BACE,cAACX,GAAD,CAAWR,GAAG,YAAd,SAA2BmB,EAAE,mBAE/B,6BACE,cAACX,GAAD,CAAWR,GAAG,cAAd,SAA6BmB,EAAE,sBAEjC,6BACE,cAACX,GAAD,CAAWR,GAAG,SAAd,SAAwBmB,EAAE,iBAE5B,6BACE,cAAC,GAAD,CAAYtB,UAAU,UAAtB,SAAiCsB,EAAE,mBAEpCJ,GACC,+BACE,cAACL,GAAD,CAAMa,QAAS,kBAAMH,EAAqB,OAA1C,gBACA,cAACV,GAAD,CAAMa,QAAS,kBAAMH,EAAqB,UAA1C,gCAILL,EAAY,KACX,eAACN,GAAD,WACE,cAACC,GAAD,CAAMa,QAAS,kBAAMH,EAAqB,OAA1C,gBACA,cAACV,GAAD,CAAMa,QAAS,kBAAMH,EAAqB,UAA1C,+BAhCQ,Q,uPCjBX,IAAMI,GAAYjC,IAAOa,IAAV,KAITtB,GAGA2C,GAAOlC,IAAOmC,IAAV,KACL5C,GCCG6C,GATH,WAEV,OACE,eAACH,GAAD,WACE,cAACC,GAAD,CAAMG,IAAG,UAAKC,GAAUC,IAAI,SAC5B,cAAC,GAAD,Q,8FCgBSC,GAvBG,SAAC,GAAsC,IAApCC,EAAmC,EAAnCA,KAAMC,EAA6B,EAA7BA,MAAOC,EAAsB,EAAtBA,MAAOtC,EAAe,EAAfA,SACvC,OACE,cAAC,SAAD,CAAOuC,MAAM,mBAAb,SACE,eAAC,QAAD,WACE,kEACA,uBACA,8BACE,sBAAMC,MAAO,CAAExD,WAAY,QAA3B,oBADF,IACsDoD,KAEtD,8BACE,sBAAMI,MAAO,CAAExD,WAAY,QAA3B,6BADF,IAC+DqD,KAE/D,8BACE,sBAAMG,MAAO,CAAExD,WAAY,QAA3B,wBADF,IAC0DsD,KAE1D,8BACE,sBAAME,MAAO,CAAExD,WAAY,QAA3B,sBADF,IACwDgB,WClBjD,OAA0B,wC,+RCElC,IAAMyC,GAAanD,YAAH,M,kgFCWhB,IAAMsC,GAAYjC,IAAOa,IAAV,KACTtB,EAAiBA,EAG1BM,GAAaF,YAAA,KACFJ,EAAiBA,IAE5BK,GAAaD,YAAA,KACFJ,EAAiBA,IAE5BE,GAAWE,YAAA,KACAJ,EAAiBA,KAInBwD,GAAM/C,IAAOmC,IAAV,KAEZW,GACArD,GAAWE,YAAA,QAKFqD,GAAmBhD,IAAOa,IAAV,KAIzBjB,GAAaD,YAAA,OAGbF,GAAWE,YAAA,QAKFsD,GAAOjD,IAAOa,IAAV,KACJtB,GAKA2D,GAAQlD,YAAOmD,UAAPnD,CAAH,KACHZ,EACIG,EACRN,EACMI,GAGJ+D,GAAOpD,IAAOa,IAAV,KACJtB,EACEH,GAIFiE,GAAUrD,IAAOa,IAAV,KAEM5B,EACdM,GAGC+D,GAAStD,IAAOa,IAAV,KACJzB,EAEAG,EAEXE,GAAWE,YAAA,KACEP,KAIXmE,GAAa5D,YAAH,KACMV,EACTM,EACMA,EACAC,EAKSP,EAGfC,EAKAA,GAKAsE,GAAYxD,IAAOyD,MAAV,KAClBF,IAGSG,GAAW1D,IAAO2D,SAAV,KAEjBJ,IAGSK,GAAgB5D,IAAOa,IAAV,MC4DXgD,GAnJA,WAAO,IAAD,EACSvC,mBAAS,CACnCmB,KAAM,GACNC,MAAO,GACPC,MAAO,GACPmB,QAAS,KALQ,mBACZC,EADY,KACJC,EADI,KAOXpC,EAAMD,cAANC,EACFJ,EAAYC,wBAAc,CAAEC,MAAO,uBACnCuC,EAAUxC,wBAAc,CAAEC,MAAO,uBAoBjCwC,EAAe,SAACC,GAAW,IAAD,EACNA,EAAMC,OAAtBC,EADsB,EACtBA,MAAO5B,EADe,EACfA,KACfuB,EAAU,2BAAKD,GAAN,mBAAetB,EAAO4B,MAG3BC,EAAY,yCAAG,WAAOH,GAAP,gBAAAI,EAAA,6DACnBJ,EAAMK,iBACAC,EAAcC,uBAClB,eAACC,GAAD,CAAWlC,KAAMsB,EAAOtB,KAAMC,MAAOqB,EAAOrB,MAAOC,MAAOoB,EAAOpB,MAAjE,UACG,IACAoB,EAAOD,YALO,SAQbc,KAAM,CACVC,OAAQ,OACRC,IAAK,oDACLC,KAAM,CACJtC,KAAMsB,EAAOtB,KACbgC,YAAaA,KAEdO,MAAK,SAACC,GACmB,YAAtBA,EAASF,KAAKG,KAChBC,MAAMvD,EAAE,yBACRwD,SAASC,SAASC,QAAO,IACM,SAAtBL,EAASF,KAAKG,KACvBC,MAAMvD,EAAE,yBApBO,2CAAH,sDAyBlB,OACE,eAAC,GAAD,WACE,cAACmB,GAAD,CAAKV,IAAKH,GAAMK,IAAI,SACpB,eAACS,GAAD,WACE,eAACC,GAAD,WACE,cAAC,GAAD,CAAOR,KAAK,UAAZ,SAAuBb,EAAE,oBACzB,eAACwB,GAAD,WACE,8BACE,cAAC,KAAD,MAFJ,2BAMA,eAACA,GAAD,WACE,8BACE,cAAC,KAAD,MAFJ,4BAMA,eAACA,GAAD,WACE,8BACE,cAAC,KAAD,MAEF,iCACE,wDACA,wEAIN,eAACH,GAAD,WACE,cAAC,GAAD,CAAOR,KAAK,UAAZ,SAAuBb,EAAE,oBACzB,eAACwB,GAAD,WACE,8BACE,cAAC,KAAD,MAFJ,yHAOA,wBACEf,IAAI,+RACJQ,MAAO,CAAE0C,MAvFbtB,EACK,QAELzC,EACK,QAEF,QAiF6BgE,OA9EhCvB,EACK,QAELzC,EACK,QAEF,QAwEkDiE,OAAQ,QACzD7C,MAAM,WAGV,eAACK,GAAD,WACE,cAAC,GAAD,CAAOR,KAAK,YAAZ,SAAyBb,EAAE,sBAC3B,sBAAM8D,SAAUpB,EAAhB,SACE,eAACrB,GAAD,WACE,cAACO,GAAD,CACEmC,KAAK,OACLlD,KAAK,OACLmD,YAAahE,EAAE,oBACfiE,SAAU3B,IAEZ,cAACV,GAAD,CACEmC,KAAK,QACLlD,KAAK,QACLmD,YAAahE,EAAE,qBACfiE,SAAU3B,IAEZ,cAACV,GAAD,CACEmC,KAAK,MACLlD,KAAK,QACLmD,YAAahE,EAAE,qBACfiE,SAAU3B,IAEZ,cAACR,GAAD,CACEkC,YAAahE,EAAE,mBACfiE,SAAU3B,EACVzB,KAAK,YAEP,cAAC,GAAD,CAAYkD,KAAK,SAASpF,QAAQ,EAAlC,SACGqB,EAAE,mCAMb,cAAC,GAAD,IACA,cAACgC,GAAD,UACE,eAACN,GAAD,oCAC2B,IACzB,mBAAGwC,KAAK,4BAAR,uC,qnBCpKH,IAAM/C,GAAM/C,IAAOmC,IAAV,KASZW,GACArD,GAAWE,YAAA,QAKFsC,GAAYjC,IAAOa,IAAV,MCRPkF,GARE,SAAC,GAAqC,IAAnCC,EAAkC,EAAlCA,OAAQC,EAA0B,EAA1BA,MAAO1D,EAAmB,EAAnBA,IAAIlC,EAAe,EAAfA,SACrC,OACE,eAAC,GAAD,WACE,cAAC,GAAD,CAAK6F,OAAM,UAAKF,EAAL,mBAAsBC,EAAtB,SAAoC5D,IAAK2D,EAAQzD,IAAKA,IAChElC,M,2ICHA,IAAM8F,GAAOnG,IAAOa,IAAV,KACLtB,GACD,qBAAE6G,YAA8B,QACjBnH,GCDXoE,GAHC,SAAC,GAAa,IAAZkC,EAAW,EAAXA,MAChB,OAAO,cAACY,GAAD,CAAMC,WAAYb,K,itCCIpB,IAAMtD,GAAYjC,YAAOC,IAAPD,CAAH,KAKXd,EACPO,GAAWE,YAAA,OAIaV,GAIfoH,GAAerG,IAAOa,IAAV,KAIrBpB,GAAWE,YAAA,QAKF2G,GAAQtG,IAAOmC,IAAV,KAEdW,IAGSyD,GAAUvG,IAAOa,IAAV,KACPtB,GAGAiH,GAAQxG,IAAOyG,GAAV,KACHrH,EACEC,EACNJ,EACQM,GAGNmH,GAAO1G,IAAOgB,GAAV,MAIJ2F,GAAW3G,IAAO4G,GAAV,KACFrH,GAGNsH,GAAU7G,YAAO8G,KAAP9G,CAAH,KACTf,EACOM,GC1BHwH,GAjBQ,SAAC,GAAkC,IAAhCnE,EAA+B,EAA/BA,MAAOoE,EAAwB,EAAxBA,WAAWC,EAAa,EAAbA,GAAG5E,EAAU,EAAVA,IACrCT,EAAMD,cAANC,EAER,OACE,eAAC,GAAD,CAAWnB,GAAE,oBAAewG,GAA5B,UACE,cAACZ,GAAD,UAAc,cAACC,GAAD,CAAOjE,IAAKA,EAAKE,IAAKK,MACpC,eAAC2D,GAAD,WACE,cAACC,GAAD,UAAQ5D,IACR,cAAC8D,GAAD,UACGM,EAAWE,KAAI,SAACC,EAAKC,GAAN,OACd,eAACT,GAAD,WAA2B,cAACE,GAAD,IAAWjF,EAAE,GAAD,OAAIuF,MAA3C,UAAkBC,gB,guBClBvB,IAAMnF,GAAYjC,IAAOa,IAAV,MACX,qBAAGwG,QAAuB,WACzB,qBAAGC,SAAyB,UAC3B/H,EAKTE,GAAWE,YAAA,QAKFoD,GAAM/C,IAAOmC,IAAV,MACL,qBAAGoF,OAAqB,QAChBhI,EACfuD,IAGS0E,GAAWxH,IAAOoB,KAAV,KACNhC,EACXQ,GAAaD,YAAA,KACAP,IAEbK,GAAWE,YAAA,KACEP,KCjBFqI,GAVE,SAAC,GAAgD,IAA9CpF,EAA6C,EAA7CA,IAAKE,EAAwC,EAAxCA,IAAKmF,EAAmC,EAAnCA,SAASnC,EAA0B,EAA1BA,MAAMC,EAAoB,EAApBA,OAAOmC,EAAa,EAAbA,QAC1C/F,EAAMD,cAANC,EAER,OACE,eAAC,GAAD,CAAWyF,OAAQ9B,EAAO+B,QAAS9B,EAAnC,UACE,cAAC,GAAD,CAAKnD,IAAKA,EAAKE,IAAKA,EAAKgF,MAAOI,IAChC,cAACH,GAAD,UAAW5F,EAAE8F,S,myBCLZ,IAAMzF,GAAYjC,IAAOa,IAAV,KAETtB,EAAiBA,EAERN,EAIlBW,GAAaD,YAAA,QAKJoD,GAAM/C,IAAOmC,IAAV,KAIG5C,EACfuD,GACAlD,GAAaD,YAAA,QAKJ6H,GAAWxH,IAAOoB,KAAV,KACNhC,EACEC,EACbO,GAAaD,YAAA,KACAP,KClBFwI,GAVK,SAAC,GAA4B,IAA1BvF,EAAyB,EAAzBA,IAAKE,EAAoB,EAApBA,IAAKmF,EAAe,EAAfA,SACvB9F,EAAMD,cAANC,EAER,OACE,eAAC,GAAD,WACE,cAAC,GAAD,CAAKS,IAAKA,EAAKE,IAAKA,IACpB,cAAC,GAAD,UAAWX,EAAE8F,S,mNCNZ,IAAMlB,GAAQxG,IAAOyG,GAAV,KACHrH,GACJ,qBAAGyI,QAAmB,UAAO3I,KACpCO,GAAWE,YAAA,KACEP,KCCF8D,GAPD,SAAC,GAAuC,IAArC7C,EAAoC,EAApCA,SAAUyH,EAA0B,EAA1BA,MAAStH,EAAiB,oCACnD,OACE,cAAC,GAAD,yBAAOqH,OAAQC,GAAWtH,GAA1B,aACGH,M,uPCFA,IAAM4B,GAAYjC,IAAOa,IAAV,MAKTkH,GAAiB/H,IAAOa,IAAV,KACdtB,GCQEyI,GAdG,SAAC,GAAkC,IAAhCvF,EAA+B,EAA/BA,KAAMqC,EAAyB,EAAzBA,IAAQtE,EAAiB,8BAClD,OACE,eAAC,GAAD,WACE,cAAC,KAAD,yBACEsE,IAAKA,GACDtE,GAFN,IAGEyH,UAAU,EACVC,QAASH,MAEX,sBAAMlF,MAAO,CAAEiF,MAAO,QAAtB,SAAiCrF,Q,qgBCThC,IAAM0F,GAAenI,IAAOa,IAAV,MAMZuH,GAAOpI,IAAOa,IAAV,KAGErB,IAEf,qBAAG6I,UAEC1I,YADK,KAEiBV,GAEtBU,YAJK,KAKiBR,MCmCfmJ,GAnDD,SAAC,GAAkB,IAAhBjI,EAAe,EAAfA,SAAe,EACQiB,mBAAS,GADjB,mBACvBiH,EADuB,KACVC,EADU,KAGxBC,EAAW,CACfC,MAAM,EACNC,UAAU,EACVC,MAAO,IACPC,aAAc,EACdC,eAAgB,EAChBC,aAAc,EACdC,WAAY,CACV,CACEC,WAAY,KACZR,SAAU,CACRI,aAAc,EACdC,eAAgB,IAGpB,CACEG,WAAY,IACZR,SAAU,CACRI,aAAc,EACdC,eAAgB,EAChBC,aAAc,IAGlB,CACEE,WAAY,IACZR,SAAU,CACRI,aAAc,EACdC,eAAgB,EAChBJ,MAAM,EACNQ,UAAW,cAAC,WAAD,IACXC,UAAW,cAAC,WAAD,QAKnB,OACE,cAAC,WAAD,UACE,cAAC,KAAD,2BACMV,GADN,IAEEW,WAAY,SAACV,GAAD,OAAU,cAACP,GAAD,UAAeO,KACrCW,aAAc,SAACC,GAAD,OAAO,cAAClB,GAAD,CAAMC,UAAWiB,IAAIf,KAC1CgB,YAAa,SAACC,GAAD,OAAahB,EAAegB,IAJ3C,SAMGnJ,QClDIoJ,GAAW,CACtB,CACE7G,MAAO,YACPqE,GAAI,KACJyC,KAAM,CACJ,+BACA,uCAEFrH,IAAK,mCAEP,CACEO,MAAO,YACPqE,GAAI,KACJyC,KAAM,CACJ,+BACA,uCAEFrH,IAAK,mCAEP,CACEO,MAAO,YACPqE,GAAI,KACJyC,KAAM,CACJ,+BACA,uCAEFrH,IAAK,oCClBIsH,GAAiB,CAC5B,CACEtH,ICVW,IAA0B,oCDWrCqF,SAAU,8BACVnF,IAAK,QAEP,CACEF,IEfW,IAA0B,qCFgBrCqF,SAAU,4BACVnF,IAAK,YAEP,CACEF,IGpBW,IAA0B,uCHqBrCqF,SAAU,oCACVnF,IAAK,gBAEP,CACEF,IIzBW,IAA0B,6CJ0BrCqF,SAAU,6BACVnF,IAAK,iBAEP,CAAEF,IK7BW,IAA0B,0CL6B5BqF,SAAU,0BAA2BnF,IAAK,aACrD,CACEF,IM/BW,IAA0B,oCNgCrCqF,SAAU,iCACVnF,IAAK,kBAEP,CAAEF,IOnCW,IAA0B,oCPmCxBqF,SAAU,kCAAmCnF,IAAK,eQnCtDqH,GAAc,CACzBC,WAAY,yCACZC,gBAAiB,+CACjBpK,QAAS,CACP,uCACA,oCACA,sCCDSqK,GAAoB,CAC/B,CACE1H,ICPW,IAA0B,uCDQrCqF,SAAU,sCACVnF,IAAK,cAEP,CACEF,IEZW,IAA0B,oCFarCqF,SAAU,kCACVnF,IAAK,WAEP,CACEF,IGjBW,IAA0B,mCHkBrCqF,SACE,+BACFnF,IAAK,UAEP,CACEF,IIvBW,IAA0B,6CJwBrCqF,SAAU,iCACVnF,IAAK,WKzBIyH,GAAc,CACzB,CACEvH,KAAM,oBACNqC,IAAK,gEAEP,CACErC,KAAM,mBACNqC,IAAK,gEAEP,CACErC,KAAM,iBACNqC,IAAK,gEAEP,CACErC,KAAM,iBACNqC,IAAK,iECfM,OAA0B,qCCA1B,OAA0B,qCCA1B,OAA0B,qCCA1B,OAA0B,qCCA1B,OAA0B,qCCA1B,OAA0B,qCCA1B,OAA0B,qCCA1B,OAA0B,qCCA1B,OAA0B,qCCA1B,OAA0B,sCCA1B,OAA0B,sCCA1B,OAA0B,sCCA1B,OAA0B,sCCA1B,OAA0B,sCCgB5BmF,GAAe,CACxB,CACIC,SAAUC,GACVC,UAAWD,IAEf,CACID,SAAUG,GACVD,UAAWC,IACb,CACEH,SAAUI,GACVF,UAAWE,IACb,CACEJ,SAAUK,GACVH,UAAWG,IACb,CACEL,SAAUM,GACVJ,UAAWI,IACb,CACEN,SAAUO,GACVL,UAAWK,IACb,CACEP,SAAUQ,GACVN,UAAWM,IACb,CACER,SAAUS,GACVP,UAAWO,IACb,CACET,SAAUU,GACVR,UAAWQ,IACb,CACEV,SAAUW,GACVT,UAAWS,IACb,CACEX,SAAUY,GACVV,UAAWU,IACb,CACEZ,SAAUa,GACVX,UAAWW,IACb,CACEb,SAAUc,GACVZ,UAAWY,IACb,CACEd,SAAUe,GACVb,UAAWa,K,4sLC/CZ,IAAMC,GAAiBlL,IAAOa,IAAV,KAChB1B,EAMAI,EAKPK,GAAaD,YAAA,OAIbF,GAAWE,YAAA,KAEFJ,KAKA4L,GAAenL,IAAOoL,GAAV,KACVhM,EACEC,EACbO,GAAaD,YAAA,KACAP,IAEbK,GAAWE,YAAA,KACEP,KAIJiM,GAAiBrL,IAAOyG,GAAV,KACZrH,EACEC,EACEE,EACfK,GAAaD,YAAA,KACAP,EACIG,IAEjBE,GAAWE,YAAA,KACEP,KAIJkM,GAActL,IAAOoB,KAAV,KACP/B,GAGJkM,GAAiBvL,IAAOa,IAAV,KAEftB,GAICiM,GAAYxL,YAAOmD,UAAPnD,CAAH,KACPZ,EACXQ,GAAaD,YAAA,KACAP,KAIJqM,GAA0BzL,IAAOa,IAAV,KACvBtB,EAICA,EACVK,GAAaD,YAAA,OAGbF,GAAWE,YAAA,QAKF+L,GAAmB1L,IAAOa,IAAV,KAEP5B,GAGT0M,GAAkB3L,IAAOa,IAAV,KAEftB,EAEFJ,EACWF,GAIT2M,GAAiB5L,IAAOyG,GAAV,KACZrH,EAEXK,GAAWE,YAAA,KACEP,KAIJyM,GAAoB7L,IAAOa,IAAV,KAEjBtB,EAGTE,GAAWE,YAAA,KAEAJ,KAIFuM,GAAW9L,IAAO+L,GAAV,KACN3M,EACXK,GAAWE,YAAA,KACEP,KAIJ4M,GAAehM,IAAOa,IAAV,KAEZtB,EAAiBA,EAG1BK,GAAaD,YAAA,KAGGJ,EACLA,EAAiBA,IAE5BE,GAAWE,YAAA,KACKJ,EACLA,KAIF0M,GAAkBjM,IAAOa,IAAV,KAChBtB,EAAiBA,EACzBE,GAAWE,YAAA,QAKFuM,GAAqBlM,IAAOa,IAAV,MAIlBsL,GAAmBnM,IAAOa,IAAV,KAEhBtB,EACFJ,EACPS,GAAaD,YAAA,OAGbF,GAAWE,YAAA,KAEAJ,KAIF6M,GAAgBpM,IAAOqM,EAAV,KACXjN,EACEC,EACDE,GACC,SAAC+M,GAAD,OAAWA,EAAMC,QACPtN,EACZM,EACXE,GAAWE,YAAA,KACEP,EACCG,KAILiN,GAAmBxM,IAAOa,IAAV,KAIhBtB,GAGAkN,GAAiBzM,IAAOa,IAAV,KAITtB,EACLA,EAETM,GAAaF,YAAA,OAGbC,GAAaD,YAAA,KAEFJ,IAEXE,GAAWE,YAAA,KAEAJ,KAIFmN,GAAe1M,IAAOa,IAAV,KACZtB,EAISL,GAGTyN,GAAe3M,IAAOa,IAAV,MAKZ+L,GAAiB5M,IAAOa,IAAV,KACdtB,EAAiBA,EAG1BK,GAAaD,YAAA,OAGbF,GAAWE,YAAA,KAEAJ,KC1LTsN,GACI,oCADJA,GAEG,0CAuMMC,GApME,WACf,IAAMC,EAAetL,wBAAc,CAAEC,MAAO,wBACtCsL,EAAYvL,wBAAc,CAAEC,MAAO,wBACnCF,EAAYC,wBAAc,CAAEC,MAAO,uBACnCuC,EAAUxC,wBAAc,CAAEC,MAAO,uBAJlB,EAKDC,cAAZC,EALa,EAKbA,EAAG9D,EALU,EAKVA,KAwBX,OACE,eAAC,WAAD,WACE,cAAC,GAAD,CAAUkI,OAAQ6G,GAAkB5G,MAAO4G,GAAiBtK,IAAI,QAAhE,SACE,eAAC2I,GAAD,WACqB,WAxBvBpN,EAAKmP,UACc,qBAAXC,QAA0BA,OAAOC,aAAaC,YACtD,MAuBM,eAAC,WAAD,WACE,cAACjC,GAAD,UAAevJ,EAAE,8BACjB,cAACyJ,GAAD,UAAiBzJ,EAAE,mCAGrB,eAAC,WAAD,WACE,eAACuJ,GAAD,WACGvJ,EAAE,sBAAuB,IAC1B,cAAC0J,GAAD,UAAc1J,EAAE,wBAAqC,IACpDA,EAAE,yBAEL,eAACyJ,GAAD,WACGzJ,EAAE,sBADL,IAC4B,cAAC0J,GAAD,gBACzB1J,EAAE,4BAKT,cAAC,GAAD,CAAYtB,UAAU,UAAtB,SAAiCsB,EAAE,4BAIvC,cAAC8K,GAAD,CACE7J,MAAO,CACLwK,SAAU,WACVC,QAAS,OACTC,eAAgB,SAChBC,WAAY,SACZC,UAAW,OACXC,SAAU,UAPd,SAUE,wBACE9K,MAAM,UACNP,IAAI,4EACJkD,MAAM,MACNC,OAAO,MACPmI,YAAY,IACZC,MAAM,4BACNC,iBAAe,EACfhL,MAAO,CACLiL,aAAc,OACdC,UAAW,mCAKjB,eAACxC,GAAD,WACE,cAACC,GAAD,CAAW/I,KAAK,UAAhB,SAA2Bb,EAAE,gCAC7B,cAAC,GAAD,IACA,cAAC6J,GAAD,UACGhC,GAASvC,KAAI,SAACC,EAAMC,GAAP,OACZ,cAAC,GAAD,CAEExE,MAAOuE,EAAKvE,MACZoE,WAAYG,EAAKuC,KACjBzC,GAAIE,EAAKF,GACT5E,IAAK8E,EAAK9E,KALZ,UACU8E,EAAKvE,MADf,YACwBwE,YAS9B,eAACsE,GAAD,WACE,cAACC,GAAD,UACE,cAACC,GAAD,UAAiBhK,EAAE,6BAErB,eAACiK,GAAD,WACE,cAAC,GAAD,UAAQjK,EAAE,qCACV,cAAC,GAAD,IACA,cAACkK,GAAD,UAAWlK,EAAE,0BACb,cAACoK,GAAD,UACGrC,GAAezC,KAAI,SAACC,EAAMC,GAAP,OAClB,cAAC6E,GAAD,UACE,cAAC,GAAD,CACE5J,IAAK8E,EAAK9E,IACVE,IAAK4E,EAAK5E,IACVmF,SAAUP,EAAKO,SACfC,QAAS1D,GAAW,SALxB,UAAyBkD,EAAK5E,IAA9B,YAAqC6E,YAW3C,cAAC8E,GAAD,UACE,cAAC,YAAD,CACE8B,cAAa,UAAKpE,GAAYC,WAAjB,mBAAsCD,GAAYE,gBAAlD,SACbmE,SAAU,IACVC,QAAStE,GAAYC,WACrBsE,WAAW,uBACXC,YAAa,SAACC,GAAD,OACX,qBACExL,MAAO,CACLwK,SAAU,WACVxD,WAAW,qBACXtE,MAAO,OACPC,OAAQ,WAXhB,SAgBE,eAAC2G,GAAD,WACE,cAAC,GAAD,CAAOrE,MAAM,UAAb,SACGlG,EAAE,qCAEJgI,GAAYlK,QAAQwH,KAAI,SAACC,EAAMC,GAAP,OACvB,cAACgF,GAAD,CACEG,MAAqB,IAAbnF,EAAQ,GADlB,SAIGxF,EAAE,GAAD,OAAIuF,KAJR,UAEUA,EAFV,YAEkBC,cAQ1B,eAACoF,GAAD,WACE,cAAC,GAAD,UAAQ5K,EAAE,mCACV,cAAC6K,GAAD,UACG1C,GAAkB7C,KAAI,SAACC,EAAMC,GAAP,OACrB,cAAC,GAAD,CAEE/E,IAAK8E,EAAK9E,IACVE,IAAK4E,EAAK5E,IACVmF,SAAUP,EAAKO,UAJjB,UACUP,EAAK5E,IADf,YACsB6E,eAS9B,eAACsF,GAAD,WACE,cAAC,GAAD,CAAO5E,MAAM,UAAb,SAAwBlG,EAAE,gBAC1B,cAAC,GAAD,IACA,cAAC+K,GAAD,UACE,cAAC,GAAD,UACG3C,GACEsE,QAAO,SAACnH,EAAMC,GAAP,OAAiBA,EAAQ,KAChCF,KAAI,SAACC,EAAMC,GAAP,OACH,cAAC,GAAD,CAEE3E,KAAM0E,EAAK1E,KACXqC,IAAKqC,EAAKrC,IACVS,MAAOtB,EAAU,QAAU,QAC3BuB,OAAQvB,EAAU,QAAU,QAC5BsK,OAAO,GANT,UACUpH,EAAK1E,KADf,YACuB2E,cAWjC,cAACwF,GAAD,UACE,cAAC,KAAD,CACE4B,MA1KU,WAChB,IAAMC,EAAG,aAAOxE,IAUhB,OATIhG,EACFwK,EAAIC,SAAQ,SAACvH,GAAD,OAAWA,EAAKwH,eAAiB,WACpCnN,EACTiN,EAAIC,SAAQ,SAACvH,GAAD,OAAWA,EAAKwH,eAAiB,WACpC3B,EACTyB,EAAIC,SAAQ,SAACvH,GAAD,OAAWA,EAAKwH,eAAiB,WACpC5B,GACT0B,EAAIC,SAAQ,SAACvH,GAAD,OAAWA,EAAKwH,eAAiB,WAExCF,EA+JMG,GACPC,UAAU,EACVC,UAAU,EACVC,gBAAgB,EAChBC,SAAS,EACTC,sBAAsB,QAhKd,S,qMC/EX,IAAMhN,GAAYjC,IAAOa,IAAV,KAETtB,GAGA2P,GAASlP,IAAOyG,GAAV,KACNxH,GCGEkQ,GATE,SAAC,GAAqB,IAAnBvM,EAAkB,EAAlBA,MAAOwM,EAAW,EAAXA,KACjBxN,EAAMD,cAANC,EAER,OAAQ,eAAC,GAAD,WACJ,cAACsN,GAAD,UAAStN,EAAEgB,KACX,uBACE,4BAAIhB,EAAEwN,SCTC,OAA0B,uCCA5BrK,GAAO,CAClB,CACEnC,MAAO,qBACPwM,KAAM,8BAER,CACExM,MAAO,uBACPwM,KAAM,gCAER,CACExM,MAAO,sBACPwM,KAAM,+BAER,CACExM,MAAO,0BACPwM,KAAM,mCAER,CACExM,MAAO,qBACPwM,KAAM,+B,6iFCfH,IAAMlE,GAAiBlL,IAAOa,IAAV,KAChB1B,EAMAI,EAKPK,GAAaD,YAAA,OAGbF,GAAWE,YAAA,KAEFJ,KAKA4L,GAAenL,IAAOoL,GAAV,KACVhM,EACEC,EACEE,EACfK,GAAaD,YAAA,KACAP,IAEbK,GAAWE,YAAA,KACEP,KAIJiQ,GAAcrP,IAAOqM,EAAV,KACL9M,EACfK,GAAaD,YAAA,KACAP,EACIG,IAEjBE,GAAWE,YAAA,KACEP,KAIJkQ,GAAUtP,IAAOqM,EAAV,KACL9M,EACXK,GAAaD,YAAA,KACAP,IAEbK,GAAWE,YAAA,KACEP,KAIJmQ,GAAgBvP,IAAOa,IAAV,KAGbtB,EACTM,GAAaF,YAAA,OAGbF,GAAWE,YAAA,KACAJ,EAAiBA,KAInBiQ,GAAMxP,IAAOmC,IAAV,KAGZ1C,GAAWE,YAAA,QAMF8P,GAAoBzP,IAAOa,IAAV,KAEjBtB,EAIKA,EACdM,GAAaF,YAAA,OAGbC,GAAaD,YAAA,OAGbF,GAAWE,YAAA,QCvET+P,GACI,oCADJA,GAEG,0CA4CMC,GAzCI,WAAO,IAChB/N,EAAMD,cAANC,EAER,OACE,eAAC,WAAD,WACE,cAAC,GAAD,CACEoE,OAAQ0J,GACRzJ,MAAOyJ,GACPnN,IAAI,QAHN,SAKE,eAAC,GAAD,WACE,cAAC,GAAD,UAAeX,EAAE,kCACjB,cAACyN,GAAD,UAAczN,EAAE,oCAChB,cAAC,GAAD,CAAYtB,UAAU,aAAtB,SACGsB,EAAE,kCAIT,cAAC2N,GAAD,UACE,eAAC,UAAD,CAAS9M,KAAK,aAAd,UACE,cAAC,GAAD,UAAQb,EAAE,8BACV,uBACA,cAAC0N,GAAD,UAAU1N,EAAE,gCACZ,uBACA,qBAAKiB,MAAO,CAAE+M,UAAW,UAAzB,SACE,cAACJ,GAAD,CAAKnN,IAAKwN,GAAetN,IAAI,gCAInC,cAACkN,GAAD,UACG1K,GAAKmC,KAAI,SAACC,EAAMC,GAAP,OACR,cAAC,GAAD,CACExE,MAAOuE,EAAKvE,MACZwM,KAAMjI,EAAKiI,MAFb,UAGUjI,EAAKvE,MAHf,YAGwBwE,WA9BhB,e,UC/BL0I,GAAW,CACtB,CACEC,KAAM,oBACN5L,MAAO,6BAET,CACE4L,KAAM,oBACN5L,MAAO,6BAET,CACE4L,KAAM,qBACN5L,MAAO,8BAET,CACE4L,KAAM,oBACN5L,MAAO,8B,upDCXJ,IAAM6L,GAAoBhQ,IAAOa,IAAV,KAON5B,GAOX+D,GAAmBhD,IAAOa,IAAV,KAChBtB,EAAiBA,EAOjBD,EACCA,EACUL,EAMpBQ,GAAWE,YAAA,KACAJ,EAAiBA,KAInB0Q,GAAQjQ,IAAOa,IAAV,KAYZpB,GAAWE,YAAA,QAMJ4G,GAAUvG,IAAOa,IAAV,MAOPqO,GAASlP,IAAOyG,GAAV,KACfhH,GAAWE,YAAA,KACEP,KAIJ8Q,GAAQlQ,IAAOqM,EAAV,KACd5M,GAAWE,YAAA,KACEP,KCzCF+Q,GAnBE,WAAO,IACdvO,EAAMD,cAANC,EAER,OACE,cAACoO,GAAD,UACGF,GAAS5I,KAAI,SAACC,EAAKC,GAAN,OACZ,cAAC,GAAD,UACE,cAAC6I,GAAD,UACE,eAAC,GAAD,WACE,cAAC,GAAD,UAASrO,EAAEuF,EAAK4I,QAChB,uBACA,cAACG,GAAD,UAAQtO,EAAEuF,EAAKhD,eALrB,UAA0BgD,EAAK4I,KAA/B,YAAuC3I,U,ksDCRxC,IAAMgJ,GAAgBpQ,IAAOa,IAAV,KAGbtB,GAIA8Q,GAAOrQ,IAAOa,IAAV,KAGErB,EAEND,EACDA,EAGgBN,GAIfiQ,GAASlP,IAAOyG,GAAV,KACJrH,EACEC,EAEbI,GAAWE,YAAA,KACEP,KAIJ4D,GAAmBhD,IAAOa,IAAV,KAEVtB,GAKN+Q,GAAiBtQ,IAAOa,IAAV,KACXtB,GAGHgR,GAAgBvQ,IAAOa,IAAV,KAEPtB,GAGNiR,GAAcxQ,IAAOa,IAAV,KACNtB,GAGLkR,GAAOzQ,IAAOqM,EAAV,KACFjN,EACEC,EAEbI,GAAWE,YAAA,KACEP,KAIJuF,GAAQ3E,IAAOuE,EAAV,KACHnF,EACJH,EAEPQ,GAAWE,YAAA,KACEP,KAIJmH,GAAUvG,IAAOoB,KAAV,KACLhC,GCmBAsR,GA9ES,SAAC,GAAmB,IAAjBC,EAAgB,EAAhBA,UACzB,OACE,cAACP,GAAD,UACGO,EAAUzJ,KAAI,SAACC,EAAMC,GAAP,OACb,eAACiJ,GAAD,WACGlJ,EAAKyJ,SAAW,cAAC,GAAD,UAASzJ,EAAKyJ,UAC9BzJ,EAAK0J,MAAM3J,KAAI,SAAC4J,EAAQxH,GAAT,OACd,eAAC,GAAD,WAC0B,kBAAhBwH,EAAOrO,KACbqO,EAAOrO,KAAKyE,KAAI,SAAC6J,EAAGzH,GAAJ,OAAU,cAACmH,GAAD,UAAeM,GAAJA,MAErC,cAACN,GAAD,UAAOK,EAAOrO,OAEhB,cAAC6N,GAAD,UACGQ,EAAOE,SACN,eAACT,GAAD,WACE,cAACC,GAAD,UACE,cAAC,KAAD,MAEF,cAAC,GAAD,UAAUM,EAAOE,eAItBF,EAAOpO,OACN,cAAC,WAAD,UAC6B,kBAAjBoO,EAAOpO,MACZoO,EAAOpO,MAAMwE,KAAI,SAAC+J,EAAG3H,GAAJ,OAChB,eAACiH,GAAD,WACE,cAACC,GAAD,UACE,cAAC,KAAD,MAEF,cAAC,GAAD,CAAO1K,KAAI,iBAAYmL,GAAvB,SAA6BA,MAJ/B,UAAuBA,EAAvB,YAA4B3H,OAQ5B,eAACiH,GAAD,WACE,cAACC,GAAD,UACE,cAAC,KAAD,MAEJ,cAAC,GAAD,CAAO1K,KAAI,iBAAYgL,EAAOpO,OAA9B,SACGoO,EAAOpO,aAMnBoO,EAAOI,KACN,eAACX,GAAD,WACE,cAACC,GAAD,UACE,cAAC,KAAD,MAEF,eAAC,GAAD,mBAAeM,EAAOI,UAGzBJ,EAAOK,KACN,eAACZ,GAAD,WACE,cAACC,GAAD,UACE,cAAC,KAAD,MAEF,eAAC,GAAD,mBAAeM,EAAOK,UAGzBL,EAAOM,QACN,eAACb,GAAD,WACE,cAACC,GAAD,UACE,cAAC,KAAD,MAEF,eAAC,GAAD,sBAAkBM,EAAOM,eA5D/B,UAA0BN,EAAOrO,KAAjC,YAAyC6G,SAHlClC,S,0pCCnBZ,IAAMnF,GAAYjC,IAAOa,IAAV,MAOTwQ,GAASrR,IAAOa,IAAV,KAEJzB,EACEC,EACNJ,EAMoBA,EAIXM,EAGDA,EAEfE,GAAWE,YAAA,KACEP,KAIJkS,GAAqBtR,IAAOa,IAAV,KAMlBtB,EAAiBA,GAGjBgS,GAAiBvR,IAAOa,IAAV,KAENtB,GAIRiS,GAAexR,IAAOyG,GAAV,KACVrH,EACEC,EAEbI,GAAWE,YAAA,KACEP,KCRFqS,GAnCK,SAAC,GAAc,IAAZrC,EAAW,EAAXA,KACbxN,EAAMD,cAANC,EAeR,OACE,cAAC,GAAD,UACGwN,EAAKlI,KAAI,SAACwK,EAAQpI,GAAT,OACR,eAAC,WAAD,WACE,cAAC+H,GAAD,UAASzP,EAAE8P,EAAOA,UAClB,cAACJ,GAAD,UACGI,EAAOC,YAAYzK,KAAI,SAAC0K,EAASxK,GAAV,OACtB,eAACmK,GAAD,WACE,cAACC,GAAD,WAtBUK,EAsBoBD,EAAQA,QArBtCC,EAAWC,OACb,EACDD,EAAW3K,KAAI,SAACC,EAAMC,GAC3B,OACE,iCACGxF,EAAEuF,GADL,IACY,6BAKT,+BAAOvF,EAAEiQ,QAYN,cAAC,GAAD,CAAiBlB,UAAWiB,EAAQG,YAFtC,UAAwBH,EAAQA,QAAhC,YAA2CxK,IArBhC,IAACyK,SAiBlB,UAAkBH,EAAOA,OAAzB,YAAmCpI,UC5B9B0I,GAAW,CACtB,CACE3P,ICLW,IAA0B,wCDMrCE,IAAK,OACLmF,SAAU,sBAEZ,CACErF,IEVW,IAA0B,qCFWrCE,IAAK,WACLmF,SAAU,2BGZDuK,GAAS,CACpB,CACEjM,OAAQ,wCACRC,MAAO,8CACP1D,IAAK,iBAEP,CACEyD,OAAQ,wCACRC,MAAO,8CACP1D,IAAK,kBCTI2P,GAAkB,CAC7B,CACER,OAAQ,yBACRC,YAAa,CACX,CACEC,QAAS,CAAC,2BACVG,QAAS,CACP,CACEnB,QAAS,2CACTC,MAAO,CACL,CACEpO,KAAM,kBACNC,MAAO,wBACPsO,QACE,uHACFE,IAAK,yCAMf,CACEU,QAAS,CAAC,4BACVG,QAAS,CACP,CACEnB,QAAS,2BACTC,MAAO,CACL,CACEpO,KAAM,kBACNC,MAAO,yBACPsO,QACE,yEACFE,IAAK,kBACLC,IAAK,uBAMf,CACES,QAAS,CAAC,8BACVG,QAAS,CACP,CACEnB,QAAS,yBACTC,MAAO,CACL,CACEpO,KAAM,YACNC,MAAO,qBACPsO,QACE,sEACFE,IAAK,gBACLE,OAAQ,gBACRD,IAAK,qBAMf,CACES,QAAS,CAAC,iCACVG,QAAS,CACP,CACEnB,QAAS,uBACTC,MAAO,CACL,CACEpO,KAAM,eACNC,MAAO,+BACPsO,QACE,iEACFE,IAAK,4BACLC,IAAK,sBAMf,CACES,QAAS,CAAC,+BACVG,QAAS,CACP,CACEnB,QAAS,wBACTC,MAAO,CACL,CACEpO,KAAM,0BACNC,MAAO,2BACPsO,QACE,uHACFE,IAAK,uBAQnB,CACEQ,OAAQ,2BACRC,YAAa,CACX,CACEC,QAAS,CACP,0BACA,2BACA,4BAEFG,QAAS,CACP,CACEnB,QAAS,YACTC,MAAO,CACL,CACEpO,KAAM,oBACNC,MAAO,4BACPsO,QAAS,oDACTE,IAAK,kBACLC,IAAK,uBAMf,CACES,QAAS,CACP,gCACA,2BACA,6BAEFG,QAAS,CACP,CACEnB,QAAS,wBACTC,MAAO,CACL,CACEpO,KAAM,CAAC,mBAAoB,wBAC3BC,MAAO,CAAC,kBAAmB,qBAC3BsO,QAAS,mCACTE,IAAK,+B,k4HC1Hd,IAAMhG,GAAiBlL,IAAOa,IAAV,KAChB1B,EAQPS,GAAaD,YAAA,OAIbF,GAAWE,YAAA,QAKFwS,GAAOnS,IAAOoL,GAAV,KACYnM,EACdG,EACEC,EAGAD,EACXQ,GAAaD,YAAA,KACAP,IAGfQ,GAAaD,YAAA,KACAP,KAKJgT,GAAiBpS,IAAOa,IAAV,KAGdtB,GAKA8S,GAAmBrS,IAAOa,IAAV,KAChBtB,EAGTE,GAAWE,YAAA,KAEAJ,KAIF+S,GAAiBtS,IAAOa,IAAV,KAEL5B,EACTM,GAGAgT,GAAiBvS,IAAOa,IAAV,KAGvBpB,GAAWE,YAAA,QAKF6S,GAAmBxS,IAAOa,IAAV,KAGhBtB,EAGTK,GAAaD,YAAA,OAGbF,GAAWE,YAAA,KAEAJ,EAEEH,KAIJqT,GAAmBzS,IAAOa,IAAV,KAML5B,EAElBQ,GAAWE,YAAA,QAMJ+S,GAAmB1S,IAAOqM,EAAV,KACb9M,GAGHoT,GAAmB3S,IAAOoL,GAAV,KACdhM,EACEC,EAEbI,GAAWE,YAAA,KACEP,KAIJwT,GAAqB5S,IAAOa,IAAV,KACT5B,EAETM,EACTE,GAAWE,YAAA,KACAJ,EAAiBA,KAInBsT,GAAkB7S,IAAOa,IAAV,KAEftB,EAAiBA,EAE1BM,GAAaF,YAAA,OAGbF,GAAWE,YAAA,KACAJ,KAIFuT,GAAqB9S,IAAOa,IAAV,KAElBtB,GAIAwT,GAAiB/S,IAAOa,IAAV,KAEdtB,EACCA,EAGVE,GAAWE,YAAA,QAKFoD,GAAM/C,IAAOmC,IAAV,KAGZW,GACAlD,GAAaD,YAAA,QClIXqT,GACI,qCADJA,GAEG,2CAyFMC,GAtFG,WAChB,IAAMhP,EAAUxC,wBAAc,CAAEC,MAAO,uBAC/BE,EAAMD,cAANC,EAER,OACE,eAAC,WAAD,WACE,cAAC,YAAD,CACEoM,cAAa,UAAKgF,GAAL,mBAAiCA,GAAjC,SACb/E,SAAU,IACVC,QAAS8E,GACT7E,WAAW,qBACXC,YAAa,SAACC,GAAD,OACX,qBACExL,MAAO,CACLwK,SAAU,WACVxD,WAAW,qBACXtE,MAAO,OACPC,OAAQ,WAXhB,SAgBE,qBAAK3C,MAAO,CAAE2C,OAAQ,OAAQD,MAAO,OAAQ8H,SAAU,YAAvD,SACE,cAAC,GAAD,UACE,cAAC8E,GAAD,UAAOvQ,EAAE,6BAIf,eAACwQ,GAAD,WACE,cAAC,GAAD,UAAQxQ,EAAE,yBACV,cAAC,GAAD,IACA,cAACyQ,GAAD,UACGL,GAAS9K,KAAI,SAACC,EAAMC,GAAP,OACZ,cAAC,GAAD,CAEE/E,IAAK8E,EAAK9E,IACVE,IAAK4E,EAAK5E,IACVmF,SAAUP,EAAKO,SACfnC,MAAOtB,EAAU,QAAU,QAC3BuB,OAAO,OACPmC,QAAS1D,EAAU,MAAQ,OAP7B,UACUkD,EAAK5E,IADf,YACsB6E,YAW5B,cAACkL,GAAD,UACE,eAACC,GAAD,WACE,cAAC,GAAD,UAAQ3Q,EAAE,yBACV,uBACA,cAAC,GAAD,SAGJ,eAAC4Q,GAAD,WACE,cAAC,GAAD,CAAO3P,MAAO,CAAEqQ,UAAW,UAA3B,SAAwCtR,EAAE,sBAC1C,eAAC6Q,GAAD,WACE,cAACC,GAAD,UAAmB9Q,EAAE,yBACrB,cAAC8Q,GAAD,UAAmB9Q,EAAE,0BACrB,cAAC8Q,GAAD,UAAmB9Q,EAAE,qBACrB,cAAC8Q,GAAD,UAAmB9Q,EAAE,uBACrB,cAAC8Q,GAAD,UAAmB9Q,EAAE,8BAGzB,eAACgR,GAAD,WACE,cAACD,GAAD,UAAmB/Q,EAAE,6BACrB,cAACiR,GAAD,UACE,cAAC,GAAD,CAAazD,KAAM8C,UAGvB,eAACY,GAAD,WACE,cAAC,GAAD,UAAQlR,EAAE,uBACV,cAACmR,GAAD,UACGd,GAAO/K,KAAI,SAACC,EAAMC,GAAP,OACV,cAAC,KAAD,UACE,cAAC,GAAD,CAEElB,OAAM,UAAKiB,EAAKnB,OAAV,mBAA2BmB,EAAKlB,MAAhC,SACN5D,IAAK8E,EAAKnB,OACVzD,IAAK4E,EAAK5E,KAJZ,UACU4E,EAAK5E,IADf,YACsB6E,gBArElB,Y,yhBCxCX,IAAM+L,GAASnT,YAAOoT,KAAPpT,CAAH,KACGf,GAKToU,GAAarT,YAAOsT,KAAPtT,CAAH,KACDf,EAIEA,GAIXsU,GAAgBvT,YAAOwT,KAAPxT,CAAH,KACJf,GCpBT8F,GAAO,CAClB,CACEtC,KAAM,YACNwE,GAAI,KACJwM,KAAM,4BACNC,QAAS,CACP,kBACA,mBACA,mBACA,mBACA,oBACA,cACA,qBACA,uBACA,eACA,sBAEFC,SAAU,kBACVC,WAAY,mBACZ9L,MAAO,mBACP+L,YAAa,yBACbC,UAAW,CAAC,KAAM,KAAM,IAAK,MAC7BC,KAAM,SACNC,MAAO,gEAET,CACEvR,KAAM,YACNwE,GAAI,KACJwM,KAAM,qDACNC,QAAS,CACP,kBACA,mBACA,mBACA,mBACA,oBACA,cACA,qBACA,uBACA,eACA,sBAEFC,SAAU,kBACVC,WAAY,mBACZ9L,MAAO,mBACP+L,YAAa,yBACbC,UAAW,CAAC,KAAM,KAAM,IAAK,MAC7BC,KAAM,SACNC,MAAO,gEAET,CACEvR,KAAM,YACNwE,GAAI,KACJwM,KAAM,YACNC,QAAS,CACP,kBACA,mBACA,mBACA,mBACA,oBACA,cACA,qBACA,uBACA,qBACA,iBACA,kBAEFC,SAAU,kBACVC,WAAY,mBACZ9L,MAAO,mBACP+L,YAAa,yBACbC,UAAW,CAAC,KAAM,IAAK,MACvBC,KAAM,UAER,CACEtR,KAAM,YACNwE,GAAI,KACJwM,KAAM,cACNC,QAAS,CACP,kBACA,mBACA,mBACA,mBACA,oBACA,cACA,qBACA,uBACA,eACA,kBAEFC,SAAU,kBACVC,WAAY,mBACZ9L,MAAO,mBACP+L,YAAa,yBACbC,UAAW,CAAC,KAAM,IAAK,MACvBC,KAAM,UAER,CACEtR,KAAM,aACNwE,GAAI,MACJwM,KAAM,wBACNC,QAAS,CACP,mBACA,oBACA,oBACA,oBACA,qBACA,eACA,sBACA,yBAEFC,SAAU,mBACVC,WAAY,oBACZ9L,MAAO,oBACP+L,YAAa,0BACbC,UAAW,CAAC,KAAM,KAClBC,KAAM,UAER,CACEtR,KAAM,eACNwE,GAAI,KACJwM,KAAM,0EACNC,QAAS,CACP,qBACA,sBACA,sBACA,sBACA,uBACA,iBACA,wBACA,2BAEFC,SAAU,oBACVC,WAAY,qBACZ9L,MAAO,qBACP+L,YAAa,2BACbC,UAAW,CA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","file":"static/js/main.93148026.chunk.js","sourcesContent":["import i18n from \"i18next\";\nimport Backend from \"i18next-xhr-backend\";\nimport { initReactI18next } from \"react-i18next\";\n\ni18n\n .use(Backend)\n .use(initReactI18next)\n .init({\n lng: \"en\",\n backend: {\n /* translation file path */\n loadPath: \"/assets/i18n/{{ns}}/{{lng}}.json\",\n },\n fallbackLng: \"en\",\n debug: process.env.NODE_ENV === \"development\",\n /* can have multiple namespace, in case you want to divide a huge translation into smaller pieces and load them on demand */\n ns: [\"translations\"],\n defaultNS: \"translations\",\n keySeparator: false,\n interpolation: {\n escapeValue: false,\n formatSeparator: \",\",\n },\n react: {\n wait: true,\n },\n });\n\nexport default i18n;\n","export default __webpack_public_path__ + \"static/media/athena-logo.e44c8800.svg\";","export const otherColor = {\n primary: \"#AD974F\",\n secondary: \"#8E793E\",\n gray: \"#EAEAEA\",\n};\n\nexport const black = \"#231F20\";\nexport const white = \"#F4F4F4\";\n","export const fontSizes = {\n large10: \"7.2rem\",\n large9: \"6.4rem\",\n large8: \"4.8rem\",\n large7: \"4.0rem\",\n large6: \"3.6rem\",\n large5: \"3.2rem\",\n large4: \"2.8rem\",\n large3: \"2.4rem\",\n large2: \"2.0rem\",\n large1: \"1.8rem\",\n normal: \"1.6rem\",\n small1: \"1.4rem\",\n small2: \"1.2rem\",\n small3: \"1.0rem\",\n small4: \".8rem\",\n};\n\nexport const fontWeight = {\n thin: \"100\",\n light: \"300\",\n regular: \"400\",\n medium: \"500\",\n semiBold: \"600\",\n bold: \"700\",\n black: \"900\",\n};\n","export const grid = {\n gutterWidth: 16,\n};\n\nexport const lineHeights = {\n large5: \"44px\",\n large4: \"40px\",\n large3: \"36px\",\n large2: \"32px\",\n large1: \"28px\",\n normal: \"24px\",\n small1: \"20px\",\n small2: \"16px\",\n small3: \"14px\",\n};\n\nexport const iconSizes = {\n extraLarge2: \"295px\",\n extraLarge1: \"205px\",\n large3: \"128px\",\n large2: \"64px\",\n large1: \"32px\",\n medium: \"24px\",\n normal: \"16px\",\n};\n\nexport const spaces = {\n large12: \"200px\",\n large11: \"160px\",\n large10: \"144px\",\n large9: \"128px\",\n large8: \"96px\",\n large7: \"80px\",\n large6: \"64px\",\n large5: \"48px\",\n large4: \"32px\",\n large3: \"24px\",\n large2: \"16px\",\n large1: \"12px\",\n normal: \"8px\",\n small1: \"4px\",\n small2: \"2px\",\n small3: \"1px\",\n};\n\nexport const borders = {\n default: \"4px\",\n extraRound: \"16px\",\n circle: \"50%\",\n round: \"12px\",\n};\n","import { css } from \"styled-components\";\n\n//600px\nexport const mediaPhone = (content) => css`\n @media (max-width: 37.5em) {\n ${content}\n }\n`;\n\n//900px\nexport const mediaTabPort = (content) => css`\n @media (max-width: 56.25em) {\n ${content}\n }\n`;\n\n//1200px\nexport const mediaTabLand = (content) => css`\n @media (max-width: 75em) {\n ${content}\n }\n`;\n\n//1800px\nexport const mediaBigDesktop = (content) => css`\n @media (max-width: 112.5em) {\n ${content}\n }\n`;\n","import styled,{css} from \"styled-components\";\nimport { Link } from \"react-scroll\";\nimport { spaces, white, otherColor, fontSizes } from \"../../styles/mixins\";\nimport { mediaPhone } from \"../../styles/media\";\n\nconst buttonStyled = css`\n min-width: ${spaces.large8};\n width: auto;\n color: ${white};\n text-transform: uppercase;\n display: flex;\n justify-content: center;\n background-color: ${otherColor.primary};\n padding: ${spaces.large1};\n cursor: pointer;\n border: 2px solid transparent;\n transition: all 0.2s;\n ${mediaPhone(css`\n font-size: ${fontSizes.small1};\n min-width: ${spaces.large4};\n padding: ${spaces.normal};\n `)}\n\n &:hover {\n background-color: transparent;\n border: 2px solid ${otherColor.primary};\n color: ${otherColor.primary};\n }\n`;\n\nexport const LButton = styled(Link)`\n ${buttonStyled}\n`;\n\nexport const Button = styled.button`\n ${buttonStyled}\n`;\n","import {Fragment} from \"react\";\nimport { LButton,Button } from \"./styled\";\n\nconst LinkButton = ({ children, toElement, isLink=true, ...otherProps }) => {\n return (\n \n {isLink ? (\n \n {children}\n \n ) : (\n \n )}\n \n );\n};\nexport default LinkButton;\n","import styled, { css } from \"styled-components\";\nimport { Link } from \"react-router-dom\";\nimport {\n fontSizes,\n black,\n spaces,\n iconSizes,\n otherColor,\n} from \"../../../styles/mixins\";\nimport { mediaTabPort, mediaPhone } from \"../../../styles/media\";\n\nexport const StyledBurger = styled.div`\n width: ${iconSizes.large1};\n height: ${iconSizes.large1};\n position: fixed;\n top: ${spaces.large4};\n right: ${spaces.large1};\n display: none;\n z-index: 888;\n cursor: pointer;\n\n ${mediaTabPort(css`\n display: flex;\n justify-content: space-around;\n flex-flow: column nowrap;\n `)}\n\n ${mediaPhone(css`\n width: ${iconSizes.normal};\n height: ${iconSizes.normal};\n `)}\n\n div {\n width: ${iconSizes.large1};\n height: 0.25rem;\n background-color: ${black};\n border-radius: 10px;\n transform-origin: 1px;\n transition: all 0.3s linear;\n &:nth-child(1) {\n transform: ${({ open }) => (open ? \"rotate(45deg)\" : \"rotate(0)\")};\n }\n &:nth-child(2) {\n transform: ${({ open }) => (open ? \"translateX(100%)\" : \"translateX(0)\")};\n opacity: ${({ open }) => (open ? 0 : 1)};\n }\n &:nth-child(3) {\n transform: ${({ open }) => (open ? \"rotate(-45deg)\" : \"rotate(0)\")};\n }\n ${mediaPhone(css`\n width: ${iconSizes.normal};\n `)}\n }\n`;\n\nexport const Options = styled.ul`\n width: 50%;\n list-style: none;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n ${mediaTabPort(css`\n align-items: flex-start;\n flex-direction: column;\n justify-content: normal;\n background-color: ${otherColor.gray};\n padding-top: ${spaces.large4};\n position: fixed;\n transform: ${({ open }) => (open ? \"translateX(0)\" : \"translateX(100%)\")};\n top: 0;\n right: 0;\n width: 40vw;\n height: 100vh;\n z-index: 777;\n transition: transform 0.3s ease-in-out;\n\n li {\n margin: ${spaces.large4} 0 0 ${spaces.large4};\n ${mediaPhone(css`\n margin: ${spaces.large2} 0 0 ${spaces.large2};\n `)}\n }\n `)}\n`;\n\nexport const Navigator = styled(Link)`\n font-size: ${fontSizes.large1};\n color: ${black};\n ${mediaPhone(css`\n font-size: ${fontSizes.small1};\n `)}\n`;\n\nexport const LanguageContainer = styled.div`\n margin: auto 0 auto auto;\n`\n\nexport const Lang = styled.span`\n cursor: pointer;\n font-size: ${fontSizes.normal};\n &:not(:last-child) {\n margin-right: ${spaces.normal};\n &::after {\n content: \"|\";\n margin-left: ${spaces.normal};\n }\n }\n ${mediaTabPort(css`\n font-size: ${fontSizes.small1};\n `)}\n`;\n\n","import { useState, Fragment } from \"react\";\nimport { useMediaQuery } from \"react-responsive\";\nimport { useTranslation } from \"react-i18next\";\nimport LinkButton from \"../../LinkButton\";\nimport {\n StyledBurger,\n Options,\n Navigator,\n LanguageContainer,\n Lang,\n} from \"./styled\";\n\nconst Burger = () => {\n const [open, setOpen] = useState(false);\n const isTabPort = useMediaQuery({ query: \"(max-width: 900px)\" });\n const { t, i18n } = useTranslation();\n const handleChangeLanguage = (lang) => {\n i18n.changeLanguage(lang);\n };\n\n return (\n \n setOpen(!open)}>\n
\n
\n
\n \n \n
  • \n {t(\"nav.home\")}\n
  • \n
  • \n {t(\"nav.product\")}\n
  • \n
  • \n {t(\"nav.technology\")}\n
  • \n
  • \n {t(\"nav.about\")}\n
  • \n
  • \n {t(\"nav.contact\")}\n
  • \n {isTabPort && (\n
  • \n handleChangeLanguage(\"en\")}>EN\n handleChangeLanguage(\"zh-hk\")}>中文\n
  • \n )}\n
    \n {isTabPort ? null : (\n \n handleChangeLanguage(\"en\")}>EN\n handleChangeLanguage(\"zh-hk\")}>中文\n \n )}\n \n );\n};\nexport default Burger;\n","import styled from \"styled-components\";\n\nimport { spaces } from \"../../styles/mixins\";\n\nexport const Container = styled.div`\n width: 100%;\n height: 12vh;\n display: flex;\n padding: ${spaces.large1};\n z-index: 999;\n`;\nexport const Logo = styled.img`\n height: ${spaces.large6};\n`;\n\n\n","import Athena from \"../../assets/athena-logo.svg\";\nimport Burger from \"./Burger\"\nimport { Container, Logo } from \"./styled\";\n\nconst Nav = () => {\n\n return (\n \n \n \n \n );\n};\nexport default Nav;\n","import { Email, Item } from \"react-html-email\";\n\nconst EmailHTML = ({ name, email, phone, children }) => {\n return (\n \n \n

    Email from customer 📧

    \n
    \n

    \n Name : {name}\n

    \n

    \n Email address : {email}\n

    \n

    \n Phone no : {phone}\n

    \n

    \n Message: {children}\n

    \n
    \n
    \n );\n};\n\nexport default EmailHTML;\n","export default __webpack_public_path__ + \"static/media/logo-footer.bb7e68a0.svg\";","import { css } from \"styled-components\";\n\nexport const centerCrop = css`\n vertical-align: middle;\n background-size: cover;\n background-position: center;\n -webkit-background-size: cover;\n -moz-background-size: cover;\n -o-background-size: cover;\n -ms-background-size: cover;\n`;\n","import styled, { css } from \"styled-components\";\nimport { Element } from \"react-scroll\";\nimport {\n spaces,\n fontSizes,\n otherColor,\n fontWeight,\n borders,\n black,\n} from \"../../styles/mixins\";\nimport { centerCrop } from \"../../styles/image\";\nimport { mediaTabLand, mediaTabPort, mediaPhone } from \"../../styles/media\";\n\nexport const Container = styled.div`\n padding: ${spaces.large4} ${spaces.large8};\n background-color: #fff;\n box-shadow: 0 0px 10px rgba(0, 0, 0, 0.2);\n ${mediaTabLand(css`\n padding: ${spaces.large4} ${spaces.large2};\n `)}\n ${mediaTabPort(css`\n padding: ${spaces.large2} ${spaces.large4};\n `)}\n ${mediaPhone(css`\n padding: ${spaces.large2} ${spaces.normal};\n `)}\n`;\n\nexport const Img = styled.img`\n width: 300px;\n ${centerCrop}\n ${mediaPhone(css`\n width: 240px;\n `)}\n`;\n\nexport const ContentContainer = styled.div`\n width: 100%;\n display: grid;\n grid-template-columns: auto auto auto;\n ${mediaTabPort(css`\n grid-template-columns: auto auto;\n `)}\n ${mediaPhone(css`\n grid-template-columns: auto;\n `)}\n`;\n\nexport const Body = styled.div`\n padding: ${spaces.normal};\n display: flex;\n flex-direction: column;\n`;\n\nexport const Topic = styled(Element)`\n font-size: ${fontSizes.large1};\n margin-bottom: ${spaces.normal};\n color: ${otherColor.secondary};\n font-weight: ${fontWeight.medium};\n`;\n\nexport const Info = styled.div`\n padding: ${spaces.normal};\n font-size: ${fontSizes.small1};\n display: flex;\n`;\n\nexport const Divider = styled.div`\n width: 100%;\n border-top: 1px solid ${otherColor.primary};\n margin: ${spaces.normal};\n`;\n\nexport const Credit = styled.div`\n font-size: ${fontSizes.small2};\n text-align: center;\n padding: 0 ${spaces.normal};\n margin-right: auto;\n ${mediaPhone(css`\n font-size: ${fontSizes.small3};\n `)}\n`;\n\nconst formStyled = css`\n background-color: ${otherColor.gray};\n padding: ${spaces.large1};\n margin-bottom: ${spaces.normal};\n border-radius: ${borders.default};\n border: 1px solid #fff;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 1px ${otherColor.primary};\n }\n &::placeholder {\n color: ${black};\n opacity: 0.5;\n }\n &::-ms-input-placeholder {\n /* Microsoft Edge */\n color: ${black};\n opacity: 0.5;\n }\n`;\n\nexport const InputForm = styled.input`\n ${formStyled}\n`;\n\nexport const TextArea = styled.textarea`\n height: 80px;\n ${formStyled}\n`;\n\nexport const CreditWrapper = styled.div`\n margin: 0 auto;\n`;\n","import { useState } from \"react\";\nimport { useMediaQuery } from \"react-responsive\";\nimport { FiPhoneCall, FiMail } from \"react-icons/fi\";\nimport { SiLine } from \"react-icons/si\";\nimport { MdLocationOn } from \"react-icons/md\";\nimport { renderEmail } from \"react-html-email\";\nimport { useTranslation } from \"react-i18next\";\nimport axios from \"axios\";\n\nimport EmailHTML from \"../Email\";\nimport LinkButton from \"../LinkButton\";\n\nimport Logo from \"../../assets/logo-footer.svg\";\nimport {\n Container,\n Img,\n ContentContainer,\n Topic,\n Body,\n Info,\n Divider,\n Credit,\n InputForm,\n TextArea,\n CreditWrapper,\n} from \"./styled\";\n\nconst Footer = () => {\n const [mailMe, setMailMe] = useState({\n name: \"\",\n email: \"\",\n phone: \"\",\n message: \"\",\n });\n const { t } = useTranslation();\n const isTabPort = useMediaQuery({ query: \"(max-width: 900px)\" });\n const isPhone = useMediaQuery({ query: \"(max-width: 600px)\" });\n const getWidth = () => {\n if (isPhone) {\n return \"200px\";\n }\n if (isTabPort) {\n return \"300px\";\n }\n return \"400px\";\n };\n const getHeight = () => {\n if (isPhone) {\n return \"100px\";\n }\n if (isTabPort) {\n return \"150px\";\n }\n return \"200px\";\n };\n\n const handleChange = (event) => {\n const { value, name } = event.target;\n setMailMe({ ...mailMe, [name]: value });\n };\n\n const handleSubmit = async (event) => {\n event.preventDefault();\n const messageHtml = renderEmail(\n \n {\" \"}\n {mailMe.message}\n \n );\n await axios({\n method: \"POST\",\n url: \"https://alphatech-api.herokuapp.com/api/sendemail\",\n data: {\n name: mailMe.name,\n messageHtml: messageHtml,\n },\n }).then((response) => {\n if (response.data.msg === \"success\") {\n alert(t(\"footer.alert.success\"));\n document.location.reload(true);\n } else if (response.data.msg === \"fail\") {\n alert(t(\"footer.alert.fail\"));\n }\n });\n };\n\n return (\n \n logo\n \n \n {t(\"footer.contact\")}\n \n
    \n \n
    \n   +66 2313 3756-57\n
    \n \n
    \n \n
    \n   @alphatechscience\n
    \n \n
    \n \n
    \n \n

      info@athena.co.th,

    \n

      info@alphatechscience.com

    \n
    \n
    \n \n \n {t(\"footer.address\")}\n \n
    \n \n
    \n  899/63 Moo. 21 Soi Jongsiriparkland Klongarsia Road, T.\n Blangplee Yai, A. Bangplee Samutprakarn 10540, THAILAND\n
    \n \n \n \n {t(\"footer.contactus\")}\n
    \n \n \n \n \n \n \n {t(\"footer.form.submit\")}\n \n \n \n \n
    \n \n \n \n Athena Corp © 2020,{\" \"}\n www.athena.co.th\n \n \n
    \n );\n};\n\nexport default Footer;\n","import styled,{css} from \"styled-components\";\nimport { centerCrop } from \"../../styles/image\";\nimport {mediaPhone} from \"../../styles/media\"\nexport const Img = styled.img`\n width: 100%;\n height: 88vh;\n object-fit: cover;\n -webkit-filter: grayscale(70%) brightness(40%); /* Safari 6.0 - 9.0 */\n -moz-filter: grayscale(70%) brightness(40%);\n -o-filter: grayscale(70%) brightness(40%);\n -ms-filter: grayscale(70%) brightness(40%);\n filter: grayscale(70%) brightness(40%);\n ${centerCrop}\n ${mediaPhone(css`\n height: 44vh;\n `)}\n`;\n\nexport const Container = styled.div`\n position: relative;\n`;\n","import { Img, Container } from \"./styled\";\n\nconst CoverImg = ({ medium, small, alt,children }) => {\n return (\n \n {alt}\n {children}\n \n );\n};\nexport default CoverImg;\n","import styled from \"styled-components\"\nimport {spaces,otherColor} from \"../../styles/mixins\"\n\nexport const Line = styled.div`\n margin: ${spaces.normal} auto;\n width: ${({$thickness}) => $thickness || '20%'};\n border-top: 2px solid ${otherColor.primary};\n`;","import { Line } from \"./styled\";\n\nconst Divider = ({width}) => {\n return \n};\nexport default Divider;\n","import styled, { css } from \"styled-components\";\nimport { Link } from \"react-router-dom\";\nimport { HiBadgeCheck } from \"react-icons/hi\";\nimport { fontSizes, spaces, fontWeight, otherColor,black } from \"../../styles/mixins\";\nimport {centerCrop} from \"../../styles/image\"\nimport { mediaPhone } from \"../../styles/media\";\n\nexport const Container = styled(Link)`\n width: 240px;\n position: relative;\n background-color: #fff;\n box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.2);\n color: ${black};\n ${mediaPhone(css`\n width: 210px;\n `)}\n &:hover{\n box-shadow: 0 0 0 1px ${otherColor.primary};\n }\n`;\n\nexport const ImageWrapper = styled.div`\n width: 100%;\n height: 360px;\n overflow: hidden;\n ${mediaPhone(css`\n height: 320px;\n `)}\n`;\n\nexport const Image = styled.img`\n width: 100%;\n ${centerCrop}\n`;\n\nexport const Content = styled.div`\n padding: ${spaces.large2};\n`\n\nexport const Title = styled.h2`\n font-size: ${fontSizes.large3};\n font-weight: ${fontWeight.medium};\n color: ${otherColor.primary};\n margin-bottom: ${spaces.large2};\n`;\n\nexport const List = styled.ul`\n list-style-type: none;\n`;\n\nexport const ListItem = styled.li`\n margin-bottom: ${spaces.normal};\n`\n\nexport const Checked = styled(HiBadgeCheck)`\n color: ${otherColor.primary};\n margin-right: ${spaces.normal};\n`\n","import { useTranslation } from \"react-i18next\";\n\nimport {\n Container,\n Title,\n List,\n ListItem,\n Checked,\n Content,\n Image,\n ImageWrapper,\n} from \"./styled\";\n\nconst ProductPreview = ({ title, properties,id,src }) => {\n const { t } = useTranslation();\n \n return (\n \n {title}/\n \n {title}\n \n {properties.map((item,index) => (\n {t(`${item}`)}\n ))}\n \n \n \n );\n};\nexport default ProductPreview;\n","import styled, { css } from \"styled-components\";\nimport { spaces, fontSizes } from \"../../styles/mixins\";\nimport { centerCrop } from \"../../styles/image\";\nimport { mediaTabPort, mediaPhone } from \"../../styles/media\";\n\nexport const Container = styled.div`\n width: ${({ $width }) => $width || \"150px\"};\n height: ${({ $height }) => $height || \"200px\"};\n padding: ${spaces.normal};\n text-align: center;\n display: flex;\n flex-direction: column;\n justify-content: center;\n ${mediaPhone(css`\n margin: 0 auto;\n `)}\n`;\n\nexport const Img = styled.img`\n width: ${({ $size }) => $size || \"70%\"};\n margin: 0 auto ${spaces.large4};\n ${centerCrop}\n`;\n\nexport const Describe = styled.span`\n font-size: ${fontSizes.large1};\n ${mediaTabPort(css`\n font-size: ${fontSizes.normal};\n `)}\n ${mediaPhone(css`\n font-size: ${fontSizes.small2};\n `)}\n`;\n","import { useTranslation } from \"react-i18next\";\nimport { Container, Img, Describe } from \"./styled\";\n\nconst IconCard = ({ src, alt, describe,width,height,imgSize}) => {\n const { t } = useTranslation();\n\n return (\n \n {alt}\n {t(describe)}\n \n );\n};\nexport default IconCard;\n","import styled, { css } from \"styled-components\";\nimport { centerCrop } from \"../../styles/image\";\nimport { spaces, fontSizes, otherColor, fontWeight } from \"../../styles/mixins\";\nimport { mediaTabPort } from \"../../styles/media\";\nexport const Container = styled.div`\n width: 280px;\n padding: ${spaces.large2} ${spaces.normal};\n text-align: center;\n border: 2px solid ${otherColor.primary};\n display: flex;\n flex-direction: column;\n margin: 0 auto;\n ${mediaTabPort(css`\n width: 240px;\n `)}\n`;\n\nexport const Img = styled.img`\n width: 50%;\n margin-left: auto;\n margin-right: auto;\n margin-bottom: ${spaces.normal};\n ${centerCrop}\n ${mediaTabPort(css`\n width: 40%;\n `)}\n`;\n\nexport const Describe = styled.span`\n font-size: ${fontSizes.normal};\n font-weight: ${fontWeight.light};\n ${mediaTabPort(css`\n font-size: ${fontSizes.small1};\n `)}\n`;\n","import { useTranslation } from \"react-i18next\";\n\nimport {Container,Img,Describe} from \"./styled\"\n\nconst ProcessCard = ({ src, alt, describe }) => {\n const { t } = useTranslation();\n\n return (\n \n {alt}\n {t(describe)}\n \n );\n};\nexport default ProcessCard","import styled, { css } from \"styled-components\";\nimport { fontSizes, black } from \"../../styles/mixins\";\nimport { mediaPhone } from \"../../styles/media\";\n\nexport const Title = styled.h2`\n font-size: ${fontSizes.large5};\n color: ${({ $color }) => $color || `${black}`};\n ${mediaPhone(css`\n font-size: ${fontSizes.large1};\n `)};\n`;\n","import { Title } from \"./styled\";\n\nconst Topic = ({ children, color,...otherProps }) => {\n return (\n \n {children}\n \n );\n};\nexport default Topic;\n","import styled from \"styled-components\";\nimport { spaces } from \"../../styles/mixins\";\n\nexport const Container = styled.div`\n display: flex;\n flex-direction: column;\n`\n\nexport const VideoContainer = styled.div`\n padding: ${spaces.large2};\n margin: 0 auto;\n`;\n\n","import ReactPlayer from \"react-player/lazy\";\nimport { Container,VideoContainer } from \"./styled\";\n\nconst VideoCard = ({ name, url, ...otherProps }) => {\n return (\n \n \n {name}\n \n );\n};\n\nexport default VideoCard;\n","import styled, { css } from \"styled-components\";\nimport { white, borders, otherColor } from \"../../styles/mixins\";\n\nexport const DotContainer = styled.div`\n height: auto;\n position: relative;\n bottom: -20px;\n`;\n\nexport const Dots = styled.div`\n width: 8px;\n height: 8px;\n border-radius: ${borders.circle};\n\n ${({ $isActive }) =>\n $isActive\n ? css`\n background-color: ${otherColor.secondary};\n `\n : css`\n background-color: ${white};\n `}\n`;\n","import { Fragment,useState } from \"react\";\nimport Slider from \"react-slick\";\nimport { Dots, DotContainer } from \"./styled\";\n\nconst Swipe = ({ children }) => {\n const [activeSlide, setActiveSlide] = useState(0);\n\n const settings = {\n dots: false,\n infinite: true,\n speed: 500,\n slidesToShow: 3,\n slidesToScroll: 1,\n initialSlide: 0,\n responsive: [\n {\n breakpoint: 1200,\n settings: {\n slidesToShow: 2,\n slidesToScroll: 1,\n },\n },\n {\n breakpoint: 900,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n initialSlide: 0,\n },\n },\n {\n breakpoint: 480,\n settings: {\n slidesToShow: 1,\n slidesToScroll: 1,\n dots: true,\n nextArrow: ,\n prevArrow: ,\n },\n },\n ],\n };\n return (\n \n {dots}}\n customPaging={(i) => }\n afterChange={(current) => setActiveSlide(current)}\n >\n {children}\n \n \n );\n};\nexport default Swipe;\n","export const previews = [\n {\n title: \"AS Series\",\n id: \"as\",\n list: [\n \"home.product.preview.skin.as\",\n \"home.product.preview.performance.as\",\n ],\n src: \"https://i.ibb.co/t39gk4f/as.png\",\n },\n {\n title: \"ES Series\",\n id: \"es\",\n list: [\n \"home.product.preview.skin.es\",\n \"home.product.preview.performance.es\",\n ],\n src: \"https://i.ibb.co/VJJY5p9/es.png\",\n },\n {\n title: \"DS Series\",\n id: \"ds\",\n list: [\n \"home.product.preview.skin.ds\",\n \"home.product.preview.performance.ds\",\n ],\n src: \"https://i.ibb.co/ygVW0QM/ms.png\",\n },\n];\n","import Feather from \"../assets/feather.svg\";\nimport Long from \"../assets/24-hours.svg\";\nimport Water from \"../assets/water-drop.svg\";\nimport Beauty from \"../assets/beauty-treatment.svg\";\nimport Uv from \"../assets/uv-protection.svg\";\nimport Formula from \"../assets/formula.svg\";\nimport Circle from '../assets/circles.svg'\n\nexport const skinAdvantages = [\n {\n src: Feather,\n describe: \"home.advantages.skin.smooth\",\n alt: \"soft\",\n },\n {\n src: Long,\n describe: \"home.advantages.skin.long\",\n alt: \"24-hours\",\n },\n {\n src: Water,\n describe: \"home.advantages.skin.moisturizing\",\n alt: \"moisturizing\",\n },\n {\n src: Beauty,\n describe: \"home.advantages.skin.sebum\",\n alt: \"sebum control\",\n },\n { src: Uv, describe: \"home.advantages.skin.uv\", alt: \"uv filter\" },\n {\n src: Formula,\n describe: \"home.advantages.skin.formulate\",\n alt: \"easy formulate\",\n },\n { src: Circle, describe: \"home.advantages.skin.homogenous\", alt: \"homogenous\" },\n];\n","export default __webpack_public_path__ + \"static/media/feather.ee87acf2.svg\";","export default __webpack_public_path__ + \"static/media/24-hours.bbd4db1c.svg\";","export default __webpack_public_path__ + \"static/media/water-drop.e8b18739.svg\";","export default __webpack_public_path__ + \"static/media/beauty-treatment.2acaa042.svg\";","export default __webpack_public_path__ + \"static/media/uv-protection.7a0d3752.svg\";","export default __webpack_public_path__ + \"static/media/formula.daf68337.svg\";","export default __webpack_public_path__ + \"static/media/circles.098afda6.svg\";","export const stabilities = {\n background: \"https://i.ibb.co/dBrLWgB/Stability.jpg\",\n backgroundSmall: \"https://i.ibb.co/kgmPKBG/Stability-small.jpg\",\n content: [\n \"home.advantages.stability.dispersion\",\n \"home.advantages.stability.formula\",\n \"home.advantages.stability.surface\",\n ],\n};\n","import Waterproof from \"../assets/waterproof.svg\";\nimport Dropper from \"../assets/dropper.svg\";\nimport Shield from \"../assets/shield.svg\";\nimport Handle from \"../assets/handle-with-care.svg\";\n\nexport const processAdvantages = [\n {\n src: Waterproof,\n describe: \"home.advantages.process.hydrophobic\",\n alt: \"Waterproof\",\n },\n {\n src: Dropper,\n describe: \"home.advantages.process.pigment\",\n alt: \"Dropper\",\n },\n {\n src: Shield,\n describe:\n \"home.advantages.process.size\",\n alt: \"Shield\",\n },\n {\n src: Handle,\n describe: \"home.advantages.process.handle\",\n alt: \"Handle\",\n },\n];\n","export default __webpack_public_path__ + \"static/media/waterproof.f4379692.svg\";","export default __webpack_public_path__ + \"static/media/dropper.31da2b80.svg\";","export default __webpack_public_path__ + \"static/media/shield.55ab8f12.svg\";","export default __webpack_public_path__ + \"static/media/handle-with-care.7dfe72db.svg\";","export const collections = [\n {\n name: \"Ti K SP ESP Color\",\n url: \"https://www.youtube.com/watch?v=XbdFeUH2e2c&feature=youtu.be\",\n },\n {\n name: \"Ti K SP105 SP110\",\n url: \"https://www.youtube.com/watch?v=zbDrXIjVljM&feature=youtu.be\",\n },\n {\n name: \"Ti-K ES Series\",\n url: \"https://www.youtube.com/watch?v=Ul7JS_Qi8tM&feature=youtu.be\",\n },\n {\n name: \"Ti-K AS Series\",\n url: \"https://www.youtube.com/watch?v=vUuYckZ4LSU&feature=youtu.be\",\n },\n];\n","export default __webpack_public_path__ + \"static/media/office_1.3ffdcf44.jpg\";","export default __webpack_public_path__ + \"static/media/office_2.8b173706.jpg\";","export default __webpack_public_path__ + \"static/media/office_3.f52832f0.jpg\";","export default __webpack_public_path__ + \"static/media/office_4.77d947cf.jpg\";","export default __webpack_public_path__ + \"static/media/office_5.43a9aa6e.jpg\";","export default __webpack_public_path__ + \"static/media/office_6.6fd23f16.jpg\";","export default __webpack_public_path__ + \"static/media/office_7.3f94c6bf.jpg\";","export default __webpack_public_path__ + \"static/media/office_8.45048faa.jpg\";","export default __webpack_public_path__ + \"static/media/office_9.49f65bfc.jpg\";","export default __webpack_public_path__ + \"static/media/office_10.3091f5c9.jpg\";","export default __webpack_public_path__ + \"static/media/office_11.fac620a6.jpg\";","export default __webpack_public_path__ + \"static/media/office_12.f6365b80.jpg\";","export default __webpack_public_path__ + \"static/media/office_13.c7ba683e.jpg\";","export default __webpack_public_path__ + \"static/media/office_14.9180be03.jpg\";","import Of1 from \"../assets/office/office_1.jpg\"\nimport Of2 from \"../assets/office/office_2.jpg\"\nimport Of3 from \"../assets/office/office_3.jpg\"\nimport Of4 from \"../assets/office/office_4.jpg\"\nimport Of5 from \"../assets/office/office_5.jpg\"\nimport Of6 from \"../assets/office/office_6.jpg\"\nimport Of7 from \"../assets/office/office_7.jpg\"\nimport Of8 from \"../assets/office/office_8.jpg\"\nimport Of9 from \"../assets/office/office_9.jpg\"\nimport Of10 from \"../assets/office/office_10.jpg\"\nimport Of11 from \"../assets/office/office_11.jpg\"\nimport Of12 from \"../assets/office/office_12.jpg\"\nimport Of13 from \"../assets/office/office_13.jpg\"\nimport Of14 from \"../assets/office/office_14.jpg\"\n\n\nexport const officeImages = [\n {\n original: Of1,\n thumbnail: Of1,\n },\n {\n original: Of2,\n thumbnail: Of2,\n },{\n original: Of3,\n thumbnail: Of3,\n },{\n original: Of4,\n thumbnail: Of4,\n },{\n original: Of5,\n thumbnail: Of5,\n },{\n original: Of6,\n thumbnail: Of6,\n },{\n original: Of7,\n thumbnail: Of7,\n },{\n original: Of8,\n thumbnail: Of8,\n },{\n original: Of9,\n thumbnail: Of9,\n },{\n original: Of10,\n thumbnail: Of10,\n },{\n original: Of11,\n thumbnail: Of11,\n },{\n original: Of12,\n thumbnail: Of12,\n },{\n original: Of13,\n thumbnail: Of13,\n },{\n original: Of14,\n thumbnail: Of14,\n },\n]","import styled, { css } from \"styled-components\";\nimport { Element } from \"react-scroll\";\nimport { mediaTabLand, mediaTabPort, mediaPhone } from \"../../styles/media\";\nimport {\n white,\n spaces,\n fontSizes,\n fontWeight,\n otherColor,\n black,\n} from \"../../styles/mixins\";\n\nexport const QuoteContainer = styled.div`\n color: ${white};\n position: absolute;\n width: 60%;\n display: flex;\n flex-direction: column;\n top: 40%;\n right: ${spaces.large4};\n transform: translateY(-40%);\n align-items: flex-end;\n text-align: right;\n\n ${mediaTabPort(css`\n width: 70%;\n `)}\n\n ${mediaPhone(css`\n width: 100%;\n right: ${spaces.normal};\n text-align: right;\n `)}\n`;\n\nexport const PrimaryTitle = styled.h1`\n font-size: ${fontSizes.large8};\n font-weight: ${fontWeight.bold};\n ${mediaTabPort(css`\n font-size: ${fontSizes.large4};\n `)}\n ${mediaPhone(css`\n font-size: ${fontSizes.large2};\n `)}\n`;\n\nexport const SecondaryTitle = styled.h2`\n font-size: ${fontSizes.large6};\n font-weight: ${fontWeight.semiBold};\n margin-bottom: ${spaces.large4};\n ${mediaTabPort(css`\n font-size: ${fontSizes.large2};\n margin-bottom: ${spaces.large2};\n `)}\n ${mediaPhone(css`\n font-size: ${fontSizes.large2};\n `)}\n`;\n\nexport const Preposition = styled.span`\n font-weight: ${fontWeight.thin};\n`;\n\nexport const ProductSection = styled.div`\n width: 80%;\n margin: ${spaces.large4} auto;\n text-align: center;\n`;\n\nexport const MyElement = styled(Element)`\n font-size: ${fontSizes.large6};\n ${mediaTabPort(css`\n font-size: ${fontSizes.large3};\n `)}\n`;\n\nexport const ProductPreviewContainer = styled.div`\n padding: ${spaces.large4};\n display: grid;\n grid-template-columns: auto auto auto;\n justify-content: center;\n grid-gap: ${spaces.large4};\n ${mediaTabPort(css`\n grid-template-columns: auto auto;\n `)}\n ${mediaPhone(css`\n grid-template-columns: auto;\n `)}\n`;\n\nexport const AdvantageSection = styled.div`\n width: 100%;\n background-color: ${otherColor.gray};\n`;\n\nexport const AdvantageBanner = styled.div`\n width: 100%;\n padding: ${spaces.large3} 0;\n margin: 0 auto;\n color: ${white};\n background-color: ${otherColor.secondary};\n text-align: center;\n`;\n\nexport const AdvantageTitle = styled.h2`\n font-size: ${fontSizes.large4};\n text-transform: uppercase;\n ${mediaPhone(css`\n font-size: ${fontSizes.large3};\n `)}\n`;\n\nexport const SkinFeelContainer = styled.div`\n width: 80%;\n padding: ${spaces.large4};\n text-align: center;\n margin: 0 auto;\n ${mediaPhone(css`\n width: 100%;\n padding: ${spaces.large1};\n `)}\n`;\n\nexport const SubTopic = styled.h3`\n font-size: ${fontSizes.large1};\n ${mediaPhone(css`\n font-size: ${fontSizes.normal};\n `)}\n`;\n\nexport const SkinFeelList = styled.div`\n display: flex;\n padding: ${spaces.large4} ${spaces.large6};\n justify-content: center;\n flex-wrap: wrap;\n ${mediaTabPort(css`\n display: grid;\n grid-template-columns: auto auto;\n grid-row-gap: ${spaces.large6};\n padding: ${spaces.large4} ${spaces.large8};\n `)}\n ${mediaPhone(css`\n grid-row-gap: ${spaces.large4};\n padding: ${spaces.large2};\n `)}\n`;\n\nexport const IconCardWrapper = styled.div`\n margin: ${spaces.large2} ${spaces.large4};\n ${mediaPhone(css`\n margin: 0;\n `)}\n`;\n\nexport const StabilityContainer = styled.div`\n position: relative;\n`;\n\nexport const StabilityContent = styled.div`\n width: 50%;\n padding: ${spaces.large6};\n color: ${white};\n ${mediaTabPort(css`\n width: 80%;\n `)}\n ${mediaPhone(css`\n width: 100%;\n padding: ${spaces.large4};\n `)}\n`;\n\nexport const StabilityList = styled.p`\n font-size: ${fontSizes.large1};\n font-weight: ${fontWeight.light};\n margin-top: ${spaces.large6};\n margin-left: ${(props) => props.order}px;\n border-left: 6px solid ${otherColor.primary};\n padding: 0 ${spaces.large3};\n ${mediaPhone(css`\n font-size: ${fontSizes.normal};\n margin-top: ${spaces.large4};\n `)}\n`;\n\nexport const ProcessContainer = styled.div`\n width: 80%;\n margin: 0 auto;\n text-align: center;\n padding: ${spaces.large4} 0;\n`;\n\nexport const ProcessContent = styled.div`\n width: 60%;\n display: grid;\n grid-template-columns: auto auto;\n grid-row-gap: ${spaces.large4};\n padding: ${spaces.large4};\n margin: 0 auto;\n ${mediaTabLand(css`\n width: 100%;\n `)}\n ${mediaTabPort(css`\n grid-row-gap: auto;\n padding: ${spaces.large2};\n `)}\n ${mediaPhone(css`\n grid-template-columns: auto;\n padding: ${spaces.large2} 0;\n `)}\n`;\n\nexport const VideoSection = styled.div`\n padding: ${spaces.large4} 0;\n width: 100%;\n margin: 0 auto;\n text-align: center;\n background-color: ${black};\n`;\n\nexport const VideoContent = styled.div`\n width: 90%;\n margin: 0 auto;\n`;\n\nexport const GallerySection = styled.div`\n padding: ${spaces.large4} ${spaces.large6};\n width: 80%;\n margin: 0 auto;\n ${mediaTabPort(css`\n width: 100%;\n `)}\n ${mediaPhone(css`\n text-align: center;\n padding: ${spaces.large4} 0;\n `)}\n`;\n","import { Fragment } from \"react\";\nimport { Parallax } from \"react-parallax\";\nimport { useMediaQuery } from \"react-responsive\";\nimport { useTranslation } from \"react-i18next\";\nimport ImageGallery from \"react-image-gallery\";\n\nimport CoverImg from \"../../components/CoverImg\";\nimport LinkButton from \"../../components/LinkButton\";\nimport Divider from \"../../components/Divider\";\nimport ProductPreview from \"../../components/ProductPreview\";\nimport IconCard from \"../../components/IconCard\";\nimport ProcessCard from \"../../components/ProcessCard\";\nimport Topic from \"../../components/Topic\";\nimport VideoCard from \"../../components/VideoCard\";\nimport Swipe from \"../../components/Swipe\";\n\nimport { previews } from \"../../data/productPreview\";\nimport { skinAdvantages } from \"../../data/skinFeel\";\nimport { stabilities } from \"../../data/stability\";\nimport { processAdvantages } from \"../../data/process\";\nimport { collections } from \"../../data/videos\";\nimport { officeImages } from \"../../data/office\";\nimport {\n QuoteContainer,\n PrimaryTitle,\n Preposition,\n SecondaryTitle,\n ProductSection,\n MyElement,\n ProductPreviewContainer,\n AdvantageSection,\n AdvantageTitle,\n AdvantageBanner,\n SkinFeelContainer,\n SubTopic,\n SkinFeelList,\n IconCardWrapper,\n StabilityContainer,\n StabilityContent,\n StabilityList,\n ProcessContainer,\n ProcessContent,\n VideoSection,\n VideoContent,\n GallerySection,\n} from \"./styled\";\n\nconst homeImage = {\n medium: \"https://i.ibb.co/hHg26hQ/Home.jpg\",\n small: \"https://i.ibb.co/729SW18/Home-small.jpg\",\n};\n\nconst HomePage = () => {\n const isBigDesktop = useMediaQuery({ query: \"(max-width: 1800px)\" });\n const isTabLand = useMediaQuery({ query: \"(max-width: 1200px)\" });\n const isTabPort = useMediaQuery({ query: \"(max-width: 900px)\" });\n const isPhone = useMediaQuery({ query: \"(max-width: 600px)\" });\n const { t, i18n } = useTranslation();\n\n const getLanguage = () => {\n return (\n i18n.language ||\n (typeof window !== \"undefined\" && window.localStorage.i18nextLng) ||\n \"en\"\n );\n };\n\n const getImages = () => {\n const arr = [...officeImages];\n if (isPhone) {\n arr.forEach((item) => (item.originalHeight = \"270px\"));\n } else if (isTabPort) {\n arr.forEach((item) => (item.originalHeight = \"450px\"));\n } else if (isTabLand) {\n arr.forEach((item) => (item.originalHeight = \"630px\"));\n } else if (isBigDesktop) {\n arr.forEach((item) => (item.originalHeight = \"720px\"));\n }\n return arr;\n };\n\n return (\n \n \n \n {getLanguage() === \"zh-hk\" ? (\n \n {t(\"home.cover.quote.primary\")}\n {t(\"home.cover.quote.secondary\")}\n \n ) : (\n \n \n {t(\"home.cover.quote_1\")}{\" \"}\n {t(\"home.cover.quote_2\")}{\" \"}\n {t(\"home.cover.quote_3\")}\n \n \n {t(\"home.cover.quote_4\")} &\n {t(\"home.cover.quote_5\")}\n \n \n )}\n\n {t(\"home.cover.button\")}\n \n \n\n \n \n \n\n \n {t(\"home.product.preview.title\")}\n \n \n {previews.map((item, index) => (\n \n ))}\n \n \n \n \n {t(\"home.advantages.title\")}\n \n \n {t(\"home.advantages.title.secondary\")}\n \n {t(\"home.advantages.skin\")}\n \n {skinAdvantages.map((item, index) => (\n \n \n \n ))}\n \n \n \n (\n \n )}\n >\n \n \n {t(\"home.advantages.stability.title\")}\n \n {stabilities.content.map((item, index) => (\n \n {t(`${item}`)}\n \n ))}\n \n \n \n \n {t(\"home.advantages.process.title\")}\n \n {processAdvantages.map((item, index) => (\n \n ))}\n \n \n \n \n {t(\"home.video\")}\n \n \n \n {collections\n .filter((item, index) => index < 4)\n .map((item, index) => (\n \n ))}\n \n \n \n \n \n \n \n );\n};\nexport default HomePage;\n","import styled from \"styled-components\";\nimport { spaces, otherColor } from \"../../styles/mixins\";\n\nexport const Container = styled.div`\n width: 300px;\n padding: ${spaces.normal};\n`;\n\nexport const Header = styled.h2`\n color: ${otherColor.secondary};\n`;\n","import { useTranslation } from \"react-i18next\";\n\nimport { Container, Header } from \"./styled\";\nconst TechCard = ({ title, info }) => {\n const { t } = useTranslation();\n\n return (\n
    {t(title)}
    \n
    \n

    {t(info)}

    \n
    );\n};\nexport default TechCard;\n","export default __webpack_public_path__ + \"static/media/technology.49453b0a.gif\";","export const data = [\n {\n title: \"techonology.solgel\",\n info: \"techonology.solgel.content\",\n },\n {\n title: \"techonology.emulsion\",\n info: \"techonology.emulsion.content\",\n },\n {\n title: \"techonology.organic\",\n info: \"techonology.organic.content\",\n },\n {\n title: \"techonology.formulation\",\n info: \"techonology.formulation.content\",\n },\n {\n title: \"techonology.hybrid\",\n info: \"techonology.hybrid.content\",\n },\n];","import styled, { css } from \"styled-components\";\nimport { mediaTabLand,mediaTabPort, mediaPhone } from \"../../styles/media\";\nimport { white, spaces, fontSizes, fontWeight } from \"../../styles/mixins\";\n\nexport const QuoteContainer = styled.div`\n color: ${white};\n position: absolute;\n width: 60%;\n display: flex;\n flex-direction: column;\n top: 40%;\n right: ${spaces.large4};\n transform: translateY(-40%);\n align-items: flex-end;\n text-align: right;\n\n ${mediaTabPort(css`\n width: 70%;\n `)}\n ${mediaPhone(css`\n width: 100%;\n right: ${spaces.normal};\n text-align: right;\n `)}\n`;\n\nexport const PrimaryTitle = styled.h1`\n font-size: ${fontSizes.large8};\n font-weight: ${fontWeight.bold};\n margin-bottom: ${spaces.large4};\n ${mediaTabPort(css`\n font-size: ${fontSizes.large4};\n `)}\n ${mediaPhone(css`\n font-size: ${fontSizes.large2};\n `)}\n`;\n\nexport const Description = styled.p`\n margin-bottom: ${spaces.large6};\n ${mediaTabPort(css`\n font-size: ${fontSizes.normal};\n margin-bottom: ${spaces.large4};\n `)}\n ${mediaPhone(css`\n font-size: ${fontSizes.small1};\n `)}\n`;\n\nexport const Explain = styled.p`\n padding: 0 ${spaces.large4};\n ${mediaTabPort(css`\n font-size: ${fontSizes.normal};\n `)}\n ${mediaPhone(css`\n font-size: ${fontSizes.small1};\n `)}\n`;\n\nexport const DetailSection = styled.div`\n margin: 0 auto;\n width: 80%;\n padding: ${spaces.large4};\n ${mediaTabLand(css`\n width: 90%;\n `)}\n ${mediaPhone(css`\n padding: ${spaces.large4} ${spaces.normal};\n `)}\n`;\n\nexport const Gif = styled.img`\n width: 400px;\n height: 200px;\n ${mediaPhone(css`\n width: 240px;\n height: 120px;\n `)}\n`;\n\nexport const TechDetailSection = styled.div`\n width: 80%;\n padding: ${spaces.large4};\n margin: 0 auto;\n display: grid;\n grid-template-columns: auto auto auto;\n grid-row-gap: ${spaces.large4};\n ${mediaTabLand(css`\n width: 90%;\n `)}\n ${mediaTabPort(css`\n grid-template-columns: auto auto;\n `)}\n ${mediaPhone(css`\n width: 100%;\n grid-template-columns: auto;\n `)}\n`;\n","import { Fragment } from \"react\";\nimport { Element } from \"react-scroll\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Topic from \"../../components/Topic\";\nimport CoverImg from \"../../components/CoverImg\";\nimport LinkButton from \"../../components/LinkButton\";\nimport TechCard from \"../../components/TechCard\";\nimport TechnologyGif from \"../../assets/technology.gif\";\n\nimport { data } from \"../../data/techInfo\";\n\nimport {\n QuoteContainer,\n PrimaryTitle,\n Description,\n Explain,\n DetailSection,\n Gif,\n TechDetailSection,\n} from \"./styled\";\n\nconst TechnoImage = {\n medium: \"https://i.ibb.co/Fn3TxZD/Tech.jpg\",\n small: \"https://i.ibb.co/nRndtNX/Tech-small.jpg\",\n};\n\nconst TechnoPage = () => {\n const { t } = useTranslation();\n\n return (\n \n \n \n {t(\"technology.cover.quote.title\")}\n {t(\"technology.cover.quote.content\")}\n \n {t(\"technology.cover.button\")}\n \n \n \n \n \n {t(\"techonology.detail.title\")}\n
    \n {t(\"techonology.detail.content\")}\n
    \n
    \n \n
    \n
    \n
    \n \n {data.map((item, index) => (\n \n ))}\n \n
    \n );\n};\nexport default TechnoPage;\n","export const timeline = [\n {\n date: \"about.history.mar\",\n event: \"about.history.mar.content\",\n },\n {\n date: \"about.history.may\",\n event: \"about.history.may.content\",\n },\n {\n date: \"about.history.july\",\n event: \"about.history.july.content\",\n },\n {\n date: \"about.history.dec\",\n event: \"about.history.dec.content\",\n },\n];","import styled, { css } from \"styled-components\";\nimport { spaces, otherColor, iconSizes, fontSizes } from \"../../styles/mixins\";\nimport { mediaPhone } from \"../../styles/media\";\n\nexport const TimelineContainer = styled.div`\n position: relative;\n margin: 0 auto;\n &::before {\n content: \"\";\n position: absolute;\n width: 4px;\n background-color: ${otherColor.primary};\n top: 0;\n bottom: 0;\n left: 40px;\n }\n`;\n\nexport const ContentContainer = styled.div`\n padding: ${spaces.large1} ${spaces.large8};\n position: relative;\n width: 100%;\n\n &::before {\n content: \"\";\n position: absolute;\n width: ${iconSizes.normal};\n height: ${iconSizes.normal};\n background-color: ${otherColor.primary};\n top: 15px;\n left: 34px;\n border-radius: 50%;\n z-index: 1;\n }\n ${mediaPhone(css`\n padding: ${spaces.large1} ${spaces.large6};\n `)}\n`;\n\nexport const Right = styled.div`\n &::before {\n content: \" \";\n height: 0;\n position: absolute;\n top: 22px;\n width: 0;\n z-index: 1;\n left: 86px;\n border: medium solid white;\n border-width: 10px 10px 10px 0;\n border-color: transparent white transparent transparent;\n ${mediaPhone(css`\n left: 54px;\n `)}\n }\n`;\n\nexport const Content = styled.div`\n padding: 20px 30px;\n background-color: white;\n position: relative;\n border-radius: 6px;\n`;\n\nexport const Header = styled.h2`\n ${mediaPhone(css`\n font-size: ${fontSizes.normal};\n `)}\n`;\n\nexport const Event = styled.p`\n ${mediaPhone(css`\n font-size: ${fontSizes.small2};\n `)}\n`;","import { useTranslation } from \"react-i18next\";\n\nimport { timeline } from \"../../data/history\";\n\nimport {\n TimelineContainer,\n ContentContainer,\n Right,\n Content,\n Header,\n Event,\n} from \"./styled\";\nconst Timeline = () => {\n const { t } = useTranslation();\n\n return (\n \n {timeline.map((item,index) => (\n \n \n \n
    {t(item.date)}
    \n

    \n {t(item.event)}\n
    \n
    \n
    \n ))}\n
    \n );\n};\nexport default Timeline;\n","import styled, { css } from \"styled-components\";\nimport { mediaPhone } from \"../../../styles/media\";\nimport {\n spaces,\n fontSizes,\n fontWeight,\n otherColor,\n borders,\n} from \"../../../styles/mixins\";\n\nexport const CardContainer = styled.div`\n display: flex;\n flex-wrap: wrap;\n padding: ${spaces.large2};\n justify-content: center;\n`;\n\nexport const Card = styled.div`\n width: 300px;\n min-height: 100px;\n border-radius: ${borders.default};\n background-color: #fff;\n padding: ${spaces.large4};\n margin: ${spaces.large2};\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);\n &:hover {\n box-shadow: 0 0 0 1px ${otherColor.primary};\n }\n`;\n\nexport const Header = styled.h2`\n font-size: ${fontSizes.large2};\n font-weight: ${fontWeight.semiBold};\n text-align: left;\n ${mediaPhone(css`\n font-size: ${fontSizes.large1};\n `)}\n`;\n\nexport const ContentContainer = styled.div`\n list-style: none;\n margin-bottom: ${spaces.normal};\n text-align: left;\n align-items: center;\n`;\n\nexport const AddressWrapper = styled.div`\n margin-top: ${spaces.large1};\n`;\n\nexport const DetailWrapper = styled.div`\n display: flex;\n margin-bottom: ${spaces.normal};\n`;\n\nexport const IconWrapper = styled.div`\n margin-right: ${spaces.normal};\n`;\n\nexport const Name = styled.p`\n font-size: ${fontSizes.large1};\n font-weight: ${fontWeight.semiBold};\n opacity: 0.5;\n ${mediaPhone(css`\n font-size: ${fontSizes.normal};\n `)}\n`;\n\nexport const Email = styled.a`\n font-size: ${fontSizes.small1};\n color: ${otherColor.secondary};\n cursor: pointer;\n ${mediaPhone(css`\n font-size: ${fontSizes.small1};\n `)}\n`;\n\nexport const Content = styled.span`\n font-size: ${fontSizes.small1};\n`;\n","import { HiOutlineMail } from \"react-icons/hi\";\nimport { GoLocation } from \"react-icons/go\";\nimport { FiPhone } from \"react-icons/fi\";\nimport { BsPhone } from \"react-icons/bs\";\nimport { FaFax } from \"react-icons/fa\";\nimport {\n CardContainer,\n Card,\n Header,\n DetailWrapper,\n Name,\n Email,\n ContentContainer,\n IconWrapper,\n Content,\n AddressWrapper,\n} from \"./styled\";\nimport { Fragment } from \"react\";\n\nconst DistributorCard = ({ companies }) => {\n return (\n \n {companies.map((item, index) => (\n \n {item.company &&
    {item.company}
    }\n {item.teams.map((person, i) => (\n \n {typeof person.name === \"object\" ? (\n person.name.map((n, i) => {n})\n ) : (\n {person.name}\n )}\n \n {person.address && (\n \n \n \n \n {person.address}\n \n )}\n \n {person.email && (\n \n {typeof person.email === \"object\" ? \n (person.email.map((e, i) => \n \n \n \n \n {e}\n \n )\n ) : (\n \n \n \n \n \n {person.email}\n \n \n )}\n \n )}\n {person.tel && (\n \n \n \n \n Tel: {person.tel}\n \n )}\n {person.fax && (\n \n \n \n \n Fax: {person.fax}\n \n )}\n {person.mobile && (\n \n \n \n \n Mobile: {person.mobile}\n \n )}\n \n ))}\n
    \n ))}\n
    \n );\n};\n\nexport default DistributorCard;\n","import styled, { css } from \"styled-components\";\nimport { mediaPhone } from \"../../styles/media\";\nimport { spaces, fontSizes, fontWeight, otherColor } from \"../../styles/mixins\";\n\nexport const Container = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n text-align: center;\n`;\n\nexport const Region = styled.div`\n display: flex;\n font-size: ${fontSizes.large5};\n font-weight: ${fontWeight.semiBold};\n color: ${otherColor.primary};\n align-items: center;\n &::before,\n &::after {\n content: \"\";\n flex: 1;\n border-bottom: 2px solid ${otherColor.primary};\n }\n\n &::before {\n margin-right: ${spaces.large2};\n }\n &::after {\n margin-left: ${spaces.large2};\n }\n ${mediaPhone(css`\n font-size: ${fontSizes.large2};\n `)}\n`;\n\nexport const CountriesContainer = styled.div`\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: center;\n width: 100%;\n padding: ${spaces.large4} ${spaces.large2};\n`;\n\nexport const CountryWrapper = styled.div`\n &:not(:last-child) {\n margin-bottom: ${spaces.large4};\n }\n`;\n\nexport const CountryTitle = styled.h2`\n font-size: ${fontSizes.large4};\n font-weight: ${fontWeight.semiBold};\n opacity: 0.7;\n ${mediaPhone(css`\n font-size: ${fontSizes.large2};\n `)}\n`;\n","import { Fragment } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DistributorCard from \"./DistributorCard\";\nimport {\n Container,\n Region,\n CountriesContainer,\n CountryWrapper,\n CountryTitle,\n} from \"./styled\";\n\nconst Distributor = ({ info }) => {\n const { t } = useTranslation();\n const getCountryName = (countryArr) => {\n const len = countryArr.length;\n if (len > 1) {\n return countryArr.map((item, index) => {\n return (\n \n {t(item)},
    \n
    \n );\n });\n } else {\n return {t(countryArr)};\n }\n };\n return (\n \n {info.map((region, i) => (\n \n {t(region.region)}\n \n {region.information.map((country, index) => (\n \n {getCountryName(country.country)}\n \n \n ))}\n \n \n ))}\n \n );\n};\n\nexport default Distributor;\n","import Team from \"../assets/team-leader.svg\";\nimport Customer from \"../assets/customer.svg\";\n\nexport const missions = [\n {\n src: Team,\n alt: \"team\",\n describe: \"about.mission.team\",\n },\n {\n src: Customer,\n alt: \"customer\",\n describe: \"about.mission.customer\",\n },\n];\n","export default __webpack_public_path__ + \"static/media/team-leader.95ba7fee.svg\";","export default __webpack_public_path__ + \"static/media/customer.07323643.svg\";","export const awards = [\n {\n medium: \"https://i.ibb.co/17KLvnB/certify1.jpg\",\n small: \"https://i.ibb.co/3sHmTpZ/certify1-small.jpg\",\n alt: \"certificate-1\",\n },\n {\n medium: \"https://i.ibb.co/t4H8nK4/certify2.jpg\",\n small: \"https://i.ibb.co/DrWzJrt/certify2-small.jpg\",\n alt: \"certificate-2\",\n },\n];\n","export const distributorList = [\n {\n region: \"about.distributor.asia\",\n information: [\n {\n country: [\"about.distributor.china\"],\n contact: [\n {\n company: \"Guangzhou JinHang Biotechnology Co.,Ltd.\",\n teams: [\n {\n name: \"Ms. Willow Wang\",\n email: \"willowwang128@163.com\",\n address:\n \"Room 818/820,Building C4,Jiahua Square,No.185 Yingbin Avenue,Xinya Street,Huadu District, Guangzhou,GuangDong 510800\",\n tel: \"(+86)020-8601 1186, 136 0227 0644\",\n },\n ],\n },\n ],\n },\n {\n country: [\"about.distributor.taiwan\"],\n contact: [\n {\n company: \"Pu Feng Biotech Co.,Ltd.\",\n teams: [\n {\n name: \"Mr. David Tseng\",\n email: \"david.tseng@pf-bio.com\",\n address:\n \"11F., No. 101, Sec. 2, Nanjing E. Rd, Zhongshan Dist., Taipei City 104\",\n tel: \"+886-2-55686040\",\n fax: \"+886-2-25630388\",\n },\n ],\n },\n ],\n },\n {\n country: [\"about.distributor.malaysia\"],\n contact: [\n {\n company: \"CTC Bioscience Sdn Bhd\",\n teams: [\n {\n name: \"S.Y. Chin\",\n email: \"sychin@ctc-bio.com\",\n address:\n \"17, Jalan Industri Mas 6, Taman Mas Puchong,47100 Puchong, Selangor\",\n tel: \"+603 80606100\",\n mobile: \"+6012 2970528\",\n fax: \"+603 80606200\",\n },\n ],\n },\n ],\n },\n {\n country: [\"about.distributor.philippines\"],\n contact: [\n {\n company: \"Euro Chemicals, Inc.\",\n teams: [\n {\n name: \"Miguel Plana\",\n email: \"miguel.plana@eurocheminc.com\",\n address:\n \"Lot 2 Arty II Subd., Corner Road I, Mindanao Ave., Quezon City\",\n tel: \"(632) 930-4715 / 930-0982\",\n fax: \"(632) 930-1153\",\n },\n ],\n },\n ],\n },\n {\n country: [\"about.distributor.indonesia\"],\n contact: [\n {\n company: \"PT. MARGA DWI KENCANA\",\n teams: [\n {\n name: \"Ms Elisabeth Indryati W\",\n email: \"indryati@mdkencana.co.id\",\n address:\n \"RUKO DAAN MOGOT ARCADIA BLOK. E1 NO. 12 JL. DAAN MOGOT RAYA KM.22 KEL. BATUCEPER KEC. BATUCEPER KOTA TANGERANG 15122\",\n tel: \"62-21 5517456\",\n },\n ],\n },\n ],\n },\n ],\n },\n {\n region: \"about.distributor.europe\",\n information: [\n {\n country: [\n \"about.distributor.italy\",\n \"about.distributor.poland\",\n \"about.distributor.russia\",\n ],\n contact: [\n {\n company: \"B & C SPA\",\n teams: [\n {\n name: \"Roberta Donadelli\",\n email: \"info@beautyandcosmetic.eu\",\n address: \"Via F.lli d’Italia, 5 21052 BUSTO ARSIZIO VA\",\n tel: \"+39 0331 606842\",\n fax: \"+39 0331 606173\",\n },\n ],\n },\n ],\n },\n {\n country: [\n \"about.distributor.switzerland\",\n \"about.distributor.france\",\n \"about.distributor.germany\",\n ],\n contact: [\n {\n company: \"NAGASE (EUROPA) GmbH \",\n teams: [\n {\n name: [\"Mr. Mahito SAITO\", \"Ms. Harmonie MAGNIEZ\"],\n email: [\"saito@nagase.eu\", \"magniez@nagase.eu\"],\n address: \"60 Avenue Rockefeller 69008 Lyon\",\n tel: \"+33-(0)4 26 49 40 04\",\n },\n ],\n },\n ],\n },\n ],\n },\n];\n","import styled, { css } from \"styled-components\";\nimport {\n white,\n fontSizes,\n fontWeight,\n otherColor,\n spaces,\n} from \"../../styles/mixins\";\nimport { mediaTabLand, mediaTabPort, mediaPhone } from \"../../styles/media\";\nimport { centerCrop } from \"../../styles/image\";\n\nexport const QuoteContainer = styled.div`\n color: ${white};\n position: absolute;\n width: auto;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n text-align: center;\n\n ${mediaTabPort(css`\n width: 70%;\n `)}\n\n ${mediaPhone(css`\n width: 100%;\n `)}\n`;\n\nexport const Word = styled.h1`\n border-bottom: 2px solid ${otherColor.primary};\n font-size: ${fontSizes.large8};\n font-weight: ${fontWeight.bold};\n transition: all 0.2s;\n &:hover {\n font-size: ${fontSizes.large10};\n ${mediaTabPort(css`\n font-size: ${fontSizes.large6};\n `)}\n }\n ${mediaTabPort(css`\n font-size: ${fontSizes.large4};\n border: none;\n `)}\n`;\n\nexport const MissionSection = styled.div`\n width: 80%;\n height: auto;\n padding: ${spaces.large4} 0;\n margin: 0 auto;\n text-align: center;\n`;\n\nexport const MissionContainer = styled.div`\n padding: ${spaces.large6};\n display: flex;\n justify-content: space-evenly;\n ${mediaPhone(css`\n flex-direction: column;\n padding: ${spaces.large4} 0;\n `)}\n`;\n\nexport const HistorySection = styled.div`\n width: 100%;\n background-color: ${otherColor.gray};\n padding: ${spaces.large4} 0;\n`;\n\nexport const HistoryContent = styled.div`\n width: 60%;\n margin: 0 auto;\n ${mediaPhone(css`\n width: 90%;\n `)}\n`;\n\nexport const CoreValueSection = styled.div`\n width: 50%;\n margin: 0 auto;\n padding: ${spaces.large4};\n display: flex;\n justify-content: space-evenly;\n ${mediaTabPort(css`\n width: 80%;\n `)}\n ${mediaPhone(css`\n width: 100%;\n padding: ${spaces.large2};\n justify-content: space-between;\n font-size: ${fontSizes.small1};\n `)}\n`;\n\nexport const CoreValueWrapper = styled.div`\n &::before {\n content: \"\";\n position: absolute;\n width: 5px;\n height: 136px;\n background-color: ${otherColor.primary};\n left: 51%;\n ${mediaPhone(css`\n left: 45%;\n `)}\n }\n`;\n\nexport const CoreValueContent = styled.p`\n margin-top: ${spaces.normal};\n`;\n\nexport const DistributorTitle = styled.h1`\n font-size: ${fontSizes.large6};\n font-weight: ${fontWeight.bold};\n text-align: center;\n ${mediaPhone(css`\n font-size: ${fontSizes.large5};\n `)}\n`;\n\nexport const DistributorSection = styled.div`\n background-color: ${otherColor.gray};\n width: 100%;\n padding: ${spaces.large6};\n ${mediaPhone(css`\n padding: ${spaces.large6} ${spaces.large2};\n `)}\n`;\n\nexport const RegionContainer = styled.div`\n width: 80%;\n padding: ${spaces.large6} ${spaces.large2};\n margin: 0 auto;\n ${mediaTabLand(css`\n width: 100%;\n `)}\n ${mediaPhone(css`\n padding: ${spaces.large6} 0;\n `)}\n`;\n\nexport const CertificateSection = styled.div`\n width: 100%;\n padding: ${spaces.large4};\n text-align: center;\n`;\n\nexport const ImageContainer = styled.div`\n display: grid;\n padding: ${spaces.large4};\n grid-gap: ${spaces.large4};\n grid-template-columns: auto auto;\n justify-content: center;\n ${mediaPhone(css`\n grid-template-columns: auto;\n `)}\n`;\n\nexport const Img = styled.img`\n width: 400px;\n transition: all 0.2s;\n ${centerCrop}\n ${mediaTabPort(css`\n width: 300px;\n `)}\n`;\n","import { Fragment } from \"react\";\nimport { Parallax } from \"react-parallax\";\nimport { useMediaQuery } from \"react-responsive\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Zoom from \"react-medium-image-zoom\";\n\nimport Topic from \"../../components/Topic\";\nimport Divider from \"../../components/Divider\";\nimport IconCard from \"../../components/IconCard\";\nimport Timeline from \"../../components/Timeline\";\nimport Distributor from \"../../components/Distributor\";\n\nimport { missions } from \"../../data/about\";\nimport { awards } from \"../../data/certificates\";\nimport { distributorList } from \"../../data/distributors\";\nimport {\n QuoteContainer,\n Word,\n MissionSection,\n MissionContainer,\n HistorySection,\n HistoryContent,\n CoreValueSection,\n CoreValueWrapper,\n CoreValueContent,\n DistributorTitle,\n DistributorSection,\n RegionContainer,\n CertificateSection,\n ImageContainer,\n Img,\n} from \"./styled\";\n\nconst aboutImage = {\n medium: \"https://i.ibb.co/0B5xJtb/About.jpg\",\n small: \"https://i.ibb.co/JxgDGW3/About-small.jpg\",\n};\n\nconst AboutPage = () => {\n const isPhone = useMediaQuery({ query: \"(max-width: 600px)\" });\n const { t } = useTranslation();\n\n return (\n \n (\n \n )}\n >\n
    \n \n {t(\"about.cover.title\")}\n \n
    \n \n \n {t(\"about.mission.title\")}\n \n \n {missions.map((item, index) => (\n \n ))}\n \n \n \n \n {t(\"about.history.title\")}\n

    \n \n
    \n
    \n \n {t(\"about.core.title\")}\n \n {t(\"about.core.customer\")}\n {t(\"about.core.integrity\")}\n {t(\"about.core.team\")}\n {t(\"about.core.global\")}\n {t(\"about.core.passion\")}\n \n \n \n {t(\"about.distributor.title\")}\n \n \n \n \n \n {t(\"about.certificate\")}\n \n {awards.map((item, index) => (\n \n \n \n ))}\n \n \n
    \n );\n};\nexport default AboutPage;\n\n","import styled from \"styled-components\";\nimport Menu, { SubMenu, MenuItem } from \"rc-menu\";\nimport { otherColor } from \"../../styles/mixins\";\n\nexport const MyMenu = styled(Menu)`\n background-color: ${otherColor.primary} !important;\n color: #fff !important;\n cursor: pointer;\n`;\n\nexport const MyMenuItem = styled(MenuItem)`\n background-color: ${otherColor.primary} !important;\n color: #fff !important;\n cursor: pointer;\n &:hover {\n background-color: ${otherColor.secondary} !important;\n }\n`;\n\nexport const MySubMenuItem = styled(SubMenu)`\n background-color: ${otherColor.primary} !important;\n color: #fff !important;\n cursor: pointer;\n`;\n","export const data = [\n {\n name: \"AS series\",\n id: \"as\",\n inci: \"Triethoxycarprylyl silane\",\n product: [\n \"Ti-K Talc SF AS\",\n \"Ti-K Talc 13R AS\",\n \"Ti-K Talc 46R AS\",\n \"Ti-K TiO2 407 AS\",\n \"Ti-K TiO2 CR50 AS\",\n \"Ti-K ZnO AS\",\n \"Ti-K Sericite M AS\",\n \"Ti-K Sericite FSE AS\",\n \"Ti-K Mica AS\",\n \"Ti-K Iron Oxide AS\",\n ],\n skinFeel: \"product.skin.as\",\n waterRepel: \"product.water.as\",\n color: \"product.color.as\",\n performance: \"product.performance.as\",\n recommend: [\"EM\", \"LQ\", \"P\", \"PM\"],\n dose: \"10-80%\",\n video: \"https://www.youtube.com/watch?v=vUuYckZ4LSU&feature=youtu.be\",\n },\n {\n name: \"ES series\",\n id: \"es\",\n inci: \"Glyceryl/Polyglyceryl-6 isostearate/Behenate Ester\",\n product: [\n \"Ti-K Talc SF ES\",\n \"Ti-K Talc 13R ES\",\n \"Ti-K Talc 46R ES\",\n \"Ti-K TiO2 407 ES\",\n \"Ti-K TiO2 CR50 ES\",\n \"Ti-K ZnO ES\",\n \"Ti-K Sericite M ES\",\n \"Ti-K Sericite FSE ES\",\n \"Ti-K Mica ES\",\n \"Ti-K Iron Oxide ES\",\n ],\n skinFeel: \"product.skin.es\",\n waterRepel: \"product.water.es\",\n color: \"product.color.es\",\n performance: \"product.performance.es\",\n recommend: [\"EM\", \"LQ\", \"P\", \"PM\"],\n dose: \"10-80%\",\n video: \"https://www.youtube.com/watch?v=Ul7JS_Qi8tM&feature=youtu.be\",\n },\n {\n name: \"MS series\",\n id: \"ms\",\n inci: \"Methicone\",\n product: [\n \"Ti-K Talc SF MS\",\n \"Ti-K Talc 13R MS\",\n \"Ti-K Talc 46R MS\",\n \"Ti-K TiO2 407 MS\",\n \"Ti-K TiO2 CR50 MS\",\n \"Ti-K ZnO MS\",\n \"Ti-K Sericite M MS\",\n \"Ti-K Sericite FSE MS\",\n \"Ti-K Sericite K MS\",\n \"Ti-K SPG 10 MS\",\n \"Ti-K Silica MS\",\n ],\n skinFeel: \"product.skin.ms\",\n waterRepel: \"product.water.ms\",\n color: \"product.color.ms\",\n performance: \"product.performance.ms\",\n recommend: [\"LQ\", \"P\", \"PM\"],\n dose: \"10-80%\",\n },\n {\n name: \"DS series\",\n id: \"ds\",\n inci: \"Dimethicone\",\n product: [\n \"Ti-K Talc SF DS\",\n \"Ti-K Talc 13R DS\",\n \"Ti-K Talc 46R DS\",\n \"Ti-K TiO2 407 DS\",\n \"Ti-K TiO2 CR50 DS\",\n \"Ti-K ZnO DS\",\n \"Ti-K Sericite M DS\",\n \"Ti-K Sericite FSE DS\",\n \"Ti-K Mica DS\",\n \"Ti-K Silica DS\",\n ],\n skinFeel: \"product.skin.ds\",\n waterRepel: \"product.water.ds\",\n color: \"product.color.ds\",\n performance: \"product.performance.ds\",\n recommend: [\"LQ\", \"P\", \"PM\"],\n dose: \"10-80%\",\n },\n {\n name: \"HDS series\",\n id: \"hds\",\n inci: \"Hydrogen\tDimethicone\",\n product: [\n \"Ti-K Talc SF HDS\",\n \"Ti-K Talc 13R HDS\",\n \"Ti-K Talc 46R HDS\",\n \"Ti-K TiO2 407 HDS\",\n \"Ti-K TiO2 CR50 HDS\",\n \"Ti-K ZnO HDS\",\n \"Ti-K Sericite M HDS\",\n \"Ti-K Sericite FSE HDS\",\n ],\n skinFeel: \"product.skin.hds\",\n waterRepel: \"product.water.hds\",\n color: \"product.color.hds\",\n performance: \"product.performance.hds\",\n recommend: [\"LQ\", \"P\"],\n dose: \"10-80%\",\n },\n {\n name: \"AS/CW series\",\n id: \"cw\",\n inci: \"Triethoxycaprylylsilane/Bis‐PEG‐12 Dimethicone/Candelilla wax\",\n product: [\n \"Ti-K Talc SF AS/CW\",\n \"Ti-K Talc 13R AS/CW\",\n \"Ti-K Talc 46R AS/CW\",\n \"Ti-K TiO2 407 AS/CW\",\n \"Ti-K TiO2 CR50 AS/CW\",\n \"Ti-K ZnO AS/CW\",\n \"Ti-K Sericite M AS/CW\",\n \"Ti-K Sericite FSE AS/CW\",\n ],\n skinFeel: \"product.skin.ascw\",\n waterRepel: \"product.water.ascw\",\n color: \"product.color.ascw\",\n performance: \"product.performance.ascw\",\n recommend: [\"LQ\", \"P\"],\n dose: \"10-80%\",\n },\n {\n name: \"GS series\",\n id: \"gs\",\n inci: \"Acrylates/Perfluorohexylethyl Methacrylate copolymer\",\n product: [\n \"Ti-K Talc SF GS\",\n \"Ti-K Talc 13R GS\",\n \"Ti-K Talc 46R GS\",\n \"Ti-K TiO2 407 GS\",\n \"Ti-K TiO2 CR50 GS\",\n \"Ti-K ZnO GS\",\n \"Ti-K Sericite M GS\",\n \"Ti-K Sericite FSE GS\",\n \"Ti-K Mica GS\",\n \"Ti-K Iron Oxide GS\",\n ],\n skinFeel: \"product.skin.gs\",\n waterRepel: \"product.water.gs\",\n oilRepel: \"product.oil.gs\",\n color: \"product.color.gs\",\n performance: \"product.performance.gs\",\n recommend: [\"LQ\", \"P\"],\n dose: \"10-80%\",\n },\n {\n name: \"Lusil series\",\n id: \"lusil\",\n inci: \"Cyclopentasiloxane/DImethicone/Vinyl\tDimethicone\tCrosspolymer\",\n product: [\n \"Ti-K Lusil Talc SF\",\n \"Ti-K Lusil Talc 13R\",\n \"Ti-K Lusil Talc 46R\",\n \"Ti-K Lusil TiO2 407\",\n \"Ti-K Lusil TiO2 CR50\",\n \"Ti-K Lusil ZnO\",\n \"Ti-K Lusil Sericite M\",\n \"Ti-K Lusil Sericite FSE\",\n \"Ti-K Lusil Mica\",\n ],\n skinFeel: \"product.skin.lusil\",\n waterRepel: \"product.water.lusil\",\n color: \"product.color.lusil\",\n performance: \"product.performance.lusil\",\n recommend: [\"EM\", \"LQ\", \"P\", \"PM\"],\n dose: \"10-80%\",\n },\n {\n name: \"LA series\",\n id: \"la\",\n inci:\n \"Butyl Methoxydibenzoylmethane/ Triethoxycaprylylsilane/\tHydrogenated Lecithin/ Tocopherol\tAcetate\",\n product: [\"Ti-K Talc SF LA\", \"Ti-K Sericite M LA\"],\n skinFeel: \"product.skin.la\",\n waterRepel: \"product.water.la\",\n color: \"product.color.la\",\n performance: \"product.performance.la\",\n recommend: [\"LQ\", \"P\"],\n dose: \"10-80%\",\n special: \"product.special.la\",\n },\n {\n name: \"LO series\",\n id: \"lo\",\n inci:\n \"Ethylhexyl Methoxydibenzoylmethane/ Triethoxycaprylylsilane/\tHydrogenated Lecithin/ Tocopherol\tAcetate\",\n product: [\"Ti-K Talc SF LO\", \"Ti-K Sericite M LO\"],\n skinFeel: \"product.skin.lo\",\n waterRepel: \"product.water.lo\",\n color: \"product.color.lo\",\n performance: \"product.performance.lo\",\n recommend: [\"LQ\", \"P\"],\n dose: \"10-80%\",\n special: \"product.special.lo\",\n },\n {\n name: \"DAS series\",\n id: \"das\",\n inci: \"Dimethicone/Triethoxy caprylylsilane\",\n product: [\"Ti-K Talc SF DAS\", \"Ti-K Talc 13R DAS\"],\n skinFeel: \"product.skin.das\",\n waterRepel: \"product.water.das\",\n color: \"product.color.das\",\n performance: \"product.performance.das\",\n recommend: [\"PM\", \"LQ\", \"P\"],\n dose: \"10-80%\",\n },\n {\n name: \"DMM series\",\n id: \"dmm\",\n inci: \"Dimethicone/Methicone\",\n product: [\"Ti-K Sericite FSE DMM\"],\n skinFeel: \"product.skin.dmm\",\n waterRepel: \"product.water.dmm\",\n color: \"product.color.dmm\",\n performance: \"product.performance.dmm\",\n recommend: [\"PM\", \"LQ\", \"P\"],\n },\n {\n name: \"SP series\",\n subSeries: [\n {\n name: \"Ti‐K SP110 / Ti-K SP105\",\n id: \"sp110\",\n inci: \"Organopolysiloxane\",\n skinFeel: \"product.skin.sp110\",\n performance: \"product.performance.sp110\",\n recommend: [\"EM\", \"LQ\", \"P\", \"PM\", \"LS\"],\n video: \"https://www.youtube.com/watch?v=zbDrXIjVljM&feature=youtu.be\",\n },\n {\n name: \"Ti‐K SP Titan\",\n id: \"sp-titan\",\n inci:\n \"Dimethicone/Vinyl Dimethicone Crosspolymer, Titanium\tDioxide, Triethoxycaprylylsilane, Alunimum Hydroxide \",\n skinFeel: \"product.skin.titan\",\n performance: \"product.performance.titan\",\n recommend: [\"LQ\", \"P\"],\n },\n {\n name: \"Ti‐K SP Talc\",\n id: \"sp-talc\",\n inci:\n \"Dimethicone/Vinyl Dimethicone Crosspolymer, Talc, Triethoxycaprylylsilane\",\n skinFeel: \"product.skin.titan\",\n performance: \"product.performance.titan\",\n recommend: [\"EM\", \"LQ\", \"P\", \"PM\", \"LS\"],\n },\n ],\n },\n];\n","import { Fragment } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { MyMenu, MyMenuItem, MySubMenuItem } from \"./styled\";\nimport { data } from \"../../data/products\";\nimport \"./menu.css\"\n\nconst CommonMenu = ({ menuMode }) => {\n const history = useHistory();\n\n const handleClick = (path) => {\n history.push(path);\n };\n\n return (\n \n {data.map((item, index) => {\n return (\n \n {item.subSeries ? (\n \n {item.subSeries.map((ele, i) => (\n handleClick(`${ele.id}`)}\n >\n {ele.name}\n \n ))}\n \n ) : (\n handleClick(`${item.id}`)}>\n {item.name}\n \n )}\n \n );\n })}\n \n );\n};\n\nexport default CommonMenu;\n","import styled, { css } from \"styled-components\";\nimport { spaces, otherColor, fontSizes } from \"../../styles/mixins\";\nimport { mediaPhone } from \"../../styles/media\";\nimport { VscCircleOutline } from \"react-icons/vsc\";\nimport { FcCheckmark } from \"react-icons/fc\";\n\nexport const Header = styled.div`\n width: 100%;\n text-align: left;\n`;\n\nexport const SubContent = styled.p`\n opacity: 0.7;\n margin-bottom: ${spaces.normal};\n`;\n\nexport const DetailContainer = styled.div`\n width: 100%;\n padding: ${spaces.large4};\n padding-bottom: 0;\n display: flex;\n ${mediaPhone(css`\n flex-direction: column;\n padding: ${spaces.normal};\n `)}\n`;\n\nexport const Detail = styled.div`\n width: 100%;\n padding: ${spaces.large4};\n padding-bottom: 0;\n ${mediaPhone(css`\n padding: 0;\n `)}\n`;\n\nexport const EachTopicContainer = styled.div`\n margin-bottom: ${spaces.large4};\n ${mediaPhone(css`\n margin-bottom: ${spaces.large2};\n `)}\n`;\n\nexport const Topic = styled.h2`\n font-size: ${fontSizes.large3};\n padding-left: ${spaces.normal};\n border-left: 5px solid ${otherColor.primary};\n transition: all 0.2s ease-in-out;\n ${mediaPhone(css`\n font-size: ${fontSizes.large1};\n `)}\n &:hover {\n border-left: 15px solid ${otherColor.primary};\n }\n`;\n\nexport const Content = styled.p`\n font-size: ${fontSizes.normal};\n padding: ${spaces.large2};\n word-wrap: break-word;\n ${mediaPhone(css`\n font-size: ${fontSizes.small1};\n padding: ${spaces.normal} ${spaces.large2};\n `)}\n`;\n\nexport const RecommedListItem = styled.li`\n list-style: none;\n padding: ${spaces.normal} ${spaces.large2};\n word-wrap: break-word;\n display:flex;\n ${mediaPhone(css`\n font-size: ${fontSizes.small1};\n padding: ${spaces.normal};\n `)}\n`;\n\nexport const ProductListContainer = styled.div`\n padding: 0 ${spaces.large6};\n ${mediaPhone(css`\n padding: 0 ${spaces.normal};\n `)}\n`;\n\nexport const ProductItem = styled.li`\n list-style: none;\n padding: ${spaces.normal} ${spaces.large2};\n display: flex;\n`;\n\nexport const ListContainer = styled.ul`\n padding-top: ${spaces.large1};\n`;\n\nexport const CircleList = styled(VscCircleOutline)`\n color: ${otherColor.primary};\n margin-right: ${spaces.normal}; \n`;\n\nexport const CheckList = styled(FcCheckmark)`\n font-size: ${fontSizes.large1};\n margin-right: ${spaces.normal};\n`;\n","import { Fragment, useState } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport { useMediaQuery } from \"react-responsive\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Divider from \"../Divider\";\nimport VideoCard from \"../VideoCard\";\n\nimport {\n Header,\n SubContent,\n DetailContainer,\n Detail,\n EachTopicContainer,\n Topic,\n Content,\n RecommedListItem,\n ProductListContainer,\n ProductItem,\n ListContainer,\n CircleList,\n CheckList,\n} from \"./styled\";\nimport { data } from \"../../data/products\";\n\nconst recommendFor = {\n EM: \"product.recommend.em\",\n LQ: \"product.recommend.lq\",\n P: \"product.recommend.p\",\n PM: \"product.recommend.pm\",\n LS: \"product.recommend.ls\",\n};\n\nconst ProductDetail = () => {\n const { productId } = useParams();\n const { t } = useTranslation();\n const [autoPlay, setAutoPlay] = useState(false);\n const isPhone = useMediaQuery({ query: \"(max-width: 600px)\" });\n\n const handleReady = () => {\n setAutoPlay(true);\n };\n \n let info = data.find((obj) => {\n if (obj.subSeries) {\n return obj.subSeries.find((subObj) => subObj.id === productId);\n } else {\n return obj.id === productId;\n }\n });\n let products = undefined;\n if (info.subSeries) {\n info = info.subSeries.find((obj) => obj.id === productId);\n } else {\n products = info.product;\n }\n\n return (\n \n
    \n

    {info.name}

    \n {info.inci}\n \n
    \n {info.video && (\n \n )}\n\n \n \n {info.performance && (\n \n {t(\"product.performance.title\")}\n {t(info.performance)}\n \n )}\n\n {info.special && (\n \n {t(\"product.speciality.title\")}\n {t(info.special)}\n \n )}\n\n {info.skinFeel && (\n \n {t(\"product.skin.title\")}\n {t(info.skinFeel)}\n \n )}\n\n {info.waterRepel && (\n \n {t(\"product.water.title\")}\n {t(info.waterRepel)}\n \n )}\n\n {info.oilRepel && (\n \n {t(\"product.oil.title\")}\n {t(info.oilRepel)}\n \n )}\n\n {info.color && (\n \n {t(\"product.color.title\")}\n {t(info.color)}\n \n )}\n \n\n \n {info.recommend && (\n \n {t(\"product.for.title\")}\n \n {info.recommend.map((item, id) => (\n \n
    \n \n
    \n
    {t(recommendFor[item])}
    \n
    \n ))}\n
    \n
    \n )}\n\n {info.dose && (\n \n {t(\"product.dose.title\")}\n {info.dose}\n \n )}\n
    \n
    \n {products && (\n \n {t(\"product.products.title\")}\n \n {products.map((item, index) => (\n \n \n {item}\n \n ))}\n \n \n )}\n
    \n );\n};\n\nexport default ProductDetail;\n","import styled, { css } from \"styled-components\";\nimport { spaces } from \"../../styles/mixins\";\nimport { mediaTabPort, mediaPhone } from \"../../styles/media\";\n\nexport const Container = styled.div`\n padding-bottom: ${spaces.large4};\n display: flex;\n background-color: #fff;\n ${mediaTabPort(css`\n flex-direction: column;\n `)}\n`;\n\nexport const SideMenu = styled.div`\n width: 20%;\n margin-right: ${spaces.large4};\n ${mediaTabPort(css`\n width: 100%;\n margin: 0;\n `)}\n`;\n\nexport const DetailContainer = styled.div`\n width: 100%;\n padding: ${spaces.large4};\n ${mediaPhone(css`\n padding: ${spaces.large1};\n `)}\n`;\n","import { useMediaQuery } from \"react-responsive\";\nimport CommonMenu from \"../../components/CommonMenu\";\nimport ProductDetail from \"../../components/ProductDetail\";\nimport { Container, SideMenu, DetailContainer } from \"./styled\";\nimport \"rc-menu/assets/index.css\";\n\nconst ProductPage = () => {\n const isTabPort = useMediaQuery({ query: \"(max-width: 900px)\" });\n\n return (\n \n {isTabPort ? (\n \n \n \n ) : (\n \n \n \n )}\n \n \n \n \n );\n};\nexport default ProductPage;\n","import { createGlobalStyle } from \"styled-components\";\nimport { fontSizes, fontWeight, white, black } from \"./mixins\";\nconst GlobalStyle = createGlobalStyle`\n *,\n *::after,\n *::before {\n margin: 0;\n padding: 0;\n box-sizing: inherit;\n }\n\n html{\n font-size: 62.5%;\n }\n\n body {\n box-sizing: border-box;\n font-family: \"Montserrat\", sans-serif;\n font-weight: ${fontWeight.regular};\n font-size: ${fontSizes.normal};\n color: ${black};\n background-color: ${white};\n }\n\n h1, h2, h3, h4, h5, h6, button {\n font-weight: ${fontWeight.regular};\n }\n\n a:link,a:visited {\n cursor: pointer;\n text-decoration: none;\n }\n\n p, div, a, span {\n word-break: break-word;\n }\n\n button {\n word-break: initial;\n }\n`;\n\nexport default GlobalStyle;\n","import React, { useEffect, Fragment, Suspense } from \"react\";\nimport { Switch, Route, Redirect } from \"react-router-dom\";\nimport { useLocation } from \"react-router-dom\";\n\nimport Nav from \"./components/Nav\";\nimport Footer from \"./components/Footer\";\nimport HomePage from \"./pages/HomePage\";\nimport TechnoPage from \"./pages/TechnoPage\";\nimport AboutPage from \"./pages/AboutPage\";\nimport ProductPage from \"./pages/ProductPage\";\nimport GlobalStyle from \"./styles/GlobalSheet\";\n\nimport \"react-medium-image-zoom/dist/styles.css\";\nimport \"react-image-gallery/styles/css/image-gallery.css\";\n\nconst App = () => {\n const { pathname } = useLocation();\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pathname]);\n \n return (\n \n \n