html{font-size:16px;font-family:roboto,sans-serif;scroll-behavior:smooth;box-sizing:border-box;color:#212529}html body{margin:0}html *,html *::before,html *::after{box-sizing:inherit}@font-face{src:url(~assets/fonts/Roboto-Regular.woff)format("woff"),url(~assets/fonts/Roboto-Regular.ttf)format("ttf");font-family:roboto;font-weight:400;font-display:swap}@font-face{src:url(~assets/fonts/Roboto-Bold.woff)format("woff"),url(~assets/fonts/Roboto-Bold.ttf)format("ttf");font-family:roboto;font-weight:700;font-display:swap}.hrsvg{background-color:inherit;width:100%}.box{margin:20px 0 15px;background-color:#fff;box-shadow:0 2px 2px rgba(0,0,0,.3);padding:30px;width:60%;padding-top:15px;margin:auto;border:50px #fff}.box h1,.box h2,.box h3,.box h4,.box h5,.box h6{margin:10px 0 0}@media(max-width:1199px){.box{width:75%}}@media(max-width:767px){.box{padding:15px 20px;width:calc(100% - 40px);margin:20px auto 0;box-shadow:none}}.box .underline{width:180px;height:5px;background-color:#000;margin-bottom:10px;margin-top:2px}.card-container{display:grid;perspective:700px}.card-container__card-flip{display:grid;grid-template:1fr/1fr;grid-template-areas:"frontAndBack";transform-style:preserve-3d;transition:opacity,transform .7s ease}.card-container__card-front{transition:opacity .35s ease-in-out;opacity:1;background-color:#fff;grid-area:frontAndBack;pointer-events:none}.card-container__card-back{transition:opacity .35s ease-in-out;opacity:0;background-color:#fff;grid-area:frontAndBack;transform:rotateX(-180deg);pointer-events:none}.card-container:hover .card-container__card-flip,.card-container:focus-within .card-container__card-flip{transform:rotateX(180deg)}.card-container:hover .card-container__card-flip .card-container__card-front,.card-container:focus-within .card-container__card-flip .card-container__card-front{opacity:0}.card-container:hover .card-container__card-flip .card-container__card-back,.card-container:focus-within .card-container__card-flip .card-container__card-back{opacity:1;pointer-events:all}@media(hover:none)and (pointer:coarse){.card-container:hover .card-container__card-flip .card-container__card-back,.card-container:focus-within .card-container__card-flip .card-container__card-back{animation:disable-pointer-events .7s forwards}}@keyframes disable-pointer-events{0%,99%{pointer-events:none}}.call-to-action{display:flex;justify-content:center}.call-to-action a{display:flex;align-items:center;flex-direction:column;text-decoration:none;color:inherit}.call-to-action a span{font-size:1rem;margin-bottom:1rem;letter-spacing:.5rem;margin-right:-.5rem}.call-to-action a i{font-size:2rem;animation:bounce 3s infinite ease-in-out}@keyframes bounce{20%,100%{transform:translateY(0)}0%{transform:translateY(0)}10%{transform:translateY(10px)}}.language-bar{display:inline-flex;gap:.5rem}.language-bar>li{list-style-type:none}.terminal{color:#fff;font-family:monospace}.terminal .terminal__blurred{filter:blur(1.5px);display:flex;flex-direction:column;padding:.5rem;margin-bottom:25vh}.terminal .terminal__blurred__line{display:flex;text-wrap:nowrap}.terminal .terminal__blurred__line span:first-child{color:lime}.terminal .terminal__blurred__line .textfield{margin-left:.5rem}@media(max-width:767px){.terminal .terminal__blurred__line{font-size:.75rem}}.terminal .caret{background:#151b1b;color:transparent;filter:invert(1);animation:blink 1.5s infinite}.terminal .terminal__output hgroup{display:flex;justify-content:center;align-items:flex-end;text-wrap:nowrap}.terminal .terminal__output h1{margin:0;font-weight:400}.terminal .terminal__output .caret{position:relative;bottom:.25rem;left:.5rem}.terminal .terminal__output h1,.terminal .terminal__output .caret{font-size:2.5rem}@media(max-width:991px){.terminal .terminal__output h1,.terminal .terminal__output .caret{font-size:2rem}}@media(max-width:767px){.terminal .terminal__output h1,.terminal .terminal__output .caret{font-size:1.5rem}}@keyframes blink{0%,100%{filter:invert(1)}50%{filter:invert(0)}}.index__projects{background-color:#f5f5f5;padding-bottom:5rem}.index__projects__container{margin-top:5rem}.index__projects__list{padding:0;margin:0 auto;display:flex;flex-direction:column;gap:.5rem}.index__projects__list>li{list-style:none}.index__projects .card-container{margin:1rem auto;width:100%}.index__projects .card-container__card-front,.index__projects .card-container__card-back{padding:1rem;display:flex;flex-direction:row;flex:9;margin:0;width:100%}.index__projects .card-container__card-front img,.index__projects .card-container__card-back img{align-self:center;display:block;margin-right:1rem;max-width:15vw;max-height:15vh;object-fit:contain;width:150px;height:100%}.index__projects .card-container__card-front__content,.index__projects .card-container__card-back__content{flex:8}.index__projects .card-container__card-flip-icon{align-self:flex-end;color:#6c757d;animation:flip-icon-animation 2s infinite ease-in-out}@keyframes flip-icon-animation{0%,100%{transform:rotate(0)}25%,75%{transform:rotate(45deg)}}.index__projects .card-container__card-front__content{display:flex;flex-direction:column;justify-content:center;padding:1rem 0}.index__projects .card-container__card-front__content>:nth-child(1){margin:0;margin-bottom:.5rem;font-size:1.5rem}.index__projects .card-container__card-front__content>:nth-child(2){color:#495057;flex-grow:1}.index__projects .card-container__card-front__content>:nth-child(3){margin:.5rem 0;font-size:.9rem}@media(max-width:767px){.index__projects .card-container__card-front__content>:nth-child(3){display:none}}.index__projects .card-container__card-front__content>:nth-child(4){list-style:none;margin:0;padding:0;display:flex;column-gap:.5rem;flex-wrap:wrap}.index__projects .card-container__card-front__content>:nth-child(4) .language{white-space:nowrap}@media(max-width:767px){.index__projects .card-container__card-front__content>:nth-child(4){display:none}}.index__projects .card-container__card-back__content{width:100%;max-width:35vw;margin:0 auto;display:flex;gap:.5rem;flex-direction:row;justify-content:space-evenly;align-items:center;padding:0 1rem}.index__projects .card-container__card-back__content a{font-size:1.5rem;text-decoration:none;color:#6c757d;display:flex;flex-direction:column;align-items:center;transition:color .35s ease-in-out}.index__projects .card-container__card-back__content a i{margin-bottom:.5rem;font-size:3rem}.index__projects .card-container__card-back__content a:hover{color:#2d6cb5}@media(max-width:991px){.index__projects .card-container__card-back__content a{font-size:1.2rem}}@media(max-width:767px){.index__projects .card-container__card-back__content a{font-size:1rem}}.index__projects__call-to-action{margin-top:5rem}.index__contact{margin-bottom:5rem}.index__contact .hrsvg{background-color:#fff}.index__contact .hrsvg>svg{fill:#f5f5f5}.index__contact__intro{margin-bottom:0}.index__contact__split{display:flex;flex-direction:column;margin-top:30px}.index__contact__split__left{flex:1}.index__contact__split__left ul{list-style:none;padding:1rem;margin:0;display:grid;column-gap:1rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));row-gap:1.5rem}@media(max-width:767px){.index__contact__split__left ul{row-gap:1rem}}.index__contact__split__left ul li{font-size:.95rem;color:#8f8f8f;text-align:center}@media(max-width:767px){.index__contact__split__left ul li{text-align:left}}.index__contact__split__left ul li a{color:inherit;text-decoration:none;transition:color .35s ease-in-out}.index__contact__split__left ul li a:hover{color:#2d6cb5}.index__contact__split__right{flex:1;background:#fff;padding:1rem}.index__contact__split__right form{color:#5c5c5c}.index__contact__split__right form fieldset{border:0;padding:0;margin:0}.index__contact__split__right form fieldset:disabled{opacity:.6;pointer-events:none}.index__contact__split__right form fieldset label{display:block;margin-bottom:.35rem;font-size:.85rem;font-weight:700;color:#6c757d}.index__contact__split__right form fieldset input[type=text],.index__contact__split__right form fieldset input[type=email],.index__contact__split__right form fieldset textarea{display:block;width:100%;background:#f7f7f7;border:1px solid #dadada;padding:.68rem .85rem;border-radius:8px;font-size:.95rem;color:#0b1220;transition:border-color 160ms ease,box-shadow 160ms ease,transform 180ms ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.index__contact__split__right form fieldset textarea{min-height:25vh;resize:vertical;line-height:1.45}.index__contact__split__right form fieldset label+input,.index__contact__split__right form fieldset label+textarea{margin-bottom:.85rem}.index__contact__split__right form fieldset input:focus,.index__contact__split__right form fieldset textarea:focus{outline:none;border-color:#080a0a;transform:translateY(-1px);box-shadow:0 8px 20px rgba(21,27,27,.12)}.index__contact__split__right form fieldset button[type=submit]{display:inline-flex;align-items:center;justify-content:center;padding:.6rem .95rem;border-radius:8px;border:0;cursor:pointer;font-weight:700;font-size:.95rem;color:#fff;background:linear-gradient(180deg,#151b1b 0%,#080a0a 100%);transition:transform 120ms ease,box-shadow 160ms ease,filter 120ms ease}@media(max-width:767px){.index__contact__split__right form fieldset button[type=submit]{width:100%}}.index__contact__split__right form fieldset button[type=submit]:hover{transform:translateY(-2px);filter:brightness(1.04)}.index__contact__split__right form fieldset button[type=submit]:active{transform:translateY(0);box-shadow:0 6px 14px rgba(0,0,0,8%)}.index__contact__split__right form .pgp-notice{white-space:nowrap;margin-left:.85rem;font-size:.8rem;color:#767676}.index__contact__split__right form .form-status{margin-top:.75rem;min-height:1.2rem;font-size:.85rem;color:#767676}.index__contact__split__right form .form-status.is-error{color:#b42318}.index__contact__split__right form .form-status.is-success{color:#067647}.index__contact__split__right form .form-status--noscript{color:#828282}.index__contact__split__right.is-busy button[type=submit]{cursor:wait;opacity:.7}.index .index__head{background-color:#151b1b}.index .index__head .hrsvg{background-color:#fff}.index .index__head .hrsvg>svg{fill:#151b1b}.index .index__head__links{margin-top:1rem;display:flex;justify-content:center;align-items:center;font-size:1.5rem;gap:1rem}.index .index__head__links a{text-decoration:none;color:#fff;transition:color .3s ease,scale .3s ease}.index .index__head__links a:hover{color:#2d6cb5;scale:1.1}.index .index__head__call-to-action{color:#fff;margin-top:20vh}.index .index__about__call-to-action{margin-top:2rem}.index .index__about__content{text-align:justify}.index .index__about__content ul,.index .index__about__content ol{list-style-position:outside}.index .index__about__content blockquote>p{text-align:center;font-size:.75rem;color:#6c757d}.project__backlink{position:absolute;color:#fff;text-decoration:none;font-size:2rem;padding:1rem}.project__content__header{text-align:center;margin:0 auto}.project__content__body{margin-top:2rem;padding-top:0;width:80vw}.project__content__body:first-child{padding-top:1rem}.project__content__body:first-child img{padding-right:20px}.project__content__body:first-child h1{margin:24px 0 16px}.project__content__body hr:first-of-type{width:100%}.project__content__body img{max-width:100%;max-height:100%}