CINXE.COM
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/styles.6d29befaf7dedb8bdf6c.css" id="gatsby-global-css">/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}[hidden],template{display:none}a{background-color:transparent;-webkit-text-decoration-skip:objects}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:inherit;font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:700}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-input-placeholder{color:inherit;opacity:.54}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.sr-only{border:0;clip:rect(0 0 0 0);clip-path:polygon(0 0,0 0,0 0);-webkit-clip-path:polygon(0 0,0 0,0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.capture .sr-only{display:none!important}@keyframes svgAnts{to{stroke-dashoffset:100%}}code,pre{font-family:IBM Plex Mono,monospace}code,pre,strong{font-weight:800}.first-letter{float:left;display:block;font-size:7rem;margin-right:20px;line-height:1}.conclusion__byline{text-align:right;display:block;font-weight:800}.error{color:#fe6a6a;border:3px solid #f8a8a8;padding:20px}.error-data{font-size:.8rem}.Tooltip{z-index:1000}.mosaic{display:grid;grid-template-columns:repeat(15,1fr)}.mosaic__image{height:50px;overflow:hidden}.mosaic__image img{display:block;width:100%}.capture .pagelayout__inner{display:block}.capture .Sidebar{display:none!important}.capture .Overview__Chart__SwitchContainer{display:none}.capture .Awards__Block{display:block}.capture .Award{width:1000px;height:500px;justify-content:center}.capture .Quadrants__Block .Block__Description{margin-bottom:0}.capture .Quadrants__Chart__Legend{padding-top:60px}.capture .Quadrants__Chart__Legend__Item{font-size:1rem}.capture #connections{width:1000px;height:500px}.capture #participation-by-country{width:1128px}.capture #salaries{width:648px}.capture #salary-per-country{width:1128px}.capture #gender-breakdown{width:892px}.capture #overview{width:988px}.capture #results-over-time{width:728px}.capture #dislikes,.capture #likes{width:1168px}.capture #quadrants{width:1458px}.capture #tool-pairing{width:880px}.capture #tool-usage-by-country{width:1428}.capture #tools-salary-range{width:1140px}.capture #tools-company-size{width:1216px}.capture #tools-years-of-experience{width:1124px}.capture #happiness{width:808px}.capture #other_languages{width:1408px}.capture #browser_apis{width:928px}.capture #build_tools{width:1088px}.capture #utility_libraries{width:768px}.capture #text_editors{width:1164px}.capture #opinion-building_js_apps_overly_complex,.capture #opinion-enjoy_building_js_apps,.capture #opinion-js_ecosystem_changing_to_fast,.capture #opinion-js_moving_in_right_direction,.capture #opinion-js_over_used_online,.capture #opinion-survey_too_long,.capture #opinion-would_like_js_to_be_main_lang{width:728px}.capture.PageLayout--javascript-flavors #other-tools{width:1068px}.capture.PageLayout--front-end-frameworks #other-tools{width:1054px;height:1054px}.capture.PageLayout--data-layer #other-tools{width:1068px}.capture.PageLayout--back-end-frameworks #other-tools{width:1054px;height:1054px}.capture.PageLayout--testing #other-tools{width:1308px}.capture.PageLayout--mobile-and-desktop #other-tools{width:908px}@keyframes appear{to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes popspin{0%{transform:scale(0) rotate(0)}50%{transform:scale(1.2) rotate(800deg)}to{transform:scale(1) rotate(2turn)}}@keyframes slideleft{0%{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}@keyframes slideright{0%{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}@keyframes slidetop{0%{opacity:0;transform:translateY(-200px) rotate(180deg)}to{opacity:1;transform:translateY(0) rotate(0deg)}}@keyframes blob{0%{opacity:0;transform:translateX(-100%)}20%{opacity:1}80%{opacity:1;transform:translateX(-20px)}to{opacity:1;transform:translateX(-40px)}}.Logo__Container{overflow:hidden;display:flex;justify-content:center;align-items:center;margin-bottom:40px}@media screen and (max-width:599px){.Logo__Container .Logo{text-shadow:none;width:240px;height:120px;position:relative}.Logo__Container .Logo>*{position:absolute}.Logo__Container .Logo .letter{font-size:86.4px;color:#f649a7;font-weight:800;line-height:1}.Logo__Container .Logo .c{top:50%;transform:translateY(-50%);left:28.8px;text-shadow:3px 3px 0 #3c52d1}.Logo__Container .Logo .s1{left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .s2{top:50%;transform:translateY(-50%);right:28.8px}.Logo__Container .Logo .s2 div{text-align:right;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 15 15" xml:space="preserve" height="3px" width="3px"><g ><circle r="4.5" cx="4.5" cy="4.5" fill="%23EC2F95"/></g></svg>');-webkit-background-clip:text;background-clip:text;color:transparent}.Logo__Container .Logo .text{font-size:14.4px;font-style:italic;color:#a3cacd}.Logo__Container .Logo .stateof{top:0;left:0}.Logo__Container .Logo .year{bottom:0;right:0;text-align:right}.Logo__Container .Logo .triangle{width:43.2px;top:54px;left:4.8px}.Logo__Container .Logo .triangle .inner{width:100%;border:30px solid transparent;border-bottom-color:#3c52d1;border-width:0 21.6px 30px}.Logo__Container .Logo .stripe{height:1.5px;width:30px;background:#a3cacd}.Logo__Container .Logo .stripe1{top:74.4px;left:28.8px}.Logo__Container .Logo .stripe2{top:80.4px;left:26.4px}.Logo__Container .Logo .stripe3{top:86.4px;left:24px}.Logo__Container .Logo .stripe4{top:92.4px;left:26.4px}.Logo__Container .Logo .blobs{-webkit-filter:url(#blob);filter:url(#blob);left:30px;top:36px;transform:rotate(-20deg);width:120px;height:60px;display:flex;justify-content:center;align-items:center}.Logo__Container .Logo .blob{width:50%;height:100%;background:#a3cacd;border-radius:50%}.Logo__Container .Logo .blob2{transform:translateX(-12px)}.Logo__Container .Logo .circle{width:76.8px;top:50%;left:calc(50% - 3px)}.Logo__Container .Logo .circle .inner{transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .circle .inner div{width:100%;height:0;padding-bottom:100%;border:3px dashed #3c52d1;border-radius:100%;box-sizing:content-box}.Logo__Container .Logo .frame{width:64.8px;right:26.4px;top:50%}.Logo__Container .Logo .frame .inner{transform:translateY(-50%) rotate(45deg)}.Logo__Container .Logo .frame .inner div{border:3px solid #3c52d1;width:100%;height:0;padding-bottom:100%;box-sizing:content-box;box-shadow:2.1px 2.1px 0 0 #a3cacd}.Logo__Container .Logo .tilde{font-size:33.6px;line-height:1}.Logo__Container .Logo .tilde1{top:24px;right:12px}.Logo__Container .Logo .tilde2{top:30px;right:9.6px}.Logo__Container .Logo .tilde3{top:36px;right:7.2px}.Logo__Container .Logo--animated .c>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s1>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s2>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.3s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .circle>div>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .frame{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slidetop;animation-duration:.6s;animation-delay:.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0) translateY(-60px) rotate(180deg)}.Logo__Container .Logo--animated .blob1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .blob2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:blob;animation-duration:.5s;animation-delay:1.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-100%)}.Logo__Container .Logo--animated .stripe1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.4s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .stripe2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .stripe3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.6s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .stripe4{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.7s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(12px)}.Logo__Container .Logo--animated .tilde1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:1.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-12px)}.Logo__Container .Logo--animated .tilde2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-12px)}.Logo__Container .Logo--animated .tilde3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-12px)}.Logo__Container .Logo--animated .triangle{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:2.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .stateof{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}.Logo__Container .Logo--animated .year{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}}@media screen and (min-width:600px) and (max-width:999px){.Logo__Container .Logo{text-shadow:none;width:400px;height:200px;position:relative}.Logo__Container .Logo>*{position:absolute}.Logo__Container .Logo .letter{font-size:144px;color:#f649a7;font-weight:800;line-height:1}.Logo__Container .Logo .c{top:50%;transform:translateY(-50%);left:48px;text-shadow:5px 5px 0 #3c52d1}.Logo__Container .Logo .s1{left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .s2{top:50%;transform:translateY(-50%);right:48px}.Logo__Container .Logo .s2 div{text-align:right;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 25 25" xml:space="preserve" height="5px" width="5px"><g ><circle r="7.5" cx="7.5" cy="7.5" fill="%23EC2F95"/></g></svg>');-webkit-background-clip:text;background-clip:text;color:transparent}.Logo__Container .Logo .text{font-size:24px;font-style:italic;color:#a3cacd}.Logo__Container .Logo .stateof{top:0;left:0}.Logo__Container .Logo .year{bottom:0;right:0;text-align:right}.Logo__Container .Logo .triangle{width:72px;top:90px;left:8px}.Logo__Container .Logo .triangle .inner{width:100%;border:50px solid transparent;border-bottom-color:#3c52d1;border-width:0 36px 50px}.Logo__Container .Logo .stripe{height:2.5px;width:50px;background:#a3cacd}.Logo__Container .Logo .stripe1{top:124px;left:48px}.Logo__Container .Logo .stripe2{top:134px;left:44px}.Logo__Container .Logo .stripe3{top:144px;left:40px}.Logo__Container .Logo .stripe4{top:154px;left:44px}.Logo__Container .Logo .blobs{-webkit-filter:url(#blob);filter:url(#blob);left:50px;top:60px;transform:rotate(-20deg);width:200px;height:100px;display:flex;justify-content:center;align-items:center}.Logo__Container .Logo .blob{width:50%;height:100%;background:#a3cacd;border-radius:50%}.Logo__Container .Logo .blob2{transform:translateX(-20px)}.Logo__Container .Logo .circle{width:128px;top:50%;left:calc(50% - 5px)}.Logo__Container .Logo .circle .inner{transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .circle .inner div{width:100%;height:0;padding-bottom:100%;border:5px dashed #3c52d1;border-radius:100%;box-sizing:content-box}.Logo__Container .Logo .frame{width:108px;right:44px;top:50%}.Logo__Container .Logo .frame .inner{transform:translateY(-50%) rotate(45deg)}.Logo__Container .Logo .frame .inner div{border:5px solid #3c52d1;width:100%;height:0;padding-bottom:100%;box-sizing:content-box;box-shadow:3.5px 3.5px 0 0 #a3cacd}.Logo__Container .Logo .tilde{font-size:56px;line-height:1}.Logo__Container .Logo .tilde1{top:40px;right:20px}.Logo__Container .Logo .tilde2{top:50px;right:16px}.Logo__Container .Logo .tilde3{top:60px;right:12px}.Logo__Container .Logo--animated .c>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s1>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s2>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.3s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .circle>div>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .frame{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slidetop;animation-duration:.6s;animation-delay:.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0) translateY(-100px) rotate(180deg)}.Logo__Container .Logo--animated .blob1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .blob2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:blob;animation-duration:.5s;animation-delay:1.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-100%)}.Logo__Container .Logo--animated .stripe1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.4s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .stripe2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .stripe3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.6s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .stripe4{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.7s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(20px)}.Logo__Container .Logo--animated .tilde1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:1.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-20px)}.Logo__Container .Logo--animated .tilde2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-20px)}.Logo__Container .Logo--animated .tilde3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-20px)}.Logo__Container .Logo--animated .triangle{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:2.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .stateof{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}.Logo__Container .Logo--animated .year{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}}@media screen and (min-width:1000px){.Logo__Container .Logo{text-shadow:none;width:640px;height:320px;position:relative}.Logo__Container .Logo>*{position:absolute}.Logo__Container .Logo .letter{font-size:230.4px;color:#f649a7;font-weight:800;line-height:1}.Logo__Container .Logo .c{top:50%;transform:translateY(-50%);left:76.8px;text-shadow:8px 8px 0 #3c52d1}.Logo__Container .Logo .s1{left:50%;top:50%;transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .s2{top:50%;transform:translateY(-50%);right:76.8px}.Logo__Container .Logo .s2 div{text-align:right;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 40 40" xml:space="preserve" height="8px" width="8px"><g ><circle r="12" cx="12" cy="12" fill="%23EC2F95"/></g></svg>');-webkit-background-clip:text;background-clip:text;color:transparent}.Logo__Container .Logo .text{font-size:38.4px;font-style:italic;color:#a3cacd}.Logo__Container .Logo .stateof{top:0;left:0}.Logo__Container .Logo .year{bottom:0;right:0;text-align:right}.Logo__Container .Logo .triangle{width:115.2px;top:144px;left:12.8px}.Logo__Container .Logo .triangle .inner{width:100%;border:80px solid transparent;border-bottom-color:#3c52d1;border-width:0 57.6px 80px}.Logo__Container .Logo .stripe{height:4px;width:80px;background:#a3cacd}.Logo__Container .Logo .stripe1{top:198.4px;left:76.8px}.Logo__Container .Logo .stripe2{top:214.4px;left:70.4px}.Logo__Container .Logo .stripe3{top:230.4px;left:64px}.Logo__Container .Logo .stripe4{top:246.4px;left:70.4px}.Logo__Container .Logo .blobs{-webkit-filter:url(#blob);filter:url(#blob);left:80px;top:96px;transform:rotate(-20deg);width:320px;height:160px;display:flex;justify-content:center;align-items:center}.Logo__Container .Logo .blob{width:50%;height:100%;background:#a3cacd;border-radius:50%}.Logo__Container .Logo .blob2{transform:translateX(-32px)}.Logo__Container .Logo .circle{width:204.8px;top:50%;left:calc(50% - 8px)}.Logo__Container .Logo .circle .inner{transform:translateX(-50%) translateY(-50%)}.Logo__Container .Logo .circle .inner div{width:100%;height:0;padding-bottom:100%;border:8px dashed #3c52d1;border-radius:100%;box-sizing:content-box}.Logo__Container .Logo .frame{width:172.8px;right:70.4px;top:50%}.Logo__Container .Logo .frame .inner{transform:translateY(-50%) rotate(45deg)}.Logo__Container .Logo .frame .inner div{border:8px solid #3c52d1;width:100%;height:0;padding-bottom:100%;box-sizing:content-box;box-shadow:5.6px 5.6px 0 0 #a3cacd}.Logo__Container .Logo .tilde{font-size:89.6px;line-height:1}.Logo__Container .Logo .tilde1{top:64px;right:32px}.Logo__Container .Logo .tilde2{top:80px;right:25.6px}.Logo__Container .Logo .tilde3{top:96px;right:19.2px}.Logo__Container .Logo--animated .c>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s1>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .s2>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.3s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .circle>div>div{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .frame{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slidetop;animation-duration:.6s;animation-delay:.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0) translateY(-160px) rotate(180deg)}.Logo__Container .Logo--animated .blob1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:pop;animation-duration:.3s;animation-delay:.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:scale(0)}.Logo__Container .Logo--animated .blob2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:blob;animation-duration:.5s;animation-delay:1.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-100%)}.Logo__Container .Logo--animated .stripe1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.4s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .stripe2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.5s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .stripe3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.6s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .stripe4{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideleft;animation-duration:.4s;animation-delay:1.7s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(32px)}.Logo__Container .Logo--animated .tilde1{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:1.9s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-32px)}.Logo__Container .Logo--animated .tilde2{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-32px)}.Logo__Container .Logo--animated .tilde3{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:slideright;animation-duration:.4s;animation-delay:2.1s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0;transform:translateX(-32px)}.Logo__Container .Logo--animated .triangle{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:popspin;animation-duration:.6s;animation-delay:2.8s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);transform:scale(0)}.Logo__Container .Logo--animated .stateof{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.2s;animation-timing-function:cubic-bezier(.25,.46,.45,.94);opacity:0}.Logo__Container .Logo--animated .year{animation-iteration-count:1;animation-fill-mode:forwards;animation-name:appear;animation-duration:.3s;animation-delay:2.5s;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.66667px}.Features__Overview{display:flex;flex-wrap:wrap;justify-content:space-between}.Features__Overview__Item{width:240px;height:260px;margin-bottom:40px;display:grid;grid-template-rows:210px 50px}.Features__Overview__Item__Footer{border-top:2px solid #9ac6c9;border-bottom:2px solid #9ac6c9;font-size:.9rem;font-weight:800;display:flex;justify-content:center;align-items: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{margin-bottom:10px;font-size:1rem}.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}}.Quadrant__Label{color:#41c7c7;fill:#41c7c7;text-transform:uppercase;letter-spacing:3px;opacity:.75;font-size:1.3rem}.Scatterplot__Node{transition:all .5s ease-out}.Scatterplot__Node--active .Scatterplot__Node__Crosshairs{opacity:1;transition:all .2s ease-out}.Scatterplot__Node--active .Scatterplot__Node__Label{transform:translateX(30px);transition:all .2s ease-out}.Scatterplot__Node--active .Scatterplot__Node__Label__Background{opacity:.75;transition:all .2s ease-out}.Scatterplot__Node--active .Scatterplot__Node__Label__Text{fill:#232840;transition:all .2s ease-out}.Scatterplot__Node--active .Scatterplot__Node__Crosshair__Line{stroke-dasharray:8,4;animation:svgAnts 50s linear infinite;animation-fill-mode:forwards}.Scatterplot__Node--inactive{opacity:.3;transition:all .5s ease-out}.Scatterplot__Node__Label{pointer-events:none;transition:all .2s ease-out}.Scatterplot__Node__Label__Background{opacity:0;transition:all .2s ease-out}.Scatterplot__Node__Label__Text{font-size:.8rem;transition:all .2s ease-out}.Scatterplot__Node__Crosshairs{pointer-events:none;opacity:0;transition:all .2s ease-out}.Scatterplot__Node__PointHover{opacity:.75}.Scatterplot__Node__Crosshair__Label{font-size:.8rem}.text-highlight{background:#41c7c7;background:#000}.text-green,.text-highlight{display:inline-block;color:#232840;border-radius:15px;padding:0 12px;font-weight:800}.text-green{background:#41c7c7;background:#85eba2}.text-pink{background:#41c7c7;background:#f649a7}.text-pink,.text-pink-light{display:inline-block;color:#232840;border-radius:15px;padding:0 12px;font-weight:800}.text-pink-light{background:#41c7c7;background:#ec75cb}.text-pink-lighter{background:#41c7c7;background:#d68df0}.text-pink-lighter,.text-red{display:inline-block;color:#232840;border-radius:15px;padding:0 12px;font-weight:800}.text-red{background:#41c7c7;background:#fe6a6a}.text-teal{background:#41c7c7}.text-teal,.text-teal-dark{display:inline-block;color:#232840;border-radius:15px;padding:0 12px;font-weight:800}.text-teal-dark{background:#41c7c7;background:#2ba7a7}.text-teal-darker{background:#41c7c7;background:#1d7e7e}.text-blue,.text-teal-darker{display:inline-block;color:#232840;border-radius:15px;padding:0 12px;font-weight:800}.text-blue{background:#41c7c7;background:#3c52d1}.text-blackred{display:inline-block;background:#41c7c7;color:#232840;border-radius:15px;padding:0 12px;background:rgba(0,0,0,.3);color:#41c7c7;border:1px solid #fe6a6a}.text-blackred,.text-bold{font-weight:800}.Chip{display:block;margin-right:7px;position:relative;overflow:hidden;height:12px;width:12px}.Chip__Inner{height:100%;width:100%;display:block}.Chip--split .Chip__Inner{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.Chip--split .Chip__Inner:last-child{z-index:2;width:200%;height:100%;transform:translateX(-3px) translateY(5px) rotate(-45deg)}.react-tabs{-webkit-tap-highlight-color:transparent}.react-tabs__tab-list{border-bottom:1px solid #aaa;margin:0 0 10px;padding:0}.react-tabs__tab{display:inline-block;border:1px solid transparent;border-bottom:none;bottom:-1px;position:relative;list-style:none;padding:6px 12px;cursor:pointer}.react-tabs__tab--selected{background:#fff;border-color:#aaa;color:#000;border-radius:5px 5px 0 0}.react-tabs__tab--disabled{color:GrayText;cursor:default}.react-tabs__tab:focus{box-shadow:0 0 5px #0188fe;border-color:#0188fe;outline:none}.react-tabs__tab:focus:after{content:"";position:absolute;height:5px;left:-4px;right:-4px;bottom:-5px;background:#fff}.react-tabs__tab-panel{display:none}.react-tabs__tab-panel--selected{display:block}.ToolsArrowsChart{position:relative;margin:auto;display:flex}@media (max-width:800px){.ToolsArrowsChart{padding-left:0;padding-right:0}}.ToolsArrowsChart svg{fill:#e0e4e4;overflow:visible}.ToolsArrowsChart__svg{position:absolute;top:0;right:0;bottom:0;left:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ToolsArrowsChart__axis{stroke:#484f73;stroke-width:1px}.ToolsArrowsChart__axis__label{text-transform:uppercase;letter-spacing:.1em;font-size:.66em;font-weight:600;fill-opacity:.5;dominant-baseline:middle}@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;mix-blend-mode:lighten;stroke-linecap:round;stroke-linejoin:round;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{font-size:.8em;font-weight:600;stroke:#1a1f35;stroke-width:3px}.ToolsArrowsChart__label{font-size:.8em;font-weight:600}.ToolsArrowsChart__label__box{cursor:default}.ToolsArrowsChart__label__box text{pointer-events:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ToolsArrowsChart__listener{fill:transparent}.ToolsArrowsChart__label{cursor:pointer}.ToolsArrowsChart__label:hover{fill:#fff}</style><meta name="generator" content="Gatsby 2.27.0"/><title data-react-helmet="true">State of JS 2020: T-shirt</title><link data-react-helmet="true" rel="shortcut icon" href="/images/favicon.png"/><link data-react-helmet="true" rel="preconnect" href="https://fonts.gstatic.com/"/><link data-react-helmet="true" href="https://fonts.googleapis.com/css?family=IBM+Plex+Mono:300,300i,500,600" rel="stylesheet"/><meta data-react-helmet="true" charSet="utf-8"/><meta data-react-helmet="true" name="description" content="The annual survey about the latest trends in the JavaScript ecosystem."/><meta data-react-helmet="true" name="viewport" content="width=device-width, initial-scale=1"/><meta data-react-helmet="true" name="google-site-verification" content="hrTRsz9fkGmQlVbLBWA4wmhn0qsI6_M3NKemTGCkpps"/><meta data-react-helmet="true" property="og:type" content="article"/><meta data-react-helmet="true" property="og:url" content="https://2020.stateofjs.com/id-ID/tshirt/"/><meta data-react-helmet="true" property="og:image" content="https://2020.stateofjs.com/images/stateofjs2020_socialmedia.png"/><meta data-react-helmet="true" property="og:title" content="State of JS 2020: T-shirt"/><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"/><meta data-react-helmet="true" name="twitter:image:src" content="https://2020.stateofjs.com/images/stateofjs2020_socialmedia.png"/><meta data-react-helmet="true" name="twitter:title" content="State of JS 2020: T-shirt"/><style data-styled="" data-styled-version="5.2.1">body{background:#222429;color:#e0e4e4;padding:0;font-feature-settings:'liga' 0;line-height:1.7;font-family:'IBM Plex Mono',monospace;font-weight:300;}/*!sc*/ @media screen and (max-width:599px){body{font-size:13px;}}/*!sc*/ @media screen and (min-width:1000px){body{font-size:17px;min-height:100vh;}}/*!sc*/ html{box-sizing:border-box;}/*!sc*/ *,*:before,*:after{box-sizing:inherit;}/*!sc*/ h1,h2,h3,h4,h5,h6{font-family:'IBM Plex Mono',monospace;font-weight:800;margin:0 0 20px 0;}/*!sc*/ a{-webkit-text-decoration:none;text-decoration:none;font-weight:800;}/*!sc*/ a,a:link,a:visited,a:active,a:focus{color:#41c7c7;}/*!sc*/ a:hover,a:focus{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ p,ul,ol{margin:0 0 20px 0;}/*!sc*/ @media screen and (max-width:599px){p,ul,ol{line-height:1.6;}}/*!sc*/ @media screen and (min-width:600px){p,ul,ol{line-height:1.8;}}/*!sc*/ pre,code{font-family:'IBM Plex Mono',monospace;font-weight:800;}/*!sc*/ @media screen and (max-width:599px){.desktop{display:none;}}/*!sc*/ @media screen and (min-width:600px){.mobile{display:none;}}/*!sc*/ iframe{display:none;}/*!sc*/ .ModalContent{outline:none;}/*!sc*/ .ReactModal__Overlay{z-index:6000;}/*!sc*/ .ReactModal__Body--open{overflow:hidden;}/*!sc*/ .Page--awards .Page__Introduction{margin:0;}/*!sc*/ .Page--awards .Page__Introduction p{margin:0;}/*!sc*/ @media screen and (min-width:600px){.Page--awards .Page__Contents{width:100%;display:grid;grid-template-columns:1fr 1fr;-webkit-column-gap:120px;column-gap:120px;row-gap:80px;}.Page--awards .Page__Contents .Page__Introduction{grid-column:1 / 3;}}/*!sc*/ .t-modkeydown.t-fallback,.t-modkeydown.t-missing{text-shadow:0px 2px 7px rgba(133,235,162,0.95);}/*!sc*/ .t-modkeydown.t-fallback:hover,.t-modkeydown.t-missing:hover{cursor:pointer;text-shadow:0px 2px 7px rgba(246,73,167,0.95);}/*!sc*/ .hint-export-button{display:inline-block;font-weight:800;border:1px dashed;font-size:0.8rem;padding:4px 10px;}/*!sc*/ .hint-completion-indicator{display:inline-block;color:#41c7c7;font-size:1.4rem;}/*!sc*/ data-styled.g1[id="sc-global-IPRrj1"]{content:"sc-global-IPRrj1,"}/*!sc*/ .fIONJq{stroke:#41c7c7;}/*!sc*/ data-styled.g2[id="Hamburger__Container-j038hg-0"]{content:"fIONJq,"}/*!sc*/ .bYXlbR{left:50%;position:absolute;padding:4px 8px;white-space:nowrap;-webkit-transform:translate(-50%,-130%);-ms-transform:translate(-50%,-130%);transform:translate(-50%,-130%);opacity:0;font-size:0.8rem;border-radius:3px;-webkit-transition:all 200ms ease-in;transition:all 200ms ease-in;pointer-events:none;background:#e0e4e4;color:#222429;}/*!sc*/ .bYXlbR:after{bottom:-15px;left:50%;content:' ';height:0;width:0;position:absolute;pointer-events:none;margin-left:-8px;border:8px solid rgba(136,183,213,0);border-top-color:#e0e4e4;}/*!sc*/ data-styled.g3[id="BlockCompletionIndicator__Tooltip-sc-13goqqp-0"]{content:"bYXlbR,"}/*!sc*/ .htZHAE{margin-left:10px;position:relative;padding:2px;}/*!sc*/ .htZHAE:focus{outline:5px auto -webkit-focus-ring-color;}/*!sc*/ .htZHAE:hover .BlockCompletionIndicator__Tooltip-sc-13goqqp-0,.htZHAE:focus .BlockCompletionIndicator__Tooltip-sc-13goqqp-0{opacity:1;-webkit-transform:translate(-50%,-140%);-ms-transform:translate(-50%,-140%);transform:translate(-50%,-140%);-webkit-transition:all 200ms ease-in;transition:all 200ms ease-in;}/*!sc*/ data-styled.g4[id="BlockCompletionIndicator__Container-sc-13goqqp-1"]{content:"htZHAE,"}/*!sc*/ .kiGCwo{display:block;}/*!sc*/ data-styled.g5[id="BlockCompletionIndicator__Chart-sc-13goqqp-2"]{content:"kiGCwo,"}/*!sc*/ .khMAWA{fill:#cecdcc;opacity:0.5;}/*!sc*/ data-styled.g6[id="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3"]{content:"khMAWA,"}/*!sc*/ .dozdiy{stroke:#cecdcc;}/*!sc*/ data-styled.g7[id="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4"]{content:"dozdiy,"}/*!sc*/ .hfkwXz{display:grid;grid-template-columns:auto auto;grid-column-gap:30px;grid-row-gap:30px;}/*!sc*/ data-styled.g8[id="Locales__Container-sc-1lgl2z3-0"]{content:"hfkwXz,"}/*!sc*/ .fiDitP{text-align:center;font-size:1rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ @media screen and (max-width:999px){.fiDitP{font-size:0.8rem;}}/*!sc*/ @media screen and (min-width:1000px){.fiDitP{font-size:1rem;}}/*!sc*/ .fiDitP._is-current{font-weight:800;}/*!sc*/ data-styled.g9[id="Locales__Item-sc-1lgl2z3-1"]{content:"fiDitP,"}/*!sc*/ @media screen and (max-width:999px){.Pagination .Popover__Container-sc-3zqg9-0{display:none;}}/*!sc*/ .Sidebar .Popover__Container-sc-3zqg9-0{margin-bottom:20px;border:1px solid #5c6069;}/*!sc*/ @media screen and (min-width:1000px){.Sidebar .Popover__Container-sc-3zqg9-0{display:none;}}/*!sc*/ data-styled.g10[id="Popover__Container-sc-3zqg9-0"]{content:"fxzssI,"}/*!sc*/ .iFJNkp{position:relative;}/*!sc*/ .Sidebar .Popover__PopoverInner-sc-3zqg9-1{padding:8px 12px;}/*!sc*/ data-styled.g11[id="Popover__PopoverInner-sc-3zqg9-1"]{content:"iFJNkp,"}/*!sc*/ .hwouLV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;background:transparent;color:#e0e4e4;font-size:1rem;cursor:pointer;outline:none;border:none;box-sizing:border-box;}/*!sc*/ .hwouLV span{display:block;margin-right:5px;}/*!sc*/ .hwouLV svg{display:block;width:12px;position:relative;}/*!sc*/ .hwouLV svg polygon{fill:#e0e4e4;}/*!sc*/ .Pagination .Popover__PopoverToggle-sc-3zqg9-2{padding:20px;}/*!sc*/ @media screen and (max-width:999px){.hwouLV{font-size:0.8rem;}}/*!sc*/ .hwouLV:focus{outline:5px auto -webkit-focus-ring-color;}/*!sc*/ data-styled.g12[id="Popover__PopoverToggle-sc-3zqg9-2"]{content:"hwouLV,"}/*!sc*/ .edvQGu{position:absolute;top:125%;left:50%;padding:20px;background:#2a2d33;border:1px solid #5c6069;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);z-index:5000;box-shadow:0px 6px 16px rgba(0,0,0,0.3),0px 2px 6px rgba(0,0,0,0.2);}/*!sc*/ @media screen and (max-width:599px){.edvQGu{width:100%;}}/*!sc*/ @media screen and (min-width:600px){.edvQGu{width:300px;}}/*!sc*/ .edvQGu:before{left:50%;border:solid transparent;content:' ';height:18px;width:18px;background:#2a2d33;position:absolute;pointer-events:none;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center;border:1px solid #5c6069;top:0;-webkit-transform:translate(-9px,-9px) rotate(-45deg);-ms-transform:translate(-9px,-9px) rotate(-45deg);transform:translate(-9px,-9px) rotate(-45deg);border-bottom:0;border-left:0;}/*!sc*/ @media screen and (max-width:999px){.edvQGu{top:145%;}}/*!sc*/ @media screen and (max-width:599px){.edvQGu{max-width:90vw;}}/*!sc*/ .Popover._is-closed .Popover__PopoverPopup-sc-3zqg9-3{display:none;}/*!sc*/ data-styled.g13[id="Popover__PopoverPopup-sc-3zqg9-3"]{content:"edvQGu,"}/*!sc*/ .khubsu{font-size:0.8rem;padding-top:20px;margin-top:20px;border-top:1px solid #5c6069;}/*!sc*/ data-styled.g14[id="LanguageSwitcher__LanguageSwitcherHelp-sc-1dnlai8-0"]{content:"khubsu,"}/*!sc*/ .isboRP{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;padding:20px;}/*!sc*/ @media screen and (max-width:999px){.isboRP{font-size:0.7rem;}.isboRP span{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;text-align:center;}}/*!sc*/ @media screen and (min-width:1000px){.isboRP{font-size:1rem;}}/*!sc*/ .isboRP:hover,.isboRP:focus{background:#2a2d33;}/*!sc*/ .kyWIcc{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;padding:20px;}/*!sc*/ @media screen and (max-width:999px){.kyWIcc{font-size:0.7rem;}.kyWIcc span{display:block;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;text-align:center;}}/*!sc*/ @media screen and (min-width:1000px){.kyWIcc{font-size:1rem;}}/*!sc*/ .kyWIcc:hover,.kyWIcc:focus{background:#2a2d33;}/*!sc*/ data-styled.g15[id="PaginationLink__StyledLink-sc-15wpe8c-0"]{content:"isboRP,kyWIcc,"}/*!sc*/ .jdyKgW{display:block;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;z-index:1000;position:relative;}/*!sc*/ .jdyKgW:last-child{margin-right:0;}/*!sc*/ .jdyKgW svg{height:100%;width:100%;}/*!sc*/ .jdyKgW svg circle,.jdyKgW svg path{fill:#e0e4e4;}/*!sc*/ .jdyKgW:hover svg path,.jdyKgW:focus svg path,.jdyKgW:hover svg circle,.jdyKgW:focus svg circle{fill:#41c7c7;}/*!sc*/ @media screen and (max-width:599px){.jdyKgW{top:0;left:0;position:absolute;}}/*!sc*/ .ShareBlock .ShareLink__Link-sc-1qpv5j1-0{height:24px;width:24px;opacity:0;display:none;}/*!sc*/ .ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0{pointer-events:auto;display:block;}/*!sc*/ @media screen and (max-width:599px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--twitter{-webkit-animation:cARFhl 500ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:cARFhl 500ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (min-width:600px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--twitter{-webkit-animation:bPXDEJ 500ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:bPXDEJ 500ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (max-width:599px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--facebook{-webkit-animation:ljWKCc 500ms 100ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:ljWKCc 500ms 100ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (min-width:600px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--facebook{-webkit-animation:cMBegx 500ms 100ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:cMBegx 500ms 100ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (max-width:599px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--linkedin{-webkit-animation:kZHiaN 500ms 200ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:kZHiaN 500ms 200ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (min-width:600px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--linkedin{-webkit-animation:fKEkIt 500ms 200ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:fKEkIt 500ms 200ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (max-width:599px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--email{-webkit-animation:ewHXmC 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:ewHXmC 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (min-width:600px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--email{-webkit-animation:kxSgkt 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:kxSgkt 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (max-width:599px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--image{-webkit-animation:ieWsjv 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:ieWsjv 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ @media screen and (min-width:600px){.ShareBlock._is-visible .ShareLink__Link-sc-1qpv5j1-0.ShareLink--image{-webkit-animation:bdkvTi 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;animation:bdkvTi 500ms 300ms cubic-bezier(0.87,-0.41,0.19,1.44) forwards;}}/*!sc*/ .ShareSite .ShareLink__Link-sc-1qpv5j1-0{-webkit-transition:none;transition:none;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;text-align:center;padding:20px 6.6000000000000005px;}/*!sc*/ .ShareSite .ShareLink__Link-sc-1qpv5j1-0:not(:last-child){border-right:1px solid #5c6069;}/*!sc*/ .ShareSite .ShareLink__Link-sc-1qpv5j1-0:hover,.ShareSite .jdyKgW:focus{background:#2a2d33;}/*!sc*/ .ShareSite .ShareLink__Link-sc-1qpv5j1-0 svg{display:block;margin:0 auto;height:24px;width:24px;}/*!sc*/ @media screen and (max-width:599px){.ShareSite .ShareLink__Link-sc-1qpv5j1-0{position:static;}}/*!sc*/ data-styled.g16[id="ShareLink__Link-sc-1qpv5j1-0"]{content:"jdyKgW,"}/*!sc*/ .jxqLoD{border-top:1px solid #5c6069;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:space-evenly;-webkit-justify-content:space-evenly;-ms-flex-pack:space-evenly;justify-content:space-evenly;position:relative;z-index:1;}/*!sc*/ data-styled.g17[id="ShareSite__Container-ayv7ct-0"]{content:"jxqLoD,"}/*!sc*/ .gTZSEw{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;white-space:nowrap;margin:0 0 6.6000000000000005px 0;font-size:1rem;font-weight:800;position:relative;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all ease-in 300ms;transition:all ease-in 300ms;}/*!sc*/ @media screen and (max-width:999px){.gTZSEw{margin-bottom:10px;display:block;}}/*!sc*/ @media screen and (min-width:1000px){.gTZSEw{margin-left:0;}.gTZSEw > span{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block;}}/*!sc*/ .gTZSEw._is-active span span::before{content:'> ';}/*!sc*/ @media screen and (max-width:999px){.gTZSEw._is-active span span::after{content:' <';}}/*!sc*/ .gTZSEw,.gTZSEw:link,.gTZSEw:visited,.gTZSEw:active,.gTZSEw:focus{color:#41c7c7;text-shadow:0px 2px 3px rgba(65,199,199,0.4);}/*!sc*/ .gTZSEw > span{display:inline-block;position:relative;}/*!sc*/ .gTZSEw > span::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background-color:#41c7c7;-webkit-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.5s ease;-webkit-transition:transform 0.5s ease;transition:transform 0.5s ease;}/*!sc*/ .gTZSEw._is-active{color:#94eeee;text-shadow:0px 2px 3px rgba(148,238,238,0.4);}/*!sc*/ .gTZSEw._is-active > span::before{background-color:#94eeee;}/*!sc*/ .gTZSEw:hover,.gTZSEw:focus{-webkit-text-decoration:none;text-decoration:none;text-shadow:0px 2px 7px rgba(65,199,199,0.9);}/*!sc*/ .gTZSEw:hover > span::before,.gTZSEw:focus > span::before{-webkit-transform-origin:bottom left;-ms-transform-origin:bottom left;transform-origin:bottom left;-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/ .jJODYN{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;white-space:nowrap;margin:0 0 6.6000000000000005px 0;font-size:0.9rem;font-weight:400;position:relative;-webkit-text-decoration:none;text-decoration:none;-webkit-transition:all ease-in 300ms;transition:all ease-in 300ms;}/*!sc*/ @media screen and (max-width:999px){.jJODYN{margin-bottom:10px;display:block;}}/*!sc*/ @media screen and (min-width:1000px){.jJODYN{margin-left:20px;display:none;}.jJODYN > span{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:100%;display:inline-block;}}/*!sc*/ .jJODYN._is-active span span::before{content:'> ';}/*!sc*/ @media screen and (max-width:999px){.jJODYN._is-active span span::after{content:' <';}}/*!sc*/ .jJODYN,.jJODYN:link,.jJODYN:visited,.jJODYN:active,.jJODYN:focus{color:#e0e4e4;text-shadow:0px 2px 3px rgba(224,228,228,0.4);}/*!sc*/ .jJODYN > span{display:inline-block;position:relative;}/*!sc*/ .jJODYN > span::before{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background-color:#e0e4e4;-webkit-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right;-webkit-transform:scaleX(0);-ms-transform:scaleX(0);transform:scaleX(0);-webkit-transition:-webkit-transform 0.5s ease;-webkit-transition:transform 0.5s ease;transition:transform 0.5s ease;}/*!sc*/ .jJODYN._is-active{color:#94eeee;text-shadow:0px 2px 3px rgba(148,238,238,0.4);}/*!sc*/ .jJODYN._is-active > span::before{background-color:#94eeee;}/*!sc*/ .jJODYN:hover,.jJODYN:focus{-webkit-text-decoration:none;text-decoration:none;text-shadow:0px 2px 7px rgba(224,228,228,0.9);}/*!sc*/ .jJODYN:hover > span::before,.jJODYN:focus > span::before{-webkit-transform-origin:bottom left;-ms-transform-origin:bottom left;transform-origin:bottom left;-webkit-transform:scaleX(1);-ms-transform:scaleX(1);transform:scaleX(1);}/*!sc*/ data-styled.g18[id="Nav__StyledPageLink-uo6ep0-0"]{content:"gTZSEw,jJODYN,"}/*!sc*/ .iskZBJ{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;padding:30px 20px;overflow-y:auto;}/*!sc*/ @media screen and (max-width:999px){.iskZBJ{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;overflow-y:scroll;}}/*!sc*/ data-styled.g19[id="Nav__NavContainer-uo6ep0-1"]{content:"iskZBJ,"}/*!sc*/ .bXJgCf{position:relative;width:100%;}/*!sc*/ data-styled.g20[id="Nav__LanguageSwitcherWrapper-uo6ep0-2"]{content:"bXJgCf,"}/*!sc*/ .edOkpG{width:67px;height:67px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;font-size:26px;position:relative;border-left:1px solid #5c6069;background:#222429;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .Logo:hover .LogoCell__Container-n9we24-0{background:#2a2d33;}/*!sc*/ @media screen and (max-width:999px){.edOkpG:last-child{border-right:1px solid #5c6069;}}/*!sc*/ @media screen and (min-width:1000px){.edOkpG:first-child{border-left:0;}}/*!sc*/ data-styled.g21[id="LogoCell__Container-n9we24-0"]{content:"edOkpG,"}/*!sc*/ .iWHLb{position:absolute;top:0;left:0;font-size:12px;line-height:12px;padding:6px 8px;color:#e0e4e4;opacity:0.35;font-weight:300;}/*!sc*/ data-styled.g22[id="LogoCell__Index-n9we24-1"]{content:"iWHLb,"}/*!sc*/ .hZEPJH{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;}/*!sc*/ data-styled.g23[id="SidebarLogo__Container-qwaf9p-0"]{content:"hZEPJH,"}/*!sc*/ .hHlUQl{border-right:1px solid #5c6069;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ @media screen and (min-width:1000px){.hHlUQl{width:270px;height:100vh;position:fixed;}}/*!sc*/ @media screen and (max-width:999px){.hHlUQl{width:100%;top:0;bottom:0;left:0;right:0;background:#222429;z-index:1000;text-align:center;position:fixed;display:none;}}/*!sc*/ data-styled.g24[id="Sidebar__SidebarContainer-sc-1u4yidz-0"]{content:"hHlUQl,"}/*!sc*/ .eRTXyl{border:0;-webkit-clip:rect(0 0 0 0);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);clip-path:polygon(0px 0px,0px 0px,0px 0px);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;}/*!sc*/ data-styled.g25[id="Sidebar__SidebarScreenReadersTitle-sc-1u4yidz-1"]{content:"eRTXyl,"}/*!sc*/ .kbZNhn{border:0;-webkit-clip:rect(0 0 0 0);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);clip-path:polygon(0px 0px,0px 0px,0px 0px);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;}/*!sc*/ data-styled.g26[id="Sidebar__ScreenReadersHint-sc-1u4yidz-2"]{content:"kbZNhn,"}/*!sc*/ .kWZfrr{display:grid;grid-template-columns:0 1fr 0;grid-template-areas:'left logo right';border-bottom:1px solid #5c6069;}/*!sc*/ @media screen and (max-width:999px){.kWZfrr{grid-template-columns:50px 1fr 50px;}}/*!sc*/ data-styled.g27[id="Sidebar__SidebarHeader-sc-1u4yidz-3"]{content:"kWZfrr,"}/*!sc*/ .dAEVjl{grid-area:logo;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}/*!sc*/ .dAEVjl svg{max-height:76px;}/*!sc*/ .dAEVjl:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ data-styled.g28[id="Sidebar__SidebarLogoLink-sc-1u4yidz-4"]{content:"dAEVjl,"}/*!sc*/ .bpKdro{grid-area:right;margin:0;padding:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;cursor:pointer;border:none;position:absolute;box-sizing:border-box;width:calc(calc(100vw - 270px) / 2);height:68px;}/*!sc*/ .bpKdro svg{stroke:#41c7c7;}/*!sc*/ @media screen and (min-width:1000px){.bpKdro{display:none;}}/*!sc*/ .bpKdro:hover,.bpKdro:focus{background-color:#2a2d33;}/*!sc*/ data-styled.g29[id="Sidebar__SidebarCloseButton-sc-1u4yidz-5"]{content:"bpKdro,"}/*!sc*/ .eyWRuW{border-bottom:1px solid #5c6069;z-index:10;position:relative;display:grid;grid-template-columns:1fr auto 1fr;}/*!sc*/ @media screen and (max-width:999px){.eyWRuW{border-bottom:none;grid-template-columns:1fr 0px 1fr;}.eyWRuW > *:first-child{border-left:1px solid #5c6069;border-right:1px solid #5c6069;}}/*!sc*/ data-styled.g30[id="Pagination__Container-fmwu6l-0"]{content:"eyWRuW,"}/*!sc*/ .iZEAbN{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;border-left:1px solid #5c6069;border-right:1px solid #5c6069;}/*!sc*/ @media screen and (max-width:999px){.iZEAbN{border-left:none;border-right:none;}}/*!sc*/ data-styled.g31[id="Pagination__MiddleContent-fmwu6l-1"]{content:"iZEAbN,"}/*!sc*/ .iMYawq{border:0;-webkit-clip:rect(0 0 0 0);clip:rect(0 0 0 0);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);clip-path:polygon(0px 0px,0px 0px,0px 0px);-webkit-clip-path:polygon(0px 0px,0px 0px,0px 0px);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;}/*!sc*/ data-styled.g33[id="MainLayout__ScreenReadersHint-uwvjad-0"]{content:"iMYawq,"}/*!sc*/ .koUIH{display:block;padding:1rem 1rem;position:absolute;top:-900px;left:-900px;}/*!sc*/ .koUIH:focus{display:inline-block;position:static !important;top:0 !important;left:0 !important;border:2px solid white;}/*!sc*/ data-styled.g34[id="MainLayout__Skip-uwvjad-1"]{content:"koUIH,"}/*!sc*/ @media screen and (max-width:999px){.hQFQAx{padding-left:5rem;border-bottom:1px solid #5c6069;}}/*!sc*/ data-styled.g35[id="MainLayout__PaginationWrapper-uwvjad-2"]{content:"hQFQAx,"}/*!sc*/ .gxaSHK{display:block;background-color:transparent;outline:none;border:none;position:absolute;top:0;left:0;cursor:pointer;padding:0.825rem 1rem 0.5rem 1rem;width:5rem;height:3.71rem;box-sizing:border-box;}/*!sc*/ .gxaSHK svg{width:2rem;height:auto;}/*!sc*/ @media screen and (min-width:1000px){.gxaSHK{display:none;}}/*!sc*/ .gxaSHK:focus{border:2px solid #ACFFC3;outline:5px auto -webkit-focus-ring-color;}/*!sc*/ .gxaSHK:hover,.gxaSHK:focus{background:#2a2d33;}/*!sc*/ data-styled.g36[id="MainLayout__MenuToggle-uwvjad-3"]{content:"gxaSHK,"}/*!sc*/ .kngwcV{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}/*!sc*/ data-styled.g37[id="MainLayout__PageContent-uwvjad-4"]{content:"kngwcV,"}/*!sc*/ .dMDcdD{min-height:100vh;position:relative;}/*!sc*/ @media screen and (min-width:1000px){.dMDcdD{display:grid;grid-template-columns:270px calc(100% - 270px);}}/*!sc*/ @media screen and (max-width:999px){.dMDcdD{grid-template-columns:5rem auto;}}/*!sc*/ data-styled.g38[id="MainLayout__Page-uwvjad-5"]{content:"dMDcdD,"}/*!sc*/ .fpohRl{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;overflow-x:hidden;overflow-y:visible;}/*!sc*/ @media screen and (max-width:999px){.fpohRl{padding:20px;}}/*!sc*/ @media screen and (min-width:1000px){.fpohRl{padding:60px;}}/*!sc*/ data-styled.g39[id="MainLayout__PageMain-uwvjad-6"]{content:"fpohRl,"}/*!sc*/ .jrlGls{background:none;cursor:pointer;display:block;text-align:center;font-weight:800;border:1px dashed;box-shadow:0 0 0 rgba(0,0,0,0);-webkit-transition:all 300ms ease-out;transition:all 300ms ease-out;padding:10px 20px;}/*!sc*/ .jrlGls,.jrlGls:link,.jrlGls:visited{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ @media screen and (max-width:599px){.jrlGls{font-size:0.8rem;}}/*!sc*/ @media screen and (min-width:600px){.jrlGls{font-size:1rem;}}/*!sc*/ .jrlGls,.jrlGls:link,.jrlGls:visited{border-color:#e0e4e4;color:#e0e4e4;}/*!sc*/ .jrlGls:hover,.jrlGls:focus{border-style:solid;border-color:#41c7c7;color:#41c7c7;}/*!sc*/ .jrlGls:hover,.jrlGls:focus{-webkit-text-decoration:none;text-decoration:none;box-shadow:0 3px 0 rgba(0,0,0,0.3);background:#2a2d33;}/*!sc*/ .jrlGls.Button--selected{background:#2a2d33;cursor:default;pointer-events:none;border-style:solid;}/*!sc*/ @media screen and (max-width:599px){.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0{width:100%;-webkit-flex-basis:100%;-ms-flex-preferred-size:100%;flex-basis:100%;border-top-width:0;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:first-child{border-top-width:1px;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:hover,.ButtonGroup-sc-1k32jr0-0 .jrlGls:focus{border-top-color:#5c6069;border-bottom-color:#5c6069;}}/*!sc*/ @media screen and (min-width:600px){.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0{border-left-width:0;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:first-child{border-left-width:1px;}.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:hover,.ButtonGroup-sc-1k32jr0-0 .Button-tirokp-0:focus{border-left-color:#5c6069;border-right-color:#5c6069;}}/*!sc*/ .jrlGls .ButtonGroup-sc-1k32jr0-0--active{cursor:default;pointer-events:none;}/*!sc*/ data-styled.g45[id="Button-tirokp-0"]{content:"jrlGls,"}/*!sc*/ @media screen and (max-width:599px){.jEYWnh{margin-top:80px;}}/*!sc*/ @media screen and (min-width:600px){.jEYWnh{margin-top:120px;}}/*!sc*/ data-styled.g46[id="PageFooter__Container-pu9659-0"]{content:"jEYWnh,"}/*!sc*/ @media screen and (max-width:599px){.dBJAfU{display:grid;grid-template-columns:1fr 1fr;-webkit-column-gap:20px;column-gap:20px;}}/*!sc*/ @media screen and (min-width:600px){.dBJAfU{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}}/*!sc*/ data-styled.g47[id="PageFooter__Nav-pu9659-1"]{content:"dBJAfU,"}/*!sc*/ .efIfui{font-size:0.8rem;text-align:center;}/*!sc*/ @media screen and (max-width:599px){.efIfui{margin-top:80px;}}/*!sc*/ @media screen and (min-width:600px){.efIfui{margin-top:120px;}}/*!sc*/ data-styled.g48[id="PageFooter__Notes-pu9659-2"]{content:"efIfui,"}/*!sc*/ @media screen and (max-width:599px){.fLCcbb{display:block;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:100%;}}/*!sc*/ data-styled.g49[id="PageFooter__FooterLink-pu9659-3"]{content:"fLCcbb,"}/*!sc*/ @media screen and (min-width:600px){.ecDXdZ{margin-right:20px;}}/*!sc*/ data-styled.g50[id="PageFooter__PreviousLink-pu9659-4"]{content:"ecDXdZ,"}/*!sc*/ @media screen and (max-width:599px){.hEKYIR{display:none;}}/*!sc*/ data-styled.g52[id="PageFooter__LinkLabel-pu9659-6"]{content:"hEKYIR,"}/*!sc*/ @media screen and (max-width:999px){.kTMCA-d{margin-bottom:40px;}}/*!sc*/ @media screen and (min-width:1000px){.kTMCA-d{font-size:1.1rem;margin-bottom:80px;}}/*!sc*/ data-styled.g112[id="PageIntroductionBlock__Introduction-l8rkyc-0"]{content:"kTMCA-d,"}/*!sc*/ .cwWItv{border:1px solid #5c6069;}/*!sc*/ @media screen and (min-width:600px){.cwWItv{display:grid;grid-template-columns:1fr 1fr;}}/*!sc*/ data-styled.g154[id="TshirtBlock__Container-sc-1ts93wc-0"]{content:"cwWItv,"}/*!sc*/ .iSIbEH{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;}/*!sc*/ @media screen and (max-width:599px){.iSIbEH{border-bottom:1px solid #5c6069;}}/*!sc*/ @media screen and (min-width:600px){.iSIbEH{border-right:1px solid #5c6069;}}/*!sc*/ .iSIbEH img{display:block;width:100%;}/*!sc*/ data-styled.g155[id="TshirtBlock__ImagesContainer-sc-1ts93wc-1"]{content:"iSIbEH,"}/*!sc*/ .iJUhnK:nth-child(1){border-bottom:1px solid #5c6069;grid-column-start:1;grid-column-end:3;}/*!sc*/ .iJUhnK:nth-child(2){border-right:1px solid #5c6069;}/*!sc*/ data-styled.g156[id="TshirtBlock__Image-sc-1ts93wc-2"]{content:"iJUhnK,"}/*!sc*/ @media screen and (max-width:599px){.jSyIV{padding:20px;}}/*!sc*/ @media screen and (min-width:600px){.jSyIV{padding:40px;}}/*!sc*/ .jSyIV h2{margin-bottom:5px;}/*!sc*/ .jSyIV h3{font-size:1rem;}/*!sc*/ data-styled.g157[id="TshirtBlock__Description-sc-1ts93wc-3"]{content:"jSyIV,"}/*!sc*/ @-webkit-keyframes cARFhl{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-50%) translateY(-275%);-ms-transform:translateX(-50%) translateY(-275%);transform:translateX(-50%) translateY(-275%);}}/*!sc*/ @keyframes cARFhl{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-50%) translateY(-275%);-ms-transform:translateX(-50%) translateY(-275%);transform:translateX(-50%) translateY(-275%);}}/*!sc*/ data-styled.g219[id="sc-keyframes-cARFhl"]{content:"cARFhl,"}/*!sc*/ @-webkit-keyframes bPXDEJ{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(20%);-ms-transform:translateX(20%);transform:translateX(20%);}}/*!sc*/ @keyframes bPXDEJ{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(20%);-ms-transform:translateX(20%);transform:translateX(20%);}}/*!sc*/ data-styled.g220[id="sc-keyframes-bPXDEJ"]{content:"bPXDEJ,"}/*!sc*/ @-webkit-keyframes ljWKCc{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-200%) translateY(-200%);-ms-transform:translateX(-200%) translateY(-200%);transform:translateX(-200%) translateY(-200%);}}/*!sc*/ @keyframes ljWKCc{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-200%) translateY(-200%);-ms-transform:translateX(-200%) translateY(-200%);transform:translateX(-200%) translateY(-200%);}}/*!sc*/ data-styled.g221[id="sc-keyframes-ljWKCc"]{content:"ljWKCc,"}/*!sc*/ @-webkit-keyframes cMBegx{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(60%);-ms-transform:translateX(60%);transform:translateX(60%);}}/*!sc*/ @keyframes cMBegx{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(60%);-ms-transform:translateX(60%);transform:translateX(60%);}}/*!sc*/ data-styled.g222[id="sc-keyframes-cMBegx"]{content:"cMBegx,"}/*!sc*/ @-webkit-keyframes kZHiaN{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-275%) translateY(-50%);-ms-transform:translateX(-275%) translateY(-50%);transform:translateX(-275%) translateY(-50%);}}/*!sc*/ @keyframes kZHiaN{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-275%) translateY(-50%);-ms-transform:translateX(-275%) translateY(-50%);transform:translateX(-275%) translateY(-50%);}}/*!sc*/ data-styled.g223[id="sc-keyframes-kZHiaN"]{content:"kZHiaN,"}/*!sc*/ @-webkit-keyframes fKEkIt{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(130%);-ms-transform:translateX(130%);transform:translateX(130%);}}/*!sc*/ @keyframes fKEkIt{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(130%);-ms-transform:translateX(130%);transform:translateX(130%);}}/*!sc*/ data-styled.g224[id="sc-keyframes-fKEkIt"]{content:"fKEkIt,"}/*!sc*/ @-webkit-keyframes ewHXmC{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-200%) translateY(100%);-ms-transform:translateX(-200%) translateY(100%);transform:translateX(-200%) translateY(100%);}}/*!sc*/ @keyframes ewHXmC{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-200%) translateY(100%);-ms-transform:translateX(-200%) translateY(100%);transform:translateX(-200%) translateY(100%);}}/*!sc*/ data-styled.g225[id="sc-keyframes-ewHXmC"]{content:"ewHXmC,"}/*!sc*/ @-webkit-keyframes kxSgkt{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(200%);-ms-transform:translateX(200%);transform:translateX(200%);}}/*!sc*/ @keyframes kxSgkt{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(200%);-ms-transform:translateX(200%);transform:translateX(200%);}}/*!sc*/ data-styled.g226[id="sc-keyframes-kxSgkt"]{content:"kxSgkt,"}/*!sc*/ @-webkit-keyframes ieWsjv{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-50%) translateY(175%);-ms-transform:translateX(-50%) translateY(175%);transform:translateX(-50%) translateY(175%);}}/*!sc*/ @keyframes ieWsjv{0%{opacity:0;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}100%{opacity:1;-webkit-transform:translateX(-50%) translateY(175%);-ms-transform:translateX(-50%) translateY(175%);transform:translateX(-50%) translateY(175%);}}/*!sc*/ data-styled.g227[id="sc-keyframes-ieWsjv"]{content:"ieWsjv,"}/*!sc*/ @-webkit-keyframes bdkvTi{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(270%);-ms-transform:translateX(270%);transform:translateX(270%);}}/*!sc*/ @keyframes bdkvTi{0%{opacity:0;-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0);}100%{opacity:1;-webkit-transform:translateX(270%);-ms-transform:translateX(270%);transform:translateX(270%);}}/*!sc*/ data-styled.g228[id="sc-keyframes-bdkvTi"]{content:"bdkvTi,"}/*!sc*/ </style><link as="script" rel="preload" href="/webpack-runtime-bacbb8227f7a3f462f8b.js"/><link as="script" rel="preload" href="/framework-4f6f4628cf10d856b9b4.js"/><link as="script" rel="preload" href="/7616da28-658a2ca7170fc512347f.js"/><link as="script" rel="preload" href="/app-eaa307f84b08943b892a.js"/><link as="script" rel="preload" href="/styles-407fe62976dc5310c43e.js"/><link as="script" rel="preload" href="/component---src-core-pages-page-template-js-2b78a8da8c7848bf20bb.js"/><link as="fetch" rel="preload" href="/page-data/id-ID/tshirt/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/sq/d/216024313.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/sq/d/216024313.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="modKeyUp"><a href="#page-main" class="MainLayout__Skip-uwvjad-1 koUIH">[id-ID] general.skip_to_content</a><div class="MainLayout__Page-uwvjad-5 dMDcdD Page--tshirt nocapture"><div><button aria-haspopup="menu" aria-expanded="false" class="MainLayout__MenuToggle-uwvjad-3 gxaSHK"><span class="MainLayout__ScreenReadersHint-uwvjad-0 iMYawq">[id-ID] general.open_nav</span><svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100" class="Hamburger__Container-j038hg-0 fIONJq"><g id="Outline_Icons"><line fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" x1="15" y1="25" x2="85" y2="25"></line><line fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" x1="15" y1="50" x2="85" y2="50"></line><line fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="8" x1="15" y1="75" x2="85" y2="75"></line></g></svg></button><nav id="sidebar" class="Sidebar__SidebarContainer-sc-1u4yidz-0 hHlUQl Sidebar"><button aria-haspopup="menu" aria-expanded="false" class="Sidebar__SidebarCloseButton-sc-1u4yidz-5 bpKdro"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><g fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><line x1=".5" y1=".5" x2="23.5" y2="23.5"></line><line x1="23.5" y1=".5" x2=".5" y2="23.5"></line></g></svg><span class="Sidebar__ScreenReadersHint-sc-1u4yidz-2 kbZNhn">[id-ID] general.close_nav</span></button><h1 class="Sidebar__SidebarScreenReadersTitle-sc-1u4yidz-1 eRTXyl">State of JS 2020</h1><div class="Sidebar__SidebarHeader-sc-1u4yidz-3 kWZfrr"><a class="Sidebar__SidebarLogoLink-sc-1u4yidz-4 dAEVjl" href="/id-ID/"><span class="SidebarLogo__Container-qwaf9p-0 hZEPJH"><span class="LogoCell__Container-n9we24-0 edOkpG LogoCell" style="color:#e0e4e4"><span class="LogoCell__Index-n9we24-1 iWHLb">0</span>St</span><span class="LogoCell__Container-n9we24-0 edOkpG LogoCell" style="color:#e0e4e4"><span class="LogoCell__Index-n9we24-1 iWHLb">1</span>Js</span><span class="LogoCell__Container-n9we24-0 edOkpG LogoCell" style="color:#FE6A6A"><span class="LogoCell__Index-n9we24-1 iWHLb">2</span>20</span><span class="LogoCell__Container-n9we24-0 edOkpG LogoCell" style="color:#FE6A6A"><span class="LogoCell__Index-n9we24-1 iWHLb">3</span>20</span></span><span class="Sidebar__ScreenReadersHint-sc-1u4yidz-2 kbZNhn">[id-ID] general.back_to_intro</span></a></div><div class="Nav__NavContainer-uo6ep0-1 iskZBJ"><div class="Nav__LanguageSwitcherWrapper-uo6ep0-2 bXJgCf"><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button class="Popover__PopoverToggle-sc-3zqg9-2 hwouLV PopoverToggle" aria-label="Indonesia" aria-haspopup="menu" aria-expanded="false"><span>Indonesia</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 50"><polygon stroke="#000" points="0,0 100,0 50,50"></polygon></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="Locales__Container-sc-1lgl2z3-0 hfkwXz Locales"><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ca-ES/tshirt/">Català</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>81<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>81<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(81 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/cs-CZ/tshirt/">Česky</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>46<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>46<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(46 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/de-DE/tshirt/">Deutsch</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>60<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>60<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(60 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/en-US/tshirt/">English</a></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/es-ES/tshirt/">Español</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(89 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/fa-IR/tshirt/">فارسی</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>26<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>26<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(26 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/fr-FR/tshirt/">Français</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>69<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>69<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(69 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/gl-ES/tshirt/">Galego</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(89 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/hi-IN/tshirt/">Hindi</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>4<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>4<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(4 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/it-IT/tshirt/">Italiano</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(41 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/pt-PT/tshirt/">Português</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(38 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ru-RU/tshirt/">Русский</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>93<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>93<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(93 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ua-UA/tshirt/">Українська</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(80 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/sv-SE/tshirt/">Svenska</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(38 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/tr-TR/tshirt/">Türkçe</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>66<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>66<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(66 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a aria-current="page" class="" href="/id-ID/tshirt/">Indonesia</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(41 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/zh-Hans/tshirt/">简体中文</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>85<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>85<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(85 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/zh-Hant/tshirt/">正體中文</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>64<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>64<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(64 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ja-JP/tshirt/">日本語</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>77<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>77<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(77 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/pl-PL/tshirt/">Polski</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>78<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>78<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(78 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ko-KR/tshirt/">한국어</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>86<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>86<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(86 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/nl-NL/tshirt/">Nederlands</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(80 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ro-RO/tshirt/">Română</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>84<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>84<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(84 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span></div><div class="LanguageSwitcher__LanguageSwitcherHelp-sc-1dnlai8-0 khubsu LanguageSwitcherHelp"><a href="https://github.com/StateOfJS/state-of-js-graphql-results-api/issues/50"><span data-key="general.help_us_translate" class="t">Bantu kami menerjemahkan survei »</span></a></div></div></div></div></div><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/id-ID/"><span><span data-key="sections.introduction.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Introduction</span></span></a><a aria-current="page" class="Nav__StyledPageLink-uo6ep0-0 gTZSEw _is-active" href="/id-ID/tshirt/"><span><span data-key="sections.tshirt.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">T-shirt</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/id-ID/demographics/"><span><span data-key="sections.demographics.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Demographics</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/id-ID/features/"><span><span data-key="sections.features.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Features</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/features/syntax/"><span><span data-key="sections.syntax.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Syntax</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/features/language/"><span><span data-key="sections.language.title" class="t">Bahasa</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/features/data-structures/"><span><span data-key="sections.data_structures.title" class="t">Struktur Data</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/features/browser-apis/"><span><span data-key="sections.browser_apis.title" class="t">Browser API</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/features/other-features/"><span><span data-key="sections.other_features.title" class="t">Fitur Lainnya</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/id-ID/technologies/"><span><span data-key="sections.technologies.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Technologies</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/technologies/javascript-flavors/"><span><span data-key="sections.javascript_flavors.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">JavaScript Flavors</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/technologies/front-end-frameworks/"><span><span data-key="sections.front_end_frameworks.title" class="t">Kerangka Front-end</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/technologies/datalayer/"><span><span data-key="sections.datalayer.title" class="t">Lapisan Data</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/technologies/back-end-frameworks/"><span><span data-key="sections.back_end_frameworks.title" class="t">Kerangka Back-end</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/technologies/testing/"><span><span data-key="sections.testing.title" class="t">Pengujian</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/technologies/build-tools/"><span><span data-key="sections.build_tools.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Build Tools</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 jJODYN" href="/id-ID/technologies/mobile-desktop/"><span><span data-key="sections.mobile_desktop.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Mobile & Desktop</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/id-ID/other-tools/"><span><span data-key="sections.tools_others.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Other Tools</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/id-ID/resources/"><span><span data-key="sections.resources.title" class="t">Sumber</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/id-ID/opinions/"><span><span data-key="sections.opinions.title" class="t">Opini</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/id-ID/awards/"><span><span data-key="sections.awards.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Awards</span></span></a><a class="Nav__StyledPageLink-uo6ep0-0 gTZSEw" href="/id-ID/conclusion/"><span><span data-key="sections.conclusion.title" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Conclusion</span></span></a></div><div class="ShareSite__Container-ayv7ct-0 jxqLoD ShareSite"><a href="https://twitter.com/intent/tweet/?text=Discover%20the%20State%20of%20JS%202020%20results%20https%3A%2F%2F2020.stateofjs.com%20%23StateOfJS" target="_blank" rel="noopener noreferrer" aria-label="Share on Twitter" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--twitter"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M23.444,4.834c-0.814,0.363-1.5,0.375-2.228,0.016c0.938-0.562,0.981-0.957,1.32-2.019c-0.878,0.521-1.851,0.9-2.886,1.104 C18.823,3.053,17.642,2.5,16.335,2.5c-2.51,0-4.544,2.036-4.544,4.544c0,0.356,0.04,0.703,0.117,1.036 C8.132,7.891,4.783,6.082,2.542,3.332C2.151,4.003,1.927,4.784,1.927,5.617c0,1.577,0.803,2.967,2.021,3.782 C3.203,9.375,2.503,9.171,1.891,8.831C1.89,8.85,1.89,8.868,1.89,8.888c0,2.202,1.566,4.038,3.646,4.456 c-0.666,0.181-1.368,0.209-2.053,0.079c0.579,1.804,2.257,3.118,4.245,3.155C5.783,18.102,3.372,18.737,1,18.459 C3.012,19.748,5.399,20.5,7.966,20.5c8.358,0,12.928-6.924,12.928-12.929c0-0.198-0.003-0.393-0.012-0.588 C21.769,6.343,22.835,5.746,23.444,4.834z"></path></svg><span class="sr-only">Share on Twitter</span></a><a href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2F2020.stateofjs.com" target="_blank" rel="noopener noreferrer" aria-label="Share on Facebook" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--facebook"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M18.768,7.465H14.5V5.56c0-0.896,0.594-1.105,1.012-1.105s2.988,0,2.988,0V0.513L14.171,0.5C10.244,0.5,9.5,3.438,9.5,5.32 v2.145h-3v4h3c0,5.212,0,12,0,12h5c0,0,0-6.85,0-12h3.851L18.768,7.465z"></path></svg><span class="sr-only">Share on Facebook</span></a><a href="https://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2F2020.stateofjs.com&title=Discover the State of JS 2020 results&summary=" target="_blank" rel="noopener noreferrer" aria-label="Share on LinkedIn" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--linkedin"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-hidden="true"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"></path></svg><span class="sr-only">Share on LinkedIn</span></a><a href="mailto:?subject=State%20of%20JS%202020%20Survey%20Results&body=Here%20are%20some%20interesting%20survey%20results%3A%20https%3A%2F%2F2020.stateofjs.com" target="_self" aria-label="Share by email" class="ShareLink__Link-sc-1qpv5j1-0 jdyKgW ShareLink ShareLink--email"><svg version="1.1" x="0px" y="0px" width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve" aria-hidden="true"><path d="M22,4H2C0.897,4,0,4.897,0,6v12c0,1.103,0.897,2,2,2h20c1.103,0,2-0.897,2-2V6C24,4.897,23.103,4,22,4z M7.248,14.434 l-3.5,2C3.67,16.479,3.584,16.5,3.5,16.5c-0.174,0-0.342-0.09-0.435-0.252c-0.137-0.239-0.054-0.545,0.186-0.682l3.5-2 c0.24-0.137,0.545-0.054,0.682,0.186C7.571,13.992,7.488,14.297,7.248,14.434z M12,14.5c-0.094,0-0.189-0.026-0.271-0.08l-8.5-5.5 C2.997,8.77,2.93,8.46,3.081,8.229c0.15-0.23,0.459-0.298,0.691-0.147L12,13.405l8.229-5.324c0.232-0.15,0.542-0.084,0.691,0.147 c0.15,0.232,0.083,0.542-0.148,0.691l-8.5,5.5C12.189,14.474,12.095,14.5,12,14.5z M20.934,16.248 C20.842,16.41,20.673,16.5,20.5,16.5c-0.084,0-0.169-0.021-0.248-0.065l-3.5-2c-0.24-0.137-0.323-0.442-0.186-0.682 s0.443-0.322,0.682-0.186l3.5,2C20.988,15.703,21.071,16.009,20.934,16.248z"></path></svg><span class="sr-only">Share by email</span></a></div></nav></div><div class="MainLayout__PageContent-uwvjad-4 kngwcV PageContent"><div class="MainLayout__PaginationWrapper-uwvjad-2 hQFQAx"><div class="Pagination__Container-fmwu6l-0 eyWRuW Pagination"><a class="PaginationLink__StyledLink-sc-15wpe8c-0 isboRP pagination__link pagination__previous" href="/id-ID/"><span><span>« <!-- -->Introduction</span></span></a><div class="Pagination__MiddleContent-fmwu6l-1 iZEAbN"><div class="Popover__Container-sc-3zqg9-0 fxzssI Popover Popover--bottom _is-closed"><div class="Popover__PopoverInner-sc-3zqg9-1 iFJNkp PopoverInner"><button class="Popover__PopoverToggle-sc-3zqg9-2 hwouLV PopoverToggle" aria-label="Indonesia" aria-haspopup="menu" aria-expanded="false"><span>Indonesia</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 50"><polygon stroke="#000" points="0,0 100,0 50,50"></polygon></svg></button><div class="Popover__PopoverPopup-sc-3zqg9-3 edvQGu PopoverPopup" id="PopoverPopup"><div class="Locales__Container-sc-1lgl2z3-0 hfkwXz Locales"><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ca-ES/tshirt/">Català</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>81<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>81<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(81 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/cs-CZ/tshirt/">Česky</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>46<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>46<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(46 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/de-DE/tshirt/">Deutsch</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>60<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>60<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(60 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/en-US/tshirt/">English</a></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/es-ES/tshirt/">Español</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(89 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/fa-IR/tshirt/">فارسی</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>26<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>26<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(26 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/fr-FR/tshirt/">Français</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>69<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>69<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(69 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/gl-ES/tshirt/">Galego</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>89<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(89 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/hi-IN/tshirt/">Hindi</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>4<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>4<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(4 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/it-IT/tshirt/">Italiano</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(41 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/pt-PT/tshirt/">Português</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(38 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ru-RU/tshirt/">Русский</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>93<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>93<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(93 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ua-UA/tshirt/">Українська</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(80 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/sv-SE/tshirt/">Svenska</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>38<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(38 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/tr-TR/tshirt/">Türkçe</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>66<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>66<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(66 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a aria-current="page" class="" href="/id-ID/tshirt/">Indonesia</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>41<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(41 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/zh-Hans/tshirt/">简体中文</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>85<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>85<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(85 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/zh-Hant/tshirt/">正體中文</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>64<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>64<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(64 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ja-JP/tshirt/">日本語</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>77<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>77<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(77 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/pl-PL/tshirt/">Polski</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>78<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>78<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(78 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ko-KR/tshirt/">한국어</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>86<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>86<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(86 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/nl-NL/tshirt/">Nederlands</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>80<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(80 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span><span class="Locales__Item-sc-1lgl2z3-1 fiDitP Locales__Item"><a href="/ro-RO/tshirt/">Română</a><div class="BlockCompletionIndicator__Container-sc-13goqqp-1 htZHAE CompletionIndicator" tabindex="0"><div class="BlockCompletionIndicator__Tooltip-sc-13goqqp-0 bYXlbR CompletionIndicator__Tooltip">Completion percentage:<!-- --> <strong>84<!-- -->%</strong> </div><div class="CompletionIndicator__Data sr-only">Completion percentage:<!-- --> <strong>84<!-- -->%</strong> </div><svg height="16" width="16" viewBox="0 0 20 20" class="BlockCompletionIndicator__Chart-sc-13goqqp-2 kiGCwo"><circle r="10" cx="10" cy="10" class="BlockCompletionIndicator__ChartBackground-sc-13goqqp-3 khMAWA"></circle><circle r="5" cx="10" cy="10" fill="transparent" stroke-width="10" stroke-dasharray="calc(84 * 31.4px / 100) 31.4px" transform="rotate(-90) translate(-20)" class="BlockCompletionIndicator__ChartForeground-sc-13goqqp-4 dozdiy"></circle></svg></div></span></div><div class="LanguageSwitcher__LanguageSwitcherHelp-sc-1dnlai8-0 khubsu LanguageSwitcherHelp"><a href="https://github.com/StateOfJS/state-of-js-graphql-results-api/issues/50"><span data-key="general.help_us_translate" class="t">Bantu kami menerjemahkan survei »</span></a></div></div></div></div></div><a class="PaginationLink__StyledLink-sc-15wpe8c-0 kyWIcc pagination__link pagination__next" href="/id-ID/demographics/"><span><span>Demographics<!-- --> »</span></span></a></div></div><main id="page-main" class="MainLayout__PageMain-uwvjad-6 fpohRl"><div class="Page__Contents"><div class="PageIntroductionBlock__Introduction-l8rkyc-0 kTMCA-d Page__Introduction"><div data-key="sections.tshirt.description" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback"><h2>Support the survey and look good in the process!</h2><p>We've updated last year's very popular 👕 State of JavaScript T-shirt 👕 for the 2020 JavaScript landscape!</p><p>The shirt features a ”periodic table of JavaScript” that lists the most popular libraries grouped by category, along with their GitHub stars counts (in thousands).</p><p>This shirt is a great way to familiarize yourself with the JavaScript ecosystem, and maybe even strike up a conversation with other like-minded JavaScript developers!</p></div></div><div class="TshirtBlock__Container-sc-1ts93wc-0 cwWItv"><div class="TshirtBlock__ImagesContainer-sc-1ts93wc-1 iSIbEH"><div class="TshirtBlock__Image-sc-1ts93wc-2 iJUhnK"><a href="/images/tshirt/stateofjs2019tshirt1.jpg" target="_blank" rel="noopener noreferrer"><img src="/images/tshirt/stateofjs2019tshirt1.jpg" alt="T-shirt"/></a></div><div class="TshirtBlock__Image-sc-1ts93wc-2 iJUhnK"><a href="/images/tshirt/stateofjs2019tshirt2.jpg" target="_blank" rel="noopener noreferrer"><img src="/images/tshirt/stateofjs2019tshirt2.jpg" alt="T-shirt"/></a></div><div class="TshirtBlock__Image-sc-1ts93wc-2 iJUhnK"><a href="/images/tshirt/stateofjs2020-tshirt-export.png" target="_blank" rel="noopener noreferrer"><img src="/images/tshirt/stateofjs2020-tshirt-export.png" alt="T-shirt"/></a></div></div><div class="TshirtBlock__Description-sc-1ts93wc-3 jSyIV"><h2><span data-key="tshirt.about" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">About the T-shirt</span></h2><div><div data-key="tshirt.description" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback"><p>Printing and shipping is handled by <a href="https://cottonbureau.com/people/state-of-js">Cotton Bureau</a>. The design is printed on a premium Next Level black super-soft, tri-blend shirt. </p></div></div><a class="Button-tirokp-0 TshirtBlock__TshirtButton-sc-1ts93wc-4 jrlGls jvVCYf TshirtButton gumroad-button Button TshirtButton gumroad-button" href="https://cottonbureau.com/products/state-of-js-2020-edition" target="_blank" rel="noopener noreferrer"><span data-key="tshirt.getit" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Get It</span> – <span data-key="tshirt.price" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">USD $29 + shipping</span></a></div></div></div><div class="PageFooter__Container-pu9659-0 jEYWnh"><div class="PageFooter__Nav-pu9659-1 dBJAfU"><a class="Button-tirokp-0 PageFooter__FooterLink-pu9659-3 PageFooter__PreviousLink-pu9659-4 jrlGls fLCcbb ecDXdZ PageFooter__Link PageFooter__Link--previous Button PageFooter__Link PageFooter__Link--previous" href="/id-ID/">«<!-- --> <span class="PageFooter__LinkLabel-pu9659-6 hEKYIR"><span data-key="page.previous" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Previous:</span></span> <!-- -->Introduction</a><a class="Button-tirokp-0 PageFooter__FooterLink-pu9659-3 PageFooter__NextLink-pu9659-5 jrlGls fLCcbb PageFooter__Link PageFooter__Link--next Button Button PageFooter__Link PageFooter__Link--next Button" href="/id-ID/demographics/"><span class="PageFooter__LinkLabel-pu9659-6 hEKYIR"><span data-key="page.next" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Next:</span></span> <!-- -->Demographics<!-- --> »</a></div><div class="PageFooter__Notes-pu9659-2 efIfui"><span data-key="general.charts_nivo" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Charts built with <a href="https://nivo.rocks/">Nivo</a>.</span> <span data-key="general.netlify_link" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Hosted by <a href="https://www.netlify.com">Netlify</a>.</span><br/><span data-key="general.leave_issue" class="t">Pertanyaan? Menemukan bug? <a href="https://github.com/StateOfJS/StateOfJS-2020" target="_blank">tinggalkan sebuah masalah</a>.</span> <span data-key="general.join_discord" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Join us on <a href="https://discord.gg/zRDb35jfrt">Discord</a>.</span><br/><span data-key="general.translator_mode" title="Cmd/ctrl-click to add missing translation" class="t t-modkeyup t-fallback">Press option/alt to enable translator mode.</span> </div></div></main></div></div></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/id-ID/tshirt/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-092c4c6a41bb38cca3d9.js"],"app":["/app-eaa307f84b08943b892a.js"],"component---src-core-pages-page-template-js":["/component---src-core-pages-page-template-js-2b78a8da8c7848bf20bb.js"],"component---src-core-share-share-block-template-js":["/component---src-core-share-share-block-template-js-5c6d182ad6eb170b733d.js"]};/*]]>*/</script><script src="/polyfill-092c4c6a41bb38cca3d9.js" nomodule=""></script><script src="/component---src-core-pages-page-template-js-2b78a8da8c7848bf20bb.js" async=""></script><script src="/styles-407fe62976dc5310c43e.js" async=""></script><script src="/app-eaa307f84b08943b892a.js" async=""></script><script src="/7616da28-658a2ca7170fc512347f.js" async=""></script><script src="/framework-4f6f4628cf10d856b9b4.js" async=""></script><script src="/webpack-runtime-bacbb8227f7a3f462f8b.js" async=""></script></body></html>