*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#1f1e1e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}@-webkit-keyframes shimmer{to{-webkit-mask-position:left}}@keyframes shimmer{to{-webkit-mask-position:left}}@-webkit-keyframes slideup{0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideup{0%{opacity:0;-webkit-transform:translateY(50px);transform:translateY(50px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.shimmer{-webkit-animation:shimmer 4s infinite;animation:shimmer 4s infinite;background-repeat:no-repeat;display:inline-block;-webkit-mask:linear-gradient(-60deg,#000 30%,#0005,#000 70%) right/300% 100%;mask:linear-gradient(-60deg,#000 30%,#0005,#000 70%) right/300% 100%}.app_nav_container{background-color:#232323;padding-bottom:6px;position:fixed;text-align:right;width:100%;z-index:2}.body_container{scroll-snap-stop:always}.app_body_wrapper,.app_contact_wrapper,.app_skills_wrapper{background-image:linear-gradient(to bottom left,#181818,#282828)}.aboutme,.app_resume_wrapper{background-image:linear-gradient(to top right,#181818,#282828)}.aboutme{align-items:left;display:flex;min-height:600px;position:relative}@media (min-width:768px){.aboutme{min-height:100svh}}.aboutme_background_hello{display:flex;justify-content:end;padding-top:20px}p.background_hello{color:rgba(75,73,73,.322);display:flex;font-size:250px;font-weight:800;height:100%;justify-content:end;position:relative;width:100%;z-index:0}.aboutme_container{color:#cacaca;display:flex;flex:1 1;flex-direction:column;font-size:3ch;justify-content:flex-end;padding:0 1rem;z-index:1}.aboutme_wrapper{z-index:inherit}.aboutme_dev_wrapper,.aboutme_wrapper{font-family:Courier New,Courier,monospace}@media only screen and (min-width:768px) and (max-width:1068px){p.background_hello{font-size:180px}}@media only screen and (min-width:620px) and (max-width:767px){p.background_hello{font-size:140px}}@media only screen and (min-width:431px) and (max-width:619px){p.background_hello{font-size:100px}}@media only screen and (max-width:430px){p.background_hello{font-size:60px}.aboutme_wrapper{font-size:20px}.aboutme_dev_wrapper{font-size:20px;padding-bottom:100px}}.aboutme__svg_container{position:absolute;width:100%;z-index:0}.aboutme_resume_wrapper{padding-top:24px;position:relative;z-index:1}.aboutme_resume_btn{border:1px solid #47ff00;border-radius:4px;color:#47ff00;display:inline-block;font-family:Courier New,Courier,monospace;font-size:14px;padding:10px 22px;text-decoration:none;transition:background-color .2s,color .2s}.aboutme_resume_btn:hover{background-color:#47ff00;color:#181818}.body{display:flex;flex-direction:column;min-height:600px;position:relative}@media (min-width:768px){.body{min-height:100svh}}.body_portfolio_background{color:rgba(75,73,73,.322);font-size:250px;font-weight:800;padding:30px 0 0 15px;pointer-events:none;position:absolute;z-index:0}.body_reveal{align-items:center;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:slideup;animation-name:slideup;display:flex;flex:1 1}.body_reveal_inactive{opacity:0}.page_body_container{box-sizing:border-box;margin:0 auto;max-width:1400px;padding:60px 0;position:relative;width:90%;z-index:1}.body_wrapper{width:100%}.body_content{align-items:flex-start;display:flex;gap:40px}.info{flex:1 1;min-width:0;padding-bottom:40px;position:-webkit-sticky;position:sticky;top:60px;transition:opacity .2s ease}.info>*{-webkit-animation:fadeIn .2s ease;animation:fadeIn .2s ease}.placeholder{color:#f2eee9;font-family:Lucida Console,Courier,monospace;font-size:larger}.body_items{grid-gap:20px;display:grid;flex:0 0 auto;gap:20px;grid-template-columns:repeat(2,300px);list-style:none;margin:0;padding-left:0}.projects_item{display:flex}.projects_item_link{background-color:#000;border-radius:6px;display:flex;flex-flow:column;overflow:hidden;text-decoration:none;width:100%}.projects_item_pic-wrap{overflow:hidden;padding-top:60%;position:relative;width:100%}.projects_item_pic-wrap:after{bottom:0;box-sizing:border-box;color:#fff;content:attr(data-category);font-size:12px;font-weight:700;margin-left:10px;max-width:calc(100% - 60px);padding:6px 8px;position:absolute}.projects_item_img{bottom:0;cursor:pointer;display:block;height:100%;left:0;object-fit:cover;position:absolute;right:0;top:0;transition:-webkit-transform .2s linear;transition:transform .2s linear;transition:transform .2s linear,-webkit-transform .2s linear;width:100%}.projects_item_img:hover{-webkit-transform:scale(1.06);transform:scale(1.06)}.projects_item_info{padding:14px 16px 12px}.projects_item_text{align-items:center;color:#a4a4a4;cursor:pointer;display:flex;font-family:Lucida Console,Courier,monospace;font-size:15px;line-height:22px}.projects_item_open_icon{flex-shrink:0;margin-left:8px}.InvisibleTreehouseBio{color:#f2eee9;font-family:Lucida Console,Courier,monospace}.InvisibleTreehouseBio_title{font-size:40px;font-weight:800;line-height:1.2;margin-bottom:16px}.InvisibleTreehouseBio_text{font-size:16px;line-height:1.8;white-space:pre-line}@media only screen and (min-width:768px) and (max-width:1068px){.body_portfolio_background{font-size:180px}.body_items{grid-template-columns:repeat(2,240px)}}@media only screen and (min-width:620px) and (max-width:767px){.body_portfolio_background{font-size:140px}}@media only screen and (min-width:431px) and (max-width:619px){.body_portfolio_background{font-size:100px}}@media only screen and (max-width:430px){.body_portfolio_background{font-size:60px}}@media only screen and (max-width:767px){.body{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.page_body_container{padding:60px 0 40px}.body_content{flex-direction:column;gap:24px}.body_items{gap:12px;grid-template-columns:repeat(2,1fr);order:1;width:100%}.info{order:2;padding:0 0 20px;position:static;width:100%}.placeholder{display:none}.projects_item_text{font-size:13px}.InvisibleTreehouseBio_title{font-size:28px}.InvisibleTreehouseBio_text{font-size:14px}}@media only screen and (max-width:400px){.body_items{grid-template-columns:1fr}}html{scroll-behavior:smooth}.nav_container{align-items:center;display:flex;font-family:Courier New,Courier,monospace;justify-content:flex-end;padding:10px 14px 6px;position:relative}.nav_links{display:flex;gap:4px}.nav_link{color:#fff;font-size:14px;padding:4px 10px;text-decoration:none;white-space:nowrap}.nav_link:hover{color:#47ff00;transition:color .2s}.nav_hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:18px;justify-content:space-between;padding:0;width:24px;z-index:10}.nav_hamburger span{background-color:#fff;border-radius:2px;display:block;height:2px;transition:opacity .25s ease,-webkit-transform .25s ease;transition:transform .25s ease,opacity .25s ease;transition:transform .25s ease,opacity .25s ease,-webkit-transform .25s ease;width:100%}.nav_hamburger--open span:first-child{-webkit-transform:translateY(8px) rotate(45deg);transform:translateY(8px) rotate(45deg)}.nav_hamburger--open span:nth-child(2){opacity:0}.nav_hamburger--open span:nth-child(3){-webkit-transform:translateY(-8px) rotate(-45deg);transform:translateY(-8px) rotate(-45deg)}.nav_drawer{display:none}@media only screen and (max-width:600px){.nav_links{display:none}.nav_drawer,.nav_hamburger{display:flex}.nav_drawer{background-color:#232323;flex-direction:column;left:0;max-height:0;overflow:hidden;position:absolute;right:0;top:100%;transition:max-height .3s ease,padding .3s ease;z-index:100}.nav_drawer--open{max-height:400px;padding-bottom:12px}.nav_drawer_link{border-bottom:1px solid hsla(0,0%,100%,.06);color:#fff;font-family:Courier New,Courier,monospace;font-size:16px;padding:12px 20px;text-decoration:none}.nav_drawer_link:active,.nav_drawer_link:hover{background-color:rgba(71,255,0,.05);color:#47ff00}}.bio{background-image:linear-gradient(to top right,#181818,#282828);min-height:100vdh}.bio_container{height:100%;padding:20px 0 0}.bio_reveal{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:slideup;animation-name:slideup}.bio_reveal_inactive{opacity:0}p.bio_wrapper{color:rgba(75,73,73,.322);display:flex;font-size:250px;font-weight:800;height:100%;justify-content:end;padding-top:10px;position:relative;width:98%;z-index:0}p.bio_paragraph-wrapper{color:#cacaca;display:flex;flex-direction:column;font-family:Lucida Console,Courier,monospace;font-size:larger;justify-content:flex-end;padding:20px;width:50%}.bio_content{display:flex;justify-content:space-between;padding:0 20px}.face_pic{display:flex;overflow:hidden;position:relative}.pic_parent{display:flex;height:100%;justify-content:end;padding-top:50px;width:100%}.pic_child{-webkit-filter:grayscale(100%);filter:grayscale(100%);max-height:100%;max-width:100%;object-fit:contain;padding-right:20px;position:relative}.pic_child:hover{-webkit-filter:grayscale(0);filter:grayscale(0)}@media only screen and (min-width:768px) and (max-width:1068px){p.bio_wrapper{font-size:180px}}@media only screen and (min-width:620px) and (max-width:767px){p.bio_wrapper{font-size:140px}}@media only screen and (min-width:431px) and (max-width:619px){p.bio_wrapper{font-size:100px}}@media only screen and (max-width:430px){p.bio_wrapper{font-size:60px}}@media only screen and (max-width:1068px){.bio{background-image:linear-gradient(to top right,#181818,#282828);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}.bio_reveal{height:100%}.bio_content{align-content:space-between;flex-direction:column}p.bio_paragraph-wrapper{font-size:16px;padding:0;width:100%}.pic_parent{display:flex;justify-content:center}.pic_child{border-radius:10px;-webkit-filter:grayscale(0);filter:grayscale(0);height:auto;margin:20px 0;max-width:500px;padding:0;width:100%}}.skills{background-image:linear-gradient(to top right,#181818,#282828);display:flex;flex-direction:column;min-height:600px;position:relative}@media (min-width:768px){.skills{min-height:100svh}}.skills_background{color:rgba(75,73,73,.322);font-size:250px;font-weight:800;padding:30px 0 0 15px;position:absolute;z-index:0}.skills_reveal{align-items:center;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:slideup;animation-name:slideup;display:flex;flex:1 1}.skills_reveal_inactive{opacity:0}.skills_container{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:40px;justify-content:center;padding:120px 60px 80px;position:relative;width:100%;z-index:1}.skills_group{flex:1 1;max-width:300px;min-width:220px}.skills_group_title{color:#47ff00;font-family:Courier New,Courier,monospace;font-size:18px;letter-spacing:1px;margin-bottom:16px;text-transform:uppercase}.skills_list{list-style:none;margin:0;padding:0}.skills_item{border-bottom:1px solid rgba(71,255,0,.15);color:#cacaca;font-family:Lucida Console,Courier,monospace;font-size:16px;padding:10px 0;transition:color .2s,padding-left .2s}.skills_item:last-child{border-bottom:none}.skills_item:hover{color:#47ff00;cursor:default;padding-left:8px}@media only screen and (min-width:768px) and (max-width:1068px){.skills_background{font-size:180px}}@media only screen and (min-width:620px) and (max-width:767px){.skills_background{font-size:140px}}@media only screen and (min-width:431px) and (max-width:619px){.skills_background{font-size:100px}}@media only screen and (max-width:430px){.skills_background{font-size:60px}.skills_container{gap:30px;padding:80px 20px 60px}.skills_item{font-size:14px}}.resume{background-image:linear-gradient(to top right,#181818,#282828);display:flex;flex-direction:column;min-height:600px;position:relative}@media (min-width:768px){.resume{min-height:100svh}}.resume_background{color:rgba(75,73,73,.322);font-size:250px;font-weight:800;padding:30px 0 0 15px;pointer-events:none;position:absolute;z-index:0}.resume_reveal{align-items:flex-start;-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:slideup;animation-name:slideup;display:flex;flex:1 1;justify-content:center}.resume_reveal_inactive{opacity:0}.resume_container{box-sizing:border-box;max-width:860px;padding:130px 40px 80px;position:relative;width:100%;z-index:1}.resume_download_row{display:flex;justify-content:flex-end;margin-bottom:32px}.resume_download_btn{border:1px solid #47ff00;border-radius:4px;color:#47ff00;display:inline-block;font-family:Courier New,Courier,monospace;font-size:13px;padding:8px 18px;text-decoration:none;transition:background-color .2s,color .2s}.resume_download_btn:hover{background-color:#47ff00;color:#181818}.resume_section{margin-bottom:44px}.resume_section_title{border-bottom:1px solid rgba(71,255,0,.2);color:#47ff00;font-family:Courier New,Courier,monospace;font-size:13px;letter-spacing:3px;margin-bottom:16px;padding-bottom:8px;text-transform:uppercase}.resume_summary{color:#cacaca;font-family:Lucida Console,Courier,monospace;font-size:18px;line-height:1.8;margin:0}.resume_skills_grid{display:flex;flex-wrap:wrap;gap:8px}.resume_skill{background-color:rgba(71,255,0,.07);border:1px solid rgba(71,255,0,.2);border-radius:3px;color:#cacaca;font-family:Lucida Console,Courier,monospace;font-size:16px;padding:6px 14px;transition:background-color .2s,color .2s}.resume_skill:hover{background-color:rgba(71,255,0,.15);color:#47ff00}.resume_job{margin-bottom:28px}.resume_job_header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:10px}.resume_job_company{color:#e6e6e6;display:block;font-family:Courier New,Courier,monospace;font-size:18px;font-weight:700}.resume_job_role{color:#a0a0a0;display:block;font-family:Lucida Console,Courier,monospace;font-size:16px;margin-top:2px}.resume_job_dates{color:#828282;font-family:Courier New,Courier,monospace;font-size:15px;padding-top:2px;white-space:nowrap}.resume_job_bullets{list-style:none;margin:0;padding:0}.resume_job_bullets li{color:#b4b4b4;font-family:Lucida Console,Courier,monospace;font-size:16px;line-height:1.8;padding:5px 0 5px 20px;position:relative}.resume_job_bullets li:before{color:#47ff00;content:"›";left:0;position:absolute}@media only screen and (min-width:768px) and (max-width:1068px){.resume_background{font-size:180px}}@media only screen and (min-width:620px) and (max-width:767px){.resume_background{font-size:140px}}@media only screen and (min-width:431px) and (max-width:619px){.resume_background{font-size:100px}}@media only screen and (max-width:430px){.resume_background{font-size:60px}.resume_container{padding:80px 20px 60px}.resume_job_header{flex-direction:column;gap:4px}.resume_job_dates{white-space:normal}.resume_section_title{font-size:11px}.resume_summary{font-size:15px}.resume_skill{font-size:14px}.resume_job_company{font-size:15px}.resume_job_role{font-size:14px}.resume_job_dates{font-size:13px}.resume_job_bullets li{font-size:14px}}.contact{display:flex;min-height:600px}@media (min-width:428px) and (max-width:767px){.contact{min-height:725px}}@media (min-width:768px){.contact{min-height:100svh}}.contact_reveal{-webkit-animation-duration:2s;animation-duration:2s;-webkit-animation-name:slideup;animation-name:slideup;display:flex;flex:1 1;flex-direction:column;justify-content:space-between}.contact_reveal_inactive{opacity:0}.contact_background_wrapper{color:rgba(75,73,73,.322);font-size:250px;font-weight:800;padding:30px 0 0 15px;position:absolute;z-index:0}.contact_container{height:100%;margin:0 auto;width:85%}.contact_container,.contact_wrapper{align-items:center;display:flex;flex-flow:column;justify-content:flex-end}.contact_wrapper{position:relative;width:100%}.form_container{max-width:500px;position:relative;width:90%;z-index:10}input,textarea{font-family:Arial,Helvetica,sans-serif;font-size:16px}textarea{resize:none}.contact_first_line{display:flex;flex-flow:row;height:auto;padding-bottom:20px}.contact_first_line>input{flex:1 1}.name_wrapper{padding-right:10px;width:100%}.input_name{border-radius:3px;display:flex;flex:1 1;height:34px;width:95%}.email_wrapper{width:100%}.input_email{border-radius:3px;display:flex;flex:1 1;height:34px;width:95%}.contact_second_line{display:flex;flex-flow:row;height:auto;padding-bottom:20px}.contact_second_line>input{flex:1 1}.subject_wrapper{width:100%}.input_subject{border-radius:3px;display:flex;flex:1 1;height:34px;width:97.5%}.contact_third_line{display:flex;flex-flow:row;height:200px;padding-bottom:10px}.contact_third_line>textarea{flex:1 1}.message_wrapper{height:100%;width:100%}.input_message{border-radius:3px;display:flex;flex:1 1;height:90%;width:97.5%}.contact_submit_line{display:flex;justify-content:end;width:100%}.submit_wrapper{padding-right:7.5px}.input_submit{align-items:center;background-color:#bcbcbc;border:none;border-radius:5px;color:#000;cursor:pointer;display:flex;font-family:Lucida Console,Courier,monospace;font-size:medium;font-weight:500;height:35px;justify-content:center;text-align:center;width:75px}.icon-links{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin:0 auto;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.icon-links,.icon-links_container{align-items:center;display:flex;flex-flow:row}.icon-links_container{height:100%;justify-content:center;margin-bottom:10px;padding:10px 10px 0;position:relative;width:100%}.linked-in_wrapper{margin:0 auto;padding:10px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.linked-in{color:#fff;cursor:pointer;display:inherit;flex:1 1;height:50px;width:50px}.github_wrapper{margin:0 auto;padding:10px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.github{color:#fff;cursor:pointer;display:inherit;flex:1 1;height:50px;width:50px}.medium_wrapper{margin:0 auto;padding:10px;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.medium{color:#fff;cursor:pointer;display:inherit;flex:1 1;height:50px;width:50px}@media only screen and (min-width:768px) and (max-width:1068px){.contact_background_wrapper{font-size:180px}}@media only screen and (min-width:620px) and (max-width:767px){.contact_background_wrapper{font-size:140px}}@media only screen and (min-width:431px) and (max-width:619px){.contact_background_wrapper{font-size:100px}}@media only screen and (max-width:430px){.contact_background_wrapper{font-size:60px}.contact_container{align-items:center;display:flex;flex-flow:column;height:100%;justify-content:center;margin:0 auto;padding-top:90px;width:85%}}.success_message{-webkit-animation:fadeIn .5s ease-in-out;animation:fadeIn .5s ease-in-out;background:#e4e4e4;border-radius:8px;box-shadow:0 4px 10px hsla(0,0%,100%,.2);color:#000;padding:40px;text-align:center}.error_message{-webkit-animation:fadeIn .3s ease-in-out;animation:fadeIn .3s ease-in-out;background:rgba(220,50,50,.9);border-radius:5px;color:#fff;font-family:Lucida Console,Courier,monospace;font-size:13px;margin-top:10px;padding:10px 14px}.success_message h2{color:#0ea613;font-size:24px;margin-bottom:10px}.success_message p{font-size:16px;opacity:.9}@-webkit-keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;-webkit-transform:translateY(-10px);transform:translateY(-10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}
/*# sourceMappingURL=main.ed1aac88.css.map*/