')"
+for i in `find . -type f`; do
+ (echo "$head"
+ cat "$i"
+ echo "$foot") > /var/lib/gitea/custom/public/"$i".html
+done
diff --git a/roles/Foundation/files/custom/bin/sitemap.php b/roles/Foundation/files/custom/bin/sitemap.php
new file mode 100644
index 0000000..1fed5c8
--- /dev/null
+++ b/roles/Foundation/files/custom/bin/sitemap.php
@@ -0,0 +1,32 @@
+ /var/lib/gitea/custom/sitemap.xml`
+ *
+ * Builds according to https://www.sitemaps.org/protocol.html
+ */
+
+/* Globals */
+$path="/srv/http/aninix.net/";
+
+echo '
+
+';
+
+exec("(echo /srv/http/aninix.net/index.php; find /srv/http/aninix.net/pages -type f; find /srv/http/aninix.net/martialarts/ -type f) | egrep \.php\$ | egrep -v ^./unlisted\|^./errors/\|head.php\|foot.php\|test\|Template\|darknet", $output);
+foreach ($output as &$file) {
+ echo '
+';
+echo ' https://aninix.net/'.substr($file,strlen($path)).'
+';
+echo ' '.date('Y-m-d',filemtime($file)).'
+';
+echo '
+';
+}
+
+/* Print footer */
+echo '
+';
+?>
diff --git a/roles/Foundation/files/custom/options/label/AniNIX b/roles/Foundation/files/custom/options/label/AniNIX
new file mode 100644
index 0000000..e60abaf
--- /dev/null
+++ b/roles/Foundation/files/custom/options/label/AniNIX
@@ -0,0 +1,7 @@
+#e11d21 Blocked ; There are functional or technical reasons this can't be implemented yet
+#eb6420 Duplicate ; Another issue or PR already describes this issue
+#bfd4f2 On-hold ; Evaluated but not enough resources to complete now
+#009800 Peer-review ; Being reviewed for quality prior to merge
+#207de5 RFC ; More information and feedback is needed
+#fbca04 Wontfix ; Not a bug -- way it works
+#9c4ac2 In-progress ; Being worked.
diff --git a/roles/Foundation/files/custom/options/license/AniNIX-WTFPL b/roles/Foundation/files/custom/options/license/AniNIX-WTFPL
new file mode 100644
index 0000000..bffb679
--- /dev/null
+++ b/roles/Foundation/files/custom/options/license/AniNIX-WTFPL
@@ -0,0 +1,31 @@
+# http://www.wtfpl.net/about/
+
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ Version 2, December 2004
+
+ Copyright (C) 2004 Sam Hocevar
+
+ Everyone is permitted to copy and distribute verbatim or modified
+ copies of this license document, and changing it is allowed as long
+ as the name is changed.
+
+ DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. You just DO WHAT THE FUCK YOU WANT TO.
+
+ ANINIX ADDENDUM
+
+ Trademark 2017 (https://aninix.net/)
+
+ The "AniNIX" name and |> logo are trademarked as of 2017/11/21.
+ AniNIX materials may be reproduced and re-used (though you must
+ contact the admins of the network to get written permission to use
+ the AniNIX name or logo) so long as such reproduction or re-use
+ does not inhibit the original AniNIX use of the same.
+
+ Attribution is appreciated for other materials but not legally
+ required or necessary.
+
+ "AniNIX" trademark serial: 87177883
+ |> Logo trademark serial: 87177887
diff --git a/roles/Foundation/files/custom/public/.well-known/acme-challenge/aninix-test b/roles/Foundation/files/custom/public/.well-known/acme-challenge/aninix-test
new file mode 100755
index 0000000..e69de29
diff --git a/roles/Foundation/files/custom/public/adhan/AdhanIcon.png b/roles/Foundation/files/custom/public/adhan/AdhanIcon.png
new file mode 100755
index 0000000..fea6163
Binary files /dev/null and b/roles/Foundation/files/custom/public/adhan/AdhanIcon.png differ
diff --git a/roles/Foundation/files/custom/public/adhan/adhan.js b/roles/Foundation/files/custom/public/adhan/adhan.js
new file mode 100755
index 0000000..eb74e5f
--- /dev/null
+++ b/roles/Foundation/files/custom/public/adhan/adhan.js
@@ -0,0 +1,13 @@
+// Thanks to https://stackoverflow.com/questions/31060722/cordova-refuse-to-execute-inline-event-handler-because-it-violates-the-followi
+
+document.addEventListener('DOMContentLoaded', function () {
+ document.querySelector('img').addEventListener('click', clickHandler);
+ main();
+});
+
+function clickHandler(element) {
+ document.getElementById("adhan").play();
+}
+
+function main() {
+}
diff --git a/roles/Foundation/files/custom/public/adhan/adhan.mp3 b/roles/Foundation/files/custom/public/adhan/adhan.mp3
new file mode 100755
index 0000000..a45daea
Binary files /dev/null and b/roles/Foundation/files/custom/public/adhan/adhan.mp3 differ
diff --git a/roles/Foundation/files/custom/public/adhan/index.php b/roles/Foundation/files/custom/public/adhan/index.php
new file mode 100755
index 0000000..9881ccc
--- /dev/null
+++ b/roles/Foundation/files/custom/public/adhan/index.php
@@ -0,0 +1,28 @@
+
+
+AniNIX::Adhan \\ Call to prayer
+
+
+
+
+
+
+
+
The AniNIX uses IoT devices as part of the Geth automation project, and as such we're watching IoT security threads. If folks aren't aware, there's a fight brewing between FFTF / EFF and facial recognition, and they're going after Ring hard.
+
+
Countries like China (and America a little bit) are looking at using facial recognition for a social credit score a la "Black Mirror". https://www.youtube.com/watch?v=CLo3e1Pak-Y
+
Ring started a campaign to get police officers to push Ring cameras in homes in return for access to their Neighbors community. https://www.eff.org/deeplinks/2019/08/five-concerns-about-amazon-rings-deals-police
+
FFTF started a campaign to ban facial recognition. https://www.banfacialrecognition.com/
+
The rest of the security community has also found facial recognition unreliable. https://www.securityweek.com/massive-errors-found-facial-recognition-tech-us-study
+
Ring was exposed as having issues with bootstrapping and other security issues. https://www.vice.com/en_us/article/epg4xm/amazon-ring-camera-security
+
Some Ring accounts were breached with credential stuffing. https://latesthackingnews.com/2019/12/23/hackers-continue-to-dump-weak-ring-doorbell-credentials-online/
+
FFTF started a No-Ring campaign. https://www.ringsafetywarning.com/
+
EFF has issued a formal rebuff. https://www.eff.org/deeplinks/2019/12/ring-throws-customers-under-bus-after-data-breach
+
+
+
+
This is likely to get worse before it gets better. If you are deploying Ring cameras (like we did before all this dropped), make sure you're at least following a few good practices. (More here: https://www.businessinsider.com/how-to-protect-amazon-ring-against-hackers-spying-2019-12#7-make-sure-your-ring-software-is-up-to-date-7)
+
+
Only deploy the Ring cameras external to the home.
+
Turn on 2FA.
+
Isolate your cameras on a guest wifi network.
+
Make sure your Ring account's email is signed up on https://haveibeenpwned.com/.
+
+
+
+
+
+
+ Warrant Canary
+ https://foundation.aninix.net/AniNIX/WarrantCanary
+ 2019-12-10T12:28:00Z
+ We want everyone to know that, despite recent law enforcement and Senate cries that they can't do their job without backdoors into encrypted communications (source: https://www.eff.org/deeplinks/2019/12/senate-judiciary-committee-wants-everyone-know-its-concerned-about-encryption), the AniNIX is committed to protecting your communications with our network.
+ We do offer proxies of some semipublic information to outside sources -- Discord and GitHub (http://github.com/AniNIX) -- but our internal services over SSH, IRCS, and HTTPS are hardened and audited.
+ We are now additionally offering a warrant canary. This is a GPG-based device for users to know that our communications have not been compromised. If you are cybersecurity-minded, please watch the linked repo.
+
+
+
+ FFTF Security Pledge
+ https://www.securitypledge.com/
+ 2018-04-06T14:30:00Z
+ Fight for the Future and Demand Progress have published a Security Pledge in the wake of the Facebook failures. This pledge includes the following tenants: give users access and control over their data, strong data protections, limit data collection, equal protections for all, and resist improper government access and surveillance. The AniNIX will be taking on this pledge.
+
+
+
+
+ Recent WebSec Audit
+ https://www.htbridge.com/websec/?id=C8qMLuWD
+ 2018-03-17T02:46:00Z
+ We recently underwent a security audit with High-Tech Bridge's free Web Security suite. With some remediation, we now earn an A- on Web security and an A+ on SSL security. If you're looking for a free method to test your webserver, take a look at them. Please be aware that they don't respect Let's Encrypt, so be aware your scores may suffer.Click here for the SSL scan report.
+
+
+
+ Hardware Diagnostics
+ https://discordapp.com/channels/@me
+ 2018-02-07T13:23:00Z
+ We are noticing significant performance degradation from the integrated Marvell controller on the AniNIX::Forge2 frame. Due to cost reasons, the AniNIX is not locally highly available for some components -- we don't have another hypervisor to transfer VM's to. As such, the AniNIX services will be offline from 1700 to 2000 CST today while we route around the failing controller. We thank you for your patience, and we will be online from Discord to answer questions.
+
+
+
+ Congressional Resolution of Disapproval
+ https://www.markey.senate.gov/news/press-releases/markey-net-neutrality-resolution-reaches-40-vote-milestone-in-the-senate
+ 2018-01-16T00:00:00Z
+ In the resistance to the FCC vote, we have a foothold in the Senate. Watch Markey's resolution of dissatisfaction in the FCC as it passes through the Senate. Remember: You are the resistance.
+
+
+
+ Spectre/Meltdown Patching
+ https://meltdownattack.com
+ 2018-01-05T12:30:10Z
+ Meltdown and Spectre are nasty speculative-execution vulnerabilities impacting most processors from ARM, Intel, and AMD -- patches are just now being released by the distributions. We are taking emergency patching tonight around 2200 Central. Patch your systems regularly over the next couple months, and insure IoT devices are behind a Geth overlay or some similar barrier.
+
+
+ Licensing Under WTFPL
+ https://aninix.net/wiki/AniNIX::Wiki:Copyrights
+ 2017-05-31T12:30:10Z
+ The AniNIX is now licensed under WTFPL. Feel free to redistribute our products as you'd like. Only the AniNIX name and core icon are not covered by this license.
+
+
+ Wannacry Has Changed
+ https://aninix.net/cgit/cgit.cgi/ExploitChecks/tree/wannacry.ps1
+ 2017-05-19T12:30:10Z
+ WannaCry Ransomware is now infecting thousands upon thousands of Windows systems. Most researchers are recommending disabling SMBv1, even though some killswitches and decryption software exist. We now provide a PowerShell script in the ExploitChecks repository to identify if SMBv1 is still enabled. If you need a decryption package, see Wanakiwi. Download here.
+
+
+
+ IDS Changes
+ https://aninix.net/wiki/Cerberus
+ 2017-02-17T14:10:00Z
+ We will be updating our intrusion detection paradigm with experimental Cerberus prevention. Attacks against the aninix.net domain will result in permanent and complete firewall bans at the network edge. Make sure your attack tools ignore this domain if you want to access our services.
+
+
+
+ CVE-2016-4484
+ http://hmarco.org/bugs/CVE-2016-4484/CVE-2016-4484_cryptsetup_initrd_shell.html
+ 2016-11-16T16:26:00Z
+ This bug allows an attacker with physical or remote access to grab a root shell via attacking dm-crypt. Use the following one-liner to patch. "sed -i 's/GRUB_CMDLINE_LINUX_DEFAULT="/GRUB_CMDLINE_LINUX_DEFAULT="panic=5 /' /etc/default/grub; grub-mkconfig -o /boot/grub/grub.cfg; grub-install --target=i386-pc /dev/sda"
+
+
+
+ Rule 41
+ https://www.eff.org/deeplinks/2016/04/rule-41-little-known-committee-proposes-grant-new-hacking-powers-government
+ 2016-9-23T16:00:00Z
+ The EFF has identified a provision in recent legislation that would allow US federal government to search for warrants in any district that may have carried the communication. This means the federal government can search for a favorable judge to go after Tor users and other privacy advocates. This legislation for Tor users and those running Tor, VPN, or remote-access services. The warrants could be used to hack into private machines and rummage for incriminating evidence. Join the fight to stop this legislation.
+
+
+
+ Trademarking
+ https://aninix.net/wiki/AniNIX::Wiki:General_disclaimer
+ 2016-9-13T16:00:00Z
+ The AniNIX is currently filing for Class 009, 038, and 041 trademarks for the name and logo. Please do not create or distribute new products using this name without prior written permission from the admins.
+
+
+
+ Caution on Windows!
+ http://www.omgubuntu.co.uk/2016/08/windows-10-anniversary-update-delete-partition
+ 2016-8-3T16:00:00Z
+ Be careful installing Windows 10 Updates, particularly the Anniversary Update. It may delete your Linux installs! The AniNIX has disabled the Windows Update service on all Windows hosts and will only update immediately after a backup cycle.
+
+
+
diff --git a/roles/Foundation/files/custom/public/css/emby-web-dark-theme-BenZuser.css b/roles/Foundation/files/custom/public/css/emby-web-dark-theme-BenZuser.css
new file mode 100755
index 0000000..929080c
--- /dev/null
+++ b/roles/Foundation/files/custom/public/css/emby-web-dark-theme-BenZuser.css
@@ -0,0 +1,472 @@
+/* Borrowed from https://rawgit.com/BenZuser/Emby-Web-Dark-Themes-CSS/master/RED/theme.css */
+/*
+_________________________________________________________________________
+------------------------- COLOR HEX & RGB CODES -------------------------
+
+ RED : #E81123 & (232, 17, 35)
+ DARK COLOR : #94131E
+
+ ORANGE : #FF8000 & (255, 128, 0)
+ DARK COLOR : #BF6000
+
+ ORANGE PLEX : #CC7B19 & (204, 123, 25)
+ DARK COLOR : #B35A00
+
+ YELLOW : #BDBD00 & (189, 189, 0)
+ DARK COLOR : #757500
+
+ GREEN : #52B54B & (82, 181, 75)
+ DARK COLOR : #3E8437
+
+ BLUE : #4285F4 & (66, 133, 244)
+ DARK COLOR : #0C57D6
+
+ BLUE DARK : #3367d6 & (51,103,214)
+ BLUE DARK (DARK) : #1f4698
+
+ PURPLE : #673AB7 & (103, 58, 183)
+ DARK COLOR : #3F2471
+
+ GRAY : #7F7F7F & (127, 127, 127)
+ DARK COLOR : #535353
+
+ PINK : #F707DF & (247, 7, 223)
+ DARK COLOR : #C604B3
+
+*/
+/*
+_________________________________________________________________________
+----------------------- EMBY THEME : ACCENT COLORS ----------------------
+
+ ---------- Table of Contents ----------
+
+ 1. ACCENT COLORS
+ 1.1 Buttons
+ 1.1.1 Checkboxes
+ 1.1.2 Rectangles
+ 1.1.3 Links & Text buttons
+ 1.1.4 Others
+ 1.2 Details
+ 1.2.1 Circles
+ 1.2.2 Indicators
+ 1.2.3 Fonts
+ 1.2.4 Icons
+ 1.2.5 Dialogs & Action Sheets
+ 1.2.6 Others
+ 1.3 Fixes
+
+ 2. MISCELLANEOUS MODIFICATIONS
+ 2.1 Buttons
+ 2.2 Details
+ 2.2.1 Scrollbars
+ 2.2.2 Logos
+ 2.2.3 Others
+ 2.3 Fixes
+ 2.3.1 Dark Colors
+
+*/
+/* ------------------------ 1. ACCENT COLORS ------------------------- */
+/* ----- 1.1 Buttons ----- */
+/* 1.1.1 Checkboxes */
+.emby-checkbox:checked + span + span + .checkboxOutline > .checkboxOutlineTick {
+ background-color: #E81123 !important; }
+
+.emby-checkbox:checked + span + span + .checkboxOutline,
+.progressring-spiner {
+ border-color: #E81123 !important; }
+
+.emby-checkbox:focus + span + .emby-checkbox-focushelper {
+ background-color: #E81123 !important;
+ opacity: 0.26 !important; }
+
+/* 1.1.2 Rectangles */
+.raised {
+ background: #404040 !important;
+ color: #fff !important; }
+
+.button-submit, .button-accent {
+ background: #E81123 !important;
+ color: #fff; }
+
+.raised-mini.emby-button {
+ background: #E81123 !important;
+ color: #ffffff !important; }
+
+/* Restart */
+.btnRestartContainer.emby-button {
+ background: #E81123 !important;
+ color: #fff; }
+
+/* Play & Resume */
+.btnPlaySimple.emby-button {
+ background: #E81123 !important;
+ color: #fff; }
+
+.btnResume.emby-button {
+ background: #94131E !important;
+ color: #fff; }
+
+/* 1.1.3 Links & Text buttons */
+.button-link, .button-flat-accent, .button-accent-flat,
+.textlink {
+ color: #E81123 !important; }
+
+.button-link:hover, .button-flat-accent:hover,
+.button-accent-flat:hover, .textlink:hover {
+ color: #9b9b9b !important; }
+
+.button-link:active, .button-flat-accent:active,
+.button-accent-flat:active, .textlink:active {
+ color: #94131E !important; }
+
+/* Top Header */
+.emby-tab-button-active {
+ color: #E81123 !important; }
+
+/* 1.1.4 Others */
+/* Alpha Picker */
+.alphaPickerButton-selected, .alphaPickerButton-tv:focus {
+ background-color: #E81123 !important;
+ color: #fff !important; }
+
+/* Radio Buttons */
+.mdl-radio__inner-circle {
+ background: #E81123 !important; }
+
+.mdl-radio__button:checked + .mdl-radio__label + .mdl-radio__outer-circle {
+ border: 2px solid #E81123 !important; }
+
+.mdl-radio__button:checked:focus + .mdl-radio__label + .mdl-radio__outer-circle + .mdl-radio__inner-circle {
+ -webkit-box-shadow: 0 0 0 10px rgba(232, 17, 35, 0.26) !important;
+ box-shadow: 0 0 0 10px rgba(232, 17, 35, 0.26) !important; }
+
+/* Control Group Buttons */
+div[data-role="controlgroup"] a.ui-btn-active[data-role='button'] {
+ background: #E81123 !important;
+ color: #ffffff !important; }
+
+/* ----- 1.2 Details ----- */
+/* 1.2.1 Circles */
+/*.listItemIcon:not(.listItemIcon-transparent) {
+ background-color: $accent-color !important; }*/
+.dashboardSection i.listItemIcon.md-icon {
+ background-color: #E81123 !important; }
+
+.scheduledTaskPaperIconItem[data-status="Running"] i.listItemIcon.md-icon {
+ background-color: #94131E !important; }
+
+/* Focus Helper circles */
+.paper-icon-button-light:focus {
+ color: #E81123 !important; }
+
+/* 1.2.2 Indicators */
+.countIndicator, .playedIndicator {
+ background: #E81123 !important; }
+
+.levelNormal {
+ background-color: #E81123 !important; }
+
+.fullSyncIndicator {
+ background: #E81123 !important;
+ color: #fff; }
+
+.playstatebutton-played i, .ratingbutton-withrating i {
+ color: #E81123 !important; }
+
+p#pUpToDate i.md-icon {
+ background-color: #E81123 !important; }
+
+/* Loading Spinners */
+.mdl-spinner__layer-1, .mdl-spinner__layer-2, .mdl-spinner__layer-3,
+.mdl-spinner__layer-4 {
+ border-color: #E81123 !important; }
+
+.progressring-spiner {
+ border: 0.25em solid #E81123 !important; }
+
+/* 1.2.3 Fonts */
+.selectLabelFocused, .textareaLabelFocused, .inputLabelFocused {
+ color: #E81123 !important; }
+
+.secondary.listItemBodyText span, div#divRunningTasks span {
+ color: #E81123 !important; }
+
+/* 1.2.4 Icons */
+.starIcon, .mediaInfoTimerIcon {
+ color: #E81123 !important; }
+
+/* Top Header */
+.btnActiveCast {
+ color: #E81123 !important; }
+
+/* Now Playing Bar & Now Playing Page */
+.repeatActive,
+button.btnCommand.repeatToggleButton.autoSize.nowPlayingPageRepeatActive {
+ color: #E81123 !important; }
+
+/* 1.2.5 Dialogs & Action Sheets */
+/* 1.2.6 Others */
+/* General Accent Color Modifications */
+:focus {
+ outline: #E81123 auto 5px; }
+
+select:focus {
+ border-color: #E81123 !important; }
+
+::selection {
+ background-color: #94131E !important; }
+
+.emby-input:focus, .emby-textarea:focus {
+ border-color: #E81123 !important; }
+
+/* Google Now Playing Bar & Now Playing Page */
+.iconOsdProgressInner, .mdl-slider__background-lower, .sliderBubble,
+.mdl-slider::-webkit-slider-thumb {
+ background: #E81123 !important; }
+
+.mdl-slider:focus::-webkit-slider-thumb {
+ -webkit-box-shadow: 0 0 0 10px rgba(232, 17, 35, 0.26);
+ box-shadow: 0 0 0 10px rgba(232, 17, 35, 0.26) !important; }
+
+/* Firefox Now Playing Bar & Now Playing Page */
+.mdl-slider::-moz-range-thumb, .mdl-slider::-moz-range-progress {
+ background: #E81123 !important; }
+
+.mdl-slider:focus::-moz-range-thumb {
+ box-shadow: 0 0 0 10px rgba(232, 17, 35, 0.26) !important; }
+
+/* Progress Bars */
+.itemProgressBarForeground {
+ background-color: #E81123 !important; }
+
+.taskProgressInner {
+ background: #E81123 !important; }
+
+/* Google Progress Bars */
+progress::-webkit-progress-value {
+ background: #E81123 !important; }
+
+/* Firefox Progress Bars */
+progress::-moz-progress-bar {
+ background: #E81123 !important; }
+
+/* Edge Progress Bars */
+progress {
+ background: #E81123 !important; }
+
+/* Main Drawers */
+.navMenuDivider {
+ background: #262626 !important; }
+
+.adminDrawerLogo {
+ border-bottom: 1px solid #262626 !important; }
+
+.mainDrawer {
+ background: #181818 !important; }
+
+.sidebarHeader {
+ color: #bbbbbb !important; }
+
+.navMenuOption {
+ color: #ffffff !important; }
+
+.navMenuOption.navMenuOption-selected {
+ background: #252528 !important;
+ color: #E81123 !important; }
+
+.navMenuOption:hover {
+ background: #252528 !important;
+ color: #9b9b9b !important; }
+
+/* Metadata Editor */
+div.jstree-wholerow.jstree-wholerow-clicked:hover,
+div.jstree-wholerow.jstree-wholerow-clicked,
+div.jstree-wholerow.jstree-wholerow-hovered {
+ background: #252528 !important; }
+
+.jstree-anchor.jstree-clicked,
+.jstree-anchor.jstree-clicked.jstree-hovered {
+ background: #252528 !important;
+ color: #E81123 !important; }
+
+/* Multi-select */
+.itemSelectionPanel {
+ border: 1px solid #E81123 !important; }
+
+.selectionCommandsPanel {
+ background: #E81123 !important;
+ color: #fff; }
+
+/* upNextDialog */
+.upNextDialog-countdownText {
+ color: #E81123 !important; }
+
+/* Selection Bars */
+.emby-select-selectionbar, .emby-textarea-selectionbar,
+.emby-input-selectionbar {
+ background-color: #E81123 !important; }
+
+/* Media Info Detail Image */
+.itemDetailImage.loaded:hover {
+ border: 1px solid #E81123 !important; }
+
+/* 1.3 Fixes */
+/* ------------------ 2. MISCELLANEOUS MODIFICATIONS ----------------- */
+/* ----- 2.1 Buttons ----- */
+/* Circles */
+.fab {
+ background-color: transparent !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+ -webkit-transition: none !important;
+ -o-transition: none !important;
+ transition: none !important; }
+
+/* ----- 2.2 Details ----- */
+/* 2.2.1 Scrollbars */
+/* Google Chrome */
+::-webkit-scrollbar-corner {
+ background-color: #3B3B3B; }
+
+::-webkit-scrollbar {
+ width: 10px;
+ height: 10px;
+ background-color: #3B3B3B; }
+
+::-webkit-scrollbar-thumb {
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+ background: #888888; }
+
+/* Google Chrome - Dashboard Drawer */
+div.scrollContainer.smoothScrollY::-webkit-scrollbar-corner {
+ background-color: transparent !important; }
+
+div.scrollContainer.smoothScrollY::-webkit-scrollbar {
+ width: 2px;
+ height: 2px;
+ background-color: transparent !important; }
+
+div.scrollContainer.smoothScrollY::-webkit-scrollbar-thumb {
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+ background: #888888; }
+
+/* Google Chrome - Filter Dialog */
+.dynamicFilterDialog::-webkit-scrollbar-corner {
+ background-color: transparent !important; }
+
+.dynamicFilterDialog::-webkit-scrollbar {
+ width: 2px;
+ height: 2px;
+ background-color: transparent !important; }
+
+.dynamicFilterDialog::-webkit-scrollbar-thumb {
+ -webkit-border-radius: 2px;
+ border-radius: 2px;
+ background: #888888; }
+
+/* 2.2.2 Logos */
+/* Login Page */
+.imgLogoIcon {
+ content: url(https://cdn.rawgit.com/BenZuser/Emby-Dark-Themes-Resources/master/images/logos-and-icons/RED/logo.png) !important; }
+
+/* Main Drawer Mobile */
+.adminDrawerLogo img {
+ content: url(https://cdn.rawgit.com/BenZuser/Emby-Dark-Themes-Resources/master/images/logos-and-icons/RED/logo.png) !important; }
+
+/* Home Page */
+.pageTitleWithLogo {
+ background-image: url(https://cdn.rawgit.com/BenZuser/Emby-Dark-Themes-Resources/master/images/logos-and-icons/RED/logo.png) !important; }
+
+/* 2.2.3 Others */
+/* CSS Box */
+#txtCustomCss {
+ height: 300px !important;
+ overflow-y: scroll !important; }
+
+/* Select Box */
+select option {
+ background-color: #2b2b2b !important;
+ color: #ffffff !important; }
+
+/* Dialogs */
+.formDialogHeader:not(.formDialogHeader-clear),
+.formDialogFooter:not(.formDialogFooter-clear) {
+ background-color: #121212 !important;
+ color: #fff; }
+
+/* Headers */
+.skinHeader {
+ background-color: #080808 !important;
+ color: #fff !important; }
+
+.skinHeader-withBackground {
+ background-color: #080808 !important; }
+
+@supports (backdrop-filter: blur(1.5em)) or (-webkit-backdrop-filter: blur(1.5em)) {
+ .skinHeader-blurred {
+ background: rgba(20, 20, 20, 0.7) !important;
+ -webkit-backdrop-filter: blur(1.5em) !important;
+ backdrop-filter: blur(1.5em) !important; } }
+.skinHeader.semiTransparent {
+ -webkit-backdrop-filter: none !important;
+ backdrop-filter: none !important;
+ background-color: rgba(0, 0, 0, 0.4) !important;
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(10%, rgba(0, 0, 0, 0.7)), color-stop(10%, transparent)) !important;
+ background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.7) 10%, transparent) !important;
+ background-image: -moz-linear-gradient(top, rgba(0, 0, 0, 0.7) 10%, transparent) !important;
+ background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.7) 10%, transparent) !important;
+ background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 10%, transparent) !important; }
+
+.appfooter {
+ background: #080808 !important;
+ color: #fff !important; }
+
+@supports (backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px)) {
+ .appfooter-blurred {
+ background: rgba(24, 24, 24, 0.7) !important;
+ -webkit-backdrop-filter: blur(20px) !important;
+ backdrop-filter: blur(20px) !important; } }
+/* TV Global Modifications */
+.emby-tab-button-active.emby-button-tv {
+ color: #fff !important; }
+
+.guide-channelHeaderCell, .guide-channelTimeslotHeader {
+ background: #2e2e2e !important; }
+
+.guide-programTextIcon {
+ color: #1e1e1e !important;
+ background: #555 !important; }
+
+.guide-headerTimeslots {
+ color: #ccc !important; }
+
+/* ----- 2.3 Fixes ----- */
+/* 2.3.1 Dark Colors */
+.autoorganizetable tbody tr:nth-child(odd) td, .autoorganizetable tbody tr:nth-child(odd) th {
+ background-color: #222326 !important; }
+
+.autoorganizetable > .table > tbody > tr {
+ border: 1px solid #222326 !important; }
+
+/*
+_____________________________________________________________________
+
+ Emby Dark Themes is maintained by Ben Z (BenZuser)
+ with the contribution of Happy2Play.
+_____________________________________________________________________
+
+*/
+/* TEMPORARY FIXES */
+/* Links */
+.searchSuggestionsList a, .noItemsMessage a, a.lnkPremiere {
+ color: #E81123 !important; }
+
+.searchSuggestionsList a:hover, .noItemsMessage a:hover,
+a.lnkPremiere:hover {
+ color: #9b9b9b !important; }
+
+.searchSuggestionsList a:active, .noItemsMessage a:active,
+a.lnkPremiere:active {
+ color: #94131E !important; }
diff --git a/roles/Foundation/files/custom/public/css/theme-aninix.css b/roles/Foundation/files/custom/public/css/theme-aninix.css
new file mode 100755
index 0000000..10de384
--- /dev/null
+++ b/roles/Foundation/files/custom/public/css/theme-aninix.css
@@ -0,0 +1,16 @@
+.chroma .hl{background-color:#3f424d}.chroma .lnt{color:#7f7f7f}.chroma .ln{color:#7f7f7f}.chroma .k{color:#f63}.chroma .kc{color:#fa1}.chroma .kd{color:#9daccc}.chroma .kn{color:#fa1}.chroma .kp{color:#5f8700}.chroma .kr{color:#f63}.chroma .kt{color:#9daccc}.chroma .na{color:#8a8a8a}.chroma .nb{color:#9daccc}.chroma .bp{color:#9daccc}.chroma .nc{color:#fa1}.chroma .no{color:#fa1}.chroma .nd{color:#9daccc}.chroma .ni{color:#fa1}.chroma .ne{color:#af8700}.chroma .nf{color:#9daccc}.chroma .nl{color:#fa1}.chroma .nn{color:#fa1}.chroma .nx{color:#9daccc}.chroma .nt{color:#9daccc}.chroma .nv{color:#9daccc}.chroma .vc{color:#f81}.chroma .vg{color:#fa1}.chroma .vi{color:#fa1}.chroma .s{color:#1af}.chroma .sa{color:#1af}.chroma .sb{color:#af0000}.chroma .sc{color:#1af}.chroma .dl{color:#1af}.chroma .sd{color:#6a737d}.chroma .s2{color:#af0000}.chroma .se{color:#f63}.chroma .sh{color:#1af}.chroma .si{color:#fa1}.chroma .sx{color:#fa1}.chroma .sr{color:#97c}.chroma .s1{color:#af0000}.chroma .ss{color:#fa1}.chroma .m{color:#1af}.chroma .mb{color:#1af}.chroma .mf{color:#1af}.chroma .mh{color:#1af}.chroma .mi{color:#1af}.chroma .il{color:#1af}.chroma .mo{color:#1af}.chroma .o{color:#f63}.chroma .ow{color:#5f8700}.chroma .c{color:#6a737d}.chroma .ch{color:#6a737d}.chroma .cm{color:#6a737d}.chroma .c1{color:#6a737d}.chroma .cs{color:#637d}.chroma .cp{color:#fc6}.chroma .cpf{color:#fc6}.chroma .gd{color:#fff;background-color:#5f3737}.chroma .ge{color:#ef5}.chroma .gr{color:#f33}.chroma .gh{color:#fa1}.chroma .gi{color:#fff;background-color:#3a523a}.chroma .go{color:#888}.chroma .gp{color:#555}.chroma .gu{color:#9daccc}.chroma .gt{color:#f63}.chroma .w{color:#bbb}:root{--color-primary: #df0000;--color-primary-dark-1: #93b373;--color-primary-dark-2: #9fbc82;--color-primary-dark-3: #abc492;--color-primary-dark-4: #b7cda1;--color-primary-dark-5: #cfddc1;--color-primary-dark-6: #e7eee0;--color-primary-dark-7: #f8faf6;--color-primary-light-1: #7a9e55;--color-primary-light-2: #6c8c4c;--color-primary-light-3: #5f7b42;--color-primary-light-4: #516939;--color-primary-light-5: #364626;--color-primary-light-6: #1b2313;--color-primary-light-7: #080b06;--color-primary-alpha-10: #df000019;--color-primary-alpha-20: #df000033;--color-primary-alpha-30: #df00004b;--color-primary-alpha-40: #df000066;--color-primary-alpha-50: #df000080;--color-primary-alpha-60: #df000099;--color-primary-alpha-70: #df0000b3;--color-primary-alpha-80: #df0000cc;--color-primary-alpha-90: #df0000e1;--color-secondary: #454a57;--color-secondary-dark-1: #505665;--color-secondary-dark-2: #5b6273;--color-secondary-dark-3: #71798e;--color-secondary-dark-4: #7f8699;--color-secondary-dark-5: #8c93a4;--color-secondary-dark-6: #9aa0af;--color-secondary-dark-7: #a8adba;--color-secondary-dark-8: #b6bac5;--color-secondary-dark-9: #c4c7d0;--color-secondary-dark-10: #d2d4db;--color-secondary-dark-11: #dfe1e6;--color-secondary-dark-12: #edeef1;--color-secondary-dark-13: #fbfbfc;--color-secondary-light-1: #373b46;--color-secondary-light-2: #292c34;--color-secondary-light-3: #1c1e23;--color-secondary-light-4: #0e0f11;--color-secondary-alpha-10: #454a5719;--color-secondary-alpha-20: #454a5733;--color-secondary-alpha-30: #454a574b;--color-secondary-alpha-40: #454a5766;--color-secondary-alpha-50: #454a5780;--color-secondary-alpha-60: #454a5799;--color-secondary-alpha-70: #454a57b3;--color-secondary-alpha-80: #454a57cc;--color-secondary-alpha-90: #454a57e1;--color-red: #db2828;--color-orange: #f2711c;--color-yellow: #fbbd08;--color-olive: #b5cc18;--color-green: #21ba45;--color-teal: #00b5ad;--color-blue: #2185d0;--color-violet: #6435c9;--color-purple: #a333c8;--color-pink: #e03997;--color-brown: #a5673f;--color-grey: #767a85;--color-black: #1e222e;--color-gold: #a1882b;--color-white: #ffffff;--color-diff-removed-word-bg: #6f3333;--color-diff-added-word-bg: #3c653c;--color-diff-removed-row-bg: #3c2626;--color-diff-moved-row-bg: #818044;--color-diff-added-row-bg: #283e2d;--color-diff-removed-row-border: #634343;--color-diff-moved-row-border: #bcca6f;--color-diff-added-row-border: #314a37;--color-diff-inactive: #353846;--color-body: #000000;--color-box-header: #404652;--color-box-body: #303440;--color-text-dark: #dbe0ea;--color-text: #bbc0ca;--color-text-light: #a6aab5;--color-text-light-2: #8a8e99;--color-text-light-3: #707687;--color-footer: #000000;--color-timeline: #4c525e;--color-input-text: #d5dbe6;--color-input-background: #292d39;--color-input-border: #454a57;--color-input-border-hover: #505667;--color-navbar: #2a2a2a;--color-light: #00000028;--color-light-mimic-enabled: rgba(0, 0, 0, calc(40 / 255 * 222 / 255 / var(--opacity-disabled)));--color-light-border: #ffffff28;--color-hover: #ffffff10;--color-active: #ffffff16;--color-menu: #000000;--color-card: #000000;--color-markup-table-row: #ffffff06;--color-markup-code-block: #292d39;--color-button: #353846;--color-code-bg: #2a2a2a;--color-code-sidebar-bg: #000000;--color-shadow: #00000060;--color-secondary-bg: #2a2a2a;--color-text-focus: #fff;--color-expand-button: #3c404d;--color-placeholder-text: #6a737d;--color-editor-line-highlight: var(--color-primary-light-5);--color-project-board-bg: var(--color-secondary-light-2);--color-caret: var(--color-text);--color-reaction-bg: #ffffff12;--color-reaction-active-bg: var(--color-primary-alpha-40)}::-webkit-calendar-picker-indicator{filter:invert(.8)}.ui.horizontal.segments>.segment{background-color:#000000}[data-tooltip]:before,[data-tooltip]:after{background:#1b1c1d!important;border-color:#1b1c1d!important;color:#dbdbdb!important}[data-tooltip]:before{box-shadow:1px 1px #1b1c1d!important}.ui.green.progress .bar{background-color:#684}.ui.progress.success .bar{background-color:#7b9e57!important}.following.bar.light{background:#000000;border-color:var(--color-secondary-alpha-40)}.following.bar .top.menu a.item:hover{color:#fff}.feeds .list ul li.private{background:#303030}.ui.red.label,.ui.red.labels .label{background-color:#7d3434!important;border-color:#8a2121!important}.ui.yellow.label,.ui.yellow.labels .label{border-color:#664d02!important;background-color:#936e00!important}.ui.accordion .title:not(.ui){color:#dbdbdb}.ui.green.label,.ui.green.labels .label,.ui.basic.green.label{background-color:#2d693b!important;border-color:#2d693b!important}.ui.green.labels a.label:hover,.ui.basic.green.labels a.label:hover,a.ui.ui.ui.green.label:hover,a.ui.basic.green.label:hover{background-color:#3d794b!important;border-color:#3d794b!important;color:#fff!important}.ui.divider:not(.vertical):not(.horizontal){border-bottom-color:var(--color-secondary);border-top-color:transparent}.form .help{color:#7f8699}.ui .text.light.grey{color:#7f8699!important}.ui.form .fields.error .field textarea,.ui.form .fields.error .field select,.ui.form .fields.error .field input:not([type]),.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=datetime-local],.ui.form .fields.error .field input[type=email],.ui.form .fields.error .field input[type=number],.ui.form .fields.error .field input[type=password],.ui.form .fields.error .field input[type=search],.ui.form .fields.error .field input[type=tel],.ui.form .fields.error .field input[type=time],.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=file],.ui.form .fields.error .field input[type=url],.ui.form .field.error textarea,.ui.form .field.error select,.ui.form .field.error input:not([type]),.ui.form .field.error input[type=date],.ui.form .field.error input[type=datetime-local],.ui.form .field.error input[type=email],.ui.form .field.error input[type=number],.ui.form .field.error input[type=password],.ui.form .field.error input[type=search],.ui.form .field.error input[type=tel],.ui.form .field.error input[type=time],.ui.form .field.error input[type=text],.ui.form .field.error input[type=file],.ui.form .field.error input[type=url]{background-color:#522;border:1px solid #7d3434;color:#f9cbcb}.ui.form .field.error select:focus,.ui.form .field.error input:not([type]):focus,.ui.form .field.error input[type=date]:focus,.ui.form .field.error input[type=datetime-local]:focus,.ui.form .field.error input[type=email]:focus,.ui.form .field.error input[type=number]:focus,.ui.form .field.error input[type=password]:focus,.ui.form .field.error input[type=search]:focus,.ui.form .field.error input[type=tel]:focus,.ui.form .field.error input[type=time]:focus,.ui.form .field.error input[type=text]:focus,.ui.form .field.error input[type=file]:focus,.ui.form .field.error input[type=url]:focus{background-color:#522;border:1px solid #a04141;color:#f9cbcb}.ui.green.button,.ui.green.buttons .button{background-color:#df0000}.ui.green.button:hover,.ui.green.buttons .button:hover{background-color:#af0000}.ui.search>.results{background:#000000;border-color:var(--color-secondary)}.ui.search>.results .result:hover,.ui.category.search>.results .category .result:hover{background:var(--color-secondary)}.ui.search>.results .result .title{color:#dbdbdb}.ui.table>thead>tr>th{background:var(--color-secondary);color:#dbdbdb!important}.repository.file.list #repo-files-table tr{background:#2a2a2a}.repository.file.list #repo-files-table tr:hover{background-color:#393d4a!important}.repository.file.editor.edit .editor-preview,.repository.wiki.new .CodeMirror .editor-preview,.repository.file.editor.edit .editor-preview-side,.repository.wiki.new .CodeMirror .editor-preview-side,.repository.file.editor.edit+.editor-preview-side,.repository.wiki.new .CodeMirror+.editor-preview-side{background:#303030}.repository.file.editor.edit .editor-preview .markup.ui.segment,.repository.wiki.new .CodeMirror .editor-preview .markup.ui.segment,.repository.file.editor.edit .editor-preview-side .markup.ui.segment,.repository.wiki.new .CodeMirror .editor-preview-side .markup.ui.segment,.repository.file.editor.edit+.editor-preview-side .markup.ui.segment,.repository.wiki.new .CodeMirror+.editor-preview-side .markup.ui.segment{border-width:0}.overflow.menu .items .item{color:#9d9d9d}.overflow.menu .items .item:hover{color:#dbdbdb}.ui.list>.item>.content{color:var(--color-secondary-dark-6)!important}.repository .navbar .active.item,.repository .navbar .active.item:hover{border-color:transparent!important}.ui .info.segment.top{background-color:var(--color-secondary)!important}.repository .diff-stats li{border-color:var(--color-secondary)}.tag-code,.tag-code td{background:#303030!important}.tag-code td.lines-num{background-color:#3a3e4c!important}.tag-code td.lines-type-marker,td.blob-hunk{color:#dbdbdb!important}.ui.attached.info.message,.ui.info.message{box-shadow:0 0 0 1px #4b5e71 inset,0 0 transparent}.ui.bottom.attached.message{background-color:#2c662d;color:#df0000}.ui.bottom.attached.message .pull-right{color:#df0000}.ui.info.message{background-color:#2c3b4a;color:#9ebcc5}.ui .warning.header,.ui.warning.message{background-color:#542!important;border-color:#ec8}.ui.warning.message{color:#ec8;box-shadow:0 0 0 1px #ec8}.ui.warning.segment{border-color:#ec8}.ui.red.message,.ui.error.message{background-color:#522;color:#f9cbcb;box-shadow:0 0 0 1px #a04141 inset}.ui .error.header,.ui.error.message{background-color:#522!important;border-color:#a04141}.ui.error.segment{border-color:#a04141}.ui.red.button,.ui.red.buttons .button{background-color:#7d3434}.ui.red.button:hover,.ui.red.buttons .button:hover{background-color:#984646}.ui.positive.message{background-color:#0d491b;color:#df0000;box-shadow:0 0 0 1px #2d693b inset,0 0 transparent}.ui.negative.message{background-color:#50171199;color:#f9cbcb;box-shadow:0 0 0 1px #79474280 inset,0 0 transparent}.ui.list .list>.item .header,.ui.list>.item .header{color:#dedede}.ui.list .list>.item .description,.ui.list>.item .description{color:var(--color-secondary-dark-6)}.repository.file.list #repo-files-table tbody .svg.octicon-file-directory,.repository.file.list #repo-files-table tbody .svg.octicon-file-submodule{color:#7c9b5e}.repository.labels .ui.basic.black.label{background-color:#bbb!important}.lines-num{color:var(--color-secondary-dark-6)!important;border-color:var(--color-secondary)!important}td.blob-excerpt{background-color:#00000026}.lines-code.active,.lines-code .active{background:#534d1b!important}.ui.ui.ui.ui.table tr.active,.ui.ui.table td.active{color:#dbdbdb}.ui.active.label{background:#393d4a;border-color:#393d4a;color:#dbdbdb}.repository .ui.attached.message.isSigned.isVerified{background-color:#394829;color:var(--color-secondary-dark-6)}.repository .ui.attached.message.isSigned.isVerified.message{color:#df0000}.repository .ui.attached.message.isSigned.isVerified.message .ui.text{color:var(--color-secondary-dark-6)}.repository .ui.attached.message.isSigned.isVerified.message .pull-right{color:#df0000}.repository .ui.attached.message.isSigned.isVerifiedUntrusted{background-color:#4a3903;color:var(--color-secondary-dark-6)}.repository .ui.attached.message.isSigned.isVerifiedUntrusted.message{color:#c2c193}.repository .ui.attached.message.isSigned.isVerifiedUntrusted.message .ui.text{color:var(--color-secondary-dark-6)}.repository .ui.attached.message.isSigned.isVerifiedUntrusted.message a{color:#c2c193}.repository .ui.attached.message.isSigned.isVerifiedUnmatched{background-color:#4e3321;color:var(--color-secondary-dark-6)}.repository .ui.attached.message.isSigned.isVerifiedUnmatched.message{color:#c2a893}.repository .ui.attached.message.isSigned.isVerifiedUnmatched.message .ui.text{color:var(--color-secondary-dark-6)}.repository .ui.attached.message.isSigned.isVerifiedUnmatched.message a{color:#c2a893}.repository .ui.attached.message.isSigned.isWarning{background-color:#50171199}.repository .ui.attached.message.isSigned.isWarning.message{color:#d07d7d}.repository .ui.attached.message.isSigned.isWarning.message .ui.text{color:#d07d7d}.ui.header .sub.header{color:var(--color-secondary-dark-6)}.ui.dividing.header{border-bottom:1px solid var(--color-secondary)}.ui.modal>.header{background:var(--color-secondary);color:#dbdbdb}.ui.modal>.actions{background:var(--color-secondary);border-color:var(--color-secondary)}.ui.modal>.content{background:#000000}.minicolors-panel{background:var(--color-secondary)!important;border-color:#6a737d!important}.emoji[aria-label="check mark"],.emoji[aria-label="currency exchange"],.emoji[aria-label="TOP arrow"],.emoji[aria-label="END arrow"],.emoji[aria-label="ON! arrow"],.emoji[aria-label="SOON arrow"],.emoji[aria-label="heavy dollar sign"],.emoji[aria-label=copyright],.emoji[aria-label=registered],.emoji[aria-label="trade mark"],.emoji[aria-label=multiply],.emoji[aria-label=plus],.emoji[aria-label=minus],.emoji[aria-label=divide],.emoji[aria-label="curly loop"],.emoji[aria-label="double curly loop"],.emoji[aria-label="wavy dash"],.emoji[aria-label="paw prints"],.emoji[aria-label="musical note"],.emoji[aria-label="musical notes"]{filter:invert(100%)}.edit-diff>div>.ui.table{border-left-color:var(--color-secondary)!important;border-right-color:var(--color-secondary)!important}.CodeMirror.cm-s-default .cm-property,.CodeMirror.cm-s-paper .cm-property{color:#af0000}.CodeMirror.cm-s-default .cm-header,.CodeMirror.cm-s-paper .cm-header{color:#9daccc}.CodeMirror.cm-s-default .cm-quote,.CodeMirror.cm-s-paper .cm-quote{color:#090}.CodeMirror.cm-s-default .cm-keyword,.CodeMirror.cm-s-paper .cm-keyword{color:#cc8a61}.CodeMirror.cm-s-default .cm-atom,.CodeMirror.cm-s-paper .cm-atom{color:#ef5e77}.CodeMirror.cm-s-default .cm-number,.CodeMirror.cm-s-paper .cm-number{color:#ff5656}.CodeMirror.cm-s-default .cm-def,.CodeMirror.cm-s-paper .cm-def{color:#e4e4e4}.CodeMirror.cm-s-default .cm-variable-2,.CodeMirror.cm-s-paper .cm-variable-2{color:#00bdbf}.CodeMirror.cm-s-default .cm-variable-3,.CodeMirror.cm-s-paper .cm-variable-3{color:#085}.CodeMirror.cm-s-default .cm-comment,.CodeMirror.cm-s-paper .cm-comment{color:#8e9ab3}.CodeMirror.cm-s-default .cm-string,.CodeMirror.cm-s-paper .cm-string{color:#a77272}.CodeMirror.cm-s-default .cm-string-2,.CodeMirror.cm-s-paper .cm-string-2{color:#f50}.CodeMirror.cm-s-default .cm-meta,.CodeMirror.cm-s-paper .cm-meta,.CodeMirror.cm-s-default .cm-qualifier,.CodeMirror.cm-s-paper .cm-qualifier{color:#ffb176}.CodeMirror.cm-s-default .cm-builtin,.CodeMirror.cm-s-paper .cm-builtin{color:#b7c951}.CodeMirror.cm-s-default .cm-bracket,.CodeMirror.cm-s-paper .cm-bracket{color:#997}.CodeMirror.cm-s-default .cm-tag,.CodeMirror.cm-s-paper .cm-tag{color:#f1d273}.CodeMirror.cm-s-default .cm-attribute,.CodeMirror.cm-s-paper .cm-attribute{color:#bfcc70}.CodeMirror.cm-s-default .cm-hr,.CodeMirror.cm-s-paper .cm-hr{color:#999}.CodeMirror.cm-s-default .cm-url,.CodeMirror.cm-s-paper .cm-url{color:#c5cfd0}.CodeMirror.cm-s-default .cm-link,.CodeMirror.cm-s-paper .cm-link{color:#d8c792}.CodeMirror.cm-s-default .cm-error,.CodeMirror.cm-s-paper .cm-error{color:#dbdbeb}footer .container .links>*{border-left-color:#888}.repository.file.list #repo-files-table tbody .svg{color:var(--color-secondary-dark-6)}.repository.release #release-list>li .detail .dot{background-color:#505667;border-color:#000000}.tribute-container{box-shadow:0 .25rem .5rem #0009}.repository .repo-header .ui.huge.breadcrumb.repo-title .repo-header-icon .avatar{color:#2a2a2a}img[src$="/img/matrix.svg"]{filter:invert(80%)}#git-graph-container li .time{color:#6a737d}#git-graph-container.monochrome #rel-container .flow-group{stroke:#696969;fill:#696969}#git-graph-container.monochrome #rel-container .flow-group.highlight{stroke:#a9a9a9;fill:#a9a9a9}#git-graph-container:not(.monochrome) #rel-container .flow-group.flow-color-16-5{stroke:#5543b1;fill:#5543b1}#git-graph-container:not(.monochrome) #rel-container .flow-group.highlight.flow-color-16-5{stroke:#7058e6;fill:#7058e6}#git-graph-container #rev-list li.highlight.hover{background-color:#ffffff1a}#git-graph-container .ui.buttons button#flow-color-monochrome.ui.button{border-left-color:#4c505c;border-left-style:solid;border-left-width:1px}.mermaid-chart{filter:invert(84%) hue-rotate(180deg)}.is-loading:after{border-color:#4a4c58 #4a4c58 #d7d7da #d7d7da}.markup-block-error{border:1px solid rgba(121,71,66,.5)!important;border-bottom:none!important}
+
+.home a {
+ color: #df0000;
+}
+.bounding {
+ border: 1px solid #FFF;
+ border-radius: 15px;
+ margin: 0;
+ margin-top: 20px;
+ padding: 10px;
+ background-color: #000;
+ margin-bottom: 30px;
+ display: block;
+}
+
diff --git a/roles/Foundation/files/custom/public/img/AniNIX.png b/roles/Foundation/files/custom/public/img/AniNIX.png
new file mode 100755
index 0000000..3b01845
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/AniNIX.png differ
diff --git a/roles/Foundation/files/custom/public/img/avatar_default.png b/roles/Foundation/files/custom/public/img/avatar_default.png
new file mode 100755
index 0000000..3b01845
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/avatar_default.png differ
diff --git a/roles/Foundation/files/custom/public/img/favicon.png b/roles/Foundation/files/custom/public/img/favicon.png
new file mode 120000
index 0000000..8b0f8d2
--- /dev/null
+++ b/roles/Foundation/files/custom/public/img/favicon.png
@@ -0,0 +1 @@
+AniNIX.png
\ No newline at end of file
diff --git a/roles/Foundation/files/custom/public/img/gitea-lg.png b/roles/Foundation/files/custom/public/img/gitea-lg.png
new file mode 120000
index 0000000..8b0f8d2
--- /dev/null
+++ b/roles/Foundation/files/custom/public/img/gitea-lg.png
@@ -0,0 +1 @@
+AniNIX.png
\ No newline at end of file
diff --git a/roles/Foundation/files/custom/public/img/gitea-safari.svg b/roles/Foundation/files/custom/public/img/gitea-safari.svg
new file mode 120000
index 0000000..8b0f8d2
--- /dev/null
+++ b/roles/Foundation/files/custom/public/img/gitea-safari.svg
@@ -0,0 +1 @@
+AniNIX.png
\ No newline at end of file
diff --git a/roles/Foundation/files/custom/public/img/gitea-sm.png b/roles/Foundation/files/custom/public/img/gitea-sm.png
new file mode 120000
index 0000000..8b0f8d2
--- /dev/null
+++ b/roles/Foundation/files/custom/public/img/gitea-sm.png
@@ -0,0 +1 @@
+AniNIX.png
\ No newline at end of file
diff --git a/roles/Foundation/files/custom/public/img/icons b/roles/Foundation/files/custom/public/img/icons
new file mode 120000
index 0000000..5aebaa4
--- /dev/null
+++ b/roles/Foundation/files/custom/public/img/icons
@@ -0,0 +1 @@
+/srv/yggdrasil/Pictures/AniNIX/Icons/
\ No newline at end of file
diff --git a/roles/Foundation/files/custom/public/img/qr.png b/roles/Foundation/files/custom/public/img/qr.png
new file mode 100755
index 0000000..3dbec4c
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/qr.png differ
diff --git a/roles/Foundation/files/custom/public/img/rss.png b/roles/Foundation/files/custom/public/img/rss.png
new file mode 100755
index 0000000..0925b26
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/rss.png differ
diff --git a/roles/Foundation/files/custom/public/img/social/discord.ico b/roles/Foundation/files/custom/public/img/social/discord.ico
new file mode 100755
index 0000000..ac7417a
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/social/discord.ico differ
diff --git a/roles/Foundation/files/custom/public/img/social/facebook.png b/roles/Foundation/files/custom/public/img/social/facebook.png
new file mode 100755
index 0000000..b8770ee
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/social/facebook.png differ
diff --git a/roles/Foundation/files/custom/public/img/social/github.png b/roles/Foundation/files/custom/public/img/social/github.png
new file mode 100755
index 0000000..17fe0e3
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/social/github.png differ
diff --git a/roles/Foundation/files/custom/public/img/social/linkedin.png b/roles/Foundation/files/custom/public/img/social/linkedin.png
new file mode 100755
index 0000000..9aa6024
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/social/linkedin.png differ
diff --git a/roles/Foundation/files/custom/public/img/social/nextdoor.png b/roles/Foundation/files/custom/public/img/social/nextdoor.png
new file mode 100755
index 0000000..e94c029
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/social/nextdoor.png differ
diff --git a/roles/Foundation/files/custom/public/img/social/rss.png b/roles/Foundation/files/custom/public/img/social/rss.png
new file mode 100755
index 0000000..0925b26
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/social/rss.png differ
diff --git a/roles/Foundation/files/custom/public/img/social/strava.png b/roles/Foundation/files/custom/public/img/social/strava.png
new file mode 100755
index 0000000..5e918f0
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/social/strava.png differ
diff --git a/roles/Foundation/files/custom/public/img/social/wtfpl.png b/roles/Foundation/files/custom/public/img/social/wtfpl.png
new file mode 100755
index 0000000..035f8ea
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/social/wtfpl.png differ
diff --git a/roles/Foundation/files/custom/public/img/social/youtube.png b/roles/Foundation/files/custom/public/img/social/youtube.png
new file mode 100755
index 0000000..68dda67
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/social/youtube.png differ
diff --git a/roles/Foundation/files/custom/public/img/ushf.jpg b/roles/Foundation/files/custom/public/img/ushf.jpg
new file mode 100755
index 0000000..6520ea8
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/ushf.jpg differ
diff --git a/roles/Foundation/files/custom/public/img/wtfpl.png b/roles/Foundation/files/custom/public/img/wtfpl.png
new file mode 100755
index 0000000..035f8ea
Binary files /dev/null and b/roles/Foundation/files/custom/public/img/wtfpl.png differ
diff --git a/roles/Foundation/files/custom/public/makwa_sdfiewo/20200505.mp4 b/roles/Foundation/files/custom/public/makwa_sdfiewo/20200505.mp4
new file mode 100755
index 0000000..e793b06
Binary files /dev/null and b/roles/Foundation/files/custom/public/makwa_sdfiewo/20200505.mp4 differ
diff --git a/roles/Foundation/files/custom/public/makwa_sdfiewo/20200507.mp4 b/roles/Foundation/files/custom/public/makwa_sdfiewo/20200507.mp4
new file mode 100755
index 0000000..93da9dc
Binary files /dev/null and b/roles/Foundation/files/custom/public/makwa_sdfiewo/20200507.mp4 differ
diff --git a/roles/Foundation/files/custom/public/makwa_sdfiewo/reunion.mp4 b/roles/Foundation/files/custom/public/makwa_sdfiewo/reunion.mp4
new file mode 100755
index 0000000..91b47af
Binary files /dev/null and b/roles/Foundation/files/custom/public/makwa_sdfiewo/reunion.mp4 differ
diff --git a/roles/Foundation/files/custom/public/martialarts/2019_benchmark.pdf b/roles/Foundation/files/custom/public/martialarts/2019_benchmark.pdf
new file mode 100755
index 0000000..5ed675f
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/2019_benchmark.pdf differ
diff --git a/roles/Foundation/files/custom/public/martialarts/falling.jpg b/roles/Foundation/files/custom/public/martialarts/falling.jpg
new file mode 100755
index 0000000..a41e9eb
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/falling.jpg differ
diff --git a/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Black-1stDan.pdf b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Black-1stDan.pdf
new file mode 100755
index 0000000..6c62096
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Black-1stDan.pdf differ
diff --git a/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Blue.pdf b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Blue.pdf
new file mode 100755
index 0000000..2f0b8d3
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Blue.pdf differ
diff --git a/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Brown.pdf b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Brown.pdf
new file mode 100755
index 0000000..0f42648
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Brown.pdf differ
diff --git a/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Green.pdf b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Green.pdf
new file mode 100755
index 0000000..1c94d73
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Green.pdf differ
diff --git a/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Orange.pdf b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Orange.pdf
new file mode 100755
index 0000000..248f281
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Orange.pdf differ
diff --git a/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Purple.pdf b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Purple.pdf
new file mode 100755
index 0000000..97a7679
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Purple.pdf differ
diff --git a/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Red.pdf b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Red.pdf
new file mode 100755
index 0000000..d004ca1
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Red.pdf differ
diff --git a/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Temp.pdf b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Temp.pdf
new file mode 100755
index 0000000..9f0fa51
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Temp.pdf differ
diff --git a/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Yellow.pdf b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Yellow.pdf
new file mode 100755
index 0000000..ff3f84c
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/hapkido_belt_sheets/Yellow.pdf differ
diff --git a/roles/Foundation/files/custom/public/martialarts/index.html b/roles/Foundation/files/custom/public/martialarts/index.html
new file mode 100755
index 0000000..7f7b27c
--- /dev/null
+++ b/roles/Foundation/files/custom/public/martialarts/index.html
@@ -0,0 +1,558 @@
+
+
+
+
+
+ AniNIX
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
We are open despite COVID-19 -- those attending in person will need to sign a waiver of health and follow all state requirements, including wearing a mask.
+
+
+
+
+
+ AniNIX Martial Arts
+
+
Open-source, research-driven self-defense and personal health
+
AniNIX Martial Arts is a small martial arts collective focusing on research-driven martial arts. Our core style is USHF HapKiDo, but we are influenced by HEMA, Razmafzar, Kali, Shaolin, Silat, JKD, BJJ, and many other systems. We are a research-driven group -- we encourage cross-training with other systems and will bring in new concepts regularly. The class is open to all experience levels, gender identity, gender expression, sexual orientation, religious or cultural identity, socioecomic status, or age (above 14), in Southcentral Wisconsin -- we will fit your training to your needs and goals.
Drop-ins are welcome, and registration is cheap. We hope you'll give us a chance to show you what we can do.
+ We want your training with our system to become a part of your life. This means that we provide access to a revision-controlled copy of our notes that all our students can download, keep, and contribute to. We're tired of the old era where how the system works is kept hidden from students and piecemealed out as a marketing ploy -- we want to be as trasparent as possible in how our program and our martial art function. Transparency keeps our instructors honest and our students engaged -- this means a better martial arts experience for everyone.
+
+ Our system is always growing. We are a United States HapKiDo Federation (USHF) school, and that gives us access to high-quality instructors and seminar material each year from across the US. We also maintain good relationships with other schools in our area -- we want our students to examine what they're learing and make sure that it works, and that means looking at different perspectives.
+
We are non-profit group -- we train because we feel like it makes life better, not to make money. As such, our costs are publicly documented and our rates match the same. Classes will be informed of potential changes to costs well in advance, and we use recurring payments. We want you thinking about your training, not how you're going to pay for it.
+
+
+
Cost: $10 per month in-person; $5 per month livestream -- pay below.
+
Lessons:Mondays and Thursdays 7-8:30 p.m.
+
Sparring: Mondays and Thursdays 6-7 p.m.
+
Shaolin Workouts: Saturday mornings at 8 a.m. by livestream only
+ Everyone is welcome! Class attendance is not mandated and belt-testing is not required to train. As a courtesy, please inform the class of your absence or intended late arrival -- real-life comes first, and we're happy to work with your needs. As long as one person shows, we'll have class -- the smaller the class, the more tailored it is, but the bigger classes mean more partners and body types.
+
+ Our focus is also on what you will actually use. While we appreciate traditional and esoteric training for self-development, our weekly classes are focused on modern techniques and training methods so that you get the most out of your time. Our goal is to help create a community of prepared and healthy citizens, and we believe martial arts helps build that in a way no other activity can.
+
+
+
+
+
+
+
+
Follow us on social media
+
We want to stay in touch with you, so we are present on the social media platforms we find applicable. Have one you want us on? Contact us and let us know!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Our storefront
+
AniNIX Martial Arts has to charge some fees in order to operate. We hope you find these reasonable -- we do our best to keep costs as low as possible and our budget is public. Please reach out on Discord or IRC if you have questions or concerns.
+
We really don't like talking about money -- we're here to help people learn, not make a buck. So, all of our class signups are recurring charges each month -- that way, we don't have to pester you. You're welcome to cancel at any time. To cancel, just contact us on any platform and an admin will take care of it for you.
+
Current students: Because our space is currently limited, please make sure to note which days and times you're coming on-site at the sign-up page.
+
+
+
+
+
+
+
+
+
+
+
+ On-site classes
+
+
On-site classes are $10 a month, plus the minimal transaction fee -- you'll be charged automatically each month so you don't have to worry about it. These funds go to pay for insurance, HVAC, mats, cleaning supplies, etc. This subscription covers on-site training on any of our listed times and access to our livestream and media library.
+
Your first class with us is free -- please come try us out before you put any money down.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remote classes
+
+
Remote-only classes are available at $5/month for prior students. This gets you access to our livestream classes and our media library of prior classes. This helps offset the upkeep costs for our web hosting and offers some parity with our on-site students.
+
These are intended as a continuing-education option for students with background in martial arts who aren't able to attend classes in-person due to distance or schedule -- they are not a substitute for in-person training.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ T-Shirt
+
+
T-shirts are $25 each -- they're made of a light, breathable black fabric with our logo across the back. Please contact an administrator on Discord or Facebook with your size.
+
T-Shirts are limited quantity -- we currently have 2 Medium and 1 Small in stock. T-shirt runs are only done on class request for cost reasons.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Patch
+
+
Patches are $5 -- they're meant to be sewn or ironed onto gis, gear bags, backpacks, etc. They're a great way to show off your loyalty to the group and pride in your hard work!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/roles/Foundation/files/custom/public/martialarts/maqotw.xml b/roles/Foundation/files/custom/public/martialarts/maqotw.xml
new file mode 100755
index 0000000..a143060
--- /dev/null
+++ b/roles/Foundation/files/custom/public/martialarts/maqotw.xml
@@ -0,0 +1,581 @@
+
+ AniNIX::WebServer\\ Martial Arts Quote of the Week
+ https://aninix.net/mediawiki/images/9/9b/MartialArtsIcon.png
+ https://aninix.net/mediawiki/images/9/9b/MartialArtsIcon.png
+
+
+ 2013-12-31T12:00:02Z
+
+ Connor Ford
+
+
+ https://aninix.net/martialarts/maqotw.xml
+
+
+ https://aninix.net/martialarts/classes2019p2
+
+
+ Connor Ford
+
+ Registration Open for 2019 Session 2
+ 2019-02-26T00:00:00Z
+ 2019 Session 2 links are now available on the homepage. Please register to keep the cost low and ensure we keep the space!
+
+
+
+ https://aninix.net/martialarts/classes
+
+
+ Connor Ford
+
+ Classes Resume 9/17/2018
+ 2018-08-15T00:00:00Z
+ AniNIX Martial Arts is now open for business again. We are accepting registration through our wonderful hosts Belleville Community Education. Cost is $45 for adults ($35 ages 14-18) per session of 7 or 8 weeks. That's $4 per hour of training for a great program in a great space. We need YOU, though: 10 adults to hold our times. Register today -- links on our homepage! https://aninix.net/martialarts/
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/cardillo
+
+
+ Connor Ford
+
+ Joseph Cardillo Quote
+ 2018-01-09T00:00:00Z
+ One of the greatest gifts of the martial arts is that they ultimately guide us to new levels of spirituality. -- Joseph Cardillo
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/hiatus
+
+
+ Connor Ford
+
+ AniNIX Martial Arts on Hiatus
+ 2017-11-27T10:44:00
+ We are on hiatus for the winter -- we didn't have enough support to hold our space at VACT. We're in talks with Iron Pagoda and may have options in Belleville. Keep in touch -- we'll post any seminars we'll be attending. If anyone is looking for an immediate martial arts home, please join #martialarts on IRC, and I'll help you find a place.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/paulatted
+
+
+ Paul McCarthy at TED
+
+ Paul McCarthy at TED
+ 2016-09-07T06:00:00Z
+ I just came across a TED talk from a martial arts instructor I’ve had the privilege of training with a couple times, the last time in a seminar of mental plasticity and martial arts. In this talk, Mr. McCarthy posits that martial arts (or dance or music or any other art that encourages movement and creativity) is a key part of your health and that it has a place in the healthcare industry. As we also work in the healthcare industry, I thought folks might find this interesting. Enjoy!
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/may16sem
+
+
+ Epic Martial Arts Group
+
+ May Seminar Details Up!
+ 2016-04-19T06:00:00Z
+ New seminar details have been posted to the seminar page. We have a HapKiDo/Silat seminar available May 7th.
+
+
+ https://aninix.net/martialarts/maqotw.xml/s16sem
+
+
+ Epic Martial Arts Group
+
+ Spring Seminar Details Up!
+ 2016-03-02T06:00:00Z
+ New seminar details have been posted to the seminar page. We have Arnis and HapKiDo seminars available April 9th.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/irc
+
+
+ Epic Martial Arts Group
+
+ IRC Channel now available!
+ 2014-11-02T06:00:00Z
+ We now have an IRC channel, #martialarts, on irc.aninix.net for anyone who'd like to come by.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/pacq
+
+
+ Epic Martial Arts Group
+
+ Manny Pacquiao
+ 2014-11-02T06:00:00Z
+ In honor of Manny's recent bout, I offer a quote from him. "Life is meant to be a challenge, because challenges are what make you grow."
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/napoleon
+
+
+ Epic Martial Arts Group
+
+ From Napoleon
+ 2014-04-06T06:00:00Z
+ Napoleon: "Never interrupt your enemy when he is making a mistake."
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/twowolves
+
+
+ Epic Martial Arts Group
+
+ Two Wolves
+ 2014-04-06T06:00:00Z
+ ONE EVENING, AN ELDERLY
+ CHEROKEE BRAVE TOLD HIS
+ GRANDSON ABOUT A BATTLE THAT
+ GOES ON INSIDE PEOPLE.
+
+ HE SAID "MY SON, THE BATTLE IS
+ BETWEEN TWO 'WOLVES' INSIDE US ALL.
+ ONE IS EVIL. IT IS ANGER,
+ ENVY, JEALOUSY, SORROW,
+ REGRET, GREED, ARROGANCE,
+ SELF-PITY, GUILT, RESENTMENT,
+ INFERIORITY, LIES, FALSE PRIDE,
+ SUPERIORITY, AND EGO.
+
+ THE OTHER IS GOOD.
+ IT IS JOY, PEACE LOVE, HOPE SERENITY,
+ HUMILITY, KINDNESS, BENEVOLENCE,
+ EMPATHY, GENEROSITY,
+ TRUTH, COMPASSION AND FAITH."
+
+ THE GRANDSON THOUGH ABOUT
+ IT FOR A MINUTE AND THEN ASKED
+ HIS GRANDFATHER:
+
+ "WHICH WOLF WINS?..."
+
+ THE OLD CHEROKEE SIMPLY REPLIED,
+ "THE ONE THAT YOU FEED"
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/roosevelt
+
+
+ Epic Martial Arts Group
+
+ From Roosevelt
+ 2014-04-06T06:00:00Z
+ Theodore Roosevelt: "Don't hit at all if it is honorably possible to avoid hitting; but never hit softly."
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/
+
+
+ Epic Martial Arts Group
+
+ Ip Man and Inner Demons
+ 2014-04-06T06:00:00Z
+ Ip Man: "We all have inner demons to fight. We call these demons 'fear', and 'hatred', and 'anger'. If you don't conquer them, then a life of a hundred years is a tragedy. If you do, a life of a single day can be a triumph."
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/anger
+
+
+ Epic Martial Arts Group
+
+ Anger and Water
+ 2014-11-02T06:00:00Z
+ Koichi Tohei in "Ki in Daily Life": "Pour some water into a tub and stir it up. Now try as hard as you can to calm the water with your hands; you will succeed in agitating it further. Let it stand undisturbed a while, and it will calm down by itself. The human brain works much the same way."
+
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/gandhi
+
+
+ Epic Martial Arts Group
+
+ Gandi on Violence
+ 2014-09-07T06:00:00Z
+ "I do believe that, where there is only a choice between cowardice and violence, I would advise violence... I would rather have India resort to arms in order to defend her honour than that she should, in a cowardly manner, become or remain a helpless witness to her own dishonor. But I believe that nonviolence is infinitely superior to violence, forgiveness is more manly than punishment. Forgiveness adorns a soldier...But abstinence is forgiveness only when there is the power to punish; it is meaningless when it pretends to proceed from a helpless creature." ~Gandhi
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/canvswill
+
+
+ Epic Martial Arts Group
+
+ Can vs. Will
+ 2014-08-31T06:00:00Z
+ "It's not that I can and other's can't; it's that I will and others won't." What makes an exceptional martial artist is not his innate talents. It's his or her constant drive to improve, to never settle for what is.
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/weakestofall
+
+
+ Epic Martial Arts Group
+
+ Weakest of All
+ 2014-08-24T06:00:00Z
+ Mark Twain: "The weakest of all weak things is a virtue that has not been tested in the fire." Motions in space do not improve our knowledge of martial arts, if they are not also tested with people you can trust and train with. This working with people is the best way to increase our understanding of the form, function, and interactions.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/persistence
+
+
+ Epic Martial Arts Group
+
+ Persistence
+ 2014-08-17T06:00:00Z
+ Calvin Coolidge: "Nothing in this world can take the place of persistence. Talent will not: nothing is more common than unsuccessful men with talent. Genius will not; unrewarded genius is almost a proverb. Education will not: the world is full of educated derelicts. Persistence and determination alone are omnipotent." Something to ponder.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/helpingweakness
+
+
+ Epic Martial Arts Group
+
+ Helping Weakness
+ 2014-08-10T06:00:00Z
+ Jackie Chan: "We learn martial arts as helping weakness. You never fight for people to get hurt. You're always helping people." This must be the foundation of our martial arts; even the most destructive martial technique must be based in the desire to improve the lives of others, or we become no more than brigands.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/nations
+
+
+ Epic Martial Arts Group
+
+ Nations
+ 2014-08-03T06:00:00Z
+ William Francis Butler: "The nation that will insist upon drawing a broad line of demarcation between the fighting man and the thinking man is liable to find its fighting done by fools and its thinking by cowards."
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/learningandpain
+
+
+ Epic Martial Arts Group
+
+ Learning and Pain
+ 2014-07-27T06:00:00Z
+ Anonymous: "Learning is a gift, even when pain is your teacher."
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/sphereofstrength
+
+
+ Epic Martial Arts Group
+
+ Sphere of Strength
+ 2014-07-20T06:00:00Z
+ Morihei Ueshiba in "The Art of Peace": "Even the most powerful human being has a limited sphere of strength. Draw him outside of that sphere and into your own, and his strength will dissipate."
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/whatsuseful
+
+
+ Epic Martial Arts Group
+
+ What's Useful
+ 2014-05-11T06:00:00Z
+ Bruce Lee - "Absorb what is useful, discard what is not, and add what is uniquely your own." This should be everyone's approach to our practices. The techniques that work for me may not work for you, so you will always need to adapt your martial arts to fit what is useful for you. This is why none of our sessions are required - I want you to train what will help you grow, not what I might think will be helpful for you.
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/cliff
+
+
+ Epic Martial Arts Group
+
+ Never-ending Cliff
+ 2014-05-04T06:00:00Z
+ "To follow the path of Martial Arts is like climbing on a cliff that never ends. It demads absolute devotion for the task to be executed." -- Masutatsu Oyama, founder of Kyokushin Karate. As we've learned with groundwork, martial arts is a never-ending process of learning, self-dedication, and refinement. Let's not forget to maintain our drive for perfection, whether we have three weeks or thirty years experience.
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/ueshiba
+
+
+ Epic Martial Arts Group
+
+ O-Sensei Ueshiba
+ 2014-04-13T06:00:00Z
+ "Those who are skilled in combat do not become angered, and those who are skilled at winning do not become afraid. Thus the wise win before the fight, while the ignorant fight to win." -- O Sensei Ueshiba, founder of Aikido. This one is a thinker, and I'll let you come to your own conclusions. Hint: calm beats rage.
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/swingsword
+
+
+ Epic Martial Arts Group
+
+ Swing of the Sword
+ 2014-04-06T06:00:00Z
+ "It is easy to kill someone with a slash of a sword. It is hard to be impossible for others to cut down" - Yagyu Munenori. In the same vein as the pacifist quote last week, we want to remember that our goal is not to be as destructive as possible; the goal is to be as indesctructible as possible. We want ourselves and our loved ones to be safe; the reason we call our fighting stance our "fence" is because that is limit in which I care what other people are doing. Inside my fence, I have myself and my loved ones as my priority. So long as what happens outside my fence does not affect what is inside, I need not use martial technique.
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/pacifism
+
+
+ Epic Martial Arts Group
+
+ Pacifism
+ 2014-03-30T06:00:00Z
+ Another informal tag line in some martial arts is "only a warrior can choose pacifism." There is much debate among different martial arts about this, but to my mind a warrior is the only person who can choose not to fight. They have the option of using combative technique, and that alone is often enough of a deterrent to combat to allow a warrior to never need to fight. That being said, someone untrained in combat will always be at the mercy of those who are trained, simply because they have no leverage against such foes. Something to consider.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/blackandwhite
+
+
+ Epic Martial Arts Group
+
+ Black and White
+ 2014-03-23T06:00:00Z
+ There's an informal tag line that's occasionally thrown around martial arts: a black belt is a white belt who never quit. Everyone who's ever earned a black belt started as a white belt, and they decided that any weakness in their technique, conditioning, or personality wasn't going to keep them from reaching the level of a black belt. Make sure you do the same -- the journey begins!
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/seals
+
+
+ Epic Martial Arts Group
+
+ Motto of the SEALS
+ 2014-03-16T06:00:00Z
+ The US Navy SEALS have a motto: The more you sweat in training, the less you bleed in battle. The Israelis take a similar approach with Krav Maga, and I am a firm believer in it. Regardless of one's experience level, the harder you train and the more you prepare for what the fight will actually be, the easier the fight will end up being. True, there will be always be someone better, but this is your best way to minimize that gap.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/discipline
+
+
+ Epic Martial Arts Group
+
+ Fruit of Discipline
+ 2014-03-10T06:00:00Z
+ "Self-respect is the fruit of discipline." - Abraham J. Heschel. I know we do a lot of push-ups, crunches, cardio, etc. And we spend a lot of time doing reps on a given technique, almost to the point of boredom. We come out every week and grind away on these techniques. The primary reason for wanting to do this is the technique's becoming ingrained in muscle memory. However, the discipline required of this pursuit is valuable.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/lion
+
+
+ Epic Martial Arts Group
+
+ Lion or Elephant
+ 2014-03-02T06:00:00Z
+ Anderson Silva raises a valid point about the application of strength in martial arts. "I don't think strength plays that big of a difference. If it's that big of a difference, then the elephant would be king of the jungle, not the lion," he says. The value of this is that in martial arts, it's the proper application of a technique that contains our opponent, not the raw application of force.
+
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/walk
+
+
+ Epic Martial Arts Group
+
+ Walk in Peace
+ 2014-02-23T06:00:00Z
+ Rickson Gracie of the Gracie brothers is one of the founding figures in modern Brazilian jiu-jitsu. I admire one of his quotes, because it should apply to all martial arts, regardless of creed. "The biggest gift I received as a martial artist is without a question the capacity to be in peace," he said. This is something we should all take to heart.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/krav+founder
+
+
+ Epic Martial Arts Group
+
+ Founder of Krav Maga
+ 2014-02-23T05:00:00Z
+ Imi Lichtenfeld founded Krav Maga. Growing up in Germany in the 30's, he was in danger of attacks by the Nazis. He said, "I began fighting anti-Semitism in the '30s. When the Hitler youth gangs used to single out Jewish young men on the streets, it was either hit or run. I found the hitting more satisfying." This philosophy became Imi's focus when he began training the Israeli military, and now it is the foundation of Israel's hand-to-hand combat system.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/combat+and+art
+
+
+ Epic Martial Arts Group
+
+ In combat, it's no longer art
+ 2014-02-16T06:00:00Z
+ This week's quote is from the Night Angel trilogy by Brent Weeks. One of the martial masters in that book said, "[Hit] a man twenty times ... and let him collapse. Then finish him. We're making [defeated enemies], not art." While I would not want this to be a primary philosophy of martial concepts for our group, it speaks to a very real martial truth: that on the combat field, once engaged, we have to be first and foremost taking care of ourselves. This means taking the safe strikes, rather than going for the one-thrust finish. If you can hit without being hit, you will win.
+
+
+ https://aninix.net/martialarts/maqotw.xml/ali
+
+
+ Epic Martial Arts Group
+
+ The Great Ali
+ 2014-02-09T06:00:00Z
+ This week's quote is from the great boxer, Muhammad Ali. "Float like a butterfly; sting like a bee." This applies to all martial arts -- fluidity and relaxed muscle groups respond faster both to throwing strikes and grabs and to allowing the feet to move to fit the situation. The sting is from explosiveness -- good technique launches from good footing and quick reflexes to land where it needs to. Try thinking about that when you're working on your fence -- relax the shoulders, and get that back heel off the ground.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/safe
+
+
+ Epic Martial Arts Group
+
+ Safe... Or is it?
+ 2014-02-02T06:00:00Z
+ This week's quote builds on the last: "No place is more dangerous than a place of safety." We tend to go into "White" mode when we think we're safe, and this can make us complacent. Complacency is not our friend. This quote comes from Robert Ferrigno's "Prayers for the Assassin", found on Amazon at http://www.amazon.com/Prayers-Assassin-Novel-Robert-Ferrigno/dp/141650768X/ref=pd_bxgy_b_img_z
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/awareness
+
+
+ Epic Martial Arts Group
+
+ Awareness
+ 2014-01-26T06:00:00Z
+ In all CCW classes, we are taught the Cooper Code, pioneered by Jeff Cooper. "White" is no awareness of one's surroundings at all. "Yellow" is casual alertness -- one is neither actively looking for a threat nor easily blindsided by one. "Orange" is being aware of a specific threat and analyzing ways to avoid or defeat it. "Red" is engaged in fight. Code "Yellow" is where we want to stay: unthreatened but alert. Since martial artists have the training to deal with threats on some level, there is no reason for us to ever be caught at "White", nor should we be finding ourselves in "Red" too often. Something to ponder.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/learning
+
+
+ Epic Martial Arts Group
+
+ Learning
+ 2014-01-12T06:00:00Z
+ Today's quote is about the value of learning. In Book 2 Chapter 11 of the Analects, Confucius says that "if a man keeps cherishing his old knowledge so as continually to be acquiring new, he may be a teacher of others." This is a reminder that we are never perfect and must always seek out new knowledge. Every art has some lesson to teach and some concept we can integrate into our own knowledge.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/feints
+
+
+ Epic Martial Arts Group
+
+ Feints
+ 2014-01-05T06:40:31Z
+ This week's quote is a little more literal than those previous. In all his travels and with all the martial arts he studied, Bruce Lee came to a simple conclusion: "Between two evenly-matched fighters, the one is the master of the feint will be the winner." Feints are a use of one of the most basic tactical concepts: action beats reaction. So, if you can make your opponent believe something and then hit him before he realizes his error, the victory is yours!
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/humility
+
+
+ Epic Martial Arts Group
+
+ Humility in Competition
+ 2013-12-30T06:40:31Z
+ This week's quote comes from Confucius's "Analects". In Book 3 Chapter 7, it is written, "The Master said, `The student of virtue has no contentions. If it be said he cannot avoid them, shall this be in archery? But he bows complaisantly to his competitors; thus he ascends the hall, descends, and exacts the forfeit of drinking. In his contention, he is still the Chun-tsze.'" The term Chun-tsze is used to the Confucian concept of the master-scholar, which also applies to martial arts. In our martial arts, when we are training, we should give it our all, but when we run into a constraint, we should understand this is to improve our character and help our growth.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/vessels
+
+
+ Epic Martial Arts Group
+
+ Emptiness and Form
+ 2013-12-18T12:00:02Z
+ Our quote of the week comes from the "Tao Te Ching": "vessels are fashioned from empty clay; it is on their hollowness that their use depends." Just a small reminder that going into a fight with a specific plan usually starts more problems than it solves. Being fluid, flexible, and responsive is your greatest asset.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/final+goal
+
+
+ Epic Martial Arts Group
+
+ The Final Goal
+ 2013-12-10T12:00:02Z
+ The quote this week comes from the 17th-century Japanese text, the "Shoninki", by Natori Masazumi. It states that "destroying a man takes us away from the goal we seek to achieve". This statement is deceptively simple but very nuanced in its context; it is not saying that one shouldn't cause damage in the pursuit of self defense. What it is saying is that we should only supply enough force to stop the threat to our person. Once that threat is eliminated, we should make sure to supply aid and rehabilitation where the situation allows. Not only does this help to reduce future attacks, it will help you if you have to appear in court ((read this as "when you appear in court")). Something to think about.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/water
+
+
+ Epic Martial Arts Group
+
+ Water
+ 2013-12-04T12:00:02Z
+ Yes, yes, this is the generic Bruce Lee water quote. "Be like water, my friends." Despite how oft-used this quote is, the beautiful simplicity masks a martial arts truth -- relaxed and fluid beats stiff and strong in every engagment. That same fluidity applied mentally will give you an edge in learning and retaining new techniques.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/protracted
+
+
+ Epic Martial Arts Group
+
+ Protracted Conflict
+ 2013-11-25T12:00:02Z
+ The quote this week is again from Sun Tzu in the "Art of War": There "has never been a protracted war from which a country has benefited." This reminds us to neither start a conflict nor protract it when we should be able to leave.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/martial+scholar
+
+
+ Epic Martial Arts Group
+
+ Public Duty
+ 2013-11-19T12:00:02Z
+ Confucius leaves us this in his "Analects": "The scholar, trained for public duty, seeing threatening danger, is prepared to sacrifice his life. When the opportunity of gain is presented to him, he thinks of righteousness. In sacrificing, his thoughts are reverential. In mourning, his thoughts are about the grief which he should feel. Such a man commands our approbation indeed." Confucius wrote of the merits of the education, discipline, and wisdom; these are needed even in martial arts.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/armed+and+unarmed
+
+
+ Epic Martial Arts Group
+
+ Armed or Unarmed
+ 2013-11-12T12:00:02Z
+ This week's quote is from Machiavelli's "The Prince", Chapter 14. "It is not reasonable to suppose that one who is armed will obey willingly one who is unarmed, or that any unarmed man will remain safe among armed servants." In the case of a martial artist, the weapons is the martial artist himself or herself. Training hones that weapon to efficiency. On the other hand, this should remind us that we should not rely exclusively on others for our safety, which is yet another reason we train.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/brandishing
+
+
+ Epic Martial Arts Group
+
+ Bushido
+ 2013-10-21T12:00:02Z
+ The martial arts quote of the week is by Inazo Nitobe, who wrote the book "Bushido". "A dastard or a braggart was he who brandished his weapon on undeserved occasions." I've given you gys some small tricks to talk about martial arts with friends and such, but the main point of our discussion was that we shouldn't train martial arts looking to start fights, end fights, go out to bars and join fights, etc. Martial arts are comprised of many devastating techniques, and so we must be careful of when we use it. Moreover, from a tactical perspective, using martial arts publicly too often, without cause, or any combination thereof can cause the martial artist to become a target for challengers. We should train hard and often but fight rarely and only in the required defense of ourselves and those we care about. Just my two cents.
+
+
+
+ https://aninix.net/martialarts/maqotw.xml/i+have+gung+fu
+
+
+ Epic Martial Arts Group
+
+ Gungfu
+ 2013-10-14T12:00:02Z
+ The quote for this week is from Bruce Lee: "The baker has gungfu; the butcher has gungfu. Everyone has gungfu." As a commentary, remember that gungfu means mastery; the challenge for this week is to search for the mastery in others this week.
+
+
+
+
diff --git a/roles/Foundation/files/custom/public/martialarts/mil-gi.jpeg b/roles/Foundation/files/custom/public/martialarts/mil-gi.jpeg
new file mode 100755
index 0000000..40ebba2
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/mil-gi.jpeg differ
diff --git a/roles/Foundation/files/custom/public/martialarts/quarter-turn.jpeg b/roles/Foundation/files/custom/public/martialarts/quarter-turn.jpeg
new file mode 100755
index 0000000..4da525a
Binary files /dev/null and b/roles/Foundation/files/custom/public/martialarts/quarter-turn.jpeg differ
diff --git a/roles/Foundation/files/custom/public/pay/coinbase-usdcoin.png b/roles/Foundation/files/custom/public/pay/coinbase-usdcoin.png
new file mode 100755
index 0000000..18e6881
Binary files /dev/null and b/roles/Foundation/files/custom/public/pay/coinbase-usdcoin.png differ
diff --git a/roles/Foundation/files/custom/public/pay/index.html b/roles/Foundation/files/custom/public/pay/index.html
new file mode 100755
index 0000000..52facf9
--- /dev/null
+++ b/roles/Foundation/files/custom/public/pay/index.html
@@ -0,0 +1,317 @@
+
+
+
+
+
+ AniNIX
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
We have limited service offerings available. Please contact an admin on IRC first to arrange the contract, then use the item below to pay the invoice.
+
+
+
+
+
+
+
+
+ Cybersecurity Consulting
+
+
The AniNIX offers cybersecurity consulting and advice services on a limited basis. We bill at $20 an hour -- please select your need below after negotiating with an admin.
+ The AniNIX's primary goal is to ensure everyone has access to the knowledge they need to build a low-cost, secure platform. We make all our source-code accessible and open-source.
+
+ We maintain a Wiki to document how and why we do what we do. Hopefully, it can both help others to learn more about computing and spark discussion with the community at large.
+
We want to stay in touch with you, so we are present on the social media platforms we find applicable. Have one you want us on? Contact us and let us know!
We are open despite COVID-19 -- those attending in person will need to sign a waiver of health and follow all state requirements, including wearing a mask.
+
+
+
+
+
+ AniNIX Martial Arts
+
+
Open-source, research-driven self-defense and personal health
+
AniNIX Martial Arts is a small martial arts collective focusing on research-driven martial arts. Our core style is USHF HapKiDo, but we are influenced by HEMA, Razmafzar, Kali, Shaolin, Silat, JKD, BJJ, and many other systems. We are a research-driven group -- we encourage cross-training with other systems and will bring in new concepts regularly. The class is open to all experience levels, gender identity, gender expression, sexual orientation, religious or cultural identity, socioecomic status, or age (above 14), in Southcentral Wisconsin -- we will fit your training to your needs and goals.
Drop-ins are welcome, and registration is cheap. We hope you'll give us a chance to show you what we can do.
+ We want your training with our system to become a part of your life. This means that we provide access to a revision-controlled copy of our notes that all our students can download, keep, and contribute to. We're tired of the old era where how the system works is kept hidden from students and piecemealed out as a marketing ploy -- we want to be as trasparent as possible in how our program and our martial art function. Transparency keeps our instructors honest and our students engaged -- this means a better martial arts experience for everyone.
+
+ Our system is always growing. We are a United States HapKiDo Federation (USHF) school, and that gives us access to high-quality instructors and seminar material each year from across the US. We also maintain good relationships with other schools in our area -- we want our students to examine what they're learing and make sure that it works, and that means looking at different perspectives.
+
We are non-profit group -- we train because we feel like it makes life better, not to make money. As such, our costs are publicly documented and our rates match the same. Classes will be informed of potential changes to costs well in advance, and we use recurring payments. We want you thinking about your training, not how you're going to pay for it.
+
+
+
Cost: $10 per month in-person; $5 per month livestream -- pay below.
+
Lessons:Mondays and Thursdays 7-8:30 p.m.
+
Sparring: Mondays and Thursdays 6-7 p.m.
+
Shaolin Workouts: Saturday mornings at 8 a.m. by livestream only
+ Everyone is welcome! Class attendance is not mandated and belt-testing is not required to train. As a courtesy, please inform the class of your absence or intended late arrival -- real-life comes first, and we're happy to work with your needs. As long as one person shows, we'll have class -- the smaller the class, the more tailored it is, but the bigger classes mean more partners and body types.
+
+ Our focus is also on what you will actually use. While we appreciate traditional and esoteric training for self-development, our weekly classes are focused on modern techniques and training methods so that you get the most out of your time. Our goal is to help create a community of prepared and healthy citizens, and we believe martial arts helps build that in a way no other activity can.
+
+
+
+
+
+
+
+
Follow us on social media
+
We want to stay in touch with you, so we are present on the social media platforms we find applicable. Have one you want us on? Contact us and let us know!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Remote classes
+
+
Remote-only classes are available at $5/month for prior students. This gets you access to our livestream classes and our media library of prior classes. This helps offset the upkeep costs for our web hosting and offers some parity with our on-site students.
+
These are intended as a continuing-education option for students with background in martial arts who aren't able to attend classes in-person due to distance or schedule -- they are not a substitute for in-person training.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ T-Shirt
+
+
T-shirts are $25 each -- they're made of a light, breathable black fabric with our logo across the back. Please contact an administrator on Discord or Facebook with your size.
+
T-Shirts are limited quantity -- we currently have 2 Medium and 1 Small in stock. T-shirt runs are only done on class request for cost reasons.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Patch
+
+
Patches are $5 -- they're meant to be sewn or ironed onto gis, gear bags, backpacks, etc. They're a great way to show off your loyalty to the group and pride in your hard work!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-->
diff --git a/roles/Foundation/files/web-snippets/pay/index b/roles/Foundation/files/web-snippets/pay/index
new file mode 100644
index 0000000..1391148
--- /dev/null
+++ b/roles/Foundation/files/web-snippets/pay/index
@@ -0,0 +1,95 @@
+
+
+
+
+ AniNIX
+
+
Our Storefront
+
We have limited service offerings available. Please contact an admin on IRC first to arrange the contract, then use the item below to pay the invoice.
+
+
+
+
+
+
+
+
+ Cybersecurity Consulting
+
+
The AniNIX offers cybersecurity consulting and advice services on a limited basis. We bill at $20 an hour -- please select your need below after negotiating with an admin.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/roles/Foundation/files/web-snippets/pay/thank-you b/roles/Foundation/files/web-snippets/pay/thank-you
new file mode 100644
index 0000000..727953a
--- /dev/null
+++ b/roles/Foundation/files/web-snippets/pay/thank-you
@@ -0,0 +1,12 @@
+
Follow us on social media
+We want to stay in touch with you, so we are present on the social media platforms we find applicable.
+Have one you want us on? Contact us and let us know!