.vertical-timeline *{-webkit-box-sizing:border-box;box-sizing:border-box}.vertical-timeline{width:95%;max-width:1170px;margin:0 auto;position:relative;padding:2em 0}.vertical-timeline:after{content:"";display:table;clear:both}.vertical-timeline:before{content:"";position:absolute;top:0;left:18px;height:100%;width:4px;background:var(--line-color)}.vertical-timeline.vertical-timeline--one-column-right:before{right:18px;left:unset}@media only screen and (min-width:1170px){.vertical-timeline.vertical-timeline--two-columns{width:90%}.vertical-timeline.vertical-timeline--two-columns:before{left:50%;margin-left:-2px}}.vertical-timeline-element{position:relative;margin:2em 0}.vertical-timeline-element>div{min-height:1px}.vertical-timeline-element:after{content:"";display:table;clear:both}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}@media only screen and (min-width:1170px){.vertical-timeline-element{margin:4em 0}.vertical-timeline-element:first-child{margin-top:0}.vertical-timeline-element:last-child{margin-bottom:0}}.vertical-timeline-element-icon{position:absolute;top:0;left:0;width:40px;height:40px;border-radius:50%;-webkit-box-shadow:0 0 0 4px #fff,inset 0 2px 0 rgba(0,0,0,.08),0 3px 0 4px rgba(0,0,0,.05);box-shadow:0 0 0 4px #fff,inset 0 2px 0 rgba(0,0,0,.08),0 3px 0 4px rgba(0,0,0,.05)}.vertical-timeline--one-column-right .vertical-timeline-element-icon{right:0;left:unset}.vertical-timeline-element-icon svg{display:block;width:24px;height:24px;position:relative;left:50%;top:50%;margin-left:-12px;margin-top:-12px}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-icon{width:60px;height:60px;left:50%;margin-left:-30px}}.vertical-timeline-element-icon{-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-icon.bounce-in{visibility:visible;-webkit-animation:cd-bounce-1 .6s;animation:cd-bounce-1 .6s}@-webkit-keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2)}to{-webkit-transform:scale(1)}}@keyframes cd-bounce-1{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}60%{opacity:1;-webkit-transform:scale(1.2);transform:scale(1.2)}to{-webkit-transform:scale(1);transform:scale(1)}}.vertical-timeline-element-content{position:relative;margin-left:60px;background:#fff;border-radius:.25em;padding:1em;-webkit-box-shadow:0 3px 0 #ddd;box-shadow:0 3px 0 #ddd}.vertical-timeline--one-column-right .vertical-timeline-element-content{margin-right:60px;margin-left:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content{background:0 0;-webkit-box-shadow:none;box-shadow:none}.vertical-timeline-element-content:after{content:"";display:table;clear:both}.vertical-timeline-element-content h2{color:#303e49}.vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline-element-content p{font-size:13px;font-size:.8125rem;font-weight:500}.vertical-timeline-element-content .vertical-timeline-element-date{display:inline-block}.vertical-timeline-element-content p{margin:1em 0 0;line-height:1.6}.vertical-timeline-element-subtitle,.vertical-timeline-element-title{margin:0}.vertical-timeline-element-content .vertical-timeline-element-date{float:left;padding:.8em 0;opacity:.7}.vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:100%;height:0;width:0;border:7px solid transparent;border-right-color:#fff}.vertical-timeline--one-column-right .vertical-timeline-element-content-arrow{content:"";position:absolute;top:16px;right:unset;left:100%;height:0;width:0;border:7px solid transparent;border-left-color:#fff}.vertical-timeline--one-column-right .vertical-timeline-element-content:before{left:100%;border-left:7px solid #fff;border-right:unset}.vertical-timeline-element--no-children .vertical-timeline-element-content-arrow,.vertical-timeline-element--no-children .vertical-timeline-element-content:before{display:none}@media only screen and (min-width:768px){.vertical-timeline-element-content h2{font-size:20px;font-size:1.25rem}.vertical-timeline-element-content p{font-size:16px;font-size:1rem}.vertical-timeline-element-content .vertical-timeline-element-date{font-size:14px;font-size:.875rem}}@media only screen and (min-width:1170px){.vertical-timeline--two-columns .vertical-timeline-element-content{margin-left:0;padding:1.5em;width:44%}.vertical-timeline--two-columns .vertical-timeline-element-content-arrow{top:24px;left:100%;-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vertical-timeline--two-columns .vertical-timeline-element-content .vertical-timeline-element-date{position:absolute;width:100%;left:124%;top:6px;font-size:16px;font-size:1rem}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content{float:right}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:auto;right:100%;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--one-column-right .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content-arrow,.vertical-timeline--one-column-right .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content-arrow{top:24px;left:100%;right:auto;-webkit-transform:rotate(0);transform:rotate(0)}.vertical-timeline--two-columns .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content .vertical-timeline-element-date,.vertical-timeline--two-columns .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content .vertical-timeline-element-date{left:auto;right:124%;text-align:right}}.vertical-timeline--animate .vertical-timeline-element-content.is-hidden{visibility:hidden}.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2 .6s;animation:cd-bounce-2 .6s}@media only screen and (min-width:1170px){.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element.vertical-timeline-element--right .vertical-timeline-element-content.bounce-in,.vertical-timeline--two-columns.vertical-timeline--animate .vertical-timeline-element:nth-child(2n):not(.vertical-timeline-element--left) .vertical-timeline-element-content.bounce-in{-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@media only screen and (max-width:1169px){.vertical-timeline--animate .vertical-timeline-element-content.bounce-in{visibility:visible;-webkit-animation:cd-bounce-2-inverse .6s;animation:cd-bounce-2-inverse .6s}}@-webkit-keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2{0%{opacity:0;-webkit-transform:translateX(-100px);transform:translateX(-100px)}60%{opacity:1;-webkit-transform:translateX(20px);transform:translateX(20px)}to{-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px)}to{-webkit-transform:translateX(0)}}@keyframes cd-bounce-2-inverse{0%{opacity:0;-webkit-transform:translateX(100px);transform:translateX(100px)}60%{opacity:1;-webkit-transform:translateX(-20px);transform:translateX(-20px)}to{-webkit-transform:translateX(0);transform:translateX(0)}}#solar-system.solar-system{--solar-size:clamp(280px,82vw,620px);--star-size:calc(var(--solar-size) * 0.34);--wordpress-orbit:calc(var(--solar-size) * 0.44);--shopify-orbit:calc(var(--solar-size) * 0.58);--js-orbit:calc(var(--solar-size) * 0.72);--mern-orbit:calc(var(--solar-size) * 0.92);position:relative;width:var(--solar-size);height:var(--solar-size);max-width:100%;aspect-ratio:1;margin:0 auto;perspective:800px;transform-style:preserve-3d}#solar-system.solar-system:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(20,184,166,.15) 1px,transparent 0);background-size:24px 24px;opacity:.04;pointer-events:none;z-index:0}.orbit{border:2px dotted rgba(219,222,235,.42)}.central-star{background-size:cover;overflow:hidden;border:3px solid #14b8a6}.central-star,.orbit,.orbit+div,.orbit+div>div{position:absolute}.central-star,.orbit,.orbit+div{top:50%;left:50%}.orbit+div>div{top:0;left:50%}.central-star,.orbit,.orbit+div div{border-radius:999px}.central-star{height:var(--star-size);width:var(--star-size);margin-top:calc(var(--star-size) / -2);margin-left:calc(var(--star-size) / -2);background-color:#99f6e4;box-shadow:1.5px 3px 58.5px rgba(20,184,166,.55);z-index:2}.central-star:after{content:"";position:absolute;inset:-8px;border-radius:999px;border:2px solid rgba(20,184,166,.3);animation:starPulse 3s ease-in-out infinite;pointer-events:none}@keyframes starPulse{0%,to{box-shadow:0 0 20px rgba(20,184,166,.3);opacity:.6}50%{box-shadow:0 0 40px rgba(20,184,166,.6);opacity:1}}.planet-icon{display:block;height:auto}.wordpress img{width:clamp(28px,8vw,41px)}.shopify img{width:clamp(34px,9vw,50px)}.mern img{width:clamp(68px,18vw,105px)}.js img{width:clamp(30px,8vw,45px)}.shopify{top:0;left:50%;translate:-50% -50%;box-shadow:0 0 14.5px #95bf47,0 0 30px rgba(149,191,71,.3);animation:spin-left 18.5s linear infinite;will-change:transform;z-index:1}.shopify-orbit,.shopify-spin{width:var(--shopify-orbit);height:var(--shopify-orbit);margin-left:calc(var(--shopify-orbit) / -2);margin-top:calc(var(--shopify-orbit) / -2)}.moon{margin-top:-4.5px;margin-left:-4.5px;height:9px;width:9px;background:#fff;box-shadow:0 0 10.5px #3a4385}.moon-orbit,.moon-spin{height:67.5px;width:67.5px;margin-top:-33.75px;margin-left:-33.75px;border-color:#447}.wordpress{translate:-50% -50%;background-color:#3498db;box-shadow:0 0 25.5px #3a4385,0 0 30px rgba(33,117,155,.3);animation:spin-left 22s linear infinite;will-change:transform;z-index:1}.wordpress-orbit,.wordpress-spin{width:var(--wordpress-orbit);height:var(--wordpress-orbit);margin-top:calc(var(--wordpress-orbit) / -2);margin-left:calc(var(--wordpress-orbit) / -2)}.mern{translate:-50% -50%;box-shadow:0 0 10.5px rgba(20,184,166,.6),0 0 30px rgba(20,184,166,.3);animation:spin-left 68.7s linear infinite;will-change:transform;z-index:1}.mern-orbit,.mern-spin{width:var(--mern-orbit);height:var(--mern-orbit);margin-left:calc(var(--mern-orbit) / -2);margin-top:calc(var(--mern-orbit) / -2)}.js{translate:-50% -50%;box-shadow:0 0 16.5px #ffffff,0 0 30px rgba(255,255,255,.2);animation:spin-left 37.7s linear infinite;will-change:transform;z-index:1}.js-orbit,.js-spin{width:var(--js-orbit);height:var(--js-orbit);margin-left:calc(var(--js-orbit) / -2);margin-top:calc(var(--js-orbit) / -2)}@keyframes spin-right{to{transform:rotate(1turn)}}@keyframes spin-left{to{transform:rotate(-1turn)}}.shopify-spin{animation:spin-right 18.5s linear infinite}.moon-spin{animation:spin-right 5s linear infinite}.wordpress-spin{animation:spin-right 22s linear infinite}.mern-spin{animation:spin-right 68.7s linear infinite}.js-spin{animation:spin-right 37.7s linear infinite}.solar-particle{position:absolute;border-radius:999px;background:rgba(20,184,166,.4);pointer-events:none;z-index:0;animation:particleFloat linear infinite}@keyframes particleFloat{0%,to{transform:translate(0) scale(1);opacity:.2}25%{transform:translate(8px,-12px) scale(1.2);opacity:.5}50%{transform:translate(-4px,-20px) scale(.8);opacity:.3}75%{transform:translate(12px,-8px) scale(1.1);opacity:.6}}@media screen and (max-width:768px){#solar-system.solar-system{--solar-size:clamp(240px,82vw,340px);--wordpress-orbit:calc(var(--solar-size) * 0.40);--shopify-orbit:calc(var(--solar-size) * 0.52);--js-orbit:calc(var(--solar-size) * 0.65);--mern-orbit:calc(var(--solar-size) * 0.78)}.wordpress img{width:30px}.shopify img{width:36px}.mern img{width:65px}.js img{width:32px}.orbit{border-width:1.5px}.central-star{border-width:2.5px}.solar-particle{display:none}}.singleProject{width:100%;max-width:380px;min-height:100%;backdrop-filter:blur(8px)}.project-cover-wrap{aspect-ratio:16/9;max-height:180px}.project-cover{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;background:rgba(5,10,20,.6);transition:transform .5s cubic-bezier(.22,1,.36,1)}.singleProject:hover .project-cover{transform:scale(1.04)}@media (max-width:640px){.singleProject{max-width:100%}}