*,*:after,*:before{box-sizing:inherit}html{box-sizing:border-box;font-size:62.5%}body{color:#3b3b3b;background-color:#fafafa;font-family:sofia-pro,Helvetica,serif;font-size:1.85em;font-weight:400;line-height:1.5em;letter-spacing:.5px}@media only screen and (max-width:768px){body{font-size:1.7em;line-height:1.6em}}a{text-decoration:none;font-weight:600;background:-webkit-linear-gradient(45deg,#6f47ed,#34c3d6);-webkit-background-clip:text;background-clip:text;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-text-fill-color:transparent;color:transparent}a:focus,a:hover{text-decoration:underline;text-decoration-thickness:1px}#button{text-align:center;font-family:sofia-pro,Helvetica,sans-serif;height:50px;width:auto;background:blue;color:#fff}.cl-effect-4::after{position:absolute;top:calc(100% + 3px);left:0;width:100%;height:4px;background:rgba(255,255,255,.5);content:"";opacity:0;-webkit-transition:opacity .3s,-webkit-transform .3s;-moz-transition:opacity .3s,-moz-transform .3s;transition:opacity .3s,transform .3s;-webkit-transform:translateY(10px);-moz-transform:translateY(10px);transform:translateY(10px)}.cl-effect-4:hover::after,.cl-effect-4:focus::after{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}p{margin:2rem 0}h1,h2,h3,h4,h5,h6{font-family:sofia-pro,Helvetica,sans-serif;font-weight:500;color:#000;margin:6.4rem 0 3.2rem}h1{font-size:4.2rem;line-height:4.6rem}@media only screen and (max-width:768px){h1{font-size:3rem;line-height:0}}.project-title{margin-left:1.5rem}@media only screen and (max-width:768px){.project-title{margin-left:0}}h2{font-size:2.8rem;line-height:3.2rem}@media only screen and (max-width:768px){h2{font-size:2.6rem;line-height:3rem}}h3{font-size:2.4rem;line-height:2.8rem}@media only screen and (max-width:768px){h3{font-size:2.2rem;line-height:2.6rem}}h4{font-size:2.2rem;line-height:2.6rem}@media only screen and (max-width:768px){h4{font-size:2rem;line-height:2.4rem}}h5{font-size:2rem;line-height:2.4rem}@media only screen and (max-width:768px){h5{font-size:1.8rem;line-height:2.2rem}}h6{font-size:1.8rem;line-height:2.2rem}@media only screen and (max-width:768px){h6{font-size:1.6rem;line-height:2rem}}b,strong{font-weight:600}.highlight>div,.highlight>pre{margin:0 0 2rem;padding:1rem;border-radius:1rem}pre{background-color:#e0e0e0!important;display:block;font-family:source code pro,lucida console,monospace;font-size:1.6rem;font-weight:400;line-height:2.6rem;overflow-x:auto;margin:0}pre code{display:inline-block;background-color:inherit;color:inherit}code{font-family:source code pro,lucida console,monospace;font-size:1.6rem;font-weight:400;background-color:#e0e0e0;color:#3b3b3b;padding:4px;padding-top:1px;border-radius:5px}blockquote{border-left:2px solid #e0e0e0;padding-left:2rem;line-height:2.2rem;font-weight:400;font-style:italic}th,td{padding:1.6rem}table{border-collapse:collapse}table td,table th{border:2px solid #000}table tr:first-child th{border-top:0}table tr:last-child td{border-bottom:0}table tr td:first-child,table tr th:first-child{border-left:0}table tr td:last-child,table tr th:last-child{border-right:0}img{width:100%}figure{text-align:center}.wrapper{display:flex;flex-direction:column;min-height:100vh;width:100%;background:#fafafa}.home-bg{background:linear-gradient(45deg,#6f47ed 0%,#6f47ed 21%,#655ce9 21%,#655ce9 30%,#5b70e5 30%,#5b70e5 35%,#5285e2 35%,#5285e2 51%,#489ade 51%,#489ade 72%,#3eaeda 72%,#3eaeda 81%,#34c3d6 81%,#34c3d6 100%)}.container{margin:0 auto;max-width:90rem;width:100%;padding-left:2rem;padding-right:2rem}.fab{font-weight:400;-webkit-text-fill-color:white}.fas{font-weight:300}.float-right{float:right}.float-left{float:left}img.emoji{height:1em;width:1em;margin:0 .05em 0 .1em;vertical-align:-.1em}.content{flex:1;display:flex;margin-top:1.6rem;margin-bottom:3.2rem}.content article header{margin-top:6.4rem;margin-bottom:3.2rem}.content article header h1{font-size:4.2rem;line-height:4.6rem;margin:0}@media only screen and (max-width:768px){.content article header h1{font-size:4rem;line-height:4.4rem}}.content article footer{margin-top:4rem}.content article footer .see-also{margin:3.2rem 0}.content article footer .see-also h3{margin:3.2rem 0}.content article p{text-align:left;text-justify:auto}.content .post .post-title{margin-bottom:.75em}.content .post .post-meta i{text-align:center;width:1.6rem;margin-left:0;margin-right:.5rem}.content .post .post-meta .date{font-family:sofia-pro,Helvetica,sans-serif;font-weight:400;font-size:.9em}.content .post .post-meta .date .posted-on{margin-left:0;margin-right:1.5rem;vertical-align:middle!important}.content .post .post-meta .date .reading-time{vertical-align:middle!important}@media only screen and (max-width:768px){.content .post .post-meta .date{font-size:.9em;margin-top:25px}.content .post .post-meta .date .posted-on{display:block}.content .post .post-meta .date .reading-time{display:block}}.content .post .post-meta .live-link,.content .post .post-meta .source-code{font-family:sofia-pro,Helvetica,sans-serif;font-weight:300;font-size:.9em;display:block}@media only screen and (max-width:768px){.content .post .post-meta .live-link,.content .post .post-meta .source-code{font-size:.9em}}.content figure{margin:0;padding:0}.content figcaption p{text-align:center;font-style:italic;font-size:1.6rem;margin:0}.avatar img{width:20rem;height:20rem;border-radius:50%;object-fit:cover}@media only screen and (max-width:768px){.avatar img{width:20rem;height:20rem}}.post img{border-radius:20px;box-shadow:rgba(149,157,165,.2)0 8px 24px}.list ul{margin:3.2rem 0 1.2rem;list-style:none;padding:0;display:grid;grid-template-columns:50% 50%}@media only screen and (max-width:768px){.list ul{grid-template-columns:100%!important}}.list ul li{font-size:1.8rem;font-family:sofia-pro,Helvetica,sans-serif;margin-bottom:3rem;margin-left:1.5rem;margin-right:1.5rem}.list ul li.project{float:left;box-shadow:rgba(149,157,165,.2)0 8px 24px;background-color:#fff;overflow:hidden;z-index:0;border-radius:20px}@media only screen and (max-width:768px){.list ul li.project{margin:1.6rem 0!important;width:100%!important}}.list ul li:hover .proj-cover{transform:scale(1.15)}.list ul li .proj-cover{z-index:-1;transition:transform .3s ease}.list ul li .proj-info{background-color:#fff;box-shadow:rgba(0,0,0,.25)0 -4px 8px -4px;margin-top:-8px;padding:15px;width:100%;z-index:2;position:relative}@media only screen and (max-width:768px){.list ul li .proj-info{width:auto}}.list ul li .date{display:inline-block;width:100%;text-align:left;margin-right:3rem;font-size:1.7rem}@media only screen and (max-width:768px){.list ul li .date{display:block;text-align:left}}.list ul li .title{font-size:2.1rem;font-weight:700;display:inline-block;line-height:initial}.list ul li .title:hover,.list ul li .title:focus{color:#1565c0}.centered{display:flex;align-items:center;justify-content:center}.centered .about{text-align:center}.centered .about h1{margin-top:2rem;margin-bottom:.5rem;color:#fff}.centered .about h2{margin-top:1rem;margin-bottom:.5rem;font-size:2.4rem;color:#fff}@media only screen and (max-width:768px){.centered .about h2{font-size:2rem;margin-top:1.8rem}}.centered .about ul{list-style:none;margin:3rem 0 1rem;padding:0}.centered .about ul li{display:inline-block;position:relative}.centered .about ul li a{color:#3b3b3b;text-transform:uppercase;margin-left:1rem;margin-right:1rem;font-size:1.6rem;color:#fff}@media only screen and (max-width:768px){.centered .about ul li a{font-size:1.4rem}}.centered .about ul li a i{font-size:3.2rem}.centered .error{text-align:center}.centered .error h1{margin-top:2rem;margin-bottom:.5rem;font-size:4.6rem}@media only screen and (max-width:768px){.centered .error h1{font-size:3.2rem}}.centered .error h2{margin-top:2rem;margin-bottom:3.2rem;font-size:3.2rem}@media only screen and (max-width:768px){.centered .error h2{font-size:2.8rem}}.navigation{height:6rem;width:100%}.navigation .container{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.navigation a,.navigation span{display:inline;font-size:1.7rem;font-family:sofia-pro,Helvetica,sans-serif;font-weight:500;line-height:6rem;color:#fff;background:0 0;-webkit-text-fill-color:white}@media only screen and (max-width:768px){.navigation a,.navigation span{color:#3b3b3b}}.navigation a:hover,.navigation a:focus{text-decoration:none}.navigation .cl-effect-3::after{position:absolute;top:calc(100% - 15px);left:.55em;width:100%;height:4px;background:rgba(255,255,255,.5);content:"";opacity:0;-webkit-transition:opacity .3s,-webkit-transform .3s;-moz-transition:opacity .3s,-moz-transform .3s;transition:opacity .3s,transform .3s;-webkit-transform:translateY(10px);-moz-transform:translateY(10px);transform:translateY(10px)}.navigation .cl-effect-3:hover::after,.navigation .cl-effect-3:focus::after{opacity:1;-webkit-transform:translateY(0);-moz-transform:translateY(0);transform:translateY(0)}.navigation .navigation-title{letter-spacing:.1rem;color:#fff}.navigation .navigation-list{list-style:none;margin-bottom:0;margin-top:0;padding:0}@media only screen and (max-width:768px){.navigation .navigation-list{position:absolute;top:6rem;right:0;z-index:5;visibility:hidden;opacity:0;padding:0;max-height:0;width:100%;background-color:#fafafa;border-top:solid 2px #e0e0e0;border-bottom:solid 2px #e0e0e0;transition:opacity .25s,max-height .15s linear}}.navigation .navigation-list .navigation-item{float:left;margin:0;margin-right:10px;position:relative}@media only screen and (max-width:768px){.navigation .navigation-list .navigation-item{float:none!important;text-align:center}.navigation .navigation-list .navigation-item a,.navigation .navigation-list .navigation-item span{line-height:5rem}}.navigation .navigation-list .navigation-item a,.navigation .navigation-list .navigation-item span{margin-left:2rem}.navigation .navigation-list .navigation-link{color:#fff;background:0 0;-webkit-text-fill-color:white}@media only screen and (max-width:768px){.navigation .navigation-list .navigation-link{color:#212121;background:0 0;-webkit-text-fill-color:#212121}}@media only screen and (max-width:768px){.navigation .navigation-list .menu-separator{border-top:2px solid #3b3b3b;margin:0 8rem}.navigation .navigation-list .menu-separator span{display:none}}.navigation #menu-toggle{display:none}@media only screen and (max-width:768px){.navigation #menu-toggle:checked+label{color:#e0e0e0}.navigation #menu-toggle:checked+label+ul{visibility:visible;opacity:1;max-height:100rem}}.navigation .menu-button{display:none}@media only screen and (max-width:768px){.navigation .menu-button{display:block;font-size:2.4rem;font-weight:400;line-height:6rem;color:#fff;cursor:pointer}}.pagination{text-align:center;margin:.2rem 0!important;font-family:sofia-pro,Helvetica,sans-serif;display:flex!important;justify-content:center;align-items:center}.pagination li{display:inline;text-align:center;font-weight:700;margin-bottom:0!important}.pagination li span{margin:0;text-align:center;width:3.2rem;font-size:2.4rem}.pagination li a{font-size:2rem}.pagination li a span{margin:0;text-align:center;width:3.2rem}.footer{width:100%;text-align:center;line-height:2rem;margin-bottom:1rem}.footer a{color:#1565c0}