diff --git a/alt-popup.js b/alt-popup.js
new file mode 100644
index 0000000..866aac9
--- /dev/null
+++ b/alt-popup.js
@@ -0,0 +1,101 @@
+// custom popups that appear on hover that uses the alt attribute on elements
+// generated with ai i'm SORRY but i'm stupid and this works so its probably fiiiine
+// i'll probably redo this when i can be assed to learn js myself
+document.addEventListener("DOMContentLoaded", function () {
+ let popup = document.getElementById("alt-popup");
+
+ // add popup to all elements with alt or aria-label
+ function initializePopups() {
+ // find all elements with alt or aria-label
+ const elementsWithAlt = document.querySelectorAll("[alt], [aria-label]");
+
+ // add mouse events to each element
+ elementsWithAlt.forEach((element) => {
+ element.addEventListener("mousemove", showPopup);
+ element.addEventListener("mouseout", hidePopup);
+ });
+ }
+
+ // show popup and position it near the cursor
+ function showPopup(event) {
+ // get alt text or aria-label
+ const altText = event.target.getAttribute("alt");
+ const ariaLabel = event.target.getAttribute("aria-label");
+
+ // Use alt text if available, otherwise use aria-label
+ const displayText = altText || ariaLabel;
+
+ if (displayText) {
+ // use text in popup
+ popup.textContent = displayText;
+
+ // Make the popup visible but with position:fixed and visibility:hidden
+ // so we can measure its dimensions without it being visible yet
+ popup.style.opacity = "0";
+ popup.style.visibility = "visible";
+ popup.style.position = "fixed"; // Changed from absolute to fixed
+
+ // Get viewport dimensions
+ const viewportWidth = window.innerWidth;
+ const viewportHeight = window.innerHeight;
+
+ // Get popup dimensions
+ const popupWidth = popup.offsetWidth;
+ const popupHeight = popup.offsetHeight;
+
+ // Use clientX/clientY which are relative to the viewport (for fixed positioning)
+ let leftPos = event.clientX + 20;
+ let topPos = event.clientY + 20;
+
+ // Check if popup would extend beyond right edge of viewport
+ if (leftPos + popupWidth > viewportWidth) {
+ // Flip to left side of cursor
+ leftPos = event.clientX - popupWidth - 10;
+ }
+
+ // Check if popup would extend beyond bottom edge of viewport
+ if (topPos + popupHeight > viewportHeight) {
+ // Flip to above cursor
+ topPos = event.clientY - popupHeight - 10;
+ }
+
+ // Additional check if flipping to left puts it offscreen
+ if (leftPos < 0) {
+ leftPos = 10;
+ }
+
+ // Additional check if flipping to top puts it offscreen
+ if (topPos < 0) {
+ topPos = 10;
+ }
+
+ // Set the final position and make it visible
+ popup.style.left = leftPos + "px";
+ popup.style.top = topPos + "px";
+ popup.style.opacity = "1";
+ popup.style.visibility = "visible";
+ }
+ }
+
+ function hidePopup() {
+ popup.style.opacity = "0";
+ popup.style.visibility = "hidden";
+ }
+
+ initializePopups();
+
+ if (window.MutationObserver) {
+ const observer = new MutationObserver((mutations) => {
+ mutations.forEach((mutation) => {
+ if (mutation.addedNodes.length) {
+ initializePopups();
+ }
+ });
+ });
+
+ // Only set up the observer once
+ if (document.body) {
+ observer.observe(document.body, { childList: true, subtree: true });
+ }
+ }
+});
\ No newline at end of file
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Bold.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Bold.woff2
new file mode 100644
index 0000000..3b73597
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Bold.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-BoldItalic.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-BoldItalic.woff2
new file mode 100644
index 0000000..25b2858
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-BoldItalic.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraBold.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraBold.woff2
new file mode 100644
index 0000000..65039ac
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraBold.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraBoldItalic.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraBoldItalic.woff2
new file mode 100644
index 0000000..5abb72e
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraBoldItalic.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraLight.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraLight.woff2
new file mode 100644
index 0000000..5a13603
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraLight.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraLightItalic.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraLightItalic.woff2
new file mode 100644
index 0000000..ad1940c
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-ExtraLightItalic.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Light.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Light.woff2
new file mode 100644
index 0000000..b1eac3f
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Light.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-LightItalic.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-LightItalic.woff2
new file mode 100644
index 0000000..f0f492f
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-LightItalic.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Medium.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Medium.woff2
new file mode 100644
index 0000000..e82765d
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Medium.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-MediumItalic.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-MediumItalic.woff2
new file mode 100644
index 0000000..c9e218a
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-MediumItalic.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Regular.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Regular.woff2
new file mode 100644
index 0000000..d2babdf
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-Regular.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-RegularItalic.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-RegularItalic.woff2
new file mode 100644
index 0000000..dc05d06
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-RegularItalic.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-SemiBold.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-SemiBold.woff2
new file mode 100644
index 0000000..a7d9ece
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-SemiBold.woff2 differ
diff --git a/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-SemiBoldItalic.woff2 b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-SemiBoldItalic.woff2
new file mode 100644
index 0000000..f911176
Binary files /dev/null and b/assets/fonts/AtkinsonHyperlegibleNext/AtkinsonHyperlegibleNext-SemiBoldItalic.woff2 differ
diff --git a/assets/fonts/LexendDeca/OFL.txt b/assets/fonts/LexendDeca/OFL.txt
deleted file mode 100644
index e9296e8..0000000
--- a/assets/fonts/LexendDeca/OFL.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-Copyright 2018 The Lexend Project Authors (https://github.com/googlefonts/lexend), with Reserved Font Name “RevReading Lexend”.
-
-This Font Software is licensed under the SIL Open Font License, Version 1.1.
-This license is copied below, and is also available with a FAQ at:
-https://openfontlicense.org
-
-
------------------------------------------------------------
-SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
------------------------------------------------------------
-
-PREAMBLE
-The goals of the Open Font License (OFL) are to stimulate worldwide
-development of collaborative font projects, to support the font creation
-efforts of academic and linguistic communities, and to provide a free and
-open framework in which fonts may be shared and improved in partnership
-with others.
-
-The OFL allows the licensed fonts to be used, studied, modified and
-redistributed freely as long as they are not sold by themselves. The
-fonts, including any derivative works, can be bundled, embedded,
-redistributed and/or sold with any software provided that any reserved
-names are not used by derivative works. The fonts and derivatives,
-however, cannot be released under any other type of license. The
-requirement for fonts to remain under this license does not apply
-to any document created using the fonts or their derivatives.
-
-DEFINITIONS
-"Font Software" refers to the set of files released by the Copyright
-Holder(s) under this license and clearly marked as such. This may
-include source files, build scripts and documentation.
-
-"Reserved Font Name" refers to any names specified as such after the
-copyright statement(s).
-
-"Original Version" refers to the collection of Font Software components as
-distributed by the Copyright Holder(s).
-
-"Modified Version" refers to any derivative made by adding to, deleting,
-or substituting -- in part or in whole -- any of the components of the
-Original Version, by changing formats or by porting the Font Software to a
-new environment.
-
-"Author" refers to any designer, engineer, programmer, technical
-writer or other person who contributed to the Font Software.
-
-PERMISSION & CONDITIONS
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of the Font Software, to use, study, copy, merge, embed, modify,
-redistribute, and sell modified and unmodified copies of the Font
-Software, subject to the following conditions:
-
-1) Neither the Font Software nor any of its individual components,
-in Original or Modified Versions, may be sold by itself.
-
-2) Original or Modified Versions of the Font Software may be bundled,
-redistributed and/or sold with any software, provided that each copy
-contains the above copyright notice and this license. These can be
-included either as stand-alone text files, human-readable headers or
-in the appropriate machine-readable metadata fields within text or
-binary files as long as those fields can be easily viewed by the user.
-
-3) No Modified Version of the Font Software may use the Reserved Font
-Name(s) unless explicit written permission is granted by the corresponding
-Copyright Holder. This restriction only applies to the primary font name as
-presented to the users.
-
-4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
-Software shall not be used to promote, endorse or advertise any
-Modified Version, except to acknowledge the contribution(s) of the
-Copyright Holder(s) and the Author(s) or with their explicit written
-permission.
-
-5) The Font Software, modified or unmodified, in part or in whole,
-must be distributed entirely under this license, and must not be
-distributed under any other license. The requirement for fonts to
-remain under this license does not apply to any document created
-using the Font Software.
-
-TERMINATION
-This license becomes null and void if any of the above conditions are
-not met.
-
-DISCLAIMER
-THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
-DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
-OTHER DEALINGS IN THE FONT SOFTWARE.
diff --git a/assets/fonts/LexendDeca/README.txt b/assets/fonts/LexendDeca/README.txt
deleted file mode 100644
index cd38fbd..0000000
--- a/assets/fonts/LexendDeca/README.txt
+++ /dev/null
@@ -1,71 +0,0 @@
-Lexend Deca Variable Font
-=========================
-
-This download contains Lexend Deca as both a variable font and static fonts.
-
-Lexend Deca is a variable font with this axis:
- wght
-
-This means all the styles are contained in a single file:
- LexendDeca-VariableFont_wght.ttf
-
-If your app fully supports variable fonts, you can now pick intermediate styles
-that aren’t available as static fonts. Not all apps support variable fonts, and
-in those cases you can use the static font files for Lexend Deca:
- static/LexendDeca-Thin.ttf
- static/LexendDeca-ExtraLight.ttf
- static/LexendDeca-Light.ttf
- static/LexendDeca-Regular.ttf
- static/LexendDeca-Medium.ttf
- static/LexendDeca-SemiBold.ttf
- static/LexendDeca-Bold.ttf
- static/LexendDeca-ExtraBold.ttf
- static/LexendDeca-Black.ttf
-
-Get started
------------
-
-1. Install the font files you want to use
-
-2. Use your app's font picker to view the font family and all the
-available styles
-
-Learn more about variable fonts
--------------------------------
-
- https://developers.google.com/web/fundamentals/design-and-ux/typography/variable-fonts
- https://variablefonts.typenetwork.com
- https://medium.com/variable-fonts
-
-In desktop apps
-
- https://theblog.adobe.com/can-variable-fonts-illustrator-cc
- https://helpx.adobe.com/nz/photoshop/using/fonts.html#variable_fonts
-
-Online
-
- https://developers.google.com/fonts/docs/getting_started
- https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Fonts/Variable_Fonts_Guide
- https://developer.microsoft.com/en-us/microsoft-edge/testdrive/demos/variable-fonts
-
-Installing fonts
-
- MacOS: https://support.apple.com/en-us/HT201749
- Linux: https://www.google.com/search?q=how+to+install+a+font+on+gnu%2Blinux
- Windows: https://support.microsoft.com/en-us/help/314960/how-to-install-or-remove-a-font-in-windows
-
-Android Apps
-
- https://developers.google.com/fonts/docs/android
- https://developer.android.com/guide/topics/ui/look-and-feel/downloadable-fonts
-
-License
--------
-Please read the full license text (OFL.txt) to understand the permissions,
-restrictions and requirements for usage, redistribution, and modification.
-
-You can use them in your products & projects – print or digital,
-commercial or otherwise.
-
-This isn't legal advice, please consider consulting a lawyer and see the full
-license for all details.
diff --git a/assets/fonts/LexendDeca/static/LexendDeca-Bold.ttf b/assets/fonts/LexendDeca/static/LexendDeca-Bold.ttf
deleted file mode 100644
index 49c0bb7..0000000
Binary files a/assets/fonts/LexendDeca/static/LexendDeca-Bold.ttf and /dev/null differ
diff --git a/assets/fonts/LexendDeca/static/LexendDeca-Regular.ttf b/assets/fonts/LexendDeca/static/LexendDeca-Regular.ttf
deleted file mode 100644
index 01eab76..0000000
Binary files a/assets/fonts/LexendDeca/static/LexendDeca-Regular.ttf and /dev/null differ
diff --git a/blog/index.html b/blog/index.html
index fc27d6c..45a2544 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -19,7 +19,7 @@
-
+
diff --git a/button.js b/button.js
new file mode 100644
index 0000000..d856826
--- /dev/null
+++ b/button.js
@@ -0,0 +1,14 @@
+// snippet that copies the html for my button(s)
+function copyButtonSneexy() {
+ navigator.clipboard.writeText(
+ ''
+ );
+ alert("button html copied!");
+}
+
+function copyButtonSynthDownload() {
+ navigator.clipboard.writeText(
+ '
'
+ );
+ alert("button html copied!");
+}
\ No newline at end of file
diff --git a/donate/index.html b/donate/index.html
index 29af384..7122272 100644
--- a/donate/index.html
+++ b/donate/index.html
@@ -18,7 +18,7 @@
-
+
@@ -26,8 +26,8 @@