Add projects and tutorials

This commit is contained in:
John Gatward committed 2026-03-16 18:03:17 +00:00
1 parent fc54c3bd4e
commit 4e94902f01
132 files changed
+19170 -65

No files matched your search

+101
View File
@@ -0,0 +1,101 @@
/*!
* Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
* License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
*/
.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-ciLine truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because it is too large. Load diff
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../sass/main.scss","../sass/base/_reset.scss","../sass/base/_page.scss","../sass/libs/_breakpoints.scss","../sass/libs/_vendor.scss","../sass/base/_typography.scss","../sass/components/_row.scss","../sass/libs/_html-grid.scss","../sass/components/_box.scss","../sass/components/_card.scss","../sass/components/_button.scss","../sass/components/_form.scss","../sass/libs/_mixins.scss","../sass/components/_icon.scss","../sass/components/_image.scss","../sass/components/_list.scss","../sass/components/_actions.scss","../sass/components/_icons.scss","../sass/components/_section.scss","../sass/components/_table.scss","../sass/components/_features.scss","../sass/components/_statistics.scss","../sass/components/_spotlight.scss","../sass/components/_timeline.scss","../sass/layout/_header.scss","../sass/layout/_nav.scss","../sass/layout/_main.scss","../sass/layout/_footer.scss","../sass/layout/_wrapper.scss"],"names":[],"mappings":"AAMQ;AACA;ACEP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAWC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;AAEA;EAEC;EACA;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AC1EF;AAGE;EACC;;AAID;EACC;;;AC8LD;EDzLC;IACC;;;AAMF;EACC;;;AAGD;EACC;;;AAGF;EACC;EEgTI;EAAA;EAAA;EAAA;;AFxSF;EEiSE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;;;ACvUN;AAEA;EACE;EACA;;;AAGF;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;;AFyLA;EEhMF;AAAA;AAAA;AAAA;IAUI;;;AFsLF;EEhMF;AAAA;AAAA;AAAA;IAcI;;;AFkLF;EEhMF;AAAA;AAAA;AAAA;IAkBI;;;;AAIJ;ED0SM;EAAA;EAAA;EAAA;EClSJ;AACA;EACA;;AAEA;EACE;;;AAIJ;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AAIJ;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AFwFA;EEpFA;IACE;;;AAIJ;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAIF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;;;AAIJ;EACE;EACA;EACA;;AAEA;EACE;;;AAIJ;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AASA;AAAA;AAAA;EAGE;;;AAIA;EACE;;;AAIJ;AAAA;EAEE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AC7NJ;AAEC;EC2BC;EACA;EACA;EACA;;AAGA;EACE;;AAME;EACE;;AAMN;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAeA;EACE;;AAKA;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AALF;EACE;;AAGF;EACE;;AAaF;EACE;EACA;;AAEA;EACE;;AAOF;EACE;;AAEA;EACE;;AAhBN;EACE;EACA;;AAEA;EACE;;AAOF;EACE;;AAEA;EACE;;AAhBN;EACE;EACA;;AAEA;EACE;;AAOF;EACE;;AAEA;EACE;;AAhBN;EACE;EACA;;AAEA;EACE;;AAOF;EACE;;AAEA;EACE;;AAhBN;EACE;EACA;;AAEA;EACE;;AAOF;EACE;;AAEA;EACE;;AAhBN;EACE;EACA;;AAEA;EACE;;AAOF;EACE;;AAEA;EACE;;AJoEV;EG/LD;IC2BC;IACA;IACA;IACA;;EAGA;IACE;;EAME;IACE;;EAMN;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAeA;IACE;;EAKA;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EAaF;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;;AJoEV;EG/LD;IC2BC;IACA;IACA;IACA;;EAGA;IACE;;EAME;IACE;;EAMN;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAeA;IACE;;EAKA;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EAaF;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;;AJoEV;EG/LD;IC2BC;IACA;IACA;IACA;;EAGA;IACE;;EAME;IACE;;EAMN;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAGF;IACE;;EAeA;IACE;;EAKA;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EALF;IACE;;EAGF;IACE;;EAaF;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;IACA;;EAEA;IACE;;EAOF;IACE;;EAEA;IACE;;EAhBN;IACE;ILine truncated
+12
View File
@@ -0,0 +1,12 @@
/* Header */
body.is-preload #header.alt > * {
opacity: 1;
}
body.is-preload #header.alt .logo {
-moz-transform: none;
-webkit-transform: none;
-ms-transform: none;
transform: none;
}
/*# sourceMappingURL=noscript.css.map */
+1
View File
@@ -0,0 +1 @@
{"version":3,"sourceRoot":"","sources":["../sass/noscript.scss","../sass/libs/_vendor.scss"],"names":[],"mappings":"AAOA;AAKI;EACC;;AAGD;ECuTE;EAAA;EAAA;EAAA","file":"noscript.css"}