*,*:before,*:after{box-sizing:border-box;transition:250ms}body{font-family:"Montserrat",sans-serif;color:#292b2c;line-height:1.5;font-weight:300}body .loading{animation:fadeIn 1.57s cubic-bezier(0.42, 0, 0.86, 0.46) forwards}body.noscroll{overflow:hidden}@keyframes fadeIn{from{opacity:0}to{opacity:1}}h1,h2{font-size:40px;text-transform:uppercase;margin-bottom:30px}@media(max-width: 47.99em){h1,h2{font-size:20px;text-align:center}}h1,h2,h3,h4,h5,h6{margin-top:0}a,a:visited{color:#0275d8;text-decoration:none}a:hover,a:visited:hover{text-decoration:underline}.container{max-width:100%}@media(max-width: 47.99em){.container{width:100%}}@media(min-width: 48em){.container{width:720px}}@media(min-width: 62em){.container{width:960px}}@media(min-width: 75em){.container{width:1170px;padding-right:15px;padding-left:15px}}.container{margin:0 auto}#page{margin-top:17%}#page div{padding:0}section{background-color:#fff;box-shadow:0 0 30px 0px rgba(0,0,0,.15)}@media(min-width: 62em){section{margin-left:40px}}.row{display:flex;justify-content:space-between}@media(max-width: 61.99em){.row{flex-direction:column}}.lazyload{opacity:0;transition:all 300ms ease-in-out}.lazyloaded{animation:fadein 1s cubic-bezier(0.76, 0.19, 0.66, 0.93);opacity:1}@keyframes fadein{from{opacity:0}to{opacity:1}}.video{width:100%;position:relative;padding-bottom:56.25%;padding-top:25px;height:0;background-color:#000;margin-bottom:10px;cursor:pointer}.video .hidden{display:none !important}.video img,.video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video button{position:absolute;top:50%;left:50%;z-index:1;padding:0;border:none;background-color:rgba(0,0,0,0);transform:translate(-50%, -50%);outline:none;display:none;cursor:pointer}.video button.initialized{display:block}.video button svg path:first-child{fill:#212121;fill-opacity:.8}.video button svg path:last-child{fill:#fff}.video:hover svg path:first-child{fill:red;fill-opacity:1}#header.scrolling,#header.no-js{background-color:#e1e9f4;background-image:linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);box-shadow:0 0 30px 0px rgba(0,0,0,.15)}#header{overflow:hidden;height:70px;position:fixed;z-index:10;top:0;width:100%;width:100vw}#header .row{height:100%}#header #logo{height:70px;padding-left:60px;display:flex;align-items:center;justify-content:center}#header #logo img{width:295px}@media(max-width: 61.99em){#header #logo{padding:0}}#header nav{display:flex;flex-grow:1;justify-content:flex-end;padding-left:15px;padding-right:45px}@media(max-width: 61.99em){#header nav{display:none}}#header nav .link{padding:0 30px;display:flex;align-items:center;height:100%;font-weight:800;font-size:15px;color:rgba(0,0,0,.8);text-transform:uppercase}#header nav .link:link,#header nav .link:visited,#header nav .link:active{text-decoration:none}#header nav .link:hover{text-decoration:none;background-color:rgba(248,253,255,.5);color:#555}#footer{margin-top:70px;background-color:#e1e9f4;background-image:url("/images/bg.jpg");background-position:bottom;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;height:350px;position:relative}@media(max-width: 47.99em){#footer{height:200px}}#footer .copy{position:absolute;bottom:10px;font-size:13px;width:100%;text-align:center;opacity:.6}#page.row{display:flex;justify-content:space-between}#page.row .profile-wrapper{width:25%}@media(max-width: 61.99em){#page.row .profile-wrapper{width:100%}}#page.row #main{width:75%}@media(max-width: 61.99em){#page.row #main{width:100%}}.landing-image{position:absolute;top:0;width:100%;height:80%;background-color:#a1aebf;background-image:url("/images/bg.jpg");background-position:top center;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;z-index:-1}@media(min-width: 75em){.landing-image{height:500px}}#profile{background-color:#fff;margin-bottom:30px;box-shadow:0 0 18px 0px rgba(0,0,0,.3)}@media(max-width: 61.99em){#profile{margin:60px 15px}}@media(min-width: 75em){#profile{position:relative}}#profile .colorized{display:flex;flex-direction:column;align-items:center;background-color:#e1e9f4;padding:30px 0;padding-bottom:15px;background-image:linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%)}#profile .colorized .photo{text-align:center}#profile .colorized .photo img{display:none}#profile .colorized .photo img[src]{display:block;width:200px;height:200px;border-radius:50%}#profile .colorized .name{margin-top:20px;margin-bottom:5px;font-weight:800;font-size:25px;text-align:center;line-height:30px}@media(min-width: 75em){#profile .colorized .name{font-size:23px}}@media(min-width: 62em)and (max-width: 74.99em){#profile .colorized .name{font-size:20px}}#profile .colorized .description{font-size:25px;font-size:15px;color:#555}#profile .colorized .social{width:100%;display:flex;justify-content:center}#profile .colorized .social a{color:#333;padding:15px;margin-top:5px}#profile .colorized .social a:hover{text-decoration:none;color:#777}#profile .resume{display:flex;text-transform:uppercase;justify-content:center;align-items:center;height:90px}#profile .resume .resume-btn{background-color:#333;padding:15px 30px;border-radius:30px;display:block;color:#fff;text-align:center}#profile .resume .resume-btn:hover{text-decoration:none;background-color:#555}@media(min-width: 48em){#profile .resume .resume-btn{text-decoration:none;font-size:17px;width:100%;margin:15px}#profile .resume .resume-btn:hover{letter-spacing:2px}}#about{margin-bottom:30px;padding:40px}#about .aboutme{letter-spacing:.8px;word-spacing:2px}#about .line{height:1px;width:100%;background-color:rgba(0,0,0,.1);box-shadow:0 0 10px 0px rgba(0,0,0,.1);margin:50px 0}#about .info .row{margin:15px}@media(min-width: 48em)and (max-width: 61.99em){#about .info .row{flex-direction:row;text-align:center}}#about .info .column{width:100%}#about .info .column h3{font-weight:800;text-transform:uppercase;letter-spacing:2px;word-spacing:4px}@media(min-width: 62em){#about .info .column h3{font-size:20px;margin-bottom:30px}}@media(max-width: 61.99em){#about .info .column h3{text-align:center;font-size:15px;margin-bottom:10px}}#about .info .column .text{margin-bottom:5px}#about .info .column .text .personal-field{font-weight:800}@media(min-width: 992px){#about .info .column:last-child{padding-left:30px}#about .info .column:first-child{padding-right:30px}}#skills{margin-top:70px;padding:50px}#skills h2{text-align:center}#skills .skills h3{font-size:22px;letter-spacing:3px;margin-top:40px}@media(max-width: 768px){#skills .skills h3{font-size:18px;text-align:center}}#skills .skills .category{display:flex;flex-wrap:wrap}@supports not (flex-wrap: wrap){#skills .skills .category{display:block;text-align:center}}@supports not (flex-wrap: wrap){#skills .skills .category .skill{display:inline-block}}#skills .skills .category .skill{padding:20px;flex-grow:1;user-select:none}#skills .skills .category .skill div{text-align:center}#skills .skills .category .skill .title{font-size:15px;letter-spacing:.8px}#skills .skills .category .skill .icon{height:80px}#skills .skills .category .skill .icon svg{width:70px}#opensource{margin-top:70px;padding:50px;text-align:center}@media(min-width: 48em){#opensource .row{flex-direction:row}}#opensource .groups{border:solid 1px #bbb;display:inline-block;overflow:hidden;margin-top:10px;margin-bottom:15px;border-radius:15px}@media(max-width: 47.99em){#opensource .groups{display:block}}#opensource .groups.no-js{display:none}#opensource .groups input[type=radio]{position:absolute;visibility:hidden;display:none}#opensource .groups label{color:#888;background:#eee;cursor:pointer;font-weight:bold;font-size:.9em;letter-spacing:3px;text-transform:uppercase;padding:10px 40px;margin:0;margin-left:-5px;user-select:none;display:inline-block}#opensource .groups label:hover,#opensource .groups label:focus{background-color:#e5e5e5}@media(max-width: 47.99em){#opensource .groups label{display:block}}@media(max-width: 74.99em){#opensource .groups label{padding:10px 30px}}#opensource .groups input[type=radio]:checked+label{color:#333;background:#fff}#opensource .groups input[type=radio]:checked+label:hover,#opensource .groups input[type=radio]:checked+label:focus{background-color:#e1e9f4}#opensource .groups label+input[type=radio]+label{border-left:solid 1px #bbb}#opensource .works{user-select:none;flex-wrap:wrap}@supports not (flex-wrap: wrap){#opensource .works{display:block}}@media(max-width: 47.99em){#opensource .works{margin-top:60px}}#opensource .works .work{width:50%}@supports not (flex-wrap: wrap){#opensource .works .work{display:inline-block;width:47%}}#opensource .works .work{padding:10px;outline:none;transition:all 300ms ease-in-out}@media(max-width: 47.99em){#opensource .works .work{width:100%}}#opensource .works .work.hidden{visibility:hidden;margin:0;padding:0;opacity:0;width:0;height:0}#opensource .works .work .work-wrapper{position:relative;overflow:hidden;width:99%;height:100%;box-shadow:0 0 10px 0px rgba(0,0,0,.2);height:275px}#opensource .works .work .work-wrapper>a{display:none}#opensource .works .work .work-wrapper>a.no-js{display:block;position:absolute;width:100%;height:100%;z-index:300;top:0;left:0}#opensource .works .work .image{min-height:60px;background-color:#ccc;background-repeat:no-repeat;background-position:center center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' stroke='%23fff'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2' transform='translate(1 1)'%3E%3Ccircle cx='18' cy='18' r='18' stroke-opacity='.5'/%3E%3Cpath d='M36 18c0-9.94-8.06-18-18-18'%3E%3CanimateTransform attributeName='transform' dur='1s' from='0 18 18' repeatCount='indefinite' to='360 18 18' type='rotate'/%3E%3C/path%3E%3C/g%3E%3C/svg%3E");height:100%}#opensource .works .work .image img{width:100%;position:absolute;top:0;left:0;transition:top 1s ease-in-out;object-fit:cover}#opensource .works .work:hover .overlay,#opensource .works .work:focus .overlay{visibility:visible;opacity:1}#opensource .works .work:hover .overlay .title,#opensource .works .work:focus .overlay .title{bottom:0%}#opensource .works .work:hover .image img,#opensource .works .work:focus .image img{top:-100%}#opensource .works .work .overlay{height:100%;width:100%;position:absolute;top:0;left:0;background-color:hsla(0,0%,100%,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;visibility:hidden;opacity:0}#opensource .works .work .overlay .title{position:absolute;letter-spacing:1px;bottom:-100%;text-align:left;width:100%;padding:10px;font-size:1.1em;font-weight:600;background-image:linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);opacity:.9;left:0}#opensource .works .work.short .image img{height:100%;left:50%;transform:translateX(-50%)}#opensource .works .work.short:hover .image img,#opensource .works .work.short:focus .image img{top:0}#opensource .github-button{background-color:#e1e9f4;color:#292b2c;display:block;padding:15px 10px;width:100%;margin-top:15px;font-size:18px;letter-spacing:2px;text-decoration:none;font-weight:800;text-transform:uppercase}#opensource .github-button:hover{background-color:#d0d8e3;letter-spacing:5px}#contact{margin-top:70px;padding:50px}#contact h2{margin-bottom:20px}#contact .contact .row>*{width:100%}#contact .contact .row{margin:0;margin-top:15px}#contact .contact .text{font-size:18px;letter-spacing:.8px}#contact .contact .contact-form .input-field{margin-bottom:10px}#contact .contact .contact-form .input-field input,#contact .contact .contact-form .input-field textarea{border:0;font-family:"Montserrat",sans-serif;font-size:18px;width:100%;padding:7px;resize:none;background-color:#eee}#contact .contact .contact-form .input-field input[type=submit]{padding:15px;cursor:pointer;background-color:#e1e9f4;font-weight:800;font-size:18px;color:rgba(0,0,0,.8);text-transform:uppercase;letter-spacing:2px}#contact .contact .contact-form .input-field input[type=submit]:hover{background-color:#d0d8e3;letter-spacing:5px}.modal{transition:all 500ms ease-in-out;visibility:hidden;opacity:0;z-index:1001;width:100%;justify-content:center;align-items:center;position:fixed;padding:8vh 0;background-color:rgba(0,0,0,.6);height:100%;overflow-y:auto;top:0}.modal.show{visibility:visible;opacity:1}.modal.show .modal-wrapper{transform:translateY(0)}.modal .close{z-index:1002;position:fixed;top:0;right:0;font-size:30px;padding:10px 15px;color:#ccc;cursor:pointer}.modal .close:hover,.modal .close:focus{color:#fff}@media(min-width: 62em){.modal .close{margin-right:30px}}@media(max-width: 47.99em){.modal .close{position:relative;text-align:center;margin-bottom:10px}}.modal .modal-wrapper{transition:all 1s cubic-bezier(0.66, 1, 1, 1);transform:translateY(100%);padding:40px;background-color:#fff}.modal .modal-wrapper .container{padding:0}@media(max-width: 47.99em){.modal .modal-wrapper .row{flex-direction:column-reverse}}@media(min-width: 48em){.modal .modal-wrapper .row{flex-direction:row}}.modal .modal-wrapper .screenshot{width:66%;margin-right:15px}.modal .modal-wrapper .screenshot .image{min-height:60px;background-color:#ccc;background-repeat:no-repeat;background-position:center center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' stroke='%23fff'%3E%3Cg fill='none' fill-rule='evenodd' stroke-width='2' transform='translate(1 1)'%3E%3Ccircle cx='18' cy='18' r='18' stroke-opacity='.5'/%3E%3Cpath d='M36 18c0-9.94-8.06-18-18-18'%3E%3CanimateTransform attributeName='transform' dur='1s' from='0 18 18' repeatCount='indefinite' to='360 18 18' type='rotate'/%3E%3C/path%3E%3C/g%3E%3C/svg%3E");margin-bottom:6px}@media(max-width: 47.99em){.modal .modal-wrapper .screenshot{width:100%}}.modal .modal-wrapper .screenshot img{width:100%;margin-bottom:-6px}.modal .modal-wrapper .screenshot .title{margin-bottom:20px;font-size:.8em;color:#666;text-align:center}.modal .modal-wrapper .sidebar{width:33%;margin:0 15px}@media(max-width: 47.99em){.modal .modal-wrapper .sidebar{width:100%}}.modal .modal-wrapper .sidebar .title{font-size:21px;font-weight:800;letter-spacing:2px;line-height:23px;margin-bottom:20px}.modal .modal-wrapper .sidebar .description{color:#555;margin-bottom:20px}.modal .modal-wrapper .sidebar .link{width:100%}.modal .modal-wrapper .sidebar .link .link-btn{display:flex;align-items:center;justify-content:space-between;background-color:#e1e9f4;color:#333;padding:10px 20px;width:100%;font-weight:800;text-decoration:none;text-transform:uppercase;font-size:15px;margin-bottom:10px}.modal .modal-wrapper .sidebar .link .link-btn:hover{background-color:#ccc;text-decoration:none}@media(max-width: 47.99em){.modal .modal-wrapper .sidebar .link .link-btn{padding:10px}}.modal .modal-wrapper .sidebar .tags{display:flex;flex-wrap:wrap;margin-left:-5px;margin-top:15px}.modal .modal-wrapper .sidebar .tags .tag{background-color:#333;color:#fff;padding:7px 12px;border-radius:15px;margin:4px 3px;font-size:10px;letter-spacing:1px;font-weight:800;text-transform:capitalize}.modal .modal-wrapper .sidebar .tags{margin-bottom:20px}
