/*!bulma.io v0.9.3 | MIT License | github.com/jgthms/bulma*/.button{-moz-appearance:none;-webkit-appearance:none;align-items:center;border:1px solid transparent;border-radius:4px;box-shadow:0 0;display:inline-flex;font-size:.9375rem;height:2.5em;justify-content:flex-start;line-height:1.5;padding:calc(.5em - 1px)calc(.75em - 1px);position:relative;vertical-align:top}.button:active,.button:focus,.is-active.button{outline:none}.button,.file{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.content:not(:last-child),.message:not(:last-child),.subtitle:not(:last-child),.title:not(:last-child){margin-bottom:1.5rem}.image.is-16by9 img{bottom:0;left:0;position:absolute;right:0;top:0}.navbar-burger{-moz-appearance:none;-webkit-appearance:none;appearance:none;background:0 0;border:none;color:currentColor;font-family:inherit;font-size:1em}/*!minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css*/.navbar-burger,body,figure,h1,h2,h3,hr,html,li,p,ul{margin:0;padding:0}h1,h2,h3{font-size:100%;font-weight:400}ul{list-style:none}button{margin:0}html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}html{background-color:#fff;font-size:16px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;min-width:300px;overflow-x:hidden;overflow-y:scroll;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}article,figure,footer,header,section{display:block}body,button{font-family:Inter var,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}code{-moz-osx-font-smoothing:auto;-webkit-font-smoothing:auto;font-family:monospace}body{color:#444b50;font-size:1em;font-weight:400;line-height:1.618}a{color:#32802b;cursor:pointer;text-decoration:none}a:hover{color:#31363a}code{color:#da1039;font-size:.875em;font-weight:400;padding:.25em .5em}code,hr{background-color:#f4f5f5}hr{border:none;display:block;height:2px;margin:1.5rem 0}img{height:auto;max-width:100%}span{font-style:inherit;font-weight:inherit}@-webkit-keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes spinAround{0%{transform:rotate(0)}to{transform:rotate(359deg)}}.button{background-color:#fff;border-color:#dadcdd;border-width:1px;color:#31363a;cursor:pointer;justify-content:center;padding:calc(.5em - 1px)1em;text-align:center;white-space:nowrap}.button .icon{height:1.5em;width:1.5em}.button .icon:first-child:not(:last-child){margin-left:calc(-.5em - 1px);margin-right:.25em}.button .icon:last-child:not(:first-child){margin-left:.25em;margin-right:calc(-.5em - 1px)}.button .icon:first-child:last-child{margin-left:calc(-.5em - 1px);margin-right:calc(-.5em - 1px)}.button:hover{border-color:#b1b6b9;color:#31363a}.button:focus{border-color:#485fc7;color:#31363a}.button:focus:not(:active){box-shadow:0 0 0 .125em rgba(50,128,43,.25)}.button.is-active,.button:active{border-color:#444b50;color:#31363a}.button.is-warning{background-color:#ffe08a}.button.is-warning,.button.is-warning:hover{border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning:hover{background-color:#ffdc7d}.button.is-warning:focus{border-color:transparent;color:rgba(0,0,0,.7)}.button.is-warning:focus:not(:active){box-shadow:0 0 0 .125em rgba(255,224,138,.25)}.button.is-warning.is-active,.button.is-warning:active{background-color:#ffd970;border-color:transparent;color:rgba(0,0,0,.7)}.button.is-rounded{border-radius:9999px;padding-left:1.25em;padding-right:1.25em}.container{flex-grow:1;margin:0 auto;position:relative;width:auto}@media screen and (min-width:1024px){.container{max-width:960px}}@media screen and (min-width:1216px){.container:not(.is-max-desktop){max-width:1152px}}@media screen and (min-width:1408px){.container:not(.is-max-desktop):not(.is-max-widescreen){max-width:1344px}}.content li+li{margin-top:.25em}.content p:not(:last-child),.content ul:not(:last-child){margin-bottom:1em}.content h1,.content h2,.content h3{color:#31363a;font-weight:500;line-height:1.125}.content h1{font-size:2em;margin-bottom:.5em}.content h1:not(:first-child){margin-top:1em}.content h2{font-size:1.75em;margin-bottom:.5714em}.content h2:not(:first-child){margin-top:1.1428em}.content h3{font-size:1.5em;margin-bottom:.6666em}.content h3:not(:first-child){margin-top:1.3333em}.content ul{list-style:disc outside;margin-left:2em;margin-top:1em}.content ul ul{list-style-type:circle;margin-top:.5em}.content ul ul ul{list-style-type:square}.content figure{margin-left:2em;margin-right:2em;text-align:center}.content figure:not(:first-child){margin-top:2em}.content figure:not(:last-child){margin-bottom:2em}.content figure img{display:inline-block}.icon{align-items:center;display:inline-flex;justify-content:center;height:1.5rem;width:1.5rem}.image{display:block;position:relative}.image img{display:block;height:auto;width:100%}.image img.is-rounded{border-radius:9999px}.image.is-16by9 img{height:100%;width:100%}.image.is-16by9{padding-top:56.25%}@-webkit-keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes moveIndeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}.tags{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-start}.tags .tag{margin-bottom:.5rem}.tags .tag:not(:last-child){margin-right:.5rem}.tags:last-child{margin-bottom:-.5rem}.tags:not(:last-child){margin-bottom:1rem}.tags.is-centered{justify-content:center}.tags.is-centered .tag{margin-right:.25rem;margin-left:.25rem}.tag:not(body){align-items:center;background-color:#f4f5f5;border-radius:4px;color:#444b50;display:inline-flex;font-size:.875rem;height:2em;justify-content:center;line-height:1.5;padding-left:.75em;padding-right:.75em;white-space:nowrap}.tag:not(body).is-warning{background-color:#ffe08a;color:rgba(0,0,0,.7)}.tag:not(body) .icon:first-child:not(:last-child){margin-left:-.375em;margin-right:.1875em}.tag:not(body) .icon:last-child:not(:first-child){margin-left:.1875em;margin-right:-.375em}.tag:not(body) .icon:first-child:last-child{margin-left:-.375em;margin-right:-.375em}.tag:not(body).is-rounded{border-radius:9999px}a.tag:hover{text-decoration:underline}.subtitle,.title{word-break:break-word}.subtitle span,.title span{font-weight:inherit}.subtitle .tag,.title .tag{vertical-align:middle}.title{color:#31363a;font-size:1.75rem;font-weight:500;line-height:1.125}.title:not(.is-spaced)+.subtitle{margin-top:-1.25rem}.title.is-2{font-size:2.25rem}.title.is-4{font-size:1.5rem}.title.is-5{font-size:1.25rem}.title.is-6{font-size:.9375rem}.subtitle{color:#444b50;font-size:1.25rem;font-weight:400;line-height:1.25}.subtitle:not(.is-spaced)+.title{margin-top:-1.25rem}.subtitle.is-2{font-size:2.25rem}.subtitle.is-4{font-size:1.5rem}.subtitle.is-5{font-size:1.25rem}.subtitle.is-6{font-size:.9375rem}.file{align-items:stretch;display:flex;justify-content:flex-start;position:relative}.file.is-centered{justify-content:center}.card{background-color:#fff;border-radius:.25rem;box-shadow:0 .125rem .375rem rgba(0,0,0,.2);color:#444b50;max-width:100%;position:relative}.card-content:first-child,.card-footer:first-child{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-content:last-child,.card-footer:last-child{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-image{display:block;position:relative}.card-image:first-child img{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.card-image:last-child img{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.card-content{padding:1.5rem}.card-content,.card-footer{background-color:initial}.card-footer{border-top:1px solid #ededed;align-items:stretch;display:flex}.card-footer-item{align-items:center;display:flex;flex-basis:0;flex-grow:1;flex-shrink:0;justify-content:center;padding:.75rem}.card-footer-item:not(:last-child){border-right:1px solid #ededed}.message{background-color:#f4f5f5;border-radius:4px;font-size:.9375rem}.message a:not(.button):not(.tag):not(.dropdown-item){color:currentColor;text-decoration:underline}.message.is-warning{background-color:#fffaeb}.message.is-warning .message-header{background-color:#ffe08a;color:rgba(0,0,0,.7)}.message.is-warning .message-body{border-color:#ffe08a;color:#946c00}.message-header{align-items:center;background-color:#444b50;border-radius:4px 4px 0 0;color:#fff;display:flex;justify-content:space-between;line-height:1.25;padding:.75em 1em;position:relative}.message-header+.message-body{border-width:0;border-top-left-radius:0;border-top-right-radius:0}.message-body{border-radius:4px;border:solid #dadcdd;border-width:0 0 0 4px;color:#444b50;padding:1.25em 1.5em}.message-body code,.navbar{background-color:#fff}.navbar{min-height:3.25rem;position:relative;z-index:30}.navbar.is-warning{background-color:#ffe08a}.navbar.is-warning,.navbar.is-warning .navbar-brand>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-brand>a.navbar-item.is-active,.navbar.is-warning .navbar-brand>a.navbar-item:focus,.navbar.is-warning .navbar-brand>a.navbar-item:hover{background-color:#ffd970;color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-burger{color:rgba(0,0,0,.7)}@media screen and (min-width:1024px){.navbar.is-warning .navbar-end>.navbar-item,.navbar.is-warning .navbar-start>.navbar-item{color:rgba(0,0,0,.7)}.navbar.is-warning .navbar-end>a.navbar-item.is-active,.navbar.is-warning .navbar-end>a.navbar-item:focus,.navbar.is-warning .navbar-end>a.navbar-item:hover,.navbar.is-warning .navbar-start>a.navbar-item.is-active,.navbar.is-warning .navbar-start>a.navbar-item:focus,.navbar.is-warning .navbar-start>a.navbar-item:hover{background-color:#ffd970;color:rgba(0,0,0,.7)}}.navbar>.container{width:100%}.navbar-brand,.navbar>.container{align-items:stretch;display:flex;min-height:3.25rem}.navbar-brand{flex-shrink:0}.navbar-brand a.navbar-item:focus,.navbar-brand a.navbar-item:hover{background-color:initial}.navbar-burger{color:#444b50;cursor:pointer;display:block;height:3.25rem;position:relative;width:3.25rem;margin-left:auto}.navbar-burger span{background-color:currentColor;display:block;height:1px;left:calc(50% - 8px);position:absolute;transform-origin:center;transition-duration:86ms;transition-property:background-color,opacity,transform;transition-timing-function:ease-out;width:16px}.navbar-burger span:first-child{top:calc(50% - 6px)}.navbar-burger span:nth-child(2){top:calc(50% - 1px)}.navbar-burger span:nth-child(3){top:calc(50% + 4px)}.navbar-burger:hover{background-color:rgba(0,0,0,5%)}.navbar-burger.is-active span:first-child{transform:translateY(5px)rotate(45deg)}.navbar-burger.is-active span:nth-child(2){opacity:0}.navbar-burger.is-active span:nth-child(3){transform:translateY(-5px)rotate(-45deg)}.navbar-menu{display:none}.navbar-item{color:#444b50;display:block;line-height:1.5;padding:.5rem .75rem;position:relative}.navbar-item .icon:only-child{margin-left:-.25rem;margin-right:-.25rem}a.navbar-item{cursor:pointer}a.navbar-item.is-active,a.navbar-item:focus,a.navbar-item:focus-within,a.navbar-item:hover{background-color:#fafafa;color:#32802b}.navbar-item{flex-grow:0;flex-shrink:0}.navbar-item img{max-height:1.75rem}@media screen and (max-width:1023px){.navbar>.container{display:block}.navbar-brand .navbar-item{align-items:center;display:flex}.navbar-menu{background-color:#fff;box-shadow:0 8px 16px rgba(10,10,10,.1);padding:.5rem 0}.navbar-menu.is-active{display:block}}@media screen and (min-width:1024px){.navbar,.navbar-end,.navbar-menu,.navbar-start{align-items:stretch;display:flex}.navbar{min-height:3.25rem}.navbar-burger{display:none}.navbar-item{align-items:center;display:flex}.navbar-menu{flex-grow:1;flex-shrink:0}.navbar-start{justify-content:flex-start;margin-right:auto}.navbar-end{justify-content:flex-end;margin-left:auto}.container>.navbar .navbar-brand,.navbar>.container .navbar-brand{margin-left:-.75rem}.container>.navbar .navbar-menu,.navbar>.container .navbar-menu{margin-right:-.75rem}a.navbar-item.is-active{color:#0a0a0a}a.navbar-item.is-active:not(:focus):not(:hover){background-color:initial}}.column{display:block;flex-basis:0;flex-grow:1;flex-shrink:1;padding:.75rem}.columns.is-mobile>.column.is-offset-1{margin-left:8.33333337%}.columns.is-mobile>.column.is-2{flex:none;width:16.66666674%}.columns.is-mobile>.column.is-offset-2{margin-left:16.66666674%}.columns.is-mobile>.column.is-4{flex:none;width:33.33333337%}.columns.is-mobile>.column.is-5{flex:none;width:41.66666674%}.columns.is-mobile>.column.is-6{flex:none;width:50%}.columns.is-mobile>.column.is-8{flex:none;width:66.66666674%}@media screen and (max-width:768px){.column.is-6-mobile{flex:none;width:50%}}@media print,screen and (min-width:769px){.column.is-offset-1{margin-left:8.33333337%}.column.is-2{flex:none;width:16.66666674%}.column.is-offset-2{margin-left:16.66666674%}.column.is-4,.column.is-4-tablet{flex:none;width:33.33333337%}.column.is-5{flex:none;width:41.66666674%}.column.is-6,.column.is-6-tablet{flex:none;width:50%}.column.is-8{flex:none;width:66.66666674%}.column.is-10-tablet{flex:none;width:83.33333337%}.column.is-11-tablet{flex:none;width:91.66666674%}}@media screen and (min-width:1024px){.column.is-3-desktop{flex:none;width:25%}.column.is-4-desktop{flex:none;width:33.33333337%}.column.is-9-desktop{flex:none;width:75%}.column.is-10-desktop{flex:none;width:83.33333337%}}@media screen and (min-width:1216px){.column.is-8-widescreen{flex:none;width:66.66666674%}.column.is-9-widescreen{flex:none;width:75%}}@media screen and (min-width:1408px){.column.is-7-fullhd{flex:none;width:58.33333337%}.column.is-8-fullhd{flex:none;width:66.66666674%}}.columns{margin-left:-.75rem;margin-right:-.75rem;margin-top:-.75rem}.columns:last-child{margin-bottom:-.75rem}.columns:not(:last-child){margin-bottom:.75rem}.columns.is-centered{justify-content:center}.columns.is-mobile{display:flex}.columns.is-multiline{flex-wrap:wrap}@media print,screen and (min-width:769px){.columns:not(.is-desktop){display:flex}}.is-size-2{font-size:2.25rem!important}.is-size-4{font-size:1.5rem!important}.is-size-5{font-size:1.25rem!important}.has-text-centered{text-align:center!important}@media print,screen and (min-width:769px){.has-text-right-tablet{text-align:right!important}}.has-text-weight-normal{font-weight:400!important}.has-text-weight-bold{font-weight:700!important}.section{padding:3rem 1.5rem}@media screen and (min-width:1024px){.section{padding:3rem}}.footer{background-color:#fafafa;padding:3rem 1.5rem 6rem}html{background-color:#444b50}body{background-color:#fff}a{outline:1px solid transparent}.navbar{background-color:#31363a}.navbar a{color:#f4f5f5}a.card-footer-item,a:not(.navbar-item){color:#32802b;border-bottom:1px solid rgba(50,128,43,.25)}a.card-footer-item:focus,a.card-footer-item:hover,a:not(.navbar-item):focus,a:not(.navbar-item):hover{background-color:rgba(50,128,43,.1);outline:1px solid rgba(50,128,43,.1);color:#2a6d24}a.card-footer-item:active,a:not(.navbar-item):active{background-color:rgba(50,128,43,.2);outline:1px solid rgba(50,128,43,.2);color:#1c4718}a.navbar-item:focus,a.navbar-item:hover{background-color:#444b50;border-bottom:none;color:#fff}a.navbar-item:active{background-color:#272c2f;border-bottom:none;color:#dadcdd}.subtitle{padding-top:.4rem}.card-content{font-size:.9375rem}.card-content h2{font-size:1.5rem}.card-footer{background-color:#f4f5f5;border-top:none}.external-link:after{content:"↗";margin-left:.25rem;font-size:.85rem}@font-face{font-family:Inter var;font-weight:100 900;font-style:normal;font-named-instance:"Regular";font-display:swap;src:url(fonts/Inter-roman.var.woff2)format("woff2 supports variations(gvar)"),url(fonts/Inter-roman.var.woff2)format("woff2-variations"),url(fonts/Inter-roman.var.woff2)format("woff2")}@font-face{font-family:Inter var;font-weight:100 900;font-style:italic;font-named-instance:"Italic";font-display:swap;src:url(fonts/Inter-italic.var.woff2)format("woff2 supports variations(gvar)"),url(fonts/Inter-italic.var.woff2)format("woff2-variations"),url(fonts/Inter-italic.var.woff2)format("woff2")}@font-face{font-family:Inter var experimental;font-weight:100 900;font-style:oblique 0 10deg;font-display:swap;src:url(fonts/Inter.var.woff2)format("woff2-variations"),url(fonts/Inter.var.woff2)format("woff2")}.message-header,.navbar-brand{font-weight:700}.navbar-brand{color:#dadcdd}.navbar-burger,.navbar-burger.is-active{background-color:#444b50;border:none;color:#fff}.navbar-burger.is-active:focus,.navbar-burger.is-active:hover,.navbar-burger:focus,.navbar-burger:hover{background-color:#576066;color:#fff}.navbar-burger.is-active:active,.navbar-burger:active{background-color:#272c2f;color:#fff}.navbar-menu{background-color:#31363a}footer{font-size:.9375rem}footer a:not(.navbar-item){color:#fff;border-bottom:1px solid hsla(0,0%,100%,.25)}footer a:not(.navbar-item):focus,footer a:not(.navbar-item):hover{color:#fff;background-color:hsla(0,0%,100%,.11);outline:1px solid hsla(0,0%,100%,.11)}footer a:not(.navbar-item):active{background-color:hsla(0,0%,100%,.22);outline:1px solid hsla(0,0%,100%,.22)}.footer-about{color:hsla(0,0%,100%,.82);background-color:#31363a;padding-top:2rem;padding-bottom:1rem}.footer-about .title{color:hsla(0,0%,100%,.82);margin-bottom:1.25rem}.footer-description{margin-top:2rem;margin-bottom:2rem}.footer-copyright{background-color:#444b50;color:hsla(0,0%,100%,.82);padding-top:1rem;padding-bottom:1rem}ul.links{display:flex}.links li{display:inline-block}.links li:not(:last-of-type):after{content:"⋅";margin:0 .35rem}.section-home{background-color:#202427;color:#f4f5f5}.section-home .title{line-height:1.4;color:#f4f5f5}.home-subtitle{font-size:1.25rem;margin-top:2rem;margin-bottom:2rem;text-align:justify}.section-title{font-size:2.25rem;margin-bottom:4rem!important}.card-portfolio .subtitle{margin-bottom:1.75rem}.card-portfolio .card-image{background-color:#727c83}.section-thanks{background-color:#f4f5f5;padding-bottom:4rem}.articles .post-date{color:#727c83}.card-project .title{margin-bottom:2rem}.card-project .tags{margin-top:1.5rem}.project h1{text-align:center;font-size:2.5rem;padding-bottom:1rem}.project h2{border-bottom:.0625rem solid #e7e8e9;padding-bottom:.4rem}.content h2,.project h2{font-weight:500}.content h3{font-size:1.25rem;margin-top:2rem;margin-bottom:1.6rem}.content p{font-size:.9375rem;margin-top:2rem;text-align:justify}.content p,.content p:not(:last-child){margin-bottom:2rem}