');-webkit-background-clip:text;background-clip:text;color:transparent;text-align:right}.Logo__Container .Logo .text{color:#a3cacd;font-size:14.4px;font-style:italic}.Logo__Container .Logo .stateof{left:0;top:0}.Logo__Container .Logo .year{bottom:0;right:0;text-align:right}.Logo__Container .Logo .triangle{left:4.8px;top:54px;width:43.2px}.Logo__Container .Logo .triangle .inner{border:30px solid transparent;border-bottom-color:#3c52d1;border-width:0 21.6px 30px;width:100%}.Logo__Container .Logo .stripe{background:#a3cacd;height:1.5px;width:30px}.Logo__Container .Logo .stripe1{left:28.8px;top:74.4px}.Logo__Container .Logo .stripe2{left:26.4px;top:80.4px}.Logo__Container .Logo .stripe3{left:24px;top:86.4px}.Logo__Container .Logo .stripe4{left:26.4px;top:92.4px}.Logo__Container .Logo .blobs{align-items:center;display:flex;filter:url(#blob);height:60px;justify-content:center;left:30px;top:36px;transform:rotate(-20deg);width:120px}.Logo__Container .Logo .blob{background:#a3cacd;border-radius:50%;height:100%;width:50%}.Logo__Container .Logo .blob2{transform:translateX(-12px)}.Logo__Container .Logo .circle{left:calc(50% - 3px);top:50%;width:76.8px}.Logo__Container .Logo .circle .inner{transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .circle .inner div{border:3px dashed #576de7;border-radius:100%;box-sizing:content-box;height:0;padding-bottom:100%;width:100%}.Logo__Container .Logo .frame{right:26.4px;top:50%;width:64.8px}.Logo__Container .Logo .frame .inner{transform:translateY(-50%) rotate(45deg)}.Logo__Container .Logo .frame .inner div{border:3px solid #576de7;box-shadow:2.1px 2.1px 0 0 #a3cacd;box-sizing:content-box;height:0;padding-bottom:100%;width:100%}.Logo__Container .Logo .tilde{font-size:33.6px;line-height:1}.Logo__Container .Logo .tilde1{right:12px;top:24px}.Logo__Container .Logo .tilde2{right:9.6px;top:30px}.Logo__Container .Logo .tilde3{right:7.2px;top:36px}.Logo__Container .Logo--animated .c>div{animation-delay:.1s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s1>div{animation-delay:.2s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s2>div{animation-delay:.3s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .circle>div>div{animation-delay:.5s;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:popspin;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .frame{animation-delay:.8s;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slidetop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0) translateY(-60px) rotate(180deg)}.Logo__Container .Logo--animated .blob1{animation-delay:.9s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .blob2{animation-delay:1.1s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:blob;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-100%)}.Logo__Container .Logo--animated .stripe1{animation-delay:1.4s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .stripe2{animation-delay:1.5s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .stripe3{animation-delay:1.6s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .stripe4{animation-delay:1.7s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .tilde1{animation-delay:1.9s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideright;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-12px)}.Logo__Container .Logo--animated .tilde2{animation-delay:2s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideright;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-12px)}.Logo__Container .Logo--animated .tilde3{animation-delay:2.1s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideright;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-12px)}.Logo__Container .Logo--animated .triangle{animation-delay:2.8s;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:popspin;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .stateof{animation-delay:2.2s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:appear;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}.Logo__Container .Logo--animated .year{animation-delay:2.5s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:appear;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}}@media screen and (min-width:600px)and (max-width:999px){.Logo__Container .Logo{height:200px;position:relative;text-shadow:none;width:400px}.Logo__Container .Logo>*{position:absolute}.Logo__Container .Logo .letter{color:#f95db2;font-size:144px;font-weight:800;line-height:1}.Logo__Container .Logo .c{left:48px;text-shadow:5px 5px 0 #576de7;top:50%;transform:translateY(-50%)}.Logo__Container .Logo .s1{left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .s2{right:48px;top:50%;transform:translateY(-50%)}.Logo__Container .Logo .s2 div{background:url('data:image/svg+xml;utf8, ');-webkit-background-clip:text;background-clip:text;color:transparent;text-align:right}.Logo__Container .Logo .text{color:#a3cacd;font-size:24px;font-style:italic}.Logo__Container .Logo .stateof{left:0;top:0}.Logo__Container .Logo .year{bottom:0;right:0;text-align:right}.Logo__Container .Logo .triangle{left:8px;top:90px;width:72px}.Logo__Container .Logo .triangle .inner{border:50px solid transparent;border-bottom-color:#3c52d1;border-width:0 36px 50px;width:100%}.Logo__Container .Logo .stripe{background:#a3cacd;height:2.5px;width:50px}.Logo__Container .Logo .stripe1{left:48px;top:124px}.Logo__Container .Logo .stripe2{left:44px;top:134px}.Logo__Container .Logo .stripe3{left:40px;top:144px}.Logo__Container .Logo .stripe4{left:44px;top:154px}.Logo__Container .Logo .blobs{align-items:center;display:flex;filter:url(#blob);height:100px;justify-content:center;left:50px;top:60px;transform:rotate(-20deg);width:200px}.Logo__Container .Logo .blob{background:#a3cacd;border-radius:50%;height:100%;width:50%}.Logo__Container .Logo .blob2{transform:translateX(-20px)}.Logo__Container .Logo .circle{left:calc(50% - 5px);top:50%;width:128px}.Logo__Container .Logo .circle .inner{transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .circle .inner div{border:5px dashed #576de7;border-radius:100%;box-sizing:content-box;height:0;padding-bottom:100%;width:100%}.Logo__Container .Logo .frame{right:44px;top:50%;width:108px}.Logo__Container .Logo .frame .inner{transform:translateY(-50%) rotate(45deg)}.Logo__Container .Logo .frame .inner div{border:5px solid #576de7;box-shadow:3.5px 3.5px 0 0 #a3cacd;box-sizing:content-box;height:0;padding-bottom:100%;width:100%}.Logo__Container .Logo .tilde{font-size:56px;line-height:1}.Logo__Container .Logo .tilde1{right:20px;top:40px}.Logo__Container .Logo .tilde2{right:16px;top:50px}.Logo__Container .Logo .tilde3{right:12px;top:60px}.Logo__Container .Logo--animated .c>div{animation-delay:.1s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s1>div{animation-delay:.2s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s2>div{animation-delay:.3s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .circle>div>div{animation-delay:.5s;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:popspin;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .frame{animation-delay:.8s;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slidetop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0) translateY(-100px) rotate(180deg)}.Logo__Container .Logo--animated .blob1{animation-delay:.9s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .blob2{animation-delay:1.1s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:blob;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-100%)}.Logo__Container .Logo--animated .stripe1{animation-delay:1.4s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .stripe2{animation-delay:1.5s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .stripe3{animation-delay:1.6s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .stripe4{animation-delay:1.7s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .tilde1{animation-delay:1.9s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideright;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-20px)}.Logo__Container .Logo--animated .tilde2{animation-delay:2s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideright;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-20px)}.Logo__Container .Logo--animated .tilde3{animation-delay:2.1s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideright;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-20px)}.Logo__Container .Logo--animated .triangle{animation-delay:2.8s;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:popspin;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .stateof{animation-delay:2.2s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:appear;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}.Logo__Container .Logo--animated .year{animation-delay:2.5s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:appear;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}}@media screen and (min-width:1000px){.Logo__Container .Logo{height:320px;position:relative;text-shadow:none;width:640px}.Logo__Container .Logo>*{position:absolute}.Logo__Container .Logo .letter{color:#f95db2;font-size:230.4px;font-weight:800;line-height:1}.Logo__Container .Logo .c{left:76.8px;text-shadow:8px 8px 0 #576de7;top:50%;transform:translateY(-50%)}.Logo__Container .Logo .s1{left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .s2{right:76.8px;top:50%;transform:translateY(-50%)}.Logo__Container .Logo .s2 div{background:url('data:image/svg+xml;utf8, ');-webkit-background-clip:text;background-clip:text;color:transparent;text-align:right}.Logo__Container .Logo .text{color:#a3cacd;font-size:38.4px;font-style:italic}.Logo__Container .Logo .stateof{left:0;top:0}.Logo__Container .Logo .year{bottom:0;right:0;text-align:right}.Logo__Container .Logo .triangle{left:12.8px;top:144px;width:115.2px}.Logo__Container .Logo .triangle .inner{border:80px solid transparent;border-bottom-color:#3c52d1;border-width:0 57.6px 80px;width:100%}.Logo__Container .Logo .stripe{background:#a3cacd;height:4px;width:80px}.Logo__Container .Logo .stripe1{left:76.8px;top:198.4px}.Logo__Container .Logo .stripe2{left:70.4px;top:214.4px}.Logo__Container .Logo .stripe3{left:64px;top:230.4px}.Logo__Container .Logo .stripe4{left:70.4px;top:246.4px}.Logo__Container .Logo .blobs{align-items:center;display:flex;filter:url(#blob);height:160px;justify-content:center;left:80px;top:96px;transform:rotate(-20deg);width:320px}.Logo__Container .Logo .blob{background:#a3cacd;border-radius:50%;height:100%;width:50%}.Logo__Container .Logo .blob2{transform:translateX(-32px)}.Logo__Container .Logo .circle{left:calc(50% - 8px);top:50%;width:204.8px}.Logo__Container .Logo .circle .inner{transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .circle .inner div{border:8px dashed #576de7;border-radius:100%;box-sizing:content-box;height:0;padding-bottom:100%;width:100%}.Logo__Container .Logo .frame{right:70.4px;top:50%;width:172.8px}.Logo__Container .Logo .frame .inner{transform:translateY(-50%) rotate(45deg)}.Logo__Container .Logo .frame .inner div{border:8px solid #576de7;box-shadow:5.6px 5.6px 0 0 #a3cacd;box-sizing:content-box;height:0;padding-bottom:100%;width:100%}.Logo__Container .Logo .tilde{font-size:89.6px;line-height:1}.Logo__Container .Logo .tilde1{right:32px;top:64px}.Logo__Container .Logo .tilde2{right:25.6px;top:80px}.Logo__Container .Logo .tilde3{right:19.2px;top:96px}.Logo__Container .Logo--animated .c>div{animation-delay:.1s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s1>div{animation-delay:.2s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s2>div{animation-delay:.3s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .circle>div>div{animation-delay:.5s;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:popspin;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .frame{animation-delay:.8s;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slidetop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0) translateY(-160px) rotate(180deg)}.Logo__Container .Logo--animated .blob1{animation-delay:.9s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:pop;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .blob2{animation-delay:1.1s;animation-duration:.5s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:blob;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-100%)}.Logo__Container .Logo--animated .stripe1{animation-delay:1.4s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .stripe2{animation-delay:1.5s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .stripe3{animation-delay:1.6s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .stripe4{animation-delay:1.7s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideleft;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .tilde1{animation-delay:1.9s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideright;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-32px)}.Logo__Container .Logo--animated .tilde2{animation-delay:2s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideright;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-32px)}.Logo__Container .Logo--animated .tilde3{animation-delay:2.1s;animation-duration:.4s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:slideright;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-32px)}.Logo__Container .Logo--animated .triangle{animation-delay:2.8s;animation-duration:.6s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:popspin;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .stateof{animation-delay:2.2s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:appear;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}.Logo__Container .Logo--animated .year{animation-delay:2.5s;animation-duration:.3s;animation-fill-mode:forwards;animation-iteration-count:1;animation-name:appear;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}}.Feature__Links,.Feature__Support{font-size:.9rem;font-weight:400}.FTBlock__Links__Item{margin-bottom:6.6666666667px}.Features__Overview{display:flex;flex-wrap:wrap;justify-content:space-between}.Features__Overview__Item{display:grid;grid-template-rows:210px 50px;height:260px;margin-bottom:40px;width:240px}.Features__Overview__Item__Footer{align-items:center;border-bottom:2px solid #9ac6c9;border-top:2px solid #9ac6c9;display:flex;font-size:.9rem;font-weight:800;justify-content:center}.Features__Overview__Item__Footer:hover{background:#9ac6c9;color:#fff;cursor:pointer}.capture .FTBlock__Description{grid-column:1/3}@media screen and (max-width:599px){.FTBlock__Resources{margin-top:20px}}.FTBlock__Resources h3{font-size:1rem;margin-bottom:10px}.FTBlock__Resources ul{padding-left:20px}.capture .FTBlock__Resources{display:none}.OpinionScaleChart{padding-top:20px}.OpinionScaleChart svg{overflow:visible}.FeaturesOverviewChart{height:100%}@media screen and (max-width:599px){.FeaturesSectionOverviewChart{height:200px;height:400px}}@media screen and (min-width:600px)and (max-width:999px){.FeaturesSectionOverviewChart{height:500px}}@media screen and (min-width:1000px){.FeaturesSectionOverviewChart{height:500px}}.ToolsOverviewCirclePackingChart svg{overflow:visible}@media screen and (max-width:599px){.TechnologiesOverviewChart{height:800px}}@media screen and (min-width:600px)and (max-width:999px){.TechnologiesOverviewChart{height:800px}}@media screen and (min-width:1000px){.TechnologiesOverviewChart{height:800px}}.Scatterplot__Crosshair__Line{stroke-dasharray:8,4;animation:svgAnts 50s linear infinite;animation-fill-mode:forwards}.text-highlight{background:#41c7c7;background:#000}.text-green,.text-highlight{border-radius:15px;color:#232840;display:inline-block;font-weight:800;padding:0 12px}.text-green{background:#41c7c7;background:#85eba2}.text-pink{background:#41c7c7;background:#f95db2}.text-pink,.text-pink-light{border-radius:15px;color:#232840;display:inline-block;font-weight:800;padding:0 12px}.text-pink-light{background:#41c7c7;background:#ec75cb}.text-pink-lighter{background:#41c7c7;background:#d68df0}.text-pink-lighter,.text-red{border-radius:15px;color:#232840;display:inline-block;font-weight:800;padding:0 12px}.text-red{background:#41c7c7;background:#fe6a6a}.text-blue{background:#41c7c7;background:#576de7}.text-blackred,.text-blue{border-radius:15px;color:#232840;display:inline-block;font-weight:800;padding:0 12px}.text-blackred{background:#41c7c7;background:rgba(0,0,0,.3);border:1px solid #fe6a6a;color:#41c7c7}.text-bold{font-weight:800}.Chip{display:block;height:12px;margin-right:7px;overflow:hidden;position:relative;width:12px}.Chip__Inner{display:block;height:100%;width:100%}.Chip--split .Chip__Inner{bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.Chip--split .Chip__Inner:last-child{height:100%;transform:translateX(-3px) translateY(5px) rotate(-45deg);width:200%;z-index:2}.edition-td2023,.edition-td2024{font-family:Inter var,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:16px}.edition-td2023 .block-header,.edition-td2024 .block-header{display:block}@media screen and (max-width:599px){.edition-td2023 .PageTitle,.edition-td2024 .PageTitle{font-size:2.5rem}}@media screen and (min-width:600px){.edition-td2023 .PageTitle,.edition-td2024 .PageTitle{font-size:4rem}}.edition-td2023 .BlockTitleText,.edition-td2024 .BlockTitleText{font-size:2rem}.edition-td2023 .Block__Title,.edition-td2024 .Block__Title{margin-bottom:10px}.edition-td2023 .Button,.edition-td2024 .Button{border:2px solid #818cf8;border-radius:.375rem;color:#818cf8;text-transform:uppercase}.edition-td2023 .ButtonGroup .Button,.edition-td2024 .ButtonGroup .Button{border-radius:0;margin-left:-2px}.edition-td2023 .ButtonGroup .Button:first-child,.edition-td2024 .ButtonGroup .Button:first-child{border-radius:.375rem 0 0 .375rem}.edition-td2023 .ButtonGroup .Button:last-child,.edition-td2024 .ButtonGroup .Button:last-child{border-radius:0 .375rem .375rem 0}.edition-td2023 .InternalLink,.edition-td2024 .InternalLink{font-weight:400}button.language-switcher-trigger{height:100%}button.language-switcher-trigger,button.language-switcher-trigger:hover{border:none}button.language-switcher-trigger svg{display:block;position:relative;width:12px}button.language-switcher-trigger svg polygon{fill:var(--textColor)}@media screen and (max-width:999px){.Pagination button.language-switcher-trigger{display:none}}@media screen and (min-width:1000px){.Sidebar button.language-switcher-trigger{display:none}}.sidebar-locales{align-items:center;display:flex;flex-direction:column;gap:var(--quarterSpacing)}@media screen and (min-width:1000px){.sidebar-locales{display:none}}.chart-legend{align-items:center;display:flex;flex-grow:1;gap:10px;overflow:hidden}@media screen and (max-width:599px){.chart-legend{justify-content:space-between}}@media screen and (min-width:600px){.chart-legend{justify-content:flex-end}}.chart-legend-control{overflow:hidden}.chart-legend-items{display:flex;justify-content:center;overflow:hidden;width:100%}.chart-legend-item{align-items:center;display:flex;flex-shrink:1;gap:5px;overflow:hidden;white-space:nowrap}.legend-item-color{background:linear-gradient(to left,var(--color1),var(--color2));border:1px solid #fff;flex-shrink:0;height:12px;width:12px}.legend-item-label{flex-shrink:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-legend-heading{font-size:.9rem;margin:0;white-space:nowrap}.column-heading-sort-enabled{border:1px solid #fff!important}.column-heading-order-asc.column-heading-sort-enabled .order-asc,.column-heading-order-desc.column-heading-sort-enabled .order-desc{display:block;opacity:1}.chart-legend-2{border:1px solid var(--borderColor);display:grid;font-size:.9rem;grid-template-columns:repeat(auto-fit,minmax(140px,auto));padding:var(--quarterSpacing) var(--halfSpacing)}.chart-legend-2 .chart-legend-item{cursor:default;padding:var(--quarterSpacing) var(--halfSpacing)}.chart-legend-2 .chart-legend-item:hover{background-color:var(--backgroundAltColor)}.chart-metadata{align-items:center;display:flex;font-size:.8rem;gap:var(--spacing)}@media screen and (max-width:599px){.chart-metadata{flex-wrap:wrap;justify-content:center}}.chart-metadata-item{align-items:center;display:flex;gap:5px}.chart-wrapper{display:flex;flex-direction:column;gap:var(--doubleSpacing);margin-top:var(--doubleSpacing)}@media screen and (min-width:600px){.chart-subgrid{display:grid;grid-column-end:4;grid-column-start:1;grid-template-columns:subgrid}}.chart-row{align-items:center}@media screen and (max-width:599px){.chart-row{column-gap:var(--halfSpacing);display:grid;grid-template-areas:"heading metadata" "content content";grid-template-columns:minmax(0,max-content) minmax(0,1fr);padding:var(--spacing) 0;position:relative;row-gap:var(--spacing)}}.chart-axis{align-items:center}@media screen and (max-width:599px){.chart-rows-zebra .chart-row:nth-child(2n){background-color:color-mix(in srgb,var(--backgroundAltColor) 50%,transparent)}}@media screen and (min-width:600px){.chart-rows-zebra .chart-row:nth-child(2n) .chart-row-content{background-color:color-mix(in srgb,var(--backgroundAltColor) 50%,transparent)}}.chart-row-grouped{background:hsla(0,0%,100%,.067)}.chart-row:hover{background:hsla(0,0%,100%,.067)}.chart-row-content{padding:var(--halfSpacing) 0}@media screen and (min-width:600px){.chart-row-content{position:relative}}.chart-bar{height:var(--barHeight);left:calc(var(--rowOffset)*-1px);position:relative}.chart-row-freeform-icon-wrapper{align-items:center;display:flex;height:var(--barHeight);left:calc(var(--offset)*1% + 7px);position:absolute}.chart-row-freeform-icon{display:block;opacity:.5}.chart-row-left{display:flex;grid-area:heading}@media screen and (max-width:599px){.chart-row-left{align-items:center;gap:var(--halfSpacing)}.chart-row-left .chart-row-index{order:2}.chart-row-left .chart-row-index:before{content:"#"}}@media screen and (min-width:600px){.chart-row-left{align-items:center;gap:var(--spacing);justify-content:space-between}}.chart-row-index{color:var(--textAltColor);font-size:1.1rem;opacity:.7}@media screen and (max-width:599px){.chart-row-index{font-size:.9rem}}.chart-sort-options .chart-row-index{display:none}.chart-row-content{grid-area:content}@media screen and (max-width:599px){.chart-row-content{padding:0}}.chart-row-right{align-items:center;display:flex;gap:var(--spacing);grid-area:metadata}@media screen and (max-width:599px){.chart-row-right{justify-content:flex-end;padding-right:var(--quarterSpacing)}}.chart-row-heading-label{gap:5px}.chart-row-heading,.chart-row-heading-label{align-items:center;display:flex;justify-content:flex-end}.chart-row-heading{font-size:var(--chartFontColumnHeading);font-size:.9rem;font-weight:400;gap:10px;height:var(--barHeight);margin:0;max-width:100%;text-overflow:ellipsis;white-space:nowrap}.chart-row-heading-grouped{opacity:.5}.chart-row-gridlines{bottom:0;left:0;position:absolute;right:0;top:0}.chart-row-gridlines-item{border-right:1px dotted var(--borderAltColor);bottom:0;left:var(--xOffset);position:absolute;top:0;width:1px}.chart-note{background:var(--backgroundAltColor);font-size:.9rem;margin-top:var(--spacing);padding:var(--spacing)}.chart-note ol:last-child,.chart-note p:last-child,.chart-note ul:last-child{margin:0}.chart-cell-label{display:flex;font-size:.8rem}.chart-cell-label svg{margin-left:-2px;width:11px}.chart-cell-label svg .inner{fill:#fff}.chart-cell-label svg .outer{fill:rgba(0,0,0,.867)}.chart-custom-variant{position:relative}.chart-placeholder{height:400px}@media screen and (max-width:599px){.chart-wrapper-grid{display:flex;flex-direction:column;gap:var(--spacing)}}@media screen and (min-width:600px){.chart-wrapper-grid{column-gap:var(--doubleSpacing);display:grid;grid-template-columns:1fr 1fr;row-gap:var(--doubleSpacing)}}.chart-grid-item{min-width:0}.chart-grid-item-heading{background:var(--backgroundAltColor);border-radius:3px;display:flex;font-size:.8rem;gap:var(--spacing);justify-content:space-between;margin-bottom:var(--spacing);padding:var(--quarterSpacing) var(--halfSpacing);width:100%}.chart-grid-item-heading-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-footer{align-items:center;border-top:1px solid hsla(0,0%,100%,.2);display:flex;justify-content:space-between;padding-top:var(--spacing)}@media screen and (max-width:599px){.chart-footer{flex-direction:column;gap:var(--spacing)}}.chart-footer-right{align-items:center;display:flex;gap:var(--spacing);justify-content:space-between}.chart-axis{font-size:.8rem}.chart-axis-top .chart-axis-inner{border-bottom:1px dotted var(--borderAltColor)}.chart-axis-bottom .chart-axis-inner{border-top:1px dotted var(--borderAltColor)}.chart-axis-horizontal .chart-axis-inner{grid-area:content}.chart-axis-horizontal .chart-axis-ticks{height:30px;position:relative}.chart-axis-horizontal .chart-axis-tick{left:var(--xOffset);position:absolute}.chart-axis-horizontal .chart-axis-tick:before{background:var(--borderAltColor);content:" ";display:block;height:10px;position:absolute;width:1px}.chart-axis-horizontal .chart-axis-tick-label{color:var(--textAltColor);position:absolute;top:5px;transform:translate(-50%)}.chart-axis-horizontal .chart-axis-label{display:flex;justify-content:center;margin-top:var(--spacing)}.chart-axis-bottom .chart-axis-tick:before{top:-5px}.chart-axis-top .chart-axis-tick:before{top:25px}.chart-showall{background:linear-gradient(to top,var(--backgroundColor) 20%,transparent);bottom:0;left:0;padding:60px 0 20px;position:relative;position:absolute;right:0;z-index:1}.chart-freeform,.chart-showall{display:flex;justify-content:center}.chart-freeform{align-items:center;gap:var(--quarterSpacing);text-transform:uppercase}.chart-respondent-count{align-items:center;display:flex;gap:5px}.chart-row-insufficient-data .chart-respondent-count{display:none}.chart-controls{display:flex;flex-direction:column;gap:var(--spacing)}.chart-controls-top{display:flex;justify-content:center}.chart-controls-bottom{display:flex;gap:var(--halfSpacing)}@media screen and (max-width:599px){.chart-controls-bottom{flex-direction:column}}@media screen and (min-width:600px){.chart-controls-bottom{justify-content:space-between}}.chart-toggle{align-items:center;display:flex;gap:10px;overflow:hidden}@media screen and (max-width:599px){.chart-toggle{justify-content:space-between}}@media screen and (min-width:600px){.chart-toggle{justify-content:flex-end}}.chart-toggle-control{flex:1 1;overflow:hidden}.chart-toggle-items{display:flex;justify-content:center;overflow:hidden;width:100%}.chart-toggle-item-enabled{background:var(--backgroundAltColor)!important}.ModalContent .chart-toggle-item-enabled{background:var(--backgroundColor)!important}.chart-toggle-item{align-items:center;display:flex;flex-shrink:1;gap:5px;overflow:hidden;white-space:nowrap}.chart-toggle-heading{font-size:.9rem;margin:0;white-space:nowrap}.order-asc,.order-desc{display:none;opacity:.5}.chart-toggle-order-asc .order-asc,.chart-toggle-order-desc .order-desc{display:block;opacity:1}.filters-sections{display:flex;flex-direction:column;gap:var(--doubleSpacing)}@media screen and (min-width:600px){.filters-section{display:grid;gap:var(--doubleSpacing);grid-template-columns:1fr minmax(120px,min-content)}}.filters-section-description{font-size:.9rem;margin-bottom:var(--spacing)}.filters-section-image{display:flex;flex-direction:column;gap:var(--halfSpacing)}@media screen and (max-width:599px){.filters-section-image{display:none}}.filters-section-image svg{display:block;opacity:.5;width:100%}.filters-section-image figcaption{color:var(--textAltColor);font-size:.7rem;text-align:center}.details-trigger{align-items:center;background:none;background-color:var(--backgroundBackgroundColor);border:none;border-bottom:1px solid var(--borderAltColor);display:flex;justify-content:space-between;margin-bottom:var(--halfSpacing);padding:0;padding:var(--halfSpacing);width:100%}.details-heading{color:var(--textColor);margin:0}.details-icon{transition:all .3s ease-out}.details-closed .details-icon{transform:rotate(-90deg)}.details-contents{padding-top:var(--halfSpacing)}.filters-parameters{display:flex;flex-direction:column;gap:var(--spacing)}.filters-parameter{display:grid;gap:var(--spacing);grid-template-columns:200px 1fr}.filters-parameter-label{align-items:center;display:flex;gap:5px}.filters-parameter-input{align-items:center;display:flex;gap:var(--halfSpacing)}.no-data{margin-top:var(--spacing)}.chart-facet{border-bottom:1px solid hsla(0,0%,100%,.2);margin-bottom:20px;padding-bottom:20px}.chart-facet-content{display:flex;flex-direction:column;gap:10px;grid-column-end:4;grid-column-start:2}.chart-heading{border-bottom:1px solid hsla(0,0%,100%,.2);display:flex;gap:var(--spacing);justify-content:space-between;padding-bottom:20px}@media screen and (max-width:599px){.chart-heading{flex-direction:column}}.chart-created_at_date_by_source .chart-heading{border:none;flex-direction:column}.chart-control-button{align-items:center;display:flex;gap:5px}.chart-actions{display:flex;justify-content:center}.chart-heading-facet{align-items:center;display:flex;gap:20px}.chart-cell{align-items:center;border-radius:2px;display:flex;justify-content:center}.tooltip-trigger-withBorder{border-bottom:1px dotted hsla(0,0%,100%,.6)}.chart-row .chart-bar,.chart-row .chart-faceted-bar{position:relative}.horizontal-chart-cell{background:linear-gradient(to left,var(--color1),var(--color2));height:var(--barHeight);left:calc(var(--offset)*1%);position:absolute;width:calc(var(--width)*1%)}.horizontal-chart-cell.active-sort{box-shadow:0 0 0 2px hsla(0,0%,100%,.933);z-index:1}.chart-item{align-items:center;display:flex;gap:10px;max-width:100%}.chart-item-label{font-size:.8rem;max-width:200px;overflow:hidden;text-align:right;text-overflow:ellipsis}.chart-item-entity .tooltip-trigger{border-bottom:none}button.button-round{background:var(--backgroundColor);border-radius:500px;font-size:.9rem;padding:4px 8px;white-space:nowrap;z-index:1}button.chart-item{padding:4px 8px 4px 4px}.item-name{margin-bottom:5px}.item-description{font-size:.8rem;margin-bottom:var(--spacing)}.item-links,.item-resources{list-style-type:none;margin:0;padding:0}.item-resources{border-top:1px solid var(--borderAltColor);margin-top:var(--quarterSpacing);padding-top:var(--quarterSpacing)}.item-resources li{border-bottom:1px solid var(--borderAltColor);margin-bottom:var(--quarterSpacing);padding-bottom:var(--quarterSpacing)}.item-links-item-link{align-items:center;display:flex;gap:10px}.item-modal .code-example{background:var(--backgroundColor);font-size:.8rem;margin-bottom:var(--spacing);padding:var(--spacing)}.baseline-indicator{border-radius:100%;color:transparent;height:8px;overflow:hidden;width:8px}.baseline-indicator-false{background-color:var(--textColor)}.baseline-indicator-low{background-color:#366ceb}.baseline-indicator-high{background-color:#4fa251}.baseline-indicator-text{border-bottom:3px solid}.baseline-indicator-text-low{border-color:#366ceb}.baseline-indicator-text-high{border-color:#4fa251}.baseline-data{display:flex;flex-direction:column;gap:var(--halfSpacing);margin-top:var(--spacing)}.baseline-data h4{margin:0}.baseline-support{align-items:center;display:flex;gap:calc(var(--spacing)*1.5)}.baseline-support-icon{position:relative}.baseline-support-icon-disabled .baseline-support-browser{opacity:.5}.baseline-support-icon-disabled .baseline-support-close{opacity:.6}.baseline-support-check,.baseline-support-close{bottom:0;height:16px!important;position:absolute;right:-8px;width:16px!important}.baseline-support-check svg{color:var(--linkColor)!important}.baseline-support-close svg{color:var(--textColor)!important}.chart-freeform-answers span{align-items:center;display:flex;gap:5px}.chart-freeform-answers-heading div{display:inline}.freeform-answers-options{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing)}.freeform-answers-filter{align-items:center;display:flex;gap:var(--quarterSpacing)}.freeform-answers-filter h4{margin:0}.chart-row-insufficient-data-wrapper{padding-left:var(--halfSpacing)}.chart-insufficient-data{opacity:.7;text-transform:uppercase}.chart-rows,.chart-rows-content{position:relative}@media screen and (min-width:600px){.chart-rows{column-gap:20px;display:grid;grid-template-areas:"heading content metadata";grid-template-columns:min-content 1fr min-content}}.boxplot-svg{overflow:visible;width:100%}.boxplot-axis-svg{display:block;height:30px}.chart-boxplot-placeholder{height:0;width:100%}.chart-facet-title{align-items:center;display:flex;flex-wrap:wrap;gap:5px}.chart-facet-title-item{background:var(--backgroundAltColor);border-radius:20px;display:inline-block;font-size:.9rem;overflow:hidden;padding:2px 8px;text-overflow:ellipsis;white-space:nowrap}.chart-facet-facet{align-items:center;display:flex;gap:5px}@media screen and (max-width:599px){.serie-axis{display:none}}@media screen and (min-width:600px){.back-to-back-wrapper{display:grid;gap:var(--quarterSpacing);grid-template-columns:1fr min-content 1fr}.back-to-back-serie{min-width:0}.back-to-back-serie-1 .chart-row-left,.back-to-back-serie-2 .chart-row-left{display:none}.back-to-back-serie-1 .chart-grid-item-heading,.back-to-back-serie-2 .chart-grid-item-heading{text-align:center}.back-to-back-serie-2{min-width:0}.serie-axis .chart-grid-item-heading{overflow:hidden;visibility:hidden;white-space:nowrap;width:1px}.serie-axis .chart-rows{gap:0;grid-template-columns:1fr 0 0}.serie-axis .chart-axis,.serie-axis .chart-row-content{visibility:hidden}.serie-axis .chart-row-index{display:none}.serie-axis .chart-row-right{visibility:hidden}.serie-axis .chart-row-left{justify-content:center}.serie-reversed .chart-rows{grid-template-areas:"metadata content heading"}.serie-reversed .horizontal-chart-cell{left:auto;right:calc(var(--offset)*1%)}.serie-reversed .chart-axis-tick{left:auto;right:var(--xOffset)}.serie-reversed .chart-row-insufficient-data-wrapper{display:flex;justify-content:flex-end;padding-right:var(--halfSpacing)}}.chart-columns-wrapper{--contentHeight:400px;display:flex;gap:var(--spacing);position:relative}.chart-columns{display:grid;grid-template-rows:var(--contentHeight) min-content;width:100%}.chart-columns-withLabel{grid-template-columns:min-content repeat(var(--totalColumns),1fr) min-content 30px}.chart-columns-noLabel{grid-template-columns:min-content repeat(var(--totalColumns),1fr) min-content}.chart-columns-gridlines{display:grid;grid-column:1/span calc(var(--totalColumns) + 1);grid-row:1/2;grid-template-columns:subgrid;grid-template-rows:subgrid;margin-bottom:1px;position:relative}.chart-columns-gridlines-item{border-bottom:1px dotted var(--borderAltColor);height:1px;left:0;position:absolute;right:0;top:var(--yOffset)}.chart-axis-label{display:grid;padding-left:10px;place-items:center}.chart-axis-label div{transform:rotate(-90deg) translateY(-100%)}.chart-axis-vertical{display:grid;grid-row:1/2;grid-template-rows:subgrid}.chart-axis-vertical .chart-axis-inner{height:100%}.chart-axis-vertical .chart-axis-ticks{display:flex;flex-direction:column-reverse;height:100%;justify-content:space-between;position:relative}.chart-axis-vertical .chart-axis-tick{height:1px;position:relative}.chart-axis-vertical .chart-axis-tick:after{background:var(--borderAltColor);content:" ";display:block;height:1px;position:absolute;top:0;width:10px}.chart-axis-vertical .chart-axis-tick-label{transform:translateY(-50%)}.chart-axis-left{grid-column:1/2}.chart-axis-left .chart-axis-inner{border-right:1px dotted var(--borderAltColor)}.chart-axis-left .chart-axis-tick{padding-right:15px}.chart-axis-left .chart-axis-tick:after{right:-5px}.chart-axis-right{grid-column:calc(var(--totalColumns) + 2)/span 1}.chart-axis-right .chart-axis-inner{border-left:1px dotted var(--borderAltColor)}.chart-axis-right .chart-axis-tick{padding-left:15px}.chart-axis-right .chart-axis-tick:after{left:-5px}.chart-lines-wrapper{grid-column:2/span calc(var(--totalColumns));grid-row:1/2;margin-bottom:1px;position:relative}.chart-lines{height:100%;overflow:visible;width:100%}.chart-line{transition:all .3s ease}.chart-line-segment{stroke:currentColor;stroke-width:2px;transition:all .5s ease}.chart-line-segment-invisible{stroke-width:20px;stroke:transparent}.chart-line-dot{transition:all .3s ease}.chart-line-dot:hover{transform:scale(1.5)}.chart-line-dot-visible{stroke:currentColor;stroke-width:2px;fill:var(--backgroundColor);transition:all .5s ease}.chart-line-dot-invisible{stroke:none;fill:transparent}.chart-line-label{fill:var(--textColor);text-anchor:middle;dominant-baseline:middle;display:none;font-size:.9rem;font-weight:700;text-shadow:rgba(0,0,0,.933) 1px 1px 2px}.chart-line-highlightActive{opacity:.25}.chart-line-highlighted{opacity:1}.chart-line-highlighted .chart-line-dot-visible,.chart-line-highlighted .chart-line-segment{stroke-width:4px}.chart-line-highlighted .chart-line-label{display:block}.chart-column{display:grid;grid-column:var(--columnStart)/var(--columnEnd);grid-row:1/3;grid-template-rows:subgrid;min-width:0}.chart-column .chart-bar,.chart-column .chart-faceted-bar{height:100%;position:relative}.vertical-chart-cell{background:linear-gradient(to top,var(--color1),var(--color2));bottom:calc(var(--offset)*1%);height:calc(var(--height)*1%);position:absolute;width:100%}.chart-column-highlightActive .chart-cell-notHighlighted{opacity:.2}.chart-column:nth-child(2n of .chart-column) .chart-column-content{background-color:color-mix(in srgb,var(--backgroundAltColor) 50%,transparent)}.chart-column-content{padding:0 var(--quarterSpacing)}.chart-column-bottom{grid-row:2/3;position:relative}.chart-column-label{left:50%;margin-top:10px;position:absolute;text-align:center;transform:translateX(-50%)}@media screen and (max-width:599px){.chart-column:nth-child(2n) .chart-column-label{display:none}}.multiexp{--chartFontColumnHeading:0.9rem;--chartFontSmall:0.7rem;--cellHeight:30px;--totalsHeight:30px;--headingsHeight:var(--cellHeight)}.multiexp .chart-row{align-items:normal}.multiexp .chart-row .chart-row-left,.multiexp .chart-row .chart-row-right{height:var(--cellHeight)}.multiexp .chart-heading{display:block}.multiexp .chart-row-content{padding:0}.multiexp .chart-rows{padding-bottom:var(--doubleSpacing);row-gap:calc(var(--spacing)*2)}.multiexp .chart-bar{height:calc(var(--cellHeight) + var(--totalsHeight) + 10px)}.multiexp-controls{display:flex;justify-content:space-between}.multiexp-controls h4{margin:0}.multiexp-control{align-items:center;display:flex;gap:15px;margin:0}.multiexp-control .radio{cursor:pointer}.multiexp-control .radio input{display:none}.multiexp-control .radio-checked{font-weight:700;text-decoration:underline}.multiexp-control .radio-unchecked{opacity:.8}@media screen and (max-width:599px){.multiexp-control{justify-content:space-between;width:100%}}.multiexp-column-headings{border-bottom:1px solid hsla(0,0%,100%,.4);height:var(--headingsHeight);margin-bottom:25px}@media screen and (min-width:600px){.multiexp-column-headings{display:grid;gap:10px;grid-template-columns:250px minmax(0,1fr)}}.multiexp-column-headings-inner{position:relative}.multiexp-column-headings-stacked .multiexp-column-headings-inner .multiexp-column-heading{justify-content:center}.multiexp-column-headings-stacked .multiexp-column-headings-inner :first-child{justify-content:flex-start}.multiexp-column-headings-stacked .multiexp-column-headings-inner :last-child{justify-content:flex-end}.multiexp-table-grouping{font-size:var(--chartFontColumnHeading)}@media screen and (max-width:599px){.multiexp-table-grouping{display:none}}.multiexp-column-heading{align-items:center;display:flex;gap:10px;left:calc(var(--offset)*1%);position:absolute;width:calc(var(--width)*1%)}.multiexp-column-heading h3{font-size:var(--chartFontColumnHeading);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiexp-cells{height:var(--cellHeight);margin-bottom:15px;position:relative}.multiexp-column-totals{height:var(--totalsHeight);position:relative}.multiexp-column-total{left:calc(var(--offset)*1%);position:absolute;width:calc(var(--width)*1%)}.multiexp-column-total-border{border:1px solid hsla(0,0%,100%,.4);border-top:none;height:8px;width:100%}.multiexp-column-total-value{color:hsla(0,0%,100%,.8);font-size:var(--chartFontSmall);margin-top:3px}.multiexp-cell{border-radius:0;display:block;left:calc(var(--offset)*1%);overflow:hidden;position:absolute;transition:.6s;width:calc(var(--width)*1%)}.multiexp-cell:hover:after{background-color:#fff;bottom:0;content:" ";display:block;left:0;mix-blend-mode:soft-light;position:absolute;right:0;top:0}.multiexp-cell-segment{align-items:center;display:flex;height:calc(var(--cellHeight)/2);justify-content:center;transition:.6s}.multiexp-cell:hover .multiexp-cell-segment{opacity:1}.multiexp-cell-segment-experience{background:var(--experienceColor1) linear-gradient(to left,var(--experienceColor1),var(--experienceColor2));height:var(--cellHeight)}.multiexp-groupedBy-experience .multiexp-cell-segment-experience{opacity:1}.multiexp-cell-segment-sentiment{background:var(--sentimentColor1) linear-gradient(to left,var(--sentimentColor1),var(--sentimentColor2));height:calc(var(--cellHeight)*.2);margin-top:2px}.multiexp-groupedBy-sentiment .multiexp-cell-segment-sentiment{opacity:1}.chart-comments{align-items:center;background:none;border:none;display:flex;gap:5px;padding:0}.experience-item,.sentiment-item{background:var(--backgroundColor);background:var(--color);border-radius:30px;font-size:.7rem;font-weight:700;padding:2px 8px;text-shadow:1px 1px rgba(0,0,0,.733);text-transform:uppercase}.experience-item.value-item,.sentiment-item.value-item{background:var(--backgroundBackgroundColor);box-shadow:1px 1px 2px rgba(0,0,0,.533)}.comments-header{display:flex;flex-direction:column;gap:var(--spacing);margin-bottom:var(--spacing)}.comments-filter{display:flex;gap:var(--quarterSpacing)}.comment-item{margin-bottom:var(--spacing)}.comment-message-wrapper{background:var(--backgroundAlt2Color);border-radius:5px;padding:var(--spacing);position:relative}.comment-index{font-size:1.8rem;font-weight:700;opacity:.15;position:absolute;right:15px;text-align:right;top:50%;transform:translateY(-50%)}.comment-quote{font-family:var(--secondaryFontFamily);font-size:6rem;left:5px;line-height:1;opacity:.15;position:absolute;top:0}.comment-report-link{display:block;font-size:.7rem;margin-top:3px;text-align:right}.comment-footer{display:flex;justify-content:space-between;margin-top:10px}.comment-response{display:flex;gap:10px;left:20px;position:relative;top:-20px}.tools-arrows-view-switcher{margin-bottom:var(--spacing)}.ToolsArrowsChart{display:flex;margin:auto auto 2.5rem;position:relative}@media(max-width:800px){.ToolsArrowsChart{padding-left:0;padding-right:0}}.ToolsArrowsChart svg{fill:#e0e4e4;overflow:visible}.ToolsArrowsChart__svg{bottom:0;left:0;position:absolute;right:0;top:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ToolsArrowsChart__axis{stroke:#484f73;stroke-width:1px}.ToolsArrowsChart__axis__label{fill-opacity:.5;dominant-baseline:middle;font-size:.66em;font-weight:600;letter-spacing:.1em;text-transform:uppercase}@keyframes gradientLineSegmentIn{0%{stroke-opacity:0}to{stroke-opacity:1}}.ToolsArrowsChart__tool--is-hidden{opacity:0;pointer-events:none}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line{stroke-opacity:0;animation:gradientLineSegmentIn .2s ease-out;animation-fill-mode:forwards}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-0{animation-delay:0s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-1{animation-delay:.03s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-2{animation-delay:.06s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-3{animation-delay:.09s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-4{animation-delay:.12s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-5{animation-delay:.15s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-6{animation-delay:.18s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-7{animation-delay:.21s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-8{animation-delay:.24s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-9{animation-delay:.27s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-10{animation-delay:.3s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-11{animation-delay:.33s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-12{animation-delay:.36s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-13{animation-delay:.39s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-14{animation-delay:.42s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-15{animation-delay:.45s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-16{animation-delay:.48s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-17{animation-delay:.51s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-18{animation-delay:.54s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-19{animation-delay:.57s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-20{animation-delay:.6s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-21{animation-delay:.63s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-22{animation-delay:.66s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-23{animation-delay:.69s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-24{animation-delay:.72s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-25{animation-delay:.75s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-26{animation-delay:.78s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-27{animation-delay:.81s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-28{animation-delay:.84s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-29{animation-delay:.87s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-30{animation-delay:.9s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-31{animation-delay:.93s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-32{animation-delay:.96s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-33{animation-delay:.99s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-34{animation-delay:1.02s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-35{animation-delay:1.05s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-36{animation-delay:1.08s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-37{animation-delay:1.11s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-38{animation-delay:1.14s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-39{animation-delay:1.17s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-40{animation-delay:1.2s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-41{animation-delay:1.23s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-42{animation-delay:1.26s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-43{animation-delay:1.29s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-44{animation-delay:1.32s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-45{animation-delay:1.35s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-46{animation-delay:1.38s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-47{animation-delay:1.41s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-48{animation-delay:1.44s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-49{animation-delay:1.47s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-50{animation-delay:1.5s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-51{animation-delay:1.53s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-52{animation-delay:1.56s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-53{animation-delay:1.59s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-54{animation-delay:1.62s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-55{animation-delay:1.65s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-56{animation-delay:1.68s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-57{animation-delay:1.71s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-58{animation-delay:1.74s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-59{animation-delay:1.77s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-60{animation-delay:1.8s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-61{animation-delay:1.83s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-62{animation-delay:1.86s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-63{animation-delay:1.89s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-64{animation-delay:1.92s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-65{animation-delay:1.95s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-66{animation-delay:1.98s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-67{animation-delay:2.01s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-68{animation-delay:2.04s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-69{animation-delay:2.07s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-70{animation-delay:2.1s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-71{animation-delay:2.13s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-72{animation-delay:2.16s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-73{animation-delay:2.19s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-74{animation-delay:2.22s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-75{animation-delay:2.25s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-76{animation-delay:2.28s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-77{animation-delay:2.31s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-78{animation-delay:2.34s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-79{animation-delay:2.37s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-80{animation-delay:2.4s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-81{animation-delay:2.43s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-82{animation-delay:2.46s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-83{animation-delay:2.49s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-84{animation-delay:2.52s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-85{animation-delay:2.55s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-86{animation-delay:2.58s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-87{animation-delay:2.61s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-88{animation-delay:2.64s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-89{animation-delay:2.67s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-90{animation-delay:2.7s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-91{animation-delay:2.73s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-92{animation-delay:2.76s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-93{animation-delay:2.79s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-94{animation-delay:2.82s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-95{animation-delay:2.85s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-96{animation-delay:2.88s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-97{animation-delay:2.91s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-98{animation-delay:2.94s}.ToolsArrowsChart__tool--is-active .ToolsArrowsChart__gradient-line--nth-99{animation-delay:2.97s}.ToolsArrowsChart__tool--is-hovering .ToolsArrowsChart__year{fill-opacity:1}.ToolsArrowsChart__tool--is-hovering-other text{fill-opacity:0;stroke-opacity:0}.ToolsArrowsChart__tool--is-hovering-other .ToolsArrowsChart__gradient-line{stroke:#232840;stroke-width:1!important}.ToolsArrowsChart__tool--is-hovering-other .ToolsArrowsChart__now{fill-opacity:.2!important}.ToolsArrowsChart__hover-background{stroke-width:30px;stroke:transparent;fill:none}.ToolsArrowsChart__year{fill-opacity:0}.ToolsArrowsChart__gradient-line{fill:none;stroke-width:4.5px;stroke-linecap:round;stroke-linejoin:round;mix-blend-mode:lighten;pointer-events:none}@keyframes fadeInSlideUp{0%{fill-opacity:0;transform:translateY(1em)}to{fill-opacity:1;transform:translateY(0)}}.ToolsArrowsChart__year{font-size:.8em;font-weight:600;pointer-events:none}.ToolsArrowsChart__label-background{stroke:#1a1f35;stroke-width:3px;font-size:.8em;font-weight:600}.ToolsArrowsChart__label{font-size:.8em;font-weight:600}.ToolsArrowsChart__label__box{cursor:default}.ToolsArrowsChart__label__box text{pointer-events:none;-webkit-user-select:none;user-select:none}.ToolsArrowsChart__listener{fill:transparent}.ToolsArrowsChart__label{cursor:pointer}.ToolsArrowsChart__label:hover{fill:#fff}.hide_visually{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.legend{margin-top:-6rem;max-width:25rem;position:absolute;right:0}.legend_label{fill:#e1e1e1;text-anchor:start;box-sizing:border-box;font-size:.8rem;line-height:1.25rem;margin-bottom:0;margin-top:0;max-width:12rem}.legend_label.left{border-left:1px solid #e1e1e1;padding-left:.5rem;padding-top:.25rem}.legend_label.right{border-right:1px solid #e1e1e1;padding-bottom:.35rem;padding-right:.5rem;padding-top:.1rem;text-align:right}.legend_colors{background-position:top;background-repeat:no-repeat;background-size:100% 100%;border-left:1px solid #e1e1e1;border-right:1px solid #e1e1e1;display:block;height:1rem;margin-top:0;width:12rem}.ToolsScatterplotChart svg{overflow:visible}.recommended-resource-jobs{display:flex;gap:var(--halfSpacing);margin-top:var(--halfSpacing)}@media screen and (max-width:599px){.recommended-resource-jobs{flex-direction:column}}.recommended-resource-job{border:1px solid var(--borderColor);border-radius:3px;display:flex;flex-direction:column;padding:var(--quarterSpacing) var(--halfSpacing)}@media screen and (max-width:599px){.recommended-resource-job{display:block}}.recommended-resource-job h4,.recommended-resource-job h5{margin:0}.recommended-resource-job h5{color:var(--textColor);font-weight:400;text-transform:uppercase}.recommended-resource-job h4{font-size:.85rem}.recommended-resource-job:hover{background:var(--backgroundColor);text-decoration:none}.tabs-wrapper-tokyodev_resources .block-header-top{display:none}.tabs-wrapper-tokyodev_resources .resource-image-link{border:none;border-radius:0}.block-title-contents{align-items:center;display:flex;gap:var(--halfSpacing)}
State of JavaScript 2023: Resources Skip to content
Rather than provide predefined lists of options for survey respondents to pick from, we decided to simply offer raw text fields. This led to quite a few new entrants in this year's Resources section!
Answers matching “Udemy” 1,195
Answers matching “Frontend Masters” 574
Answers matching “Pluralsight” 223
Answers matching “YouTube” 166
Answers matching “Zero To Mastery” 160
Answers matching “Platzi” 129
Answers matching “Egghead.io” 123
8
Wes Bos Answers matching “Wes Bos” 118
Answers matching “Vue Mastery” 98
10
Fireship Answers matching “Fireship” 94
Answers matching “You Don't Know JS” 88
Answers matching “Eloquent JavaScript” 81
Answers matching “Codecademy” 78
Answers matching “The Joy of React” 78
Answers matching “Epic React” 73
Answers matching “O'Reilly” 73
Answers matching “Unspecified books” 73
Answers matching “Choice overload” 72
Answers matching “Scrimba” 68
Answers matching “Unspecified courses” 66
Show All (21 hidden)
% of question respondents
Which paid resources (courses, videos, books, etc.) have you used?
We asked members of the JavaScript community to share their “pick of the year”
My 2023 Pick: Nuxt Nuxt is focused on DX & UX. It's stable and continuously improving. It has the best devtools out of any framework and has created UnJS, and other tooling that powers new frameworks, like Nitro. They are a pillar of the FOSS community.
We asked members of the JavaScript community to share their “pick of the year”
Aspiring Linux and web developer
Answers matching “Syntax” 1,000
Answers matching “JS Party” 284
Answers matching “Web Standards” 191
Answers matching “The Changelog” 175
Answers matching “Shop Talk Show” 138
Answers matching “JavaScript Jabber” 118
7
Midudev Answers matching “Midudev” 110
Answers matching “PodRocket” 102
Answers matching “DevTalles” 94
Answers matching “Front End Happy Hour” 76
11
The Primeagen Answers matching “The Primeagen” 58
Answers matching “The CSS Podcast” 51
Answers matching “Svelte Radio” 47
Answers matching “DevtoolsFM” 41
15
Theo Answers matching “Theo” 39
Answers matching “Whiskey Web and Whatnot” 39
Answers matching “Programmier.bar” 38
18
Fireship Answers matching “Fireship” 37
Answers matching “Choice overload” 36
Answers matching “Web Rush” 36
Show All (21 hidden)
% of question respondents
Which programming-related podcasts do you listen to?
1
Fireship Answers matching “Fireship” 2,665
2
The Primeagen Answers matching “The Primeagen” 2,036
3
Theo Answers matching “Theo” 1,894
4
Web Dev Simplified Answers matching “Web Dev Simplified” 682
5
Midudev Answers matching “Midudev” 630
6
Kevin Powell Answers matching “Kevin Powell” 566
7
Matt Pocock Answers matching “Matt Pocock” 370
8
Jack Herrington Answers matching “Jack Herrington” 353
Answers matching “freeCodeCamp” 187
10
The Net Ninja Answers matching “The Net Ninja” 166
11
Josh Tried Coding Answers matching “Josh Tried Coding” 165
12
Wes Bos Answers matching “Wes Bos” 150
13
Hyperplexed Answers matching “Hyperplexed” 147
Answers matching “Traversy Media” 143
15
Josh Morony Answers matching “Josh Morony” 142
16
Ryan Carniato Answers matching “Ryan Carniato” 135
17
Joy of Code Answers matching “Joy of Code” 128
18
CodeAesthetic Answers matching “CodeAesthetic” 105
19
Fernando Herrera Answers matching “Fernando Herrera” 98
20
No Boilerplate Answers matching “No Boilerplate” 92
Show All (21 hidden)
% of question respondents
Which programming-related video creators do you follow (on YouTube, Twitch, etc.)?
We asked members of the JavaScript community to share their “pick of the year”
I have not done a lot of JavaScript last year, but I was impressed by the tess2 algorithm, a 10-year-old npm library that still performs well!
We asked members of the JavaScript community to share their “pick of the year”
Web developer, event organizer
1
Midudev Answers matching “Midudev” 357
2
Theo Answers matching “Theo” 339
3
Rich Harris Answers matching “Rich Harris” 303
4
Kent C. Dodds Answers matching “Kent C. Dodds” 300
5
Evan You Answers matching “Evan You” 260
6
Fireship Answers matching “Fireship” 254
7
Dan Abramov Answers matching “Dan Abramov” 247
8
Matt Pocock Answers matching “Matt Pocock” 215
9
Anthony Fu Answers matching “Anthony Fu” 208
10
Ryan Carniato Answers matching “Ryan Carniato” 205
11
The Primeagen Answers matching “The Primeagen” 183
12
Wes Bos Answers matching “Wes Bos” 170
13
Josh W. Comeau Answers matching “Josh W. Comeau” 158
14
Daniel Roe Answers matching “Daniel Roe” 104
15
Kyle Simpson Answers matching “Kyle Simpson” 76
16
Ryan Florence Answers matching “Ryan Florence” 74
17
Jarred Sumner Answers matching “Jarred Sumner” 71
18
Tanner Linsley Answers matching “Tanner Linsley” 69
19
Fernando Herrera Answers matching “Fernando Herrera” 65
20
Lee Robinson Answers matching “Lee Robinson” 65
Show All (21 hidden)
% of question respondents
Which individuals do you read, follow, or just want to highlight?
Answers matching “State of React” 185
Answers matching “State of React Native” 27
% of question respondents
Which other developer surveys do you participate in?
ThePrimeagen
Netflix
You'll learn big o time complexity, fundamental data structures like arrays, lists, trees, graphs, and maps, and searching and sorting algorithms.
ThePrimeagen
Netflix
Learn from one of the best communicators and teachers around as ThePrimeagen takes you through a vast range of topics, from front-end frameworks like HTMX to back-end languages including Rust and Go.