/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */*,::before,::after{box-sizing:border-box}html{font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}table{border-color:currentcolor}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}.logo-tag{margin:0 0 0 .2rem;font-size:.8rem;font-weight:normal}.navigation .active{background-image:linear-gradient(#002a52, #002a52);background-repeat:no-repeat;background-size:100% 2px;background-position:0 1.5em;padding-bottom:.5em}@media(prefers-color-scheme: dark){.navigation .active{background-image:linear-gradient(#87ceeb, #87ceeb)}}.navigation ul{list-style:none;display:flex;margin:0;padding:0}.navigation.compact{display:block;position:fixed;top:0;z-index:5;transform:translateX(-106%);transition:transform .12s ease;filter:drop-shadow(2px 2px 8px var(--site-color))}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.navigation.compact{box-shadow:2px 2px 8px var(--site-color)}}.navigation.compact.show{transform:translateX(0)}.navigation.compact button.close{position:absolute;right:15%;bottom:-4%;color:var(--site-color);background:var(--site-bg);border:1px solid var(--site-color);border-radius:50%;padding:1.5rem;margin:0}.navigation.compact button.close::before{position:absolute;content:"✖";left:50%;top:50%;transform:translate(-50%, -50%)}.navigation.compact ul{background:var(--site-bg);clip-path:polygon(0% 0%, 98% 0%, 87.5% 19%, 100% 16%, 83% 60%, 94% 57%, 78% 100%, 39% 93%, 44% 100%, 0% 93%);flex-flow:column nowrap;justify-content:flex-end;align-items:center}.navigation.compact li{flex:0 0 auto;display:inline-block;min-width:60vw;width:100%;text-align:center;line-height:2;padding:2rem 2rem 2rem 0;text-transform:uppercase;cursor:pointer}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.navigation.compact li{padding:2rem}}.navigation.compact li:last-child{padding-bottom:4rem}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.navigation.compact li:last-child{padding-bottom:unset}}.navigation.desktop{flex:0 1 auto}@media only screen and (min-width: 41.75em){.navigation.desktop{font-size:16px;flex:1 1 30%}}@media only screen and (min-width: 75em){.navigation.desktop{font-size:inherit;flex:1 1 34%}}.navigation.desktop ul{flex-flow:row nowrap;justify-content:flex-end;align-items:center}@media only screen and (min-width: 41.75em){.navigation.desktop ul{justify-content:space-between}}@media only screen and (min-width: 64em){.navigation.desktop ul{justify-content:flex-end}}.navigation.desktop li{flex:1 1 auto;text-align:center;font-weight:bold;position:relative}@media only screen and (min-width: 41.75em){.navigation.desktop li{flex:0 1 20%;font-size:1.2em}}@media only screen and (min-width: 64em){.navigation.desktop li{flex:1 1 auto}}.navigation.desktop li:not(.contact){display:none}@media only screen and (min-width: 41.75em){.navigation.desktop li:not(.contact){display:list-item}}.navigation.desktop .contact a{padding:.3em .3em;border-radius:.4em;color:#fff;border:1px solid #a81d11;background:#d04030}.navigation.footer ul{flex-flow:row wrap;justify-content:center;line-height:2;margin:0 .5rem;white-space:nowrap}.navigation.footer li:not(:last-child)::after{content:"|";margin:0 1rem}.navigation.footer a{font-weight:bold;text-transform:uppercase}.no-nav .navigation:not(.legal){display:none}.no-nav button.menu{display:none}.no-nav .ln-header .icon{text-align:center}.no-nav .ln-header .icon.logo{display:none}.no-nav .ln-header .icon.phone{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}.no-nav .ln-header .icon.phone span{display:inline;margin-left:1rem;font-size:1.4em}@media only screen and (min-width: 41.75em){.no-nav .ln-header h1{flex:1 1 auto}}@media only screen and (min-width: 64em){.no-nav .ln-header h1{flex:1 1 25%}}@media only screen and (min-width: 90em){.no-nav .ln-header h1{flex:0 1 38%}}.no-js .ln-header::before,.ln-header.fixed::before{box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28)}@media only screen and (min-width: 41.75em){.no-js .ln-header::before,.ln-header.fixed::before{opacity:.97}}@media only screen and (min-width: 41.75em){.no-js .ln-header h1,.ln-header.fixed h1{transform:scale(1) translate(4%, 0)}}@media only screen and (min-width: 90em){.no-js .ln-header h1,.ln-header.fixed h1{transform:scale(1.1) translate(8%, 0)}}.no-js .ln-header h1 .logo .nl,.ln-header.fixed h1 .logo .nl{color:var(--logo-blue)}.no-js .ln-header h1 .logo .nr,.ln-header.fixed h1 .logo .nr{color:var(--logo-red)}.no-js .ln-header h1 .logo .symbol,.ln-header.fixed h1 .logo .symbol{fill:var(--logo-red)}.no-js .ln-header h1 .logo-tag,.ln-header.fixed h1 .logo-tag{color:var(--site-color)}.no-js .ln-header~h1:first-of-type{margin-top:1rem}.no-js .ln-header .icon.logo{display:none}.no-js .ln-header .menu{color:#bbb}.no-messaging .icon.logo{display:none}.ln-header::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--site-bg);will-change:box-shadow;opacity:.97;box-shadow:none;transition:box-shadow}@media only screen and (min-width: 41.75em){.ln-header::before{will-change:opacity;opacity:0;box-shadow:0 0 4px rgba(0,0,0,.14),0 4px 8px rgba(0,0,0,.28);transition:opacity .2s}}.ln-header{position:sticky;position:-webkit-sticky;top:0;left:0;right:0;z-index:4}.ln-header .container{padding:.6em 1em;display:flex;flex-flow:row wrap;align-items:center;justify-content:space-between;width:100%}@media only screen and (min-width: 1200px){.ln-header .container{width:1200px;margin:0 auto}}@media only screen and (min-width: 31.25em){.ln-header .container{flex-flow:row nowrap}}.ln-header .container>*{position:relative}.ln-header button.menu{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:rgba(0,0,0,0);padding:0;margin:0;text-align:left;color:var(--site-color)}.ln-header .menu{display:block;flex:1 1 auto}.ln-header .menu svg{width:2.4em;height:1.6em}@media only screen and (min-width: 41.75em){.ln-header .menu{display:none}}.ln-header .icon{flex:1 1 auto}.ln-header .icon.phone a{display:flex;flex-flow:row nowrap;align-items:center;justify-content:center}.ln-header .icon.phone a span{margin-left:.3rem}.ln-header .icon svg{width:1.5em;height:1.5em}.ln-header h1{--logo-blue: #1B7BA1;--logo-red: #ea4335;--logo-chars: 10;--logo-size: 2;display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;transition:transform .2s;margin:0}@media only screen and (min-width: 31.25em){.ln-header h1{--logo-size: 3}}@media only screen and (min-width: 41.75em){.ln-header h1{--logo-size: 2}}@media(prefers-color-scheme: dark){.ln-header h1{--logo-blue: rgb(242.35, 242.35, 242.35);--logo-red: rgb(242.35, 242.35, 242.35)}}.ln-header h1 .logo{display:flex;position:relative;flex-flow:row nowrap;justify-content:flex-start;align-items:center;font-size:calc(var(--logo-size)*1rem);font-weight:400}.ln-header h1 .logo .text{line-height:1.1;white-space:nowrap}.ln-header h1 .logo .nl{color:var(--logo-blue)}.ln-header h1 .logo .nr{margin-left:calc(var(--logo-size)/3.5*-1rem);color:var(--logo-red)}.ln-header h1 .logo .symbol{position:absolute;left:calc(var(--logo-chars)*var(--logo-size)/2*1rem + .25rem);width:calc(var(--logo-size)*1.5*1rem);height:calc(var(--logo-size)*1.4*1rem);fill:var(--logo-red);stroke:var(--logo-red);stroke-width:1px;fill-opacity:1}.ln-header h1{flex:1 1 36%;display:none}@media only screen and (min-width: 41.75em){.ln-header h1 .logo .nl{color:hsl(0,0%,95.0392156863%)}}@media only screen and (min-width: 41.75em){.ln-header h1 .logo .nr{color:hsl(0,0%,95.0392156863%)}}@media only screen and (min-width: 41.75em){.ln-header h1 .logo .symbol{fill:hsl(0,0%,95.0392156863%)}}@media only screen and (min-width: 41.75em){.ln-header h1 .logo-tag{color:hsl(0,0%,95.0392156863%)}}@media only screen and (min-width: 41.75em){.ln-header h1{display:flex;transform:scale(1) translate(0, 26px);align-items:flex-start}}@media only screen and (min-width: 64em){.ln-header h1{flex:1 1 35%;transform:scale(1.4) translate(18%, 18px)}}@media only screen and (min-width: 90em){.ln-header h1{flex:0 1 38%;transform:scale(1.6) translate(24%, 32px)}}@media only screen and (min-width: 1600px){.ln-header h1{transform:scale(1.6) translate(calc(23% - (100vw - 1600px) * 0.1), 35px)}}.ln-header~h1:first-of-type{--logo-blue: #1B7BA1;--logo-red: #ea4335;--logo-chars: 10;--logo-size: 2;display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;transition:transform .2s;margin:0}@media only screen and (min-width: 31.25em){.ln-header~h1:first-of-type{--logo-size: 3}}@media only screen and (min-width: 41.75em){.ln-header~h1:first-of-type{--logo-size: 2}}@media(prefers-color-scheme: dark){.ln-header~h1:first-of-type{--logo-blue: rgb(242.35, 242.35, 242.35);--logo-red: rgb(242.35, 242.35, 242.35)}}.ln-header~h1:first-of-type .logo{display:flex;position:relative;flex-flow:row nowrap;justify-content:flex-start;align-items:center;font-size:calc(var(--logo-size)*1rem);font-weight:400}.ln-header~h1:first-of-type .logo .text{line-height:1.1;white-space:nowrap}.ln-header~h1:first-of-type .logo .nl{color:var(--logo-blue)}.ln-header~h1:first-of-type .logo .nr{margin-left:calc(var(--logo-size)/3.5*-1rem);color:var(--logo-red)}.ln-header~h1:first-of-type .logo .symbol{position:absolute;left:calc(var(--logo-chars)*var(--logo-size)/2*1rem + .25rem);width:calc(var(--logo-size)*1.5*1rem);height:calc(var(--logo-size)*1.4*1rem);fill:var(--logo-red);stroke:var(--logo-red);stroke-width:1px;fill-opacity:1}.ln-header~h1:first-of-type{margin:.5rem 1rem 1rem;padding-bottom:.5rem}@media only screen and (min-width: 41.75em){.ln-header~h1:first-of-type{display:none}}.deco{display:none}@media only screen and (min-width: 41.75em){.deco{display:block;position:absolute;top:0;left:0;right:0;height:530px;width:100%;background:radial-gradient(farthest-side ellipse at 88% 0%, rgba(135, 206, 235, 0) 50%, rgb(135, 206, 235) 60%, rgb(9, 30, 43) 80%)}}@media only screen and (min-width: 41.75em){.safari-or-ios-webkit .deco{transform:translateZ(-1px)}}@media only screen and (min-width: 64em){.no-nav .ln-footer .business{margin-top:1em}}.ln-footer{position:relative;display:flex;flex-flow:column nowrap;justify-content:space-evenly;align-items:center}.ln-footer>*{display:flex;flex-flow:row wrap;justify-content:center;align-items:center}.ln-footer>*,.ln-footer .business>*:not(:last-child){margin-bottom:1em}.ln-footer.zag-follow{padding-top:18vw;margin-top:-17vw}.ln-footer.zag-top{clip-path:polygon(0% 0%, 33% 3vw, calc(33% - 3vw) 0%, 67% 3vw, calc(67% - 3vw) 0%, 100% 3vw, 100% 100%, 0% 100%);margin-top:-5vw;padding-top:6vw;z-index:3}.ln-footer.dark{background:linear-gradient(rgba(27, 90, 127, 0.9) 0%, #091E2B 85%);color:hsl(0,0%,95.0392156863%)}.ln-footer.dark a{color:hsl(0,0%,95.0392156863%)}.ln-footer.dark a:focus{filter:drop-shadow(0px 0px 8px greenyellow)}.ln-footer.dark .logo .nl{color:hsl(0,0%,95.0392156863%)}.ln-footer.dark .logo .nr{color:hsl(0,0%,95.0392156863%)}.ln-footer.dark .logo .symbol{fill:hsl(0,0%,95.0392156863%)}.ln-footer.dark .icon-in{border-color:hsl(0,0%,95.0392156863%)}.ln-footer.dark .navigation .active{background-image:linear-gradient(rgb(242.35, 242.35, 242.35), rgb(242.35, 242.35, 242.35))}.ln-footer.light{background:var(--site-bg);color:var(--site-color)}.ln-footer.light .navigation .active{background-image:linear-gradient(#002a52, #002a52)}@media(prefers-color-scheme: dark){.ln-footer.dark .navigation .active,.ln-footer.light .navigation .active{background-image:linear-gradient(#87ceeb, #87ceeb)}}.ln-footer .f-logo{--logo-blue: #1B7BA1;--logo-red: #ea4335;--logo-chars: 10;--logo-size: 2;display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;transition:transform .2s;margin:0}@media only screen and (min-width: 31.25em){.ln-footer .f-logo{--logo-size: 3}}@media only screen and (min-width: 41.75em){.ln-footer .f-logo{--logo-size: 2}}@media(prefers-color-scheme: dark){.ln-footer .f-logo{--logo-blue: rgb(242.35, 242.35, 242.35);--logo-red: rgb(242.35, 242.35, 242.35)}}.ln-footer .f-logo .logo{display:flex;position:relative;flex-flow:row nowrap;justify-content:flex-start;align-items:center;font-size:calc(var(--logo-size)*1rem);font-weight:400}.ln-footer .f-logo .logo .text{line-height:1.1;white-space:nowrap}.ln-footer .f-logo .logo .nl{color:var(--logo-blue)}.ln-footer .f-logo .logo .nr{margin-left:calc(var(--logo-size)/3.5*-1rem);color:var(--logo-red)}.ln-footer .f-logo .logo .symbol{position:absolute;left:calc(var(--logo-chars)*var(--logo-size)/2*1rem + .25rem);width:calc(var(--logo-size)*1.5*1rem);height:calc(var(--logo-size)*1.4*1rem);fill:var(--logo-red);stroke:var(--logo-red);stroke-width:1px;fill-opacity:1}.ln-footer .f-logo{margin:inherit;width:100%}@media only screen and (min-width: 41.75em){.ln-footer .f-logo{align-items:flex-start;width:auto;margin-right:1rem;min-width:10em}}@media only screen and (min-width: 64em){.ln-footer .f-logo{--logo-size: 3;margin-right:3em}.ln-footer .f-logo .logo-tag{font-size:.9em;margin-left:.3rem}}.ln-footer .f-logo .links{--gap: 0.3rem;margin-top:1rem;display:flex;flex-flow:row nowrap;justify-content:space-around;align-items:center;width:100%}.ln-footer .f-logo .links a{color:inherit;fill:inherit;margin:0 var(--gap)}.ln-footer .f-logo .links a:first-child{margin-left:0}.ln-footer .f-logo .links a:last-child{margin-right:0}.ln-footer .f-logo .links .sponsor{display:flex;flex-flow:row nowrap;gap:var(--gap);align-items:center}.ln-footer .f-logo .icon-in{border-radius:50%;border:1px solid var(--site-color)}.ln-footer .business a[itemprop=legalName]{display:none}.ln-footer .business .contact{margin-left:2em;line-height:2}.ln-footer .copyright{display:flex;flex-flow:row wrap;justify-content:center;align-items:center;text-align:center;padding:0 .5em;line-height:2;font-size:smaller}.ln-footer .copyright>span{white-space:nowrap}.ln-footer .copyright>span:not(:last-child)::after{content:"•";padding:0 .25rem}.ln-footer .paypal a{width:140px;height:20px}.pp-prompt{display:none;position:fixed;z-index:7;left:0;bottom:0;width:100%;opacity:1;transition:opacity .5s;filter:drop-shadow(2px 2px 8px var(--site-color))}@media screen and (-ms-high-contrast: active),screen and (-ms-high-contrast: none){.pp-prompt{box-shadow:2px 2px 8px var(--site-color)}}.pp-prompt.show{display:block}.pp-prompt.show.update .pp-update{display:flex}.pp-prompt.show.install .pp-install{display:flex}.pp-prompt.show.homescreen .pp-homescreen{display:flex}.pp-prompt.show.updated .pp-updated{display:flex}.pp-prompt.show.welcome .pp-welcome{display:flex}.pp-prompt.hide{opacity:0}.pp-update,.pp-install,.pp-homescreen,.pp-welcome,.pp-updated{display:none;flex-flow:column nowrap;justify-content:space-around;align-items:center}.pp-items{font-size:1.2em;line-height:1.5;padding:1.5em;background:var(--site-bg);clip-path:polygon(0% 0%, 33% 3vw, calc(33% - 3vw) 0%, 67% 3vw, calc(67% - 3vw) 0%, 100% 3vw, 100% 100%, 0 100%)}.pp-ctrl{display:flex;flex-flow:row nowrap;justify-content:space-between;align-items:center;width:100%;max-width:320px}.pp-ctrl button{border-radius:.4em;padding:.3em .3em}.pp-ctrl .secondary{border:1px solid var(--site-color);background-color:linear-gradient(var(--site-bg), #bbb);color:var(--site-color)}.pp-ctrl .primary{background-color:var(--site-color);color:var(--site-bg)}.spinner .spinner-el{display:block;animation:spinner-rotator 1.4s linear infinite}.spinner .spinner-el .path{stroke-dasharray:187;stroke-dashoffset:0;transform-origin:center;animation:spinner-dash 1.4s ease-in-out infinite,spinner-colors 5.6s ease-in-out infinite}.spinner-el{display:none}@keyframes spinner-rotator{0%{transform:rotate(0deg)}100%{transform:rotate(270deg)}}@keyframes spinner-colors{0%{stroke:#ff9e64}16%{stroke:#ffc064}33%{stroke:#ffc0e9}50%{stroke:#72c0e9}66%{stroke:#729ee9}83%{stroke:#ff9ee9}}@keyframes spinner-dash{0%{stroke-dashoffset:187}50%{stroke-dashoffset:46.75;transform:rotate(135deg)}100%{stroke-dashoffset:187;transform:rotate(450deg)}}.page-spinner{display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:5;background:rgba(34,34,34,.5)}.page-spinner .spinner{width:100%;height:350px;position:fixed;z-index:6;top:50%;transform:translate(0, -50%);display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}.page-spinner.show{display:block}.page-spinner.backstop{display:block}.page-spinner.backstop .spinner{display:none}.safari-desktop .spinner-el .path{zoom:reset}.jump-scroll{--js-width: 3rem;--js-bg-color: var(--site-fill);--js-bg-color-focus: var(--site-link-focus);z-index:4;--js-fullstack-bg: var(--js-bg-color);--js-footer-bg: var(--js-bg-color);--js-abouthead-bg: var(--js-bg-color)}@media(prefers-color-scheme: light){.jump-scroll{--js-fullstack-bg: var(--site-bg)}}@media(prefers-color-scheme: light){.jump-scroll{--js-footer-bg: var(--site-bg)}}@media(prefers-color-scheme: light)and (min-width: 622px){.jump-scroll{--js-abouthead-bg: var(--site-bg)}}@media(min-width: 1354px)and (max-width: 1364px){.jump-scroll{--js-abouthead-bg: var(--js-bg-color)}}@media(min-height: 700px){.jump-scroll{--js-width: 3.5rem}}.zag{position:relative;overflow:hidden;width:100%;clip-path:polygon(0% 0%, 33% 3vw, calc(33% - 3vw) 0%, 67% 3vw, calc(67% - 3vw) 0%, 100% 3vw, 100% 100%, 67% calc(100% - 3vw), calc(67% + 3vw) 100%, 33% calc(100% - 3vw), calc(33% + 3vw) 100%, 0% calc(100% - 3vw))}.zag.cut-bot{clip-path:polygon(0% 0%, 33% 3vw, calc(33% - 3vw) 0%, 67% 3vw, calc(67% - 3vw) 0%, 100% 3vw, 100% 97%, 67% calc(97% - 3vw), calc(67% + 3vw) 97%, 33% calc(97% - 3vw), calc(33% + 3vw) 97%, 0% calc(97% - 3vw))}.zag .inner{width:100%;overflow:hidden;padding-top:1em}@media only screen and (min-width: 1440px){.zag .inner{padding-top:calc(1em + (100vw - 1440px)/1440*48)}}.zag.left{transform:skewY(-8deg) rotateY(180deg)}.zag.left .inner{transform:skewY(-8deg) rotateY(-180deg)}.zag.right{transform:skewY(8deg)}.zag.right .inner{transform:skewY(-8deg)}main section{margin-top:3vw}.zag>*{position:relative}.safari .zag{perspective:1px;perspective-origin:center;transform-style:preserve-3d;backface-visibility:visible;-webkit-backface-visibility:visible}.safari .zag.sky.left{-webkit-font-smoothing:antialiased}.ios-webkit main:not(.about) .zag.left{transform:skewY(-8deg) scale(-1, 1)}.ios-webkit main:not(.about) .zag.left .inner{transform:skewY(-8deg) scale(-1, 1)}.msggfx{display:flex;flex-flow:row wrap;align-items:center;justify-content:center}.msggfx .small{flex:1 1 auto}@media only screen and (min-width: 594px){.msggfx .small{flex:1 1 35%;margin-top:inherit}}.msggfx .big{flex:1 0 65%}.msggfx .big:not(.gfx){padding-right:1.8em}.msggfx>*{position:relative}.msg{padding:1em}.sky{background:linear-gradient(to bottom, rgb(147, 210.9, 237), #29A8DB 98%)}@media only screen and (min-width: 712px){.sky{background:linear-gradient(to bottom left, rgb(147, 210.9, 237), #29A8DB 98%)}}@media(prefers-color-scheme: dark){.sky{background:linear-gradient(rgba(27, 90, 127, 0.9) 0%, #091E2B 85%)}}@media only screen and (min-width: 41.75em){.sky.zag .inner{padding-top:2em}}.sky .msggfx{align-items:stretch}.sky .msggfx .msg{align-self:center}@media only screen and (min-width: 75em){.sky .msggfx .msg{align-self:start;padding-top:5em}}@media only screen and (min-width: 1600px){.sky .msggfx .msg{align-self:center}}.sky .gfx .g-arrow{display:none}.sky .gfx .g-services{color:#1b7ba1;stroke:#091e2b}.sky .gfx .g-services-1{transform-origin:50% 50% 0;transform:scale(0.1) translate(700px, -1740px);animation:service-spin-1 12s linear infinite;animation-play-state:paused}@media(prefers-reduced-motion: reduce){.sky .gfx .g-services-1{animation:service-spin-reduced-1 12s linear infinite}}.sky .gfx.anim .g-services-1{animation-play-state:running}@keyframes service-spin-1{0%,10%,20%,60%,70%,80%,90%,100%{transform:scale(0.1) translate(700px, -1740px) rotate(0)}30%,40%,50%{transform:scale(0.1) translate(700px, -1740px) rotate(180deg)}}@keyframes service-spin-reduced-1{0%,10%,20%,30%,40%,60%,70%,80%,90%,100%{transform:scale(0.1) translate(700px, -1740px) rotate(0)}50%{transform:scale(0.1) translate(700px, -1740px) rotate(180deg)}}.sky .gfx .g-services-2{transform-origin:50% 50% 0;transform:scale(0.15) translate(800px, -780px);animation:service-spin-2 12s linear infinite;animation-play-state:paused}@media(prefers-reduced-motion: reduce){.sky .gfx .g-services-2{animation:service-spin-reduced-2 12s linear infinite}}.sky .gfx.anim .g-services-2{animation-play-state:running}@keyframes service-spin-2{0%,10%,20%,60%,70%,80%,90%,100%{transform:scale(0.15) translate(800px, -780px) rotate(0)}30%,40%,50%{transform:scale(0.15) translate(800px, -780px) rotate(-180deg)}}@keyframes service-spin-reduced-2{0%,10%,20%,30%,40%,60%,70%,80%,90%,100%{transform:scale(0.15) translate(800px, -780px) rotate(0)}50%{transform:scale(0.15) translate(800px, -780px) rotate(-180deg)}}.sky .gfx .g-services-3{transform-origin:50% 50% 0;transform:scale(0.2) translate(240px, -210px);animation:service-spin-3 12s linear infinite;animation-play-state:paused}@media(prefers-reduced-motion: reduce){.sky .gfx .g-services-3{animation:service-spin-reduced-3 12s linear infinite}}.sky .gfx.anim .g-services-3{animation-play-state:running}@keyframes service-spin-3{0%,10%,20%,60%,70%,80%,90%,100%{transform:scale(0.2) translate(240px, -210px) rotate(0)}30%,40%,50%{transform:scale(0.2) translate(240px, -210px) rotate(180deg)}}@keyframes service-spin-reduced-3{0%,10%,20%,30%,40%,60%,70%,80%,90%,100%{transform:scale(0.2) translate(240px, -210px) rotate(0)}50%{transform:scale(0.2) translate(240px, -210px) rotate(180deg)}}.sky .gfx .g-s{stroke-width:16px;stroke-opacity:1;stroke-dasharray:62 186;stroke-linejoin:miter;stroke-linecap:square}.sky .gfx .g-s1{stroke:#ea4335;stroke-dashoffset:124}.sky .gfx .g-s2{stroke:#4285f4;stroke-dashoffset:186}.sky .gfx .g-s3{stroke:#34a853;stroke-dashoffset:242}.sky .gfx .g-s4{stroke:#fbbc05;stroke-dashoffset:310}.sky .gfx .g-services,.sky .gfx .g-pkg,.sky .gfx .g-cloud{transform:translate(12vw, 0px)}.sky .gfx .g-s{transform:translate(12vw, 0px) scale(0.35)}.sky .gfx .g-t{transform:translate(12vw, 0px) rotate(180deg)}.sky .gfx .g-t9{transform:translate(12vw, 0) scale(0.9)}.sky .gfx .g-t1{transform-origin:265px 233px}.sky .gfx .g-t2{transform-origin:455px 100px}.sky .gfx .g-ipfs{transform:scale(0.09) translate(120vw, 0)}.sky .gfx .g-aws{transform:scale(0.2) translate(55vw, 0)}@media only screen and (min-width: 712px){.sky .gfx .g-services,.sky .gfx .g-pkg,.sky .gfx .g-cloud{transform:none}.sky .gfx .g-ipfs{transform:scale(0.09)}.sky .gfx .g-aws{transform:scale(0.2)}.sky .gfx .g-s{transform:scale(0.35)}.sky .gfx .g-t{transform:rotate(180deg)}.sky .gfx .g-t9{transform:scale(0.9)}}.home .msggfx .small:not(.gfx){padding-left:1.8em;padding-right:1.8em}.home .msggfx .small:not(.gfx) .cta-button,.home .msggfx .small:not(.gfx) .cta-button-alt,.home .msggfx .small:not(.gfx) button{margin:0 auto;padding:1px 6px;text-align:center}@media only screen and (min-width: 594px){.home .msggfx .small.left:not(.gfx){padding-right:1em;padding-left:1.8em}}@media only screen and (min-width: 1600px){.home .msggfx .small.left:not(.gfx){padding:0 5vw 0 10vw}}@media only screen and (min-width: 594px){.home .msggfx .small.right:not(.gfx){padding-left:1em;padding-right:1.8em}}@media(min-width: 712px)and (max-width: 1024px){.home .sky.zag .msg{margin:1em 0;padding-right:0}}.home .sky .c-msg{display:flex;flex-flow:row wrap;justify-content:space-evenly;align-items:center}.home .sky .c-msg .avatar{position:relative;background:url('/images/ln-alex-48cadf1736.jpg') no-repeat;width:200px;height:200px;border-radius:50%;flex:0 0 auto}.home .sky .c-msg .avatar .icon{display:none;position:absolute;border-radius:50%;width:32px;height:32px;color:var(--site-color);background:var(--site-bg)}.home .sky .c-msg .avatar .icon a{color:inherit;fill:inherit}@media only screen and (min-width: 712px){.home .sky .c-msg .avatar .icon{display:block}}.home .sky .c-msg .avatar .icon-1{bottom:4%;right:2%}.home .sky .c-msg .avatar .icon-2{top:48%;left:-11%}.home .sky .c-msg .avatar .icon-3{bottom:4%;left:4%}.home .sky .c-msg .avatar .icon-gh{color:var(--site-bg);background:var(--site-color)}.home .sky .c-msg .avatar .icon-so,.home .sky .c-msg .avatar .icon-in{color:var(--site-color);background:var(--site-bg)}.home .sky .c-msg p{flex:1 1 60%;margin:1em}@media only screen and (min-width: 31.25em){.home .sky .c-msg p{flex:1 1 50%}}.home .sky .c-msg .cta-button,.home .sky .c-msg .cta-button-alt,.home .sky .c-msg button{flex:0 1 auto}.home .sky .c-msg .cta-button:nth-of-type(even),.home .sky .c-msg .cta-button-alt:nth-of-type(even),.home .sky .c-msg button:nth-of-type(even){margin:0 0 0 .5em !important}.home .sky .c-msg .btns{display:flex;flex-flow:row wrap;justify-content:center;align-items:center}.home .sky .gfx .servicestxt{display:none;position:absolute;top:-6%;left:5%;right:63%;margin:.5em 0}@media only screen and (min-width: 450px){.home .sky .gfx .servicestxt{display:block;top:0%}}@media only screen and (min-width: 712px){.home .sky .gfx .servicestxt{top:6.5vw}}@media only screen and (min-width: 1600px){.home .sky .gfx .servicestxt{top:10vw}}.home .sky .gfx .consult-card{--card-shadow: var(--site-color);--bullet-size: 2em;position:absolute;left:0;bottom:20%;background:var(--site-bg);padding:0 1rem .5rem;filter:drop-shadow(0px 2px 6px var(--card-shadow))}@media only screen and (min-width: 367px){.home .sky .gfx .consult-card{left:5%;width:90%;border-radius:10px}}@media only screen and (min-width: 712px){.home .sky .gfx .consult-card{left:15%}}@media only screen and (min-width: 974px){.home .sky .gfx .consult-card{left:35%}}@media(prefers-color-scheme: dark){.home .sky .gfx .consult-card{--card-shadow: var(--site-link-focus)}}.home .sky .gfx .consult-card li{line-height:1}.home .sky .gfx .consult-card li span{position:relative;bottom:calc(var(--bullet-size)/6)}.home .sky .gfx .consult-card li:nth-child(1)::marker{font-size:var(--bullet-size);color:#fbbc05}.home .sky .gfx .consult-card li:nth-child(2)::marker{font-size:var(--bullet-size);color:#ea4335}.home .sky .gfx .consult-card li:nth-child(3)::marker{font-size:var(--bullet-size);color:#4285f4}.home .sky .gfx .consult-card li:nth-child(4)::marker{font-size:var(--bullet-size);color:#34a853}.home .sky .gfx .g-arrow{display:block;color:hsl(0,0%,95.0392156863%);transform:translate(11.4vw, 0);opacity:0;animation:12s arrow-anim-small linear infinite;animation-play-state:paused}@media only screen and (min-width: 712px){.home .sky .gfx .g-arrow{transform:translate(-0.2vw, 0);animation:12s arrow-anim-large linear infinite}}@media(min-width: 712px)and (max-width: 811px){.home .sky .gfx .g-arrow{transform:translate(-10.2vw, 0);animation:12s arrow-anim-medium linear infinite}}@keyframes arrow-anim-small{0%,10%,20%{opacity:0;transform:translate(11.4vw, 0)}30%{opacity:.6;transform:translate(11.4vw, 18%)}35%,40%,50%,60%,70%,80%,90%,100%{opacity:.9;transform:translate(11.4vw, 52%)}}@keyframes arrow-anim-large{0%,10%,20%{opacity:0;transform:translate(-0.2vw, 0)}30%{opacity:.6;transform:translate(-0.2vw, 18%)}35%,40%,50%,60%,70%,80%,90%,100%{opacity:.9;transform:translate(-0.2vw, 52%)}}@keyframes arrow-anim-medium{0%,10%,20%{opacity:0;transform:translate(-10.2vw, 0)}30%{opacity:.6;transform:translate(-10.2vw, 18%)}35%,40%,50%,60%,70%,80%,90%,100%{opacity:.9;transform:translate(-10.2vw, 52%)}}.home .sky .gfx.anim .g-arrow{animation-play-state:running}@media(prefers-reduced-motion: reduce){.home .sky .gfx.anim .g-arrow{animation-play-state:paused}}.home .sky .gfx .g-arrow-1{animation-delay:0}.home .sky .gfx .g-arrow-2{animation-delay:.6s}@media(min-width: 712px)and (max-width: 811px){.home .sky .gfx .g-services,.home .sky .gfx .g-pkg,.home .sky .gfx .g-cloud{transform:translate(-10vw, 0px)}.home .sky .gfx .g-s{transform:translate(-10vw, 0px) scale(0.35)}.home .sky .gfx .g-t{transform:translate(-10vw, 0px) rotate(180deg)}.home .sky .gfx .g-t9{transform:translate(-10vw, 0) scale(0.9)}.home .sky .gfx .g-ipfs{transform:scale(0.09) translate(-100vw, 0)}.home .sky .gfx .g-aws{transform:scale(0.2) translate(-50vw, 0)}}.safari-desktop .sky .clouds{zoom:reset}@property --dx{syntax:"<number>";inherits:true;initial-value:15}@property --dy{syntax:"<number>";inherits:true;initial-value:-27}@property --magAng{syntax:"<angle>";inherits:true;initial-value:.3turn}.no-js .magnify{display:none}html:not(.safari-or-ios-webkit) .perf .mag-container .magnify,html:not(.safari-or-ios-webkit) .perf .mag-container .magnify::before,html:not(.safari-or-ios-webkit) .perf .mag-container .magnify::after{animation:mag-motion infinite alternate linear var(--anim-duration);animation-play-state:paused}html:not(.safari-or-ios-webkit) .perf .mag-container .magnify::before{animation-name:mag-before-motion}html:not(.safari-or-ios-webkit) .perf .mag-container .magnify::after{animation-name:mag-after-motion}html:not(.safari-or-ios-webkit) .perf .mag-container.anim .magnify,html:not(.safari-or-ios-webkit) .perf .mag-container.anim .magnify::before,html:not(.safari-or-ios-webkit) .perf .mag-container.anim .magnify::after{animation-play-state:running}.safari-or-ios-webkit .perf .mag-container.anim .magnify,.safari-or-ios-webkit .perf .mag-container.anim .magnify::before,.safari-or-ios-webkit .perf .mag-container.anim .magnify::after{animation:mag-motion infinite alternate linear 12s}.safari-or-ios-webkit .perf .mag-container.anim .magnify::before{animation-name:mag-before-motion}.safari-or-ios-webkit .perf .mag-container.anim .magnify::after{animation-name:mag-after-motion}.no-register-property .perf .mag-container.anim .magnify,.no-register-property .perf .mag-container.anim .magnify::before,.no-register-property .perf .mag-container.anim .magnify::after{animation:mag-motion-old infinite alternate linear 12s}.no-register-property .perf .mag-container.anim .magnify::before{animation-name:mag-before-motion-old}@supports(-moz-appearance: none){.no-register-property .perf .mag-container.anim .magnify::before{animation-name:none}}.no-register-property .perf .mag-container.anim .magnify::after{animation-name:mag-after-motion-old}.perf{background:rgba(0,0,0,0)}.perf .cta-button{z-index:3}.perf.inter{margin-top:0}@media only screen and (min-width: 594px){.perf.inter{margin:-8vw 0}}@media only screen and (min-width: 594px){.perf .gfx{min-height:300px}}.perf .gfx.big{flex-basis:63.99%}.perf .featured-project{--card-shadow: var(--site-color);--proj-width: 60vw;position:absolute;bottom:0;transform:translate(2%, 0);width:var(--proj-width);z-index:1;filter:drop-shadow(0px 4px 6px var(--card-shadow))}@media(prefers-color-scheme: dark){.perf .featured-project{--card-shadow: var(--site-link-focus)}}@media only screen and (min-width: 594px){.perf .featured-project{--proj-width: 40vw;transform:translate(2%, -14vw)}}.perf .featured-project a{display:block}.perf .featured-project .featured-project-gfx{width:var(--proj-width)}.perf .msg p:first-of-type::before{display:none}@media only screen and (min-width: 594px){.perf .msg p:first-of-type::before{display:block;float:left;content:"";shape-outside:ellipse(40% 50% at left);width:25%;height:14em}}.perf .mag-container,.perf .mag-base,.perf .magnify::after,.perf .magnify::before,.perf .magnify,.perf .mag-container img{width:100%;height:67vw;transform-origin:50% 50% 0}.perf .mag-base,.perf .magnify::after,.perf .magnify::before,.perf .magnify,.perf .mag-container img{position:absolute}.perf .mag-container{--width: 1200;--rad: 8;--mag: 1.75;--lens-rim: 1.0;--magAng: 0.3turn;--dx: 15;--dy: -41;--anim-duration: 12s;zoom:reset}@media(prefers-reduced-motion: reduce){.perf .mag-container{--anim-duration: 18s}}@media only screen and (min-width: 594px){.perf .mag-container{--dx: 15;--dy: -27;--lens-rim: 1.08}}.perf .magnify{transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}.perf .magnify::before{--lens-radius: 78.5;content:"";clip-path:url("#magnifying-glass");background-color:var(--site-color);transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}@media(prefers-color-scheme: dark){.perf .magnify::before{background-color:#438aff}}@supports(-moz-appearance: none){.perf .magnify::before{border:.05px inset var(--site-bg)}}.perf .magnify::after{content:"";background-color:var(--site-bg);background-image:url('/images/perf-7b18d50800.svg');background-repeat:no-repeat;background-size:100% 100%;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}.inter{position:relative;overflow:hidden;width:100%;margin:5vw 0;display:flex;flex-flow:column nowrap;justify-content:center}.inter .gfx{display:flex;flex-flow:column nowrap;justify-content:center;align-items:center;position:relative}.inter .gfx.big{order:2}@media only screen and (min-width: 594px){.inter .gfx.big{order:inherit}}@keyframes mag-motion{0%{--dx:15;--dy:-41}20%{--dx:26;--dy:-31}40%{--dx:37;--dy:-16}50%{--dx:22.5;--dy:-0.5}60%{--dx:41;--dy:3.5}80%{--dx:41;--dy:21}100%{--dx:41;--dy:38;--magAng:.4turn}}@media only screen and (min-width: 594px){@keyframes mag-motion{0%{--dx:15;--dy:-27}20%{--dx:26;--dy:-20}40%{--dx:36;--dy:-10}50%{--dx:22;--dy:0}60%{--dx:40;--dy:2}80%{--dx:40;--dy:13}100%{--dx:40;--dy:25;--magAng:.4turn}}}@keyframes mag-before-motion{0%{--dx:15;--dy:-41}20%{--dx:26;--dy:-31}40%{--dx:37;--dy:-16}50%{--dx:22.5;--dy:-0.5}60%{--dx:41;--dy:3.5}80%{--dx:41;--dy:21}100%{--dx:41;--dy:38;--magAng:.4turn}}@media only screen and (min-width: 594px){@keyframes mag-before-motion{0%{--dx:15;--dy:-27}20%{--dx:26;--dy:-20}40%{--dx:36;--dy:-10}50%{--dx:22;--dy:0}60%{--dx:40;--dy:2}80%{--dx:40;--dy:13}100%{--dx:40;--dy:25;--magAng:.4turn}}}@keyframes mag-after-motion{0%{--dx:15;--dy:-41}20%{--dx:26;--dy:-31}40%{--dx:37;--dy:-16}50%{--dx:22.5;--dy:-0.5}60%{--dx:41;--dy:3.5}80%{--dx:41;--dy:21}100%{--dx:41;--dy:38;--magAng:.4turn}}@media only screen and (min-width: 594px){@keyframes mag-after-motion{0%{--dx:15;--dy:-27}20%{--dx:26;--dy:-20}40%{--dx:36;--dy:-10}50%{--dx:22;--dy:0}60%{--dx:40;--dy:2}80%{--dx:40;--dy:13}100%{--dx:40;--dy:25;--magAng:.4turn}}}@keyframes mag-motion-old{0%{--dx:15;--dy:-41;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}20%{--dx:26;--dy:-31;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}40%{--dx:37;--dy:-16;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}50%{--dx:22.5;--dy:-0.5;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}60%{--dx:41;--dy:3.5;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}80%{--dx:41;--dy:21;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}100%{--dx:41;--dy:38;--magAng:.4turn;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}}@media only screen and (min-width: 594px){@keyframes mag-motion-old{0%{--dx:15;--dy:-27;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}20%{--dx:26;--dy:-20;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}40%{--dx:36;--dy:-10;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}50%{--dx:22;--dy:0;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}60%{--dx:40;--dy:2;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}80%{--dx:40;--dy:13;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}100%{--dx:40;--dy:25;--magAng:.4turn;transform:translate(calc(var(--dx) * 1%), calc(var(--dy) * 1%))}}}@keyframes mag-before-motion-old{0%{--dx:15;--dy:-41;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}20%{--dx:26;--dy:-31;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}40%{--dx:37;--dy:-16;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}50%{--dx:22.5;--dy:-0.5;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}60%{--dx:41;--dy:3.5;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}80%{--dx:41;--dy:21;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}100%{--dx:41;--dy:38;--magAng:.4turn;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}}@media only screen and (min-width: 594px){@keyframes mag-before-motion-old{0%{--dx:15;--dy:-27;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}20%{--dx:26;--dy:-20;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}40%{--dx:36;--dy:-10;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}50%{--dx:22;--dy:0;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}60%{--dx:40;--dy:2;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}80%{--dx:40;--dy:13;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}100%{--dx:40;--dy:25;--magAng:.4turn;transform:rotate(var(--magAng)) scale(calc(var(--rad) / 100 * var(--width) / var(--lens-radius) * var(--mag) * var(--lens-rim))) translate(calc(50% - var(--lens-radius) * 1px), calc(50% - var(--lens-radius) * 1px))}}}@keyframes mag-after-motion-old{0%{--dx:15;--dy:-41;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}20%{--dx:26;--dy:-31;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}40%{--dx:37;--dy:-16;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}50%{--dx:22.5;--dy:-0.5;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}60%{--dx:41;--dy:3.5;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}80%{--dx:41;--dy:21;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}100%{--dx:41;--dy:38;--magAng:.4turn;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}}@media only screen and (min-width: 594px){@keyframes mag-after-motion-old{0%{--dx:15;--dy:-27;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}20%{--dx:26;--dy:-20;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}40%{--dx:36;--dy:-10;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}50%{--dx:22;--dy:0;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}60%{--dx:40;--dy:2;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}80%{--dx:40;--dy:13;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}100%{--dx:40;--dy:25;--magAng:.4turn;clip-path:circle(calc(var(--rad) * 1%) at calc(50% + var(--dx) * 1%) calc(50% + var(--dy) * 1%));transform:translate(calc(var(--dx) * var(--mag) * -1%), calc(var(--dy) * var(--mag) * -1%)) scale(var(--mag))}}}.creative{background:linear-gradient(to bottom, rgb(255, 157.5, 127.5), #FF5722 99%)}@media only screen and (min-width: 594px){.creative{background:linear-gradient(to right, rgb(255, 157.5, 127.5), #FF5722 99%)}}@media(prefers-color-scheme: dark){.creative{background:linear-gradient(to bottom, #cc3000, rgb(136, 32.6153846154, 0) 99%)}}@media only screen and (prefers-color-scheme: dark)and (min-width: 594px){.creative{background:linear-gradient(to right, #cc3000, rgb(136, 32.6153846154, 0) 99%)}}.creative a:focus{filter:drop-shadow(0px 0px 8px greenyellow)}@media only screen and (min-width: 594px){.creative.right .small:not(.gfx){margin-top:-2em;padding-bottom:3em}}@media only screen and (min-width: 64em){.creative.right .small:not(.gfx){margin-top:-6em}}.creative .gfx{display:flex;flex-flow:row nowrap;justify-content:space-evenly;align-items:center}.creative .gfx .mobile-ux{height:400px;width:206.67px;margin:0 0 10vw}@media only screen and (min-width: 594px){.creative .gfx .mobile-ux{margin:10vw 0 5vw}}.creative .gfx .g-tablet,.creative .gfx .g-desktop{display:none;flex:1 1 auto;max-width:25%;margin:0 1vw}@media only screen and (min-width: 411px){.creative .gfx .g-tablet,.creative .gfx .g-desktop{display:block}}.creative .gfx [class*=content-mountains]{fill:none;stroke:#fff;animation-duration:5s;animation-fill-mode:forwards;animation-timing-function:linear;opacity:1;stroke-dasharray:1000;stroke-dashoffset:1000}.creative .gfx [class*=content-sun]{fill:none;stroke:#fff;animation-duration:5s;animation-fill-mode:forwards;animation-timing-function:linear;opacity:1;stroke-dasharray:200;stroke-dashoffset:200}.creative .gfx [class$=-rot]{opacity:0}.creative .gfx.anim .g-desktop,.creative .gfx.anim:not(.rotate) .g-tablet{animation-fill-mode:forwards;animation-duration:.4s;animation-timing-function:ease-in-out}.creative .gfx.anim .g-desktop{animation-name:responsive-desktop-s}.creative .gfx.anim:not(.rotate) .g-tablet{animation-name:responsive-tablet-s}@media(prefers-reduced-motion: reduce){.creative .gfx.anim .g-desktop{animation-name:none}.creative .gfx.anim:not(.rotate) .g-tablet{animation-name:none}}.creative .gfx.anim.rotate .g-desktop .content-mountains,.creative .gfx.anim.rotate .g-desktop .content-sun{animation-iteration-count:infinite;animation-direction:alternate;animation-duration:4s;animation-fill-mode:forwards}.creative .gfx.anim.rotate .g-tablet{animation-iteration-count:infinite;animation-direction:alternate;animation-duration:6s;animation-name:rotate-tablet-s}.creative .gfx.anim.rotate .g-tablet .content-mountains,.creative .gfx.anim.rotate .g-tablet .content-sun,.creative .gfx.anim.rotate .g-tablet .content-mountains-rot,.creative .gfx.anim.rotate .g-tablet .content-sun-rot{animation-iteration-count:infinite;animation-direction:alternate;animation-duration:6s;animation-fill-mode:forwards}.creative .gfx.anim.rotate .g-tablet .content-mountains,.creative .gfx.anim.rotate .g-tablet .content-sun{animation-name:dash,rot-tablet-norm}.creative .gfx.anim.rotate .g-tablet .content-mountains-rot,.creative .gfx.anim.rotate .g-tablet .content-sun-rot{animation-name:dash,rot-tablet-alt}@media(prefers-reduced-motion: reduce){.creative .gfx.anim.rotate .g-tablet{animation-name:none}.creative .gfx.anim.rotate .g-tablet .content-mountains,.creative .gfx.anim.rotate .g-tablet .content-sun{animation-name:dash}.creative .gfx.anim.rotate .g-tablet .content-mountains-rot,.creative .gfx.anim.rotate .g-tablet .content-sun-rot{animation-name:dash}}.creative .gfx.anim.rotate [class*=content-mountains],.creative .gfx.anim.rotate [class*=content-sun]{animation-name:dash}@keyframes dash{to{stroke-dashoffset:0}}@keyframes responsive-desktop-s{0%{transform:translate3d(0%, -100%, 0)}80%{transform:translate3d(0%, 30%, 0)}100%{transform:translate3d(0%, 0%, 0)}}@keyframes responsive-tablet-s{0%{transform:translate3d(0, 100%, 0)}80%{transform:translate3d(0, -30%, 0)}100%{transform:translate3d(0, 0, 0) rotateZ(0deg)}}@keyframes rotate-tablet-s{0%{transform:translate3d(0, 0, 0) rotateZ(0deg)}25%,75%{transform:translate3d(0, 0, 0) rotateZ(90deg)}100%{transform:translate3d(0, 0, 0) rotateZ(360deg)}}@keyframes rot-tablet-norm{0%{opacity:1}25%,75%{opacity:0}100%{opacity:1}}@keyframes rot-tablet-alt{0%{opacity:0}25%,75%{opacity:1}100%{opacity:0}}#fireworks{background:#091e2b}.fireworks-fallback{display:none}.no-js .fireworks-fallback,.no-canvas .fireworks-fallback{display:block}.no-js .fireworks-fallback div,.no-canvas .fireworks-fallback div{width:177px;height:317px;background-color:#091e2b;background-image:url('/images/ln-firework-phone-177-size-a6fea4166c.jpg');background-repeat:no-repeat}.safari-desktop .mobile-ux{zoom:reset}.safari .zag.creative .gfx,.ios-webkit .zag.creative .gfx{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center}.safari .mobile-ux,.ios-webkit .mobile-ux{width:207px}@media only screen and (min-width: 594px){.safari .mobile-ux,.ios-webkit .mobile-ux{margin:10vw 0 10vw}}.safari .fireworks,.ios-webkit .fireworks{position:relative;left:4px;top:10px;width:178px;height:317px}.fullstack{margin-bottom:0;margin-top:-10vw;padding-top:7vw;z-index:-1;background:#202}.fullstack img{width:100%;height:150vw}@media only screen and (min-width: 64em){.fullstack img{height:100vw}}.no-js .contact-success .msg>p,.no-js .contact-fail .msg>p{max-width:42ch;padding:0 1em}.no-js .cmf-fetch{display:none}.contact-links{display:flex;flex-flow:column nowrap;justify-content:center;align-items:flex-start;line-height:3;margin:1em 1em 0 2.5em}@media only screen and (min-width: 41.75em){.contact-links{line-height:2.5}}.contact-links .icon svg{width:1em;height:1em;margin-right:.5em}.contact-links .content-item{display:flex;flex-flow:row nowrap;align-items:center}.contact{position:relative}.contact .hide{display:none !important}.contact .cm-container{display:block;position:absolute;z-index:7;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.6)}.contact .cm.hide{transform:translate(0, -4000px);transition:transform .5s}.contact .cm{display:flex;flex-flow:column nowrap;justify-content:space-around;align-items:center;position:fixed;top:50%;left:0;min-height:20em;transform:translate(0, -50%);background:var(--site-bg);padding:1em 2em;width:100%;box-shadow:0 0 4px 0 var(--site-color);line-height:1.4}.contact .cm h2:first-of-type,.contact .cm h3:first-of-type{text-align:center;margin-top:0}@media only screen and (min-width: 41.75em){.contact .cm{top:55%;left:50%;width:67vw;max-width:25em;transform:translate(-50%, -50%);border-radius:.4em}}.contact .cm .contact-links{margin:0 1em 1em;font-weight:bold}.contact .cm .close-button{outline:none;background:var(--site-color);color:var(--site-bg);border:none;padding:.5em;border-radius:.4em}.contact .cm-fail .cmf-fetch{display:none}.contact .cm-fail .cmf-fetch.show{display:block}.contact .cm-fail .cmf-gen{display:block}.contact .cm-fail .cmf-gen.hide{display:none}.contact .cm-fail p,.contact .cm-success p{max-width:42ch}.contact h2:first-of-type,.contact h3{text-align:center;margin-bottom:0}.contact .text-block-outer{background:rgba(0,0,0,0)}.contact .text-block-outer .text-block{padding:0 1em}@media only screen and (min-width: 41.75em){.contact .text-block-outer .text-block{padding:0}}.contact .text-block-outer:first-of-type{margin-bottom:1em}.contact .contact-container{display:flex;flex-flow:column nowrap;justify-content:center;align-items:center;margin-top:1em}.contact .contact-container .clouds{flex:1 1 auto;width:40%;align-self:flex-end;justify-self:flex-start;margin-top:-18vw;padding-bottom:2em}.contact .inner{display:flex;position:relative;flex-flow:column nowrap;justify-content:center;align-items:stretch}@media only screen and (min-width: 41.75em){.contact .inner{min-height:14em}}.contact .inner button:focus,.contact .inner a:focus{filter:drop-shadow(0px 0px 8px greenyellow)}.contact .contact-install{display:none;margin-top:3em}.contact .contact-install.available{display:block}.contact .contact-install button{margin:0 auto;box-shadow:none}@media(prefers-color-scheme: dark){.contact .contact-install button{border:none;box-shadow:0px 0px 14px #adff2f}}.contact form{width:100%;margin:0 auto;padding:0 1rem}@media only screen and (min-width: 41.75em){.contact form{width:31.75em}}@media only screen and (min-width: ){.contact form{padding:0}}.contact form .website{position:absolute;left:-9999px}.contact form .input-wrapper{position:relative;width:100%}.contact form .input-wrapper:not(:first-child){margin-top:.5em}.contact form label{display:block;color:#737373;font-size:.85714em;font-weight:normal;position:absolute;top:2px;width:100%;margin:.6em 0 .5em 0;padding:0 1em;z-index:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;transform:translateY(3px);pointer-events:none;white-space:nowrap;text-overflow:ellipsis;opacity:0;transition:transform .2s ease-out,opacity .2s ease-out}@media only screen and (min-width: 41.75em){.contact form label{margin-top:.3em}}.contact form .show-label label{opacity:1;transform:none}.contact form input,.contact form textarea{background:var(--site-bg);padding:1.5em 2em 1.5em 1em;margin:0;font-size:1em;outline:none;width:100%;color:var(--site-color);border:2px solid #002a52;border-radius:.3em;transition:border 300ms cubic-bezier(0.63, 0.64, 0.3, 1),color 300ms cubic-bezier(0.63, 0.64, 0.3, 1)}.contact form textarea{height:11em;resize:vertical}.contact form input:focus,.contact form textarea:focus{outline:none;border-color:#adff2f;border-width:4px;color:#32383b;font-weight:bold}@media(prefers-color-scheme: dark){.contact form input:focus,.contact form textarea:focus{color:var(--site-color)}}.contact form input:not(:-moz-placeholder):invalid, .contact form textarea:not(:-moz-placeholder):invalid{border-color:#ea4335}.contact form input:not(:placeholder-shown):invalid,.contact form textarea:not(:placeholder-shown):invalid{border-color:#ea4335}.contact form input:valid,.contact form textarea:valid{border-color:#002a52}.vertical-timeline{width:100%;max-width:var(--max-width, 960px);margin:0 auto;padding:0 var(--padding-horiz, 20px)}.vertical-timeline>ul{list-style:none;position:relative;padding:20px 0}.vertical-timeline>ul::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--icon-size, 50px)/2 - var(--icon-gap, 5px));margin-left:calc(var(--line-width, 3px)/2*-1);width:var(--line-width, 3px);background-color:var(--line-color, rgb(216.75, 216.75, 216.75))}@media(min-width: 41.75em){.vertical-timeline>ul::before{left:50%}}.vertical-timeline>ul>li{position:relative;padding-left:var(--icon-size, 50px)}.vertical-timeline>ul>li:not(:last-child){margin-bottom:20px}.vertical-timeline>ul>li::after{content:"";display:table;clear:both}.vertical-timeline>ul>li .vt-icon{color:var(--icon-color, #d9d9d9);width:var(--icon-size, 50px);height:var(--icon-size, 50px);font-size:calc(var(--icon-size, 50px) - var(--icon-padding, 10px));line-height:var(--icon-size, 50px);text-align:center;position:absolute;left:calc(var(--icon-gap, 5px)*-1);background:var(--icon-background, url('/images/logo-margin-white-098c93e296.svg'));box-shadow:var(--icon-shadow, 0 0 4px rgba(0, 0, 0, 0.4));z-index:2;border-radius:var(--icon-radius, 50%);font-family:var(--icon-font-family, "")}.vertical-timeline>ul>li .vt-icon::before{content:""}.vertical-timeline>ul>li .vt-icon-0{background:var(--icon-background, url('/images/logo-margin-white-098c93e296.svg'))}.vertical-timeline>ul>li .vt-icon-1{background:var(--icon-background, url('/images/work2-100x100-1987ee212a.jpg'))}.vertical-timeline>ul>li .vt-icon-2{background:var(--icon-background, url('/images/work-100x100-4a4072e08d.jpg'))}.vertical-timeline>ul>li .vt-icon-3{background:var(--icon-background, url('/images/comp-100x100-f0e94687d0.jpg'))}.vertical-timeline>ul>li .vt-icon-4{background:var(--icon-background, url('/images/drive2-100x100-c83ebba172.jpg'))}.vertical-timeline>ul>li .vt-icon-5{background:var(--icon-background, url('/images/chip3-100x100-57da6d797c.jpg'))}.vertical-timeline>ul>li .vt-icon-6{background:var(--icon-background, url('/images/chip-100x100-0809af1deb.jpg'))}.vertical-timeline>ul>li .vt-icon-7{background:var(--icon-background, url('/images/nebula-100x100-7fb2f05187.jpg'))}.vertical-timeline>ul>li .vt-icon-8{background:var(--icon-background, url('/images/logo-margin-white-098c93e296.svg'))}.vertical-timeline>ul>li .vt-icon-9{background:var(--icon-background, url('/images/logo-margin-white-098c93e296.svg'))}.vertical-timeline>ul>li h3{margin:0;background:var(--pill-background, #888);color:var(--pill-color, #fff);padding:.5rem;border-radius:var(--pill-radius, 3px);text-align:center;transform:translateY(6px);display:table;position:relative;box-shadow:var(--box-shadow-right, 2px 2px 4px rgba(0, 0, 0, 0.4))}.vertical-timeline>ul>li .vt-item{width:100%;float:left;color:var(--item-color, inherit);position:relative;padding:0 1.5rem 20px .5rem;margin-left:1rem}.vertical-timeline>ul>li .vt-item::after{content:"";position:absolute;top:-14px;left:-0.5rem;bottom:0;right:1rem;background:var(--item-background, #ddd);border-radius:var(--box-radius, 3px);z-index:-1;box-shadow:var(--box-shadow-right, 2px 2px 4px rgba(0, 0, 0, 0.4))}.vertical-timeline>ul>li .vt-head{display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center;margin-bottom:1rem}.vertical-timeline>ul>li .vt-pills{display:flex;flex-flow:row wrap;justify-content:flex-start}.vertical-timeline>ul>li .vt-pills>*{border-radius:var(--pill-radius, 3px);font-weight:bold;background:var(--pill-background, #888);color:var(--pill-color, #fff);margin:.25rem .25em 0 0;text-align:center;line-height:1.7em;padding:0 .425em;font-size:.85em}.vertical-timeline>ul>li .vt-body{position:relative}.vertical-timeline>ul>li summary{outline:none;list-style-position:inside;text-indent:-1em;padding-left:1em;font-weight:bold}.vertical-timeline>ul>li summary:hover{cursor:pointer}.vertical-timeline>ul>li h4{font-size:1.1em;margin:1rem 1rem .75rem 0}.vertical-timeline>ul>li p,.vertical-timeline>ul>li li{word-break:break-word;-webkit-hyphens:auto;hyphens:auto;margin:1rem .25rem 0 1rem}@media only screen and (min-width: 41.75em){.vertical-timeline>ul>li p,.vertical-timeline>ul>li li{word-break:unset;-webkit-hyphens:unset;hyphens:unset}}@media(min-width: 41.75em){.vertical-timeline>ul>li{padding-left:0}.vertical-timeline>ul>li .vt-icon{left:calc(50% - var(--icon-size, 50px)/2)}.vertical-timeline>ul>li .vt-item{right:0;margin-left:0;padding-right:.5rem;padding-left:1rem;width:calc(50vw - (var(--icon-size, 50px)/2 + var(--padding-horiz, 20px) + var(--icon-gap, 5px) + 0.5rem));max-width:calc(var(--max-width, 960px)/2 - (var(--icon-size, 50px)/2 + var(--padding-horiz, 20px) + var(--icon-gap, 5px) + 0.5rem))}.vertical-timeline>ul>li .vt-item::after{left:0;right:0}.vertical-timeline>ul>li:nth-child(even) .vt-item{float:right}.vertical-timeline>ul>li:nth-child(even) h3{margin:0 auto 0 50%;transform:translate(calc(var(--icon-size, 50px)/2 + var(--icon-gap, 5px)), 6px)}.vertical-timeline>ul>li:nth-child(odd) .vt-item::after{box-shadow:var(--box-shadow-left, -2px 2px 4px rgba(0, 0, 0, 0.4))}.vertical-timeline>ul>li:nth-child(odd) h3{margin:0 50% 0 auto;transform:translate(calc((var(--icon-size, 50px)/2 + var(--icon-gap, 5px)) * -1), 6px);box-shadow:var(--box-shadow-left, -2px 2px 4px rgba(0, 0, 0, 0.4))}}main.about{--pill-background: #002a52;--pill-color: var(--site-bg);--pill-radius: 0.4em}@media(prefers-color-scheme: dark){main.about{--pill-background: #87ceeb}}main.about .zag.sky::before{content:"";position:absolute;left:0;right:0;top:-10vw;bottom:-10vw;background-image:url('/images/ln-workbench-1024-size-38cb746fa0.jpg');background-size:cover;background-repeat:no-repeat;background-position:90% 0;transform:skewY(-8deg) rotateY(-180deg);filter:brightness(0.7)}@media(prefers-color-scheme: dark){main.about .zag.sky::before{filter:brightness(1.2)}}@media only screen and (min-width: 64em){main.about .zag.sky::before{background-image:url('/images/ln-workbench-1440-size-ff8620d728.jpg')}}@media only screen and (min-width: 90em){main.about .zag.sky::before{background-image:url('/images/ln-workbench-1920-size-b482314a29.jpg')}}@media only screen and (min-width: 120em){main.about .zag.sky::before{background-image:url('/images/ln-workbench-d0b82e4b6b.jpg')}}main.about .zag .inner{display:flex;flex-flow:column nowrap;justify-content:flex-end;align-items:center}main.about .zag .inner::after{content:"";min-height:9em;width:100%}main.about .zag h1{font-size:1.5em;position:relative;align-self:center;margin:revert;background:var(--site-bg);width:4em;height:4em;text-align:center;border-radius:50%;border:none;padding:1em;display:flex;flex-flow:column nowrap;justify-content:center;align-items:center}@media(prefers-color-scheme: dark){main.about .zag h1{border:1px solid var(--site-color)}}main.about .gfx-leader{position:absolute;top:6em;bottom:3.25em;left:calc(50% - 2.5px);border-radius:1rem;border-right:5px dashed hsl(0,0%,95.0392156863%)}main.about .gfx-leader::after{content:"";position:absolute;left:0;right:0;bottom:0;width:50px;height:50px;transform:translate(-22.5px, -10px) rotateZ(135deg);border-top:25px solid hsl(0,0%,95.0392156863%);border-right:25px solid hsl(0,0%,95.0392156863%);border-bottom:25px solid rgba(0,0,0,0);border-left:25px solid rgba(0,0,0,0)}main.about .gfx-ifc-1{position:absolute;z-index:-1;top:-5.2em;left:15%;bottom:96%;width:30%;border-radius:1rem;border-top:5px solid hsl(0,0%,95.0392156863%);border-left:5px solid hsl(0,0%,95.0392156863%)}@media(min-width: 1354px){main.about .gfx-ifc-1{width:85%}}main.about .gfx-ifc-1 .socket{position:absolute;left:-1.4em;top:2em;width:2.5em;height:2.5em;border-radius:50%;border:5px solid hsl(0,0%,95.0392156863%);clip-path:polygon(0 0, 100% 0, 100% 50%, 0 50%);background:#002a52}main.about .gfx-ifc-1 .ball{position:absolute;top:2.5em;left:-0.89em;width:1.5em;height:1.5em;background:hsl(0,0%,95.0392156863%);border-radius:50%}main.about .gfx-ifc-2{position:absolute;overflow:visible;top:5.2em;left:50%;right:1vw;bottom:8em;border-radius:1rem;border-top:5px dashed hsl(0,0%,95.0392156863%);border-right:5px dashed hsl(0,0%,95.0392156863%);border-bottom:5px dashed hsl(0,0%,95.0392156863%);clip-path:polygon(0 0, 100% 0, 100% calc(100% + 24px), calc(50% - 1em) calc(100% + 24px), calc(50% - 1em) 98%, 0 98%)}@media only screen and (min-width: 41.75em){main.about .gfx-ifc-2{top:6.2em;right:calc(50% - 17em)}}@media(min-width: 1354px){main.about .gfx-ifc-2{border-bottom:unset;right:calc(50% - 33.3em);clip-path:polygon(0 0, calc(100% + 32px) 0, calc(100% + 32px) calc(50% + 57px), 0 calc(50% + 57px))}}main.about .gfx-ifc-2 .arrow{position:absolute;bottom:-11px;right:calc(50% - 1.7rem);width:16px;height:16px;background:hsl(0,0%,95.0392156863%);transform:rotate(45deg);clip-path:polygon(0 0, 5px 0, 5px calc(100% - 5px), 100% calc(100% - 5px), 100% 100%, 0 100%)}@media(min-width: 1354px){main.about .gfx-ifc-2 .arrow{bottom:calc(50% - 1.3rem);right:-10px;transform:rotate(-45deg)}}main.about .gfx-ifc-2 .ball{position:absolute;bottom:-16px;right:calc(50% - .65em);width:1.5em;height:1.5em;background:hsl(0,0%,95.0392156863%);border-radius:50%}@media(min-width: 1354px){main.about .gfx-ifc-2 .ball{bottom:calc(50% - 54px);right:-0.9em}}main.about .gfx-ifc-2 .stem{position:absolute;bottom:4px;right:50%;width:5px;height:1.6rem;background:hsl(0,0%,95.0392156863%)}@media(min-width: 1354px){main.about .gfx-ifc-2 .stem{bottom:calc(50% - 42px);right:0;width:1.6rem;height:5px}}main.about .about-block{display:flex;flex-flow:row wrap;justify-content:center;align-items:stretch}main.about .about-card{margin:1rem;background:var(--site-bg);border-radius:1rem;position:relative;overflow:visible}@media only screen and (min-width: 41.75em){main.about .about-card{margin-right:2em}}@media(min-width: 1354px){main.about .about-card{margin-right:1rem}}main.about .about-card h2{margin-top:1rem;font-size:1.3em}main.about .about-card>*:first-child:not([class^=gfx]){margin-top:1rem}main.about .about-card>*:last-child{margin-bottom:1rem}main.about .about-card summary{outline:none}main.about .about-card summary h3{display:inline;margin:0}main.about .text-block{padding:0 1rem}@media(min-width: 400px){main.about .text-block{padding:1rem 1rem}}main.about .edu-list{list-style:none;padding:0;width:100%;margin:1rem auto 0}@media only screen and (min-width: 31.25em){main.about .edu-list{width:80%}}main.about .edu-list>li{display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:flex-start;margin-bottom:1em}main.about .edu-list .edu-detail span{display:block}main.about .edu-list .edu-detail .inst{font-size:.9em}main.about .edu-list .edu-detail ul{padding:.5rem 1.5rem 0}main.about .edu-list .time{border-radius:var(--pill-radius);border:1px solid var(--pill-background);font-weight:bold;padding:.2rem .5rem;margin-right:.5rem}main.about .inner.msggfx::after{content:"";min-height:9em;width:100%}main.about .featured-projects a{display:flex;flex-flow:row nowrap;align-items:center;justify-content:center}main.about .featured-projects a.hot{filter:drop-shadow(0px 0px 8px var(--site-link-focus))}main.about .featured-project-gfx{width:100%}main.about .a-links{display:flex;flex-flow:row wrap;justify-content:space-evenly;align-items:center;margin-bottom:1rem}main.about .a-links [aria-label=Timeline]{align-self:flex-start}@media only screen and (min-width: 31.25em){main.about .a-links{justify-content:flex-end}main.about .a-links a{margin-left:1rem}main.about .a-links.rev{justify-content:flex-start;margin-top:1rem}}main.about .svg-button{background:var(--site-bg);color:var(--site-color);border:1px solid var(--site-color);fill:var(--site-color);border-radius:100%;height:64px;width:64px;font-size:16px}main.about .svg-button .text{font-size:10px}main.about .svg-button.npm{padding:4px}main.about .svg-button.tl{font-size:14px;display:flex;flex-flow:column nowrap;justify-content:center;align-items:center}main.about .svg-button.tl span{position:relative;top:-5px}main.about .svg-button.tech{background:rgba(0,0,0,0);border:none;margin:.25rem}main.about .svg-button.edu{border-radius:inherit}main.about .timeline{position:relative;overflow:hidden;margin-bottom:0;margin-top:-25vw;padding:21vw 0 5vw 0;z-index:-1;display:flex;flex-flow:column nowrap;justify-content:flex-start;align-items:center;--max-width: 1354px;--item-background: var(--site-bg);--line-width: 5px;--line-color: #002a52;--box-radius: 1rem;--box-shadow-left: 0px 0px 5px rgba(0, 42, 82, 0.4);--box-shadow-right: 0px 0px 5px rgba(0, 42, 82, 0.4);--icon-size: 80px;--icon-shadow: 0px 0px 5px rgba(0, 42, 82, 0.4);--padding-horiz: 0.8em}@media(prefers-color-scheme: dark){main.about .timeline{--line-color: #87ceeb;--icon-shadow: 0px 0px 5px #87ceeb;--box-shadow-left: 0px 0px 5px #87ceeb;--box-shadow-right: 0px 0px 5px #87ceeb}}main.about .timeline .vertical-timeline>ul::before{top:-5em;right:50%;width:unset;background-color:rgba(0,0,0,0);border:var(--line-width) var(--line-color) solid;border-right:none;border-bottom:none;border-radius:1rem 0}@media only screen and (min-width: 41.75em){main.about .timeline .vertical-timeline>ul::before{width:var(--line-width);right:unset;background-color:var(--line-color);border:none;border-radius:inherit}}main.about .timeline .vertical-timeline>ul::after{content:"";position:absolute;left:calc(var(--icon-size)/2 - 1em);bottom:0;border-radius:50%;width:1.5em;height:1.5em;background:var(--line-color)}@media only screen and (min-width: 41.75em){main.about .timeline .vertical-timeline>ul::after{left:50%;margin-left:-0.75em}}main.about .timeline .detail-list{padding:0;padding-left:1.4rem}main.about .timeline h2{position:relative;z-index:1;margin:0;background:var(--site-bg);width:5em;height:5em;text-align:center;border-radius:50%;border:1px #002a52 solid;padding:1em;display:flex;flex-flow:column nowrap;justify-content:center;align-items:center}@media(prefers-color-scheme: dark){main.about .timeline h2{border:1px #87ceeb solid}}.safari-or-ios-webkit main.about .zag.sky::before{transform:skewY(-8deg) scale(-1, 1)}main section:only-of-type .inner .msg>h2{text-align:center}main.single .msggfx.inner{display:flex;flex-flow:column nowrap;justify-content:flex-end;align-items:center}main.single .msggfx .msg{display:flex;flex-flow:column nowrap;justify-content:flex-start;align-items:center;width:100%;flex:1 1 auto;padding:inherit}main.single .msggfx .gfx{flex:1 1 auto;align-self:flex-end;width:35%;margin-top:-10vw;padding-bottom:3em;padding-top:1em}main.single .zag.sky{position:relative;z-index:1;background:linear-gradient(to bottom, #87ceeb, #29A8DB 80%)}@media(prefers-color-scheme: dark){main.single .zag.sky{background:linear-gradient(rgba(27, 90, 127, 0.9) 0%, #091E2B 85%)}}main.single .zag.cut-bot{--y-dim: 56px;clip-path:polygon(0% 0%, 33% 3vw, calc(33% - 3vw) 0%, 67% 3vw, calc(67% - 3vw) 0%, 100% 3vw, 100% calc(100% - var(--y-dim)), 67% calc(100% - var(--y-dim) - 3vw), calc(67% + 3vw) calc(100% - var(--y-dim)), 33% calc(100% - var(--y-dim) - 3vw), calc(33% + 3vw) calc(100% - var(--y-dim)), 0% calc(100% - var(--y-dim) - 3vw))}main.single+.zag-follow{padding-top:30vw;margin-top:-30vw}.no-nav main.single+.zag-follow{padding-top:27vw}.nobrk{white-space:nowrap}.text-block-outer{background:var(--site-bg);width:100%;clip-path:polygon(0% 0%, 33% 1.5vw, calc(33% - 1.5vw) 0%, 67% 1.5vw, calc(67% - 1.5vw) 0%, 100% 1.5vw, 100% 100%, 67% calc(100% - 1.5vw), calc(67% + 1.5vw) 100%, 33% calc(100% - 1.5vw), calc(33% + 1.5vw) 100%, 0% calc(100% - 1.5vw))}.text-block-outer+.text-block-outer,.text-block-outer:first-of-type{margin-bottom:5vw}.text-block{padding:2rem;width:100%;margin:0 auto;line-height:1.5;overflow:hidden}@media only screen and (min-width: 34.25em){.text-block{width:31.25em}}.text-block>*{width:100%;margin-left:auto;margin-right:auto}@media only screen and (min-width: 41.75em){.text-block>*{width:90%}}.text-block p{max-width:52ch}html{font-size:16px}body{font-family:"Open Sans",sans-serif;font-display:swap;--site-color: #002a52;--site-fill: #002a52;--site-bg: rgb(242.35, 242.35, 242.35);--site-link-focus: #FF6333;--link-focus-light: greenyellow;color:var(--site-color);fill:var(--site-fill);margin:0;background:var(--site-bg)}@media(prefers-color-scheme: dark){body{--site-color: rgb(242.35, 242.35, 242.35);--site-fill: rgb(242.35, 242.35, 242.35);--site-bg: rgb(13.4134615385, 44.7115384615, 64.0865384615);--site-link-focus: greenyellow}}@media only screen and (min-width: 320px){body{font-size:calc(16px + 6*(100vw - 320px)/1600)}}@media only screen and (min-width: 1920px){body{font-size:22px}}a:focus,button:focus,summary:focus{filter:drop-shadow(0px 0px 8px var(--site-link-focus))}a:-moz-any-link{text-decoration:none;color:var(--site-color);fill:var(--site-fill);outline:0}a,a:visited,a:link,a:any-link{text-decoration:none;color:var(--site-color);fill:var(--site-fill);outline:0}main{position:relative;z-index:1}.cta-button-alt,.cta-button{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;position:relative;background:var(--site-bg);color:var(--site-color);border-color:var(--site-color);font-weight:bold;font-size:1.2em;width:4.5em;height:4.5em;transition:transform .1s;border-radius:50%;border-width:2px;border-style:solid;outline:none}.cta-button-alt a,.cta-button-alt span,.cta-button a,.cta-button span{color:var(--site-color)}.cta-button-alt.vlarge,.cta-button.vlarge{width:6em;height:6em}@media only screen and (min-width: 41.75em){.cta-button-alt.grow,.cta-button.grow{width:6.5em;height:6.5em}}.cta-button-alt.center,.cta-button.center{margin:.5em auto 0}.cta-button-alt:hover,.cta-button:hover{cursor:pointer}.cta-button{background:#d04030;border-bottom-color:#a81d11;border-right-color:#a81d11;border-top-color:#ddd;border-left-color:#ddd}.cta-button a,.cta-button span{color:hsl(0,0%,95.0392156863%)}@media(prefers-color-scheme: dark){.cta-button{border-bottom-color:hsl(37.5,57.1428571429%,26.6666666667%);border-right-color:hsl(37.5,57.1428571429%,26.6666666667%);border-top-color:#b83;border-left-color:#b83}}