.button-89{--b: 3px;--s: .45em;--color: var(--main);--bg: #181f20;--text: var(--main);--text-hover: var(--white);padding:calc(.8em + var(--s)) calc(1.5em + var(--s));color:var(--text);--_p: var(--s);background:conic-gradient(from 90deg at var(--b) var(--b),#0000 90deg,var(--color) 0) var(--_p) var(--_p)/calc(100% - var(--b) - 2*var(--_p)) calc(100% - var(--b) - 2*var(--_p)),var(--bg);transition:.3s linear,color 0s,background-color 0s;outline:var(--b) solid #0000;outline-offset:.6em;font-size:2.2rem;border:0;border-radius:6px;user-select:none;-webkit-user-select:none;touch-action:manipulation;font-family:inherit;font-weight:600;box-shadow:0 2px 8px #00000014}.button-89:hover,.button-89:focus-visible{--_p: 0px;outline-color:var(--color);outline-offset:.05em;background:var(--color);color:var(--text-hover)}.button-89:active{background:var(--color);color:var(--text-hover)}*,*:before,*:after{margin:0;padding:0;box-sizing:inherit}:root{--main: #008080;--white: #ffffff}html{box-sizing:border-box;font-size:62.5%;scroll-behavior:smooth}@media (max-width: 1500px){html{font-size:57.25%}}@media (max-width: 1200px){html{font-size:50%}}@media (max-width: 770px){html{font-size:43.75%}}@media (max-width: 615px){html{font-size:40%}}@media (max-width: 350px){html{font-size:35%}}body{min-height:100vh;color:#fafafa;font-family:montserrat,sans-serif;background-color:#1a1a1a}.github-analytics{padding:8rem 0;background:linear-gradient(135deg,#1a1a1a,#2a2a2a,#1a1a1a);position:relative;overflow:hidden}.github-analytics:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23008080' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") repeat;z-index:1}.github-analytics__container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:2}.github-analytics__heading{font-size:4.5rem;font-weight:700;text-align:center;margin-bottom:5rem;background:linear-gradient(135deg,var(--main) 0%,#00a0a0 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 4px 20px rgba(0,128,128,.3)}.github-streak-container{text-align:center;margin-bottom:4rem;padding:2rem;background:#ffffff05;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,128,.1);transition:all .3s ease}.github-streak-container:hover{transform:translateY(-5px);box-shadow:0 20px 40px #00808026;border-color:#0080804d}.github-streak-img{max-width:100%;height:auto;border-radius:12px;transition:transform .3s ease}.github-streak-img:hover{transform:scale(1.02)}.github-stats-table{margin-bottom:4rem}.stats-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:stretch}@media (max-width: 768px){.stats-row{grid-template-columns:1fr;gap:2rem}}.stat-card{background:#ffffff05;border-radius:16px;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,128,.1);transition:all .3s ease;text-align:center;min-height:200px;display:flex;align-items:center;justify-content:center}.stat-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px #00808026;border-color:#0080804d}.github-stats-img,.github-langs-img{max-width:100%;max-height:180px;width:auto;height:auto;border-radius:12px;transition:transform .3s ease;object-fit:contain}.github-stats-img:hover,.github-langs-img:hover{transform:scale(1.02)}.github-activity-container{text-align:center;margin-bottom:4rem;padding:2rem;background:#ffffff05;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,128,.1);transition:all .3s ease}.github-activity-container:hover{transform:translateY(-5px);box-shadow:0 20px 40px #00808026;border-color:#0080804d}.github-activity-img{max-width:100%;height:auto;border-radius:12px;transition:transform .3s ease}.github-activity-img:hover{transform:scale(1.01)}.live-stats-container{margin-bottom:4rem;padding:3rem;background:#ffffff05;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,128,.1);transition:all .3s ease}.live-stats-container:hover{transform:translateY(-5px);box-shadow:0 20px 40px #00808026;border-color:#0080804d}.live-stats-title{font-size:2.4rem;color:var(--main);margin-bottom:2rem;text-align:center;font-weight:600}.live-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}.live-stat-item{text-align:center;padding:2rem;background:#00808014;border-radius:12px;border:1px solid rgba(0,128,128,.2);transition:all .3s ease;position:relative;overflow:hidden}.live-stat-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,128,128,.1),transparent);transition:left .5s ease}.live-stat-item:hover:before{left:100%}.live-stat-item:hover{transform:translateY(-3px) scale(1.02);border-color:var(--main);box-shadow:0 10px 30px #00808033}.live-stat-number{display:block;font-size:3.5rem;font-weight:700;color:var(--main);margin-bottom:.5rem;text-shadow:0 2px 10px rgba(0,128,128,.3)}.live-stat-label{font-size:1.4rem;color:#ccc;text-transform:uppercase;letter-spacing:1px;font-weight:500}.recent-repos-container{padding:3rem;background:#ffffff05;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,128,128,.1);transition:all .3s ease}.recent-repos-container:hover{transform:translateY(-5px);box-shadow:0 20px 40px #00808026;border-color:#0080804d}.recent-repos-title{font-size:2.4rem;color:var(--main);margin-bottom:2rem;text-align:center;font-weight:600}.repos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.repo-card{background:#ffffff08;border-radius:12px;padding:2rem;border:1px solid rgba(0,128,128,.15);transition:all .3s ease;position:relative;overflow:hidden}.repo-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,128,128,.05),transparent);transition:left .5s ease}.repo-card:hover:before{left:100%}.repo-card:hover{transform:translateY(-3px);border-color:var(--main);box-shadow:0 10px 30px #00808033}.repo-name{font-size:1.8rem;font-weight:600;color:var(--main);margin-bottom:1rem;text-decoration:none;display:block;transition:all .3s ease}.repo-name:hover{text-shadow:0 2px 10px rgba(0,128,128,.5);transform:translate(5px)}.repo-description{font-size:1.4rem;color:#ccc;margin-bottom:1.5rem;line-height:1.5}.repo-stats{display:flex;gap:1.5rem;font-size:1.2rem;color:#999;flex-wrap:wrap}.repo-language{display:flex;align-items:center;gap:.5rem}.language-dot{width:12px;height:12px;border-radius:50%;box-shadow:0 1px 3px #0000004d}@media (max-width: 768px){.github-analytics{padding:4rem 0}.github-analytics__container{padding:0 1rem}.github-analytics__heading{font-size:3.5rem;margin-bottom:3rem}.live-stats-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.repos-grid{grid-template-columns:1fr}.live-stat-number{font-size:2.8rem}.live-stat-label{font-size:1.2rem}}li{list-style:none}a{text-decoration:none;color:inherit}button{border:none;outline:none;background-color:transparent;color:inherit}.about{width:1300px;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;align-items:center}@media (max-width: 1500px){.about{width:1100px}}@media (max-width: 1200px){.about{width:auto}}.about__heading:before{position:absolute;content:"";border-bottom:18px solid var(--main);width:16rem;display:block;margin:0 auto;position:relative;left:3.5rem;top:6.3rem;z-index:-1}@media (max-width: 770px){.about__heading:before{border-bottom:14px solid var(--main)}}.about__content{display:flex;justify-content:space-between;width:100%}@media (max-width: 1300px){.about__content{flex-direction:column}}.profile{position:relative;display:flex;flex-direction:column;align-items:center;font-weight:500;left:-300px;opacity:0;transition:all 1.1s}@media (max-width: 1301px){.profile{margin-bottom:10rem;left:0;opacity:1}}@media (max-width: 1000px){.profile{margin-bottom:7rem}}.card-groups,.card-group,.card{aspect-ratio:5 / 7}.card-groups,.card-group,.big-card{width:30vmin}.card-group{position:absolute;transition:transform .4s ease}.card-group[data-status=unknown]{transform:scale(0);transition:none}.card-group[data-status=active]{transition-delay:.3s}.card-group[data-status=after]{transform:translate(50%) scale(0)}.card-group[data-status=before]{transform:translate(-50%) scale(0)}.card-group[data-status=becoming-active-from-after]{transform:translate(50%) scale(0);transition:none}.card-group[data-status=becoming-active-from-before]{transform:translate(-50%) scale(0);transition:none}.card{background-color:#ffffff0d;position:absolute;transition:transform .8s cubic-bezier(.05,.43,.25,.95);background-position:center;background-size:cover}.big-card{border-radius:1vmin}.little-card{width:12vmin;border-radius:2vmin;left:50%;top:50%;transform:translate(-50%,-50%);box-shadow:-1vmin 1vmin 2vmin #00000040;pointer-events:none}.big-card:nth-child(2){background-image:url(https://images.unsplash.com/photo-1628258334105-2a0b3d6efee1?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8MTZ8fHByb2dyYW1taW5nfGVufDB8fDB8fHww);transform:translate(-10%) rotate(-1deg)}.big-card:nth-child(4){background-image:url(./IMG_0177-CMq3sfOP.JPG);transform:rotate(2deg)}.big-card:nth-child(6){background-image:url(./IMG_0154-CWTKK9ix.jpg);transform:translate(-6%) rotate(-3deg)}.big-card:nth-child(8){background-image:url(./thabo-BxrjQRWa.png);transform:translate(10%,3%) rotate(5deg)}.little-card:nth-child(1){background-image:url(https://plus.unsplash.com/premium_photo-1676139860147-0305ab85bdca?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8NXx8dHJhdmVsbGluZ3xlbnwwfHwwfHx8MA%3D%3D)}.little-card:nth-child(3){background-image:url(https://images.unsplash.com/photo-1606594914767-d6bfbde9a0e9?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8M3x8Y2hlc3N8ZW58MHx8MHx8fDA%3D)}.little-card:nth-child(5){background-image:url(https://images.unsplash.com/photo-1460661419201-fd4cecdf8a8b?q=80&w=1480&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D)}.little-card:nth-child(7){background-image:url(https://images.unsplash.com/photo-1484417894907-623942c8ee29?w=500&auto=format&fit=crop&q=60&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8OHx8cHJvZ3JhbW1pbmd8ZW58MHx8MHx8fDA%3D)}.card-group:hover>.card{box-shadow:-2vmin 2vmin 3vmin #0006}.card-group:hover>.big-card:nth-child(2){transform:translate(-75%,16%) rotate(-24deg)}.card-group:hover>.big-card:nth-child(4){transform:translate(-25%,8%) rotate(-8deg)}.card-group:hover>.big-card:nth-child(6){transform:translate(25%,8%) rotate(8deg)}.card-group:hover>.big-card:nth-child(8){transform:translate(75%,16%) rotate(24deg)}.card-group:hover>.little-card:nth-child(1){transform:translate(200%,-160%) rotate(-15deg)}.card-group:hover>.little-card:nth-child(3){transform:translate(160%,170%) rotate(15deg)}.card-group:hover>.little-card:nth-child(5){transform:translate(-200%,-170%) rotate(15deg)}.card-group:hover>.little-card:nth-child(7){transform:translate(-280%,140%) rotate(-15deg)}.profile__blurb{font-size:1.8rem;margin-top:120px;width:500px;line-height:1.8}@media (max-width: 600px){.profile__blurb{width:80vw;margin-left:auto;margin-right:auto}}.profile__fade-in{opacity:1;transform:translate(300px)}@media (max-width: 1300px){.profile__fade-in{transform:translate(0)}}.skills{display:flex;justify-content:center}.skills__row{display:flex;flex-direction:column;justify-content:center}.skills__row:not(:last-child){margin-right:25px}@media (max-width: 410px){.skills__row:not(:last-child){margin-right:15px}}@media (max-width: 300px){.skills__row:not(:last-child){margin-right:10px}}.skills__item{opacity:0;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100px;width:160px;border:double 3px transparent;border-image-slice:1;border-width:3px;background-image:linear-gradient(#1a1a1a,#1a1a1a),radial-gradient(circle at top left,#51a2e9,var(--main));border-radius:10px;background-origin:border-box;background-clip:content-box,border-box;transition:transform .2s,opacity 1.2s;overflow:hidden}@media (max-width: 1500px){.skills__item{height:90px;width:145px}}@media (max-width: 1300px){.skills__item{opacity:1;border-width:2px}}@media (max-width: 1000px){.skills__item{height:80px;width:130px}}@media (max-width: 600px){.skills__item{height:70px;width:115px}}@media (max-width: 500px){.skills__item{height:60px;width:100px}}@media (max-width: 410px){.skills__item{height:50px;width:80px}}@media (max-width: 340px){.skills__item{height:45px;width:70px}}.skills__item:not(:last-child){margin-bottom:3rem}@media (max-width: 410px){.skills__item:not(:last-child){margin-bottom:15px}}.skills__item img{height:60px;width:auto;transition:all .2s}@media (max-width: 1500px){.skills__item img{height:55px}}@media (max-width: 1000px){.skills__item img{height:50px}}@media (max-width: 600px){.skills__item img{height:45px}}@media (max-width: 500px){.skills__item img{height:35px}}@media (max-width: 410px){.skills__item img{height:26px}}.skills__item-name{font-size:1.2rem;font-weight:600;line-height:1;transition:all .2s;letter-spacing:1px}@media (max-width: 1200px){.skills__item-name{font-size:1.4rem}}.skills__item-fade-in{opacity:1}.skills__item--js img{border-radius:5px}@keyframes moveInLeft{0%{opacity:0;transform:translate(-10rem)}to{opacity:1;transform:translate(0)}}@keyframes moveInRight{0%{opacity:0;transform:translate(10rem)}to{opacity:1;transform:translate(0)}}@keyframes moveInBottom{0%{opacity:0;transform:translateY(4rem)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%{transform:translateY(0)}50%{transform:translateY(-1rem)}to{transform:translateY(0)}}.contact{position:relative;margin-left:auto;margin-right:auto;display:flex;width:500px;flex-direction:column;align-items:center;justify-content:center;z-index:10;margin-bottom:10rem}@media (max-width: 700px){.contact{width:400px}}@media (max-width: 470px){.contact{width:330px}}@media (max-width: 400px){.contact{width:260px}}.contact__heading{margin-top:-4rem!important;margin-bottom:6rem!important}.contact__heading:before{position:absolute;content:"";border-bottom:18px solid var(--main);width:21rem;display:block;margin:0 auto;position:relative;left:3.5rem;top:6.3rem;z-index:-1}@media (max-width: 770px){.contact__heading:before{border-bottom:14px solid var(--main)}}.contact__text{font-size:1.8rem;margin-bottom:6rem}.contact__form{display:flex;flex-direction:column;align-items:center;justify-content:center}.contact__form-name,.contact__form-email{margin-bottom:6px;padding:1rem;height:4rem}.contact__form-message{height:12rem;padding:1rem}.contact__form-submit{align-self:flex-start;position:relative;padding:.6rem 1rem;width:fit-content;font-size:1.6rem;text-transform:uppercase;font-weight:700;letter-spacing:3px;z-index:9;cursor:pointer}.contact__form-submit:hover{color:#1a1a1a;font-weight:700}.contact__form-submit:after{position:absolute;content:"";border-bottom:2px solid var(--main);width:calc(100% + 2rem);left:-14%;top:.5rem;display:block;margin:0 auto;position:relative;transform-origin:bottom;transition:all .2s;z-index:-1}.contact__form-submit:hover:after{transform:scaleY(17.5)}@media (max-width: 1500px){.contact__form-submit:hover:after{transform:scaleY(16.5)}}@media (max-width: 1200px){.contact__form-submit:hover:after{transform:scaleY(14)}}@media (max-width: 770px){.contact__form-submit:hover:after{transform:scaleY(12.5)}}.contact input,.contact textarea{width:500px;resize:none;border:none;color:inherit;background-color:#282828;font-size:1.6rem;font-family:monserrat,sans-serif;border-left:2px solid transparent}@media (max-width: 700px){.contact input,.contact textarea{width:400px}}@media (max-width: 470px){.contact input,.contact textarea{width:330px}}@media (max-width: 400px){.contact input,.contact textarea{width:260px}}.contact input:focus,.contact textarea:focus{outline:none}.contact input::placeholder,.contact textarea::placeholder{color:#fafafa99;opacity:1}.contact input :-ms-input-placeholder,.contact textarea :-ms-input-placeholder{color:#fafafa99}.contact input ::-ms-input-placeholder,.contact textarea ::-ms-input-placeholder{color:#fafafa99}.contact__form-error-submit{margin-top:1.5rem;height:7rem;width:100%;display:flex;justify-content:space-between;align-items:center}.form-error{align-self:start;font-size:1.6rem;font-weight:500;line-height:1.5}.form-error>*{display:none}.input-error{border-left:2px solid var(--main)!important}.footer{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;height:160px;background-color:#282828}.socials{display:flex;margin-bottom:20px}.socials__github,.socials__email{display:flex;justify-content:center;align-items:center;height:35px;background-color:transparent;cursor:pointer;transition:all .2s}.socials__github:hover,.socials__email:hover{transform:scale(1.2)}.socials__github{margin-right:1rem}.socials__email{margin-left:1rem}.socials img{height:100%}.copyright{color:#fafafa;font-size:10px;font-weight:500}.return-home{position:absolute;top:-25px;width:40px;height:45px;margin-right:auto;margin-left:auto;left:0;right:0;text-align:center;background-color:var(--main);-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;animation-iteration-count:infinite;-webkit-animation-iteration-count:infinite}.return-home:hover{cursor:pointer;animation-name:bounce;-moz-animation-name:bounce}.return-home svg{width:100%}.hero{position:relative;display:flex;height:100vh;width:100%;z-index:999}.canvas{position:absolute;top:0;right:0;left:0;bottom:0;width:100%;height:100vh;background-color:#1a1a1a;overflow:hidden}.connecting-dots{height:100%;width:100%}.heading{position:relative;align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;line-height:normal;width:fit-content;height:auto;margin-left:auto;margin-right:auto;color:#fafafa;font-weight:300;z-index:999;text-shadow:2px 4px 10px black}.heading__line-1{animation-name:moveInLeft}.heading__line-1 span{color:var(--main);font-weight:400}.heading__line-2{animation-name:moveInRight;text-align:center;width:100%}.heading__line-1,.heading__line-2{font-size:6rem;background-color:#1a1a1a40;animation-duration:1.4s;animation-timing-function:cubic-bezier(.21,1.11,.81,.99)}@media (max-width: 700px){.heading__line-1,.heading__line-2{font-size:5rem;text-align:center;margin-left:4rem;margin-right:4rem}}@media (max-width: 550px){.heading__line-1,.heading__line-2{font-size:5rem}}.heading-cta{position:relative;display:flex;align-items:center;margin-top:2.4rem;padding:.8rem 3rem;min-width:22rem;max-width:32rem;height:4.8rem;background-color:#1a1a1a99;border:2px solid var(--main);border-radius:2px;color:var(--main);font-size:2.4rem;font-weight:500;cursor:pointer;animation:moveInBottom .7s 1.2s;animation-fill-mode:backwards;animation-timing-function:cubic-bezier(.21,1.11,.81,.99)}@media (max-width: 1500px){.heading-cta{width:1000px}}@media (max-width: 700px){.heading-cta{margin-top:1.8rem}}@media (max-width: 550px){.heading-cta{padding:.8rem 2rem}}.heading-cta:before,.heading-cta:after{content:"";position:absolute;top:-2px;left:-2px;min-width:22rem;max-width:32rem;width:100%;height:4.8rem;border-radius:3px;border:2px solid var(--main);filter:blur(0);transform-origin:50%;z-index:-1}@media (max-width: 1500px){.heading-cta:before,.heading-cta:after{width:27.8rem}}@media (max-width: 1280px){.heading-cta:before,.heading-cta:after{width:28.5rem;border:2px solid transparent}}.heading-cta:hover{transform:translateY(-2px)}.heading-cta:hover:before,.heading-cta:hover:after{border-color:transparent;filter:blur(2px);transform:scaleX(1.3) scaleY(2.2);transition:.8s transform ease,1.9s blur ease,.7s border-color ease;pointer-events:none}.heading-cta:hover:after{transition-delay:.15s}.heading-cta:active{transform:translateY(-1px)}.heading__arrow{display:inline-block;height:24px;width:24px;margin-left:15px;transform:rotate(90deg);fill:var(--main);transition:all .3s}@media (max-width: 770px){.heading__arrow{height:20px;width:20px}}@media (max-width: 615px){.heading__arrow{margin-left:10px}}@media (max-width: 550px){.heading__arrow{height:16px;width:16px}}.main-bg{height:100vh;position:fixed;top:0;width:100%;background-color:#4169e1}.navigation{display:flex;margin-right:10rem;font-size:2rem;font-weight:500;letter-spacing:1px}@media (max-width: 1200px){.navigation{margin-right:3rem}}@media (max-width: 700px){.navigation{margin-right:0}}.navigation-bar{position:sticky;position:-webkit-sticky;top:0;display:flex;justify-content:flex-end;align-items:center;height:6rem;border-bottom:1px solid #1a1a1a;background-color:#282828;box-shadow:0 7px 7px #0006;z-index:99999999999}@media (max-width: 700px){.navigation-bar{justify-content:center}}.navigation__item{transition:all .2s}.navigation__item:not(:last-child){margin-right:3rem}.navigation__item--active,.navigation__item:hover{color:var(--main)}.projects{display:flex;flex-direction:column;justify-content:center;align-items:center}.projects__heading:before{position:absolute;content:"";border-bottom:18px solid var(--main);width:22.5rem;display:block;margin:0 auto;position:relative;left:3.5rem;top:6.3rem;z-index:-1}@media (max-width: 770px){.projects__heading:before{border-bottom:14px solid var(--main)}}.project{position:relative;display:flex;margin-bottom:14rem;justify-content:flex-start}@media (max-width: 560px){.project{margin-bottom:12rem}}@media (max-width: 440px){.project{margin-bottom:10rem}}.project__image-container{position:relative;height:70rem;width:100rem;background-color:#3216bb;transition:all .2s;cursor:pointer}@media (max-width: 1100px){.project__image-container{height:64rem;width:90rem}}@media (max-width: 970px){.project__image-container{height:58rem;width:80rem}}@media (max-width: 900px){.project__image-container{height:54rem;width:75rem}}@media (max-width: 700px){.project__image-container{height:48rem;width:64rem}}@media (max-width: 560px){.project__image-container{height:40rem;width:52rem}}@media (max-width: 440px){.project__image-container{height:30rem;width:39rem}}.project__image-container:hover{transform:scale(.95)}.project__image-image{width:85%;position:relative}.project__image-image img{width:100%}.project__info{position:relative;top:8rem;height:fit-content;padding:1rem;z-index:9999999}@media (max-width: 1000px){.project__info{width:fit-content}}@media (max-width: 700px){.project__info{background-color:#1a1a1a80}}@media (max-width: 560px){.project__info{top:4rem}}@media (max-width: 440px){.project__info{top:2rem}}@media (max-width: 400px){.project__info{top:0}}.project__title{position:relative;z-index:66;font-size:3.5rem}@media (max-width: 900px){.project__title{font-size:3rem}}@media (max-width: 820px){.project__title{font-size:2.7rem}}@media (max-width: 550px){.project__title{font-size:2.5rem}}@media (max-width: 400px){.project__title{font-size:2.2rem}}.project__description{position:relative;margin-top:3rem;font-size:1.8rem;font-weight:500;z-index:999909999}@media (max-width: 560px){.project__description{margin-top:2rem}}.project__live,.project__code{position:relative;margin-top:3rem;padding:.6rem 1rem;width:fit-content;font-size:1.6rem;text-transform:uppercase;font-weight:700;letter-spacing:3px;z-index:9;transition:all .2s;cursor:pointer}@media (max-width: 560px){.project__live,.project__code{margin-top:2rem}}.project__live:hover,.project__code:hover{color:#1a1a1a;font-weight:700}.project__live:after,.project__code:after{position:absolute;content:"";border-bottom:2px solid var(--main);width:calc(100% + 2rem);left:-10%;top:.5rem;display:block;margin:0 auto;position:relative;transform-origin:bottom;transition:all .2s;z-index:-1}.project__live:hover:after,.project__code:hover:after{transform:scaleY(17.5)}@media (max-width: 1500px){.project__live:hover:after,.project__code:hover:after{transform:scaleY(16.5)}}@media (max-width: 1200px){.project__live:hover:after,.project__code:hover:after{transform:scaleY(14)}}@media (max-width: 770px){.project__live:hover:after,.project__code:hover:after{transform:scaleY(12.5)}}.project__code:after{width:calc(100% + 2rem);left:-8%}a[href*="github.com"] .project__code{position:relative}a[href*="github.com"] .project__code:before{content:"⚡ ";color:var(--main);font-weight:700;margin-right:.5rem}a[href*="github.com"]:hover .project__code:before{animation:pulse 1s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.project-left{align-self:flex-start;margin-left:22rem}@media (max-width: 1700px){.project-left{margin-left:11rem}}@media (max-width: 1500px){.project-left{margin-left:0}}.project-left .project__info{left:-8rem;margin-right:-2rem}@media (max-width: 800px){.project-left .project__info{margin-right:-4rem}}@media (max-width: 770px){.project-left .project__info{margin-right:-4rem}}@media (max-width: 600px){.project-left .project__info{margin-right:-6rem}}@media (max-width: 440px){.project-left .project__info{left:-10rem;margin-right:-7rem}}.project-right{align-self:flex-end;margin-right:22rem}@media (max-width: 1700px){.project-right{margin-right:11rem}}@media (max-width: 1500px){.project-right{margin-right:0}}.project-right .project__info{right:-8rem;margin-left:-2rem}@media (max-width: 770px){.project-right .project__info{margin-left:-4rem}}@media (max-width: 600px){.project-right .project__info{margin-left:-6rem}}@media (max-width: 440px){.project-right .project__info{right:-10rem;margin-left:-7rem}}.retro{display:flex;align-items:flex-end;justify-content:center}.retro img{margin-bottom:-3px}.todo{display:flex;align-items:center;justify-content:flex-end}.weather{display:flex;align-items:center;justify-content:flex-start}.section-heading{position:relative;font-size:5.5rem;font-weight:700;margin-top:9rem;margin-bottom:13rem;z-index:9999}@media (max-width: 1200px){.section-heading{margin-bottom:10rem}}@media (max-width: 1000px){.section-heading{margin-top:6rem}}#hover{font-family:Playwrite ES Deco,cursive;font-optical-sizing:auto;font-weight:600;font-style:normal;font-size:large}#hover:after{content:"Hover over me"}@media (hover: none) and (pointer: coarse){#hover:after{content:"Click Me!"}}.heading__buttons{display:flex;flex-direction:row;align-items:stretch;justify-content:center;gap:2rem;margin-top:2rem;width:100%}@media screen and (max-width: 768px){.heading__buttons{flex-direction:column;gap:1rem;align-items:center}}.heading__link{text-decoration:none;color:inherit;flex:0 0 auto}.heading-cta{display:flex;align-items:center;gap:1rem;padding:1rem 2rem;white-space:nowrap}@media screen and (max-width: 768px){.heading__buttons{flex-direction:column;gap:1rem}}.chatbot-icon{position:fixed;bottom:20px;right:20px;width:50px;height:50px;background:var(--main);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000000000000000000000000;animation:pulsate 2s ease-in-out infinite}.chatbot-icon:before{content:"CHAT";color:#fff;font-size:12px;font-weight:700;letter-spacing:1px}@keyframes pulsate{0%{transform:scale(1)}50%{transform:scale(1.4)}to{transform:scale(1)}}.chatbot{display:none;position:fixed;bottom:80px;right:20px;width:300px;height:400px;background:#fff;border-radius:10px;box-shadow:0 0 10px #0000001a;flex-direction:column;z-index:1000}.chatbot header{padding:10px;background:#007bff;color:#fff;border-radius:10px 10px 0 0;display:flex;justify-content:space-between;align-items:center}.chatbox{flex:1;overflow-y:auto;padding:10px;list-style:none}.chat{margin:5px 0;padding:8px 12px;max-width:75%;border-radius:10px}.incoming{background:var(--main);color:#fff;align-self:flex-start;box-shadow:0 2px 5px #0000001a;position:relative;padding-left:35px}.incoming:before{content:"";position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:-5px 8px 0 -3px #fff;animation:fadeIn .3s ease-in}.outgoing{background:#f0f0f0;color:#333;margin-left:auto;box-shadow:0 2px 5px #0000001a}.chat:hover{transform:translateY(-2px);transition:transform .2s ease}.input-area{padding:10px;border-top:1px solid #ddd;display:flex}.input-area input{flex:1;padding:8px;border:1px solid #ddd;border-radius:4px;margin-right:5px}.input-area button{padding:8px 15px;background:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.education-experience{padding:4rem 2rem;text-align:center;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.education-experience__heading{margin-bottom:3rem;position:relative;display:inline-block;font-size:2.5rem}.education-experience__heading:after{content:"";position:absolute;width:50%;height:2px;background:var(--main);bottom:-10px;left:25%}.timeline{position:relative;max-width:1200px;margin:2rem auto;width:100%}.timeline:after{content:"";position:absolute;width:2px;background:var(--main);top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-item{padding:1rem 2rem;position:relative;width:50%;margin:2rem 0;opacity:0;transform:translateY(20px);animation:fadeInUp .5s ease forwards}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.timeline-item:nth-child(odd){left:0}.timeline-item:nth-child(2n){left:50%}.timeline-item:before{content:"";position:absolute;width:16px;height:16px;background:var(--main);border-radius:50%;top:50%;right:-8px;transform:translateY(-50%)}.timeline-item:nth-child(2n):before{left:-8px}.timeline-content{padding:1.5rem;background:#ffffff0d;border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);position:relative;transition:all .3s ease;text-align:left}.timeline-content:hover{transform:translateY(-5px);background:#ffffff1a;box-shadow:0 5px 15px #0003}.timeline-content h3{color:var(--main);margin-bottom:.8rem;font-size:1.5rem}.timeline-content h4{color:var(--text-color);margin-bottom:.8rem;font-size:1.2rem}.timeline-date{color:var(--main);font-size:1.1rem;margin-bottom:1.2rem;font-weight:500}.timeline-details{list-style:none;padding:0}.timeline-details li{margin-bottom:.7rem;color:var(--text-color);font-size:1.1rem;padding-left:1.4em;position:relative;line-height:1.5}.timeline-details li:before{content:"•";color:var(--main);position:absolute;left:0}@media (max-width: 768px){.timeline:after{left:31px}.timeline-item{width:100%;padding-left:70px;padding-right:1rem}.timeline-item:nth-child(2n){left:0}.timeline-item:before{left:23px;right:auto}.timeline-item:nth-child(2n):before{left:23px}.timeline-content{padding:1.2rem}}.skills-section{padding:4rem 2rem;text-align:center;background:#ffffff05}.skills-container{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:3rem}.skills-category{margin-bottom:2rem}.skills-category h3{color:var(--main);font-size:1.8rem;margin-bottom:2rem;position:relative;display:inline-block}.skills-category h3:after{content:"";position:absolute;width:50%;height:2px;background:var(--main);bottom:-10px;left:25%}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem;padding:1rem}.skill-item{background:#ffffff0d;padding:1.8rem;border-radius:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}.skill-item:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at center,rgba(255,255,255,.1) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}.skill-item:hover{transform:translateY(-5px) scale(1.02);background:#ffffff1a;box-shadow:0 8px 20px #0003}.skill-item:hover:before{opacity:1}.skill-item i{font-size:2.8rem;background:linear-gradient(135deg,var(--main) 0%,#ffffff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem;transition:all .3s ease}.skill-item:hover i{transform:scale(1.1);background:linear-gradient(135deg,#ffffff 0%,var(--main) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.skill-item span{display:block;font-size:1.1rem;color:var(--text-color);font-weight:500;transition:color .3s ease}.skill-item:hover span{color:var(--main)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.skill-item{animation:fadeInUp .5s ease forwards;opacity:0}.skill-item:nth-child(1){animation-delay:.1s}.skill-item:nth-child(2){animation-delay:.2s}.skill-item:nth-child(3){animation-delay:.3s}.skill-item:nth-child(4){animation-delay:.4s}.skill-item:nth-child(5){animation-delay:.5s}.skill-item:nth-child(6){animation-delay:.6s}@media (max-width: 768px){.skills-grid{grid-template-columns:repeat(2,1fr)}.skills-category h3{font-size:1.5rem}}
