.dark-mode{--colorBackground:#0a060b;--colorBase:#ffffff;--colorPrimary:#D91DEA;--colorSecondary:#b5b137}.light-mode{--colorBackground:#ffffff;--colorBase:#000000;--colorPrimary:#82278A;--colorSecondary:#f8acff}*{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:0 0}html{scroll-behavior:smooth;overflow:auto}body{position:relative;background-color:var(--colorBackground);color:var(--colorBase);font-family:Raleway,sans-serif;margin:0;overflow:hidden}h1,h2,h3,h4,h5,h6{font-family:Tomorrow,sans-serif}img{max-width:100%}.shidden{display:none}.hidden{display:none}.emphasized{font-weight:700;text-transform:uppercase;font-size:1.5rem}.container{padding:0 1rem}.btn{display:block;position:relative;padding:.75rem 2rem;border-radius:5px;text-decoration:none;text-align:center;font-weight:700;color:var(--colorBase);font-family:Raleway,sans-serif}.btn.current::after{display:none}.btn--primary{background:-webkit-gradient(linear,left top,right bottom,from(var(--colorPrimary)),to(var(--colorSecondary)));background:linear-gradient(to bottom right,var(--colorPrimary),var(--colorSecondary))}.btn::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border:1px solid var(--colorBase);-webkit-transform:rotate(0);transform:rotate(0);border-radius:5px;-webkit-transition:-webkit-transform ease .2s;transition:-webkit-transform ease .2s;transition:transform ease .2s;transition:transform ease .2s,-webkit-transform ease .2s}.btn:active::after,.btn:focus::after,.btn:hover::after{-webkit-transform:rotate(-3deg);transform:rotate(-3deg);-webkit-transition:-webkit-transform ease 250ms;transition:-webkit-transform ease 250ms;transition:transform ease 250ms;transition:transform ease 250ms,-webkit-transform ease 250ms}.btn--secondary{position:relative;background:var(--colorBackground);background-clip:padding-box}.btn--secondary.current{background:-webkit-gradient(linear,left top,right bottom,from(var(--colorPrimary)),to(var(--colorSecondary)));background:linear-gradient(to bottom right,var(--colorPrimary),var(--colorSecondary))}.btn--secondary.current::after{display:none}.btn--secondary::before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;margin:-2px;border-radius:inherit;background:-webkit-gradient(linear,left top,right bottom,from(var(--colorPrimary)),to(var(--colorSecondary)));background:linear-gradient(to bottom right,var(--colorPrimary),var(--colorSecondary))}.presentation.reveal{-webkit-transform:translateX(-100px);transform:translateX(-100px)}.technos.reveal{-webkit-transform:translateY(50px);transform:translateY(50px)}.reveal{opacity:0;-webkit-transition:0s;transition:0s}.reveal.reveal--visible{opacity:1;-webkit-transform:translateX(0);transform:translateX(0);-webkit-transform:translateY(0);transform:translateY(0);-webkit-transition:1s cubic-bezier(.215,.61,.355,1);transition:1s cubic-bezier(.215,.61,.355,1)}.gradientBorder{position:relative;display:inline-block}.gradientBorder::after{content:" ";width:80%;height:60%;display:block;position:absolute;top:-1rem;left:1rem;border-width:3px;border-style:solid}.gradientBorder--topLeft::after{-o-border-image:linear-gradient(to right,var(--colorPrimary),var(--colorSecondary)) 1;border-image:-webkit-gradient(linear,left top,right top,from(var(--colorPrimary)),to(var(--colorSecondary))) 1;border-image:linear-gradient(to right,var(--colorPrimary),var(--colorSecondary)) 1;border-right:transparent;border-bottom:transparent}.gradientBackground{background-image:-webkit-gradient(linear,right top,left bottom,from(var(--colorPrimary)),to(var(--colorSecondary)));background-image:linear-gradient(to bottom left,var(--colorPrimary),var(--colorSecondary))}.section{position:relative;margin:10rem 0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.section__title{font-size:3.5rem;text-transform:uppercase;-webkit-text-stroke:1px #31312b;color:transparent;margin:-1rem 0;line-height:3rem}nav{position:fixed;top:0;width:100%;text-align:center;z-index:2}nav a{position:relative;color:var(--colorBase);text-decoration:none;text-transform:uppercase;display:inline-block;padding:.5rem 0}.logo{padding:.5rem 0;background-color:var(--colorBackground);position:relative}.logo__container{display:block;max-height:50px;padding:.5rem;max-width:50px;margin:auto}.logo img{-webkit-filter:invert(1.5) sepia(1) saturate(5) hue-rotate(175deg);filter:invert(1.5) sepia(1) saturate(5) hue-rotate(175deg);max-height:50px}.menu{position:fixed;width:100%;height:100%;padding-top:1rem;background-color:rgba(10,6,11,.95);left:-100%;z-index:-1}.menu a::after{content:"";position:absolute;width:0%;height:3px;background:-webkit-gradient(linear,right top,left bottom,from(var(--colorPrimary)),color-stop(var(--colorPrimary)),to(var(--colorSecondary)));background:linear-gradient(to left bottom,var(--colorPrimary),var(--colorPrimary),var(--colorSecondary));bottom:10px;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:-1}.menu a:active::after,.menu a:focus::after,.menu a:hover::after{width:110%;-webkit-transition:width .5s;transition:width .5s}#menu__hamburger{position:absolute;left:1rem;-webkit-transform:translateY(-50%);transform:translateY(-50%);top:50%;font-size:1.5rem;color:transparent;background:-webkit-gradient(linear,left top,right top,from(var(--colorPrimary)),to(var(--colorSecondary)));background:linear-gradient(to right,var(--colorPrimary),var(--colorSecondary));background-clip:text;-webkit-background-clip:text;padding:1rem;margin-left:-1rem}#menu__hamburger:active,#menu__hamburger:focus,#menu__hamburger:hover{cursor:pointer}.icon-download:active::after,.icon-download:hover::after{content:"Download my resume";position:absolute;bottom:-3.5rem;left:-50%;text-align:center;background:var(--colorPrimary);padding:.25rem .5rem;border-radius:10px;font-family:Raleway,sans-serif;font-size:.8rem}.links{position:absolute;right:1rem;top:1.25rem;list-style:none}.links__item{display:inline-block;font-size:1rem}.links__item:active a:before,.links__item:focus a:before,.links__item:hover a:before{background:-webkit-gradient(linear,left top,left bottom,from(var(--colorPrimary)),to(var(--colorSecondary)));background:linear-gradient(to bottom,var(--colorPrimary),var(--colorSecondary));background-clip:text;-webkit-background-clip:text}.links__item:active i,.links__item:focus i,.links__item:hover i{border-radius:50%;background:linear-gradient(80deg,var(--colorPrimary),var(--colorSecondary)) border-box;mask:auto;-webkit-mask:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff)) padding-box,-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff));-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:add,add;-webkit-mask-composite:xor;mask-composite:exclude}.links__item:active i:before,.links__item:focus i:before,.links__item:hover i:before{background:-webkit-gradient(linear,left top,left bottom,from(var(--colorPrimary)),to(var(--colorSecondary)));background:linear-gradient(to bottom,var(--colorPrimary),var(--colorSecondary));background-clip:text;-webkit-background-clip:text;color:transparent}.links__item a{padding:.3rem 0}.links__item a:before{color:transparent;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.links__item i{padding:10px;border-style:solid;border-width:2px;border-color:transparent}@keyframes showNav{from{left:-100%}to{left:0}}@-webkit-keyframes showNav{from{left:-100%}to{left:0}}.showNav{-webkit-animation:showNav 1s ease forwards;animation:showNav 1s ease forwards}@keyframes hideNav{from{left:0}to{left:-100%}}@-webkit-keyframes hideNav{from{left:0}to{left:-100%}}.hideNav{-webkit-animation:hideNav 1s ease forwards;animation:hideNav 1s ease forwards}.header{position:relative;height:100vh;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:0 1rem;z-index:0;overflow:hidden}.header i{position:absolute;color:var(--colorSecondary);-webkit-transform:translateX(-50%);transform:translateX(-50%);left:50%;bottom:1rem;font-size:2rem;background-clip:text;-webkit-background-clip:text}.header__title{font-size:4rem;line-height:3.5rem;background:-webkit-gradient(linear,left top,left bottom,from(var(--colorPrimary)),to(var(--colorSecondary)));background:linear-gradient(to bottom,var(--colorPrimary),var(--colorSecondary));background-clip:text;background-size:200% 130%;-webkit-background-clip:text;-webkit-text-stroke:3px transparent;color:var(--colorBackground)}.header__subttl{font-size:1.8rem;height:1.8rem;margin-bottom:1rem}.header__subttl,.header__title{margin-left:-1rem;text-transform:uppercase}.header__legend{margin-top:5rem;margin-left:0}.header .btn{margin-top:1.25rem}.bubble{display:none}.presentation{margin-top:6rem;display:grid;grid-template-columns:6fr 30fr}.presentation__title{overflow-wrap:anywhere;display:-webkit-box;display:-ms-flexbox;display:flex}.presentation__description{grid-column:1/span 2;white-space:pre-line;line-height:1.5rem}.presentation .section__title{margin-left:-.75rem;-ms-flex-item-align:end;align-self:end;padding-bottom:1.25rem}.portfolio{-webkit-box-shadow:0 0 47px -200px var(--colorSecondary),0 0 47px -20px var(--colorSecondary);box-shadow:0 0 47px -200px var(--colorSecondary),0 0 47px -20px var(--colorSecondary);background:var(--colorBackground)}.portfolio .container{padding:5rem 1rem}.portfolio .section__title{margin-bottom:-2rem}.portfolio .btn{display:inline-block;margin:0 .25rem}.portfolio__wrapper{margin-top:2rem}.portfolio__item{display:block;text-align:center;margin-bottom:2rem}.portfolio__item__ttl{display:block;font-weight:700}.portfolio__item__description{position:absolute;width:calc(100% - 4rem);height:calc(100% - 4rem);background:rgba(0,0,0,.9);top:0;left:0;padding:2rem;margin:0;opacity:0;text-align:center;color:#fff;-webkit-transition:opacity .2s;transition:opacity .2s;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.portfolio__item__name{font-weight:700}.portfolio__item__technos{text-transform:uppercase;color:var(--colorSecondary)}.portfolio__link{display:block;position:relative;margin-bottom:1rem;border:1px solid;-o-border-image:linear-gradient(to right,var(--colorPrimary),var(--colorSecondary)) 1;border-image:-webkit-gradient(linear,left top,right top,from(var(--colorPrimary)),to(var(--colorSecondary))) 1;border-image:linear-gradient(to right,var(--colorPrimary),var(--colorSecondary)) 1;margin:1rem .5rem;padding:.5rem}.portfolio__link:active .portfolio__item__description,.portfolio__link:focus .portfolio__item__description,.portfolio__link:hover .portfolio__item__description{opacity:1;-webkit-transition:opacity .2s;transition:opacity .2s}.portfolio img{display:block}.technos__wrapper{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;margin-left:3rem;margin-top:3rem}.technos__wrapper:first-of-type{margin-top:0}.technos__subttl{position:absolute;text-transform:uppercase;-webkit-writing-mode:vertical-rl;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;left:-2.5rem;-webkit-transform:translateY(-50%) rotate(180deg);transform:translateY(-50%) rotate(180deg);top:50%;font-size:1.8rem;color:var(--colorBase);text-decoration-style:dotted}.technos__item{position:relative}.technos__item img{display:block}.technos__item::after{content:"";width:100%;height:100%;position:absolute;top:0;left:0;border:1px dashed var(--colorBase);border-radius:50%}.technos__item:active:after,.technos__item:focus:after,.technos__item:hover:after{border-color:transparent;background:linear-gradient(250deg,var(--colorPrimary),var(--colorSecondary)) border-box;mask:auto;-webkit-mask:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff)) padding-box,-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff));-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);mask-composite:exclude;-webkit-mask-composite:clear;mask-composite:clear}.technos__item:active .technos__rollover,.technos__item:focus .technos__rollover,.technos__item:hover .technos__rollover{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.technos__rollover{display:none;background:rgba(0,0,0,.95);width:100%;height:100%;border-radius:50%;position:absolute;top:0;left:0;text-align:center;font-weight:700}.contact{height:100vh;margin:0;margin-top:-10rem}.contact__email{position:relative;font-family:Tomorrow,sans-serif;text-transform:uppercase;color:transparent;text-decoration:none;background:-webkit-gradient(linear,left top,left bottom,from(var(--colorPrimary)),to(var(--colorSecondary)));background:linear-gradient(to bottom,var(--colorPrimary),var(--colorSecondary));background-clip:text;-webkit-background-clip:text;font-size:1.2rem;border-bottom:1px solid #fff;border-radius:5px;padding:.5rem 1rem;margin-top:2rem;display:inline-block;-webkit-transition:color .2s;transition:color .2s}.contact__email:active,.contact__email:focus,.contact__email:hover{background-clip:unset;-webkit-background-clip:unset;background:0 0;color:#fff;-webkit-transition:color .2s;transition:color .2s}.contact__email:active::before,.contact__email:focus::before,.contact__email:hover::before{height:100%;-webkit-transition:height .2s ease-in;transition:height .2s ease-in}.contact__email::before{content:"";width:100%;position:absolute;bottom:0;left:0;right:0;height:0;background:-webkit-gradient(linear,left top,left bottom,from(var(--colorPrimary)),to(var(--colorSecondary)));background:linear-gradient(to bottom,var(--colorPrimary),var(--colorSecondary));height:0%;border-radius:5px;z-index:-1;-webkit-transition:height .2s ease-in;transition:height .2s ease-in}.contact .section__title{margin:1rem 0}.footer{width:100vw;position:absolute;bottom:0;left:0}.wave{background:url(/assets/img/wave.svg) repeat-x;position:absolute;top:-198px;width:6400px;height:198px;-webkit-animation:wave 6s cubic-bezier(.36,.45,.63,.53) infinite;animation:wave 6s cubic-bezier(.36,.45,.63,.53) infinite;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wave:nth-of-type(2){top:-175px;-webkit-animation:wave 6s cubic-bezier(.36,.45,.63,.53) -125ms infinite,swell 6s ease -1.25s infinite;animation:wave 6s cubic-bezier(.36,.45,.63,.53) -125ms infinite,swell 6s ease -1.25s infinite;opacity:1}@-webkit-keyframes wave{0%{margin-left:0}100%{margin-left:-1600px}}@keyframes wave{0%{margin-left:0}100%{margin-left:-1600px}}@-webkit-keyframes swell{0%,100%{-webkit-transform:translate3d(0,-25px,0);transform:translate3d(0,-25px,0)}50%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}}@keyframes swell{0%,100%{-webkit-transform:translate3d(0,-25px,0);transform:translate3d(0,-25px,0)}50%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}}@media (min-width:576px){.portfolio__wrapper{margin-top:3rem}.technos__wrapper{grid-template-columns:repeat(5,1fr)}}@media (min-width:768px){body{cursor:none}a,button{cursor:none}.shidden{display:initial}.section{margin:10rem 0}.section__title{font-size:4rem}.container{padding:0 3rem}#cursor{background-color:var(--colorPrimary);width:20px;height:20px;border-radius:50%;position:fixed;z-index:100;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);pointer-events:none;mix-blend-mode:difference;-webkit-transition:width .2s ease-in,height .2s ease-in;transition:width .2s ease-in,height .2s ease-in}#cursor.cursor--hovered{width:40px;height:40px;-webkit-transition:width .2s ease-in,height .2s ease-in;transition:width .2s ease-in,height .2s ease-in}.btn{display:inline-block}.btn:active::after,.btn:focus::after,.btn:hover::after{-webkit-transform:rotate(-7deg);transform:rotate(-7deg)}nav{display:grid;grid-template-columns:70px 5fr 120px;background-color:rgba(10,6,11,.9);-webkit-box-align:center;-ms-flex-align:center;align-items:center}.logo{padding:.5rem;background:0 0}.logo__container{max-width:initial;max-height:initial}.menu{position:relative;left:0;text-align:right;margin-right:92px;background:0 0;height:-webkit-min-content;height:-moz-min-content;height:min-content;padding:0}.menu__item{display:inline-block;padding:0 1rem}.links{top:0}#menu__hamburger{display:none}.hideNav,.showNav{-webkit-animation:none;animation:none}.links{position:relative;margin-left:1rem}.header{padding:0 1.5rem}.header__title{font-size:5rem;line-height:4.5rem}.header__subttl{font-size:2rem;height:2rem}.header__subttl,.header__title{margin-left:0}.header__legend{max-width:60%}.header .btn{margin-top:1.5rem}.header .btn:first-of-type{margin-right:1rem}.portfolio__wrapper{display:grid;grid-template-columns:1fr 1fr}.portfolio__item{margin-bottom:0}.technos__subttl{font-size:2rem}.contact{margin:0}}@media (min-width:992px){.section__title{font-size:4.5rem}nav{font-size:1rem;grid-template-columns:90px 5fr 120px}.logo img{max-height:60px}.header__title{font-size:6rem;line-height:5.5rem}.bubble{display:block;position:absolute;border-radius:50%;will-change:transform}.bubble--primary{background-color:var(--colorPrimary)}.bubble--secondary{background-color:var(--colorSecondary)}.bubble--xsmall{height:50px;width:50px;-webkit-filter:blur(25px);filter:blur(25px)}.bubble--small{height:120px;width:120px;-webkit-filter:blur(50px);filter:blur(50px)}.bubble--medium{height:210px;width:210px;-webkit-filter:blur(80px);filter:blur(80px)}.bubble--big{height:300px;width:300px;-webkit-filter:blur(130px);filter:blur(130px)}.presentation__img{grid-row:1/span 2}.presentation__title{margin:2rem 0}.presentation__description{grid-column:2/span 1;padding-left:2rem}.technos__wrapper{grid-template-columns:repeat(7,1fr);margin-top:3rem;margin-left:4rem}.technos__wrapper:first-of-type{margin-top:1rem}}@media (min-width:1160px){.container{max-width:1060px;margin:auto}.header__title{font-size:7rem;line-height:6.5rem;margin-left:-.5rem}.header__subttl{margin-left:0}.header__legend{max-width:40%}.technos__wrapper{margin-left:6rem}.technos__subttl{font-size:3rem;left:-4rem}}