div.style013299113x-2176741611{-webkit-flex:1;-ms-fl{color:#ffcolor:#d9dee0;}.btn-inner-co163716fo.3x-2376199338{width:auto;text-align:center;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;163716fo.3x-2376199338{color:#fff;min-widthcoveradding:40px;137dedalign:center;border137dedalign:c09fc6;border-radius:3px;outline:none;font-weighttive;curbottom:24px;font-size:16px;text-transfor4, 72, 08in x;fonlor:#0041;opacity:0.4;font-family:Open Sans,sans-serif;163716fo.3x-2376199338:hover{1175e0ound:#0093b7;bo1175e0olor:#0093b7;color:#fff;}x-37nline-blofont-sstran .inli61.js63jstx-3727338d3b11{color:#6668argin-top:80px;ma2argin-left:10px;i61.js63jstx-534553027{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;dx-372738598{ma2argin-left:10px;i61.js63jsx-2176741611 .cui-avatar-image{border:1px solid rgba(51,51eft:10px;i61.js63jsxh2.style61.js63jstx-372738598{color:#003642margin-top:7533{m{fonlor:op-exm.jsx-i61.js63jstx-534553027{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-iin-top:80px;mam{fonlor:op-exm171"t:10px;i61.js63jstlor:#f6f6f6in-top: svg{m8in-bottott:1.5;font-s:op-exm.jsx-i61.js63js st-wl10px;i61.js63jstlor:#f6x;colorcta-1231pnnefixopdown-i61.js63jst;width:10tems:cenck:ckyx;width:10ck:ckyxhite;m-1011217533{wircta-1231pnnefixopdown-i61.js63js .et-starti61.js63jstx-372738598{ma2argin-lcta-px){.headei61.js63jstx-534553{list;width:10fixop;hild{margolute;teight:300px;:uppercase;p2;font-size:14px;back7);top:60px:3px;border:solid 1p-top:10px;} @media screen and (max-wicta-1231pnneeadei61.js63jstx-534553{list}lcta-px){.headei61.js63jstx-534553ter;display:inheight:100%;}.btn-inner-co3969921857x-2376199338{width:auto;text-align:center;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;3969921857x-2376199338{color:#fff;min-width:70px;width:auto;137dedalign:center;border137dedalign:c09fc6;border-radius:3px;outline:none;font-weighttive;curbottom:24px;font-size:16px;text-transform:uppercase;padding:16px 31;opacity:0.4;font-family:Open Sans,sans-serif;3969921857x-2376199338:hover{1175e0ound:#0093b7;bo1175e0olor:#0093b7;color:#fff;}.btn-inner-co842105057x-2376199338{width:auto;text-align:center;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;842105057x93b7;bo137deda{color:#fff;min-width:70px;width:auto;backgroundenter;border137dedalign:c09fc6;border-radius:3px;outline:none;font-weighttive;curbottom:24px;font-size:16px;text-transform:uppercase;padding:16px 31;opacity:0.4;font-family:Open Sans,sans-serif;842105057x-2376199338:hover{back7);top:93b7;bo1175e0olor:#001175e0osplay:none;}}.btn-inner-co395im2925513{width:80%;f;min-width90pxheight:100%;mar4footnner-co395im29255em.jsx-395im292551lor:#0093b7,sans-serif;largin4footnner-co395im29255ea.jsx-395im292551lor:#0herit255,255,255,0.7)-n4footnner-co395im29255ea.jsx-395im29255sx-50476footnner-co395im29255ea.jsx-395im29255smenu__76footnner-co395im29255ea.jsx-395im29255sx-504766363:focus{-webkit-text-decoration:none;text-decorafootnner-co395im29255ea.jsx-395im29255sx-5041lor:#0herit255,255,255,0.8)-n4footnner-co395im29255ea.jsx-395im29255smenu__76footnner-co395im29255ea.jsx-395im29255sx-5047lor:#0herit255,255,255,0.9)-n4footnner-co395im29255e4footnn8">.dropdo395im292551-2176741611{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:f1emnse2.8emnbox;displion:column;flerowction:column-reverse;-ms-flerowction:colreverse;-ms-flerowction:coln4footnner-co395im29255e4footnn8">.d__6px;splay:sropdo395im292551-2176741611{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;d-2176741611{-2ebkit-flex2;-flex2;n4footnner-co395im29255e4footnn8">.d__play:ropdo395im292551-2176741611{-webkit-flex:1;-ms-fl{738598 svg{main-r4footnner-co395im29255e4footnn8">.d__et-started395im292551lor:#008badb4nt-size:32px;font-weight:80px;mam{fonbottott:1.55rgin4footnner-co395im29255e4footnn8">.d__ghtducfoct-started395im292551x-534553play:ibottohild a{font-w4footnner-co395im29255e4footnn8">.d__6pstarted395im292551,sans-serif;li43align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:f533{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direc-2176741611{-webkit-flex:1;-ms-flw4footnner-co395im29255e4footnn8">.d__6pstarted395im29255151171 .menu4766363 611{29rgin4footnner-co395im29255e4footnn8">.d__px 0 8y:fl95im2925513{ast-child{mar.6in-r4footnner-co395im29255e4footnn8">.d__px 0 8y:fl95im29255sx-372738598:last-child{marrgin4footnner-co395im29255e4cmx7{bm600y 8y:fl95im2925513{ast-c7533{argin4footnner-co395im29255e.b:16dropdo395im292551-2176741611{-w.3ebkit-flex:.3e-flex:.3e{738598 svg{main-r4footnner-co395im29255e4footnn8op:-107px395im2925519);top:60px:3px;bordeherit255,255,255,0.15 54, 72, 01.1emnse3{fontex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-it4footnner-co395im29255e4footnn8op:-__copy svg{sropdo395im292551lor:#0093b7;4footnner-co395im29255e4footnn8op:-__px 0 8y:fl95im2925513{ast-cspan{2in-r4footnner-co395im29255e4footnn8op:-__px 0 8y:fl95im29255s51171 .menu4766363 span{addin4footnner-co395im29255e4footnn8op:-__socih:16px;sropdo395im2925513{ast-cspan{28font-size:1ter;display:inlfootnner-co395im29255e4footnn8op:-__socih:1px 0 8y:fl95im292551-1011210612{width:30px;,sans-serif;3,0.17);top:nter;borderbottott:1.55rgi{width:auto;text-alor:#f6f4454ao53027:hover{back255,255,255,0.3)-height:1.33;margix-957151171{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-iisplay:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-contefootnner-co395im29255e4footnn8op:-__socih:1px 0 8y:fl95im29255s51171 .menu4766363 span{addin4footnner-co395im29255e4footnn8op:-__socih:1px 0 8y:fl95im29255sx-534553027:hover{back255,255,255,0.4)alor:#f6f4454aon4footnner-co395im29255e4footnn8op:-__socih:1px 0 8y:fl95im29255smenu__76footnner-co395im29255e4footnn8op:-__socih:1px 0 8y:fl95im29255s5-504753027:hover{back255,255,255,0.5)alor:#f6f4454aonplay:none;} @media 0max-wifootnner-co395im29255e4footnn8op:-107px395im292551x-534553play:i{width:auto;text-alnplay:none;} @media64max-wifootnner-co395im29255e4b:16dropdo395im292551{width:auto;text-al4footnner-co395im29255e4footnn8">.dropdo395im292551isplay:f533{-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:col{width:auto;text-a-2176741hild{marrgin4footnner-co395im29255e4footnn8">.d__et-started395im292551round:whiteinitih:-w4footnner-co395im29255e4footnn8">.d__6pstarted395im2925513{ast-child{mar.6in-r4footnner-co395im29255e4footnn8">.d__6pstarted395im29255151171 .menu4766363 611{rrgin4footnner-co395im29255e4footnn8">.d__px 0 8y:fl95im2925513{ast-child{mar.8in-r4footnner-co395im29255e4footnn8">.d__play:ropdo395im292551{738598 svg{mrrgin4footnner-co395im29255e4footnn8">.d__play:ropdo395im29255em.jsx-395im292551in-top:40px;marin-r4footnner-co395im29255e4footnn8">.d__play:ropdo395im29255sx-372738598:last-:2.4emnsemnsemln4footnner-co395im29255e4footnn8">.d__6px;splay:sropdo395im292551isplay:f533{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direc-2176741611{-initih:-bkit-flexinitih:--flexinitih:-t4footnner-co395im29255e4footnn8op:-__copy svg{sropdo395im292551in-top:40px;ma5rgin4footnner-co395im29255e4footnn8op:-__socih:16px;sropdo395im292551x-534553play:i:last-:1emnsemln4footnner-co395im29255e4footnn8op:-__px 0 8y:fl95im292551g:0 4px 0 0;font-size:1.33;memlnreight:100%;}CTYP { widthiz2, 0 -radius80y: box;displottotmoothay:f antih:asfote bmoz-oy:flottotmoothay:f grayscale; } *, *:sx-95459 *:sx-954 { widthiz2, 0 round-co } body { :last-: 0e opacity:0.4; font-famil y:Open Sans rg-top:10print { widy { w-954596007{backg 093b7 } rga { {backg 000b5e27 tweight tive;cur ration:none;text -deco rg 8ys11 { w-954596007{backg 093b7 rg 8ys12 { wi;top:nter;bo ;fon rg 8ys13 { width:220px -deco rg 8ys14 { width:220px add 1x-shadowrdeherit0, 0, 0, 0.ba(0dd 1x-s1adowrdeherit0, 0, 0, 0.14a(0dd 2x-s1ado-1rdeherit0, 0, 0, 0.12)o rg 8ys15 { width:220px add 1x-s5adowrdeherit0, 0, 0, 0.ba(0dd 2dd 2dd wrdeherit0, 0, 0, 0.14a(0dd 3x-s1ado-2rdeherit0, 0, 0, 0.12)o rg 8ys16 { width:220px add 1x-s8adowrdeherit0, 0, 0, 0.ba(0dd 3x-s4dd wrdeherit0, 0, 0, 0.14a(0dd 3x-s3ado-2rdeherit0, 0, 0, 0.12)o rg 8ys17 { width:220px add 2x-s4dd -1rdeherit0, 0, 0, 0.ba(0dd 4x-s5adowrdeherit0, 0, 0, 0.14a(0dd 1x-s10adowrdeherit0, 0, 0, 0.12)o rg 8ys18 { width:220px add 3x-s5ado-1rdeherit0, 0, 0, 0.ba(0dd 5x-s8adowrdeherit0, 0, 0, 0.14a(0dd 1x-s14dd wrdeherit0, 0, 0, 0.12)o rg 8ys19 { width:220px add 3x-s5ado-1rdeherit0, 0, 0, 0.ba(0dd 6x-s10adowrdeherit0, 0, 0, 0.14a(0dd 1x-s18adowrdeherit0, 0, 0, 0.12)o rg 8ys20 { width:220px add 4x-s5ado-2rdeherit0, 0, 0, 0.ba(0dd 7x-s10ado1rdeherit0, 0, 0, 0.14a(0dd 2x-s16ado1rdeherit0, 0, 0, 0.12)o rg 8ys21 { width:220px add 5x-s5ado-3rdeherit0, 0, 0, 0.ba(0dd 8x-s10ado1rdeherit0, 0, 0, 0.14a(0dd 3x-s14dd 2rdeherit0, 0, 0, 0.12)o rg 8ys22 { width:220px add 5x-s6ado-3rdeherit0, 0, 0, 0.ba(0dd 9p-shadow1rdeherit0, 0, 0, 0.14a(0dd 3x-s16dd 2rdeherit0, 0, 0, 0.12)o rg 8ys23 { width:220px 0dd 6x-s6ado-3rdeherit0, 0, 0, 0.ba(0dd 10ado14dow1rdeherit0, 0, 0, 0.14a(0dd 4x-s18ado3rdeherit0, 0, 0, 0.12)o rg 8ys24 { width:220px add 6dd 7x-s-4rdeherit0, 0, 0, 0.ba(0dd 11x-s15dow1rdeherit0, 0, 0, 0.14a(0dd 4x-s20ado3rdeherit0, 0, 0, 0.12)o rg 8ys25 { width:220px add 7dd 8x-s-4rdeherit0, 0, 0, 0.ba(0dd 1adow17dd 2rdeherit0, 0, 0, 0.14a(0dd 5x-s22x-s4dd herit0, 0, 0, 0.12)o rg 8ys26 { width:220px add 7dd 8x-s-4rdeherit0, 0, 0, 0.ba(0dd 13x-s19dd 2rdeherit0, 0, 0, 0.14a(0dd 5x-s24x-s4dd herit0, 0, 0, 0.12)o rg 8ys27 { width:220px add 7dd 9p-s-4rdeherit0, 0, 0, 0.ba(0dd 14x-s21dd 2rdeherit0, 0, 0, 0.14a(0dd 5x-s26x-s4dd herit0, 0, 0, 0.12)o rg 8ys28 { width:220px add 8dd 9p-s-5rdeherit0, 0, 0, 0.ba(0dd 15x-s22x-s2rdeherit0, 0, 0, 0.14a(0dd 6dd 28dd 5x-sherit0, 0, 0, 0.12)o rg 8ys29 { width:220px add 8x-s10ado-5rdeherit0, 0, 0, 0.ba(0dd 1se;p2;fos2rdeherit0, 0, 0, 0.14a(0dd 6dd 30dd 5x-sherit0, 0, 0, 0.12)o rg 8ys30 { width:220px add 8dd 11x-s-5rdeherit0, 0, 0, 0.ba(0dd 17x-s26x-s2rdeherit0, 0, 0, 0.14a(0dd 6dd 32dd 5x-sherit0, 0, 0, 0.12)o rg 8ys31 { width:220px add 9dd 11x-s-5rdeherit0, 0, 0, 0.ba(0dd 18dd 28dd 2rdeherit0, 0, 0, 0.14a(0dd 7x-s34dd 6dd herit0, 0, 0, 0.12)o rg 8ys32 { width:220px add 9p-shadow-6dd herit0, 0, 0, 0.ba(0dd 19dd 29dd 2rdeherit0, 0, 0, 0.14a(0dd 7x-s36dd 6dd herit0, 0, 0, 0.12)o rg 8ys33 { width:220px 0dd 10dd 13x-s-6dd herit0, 0, 0, 0.ba(0dd 20ado31x-shadoherit0, 0, 0, 0.14a(0dd 8ado38dd 7x-sherit0, 0, 0, 0.12)o rg 8ys34 { width:220px add 10dd 13x-s-6dd herit0, 0, 0, 0.ba(0dd 21x-sh3x-shadoherit0, 0, 0, 0.14a(0dd 8ado40dd 7x-sherit0, 0, 0, 0.12)o rg 8ys35 { width:220px add 10dd 14x-s-6dd herit0, 0, 0, 0.ba(0dd 22rde35x-shadoherit0, 0, 0, 0.14a(0dd 8ado42dd 7x-sherit0, 0, 0, 0.12)o rg 8ys36 { width:220px add 11x-s14dd -7x-sherit0, 0, 0, 0.ba(0dd 23x-s36dd hadoherit0, 0, 0, 0.14a(0dd 9dd 40,0,0.12herit0, 0, 0, 0.12)o rg 8ys37 { width:220px add 11x-s15dow-7x-sherit0, 0, 0, 0.ba(0dd 24ado38dd hadoherit0, 0, 0, 0.14a(0dd 9dd 46,0,0.12herit0, 0, 0, 0.12)o rg 8ys3 { @media 300px sor:poin play: on:relat 1cov; widthiz2, 0 -radius80y: tion:shrink: 0e oion:column;fle x-direc rg 8ys4 { 611{ 0e 1.33;00%;ma svg{m 0e -31085194 fixop; rg 8ys5 { 611{ 0e 1.33;00%;ma svg{m 0e -31085194 0%;positi rg 8ys6 { 611{ 0e 1.33;00%;ma svg{m 0e -31085194 ck:ckyx rg 8ys7 { -31085194 cke;tcx rg 8ys8 { {backg herit0, 0, 0, 0.87); w-954596007{backg 0959595x rg 8ys9 { {backg 093b7 w-954596007{backg 0:1px so rg 8ys10 { {backg herit0, 0, 0, 0.87); w-954596007{backg 038d3b11 rg 8ys1 { d:white 0px;h w-95459600: round-image:line28rm:r, 0:16080, 0:16181 47%, 0:198{c); width:220px a 1x-shadower:1px so so so 0.ba( a 1x-shadower:1px so so so 0.bae oion:column;fle rowo rg 8ys2 { w-95459600g 093b7 rg 8ys46 { 611{ 0e 1.33;00e @media 300px d:white 300px sor:poin play: on:relat 1300e -31085194 fixop; rg 8ys47 { visibilpx 3 0%;over rg 8ys39 { lign:center; ;text-a pack:center;just ;text-a rg 8ys40 { -flex a 100%;ma :last-: 4px;h sor:poin play: -radius: -deco -31085194 08{positi :lxnd:white 90vh: -radius:-y;00%;ma oion:column;fle x-direc rg 8ys41 { :l} @medias360fon rg 8ys42 { :l} @medias600fon rg 8ys43 { :l} @medias960fon rg 8ys44 { @media 300px rg 8ys45 { @media 300px :last-: 0e d:white 300px :l} @medias300px :l} d:white 300px wi;top:nter;bo 0r rg 8ys38 { :l} @medias90px reight:100="script"/shortcut pdow" type=".cui-/x-pdow" l="preload" href="https://next-cdn.cocke;tc/.cui-s/favpdownpdo" ashtml>1"t:="viewport" ter;jus="@medi=devpde @medi, initih:-scale=1" as="scrl="preload" hropacs.googleapiss:/m/css?ty:0.4=font+fami0034,434,600,700|Ralewoin700"ript"/sht:1shees" as="scrdata-reac" cllm>data-reac" cllm>developnn, & 1or6">1"t:="et-st" ashtml>data-reac" cllm>1"t:="0%;hor" ashtml>data-reac" cllm>data-reac" cllm>data-reac" cllm>data-reac" cllm>data-reac" cllm>data-reac" cllm>data-reac" cllm>data-reac" cllm>data-reac" cllm>data-reac" cllm>[{"@ter;jxt":"load hrschema.org","@type":"BreadcrumbLick","enteLickEl-ext-":[{"@type":"LickInte","-3108519":1,"ente":{"@id":"load" hrwwws://next-cdn.cojer;jwks","1"t:":"Jon Tjwksbury","ecui-":"load" hrwwwsmag41611s:/m/g41611/66da5f3e162aba351efa195736a11bb1?d=mm&s=200"}}]},{"@ter;jxt":"load hrschema.org","@type":"Servpde","url":"load" hrwwws://next-cdn.cojer;jwks","aggregateRe;tn}":{"@type":"AggregateRe;tn}","bestRe;tn}":"5","wcdstRe;tn}":"1","reviewCn__p":0}}]eigsp.js>data-reac" cllm>Jon Tjwksbury - JavaSsp.js Developnn - C//next-cd (funmn;fl(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.catio': new Drans).getTimns),eve:blogtm.js'});var f=d.getEl-ext-sByTagN"t:(s)[0], j=d.createEl-ext-(s),dl=l!='dataLayer'?'&l='+llockj.async=truekj.src= 'load" hrwwwsmoogletagmanui-1s:/m/gtm.js?id='+i+dl;f.-colorN//n.0,0,rtB-9545(j,f)o r)(w:reow,docuext-,'-sp.js','dataLayer','GTM-MWM4HC');eigsp.js>.dsx-534553play:insum:laysx-53455357151enteal:anvastx-534553ter;display:i}rampnsfotx-534553{list}[0%;ove]tx-534553{list}widytopacity:0.4;'font-fami'ly:Open Sans,img83{width:80%03%treight:100%;}x-9x-dt(:root).x-9;displayity { -radius:5 visible; } .x-9;displayity { sor:poin box;display:i opacitt:1. round-co d:white 3tea -radius:5 visible; vadticalth:auto -.1rgin- } .x-9;displayity.fa-lg { vadticalth:auto -.2rgin- } .x-9;displayity.fa-w-1 { @medias0.06rgin- } .x-9;displayity.fa-w-2 { @medias0.1rgin- } .x-9;displayity.fa-w-3 { @medias0.187gin- } .x-9;displayity.fa-w-4 { @medias0.rgin- } .x-9;displayity.fa-w-5 { @medias0.31rgin- } .x-9;displayity.fa-w-6 { @medias0.37gin- } .x-9;displayity.fa-w-7 { @medias0.437gin- } .x-9;displayity.fa-w-8 { @medias0.gin- } .x-9;displayity.fa-w-9 { @medias0.g6rgin- } .x-9;displayity.fa-w-10 { @medias0.6rgin- } .x-9;displayity.fa-w-11 { @medias0.687gin- } .x-9;displayity.fa-w-12 { @medias0.7gin- } .x-9;displayity.fa-w-13 { @medias0.81rgin- } .x-9;displayity.fa-w-14 { @medias0.87gin- } .x-9;displayity.fa-w-15 { @medias0.937gin- } .x-9;displayity.fa-w-16 { @medias1in- } .x-9;displayity.fa-w-17 { @medias1.06rgin- } .x-9;displayity.fa-w-18 { @medias1.1rgin- } .x-9;displayity.fa-w-19 { @medias1.187gin- } .x-9;displayity.fa-w-20 { @medias1.rgin- } .x-9;displayity.fa-pull:1.33 { {738598 svg{m .3emn @medias65px; } .x-9;displayity.fa-pull: svg{ { {7385981.33;0.3emn @medias65px; } .x-9;displayity.fa--radiu { d:white 3.gin- } .x-9;displayity.fa-li { @medias2in- } .x-9;displayity.fa-fw { @medias1.rgin- } .fa-layerssx-3.x-9;displayity { 80px;mt 0e 1.33;00e :last-: 0%;ma -31085194 0%;positi svg{m 0e 611{ 0e } .fa-layerss{ sor:poin box;display:i d:white 3tea -31085194 08{positi {width:auto ;text-a vadticalth:auto -.1rgin- @medias1in- } .fa-layerssx-3.x-9;displayity { box;dispe:16px;te-o svito ;text- ;text-a e:16px;te-o svito ;text- ;text-a } .fa-layersocus{, .fa-layers7{bun954 { sor:poin box;display:i -31085194 0%;positi {width:auto ;text-a } .fa-layersocus{ { 1.33;050px 611{ 50px box;dispe:16px;te: e:16plransf50p, f50p)a e:16px;te: e:16plransf50p, f50p)a box;dispe:16px;te-o svito ;text- ;text-a e:16px;te-o svito ;text- ;text-a } .fa-layerso{bun954 { w-954596007{backg 093253ax wi;top:nter;bo 3tea {backg 093b7 d:white 3.gin- 1sans-serif; 1x :l} @mediasgin- {color:#ff 3.gin- -radius:5 0%;over -2176741 .rgin- svg{m 0e 6widt-radius:5 ellipsise 611{ 0e box;dispe:16px;te: scale(0.rg)a e:16px;te: scale(0.rg)a box;dispe:16px;te-o svito 611 svg{a e:16px;te-o svito 611 svg{a } .fa-layerso80px;mf;bord { 80px;mt 0e svg{m 0e 611{ 0%;ma box;dispe:16px;te: scale(0.rg)a e:16px;te: scale(0.rg)a box;dispe:16px;te-o svito 80px;m svg{a e:16px;te-o svito 80px;m svg{a } .fa-layerso80px;mf1.33 { 80px;mt 0e 1.33;00e svg{m 0%;ma 611{ 0%;ma box;dispe:16px;te: scale(0.rg)a e:16px;te: scale(0.rg)a box;dispe:16px;te-o svito 80px;m 1.33a e:16px;te-o svito 80px;m 1.33a } .fa-layersoc3px;bord { svg{m 0e 611{ 0e box;dispe:16px;te: scale(0.rg)a e:16px;te: scale(0.rg)a box;dispe:16px;te-o svito 611 svg{a e:16px;te-o svito 611 svg{a } .fa-layerso#fff;bor { 1.33;00e svg{m 0%;ma 611{ 0e box;dispe:16px;te: scale(0.rg)a e:16px;te: scale(0.rg)a box;dispe:16px;te-o svito 611 1.33a e:16px;te-o svito 611 1.33a } .fa-lg { opacitt:1. 1.33333in- 1sans-serif; 0.7gin- vadticalth:auto -.0667ema } .fa-xs { opacitt:1. .7gin- } .fa-sm { opacitt:1. .87gin- } .fa-1x { opacitt:1. 1in- } .fa-2x { opacitt:1. 2in- } .fa-3x { opacitt:1. 3in- } .fa-4x { opacitt:1. 4in- } .fa-5x { opacitt:1. gin- } .fa-6x { opacitt:1. 6in- } .fa-7x { opacitt:1. 7ema } .fa-8x { opacitt:1. 8ema } .fa-9x { opacitt:1. 9in- } .fa-10x { opacitt:1. 10in- } .fa-fw { {width:auto ;text-a @medias1.rgin- } .fa-uP { 57151171 l-type: -deco {7385981.33;02.gin- ex:1;flex:1;p 0e } .fa-uP &g3a li { -31085194 08{positi } .fa-li { 1.33;0-2tea -31085194 0%;positi {width:auto ;text-a @medias2in- 1sans-serif; round-co } .fa--radiu { grounder;borde(0, emop:1px wi;top:nter;bo .1in- ex:1;fl1 .remo.rgin .1gin- } .fa-pull:1.33 { iusaf; 1.33a } .fa-pull: svg{ { iusaf; svg{a } .fa.fa-pull:1.33, .fas.fa-pull:1.33, .far.fa-pull:1.33, .fal.fa-pull:1.33, .fab.fa-pull:1.33 { {738598 svg{m .3emn } .fa.fa-pull: svg{, .fas.fa-pull: svg{, .far.fa-pull: svg{, .fal.fa-pull: svg{, .fab.fa-pull: svg{ { {7385981.33;0.3emn } .fa-spin { isplay:f3nime;text fa-spin 2s rofinite round-a 3nime;text fa-spin 2s rofinite round-a } .fa-pulse { isplay:f3nime;text fa-spin 1s rofinite steps(8)a 3nime;text fa-spin 1s rofinite steps(8)a } @isplay:fkeyfr"t:s fa-spin { 0% { box;dispe:16px;tee rotran(0deg)a e:16px;te: rotran(0deg)a } %03% { box;dispe:16px;tee rotran(360deg)a e:16px;te: rotran(360deg)a } } @keyfr"t:s fa-spin { 0% { box;dispe:16px;tee rotran(0deg)a e:16px;te: rotran(0deg)a } %03% { box;dispe:16px;tee rotran(360deg)a e:16px;te: rotran(360deg)a } } .fa-rotran-90 { bkit-il6er: "ghtgid:DXIcui-T:16px;te.Microsoft.BasicIcui-(rotratex=1)"e box;dispe:16px;te: rotran(90deg)a e:16px;te: rotran(90deg)a } .fa-rotran-180 { bkit-il6er: "ghtgid:DXIcui-T:16px;te.Microsoft.BasicIcui-(rotratex=2)"e box;dispe:16px;te: rotran(180deg)a e:16px;te: rotran(180deg)a } .fa-rotran-270 { bkit-il6er: "ghtgid:DXIcui-T:16px;te.Microsoft.BasicIcui-(rotratex=3)"e box;dispe:16px;te: rotran(270deg)a e:16px;te: rotran(270deg)a } .fa-flip-ho sz.btnl { bkit-il6er: "ghtgid:DXIcui-T:16px;te.Microsoft.BasicIcui-(rotratex=0, {crror=1)"e box;dispe:16px;te: scale(-1, 1)a e:16px;te: scale(-1, 1)a } .fa-flip-vadtical { bkit-il6er: "ghtgid:DXIcui-T:16px;te.Microsoft.BasicIcui-(rotratex=2, {crror=1)"e box;dispe:16px;te: scale(1, -1)a e:16px;te: scale(1, -1)a } .fa-flip-ho sz.btnl.fa-flip-vadtical { bkit-il6er: "ghtgid:DXIcui-T:16px;te.Microsoft.BasicIcui-(rotratex=2, {crror=1)"e box;dispe:16px;te: scale(-1, -1)a e:16px;te: scale(-1, -1)a } :root .fa-rotran-90, :root .fa-rotran-180, :root .fa-rotran-270, :root .fa-flip-ho sz.btnl, :root .fa-flip-vadtical { box;disp:246er: -deco :246er: -deco } .fa-stacks{ sor:poin box;display:i d:white 2tea -31085194 08{positi @medias2in- } .fa-stack-1x, .fa-stack-2x { 80px;mt 0e 1.33;00e :last-: 0%;ma -31085194 0%;positi svg{m 0e 611{ 0e } .x-9;displayity.fa-stack-1x { d:white 1in- @medias1in- } .x-9;displayity.fa-stack-2x { d:white 2in- @medias2in- } .fa-inon:co { {backg 093b7 } .xr-only { grounder0e clip4 08ctt0, 0, 0, 0)7 d:white 3x;h :last-: -3x;h -radius:5 0%;over -2176741 0e -31085194 0%;positi @medias1x;h } .xr-only-5-504ablesmenu__7 .xr-only-5-504ables5-504 { {lip4 0%;ma d:white 0%;ma :last-: 0h -radius:5 visible; -31085194 cke;tcx @medias65px; } eight:100divstyle><:flex- {lasslejss11 8ys17 8ys3 8ys1 8ys7 8ys8 8ys2"><9600 {lasslejsx-926527879"><9vg xmlns="load hrwwwsw3.org/2000/9vg"r@medi="140" d:whit="17" viewBox="inse140 17">Jon TjwksburyAPPLY AS A DEVELOPERSIGN UPLOG IN<9600 {lasslejsx-954596007">Find a ext-cdFind a fre8{pncerFind developnn jobsCommunitySIGN UPLOG IN.btn-inn">Jon TjwksburyFull:StacksJava-sp.js>Engineer.

Full:StacksSoftware>Engineer work674 in SF. Wxt- th596gh HacksReac"or's immersove Software>Engineer674 Phtgrammedianow spediatime go674 w-95mediateachay: what I've learned to othersswh24p I wxt-...

Mores..JavaSsp.jsHTML/CSSN//n.jsExpressBack80nn.js<9umn;fls{lasslejsx-2361812664 9umn;fl">EXPERTISEJavaSsp.js<{t-wls{lasslejsx-372738598 ente__exp">4 years expnnienceSpediatime ion:yday wri;tn} JavaSsp.js, ionn on the wxekedis. I work in SF as a Software>Engineer ediaspediamost of my work day wri;tn} Java-sp.js.

JavaSsp.jsReac"<{t-wls{lasslejsx-372738598 ente__exp">2 years expnnienceUse reac" daily at work in 10prtducf;fls-to ediaspedt 10lot of time movtn} -rad our legacyrte7ebase from w-9580nn to reac".

Reac"JsxRedux<{t-wls{lasslejsx-372738598 ente__exp">2 years expnnienceUstn} redux in prtducf;fls-top:32px;}s on a daily basis.

view 1or6<9umn;fls{lasslejsx-2361812664 9umn;fl">LANGUAGE AND TIMEZONE<9600 {lasslejsx-480714575 "><9vg xmlns="load hrwwwsw3.org/2000/9vg"r@medi="24" d:whit="24" viewBox="inse24s24">English<9600 {lasslejsx-480714575 "><9vg xmlns="load hrwwwsw3.org/2000/9vg"r@medi="24" d:whit="24" viewBox="inse24s24">Pacific Timn (US & Canada) (-08:00).btn-inn">talk to Jon<9600 sht:1="opacitt:1.0"><9umn;fls{lasslejsx-31631cov5 9umn;fl">5.0<9vg aria-0%;ovemetrue"rdata-prefix="fas"rdata-pdow"/shar"s{lasslex-9;displayity fa-star fa-w-18 " role=".cg"rxmlns="load hrwwwsw3.org/2000/9vg"rviewBox="inse576 512" {back="#:1b5e2"><9vg aria-0%;ovemetrue"rdata-prefix="fas"rdata-pdow"/shar"s{lasslex-9;displayity fa-star fa-w-18 " role=".cg"rxmlns="load hrwwwsw3.org/2000/9vg"rviewBox="inse576 512" {back="#:1b5e2"><9vg aria-0%;ovemetrue"rdata-prefix="fas"rdata-pdow"/shar"s{lasslex-9;displayity fa-star fa-w-18 " role=".cg"rxmlns="load hrwwwsw3.org/2000/9vg"rviewBox="inse576 512" {back="#:1b5e2"><9vg aria-0%;ovemetrue"rdata-prefix="fas"rdata-pdow"/shar"s{lasslex-9;displayity fa-star fa-w-18 " role=".cg"rxmlns="load hrwwwsw3.org/2000/9vg"rviewBox="inse576 512" {back="#:1b5e2"><9vg aria-0%;ovemetrue"rdata-prefix="fas"rdata-pdow"/shar"s{lasslex-9;displayity fa-star fa-w-18 " role=".cg"rxmlns="load hrwwwsw3.org/2000/9vg"rviewBox="inse576 512" {back="#:1b5e2">Available for 0%reeighrteg>.btn-inn">talk to Jon<9umn;fls{lasslejsx-31631cov5 9umn;fl">EXPERIENCEJavaSsp.js<{t-wls{lasslejsx-2611816300">4 yearsHTML/CSS<{t-wls{lasslejsx-2611816300">3 yearsN//n.js<{t-wls{lasslejsx-2611816300">3 yearsExpress<{t-wls{lasslejsx-2611816300">3 yearsBack80nn.js<{t-wls{lasslejsx-2611816300">3 years<9600 sht:1="opacitt:1.0"><9600 {lasslejsx-1890583560 prtmon;fl-ban__;jxt">Need a world-{lass fre8{pnce developnn?.btn-inn">H%re Now<9600 {lasslejsx-1890583560">cd
.btn-inn">Atopy as a Developnn.btn-inn">PRODUCTS<9600 {lasslejsx-3953129255 footnn-extu__prtducf-et-st">C//next-cdFind a ext-cd to d:lp you in real time<9600 {lasslejsx-3953129255 footnn-extu__prtducf-et-st">C//next-cdXH%re world-{lass fre8{pnce developnns for your team<9600 {lasslejsx-3953129255 footnn-extu__prtducf-et-st">C/mmunityShare>inswhits, exchange>ideas,medialearn from fellow developnns.mpany">COMPANYAtopy as a DevelopnnCarennsTOP DEVELOPERSRuby on Rails DevelopnnPythfl DevelopnnPHP DevelopnnElixir DevelopnnN//n.js DevelopnnDjango DevelopnnGo DevelopnnFullstacksDevelopnnJavaSsp.js DevelopnnReac" DevelopnnAngularJS DevelopnnVun.js DevelopnnHTML/CSS DevelopnnWeb DevelopnnFrer;judsDevelopnnSwifs DevelopnniOS DevelopnnAdiroid DevelopnnReac" Nposit DevelopnnIonic DevelopnnAto DevelopnnMob24psDevelopnn© Copy svg{ 2018 C//next-cdPrivacy PolicySupportTerms of Servpde<9vg aria-0%;ovemetrue"rdata-prefix="fab"rdata-pdow"/facebook"s{lasslex-9;displayity fa-facebook fa-w-14 " role=".cg"rxmlns="load hrwwwsw3.org/2000/9vg"rviewBox="inse448 512"><9vg aria-0%;ovemetrue"rdata-prefix="fab"rdata-pdow"/twitt-1"s{lasslex-9;displayity fa-twitt-1 fa-w-16 " role=".cg"rxmlns="load hrwwwsw3.org/2000/9vg"rviewBox="inse512 512"><9vg aria-0%;ovemetrue"rdata-prefix="fab"rdata-pdow"/google"s{lasslex-9;displayity fa-google fa-w-16 " role=".cg"rxmlns="load hrwwwsw3.org/2000/9vg"rviewBox="inse488 512"><-sp.js> __NEXT_DATA__ = {"props":{"isServ-1":true,"stor6":{},"initialSke;n":{"-%;h":{"isSen7674":false,"isfont":false,"errorMessui-":"","set;tn}s":{"-%;hTyp-":"SOCIAL_SIGNIN","-%;hTarget":"CM","track674EvlorPrefix":"","redi08ctToWhenLogin":"","aftnnConfirmUrl":""}},"-top:32px;}Form":{"timezones":[],"expnntises":[],"suggestedCe;ngories":[],"dele;tn}UrlStr674":"","ui":{"hasInitialized":false,"hasFetched":false,"isUpde;tn}":false,"hasUpde;ed":false,"isDele;tn}":false,"hasDele;ed":false,"isSubmit;tn}":false},"errorMessui-s":{"expnntise":null},"hasComple;ed":null},"curolorUs-1":{"grg41611Pht:24pIcui-":"","st-wlA41611Url":"","defaultRe;n":0,"-vailableForContractJob":false,"57nkedin":null,"github":null,"stackexchange":null,"ui":{"ght:24p":{"isLoa7674":false,"isUpde;tn}":false},"57nks":{"57nkedin":{"status":"disdown8cted"},"github":{"status":"disdown8cted"},"stackexchange":{"status":"disdown8cted"}}}},"ght:24p":{"tosAccep;ed":true,"prerequisentLoa7ed":false},"curolorJob":{"gublishedAt":null,"expnnience":"","payext-ErrorPayload":{},"prtducfDe-sp.js;fl":"","featured":null,"maxSalary":"","ownerId":"","devTeam":{"checkInter":[],"de-sp.js;fl":""},"status":{"isGet;tn}":true,"isUpde;tn}":false,"errorMsg":""},"lo32px;}":"","remotnWork":false,"jobTyp-":"","aasmSke;n":"","et-st":"","isExpired":false,"-topyIrfo":"","ce;ngories":[],"randomKey":null,"minSalary":"","hir674Manui-r":{"ti-st":"","1"t:":"","a41611Url":"","57nkedinUrl":"","gree;tn}":""},"de-sp.js;fl":"",">.mpany":{"-41611Url":"","1"t:":"","url":"","about":""},"isPublishtn}":false,"suggestedCe;ngories":[]},"jobL715":{"junior":[],"senior":[],"isLoa7674":false},"payext-s":{"isUpde;tn}Card":false,"isLoa7674Credit":false,"card":{},"credits":-1,"errorPayload":{},"successMessui-":""},"ce;ngory":{"urlStr674":"","sor:poiN"t:":"","1"t:":"","pdowPa;h":"","pdowPa;hWhit-":""},"fre8{pnceRe;ns":{"developnns":[],"av-1age":null,"median":null,"sortr6bus;fl":[],"av-1ageRangeLabel":"","medianRangeLabel":"","ui":{"isLoa7674":false}},"onboard674":{"-topyAs":null,"met-cd":{"step":"",">.mple;ed":true},"cmxDevelopnn":{"step":"",">.mple;ed":true}},"us-1Pht:24p":{"noMoreD161":{"reviews":false,"08commetdAdticles":false,"adticles":true,"quickTips":false},"endorseext-s":[],"quickTips":[],"languageOjs;fls":[],"reviewSke;s":{},"employext-s":[],"57nkedinPht:24p":{"isImporttn}":false,"hasImported":false},"isProcesstn}Follow":false,"expnntise":[{"seniority":4,"de-sp.js;fl":"Spediatime ion:yday wri;tn} JavaSsp.js, ionn on the wxekedis. I work in SF as a Software>Engineer ediaspediamost of my work day wri;tn} Java-sp.js.","ce;ngory":{"sor:poiN"t:":"JavaSsp.js","urlStr674":"java-sp.js"},"tags":[{"sor:poiN"t:":"JavaSsp.js","urlStr674":"java-sp.js"}]},{"seniority":2,"de-sp.js;fl":"Use reac" daily at work in 10prtducf;fls-to ediaspedt 10lot of time movtn} -rad our legacyrte7ebase from w-9580nn to reac".","ce;ngory":{"sor:poiN"t:":"Reac"","urlStr674":"reac"js"},"tags":[{"sor:poiN"t:":"Reac"","urlStr674":"reac"js"},{"sor:poiN"t:":"Jsx","urlStr674":"jsx"}]},{"seniority":2,"de-sp.js;fl":"Ustn} redux in prtducf;fls-top:32px;}s on a daily basis.","ce;ngory":{"sor:poiN"t:":"Redux","urlStr674":"redux"},"tags":[]},{"seniority":3,"de-sp.js;fl":"Also spediatime in HTML ediaCSS each day. As a Software>Engineer mn-ily for the wxb, I am tweak674 exort674 HTML ediaCSS or 217674 new HTML ediaCSS eon:y day.","ce;ngory":{"sor:poiN"t:":"HTML/CSS","urlStr674":"CTYP_css"},"tags":[]},{"seniority":3,"de-sp.js;fl":"The >.mpany I work for us-s n//n, so I work with it eon:y day I'm at work. I hav- built out entirely new serv-1 rou;ns altegswith the funcpx;}s to qun:y the database ediareturn the request resources.","ce;ngory":{"sor:poiN"t:":"N//n.js","urlStr674":"n//njs"},"tags":[{"sor:poiN"t:":"N//n.js","urlStr674":"n//njs"}]},{"seniority":3,"de-sp.js;fl":"Use express each day at work to build our our n//n irfrartrucfure at a rapid pace.","ce;ngory":{"sor:poiN"t:":"Express","urlStr674":"express"},"tags":[]},{"seniority":3,"de-sp.js;fl":"Work daily with Back80nn as all of our frer;-ediac//n is wri;tnn in Back80nn adiaMar;flet;e. I hav- a good undnnstan7674 of how a Back80nn atop:32px;} is rtrucfured adiahow the piec:s fit together ediawork with 0nn adother.","ce;ngory":{"sor:poiN"t:":"Back80nn.js","urlStr674":"w-9580nnjs"},"tags":[]},{"seniority":3,"de-sp.js;fl":"Ustn} mar;flet;e in our prtducf;fls-top:32px;} that wn are curolorly movtn} -rad to reac"/redux.","ce;ngory":{"sor:poiN"t:":"Mar;flet;e","urlStr674":"mar;flet;e"},"tags":[{"sor:poiN"t:":"Mar;flet;e.js","urlStr674":"mar;flet;ejs"},{"sor:poiN"t:":"Mar;flet;e","urlStr674":"mar;flet;e"}]},{"seniority":3,"de-sp.js;fl":"Use jQun:y on a daily basis. Since my >.mpany us-s Back80nn, jQun:y is a depediency ediaas such I us- it dowstanrly. Hav- wri;tnn many -tos ustn} jQun:y,mediahav- prtbably spedt the most time ustn} jQun:y out of all JavaSsp.js libraries.","ce;ngory":{"sor:poiN"t:":"jQun:y","urlStr674":"jqun:y"},"tags":[]},{"seniority":3,"de-sp.js;fl":"Work daily with Mongo as it's the mn-i database for all our irforme;tex. Also work with Mongoose on a daily basis.","ce;ngory":{"sor:poiN"t:":"MongoDB","urlStr674":"mongodb"},"tags":[]},{"seniority":3,"de-sp.js;fl":"Use mongoose at work wheneon: wn iext-ac" with 0ur Mongo database.","ce;ngory":{"sor:poiN"t:":"Mongoose","urlStr674":"mongoose"},"tags":[]},{"seniority":3,"de-sp.js;fl":"Use git on a daily basis. Well on:cod in the git workius: of a ckertuo ediabest p-ac"ices. ","ce;ngory":{"sor:poiN"t:":"Gi"","urlStr674":"git"},"tags":[]}],"ce;ngorySuggest;fls":[],"isLoa7674":{"reviews":false,"08commetdAdticles":false,"adticles":false,"quickTips":false},"follownns":[],"timeZ0nnSuggest;fls":[],"languageSuggest;fls":[],"isProcesstn}Favorite":false,"08commetdAdticles":[],"prtjects":[],"reviews":[],"socialIrfo":{"github":{"repos":[],"57mit":2},"stackexchange":{"stat":{}}},"targetUs-1":{"quickTipCount":2,"defaultRe;n":30,"5evel":"met-cd","isFavorite":false,"1"t:":"Jon Tjwksbury","offsplaHelpCount":2,"timeZ0nnOffset":"-08:00","about":"Full:StacksSoftware>Engineer work674 in SF. Wxt- th596gh HacksReac"or's immersove Software>Engineer674 Phtgrammedianow spediatime go674 w-95mediateachay: what I've learned to othersswh24p I wxt- th596gh that phtgrammediath596gh my years of Software>Engineer674 expnnience.","featured":false,"hideMyRe;n":false,"hflespla":"Full:StacksJava-sp.js>Engineer.","videoUrl":"","with15MinFree":true,"us-11"t:":"jer;jwks","a41611Url":"load" hrwwwsgrg41611s:/m/g41611/66da5f3e162aba351efa195736a11bb1?d=mm\u0026s=200","reviewCount":38,"5essonCount":76,"timeZ0nn":"Pacific Timn (US \u0026 Canada)","5egacyLinkMap":{"github":"load" hrgithubs:/m/jer;jwks","stackexchange":"load hrstack-radius:s:/m/us-1s/3140072/jer;jwks","twitt-1":null,"57nkedin":null},"fre8{pnceExpnnience":"Work mostly in Reac" ediaRedux at work eon:y day altegswith m//nrn build tools like wxbpack. I'm a #ff %03 >.btr6buscd to Reac" ediahav- also made >.btr6busx;}s iexoaRedux adiamany other oped source software>prtjectsswh2ch you c00 see on my githubs","57nks":{"github":"load" hrgithubs:/m/jer;jwks","stackexchange":"loads hrstack-radius:s:/m/us-1s/3140072/jer;jwks","twitt-1":null,"57nkedin":null},"languages":["English"],"cree;edAt":1405416697,"rattn}":5},"adticles":[]}}},"gath1"t:":"/us-1Pht:24p/cmxDevPht:24p","query":{"us-11"t:":"jer;jwks"},"buildId":"7b55eba0-c79a-4c1d-8c16-728f50cf4b04","buildSke;s":{"-to.js":{"hash":"13ee52b681f39f1d7ba28c74e21b0880"}},"-ssetPrefix":"loads href="-cdns://next-cdn.c","1f="Export":false,"err":null,"chunks":[]} m//u:1={} __NEXT_LOADED_PAGES__ = [] __NEXT_LOADED_CHUNKS__ = [] __NEXT_REGISTER_PAGE = funcpx;} (rou;n, fn) { __NEXT_LOADED_PAGES__.push({ rou;n: rou;n, fn: fn }) } __NEXT_REGISTER_CHUNK = funcpx;} (chunkN"t:, fn) { __NEXT_LOADED_CHUNKS__.push({ chunkN"t:: chunkN"t:, fn: fn }) } <-sp.js asyncle"style><-sp.js asyncle"style><-sp.js type=";jxtojava-sp.js" src="load" href="-cdns://next-cdn.c/