html{box-sizing:border-box;scroll-behavior:smooth}*,:after,:before{box-sizing:inherit}:root{--onyx:#3d3d3dff;--white:#ffffffff;--oxford-blue:#14213dff;--green-blue-crayola:#0789daff;--orange-web:#fca311ff;--crimson:#d7263dff;--lime-green:#00cc33ff;--alice-blue:#ecf6feff}body{color:#3d3d3dff;margin:0;padding:0;font-family:Roboto,sans-serif;font-family:Poppins,sans-serif;font-size:16px;line-height:1.5}body *{outline:0}.root{min-height:100vh;display:grid;grid-template-rows:1fr auto;grid-template-columns:100%}.about-section,.contact-section,.home-section{padding:0 25px}.back-to-top{z-index:5;margin:0;padding:0;fill:#006eb2;cursor:pointer;position:fixed;width:50px;bottom:30px;right:30px;transition:.5s;background-color:#e7f6ff;border-radius:100px}.back-to-top:hover{opacity:.8}.back-to-top:active{transform:translateY(20px);opacity:1}.section-header{color:#14213dff;color:#0789da;font-family:'Roboto Slab',serif;font-size:1.5em;margin-bottom:40px}.home-section{background:#fff;background:radial-gradient(circle,#fff 0,#f7f7f7 100%);width:100vw}.home-page{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;padding:150px 0}.home-section .intro{margin:0;padding:0}.home-section .main-title{font-family:'Roboto Slab',serif;color:#393939;color:#cb510a;line-height:1.3em;font-weight:700;font-size:4em;margin:0;padding:0}.period{border-radius:50%;padding:0;margin:0;position:absolute;z-index:5;transition:.3s;transition-timing-function:ease;transition-delay:50ms;transform:translate(5px,53px);width:10px;height:10px;background:linear-gradient(91deg,#ff0085,#006bff,#00ffeb);background-size:600% 600%;-webkit-animation:AnimationName 29s ease infinite;-moz-animation:AnimationName 29s ease infinite;animation:AnimationName 29s ease infinite}@-webkit-keyframes AnimationName{0%{background-position:0 18%}50%{background-position:100% 83%}100%{background-position:0 18%}}@-moz-keyframes AnimationName{0%{background-position:0 18%}50%{background-position:100% 83%}100%{background-position:0 18%}}@keyframes AnimationName{0%{background-position:0 18%}50%{background-position:100% 83%}100%{background-position:0 18%}}.home-section .subtitle{font-weight:700;font-size:1.5em;line-height:1.5;width:90%;margin:0;padding:0}.home-section .summary{margin:40px 0;padding:0;max-width:500px}.home-section .get-in-touch{font-family:Montserrat,sans-serif;text-decoration:none;text-align:center;width:140px;display:inline-block;margin-top:20px;padding:10px 15px;border-radius:3px;color:#fff;background-color:#0789da;border:1px solid #0789daaa;transition:.2s}.home-section .get-in-touch:active,.home-section .get-in-touch:hover{color:#0789da;background-color:#fff}.about-container{display:flex;justify-content:center;align-items:center;margin:auto}.about-section{margin:0;padding:100px 25px;display:flex;flex-direction:column;align-items:center;justify-content:center}.about-text{margin:0;padding:0;max-width:600px;display:flex;flex-direction:column}.avatar-with-laptop{margin-top:30px;width:200px}.about-section .tech-list{font-family:'Roboto mono',monospace;padding:0;list-style-type:none;display:grid;grid-gap:5px 20px;grid-template-columns:repeat(2,minmax(140px,200px))}.about-section .tech-list-item{color:#14213dff;font-size:.8em;display:flex;align-items:center}.about-section .tech-list-icon{font-size:.7em;padding-right:10px}.experience-section{margin:0;padding:100px 0;display:flex;flex-direction:column}.experience-section h3{color:#393939;margin-bottom:40px}.experience-section .jobs-list-panel{margin-bottom:20px}.experience-section .jobs-list-panel ul{list-style-type:none;margin:0;padding:0;display:flex;flex-direction:row;justify-content:center}.experience-section .jobs-list-panel ul .jobs-selector{position:absolute;padding:0;margin:0;width:95px;transform:translate(-47.5px,37px);transition:.5s;transition-timing-function:ease;transition-delay:50ms;border-bottom:2px solid #ff4500}.experience-section .jobs-list-panel ul li{margin:0;padding:0}.experience-section .jobs-list-panel ul li button{font-family:inherit;font-size:.9em;width:95px;display:inline-block;border:none;padding:10px 10px;margin:0;text-decoration:none;background:inherit;cursor:pointer;text-align:center;transition:transform 150ms ease;-webkit-appearance:none;-moz-appearance:none}.experience-section .jobs-list-panel ul li button.active{color:#ff4500;background:#fffdfc}.experience-section .jobs-list-panel ul li button:active,.experience-section .jobs-list-panel ul li button:focus,.experience-section .jobs-list-panel ul li button:hover{color:#ff4500;background:#fffdfc}.experience-section .jobs-list-description .job-description{display:none}.experience-section .jobs-list-description .active{display:inline-block}.portfolio-section{margin:0;padding:100px 25px;display:flex;flex-direction:column}.portfolio-section .project-description.odd h3{color:#393939;margin-bottom:40px}.portfolio-section img{width:85vw;object-fit:cover;height:350px;transition:.5s;transition-timing-function:ease;transition-delay:50ms;box-shadow:rgba(4,74,111,.7) 0 10px 30px -15px}.project-image-container{cursor:pointer;position:relative}.project-image-container:active .cover-image{transform:translate(0,0);opacity:0}.project-picture-1{z-index:2;position:absolute;transition-duration:.7s!important}.project-image-container:hover .cover-image{transform:translate(-100px,0);opacity:0}.project-image-container:active .project-picture-1{transform:translate(0,0)!important;opacity:1!important}.portfolio-section .mobile-image{z-index:3;width:160px;transform:translate(-500px,-35px);padding:5px;bottom:0;right:0;position:absolute;object-fit:contain;width:160px;transition:.5s;transition-timing-function:ease-in-out;transition-delay:50ms;box-shadow:rgba(4,74,111,.7) 0 10px 30px -15px;visibility:hidden}.cover-image{z-index:1;position:absolute;left:0;right:0;margin:auto;transform:translate(0,0);transition-duration:.5s;transition-timing-function:ease-in-out;transition-delay:1s}.portfolio-section .portfolio-item{padding:45px 0}.portfolio-section .project-description{display:flex;flex-direction:column;align-items:center;justify-content:center}.portfolio-section .project-description.odd{display:flex;flex-direction:column;text-align:right;align-items:center}.portfolio-section .project-description-text{position:absolute;transform:translateY(55px);width:80%;transition:.5s;transition-timing-function:ease;transition-delay:50ms;opacity:0;z-index:1}.portfolio-section .project-description-text p{font-family:Roboto,sans-serif;font-size:16px}.portfolio-section .project-tech-list{color:#14213dff;font-family:'Roboto Mono',monospace;border-top:1px solid rgba(255,177,149,.5);border-top:1px solid #006EB21f;margin-top:30px;padding:0;list-style-type:none;display:flex;flex-wrap:wrap}.portfolio-section .project-description.odd .project-tech-list{padding:0;list-style-type:none;display:flex;justify-content:flex-end}.portfolio-section .project-tech-list .project-tech-list-item{font-size:12px;padding-right:10px;padding-top:5px}.portfolio-section .project-description.odd .project-tech-list-item{font-size:12px;padding:0;padding-left:10px;padding-top:5px}.portfolio-section .project-links{margin-top:30px}.portfolio-section svg{padding:5px 10px 10px 0;margin-right:10px;width:30px}.portfolio-section svg:last-child{margin-right:0}.portfolio-section .project-description.odd svg{padding:5px 0 10px 10px;margin:0;margin-left:10px}.other-projs-header{text-align:center;color:#0789da!important;font-size:1rem;font-family:'Roboto Slab',serif;margin-top:80px;margin-bottom:20px}.other-proj-container{flex-shrink:0;display:grid;grid-auto-rows:1fr;grid-template-columns:repeat(1,minmax(300px,1fr));position:relative;margin-top:50px;max-width:800px;justify-content:center}.side-proj{position:relative;background-color:#fff;padding:30px;height:100%;box-shadow:rgba(4,74,111,.7) 0 10px 30px -15px;box-shadow:rgba(4,74,111,.4) 0 1px 20px -10px;box-shadow:0 20px 60px 0 rgba(0,0,0,.15);transform:translateY(0);transition-delay:50ms;transition:.3s cubic-bezier(0,1.8,1,1.8)}.side-proj:hover{transform:translateY(-20px)}.side-proj .header{font-size:1rem;margin:0;margin-bottom:25px}.side-proj .description{font-size:.8rem;padding-bottom:50px;margin-bottom:0}.side-proj .project-tech-list{position:absolute;border-top:1px solid #006EB21f;bottom:0;margin:0!important;padding-bottom:25px}.contact-section{margin:0;padding:100px 25px;display:flex;flex-direction:column;align-items:center;text-align:center}.contact-section .get-in-touch-text p{margin:5px}.contact-section form{margin-bottom:-20px;display:flex;flex-direction:column;align-items:center}.auth-input-field{position:relative;margin-top:30px}.auth-input{font-family:inherit;width:300px;font-size:16px;padding:15px 10px;border:none;border-bottom:solid 1px rgba(0,0,0,.1);background:#fff;box-sizing:border-box;transition:all .3s linear;color:#000}.auth-input::placeholder{font-size:13px}.auth-input-field label{background-color:#fff;font-size:12px;position:absolute;padding:0 10px;left:0;top:calc(5%);opacity:0;transition:all .3s ease}.auth-input-field .auth-input:not(:placeholder-shown){padding:30px 10px 10px 10px}.auth-input-field .auth-input:not(:placeholder-shown)+label{transform:translateY(-1px);color:#0789da;opacity:1}.auth-input-field .auth-input:hover{box-shadow:rgba(4,74,111,.3) 0 10px 30px -15px}.error::placeholder{color:#d7263dff;opacity:1}.error:-ms-input-placeholder{color:red}.error::-ms-input-placeholder{color:red}.auth-input:focus{border-bottom:solid 1.5px #0789da;outline:0}.contact-section .contact-submit{font-family:Montserrat,sans-serif;display:flex;align-items:center;justify-content:space-around;font-size:1em;cursor:pointer;width:150px;height:40px;margin-top:30px;padding:7px 12px;border-radius:3px;border:solid 1px #0789daff;color:#0789daff;background-color:#fff;transform:translate(0,0);transition:.2s;transition-timing-function:ease;transition-delay:50ms;opacity:1;z-index:2}.contact-section .contact-submit:hover{background-color:#ecf6feff}@media (hover:none){.contact-section .contact-submit:hover{border:solid 1px #0789daff;color:#0789daff;background-color:#fff}}.submit-loader{display:none;border:3px solid #f3f3f3;border-radius:50%;border-top:3px solid #0789daff;width:20px;height:20px;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.contact-section .sent{display:flex;justify-content:center;align-items:center;width:200px;padding:10px 0;border-radius:3px;border:solid 1px #16e424;color:#008009;background-color:#f9fff9;transform:translate(-60px,-68px);transition:.2s;transition-timing-function:ease;transition-delay:50ms;opacity:0;z-index:1}.sent span svg{display:block;width:20px;margin:0 10px 0 5px}.sent .text{margin:0 5px 0 10px}.sent-message{font-size:.9em;transform:translate(0,-50px);color:#008009;display:none}.contact-section .mail-to{margin:0;padding-bottom:20px;text-align:center;font-size:16px;line-height:2em}.contact-section .mail-to a{color:#3d3d3dff;text-decoration:none;padding:5px;box-shadow:inset 0 -2px 0 #0789daff;transition:all .2s ease-in-out}.contact-section .mail-to a:active,.contact-section .mail-to a:hover{color:#fff;box-shadow:inset 204px -2px 0 #0789daff}@media (hover:none){.contact-section .contact-submit:hover{border:solid 1px #0789daff;color:#0789daff;background-color:#fff}.contact-section .contact-submit:active{border:solid 1px #0789daff;color:#0789daff;background-color:#ecf6feff}.contact-section .mail-to a:hover{color:#3d3d3dff;box-shadow:inset 0 -2px 0 #0789daff}.contact-section .mail-to a:active{color:#fff;background-color:#0789daff;transition:0s}}.animate-message{-webkit-animation:animate-message .5s linear reverse both;animation:animate-message .5s linear reverse both}@-webkit-keyframes animate-message{0%{-webkit-transform:scale(1) rotateX(0);transform:scale(1) rotateX(0)}50%{-webkit-transform:scale(2.5) rotateX(-90deg);transform:scale(2.5) rotateX(-90deg)}100%{-webkit-transform:scale(1) rotateX(-180deg);transform:scale(1) rotateX(-180deg)}}@keyframes animate-message{0%{-webkit-transform:scale(1) rotateX(0);transform:scale(1) rotateX(0)}50%{-webkit-transform:scale(2.5) rotateX(-90deg);transform:scale(2.5) rotateX(-90deg)}100%{-webkit-transform:scale(1) rotateX(-180deg);transform:scale(1) rotateX(-180deg)}}footer{text-align:center;padding:50px 0 70px 0;background-color:#f3faff}footer svg{padding:10px 10px 10px 10px;max-width:40px}footer p{font-family:'Roboto Mono',monospace;font-size:12px}.home-avatar{width:60px}.nav-bar{display:flex;justify-content:space-between;align-items:center;position:fixed;width:100vw;height:90px;z-index:15;transition:.3s;transition-timing-function:ease;transition-delay:50ms}.nav-bar .hamburger,.nav-bar .home,.nav-bar .upper-nav-items{padding:0 30px}.nav-background{background-color:#fff;width:100vw;height:85px;position:fixed;top:0;z-index:7;transition:.3s;transition-timing-function:ease;transition-delay:50ms}.upper-nav-items{display:none}.upper-nav-items a,.upper-nav-items a:visited{color:#14213dff;text-decoration:none;padding:0 20px;transition:.3s}.upper-nav-items a:last-child{padding-right:0}.side-nav-items{display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#fcfeff;box-shadow:rgba(2,12,27,.3) 0 10px 30px -8px;position:fixed;width:0;height:100vh;right:0;margin-left:auto;overflow-x:hidden;transition:.2s;z-index:10;align-items:flex-start}.side-nav-items a,.side-nav-items a:visited{color:#14213dff;text-decoration:none;font-weight:700;padding:10px 100px 10px 100px;padding:10px auto 10px auto;margin:15px 0}.side-nav-items a:active,.side-nav-items a:hover{color:#42b3ff}.screen-fade{position:fixed;height:100vh;width:100vw;background-color:#14213dff;visibility:hidden;opacity:.3;box-shadow:rgba(2,12,27,.3) 0 10px 30px -8px}/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */.hamburger{padding:15px 15px;display:inline-block;cursor:pointer;transition-property:opacity,filter;transition-duration:.15s;transition-timing-function:linear;font:inherit;color:inherit;text-transform:none;background-color:transparent;border:0;margin:0;overflow:visible}.hamburger:hover{opacity:.7}.hamburger.is-active:hover{opacity:.7}.hamburger.is-active .hamburger-inner,.hamburger.is-active .hamburger-inner::after,.hamburger.is-active .hamburger-inner::before{background-color:#000}.hamburger-box{width:40px;height:24px;display:inline-block;position:relative}.hamburger-inner{display:block;top:50%;margin-top:-2px}.hamburger-inner,.hamburger-inner::after,.hamburger-inner::before{width:40px;height:4px;background-color:#000;border-radius:4px;position:absolute;transition-property:transform;transition-duration:.15s;transition-timing-function:ease}.hamburger-inner::after,.hamburger-inner::before{content:"";display:block}.hamburger-inner::before{top:-10px}.hamburger-inner::after{bottom:-10px}.hamburger--elastic .hamburger-inner{top:2px;transition-duration:275ms;transition-timing-function:cubic-bezier(.68,-.55,.265,1.55)}.hamburger--elastic .hamburger-inner::before{top:10px;transition:opacity 125ms 275ms ease}.hamburger--elastic .hamburger-inner::after{top:20px;transition:transform 275ms cubic-bezier(.68,-.55,.265,1.55)}.hamburger--elastic.is-active .hamburger-inner{transform:translate3d(0,10px,0) rotate(135deg);transition-delay:75ms}.hamburger--elastic.is-active .hamburger-inner::before{transition-delay:0s;opacity:0}.hamburger--elastic.is-active .hamburger-inner::after{transform:translate3d(0,-20px,0) rotate(-270deg);transition-delay:75ms}@media (min-width:500px){.about-section,.contact-section,.home-section{padding:0 50px}.portfolio-section{padding:100px 50px}.body-container{padding:0}}@media (min-width:650px){.color-selector{z-index:2;display:none;flex-direction:column;align-items:center;justify-content:center;position:fixed;bottom:50px;left:50px;width:60px;height:190px;background-color:#0ff;border-radius:50px}.color{display:inline-block;margin:10px 0;position:relative;width:45px;height:45px;border-radius:50px}.color-1{background-color:#31355b}.color-2{background-color:bisque}.color-3{background-color:#f0f8ff}.about-section,.contact-section,.home-section{padding:0 15vw}.period{transform:translate(8px,65px);width:15px;height:15px}.home-section .main-title{font-size:5em}.home-section .subtitle{font-size:2em}#contact .section-header,.about-container .section-header{padding-top:100px}.avatar-with-laptop{margin-top:30px;width:300px}.portfolio-section{align-items:center}.portfolio-section .section-header{color:#0789da;padding:0 50px;font-size:1.5em}.portfolio-section .portfolio-item{height:100%;padding:50px 0;width:100vw;display:flex;flex-direction:column;justify-content:center;align-items:center;border-bottom:1px dashed #ddd}.portfolio-section img{padding:5px;max-width:700px;height:auto}.portfolio-section .project-description-text{position:relative;display:flex;flex-direction:column;align-items:center}.portfolio-section .project-description.odd h3,.portfolio-section h3{font-family:'Roboto Slab',serif;color:#14213dff;font-size:1.2em;margin:50px 0 15px 0;padding-left:0}.project-description-text .summary{margin:0;max-width:600px;font-size:16px;text-align:center}.portfolio-section .project-tech-list{margin-top:30px}.portfolio-section .project-links{display:flex;justify-content:center;align-items:center;margin-top:0}.portfolio-section .project-links a{margin:0 5px}.portfolio-section .project-description.odd svg,.portfolio-section .project-links svg{padding:10px;margin:0;width:45px}.contact-section{text-align:center;align-items:center}footer{justify-self:center;padding:25px 0;background-color:#faebd7;background-color:#f3faff;margin:100px 0 0 0}.other-proj-container{grid-template-columns:repeat(2,minmax(300px,1fr))}}@media (min-width:800px){.home-section .main-title{font-size:6em}.home-section .subtitle{font-size:2.5em}.period{transform:translate(10px,77px);width:20px;height:20px}.hamburger{display:none}.side-nav-container{visibility:hidden;display:none}.screen-fade{display:none;visibility:hidden}.upper-nav-items{display:flex}.about-section{flex-direction:row;align-items:center;justify-content:space-between;width:100vw;max-width:2500px}.avatar-with-laptop{margin-left:10px}.about-text{width:400px}.name-and-email{display:flex}.name-and-email .auth-input{margin-right:20px;margin-left:20px;width:260px}.name-and-email .auth-input-field label{left:20px}#contact-message,#contact-subject{width:Calc(260px*2 + 40px)}}@media (min-width:850px){.portfolio-section .mobile-image{z-index:3;width:160px;transform:translate(-500px,-35px);padding:5px;bottom:0;right:0;position:absolute;object-fit:contain;width:160px;transition:.5s;transition-timing-function:ease-in-out;transition-delay:50ms;box-shadow:rgba(4,74,111,.7) 0 10px 30px -15px;visibility:visible}}@media (min-width:950px){.other-proj-container{grid-template-columns:repeat(3,minmax(300px,1fr));grid-template-columns:repeat(2,minmax(300px,1fr))}}@media (min-width:1000px){.home-section .main-title{font-size:7em}.home-section .subtitle{font-size:3em}.period{transform:translate(13px,90px);width:23px;height:23px}.about-text{width:500px}.portfolio-section img{padding:5px}.name-and-email{display:flex}.name-and-email .auth-input{margin-right:20px;margin-left:20px;width:325px}.name-and-email .auth-input-field label{left:20px}#contact-message,#contact-subject{width:Calc(325px*2 + 40px)}}@media (min-width:1200px){.other-proj-container{grid-template-columns:repeat(3,minmax(350px,1fr))}.about-section,.contact-section,.home-section{padding:0 18vw}.about-text{width:600px}}@media (min-width:1400px){.other-proj-container{grid-template-columns:repeat(3,minmax(350px,1fr));grid-template-columns:repeat(4,minmax(350px,1fr))}}@media only screen and (max-width:768px){.markov-repl-link{display:none}}.page-loader{z-index:300;position:fixed;height:100vh;width:100vw;background-color:#ff0;background:#fff;background:radial-gradient(circle,#fff 0,#f7f7f7 100%);display:flex;transition:1s}.loader-image{position:absolute;width:40px;height:40px;top:0;right:0;left:0;bottom:0;margin:auto;opacity:.7;animation:sk-chase 4.5s infinite linear both reverse}.sk-chase{width:50px;height:50px;position:relative;animation:sk-chase 2.5s infinite linear both;margin:auto}.sk-chase-dot{width:100%;height:100%;position:absolute;left:0;top:0;animation:sk-chase-dot 2s infinite ease-in-out both}.sk-chase-dot:before{content:'';display:block;width:25%;height:25%;background-color:#fff;background-color:#006eb2;border-radius:100%;animation:sk-chase-dot-before 2s infinite ease-in-out both}.sk-chase-dot:nth-child(1){animation-delay:-1.1s}.sk-chase-dot:nth-child(2){animation-delay:-1s}.sk-chase-dot:nth-child(3){animation-delay:-.9s}.sk-chase-dot:nth-child(4){animation-delay:-.8s}.sk-chase-dot:nth-child(5){animation-delay:-.7s}.sk-chase-dot:nth-child(6){animation-delay:-.6s}.sk-chase-dot:nth-child(1):before{animation-delay:-1.1s}.sk-chase-dot:nth-child(2):before{animation-delay:-1s}.sk-chase-dot:nth-child(3):before{animation-delay:-.9s}.sk-chase-dot:nth-child(4):before{animation-delay:-.8s}.sk-chase-dot:nth-child(5):before{animation-delay:-.7s}.sk-chase-dot:nth-child(6):before{animation-delay:-.6s}@keyframes sk-chase{100%{transform:rotate(360deg)}}@keyframes sk-chase-dot{100%,80%{transform:rotate(360deg)}}@keyframes sk-chase-dot-before{50%{transform:scale(.4)}0%,100%{transform:scale(1)}}.hidden{animation:fadeOut 1s;animation-fill-mode:forwards}@keyframes fadeOut{100%{opacity:0;visibility:hidden}}
