103103 <a href =" /#resume" >Resume</a >
104104 </li >
105105 <li >
106- <a href =" /#resume " >Projects</a >
106+ <a href =" /#projects " >Projects</a >
107107 </li >
108108 <li >
109- <a href =" /#resume " >About</a >
109+ <a href =" /#about " >About</a >
110110 </li >
111111 </ul >
112112 </div >
207207 </div >
208208</div >
209209
210+ <div id =" projects" >
211+ <div class =" title" >
212+ <Header text ="Projects" icon ="crane" direction ="left" x ={95 } />
213+ </div >
214+ <div class =" list" >
215+ <a href =" https://github.com/JSA-Partners" target =" _blank" >
216+ <ul >
217+ <li >CATS <span >2023-Present</span ></li >
218+ <li >TypeScript, SvelteKit, Go</li >
219+ </ul >
220+ </a >
221+ <a href =" https://github.com/mattjmoran/dotfiles-macos" target =" _blank" >
222+ <ul >
223+ <li >dotfiles for macOS <span >2021-2023</span ></li >
224+ <li >Bash, Open Source</li >
225+ </ul >
226+ </a >
227+ <a href =" /" >
228+ <ul >
229+ <li >Generative Art <span >2023</span ></li >
230+ <li >JavaScript, P5, Three.js</li >
231+ </ul >
232+ </a >
233+ <a href =" /" >
234+ <ul >
235+ <li >Digital Color Theory <span >2019</span ></li >
236+ <li >Java, Processing</li >
237+ </ul >
238+ </a >
239+ </div >
240+ </div >
241+
242+ <footer >
243+ <p >© {new Date ().getFullYear ()} Matthew J. Moran. All rights reserved.</p >
244+ </footer >
245+
210246<style lang =" postcss" >
211247 @import '$lib/styles/media-queries.pcss' ;
212248 @import '$lib/styles/extends.pcss' ;
442478 }
443479 & li:nth-child (1 ) {
444480 font : 1 rem 'jgs_font' ;
481+ color : var (--light-gray );
445482 margin-bottom : 10 px ;
446483 text-transform : uppercase;
447484 }
475512 justify-content : left;
476513 }
477514 }
515+
516+ #projects {
517+ @extend %flex-column ;
518+ padding : 70 px ;
519+ background-color : black;
520+ align-items : center;
521+ @media (--phone ) {
522+ padding : 50 px ;
523+ }
524+ }
525+
526+ #projects .title {
527+ @extend %flex-row ;
528+ justify-content : right;
529+ width : 100 % ;
530+ max-width : var (--max-content-width );
531+ @media (--tablet ), (--phone ) {
532+ justify-content : center;
533+ }
534+ }
535+
536+ #projects .list {
537+ @extend %flex-column ;
538+ width : 100 % ;
539+ max-width : var (--max-content-width );
540+ margin-top : 50 px ;
541+ & a {
542+ text-decoration : none;
543+ }
544+ & ul {
545+ @extend %no-space, %flex-row ;
546+ justify-content : space-between;
547+ list-style-type : none;
548+ color : white;
549+ padding : 5 px 0 ;
550+ font : 1.5 rem 'AUTHENTIC Sans' ;
551+ background : linear-gradient (to bottom, white 0 % , white 100 % ) repeat-y 0 100 % / 0 px 0 px ;
552+ transition : background-size ease var (--transition-speed ), color ease var (--transition-speed );
553+ &:hover {
554+ color : black;
555+ background-size : 100 % 100 % ;
556+ }
557+ @media (--tablet ), (--phone ) {
558+ @extend %flex-column ;
559+ }
560+ & li {
561+ &:nth-child (2 ) {
562+ text-align : right;
563+ @media (--tablet ), (--phone ) {
564+ text-align : left;
565+ }
566+ }
567+ & span {
568+ font : 1 rem 'jgs_font' ;
569+ color : var (--light-gray );
570+ text-transform : uppercase;
571+ }
572+ }
573+ }
574+ }
575+
576+ footer {
577+ @extend %flex-row ;
578+ justify-content : center;
579+ background-color : black;
580+ padding : 70 px 70 px 30 px 70 px ;
581+ @media (--phone ) {
582+ padding : 30 px ;
583+ }
584+ & p {
585+ width : 100 % ;
586+ max-width : var (--max-content-width );
587+ color : white;
588+ font : 1 rem 'jgs_font' ;
589+ text-transform : uppercase;
590+ text-align : right;
591+ @media (--tablet ), (--phone ) {
592+ text-align : center;
593+ }
594+ @media (--phone ) {
595+ font-size : 0.8 rem ;
596+ }
597+ }
598+ }
478599 </style >
0 commit comments