@import "https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Cinzel+Decorative:wght@400;700&family=Cinzel:wght@400;700&family=EB+Garamond:ital,wght@0,400;0,500;0,700;1,400;1,500;1,700&family=Playfair+Display+SC:ital,wght@0,400;0,900;1,400;1,900&family=Shrikhand&family=Uchen&display=swap";.project-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr) minmax(100px,1fr));gap:2rem;width:100%;margin:2rem auto auto;display:grid;container-type:inline-size}@container (width>=calc(200px + 2rem)){.project-grid .project-card{grid-column-end:span 2}}@container (calc(400px + 6rem)<width<calc(600px + 10rem)){.project-grid .project-card:nth-child(odd):last-child:not(:only-child){grid-column-start:2}}@container (calc(600px + 10rem)<width<calc(800px + 14rem)){.project-grid .project-card:nth-child(3n+4):last-child{grid-column-start:3}.project-grid:has(:nth-child(3n+5):last-child)>:nth-last-child(2){grid-column-start:2}}@container (calc(800px + 14rem)<width<calc(1000px + 18rem)){.project-grid .project-card:nth-child(4n+5):last-child{grid-column:4/6}.project-grid:has(:nth-child(4n+6):last-child)>:nth-last-child(2){grid-column:3/5}.project-grid:has(:nth-child(4n+7):last-child)>:nth-last-child(3){grid-column:2/4}}.card-img{width:100%;height:100%;transition:filter .2s}.card-img:not(:hover){filter:grayscale()}.placeholder-img{transition:filter .2s}.placeholder-img:not(:hover){filter:brightness(0)saturate()invert(12%)sepia(16%)saturate(343%)hue-rotate(109deg)brightness(89%)contrast(95%)}.no-results-found{margin-top:4rem}.projects-sort{--background-select-width:52.7px;--background-select-left:0;-webkit-user-select:none;user-select:none;border-radius:3px;max-width:100%;position:relative;overflow:hidden;-ms-overflow-style:none!important;scrollbar-width:none!important}.projects-sort ::-webkit-scrollbar{display:none!important}.projects-sort .segmented-control{z-index:1;border:1px var(--ink-color)solid;border-radius:3px;width:max-content;font-size:0}.projects-sort .segmented-control:after{content:"";width:var(--background-select-width);height:100%;top:0;left:var(--background-select-left);z-index:-1;background:var(--ink-color);transition:all .35s cubic-bezier(0,.95,.38,.98);display:block;position:absolute;transform:translate(0)}.projects-sort input{display:none}.projects-sort input:checked+label{color:var(--background-color)}.projects-sort label{cursor:pointer;padding:6px 1em;font-size:1rem;transition:color .35s cubic-bezier(0,.95,.38,.98);display:inline-block}.projects-sort label:not(:last-child){border-right:1px var(--ink-color)solid}@media (max-width:460px){.projects-sort label{font-size:.9rem}}:root{--background-color:#e6e1cd;--ink-color:#1c2220;--ink-color-gray:#434744;--accent-blue:#659bb5;--accent-green:#6cbb94;--accent-yellow:#ecbc54;--accent-red:#dc644c;--accent-purple:#715584;--link-color:#306882;--link-visited-color:rebeccapurple;--highlight-color:#e6e626;--highlight-text-color:initial;--parchment-dye-color:#8f5922;--paper-bg-img:url(data:image/png;base64,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)}*{box-sizing:border-box;margin:0;padding:0}::selection{background-color:var(--highlight-color);color:var(--highlight-text-color);fill:var(--highlight-text-color)}@counter-style roman{system:additive;range:1 3999;additive-symbols:1000 "M",900 "CM",500 "D",400 "CD",100 "C",90 "XC",50 "L",40 "XL",10 "X",9 "IX",5 "V",4 "IV",1 "I"}.resize-animation-stopper .table-of-contents,.resize-animation-stopper .table-of-contents *{transition:none!important;animation:none!important}.flex{gap:var(--gap,1rem);display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.center-text{text-align:center}.hide-overflow-box{overflow:hidden!important}.dont-overflow{max-width:100%}.sr-only{clip:rect(0,0,0,0);border:0;outline:0;width:1px;height:1px;margin:-1px 0 0 -1px;padding:0;font-size:1px;line-height:1px;display:block;position:absolute;overflow:hidden}.underline-wrapper{position:absolute;left:0;right:0}.underline-wrapper .underline{background-color:#1c2220;background-clip:content-box;width:100%;max-width:78rem;height:.031em;max-height:.031em;margin:0 auto;padding:0 3rem}.font-playfair,.font-playfair-big{font-family:Playfair Display SC,serif;font-weight:400}.font-playfair-big{text-transform:uppercase;font-size:xxx-large;font-weight:700}.font-bebasneue,.font-bebasneue-big{font-family:Bebas Neue,cursive;font-weight:400}.font-bebasneue-big{font-weight:700}.font-cinzel{font-family:Cinzel,serif}.font-cinzel:first-letter{font-family:Cinzel Decorative,cursive}.font-shrikhand{font-family:Shrikhand,cursive}.header-inline,.header-svg{padding-right:1rem;display:inline-block}.header-svg{height:1em}.header-underline{border-bottom:1px solid var(--ink-color)}.medium-header{font-size:2rem}.font-color{color:currentColor}.font-color-black{color:var(--ink-color)}.font-color-gray{color:var(--ink-color-gray)}.font-size-larger{font-size:larger}a.alt-link{color:currentColor}a.alt-link:hover{text-decoration:underline}body{min-height:100vh;color:var(--ink-color);background-color:var(--background-color);background-image:var(--paper-bg-img);flex-direction:column;margin:0;font-family:Uchen,serif;font-size:medium;display:flex;overflow-x:hidden}h1{font-family:Cinzel,serif;font-size:4rem}h2{margin-bottom:.5rem;font-family:Playfair Display SC,serif;font-size:1.5rem}p{margin-bottom:1rem}ul,ol{padding-left:1em}.collapsible-details[type=checkbox]{display:none}.collapsible-details[type=checkbox]:checked+details{max-height:800px}.collapsible-details[type=checkbox]:checked+details label:before{transition:rotate .2s ease-out;rotate:90deg}details{--collapsed-height:2em;box-sizing:border-box;width:fit-content;max-width:100%;max-height:var(--collapsed-height);margin-bottom:1rem;transition:max-height .4s ease-out;overflow:hidden}details summary{-webkit-user-select:none;user-select:none;cursor:pointer;width:fit-content;display:block;position:relative}details label{height:var(--collapsed-height);width:fit-content;display:flex;position:relative}details label:hover{cursor:pointer}details label:before{content:"⏵";align-items:center;height:1.75em;margin-right:.25em;font-size:1em;transition:rotate .2s ease-out .4s;display:flex}details .content>*{margin-left:1em}main{flex:1;width:100%;max-width:78rem;margin:6rem auto auto;padding:0 3rem}main a{color:var(--link-color);text-decoration:none;text-decoration-thickness:1px}main a:hover{text-decoration:underline}main a:visited{color:var(--link-visited-color)}main button{width:25rem;max-width:100%;color:var(--ink-color);border:2px solid var(--ink-color);text-align:left;cursor:pointer;background-color:#0000;margin-bottom:2em;padding:.1rem 1rem;font-family:Uchen,serif;font-size:medium;text-decoration:none;transition:width .35s,color .3s;display:block;position:relative}main button:after{content:"";z-index:-1;background:url(/assets/filters/grainBackground.svg);width:0;height:100%;transition:width .3s;position:absolute;top:0;left:0}main button:hover{color:var(--background-color)}main button:hover:after{width:100%}section{margin-top:2rem}img{object-fit:contain;max-width:100%;height:auto}img.small{width:320px}img.medium{width:520px}img.large{width:640px}svg{overflow:visible}svg>text{fill:currentColor}.float-right{float:right;max-width:100%;margin:.5rem 0 .5rem .5rem}.float-left{float:left;max-width:100%;margin:.5rem .5rem .5rem 0}.table-of-contents{transition:none}@media (max-width:768px){.table-of-contents{z-index:1000;background:var(--background-color);background-image:var(--paper-bg-img);height:100vh;padding:5rem 2em;transition:transform .35s ease-out,box-shadow .2s;position:fixed;inset:0 7.5% 0 0;transform:translate(-100%)}.table-of-contents[data-visible=true]{transform:translate(0%);box-shadow:2px 3px 20px #000}}.toc-decoration{display:none}@media (max-width:768px){.toc-decoration{display:block}.toc-decoration img{width:18rem;max-width:100%;margin:.5em auto;display:block}.toc-decoration h1{text-align:center;text-transform:uppercase;letter-spacing:.5em;border-bottom:1px solid var(--ink-color);margin-bottom:2rem;font-family:Playfair Display SC,serif;font-size:1.3em;font-weight:400}}.mobile-nav-toggle{display:none}@media (max-width:768px){.mobile-nav-toggle{z-index:9999;aspect-ratio:50/120;background:url(/assets/images/bookmark.svg) 0 0/contain no-repeat;border:0;width:2.5rem;display:block;position:fixed;top:-2em;right:4rem}.mobile-nav-toggle:hover{top:-.5em}}a.logo{background:url(/assets/images/colors.svg) left bottom 8px/100% .3em repeat-x;margin:1rem;font:30px Shrikhand,cursive;text-decoration:none}a.logo:before{content:"Eli Michaud";color:var(--ink-color)}@media (max-width:768px){a.logo:before{content:"EM"}}.primary-header{border-bottom:1px solid var(--ink-color);justify-content:space-between;align-items:center}.primary-navigation{margin:0;padding:0 3rem 0 1rem;font-family:EB Garamond,serif;font-size:large;list-style:none}.primary-navigation a{color:var(--ink-color);text-decoration:none}.primary-navigation [aria-current=page]{font-style:italic}@media (max-width:768px){.primary-navigation [aria-current=page]{font-style:unset}.primary-navigation{text-transform:capitalize;counter-reset:item;flex-direction:column;padding:0;font-size:1.5em}.primary-navigation li{margin-bottom:1.2rem}.primary-navigation li:before{content:counter(item,roman)" ";counter-increment:item;width:2em;display:inline-block}}.hero{z-index:0;width:100%;height:40rem;max-height:100vh;color:var(--background-color);--highlight-color:var(--background-color);--highlight-text-color:var(--ink-color);background-color:var(--ink-color);mix-blend-mode:darken;mix-blend-mode:difference;mix-blend-mode:exclusion;mix-blend-mode:multiply;filter:contrast()brightness(140%);margin:0;display:block;position:relative;overflow:hidden}@media (max-width:768px){.hero{height:100vh}}.hero:before{content:"";filter:url(/assets/filters/noiseFilter.svg#noiseFilter);opacity:.75;z-index:3;mix-blend-mode:darken;mix-blend-mode:difference;mix-blend-mode:exclusion;mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;pointer-events:none;background:#000;width:100%;height:100%;position:absolute;top:0;left:0}.hero .hero-inside{width:100%;max-width:78rem;margin:10rem auto;padding:0 3rem}.hero .hero-heading{width:42rem;max-width:100%;margin:0 auto}.hero svg.hero-name{font-family:Shrikhand,cursive}.hero .hero-subheading{text-align:right;background-color:var(--ink-color);width:fit-content;margin-left:auto;padding-left:10px;font-family:Shrikhand,cursive;font-weight:400}.hero-nav{text-align:center;margin:9rem 0;padding:1rem 0;font-size:0}@media (max-width:768px){.hero-nav{margin:7rem 0}}@media (max-width:460px){.hero-nav{margin:4rem 0}}.hero-nav a{color:var(--background-color);text-decoration:none}.hero-nav-button{z-index:1;min-width:7.5rem;color:var(--ink-color);border:.15em solid var(--ink-color);cursor:pointer;--button-margin:1rem;border-radius:100vw;padding:.2rem 1rem;font:x-large Uchen,serif;transition:transform .2s;display:inline;position:relative}@media (max-width:768px){.hero-nav-button{--button-margin:0rem;transform:scale(.85)}}@media (max-width:460px){.hero-nav-button{margin:1.5rem auto;display:block}}.hero-nav-button .hero-button-text{z-index:4;-webkit-user-select:none;user-select:none;position:relative}.hero-nav-button .hero-button-fill{z-index:3;background-color:var(--background-color);background-image:var(--paper-bg-img);border-radius:100vw;position:absolute;inset:0}.hero-nav-button .hero-button-shadow{z-index:2;background-color:var(--ink-color);border-radius:100vw;position:absolute;inset:0;transform:translate(-.2175em,.2175em)}.hero-nav-button:hover{transform:scale(1.2)}@media (max-width:768px){.hero-nav-button:hover{transform:scale(1)}}.hero-nav-button:not(:last-child){margin-right:var(--button-margin)}@media (max-width:460px){.hero-nav-button:not(:last-child){margin-left:auto;margin-right:auto}}.hero-nav-button:not(:first-child){margin-left:var(--button-margin)}@media (max-width:460px){.hero-nav-button:not(:first-child){margin-left:auto;margin-right:auto}}.hero-background{z-index:-1;width:75rem;max-width:100%;position:absolute;top:-20%;bottom:0}.hero-background svg{max-width:100%;height:100%}.contact-body{flex-wrap:wrap;display:flex}.contact-body .contact-left{max-width:100%;margin-bottom:.5em;font-size:2.5rem}.contact-body h1{width:41rem;max-width:100%}.contact-body .middle{flex:1;width:0;min-width:0}.contact-body .contact-right{flex-wrap:wrap;flex:1;align-items:stretch;width:25rem;max-width:100%;height:100%;display:flex}.contact-body .contact-right .social-links{width:25rem;max-width:100%;margin:0 3rem 3rem 0}.contact-body .contact-right .download-links{width:25rem;max-width:100%}@media (min-width:768px){.contact-body .mail-link-container{margin-left:1.5em}.contact-body .mail-link-container:before{content:"→"}}.home-body{flex-wrap:wrap-reverse;gap:1rem;display:flex}.home-body .home-left{flex:1;width:39rem;max-width:100%}.home-body .home-right{flex:1;width:500px;min-width:300px;max-width:100%}.home-body .home-right img{width:100%}@media (max-width:768px){.home-body .home-right{min-width:100%}}.project-software-icons{margin:1rem 0 0;font-size:0;display:inline-block}.project-software-icons .icon{width:25px;height:fit-content;margin:0 1rem 0 0;display:inline-block;position:relative}.project-software-icons .icon:last-child{margin-right:0}.project-software-icons .icon>img:not(:hover){filter:brightness(0)saturate()invert(12%)sepia(16%)saturate(343%)hue-rotate(109deg)brightness(89%)contrast(95%)}.footer-container{flex:1;width:100%;max-width:78rem;max-height:100px;margin:6rem auto auto;padding:0 3rem}footer{text-align:center;border-top:1px solid var(--ink-color);flex-direction:column;justify-content:center;width:100%;min-height:100px;font-family:EB Garamond,serif;font-size:medium;display:flex;position:relative}footer .copyright{text-align:left;padding-bottom:.5rem;font-size:smaller;position:absolute;bottom:0}.slidein-left{animation:.4s cubic-bezier(.18,.89,.32,1.28) backwards slidein-left;animation-delay:calc(var(--animation-order,0)*.1s)}.slidein-bottom{animation:.4s cubic-bezier(.18,.89,.32,1.28) backwards slidein-bottom;animation-delay:calc(var(--animation-order,0)*.1s)}.mask-reveal-top{animation:.5s ease-out mask-slideout-bottom}@keyframes mask-slideout-bottom{0%{clip-path:polygon(0 0,100% 0,100% 0,0 0)}to{clip-path:polygon(0 0,100% 0,100% 100%,0% 100%)}}@keyframes slidein-bottom{0%{transform:translateY(150%)}to{transform:translateY(0)}}@keyframes slidein-left{0%{transform:translate(150%)}to{transform:translate(0)}}