body{background-color:#171717;margin:10vh}.banner{display:flex;flex-direction:row;flex-wrap:wrap-reverse;justify-content:center;align-items:center;padding-top:30px;margin:30px;gap:20px}.banner-text-container{max-width:950px;display:flex;flex-direction:column}.banner-text{color:#fff;font-family:proxima-nova,Cabin;font-style:normal;font-weight:800;margin:-1px}.banner-text#line-1{font-size:68px;animation:animate-banner-elements .5s}.banner-text#line-2{font-size:78px;animation:animate-banner-elements 1s}.banner-subtext{font-size:22px;font-weight:100;font-family:proxima-nova,Cabin;color:#bfbfbf;animation:animate-banner-elements 1.5s}@keyframes animate-banner-elements{0%{transform:translateY(200px);opacity:0}25%{opacity:0}to{transform:translateY(0);opacity:100%}}@keyframes animate-opacity{0%{opacity:0}to{opacity:100%}}.banner-changing-text{background:linear-gradient(90deg,#25ac9b,#60c2ec,#d1b6fb,#60c2ec,#25ac9b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;background-size:2000px;animation:animate-gradient 30s linear infinite}@keyframes animate-gradient{0%{background-position:0}to{background-position:400%}}.banner-buttons{display:flex;flex-direction:row;align-items:center;text-align:center;animation:animate-opacity 2.5s}.banner-button{font-weight:100;cursor:pointer;display:block;font-family:proxima-nova,Cabin;font-size:20px;font-weight:600;line-height:45px;background:#fff;-webkit-text-fill-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-background-clip:text;background-clip:text;background-size:2000px;animation:animate-gradient 30s linear infinite;margin:0 0 2em;max-width:160px;position:relative;text-decoration:none;width:160px;border:1px solid transparent;transition:all .35s;align-items:left}.banner-button svg{height:45px;left:0;position:absolute;top:0;width:100%}.banner-button rect{fill:none;stroke:#bfbfbf;stroke-width:2;stroke-dasharray:422,0;background-image:linear-gradient(90deg,#25ac9b,#60c2ec,#d1b6fb,#60c2ec,#25ac9b);-webkit-background-clip:padding-box;background-clip:padding-box;background-size:2000px;animation:animate-gradient 30s linear infinite;transition:all .35s linear}.banner-button:active,.banner-button:hover{font-weight:1000;background-image:var(--primary-gradient);transition:all .6s ease-in-out}.banner-button:hover rect{stroke:#fff;stroke-width:5;stroke-dasharray:15,310;stroke-dashoffset:48;transition:all 1.35s cubic-bezier(.19,1,.22,1)}.banner-socials-container{display:flex;flex-direction:row;flex-wrap:wrap;align-items:baseline;padding-left:5px;animation:animate-opacity 3s}.banner-icon{cursor:pointer;padding-right:20px;color:#bfbfbf;background-image:linear-gradient(90deg,#25ac9b,#60c2ec,#d1b6fb,#60c2ec,#25ac9b);-webkit-background-clip:text;background-clip:text;background-size:2000px;animation:animate-gradient 30s linear infinite;transition:color .5s}.banner-icon:hover{color:transparent;transition:color 2.5s}.banner-socials-subtext{font-size:18px;font-weight:100;font-family:proxima-nova,Cabin;color:#272727}.portfolio-container{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:50px}.portfolio-text-container{width:1080px;display:flex;flex-direction:column}.projects-container{flex-direction:row;align-items:flex-start;max-width:1080px;gap:80px}.project-container,.projects-container{display:flex;flex-wrap:wrap;justify-content:center}.project-container{flex-direction:column;align-items:center;max-width:480px;height:cover;gap:20px}.project-thumbnail-container{display:flex;justify-content:center;align-items:center}.project-thumbnail{transition:opacity .1s;object-fit:scale-down;width:min(450px,80vw);height:auto;border-radius:25px}.project-thumbnail:hover{opacity:.6;transition:opacity .1s}.project-text-container{font-size:20px;font-weight:100;font-family:proxima-nova,Cabin;color:#bfbfbf;margin-top:0;animation:animate-opacity 2.5s}.hidden{opacity:0;transform:translateY(20%)}.intersection{opacity:100%;transform:translateY(0);transition:all 1s}@media only screen and (max-width:600px){.banner{padding-top:50px}.banner-image{height:50vw;padding-bottom:30px}.banner-buttons{justify-content:center}.banner-header,.banner-text-container{justify-content:center;align-items:center}.banner-header{display:flex;flex-direction:column}.banner-subtext,.banner-text{text-align:center}.banner-text{font-size:40px!important}.banner-subtext{font-size:18px;padding-top:20px;padding-bottom:20px}.banner-socials-container{justify-content:center;align-items:center}.banner-socials-subtext{font-size:16px}}