diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..feab4a3
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,28 @@
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the
+// README at: https://github.com/devcontainers/templates/tree/main/src/alpine
+{
+ "name": "Alpine",
+ // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
+ "image": "mcr.microsoft.com/devcontainers/base:alpine",
+
+ // Features to add to the dev container. More info: https://containers.dev/features.
+ // "features": {},
+
+ // Use 'forwardPorts' to make a list of ports inside the container available locally.
+ // "forwardPorts": [],
+
+ // Use 'postCreateCommand' to run commands after the container is created.
+ // "postCreateCommand": "uname -a",
+
+ "customizations": {
+ // Configure properties specific to VS Code.
+ "vscode": {
+ "extensions": [
+ "ritwickdey.liveserver"
+ ]
+ }
+ }
+
+ // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
+ // "remoteUser": "root"
+}
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml
new file mode 100644
index 0000000..fb7b138
--- /dev/null
+++ b/.github/FUNDING.yml
@@ -0,0 +1,6 @@
+# These are supported funding model platforms
+
+github: sethcottle
+patreon: sethcottle
+ko_fi: sethcottle
+custom: [https://buymeacoffee.com/seth, https://paypal.me/sethcottle]
diff --git a/.gitignore b/.gitignore
index e43b0f9..a036416 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,3 @@
.DS_Store
+.idea
+.devcontainer
\ No newline at end of file
diff --git a/LICENSE.md b/LICENSE.md
index 03231cc..bfe6bc4 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,5 +1,5 @@
MIT License
-Copyright 2019-2021 Seth Cottle
+Copyright 2019-2024 Seth Cottle
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
diff --git a/README.md b/README.md
index 71c0384..daa6e80 100644
--- a/README.md
+++ b/README.md
@@ -1,70 +1,112 @@
-# ๐ LittleLink
+
+<<<<<<< HEAD
*Note: this is a personalized fork of the original project. Please fork the original instead of this repo if you're interested in doing so.*
---

+=======
+# LittleLink
+The DIY self-hosted LinkTree alternative. LittleLink has more than 100 branded button styles you can easily use, with more regularly added by our community in this repo and in [LittleLink Extended](https://github.com/sethcottle/littlelink-extended).
+>>>>>>> upstream/main
-LittleLink is a lightweight DIY alternative to services like [Linktree](https://linktr.ee)
-and [many.link](https://many.link/). LittleLink was built using [Skeleton](http://getskeleton.com/), a dead simple, responsive boilerplateโwe just stripped out some additional code you wouldn't need and added in branded styles for popular services. ๐
+---
+### ๐ Themes and Accessibility
+LittleLink offers `auto`, `light`, and `dark` themes right out of the box. If the default color schemes don't match your preference, you can easily customize them by updating the values in `style.css`. You can set any of the themes right in `index.html`. To enhance visual accessibility in both `light` and `dark` modes, buttons lacking sufficient contrast with the background are outlined with an inverse stroke to ensure visibility. While LittleLink emphasizes accessibility, it's important to acknowledge that not all brands incorporated into LittleLink achieve this standard. Branded buttons that come into LittleLink always retain the original essence of the brand and some branded buttons might fall short of optimal accessibility in terms of contrast.
-
+
-LittleLink has more than 50+ branded button styles you can use (with even more being added by our community). You'll also find a light and dark theme ready to go. Not a fan of the default colors? Update `skeleton-light.css` or `skeleton-dark.css` to the HEX values of your choosing. You can also set your CSS to `skeleton-auto.css`, which will use the system theme of the device you visit on.
+---
+### ๐ฅ Performance
-
+
-Using [Skeleton](http://getskeleton.com/) let us build something that loads quickly & doesn't have any of the unnecessary bloat you would get from using a large framework for a page that requires nothing more than simplicity. LittleLink scored a 99/100 in performance when tested with [Google Lighthouse](https://developers.google.com/web/tools/lighthouse).
+LittleLink epitomizes simplicity and minimalism. When evaluating the [LittleLink sample page](https://littlelink.io/sample/seth) (which mirrors a typical LittleLink setup for an individual) through tools such as [Google PageSpeed Insights](https://pagespeed.web.dev/analysis/https-littlelink-io-sample-seth/17ex80ryq4?form_factor=mobile), showcases LittleLink's excellence with 100/100 in Performance, Accessibility, Best Practices, and SEO. My initial vision for LittleLink was to craft it from the fundamentals. LittleLink leverages it's own vanilla `css` to remove the unnecessary bloat you would get from using a large framework for a page that requires nothing more than simplicity.
-
+---
+### โ๏ธ Deploy
-No need for gulp, npm, or anything else to make LittleLink workโit uses the bare essentials. You can automatically fork and deploy LittleLink with [Vercel](https://vercel.com/). Enjoy free and fast hosting with automatic deployments on every branch push with one click below. ๐๏ธ
+
-[](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fsethcottle%2Flittlelink&project-name=littlelink&repository-name=littlelink&demo-title=LittleLink%20Demo&demo-description=Imported%20from%20GitHub.)
+No need for gulp, npm, or anything else to make LittleLink workโit uses the bare essentials. You can automatically fork and deploy LittleLink with [Vercel](https://vercel.com/), [Netlify](https://www.netlify.com/), or [Amplify](https://aws.amazon.com/amplify) using the button below. LittleLink is also easy to host through [GitHub Pages](https://pages.github.com/) or on your home lab server, CDN, or other frontend hosting services. To edit, all you need is a little basic HTML knowledge to add a link to the exisiting buttons or you can create your own. See our [adding custom buttons to your own fork wiki](https://github.com/sethcottle/littlelink/wiki/Adding-custom-buttons-to-your-own-fork). It's simple, promise. ๐ค
+
+---
+##### One-Click Deployments
+
+[](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fsethcottle%2Flittlelink&project-name=littlelink&repository-name=littlelink)
+
+[](https://app.netlify.com/start/deploy?repository=https://github.com/sethcottle/littlelink)
+
+[](https://console.aws.amazon.com/amplify/home#/deploy?repo=https://github.com/sethcottle/littlelink)
---
-### ๐ค Community Extras
+### ๐ค Contributions
+Please reference the [submitting a new brand to LittleLink wiki](https://github.com/sethcottle/littlelink/wiki/Submitting-a-new-brand-to-LittleLink) before opening a PR.
-#### ๐ฆ LittleLink Extended
-Looking for more niche services to add to your copy of LittleLink? Check out [LittleLink Extended](https://github.com/sethcottle/littlelink-extended). Users can add more niche services to this repository to help keep the core LittleLink repository less cluttered.
+---
+### ๐ฆ Community Extras
+
+#### ๐ธ LittleLink Extended
+Looking for more niche services to add to your copy of LittleLink? Check out [LittleLink Extended](https://github.com/sethcottle/littlelink-extended). Users can add more niche services to this repository to help keep the core LittleLink repository less cluttered and more focused on delivering branded experiences for the majority of users.
#### ๐จ Figma
Duplicate the [LittleLink Template on Figma Community](https://www.figma.com/community/file/846568099968305613) to help plan out and design your LittleLink page.
-#### ๐ Docker
-[Techno Tim](https://github.com/timothystewart6) is building [LittleLink-Server](https://github.com/techno-tim/littlelink-server). Check out [his video](https://youtu.be/42SqfI_AjXU)!
+[](https://www.figma.com/community/file/846568099968305613)
-[Drew](https://github.com/davisdre) is building a [super simple Docker implementation of LittleLink](https://github.com/davisdre/littlelink).
+#### ๐ Docker
+โข [Techno Tim](https://github.com/timothystewart6) is building [LittleLink-Server](https://github.com/techno-tim/littlelink-server). Check out [his video](https://youtu.be/42SqfI_AjXU)!
+
+โข [Drew](https://github.com/davisdre) is building a [super simple Docker implementation of LittleLink](https://github.com/davisdre/littlelink).
#### ๐๏ธ Misc
-[Khashayar](https://github.com/khashayarzavosh) is building [LittleLink Admin](https://github.com/khashayarzavosh/admin-littlelink) which lets you host your own admin portal to manage LittleLink!
-
-[Julian](https://github.com/JulianPrieber) is building [LittleLink Custom](https://github.com/JulianPrieber/littlelink-custom) which approaches the admin portal with an easy-to-use "plug-and-play" mentality!
+โข [Julian](https://github.com/JulianPrieber) is building [LinkStack](https://github.com/LinkStackOrg/LinkStack), which is a fork of [Khashayar](https://github.com/khashayarzavosh)'s [LittleLink Admin](https://github.com/khashayarzavosh/admin-littlelink).
---
### ๐ Supporters
-You can support LittleLink by [buying me a beer](https://www.buymeacoffee.com/seth). You can also have your name or your company added to this section and the supporters page of the [LittleLink.io](https://littlelink.io) website.
+You can support LittleLink by [buying me a coffee](https://www.buymeacoffee.com/seth). You can also have your name or your company added to this section and the supporters page of the [LittleLink.io](https://littlelink.io) website.
#### ๐ข Business Supporters
-[Add Your Company Name](https://www.buymeacoffee.com/seth/e/50574)
+โข **[links.dev](https://github.com/fatih-yavuz/links.dev)**
+
+[](https://www.buymeacoffee.com/seth/e/50574)
#### โจ Individual Supporters
-**[Drew Davis](https://connect.davisdre.me)**
+โข **[Drew Davis](https://connect.davisdre.me)**
-**[Robotter112](https://robotter112.de/)**
+โข **[Robotter112](https://robotter112.de/)**
-[Add Your Name](https://www.buymeacoffee.com/seth/e/50573)
+[](https://www.buymeacoffee.com/seth/e/50573)
+
+#### ๐ GitHub Sponsors
+โข **[Your Name Here](https://github.com/sponsors/sethcottle)**
+
+[](https://github.com/sponsors/sethcottle)
+
+#### โค๏ธ Patreon Members
+โข **[Your Name Here](https://www.patreon.com/sethcottle)**
+
+[](https://www.patreon.com/sethcottle)
+
+
+#### ๐ฅฐ More Ways to Support LittleLink
+[](https://www.buymeacoffee.com/seth/)
+
+[](https://ko-fi.com/sethcottle)
+
+[](https://paypal.me/sethcottle/)
---
### ๐ Analytics
-To help build a more privacy focused product, we recommend using [Fathom Analytics](https://usefathom.com/ref/EQVZMV)*. On May 03, 2022 we moved [LittleLink.io](https://littlelink.io) from Google Analytics to Fathom! We're also making our analytics dashboard [publicly available](https://app.usefathom.com/share/xbmnwxxl/littlelink.io#/?filters=%5B%5D&range=last_7_days&site=2251799827005303)** for everyone to view.
+To help build a more privacy focused product, we recommend using [Fathom Analytics](https://usefathom.com/ref/EQVZMV)*. [View our Fathom analytics dashboard](https://app.usefathom.com/share/xbmnwxxl/littlelink.io#/?filters=%5B%5D&range=last_7_days&site=2251799827005303)**.
###### * This is a referral link. Using this link to sign up for Fathom is an easy way to help support LittleLink!
-###### ** Analytics displayed in this dashboard start May 03, 2022. View this [Google Sheets file](https://docs.google.com/spreadsheets/d/1GL4SroAdH-OZphBVR5z-BoSukHIEVJfao25q_e9-Ii8/edit?usp=sharing) with the generic unique pageview data from Google Analytics.
+###### ** Analytics in this dashboard start May 03, 2022. View this [Google Sheets file](https://docs.google.com/spreadsheets/d/1GL4SroAdH-OZphBVR5z-BoSukHIEVJfao25q_e9-Ii8/edit?usp=sharing) with the generic unique pageview data from Google Analytics.
+[](https://usefathom.com/ref/EQVZMV)
diff --git a/VERSION.md b/VERSION.md
new file mode 100644
index 0000000..4257dc9
--- /dev/null
+++ b/VERSION.md
@@ -0,0 +1,61 @@
+# LittleLink Version History
+
+## Current Version: v3.1.0
+
+### v3.1.0 - 1/20/2024
+- Added alternate YouTube button (`PR #138` / `@Omikorin`)
+- Fixed `index.html` accessibilty issues (`PR #137` / `@rosahaj`)
+
+### v3.0.2 - 12/20/2024
+- Added Obsidian as a brand
+
+### v3.0.1 - 11/13/2024
+- Removed Trakt logo from `images/icons` since this now lives in LittleLink Extended
+- Favicon update for `privacy.html`
+
+### v3.0.0 - 11/13/2024
+A complete modernization of LittleLink focusing on accessibility, maintainability, and more modern web standards.
+
+#### Major Changes
+- Complete rebuild of CSS architecture
+ - Moved away from Skeleton CSS dependency to custom, purpose-built CSS
+ - Improved maintainability with modular CSS structure
+ - Enhanced dark mode and auto theming implementation
+ - Enhanced `brands.css`
+
+- Accessibility Improvements
+ - Improved keyboard navigation throughout
+ - Enhanced screen reader compatibility
+ - Better focus management and visible focus states
+ - Proper ARIA labels and semantic HTML structure
+
+- HTML Modernization
+ - Rebuilt `index.html`
+ - Rebuilt `privacy.html`
+ - Optimized meta tags and SEO structure
+
+#### Developer Experience
+- Better documented codebase
+- Simplified customization process
+- Improved maintainability
+- More consistent standards
+- Added VERSION.md so you know what version of LittleLink you downloaded
+
+#### Brand Changes
+- Updated PayPal button color
+- Updated Discord button color
+- Updated YouTube button color
+- Updated Pinterest button color
+- Updated Ko-fi button color and updated their logo
+- Updated Medium logo
+- Updated WordPress button color
+- Moved NGL to LittleLink Extended
+- Moved Redbubble to LittleLink Extended
+- Moved Revolut to LittleLink Extended
+- Moved Trakt to LittleLink Extended
+- Moved Untapped to LittleLink Extended
+- Moved Upwork to LittleLink Extended
+
+---
+For the complete history of changes, please visit:
+https://github.com/sethcottle/littlelink/releases
diff --git a/css/brands.css b/css/brands.css
index ad88240..20b9250 100644
--- a/css/brands.css
+++ b/css/brands.css
@@ -1,753 +1,612 @@
/*
-* littlelink.io
-* Skeleton V2.0.4
-* Copyright 2014, Dave Gamache
-* www.getskeleton.com
-* Free to use under the MIT license.
+* LittleLink Button Styles
+* https://littlelink.io
+* Free to use under the MIT license
* http://www.opensource.org/licenses/mit-license.php
-* 12/29/2014
*/
-/*
-* Built using on:
-* Skeleton V2.0.4
-* Copyright 2014, Dave Gamache
-* www.getskeleton.com
-* Free to use under the MIT license.
-* http://www.opensource.org/licenses/mit-license.php
-* 12/29/2014
-*/
-
-/* Table of contents
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
-
-- Buttons
-- Brand Styles
-
-*/
-
-/* Buttons
+/* Brand Button Base Styles
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-
-.button,
-button {
- display: inline-block;
- text-decoration: none;
- height: 48px;
- text-align: center;
- vertical-align: middle;
- font-size: 18px;
- width: 300px;
- font-weight: 700;
- line-height: 48px;
- letter-spacing: 0.1px;
- white-space: wrap;
- border-radius: 8px;
- cursor: pointer;
-}
-button:hover,
-.button:focus {
- color: #333;
- border-color: #888;
- outline: 0;
-}
-.button.button-primary {
- color: #fff;
- filter: brightness(90%);
-}
-.button.button-primary:hover,
-.button.button-primary:focus {
- color: #fff;
- filter: brightness(90%);
+/* Only include brand-specific button styling here */
+.button,button {
+ color:var(--button-text,#000000);
+ background-color:var(--button-background,transparent);
+ border:var(--button-border,none);
+ transition:filter 0.2s ease,transform 0.2s ease;
}
-/* Brand Icons
+/* Global Button Hover Effect
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+.button:hover,button:hover {
+ filter:brightness(90%);
+ transform:translateY(-1px);
+}
+/* Button Icons
+โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
.icon {
- padding: 0px 8px 3.5px 0px;
- vertical-align: middle;
- width: 20px;
- height: 20px;
+ filter:var(--icon-filter,none);
}
-/* Brand Styles
+/* Brand-Specific Styles
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-/* Default (this is great for your own brand color!) */
+/* Default */
.button.button-default {
- color: #ffffff;
- background-color: #0085ff;
-}
-.button.button-default:hover,
-.button.button-default:focus {
- filter: brightness(90%);
+ --button-text:#ffffff;
+ --button-background:#2457F5;
+ --button-border:1px solid #ffffff;
}
/* Amazon */
-.button.button-amazon {
- color: #000000;
- background-color: #ffffff;
+.button-amazon {
+ --button-text:#000000;
+ --button-background:#FFFFFF;
+ --button-border:1px solid #212121;
}
-.button.button-amazon:hover,
-.button.button-amazon:focus {
- filter: brightness(90%);
+
+/* Amazon Music */
+.button-amazon-music {
+ --button-text:#000000;
+ --button-background:#25D1DA;
}
/* Apple App Store */
-.button.button-appstore {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-appstore:hover,
-.button.button-appstore:focus {
- filter: brightness(90%);
+.button-appstore {
+ --button-text:#FFFFFF;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* Apple Music */
-.button.button-apple-music {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-apple-music:hover,
-.button.button-apple-music:focus {
- filter: brightness(90%);
+.button-apple-music {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* Apple Music Alt */
-.button.button-apple-music-alt {
- color: #ffffff;
- background-image: linear-gradient(to bottom, #FB5C74, #FA233B);
-}
-.button.button-apple-music-alt:hover,
-.button.button-apple-music-alt:focus {
- filter: brightness(90%);
+.button-apple-music-alt {
+ --button-text:#ffffff;
+ background-image:linear-gradient(to bottom,#FB5C74,#FA233B);
}
/* Apple Podcasts */
-.button.button-apple-podcasts {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-apple-podcasts:hover,
-.button.button-apple-podcasts:focus {
- filter: brightness(90%);
+.button-apple-podcasts {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* Apple Podcasts Alt */
-.button.button-apple-podcasts-alt {
- color: #ffffff;
- background-image: linear-gradient(to bottom, #F452FF, #832BC1);
-}
-.button.button-apple-podcasts-alt:hover,
-.button.button-apple-podcasts-alt:focus {
- filter: brightness(90%);
+.button-apple-podcasts-alt {
+ --button-text:#ffffff;
+ background-image:linear-gradient(to bottom,#F452FF,#832BC1);
}
/* Bandcamp */
-.button.button-bandcamp {
- color: #ffffff;
- background-color: #1d9fc3;
+.button-bandcamp {
+ --button-text:#ffffff;
+ --button-background:#1d9fc3;
}
-.button.button-bandcamp:hover,
-.button.button-bandcamp:focus {
- filter: brightness(90%);
+
+/* Behance */
+.button-behance {
+ --button-text:#ffffff;
+ --button-background:#0057FF;
+ --button-border:1px solid #FFFFFF;
+}
+
+/* Bluesky */
+.button-bluesky {
+ --button-text:#FFFFFF;
+ --button-background:#1185FE;
+}
+
+/* Bluesky Alt */
+.button-bluesky-alt {
+ --button-text:#000000;
+ --button-background:#FFFFFF;
+ --button-border:1px solid #000000;
}
/* Buy Me a Coffee */
-.button.button-coffee {
- color: #100a26;
- background-color: #ffdd00;
-}
-.button.button-coffee:hover,
-.button.button-coffee:focus {
- filter: brightness(90%);
+.button-coffee {
+ --button-text:#000000;
+ --button-background:#ffdd00;
}
-/* Clubhouse */
-.button.button-clubhouse {
- color: #1F1F1A;
- background-color: #F1EFE3;
+/* Cal.com */
+.button-cal {
+ --button-text:#FFFFFF;
+ --button-background:#292929;
+ --button-border:1px solid #FFFFFF;
}
-.button.button-coffee:hover,
-.button.button-coffee:focus {
- filter: brightness(90%);
+
+/* Calendly */
+.button-calendly {
+ --button-text:#FFFFFF;
+ --button-background:#006BFF;
}
/* Cash App */
-.button.button-cashapp {
- color: #ffffff;
- background-image: linear-gradient(to bottom, #00d64b, #00c244);
-}
-.button.button-cashapp:hover,
-.button.button-cashapp:focus {
- filter: brightness(90%);
+.button-cash-app {
+ --button-text:#ffffff;
+ background-image:linear-gradient(to bottom,#00d64b,#00c244);
}
/* dev.to */
-.button.button-dev-to {
- color: #000000;
- background-color: #f5f5f5;
+.button-dev-to {
+ --button-text:#000000;
+ --button-background:#f5f5f5;
+ --button-border:1px solid #212121;
}
-.button.button-dev-to:hover,
-.button.button-dev-to:focus {
- filter: brightness(90%);
+
+/* Discogs */
+.button-discogs {
+ --button-text:#000000;
+ --button-background:#FFFFFF;
+ --button-border:1px solid #000000;
+}
+
+/* Discogs Alt */
+.button-discogs-alt {
+ --button-text:#FFFFFF;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* Discord */
-.button.button-discord {
- color: #ffffff;
- background-color: #5865f2;
+.button-discord {
+ --button-text:#ffffff;
+ --button-background:#5865F2;
}
-.button.button-discord:hover,
-.button.button-discord:focus {
- filter: brightness(90%);
+
+/* Dribbble */
+.button-dribbble {
+ --button-text:#000000;
+ --button-background:#FFFFFF;
+ --button-border:1px solid #212121;
}
/* Etsy */
-.button.button-etsy {
- color: #ffffff;
- background-color: #F45800;
-}
-.button.button-etsy:hover,
-.button.button-etsy:focus {
- filter: brightness(90%);
+.button-etsy {
+ --button-text:#ffffff;
+ --button-background:#F45800;
}
/* Facebook */
-.button.button-faceb {
- color: #ffffff;
- background-color: #1877f2;
-}
-.button.button-faceb:hover,
-.button.button-faceb:focus {
- filter: brightness(90%);
+.button-faceb {
+ --button-text:#ffffff;
+ --button-background:#1877f2;
}
/* Facebook Messenger */
-.button.button-messenger {
- color: #ffffff;
- background-image: linear-gradient(
- 25deg,
- #0099ff,
- #5f5dff,
- #a033ff,
- #c740cc,
- #ff5280,
- #ff7061
- );
-}
-.button.button-messenger:hover,
-.button.button-messenger:focus {
- filter: brightness(90%);
+.button-messenger {
+ --button-text:#ffffff;
+ background-image:linear-gradient(25deg,#0099ff,#5f5dff,#a033ff,#c740cc,#ff5280,#ff7061);
}
/* Figma */
-.button.button-figma {
- color: #ffffff;
- background-color: #000000;
+.button-figma {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
-.button.button-figma:hover,
-.button.button-figma:focus {
- filter: brightness(90%);
+
+/* Fiverr */
+.button-fiverr {
+ --button-text:#ffffff;
+ --button-background:#1DBF73;
}
/* Flickr */
-.button.button-flickr {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-flickr:hover,
-.button.button-flickr:focus {
- filter: brightness(90%);
+.button-flickr {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* GitHub */
-.button.button-github {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-github:hover,
-.button.button-github:focus {
- filter: brightness(90%);
+.button-github {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
-/* Gitlab */
-.button.button-gitlab {
- color: #ffffff;
- background-color: #6151b2;
+/* GitLab */
+.button-gitlab {
+ --button-text:#ffffff;
+ --button-background:#6151b2;
}
-.button.button-gitlab:hover,
-.button.button-gitlab:focus {
- filter: brightness(90%);
+
+/* GoFundMe */
+.button-gofundme {
+ --button-text:#ffffff;
+ --button-background:#02A95C;
}
/* Goodreads */
-.button.button-goodreads {
- color: #333333;
- background-color: #f3f1e6;
+.button-goodreads {
+ --button-text:#333333;
+ --button-background:#f3f1e6;
+ --button-border:1px solid #212121;
}
-.button.button-goodreads:hover,
-.button.button-goodreads:focus {
- filter: brightness(90%);
+
+/* Google Black */
+.button-google-black {
+ --button-text:#FFFFFF;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* Google Play Store */
-.button.button-playstore {
- color: #FFFFFF;
- background-color: #000000;
-}
-.button.button-playstore:hover,
-.button.button-playstore:focus {
- filter: brightness(90%);
+.button-playstore {
+ --button-text:#FFFFFF;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
-/* Google Podcasts */
-.button.button-google-podcasts {
- color: #000000;
- background-color: #FFFFFF;
-}
-.button.button-google-podcasts:hover,
-.button.button-google-podcasts:focus {
- filter: brightness(90%);
+/* Google Scholar */
+.button-google-scholar {
+ --button-text:#000000;
+ --button-background:#FFFFFF;
+ --button-border:1px solid #212121;
}
/* Hashnode */
-.button.button-hashnode {
- color: #000000;
- background-color: #ffffff;
-}
-.button.button-hashnode:hover,
-.button.button-hashnode:focus {
- filter: brightness(90%);
+.button-hashnode {
+ --button-text:#000000;
+ --button-background:#ffffff;
+ --button-border:1px solid #212121;
}
/* Instagram */
-.button.button-instagram {
- color: #ffffff;
- background-image: linear-gradient(-135deg, #1400c8, #b900b4, #f50000);
-}
-.button.button-instagram:hover,
-.button.button-instagram:focus {
- filter: brightness(90%);
+.button-instagram {
+ --button-text:#ffffff;
+ background-image:linear-gradient(-135deg,#1400c8,#b900b4,#f50000);
}
-/* kickstarter */
-.button.button-kickstarter {
- color: #ffffff;
- background-color: #05ce78;
+/* Kick */
+.button-kick {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #ffffff;
}
-.button.button-kickstarter:hover,
-.button.button-kickstarter:focus {
- filter: brightness(90%);
+
+/* Kick Alt */
+.button-kick-alt {
+ --button-text:#000000;
+ --button-background:#01e701;
+}
+
+/* Kickstarter */
+.button-kickstarter {
+ --button-text:#ffffff;
+ --button-background:#05ce78;
}
/* Kit */
-.button.button-kit {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-kit:hover,
-.button.button-kit:focus {
- filter: brightness(90%);
+.button-kit {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* Ko-fi */
-.button.button-ko-fi {
- color: #ffffff;
- background-color: #13C3FF;
+.button-ko-fi {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
-.button.button-ko-fi:hover,
-.button.button-ko-fi:focus {
- filter: brightness(90%);
+
+/* Last.fm */
+.button-last-fm {
+ --button-text:#ffffff;
+ --button-background:#D51007;
}
/* Letterboxd */
-.button.button-letterboxd {
- color: #ffffff;
- background-color: #2c3440;
+.button-letterboxd {
+ --button-text:#ffffff;
+ --button-background:#2c3440;
+ --button-border:1px solid #FFFFFF;
}
-.button.button-letterboxd:hover,
-.button.button-letterboxd:focus {
- filter: brightness(90%);
+
+/* Line */
+.button-line {
+ --button-text:#FFFFFF;
+ --button-background:#06C755;
}
/* LinkedIn */
-.button.button-linked {
- color: #ffffff;
- background-color: #2867b2;
+.button-linked {
+ --button-text:#ffffff;
+ --button-background:#2867b2;
}
-.button.button-linked:hover,
-.button.button-linked:focus {
- filter: brightness(90%);
+
+/* Mailchimp */
+.button-mailchimp {
+ --button-text:#000000;
+ --button-background:#FFE01B;
}
/* Mastodon */
-.button.button-mastodon {
- color: #ffffff;
- background-color: #17063B;
-}
-.button.button-mastodon:hover,
-.button.button-mastodon:focus {
- filter: brightness(90%);
+.button-mastodon {
+ --button-text:#ffffff;
+ --button-background:#17063B;
+ --button-border:1px solid #FFFFFF;
}
/* Medium */
-.button.button-medium {
- color: #ffffff;
- background-color: #000000;
+.button-medium {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
-.button.button-medium:hover,
-.button.button-medium:focus {
- filter: brightness(90%);
+
+/* Microsoft */
+.button-microsoft {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* Notion */
-.button.button-notion {
- color: #000000;
- border-style: solid;
- border-color: #000000;
- border-width: 2px;
- background-color: #ffffff;
+.button-notion {
+ --button-text:#000000;
+ --button-background:#ffffff;
+ --button-border:1px solid #212121;
}
-.button.button-notion:hover,
-.button.button-notion:focus {
- filter: brightness(90%);
+
+/* Obsidian */
+.button.button-obsidian {
+ --button-text:#ffffff;
+ --button-background:#262626;
+ --button-border:1px solid #ffffff;
}
/* OnlyFans */
-.button.button-onlyfans {
- color: #ffffff;
- background-color: #00AEEF;
-}
-.button.button-onlyfans:hover,
-.button.button-onlyfans:focus {
- filter: brightness(90%);
+.button-onlyfans {
+ --button-text:#ffffff;
+ --button-background:#00AEEF;
}
/* Patreon */
-.button.button-patreon {
- color: #ffffff;
- background-color: #ff424d;
-}
-.button.button-patreon:hover,
-.button.button-patreon:focus {
- filter: brightness(90%);
+.button-patreon {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* PayPal */
-.button.button-paypal {
- color: #ffffff;
- background-color: #003087;
-}
-.button.button-paypal:hover,
-.button.button-paypal:focus {
- filter: brightness(90%);
+.button-paypal {
+ --button-text:#ffffff;
+ --button-background:#002991;
+ --button-border:1px solid #FFFFFF;
}
/* Pinterest */
-.button.button-pinterest {
- color: #000000;
- background-color: #ffe2eb;
-}
-.button.button-pinterest:hover,
-.button.button-pinterest:focus {
- filter: brightness(90%);
+.button-pinterest {
+ --button-text:#000000;
+ --button-background:#ffffff;
+ --button-border:1px solid #212121;
}
-/* Producthunt */
-.button.button-producthunt {
- color: #da552f;
- border-style: solid;
- border-color: #da552f;
- border-width: 2px;
- background-color: #ffffff;
-}
-.button.button-producthunt:hover,
-.button.button-producthunt:focus {
- filter: brightness(90%);
+/* Product Hunt */
+.button-product-hunt {
+ --button-text:#000000;
+ --button-background:#ffffff;
+ --button-border:1px solid #212121;
}
-/* Redbubble */
-.button.button-redbubble {
- color: #e41321;
- border-style: solid;
- border-color: #e41321;
- border-width: 2px;
- background-color: #ffffff;
-}
-.button.button-redbubble:hover,
-.button.button-redbubble:focus {
- filter: brightness(90%);
+/* Read.cv */
+.button-read-cv {
+ --button-text:#FFFFFF;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* Reddit */
-.button.button-reddit {
- color: #000000;
- background-color: #d7dfe2;
+.button-reddit {
+ --button-text:#FFFFFF;
+ --button-background:#FF4500;
}
-.button.button-reddit:hover,
-.button.button-reddit:focus {
- filter: brightness(90%);
+
+/* Shop */
+.button-shop {
+ --button-text:#ffffff;
+ --button-background:#5A31F4;
}
/* Signal */
-.button.button-signal {
- color: #ffffff;
- background-color: #3a76f0;
-}
-.button.button-signal:hover,
-.button.button-signal:focus {
- filter: brightness(90%);
+.button-signal {
+ --button-text:#ffffff;
+ --button-background:#3a76f0;
}
-/* Skoob */
-.button.button-skoob {
- color: #ffffff;
- background-color: #3189c8;
-}
-.button.button-skoob:hover,
-.button.button-skoob:focus {
- filter: brightness(90%);
+/* Slack */
+.button-slack {
+ --button-text:#000000;
+ --button-background:#FFFFFF;
+ --button-border:1px solid #212121;
}
/* Snapchat */
-.button.button-snapchat {
- color: #000000;
- background-color: #fffc00;
-}
-.button.button-snapchat:hover,
-.button.button-snapchat:focus {
- filter: brightness(90%);
+.button-snapchat {
+ --button-text:#000000;
+ --button-background:#fffc00;
}
/* SoundCloud */
-.button.button-soundcloud {
- color: #ffffff;
- background-color: #ff5500;
-}
-.button.button-soundcloud:hover,
-.button.button-soundcloud:focus {
- filter: brightness(90%);
+.button-soundcloud {
+ --button-text:#ffffff;
+ --button-background:#ff5500;
}
/* Spotify */
-.button.button-spotify {
- color: #191414;
- background-color: #1db954;
-}
-.button.button-spotify:hover,
-.button.button-spotify:focus {
- filter: brightness(90%);
+.button-spotify {
+ --button-text:#191414;
+ --button-background:#1db954;
}
/* Spotify Alt */
-.button.button-spotify-alt {
- color: #FFFFFF;
- background-color: #191414;
+.button-spotify-alt {
+ --button-text:#FFFFFF;
+ --button-background:#191414;
+ --button-border:1px solid #FFFFFF;
}
-.button.button-spotify-alt:hover,
-.button.button-spotify-alt:focus {
- filter: brightness(90%);
+
+/* Square */
+.button-square {
+ --button-text:#FFFFFF;
+ --button-background:#006AFF;
+}
+
+/* Stack Overflow */
+.button-stack-overflow {
+ --button-text:#000000;
+ --button-background:#FFFFFF;
+ --button-border:1px solid #000000;
}
/* Steam */
-.button.button-steam {
- color: #ffffff;
- background-color: #171a21;
+.button-steam {
+ --button-text:#ffffff;
+ background-image:linear-gradient(90deg,#08BBFF,#2B75FF);
}
-.button.button-steam:hover,
-.button.button-steam:focus {
- filter: brightness(90%);
+
+/* Steam Alt */
+.button-steam-alt {
+ --button-text:#ffffff;
+ background-image:linear-gradient(90deg,#09172a,#072a57,#0c5085);
+ --button-border:1px solid #FFFFFF;
}
/* Strava */
-.button.button-strava {
- color: #ffffff;
- background-color: #fc5200;
-}
-.button.button-strava:hover,
-.button.button-strava:focus {
- filter: brightness(90%);
+.button-strava {
+ --button-text:#ffffff;
+ --button-background:#fc5200;
}
/* Substack */
-.button.button-substack {
- color: #ffffff;
- background-color: #FF6719;
-}
-.button.button-substack:hover,
-.button.button-substack:focus {
- filter: brightness(90%);
+.button-substack {
+ --button-text:#ffffff;
+ --button-background:#FF6719;
}
/* Telegram */
-.button.button-telegram {
- color: #ffffff;
- background-color: #3faee8;
+.button-telegram {
+ --button-text:#ffffff;
+ --button-background:#3faee8;
}
-.button.button-telegram:hover,
-.button.button-telegram:focus {
- filter: brightness(90%);
+
+/* Threads */
+.button-threads {
+ --button-text:#FFFFFF;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* Threema */
-.button.button-threema {
- color: #000000;
- background-color: #3fe669;
-}
-.button.button-threema:hover,
-.button.button-threema:focus {
- filter: brightness(90%);
+.button-threema {
+ --button-text:#000000;
+ --button-background:#3fe669;
}
/* TikTok */
-.button.button-tiktok {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-tiktok:hover,
-.button.button-tiktok:focus {
- filter: brightness(90%);
+.button-tiktok {
+ --button-text:#ffffff;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* Trello */
-.button.button-trello {
- color: #ffffff;
- background-color: #0065ff;
-}
-.button.button-trello:hover,
-.button.button-trello:focus {
- filter: brightness(90%);
+.button-trello {
+ --button-text:#ffffff;
+ --button-background:#0065ff;
}
/* Tumblr */
-.button.button-tumb {
- color: #ffffff;
- background-color: #131313;
-}
-.button.button-tumb:hover,
-.button.button-tumb:focus {
- filter: brightness(90%);
+.button-tumb {
+ --button-text:#ffffff;
+ --button-background:#131313;
+ --button-border:1px solid #FFFFFF;
}
/* Cohost */
-.button.button-cohost {
+.button-cohost {
color: #191919;
background-color: #FFF9F2;
}
-.button.button-cohost:hover,
-.button.button-cohost:focus {
- filter: brightness(90%);
-}
/* Twitch */
-.button.button-twitch {
- color: #ffffff;
- background-color: #9146ff;
-}
-.button.button-twitch:hover,
-.button.button-twitch:focus {
- filter: brightness(90%);
+.button-twitch {
+ --button-text:#ffffff;
+ --button-background:#9146ff;
}
-/* Twitter */
-.button.button-twit {
- color: #ffffff;
- background-color: #1da1f2;
-}
-.button.button-twit:hover,
-.button.button-twit:focus {
- filter: brightness(90%);
-}
-
-/* Untappd */
-.button.button-untappd {
- color: #ffffff;
- background-color: #ffc000;
-}
-.button.button-untappd:hover,
-.button.button-untappd:focus {
- filter: brightness(90%);
+/* Unsplash */
+.button-unsplash {
+ --button-text:#000000;
+ --button-background:#ffffff;
+ --button-border:1px solid #212121;
}
/* Venmo */
-.button.button-venmo {
- color: #ffffff;
- background-color: #008CFF;
-}
-.button.button-venmo:hover,
-.button.button-venmo:focus {
- filter: brightness(90%);
+.button-venmo {
+ --button-text:#ffffff;
+ --button-background:#008CFF;
}
/* Vimeo */
-.button.button-vimeo {
- color: #ffffff;
- background-color: #1ab7ea;
-}
-.button.button-vimeo:hover,
-.button.button-vimeo:focus {
- filter: brightness(90%);
+.button-vimeo {
+ --button-text:#ffffff;
+ --button-background:#1ab7ea;
}
-/* VRChat */
-.button.button-vrchat {
- color: #000000;
- background-color: #ffffff;
- border: 2px solid black;
-}
-.button.button-vrchat:hover,
-.button.button-vrchat:focus {
- filter: brightness(90%);
-}
-
-/* Website */
-.button.button-web {
- color: #ffffff;
- background-color: #000000;
-}
-.button.button-web:hover,
-.button.button-web:focus {
- filter: brightness(90%);
+/* VSCO */
+.button-vsco {
+ --button-text:#FFFFFF;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* WhatsApp */
-.button.button-whatsapp {
- color: #ffffff;
- background-color: #455a64;
-}
-.button.button-whatsapp:hover,
-.button.button-whatsapp:focus {
- filter: brightness(90%);
+.button-whatsapp {
+ --button-text:#ffffff;
+ --button-background:#455a64;
}
-/* Wordpress */
-.button.button-wordpress {
- color: #ffffff;
- background-color: #21759b;
-}
-.button.button-wordpress:hover,
-.button.button-wordpress:focus {
- filter: brightness(90%);
+/* WordPress */
+.button-wordpress {
+ --button-text:#ffffff;
+ --button-background:#3858E9;
}
-/* Xing */
-.button.button-xing {
- color: #ffffff;
- background-color: #026466;
-}
-.button.button-xing:hover,
-.button.button-xing:focus {
- filter: brightness(90%);
+/* X */
+.button-x {
+ --button-text:#FFFFFF;
+ --button-background:#000000;
+ --button-border:1px solid #FFFFFF;
}
/* YouTube */
-.button.button-yt {
- color: #ffffff;
- background-color: #000000;
+.button-yt {
+ --button-text:#ffffff;
+ --button-background:#282828;
+ --button-border:1px solid #FFFFFF;
}
-.button.button-yt:hover,
-.button.button-yt:focus {
- filter: brightness(90%);
+
+/* YouTube Alt */
+.button-yt-alt {
+ --button-text:#ffffff;
+ --button-background:#FF0000;
+}
+
+/* Zoom */
+.button-zoom {
+ --button-text:#ffffff;
+ --button-background:#0B5CFF;
+ --button-border:1px solid #FFFFFF;
}
\ No newline at end of file
diff --git a/css/normalize.css b/css/normalize.css
deleted file mode 100644
index 458eea1..0000000
--- a/css/normalize.css
+++ /dev/null
@@ -1,427 +0,0 @@
-/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
-
-/**
- * 1. Set default font family to sans-serif.
- * 2. Prevent iOS text size adjust after orientation change, without disabling
- * user zoom.
- */
-
-html {
- font-family: sans-serif; /* 1 */
- -ms-text-size-adjust: 100%; /* 2 */
- -webkit-text-size-adjust: 100%; /* 2 */
-}
-
-/**
- * Remove default margin.
- */
-
-body {
- margin: 0;
-}
-
-/* HTML5 display definitions
- ========================================================================== */
-
-/**
- * Correct `block` display not defined for any HTML5 element in IE 8/9.
- * Correct `block` display not defined for `details` or `summary` in IE 10/11
- * and Firefox.
- * Correct `block` display not defined for `main` in IE 11.
- */
-
-article,
-aside,
-details,
-figcaption,
-figure,
-footer,
-header,
-hgroup,
-main,
-menu,
-nav,
-section,
-summary {
- display: block;
-}
-
-/**
- * 1. Correct `inline-block` display not defined in IE 8/9.
- * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
- */
-
-audio,
-canvas,
-progress,
-video {
- display: inline-block; /* 1 */
- vertical-align: baseline; /* 2 */
-}
-
-/**
- * Prevent modern browsers from displaying `audio` without controls.
- * Remove excess height in iOS 5 devices.
- */
-
-audio:not([controls]) {
- display: none;
- height: 0;
-}
-
-/**
- * Address `[hidden]` styling not present in IE 8/9/10.
- * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
- */
-
-[hidden],
-template {
- display: none;
-}
-
-/* Links
- ========================================================================== */
-
-/**
- * Remove the gray background color from active links in IE 10.
- */
-
-a {
- background-color: transparent;
-}
-
-/**
- * Improve readability when focused and also mouse hovered in all browsers.
- */
-
-a:active,
-a:hover {
- outline: 0;
-}
-
-/* Text-level semantics
- ========================================================================== */
-
-/**
- * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
- */
-
-abbr[title] {
- border-bottom: 1px dotted;
-}
-
-/**
- * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
- */
-
-b,
-strong {
- font-weight: bold;
-}
-
-/**
- * Address styling not present in Safari and Chrome.
- */
-
-dfn {
- font-style: italic;
-}
-
-/**
- * Address variable `h1` font-size and margin within `section` and `article`
- * contexts in Firefox 4+, Safari, and Chrome.
- */
-
-h1 {
- font-size: 2em;
- margin: 0.67em 0;
-}
-
-/**
- * Address styling not present in IE 8/9.
- */
-
-mark {
- background: #ff0;
- color: #000;
-}
-
-/**
- * Address inconsistent and variable font size in all browsers.
- */
-
-small {
- font-size: 80%;
-}
-
-/**
- * Prevent `sub` and `sup` affecting `line-height` in all browsers.
- */
-
-sub,
-sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline;
-}
-
-sup {
- top: -0.5em;
-}
-
-sub {
- bottom: -0.25em;
-}
-
-/* Embedded content
- ========================================================================== */
-
-/**
- * Remove border when inside `a` element in IE 8/9/10.
- */
-
-img {
- border: 0;
-}
-
-/**
- * Correct overflow not hidden in IE 9/10/11.
- */
-
-svg:not(:root) {
- overflow: hidden;
-}
-
-/* Grouping content
- ========================================================================== */
-
-/**
- * Address margin not present in IE 8/9 and Safari.
- */
-
-figure {
- margin: 1em 40px;
-}
-
-/**
- * Address differences between Firefox and other browsers.
- */
-
-hr {
- -moz-box-sizing: content-box;
- box-sizing: content-box;
- height: 0;
-}
-
-/**
- * Contain overflow in all browsers.
- */
-
-pre {
- overflow: auto;
-}
-
-/**
- * Address odd `em`-unit font size rendering in all browsers.
- */
-
-code,
-kbd,
-pre,
-samp {
- font-family: monospace, monospace;
- font-size: 1em;
-}
-
-/* Forms
- ========================================================================== */
-
-/**
- * Known limitation: by default, Chrome and Safari on OS X allow very limited
- * styling of `select`, unless a `border` property is set.
- */
-
-/**
- * 1. Correct color not being inherited.
- * Known issue: affects color of disabled elements.
- * 2. Correct font properties not being inherited.
- * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
- */
-
-button,
-input,
-optgroup,
-select,
-textarea {
- color: inherit; /* 1 */
- font: inherit; /* 2 */
- margin: 0; /* 3 */
-}
-
-/**
- * Address `overflow` set to `hidden` in IE 8/9/10/11.
- */
-
-button {
- overflow: visible;
-}
-
-/**
- * Address inconsistent `text-transform` inheritance for `button` and `select`.
- * All other form control elements do not inherit `text-transform` values.
- * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
- * Correct `select` style inheritance in Firefox.
- */
-
-button,
-select {
- text-transform: none;
-}
-
-/**
- * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
- * and `video` controls.
- * 2. Correct inability to style clickable `input` types in iOS.
- * 3. Improve usability and consistency of cursor style between image-type
- * `input` and others.
- */
-
-button,
-html input[type="button"], /* 1 */
-input[type="reset"],
-input[type="submit"] {
- -webkit-appearance: button; /* 2 */
- cursor: pointer; /* 3 */
-}
-
-/**
- * Re-set default cursor for disabled elements.
- */
-
-button[disabled],
-html input[disabled] {
- cursor: default;
-}
-
-/**
- * Remove inner padding and border in Firefox 4+.
- */
-
-button::-moz-focus-inner,
-input::-moz-focus-inner {
- border: 0;
- padding: 0;
-}
-
-/**
- * Address Firefox 4+ setting `line-height` on `input` using `!important` in
- * the UA stylesheet.
- */
-
-input {
- line-height: normal;
-}
-
-/**
- * It's recommended that you don't attempt to style these elements.
- * Firefox's implementation doesn't respect box-sizing, padding, or width.
- *
- * 1. Address box sizing set to `content-box` in IE 8/9/10.
- * 2. Remove excess padding in IE 8/9/10.
- */
-
-input[type="checkbox"],
-input[type="radio"] {
- box-sizing: border-box; /* 1 */
- padding: 0; /* 2 */
-}
-
-/**
- * Fix the cursor style for Chrome's increment/decrement buttons. For certain
- * `font-size` values of the `input`, it causes the cursor style of the
- * decrement button to change from `default` to `text`.
- */
-
-input[type="number"]::-webkit-inner-spin-button,
-input[type="number"]::-webkit-outer-spin-button {
- height: auto;
-}
-
-/**
- * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
- * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
- * (include `-moz` to future-proof).
- */
-
-input[type="search"] {
- -webkit-appearance: textfield; /* 1 */
- -moz-box-sizing: content-box;
- -webkit-box-sizing: content-box; /* 2 */
- box-sizing: content-box;
-}
-
-/**
- * Remove inner padding and search cancel button in Safari and Chrome on OS X.
- * Safari (but not Chrome) clips the cancel button when the search input has
- * padding (and `textfield` appearance).
- */
-
-input[type="search"]::-webkit-search-cancel-button,
-input[type="search"]::-webkit-search-decoration {
- -webkit-appearance: none;
-}
-
-/**
- * Define consistent border, margin, and padding.
- */
-
-fieldset {
- border: 1px solid #c0c0c0;
- margin: 0 2px;
- padding: 0.35em 0.625em 0.75em;
-}
-
-/**
- * 1. Correct `color` not being inherited in IE 8/9/10/11.
- * 2. Remove padding so people aren't caught out if they zero out fieldsets.
- */
-
-legend {
- border: 0; /* 1 */
- padding: 0; /* 2 */
-}
-
-/**
- * Remove default vertical scrollbar in IE 8/9/10/11.
- */
-
-textarea {
- overflow: auto;
-}
-
-/**
- * Don't inherit the `font-weight` (applied by a rule above).
- * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
- */
-
-optgroup {
- font-weight: bold;
-}
-
-/* Tables
- ========================================================================== */
-
-/**
- * Remove most spacing between table cells.
- */
-
-table {
- border-collapse: collapse;
- border-spacing: 0;
-}
-
-td,
-th {
- padding: 0;
-}
diff --git a/css/reset.css b/css/reset.css
new file mode 100644
index 0000000..d158daf
--- /dev/null
+++ b/css/reset.css
@@ -0,0 +1,91 @@
+/*
+* LittleLink Reset
+* A minimal CSS reset for LittleLink
+*/
+
+/* Box sizing rules */
+*,
+*::before,
+*::after {
+ box-sizing: border-box;
+}
+
+/* Remove default margin */
+body,
+h1,
+h2,
+h3,
+h4,
+p,
+figure,
+blockquote,
+dl,
+dd {
+ margin: 0;
+}
+
+/* Remove list styles on ul, ol elements */
+ul,
+ol {
+ list-style: none;
+ margin: 0;
+ padding: 0;
+}
+
+/* Set core root defaults */
+html:focus-within {
+ scroll-behavior: smooth;
+}
+
+/* Set core body defaults */
+body {
+ min-height: 100vh;
+ text-rendering: optimizeSpeed;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+/* Make images easier to work with */
+img,
+picture {
+ max-width: 100%;
+ display: block;
+}
+
+/* Inherit fonts for inputs and buttons */
+input,
+button,
+textarea,
+select {
+ font: inherit;
+}
+
+/* Remove all animations and transitions for people that prefer not to see them */
+@media (prefers-reduced-motion: reduce) {
+ html:focus-within {
+ scroll-behavior: auto;
+ }
+ *,
+ *::before,
+ *::after {
+ animation-duration: 0.01ms !important;
+ animation-iteration-count: 1 !important;
+ transition-duration: 0.01ms !important;
+ scroll-behavior: auto !important;
+ }
+}
+
+/* Modern focus styles */
+:focus:not(:focus-visible) {
+ outline: none;
+}
+
+:focus-visible {
+ outline: 2px solid #2457F5;
+ outline-offset: 2px;
+}
+
+/* Remove touch callout on iOS */
+a {
+ -webkit-touch-callout: none;
+}
\ No newline at end of file
diff --git a/css/skeleton-auto.css b/css/skeleton-auto.css
deleted file mode 100644
index 6d9d188..0000000
--- a/css/skeleton-auto.css
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
-* littlelink V1
-* https://littlelink.com
-* Free to use under the MIT license.
-* http://www.opensource.org/licenses/mit-license.php
-* 12/21/2019
-*
-* Built using:
-*
-* Skeleton V2.0.4
-* Copyright 2014, Dave Gamache
-* www.getskeleton.com
-* Free to use under the MIT license.
-* http://www.opensource.org/licenses/mit-license.php
-* 12/29/2014
-*/
-
-/* Table of contents
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
-- Grid
-- Base Styles
-- Typography
-- Links
-- Code
-- Spacing
-- Utilities
-*
-* You'll find the button css in css/brands.css.
-*
-*/
-
-/* Grid
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-.container {
- position: relative;
- width: 100%;
- max-width: 600px;
- text-align: center;
- margin: 0 auto;
- padding: 0 20px;
- box-sizing: border-box;
-}
-.container-left {
- position: relative;
- width: 100%;
- max-width: 600px;
- text-align: left;
- margin: 0 auto;
- padding: 0 20px;
- box-sizing: border-box;
-}
-.column {
- position: center;
- width: 100%;
- float: center;
- box-sizing: border-box;
-}
-
-/* For devices larger than 400px */
-@media (min-width: 400px) {
- .container {
- width: 85%;
- padding: 0;
- }
-}
-
-/* For devices larger than 550px */
-@media (min-width: 550px) {
- .container {
- width: 80%;
- }
- .column,
- .columns {
- margin-left: 0;
- }
- .column:first-child,
- .columns:first-child {
- margin-left: 0;
- }
-}
-
-/* Base Styles
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-/* NOTE
-html is set to 62.5% so that all the REM measurements throughout Skeleton
-are based on 10px sizing. So basically 1.5rem = 15px :) */
-
-html {
- font-size: 100%;
- color-scheme: light dark;
-}
-body {
- font-size: 18px;
- line-height: 24px;
- font-weight: 400;
- font-family: "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial,
- sans-serif;
-}
-
-/* Typography
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-h1 {
- margin-top: 0;
- margin-bottom: 16px;
- font-weight: 800;
-}
-h1 {
- font-size: 24px;
- line-height: 64px;
- letter-spacing: 0;
-}
-
-/* Larger than phablet */
-@media (min-width: 550px) {
- h1 {
- font-size: 48px;
- line-height: 96px;
- }
-}
-
-p {
- margin-top: 0;
-}
-
-/* Links
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-a {
- color: #0085ff;
-}
-a:hover {
- color: #0085ff;
-}
-
-/* Code
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-code {
- padding: 0.2rem 0.5rem;
- margin: 0 0.2rem;
- font-size: 90%;
- white-space: nowrap;
- background: #f1f1f1;
- border: 1px solid #e1e1e1;
- border-radius: 4px;
-}
-pre > code {
- display: block;
- padding: 1rem 1.5rem;
- white-space: pre;
-}
-
-/* Spacing
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-button,
-.button {
- margin-bottom: 1rem;
-}
-input,
-textarea,
-select,
-fieldset {
- margin-bottom: 1.5rem;
-}
-pre,
-blockquote,
-dl,
-figure,
-p,
-ol {
- margin-bottom: 2.5rem;
-}
-
-/* Utilities
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-.u-full-width {
- width: 100%;
- box-sizing: border-box;
-}
-.u-max-full-width {
- max-width: 100%;
- box-sizing: border-box;
-}
-.u-pull-right {
- float: right;
-}
-.u-pull-left {
- float: left;
-}
-
-/* Misc
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-hr {
- margin-top: 3rem;
- margin-bottom: 3.5rem;
- border-width: 0;
- border-top: 1px solid #e1e1e1;
-}
-/* Radius values:
-
-10%-40%: Squircles
-50% (default): True circle
-*/
-.avatar {
- width: 128px;
- height: 128px;
- object-fit: cover;
- background-position: center;
- border-radius: 50%;
-}
\ No newline at end of file
diff --git a/css/skeleton-light.css b/css/skeleton-light.css
deleted file mode 100644
index de3fd8e..0000000
--- a/css/skeleton-light.css
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
-* littlelink V1
-* https://littlelink.com
-* Free to use under the MIT license.
-* http://www.opensource.org/licenses/mit-license.php
-* 12/21/2019
-*
-* Built using:
-*
-* Skeleton V2.0.4
-* Copyright 2014, Dave Gamache
-* www.getskeleton.com
-* Free to use under the MIT license.
-* http://www.opensource.org/licenses/mit-license.php
-* 12/29/2014
-*/
-
-/* Table of contents
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
-- Grid
-- Base Styles
-- Typography
-- Links
-- Code
-- Spacing
-- Utilities
-*
-* You'll find the button css in css/brands.css.
-*
-*/
-
-/* Grid
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-.container {
- position: relative;
- width: 100%;
- max-width: 600px;
- text-align: center;
- margin: 0 auto;
- padding: 0 20px;
- box-sizing: border-box;
-}
-.container-left {
- position: relative;
- width: 100%;
- max-width: 600px;
- text-align: left;
- margin: 0 auto;
- padding: 0 20px;
- box-sizing: border-box;
-}
-.column {
- position: center;
- width: 100%;
- float: center;
- box-sizing: border-box;
-}
-
-/* For devices larger than 400px */
-@media (min-width: 400px) {
- .container {
- width: 85%;
- padding: 0;
- }
-}
-
-/* For devices larger than 550px */
-@media (min-width: 550px) {
- .container {
- width: 80%;
- }
- .column,
- .columns {
- margin-left: 0;
- }
- .column:first-child,
- .columns:first-child {
- margin-left: 0;
- }
-}
-
-/* Base Styles
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-/* NOTE
-html is set to 62.5% so that all the REM measurements throughout Skeleton
-are based on 10px sizing. So basically 1.5rem = 15px :) */
-
-html {
- font-size: 100%;
- color-scheme: light;
-}
-body {
- font-size: 18px;
- line-height: 24px;
- font-weight: 400;
- font-family: "Open Sans", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial,
- sans-serif;
-}
-
-/* Typography
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-h1 {
- margin-top: 0;
- margin-bottom: 16px;
- font-weight: 800;
-}
-h1 {
- font-size: 24px;
- line-height: 64px;
- letter-spacing: 0;
-}
-
-/* Larger than phablet */
-@media (min-width: 550px) {
- h1 {
- font-size: 48px;
- line-height: 96px;
- }
-}
-
-p {
- margin-top: 0;
-}
-
-/* Links
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-a {
- color: #0085ff;
-}
-a:hover {
- color: #0085ff;
-}
-
-/* Code
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-code {
- padding: 0.2rem 0.5rem;
- margin: 0 0.2rem;
- font-size: 90%;
- white-space: nowrap;
- background: #f1f1f1;
- border: 1px solid #e1e1e1;
- border-radius: 4px;
-}
-pre > code {
- display: block;
- padding: 1rem 1.5rem;
- white-space: pre;
-}
-
-/* Spacing
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-button,
-.button {
- margin-bottom: 1rem;
-}
-input,
-textarea,
-select,
-fieldset {
- margin-bottom: 1.5rem;
-}
-pre,
-blockquote,
-dl,
-figure,
-p,
-ol {
- margin-bottom: 2.5rem;
-}
-
-/* Utilities
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-.u-full-width {
- width: 100%;
- box-sizing: border-box;
-}
-.u-max-full-width {
- max-width: 100%;
- box-sizing: border-box;
-}
-.u-pull-right {
- float: right;
-}
-.u-pull-left {
- float: left;
-}
-
-/* Misc
-โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
-hr {
- margin-top: 3rem;
- margin-bottom: 3.5rem;
- border-width: 0;
- border-top: 1px solid #e1e1e1;
-}
-/* Radius values:
-
-10%-40%: Squircles
-50% (default): True circle
-*/
-.avatar {
- width: 128px;
- height: 128px;
- object-fit: cover;
- background-position: center;
- border-radius: 50%;
-}
\ No newline at end of file
diff --git a/css/style.css b/css/style.css
new file mode 100644
index 0000000..afb4ce4
--- /dev/null
+++ b/css/style.css
@@ -0,0 +1,382 @@
+/*
+* LittleLink
+* https://littlelink.io
+* Free to use under the MIT license
+* http://www.opensource.org/licenses/mit-license.php
+*/
+
+/* Base Typography Settings
+โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+:root {
+ font-size:16px;
+}
+
+/* Grid
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+ .container {
+ position:relative;
+ width:100%;
+ max-width:37.5rem; /* 600px */
+ text-align:center;
+ margin:0 auto;
+ padding:3rem 1.25rem 0 1.25rem;
+ box-sizing:border-box;
+}
+.container-left {
+ position:relative;
+ width:100%;
+ max-width:37.5rem;
+ text-align:left;
+ margin:0 auto;
+ padding:0 1.25rem;
+ box-sizing:border-box;
+}
+.container-left p {
+ margin-bottom: 1rem; /* 16px space between paragraphs */
+ }
+.column {
+ position:center;
+ width:100%;
+ float:center;
+ box-sizing:border-box;
+}
+/* For devices larger than 400px */
+ @media (min-width:25rem) { /* 400px */
+ .container {
+ width:85%;
+ padding-left:0;
+ padding-right:0;
+}
+}/* For devices larger than 550px */
+ @media (min-width:34.375rem) { /* 550px */
+ .container {
+ width:80%;
+}
+.column,.columns {
+ margin-left:0;
+}
+.column:first-child,.columns:first-child {
+ margin-left:0;
+}
+}
+
+/* Base Styles
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+ body {
+ margin:0;
+ padding:0;
+ background-color:#ffffff;
+ color:#1a1a1a;
+ font-family:"Open Sans",system-ui;
+ font-size:1.125rem; /* 18px */
+ font-weight:400;
+ line-height:1.6;
+}
+
+/* Typography
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+ h1 {
+ margin:0 0 0.5rem 0;
+ font-size:3rem; /* 48px */
+ font-weight:800;
+ line-height:1;
+ letter-spacing:0;
+ word-wrap:break-word;
+ overflow-wrap:break-word;
+ hyphens:auto; /* Delete this to remove automatic hyphen on line break */
+}
+.container p {
+ margin:0 0 2rem 0;
+}
+
+/* Base Typography Settings
+โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+/* Base size - 16px browser default */
+:root {
+ font-size:16px; /* Using a 1.25 modular scale for typography */
+ --scale-0:1rem; /* 16px */
+ --scale-1:1.25rem; /* 20px */
+ --scale-2:1.563rem; /* 25px */
+ --scale-3:1.953rem; /* 31px */
+ --scale-4:2.441rem; /* 39px */
+ --scale-5:3.052rem; /* 49px */
+
+ /* Spacing units */
+ --spacing-xs:0.5rem; /* 8px */
+ --spacing-s:1rem; /* 16px */
+ --spacing-m:1.5rem; /* 24px */
+ --spacing-l:2rem; /* 32px */
+ --spacing-xl:3rem; /* 48px */
+ --spacing-xxl:4rem; /* 64px */
+}
+
+/* Avatar */
+.avatar {
+ width: 8rem; /* 128px */
+ height: 8rem;
+ border-radius: 50%;
+ object-fit: cover;
+ background-position: center;
+ margin-bottom: var(--spacing-l);
+ margin-left: auto;
+ margin-right: auto;
+ display: block;
+ }
+
+/* Typography Scale */
+h1 {
+ margin:0 0 var(--spacing-m) 0;
+ font-size:var(--scale-5); /* ~49px */
+ font-weight:800;
+ line-height:1.1;
+ letter-spacing:-0.02em;
+ word-wrap:break-word;
+ overflow-wrap:break-word;
+}
+body {
+ font-size:var(--scale-1); /* 20px */
+ line-height:1.6;
+}
+.container p {
+ margin:0 0 var(--spacing-xl) 0;
+ font-size:var(--scale-1);
+ line-height:1.6;
+}
+
+/* Container spacing */
+.container {
+ padding:var(--spacing-xl) var(--spacing-m) 0 var(--spacing-m);
+ text-align:center;
+}
+
+/* Footer */
+footer {
+ margin:var(--spacing-xxl) 0; /* 4rem (64px) top and bottom */
+ font-size:var(--scale-0);
+}
+
+/* Responsive adjustments */
+@media (max-width:34.375rem) { /* 550px */
+ h1 {
+ font-size:var(--scale-4);
+}
+body {
+ font-size:var(--scale-0);
+}
+.container p {
+ font-size:var(--scale-0);
+}
+.avatar {
+ margin-bottom:var(--spacing-m);
+}
+footer {
+ margin:var(--spacing-xl) 0; /* 3rem (48px) top and bottom */
+}
+}
+
+/* Links
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+ a {
+ color:#2457F5;
+ text-decoration:underline;
+}
+a:hover {
+ color:#083BDA;
+}
+
+/* Buttons
+โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+.button,button {
+ display:inline-flex;
+ align-items:center;
+ justify-content:center;
+ width:18.75rem; /* 300px */
+ min-height:3rem; /* 48px */
+ padding:0.75rem 1rem; /* 12px ; 16px */
+ font-size:1.125rem; /* 18px */
+ font-weight:700;
+ text-decoration:none;
+ white-space:normal;
+ background-color:var(--button-background,transparent);
+ color:var(--button-text,#000000);
+ border:var(--button-border,none);
+ border-radius:0.5rem;
+ cursor:pointer;
+ box-sizing:border-box;
+ hyphens:auto; /* Delete this to remove automatic hyphen on line break */
+ margin-bottom:1rem;
+ text-align:center;
+ line-height:1.3;
+}
+
+/* Icons
+โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+.icon {
+ width:1.25rem;
+ height:1.25rem;
+ margin-right:0.5rem;
+ flex-shrink:0;
+}
+
+/* Avatar
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+.avatar {
+ width: 8rem; /* 128px */
+ height: 8rem;
+ object-fit: cover;
+ background-position: center;
+ margin-bottom: var(--spacing-l);
+ }
+
+ /* Modifier for no avatar rounding */
+ .avatar--none {
+ border-radius: 0%;
+ }
+
+ /* Modifier for rounded avatar */
+ .avatar--rounded {
+ border-radius: 50%;
+ }
+
+ /* Modifier for slightly rounded corners */
+ .avatar--soft {
+ border-radius: 0.5rem; /* 8px rounded corners */
+ }
+
+/* Theme System
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+/* Light theme is default above */
+
+/* Dark theme */
+:root.theme-dark {
+ color-scheme:dark;
+}
+:root.theme-dark :focus-visible {
+ outline: 2px solid #4899F7;
+ outline-offset: 2px;
+ }
+:root.theme-dark body {
+ background-color:#121212;
+ color:#ffffff;
+}
+:root.theme-dark a:not(.button) {
+ color:#4899F7;
+}
+:root.theme-dark a:not(.button):hover {
+ color:#7AB8FF;
+}
+
+/* Auto theme */
+:root.theme-auto {
+ color-scheme:light dark;
+}
+@media (prefers-color-scheme:dark) {
+ :root.theme-auto body {
+ background-color:#121212;
+ color:#ffffff;
+}
+:root.theme-auto :focus-visible {
+ outline: 2px solid #4899F7;
+ outline-offset: 2px;
+ }
+:root.theme-auto a:not(.button) {
+ color:#4899F7;
+}
+:root.theme-auto a:not(.button):hover {
+ color:#7AB8FF;
+}
+}
+
+/* Button Text Color Override
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+ .button:hover,button:hover {
+ color:var(--button-text);
+}
+
+/* Responsive Typography
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+ @media (max-width:34.375rem) { /* 550px */
+ h1 {
+ font-size:2rem; /* 32px */
+ }
+ body {
+ font-size:1rem; /* 16px */
+ }
+}
+
+/* Privacy Page Styles
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+nav {
+ margin:var(--spacing-l) 0;
+ text-align:left;
+}
+section {
+ margin:var(--spacing-xl) 0;
+ text-align:left;
+}
+h2 {
+ font-size:var(--scale-3);
+ font-weight:700;
+ margin-bottom:var(--spacing-m);
+}
+h3 {
+ font-size:var(--scale-2);
+ font-weight:600;
+ margin:var(--spacing-l) 0 var(--spacing-s) 0;
+}
+ul {
+ list-style:none;
+ padding:0;
+ margin:0 0 var(--spacing-m) 0;
+}
+ul li {
+ margin-bottom:var(--spacing-xs);
+}
+
+/* Privacy page specific responsive adjustments */
+ @media (max-width:34.375rem) {
+ h2 {
+ font-size:var(--scale-2);
+ }
+ h3 {
+ font-size:var(--scale-1);
+ }
+ section {
+ margin:var(--spacing-l) 0;
+ }
+}
+
+/* Font Face Definitions
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ */
+@font-face {
+ font-display:swap;
+ font-family:'Open Sans';
+ font-style:normal;
+ font-weight:400;
+ src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot');
+ src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg#OpenSans') format('svg');
+}
+@font-face {
+ font-display:swap;
+ font-family:'Open Sans';
+ font-style:normal;
+ font-weight:600;
+ src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot');
+ src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg#OpenSans') format('svg');
+}
+@font-face {
+ font-display:swap;
+ font-family:'Open Sans';
+ font-style:normal;
+ font-weight:700;
+ src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot');
+ src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg#OpenSans') format('svg');
+}
+@font-face {
+ font-display:swap;
+ font-family:'Open Sans';
+ font-style:normal;
+ font-weight:800;
+ src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot');
+ src:url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot?#iefix') format('embedded-opentype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2') format('woff2'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff') format('woff'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf') format('truetype'),url('../fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg#OpenSans') format('svg');
+}
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot
new file mode 100644
index 0000000..12c8464
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.eot differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg
new file mode 100644
index 0000000..e0fe71f
--- /dev/null
+++ b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.svg
@@ -0,0 +1,366 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf
new file mode 100644
index 0000000..0f92154
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.ttf differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff
new file mode 100644
index 0000000..32c56a3
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2 b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2
new file mode 100644
index 0000000..2659995
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-600.woff2 differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot
new file mode 100644
index 0000000..7dbc32a
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.eot differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg
new file mode 100644
index 0000000..717e6a6
--- /dev/null
+++ b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.svg
@@ -0,0 +1,365 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf
new file mode 100644
index 0000000..e183c89
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.ttf differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff
new file mode 100644
index 0000000..fd9eb37
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2 b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2
new file mode 100644
index 0000000..e44d73d
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-700.woff2 differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot
new file mode 100644
index 0000000..6645b6c
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.eot differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg
new file mode 100644
index 0000000..ed9eb11
--- /dev/null
+++ b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.svg
@@ -0,0 +1,363 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf
new file mode 100644
index 0000000..d09d27a
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.ttf differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff
new file mode 100644
index 0000000..170dc15
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2 b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2
new file mode 100644
index 0000000..8af8d84
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-800.woff2 differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot
new file mode 100644
index 0000000..c7ae8c2
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.eot differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg
new file mode 100644
index 0000000..9d49aeb
--- /dev/null
+++ b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.svg
@@ -0,0 +1,365 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf
new file mode 100644
index 0000000..cafe798
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.ttf differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff
new file mode 100644
index 0000000..9bc5d1e
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff differ
diff --git a/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2 b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2
new file mode 100644
index 0000000..2aa7f33
Binary files /dev/null and b/fonts/open-sans-v34-vietnamese_latin-ext_latin_hebrew_greek-ext_greek_cyrillic-ext_cyrillic-regular.woff2 differ
diff --git a/images/avatar.png b/images/avatar.png
index 694dfc1..b88ecad 100644
Binary files a/images/avatar.png and b/images/avatar.png differ
diff --git a/images/avatar.svg b/images/avatar.svg
deleted file mode 100644
index 2456224..0000000
--- a/images/avatar.svg
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
diff --git a/images/avatar@2x.png b/images/avatar@2x.png
index 0ca79e0..2255a42 100644
Binary files a/images/avatar@2x.png and b/images/avatar@2x.png differ
diff --git a/images/icons/amazon-music.svg b/images/icons/amazon-music.svg
new file mode 100644
index 0000000..5e392e3
--- /dev/null
+++ b/images/icons/amazon-music.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/amazon.svg b/images/icons/amazon.svg
index b0c84df..0f30b21 100644
--- a/images/icons/amazon.svg
+++ b/images/icons/amazon.svg
@@ -1,13 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/apple-music-alt.svg b/images/icons/apple-music-alt.svg
new file mode 100644
index 0000000..152598f
--- /dev/null
+++ b/images/icons/apple-music-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/apple-music-white.svg b/images/icons/apple-music-white.svg
deleted file mode 100644
index 18c7389..0000000
--- a/images/icons/apple-music-white.svg
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/images/icons/apple-music.svg b/images/icons/apple-music.svg
index da8ec8a..c4a5a6b 100644
--- a/images/icons/apple-music.svg
+++ b/images/icons/apple-music.svg
@@ -1,43 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/apple-podcasts-alt.svg b/images/icons/apple-podcasts-alt.svg
new file mode 100644
index 0000000..de30ad8
--- /dev/null
+++ b/images/icons/apple-podcasts-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/apple-podcasts-white.svg b/images/icons/apple-podcasts-white.svg
deleted file mode 100644
index 5836d90..0000000
--- a/images/icons/apple-podcasts-white.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/images/icons/apple-podcasts.svg b/images/icons/apple-podcasts.svg
index a621342..9d8e414 100644
--- a/images/icons/apple-podcasts.svg
+++ b/images/icons/apple-podcasts.svg
@@ -1,31 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/apple.svg b/images/icons/apple.svg
new file mode 100644
index 0000000..6eb6a00
--- /dev/null
+++ b/images/icons/apple.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/appstore.svg b/images/icons/appstore.svg
deleted file mode 100644
index ff199d1..0000000
--- a/images/icons/appstore.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/images/icons/artstation.svg b/images/icons/artstation.svg
new file mode 100644
index 0000000..e8fd6b6
--- /dev/null
+++ b/images/icons/artstation.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/bandcamp.svg b/images/icons/bandcamp.svg
index cde6f60..c68ce86 100644
--- a/images/icons/bandcamp.svg
+++ b/images/icons/bandcamp.svg
@@ -1,26 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/behance.svg b/images/icons/behance.svg
new file mode 100644
index 0000000..00116ca
--- /dev/null
+++ b/images/icons/behance.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/blog.svg b/images/icons/blog.svg
index cd54c19..ac23f7f 100644
--- a/images/icons/blog.svg
+++ b/images/icons/blog.svg
@@ -1,37 +1 @@
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/bluesky-alt.svg b/images/icons/bluesky-alt.svg
new file mode 100644
index 0000000..716e873
--- /dev/null
+++ b/images/icons/bluesky-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/bluesky.svg b/images/icons/bluesky.svg
new file mode 100644
index 0000000..8742cd7
--- /dev/null
+++ b/images/icons/bluesky.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/buy-me-a-coffee.svg b/images/icons/buy-me-a-coffee.svg
new file mode 100644
index 0000000..a273355
--- /dev/null
+++ b/images/icons/buy-me-a-coffee.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/cal.svg b/images/icons/cal.svg
new file mode 100644
index 0000000..cec7ea5
--- /dev/null
+++ b/images/icons/cal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/calendly.svg b/images/icons/calendly.svg
new file mode 100644
index 0000000..a56807c
--- /dev/null
+++ b/images/icons/calendly.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/cash-app-btc.svg b/images/icons/cash-app-btc.svg
new file mode 100644
index 0000000..0c28223
--- /dev/null
+++ b/images/icons/cash-app-btc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/cash-app-dollar.svg b/images/icons/cash-app-dollar.svg
new file mode 100644
index 0000000..1e9ef1a
--- /dev/null
+++ b/images/icons/cash-app-dollar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/cash-app-pound.svg b/images/icons/cash-app-pound.svg
new file mode 100644
index 0000000..84edc5b
--- /dev/null
+++ b/images/icons/cash-app-pound.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/cashapp_btc.svg b/images/icons/cashapp_btc.svg
deleted file mode 100644
index 8c4a6d7..0000000
--- a/images/icons/cashapp_btc.svg
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/images/icons/cashapp_dollar.svg b/images/icons/cashapp_dollar.svg
deleted file mode 100644
index 8075ef5..0000000
--- a/images/icons/cashapp_dollar.svg
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/images/icons/cashapp_pound.svg b/images/icons/cashapp_pound.svg
deleted file mode 100644
index 70d3f3e..0000000
--- a/images/icons/cashapp_pound.svg
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/images/icons/clubhouse.svg b/images/icons/clubhouse.svg
deleted file mode 100644
index 7673f5a..0000000
--- a/images/icons/clubhouse.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/images/icons/coffee.svg b/images/icons/coffee.svg
deleted file mode 100644
index 1876bfc..0000000
--- a/images/icons/coffee.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/images/icons/dev-to.svg b/images/icons/dev-to.svg
new file mode 100644
index 0000000..2d25a8e
--- /dev/null
+++ b/images/icons/dev-to.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/dev_to.svg b/images/icons/dev_to.svg
deleted file mode 100644
index d52b2ed..0000000
--- a/images/icons/dev_to.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/images/icons/discogs-alt.svg b/images/icons/discogs-alt.svg
new file mode 100644
index 0000000..f91e5c1
--- /dev/null
+++ b/images/icons/discogs-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/discogs.svg b/images/icons/discogs.svg
new file mode 100644
index 0000000..08d99aa
--- /dev/null
+++ b/images/icons/discogs.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/discord.svg b/images/icons/discord.svg
index 667def4..1677aa2 100644
--- a/images/icons/discord.svg
+++ b/images/icons/discord.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/dribbble.svg b/images/icons/dribbble.svg
new file mode 100644
index 0000000..f73d21f
--- /dev/null
+++ b/images/icons/dribbble.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/email-alt.svg b/images/icons/email-alt.svg
new file mode 100644
index 0000000..2cd5c51
--- /dev/null
+++ b/images/icons/email-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/email.svg b/images/icons/email.svg
index 85697ac..b00cab1 100644
--- a/images/icons/email.svg
+++ b/images/icons/email.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/email_alt.svg b/images/icons/email_alt.svg
deleted file mode 100644
index 954a4af..0000000
--- a/images/icons/email_alt.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/images/icons/etsy.svg b/images/icons/etsy.svg
index e414e57..bd82581 100644
--- a/images/icons/etsy.svg
+++ b/images/icons/etsy.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/facebook.svg b/images/icons/facebook.svg
index 62b14e2..337ac70 100644
--- a/images/icons/facebook.svg
+++ b/images/icons/facebook.svg
@@ -1,2 +1 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/figma.svg b/images/icons/figma.svg
index 9cb862d..60b2398 100644
--- a/images/icons/figma.svg
+++ b/images/icons/figma.svg
@@ -1,14 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/fiverr.svg b/images/icons/fiverr.svg
new file mode 100644
index 0000000..8d9fe03
--- /dev/null
+++ b/images/icons/fiverr.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/images/icons/flickr.svg b/images/icons/flickr.svg
index bde20ab..79a005e 100644
--- a/images/icons/flickr.svg
+++ b/images/icons/flickr.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/images/icons/generic-blog.svg b/images/icons/generic-blog.svg
new file mode 100644
index 0000000..d107c7b
--- /dev/null
+++ b/images/icons/generic-blog.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-calendar.svg b/images/icons/generic-calendar.svg
new file mode 100644
index 0000000..90a70c9
--- /dev/null
+++ b/images/icons/generic-calendar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-cloud.svg b/images/icons/generic-cloud.svg
new file mode 100644
index 0000000..d8e2a65
--- /dev/null
+++ b/images/icons/generic-cloud.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-code.svg b/images/icons/generic-code.svg
new file mode 100644
index 0000000..4d7999b
--- /dev/null
+++ b/images/icons/generic-code.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-computer.svg b/images/icons/generic-computer.svg
new file mode 100644
index 0000000..c19b60c
--- /dev/null
+++ b/images/icons/generic-computer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-email-alt.svg b/images/icons/generic-email-alt.svg
new file mode 100644
index 0000000..84c2a46
--- /dev/null
+++ b/images/icons/generic-email-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-email.svg b/images/icons/generic-email.svg
new file mode 100644
index 0000000..b77761c
--- /dev/null
+++ b/images/icons/generic-email.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-homepage.svg b/images/icons/generic-homepage.svg
new file mode 100644
index 0000000..82343d1
--- /dev/null
+++ b/images/icons/generic-homepage.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-map.svg b/images/icons/generic-map.svg
new file mode 100644
index 0000000..fa89872
--- /dev/null
+++ b/images/icons/generic-map.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-phone.svg b/images/icons/generic-phone.svg
new file mode 100644
index 0000000..13af93d
--- /dev/null
+++ b/images/icons/generic-phone.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-review.svg b/images/icons/generic-review.svg
new file mode 100644
index 0000000..22e09ae
--- /dev/null
+++ b/images/icons/generic-review.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-rss.svg b/images/icons/generic-rss.svg
new file mode 100644
index 0000000..989ebe9
--- /dev/null
+++ b/images/icons/generic-rss.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-shopping-bag.svg b/images/icons/generic-shopping-bag.svg
new file mode 100644
index 0000000..4e22ed5
--- /dev/null
+++ b/images/icons/generic-shopping-bag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-shopping-tag.svg b/images/icons/generic-shopping-tag.svg
new file mode 100644
index 0000000..15bdb68
--- /dev/null
+++ b/images/icons/generic-shopping-tag.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-sms.svg b/images/icons/generic-sms.svg
new file mode 100644
index 0000000..3d4adf4
--- /dev/null
+++ b/images/icons/generic-sms.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/generic-website.svg b/images/icons/generic-website.svg
new file mode 100644
index 0000000..a3623c9
--- /dev/null
+++ b/images/icons/generic-website.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/github.svg b/images/icons/github.svg
index 543256c..bfdc359 100644
--- a/images/icons/github.svg
+++ b/images/icons/github.svg
@@ -1,2 +1 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/gitlab.svg b/images/icons/gitlab.svg
index b88f362..e17e146 100644
--- a/images/icons/gitlab.svg
+++ b/images/icons/gitlab.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/gofundme.svg b/images/icons/gofundme.svg
new file mode 100644
index 0000000..0944d4b
--- /dev/null
+++ b/images/icons/gofundme.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/goodreads.svg b/images/icons/goodreads.svg
index ce87093..7edf57a 100644
--- a/images/icons/goodreads.svg
+++ b/images/icons/goodreads.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/google-drive.svg b/images/icons/google-drive.svg
new file mode 100644
index 0000000..56620e2
--- /dev/null
+++ b/images/icons/google-drive.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/google-play.svg b/images/icons/google-play.svg
new file mode 100644
index 0000000..010d620
--- /dev/null
+++ b/images/icons/google-play.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/google-podcasts.svg b/images/icons/google-podcasts.svg
index 079d16d..e596211 100644
--- a/images/icons/google-podcasts.svg
+++ b/images/icons/google-podcasts.svg
@@ -1,10 +1 @@
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/google-scholar.svg b/images/icons/google-scholar.svg
new file mode 100644
index 0000000..5912082
--- /dev/null
+++ b/images/icons/google-scholar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/hashnode.svg b/images/icons/hashnode.svg
index 69f2e29..4e42d84 100644
--- a/images/icons/hashnode.svg
+++ b/images/icons/hashnode.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/instagram.svg b/images/icons/instagram.svg
index a398760..841d3e8 100644
--- a/images/icons/instagram.svg
+++ b/images/icons/instagram.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/kick-alt.svg b/images/icons/kick-alt.svg
new file mode 100644
index 0000000..f9dd757
--- /dev/null
+++ b/images/icons/kick-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/kick.svg b/images/icons/kick.svg
new file mode 100644
index 0000000..d4568b6
--- /dev/null
+++ b/images/icons/kick.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/kickstarter.svg b/images/icons/kickstarter.svg
index 075b10e..71ce32f 100644
--- a/images/icons/kickstarter.svg
+++ b/images/icons/kickstarter.svg
@@ -1,10 +1 @@
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/kit.svg b/images/icons/kit.svg
index 5c27073..a972f9a 100644
--- a/images/icons/kit.svg
+++ b/images/icons/kit.svg
@@ -1,11 +1 @@
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/ko-fi.svg b/images/icons/ko-fi.svg
index 4fefd54..fa05eed 100644
--- a/images/icons/ko-fi.svg
+++ b/images/icons/ko-fi.svg
@@ -1,11 +1,20 @@
-
-
- Layer 1
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/images/icons/last-fm.svg b/images/icons/last-fm.svg
new file mode 100644
index 0000000..503b94d
--- /dev/null
+++ b/images/icons/last-fm.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/letterboxd.svg b/images/icons/letterboxd.svg
index 02a9fe2..d6c518d 100644
--- a/images/icons/letterboxd.svg
+++ b/images/icons/letterboxd.svg
@@ -1,13 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/line.svg b/images/icons/line.svg
new file mode 100644
index 0000000..11f9b43
--- /dev/null
+++ b/images/icons/line.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/linkedin.svg b/images/icons/linkedin.svg
index d8c921a..e323d7e 100644
--- a/images/icons/linkedin.svg
+++ b/images/icons/linkedin.svg
@@ -1,2 +1 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/littlelink.svg b/images/icons/littlelink.svg
index 99953e4..55e0bc8 100644
--- a/images/icons/littlelink.svg
+++ b/images/icons/littlelink.svg
@@ -1,3 +1,11 @@
-
+
+
+
+
+
+
+
+
+
diff --git a/images/icons/mailchimp.svg b/images/icons/mailchimp.svg
new file mode 100644
index 0000000..89f12b5
--- /dev/null
+++ b/images/icons/mailchimp.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/mastodon.svg b/images/icons/mastodon.svg
index 0f8baeb..c71fe88 100644
--- a/images/icons/mastodon.svg
+++ b/images/icons/mastodon.svg
@@ -1,10 +1 @@
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/medium.svg b/images/icons/medium.svg
index ac7d0fd..0ae1ff4 100644
--- a/images/icons/medium.svg
+++ b/images/icons/medium.svg
@@ -1,5 +1,12 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/images/icons/messenger.svg b/images/icons/messenger.svg
index 87a9e0a..c638a64 100644
--- a/images/icons/messenger.svg
+++ b/images/icons/messenger.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/microsoft.svg b/images/icons/microsoft.svg
new file mode 100644
index 0000000..a50ed2d
--- /dev/null
+++ b/images/icons/microsoft.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/ngl.svg b/images/icons/ngl.svg
new file mode 100644
index 0000000..b91d77c
--- /dev/null
+++ b/images/icons/ngl.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/notion.svg b/images/icons/notion.svg
index 201f7bb..fb878e0 100644
--- a/images/icons/notion.svg
+++ b/images/icons/notion.svg
@@ -1,9 +1 @@
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/obsidian.svg b/images/icons/obsidian.svg
new file mode 100644
index 0000000..679a19b
--- /dev/null
+++ b/images/icons/obsidian.svg
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/images/icons/onlyfans.svg b/images/icons/onlyfans.svg
index 6983076..82288e3 100644
--- a/images/icons/onlyfans.svg
+++ b/images/icons/onlyfans.svg
@@ -1,4 +1 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/patreon.svg b/images/icons/patreon.svg
index fe07eb1..46abf0f 100644
--- a/images/icons/patreon.svg
+++ b/images/icons/patreon.svg
@@ -1,3 +1 @@
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/paypal.svg b/images/icons/paypal.svg
index 306ba8c..0803426 100644
--- a/images/icons/paypal.svg
+++ b/images/icons/paypal.svg
@@ -1,21 +1 @@
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/pinterest.svg b/images/icons/pinterest.svg
index c57d0f6..76af8b4 100644
--- a/images/icons/pinterest.svg
+++ b/images/icons/pinterest.svg
@@ -1,11 +1 @@
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/playstore.svg b/images/icons/playstore.svg
deleted file mode 100644
index 703a0d0..0000000
--- a/images/icons/playstore.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff --git a/images/icons/product-hunt.svg b/images/icons/product-hunt.svg
new file mode 100644
index 0000000..9b578cf
--- /dev/null
+++ b/images/icons/product-hunt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/producthunt.svg b/images/icons/producthunt.svg
deleted file mode 100644
index f1df0f5..0000000
--- a/images/icons/producthunt.svg
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/images/icons/read-cv.svg b/images/icons/read-cv.svg
new file mode 100644
index 0000000..1d9863c
--- /dev/null
+++ b/images/icons/read-cv.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/redbubble.svg b/images/icons/redbubble.svg
deleted file mode 100644
index c393b5f..0000000
--- a/images/icons/redbubble.svg
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/images/icons/reddit.svg b/images/icons/reddit.svg
index ec269db..42728fe 100644
--- a/images/icons/reddit.svg
+++ b/images/icons/reddit.svg
@@ -1,4 +1 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/shop.svg b/images/icons/shop.svg
new file mode 100644
index 0000000..fcb1541
--- /dev/null
+++ b/images/icons/shop.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/signal.svg b/images/icons/signal.svg
index 4cef57a..38059c4 100644
--- a/images/icons/signal.svg
+++ b/images/icons/signal.svg
@@ -1,3 +1 @@
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/skoob.svg b/images/icons/skoob.svg
deleted file mode 100644
index d24b768..0000000
--- a/images/icons/skoob.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/images/icons/slack.svg b/images/icons/slack.svg
new file mode 100644
index 0000000..44f8fbf
--- /dev/null
+++ b/images/icons/slack.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/snapchat.svg b/images/icons/snapchat.svg
index 55e4b3e..224170b 100644
--- a/images/icons/snapchat.svg
+++ b/images/icons/snapchat.svg
@@ -1,4 +1 @@
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/soundcloud.svg b/images/icons/soundcloud.svg
index 1f428ad..2598ed5 100644
--- a/images/icons/soundcloud.svg
+++ b/images/icons/soundcloud.svg
@@ -1,2 +1 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/spotify-alt.svg b/images/icons/spotify-alt.svg
new file mode 100644
index 0000000..f51ee41
--- /dev/null
+++ b/images/icons/spotify-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/spotify-green.svg b/images/icons/spotify-green.svg
deleted file mode 100644
index db3c517..0000000
--- a/images/icons/spotify-green.svg
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/images/icons/spotify.svg b/images/icons/spotify.svg
index c037b0f..0e5b39c 100644
--- a/images/icons/spotify.svg
+++ b/images/icons/spotify.svg
@@ -1,2 +1 @@
-
-
+
\ No newline at end of file
diff --git a/images/icons/square.svg b/images/icons/square.svg
new file mode 100644
index 0000000..52c42f0
--- /dev/null
+++ b/images/icons/square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/stack-overflow.svg b/images/icons/stack-overflow.svg
new file mode 100644
index 0000000..282f038
--- /dev/null
+++ b/images/icons/stack-overflow.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/steam.svg b/images/icons/steam.svg
index 96af0d4..4da4e0b 100644
--- a/images/icons/steam.svg
+++ b/images/icons/steam.svg
@@ -1,2 +1 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/strava.svg b/images/icons/strava.svg
index fdfe55f..4befe82 100644
--- a/images/icons/strava.svg
+++ b/images/icons/strava.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/substack.svg b/images/icons/substack.svg
index 6fc656c..e0ca934 100644
--- a/images/icons/substack.svg
+++ b/images/icons/substack.svg
@@ -1,3 +1,3 @@
-
+
diff --git a/images/icons/telegram.svg b/images/icons/telegram.svg
index 9d471fc..88b4099 100644
--- a/images/icons/telegram.svg
+++ b/images/icons/telegram.svg
@@ -1,2 +1 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/threads.svg b/images/icons/threads.svg
new file mode 100644
index 0000000..d0dab5b
--- /dev/null
+++ b/images/icons/threads.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/threema.svg b/images/icons/threema.svg
index 142a6f8..6a6503d 100644
--- a/images/icons/threema.svg
+++ b/images/icons/threema.svg
@@ -1,9 +1 @@
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/tiktok.svg b/images/icons/tiktok.svg
index ecf0715..080162c 100644
--- a/images/icons/tiktok.svg
+++ b/images/icons/tiktok.svg
@@ -1,12 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/trello.svg b/images/icons/trello.svg
index c0d516c..9bae6e2 100644
--- a/images/icons/trello.svg
+++ b/images/icons/trello.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/tumblr.svg b/images/icons/tumblr.svg
index de775cf..d0e93f2 100644
--- a/images/icons/tumblr.svg
+++ b/images/icons/tumblr.svg
@@ -1,2 +1 @@
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/twitch.svg b/images/icons/twitch.svg
index f0d29b0..7ddd811 100644
--- a/images/icons/twitch.svg
+++ b/images/icons/twitch.svg
@@ -1,5 +1 @@
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/twitter.svg b/images/icons/twitter.svg
deleted file mode 100644
index 856eedf..0000000
--- a/images/icons/twitter.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/images/icons/unsplash.svg b/images/icons/unsplash.svg
new file mode 100755
index 0000000..b9c608c
--- /dev/null
+++ b/images/icons/unsplash.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/untappd.svg b/images/icons/untappd.svg
deleted file mode 100644
index 0e7f36e..0000000
--- a/images/icons/untappd.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/images/icons/venmo.svg b/images/icons/venmo.svg
index 0c37329..324eb84 100644
--- a/images/icons/venmo.svg
+++ b/images/icons/venmo.svg
@@ -1,3 +1 @@
-
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/images/icons/vimeo.svg b/images/icons/vimeo.svg
index b04df9b..ad2a3ae 100644
--- a/images/icons/vimeo.svg
+++ b/images/icons/vimeo.svg
@@ -1,10 +1 @@
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/vrchat.svg b/images/icons/vrchat.svg
index 8433269..4d90ffe 100644
--- a/images/icons/vrchat.svg
+++ b/images/icons/vrchat.svg
@@ -1 +1 @@
-
+
\ No newline at end of file
diff --git a/images/icons/vsco.svg b/images/icons/vsco.svg
new file mode 100644
index 0000000..9059e2c
--- /dev/null
+++ b/images/icons/vsco.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/web.svg b/images/icons/web.svg
deleted file mode 100644
index 316d45f..0000000
--- a/images/icons/web.svg
+++ /dev/null
@@ -1,16 +0,0 @@
-
\ No newline at end of file
diff --git a/images/icons/whatsapp.svg b/images/icons/whatsapp.svg
index e22953c..979145b 100644
--- a/images/icons/whatsapp.svg
+++ b/images/icons/whatsapp.svg
@@ -1,16 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/wordpress.svg b/images/icons/wordpress.svg
index f8ce5ed..dddc9cc 100644
--- a/images/icons/wordpress.svg
+++ b/images/icons/wordpress.svg
@@ -1,3 +1 @@
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/x.svg b/images/icons/x.svg
new file mode 100644
index 0000000..393e68b
--- /dev/null
+++ b/images/icons/x.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/xing.svg b/images/icons/xing.svg
deleted file mode 100644
index ad84a5a..0000000
--- a/images/icons/xing.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
diff --git a/images/icons/youtube-alt.svg b/images/icons/youtube-alt.svg
new file mode 100644
index 0000000..e261ee8
--- /dev/null
+++ b/images/icons/youtube-alt.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/images/icons/youtube-music.svg b/images/icons/youtube-music.svg
index 9dd9150..ba8cc89 100644
--- a/images/icons/youtube-music.svg
+++ b/images/icons/youtube-music.svg
@@ -1,28 +1 @@
-
-
-
-
-
-
-
-
-
-
-]>
-
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/youtube.svg b/images/icons/youtube.svg
index 7cf1b9b..bdfcb3e 100644
--- a/images/icons/youtube.svg
+++ b/images/icons/youtube.svg
@@ -1,11 +1 @@
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/images/icons/zoom.svg b/images/icons/zoom.svg
new file mode 100644
index 0000000..7b864f0
--- /dev/null
+++ b/images/icons/zoom.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/index.html b/index.html
index edf0024..26e4bfd 100644
--- a/index.html
+++ b/index.html
@@ -1,163 +1,127 @@
-
-
-
-
-
+
-
+
+
+
+
+
+
+
- WK Links
-
-
-
-
+
+ WK Links
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ >
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
+
-
+
+
- This page has been built with every pre-designed button available in LittleLink by default. You can rearrange and delete as needed.
+
+
+ WK Vylion Links
+
- You can add your own brand or others brands you may need in the `css/brands.css` file.
+
+
Interested in conlanging, worldbuilding, mechanical keyboards, DIY, programming, gamedev, terrariums.
- You can add custom icons to `images/icons/...`. It is recommended to use a 24x24 .SVG.
+ Here's all the online places where you can find me. If you think you found me somewhere else, it may not be me!
- Edit the "Your Image Here" section to add your own personal branding, like a picture of yourself or your brand logo!
+
+
- 1.) class="icon" | This class is telling the
tag that it should use the styling for icons found in `css/brands.css`.
+
+
- 2.) src="icons/[icon_name].svg" | This defines the icon you would like to display from the icons/ folder. For example, you can change this to src="icons/discord.svg" to use the Discord icon.
- Add your own 24x24 icons to the "icons" folder to reference them. We recommend providing a SVG.
-
- 3.) alt="Example Logo" | This alt attribute helps provides alternate text for an image, this can assist users who use screen readers.
-
- -->
-
-
-
- Tumblr
-
-
-
-
- Mastodon
-
-
-
-
- Telegram main channel
-
-
-
-
- Cohost
-
-
-
-
- Instagram
-
-
-
-
- wk@vylion.com
-
-
-
-
- PayPal
-
-
-
-
-
This website was built by forking LittleLink
-
-
-
-
diff --git a/privacy.html b/privacy.html
index bdc1201..b2c6156 100644
--- a/privacy.html
+++ b/privacy.html
@@ -1,164 +1,84 @@
-
+
+
+
+
+
-
+
+
-
-
-
LittleLink Privacy Policy
-
-
+
+
Privacy Policy | LittleLink
+
-
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
-
+
-
-
-
-
-
- โฌ
๏ธ Back to main page
-
-
-
-
-
-
๐ Privacy Overview
-
-
-
- Personal Data collected for the following purposes and using the
- following services:
-
-
-
- ๐งฎ Analytics
-
- The services contained in this section enable the Owner to monitor
- and analyze web traffic and can be used to keep track of User
- behavior.
-
-
-
- 1.) Example LLC.
- Personal Data:
- various types of Data as specified in the privacy policy of the
- service
- Privacy Policy
-
-
-
-
-
- ๐ฆ Displaying Content From External Platforms
-
- This type of service allows you to view content hosted on external
- platforms directly from the pages of this website and interact with
- them.
- This type of service might still collect web traffic data for the
- pages where the service is installed, even when Users do not use it.
-
-
-
- 1.) Example LLC
- Personal Data:
- Usage Data; various types of Data as specified in the privacy
- policy of the service
-
- Privacy Policy
-
-
-
-
-
- ๐ Hosting and Backend Infrastructure
-
- This type of service has the purpose of hosting Data and files that
- enable this website to exist.
-
-
- Some services among those listed below, if any, may work through
- geographically distributed servers, making it difficult to determine
- the actual location where the Personal Data are stored.
-
-
-
- 1.) Example LLC.
- Personal Data:
- various types of Data as specified in the privacy policy of the
- service
-
- Privacy Policy
-
-
-
-
-
-
-
- Build your own by forking LittleLink .
-
-
+
+
+
+ โ Back to main page
+
+
+
Privacy Overview
+
+
+ Analytics
+ The services contained in this section enable the Owner to monitor and analyze web traffic and can be used to keep track of User behavior.
+
+ Example LLC
+
+ Personal Data: various types of Data as specified in the privacy policy of the service
+ Privacy Policy
+
+
+
+
+ External Content
+ This type of service allows you to view content hosted on external platforms directly from the pages of this website and interact with them.
+ This type of service might still collect web traffic data for the pages where the service is installed, even when Users do not use it.
+
+ Example LLC
+
+ Personal Data: Usage Data; various types of Data as specified in the privacy policy of the service
+ Privacy Policy
+
+
+
+
+ Hosting and Infrastructure
+ This type of service has the purpose of hosting Data and files that enable this website to exist.
+ Some services among those listed below, if any, may work through geographically distributed servers, making it difficult to determine the actual location where the Personal Data are stored.
+
+ Example LLC
+
+ Personal Data: various types of Data as specified in the privacy policy of the service
+ Privacy Policy
+
+
+
+
-
-
+
+
\ No newline at end of file